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"
 

_