Re: [PATCH] ARM: OMAP: hwmod: Fix error handling in functions used OMAP4 onwards

2012-03-29 Thread Rajendra Nayak

On Wednesday 28 March 2012 12:02 PM, Hiremath, Vaibhav wrote:

On Tue, Mar 27, 2012 at 15:28:31, Nayak, Rajendra wrote:

Some functions like _omap4_disable_module() and _omap4_wait_target_disable()
are (will be) used on all OMAPs OMAP4 and beyond which support module level
control. Fix the error checks in these functions to return if called on
any platform pre OMAP4 (i.e OMAP2 and OMAP3) instead of checking for
!cpu_is_omap44xx(). This avoids having to update the error check with a
'  !cpu_is_omap54xx()' when OMAP5 is introduced and possibly similar updates
when further OMAP generations are added.



Let me add some flavor here :)

AM33xx, which has module level control, but falls under OMAP3 family of
devices. cpu_is_omap34xx() is true for AM33xx device and we have to add
check in all these functions. And I am sure we will have many of such
devices in the future.

Can we use some flag based option here, instead of cpu_is_xxx() check?



The intent of this patch was to make the error handling uniform across
all modules control functions in hwmod, and it atleast addresses one
problem of having to update these checks every time a new OMAP gets
added.

The problem that you bring up with AM33xx is regardless of this patch
(you would still need to go update every !cpu_is_omap44xx() check)
and IMHO should be handled separately, with a flag like you are
suggesting or by some other means. If you already have patches on how
this can be done, you should go ahead and post them out.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/3] OMAP2+: UART: Remove cpu checks for populating errata flags

2012-03-29 Thread Raja, Govindraj
On Wed, Mar 28, 2012 at 10:13 PM, Jon Hunter jon-hun...@ti.com wrote:
 Hi Govindraj,


 On 3/28/2012 6:09, Raja, Govindraj wrote:

 On Wed, Mar 28, 2012 at 2:38 AM, Jon Hunterjon-hun...@ti.com  wrote:

 Hi Govindraj,



[...]

 +       u32 mvr, scheme;
 +       u16 revision, major, minor;
 +
 +       mvr = serial_in(up, UART_OMAP_MVER);
 +
 +       /* Check revision register scheme */
 +       scheme = mvr    (0x03    30);
 +       scheme= 30;



 Minor nit-pick, why not ...

        scheme = mvr  30;


 yes will correct it.


 Thinking some more, could be better to add some #defines for
 OMAP_MVR_VERSION_MASK/SHIFT here.


Yes sure.



 +       switch (scheme) {
 +       case 0: /* Legacy Scheme: OMAP2/3 */
 +               /* MINOR_REV[0:4], MAJOR_REV[4:7] */



 This scheme is also true from OMAP1 devices. Maybe we could include in
 the
 comment.


 No omap1 from $SUBJECT also reason,

 mach-omap1/serial.c =  8250.c
 mach-omap2/serial.c =  omap-serial.c


 Got it! Thanks.

 +               major = (mvr    0xf0)    4;
 +               minor = (mvr    0x0f);

 +               break;
 +       case 1:
 +               /* New Scheme: OMAP4+ */
 +               /* MINOR_REV[0:5], MAJOR_REV[8:10] */
 +               major = (mvr    0x7    8)    8;



 Nit-pick ...

        major = (mvr  8)  0x7;


 yes fine will correct this.


 May be we should add #defines here to for OMAP_UART_MVR1_MAJ_MASK/SHIFT,
 OMAP_UART_MVR1_MIN_MASK/SHIFT, OMAP_UART_MVR2_MAJ_MASK/SHIFT and
 OMAP_UART_MVR2_MIN_MASK/SHIFT.


okay will add this.

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


Re: [PATCH v2 1/5] spi/omap: Remove bus_num usage for instance index

2012-03-29 Thread Shubhrajyoti Datta
Hi Tarun,

On Wed, Mar 28, 2012 at 2:15 PM, DebBarma, Tarun Kanti
tarun.ka...@ti.com wrote:
 On Mon, Mar 26, 2012 at 7:14 PM, Shubhrajyoti D shubhrajy...@ti.com wrote:
 From: Benoit Cousson b-cous...@ti.com

 bus_num was used to reference the mcspi controller instance in a fixed array.
 Remove this array and store this information directly inside drvdata 
 structure.

 bus_num is now just set if the pdev-id is present or with -1 for dynamic
 allocation by SPI core, but the driver does not access it anymore.

 Clean some bad comments format, and remove un-needed space.

 Signed-off-by: Benoit Cousson b-cous...@ti.com
 [Cleanup the OMAP2_MCSPI_MAX_CTRL macro as it is not needed anymore]
 Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com
 ---
  drivers/spi/spi-omap2-mcspi.c |   75 
 ++--
  1 files changed, 34 insertions(+), 41 deletions(-)

 diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
 index bb9274c..7785091 100644
 --- a/drivers/spi/spi-omap2-mcspi.c
 +++ b/drivers/spi/spi-omap2-mcspi.c
 @@ -45,9 +45,6 @@

snip

        tmp = OMAP2_MCSPI_WAKEUPENABLE_WKEN;
        mcspi_write_reg(master, OMAP2_MCSPI_WAKEUPENABLE, tmp);
 -       omap2_mcspi_ctx[master-bus_num - 1].wakeupenable = tmp;
 +       ctx-wakeupenable = tmp;
 Can't we get rid of tmp now? For example:
 ctx-wakeupenable = OMAP2_MCSPI_WAKEUPENABLE_WKEN;
 mcspi_write_reg(master, OMAP2_MCSPI_WAKEUPENABLE, ctx-wakeupenable);

Yes the tmp variable could be optimized
since it is in addition to the $SUBJECT will do it in a separate patch .
Is that fine?

 --
 Tarun

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


Re: Suspend broken on 3.3?

2012-03-29 Thread Joe Woodward
-Original Message-
From: Kevin Hilman khil...@ti.com
To: Joe Woodward j...@terrafix.co.uk
Cc: Raja\, Govindraj govindraj.r...@ti.com, linux-omap@vger.kernel.org, 
Felipe Balbi ba...@ti.com, Paul Walmsley p...@pwsan.com, ne...@suse.de
Date: Wed, 28 Mar 2012 10:46:23 -0700
Subject: Re: Suspend broken on 3.3?

 +Paul, NeilBrown who both have worked on/around recent UART breakage
  since v3.2
 
 Joe Woodward j...@terrafix.co.uk writes:
 
 [...]
 
  This patch fixes the suspend problem for me, but there is another
 UART issue...
 
  Basically I've got a fairly high speed data source (in UART terms,
  900KBaud) pumping data to the OMAP (such as GPS positions).
 
  I don't want this to wake me when suspended (which this patch fixes).
 
  However, it seems on 3.3 that I get a lot of corruption/lost
  characters, which I'm assuming is because the UART is implementing
  runtime-PM.
 
  So my next question is: How do I disable runtime-PM/force-always-on
  for a given UART? Can this be done via the sysfs?
 
 Yes, but the boot-time default for this is that the UARTs have runtime
 PM disabled since the default autosuspend timeout is set to -1.
 
 You must be setting an autosuspend timeout 0 if you're seeing runtime
 PM kick in.
 
 That being said, even with an autosuspend timeout enabled, you can
 disable runtime PM by setting the /sys/devices/.../power/control knob
 to
 'on' (instead of auto, which means it's controle by runtime PM):
 
   echo on  /sys/devices/platform/omap/omap_uart.2/power/control
 

Right,

First an apology... After checking  
/sys/devices/platform/omap/omap_uart.2/power/control I can see that runtime-PM 
is indeed disabled.

After digging a bit further I found that the problem isn't lost characters or 
character corruption at all...

The UART is actually at 430KBaud (not 900KBaud as I mentioned earlier). The 
data received is very bursty (i.e. sets of messages every second or so), 
containing a 
sync sequence to indicate a start of packet.

The received bytes should be: 0x01, 0x52, 0x41 rest of packet.

This works 100% of the time on 3.2, but on 3.3 I sometimes (but not always) 
get: 0x01, 0x00, 0x52, 0x41.

i.e. there is a NULL/0x00 inserted after the first character.

All this is tested using a very simple userspace application thats reads data 
from ttyO1.

Any ideas? Should I kick open a new thread as it's not really to do with 
suspend anymore?

Thanks,
Joe

 That will disable runtime PM and leave the UARTs always clocked.
 
  Or where are the runtime-PM constraints set for the UART? 
 
 Look for this in the driver:
 
   /* calculate wakeup latency constraint */
   up-calc_latency = (USEC_PER_SEC * up-port.fifosize) / (baud / 8);
 
  I'm guessing they'll work for 115200Baud, but my high speed UART
 fowls
  these?
 
 The constraint calculations take into account baud rate, but are known
 to be somewhat broken currently.
 
 You might want to experiment with Paul's work on fixing up the QoS
 contstraint calculation[1] to see if it helps as well.  That is
 available here
 
 Kevin
 
 [1] git://git.pwsan.com/linux-2.6
 omap_serial_fix_pm_qos_formula_devel_3.4
 --
 To unsubscribe from this list: send the line unsubscribe linux-omap
 in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


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


RE: [PATCH] ARM: OMAP: hwmod: Fix error handling in functions used OMAP4 onwards

2012-03-29 Thread Hiremath, Vaibhav
On Thu, Mar 29, 2012 at 11:42:34, Nayak, Rajendra wrote:
 On Wednesday 28 March 2012 12:02 PM, Hiremath, Vaibhav wrote:
  On Tue, Mar 27, 2012 at 15:28:31, Nayak, Rajendra wrote:
  Some functions like _omap4_disable_module() and 
  _omap4_wait_target_disable()
  are (will be) used on all OMAPs OMAP4 and beyond which support module level
  control. Fix the error checks in these functions to return if called on
  any platform pre OMAP4 (i.e OMAP2 and OMAP3) instead of checking for
  !cpu_is_omap44xx(). This avoids having to update the error check with a
  '  !cpu_is_omap54xx()' when OMAP5 is introduced and possibly similar 
  updates
  when further OMAP generations are added.
 
 
  Let me add some flavor here :)
 
  AM33xx, which has module level control, but falls under OMAP3 family of
  devices. cpu_is_omap34xx() is true for AM33xx device and we have to add
  check in all these functions. And I am sure we will have many of such
  devices in the future.
 
  Can we use some flag based option here, instead of cpu_is_xxx() check?
 
 
 The intent of this patch was to make the error handling uniform across
 all modules control functions in hwmod, and it atleast addresses one
 problem of having to update these checks every time a new OMAP gets
 added.
 
 The problem that you bring up with AM33xx is regardless of this patch
 (you would still need to go update every !cpu_is_omap44xx() check)

Indeed, in any of cpu_is_xxx() check implementation, I have to add check
for cpu_is_am33xx().

