X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=drivers%2Fparport%2Fparport_serial.c;h=90ea3b8b99b02571e1621853a05aa8868d4aaa03;hb=31f6e1bd3b58c9a67e5ea0c2d372fbf5fc9e326d;hp=98b83a85c60e2d462fe92e4e39de2e6f0e977945;hpb=d90125bfe958ed0451c6b98f831c86aba08b43d5;p=powerpc.git diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c index 98b83a85c6..90ea3b8b99 100644 --- a/drivers/parport/parport_serial.c +++ b/drivers/parport/parport_serial.c @@ -305,7 +305,7 @@ static int __devinit parport_register (struct pci_dev *dev, dev_dbg(&dev->dev, "PCI parallel port detected: I/O at " "%#lx(%#lx)\n", io_lo, io_hi); port = parport_pc_probe_port (io_lo, io_hi, PARPORT_IRQ_NONE, - PARPORT_DMA_NONE, dev); + PARPORT_DMA_NONE, &dev->dev); if (port) { priv->port[priv->num_par++] = port; success = 1; @@ -374,6 +374,7 @@ static void __devexit parport_serial_pci_remove (struct pci_dev *dev) return; } +#ifdef CONFIG_PM static int parport_serial_pci_suspend(struct pci_dev *dev, pm_message_t state) { struct parport_serial_private *priv = pci_get_drvdata(dev); @@ -391,6 +392,7 @@ static int parport_serial_pci_suspend(struct pci_dev *dev, pm_message_t state) static int parport_serial_pci_resume(struct pci_dev *dev) { struct parport_serial_private *priv = pci_get_drvdata(dev); + int err; pci_set_power_state(dev, PCI_D0); pci_restore_state(dev); @@ -398,7 +400,12 @@ static int parport_serial_pci_resume(struct pci_dev *dev) /* * The device may have been disabled. Re-enable it. */ - pci_enable_device(dev); + err = pci_enable_device(dev); + if (err) { + printk(KERN_ERR "parport_serial: %s: error enabling " + "device for resume (%d)\n", pci_name(dev), err); + return err; + } if (priv->serial) pciserial_resume_ports(priv->serial); @@ -407,14 +414,17 @@ static int parport_serial_pci_resume(struct pci_dev *dev) return 0; } +#endif static struct pci_driver parport_serial_pci_driver = { .name = "parport_serial", .id_table = parport_serial_pci_tbl, .probe = parport_serial_pci_probe, .remove = __devexit_p(parport_serial_pci_remove), +#ifdef CONFIG_PM .suspend = parport_serial_pci_suspend, .resume = parport_serial_pci_resume, +#endif };