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: Driver core and sysfs changes for attribute groups
Date: Wed, 10 Jul 2013 15:34:38 -0700 [thread overview]
Message-ID: <20130710223438.GA22519@roeck-us.net> (raw)
In-Reply-To: <20130710222337.GB3644@kroah.com>
On Wed, Jul 10, 2013 at 03:23:37PM -0700, Greg Kroah-Hartman wrote:
> On Wed, Jul 10, 2013 at 03:04:41PM -0700, Guenter Roeck wrote:
> > On Wed, Jul 10, 2013 at 01:05:08PM -0700, Greg Kroah-Hartman wrote:
> > > Hi all,
> > >
> > > Guenter and Oliver have been pointing out a few limitations of the
> > > driver core's ability to create files properly (i.e. in a way that
> > > doesn't race with userspace.) The driver core allows this, but it
> > > doesn't export that ability to drivers very easily, and for binary
> > > files, not at all.
> > >
> > > So here's a set of 6 patches that I'll be queueing up to go to Linus in
> > > time for 3.11 so that people can start using them in their driver
> > > subsystems. It adds some new macros to make using attributes and
> > > attribute groups easier, adds binary file capabilities to attribute
> > > groups, and finally, lets subsystems (like platform drivers) set a
> > > attribute group for when their device is created.
> > >
> > > If anyone has any problems with these patches, please let me know.
> > >
> > > Guenter, I've tweaked your original patch a bit, changing the name of
> > > the function and putting the kernel doc comments in the correct place so
> > > the build doesn't complain about it.
> > >
> > I like it - thanks a lot for picking that up. I think there are several
> > drivers who could and should use the new API call (gpio, infiniband/umad,
> > c2port, ptp, scsi/osst, android/timed_output, asus_oled are some examples).
>
> Yes, I'll be sweeping the tree for the next few released doing all of
> this. The amount of sysfs "cruft" that has accumulated in the past few
> years since I last looked is crazy...
>
> > For hwmon, I ended up having to handle device creation internally after all.
> > Reason is that I also had to set device->type to a new hwmon device type.
> > That in turn was necessary to be able to support the hwmon 'name' attribute
> > properly (it has to be optional, meaning I could not use class->dev_attrs but
> > had to use device_type->groups instead). I hope I can send out a revised
> > series of patches soon .. only I'll leave for pto next week and I am bugged
> > down with other work right now, so it may have to wait until after I return.
> >
> > Wonder if it would make sense to support a core driver API call for that
> > purpose as well - ie one that not only has the additional groups argument,
> > but one that (also ?) accepts a pointer to the the device type. I didn't spend
> > any time tracking down potential users, though, so I may be off track here.
>
> I don't understand the problem, for USB we have different "types" of
> devices on the bus just fine. Or are you saying that the function you
> created isn't going to be used in the hwmon core in the end?
>
> I doubt device_create() really needs to worry about different types, but
> I could be wrong :)
>
All I needed was the dev_groups field you just added to the class structure.
I am currently merging your patches into my code, so you'll get some free test
coverage ...
Thanks,
Guenter
next prev parent reply other threads:[~2013-07-10 22:34 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-10 20:05 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 [this message]
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
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=20130710223438.GA22519@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
Powered by JetHome