The point I was trying to make here was, cpu_is_xxx() check will become ugly,
as more and more devices gets added to the list, am33xx being the first one 
in omap34xx family.

 and IMHO should be handled separately, with a flag like you are
 suggesting or by some other means. If you already have patches on how
 this can be done, you should go ahead and post them out.
 

Nope.

But I can work on it, once I finish my AM33xx baseport submission.

Thanks,
Vaibhav

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


Re: [PATCH] ARM: OMAP: hwmod: Fix error handling in functions used OMAP4 onwards

2012-03-29 Thread Rajendra Nayak

On Thursday 29 March 2012 02:26 PM, Hiremath, Vaibhav wrote:

The point I was trying to make here was, cpu_is_xxx() check will become ugly,
as more and more devices gets added to the list, am33xx being the first one
in omap34xx family.


So are there more, other than AM33xx which are cortex A8 based but
share the OMAP4 PRCM IP block?
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] ARM: OMAP: hwmod: Fix error handling in functions used OMAP4 onwards

2012-03-29 Thread Hiremath, Vaibhav
On Thu, Mar 29, 2012 at 14:32:34, Nayak, Rajendra wrote:
 On Thursday 29 March 2012 02:26 PM, Hiremath, Vaibhav wrote:
  The point I was trying to make here was, cpu_is_xxx() check will become 
  ugly,
  as more and more devices gets added to the list, am33xx being the first one
  in omap34xx family.
 
 So are there more, other than AM33xx which are cortex A8 based but
 share the OMAP4 PRCM IP block?
 

I would say, probably yes. 

But, things are so dynamic and you never know how things will shape up by 
the time you freeze the design.

Thanks,
Vaibhav

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


Re: Suspend broken on 3.3?

2012-03-29 Thread Shubhrajyoti Datta
Hi Joe,

 After digging a bit further I found that the problem isn't lost characters or 
 character corruption at all...

 The UART is actually at 430KBaud (not 900KBaud as I mentioned earlier).
How did you verify that register read?


The data received is very bursty (i.e. sets of messages every second
or so), containing a
 sync sequence to indicate a start of packet.

 The received bytes should be: 0x01, 0x52, 0x41 rest of packet.

 This works 100% of the time on 3.2, but on 3.3 I sometimes (but not always) 
 get: 0x01, 0x00, 0x52, 0x41.

 i.e. there is a NULL/0x00 inserted after the first character.

 All this is tested using a very simple userspace application thats reads data 
 from ttyO1.

 Any ideas? Should I kick open a new thread as it's not really to do with 
 suspend anymore?
Is there any flow control you are using?


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


Re: Suspend broken on 3.3?

2012-03-29 Thread Joe Woodward
 Hi Joe,
 
  After digging a bit further I found that the problem isn't lost
 characters or character corruption at all...
 
  The UART is actually at 460KBaud (not 900KBaud as I mentioned
 earlier).
 How did you verify that register read?
 

I actually looked at the setting applied in my code (which I should have done 
earlier, oops :p).

...
  newtio.c_iflag = (IGNPAR);
  newtio.c_oflag = 0;
  newtio.c_cflag = B460800 | CS8 | CLOCAL | CREAD;
  newtio.c_lflag = 0;

  newtio.c_cc[VINTR]= 0; /* Ctrl-c */ 
  newtio.c_cc[VQUIT]= 0; /* Ctrl-\ */
  newtio.c_cc[VERASE]   = 0; /* del */
  newtio.c_cc[VKILL]= 0; /* @ */
  newtio.c_cc[VEOF] = 0; /* Ctrl-d */
  newtio.c_cc[VTIME]= 0; /* inter-character timer unused */
  newtio.c_cc[VMIN] = 1; /* blocking read until 1 character arrives */
  newtio.c_cc[VSWTC]= 0; /* '\0' */
  newtio.c_cc[VSTART]   = 0; /* Ctrl-q */ 
  newtio.c_cc[VSTOP]= 0; /* Ctrl-s */
  newtio.c_cc[VSUSP]= 0; /* Ctrl-z */
  newtio.c_cc[VEOL] = 0; /* '\0' */
  newtio.c_cc[VREPRINT] = 0; /* Ctrl-r */
  newtio.c_cc[VDISCARD] = 0; /* Ctrl-u */
  newtio.c_cc[VWERASE]  = 0; /* Ctrl-w */
  newtio.c_cc[VLNEXT]   = 0; /* Ctrl-v */
  newtio.c_cc[VEOL2]= 0; /* '\0' */

  /* Clean the modem line and activate the settings for the port
  */
  tcflush (handle-serialFD, TCIFLUSH);
  tcsetattr (handle-serialFD, TCSANOW, newtio);
...

I then loop read from a file descriptor to see the received bytes:

  serialFD = open (/dev/ttyO0, O_RDWR | O_NOCTTY); 
...
  while (1) {
count = read (serialFD, buffer, MAXIMUM_LINE_LENGTH);
...
debug here...
...
  }

And it's by inspecting the bytes read that I noticed the inserted 0x00 on 3.3.

 
 The data received is very bursty (i.e. sets of messages every second
 or so), containing a
  sync sequence to indicate a start of packet.
 
  The received bytes should be: 0x01, 0x52, 0x41 rest of packet.
 
  This works 100% of the time on 3.2, but on 3.3 I sometimes (but not
 always) get: 0x01, 0x00, 0x52, 0x41.
 
  i.e. there is a NULL/0x00 inserted after the first character.
 
  All this is tested using a very simple userspace application thats
 reads data from ttyO1.
 
  Any ideas? Should I kick open a new thread as it's not really to do
 with suspend anymore?
 Is there any flow control you are using?

No flow control, but lack of flow control hasn't caused problems up to 3.2.

Cheers,
Joe

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


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


[PATCH v3 0/4] ARM: OMAP: boards: changes to support dynamic irq alloc

2012-03-29 Thread Tarun Kanti DebBarma
These four patches incorporate changes to OMAP1 and OMAP2 platforms
board files whereby older references to OMAP_GPIO_IRQ macro are
now replaced with gpio_to_irq(), thereby getting rid of static
irq references.

Reference: git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git omap/dt
Commit: fde7d9049e55ab85a390be7f415d74c9f62dd0f9

Test info:
OMAP1 Platforms:
Boot test on OMAP1710 H3.

OMAP2PLUS Platforms:
Boot test on OMAP2430SDP, OMAP3430SDP, OMAP3630-ZOOM3, OMAP4430-SDP.

v3:
Avoid accessing devices using device array index. Consider following list:

static struct platform_device *h2_devices[] __initdata = {
h2_nor_device,
h2_nand_device,
h2_smc91x_device,
h2_irda_device,
h2_kp_device,
h2_lcd_device,
};

static void __init h2_init(void)
{
[...]
   h2_devices[2]-resource[1].start = gpio_to_irq(0);
   h2_devices[2]-resource[1].end = gpio_to_irq(0);
[...]
}

The above implementation is immune to failure if someone inserts new device
in the list before h2_smc91x_device. In order to avoid such a problem access
the devices directly like this:

   h2_smc91x_resources[1].start = gpio_to_irq(0);
   h2_smc91x_resources[1].end = gpio_to_irq(0);

Similar change incorporated for all the boards wherever applicable.

v2:
- Modified the patch subjects as per convention.
- Added a new patch to remove OMAP_GPIO_IRQ from ams_delta_serio driver.
- Added a new patch to remove OMAP_GPIO_IRQ macro definition.

Tarun Kanti DebBarma (4):
  ARM: OMAP1: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()
  ARM: OMAP2+: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()
  drivers: input: Fix OMAP_GPIO_IRQ with gpio_to_irq() in
ams_delta_serio_exit()
  ARM: OMAP: Remove OMAP_GPIO_IRQ macro definition

 arch/arm/mach-omap1/board-h2.c   |8 
 arch/arm/mach-omap1/board-h3.c   |9 -
 arch/arm/mach-omap1/board-htcherald.c|6 +++---
 arch/arm/mach-omap1/board-innovator.c|4 ++--
 arch/arm/mach-omap1/board-nokia770.c |2 +-
 arch/arm/mach-omap1/board-osk.c  |   12 ++--
 arch/arm/mach-omap1/board-palmte.c   |2 +-
 arch/arm/mach-omap1/board-palmtt.c   |2 +-
 arch/arm/mach-omap1/board-palmz71.c  |2 +-
 arch/arm/mach-omap1/board-voiceblue.c|   16 +++-
 arch/arm/mach-omap2/board-2430sdp.c  |2 +-
 arch/arm/mach-omap2/board-4430sdp.c  |2 +-
 arch/arm/mach-omap2/board-apollon.c  |4 ++--
 arch/arm/mach-omap2/board-devkit8000.c   |2 +-
 arch/arm/mach-omap2/board-h4.c   |2 +-
 arch/arm/mach-omap2/board-omap3evm.c |2 +-
 arch/arm/mach-omap2/board-omap4panda.c   |2 +-
 arch/arm/mach-omap2/board-rx51-peripherals.c |3 ++-
 arch/arm/mach-omap2/board-zoom-debugboard.c  |3 ++-
 arch/arm/mach-omap2/board-zoom-peripherals.c |6 --
 arch/arm/mach-omap2/common-board-devices.c   |2 +-
 arch/arm/plat-omap/include/plat/gpio.h   |4 
 drivers/input/serio/ams_delta_serio.c|2 +-
 23 files changed, 48 insertions(+), 51 deletions(-)

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


[PATCH v3 4/4] ARM: OMAP: Remove OMAP_GPIO_IRQ macro definition

2012-03-29 Thread Tarun Kanti DebBarma
Since all references to OMAP_GPIO_IRQ macro are replaced now
with gpio_to_irq(), this can be removed altogether.

Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
---
 arch/arm/plat-omap/include/plat/gpio.h |4 
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/gpio.h 
b/arch/arm/plat-omap/include/plat/gpio.h
index 9e86ee0..d4df414 100644
--- a/arch/arm/plat-omap/include/plat/gpio.h
+++ b/arch/arm/plat-omap/include/plat/gpio.h
@@ -158,10 +158,6 @@
 #define OMAP_MPUIO(nr) (OMAP_MAX_GPIO_LINES + (nr))
 #define OMAP_GPIO_IS_MPUIO(nr) ((nr) = OMAP_MAX_GPIO_LINES)
 
-#define OMAP_GPIO_IRQ(nr)  (OMAP_GPIO_IS_MPUIO(nr) ? \
-IH_MPUIO_BASE + ((nr)  0x0f) : \
-IH_GPIO_BASE + (nr))
-
 #define METHOD_MPUIO   0
 #define METHOD_GPIO_1510   1
 #define METHOD_GPIO_1610   2
-- 
1.7.0.4

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


[PATCH v3 3/4] drivers: input: Fix OMAP_GPIO_IRQ with gpio_to_irq() in ams_delta_serio_exit()

2012-03-29 Thread Tarun Kanti DebBarma
Even though ams-delta-serio input driver uses gpio_to_irq() in all
relevent places to get irq number, the ams_delta_serio_exit() still
uses OMAP_GPIO_IRQ macro. Fix this.

Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
---
 drivers/input/serio/ams_delta_serio.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/input/serio/ams_delta_serio.c 
