From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Again... This time due to pci.h->dmapool.h->io.h included in core logic files before __EXTERN_INLINE definition. To prevent such troubles in the future, make io.h/core_xx.h included before anything else. Also, this allows to get rid of some duplicated #include's. --- 25-akpm/arch/alpha/kernel/core_apecs.c | 12 +++++------- 25-akpm/arch/alpha/kernel/core_cia.c | 16 ++++++---------- 25-akpm/arch/alpha/kernel/core_irongate.c | 16 ++++++---------- 25-akpm/arch/alpha/kernel/core_lca.c | 12 +++++------- 25-akpm/arch/alpha/kernel/core_marvel.c | 8 +------- 25-akpm/arch/alpha/kernel/core_mcpcia.c | 13 +++++-------- 25-akpm/arch/alpha/kernel/core_polaris.c | 12 +++++------- 25-akpm/arch/alpha/kernel/core_t2.c | 12 +++++------- 25-akpm/arch/alpha/kernel/core_titan.c | 17 ++++++----------- 25-akpm/arch/alpha/kernel/core_tsunami.c | 15 ++++++--------- 25-akpm/arch/alpha/kernel/core_wildfire.c | 12 +++++------- 11 files changed, 55 insertions(+), 90 deletions(-) diff -puN arch/alpha/kernel/core_apecs.c~alpha-extern-inline-fix arch/alpha/kernel/core_apecs.c --- 25/arch/alpha/kernel/core_apecs.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_apecs.c Wed Feb 11 13:10:26 2004 @@ -10,20 +10,18 @@ * Code common to all APECS core logic chips. */ -#include <linux/kernel.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_apecs.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/init.h> -#include <asm/system.h> #include <asm/ptrace.h> #include <asm/smp.h> -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_apecs.h> -#undef __EXTERN_INLINE - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_cia.c~alpha-extern-inline-fix arch/alpha/kernel/core_cia.c --- 25/arch/alpha/kernel/core_cia.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_cia.c Wed Feb 11 13:10:26 2004 @@ -11,23 +11,19 @@ * Code common to all CIA core logic chips. */ -#include <linux/kernel.h> -#include <linux/types.h> -#include <linux/pci.h> -#include <linux/sched.h> -#include <linux/init.h> - -#include <asm/system.h> -#include <asm/ptrace.h> -#include <asm/hwrpb.h> - #define __EXTERN_INLINE inline #include <asm/io.h> #include <asm/core_cia.h> #undef __EXTERN_INLINE +#include <linux/types.h> +#include <linux/pci.h> +#include <linux/sched.h> +#include <linux/init.h> #include <linux/bootmem.h> +#include <asm/ptrace.h> + #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_irongate.c~alpha-extern-inline-fix arch/alpha/kernel/core_irongate.c --- 25/arch/alpha/kernel/core_irongate.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_irongate.c Wed Feb 11 13:10:26 2004 @@ -9,27 +9,23 @@ * Code common to all IRONGATE core logic chips. */ -#include <linux/kernel.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_irongate.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> #include <linux/init.h> #include <linux/initrd.h> +#include <linux/bootmem.h> #include <asm/ptrace.h> -#include <asm/system.h> #include <asm/pci.h> -#include <asm/hwrpb.h> #include <asm/cacheflush.h> #include <asm/tlbflush.h> -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_irongate.h> -#undef __EXTERN_INLINE - -#include <linux/bootmem.h> - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_lca.c~alpha-extern-inline-fix arch/alpha/kernel/core_lca.c --- 25/arch/alpha/kernel/core_lca.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_lca.c Wed Feb 11 13:10:26 2004 @@ -8,21 +8,19 @@ * Code common to all LCA core logic chips. */ -#include <linux/kernel.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_lca.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/init.h> #include <linux/tty.h> #include <asm/ptrace.h> -#include <asm/system.h> #include <asm/smp.h> -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_lca.h> -#undef __EXTERN_INLINE - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_marvel.c~alpha-extern-inline-fix arch/alpha/kernel/core_marvel.c --- 25/arch/alpha/kernel/core_marvel.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_marvel.c Wed Feb 11 13:10:26 2004 @@ -4,14 +4,11 @@ * Code common to all Marvel based systems. */ -#include <linux/config.h> - #define __EXTERN_INLINE inline #include <asm/io.h> #include <asm/core_marvel.h> #undef __EXTERN_INLINE -#include <linux/kernel.h> #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> @@ -20,18 +17,15 @@ #include <linux/mc146818rtc.h> #include <linux/rtc.h> #include <linux/module.h> +#include <linux/bootmem.h> #include <asm/ptrace.h> -#include <asm/system.h> #include <asm/smp.h> -#include <asm/hwrpb.h> #include <asm/gct.h> #include <asm/pgalloc.h> #include <asm/tlbflush.h> #include <asm/rtc.h> -#include <linux/bootmem.h> - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_mcpcia.c~alpha-extern-inline-fix arch/alpha/kernel/core_mcpcia.c --- 25/arch/alpha/kernel/core_mcpcia.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_mcpcia.c Wed Feb 11 13:10:26 2004 @@ -6,7 +6,11 @@ * Code common to all MCbus-PCI Adaptor core logic chipsets */ -#include <linux/kernel.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_mcpcia.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> @@ -14,13 +18,6 @@ #include <linux/delay.h> #include <asm/ptrace.h> -#include <asm/system.h> -#include <asm/hwrpb.h> - -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_mcpcia.h> -#undef __EXTERN_INLINE #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_polaris.c~alpha-extern-inline-fix arch/alpha/kernel/core_polaris.c --- 25/arch/alpha/kernel/core_polaris.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_polaris.c Wed Feb 11 13:10:26 2004 @@ -4,20 +4,18 @@ * POLARIS chip-specific code */ -#include <linux/kernel.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_polaris.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> #include <linux/init.h> -#include <asm/system.h> #include <asm/ptrace.h> -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_polaris.h> -#undef __EXTERN_INLINE - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_t2.c~alpha-extern-inline-fix arch/alpha/kernel/core_t2.c --- 25/arch/alpha/kernel/core_t2.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_t2.c Wed Feb 11 13:10:26 2004 @@ -9,21 +9,19 @@ * Code common to all T2 core logic chips. */ -#include <linux/kernel.h> +#define __EXTERN_INLINE +#include <asm/io.h> +#include <asm/core_t2.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> #include <linux/init.h> #include <asm/ptrace.h> -#include <asm/system.h> #include <asm/delay.h> -#define __EXTERN_INLINE -#include <asm/io.h> -#include <asm/core_t2.h> -#undef __EXTERN_INLINE - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_titan.c~alpha-extern-inline-fix arch/alpha/kernel/core_titan.c --- 25/arch/alpha/kernel/core_titan.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_titan.c Wed Feb 11 13:10:26 2004 @@ -4,29 +4,24 @@ * Code common to all TITAN core logic chips. */ -#include <linux/config.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_titan.h> +#undef __EXTERN_INLINE + #include <linux/module.h> -#include <linux/kernel.h> #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> #include <linux/init.h> #include <linux/vmalloc.h> +#include <linux/bootmem.h> -#include <asm/hwrpb.h> #include <asm/ptrace.h> -#include <asm/system.h> #include <asm/smp.h> #include <asm/pgalloc.h> #include <asm/tlbflush.h> -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_titan.h> -#undef __EXTERN_INLINE - -#include <linux/bootmem.h> - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_tsunami.c~alpha-extern-inline-fix arch/alpha/kernel/core_tsunami.c --- 25/arch/alpha/kernel/core_tsunami.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_tsunami.c Wed Feb 11 13:10:26 2004 @@ -6,23 +6,20 @@ * Code common to all TSUNAMI core logic chips. */ -#include <linux/kernel.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_tsunami.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> #include <linux/init.h> +#include <linux/bootmem.h> #include <asm/ptrace.h> -#include <asm/system.h> #include <asm/smp.h> -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_tsunami.h> -#undef __EXTERN_INLINE - -#include <linux/bootmem.h> - #include "proto.h" #include "pci_impl.h" diff -puN arch/alpha/kernel/core_wildfire.c~alpha-extern-inline-fix arch/alpha/kernel/core_wildfire.c --- 25/arch/alpha/kernel/core_wildfire.c~alpha-extern-inline-fix Wed Feb 11 13:10:26 2004 +++ 25-akpm/arch/alpha/kernel/core_wildfire.c Wed Feb 11 13:10:26 2004 @@ -6,21 +6,19 @@ * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE */ -#include <linux/kernel.h> +#define __EXTERN_INLINE inline +#include <asm/io.h> +#include <asm/core_wildfire.h> +#undef __EXTERN_INLINE + #include <linux/types.h> #include <linux/pci.h> #include <linux/sched.h> #include <linux/init.h> #include <asm/ptrace.h> -#include <asm/system.h> #include <asm/smp.h> -#define __EXTERN_INLINE inline -#include <asm/io.h> -#include <asm/core_wildfire.h> -#undef __EXTERN_INLINE - #include "proto.h" #include "pci_impl.h" _