This allows platforms using e.g. "generic-ohci" to reference HCD using recently introduced providers mechanism Signed-off-by: Rafał Miłecki <zajec5@xxxxxxxxx> --- drivers/usb/host/ohci-platform.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c index 898b740..57be81c 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -28,6 +28,7 @@ #include <linux/usb/ohci_pdriver.h> #include <linux/usb.h> #include <linux/usb/hcd.h> +#include <linux/usb/provider.h> #include "ohci.h" @@ -40,6 +41,7 @@ struct ohci_platform_priv { struct clk *clks[OHCI_MAX_CLKS]; struct reset_control *resets[OHCI_MAX_RESETS]; struct phy **phys; + struct hcd_provider *hcd_provider; int num_phys; }; @@ -258,6 +260,11 @@ static int ohci_platform_probe(struct platform_device *dev) if (err) goto err_power; + if (dev->dev.of_node) + priv->hcd_provider = of_hcd_provider_register(dev->dev.of_node, + of_hcd_xlate_simple, + hcd); + device_wakeup_enable(hcd->self.controller); platform_set_drvdata(dev, hcd); @@ -289,6 +296,8 @@ static int ohci_platform_remove(struct platform_device *dev) struct ohci_platform_priv *priv = hcd_to_ohci_priv(hcd); int clk, rst; + of_hcd_provider_unregister(priv->hcd_provider); + usb_remove_hcd(hcd); if (pdata->power_off) -- 1.8.4.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html