lkml.org 
[lkml]   [2020]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v2 13/18] unicore32: replace setup_irq() by request_irq()
    request_irq() is preferred over setup_irq(). The early boot setup_irq()
    invocations happen either via 'init_IRQ()' or 'time_init()', while
    memory allocators are ready by 'mm_init()'.

    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().

    Seldom remove_irq() usage has been observed coupled with setup_irq(),
    wherever that has been found, it too has been replaced by free_irq().

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

    Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com>
    ---

    v2:
    * Replace pr_err("request_irq() on %s failed" by
    pr_err("%s: request_irq() failed"
    * Commit message massage

    arch/unicore32/kernel/time.c | 11 +++--------
    1 file changed, 3 insertions(+), 8 deletions(-)

    diff --git a/arch/unicore32/kernel/time.c b/arch/unicore32/kernel/time.c
    index 8b217a761bf0..f69a2244ebd6 100644
    --- a/arch/unicore32/kernel/time.c
    +++ b/arch/unicore32/kernel/time.c
    @@ -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("%s: request_irq() failed\n", "ost0");

    clocksource_register_hz(&cksrc_puv3_oscr, CLOCK_TICK_RATE);
    clockevents_register_device(&ckevt_puv3_osmr0);
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-02-24 01:53    [W:2.560 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site