Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
8250_boca.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005 Russell King.
3  * Data taken from include/asm-i386/serial.h
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  */
9 #include <linux/module.h>
10 #include <linux/init.h>
11 #include <linux/serial_8250.h>
12 
13 #define PORT(_base,_irq) \
14  { \
15  .iobase = _base, \
16  .irq = _irq, \
17  .uartclk = 1843200, \
18  .iotype = UPIO_PORT, \
19  .flags = UPF_BOOT_AUTOCONF, \
20  }
21 
22 static struct plat_serial8250_port boca_data[] = {
23  PORT(0x100, 12),
24  PORT(0x108, 12),
25  PORT(0x110, 12),
26  PORT(0x118, 12),
27  PORT(0x120, 12),
28  PORT(0x128, 12),
29  PORT(0x130, 12),
30  PORT(0x138, 12),
31  PORT(0x140, 12),
32  PORT(0x148, 12),
33  PORT(0x150, 12),
34  PORT(0x158, 12),
35  PORT(0x160, 12),
36  PORT(0x168, 12),
37  PORT(0x170, 12),
38  PORT(0x178, 12),
39  { },
40 };
41 
42 static struct platform_device boca_device = {
43  .name = "serial8250",
44  .id = PLAT8250_DEV_BOCA,
45  .dev = {
46  .platform_data = boca_data,
47  },
48 };
49 
50 static int __init boca_init(void)
51 {
52  return platform_device_register(&boca_device);
53 }
54 
55 module_init(boca_init);
56 
57 MODULE_AUTHOR("Russell King");
58 MODULE_DESCRIPTION("8250 serial probe module for Boca cards");
59 MODULE_LICENSE("GPL");