Browse Source

Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu

Pull m68knommu fixes from Greg Ungerer:
 "Just a small collection of cleanups and fixes this time, no big
  changes.  The most interresting are to make the m68k and m68knommu
  consistently use CONFIG_IOMAP, clean out some unused board config
  options and flush the cache on signal stack creation"

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68k: remove 16 unused boards in Kconfig.machine
  m68k: define 'VM_DATA_DEFAULT_FLAGS' no matter whether has 'NOMMU' or not
  m68knommu: user generic iomap to support ioread*/iowrite*
  m68k/coldfire: flush cache when creating the signal stack frame
  m68knommu: Mark functions only called from setup_arch() __init
Linus Torvalds 12 years ago
parent
commit
833ae40b51

+ 1 - 1
arch/m68k/Kconfig

@@ -11,6 +11,7 @@ config M68K
 	select VIRT_TO_BUS
 	select VIRT_TO_BUS
 	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
 	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
 	select GENERIC_CPU_DEVICES
 	select GENERIC_CPU_DEVICES
+	select GENERIC_IOMAP
 	select GENERIC_STRNCPY_FROM_USER if MMU
 	select GENERIC_STRNCPY_FROM_USER if MMU
 	select GENERIC_STRNLEN_USER if MMU
 	select GENERIC_STRNLEN_USER if MMU
 	select FPU if MMU
 	select FPU if MMU
@@ -72,7 +73,6 @@ source "kernel/Kconfig.freezer"
 config MMU
 config MMU
 	bool "MMU-based Paged Memory Management Support"
 	bool "MMU-based Paged Memory Management Support"
 	default y
 	default y
-	select GENERIC_IOMAP
 	help
 	help
 	  Select if you want MMU-based virtualised addressing space
 	  Select if you want MMU-based virtualised addressing space
 	  support by paged memory management. If unsure, say 'Y'.
 	  support by paged memory management. If unsure, say 'Y'.

+ 0 - 134
arch/m68k/Kconfig.machine

@@ -150,18 +150,6 @@ config XCOPILOT_BUGS
 	help
 	help
 	  Support the bugs of Xcopilot.
 	  Support the bugs of Xcopilot.
 
 
-config UC5272
-	bool "Arcturus Networks uC5272 dimm board support"
-	depends on M5272
-	help
-	  Support for the Arcturus Networks uC5272 dimm board.
-
-config UC5282
-	bool "Arcturus Networks uC5282 board support"
-	depends on M528x
-	help
-	  Support for the Arcturus Networks uC5282 dimm board.
-
 config UCSIMM
 config UCSIMM
 	bool "uCsimm module support"
 	bool "uCsimm module support"
 	depends on M68EZ328
 	depends on M68EZ328
@@ -205,23 +193,15 @@ config UCQUICC
 	help
 	help
 	  Support for the Lineo uCquicc board.
 	  Support for the Lineo uCquicc board.
 
 
-config ARNEWSH
-	bool
-
 config ARN5206
 config ARN5206
 	bool "Arnewsh 5206 board support"
 	bool "Arnewsh 5206 board support"
 	depends on M5206
 	depends on M5206
-	select ARNEWSH
 	help
 	help
 	  Support for the Arnewsh 5206 board.
 	  Support for the Arnewsh 5206 board.
 
 
-config FREESCALE
-	bool
-
 config M5206eC3
 config M5206eC3
 	bool "Motorola M5206eC3 board support"
 	bool "Motorola M5206eC3 board support"
 	depends on M5206e
 	depends on M5206e
-	select FREESCALE
 	help
 	help
 	  Support for the Motorola M5206eC3 board.
 	  Support for the Motorola M5206eC3 board.
 
 
@@ -231,88 +211,24 @@ config ELITE
 	help
 	help
 	  Support for the Motorola M5206eLITE board.
 	  Support for the Motorola M5206eLITE board.
 
 
-config M5208EVB
-	bool "Freescale M5208EVB board support"
-	depends on M520x
-	select FREESCALE
-	help
-	  Support for the Freescale Coldfire M5208EVB.
-
 config M5235EVB
 config M5235EVB
 	bool "Freescale M5235EVB support"
 	bool "Freescale M5235EVB support"
 	depends on M523x
 	depends on M523x
-	select FREESCALE
 	help
 	help
 	  Support for the Freescale M5235EVB board.
 	  Support for the Freescale M5235EVB board.
 
 
 config M5249C3
 config M5249C3
 	bool "Motorola M5249C3 board support"
 	bool "Motorola M5249C3 board support"
 	depends on M5249
 	depends on M5249
