Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.1-rc2 61 lines 1.3 kB view raw
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/mca.h> 12#include <linux/serial_8250.h> 13 14/* 15 * FIXME: Should we be doing AUTO_IRQ here? 16 */ 17#ifdef CONFIG_SERIAL_8250_DETECT_IRQ 18#define MCA_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ 19#else 20#define MCA_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST 21#endif 22 23#define PORT(_base,_irq) \ 24 { \ 25 .iobase = _base, \ 26 .irq = _irq, \ 27 .uartclk = 1843200, \ 28 .iotype = UPIO_PORT, \ 29 .flags = MCA_FLAGS, \ 30 } 31 32static struct plat_serial8250_port mca_data[] = { 33 PORT(0x3220, 3), 34 PORT(0x3228, 3), 35 PORT(0x4220, 3), 36 PORT(0x4228, 3), 37 PORT(0x5220, 3), 38 PORT(0x5228, 3), 39 { }, 40}; 41 42static struct platform_device mca_device = { 43 .name = "serial8250", 44 .id = PLAT8250_DEV_MCA, 45 .dev = { 46 .platform_data = mca_data, 47 }, 48}; 49 50static int __init mca_init(void) 51{ 52 if (!MCA_bus) 53 return -ENODEV; 54 return platform_device_register(&mca_device); 55} 56 57module_init(mca_init); 58 59MODULE_AUTHOR("Russell King"); 60MODULE_DESCRIPTION("8250 serial probe module for MCA ports"); 61MODULE_LICENSE("GPL");