2024-01-11 20:38:29

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] intel_th: 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/hwtracing/intel_th/core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/hwtracing/intel_th/core.c b/drivers/hwtracing/intel_th/core.c
index cc7f879bb175..86c8efecd7c2 100644
--- a/drivers/hwtracing/intel_th/core.c
+++ b/drivers/hwtracing/intel_th/core.c
@@ -871,7 +871,7 @@ intel_th_alloc(struct device *dev, const struct intel_th_drvdata *drvdata,
if (!th)
return ERR_PTR(-ENOMEM);

- th->id = ida_simple_get(&intel_th_ida, 0, 0, GFP_KERNEL);
+ th->id = ida_alloc(&intel_th_ida, GFP_KERNEL);
if (th->id < 0) {
err = th->id;
goto err_alloc;
@@ -931,7 +931,7 @@ intel_th_alloc(struct device *dev, const struct intel_th_drvdata *drvdata,
"intel_th/output");

err_ida:
- ida_simple_remove(&intel_th_ida, th->id);
+ ida_free(&intel_th_ida, th->id);

err_alloc:
kfree(th);
@@ -964,7 +964,7 @@ void intel_th_free(struct intel_th *th)
__unregister_chrdev(th->major, 0, TH_POSSIBLE_OUTPUTS,
"intel_th/output");

- ida_simple_remove(&intel_th_ida, th->id);
+ ida_free(&intel_th_ida, th->id);

kfree(th);
}
--
2.34.1



2024-02-20 18:59:09

by Christophe JAILLET

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

Le 11/01/2024 à 21:34, Christophe JAILLET a écrit :
> 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/hwtracing/intel_th/core.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hwtracing/intel_th/core.c b/drivers/hwtracing/intel_th/core.c
> index cc7f879bb175..86c8efecd7c2 100644
> --- a/drivers/hwtracing/intel_th/core.c
> +++ b/drivers/hwtracing/intel_th/core.c
> @@ -871,7 +871,7 @@ intel_th_alloc(struct device *dev, const struct intel_th_drvdata *drvdata,
> if (!th)
> return ERR_PTR(-ENOMEM);
>
> - th->id = ida_simple_get(&intel_th_ida, 0, 0, GFP_KERNEL);
> + th->id = ida_alloc(&intel_th_ida, GFP_KERNEL);
> if (th->id < 0) {
> err = th->id;
> goto err_alloc;
> @@ -931,7 +931,7 @@ intel_th_alloc(struct device *dev, const struct intel_th_drvdata *drvdata,
> "intel_th/output");
>
> err_ida:
> - ida_simple_remove(&intel_th_ida, th->id);
> + ida_free(&intel_th_ida, th->id);
>
> err_alloc:
> kfree(th);
> @@ -964,7 +964,7 @@ void intel_th_free(struct intel_th *th)
> __unregister_chrdev(th->major, 0, TH_POSSIBLE_OUTPUTS,
> "intel_th/output");
>
> - ida_simple_remove(&intel_th_ida, th->id);
> + ida_free(&intel_th_ida, th->id);
>
> kfree(th);
> }

Hi,

gentle reminder.

All patches to remove the ida_simple API have been sent.
And Matthew Wilcox seems happy with the on going work. (see [1])

Based on next-20240220
$git grep ida_simple_get | wc -l
36

https://elixir.bootlin.com/linux/v6.8-rc3/A/ident/ida_simple_get
50

https://elixir.bootlin.com/linux/v6.7.4/A/ident/ida_simple_get
81

Thanks
CJ

[1]: https://lore.kernel.org/all/[email protected]/