linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the cortex tree with the arm tree
@ 2013-02-02 11:20 Stephen Rothwell
  2013-02-02 12:21 ` Russell King
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Rothwell @ 2013-02-02 11:20 UTC (permalink / raw)
  To: "Uwe Kleine-König"
  Cc: linux-next, linux-kernel, Christoffer Dall, Will Deacon, Russell King

[-- Attachment #1: Type: text/plain, Size: 2964 bytes --]

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@canb.auug.org.au

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 #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux-next: manual merge of the cortex tree with the arm tree
  2013-02-02 11:20 linux-next: manual merge of the cortex tree with the arm tree Stephen Rothwell
@ 2013-02-02 12:21 ` Russell King
  2013-02-02 13:37   ` Stephen Rothwell
  0 siblings, 1 reply; 3+ messages in thread
From: Russell King @ 2013-02-02 12:21 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: "Uwe Kleine-König",
	linux-next, linux-kernel, Christoffer Dall, Will Deacon

On Sat, Feb 02, 2013 at 10:20:36PM +1100, Stephen Rothwell wrote:
> 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).

It doesn't look right to me.

> 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
>  +

This stuff shouldn't be in the #else section - it's needed when
CONFIG_CPU_CP15 is enabled and this resolution hides it in that case.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux-next: manual merge of the cortex tree with the arm tree
  2013-02-02 12:21 ` Russell King
@ 2013-02-02 13:37   ` Stephen Rothwell
  0 siblings, 0 replies; 3+ messages in thread
From: Stephen Rothwell @ 2013-02-02 13:37 UTC (permalink / raw)
  To: Russell King
  Cc: "Uwe Kleine-König",
	linux-next, linux-kernel, Christoffer Dall, Will Deacon

[-- Attachment #1: Type: text/plain, Size: 1697 bytes --]

Hi Russell,

On Sat, 2 Feb 2013 12:21:22 +0000 Russell King <rmk@arm.linux.org.uk> wrote:
>
> > 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
> >  +
> 
> This stuff shouldn't be in the #else section - it's needed when
> CONFIG_CPU_CP15 is enabled and this resolution hides it in that case.

Rats!  This was the automatically resolved part of the merge resolution.
I will fix it up (it caused a build failure in my arm defconfig build)
and will carry that fix as well from now on.

Thanks for letting me know.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-02-02 13:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-02 11:20 linux-next: manual merge of the cortex tree with the arm tree Stephen Rothwell
2013-02-02 12:21 ` Russell King
2013-02-02 13:37   ` Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).