summaryrefslogtreecommitdiffstats
path: root/include/asm-sh/system.h
diff options
context:
space:
mode:
authorAndriy Skulysh <askulysh@gmail.com>2006-09-27 16:20:22 +0900
committerPaul Mundt <lethal@linux-sh.org>2006-09-27 16:20:22 +0900
commit3aa770e7972723f479122cf66b529017d2175289 (patch)
treef70d870381cec8034693704e346c53b311db688f /include/asm-sh/system.h
parentef48e8e3498605351f91f195cc9af0ef981b0dde (diff)
downloadlinux-3aa770e7972723f479122cf66b529017d2175289.tar.gz
linux-3aa770e7972723f479122cf66b529017d2175289.tar.bz2
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" )