Re: [GIT PULL] DT/core: cpu_ofnode updates for v3.12

From: Sudeep KarkadaNagesha
Date: Tue Aug 13 2013 - 11:40:04 EST


Adding PowerPC list

On 13/08/13 14:00, Rafael J. Wysocki wrote:
> On Monday, August 12, 2013 02:27:47 PM Sudeep KarkadaNagesha wrote:
>> The following changes since commit
>> d4e4ab86bcba5a72779c43dc1459f71fea3d89c8:
>>
>> Linux 3.11-rc5 (2013-08-11 18:04:20 -0700)
>>
>> are available in the git repository at:
>>
>> git://linux-arm.org/linux-skn.git cpu_of_node
>>
>> for you to fetch changes up to
>> 9e9e26dde91f22635c87d0e45f3938b5ded96f0d:
>>
>> cpufreq: pmac32-cpufreq: remove device tree parsing for cpu nodes
>> (2013-08-12 10:22:29 +0100)
>>
>> ----------------------------------------------------------------
>> Sudeep KarkadaNagesha (16): of: add support for retrieving cpu node
>> for a given logical cpu index ARM: DT/kernel: define ARM specific
>> arch_match_cpu_phys_id driver/core: cpu: initialize of_node in
>> cpu's device struture of/device: add helper to get cpu device node
>> from logical cpu index ARM: topology: remove hwid/MPIDR dependency
>> from cpu_capacity ARM: mvebu: remove device tree parsing for cpu
>> nodes drivers/bus: arm-cci: avoid parsing DT for cpu device nodes
>> cpufreq: imx6q-cpufreq: remove device tree parsing for cpu nodes
>> cpufreq: cpufreq-cpu0: remove device tree parsing for cpu nodes
>> cpufreq: highbank-cpufreq: remove device tree parsing for cpu
>> nodes cpufreq: spear-cpufreq: remove device tree parsing for cpu
>> nodes cpufreq: kirkwood-cpufreq: remove device tree parsing for cpu
>> nodes cpufreq: arm_big_little: remove device tree parsing for cpu
>> nodes cpufreq: maple-cpufreq: remove device tree parsing for cpu
>> nodes cpufreq: pmac64-cpufreq: remove device tree parsing for cpu
>> nodes cpufreq: pmac32-cpufreq: remove device tree parsing for cpu
>> nodes
>>
>> arch/arm/kernel/devtree.c | 5 +++++
>> arch/arm/kernel/topology.c | 61
>> +++++++++++++++++++------------------------------------------
>> arch/arm/mach-imx/mach-imx6q.c | 3 +--
>> arch/arm/mach-mvebu/platsmp.c | 52
>> ++++++++++++++++++++++++----------------------------
>> drivers/base/cpu.c | 2 ++ drivers/bus/arm-cci.c
>> | 28 +++++++---------------------
>> drivers/cpufreq/arm_big_little_dt.c | 40
>> ++++++++++++++--------------------------
>> drivers/cpufreq/cpufreq-cpu0.c | 23 ++++-------------------
>> drivers/cpufreq/highbank-cpufreq.c | 18 ++++++------------
>> drivers/cpufreq/imx6q-cpufreq.c | 4 +---
>> drivers/cpufreq/kirkwood-cpufreq.c | 8 +++++---
>> drivers/cpufreq/maple-cpufreq.c | 23 +++--------------------
>> drivers/cpufreq/pmac32-cpufreq.c | 5 +++--
>> drivers/cpufreq/pmac64-cpufreq.c | 47
>> +++++++++++------------------------------------
>> drivers/cpufreq/spear-cpufreq.c | 4 ++-- drivers/of/base.c
>> | 73
>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>
>>
include/linux/cpu.h | 1 +
>> include/linux/of.h | 6 ++++++
>> include/linux/of_device.h | 15 +++++++++++++++ 19 files
>> changed, 202 insertions(+), 216 deletions(-)
>>
>>
>> PS: This patch series is reviewed and acknowledged @
>>
>> v1: https://lkml.org/lkml/2013/7/15/128 v2:
>> https://lkml.org/lkml/2013/7/17/341 v3:
>> https://lkml.org/lkml/2013/7/22/219
>
> Pulled, thanks!
>
Hi Rob, Rafael,

On 13/08/13 15:16, kbuild test robot wrote:> tree:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
bleeding-edge
> head: 0d4bcb5dc7d3040c0ce7572ea30ab9e5d9455bfa commit:
> 7939ff8d991de2c0b15064e76ee549a6df5ae67f [151/204] of: add
> support for retrieving cpu node for a given logical cpu index
> config: make ARCH=powerpc allmodconfig
>
> All error/warnings:
>
> warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM)
> selects FSL_LBC which has unmet direct dependencies (FSL_SOC)
> warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM)
> selects FSL_LBC which has unmet direct dependencies (FSL_SOC)
> In file included from arch/powerpc/include/asm/kvm_para.h:26:0, from
> include/uapi/linux/kvm_para.h:26, from include/linux/kvm_para.h:4,
> from include/linux/kvm_host.h:30, from
> arch/powerpc/kernel/asm-offsets.c:53:
> include/linux/of.h:269:28: error: conflicting types for
>'of_get_cpu_node'
> extern struct device_node *of_get_cpu_node(int cpu); ^ In file
> included from include/linux/of.h:139:0, from
> arch/powerpc/include/asm/kvm_para.h:26, from
> include/uapi/linux/kvm_para.h:26, from include/linux/kvm_para.h:4,
> from include/linux/kvm_host.h:30, from
> arch/powerpc/kernel/asm-offsets.c:53:
> arch/powerpc/include/asm/prom.h:47:21: note: previous declaration
> of 'of_get_cpu_node' was here
> struct device_node *of_get_cpu_node(int cpu, unsigned int *thread);
> ^ make[2]: *** [arch/powerpc/kernel/asm-offsets.s] Error 1 make[2]:
> Target `__build' not remade because of errors. make[1]: ***
> [prepare0] Error 2 make[1]: Target `prepare' not remade because of
> errors. make: *** [sub-make] Error 2
>

There seems to be conflict in the new function "of_get_cpu_node" added.
PowerPC also defines the same function name. Further microblaze and
openrisc declares it(can be removed) but doesn't define it.
To fix this:
1. I can rename the newly added function to something different like
`of_get_cpunode` or
2. If of_* namespace should be used by only OF/FDT and not by any
architecture specific code, then the arch specific version can be
renamed to some thing like arch_of_get_cpu_node.
Also most of the calls to arch specific function can be moved to
generic code.

Let me know your thoughts.

Regards,
Sudeep

--
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/