Always declare restartable function variants

Otherwise code that uses these functions in other modules will have to do:

    #if defined(MBEDTLS_ECP_RESTARTABLE)
    ret = do_stuff( there, may, be, many, args );
    #else
    ret = do_stuff( their, may, be, namy, args, rs_ctx );
    #fi

and there is a risk that the arg list will differ when code is updated, and
this might not be caught immediately by tests because this depends on a
config.h compile-time option which are harder to test.

Always declaring the restartable variants of the API functions avoids this
problem; the cost in ROM size should be negligible.
diff --git a/include/mbedtls/ecp.h b/include/mbedtls/ecp.h
index 325392b..532124d 100644
--- a/include/mbedtls/ecp.h
+++ b/include/mbedtls/ecp.h
@@ -172,6 +172,7 @@
 mbedtls_ecp_keypair;
 
 #if defined(MBEDTLS_ECP_RESTARTABLE)
+
 /**
  * \brief           Internal restart context for multiplication
  *
@@ -196,6 +197,12 @@
     mbedtls_ecp_restart_mul_ctx *rsm;   /*!<  ecp_mul_comb() sub-context    */
     mbedtls_ecp_restart_muladd_ctx *ma; /*!<  ecp_muladd() sub-context      */
 } mbedtls_ecp_restart_ctx;
+
+#else /* MBEDTLS_ECP_RESTARTABLE */
+
+/* We want to declare restartable versions of existing functions anyway */
+typedef void mbedtls_ecp_restart_ctx;
+
 #endif /* MBEDTLS_ECP_RESTARTABLE */
 
 /**
@@ -612,7 +619,6 @@
              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
              int (*f_rng)(void *, unsigned char *, size_t), void *p_rng );
 
-#if defined(MBEDTLS_ECP_RESTARTABLE)
 /**
  * \brief           Restartable version of \c mbedtls_ecp_mul()
  *
@@ -636,7 +642,6 @@
              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
              int (*f_rng)(void *, unsigned char *, size_t), void *p_rng,
              mbedtls_ecp_restart_ctx *rs_ctx );
-#endif /* MBEDTLS_ECP_RESTARTABLE */
 
 /**
  * \brief           Multiplication and addition of two points by integers:
@@ -662,7 +667,6 @@
              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
              const mbedtls_mpi *n, const mbedtls_ecp_point *Q );
 
-#if defined(MBEDTLS_ECP_RESTARTABLE)
 /**
  * \brief           Restartable version of \c mbedtls_ecp_muladd()
  *
@@ -687,7 +691,6 @@
              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
              const mbedtls_mpi *n, const mbedtls_ecp_point *Q,
              mbedtls_ecp_restart_ctx *rs_ctx );
-#endif
 
 /**
  * \brief           Check that a point is a valid public key on this curve
diff --git a/library/ecp.c b/library/ecp.c
index 03b1476..9239724 100644
--- a/library/ecp.c
+++ b/library/ecp.c
@@ -250,9 +250,6 @@
 #define ECP_BUDGET( ops )   MBEDTLS_MPI_CHK( ecp_check_budget( grp, rs_ctx, ops ) );
 #else
 #define ECP_BUDGET( ops )   /* no-op */
-
-/* We also need that type to make our life simpler for internal functions */
-typedef void mbedtls_ecp_restart_ctx;
 #endif /* MBEDTLS_ECP_RESTARTABLE */
 
 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) ||   \
@@ -2130,9 +2127,6 @@
 /*
  * Restartable multiplication R = m * P
  */
-#if !defined(MBEDTLS_ECP_RESTARTABLE)
-static
-#endif
 int mbedtls_ecp_mul_restartable( mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
              int (*f_rng)(void *, unsigned char *, size_t), void *p_rng,
@@ -2295,9 +2289,6 @@
  * Restartable linear combination
  * NOT constant-time
  */
-#if !defined(MBEDTLS_ECP_RESTARTABLE)
-static
-#endif
 int mbedtls_ecp_muladd_restartable(
              mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
              const mbedtls_mpi *m, const mbedtls_ecp_point *P,