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