Skip to content

Commit

Permalink
mfd: cros_ec: Don't load charger with UCSI
Browse files Browse the repository at this point in the history
When UCSI is enabled, don't load cros_usbpd_charger and cros_usbpd_logger
drivers. Charger functionality is provided by the UCSI driver already and
logging will need to be added.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Łukasz Bartosik <ukaszb@chromium.org>
Link: https://lore.kernel.org/r/20240910101527.603452-9-ukaszb@chromium.org
Signed-off-by: Lee Jones <lee@kernel.org>
  • Loading branch information
apandit authored and lag-linaro committed Oct 16, 2024
1 parent 4636d15 commit 7613bc0
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions drivers/mfd/cros_ec_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,6 @@ static const struct cros_feature_to_cells cros_subdevices[] = {
.mfd_cells = cros_ec_ucsi_cells,
.num_cells = ARRAY_SIZE(cros_ec_ucsi_cells),
},
{
.id = EC_FEATURE_USB_PD,
.mfd_cells = cros_usbpd_charger_cells,
.num_cells = ARRAY_SIZE(cros_usbpd_charger_cells),
},
{
.id = EC_FEATURE_HANG_DETECT,
.mfd_cells = cros_ec_wdt_cells,
Expand Down Expand Up @@ -261,6 +256,21 @@ static int ec_device_probe(struct platform_device *pdev)
}
}

/*
* UCSI provides power supply information so we don't need to separately
* load the cros_usbpd_charger driver.
*/
if (cros_ec_check_features(ec, EC_FEATURE_USB_PD) &&
!cros_ec_check_features(ec, EC_FEATURE_UCSI_PPM)) {
retval = mfd_add_hotplug_devices(ec->dev,
cros_usbpd_charger_cells,
ARRAY_SIZE(cros_usbpd_charger_cells));

if (retval)
dev_warn(ec->dev, "failed to add usbpd-charger: %d\n",
retval);
}

/*
* Lightbar is a special case. Newer devices support autodetection,
* but older ones do not.
Expand Down

0 comments on commit 7613bc0

Please sign in to comment.