summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSjur Brændeland <sjur.brandeland@stericsson.com>2012-06-19 09:08:18 +0200
committerOhad Ben-Cohen <ohad@wizery.com>2012-07-15 10:39:01 +0200
commit4afc89d66c60a372ec15e99eee93621f650b5d17 (patch)
treea6e8c4cd9ea726de73e967b2f0372230ba73a550 /include
parentremoteproc: Move Elf related functions to separate file (diff)
downloadlinux-4afc89d66c60a372ec15e99eee93621f650b5d17.tar.xz
linux-4afc89d66c60a372ec15e99eee93621f650b5d17.zip
remoteproc: Support custom firmware handlers
Firmware handling is made customizable. This is done by creating a separate ops structure for the firmware functions that depends on a particular firmware format (such as ELF). The ELF functions are default used unless the HW driver explicitly injects another firmware handler by updating rproc->fw_ops. The function rproc_da_to_va() is exported, as custom firmware handlers may need to use this function. Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com> [ohad: namespace fixes, whitespace fixes, style fixes] Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/remoteproc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h
index eea3ac86b2b7..131b53957b9f 100644
--- a/include/linux/remoteproc.h
+++ b/include/linux/remoteproc.h
@@ -369,6 +369,7 @@ enum rproc_state {
* @priv: private data which belongs to the platform-specific rproc module
* @ops: platform-specific start/stop rproc handlers
* @dev: virtual device for refcounting and common remoteproc behavior
+ * @fw_ops: firmware-specific handlers
* @power: refcount of users who need this rproc powered up
* @state: state of the device
* @lock: lock which protects concurrent manipulations of the rproc
@@ -391,6 +392,7 @@ struct rproc {
void *priv;
const struct rproc_ops *ops;
struct device dev;
+ const struct rproc_fw_ops *fw_ops;
atomic_t power;
unsigned int state;
struct mutex lock;