From: Greg Kroah-Hartman Date: Sat, 16 Aug 2025 05:46:15 +0000 (+0200) Subject: 6.15-stable patches X-Git-Tag: v6.12.43~63 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8f5907d47ce5be8378163e3602de58e340005ad5;p=thirdparty%2Fkernel%2Fstable-queue.git 6.15-stable patches added patches: mfd-cros_ec-separate-charge-control-probing-from-usb-pd.patch --- diff --git a/queue-6.15/mfd-cros_ec-separate-charge-control-probing-from-usb-pd.patch b/queue-6.15/mfd-cros_ec-separate-charge-control-probing-from-usb-pd.patch new file mode 100644 index 0000000000..c07dd7819c --- /dev/null +++ b/queue-6.15/mfd-cros_ec-separate-charge-control-probing-from-usb-pd.patch @@ -0,0 +1,71 @@ +From e40fc1160d491c3bcaf8e940ae0dde0a7c5e8e14 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Wed, 21 May 2025 16:42:51 +0200 +Subject: mfd: cros_ec: Separate charge-control probing from USB-PD +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Thomas Weißschuh + +commit e40fc1160d491c3bcaf8e940ae0dde0a7c5e8e14 upstream. + +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. + +Cc: stable@vger.kernel.org +Link: https://github.com/FrameworkComputer/EmbeddedController/commit/1d7bcf1d50137c8c01969eb65880bc83e424597e +Fixes: 555b5fcdb844 ("mfd: cros_ec: Register charge control subdevice") +Signed-off-by: Thomas Weißschuh +Reviewed-by: Tzung-Bi Shih +Tested-by: Tom Vincent +Link: https://lore.kernel.org/r/20250521-cros-ec-mfd-chctl-probe-v1-1-6ebfe3a6efa7@weissschuh.net +Signed-off-by: Lee Jones +Signed-off-by: Greg Kroah-Hartman +--- + drivers/mfd/cros_ec_dev.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +--- 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_sen + }; + + 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_ucs + { .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_cell + .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[] = { diff --git a/queue-6.15/series b/queue-6.15/series index baf32c10e4..2f0e67372d 100644 --- a/queue-6.15/series +++ b/queue-6.15/series @@ -49,3 +49,4 @@ pci-acpi-fix-runtime-pm-ref-imbalance-on-hot-plug-capable-ports.patch acpi-processor-perflib-move-problematic-pr-performance-check.patch block-make-req_op_zone_finish-a-write-operation.patch mm-memory-tier-fix-abstract-distance-calculation-overflow.patch +mfd-cros_ec-separate-charge-control-probing-from-usb-pd.patch