mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
@ 2026-10-17 23:16 Rong Zhang
  2026-10-17 23:16 ` [PATCH 1/2] platform/x86: ideapad-laptop: Factor out charge_types methods for internal use Rong Zhang
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Rong Zhang @ 2026-10-17 23:16 UTC (permalink / raw)
  To: Ike Panhc, Mark Pearson, Derek J. Clark, Hans de Goede,
	Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, stable, Rong Zhang

It was reported [1] that some unfortunate combinations of BIOS and
Lenovo utilities (e.g., Legion Go 2 + Legion Space) may enable Rapid
Charge and Conservation Mode at the same time, which is very out of
sepc.

If both are enabled during a previous Windows boot, ideapad-laptop will
see both bits set and correctly shout "unexpected charge_types".

A planned BIOS update will address this. Before that, if unexpected
charge_types are encountered on probe, enforce [Long_Life] to prevent
the device from operating in an out-of-spec state. On check or fix
failure, skip registering the battery hook and the conservation_mode
attribute.

Note: the switches never enable themselves autonomously, so there is no
need to fix it during runtime.

Fixes: 90430ea98f55 ("platform/x86: ideapad-laptop: Add charge_types:Fast (Rapid Charge)")
Closes: https://github.com/ValveSoftware/SteamOS/issues/2876 [1]
Signed-off-by: Rong Zhang <i@rong.moe>
---
Rong Zhang (2):
      platform/x86: ideapad-laptop: Factor out charge_types methods for internal use
      platform/x86: ideapad-laptop: Fix unexpected charge_types on probe

 drivers/platform/x86/lenovo/ideapad-laptop.c | 113 ++++++++++++++++++++-------
 1 file changed, 84 insertions(+), 29 deletions(-)
---
base-commit: 58161ead29e50d70a317ea26b472e0c7508e69da
change-id: ef28eda4-ideapad-fix-charge-types-067d46d08945

Thanks,
Rong


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

* [PATCH 1/2] platform/x86: ideapad-laptop: Factor out charge_types methods for internal use
  2026-10-17 23:16 [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe Rong Zhang
@ 2026-10-17 23:16 ` Rong Zhang
  2026-10-17 23:16 ` [PATCH 2/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe Rong Zhang
  2026-10-18  5:30 ` [PATCH 0/2] " Derek J. Clark
  2 siblings, 0 replies; 6+ messages in thread
From: Rong Zhang @ 2026-10-17 23:16 UTC (permalink / raw)
  To: Ike Panhc, Mark Pearson, Derek J. Clark, Hans de Goede,
	Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, stable, Rong Zhang

In the following changes, charge_types will be checked before
registering the battery hook.

Factor out charge_types get/set methods for internal use.

Fixes: 90430ea98f55 ("platform/x86: ideapad-laptop: Add charge_types:Fast (Rapid Charge)")
Cc: stable@vger.kernel.org
Signed-off-by: Rong Zhang <i@rong.moe>
---
 drivers/platform/x86/lenovo/ideapad-laptop.c | 57 +++++++++++++++++-----------
 1 file changed, 34 insertions(+), 23 deletions(-)

diff --git a/drivers/platform/x86/lenovo/ideapad-laptop.c b/drivers/platform/x86/lenovo/ideapad-laptop.c
index 8213524504ee..40dab4d321a4 100644
--- a/drivers/platform/x86/lenovo/ideapad-laptop.c
+++ b/drivers/platform/x86/lenovo/ideapad-laptop.c
@@ -2032,17 +2032,13 @@ static const struct dmi_system_id ctrl_ps2_aux_port_list[] = {
 	{}
 };
 
