diff --git a/drivers/input/remotectl/rockchip_pwm_remotectl.c b/drivers/input/remotectl/rockchip_pwm_remotectl.c index 83d73a77327f..ed335d0d1c25 100644 --- a/drivers/input/remotectl/rockchip_pwm_remotectl.c +++ b/drivers/input/remotectl/rockchip_pwm_remotectl.c @@ -839,6 +839,7 @@ static int rk_pwm_probe(struct platform_device *pdev) struct clk *clk; struct clk *p_clk; struct cpumask cpumask; + unsigned long irq_flags = IRQF_NO_SUSPEND; int num; int irq; int ret; @@ -941,6 +942,7 @@ static int rk_pwm_probe(struct platform_device *pdev) ddata->wakeup = 1; if (ddata->pwm_data->pwm_version < 4) { + irq_flags = IRQF_NO_SUSPEND | IRQF_SHARED; of_property_read_u32(np, "remote_pwm_id", &pwm_id); pwm_id %= 4; ddata->remote_pwm_id = pwm_id; @@ -978,7 +980,7 @@ static int rk_pwm_probe(struct platform_device *pdev) cpumask_set_cpu(cpu_id, &cpumask); irq_set_affinity_hint(irq, &cpumask); ret = devm_request_irq(&pdev->dev, irq, ddata->pwm_data->funcs.irq_handler, - IRQF_NO_SUSPEND, "rk_pwm_irq", ddata); + irq_flags, "pwm_rc", ddata); if (ret) { dev_err(&pdev->dev, "cannot claim IRQ %d\n", irq); goto error_irq;