[v2] nvdimm: Use kstrtobool() instead of strtobool()
Commit Message
strtobool() is the same as kstrtobool().
However, the latter is more used within the kernel.
In order to remove strtobool() and slightly simplify kstrtox.h, switch to
the other function name.
While at it, include the corresponding header file (<linux/kstrtox.h>)
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
This patch was already sent as a part of a serie ([1]) that axed all usages
of strtobool().
Most of the patches have been merged in -next.
I synch'ed with latest -next and re-send the remaining ones as individual
patches.
Changes in v2:
- synch with latest -next.
[1]: https://lore.kernel.org/all/cover.1667336095.git.christophe.jaillet@wanadoo.fr/
---
drivers/nvdimm/namespace_devs.c | 3 ++-
drivers/nvdimm/pmem.c | 3 ++-
drivers/nvdimm/region_devs.c | 5 +++--
3 files changed, 7 insertions(+), 4 deletions(-)
Comments
On Sat, 2023-01-14 at 09:50 +0100, Christophe JAILLET wrote:
> strtobool() is the same as kstrtobool().
> However, the latter is more used within the kernel.
>
> In order to remove strtobool() and slightly simplify kstrtox.h, switch to
> the other function name.
>
> While at it, include the corresponding header file (<linux/kstrtox.h>)
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> This patch was already sent as a part of a serie ([1]) that axed all usages
> of strtobool().
> Most of the patches have been merged in -next.
>
> I synch'ed with latest -next and re-send the remaining ones as individual
> patches.
>
> Changes in v2:
> - synch with latest -next.
>
> [1]: https://lore.kernel.org/all/cover.1667336095.git.christophe.jaillet@wanadoo.fr/
> ---
> drivers/nvdimm/namespace_devs.c | 3 ++-
> drivers/nvdimm/pmem.c | 3 ++-
> drivers/nvdimm/region_devs.c | 5 +++--
> 3 files changed, 7 insertions(+), 4 deletions(-)
This looks reasonable,
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
>
> diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
> index c60ec0b373c5..07177eadc56e 100644
> --- a/drivers/nvdimm/namespace_devs.c
> +++ b/drivers/nvdimm/namespace_devs.c
> @@ -2,6 +2,7 @@
> /*
> * Copyright(c) 2013-2015 Intel Corporation. All rights reserved.
> */
> +#include <linux/kstrtox.h>
> #include <linux/module.h>
> #include <linux/device.h>
> #include <linux/sort.h>
> @@ -1338,7 +1339,7 @@ static ssize_t force_raw_store(struct device *dev,
> struct device_attribute *attr, const char *buf, size_t len)
> {
> bool force_raw;
> - int rc = strtobool(buf, &force_raw);
> + int rc = kstrtobool(buf, &force_raw);
>
> if (rc)
> return rc;
> diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
> index 80ded5a2838a..f2a336c6d8c6 100644
> --- a/drivers/nvdimm/pmem.c
> +++ b/drivers/nvdimm/pmem.c
> @@ -17,6 +17,7 @@
> #include <linux/moduleparam.h>
> #include <linux/badblocks.h>
> #include <linux/memremap.h>
> +#include <linux/kstrtox.h>
> #include <linux/vmalloc.h>
> #include <linux/blk-mq.h>
> #include <linux/pfn_t.h>
> @@ -408,7 +409,7 @@ static ssize_t write_cache_store(struct device *dev,
> bool write_cache;
> int rc;
>
> - rc = strtobool(buf, &write_cache);
> + rc = kstrtobool(buf, &write_cache);
> if (rc)
> return rc;
> dax_write_cache(pmem->dax_dev, write_cache);
> diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
> index 83dbf398ea84..f5872de7ea5a 100644
> --- a/drivers/nvdimm/region_devs.c
> +++ b/drivers/nvdimm/region_devs.c
> @@ -5,6 +5,7 @@
> #include <linux/scatterlist.h>
> #include <linux/memregion.h>
> #include <linux/highmem.h>
> +#include <linux/kstrtox.h>
> #include <linux/sched.h>
> #include <linux/slab.h>
> #include <linux/hash.h>
> @@ -275,7 +276,7 @@ static ssize_t deep_flush_store(struct device *dev, struct device_attribute *att
> const char *buf, size_t len)
> {
> bool flush;
> - int rc = strtobool(buf, &flush);
> + int rc = kstrtobool(buf, &flush);
> struct nd_region *nd_region = to_nd_region(dev);
>
> if (rc)
> @@ -530,7 +531,7 @@ static ssize_t read_only_store(struct device *dev,
> struct device_attribute *attr, const char *buf, size_t len)
> {
> bool ro;
> - int rc = strtobool(buf, &ro);
> + int rc = kstrtobool(buf, &ro);
> struct nd_region *nd_region = to_nd_region(dev);
>
> if (rc)
Christophe JAILLET wrote:
> strtobool() is the same as kstrtobool().
> However, the latter is more used within the kernel.
>
> In order to remove strtobool() and slightly simplify kstrtox.h, switch to
> the other function name.
>
> While at it, include the corresponding header file (<linux/kstrtox.h>)
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> This patch was already sent as a part of a serie ([1]) that axed all usages
> of strtobool().
> Most of the patches have been merged in -next.
>
> I synch'ed with latest -next and re-send the remaining ones as individual
> patches.
>
> Changes in v2:
> - synch with latest -next.
Looks good, applied for v6.3.
Le 25/01/2023 à 20:11, Dan Williams a écrit :
> Christophe JAILLET wrote:
>> strtobool() is the same as kstrtobool().
>> However, the latter is more used within the kernel.
>>
>> In order to remove strtobool() and slightly simplify kstrtox.h, switch to
>> the other function name.
>>
>> While at it, include the corresponding header file (<linux/kstrtox.h>)
>>
>> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>> ---
>> This patch was already sent as a part of a serie ([1]) that axed all usages
>> of strtobool().
>> Most of the patches have been merged in -next.
>>
>> I synch'ed with latest -next and re-send the remaining ones as individual
>> patches.
>>
>> Changes in v2:
>> - synch with latest -next.
>
> Looks good, applied for v6.3.
>
Hi,
polite reminder.
If I'm right, only 2 places still use strtobool().
This one and net/bluetooth/hci_debugfs.c.
I'll also try to push the other one and get rid of strtobool().
CJ
@@ -2,6 +2,7 @@
/*
* Copyright(c) 2013-2015 Intel Corporation. All rights reserved.
*/
+#include <linux/kstrtox.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/sort.h>
@@ -1338,7 +1339,7 @@ static ssize_t force_raw_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t len)
{
bool force_raw;
- int rc = strtobool(buf, &force_raw);
+ int rc = kstrtobool(buf, &force_raw);
if (rc)
return rc;
@@ -17,6 +17,7 @@
#include <linux/moduleparam.h>
#include <linux/badblocks.h>
#include <linux/memremap.h>
+#include <linux/kstrtox.h>
#include <linux/vmalloc.h>
#include <linux/blk-mq.h>
#include <linux/pfn_t.h>
@@ -408,7 +409,7 @@ static ssize_t write_cache_store(struct device *dev,
bool write_cache;
int rc;
- rc = strtobool(buf, &write_cache);
+ rc = kstrtobool(buf, &write_cache);
if (rc)
return rc;
dax_write_cache(pmem->dax_dev, write_cache);
@@ -5,6 +5,7 @@
#include <linux/scatterlist.h>
#include <linux/memregion.h>
#include <linux/highmem.h>
+#include <linux/kstrtox.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/hash.h>
@@ -275,7 +276,7 @@ static ssize_t deep_flush_store(struct device *dev, struct device_attribute *att
const char *buf, size_t len)
{
bool flush;
- int rc = strtobool(buf, &flush);
+ int rc = kstrtobool(buf, &flush);
struct nd_region *nd_region = to_nd_region(dev);
if (rc)
@@ -530,7 +531,7 @@ static ssize_t read_only_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t len)
{
bool ro;
- int rc = strtobool(buf, &ro);
+ int rc = kstrtobool(buf, &ro);
struct nd_region *nd_region = to_nd_region(dev);
if (rc)