| /* 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 */ |