#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/interrupt.h>
#include <linux/irqreturn.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/bitfield.h>
#include <linux/iio/iio.h>
#include <linux/iio/trigger.h>
#include <linux/iio/events.h>
#include <linux/iio/trigger_consumer.h>
#include <linux/iio/triggered_buffer.h>
#include <linux/iio/buffer.h>
#include <linux/platform_data/st_sensors_pdata.h>
#include "hts221.h"
#define HTS221_REG_DRDY_HL_ADDR …
#define HTS221_REG_DRDY_HL_MASK …
#define HTS221_REG_DRDY_PP_OD_ADDR …
#define HTS221_REG_DRDY_PP_OD_MASK …
#define HTS221_REG_DRDY_EN_ADDR …
#define HTS221_REG_DRDY_EN_MASK …
#define HTS221_REG_STATUS_ADDR …
#define HTS221_RH_DRDY_MASK …
#define HTS221_TEMP_DRDY_MASK …
static int hts221_trig_set_state(struct iio_trigger *trig, bool state)
{ … }
static const struct iio_trigger_ops hts221_trigger_ops = …;
static irqreturn_t hts221_trigger_handler_thread(int irq, void *private)
{ … }
int hts221_allocate_trigger(struct iio_dev *iio_dev)
{ … }
static int hts221_buffer_preenable(struct iio_dev *iio_dev)
{ … }
static int hts221_buffer_postdisable(struct iio_dev *iio_dev)
{ … }
static const struct iio_buffer_setup_ops hts221_buffer_ops = …;
static irqreturn_t hts221_buffer_handler_thread(int irq, void *p)
{ … }
int hts221_allocate_buffers(struct iio_dev *iio_dev)
{ … }
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;