summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrashant Malani <pmalani@chromium.org>2022-01-27 20:16:59 +0100
committerPrashant Malani <pmalani@chromium.org>2022-01-31 22:19:29 +0100
commit53eeb07381f2fa426807df6a68fc580b8463dae4 (patch)
tree81af0e8a3915e5ea3f575463b0b832333b4bcd36
parentMAINTAINERS: platform-chrome: Add new chrome-platform@lists.linux.dev list (diff)
downloadlinux-53eeb07381f2fa426807df6a68fc580b8463dae4.tar.xz
linux-53eeb07381f2fa426807df6a68fc580b8463dae4.zip
platform/chrome: cros_ec_typec: Make try power role optional
Some boards prefer not to specify a try-power-role. Update the port property parsing logic to not error out in case a try-power-role is not specified. Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Prashant Malani <pmalani@chromium.org> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://lore.kernel.org/chrome-platform/20220127191659.3560810-1-pmalani@chromium.org/
-rw-r--r--drivers/platform/chrome/cros_ec_typec.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index 5de0bfb0bc4d..ee12658009e5 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -115,17 +115,18 @@ static int cros_typec_parse_port_props(struct typec_capability *cap,
return ret;
cap->data = ret;
+ /* Try-power-role is optional. */
ret = fwnode_property_read_string(fwnode, "try-power-role", &buf);
if (ret) {
- dev_err(dev, "try-power-role not found: %d\n", ret);
- return ret;
+ dev_warn(dev, "try-power-role not found: %d\n", ret);
+ cap->prefer_role = TYPEC_NO_PREFERRED_ROLE;
+ } else {
+ ret = typec_find_power_role(buf);
+ if (ret < 0)
+ return ret;
+ cap->prefer_role = ret;
}
- ret = typec_find_power_role(buf);
- if (ret < 0)
- return ret;
- cap->prefer_role = ret;
-
cap->fwnode = fwnode;
return 0;