aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/serial.c
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-15 14:11:45 -0400
committerSage Weil <sage@inktank.com>2013-08-15 14:11:45 -0400
commitee3e542fec6e69bc9fb668698889a37d93950ddf (patch)
treee74ee766a4764769ef1d3d45d266b4dea64101d3 /arch/arm/mach-omap2/serial.c
parentfe2a801b50c0bb8039d627e5ae1fec249d10ff39 (diff)
parentf1d6e17f540af37bb1891480143669ba7636c4cf (diff)
Merge remote-tracking branch 'linus/master' into testing
Diffstat (limited to 'arch/arm/mach-omap2/serial.c')
-rw-r--r--arch/arm/mach-omap2/serial.c21
1 files changed, 3 insertions, 18 deletions
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index f6601563aa69..a388f8c1bcb3 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -63,7 +63,6 @@ struct omap_uart_state {
63static LIST_HEAD(uart_list); 63static LIST_HEAD(uart_list);
64static u8 num_uarts; 64static u8 num_uarts;
65static u8 console_uart_id = -1; 65static u8 console_uart_id = -1;
66static u8 no_console_suspend;
67static u8 uart_debug; 66static u8 uart_debug;
68 67
69#define DEFAULT_RXDMA_POLLRATE 1 /* RX DMA polling rate (us) */ 68#define DEFAULT_RXDMA_POLLRATE 1 /* RX DMA polling rate (us) */
@@ -176,6 +175,9 @@ static char *cmdline_find_option(char *str)
176 175
177static int __init omap_serial_early_init(void) 176static int __init omap_serial_early_init(void)
178{ 177{
178 if (of_have_populated_dt())
179 return -ENODEV;
180
179 do { 181 do {
180 char oh_name[MAX_UART_HWMOD_NAME_LEN]; 182 char oh_name[MAX_UART_HWMOD_NAME_LEN];
181 struct omap_hwmod *oh; 183 struct omap_hwmod *oh;
@@ -206,20 +208,6 @@ static int __init omap_serial_early_init(void)
206 pr_info("%s used as console in debug mode: uart%d clocks will not be gated", 208 pr_info("%s used as console in debug mode: uart%d clocks will not be gated",
207 uart_name, uart->num); 209 uart_name, uart->num);
208 } 210 }
209
210 if (cmdline_find_option("no_console_suspend"))
211 no_console_suspend = true;
212
213 /*
214 * omap-uart can be used for earlyprintk logs
215 * So if omap-uart is used as console then prevent
216 * uart reset and idle to get logs from omap-uart
217 * until uart console driver is available to take
218 * care for console messages.
219 * Idling or resetting omap-uart while printing logs
220 * early boot logs can stall the boot-up.
221 */
222 oh->flags |= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET;
223 } 211 }
224 } while (1); 212 } while (1);
225 213
@@ -292,9 +280,6 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,
292 return; 280 return;
293 } 281 }
294 282
295 if ((console_uart_id == bdata->id) && no_console_suspend)
296 omap_device_disable_idle_on_suspend(pdev);
297
298 oh->mux = omap_hwmod_mux_init(bdata->pads, bdata->pads_cnt); 283 oh->mux = omap_hwmod_mux_init(bdata->pads, bdata->pads_cnt);
299 284
300 if (console_uart_id == bdata->id) { 285 if (console_uart_id == bdata->id) {