[PATCH 0/3] drivers: rpmon: new driver Remote Processor Monitor

From: Wang Wenhu
Date: Sat Apr 11 2020 - 05:54:39 EST


RPMON is a driver framework. It supports remote processor monitor
from user level. The baisc components are a character device
with sysfs interfaces for user space communication and different
kinds of message drivers introduced modularly, which are used to
communicate with remote processors.

As for user space, one can get notifications of different events
of remote processors, like their registrations, through standard
file read operation of the file discriptors related to the exported
character devices. Actions can also be taken into account via
standard write operations to the devices. Besides, the sysfs class
attributes could be accessed conveniently.

Message drivers act as engines to communicate with remote processors.
Currently RPMON_QMI is available which uses QMI infrastructures
on Qualcomm SoC Platforms.

RPMON_QMI is used by RPMON to communicate with remote processors
with QMI APIs if enabled. RPMON_QMI itself is designed as a modular
framework that would introduce different kinds of message sets
which may be updated for versions.

RPMON_QMI creates a device of rpmon_device type for each remote
processor endpoint. All the endpoint devices shares an unique set
of QMI suite.

RPMON_QMI_MSG_V01 implements a RPMON_QMI message set for connection check.
RPMON_QMI defines its message types modularly. Each rpmon service
binds to a message set and introduced as a module. This version 1.0
message set could be used for connection checking of remote processors.

RPMON_QMI messages depend on QCOM_QMI_HELPERS and should be updated
together with QMI related modules.

Wang Wenhu (3):
driver: rpmon: new driver Remote Processor Monitor
driver: rpmon: qmi message version 01
driver: rpmon: add rpmon_qmi driver

drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/rpmon/Kconfig | 54 ++++
drivers/rpmon/Makefile | 3 +
drivers/rpmon/rpmon.c | 505 +++++++++++++++++++++++++++++++
drivers/rpmon/rpmon_qmi.c | 434 ++++++++++++++++++++++++++
drivers/rpmon/rpmon_qmi.h | 77 +++++
drivers/rpmon/rpmon_qmi_msg_v1.c | 240 +++++++++++++++
include/linux/rpmon.h | 68 +++++
9 files changed, 1384 insertions(+)
create mode 100644 drivers/rpmon/Kconfig
create mode 100644 drivers/rpmon/Makefile
create mode 100644 drivers/rpmon/rpmon.c
create mode 100644 drivers/rpmon/rpmon_qmi.c
create mode 100644 drivers/rpmon/rpmon_qmi.h
create mode 100644 drivers/rpmon/rpmon_qmi_msg_v1.c
create mode 100644 include/linux/rpmon.h

--
2.17.1