Commit 5f6aea34 authored by Yoshihiro Shimoda's avatar Yoshihiro Shimoda Committed by Felipe Balbi

usb: renesas_usbhs: clean up rcar2.c to support a generic PHY

To support both usb PHY and generic PHY, this patch cleans up rcar2.c.
Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent c042b85a
...@@ -20,25 +20,28 @@ ...@@ -20,25 +20,28 @@
static int usbhs_rcar2_hardware_init(struct platform_device *pdev) static int usbhs_rcar2_hardware_init(struct platform_device *pdev)
{ {
struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev); struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev);
struct usb_phy *usb_phy;
usb_phy = usb_get_phy_dev(&pdev->dev, 0); if (IS_ENABLED(CONFIG_USB_PHY)) {
if (IS_ERR(usb_phy)) struct usb_phy *usb_phy = usb_get_phy_dev(&pdev->dev, 0);
return PTR_ERR(usb_phy);
priv->usb_phy = usb_phy; if (IS_ERR(usb_phy))
return 0; return PTR_ERR(usb_phy);
priv->usb_phy = usb_phy;
return 0;
}
return -ENXIO;
} }
static int usbhs_rcar2_hardware_exit(struct platform_device *pdev) static int usbhs_rcar2_hardware_exit(struct platform_device *pdev)
{ {
struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev); struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev);
if (!priv->usb_phy) if (priv->usb_phy) {
return 0; usb_put_phy(priv->usb_phy);
priv->usb_phy = NULL;
usb_put_phy(priv->usb_phy); }
priv->usb_phy = NULL;
return 0; return 0;
} }
...@@ -47,21 +50,22 @@ static int usbhs_rcar2_power_ctrl(struct platform_device *pdev, ...@@ -47,21 +50,22 @@ static int usbhs_rcar2_power_ctrl(struct platform_device *pdev,
void __iomem *base, int enable) void __iomem *base, int enable)
{ {
struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev); struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev);
int retval = -ENODEV;
if (!priv->usb_phy) if (priv->usb_phy) {
return -ENODEV; if (enable) {
retval = usb_phy_init(priv->usb_phy);
if (enable) { if (!retval)
int retval = usb_phy_init(priv->usb_phy); retval = usb_phy_set_suspend(priv->usb_phy, 0);
} else {
if (!retval) usb_phy_set_suspend(priv->usb_phy, 1);
retval = usb_phy_set_suspend(priv->usb_phy, 0); usb_phy_shutdown(priv->usb_phy);
return retval; retval = 0;
}
} }
usb_phy_set_suspend(priv->usb_phy, 1); return retval;
usb_phy_shutdown(priv->usb_phy);
return 0;
} }
static int usbhs_rcar2_get_id(struct platform_device *pdev) static int usbhs_rcar2_get_id(struct platform_device *pdev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment