Re: USB hotplug: knowing which interface you are being called for
Duncan Sands <duncan.sands <at> math.u-psud.fr>
2003-02-26 20:11:46 GMT
On Wednesday 26 February 2003 18:04, Greg KH wrote:
> On Wed, Feb 26, 2003 at 04:39:36PM +0100, Duncan Sands wrote:
> > Greetings hotpluggers: when a USB device is plugged in (2.5), the
> > usb hotplugging scripts are called for each interface. I don't see a
> > convenient way to work out the interface number from the info passed
> > it, namely the path to the interface in sysfs. Any suggestions?
>
> As discussed on #kernelnewbies irc channel:
> basename $DEVPATH
> will give the interface number. Hm, you might have to search that
> result for a ":" and then use the number after that which is the
> interface number.
>
> And I'll go add endpoint info to the sysfs directory too, that should
> make your life easier, right?
Hi Greg, thanks for looking into this. You are right about the ":" of course.
It would be nice to have all the info about the interface present in the sysfs
directory (yes, including the interface number!), i.e. the same info as in
struct usb_interface. This creates some kind of equality between probe
methods and hotplugging scripts - and why not supply the info if it exists?
For the endpoints, I guess you are going to have to deal with alternate
interface settings as well. I can see two methods: (1) a subdirectory for
each alt setting, containing endpoints, (2) endpoints indexed by alt setting
and endpoint number.
By the way, how are different configurations dealt with in the sysfs tree?
All the best,
(Continue reading)