Hi,

Alan Stern wrote:
On Wed, 29 Jun 2005, matthieu castet wrote:


Hi,

I am writing a driver for an usb device, and I want to support multi-device.
I want to allow some user configurations for the devices, so I use module options and module_param_array.

I would like to know if the device are always probed in the same order if we don't plug/unplug device on the usb bus.


The order of probing depends on several things, such as the order in which the host controller drivers are loaded. As long as those things don't change, the order of probing devices will remain the same.


In case I want to support plug/unplug, is there standard way to do it or it is considerered as worthless/too complex ?


A USB driver _has_ to support plug/unplug; you have no choice. Yes, there is a standard way to do it. Look at any of the USB drivers already in the kernel.

Sorry, I wasn't clear.
Of course, I support plug/unplug, but the configuration passed by module options can be used by the wrong device.

For example, in my probe I assign to the device the first free number and I used it as index for module options. So opt=1,2,3 will work if we don't plug/unplug the device as you said the probe order is the same for a module.

but if I unplug device 2, probe the devices and then plug device 3, the configuration will be wrong as the order seen by the driver will be : opt_device1=1, opt_device3=2, opt_device2=3 instead of opt_device1=1, opt_device2=2, opt_device3=3.

I have look in drivers/usb but there only 5 driver that use module_param_array. And these drivers often increment a static device number and fallback to 0 in case it is greater than the module_param_array array size. But if you plug/unplug the device, after 'module_param_array array size' only the defaut config will be used unless you reload the module. And the configuration won't work in case of missing device.

That's why I was wondering if it worth to support a more complex configuration for multi-device and if there are simple and working implementation for that.

I was considering to use device serial number.


Many USB devices don't have a serial number.

My usb device has one as it's contain its MAC adress.

thanks

Matthieu


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to