From: Mike Frysinger Date: Mon, 11 Jun 2007 07:31:30 +0000 (+0800) Subject: Blackfin arch: move more of our startup code to .init so it can be freed once we... X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=52a078120c33b06a9abb721357adaafc3b55b7c1;p=openwrt%2Fstaging%2Fblogic.git Blackfin arch: move more of our startup code to .init so it can be freed once we are up and running Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu --- diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 02dc74301920..d9517e7c792b 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c @@ -90,7 +90,7 @@ void __init bf53x_cache_init(void) #endif } -void bf53x_relocate_l1_mem(void) +void __init bf53x_relocate_l1_mem(void) { unsigned long l1_code_length; unsigned long l1_data_a_length; @@ -411,7 +411,7 @@ static int __init topology_init(void) subsys_initcall(topology_init); #if defined(CONFIG_BLKFIN_DCACHE) || defined(CONFIG_BLKFIN_CACHE) -u16 lock_kernel_check(u32 start, u32 end) +static u16 __init lock_kernel_check(u32 start, u32 end) { if ((start <= (u32) _stext && end >= (u32) _end) || (start >= (u32) _stext && end <= (u32) _end)) @@ -681,7 +681,7 @@ static void __init generate_cpl_tables(void) #endif -static inline u_long get_vco(void) +static u_long get_vco(void) { u_long msel; u_long vco; @@ -889,8 +889,8 @@ struct seq_operations cpuinfo_op = { .show = show_cpuinfo, }; -void cmdline_init(unsigned long r0) +void __init cmdline_init(char *r0) { if (r0) - strncpy(command_line, (char *)r0, COMMAND_LINE_SIZE); + strncpy(command_line, r0, COMMAND_LINE_SIZE); } diff --git a/arch/blackfin/mach-bf533/head.S b/arch/blackfin/mach-bf533/head.S index 33d1f623fe4e..7e2aa8d0f44f 100644 --- a/arch/blackfin/mach-bf533/head.S +++ b/arch/blackfin/mach-bf533/head.S @@ -28,6 +28,7 @@ */ #include +#include #include #if CONFIG_BFIN_KERNEL_CLOCK #include @@ -45,10 +46,9 @@ #define INITIAL_STACK 0xFFB01000 -.text +__INIT ENTRY(__start) -ENTRY(__stext) /* R0: argument of command line string, passed from uboot, save it */ R7 = R0; /* Set the SYSCFG register: @@ -266,6 +266,7 @@ ENTRY(__stext) .LWAIT_HERE: jump .LWAIT_HERE; +ENDPROC(__start) ENTRY(_real_start) [ -- sp ] = reti; @@ -334,9 +335,10 @@ ENTRY(_real_start) sp = r1; usp = sp; fp = sp; - call _start_kernel; -.L_exit: - jump.s .L_exit; + jump.l _start_kernel; +ENDPROC(_real_start) + +__FINIT .section .l1.text #if CONFIG_BFIN_KERNEL_CLOCK @@ -446,6 +448,7 @@ ENTRY(_start_dma_code) SSYNC; RTS; +ENDPROC(_start_dma_code) #endif /* CONFIG_BFIN_KERNEL_CLOCK */ ENTRY(_bfin_reset) diff --git a/arch/blackfin/mach-bf537/head.S b/arch/blackfin/mach-bf537/head.S index 3f490bfb73fa..7d902bbd860f 100644 --- a/arch/blackfin/mach-bf537/head.S +++ b/arch/blackfin/mach-bf537/head.S @@ -28,6 +28,7 @@ */ #include +#include #include #if CONFIG_BFIN_KERNEL_CLOCK #include @@ -42,10 +43,9 @@ #define INITIAL_STACK 0xFFB01000 -.text +__INIT ENTRY(__start) -ENTRY(__stext) /* R0: argument of command line string, passed from uboot, save it */ R7 = R0; /* Set the SYSCFG register: @@ -275,6 +275,7 @@ ENTRY(__stext) .LWAIT_HERE: jump .LWAIT_HERE; +ENDPROC(__start) ENTRY(_real_start) [ -- sp ] = reti; @@ -343,9 +344,10 @@ ENTRY(_real_start) sp = r1; usp = sp; fp = sp; - call _start_kernel; -.L_exit: - jump.s .L_exit; + jump.l _start_kernel; +ENDPROC(_real_start) + +__FINIT .section .l1.text #if CONFIG_BFIN_KERNEL_CLOCK @@ -464,6 +466,7 @@ ENTRY(_start_dma_code) SSYNC; RTS; +ENDPROC(_start_dma_code) #endif /* CONFIG_BFIN_KERNEL_CLOCK */ ENTRY(_bfin_reset) diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S index 3029e940ddcd..31cbc75c85cf 100644 --- a/arch/blackfin/mach-bf561/head.S +++ b/arch/blackfin/mach-bf561/head.S @@ -28,6 +28,7 @@ */ #include +#include #include #if CONFIG_BFIN_KERNEL_CLOCK #include @@ -42,10 +43,9 @@ #define INITIAL_STACK 0xFFB01000 -.text +__INIT ENTRY(__start) -ENTRY(__stext) /* R0: argument of command line string, passed from uboot, save it */ R7 = R0; /* Set the SYSCFG register: @@ -221,6 +221,7 @@ ENTRY(__stext) .LWAIT_HERE: jump .LWAIT_HERE; +ENDPROC(__start) ENTRY(_real_start) [ -- sp ] = reti; @@ -289,9 +290,10 @@ ENTRY(_real_start) sp = r1; usp = sp; fp = sp; - call _start_kernel; -.L_exit: - jump.s .L_exit; + jump.l _start_kernel; +ENDPROC(_real_start) + +__FINIT .section .l1.text #if CONFIG_BFIN_KERNEL_CLOCK @@ -393,6 +395,7 @@ ENTRY(_start_dma_code) SSYNC; RTS; +ENDPROC(_start_dma_code) #endif /* CONFIG_BFIN_KERNEL_CLOCK */ ENTRY(_bfin_reset)