unicore32: Replace setup_irq() by request_irq()
authorafzal mohammed <afzal.mohd.ma@gmail.com>
Fri, 27 Mar 2020 16:10:44 +0000 (21:40 +0530)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 29 Mar 2020 19:03:43 +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/82667ae23520611b2a9d8db77e1d8aeb982f08e5.1585320721.git.afzal.mohd.ma@gmail.com
arch/unicore32/kernel/time.c

index 8b217a7..c3a37ed 100644 (file)
@@ -72,13 +72,6 @@ static struct clocksource cksrc_puv3_oscr = {
        .flags          = CLOCK_SOURCE_IS_CONTINUOUS,
 };
 
-static struct irqaction puv3_timer_irq = {
-       .name           = "ost0",
-       .flags          = IRQF_TIMER | IRQF_IRQPOLL,
-       .handler        = puv3_ost0_interrupt,
-       .dev_id         = &ckevt_puv3_osmr0,
-};
-
 void __init time_init(void)
 {
        writel(0, OST_OIER);            /* disable any timer interrupts */
@@ -94,7 +87,9 @@ void __init time_init(void)
        ckevt_puv3_osmr0.min_delta_ticks = MIN_OSCR_DELTA * 2;
        ckevt_puv3_osmr0.cpumask = cpumask_of(0);
 
-       setup_irq(IRQ_TIMER0, &puv3_timer_irq);
+       if (request_irq(IRQ_TIMER0, puv3_ost0_interrupt,
+                       IRQF_TIMER | IRQF_IRQPOLL, "ost0", &ckevt_puv3_osmr0))
+               pr_err("Failed to register ost0 interrupt\n");
 
        clocksource_register_hz(&cksrc_puv3_oscr, CLOCK_TICK_RATE);
        clockevents_register_device(&ckevt_puv3_osmr0);