mirror of https://gitee.com/openkylin/linux.git
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:
parent
401c0a19c6
commit
dcb79b1544
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue