c6x: Replace setup_irq() by request_irq()
authorafzal mohammed <afzal.mohd.ma@gmail.com>
Fri, 27 Mar 2020 16:09:32 +0000 (21:39 +0530)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 29 Mar 2020 19:03:42 +0000 (21:03 +0200)
request_irq() is preferred over setup_irq(). Invocations of setup_irq()
occur after memory allocators are ready.

setup_irq() was required in older kernels as the memory allocator was not
available during early boot.

Hence replace setup_irq() by request_irq().

Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/56e991e920ce5806771fab892574cba89a3d413f.1585320721.git.afzal.mohd.ma@gmail.com
arch/c6x/platforms/timer64.c

index d98d943034989d5df926c8d4553e05cf24ca826b..661f4c7c6ef67c4d0acfcc7f9f307c814d97206f 100644 (file)
@@ -165,13 +165,6 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
        return IRQ_HANDLED;
 }
 
-static struct irqaction timer_iact = {
-       .name           = "timer",
-       .flags          = IRQF_TIMER,
-       .handler        = timer_interrupt,
-       .dev_id         = &t64_clockevent_device,
-};
-
 void __init timer64_init(void)
 {
        struct clock_event_device *cd = &t64_clockevent_device;
@@ -238,7 +231,9 @@ void __init timer64_init(void)
        cd->cpumask             = cpumask_of(smp_processor_id());
 
        clockevents_register_device(cd);
-       setup_irq(cd->irq, &timer_iact);
+       if (request_irq(cd->irq, timer_interrupt, IRQF_TIMER, "timer",
+                       &t64_clockevent_device))
+               pr_err("Failed to request irq %d (timer)\n", cd->irq);
 
 out:
        of_node_put(np);