On Wed 22 Jan 14:56 PST 2020, rishabhb@xxxxxxxxxxxxxx wrote: > On 2019-12-26 21:32, Bjorn Andersson wrote: > > diff --git a/drivers/remoteproc/qcom_pil_info.c [..] > > +static int pil_reloc_probe(struct platform_device *pdev) > > +{ > > + struct pil_reloc *reloc; > > + > > + reloc = devm_kzalloc(&pdev->dev, sizeof(*reloc), GFP_KERNEL); > > + if (!reloc) > > + return -ENOMEM; > > + > > + reloc->dev = &pdev->dev; > > + reloc->map = syscon_node_to_regmap(pdev->dev.parent->of_node); > If there are multiple entries like "pil-reloc" in the imem node > mapping the entire imem multiple times may not work. Is there a way > we can somehow just iomap the required region for pil? With the entire imem being represented as a syscon this will be ioremapped once and all callers of syscon_node_to_regmap() (or one of the other syscon getters) will get a regmap back that reference this one mapping. So doing it this way allow us to "map" sections of imem that is smaller than PAGE_SIZE. That said, it means that all imem users/clients should access imem through this syscon regmap. Regards, Bjorn