aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/target_core_configfs.c
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2014-11-27 18:01:12 -0500
committerNicholas Bellinger <nab@linux-iscsi.org>2014-12-02 00:35:39 -0500
commitf8d389c6f6074aa382963ae13f9d77d99ec3e92d (patch)
tree84a1a67c29fb9795b13c42bbe2f05c91c658606d /drivers/target/target_core_configfs.c
parent91e2e39ba89cd627beddafea2a760684adcec89d (diff)
target: Move dev_wwn_cit to struct se_subsystem_api
This patch adds support for dev_wwn_cit as an external config_item_type using TB_CIT_SETUP() helper macro, and sets both ct_item_ops + ct_attr 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_wwn_cit from target_core_configfs.c code and update comments. This patch introduces no functional change from existing code. Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_configfs.c')
-rw-r--r--drivers/target/target_core_configfs.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
index 49d51ba40fca..43d180e03931 100644
--- a/drivers/target/target_core_configfs.c
+++ b/drivers/target/target_core_configfs.c
@@ -772,7 +772,7 @@ TB_CIT_SETUP(dev_attrib, &target_core_dev_attrib_ops, NULL,
772 772
773/* End functions for struct config_item_type tb_dev_attrib_cit */ 773/* End functions for struct config_item_type tb_dev_attrib_cit */
774 774
775/* Start functions for struct config_item_type target_core_dev_wwn_cit */ 775/* Start functions for struct config_item_type tb_dev_wwn_cit */
776 776
777CONFIGFS_EATTR_STRUCT(target_core_dev_wwn, t10_wwn); 777CONFIGFS_EATTR_STRUCT(target_core_dev_wwn, t10_wwn);
778#define SE_DEV_WWN_ATTR(_name, _mode) \ 778#define SE_DEV_WWN_ATTR(_name, _mode) \
@@ -1003,13 +1003,9 @@ static struct configfs_item_operations target_core_dev_wwn_ops = {
1003 .store_attribute = target_core_dev_wwn_attr_store, 1003 .store_attribute = target_core_dev_wwn_attr_store,
1004}; 1004};
1005 1005
1006static struct config_item_type target_core_dev_wwn_cit = { 1006TB_CIT_SETUP(dev_wwn, &target_core_dev_wwn_ops, NULL, target_core_dev_wwn_attrs);
1007 .ct_item_ops = &target_core_dev_wwn_ops,
1008 .ct_attrs = target_core_dev_wwn_attrs,
1009 .ct_owner = THIS_MODULE,
1010};
1011 1007
1012/* End functions for struct config_item_type target_core_dev_wwn_cit */ 1008/* End functions for struct config_item_type tb_dev_wwn_cit */
1013 1009
1014/* Start functions for struct config_item_type tb_dev_pr_cit */ 1010/* Start functions for struct config_item_type tb_dev_pr_cit */
1015 1011
@@ -2823,7 +2819,7 @@ static struct config_group *target_core_make_subdev(
2823 config_group_init_type_name(&dev->dev_pr_group, "pr", 2819 config_group_init_type_name(&dev->dev_pr_group, "pr",
2824 &t->tb_cits.tb_dev_pr_cit); 2820 &t->tb_cits.tb_dev_pr_cit);
2825 config_group_init_type_name(&dev->t10_wwn.t10_wwn_group, "wwn", 2821 config_group_init_type_name(&dev->t10_wwn.t10_wwn_group, "wwn",
2826 &target_core_dev_wwn_cit); 2822 &t->tb_cits.tb_dev_wwn_cit);
2827 config_group_init_type_name(&dev->t10_alua.alua_tg_pt_gps_group, 2823 config_group_init_type_name(&dev->t10_alua.alua_tg_pt_gps_group,
2828 "alua", &target_core_alua_tg_pt_gps_cit); 2824 "alua", &target_core_alua_tg_pt_gps_cit);
2829 config_group_init_type_name(&dev->dev_stat_grps.stat_group, 2825 config_group_init_type_name(&dev->dev_stat_grps.stat_group,
@@ -3126,6 +3122,7 @@ void target_core_setup_sub_cits(struct se_subsystem_api *sa)
3126 target_core_setup_dev_cit(sa); 3122 target_core_setup_dev_cit(sa);
3127 target_core_setup_dev_attrib_cit(sa); 3123 target_core_setup_dev_attrib_cit(sa);
3128 target_core_setup_dev_pr_cit(sa); 3124 target_core_setup_dev_pr_cit(sa);
3125 target_core_setup_dev_wwn_cit(sa);
3129} 3126}
3130EXPORT_SYMBOL(target_core_setup_sub_cits); 3127EXPORT_SYMBOL(target_core_setup_sub_cits);
3131 3128