arch/powerpc/platforms/pseries/papr_scm.c
1005
struct nvdimm *nvdimm, unsigned int cmd, void *buf,
arch/powerpc/platforms/pseries/papr_scm.c
1013
rc = is_cmd_valid(nvdimm, cmd, buf, buf_len);
arch/powerpc/platforms/pseries/papr_scm.c
1023
p = nvdimm_provider_data(nvdimm);
arch/powerpc/platforms/pseries/papr_scm.c
1062
struct nvdimm *dimm = to_nvdimm(dev);
arch/powerpc/platforms/pseries/papr_scm.c
1079
struct nvdimm *dimm = to_nvdimm(dev);
arch/powerpc/platforms/pseries/papr_scm.c
1117
struct nvdimm *dimm = to_nvdimm(dev);
arch/powerpc/platforms/pseries/papr_scm.c
1159
struct nvdimm *dimm = to_nvdimm(dev);
arch/powerpc/platforms/pseries/papr_scm.c
1170
struct nvdimm *nvdimm = to_nvdimm(dev);
arch/powerpc/platforms/pseries/papr_scm.c
1171
struct papr_scm_priv *p = nvdimm_provider_data(nvdimm);
arch/powerpc/platforms/pseries/papr_scm.c
1238
p->nvdimm = nvdimm_create(p->bus, p, papr_nd_attr_groups,
arch/powerpc/platforms/pseries/papr_scm.c
1240
if (!p->nvdimm) {
arch/powerpc/platforms/pseries/papr_scm.c
1251
mapping.nvdimm = p->nvdimm;
arch/powerpc/platforms/pseries/papr_scm.c
460
nd_pmu->pmu.name = nvdimm_name(p->nvdimm);
arch/powerpc/platforms/pseries/papr_scm.c
66
struct nvdimm *nvdimm;
arch/powerpc/platforms/pseries/papr_scm.c
666
static int is_cmd_valid(struct nvdimm *nvdimm, unsigned int cmd, void *buf,
arch/powerpc/platforms/pseries/papr_scm.c
675
if (!nvdimm)
arch/powerpc/platforms/pseries/papr_scm.c
679
p = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1379
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1380
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1387
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1388
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1466
static int num_nvdimm_formats(struct nvdimm *nvdimm)
drivers/acpi/nfit/core.c
1468
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1493
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1496
nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1529
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1531
return sysfs_emit(buf, "%d\n", num_nvdimm_formats(nvdimm));
drivers/acpi/nfit/core.c
1547
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1548
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1559
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1560
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1571
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1572
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1592
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1593
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1602
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1603
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1634
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/acpi/nfit/core.c
1635
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
1647
if (a == &dev_attr_format1.attr && num_nvdimm_formats(nvdimm) <= 1)
drivers/acpi/nfit/core.c
1668
static struct nvdimm *acpi_nfit_dimm_by_handle(struct acpi_nfit_desc *acpi_desc,
drivers/acpi/nfit/core.c
1675
return nfit_mem->nvdimm;
drivers/acpi/nfit/core.c
195
static int xlat_nvdimm_status(struct nvdimm *nvdimm, void *buf, unsigned int cmd,
drivers/acpi/nfit/core.c
198
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
2001
struct nvdimm *nvdimm;
drivers/acpi/nfit/core.c
2011
nvdimm = acpi_nfit_dimm_by_handle(acpi_desc, device_handle);
drivers/acpi/nfit/core.c
2012
if (nvdimm) {
drivers/acpi/nfit/core.c
2060
nvdimm = __nvdimm_create(acpi_desc->nvdimm_bus, nfit_mem,
drivers/acpi/nfit/core.c
2066
if (!nvdimm)
drivers/acpi/nfit/core.c
2069
nfit_mem->nvdimm = nvdimm;
drivers/acpi/nfit/core.c
2076
nvdimm_name(nvdimm),
drivers/acpi/nfit/core.c
2096
nvdimm = nfit_mem->nvdimm;
drivers/acpi/nfit/core.c
2097
if (!nvdimm)
drivers/acpi/nfit/core.c
2100
nfit_kernfs = sysfs_get_dirent(nvdimm_kobj(nvdimm)->sd, "nfit");
drivers/acpi/nfit/core.c
2107
nvdimm_name(nvdimm));
drivers/acpi/nfit/core.c
2291
struct nvdimm *nvdimm = mapping->nvdimm;
drivers/acpi/nfit/core.c
2292
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
232
static int xlat_status(struct nvdimm *nvdimm, void *buf, unsigned int cmd,
drivers/acpi/nfit/core.c
2333
struct nvdimm *nvdimm = mapping->nvdimm;
drivers/acpi/nfit/core.c
2334
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
235
if (!nvdimm)
drivers/acpi/nfit/core.c
237
return xlat_nvdimm_status(nvdimm, buf, cmd, status);
drivers/acpi/nfit/core.c
2566
struct nvdimm *nvdimm = acpi_nfit_dimm_by_handle(acpi_desc,
drivers/acpi/nfit/core.c
2570
if (!nvdimm) {
drivers/acpi/nfit/core.c
2576
mapping->nvdimm = nvdimm;
drivers/acpi/nfit/core.c
3173
struct nvdimm *nvdimm, unsigned int cmd)
drivers/acpi/nfit/core.c
3177
if (nvdimm)
drivers/acpi/nfit/core.c
3199
struct nvdimm *nvdimm, unsigned int cmd, void *buf)
drivers/acpi/nfit/core.c
3204
if (nvdimm && cmd == ND_CMD_CALL &&
drivers/acpi/nfit/core.c
3213
if (!nvdimm && cmd == ND_CMD_CALL &&
drivers/acpi/nfit/core.c
3217
return __acpi_nfit_clear_to_send(nd_desc, nvdimm, cmd);
drivers/acpi/nfit/core.c
403
static bool payload_dumpable(struct nvdimm *nvdimm, unsigned int func)
drivers/acpi/nfit/core.c
405
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
445
int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
drivers/acpi/nfit/core.c
449
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/core.c
476
if (nvdimm) {
drivers/acpi/nfit/core.c
482
dimm_name = nvdimm_name(nvdimm);
drivers/acpi/nfit/core.c
484
cmd_mask = nvdimm_cmd_mask(nvdimm);
drivers/acpi/nfit/core.c
534
in_buf.buffer.length += nd_cmd_in_size(nvdimm, cmd, desc,
drivers/acpi/nfit/core.c
545
if (payload_dumpable(nvdimm, func))
drivers/acpi/nfit/core.c
551
if (nvdimm && cmd == ND_CMD_GET_CONFIG_SIZE
drivers/acpi/nfit/core.c
554
else if (nvdimm && cmd == ND_CMD_GET_CONFIG_DATA
drivers/acpi/nfit/core.c
559
} else if (nvdimm && cmd == ND_CMD_SET_CONFIG_DATA
drivers/acpi/nfit/core.c
568
if (nvdimm)
drivers/acpi/nfit/core.c
612
u32 out_size = nd_cmd_out_size(nvdimm, cmd, desc, i, buf,
drivers/acpi/nfit/core.c
637
if (i >= 1 && ((!nvdimm && cmd >= ND_CMD_ARS_CAP
drivers/acpi/nfit/core.c
639
|| (nvdimm && cmd >= ND_CMD_SMART
drivers/acpi/nfit/core.c
651
*cmd_rc = xlat_status(nvdimm, buf, cmd,
drivers/acpi/nfit/core.c
662
*cmd_rc = xlat_status(nvdimm, buf, cmd, fw_status);
drivers/acpi/nfit/intel.c
119
static int intel_security_freeze(struct nvdimm *nvdimm)
drivers/acpi/nfit/intel.c
121
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
137
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
145
static int intel_security_change_key(struct nvdimm *nvdimm,
drivers/acpi/nfit/intel.c
150
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
174
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
191
static int __maybe_unused intel_security_unlock(struct nvdimm *nvdimm,
drivers/acpi/nfit/intel.c
194
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
213
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
228
static int intel_security_disable(struct nvdimm *nvdimm,
drivers/acpi/nfit/intel.c
232
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
250
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
267
static int __maybe_unused intel_security_erase(struct nvdimm *nvdimm,
drivers/acpi/nfit/intel.c
272
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
292
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
311
static int __maybe_unused intel_security_query_overwrite(struct nvdimm *nvdimm)
drivers/acpi/nfit/intel.c
314
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
329
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
345
static int __maybe_unused intel_security_overwrite(struct nvdimm *nvdimm,
drivers/acpi/nfit/intel.c
349
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
367
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
53
static unsigned long intel_security_flags(struct nvdimm *nvdimm,
drivers/acpi/nfit/intel.c
56
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
571
static int intel_fwa_dimminfo(struct nvdimm *nvdimm,
drivers/acpi/nfit/intel.c
588
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
593
static enum nvdimm_fwa_state intel_fwa_state(struct nvdimm *nvdimm)
drivers/acpi/nfit/intel.c
595
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
614
rc = intel_fwa_dimminfo(nvdimm, &info);
drivers/acpi/nfit/intel.c
660
static enum nvdimm_fwa_result intel_fwa_result(struct nvdimm *nvdimm)
drivers/acpi/nfit/intel.c
662
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
669
if (intel_fwa_state(nvdimm) > NVDIMM_FWA_INVALID)
drivers/acpi/nfit/intel.c
675
static int intel_fwa_arm(struct nvdimm *nvdimm, enum nvdimm_fwa_trigger arm)
drivers/acpi/nfit/intel.c
677
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
drivers/acpi/nfit/intel.c
697
switch (intel_fwa_state(nvdimm)) {
drivers/acpi/nfit/intel.c
721
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
80
if (nvdimm_in_overwrite(nvdimm) && ptype == NVDIMM_USER)
drivers/acpi/nfit/intel.c
83
rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL);
drivers/acpi/nfit/intel.c
86
nvdimm_name(nvdimm), rc, nd_cmd.cmd.status);
drivers/acpi/nfit/nfit.h
208
struct nvdimm *nvdimm;
drivers/acpi/nfit/nfit.h
345
int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
drivers/cxl/pmem.c
143
struct nvdimm *nvdimm;
drivers/cxl/pmem.c
167
nvdimm = __nvdimm_create(cxl_nvb->nvdimm_bus, cxl_nvd,
drivers/cxl/pmem.c
171
if (!nvdimm)
drivers/cxl/pmem.c
174
dev_set_drvdata(dev, nvdimm);
drivers/cxl/pmem.c
175
return devm_add_action_or_reset(dev, unregister_nvdimm, nvdimm);
drivers/cxl/pmem.c
280
static int cxl_pmem_nvdimm_ctl(struct nvdimm *nvdimm, unsigned int cmd,
drivers/cxl/pmem.c
283
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/pmem.c
284
unsigned long cmd_mask = nvdimm_cmd_mask(nvdimm);
drivers/cxl/pmem.c
304
struct nvdimm *nvdimm, unsigned int cmd, void *buf,
drivers/cxl/pmem.c
313
if (!nvdimm)
drivers/cxl/pmem.c
315
return cxl_pmem_nvdimm_ctl(nvdimm, cmd, buf, buf_len);
drivers/cxl/pmem.c
35
static void unregister_nvdimm(void *nvdimm)
drivers/cxl/pmem.c
37
nvdimm_delete(nvdimm);
drivers/cxl/pmem.c
405
struct nvdimm *nvdimm;
drivers/cxl/pmem.c
42
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/cxl/pmem.c
43
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/pmem.c
459
nvdimm = dev_get_drvdata(&cxl_nvd->dev);
drivers/cxl/pmem.c
460
if (!nvdimm) {
drivers/cxl/pmem.c
479
.nvdimm = nvdimm,
drivers/cxl/pmem.c
51
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/cxl/pmem.c
52
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/pmem.c
62
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/cxl/pmem.c
63
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/pmem.c
82
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/cxl/pmem.c
83
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/security.c
119
static int cxl_pmem_security_disable(struct nvdimm *nvdimm,
drivers/cxl/security.c
12
static unsigned long cxl_pmem_get_security_flags(struct nvdimm *nvdimm,
drivers/cxl/security.c
122
return __cxl_pmem_security_disable(nvdimm, key_data, NVDIMM_USER);
drivers/cxl/security.c
125
static int cxl_pmem_security_disable_master(struct nvdimm *nvdimm,
drivers/cxl/security.c
128
return __cxl_pmem_security_disable(nvdimm, key_data, NVDIMM_MASTER);
drivers/cxl/security.c
131
static int cxl_pmem_security_freeze(struct nvdimm *nvdimm)
drivers/cxl/security.c
133
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/security.c
143
static int cxl_pmem_security_unlock(struct nvdimm *nvdimm,
drivers/cxl/security.c
146
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/security.c
15
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/security.c
167
static int cxl_pmem_security_passphrase_erase(struct nvdimm *nvdimm,
drivers/cxl/security.c
171
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/security.c
67
static int cxl_pmem_security_change_key(struct nvdimm *nvdimm,
drivers/cxl/security.c
72
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/cxl/security.c
94
static int __cxl_pmem_security_disable(struct nvdimm *nvdimm,
drivers/cxl/security.c
98
struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
drivers/nvdimm/bus.c
1003
int rc = nd_desc->clear_to_send(nd_desc, nvdimm, cmd, data);
drivers/nvdimm/bus.c
1010
if (!nvdimm && cmd == ND_CMD_CLEAR_ERROR)
drivers/nvdimm/bus.c
1014
if (!nvdimm || cmd != ND_CMD_SET_CONFIG_DATA)
drivers/nvdimm/bus.c
1019
if (atomic_read(&nvdimm->busy))
drivers/nvdimm/bus.c
1024
static int __nd_ioctl(struct nvdimm_bus *nvdimm_bus, struct nvdimm *nvdimm,
drivers/nvdimm/bus.c
1040
if (nvdimm) {
drivers/nvdimm/bus.c
1043
cmd_mask = nvdimm->cmd_mask;
drivers/nvdimm/bus.c
1044
dimm_name = dev_name(&nvdimm->dev);
drivers/nvdimm/bus.c
1059
if (nvdimm) {
drivers/nvdimm/bus.c
1088
nvdimm ? nvdimm_cmd_name(cmd)
drivers/nvdimm/bus.c
1102
in_size = nd_cmd_in_size(nvdimm, cmd, desc, i, in_env);
drivers/nvdimm/bus.c
1130
u32 out_size = nd_cmd_out_size(nvdimm, cmd, desc, i,
drivers/nvdimm/bus.c
1166
rc = nd_cmd_clear_to_send(nvdimm_bus, nvdimm, func, buf);
drivers/nvdimm/bus.c
1170
rc = nd_desc->ndctl(nd_desc, nvdimm, cmd, buf, buf_len, &cmd_rc);
drivers/nvdimm/bus.c
1174
if (!nvdimm && cmd == ND_CMD_CLEAR_ERROR && cmd_rc >= 0) {
drivers/nvdimm/bus.c
1197
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/bus.c
1199
return nvdimm->id == id;
drivers/nvdimm/bus.c
1211
struct nvdimm *nvdimm = NULL;
drivers/nvdimm/bus.c
1224
nvdimm = to_nvdimm(dev);
drivers/nvdimm/bus.c
1241
rc = __nd_ioctl(nvdimm_bus, nvdimm, ro, cmd, arg);
drivers/nvdimm/bus.c
1243
if (nvdimm)
drivers/nvdimm/bus.c
1244
put_device(&nvdimm->dev);
drivers/nvdimm/bus.c
325
struct nvdimm_bus *nvdimm_to_bus(struct nvdimm *nvdimm)
drivers/nvdimm/bus.c
327
return to_nvdimm_bus(nvdimm->dev.parent);
drivers/nvdimm/bus.c
864
u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd,
drivers/nvdimm/bus.c
873
if (nvdimm && cmd == ND_CMD_SET_CONFIG_DATA && idx == 2) {
drivers/nvdimm/bus.c
877
} else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) {
drivers/nvdimm/bus.c
891
u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd,
drivers/nvdimm/bus.c
901
if (nvdimm && cmd == ND_CMD_GET_CONFIG_DATA && idx == 1)
drivers/nvdimm/bus.c
903
else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2)
drivers/nvdimm/bus.c
905
else if (!nvdimm && cmd == ND_CMD_ARS_STATUS && idx == 2) {
drivers/nvdimm/bus.c
997
struct nvdimm *nvdimm, unsigned int cmd, void *data)
drivers/nvdimm/dimm_devs.c
176
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
178
set_bit(NDD_LABELING, &nvdimm->flags);
drivers/nvdimm/dimm_devs.c
183
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
185
set_bit(NDD_LOCKED, &nvdimm->flags);
drivers/nvdimm/dimm_devs.c
190
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
192
clear_bit(NDD_LOCKED, &nvdimm->flags);
drivers/nvdimm/dimm_devs.c
197
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
199
ida_free(&dimm_ida, nvdimm->id);
drivers/nvdimm/dimm_devs.c
200
kfree(nvdimm);
drivers/nvdimm/dimm_devs.c
203
struct nvdimm *to_nvdimm(struct device *dev)
drivers/nvdimm/dimm_devs.c
205
struct nvdimm *nvdimm = container_of(dev, struct nvdimm, dev);
drivers/nvdimm/dimm_devs.c
208
return nvdimm;
drivers/nvdimm/dimm_devs.c
214
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/dimm_devs.c
216
WARN_ON_ONCE(!is_nvdimm_bus_locked(&nvdimm->dev));
drivers/nvdimm/dimm_devs.c
218
return dev_get_drvdata(&nvdimm->dev);
drivers/nvdimm/dimm_devs.c
250
const char *nvdimm_name(struct nvdimm *nvdimm)
drivers/nvdimm/dimm_devs.c
252
return dev_name(&nvdimm->dev);
drivers/nvdimm/dimm_devs.c
256
struct kobject *nvdimm_kobj(struct nvdimm *nvdimm)
drivers/nvdimm/dimm_devs.c
258
return &nvdimm->dev.kobj;
drivers/nvdimm/dimm_devs.c
262
unsigned long nvdimm_cmd_mask(struct nvdimm *nvdimm)
drivers/nvdimm/dimm_devs.c
264
return nvdimm->cmd_mask;
drivers/nvdimm/dimm_devs.c
268
void *nvdimm_provider_data(struct nvdimm *nvdimm)
drivers/nvdimm/dimm_devs.c
27
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
270
if (nvdimm)
drivers/nvdimm/dimm_devs.c
271
return nvdimm->provider_data;
drivers/nvdimm/dimm_devs.c
279
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
282
if (!nvdimm->cmd_mask)
drivers/nvdimm/dimm_devs.c
285
for_each_set_bit(cmd, &nvdimm->cmd_mask, BITS_PER_LONG)
drivers/nvdimm/dimm_devs.c
29
if (!nvdimm->cmd_mask ||
drivers/nvdimm/dimm_devs.c
295
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
298
test_bit(NDD_LABELING, &nvdimm->flags) ? "label " : "",
drivers/nvdimm/dimm_devs.c
299
test_bit(NDD_LOCKED, &nvdimm->flags) ? "lock " : "");
drivers/nvdimm/dimm_devs.c
30
!test_bit(ND_CMD_GET_CONFIG_DATA, &nvdimm->cmd_mask)) {
drivers/nvdimm/dimm_devs.c
306
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
31
if (test_bit(NDD_LABELING, &nvdimm->flags))
drivers/nvdimm/dimm_devs.c
314
return sprintf(buf, "%s\n", atomic_read(&nvdimm->busy)
drivers/nvdimm/dimm_devs.c
354
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
361
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/dimm_devs.c
363
if (test_bit(NVDIMM_SECURITY_OVERWRITE, &nvdimm->sec.flags))
drivers/nvdimm/dimm_devs.c
365
if (test_bit(NVDIMM_SECURITY_DISABLED, &nvdimm->sec.flags))
drivers/nvdimm/dimm_devs.c
367
if (test_bit(NVDIMM_SECURITY_UNLOCKED, &nvdimm->sec.flags))
drivers/nvdimm/dimm_devs.c
369
if (test_bit(NVDIMM_SECURITY_LOCKED, &nvdimm->sec.flags))
drivers/nvdimm/dimm_devs.c
377
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
380
&nvdimm->sec.flags));
drivers/nvdimm/dimm_devs.c
413
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
417
if (!nvdimm->sec.flags)
drivers/nvdimm/dimm_devs.c
422
if (nvdimm->sec.ops->freeze || nvdimm->sec.ops->disable
drivers/nvdimm/dimm_devs.c
423
|| nvdimm->sec.ops->change_key
drivers/nvdimm/dimm_devs.c
424
|| nvdimm->sec.ops->erase
drivers/nvdimm/dimm_devs.c
425
|| nvdimm->sec.ops->overwrite)
drivers/nvdimm/dimm_devs.c
430
if (nvdimm->sec.ops->freeze)
drivers/nvdimm/dimm_devs.c
442
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
445
if (!nvdimm->fw_ops)
drivers/nvdimm/dimm_devs.c
449
result = nvdimm->fw_ops->activate_result(nvdimm);
drivers/nvdimm/dimm_devs.c
470
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
473
if (!nvdimm->fw_ops)
drivers/nvdimm/dimm_devs.c
477
state = nvdimm->fw_ops->activate_state(nvdimm);
drivers/nvdimm/dimm_devs.c
494
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
498
if (!nvdimm->fw_ops)
drivers/nvdimm/dimm_devs.c
509
rc = nvdimm->fw_ops->arm(nvdimm, arg);
drivers/nvdimm/dimm_devs.c
528
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
533
if (!nvdimm->fw_ops)
drivers/nvdimm/dimm_devs.c
571
struct nvdimm *__nvdimm_create(struct nvdimm_bus *nvdimm_bus,
drivers/nvdimm/dimm_devs.c
578
struct nvdimm *nvdimm = kzalloc_obj(*nvdimm);
drivers/nvdimm/dimm_devs.c
581
if (!nvdimm)
drivers/nvdimm/dimm_devs.c
584
nvdimm->id = ida_alloc(&dimm_ida, GFP_KERNEL);
drivers/nvdimm/dimm_devs.c
585
if (nvdimm->id < 0) {
drivers/nvdimm/dimm_devs.c
586
kfree(nvdimm);
drivers/nvdimm/dimm_devs.c
590
nvdimm->dimm_id = dimm_id;
drivers/nvdimm/dimm_devs.c
591
nvdimm->provider_data = provider_data;
drivers/nvdimm/dimm_devs.c
592
nvdimm->flags = flags;
drivers/nvdimm/dimm_devs.c
593
nvdimm->cmd_mask = cmd_mask;
drivers/nvdimm/dimm_devs.c
594
nvdimm->num_flush = num_flush;
drivers/nvdimm/dimm_devs.c
595
nvdimm->flush_wpq = flush_wpq;
drivers/nvdimm/dimm_devs.c
596
atomic_set(&nvdimm->busy, 0);
drivers/nvdimm/dimm_devs.c
597
dev = &nvdimm->dev;
drivers/nvdimm/dimm_devs.c
598
dev_set_name(dev, "nmem%d", nvdimm->id);
drivers/nvdimm/dimm_devs.c
601
dev->devt = MKDEV(nvdimm_major, nvdimm->id);
drivers/nvdimm/dimm_devs.c
603
nvdimm->sec.ops = sec_ops;
drivers/nvdimm/dimm_devs.c
604
nvdimm->fw_ops = fw_ops;
drivers/nvdimm/dimm_devs.c
605
nvdimm->sec.overwrite_tmo = 0;
drivers/nvdimm/dimm_devs.c
606
INIT_DELAYED_WORK(&nvdimm->dwork, nvdimm_security_overwrite_query);
drivers/nvdimm/dimm_devs.c
612
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/dimm_devs.c
613
nvdimm->sec.ext_flags = nvdimm_security_flags(nvdimm, NVDIMM_MASTER);
drivers/nvdimm/dimm_devs.c
621
return nvdimm;
drivers/nvdimm/dimm_devs.c
625
void nvdimm_delete(struct nvdimm *nvdimm)
drivers/nvdimm/dimm_devs.c
627
struct device *dev = &nvdimm->dev;
drivers/nvdimm/dimm_devs.c
632
set_bit(NVDIMM_SECURITY_FROZEN, &nvdimm->sec.flags);
drivers/nvdimm/dimm_devs.c
633
dev_put = test_and_clear_bit(NDD_WORK_PENDING, &nvdimm->flags);
drivers/nvdimm/dimm_devs.c
635
cancel_delayed_work_sync(&nvdimm->dwork);
drivers/nvdimm/dimm_devs.c
644
struct nvdimm *nvdimm = data;
drivers/nvdimm/dimm_devs.c
646
sysfs_put(nvdimm->sec.overwrite_state);
drivers/nvdimm/dimm_devs.c
651
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/dimm_devs.c
653
if (!nvdimm->sec.flags || !nvdimm->sec.ops
drivers/nvdimm/dimm_devs.c
654
|| !nvdimm->sec.ops->overwrite)
drivers/nvdimm/dimm_devs.c
656
nvdimm->sec.overwrite_state = sysfs_get_dirent(dev->kobj.sd, "security");
drivers/nvdimm/dimm_devs.c
657
if (!nvdimm->sec.overwrite_state)
drivers/nvdimm/dimm_devs.c
660
return devm_add_action_or_reset(dev, shutdown_security_notify, nvdimm);
drivers/nvdimm/dimm_devs.c
664
int nvdimm_in_overwrite(struct nvdimm *nvdimm)
drivers/nvdimm/dimm_devs.c
666
return test_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags);
drivers/nvdimm/dimm_devs.c
670
int nvdimm_security_freeze(struct nvdimm *nvdimm)
drivers/nvdimm/dimm_devs.c
674
WARN_ON_ONCE(!is_nvdimm_bus_locked(&nvdimm->dev));
drivers/nvdimm/dimm_devs.c
676
if (!nvdimm->sec.ops || !nvdimm->sec.ops->freeze)
drivers/nvdimm/dimm_devs.c
679
if (!nvdimm->sec.flags)
drivers/nvdimm/dimm_devs.c
682
if (test_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags)) {
drivers/nvdimm/dimm_devs.c
683
dev_warn(&nvdimm->dev, "Overwrite operation in progress.\n");
drivers/nvdimm/dimm_devs.c
687
rc = nvdimm->sec.ops->freeze(nvdimm);
drivers/nvdimm/dimm_devs.c
688
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/dimm_devs.c
735
if (__reserve_free_pmem(&nd_region->dev, nd_mapping->nvdimm))
drivers/nvdimm/namespace_devs.c
1718
struct nvdimm *nvdimm = nd_region->mapping[i].nvdimm;
drivers/nvdimm/namespace_devs.c
1726
nvdimm_name(nvdimm), nsl_uuid_raw(ndd, nd_label));
drivers/nvdimm/namespace_devs.c
2067
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/namespace_devs.c
2076
atomic_dec(&nvdimm->busy);
drivers/nvdimm/namespace_devs.c
2087
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/namespace_devs.c
2096
if (test_bit(NDD_LOCKED, &nvdimm->flags))
drivers/nvdimm/namespace_devs.c
2098
else if (test_bit(NDD_LABELING, &nvdimm->flags))
drivers/nvdimm/namespace_devs.c
2104
dev_name(&nd_mapping->nvdimm->dev),
drivers/nvdimm/namespace_devs.c
2105
test_bit(NDD_LOCKED, &nvdimm->flags)
drivers/nvdimm/namespace_devs.c
2111
atomic_inc(&nvdimm->busy);
drivers/nvdimm/namespace_devs.c
609
struct nvdimm *nvdimm = data;
drivers/nvdimm/namespace_devs.c
627
if (nd_mapping->nvdimm != nvdimm)
drivers/nvdimm/namespace_devs.c
903
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/namespace_devs.c
905
if (test_bit(NDD_LOCKED, &nvdimm->flags)) {
drivers/nvdimm/namespace_devs.c
906
dev_dbg(dev, "%s locked\n", nvdimm_name(nvdimm));
drivers/nvdimm/nd-core.h
52
struct nvdimm *nvdimm, enum nvdimm_passphrase_type ptype)
drivers/nvdimm/nd-core.h
60
if (!nvdimm->sec.ops)
drivers/nvdimm/nd-core.h
63
flags = nvdimm->sec.ops->get_flags(nvdimm, ptype);
drivers/nvdimm/nd-core.h
65
dev_WARN_ONCE(&nvdimm->dev, hweight64(flags & state_flags) > 1,
drivers/nvdimm/nd-core.h
70
int nvdimm_security_freeze(struct nvdimm *nvdimm);
drivers/nvdimm/nd.h
388
struct nvdimm *nvdimm;
drivers/nvdimm/nd.h
507
struct nvdimm;
drivers/nvdimm/ramdax.c
102
if (!dimm->nvdimm) {
drivers/nvdimm/ramdax.c
107
err = ramdax_register_region(res, dimm->nvdimm, nvdimm_bus);
drivers/nvdimm/ramdax.c
114
nvdimm_delete(dimm->nvdimm);
drivers/nvdimm/ramdax.c
122
static int ramdax_get_config_size(struct nvdimm *nvdimm, int buf_len,
drivers/nvdimm/ramdax.c
137
static int ramdax_get_config_data(struct nvdimm *nvdimm, int buf_len,
drivers/nvdimm/ramdax.c
140
struct ramdax_dimm *dimm = nvdimm_provider_data(nvdimm);
drivers/nvdimm/ramdax.c
154
static int ramdax_set_config_data(struct nvdimm *nvdimm, int buf_len,
drivers/nvdimm/ramdax.c
157
struct ramdax_dimm *dimm = nvdimm_provider_data(nvdimm);
drivers/nvdimm/ramdax.c
171
static int ramdax_nvdimm_ctl(struct nvdimm *nvdimm, unsigned int cmd,
drivers/nvdimm/ramdax.c
174
unsigned long cmd_mask = nvdimm_cmd_mask(nvdimm);
drivers/nvdimm/ramdax.c
181
return ramdax_get_config_size(nvdimm, buf_len, buf);
drivers/nvdimm/ramdax.c
183
return ramdax_get_config_data(nvdimm, buf_len, buf);
drivers/nvdimm/ramdax.c
185
return ramdax_set_config_data(nvdimm, buf_len, buf);
drivers/nvdimm/ramdax.c
192
struct nvdimm *nvdimm, unsigned int cmd, void *buf,
drivers/nvdimm/ramdax.c
201
if (!nvdimm)
drivers/nvdimm/ramdax.c
203
return ramdax_nvdimm_ctl(nvdimm, cmd, buf, buf_len);
drivers/nvdimm/ramdax.c
23
struct nvdimm *nvdimm;
drivers/nvdimm/ramdax.c
35
struct nvdimm *nvdimm,
drivers/nvdimm/ramdax.c
52
mapping.nvdimm = nvdimm;
drivers/nvdimm/ramdax.c
99
dimm->nvdimm = nvdimm_create(nvdimm_bus, dimm,
drivers/nvdimm/region_devs.c
1002
if (test_bit(NDD_UNARMED, &nvdimm->flags))
drivers/nvdimm/region_devs.c
1036
struct nvdimm *nvdimm = mapping->nvdimm;
drivers/nvdimm/region_devs.c
1038
nd_region->mapping[i].nvdimm = nvdimm;
drivers/nvdimm/region_devs.c
1045
get_device(&nvdimm->dev);
drivers/nvdimm/region_devs.c
114
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
116
if (test_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags))
drivers/nvdimm/region_devs.c
1181
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
1184
if (nvdimm->num_flush)
drivers/nvdimm/region_devs.c
121
_num_flush = min_not_zero(_num_flush, nvdimm->num_flush);
drivers/nvdimm/region_devs.c
122
if (!nvdimm->num_flush)
drivers/nvdimm/region_devs.c
124
flush_data_size += nvdimm->num_flush * sizeof(void *);
drivers/nvdimm/region_devs.c
159
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
160
int rc = nvdimm_map_flush(&nd_region->dev, nvdimm, i, ndrd);
drivers/nvdimm/region_devs.c
191
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
193
put_device(&nvdimm->dev);
drivers/nvdimm/region_devs.c
239
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
241
if (test_bit(NDD_LABELING, &nvdimm->flags))
drivers/nvdimm/region_devs.c
26
static int nvdimm_map_flush(struct device *dev, struct nvdimm *nvdimm, int dimm,
drivers/nvdimm/region_devs.c
31
dev_dbg(dev, "%s: map %d flush address%s\n", nvdimm_name(nvdimm),
drivers/nvdimm/region_devs.c
32
nvdimm->num_flush, nvdimm->num_flush == 1 ? "" : "es");
drivers/nvdimm/region_devs.c
34
struct resource *res = &nvdimm->flush_wpq[i];
drivers/nvdimm/region_devs.c
40
struct resource *res_j = &nvdimm->flush_wpq[j];
drivers/nvdimm/region_devs.c
69
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
693
struct nvdimm *nvdimm;
drivers/nvdimm/region_devs.c
698
nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
700
return sprintf(buf, "%s,%llu,%llu,%d\n", dev_name(&nvdimm->dev),
drivers/nvdimm/region_devs.c
71
if (test_bit(NDD_INCOHERENT, &nvdimm->flags)) {
drivers/nvdimm/region_devs.c
97
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
99
clear_bit(NDD_INCOHERENT, &nvdimm->flags);
drivers/nvdimm/region_devs.c
993
struct nvdimm *nvdimm = mapping->nvdimm;
drivers/nvdimm/region_devs.c
998
caller, dev_name(&nvdimm->dev), i, PAGE_SIZE);
drivers/nvdimm/security.c
120
static const void *nvdimm_get_user_key_payload(struct nvdimm *nvdimm,
drivers/nvdimm/security.c
131
*key = nvdimm_lookup_user_key(nvdimm, id, subclass);
drivers/nvdimm/security.c
139
static int nvdimm_key_revalidate(struct nvdimm *nvdimm)
drivers/nvdimm/security.c
145
if (!nvdimm->sec.ops->change_key)
drivers/nvdimm/security.c
148
data = nvdimm_get_key_payload(nvdimm, &key);
drivers/nvdimm/security.c
154
rc = nvdimm->sec.ops->change_key(nvdimm, data, data, NVDIMM_USER);
drivers/nvdimm/security.c
161
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/security.c
165
static int __nvdimm_security_unlock(struct nvdimm *nvdimm)
drivers/nvdimm/security.c
167
struct device *dev = &nvdimm->dev;
drivers/nvdimm/security.c
176
if (!nvdimm->sec.ops || !nvdimm->sec.ops->unlock
drivers/nvdimm/security.c
177
|| !nvdimm->sec.flags)
drivers/nvdimm/security.c
182
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/security.c
185
if (test_bit(NVDIMM_SECURITY_DISABLED, &nvdimm->sec.flags))
drivers/nvdimm/security.c
188
if (test_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags)) {
drivers/nvdimm/security.c
200
if (test_bit(NVDIMM_SECURITY_UNLOCKED, &nvdimm->sec.flags)) {
drivers/nvdimm/security.c
204
return nvdimm_key_revalidate(nvdimm);
drivers/nvdimm/security.c
206
data = nvdimm_get_key_payload(nvdimm, &key);
drivers/nvdimm/security.c
208
rc = nvdimm->sec.ops->unlock(nvdimm, data);
drivers/nvdimm/security.c
212
set_bit(NDD_INCOHERENT, &nvdimm->flags);
drivers/nvdimm/security.c
215
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/security.c
221
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/security.c
224
return __nvdimm_security_unlock(nvdimm);
drivers/nvdimm/security.c
227
static int check_security_state(struct nvdimm *nvdimm)
drivers/nvdimm/security.c
229
struct device *dev = &nvdimm->dev;
drivers/nvdimm/security.c
231
if (test_bit(NVDIMM_SECURITY_FROZEN, &nvdimm->sec.flags)) {
drivers/nvdimm/security.c
233
nvdimm->sec.flags);
drivers/nvdimm/security.c
237
if (test_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags)) {
drivers/nvdimm/security.c
245
static int security_disable(struct nvdimm *nvdimm, unsigned int keyid,
drivers/nvdimm/security.c
248
struct device *dev = &nvdimm->dev;
drivers/nvdimm/security.c
257
if (!nvdimm->sec.ops || !nvdimm->sec.flags)
drivers/nvdimm/security.c
260
if (pass_type == NVDIMM_USER && !nvdimm->sec.ops->disable)
drivers/nvdimm/security.c
263
if (pass_type == NVDIMM_MASTER && !nvdimm->sec.ops->disable_master)
drivers/nvdimm/security.c
266
rc = check_security_state(nvdimm);
drivers/nvdimm/security.c
270
data = nvdimm_get_user_key_payload(nvdimm, keyid,
drivers/nvdimm/security.c
276
rc = nvdimm->sec.ops->disable_master(nvdimm, data);
drivers/nvdimm/security.c
280
rc = nvdimm->sec.ops->disable(nvdimm, data);
drivers/nvdimm/security.c
287
nvdimm->sec.ext_flags = nvdimm_security_flags(nvdimm, NVDIMM_MASTER);
drivers/nvdimm/security.c
289
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/security.c
293
static int security_update(struct nvdimm *nvdimm, unsigned int keyid,
drivers/nvdimm/security.c
297
struct device *dev = &nvdimm->dev;
drivers/nvdimm/security.c
306
if (!nvdimm->sec.ops || !nvdimm->sec.ops->change_key
drivers/nvdimm/security.c
307
|| !nvdimm->sec.flags)
drivers/nvdimm/security.c
310
rc = check_security_state(nvdimm);
drivers/nvdimm/security.c
314
data = nvdimm_get_user_key_payload(nvdimm, keyid,
drivers/nvdimm/security.c
319
newdata = nvdimm_get_user_key_payload(nvdimm, new_keyid,
drivers/nvdimm/security.c
326
rc = nvdimm->sec.ops->change_key(nvdimm, data, newdata, pass_type);
drivers/nvdimm/security.c
335
nvdimm->sec.ext_flags = nvdimm_security_flags(nvdimm,
drivers/nvdimm/security.c
338
nvdimm->sec.flags = nvdimm_security_flags(nvdimm,
drivers/nvdimm/security.c
343
static int security_erase(struct nvdimm *nvdimm, unsigned int keyid,
drivers/nvdimm/security.c
346
struct device *dev = &nvdimm->dev;
drivers/nvdimm/security.c
355
if (!nvdimm->sec.ops || !nvdimm->sec.ops->erase
drivers/nvdimm/security.c
356
|| !nvdimm->sec.flags)
drivers/nvdimm/security.c
359
rc = check_security_state(nvdimm);
drivers/nvdimm/security.c
363
if (!test_bit(NVDIMM_SECURITY_UNLOCKED, &nvdimm->sec.ext_flags)
drivers/nvdimm/security.c
370
data = nvdimm_get_user_key_payload(nvdimm, keyid,
drivers/nvdimm/security.c
375
rc = nvdimm->sec.ops->erase(nvdimm, data, pass_type);
drivers/nvdimm/security.c
377
set_bit(NDD_INCOHERENT, &nvdimm->flags);
drivers/nvdimm/security.c
383
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/security.c
387
static int security_overwrite(struct nvdimm *nvdimm, unsigned int keyid)
drivers/nvdimm/security.c
389
struct device *dev = &nvdimm->dev;
drivers/nvdimm/security.c
398
if (!nvdimm->sec.ops || !nvdimm->sec.ops->overwrite
drivers/nvdimm/security.c
399
|| !nvdimm->sec.flags)
drivers/nvdimm/security.c
402
rc = check_security_state(nvdimm);
drivers/nvdimm/security.c
406
data = nvdimm_get_user_key_payload(nvdimm, keyid,
drivers/nvdimm/security.c
411
rc = nvdimm->sec.ops->overwrite(nvdimm, data);
drivers/nvdimm/security.c
413
set_bit(NDD_INCOHERENT, &nvdimm->flags);
drivers/nvdimm/security.c
419
set_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags);
drivers/nvdimm/security.c
420
set_bit(NDD_WORK_PENDING, &nvdimm->flags);
drivers/nvdimm/security.c
421
set_bit(NVDIMM_SECURITY_OVERWRITE, &nvdimm->sec.flags);
drivers/nvdimm/security.c
427
queue_delayed_work(system_percpu_wq, &nvdimm->dwork, 0);
drivers/nvdimm/security.c
433
static void __nvdimm_security_overwrite_query(struct nvdimm *nvdimm)
drivers/nvdimm/security.c
435
struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(&nvdimm->dev);
drivers/nvdimm/security.c
446
if (!test_bit(NDD_WORK_PENDING, &nvdimm->flags))
drivers/nvdimm/security.c
449
tmo = nvdimm->sec.overwrite_tmo;
drivers/nvdimm/security.c
451
if (!nvdimm->sec.ops || !nvdimm->sec.ops->query_overwrite
drivers/nvdimm/security.c
452
|| !nvdimm->sec.flags)
drivers/nvdimm/security.c
455
rc = nvdimm->sec.ops->query_overwrite(nvdimm);
drivers/nvdimm/security.c
460
queue_delayed_work(system_percpu_wq, &nvdimm->dwork, tmo * HZ);
drivers/nvdimm/security.c
461
nvdimm->sec.overwrite_tmo = min(15U * 60U, tmo);
drivers/nvdimm/security.c
466
dev_dbg(&nvdimm->dev, "overwrite failed\n");
drivers/nvdimm/security.c
468
dev_dbg(&nvdimm->dev, "overwrite completed\n");
drivers/nvdimm/security.c
475
nvdimm->sec.overwrite_tmo = 0;
drivers/nvdimm/security.c
476
clear_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags);
drivers/nvdimm/security.c
477
clear_bit(NDD_WORK_PENDING, &nvdimm->flags);
drivers/nvdimm/security.c
478
nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER);
drivers/nvdimm/security.c
479
nvdimm->sec.ext_flags = nvdimm_security_flags(nvdimm, NVDIMM_MASTER);
drivers/nvdimm/security.c
480
if (nvdimm->sec.overwrite_state)
drivers/nvdimm/security.c
481
sysfs_notify_dirent(nvdimm->sec.overwrite_state);
drivers/nvdimm/security.c
482
put_device(&nvdimm->dev);
drivers/nvdimm/security.c
487
struct nvdimm *nvdimm =
drivers/nvdimm/security.c
488
container_of(work, typeof(*nvdimm), dwork.work);
drivers/nvdimm/security.c
490
guard(nvdimm_bus)(&nvdimm->dev);
drivers/nvdimm/security.c
491
__nvdimm_security_overwrite_query(nvdimm);
drivers/nvdimm/security.c
50
static struct key *nvdimm_request_key(struct nvdimm *nvdimm)
drivers/nvdimm/security.c
519
struct nvdimm *nvdimm = to_nvdimm(dev);
drivers/nvdimm/security.c
546
rc = nvdimm_security_freeze(nvdimm);
drivers/nvdimm/security.c
549
rc = security_disable(nvdimm, key, NVDIMM_USER);
drivers/nvdimm/security.c
55
struct device *dev = &nvdimm->dev;
drivers/nvdimm/security.c
552
rc = security_disable(nvdimm, key, NVDIMM_MASTER);
drivers/nvdimm/security.c
555
rc = security_update(nvdimm, key, newkey, i == OP_UPDATE
drivers/nvdimm/security.c
559
if (atomic_read(&nvdimm->busy)) {
drivers/nvdimm/security.c
563
rc = security_erase(nvdimm, key, i == OP_ERASE
drivers/nvdimm/security.c
567
if (atomic_read(&nvdimm->busy)) {
drivers/nvdimm/security.c
57
sprintf(desc, "%s%s", NVDIMM_PREFIX, nvdimm->dimm_id);
drivers/nvdimm/security.c
571
rc = security_overwrite(nvdimm, key);
drivers/nvdimm/security.c
80
static const void *nvdimm_get_key_payload(struct nvdimm *nvdimm,
drivers/nvdimm/security.c
83
*key = nvdimm_request_key(nvdimm);
drivers/nvdimm/security.c
90
static struct key *nvdimm_lookup_user_key(struct nvdimm *nvdimm,
drivers/nvdimm/security.c
96
struct device *dev = &nvdimm->dev;
include/linux/libnvdimm.h
120
struct nvdimm *nvdimm;
include/linux/libnvdimm.h
179
unsigned long (*get_flags)(struct nvdimm *nvdimm,
include/linux/libnvdimm.h
181
int (*freeze)(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
182
int (*change_key)(struct nvdimm *nvdimm,
include/linux/libnvdimm.h
186
int (*unlock)(struct nvdimm *nvdimm,
include/linux/libnvdimm.h
188
int (*disable)(struct nvdimm *nvdimm,
include/linux/libnvdimm.h
190
int (*erase)(struct nvdimm *nvdimm,
include/linux/libnvdimm.h
193
int (*overwrite)(struct nvdimm *nvdimm,
include/linux/libnvdimm.h
195
int (*query_overwrite)(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
196
int (*disable_master)(struct nvdimm *nvdimm,
include/linux/libnvdimm.h
238
enum nvdimm_fwa_state (*activate_state)(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
239
enum nvdimm_fwa_result (*activate_result)(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
240
int (*arm)(struct nvdimm *nvdimm, enum nvdimm_fwa_trigger arg);
include/linux/libnvdimm.h
256
struct nvdimm_bus *nvdimm_to_bus(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
257
struct nvdimm *to_nvdimm(struct device *dev);
include/linux/libnvdimm.h
262
const char *nvdimm_name(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
263
struct kobject *nvdimm_kobj(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
264
unsigned long nvdimm_cmd_mask(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
265
void *nvdimm_provider_data(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
266
struct nvdimm *__nvdimm_create(struct nvdimm_bus *nvdimm_bus,
include/linux/libnvdimm.h
272
static inline struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus,
include/linux/libnvdimm.h
280
void nvdimm_delete(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
285
u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd,
include/linux/libnvdimm.h
287
u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd,
include/linux/libnvdimm.h
305
int nvdimm_in_overwrite(struct nvdimm *nvdimm);
include/linux/libnvdimm.h
308
static inline int nvdimm_ctl(struct nvdimm *nvdimm, unsigned int cmd, void *buf,
include/linux/libnvdimm.h
311
struct nvdimm_bus *nvdimm_bus = nvdimm_to_bus(nvdimm);
include/linux/libnvdimm.h
314
return nd_desc->ndctl(nd_desc, nvdimm, cmd, buf, buf_len, cmd_rc);
include/linux/libnvdimm.h
77
struct nvdimm;
include/linux/libnvdimm.h
80
struct nvdimm *nvdimm, unsigned int cmd, void *buf,
include/linux/libnvdimm.h
97
struct nvdimm *nvdimm, unsigned int cmd, void *data);
include/linux/nd.h
66
int register_nvdimm_pmu(struct nvdimm_pmu *nvdimm, struct platform_device *pdev);
include/linux/nd.h
70
static inline int register_nvdimm_pmu(struct nvdimm_pmu *nvdimm, struct platform_device *pdev)
tools/testing/nvdimm/test/ndtest.c
245
struct nvdimm *nvdimm, unsigned int cmd, void *buf,
tools/testing/nvdimm/test/ndtest.c
256
if (!nvdimm)
tools/testing/nvdimm/test/ndtest.c
259
dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
454
mappings[i].nvdimm = p->config->dimms[ndimm].nvdimm;
tools/testing/nvdimm/test/ndtest.c
571
struct nvdimm *nvdimm = to_nvdimm(dev);
tools/testing/nvdimm/test/ndtest.c
572
struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
588
struct nvdimm *nvdimm = to_nvdimm(dev);
tools/testing/nvdimm/test/ndtest.c
589
struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
599
struct nvdimm *nvdimm = to_nvdimm(dev);
tools/testing/nvdimm/test/ndtest.c
600
struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
627
struct nvdimm *nvdimm = to_nvdimm(dev);
tools/testing/nvdimm/test/ndtest.c
628
struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
637
struct nvdimm *nvdimm = to_nvdimm(dev);
tools/testing/nvdimm/test/ndtest.c
638
struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
658
struct nvdimm *nvdimm = to_nvdimm(dev);
tools/testing/nvdimm/test/ndtest.c
659
struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
670
struct nvdimm *nvdimm = to_nvdimm(dev);
tools/testing/nvdimm/test/ndtest.c
671
struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/ndtest.c
738
dimm->nvdimm = nvdimm_create(priv->bus, dimm,
tools/testing/nvdimm/test/ndtest.c
741
if (!dimm->nvdimm) {
tools/testing/nvdimm/test/ndtest.h
34
struct nvdimm *nvdimm;
tools/testing/nvdimm/test/nfit.c
1331
struct nvdimm *nvdimm, unsigned int cmd, void *buf,
tools/testing/nvdimm/test/nfit.c
1347
nvdimm ? nvdimm_name(nvdimm) : "bus", family, cmd, func,
tools/testing/nvdimm/test/nfit.c
1354
struct nvdimm *nvdimm, unsigned int cmd, void *buf,
tools/testing/nvdimm/test/nfit.c
1366
nfit_ctl_dbg(acpi_desc, nvdimm, cmd, buf, buf_len);
tools/testing/nvdimm/test/nfit.c
1368
if (nvdimm) {
tools/testing/nvdimm/test/nfit.c
1369
struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
tools/testing/nvdimm/test/nfit.c
1370
unsigned long cmd_mask = nvdimm_cmd_mask(nvdimm);
tools/testing/nvdimm/test/nfit.c
2879
struct nvdimm *nvdimm;
tools/testing/nvdimm/test/nfit.c
2948
nvdimm = devm_kzalloc(dev, sizeof(*nvdimm), GFP_KERNEL);
tools/testing/nvdimm/test/nfit.c
2949
if (!nvdimm)
tools/testing/nvdimm/test/nfit.c
2951
*nvdimm = (struct nvdimm) {
tools/testing/nvdimm/test/nfit.c
2970
rc = acpi_nfit_ctl(&acpi_desc->nd_desc, nvdimm, ND_CMD_GET_CONFIG_SIZE,
tools/testing/nvdimm/test/nfit.c
3071
rc = acpi_nfit_ctl(&acpi_desc->nd_desc, nvdimm, ND_CMD_GET_CONFIG_SIZE,
tools/testing/nvdimm/test/nfit.c
667
struct nvdimm *nvdimm = NULL;
tools/testing/nvdimm/test/nfit.c
690
nvdimm = nd_mapping->nvdimm;
tools/testing/nvdimm/test/nfit.c
691
nfit_mem = nvdimm_provider_data(nvdimm);