Interface: Split the source files for different models

This patch splits the interface source files for different
models.
They only contain the implementations for each model
respectively.

Change-Id: I70aef5384754c445787327ec2c61fc57201da86f
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 7d3016c..eeeccaf 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -46,23 +46,46 @@
 	message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_PLATFORM is undefined.")
 endif()
 
+if (NOT DEFINED TFM_PSA_API)
+	message(FATAL_ERROR "Incomplete build configuration: TFM_PSA_API is undefined.")
+endif()
+
 set(NS_APP_SRC "${CMSIS_5_DIR}/CMSIS/RTOS2/RTX/Config/RTX_Config.c"
 	"${CMSIS_5_DIR}/CMSIS/RTOS2/RTX/Source/rtx_lib.c"
 	"${APP_DIR}/main_ns.c"
 	"${APP_DIR}/tfm_integ_test.c"
 	"${APP_DIR}/os_wrapper_cmsis_rtos_v2.c"
-	"${INTERFACE_DIR}/src/tfm_sst_api.c"
-	"${INTERFACE_DIR}/src/tfm_crypto_api.c"
-	"${INTERFACE_DIR}/src/tfm_initial_attestation_api.c"
 	"${INTERFACE_DIR}/src/tfm_ns_interface.c"
 	)
 
+if (TFM_PSA_API)
+	list(APPEND NS_APP_SRC
+		"${INTERFACE_DIR}/src/tfm_sst_ipc_api.c"
+		"${INTERFACE_DIR}/src/tfm_crypto_ipc_api.c"
+		"${INTERFACE_DIR}/src/tfm_initial_attestation_ipc_api.c"
+	)
+else()
+	list(APPEND NS_APP_SRC
+		"${INTERFACE_DIR}/src/tfm_sst_func_api.c"
+		"${INTERFACE_DIR}/src/tfm_crypto_func_api.c"
+		"${INTERFACE_DIR}/src/tfm_initial_attestation_func_api.c"
+	)
+endif()
+
 if (TFM_PARTITION_AUDIT_LOG)
-	list(APPEND NS_APP_SRC "${INTERFACE_DIR}/src/tfm_audit_api.c")
+	if (TFM_PSA_API)
+		message(FATAL_ERROR "Audit log has not been supported in IPC model yet.")
+	else()
+		list(APPEND NS_APP_SRC "${INTERFACE_DIR}/src/tfm_audit_func_api.c")
+	endif()
 endif()
 
 if (TFM_PARTITION_PLATFORM)
-	list(APPEND NS_APP_SRC "${INTERFACE_DIR}/src/tfm_platform_api.c")
+	if (TFM_PSA_API)
+		message(FATAL_ERROR "Platform service has not been supported in IPC model yet.")
+	else()
+		list(APPEND NS_APP_SRC "${INTERFACE_DIR}/src/tfm_platform_func_api.c")
+	endif()
 endif()
 
 if (NOT DEFINED TFM_NS_CLIENT_IDENTIFICATION)
@@ -78,9 +101,7 @@
 	list(APPEND NS_APP_SRC "${APP_DIR}/psa_api_test.c")
 endif()
 
-if (NOT DEFINED TFM_PSA_API)
-	message(FATAL_ERROR "Incomplete build configuration: TFM_PSA_API is undefined. ")
-elseif (TFM_PSA_API)
+if (TFM_PSA_API)
 	list(APPEND NS_APP_SRC "${INTERFACE_DIR}/src/tfm_psa_ns_api.c")
 endif()
 
diff --git a/interface/src/tfm_audit_api.c b/interface/src/tfm_audit_func_api.c
similarity index 100%
rename from interface/src/tfm_audit_api.c
rename to interface/src/tfm_audit_func_api.c
diff --git a/interface/src/tfm_crypto_api.c b/interface/src/tfm_crypto_func_api.c
similarity index 73%
copy from interface/src/tfm_crypto_api.c
copy to interface/src/tfm_crypto_func_api.c
index c53641b..176c192 100644
--- a/interface/src/tfm_crypto_api.c
+++ b/interface/src/tfm_crypto_func_api.c
@@ -9,34 +9,9 @@
 #include "tfm_crypto_defs.h"
 #include "psa/crypto.h"
 #include "tfm_ns_interface.h"
-#ifdef TFM_PSA_API
-#include "psa_manifest/sid.h"
-#endif
 
 #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
 
