[clang][lib][sm] Add initializer macro for smc32_arg_t

Change-Id: Iba67be5ee7350217945900d67226447f24beb9fe
diff --git a/lib/sm/halt.c b/lib/sm/halt.c
index c93db4d..fea2339 100644
--- a/lib/sm/halt.c
+++ b/lib/sm/halt.c
@@ -30,7 +30,7 @@
 void platform_halt(platform_halt_action suggested_action,
                    platform_halt_reason reason)
 {
-    smc32_args_t args = {0};
+    smc32_args_t args = SMC32_ARGS_INITIAL_VALUE(args);
 
     dprintf(ALWAYS, "HALT: (reason = %d)\n", reason);
     arch_disable_ints();
diff --git a/lib/sm/include/lib/sm.h b/lib/sm/include/lib/sm.h
index 8b5a8c3..87d3828 100644
--- a/lib/sm/include/lib/sm.h
+++ b/lib/sm/include/lib/sm.h
@@ -40,6 +40,8 @@
 	uint32_t params[SMC_NUM_PARAMS];
 } smc32_args_t;
 
+#define SMC32_ARGS_INITIAL_VALUE(args) {0, {0}}
+
 typedef long (*smc32_handler_t)(smc32_args_t *args);
 
 typedef struct smc32_entity {
diff --git a/lib/sm/sm.c b/lib/sm/sm.c
index b07f465..2768812 100644
--- a/lib/sm/sm.c
+++ b/lib/sm/sm.c
@@ -185,7 +185,7 @@
 /* must be called with irqs disabled */
 static void sm_return_and_wait_for_next_stdcall(long ret, int cpu)
 {
-	smc32_args_t args = {0};
+	smc32_args_t args = SMC32_ARGS_INITIAL_VALUE(args);
 
 	do {
 		arch_disable_fiqs();
@@ -427,7 +427,7 @@
 void sm_handle_fiq(void)
 {
 	uint32_t expected_return;
-	smc32_args_t args = {0};
+	smc32_args_t args = SMC32_ARGS_INITIAL_VALUE(args);
 	if (sm_get_api_version() >= TRUSTY_API_VERSION_RESTART_FIQ) {
 		sm_sched_nonsecure(SM_ERR_FIQ_INTERRUPTED, &args);
 		expected_return = SMC_SC_RESTART_FIQ;