On Monday 19 May 2014 19:08:05 Yoshihiro Shimoda wrote:
> 
>  #include "xhci.h"
>  #include "xhci-mvebu.h"
> +#include "xhci-rcar.h"
> 
>  static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
>  {
> @@ -39,6 +40,12 @@ static int xhci_plat_setup(struct usb_hcd *hcd)
> 
>  static int xhci_plat_start(struct usb_hcd *hcd)
>  {
> +     struct device_node *of_node = hcd->self.controller->of_node;
> +
> +     if (of_device_is_compatible(of_node, "renesas,r8a7790-xhci") ||
> +         of_device_is_compatible(of_node, "renesas,r8a7790-xhci"))
> +             xhci_rcar_start(hcd);
> +
>       return xhci_run(hcd);
>  }
> 
> @@ -165,6 +172,15 @@ static int xhci_plat_probe(struct platform_device *pdev)
>                       goto unmap_registers;
>       }
> 
> +     if (of_device_is_compatible(pdev->dev.of_node,
> +                                 "renesas,r8a7790-xhci") ||
> +         of_device_is_compatible(pdev->dev.of_node,
> +                                 "renesas,r8a7791-xhci")) {
> +             ret = xhci_rcar_init_quirk(pdev);
> +             if (ret)
> +                     goto disable_clk;
> +     }
> +
>       ret = usb_add_hcd(hcd, irq, IRQF_SHARED);
>       if (ret)
>               goto disable_clk;
> @@ -270,6 +286,8 @@ static const struct of_device_id usb_xhci_of_match[] = {
>       { .compatible = "xhci-platform" },
>       { .compatible = "marvell,armada-375-xhci"},
>       { .compatible = "marvell,armada-380-xhci"},
> +     { .compatible = "renesas,r8a7790-xhci"},
> +     { .compatible = "renesas,r8a7791-xhci"},
>       { },
>  };
>  MODULE_DEVICE_TABLE(of, usb_xhci_of_match);

Like the drivers before, this is way more than a quirk, and deserves to
be its own driver. It would be better to have an abstract way to split
out soc specific xhci front-ends and export functions from the xhci-platform
code.

        Arnd

--
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

Reply via email to