-#ifdef TFM_PSA_API
-#include "psa/client.h"
-
-#define PSA_CONNECT(service)                                    \
-    psa_handle_t ipc_handle;                                    \
-    ipc_handle = psa_connect(service##_SID, service##_VERSION); \
-    if (!PSA_HANDLE_IS_VALID(ipc_handle)) {                     \
-        return PSA_ERROR_GENERIC_ERROR;                         \
-    }                                                           \
-
-#define PSA_CLOSE() psa_close(ipc_handle)
-
-#define API_DISPATCH(sfn_name, sfn_id)                          \
-    psa_call(ipc_handle, PSA_IPC_CALL,                          \
-        in_vec, ARRAY_SIZE(in_vec),                             \
-        out_vec, ARRAY_SIZE(out_vec))
-
-#define API_DISPATCH_NO_OUTVEC(sfn_name, sfn_id)                \
-    psa_call(ipc_handle, PSA_IPC_CALL,                          \
-        in_vec, ARRAY_SIZE(in_vec),                             \
-        (psa_outvec *)NULL, 0)
-#else
 #define API_DISPATCH(sfn_name, sfn_id)                               \
         tfm_ns_interface_dispatch((veneer_fn)tfm_##sfn_name##_veneer,\
         (uint32_t)in_vec, ARRAY_SIZE(in_vec),                        \
@@ -46,7 +21,6 @@
         tfm_ns_interface_dispatch((veneer_fn)tfm_##sfn_name##_veneer,\
         (uint32_t)in_vec, ARRAY_SIZE(in_vec),                        \
         (uint32_t)NULL, 0)
-#endif
 
 psa_status_t psa_crypto_init(void)
 {
@@ -58,9 +32,6 @@
 
 psa_status_t psa_allocate_key(psa_key_handle_t *handle)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     const struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_ALLOCATE_KEY_SID,
@@ -72,62 +43,42 @@
         {.base = handle, .len = sizeof(psa_key_handle_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_allocate_key,
                           TFM_CRYPTO_ALLOCATE_KEY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_open_key(psa_key_lifetime_t lifetime,
                           psa_key_id_t id,
                           psa_key_handle_t *handle)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     (void)lifetime;
     (void)id;
     (void)handle;
 
     /* TODO: Persistent key APIs are not supported yet */
     return PSA_ERROR_NOT_SUPPORTED;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_create_key(psa_key_lifetime_t lifetime,
                             psa_key_id_t id,
                             psa_key_handle_t *handle)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     (void)lifetime;
     (void)id;
     (void)handle;
 
     /* TODO: Persistent key APIs are not supported yet */
     return PSA_ERROR_NOT_SUPPORTED;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_close_key(psa_key_handle_t handle)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     (void)handle;
 
     /* TODO: Persistent key APIs are not supported yet */
     return PSA_ERROR_NOT_SUPPORTED;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_import_key(psa_key_handle_t handle,
@@ -135,9 +86,6 @@
                             const uint8_t *data,
                             size_t data_length)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_IMPORT_KEY_SID,
@@ -149,25 +97,14 @@
         {.base = data, .len = data_length}
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_import_key,
                                     TFM_CRYPTO_IMPORT_KEY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_destroy_key(psa_key_handle_t handle)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_DESTROY_KEY_SID,
@@ -177,27 +114,16 @@
         {.base = &iov, .len = sizeof(struct tfm_crypto_pack_iovec)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_destroy_key,
                                     TFM_CRYPTO_DESTROY_KEY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_get_key_information(psa_key_handle_t handle,
                                      psa_key_type_t *type,
                                      size_t *bits)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GET_KEY_INFORMATION_SID,
@@ -211,18 +137,10 @@
         {.base = bits, .len = sizeof(size_t)}
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_get_key_information,
                           TFM_CRYPTO_GET_KEY_INFORMATION);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_export_key(psa_key_handle_t handle,
@@ -230,9 +148,6 @@
                             size_t data_size,
                             size_t *data_length)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_EXPORT_KEY_SID,
@@ -245,21 +160,13 @@
         {.base = data, .len = data_size}
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_export_key,
                           TFM_CRYPTO_EXPORT_KEY);
 
     *data_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_export_public_key(psa_key_handle_t handle,
@@ -267,9 +174,6 @@
                                    size_t data_size,
                                    size_t *data_length)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_EXPORT_PUBLIC_KEY_SID,
@@ -283,30 +187,18 @@
         {.base = data, .len = data_size}
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_export_public_key,
                           TFM_CRYPTO_EXPORT_PUBLIC_KEY);
 
     *data_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_copy_key(psa_key_handle_t source_handle,
                           psa_key_handle_t target_handle,
                           const psa_key_policy_t *constraint)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_COPY_KEY_SID,
@@ -319,18 +211,10 @@
         {.base = constraint, .len = sizeof(psa_key_policy_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_copy_key,
                                     TFM_CRYPTO_COPY_KEY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 void psa_key_policy_set_usage(psa_key_policy_t *policy,
@@ -354,9 +238,6 @@
 psa_status_t psa_set_key_policy(psa_key_handle_t handle,
                                 const psa_key_policy_t *policy)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_SET_KEY_POLICY_SID,
@@ -368,26 +249,15 @@
         {.base = policy, .len = sizeof(psa_key_policy_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_set_key_policy,
                                     TFM_CRYPTO_SET_KEY_POLICY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_get_key_policy(psa_key_handle_t handle,
                                 psa_key_policy_t *policy)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GET_KEY_POLICY_SID,
@@ -401,26 +271,15 @@
         {.base = policy, .len = sizeof(psa_key_policy_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_get_key_policy,
                           TFM_CRYPTO_GET_KEY_POLICY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_get_key_lifetime(psa_key_handle_t handle,
                                   psa_key_lifetime_t *lifetime)
 {
-#if (TFM_CRYPTO_KEY_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GET_KEY_LIFETIME_SID,
@@ -434,18 +293,10 @@
         {.base = lifetime, .len = sizeof(psa_key_lifetime_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_get_key_lifetime,
                           TFM_CRYPTO_GET_KEY_LIFETIME);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
 }
 
 psa_status_t psa_cipher_generate_iv(psa_cipher_operation_t *operation,
@@ -453,9 +304,6 @@
                                     size_t iv_size,
                                     size_t *iv_length)
 {
-#if (TFM_CRYPTO_CIPHER_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_CIPHER_GENERATE_IV_SID,
@@ -470,30 +318,18 @@
         {.base = iv, .len = iv_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_cipher_generate_iv,
                           TFM_CRYPTO_CIPHER_GENERATE_IV);
 
     *iv_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
 }
 
 psa_status_t psa_cipher_set_iv(psa_cipher_operation_t *operation,
                                const unsigned char *iv,
                                size_t iv_length)
 {
-#if (TFM_CRYPTO_CIPHER_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_CIPHER_SET_IV_SID,
@@ -508,27 +344,16 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_cipher_set_iv,
                           TFM_CRYPTO_CIPHER_SET_IV);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
 }
 
 psa_status_t psa_cipher_encrypt_setup(psa_cipher_operation_t *operation,
                                       psa_key_handle_t handle,
                                       psa_algorithm_t alg)
 {
-#if (TFM_CRYPTO_CIPHER_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_CIPHER_ENCRYPT_SETUP_SID,
@@ -544,27 +369,16 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_cipher_encrypt_setup,
                           TFM_CRYPTO_CIPHER_ENCRYPT_SETUP);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
 }
 
 psa_status_t psa_cipher_decrypt_setup(psa_cipher_operation_t *operation,
                                       psa_key_handle_t handle,
                                       psa_algorithm_t alg)
 {
-#if (TFM_CRYPTO_CIPHER_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_CIPHER_DECRYPT_SETUP_SID,
@@ -580,18 +394,10 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_cipher_decrypt_setup,
                           TFM_CRYPTO_CIPHER_DECRYPT_SETUP);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
 }
 
 psa_status_t psa_cipher_update(psa_cipher_operation_t *operation,
@@ -601,9 +407,6 @@
                                size_t output_size,
                                size_t *output_length)
 {
-#if (TFM_CRYPTO_CIPHER_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_CIPHER_UPDATE_SID,
@@ -619,28 +422,16 @@
         {.base = output, .len = output_size}
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_cipher_update,
                           TFM_CRYPTO_CIPHER_UPDATE);
 
     *output_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
 }
 
 psa_status_t psa_cipher_abort(psa_cipher_operation_t *operation)
 {
-#if (TFM_CRYPTO_CIPHER_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_CIPHER_ABORT_SID,
@@ -654,18 +445,10 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_cipher_abort,
                           TFM_CRYPTO_CIPHER_ABORT);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
 }
 
 psa_status_t psa_cipher_finish(psa_cipher_operation_t *operation,
@@ -673,9 +456,6 @@
                                size_t output_size,
                                size_t *output_length)
 {
-#if (TFM_CRYPTO_CIPHER_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_CIPHER_FINISH_SID,
@@ -690,29 +470,17 @@
         {.base = output, .len = output_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_cipher_finish,
                           TFM_CRYPTO_CIPHER_FINISH);
 
     *output_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
 }
 
 psa_status_t psa_hash_setup(psa_hash_operation_t *operation,
                             psa_algorithm_t alg)
 {
-#if (TFM_CRYPTO_HASH_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_HASH_SETUP_SID,
@@ -727,28 +495,16 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_hash_setup,
                           TFM_CRYPTO_HASH_SETUP);
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
 }
 
 psa_status_t psa_hash_update(psa_hash_operation_t *operation,
                              const uint8_t *input,
                              size_t input_length)
 {
-#if (TFM_CRYPTO_HASH_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_HASH_UPDATE_SID,
@@ -763,19 +519,10 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_hash_update,
                           TFM_CRYPTO_HASH_UPDATE);
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
 }
 
 psa_status_t psa_hash_finish(psa_hash_operation_t *operation,
@@ -783,9 +530,6 @@
                              size_t hash_size,
                              size_t *hash_length)
 {
-#if (TFM_CRYPTO_HASH_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_HASH_FINISH_SID,
@@ -800,30 +544,18 @@
         {.base = hash, .len = hash_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_hash_finish,
                           TFM_CRYPTO_HASH_FINISH);
 
     *hash_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
 }
 
 psa_status_t psa_hash_verify(psa_hash_operation_t *operation,
                              const uint8_t *hash,
                              size_t hash_length)
 {
-#if (TFM_CRYPTO_HASH_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_HASH_VERIFY_SID,
@@ -838,25 +570,14 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_hash_verify,
                           TFM_CRYPTO_HASH_VERIFY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
 }
 
 psa_status_t psa_hash_abort(psa_hash_operation_t *operation)
 {
-#if (TFM_CRYPTO_HASH_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_HASH_ABORT_SID,
@@ -870,26 +591,15 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_hash_abort,
                           TFM_CRYPTO_HASH_ABORT);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
 }
 
 psa_status_t psa_hash_clone(const psa_hash_operation_t *source_operation,
                             psa_hash_operation_t *target_operation)
 {
-#if (TFM_CRYPTO_HASH_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_HASH_CLONE_SID,
@@ -903,27 +613,16 @@
         {.base = target_operation, .len = sizeof(psa_hash_operation_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_hash_clone,
                           TFM_CRYPTO_HASH_CLONE);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
 }
 
 psa_status_t psa_mac_sign_setup(psa_mac_operation_t *operation,
                                 psa_key_handle_t handle,
                                 psa_algorithm_t alg)
 {
-#if (TFM_CRYPTO_MAC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_MAC_SIGN_SETUP_SID,
@@ -939,27 +638,16 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_mac_sign_setup,
                           TFM_CRYPTO_MAC_SIGN_SETUP);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
 }
 
 psa_status_t psa_mac_verify_setup(psa_mac_operation_t *operation,
                                   psa_key_handle_t handle,
                                   psa_algorithm_t alg)
 {
-#if (TFM_CRYPTO_MAC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_MAC_VERIFY_SETUP_SID,
@@ -975,27 +663,16 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_mac_verify_setup,
                           TFM_CRYPTO_MAC_VERIFY_SETUP);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
 }
 
 psa_status_t psa_mac_update(psa_mac_operation_t *operation,
                             const uint8_t *input,
                             size_t input_length)
 {
-#if (TFM_CRYPTO_MAC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_MAC_UPDATE_SID,
@@ -1010,18 +687,10 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_mac_update,
                           TFM_CRYPTO_MAC_UPDATE);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
 }
 
 psa_status_t psa_mac_sign_finish(psa_mac_operation_t *operation,
@@ -1029,9 +698,6 @@
                                  size_t mac_size,
                                  size_t *mac_length)
 {
-#if (TFM_CRYPTO_MAC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_MAC_SIGN_FINISH_SID,
@@ -1046,30 +712,18 @@
         {.base = mac, .len = mac_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_mac_sign_finish,
                           TFM_CRYPTO_MAC_SIGN_FINISH);
 
     *mac_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
 }
 
 psa_status_t psa_mac_verify_finish(psa_mac_operation_t *operation,
                                    const uint8_t *mac,
                                    size_t mac_length)
 {
-#if (TFM_CRYPTO_MAC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_MAC_VERIFY_FINISH_SID,
@@ -1084,26 +738,14 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_mac_verify_finish,
                           TFM_CRYPTO_MAC_VERIFY_FINISH);
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
 }
 
 psa_status_t psa_mac_abort(psa_mac_operation_t *operation)
 {
-#if (TFM_CRYPTO_MAC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_MAC_ABORT_SID,
@@ -1117,18 +759,10 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_mac_abort,
                           TFM_CRYPTO_MAC_ABORT);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
 }
 
 psa_status_t psa_aead_encrypt(psa_key_handle_t handle,
@@ -1143,9 +777,6 @@
                               size_t ciphertext_size,
                               size_t *ciphertext_length)
 {
-#if (TFM_CRYPTO_AEAD_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_AEAD_ENCRYPT_SID,
@@ -1179,30 +810,12 @@
         }
     }
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
-#ifdef TFM_PSA_API
-    size_t in_len = ARRAY_SIZE(in_vec);
-    if (additional_data == NULL) {
-        in_len--;
-    }
-    status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
-                      out_vec, ARRAY_SIZE(out_vec));
-#else
     status = API_DISPATCH(tfm_crypto_aead_encrypt,
                           TFM_CRYPTO_AEAD_ENCRYPT);
