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/

Reply via email to