aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2005-06-21 20:16:55 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-21 22:07:39 -0400
commit27f931dac93057bbae691f66a49b11ff2f483bee (patch)
tree1b7692ed3b9c48048e89fd72bee5f6c45631263d
parente6afbe59710f65d92d00de1f3adb5514ef634110 (diff)
[PATCH] s1d13xxxfb linkage fix
s1d13xxxfb_remove() is referenced from s1d13xxxfb_probe(), which is marked __devinit(). So s1d13xxxfb_remove() cannot be marked __devexit. Does this all make sense? Clearly the __devexit section will still be in core when the __devinit code is run, if the driver was loaded as a module. But I suppose that if the driver is statically linked, the __devexit section might be dropped early in boot. Still, we wouldn't drop __devexit prior to initcall completion, at which point the __devinit code has all been run anyway. verdict: this code was legal and made sense. Is this a generic problem, or an arm-specific problem? UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 `.exit.text' referenced in section `.init.text' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o Cc: Russell King <rmk@arm.linux.org.uk> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/video/s1d13xxxfb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/s1d13xxxfb.c b/drivers/video/s1d13xxxfb.c
index b637c389e4f4..789de13f461f 100644
--- a/drivers/video/s1d13xxxfb.c
+++ b/drivers/video/s1d13xxxfb.c
@@ -493,7 +493,7 @@ s1d13xxxfb_fetch_hw_state(struct fb_info *info)
493} 493}
494 494
495 495
496static int __devexit 496static int
497s1d13xxxfb_remove(struct device *dev) 497s1d13xxxfb_remove(struct device *dev)
498{ 498{
499 struct fb_info *info = dev_get_drvdata(dev); 499 struct fb_info *info = dev_get_drvdata(dev);