Re: [PATCH v3 4/7] gpio: max7360: Add MAX7360 gpio support
From: Linus Walleij <hidden>
Date: 2025-01-22 13:18:15
Also in:
linux-gpio, linux-input, linux-pwm, lkml
From: Linus Walleij <hidden>
Date: 2025-01-22 13:18:15
Also in:
linux-gpio, linux-input, linux-pwm, lkml
Hi Mathieu, On Fri, Jan 17, 2025 at 4:22 PM Mathieu Dubois-Briand [off-list ref] wrote:
I tried to switch to GPIO_REGMAP and I really like it overall, as it does simplify a lot the code. However, I identified two features that I was not able to port so far: the request()/free() callbacks and the interrupts.
Thanks for looking into this!
So for the request()/free() callbacks, I cannot add them anymore, as they are set on the gpio_chip structure, and this structure is hidden behind the gpio_regmap structure. I could easily modify the gpio_regmap_config structure and gpio_regmap_register() to allow to provide these callbacks, but is this acceptable?
Of course. The template is to be used for setting it up, just modify it if we need more from it.
On the IRQ side, before switching to GPIO_REGMAP, I was able to define the IRQ configuration using the irq member of the gpio_chip structure. This does create the IRQ domain for me in a quite straightforward way. Again, I will not be able to do that anymore, as the gpio_chip structure is hidden.
(...)
I had a quick look at existing drivers using GPIO_REGMAP and providing IRQ support: I believe they are all using REGMAP_IRQ. And I believe I cannot use REGMAP_IRQ here,
Then we need to modify GPIO_REGMAP so it's possible to pass in our own gpio_irq_chip, maybe another member in the config, simply? Yours, Linus Walleij