diff options
| author | Tom Rini <trini@konsulko.com> | 2018-10-10 13:35:17 -0400 |
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2018-10-10 13:35:17 -0400 |
| commit | 3d5ced9e22d32112a20f9dc0f5fb1f22ef088079 (patch) | |
| tree | 2c1e1f34c4dad05dfd08bd3687e6aee634c58500 /drivers/video/simple_panel.c | |
| parent | 98068b3be51a77d8b931a2f5097b5c22c57bcea5 (diff) | |
| parent | 41b781ddf1869f5349e05ace888979f3673fe8c6 (diff) | |
Merge tag 'dm-9oct18' of git://git.denx.de/u-boot-dm
Test improvements to tidy up output and drop duplicate tests
Sandbox SPL/TPL support
Various dm-related improvements
Diffstat (limited to 'drivers/video/simple_panel.c')
| -rw-r--r-- | drivers/video/simple_panel.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c index 6c604f9bedb..7a968e740c5 100644 --- a/drivers/video/simple_panel.c +++ b/drivers/video/simple_panel.c @@ -32,6 +32,21 @@ static int simple_panel_enable_backlight(struct udevice *dev) return 0; } +static int simple_panel_set_backlight(struct udevice *dev, int percent) +{ + struct simple_panel_priv *priv = dev_get_priv(dev); + int ret; + + debug("%s: start, backlight = '%s'\n", __func__, priv->backlight->name); + dm_gpio_set_value(&priv->enable, 1); + ret = backlight_set_brightness(priv->backlight, percent); + debug("%s: done, ret = %d\n", __func__, ret); + if (ret) + return ret; + + return 0; +} + static int simple_panel_ofdata_to_platdata(struct udevice *dev) { struct simple_panel_priv *priv = dev_get_priv(dev); @@ -51,7 +66,7 @@ static int simple_panel_ofdata_to_platdata(struct udevice *dev) "backlight", &priv->backlight); if (ret) { debug("%s: Cannot get backlight: ret=%d\n", __func__, ret); - return ret; + return log_ret(ret); } ret = gpio_request_by_name(dev, "enable-gpios", 0, &priv->enable, GPIOD_IS_OUT); @@ -59,7 +74,7 @@ static int simple_panel_ofdata_to_platdata(struct udevice *dev) debug("%s: Warning: cannot get enable GPIO: ret=%d\n", __func__, ret); if (ret != -ENOENT) - return ret; + return log_ret(ret); } return 0; @@ -82,6 +97,7 @@ static int simple_panel_probe(struct udevice *dev) static const struct panel_ops simple_panel_ops = { .enable_backlight = simple_panel_enable_backlight, + .set_backlight = simple_panel_set_backlight, }; static const struct udevice_id simple_panel_ids[] = { |
