Hi Andrzej & Co, Apologies for the delayed follow up on this series. On Tue, 2015-10-27 at 10:39 +0100, Andrzej Pietrasiewicz wrote: > Dear All, > > This series adds support to tcm usb gadget for composing it with configfs. > > @target-devel folks: You might be wondering why add configfs for something > which already supports configfs. In tcm_usb_gadget configfs has beeen > used for configuring the SCSI target part, but the usb gadget part > is considered a legacy gadget. A legacy gadget is a composite usb gadget > whose composition is defined statically at compilation time. > Composite gadgets can consist of a number of "functions" and configurations. > In legacy gadgets the selection is hardcoded in a dedicated kernel > module. But with configfs the selection can be made at runtime without > writing any kernel code. The conversion process started almost three > years ago. > > The series aims at integrating configfs into tcm, the way it has been > done with 19 of 20 usb functions. In other words this concludes the > process of conversion to configfs in usb gadgets. > > The series depends on the series from Chrisoph: > http://www.spinics.net/lists/target-devel/msg10730.html Ok, the configfs attribute conversion changes merged into mainline as of yesterday. > > @Nicholas: In order to use the series from Christoph (simplifying > configfs attributes) I rebased my series on top of your for-next, > which happens not to contain your patches which strip off nexus > WWPN prefix, fix nexus leak and fix enabled attribute failure. > I re-post them here. I have split one of them to separate > unrelated changes. Thanks for including those fixes in this series. I've dropped the original patches. > > @Joel: I resend the patch which adds unlocked versions of > configfs_(un)depend_item(). The purpose of configfs_(un)depend_item() > is to allow other kernel subsystems to prohibit deletion of a config > item until they can live without it. This is exactly the case with > tcm usb gadget, but the other kernel subsystem happens to be another > subsystem in configfs: the user must create an instance of the tcm > function in usb_gadget subsystem in order to be able to create > a tpg in target subsystem. But once a tpg goes live its corresponding > tcm function must not be removed until the tpg is deleted. > Even though these are two distinct configfs subsystems the > configfs_(un)depend_item() will not work from a configfs callback. > That is why there is a need to provide the "unlocked" variant. > > v2..v3: > - dropped a patch adding unlocked versions of depend/undepend item, > instead this series depends on a series from Krzysztof: > > http://www.spinics.net/lists/linux-usb/msg131720.html I haven't seen any further discussion on Krzysztof's -v4 configfs changes to add configfs_depend_item_unlocked() for the special usb-gaget case described here. Jlbec, do you have any further objections or concerns..? > > v1..v2: > - added missing comments > - used the next version of configfs_(un)depend_item_unlocked() > - fixed bug: THIS_MODULE is NULL if a module is compiled-in, so we cannot > rely on opts->dependent being non-NULL if a dependent module is present > - added passing configfs subsystem to configfs_(un)depend_item_unlocked() > > BACKWARD COMPATIBILITY > ====================== > > Please note that the old tcm_usb_gadget.ko is still available and works. > Ok, I've added both series into target-pending/queue-next so kbuild can give it a first pass. We'll need to get Jlbec's ACK on the configfs parts, and Sebastian's ACK on this series ahead of getting them into next as v4.5-rc code. I don't have a preference of taking these through target-pending, so if other folks prefer to merge via other means, I'm happy to drop them. Thank you, --nab -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html