Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4456f452 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/rtas: Use rtas_call_unlocked() in call_rtas_display_status()



Although call_rtas_display_status() does actually want to use the
regular RTAS locking, it doesn't want the extra logic that is in
rtas_call(), so currently it open codes the logic.

Instead we can use rtas_call_unlocked(), after taking the RTAS lock.

Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent b2e8590f
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -93,21 +93,13 @@ static void unlock_rtas(unsigned long flags)
 */
static void call_rtas_display_status(unsigned char c)
{
	struct rtas_args *args = &rtas.args;
	unsigned long s;

	if (!rtas.base)
		return;
	s = lock_rtas();

	args->token = cpu_to_be32(10);
	args->nargs = cpu_to_be32(1);
	args->nret  = cpu_to_be32(1);
	args->rets  = &(args->args[1]);
	args->args[0] = cpu_to_be32(c);

	enter_rtas(__pa(args));

	s = lock_rtas();
	rtas_call_unlocked(&rtas.args, 10, 1, 1, NULL, c);
	unlock_rtas(s);
}