summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/rtas.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-08-19 17:25:34 -0400
committerJeff Garzik <jeff@garzik.org>2006-08-19 17:25:34 -0400
commit41ace1861a93f12f70ff10026fb1539fea38fcf8 (patch)
treec6d841ae9b73d6b7d6a887c21ce378cebc9c97f7 /arch/powerpc/kernel/rtas.c
parent09e590e5d5a93f2eaa748a89c623258e6bad1648 (diff)
parentef7d1b244fa6c94fb76d5f787b8629df64ea4046 (diff)
Merge branch 'master' into upstream-fixes
Diffstat (limited to 'arch/powerpc/kernel/rtas.c')
-rw-r--r--arch/powerpc/kernel/rtas.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index 4a4cb559840..77f1e06d208 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -569,6 +569,27 @@ int rtas_set_indicator(int indicator, int index, int new_value)
}
EXPORT_SYMBOL(rtas_set_indicator);
+/*
+ * Ignoring RTAS extended delay
+ */
+int rtas_set_indicator_fast(int indicator, int index, int new_value)
+{
+ int rc;
+ int token = rtas_token("set-indicator");
+
+ if (token == RTAS_UNKNOWN_SERVICE)
+ return -ENOENT;
+
+ rc = rtas_call(token, 3, 1, NULL, indicator, index, new_value);
+
+ WARN_ON(rc == -2 || (rc >= 9900 && rc <= 9905));
+
+ if (rc < 0)
+ return rtas_error_rc(rc);
+
+ return rc;
+}
+
void rtas_restart(char *cmd)
{
if (rtas_flash_term_hook)