remoteproc: Add a rproc_set_firmware() API
authorSuman Anna <s-anna@ti.com>
Sat, 21 Nov 2020 03:20:42 +0000 (21:20 -0600)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 26 Nov 2020 05:05:24 +0000 (23:05 -0600)
commit4c1ad562d303526b5d9b49f5e0d72da13ef78dec
tree5303f34be98c41eb1e95b98b6a938c2919e685d9
parent0ac72f909ffe37d829deb1d18d057c83bec5e3b1
remoteproc: Add a rproc_set_firmware() API

A new API, rproc_set_firmware() is added to allow the remoteproc platform
drivers and remoteproc client drivers to be able to configure a custom
firmware name that is different from the default name used during
remoteproc registration. This function is being introduced to provide
a kernel-level equivalent of the current sysfs interface to remoteproc
client drivers, and can only change firmwares when the remoteproc is
offline. This allows some remoteproc drivers to choose different firmwares
at runtime based on the functionality the remote processor is providing.
The TI PRU Ethernet driver will be an example of such usage as it
requires to use different firmwares for different supported protocols.

Also, update the firmware_store() function used by the sysfs interface
to reuse this function to avoid code duplication.

Reviewed-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
Signed-off-by: Suman Anna <s-anna@ti.com>
Link: https://lore.kernel.org/r/20201121032042.6195-1-s-anna@ti.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/remoteproc_core.c
drivers/remoteproc/remoteproc_sysfs.c
include/linux/remoteproc.h