1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright 2022 William Breathitt Gray */
3#ifndef _IDIO_16_H_
4#define _IDIO_16_H_
5
6struct device;
7struct regmap;
8struct 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 */
20struct 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
30int devm_idio_16_regmap_register(struct device *dev, const struct idio_16_regmap_config *config);
31
32#endif /* _IDIO_16_H_ */
33