All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Input: yealink - use driver core to instantiate device attributes
@ 2024-07-10 23:48 Dmitry Torokhov
  2024-07-10 23:48 ` [PATCH 2/2] Input: yealink - simplify locking in sysfs attribute handling Dmitry Torokhov
  2024-07-11  7:42 ` [PATCH 1/2] Input: yealink - use driver core to instantiate device attributes Greg KH
  0 siblings, 2 replies; 4+ messages in thread
From: Dmitry Torokhov @ 2024-07-10 23:48 UTC (permalink / raw)
  To: linux-input; +Cc: usbb2k-api-dev, linux-kernel, Henk Vergonet, Greg KH

Instead of manually creating driver-specific device attributes
set struct usb_driver->dev_groups pointer to have the driver core
do it.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/input/misc/yealink.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/input/misc/yealink.c b/drivers/input/misc/yealink.c
index c3221b960a75..435a46baad9d 100644
--- a/drivers/input/misc/yealink.c
+++ b/drivers/input/misc/yealink.c
@@ -771,7 +771,7 @@ static DEVICE_ATTR(show_icon	, _M220, NULL		, show_icon	);
 static DEVICE_ATTR(hide_icon	, _M220, NULL		, hide_icon	);
 static DEVICE_ATTR(ringtone	, _M220, NULL		, store_ringtone);
 
-static struct attribute *yld_attributes[] = {
+static struct attribute *yld_attrs[] = {
 	&dev_attr_line1.attr,
 	&dev_attr_line2.attr,
 	&dev_attr_line3.attr,
@@ -782,10 +782,7 @@ static struct attribute *yld_attributes[] = {
 	&dev_attr_ringtone.attr,
 	NULL
 };
-
-static const struct attribute_group yld_attr_group = {
-	.attrs = yld_attributes
-};
+ATTRIBUTE_GROUPS(yld);
 
 /*******************************************************************************
  * Linux interface and usb initialisation
@@ -842,7 +839,6 @@ static void usb_disconnect(struct usb_interface *intf)
 
 	down_write(&sysfs_rwsema);
 	yld = usb_get_intfdata(intf);
-	sysfs_remove_group(&intf->dev.kobj, &yld_attr_group);
 	usb_set_intfdata(intf, NULL);
 	up_write(&sysfs_rwsema);
 
@@ -975,8 +971,6 @@ static int usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
 	store_line3(&intf->dev, NULL,
 			DRIVER_VERSION, sizeof(DRIVER_VERSION));
 
-	/* Register sysfs hooks (don't care about failure) */
-	ret = sysfs_create_group(&intf->dev.kobj, &yld_attr_group);
 	return 0;
 }
 
@@ -985,6 +979,7 @@ static struct usb_driver yealink_driver = {
 	.probe		= usb_probe,
 	.disconnect	= usb_disconnect,
 	.id_table	= usb_table,
+	.dev_groups	= yld_groups,
 };
 
 module_usb_driver(yealink_driver);
-- 
2.45.2.803.g4e1b14247a-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-07-11  7:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-10 23:48 [PATCH 1/2] Input: yealink - use driver core to instantiate device attributes Dmitry Torokhov
2024-07-10 23:48 ` [PATCH 2/2] Input: yealink - simplify locking in sysfs attribute handling Dmitry Torokhov
2024-07-11  7:42   ` Greg KH
2024-07-11  7:42 ` [PATCH 1/2] Input: yealink - use driver core to instantiate device attributes Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.