X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=include%2Flinux%2Fiommu.h;h=38daa453f2e532f0c36d7ba81b10860ccc28b478;hb=6f51ee709e4c6b56f2c2a071da2d056a109b9d26;hp=7a7bd15e54f17ee7b4ce799e0c91ae9372f639c0;hpb=988adfdffdd43cfd841df734664727993076d7cb;p=cascardo%2Flinux.git diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 7a7bd15e54f1..38daa453f2e5 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -106,7 +107,9 @@ enum iommu_attr { * @remove_device: remove device from iommu grouping * @domain_get_attr: Query domain attributes * @domain_set_attr: Change domain attributes + * @of_xlate: add OF master IDs to iommu grouping * @pgsize_bitmap: bitmap of supported page sizes + * @priv: per-instance data private to the iommu driver */ struct iommu_ops { bool (*capable)(enum iommu_cap); @@ -138,7 +141,12 @@ struct iommu_ops { /* Get the numer of window per domain */ u32 (*domain_get_windows)(struct iommu_domain *domain); +#ifdef CONFIG_OF_IOMMU + int (*of_xlate)(struct device *dev, struct of_phandle_args *args); +#endif + unsigned long pgsize_bitmap; + void *priv; }; #define IOMMU_GROUP_NOTIFY_ADD_DEVICE 1 /* Device added */