#include <linux/acpi.h>
#include <linux/array_size.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/once.h>
#include <linux/platform_device.h>
#include <linux/serial_8250.h>
#ifdef CONFIG_SPARC
#include <linux/sunserialcore.h>
#endif
#include "8250.h"
unsigned int share_irqs = …;
unsigned int skip_txen_test;
unsigned int nr_uarts = …;
#include <asm/serial.h>
#ifndef SERIAL_PORT_DFNS
#define SERIAL_PORT_DFNS
#endif
static const struct old_serial_port old_serial_port[] = …;
serial8250_isa_config_fn serial8250_isa_config;
void serial8250_set_isa_configurator(serial8250_isa_config_fn v)
{ … }
EXPORT_SYMBOL(…);
static void __init __serial8250_isa_init_ports(void)
{ … }
void __init serial8250_isa_init_ports(void)
{ … }
static int serial8250_probe_acpi(struct platform_device *pdev)
{ … }
static int serial8250_probe_platform(struct platform_device *dev, struct plat_serial8250_port *p)
{ … }
static int serial8250_probe(struct platform_device *pdev)
{ … }
static void serial8250_remove(struct platform_device *dev)
{ … }
static int serial8250_suspend(struct platform_device *dev, pm_message_t state)
{ … }
static int serial8250_resume(struct platform_device *dev)
{ … }
static const struct acpi_device_id acpi_platform_serial_table[] = …;
MODULE_DEVICE_TABLE(acpi, acpi_platform_serial_table);
static struct platform_driver serial8250_isa_driver = …;
struct platform_device *serial8250_isa_devs;
static int __init serial8250_init(void)
{ … }
module_init(…) …;
static void __exit serial8250_exit(void)
{ … }
module_exit(serial8250_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
module_param_hw(share_irqs, uint, other, 0644);
MODULE_PARM_DESC(…) …;
module_param(nr_uarts, uint, 0644);
MODULE_PARM_DESC(…) …;
module_param(skip_txen_test, uint, 0644);
MODULE_PARM_DESC(…) …;
MODULE_ALIAS_CHARDEV_MAJOR(…);
#ifdef CONFIG_SERIAL_8250_DEPRECATED_OPTIONS
#ifndef MODULE
static void __used s8250_options(void)
{ … }
#else
MODULE_ALIAS("8250_core");
#endif
#endif