forked from Minki/linux
s390/sclp_async: replace callhome proc handler with generic one
Reuse generic proc_dointvec_minmax proc handler instead of proc_handler_callhome. Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
5bedf8aa03
commit
f149371e9e
@ -64,42 +64,18 @@ static struct notifier_block call_home_panic_nb = {
|
||||
.priority = INT_MAX,
|
||||
};
|
||||
|
||||
static int proc_handler_callhome(struct ctl_table *ctl, int write,
|
||||
void __user *buffer, size_t *count,
|
||||
loff_t *ppos)
|
||||
{
|
||||
unsigned long val;
|
||||
int len, rc;
|
||||
char buf[3];
|
||||
|
||||
if (!*count || (*ppos && !write)) {
|
||||
*count = 0;
|
||||
return 0;
|
||||
}
|
||||
if (!write) {
|
||||
len = snprintf(buf, sizeof(buf), "%d\n", callhome_enabled);
|
||||
rc = copy_to_user(buffer, buf, sizeof(buf));
|
||||
if (rc != 0)
|
||||
return -EFAULT;
|
||||
} else {
|
||||
len = *count;
|
||||
rc = kstrtoul_from_user(buffer, len, 0, &val);
|
||||
if (rc)
|
||||
return rc;
|
||||
if (val != 0 && val != 1)
|
||||
return -EINVAL;
|
||||
callhome_enabled = val;
|
||||
}
|
||||
*count = len;
|
||||
*ppos += len;
|
||||
return 0;
|
||||
}
|
||||
static int zero;
|
||||
static int one = 1;
|
||||
|
||||
static struct ctl_table callhome_table[] = {
|
||||
{
|
||||
.procname = "callhome",
|
||||
.data = &callhome_enabled,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_handler_callhome,
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.extra1 = &zero,
|
||||
.extra2 = &one,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user