On 1 July 2015 at 03:44, Przemyslaw Marczak <p.marc...@samsung.com> wrote: > Hello Simon, > > On 06/23/2015 11:39 PM, Simon Glass wrote: >> >> Use the common function to obtain the number from the end of the string, >> instead of a local function. Also tweak the position of a debug() >> statement. >> >> Signed-off-by: Simon Glass <s...@chromium.org> >> >> --- >> >> Changes in v3: >> - Split this series apart from the Rockchip series >> >> Changes in v2: None >> >> drivers/power/pmic/pmic-uclass.c | 23 +++++------------------ >> 1 file changed, 5 insertions(+), 18 deletions(-) >> >> diff --git a/drivers/power/pmic/pmic-uclass.c >> b/drivers/power/pmic/pmic-uclass.c >> index dbab3e3..d99cb9a 100644 >> --- a/drivers/power/pmic/pmic-uclass.c >> +++ b/drivers/power/pmic/pmic-uclass.c >> @@ -9,6 +9,7 @@ >> #include <fdtdec.h> >> #include <errno.h> >> #include <dm.h> >> +#include <vsprintf.h> >> #include <dm/lists.h> >> #include <dm/device-internal.h> >> #include <dm/uclass-internal.h> >> @@ -17,16 +18,6 @@ >> >> DECLARE_GLOBAL_DATA_PTR; >> >> -static ulong str_get_num(const char *ptr, const char *maxptr) >> -{ >> - if (!ptr || !maxptr) >> - return 0; >> - >> - while (!isdigit(*ptr) && ptr++ < maxptr); >> - >> - return simple_strtoul(ptr, NULL, 0); >> -} >> - >> int pmic_bind_children(struct udevice *pmic, int offset, >> const struct pmic_child_info *child_info) >> { >> @@ -35,7 +26,6 @@ int pmic_bind_children(struct udevice *pmic, int offset, >> struct driver *drv; >> struct udevice *child; >> const char *node_name; >> - int node_name_len; >> int bind_count = 0; >> int node; >> int prefix_len; >> @@ -47,19 +37,19 @@ int pmic_bind_children(struct udevice *pmic, int >> offset, >> for (node = fdt_first_subnode(blob, offset); >> node > 0; >> node = fdt_next_subnode(blob, node)) { >> - node_name = fdt_get_name(blob, node, &node_name_len); >> + node_name = fdt_get_name(blob, node, NULL); >> >> debug("* Found child node: '%s' at offset:%d\n", >> node_name, >> node); >> >> child = NULL; >> for (info = child_info; info->prefix && info->driver; >> info++) { >> + debug(" - compatible prefix: '%s'\n", >> info->prefix); >> + >> prefix_len = strlen(info->prefix); >> if (strncmp(info->prefix, node_name, prefix_len)) >> continue; >> >> - debug(" - compatible prefix: '%s'\n", >> info->prefix); >> - >> drv = lists_driver_lookup_name(info->driver); >> if (!drv) { >> debug(" - driver: '%s' not found!\n", >> @@ -78,10 +68,7 @@ int pmic_bind_children(struct udevice *pmic, int >> offset, >> >> debug(" - bound child device: '%s'\n", >> child->name); >> >> - child->driver_data = str_get_num(node_name + >> - prefix_len, >> - node_name + >> - node_name_len); >> + child->driver_data = trailing_strtol(node_name); >> >> debug(" - set 'child->driver_data': %lu\n", >> child->driver_data); >> > > Tested on: > - Odroid U3 (odroid_defconfig) > - Sandbox - ut pmic/regulator > > Tested-by: Przemyslaw Marczak <p.marc...@samsung.com> > Acked-by: Przemyslaw Marczak <p.marc...@samsung.com> > > Best regards, > -- > Przemyslaw Marczak > Samsung R&D Institute Poland > Samsung Electronics > p.marc...@samsung.com
Applied to u-boot-dm. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot