From patchwork Sun Jun 10 18:41:19 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 164015 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 08835100864 for ; Mon, 11 Jun 2012 09:23:00 +1000 (EST) Received: from mail-bk0-f51.google.com (mail-bk0-f51.google.com [209.85.214.51]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 9F694B6FD9 for ; Mon, 11 Jun 2012 04:41:23 +1000 (EST) Received: by bkcjg15 with SMTP id jg15so2817704bkc.38 for ; Sun, 10 Jun 2012 11:41:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=y6JQXHiWkUeZcW0fxOVSfbHJTUzq3nV1mRmiMMfCENk=; b=wnRC8GMN4+6atrEEj/O1A/O5O67CetwnHmsWeDGR6gK41GiWT+4fidhGuKCXEljbO1 JypdBmIQeFJxozQCzuyR7NlNg4QyIAvfLl2unpoSLlh0oakNMqLukK6xSJVB+4AY2h+4 m9rFP5rOUlT9/2y5bSSPyX+Kvhv/ZAfHD4S0gTusARg5lqY/BTzAiiJVbSJ5AvozZd2e grJxVU28F0Uioi4MVkQSXIKSUzxCyTkxOnyyMKvznSRozIJR2FYh3SNSs5OnrU0nzNZg at9j5u+GI7sVFg+3ADFjV360wVAkZQY/moncvsdr6FLgcTgQs9j6IokILuvYRtkibN9S 74JQ== MIME-Version: 1.0 Received: by 10.205.133.6 with SMTP id hw6mr8778317bkc.93.1339353679997; Sun, 10 Jun 2012 11:41:19 -0700 (PDT) Received: by 10.205.139.17 with HTTP; Sun, 10 Jun 2012 11:41:19 -0700 (PDT) In-Reply-To: <1338809853.3371.31.camel@mars> References: <20120410021151.GB23044@lovely.krouter> <20120411073918.GA9180@lovely.krouter> <20120509000221.GA19525@lovely.krouter> <20120513225126.GA3683@lovely.krouter> <20120514042142.GD9750@kroah.com> <20120520231724.GA7941@mars> <1337583221.3394.21.camel@mars> <20120521065722.GA4363@mars> <20120521190450.GA27492@arwen.pp.htv.fi> <1338809424.3371.20.camel@mars> <1338809853.3371.31.camel@mars> Date: Sun, 10 Jun 2012 15:41:19 -0300 Message-ID: Subject: Re: [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD From: Fabio Estevam To: Christoph Fritz X-Mailman-Approved-At: Mon, 11 Jun 2012 09:22:03 +1000 Cc: Ben Dooks , Chen Peter-B29397 , Nicolas Ferre , "Hans J. Koch" , Kukjin Kim , Russell King , Thomas Dahlmann , Sascha Hauer , Christian Hemp , Haojian Zhuang , Daniel Mack , Neil Zhang , linux-arm-kernel , Oliver Neukum , Eric Miao , Li Yang-R58472 , Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , Felipe Balbi , Ido Shayevitz , Estevam Fabio-R49496 , "linuxppc-dev@lists.ozlabs.org" X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.15rc1 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Hi Christoph, On Mon, Jun 4, 2012 at 8:37 AM, Christoph Fritz wrote: > After that, I stumbled upon this dmesg: > > Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007) > fsl-usb2-udc fsl-usb2-udc: clk_get("usb") failed > fsl-usb2-udc: probe of fsl-usb2-udc failed with error -2 > > Sascha, could you give me a hint? Does the patch below fix your problem? drivers/usb/gadget/fsl_mxc_udc.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/usb/gadget/fsl_mxc_udc.c b/drivers/usb/gadget/fsl_mxc_udc.c index dcbc0a2..c3ade6b 100644 --- a/drivers/usb/gadget/fsl_mxc_udc.c +++ b/drivers/usb/gadget/fsl_mxc_udc.c @@ -36,21 +36,21 @@ int fsl_udc_clk_init(struct platform_device *pdev) pdata = pdev->dev.platform_data; if (!cpu_is_mx35() && !cpu_is_mx25()) { - mxc_ahb_clk = clk_get(&pdev->dev, "usb_ahb"); + mxc_ahb_clk = clk_get(&pdev->dev, "ipg"); if (IS_ERR(mxc_ahb_clk)) return PTR_ERR(mxc_ahb_clk); - ret = clk_enable(mxc_ahb_clk); + ret = clk_prepare_enable(mxc_ahb_clk); if (ret < 0) { - dev_err(&pdev->dev, "clk_enable(\"usb_ahb\") failed\n"); + dev_err(&pdev->dev, "clk_enable(\"ipg\") failed\n"); goto eenahb; } } /* make sure USB_CLK is running at 60 MHz +/- 1000 Hz */ - mxc_usb_clk = clk_get(&pdev->dev, "usb"); + mxc_usb_clk = clk_get(&pdev->dev, "per"); if (IS_ERR(mxc_usb_clk)) { - dev_err(&pdev->dev, "clk_get(\"usb\") failed\n"); + dev_err(&pdev->dev, "clk_get(\"per\") failed\n"); ret = PTR_ERR(mxc_usb_clk); goto egusb; } @@ -65,7 +65,7 @@ int fsl_udc_clk_init(struct platform_device *pdev) } } - ret = clk_enable(mxc_usb_clk); + ret = clk_prepare_enable(mxc_usb_clk); if (ret < 0) { dev_err(&pdev->dev, "clk_enable(\"usb_clk\") failed\n"); goto eenusb; @@ -79,7 +79,7 @@ eclkrate: mxc_usb_clk = NULL; egusb: if (!cpu_is_mx35()) - clk_disable(mxc_ahb_clk); + clk_disable_unprepare(mxc_ahb_clk); eenahb: if (!cpu_is_mx35()) clk_put(mxc_ahb_clk); @@ -104,7 +104,7 @@ void fsl_udc_clk_finalize(struct platform_device *pdev) /* ULPI transceivers don't need usbpll */ if (pdata->phy_mode == FSL_USB2_PHY_ULPI) { - clk_disable(mxc_usb_clk); + clk_disable_unprepare(mxc_usb_clk); clk_put(mxc_usb_clk); mxc_usb_clk = NULL; } @@ -113,11 +113,11 @@ void fsl_udc_clk_finalize(struct platform_device *pdev) void fsl_udc_clk_release(void) { if (mxc_usb_clk) { - clk_disable(mxc_usb_clk); + clk_disable_unprepare(mxc_usb_clk); clk_put(mxc_usb_clk); } if (!cpu_is_mx35()) { - clk_disable(mxc_ahb_clk); + clk_disable_unprepare(mxc_ahb_clk); clk_put(mxc_ahb_clk); } }