-#endif
 
     *ciphertext_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_AEAD_MODULE_DISABLED */
 }
 
 psa_status_t psa_aead_decrypt(psa_key_handle_t handle,
@@ -1217,9 +830,6 @@
                               size_t plaintext_size,
                               size_t *plaintext_length)
 {
-#if (TFM_CRYPTO_AEAD_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_AEAD_DECRYPT_SID,
@@ -1253,30 +863,12 @@
         }
     }
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
-#ifdef TFM_PSA_API
-    size_t in_len = ARRAY_SIZE(in_vec);
-    if (additional_data == NULL) {
-        in_len--;
-    }
-    status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
-                      out_vec, ARRAY_SIZE(out_vec));
-#else
     status = API_DISPATCH(tfm_crypto_aead_decrypt,
                           TFM_CRYPTO_AEAD_DECRYPT);
-#endif
 
     *plaintext_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_AEAD_MODULE_DISABLED */
 }
 
 psa_status_t psa_asymmetric_sign(psa_key_handle_t handle,
@@ -1287,9 +879,6 @@
                                  size_t signature_size,
                                  size_t *signature_length)
 {
-#if (TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_ASYMMETRIC_SIGN_SID,
@@ -1305,21 +894,12 @@
         {.base = signature, .len = signature_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_asymmetric_sign,
                           TFM_CRYPTO_ASYMMETRIC_SIGN);
 
     *signature_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
 }
 
 psa_status_t psa_asymmetric_verify(psa_key_handle_t handle,
@@ -1329,9 +909,6 @@
                                    const uint8_t *signature,
                                    size_t signature_length)
 {
-#if (TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_ASYMMETRIC_VERIFY_SID,
@@ -1345,18 +922,10 @@
         {.base = signature, .len = signature_length}
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_asymmetric_verify,
                                     TFM_CRYPTO_ASYMMETRIC_VERIFY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
 }
 
 psa_status_t psa_asymmetric_encrypt(psa_key_handle_t handle,
@@ -1369,9 +938,6 @@
                                     size_t output_size,
                                     size_t *output_length)
 {
-#if (TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_ASYMMETRIC_ENCRYPT_SID,
@@ -1394,30 +960,12 @@
         {.base = output, .len = output_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
-#ifdef TFM_PSA_API
-    size_t in_len = ARRAY_SIZE(in_vec);
-    if (salt == NULL) {
-        in_len--;
-    }
-    status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
-                      out_vec, ARRAY_SIZE(out_vec));
-#else
     status = API_DISPATCH(tfm_crypto_asymmetric_encrypt,
                           TFM_CRYPTO_ASYMMETRIC_ENCRYPT);
-#endif
 
     *output_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
 }
 
 psa_status_t psa_asymmetric_decrypt(psa_key_handle_t handle,
@@ -1430,9 +978,6 @@
                                     size_t output_size,
                                     size_t *output_length)
 {
-#if (TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_ASYMMETRIC_DECRYPT_SID,
@@ -1455,38 +1000,17 @@
         {.base = output, .len = output_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
-#ifdef TFM_PSA_API
-    size_t in_len = ARRAY_SIZE(in_vec);
-    if (salt == NULL) {
-        in_len--;
-    }
-    status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
-                      out_vec, ARRAY_SIZE(out_vec));
-#else
     status = API_DISPATCH(tfm_crypto_asymmetric_decrypt,
                           TFM_CRYPTO_ASYMMETRIC_DECRYPT);
-#endif
 
     *output_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
 }
 
 psa_status_t psa_get_generator_capacity(const psa_crypto_generator_t *generator,
                                         size_t *capacity)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GET_GENERATOR_CAPACITY_SID,
