- updates for pwm_backlight, simple_panel and tegra20 to keep

fixed/gpio regulator counter in balance
 -----BEGIN PGP SIGNATURE-----
 
 iGwEABECACwWIQSC4hxrSoIUVfFO0kRM6ATMmsalXAUCZTY2dA4cYWd1c3RAZGVu
 eC5kZQAKCRBM6ATMmsalXDi0AJ0aJC4GlmmHtbmzBJdarGrb72zBtgCdGbzQaNj6
 88xzVixBqtJPbJXGxKg=
 =yCjQ
 -----END PGP SIGNATURE-----

Merge tag 'video-20231022' of https://source.denx.de/u-boot/custodians/u-boot-video

 - updates for pwm_backlight, simple_panel and tegra20 to keep
   fixed/gpio regulator counter in balance
This commit is contained in:
Tom Rini 2023-10-23 09:04:40 -04:00
commit c51f2ea726
3 changed files with 14 additions and 17 deletions

View File

@ -100,8 +100,8 @@ static int enable_sequence(struct udevice *dev, int seq)
plat = dev_get_uclass_plat(priv->reg);
log_debug("Enable '%s', regulator '%s'/'%s'\n",
dev->name, priv->reg->name, plat->name);
ret = regulator_set_enable(priv->reg, true);
if (ret) {
ret = regulator_set_enable_if_allowed(priv->reg, true);
if (ret && ret != -ENOSYS) {
log_debug("Cannot enable regulator for PWM '%s'\n",
dev->name);
return log_ret(ret);
@ -181,11 +181,10 @@ static int pwm_backlight_set_brightness(struct udevice *dev, int percent)
}
if (disable) {
dm_gpio_set_value(&priv->enable, 0);
if (priv->reg) {
ret = regulator_set_enable(priv->reg, false);
if (ret)
return log_ret(ret);
}
ret = regulator_set_enable_if_allowed(priv->reg, false);
if (ret && ret != -ENOSYS)
return log_ret(ret);
priv->enabled = false;
}

View File

@ -114,11 +114,11 @@ static int simple_panel_probe(struct udevice *dev)
const u32 dsi_data = dev_get_driver_data(dev);
int ret;
if (CONFIG_IS_ENABLED(DM_REGULATOR) && priv->reg) {
debug("%s: Enable regulator '%s'\n", __func__, priv->reg->name);
ret = regulator_set_enable(priv->reg, true);
if (ret)
return ret;
ret = regulator_set_enable_if_allowed(priv->reg, true);
if (ret && ret != -ENOSYS) {
debug("%s: failed to enable regulator '%s' %d\n",
__func__, priv->reg->name, ret);
return ret;
}
switch (dsi_data) {

View File

@ -831,11 +831,9 @@ static int tegra_dsi_bridge_probe(struct udevice *dev)
tegra_dsi_get_format(device->format, &priv->format);
if (priv->avdd) {
ret = regulator_set_enable(priv->avdd, true);
if (ret)
return ret;
}
ret = regulator_set_enable_if_allowed(priv->avdd, true);
if (ret && ret != -ENOSYS)
return ret;
tegra_dsi_init_clocks(dev);