public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 2/6] sysfs.h: add ATTRIBUTE_GROUPS() macro
@ 2013-07-10 22:48 Guenter Roeck
  2013-07-10 22:57 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Guenter Roeck @ 2013-07-10 22:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, oliver+list, khali

On Wed, Jul 10, 2013 at 01:05:10PM -0700, Greg Kroah-Hartman wrote:
> To make it easier for driver subsystems to work with attribute groups,
> create the ATTRIBUTE_GROUPS macro to remove some of the repetitive
> typing for the most common use for attribute groups.
> 
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  include/linux/sysfs.h | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
> index 9cd20c8..f62ff01 100644
> --- a/include/linux/sysfs.h
> +++ b/include/linux/sysfs.h
> @@ -94,6 +94,15 @@ struct attribute_group {
>  #define __ATTR_IGNORE_LOCKDEP	__ATTR
>  #endif
>  
> +#define ATTRIBUTE_GROUPS(name)					\

Would it be possible to add is_visible as additional argument ?

Thanks,
Guenter

> +static const struct attribute_group name##_group = {		\
> +	.attrs = name##_attrs,					\
> +};								\
> +static const struct attribute_group *name##_groups[] = {	\
> +	&name##_group,						\
> +	NULL,							\
> +}
> +
>  #define attr_name(_attr) (_attr).attr.name
>  
>  struct file;
> -- 
> 1.8.3.rc0.20.gb99dd2e
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread
* Driver core and sysfs changes for attribute groups
@ 2013-07-10 20:05 Greg Kroah-Hartman
  2013-07-10 20:05 ` [PATCH 2/6] sysfs.h: add ATTRIBUTE_GROUPS() macro Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-10 20:05 UTC (permalink / raw)
  To: linux-kernel; +Cc: oliver+list, linux, khali

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 also have a set of follow-on patches, about 50+ big so far, that goes
through the kernel and converts different drivers and subsystems to
properly use attribute groups, instead of open-coding binary files and
attributes.  Those patches will be sent out later, and will be for 3.12
as they aren't needed at the moment, this infrastructure changes are
needed first.

thanks,

greg k-h


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

end of thread, other threads:[~2013-07-10 23:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-10 22:48 [PATCH 2/6] sysfs.h: add ATTRIBUTE_GROUPS() macro Guenter Roeck
2013-07-10 22:57 ` Greg Kroah-Hartman
2013-07-10 23:09   ` Guenter Roeck
  -- strict thread matches above, loose matches on Subject: below --
2013-07-10 20:05 Driver core and sysfs changes for attribute groups Greg Kroah-Hartman
2013-07-10 20:05 ` [PATCH 2/6] sysfs.h: add ATTRIBUTE_GROUPS() macro Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox