diff --git a/bl2/src/shared_data.c b/bl2/src/shared_data.c
index 8faff6e..cb51b66 100644
--- a/bl2/src/shared_data.c
+++ b/bl2/src/shared_data.c
@@ -167,12 +167,12 @@
 int boot_save_shared_data(const struct image_header *hdr,
                           const struct flash_area *fap)
 {
-    struct image_version image_ver;
     const struct flash_area *temp_fap;
     uint8_t mcuboot_image_id = 0;
     uint8_t i;
     int32_t rc;
 #ifdef TFM_PARTITION_FIRMWARE_UPDATE
+    struct image_version image_ver;
     uint16_t fwu_minor;
 #endif
 #if defined(CONFIG_TFM_BOOT_STORE_MEASUREMENTS) && !defined(MCUBOOT_MEASURED_BOOT)
@@ -211,9 +211,9 @@
         return -1;
     }
 
+#ifdef TFM_PARTITION_FIRMWARE_UPDATE
     image_ver = hdr->ih_ver;
 
-#ifdef TFM_PARTITION_FIRMWARE_UPDATE
     /* Currently hardcode it to 0 which indicates the full image. */
     fwu_minor = SET_FWU_MINOR(mcuboot_image_id, SW_VERSION);
     rc = boot_add_data_to_shared_area(TLV_MAJOR_FWU,
diff --git a/platform/ext/target/arm/rss/common/spm_dma_copy.c b/platform/ext/target/arm/rss/common/spm_dma_copy.c
index 1d19c44..a25cab1 100644
--- a/platform/ext/target/arm/rss/common/spm_dma_copy.c
+++ b/platform/ext/target/arm/rss/common/spm_dma_copy.c
@@ -18,14 +18,14 @@
 
 void *spm_dma_memcpy(void *dest, const void *src, size_t n)
 {
-    enum dma350_error_t err;
+    enum dma350_lib_error_t err;
 
     if (n < RSS_DMA_MIN_SIZE) {
         return memcpy(dest, src, n);
     } else {
         err = dma350_memcpy(&DMA350_DMA0_CH0_DEV_S, (void *)src, dest, n,
                             DMA350_LIB_EXEC_BLOCKING);
-        if (err != DMA350_ERR_NONE) {
+        if (err != DMA350_LIB_ERR_NONE) {
             /* Memcpy can't return an error, so this the only option */
             tfm_core_panic();
         }
diff --git a/secure_fw/spm/include/utilities.h b/secure_fw/spm/include/utilities.h
index 87e5c16..fc45890 100644
--- a/secure_fw/spm/include/utilities.h
+++ b/secure_fw/spm/include/utilities.h
@@ -47,10 +47,14 @@
 /* Runtime memory operations forwarding */
 #ifndef spm_memcpy
 #define spm_memcpy memcpy
+#else
+void *spm_memcpy(void *dest, const void *src, size_t n);
 #endif /* spm_memcpy */
 
 #ifndef spm_memset
 #define spm_memset memset
+#else
+void *spm_memset(void *s, int c, size_t n);
 #endif /* spm_memset */
 
 #endif /* __TFM_UTILS_H__ */
