Messages in this thread | | | Date | Sun, 27 Nov 2022 19:31:48 +0100 | From | Michael Walle <> | Subject | Re: [PATCH v3 3/9] gpio: 104-dio-48e: Migrate to the regmap-irq API |
| |
Hi,
[sorry this mail was just delivered now, although it seems to be sent last Tuesday.]
Am 2022-11-22 11:29, schrieb William Breathitt Gray: > On Wed, Nov 23, 2022 at 05:01:53PM +0200, Andy Shevchenko wrote: >> On Tue, Nov 22, 2022 at 02:11:00AM -0500, William Breathitt Gray >> wrote: >> > + /* Initialize device interrupt state */ >> > + err = regmap_read(map, DIO48E_DISABLE_INTERRUPT, &val); >> > + if (err) >> > + return err; >> >> Use ->init_hw() callback for this. > > In a subsequent patch 7/9 we remove direct gpio_chip registration in > favor of the i8255 library registration via gpio_regmap. It doesn't > look > like gpio_regmap_register() sets the init_hw() callback. > > Michael, do you see any issues if I introduce init_hw() to > gpio_regmap_config? Or do you think this IRQ initialization belongs > somewhere else?
Something like the following? gpiochip->init_hw = config.irq_init_hw;
gpiochip doesn't seem to be the correct place, gpiochip_add_irqchip() is a noop for gpio-regmap, right? So using gpiochip_irqchip_init_hw() seems wrong.
Maybe make gpio-regmap call it on its own? But really we just connect the regmap-irq to the gpiochip irqdomain. What is the purpose of the .init_hw callback? I've looked at other drivers which use regmap-irq and they all seem to just initialize the hardware in their _probe().
-michael
| |