diff options
author | Vikram Mulukutla <markivx@codeaurora.org> | 2015-03-30 18:24:47 -0700 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:07:37 -0700 |
commit | 2d65cf38d397296a57508736ac747c55419ed58f (patch) | |
tree | 9d1c8eba9ab16f6f864b0436c5705773de3687cb /drivers/base/firmware_class.c | |
parent | 9c0b572b23bdd9a9d42d556615343bdc101b5ca6 (diff) |
firmware_class: Include a size argument in unmap_fw_mem
Some implementations may need to know the size of a
region allocated by map_fw_mem in the context of the
unmap_fw_mem callback. Add this as an argument to the
callback signature.
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Diffstat (limited to 'drivers/base/firmware_class.c')
-rw-r--r-- | drivers/base/firmware_class.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index bf5d577e5292..8b19f239c1e8 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -147,7 +147,7 @@ struct firmware_buf { 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, void *data); + void (*unmap_fw_mem)(void *virt, size_t size, void *data); void *map_data; #ifdef CONFIG_FW_LOADER_USER_HELPER bool is_paged_buf; @@ -179,7 +179,7 @@ struct fw_desc { 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, void *data); + void (*unmap_fw_mem)(void *virt, size_t size, void *data); void *map_data; struct module *module; void *context; @@ -351,11 +351,11 @@ static int fw_read_file_contents(struct file *file, struct firmware_buf *fw_buf) fw_buf->data = buf; fw_buf->size = size; if (fw_buf->dest_addr) - fw_buf->unmap_fw_mem(buf, fw_buf->map_data); + fw_buf->unmap_fw_mem(buf, fw_buf->size, fw_buf->map_data); return 0; fail: if (fw_buf->dest_addr) - fw_buf->unmap_fw_mem(buf, fw_buf->map_data); + fw_buf->unmap_fw_mem(buf, fw_buf->size, fw_buf->map_data); else vfree(buf); return rc; @@ -786,7 +786,7 @@ static int __firmware_data_rw(struct firmware_priv *fw_priv, char *buffer, memcpy(fw_buf, buffer, count); *offset += count; - buf->unmap_fw_mem(fw_buf, buf->map_data); + buf->unmap_fw_mem(fw_buf, count, buf->map_data); out: return retval; @@ -1436,7 +1436,7 @@ 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, void *data), + void (*unmap_fw_mem)(void *virt, size_t sz, void *data), void *map_data) { struct fw_desc desc; @@ -1504,7 +1504,7 @@ _request_firmware_nowait( void (*cont)(const struct firmware *fw, void *context), bool nocache, 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, void *data), + void (*unmap_fw_mem)(void *virt, size_t size, void *data), void *map_data) { struct fw_desc *desc; @@ -1599,7 +1599,7 @@ request_firmware_nowait_into_buf( 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, void *data), + void (*unmap_fw_mem)(void *virt, size_t size, void *data), void *map_data) { return _request_firmware_nowait(module, uevent, name, device, gfp, |