From: Rajendra Nayak <rnayak@ti.com>
To: Pankaj Jangra <jangra.pankaj9@gmail.com>
Cc: paul@pwsan.com, mturquette@ti.com, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 01/11] ARM: omap: clk: add clk_prepare and clk_unprepare
Date: Mon, 25 Jun 2012 11:06:04 +0530 [thread overview]
Message-ID: <4FE7F8C4.6050803@ti.com> (raw)
In-Reply-To: <CADTbHxr27_DSrF4amviGicb2_5_=eTx19YecgeAOM5SGrnvscA@mail.gmail.com>
On Friday 22 June 2012 11:12 PM, Pankaj Jangra wrote:
>> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
>> > index 5fb47a1..e5f8e48 100644
>> > --- a/arch/arm/mach-omap2/display.c
>> > +++ b/arch/arm/mach-omap2/display.c
>> > @@ -471,7 +471,7 @@ int omap_dss_reset(struct omap_hwmod *oh)
>> >
>> > for (i = oh->opt_clks_cnt, oc = oh->opt_clks; i> 0; i--, oc++)
>> > if (oc->_clk)
>> > - clk_enable(oc->_clk);
>> > + clk_prepare_enable(oc->_clk);
>> >
>> > dispc_disable_outputs();
>> >
>> > @@ -498,7 +498,7 @@ int omap_dss_reset(struct omap_hwmod *oh)
>> >
>> > for (i = oh->opt_clks_cnt, oc = oh->opt_clks; i> 0; i--, oc++)
>> > if (oc->_clk)
>> > - clk_disable(oc->_clk);
>> > + clk_disable_unprepare(oc->_clk);
>> >
> Just a doubt. Isn't it the same clocks you are preparing in omap_hwmod.c ?
Yes, but different users can and should prepare and enable clocks
independently, and hence the framework does usecounting to keep track.
>
>> > r = (c == MAX_MODULE_SOFTRESET_WAIT) ? -ETIMEDOUT : 0;
>> >
> d> diff --git a/arch/arm/mach-omap2/omap_hwmod.c
> b/arch/arm/mach-omap2/omap_hwmod.c
>> > index bf86f7e..2746bce 100644
>> > --- a/arch/arm/mach-omap2/omap_hwmod.c
>> > +++ b/arch/arm/mach-omap2/omap_hwmod.c
>> > @@ -608,6 +608,7 @@ static int _init_main_clk(struct omap_hwmod *oh)
>> > oh->name, oh->main_clk);
>> > return -EINVAL;
>> > }
>> > + clk_prepare(oh->_clk);
>> >
>> > if (!oh->_clk->clkdm)
>> > pr_warning("omap_hwmod: %s: missing clockdomain for %s.\n",
>> > @@ -644,6 +645,7 @@ static int _init_interface_clks(struct omap_hwmod *oh)
>> > oh->name, os->clk);
>> > ret = -EINVAL;
>> > }
>> > + clk_prepare(os->_clk);
>> > os->_clk = c;
> You should do clk_prepare() after os->_clk = c statement. Otherwise
> you are operating on a uninitialized structure pointer.
yes, that was really stupid of me :(. Thanks for catching this.
>> > }
>> >
>> > @@ -671,6 +673,7 @@ static int _init_opt_clks(struct omap_hwmod *oh)
>> > oh->name, oc->clk);
>> > ret = -EINVAL;
>> > }
>> > + clk_prepare(oc->_clk);
> Same here. You are preparing the uninitialized clk structure.
Thanks, will fix.
>
WARNING: multiple messages have this Message-ID (diff)
From: rnayak@ti.com (Rajendra Nayak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/11] ARM: omap: clk: add clk_prepare and clk_unprepare
Date: Mon, 25 Jun 2012 11:06:04 +0530 [thread overview]
Message-ID: <4FE7F8C4.6050803@ti.com> (raw)
In-Reply-To: <CADTbHxr27_DSrF4amviGicb2_5_=eTx19YecgeAOM5SGrnvscA@mail.gmail.com>
On Friday 22 June 2012 11:12 PM, Pankaj Jangra wrote:
>> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
>> > index 5fb47a1..e5f8e48 100644
>> > --- a/arch/arm/mach-omap2/display.c
>> > +++ b/arch/arm/mach-omap2/display.c
>> > @@ -471,7 +471,7 @@ int omap_dss_reset(struct omap_hwmod *oh)
>> >
>> > for (i = oh->opt_clks_cnt, oc = oh->opt_clks; i> 0; i--, oc++)
>> > if (oc->_clk)
>> > - clk_enable(oc->_clk);
>> > + clk_prepare_enable(oc->_clk);
>> >
>> > dispc_disable_outputs();
>> >
>> > @@ -498,7 +498,7 @@ int omap_dss_reset(struct omap_hwmod *oh)
>> >
>> > for (i = oh->opt_clks_cnt, oc = oh->opt_clks; i> 0; i--, oc++)
>> > if (oc->_clk)
>> > - clk_disable(oc->_clk);
>> > + clk_disable_unprepare(oc->_clk);
>> >
> Just a doubt. Isn't it the same clocks you are preparing in omap_hwmod.c ?
Yes, but different users can and should prepare and enable clocks
independently, and hence the framework does usecounting to keep track.
>
>> > r = (c == MAX_MODULE_SOFTRESET_WAIT) ? -ETIMEDOUT : 0;
>> >
> d> diff --git a/arch/arm/mach-omap2/omap_hwmod.c
> b/arch/arm/mach-omap2/omap_hwmod.c
>> > index bf86f7e..2746bce 100644
>> > --- a/arch/arm/mach-omap2/omap_hwmod.c
>> > +++ b/arch/arm/mach-omap2/omap_hwmod.c
>> > @@ -608,6 +608,7 @@ static int _init_main_clk(struct omap_hwmod *oh)
>> > oh->name, oh->main_clk);
>> > return -EINVAL;
>> > }
>> > + clk_prepare(oh->_clk);
>> >
>> > if (!oh->_clk->clkdm)
>> > pr_warning("omap_hwmod: %s: missing clockdomain for %s.\n",
>> > @@ -644,6 +645,7 @@ static int _init_interface_clks(struct omap_hwmod *oh)
>> > oh->name, os->clk);
>> > ret = -EINVAL;
>> > }
>> > + clk_prepare(os->_clk);
>> > os->_clk = c;
> You should do clk_prepare() after os->_clk = c statement. Otherwise
> you are operating on a uninitialized structure pointer.
yes, that was really stupid of me :(. Thanks for catching this.
>> > }
>> >
>> > @@ -671,6 +673,7 @@ static int _init_opt_clks(struct omap_hwmod *oh)
>> > oh->name, oc->clk);
>> > ret = -EINVAL;
>> > }
>> > + clk_prepare(oc->_clk);
> Same here. You are preparing the uninitialized clk structure.
Thanks, will fix.
>
next prev parent reply other threads:[~2012-06-25 5:36 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-22 13:47 [PATCH 00/11] Prepare for OMAP2+ movement to Common Clk Rajendra Nayak
2012-06-22 13:47 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 01/11] ARM: omap: clk: add clk_prepare and clk_unprepare Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 17:42 ` Pankaj Jangra
2012-06-22 17:42 ` Pankaj Jangra
2012-06-25 5:36 ` Rajendra Nayak [this message]
2012-06-25 5:36 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 02/11] mmc: omap: " Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 18:23 ` S, Venkatraman
2012-06-22 18:23 ` S, Venkatraman
2012-06-22 18:34 ` Paul Walmsley
2012-06-22 18:34 ` Paul Walmsley
2012-06-25 5:25 ` Rajendra Nayak
2012-06-25 5:25 ` Rajendra Nayak
2012-06-25 6:18 ` Paul Walmsley
2012-06-25 6:18 ` Paul Walmsley
2012-06-25 7:13 ` Rajendra Nayak
2012-06-25 7:13 ` Rajendra Nayak
2012-06-25 5:32 ` Rajendra Nayak
2012-06-25 5:32 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 03/11] hwrng: " Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 04/11] mfd: omap-usb: " Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 19:04 ` Paul Walmsley
2012-06-22 19:04 ` Paul Walmsley
2012-06-25 8:55 ` Munegowda, Keshava
2012-06-25 8:55 ` Munegowda, Keshava
2012-06-22 13:48 ` [PATCH 05/11] OMAPDSS: " Rajendra Nayak
2012-06-22 13:51 ` Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-25 6:07 ` Tomi Valkeinen
2012-06-25 6:07 ` Tomi Valkeinen
2012-06-25 6:07 ` Tomi Valkeinen
2012-06-25 6:59 ` Rajendra Nayak
2012-06-25 7:11 ` Rajendra Nayak
2012-06-25 6:59 ` Rajendra Nayak
2012-06-25 7:58 ` Tomi Valkeinen
2012-06-25 7:58 ` Tomi Valkeinen
2012-06-25 7:58 ` Tomi Valkeinen
2012-06-25 11:48 ` Rajendra Nayak
2012-06-25 11:52 ` Rajendra Nayak
2012-06-25 11:48 ` Rajendra Nayak
2012-06-25 13:14 ` Tomi Valkeinen
2012-06-25 13:14 ` Tomi Valkeinen
2012-06-25 13:14 ` Tomi Valkeinen
2012-06-26 5:00 ` Rajendra Nayak
2012-06-26 5:12 ` Rajendra Nayak
2012-06-26 5:00 ` Rajendra Nayak
2012-06-26 6:55 ` Tomi Valkeinen
2012-06-26 6:55 ` Tomi Valkeinen
2012-06-26 6:55 ` Tomi Valkeinen
2012-06-26 7:36 ` Rajendra Nayak
2012-06-26 7:48 ` Rajendra Nayak
2012-06-26 7:36 ` Rajendra Nayak
2012-06-27 0:47 ` Mike Turquette
2012-06-27 0:47 ` Mike Turquette
2012-06-27 0:47 ` Mike Turquette
2012-06-27 4:19 ` Tomi Valkeinen
2012-06-27 4:19 ` Tomi Valkeinen
2012-06-27 4:19 ` Tomi Valkeinen
2012-06-27 5:19 ` Rajendra Nayak
2012-06-27 5:31 ` Rajendra Nayak
2012-06-27 5:19 ` Rajendra Nayak
2012-06-25 11:22 ` Russell King - ARM Linux
2012-06-25 11:22 ` Russell King - ARM Linux
2012-06-25 11:22 ` Russell King - ARM Linux
2012-06-22 13:48 ` [PATCH 06/11] gpio/omap: " Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 15:57 ` Pankaj Jangra
2012-06-22 15:57 ` Pankaj Jangra
2012-06-22 19:17 ` Paul Walmsley
2012-06-22 19:17 ` Paul Walmsley
2012-06-25 5:30 ` Rajendra Nayak
2012-06-25 5:30 ` Rajendra Nayak
2012-06-25 6:11 ` DebBarma, Tarun Kanti
2012-06-25 6:11 ` DebBarma, Tarun Kanti
2012-06-25 7:02 ` Rajendra Nayak
2012-06-25 7:02 ` Rajendra Nayak
2012-06-25 10:22 ` DebBarma, Tarun Kanti
2012-06-25 10:22 ` DebBarma, Tarun Kanti
2012-06-22 13:48 ` [PATCH 07/11] w1: omap_hdq: " Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 18:35 ` Paul Walmsley
2012-06-22 18:35 ` Paul Walmsley
2012-06-25 5:25 ` Rajendra Nayak
2012-06-25 5:25 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 08/11] crypto: omap: " Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 18:58 ` Paul Walmsley
2012-06-22 18:58 ` Paul Walmsley
2012-06-25 5:29 ` Rajendra Nayak
2012-06-25 5:29 ` Rajendra Nayak
2012-06-26 10:39 ` Paul Walmsley
2012-06-26 10:39 ` Paul Walmsley
2012-06-26 10:58 ` Rajendra Nayak
2012-06-26 10:58 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 09/11] iommu: " Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 10/11] ARM: omap: hwmod: get rid of all omap_clk_get_by_name usage Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-22 13:48 ` [PATCH 11/11] ARM: omap: clk: Remove all direct dereferencing of struct clk Rajendra Nayak
2012-06-22 13:48 ` Rajendra Nayak
2012-06-27 12:50 ` [PATCH 00/11] Prepare for OMAP2+ movement to Common Clk Laurent Pinchart
2012-06-27 12:50 ` Laurent Pinchart
2012-06-27 16:36 ` Paul Walmsley
2012-06-27 16:36 ` Paul Walmsley
2012-06-27 18:05 ` Laurent Pinchart
2012-06-27 18:05 ` Laurent Pinchart
2012-06-27 18:45 ` Laurent Pinchart
2012-06-27 18:45 ` Laurent Pinchart
2012-06-27 19:56 ` Laurent Pinchart
2012-06-27 19:56 ` Laurent Pinchart
2012-06-27 19:59 ` Paul Walmsley
2012-06-27 19:59 ` Paul Walmsley
2012-06-27 20:25 ` Laurent Pinchart
2012-06-27 20:25 ` Laurent Pinchart
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=4FE7F8C4.6050803@ti.com \
--to=rnayak@ti.com \
--cc=jangra.pankaj9@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=mturquette@ti.com \
--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.