summaryrefslogtreecommitdiffstats
path: root/drivers/usb/chipidea
diff options
context:
space:
mode:
authorAntoine Tenart <antoine.tenart@free-electrons.com>2014-11-26 13:44:35 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-26 09:28:12 -0800
commit21a5b579cb63364b90e545e7e0a4bccb027711e8 (patch)
tree5c037f1308c3d4b8a4f4c9f145daa9f111ac1ff4 /drivers/usb/chipidea
parent14b4099c074f2ddf4d84b22d370170e61b527529 (diff)
downloadlinux-stable-21a5b579cb63364b90e545e7e0a4bccb027711e8.tar.gz
linux-stable-21a5b579cb63364b90e545e7e0a4bccb027711e8.tar.bz2
linux-stable-21a5b579cb63364b90e545e7e0a4bccb027711e8.zip
usb: chipidea: fix phy handling
The generic plaftorm device for ChipIdea drivers is probed by calling ci_hdrc_probe. The device structure used is not the one of the specific ChipIdea driver but the one of the generic ChipIdea platform device. This results in not being able to probe the PHYs as we're not using the right device structure. Since all ChipIdea drivers are retrieving their PHYs in their specific driver code, this didn't impact any of them yet. Fixes it using the right device structure (dev->parent). Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/chipidea')
-rw-r--r--drivers/usb/chipidea/core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index de1e4a84aa93..068e0c6acc3f 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -686,8 +686,8 @@ static int ci_hdrc_probe(struct platform_device *pdev)
} else if (ci->platdata->usb_phy) {
ci->usb_phy = ci->platdata->usb_phy;
} else {
- ci->phy = devm_phy_get(dev, "usb-phy");
- ci->usb_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
+ ci->phy = devm_phy_get(dev->parent, "usb-phy");
+ ci->usb_phy = devm_usb_get_phy(dev->parent, USB_PHY_TYPE_USB2);
/* if both generic PHY and USB PHY layers aren't enabled */
if (PTR_ERR(ci->phy) == -ENOSYS &&