RFC: Platform data for onboard USB assets

Andy Green
2011-03-11T09:50:44Z

Hi -

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.

So what's the feeling about a new api to register an array of
platform_data pointers bound to static "devpath" names in the machine file?

When a usb device is instantiated, it can check through this array if it
exists, matching on devname, and attach the platform_data to the
underlying probed usb device's dev->platform_data, which it seems is
currently unused.

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.

Comments, implementation suggestions, enquiries as to my level of crack
consumption etc welcomed ^^

-Andy