From: Guenter Roeck <linux@roeck-us.net>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, oliver+list@schinagl.nl,
khali@linux-fr.org
Subject: Re: [PATCH 7/6] driver core: add default groups to struct class
Date: Wed, 10 Jul 2013 15:18:12 -0700 [thread overview]
Message-ID: <20130710221812.GA22366@roeck-us.net> (raw)
In-Reply-To: <20130710220531.GA4210@kroah.com>
On Wed, Jul 10, 2013 at 03:05:31PM -0700, Greg Kroah-Hartman wrote:
>
> We should be using groups, not attribute lists, for classes to allow
> subdirectories, and soon, binary files. Groups are just more flexible
> overall, so add them.
>
> The dev_attrs list will go away after all in-kernel users are converted
> to use dev_groups.
>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Nice one ... that solves my problem.
Thanks!
Guenter
> ---
> Forgot this one in the series, it adds support to classes for groups, so
> that we can handle binary attributes properly for them as well.
>
> drivers/base/core.c | 8 +++++++-
> include/linux/device.h | 4 +++-
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -528,9 +528,12 @@ static int device_add_attrs(struct devic
> int error;
>
> if (class) {
> - error = device_add_attributes(dev, class->dev_attrs);
> + error = device_add_groups(dev, class->dev_groups);
> if (error)
> return error;
> + error = device_add_attributes(dev, class->dev_attrs);
> + if (error)
> + goto err_remove_class_groups;
> error = device_add_bin_attributes(dev, class->dev_bin_attrs);
> if (error)
> goto err_remove_class_attrs;
> @@ -563,6 +566,9 @@ static int device_add_attrs(struct devic
> err_remove_class_attrs:
> if (class)
> device_remove_attributes(dev, class->dev_attrs);
> + err_remove_class_groups:
> + if (class)
> + device_remove_groups(dev, class->dev_groups);
>
> return error;
> }
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -313,6 +313,7 @@ int subsys_virtual_register(struct bus_t
> * @name: Name of the class.
> * @owner: The module owner.
> * @class_attrs: Default attributes of this class.
> + * @dev_groups: Default attributes of the devices that belong to the class.
> * @dev_attrs: Default attributes of the devices belong to the class.
> * @dev_bin_attrs: Default binary attributes of the devices belong to the class.
> * @dev_kobj: The kobject that represents this class and links it into the hierarchy.
> @@ -342,7 +343,8 @@ struct class {
> struct module *owner;
>
> struct class_attribute *class_attrs;
> - struct device_attribute *dev_attrs;
> + struct device_attribute *dev_attrs; /* use dev_groups instead */
> + const struct attribute_group **dev_groups;
> struct bin_attribute *dev_bin_attrs;
> struct kobject *dev_kobj;
>
>
next prev parent reply other threads:[~2013-07-10 22:18 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-10 20:05 Driver core and sysfs changes for attribute groups Greg Kroah-Hartman
2013-07-10 20:05 ` [PATCH 1/6] sysfs.h: add __ATTR_RW() macro Greg Kroah-Hartman
2013-07-10 20:05 ` [PATCH 2/6] sysfs.h: add ATTRIBUTE_GROUPS() macro Greg Kroah-Hartman
2013-07-10 20:05 ` [PATCH 3/6] sysfs.h: add BIN_ATTR macro Greg Kroah-Hartman
2013-07-10 20:05 ` [PATCH 4/6] driver core: add DEVICE_ATTR_RW and DEVICE_ATTR_RO macros Greg Kroah-Hartman
2013-07-10 20:05 ` [PATCH 5/6] sysfs: add support for binary attributes in groups Greg Kroah-Hartman
2013-07-10 20:05 ` [PATCH 6/6] driver core: Introduce device_create_groups Greg Kroah-Hartman
2013-07-10 20:17 ` Driver core and sysfs changes for attribute groups Oliver Schinagl
2013-07-10 22:04 ` Guenter Roeck
2013-07-10 22:23 ` Greg Kroah-Hartman
2013-07-10 22:34 ` Guenter Roeck
2013-07-10 22:05 ` [PATCH 7/6] driver core: add default groups to struct class Greg Kroah-Hartman
2013-07-10 22:18 ` Guenter Roeck [this message]
2013-07-10 22:24 ` Greg Kroah-Hartman
2013-07-10 22:20 ` [PATCH 7/6 v2] " Greg KH
2013-07-11 0:35 ` [PATCH v2 0/7] Driver core and sysfs changes for attribute groups Greg Kroah-Hartman
2013-07-11 0:35 ` [PATCH v2 1/7] sysfs.h: add __ATTR_RW() macro Greg Kroah-Hartman
2013-07-11 0:36 ` [PATCH v2 2/7] sysfs.h: add ATTRIBUTE_GROUPS() macro Greg Kroah-Hartman
2013-07-11 11:58 ` Oliver Schinagl
2013-07-11 17:06 ` Greg Kroah-Hartman
2013-07-11 20:09 ` Oliver Schinagl
2013-07-11 20:26 ` Greg Kroah-Hartman
2013-07-11 20:55 ` Oliver Schinagl
2013-07-14 22:55 ` Oliver Schinagl
2013-07-14 23:06 ` Greg Kroah-Hartman
2013-07-11 12:03 ` Oliver Schinagl
2013-07-11 17:08 ` Greg Kroah-Hartman
2013-07-11 0:36 ` [PATCH v2 3/7] sysfs.h: add BIN_ATTR macro Greg Kroah-Hartman
2013-07-11 0:36 ` [PATCH v2 4/7] driver core: device.h: add RW and RO attribute macros Greg Kroah-Hartman
2013-07-11 0:36 ` [PATCH v2 5/7] sysfs: add support for binary attributes in groups Greg Kroah-Hartman
2013-07-11 11:45 ` Oliver Schinagl
2013-07-11 16:59 ` Greg Kroah-Hartman
2013-07-11 0:36 ` [PATCH v2 6/7] driver core: Introduce device_create_groups Greg Kroah-Hartman
2013-07-11 0:36 ` [PATCH v2 7/7] driver core: add default groups to struct class Greg Kroah-Hartman
2013-07-11 5:23 ` [PATCH v2 0/7] Driver core and sysfs changes for attribute groups Guenter Roeck
2013-07-11 6:28 ` Greg Kroah-Hartman
2013-07-11 11:14 ` Oliver Schinagl
2013-07-14 17:27 ` Guenter Roeck
2013-07-14 17:32 ` Greg Kroah-Hartman
2013-07-14 18:32 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130710221812.GA22366@roeck-us.net \
--to=linux@roeck-us.net \
--cc=gregkh@linuxfoundation.org \
--cc=khali@linux-fr.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oliver+list@schinagl.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox