iommu/vt-d: Remove global g_iommus array
authorLu Baolu <baolu.lu@linux.intel.com>
Tue, 12 Jul 2022 00:09:07 +0000 (08:09 +0800)
committerJoerg Roedel <jroedel@suse.de>
Fri, 15 Jul 2022 08:21:42 +0000 (10:21 +0200)
The g_iommus and g_num_of_iommus is not used anywhere. Remove them to
avoid dead code.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
Link: https://lore.kernel.org/r/20220702015610.2849494-6-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel/iommu.c

index 2f64ff6..3ba0d7e 100644 (file)
@@ -126,9 +126,6 @@ static inline unsigned long virt_to_dma_pfn(void *p)
        return page_to_dma_pfn(virt_to_page(p));
 }
 
-/* global iommu list, set NULL for ignored DMAR units */
-static struct intel_iommu **g_iommus;
-
 static void __init check_tylersburg_isoch(void);
 static int rwbf_quirk;
 
@@ -287,9 +284,6 @@ static LIST_HEAD(dmar_satc_units);
 #define for_each_rmrr_units(rmrr) \
        list_for_each_entry(rmrr, &dmar_rmrr_units, list)
 
-/* bitmap for indexing intel_iommus */
-static int g_num_of_iommus;
-
 static void dmar_remove_one_dev_info(struct device *dev);
 
 int dmar_disabled = !IS_ENABLED(CONFIG_INTEL_IOMMU_DEFAULT_ON);
@@ -1694,8 +1688,6 @@ static void free_dmar_iommu(struct intel_iommu *iommu)
                iommu->domain_ids = NULL;
        }
 
-       g_iommus[iommu->seq_id] = NULL;
-
        /* free context mapping */
        free_context_table(iommu);
 
@@ -2898,36 +2890,6 @@ static int __init init_dmars(void)
        struct intel_iommu *iommu;
        int ret;
 
-       /*
-        * for each drhd
-        *    allocate root
-        *    initialize and program root entry to not present
-        * endfor
-        */
-       for_each_drhd_unit(drhd) {
-               /*
-                * lock not needed as this is only incremented in the single
-                * threaded kernel __init code path all other access are read
-                * only
-                */
-               if (g_num_of_iommus < DMAR_UNITS_SUPPORTED) {
-                       g_num_of_iommus++;
-                       continue;
-               }
-               pr_err_once("Exceeded %d IOMMUs\n", DMAR_UNITS_SUPPORTED);
-       }
-
-       /* Preallocate enough resources for IOMMU hot-addition */
-       if (g_num_of_iommus < DMAR_UNITS_SUPPORTED)
-               g_num_of_iommus = DMAR_UNITS_SUPPORTED;
-
-       g_iommus = kcalloc(g_num_of_iommus, sizeof(struct intel_iommu *),
-                       GFP_KERNEL);
-       if (!g_iommus) {
-               ret = -ENOMEM;
-               goto error;
-       }
-
        ret = intel_cap_audit(CAP_AUDIT_STATIC_DMAR, NULL);
        if (ret)
                goto free_iommu;
@@ -2950,8 +2912,6 @@ static int __init init_dmars(void)
                                                   intel_pasid_max_id);
                }
 
-               g_iommus[iommu->seq_id] = iommu;
-
                intel_iommu_init_qi(iommu);
 
                ret = iommu_init_domains(iommu);
@@ -3077,9 +3037,6 @@ free_iommu:
                free_dmar_iommu(iommu);
        }
 
-       kfree(g_iommus);
-
-error:
        return ret;
 }
 
@@ -3483,7 +3440,6 @@ static int intel_iommu_add(struct dmar_drhd_unit *dmaru)
        if (iommu->gcmd & DMA_GCMD_TE)
                iommu_disable_translation(iommu);
 
-       g_iommus[iommu->seq_id] = iommu;
        ret = iommu_init_domains(iommu);
        if (ret == 0)
                ret = iommu_alloc_root_entry(iommu);