Use the block layer helper to initialize the common fields of tag_set such as blk_mq_ops, number of h/w queues, queue depth, command size, numa_node, timeout, BLK_MQ_F_XXX flags, driver data. This initialization is spread all over the block drivers. This avoids the code repetation of the inialization code of the tag set in current block drivers and any future ones. Signed-off-by: Chaitanya Kulkarni <kch@xxxxxxxxxx> --- block/bsg-lib.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/block/bsg-lib.c b/block/bsg-lib.c index d6f5dcdce748..3f28e24faa50 100644 --- a/block/bsg-lib.c +++ b/block/bsg-lib.c @@ -373,12 +373,9 @@ struct request_queue *bsg_setup_queue(struct device *dev, const char *name, bset->timeout_fn = timeout; set = &bset->tag_set; - set->ops = &bsg_mq_ops; - set->nr_hw_queues = 1; - set->queue_depth = 128; - set->numa_node = NUMA_NO_NODE; - set->cmd_size = sizeof(struct bsg_job) + dd_job_size; - set->flags = BLK_MQ_F_NO_SCHED | BLK_MQ_F_BLOCKING; + blk_mq_init_tag_set(set, &bsg_mq_ops, 1, 128, + sizeof(struct bsg_job) + dd_job_size, NUMA_NO_NODE, + 0, BLK_MQ_F_NO_SCHED | BLK_MQ_F_BLOCKING, NULL); if (blk_mq_alloc_tag_set(set)) goto out_tag_set; -- 2.29.0