diff options
author | Denis Ciocca <denis.ciocca@gmail.com> | 2013-01-25 18:44:00 -0500 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2013-01-31 12:56:43 -0500 |
commit | d62511689de5d34d3a07c43db1f46a234bb77b5f (patch) | |
tree | 945bdd5e1ab436db7ed3c1d58966cb7291320662 /drivers/iio/accel/st_accel.h | |
parent | 23491b513bcd3dfe4ddb94547d73d9deb94eda44 (diff) |
iio:accel: Add STMicroelectronics accelerometers driver
This patch adds a generic accelerometer driver for STMicroelectronics
accelerometers, currently it supports:
LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
LIS331DLH, LSM303DL, LSM303DLM, LSM330.
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/accel/st_accel.h')
-rw-r--r-- | drivers/iio/accel/st_accel.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/iio/accel/st_accel.h b/drivers/iio/accel/st_accel.h new file mode 100644 index 000000000000..37949b94377d --- /dev/null +++ b/drivers/iio/accel/st_accel.h | |||
@@ -0,0 +1,47 @@ | |||
1 | /* | ||
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 | |||
28 | int st_accel_common_probe(struct iio_dev *indio_dev); | ||
29 | void st_accel_common_remove(struct iio_dev *indio_dev); | ||
30 | |||
31 | #ifdef CONFIG_IIO_BUFFER | ||
32 | int st_accel_allocate_ring(struct iio_dev *indio_dev); | ||
33 | void st_accel_deallocate_ring(struct iio_dev *indio_dev); | ||
34 | int 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 */ | ||
37 | static inline int st_accel_allocate_ring(struct iio_dev *indio_dev) | ||
38 | { | ||
39 | return 0; | ||
40 | } | ||
41 | static 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 */ | ||