nd_region
构造nd_region的函数
acpi_nfit_register_regions()
list_for_each_entry(nfit_spa, &acpi_desc->spas, list) {
rc = acpi_nfit_register_region(acpi_desc, nfit_spa);
struct nd_region_desc *ndr_desc;
nfit_spa->nd_region = nvdimm_pmem_region_create(nvdimm_bus, ndr_desc);
}相关的数据结构
acpi_nfit_desc
acpi_nfit_desc
+-----------------------------------------------+
|dev | = point to an acpi_device
| (struct device*) |
+-----------------------------------------------+
|acpi_header |
| (struct acpi_table_header) |
+-----------------------------------------------+
|spas | a list of nfit_spa
| (struct list_head) | added from acpi_table
| +------------------------------------------+
| |nd_region | * created from nfit_spa
| | (struct nd_region*) |
| |ars_state |
| | (unsigned long) |
| |spa[0] | looks just have one spa
| | (struct acpi_nfit_system_address) |
| | +-------------------------------------+
| | |header |
| | | (struct acpi_nfit_header) |
| | |range_guid[16] |
| | | (u8) |
| | |range_index |
| | |flags |
| | |address | spa address
| | |length |
| | | (u16) |
| | | |
| +----+-------------------------------------+
+-----------------------------------------------+nd_region_desc
nd_region
nd_region_driver
Last updated