Add config flag MBEDTLS_ECP_EARLY_RETURN
diff --git a/include/mbedtls/config.h b/include/mbedtls/config.h
index 47c7196..9040bb7 100644
--- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h
@@ -562,6 +562,21 @@
 #define MBEDTLS_ECP_NIST_OPTIM
 
 /**
+ * \def MBEDTLS_ECP_EARLY_RETURN
+ *
+ * Enable "non-blocking" ECC operations that can return early and be resumed.
+ *
+ * This enables \c mbedtls_ecp_set_max_ops() and allows various ECC functions
+ * to return \c MBEDTLS_ERR_ECP_IN_PROGRESS when needed.
+ *
+ * TODO: depending on other choices, this might need to be disabled by default
+ * in order to avoid changing the ABI. Revisit that later.
+ *
+ * Comment this macro to disable non-blocking ECC computations.
+ */
+#define MBEDTLS_ECP_EARLY_RETURN
+
+/**
  * \def MBEDTLS_ECDSA_DETERMINISTIC
  *
  * Enable deterministic ECDSA (RFC 6979).
diff --git a/library/version_features.c b/library/version_features.c
index 5cbe8ac..2668eae 100644
--- a/library/version_features.c
+++ b/library/version_features.c
@@ -276,6 +276,9 @@
 #if defined(MBEDTLS_ECP_NIST_OPTIM)
     "MBEDTLS_ECP_NIST_OPTIM",
 #endif /* MBEDTLS_ECP_NIST_OPTIM */
+#if defined(MBEDTLS_ECP_EARLY_RETURN)
+    "MBEDTLS_ECP_EARLY_RETURN",
+#endif /* MBEDTLS_ECP_EARLY_RETURN */
 #if defined(MBEDTLS_ECDSA_DETERMINISTIC)
     "MBEDTLS_ECDSA_DETERMINISTIC",
 #endif /* MBEDTLS_ECDSA_DETERMINISTIC */