On Sat, May 22, 2010 at 12:44:32AM +0300, Felipe Contreras wrote: > [no changes since the last v2, just rebased on top of the latest > git://gitorious.org/~doyu/lk/mainline.git for-tony-mailbox] > > Currently, the code is split into three places: > 1) mach-omapX/devices.c: for platform_device_register() the resources > 2) mach-omapX/mailbox.c: do platform_driver_register(), fetch the resources, > and register logical mailboxes with omap_mbox_register() > 3) plat-omap/mailbox.c: implement omap_mbox_register() to add the mbox > to an internal linked list (static struct omap_mbox *mboxes) > > So, obviously 1) is always built-in, but 2) can't be because of the > dependency of omap_mbox_register(), which is in 3) and cannot be taken > out. > > Users of mailbox will load 3) due to omap_mbox_get(), but not 2), > therefore, no mailboxes will be registered. This doesn't make sense - why would 3 be loaded due to the dependency which comes from 2, but not 2? The only reason 3 would be loaded due to that dependency is if 2 were being modprobed, which means it's going to be inserted after 3 anyway. I don't see anything else in 3 which would trigger it to be loaded. The "platform:omap2-mailbox" module alias of 2 should result in 2 being modprobed, causing 3 to be loaded to satisfy the dependency. As already pointed out, this should happen as a result of udev or (older) hotplug initialization. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html