Messages in this thread Patch in this message | | | From | Lee Duncan <> | Subject | [PATCH 11/17] Update the rtsx multifunction driver to use idr helper functions. | Date | Wed, 16 Sep 2015 10:50:29 -0700 |
| |
Signed-off-by: Lee Duncan <lduncan@suse.com> --- drivers/mfd/rtsx_pcr.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/drivers/mfd/rtsx_pcr.c b/drivers/mfd/rtsx_pcr.c index a66540a49079..8ddefb8c5e64 100644 --- a/drivers/mfd/rtsx_pcr.c +++ b/drivers/mfd/rtsx_pcr.c @@ -1191,15 +1191,10 @@ static int rtsx_pci_probe(struct pci_dev *pcidev, } handle->pcr = pcr; - idr_preload(GFP_KERNEL); - spin_lock(&rtsx_pci_lock); - ret = idr_alloc(&rtsx_pci_idr, pcr, 0, 0, GFP_NOWAIT); - if (ret >= 0) - pcr->id = ret; - spin_unlock(&rtsx_pci_lock); - idr_preload_end(); + ret = idr_get_index(&rtsx_pci_idr, &rtsc_pci_lock, pcr); if (ret < 0) goto free_handle; + pcr->id = ret; pcr->pci = pcidev; dev_set_drvdata(&pcidev->dev, handle); @@ -1311,9 +1306,7 @@ static void rtsx_pci_remove(struct pci_dev *pcidev) pci_release_regions(pcidev); pci_disable_device(pcidev); - spin_lock(&rtsx_pci_lock); - idr_remove(&rtsx_pci_idr, pcr->id); - spin_unlock(&rtsx_pci_lock); + idr_put_index(&rtsx_pci_idr, &rtsx_pci_lock, pcr->id); kfree(pcr->slots); kfree(pcr); -- 2.1.4
| |