On Thu, 2020-02-27 at 17:05 -0800, Tao Ren wrote:
quoted
Also long run I think best is going to have a child node per downstream
port, so we create a matching linux struct device. This will make it
easier to deal with the other device-controller in the ast2600 which is
basically one of these without a vhub above it.
Maybe a dumb question: what would be the proper place to parse the child
node/properties when they are added? For example, in some usb_gadget_ops
callback?
No. What the vhub would do is when it probes, it creates a platform
device for each "port" child node that's linked to the DT node.
The driver for the device then attaches to it via standard DT matching
and checks if it has a vhub parent or not, and based on that, operates
as a vhub child device or a standalone one.
(For example, it might have different functions for EP selection since
standalone devices have private EPs rather than a shared pool)
They can both be in the same module or they can be separate modules
with cross dependencies.
Cheers,
Ben.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel