1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * STMicroelectronics pressures driver |
4 | * |
5 | * Copyright 2013 STMicroelectronics Inc. |
6 | * |
7 | * Denis Ciocca <denis.ciocca@st.com> |
8 | * v. 1.0.0 |
9 | */ |
10 | |
11 | #ifndef ST_PRESS_H |
12 | #define ST_PRESS_H |
13 | |
14 | #include <linux/types.h> |
15 | #include <linux/iio/common/st_sensors.h> |
16 | |
17 | enum st_press_type { |
18 | LPS001WP, |
19 | LPS25H, |
20 | LPS331AP, |
21 | LPS22HB, |
22 | LPS33HW, |
23 | LPS35HW, |
24 | LPS22HH, |
25 | LPS22DF, |
26 | ST_PRESS_MAX, |
27 | }; |
28 | |
29 | #define LPS001WP_PRESS_DEV_NAME "lps001wp" |
30 | #define LPS25H_PRESS_DEV_NAME "lps25h" |
31 | #define LPS331AP_PRESS_DEV_NAME "lps331ap" |
32 | #define LPS22HB_PRESS_DEV_NAME "lps22hb" |
33 | #define LPS33HW_PRESS_DEV_NAME "lps33hw" |
34 | #define LPS35HW_PRESS_DEV_NAME "lps35hw" |
35 | #define LPS22HH_PRESS_DEV_NAME "lps22hh" |
36 | #define LPS22DF_PRESS_DEV_NAME "lps22df" |
37 | |
38 | /** |
39 | * struct st_sensors_platform_data - default press platform data |
40 | * @drdy_int_pin: default press DRDY is available on INT1 pin. |
41 | */ |
42 | static __maybe_unused const struct st_sensors_platform_data default_press_pdata = { |
43 | .drdy_int_pin = 1, |
44 | }; |
45 | |
46 | #ifdef CONFIG_IIO_BUFFER |
47 | int st_press_allocate_ring(struct iio_dev *indio_dev); |
48 | int st_press_trig_set_state(struct iio_trigger *trig, bool state); |
49 | #define ST_PRESS_TRIGGER_SET_STATE (&st_press_trig_set_state) |
50 | #else /* CONFIG_IIO_BUFFER */ |
51 | static inline int st_press_allocate_ring(struct iio_dev *indio_dev) |
52 | { |
53 | return 0; |
54 | } |
55 | #define ST_PRESS_TRIGGER_SET_STATE NULL |
56 | #endif /* CONFIG_IIO_BUFFER */ |
57 | |
58 | #endif /* ST_PRESS_H */ |
59 | |