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

From: Christophe JAILLET
Date: Sat Dec 16 2023 - 11:55:31 EST


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@xxxxxxxxxx>
---
/!\ 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;

--
2.34.1