arm64: cpufeature: Avoid warnings due to unused symbols
authorWill Deacon <will.deacon@arm.com>
Tue, 27 Mar 2018 10:51:12 +0000 (11:51 +0100)
committerWill Deacon <will.deacon@arm.com>
Tue, 27 Mar 2018 10:51:12 +0000 (11:51 +0100)
An allnoconfig build complains about unused symbols due to functions
that are called via conditional cpufeature and cpu_errata table entries.

Annotate these as __maybe_unused if they are likely to be generic, or
predicate their compilation on the same option as the table entry if
they are specific to a given alternative.

Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/cpu_errata.c
arch/arm64/kernel/cpufeature.c

index 6de823a..4613e4d 100644 (file)
@@ -285,8 +285,8 @@ qcom_enable_link_stack_sanitization(const struct arm64_cpu_capabilities *entry)
  * of call backs, sharing the same capability bit.
  * Iterate over each entry to see if at least one matches.
  */
-static bool multi_entry_cap_matches(const struct arm64_cpu_capabilities *entry,
-                                   int scope)
+static bool __maybe_unused
+multi_entry_cap_matches(const struct arm64_cpu_capabilities *entry, int scope)
 {
        const struct arm64_cpu_capabilities *caps;
 
@@ -301,7 +301,7 @@ static bool multi_entry_cap_matches(const struct arm64_cpu_capabilities *entry,
  * Take appropriate action for all matching entries in the shared capability
  * entry.
  */
-static void
+static void __maybe_unused
 multi_entry_cap_cpu_enable(const struct arm64_cpu_capabilities *entry)
 {
        const struct arm64_cpu_capabilities *caps;
index 381bb40..071a454 100644 (file)
@@ -838,11 +838,6 @@ static bool has_no_hw_prefetch(const struct arm64_cpu_capabilities *entry, int _
                MIDR_CPU_VAR_REV(1, MIDR_REVISION_MASK));
 }
 
-static bool runs_at_el2(const struct arm64_cpu_capabilities *entry, int __unused)
-{
-       return is_kernel_in_hyp_mode();
-}
-
 static bool hyp_offset_low(const struct arm64_cpu_capabilities *entry,
                           int __unused)
 {
@@ -1022,6 +1017,12 @@ static bool has_hw_dbm(const struct arm64_cpu_capabilities *cap,
 
 #endif
 
+#ifdef CONFIG_ARM64_VHE
+static bool runs_at_el2(const struct arm64_cpu_capabilities *entry, int __unused)
+{
+       return is_kernel_in_hyp_mode();
+}
+
 static void cpu_copy_el2regs(const struct arm64_cpu_capabilities *__unused)
 {
        /*
@@ -1035,6 +1036,7 @@ static void cpu_copy_el2regs(const struct arm64_cpu_capabilities *__unused)
        if (!alternatives_applied)
                write_sysreg(read_sysreg(tpidr_el1), tpidr_el2);
 }
+#endif
 
 static const struct arm64_cpu_capabilities arm64_features[] = {
        {