linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action
@ 2023-10-06 18:04 Fabio Estevam
  2023-10-06 18:04 ` [PATCH v10 2/4] thermal_core: Prepare for introduction of thermal reboot Fabio Estevam
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Fabio Estevam @ 2023-10-06 18:04 UTC (permalink / raw)
  To: daniel.lezcano
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam, Krzysztof Kozlowski

From: Fabio Estevam <festevam@denx.de>

Document the critical-action property to describe the thermal action
the OS should perform after the critical temperature is reached.

The possible values are "shutdown" and "reboot".

The motivation for introducing the critical-action property is that
different systems may need different thermal actions when the critical
temperature is reached.

For example, in a desktop PC, it is desired that a shutdown happens
after the critical temperature is reached.

However, 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 benefit from this new property as it can check
the SoC temperature and in case the temperature is above the critical
point, it can trigger a shutdown or reboot accordingly.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Changes since v9:
- Emphasize that critical-action should be used with care. (Daniel)

 .../bindings/thermal/thermal-zones.yaml          | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
index 4f3acdc4dec0..f88fbafecb01 100644
--- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
+++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
@@ -75,6 +75,22 @@ patternProperties:
           framework and assumes that the thermal sensors in this zone
           support interrupts.
 
+      critical-action:
+        $ref: /schemas/types.yaml#/definitions/string
+        description: |
+          The action the OS should perform after the critical temperature is reached.
+          By default the system will shutdown as a safe action to prevent damage
+          to the hardware, if the property is not set.
+          The shutdown action should be always the default and preferred one.
+          Choose 'reboot' with care, as the hardware may be in thermal stress,
+          thus leading to infinite reboots that may cause damage to the hardware.
+          Make sure the firmware/bootloader will act as the last resort and take
+          over the thermal control.
+
+        enum:
+          - shutdown
+          - reboot
+
       thermal-sensors:
         $ref: /schemas/types.yaml#/definitions/phandle-array
         maxItems: 1
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v10 2/4] thermal_core: Prepare for introduction of thermal reboot
  2023-10-06 18:04 [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
@ 2023-10-06 18:04 ` Fabio Estevam
  2023-10-06 18:04 ` [PATCH v10 3/4] reboot: Introduce thermal_zone_device_critical_reboot() Fabio Estevam
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2023-10-06 18:04 UTC (permalink / raw)
  To: daniel.lezcano
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam

From: Fabio Estevam <festevam@denx.de>

Add some helper functions to make it easier introducing the support
for thermal reboot.

No functional change.

Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v9:
- Newly introduced.

 drivers/thermal/thermal_core.c | 14 ++++++++++----
 include/linux/reboot.h         |  7 ++++++-
 kernel/reboot.c                |  8 ++++----
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 45d0aa0b69b7..3184e9f2eadd 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -313,18 +313,24 @@ static void handle_non_critical_trips(struct thermal_zone_device *tz, int trip)
 		       def_governor->throttle(tz, trip);
 }
 
-void thermal_zone_device_critical(struct thermal_zone_device *tz)
+static void thermal_zone_device_halt(struct thermal_zone_device *tz, bool shutdown)
 {
 	/*
 	 * poweroff_delay_ms must be a carefully profiled positive value.
 	 * Its a must for forced_emergency_poweroff_work to be scheduled.
 	 */
 	int poweroff_delay_ms = CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS;
+	const char *msg = "Temperature too high";
+
+	dev_emerg(&tz->device, "%s: critical temperature reached\n", tz->type);
 
-	dev_emerg(&tz->device, "%s: critical temperature reached, "
-		  "shutting down\n", tz->type);
+	if (shutdown)
+		hw_protection_shutdown(msg, poweroff_delay_ms);
+}
 
-	hw_protection_shutdown("Temperature too high", poweroff_delay_ms);
+void thermal_zone_device_critical(struct thermal_zone_device *tz)
+{
+	thermal_zone_device_halt(tz, true);
 }
 EXPORT_SYMBOL(thermal_zone_device_critical);
 
diff --git a/include/linux/reboot.h b/include/linux/reboot.h
index c4cc3b89ced1..4586c663884e 100644
--- a/include/linux/reboot.h
+++ b/include/linux/reboot.h
@@ -177,7 +177,12 @@ void ctrl_alt_del(void);
 
 extern void orderly_poweroff(bool force);
 extern void orderly_reboot(void);
-void hw_protection_shutdown(const char *reason, int ms_until_forced);
+void __hw_protection_shutdown(const char *reason, int ms_until_forced, bool shutdown);
+
+static inline void hw_protection_shutdown(const char *reason, int ms_until_forced)
+{
+	__hw_protection_shutdown(reason, ms_until_forced, true);
+}
 
 /*
  * Emergency restart, callable from an interrupt handler.
diff --git a/kernel/reboot.c b/kernel/reboot.c
index 395a0ea3c7a8..b236c4c06bb3 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -957,7 +957,7 @@ static void hw_failure_emergency_poweroff(int poweroff_delay_ms)
 }
 
 /**
- * hw_protection_shutdown - Trigger an emergency system poweroff
+ * __hw_protection_shutdown - Trigger an emergency system poweroff
  *
  * @reason:		Reason of emergency shutdown to be printed.
  * @ms_until_forced:	Time to wait for orderly shutdown before tiggering a
@@ -971,7 +971,7 @@ static void hw_failure_emergency_poweroff(int poweroff_delay_ms)
  * if the previous request has given a large timeout for forced shutdown.
  * Can be called from any context.
  */
-void hw_protection_shutdown(const char *reason, int ms_until_forced)
+void __hw_protection_shutdown(const char *reason, int ms_until_forced, bool shutdown)
 {
 	static atomic_t allow_proceed = ATOMIC_INIT(1);
 
@@ -986,9 +986,9 @@ void hw_protection_shutdown(const char *reason, int ms_until_forced)
 	 * orderly_poweroff failure
 	 */
 	hw_failure_emergency_poweroff(ms_until_forced);
-	orderly_poweroff(true);
+	if (shutdown)
+		orderly_poweroff(true);
 }
-EXPORT_SYMBOL_GPL(hw_protection_shutdown);
 
 static int __init reboot_setup(char *str)
 {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v10 3/4] reboot: Introduce thermal_zone_device_critical_reboot()
  2023-10-06 18:04 [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
  2023-10-06 18:04 ` [PATCH v10 2/4] thermal_core: Prepare for introduction of thermal reboot Fabio Estevam
@ 2023-10-06 18:04 ` Fabio Estevam
  2023-10-06 18:04 ` [PATCH v10 4/4] thermal: thermal_of: Allow rebooting after critical temp Fabio Estevam
  2023-10-13 10:39 ` [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
  3 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2023-10-06 18:04 UTC (permalink / raw)
  To: daniel.lezcano
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam

From: Fabio Estevam <festevam@denx.de>

Introduce thermal_zone_device_critical_reboot() to trigger an
emergency reboot.

It is a counterpart of thermal_zone_device_critical() with the
difference that it will force a reboot instead of shutdown.

The motivation for doing this is to allow the thermal subystem
to trigger a reboot when the temperature reaches the critical
temperature.

Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v9:
- Make it smaller after introducing the previous patch. (Daniel)
 drivers/thermal/thermal_core.c |  7 +++++++
 include/linux/reboot.h         |  5 +++++
 include/linux/thermal.h        |  1 +
 kernel/reboot.c                | 27 ++++++++++++++++-----------
 4 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 3184e9f2eadd..b92795529a53 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -326,6 +326,8 @@ static void thermal_zone_device_halt(struct thermal_zone_device *tz, bool shutdo
 
 	if (shutdown)
 		hw_protection_shutdown(msg, poweroff_delay_ms);
+	else
+		hw_protection_reboot(msg, poweroff_delay_ms);
 }
 
 void thermal_zone_device_critical(struct thermal_zone_device *tz)
@@ -334,6 +336,11 @@ void thermal_zone_device_critical(struct thermal_zone_device *tz)
 }
 EXPORT_SYMBOL(thermal_zone_device_critical);
 
+void thermal_zone_device_critical_reboot(struct thermal_zone_device *tz)
+{
+	thermal_zone_device_halt(tz, false);
+}
+
 static void handle_critical_trips(struct thermal_zone_device *tz,
 				  int trip, int trip_temp, enum thermal_trip_type trip_type)
 {
diff --git a/include/linux/reboot.h b/include/linux/reboot.h
index 4586c663884e..abcdde4df697 100644
--- a/include/linux/reboot.h
+++ b/include/linux/reboot.h
@@ -179,6 +179,11 @@ extern void orderly_poweroff(bool force);
 extern void orderly_reboot(void);
 void __hw_protection_shutdown(const char *reason, int ms_until_forced, bool shutdown);
 
+static inline void hw_protection_reboot(const char *reason, int ms_until_forced)
+{
+	__hw_protection_shutdown(reason, ms_until_forced, false);
+}
+
 static inline void hw_protection_shutdown(const char *reason, int ms_until_forced)
 {
 	__hw_protection_shutdown(reason, ms_until_forced, true);
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index 6710a4ace992..a026ce390a87 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -361,6 +361,7 @@ int thermal_zone_get_offset(struct thermal_zone_device *tz);
 int thermal_zone_device_enable(struct thermal_zone_device *tz);
 int thermal_zone_device_disable(struct thermal_zone_device *tz);
 void thermal_zone_device_critical(struct thermal_zone_device *tz);
+void thermal_zone_device_critical_reboot(struct thermal_zone_device *tz);
 #else
 static inline struct thermal_zone_device *thermal_zone_device_register_with_trips(
 					const char *type,
diff --git a/kernel/reboot.c b/kernel/reboot.c
index b236c4c06bb3..7bc01b38629a 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -957,19 +957,22 @@ static void hw_failure_emergency_poweroff(int poweroff_delay_ms)
 }
 
 /**
- * __hw_protection_shutdown - Trigger an emergency system poweroff
+ * __hw_protection_shutdown - Trigger an emergency system shutdown or reboot
  *
- * @reason:		Reason of emergency shutdown to be printed.
- * @ms_until_forced:	Time to wait for orderly shutdown before tiggering a
- *			forced shudown. Negative value disables the forced
- *			shutdown.
+ * @reason:		Reason of emergency shutdown or reboot to be printed.
+ * @ms_until_forced:	Time to wait for orderly shutdown or reboot before
+ *			triggering it. Negative value disables the forced
+ *			shutdown or reboot.
+ * @shutdown:		If true, indicates that a shutdown will happen
+ *			after the critical tempeature is reached.
+ *			If false, indicates that a reboot will happen
+ *			after the critical tempeature is reached.
  *
- * Initiate an emergency system shutdown in order to protect hardware from
- * further damage. Usage examples include a thermal protection or a voltage or
- * current regulator failures.
- * NOTE: The request is ignored if protection shutdown is already pending even
- * if the previous request has given a large timeout for forced shutdown.
- * Can be called from any context.
+ * Initiate an emergency system shutdown or reboot in order to protect
+ * hardware from further damage. Usage examples include a thermal protection.
+ * NOTE: The request is ignored if protection shutdown or reboot is already
+ * pending even if the previous request has given a large timeout for forced
+ * shutdown/reboot.
  */
 void __hw_protection_shutdown(const char *reason, int ms_until_forced, bool shutdown)
 {
@@ -988,6 +991,8 @@ void __hw_protection_shutdown(const char *reason, int ms_until_forced, bool shut
 	hw_failure_emergency_poweroff(ms_until_forced);
 	if (shutdown)
 		orderly_poweroff(true);
+	else
+		orderly_reboot();
 }
 
 static int __init reboot_setup(char *str)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v10 4/4] thermal: thermal_of: Allow rebooting after critical temp
  2023-10-06 18:04 [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
  2023-10-06 18:04 ` [PATCH v10 2/4] thermal_core: Prepare for introduction of thermal reboot Fabio Estevam
  2023-10-06 18:04 ` [PATCH v10 3/4] reboot: Introduce thermal_zone_device_critical_reboot() Fabio Estevam
@ 2023-10-06 18:04 ` Fabio Estevam
  2023-10-13 10:39 ` [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
  3 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2023-10-06 18:04 UTC (permalink / raw)
  To: daniel.lezcano
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam

From: Fabio Estevam <festevam@denx.de>

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>
---
Changes since v9:
- Fixed a typo in the Subject.

 drivers/thermal/thermal_of.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c
index 1e0655b63259..4d6c22e0ed85 100644
--- a/drivers/thermal/thermal_of.c
+++ b/drivers/thermal/thermal_of.c
@@ -475,6 +475,7 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node *
 	struct thermal_zone_params tzp = {};
 	struct thermal_zone_device_ops *of_ops;
 	struct device_node *np;
+	const char *action;
 	int delay, pdelay;
 	int ntrips, mask;
 	int ret;
@@ -511,6 +512,11 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node *
 
 	mask = GENMASK_ULL((ntrips) - 1, 0);
 
+	ret = of_property_read_string(np, "critical-action", &action);
+	if (!ret)
+		if (!of_ops->critical && !strcasecmp(action, "reboot"))
+			of_ops->critical = thermal_zone_device_critical_reboot;
+
 	tz = thermal_zone_device_register_with_trips(np->name, trips, ntrips,
 						     mask, data, of_ops, &tzp,
 						     pdelay, delay);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action
  2023-10-06 18:04 [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
                   ` (2 preceding siblings ...)
  2023-10-06 18:04 ` [PATCH v10 4/4] thermal: thermal_of: Allow rebooting after critical temp Fabio Estevam
@ 2023-10-13 10:39 ` Fabio Estevam
  2023-10-15 21:54   ` Daniel Lezcano
  3 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2023-10-13 10:39 UTC (permalink / raw)
  To: daniel.lezcano
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam, Krzysztof Kozlowski

Hi Daniel,

On Fri, Oct 6, 2023 at 3:05 PM Fabio Estevam <festevam@gmail.com> wrote:
>
> From: Fabio Estevam <festevam@denx.de>
>
> Document the critical-action property to describe the thermal action
> the OS should perform after the critical temperature is reached.

Are you happy with the v10 series?

Thanks

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action
  2023-10-13 10:39 ` [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
@ 2023-10-15 21:54   ` Daniel Lezcano
  2023-10-17 12:37     ` Fabio Estevam
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Lezcano @ 2023-10-15 21:54 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam, Krzysztof Kozlowski

On 13/10/2023 12:39, Fabio Estevam wrote:
> Hi Daniel,
> 
> On Fri, Oct 6, 2023 at 3:05 PM Fabio Estevam <festevam@gmail.com> wrote:
>>
>> From: Fabio Estevam <festevam@denx.de>
>>
>> Document the critical-action property to describe the thermal action
>> the OS should perform after the critical temperature is reached.
> 
> Are you happy with the v10 series?

Yes, I think they are fine except one thing.

The include/linux/reboot.h is changed along with thermal*.c file. IMO it 
is preferable to have separate patch, I mean all reboot.h changes folded 
in a single patch before the thermal_*.c changes. It is actually 
orphaned and we should ask Matti Vaittinen <mazziesaccount@gmail.com> 
its acked-by as he is the author of the code you are changing. 
Otherwise, he will have to ack the patches which contain also thermal 
code which is not its area.

-- 
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action
  2023-10-15 21:54   ` Daniel Lezcano
@ 2023-10-17 12:37     ` Fabio Estevam
  2023-11-13 16:03       ` Fabio Estevam
  0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2023-10-17 12:37 UTC (permalink / raw)
  To: Daniel Lezcano
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam, Krzysztof Kozlowski

Hi Daniel,

On Sun, Oct 15, 2023 at 6:54 PM Daniel Lezcano
<daniel.lezcano@linaro.org> wrote:

> > Are you happy with the v10 series?
>
> Yes, I think they are fine except one thing.
>
> The include/linux/reboot.h is changed along with thermal*.c file. IMO it
> is preferable to have separate patch, I mean all reboot.h changes folded
> in a single patch before the thermal_*.c changes. It is actually

I tried to follow your suggestion of putting all reboot.h changes
folded in a single patch before the thermal_*.c changes,
but I don't think I can do this split and maintain a logic patch
separation and bisectability.

> orphaned and we should ask Matti Vaittinen <mazziesaccount@gmail.com>
> its acked-by as he is the author of the code you are changing.
> Otherwise, he will have to ack the patches which contain also thermal
> code which is not its area.

The reason I haven't added Matti on Cc on the series is that
get_maintainer did not list him. Added him on Cc now.

Maybe Matti could help acking patches 2/4 and 3/4?

Full series:

https://lore.kernel.org/linux-pm/20231006180453.2903342-1-festevam@gmail.com/

https://lore.kernel.org/linux-pm/20231006180453.2903342-2-festevam@gmail.com/

https://lore.kernel.org/linux-pm/20231006180453.2903342-3-festevam@gmail.com/

https://lore.kernel.org/linux-pm/20231006180453.2903342-4-festevam@gmail.com/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action
  2023-10-17 12:37     ` Fabio Estevam
@ 2023-11-13 16:03       ` Fabio Estevam
  0 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2023-11-13 16:03 UTC (permalink / raw)
  To: Daniel Lezcano
  Cc: rafael, krzysztof.kozlowski+dt, robh+dt, conor+dt, linux-pm,
	devicetree, Fabio Estevam, Krzysztof Kozlowski

Hi Daniel,

Now that 6.7-rc1 is out, could you please consider taking this series?

Thanks

On Tue, Oct 17, 2023 at 9:37 AM Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Daniel,
>
> On Sun, Oct 15, 2023 at 6:54 PM Daniel Lezcano
> <daniel.lezcano@linaro.org> wrote:
>
> > > Are you happy with the v10 series?
> >
> > Yes, I think they are fine except one thing.
> >
> > The include/linux/reboot.h is changed along with thermal*.c file. IMO it
> > is preferable to have separate patch, I mean all reboot.h changes folded
> > in a single patch before the thermal_*.c changes. It is actually
>
> I tried to follow your suggestion of putting all reboot.h changes
> folded in a single patch before the thermal_*.c changes,
> but I don't think I can do this split and maintain a logic patch
> separation and bisectability.
>
> > orphaned and we should ask Matti Vaittinen <mazziesaccount@gmail.com>
> > its acked-by as he is the author of the code you are changing.
> > Otherwise, he will have to ack the patches which contain also thermal
> > code which is not its area.
>
> The reason I haven't added Matti on Cc on the series is that
> get_maintainer did not list him. Added him on Cc now.
>
> Maybe Matti could help acking patches 2/4 and 3/4?
>
> Full series:
>
> https://lore.kernel.org/linux-pm/20231006180453.2903342-1-festevam@gmail.com/
>
> https://lore.kernel.org/linux-pm/20231006180453.2903342-2-festevam@gmail.com/
>
> https://lore.kernel.org/linux-pm/20231006180453.2903342-3-festevam@gmail.com/
>
> https://lore.kernel.org/linux-pm/20231006180453.2903342-4-festevam@gmail.com/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-11-13 16:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-06 18:04 [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
2023-10-06 18:04 ` [PATCH v10 2/4] thermal_core: Prepare for introduction of thermal reboot Fabio Estevam
2023-10-06 18:04 ` [PATCH v10 3/4] reboot: Introduce thermal_zone_device_critical_reboot() Fabio Estevam
2023-10-06 18:04 ` [PATCH v10 4/4] thermal: thermal_of: Allow rebooting after critical temp Fabio Estevam
2023-10-13 10:39 ` [PATCH v10 1/4] dt-bindings: thermal-zones: Document critical-action Fabio Estevam
2023-10-15 21:54   ` Daniel Lezcano
2023-10-17 12:37     ` Fabio Estevam
2023-11-13 16:03       ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).