On 7/11/2014 3:20 AM, Joerg Roedel wrote: > On Mon, Jun 30, 2014 at 09:51:51AM -0700, Olav Haugan wrote: >> +int iommu_map_range(struct iommu_domain *domain, unsigned int iova, >> + struct scatterlist *sg, unsigned int len, int prot) >> +{ >> + if (unlikely(domain->ops->map_range == NULL)) >> + return -ENODEV; >> + >> + BUG_ON(iova & (~PAGE_MASK)); >> + >> + return domain->ops->map_range(domain, iova, sg, len, prot); >> +} >> +EXPORT_SYMBOL_GPL(iommu_map_range); >> + >> +int iommu_unmap_range(struct iommu_domain *domain, unsigned int iova, >> + unsigned int len) >> +{ >> + if (unlikely(domain->ops->unmap_range == NULL)) >> + return -ENODEV; >> + >> + BUG_ON(iova & (~PAGE_MASK)); >> + >> + return domain->ops->unmap_range(domain, iova, len); >> +} >> +EXPORT_SYMBOL_GPL(iommu_unmap_range); > > Before introducing these new API functions there should be a fall-back > for IOMMU drivers that do (not yet) implement the map_range and > unmap_range call-backs. > > The last thing we want is this kind of functional partitioning between > different IOMMU drivers. Yes, I can definitely add a fallback instead of returning -ENODEV. Thanks, Olav -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html