b/drivers/input/serio/ams_delta_serio.c
index d4d08bd..dbe1ae8 100644
--- a/drivers/input/serio/ams_delta_serio.c
+++ b/drivers/input/serio/ams_delta_serio.c
@@ -170,7 +170,7 @@ module_init(ams_delta_serio_init);
 static void __exit ams_delta_serio_exit(void)
 {
serio_unregister_port(ams_delta_serio);
-   free_irq(OMAP_GPIO_IRQ(AMS_DELTA_GPIO_PIN_KEYBRD_CLK), 0);
+   free_irq(gpio_to_irq(AMS_DELTA_GPIO_PIN_KEYBRD_CLK), 0);
gpio_free(AMS_DELTA_GPIO_PIN_KEYBRD_CLK);
gpio_free(AMS_DELTA_GPIO_PIN_KEYBRD_DATA);
 }
-- 
1.7.0.4

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


[PATCH v3 2/4] ARM: OMAP2+: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()

2012-03-29 Thread Tarun Kanti DebBarma
With dynamic allocation of IRQ the usage of OMAP_GPIO_IRQ
is no longer valid. We should be using gpio_to_irq() instead.

Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
---
 arch/arm/mach-omap2/board-2430sdp.c  |2 +-
 arch/arm/mach-omap2/board-4430sdp.c  |2 +-
 arch/arm/mach-omap2/board-apollon.c  |4 ++--
 arch/arm/mach-omap2/board-devkit8000.c   |2 +-
 arch/arm/mach-omap2/board-h4.c   |2 +-
 arch/arm/mach-omap2/board-omap3evm.c |2 +-
 arch/arm/mach-omap2/board-omap4panda.c   |2 +-
 arch/arm/mach-omap2/board-rx51-peripherals.c |3 ++-
 arch/arm/mach-omap2/board-zoom-debugboard.c  |3 ++-
 arch/arm/mach-omap2/board-zoom-peripherals.c |6 --
 arch/arm/mach-omap2/common-board-devices.c   |2 +-
 11 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-omap2/board-2430sdp.c 
b/arch/arm/mach-omap2/board-2430sdp.c
index 7370983..5a1b6af 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -230,12 +230,12 @@ static struct i2c_board_info __initdata 
sdp2430_i2c1_boardinfo[] = {
{
I2C_BOARD_INFO(isp1301_omap, 0x2D),
.flags = I2C_CLIENT_WAKE,
-   .irq = OMAP_GPIO_IRQ(78),
},
 };
 
 static int __init omap2430_i2c_init(void)
 {
+   sdp2430_i2c1_boardinfo[0].irq = gpio_to_irq(78);
omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo,
ARRAY_SIZE(sdp2430_i2c1_boardinfo));
omap_pmic_init(2, 100, twl4030, INT_24XX_SYS_NIRQ,
diff --git a/arch/arm/mach-omap2/board-4430sdp.c 
b/arch/arm/mach-omap2/board-4430sdp.c
index 4e90715..a09c699 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -873,7 +873,6 @@ static void __init omap4_sdp4430_wifi_mux_init(void)
 }
 
 static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = {
-   .irq = OMAP_GPIO_IRQ(GPIO_WIFI_IRQ),
.board_ref_clock = WL12XX_REFCLOCK_26,
.board_tcxo_clock = WL12XX_TCXOCLOCK_26,
 };
@@ -883,6 +882,7 @@ static void __init omap4_sdp4430_wifi_init(void)
int ret;
 
omap4_sdp4430_wifi_mux_init();
+   omap4_sdp4430_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ);
ret = wl12xx_set_platform_data(omap4_sdp4430_wlan_data);
if (ret)
pr_err(Error setting wl12xx data: %d\n, ret);
diff --git a/arch/arm/mach-omap2/board-apollon.c 
b/arch/arm/mach-omap2/board-apollon.c
index ac77382..768ece2 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -136,8 +136,6 @@ static struct resource apollon_smc91x_resources[] = {
.flags  = IORESOURCE_MEM,
},
[1] = {
-   .start  = OMAP_GPIO_IRQ(APOLLON_ETHR_GPIO_IRQ),
-   .end= OMAP_GPIO_IRQ(APOLLON_ETHR_GPIO_IRQ),
.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
},
 };
@@ -341,6 +339,8 @@ static void __init omap_apollon_init(void)
 * You have to mux them off in device drivers later on
 * if not needed.
 */
+   apollon_smc91x_resources[1].start = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ);
+   apollon_smc91x_resources[1].end = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ);
platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices));
omap_serial_init();
omap_sdrc_init(NULL, NULL);
diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
b/arch/arm/mach-omap2/board-devkit8000.c
index e873063..87cdb86 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -410,7 +410,6 @@ static struct resource omap_dm9000_resources[] = {
.flags  = IORESOURCE_MEM,
},
[2] = {
-   .start  = OMAP_GPIO_IRQ(OMAP_DM9000_GPIO_IRQ),
.flags  = IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
},
 };
@@ -637,6 +636,7 @@ static void __init devkit8000_init(void)
omap_dm9000_init();
 
devkit8000_i2c_init();
+   omap_dm9000_resources[2].start = gpio_to_irq(OMAP_DM9000_GPIO_IRQ);
platform_add_devices(devkit8000_devices,
ARRAY_SIZE(devkit8000_devices));
 
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index 54af800..0bbbabe 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -348,7 +348,6 @@ static struct at24_platform_data m24c01 = {
 static struct i2c_board_info __initdata h4_i2c_board_info[] = {
{
I2C_BOARD_INFO(isp1301_omap, 0x2d),
-   .irq= OMAP_GPIO_IRQ(125),
},
{   /* EEPROM on mainboard */
I2C_BOARD_INFO(24c01, 0x52),
@@ -377,6 +376,7 @@ static void __init omap_h4_init(void)
 */
 
board_mkp_init();
+   h4_i2c_board_info[0].irq = gpio_to_irq(125);
i2c_register_board_info(1, 

[PATCH v3 1/4] ARM: OMAP1: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()

2012-03-29 Thread Tarun Kanti DebBarma
With dynamic allocation of IRQ the usage of OMAP_GPIO_IRQ
is no longer valid. We should be using gpio_to_irq() instead.

Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
---
 arch/arm/mach-omap1/board-h2.c|8 
 arch/arm/mach-omap1/board-h3.c|9 -
 arch/arm/mach-omap1/board-htcherald.c |6 +++---
 arch/arm/mach-omap1/board-innovator.c |4 ++--
 arch/arm/mach-omap1/board-nokia770.c  |2 +-
 arch/arm/mach-omap1/board-osk.c   |   12 ++--
 arch/arm/mach-omap1/board-palmte.c|2 +-
 arch/arm/mach-omap1/board-palmtt.c|2 +-
 arch/arm/mach-omap1/board-palmz71.c   |2 +-
 arch/arm/mach-omap1/board-voiceblue.c |   16 +++-
 10 files changed, 30 insertions(+), 33 deletions(-)

diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
index 00ad6b2..b6926d4 100644
--- a/arch/arm/mach-omap1/board-h2.c
+++ b/arch/arm/mach-omap1/board-h2.c
@@ -244,8 +244,6 @@ static struct resource h2_smc91x_resources[] = {
.flags  = IORESOURCE_MEM,
},
[1] = {
-   .start  = OMAP_GPIO_IRQ(0),
-   .end= OMAP_GPIO_IRQ(0),
.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
},
 };
@@ -364,11 +362,9 @@ static struct tps65010_board tps_board = {
 static struct i2c_board_info __initdata h2_i2c_board_info[] = {
{
I2C_BOARD_INFO(tps65010, 0x48),
-   .irq= OMAP_GPIO_IRQ(58),
.platform_data  = tps_board,
}, {
I2C_BOARD_INFO(isp1301_omap, 0x2d),
-   .irq= OMAP_GPIO_IRQ(2),
},
 };
 
@@ -437,10 +433,14 @@ static void __init h2_init(void)
omap_cfg_reg(E19_1610_KBR4);
omap_cfg_reg(N19_1610_KBR5);
 
+   h2_smc91x_resources[1].start = gpio_to_irq(0);
+   h2_smc91x_resources[1].end = gpio_to_irq(0);
platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices));
omap_board_config = h2_config;
omap_board_config_size = ARRAY_SIZE(h2_config);
omap_serial_init();
+   h2_i2c_board_info[0].irq = gpio_to_irq(58);
+   h2_i2c_board_info[1].irq = gpio_to_irq(2);
omap_register_i2c_bus(1, 100, h2_i2c_board_info,
  ARRAY_SIZE(h2_i2c_board_info));
omap1_usb_init(h2_usb_config);
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index 4a7f251..15f1028 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -246,8 +246,6 @@ static struct resource smc91x_resources[] = {
.flags  = IORESOURCE_MEM,
},
[1] = {
-   .start  = OMAP_GPIO_IRQ(40),
-   .end= OMAP_GPIO_IRQ(40),
.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
},
 };
@@ -337,7 +335,6 @@ static struct spi_board_info h3_spi_board_info[] __initdata 
= {
.modalias   = tsc2101,
.bus_num= 2,
.chip_select= 0,
-   .irq= OMAP_GPIO_IRQ(H3_TS_GPIO),
.max_speed_hz   = 1600,
/* .platform_data   = tsc_platform_data, */
},
@@ -377,11 +374,9 @@ static struct omap_board_config_kernel h3_config[] 
__initdata = {
 static struct i2c_board_info __initdata h3_i2c_board_info[] = {
{
I2C_BOARD_INFO(tps65013, 0x48),
-   /* .irq = OMAP_GPIO_IRQ(??), */
},
{
I2C_BOARD_INFO(isp1301_omap, 0x2d),
-   .irq= OMAP_GPIO_IRQ(14),
},
 };
 
@@ -423,12 +418,16 @@ static void __init h3_init(void)
omap_cfg_reg(E19_1610_KBR4);
omap_cfg_reg(N19_1610_KBR5);
 
+   smc91x_resources[1].start = gpio_to_irq(40);
+   smc91x_resources[1].end = gpio_to_irq(40);
platform_add_devices(devices, ARRAY_SIZE(devices));
+   h3_spi_board_info[0].irq = gpio_to_irq(H3_TS_GPIO);
spi_register_board_info(h3_spi_board_info,
ARRAY_SIZE(h3_spi_board_info));
omap_board_config = h3_config;
omap_board_config_size = ARRAY_SIZE(h3_config);
omap_serial_init();
+   h3_i2c_board_info[1].irq = gpio_to_irq(14);
omap_register_i2c_bus(1, 100, h3_i2c_board_info,
  ARRAY_SIZE(h3_i2c_board_info));
omap1_usb_init(h3_usb_config);
diff --git a/arch/arm/mach-omap1/board-htcherald.c 
b/arch/arm/mach-omap1/board-htcherald.c
index 731cc3d..cc04144 100644
--- a/arch/arm/mach-omap1/board-htcherald.c
+++ b/arch/arm/mach-omap1/board-htcherald.c
@@ -324,8 +324,6 @@ static struct platform_device gpio_leds_device = {
 
 static struct resource htcpld_resources[] = {
[0] = {
-   .start  = OMAP_GPIO_IRQ(HTCHERALD_GIRQ_BTNS),
-   .end= OMAP_GPIO_IRQ(HTCHERALD_GIRQ_BTNS),
.flags  = IORESOURCE_IRQ,
},
 };
@@ -454,7 +452,6 @@ 

[PATCH v3 1/4] ARM: OMAP1: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()

2012-03-29 Thread Tarun Kanti DebBarma
With dynamic allocation of IRQ the usage of OMAP_GPIO_IRQ
is no longer valid. We should be using gpio_to_irq() instead.

Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
---
 arch/arm/mach-omap1/board-h2.c|8 
 arch/arm/mach-omap1/board-h3.c|9 -
 arch/arm/mach-omap1/board-htcherald.c |6 +++---
 arch/arm/mach-omap1/board-innovator.c |4 ++--
 arch/arm/mach-omap1/board-nokia770.c  |2 +-
 arch/arm/mach-omap1/board-osk.c   |   12 ++--
 arch/arm/mach-omap1/board-palmte.c|2 +-
 arch/arm/mach-omap1/board-palmtt.c|2 +-
 arch/arm/mach-omap1/board-palmz71.c   |2 +-
 arch/arm/mach-omap1/board-voiceblue.c |   16 +++-
 10 files changed, 30 insertions(+), 33 deletions(-)

diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
index 00ad6b2..b6926d4 100644
--- a/arch/arm/mach-omap1/board-h2.c
+++ b/arch/arm/mach-omap1/board-h2.c
@@ -244,8 +244,6 @@ static struct resource h2_smc91x_resources[] = {
.flags  = IORESOURCE_MEM,
},
[1] = {
-   .start  = OMAP_GPIO_IRQ(0),
-   .end= OMAP_GPIO_IRQ(0),
.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
},
 };
@@ -364,11 +362,9 @@ static struct tps65010_board tps_board = {
 static struct i2c_board_info __initdata h2_i2c_board_info[] = {
{
I2C_BOARD_INFO(tps65010, 0x48),
-   .irq= OMAP_GPIO_IRQ(58),
.platform_data  = tps_board,
}, {
I2C_BOARD_INFO(isp1301_omap, 0x2d),
-   .irq= OMAP_GPIO_IRQ(2),
},
 };
 
@@ -437,10 +433,14 @@ static void __init h2_init(void)
omap_cfg_reg(E19_1610_KBR4);
omap_cfg_reg(N19_1610_KBR5);
 
+   h2_smc91x_resources[1].start = gpio_to_irq(0);
+   h2_smc91x_resources[1].end = gpio_to_irq(0);
platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices));
omap_board_config = h2_config;
omap_board_config_size = ARRAY_SIZE(h2_config);
omap_serial_init();
+   h2_i2c_board_info[0].irq = gpio_to_irq(58);
+   h2_i2c_board_info[1].irq = gpio_to_irq(2);
omap_register_i2c_bus(1, 100, h2_i2c_board_info,
  ARRAY_SIZE(h2_i2c_board_info));
omap1_usb_init(h2_usb_config);
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index 4a7f251..15f1028 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -246,8 +246,6 @@ static struct resource smc91x_resources[] = {
.flags  = IORESOURCE_MEM,
},
[1] = {
-   .start  = OMAP_GPIO_IRQ(40),
-   .end= OMAP_GPIO_IRQ(40),
.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
},
 };