@@ -1501,27 +1025,16 @@
         {.base = capacity, .len = sizeof(size_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_get_generator_capacity,
                           TFM_CRYPTO_GET_GENERATOR_CAPACITY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
 
 psa_status_t psa_generator_read(psa_crypto_generator_t *generator,
                                 uint8_t *output,
                                 size_t output_length)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GENERATOR_READ_SID,
@@ -1536,18 +1049,10 @@
         {.base = output, .len = output_length},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_generator_read,
                           TFM_CRYPTO_GENERATOR_READ);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
 
 psa_status_t psa_generator_import_key(psa_key_handle_t handle,
@@ -1555,9 +1060,6 @@
                                       size_t bits,
                                       psa_crypto_generator_t *generator)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GENERATOR_IMPORT_KEY_SID,
@@ -1571,25 +1073,14 @@
         {.base = &bits, .len = sizeof(size_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_generator_import_key,
                                     TFM_CRYPTO_GENERATOR_IMPORT_KEY);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
 
 psa_status_t psa_generator_abort(psa_crypto_generator_t *generator)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GENERATOR_ABORT_SID,
@@ -1604,18 +1095,10 @@
         {.base = &(generator->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_generator_abort,
                           TFM_CRYPTO_GENERATOR_ABORT);
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
 
 psa_status_t psa_key_derivation(psa_crypto_generator_t *generator,
@@ -1627,9 +1110,6 @@
                                 size_t label_length,
                                 size_t capacity)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_KEY_DERIVATION_SID,
@@ -1658,31 +1138,10 @@
         {.base = &(generator->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
-#ifdef TFM_PSA_API
-    size_t in_len = ARRAY_SIZE(in_vec);
-    if (label == NULL) {
-        in_len--;
-        if (salt == NULL) {
-            in_len--;
-        }
-    }
-    status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
-                      out_vec, ARRAY_SIZE(out_vec));
-#else
     status = API_DISPATCH(tfm_crypto_key_derivation,
                           TFM_CRYPTO_KEY_DERIVATION);
-#endif
-
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
 
 psa_status_t psa_key_agreement(psa_crypto_generator_t *generator,
@@ -1691,9 +1150,6 @@
                                size_t peer_key_length,
                                psa_algorithm_t alg)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_KEY_AGREEMENT_SID,
@@ -1711,27 +1167,15 @@
         {.base = &(generator->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_key_agreement,
                           TFM_CRYPTO_KEY_AGREEMENT);
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
 
 psa_status_t psa_generate_random(uint8_t *output,
                                  size_t output_size)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GENERATE_RANDOM_SID,
@@ -1749,19 +1193,10 @@
         return PSA_SUCCESS;
     }
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
     status = API_DISPATCH(tfm_crypto_generate_random,
                           TFM_CRYPTO_GENERATE_RANDOM);
 
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
-
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
 
 psa_status_t psa_generate_key(psa_key_handle_t handle,
@@ -1770,9 +1205,6 @@
                               const void *extra,
                               size_t extra_size)
 {
-#if (TFM_CRYPTO_GENERATOR_MODULE_DISABLED != 0)
-    return PSA_ERROR_NOT_SUPPORTED;
-#else
     psa_status_t status;
     struct tfm_crypto_pack_iovec iov = {
         .sfn_id = TFM_CRYPTO_GENERATE_KEY_SID,
@@ -1791,26 +1223,8 @@
         {.base = extra, .len = extra_size},
     };
 
-#ifdef TFM_PSA_API
-    PSA_CONNECT(TFM_CRYPTO);
-#endif
-
-#ifdef TFM_PSA_API
-    size_t in_len = ARRAY_SIZE(in_vec);
-    if (extra == NULL) {
-        in_len--;
-    }
-
-    status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len, NULL, 0);
-#else
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_generate_key,
                                     TFM_CRYPTO_GENERATE_KEY);
-#endif
-
-#ifdef TFM_PSA_API
-    PSA_CLOSE();
-#endif
 
     return status;
-#endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
 }
diff --git a/interface/src/tfm_crypto_api.c b/interface/src/tfm_crypto_ipc_api.c
similarity index 92%
rename from interface/src/tfm_crypto_api.c
rename to interface/src/tfm_crypto_ipc_api.c
index c53641b..cf6152c 100644
--- a/interface/src/tfm_crypto_api.c
+++ b/interface/src/tfm_crypto_ipc_api.c
@@ -9,15 +9,11 @@
 #include "tfm_crypto_defs.h"
 #include "psa/crypto.h"
 #include "tfm_ns_interface.h"
-#ifdef TFM_PSA_API
 #include "psa_manifest/sid.h"
-#endif
+#include "psa/client.h"
 
 #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
 
-#ifdef TFM_PSA_API
-#include "psa/client.h"
-
 #define PSA_CONNECT(service)                                    \
     psa_handle_t ipc_handle;                                    \
     ipc_handle = psa_connect(service##_SID, service##_VERSION); \
@@ -36,17 +32,6 @@
     psa_call(ipc_handle, PSA_IPC_CALL,                          \
         in_vec, ARRAY_SIZE(in_vec),                             \
         (psa_outvec *)NULL, 0)
-#else
-#define API_DISPATCH(sfn_name, sfn_id)                               \
-        tfm_ns_interface_dispatch((veneer_fn)tfm_##sfn_name##_veneer,\
-        (uint32_t)in_vec, ARRAY_SIZE(in_vec),                        \
-        (uint32_t)out_vec, ARRAY_SIZE(out_vec))
-
-#define API_DISPATCH_NO_OUTVEC(sfn_name, sfn_id)                     \
-        tfm_ns_interface_dispatch((veneer_fn)tfm_##sfn_name##_veneer,\
-        (uint32_t)in_vec, ARRAY_SIZE(in_vec),                        \
-        (uint32_t)NULL, 0)
-#endif
 
 psa_status_t psa_crypto_init(void)
 {
@@ -72,15 +57,12 @@
         {.base = handle, .len = sizeof(psa_key_handle_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_allocate_key,
                           TFM_CRYPTO_ALLOCATE_KEY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -149,15 +131,12 @@
         {.base = data, .len = data_length}
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_import_key,
                                     TFM_CRYPTO_IMPORT_KEY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -177,15 +156,12 @@
         {.base = &iov, .len = sizeof(struct tfm_crypto_pack_iovec)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_destroy_key,
                                     TFM_CRYPTO_DESTROY_KEY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -211,15 +187,12 @@
         {.base = bits, .len = sizeof(size_t)}
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_get_key_information,
                           TFM_CRYPTO_GET_KEY_INFORMATION);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -245,18 +218,14 @@
         {.base = data, .len = data_size}
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_export_key,
                           TFM_CRYPTO_EXPORT_KEY);
 
     *data_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -283,18 +252,14 @@
         {.base = data, .len = data_size}
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_export_public_key,
                           TFM_CRYPTO_EXPORT_PUBLIC_KEY);
 
     *data_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -319,15 +284,12 @@
         {.base = constraint, .len = sizeof(psa_key_policy_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_copy_key,
                                     TFM_CRYPTO_COPY_KEY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -368,15 +330,12 @@
         {.base = policy, .len = sizeof(psa_key_policy_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_set_key_policy,
                                     TFM_CRYPTO_SET_KEY_POLICY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -401,15 +360,12 @@
         {.base = policy, .len = sizeof(psa_key_policy_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_get_key_policy,
                           TFM_CRYPTO_GET_KEY_POLICY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -434,15 +390,12 @@
         {.base = lifetime, .len = sizeof(psa_key_lifetime_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_get_key_lifetime,
                           TFM_CRYPTO_GET_KEY_LIFETIME);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_KEY_MODULE_DISABLED */
@@ -470,18 +423,14 @@
         {.base = iv, .len = iv_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_cipher_generate_iv,
                           TFM_CRYPTO_CIPHER_GENERATE_IV);
 
     *iv_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
@@ -508,15 +457,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_cipher_set_iv,
                           TFM_CRYPTO_CIPHER_SET_IV);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
@@ -544,15 +490,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_cipher_encrypt_setup,
                           TFM_CRYPTO_CIPHER_ENCRYPT_SETUP);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
@@ -580,15 +523,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_cipher_decrypt_setup,
                           TFM_CRYPTO_CIPHER_DECRYPT_SETUP);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
@@ -619,18 +559,14 @@
         {.base = output, .len = output_size}
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_cipher_update,
                           TFM_CRYPTO_CIPHER_UPDATE);
 
     *output_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
@@ -654,15 +590,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_cipher_abort,
                           TFM_CRYPTO_CIPHER_ABORT);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
@@ -690,18 +623,14 @@
         {.base = output, .len = output_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_cipher_finish,
                           TFM_CRYPTO_CIPHER_FINISH);
 
     *output_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_CIPHER_MODULE_DISABLED */
@@ -727,16 +656,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_hash_setup,
                           TFM_CRYPTO_HASH_SETUP);
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
@@ -763,16 +688,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_hash_update,
                           TFM_CRYPTO_HASH_UPDATE);
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
@@ -800,18 +721,14 @@
         {.base = hash, .len = hash_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_hash_finish,
                           TFM_CRYPTO_HASH_FINISH);
 
     *hash_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
@@ -838,15 +755,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_hash_verify,
                           TFM_CRYPTO_HASH_VERIFY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
@@ -870,15 +784,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_hash_abort,
                           TFM_CRYPTO_HASH_ABORT);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
@@ -903,15 +814,12 @@
         {.base = target_operation, .len = sizeof(psa_hash_operation_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_hash_clone,
                           TFM_CRYPTO_HASH_CLONE);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_HASH_MODULE_DISABLED */
@@ -939,15 +847,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_mac_sign_setup,
                           TFM_CRYPTO_MAC_SIGN_SETUP);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
@@ -975,15 +880,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_mac_verify_setup,
                           TFM_CRYPTO_MAC_VERIFY_SETUP);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
@@ -1010,15 +912,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_mac_update,
                           TFM_CRYPTO_MAC_UPDATE);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
@@ -1046,18 +945,14 @@
         {.base = mac, .len = mac_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_mac_sign_finish,
                           TFM_CRYPTO_MAC_SIGN_FINISH);
 
     *mac_length = out_vec[1].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
@@ -1084,16 +979,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_mac_verify_finish,
                           TFM_CRYPTO_MAC_VERIFY_FINISH);
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
@@ -1117,15 +1008,12 @@
         {.base = &(operation->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_mac_abort,
                           TFM_CRYPTO_MAC_ABORT);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_MAC_MODULE_DISABLED */
@@ -1179,27 +1067,18 @@
         }
     }
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
-#ifdef TFM_PSA_API
     size_t in_len = ARRAY_SIZE(in_vec);
     if (additional_data == NULL) {
         in_len--;
     }
     status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
                       out_vec, ARRAY_SIZE(out_vec));
