[PATCH 11/17] Update the rtsx multifunction driver to use idr helper functions.

From: Lee Duncan
Date: Wed Sep 16 2015 - 13:53:44 EST


Signed-off-by: Lee Duncan <lduncan@xxxxxxxx>
---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/