@@ -337,7 +335,6 @@ static struct spi_board_info h3_spi_board_info[] __initdata 
= {
.modalias   = tsc2101,
.bus_num= 2,
.chip_select= 0,
-   .irq= OMAP_GPIO_IRQ(H3_TS_GPIO),
.max_speed_hz   = 1600,
/* .platform_data   = tsc_platform_data, */
},
@@ -377,11 +374,9 @@ static struct omap_board_config_kernel h3_config[] 
__initdata = {
 static struct i2c_board_info __initdata h3_i2c_board_info[] = {
{
I2C_BOARD_INFO(tps65013, 0x48),
-   /* .irq = OMAP_GPIO_IRQ(??), */
},
{
I2C_BOARD_INFO(isp1301_omap, 0x2d),
-   .irq= OMAP_GPIO_IRQ(14),
},
 };
 
@@ -423,12 +418,16 @@ static void __init h3_init(void)
omap_cfg_reg(E19_1610_KBR4);
omap_cfg_reg(N19_1610_KBR5);
 
+   smc91x_resources[1].start = gpio_to_irq(40);
+   smc91x_resources[1].end = gpio_to_irq(40);
platform_add_devices(devices, ARRAY_SIZE(devices));
+   h3_spi_board_info[0].irq = gpio_to_irq(H3_TS_GPIO);
spi_register_board_info(h3_spi_board_info,
ARRAY_SIZE(h3_spi_board_info));
omap_board_config = h3_config;
omap_board_config_size = ARRAY_SIZE(h3_config);
omap_serial_init();
+   h3_i2c_board_info[1].irq = gpio_to_irq(14);
omap_register_i2c_bus(1, 100, h3_i2c_board_info,
  ARRAY_SIZE(h3_i2c_board_info));
omap1_usb_init(h3_usb_config);
diff --git a/arch/arm/mach-omap1/board-htcherald.c 
b/arch/arm/mach-omap1/board-htcherald.c
index 731cc3d..cc04144 100644
--- a/arch/arm/mach-omap1/board-htcherald.c
+++ b/arch/arm/mach-omap1/board-htcherald.c
@@ -324,8 +324,6 @@ static struct platform_device gpio_leds_device = {
 
 static struct resource htcpld_resources[] = {
[0] = {
-   .start  = OMAP_GPIO_IRQ(HTCHERALD_GIRQ_BTNS),
-   .end= OMAP_GPIO_IRQ(HTCHERALD_GIRQ_BTNS),
.flags  = IORESOURCE_IRQ,
},
 };
@@ -454,7 +452,6 @@ 

[PATCH] omap2+: pm: fix compilation break.

2012-03-29 Thread Govindraj.R
From: Govindraj.R govindraj.r...@ti.com

Fix the compilation break observed on latest mainline.

Fixes below compilation break:

arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 
'disable_hlt'
arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 
'enable_hlt'

Cc: Kevin Hilman khil...@ti.com
Cc: Tony Lindgren t...@atomide.com
Signed-off-by: Govindraj.R govindraj.r...@ti.com
---
 arch/arm/mach-omap2/pm.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
index a7bdec6..70da4f7 100644
--- a/arch/arm/mach-omap2/pm.c
+++ b/arch/arm/mach-omap2/pm.c
@@ -16,6 +16,7 @@
 #include linux/opp.h
 #include linux/export.h
 #include linux/suspend.h
+#include asm/system_misc.h
 
 #include plat/omap-pm.h
 #include plat/omap_device.h
-- 
1.7.5.4

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


Re: Suspend broken on 3.3?

2012-03-29 Thread Paul Walmsley
Hello Joe,

thanks for reporting this.  Some thoughts -- really just pure speculation 
-- but I hope some of it might be useful for you...

On Thu, 29 Mar 2012, Joe Woodward wrote:

 After digging a bit further I found that the problem isn't lost characters or 
 character corruption at all...
 
 The UART is actually at 430KBaud (not 900KBaud as I mentioned earlier).

430Kbps?  Could you confirm this?  OMAP UARTs don't support that rate as 
far as I know - the closest is 460Kbps (OMAP34xx TRM vZR Table 17-1 UART 
Mode Baud Rates, Divisor Values, and Error Rates).  If one was desperate, 
it might be possible to get 430Kbps by tweaking other parts of the clock 
tree though...

 The data received is very bursty (i.e. sets of messages every second or 
 so), containing a sync sequence to indicate a start of packet.
 
 The received bytes should be: 0x01, 0x52, 0x41 rest of packet.
 
 This works 100% of the time on 3.2, but on 3.3 I sometimes (but not always) 
 get: 0x01, 0x00, 0x52, 0x41.
 
 i.e. there is a NULL/0x00 inserted after the first character.

Is this on the serial console, or on a non-console serial port?

Looking at drivers/tty/serial/omap-serial.c:receive_chars(), I wonder if 
the driver is somehow reading bytes from the RX FIFO when it's empty.  
It's unclear to me how this could happen.  But you might want to try doing 
an LSR read right before entering the loop in 
drivers/tty/serial/omap-serial.c:receive_chars().  In stock v3.3, this 
would mean adding

lsr = serial_in(up, UART_LSR);

at line 190 of drivers/tty/serial/omap-serial.c.


You might also try the DMA path as an experiment.  This will totally wedge 
power management due to an insanely low timer expiration in that path, but 
at least might help narrow the problem down.  To do so with a quick hack, 
you could set omap_serial_default_info.dma_enabled to true instead of 
false at arch/arm/mach-omap2/serial.c:76.


And one other thing to try: does the behavior change if you set uart_debug 
to true at arch/arm/mach-omap2/serial.c:278 ?


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


Re: Suspend broken on 3.3?

2012-03-29 Thread Joe Woodward
 Hello Joe,
 
 thanks for reporting this.  Some thoughts -- really just pure
 speculation 
 -- but I hope some of it might be useful for you...
 
 On Thu, 29 Mar 2012, Joe Woodward wrote:
 
  After digging a bit further I found that the problem isn't lost
 characters or character corruption at all...
  
  The UART is actually at 430KBaud (not 900KBaud as I mentioned
 earlier).
 
 430Kbps?  Could you confirm this?  OMAP UARTs don't support that rate
 as 
 far as I know - the closest is 460Kbps (OMAP34xx TRM vZR Table 17-1
 UART 
 Mode Baud Rates, Divisor Values, and Error Rates).  If one was
 desperate, 
 it might be possible to get 430Kbps by tweaking other parts of the
 clock 
 tree though...

Sorry for the confusion... It's 460KBaud - the 430 was just a typo in my 
previous mail...

 
  The data received is very bursty (i.e. sets of messages every second
 or 
  so), containing a sync sequence to indicate a start of packet.
  
  The received bytes should be: 0x01, 0x52, 0x41 rest of packet.
  
  This works 100% of the time on 3.2, but on 3.3 I sometimes (but not
 always) get: 0x01, 0x00, 0x52, 0x41.
  
  i.e. there is a NULL/0x00 inserted after the first character.
 
 Is this on the serial console, or on a non-console serial port?
 
 Looking at drivers/tty/serial/omap-serial.c:receive_chars(), I wonder
 if 
 the driver is somehow reading bytes from the RX FIFO when it's empty.  
 It's unclear to me how this could happen.  But you might want to try
 doing 
 an LSR read right before entering the loop in 
 drivers/tty/serial/omap-serial.c:receive_chars().  In stock v3.3, this 
 would mean adding
 
   lsr = serial_in(up, UART_LSR);
 
 at line 190 of drivers/tty/serial/omap-serial.c.
 

Adding this is made no obvious difference.

 
 You might also try the DMA path as an experiment.  This will totally
 wedge 
 power management due to an insanely low timer expiration in that path,
 but 
 at least might help narrow the problem down.  To do so with a quick
 hack, 
 you could set omap_serial_default_info.dma_enabled to true instead of 
 false at arch/arm/mach-omap2/serial.c:76.
 

This did the trick (I've added it in addition to the LSR read above, i'll back 
out the LSR read and see if it still works).
When DMA is enabled the behaviour (as seen from my application in userspace) is 
the same as on the stock 3.2 kernel (i.e. for me it works :) ).

Cheers,
Joe

 
 And one other thing to try: does the behavior change if you set
 uart_debug 
 to true at arch/arm/mach-omap2/serial.c:278 ?
 
 
 - Paul
 --
 To unsubscribe from this list: send the line unsubscribe linux-omap
 in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


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


Re: Suspend broken on 3.3?

2012-03-29 Thread Joe Woodward


-Original Message-
From: Joe Woodward j...@terrafix.co.uk
To: Paul Walmsley p...@pwsan.com
Cc: Kevin Hilman khil...@ti.com, Raja\\, Govindraj 
govindraj.r...@ti.com, linux-omap@vger.kernel.org, Felipe Balbi 
ba...@ti.com, ne...@suse.de
Date: Thu, 29 Mar 2012 12:27:55 +0100
Subject: Re: Suspend broken on 3.3?

  Hello Joe,
  
  thanks for reporting this.  Some thoughts -- really just pure
  speculation 
  -- but I hope some of it might be useful for you...
  
  On Thu, 29 Mar 2012, Joe Woodward wrote:
  
   After digging a bit further I found that the problem isn't lost
  characters or character corruption at all...
   
   The UART is actually at 430KBaud (not 900KBaud as I mentioned
  earlier).
  
  430Kbps?  Could you confirm this?  OMAP UARTs don't support that rate
  as 
  far as I know - the closest is 460Kbps (OMAP34xx TRM vZR Table 17-1
  UART 
  Mode Baud Rates, Divisor Values, and Error Rates).  If one was
  desperate, 
  it might be possible to get 430Kbps by tweaking other parts of the
  clock 
  tree though...
 
 Sorry for the confusion... It's 460KBaud - the 430 was just a typo in
 my previous mail...
 
  
   The data received is very bursty (i.e. sets of messages every
 second
  or 
   so), containing a sync sequence to indicate a start of packet.
   
   The received bytes should be: 0x01, 0x52, 0x41 rest of packet.
   
   This works 100% of the time on 3.2, but on 3.3 I sometimes (but not
  always) get: 0x01, 0x00, 0x52, 0x41.
   
   i.e. there is a NULL/0x00 inserted after the first character.
  
  Is this on the serial console, or on a non-console serial port?
  
  Looking at drivers/tty/serial/omap-serial.c:receive_chars(), I wonder
  if 
  the driver is somehow reading bytes from the RX FIFO when it's empty.
  
  It's unclear to me how this could happen.  But you might want to try
  doing 
  an LSR read right before entering the loop in 
  drivers/tty/serial/omap-serial.c:receive_chars().  In stock v3.3,
 this 
  would mean adding
  
  lsr = serial_in(up, UART_LSR);
  
  at line 190 of drivers/tty/serial/omap-serial.c.
  
 
 Adding this is made no obvious difference.
 
  
  You might also try the DMA path as an experiment.  This will totally
  wedge 
  power management due to an insanely low timer expiration in that
 path,
  but 
  at least might help narrow the problem down.  To do so with a quick
  hack, 
  you could set omap_serial_default_info.dma_enabled to true instead of
  false at arch/arm/mach-omap2/serial.c:76.
  
 
 This did the trick (I've added it in addition to the LSR read above,
 i'll back out the LSR read and see if it still works).
 When DMA is enabled the behaviour (as seen from my application in
 userspace) is the same as on the stock 3.2 kernel (i.e. for me it works
 :) ).
 

I've just realised that if anyone has joined this thread late, then I'm running 
in a state with Govindraj's patch in a previous mail in this thread applied to 
serial.c to 
fix the suspend issues due to the UART wakeup's not being correctly changed 
from userspace via sysfs.

It may actually by this patch that is causing the interrupt-enabled serial 
driver to have broken? The tty that is causing me a problem does have 
wake-from-suspend 
disabled for it from userspace...

Cheers,
Joe


 Cheers,
 Joe
 
  
  And one other thing to try: does the behavior change if you set
  uart_debug 
  to true at arch/arm/mach-omap2/serial.c:278 ?
  
  
  - Paul
  --
  To unsubscribe from this list: send the line unsubscribe linux-omap
  in
  the body of a message to majord...@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
 
 --
 To unsubscribe from this list: send the line unsubscribe linux-omap
 in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


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


Re: Suspend broken on 3.3?

2012-03-29 Thread Raja, Govindraj
On Thu, Mar 29, 2012 at 5:10 PM, Joe Woodward j...@terrafix.co.uk wrote:


 -Original Message-
 From: Joe Woodward j...@terrafix.co.uk
 To: Paul Walmsley p...@pwsan.com
 Cc: Kevin Hilman khil...@ti.com, Raja\\, Govindraj 
 govindraj.r...@ti.com, linux-omap@vger.kernel.org, Felipe Balbi 
 ba...@ti.com, ne...@suse.de
 Date: Thu, 29 Mar 2012 12:27:55 +0100
 Subject: Re: Suspend broken on 3.3?

  Hello Joe,
 
  thanks for reporting this.  Some thoughts -- really just pure
  speculation
  -- but I hope some of it might be useful for you...
 
  On Thu, 29 Mar 2012, Joe Woodward wrote:
 
   After digging a bit further I found that the problem isn't lost
  characters or character corruption at all...
  
   The UART is actually at 430KBaud (not 900KBaud as I mentioned
  earlier).
 
  430Kbps?  Could you confirm this?  OMAP UARTs don't support that rate
  as
  far as I know - the closest is 460Kbps (OMAP34xx TRM vZR Table 17-1
  UART
  Mode Baud Rates, Divisor Values, and Error Rates).  If one was
  desperate,
  it might be possible to get 430Kbps by tweaking other parts of the
  clock
  tree though...

 Sorry for the confusion... It's 460KBaud - the 430 was just a typo in
 my previous mail...

 
   The data received is very bursty (i.e. sets of messages every
 second
  or
   so), containing a sync sequence to indicate a start of packet.
  
   The received bytes should be: 0x01, 0x52, 0x41 rest of packet.
  
   This works 100% of the time on 3.2, but on 3.3 I sometimes (but not
  always) get: 0x01, 0x00, 0x52, 0x41.
  
   i.e. there is a NULL/0x00 inserted after the first character.
 
  Is this on the serial console, or on a non-console serial port?
 
  Looking at drivers/tty/serial/omap-serial.c:receive_chars(), I wonder
  if
  the driver is somehow reading bytes from the RX FIFO when it's empty.

  It's unclear to me how this could happen.  But you might want to try
  doing
  an LSR read right before entering the loop in
  drivers/tty/serial/omap-serial.c:receive_chars().  In stock v3.3,
 this
  would mean adding
 
              lsr = serial_in(up, UART_LSR);
 
  at line 190 of drivers/tty/serial/omap-serial.c.
 

 Adding this is made no obvious difference.

 
  You might also try the DMA path as an experiment.  This will totally
  wedge
  power management due to an insanely low timer expiration in that
 path,
  but
  at least might help narrow the problem down.  To do so with a quick
  hack,
  you could set omap_serial_default_info.dma_enabled to true instead of
  false at arch/arm/mach-omap2/serial.c:76.
 

 This did the trick (I've added it in addition to the LSR read above,
 i'll back out the LSR read and see if it still works).
 When DMA is enabled the behaviour (as seen from my application in
 userspace) is the same as on the stock 3.2 kernel (i.e. for me it works
 :) ).


 I've just realised that if anyone has joined this thread late, then I'm 
 running in a state with Govindraj's patch in a previous mail in this thread 
 applied to serial.c to
 fix the suspend issues due to the UART wakeup's not being correctly changed 
 from userspace via sysfs.

 It may actually by this patch that is causing the interrupt-enabled serial 
 driver to have broken? The tty that is causing me a problem does have 
 wake-from-suspend
 disabled for it from userspace...

Is the patch shared earlier causing this issue of getting 0x00 from rx
randomly ?

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


Re: [GIT PULL] omap fixes for merge window

2012-03-29 Thread Tony Lindgren
* Olof Johansson o...@lixom.net [120328 22:04]:
 Hi Tony,
 
 On Wed, Mar 21, 2012 at 11:05 AM, Tony Lindgren t...@atomide.com wrote:
  Hi Arnd  Olof,
 
  Here's a set of fixes that would be nice to get merged during
  the merge window before the GPIO changes get merged to avoid
  boot issues on many omap boards.
 
  The changes queued in the GPIO tree require getting rid of
  OMAP_GPIO_IRQ and use gpio_to_irq() instead. This is needed for
  dynamically allocated GPIO interrupt ranges.
 
 Sorry for the slow response on this, we've been focused on getting the
 main pulls going in. I'm about to start a fixes branch now and looked
 at this pull request.
 
 I replied to one of the original patches in this branch, they need to
 be fixed before they can go in:
 
 http://marc.info/?l=linux-omapm=133299716528617w=2

Thanks, that's a good catch.
 
 Also, that way we can get a clean branch based on current mainline
 without merge conflicts.

Yes will do.

Regards,

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


Re: AM3517evm

2012-03-29 Thread Yegor Yefremov
Am 15.03.2012 17:52, schrieb Mark A. Greer:
 On Thu, Mar 15, 2012 at 09:42:21AM -0700, Mark A. Greer wrote:
 On Thu, Mar 15, 2012 at 04:52:40PM +0100, Yegor Yefremov wrote:
 Am 15.03.2012 16:43, schrieb Mark A. Greer:
 On Mon, Mar 12, 2012 at 02:55:02PM +0100, Yegor Yefremov wrote:
 Am 09.03.2012 18:22, schrieb George C. Huntington, III:
 I would like to make the newer kernel (3.x) work with the AM3517EVM.
 I have a 2.6.32 and a 2.6.33 that run well on the board, but the
 recent kernels have kernel panics before even running init.  where
 should I start?  is there a better place to pursue this?
 Have you tried this one? 
 http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap.git;a=summary

 I have this one booting one month ago, but I checked out the kernel today 
 and it hangs somewhere:

 Starting kernel ...

 Uncompressing Linux... done, booting the kernel.
 This looks like you have your console device set to ttyS2 instead of ttyO2.

 Which branch of that repository did you use?
 My kernel params: CONFIG_CMDLINE=root=/dev/mmcblk0p2 rootwait 
 console=ttyO2,115200 and I force them, so bootloader has nothing to say.

 I'm using master branch.
 I just booted the latest master branch (b8fe178) with the hack below.
 (Kernel command line: console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw
 rootfstype=ext3 rootwait)
 I meant to add that I booted an am3517evm.

Is frame buffer working? I can boot with the latest linux-omap version, but as 
soon as I enable omapfb, kernel freezes before making any output to the serial 
console. Have I missed some DSS/DPI patches?

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


Re: [PATCH] ARM: OMAP: hwmod: Fix error handling in functions used OMAP4 onwards

2012-03-29 Thread Jon Hunter

Hi Viabhav,

On 3/29/2012 4:14, Hiremath, Vaibhav wrote:

On Thu, Mar 29, 2012 at 14:32:34, Nayak, Rajendra wrote:

On Thursday 29 March 2012 02:26 PM, Hiremath, Vaibhav wrote:

The point I was trying to make here was, cpu_is_xxx() check will become ugly,
as more and more devices gets added to the list, am33xx being the first one
in omap34xx family.


So are there more, other than AM33xx which are cortex A8 based but
share the OMAP4 PRCM IP block?



I would say, probably yes.

But, things are so dynamic and you never know how things will shape up by
the time you freeze the design.


So this begs the question, why does AM33xx return true from 
cpu_is_omap34xx() is the architecture is based upon OMAP4 and not OMAP3?


I understand it is a Cortex-A8 versus Corex-A9, but if the architecture 
is closer to OMAP4, then should it not be classed as OMAP4 and not OMAP3?


Raises another question if we should really have arch_is_omap and 
not cpu_is_omap.


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


Re: [PATCH] ARM: OMAP: hwmod: Fix error handling in functions used OMAP4 onwards

2012-03-29 Thread Jon Hunter

Hi Viabhav,

On 3/29/2012 3:56, Hiremath, Vaibhav wrote:

On Thu, Mar 29, 2012 at 11:42:34, Nayak, Rajendra wrote:

On Wednesday 28 March 2012 12:02 PM, Hiremath, Vaibhav wrote:

On Tue, Mar 27, 2012 at 15:28:31, Nayak, Rajendra wrote:

Some functions like _omap4_disable_module() and _omap4_wait_target_disable()
are (will be) used on all OMAPs OMAP4 and beyond which support module level
control. Fix the error checks in these functions to return if called on
any platform pre OMAP4 (i.e OMAP2 and OMAP3) instead of checking for
!cpu_is_omap44xx(). This avoids having to update the error check with a
'   !cpu_is_omap54xx()' when OMAP5 is introduced and possibly similar updates
when further OMAP generations are added.



Let me add some flavor here :)

