From patchwork Sun Feb 11 21:06:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Blumenstingl X-Patchwork-Id: 10211573 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 776CB602CB for ; Sun, 11 Feb 2018 21:13:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 64F2928AAE for ; Sun, 11 Feb 2018 21:13:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5976928AB0; Sun, 11 Feb 2018 21:13:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, DKIM_VALID, FREEMAIL_FROM, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 88A7F28AAE for ; Sun, 11 Feb 2018 21:13:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5I4swPplsTl1RVlr0QmgOaHos6X5VblKoDozvMtAimk=; b=OOpau1s2qQ58AoDAoMXhFfg7Xm V/kSoOzINBs4tUYw+B2nEuwQJhw5NvyxGFwqQXGoHgi0DfzvCdl014RA1Wa4vpsvnVVMVtrpX0Cpy 29XxvBSwUzZu4fV+eD7R4IaAhg5GeF5nRoOVb538jX6cdeHsYQBwEpz1BqpedZQLO9jawKcARdppX +Wvf01CGUg2BDvbVYu7euO+R9YBMr6AvjTSGqLGSO1MtRBUbupL6gE2fkdmR2dYdJrevUgHUEts1q 3AQL7fhgRFkKETMIwQ29hyOKDETUbeOZQRAW4UcPsbkDxu3J5iIyQFDT6D7mt8muhvqyJUzQUWtv+ tP0pqw8w==; Received: from [198.137.202.133] (helo=bombadil.infradead.org) by casper.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1ekyvu-0000C4-0g for patchwork-linux-amlogic@patchwork.kernel.org; Sun, 11 Feb 2018 21:13:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=5I4swPplsTl1RVlr0QmgOaHos6X5VblKoDozvMtAimk=; b=t3jObQ+aUz3F+QRfufLnnu1lcy Y+/mbNrFZGKo/aLUCNdjm0zrs0xclbHm0jHqvzjC6QsZCm/T/gQ7xeU6jYptuCCvs6W+cmxQAHSuq xdOAUtQT8vVjtx5O3bt2eHRMXNLspCagLUPKzlDoUc1K2iaz0UiEuAcqjIFYLmekeMnk5wTdI8kr5 rWHq679YZez+latwaTQKCdVEkD+goZMWlFAtFZI7SFpOp8yO6h7IdsYEhnDVsfAhdk+/s0Z4JZzCe rgKM+T6HVanCeFybS4e1VctUJAIhY4yF2u2B40R4wBityKuQjeV/764DbcWUZKo1pB33bw1HMWqQ9 1RT9HafQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1ekyur-0006Q8-K3; Sun, 11 Feb 2018 21:12:05 +0000 Received: from mail-wm0-f68.google.com ([74.125.82.68]) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1ekysM-0000ya-Tz; Sun, 11 Feb 2018 21:09:32 +0000 Received: by mail-wm0-f68.google.com with SMTP id 143so6257153wma.5; Sun, 11 Feb 2018 13:09:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Vg7Wg71b5ZgpNHA1u/u7rTstWZ3Aa1uY2KqoqH/Y6eg=; b=Kik8xvJiTwPdci2+sMqWyprUNZWk7IFIoEzcfaiYKEEmG4+k+DRgvcVveR8r0zDf6S /ya3vuTAQ00RdZgbfKlDhuKutfo3p+4iK2tesXWVbHTAq2S2x9TA5UNCn391eVo2U6IX c285NhP5o3ks/fmPzvGo2w1+ETFEYIEETj7AuZXY+wYelCYgFy1aS4F23+HgOkX1dCzq g2dNGnvakMYNfT4uEzD6y2DiyeHKQGIufMs5aXOFf/UUJOIOqR8QVBJFIf+zWHAKwCi+ fldGoJSXC+Xe/ek9mwLs1T6XUUpnI5GZFBjA2WKv60E+yJPoKwC0hJ3Zap2aARH07ktp k4Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Vg7Wg71b5ZgpNHA1u/u7rTstWZ3Aa1uY2KqoqH/Y6eg=; b=LMyj4/pB3ukw8pFhOaz0Uiv1CjbzcNgZ6H1esk9tEan7oWKRzg+3ovdRfmINBZjWnT 8lJC8wO7FuTDCVLEsPC4eGka2stV3r3Ia3U+mgoiP+5jLzzWtx9OohwgzRlOqd7V24Iz RYXGoW46nVWkV5i0jGoCfe9hxQq4ePi2+m7foKTakQyxHIK5TmCgOpo+unPhG7kFmeY8 5dkZ1gT14vnU9P0/6KrmqS4vImJEmOdp2MublN5uAVzKMgQsRJZI/rdQSyuAe4Z9LQVG sS/hErD0OdoQnmUVlPk0/ghCS/HtPLrHyCigHVWkHZrWls7Fx9aBNjdjUEJI+BsAi0Bi gDsA== X-Gm-Message-State: APf1xPAUcZuGkWYeMJrP966v61e00neuUXFqNmX8e2YhG2FubY8nHwTJ yRMylIsbqvaln9D4Z+2StAc= X-Google-Smtp-Source: AH8x224PlCLOewL0erqzQzTzu0XvTTmhYWd6FPYgDyRzKaopATh2vJqSvoIlwO2fnFoQJW6F33ZUrw== X-Received: by 10.28.37.5 with SMTP id l5mr1998303wml.133.1518383299312; Sun, 11 Feb 2018 13:08:19 -0800 (PST) Received: from blackbox.darklights.net (p5B056154.dip0.t-ipconnect.de. [91.5.97.84]) by smtp.googlemail.com with ESMTPSA id k13sm6301773wrd.61.2018.02.11.13.08.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Feb 2018 13:08:18 -0800 (PST) From: Martin Blumenstingl To: linux-usb@vger.kernel.org, mathias.nyman@intel.com, arnd@arndb.de, gregkh@linuxfoundation.org, felipe.balbi@linux.intel.com Subject: [PATCH usb-next v9 6/8] usb: host: ehci-platform: remove custom USB PHY handling Date: Sun, 11 Feb 2018 22:06:49 +0100 Message-Id: <20180211210651.2046-7-martin.blumenstingl@googlemail.com> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180211210651.2046-1-martin.blumenstingl@googlemail.com> References: <20180211210651.2046-1-martin.blumenstingl@googlemail.com> X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, Peter.Chen@nxp.com, Martin Blumenstingl , narmstrong@baylibre.com, yixun.lan@amlogic.com, robh+dt@kernel.org, jonathanh@nvidia.com, linux@prisktech.co.nz, matthias.bgg@gmail.com, thierry.reding@gmail.com, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-tegra@vger.kernel.org, stern@rowland.harvard.edu, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+patchwork-linux-amlogic=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The new PHY wrapper is now wired up in the core HCD code. This means that PHYs are now controlled (initialized, enabled, disabled, exited) without requiring any host-driver specific code. Remove the custom USB PHY handling from the ehci-platform driver as the core HCD code now handles this. Signed-off-by: Martin Blumenstingl Acked-by: Alan Stern --- drivers/usb/host/ehci-platform.c | 55 +++------------------------------------- 1 file changed, 4 insertions(+), 51 deletions(-) diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index 40fbc4925378..4c306fb6b069 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -44,8 +43,6 @@ struct ehci_platform_priv { struct clk *clks[EHCI_MAX_CLKS]; struct reset_control *rsts; - struct phy **phys; - int num_phys; bool reset_on_resume; }; @@ -80,7 +77,7 @@ static int ehci_platform_power_on(struct platform_device *dev) { struct usb_hcd *hcd = platform_get_drvdata(dev); struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd); - int clk, ret, phy_num; + int clk, ret; for (clk = 0; clk < EHCI_MAX_CLKS && priv->clks[clk]; clk++) { ret = clk_prepare_enable(priv->clks[clk]); @@ -88,24 +85,8 @@ static int ehci_platform_power_on(struct platform_device *dev) goto err_disable_clks; } - for (phy_num = 0; phy_num < priv->num_phys; phy_num++) { - ret = phy_init(priv->phys[phy_num]); - if (ret) - goto err_exit_phy; - ret = phy_power_on(priv->phys[phy_num]); - if (ret) { - phy_exit(priv->phys[phy_num]); - goto err_exit_phy; - } - } - return 0; -err_exit_phy: - while (--phy_num >= 0) { - phy_power_off(priv->phys[phy_num]); - phy_exit(priv->phys[phy_num]); - } err_disable_clks: while (--clk >= 0) clk_disable_unprepare(priv->clks[clk]); @@ -117,12 +98,7 @@ static void ehci_platform_power_off(struct platform_device *dev) { struct usb_hcd *hcd = platform_get_drvdata(dev); struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd); - int clk, phy_num; - - for (phy_num = 0; phy_num < priv->num_phys; phy_num++) { - phy_power_off(priv->phys[phy_num]); - phy_exit(priv->phys[phy_num]); - } + int clk; for (clk = EHCI_MAX_CLKS - 1; clk >= 0; clk--) if (priv->clks[clk]) @@ -149,7 +125,7 @@ static int ehci_platform_probe(struct platform_device *dev) struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev); struct ehci_platform_priv *priv; struct ehci_hcd *ehci; - int err, irq, phy_num, clk = 0; + int err, irq, clk = 0; if (usb_disabled()) return -ENODEV; @@ -202,29 +178,6 @@ static int ehci_platform_probe(struct platform_device *dev) "has-transaction-translator")) hcd->has_tt = 1; - priv->num_phys = of_count_phandle_with_args(dev->dev.of_node, - "phys", "#phy-cells"); - - if (priv->num_phys > 0) { - priv->phys = devm_kcalloc(&dev->dev, priv->num_phys, - sizeof(struct phy *), GFP_KERNEL); - if (!priv->phys) - return -ENOMEM; - } else - priv->num_phys = 0; - - for (phy_num = 0; phy_num < priv->num_phys; phy_num++) { - priv->phys[phy_num] = devm_of_phy_get_by_index( - &dev->dev, dev->dev.of_node, phy_num); - if (IS_ERR(priv->phys[phy_num])) { - err = PTR_ERR(priv->phys[phy_num]); - goto err_put_hcd; - } else { - /* Avoiding phy_get() in usb_add_hcd() */ - hcd->skip_phy_initialization = true; - } - } - for (clk = 0; clk < EHCI_MAX_CLKS; clk++) { priv->clks[clk] = of_clk_get(dev->dev.of_node, clk); if (IS_ERR(priv->clks[clk])) { @@ -306,7 +259,7 @@ static int ehci_platform_probe(struct platform_device *dev) err_put_clks: while (--clk >= 0) clk_put(priv->clks[clk]); -err_put_hcd: + if (pdata == &ehci_platform_defaults) dev->dev.platform_data = NULL;