* [PATCH v2 1/4] ACPI: utils: Add exclusive AML evaluation helpers
2026-10-17 13:06 [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Ali Ahmet Memiş
@ 2026-10-17 13:06 ` Ali Ahmet Memiş
2026-10-17 13:06 ` [PATCH v2 2/4] ACPI: battery: Evaluate battery methods exclusively Ali Ahmet Memiş
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Ali Ahmet Memiş @ 2026-10-17 13:06 UTC (permalink / raw)
To: Rafael J . Wysocki
Cc: Hans de Goede, Rong Zhang, Len Brown, Daniel Lezcano, Zhang Rui,
Lukasz Luba, Ilpo Järvinen, Ike Panhc, Derek J . Clark,
Mark Pearson, Armin Wolf, Charis Stratakis, Avraham Hollander,
Jeffrey Wälti, Rick, linux-acpi, linux-pm,
platform-driver-x86, acpica-devel, linux-kernel, stable
ACPICA drops the interpreter lock while AML waits, for example around EC
accesses, so two methods can run interleaved. Some firmware relies on
methods not interleaving, for instance by switching an EC page selector
without taking the AML mutex that the other users of that page hold.
Add acpi_evaluate_object_exclusive(), acpi_evaluate_integer_exclusive()
and acpi_execute_simple_method_exclusive() which serialize the
evaluation under a global mutex, for callers that are known to be
affected.
Suggested-by: Rafael J. Wysocki <rafael@kernel.org>
Link: https://lore.kernel.org/all/CAJZ5v0gS4agVUkCO6M=VW4Wi2y1-s+k23bpzmX9aAZ0Rsv4z9Q@mail.gmail.com/
Cc: stable@vger.kernel.org
Signed-off-by: Ali Ahmet Memiş <aliamemis@disroot.org>
---
drivers/acpi/utils.c | 41 +++++++++++++++++++++++++++++++++++++++++
include/acpi/acpi_bus.h | 7 +++++++
2 files changed, 48 insertions(+)
diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index d499b72574ab..ea8cb876c12d 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -10,6 +10,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/types.h>
@@ -243,6 +244,28 @@ acpi_extract_package(union acpi_object *package,
EXPORT_SYMBOL(acpi_extract_package);
+static DEFINE_MUTEX(acpi_exclusive_eval_lock);
+
+/**
+ * acpi_evaluate_object_exclusive - Evaluate an object without interleaving
+ * @handle: ACPI handle of the object or its scope.
+ * @pathname: Path of the object relative to @handle.
+ * @arguments: Arguments to pass, or NULL.
+ * @buffer: Buffer for the return value, or NULL.
+ *
+ * Same as acpi_evaluate_object(), but serialized with other exclusive
+ * evaluations. Use it only for methods known to break when interleaved.
+ */
+acpi_status acpi_evaluate_object_exclusive(acpi_handle handle, acpi_string pathname,
+ struct acpi_object_list *arguments,
+ struct acpi_buffer *buffer)
+{
+ guard(mutex)(&acpi_exclusive_eval_lock);
+
+ return acpi_evaluate_object(handle, pathname, arguments, buffer);
+}
+EXPORT_SYMBOL_GPL(acpi_evaluate_object_exclusive);
+
acpi_status
acpi_evaluate_integer(acpi_handle handle,
acpi_string pathname,
@@ -277,6 +300,16 @@ acpi_evaluate_integer(acpi_handle handle,
EXPORT_SYMBOL(acpi_evaluate_integer);
+acpi_status acpi_evaluate_integer_exclusive(acpi_handle handle, acpi_string pathname,
+ struct acpi_object_list *arguments,
+ unsigned long long *data)
+{
+ guard(mutex)(&acpi_exclusive_eval_lock);
+
+ return acpi_evaluate_integer(handle, pathname, arguments, data);
+}
+EXPORT_SYMBOL_GPL(acpi_evaluate_integer_exclusive);
+
int acpi_get_local_u64_address(acpi_handle handle, u64 *addr)
{
acpi_status status;
@@ -685,6 +718,14 @@ acpi_status acpi_execute_simple_method(acpi_handle handle, char *method,
}
EXPORT_SYMBOL(acpi_execute_simple_method);
+acpi_status acpi_execute_simple_method_exclusive(acpi_handle handle, char *method, u64 arg)
+{
+ guard(mutex)(&acpi_exclusive_eval_lock);
+
+ return acpi_execute_simple_method(handle, method, arg);
+}
+EXPORT_SYMBOL_GPL(acpi_execute_simple_method_exclusive);
+
/**
* acpi_evaluate_ej0: Evaluate _EJ0 method for hotplug operations
* @handle: ACPI device handle
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index a10a591c18b2..8b1d329455f7 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -32,6 +32,12 @@ acpi_status
acpi_evaluate_integer(acpi_handle handle,
acpi_string pathname,
struct acpi_object_list *arguments, unsigned long long *data);
+acpi_status acpi_evaluate_object_exclusive(acpi_handle handle, acpi_string pathname,
+ struct acpi_object_list *arguments,
+ struct acpi_buffer *buffer);
+acpi_status acpi_evaluate_integer_exclusive(acpi_handle handle, acpi_string pathname,
+ struct acpi_object_list *arguments,
+ unsigned long long *data);
bool acpi_evaluate_reference(acpi_handle handle, acpi_string pathname,
struct acpi_object_list *arguments,
struct acpi_handle_list *list);
@@ -48,6 +54,7 @@ acpi_evaluate_ost(acpi_handle handle, u32 source_event, u32 status_code,
bool acpi_has_method(acpi_handle handle, char *name);
acpi_status acpi_execute_simple_method(acpi_handle handle, char *method,
u64 arg);
+acpi_status acpi_execute_simple_method_exclusive(acpi_handle handle, char *method, u64 arg);
acpi_status acpi_evaluate_ej0(acpi_handle handle);
acpi_status acpi_evaluate_lck(acpi_handle handle, int lock);
acpi_status acpi_evaluate_reg(acpi_handle handle, u8 space_id, u32 function);
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v2 2/4] ACPI: battery: Evaluate battery methods exclusively
2026-10-17 13:06 [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Ali Ahmet Memiş
2026-10-17 13:06 ` [PATCH v2 1/4] ACPI: utils: Add exclusive AML evaluation helpers Ali Ahmet Memiş
@ 2026-10-17 13:06 ` Ali Ahmet Memiş
2026-10-17 13:06 ` [PATCH v2 3/4] thermal: intel: int340x: Evaluate _TMP exclusively Ali Ahmet Memiş
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Ali Ahmet Memiş @ 2026-10-17 13:06 UTC (permalink / raw)
To: Rafael J . Wysocki
Cc: Hans de Goede, Rong Zhang, Len Brown, Daniel Lezcano, Zhang Rui,
Lukasz Luba, Ilpo Järvinen, Ike Panhc, Derek J . Clark,
Mark Pearson, Armin Wolf, Charis Stratakis, Avraham Hollander,
Jeffrey Wälti, Rick, linux-acpi, linux-pm,
platform-driver-x86, acpica-devel, linux-kernel, stable
On ThinkPad P1 Gen2 and P53, INT3403 _TMP switches the EC page selector
without taking the AML mutex the battery methods use, so _BIX and _BST
running at the same time can read the wrong page. Since commit d33e89d12295
("thermal: core: Suspend thermal zones later and resume them earlier")
this happens on most resumes.
Evaluate the battery methods with acpi_evaluate_object_exclusive().
Fixes: d33e89d12295 ("thermal: core: Suspend thermal zones later and resume them earlier")
Reported-by: Charis Stratakis <c.stratakis@proton.me>
Closes: https://lore.kernel.org/all/37N_jFulf7n-Z55NfKfE71C_wVPxYvZ0xD_iRUg2fXu7TypDiF5PStQ6siSfVBih6fThg5WoPes8U5ZQpfVm_teMFcUGXFxz2DdMbfSWuws=@proton.me/
Cc: stable@vger.kernel.org
Signed-off-by: Ali Ahmet Memiş <aliamemis@disroot.org>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Reviewed-by: Rong Zhang <i@rong.moe>
---
drivers/acpi/battery.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 670853ec3a4d..7169ac7e83f3 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -583,9 +583,8 @@ static int acpi_battery_get_info(struct acpi_battery *battery)
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
acpi_status status = AE_ERROR;
- status = acpi_evaluate_object(battery->device->handle,
- use_bix ? "_BIX":"_BIF",
- NULL, &buffer);
+ status = acpi_evaluate_object_exclusive(battery->device->handle,
+ use_bix ? "_BIX" : "_BIF", NULL, &buffer);
if (ACPI_FAILURE(status)) {
acpi_handle_info(battery->device->handle,
@@ -624,8 +623,7 @@ static int acpi_battery_get_state(struct acpi_battery *battery)
msecs_to_jiffies(cache_time)))
return 0;
- status = acpi_evaluate_object(battery->device->handle, "_BST",
- NULL, &buffer);
+ status = acpi_evaluate_object_exclusive(battery->device->handle, "_BST", NULL, &buffer);
if (ACPI_FAILURE(status)) {
acpi_handle_info(battery->device->handle,
"_BST evaluation failed: %s",
@@ -675,8 +673,8 @@ static int acpi_battery_set_alarm(struct acpi_battery *battery)
!test_bit(ACPI_BATTERY_ALARM_PRESENT, &battery->flags))
return -ENODEV;
- status = acpi_execute_simple_method(battery->device->handle, "_BTP",
- battery->alarm);
+ status = acpi_execute_simple_method_exclusive(battery->device->handle, "_BTP",
+ battery->alarm);
if (ACPI_FAILURE(status))
return -ENODEV;
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v2 3/4] thermal: intel: int340x: Evaluate _TMP exclusively
2026-10-17 13:06 [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Ali Ahmet Memiş
2026-10-17 13:06 ` [PATCH v2 1/4] ACPI: utils: Add exclusive AML evaluation helpers Ali Ahmet Memiş
2026-10-17 13:06 ` [PATCH v2 2/4] ACPI: battery: Evaluate battery methods exclusively Ali Ahmet Memiş
@ 2026-10-17 13:06 ` Ali Ahmet Memiş
2026-10-17 13:08 ` [PATCH v2 4/4] platform/x86: ideapad-laptop: Evaluate ACPI methods exclusively Ali Ahmet Memiş
2026-10-17 18:06 ` [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Rong Zhang
4 siblings, 0 replies; 7+ messages in thread
From: Ali Ahmet Memiş @ 2026-10-17 13:06 UTC (permalink / raw)
To: Rafael J . Wysocki
Cc: Hans de Goede, Rong Zhang, Len Brown, Daniel Lezcano, Zhang Rui,
Lukasz Luba, Ilpo Järvinen, Ike Panhc, Derek J . Clark,
Mark Pearson, Armin Wolf, Charis Stratakis, Avraham Hollander,
Jeffrey Wälti, Rick, linux-acpi, linux-pm,
platform-driver-x86, acpica-devel, linux-kernel, stable
On ThinkPad P1 Gen2 and P53, INT3403 _TMP switches the EC page selector
without taking the mutex the battery methods use, so it must not run
interleaved with them.
Evaluate _TMP with acpi_evaluate_integer_exclusive().
Fixes: d33e89d12295 ("thermal: core: Suspend thermal zones later and resume them earlier")
Reported-by: Charis Stratakis <c.stratakis@proton.me>
Closes: https://lore.kernel.org/all/37N_jFulf7n-Z55NfKfE71C_wVPxYvZ0xD_iRUg2fXu7TypDiF5PStQ6siSfVBih6fThg5WoPes8U5ZQpfVm_teMFcUGXFxz2DdMbfSWuws=@proton.me/
Cc: stable@vger.kernel.org
Signed-off-by: Ali Ahmet Memiş <aliamemis@disroot.org>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Reviewed-by: Rong Zhang <i@rong.moe>
---
.../thermal/intel/int340x_thermal/int340x_thermal_zone.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
index 965700ee6962..9451fea1f65c 100644
--- a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
+++ b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
@@ -18,7 +18,11 @@ static int int340x_thermal_get_zone_temp(struct thermal_zone_device *zone,
unsigned long long tmp;
acpi_status status;
- status = acpi_evaluate_integer(d->adev->handle, "_TMP", NULL, &tmp);
+ /*
+ * On some ThinkPads _TMP switches the EC page selector without
+ * taking the mutex the battery methods use.
+ */
+ status = acpi_evaluate_integer_exclusive(d->adev->handle, "_TMP", NULL, &tmp);
if (ACPI_FAILURE(status))
return -EIO;
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v2 4/4] platform/x86: ideapad-laptop: Evaluate ACPI methods exclusively
2026-10-17 13:06 [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Ali Ahmet Memiş
` (2 preceding siblings ...)
2026-10-17 13:06 ` [PATCH v2 3/4] thermal: intel: int340x: Evaluate _TMP exclusively Ali Ahmet Memiş
@ 2026-10-17 13:08 ` Ali Ahmet Memiş
2026-10-17 18:06 ` [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Rong Zhang
4 siblings, 0 replies; 7+ messages in thread
From: Ali Ahmet Memiş @ 2026-10-17 13:08 UTC (permalink / raw)
To: Rafael J . Wysocki
Cc: Hans de Goede, Rong Zhang, Len Brown, Daniel Lezcano, Zhang Rui,
Lukasz Luba, Ilpo Järvinen, Ike Panhc, Derek J . Clark,
Mark Pearson, Armin Wolf, Charis Stratakis, Avraham Hollander,
Jeffrey Wälti, Rick, linux-acpi, linux-pm,
platform-driver-x86, acpica-devel, linux-kernel
On some Lenovo IdeaPad and Yoga models, the battery _BIX takes the EC
AML mutex and then calls the serialized RDER through RDIF, while GBMD
calls RDER first and then takes the EC mutex. When the two run
interleaved they deadlock until the mutex acquisition in RDER times
out, and GBMD returns garbage that is reported as both charge types
being enabled.
Evaluate all methods with the exclusive helpers, so that GBMD never runs
interleaved with the battery methods.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=221065
Link: https://lore.kernel.org/all/58586fa666f09c209f9d7fe8c692a8bdda6d4410.camel@rong.moe/
Signed-off-by: Ali Ahmet Memiş <aliamemis@disroot.org>
---
drivers/platform/x86/lenovo/ideapad-laptop.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/platform/x86/lenovo/ideapad-laptop.c b/drivers/platform/x86/lenovo/ideapad-laptop.c
index 8213524504ee..1335f4e48870 100644
--- a/drivers/platform/x86/lenovo/ideapad-laptop.c
+++ b/drivers/platform/x86/lenovo/ideapad-laptop.c
@@ -297,12 +297,16 @@ static void ideapad_shared_exit(struct ideapad_private *priv)
#define IDEAPAD_EC_POLL_MIN_US 150
#define IDEAPAD_EC_POLL_MAX_US 300
+/*
+ * On some models GBMD and the battery _BIX take the EC mutex and a
+ * serialized method in opposite order, so evaluate all methods exclusively.
+ */
static int eval_int(acpi_handle handle, const char *name, unsigned long *res)
{
unsigned long long result;
acpi_status status;
- status = acpi_evaluate_integer(handle, (char *)name, NULL, &result);
+ status = acpi_evaluate_integer_exclusive(handle, (char *)name, NULL, &result);
if (ACPI_FAILURE(status))
return -EIO;
@@ -324,7 +328,7 @@ static int eval_int_with_arg(acpi_handle handle, const char *name, unsigned long
in_obj.type = ACPI_TYPE_INTEGER;
in_obj.integer.value = arg;
- status = acpi_evaluate_integer(handle, (char *)name, ¶ms, &result);
+ status = acpi_evaluate_integer_exclusive(handle, (char *)name, ¶ms, &result);
if (ACPI_FAILURE(status))
return -EIO;
@@ -336,7 +340,7 @@ static int eval_int_with_arg(acpi_handle handle, const char *name, unsigned long
static int exec_simple_method(acpi_handle handle, const char *name, unsigned long arg)
{
- acpi_status status = acpi_execute_simple_method(handle, (char *)name, arg);
+ acpi_status status = acpi_execute_simple_method_exclusive(handle, (char *)name, arg);
return ACPI_FAILURE(status) ? -EIO : 0;
}
@@ -394,7 +398,7 @@ static int eval_vpcw(acpi_handle handle, unsigned long cmd, unsigned long data)
in_obj[1].type = ACPI_TYPE_INTEGER;
in_obj[1].integer.value = data;
- status = acpi_evaluate_object(handle, "VPCW", ¶ms, NULL);
+ status = acpi_evaluate_object_exclusive(handle, "VPCW", ¶ms, NULL);
if (ACPI_FAILURE(status))
return -EIO;
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods
2026-10-17 13:06 [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Ali Ahmet Memiş
` (3 preceding siblings ...)
2026-10-17 13:08 ` [PATCH v2 4/4] platform/x86: ideapad-laptop: Evaluate ACPI methods exclusively Ali Ahmet Memiş
@ 2026-10-17 18:06 ` Rong Zhang
2026-10-17 18:24 ` Rong Zhang
4 siblings, 1 reply; 7+ messages in thread
From: Rong Zhang @ 2026-10-17 18:06 UTC (permalink / raw)
To: Ali Ahmet Memi�0�6, Rafael J . Wysocki
Cc: Hans de Goede, Len Brown, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Ilpo Järvinen, Ike Panhc, Derek J . Clark, Mark Pearson,
Armin Wolf, Charis Stratakis, Avraham Hollander,
Jeffrey Wälti, Rick, linux-acpi, linux-pm,
platform-driver-x86, acpica-devel, linux-kernel
Hi Ali,
On Sat, 2026-10-17 at 16:06 +0300, Ali Ahmet Memiş wrote:
> On ThinkPad P1 Gen2 and P53, INT3403 _TMP switches the EC page selector
> without taking the mutex the battery methods use. On some Lenovo
> IdeaPad and Yoga models, the battery _BIX and the ideapad GBMD take the
> EC mutex and a serialized method in opposite order and deadlock until
> an AML mutex times out.
>
> As discussed in [1], add exclusive variants of the AML evaluation
> helpers and use them for the battery, INT3403 _TMP
>
int3403_add() seems to be another call site of INT3403 _TMP, but PATCH 3
didn't touch it. Is it intended?
> and ideapad methods.
> Patches 2-4 depend on patch 1.
>
> Changes in v2:
> - Merge the follow-up series [2] and drop its EC query and UCSI patches
> until they are shown to help
> - Add acpi_execute_simple_method_exclusive() for _BTP and ideapad
> - Make the helpers wrappers that take the lock around the existing ones
You dropped Hans' R-b from PATCH 1 due to the massive change. The next
time you do the similar, please add a note to the changelog.
> - Join lines up to 100 columns, add a Link: for Suggested-by:
>
> Link: https://lore.kernel.org/all/CAJZ5v0gS4agVUkCO6M=VW4Wi2y1-s+k23bpzmX9aAZ0Rsv4z9Q@mail.gmail.com/ [1]
> Link: https://lore.kernel.org/all/20261014190544.150093-1-aliamemis@disroot.org/ [2]
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221065
> v1: https://lore.kernel.org/all/20261014132703.93355-1-aliamemis@disroot.org/
The series is now neat to me.
With int3403_add() fixed (or explained), for the series:
Reviewed-by: Rong Zhang <i@rong.moe>
Thanks,
Rong
>
> Ali Ahmet Memiş (4):
> ACPI: utils: Add exclusive AML evaluation helpers
> ACPI: battery: Evaluate battery methods exclusively
> thermal: intel: int340x: Evaluate _TMP exclusively
> platform/x86: ideapad-laptop: Evaluate ACPI methods exclusively
>
> drivers/acpi/battery.c | 12 +++---
> drivers/acpi/utils.c | 41 +++++++++++++++++++
> drivers/platform/x86/lenovo/ideapad-laptop.c | 12 ++++--
> .../int340x_thermal/int340x_thermal_zone.c | 6 ++-
> include/acpi/acpi_bus.h | 7 ++++
> 5 files changed, 66 insertions(+), 12 deletions(-)
>
>
> base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods
2026-10-17 18:06 ` [PATCH v2 0/4] ACPI: Serialize battery, INT3403 _TMP and ideapad methods Rong Zhang
@ 2026-10-17 18:24 ` Rong Zhang
0 siblings, 0 replies; 7+ messages in thread
From: Rong Zhang @ 2026-10-17 18:24 UTC (permalink / raw)
To: Ali Ahmet Memi�0�6, Rafael J . Wysocki
Cc: Hans de Goede, Len Brown, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Ilpo Järvinen, Ike Panhc, Derek J . Clark, Mark Pearson,
Armin Wolf, Charis Stratakis, Avraham Hollander,
Jeffrey Wälti, Rick, linux-acpi, linux-pm,
platform-driver-x86, acpica-devel, linux-kernel
On Sun, 2026-10-18 at 02:06 +0800, Rong Zhang wrote:
> Hi Ali,
>
> On Sat, 2026-10-17 at 16:06 +0300, Ali Ahmet Memiş wrote:
> > On ThinkPad P1 Gen2 and P53, INT3403 _TMP switches the EC page selector
> > without taking the mutex the battery methods use. On some Lenovo
> > IdeaPad and Yoga models, the battery _BIX and the ideapad GBMD take the
> > EC mutex and a serialized method in opposite order and deadlock until
> > an AML mutex times out.
> >
> > As discussed in [1], add exclusive variants of the AML evaluation
> > helpers and use them for the battery, INT3403 _TMP
> >
>
> int3403_add() seems to be another call site of INT3403 _TMP, but PATCH 3
> didn't touch it. Is it intended?
If the device is probed through PCI, proc_thermal_add() may be relevant,
too.
Thanks,
Rong
>
> > and ideapad methods.
> > Patches 2-4 depend on patch 1.
> >
> > Changes in v2:
> > - Merge the follow-up series [2] and drop its EC query and UCSI patches
> > until they are shown to help
> > - Add acpi_execute_simple_method_exclusive() for _BTP and ideapad
> > - Make the helpers wrappers that take the lock around the existing ones
>
> You dropped Hans' R-b from PATCH 1 due to the massive change. The next
> time you do the similar, please add a note to the changelog.
>
> > - Join lines up to 100 columns, add a Link: for Suggested-by:
> >
> > Link: https://lore.kernel.org/all/CAJZ5v0gS4agVUkCO6M=VW4Wi2y1-s+k23bpzmX9aAZ0Rsv4z9Q@mail.gmail.com/ [1]
> > Link: https://lore.kernel.org/all/20261014190544.150093-1-aliamemis@disroot.org/ [2]
> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=221065
> > v1: https://lore.kernel.org/all/20261014132703.93355-1-aliamemis@disroot.org/
>
> The series is now neat to me.
>
> With int3403_add() fixed (or explained), for the series:
>
> Reviewed-by: Rong Zhang <i@rong.moe>
>
> Thanks,
> Rong
>
> >
> > Ali Ahmet Memiş (4):
> > ACPI: utils: Add exclusive AML evaluation helpers
> > ACPI: battery: Evaluate battery methods exclusively
> > thermal: intel: int340x: Evaluate _TMP exclusively
> > platform/x86: ideapad-laptop: Evaluate ACPI methods exclusively
> >
> > drivers/acpi/battery.c | 12 +++---
> > drivers/acpi/utils.c | 41 +++++++++++++++++++
> > drivers/platform/x86/lenovo/ideapad-laptop.c | 12 ++++--
> > .../int340x_thermal/int340x_thermal_zone.c | 6 ++-
> > include/acpi/acpi_bus.h | 7 ++++
> > 5 files changed, 66 insertions(+), 12 deletions(-)
> >
> >
> > base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907
^ permalink raw reply [flat|nested] 7+ messages in thread