mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-14 22:44:59 +02:00
46 lines
1.5 KiB
Diff
46 lines
1.5 KiB
Diff
|
From 25abc0cde3f4865910b380d68ffda0916b5870e7 Mon Sep 17 00:00:00 2001
|
||
|
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||
|
Date: Sat, 27 Nov 2010 12:25:21 +0100
|
||
|
Subject: [PATCH 4/6] MIPS: BCM47xx: Swap serial console if ttyS1 was specified.
|
||
|
|
||
|
Some devices like the Netgear WGT634U are using ttyS1 for default
|
||
|
console output. We should switch to that console if it was given in
|
||
|
the kernel_args parameters.
|
||
|
|
||
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||
|
---
|
||
|
arch/mips/bcm47xx/setup.c | 16 ++++++++++++++++
|
||
|
1 files changed, 16 insertions(+), 0 deletions(-)
|
||
|
|
||
|
--- a/arch/mips/bcm47xx/setup.c
|
||
|
+++ b/arch/mips/bcm47xx/setup.c
|
||
|
@@ -169,12 +169,28 @@ static int bcm47xx_get_invariants(struct
|
||
|
void __init plat_mem_setup(void)
|
||
|
{
|
||
|
int err;
|
||
|
+ char buf[100];
|
||
|
+ struct ssb_mipscore *mcore;
|
||
|
|
||
|
err = ssb_bus_ssbbus_register(&ssb_bcm47xx, SSB_ENUM_BASE,
|
||
|
bcm47xx_get_invariants);
|
||
|
if (err)
|
||
|
panic("Failed to initialize SSB bus (err %d)\n", err);
|
||
|
|
||
|
+ mcore = &ssb_bcm47xx.mipscore;
|
||
|
+ if (nvram_getenv("kernel_args", buf, sizeof(buf)) >= 0) {
|
||
|
+ if (strstr(buf, "console=ttyS1")) {
|
||
|
+ struct ssb_serial_port port;
|
||
|
+
|
||
|
+ printk(KERN_DEBUG "Swapping serial ports!\n");
|
||
|
+ /* swap serial ports */
|
||
|
+ memcpy(&port, &mcore->serial_ports[0], sizeof(port));
|
||
|
+ memcpy(&mcore->serial_ports[0], &mcore->serial_ports[1],
|
||
|
+ sizeof(port));
|
||
|
+ memcpy(&mcore->serial_ports[1], &port, sizeof(port));
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
_machine_restart = bcm47xx_machine_restart;
|
||
|
_machine_halt = bcm47xx_machine_halt;
|
||
|
pm_power_off = bcm47xx_machine_halt;
|