Input: do not lock device when showing name, phys and uniq
authorDmitry Torokhov <dtor@insightbb.com>
Sun, 18 Feb 2007 06:40:37 +0000 (01:40 -0500)
committerDmitry Torokhov <dtor@insightbb.com>
Sun, 18 Feb 2007 06:40:37 +0000 (01:40 -0500)
Now that sysfs attributes return -ENODEV once driver requests their
removal we do not need to handle scenario when data is deleted from
under our feet and can simplify the code.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/input.c

index efa1b1f75393f747ea8864377518b44b12bb1f82..a9a706f8fff90ef1f0faf0149e8d3b4c1b5dabad 100644 (file)
@@ -588,18 +588,9 @@ static inline void input_proc_exit(void) { }
 static ssize_t input_dev_show_##name(struct class_device *dev, char *buf)      \
 {                                                                              \
        struct input_dev *input_dev = to_input_dev(dev);                        \
-       int retval;                                                             \
                                                                                \
-       retval = mutex_lock_interruptible(&input_dev->mutex);                   \
-       if (retval)                                                             \
-               return retval;                                                  \
-                                                                               \
-       retval = scnprintf(buf, PAGE_SIZE,                                      \
-                          "%s\n", input_dev->name ? input_dev->name : "");     \
-                                                                               \
-       mutex_unlock(&input_dev->mutex);                                        \
-                                                                               \
-       return retval;                                                          \
+       return scnprintf(buf, PAGE_SIZE, "%s\n",                                \
+                        input_dev->name ? input_dev->name : "");               \
 }                                                                              \
 static CLASS_DEVICE_ATTR(name, S_IRUGO, input_dev_show_##name, NULL);
 
@@ -1049,10 +1040,6 @@ void input_unregister_device(struct input_dev *dev)
        sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group);
        sysfs_remove_group(&dev->cdev.kobj, &input_dev_attr_group);
 
-       mutex_lock(&dev->mutex);
-       dev->name = dev->phys = dev->uniq = NULL;
-       mutex_unlock(&dev->mutex);
-
        class_device_unregister(&dev->cdev);
 
        input_wakeup_procfs_readers();