extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid,
                                     unsigned long cr3);
 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid);
-extern struct iommu_domain *amd_iommu_get_v2_domain(struct pci_dev *pdev);
 
 #ifdef CONFIG_IRQ_REMAP
 extern int amd_iommu_create_irq_domain(struct amd_iommu *iommu);
 
 }
 EXPORT_SYMBOL(amd_iommu_complete_ppr);
 
-struct iommu_domain *amd_iommu_get_v2_domain(struct pci_dev *pdev)
-{
-       struct protection_domain *pdomain;
-       struct iommu_dev_data *dev_data;
-       struct device *dev = &pdev->dev;
-       struct iommu_domain *io_domain;
-
-       if (!check_device(dev))
-               return NULL;
-
-       dev_data  = dev_iommu_priv_get(&pdev->dev);
-       pdomain   = dev_data->domain;
-       io_domain = iommu_get_domain_for_dev(dev);
-
-       if (pdomain == NULL && dev_data->defer_attach) {
-               dev_data->defer_attach = false;
-               pdomain = to_pdomain(io_domain);
-               attach_device(dev, pdomain);
-       }
-
-       if (pdomain == NULL)
-               return NULL;
-
-       if (io_domain->type != IOMMU_DOMAIN_DMA)
-               return NULL;
-
-       /* Only return IOMMUv2 domains */
-       if (!(pdomain->flags & PD_IOMMUV2_MASK))
-               return NULL;
-
-       return &pdomain->domain;
-}
-EXPORT_SYMBOL(amd_iommu_get_v2_domain);
-
 int amd_iommu_device_info(struct pci_dev *pdev,
                           struct amd_iommu_device_info *info)
 {