AM33xx, which has module level control, but falls under OMAP3 family of
devices. cpu_is_omap34xx() is true for AM33xx device and we have to add
check in all these functions. And I am sure we will have many of such
devices in the future.

Can we use some flag based option here, instead of cpu_is_xxx() check?



The intent of this patch was to make the error handling uniform across
all modules control functions in hwmod, and it atleast addresses one
problem of having to update these checks every time a new OMAP gets
added.

The problem that you bring up with AM33xx is regardless of this patch
(you would still need to go update every !cpu_is_omap44xx() check)


Indeed, in any of cpu_is_xxx() check implementation, I have to add check
for cpu_is_am33xx().


I hope we can avoid adding more cpu_is_am. That should be a last resort.

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


Re: [PATCH] omap2+: pm: fix compilation break.

2012-03-29 Thread Tony Lindgren
* Govindraj.R govindraj.r...@ti.com [120329 03:12]:
 From: Govindraj.R govindraj.r...@ti.com
 
 Fix the compilation break observed on latest mainline.
 
 Fixes below compilation break:
 
 arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
 arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 
 'disable_hlt'
 arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
 arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 
 'enable_hlt'

Care to mention which commit broke the compile?

Regards,

Tony
 
 Cc: Kevin Hilman khil...@ti.com
 Cc: Tony Lindgren t...@atomide.com
 Signed-off-by: Govindraj.R govindraj.r...@ti.com
 ---
  arch/arm/mach-omap2/pm.c |1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
 index a7bdec6..70da4f7 100644
 --- a/arch/arm/mach-omap2/pm.c
 +++ b/arch/arm/mach-omap2/pm.c
 @@ -16,6 +16,7 @@
  #include linux/opp.h
  #include linux/export.h
  #include linux/suspend.h
 +#include asm/system_misc.h
  
  #include plat/omap-pm.h
  #include plat/omap_device.h
 -- 
 1.7.5.4
 
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/5] arm: Use the plat_nand default partition parser

