]> asedeno.scripts.mit.edu Git - linux.git/commit
usb: typec: API for controlling USB Type-C Multiplexers
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Tue, 20 Mar 2018 12:57:03 +0000 (15:57 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Mar 2018 12:40:10 +0000 (13:40 +0100)
commitbdecb33af34f79cbfbb656661210f77c8b8b5b5f
tree057621e106f12ad7de132ebc5064c255f67a19c4
parentf2d9b66d84f3ff5ea3aff111e6a403e04fa8bf37
usb: typec: API for controlling USB Type-C Multiplexers

USB Type-C connectors consist of various muxes and switches
that route the pins on the connector to the right locations.
The USB Type-C drivers need to be able to control the muxes,
as they are the ones that know things like the cable plug
orientation, and the current mode that was negotiated with
the partner.

This introduces a small API for registering and controlling
cable plug orientation switches, and separate small API for
registering and controlling pin multiplexer/demultiplexer
switches that are needed with Accessory/Alternate Modes.

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/driver-api/usb/typec.rst
drivers/usb/typec/Makefile
drivers/usb/typec/class.c [moved from drivers/usb/typec/typec.c with 95% similarity]
drivers/usb/typec/mux.c [new file with mode: 0644]
include/linux/usb/typec.h
include/linux/usb/typec_mux.h [new file with mode: 0644]