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: 10211581 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 6299B602CB for ; Sun, 11 Feb 2018 21:15:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 515B428AAE for ; Sun, 11 Feb 2018 21:15:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4615028AB0; Sun, 11 Feb 2018 21:15:31 +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 1D80328AAE for ; Sun, 11 Feb 2018 21:15:30 +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=O2+zmpkAXBPimo/21ACL4mRN88h37mOzWUduaxb/NAo=; b=AsNEAZX235j/tdo4yPM8cOD4RL /77qfG3hUaC91sFtyivnH3EI/KR9LlHnwyFOaLiCsYVINvtnKVdnlIVtHcJNmICv0INXv9utxxzFM Ae0dFRNLLJZ1Pepr0mO/iuiF/5IgPcR6t5e2DhhgLfQpQJI7nKYZoxjl3XDN8bnuL/NiYHA7aG6Kn Xb2es1HTMIhv7SGBOZaBBh9qH6/tPaRGdvhf3ISaDPHTfORwT07E61scQQiLCQMT0s/+bXQoTcsUS n6rNhCxQXD31ZGijtvfYEx4CUtQ28SEvYwEpdVJGGlBKodxhjZCZZa46Iz5JrUviWr3orCKmiCEWj GXZksgLw==; Received: from [198.137.202.133] (helo=bombadil.infradead.org) by casper.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1ekyy0-0001FG-DD for patchwork-linux-mediatek@patchwork.kernel.org; Sun, 11 Feb 2018 21:15:20 +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=O2+zmpkAXBPimo/21ACL4mRN88h37mOzWUduaxb/NAo=; b=nPgD2W9zfp7JM5NMtMH2yCsFBT 9V+oDxzpOSHfetmwkrduEYI/UlhvgQ1t2hgIl0UAAFqyGVZw22mgI7bBTlW1z5IMkKA2agbwfQz4v N/3+VXZCZNhs+t11uf+vAToJ8g3xP8cmTzfJBH/g0XrNrhjWR1ckezttOlmYRjdBobfckiJMVe1KP O0BKD4XfhNu1mO2hMUahGy/eL8mfqXjXmPkRCO4L2Fe+7dkZTg7+jMiQ0Zc5Pp8eS+Y5M2Cnc1bhs heLsBOA3kj2G41jubrE7t2y5rwaDHhyAKqQ6D1JfkqXy1/zdpmaSf9gB82ncBexWSQBwZMYOEUceU A+4/IcFw==; 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 1ekyuT-0005h2-1j; Sun, 11 Feb 2018 21:11:41 +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-mediatek@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-mediatek" Errors-To: linux-mediatek-bounces+patchwork-linux-mediatek=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;