Merge branch 'for-next' of git://git.pengutronix.de/git/ukl/linux into devel-stable
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / arm / include / asm / cputype.h
index ad41ec2..7652712 100644 (file)
 #define MPIDR_AFFINITY_LEVEL(mpidr, level) \
        ((mpidr >> (MPIDR_LEVEL_BITS * level)) & MPIDR_LEVEL_MASK)
 
+#define ARM_CPU_IMP_ARM                        0x41
+#define ARM_CPU_IMP_INTEL              0x69
+
+#define ARM_CPU_PART_ARM1136           0xB360
+#define ARM_CPU_PART_ARM1156           0xB560
+#define ARM_CPU_PART_ARM1176           0xB760
+#define ARM_CPU_PART_ARM11MPCORE       0xB020
+#define ARM_CPU_PART_CORTEX_A8         0xC080
+#define ARM_CPU_PART_CORTEX_A9         0xC090
+#define ARM_CPU_PART_CORTEX_A5         0xC050
+#define ARM_CPU_PART_CORTEX_A15                0xC0F0
+#define ARM_CPU_PART_CORTEX_A7         0xC070
+
+#define ARM_CPU_XSCALE_ARCH_MASK       0xe000
+#define ARM_CPU_XSCALE_ARCH_V1         0x2000
+#define ARM_CPU_XSCALE_ARCH_V2         0x4000
+#define ARM_CPU_XSCALE_ARCH_V3         0x6000
+
 extern unsigned int processor_id;
 
 #ifdef CONFIG_CPU_CP15
@@ -50,6 +68,7 @@ extern unsigned int processor_id;
                    : "cc");                                            \
                __val;                                                  \
        })
+
 #define read_cpuid_ext(ext_reg)                                                \
        ({                                                              \
                unsigned int __val;                                     \
@@ -59,29 +78,24 @@ extern unsigned int processor_id;
                    : "cc");                                            \
                __val;                                                  \
        })
-#else
-#define read_cpuid(reg) (processor_id)
-#define read_cpuid_ext(reg) 0
-#endif
 
-#define ARM_CPU_IMP_ARM                        0x41
-#define ARM_CPU_IMP_INTEL              0x69
+#else /* ifdef CONFIG_CPU_CP15 */
 
-#define ARM_CPU_PART_ARM1136           0xB360
-#define ARM_CPU_PART_ARM1156           0xB560
-#define ARM_CPU_PART_ARM1176           0xB760
-#define ARM_CPU_PART_ARM11MPCORE       0xB020
-#define ARM_CPU_PART_CORTEX_A8         0xC080
-#define ARM_CPU_PART_CORTEX_A9         0xC090
-#define ARM_CPU_PART_CORTEX_A5         0xC050
-#define ARM_CPU_PART_CORTEX_A15                0xC0F0
-#define ARM_CPU_PART_CORTEX_A7         0xC070
+/*
+ * read_cpuid and read_cpuid_ext should only ever be called on machines that
+ * have cp15 so warn on other usages.
+ */
+#define read_cpuid(reg)                                                        \
+       ({                                                              \
+               WARN_ON_ONCE(1);                                        \
+               0;                                                      \
+       })
 
-#define ARM_CPU_XSCALE_ARCH_MASK       0xe000
-#define ARM_CPU_XSCALE_ARCH_V1         0x2000
-#define ARM_CPU_XSCALE_ARCH_V2         0x4000
-#define ARM_CPU_XSCALE_ARCH_V3         0x6000
+#define read_cpuid_ext(reg) read_cpuid(reg)
+
+#endif /* ifdef CONFIG_CPU_CP15 / else */
 
+#ifdef CONFIG_CPU_CP15
 /*
  * The CPU ID never changes at run time, so we might as well tell the
  * compiler that it's constant.  Use this function to read the CPU ID
@@ -92,6 +106,15 @@ static inline unsigned int __attribute_const__ read_cpuid_id(void)
        return read_cpuid(CPUID_ID);
 }
 
+#else /* ifdef CONFIG_CPU_CP15 */
+
+static inline unsigned int __attribute_const__ read_cpuid_id(void)
+{
+       return processor_id;
+}
+
+#endif /* ifdef CONFIG_CPU_CP15 / else */
+
 static inline unsigned int __attribute_const__ read_cpuid_implementor(void)
 {
        return (read_cpuid_id() & 0xFF000000) >> 24;