]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: rc: Directly use ida_free()
authorkeliu <liuke94@huawei.com>
Fri, 17 Oct 2025 23:31:50 +0000 (19:31 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2025 12:59:56 +0000 (13:59 +0100)
[ Upstream commit cd54ff938091d890edf78e6555ec30c63dcd2eb5 ]

Use ida_alloc() and ida_free() instead of the deprecated
ida_simple_get() and ida_simple_remove().

Signed-off-by: keliu <liuke94@huawei.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Stable-dep-of: 4f4098c57e13 ("media: lirc: Fix error handling in lirc_register()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/rc/lirc_dev.c
drivers/media/rc/rc-main.c

index 7de97c26b622af066abf723672ced768713524b4..9c9eac2e1182f5030fd9e51d02b375af0e347d28 100644 (file)
@@ -746,7 +746,7 @@ int ir_lirc_register(struct rc_dev *dev)
        const char *rx_type, *tx_type;
        int err, minor;
 
-       minor = ida_simple_get(&lirc_ida, 0, RC_DEV_MAX, GFP_KERNEL);
+       minor = ida_alloc_max(&lirc_ida, RC_DEV_MAX - 1, GFP_KERNEL);
        if (minor < 0)
                return minor;
 
@@ -791,7 +791,7 @@ int ir_lirc_register(struct rc_dev *dev)
        return 0;
 
 out_ida:
-       ida_simple_remove(&lirc_ida, minor);
+       ida_free(&lirc_ida, minor);
        return err;
 }
 
@@ -809,7 +809,7 @@ void ir_lirc_unregister(struct rc_dev *dev)
        spin_unlock_irqrestore(&dev->lirc_fh_lock, flags);
 
        cdev_device_del(&dev->lirc_cdev, &dev->lirc_dev);
-       ida_simple_remove(&lirc_ida, MINOR(dev->lirc_dev.devt));
+       ida_free(&lirc_ida, MINOR(dev->lirc_dev.devt));
 }
 
 int __init lirc_dev_init(void)
index ee80f38970bc410bf0c8c4e15c49ec113f56d05b..e5cbe8c50ce1e5eacd62ec1c0f2d06e774d20882 100644 (file)
@@ -1861,7 +1861,7 @@ int rc_register_device(struct rc_dev *dev)
        if (!dev)
                return -EINVAL;
 
-       minor = ida_simple_get(&rc_ida, 0, RC_DEV_MAX, GFP_KERNEL);
+       minor = ida_alloc_max(&rc_ida, RC_DEV_MAX - 1, GFP_KERNEL);
        if (minor < 0)
                return minor;
 
@@ -1944,7 +1944,7 @@ out_rx_free:
 out_raw:
        ir_raw_event_free(dev);
 out_minor:
-       ida_simple_remove(&rc_ida, minor);
+       ida_free(&rc_ida, minor);
        return rc;
 }
 EXPORT_SYMBOL_GPL(rc_register_device);
@@ -2004,7 +2004,7 @@ void rc_unregister_device(struct rc_dev *dev)
 
        device_del(&dev->dev);
 
-       ida_simple_remove(&rc_ida, dev->minor);
+       ida_free(&rc_ida, dev->minor);
 
        if (!dev->managed_alloc)
                rc_free_device(dev);