Re: [PATCH 6/6] usb: dwc3: host: convey the PHYs to xhci

Kishon Vijay Abraham I
2014-09-11T15:01:29Z

Hi,

On Thursday 21 August 2014 05:03 PM, Heikki Krogerus wrote:
> On some platforms a PHY may need to be handled also in the
> host controller driver. Exynos5420 SoC requires some "PHY
> tuning" based on the USB speed. This patch delivers dwc3's
> PHYs to the xhci platform device when it's created.
>
> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Tested-by: Vivek Gautam <gautam.vivek@samsung.com>
> Acked-by: Felipe Balbi <balbi@ti.com>
> ---
> drivers/usb/dwc3/host.c | 22 ++++++++++++++++------
> 1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
> index dcb8ca0..12bfd3c 100644
> --- a/drivers/usb/dwc3/host.c
> +++ b/drivers/usb/dwc3/host.c
> @@ -29,8 +29,7 @@ int dwc3_host_init(struct dwc3 *dwc)
> xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO);
> if (!xhci) {
> dev_err(dwc->dev, "couldn't allocate xHCI device\n");
> - ret = -ENOMEM;
> - goto err0;
> + return -ENOMEM;
> }
>
> dma_set_coherent_mask(&xhci->dev, dwc->dev->coherent_dma_mask);
> @@ -60,22 +59,33 @@ int dwc3_host_init(struct dwc3 *dwc)
> goto err1;
> }
>
> + phy_create_lookup(dwc->usb2_generic_phy, "usb2-phy",
> + dev_name(&xhci->dev));
> + phy_create_lookup(dwc->usb3_generic_phy, "usb3-phy",
> + dev_name(&xhci->dev));
> +

I don't think create lookup should be in host init. If it's dt boot, the
binding should be in dt data or for other boot modes the bindig should be done
in the board file. This just seems hacky to me.

Thanks
Kishon