blob: 37949b94377db4994b9a67794b90cb0f41ea9eb0 [file] [log] [blame]
Denis Cioccad6251162013-01-25 23:44:00 +00001/*
2 * STMicroelectronics accelerometers driver
3 *
4 * Copyright 2012-2013 STMicroelectronics Inc.
5 *
6 * Denis Ciocca <denis.ciocca@st.com>
7 * v. 1.0.0
8 * Licensed under the GPL-2.
9 */
10
11#ifndef ST_ACCEL_H
12#define ST_ACCEL_H
13
14#include <linux/types.h>
15#include <linux/iio/common/st_sensors.h>
16
17#define LSM303DLHC_ACCEL_DEV_NAME "lsm303dlhc_accel"
18#define LIS3DH_ACCEL_DEV_NAME "lis3dh"
19#define LSM330D_ACCEL_DEV_NAME "lsm330d_accel"
20#define LSM330DL_ACCEL_DEV_NAME "lsm330dl_accel"
21#define LSM330DLC_ACCEL_DEV_NAME "lsm330dlc_accel"
22#define LIS331DLH_ACCEL_DEV_NAME "lis331dlh"
23#define LSM303DL_ACCEL_DEV_NAME "lsm303dl_accel"
24#define LSM303DLH_ACCEL_DEV_NAME "lsm303dlh_accel"
25#define LSM303DLM_ACCEL_DEV_NAME "lsm303dlm_accel"
26#define LSM330_ACCEL_DEV_NAME "lsm330_accel"
27
28int st_accel_common_probe(struct iio_dev *indio_dev);
29void st_accel_common_remove(struct iio_dev *indio_dev);
30
31#ifdef CONFIG_IIO_BUFFER
32int st_accel_allocate_ring(struct iio_dev *indio_dev);
33void st_accel_deallocate_ring(struct iio_dev *indio_dev);
34int st_accel_trig_set_state(struct iio_trigger *trig, bool state);
35#define ST_ACCEL_TRIGGER_SET_STATE (&st_accel_trig_set_state)
36#else /* CONFIG_IIO_BUFFER */
37static inline int st_accel_allocate_ring(struct iio_dev *indio_dev)
38{
39 return 0;
40}
41static inline void st_accel_deallocate_ring(struct iio_dev *indio_dev)
42{
43}
44#define ST_ACCEL_TRIGGER_SET_STATE NULL
45#endif /* CONFIG_IIO_BUFFER */
46
47#endif /* ST_ACCEL_H */