2012-03-29 Thread Tony Lindgren
* H Hartley Sweeten hartl...@visionengravers.com [120328 11:16]:
 Use the default partition parser, cmdlinepart, provided by the plat_nand 
 driver.
 
 Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
 Cc: Ryan Mallon rmal...@gmail.com
 Cc: Imre Kaloz ka...@openwrt.org
 Cc: Krzysztof Halasa k...@pm.waw.pl
 Cc: Tony Lindgren t...@atomide.com
 Cc: Alexander Clouter a...@digriz.org.uk
 Cc: Nicolas Pitre n...@fluxnic.net
 Cc: Eric Miao eric.y.m...@gmail.com
 Cc: Haojian Zhuang haojian.zhu...@gmail.com
 Cc: Marek Vasut marek.va...@gmail.com

Acked-by: Tony Lindgren t...@atomide.com
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 0/4] ARM: OMAP: boards: changes to support dynamic irq alloc

2012-03-29 Thread Tony Lindgren
* Tarun Kanti DebBarma tarun.ka...@ti.com [120329 03:05]:
 These four patches incorporate changes to OMAP1 and OMAP2 platforms
 board files whereby older references to OMAP_GPIO_IRQ macro are
 now replaced with gpio_to_irq(), thereby getting rid of static
 irq references.

Thanks, I'll take your updated patches 1/4 and 2/4 combined
into one. And I'll use my earlier updated comments to mention
the breaking commits. As 3/4 and 4/4 have not changed, I'll
use the earlier ones with an ack from Dmitry.

Updated combined 1/4 and 2/4 below.

Tony


From: Tarun Kanti DebBarma tarun.ka...@ti.com
Date: Thu, 29 Mar 2012 08:41:01 -0700
Subject: [PATCH] ARM: OMAP: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()

The following commits change gpio-omap to use dynamic
IRQ allocation:

25db711 gpio/omap: Fix IRQ handling for SPARSE_IRQ
384ebe1 gpio/omap: Add DT support to GPIO driver

With dynamic allocation of IRQ the usage of OMAP_GPIO_IRQ
is no longer valid. We must be using gpio_to_irq() instead.

Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
[t...@atomide.com: updated comments]
Signed-off-by: Tony Lindgren t...@atomide.com

diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
index 03e0050..3768088 100644
--- a/arch/arm/mach-omap1/board-h2.c
+++ b/arch/arm/mach-omap1/board-h2.c
@@ -244,8 +244,6 @@ static struct resource h2_smc91x_resources[] = {
.flags  = IORESOURCE_MEM,
},
[1] = {
-   .start  = OMAP_GPIO_IRQ(0),
-   .end= OMAP_GPIO_IRQ(0),
.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
},
 };
@@ -364,11 +362,9 @@ static struct tps65010_board tps_board = {
 static struct i2c_board_info __initdata h2_i2c_board_info[] = {
{
I2C_BOARD_INFO(tps65010, 0x48),
-   .irq= OMAP_GPIO_IRQ(58),
.platform_data  = tps_board,
}, {
I2C_BOARD_INFO(isp1301_omap, 0x2d),
-   .irq= OMAP_GPIO_IRQ(2),
},
 };
 
@@ -437,10 +433,14 @@ static void __init h2_init(void)
omap_cfg_reg(E19_1610_KBR4);
omap_cfg_reg(N19_1610_KBR5);
 
+   h2_smc91x_resources[1].start = gpio_to_irq(0);
+   h2_smc91x_resources[1].end = gpio_to_irq(0);
platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices));
omap_board_config = h2_config;
omap_board_config_size = ARRAY_SIZE(h2_config);
omap_serial_init();
+   h2_i2c_board_info[0].irq = gpio_to_irq(58);
+   h2_i2c_board_info[1].irq = gpio_to_irq(2);
omap_register_i2c_bus(1, 100, h2_i2c_board_info,
  ARRAY_SIZE(h2_i2c_board_info));
omap1_usb_init(h2_usb_config);
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index f304fe2..09e8582 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -246,8 +246,6 @@ static struct resource smc91x_resources[] = {
.flags  = IORESOURCE_MEM,
},
[1] = {
-   .start  = OMAP_GPIO_IRQ(40),
-   .end= OMAP_GPIO_IRQ(40),
.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
},
 };
@@ -337,7 +335,6 @@ static struct spi_board_info h3_spi_board_info[] __initdata 
= {
.modalias   = tsc2101,
.bus_num= 2,
.chip_select= 0,
-   .irq= OMAP_GPIO_IRQ(H3_TS_GPIO),
.max_speed_hz   = 1600,
/* .platform_data   = tsc_platform_data, */
},
@@ -377,11 +374,9 @@ static struct omap_board_config_kernel h3_config[] 
__initdata = {
 static struct i2c_board_info __initdata h3_i2c_board_info[] = {
{
I2C_BOARD_INFO(tps65013, 0x48),
-   /* .irq = OMAP_GPIO_IRQ(??), */
},
{
I2C_BOARD_INFO(isp1301_omap, 0x2d),
-   .irq= OMAP_GPIO_IRQ(14),
},
 };
 
@@ -423,12 +418,16 @@ static void __init h3_init(void)
omap_cfg_reg(E19_1610_KBR4);
omap_cfg_reg(N19_1610_KBR5);
 
+   smc91x_resources[1].start = gpio_to_irq(40);
+   smc91x_resources[1].end = gpio_to_irq(40);
platform_add_devices(devices, ARRAY_SIZE(devices));
+   h3_spi_board_info[0].irq = gpio_to_irq(H3_TS_GPIO);
spi_register_board_info(h3_spi_board_info,
ARRAY_SIZE(h3_spi_board_info));
omap_board_config = h3_config;
omap_board_config_size = ARRAY_SIZE(h3_config);
omap_serial_init();
+   h3_i2c_board_info[1].irq = gpio_to_irq(14);
omap_register_i2c_bus(1, 100, h3_i2c_board_info,
  ARRAY_SIZE(h3_i2c_board_info));
omap1_usb_init(h3_usb_config);
diff --git a/arch/arm/mach-omap1/board-htcherald.c 
b/arch/arm/mach-omap1/board-htcherald.c
index fa52d14..797bbd6 100644
--- a/arch/arm/mach-omap1/board-htcherald.c
+++ 

Re: [PATCH] omap2+: pm: fix compilation break.

2012-03-29 Thread Tony Lindgren
* Tony Lindgren t...@atomide.com [120329 08:14]:
 * Govindraj.R govindraj.r...@ti.com [120329 03:12]:
  From: Govindraj.R govindraj.r...@ti.com
  
  Fix the compilation break observed on latest mainline.
  
  Fixes below compilation break:
  
  arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
  arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 
  'disable_hlt'
  arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
  arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 
  'enable_hlt'
 
 Care to mention which commit broke the compile?

Seems like it was 9f97da78 (Disintegrate asm/system.h for ARM),
and also needs to be fixed for omap1 too. Using the updated
patch below.

Tony


From: Govindraj.R govindraj.r...@ti.com
Date: Thu, 29 Mar 2012 09:30:28 -0700
Subject: [PATCH] ARM: OMAP: pm: fix compilation break
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fix the compilation break observed on latest mainline caused
by 9f97da78 (Disintegrate asm/system.h for ARM):

arch/arm/mach-omap1/pm.c: In function ‘omap_pm_prepare’:
arch/arm/mach-omap1/pm.c:587: error: implicit declaration of function 
‘disable_hlt’
arch/arm/mach-omap1/pm.c: In function ‘omap_pm_finish’:
arch/arm/mach-omap1/pm.c:624: error: implicit declaration of function 
‘enable_hlt’
arch/arm/mach-omap1/pm.c: In function ‘omap_pm_init’:
arch/arm/mach-omap1/pm.c:681: error: ‘arm_pm_idle’ undeclared (first use in 
this function)
...

arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 
'disable_hlt'
arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 
'enable_hlt'

Cc: Kevin Hilman khil...@ti.com
Signed-off-by: Govindraj.R govindraj.r...@ti.com
[t...@atomide.com: updated to fix omap1 too]
Signed-off-by: Tony Lindgren t...@atomide.com

diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
index 306beac..f66c329 100644
--- a/arch/arm/mach-omap1/pm.c
+++ b/arch/arm/mach-omap1/pm.c
@@ -44,6 +44,7 @@
 #include linux/io.h
 #include linux/atomic.h
 
+#include asm/system_misc.h
 #include asm/irq.h
 #include asm/mach/time.h
 #include asm/mach/irq.h
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
index a7bdec6..d0c1c96 100644
--- a/arch/arm/mach-omap2/pm.c
+++ b/arch/arm/mach-omap2/pm.c
@@ -17,6 +17,8 @@
 #include linux/export.h
 #include linux/suspend.h
 
+#include asm/system_misc.h
+
 #include plat/omap-pm.h
 #include plat/omap_device.h
 #include common.h
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] omap2+: pm: fix compilation break.

2012-03-29 Thread Kevin Hilman
Tony Lindgren t...@atomide.com writes:

 * Tony Lindgren t...@atomide.com [120329 08:14]:
 * Govindraj.R govindraj.r...@ti.com [120329 03:12]:
  From: Govindraj.R govindraj.r...@ti.com
  
  Fix the compilation break observed on latest mainline.
  
  Fixes below compilation break:
  
  arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
  arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 
  'disable_hlt'
  arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
  arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 
  'enable_hlt'
 
 Care to mention which commit broke the compile?

 Seems like it was 9f97da78 (Disintegrate asm/system.h for ARM),
 and also needs to be fixed for omap1 too. Using the updated
 patch below.

 Tony


 From: Govindraj.R govindraj.r...@ti.com
 Date: Thu, 29 Mar 2012 09:30:28 -0700
 Subject: [PATCH] ARM: OMAP: pm: fix compilation break
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit

 Fix the compilation break observed on latest mainline caused
 by 9f97da78 (Disintegrate asm/system.h for ARM):

 arch/arm/mach-omap1/pm.c: In function ‘omap_pm_prepare’:
 arch/arm/mach-omap1/pm.c:587: error: implicit declaration of function 
 ‘disable_hlt’
 arch/arm/mach-omap1/pm.c: In function ‘omap_pm_finish’:
 arch/arm/mach-omap1/pm.c:624: error: implicit declaration of function 
 ‘enable_hlt’
 arch/arm/mach-omap1/pm.c: In function ‘omap_pm_init’:
 arch/arm/mach-omap1/pm.c:681: error: ‘arm_pm_idle’ undeclared (first use in 
 this function)
 ...

 arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
 arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 
 'disable_hlt'
 arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
 arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 
 'enable_hlt'

 Cc: Kevin Hilman khil...@ti.com
 Signed-off-by: Govindraj.R govindraj.r...@ti.com
 [t...@atomide.com: updated to fix omap1 too]
 Signed-off-by: Tony Lindgren t...@atomide.com

Acked-by: Kevin Hilman khil...@ti.com
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/9] omap randconfig fixes for v3.3

2012-03-29 Thread Tony Lindgren
Mathieu,

* mathieu.poir...@linaro.org mathieu.poir...@linaro.org [120323 10:16]:
 From: Arnd Bergmann a...@arndb.de
 
 The following is a set of patches that have been sent
 out during the 3.1 cycle that were not acked or merged.
 
 Sending again for completeness.  
 
 Tony, please pull if there are no objections:
 
 The following changes since commit c16fa4f2ad19908a47c63d8fa436a1178438c7e7:

Can you please drop the already fixed ones and post
a new pull request?

It seems that these should merge fine to current mainline
if based on v3.3. If not, then maybe use the linux-omap fixes
branch as the base that I've just pushed at commit 2533c2cf.

Thanks,

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


Re: [PATCH-V3 0/3] ARM: OMAP2+: Add powerdomain PRM support for AM33XX device

2012-03-29 Thread Kevin Hilman
Hi Vaibhav,

Vaibhav Hiremath hvaib...@ti.com writes:

 After going round-n-round on how to add support for AM33XX family
 of device into kernel, especially for PRM and CM support, we have
 decided to handle it separately; as AM33XX-PRCM module is different
 than OMAP3 and OMAP4 architecture.

 The difference becomes very interesting/weird when it comes to
 the consistency for register offsets in PRM address space and
 bit-field offsets inside PRM registers,
 So along with Powerdomain data and PRM api's required for AM33XX
 device, this patch series adds,

  - XXX_RSTST register offset to struct omap_hwmod_omap4_prcm
  - PWRSTCTRL  PWRSTST register offsets to struct powerdomain
  - Logicretstate and mem_on/ret/pwrst/retst mask to struct powerdomain


 Testing: This patch series has been boot tested on AM37xEVM and AM335x
  based BeagleBone community board.

 THANKS TO PAUL HERE...for helping and concluding on this, soon I will
 have similar patch for CM support, then clock-tree and hwmod will follow...

 Changes from V1  V2:
   - Rolled back to my original approach, where AM33xx device was
 handled separately (RFC version).

My apologies for causing the run around.  

This approach (without the prminst layer) is indeed a better approach.

Thanks for your patience (and persistence.)

I went to give this a test on my BeagleBone, but it doesn't apply to
mainline.  What upstream commit is this supposed to apply onto.  I tried
it on v3.3, but patch 3 fails with a conflict in io.c.

Looking at your am335x-staging branch, it seems that it depends on
previous changes to io.c made in:

arm:omap:am33xx: Add AM335XEVM machine support

That patch appears to need an update for mainline as well.

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


Re: [GIT PULL] ARM: OMAP: i2c, gpio, spi, regulator and mmc DTS updates

