summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPrashant Malani <pmalani@chromium.org>2022-02-08 19:47:18 +0100
committerPrashant Malani <pmalani@chromium.org>2022-02-15 20:49:20 +0100
commit53a0023c64509ac0fa3961f321659a6fb0b62794 (patch)
treef1c590ed153a99c7f16667346fa3d22f785a9b93 /drivers
parentplatform/chrome: cros_ec_typec: Check for EC device (diff)
downloadlinux-53a0023c64509ac0fa3961f321659a6fb0b62794.tar.xz
linux-53a0023c64509ac0fa3961f321659a6fb0b62794.zip
platform/chrome: cros_ec_typec: Move mux flag checks
Move mux and role flag checks inside of cros_typec_configure_mux(), which is a more logical location for them. Signed-off-by: Prashant Malani <pmalani@chromium.org> Reviewed-by: Tzung-Bi Shih <tzungbi@google.com> Link: https://lore.kernel.org/chrome-platform/20220208184721.1697194-2-pmalani@chromium.org/
Diffstat (limited to 'drivers')
-rw-r--r--drivers/platform/chrome/cros_ec_typec.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index c6f17e3ef72d..58d08dd02f65 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -521,6 +521,13 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
enum typec_orientation orientation;
int ret;
+ /* No change needs to be made, let's exit early. */
+ if (port->mux_flags == mux_flags && port->role == pd_ctrl->role)
+ return 0;
+
+ port->mux_flags = mux_flags;
+ port->role = pd_ctrl->role;
+
if (mux_flags == USB_PD_MUX_NONE) {
ret = cros_typec_usb_disconnect_state(port);
goto mux_ack;
@@ -983,13 +990,6 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
return 0;
}
- /* No change needs to be made, let's exit early. */
- if (typec->ports[port_num]->mux_flags == mux_resp.flags &&
- typec->ports[port_num]->role == resp.role)
- return 0;
-
- typec->ports[port_num]->mux_flags = mux_resp.flags;
- typec->ports[port_num]->role = resp.role;
ret = cros_typec_configure_mux(typec, port_num, mux_resp.flags, &resp);
if (ret)
dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);