On 10 Feb 2005 at 14:15, Greg KH wrote: > On Thu, Feb 10, 2005 at 11:34:28PM +0200, Stephen Biggs wrote: > Content-Description: Mail message body > > Description: add MODULE definition compile fence so MODULE_DEVICE_TABLE > > vars not declared when compiled into the kernel > > > > Signed-off-by: Stephen Biggs > > > > 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 > > --- linux-2.6.11-rc3-mm-original/drivers/usb/class/usb-midi.h 2005-02-03 03:56:10.000000000 +0200 > > +++ linux-2.6.11-rc3-mm/drivers/usb/class/usb-midi.h 2005-02-07 21:19:25.000000000 +0200 > > @@ -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 */ > > 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. > > thanks, > > greg k-h >