X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=arch%2Fmips%2Flasat%2Fsetup.c;h=54827d0174bfe208cd2552482450bb60a975998f;hb=f26e51f67ae6a75ffc57b96cf5fe096f75e778cb;hp=0ffc43c600d9a39ef3d7a55cf8ac60244458884e;hpb=a4b47ab9464a8200528fad3101668abdd7379cf9;p=linux-2.6-omap-h63xx.git diff --git a/arch/mips/lasat/setup.c b/arch/mips/lasat/setup.c index 0ffc43c600d..54827d0174b 100644 --- a/arch/mips/lasat/setup.c +++ b/arch/mips/lasat/setup.c @@ -27,14 +27,11 @@ #include #include #include -#include -#include #include #include #include #include -#include #include #include @@ -49,7 +46,7 @@ #include "prom.h" -int lasat_command_line = 0; +int lasat_command_line; void lasatint_init(void); extern void lasat_reboot_setup(void); @@ -58,11 +55,16 @@ extern void edhac_init(void *, void *, void *); extern void addrflt_init(void); struct lasat_misc lasat_misc_info[N_MACHTYPES] = { - {(void *)KSEG1ADDR(0x1c840000), (void *)KSEG1ADDR(0x1c800000), 2}, - {(void *)KSEG1ADDR(0x11080000), (void *)KSEG1ADDR(0x11000000), 6} + { + .reset_reg = (void *)KSEG1ADDR(0x1c840000), + .flash_wp_reg = (void *)KSEG1ADDR(0x1c800000), 2 + }, { + .reset_reg = (void *)KSEG1ADDR(0x11080000), + .flash_wp_reg = (void *)KSEG1ADDR(0x11000000), 6 + } }; -struct lasat_misc *lasat_misc = NULL; +struct lasat_misc *lasat_misc; #ifdef CONFIG_DS1603 static struct ds_defs ds_defs[N_MACHTYPES] = { @@ -106,51 +108,25 @@ static int lasat_panic_prom_monitor(struct notifier_block *this, static struct notifier_block lasat_panic_block[] = { - { lasat_panic_display, NULL, INT_MAX }, - { lasat_panic_prom_monitor, NULL, INT_MIN } + { + .notifier_call = lasat_panic_display, + .priority = INT_MAX + }, { + .notifier_call = lasat_panic_prom_monitor, + .priority = INT_MIN + } }; -static void lasat_time_init(void) +void plat_time_init(void) { mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2; } void __init plat_timer_setup(struct irqaction *irq) { - write_c0_compare( read_c0_count() + mips_hpt_frequency / HZ); change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5); } -#define DYNAMIC_SERIAL_INIT -#ifdef DYNAMIC_SERIAL_INIT -void __init serial_init(void) -{ -#ifdef CONFIG_SERIAL_8250 - struct uart_port s; - - memset(&s, 0, sizeof(s)); - - s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST; - s.iotype = UPIO_MEM; - - if (mips_machtype == MACH_LASAT_100) { - s.uartclk = LASAT_BASE_BAUD_100 * 16; - s.irq = LASATINT_UART_100; - s.regshift = LASAT_UART_REGS_SHIFT_100; - s.membase = (char *)KSEG1ADDR(LASAT_UART_REGS_BASE_100); - } else { - s.uartclk = LASAT_BASE_BAUD_200 * 16; - s.irq = LASATINT_UART_200; - s.regshift = LASAT_UART_REGS_SHIFT_200; - s.membase = (char *)KSEG1ADDR(LASAT_UART_REGS_BASE_200); - } - - if (early_serial_setup(&s) != 0) - printk(KERN_ERR "Serial setup failed!\n"); -#endif -} -#endif - void __init plat_mem_setup(void) { int i; @@ -160,25 +136,19 @@ void __init plat_mem_setup(void) #endif /* Set up panic notifier */ - for (i = 0; i < sizeof(lasat_panic_block) / sizeof(struct notifier_block); i++) + for (i = 0; i < ARRAY_SIZE(lasat_panic_block); i++) atomic_notifier_chain_register(&panic_notifier_list, &lasat_panic_block[i]); lasat_reboot_setup(); - board_time_init = lasat_time_init; - #ifdef CONFIG_DS1603 ds1603 = &ds_defs[mips_machtype]; - rtc_mips_get_time = ds1603_read; - rtc_mips_set_time = ds1603_set; #endif #ifdef DYNAMIC_SERIAL_INIT serial_init(); #endif - /* Switch from prom exception handler to normal mode */ - change_c0_status(ST0_BEV,0); - prom_printf("Lasat specific initialization complete\n"); + pr_info("Lasat specific initialization complete\n"); }