usb: typec: ucsi: glink: use typec_set_orientation
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 11 Apr 2024 04:49:55 +0000 (07:49 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Apr 2024 14:47:24 +0000 (16:47 +0200)
Use typec_set_orientation() instead of calling typec_switch_set()
manually. This way the rest of the typec framework and the userspace are
notified about the orientation change.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240411-ucsi-orient-aware-v2-3-d4b1cb22a33f@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi_glink.c

index d21f8cd2fe3575e125bf6a301587bcb371ce8a97..d279e2cf9bba8c1121c46ae0041529d664a3ffe9 100644 (file)
@@ -58,7 +58,6 @@ struct pmic_glink_ucsi {
        struct device *dev;
 
        struct gpio_desc *port_orientation[PMIC_GLINK_MAX_PORTS];
-       struct typec_switch *port_switch[PMIC_GLINK_MAX_PORTS];
 
        struct pmic_glink_client *client;
 
@@ -198,9 +197,10 @@ static void pmic_glink_ucsi_connector_status(struct ucsi_connector *con)
 
        orientation = gpiod_get_value(ucsi->port_orientation[con->num - 1]);
        if (orientation >= 0) {
-               typec_switch_set(ucsi->port_switch[con->num - 1],
-                                orientation ? TYPEC_ORIENTATION_REVERSE
-                                : TYPEC_ORIENTATION_NORMAL);
+               typec_set_orientation(con->port,
+                                     orientation ?
+                                     TYPEC_ORIENTATION_REVERSE :
+                                     TYPEC_ORIENTATION_NORMAL);
        }
 }
 
@@ -378,11 +378,6 @@ static int pmic_glink_ucsi_probe(struct auxiliary_device *adev,
                        return dev_err_probe(dev, PTR_ERR(desc),
                                             "unable to acquire orientation gpio\n");
                ucsi->port_orientation[port] = desc;
-
-               ucsi->port_switch[port] = fwnode_typec_switch_get(fwnode);
-               if (IS_ERR(ucsi->port_switch[port]))
-                       return dev_err_probe(dev, PTR_ERR(ucsi->port_switch[port]),
-                                       "failed to acquire orientation-switch\n");
        }
 
        ucsi->client = devm_pmic_glink_register_client(dev,