diff options
Diffstat (limited to 'include/linux/firmware.h')
-rw-r--r-- | include/linux/firmware.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/include/linux/firmware.h b/include/linux/firmware.h index 5c41c5e75b5c..8ddd41a5ff2c 100644 --- a/include/linux/firmware.h +++ b/include/linux/firmware.h @@ -48,6 +48,20 @@ int request_firmware_nowait( int request_firmware_direct(const struct firmware **fw, const char *name, struct device *device); +int request_firmware_into_buf(const char *name, struct device *device, + phys_addr_t dest_addr, size_t dest_size, + void * (*map_fw_mem)(phys_addr_t phys, + size_t size, void *data), + void (*unmap_fw_mem)(void *virt, size_t size, + void *data), + void *data); +int request_firmware_nowait_into_buf( + struct module *module, bool uevent, + const char *name, struct device *device, gfp_t gfp, void *context, + void (*cont)(const struct firmware *fw, void *context), + phys_addr_t dest_addr, size_t dest_size, + void * (*map_fw_mem)(phys_addr_t phys, size_t size, void *data), + void (*unmap_fw_mem)(void *virt, size_t size, void *data), void *data); void release_firmware(const struct firmware *fw); #else static inline int request_firmware(const struct firmware **fw, @@ -56,6 +70,19 @@ static inline int request_firmware(const struct firmware **fw, { return -EINVAL; } +static inline int request_firmware_into_buf(const char *name, + struct device *device, + phys_addr_t dest_addr, + size_t dest_size, + void * (*map_fw_mem)(phys_addr_t phys, + size_t size, void *data), + void (*unmap_fw_mem)(void *virt, + size_t size, + void *data), + void *data) +{ + return -EINVAL; +} static inline int request_firmware_nowait( struct module *module, bool uevent, const char *name, struct device *device, gfp_t gfp, void *context, @@ -63,7 +90,16 @@ static inline int request_firmware_nowait( { return -EINVAL; } - +static inline int request_firmware_nowait_into_buf( + struct module *module, bool uevent, + const char *name, struct device *device, gfp_t gfp, void *context, + void (*cont)(const struct firmware *fw, void *context), + phys_addr_t dest_addr, size_t dest_size, + void * (*map_fw_mem)(phys_addr_t phys, size_t size, void *data), + void (*unmap_fw_mem)(void *virt, size_t size, void *data), void *data) +{ + return -EINVAL; +} static inline void release_firmware(const struct firmware *fw) { } |