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 |
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/
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 --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;
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(-)