Calling read() for a single byte read will return 2 currently. Use
simple_read_from_buffer() which correctly handles all sizes.
Fixes: 2a9e27408e12 ("gpio: mockup: rework debugfs interface")
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
        struct gpio_mockup_chip *chip;
        struct seq_file *sfile;
        struct gpio_chip *gc;
-       int val, rv, cnt;
+       int val, cnt;
        char buf[3];
 
-
        if (*ppos != 0)
                return 0;
 
        val = gpio_mockup_get(gc, priv->offset);
        cnt = snprintf(buf, sizeof(buf), "%d\n", val);
 
-       rv = copy_to_user(usr_buf, buf, cnt);
-       if (rv)
-               return rv;
-
-       *ppos += cnt;
-       return cnt;
+       return simple_read_from_buffer(usr_buf, size, ppos, buf, cnt);
 }
 
 static ssize_t gpio_mockup_debugfs_write(struct file *file,