-static int ideapad_psy_ext_set_prop(struct power_supply *psy,
-				    const struct power_supply_ext *ext,
-				    void *ext_data,
-				    enum power_supply_property psp,
-				    const union power_supply_propval *val)
+static int ideapad_set_charge_types(struct ideapad_private *priv,
+				    enum power_supply_charge_type charge_type)
 {
-	struct ideapad_private *priv = ext_data;
 	unsigned long op1, op2;
 	int err;
 
-	switch (val->intval) {
+	switch (charge_type) {
 	case POWER_SUPPLY_CHARGE_TYPE_FAST:
 		if (WARN_ON(!priv->features.rapid_charge))
 			return -EINVAL;
@@ -2074,22 +2070,19 @@ static int ideapad_psy_ext_set_prop(struct power_supply *psy,
 	return exec_sbmc(priv->adev->handle, op2);
 }
 
-static int ideapad_psy_ext_get_prop(struct power_supply *psy,
-				    const struct power_supply_ext *ext,
-				    void *ext_data,
-				    enum power_supply_property psp,
-				    union power_supply_propval *val)
+static int ideapad_psy_ext_set_prop(struct power_supply *psy, const struct power_supply_ext *ext,
+				    void *ext_data, enum power_supply_property psp,
+				    const union power_supply_propval *val)
 {
 	struct ideapad_private *priv = ext_data;
-	bool is_rapid_charge, is_conservation;
-	unsigned long result;
-	int err;
 
-	scoped_guard(mutex, &priv->gbmd_sbmc_mutex) {
-		err = eval_gbmd(priv->adev->handle, &result);
-		if (err)
-			return err;
-	}
+	return ideapad_set_charge_types(priv, val->intval);
+}
+
+static int ideapad_get_charge_types(struct ideapad_private *priv, unsigned long result,
+				    enum power_supply_charge_type *charge_type)
+{
+	bool is_rapid_charge, is_conservation;
 
 	is_rapid_charge = (priv->features.rapid_charge &&
 			   test_bit(GBMD_RAPID_CHARGE_STATE_BIT, &result));
@@ -2102,15 +2095,33 @@ static int ideapad_psy_ext_get_prop(struct power_supply *psy,
 	}
 
 	if (is_rapid_charge)
-		val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
+		*charge_type = POWER_SUPPLY_CHARGE_TYPE_FAST;
 	else if (is_conservation)
-		val->intval = POWER_SUPPLY_CHARGE_TYPE_LONGLIFE;
+		*charge_type = POWER_SUPPLY_CHARGE_TYPE_LONGLIFE;
 	else
-		val->intval = POWER_SUPPLY_CHARGE_TYPE_STANDARD;
+		*charge_type = POWER_SUPPLY_CHARGE_TYPE_STANDARD;
 
 	return 0;
 }
 
+static int ideapad_psy_ext_get_prop(struct power_supply *psy, const struct power_supply_ext *ext,
+				    void *ext_data, enum power_supply_property psp,
+				    union power_supply_propval *val)
+{
+	struct ideapad_private *priv = ext_data;
+	unsigned long result;
+	int err;
+
+	scoped_guard(mutex, &priv->gbmd_sbmc_mutex) {
+		err = eval_gbmd(priv->adev->handle, &result);
+		if (err)
+			return err;
+	}
+
+	return ideapad_get_charge_types(priv, result,
+					(enum power_supply_charge_type *)&val->intval);
+}
+
 static int ideapad_psy_prop_is_writeable(struct power_supply *psy,
 					 const struct power_supply_ext *ext,
 					 void *data,

-- 
2.55.0


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

* [PATCH 2/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
  2026-10-17 23:16 [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe Rong Zhang
  2026-10-17 23:16 ` [PATCH 1/2] platform/x86: ideapad-laptop: Factor out charge_types methods for internal use Rong Zhang
@ 2026-10-17 23:16 ` Rong Zhang
  2026-10-18  5:30 ` [PATCH 0/2] " Derek J. Clark
  2 siblings, 0 replies; 6+ messages in thread
From: Rong Zhang @ 2026-10-17 23:16 UTC (permalink / raw)
  To: Ike Panhc, Mark Pearson, Derek J. Clark, Hans de Goede,
	Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, stable, Rong Zhang

It was reported [1] that some unfortunate combinations of BIOS and
Lenovo utilities (e.g., Legion Go 2 + Legion Space) may enable Rapid
Charge and Conservation Mode at the same time, which is very out of
sepc.

If both are enabled during a previous Windows boot, ideapad-laptop will
see both bits set and correctly shout "unexpected charge_types".

A planned BIOS update will address this. Before that, if unexpected
charge_types are encountered on probe, enforce [Long_Life] to prevent
the device from operating in an out-of-spec state. On check or fix
failure, skip registering the battery hook and the conservation_mode
attribute.

Note: the switches never enable themselves autonomously, so there is no
need to fix it during runtime.

Fixes: 90430ea98f55 ("platform/x86: ideapad-laptop: Add charge_types:Fast (Rapid Charge)")
Cc: stable@vger.kernel.org
Closes: https://github.com/ValveSoftware/SteamOS/issues/2876 [1]
Signed-off-by: Rong Zhang <i@rong.moe>
---
 drivers/platform/x86/lenovo/ideapad-laptop.c | 56 +++++++++++++++++++++++++---
 1 file changed, 50 insertions(+), 6 deletions(-)

diff --git a/drivers/platform/x86/lenovo/ideapad-laptop.c b/drivers/platform/x86/lenovo/ideapad-laptop.c
index 40dab4d321a4..31f74a2021b1 100644
--- a/drivers/platform/x86/lenovo/ideapad-laptop.c
+++ b/drivers/platform/x86/lenovo/ideapad-laptop.c
@@ -2156,6 +2156,50 @@ DEFINE_IDEAPAD_POWER_SUPPLY_EXTENSION(ideapad_battery_ext_v2,
 				       BIT(POWER_SUPPLY_CHARGE_TYPE_LONGLIFE))
 );
 
+static int ideapad_battery_check(struct ideapad_private *priv)
+{
+	enum power_supply_charge_type charge_type;
+	unsigned long val;
+	int ret;
+
+	/* Not acquiring gbmd_sbmc_mutex as race condition is impossible on init. */
+	ret = eval_gbmd(priv->adev->handle, &val);
+	if (ret)
+		return ret;
+
+	priv->features.conservation_mode = true;
+	priv->features.rapid_charge = test_bit(GBMD_RAPID_CHARGE_SUPPORTED_BIT, &val);
+
+	ret = priv->features.rapid_charge ? ideapad_get_charge_types(priv, val, &charge_type) : 0;
+	if (ret) {
+		/*
+		 * Some unfortunate combinations of BIOS and Lenovo utilities
+		 * (e.g., Legion Go 2 + Legion Space) may enable Rapid Charge
+		 * and Conservation Mode at the same time, which is very out of
+		 * sepc.
+		 *
+		 * If both are enabled during a previous Windows boot, we will
+		 * see both bits set.
+		 *
+		 * Conservation Mode should override Rapid Charge. Before a BIOS
+		 * update addresses this, enforce it by selecting [Long_Life].
+		 */
+		dev_notice(&priv->platform_device->dev,
+			   "selecting [Long_life] to fix unexpected charge_types\n");
+
+		ret = ideapad_set_charge_types(priv, POWER_SUPPLY_CHARGE_TYPE_LONGLIFE);
+		if (ret) {
+			dev_err(&priv->platform_device->dev,
+				"failed to fix unexpected charge_types: %d\n", ret);
+			return ret;
+		}
+
+		/* Best-effort only. No read back. */
+	}
+
+	return 0;
+}
+
 static int ideapad_battery_add(struct power_supply *battery, struct acpi_battery_hook *hook)
 {
 	struct ideapad_private *priv = container_of(hook, struct ideapad_private, battery_hook);
@@ -2194,12 +2238,12 @@ static int ideapad_check_features(struct ideapad_private *priv)
 		priv->features.fan_mode = true;
 
 	if (acpi_has_method(handle, "GBMD") && acpi_has_method(handle, "SBMC")) {
-		/* Not acquiring gbmd_sbmc_mutex as race condition is impossible on init */
-		if (!eval_gbmd(handle, &val)) {
-			priv->features.conservation_mode = true;
-			priv->features.rapid_charge = test_bit(GBMD_RAPID_CHARGE_SUPPORTED_BIT,
-							       &val);
-
+		err = ideapad_battery_check(priv);
+		if (err) {
+			/* Continue with no battery hook or conservation_mode attribute. */
+			priv->features.conservation_mode = false;
+			priv->features.rapid_charge = false;
+		} else {
 			priv->battery_ext = priv->features.rapid_charge
 					    ? &ideapad_battery_ext_v2
 					    : &ideapad_battery_ext_v1;

-- 
2.55.0


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

* Re: [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
  2026-10-17 23:16 [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe Rong Zhang
  2026-10-17 23:16 ` [PATCH 1/2] platform/x86: ideapad-laptop: Factor out charge_types methods for internal use Rong Zhang
  2026-10-17 23:16 ` [PATCH 2/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe Rong Zhang
@ 2026-10-18  5:30 ` Derek J. Clark
  2026-10-18 14:19   ` Rong Zhang
  2 siblings, 1 reply; 6+ messages in thread
From: Derek J. Clark @ 2026-10-18  5:30 UTC (permalink / raw)
  To: Rong Zhang, Ike Panhc, Mark Pearson, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, stable

On October 17, 2026 4:16:17 PM PDT, Rong Zhang <i@rong.moe> wrote:
>It was reported [1] that some unfortunate combinations of BIOS and
>Lenovo utilities (e.g., Legion Go 2 + Legion Space) may enable Rapid
>Charge and Conservation Mode at the same time, which is very out of
>sepc.
>
>If both are enabled during a previous Windows boot, ideapad-laptop will
>see both bits set and correctly shout "unexpected charge_types".
>
>A planned BIOS update will address this. Before that, if unexpected
>charge_types are encountered on probe, enforce [Long_Life] to prevent
>the device from operating in an out-of-spec state. On check or fix
>failure, skip registering the battery hook and the conservation_mode
>attribute.
>
>Note: the switches never enable themselves autonomously, so there is no
>need to fix it during runtime.
>

Hi Rong,

Note that this isn't strictly true. A known bug in multiple Lenovo devices is that querying the EC too quickly can cause it to reset into an invalid state. I.e. some games run under wine for check the state of the AC adapter multiple times a second. In such a case they can reset and then report both modes on. I don't believe the device re-enumerates in this case. This is documented in the driver [1].

Lenovo ha mentioned to me a BIOS fix for this issue will be coming for the Go S and Go 2 at some point as well, but this isn't exclusive to Go models. It may be prudent to fix any time an invalid state is detected.

Thanks,
- Derek

[1] https://github.com/torvalds/linux/blob/32c52ec87d6245ee2d12ed5dd509e40062939b50/drivers/platform/x86/lenovo/ideapad-laptop.c#L286-L296

>Fixes: 90430ea98f55 ("platform/x86: ideapad-laptop: Add charge_types:Fast (Rapid Charge)")
>Closes: https://github.com/ValveSoftware/SteamOS/issues/2876 [1]
>Signed-off-by: Rong Zhang <i@rong.moe>
>---
>Rong Zhang (2):
>      platform/x86: ideapad-laptop: Factor out charge_types methods for internal use
>      platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
>
> drivers/platform/x86/lenovo/ideapad-laptop.c | 113 ++++++++++++++++++++-------
> 1 file changed, 84 insertions(+), 29 deletions(-)
>---
>base-commit: 58161ead29e50d70a317ea26b472e0c7508e69da
>change-id: ef28eda4-ideapad-fix-charge-types-067d46d08945
>
>Thanks,
>Rong
>


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

* Re: [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
  2026-10-18  5:30 ` [PATCH 0/2] " Derek J. Clark
@ 2026-10-18 14:19   ` Rong Zhang
  2026-10-19  1:17     ` Derek J. Clark
  0 siblings, 1 reply; 6+ messages in thread
From: Rong Zhang @ 2026-10-18 14:19 UTC (permalink / raw)
  To: Derek J. Clark, Ike Panhc, Mark Pearson, Hans de Goede,
	Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, stable

Hi Derek,

Thanks for you information.

On Sat, 2026-10-17 at 22:30 -0700, Derek J. Clark wrote:
> On October 17, 2026 4:16:17 PM PDT, Rong Zhang <i@rong.moe> wrote:
> > It was reported [1] that some unfortunate combinations of BIOS and
> > Lenovo utilities (e.g., Legion Go 2 + Legion Space) may enable Rapid
> > Charge and Conservation Mode at the same time, which is very out of
> > sepc.
> > 
> > If both are enabled during a previous Windows boot, ideapad-laptop will
> > see both bits set and correctly shout "unexpected charge_types".
> > 
> > A planned BIOS update will address this. Before that, if unexpected
> > charge_types are encountered on probe, enforce [Long_Life] to prevent
> > the device from operating in an out-of-spec state. On check or fix
> > failure, skip registering the battery hook and the conservation_mode
> > attribute.
> > 
> > Note: the switches never enable themselves autonomously, so there is no
> > need to fix it during runtime.
> > 
> 
> Hi Rong,
> 
> Note that this isn't strictly true. A known bug in multiple Lenovo devices is that querying the EC too quickly can cause it to reset into an invalid state. I.e. some games run under wine for check the state of the AC adapter multiple times a second. In such a case they can reset and then report both modes on. 
> 

Could you confirm if it's a completely different issue compared to
https://msgid.link/58586fa666f09c209f9d7fe8c692a8bdda6d4410.camel@rong.moe
(i.e., an ACPI mutex ABBA deadlock cause the GBMD method to return
garbage data)?

> I don't believe the device re-enumerates in this case. This is documented in the driver [1].

The comments and the relevant fix was added in a patch of mine. They are
about yet another different issue, in which querying the EC with an
interval < 50 *us* causes the EC to shut down the platform.

Then the user must press the power button to power on the platform again.
It's a cold boot. All kernel drivers are loaded from scratch, so the
probe-time fix here takes effects.

That being said, as far as I can recall, running into the issue doesn't
set both modes to enabled. Besides, userspace checking the state of the
AC adapter multiple times a second must have an interval much larger than
50 us, so I don't think the issue you described is the same as the issue
described in the comments either.

> 
> Lenovo ha mentioned to me a BIOS fix for this issue will be coming for the Go S and Go 2 at some point as well, but this isn't exclusive to Go models. It may be prudent to fix any time an invalid state is detected.

I am OK with the fix-whenever-seen approach, but in this manner it'd be
better to wait until
https://msgid.link/20261018122348.679126-1-aliamemis@disroot.org is
applied to solve the ABBA deadlock issue, so that false positives during
runtime are reduced.

Thanks,
Rong

> 
> Thanks,
> - Derek
> 
> [1] https://github.com/torvalds/linux/blob/32c52ec87d6245ee2d12ed5dd509e40062939b50/drivers/platform/x86/lenovo/ideapad-laptop.c#L286-L296
> 
> > Fixes: 90430ea98f55 ("platform/x86: ideapad-laptop: Add charge_types:Fast (Rapid Charge)")
> > Closes: https://github.com/ValveSoftware/SteamOS/issues/2876 [1]
> > Signed-off-by: Rong Zhang <i@rong.moe>
> > ---
> > Rong Zhang (2):
> >      platform/x86: ideapad-laptop: Factor out charge_types methods for internal use
> >      platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
> > 
> > drivers/platform/x86/lenovo/ideapad-laptop.c | 113 ++++++++++++++++++++-------
> > 1 file changed, 84 insertions(+), 29 deletions(-)
> > ---
> > base-commit: 58161ead29e50d70a317ea26b472e0c7508e69da
> > change-id: ef28eda4-ideapad-fix-charge-types-067d46d08945
> > 
> > Thanks,
> > Rong
> > 

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

* Re: [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
  2026-10-18 14:19   ` Rong Zhang
@ 2026-10-19  1:17     ` Derek J. Clark
  0 siblings, 0 replies; 6+ messages in thread
From: Derek J. Clark @ 2026-10-19  1:17 UTC (permalink / raw)
  To: Rong Zhang, Ike Panhc, Mark Pearson, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, stable

On October 18, 2026 7:19:33 AM PDT, Rong Zhang <i@rong.moe> wrote:
>Hi Derek,
>
>Thanks for you information.
>
>On Sat, 2026-10-17 at 22:30 -0700, Derek J. Clark wrote:
>> On October 17, 2026 4:16:17 PM PDT, Rong Zhang <i@rong.moe> wrote:
>> > It was reported [1] that some unfortunate combinations of BIOS and
>> > Lenovo utilities (e.g., Legion Go 2 + Legion Space) may enable Rapid
>> > Charge and Conservation Mode at the same time, which is very out of
>> > sepc.
>> > 
>> > If both are enabled during a previous Windows boot, ideapad-laptop will
>> > see both bits set and correctly shout "unexpected charge_types".
>> > 
>> > A planned BIOS update will address this. Before that, if unexpected
>> > charge_types are encountered on probe, enforce [Long_Life] to prevent
>> > the device from operating in an out-of-spec state. On check or fix
>> > failure, skip registering the battery hook and the conservation_mode
>> > attribute.
>> > 
>> > Note: the switches never enable themselves autonomously, so there is no
>> > need to fix it during runtime.
>> > 
>> 
>> Hi Rong,
>> 
>> Note that this isn't strictly true. A known bug in multiple Lenovo devices is that querying the EC too quickly can cause it to reset into an invalid state. I.e. some games run under wine for check the state of the AC adapter multiple times a second. In such a case they can reset and then report both modes on. 
>> 
>
>Could you confirm if it's a completely different issue compared to
>https://msgid.link/58586fa666f09c209f9d7fe8c692a8bdda6d4410.camel@rong.moe
>(i.e., an ACPI mutex ABBA deadlock cause the GBMD method to return
>garbage data)?
>

I believe it is. The invalid state survives a power cycle and is preceded by a process hanging for a few seconds before the EC resets. It can be reproduced repeatedly by a simple bash loop that reads the state multiple times a second.

- Derek 
>> I don't believe the device re-enumerates in this case. This is documented in the driver [1].
>
>The comments and the relevant fix was added in a patch of mine. They are
>about yet another different issue, in which querying the EC with an
>interval < 50 *us* causes the EC to shut down the platform.
>
>Then the user must press the power button to power on the platform again.
>It's a cold boot. All kernel drivers are loaded from scratch, so the
>probe-time fix here takes effects.
>
>That being said, as far as I can recall, running into the issue doesn't
>set both modes to enabled. Besides, userspace checking the state of the
>AC adapter multiple times a second must have an interval much larger than
>50 us, so I don't think the issue you described is the same as the issue
>described in the comments either.
>
>> 
>> Lenovo ha mentioned to me a BIOS fix for this issue will be coming for the Go S and Go 2 at some point as well, but this isn't exclusive to Go models. It may be prudent to fix any time an invalid state is detected.
>
>I am OK with the fix-whenever-seen approach, but in this manner it'd be
>better to wait until
>https://msgid.link/20261018122348.679126-1-aliamemis@disroot.org is
>applied to solve the ABBA deadlock issue, so that false positives during
>runtime are reduced.
>
>Thanks,
>Rong
>
>> 
>> Thanks,
>> - Derek
>> 
>> [1] https://github.com/torvalds/linux/blob/32c52ec87d6245ee2d12ed5dd509e40062939b50/drivers/platform/x86/lenovo/ideapad-laptop.c#L286-L296
>> 
>> > Fixes: 90430ea98f55 ("platform/x86: ideapad-laptop: Add charge_types:Fast (Rapid Charge)")
>> > Closes: https://github.com/ValveSoftware/SteamOS/issues/2876 [1]
>> > Signed-off-by: Rong Zhang <i@rong.moe>
>> > ---
>> > Rong Zhang (2):
>> >      platform/x86: ideapad-laptop: Factor out charge_types methods for internal use
>> >      platform/x86: ideapad-laptop: Fix unexpected charge_types on probe
>> > 
>> > drivers/platform/x86/lenovo/ideapad-laptop.c | 113 ++++++++++++++++++++-------
>> > 1 file changed, 84 insertions(+), 29 deletions(-)
>> > ---
>> > base-commit: 58161ead29e50d70a317ea26b472e0c7508e69da
>> > change-id: ef28eda4-ideapad-fix-charge-types-067d46d08945
>> > 
>> > Thanks,
>> > Rong
>> > 


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

end of thread, other threads:[~2026-10-19  1:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-17 23:16 [PATCH 0/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe Rong Zhang
2026-10-17 23:16 ` [PATCH 1/2] platform/x86: ideapad-laptop: Factor out charge_types methods for internal use Rong Zhang
2026-10-17 23:16 ` [PATCH 2/2] platform/x86: ideapad-laptop: Fix unexpected charge_types on probe Rong Zhang
2026-10-18  5:30 ` [PATCH 0/2] " Derek J. Clark
2026-10-18 14:19   ` Rong Zhang
2026-10-19  1:17     ` Derek J. Clark

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®