linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
@ 2010-11-12 18:18 Stefan Achatz
  2010-11-12 18:57 ` Dmitry Torokhov
  2010-11-12 19:29 ` Greg KH
  0 siblings, 2 replies; 8+ messages in thread
From: Stefan Achatz @ 2010-11-12 18:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Eric W. Biederman, Serge E. Hallyn,
	Tejun Heo, Jiri Kosina, linux-input, linux-kernel,
	Dmitry Torokhov, Benjamin Thery

Implemented group functions for easier creation of multiple binary sysfs
attributes similar to existing attribute_group handling functions.
The code reuses struct attribute_group instead of inventing a new struct
binary_attribute_group.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
---
 fs/sysfs/group.c      |   76 ++++++++++++++++++++++++++++++++++++------------
 include/linux/sysfs.h |   11 +++++++
 2 files changed, 68 insertions(+), 19 deletions(-)

diff --git a/fs/sysfs/group.c b/fs/sysfs/group.c
index 442f34f..841baed 100644
--- a/fs/sysfs/group.c
+++ b/fs/sysfs/group.c
@@ -27,7 +27,7 @@ static void remove_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
 }
 
 static int create_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
-			const struct attribute_group *grp, int update)
+			const struct attribute_group *grp, int update, int type)
 {
 	struct attribute *const* attr;
 	int error = 0, i;
@@ -45,7 +45,7 @@ static int create_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
 			if (!mode)
 				continue;
 		}
