From 5349e255ff913971d8b812eb363da62eace169bc Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Mon, 17 Feb 2020 12:36:43 +0100 Subject: dm: core: Add a flag for power domain control on device removal In various cases a power domain must stay enabled after device removal when booting OS (i.e. serial debug console or display). Add a flag to selectively skip switching off a power domain. Fixes: 52edfed65de9 ("dm: core: device: switch off power domain after device removal") Signed-off-by: Anatolij Gustschin Acked-by: Neil Armstrong Tested-by: Guillaume La Roque Reviewed-by: Simon Glass --- drivers/core/device-remove.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/core/device-remove.c b/drivers/core/device-remove.c index 444e34b4921..ff5b28cb6a7 100644 --- a/drivers/core/device-remove.c +++ b/drivers/core/device-remove.c @@ -194,8 +194,9 @@ int device_remove(struct udevice *dev, uint flags) } } - if (!(drv->flags & DM_FLAG_DEFAULT_PD_CTRL_OFF) && - (dev != gd->cur_serial_dev)) + if (!(drv->flags & + (DM_FLAG_DEFAULT_PD_CTRL_OFF | DM_FLAG_REMOVE_WITH_PD_ON)) && + dev != gd->cur_serial_dev) dev_power_domain_off(dev); if (flags_remove(flags, drv->flags)) { -- cgit v1.3.1 From 9aa886cc0b4424b49b24486f804fd18aafad00b2 Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Mon, 17 Feb 2020 12:36:44 +0100 Subject: video: meson: keep power domain up after booting Add driver flag to skip power domain disabling on device removal. Fixes: 52edfed65de9 ("dm: core: device: switch off power domain after device removal") Signed-off-by: Anatolij Gustschin Acked-by: Neil Armstrong Tested-by: Guillaume La Roque --- drivers/video/meson/meson_vpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/video/meson/meson_vpu.c b/drivers/video/meson/meson_vpu.c index 4eb66398d09..aa8c0a962fa 100644 --- a/drivers/video/meson/meson_vpu.c +++ b/drivers/video/meson/meson_vpu.c @@ -210,5 +210,5 @@ U_BOOT_DRIVER(meson_vpu) = { .probe = meson_vpu_probe, .bind = meson_vpu_bind, .priv_auto_alloc_size = sizeof(struct meson_vpu_priv), - .flags = DM_FLAG_PRE_RELOC, + .flags = DM_FLAG_PRE_RELOC | DM_FLAG_REMOVE_WITH_PD_ON, }; -- cgit v1.3.1