mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 05:45:20 +00:00
fsi: occ: remove usage of the deprecated ida_simple_xx() API
Patch series "Remove usage of the deprecated ida_simple_xx() API". The series removes the *last* usages of the deprecated ida_simple_xx() API. This patch (of 3): 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, this upper limit, INT_MAX, should have been changed to INT_MAX-1. But, it is likely that the INT_MAX 'idx' is valid that the max value passed to ida_simple_get() should have been 0. So, allow this INT_MAX 'idx' value now. Link: https://lkml.kernel.org/r/cover.1717855701.git.christophe.jaillet@wanadoo.fr Link: https://lkml.kernel.org/r/8e28b0c45fe8f28ca4475fe0027f8099c41259f0.1717855701.git.christophe.jaillet@wanadoo.fr Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Eddie James <eajames@linux.ibm.com> Cc: Alistar Popple <alistair@popple.id.au> Cc: Christian Gromm <christian.gromm@microchip.com> Cc: Jeremy Kerr <jk@ozlabs.org> Cc: Joel Stanley <joel@jms.id.au> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com> Cc: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
5eb1911a8c
commit
08ab091583
@ -656,17 +656,16 @@ static int occ_probe(struct platform_device *pdev)
|
||||
rc = of_property_read_u32(dev->of_node, "reg", ®);
|
||||
if (!rc) {
|
||||
/* make sure we don't have a duplicate from dts */
|
||||
occ->idx = ida_simple_get(&occ_ida, reg, reg + 1,
|
||||
GFP_KERNEL);
|
||||
occ->idx = ida_alloc_range(&occ_ida, reg, reg,
|
||||
GFP_KERNEL);
|
||||
if (occ->idx < 0)
|
||||
occ->idx = ida_simple_get(&occ_ida, 1, INT_MAX,
|
||||
GFP_KERNEL);
|
||||
occ->idx = ida_alloc_min(&occ_ida, 1,
|
||||
GFP_KERNEL);
|
||||
} else {
|
||||
occ->idx = ida_simple_get(&occ_ida, 1, INT_MAX,
|
||||
GFP_KERNEL);
|
||||
occ->idx = ida_alloc_min(&occ_ida, 1, GFP_KERNEL);
|
||||
}
|
||||
} else {
|
||||
occ->idx = ida_simple_get(&occ_ida, 1, INT_MAX, GFP_KERNEL);
|
||||
occ->idx = ida_alloc_min(&occ_ida, 1, GFP_KERNEL);
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, occ);
|
||||
@ -680,7 +679,7 @@ static int occ_probe(struct platform_device *pdev)
|
||||
rc = misc_register(&occ->mdev);
|
||||
if (rc) {
|
||||
dev_err(dev, "failed to register miscdevice: %d\n", rc);
|
||||
ida_simple_remove(&occ_ida, occ->idx);
|
||||
ida_free(&occ_ida, occ->idx);
|
||||
kvfree(occ->buffer);
|
||||
return rc;
|
||||
}
|
||||
@ -719,7 +718,7 @@ static int occ_remove(struct platform_device *pdev)
|
||||
else
|
||||
device_for_each_child(&pdev->dev, NULL, occ_unregister_of_child);
|
||||
|
||||
ida_simple_remove(&occ_ida, occ->idx);
|
||||
ida_free(&occ_ida, occ->idx);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user