linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Saravana Kannan <skannan@codeaurora.org>
To: Paul Walmsley <paul@pwsan.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Arnd Bergmann <arnd@arndb.de>,
	linux-arm-kernel@lists.infradead.org,
	Amit Kucheria <amit.kucheria@linaro.org>,
	linaro-dev@lists.linaro.org,
	Linus Walleij <linus.walleij@linaro.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	Jeremy Kerr <jeremy.kerr@canonical.com>,
	Mike Turquette <mturquette@ti.com>,
	Mike Turquette <mturquette@linaro.org>,
	Magnus Damm <magnus.damm@gmail.com>,
	Deepak Saxena <dsaxena@linaro.org>,
	patches@linaro.org, Rob Herring <rob.herring@calxeda.com>,
	Russell King <linux@arm.linux.org.uk>,
	Thomas Gleixner <tglx@linutronix.de>,
	Richard Zhao <richard.zhao@linaro.org>,
	Shawn Guo <shawn.guo@freescale.com>,
	Linus Walleij <linus.walleij@stericsson.com>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v7 1/3] Documentation: common clk API
Date: Wed, 21 Mar 2012 11:38:58 -0700	[thread overview]
Message-ID: <4F6A2042.9030302@codeaurora.org> (raw)
In-Reply-To: <alpine.DEB.2.00.1203210130520.30543@utopia.booyaka.com>

On 03/21/2012 12:44 AM, Paul Walmsley wrote:
> Hello Saravana,
>
> On Tue, 20 Mar 2012, Saravana Kannan wrote:
>
>> To add a few more thoughts, while I agree with Paul that there is room for
>> improvement in the APIs, I think the difference in opinion comes when we ask
>> the question:
>>
>> "When we eventually refine the APIs in the future to be more expressive, do we
>> think that the current APIs can or cannot be made as wrappers around the new
>> more expressive APIs?"
>>
>> Absolutes are almost never right, so I can't give an absolute answer.
>> But I'm strongly leaning towards "we can" as the answer to the question.
>> That combined with the reasons Nicholas mentioned is why I think the
>> APIs should not be marked as experimental in anyway.
>
> The resistance to documenting that the clock interface is not
> well-defined, and that therefore it is likely to change, and that users
> should not expect it to be stable, is perplexing to me.
>
> Certainly a Kconfig help text change seems trivial enough.  But even the
> resistance to CONFIG_EXPERIMENTAL has been quite surprising to me, given
> that every single defconfig in arch/arm/defconfig sets it:
>
> $ find arch/arm/configs -type f  | wc -l
> 122
> $ fgrep -r CONFIG_EXPERIMENTAL=y arch/arm/configs | wc -l
> 122
> $
>
> (that includes iMX, by the way...)
>
> Certainly, neither Kconfig change is going to prevent us on OMAP from
> figuring out what else is needed to convert our platform to the common
> clock code.  And given the level of enthusiasm on the lists,

I think the enthusiasm we are seeing are from the clock driver 
developers. And for good reasons. Everyone is tired of having to write 
or rewrite their own implementation.

> I don't think
> it's going to prevent many of the other ARM platforms from experimenting
> with the conversion, either.
>
> So it would be interesting to know more about why you (or anyone else)
> perceive that the Kconfig changes would be harmful.

But the enthusiasm of the clock driver developers doesn't necessarily 
translate to users of the clock APIs (other driver devs). My worry with 
marking it as experimental in Kconfig and to a certain extent in the 
documentation is that it will discourage the driver devs from switching 
to the new APIs. If no one is using the new APIs, then platforms can't 
switch to the common clock framework either. If a lot of platform don't 
convert to the common clock framework, the effort to get it merged in 
now is not also very meaningful.

Also, at the rate at which we come to an agreement on new APIs, I think 
these new APIs should be considered quite stable :-) It's certainly 
better than what we have today. We should encourage driver devs to move 
to these new APIs and get the benefits while we go on another 2 yr cycle 
to agree on the next set of APIs improvements.

