summaryrefslogtreecommitdiffstats
path: root/include/asm-sh/system.h
diff options
context:
space:
mode:
authorAndriy Skulysh2006-09-27 09:20:22 +0200
committerPaul Mundt2006-09-27 09:20:22 +0200
commit3aa770e7972723f479122cf66b529017d2175289 (patch)
treef70d870381cec8034693704e346c53b311db688f /include/asm-sh/system.h
parentsh: Free up some and document PTEL flags. (diff)
downloadkernel-qcow2-linux-3aa770e7972723f479122cf66b529017d2175289.tar.gz
kernel-qcow2-linux-3aa770e7972723f479122cf66b529017d2175289.tar.xz
kernel-qcow2-linux-3aa770e7972723f479122cf66b529017d2175289.zip
sh: APM/PM support.
This adds some simple PM stubs and the basic APM interfaces, primarily for use by hp6xx, where the existing userland expects it. Signed-off-by: Andriy Skulysh <askulysh@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh/system.h')
-rw-r--r--include/asm-sh/system.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h
index bd7dc0554b11..477422afeb0d 100644
--- a/include/asm-sh/system.h
+++ b/include/asm-sh/system.h
@@ -172,6 +172,31 @@ static __inline__ void local_irq_disable(void)
: "memory");
}
+static __inline__ void set_bl_bit(void)
+{
+ unsigned long __dummy0, __dummy1;
+
+ __asm__ __volatile__ ("stc sr, %0\n\t"
+ "or %2, %0\n\t"
+ "and %3, %0\n\t"
+ "ldc %0, sr"
+ : "=&r" (__dummy0), "=r" (__dummy1)
+ : "r" (0x10000000), "r" (0xffffff0f)
+ : "memory");
+}
+
+static __inline__ void clear_bl_bit(void)
+{
+ unsigned long __dummy0, __dummy1;
+
+ __asm__ __volatile__ ("stc sr, %0\n\t"
+ "and %2, %0\n\t"
+ "ldc %0, sr"
+ : "=&r" (__dummy0), "=r" (__dummy1)
+ : "1" (~0x10000000)
+ : "memory");
+}
+
#define local_save_flags(x) \
__asm__("stc sr, %0; and #0xf0, %0" : "=&z" (x) :/**/: "memory" )