Messages in this thread Patch in this message | | | From | Jingoo Han <> | Subject | [PATCH] mfd: replace strict_strtoul() with kstrtoul() | Date | Mon, 03 Jun 2013 18:01:40 +0900 |
| |
The usage of strict_strtoul() is not preferred, because strict_strtoul() is obsolete. Thus, kstrtoul() should be used.
Signed-off-by: Jingoo Han <jg1.han@samsung.com> --- Changes since v1: - Used return code from kstrtoul(). - Changed the type of 'user_reg' from 'unsigned long' to 'u8'. - Replaced kstrtoul() with kstrtou8() to handle u8 variable.
drivers/mfd/aat2870-core.c | 5 +++-- drivers/mfd/ab3100-core.c | 16 ++++++---------- drivers/mfd/ab8500-debugfs.c | 2 +- 3 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/drivers/mfd/aat2870-core.c b/drivers/mfd/aat2870-core.c index dfdb0a2..d4f5945 100644 --- a/drivers/mfd/aat2870-core.c +++ b/drivers/mfd/aat2870-core.c @@ -312,8 +312,9 @@ static ssize_t aat2870_reg_write_file(struct file *file, while (*start == ' ') start++; - if (strict_strtoul(start, 16, &val)) - return -EINVAL; + ret = kstrtoul(start, 16, &val); + if (ret) + return ret; ret = aat2870->write(aat2870, (u8)addr, (u8)val); if (ret) diff --git a/drivers/mfd/ab3100-core.c b/drivers/mfd/ab3100-core.c index a9bb140..9cc1bd3 100644 --- a/drivers/mfd/ab3100-core.c +++ b/drivers/mfd/ab3100-core.c @@ -491,7 +491,7 @@ static ssize_t ab3100_get_set_reg(struct file *file, char buf[32]; ssize_t buf_size; int regp; - unsigned long user_reg; + u8 user_reg; int err; int i = 0; @@ -514,22 +514,20 @@ static ssize_t ab3100_get_set_reg(struct file *file, /* * Advance pointer to end of string then terminate * the register string. This is needed to satisfy - * the strict_strtoul() function. + * the kstrtou8() function. */ while ((i < buf_size) && (buf[i] != ' ')) i++; buf[i] = '\0'; - err = strict_strtoul(&buf[regp], 16, &user_reg); + err = kstrtou8(&buf[regp], 16, &user_reg); if (err) return err; - if (user_reg > 0xff) - return -EINVAL; /* Either we read or we write a register here */ if (!priv->mode) { /* Reading */ - u8 reg = (u8) user_reg; + u8 reg = user_reg; u8 regvalue; ab3100_get_register_interruptible(ab3100, reg, ®value); @@ -540,7 +538,7 @@ static ssize_t ab3100_get_set_reg(struct file *file, } else { int valp; unsigned long user_value; - u8 reg = (u8) user_reg; + u8 reg = user_reg; u8 value; u8 regvalue; @@ -557,11 +555,9 @@ static ssize_t ab3100_get_set_reg(struct file *file, i++; buf[i] = '\0'; - err = strict_strtoul(&buf[valp], 16, &user_value); + err = kstrtoul(&buf[valp], 16, &user_value); if (err) return err; - if (user_reg > 0xff) - return -EINVAL; value = (u8) user_value; ab3100_set_register_interruptible(ab3100, reg, value); diff --git a/drivers/mfd/ab8500-debugfs.c b/drivers/mfd/ab8500-debugfs.c index 37b7ce4..11656c2 100644 --- a/drivers/mfd/ab8500-debugfs.c +++ b/drivers/mfd/ab8500-debugfs.c @@ -2757,7 +2757,7 @@ static ssize_t show_irq(struct device *dev, unsigned int irq_index; int err; - err = strict_strtoul(attr->attr.name, 0, &name); + err = kstrtoul(attr->attr.name, 0, &name); if (err) return err; -- 1.7.10.4
| |