]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/pcie/portdrv_bus.c
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
[linux-2.6-omap-h63xx.git] / drivers / pci / pcie / portdrv_bus.c
index 3f0976868eda656c9a2441caae804c96f9cc3fac..eec89b767f9f828d3389ef2584ad5fd103388869 100644 (file)
 #include <linux/pm.h>
 
 #include <linux/pcieport_if.h>
+#include "portdrv.h"
 
 static int pcie_port_bus_match(struct device *dev, struct device_driver *drv);
-static int pcie_port_bus_suspend(struct device *dev, pm_message_t state);
-static int pcie_port_bus_resume(struct device *dev);
 
 struct bus_type pcie_port_bus_type = {
        .name           = "pci_express",
        .match          = pcie_port_bus_match,
-       .suspend        = pcie_port_bus_suspend,
-       .resume         = pcie_port_bus_resume, 
 };
 EXPORT_SYMBOL_GPL(pcie_port_bus_type);
 
@@ -48,32 +45,12 @@ static int pcie_port_bus_match(struct device *dev, struct device_driver *drv)
        return 1;
 }
 
-static int pcie_port_bus_suspend(struct device *dev, pm_message_t state)
+int pcie_port_bus_register(void)
 {
-       struct pcie_device *pciedev;
-       struct pcie_port_service_driver *driver;
-
-       if (!dev || !dev->driver)
-               return 0;
-
-       pciedev = to_pcie_device(dev);
-       driver = to_service_driver(dev->driver);
-       if (driver && driver->suspend)
-               driver->suspend(pciedev, state);
-       return 0;
+       return bus_register(&pcie_port_bus_type);
 }
 
-static int pcie_port_bus_resume(struct device *dev)
+void pcie_port_bus_unregister(void)
 {
-       struct pcie_device *pciedev;
-       struct pcie_port_service_driver *driver;
-
-       if (!dev || !dev->driver)
-               return 0;
-
-       pciedev = to_pcie_device(dev);
-       driver = to_service_driver(dev->driver);
-       if (driver && driver->resume)
-               driver->resume(pciedev);
-       return 0;
+       bus_unregister(&pcie_port_bus_type);
 }