]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] ARM: OMAP: fix omap keypad
authorBrian Swetland <swetland@google.com>
Tue, 3 Jan 2006 17:16:21 +0000 (09:16 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 3 Jan 2006 17:16:21 +0000 (09:16 -0800)
- register an "omap-keypad" device so that the keypad
  driver actually gets probed
- initialize kp_tasklet.data so that we don't crash the
  first time the keypad tasklet runs

arch/arm/plat-omap/devices.c
drivers/input/keyboard/omap-keypad.c

index 1bb105872d13a9d4ebe843b5e861ca1611e17e25..640e507af583753ebf5fd50bfbf11f75403695e4 100644 (file)
@@ -99,6 +99,11 @@ static inline void omap_init_i2c(void) {}
 
 /*-------------------------------------------------------------------------*/
 #if    defined(CONFIG_KEYBOARD_OMAP) || defined(CONFIG_KEYBOARD_OMAP_MODULE)
+static struct platform_device omap_kp_device = {
+       .name      = "omap-keypad",
+       .id          = -1,
+};
+
 static void omap_init_kp(void)
 {
        if (machine_is_omap_h2() || machine_is_omap_h3()) {
@@ -127,6 +132,8 @@ static void omap_init_kp(void)
                omap_cfg_reg(F4_730_KBC3);
                omap_cfg_reg(E3_730_KBC4);
        }
+
+       (void) platform_device_register(&omap_kp_device);
 }
 #else
 static inline void omap_init_kp(void) {}
index 15351bb2236f2c9f5c8f280192ae1a50cb624a11..7e851e21bb5db95fdc2f62766650c3ed0c444990 100644 (file)
@@ -331,6 +331,7 @@ static int __init omap_kp_probe(struct platform_device *pdev)
 
        /* get the irq and init timer*/
        tasklet_enable(&kp_tasklet);
+       kp_tasklet.data = (unsigned long) omap_kp;
        if (request_irq(keypad_irq, omap_kp_interrupt, 0,
                        "omap-keypad", 0) < 0)
                return -EINVAL;