Skip to contentSkip to conversation

framebuffer: fix carminefb section mismatch

PATCH Superseded Randy Dunlap 3 participants 5 messages Oct 8, 2008 – Oct 13, 2008 Framebuffer layer

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 framebuffer: fix carminefb section mismatch

From: Randy Dunlap <[email protected]>

Could fix a dangerous problem since

	info->fix = carminefb_fix;

and info->fix can be used at any time later (in carmine_set_par()).

WARNING: drivers/video/carminefb.o(.text+0x81b): Section mismatch in reference from the function alloc_carmine_fb() to the variable .devinit.data:carminefb_fix The function alloc_carmine_fb() references
the variable __devinitdata carminefb_fix.
This is often because alloc_carmine_fb lacks a __devinitdata
annotation or the annotation of carminefb_fix is wrong.

cc Sebastian Siewior <[email protected]>
---
 drivers/video/carminefb.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/video/carminefb.c +1 -1
@@ -76,7 +76,7 @@ struct carmine_fb {
 	u32 pseudo_palette[16];
 };
 
-static struct fb_fix_screeninfo carminefb_fix __devinitdata = {
+static struct fb_fix_screeninfo carminefb_fix = {
 	.id = "Carmine",
 	.type = FB_TYPE_PACKED_PIXELS,
 	.visual = FB_VISUAL_TRUECOLOR,

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

#1 lore raw
Quoted 5 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

Could fix a dangerous problem since

	info->fix = carminefb_fix;

and info->fix can be used at any time later (in carmine_set_par()).

This is a full copy of the contents, not a pointer to the original.

Quoted 15 lines

WARNING: drivers/video/carminefb.o(.text+0x81b): Section mismatch in reference from the function alloc_carmine_fb() to the variable .devinit.data:carminefb_fix The function alloc_carmine_fb() references
the variable __devinitdata carminefb_fix.
This is often because alloc_carmine_fb lacks a __devinitdata
annotation or the annotation of carminefb_fix is wrong.

cc Sebastian Siewior <[email protected]>
---
 drivers/video/carminefb.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

drivers/video/carminefb.c struct carmine_fb { · line 82

Quoted 8 lines
drivers/video/carminefb.c +1 -1
@@ -76,7 +76,7 @@ struct carmine_fb {
 	u32 pseudo_palette[16];
 };
 
-static struct fb_fix_screeninfo carminefb_fix __devinitdata = {
+static struct fb_fix_screeninfo carminefb_fix = {
 	.id = "Carmine",
 	.type = FB_TYPE_PACKED_PIXELS,
 	.visual = FB_VISUAL_TRUECOLOR,

alloc_carmine_fb() should be __devinit instead?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

#2 lore raw
Quoted 8 lines · Geert Uytterhoeven
Quoted 5 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

Could fix a dangerous problem since

	info->fix = carminefb_fix;

and info->fix can be used at any time later (in carmine_set_par()).

This is a full copy of the contents, not a pointer to the original.

Argh, darn it. Thanks.

Quoted 18 lines
Quoted 18 lines

WARNING: drivers/video/carminefb.o(.text+0x81b): Section mismatch in reference from the function alloc_carmine_fb() to the variable .devinit.data:carminefb_fix The function alloc_carmine_fb() references
the variable __devinitdata carminefb_fix.
This is often because alloc_carmine_fb lacks a __devinitdata
annotation or the annotation of carminefb_fix is wrong.

cc Sebastian Siewior <[email protected]>
---
 drivers/video/carminefb.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/video/carminefb.c +0 -0
@@ -76,7 +76,7 @@ struct carmine_fb {
 	u32 pseudo_palette[16];
 };
 
Quoted 7 lines

drivers/video/carminefb.c struct carmine_fb { · line 82

Quoted 5 lines
drivers/video/carminefb.c +1 -1
-static struct fb_fix_screeninfo carminefb_fix __devinitdata = {
+static struct fb_fix_screeninfo carminefb_fix = {
 	.id = "Carmine",
 	.type = FB_TYPE_PACKED_PIXELS,
 	.visual = FB_VISUAL_TRUECOLOR,

alloc_carmine_fb() should be __devinit instead?

I'll check on that.

Thanks again for checking.

Signature · 7 lines
~Randy

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
#3 lore raw

PATCH v2 1/1 framebuffer: fix carminefb section mismatch

From: Randy Dunlap <[email protected]>

Make alloc_carmine_fb() __devinit.

WARNING: drivers/video/carminefb.o(.text+0x81b): Section mismatch in reference from the function alloc_carmine_fb() to the variable .devinit.data:carminefb_fix The function alloc_carmine_fb() references
the variable __devinitdata carminefb_fix.
This is often because alloc_carmine_fb lacks a __devinitdata
annotation or the annotation of carminefb_fix is wrong.

cc Sebastian Siewior <[email protected]>
---
 drivers/video/carminefb.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/video/carminefb.c +1 -1
@@ -535,7 +535,7 @@ static struct fb_ops carminefb_ops = {
 	.fb_setcolreg	= carmine_setcolreg,
 };
 
-static int alloc_carmine_fb(void __iomem *regs, void __iomem *smem_base,
+static int __devinit alloc_carmine_fb(void __iomem *regs, void __iomem *smem_base,
 		int smem_offset, struct device *device, struct fb_info **rinfo)
 {
 	int ret;

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

#4 lore raw
Quoted 4 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

Make alloc_carmine_fb() __devinit.

Quoted 8 lines

WARNING: drivers/video/carminefb.o(.text+0x81b): Section mismatch in reference from the function alloc_carmine_fb() to the variable .devinit.data:carminefb_fix The function alloc_carmine_fb() references
the variable __devinitdata carminefb_fix.
This is often because alloc_carmine_fb lacks a __devinitdata
annotation or the annotation of carminefb_fix is wrong.

cc Sebastian Siewior <[email protected]>

Thx for the patch Randy. I see Andrew slipped it allready in his queue.

Sebastian

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/