On Fri, Nov 06, 2020 at 06:31:30PM +0100, Arnaud POULIQUEN wrote: > On 10/30/20 8:57 PM, Mathieu Poirier wrote: > > Add an new detach() operation in order to support scenarios where > > the remoteproc core is going away but the remote processor is > > kept operating. This could be the case when the system is > > rebooted or when the platform driver is removed. > > > > Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> > > Reviewed-by: Peng Fan <peng.fan@xxxxxxx> > > --- > > include/linux/remoteproc.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h > > index 3fe2ae0bd1ca..3faff9bb4fb8 100644 > > --- a/include/linux/remoteproc.h > > +++ b/include/linux/remoteproc.h > > @@ -361,6 +361,7 @@ enum rsc_handling_status { > > * @start: power on the device and boot it > > * @stop: power off the device > > * @attach: attach to a device that his already powered up > > + * @detach: tell the remote processor that the core is going away > > This comment seems to me rather ambiguous... > "tell the remote processor" could means communication with the remote processor. > The term "remote processor" is used for this op and "device" for the other ops. > Proposal: > detach from a device by leaving it power-up. I agree - now that I'm looking at it again it is quite obvious. > > Regards, > Arnaud > > > * @kick: kick a virtqueue (virtqueue id given as a parameter) > > * @da_to_va: optional platform hook to perform address translations > > * @parse_fw: parse firmware to extract information (e.g. resource table) > > @@ -382,6 +383,7 @@ struct rproc_ops { > > int (*start)(struct rproc *rproc); > > int (*stop)(struct rproc *rproc); > > int (*attach)(struct rproc *rproc); > > + int (*detach)(struct rproc *rproc); > > void (*kick)(struct rproc *rproc, int vqid); > > void * (*da_to_va)(struct rproc *rproc, u64 da, size_t len); > > int (*parse_fw)(struct rproc *rproc, const struct firmware *fw); > >