On Fri, Oct 21, 2016 at 06:52:53PM +0100, Robin Murphy wrote: > > -static struct iommu_domain *ipmmu_domain_alloc(unsigned type) > > -{ > > - if (type != IOMMU_DOMAIN_UNMANAGED) > > - return NULL; > > I *think* that if we did the initial check thus: > > if (type != IOMMU_DOMAIN_UNMANAGED || > (IS_ENABLED(CONFIG_IOMMU_DMA) && type != IOMMU_DOMAIN_DMA)) > return NULL; > > it shouldn't be necessary to split the function at all - we then just > wrap the {get,put}_cookie() bits in "if (type == IOMMU_DOMAIN_DMA)" and > in the 32-bit ARM case they just don't run as that can never be true. This would be a good improvement. Magnus, Robin, can either of you send a follow-on patch to implement this suggestion? I have applied these patches to my arm/renesas branch (not pushed yet). The patch can be based on it. Joerg