From: "Cousson, Benoit" <b-cousson@ti.com>
To: rockefeller <rockefeller.lin@innocomm.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
Tony Lindgren <tony@atomide.com>
Subject: Re: [PATCH 2/9] omap: mux: Add new style pin multiplexing code for omap3
Date: Fri, 27 Aug 2010 11:24:37 +0200 [thread overview]
Message-ID: <4C778455.8050108@ti.com> (raw)
In-Reply-To: <1282876196.13328.45.camel@I097020.innocomm.com>
On 8/27/2010 4:29 AM, rockefeller wrote:
> Hi Tony,
> In the implementation of omap_mux_init_signal(char *muxname, int val)
> in arch/arm/mach-omap2/mux.c, it will modify the muxname of
> caller that passed in and not recover it, did you mean to implement
> to do so?(I try to explain my point of view as 2 examples below).
I'm not sure it was really done on purpose. It works today because none
of the following cases are really happening.
>
> [Example 1]
> For a XIP device(NOR type), a caller function might be codeed like
> below:
>
> omap_mux_init_signal("muxname.mode7", 0xFFFF);
>
> and in this case, the string "muxname.mode7" might be a const string
> and not be modified.
That case seems to be a valid one.
>
> [Example 2]
> For a NAND device, a caller might be coded like below:
>
> static char *pin_mux_name = "muxname.mode7";
>
> function1()
> {
> omap_mux_init_signal(pin_mux_name, 0xFFFF);
> }
>
> function2()
> {
> omap_mux_init_signal(pin_mux_name, 0x0000);
> }
>
> void main()
> {
> function1();
> function2();
> }
>
> Because "muxname.mode7" in in RAM is modifiable, after function call
> to function1(), the *pine_mux_name will be "muxname" and therefore when
> calls to function2() to try to set this pin in mode7 with value 0x0000
> might be un-expected result.
In theory the pin mux is done once at init time, so I'm not sure this
case is supposed to happen. Is it a real case?
Anyway, I think that a simple strlcpy(tmp, muxname, 32) in
omap_mux_init_signal can fix it.
Do you mind submitting a patch to fix that?
Thanks,
Benoit
next prev parent reply other threads:[~2010-08-27 9:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <S1752576Ab0H0BhI/20100827013708Z+1681@vger.kernel.org>
2010-08-27 2:29 ` RE:[PATCH 2/9] omap: mux: Add new style pin multiplexing code for omap3 rockefeller
2010-08-27 9:24 ` Cousson, Benoit [this message]
2010-08-27 21:26 ` [PATCH " Tony Lindgren
2010-08-30 1:31 ` rockefeller
2010-09-29 0:06 ` Tony Lindgren
2009-12-03 0:21 [PATCH 0/9] Omap mux changes for v2.6.33 merge window, v2 Tony Lindgren
2009-12-03 0:21 ` [PATCH 2/9] omap: mux: Add new style pin multiplexing code for omap3 Tony Lindgren
2009-12-03 0:21 ` 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=4C778455.8050108@ti.com \
--to=b-cousson@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=rockefeller.lin@innocomm.com \
--cc=tony@atomide.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.