Commit 470cf1c2 authored by afzal mohammed's avatar afzal mohammed Committed by Daniel Lezcano

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: cc2550b4 ("clocksource: Replace setup_irq() by request_irq()")
Signed-off-by: default avatarafzal mohammed <afzal.mohd.ma@gmail.com>
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200312064817.19000-1-afzal.mohd.ma@gmail.com
parent cc2550b4
...@@ -133,6 +133,7 @@ static irqreturn_t mfgpt_tick(int irq, void *dev_id) ...@@ -133,6 +133,7 @@ static irqreturn_t mfgpt_tick(int irq, void *dev_id)
static int __init cs5535_mfgpt_init(void) static int __init cs5535_mfgpt_init(void)
{ {
unsigned long flags = IRQF_NOBALANCING | IRQF_TIMER | IRQF_SHARED;
struct cs5535_mfgpt_timer *timer; struct cs5535_mfgpt_timer *timer;
int ret; int ret;
uint16_t val; uint16_t val;
...@@ -152,9 +153,7 @@ static int __init cs5535_mfgpt_init(void) ...@@ -152,9 +153,7 @@ static int __init cs5535_mfgpt_init(void)
} }
/* And register it with the kernel */ /* And register it with the kernel */
ret = request_irq(timer_irq, mfgpt_tick, ret = request_irq(timer_irq, mfgpt_tick, flags, DRV_NAME, timer);
IRQF_NOBALANCING | IRQF_TIMER | IRQF_SHARED,
DRV_NAME, NULL);
if (ret) { if (ret) {
printk(KERN_ERR DRV_NAME ": Unable to set up the interrupt.\n"); printk(KERN_ERR DRV_NAME ": Unable to set up the interrupt.\n");
goto err_irq; goto err_irq;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment