diff options
author | Luis R. Rodriguez <mcgrof@kernel.org> | 2015-07-30 15:48:57 -0700 |
---|---|---|
committer | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2016-02-18 17:14:00 -0500 |
commit | 5275d194e0e56db2bdc43e58f5e54b8e36d6fb03 (patch) | |
tree | e62a3820757d6fc8c59a79907c8659be047525e9 /drivers/base | |
parent | ed04630b34c117347423a49af35125f5affff6b9 (diff) | |
download | talos-obmc-linux-5275d194e0e56db2bdc43e58f5e54b8e36d6fb03.tar.gz talos-obmc-linux-5275d194e0e56db2bdc43e58f5e54b8e36d6fb03.zip |
firmware: move completing fw into a helper
This will be re-used later through a new extensible interface.
Reviewed-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Acked-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/firmware_class.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index ce88355eb128..7bc4ad0f36d5 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -322,6 +322,15 @@ fail: return rc; } +static void fw_finish_direct_load(struct device *device, + struct firmware_buf *buf) +{ + mutex_lock(&fw_lock); + set_bit(FW_STATUS_DONE, &buf->status); + complete_all(&buf->completion); + mutex_unlock(&fw_lock); +} + static int fw_get_filesystem_firmware(struct device *device, struct firmware_buf *buf) { @@ -363,10 +372,7 @@ static int fw_get_filesystem_firmware(struct device *device, if (!rc) { dev_dbg(device, "direct-loading %s\n", buf->fw_id); - mutex_lock(&fw_lock); - set_bit(FW_STATUS_DONE, &buf->status); - complete_all(&buf->completion); - mutex_unlock(&fw_lock); + fw_finish_direct_load(device, buf); } return rc; |