* [PATCH v2] mfd: cros_ec: Separate charge-control probing from USB-PD
@ 2025-06-09 9:39 Thomas Weißschuh
2025-06-10 2:02 ` Tzung-Bi Shih
2025-06-13 13:36 ` Lee Jones
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Weißschuh @ 2025-06-09 9:39 UTC (permalink / raw)
To: Lee Jones, Benson Leung, Guenter Roeck
Cc: chrome-platform, linux-kernel, stable, Tom Vincent,
Thomas Weißschuh
The charge-control subsystem in the ChromeOS EC is not strictly tied to
its USB-PD subsystem.
Since commit 7613bc0d116a ("mfd: cros_ec: Don't load charger with UCSI")
the presence of EC_FEATURE_UCSI_PPM would inhibit the probing of the
charge-control driver.
Furthermore recent versions of the EC firmware in Framework laptops
hard-disable EC_FEATURE_USB_PD to avoid probing cros-usbpd-charger,
which then also breaks cros-charge-control.
Instead use the dedicated EC_FEATURE_CHARGER.
Link: https://github.com/FrameworkComputer/EmbeddedController/commit/1d7bcf1d50137c8c01969eb65880bc83e424597e
Fixes: 555b5fcdb844 ("mfd: cros_ec: Register charge control subdevice")
Cc: stable@vger.kernel.org
Tested-by: Tom Vincent <linux@tlvince.com>
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v2:
- Rebase onto v6.16-rc1
- Pick up tested-by from Tom
- Also Cc stable@
- Link to v1: https://lore.kernel.org/r/20250521-cros-ec-mfd-chctl-probe-v1-1-6ebfe3a6efa7@weissschuh.net
---
drivers/mfd/cros_ec_dev.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c
index 9f84a52b48d6a8994d23edba999398684303ee64..dc80a272726bb16b58253418999021cd56dfd975 100644
--- a/drivers/mfd/cros_ec_dev.c
+++ b/drivers/mfd/cros_ec_dev.c
@@ -87,7 +87,6 @@ static const struct mfd_cell cros_ec_sensorhub_cells[] = {
};
static const struct mfd_cell cros_usbpd_charger_cells[] = {
- { .name = "cros-charge-control", },
{ .name = "cros-usbpd-charger", },
{ .name = "cros-usbpd-logger", },
};
@@ -112,6 +111,10 @@ static const struct mfd_cell cros_ec_ucsi_cells[] = {
{ .name = "cros_ec_ucsi", },
};
+static const struct mfd_cell cros_ec_charge_control_cells[] = {
+ { .name = "cros-charge-control", },
+};
+
static const struct cros_feature_to_cells cros_subdevices[] = {
{
.id = EC_FEATURE_CEC,
@@ -148,6 +151,11 @@ static const struct cros_feature_to_cells cros_subdevices[] = {
.mfd_cells = cros_ec_keyboard_leds_cells,
.num_cells = ARRAY_SIZE(cros_ec_keyboard_leds_cells),
},
+ {
+ .id = EC_FEATURE_CHARGER,
+ .mfd_cells = cros_ec_charge_control_cells,
+ .num_cells = ARRAY_SIZE(cros_ec_charge_control_cells),
+ },
};
static const struct mfd_cell cros_ec_platform_cells[] = {
---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250521-cros-ec-mfd-chctl-probe-64a63ac9c160
Best regards,
--
Thomas Weißschuh <linux@weissschuh.net>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] mfd: cros_ec: Separate charge-control probing from USB-PD
2025-06-09 9:39 [PATCH v2] mfd: cros_ec: Separate charge-control probing from USB-PD Thomas Weißschuh
@ 2025-06-10 2:02 ` Tzung-Bi Shih
2025-06-13 13:36 ` Lee Jones
1 sibling, 0 replies; 3+ messages in thread
From: Tzung-Bi Shih @ 2025-06-10 2:02 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Lee Jones, Benson Leung, Guenter Roeck, chrome-platform,
linux-kernel, stable, Tom Vincent
On Mon, Jun 09, 2025 at 11:39:35AM +0200, Thomas Weißschuh wrote:
> The charge-control subsystem in the ChromeOS EC is not strictly tied to
> its USB-PD subsystem.
> Since commit 7613bc0d116a ("mfd: cros_ec: Don't load charger with UCSI")
> the presence of EC_FEATURE_UCSI_PPM would inhibit the probing of the
> charge-control driver.
> Furthermore recent versions of the EC firmware in Framework laptops
> hard-disable EC_FEATURE_USB_PD to avoid probing cros-usbpd-charger,
> which then also breaks cros-charge-control.
>
> Instead use the dedicated EC_FEATURE_CHARGER.
>
> Link: https://github.com/FrameworkComputer/EmbeddedController/commit/1d7bcf1d50137c8c01969eb65880bc83e424597e
> Fixes: 555b5fcdb844 ("mfd: cros_ec: Register charge control subdevice")
> Cc: stable@vger.kernel.org
> Tested-by: Tom Vincent <linux@tlvince.com>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] mfd: cros_ec: Separate charge-control probing from USB-PD
2025-06-09 9:39 [PATCH v2] mfd: cros_ec: Separate charge-control probing from USB-PD Thomas Weißschuh
2025-06-10 2:02 ` Tzung-Bi Shih
@ 2025-06-13 13:36 ` Lee Jones
1 sibling, 0 replies; 3+ messages in thread
From: Lee Jones @ 2025-06-13 13:36 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Benson Leung, Guenter Roeck, chrome-platform, linux-kernel,
stable, Tom Vincent
On Mon, 09 Jun 2025, Thomas Weißschuh wrote:
> The charge-control subsystem in the ChromeOS EC is not strictly tied to
> its USB-PD subsystem.
> Since commit 7613bc0d116a ("mfd: cros_ec: Don't load charger with UCSI")
> the presence of EC_FEATURE_UCSI_PPM would inhibit the probing of the
> charge-control driver.
> Furthermore recent versions of the EC firmware in Framework laptops
> hard-disable EC_FEATURE_USB_PD to avoid probing cros-usbpd-charger,
> which then also breaks cros-charge-control.
>
> Instead use the dedicated EC_FEATURE_CHARGER.
>
> Link: https://github.com/FrameworkComputer/EmbeddedController/commit/1d7bcf1d50137c8c01969eb65880bc83e424597e
> Fixes: 555b5fcdb844 ("mfd: cros_ec: Register charge control subdevice")
> Cc: stable@vger.kernel.org
> Tested-by: Tom Vincent <linux@tlvince.com>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> Changes in v2:
> - Rebase onto v6.16-rc1
> - Pick up tested-by from Tom
> - Also Cc stable@
> - Link to v1: https://lore.kernel.org/r/20250521-cros-ec-mfd-chctl-probe-v1-1-6ebfe3a6efa7@weissschuh.net
Whoops, I already applied v1. However, I did all of these things manually.
> ---
> drivers/mfd/cros_ec_dev.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c
> index 9f84a52b48d6a8994d23edba999398684303ee64..dc80a272726bb16b58253418999021cd56dfd975 100644
> --- a/drivers/mfd/cros_ec_dev.c
> +++ b/drivers/mfd/cros_ec_dev.c
> @@ -87,7 +87,6 @@ static const struct mfd_cell cros_ec_sensorhub_cells[] = {
> };
>
> static const struct mfd_cell cros_usbpd_charger_cells[] = {
> - { .name = "cros-charge-control", },
> { .name = "cros-usbpd-charger", },
> { .name = "cros-usbpd-logger", },
> };
> @@ -112,6 +111,10 @@ static const struct mfd_cell cros_ec_ucsi_cells[] = {
> { .name = "cros_ec_ucsi", },
> };
>
> +static const struct mfd_cell cros_ec_charge_control_cells[] = {
> + { .name = "cros-charge-control", },
> +};
> +
> static const struct cros_feature_to_cells cros_subdevices[] = {
> {
> .id = EC_FEATURE_CEC,
> @@ -148,6 +151,11 @@ static const struct cros_feature_to_cells cros_subdevices[] = {
> .mfd_cells = cros_ec_keyboard_leds_cells,
> .num_cells = ARRAY_SIZE(cros_ec_keyboard_leds_cells),
> },
> + {
> + .id = EC_FEATURE_CHARGER,
> + .mfd_cells = cros_ec_charge_control_cells,
> + .num_cells = ARRAY_SIZE(cros_ec_charge_control_cells),
> + },
> };
>
> static const struct mfd_cell cros_ec_platform_cells[] = {
>
> ---
> base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
> change-id: 20250521-cros-ec-mfd-chctl-probe-64a63ac9c160
>
> Best regards,
> --
> Thomas Weißschuh <linux@weissschuh.net>
>
--
Lee Jones [李琼斯]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-06-13 13:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-09 9:39 [PATCH v2] mfd: cros_ec: Separate charge-control probing from USB-PD Thomas Weißschuh
2025-06-10 2:02 ` Tzung-Bi Shih
2025-06-13 13:36 ` Lee Jones
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).