On Oct 31, 2012, at 11:55 PM, Russ Dill wrote: > On Wed, Oct 31, 2012 at 9:52 AM, Pantelis Antoniou > <panto@xxxxxxxxxxxxxxxxxxxxxxx> wrote: >> Introducing capebus; a bus that allows small boards (capes) to connect >> to a complex SoC using simple expansion connectors. >> [snip] >> + if (drv) { >> + /* call the removed bus method (if added prev.) */ >> + if (cape_dev->added) { >> + BUG_ON(cape_dev->bus == NULL); >> + BUG_ON(cape_dev->bus->ops == NULL); >> + if (cape_dev->bus->ops->dev_removed) >> + cape_dev->bus->ops->dev_removed(cape_dev); >> + cape_dev->added = 0; >> + } > > Is there any case where added will not track drv? Yes, there is a corner case here. There is the case where while the device is created there is no matching driver yet. Either that's the case of a not supported cape, or the cape driver hasn't been loaded yet. We do need the device to be created, so that the user can browse in the sysfs it's eeprom attributes. There's some further complications with runtime cape overrides, but that's the gist of it. >> -- >> 1.7.12 >> >> -- >> 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 Regards -- Pantelis -- 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