[PATCHv4 3/4] OMAP3: Devkit8000: Check return value of gpio_request

Sergei Shtylyov sshtylyov at mvista.com
Wed Jan 19 07:23:56 EST 2011


Hello.

On 19-01-2011 11:19, Thomas Weber wrote:

> The return value of gpio_request is ignored.
> This patch adds the check of the return value of gpio_request.

> Signed-off-by: Thomas Weber<weber at corscience.de>
> ---
>   arch/arm/mach-omap2/board-devkit8000.c |   16 ++++++++++++++--
>   1 files changed, 14 insertions(+), 2 deletions(-)

> diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
> index 9fb416b..4ddd81c 100644
> --- a/arch/arm/mach-omap2/board-devkit8000.c
> +++ b/arch/arm/mach-omap2/board-devkit8000.c
[...]
> @@ -244,13 +246,23 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
>
>   	/* TWL4030_GPIO_MAX + 0 is "LCD_PWREN" (out, active high) */
>   	devkit8000_lcd_device.reset_gpio = gpio + TWL4030_GPIO_MAX + 0;
> -	gpio_request(devkit8000_lcd_device.reset_gpio, "LCD_PWREN");
> +	ret = gpio_request(devkit8000_lcd_device.reset_gpio, "LCD_PWREN");
> +	if (ret < 0) {
> +		printk(KERN_ERR "Failed to request GPIO for LCD_PWRN\n");
> +		return ret;
> +	}
> +
>   	/* Disable until needed */
>   	gpio_direction_output(devkit8000_lcd_device.reset_gpio, 0);
>
>   	/* gpio + 7 is "DVI_PD" (out, active low) */
>   	devkit8000_dvi_device.reset_gpio = gpio + 7;
> -	gpio_request(devkit8000_dvi_device.reset_gpio, "DVI PowerDown");
> +	ret = gpio_request(devkit8000_dvi_device.reset_gpio, "DVI PowerDown");
> +	if (ret < 0) {
> +		printk(KERN_ERR "Failed to request GPIO for DVI PowerDown\n");

    You forgot to call:

		gpio_free(devkit8000_lcd_device.reset_gpio);

> +		return ret;
> +	}
> +
>   	/* Disable until needed */
>   	gpio_direction_output(devkit8000_dvi_device.reset_gpio, 0);

WBR, Sergei



More information about the linux-arm-kernel mailing list