* Re: [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o [not found] ` <493F1C96.5070400@bitmath.org> @ 2008-12-12 3:05 ` Tetsuo Handa 2008-12-12 4:25 ` Alexey Dobriyan 0 siblings, 1 reply; 7+ messages in thread From: Tetsuo Handa @ 2008-12-12 3:05 UTC (permalink / raw) To: rydberg Cc: torvalds, akpm, mjg, nicolas, rydberg, penguin-kernel, linux-kernel Henrik Rydberg wrote: > Umm... this does not work. At least the name change would have to be accompanied > by a corresponding change in scripts/mod/file2alias.c, in order to generate the > MODULE_ALIAS list in *.mod.c. I see. Here is updated one. ---------- Subject: [2.6.28-rc8] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o 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@I-love.SAKURA.ne.jp> Signed-off-by: Henrik Rydberg <rydberg@bitmath.org> --- drivers/hwmon/applesmc.c | 2 +- drivers/video/backlight/mbp_nvidia_bl.c | 2 +- include/linux/module.h | 2 ++ scripts/mod/file2alias.c | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) --- linux-2.6.28-rc8.orig/drivers/hwmon/applesmc.c +++ linux-2.6.28-rc8/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); --- linux-2.6.28-rc8.orig/drivers/video/backlight/mbp_nvidia_bl.c +++ linux-2.6.28-rc8/drivers/video/backlight/mbp_nvidia_bl.c @@ -111,4 +111,4 @@ module_exit(mbp_exit); MODULE_AUTHOR("Matthew Garrett <mjg@redhat.com>"); 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); --- linux-2.6.28-rc8.orig/include/linux/module.h +++ linux-2.6.28-rc8/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. --- linux-2.6.28-rc8.orig/scripts/mod/file2alias.c +++ linux-2.6.28-rc8/scripts/mod/file2alias.c @@ -831,7 +831,7 @@ void handle_moddevtable(struct module *m do_table(symval, sym->st_size, sizeof(struct i2c_device_id), "i2c", do_i2c_entry, mod); - else if (sym_is(symname, "__mod_dmi_device_table")) + else if (sym_is(symname, "__mod_dmi_system_table")) do_table(symval, sym->st_size, sizeof(struct dmi_system_id), "dmi", do_dmi_entry, mod); ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o 2008-12-12 3:05 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o Tetsuo Handa @ 2008-12-12 4:25 ` Alexey Dobriyan 2008-12-12 13:02 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.oand applesmc.o Tetsuo Handa 2009-01-27 6:59 ` Andrew Morton 0 siblings, 2 replies; 7+ messages in thread From: Alexey Dobriyan @ 2008-12-12 4:25 UTC (permalink / raw) To: Tetsuo Handa; +Cc: rydberg, torvalds, akpm, mjg, nicolas, rydberg, linux-kernel > -MODULE_DEVICE_TABLE(dmi, applesmc_whitelist); > +MODULE_SYSTEM_TABLE(dmi, applesmc_whitelist); I sent patch which does "#define dmi_device_id dmi_system_id" and thus avoids yet another wrapper. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.oand applesmc.o 2008-12-12 4:25 ` Alexey Dobriyan @ 2008-12-12 13:02 ` Tetsuo Handa 2008-12-19 12:47 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o Tetsuo Handa 2009-01-27 6:59 ` Andrew Morton 1 sibling, 1 reply; 7+ messages in thread From: Tetsuo Handa @ 2008-12-12 13:02 UTC (permalink / raw) To: adobriyan Cc: rydberg, torvalds, akpm, mjg, nicolas, rydberg, linux-kernel, penguin-kernel Alexey Dobriyan wrote: > > -MODULE_DEVICE_TABLE(dmi, applesmc_whitelist); > > +MODULE_SYSTEM_TABLE(dmi, applesmc_whitelist); > > I sent patch which does "#define dmi_device_id dmi_system_id" and thus > avoids yet another wrapper. > I see. I'll try your patch after it is merged (2.6.28-rc8-gitX or 2.6.28-rc9 ?). Thanks. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o 2008-12-12 13:02 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.oand applesmc.o Tetsuo Handa @ 2008-12-19 12:47 ` Tetsuo Handa 0 siblings, 0 replies; 7+ messages in thread From: Tetsuo Handa @ 2008-12-19 12:47 UTC (permalink / raw) To: adobriyan; +Cc: linux-kernel Tetsuo Handa wrote: > Alexey Dobriyan wrote: > > > -MODULE_DEVICE_TABLE(dmi, applesmc_whitelist); > > > +MODULE_SYSTEM_TABLE(dmi, applesmc_whitelist); > > > > I sent patch which does "#define dmi_device_id dmi_system_id" and thus > > avoids yet another wrapper. > > > I see. I'll try your patch after it is merged (2.6.28-rc8-gitX or 2.6.28-rc9 ?). It's 2.6.28-rc9 now, but your patch is not applied yet. Did somebody catch the "#define dmi_device_id dmi_system_id" patch? Thanks. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o 2008-12-12 4:25 ` Alexey Dobriyan 2008-12-12 13:02 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.oand applesmc.o Tetsuo Handa @ 2009-01-27 6:59 ` Andrew Morton 2009-01-27 18:11 ` Henrik Rydberg 2009-01-27 18:48 ` [PATCH] include/linux/mod_devicetable.h: fix compilation problem induced by MODULE_DEVICE_TABLE(dmi, ...) Henrik Rydberg 1 sibling, 2 replies; 7+ messages in thread From: Andrew Morton @ 2009-01-27 6:59 UTC (permalink / raw) To: Alexey Dobriyan Cc: Tetsuo Handa, rydberg, torvalds, mjg, nicolas, rydberg, linux-kernel On Fri, 12 Dec 2008 07:25:03 +0300 Alexey Dobriyan <adobriyan@gmail.com> wrote: > > -MODULE_DEVICE_TABLE(dmi, applesmc_whitelist); > > +MODULE_SYSTEM_TABLE(dmi, applesmc_whitelist); > > I sent patch which does "#define dmi_device_id dmi_system_id" and thus > avoids yet another wrapper. What was the fate of this patch? If it's still needed, please resend. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o 2009-01-27 6:59 ` Andrew Morton @ 2009-01-27 18:11 ` Henrik Rydberg 2009-01-27 18:48 ` [PATCH] include/linux/mod_devicetable.h: fix compilation problem induced by MODULE_DEVICE_TABLE(dmi, ...) Henrik Rydberg 1 sibling, 0 replies; 7+ messages in thread From: Henrik Rydberg @ 2009-01-27 18:11 UTC (permalink / raw) To: Andrew Morton Cc: Alexey Dobriyan, Tetsuo Handa, rydberg, torvalds, mjg, nicolas, linux-kernel Andrew Morton wrote: > On Fri, 12 Dec 2008 07:25:03 +0300 Alexey Dobriyan <adobriyan@gmail.com> wrote: > >>> -MODULE_DEVICE_TABLE(dmi, applesmc_whitelist); >>> +MODULE_SYSTEM_TABLE(dmi, applesmc_whitelist); >> I sent patch which does "#define dmi_device_id dmi_system_id" and thus >> avoids yet another wrapper. > > What was the fate of this patch? > > If it's still needed, please resend. I'll send David's minipatch to you shortly, for piece of mind. Thanks, Henrik ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] include/linux/mod_devicetable.h: fix compilation problem induced by MODULE_DEVICE_TABLE(dmi, ...) 2009-01-27 6:59 ` Andrew Morton 2009-01-27 18:11 ` Henrik Rydberg @ 2009-01-27 18:48 ` Henrik Rydberg 1 sibling, 0 replies; 7+ messages in thread From: Henrik Rydberg @ 2009-01-27 18:48 UTC (permalink / raw) To: Andrew Morton Cc: Alexey Dobriyan, Tetsuo Handa, torvalds, mjg, nicolas, linux-kernel, Henrik Rydberg From: Alexey Dobriyan <adobriyan@gmail.com> Bugzilla 12483: Kernel build fails with gcc3 (not gcc4), because MODULE_DEVICE_TABLE(dmi, ...) expands to extern const struct dmi_device_id __mod_dmi_device_table, and struct dmi_device_id doesn't exist. Steps to reproduce: Build kernel 2.6.28 or 2.6.29-rc2 on x86 with gcc 3. This patch remedies the problem. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> --- include/linux/mod_devicetable.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 97b91d1..aec76e6 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -443,6 +443,7 @@ struct dmi_system_id { struct dmi_strmatch matches[4]; void *driver_data; }; +#define dmi_device_id dmi_system_id #endif #define DMI_MATCH(a, b) { a, b } -- 1.5.6.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-01-27 18:48 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <200812092114.mB9LETsI027215@imap1.linux-foundation.org> [not found] ` <493F1C96.5070400@bitmath.org> 2008-12-12 3:05 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o Tetsuo Handa 2008-12-12 4:25 ` Alexey Dobriyan 2008-12-12 13:02 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.oand applesmc.o Tetsuo Handa 2008-12-19 12:47 ` [patch 18/19] Define MODULE_SYSTEM_TABLE for mbp_nvidia_bl.o and applesmc.o Tetsuo Handa 2009-01-27 6:59 ` Andrew Morton 2009-01-27 18:11 ` Henrik Rydberg 2009-01-27 18:48 ` [PATCH] include/linux/mod_devicetable.h: fix compilation problem induced by MODULE_DEVICE_TABLE(dmi, ...) Henrik Rydberg
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.