2012-03-29 Thread Olof Johansson
On Thu, Mar 29, 2012 at 7:08 AM, Cousson, Benoit b-cous...@ti.com wrote:
 Hi Arnd and Olof,


 On 3/15/2012 9:01 AM, Arnd Bergmann wrote:

 On Thursday 15 March 2012, Tony Lindgren wrote:

 * Cousson, Benoitb-cous...@ti.com  [120314 16:41]:

 Hi Tony,

 Here are the remaining DTS patches for 3.4.

 On top of the previous pull request, I just added the MMC DTS since the
 driver adaptation just got queued.

 It will be still be good to have that for 3.4 if possible, otherwise we
 will
 have a bunch of drivers DT adapted but no DTS file to use them :-(


 This might be doable as a follow-up patch series at the end
 of the merge window or at -rc1 when the related driver changes
 have been merged.

 Arnd and Olof, what do you guys think?


 I'll have to look at the patches more closely, but from the diffstat it
 definitely
 looks ok for a later merge once the driver is in. If you can rebase the
 branch on
 top of the mmc tree (or the merge of that tree with whatever else is
 needed), it
 should give us a bisectable history and I can stick it into a late/*
 branch right
 away.


 FYI, MMC DT adaptation just got merged, I2C, GPIO, SPI, regulator DT
 adaptation were already merged before, so it means that this branch can be
 merged to take advantage of all the DT adapted drivers.

I've pulled this in as late/omap-dt, included in next/dt3 and
for-next. I'll let it sit in linux-next for at least one day before
it's sent in. Since it's just device tree additions, risk for
regressions should be low.


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


Re: [GIT PULL] omap fixes for merge window

2012-03-29 Thread Tony Lindgren
* Tony Lindgren t...@atomide.com [120329 07:44]:
 * Olof Johansson o...@lixom.net [120328 22:04]:
  Hi Tony,
  
  On Wed, Mar 21, 2012 at 11:05 AM, Tony Lindgren t...@atomide.com wrote:
   Hi Arnd  Olof,
  
   Here's a set of fixes that would be nice to get merged during
   the merge window before the GPIO changes get merged to avoid
   boot issues on many omap boards.
  
   The changes queued in the GPIO tree require getting rid of
   OMAP_GPIO_IRQ and use gpio_to_irq() instead. This is needed for
   dynamically allocated GPIO interrupt ranges.
  
  Sorry for the slow response on this, we've been focused on getting the
  main pulls going in. I'm about to start a fixes branch now and looked
  at this pull request.
  
  I replied to one of the original patches in this branch, they need to
  be fixed before they can go in:
  
  http://marc.info/?l=linux-omapm=133299716528617w=2
 
 Thanks, that's a good catch.
  
  Also, that way we can get a clean branch based on current mainline
  without merge conflicts.
 
 Yes will do.

Olof, here's an updated pull request for your fixes staging branch.

This contains the updated gpio_to_irq patches from Tarun, and a trivial
build fix from Govindraj to #include asm/system_misc.h in pm.c.
The DSI mux patch is the same.

Note that the branch name is now just fixes as the necessary commits
are now all in the mainline tree.

Regards,

Tony


The following changes since commit 0195c00244dc2e9f522475868fa278c473ba7339:
  Linus Torvalds (1):
Merge tag 'split-asm_system_h-for-linus-20120328' of 
git://git.kernel.org/.../dhowells/linux-asm_system

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap fixes

Govindraj.R (1):
  ARM: OMAP: pm: fix compilation break

Tarun Kanti DebBarma (3):
  ARM: OMAP: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()
  drivers: input: Fix OMAP_GPIO_IRQ with gpio_to_irq() in 
ams_delta_serio_exit()
  ARM: OMAP: Remove OMAP_GPIO_IRQ macro definition

Tomi Valkeinen (1):
  ARM: OMAP2+: Remove __init from DSI mux functions

Tony Lindgren (2):
  Merge branch 'fix-dss-mux' into fixes
  Merge branch 'fixes-gpio-to-irq' into fixes

 arch/arm/mach-omap1/board-h2.c   |8 
 arch/arm/mach-omap1/board-h3.c   |9 -
 arch/arm/mach-omap1/board-htcherald.c|6 +++---
 arch/arm/mach-omap1/board-innovator.c|4 ++--
 arch/arm/mach-omap1/board-nokia770.c |2 +-
 arch/arm/mach-omap1/board-osk.c  |   12 ++--
 arch/arm/mach-omap1/board-palmte.c   |2 +-
 arch/arm/mach-omap1/board-palmtt.c   |2 +-
 arch/arm/mach-omap1/board-palmz71.c  |2 +-
 arch/arm/mach-omap1/board-voiceblue.c|   16 +++-
 arch/arm/mach-omap1/pm.c |1 +
 arch/arm/mach-omap2/board-2430sdp.c  |2 +-
 arch/arm/mach-omap2/board-4430sdp.c  |2 +-
 arch/arm/mach-omap2/board-apollon.c  |4 ++--
 arch/arm/mach-omap2/board-devkit8000.c   |2 +-
 arch/arm/mach-omap2/board-h4.c   |2 +-
 arch/arm/mach-omap2/board-omap3evm.c |2 +-
 arch/arm/mach-omap2/board-omap4panda.c   |2 +-
 arch/arm/mach-omap2/board-rx51-peripherals.c |3 ++-
 arch/arm/mach-omap2/board-zoom-debugboard.c  |3 ++-
 arch/arm/mach-omap2/board-zoom-peripherals.c |6 --
 arch/arm/mach-omap2/common-board-devices.c   |2 +-
 arch/arm/mach-omap2/display.c|8 
 arch/arm/mach-omap2/pm.c |2 ++
 arch/arm/plat-omap/include/plat/gpio.h   |4 
 drivers/input/serio/ams_delta_serio.c|2 +-
 26 files changed, 55 insertions(+), 55 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


defconfig for panda

2012-03-29 Thread Kumar Gala
As I'm new to the OMAP community this might be a stupid question but trying to 
just build and run a stock v3.3 kernel on a pandaboard.  In doing so it seems 
as if some basic drivers are not enabled in omap2plus_defconfig for the board.  
I'm trying to figure out if this is normal for some reason or just an oversight.

For example, USB and USB ethernet (SMC95xx).  I notice the linaro kernel tree 
introduces an omap4_defconfig, so just wondering should I send patches to 
omap2plus_defconfig or what?

thanks

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


Re: [GIT PULL] omap fixes for merge window

2012-03-29 Thread Olof Johansson
On Thu, Mar 29, 2012 at 11:56 AM, Tony Lindgren t...@atomide.com wrote:
 * Tony Lindgren t...@atomide.com [120329 07:44]:
 * Olof Johansson o...@lixom.net [120328 22:04]:
  Hi Tony,
 
  On Wed, Mar 21, 2012 at 11:05 AM, Tony Lindgren t...@atomide.com wrote:
   Hi Arnd  Olof,
  
   Here's a set of fixes that would be nice to get merged during
   the merge window before the GPIO changes get merged to avoid
   boot issues on many omap boards.
  
   The changes queued in the GPIO tree require getting rid of
   OMAP_GPIO_IRQ and use gpio_to_irq() instead. This is needed for
   dynamically allocated GPIO interrupt ranges.
 
  Sorry for the slow response on this, we've been focused on getting the
  main pulls going in. I'm about to start a fixes branch now and looked
  at this pull request.
 
  I replied to one of the original patches in this branch, they need to
  be fixed before they can go in:
 
  http://marc.info/?l=linux-omapm=133299716528617w=2

 Thanks, that's a good catch.

  Also, that way we can get a clean branch based on current mainline
  without merge conflicts.

 Yes will do.

 Olof, here's an updated pull request for your fixes staging branch.

 This contains the updated gpio_to_irq patches from Tarun, and a trivial
 build fix from Govindraj to #include asm/system_misc.h in pm.c.
 The DSI mux patch is the same.

 Note that the branch name is now just fixes as the necessary commits
 are now all in the mainline tree.

 Regards,

 Tony


 The following changes since commit 0195c00244dc2e9f522475868fa278c473ba7339:
  Linus Torvalds (1):
        Merge tag 'split-asm_system_h-for-linus-20120328' of 
 git://git.kernel.org/.../dhowells/linux-asm_system

 are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap fixe

Thanks, pulled.


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


[PATCH 03/17] ARM: mark const init data with __initconst instead of __initdata

2012-03-29 Thread Uwe Kleine-König
As long as there is no other non-const variable marked __initdata in the
same compilation unit it doesn't hurt. If there were one however
compilation would fail with

error: $variablename causes a section type conflict

because a section containing const variables is marked read only and so
cannot contain non-const variables.

Signed-off-by: Uwe Kleine-König u.kleine-koe...@pengutronix.de
Cc: Andrew Victor li...@maxim.org.za
Cc: Nicolas Ferre nicolas.fe...@atmel.com
Cc: Jean-Christophe Plagniol-Villard plagn...@jcrosoft.com
Cc: Russell King li...@arm.linux.org.uk
Cc: Sekhar Nori nsek...@ti.com
Cc: Kevin Hilman khil...@ti.com
Cc: Kukjin Kim kgene@samsung.com
Cc: Sascha Hauer ker...@pengutronix.de
Cc: Shawn Guo shawn@linaro.org
Cc: Lennert Buytenhek ker...@wantstofly.org
Cc: Nicolas Pitre n...@fluxnic.net
Cc: Eric Miao eric.y.m...@gmail.com
Cc: Haojian Zhuang haojian.zhu...@gmail.com
Cc: David Brown dav...@codeaurora.org
Cc: Daniel Walker dwal...@fifo99.com
Cc: Bryan Huntsman bry...@codeaurora.org
Cc: Tony Lindgren t...@atomide.com
Cc: Barry Song baohua.s...@csr.com
Cc: Andrew Lunn and...@lunn.ch
Cc: Lucas De Marchi lucas.demar...@profusion.mobi
Cc: linux-arm-ker...@lists.infradead.org
Cc: davinci-linux-open-sou...@linux.davincidsp.com
Cc: linux-samsung-...@vger.kernel.org
Cc: linux-arm-...@vger.kernel.org
Cc: linux-omap@vger.kernel.org
---
 arch/arm/mach-at91/board-dt.c |2 +-
 arch/arm/mach-at91/clock.c|2 +-
 arch/arm/mach-davinci/board-tnetv107x-evm.c   |6 ++--
 arch/arm/mach-davinci/da830.c |   48 
 arch/arm/mach-davinci/da850.c |6 ++--
 arch/arm/mach-dove/addr-map.c |2 +-
 arch/arm/mach-exynos/mach-exynos4-dt.c|2 +-
 arch/arm/mach-exynos/mach-exynos5-dt.c|2 +-
 arch/arm/mach-imx/imx27-dt.c  |2 +-
 arch/arm/mach-imx/imx51-dt.c  |2 +-
 arch/arm/mach-imx/imx53-dt.c  |2 +-
 arch/arm/mach-imx/mach-imx6q.c|2 +-
 arch/arm/mach-kirkwood/addr-map.c |2 +-
 arch/arm/mach-mmp/mmp-dt.c|2 +-
 arch/arm/mach-msm/board-msm8x60.c |2 +-
 arch/arm/mach-msm/board-qsd8x50.c |4 +-
 arch/arm/mach-omap2/board-generic.c   |8 ++--
 arch/arm/mach-omap2/display.c |6 ++--
 arch/arm/mach-omap2/voltagedomains3xxx_data.c |2 +-
 arch/arm/mach-omap2/voltagedomains44xx_data.c |2 +-
 arch/arm/mach-orion5x/addr-map.c  |2 +-
 arch/arm/mach-prima2/prima2.c |2 +-
 22 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/arch/arm/mach-at91/board-dt.c b/arch/arm/mach-at91/board-dt.c
index c18d4d3..1c48ea2 100644
--- a/arch/arm/mach-at91/board-dt.c
+++ b/arch/arm/mach-at91/board-dt.c
@@ -48,7 +48,7 @@ static void __init at91_dt_device_init(void)
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
-static const char *at91_dt_board_compat[] __initdata = {
+static const char *at91_dt_board_compat[] __initconst = {
atmel,at91sam9m10g45ek,
atmel,at91sam9x5ek,
calao,usb-a9g20,
diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
index a0f4d74..e4a255d 100644
--- a/arch/arm/mach-at91/clock.c
+++ b/arch/arm/mach-at91/clock.c
@@ -613,7 +613,7 @@ fail:
return 0;
 }
 
-static struct clk *const standard_pmc_clocks[] __initdata = {
+static struct clk *const standard_pmc_clocks[] __initconst = {
/* four primary clocks */
clk32k,
main_clk,
diff --git a/arch/arm/mach-davinci/board-tnetv107x-evm.c 
b/arch/arm/mach-davinci/board-tnetv107x-evm.c
index 5f14e30..645a587 100644
--- a/arch/arm/mach-davinci/board-tnetv107x-evm.c
+++ b/arch/arm/mach-davinci/board-tnetv107x-evm.c
@@ -88,7 +88,7 @@ static struct davinci_mmc_config mmc_config = {
.version= MMC_CTLR_VERSION_1,
 };
 
-static const short sdio1_pins[] __initdata = {
+static const short sdio1_pins[] __initconst = {
TNETV107X_SDIO1_CLK_1,  TNETV107X_SDIO1_CMD_1,
TNETV107X_SDIO1_DATA0_1,TNETV107X_SDIO1_DATA1_1,
TNETV107X_SDIO1_DATA2_1,TNETV107X_SDIO1_DATA3_1,
@@ -96,12 +96,12 @@ static const short sdio1_pins[] __initdata = {
-1
 };
 
-static const short uart1_pins[] __initdata = {
+static const short uart1_pins[] __initconst = {
TNETV107X_UART1_RD, TNETV107X_UART1_TD,
-1
 };
 
-static const short ssp_pins[] __initdata = {
+static const short ssp_pins[] __initconst = {
TNETV107X_SSP0_0, TNETV107X_SSP0_1, TNETV107X_SSP0_2,
TNETV107X_SSP1_0, TNETV107X_SSP1_1, TNETV107X_SSP1_2,
TNETV107X_SSP1_3, -1
diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c
index deee5c2..510648e 100644
--- a/arch/arm/mach-davinci/da830.c
+++ b/arch/arm/mach-davinci/da830.c
@@ -838,7 +838,7 @@ static 

Re: [PATCH 03/17] ARM: mark const init data with __initconst instead of __initdata

2012-03-29 Thread David Brown
On Thu, Mar 29, 2012 at 11:12:20PM +0200, Uwe Kleine-König wrote:

  arch/arm/mach-msm/board-msm8x60.c |2 +-
  arch/arm/mach-msm/board-qsd8x50.c |4 +-

Acked-by: David Brown dav...@codeaurora.org

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html