On Tue, Jan 25, 2011 at 10:18, Hiremath, Vaibhav <hvaibhav@xxxxxx> wrote: > >> -----Original Message----- >> From: Semwal, Sumit >> Sent: Tuesday, January 25, 2011 8:05 AM >> To: Hiremath, Vaibhav >> Cc: linux-omap@xxxxxxxxxxxxxxx; tony@xxxxxxxxxxx; tomi.valkeinen@xxxxxxxxx >> Subject: Re: [PATCH-V2] OMAP3EVM: Made backlight GPIO default state to off >> >> Vaibhav, >> >> On Tue, Jan 25, 2011 at 12:52 AM, Vaibhav Hiremath <hvaibhav@xxxxxx> >> wrote: >> > If you choose default output to DVI, the LCD backlight used to >> > stay on, since panel->disable function never gets called. >> > >> > So, during init put backlight GPIO to off state and the driver >> > code will decide which output to enable. >> > >> > Signed-off-by: Vaibhav Hiremath <hvaibhav@xxxxxx> >> > --- >> > Changes from V1 - >> > - Added check for return value >> > >> > arch/arm/mach-omap2/board-omap3evm.c | 15 +++++++++++++-- >> > 1 files changed, 13 insertions(+), 2 deletions(-) >> > >> > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach- >> omap2/board-omap3evm.c >> > index 7119380..a888a7d 100644 >> > --- a/arch/arm/mach-omap2/board-omap3evm.c >> > +++ b/arch/arm/mach-omap2/board-omap3evm.c >> > @@ -411,6 +411,8 @@ static struct platform_device leds_gpio = { >> > static int omap3evm_twl_gpio_setup(struct device *dev, >> > unsigned gpio, unsigned ngpio) >> > { >> > + int r; >> > + >> > /* gpio + 0 is "mmc0_cd" (input/IRQ) */ >> > omap_mux_init_gpio(63, OMAP_PIN_INPUT); >> > mmc[0].gpio_cd = gpio + 0; >> > @@ -426,8 +428,17 @@ static int omap3evm_twl_gpio_setup(struct device >> *dev, >> > */ >> > >> > /* TWL4030_GPIO_MAX + 0 == ledA, LCD Backlight control */ >> > - gpio_request(gpio + TWL4030_GPIO_MAX, "EN_LCD_BKL"); >> > - gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); >> > + r = gpio_request(gpio + TWL4030_GPIO_MAX, "EN_LCD_BKL"); >> > + if (r) >> > + printk(KERN_ERR "failed to get lcd_bkl gpio\n"); >> So even if the gpio_request fails, this code prints an error and >> continues? > [Hiremath, Vaibhav] yes, that's correct and intended. As pointed out by Sumit, you should not continue modifying the direction of a gpio whose request failed (may be some other module is using this gpio)? Please mention why this is intentionally done so. > > Thanks, > Vaibhav >> > + >> > + if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) >> > + r = gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); >> > + else >> > + r = gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); >> > + >> > + if (r) >> > + printk(KERN_ERR "failed to set direction of lcd_bkl >> gpio\n"); >> > >> > /* gpio + 7 == DVI Enable */ >> > gpio_request(gpio + 7, "EN_DVI"); >> > -- >> > 1.6.2.4 >> > >> > -- >> > To unsubscribe from this list: send the line "unsubscribe linux-omap" in >> > the body of a message to majordomo@xxxxxxxxxxxxxxx >> > More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html