GPIOF_DIR_OUT and GPIOF_DIR_IN are defined as below: GPIOF_DIR_OUT (0 << 0) GPIOF_DIR_IN (1 << 0) So, when !pdata->reset_inverted is 1, the gpio pin can be set as input, instead of output.
To provent this problem, GPIOF_INIT flag should be used when using devm_gpio_request_one(). Signed-off-by: Jingoo Han <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Richard Purdie <[email protected]> --- drivers/video/backlight/lms283gf05.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/video/backlight/lms283gf05.c b/drivers/video/backlight/lms283gf05.c index d317730..3dc4995 100644 --- a/drivers/video/backlight/lms283gf05.c +++ b/drivers/video/backlight/lms283gf05.c @@ -159,7 +159,8 @@ static int __devinit lms283gf05_probe(struct spi_device *spi) if (pdata != NULL) { ret = devm_gpio_request_one(&spi->dev, pdata->reset_gpio, - GPIOF_DIR_OUT | !pdata->reset_inverted, + GPIOF_DIR_OUT | (!pdata->reset_inverted ? + GPIOF_INIT_HIGH : GPIOF_INIT_LOW), "LMS285GF05 RESET"); if (ret) return ret; -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

