nfit: cleanup long de-reference chains in acpi_nfit_init_interleave_set

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>
This commit is contained in:
Dan Williams 2017-08-07 14:27:57 -07:00
parent 401c0a19c6
commit dcb79b1544
1 changed files with 11 additions and 12 deletions

View 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 nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
struct acpi_nfit_memory_map *memdev = memdev_from_spa(acpi_desc, struct acpi_nfit_memory_map *memdev = memdev_from_spa(acpi_desc,
spa->range_index, i); spa->range_index, i);
struct acpi_nfit_control_region *dcr = nfit_mem->dcr;
if (!memdev || !nfit_mem->dcr) { if (!memdev || !nfit_mem->dcr) {
dev_err(dev, "%s: failed to find DCR\n", __func__); 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->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->region_offset = memdev->region_offset;
map2->serial_number = nfit_mem->dcr->serial_number; map2->serial_number = dcr->serial_number;
map2->vendor_id = nfit_mem->dcr->vendor_id; map2->vendor_id = dcr->vendor_id;
map2->manufacturing_date = nfit_mem->dcr->manufacturing_date; map2->manufacturing_date = dcr->manufacturing_date;
map2->manufacturing_location = nfit_mem->dcr->manufacturing_location; map2->manufacturing_location = dcr->manufacturing_location;
} }
/* v1.1 namespaces */ /* 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 nd_mapping_desc *mapping = &ndr_desc->mapping[j];
struct nvdimm *nvdimm = mapping->nvdimm; struct nvdimm *nvdimm = mapping->nvdimm;
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
struct acpi_nfit_control_region *dcr = nfit_mem->dcr;
if (map2->serial_number if (map2->serial_number == dcr->serial_number &&
== nfit_mem->dcr->serial_number && map2->vendor_id == dcr->vendor_id &&
map2->vendor_id map2->manufacturing_date == dcr->manufacturing_date &&
== nfit_mem->dcr->vendor_id &&
map2->manufacturing_date
== nfit_mem->dcr->manufacturing_date &&
map2->manufacturing_location map2->manufacturing_location
== nfit_mem->dcr->manufacturing_location) { == dcr->manufacturing_location) {
mapping->position = i; mapping->position = i;
break; break;
} }