Bjorn Andersson [off-list ref] writes:
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.
Interesting! I tried to add some QMI handling in the kernel a few years
ago, but was thankfully voted down. See
https://www.spinics.net/lists/netdev/msg183101.html and the following
discussion. I am convinced that was the right decision, for the client
side at least. The protocol is just too extensive and ever-growing to be
implemented in the kernel. We would be catching up forever.
Note that I had very limited knowledge of the protocol at the time I
wrote that driver. Still have, in fact :-)
Bjørn