-	select FREESCALE
 	help
 	help
 	  Support for the Motorola M5249C3 board.
 	  Support for the Motorola M5249C3 board.
 
 
-config M5271EVB
-	bool "Freescale (Motorola) M5271EVB board support"
-	depends on M5271
-	select FREESCALE
-	help
-	  Support for the Freescale (Motorola) M5271EVB board.
-
-config M5275EVB
-	bool "Freescale (Motorola) M5275EVB board support"
-	depends on M5275
-	select FREESCALE
-	help
-	  Support for the Freescale (Motorola) M5275EVB board.
-
 config M5272C3
 config M5272C3
 	bool "Motorola M5272C3 board support"
 	bool "Motorola M5272C3 board support"
 	depends on M5272
 	depends on M5272
-	select FREESCALE
 	help
 	help
 	  Support for the Motorola M5272C3 board.
 	  Support for the Motorola M5272C3 board.
 
 
-config senTec
-	bool
-
-config COBRA5272
-	bool "senTec COBRA5272 board support"
-	depends on M5272
-	select senTec
-	help
-	  Support for the senTec COBRA5272 board.
-
-config AVNET
-	bool
-
-config AVNET5282
-	bool "Avnet 5282 board support"
-	depends on M528x
-	select AVNET
-	help
-	  Support for the Avnet 5282 board.
-
-config M5282EVB
-	bool "Motorola M5282EVB board support"
-	depends on M528x
-	select FREESCALE
-	help
-	  Support for the Motorola M5282EVB board.
-
-config COBRA5282
-	bool "senTec COBRA5282 board support"
-	depends on M528x
-	select senTec
-	help
-	  Support for the senTec COBRA5282 board.
-
-config SOM5282EM
-	bool "EMAC.Inc SOM5282EM board support"
-	depends on M528x
-	help
-	  Support for the EMAC.Inc SOM5282EM module.
-
 config WILDFIRE
 config WILDFIRE
 	bool "Intec Automation Inc. WildFire board support"
 	bool "Intec Automation Inc. WildFire board support"
 	depends on M528x
 	depends on M528x
@@ -328,14 +244,12 @@ config WILDFIREMOD
 config ARN5307
 config ARN5307
 	bool "Arnewsh 5307 board support"
 	bool "Arnewsh 5307 board support"
 	depends on M5307
 	depends on M5307
-	select ARNEWSH
 	help
 	help
 	  Support for the Arnewsh 5307 board.
 	  Support for the Arnewsh 5307 board.
 
 
 config M5307C3
 config M5307C3
 	bool "Motorola M5307C3 board support"
 	bool "Motorola M5307C3 board support"
 	depends on M5307
 	depends on M5307
-	select FREESCALE
 	help
 	help
 	  Support for the Motorola M5307C3 board.
 	  Support for the Motorola M5307C3 board.
 
 
@@ -345,30 +259,9 @@ config SECUREEDGEMP3
 	help
 	help
 	  Support for the SnapGear SecureEdge/MP3 platform.
 	  Support for the SnapGear SecureEdge/MP3 platform.
 
 
-config M5329EVB
-	bool "Freescale (Motorola) M5329EVB board support"
-	depends on M532x
-	select FREESCALE
-	help
-	  Support for the Freescale (Motorola) M5329EVB board.
-
-config COBRA5329
-	bool "senTec COBRA5329 board support"
-	depends on M532x
-	help
-	  Support for the senTec COBRA5329 board.
-
-config M5373EVB
-	bool "Freescale M5373EVB board support"
-	depends on M537x
-	select FREESCALE
-	help
-	  Support for the Freescale M5373EVB board.
-
 config M5407C3
 config M5407C3
 	bool "Motorola M5407C3 board support"
 	bool "Motorola M5407C3 board support"
 	depends on M5407
 	depends on M5407
-	select FREESCALE
 	help
 	help
 	  Support for the Motorola M5407C3 board.
 	  Support for the Motorola M5407C3 board.
 
 
@@ -402,39 +295,12 @@ config NETtel
 	help
 	help
 	  Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
 	  Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
 
 
