[POWERPC] clean up pseries hcall interfaces
Our pseries hcall interfaces are out of control: plpar_hcall_norets plpar_hcall plpar_hcall_8arg_2ret plpar_hcall_4out plpar_hcall_7arg_7ret plpar_hcall_9arg_9ret Create 3 interfaces to cover all cases: plpar_hcall_norets: 7 arguments no returns plpar_hcall: 6 arguments 4 returns plpar_hcall9: 9 arguments 9 returns There are only 2 cases in the kernel that need plpar_hcall9, hopefully we can keep it that way. Pass in a buffer to stash return parameters so we avoid the &dummy1, &dummy2 madness. Signed-off-by: Anton Blanchard <anton@samba.org> -- Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:

committed by
Paul Mackerras

parent
57cad8084e
commit
b9377ffc3a
@@ -27,6 +27,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <asm/hvcall.h>
|
||||
#include <asm/hvconsole.h>
|
||||
#include "plpar_wrappers.h"
|
||||
|
||||
/**
|
||||
* hvc_get_chars - retrieve characters from firmware for denoted vterm adatper
|
||||
@@ -40,9 +41,9 @@ int hvc_get_chars(uint32_t vtermno, char *buf, int count)
|
||||
{
|
||||
unsigned long got;
|
||||
|
||||
if (plpar_hcall(H_GET_TERM_CHAR, vtermno, 0, 0, 0, &got,
|
||||
(unsigned long *)buf, (unsigned long *)buf+1) == H_SUCCESS)
|
||||
if (plpar_get_term_char(vtermno, &got, buf) == H_SUCCESS)
|
||||
return got;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user