[PATCHv4 3/4] OMAP3: Devkit8000: Check return value of gpio_request
Thomas Weber
weber at corscience.de
Thu Jan 20 03:46:12 EST 2011
Hello,
Am 19.01.2011 13:23, schrieb Sergei Shtylyov:
> 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);
>
Couldn't I use lcd without dvi?
And shouldn't the gpio then be set to -EINVAL for the gpio_is_valid()
check in enable_lcd()/disable_lcd() and enable_dvi()/disable_dvi()?
Thomas
>> + 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