Re: [PATCH 0/3] Remove usb_host class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux