Commit f8d389c6 authored by Nicholas Bellinger's avatar Nicholas Bellinger

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: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 91e2e39b
...@@ -772,7 +772,7 @@ TB_CIT_SETUP(dev_attrib, &target_core_dev_attrib_ops, NULL, ...@@ -772,7 +772,7 @@ TB_CIT_SETUP(dev_attrib, &target_core_dev_attrib_ops, NULL,
/* End functions for struct config_item_type tb_dev_attrib_cit */ /* End functions for struct config_item_type tb_dev_attrib_cit */
/* Start functions for struct config_item_type target_core_dev_wwn_cit */ /* Start functions for struct config_item_type tb_dev_wwn_cit */
CONFIGFS_EATTR_STRUCT(target_core_dev_wwn, t10_wwn); CONFIGFS_EATTR_STRUCT(target_core_dev_wwn, t10_wwn);
#define SE_DEV_WWN_ATTR(_name, _mode) \ #define SE_DEV_WWN_ATTR(_name, _mode) \
...@@ -1003,13 +1003,9 @@ static struct configfs_item_operations target_core_dev_wwn_ops = { ...@@ -1003,13 +1003,9 @@ static struct configfs_item_operations target_core_dev_wwn_ops = {
.store_attribute = target_core_dev_wwn_attr_store, .store_attribute = target_core_dev_wwn_attr_store,
}; };
static struct config_item_type target_core_dev_wwn_cit = { TB_CIT_SETUP(dev_wwn, &target_core_dev_wwn_ops, NULL, target_core_dev_wwn_attrs);
.ct_item_ops = &target_core_dev_wwn_ops,
.ct_attrs = target_core_dev_wwn_attrs,
.ct_owner = THIS_MODULE,
};
/* End functions for struct config_item_type target_core_dev_wwn_cit */ /* End functions for struct config_item_type tb_dev_wwn_cit */
/* Start functions for struct config_item_type tb_dev_pr_cit */ /* Start functions for struct config_item_type tb_dev_pr_cit */
...@@ -2823,7 +2819,7 @@ static struct config_group *target_core_make_subdev( ...@@ -2823,7 +2819,7 @@ static struct config_group *target_core_make_subdev(
config_group_init_type_name(&dev->dev_pr_group, "pr", config_group_init_type_name(&dev->dev_pr_group, "pr",
&t->tb_cits.tb_dev_pr_cit); &t->tb_cits.tb_dev_pr_cit);
config_group_init_type_name(&dev->t10_wwn.t10_wwn_group, "wwn", config_group_init_type_name(&dev->t10_wwn.t10_wwn_group, "wwn",
&target_core_dev_wwn_cit); &t->tb_cits.tb_dev_wwn_cit);
config_group_init_type_name(&dev->t10_alua.alua_tg_pt_gps_group, config_group_init_type_name(&dev->t10_alua.alua_tg_pt_gps_group,
"alua", &target_core_alua_tg_pt_gps_cit); "alua", &target_core_alua_tg_pt_gps_cit);
config_group_init_type_name(&dev->dev_stat_grps.stat_group, 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,6 +3122,7 @@ void target_core_setup_sub_cits(struct se_subsystem_api *sa)
target_core_setup_dev_cit(sa); target_core_setup_dev_cit(sa);
target_core_setup_dev_attrib_cit(sa); target_core_setup_dev_attrib_cit(sa);
target_core_setup_dev_pr_cit(sa); target_core_setup_dev_pr_cit(sa);
target_core_setup_dev_wwn_cit(sa);
} }
EXPORT_SYMBOL(target_core_setup_sub_cits); EXPORT_SYMBOL(target_core_setup_sub_cits);
......
...@@ -9,6 +9,7 @@ struct target_backend_cits { ...@@ -9,6 +9,7 @@ struct target_backend_cits {
struct config_item_type tb_dev_cit; struct config_item_type tb_dev_cit;
struct config_item_type tb_dev_attrib_cit; struct config_item_type tb_dev_attrib_cit;
struct config_item_type tb_dev_pr_cit; struct config_item_type tb_dev_pr_cit;
struct config_item_type tb_dev_wwn_cit;
}; };
struct se_subsystem_api { struct se_subsystem_api {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment