On Wed, Jun 18, 2014 at 04:21:18PM -0600, Stephen Warren wrote: > On 06/18/2014 03:51 PM, Thierry Reding wrote: > > On Wed, Jun 18, 2014 at 03:19:15PM -0600, Stephen Warren wrote: > >> From: Stephen Warren <swarren@xxxxxxxxxx> > >> > >> When tegra-drm.ko is built as a module, these MODULE_DEVICE_TABLEs allow > >> the module to be auto-loaded since the module will match the devices > >> instantiated from device tree. > > > > I vaguely remember doing something like this a while back and getting a > > bunch of link-time errors. But I assume that you've tested this, so I > > must be remembering wrongly. > > Were the problems due to: > > a) Simply building the tegradrm driver as modules. > > I vaguely recall some runtime issues with tegradrm as a module, but I'm > not sure about build issues. I don't think this patch could make this > any worse. > > b) Building as modules works, but adding MODULE_DEVICE_TABLE broke that. I think it was this variant. Although adding MODULE_DEVICE_TABLE also broke building the driver as builtin module. I think the issue was that the linker was complaining about some symbol being defined multiple times. But admittedly this was a long time ago, so I'm not sure that my memory is entirely accurate. > This seems unlikely since *many* module in the kernel have a > MODULE_DEVICE_TABLE... > > Certainly, with this patch applied, building tegradrm as a module in > next-20140611 works out just fine, and the code runs fine too. Building > tegra_defconfig (which has tegradrm builtin) on Linus' master with this > patch applied also works out fine. Okay, sounds good then. I'll do some build testing to see if I can reproduce the errors, otherwise this looks good to me. Thierry
Attachment:
pgpmqyWS8d6tO.pgp
Description: PGP signature