From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753583AbbHMT5w (ORCPT ); Thu, 13 Aug 2015 15:57:52 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:53490 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752012AbbHMT5t (ORCPT ); Thu, 13 Aug 2015 15:57:49 -0400 Date: Thu, 13 Aug 2015 12:57:48 -0700 From: Greg Kroah-Hartman To: Krzysztof Opasiak 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 , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , 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 Message-ID: <20150813195748.GB30092@kroah.com> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <55CCF156.8010302@samsung.com> User-Agent: Mutt/1.5.23+102 (2ca89bed6448) (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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... thanks, greg k-h