[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201216165239.2744-4-grzegorz.jaszczyk@linaro.org>
Date: Wed, 16 Dec 2020 17:52:37 +0100
From: Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>
To: ohad@...ery.com, bjorn.andersson@...aro.org,
mathieu.poirier@...aro.org, robh+dt@...nel.org, s-anna@...com,
ssantosh@...nel.org
Cc: grzegorz.jaszczyk@...aro.org, linux-remoteproc@...r.kernel.org,
lee.jones@...aro.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, praneeth@...com,
rogerq@...com, t-kristo@...com
Subject: [PATCH v2 3/5] remoteproc: pru: Deny rproc sysfs ops for PRU client driven boots
From: Suman Anna <s-anna@...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 'deny_sysfs_ops' 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@...com>
Co-developed-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>
Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>
---
drivers/remoteproc/pru_rproc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c
index 568286040bc4..3ffd49f77cfc 100644
--- a/drivers/remoteproc/pru_rproc.c
+++ b/drivers/remoteproc/pru_rproc.c
@@ -228,6 +228,7 @@ struct rproc *pru_rproc_get(struct device_node *np, int index,
}
pru->client_np = np;
+ rproc->deny_sysfs_ops = true;
mutex_unlock(&pru->lock);
@@ -258,6 +259,7 @@ void pru_rproc_put(struct rproc *rproc)
mutex_lock(&pru->lock);
pru->client_np = NULL;
+ rproc->deny_sysfs_ops = false;
mutex_unlock(&pru->lock);
put_device(&rproc->dev);
--
2.29.0
Powered by blists - more mailing lists