Commit fd30a4ba authored by Dmitry Torokhov's avatar Dmitry Torokhov

Input: psmouse - switch to using dev_groups for driver-specific attributes

The driver core now has the ability to handle the creation and removal
of device-specific sysfs files, let's use it instead of registering and
unregistering attributes by hand.
Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20220903051119.1332808-2-dmitry.torokhov@gmail.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent c99e3ac6
...@@ -94,7 +94,7 @@ PSMOUSE_DEFINE_ATTR(resync_time, S_IWUSR | S_IRUGO, ...@@ -94,7 +94,7 @@ PSMOUSE_DEFINE_ATTR(resync_time, S_IWUSR | S_IRUGO,
(void *) offsetof(struct psmouse, resync_time), (void *) offsetof(struct psmouse, resync_time),
psmouse_show_int_attr, psmouse_set_int_attr); psmouse_show_int_attr, psmouse_set_int_attr);
static struct attribute *psmouse_attributes[] = { static struct attribute *psmouse_dev_attrs[] = {
&psmouse_attr_protocol.dattr.attr, &psmouse_attr_protocol.dattr.attr,
&psmouse_attr_rate.dattr.attr, &psmouse_attr_rate.dattr.attr,
&psmouse_attr_resolution.dattr.attr, &psmouse_attr_resolution.dattr.attr,
...@@ -103,9 +103,7 @@ static struct attribute *psmouse_attributes[] = { ...@@ -103,9 +103,7 @@ static struct attribute *psmouse_attributes[] = {
NULL NULL
}; };
static const struct attribute_group psmouse_attribute_group = { ATTRIBUTE_GROUPS(psmouse_dev);
.attrs = psmouse_attributes,
};
/* /*
* psmouse_mutex protects all operations changing state of mouse * psmouse_mutex protects all operations changing state of mouse
...@@ -1481,8 +1479,6 @@ static void psmouse_disconnect(struct serio *serio) ...@@ -1481,8 +1479,6 @@ static void psmouse_disconnect(struct serio *serio)
struct psmouse *psmouse = serio_get_drvdata(serio); struct psmouse *psmouse = serio_get_drvdata(serio);
struct psmouse *parent = NULL; struct psmouse *parent = NULL;
sysfs_remove_group(&serio->dev.kobj, &psmouse_attribute_group);
mutex_lock(&psmouse_mutex); mutex_lock(&psmouse_mutex);
psmouse_set_state(psmouse, PSMOUSE_CMD_MODE); psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);
...@@ -1647,10 +1643,6 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv) ...@@ -1647,10 +1643,6 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv)
if (parent && parent->pt_activate) if (parent && parent->pt_activate)
parent->pt_activate(parent); parent->pt_activate(parent);
error = sysfs_create_group(&serio->dev.kobj, &psmouse_attribute_group);
if (error)
goto err_pt_deactivate;
/* /*
* PS/2 devices having SMBus companions should stay disabled * PS/2 devices having SMBus companions should stay disabled
* on PS/2 side, in order to have SMBus part operable. * on PS/2 side, in order to have SMBus part operable.
...@@ -1666,13 +1658,6 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv) ...@@ -1666,13 +1658,6 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv)
mutex_unlock(&psmouse_mutex); mutex_unlock(&psmouse_mutex);
return retval; return retval;
err_pt_deactivate:
if (parent && parent->pt_deactivate)
parent->pt_deactivate(parent);
if (input_dev) {
input_unregister_device(input_dev);
input_dev = NULL; /* so we don't try to free it below */
}
err_protocol_disconnect: err_protocol_disconnect:
if (psmouse->disconnect) if (psmouse->disconnect)
psmouse->disconnect(psmouse); psmouse->disconnect(psmouse);
...@@ -1792,6 +1777,7 @@ MODULE_DEVICE_TABLE(serio, psmouse_serio_ids); ...@@ -1792,6 +1777,7 @@ MODULE_DEVICE_TABLE(serio, psmouse_serio_ids);
static struct serio_driver psmouse_drv = { static struct serio_driver psmouse_drv = {
.driver = { .driver = {
.name = "psmouse", .name = "psmouse",
.dev_groups = psmouse_dev_groups,
}, },
.description = DRIVER_DESC, .description = DRIVER_DESC,
.id_table = psmouse_serio_ids, .id_table = psmouse_serio_ids,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment