nvmem: switch to simpler IDA interface
We don't need to specify any ranges when allocating IDs so we can switch to ida_alloc() and ida_free() instead of the ida_simple_ counterparts. ida_simple_get(ida, 0, 0, gfp) is equivalent to ida_alloc_range(ida, 0, UINT_MAX, gfp) which is equivalent to ida_alloc(ida, gfp). Note: IDR will never actually allocate an ID larger than INT_MAX. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20200917134437.16637-4-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
28371cc610
commit
1eb51d6a4f
|
@ -321,7 +321,7 @@ static void nvmem_release(struct device *dev)
|
|||
{
|
||||
struct nvmem_device *nvmem = to_nvmem_device(dev);
|
||||
|
||||
ida_simple_remove(&nvmem_ida, nvmem->id);
|
||||
ida_free(&nvmem_ida, nvmem->id);
|
||||
gpiod_put(nvmem->wp_gpio);
|
||||
kfree(nvmem);
|
||||
}
|
||||
|
@ -596,7 +596,7 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
|
|||
if (!nvmem)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
rval = ida_simple_get(&nvmem_ida, 0, 0, GFP_KERNEL);
|
||||
rval = ida_alloc(&nvmem_ida, GFP_KERNEL);
|
||||
if (rval < 0) {
|
||||
kfree(nvmem);
|
||||
return ERR_PTR(rval);
|
||||
|
@ -608,7 +608,7 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
|
|||
nvmem->wp_gpio = gpiod_get_optional(config->dev, "wp",
|
||||
GPIOD_OUT_HIGH);
|
||||
if (IS_ERR(nvmem->wp_gpio)) {
|
||||
ida_simple_remove(&nvmem_ida, nvmem->id);
|
||||
ida_free(&nvmem_ida, nvmem->id);
|
||||
rval = PTR_ERR(nvmem->wp_gpio);
|
||||
kfree(nvmem);
|
||||
return ERR_PTR(rval);
|
||||
|
|
Loading…
Reference in New Issue