diff -Nru a/drivers/tty/serial/8250/8250_aim104_com8.c b/drivers/tty/serial/8250/8250_aim104_com8.c --- a/drivers/tty/serial/8250/8250_aim104_com8.c 1970-01-01 01:00:00.000000000 +0100 +++ b/drivers/tty/serial/8250/8250_aim104_com8.c 2012-05-31 13:13:13.794585528 +0100 @@ -0,0 +1,51 @@ +#include +#include +#include + +#define PORT(_base,_irq) \ + { \ + .iobase = _base, \ + .irq = _irq, \ + .uartclk = 1843200, \ + .iotype = UPIO_PORT, \ + .flags = UPF_BOOT_AUTOCONF | UPF_BUGGY_UART, \ + } + +static struct plat_serial8250_port aim104_data[] = { + PORT(0x100, 10), + PORT(0x108, 10), + PORT(0x110, 10), + PORT(0x118, 10), + PORT(0x120, 10), + PORT(0x128, 10), + PORT(0x130, 10), + PORT(0x138, 10), + PORT(0x300, 6), + PORT(0x308, 6), + PORT(0x310, 6), + PORT(0x318, 6), + PORT(0x320, 6), + PORT(0x328, 6), + PORT(0x330, 6), + PORT(0x338, 6), + { }, +}; + +static struct platform_device exar_device = { + .name = "serial8250", + .id = PLAT8250_DEV_PLATFORM, + .dev = { + .platform_data = aim104_data, + }, +}; + +static int __init exar_init(void) +{ + return platform_device_register(&exar_device); +} + +module_init(exar_init); + +MODULE_AUTHOR("Ricardo Martins"); +MODULE_DESCRIPTION("8250 serial probe module for Eurotech AIM104-COM8"); +MODULE_LICENSE("GPL"); diff -Nru a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig --- a/drivers/tty/serial/8250/Kconfig 2012-05-21 19:42:51.000000000 +0100 +++ b/drivers/tty/serial/8250/Kconfig 2012-05-31 13:14:45.942587436 +0100 @@ -202,6 +202,15 @@ To compile this driver as a module, choose M here: the module will be called 8250_exar_st16c554. +config SERIAL_8250_AIM104_COM8 + tristate "Support Eurotech AIM104-COM8 Dual Quad UART" + depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS + help + Eurotech AIM104-COM8 Dual Quad UART. + + To compile this driver as a module, choose M here: the module + will be called 8250_aim104_com8. + config SERIAL_8250_HUB6 tristate "Support Hub6 cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS diff -Nru a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile --- a/drivers/tty/serial/8250/Makefile 2012-05-21 19:42:51.000000000 +0100 +++ b/drivers/tty/serial/8250/Makefile 2012-05-31 13:15:15.366347016 +0100 @@ -14,6 +14,7 @@ obj-$(CONFIG_SERIAL_8250_ACCENT) += 8250_accent.o obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o +obj-$(CONFIG_SERIAL_8250_AIM104_COM8) += 8250_aim104_com8.o obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o obj-$(CONFIG_SERIAL_8250_MCA) += 8250_mca.o obj-$(CONFIG_SERIAL_8250_FSL) += 8250_fsl.o