diff options
author | Sage Weil <sage@inktank.com> | 2013-08-15 14:11:45 -0400 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-15 14:11:45 -0400 |
commit | ee3e542fec6e69bc9fb668698889a37d93950ddf (patch) | |
tree | e74ee766a4764769ef1d3d45d266b4dea64101d3 /arch/arm/mach-omap2/serial.c | |
parent | fe2a801b50c0bb8039d627e5ae1fec249d10ff39 (diff) | |
parent | f1d6e17f540af37bb1891480143669ba7636c4cf (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.c | 21 |
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 { | |||
63 | static LIST_HEAD(uart_list); | 63 | static LIST_HEAD(uart_list); |
64 | static u8 num_uarts; | 64 | static u8 num_uarts; |
65 | static u8 console_uart_id = -1; | 65 | static u8 console_uart_id = -1; |
66 | static u8 no_console_suspend; | ||
67 | static u8 uart_debug; | 66 | static 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 | ||
177 | static int __init omap_serial_early_init(void) | 176 | static 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) { |