Hello Simon, On 12.10.2017 04:07, Simon Glass wrote: > Hi Felix, > > On 9 October 2017 at 03:04, Felix Brack <f...@ltec.ch> wrote: >> >> This patch extends pmic_bind_children prefix matching. In addition to >> the node name the property regulator-name is used while trying to match >> prefixes. This allows assigning different drivers to regulator nodes >> named regulator@1 and regulator@10 for example. >> Signed-off-by: Felix Brack <f...@ltec.ch> >> --- >> >> drivers/power/pmic/pmic-uclass.c | 15 +++++++++++++-- >> 1 file changed, 13 insertions(+), 2 deletions(-) > > Can you please add a sandbox test and documentation for this? > I just forgot to extend the documentation. I will do so of course as soon as the node property for matching has been fixed.
I think the test itself does already exist (test/dm/regulator.c). I will have to add a regulator to arch/sandbox/dts/sandbox_pmic.dtsi. This regulator will have a node name prefix other then 'buck' or 'ldo' for my code to do the matching. Some other files will also need modifications for the test to work correctly. > See: > > test/dm/pmic.c > doc/driver-model/pmic-framework.txt > >> >> diff --git a/drivers/power/pmic/pmic-uclass.c >> b/drivers/power/pmic/pmic-uclass.c >> index 64964e4..5a034f0 100644 >> --- a/drivers/power/pmic/pmic-uclass.c >> +++ b/drivers/power/pmic/pmic-uclass.c >> @@ -26,6 +26,7 @@ int pmic_bind_children(struct udevice *pmic, ofnode parent, >> struct driver *drv; >> struct udevice *child; >> const char *node_name; >> + const char *reg_name; >> int bind_count = 0; >> ofnode node; >> int prefix_len; >> @@ -44,8 +45,18 @@ int pmic_bind_children(struct udevice *pmic, ofnode >> parent, >> debug(" - compatible prefix: '%s'\n", info->prefix); >> >> prefix_len = strlen(info->prefix); >> - if (strncmp(info->prefix, node_name, prefix_len)) >> - continue; >> + if (strncmp(info->prefix, node_name, prefix_len)) { >> + reg_name = ofnode_read_string(node, >> + >> "regulator-name"); >> + if (reg_name) { >> + if (strncmp(info->prefix, reg_name, >> + prefix_len)) { >> + continue; >> + } >> + } else { >> + continue; >> + } >> + } >> >> drv = lists_driver_lookup_name(info->driver); >> if (!drv) { >> -- >> 2.7.4 >> > > Regards, > Simon > regards, Felix _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot