From: "Cousson, Benoit" <b-cousson@ti.com>
To: "ABRAHAM, KISHON VIJAY" <kishon@ti.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"khilman@deeprootsystems.com" <khilman@deeprootsystems.com>,
"paul@pwsan.com" <paul@pwsan.com>
Subject: Re: [RFC: PATCH] Fix to support multiple HWMODS for a single device
Date: Mon, 23 Aug 2010 13:49:37 +0200 [thread overview]
Message-ID: <4C726051.9020703@ti.com> (raw)
In-Reply-To: <1282560403-30375-1-git-send-email-kishon@ti.com>
Hi Vijay,
On 8/23/2010 12:46 PM, ABRAHAM, KISHON VIJAY wrote:
> The current HWMOD code expects multiple HWMODS to be filled in consecutive
> memory location before passing to omap_device_build_ss().
Just a minor comment: this is not the "The current HWMOD code" but the
omap_device core code.
> Ignoring this
> will result in incorrect HWMOD data being extracted. This means before calling
> omap_device_build_ss() the user has to create memory chunks, copy all the HWMOD
> structures to it taking care of the mutex.
I don't think it was an expectation, this is simply a bug :-)
So copying hwmod structures before calling this API is clearly not the
right way to do fix that...
> This fix uses the pointer to pointer to OMAP_HWMOD structure passed to
> omap_device_build_ss() to correctly extract the appropriate
> OMAP_HWMOD structure.
Yes, this is the proper way of fixing that.
> This patch is created on top of origin/pm-wip/hwmods-omap4.
You can do it on the mainline too, there is no dependency with lo/master
or pm-wip for that one. That fix will be able to go to mainline faster.
>
> Signed-off-by: Kishon Vijay Abraham I<kishon@ti.com>
> ---
> arch/arm/plat-omap/omap_device.c | 42 +++++++++++++++++++-------------------
> 1 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
> index d2b1609..e94bd7a 100644
> --- a/arch/arm/plat-omap/omap_device.c
> +++ b/arch/arm/plat-omap/omap_device.c
> @@ -257,12 +257,12 @@ static inline struct omap_device *_find_by_pdev(struct platform_device *pdev)
> */
> int omap_device_count_resources(struct omap_device *od)
> {
> - struct omap_hwmod *oh;
> + struct omap_hwmod **oh;
> int c = 0;
> int i;
>
> - for (i = 0, oh = *od->hwmods; i< od->hwmods_cnt; i++, oh++)
> - c += omap_hwmod_count_resources(oh);
> + for (i = 0, oh = od->hwmods; i< od->hwmods_cnt; i++, oh++)
> + c += omap_hwmod_count_resources(*oh);
In that case, you might prefer using array type of access in order to
make the code more readable (i.e. oh[i]). Or even avoid the oh variable.
+ c += omap_hwmod_count_resources(od->hwmods[i]);
Just for my information, what kind of device are you working on that
require multiple hwmods?
Otherwise, this is a good catch. Thanks for fixing that.
Regards,
Benoit
next prev parent reply other threads:[~2010-08-23 11:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-23 10:46 [RFC: PATCH] Fix to support multiple HWMODS for a single device Kishon Vijay Abraham I
2010-08-23 11:49 ` Cousson, Benoit [this message]
2010-08-23 12:01 ` Datta, Shubhrajyoti
2010-08-23 16:20 ` kishon
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=4C726051.9020703@ti.com \
--to=b-cousson@ti.com \
--cc=khilman@deeprootsystems.com \
--cc=kishon@ti.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox