Thanks for all the direction and feedback thus far, configfs is the way to go but I would need f_hid, f_mass_storage, and f_rdnis which aren't available in v3.10. Configfs f_hid is relatively recent, f_rndis + f_mass_storage where merged into v3.11, but similar functions actual entered the kernel in v3.10... which is what gives me hope that the porting may be simple. Porting the platform/intel-mid forward to a new kernel version without communication from Intel would probably result in needless duplication of effort. Would it be advisable for me to backport the drivers/usb/gadget/function/* from 3.19-rc1 and compile them in 3.10.17? I doubt it would be as simple as copying them over and modifying the Makefile, but one can hope. https://lkml.org/lkml/2014/12/14/274 - v3.19-rc1 for f_hid https://lkml.org/lkml/2013/7/1/388 - v3.11-rc1 for f_rndis and f_mass_storage https://lkml.org/lkml/2013/4/29/248 - v3.10-rc1 for f_acm (which seems to load and configure **) **root@edison-3.10.17:/# cat /sys/kernel/config/usb_gadget/gadget/functions/acm.usb0/port_num 0 -- 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