diff mbox series

pinctrl: pinctrl-at91-pio4: Set irq handler and data in one go

Message ID 20201108180144.28594-1-martin@kaiser.cx
State New
Headers show
Series pinctrl: pinctrl-at91-pio4: Set irq handler and data in one go | expand

Commit Message

Martin Kaiser Nov. 8, 2020, 6:01 p.m. UTC
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(-)

Comments

Andy Shevchenko Nov. 9, 2020, 11:26 a.m. UTC | #1
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?
Nicolas Ferre Nov. 10, 2020, 9:08 a.m. UTC | #2
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.

Regards,
Linus Walleij Nov. 11, 2020, 2:47 p.m. UTC | #3
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
Linus Walleij Nov. 11, 2020, 2:53 p.m. UTC | #4
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 mbox series

Patch

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);
 	}