You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Integrating linux-yocto-3.10 usb/gadget_hid.txt into platform/intel-mid #1
This issues will track my attempt to integrate gadget_hid into the 3.10 kernel from yocto that has the intel patches applied which are included the Intel Edison BSP release.
"In the very same file [gadget_hid.txt] 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()." Andrzej Pietrasiewicz
This is where I am a bit lost and looking to Intel (or an intel-mid mailing list) to give
some suggestions as to where within platform/intel-mid this might be added.
I have a branch with a patch adding support for usb hid gadget based on csimmonds/g_hid-demo
But it currently results in errors, and no HID yet 8(
# 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
Another alternative is to build edison-image BSP with Linux 3.19.x (which is issue #2) which supports gadget configfs, but I'd like to try and stay in the supported mainstream as much as possible for now.
Background on getting to the intel-mid platform source:
I noticed you both worked for intel specifically on the iot-devkit and thought you might have some info on where the Intel Edison BSP repos / developers mailing list might be.
@rexstjohn you've made some nice wiki's related to getting things up on the edison, have you looked into hid gadget stuff at all? or building a BSP with yoctol-linux-3.19?
@hh sorry there are currently no Intel owned public git repositories for the edison BSPs for the time being. My apoligies. I'm not familiar enough with the edison kernel patchset to answer your question, asking on the Intel community forum is probably a good way to try get some attention.
Here are the intel folks that have their email in the edison BSP patch. I don't want to reach out directly yet, but if anyone looking at this or the https://communities.intel.com/message/272533 forum post knows who on the list I should reach out to, or better yet just connect them to the post or this github issue. @rexstjohn
Since I was also looking at using Linux 3.19, it seems in the platform/intel-mid on master there are only three intel devs. I don't mind reaching out to them directly. They are likely the right people.
[linux]$ git log --pretty=oneline | head -1
eb74926920cfa756087a82e0b081df837177cb95 Merge tag 'sound-3.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
[linux]$ grep -rEiEio '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b' ./arch/x86/platform/intel-mid/ | sed 's/.[hc]:/:/' | sort -u | grep intel.com | cut -d: -f 2 | sort -u
david.a.cohen@linux.intel.com
jacob.jun.pan@intel.com
sathyanarayanan.kuppuswamy@intel.com
I'm trying to document what these functions to do to help identify where the g_hid template should go... but I'm going to wait for input from the platform/intel-mid team before I dig any further
There are many _init functions in this patchset, and they differ greatly from the ones in 3.19.0-rc4... I'm guessing it's it's going to be int *_init() of some sort and I'm just trying to narrow it down.
device_libs/platform_btlpm.c:38:static int __init bluetooth_init(void)
device_libs/platform_gpio_keys.c:66:static int __init pb_keys_init(void)
device_libs/platform_hsu.c:332:int intel_mid_hsu_init(struct device *dev, int port)
device_libs/platform_mid_pwm.c:95:static int __init intel_mid_pwm_init(void)
device_libs/platform_mrfl_regulator.c:116:static int __init regulator_init(void)
device_libs/platform_msic.c:59:static int __init msic_init(void)
SCU / System Controller Unit
FLIS / .... something about GPIOs
device_libs/platform_scu_flis.c:257:static int __init intel_scu_flis_init(void)
device_libs/platform_sdio_regulator.c:224:static int __init wifi_regulator_init(void)
device_libs/platform_soc_thermal.c:106:static int __init byt_soc_thermal_init(void)
device_libs/platform_soc_thermal.c:132:static int __init platform_soc_thermal_init(void)
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@...:/# cat
/sys/kernel/config/usb_gadget/gadget/functions/acm.usb0/port_num
0
Activity
hh commentedon Jan 10, 2015
@tingleby @arfoll is there some public facing github repo for work on the edison bsp? I've tried the https://communities.intel.com/community/makers/edison forum, but I'm not finding much there in regards to this type of integration.
I noticed you both worked for intel specifically on the iot-devkit and thought you might have some info on where the Intel Edison BSP repos / developers mailing list might be.
hh commentedon Jan 10, 2015
@rexstjohn you've made some nice wiki's related to getting things up on the edison, have you looked into hid gadget stuff at all? or building a BSP with yoctol-linux-3.19?
arfoll commentedon Jan 10, 2015
@hh sorry there are currently no Intel owned public git repositories for the edison BSPs for the time being. My apoligies. I'm not familiar enough with the edison kernel patchset to answer your question, asking on the Intel community forum is probably a good way to try get some attention.
hh commentedon Jan 10, 2015
Here are the intel folks that have their email in the edison BSP patch. I don't want to reach out directly yet, but if anyone looking at this or the https://communities.intel.com/message/272533 forum post knows who on the list I should reach out to, or better yet just connect them to the post or this github issue. @rexstjohn
hh commentedon Jan 10, 2015
Since I was also looking at using Linux 3.19, it seems in the platform/intel-mid on master there are only three intel devs. I don't mind reaching out to them directly. They are likely the right people.
... and this was confirmed by @stevencrossing
From https://twitter.com/stevencrossing/status/554318697649946625
@hippiehacker @rexstjohn no public mailing list (would be a good get), but those emails you found are the best guys to email & have fix
hh commentedon Jan 10, 2015
I'm trying to document what these functions to do to help identify where the g_hid template should go... but I'm going to wait for input from the platform/intel-mid team before I dig any further
There are many _init functions in this patchset, and they differ greatly from the ones in 3.19.0-rc4... I'm guessing it's it's going to be int *_init() of some sort and I'm just trying to narrow it down.
SCU / System Controller Unit
FLIS / .... something about GPIOs
wl12xx is the Bluetooth and WLAN chip: http://wireless.kernel.org/en/users/Drivers/wl12xx
sfi is for simple firmware interface: https://simplefirmware.org/
hh commentedon Jan 12, 2015
I'm not sure I understand the difference between configfs with gadgetfs.
Might be worth looking at these gadgetfs based sources as configfs for hid is only in 3.19.0-rc4
hh commentedon Jan 12, 2015
@agnathan do you know anyone that could give me a bit of direction here?
hh commentedon Jan 13, 2015
From http://article.gmane.org/gmane.linux.usb.general/120511