On 31/10/2022 09:37, MD Danish Anwar wrote: > From: Suman Anna <s-anna@xxxxxx> > > 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@xxxxxx> > Co-developed-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@xxxxxxxxxx> > Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@xxxxxxxxxx> > Signed-off-by: Puranjay Mohan <p-mohan@xxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxxxxxx> > --- > 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 9ba73cfc29e2..14eb27bb5f3f 100644 > --- a/drivers/remoteproc/pru_rproc.c > +++ b/drivers/remoteproc/pru_rproc.c > @@ -230,6 +230,7 @@ struct rproc *pru_rproc_get(struct device_node *np, int index, > } > > pru->client_np = np; > + rproc->sysfs_read_only = true; > > mutex_unlock(&pru->lock); > > @@ -268,6 +269,7 @@ void pru_rproc_put(struct rproc *rproc) > } > > pru->client_np = NULL; > + rproc->sysfs_read_only = false; > mutex_unlock(&pru->lock); > > rproc_put(rproc);