aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpio/gpio-mockup.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 154d959e8993..74ba8b1d71d8 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -204,8 +204,9 @@ static ssize_t gpio_mockup_debugfs_read(struct file *file,
204 struct gpio_mockup_chip *chip; 204 struct gpio_mockup_chip *chip;
205 struct seq_file *sfile; 205 struct seq_file *sfile;
206 struct gpio_chip *gc; 206 struct gpio_chip *gc;
207 int val, rv, cnt;
207 char buf[3]; 208 char buf[3];
208 int val, rv; 209
209 210
210 if (*ppos != 0) 211 if (*ppos != 0)
211 return 0; 212 return 0;
@@ -216,13 +217,14 @@ static ssize_t gpio_mockup_debugfs_read(struct file *file,
216 gc = &chip->gc; 217 gc = &chip->gc;
217 218
218 val = gpio_mockup_get(gc, priv->offset); 219 val = gpio_mockup_get(gc, priv->offset);
219 snprintf(buf, sizeof(buf), "%d\n", val); 220 cnt = snprintf(buf, sizeof(buf), "%d\n", val);
220 221
221 rv = copy_to_user(usr_buf, buf, sizeof(buf)); 222 rv = copy_to_user(usr_buf, buf, cnt);
222 if (rv) 223 if (rv)
223 return rv; 224 return rv;
224 225
225 return sizeof(buf) - 1; 226 *ppos += cnt;
227 return cnt;
226} 228}
227 229
228static ssize_t gpio_mockup_debugfs_write(struct file *file, 230static ssize_t gpio_mockup_debugfs_write(struct file *file,