Commit 9f5610e2 authored by Peter Huewe's avatar Peter Huewe Committed by Florian Tobias Schandinat

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: default avatarPeter Huewe <peterhuewe@gmx.de>
Acked-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
parent c1f58f1e
...@@ -1276,17 +1276,12 @@ static int viafb_dfph_proc_open(struct inode *inode, struct file *file) ...@@ -1276,17 +1276,12 @@ static int viafb_dfph_proc_open(struct inode *inode, struct file *file)
static ssize_t viafb_dfph_proc_write(struct file *file, static ssize_t viafb_dfph_proc_write(struct file *file,
const char __user *buffer, size_t count, loff_t *pos) const char __user *buffer, size_t count, loff_t *pos)
{ {
char buf[20]; int err;
u8 reg_val = 0; u8 reg_val;
unsigned long length; err = kstrtou8_from_user(buffer, count, 0, &reg_val);
if (count < 1) if (err)
return -EINVAL; return err;
length = count > 20 ? 20 : count;
if (copy_from_user(&buf[0], buffer, length))
return -EFAULT;
buf[length - 1] = '\0'; /*Ensure end string */
if (kstrtou8(buf, 0, &reg_val) < 0)
return -EINVAL;
viafb_write_reg_mask(CR97, VIACR, reg_val, 0x0f); viafb_write_reg_mask(CR97, VIACR, reg_val, 0x0f);
return count; return count;
} }
...@@ -1316,17 +1311,12 @@ static int viafb_dfpl_proc_open(struct inode *inode, struct file *file) ...@@ -1316,17 +1311,12 @@ static int viafb_dfpl_proc_open(struct inode *inode, struct file *file)
static ssize_t viafb_dfpl_proc_write(struct file *file, static ssize_t viafb_dfpl_proc_write(struct file *file,
const char __user *buffer, size_t count, loff_t *pos) const char __user *buffer, size_t count, loff_t *pos)
{ {
char buf[20]; int err;
u8 reg_val = 0; u8 reg_val;
unsigned long length; err = kstrtou8_from_user(buffer, count, 0, &reg_val);
if (count < 1) if (err)
return -EINVAL; return err;
length = count > 20 ? 20 : count;
if (copy_from_user(&buf[0], buffer, length))
return -EFAULT;
buf[length - 1] = '\0'; /*Ensure end string */
if (kstrtou8(buf, 0, &reg_val) < 0)
return -EINVAL;
viafb_write_reg_mask(CR99, VIACR, reg_val, 0x0f); viafb_write_reg_mask(CR99, VIACR, reg_val, 0x0f);
return count; return count;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment