Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1efa770f authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

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: default avatarDmitry Torokhov <dtor@mail.ru>
parent 82dd9eff
Loading
Loading
Loading
Loading
+2 −15
Original line number Diff line number Diff line
@@ -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();