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. 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 | 1 + drivers/target/target_core_fabric_configfs.c | 40 ++++++++- drivers/target/target_core_internal.h | 1 + drivers/target/target_core_tpg.c | 41 +++++++++ drivers/usb/gadget/function/f_tcm.c | 31 ++----- include/target/target_core_base.h | 1 + include/target/target_core_fabric.h | 1 + 12 files changed, 146 insertions(+), 244 deletions(-) -- 2.25.1