* [PATCH v1 0/1] Check for UCSI fwnode in cros_ec_dev @ 2026-04-03 22:22 Jameson Thies 2026-04-03 22:22 ` [PATCH v1 1/1] mfd: cros_ec: Don't add cros_ec_ucsi if it is defined in OF or ACPI Jameson Thies 0 siblings, 1 reply; 3+ messages in thread From: Jameson Thies @ 2026-04-03 22:22 UTC (permalink / raw) To: lee, bleung, tzungbi Cc: chrome-platform, linux-kernel, abhishekpandit, akuchynski, ukaszb, Jameson Thies Hey everyone, I sent this patch as part of a larger series in late 2025 which hasn't merged. The initial series modified dt-bindings, mfd and usb subsystems, but had not been reviewed by mfd maintainers. For context, here is the previous series https://lore.kernel.org/all/20251013203331.398517-1-jthies@google.com/ This is only the mfd portion of that series, it builds independently. Given the time since this was previously under review (~oct 2025), I've cleared the existing review tags. Please take a look and let me know if you have any questions. Jameson Thies (1): mfd: cros_ec: Don't add cros_ec_ucsi if it is defined in OF or ACPI drivers/mfd/cros_ec_dev.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) base-commit: 168e4b208ca8c2e04de20cc6cb7e2fb035dc1ec8 -- 2.53.0.1213.gd9a14994de-goog ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v1 1/1] mfd: cros_ec: Don't add cros_ec_ucsi if it is defined in OF or ACPI 2026-04-03 22:22 [PATCH v1 0/1] Check for UCSI fwnode in cros_ec_dev Jameson Thies @ 2026-04-03 22:22 ` Jameson Thies 2026-04-03 22:32 ` Benson Leung 0 siblings, 1 reply; 3+ messages in thread From: Jameson Thies @ 2026-04-03 22:22 UTC (permalink / raw) To: lee, bleung, tzungbi Cc: chrome-platform, linux-kernel, abhishekpandit, akuchynski, ukaszb, Jameson Thies On devices with a UCSI PPM in the EC, check for cros_ec_ucsi to be defined in the OF device tree or an ACPI node. If it is defined by either OF or ACPI, it does not need to be added as a subdevice of cros_ec_dev mfd. cros_ec_ucsi will load from the OF or ACPI node. Signed-off-by: Jameson Thies <jthies@google.com> --- drivers/mfd/cros_ec_dev.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c index 39430dd44e30..70d64b7c6243 100644 --- a/drivers/mfd/cros_ec_dev.c +++ b/drivers/mfd/cros_ec_dev.c @@ -5,6 +5,7 @@ * Copyright (C) 2014 Google, Inc. */ +#include <linux/acpi.h> #include <linux/dmi.h> #include <linux/kconfig.h> #include <linux/mfd/core.h> @@ -131,11 +132,6 @@ static const struct cros_feature_to_cells cros_subdevices[] = { .mfd_cells = cros_ec_rtc_cells, .num_cells = ARRAY_SIZE(cros_ec_rtc_cells), }, - { - .id = EC_FEATURE_UCSI_PPM, - .mfd_cells = cros_ec_ucsi_cells, - .num_cells = ARRAY_SIZE(cros_ec_ucsi_cells), - }, { .id = EC_FEATURE_HANG_DETECT, .mfd_cells = cros_ec_wdt_cells, @@ -264,6 +260,23 @@ static int ec_device_probe(struct platform_device *pdev) } } + /* + * FW nodes can load cros_ec_ucsi, but early PDC devices did not define + * the required nodes. On PDC systems without FW nodes for cros_ec_ucsi, + * the driver should be added as an mfd subdevice. + */ + if (cros_ec_check_features(ec, EC_FEATURE_USB_PD) && + cros_ec_check_features(ec, EC_FEATURE_UCSI_PPM) && + !acpi_dev_found("GOOG0021") && + !of_find_compatible_node(NULL, NULL, "google,cros-ec-ucsi")) { + retval = mfd_add_hotplug_devices(ec->dev, + cros_ec_ucsi_cells, + ARRAY_SIZE(cros_ec_ucsi_cells)); + + if (retval) + dev_warn(ec->dev, "failed to add cros_ec_ucsi: %d\n", retval); + } + /* * UCSI provides power supply information so we don't need to separately * load the cros_usbpd_charger driver. -- 2.53.0.1213.gd9a14994de-goog ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] mfd: cros_ec: Don't add cros_ec_ucsi if it is defined in OF or ACPI 2026-04-03 22:22 ` [PATCH v1 1/1] mfd: cros_ec: Don't add cros_ec_ucsi if it is defined in OF or ACPI Jameson Thies @ 2026-04-03 22:32 ` Benson Leung 0 siblings, 0 replies; 3+ messages in thread From: Benson Leung @ 2026-04-03 22:32 UTC (permalink / raw) To: Jameson Thies Cc: lee, bleung, tzungbi, chrome-platform, linux-kernel, abhishekpandit, akuchynski, ukaszb [-- Attachment #1: Type: text/plain, Size: 2313 bytes --] On Fri, Apr 03, 2026 at 10:22:53PM +0000, Jameson Thies wrote: > On devices with a UCSI PPM in the EC, check for cros_ec_ucsi to be > defined in the OF device tree or an ACPI node. If it is defined by > either OF or ACPI, it does not need to be added as a subdevice of > cros_ec_dev mfd. cros_ec_ucsi will load from the OF or ACPI node. > > Signed-off-by: Jameson Thies <jthies@google.com> Reviewed-by: Benson Leung <bleung@chromium.org> > --- > drivers/mfd/cros_ec_dev.c | 23 ++++++++++++++++++----- > 1 file changed, 18 insertions(+), 5 deletions(-) > > diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c > index 39430dd44e30..70d64b7c6243 100644 > --- a/drivers/mfd/cros_ec_dev.c > +++ b/drivers/mfd/cros_ec_dev.c > @@ -5,6 +5,7 @@ > * Copyright (C) 2014 Google, Inc. > */ > > +#include <linux/acpi.h> > #include <linux/dmi.h> > #include <linux/kconfig.h> > #include <linux/mfd/core.h> > @@ -131,11 +132,6 @@ static const struct cros_feature_to_cells cros_subdevices[] = { > .mfd_cells = cros_ec_rtc_cells, > .num_cells = ARRAY_SIZE(cros_ec_rtc_cells), > }, > - { > - .id = EC_FEATURE_UCSI_PPM, > - .mfd_cells = cros_ec_ucsi_cells, > - .num_cells = ARRAY_SIZE(cros_ec_ucsi_cells), > - }, > { > .id = EC_FEATURE_HANG_DETECT, > .mfd_cells = cros_ec_wdt_cells, > @@ -264,6 +260,23 @@ static int ec_device_probe(struct platform_device *pdev) > } > } > > + /* > + * FW nodes can load cros_ec_ucsi, but early PDC devices did not define > + * the required nodes. On PDC systems without FW nodes for cros_ec_ucsi, > + * the driver should be added as an mfd subdevice. > + */ > + if (cros_ec_check_features(ec, EC_FEATURE_USB_PD) && > + cros_ec_check_features(ec, EC_FEATURE_UCSI_PPM) && > + !acpi_dev_found("GOOG0021") && > + !of_find_compatible_node(NULL, NULL, "google,cros-ec-ucsi")) { > + retval = mfd_add_hotplug_devices(ec->dev, > + cros_ec_ucsi_cells, > + ARRAY_SIZE(cros_ec_ucsi_cells)); > + > + if (retval) > + dev_warn(ec->dev, "failed to add cros_ec_ucsi: %d\n", retval); > + } > + > /* > * UCSI provides power supply information so we don't need to separately > * load the cros_usbpd_charger driver. > -- > 2.53.0.1213.gd9a14994de-goog > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-04-03 22:32 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-04-03 22:22 [PATCH v1 0/1] Check for UCSI fwnode in cros_ec_dev Jameson Thies 2026-04-03 22:22 ` [PATCH v1 1/1] mfd: cros_ec: Don't add cros_ec_ucsi if it is defined in OF or ACPI Jameson Thies 2026-04-03 22:32 ` Benson Leung
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox