/* SPDX-License-Identifier: GPL-2.0-only */ /* * STMicroelectronics uvis25 sensor driver * * Copyright 2017 STMicroelectronics Inc. * * Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> */ #ifndef ST_UVIS25_H #define ST_UVIS25_H #define ST_UVIS25_DEV_NAME "uvis25" #include <linux/iio/iio.h> /** * struct st_uvis25_hw - ST UVIS25 sensor instance * @regmap: Register map of the device. * @trig: The trigger in use by the driver. * @enabled: Status of the sensor (false->off, true->on). * @irq: Device interrupt line (I2C or SPI). */ struct st_uvis25_hw { struct regmap *regmap; struct iio_trigger *trig; bool enabled; int irq; /* Ensure timestamp is naturally aligned */ struct { u8 chan; s64 ts __aligned(8); } scan; }; extern const struct dev_pm_ops st_uvis25_pm_ops; int st_uvis25_probe(struct device *dev, int irq, struct regmap *regmap); #endif /* ST_UVIS25_H */