[PATCH] dm: pmic: ignore disabled node in pmic_bind_children

Patrick DELAUNAY patrick.delaunay at foss.st.com
Fri Dec 9 12:50:42 CET 2022


Hi Jaehoon,

On 10/26/22 15:05, Patrick Delaunay wrote:
> Ignore the disabled children node in pmic_bind_children() so the
> disabled regulators in device tree are not registered.
>
> This patch is based on the dm_scan_fdt_node() code - only the
> activated nodes are bound -  and it solves possible issue when a
> deactivated regulator is bound, error for duplicated regulator name
> for example.
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
> ---
> This patch solves the errors for duplicated regulator names on STM32MP15x
> boards since the alignment with Linux device tree with the commit
> 9157a4ce36b18 ("ARM: dts: stm32: update SCMI dedicated file").
>
> When SCMI is activated in "<board>-scmi.dts" device tree, the 3 regulators
> reg11, reg18, usb33 are duplicated (children of scmi_reguls and of
> pwr_regulators) even if the children of pwr_regulators are deactivated in
> the file arch/arm/dts/stm32mp15-scmi.dtsi.
>
>   drivers/power/pmic/pmic-uclass.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/power/pmic/pmic-uclass.c b/drivers/power/pmic/pmic-uclass.c
> index 5dcf6d8079d2..0e2f5e1f4111 100644
> --- a/drivers/power/pmic/pmic-uclass.c
> +++ b/drivers/power/pmic/pmic-uclass.c
> @@ -39,6 +39,10 @@ int pmic_bind_children(struct udevice *pmic, ofnode parent,
>   		node_name = ofnode_get_name(node);
>   
>   		debug("* Found child node: '%s'\n", node_name);
> +		if (!ofnode_is_enabled(node)) {
> +			debug("  - ignoring disabled device\n");
> +			continue;
> +		}
>   
>   		child = NULL;
>   		for (info = child_info; info->prefix && info->driver; info++) {


Gentle reminder,

it is possible to review have this patch in the next v2023.01 pull request,

or, if you prefere,  I can integrate it in the next stm32 pull request.


Patrick



More information about the U-Boot mailing list