From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Wed, 01 Jul 2015 11:44:38 +0200 Subject: [U-Boot] [PATCH v3 54/54] power: pmic: Use trailing_strtol() instead of a local function In-Reply-To: <1435095556-15924-55-git-send-email-sjg@chromium.org> References: <1435095556-15924-1-git-send-email-sjg@chromium.org> <1435095556-15924-55-git-send-email-sjg@chromium.org> Message-ID: <5593B686.3020807@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > > 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 > #include > #include > +#include > #include > #include > #include > @@ -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 Acked-by: Przemyslaw Marczak Best regards, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com