[REPOST][TRIVIAL][PATCH 1/1] Fix various section mismatches in 2.6.30-rc7

From: Pranith Kumar
Date: Fri May 29 2009 - 03:25:03 EST


Hello,

Fix the following section mismatches reported by

$make CONFIG_DEBUG_SECTION_MISMATCH=y

For the first warning, intel_lvds_init might get called after module
has been loaded,
intel_no_lvds shouldn't be marked __initdata.

For the others the explanation is in the below warnings.

WARNING: vmlinux.o(.text+0x25ad83): Section mismatch in reference from
the function intel_lvds_init() to the variable
.init.data:intel_no_lvds
The function intel_lvds_init() references
the variable __initdata intel_no_lvds.
This is often because intel_lvds_init lacks a __initdata
annotation or the annotation of intel_no_lvds is wrong.

WARNING: vmlinux.o(.text+0x26308b): Section mismatch in reference from
the function intel_opregion_free() to the function
.exit.text:acpi_video_exit()
The function intel_opregion_free() references a function in an exit section.
Often the function acpi_video_exit() has valid usage outside the exit section
and the fix is to remove the __exit annotation of acpi_video_exit.

WARNING: vmlinux.o(__ksymtab+0x75f0): Section mismatch in reference
from the variable __ksymtab_acpi_video_exit to the function
.exit.text:acpi_video_exit()
The symbol acpi_video_exit is exported and annotated __exit
Fix this by removing the __exit annotation of acpi_video_exit or drop
the export.



Thanks,
Pranith.

Signed-off-by: D Pranith Kumar <bobby.prani@xxxxxxxxx>
Cc: Dave Airlie <airlied@xxxxxxxx>

diff -uprN -X linux-2.6.30-rc7-vanilla/Documentation/dontdiff
linux-2.6.30-rc7-vanilla/drivers/acpi/video.c
linux-2.6.30-rc7/drivers/acpi/video.c
--- linux-2.6.30-rc7-vanilla/drivers/acpi/video.c 2009-05-26
13:40:14.000000000 +0530
+++ linux-2.6.30-rc7/drivers/acpi/video.c 2009-05-26 13:27:59.000000000 +0530
@@ -2334,7 +2334,7 @@ static int __init acpi_video_init(void)
return acpi_video_register();
}

-void __exit acpi_video_exit(void)
+void acpi_video_exit(void)
{

acpi_bus_unregister_driver(&acpi_video_bus);
diff -uprN -X linux-2.6.30-rc7-vanilla/Documentation/dontdiff
linux-2.6.30-rc7-vanilla/drivers/gpu/drm/i915/intel_lvds.c
linux-2.6.30-rc7/drivers/gpu/drm/i915/intel_lvds.c
--- linux-2.6.30-rc7-vanilla/drivers/gpu/drm/i915/intel_lvds.c 2009-05-26
13:40:14.000000000 +0530
+++ linux-2.6.30-rc7/drivers/gpu/drm/i915/intel_lvds.c 2009-05-26
13:25:50.000000000 +0530
@@ -391,7 +391,7 @@ static int __init intel_no_lvds_dmi_call
}

/* These systems claim to have LVDS, but really don't */
-static const struct dmi_system_id __initdata intel_no_lvds[] = {
+static const struct dmi_system_id intel_no_lvds[] = {
{
.callback = intel_no_lvds_dmi_callback,
.ident = "Apple Mac Mini (Core series)",
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/