On Tue, Oct 04, 2011 at 04:36:06PM +0200, Jack Smith wrote: > On Sat, 2011-10-01 at 07:08 -0700, Greg KH wrote: > > On Sat, Oct 01, 2011 at 03:00:14PM +0200, jack wrote: > > > > > > I am hoping to do some work on the USB MTP (Media Transfer Protocol) > > > driver. Reading linux/drivers/usb/README has left me a bit confused, > > > since it seems the location for the MTP driver would not be within the > > > USB directory (linux/drivers/usb) or subdirectories, but rather would > > > reside somewhere within linux/drivers/media. However, I don't see > > > anything that is identified as a MTP driver for a USB device within that > > > directory. > > > > > > Can you help clear up my confusion about this? > > > > I'm pretty sure that MTP support for Linux is done as a userspace driver > > using gadgetfs. If you search the archives for the linux-usb mailing > > list, you will find a link to where the source code is located, as it > > has been posted in the past. > > > > Hope this helps, > > > > greg k-h > > OK, now I feel more confused. I thought: "The <linux/usb_gadget.h> API > makes it easy for peripherals and other devices embedding GNU/Linux > system software to act in the USB "device" (slave) role." > http://www.linux-usb.org/gadget/ Yes. > Doesn't that mean that gadget API can be used by USB device > manufacturers who want an Open Source solution for the device's USB > functionality? To be more clear, isn't that API used on the device > itself, and not for a Linux loadable module to be used by my workstation > machine with that device plugged in to the USB port? Yes, that's what I thought you were looking for, sorry, I was confused. If you want the host side of the MTP solution, that too is done in userspace, no kernel driver needed. I think it's in the gphoto library code that uses libusb to talk to the devices. I'd recommend digging around in that. Hope this helps, greg k-h -- 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