From: Greg KH <greg@kroah.com>
To: andy.green@linaro.org
Cc: Alan Stern <stern@rowland.harvard.edu>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Arnd Bergmann <arnd@arndb.de>,
Linux USB list <linux-usb@vger.kernel.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: RFC: Platform data for onboard USB assets
Date: Fri, 11 Mar 2011 12:21:35 -0800 [thread overview]
Message-ID: <20110311202135.GA10795@kroah.com> (raw)
In-Reply-To: <4D7A80A4.6040008@linaro.org>
On Fri, Mar 11, 2011 at 08:05:56PM +0000, Andy Green wrote:
> On 03/11/2011 07:12 PM, Somebody in the thread at some point said:
>
> Hi -
>
> >>I don't believe I referred to class devices anywhere. It does not
> >>matter if the main chip function is class device or not.
> >
> >It matters because the class specification for a USB device is never
> >going to mention information sources that are outside the USB protocol,
> >such as board definitions. Consequently a class driver will never need
> >to use such a thing.
>
> Is a gadget driver a class driver?
Some are, but you are now on the "other side" of the USB bus.
> Because I can set the MAC address for my g_ether from the kernel
> commandline which is most definitely an "information source outside
> the USB protocol". That is exactly the kind of thing I am talking
> about enabling also to be taken from usb_device->dev.platform_data.
You don't have a usb_device for a gadget device. USB Gadgets are a
totally different world here, don't confuse them please.
> >>>Also, do you have a real example of a USB driver today that needs this?
> >>
> >>I think you find without devpath -> platform_data mapping, the kind of
> >>layout given above is made quite difficult to support in Linux.
> >
> >What would be needed to support such a mapping? It seems to me that we
> >probably have all the necessary ingredients in place already.
>
> What I was imagining is getting the platform data structs from a
> header in include/linux/
>
> #include <linux/onboard_device_1.h>
> #include <linux/onboard_device_2.h>
>
> Using a .name defined to be the first member to match to specific
> bus member devpath prepended with bus class:
You can't rely on USB bus numbers to be the same EVER. These are
assigned by the host computer.
> struct onboard_device_1_platform_data device_1_platform_data {
> .name = "usb\1-0",
> .some_feature = 1,
> };
>
> struct onboard_device_2_platform_data device_2_platform_data {
> .name = "usb\1-1",
> .some_feature = 2,
> };
>
> Aggregating them into an array
>
> void *devpath_to_platform_data_mapping[] = {
> device_1_platform_data,
> device_2_platform_data,
> };
>
> Registering the array in the machine file
>
> register_platform_data_by_devpath(devpath_to_platform_data_mapping,
> ARRAY_SIZE(devpath_to_platform_data_mapping));
>
> It needs to set two globals for pointer and member count
>
> void
> register_platform_data_by_devpath(void *map, int count)
> {
> platform_data_mapping = map;
> platform_data_mapping_count = count;
> }
>
> Later, when a USB device is instantiated, if platform_data_mapping
> is not NULL, it checks to see if the devname it just synthesized
> matches any in the table that have static usb/ prefix, and if so,
> sets usb_device->dev.platform_data to the table entry.
>
> Well, it's an RFC so if you have a better plan I am all ears.
I am totally confused, and as you are messing with bus id numbers, and
confusing usb gadgets and drivers, I think you are as well.
So, are you talking about USB gadgets, or USB drivers here? They are
different and have different requirements and responsibilities.
confused,
greg k-h
next prev parent reply other threads:[~2011-03-11 20:21 UTC|newest]
Thread overview: 185+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-11 9:50 RFC: Platform data for onboard USB assets Andy Green
2011-03-11 12:31 ` Arnd Bergmann
2011-03-11 12:44 ` Andy Green
2011-03-11 14:42 ` Roger Quadros
2011-03-11 15:12 ` Roger Quadros
2011-03-11 15:22 ` Arnd Bergmann
2011-03-11 15:50 ` Roger Quadros
2011-03-11 15:55 ` Arnd Bergmann
2011-03-11 15:29 ` Mark Brown
2011-03-11 15:54 ` Arnd Bergmann
2011-03-11 16:03 ` Mark Brown
2011-03-11 16:14 ` Greg KH
2011-03-11 16:27 ` Mark Brown
2011-03-11 16:35 ` Greg KH
2011-03-11 16:48 ` Mark Brown
2011-03-11 16:56 ` Greg KH
2011-03-11 17:08 ` Mark Brown
2011-03-11 17:23 ` Greg KH
2011-03-11 17:41 ` Mark Brown
2011-03-17 2:14 ` Nicolas Pitre
2011-03-17 20:13 ` Greg KH
2011-03-17 20:18 ` Mark Brown
2011-03-17 20:26 ` Greg KH
2011-03-17 21:24 ` Mark Brown
2011-03-17 21:31 ` Greg KH
2011-03-17 21:40 ` Mark Brown
2011-03-17 21:47 ` Greg KH
2011-03-17 22:33 ` Arnd Bergmann
2011-03-17 22:33 ` Arnd Bergmann
2011-03-17 22:53 ` Greg KH
2011-03-17 22:53 ` Greg KH
2011-03-17 23:18 ` Andy Green
2011-03-17 23:18 ` Andy Green
2011-03-17 23:25 ` Greg KH
2011-03-18 7:42 ` Andy Green
2011-03-18 7:42 ` Andy Green
2011-03-18 22:54 ` Benjamin Herrenschmidt
2011-03-18 22:54 ` Benjamin Herrenschmidt
2011-03-18 22:57 ` Andy Green
2011-03-18 22:57 ` Andy Green
2011-03-18 4:54 ` Grant Likely
2011-03-18 4:54 ` Grant Likely
2011-03-18 8:19 ` Arnd Bergmann
2011-03-18 8:19 ` Arnd Bergmann
2011-03-17 23:22 ` Andy Green
2011-03-18 15:00 ` Arnd Bergmann
2011-03-18 15:00 ` Arnd Bergmann
2011-03-18 15:15 ` Mark Brown
2011-03-18 15:15 ` Mark Brown
2011-03-18 17:52 ` Andy Green
2011-03-18 17:52 ` Andy Green
2011-03-18 18:20 ` David Anders
2011-03-18 18:20 ` David Anders
2011-03-18 18:25 ` Mark Brown
2011-03-18 18:25 ` Mark Brown
2011-03-18 20:02 ` Andy Green
2011-03-18 20:02 ` Andy Green
2011-03-18 21:11 ` Arnd Bergmann
2011-03-18 21:17 ` Andy Green
2011-03-18 21:17 ` Andy Green
2011-03-18 20:06 ` Arnd Bergmann
2011-03-18 20:06 ` Arnd Bergmann
2011-03-18 21:33 ` Andy Green
2011-03-18 23:25 ` Mark Brown
2011-03-18 23:25 ` Mark Brown
2011-03-18 23:33 ` Andy Green
2011-03-18 23:33 ` Andy Green
2011-03-18 21:36 ` Grant Likely
2011-03-18 21:36 ` Grant Likely
2011-03-18 22:47 ` Benjamin Herrenschmidt
2011-03-18 22:47 ` Benjamin Herrenschmidt
2011-03-18 21:28 ` Grant Likely
2011-03-18 21:28 ` Grant Likely
2011-03-18 23:04 ` Andy Green
2011-03-18 23:04 ` Andy Green
2011-03-18 22:37 ` Benjamin Herrenschmidt
2011-03-18 22:37 ` Benjamin Herrenschmidt
2011-03-18 22:39 ` Andy Green
2011-03-18 22:39 ` Andy Green
2011-03-17 23:27 ` Grant Likely
2011-03-17 23:27 ` Grant Likely
2011-03-18 7:49 ` Andy Green
2011-03-18 8:25 ` Arnd Bergmann
2011-03-18 8:25 ` Arnd Bergmann
2011-03-18 8:38 ` Andy Green
2011-03-18 8:38 ` Andy Green
2011-03-17 22:11 ` Arnd Bergmann
2011-03-17 22:20 ` Greg KH
2011-03-18 8:42 ` Roger Quadros
2011-03-18 9:01 ` Arnd Bergmann
2011-03-18 9:55 ` Roger Quadros
2011-03-18 10:09 ` Andy Green
2011-03-17 21:03 ` Nicolas Pitre
2011-03-17 21:32 ` Greg KH
2011-03-11 16:26 ` Andy Green
2011-03-11 16:45 ` Alan Stern
2011-03-11 16:51 ` Andy Green
2011-03-11 17:08 ` Greg KH
2011-03-11 18:09 ` Andy Green
2011-03-11 19:12 ` Alan Stern
2011-03-11 20:05 ` Andy Green
2011-03-11 20:21 ` Greg KH [this message]
2011-03-11 21:07 ` Andy Green
2011-03-11 21:44 ` Greg KH
2011-03-11 22:24 ` Andy Green
2011-03-12 16:00 ` Alan Stern
2011-03-12 23:02 ` Andy Green
2011-03-11 19:37 ` Greg KH
2011-03-11 16:53 ` Mark Brown
2011-03-11 16:08 ` Greg KH
2011-03-11 16:20 ` Andy Green
2011-03-11 16:36 ` Greg KH
2011-03-11 16:41 ` Andy Green
2011-03-11 22:07 ` Benjamin Herrenschmidt
2011-03-11 21:52 ` Benjamin Herrenschmidt
2011-03-11 22:45 ` Grant Likely
2011-03-11 22:47 ` Andy Green
2011-03-11 23:39 ` Grant Likely
2011-03-14 14:54 ` Arnd Bergmann
2011-03-22 15:05 ` Jaswinder Singh
2011-03-22 16:04 ` Andy Green
2011-03-22 18:19 ` Jaswinder Singh
2011-03-22 18:37 ` Andy Green
2011-03-22 18:59 ` Jaswinder Singh
2011-03-22 19:35 ` Andy Green
[not found] ` <AANLkTim=ezye=1fQP_1a2SWbPnbENP9B+k27Z3AkS=zf@mail.gmail.com>
2011-03-22 15:12 ` Mark Brown
2011-03-22 15:23 ` Jaswinder Singh
2011-03-24 18:56 ` Grant Likely
2011-03-22 21:08 ` Benjamin Herrenschmidt
2011-03-22 22:37 ` Andy Green
2011-03-23 1:03 ` Benjamin Herrenschmidt
2011-03-23 2:26 ` Nicolas Pitre
2011-03-23 3:23 ` Benjamin Herrenschmidt
2011-03-23 4:21 ` Nicolas Pitre
2011-03-23 4:56 ` Greg KH
2011-03-23 5:44 ` Benjamin Herrenschmidt
2011-03-23 9:38 ` Alan Cox
2011-03-23 10:53 ` Mark Brown
2011-03-23 15:04 ` Greg KH
2011-03-23 15:10 ` Mark Brown
2011-03-23 15:24 ` Andy Green
2011-03-23 15:45 ` Arnd Bergmann
2011-03-23 15:38 ` Nicolas Pitre
2011-03-23 9:31 ` Andy Green
2011-03-23 9:47 ` Alan Cox
2011-03-23 10:06 ` Andy Green
2011-03-23 10:32 ` Arnd Bergmann
2011-03-23 10:39 ` Andy Green
2011-03-23 10:56 ` Alan Cox
2011-03-23 11:13 ` Andy Green
2011-03-23 11:34 ` Alan Cox
2011-03-23 12:02 ` Andy Green
2011-03-23 15:08 ` Greg KH
2011-03-23 16:12 ` Arnd Bergmann
2011-03-23 16:22 ` Greg KH
2011-03-23 16:34 ` Andy Green
2011-03-23 16:56 ` [RFC] usbnet: use eth%d name for known ethernet devices Arnd Bergmann
2011-03-23 17:04 ` Andy Green
2011-03-23 17:11 ` Arnd Bergmann
2011-03-24 10:45 ` Andy Green
2011-03-24 10:45 ` Andy Green
2011-03-23 17:13 ` Arnd Bergmann
2011-03-23 17:54 ` David Anders
2011-03-23 18:46 ` Greg KH
2011-03-23 19:35 ` Arnd Bergmann
[not found] ` <AANLkTim7hPfTv3gDYnh+jGxHBg0OvX=r1FKYoHnH7H_o@mail.gmail.com>
2011-03-23 19:57 ` Arnd Bergmann
2011-03-23 19:59 ` Randy Dunlap
2011-03-23 23:17 ` Michal Nazarewicz
2011-03-23 23:19 ` Randy Dunlap
2011-03-23 23:38 ` Steve Calfee
2011-03-24 0:01 ` Ben Hutchings
2011-03-24 13:13 ` Arnd Bergmann
2011-03-24 13:15 ` Arnd Bergmann
2011-03-24 13:44 ` Andy Green
2011-03-24 13:56 ` Alan Stern
2011-03-24 13:56 ` Alan Stern
2011-03-24 17:20 ` Alexey Orishko
2011-03-25 11:57 ` Arnd Bergmann
2011-03-25 16:26 ` Alexey Orishko
2011-03-25 16:43 ` Arnd Bergmann
2011-03-24 19:17 ` RFC: Platform data for onboard USB assets Grant Likely
2011-03-24 20:10 ` Andy Green
2011-03-23 14:55 ` Nicolas Pitre
2011-03-23 10:22 ` Benjamin Herrenschmidt
2011-03-23 15:11 ` Nicolas Pitre
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=20110311202135.GA10795@kroah.com \
--to=greg@kroah.com \
--cc=andy.green@linaro.org \
--cc=arnd@arndb.de \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.