-#else
-    status = API_DISPATCH(tfm_crypto_aead_encrypt,
-                          TFM_CRYPTO_AEAD_ENCRYPT);
-#endif
 
     *ciphertext_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_AEAD_MODULE_DISABLED */
@@ -1253,27 +1132,18 @@
         }
     }
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
-#ifdef TFM_PSA_API
     size_t in_len = ARRAY_SIZE(in_vec);
     if (additional_data == NULL) {
         in_len--;
     }
     status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
                       out_vec, ARRAY_SIZE(out_vec));
-#else
-    status = API_DISPATCH(tfm_crypto_aead_decrypt,
-                          TFM_CRYPTO_AEAD_DECRYPT);
-#endif
 
     *plaintext_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_AEAD_MODULE_DISABLED */
@@ -1305,18 +1175,14 @@
         {.base = signature, .len = signature_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_asymmetric_sign,
                           TFM_CRYPTO_ASYMMETRIC_SIGN);
 
     *signature_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
@@ -1345,15 +1211,12 @@
         {.base = signature, .len = signature_length}
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_asymmetric_verify,
                                     TFM_CRYPTO_ASYMMETRIC_VERIFY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
@@ -1394,27 +1257,18 @@
         {.base = output, .len = output_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
-#ifdef TFM_PSA_API
     size_t in_len = ARRAY_SIZE(in_vec);
     if (salt == NULL) {
         in_len--;
     }
     status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
                       out_vec, ARRAY_SIZE(out_vec));
