Messages in this thread | | | Date | Fri, 27 Mar 2020 16:28:11 +0100 | From | Michael Walle <> | Subject | Re: [PATCH 12/18] gpio: add support for the sl28cpld GPIO controller |
| |
Am 2020-03-27 11:20, schrieb Linus Walleij: > On Thu, Mar 26, 2020 at 9:06 PM Michael Walle <michael@walle.cc> wrote: >> Am 2020-03-25 12:50, schrieb Bartosz Golaszewski: > >> > In that case maybe you should use the disable_locking option in >> > regmap_config and provide your own callbacks that you can use in the >> > irqchip code too? >> >> But how would that solve problem (1). And keep in mind, that the >> reqmap_irqchip is actually used for the interrupt controller, which >> is not this gpio controller. >> >> Ie. the interrupt controller of the sl28cpld uses the regmap_irqchip >> and all interrupt phandles pointing to the interrupt controller will >> reference the toplevel node. Any phandles pointing to the gpio >> controller will reference the GPIO subnode. > > Ideally we would create something generic that has been on my > mind for some time, like a generic GPIO regmap irqchip now that > there are a few controllers like that. > > I don't know how feasible it is or how much work it would be. But > as with GPIO_GENERIC (for MMIO) it would be helpful since we > can then implement things like .set_multiple() and .get_multiple() > for everyone.
For starters, would that be a drivers/gpio/gpio-regmap.c or a drivers/base/regmap/regmap-gpio.c? I would assume the first, because the stuff in drivers/base/regmap operates on a given regmap and we'd just be using one, correct? On the other hand there is also the reqmap-irq.c. But as pointed out before, it will add an interrupt controller to the regmap, not a device so to speak.
-michael
| |