[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201103111331.13932.arnd@arndb.de>
Date: Fri, 11 Mar 2011 13:31:13 +0100
From: Arnd Bergmann <arnd@...db.de>
To: andy.green@...aro.org
Cc: Linux USB list <linux-usb@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: RFC: Platform data for onboard USB assets
Hi Andy,
On Friday 11 March 2011, Andy Green wrote:
>
> platform_data is a well established way in Linux to pass configuration
> data up to on-board assets from a machine file like mach-xyz.c. It's
> also supported to pass platform_data up to devices that are probed
> asynchronously from busses like i2c as well, which is very handy.
>
> However AFAIK it's not possible to bind platform_data to probed USB
> devices as it stands.
>
> There are now boards which have on-board USB assets, for example OMAP4
> Panda which has a USB <-> Ethernet bridge wired up permanently. It'd be
> convenient to also be able to pass optional platform_data to these
> devices when they are asynchronously probed.
Sorry, but I think it's a bad idea to use platform data for this.
USB is a bus that we can reasonably probe, while we use platform_data
only for stuff that we can by definition not probe at all.
> The particular use that suggested this is on Panda, it would be ideal to
> be able to set a flag in the usb device's platform data that forces it
> to be named eth%d since it's a hardwired asset on the board with an RJ45
> socket.
I understand the problem, but IMHO there really needs to be a better
solution for this. As far as I understand, the underlying problem is
that USB ethernet devices with a proper MAC address get a different
device name from devices with a generated random MAC address, and
the people that designed this board were trying to save a few cents
by not allocating a MAC address for the ethernet device [1], right?
I believe we should fix this particular problem locally, instead of
coming up with generic infrastructure for broken hardware.
One relatively easy solution would be to allow passing a MAC address
to this particular device driver as a module parameter, and generating
a fixed MAC address in the regular vendor space when installing the
boot loader. That would also solve the problem that a DHCP server
currently assigns a new IP address to a panda board at every boot.
Arnd
---
[1] https://bugs.launchpad.net/linux-linaro/+bug/622429
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists