All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] usb: host: dwc3: fix phys init
@ 2018-04-25  9:39 Neil Armstrong
  2018-04-25 10:00 ` Masahiro Yamada
  2018-04-26  2:00 ` Bin Meng
  0 siblings, 2 replies; 4+ messages in thread
From: Neil Armstrong @ 2018-04-25  9:39 UTC (permalink / raw)
  To: u-boot

When no PHYs are declared in the dwc3 node, the phy init fails.
This patch checks if the "phys" property is presend and reports
the error returned by dev_count_phandle_with_args().

This patchs also fixes the styles issues added in last commit.

This patch should fix the DWC3 support on the UniPhier SoC family.

Fixes: 7c839ea70c49 ("usb: host: dwc3: Add support for multiple PHYs")
Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
 drivers/usb/host/xhci-dwc3.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/host/xhci-dwc3.c b/drivers/usb/host/xhci-dwc3.c
index c100735..adfa4a7 100644
--- a/drivers/usb/host/xhci-dwc3.c
+++ b/drivers/usb/host/xhci-dwc3.c
@@ -113,16 +113,21 @@ void dwc3_set_fladj(struct dwc3 *dwc3_reg, u32 val)
 }
 
 #ifdef CONFIG_DM_USB
-static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
+static int xhci_dwc3_setup_phy(struct udevice *dev)
 {
 	struct xhci_dwc3_platdata *plat = dev_get_platdata(dev);
-	int i, ret;
+	int i, ret, count;
 
-	if (!count)
+	/* Return if no phy declared */
+	if (!dev_read_prop(dev, "phys", NULL))
 		return 0;
 
+	count = dev_count_phandle_with_args(dev, "phys", "#phy-cells");
+	if (count <= 0)
+		return count;
+
 	plat->usb_phys = devm_kcalloc(dev, count, sizeof(struct phy),
-					GFP_KERNEL);
+				      GFP_KERNEL);
 	if (!plat->usb_phys)
 		return -ENOMEM;
 
@@ -136,7 +141,7 @@ static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
 
 		++plat->num_phys;
 	}
-	
+
 	for (i = 0; i < plat->num_phys; i++) {
 		ret = generic_phy_init(&plat->usb_phys[i]);
 		if (ret) {
@@ -145,7 +150,7 @@ static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
 			goto phys_init_err;
 		}
 	}
-	
+
 	for (i = 0; i < plat->num_phys; i++) {
 		ret = generic_phy_power_on(&plat->usb_phys[i]);
 		if (ret) {
@@ -157,7 +162,6 @@ static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
 
 	return 0;
 
-
 phys_poweron_err:
 	for (; i >= 0; i--)
 		generic_phy_power_off(&plat->usb_phys[i]);
@@ -187,7 +191,7 @@ static int xhci_dwc3_shutdown_phy(struct udevice *dev)
 		ret |= generic_phy_exit(&plat->usb_phys[i]);
 		if (ret) {
 			pr_err("Can't shutdown USB PHY%d for %s\n",
-				i, dev->name);
+			       i, dev->name);
 		}
 	}
 
@@ -206,8 +210,7 @@ static int xhci_dwc3_probe(struct udevice *dev)
 	hcor = (struct xhci_hcor *)((uintptr_t)hccr +
 			HC_LENGTH(xhci_readl(&(hccr)->cr_capbase)));
 
-	ret = xhci_dwc3_setup_phy(dev, dev_count_phandle_with_args(
-						dev, "phys", "#phy-cells"));
+	ret = xhci_dwc3_setup_phy(dev);
 	if (ret)
 		return ret;
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] usb: host: dwc3: fix phys init
  2018-04-25  9:39 [U-Boot] [PATCH] usb: host: dwc3: fix phys init Neil Armstrong
@ 2018-04-25 10:00 ` Masahiro Yamada
  2018-04-26  2:00 ` Bin Meng
  1 sibling, 0 replies; 4+ messages in thread
From: Masahiro Yamada @ 2018-04-25 10:00 UTC (permalink / raw)
  To: u-boot

2018-04-25 18:39 GMT+09:00 Neil Armstrong <narmstrong@baylibre.com>:
> When no PHYs are declared in the dwc3 node, the phy init fails.
> This patch checks if the "phys" property is presend and reports
> the error returned by dev_count_phandle_with_args().
>
> This patchs also fixes the styles issues added in last commit.
>
> This patch should fix the DWC3 support on the UniPhier SoC family.
>
> Fixes: 7c839ea70c49 ("usb: host: dwc3: Add support for multiple PHYs")
> Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  drivers/usb/host/xhci-dwc3.c | 23 +++++++++++++----------
>  1 file changed, 13 insertions(+), 10 deletions(-)


Tested-by: Masahiro Yamada <yamada.masahiro@socionext.com>





-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] usb: host: dwc3: fix phys init
  2018-04-25  9:39 [U-Boot] [PATCH] usb: host: dwc3: fix phys init Neil Armstrong
  2018-04-25 10:00 ` Masahiro Yamada
@ 2018-04-26  2:00 ` Bin Meng
  2018-04-26 12:03   ` Marek Vasut
  1 sibling, 1 reply; 4+ messages in thread
From: Bin Meng @ 2018-04-26  2:00 UTC (permalink / raw)
  To: u-boot

On Wed, Apr 25, 2018 at 5:39 PM, Neil Armstrong <narmstrong@baylibre.com> wrote:
> When no PHYs are declared in the dwc3 node, the phy init fails.
> This patch checks if the "phys" property is presend and reports
> the error returned by dev_count_phandle_with_args().
>
> This patchs also fixes the styles issues added in last commit.
>
> This patch should fix the DWC3 support on the UniPhier SoC family.
>
> Fixes: 7c839ea70c49 ("usb: host: dwc3: Add support for multiple PHYs")
> Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  drivers/usb/host/xhci-dwc3.c | 23 +++++++++++++----------
>  1 file changed, 13 insertions(+), 10 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] usb: host: dwc3: fix phys init
  2018-04-26  2:00 ` Bin Meng
@ 2018-04-26 12:03   ` Marek Vasut
  0 siblings, 0 replies; 4+ messages in thread
From: Marek Vasut @ 2018-04-26 12:03 UTC (permalink / raw)
  To: u-boot

On 04/26/2018 04:00 AM, Bin Meng wrote:
> On Wed, Apr 25, 2018 at 5:39 PM, Neil Armstrong <narmstrong@baylibre.com> wrote:
>> When no PHYs are declared in the dwc3 node, the phy init fails.
>> This patch checks if the "phys" property is presend and reports
>> the error returned by dev_count_phandle_with_args().
>>
>> This patchs also fixes the styles issues added in last commit.
>>
>> This patch should fix the DWC3 support on the UniPhier SoC family.
>>
>> Fixes: 7c839ea70c49 ("usb: host: dwc3: Add support for multiple PHYs")
>> Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
>> ---
>>  drivers/usb/host/xhci-dwc3.c | 23 +++++++++++++----------
>>  1 file changed, 13 insertions(+), 10 deletions(-)
>>
> 
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> 
Applied, thanks

-- 
Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-04-26 12:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-25  9:39 [U-Boot] [PATCH] usb: host: dwc3: fix phys init Neil Armstrong
2018-04-25 10:00 ` Masahiro Yamada
2018-04-26  2:00 ` Bin Meng
2018-04-26 12:03   ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.