From: Chunfeng Yun Date: Fri, 13 Oct 2017 09:10:44 +0000 (+0800) Subject: usb: mtu3: get optional vbus for host only mode X-Git-Tag: v4.19~2224^2~117^2~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6638ec515f2cce73ba996a725fe351fd643e27c8;p=platform%2Fkernel%2Flinux-rpi.git usb: mtu3: get optional vbus for host only mode When dr_mode is set as USB_DR_MODE_HOST, it's better to try to get optional vbus, this can increase flexibility, although we can set vbus as always on for regulator or put it in host driver to turn it on. Signed-off-by: Chunfeng Yun Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/mtu3/mtu3_plat.c b/drivers/usb/mtu3/mtu3_plat.c index 1e473b0..7ca81f4e 100644 --- a/drivers/usb/mtu3/mtu3_plat.c +++ b/drivers/usb/mtu3/mtu3_plat.c @@ -300,10 +300,6 @@ static int get_ssusb_rscs(struct platform_device *pdev, struct ssusb_mtk *ssusb) of_property_read_u32(node, "mediatek,u3p-dis-msk", &ssusb->u3p_dis_msk); - if (ssusb->dr_mode != USB_DR_MODE_OTG) - return 0; - - /* if dual-role mode is supported */ vbus = devm_regulator_get(&pdev->dev, "vbus"); if (IS_ERR(vbus)) { dev_err(dev, "failed to get vbus\n"); @@ -311,6 +307,10 @@ static int get_ssusb_rscs(struct platform_device *pdev, struct ssusb_mtk *ssusb) } otg_sx->vbus = vbus; + if (ssusb->dr_mode == USB_DR_MODE_HOST) + return 0; + + /* if dual-role mode is supported */ otg_sx->is_u3_drd = of_property_read_bool(node, "mediatek,usb3-drd"); otg_sx->manual_drd_enabled = of_property_read_bool(node, "enable-manual-drd");