-#else
-    status = API_DISPATCH(tfm_crypto_asymmetric_encrypt,
-                          TFM_CRYPTO_ASYMMETRIC_ENCRYPT);
-#endif
 
     *output_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
@@ -1455,27 +1309,18 @@
         {.base = output, .len = output_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
-#ifdef TFM_PSA_API
     size_t in_len = ARRAY_SIZE(in_vec);
     if (salt == NULL) {
         in_len--;
     }
     status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
                       out_vec, ARRAY_SIZE(out_vec));
-#else
-    status = API_DISPATCH(tfm_crypto_asymmetric_decrypt,
-                          TFM_CRYPTO_ASYMMETRIC_DECRYPT);
-#endif
 
     *output_length = out_vec[0].len;
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_ASYMMETRIC_MODULE_DISABLED */
@@ -1501,15 +1346,12 @@
         {.base = capacity, .len = sizeof(size_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_get_generator_capacity,
                           TFM_CRYPTO_GET_GENERATOR_CAPACITY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
@@ -1536,15 +1378,12 @@
         {.base = output, .len = output_length},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_generator_read,
                           TFM_CRYPTO_GENERATOR_READ);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
@@ -1571,15 +1410,12 @@
         {.base = &bits, .len = sizeof(size_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH_NO_OUTVEC(tfm_crypto_generator_import_key,
                                     TFM_CRYPTO_GENERATOR_IMPORT_KEY);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
@@ -1604,15 +1440,12 @@
         {.base = &(generator->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_generator_abort,
                           TFM_CRYPTO_GENERATOR_ABORT);
-#ifdef TFM_PSA_API
+
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
@@ -1658,11 +1491,8 @@
         {.base = &(generator->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
-#ifdef TFM_PSA_API
     size_t in_len = ARRAY_SIZE(in_vec);
     if (label == NULL) {
         in_len--;
@@ -1672,14 +1502,8 @@
     }
     status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
                       out_vec, ARRAY_SIZE(out_vec));
-#else
-    status = API_DISPATCH(tfm_crypto_key_derivation,
-                          TFM_CRYPTO_KEY_DERIVATION);
-#endif
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
@@ -1711,16 +1535,12 @@
         {.base = &(generator->handle), .len = sizeof(uint32_t)},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_key_agreement,
                           TFM_CRYPTO_KEY_AGREEMENT);
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
@@ -1749,16 +1569,12 @@
         return PSA_SUCCESS;
     }
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
     status = API_DISPATCH(tfm_crypto_generate_random,
                           TFM_CRYPTO_GENERATE_RANDOM);
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
@@ -1791,25 +1607,16 @@
         {.base = extra, .len = extra_size},
     };
 
-#ifdef TFM_PSA_API
     PSA_CONNECT(TFM_CRYPTO);
-#endif
 
-#ifdef TFM_PSA_API
     size_t in_len = ARRAY_SIZE(in_vec);
     if (extra == NULL) {
         in_len--;
     }
 
     status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len, NULL, 0);
-#else
-    status = API_DISPATCH_NO_OUTVEC(tfm_crypto_generate_key,
-                                    TFM_CRYPTO_GENERATE_KEY);
-#endif
 
-#ifdef TFM_PSA_API
     PSA_CLOSE();
-#endif
 
     return status;
 #endif /* TFM_CRYPTO_GENERATOR_MODULE_DISABLED */
diff --git a/interface/src/tfm_initial_attestation_func_api.c b/interface/src/tfm_initial_attestation_func_api.c
new file mode 100644
index 0000000..c391f61
--- /dev/null
+++ b/interface/src/tfm_initial_attestation_func_api.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#include "psa/initial_attestation.h"
+#include "tfm_veneers.h"
+#include "tfm_ns_interface.h"
+#include "psa/client.h"
+
+#define IOVEC_LEN(x) (sizeof(x)/sizeof(x[0]))
+
+enum psa_attest_err_t
+psa_initial_attest_get_token(const uint8_t *challenge_obj,
+                             uint32_t       challenge_size,
+                             uint8_t       *token,
+                             uint32_t      *token_size)
+{
+
+    int32_t res;
+
+    psa_invec in_vec[] = {
+        {challenge_obj, challenge_size}
+    };
+    psa_outvec out_vec[] = {
+        {token, *token_size}
+    };
+
+    res = tfm_ns_interface_dispatch(
+                               (veneer_fn)tfm_initial_attest_get_token_veneer,
+                               (uint32_t)in_vec,  IOVEC_LEN(in_vec),
+                               (uint32_t)out_vec, IOVEC_LEN(out_vec));
+
+    if (res == (int32_t)PSA_ATTEST_ERR_SUCCESS) {
+        *token_size = out_vec[0].len;
+    }
+
+    return (enum psa_attest_err_t)res;
+}
+
+enum psa_attest_err_t
+psa_initial_attest_get_token_size(uint32_t  challenge_size,
+                                  uint32_t *token_size)
+{
+    psa_invec in_vec[] = {
+        {&challenge_size, sizeof(challenge_size)}
+    };
+    psa_outvec out_vec[] = {
+        {token_size, sizeof(uint32_t)}
+    };
+
+    return (enum psa_attest_err_t)tfm_ns_interface_dispatch(
+                            (veneer_fn)tfm_initial_attest_get_token_size_veneer,
+                            (uint32_t)in_vec,  IOVEC_LEN(in_vec),
+                            (uint32_t)out_vec, IOVEC_LEN(out_vec));
+}
diff --git a/interface/src/tfm_initial_attestation_api.c b/interface/src/tfm_initial_attestation_ipc_api.c
similarity index 72%
rename from interface/src/tfm_initial_attestation_api.c
rename to interface/src/tfm_initial_attestation_ipc_api.c
index 1bcce05..10b3a59 100644
--- a/interface/src/tfm_initial_attestation_api.c
+++ b/interface/src/tfm_initial_attestation_ipc_api.c
@@ -9,9 +9,7 @@
 #include "tfm_veneers.h"
 #include "tfm_ns_interface.h"
 #include "psa/client.h"
-#ifdef TFM_PSA_API
 #include "psa_manifest/sid.h"
-#endif
 
 #define IOVEC_LEN(x) (sizeof(x)/sizeof(x[0]))
 
@@ -21,12 +19,9 @@
                              uint8_t       *token,
                              uint32_t      *token_size)
 {
-#ifdef TFM_PSA_API
     psa_handle_t handle = PSA_NULL_HANDLE;
     psa_status_t status;
-#else
-    int32_t res;
-#endif
+
     psa_invec in_vec[] = {
         {challenge_obj, challenge_size}
     };
@@ -34,7 +29,6 @@
         {token, *token_size}
     };
 
-#ifdef TFM_PSA_API
     handle = psa_connect(TFM_ATTEST_GET_TOKEN_SID,
                          TFM_ATTEST_GET_TOKEN_VERSION);
     if (handle <= 0) {
@@ -55,28 +49,14 @@
     }
 
     return (enum psa_attest_err_t)status;
