Re: [RFC 1/7] capebus: Core capebus support

From: Pantelis Antoniou
Date: Wed Oct 31 2012 - 18:07:12 EST



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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/