diff mbox series

[RFC,03/13] remoteproc: pru: Make sysfs entries read-only for PRU client driven boots

Message ID 20220406094358.7895-4-p-mohan@ti.com (mailing list archive)
State New
Headers show
Series PRUSS Remoteproc, Platform APIS, and Ethernet Driver | expand

Commit Message

Puranjay Mohan April 6, 2022, 9:43 a.m. UTC
From: Suman Anna <s-anna@ti.com>

The PRU remoteproc driver is not configured for 'auto-boot' by default,
and allows to be booted either by in-kernel PRU client drivers or by
userspace using the generic remoteproc sysfs interfaces. The sysfs
interfaces should not be permitted to change the remoteproc firmwares
or states when a PRU is being managed by an in-kernel client driver.
Use the newly introduced remoteproc generic 'sysfs_read_only' flag to
provide these restrictions by setting and clearing it appropriately
during the PRU acquire and release steps.

Signed-off-by: Suman Anna <s-anna@ti.com>
Co-developed-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org>
Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org>
Signed-off-by: Puranjay Mohan <p-mohan@ti.com>
 drivers/remoteproc/pru_rproc.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series


diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c
index 7a35b400287a..9fed3e0372d3 100644
--- a/drivers/remoteproc/pru_rproc.c
+++ b/drivers/remoteproc/pru_rproc.c
@@ -231,6 +231,7 @@  struct rproc *pru_rproc_get(struct device_node *np, int index,
 	pru->client_np = np;
+	rproc->sysfs_read_only = true;
@@ -265,6 +266,7 @@  void pru_rproc_put(struct rproc *rproc)
 	pru->client_np = NULL;
+	rproc->sysfs_read_only = false;