[PATCH v12 3/5] dt, numa: Add NUMA dt binding implementation.

David Daney
2016-02-29T18:13:48Z

On 02/29/2016 09:29 AM, Robert Richter wrote:
> On 22.02.16 17:58:21, David Daney wrote:
>> From: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
>>
>> ADD device tree node parsing for NUMA topology using device
>> "numa-node-id" property distance-map.
>>
>> Reviewed-by: Robert Richter <rrichter@cavium.com>
>> Signed-off-by: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
>> Signed-off-by: David Daney <david.daney@cavium.com>
>> ---
>> drivers/of/Kconfig | 3 +
>> drivers/of/Makefile | 1 +
>> drivers/of/of_numa.c | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++
>> include/linux/of.h | 9 +++
>> 4 files changed, 224 insertions(+)
>> create mode 100644 drivers/of/of_numa.c
>>
>> diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
>> index e2a4841..b3bec3a 100644
>> --- a/drivers/of/Kconfig
>> +++ b/drivers/of/Kconfig
>> @@ -112,4 +112,7 @@ config OF_OVERLAY
>> While this option is selected automatically when needed, you can
>> enable it manually to improve device tree unit test coverage.
>>
>> +config OF_NUMA
>
> In arch/arm64/Kconfig you now need to:
>
> select OF_NUMA if NUMA && OF
>
> This should depend here on OF and NUMA and enabled in that case. Why
> moving that to arch code?

The dependency on of_numa.o is in the architecture specific code, so
that is where the Kconfig select should be too.

For new code, we try to avoid putting architecture specific things into
the core Kconfig files.

Since arm64 is the only architecture that is currently using this, we
don't want to select it for non-arm64 kernels that happen to select NUMA
&& OF.

I will restore the depends, as it is guard against errors in the
architecture specific Kconfig select statements, but I am going to leave
the NUMA && OF in the arm64/Kconfig for clarity.

> This duplicates code as the same needs to be
> implemented for every arch.
>

Better to duplicate a single Kconfig select statement a few times in
architecture specific Kconfig files, than force people to continuously
modify the depends in drivers/of/Kconfig

David.