diff --git a/arch/mips/sgi-ip32/ip32-platform.c b/arch/mips/sgi-ip32/ip32-platform.c index ba3697e..6ad2ecc 100644 --- a/arch/mips/sgi-ip32/ip32-platform.c +++ b/arch/mips/sgi-ip32/ip32-platform.c @@ -10,25 +10,29 @@ #include #include +#include #include #include -/* - * .iobase isn't a constant (in the sense of C) so we fill it in at runtime. - */ -#define MACE_PORT(int) \ -{ \ - .irq = int, \ - .uartclk = 1843200, \ - .iotype = UPIO_MEM, \ - .flags = UPF_SKIP_TEST, \ - .regshift = 8, \ -} static struct plat_serial8250_port uart8250_data[] = { - MACE_PORT(MACEISA_SERIAL1_IRQ), - MACE_PORT(MACEISA_SERIAL2_IRQ), - { }, + [0] = { + .irq = MACEISA_SERIAL1_IRQ, + .uartclk = 1843200, + .iotype = UPIO_MEM, + .flags = UPF_SKIP_TEST, + .regshift = 8, + }, + [1] = { + .irq = MACEISA_SERIAL2_IRQ, + .uartclk = 1843200, + .iotype = UPIO_MEM, + .flags = UPF_SKIP_TEST, + .regshift = 8, + }, + { + 0, + }, }; static struct platform_device uart8250_device = { @@ -41,8 +45,8 @@ static struct platform_device uart8250_device = { static int __init uart8250_init(void) { - uart8250_data[0].iobase = (unsigned long) &mace->isa.serial1; - uart8250_data[1].iobase = (unsigned long) &mace->isa.serial1; + uart8250_data[0].membase = (char *) &mace->isa.serial1; + uart8250_data[1].membase = (char *) &mace->isa.serial2; return platform_device_register(&uart8250_device); }