Skip to contentSkip to conversation

drivers/usb/class/* - compile warning cleanup

PATCH In review Stephen Biggs 2 participants 4 messages Feb 10, 2005 – Feb 11, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 17/26 drivers/usb/class/* - compile warning cleanup

Description: add MODULE definition compile fence so MODULE_DEVICE_TABLE vars not declared when compiled into the kernel

drivers/usb/class/usb-midi.h +2 -0
diff -Nurdp -X dontdiff-osdl linux-2.6.11-rc3-mm-original/drivers/usb/class/usb-midi.h linux-2.6.11-rc3-mm/drivers/usb/class/usb-midi.h
@@ -139,6 +139,7 @@ static struct usb_midi_device usb_midi_d
 
 #define VENDOR_SPECIFIC_USB_MIDI_DEVICES (sizeof(usb_midi_devices)/sizeof(struct usb_midi_device))
 
+#ifdef MODULE
 /* for Hot-Plugging */
 
 static struct usb_device_id usb_midi_ids [] = {
@@ -157,6 +158,7 @@ static struct usb_device_id usb_midi_ids
 };
 
 MODULE_DEVICE_TABLE (usb, usb_midi_ids);
+#endif /* MODULE */
 
 /* ------------------------------------------------------------------------- */
 #endif /* _USB_MIDI_H_ */

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#1 lore raw

On Thu, Feb 10, 2005 at 11:34:28PM +0200, Stephen Biggs wrote:
Content-Description: Mail message body

Quoted 17 lines

Description: add MODULE definition compile fence so MODULE_DEVICE_TABLE vars not declared when compiled into the kernel

diff -Nurdp -X dontdiff-osdl linux-2.6.11-rc3-mm-original/drivers/usb/class/usb-midi.h linux-2.6.11-rc3-mm/drivers/usb/class/usb-midi.h

drivers/usb/class/usb-midi.h +1 -0
@@ -139,6 +139,7 @@ static struct usb_midi_device usb_midi_d
 
 #define VENDOR_SPECIFIC_USB_MIDI_DEVICES (sizeof(usb_midi_devices)/sizeof(struct usb_midi_device))
 
+#ifdef MODULE
 /* for Hot-Plugging */
 
 static struct usb_device_id usb_midi_ids [] = {

drivers/usb/class/usb-midi.h static struct usb_device_id usb_midi_ids · line 161

Quoted 4 lines
drivers/usb/class/usb-midi.h +1 -0
@@ -157,6 +158,7 @@ static struct usb_device_id usb_midi_ids
 };
 
 MODULE_DEVICE_TABLE (usb, usb_midi_ids);
+#endif /* MODULE */

No, these types of "fixes" have been rejected many times in the past, and will be rejected again... It's just not worth it.

thanks,

greg k-h

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#2 lore raw
In reply to Stephen Biggs
Quoted 21 lines · Greg KH

On Thu, Feb 10, 2005 at 11:34:28PM +0200, Stephen Biggs wrote:
Content-Description: Mail message body

Quoted 19 lines

Description: add MODULE definition compile fence so MODULE_DEVICE_TABLE vars not declared when compiled into the kernel

diff -Nurdp -X dontdiff-osdl linux-2.6.11-rc3-mm-original/drivers/usb/class/usb-midi.h linux-2.6.11-rc3-mm/drivers/usb/class/usb-midi.h

drivers/usb/class/usb-midi.h +1 -0
@@ -139,6 +139,7 @@ static struct usb_midi_device usb_midi_d
 
 #define VENDOR_SPECIFIC_USB_MIDI_DEVICES (sizeof(usb_midi_devices)/sizeof(struct usb_midi_device))
 
+#ifdef MODULE
 /* for Hot-Plugging */
 
 static struct usb_device_id usb_midi_ids [] = {
@@ -157,6 +158,7 @@ static struct usb_device_id usb_midi_ids
 };
 
Quoted 5 lines

drivers/usb/class/usb-midi.h static struct usb_device_id usb_midi_ids · line 161

Quoted 2 lines
drivers/usb/class/usb-midi.h +1 -0
 MODULE_DEVICE_TABLE (usb, usb_midi_ids);
+#endif /* MODULE */

No, these types of "fixes" have been rejected many times in the past, and will be rejected again... It's just not worth it.

Ok, I'm in this to learn... can you provide a link to some discussion where this is talked about in the context of a rejected patch? What is a better solution to this? I thought this was the cleanest way to do this.

Why is this a "fix" to you (in quotation marks)? If the driver is compiled as a module, then this table is used, but if it is compiled into the kernel, it doesn't need the table... this is more of a module interface design issue in the kernel than it is about a fix that takes care of the problem.

Please advise, or if you don't want to rehash something, please point me to some sort of discussion somewhere else, if you can.

Quoted 5 lines

thanks,

greg k-h

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#3 lore raw
In reply to Stephen Biggs
Quoted 29 lines · Stephen Biggs
Quoted 21 lines · Greg KH

On Thu, Feb 10, 2005 at 11:34:28PM +0200, Stephen Biggs wrote:
Content-Description: Mail message body

Quoted 19 lines

Description: add MODULE definition compile fence so MODULE_DEVICE_TABLE vars not declared when compiled into the kernel

diff -Nurdp -X dontdiff-osdl linux-2.6.11-rc3-mm-original/drivers/usb/class/usb-midi.h linux-2.6.11-rc3-mm/drivers/usb/class/usb-midi.h

drivers/usb/class/usb-midi.h +1 -0
@@ -139,6 +139,7 @@ static struct usb_midi_device usb_midi_d
 
 #define VENDOR_SPECIFIC_USB_MIDI_DEVICES (sizeof(usb_midi_devices)/sizeof(struct usb_midi_device))
 
+#ifdef MODULE
 /* for Hot-Plugging */
 
 static struct usb_device_id usb_midi_ids [] = {
@@ -157,6 +158,7 @@ static struct usb_device_id usb_midi_ids
 };
 
Quoted 5 lines

drivers/usb/class/usb-midi.h static struct usb_device_id usb_midi_ids · line 161

Quoted 2 lines
drivers/usb/class/usb-midi.h +1 -0
 MODULE_DEVICE_TABLE (usb, usb_midi_ids);
+#endif /* MODULE */

No, these types of "fixes" have been rejected many times in the past, and will be rejected again... It's just not worth it.

Quoted 3 lines

Ok, I'm in this to learn... can you provide a link to some discussion where this is talked about in the context of a rejected patch? What is a better solution to this? I thought this was the cleanest way to do this.

I can't think of the exact link, but this has come up every so often over the past 4 years on the linux-kernel mailing list.

Quoted 5 lines

Why is this a "fix" to you (in quotation marks)? If the driver is compiled as a module, then this table is used, but if it is compiled into the kernel, it doesn't need the table... this is more of a module interface design issue in the kernel than it is about a fix that takes care of the problem.

It's not good to put #ifdefs in .c files. And to do this, just for the one odd person that does not build with modules enabled, and do it for every driver in the system, is not a valid idea. A better idea would be to fix the MODULE_DEVICE_TABLE() macro to be marked __unused__ or something, so the compiler warning will not happen. That way one fix solves it for everyone.

good luck,

greg k-h

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors