]> err.no Git - linux-2.6/blobdiff - drivers/pci/pcie/portdrv_core.c
Merge branch 'linus' into x86/paravirt-spinlocks
[linux-2.6] / drivers / pci / pcie / portdrv_core.c
index bd6615b4d40eb7546521a41898b39bd3a0da47d1..890f0d2b370af7003625326075073f7641e549ce 100644 (file)
@@ -6,7 +6,6 @@
  * Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
  */
 
-#include <linux/compiler.h>
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/kernel.h>
@@ -24,20 +23,20 @@ static int pcie_port_probe_service(struct device *dev)
 {
        struct pcie_device *pciedev;
        struct pcie_port_service_driver *driver;
-       int status = -ENODEV;
+       int status;
 
        if (!dev || !dev->driver)
-               return status;
+               return -ENODEV;
 
        driver = to_service_driver(dev->driver);
        if (!driver || !driver->probe)
-               return status;
+               return -ENODEV;
 
        pciedev = to_pcie_device(dev);
        status = driver->probe(pciedev, driver->id_table);
        if (!status) {
-               printk(KERN_DEBUG "Load service driver %s on pcie device %s\n",
-                       driver->name, dev->bus_id);
+               dev_printk(KERN_DEBUG, dev, "service driver %s loaded\n",
+                       driver->name);
                get_device(dev);
        }
        return status;
@@ -54,8 +53,8 @@ static int pcie_port_remove_service(struct device *dev)
        pciedev = to_pcie_device(dev);
        driver = to_service_driver(dev->driver);
        if (driver && driver->remove) { 
-               printk(KERN_DEBUG "Unload service driver %s on pcie device %s\n",
-                       driver->name, dev->bus_id);
+               dev_printk(KERN_DEBUG, dev, "unloading service driver %s\n",
+                       driver->name);
                driver->remove(pciedev);
                put_device(dev);
        }
@@ -104,7 +103,7 @@ static int pcie_port_resume_service(struct device *dev)
  */
 static void release_pcie_device(struct device *dev)
 {
-       printk(KERN_DEBUG "Free Port Service[%s]\n", dev->bus_id);
+       dev_printk(KERN_DEBUG, dev, "free port service\n");
        kfree(to_pcie_device(dev));                     
 }
 
@@ -151,7 +150,7 @@ static int assign_interrupt_mode(struct pci_dev *dev, int *vectors, int mask)
        if (pos) {
                struct msix_entry msix_entries[PCIE_PORT_DEVICE_MAXSERVICES] = 
                        {{0, 0}, {0, 1}, {0, 2}, {0, 3}};
-               printk("%s Found MSIX capability\n", __FUNCTION__);
+               dev_info(&dev->dev, "found MSI-X capability\n");
                status = pci_enable_msix(dev, msix_entries, nvec);
                if (!status) {
                        int j = 0;
@@ -166,7 +165,7 @@ static int assign_interrupt_mode(struct pci_dev *dev, int *vectors, int mask)
        if (status) {
                pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
                if (pos) {
-                       printk("%s Found MSI capability\n", __FUNCTION__);
+                       dev_info(&dev->dev, "found MSI capability\n");
                        status = pci_enable_msi(dev);
                        if (!status) {
                                interrupt_mode = PCIE_PORT_MSI_MODE;
@@ -193,9 +192,8 @@ static int get_port_device_capability(struct pci_dev *dev)
                if (reg32 & SLOT_HP_CAPABLE_MASK)
                        services |= PCIE_PORT_SERVICE_HP;
        } 
-       /* PME Capable */
-       pos = pci_find_capability(dev, PCI_CAP_ID_PME);
-       if (pos) 
+       /* PME Capable - root port capability */
+       if (((reg16 >> 4) & PORT_TYPE_MASK) == PCIE_RC_PORT)
                services |= PCIE_PORT_SERVICE_PME;
        
        pos = PCI_CFG_SPACE_SIZE;
@@ -254,7 +252,7 @@ static struct pcie_device* alloc_pcie_device(struct pci_dev *parent,
                return NULL;
 
        pcie_device_init(parent, device, port_type, service_type, irq,irq_mode);
-       printk(KERN_DEBUG "Allocate Port Service[%s]\n", device->device.bus_id);
+       dev_printk(KERN_DEBUG, &device->device, "allocate port service\n");
        return device;
 }
 
@@ -401,7 +399,7 @@ void pcie_port_device_remove(struct pci_dev *dev)
                pci_disable_msi(dev);
 }
 
-int __must_check pcie_port_bus_register(void)
+int pcie_port_bus_register(void)
 {
        return bus_register(&pcie_port_bus_type);
 }