User: Password:
|
|
Subscribe / Log in / New account

Re: RFC: Platform data for onboard USB assets

From:  Alan Cox <alan-AT-lxorguk.ukuu.org.uk>
To:  andy.green-AT-linaro.org
Subject:  Re: RFC: Platform data for onboard USB assets
Date:  Wed, 23 Mar 2011 11:34:55 +0000
Message-ID:  <20110323113455.59492e24@lxorguk.ukuu.org.uk>
Cc:  andy-AT-warmcat.com, Arnd Bergmann <arnd-AT-arndb.de>, Benjamin Herrenschmidt <benh-AT-kernel.crashing.org>, Nicolas Pitre <nicolas.pitre-AT-linaro.org>, Jaswinder Singh <jaswinder.singh-AT-linaro.org>, Linux USB list <linux-usb-AT-vger.kernel.org>, lkml <linux-kernel-AT-vger.kernel.org>, broonie-AT-opensource.wolfsonmicro.com, roger.quadros-AT-nokia.com, greg-AT-kroah.com, grant.likely-AT-secretlab.ca
Archive-link:  Article

> business to know, but that the usb device on the specific wired-up USB 
> port to the RJ45 soldered on the board should be guided a particular way 
> when the interface name is registered.  That can only be done properly 
> in-kernel by passing in a flag to usbnet specific to the device instance 
> to guide its choice.

To my mind the MAC case is a bit different to the name case. It's really
not about policy in that situation it's a USB widget with a non standard
"retrieve mac address" method.

You could fix it up in user space from firmware tables, or in either from
looking in your device tree.

There is one way you could actually hide all this in your board specific
gunge at the moment without touching the core kernel I think. Take a look
at how register_netdev_notifier() works.

That will give you a NETDEV_REGISTER event for each device being
registered so you can then pick out your usb network device.

It might need some slightly unclean knowledge of the usb net driver in
your glue but in the short term until there is a nice device tree type
answer it would allow you to get your MAC address set up properly I
think ?

Alan


(Log in to post comments)


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds