--- a/drivers/usb/typec/Kconfig
+++ b/drivers/usb/typec/Kconfig
@@ -88,6 +88,13 @@ config TYPEC_QCOM_PMIC
- It will also enable the VBUS output to connected devices when a
- DFP connection is made.
+ If you choose to build this driver as a dynamically linked module, the
+ module will be called wusb3801.ko.
+config TYPEC_EXTCON
+ tristate "Type-C switch/mux -> extcon interface bridge driver"
--- a/drivers/usb/typec/Makefile
+++ b/drivers/usb/typec/Makefile
@@ -8,4 +8,5 @@ obj-$(CONFIG_TYPEC_TPS6598X) += tipd/
- obj-$(CONFIG_TYPEC_HD3SS3220) += hd3ss3220.o
- obj-$(CONFIG_TYPEC_QCOM_PMIC) += qcom-pmic-typec.o
obj-$(CONFIG_TYPEC_STUSB160X) += stusb160x.o
+ obj-$(CONFIG_TYPEC_RT1719) += rt1719.o
+ obj-$(CONFIG_TYPEC_WUSB3801) += wusb3801.o
+obj-$(CONFIG_TYPEC_EXTCON) += typec-extcon.o
obj-$(CONFIG_TYPEC) += mux/
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
+
+ /* consumers */
+ struct usb_role_switch *role_sw;
-+ struct typec_switch *sw;
-+ struct typec_mux *mux;
++ struct typec_switch_dev *sw;
++ struct typec_mux_dev *mux;
+
+ /* providers */
+ struct extcon_dev *extcon;
+ return 0;
+}
+
-+static int typec_extcon_sw_set(struct typec_switch *sw,
++static int typec_extcon_sw_set(struct typec_switch_dev *sw,
+ enum typec_orientation orientation)
+{
+ struct typec_extcon *tce = typec_switch_get_drvdata(sw);
+ return 0;
+}
+
-+static int typec_extcon_mux_set(struct typec_mux *mux,
++static int typec_extcon_mux_set(struct typec_mux_dev *mux,
+ struct typec_mux_state *state)
+{
+ struct typec_extcon *tce = typec_mux_get_drvdata(mux);