Loading arch/arm/mach-msm/peripheral-loader.c +9 −2 Original line number Diff line number Diff line Loading @@ -545,8 +545,8 @@ static int pil_load_seg(struct pil_desc *desc, struct pil_seg *seg) snprintf(fw_name, ARRAY_SIZE(fw_name), "%s.b%02d", desc->name, num); ret = request_firmware_direct(fw_name, desc->dev, seg->paddr, seg->filesz, map_fw_mem, unmap_fw_mem); seg->filesz, desc->map_fw_mem, desc->unmap_fw_mem); if (ret < 0) { pil_err(desc, "Failed to locate blob %s or blob is too big.\n", fw_name); Loading Loading @@ -822,6 +822,13 @@ int pil_desc_init(struct pil_desc *desc) INIT_DELAYED_WORK(&priv->proxy, pil_proxy_unvote_work); INIT_LIST_HEAD(&priv->segs); /* Make sure mapping functions are set. */ if (!desc->map_fw_mem) desc->map_fw_mem = map_fw_mem; if (!desc->unmap_fw_mem) desc->unmap_fw_mem = unmap_fw_mem; return 0; err: kfree(priv); Loading arch/arm/mach-msm/peripheral-loader.h +7 −1 Original line number Diff line number Diff line /* Copyright (c) 2010-2012, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -27,6 +27,10 @@ struct pil_priv; * @priv: DON'T USE - internal only * @proxy_unvote_irq: IRQ to trigger a proxy unvote. proxy_timeout * is ignored if this is set. * @map_fw_mem: Custom function used to map physical address space to virtual. * This defaults to ioremap if not specified. * @unmap_fw_mem: Custom function used to undo mapping by map_fw_mem. * This defaults to iounmap if not specified. */ struct pil_desc { const char *name; Loading @@ -38,6 +42,8 @@ struct pil_desc { #define PIL_SKIP_ENTRY_CHECK BIT(0) struct pil_priv *priv; unsigned int proxy_unvote_irq; void * (*map_fw_mem)(phys_addr_t phys, size_t size); void (*unmap_fw_mem)(void *virt); }; /** Loading Loading
arch/arm/mach-msm/peripheral-loader.c +9 −2 Original line number Diff line number Diff line Loading @@ -545,8 +545,8 @@ static int pil_load_seg(struct pil_desc *desc, struct pil_seg *seg) snprintf(fw_name, ARRAY_SIZE(fw_name), "%s.b%02d", desc->name, num); ret = request_firmware_direct(fw_name, desc->dev, seg->paddr, seg->filesz, map_fw_mem, unmap_fw_mem); seg->filesz, desc->map_fw_mem, desc->unmap_fw_mem); if (ret < 0) { pil_err(desc, "Failed to locate blob %s or blob is too big.\n", fw_name); Loading Loading @@ -822,6 +822,13 @@ int pil_desc_init(struct pil_desc *desc) INIT_DELAYED_WORK(&priv->proxy, pil_proxy_unvote_work); INIT_LIST_HEAD(&priv->segs); /* Make sure mapping functions are set. */ if (!desc->map_fw_mem) desc->map_fw_mem = map_fw_mem; if (!desc->unmap_fw_mem) desc->unmap_fw_mem = unmap_fw_mem; return 0; err: kfree(priv); Loading
arch/arm/mach-msm/peripheral-loader.h +7 −1 Original line number Diff line number Diff line /* Copyright (c) 2010-2012, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -27,6 +27,10 @@ struct pil_priv; * @priv: DON'T USE - internal only * @proxy_unvote_irq: IRQ to trigger a proxy unvote. proxy_timeout * is ignored if this is set. * @map_fw_mem: Custom function used to map physical address space to virtual. * This defaults to ioremap if not specified. * @unmap_fw_mem: Custom function used to undo mapping by map_fw_mem. * This defaults to iounmap if not specified. */ struct pil_desc { const char *name; Loading @@ -38,6 +42,8 @@ struct pil_desc { #define PIL_SKIP_ENTRY_CHECK BIT(0) struct pil_priv *priv; unsigned int proxy_unvote_irq; void * (*map_fw_mem)(phys_addr_t phys, size_t size); void (*unmap_fw_mem)(void *virt); }; /** Loading