From: David Brownell <david-b@pacbell.net>
To: Greg KH <greg@kroah.com>, Linus Torvalds <torvalds@transmeta.com>
Cc: linux-usb-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [linux-usb-devel] Re: [BK PATCH] USB device support for 2.5.8 (take 2)
Date: Wed, 17 Apr 2002 09:00:47 -0700 [thread overview]
Message-ID: <074401c1e629$0a9ea020$6800000a@brownell.org> (raw)
In-Reply-To: <20020417035236.GC29897@kroah.com> <Pine.LNX.4.33.0204162203510.15675-100000@home.transmeta.com> <20020417134453.GE32370@kroah.com>
> > > It's code to be a USB client device, not a USB host device, which is
> > > what we currently have. It is used in embedded devices that run Linux,
> > > like the new Sharp device (can't remember the name right now...)
> >
> > Ahhh.. A dim light goes on.
> >
> > It would have made more sense (I think) to call it "usb/client" instead of
> > "usb/device", but maybe that's just because I didn't understand what the
> > thing was all about.
>
> We (the linux-usb-devel list) talked about different names for this
> stuff, and tried to follow the naming convention used in the USB spec.
... except that this code does NOT follow those conventions, as
I've argued. And "client" is explicitly contrary to the USB spec,
which uses that as a host-side phrase (though not often).
In fact if you look at USB control messages, they're baby RPCs ...
which always go from "client" (USB host, which initiates) to "server"
(USB device, responds with status and/or data). I'd find "client"
to be wrong, not just confusing (like the X11 usage of that word).
> However 99% of kernel developers will never read that spec, and 100% of
> users never will, and the name "devices" failed to convey any good
> meaning to the first person that saw the tree outside of the USB
> developers, so changing the name to "client" makes a lot more sense :)
The USB "host" vs "device" naming convention is pretty deeply
ingrained in USB specs, but only "device" is end-user-visible.
At Fry's you buy not a "USB client", but a "USB device". I think
you could buy a "USB adapter" (PCI card) though.
I think that from the Linux perspective, "device" is itself ambiguous.
In a USB stack with Linux everywhere (in the host side and in the
device side), I count at least four kinds of code that would in some
context be called a "device driver":
Host side: "client driver" (USB spec term)
interacts with "host controller driver" [HCD] (ditto)
--- traffic goes over USB ---
Device side: "device controller driver" (not a USB spec term) (*)
interacts with "function driver" (USB spec term)
Today one tends to talk about a "USB device driver" rather than
a client driver, although many of us have devices that use two
drivers. (PCI analogy: one PCI card can have many functions,
each with its own driver) Most HCDs are PCI device drivers.
(Although there are other HCDs Linux deals with.)
I wish I had a better term to suggest than "USB device", but I'd
sure prefer to avoid "client". I've spent too many years doing
networking applications for that to make sense to me. What
would it take to make "device" less ambiguous?
- Dave
(*) The USB spec needlessly avoided using symmetrical terminology
here. They did talk about a "bus interface" layer but it shows up on
both host side and device side ... I think they underspecified things
on the device side to accomodate implementation variability. In
fact the bus interface on the device side is in many ways simpler
than on the host side: it doesn't have to multiplex i/o to devices.
next prev parent reply other threads:[~2002-04-17 16:02 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-16 22:54 [BK PATCH] USB device support for 2.5.8 Greg KH
2002-04-16 22:58 ` Greg KH
2002-04-17 2:51 ` [BK PATCH] USB device support for 2.5.8 (take 2) Greg KH
2002-04-17 2:53 ` Greg KH
2002-04-17 4:35 ` Linus Torvalds
2002-04-17 3:52 ` Greg KH
2002-04-17 5:08 ` Linus Torvalds
2002-04-17 13:44 ` Greg KH
2002-04-17 16:00 ` David Brownell [this message]
2002-04-17 17:57 ` [linux-usb-devel] " Linus Torvalds
2002-04-17 18:08 ` Larry McVoy
2002-04-17 18:59 ` Linus Torvalds
2002-04-17 18:14 ` Greg KH
2002-04-17 18:17 ` Greg KH
2002-04-19 5:37 ` George J Karabin
2002-04-19 5:46 ` [linux-usb-devel] Re: [BK PATCH] USB device support for 2.5.8(take 2) Oliver Neukum
2002-04-19 6:11 ` George J Karabin
2002-04-19 11:06 ` [linux-usb-devel] Re: [BK PATCH] USB device support for2.5.8(take2) Oliver.Neukum
2002-04-19 16:22 ` George J Karabin
2002-04-17 18:41 ` [linux-usb-devel] Re: [BK PATCH] USB device support for 2.5.8 (take 2) Stephen J. Gowdy
2002-04-17 18:31 ` Greg KH
2002-04-17 18:44 ` [linux-usb-devel] Re: [BK PATCH] USB device support for 2.5.8 arjan
2002-04-17 19:02 ` [linux-usb-devel] Re: [BK PATCH] USB device support for 2.5.8 (take 2) Oliver Xymoron
2002-04-17 19:20 ` David Brownell
2002-04-17 20:07 ` Johannes Erdfelt
-- strict thread matches above, loose matches on Subject: below --
2002-04-17 19:58 Adam_Kessler
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='074401c1e629$0a9ea020$6800000a@brownell.org' \
--to=david-b@pacbell.net \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=torvalds@transmeta.com \
/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