[PATCH v2] UBIFS: replace simple_strtoul() with kstrtoint()

Adrian Hunter adrian.hunter at intel.com
Tue May 20 05:21:27 PDT 2014


On 05/20/2014 11:48 AM, Zhang Zhen wrote:
> use the newer and more pleasant kstrtoint() to replace simple_strtoul(),
> because simple_strtoul() is marked for obsoletion.
> 
> Signed-off-by: Zhang Zhen <zhenzhang.zhang at huawei.com>
> Signed-off-by: hujianyang <hujianyang at huawei.com>
> ---
>  drivers/mtd/ubi/build.c | 7 +++----
>  fs/ubifs/super.c        | 7 ++++---
>  2 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
> index 6e30a3c..77a2884 100644
> --- a/drivers/mtd/ubi/build.c
> +++ b/drivers/mtd/ubi/build.c
> @@ -1190,11 +1190,10 @@ static struct mtd_info * __init open_mtd_by_chdev(const char *mtd_dev)
>  static struct mtd_info * __init open_mtd_device(const char *mtd_dev)
>  {
>  	struct mtd_info *mtd;
> -	int mtd_num;
> -	char *endp;
> +	int mtd_num, ret;
> 
> -	mtd_num = simple_strtoul(mtd_dev, &endp, 0);
> -	if (*endp != '\0' || mtd_dev == endp) {
> +	ret = kstrtoint(mtd_dev, 0, &mtd_num);
> +	if (ret) {
>  		/*
>  		 * This does not look like an ASCII integer, probably this is
>  		 * MTD device name.
> diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
> index a81c7b5..d8c71a6 100644
> --- a/fs/ubifs/super.c
> +++ b/fs/ubifs/super.c
> @@ -1903,7 +1903,7 @@ const struct super_operations ubifs_super_operations = {
>  static struct ubi_volume_desc *open_ubi(const char *name, int mode)
>  {
>  	struct ubi_volume_desc *ubi;
> -	int dev, vol;
> +	int dev, vol, ret;
>  	char *endptr;
> 
>  	/* First, try to open using the device node path method */
> @@ -1922,10 +1922,11 @@ static struct ubi_volume_desc *open_ubi(const char *name, int mode)
>  	if (!isdigit(name[3]))
>  		return ERR_PTR(-EINVAL);
> 
> -	dev = simple_strtoul(name + 3, &endptr, 0);
> +	endptr = (char *)name + 3;
> +	ret = kstrtoint(endptr, 0, &dev);

But endptr is used in the code later, so this is wrong.

> 
>  	/* ubiY method */
> -	if (*endptr == '\0')
> +	if (!ret)
>  		return ubi_open_volume(0, dev, mode);
> 
>  	/* ubiX_Y method */
> 




More information about the linux-mtd mailing list