mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Greg KH <greg@kroah.com>
Cc: Patrick Mochel <mochel@osdl.org>, Dave Jones <davej@suse.de>,
	linux-usb-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: [linux-usb-devel] Re: [PATCH] driverfs support for USB - take 2
Date: Sat, 02 Feb 2002 11:13:26 -0800	[thread overview]
Message-ID: <0e9101c1ac1d$b18b25c0$6800000a@brownell.org> (raw)
In-Reply-To: <Pine.LNX.4.33.0201291711560.800-100000@segfault.osdlab.org> <08cf01c1a933$f45ac460$6800000a@brownell.org> <20020130040908.GA23261@kroah.com> <0a1501c1a9c9$bdf427e0$6800000a@brownell.org> <20020202001804.GC10313@kroah.com>

> > And there can be a lot more such files.  Though that 4KB limit
> > may become an issue at some point.
> 
> I doubt it, we are talking one value per file here.  I can't see any USB
> driver wanting to go over 4Kb for 1 value (and if it does, I'll change
> it :)

I could see descriptors getting that large, particularly if
they're turned from binary form into text.  I seem to recall
Patrick was anticipating troubles with that 4K limit, at
some point.


> > Also, one could argue that each USB function ("interface")
> > should be presented as an individual device, just like each PCI
> > function is handled ... after all, USB drivers bind to interfaces,
> > not devices, and this is the "driver" FS!  :)
> 
> No, I'll say that we need to stay one physical device per device in the
> tree. 

But we aren't that way today.  Examples:

    - Take a multifunction PCI card ("physical device") and plug it in.
      Each function shows up as another "logical device" in the tree.
      Each such logical device gets one driver.

    - Take a composite USB device ("physical device", like a keyboard
      with hub) and plug it in.  Each logical device shows up separately.
      Each such logical device gets one driver.

The issue with USB is that it's got a much more complex configuration
model, not all of which is well supported yet in Linux.   There's a type
of device which is handled inconsistently:

    - Take a multiple-interface USB device ("physical device") and
      plug it in.  It's presented as one logical device.  BUT (!!) such
      devices need MULTIPLE drivers!!  (Example:  speaker with
      built in volume control, needs audio and HID drivers.)

I was observing that we have a chance to make things consistent.
In my experience, that's normally a good thing.  Similarly, I think USB
should handle configurations more as first class entities.  Changing
a device's config doesn't trigger driver rebinding, for example; we're
in luck, so far, that most devices don't have many configurations.


>     If you want to do an interface tree, let's put that in usbfs,
> where it belongs :)

Ah, but changing usbfs is impractical at this point since lots of
userspace programs rely on it not changing.  Which is why I
was pointing this out in the context of driverfs, which can still
be improved in such ways ... "usbdevfs" was always advertised
as "preliminary", anyway! :)

- Dave



  reply	other threads:[~2002-02-02 19:15 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-30  0:24 Greg KH
2002-01-30  1:03 ` Dave Jones
2002-01-30  1:09   ` Greg KH
2002-01-30  1:19     ` Patrick Mochel
2002-01-30  2:15       ` [linux-usb-devel] " David Brownell
2002-01-30  4:09         ` Greg KH
2002-01-30 20:07           ` [linux-usb-devel] " David Brownell
2002-02-02  0:18             ` Greg KH
2002-02-02 19:13               ` David Brownell [this message]
2002-02-05  6:49                 ` Greg KH
2002-01-30  1:49 ` [linux-usb-devel] " Stephen J. Gowdy
2002-01-30  4:10   ` Greg KH
2002-01-30 18:26 ` Patrick Mochel
2002-01-30 20:24   ` [linux-usb-devel] " David Brownell
2002-02-02  0:23     ` Greg KH
2002-02-02 19:27       ` David Brownell
2002-01-31 12:49 ` Pavel Machek
2002-02-01  9:27   ` Horst von Brand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='0e9101c1ac1d$b18b25c0$6800000a@brownell.org' \
    --to=david-b@pacbell.net \
    --cc=davej@suse.de \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=mochel@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome