linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Green <andy@warmcat.com>
To: Jaswinder Singh <jaswinder.singh@linaro.org>
Cc: Linux USB list <linux-usb@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	broonie@opensource.wolfsonmicro.com, roger.quadros@nokia.com,
	greg@kroah.com, benh@kernel.crashing.org,
	grant.likely@secretlab.ca,
	Nicolas Pitre <nicolas.pitre@linaro.org>
Subject: Re: RFC: Platform data for onboard USB assets
Date: Tue, 22 Mar 2011 16:04:20 +0000	[thread overview]
Message-ID: <4D88C884.4020600@linaro.org> (raw)
In-Reply-To: <AANLkTikEtneWEu4iQgfKw-zkAT3Z=e7ohXgDq7oJAQvv@mail.gmail.com>

On 03/22/2011 03:05 PM, Somebody in the thread at some point said:

Hi -

>   Personally, I wouldn't have bothered thinking about some kernel-wide
> solution to the Panda SMSC9514 issue. I think defining Panda specific
>   udev rules to 'rename the SMSC9614 on USB1(?) to ETH0' is sufficient and
> legal to do. Bus enumeration algos change neither often nor enough.
> I believe there would be far riskier assumptions in filesystems already.

Not sure you got all the points there.  The interface index is not 
targeted at all, it's the interface class.  That is why I only talk 
about usb%d vs eth%d.

If you think about what userland has to do to correct that, it involves 
userland understanding that it is running on specifically a Panda board 
or other boards that need mangling, and it is looking at the device that 
is specifically the onboard one.  (You cannot do it from VID/PID because 
that same VID/PID can turn up in a second pluggable adapter case -- 
still an smsc95xx you see -- where you really would want it called 
usb%d.)  This is why elsewhere I refer to this as a "userland board 
quirk database" being needed to solve it in userland.  If it was 
simpler, sure, I wouldn't bother looking to guide the driver's choice in 
kernel because you can as pointed out meddle them from userland.  But if 
you look into what has to be done in Userland it's nothing like a normal 
udev handler based only on vid/pid.  Userland is actually super allergic 
to knowing directly what it is running on and making decisions based on 
that, for good reasons, and desperately wants to be generic leaving all 
board quirks for the kernel to hide.  And the machine definition file is 
designed to understand board-specific information.

In any event, the thread established that particular problem is unlikely 
to get solved in the mainline kernel.  So other than correct any 
misconception, there's no point going further into it as it stands.

> But I do agree it is nice to have system wide solutions whenever due.
> Like this attempted patchset. Which is based upon two questions :-
>
> Q(a) Can discoverable buses(USB, SDIO etc) legally need platform_data
> or similar?
>
> Q(b) If yes, what 'key' is most suitable for identifying the right device
>    to attach the data to ?
>
> (a) We already have a good example, of Panda's missing MAC. I am sure there
>   would be more to think of.

Having done the SDIO async platform_data support now, it turns out SDIO 
WLAN modules really do need platform_data already and at least in the 
(mainline) wl12xx case, go to some lengths to work around not having an 
api to deliver it.

>     Though it is illegal for a NIC to not have MAC address, no spec demands the
>   MAC be on some EEPROM or like. Theoretically, the NIC vendor could
> hand me a NIC
> and a note with it's unique MAC address scribbled :)
>   As Mark already noted, savings pile if we could save eeproms when a device is
> expected to ship in tens of thousands.
>   IIANM, Greg acknowledged passing MAC via board specific data
> structure(albeit via DT)
> It's a different matter that DT has many hearts to win(at least in ARM Linux)
> So, perhaps the answer to Q(a) is - Yes.
>
> (b) IMHO, though stable enough, the most obvious method of 'devpath association'
>   is indeed not future-proof.

What're you thinking it's not future-proof against?  As a 
path-structured string, it seems it should be ideal considering the same 
path elements are used in, eg, sysfs as string elements to describe 
device paths.  Since the strings are in the same tree as the things that 
generate them, it only means updating the strings if the generator for 
them changes.

>   Having parent pointers to compare sounds like a bit too intrusive.
>   People might want to suggest?

I spoke for half an hour with Grant Likely yesterday and showed him my 
patchset that now covers SDIO async platform_data and wl12xx WLAN 
particularly as found on Panda.  He asked for a couple of days to see if 
he could figure any different approach -- he made a point of saying non 
Device-Tree interestingly -- that he liked better.  I am not sure that 
he will find anything he likes better since after discussing it with 
him, his objection is platform_data itself, and that's what stuff like 
these WLAN modules on SDIO are already set up for.  Anyway I will study 
any suggestion.

What I saw from wl12xx though is there are already mainline drivers that 
can benefit from just delivering their existing platform_data via async 
platform_data api.  So I plan to wait for Grant's comments and release a 
new RFC patchset in the coming days.

-Andy

  reply	other threads:[~2011-03-22 16:04 UTC|newest]

Thread overview: 156+ 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:53                                         ` Greg KH
2011-03-17 23:18                                           ` Andy Green
2011-03-17 23:25                                             ` Greg KH
2011-03-18  7:42                                               ` Andy Green
2011-03-18 22:54                                                 ` Benjamin Herrenschmidt
2011-03-18 22:57                                                   ` Andy Green
2011-03-18  4:54                                             ` Grant Likely
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:15                                             ` Mark Brown
2011-03-18 17:52                                             ` Andy Green
2011-03-18 18:20                                               ` David Anders
2011-03-18 18:25                                                 ` Mark Brown
2011-03-18 20:02                                                   ` Andy Green
2011-03-18 21:11                                                     ` Arnd Bergmann
2011-03-18 21:17                                                       ` Andy Green
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:33                                                     ` Andy Green
2011-03-18 21:36                                                 ` Grant Likely
2011-03-18 22:47                                                 ` Benjamin Herrenschmidt
2011-03-18 21:28                                               ` Grant Likely
2011-03-18 23:04                                                 ` Andy Green
2011-03-18 22:37                                           ` Benjamin Herrenschmidt
2011-03-18 22:39                                             ` Andy Green
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: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
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 [this message]
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-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 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=4D88C884.4020600@linaro.org \
    --to=andy@warmcat.com \
    --cc=andy.green@linaro.org \
    --cc=benh@kernel.crashing.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=grant.likely@secretlab.ca \
    --cc=greg@kroah.com \
    --cc=jaswinder.singh@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nicolas.pitre@linaro.org \
    --cc=roger.quadros@nokia.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;
as well as URLs for NNTP newsgroup(s).