diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-21 17:30:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-21 17:30:37 -0400 |
commit | f62378fcfc9c13a57b0b69dbd43336a4df8155a5 (patch) | |
tree | b2682850f0d15079e0618ee09a23ba7ee71df55b | |
parent | a418500b42c5c54f3f9d68036950c701740a2765 (diff) | |
parent | 6a1ced59b3ac5d1088f597fd0613a724cdf19e2c (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
31 files changed, 62 insertions, 41 deletions
diff --git a/arch/arm/boot/compressed/ofw-shark.c b/arch/arm/boot/compressed/ofw-shark.c index 7f6f5db0d060..465c54b6b128 100644 --- a/arch/arm/boot/compressed/ofw-shark.c +++ b/arch/arm/boot/compressed/ofw-shark.c | |||
@@ -256,5 +256,5 @@ asmlinkage void ofw_init(ofw_handle_t o, int *nomr, int *pointer) | |||
256 | temp[11]='\0'; | 256 | temp[11]='\0'; |
257 | mem_len = OF_getproplen(o,phandle, temp); | 257 | mem_len = OF_getproplen(o,phandle, temp); |
258 | OF_getprop(o,phandle, temp, buffer, mem_len); | 258 | OF_getprop(o,phandle, temp, buffer, mem_len); |
259 | (unsigned char) pointer[32] = ((unsigned char *) buffer)[mem_len-2]; | 259 | * ((unsigned char *) &pointer[32]) = ((unsigned char *) buffer)[mem_len-2]; |
260 | } | 260 | } |
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 4554c961251c..e7d22dbcb691 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -624,6 +624,9 @@ void __attribute__((noreturn)) __bug(const char *file, int line, void *data) | |||
624 | printk(" - extra data = %p", data); | 624 | printk(" - extra data = %p", data); |
625 | printk("\n"); | 625 | printk("\n"); |
626 | *(int *)0 = 0; | 626 | *(int *)0 = 0; |
627 | |||
628 | /* Avoid "noreturn function does return" */ | ||
629 | for (;;); | ||
627 | } | 630 | } |
628 | EXPORT_SYMBOL(__bug); | 631 | EXPORT_SYMBOL(__bug); |
629 | 632 | ||
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index ad2d66c93a5c..08e58ecd44be 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
@@ -23,20 +23,20 @@ SECTIONS | |||
23 | *(.init.text) | 23 | *(.init.text) |
24 | _einittext = .; | 24 | _einittext = .; |
25 | __proc_info_begin = .; | 25 | __proc_info_begin = .; |
26 | *(.proc.info) | 26 | *(.proc.info.init) |
27 | __proc_info_end = .; | 27 | __proc_info_end = .; |
28 | __arch_info_begin = .; | 28 | __arch_info_begin = .; |
29 | *(.arch.info) | 29 | *(.arch.info.init) |
30 | __arch_info_end = .; | 30 | __arch_info_end = .; |
31 | __tagtable_begin = .; | 31 | __tagtable_begin = .; |
32 | *(.taglist) | 32 | *(.taglist.init) |
33 | __tagtable_end = .; | 33 | __tagtable_end = .; |
34 | . = ALIGN(16); | 34 | . = ALIGN(16); |
35 | __setup_start = .; | 35 | __setup_start = .; |
36 | *(.init.setup) | 36 | *(.init.setup) |
37 | __setup_end = .; | 37 | __setup_end = .; |
38 | __early_begin = .; | 38 | __early_begin = .; |
39 | *(__early_param) | 39 | *(.early_param.init) |
40 | __early_end = .; | 40 | __early_end = .; |
41 | __initcall_start = .; | 41 | __initcall_start = .; |
42 | *(.initcall1.init) | 42 | *(.initcall1.init) |
diff --git a/arch/arm/mach-s3c2410/mach-anubis.c b/arch/arm/mach-s3c2410/mach-anubis.c index f87aa0b669ad..7c05f27fe1d6 100644 --- a/arch/arm/mach-s3c2410/mach-anubis.c +++ b/arch/arm/mach-s3c2410/mach-anubis.c | |||
@@ -12,6 +12,7 @@ | |||
12 | * | 12 | * |
13 | * Modifications: | 13 | * Modifications: |
14 | * 02-May-2005 BJD Copied from mach-bast.c | 14 | * 02-May-2005 BJD Copied from mach-bast.c |
15 | * 20-Sep-2005 BJD Added static to non-exported items | ||
15 | */ | 16 | */ |
16 | 17 | ||
17 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
@@ -232,7 +233,7 @@ static struct s3c24xx_board anubis_board __initdata = { | |||
232 | .clocks_count = ARRAY_SIZE(anubis_clocks) | 233 | .clocks_count = ARRAY_SIZE(anubis_clocks) |
233 | }; | 234 | }; |
234 | 235 | ||
235 | void __init anubis_map_io(void) | 236 | static void __init anubis_map_io(void) |
236 | { | 237 | { |
237 | /* initialise the clocks */ | 238 | /* initialise the clocks */ |
238 | 239 | ||
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 1a3367da6408..ed1f07d7252f 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -31,6 +31,7 @@ | |||
31 | * 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s | 31 | * 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s |
32 | * 25-Jul-2005 BJD Removed ASIX static mappings | 32 | * 25-Jul-2005 BJD Removed ASIX static mappings |
33 | * 27-Jul-2005 BJD Ensure maximum frequency of i2c bus | 33 | * 27-Jul-2005 BJD Ensure maximum frequency of i2c bus |
34 | * 20-Sep-2005 BJD Added static to non-exported items | ||
34 | */ | 35 | */ |
35 | 36 | ||
36 | #include <linux/kernel.h> | 37 | #include <linux/kernel.h> |
@@ -428,7 +429,7 @@ static struct s3c24xx_board bast_board __initdata = { | |||
428 | .clocks_count = ARRAY_SIZE(bast_clocks) | 429 | .clocks_count = ARRAY_SIZE(bast_clocks) |
429 | }; | 430 | }; |
430 | 431 | ||
431 | void __init bast_map_io(void) | 432 | static void __init bast_map_io(void) |
432 | { | 433 | { |
433 | /* initialise the clocks */ | 434 | /* initialise the clocks */ |
434 | 435 | ||
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index 6ff1889fbd21..fb3cb01266e5 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
@@ -24,6 +24,7 @@ | |||
24 | * 10-Jan-2005 BJD Removed include of s3c2410.h | 24 | * 10-Jan-2005 BJD Removed include of s3c2410.h |
25 | * 14-Jan-2005 BJD Added clock init | 25 | * 14-Jan-2005 BJD Added clock init |
26 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | 26 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA |
27 | * 20-Sep-2005 BJD Added static to non-exported items | ||
27 | */ | 28 | */ |
28 | 29 | ||
29 | #include <linux/kernel.h> | 30 | #include <linux/kernel.h> |
@@ -147,7 +148,7 @@ static struct s3c24xx_board h1940_board __initdata = { | |||
147 | .devices_count = ARRAY_SIZE(h1940_devices) | 148 | .devices_count = ARRAY_SIZE(h1940_devices) |
148 | }; | 149 | }; |
149 | 150 | ||
150 | void __init h1940_map_io(void) | 151 | static void __init h1940_map_io(void) |
151 | { | 152 | { |
152 | s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc)); | 153 | s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc)); |
153 | s3c24xx_init_clocks(0); | 154 | s3c24xx_init_clocks(0); |
@@ -155,13 +156,13 @@ void __init h1940_map_io(void) | |||
155 | s3c24xx_set_board(&h1940_board); | 156 | s3c24xx_set_board(&h1940_board); |
156 | } | 157 | } |
157 | 158 | ||
158 | void __init h1940_init_irq(void) | 159 | static void __init h1940_init_irq(void) |
159 | { | 160 | { |
160 | s3c24xx_init_irq(); | 161 | s3c24xx_init_irq(); |
161 | 162 | ||
162 | } | 163 | } |
163 | 164 | ||
164 | void __init h1940_init(void) | 165 | static void __init h1940_init(void) |
165 | { | 166 | { |
166 | set_s3c2410fb_info(&h1940_lcdcfg); | 167 | set_s3c2410fb_info(&h1940_lcdcfg); |
167 | } | 168 | } |
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c index 66bf5bb2b3db..5c0f2b091f95 100644 --- a/arch/arm/mach-s3c2410/mach-n30.c +++ b/arch/arm/mach-s3c2410/mach-n30.c | |||
@@ -97,7 +97,7 @@ static struct s3c24xx_board n30_board __initdata = { | |||
97 | .devices_count = ARRAY_SIZE(n30_devices) | 97 | .devices_count = ARRAY_SIZE(n30_devices) |
98 | }; | 98 | }; |
99 | 99 | ||
100 | void __init n30_map_io(void) | 100 | static void __init n30_map_io(void) |
101 | { | 101 | { |
102 | s3c24xx_init_io(n30_iodesc, ARRAY_SIZE(n30_iodesc)); | 102 | s3c24xx_init_io(n30_iodesc, ARRAY_SIZE(n30_iodesc)); |
103 | s3c24xx_init_clocks(0); | 103 | s3c24xx_init_clocks(0); |
@@ -105,14 +105,14 @@ void __init n30_map_io(void) | |||
105 | s3c24xx_set_board(&n30_board); | 105 | s3c24xx_set_board(&n30_board); |
106 | } | 106 | } |
107 | 107 | ||
108 | void __init n30_init_irq(void) | 108 | static void __init n30_init_irq(void) |
109 | { | 109 | { |
110 | s3c24xx_init_irq(); | 110 | s3c24xx_init_irq(); |
111 | } | 111 | } |
112 | 112 | ||
113 | /* GPB3 is the line that controls the pull-up for the USB D+ line */ | 113 | /* GPB3 is the line that controls the pull-up for the USB D+ line */ |
114 | 114 | ||
115 | void __init n30_init(void) | 115 | static void __init n30_init(void) |
116 | { | 116 | { |
117 | s3c_device_i2c.dev.platform_data = &n30_i2ccfg; | 117 | s3c_device_i2c.dev.platform_data = &n30_i2ccfg; |
118 | 118 | ||
diff --git a/arch/arm/mach-s3c2410/mach-nexcoder.c b/arch/arm/mach-s3c2410/mach-nexcoder.c index d24c242414ca..c22f8216032d 100644 --- a/arch/arm/mach-s3c2410/mach-nexcoder.c +++ b/arch/arm/mach-s3c2410/mach-nexcoder.c | |||
@@ -136,7 +136,7 @@ static void __init nexcoder_sensorboard_init(void) | |||
136 | s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP); // CAM_GPIO6 => CAM_PWRDN | 136 | s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP); // CAM_GPIO6 => CAM_PWRDN |
137 | } | 137 | } |
138 | 138 | ||
139 | void __init nexcoder_map_io(void) | 139 | static void __init nexcoder_map_io(void) |
140 | { | 140 | { |
141 | s3c24xx_init_io(nexcoder_iodesc, ARRAY_SIZE(nexcoder_iodesc)); | 141 | s3c24xx_init_io(nexcoder_iodesc, ARRAY_SIZE(nexcoder_iodesc)); |
142 | s3c24xx_init_clocks(0); | 142 | s3c24xx_init_clocks(0); |
diff --git a/arch/arm/mach-s3c2410/mach-otom.c b/arch/arm/mach-s3c2410/mach-otom.c index d901ed492ff5..ad1459e402e2 100644 --- a/arch/arm/mach-s3c2410/mach-otom.c +++ b/arch/arm/mach-s3c2410/mach-otom.c | |||
@@ -105,7 +105,7 @@ static struct s3c24xx_board otom11_board __initdata = { | |||
105 | }; | 105 | }; |
106 | 106 | ||
107 | 107 | ||
108 | void __init otom11_map_io(void) | 108 | static void __init otom11_map_io(void) |
109 | { | 109 | { |
110 | s3c24xx_init_io(otom11_iodesc, ARRAY_SIZE(otom11_iodesc)); | 110 | s3c24xx_init_io(otom11_iodesc, ARRAY_SIZE(otom11_iodesc)); |
111 | s3c24xx_init_clocks(0); | 111 | s3c24xx_init_clocks(0); |
diff --git a/arch/arm/mach-s3c2410/mach-rx3715.c b/arch/arm/mach-s3c2410/mach-rx3715.c index a73d61c1de46..22d9e070fd68 100644 --- a/arch/arm/mach-s3c2410/mach-rx3715.c +++ b/arch/arm/mach-s3c2410/mach-rx3715.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * 14-Jan-2005 BJD Added new clock init | 16 | * 14-Jan-2005 BJD Added new clock init |
17 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | 17 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA |
18 | * 14-Mar-2005 BJD Fixed __iomem warnings | 18 | * 14-Mar-2005 BJD Fixed __iomem warnings |
19 | * 20-Sep-2005 BJD Added static to non-exported items | ||
19 | */ | 20 | */ |
20 | 21 | ||
21 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
@@ -108,7 +109,7 @@ static struct s3c24xx_board rx3715_board __initdata = { | |||
108 | .devices_count = ARRAY_SIZE(rx3715_devices) | 109 | .devices_count = ARRAY_SIZE(rx3715_devices) |
109 | }; | 110 | }; |
110 | 111 | ||
111 | void __init rx3715_map_io(void) | 112 | static void __init rx3715_map_io(void) |
112 | { | 113 | { |
113 | s3c24xx_init_io(rx3715_iodesc, ARRAY_SIZE(rx3715_iodesc)); | 114 | s3c24xx_init_io(rx3715_iodesc, ARRAY_SIZE(rx3715_iodesc)); |
114 | s3c24xx_init_clocks(16934000); | 115 | s3c24xx_init_clocks(16934000); |
@@ -116,7 +117,7 @@ void __init rx3715_map_io(void) | |||
116 | s3c24xx_set_board(&rx3715_board); | 117 | s3c24xx_set_board(&rx3715_board); |
117 | } | 118 | } |
118 | 119 | ||
119 | void __init rx3715_init_irq(void) | 120 | static void __init rx3715_init_irq(void) |
120 | { | 121 | { |
121 | s3c24xx_init_irq(); | 122 | s3c24xx_init_irq(); |
122 | } | 123 | } |
diff --git a/arch/arm/mach-s3c2410/mach-smdk2410.c b/arch/arm/mach-s3c2410/mach-smdk2410.c index 67e903a700d3..2eda55a6b678 100644 --- a/arch/arm/mach-s3c2410/mach-smdk2410.c +++ b/arch/arm/mach-s3c2410/mach-smdk2410.c | |||
@@ -28,6 +28,7 @@ | |||
28 | * Ben Dooks <ben@simtec.co.uk> | 28 | * Ben Dooks <ben@simtec.co.uk> |
29 | * | 29 | * |
30 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | 30 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA |
31 | * 20-Sep-2005 BJD Added static to non-exported items | ||
31 | * | 32 | * |
32 | ***********************************************************************/ | 33 | ***********************************************************************/ |
33 | 34 | ||
@@ -97,7 +98,7 @@ static struct s3c24xx_board smdk2410_board __initdata = { | |||
97 | .devices_count = ARRAY_SIZE(smdk2410_devices) | 98 | .devices_count = ARRAY_SIZE(smdk2410_devices) |
98 | }; | 99 | }; |
99 | 100 | ||
100 | void __init smdk2410_map_io(void) | 101 | static void __init smdk2410_map_io(void) |
101 | { | 102 | { |
102 | s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc)); | 103 | s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc)); |
103 | s3c24xx_init_clocks(0); | 104 | s3c24xx_init_clocks(0); |
@@ -105,7 +106,7 @@ void __init smdk2410_map_io(void) | |||
105 | s3c24xx_set_board(&smdk2410_board); | 106 | s3c24xx_set_board(&smdk2410_board); |
106 | } | 107 | } |
107 | 108 | ||
108 | void __init smdk2410_init_irq(void) | 109 | static void __init smdk2410_init_irq(void) |
109 | { | 110 | { |
110 | s3c24xx_init_irq(); | 111 | s3c24xx_init_irq(); |
111 | } | 112 | } |
diff --git a/arch/arm/mach-s3c2410/mach-smdk2440.c b/arch/arm/mach-s3c2410/mach-smdk2440.c index 357522106f68..722ef46b630a 100644 --- a/arch/arm/mach-s3c2410/mach-smdk2440.c +++ b/arch/arm/mach-s3c2410/mach-smdk2440.c | |||
@@ -18,6 +18,7 @@ | |||
18 | * 22-Feb-2005 BJD Updated for 2.6.11-rc5 relesa | 18 | * 22-Feb-2005 BJD Updated for 2.6.11-rc5 relesa |
19 | * 10-Mar-2005 LCVR Replaced S3C2410_VA by S3C24XX_VA | 19 | * 10-Mar-2005 LCVR Replaced S3C2410_VA by S3C24XX_VA |
20 | * 14-Mar-2005 BJD void __iomem fixes | 20 | * 14-Mar-2005 BJD void __iomem fixes |
21 | * 20-Sep-2005 BJD Added static to non-exported items | ||
21 | */ | 22 | */ |
22 | 23 | ||
23 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
@@ -98,7 +99,7 @@ static struct s3c24xx_board smdk2440_board __initdata = { | |||
98 | .devices_count = ARRAY_SIZE(smdk2440_devices) | 99 | .devices_count = ARRAY_SIZE(smdk2440_devices) |
99 | }; | 100 | }; |
100 | 101 | ||
101 | void __init smdk2440_map_io(void) | 102 | static void __init smdk2440_map_io(void) |
102 | { | 103 | { |
103 | s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc)); | 104 | s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc)); |
104 | s3c24xx_init_clocks(16934400); | 105 | s3c24xx_init_clocks(16934400); |
@@ -106,7 +107,7 @@ void __init smdk2440_map_io(void) | |||
106 | s3c24xx_set_board(&smdk2440_board); | 107 | s3c24xx_set_board(&smdk2440_board); |
107 | } | 108 | } |
108 | 109 | ||
109 | void __init smdk2440_machine_init(void) | 110 | static void __init smdk2440_machine_init(void) |
110 | { | 111 | { |
111 | /* Configure the LEDs (even if we have no LED support)*/ | 112 | /* Configure the LEDs (even if we have no LED support)*/ |
112 | 113 | ||
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c index 8f9ab2893df4..663a7f98fc0b 100644 --- a/arch/arm/mach-s3c2410/mach-vr1000.c +++ b/arch/arm/mach-s3c2410/mach-vr1000.c | |||
@@ -28,6 +28,7 @@ | |||
28 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | 28 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA |
29 | * 14-Mar-2006 BJD void __iomem fixes | 29 | * 14-Mar-2006 BJD void __iomem fixes |
30 | * 22-Jun-2006 BJD Added DM9000 platform information | 30 | * 22-Jun-2006 BJD Added DM9000 platform information |
31 | * 20-Sep-2005 BJD Added static to non-exported items | ||
31 | */ | 32 | */ |
32 | 33 | ||
33 | #include <linux/kernel.h> | 34 | #include <linux/kernel.h> |
@@ -347,7 +348,7 @@ static void vr1000_power_off(void) | |||
347 | s3c2410_gpio_setpin(S3C2410_GPB9, 1); | 348 | s3c2410_gpio_setpin(S3C2410_GPB9, 1); |
348 | } | 349 | } |
349 | 350 | ||
350 | void __init vr1000_map_io(void) | 351 | static void __init vr1000_map_io(void) |
351 | { | 352 | { |
352 | /* initialise clock sources */ | 353 | /* initialise clock sources */ |
353 | 354 | ||
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 0b6c4db44e08..4a884baf3b9c 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c | |||
@@ -233,7 +233,17 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) | |||
233 | if (in_interrupt() || !mm) | 233 | if (in_interrupt() || !mm) |
234 | goto no_context; | 234 | goto no_context; |
235 | 235 | ||
236 | down_read(&mm->mmap_sem); | 236 | /* |
237 | * As per x86, we may deadlock here. However, since the kernel only | ||
238 | * validly references user space from well defined areas of the code, | ||
239 | * we can bug out early if this is from code which shouldn't. | ||
240 | */ | ||
241 | if (!down_read_trylock(&mm->mmap_sem)) { | ||
242 | if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc)) | ||
243 | goto no_context; | ||
244 | down_read(&mm->mmap_sem); | ||
245 | } | ||
246 | |||
237 | fault = __do_page_fault(mm, addr, fsr, tsk); | 247 | fault = __do_page_fault(mm, addr, fsr, tsk); |
238 | up_read(&mm->mmap_sem); | 248 | up_read(&mm->mmap_sem); |
239 | 249 | ||
diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S index 1d739d282a45..82ec954e45b6 100644 --- a/arch/arm/mm/proc-arm1020.S +++ b/arch/arm/mm/proc-arm1020.S | |||
@@ -509,7 +509,7 @@ cpu_arm1020_name: | |||
509 | 509 | ||
510 | .align | 510 | .align |
511 | 511 | ||
512 | .section ".proc.info", #alloc, #execinstr | 512 | .section ".proc.info.init", #alloc, #execinstr |
513 | 513 | ||
514 | .type __arm1020_proc_info,#object | 514 | .type __arm1020_proc_info,#object |
515 | __arm1020_proc_info: | 515 | __arm1020_proc_info: |
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S index 9b725665b5c7..7375fe930f72 100644 --- a/arch/arm/mm/proc-arm1020e.S +++ b/arch/arm/mm/proc-arm1020e.S | |||
@@ -491,7 +491,7 @@ cpu_arm1020e_name: | |||
491 | 491 | ||
492 | .align | 492 | .align |
493 | 493 | ||
494 | .section ".proc.info", #alloc, #execinstr | 494 | .section ".proc.info.init", #alloc, #execinstr |
495 | 495 | ||
496 | .type __arm1020e_proc_info,#object | 496 | .type __arm1020e_proc_info,#object |
497 | __arm1020e_proc_info: | 497 | __arm1020e_proc_info: |
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S index 37b70fa21c76..6ca639094d6f 100644 --- a/arch/arm/mm/proc-arm1022.S +++ b/arch/arm/mm/proc-arm1022.S | |||
@@ -473,7 +473,7 @@ cpu_arm1022_name: | |||
473 | 473 | ||
474 | .align | 474 | .align |
475 | 475 | ||
476 | .section ".proc.info", #alloc, #execinstr | 476 | .section ".proc.info.init", #alloc, #execinstr |
477 | 477 | ||
478 | .type __arm1022_proc_info,#object | 478 | .type __arm1022_proc_info,#object |
479 | __arm1022_proc_info: | 479 | __arm1022_proc_info: |
diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S index 931b690d1be2..10317e4f55d2 100644 --- a/arch/arm/mm/proc-arm1026.S +++ b/arch/arm/mm/proc-arm1026.S | |||
@@ -469,7 +469,7 @@ cpu_arm1026_name: | |||
469 | 469 | ||
470 | .align | 470 | .align |
471 | 471 | ||
472 | .section ".proc.info", #alloc, #execinstr | 472 | .section ".proc.info.init", #alloc, #execinstr |
473 | 473 | ||
474 | .type __arm1026_proc_info,#object | 474 | .type __arm1026_proc_info,#object |
475 | __arm1026_proc_info: | 475 | __arm1026_proc_info: |
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S index d0f1bbb48f6c..8e7e1e70ab05 100644 --- a/arch/arm/mm/proc-arm6_7.S +++ b/arch/arm/mm/proc-arm6_7.S | |||
@@ -332,7 +332,7 @@ cpu_arm710_name: | |||
332 | 332 | ||
333 | .align | 333 | .align |
334 | 334 | ||
335 | .section ".proc.info", #alloc, #execinstr | 335 | .section ".proc.info.init", #alloc, #execinstr |
336 | 336 | ||
337 | .type __arm6_proc_info, #object | 337 | .type __arm6_proc_info, #object |
338 | __arm6_proc_info: | 338 | __arm6_proc_info: |
diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S index c69c9de32391..a13e0184d343 100644 --- a/arch/arm/mm/proc-arm720.S +++ b/arch/arm/mm/proc-arm720.S | |||
@@ -222,7 +222,7 @@ cpu_arm720_name: | |||
222 | * See linux/include/asm-arm/procinfo.h for a definition of this structure. | 222 | * See linux/include/asm-arm/procinfo.h for a definition of this structure. |
223 | */ | 223 | */ |
224 | 224 | ||
225 | .section ".proc.info", #alloc, #execinstr | 225 | .section ".proc.info.init", #alloc, #execinstr |
226 | 226 | ||
227 | .type __arm710_proc_info, #object | 227 | .type __arm710_proc_info, #object |
228 | __arm710_proc_info: | 228 | __arm710_proc_info: |
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S index 0f490a0fcb71..d16513899999 100644 --- a/arch/arm/mm/proc-arm920.S +++ b/arch/arm/mm/proc-arm920.S | |||
@@ -452,7 +452,7 @@ cpu_arm920_name: | |||
452 | 452 | ||
453 | .align | 453 | .align |
454 | 454 | ||
455 | .section ".proc.info", #alloc, #execinstr | 455 | .section ".proc.info.init", #alloc, #execinstr |
456 | 456 | ||
457 | .type __arm920_proc_info,#object | 457 | .type __arm920_proc_info,#object |
458 | __arm920_proc_info: | 458 | __arm920_proc_info: |
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S index 62bc34a139ee..23b8ed97f4e3 100644 --- a/arch/arm/mm/proc-arm922.S +++ b/arch/arm/mm/proc-arm922.S | |||
@@ -456,7 +456,7 @@ cpu_arm922_name: | |||
456 | 456 | ||
457 | .align | 457 | .align |
458 | 458 | ||
459 | .section ".proc.info", #alloc, #execinstr | 459 | .section ".proc.info.init", #alloc, #execinstr |
460 | 460 | ||
461 | .type __arm922_proc_info,#object | 461 | .type __arm922_proc_info,#object |
462 | __arm922_proc_info: | 462 | __arm922_proc_info: |
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S index ee49aa2ca781..ee95c52db513 100644 --- a/arch/arm/mm/proc-arm925.S +++ b/arch/arm/mm/proc-arm925.S | |||
@@ -521,7 +521,7 @@ cpu_arm925_name: | |||
521 | 521 | ||
522 | .align | 522 | .align |
523 | 523 | ||
524 | .section ".proc.info", #alloc, #execinstr | 524 | .section ".proc.info.init", #alloc, #execinstr |
525 | 525 | ||
526 | .type __arm925_proc_info,#object | 526 | .type __arm925_proc_info,#object |
527 | __arm925_proc_info: | 527 | __arm925_proc_info: |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index bb95cc9fed03..7d042dc20c47 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -471,7 +471,7 @@ cpu_arm926_name: | |||
471 | 471 | ||
472 | .align | 472 | .align |
473 | 473 | ||
474 | .section ".proc.info", #alloc, #execinstr | 474 | .section ".proc.info.init", #alloc, #execinstr |
475 | 475 | ||
476 | .type __arm926_proc_info,#object | 476 | .type __arm926_proc_info,#object |
477 | __arm926_proc_info: | 477 | __arm926_proc_info: |
diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S index 34f7e7d3f419..bd330c4075a1 100644 --- a/arch/arm/mm/proc-sa110.S +++ b/arch/arm/mm/proc-sa110.S | |||
@@ -249,7 +249,7 @@ cpu_sa110_name: | |||
249 | 249 | ||
250 | .align | 250 | .align |
251 | 251 | ||
252 | .section ".proc.info", #alloc, #execinstr | 252 | .section ".proc.info.init", #alloc, #execinstr |
253 | 253 | ||
254 | .type __sa110_proc_info,#object | 254 | .type __sa110_proc_info,#object |
255 | __sa110_proc_info: | 255 | __sa110_proc_info: |
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S index ca14f80d5ab4..91b89124c0d7 100644 --- a/arch/arm/mm/proc-sa1100.S +++ b/arch/arm/mm/proc-sa1100.S | |||
@@ -280,7 +280,7 @@ cpu_sa1110_name: | |||
280 | 280 | ||
281 | .align | 281 | .align |
282 | 282 | ||
283 | .section ".proc.info", #alloc, #execinstr | 283 | .section ".proc.info.init", #alloc, #execinstr |
284 | 284 | ||
285 | .type __sa1100_proc_info,#object | 285 | .type __sa1100_proc_info,#object |
286 | __sa1100_proc_info: | 286 | __sa1100_proc_info: |
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index eb34823c9dbf..caf3b19b167f 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S | |||
@@ -240,7 +240,7 @@ cpu_elf_name: | |||
240 | .size cpu_elf_name, . - cpu_elf_name | 240 | .size cpu_elf_name, . - cpu_elf_name |
241 | .align | 241 | .align |
242 | 242 | ||
243 | .section ".proc.info", #alloc, #execinstr | 243 | .section ".proc.info.init", #alloc, #execinstr |
244 | 244 | ||
245 | /* | 245 | /* |
246 | * Match any ARMv6 processor core. | 246 | * Match any ARMv6 processor core. |
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S index b88de2700146..861b35947280 100644 --- a/arch/arm/mm/proc-xscale.S +++ b/arch/arm/mm/proc-xscale.S | |||
@@ -578,7 +578,7 @@ cpu_pxa270_name: | |||
578 | 578 | ||
579 | .align | 579 | .align |
580 | 580 | ||
581 | .section ".proc.info", #alloc, #execinstr | 581 | .section ".proc.info.init", #alloc, #execinstr |
582 | 582 | ||
583 | .type __80200_proc_info,#object | 583 | .type __80200_proc_info,#object |
584 | __80200_proc_info: | 584 | __80200_proc_info: |
diff --git a/drivers/acorn/char/pcf8583.c b/drivers/acorn/char/pcf8583.c index 141b4c237a50..2b850e5860a0 100644 --- a/drivers/acorn/char/pcf8583.c +++ b/drivers/acorn/char/pcf8583.c | |||
@@ -23,12 +23,13 @@ static struct i2c_driver pcf8583_driver; | |||
23 | 23 | ||
24 | static unsigned short ignore[] = { I2C_CLIENT_END }; | 24 | static unsigned short ignore[] = { I2C_CLIENT_END }; |
25 | static unsigned short normal_addr[] = { 0x50, I2C_CLIENT_END }; | 25 | static unsigned short normal_addr[] = { 0x50, I2C_CLIENT_END }; |
26 | static unsigned short *forces[] = { NULL }; | ||
26 | 27 | ||
27 | static struct i2c_client_address_data addr_data = { | 28 | static struct i2c_client_address_data addr_data = { |
28 | .normal_i2c = normal_addr, | 29 | .normal_i2c = normal_addr, |
29 | .probe = ignore, | 30 | .probe = ignore, |
30 | .ignore = ignore, | 31 | .ignore = ignore, |
31 | .force = ignore, | 32 | .forces = forces, |
32 | }; | 33 | }; |
33 | 34 | ||
34 | #define DAT(x) ((unsigned int)(x->dev.driver_data)) | 35 | #define DAT(x) ((unsigned int)(x->dev.driver_data)) |
diff --git a/include/asm-arm/mach/arch.h b/include/asm-arm/mach/arch.h index 56c6bf4ab0c3..4fa95084a8c0 100644 --- a/include/asm-arm/mach/arch.h +++ b/include/asm-arm/mach/arch.h | |||
@@ -50,7 +50,7 @@ struct machine_desc { | |||
50 | */ | 50 | */ |
51 | #define MACHINE_START(_type,_name) \ | 51 | #define MACHINE_START(_type,_name) \ |
52 | const struct machine_desc __mach_desc_##_type \ | 52 | const struct machine_desc __mach_desc_##_type \ |
53 | __attribute__((__section__(".arch.info"))) = { \ | 53 | __attribute__((__section__(".arch.info.init"))) = { \ |
54 | .nr = MACH_TYPE_##_type, \ | 54 | .nr = MACH_TYPE_##_type, \ |
55 | .name = _name, | 55 | .name = _name, |
56 | 56 | ||
diff --git a/include/asm-arm/setup.h b/include/asm-arm/setup.h index adcbd79762bf..ea3ed2465233 100644 --- a/include/asm-arm/setup.h +++ b/include/asm-arm/setup.h | |||
@@ -171,7 +171,7 @@ struct tagtable { | |||
171 | int (*parse)(const struct tag *); | 171 | int (*parse)(const struct tag *); |
172 | }; | 172 | }; |
173 | 173 | ||
174 | #define __tag __attribute_used__ __attribute__((__section__(".taglist"))) | 174 | #define __tag __attribute_used__ __attribute__((__section__(".taglist.init"))) |
175 | #define __tagtable(tag, fn) \ | 175 | #define __tagtable(tag, fn) \ |
176 | static struct tagtable __tagtable_##fn __tag = { tag, fn } | 176 | static struct tagtable __tagtable_##fn __tag = { tag, fn } |
177 | 177 | ||
@@ -213,6 +213,6 @@ struct early_params { | |||
213 | 213 | ||
214 | #define __early_param(name,fn) \ | 214 | #define __early_param(name,fn) \ |
215 | static struct early_params __early_##fn __attribute_used__ \ | 215 | static struct early_params __early_##fn __attribute_used__ \ |
216 | __attribute__((__section__("__early_param"))) = { name, fn } | 216 | __attribute__((__section__(".early_param.init"))) = { name, fn } |
217 | 217 | ||
218 | #endif | 218 | #endif |