[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
@@ -668,15 +668,14 @@ static int rtas_ibm_suspend_me(struct rtas_args *args)
|
||||
int i;
|
||||
long state;
|
||||
long rc;
|
||||
unsigned long dummy;
|
||||
|
||||
unsigned long retbuf[PLPAR_HCALL_BUFSIZE];
|
||||
struct rtas_suspend_me_data data;
|
||||
|
||||
/* Make sure the state is valid */
|
||||
rc = plpar_hcall(H_VASI_STATE,
|
||||
((u64)args->args[0] << 32) | args->args[1],
|
||||
0, 0, 0,
|
||||
&state, &dummy, &dummy);
|
||||
rc = plpar_hcall(H_VASI_STATE, retbuf,
|
||||
((u64)args->args[0] << 32) | args->args[1]);
|
||||
|
||||
state = retbuf[0];
|
||||
|
||||
if (rc) {
|
||||
printk(KERN_ERR "rtas_ibm_suspend_me: vasi_state returned %ld\n",rc);
|
||||
|
Reference in New Issue
Block a user