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.hershber...@ni.com>
Cc: Joe Hershberger <joe.hershber...@gmail.com>
Cc: Sandeep Paulraj <s-paul...@ti.com>
---
Changes for v2:

 arch/arm/cpu/armv7/omap-common/gpio.c |    7 -------
 board/logicpd/zoom2/debug_board.c     |    1 -
 board/logicpd/zoom2/zoom2.c           |    1 -
 board/overo/overo.c                   |    7 +------
 board/ti/beagle/beagle.c              |    6 ------
 5 files changed, 1 insertions(+), 21 deletions(-)

diff --git a/arch/arm/cpu/armv7/omap-common/gpio.c 
b/arch/arm/cpu/armv7/omap-common/gpio.c
index e62c6f4..75a02da 100644
--- a/arch/arm/cpu/armv7/omap-common/gpio.c
+++ b/arch/arm/cpu/armv7/omap-common/gpio.c
@@ -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);
 }
diff --git a/board/logicpd/zoom2/debug_board.c 
b/board/logicpd/zoom2/debug_board.c
index 33aa600..071e7f9 100644
--- a/board/logicpd/zoom2/debug_board.c
+++ b/board/logicpd/zoom2/debug_board.c
@@ -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)
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index 21964c2..be3083d 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -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;
diff --git a/board/overo/overo.c b/board/overo/overo.c
index 850dfee..bdbd7f3 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -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;
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index aa5047c..9482c5e 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -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;
 }
 
-- 
1.6.0.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to