Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753259AbcKTC64 (ORCPT ); Sat, 19 Nov 2016 21:58:56 -0500 Received: from vern.gendns.com ([206.190.152.46]:49488 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752905AbcKTC6y (ORCPT ); Sat, 19 Nov 2016 21:58:54 -0500 Subject: Re: [v5,1/5] USB: ohci: da8xx: use ohci priv data instead of globals To: ahaslam@baylibre.com, gregkh@linuxfoundation.org, stern@rowland.harvard.edu, khilman@kernel.org, kishon@ti.com References: <20161114144103.12120-2-ahaslam@baylibre.com> Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org From: David Lechner Message-ID: <75e1a8a4-062b-28db-3743-b16fd8c98fa0@lechnology.com> Date: Sat, 19 Nov 2016 20:58:51 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <20161114144103.12120-2-ahaslam@baylibre.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2260 Lines: 71 On 11/14/2016 08:40 AM, ahaslam@baylibre.com wrote: > Instead of global variables, use the extra_priv_size of > the ohci driver. > > We cannot yet move the ocic mask because this is used on > the interrupt handler which is registerded through platform > data and does not have an hcd pointer. This will be moved > on a later patch. > > Signed-off-by: Axel Haslam > --- > drivers/usb/host/ohci-da8xx.c | 73 +++++++++++++++++++++++++------------------ > 1 file changed, 43 insertions(+), 30 deletions(-) > > diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c > index b3de8bc..438970b 100644 > --- a/drivers/usb/host/ohci-da8xx.c > +++ b/drivers/usb/host/ohci-da8xx.c ... > @@ -238,25 +246,29 @@ static int ohci_da8xx_probe(struct platform_device *pdev) > if (hub == NULL) > return -ENODEV; > > - usb11_clk = devm_clk_get(&pdev->dev, "usb11"); > - if (IS_ERR(usb11_clk)) { > - if (PTR_ERR(usb11_clk) != -EPROBE_DEFER) > + hcd = usb_create_hcd(&ohci_da8xx_hc_driver, &pdev->dev, > + dev_name(&pdev->dev)); > + if (!hcd) > + return -ENOMEM; > + > + da8xx_ohci = to_da8xx_ohci(hcd); > + > + da8xx_ohci->usb11_clk = devm_clk_get(&pdev->dev, "usb11"); > + if (IS_ERR(da8xx_ohci->usb11_clk)) { > + if (PTR_ERR(da8xx_ohci->usb11_clk) != -EPROBE_DEFER) > dev_err(&pdev->dev, "Failed to get clock.\n"); > - return PTR_ERR(usb11_clk); > + error = PTR_ERR(da8xx_ohci->usb11_clk); > + goto err; > } Small thing, but this could be written slightly cleaner as: da8xx_ohci->usb11_clk = devm_clk_get(&pdev->dev, "usb11"); if (IS_ERR(da8xx_ohci->usb11_clk)) { error = PTR_ERR(da8xx_ohci->usb11_clk); if (error != -EPROBE_DEFER) dev_err(&pdev->dev, "Failed to get clock.\n"); goto err; } > > - usb11_phy = devm_phy_get(&pdev->dev, "usb-phy"); > - if (IS_ERR(usb11_phy)) { > - if (PTR_ERR(usb11_phy) != -EPROBE_DEFER) > + da8xx_ohci->usb11_phy = devm_phy_get(&pdev->dev, "usb-phy"); > + if (IS_ERR(da8xx_ohci->usb11_phy)) { > + if (PTR_ERR(da8xx_ohci->usb11_phy) != -EPROBE_DEFER) > dev_err(&pdev->dev, "Failed to get phy.\n"); > - return PTR_ERR(usb11_phy); > + error = PTR_ERR(da8xx_ohci->usb11_phy); > + goto err; > } same here ... Tested-by: David Lechner