-		error = sysfs_add_file_mode(dir_sd, *attr, SYSFS_KOBJ_ATTR,
+		error = sysfs_add_file_mode(dir_sd, *attr, type,
 					    (*attr)->mode | mode);
 		if (unlikely(error))
 			break;
@@ -57,7 +57,7 @@ static int create_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
 
 
 static int internal_create_group(struct kobject *kobj, int update,
-				 const struct attribute_group *grp)
+				 const struct attribute_group *grp, int type)
 {
 	struct sysfs_dirent *sd;
 	int error;
@@ -75,7 +75,7 @@ static int internal_create_group(struct kobject *kobj, int update,
 	} else
 		sd = kobj->sd;
 	sysfs_get(sd);
-	error = create_files(sd, kobj, grp, update);
+	error = create_files(sd, kobj, grp, update, type);
 	if (error) {
 		if (grp->name)
 			sysfs_remove_subdir(sd);
@@ -97,9 +97,16 @@ static int internal_create_group(struct kobject *kobj, int update,
 int sysfs_create_group(struct kobject *kobj,
 		       const struct attribute_group *grp)
 {
-	return internal_create_group(kobj, 0, grp);
+	return internal_create_group(kobj, 0, grp, SYSFS_KOBJ_ATTR);
 }
 
+int sysfs_create_bin_group(struct kobject *kobj,
+			   const struct attribute_group *grp)
+{
+	return internal_create_group(kobj, 0, grp, SYSFS_KOBJ_BIN_ATTR);
+}
+EXPORT_SYMBOL_GPL(sysfs_create_bin_group);
+
 /**
  * sysfs_update_group - given a directory kobject, create an attribute group
  * @kobj:	The kobject to create the group on
@@ -120,10 +127,15 @@ int sysfs_create_group(struct kobject *kobj,
 int sysfs_update_group(struct kobject *kobj,
 		       const struct attribute_group *grp)
 {
-	return internal_create_group(kobj, 1, grp);
+	return internal_create_group(kobj, 1, grp, SYSFS_KOBJ_ATTR);
 }
 
-
+int sysfs_update_bin_group(struct kobject *kobj,
+			   const struct attribute_group *grp)
+{
+	return internal_create_group(kobj, 1, grp, SYSFS_KOBJ_BIN_ATTR);
+}
+EXPORT_SYMBOL_GPL(sysfs_update_bin_group);
 
 void sysfs_remove_group(struct kobject * kobj, 
 			const struct attribute_group * grp)
@@ -148,17 +160,15 @@ void sysfs_remove_group(struct kobject * kobj,
 	sysfs_put(sd);
 }
 
-/**
- * sysfs_merge_group - merge files into a pre-existing attribute group.
- * @kobj:	The kobject containing the group.
- * @grp:	The files to create and the attribute group they belong to.
- *
- * This function returns an error if the group doesn't exist or any of the
- * files already exist in that group, in which case none of the new files
- * are created.
- */
-int sysfs_merge_group(struct kobject *kobj,
-		       const struct attribute_group *grp)
+void sysfs_remove_bin_group(struct kobject * kobj,
+			    const struct attribute_group * grp)
+{
+	sysfs_remove_group(kobj, grp);
+}
+EXPORT_SYMBOL_GPL(sysfs_remove_bin_group);
+
+int internal_merge_group(struct kobject *kobj,
+		       const struct attribute_group *grp, int type)
 {
 	struct sysfs_dirent *dir_sd;
 	int error = 0;
@@ -173,7 +183,7 @@ int sysfs_merge_group(struct kobject *kobj,
 		return -ENOENT;
 
 	for ((i = 0, attr = grp->attrs); *attr && !error; (++i, ++attr))
-		error = sysfs_add_file(dir_sd, *attr, SYSFS_KOBJ_ATTR);
+		error = sysfs_add_file(dir_sd, *attr, type);
 	if (error) {
 		while (--i >= 0)
 			sysfs_hash_and_remove(dir_sd, NULL, (*--attr)->name);
@@ -182,8 +192,30 @@ int sysfs_merge_group(struct kobject *kobj,
 
 	return error;
 }
+
+/**
+ * sysfs_merge_group - merge files into a pre-existing attribute group.
+ * @kobj:	The kobject containing the group.
+ * @grp:	The files to create and the attribute group they belong to.
+ *
+ * This function returns an error if the group doesn't exist or any of the
+ * files already exist in that group, in which case none of the new files
+ * are created.
+ */
+int sysfs_merge_group(struct kobject *kobj,
+		       const struct attribute_group *grp)
+{
+	return internal_merge_group(kobj, grp, SYSFS_KOBJ_ATTR);
+}
 EXPORT_SYMBOL_GPL(sysfs_merge_group);
 
+int sysfs_merge_bin_group(struct kobject *kobj,
+			  const struct attribute_group *grp)
+{
+	return internal_merge_group(kobj, grp, SYSFS_KOBJ_BIN_ATTR);
+}
+EXPORT_SYMBOL_GPL(sysfs_merge_bin_group);
+
 /**
  * sysfs_unmerge_group - remove files from a pre-existing attribute group.
  * @kobj:	The kobject containing the group.
@@ -207,6 +239,12 @@ void sysfs_unmerge_group(struct kobject *kobj,
 }
 EXPORT_SYMBOL_GPL(sysfs_unmerge_group);
 
+void sysfs_unmerge_bin_group(struct kobject *kobj,
+			     const struct attribute_group *grp)
+{
+	sysfs_unmerge_group(kobj, grp);
+}
+EXPORT_SYMBOL_GPL(sysfs_unmerge_bin_group);
 
 EXPORT_SYMBOL_GPL(sysfs_create_group);
 EXPORT_SYMBOL_GPL(sysfs_update_group);
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index 30b8815..653b0b0 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -169,6 +169,17 @@ int sysfs_merge_group(struct kobject *kobj,
 void sysfs_unmerge_group(struct kobject *kobj,
 		       const struct attribute_group *grp);
 
+int sysfs_create_bin_group(struct kobject *kobj,
+			   const struct attribute_group *grp);
+int sysfs_update_bin_group(struct kobject *kobj,
+			   const struct attribute_group *grp);
+void sysfs_remove_bin_group(struct kobject * kobj,
+			const struct attribute_group * grp);
+int sysfs_merge_bin_group(struct kobject *kobj,
+		       const struct attribute_group *grp);
+void sysfs_unmerge_bin_group(struct kobject *kobj,
+		       const struct attribute_group *grp);
+
 void sysfs_notify(struct kobject *kobj, const char *dir, const char *attr);
 void sysfs_notify_dirent(struct sysfs_dirent *sd);
 struct sysfs_dirent *sysfs_get_dirent(struct sysfs_dirent *parent_sd,
-- 
1.7.2.3




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

* Re: [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
  2010-11-12 18:18 [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group() Stefan Achatz
@ 2010-11-12 18:57 ` Dmitry Torokhov
  2010-11-12 19:29 ` Greg KH
  1 sibling, 0 replies; 8+ messages in thread
From: Dmitry Torokhov @ 2010-11-12 18:57 UTC (permalink / raw)
  To: Stefan Achatz
  Cc: Greg Kroah-Hartman, Eric W. Biederman, Serge E. Hallyn,
	Tejun Heo, Jiri Kosina, linux-input, linux-kernel,
	Benjamin Thery

On Fri, Nov 12, 2010 at 07:18:38PM +0100, Stefan Achatz wrote:
> Implemented group functions for easier creation of multiple binary sysfs
> attributes similar to existing attribute_group handling functions.
> The code reuses struct attribute_group instead of inventing a new struct
> binary_attribute_group.
> 
> Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>

Looks good to me, thanks for implementing this.

> ---
>  fs/sysfs/group.c      |   76 ++++++++++++++++++++++++++++++++++++------------
>  include/linux/sysfs.h |   11 +++++++
>  2 files changed, 68 insertions(+), 19 deletions(-)
> 
> diff --git a/fs/sysfs/group.c b/fs/sysfs/group.c
> index 442f34f..841baed 100644
> --- a/fs/sysfs/group.c
> +++ b/fs/sysfs/group.c
> @@ -27,7 +27,7 @@ static void remove_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
>  }
>  
>  static int create_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
> -			const struct attribute_group *grp, int update)
> +			const struct attribute_group *grp, int update, int type)
>  {
>  	struct attribute *const* attr;
>  	int error = 0, i;
> @@ -45,7 +45,7 @@ static int create_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
>  			if (!mode)
>  				continue;
>  		}
> -		error = sysfs_add_file_mode(dir_sd, *attr, SYSFS_KOBJ_ATTR,
> +		error = sysfs_add_file_mode(dir_sd, *attr, type,
>  					    (*attr)->mode | mode);
>  		if (unlikely(error))
>  			break;
> @@ -57,7 +57,7 @@ static int create_files(struct sysfs_dirent *dir_sd, struct kobject *kobj,
>  
>  
>  static int internal_create_group(struct kobject *kobj, int update,
> -				 const struct attribute_group *grp)
> +				 const struct attribute_group *grp, int type)
>  {
>  	struct sysfs_dirent *sd;
>  	int error;
> @@ -75,7 +75,7 @@ static int internal_create_group(struct kobject *kobj, int update,
>  	} else
>  		sd = kobj->sd;
>  	sysfs_get(sd);
> -	error = create_files(sd, kobj, grp, update);
> +	error = create_files(sd, kobj, grp, update, type);
>  	if (error) {
>  		if (grp->name)
>  			sysfs_remove_subdir(sd);
> @@ -97,9 +97,16 @@ static int internal_create_group(struct kobject *kobj, int update,
>  int sysfs_create_group(struct kobject *kobj,
>  		       const struct attribute_group *grp)
>  {
> -	return internal_create_group(kobj, 0, grp);
> +	return internal_create_group(kobj, 0, grp, SYSFS_KOBJ_ATTR);
>  }
>  
> +int sysfs_create_bin_group(struct kobject *kobj,
> +			   const struct attribute_group *grp)
> +{
> +	return internal_create_group(kobj, 0, grp, SYSFS_KOBJ_BIN_ATTR);
> +}
> +EXPORT_SYMBOL_GPL(sysfs_create_bin_group);
> +
>  /**
>   * sysfs_update_group - given a directory kobject, create an attribute group
>   * @kobj:	The kobject to create the group on
> @@ -120,10 +127,15 @@ int sysfs_create_group(struct kobject *kobj,
>  int sysfs_update_group(struct kobject *kobj,
>  		       const struct attribute_group *grp)
>  {
> -	return internal_create_group(kobj, 1, grp);
> +	return internal_create_group(kobj, 1, grp, SYSFS_KOBJ_ATTR);
>  }
>  
> -
> +int sysfs_update_bin_group(struct kobject *kobj,
> +			   const struct attribute_group *grp)
> +{
> +	return internal_create_group(kobj, 1, grp, SYSFS_KOBJ_BIN_ATTR);
> +}
> +EXPORT_SYMBOL_GPL(sysfs_update_bin_group);
>  
>  void sysfs_remove_group(struct kobject * kobj, 
>  			const struct attribute_group * grp)
> @@ -148,17 +160,15 @@ void sysfs_remove_group(struct kobject * kobj,
>  	sysfs_put(sd);
>  }
>  
> -/**
> - * sysfs_merge_group - merge files into a pre-existing attribute group.
> - * @kobj:	The kobject containing the group.
> - * @grp:	The files to create and the attribute group they belong to.
> - *
> - * This function returns an error if the group doesn't exist or any of the
> - * files already exist in that group, in which case none of the new files
> - * are created.
> - */
> -int sysfs_merge_group(struct kobject *kobj,
> -		       const struct attribute_group *grp)
> +void sysfs_remove_bin_group(struct kobject * kobj,
> +			    const struct attribute_group * grp)
> +{
> +	sysfs_remove_group(kobj, grp);
> +}
> +EXPORT_SYMBOL_GPL(sysfs_remove_bin_group);
> +
> +int internal_merge_group(struct kobject *kobj,
> +		       const struct attribute_group *grp, int type)
>  {
>  	struct sysfs_dirent *dir_sd;
>  	int error = 0;
> @@ -173,7 +183,7 @@ int sysfs_merge_group(struct kobject *kobj,
>  		return -ENOENT;
>  
>  	for ((i = 0, attr = grp->attrs); *attr && !error; (++i, ++attr))
> -		error = sysfs_add_file(dir_sd, *attr, SYSFS_KOBJ_ATTR);
> +		error = sysfs_add_file(dir_sd, *attr, type);
>  	if (error) {
>  		while (--i >= 0)
>  			sysfs_hash_and_remove(dir_sd, NULL, (*--attr)->name);
> @@ -182,8 +192,30 @@ int sysfs_merge_group(struct kobject *kobj,
>  
>  	return error;
>  }
> +
> +/**
> + * sysfs_merge_group - merge files into a pre-existing attribute group.
> + * @kobj:	The kobject containing the group.
> + * @grp:	The files to create and the attribute group they belong to.
> + *
> + * This function returns an error if the group doesn't exist or any of the
> + * files already exist in that group, in which case none of the new files
> + * are created.
> + */
> +int sysfs_merge_group(struct kobject *kobj,
> +		       const struct attribute_group *grp)
> +{
> +	return internal_merge_group(kobj, grp, SYSFS_KOBJ_ATTR);
> +}
>  EXPORT_SYMBOL_GPL(sysfs_merge_group);
>  
> +int sysfs_merge_bin_group(struct kobject *kobj,
> +			  const struct attribute_group *grp)
> +{
> +	return internal_merge_group(kobj, grp, SYSFS_KOBJ_BIN_ATTR);
> +}
> +EXPORT_SYMBOL_GPL(sysfs_merge_bin_group);
> +
>  /**
>   * sysfs_unmerge_group - remove files from a pre-existing attribute group.
>   * @kobj:	The kobject containing the group.
> @@ -207,6 +239,12 @@ void sysfs_unmerge_group(struct kobject *kobj,
>  }
>  EXPORT_SYMBOL_GPL(sysfs_unmerge_group);
>  
> +void sysfs_unmerge_bin_group(struct kobject *kobj,
> +			     const struct attribute_group *grp)
> +{
> +	sysfs_unmerge_group(kobj, grp);
> +}
> +EXPORT_SYMBOL_GPL(sysfs_unmerge_bin_group);
>  
>  EXPORT_SYMBOL_GPL(sysfs_create_group);
>  EXPORT_SYMBOL_GPL(sysfs_update_group);
> diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
> index 30b8815..653b0b0 100644
> --- a/include/linux/sysfs.h
> +++ b/include/linux/sysfs.h
> @@ -169,6 +169,17 @@ int sysfs_merge_group(struct kobject *kobj,
>  void sysfs_unmerge_group(struct kobject *kobj,
>  		       const struct attribute_group *grp);
>  
> +int sysfs_create_bin_group(struct kobject *kobj,
> +			   const struct attribute_group *grp);
> +int sysfs_update_bin_group(struct kobject *kobj,
> +			   const struct attribute_group *grp);
> +void sysfs_remove_bin_group(struct kobject * kobj,
> +			const struct attribute_group * grp);
> +int sysfs_merge_bin_group(struct kobject *kobj,
> +		       const struct attribute_group *grp);
> +void sysfs_unmerge_bin_group(struct kobject *kobj,
> +		       const struct attribute_group *grp);
> +
>  void sysfs_notify(struct kobject *kobj, const char *dir, const char *attr);
>  void sysfs_notify_dirent(struct sysfs_dirent *sd);
>  struct sysfs_dirent *sysfs_get_dirent(struct sysfs_dirent *parent_sd,
> -- 
> 1.7.2.3
> 
> 
> 

-- 
Dmitry

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

* Re: [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
  2010-11-12 18:18 [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group() Stefan Achatz
  2010-11-12 18:57 ` Dmitry Torokhov
@ 2010-11-12 19:29 ` Greg KH
  2010-11-12 19:38   ` Dmitry Torokhov
  1 sibling, 1 reply; 8+ messages in thread
From: Greg KH @ 2010-11-12 19:29 UTC (permalink / raw)
  To: Stefan Achatz
  Cc: Eric W. Biederman, Serge E. Hallyn, Tejun Heo, Jiri Kosina,
	linux-input, linux-kernel, Dmitry Torokhov, Benjamin Thery

On Fri, Nov 12, 2010 at 07:18:38PM +0100, Stefan Achatz wrote:
> Implemented group functions for easier creation of multiple binary sysfs
> attributes similar to existing attribute_group handling functions.
> The code reuses struct attribute_group instead of inventing a new struct
> binary_attribute_group.
> 
> Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>

Looks good to me, nice job.

Dmitry, do you want to take this through your tree as the mouse driver
change needs it?  If so, feel free to do so and add a:
	Acked-by: Greg Kroah-Hartman <gregkh@suse.de>

to the patch.

If not, I'll be glad to take it, and the mouse driver change through my
tree if needed.

Just let me know which is easier for you.

thanks,

greg k-h

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

* Re: [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
  2010-11-12 19:29 ` Greg KH
@ 2010-11-12 19:38   ` Dmitry Torokhov
  2010-11-12 19:50     ` Greg KH
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Torokhov @ 2010-11-12 19:38 UTC (permalink / raw)
  To: Greg KH
  Cc: Stefan Achatz, Eric W. Biederman, Serge E. Hallyn, Tejun Heo,
	Jiri Kosina, linux-input, linux-kernel, Benjamin Thery

On Fri, Nov 12, 2010 at 11:29:58AM -0800, Greg KH wrote:
> On Fri, Nov 12, 2010 at 07:18:38PM +0100, Stefan Achatz wrote:
> > Implemented group functions for easier creation of multiple binary sysfs
> > attributes similar to existing attribute_group handling functions.
> > The code reuses struct attribute_group instead of inventing a new struct
> > binary_attribute_group.
> > 
> > Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
> 
> Looks good to me, nice job.
> 
> Dmitry, do you want to take this through your tree as the mouse driver
> change needs it?  If so, feel free to do so and add a:
> 	Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> 
> to the patch.
> 
> If not, I'll be glad to take it, and the mouse driver change through my
> tree if needed.
> 
> Just let me know which is easier for you.
> 

Actually the driver lives in hid so it's up to Jiri how he wants to
handle this.

Thanks.

-- 
Dmitry

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

* Re: [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
  2010-11-12 19:38   ` Dmitry Torokhov
@ 2010-11-12 19:50     ` Greg KH
  2010-11-12 20:02       ` Dmitry Torokhov
  0 siblings, 1 reply; 8+ messages in thread
From: Greg KH @ 2010-11-12 19:50 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Stefan Achatz, Eric W. Biederman, Serge E. Hallyn, Tejun Heo,
	Jiri Kosina, linux-input, linux-kernel, Benjamin Thery

On Fri, Nov 12, 2010 at 11:38:17AM -0800, Dmitry Torokhov wrote:
> On Fri, Nov 12, 2010 at 11:29:58AM -0800, Greg KH wrote:
> > On Fri, Nov 12, 2010 at 07:18:38PM +0100, Stefan Achatz wrote:
> > > Implemented group functions for easier creation of multiple binary sysfs
> > > attributes similar to existing attribute_group handling functions.
> > > The code reuses struct attribute_group instead of inventing a new struct
> > > binary_attribute_group.
> > > 
> > > Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
> > 
> > Looks good to me, nice job.
> > 
> > Dmitry, do you want to take this through your tree as the mouse driver
> > change needs it?  If so, feel free to do so and add a:
> > 	Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> > 
> > to the patch.
> > 
> > If not, I'll be glad to take it, and the mouse driver change through my
> > tree if needed.
> > 
> > Just let me know which is easier for you.
> > 
> 
> Actually the driver lives in hid so it's up to Jiri how he wants to
> handle this.

Ah.  He's on vacation for a few weeks so I guess I'll take this for now.

thanks,

greg k-h

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

* Re: [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
  2010-11-12 19:50     ` Greg KH
@ 2010-11-12 20:02       ` Dmitry Torokhov
  2010-11-15 13:49         ` Jiri Kosina
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Torokhov @ 2010-11-12 20:02 UTC (permalink / raw)
  To: Greg KH
  Cc: Stefan Achatz, Eric W. Biederman, Serge E. Hallyn, Tejun Heo,
	Jiri Kosina, linux-input, linux-kernel, Benjamin Thery

On Fri, Nov 12, 2010 at 11:50:10AM -0800, Greg KH wrote:
> On Fri, Nov 12, 2010 at 11:38:17AM -0800, Dmitry Torokhov wrote:
> > On Fri, Nov 12, 2010 at 11:29:58AM -0800, Greg KH wrote:
> > > On Fri, Nov 12, 2010 at 07:18:38PM +0100, Stefan Achatz wrote:
> > > > Implemented group functions for easier creation of multiple binary sysfs
> > > > attributes similar to existing attribute_group handling functions.
> > > > The code reuses struct attribute_group instead of inventing a new struct
> > > > binary_attribute_group.
> > > > 
> > > > Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
> > > 
> > > Looks good to me, nice job.
> > > 
> > > Dmitry, do you want to take this through your tree as the mouse driver
> > > change needs it?  If so, feel free to do so and add a:
> > > 	Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> > > 
> > > to the patch.
> > > 
> > > If not, I'll be glad to take it, and the mouse driver change through my
> > > tree if needed.
> > > 
> > > Just let me know which is easier for you.
> > > 
> > 
> > Actually the driver lives in hid so it's up to Jiri how he wants to
> > handle this.
> 
> Ah.  He's on vacation for a few weeks so I guess I'll take this for now.
> 

Those Europeans with their long vacations, geeze... Well, I hope he's
having fun ;)

-- 
Dmitry

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

* Re: [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
  2010-11-12 20:02       ` Dmitry Torokhov
@ 2010-11-15 13:49         ` Jiri Kosina
  2010-11-15 13:51           ` Jiri Kosina
  0 siblings, 1 reply; 8+ messages in thread
From: Jiri Kosina @ 2010-11-15 13:49 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Greg KH, Stefan Achatz, Eric W. Biederman, Serge E. Hallyn,
	Tejun Heo, linux-input, linux-kernel, Benjamin Thery

On Fri, 12 Nov 2010, Dmitry Torokhov wrote:

> > > > > Implemented group functions for easier creation of multiple binary sysfs
> > > > > attributes similar to existing attribute_group handling functions.
> > > > > The code reuses struct attribute_group instead of inventing a new struct
> > > > > binary_attribute_group.
> > > > > 
> > > > > Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
> > > > 
> > > > Looks good to me, nice job.
> > > > 
> > > > Dmitry, do you want to take this through your tree as the mouse driver
> > > > change needs it?  If so, feel free to do so and add a:
> > > > 	Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> > > > 
> > > > to the patch.
> > > > 
> > > > If not, I'll be glad to take it, and the mouse driver change through my
> > > > tree if needed.
> > > > 
> > > > Just let me know which is easier for you.
> > > > 
> > > 
> > > Actually the driver lives in hid so it's up to Jiri how he wants to
> > > handle this.
> > 
> > Ah.  He's on vacation for a few weeks so I guess I'll take this for now.
> > 
> 
> Those Europeans with their long vacations, geeze... Well, I hope he's
> having fun ;)

Oh definitely. We haven't expected snow and ice already being there in 
White Mountain :) Quite a fun.

sysfs_create_bin_group() definitely looks like an improvement. I'd like to 
take it together with the Roccat driver patch, as it depends on it. Greg 
-- would you mind me taking it through my tree with your signoff?

Thanks,

-- 
Jiri Kosina
SUSE Labs, Novell Inc.

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

* Re: [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group()
  2010-11-15 13:49         ` Jiri Kosina
@ 2010-11-15 13:51           ` Jiri Kosina
  0 siblings, 0 replies; 8+ messages in thread
From: Jiri Kosina @ 2010-11-15 13:51 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Greg KH, Stefan Achatz, Eric W. Biederman, Serge E. Hallyn,
	Tejun Heo, linux-input, linux-kernel, Benjamin Thery

On Mon, 15 Nov 2010, Jiri Kosina wrote:

> > Those Europeans with their long vacations, geeze... Well, I hope he's
> > having fun ;)
> 
> Oh definitely. We haven't expected snow and ice already being there in 
> White Mountain :) Quite a fun.
> 
> sysfs_create_bin_group() definitely looks like an improvement. I'd like to 
> take it together with the Roccat driver patch, as it depends on it. Greg 
> -- would you mind me taking it through my tree with your signoff?

Ah, now I see the other thread with the raciness point. Stefan, have you 
already done some progress in this direction?

Thanks,

-- 
Jiri Kosina
SUSE Labs, Novell Inc.

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

end of thread, other threads:[~2010-11-15 13:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-12 18:18 [PATCH 1/2] sysfs: Introducing sysfs_create_bin_group() Stefan Achatz
2010-11-12 18:57 ` Dmitry Torokhov
2010-11-12 19:29 ` Greg KH
2010-11-12 19:38   ` Dmitry Torokhov
2010-11-12 19:50     ` Greg KH
2010-11-12 20:02       ` Dmitry Torokhov
2010-11-15 13:49         ` Jiri Kosina
2010-11-15 13:51           ` Jiri Kosina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).