X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fpnp%2Fdriver.c;h=cd11b113494fabf7ca2367a2567bbbbc8af71ac7;hb=abd6633c67925f90775bb74755f9c547e30f1f20;hp=54673a4f5901023d4b426e6937d0830996c4d495;hpb=acd41d36e5a813501da92156f325ce15ddcd58ff;p=karo-tx-linux.git diff --git a/drivers/pnp/driver.c b/drivers/pnp/driver.c index 54673a4f5901..cd11b113494f 100644 --- a/drivers/pnp/driver.c +++ b/drivers/pnp/driver.c @@ -135,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); @@ -203,8 +212,10 @@ 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, }; int pnp_register_driver(struct pnp_driver *drv)