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@xxxxxxxxx> > > --- > > 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@xxxxxxx> Thanks for the review, I'll queue this up in a few days. greg k-h