-#else
-    res = tfm_ns_interface_dispatch(
-                               (veneer_fn)tfm_initial_attest_get_token_veneer,
-                               (uint32_t)in_vec,  IOVEC_LEN(in_vec),
-                               (uint32_t)out_vec, IOVEC_LEN(out_vec));
-
-    if (res == (int32_t)PSA_ATTEST_ERR_SUCCESS) {
-        *token_size = out_vec[0].len;
-    }
-
-    return (enum psa_attest_err_t)res;
-#endif
 }
 
 enum psa_attest_err_t
 psa_initial_attest_get_token_size(uint32_t  challenge_size,
                                   uint32_t *token_size)
 {
-#ifdef TFM_PSA_API
     psa_handle_t handle = PSA_NULL_HANDLE;
     psa_status_t status;
-#endif
     psa_invec in_vec[] = {
         {&challenge_size, sizeof(challenge_size)}
     };
@@ -84,7 +64,6 @@
         {token_size, sizeof(uint32_t)}
     };
 
-#ifdef TFM_PSA_API
     handle = psa_connect(TFM_ATTEST_GET_TOKEN_SIZE_SID,
                          TFM_ATTEST_GET_TOKEN_SIZE_VERSION);
     if (handle <= 0) {
@@ -101,10 +80,4 @@
     }
 
     return (enum psa_attest_err_t)status;
-#else
-    return (enum psa_attest_err_t)tfm_ns_interface_dispatch(
-                            (veneer_fn)tfm_initial_attest_get_token_size_veneer,
-                            (uint32_t)in_vec,  IOVEC_LEN(in_vec),
-                            (uint32_t)out_vec, IOVEC_LEN(out_vec));
-#endif
 }
diff --git a/interface/src/tfm_platform_api.c b/interface/src/tfm_platform_func_api.c
similarity index 100%
rename from interface/src/tfm_platform_api.c
rename to interface/src/tfm_platform_func_api.c
diff --git a/interface/src/tfm_sst_api.c b/interface/src/tfm_sst_func_api.c
similarity index 65%
copy from interface/src/tfm_sst_api.c
copy to interface/src/tfm_sst_func_api.c
index c3a1504..6d94d67 100644
--- a/interface/src/tfm_sst_api.c
+++ b/interface/src/tfm_sst_func_api.c
@@ -9,9 +9,6 @@
 
 #include "tfm_ns_interface.h"
 #include "tfm_veneers.h"
-#ifdef TFM_PSA_API
-#include "psa_manifest/sid.h"
-#endif
 
 #define IOVEC_LEN(x) (uint32_t)(sizeof(x)/sizeof(x[0]))
 
@@ -22,10 +19,6 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
-    psa_handle_t handle;
-#endif
-
     psa_invec in_vec[] = {
         { .base = &uid,   .len = sizeof(uid) },
         { .base = p_data, .len = data_length },
@@ -36,21 +29,6 @@
         { .base = &err , .len = sizeof(err) }
     };
 
-#ifdef TFM_PSA_API
-    handle = psa_connect(TFM_SST_SET_SID, TFM_SST_SET_VERSION);
-    if (!PSA_HANDLE_IS_VALID(handle)) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-
-    status = psa_call(handle, PSA_IPC_CALL, in_vec, IOVEC_LEN(in_vec), out_vec,
-                      IOVEC_LEN(out_vec));
-
-    psa_close(handle);
-
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#else
     status = tfm_ns_interface_dispatch(
                                   (veneer_fn)tfm_tfm_sst_set_req_veneer,
                                   (uint32_t)in_vec,  IOVEC_LEN(in_vec),
@@ -58,7 +36,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#endif
 
     return err;
 }
@@ -70,10 +47,6 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
-    psa_handle_t handle;
-#endif
-
     psa_invec in_vec[] = {
         { .base = &uid, .len = sizeof(uid) },
         { .base = &data_offset, .len = sizeof(data_offset) }
@@ -84,21 +57,6 @@
         { .base = p_data, .len = data_length }
     };
 
-#ifdef TFM_PSA_API
-    handle = psa_connect(TFM_SST_GET_SID, TFM_SST_GET_VERSION);
-    if (!PSA_HANDLE_IS_VALID(handle)) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-
-    status = psa_call(handle, PSA_IPC_CALL, in_vec, IOVEC_LEN(in_vec), out_vec,
-                      IOVEC_LEN(out_vec));
-
-    psa_close(handle);
-
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#else
     status = tfm_ns_interface_dispatch(
                                   (veneer_fn)tfm_tfm_sst_get_req_veneer,
                                   (uint32_t)in_vec,  IOVEC_LEN(in_vec),
@@ -107,7 +65,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#endif
 
     return err;
 }
@@ -116,10 +73,6 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
-    psa_handle_t handle;
-#endif
-
     psa_invec in_vec[] = {
         { .base = &uid, .len = sizeof(uid) }
     };
@@ -129,21 +82,6 @@
         { .base = p_info, .len = sizeof(*p_info) }
     };
 
-#ifdef TFM_PSA_API
-    handle = psa_connect(TFM_SST_GET_INFO_SID, TFM_SST_GET_INFO_VERSION);
-    if (!PSA_HANDLE_IS_VALID(handle)) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-
-    status = psa_call(handle, PSA_IPC_CALL, in_vec, IOVEC_LEN(in_vec), out_vec,
-                      IOVEC_LEN(out_vec));
-
-    psa_close(handle);
-
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#else
     status = tfm_ns_interface_dispatch(
                                   (veneer_fn)tfm_tfm_sst_get_info_req_veneer,
                                   (uint32_t)in_vec,  IOVEC_LEN(in_vec),
@@ -152,7 +90,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#endif
 
     return err;
 }
@@ -161,10 +98,6 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
-    psa_handle_t handle;
-#endif
-
     psa_invec in_vec[] = {
         { .base = &uid, .len = sizeof(uid) }
     };
@@ -173,21 +106,6 @@
         { .base = &err, .len = sizeof(err) }
     };
 
-#ifdef TFM_PSA_API
-    handle = psa_connect(TFM_SST_REMOVE_SID, TFM_SST_REMOVE_VERSION);
-    if (!PSA_HANDLE_IS_VALID(handle)) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-
-    status = psa_call(handle, PSA_IPC_CALL, in_vec, IOVEC_LEN(in_vec), out_vec,
-                      IOVEC_LEN(out_vec));
-
-    psa_close(handle);
-
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#else
     status = tfm_ns_interface_dispatch(
                                   (veneer_fn)tfm_tfm_sst_remove_req_veneer,
                                   (uint32_t)in_vec,  IOVEC_LEN(in_vec),
@@ -196,7 +114,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#endif
 
     return err;
 }
@@ -228,32 +145,15 @@
      * uninitialised value in case the secure function fails.
      */
     uint32_t support_flags = 0;
