patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / drivers / serial / 8250_pci.c
index cf42b9d..3b3427e 100644 (file)
@@ -28,7 +28,6 @@
 
 #include <asm/bitops.h>
 #include <asm/byteorder.h>
-#include <asm/serial.h>
 #include <asm/io.h>
 
 #include "8250.h"
@@ -704,7 +703,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
                .subdevice      = PCI_SUBDEVICE_ID_OCTPRO232,
                .init           = sbs_init,
                .setup          = sbs_setup,
-               .exit           = sbs_exit
+               .exit           = __devexit_p(sbs_exit),
        },
        /*
         * SBS Technologies, Inc., PMC-OCTALPRO 422
@@ -716,7 +715,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
                .subdevice      = PCI_SUBDEVICE_ID_OCTPRO422,
                .init           = sbs_init,
                .setup          = sbs_setup,
-               .exit           = sbs_exit
+               .exit           = __devexit_p(sbs_exit),
        },
        /*
         * SBS Technologies, Inc., P-Octal 232
@@ -728,7 +727,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
                .subdevice      = PCI_SUBDEVICE_ID_POCTAL232,
                .init           = sbs_init,
                .setup          = sbs_setup,
-               .exit           = sbs_exit
+               .exit           = __devexit_p(sbs_exit),
        },
        /*
         * SBS Technologies, Inc., P-Octal 422
@@ -740,7 +739,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
                .subdevice      = PCI_SUBDEVICE_ID_POCTAL422,
                .init           = sbs_init,
                .setup          = sbs_setup,
-               .exit           = sbs_exit
+               .exit           = __devexit_p(sbs_exit),
        },
 
        /*
@@ -1585,7 +1584,7 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
        struct pci_board *board, tmp;
        struct pci_serial_quirk *quirk;
        struct serial_struct serial_req;
-       int base_baud, rc, nr_ports, i;
+       int rc, nr_ports, i;
 
        if (ent->driver_data >= ARRAY_SIZE(pci_boards)) {
                printk(KERN_ERR "pci_init_one: invalid driver_data: %ld\n",
@@ -1663,16 +1662,11 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
        priv->quirk = quirk;
        pci_set_drvdata(dev, priv);
 
-       base_baud = board->base_baud;
-       if (!base_baud) {
-               moan_device("Board entry does not specify baud rate.", dev);
-               base_baud = BASE_BAUD;
-       }
        for (i = 0; i < nr_ports; i++) {
                memset(&serial_req, 0, sizeof(serial_req));
                serial_req.flags = UPF_SKIP_TEST | UPF_AUTOPROBE |
                                   UPF_RESOURCES | UPF_SHARE_IRQ;
-               serial_req.baud_base = base_baud;
+               serial_req.baud_base = board->base_baud;
                serial_req.irq = get_pci_irq(dev, board, i);
                if (quirk->setup(dev, board, &serial_req, i))
                        break;