Re: [PATCH] usb: udc: add gadget state kobject uevent

From: Peter Chen
Date: Tue Jul 16 2013 - 22:37:16 EST


On Mon, Jul 15, 2013 at 11:31:17PM -0700, Greg KH wrote:
> On Tue, Jul 16, 2013 at 11:49:07AM +0800, Rong Wang wrote:
> > Hi Greg,
> >
> > The USB on our platform can change roles between HOST and GADGET, but
> > it is not capable of OTG.
>
> That kind of sounds like the definition of OTG :)
>
> > When the USB changes between roles the udev will run some scripts
> > automatically according to the udev rules.
>
> What exactly does udev/userspace see when the roles change?
>
> And what can trigger the change in roles?
>
> > The default role is GADGET, and we bind the g_mass_storage to the USB
> > GADGET role.
> >
> > We should secure the back end file storage between the device and the
> > host PC connecting to our device.
> > We need to know when the GADGET is really connect to a host PC, then
> > we can umount the file on the device
> > and export it to the g_mass_storage.
>
> I thought you already get an event for this, otherwise no one would be
> able to properly deal with this.
>
> > The question is since we default GADGET, so the g_mass_storage.ko is
> > installed early but connecting to a host PC
> > is randomly, But the udev has no idea when a host PC connects our device.
> >
> > So we consider it's reasonable to let the udev know the GADGET device state.
> > Is there any alternative to our question?
>
> I thought we already export events for gadget device states, have you
> looked for them? I can't dig through the code at the moment, but this
> seems like a pretty common issue...
>

If I understand correctly, what Rong wants is udev can be notified the
udc state changes, like connect/disconnect event. Currently, we only
export it to /sys.

--

Best Regards,
Peter Chen

--
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/