nd_btt             29 drivers/nvdimm/btt.c 	return &arena->nd_btt->dev;
nd_btt             32 drivers/nvdimm/btt.c static u64 adjust_initial_offset(struct nd_btt *nd_btt, u64 offset)
nd_btt             34 drivers/nvdimm/btt.c 	return offset + nd_btt->initial_offset;
nd_btt             40 drivers/nvdimm/btt.c 	struct nd_btt *nd_btt = arena->nd_btt;
nd_btt             41 drivers/nvdimm/btt.c 	struct nd_namespace_common *ndns = nd_btt->ndns;
nd_btt             44 drivers/nvdimm/btt.c 	offset = adjust_initial_offset(nd_btt, offset);
nd_btt             51 drivers/nvdimm/btt.c 	struct nd_btt *nd_btt = arena->nd_btt;
nd_btt             52 drivers/nvdimm/btt.c 	struct nd_namespace_common *ndns = nd_btt->ndns;
nd_btt             55 drivers/nvdimm/btt.c 	offset = adjust_initial_offset(nd_btt, offset);
nd_btt            260 drivers/nvdimm/btt.c 	btt->debugfs_dir = debugfs_create_dir(dev_name(&btt->nd_btt->dev),
nd_btt            755 drivers/nvdimm/btt.c 	arena->nd_btt = btt->nd_btt;
nd_btt            768 drivers/nvdimm/btt.c 	arena->version_major = btt->nd_btt->version_major;
nd_btt            769 drivers/nvdimm/btt.c 	arena->version_minor = btt->nd_btt->version_minor;
nd_btt            873 drivers/nvdimm/btt.c 		if (!nd_btt_arena_is_valid(btt->nd_btt, super)) {
nd_btt            974 drivers/nvdimm/btt.c 	struct nd_btt *nd_btt = arena->nd_btt;
nd_btt            975 drivers/nvdimm/btt.c 	const u8 *parent_uuid = nd_dev_to_uuid(&nd_btt->ndns->dev);
nd_btt            990 drivers/nvdimm/btt.c 	memcpy(super->uuid, nd_btt->uuid, 16);
nd_btt           1303 drivers/nvdimm/btt.c 	u64 nsoff = adjust_initial_offset(arena->nd_btt,
nd_btt           1461 drivers/nvdimm/btt.c 			dev_err_ratelimited(&btt->nd_btt->dev,
nd_btt           1470 drivers/nvdimm/btt.c 			dev_err(&btt->nd_btt->dev,
nd_btt           1520 drivers/nvdimm/btt.c 	struct nd_btt *nd_btt = btt->nd_btt;
nd_btt           1521 drivers/nvdimm/btt.c 	struct nd_namespace_common *ndns = nd_btt->ndns;
nd_btt           1560 drivers/nvdimm/btt.c 	device_add_disk(&btt->nd_btt->dev, btt->btt_disk, NULL);
nd_btt           1561 drivers/nvdimm/btt.c 	btt->nd_btt->size = btt->nlba * (u64)btt->sector_size;
nd_btt           1591 drivers/nvdimm/btt.c static struct btt *btt_init(struct nd_btt *nd_btt, unsigned long long rawsize,
nd_btt           1597 drivers/nvdimm/btt.c 	struct device *dev = &nd_btt->dev;
nd_btt           1603 drivers/nvdimm/btt.c 	btt->nd_btt = nd_btt;
nd_btt           1610 drivers/nvdimm/btt.c 	nsio = to_nd_namespace_io(&nd_btt->ndns->dev);
nd_btt           1673 drivers/nvdimm/btt.c 	struct nd_btt *nd_btt = to_nd_btt(ndns->claim);
nd_btt           1679 drivers/nvdimm/btt.c 	if (!nd_btt->uuid || !nd_btt->ndns || !nd_btt->lbasize) {
nd_btt           1680 drivers/nvdimm/btt.c 		dev_dbg(&nd_btt->dev, "incomplete btt configuration\n");
nd_btt           1684 drivers/nvdimm/btt.c 	btt_sb = devm_kzalloc(&nd_btt->dev, sizeof(*btt_sb), GFP_KERNEL);
nd_btt           1694 drivers/nvdimm/btt.c 	nd_btt_version(nd_btt, ndns, btt_sb);
nd_btt           1696 drivers/nvdimm/btt.c 	rawsize = nvdimm_namespace_capacity(ndns) - nd_btt->initial_offset;
nd_btt           1698 drivers/nvdimm/btt.c 		dev_dbg(&nd_btt->dev, "%s must be at least %ld bytes\n",
nd_btt           1700 drivers/nvdimm/btt.c 				ARENA_MIN_SIZE + nd_btt->initial_offset);
nd_btt           1703 drivers/nvdimm/btt.c 	nd_region = to_nd_region(nd_btt->dev.parent);
nd_btt           1704 drivers/nvdimm/btt.c 	btt = btt_init(nd_btt, rawsize, nd_btt->lbasize, nd_btt->uuid,
nd_btt           1708 drivers/nvdimm/btt.c 	nd_btt->btt = btt;
nd_btt           1714 drivers/nvdimm/btt.c int nvdimm_namespace_detach_btt(struct nd_btt *nd_btt)
nd_btt           1716 drivers/nvdimm/btt.c 	struct btt *btt = nd_btt->btt;
nd_btt           1719 drivers/nvdimm/btt.c 	nd_btt->btt = NULL;
nd_btt            191 drivers/nvdimm/btt.h 	struct nd_btt *nd_btt;
nd_btt            224 drivers/nvdimm/btt.h 	struct nd_btt *nd_btt;
nd_btt            236 drivers/nvdimm/btt.h bool nd_btt_arena_is_valid(struct nd_btt *nd_btt, struct btt_sb *super);
nd_btt            237 drivers/nvdimm/btt.h int nd_btt_version(struct nd_btt *nd_btt, struct nd_namespace_common *ndns,
nd_btt             19 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt             22 drivers/nvdimm/btt_devs.c 	nd_detach_ndns(&nd_btt->dev, &nd_btt->ndns);
nd_btt             23 drivers/nvdimm/btt_devs.c 	ida_simple_remove(&nd_region->btt_ida, nd_btt->id);
nd_btt             24 drivers/nvdimm/btt_devs.c 	kfree(nd_btt->uuid);
nd_btt             25 drivers/nvdimm/btt_devs.c 	kfree(nd_btt);
nd_btt             39 drivers/nvdimm/btt_devs.c struct nd_btt *to_nd_btt(struct device *dev)
nd_btt             41 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = container_of(dev, struct nd_btt, dev);
nd_btt             44 drivers/nvdimm/btt_devs.c 	return nd_btt;
nd_btt             54 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt             56 drivers/nvdimm/btt_devs.c 	return nd_size_select_show(nd_btt->lbasize, btt_lbasize_supported, buf);
nd_btt             62 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt             67 drivers/nvdimm/btt_devs.c 	rc = nd_size_select_store(dev, buf, &nd_btt->lbasize,
nd_btt             81 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt             83 drivers/nvdimm/btt_devs.c 	if (nd_btt->uuid)
nd_btt             84 drivers/nvdimm/btt_devs.c 		return sprintf(buf, "%pUb\n", nd_btt->uuid);
nd_btt             91 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt             95 drivers/nvdimm/btt_devs.c 	rc = nd_uuid_store(dev, &nd_btt->uuid, buf, len);
nd_btt            107 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt            111 drivers/nvdimm/btt_devs.c 	rc = sprintf(buf, "%s\n", nd_btt->ndns
nd_btt            112 drivers/nvdimm/btt_devs.c 			? dev_name(&nd_btt->ndns->dev) : "");
nd_btt            120 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt            125 drivers/nvdimm/btt_devs.c 	rc = nd_namespace_store(dev, &nd_btt->ndns, buf, len);
nd_btt            138 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt            143 drivers/nvdimm/btt_devs.c 		rc = sprintf(buf, "%llu\n", nd_btt->size);
nd_btt            185 drivers/nvdimm/btt_devs.c 	struct nd_btt *nd_btt;
nd_btt            188 drivers/nvdimm/btt_devs.c 	nd_btt = kzalloc(sizeof(*nd_btt), GFP_KERNEL);
nd_btt            189 drivers/nvdimm/btt_devs.c 	if (!nd_btt)
nd_btt            192 drivers/nvdimm/btt_devs.c 	nd_btt->id = ida_simple_get(&nd_region->btt_ida, 0, 0, GFP_KERNEL);
nd_btt            193 drivers/nvdimm/btt_devs.c 	if (nd_btt->id < 0)
nd_btt            196 drivers/nvdimm/btt_devs.c 	nd_btt->lbasize = lbasize;
nd_btt            202 drivers/nvdimm/btt_devs.c 	nd_btt->uuid = uuid;
nd_btt            203 drivers/nvdimm/btt_devs.c 	dev = &nd_btt->dev;
nd_btt            204 drivers/nvdimm/btt_devs.c 	dev_set_name(dev, "btt%d.%d", nd_region->id, nd_btt->id);
nd_btt            208 drivers/nvdimm/btt_devs.c 	device_initialize(&nd_btt->dev);
nd_btt            209 drivers/nvdimm/btt_devs.c 	if (ndns && !__nd_attach_ndns(&nd_btt->dev, ndns, &nd_btt->ndns)) {
nd_btt            218 drivers/nvdimm/btt_devs.c 	ida_simple_remove(&nd_region->btt_ida, nd_btt->id);
nd_btt            221 drivers/nvdimm/btt_devs.c 	kfree(nd_btt);
nd_btt            245 drivers/nvdimm/btt_devs.c bool nd_btt_arena_is_valid(struct nd_btt *nd_btt, struct btt_sb *super)
nd_btt            247 drivers/nvdimm/btt_devs.c 	const u8 *parent_uuid = nd_dev_to_uuid(&nd_btt->ndns->dev);
nd_btt            265 drivers/nvdimm/btt_devs.c 		dev_info(&nd_btt->dev, "Found arena with an error flag\n");
nd_btt            271 drivers/nvdimm/btt_devs.c int nd_btt_version(struct nd_btt *nd_btt, struct nd_namespace_common *ndns,
nd_btt            276 drivers/nvdimm/btt_devs.c 		nd_btt->initial_offset = 0;
nd_btt            277 drivers/nvdimm/btt_devs.c 		nd_btt->version_major = 2;
nd_btt            278 drivers/nvdimm/btt_devs.c 		nd_btt->version_minor = 0;
nd_btt            281 drivers/nvdimm/btt_devs.c 		if (!nd_btt_arena_is_valid(nd_btt, btt_sb))
nd_btt            291 drivers/nvdimm/btt_devs.c 		nd_btt->initial_offset = SZ_4K;
nd_btt            292 drivers/nvdimm/btt_devs.c 		nd_btt->version_major = 1;
nd_btt            293 drivers/nvdimm/btt_devs.c 		nd_btt->version_minor = 1;
nd_btt            296 drivers/nvdimm/btt_devs.c 		if (!nd_btt_arena_is_valid(nd_btt, btt_sb))
nd_btt            306 drivers/nvdimm/btt_devs.c static int __nd_btt_probe(struct nd_btt *nd_btt,
nd_btt            311 drivers/nvdimm/btt_devs.c 	if (!btt_sb || !ndns || !nd_btt)
nd_btt            317 drivers/nvdimm/btt_devs.c 	rc = nd_btt_version(nd_btt, ndns, btt_sb);
nd_btt            321 drivers/nvdimm/btt_devs.c 	nd_btt->lbasize = le32_to_cpu(btt_sb->external_lbasize);
nd_btt            322 drivers/nvdimm/btt_devs.c 	nd_btt->uuid = kmemdup(btt_sb->uuid, 16, GFP_KERNEL);
nd_btt            323 drivers/nvdimm/btt_devs.c 	if (!nd_btt->uuid)
nd_btt            326 drivers/nvdimm/btt_devs.c 	__nd_device_register(&nd_btt->dev);
nd_btt            359 drivers/nvdimm/btt_devs.c 		struct nd_btt *nd_btt = to_nd_btt(btt_dev);
nd_btt            361 drivers/nvdimm/btt_devs.c 		nd_detach_ndns(btt_dev, &nd_btt->ndns);
nd_btt            907 drivers/nvdimm/bus.c 	struct nd_btt *nd_btt = is_nd_btt(dev) ? to_nd_btt(dev) : NULL;
nd_btt            920 drivers/nvdimm/bus.c 	if (nd_btt || nd_pfn || nd_dax) {
nd_btt            921 drivers/nvdimm/bus.c 		if (nd_btt)
nd_btt            922 drivers/nvdimm/bus.c 			ndns = nd_btt->ndns;
nd_btt            120 drivers/nvdimm/claim.c 		struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt            122 drivers/nvdimm/claim.c 		nd_btt->lbasize = 0;
nd_btt            123 drivers/nvdimm/claim.c 		kfree(nd_btt->uuid);
nd_btt            124 drivers/nvdimm/claim.c 		nd_btt->uuid = NULL;
nd_btt             90 drivers/nvdimm/namespace_devs.c 		struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt             92 drivers/nvdimm/namespace_devs.c 		uuid2 = nd_btt->uuid;
nd_btt           1685 drivers/nvdimm/namespace_devs.c 	struct nd_btt *nd_btt = is_nd_btt(dev) ? to_nd_btt(dev) : NULL;
nd_btt           1691 drivers/nvdimm/namespace_devs.c 	if (nd_btt || nd_pfn || nd_dax) {
nd_btt           1692 drivers/nvdimm/namespace_devs.c 		if (nd_btt)
nd_btt           1693 drivers/nvdimm/namespace_devs.c 			ndns = nd_btt->ndns;
nd_btt            259 drivers/nvdimm/nd.h struct nd_btt *to_nd_btt(struct device *dev);
nd_btt            367 drivers/nvdimm/nd.h int nvdimm_namespace_detach_btt(struct nd_btt *nd_btt);
nd_btt            576 drivers/nvdimm/pmem.c 		struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt            578 drivers/nvdimm/pmem.c 		ndns = nd_btt->ndns;
nd_btt            727 drivers/nvdimm/region_devs.c 		struct nd_btt *nd_btt = to_nd_btt(dev);
nd_btt            731 drivers/nvdimm/region_devs.c 		if (nd_region->ns_seed == &nd_btt->ndns->dev)