提交 08eb105a 编写于 作者: M Michael Ellerman

powerpc/xmon: Use rtas_call_unlocked() in xmon

Avoid open coding the logic by using rtas_call_unlocked().
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 209eb4e5
...@@ -320,6 +320,7 @@ static inline void disable_surveillance(void) ...@@ -320,6 +320,7 @@ static inline void disable_surveillance(void)
#ifdef CONFIG_PPC_PSERIES #ifdef CONFIG_PPC_PSERIES
/* Since this can't be a module, args should end up below 4GB. */ /* Since this can't be a module, args should end up below 4GB. */
static struct rtas_args args; static struct rtas_args args;
int token;
/* /*
* At this point we have got all the cpus we can into * At this point we have got all the cpus we can into
...@@ -328,17 +329,12 @@ static inline void disable_surveillance(void) ...@@ -328,17 +329,12 @@ static inline void disable_surveillance(void)
* If we did try to take rtas.lock there would be a * If we did try to take rtas.lock there would be a
* real possibility of deadlock. * real possibility of deadlock.
*/ */
args.token = rtas_token("set-indicator"); token = rtas_token("set-indicator");
if (args.token == RTAS_UNKNOWN_SERVICE) if (token == RTAS_UNKNOWN_SERVICE)
return; return;
args.token = cpu_to_be32(args.token);
args.nargs = cpu_to_be32(3); rtas_call_unlocked(&args, token, 3, 1, NULL, SURVEILLANCE_TOKEN, 0, 0);
args.nret = cpu_to_be32(1);
args.rets = &args.args[3];
args.args[0] = cpu_to_be32(SURVEILLANCE_TOKEN);
args.args[1] = 0;
args.args[2] = 0;
enter_rtas(__pa(&args));
#endif /* CONFIG_PPC_PSERIES */ #endif /* CONFIG_PPC_PSERIES */
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册