On Mon, May 4, 2009 at 16:07, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Sun, 3 May 2009, Kay Sievers wrote: > >> Updated patch, including the device_type. It still creates >> "4-0:1.0-ep81" names, please change this to whatever you guys decide is >> the best. > > I still see a few problems. The patch keeps both > usb_endpoint_major_init() and usb_endpoint_major_cleanup(), although > neither function does anything. However it calls the first and not the > second. We should either get rid of them entirely or call both. Right, forgot the add the cleanup to the core exit routine. Added. > In usb.c, the __find_interface() function needs to test > is_usb_interface(). In case a driver would bind to an endpoint, right? Added. > In driver.c, the sanity checks in usb_probe_device() and > usb_probe_interface() can be removed. Removed. > usb_uevent() needs to test > is_usb_interface(). Done. Now the real question is: do we want to keep the logic for the endpoint device nodes now, or should we remove all that and wait for usbfs2, which may take another few years, or may never happen. Or maybe does not even want endpoint device nodes, but maybe only interface device nodes? The "one node per endpoint, and simple read() write() on them"- idea sounds like a nice hack, but it is sure not something you ever want people encourage to use directly. Multi-device-node devices are really hard to manage for userspace, when you look what alsa/pulseaudio needs to do here now, to cope with hotplug setups and sequences of events coming in, for the one-node-per-function sound card interface. Also usb should really not encourage any raw device node access, but provide shared library access, otherwise all the virtualization stuff, and possible ABI changes are a real pain to manage. I can possibly see the use-case for per-interface nodes, so userspace could grant different permissions for multi-function devices, but a node per endpoint may be just not the good idea, like originally thought - regardless of that all this is not implemented anyway. :) If we have no need for the endpoints as devices now, and don't even know if we will need them in the near future, we can as well restore the original state, and make the current symlinks just bus-less devices, as Alan originally suggested. And less events are always faster. :) I don't know. Any ideas? Please let me know. :) Thanks, Kay -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html