summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/ppc64/kernel/rtasd.c15
-rw-r--r--include/asm-ppc64/rtas.h11
2 files changed, 15 insertions, 11 deletions
diff --git a/arch/ppc64/kernel/rtasd.c b/arch/ppc64/kernel/rtasd.c
index a9b676ce88c6..253b7290e24f 100644
--- a/arch/ppc64/kernel/rtasd.c
+++ b/arch/ppc64/kernel/rtasd.c
@@ -343,15 +343,18 @@ static int enable_surveillance(int timeout)
{
int error;
- error = rtas_call(rtas_token("set-indicator"), 3, 1, NULL,
- SURVEILLANCE_TOKEN, 0, timeout);
+ error = rtas_set_indicator(SURVEILLANCE_TOKEN, 0, timeout);
- if (error) {
- printk(KERN_ERR "rtasd: could not enable surveillance\n");
- return -1;
+ if (error == 0)
+ return 0;
+
+ if (error == RTAS_NO_SUCH_INDICATOR) {
+ printk(KERN_INFO "rtasd: surveillance not supported\n");
+ return 0;
}
- return 0;
+ printk(KERN_ERR "rtasd: could not update surveillance\n");
+ return -1;
}
static int get_eventscan_parms(void)
diff --git a/include/asm-ppc64/rtas.h b/include/asm-ppc64/rtas.h
index 5c32e60371e2..90e38610e308 100644
--- a/include/asm-ppc64/rtas.h
+++ b/include/asm-ppc64/rtas.h
@@ -22,12 +22,13 @@
/* Buffer size for ppc_rtas system call. */
#define RTAS_RMOBUF_MAX (64 * 1024)
-/* RTAS return codes */
-#define RTAS_BUSY -2 /* RTAS Return Status - Busy */
-#define RTAS_EXTENDED_DELAY_MIN 9900
-#define RTAS_EXTENDED_DELAY_MAX 9905
+/* RTAS return status codes */
+#define RTAS_BUSY -2 /* RTAS Busy */
+#define RTAS_NO_SUCH_INDICATOR -3 /* No such indicator implemented */
+#define RTAS_EXTENDED_DELAY_MIN 9900
+#define RTAS_EXTENDED_DELAY_MAX 9905
-#define RTAS_UNKNOWN_OP -1099 /* Return Status - Unknown RTAS Token */
+#define RTAS_UNKNOWN_OP -1099 /* Unknown RTAS Token */
/*
* In general to call RTAS use rtas_token("string") to lookup