On Wed, 13 May 2015, Rob Herring wrote:

> Add platform driver for Marvell PXA1928 SOC. This is different from the
> mv-ehci driver in that it uses the generic phy framework, uses DT, does
> not use platform_data, is host only, and has a specific HSIC PHY and
> controller initialization handshake.

One more thing, which I had intended to include in my earlier review 
but then forgot about...

> +static int mv_ehci_probe(struct platform_device *pdev)
> +{

...

> +     hcd->phy = devm_of_phy_get(&pdev->dev, pdev->dev.of_node, NULL);
> +     if (IS_ERR_OR_NULL(hcd->phy)) {
> +             retval = PTR_ERR(hcd->phy);
> +             if (retval != -EPROBE_DEFER && retval != -ENODEV)
> +                     dev_err(&pdev->dev, "failed to get the phy\n");
> +             else
> +                     return -EPROBE_DEFER;
> +             goto err_put_hcd;
> +     }

Please straighten out this convoluted logic.  It should go like this:

        hcd->phy = devm_of_phy_get(&pdev->dev, pdev->dev.of_node, NULL);
        if (IS_ERR_OR_NULL(hcd->phy)) {
                retval = PTR_ERR(hcd->phy);
                if (retval == -EPROBE_DEFER || retval == -ENODEV)
                        return -EPROBE_DEFER;
                dev_err(&pdev->dev, "failed to get the phy\n");
                goto err_put_hcd;
        }

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to