Merge commit 'v2.6.32-rc3'
[pandora-kernel.git] / drivers / pnp / driver.c
index e3f7e89..cd11b11 100644 (file)
@@ -114,7 +114,6 @@ static int pnp_device_probe(struct device *dev)
        } else
                goto fail;
 
-       dev_dbg(dev, "driver attached\n");
        return error;
 
 fail:
@@ -136,6 +135,15 @@ static int pnp_device_remove(struct device *dev)
        return 0;
 }
 
+static void pnp_device_shutdown(struct device *dev)
+{
+       struct pnp_dev *pnp_dev = to_pnp_dev(dev);
+       struct pnp_driver *drv = pnp_dev->driver;
+
+       if (drv && drv->shutdown)
+               drv->shutdown(pnp_dev);
+}
+
 static int pnp_bus_match(struct device *dev, struct device_driver *drv)
 {
        struct pnp_dev *pnp_dev = to_pnp_dev(dev);
@@ -204,6 +212,7 @@ struct bus_type pnp_bus_type = {
        .match   = pnp_bus_match,
        .probe   = pnp_device_probe,
        .remove  = pnp_device_remove,
+       .shutdown = pnp_device_shutdown,
        .suspend = pnp_bus_suspend,
        .resume  = pnp_bus_resume,
        .dev_attrs = pnp_interface_attrs,
@@ -211,8 +220,6 @@ struct bus_type pnp_bus_type = {
 
 int pnp_register_driver(struct pnp_driver *drv)
 {
-       pnp_dbg("the driver '%s' has been registered", drv->name);
-
        drv->driver.name = drv->name;
        drv->driver.bus = &pnp_bus_type;
 
@@ -222,7 +229,6 @@ int pnp_register_driver(struct pnp_driver *drv)
 void pnp_unregister_driver(struct pnp_driver *drv)
 {
        driver_unregister(&drv->driver);
-       pnp_dbg("the driver '%s' has been unregistered", drv->name);
 }
 
 /**