aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/input.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor@insightbb.com>2007-02-18 01:40:37 -0500
committerDmitry Torokhov <dtor@insightbb.com>2007-02-18 01:40:37 -0500
commit1efa770f8ef0bfe12cd004f2e1f75eefcd8699d3 (patch)
tree7131705511de28a8774d4fc67d2d4ae1277fc5b6 /drivers/input/input.c
parent82dd9eff4bf3b17f5f511ae931a1f350c36ca9eb (diff)
Input: do not lock device when showing name, phys and uniq
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>
Diffstat (limited to 'drivers/input/input.c')
-rw-r--r--drivers/input/input.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c
index efa1b1f75393..a9a706f8fff9 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -588,18 +588,9 @@ static inline void input_proc_exit(void) { }
588static ssize_t input_dev_show_##name(struct class_device *dev, char *buf) \ 588static ssize_t input_dev_show_##name(struct class_device *dev, char *buf) \
589{ \ 589{ \
590 struct input_dev *input_dev = to_input_dev(dev); \ 590 struct input_dev *input_dev = to_input_dev(dev); \
591 int retval; \
592 \ 591 \
593 retval = mutex_lock_interruptible(&input_dev->mutex); \ 592 return scnprintf(buf, PAGE_SIZE, "%s\n", \
594 if (retval) \ 593 input_dev->name ? input_dev->name : ""); \
595 return retval; \
596 \
597 retval = scnprintf(buf, PAGE_SIZE, \
598 "%s\n", input_dev->name ? input_dev->name : ""); \
599 \
600 mutex_unlock(&input_dev->mutex); \
601 \
602 return retval; \
603} \ 594} \
604static CLASS_DEVICE_ATTR(name, S_IRUGO, input_dev_show_##name, NULL); 595static CLASS_DEVICE_ATTR(name, S_IRUGO, input_dev_show_##name, NULL);
605 596
@@ -1049,10 +1040,6 @@ void input_unregister_device(struct input_dev *dev)
1049 sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group); 1040 sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group);
1050 sysfs_remove_group(&dev->cdev.kobj, &input_dev_attr_group); 1041 sysfs_remove_group(&dev->cdev.kobj, &input_dev_attr_group);
1051 1042
1052 mutex_lock(&dev->mutex);
1053 dev->name = dev->phys = dev->uniq = NULL;
1054 mutex_unlock(&dev->mutex);
1055
1056 class_device_unregister(&dev->cdev); 1043 class_device_unregister(&dev->cdev);
1057 1044
1058 input_wakeup_procfs_readers(); 1045 input_wakeup_procfs_readers();