Message ID | 20210510144925.58195-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v1,1/1] powerpc/prom_init: Move custom isspace() to its own namespace | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (fcc98c6d0289241dded10b74f8198fc4ecb22bd1) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | warning | total: 0 errors, 0 warnings, 6 checks, 36 lines checked |
snowpatch_ozlabs/needsstable | success | Patch has no Fixes tags |
On Mon, May 10, 2021 at 05:49:25PM +0300, Andy Shevchenko wrote: > If by some reason any of the headers will include ctype.h > we will have a name collision. Avoid this by moving isspace() > to the dedicate namespace. > > First appearance of the code is in the commit cf68787b68a2 > ("powerpc/prom_init: Evaluate mem kernel parameter for early allocation"). Any comments on this? > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > arch/powerpc/kernel/prom_init.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c > index 41ed7e33d897..6845cbbc0cd4 100644 > --- a/arch/powerpc/kernel/prom_init.c > +++ b/arch/powerpc/kernel/prom_init.c > @@ -701,13 +701,13 @@ static int __init prom_setprop(phandle node, const char *nodename, > } > > /* We can't use the standard versions because of relocation headaches. */ > -#define isxdigit(c) (('0' <= (c) && (c) <= '9') \ > - || ('a' <= (c) && (c) <= 'f') \ > - || ('A' <= (c) && (c) <= 'F')) > +#define prom_isxdigit(c) (('0' <= (c) && (c) <= '9') \ > + || ('a' <= (c) && (c) <= 'f') \ > + || ('A' <= (c) && (c) <= 'F')) > > -#define isdigit(c) ('0' <= (c) && (c) <= '9') > -#define islower(c) ('a' <= (c) && (c) <= 'z') > -#define toupper(c) (islower(c) ? ((c) - 'a' + 'A') : (c)) > +#define prom_isdigit(c) ('0' <= (c) && (c) <= '9') > +#define prom_islower(c) ('a' <= (c) && (c) <= 'z') > +#define prom_toupper(c) (prom_islower(c) ? ((c) - 'a' + 'A') : (c)) > > static unsigned long prom_strtoul(const char *cp, const char **endp) > { > @@ -716,14 +716,14 @@ static unsigned long prom_strtoul(const char *cp, const char **endp) > if (*cp == '0') { > base = 8; > cp++; > - if (toupper(*cp) == 'X') { > + if (prom_toupper(*cp) == 'X') { > cp++; > base = 16; > } > } > > - while (isxdigit(*cp) && > - (value = isdigit(*cp) ? *cp - '0' : toupper(*cp) - 'A' + 10) < base) { > + while (prom_isxdigit(*cp) && > + (value = prom_isdigit(*cp) ? *cp - '0' : prom_toupper(*cp) - 'A' + 10) < base) { > result = result * base + value; > cp++; > } > -- > 2.30.2 >
Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes: > On Mon, May 10, 2021 at 05:49:25PM +0300, Andy Shevchenko wrote: >> If by some reason any of the headers will include ctype.h >> we will have a name collision. Avoid this by moving isspace() >> to the dedicate namespace. >> >> First appearance of the code is in the commit cf68787b68a2 >> ("powerpc/prom_init: Evaluate mem kernel parameter for early allocation"). > > Any comments on this? Looks fine. Thanks. I just missed it because it came in a bit early, I tend not to pick things up until rc2. I tweaked the formatting of prom_isxdigit() slightly now that we allow 100 column lines. Have put it in my next-test now. cheers >> diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c >> index 41ed7e33d897..6845cbbc0cd4 100644 >> --- a/arch/powerpc/kernel/prom_init.c >> +++ b/arch/powerpc/kernel/prom_init.c >> @@ -701,13 +701,13 @@ static int __init prom_setprop(phandle node, const char *nodename, >> } >> >> /* We can't use the standard versions because of relocation headaches. */ >> -#define isxdigit(c) (('0' <= (c) && (c) <= '9') \ >> - || ('a' <= (c) && (c) <= 'f') \ >> - || ('A' <= (c) && (c) <= 'F')) >> +#define prom_isxdigit(c) (('0' <= (c) && (c) <= '9') \ >> + || ('a' <= (c) && (c) <= 'f') \ >> + || ('A' <= (c) && (c) <= 'F')) >> >> -#define isdigit(c) ('0' <= (c) && (c) <= '9') >> -#define islower(c) ('a' <= (c) && (c) <= 'z') >> -#define toupper(c) (islower(c) ? ((c) - 'a' + 'A') : (c)) >> +#define prom_isdigit(c) ('0' <= (c) && (c) <= '9') >> +#define prom_islower(c) ('a' <= (c) && (c) <= 'z') >> +#define prom_toupper(c) (prom_islower(c) ? ((c) - 'a' + 'A') : (c)) >> >> static unsigned long prom_strtoul(const char *cp, const char **endp) >> { >> @@ -716,14 +716,14 @@ static unsigned long prom_strtoul(const char *cp, const char **endp) >> if (*cp == '0') { >> base = 8; >> cp++; >> - if (toupper(*cp) == 'X') { >> + if (prom_toupper(*cp) == 'X') { >> cp++; >> base = 16; >> } >> } >> >> - while (isxdigit(*cp) && >> - (value = isdigit(*cp) ? *cp - '0' : toupper(*cp) - 'A' + 10) < base) { >> + while (prom_isxdigit(*cp) && >> + (value = prom_isdigit(*cp) ? *cp - '0' : prom_toupper(*cp) - 'A' + 10) < base) { >> result = result * base + value; >> cp++; >> } >> -- >> 2.30.2 >> > > -- > With Best Regards, > Andy Shevchenko
On Mon, 10 May 2021 17:49:25 +0300, Andy Shevchenko wrote: > If by some reason any of the headers will include ctype.h > we will have a name collision. Avoid this by moving isspace() > to the dedicate namespace. > > First appearance of the code is in the commit cf68787b68a2 > ("powerpc/prom_init: Evaluate mem kernel parameter for early allocation"). Applied to powerpc/next. [1/1] powerpc/prom_init: Move custom isspace() to its own namespace https://git.kernel.org/powerpc/c/4cfdd9201cfb85538975f5c8fb83941c3d463ed2 cheers
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 41ed7e33d897..6845cbbc0cd4 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c @@ -701,13 +701,13 @@ static int __init prom_setprop(phandle node, const char *nodename, } /* We can't use the standard versions because of relocation headaches. */ -#define isxdigit(c) (('0' <= (c) && (c) <= '9') \ - || ('a' <= (c) && (c) <= 'f') \ - || ('A' <= (c) && (c) <= 'F')) +#define prom_isxdigit(c) (('0' <= (c) && (c) <= '9') \ + || ('a' <= (c) && (c) <= 'f') \ + || ('A' <= (c) && (c) <= 'F')) -#define isdigit(c) ('0' <= (c) && (c) <= '9') -#define islower(c) ('a' <= (c) && (c) <= 'z') -#define toupper(c) (islower(c) ? ((c) - 'a' + 'A') : (c)) +#define prom_isdigit(c) ('0' <= (c) && (c) <= '9') +#define prom_islower(c) ('a' <= (c) && (c) <= 'z') +#define prom_toupper(c) (prom_islower(c) ? ((c) - 'a' + 'A') : (c)) static unsigned long prom_strtoul(const char *cp, const char **endp) { @@ -716,14 +716,14 @@ static unsigned long prom_strtoul(const char *cp, const char **endp) if (*cp == '0') { base = 8; cp++; - if (toupper(*cp) == 'X') { + if (prom_toupper(*cp) == 'X') { cp++; base = 16; } } - while (isxdigit(*cp) && - (value = isdigit(*cp) ? *cp - '0' : toupper(*cp) - 'A' + 10) < base) { + while (prom_isxdigit(*cp) && + (value = prom_isdigit(*cp) ? *cp - '0' : prom_toupper(*cp) - 'A' + 10) < base) { result = result * base + value; cp++; }
If by some reason any of the headers will include ctype.h we will have a name collision. Avoid this by moving isspace() to the dedicate namespace. First appearance of the code is in the commit cf68787b68a2 ("powerpc/prom_init: Evaluate mem kernel parameter for early allocation"). Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- arch/powerpc/kernel/prom_init.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)