Re: [PATCH 1/9] stringify: add HEX_STRING()

From: Randy Dunlap
Date: Wed Jul 13 2011 - 18:08:46 EST


On Wed, 13 Jul 2011 18:06:15 -0400 Arnaud Lacombe wrote:

> Hi,
>
> On Wed, Jul 13, 2011 at 6:00 PM, Randy Dunlap <rdunlap@xxxxxxxxxxxx> wrote:
> > On Wed, 13 Jul 2011 17:49:48 -0400 Arnaud Lacombe wrote:
> >
> >> Hi,
> >>
> >> On Sun, Jul 10, 2011 at 3:51 PM, Randy Dunlap <rdunlap@xxxxxxxxxxxx> wrote:
> >> > From: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
> >> >
> >> > Add HEX_STRING(value) to stringify.h so that drivers can
> >> > convert kconfig hex values (without leading "0x") to useful
> >> > hex constants.
> >> >
> >> > Several drivers/media/radio/ drivers need this.  I haven't
> >> > checked if any other drivers need to do this.
> >> >
> >> > Alternatively, kconfig could produce hex config symbols with
> >> > leading "0x".
> >> >
> >> Actually, I used to have a patch to make hex value have a mandatory
> >> "0x" prefix, in the Kconfig. I even fixed all the issue in the tree,
> >> it never make it to the tree (not sure why). Here's the relevant
> >> thread:
> >>
> >> https://patchwork.kernel.org/patch/380591/
> >> https://patchwork.kernel.org/patch/380621/
> >> https://patchwork.kernel.org/patch/380601/
> >>
> >
> > I prefer that this be fixed in kconfig, so long as it won't cause
> > any other issues.  That's why I mentioned it.
> >
> >>
> >> > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
> >> > ---
> >> >  include/linux/stringify.h |    7 +++++++
> >> >  1 file changed, 7 insertions(+)
> >> >
> >> > NOTE: The other 8 patches are on lkml and linux-media mailing lists.
> >> >
> >> > --- linux-next-20110707.orig/include/linux/stringify.h
> >> > +++ linux-next-20110707/include/linux/stringify.h
> >> > @@ -9,4 +9,11 @@
> >> >  #define __stringify_1(x...)    #x
> >> >  #define __stringify(x...)      __stringify_1(x)
> >> >
> >> > +/*
> >> > + * HEX_STRING(value) is useful for CONFIG_ values that are in hex,
> >> > + * but kconfig does not put a leading "0x" on them.
> >> > + */
> >> > +#define HEXSTRINGVALUE(h, value)       h##value
> >> > +#define HEX_STRING(value)              HEXSTRINGVALUE(0x, value)
> >> > +
> >> that seems hackish...
> >
> > It's a common idiom for concatenating strings in the kernel.
> >
> I meant hackish not because *how* it is done, but because *why* it has
> to be done, that is, because the Kconfig miss the prefix, which is
> really no big deal.
>
> > How would you do it without (instead of) a kconfig fix/patch?
> >
> have the Kconfig use the "0x" prefix since the beginning.


Sure, go for it. I'll ack it. ;) [or Review it :]
and test it.

thanks,
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/