platform/chrome: cros_ec_typec: Check for EC device
authorPrashant Malani <pmalani@chromium.org>
Wed, 26 Jan 2022 19:02:20 +0000 (19:02 +0000)
committerBenson Leung <bleung@chromium.org>
Tue, 1 Feb 2022 17:54:39 +0000 (09:54 -0800)
commitffebd90532728086007038986900426544e3df4e
tree63d5386d287ce549c84f9a36ed32707702473580
parent53eeb07381f2fa426807df6a68fc580b8463dae4
platform/chrome: cros_ec_typec: Check for EC device

The Type C ACPI device on older Chromebooks is not generated correctly
(since their EC firmware doesn't support the new commands required). In
such cases, the crafted ACPI device doesn't have an EC parent, and it is
therefore not useful (it shouldn't be generated in the first place since
the EC firmware doesn't support any of the Type C commands).

To handle devices which use these older firmware revisions, check for
the parent EC device handle, and fail the probe if it's not found.

Fixes: fdc6b21e2444 ("platform/chrome: Add Type C connector class driver")
Reported-by: Alyssa Ross <hi@alyssa.is>
Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Alyssa Ross <hi@alyssa.is>
Tested-by: Alyssa Ross <hi@alyssa.is>
Link: https://lore.kernel.org/r/20220126190219.3095419-1-pmalani@chromium.org
Signed-off-by: Benson Leung <bleung@chromium.org>
drivers/platform/chrome/cros_ec_typec.c