And as I said before, I think it's much less likely that we will break 
backward source compatibility when we do the next improvement. We could 
have mostly avoid this large scale change by calling the APIs 
prepare/unprepare/gate/ungate (or whatever) and make clk_enable/disable 
similar to clk_prepare_enable/clk_disable_unprepare(). That would have 
avoid a lot of drivers from having to mess with their clock calls. But 
we didn't think about that in the excitement for improved APIs. I think 
this will still be seared in our minds enough to make sure we don't 
repeat that in the future.

That covers all I have to say on this topic.

-Saravana

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

  parent reply	other threads:[~2012-03-21 18:39 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-16  6:11 [PATCH v7 0/3] common clk framework Mike Turquette
2012-03-16  6:11 ` [PATCH v7 1/3] Documentation: common clk API Mike Turquette
2012-03-16  8:25   ` Linus Walleij
2012-03-16 10:29     ` Thomas Gleixner
2012-03-16 11:14       ` Amit Kucheria
2012-03-16 12:18         ` Arnd Bergmann
2012-03-16 20:57           ` Arnd Bergmann
2012-03-16 21:40             ` Turquette, Mike
2012-03-16 21:50             ` Nicolas Pitre
2012-03-16 22:21             ` Paul Walmsley
2012-03-16 22:33               ` Turquette, Mike
2012-03-17  9:05                 ` Arnd Bergmann
2012-03-17 18:02                   ` Turquette, Mike
2012-03-17 18:33                     ` Arnd Bergmann
2012-03-17 20:29                     ` Sascha Hauer
2012-03-17 21:13                       ` Arnd Bergmann
2012-03-20 23:40                   ` Paul Walmsley
2012-03-21  8:59                     ` Arnd Bergmann
2012-03-16 23:47               ` Sascha Hauer
2012-03-17  0:54                 ` Rob Herring
2012-03-17  3:38                   ` Saravana Kannan
2012-03-20 23:31                 ` Paul Walmsley
2012-03-21  3:15                   ` Nicolas Pitre
2012-03-21  3:26                     ` Saravana Kannan
2012-03-21  7:44                       ` Paul Walmsley
2012-03-21  9:10                         ` Sascha Hauer
2012-03-21 18:38                         ` Saravana Kannan [this message]
2012-03-21 19:07                           ` Mark Brown
2012-03-21 19:33                             ` Tony Lindgren
2012-03-21 19:41                               ` Saravana Kannan
2012-03-21 19:56                                 ` Mark Brown
2012-03-21 20:04                                   ` Saravana Kannan
2012-03-21 20:10                                     ` Mark Brown
2012-03-22  0:42                                 ` Russell King - ARM Linux
2012-03-21  7:30                     ` Paul Walmsley
2012-03-21 13:23                       ` Nicolas Pitre
2012-03-16  6:11 ` [PATCH v7 2/3] clk: introduce the common clock framework Mike Turquette
2012-03-17  3:28   ` Saravana Kannan
2012-03-19 18:56     ` Turquette, Mike
2012-03-19 19:13       ` Saravana Kannan
2012-03-19 19:33         ` Turquette, Mike
2012-03-19 19:49           ` Saravana Kannan
2012-03-20  3:38           ` [PATCH 1/2] clk: Fix error handling in fixed clock hardware type register fn Saravana Kannan
2012-03-20  3:38             ` [PATCH 2/2] clk: Move init fields from clk to clk_hw Saravana Kannan
2012-03-20  7:20               ` Shawn Guo
2012-03-20  7:54                 ` Saravana Kannan
2012-03-20  8:13                   ` Shawn Guo
2012-03-20  9:40                   ` Sascha Hauer
2012-03-20 10:17                     ` Saravana Kannan
2012-03-20 18:14                       ` Sascha Hauer
2012-03-20 20:14                         ` Saravana Kannan
2012-03-20 22:40                           ` Sascha Hauer
2012-03-22  3:23                             ` Shawn Guo
2012-03-20 14:18                     ` Shawn Guo
2012-03-20 18:10                       ` Sascha Hauer
2012-03-20 20:06                         ` Saravana Kannan
2012-03-20 23:12                           ` Sascha Hauer
2012-03-21  1:47                             ` Turquette, Mike
2012-03-21  3:01                               ` Saravana Kannan
2012-03-27  4:35                                 ` Saravana Kannan
2012-03-27 18:49                                   ` Turquette, Mike
2012-03-27 22:27                                     ` Saravana Kannan
2012-04-06  1:30                                     ` Saravana Kannan
2012-04-11 17:59                                       ` Turquette, Mike
2012-04-11 19:57                                         ` Saravana Kannan
2012-04-11 20:17                                           ` Turquette, Mike
2012-04-11 20:21                                             ` Saravana Kannan
2012-03-20 23:47                         ` Paul Walmsley
2012-03-21  9:16                           ` Sascha Hauer
2012-03-20  7:19             ` [PATCH 1/2] clk: Fix error handling in fixed clock hardware type register fn Sascha Hauer
2012-03-20  7:46               ` Saravana Kannan
2012-03-21  0:13                 ` Turquette, Mike
2012-03-21  2:32                   ` Saravana Kannan
2012-03-21  5:45                     ` Turquette, Mike
2012-03-21  6:33                       ` Saravana Kannan
2012-03-21  9:07                       ` Russell King - ARM Linux
2012-03-21 19:56                         ` Turquette, Mike
2012-03-18 13:46   ` [PATCH v7 2/3] clk: introduce the common clock framework Shawn Guo
2012-03-19 18:58     ` Turquette, Mike
2012-03-18 14:07   ` Shawn Guo
2012-03-19 19:00     ` Turquette, Mike
2012-03-19 11:22   ` Rajendra Nayak
2012-03-19 11:28     ` Sascha Hauer
2012-03-19 19:09       ` Turquette, Mike
2012-03-19 19:53     ` Turquette, Mike
2012-03-20 14:02   ` Shawn Guo
2012-03-20 17:46     ` Saravana Kannan
2012-03-20 23:53       ` Turquette, Mike
2012-03-21  3:10         ` Saravana Kannan
2012-03-23 21:33           ` Saravana Kannan
2012-03-23 21:39             ` Turquette, Mike
2012-03-23 21:51               ` Saravana Kannan
2012-03-23 22:12               ` Saravana Kannan
2012-03-23 22:32                 ` Turquette, Mike
2012-03-23 23:04                   ` Saravana Kannan
2012-03-23 23:28                     ` Turquette, Mike
2012-03-28  3:06                       ` Saravana Kannan
2012-03-28 17:08                         ` Turquette, Mike
2012-03-28 22:25                           ` Saravana Kannan
2012-03-28 23:49                             ` Turquette, Mike
2012-03-20 23:46     ` Turquette, Mike
2012-03-21  5:46       ` Shawn Guo
2012-03-16  6:11 ` [PATCH v7 3/3] clk: basic clock hardware types Mike Turquette
2012-03-16 12:25   ` Richard Zhao
2012-03-16 16:51     ` Turquette, Mike
2012-03-16 10:57 ` [PATCH v7 0/3] common clk framework Sascha Hauer

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=4F6A2042.9030302@codeaurora.org \
    --to=skannan@codeaurora.org \
    --cc=amit.kucheria@linaro.org \
    --cc=arnd@arndb.de \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=dsaxena@linaro.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jeremy.kerr@canonical.com \
    --cc=linaro-dev@lists.linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=magnus.damm@gmail.com \
    --cc=mturquette@linaro.org \
    --cc=mturquette@ti.com \
    --cc=nicolas.pitre@linaro.org \
    --cc=patches@linaro.org \
    --cc=paul@pwsan.com \
    --cc=richard.zhao@linaro.org \
    --cc=rob.herring@calxeda.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sboyd@codeaurora.org \
    --cc=shawn.guo@freescale.com \
    --cc=tglx@linutronix.de \
    /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;
as well as URLs for NNTP newsgroup(s).