Re: [PATCH v7 07/13] usb: chipidea: fix phy handling

2014-11-16 Thread Peter Chen
On Fri, Nov 14, 2014 at 04:25:57PM +0100, Antoine Tenart wrote:
 The generic platform device for CI drivers is probed by calling
 ci_hdrc_probe. This is not the same device as the one for the specific
 driver, so the of_node isn't the one we're looking into.
 
 This result in not being able to probe the phys. Since all CI driver are
 retrieving their phys in the specific code, this didn't impact any of
 them yet.
 
 Fixes it using the right of node pointer, by using dev-parent instead
 of dev in phy get functions.

It is a correct fix, but the description need to be refined, it is
not related to of_node or node, it is related child/parent device.

 
 Signed-off-by: Antoine Tenart antoine.ten...@free-electrons.com
 ---
  drivers/usb/chipidea/core.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
 index ba0ac2723098..36318c85ad65 100644
 --- a/drivers/usb/chipidea/core.c
 +++ b/drivers/usb/chipidea/core.c
 @@ -654,8 +654,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 
 -- 
 2.1.0
 

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v7 07/13] usb: chipidea: fix phy handling

2014-11-14 Thread Antoine Tenart
The generic platform device for CI drivers is probed by calling
ci_hdrc_probe. This is not the same device as the one for the specific
driver, so the of_node isn't the one we're looking into.

This result in not being able to probe the phys. Since all CI driver are
retrieving their phys in the specific code, this didn't impact any of
them yet.

Fixes it using the right of node pointer, by using dev-parent instead
of dev in phy get functions.

Signed-off-by: Antoine Tenart antoine.ten...@free-electrons.com
---
 drivers/usb/chipidea/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index ba0ac2723098..36318c85ad65 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -654,8 +654,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 
-- 
2.1.0

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html