summaryrefslogtreecommitdiff
path: root/include/linux/remoteproc/pruss.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/remoteproc/pruss.h')
-rw-r--r--include/linux/remoteproc/pruss.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/linux/remoteproc/pruss.h b/include/linux/remoteproc/pruss.h
index fbadfcfacb34..579dafbbaccf 100644
--- a/include/linux/remoteproc/pruss.h
+++ b/include/linux/remoteproc/pruss.h
@@ -28,4 +28,34 @@ enum pruss_pru_id {
PRUSS_NUM_PRUS,
};
+struct device_node;
+
+#if IS_ENABLED(CONFIG_PRU_REMOTEPROC)
+
+struct rproc *pru_rproc_get(struct device_node *np, int index,
+ enum pruss_pru_id *pru_id);
+void pru_rproc_put(struct rproc *rproc);
+
+#else
+
+static inline struct rproc *
+pru_rproc_get(struct device_node *np, int index, enum pruss_pru_id *pru_id)
+{
+ return ERR_PTR(-EOPNOTSUPP);
+}
+
+static inline void pru_rproc_put(struct rproc *rproc) { }
+
+#endif /* CONFIG_PRU_REMOTEPROC */
+
+static inline bool is_pru_rproc(struct device *dev)
+{
+ const char *drv_name = dev_driver_string(dev);
+
+ if (strncmp(drv_name, PRU_RPROC_DRVNAME, sizeof(PRU_RPROC_DRVNAME)))
+ return false;
+
+ return true;
+}
+
#endif /* __LINUX_PRUSS_H */