X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/a7a1dcb8770ef34596f1c04b33b4fa6b72711955..030341e663f32bc3740a1edf5e2a01c198c979f2:/target/linux/brcm47xx/patches-2.6.34/014-MIPS-BCM47xx-Setup-and-register-serial-early.patch diff --git a/target/linux/brcm47xx/patches-2.6.34/014-MIPS-BCM47xx-Setup-and-register-serial-early.patch b/target/linux/brcm47xx/patches-2.6.34/014-MIPS-BCM47xx-Setup-and-register-serial-early.patch index 1aed45c3c..0d241e656 100644 --- a/target/linux/brcm47xx/patches-2.6.34/014-MIPS-BCM47xx-Setup-and-register-serial-early.patch +++ b/target/linux/brcm47xx/patches-2.6.34/014-MIPS-BCM47xx-Setup-and-register-serial-early.patch @@ -1,27 +1,18 @@ -From 09ebc2952d9d3df6b9c548d9943dc8bcffb87540 Mon Sep 17 00:00:00 2001 +From 9be402f069cc259ad5795b77567d66c4e7f6bef6 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 18 Jul 2010 14:59:24 +0200 -Subject: [PATCH 4/5] MIPS: BCM47xx: Setup and register serial early +Subject: [PATCH 4/6] MIPS: BCM47xx: Setup and register serial early Swap the first and second serial if console=ttyS1 was set. Set it up and register it for early serial support. +This patch has been in OpenWRT for a long time. + Signed-off-by: Hauke Mehrtens --- - arch/mips/Kconfig | 1 - - arch/mips/bcm47xx/setup.c | 36 +++++++++++++++++++++++++++++++++++- - 2 files changed, 35 insertions(+), 2 deletions(-) + arch/mips/bcm47xx/setup.c | 39 ++++++++++++++++++++++++++++++++++++++- + 1 files changed, 38 insertions(+), 1 deletions(-) ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -65,7 +65,6 @@ config BCM47XX - select SSB_B43_PCI_BRIDGE if PCI - select SSB_PCICORE_HOSTMODE if PCI - select GENERIC_GPIO -- select SYS_HAS_EARLY_PRINTK - select CFE - help - Support for BCM47XX based boards --- a/arch/mips/bcm47xx/setup.c +++ b/arch/mips/bcm47xx/setup.c @@ -28,6 +28,8 @@ @@ -33,7 +24,7 @@ Signed-off-by: Hauke Mehrtens #include #include #include -@@ -184,12 +186,44 @@ static int bcm47xx_get_invariants(struct +@@ -190,12 +192,47 @@ static int bcm47xx_get_invariants(struct void __init plat_mem_setup(void) { @@ -48,15 +39,18 @@ Signed-off-by: Hauke Mehrtens panic("Failed to initialize SSB bus (err %d)\n", err); + mcore = &ssb_bcm47xx.mipscore; + -+ nvram_getenv("kernel_args", buf, sizeof(buf)); -+ if (!strncmp(buf, "console=ttyS1", 13)) { -+ struct ssb_serial_port port; ++ if (nvram_getenv("kernel_args", buf, sizeof(buf)) >= 0 || ++ cfe_getenv("kernel_args", buf, sizeof(buf)) >= 0) { ++ if (strstr(buf, "console=ttyS1")) { ++ struct ssb_serial_port port; + -+ printk("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)); ++ 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)); ++ } + } + + for (i = 0; i < mcore->nr_serial_ports; i++) { @@ -75,7 +69,7 @@ Signed-off-by: Hauke Mehrtens + + early_serial_setup(&s); + } -+ printk("Serial init done.\n"); ++ printk(KERN_DEBUG "Serial init done.\n"); _machine_restart = bcm47xx_machine_restart; _machine_halt = bcm47xx_machine_halt;