Message ID | 20201108180144.28594-1-martin@kaiser.cx |
---|---|
State | Accepted |
Commit | 3603a537bf791d4047b89fd0fc060f723eded458 |
Headers | show |
Series | pinctrl: pinctrl-at91-pio4: Set irq handler and data in one go | expand |
On Sun, Nov 8, 2020 at 8:05 PM Martin Kaiser <martin@kaiser.cx> wrote: > > Replace the two separate calls for setting the irq handler and data with a > single irq_set_chained_handler_and_data() call. Can it be rewritten to use the GPIO core facility of instantiating IRQ chip?
On Sun, Nov 8, 2020 at 7:01 PM Martin Kaiser <martin@kaiser.cx> wrote: > Replace the two separate calls for setting the irq handler and data with a > single irq_set_chained_handler_and_data() call. > > Signed-off-by: Martin Kaiser <martin@kaiser.cx> Patch applied as kernel looks better after than before. Yours, Linus Walleij
On Tue, Nov 10, 2020 at 10:08 AM Nicolas Ferre <nicolas.ferre@microchip.com> wrote: > On 09/11/2020 at 12:26, Andy Shevchenko wrote: > > On Sun, Nov 8, 2020 at 8:05 PM Martin Kaiser <martin@kaiser.cx> wrote: > >> > >> Replace the two separate calls for setting the irq handler and data with a > >> single irq_set_chained_handler_and_data() call. > > > > Can it be rewritten to use the GPIO core facility of instantiating IRQ chip? > > I have the feeling it's out of scope for this (tiny) patch. True, but a good suggestion anyways. If you have a TODO for the AT91 pin controllers I think both using the GPIOLIB_IRQCHIP can cut down the code in these files quite a bit, and probably fix some unknown bugs. Yours, Linus Walleij
diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c index 578b387100d9..157fea808629 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -1127,8 +1127,8 @@ static int atmel_pinctrl_probe(struct platform_device *pdev) return -EINVAL; } atmel_pioctrl->irqs[i] = res->start; - irq_set_chained_handler(res->start, atmel_gpio_irq_handler); - irq_set_handler_data(res->start, atmel_pioctrl); + irq_set_chained_handler_and_data(res->start, + atmel_gpio_irq_handler, atmel_pioctrl); dev_dbg(dev, "bank %i: irq=%pr\n", i, res); }
Replace the two separate calls for setting the irq handler and data with a single irq_set_chained_handler_and_data() call. Signed-off-by: Martin Kaiser <martin@kaiser.cx> --- drivers/pinctrl/pinctrl-at91-pio4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)