Patchwork powerpc: Fix compile errors found by new ppc64e_defconfig

login
register
mail settings
Submitter Kumar Gala
Date Oct. 16, 2009, 5:05 p.m.
Message ID <1255712717-21221-2-git-send-email-galak@kernel.crashing.org>
Download mbox | patch
Permalink /patch/36251/
State Accepted
Commit ce7a35c73a308c62f9f0ca9f0821ebe0dc553008
Headers show

Comments

Kumar Gala - Oct. 16, 2009, 5:05 p.m.
Fix the following 3 issues:

arch/powerpc/kernel/process.c: In function 'arch_randomize_brk':
arch/powerpc/kernel/process.c:1183: error: 'mmu_highuser_ssize' undeclared (first use in this function)
arch/powerpc/kernel/process.c:1183: error: (Each undeclared identifier is reported only once
arch/powerpc/kernel/process.c:1183: error: for each function it appears in.)
arch/powerpc/kernel/process.c:1183: error: 'MMU_SEGSIZE_1T' undeclared (first use in this function)

In file included from arch/powerpc/kernel/setup_64.c:60:
arch/powerpc/include/asm/mmu-hash64.h:132: error: redefinition of 'struct mmu_psize_def'
arch/powerpc/include/asm/mmu-hash64.h:159: error: expected identifier or '(' before numeric constant
arch/powerpc/include/asm/mmu-hash64.h:396: error: conflicting types for 'mm_context_t'
arch/powerpc/include/asm/mmu-book3e.h:184: error: previous declaration of 'mm_context_t' was here

cc1: warnings being treated as errors
arch/powerpc/kernel/pci_64.c: In function 'pcibios_unmap_io_space':
arch/powerpc/kernel/pci_64.c:100: error: unused variable 'res'

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 arch/powerpc/kernel/pci_64.c   |    2 ++
 arch/powerpc/kernel/process.c  |    2 +-
 arch/powerpc/kernel/setup_64.c |    1 -
 3 files changed, 3 insertions(+), 2 deletions(-)
Michael Ellerman - Oct. 18, 2009, 11:58 p.m.
On Fri, 2009-10-16 at 12:05 -0500, Kumar Gala wrote:
> Fix the following 3 issues:
> 
> arch/powerpc/kernel/process.c: In function 'arch_randomize_brk':
> arch/powerpc/kernel/process.c:1183: error: 'mmu_highuser_ssize' undeclared (first use in this function)
> arch/powerpc/kernel/process.c:1183: error: (Each undeclared identifier is reported only once
> arch/powerpc/kernel/process.c:1183: error: for each function it appears in.)
> arch/powerpc/kernel/process.c:1183: error: 'MMU_SEGSIZE_1T' undeclared (first use in this function)
> 
> In file included from arch/powerpc/kernel/setup_64.c:60:
> arch/powerpc/include/asm/mmu-hash64.h:132: error: redefinition of 'struct mmu_psize_def'
> arch/powerpc/include/asm/mmu-hash64.h:159: error: expected identifier or '(' before numeric constant
> arch/powerpc/include/asm/mmu-hash64.h:396: error: conflicting types for 'mm_context_t'
> arch/powerpc/include/asm/mmu-book3e.h:184: error: previous declaration of 'mm_context_t' was here
> 
> cc1: warnings being treated as errors
> arch/powerpc/kernel/pci_64.c: In function 'pcibios_unmap_io_space':
> arch/powerpc/kernel/pci_64.c:100: error: unused variable 'res'
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
>  arch/powerpc/kernel/pci_64.c   |    2 ++
>  arch/powerpc/kernel/process.c  |    2 +-
>  arch/powerpc/kernel/setup_64.c |    1 -
>  3 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
> index ba949a2..ccf56ac 100644
> --- a/arch/powerpc/kernel/pci_64.c
> +++ b/arch/powerpc/kernel/pci_64.c
> @@ -97,7 +97,9 @@ int pcibios_unmap_io_space(struct pci_bus *bus)
>  	 * to do an appropriate TLB flush here too
>  	 */
>  	if (bus->self) {
> +#ifdef CONFIG_PPC_STD_MMU_64
>  		struct resource *res = bus->resource[0];
> +#endif
>  
>  		pr_debug("IO unmapping for PCI-PCI bridge %s\n",
>  			 pci_name(bus->self));
104 
105 #ifdef CONFIG_PPC_STD_MMU_64                                                
106                 __flush_hash_table_range(&init_mm, res->start + _IO_BASE,
107                                          res->end + _IO_BASE + 1);
108 #endif
109		return 0;
110	 }

So just expand the ifdef around the pr_debug()?

cheers
Benjamin Herrenschmidt - Oct. 19, 2009, 4:24 a.m.
On Mon, 2009-10-19 at 10:58 +1100, Michael Ellerman wrote:

> >  	if (bus->self) {
> > +#ifdef CONFIG_PPC_STD_MMU_64
> >  		struct resource *res = bus->resource[0];
> > +#endif
> >  
> >  		pr_debug("IO unmapping for PCI-PCI bridge %s\n",
> >  			 pci_name(bus->self));
> 104 
> 105 #ifdef CONFIG_PPC_STD_MMU_64                                                
> 106                 __flush_hash_table_range(&init_mm, res->start + _IO_BASE,
> 107                                          res->end + _IO_BASE + 1);
> 108 #endif
> 109		return 0;
> 110	 }
> 
> So just expand the ifdef around the pr_debug()?

I'd rather move the pr_debug to after the ifdef, it doesn't need to
absolutely be before the __flush_hash_* call, it's more to see in the
log whether the bus was properly unmapped when doing unplug.

Cheers,
Ben.

Patch

diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index ba949a2..ccf56ac 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -97,7 +97,9 @@  int pcibios_unmap_io_space(struct pci_bus *bus)
 	 * to do an appropriate TLB flush here too
 	 */
 	if (bus->self) {
+#ifdef CONFIG_PPC_STD_MMU_64
 		struct resource *res = bus->resource[0];
+#endif
 
 		pr_debug("IO unmapping for PCI-PCI bridge %s\n",
 			 pci_name(bus->self));
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 2ec1eae..c930ac3 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1172,7 +1172,7 @@  unsigned long arch_randomize_brk(struct mm_struct *mm)
 	unsigned long base = mm->brk;
 	unsigned long ret;
 
-#ifdef CONFIG_PPC64
+#ifdef CONFIG_PPC_STD_MMU_64
 	/*
 	 * If we are using 1TB segments and we are allowed to randomise
 	 * the heap, we can put it above 1TB so it is backed by a 1TB
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 797ea95..04f638d 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -57,7 +57,6 @@ 
 #include <asm/cache.h>
 #include <asm/page.h>
 #include <asm/mmu.h>
-#include <asm/mmu-hash64.h>
 #include <asm/firmware.h>
 #include <asm/xmon.h>
 #include <asm/udbg.h>