Re: Non-enumerable devices on USB and other enumerable buses

From: Mark Brown
Date: Fri Aug 16 2013 - 14:40:36 EST


On Fri, Aug 16, 2013 at 10:42:10AM -0400, Alan Stern wrote:

> Okay, let's see if I understand your problem. You've got a driver that
...
> Is that it?

Yes, I think that's it.

> The difficulty with the first proposal is that subsystems aren't
> designed to allow that sort of thing. They expect to be able to
> communicate with the devices they manage, during enumeration and
> probing at least. The difficulty with the second proposal is that it
> requires duplicating the power-on code.

> My feeling is that the second answer involves less work and less
> complexity than the first. Both proposals require additional
> "run-once" code (to do the partial instantiations or the initial
> power-ons), but the first proposal also requires the subsystem's
> detection and enumeration routines to be adjusted so that they can work
> even when the device is incommunicado.

Right, but like I say I'm not sure that the modifications required are
substantially different to those for handling a device powering up and
down on the bus or those for getting platform data to a device when it
does enumerate. I'd also not be so sure about the run once code, that
is only the case for devices that can't completely idle themselves at
runtime.

> (The second proposal also has the advantage that the power-on code may
> be shared between the driver and the subsystem.)

Can you explain in more detail please, I don't follow?

Attachment: signature.asc
Description: Digital signature