RE:[PATCH 2/9] omap: mux: Add new style pin multiplexing code for omap3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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).

[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.

[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.


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux