platform/chrome: cros_typec_switch: Check for retimer flag
authorPrashant Malani <pmalani@chromium.org>
Wed, 4 Jan 2023 06:08:45 +0000 (06:08 +0000)
committerPrashant Malani <pmalani@chromium.org>
Tue, 10 Jan 2023 20:47:32 +0000 (20:47 +0000)
Not all ports have retimers. Only register a retimer switch if the
"retimer-switch" property is present for that port's mux
device.

Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Link: https://lore.kernel.org/r/20230104060846.112216-2-pmalani@chromium.org
drivers/platform/chrome/cros_typec_switch.c

index 2536bda..9ed1605 100644 (file)
@@ -246,14 +246,16 @@ static int cros_typec_register_switches(struct cros_typec_switch_data *sdata)
                port->port_num = index;
                sdata->ports[index] = port;
 
-               ret = cros_typec_register_retimer(port, fwnode);
-               if (ret) {
-                       dev_err(dev, "Retimer switch register failed\n");
-                       goto err_switch;
+               if (fwnode_property_present(fwnode, "retimer-switch")) {
+                       ret = cros_typec_register_retimer(port, fwnode);
+                       if (ret) {
+                               dev_err(dev, "Retimer switch register failed\n");
+                               goto err_switch;
+                       }
+
+                       dev_dbg(dev, "Retimer switch registered for index %llu\n", index);
                }
 
-               dev_dbg(dev, "Retimer switch registered for index %llu\n", index);
-
                if (!fwnode_property_present(fwnode, "mode-switch"))
                        continue;