linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses
       [not found] <20190322201440.GA30814@ubu-Virtual-Machine>
@ 2019-04-02  2:51 ` Kimberly Brown
  2019-04-02  2:51   ` [PATCH v2 3/8] block: Replace all ktype default_attrs with groups Kimberly Brown
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Kimberly Brown @ 2019-04-02  2:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J. Wysocki
  Cc: Jens Axboe, linux-block, David S. Miller, netdev, Thomas Gleixner,
	Steffen Klassert, linux-crypto, Ingo Molnar, Peter Zijlstra,
	Josh Poimboeuf, Jiri Kosina, Miroslav Benes, Petr Mladek,
	Joe Lawrence, live-patching, linux-kernel

This patchset adds support for default attribute groups to kobj_type.
Also, the uses of kobj_type's default_attrs field are replaced with
default_groups in the following subsystems:
 - samples
 - block
 - net
 - irq
 - padata
 - cpufreq
 - livepatch

The subsystem maintainers and lists will be copied on the subsystem
patches.

The uses of kobj_type's default_attrs field in the other subsystems will
be replaced in future patchsets.

Changes in v2:
 - Patch 1 is not changed.
 - Patches 2-8 are new.


Kimberly Brown (8):
  kobject: Add support for default attribute groups to kobj_type
  samples/kobject: Replace foo_ktype's default_attrs field with groups
  block: Replace all ktype default_attrs with groups
  net-sysfs: Replace ktype default_attrs field with groups
  irqdesc: Replace irq_kobj_type's default_attrs field with groups
  padata: Replace padata_attr_type default_attrs field with groups
  cpufreq: schedutil: Replace default_attrs field with groups
  livepatch: Replace klp_ktype_patch's default_attrs with groups

 block/blk-integrity.c            |  3 ++-
 block/blk-mq-sysfs.c             |  8 ++------
 block/blk-sysfs.c                |  3 ++-
 include/linux/kobject.h          |  3 ++-
 kernel/irq/irqdesc.c             |  3 ++-
 kernel/livepatch/core.c          |  3 ++-
 kernel/padata.c                  |  3 ++-
 kernel/sched/cpufreq_schedutil.c |  5 +++--
 lib/kobject.c                    | 14 ++++++++++++++
 net/core/net-sysfs.c             |  6 ++++--
 samples/kobject/kset-example.c   |  3 ++-
 11 files changed, 37 insertions(+), 17 deletions(-)

-- 
2.17.1


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

