diff mbox

[U-Boot,2/3] gpio_led: check gpio_request() return value

Message ID 1383865432-21801-3-git-send-email-grinberg@compulab.co.il
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Igor Grinberg Nov. 7, 2013, 11:03 p.m. UTC
Add a check for the gpio_request() function return value and do not try
to configure the GPIO if the gpio_request() call fails.
Also, print an error message indicating the gpio_request() has failed.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 drivers/misc/gpio_led.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Igor Grinberg Nov. 10, 2013, 3:27 p.m. UTC | #1
On 11/08/13 01:03, Igor Grinberg wrote:
> Add a check for the gpio_request() function return value and do not try
> to configure the GPIO if the gpio_request() call fails.
> Also, print an error message indicating the gpio_request() has failed.
> 
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>

Tested-by: Ilya Ledvich <ilya@compulab.co.il>

> ---
>  drivers/misc/gpio_led.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/misc/gpio_led.c b/drivers/misc/gpio_led.c
> index 3fedddc..de20419 100644
> --- a/drivers/misc/gpio_led.c
> +++ b/drivers/misc/gpio_led.c
> @@ -11,7 +11,11 @@
>  
>  void __led_init(led_id_t mask, int state)
>  {
> -	gpio_request(mask, "gpio_led");
> +	if (gpio_request(mask, "gpio_led") != 0) {
> +		printf("%s: failed requesting GPIO%lu!\n", __func__, mask);
> +		return;
> +	}
> +
>  	gpio_direction_output(mask, state == STATUS_LED_ON);
>  }
>  
>
Tom Rini Nov. 25, 2013, 9:56 p.m. UTC | #2
On Fri, Nov 08, 2013 at 01:03:51AM +0200, Igor Grinberg wrote:
> Add a check for the gpio_request() function return value and do not try
> to configure the GPIO if the gpio_request() call fails.
> Also, print an error message indicating the gpio_request() has failed.
> 
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> Tested-by: Ilya Ledvich <ilya@compulab.co.il>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/drivers/misc/gpio_led.c b/drivers/misc/gpio_led.c
index 3fedddc..de20419 100644
--- a/drivers/misc/gpio_led.c
+++ b/drivers/misc/gpio_led.c
@@ -11,7 +11,11 @@ 
 
 void __led_init(led_id_t mask, int state)
 {
-	gpio_request(mask, "gpio_led");
+	if (gpio_request(mask, "gpio_led") != 0) {
+		printf("%s: failed requesting GPIO%lu!\n", __func__, mask);
+		return;
+	}
+
 	gpio_direction_output(mask, state == STATUS_LED_ON);
 }