Re: [RFC 0/2] USB gadget - configfs

From: Joel Becker
Date: Thu Aug 16 2012 - 21:46:55 EST


On Thu, Aug 16, 2012 at 03:47:15PM +0200, Sebastian Andrzej Siewior wrote:
> On 08/16/2012 03:17 PM, Andrzej Pietrasiewicz wrote:
> >A lun is "opened" on storing the "file" attribute of the lun, it is in
> >fsg_lun_store_file, storage_common.c. So, again, this is a configfs
> >callback.
> >
> >On storing the connect attribute, the following happens: a composite driver
> >is probed, then all the configurations are iterated over, their functions
> >being bound in turn. After the gadget is set up this way, the host notices
> >connecting a new mass storage device.
>
> The configuration has to remain unchanged until the "connect" attribute
> is changed (i.e. unconnected). That means the gadget can only be
> reconfigured once it is not active.

Yes, that's my understanding of the driver code. What I'm
trying to understand is the trigger for setting connect=1. See, all of
the other configfs steps you outlined make sense to me as "part of the
gadget's internal state". While I don't know what C1 and F1 are (I
assume G1 is Gadget1), I don't know that it matters.
What changes the state to "active"? That is, what triggers
setting connect=1? Is it just part of the flow of power-up, or is there
some separation between "setting myself up" and "seeing that a host
wants to talk to me"?

Joel

--

"The trouble with being punctual is that nobody's there to
appreciate it."
- Franklin P. Jones

http://www.jlbec.org/
jlbec@xxxxxxxxxxxx
--
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/