Many fabric modules provide their own implementation of enable attribute in tpg. The change set removes the code duplication and automatically adds "enable" attribute for fabric modules that has an implementation of fabric_enable_tpg() ops. This patchset is intended for scsi-queue. v3: refactor tfc_tpg_base_attrs creation avoid alloc of attrs if there are no attributes fix newlines move enable attribute to target_core_fabric_configfs.c v2: create enable atribute only for modules with enable_tpg ops add patches for srpt, usb and ibmvscsi Dmitry Bogdanov (7): target: core: add common tpg/enable attribute target: iscsi: replace enable attr to ops.enable target: qla2xx: replace enable attr to ops.enable target: sbp: replace enable attr to ops.enable target: srpt replace enable attr to ops.enable target: ibm_vscsi: replace enable attr to ops.enable target: usb: replace enable attr to ops.enable drivers/infiniband/ulp/srpt/ib_srpt.c | 38 +------- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 42 +-------- drivers/scsi/qla2xxx/tcm_qla2xxx.c | 73 +++------------- drivers/target/iscsi/iscsi_target_configfs.c | 91 +++++++------------- drivers/target/sbp/sbp_target.c | 30 ++----- drivers/target/target_core_configfs.c | 3 +- drivers/target/target_core_fabric_configfs.c | 76 +++++++++++++++- drivers/usb/gadget/function/f_tcm.c | 31 ++----- include/target/target_core_base.h | 1 + include/target/target_core_fabric.h | 1 + 10 files changed, 141 insertions(+), 245 deletions(-) -- 2.25.1