diff options
author | Bjorn Andersson <bjorn.andersson@linaro.org> | 2018-01-06 02:58:01 +0300 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2018-01-15 20:29:40 +0300 |
commit | 0f21f9cc9d868784c7564edc0cfeddd25ca9621a (patch) | |
tree | 4529534ba2c028abd340bf7f47ba9646eb838091 /drivers/remoteproc/qcom_q6v5_pil.c | |
parent | fb98e2bdbd5f5949459dcfe9976bdafdb0ed1948 (diff) | |
download | linux-0f21f9cc9d868784c7564edc0cfeddd25ca9621a.tar.xz |
remoteproc: Merge rproc_ops and rproc_fw_ops
There are currently a few different schemes used for overriding fw_ops
or parts of fw_ops. Merge fw_ops into rproc_ops and expose the default
ELF-loader symbols so that they can be assigned by the drivers.
To keep backwards compatibility with the "default" case, a driver not
specifying the "load" operation is assumed to want the full ELF-loader
suit of functions.
Reviewed-By: Loic Pallardy <loic.pallardy@st.com>
Tested-By: Loic Pallardy <loic.pallardy@st.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/remoteproc/qcom_q6v5_pil.c')
-rw-r--r-- | drivers/remoteproc/qcom_q6v5_pil.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/remoteproc/qcom_q6v5_pil.c b/drivers/remoteproc/qcom_q6v5_pil.c index 8a3fa2bcc9f6..3ea668d9fd4c 100644 --- a/drivers/remoteproc/qcom_q6v5_pil.c +++ b/drivers/remoteproc/qcom_q6v5_pil.c @@ -342,11 +342,6 @@ static int q6v5_load(struct rproc *rproc, const struct firmware *fw) return 0; } -static const struct rproc_fw_ops q6v5_fw_ops = { - .find_rsc_table = q6v5_find_rsc_table, - .load = q6v5_load, -}; - static int q6v5_rmb_pbl_wait(struct q6v5 *qproc, int ms) { unsigned long timeout; @@ -931,6 +926,8 @@ static const struct rproc_ops q6v5_ops = { .start = q6v5_start, .stop = q6v5_stop, .da_to_va = q6v5_da_to_va, + .find_rsc_table = q6v5_find_rsc_table, + .load = q6v5_load, }; static irqreturn_t q6v5_wdog_interrupt(int irq, void *dev) @@ -1150,8 +1147,6 @@ static int q6v5_probe(struct platform_device *pdev) return -ENOMEM; } - rproc->fw_ops = &q6v5_fw_ops; - qproc = (struct q6v5 *)rproc->priv; qproc->dev = &pdev->dev; qproc->rproc = rproc; |