linux/drivers/iio/pressure/st_pressure.h
<<
>>
Prefs
   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
  17enum st_press_type {
  18        LPS001WP,
  19        LPS25H,
  20        LPS331AP,
  21        LPS22HB,
  22        ST_PRESS_MAX,
  23};
  24
  25#define LPS001WP_PRESS_DEV_NAME         "lps001wp"
  26#define LPS25H_PRESS_DEV_NAME           "lps25h"
  27#define LPS331AP_PRESS_DEV_NAME         "lps331ap"
  28#define LPS22HB_PRESS_DEV_NAME          "lps22hb"
  29
  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
  38int st_press_common_probe(struct iio_dev *indio_dev);
  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 */
  59