Hi, Roger Quadros <rogerq@xxxxxx> writes: >> Roger Quadros <rogerq@xxxxxx> writes: >>>> The sysfs file we expose from the class for the role switches is >>>> primarily meant for supporting proprietary protocols that require us >>>> to basically override the connector USB data role. The default role >>>> should always be selected in the drivers. >>> >>> OK. Let's take this example >>> - Port is dual-role port micro AB. >>> - microAB to type-A adapter is connected which pulls ID low. port transitions >>> to "host" role by the controller driver. >>> - proprietary protocol want to switch role to device role so writes "device" to >>> mode switch sysfs. port transitions to "device" role. >>> >>> Now, how does controller driver know to fall back to HW based role switching? >> >> Use a 'disconnect' or 'suspend' event to go reset it? But that should, >> probably, be done at kernel space, no? >> > > Yes that could be one option. > So after a disconnect, sysfs role should reflect actual hardware role. correct? that would be my expectation -- balbi