These add support for Qualcomm-based smartphone modems.
The first is fairly straightforward: searching for "rpmsg"-subsystem devices and supporting them in gobi as a serial device. A friend has tested it on the mainline kernel, with the help of something like `rpmsgexport /dev/rpmsg_ctrl0 DATA5_CNTL` (https://github.com/andersson/rpmsgexport) and then giving the created rpmsg node OFONO_DRIVER=gobi property.
The second is uglier, and maybe controversial, since it's for Qualcomm's forked kernel. The smdpkt device doesn't support polling for write, so oFono would wait forever on the poll. This would probably be a 5-line fix in the kernel, but there are thousands of kernel forks, so I thought it might be better to workaround in oFono. I've tested it on Samsung S4 Mini LTE, running a kernel based on the MSM fork.
Joey Hewitt (2):
gobi: support rpmsg device node (SMD channel)
gobi/qmi: support smdpkt device (MSM kernel forks)
drivers/qmimodem/qmi.c | 33 ++++++++++++++++++++++---
drivers/qmimodem/qmi.h | 6 ++++-
plugins/gobi.c | 7 ++++--
plugins/udevng.c | 66 +++++++++++++++++++++++++++++---------------------
4 files changed, 77 insertions(+), 35 deletions(-)
--
2.7.4