ARM: 8966/1: rpc: replace setup_irq() by request_irq()
authorafzal mohammed <afzal.mohd.ma@gmail.com>
Sun, 8 Mar 2020 14:22:06 +0000 (15:22 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Thu, 19 Mar 2020 09:27:42 +0000 (09:27 +0000)
request_irq() is preferred over setup_irq(). Invocations of setup_irq()
occur after memory allocators are ready.

Per tglx[1], setup_irq() existed in olden days when allocators were not
ready by the time early interrupts were initialized.

Hence replace setup_irq() by request_irq().

[1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos

Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/mach-rpc/time.c

index 1d75015..da85cac 100644 (file)
@@ -85,11 +85,6 @@ ioc_timer_interrupt(int irq, void *dev_id)
        return IRQ_HANDLED;
 }
 
-static struct irqaction ioc_timer_irq = {
-       .name           = "timer",
-       .handler        = ioc_timer_interrupt
-};
-
 /*
  * Set up timer interrupt.
  */
@@ -97,5 +92,6 @@ void __init ioc_timer_init(void)
 {
        WARN_ON(clocksource_register_hz(&ioctime_clocksource, RPC_CLOCK_FREQ));
        ioctime_init();
-       setup_irq(IRQ_TIMER0, &ioc_timer_irq);
+       if (request_irq(IRQ_TIMER0, ioc_timer_interrupt, 0, "timer", NULL))
+               pr_err("Failed to request irq %d (timer)\n", IRQ_TIMER0);
 }