mfd: cros_ec: Don't load charger with UCSI

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>
This commit is contained in:
Abhishek Pandit-Subedi 2024-09-10 10:15:27 +00:00 committed by Lee Jones
parent 4636d159dd
commit 7613bc0d11

View File

@ -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,
@ -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.