projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
83d9f65
)
x86, setup: Fix earlyprintk=serial,0x3f8,115200
author
Yinghai Lu
<yinghai@kernel.org>
Mon, 30 Aug 2010 01:13:10 +0000
(18:13 -0700)
committer
H. Peter Anvin
<hpa@linux.intel.com>
Tue, 21 Sep 2010 17:18:33 +0000
(10:18 -0700)
earlyprintk can take and I/O port, so we need to handle this case in
the setup code too, otherwise 0x3f8 will be treated as a baud rate.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <
4C7B05A6
.
4010801
@kernel.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/boot/early_serial_console.c
patch
|
blob
|
history
diff --git
a/arch/x86/boot/early_serial_console.c
b/arch/x86/boot/early_serial_console.c
index 407a8e26f0a7f2bae0748e5995b65816f9e5a45f..5df2869c874baced33de00a78a7b693f3237ea0f 100644
(file)
--- a/
arch/x86/boot/early_serial_console.c
+++ b/
arch/x86/boot/early_serial_console.c
@@
-58,7
+58,19
@@
static void parse_earlyprintk(void)
if (arg[pos] == ',')
pos++;
- if (!strncmp(arg + pos, "ttyS", 4)) {
+ /*
+ * make sure we have
+ * "serial,0x3f8,115200"
+ * "serial,ttyS0,115200"
+ * "ttyS0,115200"
+ */
+ if (pos == 7 && !strncmp(arg + pos, "0x", 2)) {
+ port = simple_strtoull(arg + pos, &e, 16);
+ if (port == 0 || arg + pos == e)
+ port = DEFAULT_SERIAL_PORT;
+ else
+ pos = e - arg;
+ } else if (!strncmp(arg + pos, "ttyS", 4)) {
static const int bases[] = { 0x3f8, 0x2f8 };
int idx = 0;