|
@@ -253,6 +253,17 @@ static int preferred_console = -1;
|
|
|
int console_set_on_cmdline;
|
|
|
EXPORT_SYMBOL(console_set_on_cmdline);
|
|
|
|
|
|
+#ifdef CONFIG_OF
|
|
|
+static bool of_specified_console;
|
|
|
+
|
|
|
+void console_set_by_of(void)
|
|
|
+{
|
|
|
+ of_specified_console = true;
|
|
|
+}
|
|
|
+#else
|
|
|
+# define of_specified_console false
|
|
|
+#endif
|
|
|
+
|
|
|
/* Flag: console code may call schedule() */
|
|
|
static int console_may_schedule;
|
|
|
|
|
@@ -2647,7 +2658,7 @@ void register_console(struct console *newcon)
|
|
|
* didn't select a console we take the first one
|
|
|
* that registers here.
|
|
|
*/
|
|
|
- if (preferred_console < 0) {
|
|
|
+ if (preferred_console < 0 && !of_specified_console) {
|
|
|
if (newcon->index < 0)
|
|
|
newcon->index = 0;
|
|
|
if (newcon->setup == NULL ||
|