1fda8d26eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2217494e5SDenis CIOCCA /*
3217494e5SDenis CIOCCA * STMicroelectronics pressures driver
4217494e5SDenis CIOCCA *
5217494e5SDenis CIOCCA * Copyright 2013 STMicroelectronics Inc.
6217494e5SDenis CIOCCA *
7217494e5SDenis CIOCCA * Denis Ciocca <denis.ciocca@st.com>
8217494e5SDenis CIOCCA * v. 1.0.0
9217494e5SDenis CIOCCA */
10217494e5SDenis CIOCCA
11217494e5SDenis CIOCCA #ifndef ST_PRESS_H
12217494e5SDenis CIOCCA #define ST_PRESS_H
13217494e5SDenis CIOCCA
14217494e5SDenis CIOCCA #include <linux/types.h>
15217494e5SDenis CIOCCA #include <linux/iio/common/st_sensors.h>
16217494e5SDenis CIOCCA
179d317724SShrirang Bagul enum st_press_type {
189d317724SShrirang Bagul LPS001WP,
199d317724SShrirang Bagul LPS25H,
209d317724SShrirang Bagul LPS331AP,
219d317724SShrirang Bagul LPS22HB,
22b954d77aSLorenzo Bianconi LPS33HW,
23b954d77aSLorenzo Bianconi LPS35HW,
24e5aab7b0Smario tesi LPS22HH,
25*92ba0ab9SMartyn Welch LPS22DF,
269d317724SShrirang Bagul ST_PRESS_MAX,
279d317724SShrirang Bagul };
289d317724SShrirang Bagul
297885a8ceSLee Jones #define LPS001WP_PRESS_DEV_NAME "lps001wp"
3093187840SDenis CIOCCA #define LPS25H_PRESS_DEV_NAME "lps25h"
31217494e5SDenis CIOCCA #define LPS331AP_PRESS_DEV_NAME "lps331ap"
32e039e2f5SGregor Boirie #define LPS22HB_PRESS_DEV_NAME "lps22hb"
33b954d77aSLorenzo Bianconi #define LPS33HW_PRESS_DEV_NAME "lps33hw"
34b954d77aSLorenzo Bianconi #define LPS35HW_PRESS_DEV_NAME "lps35hw"
35e5aab7b0Smario tesi #define LPS22HH_PRESS_DEV_NAME "lps22hh"
36*92ba0ab9SMartyn Welch #define LPS22DF_PRESS_DEV_NAME "lps22df"
37217494e5SDenis CIOCCA
3823cde4d6SDenis CIOCCA /**
3923cde4d6SDenis CIOCCA * struct st_sensors_platform_data - default press platform data
4023cde4d6SDenis CIOCCA * @drdy_int_pin: default press DRDY is available on INT1 pin.
4123cde4d6SDenis CIOCCA */
42be4ac832SAndy Shevchenko static __maybe_unused const struct st_sensors_platform_data default_press_pdata = {
4323cde4d6SDenis CIOCCA .drdy_int_pin = 1,
4423cde4d6SDenis CIOCCA };
4523cde4d6SDenis CIOCCA
46217494e5SDenis CIOCCA #ifdef CONFIG_IIO_BUFFER
47217494e5SDenis CIOCCA int st_press_allocate_ring(struct iio_dev *indio_dev);
48217494e5SDenis CIOCCA int st_press_trig_set_state(struct iio_trigger *trig, bool state);
49217494e5SDenis CIOCCA #define ST_PRESS_TRIGGER_SET_STATE (&st_press_trig_set_state)
50217494e5SDenis CIOCCA #else /* CONFIG_IIO_BUFFER */
st_press_allocate_ring(struct iio_dev * indio_dev)51217494e5SDenis CIOCCA static inline int st_press_allocate_ring(struct iio_dev *indio_dev)
52217494e5SDenis CIOCCA {
53217494e5SDenis CIOCCA return 0;
54217494e5SDenis CIOCCA }
55217494e5SDenis CIOCCA #define ST_PRESS_TRIGGER_SET_STATE NULL
56217494e5SDenis CIOCCA #endif /* CONFIG_IIO_BUFFER */
57217494e5SDenis CIOCCA
58217494e5SDenis CIOCCA #endif /* ST_PRESS_H */
59