The patch titled Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o has been added to the -mm tree. Its filename is define-module_system_table-for-mbp_nvidia_blo-and-applesmco.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o From: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> When compiling mbp_nvidia_bl.o and applesmc.o using gcc 3.3.5, the below compilation error occurs. CC [M] drivers/video/backlight/mbp_nvidia_bl.o drivers/video/backlight/mbp_nvidia_bl.c:114: error: storage size of `__mod_dmi_device_table' isn't known make[1]: *** [drivers/video/backlight/mbp_nvidia_bl.o] Error 1 make: *** [drivers/video/backlight/mbp_nvidia_bl.o] Error 2 CC [M] drivers/hwmon/applesmc.o drivers/hwmon/applesmc.c:1567: error: storage size of `__mod_dmi_device_table' isn't known make[1]: *** [drivers/hwmon/applesmc.o] Error 1 make: *** [drivers/hwmon/applesmc.o] Error 2 Diffs between 2.6.27.7 and 2.6.28-rc7 are shown below. # diff linux-2.6.27.7/drivers/video/backlight/mbp_nvidia_bl.c linux-2.6.28-rc7/drivers/video/backlight/mbp_nvidia_bl.c 114,116c114 < MODULE_ALIAS("svnAppleInc.:pnMacBookPro3,1"); < MODULE_ALIAS("svnAppleInc.:pnMacBookPro3,2"); < MODULE_ALIAS("svnAppleInc.:pnMacBookPro4,1"); --- > MODULE_DEVICE_TABLE(dmi, mbp_device_table); We can see that MODULE_ALIAS is replaced by MODULE_DEVICE_TABLE. mbp_nvidia_bl.c and applesmc.c are using MODULE_DEVICE_TABLE(dmi, ...); which will extracted to __mod_dmi_device_table, but it seems to me that dmi does not define __mod_dmi_device_table. I don't know why gcc 4.x doesn't trigger this compilation error. I don't know whether mbp_nvidia_bl.o and applesmc.o compiled with this patch work or not. Can somebody who has these hardwares try this patch? Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Nicolas Boichat <nicolas@xxxxxxxxxx> Cc: Matthew Garrett <mjg@xxxxxxxxxx> Cc: Henrik Rydberg <rydberg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/hwmon/applesmc.c | 2 +- drivers/video/backlight/mbp_nvidia_bl.c | 2 +- include/linux/module.h | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff -puN drivers/hwmon/applesmc.c~define-module_system_table-for-mbp_nvidia_blo-and-applesmco drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c~define-module_system_table-for-mbp_nvidia_blo-and-applesmco +++ a/drivers/hwmon/applesmc.c @@ -1564,4 +1564,4 @@ module_exit(applesmc_exit); MODULE_AUTHOR("Nicolas Boichat"); MODULE_DESCRIPTION("Apple SMC"); MODULE_LICENSE("GPL v2"); -MODULE_DEVICE_TABLE(dmi, applesmc_whitelist); +MODULE_SYSTEM_TABLE(dmi, applesmc_whitelist); diff -puN drivers/video/backlight/mbp_nvidia_bl.c~define-module_system_table-for-mbp_nvidia_blo-and-applesmco drivers/video/backlight/mbp_nvidia_bl.c --- a/drivers/video/backlight/mbp_nvidia_bl.c~define-module_system_table-for-mbp_nvidia_blo-and-applesmco +++ a/drivers/video/backlight/mbp_nvidia_bl.c @@ -111,4 +111,4 @@ module_exit(mbp_exit); MODULE_AUTHOR("Matthew Garrett <mjg@xxxxxxxxxx>"); MODULE_DESCRIPTION("Nvidia-based Macbook Pro Backlight Driver"); MODULE_LICENSE("GPL"); -MODULE_DEVICE_TABLE(dmi, mbp_device_table); +MODULE_SYSTEM_TABLE(dmi, mbp_device_table); diff -puN include/linux/module.h~define-module_system_table-for-mbp_nvidia_blo-and-applesmco include/linux/module.h --- a/include/linux/module.h~define-module_system_table-for-mbp_nvidia_blo-and-applesmco +++ a/include/linux/module.h @@ -139,6 +139,8 @@ extern struct module __this_module; #define MODULE_DEVICE_TABLE(type,name) \ MODULE_GENERIC_TABLE(type##_device,name) +#define MODULE_SYSTEM_TABLE(type,name) \ + MODULE_GENERIC_TABLE(type##_system,name) /* Version of form [<epoch>:]<version>[-<extra-version>]. Or for CVS/RCS ID version, everything but the number is stripped. _ Patches currently in -mm which might be from penguin-kernel@xxxxxxxxxxxxxxxxxxx are define-module_system_table-for-mbp_nvidia_blo-and-applesmco.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html