[U-Boot] [PATCH v3 1/2] omap: Don't use gpio_free to change direction to input
Joe Hershberger
joe.hershberger at ni.com
Wed Oct 12 22:31:44 CEST 2011
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 at ni.com>
Cc: Joe Hershberger <joe.hershberger at gmail.com>
Cc: Sandeep Paulraj <s-paulraj at ti.com>
---
Changes for v2:
Changes for v3:
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
More information about the U-Boot
mailing list