mm: bdi: export bdi_writeout_inc()
[safe/jmp/linux-2.6] / drivers / serial / 8250_pnp.c
index d3d6b82..97c68d0 100644 (file)
@@ -69,6 +69,8 @@ static const struct pnp_device_id pnp_dev_table[] = {
        {       "CTL3001",              0       },
        /* Creative Labs Modem Blaster 28.8 DSVD PnP Voice */
        {       "CTL3011",              0       },
+       /* Davicom ISA 33.6K Modem */
+       {       "DAV0336",              0       },
        /* Creative */
        /* Creative Modem Blaster Flash56 DI5601-1 */
        {       "DMB1032",              0       },
@@ -89,6 +91,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       },
@@ -327,6 +331,8 @@ static const struct pnp_device_id pnp_dev_table[] = {
        {       "WACF004",              0       },
        {       "WACF005",              0       },
        {       "WACF006",              0       },
+       {       "WACF007",              0       },
+       {       "WACF008",              0       },
        /* Compaq touchscreen */
        {       "FPI2002",              0 },
        /* Fujitsu Stylistic touchscreens */
@@ -340,6 +346,14 @@ static const struct pnp_device_id pnp_dev_table[] = {
        {       "FUJ02B8",              0 },
        {       "FUJ02B9",              0 },
        {       "FUJ02BC",              0 },
+       /* Fujitsu Wacom Tablet PC devices */
+       {       "FUJ02E5",              0       },
+       {       "FUJ02E6",              0       },
+       /*
+        * LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in
+        * disguise)
+        */
+       {       "LTS0001",              0       },
        /* Rockwell's (PORALiNK) 33600 INT PNP */
        {       "WCI0003",              0       },
        /* Unkown PnP modems */
@@ -402,8 +416,9 @@ static int __devinit check_resources(struct pnp_option *option)
  */
 static int __devinit serial_pnp_guess_board(struct pnp_dev *dev, int *flags)
 {
-       if (!(check_name(pnp_dev_name(dev)) || (dev->card && check_name(dev->card->name))))
-               return -ENODEV;
+       if (!(check_name(pnp_dev_name(dev)) ||
+               (dev->card && check_name(dev->card->name))))
+                       return -ENODEV;
 
        if (check_resources(dev->independent))
                return 0;
@@ -427,7 +442,8 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
        }
 
        memset(&port, 0, sizeof(struct uart_port));
-       port.irq = pnp_irq(dev, 0);
+       if (pnp_irq_valid(dev, 0))
+               port.irq = pnp_irq(dev, 0);
        if (pnp_port_valid(dev, 0)) {
                port.iobase = pnp_port_start(dev, 0);
                port.iotype = UPIO_PORT;
@@ -439,8 +455,9 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
                return -ENODEV;
 
 #ifdef SERIAL_DEBUG_PNP
-       printk("Setup PNP port: port %x, mem 0x%lx, irq %d, type %d\n",
-              port.iobase, port.mapbase, port.irq, port.iotype);
+       printk(KERN_DEBUG
+               "Setup PNP port: port %x, mem 0x%lx, irq %d, type %d\n",
+                      port.iobase, port.mapbase, port.irq, port.iotype);
 #endif
 
        port.flags |= UPF_SKIP_TEST | UPF_BOOT_AUTOCONF;
@@ -450,11 +467,11 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
        port.dev = &dev->dev;
 
        line = serial8250_register_port(&port);
+       if (line < 0)
+               return -ENODEV;
 
-       if (line >= 0)
-               pnp_set_drvdata(dev, (void *)((long)line + 1));
-       return line >= 0 ? 0 : -ENODEV;
-
+       pnp_set_drvdata(dev, (void *)((long)line + 1));
+       return 0;
 }
 
 static void __devexit serial_pnp_remove(struct pnp_dev *dev)