[PATCH] power: regulator: tps62360_regulator: Convert ofdata_to_platdata to the missing probe

Lokesh Vutla lokeshvutla at ti.com
Fri Jan 10 10:33:58 CET 2020



On 10/01/20 2:52 PM, Keerthy wrote:
> commit 29f7d05a347a ("dm: core: Move ofdata_to_platdata() call earlier")
> introduces changes in the order of device_probe execution.
> ofdata_to_platdata now comes before the probe function which resulted in
> a deadlock and caused boot hang on AM6 devices.
> 
> Deadlock sequence: tps62360_regulator_ofdata_to_platdata --> i2c_get_chip
> --> device_probe(tps62360) --> tps62360_regulator_ofdata_to_platdata
> 
> Hence convert ofdata_to_platdata to the missing probe function to fix the
> hang.
> 
> Fixes: 22e8f18980d6 ("power: regulator: tps6236x: add support for tps6236x regulators")
> Signed-off-by: Keerthy <j-keerthy at ti.com>

Thanks. This fixes boot on AM654 evm:

Tested-by: Lokesh Vutla <lokeshvutla at ti.com>

Thanks and regards,
Lokesh

> ---
>  drivers/power/regulator/tps62360_regulator.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/regulator/tps62360_regulator.c b/drivers/power/regulator/tps62360_regulator.c
> index 3b123f503c..2c076c0db5 100644
> --- a/drivers/power/regulator/tps62360_regulator.c
> +++ b/drivers/power/regulator/tps62360_regulator.c
> @@ -77,7 +77,7 @@ static int tps62360_regulator_get_value(struct udevice *dev)
>  	return (u32)regval * TPS62360_VSEL_STEPSIZE + pdata->config->vmin;
>  }
>  
> -static int tps62360_regulator_ofdata_to_platdata(struct udevice *dev)
> +static int tps62360_regulator_probe(struct udevice *dev)
>  {
>  	struct tps62360_regulator_pdata *pdata = dev_get_platdata(dev);
>  	u8 vsel0;
> @@ -119,5 +119,5 @@ U_BOOT_DRIVER(tps62360_regulator) = {
>  	.ops = &tps62360_regulator_ops,
>  	.of_match = tps62360_regulator_ids,
>  	.platdata_auto_alloc_size = sizeof(struct tps62360_regulator_pdata),
> -	.ofdata_to_platdata = tps62360_regulator_ofdata_to_platdata,
> +	.probe = tps62360_regulator_probe,
>  };
> 


More information about the U-Boot mailing list