usb: mtu3: skip getting extcon when use manual drd switch
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Fri, 28 May 2021 06:11:00 +0000 (14:11 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Jun 2021 11:53:04 +0000 (13:53 +0200)
When use manual drd switch, extcon is not used in fact, so no
need get it even it exists, just skip it like using role switch.

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

index eaeda39..bbfabdc 100644 (file)
@@ -299,7 +299,10 @@ static int get_ssusb_rscs(struct platform_device *pdev, struct ssusb_mtk *ssusb)
                of_property_read_bool(node, "enable-manual-drd");
        otg_sx->role_sw_used = of_property_read_bool(node, "usb-role-switch");
 
-       if (!otg_sx->role_sw_used && of_property_read_bool(node, "extcon")) {
+       if (otg_sx->role_sw_used || otg_sx->manual_drd_enabled)
+               goto out;
+
+       if (of_property_read_bool(node, "extcon")) {
                otg_sx->edev = extcon_get_edev_by_phandle(ssusb->dev, 0);
                if (IS_ERR(otg_sx->edev)) {
                        return dev_err_probe(dev, PTR_ERR(otg_sx->edev),