On Thu 14 Dec 04:00 PST 2017, Loic PALLARDY wrote: > > -----Original Message----- > > From: linux-remoteproc-owner@xxxxxxxxxxxxxxx [mailto:linux-remoteproc- > > owner@xxxxxxxxxxxxxxx] On Behalf Of Bjorn Andersson [..] > > +int rproc_elf_load_rsc_table(struct rproc *rproc, const struct firmware *fw) > > { > > struct elf32_hdr *ehdr; > > struct elf32_shdr *shdr; > > struct device *dev = &rproc->dev; > > struct resource_table *table = NULL; > > const u8 *elf_data = fw->data; > > + size_t tablesz; > > > > ehdr = (struct elf32_hdr *)elf_data; > > > > shdr = find_table(dev, ehdr, fw->size); > > if (!shdr) > > - return NULL; > > + return -EINVAL; > Reading patch 7, I don't catch how firmware without resource table are > supported as if no table found, an error is returned here. > In rproc_fw_boot, you have: > ret = rproc_load_rsc_table(rproc, fw); > if (ret) > goto disable_iommu; > So boot process is interrupted... > When a driver registers a remoteproc with load_rsc_table specified that implies that the resource table is not optional as such it's an error to not find one. A driver that expects to load firmware without a resource table, such as st_slim_rproc with it's dummy resource table would set load_rsc_table to NULL. So the purpose is to maintain the current requirements, with the addition of removing the dummy implementations of find_rsc_table. Regards, Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html