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>
This commit is contained in:
parent
82dd9eff4b
commit
1efa770f8e
@ -588,18 +588,9 @@ static inline void input_proc_exit(void) { }
|
|||||||
static ssize_t input_dev_show_##name(struct class_device *dev, char *buf) \
|
static ssize_t input_dev_show_##name(struct class_device *dev, char *buf) \
|
||||||
{ \
|
{ \
|
||||||
struct input_dev *input_dev = to_input_dev(dev); \
|
struct input_dev *input_dev = to_input_dev(dev); \
|
||||||
int retval; \
|
|
||||||
\
|
\
|
||||||
retval = mutex_lock_interruptible(&input_dev->mutex); \
|
return scnprintf(buf, PAGE_SIZE, "%s\n", \
|
||||||
if (retval) \
|
input_dev->name ? input_dev->name : ""); \
|
||||||
return retval; \
|
|
||||||
\
|
|
||||||
retval = scnprintf(buf, PAGE_SIZE, \
|
|
||||||
"%s\n", input_dev->name ? input_dev->name : ""); \
|
|
||||||
\
|
|
||||||
mutex_unlock(&input_dev->mutex); \
|
|
||||||
\
|
|
||||||
return retval; \
|
|
||||||
} \
|
} \
|
||||||
static CLASS_DEVICE_ATTR(name, S_IRUGO, input_dev_show_##name, NULL);
|
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_id_attr_group);
|
||||||
sysfs_remove_group(&dev->cdev.kobj, &input_dev_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);
|
class_device_unregister(&dev->cdev);
|
||||||
|
|
||||||
input_wakeup_procfs_readers();
|
input_wakeup_procfs_readers();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user