Re: [RFC PATCH 1/4] PLATFORM: introduce structure to bind asyncplatform data to a dev path name

From: Greg KH
Date: Sun Mar 13 2011 - 12:17:36 EST


On Sun, Mar 13, 2011 at 11:22:40AM +0000, Andy Green wrote:
> On 03/13/2011 01:03 AM, Somebody in the thread at some point said:
>
> >>>Using device paths for this purpose seems to be very fragile to me. Isn't
> >>>there any better solution?
> >>
> >>Given that this targets board definition files which commonly do the
> >>platform_add_device for the USB bus controller synchronously, and
> >>the bus-connected devices it is aimed at are soldered on to the
> >>board connected to specific bus controllers, the bus paths are
> >>completely deterministic.
> >
> >No they are not.
> >
> >The physical layout is deterministic, but the bus number, and device
> >number, is not. You are using the bus number here in this path, so that
> >is not going to work, sorry.
>
> Okay. This is not a PC we are talking about.

I know that, and again, it doesn't matter.

You CAN NOT GUARANTEE the USB device ordering of bus numbers or device
numbers. It's that simple.

> If the platform / board definition file is registering the USB hosts
> synchronously at boot time, the driver is composed into the
> monolithic kernel, there are no PCI busses or whatever on the SoC,
> the bus indexing is totally deterministic.

Not true, it could change for a number of reasons, not the least being
your kernel version changed.

So again NEVER rely on this, bad things could happen in the field when
you least expect it.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/