Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
8250-platform.c
Go to the documentation of this file.
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License. See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2007 Ralf Baechle ([email protected])
7  */
8 #include <linux/init.h>
9 #include <linux/serial_8250.h>
10 
11 #define PORT(base, int) \
12 { \
13  .iobase = base, \
14  .irq = int, \
15  .uartclk = 1843200, \
16  .iotype = UPIO_PORT, \
17  .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, \
18  .regshift = 0, \
19 }
20 
21 static struct plat_serial8250_port uart8250_data[] = {
22  PORT(0x3F8, 4),
23  PORT(0x2F8, 3),
24  PORT(0x3E8, 4),
25  PORT(0x2E8, 3),
26  { },
27 };
28 
29 static struct platform_device uart8250_device = {
30  .name = "serial8250",
32  .dev = {
33  .platform_data = uart8250_data,
34  },
35 };
36 
37 static int __init uart8250_init(void)
38 {
39  return platform_device_register(&uart8250_device);
40 }
41 
42 module_init(uart8250_init);
43 
44 MODULE_AUTHOR("Ralf Baechle <[email protected]>");
45 MODULE_LICENSE("GPL");
46 MODULE_DESCRIPTION("Generic 8250 UART probe driver");