Skip to content

Commit

Permalink
[ARM] 5053/1: define before use of processor_id
Browse files Browse the repository at this point in the history
For the simple read_cpuid() macro case the variable processor_id has
no definition on use of the macro. Add an extern for it. Move all the
processor ID macros into the #ifndef __ASSEMBLEY__ block.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Greg Ungerer authored and Russell King committed May 23, 2008
1 parent 66aaeff commit 415ad1e
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions include/asm-arm/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,20 +48,6 @@
#define CPUID_TCM 2
#define CPUID_TLBTYPE 3

#ifdef CONFIG_CPU_CP15
#define read_cpuid(reg) \
({ \
unsigned int __val; \
asm("mrc p15, 0, %0, c0, c0, " __stringify(reg) \
: "=r" (__val) \
: \
: "cc"); \
__val; \
})
#else
#define read_cpuid(reg) (processor_id)
#endif

/*
* This is used to ensure the compiler did actually allocate the register we
* asked it for some inline assembly sequences. Apparently we can't trust
Expand All @@ -78,6 +64,21 @@
#include <linux/stringify.h>
#include <linux/irqflags.h>

#ifdef CONFIG_CPU_CP15
#define read_cpuid(reg) \
({ \
unsigned int __val; \
asm("mrc p15, 0, %0, c0, c0, " __stringify(reg) \
: "=r" (__val) \
: \
: "cc"); \
__val; \
})
#else
extern unsigned int processor_id;
#define read_cpuid(reg) (processor_id)
#endif

/*
* 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
Expand Down

0 comments on commit 415ad1e

Please sign in to comment.