diff options
author | Ming Lei <ming.lei@canonical.com> | 2012-08-04 12:01:22 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-16 13:24:21 -0700 |
commit | 2887b3959c8b2f6ed1f62ce95c0888aedb1ea84b (patch) | |
tree | d8706698f44593c7c0075912c6e2a4b81ebf32a6 /include/linux/firmware.h | |
parent | 1f2b79599ee8f5fc82cc73c6c090eb6cdff881d6 (diff) | |
download | linux-stable-2887b3959c8b2f6ed1f62ce95c0888aedb1ea84b.tar.gz linux-stable-2887b3959c8b2f6ed1f62ce95c0888aedb1ea84b.tar.bz2 linux-stable-2887b3959c8b2f6ed1f62ce95c0888aedb1ea84b.zip |
firmware loader: introduce cache_firmware and uncache_firmware
This patches introduce two kernel APIs of cache_firmware and
uncache_firmware, both of which take the firmware file name
as the only parameter.
So any drivers can call cache_firmware to cache the specified
firmware file into kernel memory, and can use the cached firmware
in situations which can't request firmware from user space.
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/firmware.h')
-rw-r--r-- | include/linux/firmware.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/firmware.h b/include/linux/firmware.h index e85b771f3d8c..e4279fedb93a 100644 --- a/include/linux/firmware.h +++ b/include/linux/firmware.h @@ -47,6 +47,8 @@ int request_firmware_nowait( void (*cont)(const struct firmware *fw, void *context)); void release_firmware(const struct firmware *fw); +int cache_firmware(const char *name); +int uncache_firmware(const char *name); #else static inline int request_firmware(const struct firmware **fw, const char *name, @@ -65,6 +67,16 @@ static inline int request_firmware_nowait( static inline void release_firmware(const struct firmware *fw) { } + +static inline int cache_firmware(const char *name) +{ + return -ENOENT; +} + +static inline int uncache_firmware(const char *name) +{ + return -EINVAL; +} #endif #endif |