Hi Mathieu, On Fri, Jan 17, 2025 at 4:22 PM Mathieu Dubois-Briand <mathieu.dubois-briand@xxxxxxxxxxx> 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