platform/chrome: cros_ec_typec: Check for EC driver
authorAkihiko Odaki <akihiko.odaki@gmail.com>
Mon, 4 Apr 2022 04:11:01 +0000 (13:11 +0900)
committerPrashant Malani <pmalani@chromium.org>
Tue, 10 May 2022 22:47:40 +0000 (22:47 +0000)
The EC driver may not be initialized when cros_typec_probe is called,
particulary when CONFIG_CROS_EC_CHARDEV=m.

Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Link: https://lore.kernel.org/r/20220404041101.6276-1-akihiko.odaki@gmail.com
Signed-off-by: Prashant Malani <pmalani@chromium.org>
drivers/platform/chrome/cros_ec_typec.c

index 4bd2752..7cb2e35 100644 (file)
@@ -1084,6 +1084,9 @@ static int cros_typec_probe(struct platform_device *pdev)
        }
 
        ec_dev = dev_get_drvdata(&typec->ec->ec->dev);
+       if (!ec_dev)
+               return -EPROBE_DEFER;
+
        typec->typec_cmd_supported = cros_ec_check_features(ec_dev, EC_FEATURE_TYPEC_CMD);
        typec->needs_mux_ack = cros_ec_check_features(ec_dev, EC_FEATURE_TYPEC_MUX_REQUIRE_AP_ACK);