omap: Don't use gpio_free to change direction to input
authorJoe Hershberger <joe.hershberger@ni.com>
Wed, 12 Oct 2011 10:31:44 +0000 (10:31 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Thu, 27 Oct 2011 19:56:35 +0000 (21:56 +0200)
gpio_free() should not have the side effect of setting the line to input since this prevents the gpio command from being able to set a line as output.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
arch/arm/cpu/armv7/omap-common/gpio.c
board/logicpd/zoom2/debug_board.c
board/logicpd/zoom2/zoom2.c
board/overo/overo.c
board/ti/beagle/beagle.c

index e62c6f4eb59bb41b4f9c609f60290d390d1abafd..75a02da877d9bb367c1c3d1afc418a66acb00260 100644 (file)
@@ -237,11 +237,4 @@ int gpio_request(int gpio, const char *label)
  */
 void gpio_free(unsigned gpio)
 {
-       const struct gpio_bank *bank;
-
-       if (check_gpio(gpio) < 0)
-               return;
-       bank = get_gpio_bank(gpio);
-
-       _set_gpio_direction(bank, get_gpio_index(gpio), 1);
 }
index 33aa6001bc6b9d33c1beeba0f75c1d92150229f8..071e7f98e2238c1c721a6b194eae8ee20da2502d 100644 (file)
@@ -40,7 +40,6 @@ static void zoom2_debug_board_detect (void)
                 */
                gpio_direction_input(158);
                val = gpio_get_value(158);
-               gpio_free(158);
        }
 
        if (!val)
index 21964c24055420680ea6a509af9431be0b91f8ce..be3083d9c339f52de0399d7eb0518bc89e7f1b18 100644 (file)
@@ -95,7 +95,6 @@ void zoom2_identify(void)
 
                gpio_direction_input(94);
                val = gpio_get_value(94);
-               gpio_free(94);
 
                if (val)
                        revision = ZOOM2_REVISION_BETA;
index 2f9eba6383ee019b34c2be6983d50854d4833e36..3c60b06ae75e25b27b6c34df7073eac5e4bd6d85 100644 (file)
@@ -118,10 +118,6 @@ int get_board_revision(void)
                revision = gpio_get_value(115) << 2 |
                           gpio_get_value(113) << 1 |
                           gpio_get_value(112);
-
-               gpio_free(112);
-               gpio_free(113);
-               gpio_free(115);
        } else {
                printf("Error: unable to acquire board revision GPIOs\n");
                revision = -1;
@@ -153,8 +149,7 @@ int get_sdio2_config(void)
                                sdio_direct = 0;
                }
 
-               gpio_free(130);
-               gpio_free(139);
+               gpio_direction_input(130);
        } else {
                printf("Error: unable to acquire sdio2 clk GPIOs\n");
                sdio_direct = -1;
index aa5047c669755eb60c78ebcf643d3fbc48493a19..9482c5eac74d7d7622b95b14875f6368475fde55 100644 (file)
@@ -127,10 +127,6 @@ int get_board_revision(void)
                revision = gpio_get_value(173) << 2 |
                           gpio_get_value(172) << 1 |
                           gpio_get_value(171);
-
-               gpio_free(171);
-               gpio_free(172);
-               gpio_free(173);
        } else {
                printf("Error: unable to acquire board revision GPIOs\n");
                revision = -1;
@@ -522,8 +518,6 @@ int do_userbutton(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                printf("NOT pressed.\n");
        }
 
-       gpio_free(gpio);
-
        return !button;
 }