remoteproc: Introduce sysfs_read_only flag
authorPuranjay Mohan <p-mohan@ti.com>
Wed, 16 Feb 2022 08:12:23 +0000 (13:42 +0530)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Fri, 4 Mar 2022 16:28:25 +0000 (09:28 -0700)
commit26c9da51949916b73d995a2c89412c346903273d
treebf3b4ede43214c6bdcaeb64bb9a7685ee2af137f
parentf89672cc3681952f2d06314981a6b45f8b0045d1
remoteproc: Introduce sysfs_read_only flag

The remoteproc framework provides sysfs interfaces for changing
the firmware name and for starting/stopping a remote processor
through the sysfs files 'state' and 'firmware'. The 'coredump'
file is used to set the coredump configuration. The 'recovery'
sysfs file can also be used similarly to control the error recovery
state machine of a remoteproc. These interfaces are currently
allowed irrespective of how the remoteprocs were booted (like
remoteproc self auto-boot, remoteproc client-driven boot etc).
These interfaces can adversely affect a remoteproc and its clients
especially when a remoteproc is being controlled by a remoteproc
client driver(s). Also, not all remoteproc drivers may want to
support the sysfs interfaces by default.

Add support to make the remoteproc sysfs files read only by
introducing a state flag 'sysfs_read_only' that the individual
remoteproc drivers can set based on their usage needs. The default
behavior is to allow the sysfs operations as before.

Implement attribute_group->is_visible() to make the sysfs
entries read only when 'sysfs_read_only' flag is set.

Signed-off-by: Puranjay Mohan <p-mohan@ti.com>
Link: https://lore.kernel.org/r/20220216081224.9956-2-p-mohan@ti.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
drivers/remoteproc/remoteproc_sysfs.c
include/linux/remoteproc.h