MIPS: MTX-1: Request button GPIO before setting its direction
authorFlorian Fainelli <florian@openwrt.org>
Sat, 1 Aug 2009 21:51:20 +0000 (23:51 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 3 Aug 2009 16:52:46 +0000 (17:52 +0100)
This patch fixes the following warning at boot time:
WARNING: at drivers/gpio/gpiolib.c:83 0x8021d5e0()
autorequest GPIO-207
Modules linked in:
Call Trace:[<8011e0ec>] 0x8011e0ec
[<80110a28>] 0x80110a28
[<80110a28>] 0x80110a28
[..snip..]

The current code does not request the GPIO and attempts
to set its direction, which is a violation of the GPIO API.
This patch also unhardcode the GPIO we request and use
the one we defined in the button driver.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/alchemy/mtx-1/platform.c

index 8b5914d..e30e42a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MTX-1 platform devices registration
  *
- * Copyright (C) 2007, Florian Fainelli <florian@openwrt.org>
+ * Copyright (C) 2007-2009, Florian Fainelli <florian@openwrt.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -142,7 +142,17 @@ static struct __initdata platform_device * mtx1_devs[] = {
 
 static int __init mtx1_register_devices(void)
 {
-       gpio_direction_input(207);
+       int rc;
+
+       rc = gpio_request(mtx1_gpio_button[0].gpio,
+                                       mtx1_gpio_button[0].desc);
+       if (rc < 0) {
+               printk(KERN_INFO "mtx1: failed to request %d\n",
+                                       mtx1_gpio_button[0].gpio);
+               goto out;
+       }
+       gpio_direction_input(mtx1_gpio_button[0].gpio);
+out:
        return platform_add_devices(mtx1_devs, ARRAY_SIZE(mtx1_devs));
 }