That enum adds a "keep" state which permits to tell the driver trough its platform data not to touch the hardware during the probe.
Cc: Richard Purdie <rpur...@rpsys.net> Cc: Jingoo Han <jg1....@samsung.com> Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com> Cc: Rob Herring <rob.herr...@calxeda.com> Cc: Pawel Moll <pawel.m...@arm.com> Cc: Mark Rutland <mark.rutl...@arm.com> Cc: Stephen Warren <swar...@wwwdotorg.org> Cc: Ian Campbell <ijc+devicet...@hellion.org.uk> Cc: devicetree@vger.kernel.org Cc: Sascha Hauer <ker...@pengutronix.de> Cc: linux-arm-ker...@lists.infradead.org Cc: Lothar Waßmann <l...@karo-electronics.de> Cc: Jean-Christophe Plagniol-Villard <plagn...@jcrosoft.com> Cc: Thierry Reding <thierry.red...@gmail.com> Cc: Eric Bénard <e...@eukrea.com> Signed-off-by: Denis Carikli <de...@eukrea.com> --- ChangeLog v5->v6: - New patch. --- drivers/video/backlight/gpio_backlight.c | 7 +++++-- include/linux/platform_data/gpio_backlight.h | 6 ++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c index 81fb127..6ddeba9 100644 --- a/drivers/video/backlight/gpio_backlight.c +++ b/drivers/video/backlight/gpio_backlight.c @@ -23,6 +23,7 @@ struct gpio_backlight { int gpio; int active; + enum gpio_backlight_default_state def_value; }; static int gpio_backlight_update_status(struct backlight_device *bl) @@ -103,8 +104,10 @@ static int gpio_backlight_probe(struct platform_device *pdev) return PTR_ERR(bl); } - bl->props.brightness = pdata->def_value; - backlight_update_status(bl); + if (pdata->def_value != BACKLIGHT_GPIO_DEFSTATE_KEEP) { + bl->props.brightness = pdata->def_value; + backlight_update_status(bl); + } platform_set_drvdata(pdev, bl); return 0; diff --git a/include/linux/platform_data/gpio_backlight.h b/include/linux/platform_data/gpio_backlight.h index 5ae0d9c..3b437b3 100644 --- a/include/linux/platform_data/gpio_backlight.h +++ b/include/linux/platform_data/gpio_backlight.h @@ -10,6 +10,12 @@ struct device; +enum gpio_backlight_default_state { + BACKLIGHT_GPIO_DEFSTATE_OFF, + BACKLIGHT_GPIO_DEFSTATE_ON, + BACKLIGHT_GPIO_DEFSTATE_KEEP, +}; + struct gpio_backlight_platform_data { struct device *fbdev; int gpio; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html