On Fri, 2017-08-04 at 07:59 -0700, Bjorn Andersson wrote: > This series starts by moving the common definitions of the QMUX > protocol to the > uapi header, as they are shared with clients - both in kernel and > userspace. > > This series then introduces in-kernel helper functions for aiding the > handling > of QMI encoded messages in the kernel. QMI encoding is a wire-format > used in > exchanging messages between the majority of QRTR clients and > services. This raises a few red-flags for me. So far, we've kept almost everything QMI related in userspace and handled all QMI control-channel messages from libraries like libqmi or uqmi via the cdc-wdm driver and the "rmnet" interface via the qmi_wwan driver. The kernel drivers just serve as the transport. Can you describe what kinds of in-kernel drivers need to actually parse QMI messages as part of their operation? Dan > It then adds an abstractions to reduce the duplication of common code > in > drivers that needs to query the name server and send and receive > encoded > messages to a remote service. > > Finally it introduces a sample implementation for showing QRTR and > the QMI > helpers in action. The sample device instantiates in response to > finding the > "test service" and implements the "test protocol". > > Bjorn Andersson (6): > net: qrtr: Invoke sk_error_report() after setting sk_err > net: qrtr: Move constants to header file > net: qrtr: Add control packet definition to uapi > soc: qcom: Introduce QMI encoder/decoder > soc: qcom: Introduce QMI helpers > samples: Introduce Qualcomm QRTR sample client > > drivers/soc/qcom/Kconfig | 8 + > drivers/soc/qcom/Makefile | 3 + > drivers/soc/qcom/qmi_encdec.c | 812 > ++++++++++++++++++++++++++++++++++++++ > drivers/soc/qcom/qmi_interface.c | 540 +++++++++++++++++++++++++ > include/linux/soc/qcom/qmi.h | 249 ++++++++++++ > include/uapi/linux/qrtr.h | 35 ++ > net/qrtr/qrtr.c | 16 +- > samples/Kconfig | 8 + > samples/Makefile | 2 +- > samples/qrtr/Makefile | 1 + > samples/qrtr/qrtr_sample_client.c | 603 ++++++++++++++++++++++++++++ > 11 files changed, 2261 insertions(+), 16 deletions(-) > create mode 100644 drivers/soc/qcom/qmi_encdec.c > create mode 100644 drivers/soc/qcom/qmi_interface.c > create mode 100644 include/linux/soc/qcom/qmi.h > create mode 100644 samples/qrtr/Makefile > create mode 100644 samples/qrtr/qrtr_sample_client.c > -- To unsubscribe from this list: send the line "unsubscribe linux-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html