thermal: core: Add a back up thermal shutdown mechanism
authorKeerthy <j-keerthy@ti.com>
Tue, 18 Apr 2017 04:29:59 +0000 (09:59 +0530)
committerZhang Rui <rui.zhang@intel.com>
Fri, 5 May 2017 08:01:45 +0000 (16:01 +0800)
commitef1d87e06ab4d3f9a95f02517ecc50902dc233a7
tree6dd3327394c0cb14fa964a3a8baf1c51b6d0e337
parente441fd68663e298e99a99e215e0144a0eda6250d
thermal: core: Add a back up thermal shutdown mechanism

orderly_poweroff is triggered when a graceful shutdown
of system is desired. This may be used in many critical states of the
kernel such as when subsystems detects conditions such as critical
temperature conditions. However, in certain conditions in system
boot up sequences like those in the middle of driver probes being
initiated, userspace will be unable to power off the system in a clean
manner and leaves the system in a critical state. In cases like these,
the /sbin/poweroff will return success (having forked off to attempt
powering off the system. However, the system overall will fail to
completely poweroff (since other modules will be probed) and the system
is still functional with no userspace (since that would have shut itself
off).

However, there is no clean way of detecting such failure of userspace
powering off the system. In such scenarios, it is necessary for a backup
workqueue to be able to force a shutdown of the system when orderly
shutdown is not successful after a configurable time period.

Reported-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Documentation/thermal/sysfs-api.txt
drivers/thermal/Kconfig
drivers/thermal/thermal_core.c