-#ifdef TFM_PSA_API
-    psa_handle_t handle;
-#endif
 
     psa_outvec out_vec[] = {
         { .base = &support_flags, .len = sizeof(support_flags) }
     };
 
-    /* The PSA API does not return an error, so any error from TF-M is
-     * ignored.
-     */
-#ifdef TFM_PSA_API
-    handle = psa_connect(TFM_SST_GET_SUPPORT_SID, TFM_SST_GET_SUPPORT_VERSION);
-    if (!PSA_HANDLE_IS_VALID(handle)) {
-        return support_flags;
-    }
-
-    (void)psa_call(handle, PSA_IPC_CALL, NULL, 0, out_vec, IOVEC_LEN(out_vec));
-
-    psa_close(handle);
-#else
     (void)tfm_ns_interface_dispatch(
                                (veneer_fn)tfm_tfm_sst_get_support_req_veneer,
                                (uint32_t)NULL,  0,
                                (uint32_t)out_vec, IOVEC_LEN(out_vec));
-#endif
 
     return support_flags;
 }
diff --git a/interface/src/tfm_sst_api.c b/interface/src/tfm_sst_ipc_api.c
similarity index 71%
rename from interface/src/tfm_sst_api.c
rename to interface/src/tfm_sst_ipc_api.c
index c3a1504..9ef95ff 100644
--- a/interface/src/tfm_sst_api.c
+++ b/interface/src/tfm_sst_ipc_api.c
@@ -9,9 +9,7 @@
 
 #include "tfm_ns_interface.h"
 #include "tfm_veneers.h"
-#ifdef TFM_PSA_API
 #include "psa_manifest/sid.h"
-#endif
 
 #define IOVEC_LEN(x) (uint32_t)(sizeof(x)/sizeof(x[0]))
 
@@ -22,9 +20,7 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
     psa_handle_t handle;
-#endif
 
     psa_invec in_vec[] = {
         { .base = &uid,   .len = sizeof(uid) },
@@ -36,7 +32,6 @@
         { .base = &err , .len = sizeof(err) }
     };
 
-#ifdef TFM_PSA_API
     handle = psa_connect(TFM_SST_SET_SID, TFM_SST_SET_VERSION);
     if (!PSA_HANDLE_IS_VALID(handle)) {
         return PSA_PS_ERROR_OPERATION_FAILED;
@@ -50,15 +45,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#else
-    status = tfm_ns_interface_dispatch(
-                                  (veneer_fn)tfm_tfm_sst_set_req_veneer,
-                                  (uint32_t)in_vec,  IOVEC_LEN(in_vec),
-                                  (uint32_t)out_vec, IOVEC_LEN(out_vec));
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#endif
 
     return err;
 }
@@ -70,9 +56,7 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
     psa_handle_t handle;
-#endif
 
     psa_invec in_vec[] = {
         { .base = &uid, .len = sizeof(uid) },
@@ -84,7 +68,6 @@
         { .base = p_data, .len = data_length }
     };
 
-#ifdef TFM_PSA_API
     handle = psa_connect(TFM_SST_GET_SID, TFM_SST_GET_VERSION);
     if (!PSA_HANDLE_IS_VALID(handle)) {
         return PSA_PS_ERROR_OPERATION_FAILED;
@@ -98,16 +81,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#else
-    status = tfm_ns_interface_dispatch(
-                                  (veneer_fn)tfm_tfm_sst_get_req_veneer,
-                                  (uint32_t)in_vec,  IOVEC_LEN(in_vec),
-                                  (uint32_t)out_vec, IOVEC_LEN(out_vec));
-
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#endif
 
     return err;
 }
@@ -116,9 +89,7 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
     psa_handle_t handle;
-#endif
 
     psa_invec in_vec[] = {
         { .base = &uid, .len = sizeof(uid) }
@@ -129,7 +100,6 @@
         { .base = p_info, .len = sizeof(*p_info) }
     };
 
-#ifdef TFM_PSA_API
     handle = psa_connect(TFM_SST_GET_INFO_SID, TFM_SST_GET_INFO_VERSION);
     if (!PSA_HANDLE_IS_VALID(handle)) {
         return PSA_PS_ERROR_OPERATION_FAILED;
@@ -143,16 +113,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#else
-    status = tfm_ns_interface_dispatch(
-                                  (veneer_fn)tfm_tfm_sst_get_info_req_veneer,
-                                  (uint32_t)in_vec,  IOVEC_LEN(in_vec),
-                                  (uint32_t)out_vec, IOVEC_LEN(out_vec));
-
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#endif
 
     return err;
 }
@@ -161,9 +121,7 @@
 {
     psa_status_t status;
     psa_ps_status_t err;
-#ifdef TFM_PSA_API
     psa_handle_t handle;
-#endif
 
     psa_invec in_vec[] = {
         { .base = &uid, .len = sizeof(uid) }
@@ -173,7 +131,6 @@
         { .base = &err, .len = sizeof(err) }
     };
 
-#ifdef TFM_PSA_API
     handle = psa_connect(TFM_SST_REMOVE_SID, TFM_SST_REMOVE_VERSION);
     if (!PSA_HANDLE_IS_VALID(handle)) {
         return PSA_PS_ERROR_OPERATION_FAILED;
@@ -187,16 +144,6 @@
     if (status != PSA_SUCCESS) {
         return PSA_PS_ERROR_OPERATION_FAILED;
     }
-#else
-    status = tfm_ns_interface_dispatch(
-                                  (veneer_fn)tfm_tfm_sst_remove_req_veneer,
-                                  (uint32_t)in_vec,  IOVEC_LEN(in_vec),
-                                  (uint32_t)out_vec, IOVEC_LEN(out_vec));
-
-    if (status != PSA_SUCCESS) {
-        return PSA_PS_ERROR_OPERATION_FAILED;
-    }
-#endif
 
     return err;
 }
@@ -228,9 +175,7 @@
      * uninitialised value in case the secure function fails.
      */
     uint32_t support_flags = 0;
-#ifdef TFM_PSA_API
     psa_handle_t handle;
-#endif
 
     psa_outvec out_vec[] = {
         { .base = &support_flags, .len = sizeof(support_flags) }
@@ -239,7 +184,6 @@
     /* The PSA API does not return an error, so any error from TF-M is
      * ignored.
      */
-#ifdef TFM_PSA_API
     handle = psa_connect(TFM_SST_GET_SUPPORT_SID, TFM_SST_GET_SUPPORT_VERSION);
     if (!PSA_HANDLE_IS_VALID(handle)) {
         return support_flags;
@@ -248,12 +192,6 @@
     (void)psa_call(handle, PSA_IPC_CALL, NULL, 0, out_vec, IOVEC_LEN(out_vec));
 
     psa_close(handle);
-#else
-    (void)tfm_ns_interface_dispatch(
-                               (veneer_fn)tfm_tfm_sst_get_support_req_veneer,
-                               (uint32_t)NULL,  0,
-                               (uint32_t)out_vec, IOVEC_LEN(out_vec));
-#endif
 
     return support_flags;
 }