Merge branch 'for-linus' of git://git.kernel.dk/linux-block
[linux-2.6-block.git] / drivers / iio / pressure / st_pressure.h
CommitLineData
217494e5
DC
1/*
2 * STMicroelectronics pressures driver
3 *
4 * Copyright 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_PRESS_H
12#define ST_PRESS_H
13
14#include <linux/types.h>
15#include <linux/iio/common/st_sensors.h>
16
9d317724
SB
17enum st_press_type {
18 LPS001WP,
19 LPS25H,
20 LPS331AP,
21 LPS22HB,
22 ST_PRESS_MAX,
23};
24
7885a8ce 25#define LPS001WP_PRESS_DEV_NAME "lps001wp"
93187840 26#define LPS25H_PRESS_DEV_NAME "lps25h"
217494e5 27#define LPS331AP_PRESS_DEV_NAME "lps331ap"
e039e2f5 28#define LPS22HB_PRESS_DEV_NAME "lps22hb"
217494e5 29
23cde4d6
DC
30/**
31 * struct st_sensors_platform_data - default press platform data
32 * @drdy_int_pin: default press DRDY is available on INT1 pin.
33 */
34static const struct st_sensors_platform_data default_press_pdata = {
35 .drdy_int_pin = 1,
36};
37
0baa3fc1 38int st_press_common_probe(struct iio_dev *indio_dev);
217494e5
DC
39void st_press_common_remove(struct iio_dev *indio_dev);
40
41#ifdef CONFIG_IIO_BUFFER
42int st_press_allocate_ring(struct iio_dev *indio_dev);
43void st_press_deallocate_ring(struct iio_dev *indio_dev);
44int st_press_trig_set_state(struct iio_trigger *trig, bool state);
45#define ST_PRESS_TRIGGER_SET_STATE (&st_press_trig_set_state)
46#else /* CONFIG_IIO_BUFFER */
47static inline int st_press_allocate_ring(struct iio_dev *indio_dev)
48{
49 return 0;
50}
51
52static inline void st_press_deallocate_ring(struct iio_dev *indio_dev)
53{
54}
55#define ST_PRESS_TRIGGER_SET_STATE NULL
56#endif /* CONFIG_IIO_BUFFER */
57
58#endif /* ST_PRESS_H */