From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Quadros Subject: Re: OMAP EHCI having clock problems? Date: Mon, 18 Feb 2013 11:49:57 +0200 Message-ID: <5121F945.1020907@ti.com> References: <87halea4s3.fsf@linaro.org> <511DE9AB.5080403@ti.com> <87fw0x608o.fsf@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Return-path: Received: from devils.ext.ti.com ([198.47.26.153]:57724 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754445Ab3BRJuD (ORCPT ); Mon, 18 Feb 2013 04:50:03 -0500 In-Reply-To: <87fw0x608o.fsf@linaro.org> Sender: linux-omap-owner@vger.kernel.org List-Id: linux-omap@vger.kernel.org To: Kevin Hilman Cc: Felipe Balbi , linux-omap , Mike Turquette On 02/15/2013 05:54 PM, Kevin Hilman wrote: > Roger Quadros writes: > >> Hi Kevin, >> >> On 02/15/2013 12:50 AM, Kevin Hilman wrote: >>> Felipe, Roger, >>> >>> Using Tony's current master branch, and enabling EHCI support, I see >>> the clock framework spitting loudly about the EHCI driver (full boot log >>> below.) The same thing happens on v3.8-rc7. >>> >>> Any idea what's going on? Am I missing a set of fixes that's already >>> been posted? >> >> Thanks for pointing out. This series should fix the issues >> https://lkml.org/lkml/2013/1/23/155 >> >> They should be on their way to linux-next. > > Great. But what about v3.8? I see the same problems in v3.8-rc7. > Kevin, the fix is below for older kernels. >>From 4762086167510619f2fb765871e7af144b86e937 Mon Sep 17 00:00:00 2001 From: Roger Quadros Date: Mon, 18 Feb 2013 11:44:59 +0200 Subject: [PATCH] mfd: omap-usb-host: Fix clk warnings at boot utmi_p1_gfclk and utmi_p2_gfclk are just clock multiplexers and don't have a gate. So don't call clk_enable/disable on them. Gets rid of warnings like below [ 0.716613] ------------[ cut here ]------------ [ 0.716644] WARNING: at drivers/clk/clk.c:522 __clk_enable+0x94/0xa4() [ 0.716674] Modules linked in: [ 0.716735] [] (unwind_backtrace+0x0/0xf0) from [] (warn_slowpath_common+0x4c/0x64) [ 0.716766] [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_null+0x1c/0x24) [ 0.716766] [] (warn_slowpath_null+0x1c/0x24) from [] (__clk_enable+0x94/0xa4) [ 0.716796] [] (__clk_enable+0x94/0xa4) from [] (clk_enable+0x20/0x3c) [ 0.716857] [] (clk_enable+0x20/0x3c) from [] (usbhs_runtime_resume+0x1c/0x34) [ 0.716888] [] (usbhs_runtime_resume+0x1c/0x34) from [] (pm_generic_runtime_resume+0x2c/0x38) [ 0.716918] [] (pm_generic_runtime_resume+0x2c/0x38) from [] (__rpm_callback+0x2c/0x60) [ 0.716949] [] (__rpm_callback+0x2c/0x60) from [] (rpm_resume+0x39c/0x60c) [ 0.716979] [] (rpm_resume+0x39c/0x60c) from [] (__pm_runtime_resume+0x48/0x60) [ 0.717010] [] (__pm_runtime_resume+0x48/0x60) from [] (usbhs_omap_probe+0x1f8/0x85c) [ 0.717041] [] (usbhs_omap_probe+0x1f8/0x85c) from [] (platform_drv_probe+0x18/0x1c) [ 0.717041] [] (platform_drv_probe+0x18/0x1c) from [] (driver_probe_device+0x74/0x218) [ 0.717071] [] (driver_probe_device+0x74/0x218) from [] (__driver_attach+0x94/0x98) [ 0.717132] [] (__driver_attach+0x94/0x98) from [] (bus_for_each_dev+0x4c/0x80) [ 0.717132] [] (bus_for_each_dev+0x4c/0x80) from [] (bus_add_driver+0x174/0x240) [ 0.717163] [] (bus_add_driver+0x174/0x240) from [] (driver_register+0x78/0x14c) [ 0.717193] [] (driver_register+0x78/0x14c) from [] (platform_driver_probe+0x18/0x9c) [ 0.717224] [] (platform_driver_probe+0x18/0x9c) from [] (do_one_initcall+0xfc/0x168) [ 0.717254] [] (do_one_initcall+0xfc/0x168) from [] (kernel_init_freeable+0xfc/0x1cc) [ 0.717285] [] (kernel_init_freeable+0xfc/0x1cc) from [] (kernel_init+0x8/0xe4) [ 0.717315] [] (kernel_init+0x8/0xe4) from [] (ret_from_fork+0x14/0x24) [ 0.717498] ---[ end trace 3ac11fdde949a96e ]--- Signed-off-by: Roger Quadros --- drivers/mfd/omap-usb-host.c | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-) diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c index 05164d7..f6f5b18 100644 --- a/drivers/mfd/omap-usb-host.c +++ b/drivers/mfd/omap-usb-host.c @@ -299,9 +299,6 @@ static int usbhs_runtime_resume(struct device *dev) if (is_ehci_tll_mode(pdata->port_mode[1])) clk_enable(omap->usbhost_p2_fck); - clk_enable(omap->utmi_p1_fck); - clk_enable(omap->utmi_p2_fck); - spin_unlock_irqrestore(&omap->lock, flags); return 0; @@ -327,9 +324,6 @@ static int usbhs_runtime_suspend(struct device *dev) if (is_ehci_tll_mode(pdata->port_mode[1])) clk_disable(omap->usbhost_p2_fck); - clk_disable(omap->utmi_p2_fck); - clk_disable(omap->utmi_p1_fck); - if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck)) clk_disable(omap->ehci_logic_fck); -- 1.7.4.1