It is often desireable to boot a remote processor with different
firmware files, depending on the needs of the system at a particular
time. This series adds a sysfs interface to the remoteproc core,
exposing interfaces to manipulate the remote processor. One interface is
the "state" file which performs the same function as the one in debugfs
(which is removed later in the series). The other is a "firmware" file
which allows retrieval of the name of the running firmware, and allows a
new firmware to be loaded when written, as long as the remote processor
is currently stopped.

Some groundwork must be laid first, changing the storage mechanism of
the firmware name such that it can be rewritten easily, then that is
wired up to the new sysfs interface.

This series is based on v4.9-rc1

Changes in v2:
Use a kmalloc'd copy of the firmware name instead of having a fixed
length array in struct rproc
New patch to allow access to firmware loading from remoteproc_sysfs.c
Have firmware_store perform the necessary steps inline.
Use sysfs_streq when dealing with writes to sysfs files

Matt Redfearn (4):
  remoteproc: Keep local copy of firmware name
  remoteproc: Make rproc_add_virtio_devices non-static
  remoteproc: Add a sysfs interface for firmware and state
  remoteproc: debugfs: Remove state entry which is duplicated is sysfs

 Documentation/ABI/testing/sysfs-class-remoteproc |  50 ++++++++
 drivers/remoteproc/Makefile                      |   1 +
 drivers/remoteproc/remoteproc_core.c             |  36 +++---
 drivers/remoteproc/remoteproc_debugfs.c          |  71 -----------
 drivers/remoteproc/remoteproc_internal.h         |   6 +
 drivers/remoteproc/remoteproc_sysfs.c            | 155 +++++++++++++++++++++++
 include/linux/remoteproc.h                       |   2 +-
 7 files changed, 233 insertions(+), 88 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-class-remoteproc
 create mode 100644 drivers/remoteproc/remoteproc_sysfs.c


Reply via email to