[PATCH v3 1/1] USB: core: let USB device know device node

Arnd Bergmann arnd at arndb.de
Wed Jan 20 01:07:13 PST 2016


On Wednesday 20 January 2016 11:48:39 Peter Chen wrote:
> > 
> > > Alternatively, you could use one of the high bits of the 'reg' value
> > > to indicate which root hub is used. I'm sure that would work as
> > > well, but be less obvious.
> > 
> > It's probably best to stick with the same numbering that the hardware 
> > uses.
> 
> Seems we are talking about root hub, not the device in the
> root hub. So for multiple ports controller, we have to own node for 
> root hub. Assume your example, there is a genesys HUB at physical
> port 1, I suggest a dts node description like below, please correct
> me if anything wrong.
> 
> &usb1 {
>         roothub_1: nxp at 1 {
>                 compatible = "usb15a2,007d";
>                 reg = <0x01>;
> 
>                 hub: genesys at 1 {
>                         compatible = "usb05e3,0608";
>                         reg = <0x01>;
>                 };
>         };
> 
>         roothub_2: nxp at 2 {
>                 compatible = "usb15a2,007d";
>                 reg = <0x02>;
>         };
> 
>         ...
> 
>         roothub_7: nxp at 7 {
>                 compatible = "usb15a2,007d";
>                 reg = <0x07>;
> 
>                 hub: genesys at 1 {
>                         compatible = "usb05e3,0608";
>                         reg = <0x01>;
>                 };
>         };
> 
>         ...
> 
>         roothub_9: nxp at 9 {
>                 compatible = "usb15a2,007d";
>                 reg = <0x09>;
>         };
> };

This looks wrong to me: if I understand it right, you are now modeling
each port of the root hub as a separate hub, so you end up with
a total of 11 hub nodes when there should only be one or two.

	Arnd



More information about the linux-arm-kernel mailing list