diff options
-rw-r--r-- | arch/powerpc/kernel/prom_init.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/spu_base.c | 11 | ||||
-rw-r--r-- | arch/um/include/shared/init.h | 2 | ||||
-rw-r--r-- | drivers/video/logo/logo.c | 15 | ||||
-rw-r--r-- | include/linux/init.h | 2 | ||||
-rw-r--r-- | include/linux/linux_logo.h | 16 | ||||
-rw-r--r-- | scripts/pnmtologo.c | 18 |
7 files changed, 28 insertions, 39 deletions
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 2f0e64b53642..ef6f64950e9b 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -44,10 +44,7 @@ | |||
44 | #include <asm/sections.h> | 44 | #include <asm/sections.h> |
45 | #include <asm/machdep.h> | 45 | #include <asm/machdep.h> |
46 | 46 | ||
47 | #ifdef CONFIG_LOGO_LINUX_CLUT224 | ||
48 | #include <linux/linux_logo.h> | 47 | #include <linux/linux_logo.h> |
49 | extern const struct linux_logo logo_linux_clut224; | ||
50 | #endif | ||
51 | 48 | ||
52 | /* | 49 | /* |
53 | * Properties whose value is longer than this get excluded from our | 50 | * Properties whose value is longer than this get excluded from our |
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index 9abd210d87c1..8547e86bfb42 100644 --- a/arch/powerpc/platforms/cell/spu_base.c +++ b/arch/powerpc/platforms/cell/spu_base.c | |||
@@ -752,17 +752,8 @@ static int __init init_spu_base(void) | |||
752 | goto out_unregister_sysdev_class; | 752 | goto out_unregister_sysdev_class; |
753 | } | 753 | } |
754 | 754 | ||
755 | if (ret > 0) { | 755 | if (ret > 0) |
756 | /* | ||
757 | * We cannot put the forward declaration in | ||
758 | * <linux/linux_logo.h> because of conflicting session type | ||
759 | * conflicts for const and __initdata with different compiler | ||
760 | * versions | ||
761 | */ | ||
762 | extern const struct linux_logo logo_spe_clut224; | ||
763 | |||
764 | fb_append_extra_logo(&logo_spe_clut224, ret); | 756 | fb_append_extra_logo(&logo_spe_clut224, ret); |
765 | } | ||
766 | 757 | ||
767 | mutex_lock(&spu_full_list_mutex); | 758 | mutex_lock(&spu_full_list_mutex); |
768 | xmon_register_spus(&spu_full_list); | 759 | xmon_register_spus(&spu_full_list); |
diff --git a/arch/um/include/shared/init.h b/arch/um/include/shared/init.h index 37dd097c16c0..b3906f860a87 100644 --- a/arch/um/include/shared/init.h +++ b/arch/um/include/shared/init.h | |||
@@ -27,7 +27,7 @@ | |||
27 | * sign followed by value, e.g.: | 27 | * sign followed by value, e.g.: |
28 | * | 28 | * |
29 | * static int init_variable __initdata = 0; | 29 | * static int init_variable __initdata = 0; |
30 | * static char linux_logo[] __initdata = { 0x32, 0x36, ... }; | 30 | * static const char linux_logo[] __initconst = { 0x32, 0x36, ... }; |
31 | * | 31 | * |
32 | * Don't forget to initialize data not at file scope, i.e. within a function, | 32 | * Don't forget to initialize data not at file scope, i.e. within a function, |
33 | * as gcc otherwise puts the data into the bss section and not into the init | 33 | * as gcc otherwise puts the data into the bss section and not into the init |
diff --git a/drivers/video/logo/logo.c b/drivers/video/logo/logo.c index 2e85a2b52d05..ea7a8ccc830c 100644 --- a/drivers/video/logo/logo.c +++ b/drivers/video/logo/logo.c | |||
@@ -21,21 +21,6 @@ | |||
21 | #include <asm/bootinfo.h> | 21 | #include <asm/bootinfo.h> |
22 | #endif | 22 | #endif |
23 | 23 | ||
24 | extern const struct linux_logo logo_linux_mono; | ||
25 | extern const struct linux_logo logo_linux_vga16; | ||
26 | extern const struct linux_logo logo_linux_clut224; | ||
27 | extern const struct linux_logo logo_blackfin_vga16; | ||
28 | extern const struct linux_logo logo_blackfin_clut224; | ||
29 | extern const struct linux_logo logo_dec_clut224; | ||
30 | extern const struct linux_logo logo_mac_clut224; | ||
31 | extern const struct linux_logo logo_parisc_clut224; | ||
32 | extern const struct linux_logo logo_sgi_clut224; | ||
33 | extern const struct linux_logo logo_sun_clut224; | ||
34 | extern const struct linux_logo logo_superh_mono; | ||
35 | extern const struct linux_logo logo_superh_vga16; | ||
36 | extern const struct linux_logo logo_superh_clut224; | ||
37 | extern const struct linux_logo logo_m32r_clut224; | ||
38 | |||
39 | static int nologo; | 24 | static int nologo; |
40 | module_param(nologo, bool, 0); | 25 | module_param(nologo, bool, 0); |
41 | MODULE_PARM_DESC(nologo, "Disables startup logo"); | 26 | MODULE_PARM_DESC(nologo, "Disables startup logo"); |
diff --git a/include/linux/init.h b/include/linux/init.h index b2189803f19a..8c2c9989626d 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -29,7 +29,7 @@ | |||
29 | * sign followed by value, e.g.: | 29 | * sign followed by value, e.g.: |
30 | * | 30 | * |
31 | * static int init_variable __initdata = 0; | 31 | * static int init_variable __initdata = 0; |
32 | * static char linux_logo[] __initdata = { 0x32, 0x36, ... }; | 32 | * static const char linux_logo[] __initconst = { 0x32, 0x36, ... }; |
33 | * | 33 | * |
34 | * Don't forget to initialize data not at file scope, i.e. within a function, | 34 | * Don't forget to initialize data not at file scope, i.e. within a function, |
35 | * as gcc otherwise puts the data into the bss section and not into the init | 35 | * as gcc otherwise puts the data into the bss section and not into the init |
diff --git a/include/linux/linux_logo.h b/include/linux/linux_logo.h index 08a92969c76e..ca5bd91d12e1 100644 --- a/include/linux/linux_logo.h +++ b/include/linux/linux_logo.h | |||
@@ -32,6 +32,22 @@ struct linux_logo { | |||
32 | const unsigned char *data; | 32 | const unsigned char *data; |
33 | }; | 33 | }; |
34 | 34 | ||
35 | extern const struct linux_logo logo_linux_mono; | ||
36 | extern const struct linux_logo logo_linux_vga16; | ||
37 | extern const struct linux_logo logo_linux_clut224; | ||
38 | extern const struct linux_logo logo_blackfin_vga16; | ||
39 | extern const struct linux_logo logo_blackfin_clut224; | ||
40 | extern const struct linux_logo logo_dec_clut224; | ||
41 | extern const struct linux_logo logo_mac_clut224; | ||
42 | extern const struct linux_logo logo_parisc_clut224; | ||
43 | extern const struct linux_logo logo_sgi_clut224; | ||
44 | extern const struct linux_logo logo_sun_clut224; | ||
45 | extern const struct linux_logo logo_superh_mono; | ||
46 | extern const struct linux_logo logo_superh_vga16; | ||
47 | extern const struct linux_logo logo_superh_clut224; | ||
48 | extern const struct linux_logo logo_m32r_clut224; | ||
49 | extern const struct linux_logo logo_spe_clut224; | ||
50 | |||
35 | extern const struct linux_logo *fb_find_logo(int depth); | 51 | extern const struct linux_logo *fb_find_logo(int depth); |
36 | #ifdef CONFIG_FB_LOGO_EXTRA | 52 | #ifdef CONFIG_FB_LOGO_EXTRA |
37 | extern void fb_append_extra_logo(const struct linux_logo *logo, | 53 | extern void fb_append_extra_logo(const struct linux_logo *logo, |
diff --git a/scripts/pnmtologo.c b/scripts/pnmtologo.c index 6aa2a2483f8d..64f5ddb09ea6 100644 --- a/scripts/pnmtologo.c +++ b/scripts/pnmtologo.c | |||
@@ -237,22 +237,22 @@ static void write_header(void) | |||
237 | fprintf(out, " * Linux logo %s\n", logoname); | 237 | fprintf(out, " * Linux logo %s\n", logoname); |
238 | fputs(" */\n\n", out); | 238 | fputs(" */\n\n", out); |
239 | fputs("#include <linux/linux_logo.h>\n\n", out); | 239 | fputs("#include <linux/linux_logo.h>\n\n", out); |
240 | fprintf(out, "static unsigned char %s_data[] __initdata = {\n", | 240 | fprintf(out, "static const unsigned char %s_data[] __initconst = {\n", |
241 | logoname); | 241 | logoname); |
242 | } | 242 | } |
243 | 243 | ||
244 | static void write_footer(void) | 244 | static void write_footer(void) |
245 | { | 245 | { |
246 | fputs("\n};\n\n", out); | 246 | fputs("\n};\n\n", out); |
247 | fprintf(out, "struct linux_logo %s __initdata = {\n", logoname); | 247 | fprintf(out, "const struct linux_logo %s __initconst = {\n", logoname); |
248 | fprintf(out, " .type\t= %s,\n", logo_types[logo_type]); | 248 | fprintf(out, "\t.type\t\t= %s,\n", logo_types[logo_type]); |
249 | fprintf(out, " .width\t= %d,\n", logo_width); | 249 | fprintf(out, "\t.width\t\t= %d,\n", logo_width); |
250 | fprintf(out, " .height\t= %d,\n", logo_height); | 250 | fprintf(out, "\t.height\t\t= %d,\n", logo_height); |
251 | if (logo_type == LINUX_LOGO_CLUT224) { | 251 | if (logo_type == LINUX_LOGO_CLUT224) { |
252 | fprintf(out, " .clutsize\t= %d,\n", logo_clutsize); | 252 | fprintf(out, "\t.clutsize\t= %d,\n", logo_clutsize); |
253 | fprintf(out, " .clut\t= %s_clut,\n", logoname); | 253 | fprintf(out, "\t.clut\t\t= %s_clut,\n", logoname); |
254 | } | 254 | } |
255 | fprintf(out, " .data\t= %s_data\n", logoname); | 255 | fprintf(out, "\t.data\t\t= %s_data\n", logoname); |
256 | fputs("};\n\n", out); | 256 | fputs("};\n\n", out); |
257 | 257 | ||
258 | /* close logo file */ | 258 | /* close logo file */ |
@@ -374,7 +374,7 @@ static void write_logo_clut224(void) | |||
374 | fputs("\n};\n\n", out); | 374 | fputs("\n};\n\n", out); |
375 | 375 | ||
376 | /* write logo clut */ | 376 | /* write logo clut */ |
377 | fprintf(out, "static unsigned char %s_clut[] __initdata = {\n", | 377 | fprintf(out, "static const unsigned char %s_clut[] __initconst = {\n", |
378 | logoname); | 378 | logoname); |
379 | write_hex_cnt = 0; | 379 | write_hex_cnt = 0; |
380 | for (i = 0; i < logo_clutsize; i++) { | 380 | for (i = 0; i < logo_clutsize; i++) { |