On 14 August 2015 at 02:11, Krzysztof Opasiak <k.opas...@samsung.com> wrote: > > > On 08/13/2015 09:57 PM, Greg Kroah-Hartman wrote: >> >> On Thu, Aug 13, 2015 at 09:34:46PM +0200, Krzysztof Opasiak wrote: >>> >>> Hello, >>> >>> On 08/13/2015 09:12 PM, Amit Pundir wrote: >>>> >>>> his MTP function is based on years of work originally done in the >>>> Android kernel tree by: >>>> Mike Lockwood<lockw...@android.com> >>>> Benoit Goby<ben...@android.com> >>>> Colin Cross<ccr...@android.com> >>>> Arve Hjønnevåg<a...@android.com> >>>> Peter Oh<p...@broadcom.com> >>>> Greg Hackmann<ghackm...@google.com> >>>> Badhri Jagan Sridharan<bad...@google.com> >>>> I've folded the series up to make it easier to review, and to provide >>>> a coherent patch description. >>>> >>>> Post Gingerbread (Android v2.3), Android dropped USB Mass Storage >>>> in favor of Media Transfer Protocal (MTP), which is widely used for >>>> transferring media files to digital music players and similar >>>> applications. This USB gadget function implements MTP functionalty. >>>> >>>> Historically this function has been a part of Android composite >>>> gadget driver. Android composite driver was Android's solution >>>> for dynamic gadget function switching prior to the ConfigFS gadget >>>> being merged. There were failed few attempts in past >>>> http://marc.info/?l=linux-usb&m=132451695808552 to upstream Android >>>> composite driver as well. Now this Android MTP gadget function has been >>>> re-implemented so as to be used as a generic ConfigFS function instead. >>>> >>>> Again, many thanks to Mike, Benoit, Colin, Arve, Peter, Greg and Badhri, >>>> as they are the real authors of this work. However, I've folded their >>>> patches together and modified it enough that I don't want them to be >>>> blamed for any mistakes I've made condensing their patches down. >>>> >>>> Cc: Mike Lockwood<lockw...@android.com> >>>> Cc: Benoit Goby<ben...@android.com> >>>> Cc: Colin Cross<ccr...@android.com> >>>> Cc: Arve Hjønnevåg<a...@android.com> >>>> Cc: Peter Oh<p...@broadcom.com> >>>> Cc: Greg Hackmann<ghackm...@google.com> >>>> Cc: Badhri Jagan Sridharan<bad...@google.com> >>>> Cc: Android Kernel Team<kernel-t...@android.com> >>>> Cc: Greg Kroah-Hartman<gre...@linuxfoundation.org> >>>> Cc: Jonathan Corbet<cor...@lwn.net> >>>> Cc: Felipe Balbi<ba...@ti.com> >>>> Cc: Andrzej Pietrasiewicz<andrze...@samsung.com> >>>> Cc: Laurent Pinchart<laurent.pinch...@ideasonboard.com> >>>> Cc: Yegor Yefremov<yegorsli...@googlemail.com> >>>> Cc: Philippe Reynes<trem...@gmail.com> >>>> Cc: John Stultz<john.stu...@linaro.org> >>>> Cc: Sumit Semwal<sumit.sem...@linaro.org> >>>> Signed-off-by: Amit Pundir<amit.pun...@linaro.org> >>> >>> >>> In my humble opinion adding such function to Linux kernel doesn't make >>> any >>> sense. By design, MTP is a protocol which requires access to userspace >>> features esp. file system. It is very important to run MTP daemon with >>> suitable user and LSM label and many many other issues which should be >>> handled by userspace access policy. >>> >>> Moreover this is not a fully functional USB function but only some >>> interface >>> which can be used by mtp-responder (mtp-daemon - call it as you like) to >>> communicate with host. As we have FunctionFS which allows to implement >>> any >>> USB function in as a userspace service. As MTP nature is more related to >>> userspace I think that porting MTP daemon to use this is a right way to >>> go. >>> This should be much more reasonable than adding new function which also >>> requires daemon for proper working. So why add another interface while we >>> can use a generic one?
Fairly valid point. I did see MTP mentioned in FunctionFS context in Documentation/usb/functionfs.txt but I could not find an open userpsace MTP daemon implementation based on F_FS to try. >> >> >> Isn't there already a userspace MTP daemon that uses the existing >> functionfs for usb gadgets? I thought I remember seeing that >> somewhere... >> > > I've found some interesting link[2] which may mean that Sailfish OS guys has > some mtp implementation with functionfs backend: > > <<<<< cite > > - /dev/mtp > mtp functionfs rw,relatime > >>>>>> cite > > Started digging and got it! > > This looks like mtp with ffs backend: > > https://github.com/nemomobile/buteo-mtp Thanks for the pointer. This "buteo-mtp" looks interesting. Regards, Amit Pundir > > Didn't tested, even didn't try to compile, no guarantee;) > > Footnotes: > 1 - > http://reviewjolla.blogspot.com/2014/06/techspecs-android-on-jolla-phone.html > > > Best regards, > > -- > Krzysztof Opasiak > Samsung R&D Institute Poland > Samsung Electronics -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html