1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright 2022 William Breathitt Gray */
3 #ifndef _IDIO_16_H_
4 #define _IDIO_16_H_
5 
6 struct device;
7 struct regmap;
8 struct regmap_irq;
9 
10 /**
11  * struct idio_16_regmap_config - Configuration for the IDIO-16 register map
12  * @parent:		parent device
13  * @map:		regmap for the IDIO-16 device
14  * @regmap_irqs:	descriptors for individual IRQs
15  * @num_regmap_irqs:	number of IRQ descriptors
16  * @irq:		IRQ number for the IDIO-16 device
17  * @no_status:		device has no status register
18  * @filters:		device has input filters
19  */
20 struct idio_16_regmap_config {
21 	struct device *parent;
22 	struct regmap *map;
23 	const struct regmap_irq *regmap_irqs;
24 	int num_regmap_irqs;
25 	unsigned int irq;
26 	bool no_status;
27 	bool filters;
28 };
29 
30 int devm_idio_16_regmap_register(struct device *dev, const struct idio_16_regmap_config *config);
31 
32 #endif /* _IDIO_16_H_ */
33