[U-Boot] [PATCH v3 54/54] power: pmic: Use trailing_strtol() instead of a local function

Simon Glass sjg at chromium.org
Sat Jul 18 01:58:22 CEST 2015


On 1 July 2015 at 03:44, Przemyslaw Marczak <p.marczak at 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 <sjg at 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.marczak at samsung.com>
> Acked-by: Przemyslaw Marczak <p.marczak at samsung.com>
>
> Best regards,
> --
> Przemyslaw Marczak
> Samsung R&D Institute Poland
> Samsung Electronics
> p.marczak at samsung.com

Applied to u-boot-dm.


More information about the U-Boot mailing list