summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAmir Samuelov <amirs@codeaurora.org>2016-09-09 11:42:57 +0300
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-09 12:54:32 -0700
commit5a5b5183aa270bc9175c9a3db28babc1e31edae7 (patch)
tree9eb211fd30f7c7661dd1fcd761ea825b8ac47c41 /drivers
parent3dc7ca5e82cc56abc0463e35f1851cd8e2eed97a (diff)
soc: qcom: pil: allow to set subsystem firmware name
Allow the PIL client to set the firmware file name for a specific subsystem. Change-Id: Ib410cae212afb067f5df2e5d25f4f23f583ed1f2 Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/soc/qcom/subsystem_restart.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/soc/qcom/subsystem_restart.c b/drivers/soc/qcom/subsystem_restart.c
index 0ed8a6533e00..76d941ceb77e 100644
--- a/drivers/soc/qcom/subsystem_restart.c
+++ b/drivers/soc/qcom/subsystem_restart.c
@@ -746,6 +746,28 @@ static void subsys_stop(struct subsys_device *subsys)
notify_each_subsys_device(&subsys, 1, SUBSYS_AFTER_SHUTDOWN, NULL);
}
+int subsystem_set_fwname(const char *name, const char *fw_name)
+{
+ struct subsys_device *subsys;
+
+ if (!name)
+ return -EINVAL;
+
+ if (!fw_name)
+ return -EINVAL;
+
+ subsys = find_subsys(name);
+ if (!subsys)
+ return -EINVAL;
+
+ pr_debug("Changing subsys [%s] fw_name to [%s]\n", name, fw_name);
+ strlcpy(subsys->desc->fw_name, fw_name,
+ sizeof(subsys->desc->fw_name));
+
+ return 0;
+}
+EXPORT_SYMBOL(subsystem_set_fwname);
+
void *__subsystem_get(const char *name, const char *fw_name)
{
struct subsys_device *subsys;