aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/remoteproc.h
diff options
context:
space:
mode:
authorSarangdhar Joshi <spjoshi@codeaurora.org>2017-01-23 17:53:19 -0800
committerBjorn Andersson <bjorn.andersson@linaro.org>2017-01-30 14:18:54 -0800
commit2099c77d4af7d1582db6d4437014cf18fe62e74b (patch)
treee1ef04980a1a5b94455d2959e0bfdd79e77b8ddd /include/linux/remoteproc.h
parentremoteproc: Add RPROC_DELETED state (diff)
downloadlinux-dev-2099c77d4af7d1582db6d4437014cf18fe62e74b.tar.xz
linux-dev-2099c77d4af7d1582db6d4437014cf18fe62e74b.zip
remoteproc: Drop firmware_loading_complete
firmware_loading_complete is used to synchronize operations on rproc while asynchronous firmware loading is in progress. However, rproc_boot() no longer waits on firmware_loading_complete. Hence drop this completion variable altogether and handle the race between rproc_del() and rproc_boot() using new state RPROC_DELETED. The request_firmware_nowait() will hold the reference to rproc device by using a get_device()/put_device(), so the rproc struct will remain valid even when we return from rproc_del() before the asynchronous call to rproc_fw_config_virtio() completes. CC: Loic Pallardy <loic.pallardy@st.com> CC: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Sarangdhar Joshi <spjoshi@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'include/linux/remoteproc.h')
-rw-r--r--include/linux/remoteproc.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h
index e691f64fc7be..81da49564ff4 100644
--- a/include/linux/remoteproc.h
+++ b/include/linux/remoteproc.h
@@ -399,7 +399,6 @@ enum rproc_crash_type {
* @num_traces: number of trace buffers
* @carveouts: list of physically contiguous memory allocations
* @mappings: list of iommu mappings we initiated, needed on shutdown
- * @firmware_loading_complete: marks e/o asynchronous firmware loading
* @bootaddr: address of first instruction to boot rproc with (optional)
* @rvdevs: list of remote virtio devices
* @subdevs: list of subdevices, to following the running state
@@ -431,7 +430,6 @@ struct rproc {
int num_traces;
struct list_head carveouts;
struct list_head mappings;
- struct completion firmware_loading_complete;
u32 bootaddr;
struct list_head rvdevs;
struct list_head subdevs;