This patch adds code to match gpio_free() to the corresponding gpio_request()
Signed-off-by: In-Bae Jeong <kukya...@gmail.com> --- board/ti/beagle/beagle.c | 41 +++++++++++++++++++++++++++-------------- 1 files changed, 27 insertions(+), 14 deletions(-) diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c index aa5047c..7e6220a 100644 --- a/board/ti/beagle/beagle.c +++ b/board/ti/beagle/beagle.c @@ -115,24 +115,37 @@ int board_init(void) int get_board_revision(void) { int revision; + int error = 0; - if (!gpio_request(171, "") && - !gpio_request(172, "") && - !gpio_request(173, "")) { + if (gpio_request(171, "")) { + error = 171; + goto GPIO_171_ERR; + } + if (gpio_request(172, "")) { + error = 172; + goto GPIO_172_ERR; + } + if (gpio_request(173, "")) { + error = 173; + goto GPIO_173_ERR; + } + + gpio_direction_input(171); + gpio_direction_input(172); + gpio_direction_input(173); - gpio_direction_input(171); - gpio_direction_input(172); - gpio_direction_input(173); + revision = gpio_get_value(173) << 2 | + gpio_get_value(172) << 1 | + gpio_get_value(171); - revision = gpio_get_value(173) << 2 | - gpio_get_value(172) << 1 | - gpio_get_value(171); +GPIO_NO_ERR: gpio_free(173); +GPIO_173_ERR: gpio_free(172); +GPIO_172_ERR: gpio_free(171); +GPIO_171_ERR: - gpio_free(171); - gpio_free(172); - gpio_free(173); - } else { - printf("Error: unable to acquire board revision GPIOs\n"); + if (error) { + printf("Error: Unable to acquire board revision GPIO %i\n", + error); revision = -1; } -- 1.7.3.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot