summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorXu Yang <xu.yang_2@nxp.com>2026-04-02 15:14:55 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-04-07 13:46:54 +0200
commitabad793a41edbf05b87935f6b83017512ed0003a (patch)
treef0d519749cd44c0fe511247415d1473350eee461 /drivers
parent3723393cc284e09107c0f55c47458b75b29be2c3 (diff)
usb: chipidea: core: refactor ci_usb_role_switch_set()
Current code is redundant, refactor the code, no function change. Signed-off-by: Xu Yang <xu.yang_2@nxp.com> Link: https://patch.msgid.link/20260402071457.2516021-1-xu.yang_2@nxp.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/chipidea/core.c29
1 files changed, 7 insertions, 22 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index fac11f20cf0a..87be716dff3e 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -618,28 +618,13 @@ static int ci_usb_role_switch_set(struct usb_role_switch *sw,
struct ci_hdrc *ci = usb_role_switch_get_drvdata(sw);
struct ci_hdrc_cable *cable;
- if (role == USB_ROLE_HOST) {
- cable = &ci->platdata->id_extcon;
- cable->changed = true;
- cable->connected = true;
- cable = &ci->platdata->vbus_extcon;
- cable->changed = true;
- cable->connected = false;
- } else if (role == USB_ROLE_DEVICE) {
- cable = &ci->platdata->id_extcon;
- cable->changed = true;
- cable->connected = false;
- cable = &ci->platdata->vbus_extcon;
- cable->changed = true;
- cable->connected = true;
- } else {
- cable = &ci->platdata->id_extcon;
- cable->changed = true;
- cable->connected = false;
- cable = &ci->platdata->vbus_extcon;
- cable->changed = true;
- cable->connected = false;
- }
+ cable = &ci->platdata->id_extcon;
+ cable->changed = true;
+ cable->connected = (role == USB_ROLE_HOST);
+
+ cable = &ci->platdata->vbus_extcon;
+ cable->changed = true;
+ cable->connected = (role == USB_ROLE_DEVICE);
ci_irq(ci);
return 0;