diff mbox

input: Request a shared interrupt for AMBA KMI devices.

Message ID 1399553053-20305-1-git-send-email-broonie@kernel.org
State Accepted
Commit 5d61b54f5e06621d7b1471cbf8b76bc064117225
Headers show

Commit Message

Mark Brown May 8, 2014, 12:44 p.m. UTC
From: Liviu Dudau <Liviu.Dudau@arm.com>

Recent ARM boards have the KMI devices share one interrupt line rather
than having dedicated IRQs. Update the driver to take that into account.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
 drivers/input/serio/ambakmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Dmitry Torokhov May 14, 2014, 6:19 a.m. UTC | #1
On Thu, May 08, 2014 at 01:44:13PM +0100, Mark Brown wrote:
> From: Liviu Dudau <Liviu.Dudau@arm.com>
> 
> Recent ARM boards have the KMI devices share one interrupt line rather
> than having dedicated IRQs. Update the driver to take that into account.
> 
> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> Signed-off-by: Mark Brown <broonie@linaro.org>

Applied, thank you.

> ---
>  drivers/input/serio/ambakmi.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c
> index 762b08432de0..8b748d99b934 100644
> --- a/drivers/input/serio/ambakmi.c
> +++ b/drivers/input/serio/ambakmi.c
> @@ -79,7 +79,8 @@ static int amba_kmi_open(struct serio *io)
>  	writeb(divisor, KMICLKDIV);
>  	writeb(KMICR_EN, KMICR);
>  
> -	ret = request_irq(kmi->irq, amba_kmi_int, 0, "kmi-pl050", kmi);
> +	ret = request_irq(kmi->irq, amba_kmi_int, IRQF_SHARED, "kmi-pl050",
> +			  kmi);
>  	if (ret) {
>  		printk(KERN_ERR "kmi: failed to claim IRQ%d\n", kmi->irq);
>  		writeb(0, KMICR);
> -- 
> 2.0.0.rc2
>
diff mbox

Patch

diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c
index 762b08432de0..8b748d99b934 100644
--- a/drivers/input/serio/ambakmi.c
+++ b/drivers/input/serio/ambakmi.c
@@ -79,7 +79,8 @@  static int amba_kmi_open(struct serio *io)
 	writeb(divisor, KMICLKDIV);
 	writeb(KMICR_EN, KMICR);
 
-	ret = request_irq(kmi->irq, amba_kmi_int, 0, "kmi-pl050", kmi);
+	ret = request_irq(kmi->irq, amba_kmi_int, IRQF_SHARED, "kmi-pl050",
+			  kmi);
 	if (ret) {
 		printk(KERN_ERR "kmi: failed to claim IRQ%d\n", kmi->irq);
 		writeb(0, KMICR);