clocksource/drivers/timer-cs5535: Request irq with non-NULL dev_id
authorafzal mohammed <afzal.mohd.ma@gmail.com>
Thu, 12 Mar 2020 06:48:17 +0000 (12:18 +0530)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 12 Mar 2020 18:23:06 +0000 (19:23 +0100)
Recently all usages of setup_irq() was replaced by request_irq().
request_irq() does a few sanity checks that were not done in
setup_irq(), if they fail irq registration will fail. One of the check
is to ensure that non-NULL dev_id is passed in the case of shared irq.

Fix it by passing non-NULL dev_id while registering the shared irq.

Fixes: cc2550b421aa ("clocksource: Replace setup_irq() by request_irq()")
Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200312064817.19000-1-afzal.mohd.ma@gmail.com
drivers/clocksource/timer-cs5535.c

index 51ea0509fb257ed5cc5900f69c6cf654583d7bb0..d47acfe848ae45b8ecf3addf10c7850ab0788c68 100644 (file)
@@ -133,6 +133,7 @@ static irqreturn_t mfgpt_tick(int irq, void *dev_id)
 
 static int __init cs5535_mfgpt_init(void)
 {
+       unsigned long flags = IRQF_NOBALANCING | IRQF_TIMER | IRQF_SHARED;
        struct cs5535_mfgpt_timer *timer;
        int ret;
        uint16_t val;
@@ -152,9 +153,7 @@ static int __init cs5535_mfgpt_init(void)
        }
 
        /* And register it with the kernel */
-       ret = request_irq(timer_irq, mfgpt_tick,
-                         IRQF_NOBALANCING | IRQF_TIMER | IRQF_SHARED,
-                         DRV_NAME, NULL);
+       ret = request_irq(timer_irq, mfgpt_tick, flags, DRV_NAME, timer);
        if (ret) {
                printk(KERN_ERR DRV_NAME ": Unable to set up the interrupt.\n");
                goto err_irq;