From: Gregory CLEMENT <gregory.clement@free-electrons.com>
To: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Cc: "Jason Cooper" <jason@lakedaemon.net>,
"Emilio López" <emilio@elopez.com.ar>,
"Sebastian Hesselbarth" <sebastian.hesselbarth@gmail.com>,
"Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>,
"Andrew Lunn" <andrew@lunn.ch>,
"Mike Turquette" <mturquette@linaro.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 0/4] clk: mvebu: fix clk init order
Date: Mon, 17 Feb 2014 16:59:01 +0100 [thread overview]
Message-ID: <530231C5.8090905@free-electrons.com> (raw)
In-Reply-To: <20140217154421.GD2765@localhost>
On 17/02/2014 16:44, Ezequiel Garcia wrote:
> On Mon, Feb 17, 2014 at 04:28:41PM +0100, Gregory CLEMENT wrote:
>> On 17/02/2014 16:21, Ezequiel Garcia wrote:
>>> On Mon, Feb 17, 2014 at 03:25:22PM +0100, Gregory CLEMENT wrote:
>>>> On 17/02/2014 15:13, Ezequiel Garcia wrote:
>>>>> On Wed, Feb 05, 2014 at 01:34:57PM -0500, Jason Cooper wrote:
>>>>>> On Sat, Jan 25, 2014 at 07:19:06PM +0100, Sebastian Hesselbarth wrote:
>>>>>>> This patch set fixes clk init order that went upside-down with
>>>>>>> v3.14. I haven't really investigated what caused this, but I assume
>>>>>>> it is related with DT node reordering by addresses.
>>>>>>>
>>>>>>> Anyway, with v3.14 for MVEBU SoCs, the clock gating driver gets
>>>>>>> registered before core clocks driver. Unfortunately, we cannot
>>>>>>> return -EPROBE_DEFER in drivers initialized by clk_of_init. As the
>>>>>>> init order for our drivers is always core clocks before clock gating,
>>>>>>> we maintain init order ourselves by hooking CLK_OF_DECLARE to one
>>>>>>> init function that will register core clocks before clock gating
>>>>>>> driver.
>>>>>>>
>>>>>>> This patch is based on pre-v3.14-rc1 mainline and should go in as
>>>>>>> fixes for it. As we now send MVEBU clk pull-requests to Mike directly,
>>>>>>> I suggest Jason picks it up as a topic branch.
>>>>>>>
>>>>>>> The patches have been boot tested on Dove and compile-tested only
>>>>>>> for Kirkwood, Armada 370 and XP.
>>>>>>>
>>>>>>> Sebastian Hesselbarth (4):
>>>>>>> clk: mvebu: armada-370: maintain clock init order
>>>>>>> clk: mvebu: armada-xp: maintain clock init order
>>>>>>> clk: mvebu: dove: maintain clock init order
>>>>>>> clk: mvebu: kirkwood: maintain clock init order
>>>>>>>
>>>>>>> drivers/clk/mvebu/armada-370.c | 21 ++++++++++-----------
>>>>>>> drivers/clk/mvebu/armada-xp.c | 20 +++++++++-----------
>>>>>>> drivers/clk/mvebu/dove.c | 19 +++++++++----------
>>>>>>> drivers/clk/mvebu/kirkwood.c | 34 ++++++++++++++++------------------
>>>>>>> 4 files changed, 44 insertions(+), 50 deletions(-)
>>>>>>
>>>>>> Whole series applied to mvebu/clk-fixes.
>>>>>>
>>>>>
>>>>> Are we still in time to consider Emilio's oneline proposal?
>>>>> (Emilio: would you mind preparing a suitable patch against dove,
>>>>> kirkwood, armada370/xp, so we can see the real thing?).
>>>>
>>>> I am still strongly against this proposal because hard-coded the parent
>>>> clock name in the driver seems very wrong and moreover in some circumstances
>>>> (if there is no output-name, which is our default case) this proposal
>>>> just ignored the parent clock given by the device tree and this looked
>>>> more wrong.
>>>>
>>>
>>> So you're against the proposal as a permanent fix, *and* against the
>>> proposal as a workaround fix?
>>
>> Yes
>>
>>>
>>>>>
>>>>> Sebastian fix works perfect, and it easy to understand. However, it has
>>>>> quite a large diffstat. When compared to Emilio's oneline proposal, it
>>>>> seems to me it would be preferable, unless it's broken.
>>>>>
>>>>> Workaround or not, the fact is this code will be in v3.14, so maybe we
>>>>> can spend some time considering a cleaner option.
>>>>>
>>>
>>> Before discussing the solution as compared to your for-v3.15 clock
>>> registration order patch, I wanted to trigger some discussion around
>>> replacing this big and intrusive workaround with Emilio's oneline fix.
>>>
>>> Let's suppose we're considering them as workaround to live just one or
>>> two releases. Wouldn't it be better to take the least instrusive?
>>>
>>
>> The better solution is the one which doesn't add another regression and until
>> today I though we had an agreement to use the patch set from Sebastian. If
>> I remember well Jason had sent a pull request for it.
>>
>>
>
> Right. If you think it adds a regression, then that's a perfectly valid reasons
> for nacking.
>
> However, I'd like to double-check we have such a regression. I guess you're
> talking about the "tclk" name being hardcoded. IMHO, it's hardcoded in the
> driver in the first place:
>
> void __init mvebu_coreclk_setup(struct device_node *np,
> const struct coreclk_soc_desc *desc)
> {
> const char *tclk_name = "tclk";
> [..]
Here it is just about giving a name to a clock. As in the device tree
we only refer to the clock by index, the name don't matter.
>
> So it wouldn't be too nasty?
>
> I think you also mentioned the hypothetical case where the name
> is overloaded in the devicetree, so it's not "tclk", no? In that case,
> Emilio's fix would break.
I don't think I mentioned this case. I mentioned that this "fix" will
ignore the device tree.
>
> However, we don't have such situation in our 'canonical' devicetrees,
> so if the devicetree is allowed to be change, it can also be
> changed to add clock-output-name's so the name doesn't have to be
> obtained after the clock is registered.
>
> Which would solve it, no?
I really don't understand why you want introduce potential problem, just
to save a few line of code. A code that " works perfect, and it easy
to understand" as you wrote.
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2014-02-17 15:59 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-25 18:19 [PATCH 0/4] clk: mvebu: fix clk init order Sebastian Hesselbarth
2014-01-25 18:19 ` [PATCH 1/4] clk: mvebu: armada-370: maintain clock " Sebastian Hesselbarth
2014-01-25 18:19 ` [PATCH 2/4] clk: mvebu: armada-xp: " Sebastian Hesselbarth
2014-01-25 18:19 ` [PATCH 3/4] clk: mvebu: dove: " Sebastian Hesselbarth
2014-01-25 18:19 ` [PATCH 4/4] clk: mvebu: kirkwood: " Sebastian Hesselbarth
2014-01-25 21:32 ` [PATCH 0/4] clk: mvebu: fix clk " Emilio López
2014-01-25 21:44 ` Sebastian Hesselbarth
2014-01-25 22:11 ` Emilio López
2014-01-26 0:25 ` Ezequiel Garcia
2014-01-27 14:39 ` Thomas Petazzoni
2014-01-27 18:21 ` Sebastian Hesselbarth
2014-01-27 18:28 ` Jason Cooper
2014-01-30 10:24 ` Gregory CLEMENT
2014-01-30 10:31 ` Sebastian Hesselbarth
2014-02-03 23:16 ` Willy Tarreau
2014-02-03 23:36 ` Sebastian Hesselbarth
2014-02-04 14:58 ` Gregory CLEMENT
2014-02-04 20:07 ` Thomas Petazzoni
2014-02-05 14:08 ` Mike Turquette
2014-02-05 17:43 ` Jason Cooper
2014-02-05 18:34 ` Jason Cooper
2014-02-06 17:08 ` Ezequiel Garcia
2014-02-06 18:08 ` Jason Cooper
2014-02-17 14:13 ` Ezequiel Garcia
2014-02-17 14:25 ` Gregory CLEMENT
2014-02-17 14:42 ` Emilio López
2014-02-17 15:04 ` Gregory CLEMENT
2014-02-17 15:31 ` Emilio López
2014-02-17 15:21 ` Ezequiel Garcia
2014-02-17 15:28 ` Gregory CLEMENT
2014-02-17 15:44 ` Ezequiel Garcia
2014-02-17 15:59 ` Gregory CLEMENT [this message]
2014-02-17 18:19 ` Ezequiel Garcia
2014-02-18 9:47 ` Gregory CLEMENT
2014-02-19 16:28 ` Ezequiel Garcia
2014-02-19 20:24 ` Emilio López
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=530231C5.8090905@free-electrons.com \
--to=gregory.clement@free-electrons.com \
--cc=andrew@lunn.ch \
--cc=emilio@elopez.com.ar \
--cc=ezequiel.garcia@free-electrons.com \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=sebastian.hesselbarth@gmail.com \
--cc=thomas.petazzoni@free-electrons.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox