summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Kretzschmar <henne@nachtwindheim.de>2010-08-10 18:02:28 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-11 08:59:09 -0700
commitec81c9cc2f58a3a9f9637c390ea83efe9f91abf7 (patch)
treecfb2273a616d3f8ac2f9cdd8c9708200ddfe50a6
parentc34f16b70a52e348a62944fe0d5c7c1eb9ad5b72 (diff)
downloadop-kernel-dev-ec81c9cc2f58a3a9f9637c390ea83efe9f91abf7.zip
op-kernel-dev-ec81c9cc2f58a3a9f9637c390ea83efe9f91abf7.tar.gz
fbdev: efifb: section fixes
Remove 43 section mismatches by moving the two structures efifb_defined and efifb_fix from .init.data to .devinit.data. Also the two structure arrays dmi_system_table[] and dmi_list[] have been moved from .data to .init.rodata and .init.data, which saves, if built-in, some space. On x86_64 'size -A' showed that these sections changed size: efifb.o: section size-old size-new .data 1200 688 .init.data 7840 512 .init.rodata 0 7568 .devinit.data 0 256 Total 11927 11911 Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de> Cc: Peter Jones <pjones@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/video/efifb.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
index 4a56f46af..815f84b 100644
--- a/drivers/video/efifb.c
+++ b/drivers/video/efifb.c
@@ -16,7 +16,7 @@
#include <video/vga.h>
-static struct fb_var_screeninfo efifb_defined __initdata = {
+static struct fb_var_screeninfo efifb_defined __devinitdata = {
.activate = FB_ACTIVATE_NOW,
.height = -1,
.width = -1,
@@ -27,7 +27,7 @@ static struct fb_var_screeninfo efifb_defined __initdata = {
.vmode = FB_VMODE_NONINTERLACED,
};
-static struct fb_fix_screeninfo efifb_fix __initdata = {
+static struct fb_fix_screeninfo efifb_fix __devinitdata = {
.id = "EFI VGA",
.type = FB_TYPE_PACKED_PIXELS,
.accel = FB_ACCEL_NONE,
@@ -59,7 +59,7 @@ static struct efifb_dmi_info {
int stride;
int width;
int height;
-} dmi_list[] = {
+} dmi_list[] __initdata = {
[M_I17] = { "i17", 0x80010000, 1472 * 4, 1440, 900 },
[M_I20] = { "i20", 0x80010000, 1728 * 4, 1680, 1050 }, /* guess */
[M_I20_SR] = { "imac7", 0x40010000, 1728 * 4, 1680, 1050 },
@@ -83,7 +83,7 @@ static int set_system(const struct dmi_system_id *id);
DMI_MATCH(DMI_PRODUCT_NAME, name) }, \
&dmi_list[enumid] }
-static struct dmi_system_id __initdata dmi_system_table[] = {
+static const struct dmi_system_id dmi_system_table[] __initconst = {
EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "iMac4,1", M_I17),
/* At least one of these two will be right; maybe both? */
EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "iMac5,1", M_I20),
OpenPOWER on IntegriCloud