From patchwork Wed Jul 1 09:41:03 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomeu Vizoso X-Patchwork-Id: 6702191 Return-Path: X-Original-To: patchwork-linux-fbdev@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 2C92AC05AC for ; Wed, 1 Jul 2015 09:43:54 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5854C2066C for ; Wed, 1 Jul 2015 09:43:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 761C62066E for ; Wed, 1 Jul 2015 09:43:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753976AbbGAJni (ORCPT ); Wed, 1 Jul 2015 05:43:38 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:33665 "EHLO mail-wg0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753818AbbGAJms (ORCPT ); Wed, 1 Jul 2015 05:42:48 -0400 Received: by wgck11 with SMTP id k11so31768745wgc.0; Wed, 01 Jul 2015 02:42:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=3A/gG52YQ76Glfzym518RXxKd/ls1FQk0CNaS71CjJ4=; b=AUqgj2AaPIuhRp4vNIG2SGb7ntJiW6kP5FMGnBPRFZT2stffK44Ng0uzOCw3UOr6bt P+59YYoYFD7L7F73rv4wDOFi2Eqq0+zNYcOcFa/m/qA4gqchXX7CD2WZetq85BOnPUGQ eTikU1gHkIpfn02WXDgBMemnj6/KwpleRgEvzqLUhcc3JEMJB2HwnfneDI9ysY14j74J TU/Yy/t2a1vk8i/boLJggA50LriqdtjHUv3+e11wxXJLS1Biz15y9x250nCQMeXXSAoo ZoTQDDv/6FeZcjDu68HR2UiIo/4tRiTvgjeDRS9sYVu1ExHjj+/r1LfTKNl9IsskCksK aTlA== X-Received: by 10.180.99.71 with SMTP id eo7mr4329711wib.95.1435743766476; Wed, 01 Jul 2015 02:42:46 -0700 (PDT) Received: from cizrna.lan ([109.72.12.160]) by mx.google.com with ESMTPSA id x10sm1992663wjr.25.2015.07.01.02.42.42 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jul 2015 02:42:44 -0700 (PDT) From: Tomeu Vizoso To: linux-kernel@vger.kernel.org Cc: Mark Brown , linux-acpi@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-pwm@vger.kernel.org, "Rafael J. Wysocki" , alsa-devel@alsa-project.org, Tomeu Vizoso , Alan Stern , Thierry Reding , linux-usb@vger.kernel.org, Stephen Warren , linux-tegra@vger.kernel.org, Greg Kroah-Hartman , Alexandre Courbot Subject: [PATCH v2 08/12] USB: EHCI: register dependency parser for firmware nodes Date: Wed, 1 Jul 2015 11:41:03 +0200 Message-Id: <1435743667-11987-9-git-send-email-tomeu.vizoso@collabora.com> X-Mailer: git-send-email 2.4.1 In-Reply-To: <1435743667-11987-1-git-send-email-tomeu.vizoso@collabora.com> References: <1435743667-11987-1-git-send-email-tomeu.vizoso@collabora.com> Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP So others can find out whether a firmware node depends on a phy as specified in bindings/usb/nvidia,tegra20-ehci.txt. Signed-off-by: Tomeu Vizoso --- Changes in v2: None drivers/usb/host/ehci-tegra.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c index 4031b37..3665eaa 100644 --- a/drivers/usb/host/ehci-tegra.c +++ b/drivers/usb/host/ehci-tegra.c @@ -589,6 +589,18 @@ static const struct ehci_driver_overrides tegra_overrides __initconst = { .reset = tegra_ehci_reset, }; +static void tegra_ehci_get_dependencies(struct fwnode_handle *fwnode, + struct list_head *deps) +{ + struct device_node *np; + + np = of_parse_phandle(to_of_node(fwnode), "nvidia,phy", 0); + if (!np) + return; + + fwnode_add_dependency(&np->fwnode, deps); +} + static int __init ehci_tegra_init(void) { if (usb_disabled()) @@ -611,6 +623,8 @@ static int __init ehci_tegra_init(void) tegra_ehci_hc_driver.unmap_urb_for_dma = tegra_ehci_unmap_urb_for_dma; tegra_ehci_hc_driver.hub_control = tegra_ehci_hub_control; + fwnode_add_dependency_parser(tegra_ehci_get_dependencies); + return platform_driver_register(&tegra_ehci_driver); } module_init(ehci_tegra_init); @@ -618,6 +632,8 @@ module_init(ehci_tegra_init); static void __exit ehci_tegra_cleanup(void) { platform_driver_unregister(&tegra_ehci_driver); + + fwnode_remove_dependency_parser(tegra_ehci_get_dependencies); } module_exit(ehci_tegra_cleanup);