From df592eb5dc07c5df26a16318ed4bf2f96fa38a4d Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Sun, 30 Jun 2013 11:58:40 +0200 Subject: m68knommu: Mark functions only called from setup_arch() __init Some functions that are only called (indirectly) from setup_arch() lack __init annotations. Signed-off-by: Geert Uytterhoeven Signed-off-by: Greg Ungerer --- arch/m68k/kernel/setup_no.c | 2 +- arch/m68k/platform/68000/m68328.c | 3 ++- arch/m68k/platform/68000/m68EZ328.c | 3 ++- arch/m68k/platform/68000/m68VZ328.c | 9 +++++---- arch/m68k/platform/68360/commproc.c | 3 ++- arch/m68k/platform/68360/config.c | 3 ++- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/arch/m68k/kernel/setup_no.c b/arch/m68k/kernel/setup_no.c index 911ba472e6c4..5b16f5d61b44 100644 --- a/arch/m68k/kernel/setup_no.c +++ b/arch/m68k/kernel/setup_no.c @@ -118,7 +118,7 @@ void (*mach_power_off)(void); * * Returns: */ -void parse_uboot_commandline(char *commandp, int size) +static void __init parse_uboot_commandline(char *commandp, int size) { extern unsigned long _init_sp; unsigned long *sp; diff --git a/arch/m68k/platform/68000/m68328.c b/arch/m68k/platform/68000/m68328.c index a86eb66835aa..e53caf4c3bfb 100644 --- a/arch/m68k/platform/68000/m68328.c +++ b/arch/m68k/platform/68000/m68328.c @@ -15,6 +15,7 @@ /***************************************************************************/ +#include #include #include #include @@ -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 \n"); printk(KERN_INFO "68328 support Kenneth Albanowski \n"); diff --git a/arch/m68k/platform/68000/m68EZ328.c b/arch/m68k/platform/68000/m68EZ328.c index a6eb72d75008..332b5e8605fc 100644 --- a/arch/m68k/platform/68000/m68EZ328.c +++ b/arch/m68k/platform/68000/m68EZ328.c @@ -13,6 +13,7 @@ /***************************************************************************/ +#include #include #include #include @@ -52,7 +53,7 @@ _bsc1(unsigned char *, gethwaddr, int, a) _bsc1(char *, getbenv, char *, a) #endif -void config_BSP(char *command, int len) +void __init config_BSP(char *command, int len) { unsigned char *p; diff --git a/arch/m68k/platform/68000/m68VZ328.c b/arch/m68k/platform/68000/m68VZ328.c index eb6964fbec09..fd6658358af1 100644 --- a/arch/m68k/platform/68000/m68VZ328.c +++ b/arch/m68k/platform/68000/m68VZ328.c @@ -14,6 +14,7 @@ /***************************************************************************/ +#include #include #include #include @@ -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 SCR = 0x10; /* allow user access to internal registers */ @@ -145,7 +146,7 @@ _bsc0(char *, getserialnum) _bsc1(unsigned char *, gethwaddr, int, 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; @@ -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 /***************************************************************************/ -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"); diff --git a/arch/m68k/platform/68360/commproc.c b/arch/m68k/platform/68360/commproc.c index 8e4e10cc0080..315727b7ff40 100644 --- a/arch/m68k/platform/68360/commproc.c +++ b/arch/m68k/platform/68360/commproc.c @@ -31,6 +31,7 @@ */ #include +#include #include #include #include @@ -77,7 +78,7 @@ void m360_cpm_reset(void); -void m360_cpm_reset() +void __init m360_cpm_reset() { /* pte_t *pte; */ diff --git a/arch/m68k/platform/68360/config.c b/arch/m68k/platform/68360/config.c index 9877cefad1e7..0570741e5500 100644 --- a/arch/m68k/platform/68360/config.c +++ b/arch/m68k/platform/68360/config.c @@ -11,6 +11,7 @@ */ #include +#include #include #include #include @@ -140,7 +141,7 @@ _bsc1(char *, getbenv, char *, a) #endif -void config_BSP(char *command, int len) +void __init config_BSP(char *command, int len) { unsigned char *p; -- cgit v1.2.1 From 42cb38bcb7a2a8f3a12bf4721e708476daf4f190 Mon Sep 17 00:00:00 2001 From: Alexander Stein Date: Wed, 5 Jun 2013 13:42:39 +0200 Subject: m68k/coldfire: flush cache when creating the signal stack frame When the signal stack frame is created, it must be flushed in order to make sure the cache fetches the correct data. Without cache flush the icache might pick up old cached data from an older signal stack frame if the signal is raised again very fast. In case of copyback the data cache muist be pushed first, but is untested. Signed-off-by: Alexander Stein Signed-off-by: Greg Ungerer --- arch/m68k/kernel/signal.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c index 2a16df3d9312..57fd286e4b0b 100644 --- a/arch/m68k/kernel/signal.c +++ b/arch/m68k/kernel/signal.c @@ -50,6 +50,7 @@ #include #include #include +#include #ifdef CONFIG_MMU @@ -181,6 +182,13 @@ static inline void push_cache (unsigned long vaddr) asm volatile ("movec %0,%%caar\n\t" "movec %1,%%cacr" : : "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); } } -- cgit v1.2.1 From f79b8592127b6e960a30c8290a597731cba1d720 Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Fri, 2 Aug 2013 17:24:38 +1000 Subject: m68knommu: user generic iomap to support ioread*/iowrite* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is no reason we cannot use the generic iomap support to give us the ioread* and iowrite* family of IO access functions. The m68k arch with MMU enabled does, so this makes us consistent for all m68k now. Some potentially valid drivers will fail to compile without these, for example: drivers/i2c/busses/i2c-ocores.c:81:2: error: implicit declaration of function ‘iowrite8’ [-Werror=implicit-function-declaration] drivers/i2c/busses/i2c-ocores.c:86:2: error: implicit declaration of function ‘iowrite16’ [-Werror=implicit-function-declaration] drivers/i2c/busses/i2c-ocores.c:91:2: error: implicit declaration of function ‘iowrite32’ [-Werror=implicit-function-declaration] drivers/i2c/busses/i2c-ocores.c:96:2: error: implicit declaration of function ‘ioread8’ [-Werror=implicit-function-declaration] drivers/i2c/busses/i2c-ocores.c:101:2: error: implicit declaration of function ‘ioread16’ [-Werror=implicit-function-declaration] drivers/i2c/busses/i2c-ocores.c:106:2: error: implicit declaration of function ‘ioread32’ [-Werror=implicit-function-declaration] Signed-off-by: Greg Ungerer --- arch/m68k/Kconfig | 2 +- arch/m68k/include/asm/io_no.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 821170e5f6ed..c3cda41af801 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -11,6 +11,7 @@ config M68K select VIRT_TO_BUS select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select GENERIC_CPU_DEVICES + select GENERIC_IOMAP select GENERIC_STRNCPY_FROM_USER if MMU select GENERIC_STRNLEN_USER if MMU select FPU if MMU @@ -72,7 +73,6 @@ source "kernel/Kconfig.freezer" config MMU bool "MMU-based Paged Memory Management Support" default y - select GENERIC_IOMAP help Select if you want MMU-based virtualised addressing space support by paged memory management. If unsure, say 'Y'. diff --git a/arch/m68k/include/asm/io_no.h b/arch/m68k/include/asm/io_no.h index 353bf754a972..e1534783e94e 100644 --- a/arch/m68k/include/asm/io_no.h +++ b/arch/m68k/include/asm/io_no.h @@ -4,6 +4,7 @@ #ifdef __KERNEL__ #include +#include /* * These are for ISA/PCI shared memory _only_ and should never be used -- cgit v1.2.1 From 0c7e59c46e01e6f8291903c1fb8e5519fcbfe7a7 Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Mon, 5 Aug 2013 11:30:24 +1000 Subject: m68k: define 'VM_DATA_DEFAULT_FLAGS' no matter whether has 'NOMMU' or not MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Define 'VM_DATA_DEFAULT_FLAGS' when 'NOMMU' to pass compiling. So move it from "include/asm/page_mm.h to "include/asm/page.h" The related make: make ARCH=m68k randconfig make ARCH=m68k menuconfig choose cross compiler disable MMU support make ARCH=m68k V=1 EXTRA_CFLAGS=-W The related error: security/selinux/hooks.c: In function ‘selinux_init’: security/selinux/hooks.c:5821:21: error: ‘VM_DATA_DEFAULT_FLAGS’ undeclared (first use in this function) Signed-off-by: Chen Gang Signed-off-by: Greg Ungerer --- arch/m68k/include/asm/page.h | 3 +++ arch/m68k/include/asm/page_mm.h | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/m68k/include/asm/page.h b/arch/m68k/include/asm/page.h index 7c360dac00b7..38b024a0b045 100644 --- a/arch/m68k/include/asm/page.h +++ b/arch/m68k/include/asm/page.h @@ -48,6 +48,9 @@ extern unsigned long _ramend; #include #endif +#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ + VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) + #include #endif /* _M68K_PAGE_H */ diff --git a/arch/m68k/include/asm/page_mm.h b/arch/m68k/include/asm/page_mm.h index 89f201434b5a..5029f73e6294 100644 --- a/arch/m68k/include/asm/page_mm.h +++ b/arch/m68k/include/asm/page_mm.h @@ -173,7 +173,4 @@ static inline __attribute_const__ int __virt_to_node_shift(void) #endif /* __ASSEMBLY__ */ -#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ - VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) - #endif /* _M68K_PAGE_MM_H */ -- cgit v1.2.1 From c065edde73508c6da4afaf064e5999eb3e5aead1 Mon Sep 17 00:00:00 2001 From: Paul Bolle Date: Fri, 17 May 2013 09:59:17 +0200 Subject: m68k: remove 16 unused boards in Kconfig.machine The Kconfig entries for 16 boards are unused. Remove these, together with the 6 entries that these boards select, but are also unused. Signed-off-by: Paul Bolle Signed-off-by: Greg Ungerer --- arch/m68k/Kconfig.machine | 134 ---------------------------------------------- 1 file changed, 134 deletions(-) diff --git a/arch/m68k/Kconfig.machine b/arch/m68k/Kconfig.machine index b9ab0a69561c..61dc643c0b05 100644 --- a/arch/m68k/Kconfig.machine +++ b/arch/m68k/Kconfig.machine @@ -150,18 +150,6 @@ config XCOPILOT_BUGS help 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 bool "uCsimm module support" depends on M68EZ328 @@ -205,23 +193,15 @@ config UCQUICC help Support for the Lineo uCquicc board. -config ARNEWSH - bool - config ARN5206 bool "Arnewsh 5206 board support" depends on M5206 - select ARNEWSH help Support for the Arnewsh 5206 board. -config FREESCALE - bool - config M5206eC3 bool "Motorola M5206eC3 board support" depends on M5206e - select FREESCALE help Support for the Motorola M5206eC3 board. @@ -231,88 +211,24 @@ config ELITE help 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 bool "Freescale M5235EVB support" depends on M523x - select FREESCALE help Support for the Freescale M5235EVB board. config M5249C3 bool "Motorola M5249C3 board support" depends on M5249 - select FREESCALE help 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 bool "Motorola M5272C3 board support" depends on M5272 - select FREESCALE help 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 bool "Intec Automation Inc. WildFire board support" depends on M528x @@ -328,14 +244,12 @@ config WILDFIREMOD config ARN5307 bool "Arnewsh 5307 board support" depends on M5307 - select ARNEWSH help Support for the Arnewsh 5307 board. config M5307C3 bool "Motorola M5307C3 board support" depends on M5307 - select FREESCALE help Support for the Motorola M5307C3 board. @@ -345,30 +259,9 @@ config SECUREEDGEMP3 help 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 bool "Motorola M5407C3 board support" depends on M5407 - select FREESCALE help Support for the Motorola M5407C3 board. @@ -402,39 +295,12 @@ config NETtel help 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 bool "Netburner MOD-5272 board support" depends on M5272 help 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 comment "Machine Options" -- cgit v1.2.1