OSDN Git Service

s390/sclp_async: replace callhome proc handler with generic one
authorVasily Gorbik <gor@linux.ibm.com>
Sun, 24 Jun 2018 21:28:12 +0000 (23:28 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 6 Jul 2018 06:47:53 +0000 (08:47 +0200)
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>
drivers/s390/char/sclp_async.c

index ee6f3b5..e69b12a 100644 (file)
@@ -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,
        },
        {}
 };