lkml.org 
[lkml]   [2022]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 2/2] remoteproc: core: Introduce rproc_mem_entry_free
Date
Introduce a helper to free the rproc_mem_entry allocated by
rproc_mem_entry_init(). This helper is to help manage rproc carveouts
added to an rproc outside of remoteproc.

Signed-off-by: Chris Lew <quic_clew@quicinc.com>
---
drivers/remoteproc/remoteproc_core.c | 13 +++++++++++++
include/linux/remoteproc.h | 1 +
2 files changed, 14 insertions(+)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index ee71fccae970..161691fd2e96 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -1069,6 +1069,19 @@ rproc_mem_entry_init(struct device *dev,
EXPORT_SYMBOL(rproc_mem_entry_init);

/**
+ * rproc_mem_entry_free() - free a rproc_mem_entry struct
+ * @mem: rproc_mem_entry allocated by rproc_mem_entry_init()
+ *
+ * This function frees a rproc_mem_entry_struct that was allocated by
+ * rproc_mem_entry_init().
+ */
+void rproc_mem_entry_free(struct rproc_mem_entry *mem)
+{
+ kfree(mem);
+}
+EXPORT_SYMBOL(rproc_mem_entry_free);
+
+/**
* rproc_of_resm_mem_entry_init() - allocate and initialize rproc_mem_entry struct
* from a reserved memory phandle
* @dev: pointer on device struct
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h
index 43112aa78ffe..9b039f37da12 100644
--- a/include/linux/remoteproc.h
+++ b/include/linux/remoteproc.h
@@ -666,6 +666,7 @@ rproc_mem_entry_init(struct device *dev,
int (*alloc)(struct rproc *, struct rproc_mem_entry *),
int (*release)(struct rproc *, struct rproc_mem_entry *),
const char *name, ...);
+void rproc_mem_entry_free(struct rproc_mem_entry *mem);

struct rproc_mem_entry *
rproc_of_resm_mem_entry_init(struct device *dev, u32 of_resm_idx, size_t len,
--
2.7.4
\
 
 \ /
  Last update: 2022-06-10 21:25    [W:1.530 / U:0.868 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site