diff mbox series

slimbus: core: Remove usage of the deprecated ida_simple_xx() API

Message ID 8402a9a8a45937fe2e62617ff0c7408503692b20.1702745212.git.christophe.jaillet@wanadoo.fr
State Accepted
Commit 89ffa4cccec54467446f141a79b9e36893079fb8
Headers show
Series slimbus: core: Remove usage of the deprecated ida_simple_xx() API | expand

Commit Message

Christophe JAILLET Dec. 16, 2023, 4:47 p.m. UTC
ida_alloc() and ida_free() should be preferred to the deprecated
ida_simple_get() and ida_simple_remove().

Note that the upper limit of ida_simple_get() is exclusive, but the one of
ida_alloc_range() is inclusive. So change this change allows one more
device. Previously address 0xFE was never used.

Fixes: 46a2bb5a7f7e ("slimbus: core: Add slim controllers support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
/!\ Untested /!\

The change of behavior is motivated by the comment in
drivers/slimbus/slimbus.h stating that /* Manager's logical address is set
to 0xFF per spec */, so all other values, including 0xFE should be valid,
IMHO.

So considering this as a bug-fix, I added a Fixes tag.
---
 drivers/slimbus/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Christophe JAILLET Feb. 8, 2024, 5:58 p.m. UTC | #1
Le 16/12/2023 à 17:47, Christophe JAILLET a écrit :
> ida_alloc() and ida_free() should be preferred to the deprecated
> ida_simple_get() and ida_simple_remove().
> 
> Note that the upper limit of ida_simple_get() is exclusive, but the one of
> ida_alloc_range() is inclusive. So change this change allows one more
> device. Previously address 0xFE was never used.
> 
> Fixes: 46a2bb5a7f7e ("slimbus: core: Add slim controllers support")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> /!\ Untested /!\
> 
> The change of behavior is motivated by the comment in
> drivers/slimbus/slimbus.h stating that /* Manager's logical address is set
> to 0xFF per spec */, so all other values, including 0xFE should be valid,
> IMHO.
> 
> So considering this as a bug-fix, I added a Fixes tag.
> ---
>   drivers/slimbus/core.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/slimbus/core.c b/drivers/slimbus/core.c
> index d43873bb5fe6..01cbd4621981 100644
> --- a/drivers/slimbus/core.c
> +++ b/drivers/slimbus/core.c
> @@ -436,8 +436,8 @@ static int slim_device_alloc_laddr(struct slim_device *sbdev,
>   		if (ret < 0)
>   			goto err;
>   	} else if (report_present) {
> -		ret = ida_simple_get(&ctrl->laddr_ida,
> -				     0, SLIM_LA_MANAGER - 1, GFP_KERNEL);
> +		ret = ida_alloc_max(&ctrl->laddr_ida,
> +				    SLIM_LA_MANAGER - 1, GFP_KERNEL);
>   		if (ret < 0)
>   			goto err;
>   

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-20240207
$git grep ida_simple_get | wc -l
38

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/ZaqruGVz734zjxrZ@casper.infradead.org/
Srinivas Kandagatla Feb. 21, 2024, 10:30 a.m. UTC | #2
On Sat, 16 Dec 2023 17:47:34 +0100, Christophe JAILLET wrote:
> ida_alloc() and ida_free() should be preferred to the deprecated
> ida_simple_get() and ida_simple_remove().
> 
> Note that the upper limit of ida_simple_get() is exclusive, but the one of
> ida_alloc_range() is inclusive. So change this change allows one more
> device. Previously address 0xFE was never used.
> 
> [...]

Applied, thanks!

[1/1] slimbus: core: Remove usage of the deprecated ida_simple_xx() API
      commit: 6e8ba95e17eede7045e673d9e1b6b8ee1055a46c

Best regards,
diff mbox series

Patch

diff --git a/drivers/slimbus/core.c b/drivers/slimbus/core.c
index d43873bb5fe6..01cbd4621981 100644
--- a/drivers/slimbus/core.c
+++ b/drivers/slimbus/core.c
@@ -436,8 +436,8 @@  static int slim_device_alloc_laddr(struct slim_device *sbdev,
 		if (ret < 0)
 			goto err;
 	} else if (report_present) {
-		ret = ida_simple_get(&ctrl->laddr_ida,
-				     0, SLIM_LA_MANAGER - 1, GFP_KERNEL);
+		ret = ida_alloc_max(&ctrl->laddr_ida,
+				    SLIM_LA_MANAGER - 1, GFP_KERNEL);
 		if (ret < 0)
 			goto err;