From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933262AbcGLMgB (ORCPT ); Tue, 12 Jul 2016 08:36:01 -0400 Received: from mail-lf0-f67.google.com ([209.85.215.67]:34201 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933186AbcGLMf5 (ORCPT ); Tue, 12 Jul 2016 08:35:57 -0400 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, linux-leds@vger.kernel.org, devicetree@vger.kernel.org, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , Alan Stern , linux-kernel@vger.kernel.org (open list) Subject: [PATCH 2/2] ohci-platform: register HCD provider Date: Tue, 12 Jul 2016 14:35:20 +0200 Message-Id: <1468326921-26485-3-git-send-email-zajec5@gmail.com> X-Mailer: git-send-email 1.8.4.5 In-Reply-To: <1468326921-26485-1-git-send-email-zajec5@gmail.com> References: <1468326921-26485-1-git-send-email-zajec5@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This allows platforms using e.g. "generic-ohci" to reference HCD using recently introduced providers mechanism Signed-off-by: Rafał Miłecki --- 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 #include #include +#include #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