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