nfit: cleanup long de-reference chains in acpi_nfit_init_interleave_set
authorDan Williams <dan.j.williams@intel.com>
Mon, 7 Aug 2017 21:27:57 +0000 (14:27 -0700)
committerDan Williams <dan.j.williams@intel.com>
Mon, 7 Aug 2017 21:27:57 +0000 (14:27 -0700)
Use a local 'struct acpi_nfit_control_region *' variable to shorten the
pointer chasing chains.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/acpi/nfit/core.c

index be231a5..2c5608b 100644 (file)
@@ -1804,6 +1804,7 @@ static int acpi_nfit_init_interleave_set(struct acpi_nfit_desc *acpi_desc,
                struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
                struct acpi_nfit_memory_map *memdev = memdev_from_spa(acpi_desc,
                                spa->range_index, i);
+               struct acpi_nfit_control_region *dcr = nfit_mem->dcr;
 
                if (!memdev || !nfit_mem->dcr) {
                        dev_err(dev, "%s: failed to find DCR\n", __func__);
@@ -1811,13 +1812,13 @@ static int acpi_nfit_init_interleave_set(struct acpi_nfit_desc *acpi_desc,
                }
 
                map->region_offset = memdev->region_offset;
-               map->serial_number = nfit_mem->dcr->serial_number;
+               map->serial_number = dcr->serial_number;
 
                map2->region_offset = memdev->region_offset;
-               map2->serial_number = nfit_mem->dcr->serial_number;
-               map2->vendor_id = nfit_mem->dcr->vendor_id;
-               map2->manufacturing_date = nfit_mem->dcr->manufacturing_date;
-               map2->manufacturing_location = nfit_mem->dcr->manufacturing_location;
+               map2->serial_number = dcr->serial_number;
+               map2->vendor_id = dcr->vendor_id;
+               map2->manufacturing_date = dcr->manufacturing_date;
+               map2->manufacturing_location = dcr->manufacturing_location;
        }
 
        /* v1.1 namespaces */
@@ -1844,15 +1845,13 @@ static int acpi_nfit_init_interleave_set(struct acpi_nfit_desc *acpi_desc,
                        struct nd_mapping_desc *mapping = &ndr_desc->mapping[j];
                        struct nvdimm *nvdimm = mapping->nvdimm;
                        struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
+                       struct acpi_nfit_control_region *dcr = nfit_mem->dcr;
 
-                       if (map2->serial_number
-                               == nfit_mem->dcr->serial_number &&
-                           map2->vendor_id
-                               == nfit_mem->dcr->vendor_id &&
-                           map2->manufacturing_date
-                               == nfit_mem->dcr->manufacturing_date &&
+                       if (map2->serial_number == dcr->serial_number &&
+                           map2->vendor_id == dcr->vendor_id &&
+                           map2->manufacturing_date == dcr->manufacturing_date &&
                            map2->manufacturing_location
-                               == nfit_mem->dcr->manufacturing_location) {
+                                   == dcr->manufacturing_location) {
                                mapping->position = i;
                                break;
                        }