#include <linux/bitfield.h>
#include <linux/iio/iio.h>
#include <linux/iio/trigger.h>
#include <linux/iio/trigger_consumer.h>
#include <linux/iio/triggered_buffer.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include "ens160.h"
#define ENS160_PART_ID …
#define ENS160_BOOTING_TIME_MS …
#define ENS160_REG_PART_ID …
#define ENS160_REG_OPMODE …
#define ENS160_REG_CONFIG …
#define ENS160_REG_CONFIG_INTEN …
#define ENS160_REG_CONFIG_INTDAT …
#define ENS160_REG_CONFIG_INT_CFG …
#define ENS160_REG_MODE_DEEP_SLEEP …
#define ENS160_REG_MODE_IDLE …
#define ENS160_REG_MODE_STANDARD …
#define ENS160_REG_MODE_RESET …
#define ENS160_REG_COMMAND …
#define ENS160_REG_COMMAND_GET_APPVER …
#define ENS160_REG_COMMAND_CLRGPR …
#define ENS160_REG_TEMP_IN …
#define ENS160_REG_RH_IN …
#define ENS160_REG_DEVICE_STATUS …
#define ENS160_REG_DATA_AQI …
#define ENS160_REG_DATA_TVOC …
#define ENS160_REG_DATA_ECO2 …
#define ENS160_REG_DATA_T …
#define ENS160_REG_DATA_RH …
#define ENS160_REG_GPR_READ4 …
#define ENS160_STATUS_VALIDITY_FLAG …
#define ENS160_STATUS_NORMAL …
struct ens160_data { … };
static const struct iio_chan_spec ens160_channels[] = …;
static int ens160_read_raw(struct iio_dev *indio_dev,
struct iio_chan_spec const *chan,
int *val, int *val2, long mask)
{ … }
static int ens160_set_mode(struct ens160_data *data, u8 mode)
{ … }
static void ens160_set_idle(void *data)
{ … }
static int ens160_chip_init(struct ens160_data *data)
{ … }
static const struct iio_info ens160_info = …;
static int ens160_suspend(struct device *dev)
{ … }
static int ens160_resume(struct device *dev)
{ … }
EXPORT_NS_SIMPLE_DEV_PM_OPS(ens160_pm_ops, ens160_suspend, ens160_resume,
IIO_ENS160);
static irqreturn_t ens160_trigger_handler(int irq, void *p)
{ … }
static int ens160_set_trigger_state(struct iio_trigger *trig, bool state)
{ … }
static const struct iio_trigger_ops ens160_trigger_ops = …;
static int ens160_setup_trigger(struct iio_dev *indio_dev, int irq)
{ … }
int devm_ens160_core_probe(struct device *dev, struct regmap *regmap, int irq,
const char *name)
{ … }
EXPORT_SYMBOL_NS(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;