Re: [PATCH] misc: bcm-vk: Directly use ida_alloc()/free()

From: Greg KH
Date: Wed Jun 08 2022 - 03:06:24 EST


On Wed, Jun 08, 2022 at 03:19:27AM +0000, Ke Liu wrote:
> Use ida_alloc()/ida_free() instead of deprecated
> ida_simple_get()/ida_simple_remove().
>
> Signed-off-by: Ke Liu <liuke94@xxxxxxxxxx>
> ---
> drivers/misc/bcm-vk/bcm_vk_dev.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/misc/bcm-vk/bcm_vk_dev.c b/drivers/misc/bcm-vk/bcm_vk_dev.c
> index a16b99bdaa13..a3a82ebbc699 100644
> --- a/drivers/misc/bcm-vk/bcm_vk_dev.c
> +++ b/drivers/misc/bcm-vk/bcm_vk_dev.c
> @@ -1401,7 +1401,7 @@ static int bcm_vk_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> bcm_vk_tty_set_irq_enabled(vk, i);
> }
>
> - id = ida_simple_get(&bcm_vk_ida, 0, 0, GFP_KERNEL);
> + id = ida_alloc(&bcm_vk_ida, GFP_KERNEL);
> if (id < 0) {
> err = id;
> dev_err(dev, "unable to get id\n");
> @@ -1500,7 +1500,7 @@ static int bcm_vk_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> misc_device->name = NULL;
>
> err_ida_remove:
> - ida_simple_remove(&bcm_vk_ida, id);
> + ida_free(&bcm_vk_ida, id);
>
> err_irq:
> for (i = 0; i < vk->num_irqs; i++)
> @@ -1573,7 +1573,7 @@ static void bcm_vk_remove(struct pci_dev *pdev)
> if (misc_device->name) {
> misc_deregister(misc_device);
> kfree(misc_device->name);
> - ida_simple_remove(&bcm_vk_ida, vk->devid);
> + ida_free(&bcm_vk_ida, vk->devid);

If conversions were this simple, why wouldn't the maintainer have done
this already for the whole tree?

Are you sure these types of changes are correct? How did you test them?

thanks,

greg k-h