msm: pil: Allow verify_blob() to be optional
Most pil drivers don't verify blobs until the peripheral is
brought out of reset. The blobs are verified during the
auth_and_reset() callback instead. Make the verify_blob()
callback optional so that drivers don't have to provide dummy
functions.
Change-Id: I183593a224d51db04f3a52a192adddd632ad2306
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
diff --git a/arch/arm/mach-msm/peripheral-loader.c b/arch/arm/mach-msm/peripheral-loader.c
index 5b505b0..1539487 100644
--- a/arch/arm/mach-msm/peripheral-loader.c
+++ b/arch/arm/mach-msm/peripheral-loader.c
@@ -102,7 +102,7 @@
static int load_segment(const struct elf32_phdr *phdr, unsigned num,
struct pil_device *pil)
{
- int ret, count, paddr;
+ int ret = 0, count, paddr;
char fw_name[30];
const struct firmware *fw = NULL;
const u8 *data;
@@ -173,10 +173,12 @@
paddr += size;
}
- ret = pil->desc->ops->verify_blob(pil->desc, phdr->p_paddr,
+ if (pil->desc->ops->verify_blob) {
+ ret = pil->desc->ops->verify_blob(pil->desc, phdr->p_paddr,
phdr->p_memsz);
- if (ret)
- dev_err(&pil->dev, "Blob %u failed verification\n", num);
+ if (ret)
+ dev_err(&pil->dev, "Blob%u failed verification\n", num);
+ }
release_fw:
release_firmware(fw);