hvc_xen: avoid uninitialized variable warning
[firefly-linux-kernel-4.4.55.git] / drivers / iommu / tegra-gart.c
index fc588a1ffeef5a84f6c07ba4dc845b1a55d9b188..37e708fdbb5aac0bb66ac0cf17db030aa30a3a1e 100644 (file)
@@ -167,20 +167,10 @@ static int gart_iommu_attach_dev(struct iommu_domain *domain,
                                 struct device *dev)
 {
        struct gart_domain *gart_domain = to_gart_domain(domain);
-       struct gart_device *gart;
+       struct gart_device *gart = gart_domain->gart;
        struct gart_client *client, *c;
        int err = 0;
 
-       gart = gart_handle;
-       if (!gart)
-               return -EINVAL;
-       gart_domain->gart = gart;
-
-       domain->geometry.aperture_start = gart->iovmm_base;
-       domain->geometry.aperture_end   = gart->iovmm_base +
-                                       gart->page_count * GART_PAGE_SIZE - 1;
-       domain->geometry.force_aperture = true;
-
        client = devm_kzalloc(gart->dev, sizeof(*c), GFP_KERNEL);
        if (!client)
                return -ENOMEM;
@@ -231,14 +221,25 @@ out:
 static struct iommu_domain *gart_iommu_domain_alloc(unsigned type)
 {
        struct gart_domain *gart_domain;
+       struct gart_device *gart;
 
        if (type != IOMMU_DOMAIN_UNMANAGED)
                return NULL;
 
+       gart = gart_handle;
+       if (!gart)
+               return NULL;
+
        gart_domain = kzalloc(sizeof(*gart_domain), GFP_KERNEL);
        if (!gart_domain)
                return NULL;
 
+       gart_domain->gart = gart;
+       gart_domain->domain.geometry.aperture_start = gart->iovmm_base;
+       gart_domain->domain.geometry.aperture_end = gart->iovmm_base +
+                                       gart->page_count * GART_PAGE_SIZE - 1;
+       gart_domain->domain.geometry.force_aperture = true;
+
        return &gart_domain->domain;
 }