Symbol: nd_btt
drivers/nvdimm/btt.c
1295
u64 nsoff = adjust_initial_offset(arena->nd_btt,
drivers/nvdimm/btt.c
1455
dev_err_ratelimited(&btt->nd_btt->dev,
drivers/nvdimm/btt.c
1464
dev_err(&btt->nd_btt->dev,
drivers/nvdimm/btt.c
1496
struct nd_btt *nd_btt = btt->nd_btt;
drivers/nvdimm/btt.c
1497
struct nd_namespace_common *ndns = nd_btt->ndns;
drivers/nvdimm/btt.c
1521
rc = device_add_disk(&btt->nd_btt->dev, btt->btt_disk, NULL);
drivers/nvdimm/btt.c
1525
btt->nd_btt->size = btt->nlba * (u64)btt->sector_size;
drivers/nvdimm/btt.c
1558
static struct btt *btt_init(struct nd_btt *nd_btt, unsigned long long rawsize,
drivers/nvdimm/btt.c
1565
struct device *dev = &nd_btt->dev;
drivers/nvdimm/btt.c
1571
btt->nd_btt = nd_btt;
drivers/nvdimm/btt.c
1578
nsio = to_nd_namespace_io(&nd_btt->ndns->dev);
drivers/nvdimm/btt.c
1641
struct nd_btt *nd_btt = to_nd_btt(ndns->claim);
drivers/nvdimm/btt.c
1648
if (!nd_btt->uuid || !nd_btt->ndns || !nd_btt->lbasize) {
drivers/nvdimm/btt.c
1649
dev_dbg(&nd_btt->dev, "incomplete btt configuration\n");
drivers/nvdimm/btt.c
1653
btt_sb = devm_kzalloc(&nd_btt->dev, sizeof(*btt_sb), GFP_KERNEL);
drivers/nvdimm/btt.c
1658
rc = devm_namespace_enable(&nd_btt->dev, ndns, size);
drivers/nvdimm/btt.c
1668
nd_btt_version(nd_btt, ndns, btt_sb);
drivers/nvdimm/btt.c
1670
rawsize = size - nd_btt->initial_offset;
drivers/nvdimm/btt.c
1672
dev_dbg(&nd_btt->dev, "%s must be at least %ld bytes\n",
drivers/nvdimm/btt.c
1674
ARENA_MIN_SIZE + nd_btt->initial_offset);
drivers/nvdimm/btt.c
1677
nd_region = to_nd_region(nd_btt->dev.parent);
drivers/nvdimm/btt.c
1678
btt = btt_init(nd_btt, rawsize, nd_btt->lbasize, nd_btt->uuid,
drivers/nvdimm/btt.c
1682
nd_btt->btt = btt;
drivers/nvdimm/btt.c
1688
int nvdimm_namespace_detach_btt(struct nd_btt *nd_btt)
drivers/nvdimm/btt.c
1690
struct btt *btt = nd_btt->btt;
drivers/nvdimm/btt.c
1693
nd_btt->btt = NULL;
drivers/nvdimm/btt.c
262
btt->debugfs_dir = debugfs_create_dir(dev_name(&btt->nd_btt->dev),
drivers/nvdimm/btt.c
31
return &arena->nd_btt->dev;
drivers/nvdimm/btt.c
34
static u64 adjust_initial_offset(struct nd_btt *nd_btt, u64 offset)
drivers/nvdimm/btt.c
36
return offset + nd_btt->initial_offset;
drivers/nvdimm/btt.c
42
struct nd_btt *nd_btt = arena->nd_btt;
drivers/nvdimm/btt.c
43
struct nd_namespace_common *ndns = nd_btt->ndns;
drivers/nvdimm/btt.c
46
offset = adjust_initial_offset(nd_btt, offset);
drivers/nvdimm/btt.c
53
struct nd_btt *nd_btt = arena->nd_btt;
drivers/nvdimm/btt.c
54
struct nd_namespace_common *ndns = nd_btt->ndns;
drivers/nvdimm/btt.c
57
offset = adjust_initial_offset(nd_btt, offset);
drivers/nvdimm/btt.c
755
arena->nd_btt = btt->nd_btt;
drivers/nvdimm/btt.c
768
arena->version_major = btt->nd_btt->version_major;
drivers/nvdimm/btt.c
769
arena->version_minor = btt->nd_btt->version_minor;
drivers/nvdimm/btt.c
870
if (!nd_btt_arena_is_valid(btt->nd_btt, super)) {
drivers/nvdimm/btt.c
968
struct nd_btt *nd_btt = arena->nd_btt;
drivers/nvdimm/btt.c
969
const uuid_t *parent_uuid = nd_dev_to_uuid(&nd_btt->ndns->dev);
drivers/nvdimm/btt.c
984
export_uuid(super->uuid, nd_btt->uuid);
drivers/nvdimm/btt.h
190
struct nd_btt *nd_btt;
drivers/nvdimm/btt.h
223
struct nd_btt *nd_btt;
drivers/nvdimm/btt.h
235
bool nd_btt_arena_is_valid(struct nd_btt *nd_btt, struct btt_sb *super);
drivers/nvdimm/btt.h
236
int nd_btt_version(struct nd_btt *nd_btt, struct nd_namespace_common *ndns,
drivers/nvdimm/btt_devs.c
103
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
108
rc = nd_namespace_store(dev, &nd_btt->ndns, buf, len);
drivers/nvdimm/btt_devs.c
119
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
124
rc = sprintf(buf, "%llu\n", nd_btt->size);
drivers/nvdimm/btt_devs.c
18
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
180
struct nd_btt *nd_btt;
drivers/nvdimm/btt_devs.c
183
nd_btt = kzalloc_obj(*nd_btt);
drivers/nvdimm/btt_devs.c
184
if (!nd_btt)
drivers/nvdimm/btt_devs.c
187
nd_btt->id = ida_alloc(&nd_region->btt_ida, GFP_KERNEL);
drivers/nvdimm/btt_devs.c
188
if (nd_btt->id < 0)
drivers/nvdimm/btt_devs.c
191
nd_btt->lbasize = lbasize;
drivers/nvdimm/btt_devs.c
197
nd_btt->uuid = uuid;
drivers/nvdimm/btt_devs.c
198
dev = &nd_btt->dev;
drivers/nvdimm/btt_devs.c
199
dev_set_name(dev, "btt%d.%d", nd_region->id, nd_btt->id);
drivers/nvdimm/btt_devs.c
202
device_initialize(&nd_btt->dev);
drivers/nvdimm/btt_devs.c
203
lockdep_set_class(&nd_btt->dev.mutex, &nvdimm_btt_key);
drivers/nvdimm/btt_devs.c
204
if (ndns && !__nd_attach_ndns(&nd_btt->dev, ndns, &nd_btt->ndns)) {
drivers/nvdimm/btt_devs.c
21
nd_detach_ndns(&nd_btt->dev, &nd_btt->ndns);
drivers/nvdimm/btt_devs.c
213
ida_free(&nd_region->btt_ida, nd_btt->id);
drivers/nvdimm/btt_devs.c
216
kfree(nd_btt);
drivers/nvdimm/btt_devs.c
22
ida_free(&nd_region->btt_ida, nd_btt->id);
drivers/nvdimm/btt_devs.c
23
kfree(nd_btt->uuid);
drivers/nvdimm/btt_devs.c
24
kfree(nd_btt);
drivers/nvdimm/btt_devs.c
240
bool nd_btt_arena_is_valid(struct nd_btt *nd_btt, struct btt_sb *super)
drivers/nvdimm/btt_devs.c
242
const uuid_t *ns_uuid = nd_dev_to_uuid(&nd_btt->ndns->dev);
drivers/nvdimm/btt_devs.c
262
dev_info(&nd_btt->dev, "Found arena with an error flag\n");
drivers/nvdimm/btt_devs.c
268
int nd_btt_version(struct nd_btt *nd_btt, struct nd_namespace_common *ndns,
drivers/nvdimm/btt_devs.c
27
struct nd_btt *to_nd_btt(struct device *dev)
drivers/nvdimm/btt_devs.c
273
nd_btt->initial_offset = 0;
drivers/nvdimm/btt_devs.c
274
nd_btt->version_major = 2;
drivers/nvdimm/btt_devs.c
275
nd_btt->version_minor = 0;
drivers/nvdimm/btt_devs.c
278
if (!nd_btt_arena_is_valid(nd_btt, btt_sb))
drivers/nvdimm/btt_devs.c
288
nd_btt->initial_offset = SZ_4K;
drivers/nvdimm/btt_devs.c
289
nd_btt->version_major = 1;
drivers/nvdimm/btt_devs.c
29
struct nd_btt *nd_btt = container_of(dev, struct nd_btt, dev);
drivers/nvdimm/btt_devs.c
290
nd_btt->version_minor = 1;
drivers/nvdimm/btt_devs.c
293
if (!nd_btt_arena_is_valid(nd_btt, btt_sb))
drivers/nvdimm/btt_devs.c
303
static int __nd_btt_probe(struct nd_btt *nd_btt,
drivers/nvdimm/btt_devs.c
308
if (!btt_sb || !ndns || !nd_btt)
drivers/nvdimm/btt_devs.c
314
rc = nd_btt_version(nd_btt, ndns, btt_sb);
drivers/nvdimm/btt_devs.c
318
nd_btt->lbasize = le32_to_cpu(btt_sb->external_lbasize);
drivers/nvdimm/btt_devs.c
319
nd_btt->uuid = kmemdup(&btt_sb->uuid, sizeof(uuid_t), GFP_KERNEL);
drivers/nvdimm/btt_devs.c
32
return nd_btt;
drivers/nvdimm/btt_devs.c
320
if (!nd_btt->uuid)
drivers/nvdimm/btt_devs.c
323
nd_device_register(&nd_btt->dev);
drivers/nvdimm/btt_devs.c
355
struct nd_btt *nd_btt = to_nd_btt(btt_dev);
drivers/nvdimm/btt_devs.c
357
nd_detach_ndns(btt_dev, &nd_btt->ndns);
drivers/nvdimm/btt_devs.c
42
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
44
return nd_size_select_show(nd_btt->lbasize, btt_lbasize_supported, buf);
drivers/nvdimm/btt_devs.c
50
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
55
rc = nd_size_select_store(dev, buf, &nd_btt->lbasize,
drivers/nvdimm/btt_devs.c
67
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
69
if (nd_btt->uuid)
drivers/nvdimm/btt_devs.c
70
return sprintf(buf, "%pUb\n", nd_btt->uuid);
drivers/nvdimm/btt_devs.c
77
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
81
rc = nd_uuid_store(dev, &nd_btt->uuid, buf, len);
drivers/nvdimm/btt_devs.c
93
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/btt_devs.c
96
return sprintf(buf, "%s\n", nd_btt->ndns
drivers/nvdimm/btt_devs.c
97
? dev_name(&nd_btt->ndns->dev) : "");
drivers/nvdimm/bus.c
953
struct nd_btt *nd_btt = is_nd_btt(dev) ? to_nd_btt(dev) : NULL;
drivers/nvdimm/bus.c
966
if (nd_btt || nd_pfn || nd_dax) {
drivers/nvdimm/bus.c
967
if (nd_btt)
drivers/nvdimm/bus.c
968
ndns = nd_btt->ndns;
drivers/nvdimm/claim.c
102
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/claim.c
104
nd_btt->lbasize = 0;
drivers/nvdimm/claim.c
105
kfree(nd_btt->uuid);
drivers/nvdimm/claim.c
106
nd_btt->uuid = NULL;
drivers/nvdimm/namespace_devs.c
1433
struct nd_btt *nd_btt = is_nd_btt(dev) ? to_nd_btt(dev) : NULL;
drivers/nvdimm/namespace_devs.c
1439
if (nd_btt || nd_pfn || nd_dax) {
drivers/nvdimm/namespace_devs.c
1440
if (nd_btt)
drivers/nvdimm/namespace_devs.c
1441
ndns = nd_btt->ndns;
drivers/nvdimm/namespace_devs.c
48
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/namespace_devs.c
50
uuid2 = nd_btt->uuid;
drivers/nvdimm/nd.h
533
struct nd_btt *to_nd_btt(struct device *dev);
drivers/nvdimm/nd.h
651
int nvdimm_namespace_detach_btt(struct nd_btt *nd_btt);
drivers/nvdimm/pmem.c
681
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/pmem.c
683
ndns = nd_btt->ndns;
drivers/nvdimm/pmem.c
722
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/pmem.c
723
struct btt *btt = nd_btt->btt;
drivers/nvdimm/region_devs.c
880
struct nd_btt *nd_btt = to_nd_btt(dev);
drivers/nvdimm/region_devs.c
884
if (nd_region->ns_seed == &nd_btt->ndns->dev)