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 v2.6.25-rc1 63 lines 1.4 kB view raw
1/* 2 * linux/drivers/serial/8250_mca.c 3 * 4 * Copyright (C) 2005 Russell King. 5 * Data taken from include/asm-i386/serial.h 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11#include <linux/module.h> 12#include <linux/init.h> 13#include <linux/mca.h> 14#include <linux/serial_8250.h> 15 16/* 17 * FIXME: Should we be doing AUTO_IRQ here? 18 */ 19#ifdef CONFIG_SERIAL_8250_DETECT_IRQ 20#define MCA_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ 21#else 22#define MCA_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST 23#endif 24 25#define PORT(_base,_irq) \ 26 { \ 27 .iobase = _base, \ 28 .irq = _irq, \ 29 .uartclk = 1843200, \ 30 .iotype = UPIO_PORT, \ 31 .flags = MCA_FLAGS, \ 32 } 33 34static struct plat_serial8250_port mca_data[] = { 35 PORT(0x3220, 3), 36 PORT(0x3228, 3), 37 PORT(0x4220, 3), 38 PORT(0x4228, 3), 39 PORT(0x5220, 3), 40 PORT(0x5228, 3), 41 { }, 42}; 43 44static struct platform_device mca_device = { 45 .name = "serial8250", 46 .id = PLAT8250_DEV_MCA, 47 .dev = { 48 .platform_data = mca_data, 49 }, 50}; 51 52static int __init mca_init(void) 53{ 54 if (!MCA_bus) 55 return -ENODEV; 56 return platform_device_register(&mca_device); 57} 58 59module_init(mca_init); 60 61MODULE_AUTHOR("Russell King"); 62MODULE_DESCRIPTION("8250 serial probe module for MCA ports"); 63MODULE_LICENSE("GPL");