lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250613133610.GU381401@google.com>
Date: Fri, 13 Jun 2025 14:36:10 +0100
From: Lee Jones <lee@...nel.org>
To: Thomas Weißschuh <linux@...ssschuh.net>
Cc: Benson Leung <bleung@...omium.org>, Guenter Roeck <groeck@...omium.org>,
	chrome-platform@...ts.linux.dev, linux-kernel@...r.kernel.org,
	stable@...r.kernel.org, Tom Vincent <linux@...ince.com>
Subject: Re: [PATCH v2] mfd: cros_ec: Separate charge-control probing from
 USB-PD

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@...r.kernel.org
> Tested-by: Tom Vincent <linux@...ince.com>
> Signed-off-by: Thomas Weißschuh <linux@...ssschuh.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@...ssschuh.net>
> 

-- 
Lee Jones [李琼斯]

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