From: "Cousson, Benoit" <b-cousson@ti.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"Hilman, Kevin" <khilman@ti.com>
Subject: Re: [PATCH 5/8] OMAP2+: hwmod: allow multiple calls to omap_hwmod_init()
Date: Wed, 23 Feb 2011 15:46:12 +0100 [thread overview]
Message-ID: <4D651DB4.2060707@ti.com> (raw)
In-Reply-To: <20110223071150.5874.58996.stgit@twilight.localdomain>
On 2/23/2011 8:11 AM, Paul Walmsley wrote:
> There's no longer any reason why we should prevent multiple
> calls to omap_hwmod_init(). It is now simply used to register an
> array of hwmods.
>
> This should allow a subset of hwmods (e.g., hwmods
> handling the system clocksource and clockevents) to be registered
> earlier than the remaining mass of hwmods.
Cool... that one was needed anyway.
It will allow potentially to split the original omapxxx_hwmod list in
severals parts and thus handle the features or the infrastructure hwmods
we need to init early od based on the chip capabilities.
I was considering that during the discussion with Sanjeev
(http://www.spinics.net/lists/linux-omap/msg46716.html).
Benoit
>
> Signed-off-by: Paul Walmsley<paul@pwsan.com>
> Cc: Benoît Cousson<b-cousson@ti.com>
> Cc: Kevin Hilman<khilman@ti.com>
> ---
> arch/arm/mach-omap2/omap_hwmod.c | 29 ++++++++++-------------------
> 1 files changed, 10 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index 41f548e..86eacaf 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
> @@ -162,9 +162,6 @@ static LIST_HEAD(omap_hwmod_list);
> /* mpu_oh: used to add/remove MPU initiator from sleepdep list */
> static struct omap_hwmod *mpu_oh;
>
> -/* inited: 0 if omap_hwmod_init() has not yet been called; 1 otherwise */
> -static u8 inited;
> -
>
> /* Private functions */
>
> @@ -1600,26 +1597,20 @@ int omap_hwmod_for_each(int (*fn)(struct omap_hwmod *oh, void *data),
> */
> int __init omap_hwmod_init(struct omap_hwmod **ohs)
> {
> - struct omap_hwmod *oh;
> - int r;
> -
> - if (inited)
> - return -EINVAL;
> -
> - inited = 1;
> + int r, i;
>
> if (!ohs)
> return 0;
>
> - oh = *ohs;
> - while (oh) {
> - if (omap_chip_is(oh->omap_chip)) {
> - r = _register(oh);
> - WARN(r, "omap_hwmod: %s: _register returned "
> - "%d\n", oh->name, r);
> - }
> - oh = *++ohs;
> - }
> + i = 0;
> + do {
> + if (!omap_chip_is(ohs[i]->omap_chip))
> + continue;
> +
> + r = _register(ohs[i]);
> + WARN(r, "omap_hwmod: %s: _register returned %d\n", ohs[i]->name,
> + r);
> + } while (ohs[++i]);
>
> return 0;
> }
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/8] OMAP2+: hwmod: allow multiple calls to omap_hwmod_init()
Date: Wed, 23 Feb 2011 15:46:12 +0100 [thread overview]
Message-ID: <4D651DB4.2060707@ti.com> (raw)
In-Reply-To: <20110223071150.5874.58996.stgit@twilight.localdomain>
On 2/23/2011 8:11 AM, Paul Walmsley wrote:
> There's no longer any reason why we should prevent multiple
> calls to omap_hwmod_init(). It is now simply used to register an
> array of hwmods.
>
> This should allow a subset of hwmods (e.g., hwmods
> handling the system clocksource and clockevents) to be registered
> earlier than the remaining mass of hwmods.
Cool... that one was needed anyway.
It will allow potentially to split the original omapxxx_hwmod list in
severals parts and thus handle the features or the infrastructure hwmods
we need to init early od based on the chip capabilities.
I was considering that during the discussion with Sanjeev
(http://www.spinics.net/lists/linux-omap/msg46716.html).
Benoit
>
> Signed-off-by: Paul Walmsley<paul@pwsan.com>
> Cc: Beno?t Cousson<b-cousson@ti.com>
> Cc: Kevin Hilman<khilman@ti.com>
> ---
> arch/arm/mach-omap2/omap_hwmod.c | 29 ++++++++++-------------------
> 1 files changed, 10 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index 41f548e..86eacaf 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
> @@ -162,9 +162,6 @@ static LIST_HEAD(omap_hwmod_list);
> /* mpu_oh: used to add/remove MPU initiator from sleepdep list */
> static struct omap_hwmod *mpu_oh;
>
> -/* inited: 0 if omap_hwmod_init() has not yet been called; 1 otherwise */
> -static u8 inited;
> -
>
> /* Private functions */
>
> @@ -1600,26 +1597,20 @@ int omap_hwmod_for_each(int (*fn)(struct omap_hwmod *oh, void *data),
> */
> int __init omap_hwmod_init(struct omap_hwmod **ohs)
> {
> - struct omap_hwmod *oh;
> - int r;
> -
> - if (inited)
> - return -EINVAL;
> -
> - inited = 1;
> + int r, i;
>
> if (!ohs)
> return 0;
>
> - oh = *ohs;
> - while (oh) {
> - if (omap_chip_is(oh->omap_chip)) {
> - r = _register(oh);
> - WARN(r, "omap_hwmod: %s: _register returned "
> - "%d\n", oh->name, r);
> - }
> - oh = *++ohs;
> - }
> + i = 0;
> + do {
> + if (!omap_chip_is(ohs[i]->omap_chip))
> + continue;
> +
> + r = _register(ohs[i]);
> + WARN(r, "omap_hwmod: %s: _register returned %d\n", ohs[i]->name,
> + r);
> + } while (ohs[++i]);
>
> return 0;
> }
>
>
next prev parent reply other threads:[~2011-02-23 14:46 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-23 7:11 [PATCH 0/8] OMAP2+: hwmod/clockevent: allow late-init of individual hwmods Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 7:11 ` [PATCH 1/8] OMAP2420: hwmod data: add dmtimer Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 7:11 ` [PATCH 2/8] OMAP2430: " Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 7:11 ` [PATCH 3/8] OMAP3: " Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 7:11 ` [PATCH 4/8] OMAP2+: hwmod: find MPU initiator hwmod during in _register() Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 14:38 ` Cousson, Benoit
2011-02-23 14:38 ` Cousson, Benoit
2011-02-24 9:16 ` Paul Walmsley
2011-02-24 9:16 ` Paul Walmsley
2011-02-23 7:11 ` [PATCH 5/8] OMAP2+: hwmod: allow multiple calls to omap_hwmod_init() Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 14:46 ` Cousson, Benoit [this message]
2011-02-23 14:46 ` Cousson, Benoit
2011-02-23 7:11 ` [PATCH 6/8] OMAP2+: hwmod: ignore attempts to re-late-init a hwmod Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 7:11 ` [PATCH 7/8] OMAP2+: hwmod: add ability to late-init individual hwmods Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 19:12 ` Tony Lindgren
2011-02-23 19:12 ` Tony Lindgren
2011-02-24 9:06 ` Paul Walmsley
2011-02-24 9:06 ` Paul Walmsley
2011-02-23 7:11 ` [PATCH 8/8] OMAP2+: clockevent: late-init GPTIMER clockevent hwmod right before timer init Paul Walmsley
2011-02-23 7:11 ` Paul Walmsley
2011-02-23 8:53 ` [PATCH 8/8] OMAP2+: clockevent: late-init GPTIMER clockevent hwmodright " Santosh Shilimkar
2011-02-23 8:53 ` Santosh Shilimkar
2011-02-23 11:48 ` DebBarma, Tarun Kanti
2011-02-23 11:48 ` DebBarma, Tarun Kanti
2011-02-24 8:13 ` Paul Walmsley
2011-02-24 8:13 ` Paul Walmsley
2011-02-24 8:15 ` Paul Walmsley
2011-02-24 8:15 ` Paul Walmsley
2011-02-24 8:29 ` DebBarma, Tarun Kanti
2011-02-24 8:29 ` DebBarma, Tarun Kanti
2011-02-24 9:00 ` Paul Walmsley
2011-02-24 9:00 ` Paul Walmsley
2011-02-24 15:41 ` Tony Lindgren
2011-02-24 15:41 ` Tony Lindgren
2011-02-25 14:07 ` DebBarma, Tarun Kanti
2011-02-25 14:07 ` DebBarma, Tarun Kanti
2011-02-24 8:57 ` Santosh Shilimkar
2011-02-24 8:57 ` Santosh Shilimkar
2011-02-23 9:13 ` [PATCH 8/8] OMAP2+: clockevent: late-init GPTIMER clockevent hwmod right " DebBarma, Tarun Kanti
2011-02-23 9:13 ` DebBarma, Tarun Kanti
2011-02-24 8:18 ` Paul Walmsley
2011-02-24 8:18 ` Paul Walmsley
2011-02-23 14:28 ` [PATCH 0/8] OMAP2+: hwmod/clockevent: allow late-init of individual hwmods Cousson, Benoit
2011-02-23 14:28 ` Cousson, Benoit
2011-02-28 2:31 ` Paul Walmsley
2011-02-28 2:31 ` Paul Walmsley
2011-02-28 11:17 ` Cousson, Benoit
2011-02-28 11:17 ` Cousson, Benoit
2011-03-02 17:54 ` Tony Lindgren
2011-03-02 17:54 ` Tony Lindgren
2011-03-03 11:10 ` Cousson, Benoit
2011-03-03 11:10 ` Cousson, Benoit
2011-03-04 14:51 ` Cousson, Benoit
2011-03-04 14:51 ` Cousson, Benoit
2011-03-04 16:19 ` Tony Lindgren
2011-03-04 16:19 ` Tony Lindgren
2011-03-04 16:39 ` Cousson, Benoit
2011-03-04 16:39 ` Cousson, Benoit
2011-03-04 16:42 ` Paul Walmsley
2011-03-04 16:42 ` Paul Walmsley
2011-03-04 16:48 ` Santosh Shilimkar
2011-03-04 16:48 ` Santosh Shilimkar
2011-02-23 19:12 ` Tony Lindgren
2011-02-23 19:12 ` Tony Lindgren
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=4D651DB4.2060707@ti.com \
--to=b-cousson@ti.com \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.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 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.