From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/7] clk: Add a generic clock infrastructure
Date: Mon, 3 Oct 2011 17:31:08 +0100 [thread overview]
Message-ID: <20111003163107.GQ3731@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <4E89D3C4.8090001@gmail.com>
On Mon, Oct 03, 2011 at 10:24:52AM -0500, Rob Herring wrote:
> On 10/03/2011 09:25 AM, Mark Brown wrote:
> > This isn't in any way specific to clocks, right now the likely solution
> > looks to be Grant's changes for retrying probe() as new devices come on
> > line. With that devices can return a code from their probe() which
> > tells the driver core that they couldn't get all the resources they need
> > and that it should retry the probe() if more devices come on-line.
> Except SOC clocks are initialized very early before timers are up and
> there can be a very high number of dependencies (every clock except
> fixed clocks). With the driver probe retry, retrying is the exception,
> not the rule.
> Retrying would require every caller to maintain a list of clks to
> retry. With 2 stages, you can move that into the core clock code.
They don't need to maintain a list of clocks to retry, they need to
unwind when probe() fails. But yes.
> There are not typically a large number of board-level/driver created
> clocks, so ensuring correct register order is not really a problem. In
> cases where there is a cross-driver dependency, the probe retry is a
> good solution.
I dunno, I get the impression that some of this is due to the current
limitations of the clock API rather than due to a lack of clocks -
perhaps that's specific to the applications I look at, though.
applications
WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Rob Herring <robherring2@gmail.com>
Cc: Mike Turquette <mturquette@ti.com>,
linux-kernel@vger.kernel.org, paul@pwsan.com,
linaro-dev@lists.linaro.org, linus.walleij@stericsson.com,
patches@linaro.org, eric.miao@linaro.org, magnus.damm@gmail.com,
amit.kucheria@linaro.org, richard.zhao@linaro.org,
grant.likely@secretlab.ca, dsaxena@linaro.org,
arnd.bergmann@linaro.org, shawn.guo@freescale.com,
skannan@quicinc.com, linux@arm.linux.org.uk,
jeremy.kerr@canonical.com, tglx@linutronix.de,
linux-arm-kernel@lists.infradead.org, sboyd@quiinc.com
Subject: Re: [PATCH v2 1/7] clk: Add a generic clock infrastructure
Date: Mon, 3 Oct 2011 17:31:08 +0100 [thread overview]
Message-ID: <20111003163107.GQ3731@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <4E89D3C4.8090001@gmail.com>
On Mon, Oct 03, 2011 at 10:24:52AM -0500, Rob Herring wrote:
> On 10/03/2011 09:25 AM, Mark Brown wrote:
> > This isn't in any way specific to clocks, right now the likely solution
> > looks to be Grant's changes for retrying probe() as new devices come on
> > line. With that devices can return a code from their probe() which
> > tells the driver core that they couldn't get all the resources they need
> > and that it should retry the probe() if more devices come on-line.
> Except SOC clocks are initialized very early before timers are up and
> there can be a very high number of dependencies (every clock except
> fixed clocks). With the driver probe retry, retrying is the exception,
> not the rule.
> Retrying would require every caller to maintain a list of clks to
> retry. With 2 stages, you can move that into the core clock code.
They don't need to maintain a list of clocks to retry, they need to
unwind when probe() fails. But yes.
> There are not typically a large number of board-level/driver created
> clocks, so ensuring correct register order is not really a problem. In
> cases where there is a cross-driver dependency, the probe retry is a
> good solution.
I dunno, I get the impression that some of this is due to the current
limitations of the clock API rather than due to a lack of clocks -
perhaps that's specific to the applications I look at, though.
applications
next prev parent reply other threads:[~2011-10-03 16:31 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-22 22:26 [PATCH v2 0/7] Add a generic struct clk Mike Turquette
2011-09-22 22:26 ` Mike Turquette
2011-09-22 22:26 ` [PATCH v2 1/7] clk: Add a generic clock infrastructure Mike Turquette
2011-09-22 22:26 ` Mike Turquette
2011-09-25 3:55 ` Grant Likely
2011-09-25 3:55 ` Grant Likely
2011-09-25 5:26 ` Turquette, Mike
2011-09-25 5:26 ` Turquette, Mike
2011-10-03 14:17 ` Rob Herring
2011-10-03 14:17 ` Rob Herring
2011-10-03 14:25 ` Mark Brown
2011-10-03 14:25 ` Mark Brown
2011-10-03 15:24 ` Rob Herring
2011-10-03 15:24 ` Rob Herring
2011-10-03 16:31 ` Mark Brown [this message]
2011-10-03 16:31 ` Mark Brown
2011-10-03 16:43 ` Russell King - ARM Linux
2011-10-03 16:43 ` Russell King - ARM Linux
2011-10-03 17:05 ` Mark Brown
2011-10-03 17:05 ` Mark Brown
2011-10-04 18:09 ` Grant Likely
2011-10-04 18:09 ` Grant Likely
2011-10-27 11:54 ` Domenico Andreoli
2011-10-27 11:54 ` Domenico Andreoli
2011-10-03 22:02 ` Rob Herring
2011-10-03 22:02 ` Rob Herring
2011-10-03 22:15 ` Turquette, Mike
2011-10-03 22:15 ` Turquette, Mike
2011-10-06 1:17 ` Saravana Kannan
2011-10-06 1:17 ` Saravana Kannan
2011-10-06 16:11 ` Turquette, Mike
2011-10-06 16:11 ` Turquette, Mike
2011-10-11 11:25 ` Richard Zhao
2011-10-11 11:25 ` Richard Zhao
2011-10-13 14:44 ` Russell King - ARM Linux
2011-10-13 14:44 ` Russell King - ARM Linux
2011-10-13 17:16 ` Turquette, Mike
2011-10-13 17:16 ` Turquette, Mike
2011-10-14 8:10 ` Richard Zhao
2011-10-14 8:10 ` Richard Zhao
2011-10-14 10:05 ` Mark Brown
2011-10-14 10:05 ` Mark Brown
2011-10-14 10:32 ` Richard Zhao
2011-10-14 10:32 ` Richard Zhao
2011-10-16 17:55 ` Sascha Hauer
2011-10-16 17:55 ` Sascha Hauer
2011-10-17 8:48 ` Richard Zhao
2011-10-17 8:48 ` Richard Zhao
2011-10-17 9:20 ` Mark Brown
2011-10-17 9:20 ` Mark Brown
2011-10-17 10:53 ` Richard Zhao
2011-10-17 10:53 ` Richard Zhao
2011-10-17 11:05 ` Sascha Hauer
2011-10-17 11:05 ` Sascha Hauer
2011-10-17 11:30 ` Russell King - ARM Linux
2011-10-17 11:30 ` Russell King - ARM Linux
2011-10-14 18:14 ` Turquette, Mike
2011-10-14 18:14 ` Turquette, Mike
2011-10-15 2:24 ` Richard Zhao
2011-10-15 2:24 ` Richard Zhao
2011-10-15 2:34 ` Richard Zhao
2011-10-15 2:34 ` Richard Zhao
2011-10-16 21:17 ` Turquette, Mike
2011-10-16 21:17 ` Turquette, Mike
2011-10-17 11:31 ` Richard Zhao
2011-10-17 11:31 ` Richard Zhao
2011-10-21 9:00 ` Richard Zhao
2011-10-21 9:00 ` Richard Zhao
2011-10-23 12:55 ` Shawn Guo
2011-10-23 12:55 ` Shawn Guo
2011-10-23 16:49 ` Turquette, Mike
2011-10-23 16:49 ` Turquette, Mike
2011-09-22 22:26 ` [PATCH v2 2/7] clk: Implement clk_set_rate Mike Turquette
2011-09-22 22:26 ` Mike Turquette
2011-10-11 11:49 ` Richard Zhao
2011-10-11 11:49 ` Richard Zhao
2011-10-23 14:24 ` Shawn Guo
2011-10-23 14:24 ` Shawn Guo
2011-10-23 16:50 ` Turquette, Mike
2011-10-23 16:50 ` Turquette, Mike
2011-09-22 22:26 ` [PATCH v2 3/7] clk: Add fixed-rate clock Mike Turquette
2011-09-22 22:26 ` Mike Turquette
2011-10-23 14:30 ` Shawn Guo
2011-10-23 14:30 ` Shawn Guo
2011-10-23 16:51 ` Turquette, Mike
2011-10-23 16:51 ` Turquette, Mike
2011-09-22 22:26 ` [PATCH v2 4/7] clk: Add simple gated clock Mike Turquette
2011-09-22 22:26 ` Mike Turquette
2011-09-25 4:02 ` Grant Likely
2011-09-25 4:02 ` Grant Likely
2011-09-25 5:27 ` Turquette, Mike
2011-09-25 5:27 ` Turquette, Mike
2011-09-26 18:33 ` Rob Herring
2011-09-26 18:33 ` Rob Herring
2011-09-26 18:40 ` Jamie Iles
2011-09-26 18:40 ` Jamie Iles
2011-09-26 19:10 ` Rob Herring
2011-09-26 19:10 ` Rob Herring
2011-09-26 19:37 ` Jamie Iles
2011-09-26 19:37 ` Jamie Iles
2011-09-26 22:37 ` Turquette, Mike
2011-09-26 22:37 ` Turquette, Mike
2011-09-26 23:30 ` Rob Herring
2011-09-26 23:30 ` Rob Herring
2011-10-05 1:41 ` Saravana Kannan
2011-10-05 1:41 ` Saravana Kannan
2011-10-12 6:46 ` Richard Zhao
2011-10-12 6:46 ` Richard Zhao
2011-10-12 14:59 ` Turquette, Mike
2011-10-12 14:59 ` Turquette, Mike
2011-10-16 18:26 ` Sascha Hauer
2011-10-16 18:26 ` Sascha Hauer
2011-10-17 6:42 ` Richard Zhao
2011-10-17 6:42 ` Richard Zhao
2011-10-17 17:46 ` Turquette, Mike
2011-10-17 17:46 ` Turquette, Mike
2011-10-13 14:45 ` Russell King - ARM Linux
2011-10-13 14:45 ` Russell King - ARM Linux
2011-10-13 17:18 ` Turquette, Mike
2011-10-13 17:18 ` Turquette, Mike
2011-09-22 22:27 ` [PATCH v2 5/7] clk: Add Kconfig option to build all generic clk drivers Mike Turquette
2011-09-22 22:27 ` Mike Turquette
2011-09-22 22:27 ` [PATCH v2 6/7] clk: Add initial WM831x clock driver Mike Turquette
2011-09-22 22:27 ` Mike Turquette
2011-09-25 4:08 ` Grant Likely
2011-09-25 4:08 ` Grant Likely
2011-09-25 5:29 ` Turquette, Mike
2011-09-25 5:29 ` Turquette, Mike
2011-09-26 9:38 ` Mark Brown
2011-09-26 9:38 ` Mark Brown
2011-10-04 18:18 ` Grant Likely
2011-10-04 18:18 ` Grant Likely
2011-10-04 20:50 ` Mark Brown
2011-10-04 20:50 ` Mark Brown
2011-10-04 23:22 ` Grant Likely
2011-10-04 23:22 ` Grant Likely
2011-09-22 22:27 ` [PATCH v2 7/7] x86: Enable generic clk API on x86 Mike Turquette
2011-09-22 22:27 ` Mike Turquette
2011-09-22 23:17 ` [PATCH v2 0/7] Add a generic struct clk Turquette, Mike
2011-09-22 23:17 ` Turquette, Mike
2011-09-25 4:10 ` Grant Likely
2011-09-25 4:10 ` Grant Likely
2011-09-29 18:54 ` Mark Brown
2011-09-29 18:54 ` Mark Brown
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=20111003163107.GQ3731@opensource.wolfsonmicro.com \
--to=broonie@opensource.wolfsonmicro.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.