On Thu, Jun 02, 2022 at 07:11:15AM +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> I split the switchtec part off and applied it with Logan's ack to pci/ctrl/switchtec for v5.20, thanks! PCI: switchtec: Prefer ida_alloc()/free() over ida_simple_get()/remove() I'll apply the vmd part as soon as one of those folks pipes up. > --- > v2 fix sign-off name suggest by Bjorn Helgaas > --- > drivers/pci/controller/vmd.c | 6 +++--- > drivers/pci/switch/switchtec.c | 7 +++---- > 2 files changed, 6 insertions(+), 7 deletions(-) > > diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c > index 94a14a3d7e55..49c72c2d8fe7 100644 > --- a/drivers/pci/controller/vmd.c > +++ b/drivers/pci/controller/vmd.c > @@ -894,7 +894,7 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id) > return -ENOMEM; > > vmd->dev = dev; > - vmd->instance = ida_simple_get(&vmd_instance_ida, 0, 0, GFP_KERNEL); > + vmd->instance = ida_alloc(&vmd_instance_ida, GFP_KERNEL); > if (vmd->instance < 0) > return vmd->instance; > > @@ -935,7 +935,7 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id) > return 0; > > out_release_instance: > - ida_simple_remove(&vmd_instance_ida, vmd->instance); > + ida_free(&vmd_instance_ida, vmd->instance); > kfree(vmd->name); > return err; > } > @@ -958,7 +958,7 @@ static void vmd_remove(struct pci_dev *dev) > vmd_cleanup_srcu(vmd); > vmd_detach_resources(vmd); > vmd_remove_irq_domain(vmd); > - ida_simple_remove(&vmd_instance_ida, vmd->instance); > + ida_free(&vmd_instance_ida, vmd->instance); > kfree(vmd->name); > } > > diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c > index c36c1238c604..75be4fe22509 100644 > --- a/drivers/pci/switch/switchtec.c > +++ b/drivers/pci/switch/switchtec.c > @@ -1376,8 +1376,7 @@ static struct switchtec_dev *stdev_create(struct pci_dev *pdev) > dev->groups = switchtec_device_groups; > dev->release = stdev_release; > > - minor = ida_simple_get(&switchtec_minor_ida, 0, 0, > - GFP_KERNEL); > + minor = ida_alloc(&switchtec_minor_ida, GFP_KERNEL); > if (minor < 0) { > rc = minor; > goto err_put; > @@ -1692,7 +1691,7 @@ static int switchtec_pci_probe(struct pci_dev *pdev, > err_devadd: > stdev_kill(stdev); > err_put: > - ida_simple_remove(&switchtec_minor_ida, MINOR(stdev->dev.devt)); > + ida_free(&switchtec_minor_ida, MINOR(stdev->dev.devt)); > put_device(&stdev->dev); > return rc; > } > @@ -1704,7 +1703,7 @@ static void switchtec_pci_remove(struct pci_dev *pdev) > pci_set_drvdata(pdev, NULL); > > cdev_device_del(&stdev->cdev, &stdev->dev); > - ida_simple_remove(&switchtec_minor_ida, MINOR(stdev->dev.devt)); > + ida_free(&switchtec_minor_ida, MINOR(stdev->dev.devt)); > dev_info(&stdev->dev, "unregistered.\n"); > stdev_kill(stdev); > put_device(&stdev->dev); > -- > 2.25.1 >