1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (C) 2005 Russell King. 4 * Data taken from include/asm-i386/serial.h 5 */ 6 #include <linux/module.h> 7 #include <linux/init.h> 8 #include <linux/serial_8250.h> 9 10 #include "8250.h" 11 12 #define SERIAL8250_FOURPORT(_base, _irq) \ 13 SERIAL8250_PORT_FLAGS(_base, _irq, UPF_FOURPORT) 14 15 static struct plat_serial8250_port fourport_data[] = { 16 SERIAL8250_FOURPORT(0x1a0, 9), 17 SERIAL8250_FOURPORT(0x1a8, 9), 18 SERIAL8250_FOURPORT(0x1b0, 9), 19 SERIAL8250_FOURPORT(0x1b8, 9), 20 SERIAL8250_FOURPORT(0x2a0, 5), 21 SERIAL8250_FOURPORT(0x2a8, 5), 22 SERIAL8250_FOURPORT(0x2b0, 5), 23 SERIAL8250_FOURPORT(0x2b8, 5), 24 { }, 25 }; 26 27 static struct platform_device fourport_device = { 28 .name = "serial8250", 29 .id = PLAT8250_DEV_FOURPORT, 30 .dev = { 31 .platform_data = fourport_data, 32 }, 33 }; 34 35 static int __init fourport_init(void) 36 { 37 return platform_device_register(&fourport_device); 38 } 39 40 module_init(fourport_init); 41 42 MODULE_AUTHOR("Russell King"); 43 MODULE_DESCRIPTION("8250 serial probe module for AST Fourport cards"); 44 MODULE_LICENSE("GPL"); 45