Hi, On Mon, Feb 15, 2016 at 04:30:18PM +0100, Oliver Neukum wrote: > On Thu, 2016-02-11 at 15:50 +0200, Heikki Krogerus wrote: > > Because USB Type-C ports (DRP ones) will select the data role randomly > > when you connect (to an other DRP port). USB Type-C spec defines that > > you can "prefer" host mode, but when both ends prefer host mode, it's > > +-0. > > That question has not been answered. It would be awkward for the OS > to find itself in the slave role, which it is ill equipped for. So > the data role should be switched before the new device is announced > to user space. How is that handled?
In the class driver, once we add support for preselecting the role, when the connection happens we compare the initial role to the preselected one and execute swap if it differs. Only after that we notify userspace. Thanks, -- heikki