-config SNAPGEAR
-	bool "SnapGear router board support"
-	depends on NETtel
-	help
-	  Special additional support for SnapGear router boards.
-
-config SNEHA
-	bool
-
-config CPU16B
-	bool "Sneha Technologies S.L. Sarasvati board support"
-	depends on M5272
-	select SNEHA
-	help
-	  Support for the SNEHA CPU16B board.
-
 config MOD5272
 config MOD5272
 	bool "Netburner MOD-5272 board support"
 	bool "Netburner MOD-5272 board support"
 	depends on M5272
 	depends on M5272
 	help
 	help
 	  Support for the Netburner MOD-5272 board.
 	  Support for the Netburner MOD-5272 board.
 
 
-config SAVANT
-	bool
-
-config SAVANTrosie1
-	bool "Savant Rosie1 board support"
-	depends on M523x
-	select SAVANT
-	help
-	  Support for the Savant Rosie1 board.
-
-
 if !MMU || COLDFIRE
 if !MMU || COLDFIRE
 
 
 comment "Machine Options"
 comment "Machine Options"

+ 1 - 0
arch/m68k/include/asm/io_no.h

@@ -4,6 +4,7 @@
 #ifdef __KERNEL__
 #ifdef __KERNEL__
 
 
 #include <asm/virtconvert.h>
 #include <asm/virtconvert.h>
+#include <asm-generic/iomap.h>
 
 
 /*
 /*
  * These are for ISA/PCI shared memory _only_ and should never be used
  * These are for ISA/PCI shared memory _only_ and should never be used

+ 3 - 0
arch/m68k/include/asm/page.h

@@ -48,6 +48,9 @@ extern unsigned long _ramend;
 #include <asm/page_no.h>
 #include <asm/page_no.h>
 #endif
 #endif
 
 
+#define VM_DATA_DEFAULT_FLAGS	(VM_READ | VM_WRITE | VM_EXEC | \
+				 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
+
 #include <asm-generic/getorder.h>
 #include <asm-generic/getorder.h>
 
 
 #endif /* _M68K_PAGE_H */
 #endif /* _M68K_PAGE_H */

+ 0 - 3
arch/m68k/include/asm/page_mm.h

@@ -173,7 +173,4 @@ static inline __attribute_const__ int __virt_to_node_shift(void)
 
 
 #endif /* __ASSEMBLY__ */
 #endif /* __ASSEMBLY__ */
 
 
-#define VM_DATA_DEFAULT_FLAGS	(VM_READ | VM_WRITE | VM_EXEC | \
-				 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
-
 #endif /* _M68K_PAGE_MM_H */
 #endif /* _M68K_PAGE_MM_H */

+ 1 - 1
arch/m68k/kernel/setup_no.c

@@ -118,7 +118,7 @@ void (*mach_power_off)(void);
  *
  *
  * Returns:
  * Returns:
  */
  */
-void parse_uboot_commandline(char *commandp, int size)
+static void __init parse_uboot_commandline(char *commandp, int size)
 {
 {
 	extern unsigned long _init_sp;
 	extern unsigned long _init_sp;
 	unsigned long *sp;
 	unsigned long *sp;

+ 8 - 0
arch/m68k/kernel/signal.c

@@ -50,6 +50,7 @@
 #include <asm/pgtable.h>
 #include <asm/pgtable.h>
 #include <asm/traps.h>
 #include <asm/traps.h>
 #include <asm/ucontext.h>
 #include <asm/ucontext.h>
+#include <asm/cacheflush.h>
 
 
 #ifdef CONFIG_MMU
 #ifdef CONFIG_MMU
 
 
@@ -181,6 +182,13 @@ static inline void push_cache (unsigned long vaddr)
 		asm volatile ("movec %0,%%caar\n\t"
 		asm volatile ("movec %0,%%caar\n\t"
 			      "movec %1,%%cacr"
 			      "movec %1,%%cacr"
 			      : : "r" (vaddr + 4), "r" (temp));
 			      : : "r" (vaddr + 4), "r" (temp));
+	} else {
+		/* CPU_IS_COLDFIRE */
+#if defined(CONFIG_CACHE_COPYBACK)
+		flush_cf_dcache(0, DCACHE_MAX_ADDR);
+#endif
+		/* Invalidate instruction cache for the pushed bytes */
+		clear_cf_icache(vaddr, vaddr + 8);
 	}
 	}
 }
 }
 
 

+ 2 - 1
arch/m68k/platform/68000/m68328.c

@@ -15,6 +15,7 @@
 
 
 /***************************************************************************/
 /***************************************************************************/
 
 
+#include <linux/init.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/rtc.h>
 #include <linux/rtc.h>
