Re: [GIT PULL] DT/core: cpu_ofnode updates for v3.12
From: Rafael J. Wysocki <hidden>
Date: 2013-08-13 19:35:35
Also in:
linux-arm-kernel, linuxppc-dev, lkml
On Tuesday, August 13, 2013 01:44:23 PM Rob Herring wrote:
On Tue, Aug 13, 2013 at 10:40 AM, Sudeep KarkadaNagesha [off-list ref] wrote:quoted
Adding PowerPC list On 13/08/13 14:00, Rafael J. Wysocki wrote:quoted
On Monday, August 12, 2013 02:27:47 PM Sudeep KarkadaNagesha wrote:quoted
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[snip]quoted
quoted
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 2There 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.It is up to Rafael if he is willing/able to rebase his tree, but I would drop this series until this is sorted out.
Yeah, I've just done that.
I think the new common function should be and can be generalized to work for powerpc. It would need to make reg property optional and pass in the device node to the arch specific function. A short term solution would be just to make the function "#ifndef CONFIG_PPC".
I wouldn't do that, it's almost guaranteed to be messy going forward. I'd go for 1 above personally. Thanks, Rafael