diff options
author | Amir Samuelov <amirs@codeaurora.org> | 2016-09-09 11:42:57 +0300 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-09 12:54:32 -0700 |
commit | 5a5b5183aa270bc9175c9a3db28babc1e31edae7 (patch) | |
tree | 9eb211fd30f7c7661dd1fcd761ea825b8ac47c41 /drivers | |
parent | 3dc7ca5e82cc56abc0463e35f1851cd8e2eed97a (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.c | 22 |
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; |