Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/nvdimm/nvdimm_acpi.c
Show First 20 Lines • Show All 138 Lines • ▼ Show 20 Lines | for (spa = spas; spa < spas + num_spas; spa++) { | ||||
spa_mapping = malloc(sizeof(struct SPA_mapping), M_NVDIMM_ACPI, | spa_mapping = malloc(sizeof(struct SPA_mapping), M_NVDIMM_ACPI, | ||||
M_WAITOK | M_ZERO); | M_WAITOK | M_ZERO); | ||||
error = nvdimm_spa_init(spa_mapping, *spa, spa_type); | error = nvdimm_spa_init(spa_mapping, *spa, spa_type); | ||||
if (error != 0) { | if (error != 0) { | ||||
nvdimm_spa_fini(spa_mapping); | nvdimm_spa_fini(spa_mapping); | ||||
free(spa_mapping, M_NVDIMM_ACPI); | free(spa_mapping, M_NVDIMM_ACPI); | ||||
break; | break; | ||||
} | } | ||||
if (nvdimm_spa_type_user_accessible(spa_type) && | |||||
spa_type != SPA_TYPE_CONTROL_REGION) | |||||
nvdimm_create_namespaces(spa_mapping, nfitbl); | nvdimm_create_namespaces(spa_mapping, nfitbl); | ||||
SLIST_INSERT_HEAD(&dev->spas, spa_mapping, link); | SLIST_INSERT_HEAD(&dev->spas, spa_mapping, link); | ||||
} | } | ||||
free(spas, M_NVDIMM_ACPI); | free(spas, M_NVDIMM_ACPI); | ||||
return (error); | return (error); | ||||
} | } | ||||
static char *nvdimm_root_id[] = {"ACPI0012", NULL}; | static char *nvdimm_root_id[] = {"ACPI0012", NULL}; | ||||
▲ Show 20 Lines • Show All 128 Lines • Show Last 20 Lines |