From d23ab570bcb1de0256f1dcea0b8ad3af8e534e40 Mon Sep 17 00:00:00 2001 From: Nicholas Bellinger Date: Thu, 27 Nov 2014 15:09:32 -0800 Subject: [PATCH] target: Move dev_stat_cit to struct se_subsystem_api This patch adds support for dev_stat_cit as an external config_item_type using TB_CIT_SETUP() helper macro, and sets only ct_group_ops following existing code. It updates target_core_make_subdev() + target_core_setup_dev_attrib_cit() + struct target_backend_cits, and drops left-over target_core_dev_stat_cit from target_core_configfs.c code and update comments. This patch introduces no functional change from existing code. Signed-off-by: Nicholas Bellinger --- drivers/target/target_core_configfs.c | 12 +++++------- include/target/target_core_backend.h | 1 + 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c index 0cf41ad54bbf..2903d8931625 100644 --- a/drivers/target/target_core_configfs.c +++ b/drivers/target/target_core_configfs.c @@ -2748,7 +2748,7 @@ static struct config_item_type target_core_alua_cit = { /* End functions for struct config_item_type target_core_alua_cit */ -/* Start functions for struct config_item_type target_core_stat_cit */ +/* Start functions for struct config_item_type tb_dev_stat_cit */ static struct config_group *target_core_stat_mkdir( struct config_group *group, @@ -2769,12 +2769,9 @@ static struct configfs_group_operations target_core_stat_group_ops = { .drop_item = &target_core_stat_rmdir, }; -static struct config_item_type target_core_stat_cit = { - .ct_group_ops = &target_core_stat_group_ops, - .ct_owner = THIS_MODULE, -}; +TB_CIT_SETUP(dev_stat, NULL, &target_core_stat_group_ops, NULL); -/* End functions for struct config_item_type target_core_stat_cit */ +/* End functions for struct config_item_type tb_dev_stat_cit */ /* Start functions for struct config_item_type target_core_hba_cit */ @@ -2820,7 +2817,7 @@ static struct config_group *target_core_make_subdev( config_group_init_type_name(&dev->t10_alua.alua_tg_pt_gps_group, "alua", &t->tb_cits.tb_dev_alua_tg_pt_gps_cit); config_group_init_type_name(&dev->dev_stat_grps.stat_group, - "statistics", &target_core_stat_cit); + "statistics", &t->tb_cits.tb_dev_stat_cit); dev_cg->default_groups[0] = &dev->dev_attrib.da_group; dev_cg->default_groups[1] = &dev->dev_pr_group; @@ -3121,6 +3118,7 @@ void target_core_setup_sub_cits(struct se_subsystem_api *sa) target_core_setup_dev_pr_cit(sa); target_core_setup_dev_wwn_cit(sa); target_core_setup_dev_alua_tg_pt_gps_cit(sa); + target_core_setup_dev_stat_cit(sa); } EXPORT_SYMBOL(target_core_setup_sub_cits); diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h index 157d173f28fb..83a3726eabc5 100644 --- a/include/target/target_core_backend.h +++ b/include/target/target_core_backend.h @@ -11,6 +11,7 @@ struct target_backend_cits { struct config_item_type tb_dev_pr_cit; struct config_item_type tb_dev_wwn_cit; struct config_item_type tb_dev_alua_tg_pt_gps_cit; + struct config_item_type tb_dev_stat_cit; }; struct se_subsystem_api {