From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754150AbbHMUlw (ORCPT ); Thu, 13 Aug 2015 16:41:52 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:56100 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753495AbbHMUlt (ORCPT ); Thu, 13 Aug 2015 16:41:49 -0400 MIME-version: 1.0 Content-type: text/plain; charset=windows-1252; format=flowed X-AuditID: cbfec7f5-f794b6d000001495-d9-55cd010a7c3b Content-transfer-encoding: 8BIT Message-id: <55CD0108.4060303@samsung.com> Date: Thu, 13 Aug 2015 22:41:44 +0200 From: Krzysztof Opasiak User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 To: Greg Kroah-Hartman Cc: Amit Pundir , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-api@vger.kernel.org, Mike Lockwood , Benoit Goby , Colin Cross , =?windows-1252?Q?Arve_Hj=F8nnev=E5g?= , Peter Oh , Greg Hackmann , Badhri Jagan Sridharan , Android Kernel Team , Jonathan Corbet , Felipe Balbi , Andrzej Pietrasiewicz , Laurent Pinchart , Yegor Yefremov , Philippe Reynes , John Stultz , Sumit Semwal Subject: Re: [RFC][PATCH 1/2] usb: gadget: configfs: add MTP function References: <1439493140-22207-1-git-send-email-amit.pundir@linaro.org> <1439493140-22207-2-git-send-email-amit.pundir@linaro.org> <55CCF156.8010302@samsung.com> <20150813195748.GB30092@kroah.com> In-reply-to: <20150813195748.GB30092@kroah.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrKIsWRmVeSWpSXmKPExsVy+t/xy7pcjGdDDeZuYbP4sGIRo8Wsl+0s Fu//3mezuD31JJPFwfv1Fhu2bmW02L7xG6vFkwPtjBbHl81ms2hevJ7N4sxvXYsd20UsOicu YbfY/L2DzWJh2xIWi8u75rBZLFrWymzx79E2dou2lY1MFqfufma3OHnnIqPFt9cP2RzEPLbt 3sbqMev+WTaPnbPusnss2FTq8XTCZHaP2R0zWT3uXNvD5rF/7hp2j8V9k1k9+rasYvQ4fmM7 k8fnTXIBPFFcNimpOZllqUX6dglcGZduzGcqOKVY8ePWRPYGxjvSXYycHBICJhIbZ/xlhbDF JC7cW8/WxcjFISSwlFHiXPtGJpAEr4CgxI/J91i6GDk4mAXkJY5cygYJMwvYSix4v44Fov45 o8Tuk3cZIeq1JM4vnAY2lEVAVeLl/j1MIL1sAvoS83aJgoRFBSIk5h97zQxiiwgYS/SfncUO ModZYDubxKff81hAEsICrhJHf75gglhwnFFi0sc2sIM4gQY93DmPZQKjwCwk981CuG8WkvsW MDKvYhRNLU0uKE5KzzXSK07MLS7NS9dLzs/dxAiJ3K87GJceszrEKMDBqMTDu+HR6VAh1sSy 4srcQ4wSHMxKIrym/86ECvGmJFZWpRblxxeV5qQWH2KU5mBREueduet9iJBAemJJanZqakFq EUyWiYNTqoFxj9CHQAVO/9kPbnsvM7cM6P9isiSe92eQ+ucFrKrRzos29nQ/zygu2vLt0uWr TlOrJa+xvY9Q5pj3Mtojf//jBXoM7odsWr/WmynIlG3s6CpMDMy4yXrTpN40e4/xH7EtynuY NymaPvigJ336WpzHB+3QjurLM7Myz4uZdKdvORqwSvPFEn8lluKMREMt5qLiRAB+Io+92AIA AA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 >>> Benoit Goby >>> Colin Cross >>> Arve Hjønnevåg >>> Peter Oh >>> Greg Hackmann >>> Badhri Jagan Sridharan >>> 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 >>> Cc: Benoit Goby >>> Cc: Colin Cross >>> Cc: Arve Hjønnevåg >>> Cc: Peter Oh >>> Cc: Greg Hackmann >>> Cc: Badhri Jagan Sridharan >>> Cc: Android Kernel Team >>> Cc: Greg Kroah-Hartman >>> Cc: Jonathan Corbet >>> Cc: Felipe Balbi >>> Cc: Andrzej Pietrasiewicz >>> Cc: Laurent Pinchart >>> Cc: Yegor Yefremov >>> Cc: Philippe Reynes >>> Cc: John Stultz >>> Cc: Sumit Semwal >>> Signed-off-by: Amit Pundir >> >> 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? > > 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 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