1. 22 3月, 2018 1 次提交
    • H
      usb: common: Small class for USB role switches · fde0aa6c
      Heikki Krogerus 提交于
      USB role switch is a device that can be used to choose the
      data role for USB connector. With dual-role capable USB
      controllers, the controller itself will be the switch, but
      on some platforms the USB host and device controllers are
      separate IPs and there is a mux between them and the
      connector. On those platforms the mux driver will need to
      register the switch.
      
      With USB Type-C connectors, the host-to-device relationship
      is negotiated over the Configuration Channel (CC). That
      means the USB Type-C drivers need to be in control of the
      role switch. The class provides a simple API for the USB
      Type-C drivers for the control.
      
      For other types of USB connectors (mainly microAB) the class
      provides user space control via sysfs attribute file that
      can be used to request role swapping from the switch.
      Reviewed-by: NHans de Goede <hdegoede@redhat.com>
      Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fde0aa6c