thermal/thermal_of: Allow rebooting after critical temp
authorFabio Estevam <festevam@denx.de>
Wed, 29 Nov 2023 12:43:30 +0000 (09:43 -0300)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 2 Jan 2024 08:33:18 +0000 (09:33 +0100)
commit62e79e38b257a59f1e3d8aff801ae8590e2e45b4
treec71c2f042177c9716680a59d59340f63cf037c06
parent79fa723ba84c2b1b3124c72df8a3b07b851a5477
thermal/thermal_of: Allow rebooting after critical temp

Currently, the default mechanism is to trigger a shutdown after the
critical temperature is reached.

In some embedded cases, such behavior does not suit well, as the board may
be unattended in the field and rebooting may be a better approach.

The bootloader may also check the temperature and only allow the boot to
proceed when the temperature is below a certain threshold.

Introduce support for allowing a reboot to be triggered after the
critical temperature is reached.

If the "critical-action" devicetree property is not found, fall back to
the shutdown action to preserve the existing default behavior.

If a custom ops->critical exists, then it takes preference over
critical-actions.

Tested on a i.MX8MM board with the following devicetree changes:

thermal-zones {
cpu-thermal {
critical-action = "reboot";
};
};

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231129124330.519423-4-festevam@gmail.com
drivers/thermal/thermal_of.c