[PATCH 01/21] of: Add cpu node iterator for_each_of_cpu_node()

Michael Ellerman mpe at ellerman.id.au
Thu Nov 1 21:52:57 AEDT 2018


Rob Herring <robh at kernel.org> writes:
> On Tue, Oct 30, 2018 at 9:20 AM Michael Ellerman <mpe at ellerman.id.au> wrote:
>>
>> Michael Ellerman <mpe at ellerman.id.au> writes:
>> > Hi Rob,
>> >
>> > Sorry I missed this when you posted it.
>> >
>> > Rob Herring <robh at kernel.org> writes:
>> >> Iterating thru cpu nodes is a common pattern. Create a common iterator
>> >> which can find child nodes either by node name or device_type == cpu.
>> >> Using the former will allow for eventually dropping device_type
>> >> properties which are deprecated for FDT.
>> >
>> > Device trees we see on powerpc generally don't (never?) use "cpu" as the
>> > node name for CPU nodes. And many of those device trees come from
>> > firmware, so we can't update them.
>> >
>> > So dropping support for device_type is a non-starter from our POV.
>>
>> ps. presumably that's what you meant by deprecated *for FDT*.
>
> Right.
>
>> But anyway just wanted to make sure we are on the same page.
>
> Yes, I was aware at least older powerpc DTs don't use 'cpu' for node names.

Actually newer ones too, see below :)

And there's code out there that expects this, so we can't realistically
change it any time soon :/

  https://github.com/ibm-power-utilities/powerpc-utils/blob/master/src/drmgr/common_cpu.c#L186
  https://github.com/ibm-power-utilities/powerpc-utils/blob/master/src/ppc64_cpu.c#L344

cheers

$ ls -d1 /proc/device-tree/cpus/PowerPC\,POWER9@*
/proc/device-tree/cpus/PowerPC,POWER9 at 14
/proc/device-tree/cpus/PowerPC,POWER9 at 1c
/proc/device-tree/cpus/PowerPC,POWER9 at 34
/proc/device-tree/cpus/PowerPC,POWER9 at 3c
/proc/device-tree/cpus/PowerPC,POWER9 at 4
/proc/device-tree/cpus/PowerPC,POWER9 at 48
/proc/device-tree/cpus/PowerPC,POWER9 at 54
/proc/device-tree/cpus/PowerPC,POWER9 at 804
/proc/device-tree/cpus/PowerPC,POWER9 at 80c
/proc/device-tree/cpus/PowerPC,POWER9 at 814
/proc/device-tree/cpus/PowerPC,POWER9 at 81c
/proc/device-tree/cpus/PowerPC,POWER9 at 834
/proc/device-tree/cpus/PowerPC,POWER9 at 83c
/proc/device-tree/cpus/PowerPC,POWER9 at 844
/proc/device-tree/cpus/PowerPC,POWER9 at 84c
/proc/device-tree/cpus/PowerPC,POWER9 at c


More information about the Linuxppc-dev mailing list