linux-next: manual merge of the cortex tree with the arm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Uwe,

Today's linux-next merge of the cortex tree got a conflict in
arch/arm/include/asm/cputype.h between commit 59530adc3f1b ("ARM: Define
CPU part numbers and implementors") from the arm tree and commit
6ebd4d038dbb ("ARM: stub out read_cpuid and read_cpuid_ext for
CPU_CP15=n") from the cortex tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx

diff --cc arch/arm/include/asm/cputype.h
index ad41ec2,574269e..0000000
--- a/arch/arm/include/asm/cputype.h
+++ b/arch/arm/include/asm/cputype.h
@@@ -59,30 -60,25 +60,43 @@@ extern unsigned int processor_id
  		    : "cc");						\
  		__val;							\
  	})
- #else
- #define read_cpuid(reg) (processor_id)
- #define read_cpuid_ext(reg) 0
- #endif
+ 
+ #else /* ifdef CONFIG_CPU_CP15 */
  
 +#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
 +
  /*
+  * 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 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
   * rather than directly reading processor_id or read_cpuid() directly.
@@@ -92,21 -88,15 +106,30 @@@ static inline unsigned int __attribute_
  	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;
 +}
 +
 +static inline unsigned int __attribute_const__ read_cpuid_part_number(void)
 +{
 +	return read_cpuid_id() & 0xFFF0;
 +}
 +
 +static inline unsigned int __attribute_const__ xscale_cpu_arch_version(void)
 +{
 +	return read_cpuid_part_number() & ARM_CPU_XSCALE_ARCH_MASK;
 +}
 +
  static inline unsigned int __attribute_const__ read_cpuid_cachetype(void)
  {
  	return read_cpuid(CPUID_CACHETYPE);

Attachment: pgpsR3Jx9D4O1.pgp
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux