Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751164AbbEGIXI (ORCPT ); Thu, 7 May 2015 04:23:08 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:43346 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750755AbbEGIXB (ORCPT ); Thu, 7 May 2015 04:23:01 -0400 Message-ID: <554B20B4.3040003@ti.com> Date: Thu, 7 May 2015 11:22:12 +0300 From: Tero Kristo User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Stephen Boyd , =?windows-1252?Q?Heiko_St=FCbn?= =?windows-1252?Q?er?= CC: , , , , , Boris Brezillon , Alex Elder , Alexandre Belloni , Stephen Warren , Max Filippov , , Zhangfei Gao , Santosh Shilimkar , Chao Xie , Jason Cooper , Stefan Wahren , Andrew Bresticker , Robert Jarzmik , Georgi Djakov , Sylwester Nawrocki , Geert Uytterhoeven , Barry Song , Dinh Nguyen , Viresh Kumar , Gabriel FERNANDEZ , , Peter De Sc hrijver , Ulf Hansson , Pawel Moll , Michal Simek Subject: Re: [PATCH v3 0/2] clk: improve handling of orphan clocks References: <1429735986-18592-1-git-send-email-heiko@sntech.de> <1981330.kGUrTurMy5@diego> <5543E79F.2080400@codeaurora.org> <22709390.NTAlubMgNB@diego> <55440EDA.4030905@codeaurora.org> In-Reply-To: <55440EDA.4030905@codeaurora.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2406 Lines: 56 On 05/02/2015 02:40 AM, Stephen Boyd wrote: > On 05/01/15 15:07, Heiko St?bner wrote: >> Am Freitag, 1. Mai 2015, 13:52:47 schrieb Stephen Boyd: >> >>>> Instead I guess we could hook it less deep into clk_get_sys, like in the >>>> following patch? >>> It looks like it will work at least, but still I'd prefer to keep the >>> orphan check contained to clk.c. How about this compile tested only patch? >> I gave this a spin on my rk3288-firefly board. It still boots, the clock tree >> looks the same and it also still defers nicely in the scenario I needed it >> for. The implementation also looks nice - and of course much more compact than >> my check in two places :-) . I don't know if you want to put this as follow-up >> on top or fold it into the original orphan-check, so in any case >> >> Tested-by: Heiko Stuebner >> Reviewed-by: Heiko Stuebner > > Thanks. I'm leaning towards tossing your patch 2/2 and replacing it with > my patch and a note that it's based on an earlier patch from you. FWIW, just gave a try for these two patches on all TI boards I have access to. Tested-by: Tero Kristo I didn't try your evolved patch though, as you don't seem to have made your mind yet. -Tero > >> >> >>> This also brings up an existing problem with clk_unregister() where >>> orphaned clocks are sitting out there useable by drivers when their >>> parent is unregistered. That code could use some work to atomically >>> switch all the orphaned clocks over to use the nodrv_ops. >> Not sure I understand this correctly yet, but when these children get >> orphaned, switched to the clk_nodrv_ops, they won't get their original ops >> back if the parent reappears. >> >> So I guess we would need to store the original ops in secondary property of >> struct clk_core and I guess simply bind the ops-switch to the orphan state >> update? > > Yep. We'll need to store away the original ops in case we need to put > them back. Don't feel obligated to fix this either. It would certainly > be nice if someone tried to fix this case at some point, but it's not > like things are any worse off right now. > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/