diff -pNaur -X b/Documentation/dontdiff a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c --- a/arch/arm/mach-omap1/board-palmte.c 2006-07-16 04:48:45.000000000 +0200 +++ b/arch/arm/mach-omap1/board-palmte.c 2006-07-16 04:50:01.000000000 +0200 @@ -110,10 +110,15 @@ static struct omap_lcd_config palmte_lcd .ctrl_name = "internal", }; +static struct omap_uart_config palmte_uart_config __initdata = { + .enabled_uarts = (1 << 0) | (1 << 1) | (0 << 2), +}; + static struct omap_board_config_kernel palmte_config[] = { { OMAP_TAG_USB, &palmte_usb_config }, { OMAP_TAG_MMC, &palmte_mmc_config }, { OMAP_TAG_LCD, &palmte_lcd_config }, + { OMAP_TAG_UART, &palmte_uart_config }, }; static void __init palmte_gpio_setup(void) @@ -133,6 +138,7 @@ static void __init omap_palmte_init(void platform_add_devices(devices, ARRAY_SIZE(devices)); + omap_serial_init(); palmte_gpio_setup(); } diff -pNaur -X b/Documentation/dontdiff a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c --- a/arch/arm/mach-omap1/serial.c 2006-07-16 02:26:33.000000000 +0200 +++ b/arch/arm/mach-omap1/serial.c 2006-07-16 04:50:58.000000000 +0200 @@ -1,7 +1,7 @@ /* - * linux/arch/arm/mach-omap1/id.c + * linux/arch/arm/mach-omap1/serial.c * - * OMAP1 CPU identification code + * OMAP1 serial port driver * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -59,7 +59,7 @@ static void __init omap_serial_reset(str omap_serial_outp(p, UART_OMAP_SCR, 0x08); /* TX watermark */ omap_serial_outp(p, UART_OMAP_MDR1, 0x00); /* enable UART */ - if (!cpu_is_omap1510()) { + if (!cpu_is_omap15xx()) { omap_serial_outp(p, UART_OMAP_SYSC, 0x01); while (!(omap_serial_in(p, UART_OMAP_SYSC) & 0x01)); } @@ -121,7 +121,7 @@ void __init omap_serial_init(void) serial_platform_data[1].irq = INT_730_UART_MODEM_IRDA_2; } - if (cpu_is_omap1510()) { + if (cpu_is_omap15xx()) { serial_platform_data[0].uartclk = OMAP1510_BASE_BAUD * 16; serial_platform_data[1].uartclk = OMAP1510_BASE_BAUD * 16; serial_platform_data[2].uartclk = OMAP1510_BASE_BAUD * 16; @@ -147,10 +147,10 @@ void __init omap_serial_init(void) printk("Could not get uart1_ck\n"); else { clk_enable(uart1_ck); - if (cpu_is_omap1510()) + if (cpu_is_omap15xx()) clk_set_rate(uart1_ck, 12000000); } - if (cpu_is_omap1510()) { + if (cpu_is_omap15xx()) { omap_cfg_reg(UART1_TX); omap_cfg_reg(UART1_RTS); if (machine_is_omap_innovator()) { @@ -167,12 +167,12 @@ void __init omap_serial_init(void) printk("Could not get uart2_ck\n"); else { clk_enable(uart2_ck); - if (cpu_is_omap1510()) + if (cpu_is_omap15xx()) clk_set_rate(uart2_ck, 12000000); else clk_set_rate(uart2_ck, 48000000); } - if (cpu_is_omap1510()) { + if (cpu_is_omap15xx()) { omap_cfg_reg(UART2_TX); omap_cfg_reg(UART2_RTS); if (machine_is_omap_innovator()) { @@ -189,10 +189,10 @@ void __init omap_serial_init(void) printk("Could not get uart3_ck\n"); else { clk_enable(uart3_ck); - if (cpu_is_omap1510()) + if (cpu_is_omap15xx()) clk_set_rate(uart3_ck, 12000000); } - if (cpu_is_omap1510()) { + if (cpu_is_omap15xx()) { omap_cfg_reg(UART3_TX); omap_cfg_reg(UART3_RX); } diff -pNaur -X b/Documentation/dontdiff a/drivers/serial/8250.c b/drivers/serial/8250.c --- a/drivers/serial/8250.c 2006-07-16 02:26:33.000000000 +0200 +++ b/drivers/serial/8250.c 2006-07-16 04:52:13.000000000 +0200 @@ -1858,13 +1858,13 @@ serial8250_set_termios(struct uart_port #ifdef CONFIG_ARCH_OMAP15XX /* Workaround to enable 115200 baud on OMAP1510 internal ports */ - if (cpu_is_omap1510() && is_omap_port((unsigned int)up->port.membase)) { + if (cpu_is_omap15xx() && is_omap_port((unsigned int)up->port.membase)) { if (baud == 115200) { quot = 1; serial_out(up, UART_OMAP_OSC_12M_SEL, 1); } else serial_out(up, UART_OMAP_OSC_12M_SEL, 0); - } + } #endif if (up->capabilities & UART_NATSEMI) {