Input: jornada720_kbd - get rid of mach/irqs.h include
authorRussell King <rmk+kernel@armlinux.org.uk>
Fri, 19 Aug 2016 16:41:47 +0000 (09:41 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 22 Aug 2016 21:17:17 +0000 (14:17 -0700)
Switch the jornada720 keyboard driver to obtain its interrupt from the
platform device, rather than via a hard-coded interrupt number obtained
from the mach/irqs.h header.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
arch/arm/mach-sa1100/jornada720.c
drivers/input/keyboard/jornada720_kbd.c

index c0b1f5bafae4e06496186197f422ba8874f26420..2b96f7bc16bd9008b976b7d1a7eee187aa5b658f 100644 (file)
@@ -217,9 +217,15 @@ static struct platform_device jornada_ssp_device = {
        .id             = -1,
 };
 
+static struct resource jornada_kbd_resources[] = {
+       DEFINE_RES_IRQ(IRQ_GPIO0),
+};
+
 static struct platform_device jornada_kbd_device = {
        .name           = "jornada720_kbd",
        .id             = -1,
+       .num_resources  = ARRAY_SIZE(jornada_kbd_resources),
+       .resource       = jornada_kbd_resources,
 };
 
 static struct platform_device jornada_ts_device = {
index 0a7832e0e05a8b4a708fef7ba5353258021783e7..648340439d5fa15b7d490ea678371545f8a29dc5 100644 (file)
@@ -26,7 +26,6 @@
 
 #include <mach/jornada720.h>
 #include <mach/hardware.h>
-#include <mach/irqs.h>
 
 MODULE_AUTHOR("Kristoffer Ericson <Kristoffer.Ericson@gmail.com>");
 MODULE_DESCRIPTION("HP Jornada 710/720/728 keyboard driver");
@@ -97,7 +96,11 @@ static int jornada720_kbd_probe(struct platform_device *pdev)
 {
        struct jornadakbd *jornadakbd;
        struct input_dev *input_dev;
-       int i, err;
+       int i, err, irq;
+
+       irq = platform_get_irq(pdev, 0);
+       if (irq <= 0)
+               return irq < 0 ? irq : -EINVAL;
 
        jornadakbd = devm_kzalloc(&pdev->dev, sizeof(*jornadakbd), GFP_KERNEL);
        input_dev = devm_input_allocate_device(&pdev->dev);
@@ -125,10 +128,10 @@ static int jornada720_kbd_probe(struct platform_device *pdev)
 
        input_set_capability(input_dev, EV_MSC, MSC_SCAN);
 
-       err = devm_request_irq(&pdev->dev, IRQ_GPIO0, jornada720_kbd_interrupt,
+       err = devm_request_irq(&pdev->dev, irq, jornada720_kbd_interrupt,
                               IRQF_TRIGGER_FALLING, "jornadakbd", pdev);
        if (err) {
-               printk(KERN_INFO "jornadakbd720_kbd: Unable to grab IRQ\n");
+               dev_err(&pdev->dev, "unable to grab IRQ%d: %d\n", irq, err);
                return err;
        }