Re: [PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Tony Lindgren
* Rajendra Nayak rna...@ti.com [130711 03:59]:
 This reverts commit 82702ea11ddfe0e43382e1fa5b66d807d8114916.
 
 The above commit stubbed out omap_serial_early_init() in case of
 DT build thinking it was doing the serial port initializations.

Well not really. It was done to cut dependency between device
tree initialized drivers and pdata initialized drivers.
 
 omap_serial_early_init() however does not do the serial port
 inits (its instead done by omap_serial_init_port()) instead
 it sets the HWMOD_INIT_NO_IDLE and HWMOD_INIT_NO_RESET flags
 for the console uart which causes hwmod to avoid doing a reset
 followed by the idling of the console uart.
 
 This is still needed even in the DT case.

This fix is going the wrong way.

The console is working fine with DT based booting for me,
except for the earlyprintk fix needed.

And there should not be any need to parse cmdline for console
as omap-serial.c sets it up and already knows about it.

Care to state what exactly this attempts to fix and for which
omaps? If this is only needed for am33xx, then why?

Regards,

Tony
 
 Signed-off-by: Rajendra Nayak rna...@ti.com
 Reported-by: Mark Jackson mpfj-l...@newflow.co.uk
 Reported-by: Vaibhav Bedia vaibhav.be...@ti.com
 ---
  arch/arm/mach-omap2/serial.c |3 ---
  1 file changed, 3 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
 index 3a674de..58d5b56 100644
 --- a/arch/arm/mach-omap2/serial.c
 +++ b/arch/arm/mach-omap2/serial.c
 @@ -175,9 +175,6 @@ static char *cmdline_find_option(char *str)
  
  static int __init omap_serial_early_init(void)
  {
 - if (of_have_populated_dt())
 - return -ENODEV;
 -
   do {
   char oh_name[MAX_UART_HWMOD_NAME_LEN];
   struct omap_hwmod *oh;
 -- 
 1.7.9.5
 
--
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/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Rajendra Nayak
On Friday 12 July 2013 12:50 PM, Tony Lindgren wrote:
 * Rajendra Nayak rna...@ti.com [130711 03:59]:
 This reverts commit 82702ea11ddfe0e43382e1fa5b66d807d8114916.

 The above commit stubbed out omap_serial_early_init() in case of
 DT build thinking it was doing the serial port initializations.
 
 Well not really. It was done to cut dependency between device
 tree initialized drivers and pdata initialized drivers.
  
 omap_serial_early_init() however does not do the serial port
 inits (its instead done by omap_serial_init_port()) instead
 it sets the HWMOD_INIT_NO_IDLE and HWMOD_INIT_NO_RESET flags
 for the console uart which causes hwmod to avoid doing a reset
 followed by the idling of the console uart.

 This is still needed even in the DT case.
 
 This fix is going the wrong way.
 
 The console is working fine with DT based booting for me,
 except for the earlyprintk fix needed.

It works on omap4 and omap5. It won't work on any
am33xx devices.

 
 And there should not be any need to parse cmdline for console
 as omap-serial.c sets it up and already knows about it.
 
 Care to state what exactly this attempts to fix and for which
 omaps? If this is only needed for am33xx, then why?

Yes, this is needed only for am33xx because am33xx hwmod rightly
had the hwmod flags for NO_IDLE and NO_RESET removed and omap4
and omap5 wrongly still carry them around.

Just try applying PATCH 2/2 of this series and it won't work on the
omap4 sdp anymore.

regards,
Rajendra

 
 Regards,
 
 Tony
  
 Signed-off-by: Rajendra Nayak rna...@ti.com
 Reported-by: Mark Jackson mpfj-l...@newflow.co.uk
 Reported-by: Vaibhav Bedia vaibhav.be...@ti.com
 ---
  arch/arm/mach-omap2/serial.c |3 ---
  1 file changed, 3 deletions(-)

 diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
 index 3a674de..58d5b56 100644
 --- a/arch/arm/mach-omap2/serial.c
 +++ b/arch/arm/mach-omap2/serial.c
 @@ -175,9 +175,6 @@ static char *cmdline_find_option(char *str)
  
  static int __init omap_serial_early_init(void)
  {
 -if (of_have_populated_dt())
 -return -ENODEV;
 -
  do {
  char oh_name[MAX_UART_HWMOD_NAME_LEN];
  struct omap_hwmod *oh;
 -- 
 1.7.9.5


--
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/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Tony Lindgren
* Rajendra Nayak rna...@ti.com [130712 00:38]:
 On Friday 12 July 2013 12:50 PM, Tony Lindgren wrote:
  * Rajendra Nayak rna...@ti.com [130711 03:59]:
  This reverts commit 82702ea11ddfe0e43382e1fa5b66d807d8114916.
 
  The above commit stubbed out omap_serial_early_init() in case of
  DT build thinking it was doing the serial port initializations.
  
  Well not really. It was done to cut dependency between device
  tree initialized drivers and pdata initialized drivers.
   
  omap_serial_early_init() however does not do the serial port
  inits (its instead done by omap_serial_init_port()) instead
  it sets the HWMOD_INIT_NO_IDLE and HWMOD_INIT_NO_RESET flags
  for the console uart which causes hwmod to avoid doing a reset
  followed by the idling of the console uart.
 
  This is still needed even in the DT case.
  
  This fix is going the wrong way.
  
  The console is working fine with DT based booting for me,
  except for the earlyprintk fix needed.
 
 It works on omap4 and omap5. It won't work on any
 am33xx devices.

OK. I assume the regular serial onsole works just fine, what does
not work is the earlyprintk for am33xx?

  And there should not be any need to parse cmdline for console
  as omap-serial.c sets it up and already knows about it.
  
  Care to state what exactly this attempts to fix and for which
  omaps? If this is only needed for am33xx, then why?
 
 Yes, this is needed only for am33xx because am33xx hwmod rightly
 had the hwmod flags for NO_IDLE and NO_RESET removed and omap4
 and omap5 wrongly still carry them around.

OK.
 
 Just try applying PATCH 2/2 of this series and it won't work on the
 omap4 sdp anymore.

OK, so that's only for earlyprintk then?

If so, it seems the right fix is to set the NO_IDLE and NO_RESET
flags based on ifdef CONFIG_DEBUG_OMAP4UART3 etc as that is selected
in the Kconfig now.

The current code in mach-omap2/serial.c is wrong, and is a hack
needed for the pdata based booting. What's broken is that
omap_serial_early_init() parses the cmdline for console, which
itself is pretty nasty, and it won't work the right way as
there's nothing stopping from having the earlycon in a different
UART from the serial console. So we just want to get rid of the
whole mach-omap2/serial.c once we're all DT.

So to summarize, we have two bugs:

1. Omap hwmod code can reset UART while earlycon may be using
   it. The fix to this is to use NO_IDLE and NO_RESET flags in
   the hwmod code if CONFIG_DEBUG_OMAPxUARTy is specified.

2. A bug in drivers/tty/serial/omap-serial.c where the
   missing context loss count can cause NULL context to be
   initialized during driver probe causing port to hang for
   earlycon. The fix for that is what Felipe has suggested or
   fix it in the driver by removing the context loss count usage
   and detect the need for context restore based on the UART
   state.

Or am I still missing something?

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: [PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Rajendra Nayak
On Friday 12 July 2013 01:33 PM, Tony Lindgren wrote:
 * Rajendra Nayak rna...@ti.com [130712 00:38]:
 On Friday 12 July 2013 12:50 PM, Tony Lindgren wrote:
 * Rajendra Nayak rna...@ti.com [130711 03:59]:
 This reverts commit 82702ea11ddfe0e43382e1fa5b66d807d8114916.

 The above commit stubbed out omap_serial_early_init() in case of
 DT build thinking it was doing the serial port initializations.

 Well not really. It was done to cut dependency between device
 tree initialized drivers and pdata initialized drivers.
  
 omap_serial_early_init() however does not do the serial port
 inits (its instead done by omap_serial_init_port()) instead
 it sets the HWMOD_INIT_NO_IDLE and HWMOD_INIT_NO_RESET flags
 for the console uart which causes hwmod to avoid doing a reset
 followed by the idling of the console uart.

 This is still needed even in the DT case.

 This fix is going the wrong way.

 The console is working fine with DT based booting for me,
 except for the earlyprintk fix needed.

 It works on omap4 and omap5. It won't work on any
 am33xx devices.
 
 OK. I assume the regular serial onsole works just fine, what does
 not work is the earlyprintk for am33xx?

Yes, thats right.

 
 And there should not be any need to parse cmdline for console
 as omap-serial.c sets it up and already knows about it.

 Care to state what exactly this attempts to fix and for which
 omaps? If this is only needed for am33xx, then why?

 Yes, this is needed only for am33xx because am33xx hwmod rightly
 had the hwmod flags for NO_IDLE and NO_RESET removed and omap4
 and omap5 wrongly still carry them around.
 
 OK.
  
 Just try applying PATCH 2/2 of this series and it won't work on the
 omap4 sdp anymore.
 
 OK, so that's only for earlyprintk then?

yes,

 
 If so, it seems the right fix is to set the NO_IDLE and NO_RESET
 flags based on ifdef CONFIG_DEBUG_OMAP4UART3 etc as that is selected
 in the Kconfig now.

ok makes sense. It seems like the static data in hwmod can be populated
based on these defines? something like

/* uart3 */
static struct omap_hwmod omap44xx_uart3_hwmod = {
.name   = uart3,
.class  = omap44xx_uart_hwmod_class,
.clkdm_name = l4_per_clkdm,
#ifdef CONFIG_DEBUG_OMAP4UART3
.flags  = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET |
HWMOD_SWSUP_SIDLE_ACT,
#else
.flags  = HWMOD_SWSUP_SIDLE_ACT,
#endif
.main_clk   = func_48m_fclk,
.prcm = {
.omap4 = {
.clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
.context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
.modulemode   = MODULEMODE_SWCTRL,
},
},
};

And same way for others? That way the cmdline parsing can be done away
with even for the non-DT case.

 
 The current code in mach-omap2/serial.c is wrong, and is a hack
 needed for the pdata based booting. What's broken is that
 omap_serial_early_init() parses the cmdline for console, which
 itself is pretty nasty, and it won't work the right way as
 there's nothing stopping from having the earlycon in a different
 UART from the serial console. So we just want to get rid of the
 whole mach-omap2/serial.c once we're all DT.
 
 So to summarize, we have two bugs:
 
 1. Omap hwmod code can reset UART while earlycon may be using
it. The fix to this is to use NO_IDLE and NO_RESET flags in
the hwmod code if CONFIG_DEBUG_OMAPxUARTy is specified.
 
 2. A bug in drivers/tty/serial/omap-serial.c where the
missing context loss count can cause NULL context to be
initialized during driver probe causing port to hang for
earlycon. The fix for that is what Felipe has suggested or
fix it in the driver by removing the context loss count usage
and detect the need for context restore based on the UART
state.
 
 Or am I still missing something?

No, thats pretty much the 2 issues we have.

regards,
Rajendra
 
 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: [PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Tony Lindgren
* Rajendra Nayak rna...@ti.com [130712 02:06]:
 On Friday 12 July 2013 01:33 PM, Tony Lindgren wrote:
  
  OK, so that's only for earlyprintk then?
 
 yes,
 
  
  If so, it seems the right fix is to set the NO_IDLE and NO_RESET
  flags based on ifdef CONFIG_DEBUG_OMAP4UART3 etc as that is selected
  in the Kconfig now.
 
 ok makes sense. It seems like the static data in hwmod can be populated
 based on these defines? something like
 
 /* uart3 */
 static struct omap_hwmod omap44xx_uart3_hwmod = {
 .name   = uart3,
 .class  = omap44xx_uart_hwmod_class,
 .clkdm_name = l4_per_clkdm,
 #ifdef CONFIG_DEBUG_OMAP4UART3
 .flags  = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET |
 HWMOD_SWSUP_SIDLE_ACT,
 #else
 .flags  = HWMOD_SWSUP_SIDLE_ACT,
 #endif
 .main_clk   = func_48m_fclk,
 .prcm = {
 .omap4 = {
 .clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
 .context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
 .modulemode   = MODULEMODE_SWCTRL,
 },
 },
 };
 
 And same way for others? That way the cmdline parsing can be done away
 with even for the non-DT case.

Yes we can do it that way. How about add a common macro for it if
it's always the same? Then the .flags line would be just:

#define HWMOD_OMAP_UART_FLAGS(soc, port)
...

.flags  = HWMOD_OMAP_UART_FLAGS(4, 3),

  The current code in mach-omap2/serial.c is wrong, and is a hack
  needed for the pdata based booting. What's broken is that
  omap_serial_early_init() parses the cmdline for console, which
  itself is pretty nasty, and it won't work the right way as
  there's nothing stopping from having the earlycon in a different
  UART from the serial console. So we just want to get rid of the
  whole mach-omap2/serial.c once we're all DT.
  
  So to summarize, we have two bugs:
  
  1. Omap hwmod code can reset UART while earlycon may be using
 it. The fix to this is to use NO_IDLE and NO_RESET flags in
 the hwmod code if CONFIG_DEBUG_OMAPxUARTy is specified.
  
  2. A bug in drivers/tty/serial/omap-serial.c where the
 missing context loss count can cause NULL context to be
 initialized during driver probe causing port to hang for
 earlycon. The fix for that is what Felipe has suggested or
 fix it in the driver by removing the context loss count usage
 and detect the need for context restore based on the UART
 state.
  
  Or am I still missing something?
 
 No, thats pretty much the 2 issues we have.

OK thanks good to hear it's limited to earlycon issues.

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: [PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Rajendra Nayak
On Friday 12 July 2013 02:48 PM, Tony Lindgren wrote:
 * Rajendra Nayak rna...@ti.com [130712 02:06]:
 On Friday 12 July 2013 01:33 PM, Tony Lindgren wrote:

 OK, so that's only for earlyprintk then?

 yes,


 If so, it seems the right fix is to set the NO_IDLE and NO_RESET
 flags based on ifdef CONFIG_DEBUG_OMAP4UART3 etc as that is selected
 in the Kconfig now.

 ok makes sense. It seems like the static data in hwmod can be populated
 based on these defines? something like

 /* uart3 */
 static struct omap_hwmod omap44xx_uart3_hwmod = {
 .name   = uart3,
 .class  = omap44xx_uart_hwmod_class,
 .clkdm_name = l4_per_clkdm,
 #ifdef CONFIG_DEBUG_OMAP4UART3
 .flags  = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET |
 HWMOD_SWSUP_SIDLE_ACT,
 #else
 .flags  = HWMOD_SWSUP_SIDLE_ACT,
 #endif
 .main_clk   = func_48m_fclk,
 .prcm = {
 .omap4 = {
 .clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
 .context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
 .modulemode   = MODULEMODE_SWCTRL,
 },
 },
 };

 And same way for others? That way the cmdline parsing can be done away
 with even for the non-DT case.
 
 Yes we can do it that way. How about add a common macro for it if
 it's always the same? Then the .flags line would be just:
 
 #define HWMOD_OMAP_UART_FLAGS(soc, port)
 ...
 
   .flags  = HWMOD_OMAP_UART_FLAGS(4, 3),

Right, that seems much cleaner. I will send a patch out for it and get rid
of all the cmdline parsing in serial.c

regards
Rajendra
 
 The current code in mach-omap2/serial.c is wrong, and is a hack
 needed for the pdata based booting. What's broken is that
 omap_serial_early_init() parses the cmdline for console, which
 itself is pretty nasty, and it won't work the right way as
 there's nothing stopping from having the earlycon in a different
 UART from the serial console. So we just want to get rid of the
 whole mach-omap2/serial.c once we're all DT.

 So to summarize, we have two bugs:

 1. Omap hwmod code can reset UART while earlycon may be using
it. The fix to this is to use NO_IDLE and NO_RESET flags in
the hwmod code if CONFIG_DEBUG_OMAPxUARTy is specified.

 2. A bug in drivers/tty/serial/omap-serial.c where the
missing context loss count can cause NULL context to be
initialized during driver probe causing port to hang for
earlycon. The fix for that is what Felipe has suggested or
fix it in the driver by removing the context loss count usage
and detect the need for context restore based on the UART
state.

 Or am I still missing something?

 No, thats pretty much the 2 issues we have.
 
 OK thanks good to hear it's limited to earlycon issues.
 
 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: [PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Tony Lindgren
* Rajendra Nayak rna...@ti.com [130712 02:29]:

 Right, that seems much cleaner. I will send a patch out for it and get rid
 of all the cmdline parsing in serial.c

Oh that's right, then it should not be needed for legacy pdata based
booting either :)

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: [PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Rajendra Nayak
On Friday 12 July 2013 02:48 PM, Tony Lindgren wrote:
 * Rajendra Nayak rna...@ti.com [130712 02:06]:
 On Friday 12 July 2013 01:33 PM, Tony Lindgren wrote:

 OK, so that's only for earlyprintk then?

 yes,


 If so, it seems the right fix is to set the NO_IDLE and NO_RESET
 flags based on ifdef CONFIG_DEBUG_OMAP4UART3 etc as that is selected
 in the Kconfig now.

 ok makes sense. It seems like the static data in hwmod can be populated
 based on these defines? something like

 /* uart3 */
 static struct omap_hwmod omap44xx_uart3_hwmod = {
 .name   = uart3,
 .class  = omap44xx_uart_hwmod_class,
 .clkdm_name = l4_per_clkdm,
 #ifdef CONFIG_DEBUG_OMAP4UART3
 .flags  = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET |
 HWMOD_SWSUP_SIDLE_ACT,
 #else
 .flags  = HWMOD_SWSUP_SIDLE_ACT,
 #endif
 .main_clk   = func_48m_fclk,
 .prcm = {
 .omap4 = {
 .clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
 .context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
 .modulemode   = MODULEMODE_SWCTRL,
 },
 },
 };

 And same way for others? That way the cmdline parsing can be done away
 with even for the non-DT case.
 
 Yes we can do it that way. How about add a common macro for it if
 it's always the same? Then the .flags line would be just:
 
 #define HWMOD_OMAP_UART_FLAGS(soc, port)
 ...
 
   .flags  = HWMOD_OMAP_UART_FLAGS(4, 3),

I started doing this and ended up with equal number of #ifdefs in the
header :( Was the intention of doing this to reduce the #ifdefs? in which
case maybe I am doing something wrong.

 
 The current code in mach-omap2/serial.c is wrong, and is a hack
 needed for the pdata based booting. What's broken is that
 omap_serial_early_init() parses the cmdline for console, which
 itself is pretty nasty, and it won't work the right way as
 there's nothing stopping from having the earlycon in a different
 UART from the serial console. So we just want to get rid of the
 whole mach-omap2/serial.c once we're all DT.

 So to summarize, we have two bugs:

 1. Omap hwmod code can reset UART while earlycon may be using
it. The fix to this is to use NO_IDLE and NO_RESET flags in
the hwmod code if CONFIG_DEBUG_OMAPxUARTy is specified.

 2. A bug in drivers/tty/serial/omap-serial.c where the
missing context loss count can cause NULL context to be
initialized during driver probe causing port to hang for
earlycon. The fix for that is what Felipe has suggested or
fix it in the driver by removing the context loss count usage
and detect the need for context restore based on the UART
state.

 Or am I still missing something?

 No, thats pretty much the 2 issues we have.
 
 OK thanks good to hear it's limited to earlycon issues.
 
 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: [PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-12 Thread Tony Lindgren
* Rajendra Nayak rna...@ti.com [130712 05:18]:
 On Friday 12 July 2013 02:48 PM, Tony Lindgren wrote:
  * Rajendra Nayak rna...@ti.com [130712 02:06]:
  On Friday 12 July 2013 01:33 PM, Tony Lindgren wrote:
 
  OK, so that's only for earlyprintk then?
 
  yes,
 
 
  If so, it seems the right fix is to set the NO_IDLE and NO_RESET
  flags based on ifdef CONFIG_DEBUG_OMAP4UART3 etc as that is selected
  in the Kconfig now.
 
  ok makes sense. It seems like the static data in hwmod can be populated
  based on these defines? something like
 
  /* uart3 */
  static struct omap_hwmod omap44xx_uart3_hwmod = {
  .name   = uart3,
  .class  = omap44xx_uart_hwmod_class,
  .clkdm_name = l4_per_clkdm,
  #ifdef CONFIG_DEBUG_OMAP4UART3
  .flags  = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET |
  HWMOD_SWSUP_SIDLE_ACT,
  #else
  .flags  = HWMOD_SWSUP_SIDLE_ACT,
  #endif
  .main_clk   = func_48m_fclk,
  .prcm = {
  .omap4 = {
  .clkctrl_offs = 
  OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
  .context_offs = 
  OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
  .modulemode   = MODULEMODE_SWCTRL,
  },
  },
  };
 
  And same way for others? That way the cmdline parsing can be done away
  with even for the non-DT case.
  
  Yes we can do it that way. How about add a common macro for it if
  it's always the same? Then the .flags line would be just:
  
  #define HWMOD_OMAP_UART_FLAGS(soc, port)
  ...
  
  .flags  = HWMOD_OMAP_UART_FLAGS(4, 3),
 
 I started doing this and ended up with equal number of #ifdefs in the
 header :( Was the intention of doing this to reduce the #ifdefs? in which
 case maybe I am doing something wrong.

Hmm can't you use ## for substition in the macro to reduce the ifdefs
and have just one macro instead one for every debug port?

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


[PATCH 1/2] Revert ARM: OMAP2+: Fix serial init for device tree based booting

2013-07-11 Thread Rajendra Nayak
This reverts commit 82702ea11ddfe0e43382e1fa5b66d807d8114916.

The above commit stubbed out omap_serial_early_init() in case of
DT build thinking it was doing the serial port initializations.

omap_serial_early_init() however does not do the serial port
inits (its instead done by omap_serial_init_port()) instead
it sets the HWMOD_INIT_NO_IDLE and HWMOD_INIT_NO_RESET flags
for the console uart which causes hwmod to avoid doing a reset
followed by the idling of the console uart.

This is still needed even in the DT case.

Signed-off-by: Rajendra Nayak rna...@ti.com
Reported-by: Mark Jackson mpfj-l...@newflow.co.uk
Reported-by: Vaibhav Bedia vaibhav.be...@ti.com
---
 arch/arm/mach-omap2/serial.c |3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 3a674de..58d5b56 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -175,9 +175,6 @@ static char *cmdline_find_option(char *str)
 
 static int __init omap_serial_early_init(void)
 {
-   if (of_have_populated_dt())
-   return -ENODEV;
-
do {
char oh_name[MAX_UART_HWMOD_NAME_LEN];
struct omap_hwmod *oh;
-- 
1.7.9.5

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