[PATCH 6/8] plarform: x86: intel_cht_int33fe: Add connections for the USB Type-C port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Assigning the mux to the USB Type-C port on top of fusb302.
That will prepare this driver for the change in the USB
Type-C class code, where the class driver will assume the
muxes to be always assigned to the ports and not the
controllers.

Once the USB Type-C class driver has been updated, the
connections between the mux and fusb302 can be dropped.

Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
---
 drivers/platform/x86/intel_cht_int33fe.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c
index a5d27f06b2fb..4a41c546ce2f 100644
--- a/drivers/platform/x86/intel_cht_int33fe.c
+++ b/drivers/platform/x86/intel_cht_int33fe.c
@@ -35,7 +35,7 @@ struct cht_int33fe_data {
 	struct i2c_client *fusb302;
 	struct i2c_client *pi3usb30532;
 	/* Contain a list-head must be per device */
-	struct device_connection connections[4];
+	struct device_connection connections[6];
 };
 
 /*
@@ -183,13 +183,20 @@ static int cht_int33fe_probe(struct i2c_client *client)
 	data->connections[1].endpoint[1] = "i2c-pi3usb30532";
 	data->connections[1].id = "idff01m01";
 
+	data->connections[2].endpoint[0] = "port0";
+	data->connections[2].endpoint[1] = "i2c-pi3usb30532";
+	data->connections[2].id = "typec-switch";
+	data->connections[3].endpoint[0] = "port0";
+	data->connections[3].endpoint[1] = "i2c-pi3usb30532";
+	data->connections[3].id = "idff01m01";
+
 	/* Only adding connection for role switch if UDC exists */
 	udc = pci_get_class(PCI_CLASS_SERIAL_USB_DEVICE, NULL);
 	if (udc) {
 		pci_dev_put(udc);
-		data->connections[2].endpoint[0] = "i2c-fusb302";
-		data->connections[2].endpoint[1] = "intel_xhci_usb_sw-role-switch";
-		data->connections[2].id = "usb-role-switch";
+		data->connections[4].endpoint[0] = "i2c-fusb302";
+		data->connections[4].endpoint[1] = "intel_xhci_usb_sw-role-switch";
+		data->connections[4].id = "usb-role-switch";
 	}
 
 	device_connections_add(data->connections);
-- 
2.18.0




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux