* 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.