aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@codeaurora.org>2014-11-20 14:29:09 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-11-21 10:24:44 -0500
commit2b94fe2ac97fdd2ae7521004e857e33016720eb7 (patch)
treeade3110260472cb3cd19646e7aad5242fa812f38
parent6c96a4a6e249a0580b32893583771149e0611375 (diff)
ARM: 8215/1: vfp: Silence mvfr0 variable unused warning
Stephen Rothwell reports that commit 3f4c9f8f0a20 ("ARM: 8197/1: vfp: Fix VFPv3 hwcap detection on CPUID based cpus") introduced a variable unused warning. arch/arm/vfp/vfpmodule.c: In function 'vfp_init': arch/arm/vfp/vfpmodule.c:725:6: warning: unused variable 'mvfr0' [-Wunused-variable] u32 mvfr0; Silence this warning by using IS_ENABLED instead of ifdefs. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/vfp/vfpmodule.c45
1 files changed, 22 insertions, 23 deletions
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index 5002d002f6e3..f6e4d56eda00 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -722,7 +722,6 @@ static int __init vfp_init(void)
722{ 722{
723 unsigned int vfpsid; 723 unsigned int vfpsid;
724 unsigned int cpu_arch = cpu_architecture(); 724 unsigned int cpu_arch = cpu_architecture();
725 u32 mvfr0;
726 725
727 if (cpu_arch >= CPU_ARCH_ARMv6) 726 if (cpu_arch >= CPU_ARCH_ARMv6)
728 on_each_cpu(vfp_enable, NULL, 1); 727 on_each_cpu(vfp_enable, NULL, 1);
@@ -752,30 +751,30 @@ static int __init vfp_init(void)
752 * precision floating point operations. Only check 751 * precision floating point operations. Only check
753 * for NEON if the hardware has the MVFR registers. 752 * for NEON if the hardware has the MVFR registers.
754 */ 753 */
755#ifdef CONFIG_NEON 754 if (IS_ENABLED(CONFIG_NEON) &&
756 if ((fmrx(MVFR1) & 0x000fff00) == 0x00011100) 755 (fmrx(MVFR1) & 0x000fff00) == 0x00011100)
757 elf_hwcap |= HWCAP_NEON; 756 elf_hwcap |= HWCAP_NEON;
758#endif
759#ifdef CONFIG_VFPv3
760 mvfr0 = fmrx(MVFR0);
761 if (((mvfr0 & MVFR0_DP_MASK) >> MVFR0_DP_BIT) == 0x2 ||
762 ((mvfr0 & MVFR0_SP_MASK) >> MVFR0_SP_BIT) == 0x2) {
763 elf_hwcap |= HWCAP_VFPv3;
764 /*
765 * Check for VFPv3 D16 and VFPv4 D16. CPUs in
766 * this configuration only have 16 x 64bit
767 * registers.
768 */
769 if ((mvfr0 & MVFR0_A_SIMD_MASK) == 1)
770 /* also v4-D16 */
771 elf_hwcap |= HWCAP_VFPv3D16;
772 else
773 elf_hwcap |= HWCAP_VFPD32;
774 }
775 757
776 if ((fmrx(MVFR1) & 0xf0000000) == 0x10000000) 758 if (IS_ENABLED(CONFIG_VFPv3)) {
777 elf_hwcap |= HWCAP_VFPv4; 759 u32 mvfr0 = fmrx(MVFR0);
778#endif 760 if (((mvfr0 & MVFR0_DP_MASK) >> MVFR0_DP_BIT) == 0x2 ||
761 ((mvfr0 & MVFR0_SP_MASK) >> MVFR0_SP_BIT) == 0x2) {
762 elf_hwcap |= HWCAP_VFPv3;
763 /*
764 * Check for VFPv3 D16 and VFPv4 D16. CPUs in
765 * this configuration only have 16 x 64bit
766 * registers.
767 */
768 if ((mvfr0 & MVFR0_A_SIMD_MASK) == 1)
769 /* also v4-D16 */
770 elf_hwcap |= HWCAP_VFPv3D16;
771 else
772 elf_hwcap |= HWCAP_VFPD32;
773 }
774
775 if ((fmrx(MVFR1) & 0xf0000000) == 0x10000000)
776 elf_hwcap |= HWCAP_VFPv4;
777 }
779 /* Extract the architecture version on pre-cpuid scheme */ 778 /* Extract the architecture version on pre-cpuid scheme */
780 } else { 779 } else {
781 if (vfpsid & FPSID_NODOUBLE) { 780 if (vfpsid & FPSID_NODOUBLE) {