diff options
author | afzal mohammed <afzal.mohd.ma@gmail.com> | 2020-03-12 12:18:17 +0530 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2020-03-12 19:23:06 +0100 |
commit | 470cf1c28d2f601ea666a96d676c10b09b2321ab (patch) | |
tree | d21075b34c65acdb5642661c6adc9495a7d8ae3e /drivers/clocksource | |
parent | cc2550b421aa30e3da67e5a7f6d14f3ecd3527b3 (diff) | |
download | linux-stable-470cf1c28d2f601ea666a96d676c10b09b2321ab.tar.gz linux-stable-470cf1c28d2f601ea666a96d676c10b09b2321ab.tar.bz2 linux-stable-470cf1c28d2f601ea666a96d676c10b09b2321ab.zip |
clocksource/drivers/timer-cs5535: Request irq with non-NULL dev_id
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
Diffstat (limited to 'drivers/clocksource')
-rw-r--r-- | drivers/clocksource/timer-cs5535.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/clocksource/timer-cs5535.c b/drivers/clocksource/timer-cs5535.c index 51ea0509fb25..d47acfe848ae 100644 --- a/drivers/clocksource/timer-cs5535.c +++ b/drivers/clocksource/timer-cs5535.c @@ -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; |