summaryrefslogtreecommitdiff
path: root/bl31/bl31_context_mgmt.c
diff options
context:
space:
mode:
authorDan Handley <dan.handley@arm.com>2018-02-27 13:00:43 +0000
committerDan Handley <dan.handley@arm.com>2018-03-01 16:14:29 +0000
commit97924e4521dbc1002f7b13302fd350c00da36b27 (patch)
treed904ee0aa45c04957361862bab6fa95fd8992204 /bl31/bl31_context_mgmt.c
parent4504ab2bc2c9a3c6db0f92e4a34fc6095766885b (diff)
Suppress spurious deprecated declaration warnings
Some generic compatibility functions emit deprecated declaration warnings even when platforms do not use the deprecated functions directly. This can be confusing. Suppress these warnings by using: `#pragma GCC diagnostic ignored "-Wdeprecated-declarations"` Also emit a runtime warning if the weak plat/common implemntation of plat_get_syscnt_freq2() is used, as this implies the platform has not migrated from plat_get_syscnt_freq(). The deprecated declaration warnings only help detect when platforms are calling deprecated functions, not when they are defining deprecated functions. Fixes ARM-software/tf-issues#550 Change-Id: Id14a92279c2634c1e76db8ef210da8affdbb2a5d Signed-off-by: Dan Handley <dan.handley@arm.com>
Diffstat (limited to 'bl31/bl31_context_mgmt.c')
-rw-r--r--bl31/bl31_context_mgmt.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/bl31/bl31_context_mgmt.c b/bl31/bl31_context_mgmt.c
index 123e623c..7d2c8938 100644
--- a/bl31/bl31_context_mgmt.c
+++ b/bl31/bl31_context_mgmt.c
@@ -79,7 +79,13 @@ void *cm_get_context_by_mpidr(uint64_t mpidr, uint32_t security_state)
{
assert(sec_state_is_valid(security_state));
+ /*
+ * Suppress deprecated declaration warning in compatibility function
+ */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
return cm_get_context_by_index(platform_get_core_pos(mpidr), security_state);
+#pragma GCC diagnostic pop
}
/*******************************************************************************
@@ -90,8 +96,14 @@ void cm_set_context_by_mpidr(uint64_t mpidr, void *context, uint32_t security_st
{
assert(sec_state_is_valid(security_state));
+ /*
+ * Suppress deprecated declaration warning in compatibility function
+ */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
cm_set_context_by_index(platform_get_core_pos(mpidr),
context, security_state);
+#pragma GCC diagnostic pop
}
/*******************************************************************************
@@ -104,7 +116,15 @@ void cm_init_context(uint64_t mpidr, const entry_point_info_t *ep)
if ((mpidr & MPIDR_AFFINITY_MASK) ==
(read_mpidr_el1() & MPIDR_AFFINITY_MASK))
cm_init_my_context(ep);
- else
+ else {
+ /*
+ * Suppress deprecated declaration warning in compatibility
+ * function
+ */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
cm_init_context_by_index(platform_get_core_pos(mpidr), ep);
+#pragma GCC diagnostic pop
+ }
}
-#endif
+#endif /* ERROR_DEPRECATED */