* [PATCH v2 3/8] block: Replace all ktype default_attrs with groups
  2019-04-02  2:51 ` [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses Kimberly Brown
@ 2019-04-02  2:51   ` Kimberly Brown
  2019-04-02 16:02     ` Bart Van Assche
  2019-04-02  6:29   ` [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses Greg Kroah-Hartman
  2019-04-25 20:12   ` Greg Kroah-Hartman
  2 siblings, 1 reply; 7+ messages in thread
From: Kimberly Brown @ 2019-04-02  2:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J. Wysocki
  Cc: Jens Axboe, linux-block, linux-kernel

The kobj_type default_attrs field is being replaced by the
default_groups field. Replace all of the ktype default_attrs fields in
the block subsystem with default_groups and use the ATTRIBUTE_GROUPS
macro to create the default groups.

Remove default_ctx_attrs[] because it doesn't contain any attributes.

This patch was tested by verifying that the sysfs files for the
attributes in the default groups were created.

Signed-off-by: Kimberly Brown <kimbrownkd@gmail.com>
---
 block/blk-integrity.c | 3 ++-
 block/blk-mq-sysfs.c  | 8 ++------
 block/blk-sysfs.c     | 3 ++-
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/block/blk-integrity.c b/block/blk-integrity.c
index d1ab089e0919..85864c71e858 100644
--- a/block/blk-integrity.c
+++ b/block/blk-integrity.c
@@ -365,6 +365,7 @@ static struct attribute *integrity_attrs[] = {
 	&integrity_device_entry.attr,
 	NULL,
 };
+ATTRIBUTE_GROUPS(integrity);
 
 static const struct sysfs_ops integrity_ops = {
 	.show	= &integrity_attr_show,
@@ -372,7 +373,7 @@ static const struct sysfs_ops integrity_ops = {
 };
 
 static struct kobj_type integrity_ktype = {
-	.default_attrs	= integrity_attrs,
+	.default_groups = integrity_groups,
 	.sysfs_ops	= &integrity_ops,
 };
 
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
index 3f9c3f4ac44c..5315e538b3b1 100644
--- a/block/blk-mq-sysfs.c
+++ b/block/blk-mq-sysfs.c
@@ -173,10 +173,6 @@ static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page)
 	return ret;
 }
 
-static struct attribute *default_ctx_attrs[] = {
-	NULL,
-};
-
 static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_nr_tags = {
 	.attr = {.name = "nr_tags", .mode = 0444 },
 	.show = blk_mq_hw_sysfs_nr_tags_show,
@@ -196,6 +192,7 @@ static struct attribute *default_hw_ctx_attrs[] = {
 	&blk_mq_hw_sysfs_cpus.attr,
 	NULL,
 };
+ATTRIBUTE_GROUPS(default_hw_ctx);
 
 static const struct sysfs_ops blk_mq_sysfs_ops = {
 	.show	= blk_mq_sysfs_show,
@@ -214,13 +211,12 @@ static struct kobj_type blk_mq_ktype = {
 
 static struct kobj_type blk_mq_ctx_ktype = {
 	.sysfs_ops	= &blk_mq_sysfs_ops,
-	.default_attrs	= default_ctx_attrs,
 	.release	= blk_mq_ctx_sysfs_release,
 };
 
 static struct kobj_type blk_mq_hw_ktype = {
 	.sysfs_ops	= &blk_mq_hw_sysfs_ops,
-	.default_attrs	= default_hw_ctx_attrs,
+	.default_groups = default_hw_ctx_groups,
 	.release	= blk_mq_hw_sysfs_release,
 };
 
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index 422327089e0f..7a95a1eb27e1 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -769,6 +769,7 @@ static struct attribute *default_attrs[] = {
 #endif
 	NULL,
 };
+ATTRIBUTE_GROUPS(default);
 
 #define to_queue(atr) container_of((atr), struct queue_sysfs_entry, attr)
 
@@ -890,7 +891,7 @@ static const struct sysfs_ops queue_sysfs_ops = {
 
 struct kobj_type blk_queue_ktype = {
 	.sysfs_ops	= &queue_sysfs_ops,
-	.default_attrs	= default_attrs,
+	.default_groups = default_groups,
 	.release	= blk_release_queue,
 };
 
-- 
2.17.1


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

* Re: [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses
  2019-04-02  2:51 ` [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses Kimberly Brown
  2019-04-02  2:51   ` [PATCH v2 3/8] block: Replace all ktype default_attrs with groups Kimberly Brown
@ 2019-04-02  6:29   ` Greg Kroah-Hartman
  2019-04-25 20:12   ` Greg Kroah-Hartman
  2 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2019-04-02  6:29 UTC (permalink / raw)
  To: Kimberly Brown
  Cc: Rafael J. Wysocki, Jens Axboe, linux-block, David S. Miller,
	netdev, Thomas Gleixner, Steffen Klassert, linux-crypto,
	Ingo Molnar, Peter Zijlstra, Josh Poimboeuf, Jiri Kosina,
	Miroslav Benes, Petr Mladek, Joe Lawrence, live-patching,
	linux-kernel

On Mon, Apr 01, 2019 at 10:51:10PM -0400, Kimberly Brown wrote:
> This patchset adds support for default attribute groups to kobj_type.
> Also, the uses of kobj_type's default_attrs field are replaced with
> default_groups in the following subsystems:
>  - samples
>  - block
>  - net
>  - irq
>  - padata
>  - cpufreq
>  - livepatch
> 
> The subsystem maintainers and lists will be copied on the subsystem
> patches.
> 
> The uses of kobj_type's default_attrs field in the other subsystems will
> be replaced in future patchsets.
> 
> Changes in v2:
>  - Patch 1 is not changed.
>  - Patches 2-8 are new.

Thanks so much for doing this.

As all of the different subsystems depend on the first patch, I'll be
glad to merge them all through my driver-core tree, or apply the first
one and wait a release cycle so that the others can go through the
individual subsystem's tree, depending on what the subsystem maintainer
is comfortable with.

thanks,

greg k-h

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

* Re: [PATCH v2 3/8] block: Replace all ktype default_attrs with groups
  2019-04-02  2:51   ` [PATCH v2 3/8] block: Replace all ktype default_attrs with groups Kimberly Brown
@ 2019-04-02 16:02     ` Bart Van Assche
  2019-04-02 17:46       ` Greg Kroah-Hartman
  0 siblings, 1 reply; 7+ messages in thread
From: Bart Van Assche @ 2019-04-02 16:02 UTC (permalink / raw)
  To: Kimberly Brown, Greg Kroah-Hartman, Rafael J. Wysocki
  Cc: Jens Axboe, linux-block, linux-kernel

On Mon, 2019-04-01 at 22:51 -0400, Kimberly Brown wrote:
> The kobj_type default_attrs field is being replaced by the
> default_groups field. Replace all of the ktype default_attrs fields in
> the block subsystem with default_groups and use the ATTRIBUTE_GROUPS
> macro to create the default groups.
> 
> Remove default_ctx_attrs[] because it doesn't contain any attributes.
> 
> This patch was tested by verifying that the sysfs files for the
> attributes in the default groups were created.
> 
> Signed-off-by: Kimberly Brown <kimbrownkd@gmail.com>
> ---
>  block/blk-integrity.c | 3 ++-
>  block/blk-mq-sysfs.c  | 8 ++------
>  block/blk-sysfs.c     | 3 ++-
>  3 files changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/block/blk-integrity.c b/block/blk-integrity.c
> index d1ab089e0919..85864c71e858 100644
> --- a/block/blk-integrity.c
> +++ b/block/blk-integrity.c
> @@ -365,6 +365,7 @@ static struct attribute *integrity_attrs[] = {
>  	&integrity_device_entry.attr,
>  	NULL,
>  };
> +ATTRIBUTE_GROUPS(integrity);
>  
>  static const struct sysfs_ops integrity_ops = {
>  	.show	= &integrity_attr_show,
> @@ -372,7 +373,7 @@ static const struct sysfs_ops integrity_ops = {
>  };
>  
>  static struct kobj_type integrity_ktype = {
> -	.default_attrs	= integrity_attrs,
> +	.default_groups = integrity_groups,
>  	.sysfs_ops	= &integrity_ops,
>  };
>  
> diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
> index 3f9c3f4ac44c..5315e538b3b1 100644
> --- a/block/blk-mq-sysfs.c
> +++ b/block/blk-mq-sysfs.c
> @@ -173,10 +173,6 @@ static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page)
>  	return ret;
>  }
>  
> -static struct attribute *default_ctx_attrs[] = {
> -	NULL,
> -};
> -
>  static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_nr_tags = {
>  	.attr = {.name = "nr_tags", .mode = 0444 },
>  	.show = blk_mq_hw_sysfs_nr_tags_show,
> @@ -196,6 +192,7 @@ static struct attribute *default_hw_ctx_attrs[] = {
>  	&blk_mq_hw_sysfs_cpus.attr,
>  	NULL,
>  };
> +ATTRIBUTE_GROUPS(default_hw_ctx);
>  
>  static const struct sysfs_ops blk_mq_sysfs_ops = {
>  	.show	= blk_mq_sysfs_show,
> @@ -214,13 +211,12 @@ static struct kobj_type blk_mq_ktype = {
>  
>  static struct kobj_type blk_mq_ctx_ktype = {
>  	.sysfs_ops	= &blk_mq_sysfs_ops,
> -	.default_attrs	= default_ctx_attrs,
>  	.release	= blk_mq_ctx_sysfs_release,
>  };
>  
>  static struct kobj_type blk_mq_hw_ktype = {
>  	.sysfs_ops	= &blk_mq_hw_sysfs_ops,
> -	.default_attrs	= default_hw_ctx_attrs,
> +	.default_groups = default_hw_ctx_groups,
>  	.release	= blk_mq_hw_sysfs_release,
>  };
>  
> diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
> index 422327089e0f..7a95a1eb27e1 100644
> --- a/block/blk-sysfs.c
> +++ b/block/blk-sysfs.c
> @@ -769,6 +769,7 @@ static struct attribute *default_attrs[] = {
>  #endif
>  	NULL,
>  };
> +ATTRIBUTE_GROUPS(default);
>  
>  #define to_queue(atr) container_of((atr), struct queue_sysfs_entry, attr)
>  
> @@ -890,7 +891,7 @@ static const struct sysfs_ops queue_sysfs_ops = {
>  
>  struct kobj_type blk_queue_ktype = {
>  	.sysfs_ops	= &queue_sysfs_ops,
> -	.default_attrs	= default_attrs,
> +	.default_groups = default_groups,
>  	.release	= blk_release_queue,
>  };

I think this should have been four patches instead of one.

Anyway:

Reviewed-by: Bart Van Assche <bvanassche@acm.org>


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

* Re: [PATCH v2 3/8] block: Replace all ktype default_attrs with groups
  2019-04-02 16:02     ` Bart Van Assche
@ 2019-04-02 17:46       ` Greg Kroah-Hartman
  2019-04-02 18:06         ` Bart Van Assche
  0 siblings, 1 reply; 7+ messages in thread
From: Greg Kroah-Hartman @ 2019-04-02 17:46 UTC (permalink / raw)
  To: Bart Van Assche
  Cc: Kimberly Brown, Rafael J. Wysocki, Jens Axboe, linux-block,
	linux-kernel

On Tue, Apr 02, 2019 at 09:02:38AM -0700, Bart Van Assche wrote:
> On Mon, 2019-04-01 at 22:51 -0400, Kimberly Brown wrote:
> > The kobj_type default_attrs field is being replaced by the
> > default_groups field. Replace all of the ktype default_attrs fields in
> > the block subsystem with default_groups and use the ATTRIBUTE_GROUPS
> > macro to create the default groups.
> > 
> > Remove default_ctx_attrs[] because it doesn't contain any attributes.
> > 
> > This patch was tested by verifying that the sysfs files for the
> > attributes in the default groups were created.
> > 
> > Signed-off-by: Kimberly Brown <kimbrownkd@gmail.com>
> > ---
> >  block/blk-integrity.c | 3 ++-
> >  block/blk-mq-sysfs.c  | 8 ++------
> >  block/blk-sysfs.c     | 3 ++-
> >  3 files changed, 6 insertions(+), 8 deletions(-)
> > 
> > diff --git a/block/blk-integrity.c b/block/blk-integrity.c
> > index d1ab089e0919..85864c71e858 100644
> > --- a/block/blk-integrity.c
> > +++ b/block/blk-integrity.c
> > @@ -365,6 +365,7 @@ static struct attribute *integrity_attrs[] = {
> >  	&integrity_device_entry.attr,
> >  	NULL,
> >  };
> > +ATTRIBUTE_GROUPS(integrity);
> >  
> >  static const struct sysfs_ops integrity_ops = {
> >  	.show	= &integrity_attr_show,
> > @@ -372,7 +373,7 @@ static const struct sysfs_ops integrity_ops = {
> >  };
> >  
> >  static struct kobj_type integrity_ktype = {
> > -	.default_attrs	= integrity_attrs,
> > +	.default_groups = integrity_groups,
> >  	.sysfs_ops	= &integrity_ops,
> >  };
> >  
> > diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
> > index 3f9c3f4ac44c..5315e538b3b1 100644
> > --- a/block/blk-mq-sysfs.c
> > +++ b/block/blk-mq-sysfs.c
> > @@ -173,10 +173,6 @@ static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page)
> >  	return ret;
> >  }
> >  
> > -static struct attribute *default_ctx_attrs[] = {
> > -	NULL,
> > -};
> > -
> >  static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_nr_tags = {
> >  	.attr = {.name = "nr_tags", .mode = 0444 },
> >  	.show = blk_mq_hw_sysfs_nr_tags_show,
> > @@ -196,6 +192,7 @@ static struct attribute *default_hw_ctx_attrs[] = {
> >  	&blk_mq_hw_sysfs_cpus.attr,
> >  	NULL,
> >  };
> > +ATTRIBUTE_GROUPS(default_hw_ctx);
> >  
> >  static const struct sysfs_ops blk_mq_sysfs_ops = {
> >  	.show	= blk_mq_sysfs_show,
> > @@ -214,13 +211,12 @@ static struct kobj_type blk_mq_ktype = {
> >  
> >  static struct kobj_type blk_mq_ctx_ktype = {
> >  	.sysfs_ops	= &blk_mq_sysfs_ops,
> > -	.default_attrs	= default_ctx_attrs,
> >  	.release	= blk_mq_ctx_sysfs_release,
> >  };
> >  
> >  static struct kobj_type blk_mq_hw_ktype = {
> >  	.sysfs_ops	= &blk_mq_hw_sysfs_ops,
> > -	.default_attrs	= default_hw_ctx_attrs,
> > +	.default_groups = default_hw_ctx_groups,
> >  	.release	= blk_mq_hw_sysfs_release,
> >  };
> >  
> > diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
> > index 422327089e0f..7a95a1eb27e1 100644
> > --- a/block/blk-sysfs.c
> > +++ b/block/blk-sysfs.c
> > @@ -769,6 +769,7 @@ static struct attribute *default_attrs[] = {
> >  #endif
> >  	NULL,
> >  };
> > +ATTRIBUTE_GROUPS(default);
> >  
> >  #define to_queue(atr) container_of((atr), struct queue_sysfs_entry, attr)
> >  
> > @@ -890,7 +891,7 @@ static const struct sysfs_ops queue_sysfs_ops = {
> >  
> >  struct kobj_type blk_queue_ktype = {
> >  	.sysfs_ops	= &queue_sysfs_ops,
> > -	.default_attrs	= default_attrs,
> > +	.default_groups = default_groups,
> >  	.release	= blk_release_queue,
> >  };
> 
> I think this should have been four patches instead of one.

4?  I could maybe see 3, how would you make 4 patches out of this?

> Anyway:
> 
> Reviewed-by: Bart Van Assche <bvanassche@acm.org>

Thanks for the review, I'll queue this up in a few days.

greg k-h

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

* Re: [PATCH v2 3/8] block: Replace all ktype default_attrs with groups
  2019-04-02 17:46       ` Greg Kroah-Hartman
@ 2019-04-02 18:06         ` Bart Van Assche
  0 siblings, 0 replies; 7+ messages in thread
From: Bart Van Assche @ 2019-04-02 18:06 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Kimberly Brown, Rafael J. Wysocki, Jens Axboe, linux-block,
	linux-kernel

On Tue, 2019-04-02 at 19:46 +0200, Greg Kroah-Hartman wrote:
> On Tue, Apr 02, 2019 at 09:02:38AM -0700, Bart Van Assche wrote:
> > On Mon, 2019-04-01 at 22:51 -0400, Kimberly Brown wrote:
> > > The kobj_type default_attrs field is being replaced by the
> > > default_groups field. Replace all of the ktype default_attrs fields in
> > > the block subsystem with default_groups and use the ATTRIBUTE_GROUPS
> > > macro to create the default groups.
> > > 
> > > Remove default_ctx_attrs[] because it doesn't contain any attributes.
> > > 
> > > This patch was tested by verifying that the sysfs files for the
> > > attributes in the default groups were created.
> > > 
> > > Signed-off-by: Kimberly Brown <kimbrownkd@gmail.com>
> > > ---
> > >  block/blk-integrity.c | 3 ++-
> > >  block/blk-mq-sysfs.c  | 8 ++------
> > >  block/blk-sysfs.c     | 3 ++-
> > >  3 files changed, 6 insertions(+), 8 deletions(-)
> > > 
> > > diff --git a/block/blk-integrity.c b/block/blk-integrity.c
> > > index d1ab089e0919..85864c71e858 100644
> > > --- a/block/blk-integrity.c
> > > +++ b/block/blk-integrity.c
> > > @@ -365,6 +365,7 @@ static struct attribute *integrity_attrs[] = {
> > >  	&integrity_device_entry.attr,
> > >  	NULL,
> > >  };
> > > +ATTRIBUTE_GROUPS(integrity);
> > >  
> > >  static const struct sysfs_ops integrity_ops = {
> > >  	.show	= &integrity_attr_show,
> > > @@ -372,7 +373,7 @@ static const struct sysfs_ops integrity_ops = {
> > >  };
> > >  
> > >  static struct kobj_type integrity_ktype = {
> > > -	.default_attrs	= integrity_attrs,
> > > +	.default_groups = integrity_groups,
> > >  	.sysfs_ops	= &integrity_ops,
> > >  };
> > >  
> > > diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
> > > index 3f9c3f4ac44c..5315e538b3b1 100644
> > > --- a/block/blk-mq-sysfs.c
> > > +++ b/block/blk-mq-sysfs.c
> > > @@ -173,10 +173,6 @@ static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page)
> > >  	return ret;
> > >  }
> > >  
> > > -static struct attribute *default_ctx_attrs[] = {
> > > -	NULL,
> > > -};
> > > -
> > >  static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_nr_tags = {
> > >  	.attr = {.name = "nr_tags", .mode = 0444 },
> > >  	.show = blk_mq_hw_sysfs_nr_tags_show,
> > > @@ -196,6 +192,7 @@ static struct attribute *default_hw_ctx_attrs[] = {
> > >  	&blk_mq_hw_sysfs_cpus.attr,
> > >  	NULL,
> > >  };
> > > +ATTRIBUTE_GROUPS(default_hw_ctx);
> > >  
> > >  static const struct sysfs_ops blk_mq_sysfs_ops = {
> > >  	.show	= blk_mq_sysfs_show,
> > > @@ -214,13 +211,12 @@ static struct kobj_type blk_mq_ktype = {
> > >  
> > >  static struct kobj_type blk_mq_ctx_ktype = {
> > >  	.sysfs_ops	= &blk_mq_sysfs_ops,
> > > -	.default_attrs	= default_ctx_attrs,
> > >  	.release	= blk_mq_ctx_sysfs_release,
> > >  };
> > >  
> > >  static struct kobj_type blk_mq_hw_ktype = {
> > >  	.sysfs_ops	= &blk_mq_hw_sysfs_ops,
> > > -	.default_attrs	= default_hw_ctx_attrs,
> > > +	.default_groups = default_hw_ctx_groups,
> > >  	.release	= blk_mq_hw_sysfs_release,
> > >  };
> > >  
> > > diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
> > > index 422327089e0f..7a95a1eb27e1 100644
> > > --- a/block/blk-sysfs.c
> > > +++ b/block/blk-sysfs.c
> > > @@ -769,6 +769,7 @@ static struct attribute *default_attrs[] = {
> > >  #endif
> > >  	NULL,
> > >  };
> > > +ATTRIBUTE_GROUPS(default);
> > >  
> > >  #define to_queue(atr) container_of((atr), struct queue_sysfs_entry, attr)
> > >  
> > > @@ -890,7 +891,7 @@ static const struct sysfs_ops queue_sysfs_ops = {
> > >  
> > >  struct kobj_type blk_queue_ktype = {
> > >  	.sysfs_ops	= &queue_sysfs_ops,
> > > -	.default_attrs	= default_attrs,
> > > +	.default_groups = default_groups,
> > >  	.release	= blk_release_queue,
> > >  };
> > 
> > I think this should have been four patches instead of one.
> 
> 4?  I could maybe see 3, how would you make 4 patches out of this?

Hi Greg,

Not that it matters, but I see four changes in this patch: three conversions
from default_attrs into default_groups and also the removal of default_ctx_attrs.

Thanks,

Bart.

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

* Re: [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses
  2019-04-02  2:51 ` [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses Kimberly Brown
  2019-04-02  2:51   ` [PATCH v2 3/8] block: Replace all ktype default_attrs with groups Kimberly Brown
  2019-04-02  6:29   ` [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses Greg Kroah-Hartman
@ 2019-04-25 20:12   ` Greg Kroah-Hartman
  2 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2019-04-25 20:12 UTC (permalink / raw)
  To: Kimberly Brown
  Cc: Rafael J. Wysocki, Jens Axboe, linux-block, David S. Miller,
	netdev, Thomas Gleixner, Steffen Klassert, linux-crypto,
	Ingo Molnar, Peter Zijlstra, Josh Poimboeuf, Jiri Kosina,
	Miroslav Benes, Petr Mladek, Joe Lawrence, live-patching,
	linux-kernel

On Mon, Apr 01, 2019 at 10:51:10PM -0400, Kimberly Brown wrote:
> This patchset adds support for default attribute groups to kobj_type.
> Also, the uses of kobj_type's default_attrs field are replaced with
> default_groups in the following subsystems:
>  - samples
>  - block
>  - net
>  - irq
>  - padata
>  - cpufreq
>  - livepatch
> 
> The subsystem maintainers and lists will be copied on the subsystem
> patches.
> 
> The uses of kobj_type's default_attrs field in the other subsystems will
> be replaced in future patchsets.

Thanks for all of these, now queued up.  Patches to fix up the other
subsystems are always welcome :)

greg k-h

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

end of thread, other threads:[~2019-04-25 20:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20190322201440.GA30814@ubu-Virtual-Machine>
2019-04-02  2:51 ` [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses Kimberly Brown
2019-04-02  2:51   ` [PATCH v2 3/8] block: Replace all ktype default_attrs with groups Kimberly Brown
2019-04-02 16:02     ` Bart Van Assche
2019-04-02 17:46       ` Greg Kroah-Hartman
2019-04-02 18:06         ` Bart Van Assche
2019-04-02  6:29   ` [PATCH v2 0/8] kobject: Add default group support to kobj_type and replace subsystem uses Greg Kroah-Hartman
2019-04-25 20:12   ` 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;
as well as URLs for NNTP newsgroup(s).