nfsd: fix Documentation typo
[safe/jmp/linux-2.6] / drivers / serial / 8250_pnp.c
index 6f09cbd..d71dfe3 100644 (file)
@@ -12,8 +12,6 @@
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License.
- *
- *  $Id: 8250_pnp.c,v 1.10 2002/07/21 21:32:30 rmk Exp $
  */
 #include <linux/module.h>
 #include <linux/init.h>
@@ -91,6 +89,8 @@ static const struct pnp_device_id pnp_dev_table[] = {
        /* Archtek America Corp. */
        /* Archtek SmartLink Modem 3334BT Plug & Play */
        {       "GVC000F",              0       },
+       /* Archtek SmartLink Modem 3334BRV 33.6K Data Fax Voice */
+       {       "GVC0303",              0       },
        /* Hayes */
        /* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
        {       "HAY0001",              0       },
@@ -270,6 +270,8 @@ static const struct pnp_device_id pnp_dev_table[] = {
        {       "RSS0250",              0       },
        /* SupraExpress 28.8 Data/Fax PnP modem */
        {       "SUP1310",              0       },
+       /* SupraExpress 336i PnP Voice Modem */
+       {       "SUP1381",              0       },
        /* SupraExpress 33.6 Data/Fax PnP modem */
        {       "SUP1421",              0       },
        /* SupraExpress 33.6 Data/Fax PnP modem */
@@ -331,6 +333,10 @@ static const struct pnp_device_id pnp_dev_table[] = {
        {       "WACF006",              0       },
        {       "WACF007",              0       },
        {       "WACF008",              0       },
+       {       "WACF009",              0       },
+       {       "WACF00A",              0       },
+       {       "WACF00B",              0       },
+       {       "WACF00C",              0       },
        /* Compaq touchscreen */
        {       "FPI2002",              0 },
        /* Fujitsu Stylistic touchscreens */
@@ -344,8 +350,9 @@ static const struct pnp_device_id pnp_dev_table[] = {
        {       "FUJ02B8",              0 },
        {       "FUJ02B9",              0 },
        {       "FUJ02BC",              0 },
-       /* Fujitsu Wacom Tablet PC devices */
+       /* Fujitsu Wacom Tablet PC device */
        {       "FUJ02E5",              0       },
+       /* Fujitsu P-series tablet PC device */
        {       "FUJ02E6",              0       },
        /*
         * LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in
@@ -381,21 +388,14 @@ static int __devinit check_name(char *name)
        return 0;
 }
 
-static int __devinit check_resources(struct pnp_option *option)
+static int __devinit check_resources(struct pnp_dev *dev)
 {
-       struct pnp_option *tmp;
-       if (!option)
-               return 0;
+       resource_size_t base[] = {0x2f8, 0x3f8, 0x2e8, 0x3e8};
+       int i;
 
-       for (tmp = option; tmp; tmp = tmp->next) {
-               struct pnp_port *port;
-               for (port = tmp->port; port; port = port->next)
-                       if ((port->size == 8) &&
-                           ((port->min == 0x2f8) ||
-                            (port->min == 0x3f8) ||
-                            (port->min == 0x2e8) ||
-                            (port->min == 0x3e8)))
-                               return 1;
+       for (i = 0; i < ARRAY_SIZE(base); i++) {
+               if (pnp_possible_config(dev, IORESOURCE_IO, base[i], 8))
+                       return 1;
        }
 
        return 0;
@@ -418,10 +418,7 @@ static int __devinit serial_pnp_guess_board(struct pnp_dev *dev, int *flags)
                (dev->card && check_name(dev->card->name))))
                        return -ENODEV;
 
-       if (check_resources(dev->independent))
-               return 0;
-
-       if (check_resources(dev->dependent))
+       if (check_resources(dev))
                return 0;
 
        return -ENODEV;