[PATCH v3 2/2] arch: arm: Show the serial number from devicetree in cpuinfo

Rob Herring robherring2 at gmail.com
Mon Apr 27 08:20:17 PDT 2015


On Mon, Apr 27, 2015 at 9:42 AM, Paul Kocialkowski <contact at paulk.fr> wrote:
> Le lundi 27 avril 2015 à 08:48 -0500, Rob Herring a écrit :
>> On Sat, Apr 18, 2015 at 4:58 AM, Paul Kocialkowski <contact at paulk.fr> wrote:
>> > This grabs the serial number shown in cpuinfo from the serial-number devicetree
>> > property in priority. When booting with ATAGs (and without device-tree), the
>> > provided number is still shown instead.
>> >
>> > Signed-off-by: Paul Kocialkowski <contact at paulk.fr>
>>
>> One comment below, otherwise:
>>
>> Acked-by: Rob Herring <robh at kernel.org>
>>
>> > ---
>> >  arch/arm/include/asm/system_info.h |  1 +
>> >  arch/arm/kernel/setup.c            | 27 +++++++++++++++++++++++++--
>> >  2 files changed, 26 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/arch/arm/include/asm/system_info.h b/arch/arm/include/asm/system_info.h
>> > index 720ea03..3860cbd40 100644
>> > --- a/arch/arm/include/asm/system_info.h
>> > +++ b/arch/arm/include/asm/system_info.h
>> > @@ -17,6 +17,7 @@
>> >
>> >  /* information about the system we're running on */
>> >  extern unsigned int system_rev;
>> > +extern const char *system_serial;
>> >  extern unsigned int system_serial_low;
>> >  extern unsigned int system_serial_high;
>> >  extern unsigned int mem_fclk_21285;
>> > diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
>> > index 1d60beb..349790f 100644
>> > --- a/arch/arm/kernel/setup.c
>> > +++ b/arch/arm/kernel/setup.c
>> > @@ -93,6 +93,9 @@ unsigned int __atags_pointer __initdata;
>> >  unsigned int system_rev;
>> >  EXPORT_SYMBOL(system_rev);
>> >
>> > +const char *system_serial;
>> > +EXPORT_SYMBOL(system_serial);
>> > +
>> >  unsigned int system_serial_low;
>> >  EXPORT_SYMBOL(system_serial_low);
>> >
>> > @@ -821,8 +824,29 @@ arch_initcall(customize_machine);
>> >
>> >  static int __init init_machine_late(void)
>> >  {
>> > +#ifdef CONFIG_OF
>> > +       struct device_node *root;
>> > +       int ret;
>> > +#endif
>> > +
>> >         if (machine_desc->init_late)
>> >                 machine_desc->init_late();
>> > +
>> > +#ifdef CONFIG_OF
>>
>> These ifdefs should not be necessary, but please double check.
>
> Well, of_property_read_string is only defined when CONFIG_OF is set
> (base.c is always built in drivers/of but the directory is only included
> when CONFIG_OF is set).

Look at include/linux/of.h. There are an empty versions of both functions.

> Of course, on ARM, we now expect that it is the case, but it seems like
> good practice to check for it, since it could theoretically be disabled.

We still (and will continue to) have non-OF platforms.

> This is also being done a few lines above in customize_machine.

True, but that doesn't mean we want more.

Rob



More information about the linux-arm-kernel mailing list