]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm64/kernel/fpsimd.c
next-20150925/battery
[karo-tx-linux.git] / arch / arm64 / kernel / fpsimd.c
index c56956a16d3f0c9875e0bef4ff09e05e3fe2506d..4c46c54a3ad7ad817b8ba410565b8eff47cd3c08 100644 (file)
@@ -332,21 +332,15 @@ static inline void fpsimd_hotplug_init(void) { }
  */
 static int __init fpsimd_init(void)
 {
-       u64 pfr = read_cpuid(ID_AA64PFR0_EL1);
-
-       if (pfr & (0xf << 16)) {
+       if (elf_hwcap & HWCAP_FP) {
+               fpsimd_pm_init();
+               fpsimd_hotplug_init();
+       } else {
                pr_notice("Floating-point is not implemented\n");
-               return 0;
        }
-       elf_hwcap |= HWCAP_FP;
 
-       if (pfr & (0xf << 20))
+       if (!(elf_hwcap & HWCAP_ASIMD))
                pr_notice("Advanced SIMD is not implemented\n");
-       else
-               elf_hwcap |= HWCAP_ASIMD;
-
-       fpsimd_pm_init();
-       fpsimd_hotplug_init();
 
        return 0;
 }