@@ -42,7 +43,7 @@ void m68328_reset (void)
 
 
 /***************************************************************************/
 /***************************************************************************/
 
 
-void config_BSP(char *command, int len)
+void __init config_BSP(char *command, int len)
 {
 {
   printk(KERN_INFO "\n68328 support D. Jeff Dionne <jeff@uclinux.org>\n");
   printk(KERN_INFO "\n68328 support D. Jeff Dionne <jeff@uclinux.org>\n");
   printk(KERN_INFO "68328 support Kenneth Albanowski <kjahds@kjshds.com>\n");
   printk(KERN_INFO "68328 support Kenneth Albanowski <kjahds@kjshds.com>\n");

+ 2 - 1
arch/m68k/platform/68000/m68EZ328.c

@@ -13,6 +13,7 @@
 
 
 /***************************************************************************/
 /***************************************************************************/
 
 
+#include <linux/init.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/rtc.h>
 #include <linux/rtc.h>
@@ -52,7 +53,7 @@ _bsc1(unsigned char *, gethwaddr, int, a)
 _bsc1(char *, getbenv, char *, a)
 _bsc1(char *, getbenv, char *, a)
 #endif
 #endif
 
 
-void config_BSP(char *command, int len)
+void __init config_BSP(char *command, int len)
 {
 {
   unsigned char *p;
   unsigned char *p;
 
 

+ 5 - 4
arch/m68k/platform/68000/m68VZ328.c

@@ -14,6 +14,7 @@
 
 
 /***************************************************************************/
 /***************************************************************************/
 
 
+#include <linux/init.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/kd.h>
 #include <linux/kd.h>
@@ -59,7 +60,7 @@ static void m68vz328_reset(void)
 	);
 	);
 }
 }
 
 
-static void init_hardware(char *command, int size)
+static void __init init_hardware(char *command, int size)
 {
 {
 #ifdef CONFIG_DIRECT_IO_ACCESS
 #ifdef CONFIG_DIRECT_IO_ACCESS
 	SCR = 0x10;					/* allow user access to internal registers */
 	SCR = 0x10;					/* allow user access to internal registers */
@@ -145,7 +146,7 @@ _bsc0(char *, getserialnum)
 _bsc1(unsigned char *, gethwaddr, int, a)
 _bsc1(unsigned char *, gethwaddr, int, a)
 _bsc1(char *, getbenv, char *, a)
 _bsc1(char *, getbenv, char *, a)
 
 
-static void init_hardware(char *command, int size)
+static void __init init_hardware(char *command, int size)
 {
 {
 	char *p;
 	char *p;
 
 
@@ -167,7 +168,7 @@ static void m68vz328_reset(void)
 {
 {
 }
 }
 
 
-static void init_hardware(char *command, int size)
+static void __init init_hardware(char *command, int size)
 {
 {
 }
 }
 
 
@@ -175,7 +176,7 @@ static void init_hardware(char *command, int size)
 #endif
 #endif
 /***************************************************************************/
 /***************************************************************************/
 
 
-void config_BSP(char *command, int size)
+void __init config_BSP(char *command, int size)
 {
 {
 	printk(KERN_INFO "68VZ328 DragonBallVZ support (c) 2001 Lineo, Inc.\n");
 	printk(KERN_INFO "68VZ328 DragonBallVZ support (c) 2001 Lineo, Inc.\n");
 
 

+ 2 - 1
arch/m68k/platform/68360/commproc.c

@@ -31,6 +31,7 @@
  */
  */
 
 
 #include <linux/errno.h>
 #include <linux/errno.h>
+#include <linux/init.h>
 #include <linux/sched.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
 #include <linux/param.h>
@@ -77,7 +78,7 @@ void m360_cpm_reset(void);
 
 
 
 
 
 
-void m360_cpm_reset()
+void __init m360_cpm_reset()
 {
 {
 /* 	pte_t		   *pte; */
 /* 	pte_t		   *pte; */
 
 

+ 2 - 1
arch/m68k/platform/68360/config.c

@@ -11,6 +11,7 @@
  */
  */
 
 
 #include <stdarg.h>
 #include <stdarg.h>
+#include <linux/init.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
@@ -140,7 +141,7 @@ _bsc1(char *, getbenv, char *, a)
 #endif
 #endif
 
 
 
 
-void config_BSP(char *command, int len)
+void __init config_BSP(char *command, int len)
 {
 {
   unsigned char *p;
   unsigned char *p;