[RFC 2/2] Revert "dm: core: device: switch off power domain after device removal"

Lokesh Vutla lokeshvutla at ti.com
Fri Feb 14 05:20:54 CET 2020



On 13/02/20 10:42 PM, Neil Armstrong wrote:
> Hi,
> 
> On 03/02/2020 14:59, Oliver Graute wrote:
>> The conga-imx8 board isn't booting without this revert. Can someone tell me
>> what I need to Do so that this revert is not necessary?

Can you give more details on where the failure is happening?(logs would really
help).

>>
>> This reverts commit 52edfed65de967a86983a55c51ba0727090efc43.
>> ---
>>  drivers/core/device-remove.c | 5 -----
>>  1 file changed, 5 deletions(-)
>>
>> diff --git a/drivers/core/device-remove.c b/drivers/core/device-remove.c
>> index 5c8dc4ad70..586fadee0a 100644
>> --- a/drivers/core/device-remove.c
>> +++ b/drivers/core/device-remove.c
>> @@ -16,7 +16,6 @@
>>  #include <dm/uclass.h>
>>  #include <dm/uclass-internal.h>
>>  #include <dm/util.h>
>> -#include <power-domain.h>
>>  
>>  int device_chld_unbind(struct udevice *dev, struct driver *drv)
>>  {
>> @@ -193,10 +192,6 @@ int device_remove(struct udevice *dev, uint flags)
>>  		}
>>  	}
>>  
>> -	if (!(drv->flags & DM_FLAG_DEFAULT_PD_CTRL_OFF) &&
>> -	    (dev != gd->cur_serial_dev))
>> -		dev_power_domain_off(dev);
>> -
>>  	if (flags_remove(flags, drv->flags)) {
>>  		device_free(dev);
>>  
>>
> 
> It also breaks amlogic boards with video, since we can't tell we want
> to keep the power domains up after boot, it cuts the power domains and
> thus defeats all the goal of u-boot video..
> The problem is DM_FLAG_DEFAULT_PD_CTRL_OFF disables auto power domain on
> aswell, reverting to manual power domain enable.

This doesn't mean U-boot must leave the all power-domains un handled before
jumping to kernel. Please use DM_FLAG_DEFAULT_PD_CTRL_OFF in you driver and
enable power_domain in your probe. Your case is exactly the reason why
DM_FLAG_DEFAULT_PD_CTRL_OFF is introduced.

Thanks and regards,
Lokesh


More information about the U-Boot mailing list