OSDN Git Service

counter: Set counter device name
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Tue, 15 Mar 2022 19:38:53 +0000 (15:38 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Mar 2022 13:04:30 +0000 (14:04 +0100)
Naming the counter device provides a convenient way to identify it in
devres_log events and similar situations. This patch names the counter
device by combining the prefix "counter" with the counter device's
unique ID.

Link: https://lore.kernel.org/r/20220204084551.16397-1-vilhelm.gray@gmail.com
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Link: https://lore.kernel.org/r/87cc8eb4c84f49f89290577dc9231b2e4d7d3e8c.1647373009.git.vilhelm.gray@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/counter/counter-core.c

index 869894b..938651f 100644 (file)
@@ -22,6 +22,8 @@
 #include "counter-chrdev.h"
 #include "counter-sysfs.h"
 
+#define COUNTER_NAME   "counter"
+
 /* Provides a unique ID for each counter device */
 static DEFINE_IDA(counter_ida);
 
@@ -113,8 +115,15 @@ struct counter_device *counter_alloc(size_t sizeof_priv)
 
        device_initialize(dev);
 
+       err = dev_set_name(dev, COUNTER_NAME "%d", dev->id);
+       if (err)
+               goto err_dev_set_name;
+
        return counter;
 
+err_dev_set_name:
+
+       counter_chrdev_remove(counter);
 err_chrdev_add:
 
        ida_free(&counter_ida, dev->id);
@@ -247,7 +256,8 @@ static int __init counter_init(void)
        if (err < 0)
                return err;
 
-       err = alloc_chrdev_region(&counter_devt, 0, COUNTER_DEV_MAX, "counter");
+       err = alloc_chrdev_region(&counter_devt, 0, COUNTER_DEV_MAX,
+                                 COUNTER_NAME);
        if (err < 0)
                goto err_unregister_bus;