On Tue, Feb 21, 2017 at 05:24:04PM +0300, Heikki Krogerus wrote: > +/* --------------------------------------- */ > +/* Driver callbacks to report role updates */ > + > +/** > + * typec_set_data_role - Report data role change > + * @port: The USB Type-C Port where the role was changed > + * @role: The new data role > + * > + * This routine is used by the port drivers to report data role changes. > + */ > +void typec_set_data_role(struct typec_port *port, enum typec_data_role role) > +{ > + if (port->data_role == role) > + return; > + > + port->data_role = role; > + sysfs_notify(&port->dev.kobj, NULL, "data_role"); > + kobject_uevent(&port->dev.kobj, KOBJ_CHANGE); > +} > +EXPORT_SYMBOL_GPL(typec_set_data_role); > +
Hi Keikki, Have you tested this interface with real dual-role controller/board? What interface you use when you receive this event to handle dual-role switch? I am wonder if a common dual-role class is needed, then we can have a common user utility. Eg, if "data_role" has changed, the udev can echo "data_role" to /sys/class/usb-dual-role/role Maybe we can enhance Roger's drd framework [1] to fulfill that. [1] https://lwn.net/Articles/682531/ -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html