Hi Geert, On Fri, Jun 16, 2017 at 4:18 PM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > Hi Magnus, > > On Thu, Jun 15, 2017 at 12:29 PM, Magnus Damm <magnus.damm@xxxxxxxxx> wrote: >> Now when both 32-bit and 64-bit code inside the driver is using >> fwspec it is possible to replace the utlb handling with fwspec ids >> that get populated from ->of_xlate(). > > Thanks for your patch! Thanks for the feedback! >> --- 0013/drivers/iommu/ipmmu-vmsa.c >> +++ work/drivers/iommu/ipmmu-vmsa.c 2017-06-15 18:32:27.580607110 +0900 > >> static int ipmmu_of_xlate(struct device *dev, >> struct of_phandle_args *spec) >> { >> - return ipmmu_init_platform_device(dev); >> + iommu_fwspec_add_ids(dev, spec->args, 1); > > Does it hurt if iommu_fwspec_add_ids() is called multiple times, as this is > done before the "Initialize once - xlate() will call multiple times" check? The function needs to be called several times to populate the ids, so that the "initialize once" check happens later is intentional and correct. Perhaps a bit unclear though... >> + >> + return ipmmu_init_platform_device(dev, spec); >> } Cheers, / magnus