#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/irq_work.h>
#include <linux/kthread.h>
#include <linux/freezer.h>
#include <linux/iio/iio.h>
#include <linux/iio/trigger.h>
#include <linux/iio/sw_trigger.h>
struct iio_loop_info { … };
static const struct config_item_type iio_loop_type = …;
static int iio_loop_thread(void *data)
{ … }
static int iio_loop_trigger_set_state(struct iio_trigger *trig, bool state)
{ … }
static const struct iio_trigger_ops iio_loop_trigger_ops = …;
static struct iio_sw_trigger *iio_trig_loop_probe(const char *name)
{ … }
static int iio_trig_loop_remove(struct iio_sw_trigger *swt)
{ … }
static const struct iio_sw_trigger_ops iio_trig_loop_ops = …;
static struct iio_sw_trigger_type iio_trig_loop = …;
module_iio_sw_trigger_driver(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;