diff options
author | Peter Huewe <peterhuewe@gmx.de> | 2012-05-03 20:23:17 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-05-08 13:00:12 -0400 |
commit | 9f5610e20b322347ce3e55e75a78965717a62412 (patch) | |
tree | 170c8b483591a808f8ff86065b6ccfcea5b76a0f /drivers/video/via | |
parent | c1f58f1e1e5596f9377ae8839500f56677b3d0b7 (diff) |
video/via: Convert to kstrtou8_from_user
This patch replaces the code for getting an number from a
userspace buffer by a simple call to kstrou8_from_user.
This makes it easier to read and less error prone.
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Acked-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video/via')
-rw-r--r-- | drivers/video/via/viafbdev.c | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c index 0c8837565bc..c80e770e180 100644 --- a/drivers/video/via/viafbdev.c +++ b/drivers/video/via/viafbdev.c | |||
@@ -1276,17 +1276,12 @@ static int viafb_dfph_proc_open(struct inode *inode, struct file *file) | |||
1276 | static ssize_t viafb_dfph_proc_write(struct file *file, | 1276 | static ssize_t viafb_dfph_proc_write(struct file *file, |
1277 | const char __user *buffer, size_t count, loff_t *pos) | 1277 | const char __user *buffer, size_t count, loff_t *pos) |
1278 | { | 1278 | { |
1279 | char buf[20]; | 1279 | int err; |
1280 | u8 reg_val = 0; | 1280 | u8 reg_val; |
1281 | unsigned long length; | 1281 | err = kstrtou8_from_user(buffer, count, 0, ®_val); |
1282 | if (count < 1) | 1282 | if (err) |
1283 | return -EINVAL; | 1283 | return err; |
1284 | length = count > 20 ? 20 : count; | 1284 | |
1285 | if (copy_from_user(&buf[0], buffer, length)) | ||
1286 | return -EFAULT; | ||
1287 | buf[length - 1] = '\0'; /*Ensure end string */ | ||
1288 | if (kstrtou8(buf, 0, ®_val) < 0) | ||
1289 | return -EINVAL; | ||
1290 | viafb_write_reg_mask(CR97, VIACR, reg_val, 0x0f); | 1285 | viafb_write_reg_mask(CR97, VIACR, reg_val, 0x0f); |
1291 | return count; | 1286 | return count; |
1292 | } | 1287 | } |
@@ -1316,17 +1311,12 @@ static int viafb_dfpl_proc_open(struct inode *inode, struct file *file) | |||
1316 | static ssize_t viafb_dfpl_proc_write(struct file *file, | 1311 | static ssize_t viafb_dfpl_proc_write(struct file *file, |
1317 | const char __user *buffer, size_t count, loff_t *pos) | 1312 | const char __user *buffer, size_t count, loff_t *pos) |
1318 | { | 1313 | { |
1319 | char buf[20]; | 1314 | int err; |
1320 | u8 reg_val = 0; | 1315 | u8 reg_val; |
1321 | unsigned long length; | 1316 | err = kstrtou8_from_user(buffer, count, 0, ®_val); |
1322 | if (count < 1) | 1317 | if (err) |
1323 | return -EINVAL; | 1318 | return err; |
1324 | length = count > 20 ? 20 : count; | 1319 | |
1325 | if (copy_from_user(&buf[0], buffer, length)) | ||
1326 | return -EFAULT; | ||
1327 | buf[length - 1] = '\0'; /*Ensure end string */ | ||
1328 | if (kstrtou8(buf, 0, ®_val) < 0) | ||
1329 | return -EINVAL; | ||
1330 | viafb_write_reg_mask(CR99, VIACR, reg_val, 0x0f); | 1320 | viafb_write_reg_mask(CR99, VIACR, reg_val, 0x0f); |
1331 | return count; | 1321 | return count; |
1332 | } | 1322 | } |