14 #include <linux/module.h>
16 #include <linux/pci.h>
18 #include <linux/string.h>
19 #include <linux/kernel.h>
20 #include <linux/serial_core.h>
21 #include <linux/bitops.h>
23 #include <asm/byteorder.h>
27 #define UNKNOWN_DEV 0x3000
28 #define CIR_PORT 0x0800
374 "MODEM",
"Modem",
"modem",
"FAX",
"Fax",
"fax",
375 "56K",
"56k",
"K56",
"33.6",
"28.8",
"14.4",
376 "33,600",
"28,800",
"14,400",
"33.600",
"28.800",
"14.400",
377 "33600",
"28800",
"14400",
"V.90",
"V.34",
"V.32",
NULL
384 for (tmp = modem_names; *
tmp; tmp++)
418 (dev->
card && check_name(dev->
card->name))))
421 if (check_resources(dev))
434 ret = serial_pnp_guess_board(dev);
440 if (pnp_irq_valid(dev, 0))
442 if ((flags &
CIR_PORT) && pnp_port_valid(dev, 2)) {
443 uart.port.iobase = pnp_port_start(dev, 2);
445 }
else if (pnp_port_valid(dev, 0)) {
446 uart.port.iobase = pnp_port_start(dev, 0);
448 }
else if (pnp_mem_valid(dev, 0)) {
449 uart.port.mapbase = pnp_mem_start(dev, 0);
455 #ifdef SERIAL_DEBUG_PNP
457 "Setup PNP port: port %x, mem 0x%lx, irq %d, type %d\n",
460 if (flags & CIR_PORT) {
468 uart.port.uartclk = 1843200;
472 if (line < 0 || (flags & CIR_PORT))
475 pnp_set_drvdata(dev, (
void *)((
long)line + 1));
481 long line = (
long)pnp_get_drvdata(dev);
489 long line = (
long)pnp_get_drvdata(dev);
499 long line = (
long)pnp_get_drvdata(dev);
507 #define serial_pnp_suspend NULL
508 #define serial_pnp_resume NULL
511 static struct pnp_driver serial_pnp_driver = {
513 .probe = serial_pnp_probe,
517 .id_table = pnp_dev_table,