2023-12-10 17:15:00

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] nvdimm: Remove usage of the deprecated ida_simple_xx() API

ida_alloc() and ida_free() should be preferred to the deprecated
ida_simple_get() and ida_simple_remove().

This is less verbose.

Signed-off-by: Christophe JAILLET <[email protected]>
---
drivers/nvdimm/btt_devs.c | 6 +++---
drivers/nvdimm/bus.c | 4 ++--
drivers/nvdimm/dax_devs.c | 4 ++--
drivers/nvdimm/dimm_devs.c | 4 ++--
drivers/nvdimm/namespace_devs.c | 7 +++----
drivers/nvdimm/pfn_devs.c | 4 ++--
6 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/drivers/nvdimm/btt_devs.c b/drivers/nvdimm/btt_devs.c
index fabbb31f2c35..497fd434a6a1 100644
--- a/drivers/nvdimm/btt_devs.c
+++ b/drivers/nvdimm/btt_devs.c
@@ -19,7 +19,7 @@ static void nd_btt_release(struct device *dev)

dev_dbg(dev, "trace\n");
nd_detach_ndns(&nd_btt->dev, &nd_btt->ndns);
- ida_simple_remove(&nd_region->btt_ida, nd_btt->id);
+ ida_free(&nd_region->btt_ida, nd_btt->id);
kfree(nd_btt->uuid);
kfree(nd_btt);
}
@@ -191,7 +191,7 @@ static struct device *__nd_btt_create(struct nd_region *nd_region,
if (!nd_btt)
return NULL;

- nd_btt->id = ida_simple_get(&nd_region->btt_ida, 0, 0, GFP_KERNEL);
+ nd_btt->id = ida_alloc(&nd_region->btt_ida, GFP_KERNEL);
if (nd_btt->id < 0)
goto out_nd_btt;

@@ -217,7 +217,7 @@ static struct device *__nd_btt_create(struct nd_region *nd_region,
return dev;

out_put_id:
- ida_simple_remove(&nd_region->btt_ida, nd_btt->id);
+ ida_free(&nd_region->btt_ida, nd_btt->id);

out_nd_btt:
kfree(nd_btt);
diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c
index 5852fe290523..ef3d0f83318b 100644
--- a/drivers/nvdimm/bus.c
+++ b/drivers/nvdimm/bus.c
@@ -285,7 +285,7 @@ static void nvdimm_bus_release(struct device *dev)
struct nvdimm_bus *nvdimm_bus;

nvdimm_bus = container_of(dev, struct nvdimm_bus, dev);
- ida_simple_remove(&nd_ida, nvdimm_bus->id);
+ ida_free(&nd_ida, nvdimm_bus->id);
kfree(nvdimm_bus);
}

@@ -342,7 +342,7 @@ struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
INIT_LIST_HEAD(&nvdimm_bus->list);
INIT_LIST_HEAD(&nvdimm_bus->mapping_list);
init_waitqueue_head(&nvdimm_bus->wait);
- nvdimm_bus->id = ida_simple_get(&nd_ida, 0, 0, GFP_KERNEL);
+ nvdimm_bus->id = ida_alloc(&nd_ida, GFP_KERNEL);
if (nvdimm_bus->id < 0) {
kfree(nvdimm_bus);
return NULL;
diff --git a/drivers/nvdimm/dax_devs.c b/drivers/nvdimm/dax_devs.c
index 3bd61f245788..6b4922de3047 100644
--- a/drivers/nvdimm/dax_devs.c
+++ b/drivers/nvdimm/dax_devs.c
@@ -18,7 +18,7 @@ static void nd_dax_release(struct device *dev)

dev_dbg(dev, "trace\n");
nd_detach_ndns(dev, &nd_pfn->ndns);
- ida_simple_remove(&nd_region->dax_ida, nd_pfn->id);
+ ida_free(&nd_region->dax_ida, nd_pfn->id);
kfree(nd_pfn->uuid);
kfree(nd_dax);
}
@@ -55,7 +55,7 @@ static struct nd_dax *nd_dax_alloc(struct nd_region *nd_region)
return NULL;

nd_pfn = &nd_dax->nd_pfn;
- nd_pfn->id = ida_simple_get(&nd_region->dax_ida, 0, 0, GFP_KERNEL);
+ nd_pfn->id = ida_alloc(&nd_region->dax_ida, GFP_KERNEL);
if (nd_pfn->id < 0) {
kfree(nd_dax);
return NULL;
diff --git a/drivers/nvdimm/dimm_devs.c b/drivers/nvdimm/dimm_devs.c
index 1273873582be..3ceddae0509f 100644
--- a/drivers/nvdimm/dimm_devs.c
+++ b/drivers/nvdimm/dimm_devs.c
@@ -194,7 +194,7 @@ static void nvdimm_release(struct device *dev)
{
struct nvdimm *nvdimm = to_nvdimm(dev);

- ida_simple_remove(&dimm_ida, nvdimm->id);
+ ida_free(&dimm_ida, nvdimm->id);
kfree(nvdimm);
}

@@ -592,7 +592,7 @@ struct nvdimm *__nvdimm_create(struct nvdimm_bus *nvdimm_bus,
if (!nvdimm)
return NULL;

- nvdimm->id = ida_simple_get(&dimm_ida, 0, 0, GFP_KERNEL);
+ nvdimm->id = ida_alloc(&dimm_ida, GFP_KERNEL);
if (nvdimm->id < 0) {
kfree(nvdimm);
return NULL;
diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index 07177eadc56e..fa1202e848d9 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -27,7 +27,7 @@ static void namespace_pmem_release(struct device *dev)
struct nd_region *nd_region = to_nd_region(dev->parent);

if (nspm->id >= 0)
- ida_simple_remove(&nd_region->ns_ida, nspm->id);
+ ida_free(&nd_region->ns_ida, nspm->id);
kfree(nspm->alt_name);
kfree(nspm->uuid);
kfree(nspm);
@@ -1810,7 +1810,7 @@ static struct device *nd_namespace_pmem_create(struct nd_region *nd_region)
res->name = dev_name(&nd_region->dev);
res->flags = IORESOURCE_MEM;

- nspm->id = ida_simple_get(&nd_region->ns_ida, 0, 0, GFP_KERNEL);
+ nspm->id = ida_alloc(&nd_region->ns_ida, GFP_KERNEL);
if (nspm->id < 0) {
kfree(nspm);
return NULL;
@@ -2188,8 +2188,7 @@ int nd_region_register_namespaces(struct nd_region *nd_region, int *err)
struct nd_namespace_pmem *nspm;

nspm = to_nd_namespace_pmem(dev);
- id = ida_simple_get(&nd_region->ns_ida, 0, 0,
- GFP_KERNEL);
+ id = ida_alloc(&nd_region->ns_ida, GFP_KERNEL);
nspm->id = id;
} else
id = i;
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index 0d08e21a1cea..586348125b61 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -22,7 +22,7 @@ static void nd_pfn_release(struct device *dev)

dev_dbg(dev, "trace\n");
nd_detach_ndns(&nd_pfn->dev, &nd_pfn->ndns);
- ida_simple_remove(&nd_region->pfn_ida, nd_pfn->id);
+ ida_free(&nd_region->pfn_ida, nd_pfn->id);
kfree(nd_pfn->uuid);
kfree(nd_pfn);
}
@@ -326,7 +326,7 @@ static struct nd_pfn *nd_pfn_alloc(struct nd_region *nd_region)
if (!nd_pfn)
return NULL;

- nd_pfn->id = ida_simple_get(&nd_region->pfn_ida, 0, 0, GFP_KERNEL);
+ nd_pfn->id = ida_alloc(&nd_region->pfn_ida, GFP_KERNEL);
if (nd_pfn->id < 0) {
kfree(nd_pfn);
return NULL;
--
2.34.1


2023-12-12 01:28:30

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH] nvdimm: Remove usage of the deprecated ida_simple_xx() API



On 12/10/23 10:13, Christophe JAILLET wrote:
> ida_alloc() and ida_free() should be preferred to the deprecated
> ida_simple_get() and ida_simple_remove().
>
> This is less verbose.
>
> Signed-off-by: Christophe JAILLET <[email protected]>

Reviewed-by: Dave Jiang <[email protected]>
> ---
> drivers/nvdimm/btt_devs.c | 6 +++---
> drivers/nvdimm/bus.c | 4 ++--
> drivers/nvdimm/dax_devs.c | 4 ++--
> drivers/nvdimm/dimm_devs.c | 4 ++--
> drivers/nvdimm/namespace_devs.c | 7 +++----
> drivers/nvdimm/pfn_devs.c | 4 ++--
> 6 files changed, 14 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/nvdimm/btt_devs.c b/drivers/nvdimm/btt_devs.c
> index fabbb31f2c35..497fd434a6a1 100644
> --- a/drivers/nvdimm/btt_devs.c
> +++ b/drivers/nvdimm/btt_devs.c
> @@ -19,7 +19,7 @@ static void nd_btt_release(struct device *dev)
>
> dev_dbg(dev, "trace\n");
> nd_detach_ndns(&nd_btt->dev, &nd_btt->ndns);
> - ida_simple_remove(&nd_region->btt_ida, nd_btt->id);
> + ida_free(&nd_region->btt_ida, nd_btt->id);
> kfree(nd_btt->uuid);
> kfree(nd_btt);
> }
> @@ -191,7 +191,7 @@ static struct device *__nd_btt_create(struct nd_region *nd_region,
> if (!nd_btt)
> return NULL;
>
> - nd_btt->id = ida_simple_get(&nd_region->btt_ida, 0, 0, GFP_KERNEL);
> + nd_btt->id = ida_alloc(&nd_region->btt_ida, GFP_KERNEL);
> if (nd_btt->id < 0)
> goto out_nd_btt;
>
> @@ -217,7 +217,7 @@ static struct device *__nd_btt_create(struct nd_region *nd_region,
> return dev;
>
> out_put_id:
> - ida_simple_remove(&nd_region->btt_ida, nd_btt->id);
> + ida_free(&nd_region->btt_ida, nd_btt->id);
>
> out_nd_btt:
> kfree(nd_btt);
> diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c
> index 5852fe290523..ef3d0f83318b 100644
> --- a/drivers/nvdimm/bus.c
> +++ b/drivers/nvdimm/bus.c
> @@ -285,7 +285,7 @@ static void nvdimm_bus_release(struct device *dev)
> struct nvdimm_bus *nvdimm_bus;
>
> nvdimm_bus = container_of(dev, struct nvdimm_bus, dev);
> - ida_simple_remove(&nd_ida, nvdimm_bus->id);
> + ida_free(&nd_ida, nvdimm_bus->id);
> kfree(nvdimm_bus);
> }
>
> @@ -342,7 +342,7 @@ struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
> INIT_LIST_HEAD(&nvdimm_bus->list);
> INIT_LIST_HEAD(&nvdimm_bus->mapping_list);
> init_waitqueue_head(&nvdimm_bus->wait);
> - nvdimm_bus->id = ida_simple_get(&nd_ida, 0, 0, GFP_KERNEL);
> + nvdimm_bus->id = ida_alloc(&nd_ida, GFP_KERNEL);
> if (nvdimm_bus->id < 0) {
> kfree(nvdimm_bus);
> return NULL;
> diff --git a/drivers/nvdimm/dax_devs.c b/drivers/nvdimm/dax_devs.c
> index 3bd61f245788..6b4922de3047 100644
> --- a/drivers/nvdimm/dax_devs.c
> +++ b/drivers/nvdimm/dax_devs.c
> @@ -18,7 +18,7 @@ static void nd_dax_release(struct device *dev)
>
> dev_dbg(dev, "trace\n");
> nd_detach_ndns(dev, &nd_pfn->ndns);
> - ida_simple_remove(&nd_region->dax_ida, nd_pfn->id);
> + ida_free(&nd_region->dax_ida, nd_pfn->id);
> kfree(nd_pfn->uuid);
> kfree(nd_dax);
> }
> @@ -55,7 +55,7 @@ static struct nd_dax *nd_dax_alloc(struct nd_region *nd_region)
> return NULL;
>
> nd_pfn = &nd_dax->nd_pfn;
> - nd_pfn->id = ida_simple_get(&nd_region->dax_ida, 0, 0, GFP_KERNEL);
> + nd_pfn->id = ida_alloc(&nd_region->dax_ida, GFP_KERNEL);
> if (nd_pfn->id < 0) {
> kfree(nd_dax);
> return NULL;
> diff --git a/drivers/nvdimm/dimm_devs.c b/drivers/nvdimm/dimm_devs.c
> index 1273873582be..3ceddae0509f 100644
> --- a/drivers/nvdimm/dimm_devs.c
> +++ b/drivers/nvdimm/dimm_devs.c
> @@ -194,7 +194,7 @@ static void nvdimm_release(struct device *dev)
> {
> struct nvdimm *nvdimm = to_nvdimm(dev);
>
> - ida_simple_remove(&dimm_ida, nvdimm->id);
> + ida_free(&dimm_ida, nvdimm->id);
> kfree(nvdimm);
> }
>
> @@ -592,7 +592,7 @@ struct nvdimm *__nvdimm_create(struct nvdimm_bus *nvdimm_bus,
> if (!nvdimm)
> return NULL;
>
> - nvdimm->id = ida_simple_get(&dimm_ida, 0, 0, GFP_KERNEL);
> + nvdimm->id = ida_alloc(&dimm_ida, GFP_KERNEL);
> if (nvdimm->id < 0) {
> kfree(nvdimm);
> return NULL;
> diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
> index 07177eadc56e..fa1202e848d9 100644
> --- a/drivers/nvdimm/namespace_devs.c
> +++ b/drivers/nvdimm/namespace_devs.c
> @@ -27,7 +27,7 @@ static void namespace_pmem_release(struct device *dev)
> struct nd_region *nd_region = to_nd_region(dev->parent);
>
> if (nspm->id >= 0)
> - ida_simple_remove(&nd_region->ns_ida, nspm->id);
> + ida_free(&nd_region->ns_ida, nspm->id);
> kfree(nspm->alt_name);
> kfree(nspm->uuid);
> kfree(nspm);
> @@ -1810,7 +1810,7 @@ static struct device *nd_namespace_pmem_create(struct nd_region *nd_region)
> res->name = dev_name(&nd_region->dev);
> res->flags = IORESOURCE_MEM;
>
> - nspm->id = ida_simple_get(&nd_region->ns_ida, 0, 0, GFP_KERNEL);
> + nspm->id = ida_alloc(&nd_region->ns_ida, GFP_KERNEL);
> if (nspm->id < 0) {
> kfree(nspm);
> return NULL;
> @@ -2188,8 +2188,7 @@ int nd_region_register_namespaces(struct nd_region *nd_region, int *err)
> struct nd_namespace_pmem *nspm;
>
> nspm = to_nd_namespace_pmem(dev);
> - id = ida_simple_get(&nd_region->ns_ida, 0, 0,
> - GFP_KERNEL);
> + id = ida_alloc(&nd_region->ns_ida, GFP_KERNEL);
> nspm->id = id;
> } else
> id = i;
> diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
> index 0d08e21a1cea..586348125b61 100644
> --- a/drivers/nvdimm/pfn_devs.c
> +++ b/drivers/nvdimm/pfn_devs.c
> @@ -22,7 +22,7 @@ static void nd_pfn_release(struct device *dev)
>
> dev_dbg(dev, "trace\n");
> nd_detach_ndns(&nd_pfn->dev, &nd_pfn->ndns);
> - ida_simple_remove(&nd_region->pfn_ida, nd_pfn->id);
> + ida_free(&nd_region->pfn_ida, nd_pfn->id);
> kfree(nd_pfn->uuid);
> kfree(nd_pfn);
> }
> @@ -326,7 +326,7 @@ static struct nd_pfn *nd_pfn_alloc(struct nd_region *nd_region)
> if (!nd_pfn)
> return NULL;
>
> - nd_pfn->id = ida_simple_get(&nd_region->pfn_ida, 0, 0, GFP_KERNEL);
> + nd_pfn->id = ida_alloc(&nd_region->pfn_ida, GFP_KERNEL);
> if (nd_pfn->id < 0) {
> kfree(nd_pfn);
> return NULL;