block: Replace all ktype default_attrs with groups

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>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Kimberly Brown 2019-04-01 22:51:30 -04:00 committed by Greg Kroah-Hartman
parent c484a6783d
commit 800f5aa1e7
3 changed files with 6 additions and 8 deletions

View File

@ -365,6 +365,7 @@ static struct attribute *integrity_attrs[] = {
&integrity_device_entry.attr, &integrity_device_entry.attr,
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(integrity);
static const struct sysfs_ops integrity_ops = { static const struct sysfs_ops integrity_ops = {
.show = &integrity_attr_show, .show = &integrity_attr_show,
@ -372,7 +373,7 @@ static const struct sysfs_ops integrity_ops = {
}; };
static struct kobj_type integrity_ktype = { static struct kobj_type integrity_ktype = {
.default_attrs = integrity_attrs, .default_groups = integrity_groups,
.sysfs_ops = &integrity_ops, .sysfs_ops = &integrity_ops,
}; };

View File

@ -173,10 +173,6 @@ static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page)
return ret; return ret;
} }
static struct attribute *default_ctx_attrs[] = {
NULL,
};
static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_nr_tags = { static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_nr_tags = {
.attr = {.name = "nr_tags", .mode = 0444 }, .attr = {.name = "nr_tags", .mode = 0444 },
.show = blk_mq_hw_sysfs_nr_tags_show, .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, &blk_mq_hw_sysfs_cpus.attr,
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(default_hw_ctx);
static const struct sysfs_ops blk_mq_sysfs_ops = { static const struct sysfs_ops blk_mq_sysfs_ops = {
.show = blk_mq_sysfs_show, .show = blk_mq_sysfs_show,
@ -214,13 +211,12 @@ static struct kobj_type blk_mq_ktype = {
static struct kobj_type blk_mq_ctx_ktype = { static struct kobj_type blk_mq_ctx_ktype = {
.sysfs_ops = &blk_mq_sysfs_ops, .sysfs_ops = &blk_mq_sysfs_ops,
.default_attrs = default_ctx_attrs,
.release = blk_mq_ctx_sysfs_release, .release = blk_mq_ctx_sysfs_release,
}; };
static struct kobj_type blk_mq_hw_ktype = { static struct kobj_type blk_mq_hw_ktype = {
.sysfs_ops = &blk_mq_hw_sysfs_ops, .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, .release = blk_mq_hw_sysfs_release,
}; };

View File

@ -769,6 +769,7 @@ static struct attribute *default_attrs[] = {
#endif #endif
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(default);
#define to_queue(atr) container_of((atr), struct queue_sysfs_entry, attr) #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 = { struct kobj_type blk_queue_ktype = {
.sysfs_ops = &queue_sysfs_ops, .sysfs_ops = &queue_sysfs_ops,
.default_attrs = default_attrs, .default_groups = default_groups,
.release = blk_release_queue, .release = blk_release_queue,
}; };