#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/iio/iio.h>
#include <linux/iio/buffer.h>
#include <linux/iio/trigger.h>
#include <linux/iio/trigger_consumer.h>
#include <linux/iio/triggered_buffer.h>
#include <linux/iio/gyro/itg3200.h>
static int itg3200_read_all_channels(struct i2c_client *i2c, __be16 *buf)
{ … }
static irqreturn_t itg3200_trigger_handler(int irq, void *p)
{ … }
int itg3200_buffer_configure(struct iio_dev *indio_dev)
{ … }
void itg3200_buffer_unconfigure(struct iio_dev *indio_dev)
{ … }
static int itg3200_data_rdy_trigger_set_state(struct iio_trigger *trig,
bool state)
{ … }
static const struct iio_trigger_ops itg3200_trigger_ops = …;
int itg3200_probe_trigger(struct iio_dev *indio_dev)
{ … }
void itg3200_remove_trigger(struct iio_dev *indio_dev)
{ … }