this ioctl calls usb_unbind_interface() directly. It seems to me that this
will make the driver model's view inconsistent.

How?

I was under the impression that driverfs keeps records of associations of drivers and devices. Doesn't it?


Hm, good point, it does.  Bleah, we need a way to disconnect stuff from
the driver core without actually deleting the device :(

If usb_release_interface() doesn't use device_release_driver(), it's not the fault of this ioctl ...

Maybe it's finally time to get rid of the driver pointer inside
"struct usb_interface", using the driver model to do that?  (Just
like the driver data pointer.)  Then usb_release_interface() would
call device_release_driver() ... and usb_claim_interface() would
call device_bind_driver().


IMHO this ioctl, is a layering violation and should be replaced in
driverfs.

It's not a layering violation to let user-mode software override policies defaulted by the kernel ... like the policy overridden by this ioctl, giving kernel drivers priority over user-mode drivers.

You are right. But the issue is in no way specific to USB. I have no problem with the syscall as such, but I think it should be in driverfs, not usbfs.


Agreed. Any proposals on how to do it?

Make the unlink("/sys/bus/usb/drivers/WHATEVER/INTERFACE") syscalls work. That's annoyingly indirect, since the link is from driver to device (not device to driver), but it's the only way this binding shows up in sysfs.

- Dave



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to