summaryrefslogtreecommitdiffstats
path: root/include/asm-arm/system.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.osdl.org>2006-12-20 23:54:23 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-20 23:54:23 -0800
commiteb2112fbcf2d97eda221790bd53cb3a2cdf58c95 (patch)
tree1343d534a374653d26fecfb9657c9e3d3d05dbc6 /include/asm-arm/system.h
parentf238085415c56618e042252894f2fcc971add645 (diff)
parent618b20a13e9ef4ed1d16f1ab94ccce8e4f55f9d9 (diff)
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (29 commits) [ARM] 4062/1: S3C24XX: Anubis and Osiris shuld have CONFIG_PM_SIMTEC [ARM] 4060/1: update several ARM defconfigs [ARM] 4061/1: xsc3: change of maintainer [ARM] 4059/1: VR1000: fix LED3's platform device number [ARM] 4022/1: iop13xx: generic irq fixups [ARM] 4015/1: s3c2410 cpu ifdefs [ARM] 4057/1: ixp23xx: unconditionally enable hardware coherency [ARM] 4056/1: iop13xx: fix resource.end off-by-one in flash setup [ARM] 4055/1: iop13xx: fix phys_io/io_pg_offst for iq81340mc/sc [ARM] 4054/1: ep93xx: add HWCAP_CRUNCH [ARM] 4052/1: S3C24XX: Fix PM in arch/arm/mach-s3c2410/Kconfig [ARM] Fix warnings from asm/system.h [ARM] 4051/1: S3C24XX: clean includes in S3C2440 and S3C2442 support [ARM] 4050/1: S3C24XX: remove old changelogs in arch/arm/mach-s3c2410 [ARM] 4049/1: S3C24XX: fix sparse warning due to upf_t in regs-serial.h [ARM] 4048/1: S3C24XX: make s3c2410_pm_resume() static [ARM] 4046/1: S3C24XX: fix sparse errors arch/arm/mach-s3c2410 [ARM] 4045/1: S3C24XX: remove old VA for non-shared areas [ARM] 4044/1: S3C24XX: fix sparse warnings in arch/arm/mach-s3c2410/s3c2442-clock.c [ARM] 4043/1: S3C24XX: fix sparse warnings in arch/arm/mach-s3c2410/s3c2440-clock.c ...
Diffstat (limited to 'include/asm-arm/system.h')
-rw-r--r--include/asm-arm/system.h33
1 files changed, 8 insertions, 25 deletions
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h
index e160aeb0138..aa223fc546a 100644
--- a/include/asm-arm/system.h
+++ b/include/asm-arm/system.h
@@ -73,6 +73,7 @@
#ifndef __ASSEMBLY__
#include <linux/linkage.h>
+#include <linux/irqflags.h>
struct thread_info;
struct task_struct;
@@ -139,6 +140,9 @@ static inline int cpu_is_xsc3(void)
#define cpu_is_xscale() 1
#endif
+extern unsigned long cr_no_alignment; /* defined in entry-armv.S */
+extern unsigned long cr_alignment; /* defined in entry-armv.S */
+
static inline unsigned int get_cr(void)
{
unsigned int val;
@@ -152,6 +156,10 @@ static inline void set_cr(unsigned int val)
: : "r" (val) : "cc");
}
+#ifndef CONFIG_SMP
+extern void adjust_cr(unsigned long mask, unsigned long set);
+#endif
+
#define CPACC_FULL(n) (3 << (n * 2))
#define CPACC_SVC(n) (1 << (n * 2))
#define CPACC_DISABLE(n) (0 << (n * 2))
@@ -170,29 +178,6 @@ static inline void set_copro_access(unsigned int val)
: : "r" (val) : "cc");
}
-extern unsigned long cr_no_alignment; /* defined in entry-armv.S */
-extern unsigned long cr_alignment; /* defined in entry-armv.S */
-
-#ifndef CONFIG_SMP
-static inline void adjust_cr(unsigned long mask, unsigned long set)
-{
- unsigned long flags, cr;
-
- mask &= ~CR_A;
-
- set &= mask;
-
- local_irq_save(flags);
-
- cr_no_alignment = (cr_no_alignment & ~mask) | set;
- cr_alignment = (cr_alignment & ~mask) | set;
-
- set_cr((get_cr() & ~mask) | set);
-
- local_irq_restore(flags);
-}
-#endif
-
#define UDBG_UNDEFINED (1 << 0)
#define UDBG_SYSCALL (1 << 1)
#define UDBG_BADABORT (1 << 2)
@@ -248,8 +233,6 @@ static inline void sched_cacheflush(void)
{
}
-#include <linux/irqflags.h>
-
#ifdef CONFIG_SMP
#define smp_mb() mb()