diff mbox series

[RFC] usb: typec: ucsi: Set orientation as none when connector is unplugged

Message ID 20241017-usb-typec-ucsi-glink-add-orientation-none-v1-1-0fdc7e49a7e7@linaro.org (mailing list archive)
State New
Headers show
Series [RFC] usb: typec: ucsi: Set orientation as none when connector is unplugged | expand

Commit Message

Abel Vesa Oct. 17, 2024, 4:01 p.m. UTC
Currently, the ucsi glink client is only reporting orientation normal or
reversed, based on the level of the gpio. On unplug, it defaults to
orientation normal instead of none. This confuses some of the orientation
switches drivers as they might rely on orientation none in order to
configure the HW in some sort of safe mode. So propagate the orientation
none instead when the connector status flags says cable is disconnected.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
 drivers/usb/typec/ucsi/ucsi_glink.c | 5 +++++
 1 file changed, 5 insertions(+)


---
base-commit: d61a00525464bfc5fe92c6ad713350988e492b88
change-id: 20241017-usb-typec-ucsi-glink-add-orientation-none-73f1f2522999

Best regards,
diff mbox series

Patch

diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c
index 3e4d88ab338e50d4265df15fc960907c36675282..b3bc02e4b0427a894c5b5df470af47433145243e 100644
--- a/drivers/usb/typec/ucsi/ucsi_glink.c
+++ b/drivers/usb/typec/ucsi/ucsi_glink.c
@@ -185,6 +185,11 @@  static void pmic_glink_ucsi_connector_status(struct ucsi_connector *con)
 	struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(con->ucsi);
 	int orientation;
 
+	if (!(con->status.flags & UCSI_CONSTAT_CONNECTED)) {
+		typec_set_orientation(con->port, TYPEC_ORIENTATION_NONE);
+		return;
+	}
+
 	if (con->num >= PMIC_GLINK_MAX_PORTS ||
 	    !ucsi->port_orientation[con->num - 1])
 		return;