Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752658AbdHDO7p (ORCPT ); Fri, 4 Aug 2017 10:59:45 -0400 Received: from mail-pg0-f43.google.com ([74.125.83.43]:37253 "EHLO mail-pg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752439AbdHDO7n (ORCPT ); Fri, 4 Aug 2017 10:59:43 -0400 From: Bjorn Andersson To: "David S. Miller" , Andy Gross , David Brown Cc: linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/6] In-kernel QMI handling Date: Fri, 4 Aug 2017 07:59:32 -0700 Message-Id: <20170804145938.25427-1-bjorn.andersson@linaro.org> X-Mailer: git-send-email 2.12.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1959 Lines: 43 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. 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 -- 2.12.0