]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
iommu/vt-d: Make iommu_dummy() take struct device instead of struct pci_dev
authorDavid Woodhouse <David.Woodhouse@intel.com>
Thu, 6 Mar 2014 15:59:26 +0000 (15:59 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 24 Mar 2014 14:06:33 +0000 (14:06 +0000)
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/iommu/intel-iommu.c

index ace088eebb45a1f54ffabf76d9b658dbcf1b9a7e..2079cb65d4780de385b792eadefec948c665122f 100644 (file)
@@ -2882,9 +2882,9 @@ static inline struct dmar_domain *get_valid_domain_for_dev(struct pci_dev *dev)
        return __get_valid_domain_for_dev(dev);
 }
 
-static int iommu_dummy(struct pci_dev *pdev)
+static int iommu_dummy(struct device *dev)
 {
-       return pdev->dev.archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO;
+       return dev->archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO;
 }
 
 /* Check if the pdev needs to go through non-identity map and unmap process.*/
@@ -2896,13 +2896,13 @@ static int iommu_no_mapping(struct device *dev)
        if (unlikely(!dev_is_pci(dev)))
                return 1;
 
-       pdev = to_pci_dev(dev);
-       if (iommu_dummy(pdev))
+       if (iommu_dummy(dev))
                return 1;
 
        if (!iommu_identity_mapping)
                return 0;
 
+       pdev = to_pci_dev(dev);
        found = identity_mapping(pdev);
        if (found) {
                if (iommu_should_identity_map(pdev, 0))
@@ -3801,7 +3801,7 @@ static int device_notifier(struct notifier_block *nb,
        struct pci_dev *pdev = to_pci_dev(dev);
        struct dmar_domain *domain;
 
-       if (iommu_dummy(pdev))
+       if (iommu_dummy(dev))
                return 0;
 
        if (action != BUS_NOTIFY_UNBOUND_DRIVER &&