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, }; -- 2.17.1