X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fmach-sa1100%2Fcollie.c;fp=arch%2Farm%2Fmach-sa1100%2Fcollie.c;h=6888816a1935f3047f96f09980ebfe58447adefa;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=a0dfa390e34bd0c686e3fdf05776684cd4ee08f8;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index a0dfa390e..6888816a1 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c @@ -11,12 +11,12 @@ * published by the Free Software Foundation. * * ChangeLog: - * 2006 Pavel Machek - * 03-06-2004 John Lenz + * 03-06-2004 John Lenz * 06-04-2002 Chris Larson * 04-16-2001 Lineo Japan,Inc. ... */ +#include #include #include #include @@ -40,7 +40,6 @@ #include #include #include -#include #include "generic.h" @@ -67,95 +66,6 @@ struct platform_device colliescoop_device = { .resource = collie_scoop_resources, }; -static struct scoop_pcmcia_dev collie_pcmcia_scoop[] = { -{ - .dev = &colliescoop_device.dev, - .irq = COLLIE_IRQ_GPIO_CF_IRQ, - .cd_irq = COLLIE_IRQ_GPIO_CF_CD, - .cd_irq_str = "PCMCIA0 CD", -}, -}; - -static struct scoop_pcmcia_config collie_pcmcia_config = { - .devs = &collie_pcmcia_scoop[0], - .num_devs = 1, -}; - - -static struct mcp_plat_data collie_mcp_data = { - .mccr0 = MCCR0_ADM | MCCR0_ExtClk, - .sclk_rate = 9216000, -}; - -#ifdef CONFIG_SHARP_LOCOMO -/* - * low-level UART features. - */ -static struct locomo_dev *uart_dev = NULL; - -static void collie_uart_set_mctrl(struct uart_port *port, u_int mctrl) -{ - if (!uart_dev) return; - - if (mctrl & TIOCM_RTS) - locomo_gpio_write(uart_dev, LOCOMO_GPIO_RTS, 0); - else - locomo_gpio_write(uart_dev, LOCOMO_GPIO_RTS, 1); - - if (mctrl & TIOCM_DTR) - locomo_gpio_write(uart_dev, LOCOMO_GPIO_DTR, 0); - else - locomo_gpio_write(uart_dev, LOCOMO_GPIO_DTR, 1); -} - -static u_int collie_uart_get_mctrl(struct uart_port *port) -{ - int ret = TIOCM_CD; - unsigned int r; - if (!uart_dev) return ret; - - r = locomo_gpio_read_output(uart_dev, LOCOMO_GPIO_CTS & LOCOMO_GPIO_DSR); - if (r & LOCOMO_GPIO_CTS) - ret |= TIOCM_CTS; - if (r & LOCOMO_GPIO_DSR) - ret |= TIOCM_DSR; - - return ret; -} - -static struct sa1100_port_fns collie_port_fns __initdata = { - .set_mctrl = collie_uart_set_mctrl, - .get_mctrl = collie_uart_get_mctrl, -}; - -static int collie_uart_probe(struct locomo_dev *dev) -{ - uart_dev = dev; - return 0; -} - -static int collie_uart_remove(struct locomo_dev *dev) -{ - uart_dev = NULL; - return 0; -} - -static struct locomo_driver collie_uart_driver = { - .drv = { - .name = "collie_uart", - }, - .devid = LOCOMO_DEVID_UART, - .probe = collie_uart_probe, - .remove = collie_uart_remove, -}; - -static int __init collie_uart_init(void) { - return locomo_driver_register(&collie_uart_driver); -} -device_initcall(collie_uart_init); - -#endif - static struct resource locomo_resources[] = { [0] = { @@ -249,8 +159,6 @@ static void __init collie_init(void) GPDR |= GPIO_32_768kHz; TUCR = TUCR_32_768kHz; - platform_scoop_config = &collie_pcmcia_config; - ret = platform_add_devices(devices, ARRAY_SIZE(devices)); if (ret) { printk(KERN_WARNING "collie: Unable to register LoCoMo device\n"); @@ -258,7 +166,6 @@ static void __init collie_init(void) sa11x0_set_flash_data(&collie_flash_data, collie_flash_resources, ARRAY_SIZE(collie_flash_resources)); - sa11x0_set_mcp_data(&collie_mcp_data); sharpsl_save_param(); } @@ -281,12 +188,6 @@ static void __init collie_map_io(void) { sa1100_map_io(); iotable_init(collie_io_desc, ARRAY_SIZE(collie_io_desc)); - -#ifdef CONFIG_SHARP_LOCOMO - sa1100_register_uart_fns(&collie_port_fns); -#endif - sa1100_register_uart(0, 3); - sa1100_register_uart(1, 1); } MACHINE_START(COLLIE, "Sharp-Collie")