Quoting Srinivasa Rao Mandadapu (2022-08-22 01:22:01) > Add efuse evb selection control and enable it for starting ADSP. Why is it important? What is evb? > > Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx> > --- > drivers/remoteproc/qcom_q6v5_adsp.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c > index 701a615..b0a63a0 100644 > --- a/drivers/remoteproc/qcom_q6v5_adsp.c > +++ b/drivers/remoteproc/qcom_q6v5_adsp.c > @@ -522,6 +527,11 @@ static int adsp_init_mmio(struct qcom_adsp *adsp, > return PTR_ERR(adsp->qdsp6ss_base); > } > > + adsp->lpass_efuse = devm_platform_ioremap_resource_byname(pdev, "lpass_efuse"); Please do this in two phases: efuse_region = platform_get_resource(pdev, IORESOURCE_MEM, 1); if (!efuse_region) { adsp->lpass_efuse = NULL; dev_dbg(...); } else { adsp->lpass_efuse = devm_ioremap_resource(&pdev->dev, efuse_region); if (IS_ERR(adsp->lpass_efuse)) return ERR_PTR(adsp->lpass_efuse); } so that any ioremap errors are handled properly. Also using a string comparison is not very useful when we can just as easily use the proper index.