The upstream sources for platform/intel-mid aren't in any public git repos and are distributed as a tarball. I have been unable to find any platform/intel-mid specific mailing lists, so I created my own repos and tickets to track my progress. I haven't done much work in the kernel, but I'm trying to learn. If there are more appropriate or effective ways to approach Intel, the Linux (usb) community, or a solution... please let me know. :) On Fri, Jan 9, 2015 at 1:16 AM, Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> wrote: > In the very same file there is an example platform driver; well, at least > the most important hid-specific parts of it. You must add the usual > module boilerplate code and in module's init do platform_device_register(), > while in module's exit do platform_device_unregister(). This ticket tracks my progress as I attempt to understand what parts of platform/intel-mid to edit. https://github.com/instantinfrastructure/edison-src/issues/1 I'm currently trying to figure out what all the *_init functions do hoping I can find where to place the module boilerplate platform_device_[un]register functions. I found some references to folks just adding directly to drivers/usb/gadget/hid.c https://github.com/instantinfrastructure/linux-yocto-3.10/commit/4a7c648b3d0cf96ccaf6b6fd133577293984ca45 but I still get errors: # modprobe g_hid [11677.348746] Device 'hidg.0' does not have a release() function, it is broken and must be fixed. modprobe: ERROR: could not insert 'g_hid': No such device > You might also want to have a look at a configfs-composed gadget configfs looks awesome! Having just been added to 3.19.0-rc series, I'm not sure I could get it that kernel to work on the Edison. There are quite a few differences in platform/intel-mid in 3.10.17 w/ the intel patches and the vanilla 3.19.0-rc series. I've tried reaching out to someone from the platform/intel-mid team at Intel, but have as of yet been unsuccessful. I also looked at gadgetfs but get failed to start errors: ``` root@edison:~# mkdir /dev/gadget root@edison:~# rmmod g_multi root@edison:~# mount -t gadgetfs gadetfs /dev/gadget [ 54.781038] nop dwc3-device.1: failed to start (null): -120 root@edison:~# ls /dev/gadget dwc3-gadget root@edison:~# ls /dev/gadget/dwc3-gadget/ ls: /dev/gadget/dwc3-gadget/: Not a directory root@edison:~# dmesg | tail -10 [ 44.184839] g_multi gadget: unbind function 'acm'/f5d7f840 [ 44.184862] g_multi gadget: unbind function 'Mass Storage Function'/f5c8c380 [ 44.184878] g_multi gadget: unbind [ 44.184947] lun0: close backing file [ 44.284976] gs_close: ttyGS0 (f5453400,f5e8c300) ... [ 44.285005] gs_close: ttyGS0 (f5453400,f5e8c300) done! [ 44.286415] usb0: stop stats: rx/tx 0/20, errs 0/0 [ 54.779953] gadgetfs: USB Gadget filesystem, version 24 Aug 2004 [ 54.781010] udc dwc3-device.1: registering UDC driver [(null)] [ 54.781038] nop dwc3-device.1: failed to start (null): -120 root@edison:~# uname -a Linux edison 3.10.17-poky-edison+ #6 SMP PREEMPT Fri Jan 9 19:27:34 UTC 2015 i686 GNU/Linux ``` ===== Upstream sources and the resultant repos ==== The edison-src build system and platform/intel-mid patch (Yocto derived BSP from https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=24389) * https://github.com/instantinfrastructure/edison-src) The yocto-3.10.17 sources with the patch applied (https://github.com/instantinfrastructure/edison-src/blob/master/device-software/meta-edison/recipes-kernel/linux/files/upstream_to_edison.patch) * https://github.com/instantinfrastructure/linux-yocto-3.10 -- 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