}
void __init prom_free_prom_memory(void)
---- a/arch/mips/bcm47xx/setup.c
-+++ b/arch/mips/bcm47xx/setup.c
-@@ -123,6 +123,28 @@ static int bcm47xx_get_invariants(struct
- return 0;
- }
-
-+/*
-+ * This is the second serial on the chip common core, it is at this position
-+ * for sb (ssb) and ai (bcma) bus.
-+ */
-+#define BCM47XX_SERIAL1_ADDR (SSB_ENUM_BASE + SSB_CHIPCO_UART1_DATA)
-+
-+static void __init bcm47xx_swap_serial_ssb(struct ssb_mipscore *mcore)
-+{
-+ struct ssb_serial_port port;
-+
-+ printk(KERN_INFO "Swapping serial ports\n");
-+
-+ setup_8250_early_printk_port(CKSEG1ADDR(BCM47XX_SERIAL1_ADDR), 0, 0);
-+
-+ /* 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_INFO "Serial port were Swapped\n");
-+}
-+
- static void __init bcm47xx_register_ssb(void)
- {
- int err;
-@@ -142,14 +164,7 @@ static void __init bcm47xx_register_ssb(
- mcore = &bcm47xx_bus.ssb.mipscore;
- if (bcm47xx_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));
-+ bcm47xx_swap_serial_ssb(mcore);
- }
- }
- }
#include <bcm47xx.h>
#include <bcm47xx_nvram.h>
#include <bcm47xx_board.h>
-@@ -214,6 +215,15 @@ static void __init bcm47xx_register_bcma
+@@ -199,6 +200,15 @@ static void __init bcm47xx_register_bcma
panic("Failed to initialize BCMA bus (err %d)", err);
bcm47xx_fill_bcma_boardinfo(&bcm47xx_bus.bcma.bus.boardinfo, NULL);
#include <asm/bootinfo.h>
#include <asm/prom.h>
#include <asm/reboot.h>
-@@ -254,6 +255,33 @@ void __init plat_mem_setup(void)
+@@ -239,6 +240,33 @@ void __init plat_mem_setup(void)
mips_set_machine_name(bcm47xx_board_get_name());
}
static int __init bcm47xx_register_bus_complete(void)
{
switch (bcm47xx_bus_type) {
-@@ -268,6 +296,8 @@ static int __init bcm47xx_register_bus_c
+@@ -253,6 +281,8 @@ static int __init bcm47xx_register_bus_c
break;
#endif
}