From: Saravana Kannan <skannan@codeaurora.org>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Paul Walmsley <paul@pwsan.com>,
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: Tue, 20 Mar 2012 20:26:34 -0700 [thread overview]
Message-ID: <4F694A6A.4050706@codeaurora.org> (raw)
In-Reply-To: <alpine.LFD.2.02.1203202233340.24151@xanadu.home>
On 03/20/2012 08:15 PM, Nicolas Pitre wrote:
> On Tue, 20 Mar 2012, Paul Walmsley wrote:
>
>> We need to indicate in some way that the existing code and API is very
>> likely to change in ways that could involve quite a bit of work for
>> adopters.
>
> [...]
>
>> Anyway. It is okay if we want to have some starter common clock framework
>> in mainline; this is why deferring the merge hasn't been proposed. But
>> the point is that anyone who bases their code or platform on the common
>> clock framework needs to be aware that, to satisfy one of its major
>> use-cases, the behavior and/or API of the common clock code may need to
>> change significantly.
>
> Paul,
>
> While I understand your concern, please don't forget that the perfect is
> the enemy of the good.
>
> This common clk API has been under development for over *two* years
> already, with several attempts to merge it. And each previous merge
> attempt aborted because someone came along at the last minute to do
> exactly what you are doing i.e. underline all the flaws and call for a
> redesign. This is becoming a bad joke.
>
> We finally have something that the majority of reviewers are happy with
> and which should cover the majority of existing cases out there. Let's
> give it a chance, shall we? Otherwise one might ask where were you
> during those development years if you claim that the behavior and/or API
> of the common clock code still need to change significantly?
>
>> Explicitly stating this is not only simple courtesy to its users, many of
>> whom won't have been privy to its development. It also is intended to
>> make the code easier to change once it reaches mainline.
>
> The code will be easier to change once it is in mainline, simply due to
> the fact that you can also change all its users at once. And it is well
> possible that most users won't have to deal with the same magnitude of
> complexity as yours, again reducing the scope for resistance to changes.
>
> Let's see how things go with the current code and improve it
> incrementally. Otherwise no one will get involved with this API which
> is almost just as bad as not having the code merged at all.
>
>> So, until the API is well-defined and does all that it needs to do for its
>> major users, [...]
>
> No, the API simply can't ever be well defined if people don't actually
> start using it to eventually refine it further. Major users were
> converted to it, and in most cases The API does all that it needs to do
> already. Otherwise you'll be stuck in a catch22 situation forever.
>
> And APIs in the Linux kernel do change all the time. There is no stable
> API in the kernel. Extensions will come about eventually, and existing
> users (simple ones by definition if the current API already meets their
> needs) should be converted over easily.
+1 to the general idea in Nicolas's email.
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.
-Saravana
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2012-03-21 3:26 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 [this message]
2012-03-21 7:44 ` Paul Walmsley
2012-03-21 9:10 ` Sascha Hauer
2012-03-21 18:38 ` Saravana Kannan
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=4F694A6A.4050706@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).