aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/core.c
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2017-08-11 09:44:43 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-08-28 12:02:46 -0400
commit7521621e600aeefe5ffcc1f90ae26a42fc20c452 (patch)
tree9aa634ae98e149c28f4e301f06b9352b0a74ac1a /drivers/base/core.c
parentdf44d30d28cb7dd4f3dc105d843a4a01f5dfc860 (diff)
Do not disable driver and bus shutdown hook when class shutdown hook is set.
As seen from the implementation of the single class shutdown hook this is not very sound design. Rename the class shutdown hook to shutdown_pre to make it clear it runs before the driver shutdown hook. Signed-off-by: Michal Suchanek <msuchanek@suse.de> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r--drivers/base/core.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index cb4b5b1f1b09..12ebd055724c 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -2796,11 +2796,12 @@ void device_shutdown(void)
2796 pm_runtime_get_noresume(dev); 2796 pm_runtime_get_noresume(dev);
2797 pm_runtime_barrier(dev); 2797 pm_runtime_barrier(dev);
2798 2798
2799 if (dev->class && dev->class->shutdown) { 2799 if (dev->class && dev->class->shutdown_pre) {
2800 if (initcall_debug) 2800 if (initcall_debug)
2801 dev_info(dev, "shutdown\n"); 2801 dev_info(dev, "shutdown_pre\n");
2802 dev->class->shutdown(dev); 2802 dev->class->shutdown_pre(dev);
2803 } else if (dev->bus && dev->bus->shutdown) { 2803 }
2804 if (dev->bus && dev->bus->shutdown) {
2804 if (initcall_debug) 2805 if (initcall_debug)
2805 dev_info(dev, "shutdown\n"); 2806 dev_info(dev, "shutdown\n");
2806 dev->bus->shutdown(dev); 2807 dev->bus->shutdown(dev);