usb: mtu3: rebuild role switch get/set hooks
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Tue, 8 Jun 2021 07:57:39 +0000 (15:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Jun 2021 13:43:57 +0000 (15:43 +0200)
Use common helper ssusb_set_mode() to do role switch instead
of manual switch helper;
Remove unnecessary local variable when get role status

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1623139069-8173-14-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/mtu3/mtu3_dr.c

index cf9e5b5..318fbc6 100644 (file)
@@ -256,13 +256,9 @@ void ssusb_set_force_mode(struct ssusb_mtk *ssusb,
 static int ssusb_role_sw_set(struct usb_role_switch *sw, enum usb_role role)
 {
        struct ssusb_mtk *ssusb = usb_role_switch_get_drvdata(sw);
-       bool to_host = false;
-
-       if (role == USB_ROLE_HOST)
-               to_host = true;
+       struct otg_switch_mtk *otg_sx = &ssusb->otg_switch;
 
-       if (to_host ^ ssusb->is_host)
-               ssusb_mode_switch(ssusb, to_host);
+       ssusb_set_mode(otg_sx, role);
 
        return 0;
 }
@@ -270,11 +266,8 @@ static int ssusb_role_sw_set(struct usb_role_switch *sw, enum usb_role role)
 static enum usb_role ssusb_role_sw_get(struct usb_role_switch *sw)
 {
        struct ssusb_mtk *ssusb = usb_role_switch_get_drvdata(sw);
-       enum usb_role role;
-
-       role = ssusb->is_host ? USB_ROLE_HOST : USB_ROLE_DEVICE;
 
-       return role;
+       return ssusb->is_host ? USB_ROLE_HOST : USB_ROLE_DEVICE;
 }
 
 static int ssusb_role_sw_register(struct otg_switch_mtk *otg_sx)