Symbol: dax_region
drivers/dax/bus.c
1021
static ssize_t dev_dax_resize(struct dax_region *dax_region,
drivers/dax/bus.c
1024
resource_size_t avail = dax_region_avail_size(dax_region), to_alloc;
drivers/dax/bus.c
1026
struct resource *region_res = &dax_region->res;
drivers/dax/bus.c
1054
return alloc_dev_dax_range(dev_dax, dax_region->res.start, to_alloc);
drivers/dax/bus.c
1061
if (res == first && res->start > dax_region->res.start) {
drivers/dax/bus.c
1062
alloc = min(res->start - dax_region->res.start, to_alloc);
drivers/dax/bus.c
1063
rc = alloc_dev_dax_range(dev_dax, dax_region->res.start, alloc);
drivers/dax/bus.c
1100
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
1114
if (!dax_region->dev->driver) {
drivers/dax/bus.c
1122
rc = dev_dax_resize(dax_region, dev_dax, val);
drivers/dax/bus.c
1169
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
1181
if (!dax_region->dev->driver) {
drivers/dax/bus.c
1231
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
1245
if (!dax_region->dev->driver) {
drivers/dax/bus.c
1274
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
1276
return dax_region->target_node;
drivers/dax/bus.c
1292
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
1296
start = dax_region->res.start;
drivers/dax/bus.c
1368
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
1374
if (a == &dev_attr_mapping.attr && is_static(dax_region))
drivers/dax/bus.c
1377
a == &dev_attr_size.attr) && is_static(dax_region))
drivers/dax/bus.c
1422
struct dax_region *dax_region = data->dax_region;
drivers/dax/bus.c
1423
struct device *parent = dax_region->dev;
drivers/dax/bus.c
1434
dev_dax->region = dax_region;
drivers/dax/bus.c
1435
if (is_static(dax_region)) {
drivers/dax/bus.c
1457
dev_set_name(dev, "dax%d.%d", dax_region->id, dev_dax->id);
drivers/dax/bus.c
1459
rc = alloc_dev_dax_range(dev_dax, dax_region->res.start, data->size);
drivers/dax/bus.c
1464
dev_WARN_ONCE(parent, !is_static(dax_region),
drivers/dax/bus.c
1492
dev_dax->target_node = dax_region->target_node;
drivers/dax/bus.c
1493
dev_dax->align = dax_region->align;
drivers/dax/bus.c
1511
rc = devm_add_action_or_reset(dax_region->dev, unregister_dev_dax, dev);
drivers/dax/bus.c
176
static bool is_static(struct dax_region *dax_region)
drivers/dax/bus.c
178
return (dax_region->res.flags & IORESOURCE_DAX_STATIC) != 0;
drivers/dax/bus.c
204
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
219
if (rc || is_static(dax_region))
drivers/dax/bus.c
226
if (dax_region->seed == dev)
drivers/dax/bus.c
227
dax_region->seed = NULL;
drivers/dax/bus.c
267
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
269
return sysfs_emit(buf, "%d\n", dax_region->id);
drivers/dax/bus.c
276
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
279
(unsigned long long)resource_size(&dax_region->res));
drivers/dax/bus.c
287
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
289
return sysfs_emit(buf, "%u\n", dax_region->align);
drivers/dax/bus.c
294
#define for_each_dax_region_resource(dax_region, res) \
drivers/dax/bus.c
295
for (res = (dax_region)->res.child; res; res = res->sibling)
drivers/dax/bus.c
297
static unsigned long long dax_region_avail_size(struct dax_region *dax_region)
drivers/dax/bus.c
299
resource_size_t size = resource_size(&dax_region->res);
drivers/dax/bus.c
304
for_each_dax_region_resource(dax_region, res)
drivers/dax/bus.c
312
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
319
size = dax_region_avail_size(dax_region);
drivers/dax/bus.c
329
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
333
if (is_static(dax_region))
drivers/dax/bus.c
339
seed = dax_region->seed;
drivers/dax/bus.c
350
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
354
if (is_static(dax_region))
drivers/dax/bus.c
360
youngest = dax_region->youngest;
drivers/dax/bus.c
372
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
377
if (is_static(dax_region))
drivers/dax/bus.c
389
avail = dax_region_avail_size(dax_region);
drivers/dax/bus.c
394
.dax_region = dax_region,
drivers/dax/bus.c
411
if (!dax_region->seed)
drivers/dax/bus.c
412
dax_region->seed = &dev_dax->dev;
drivers/dax/bus.c
413
dax_region->youngest = &dev_dax->dev;
drivers/dax/bus.c
445
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
452
__release_region(&dax_region->res, range->start, range_len(range));
drivers/dax/bus.c
481
struct dax_region *dax_region;
drivers/dax/bus.c
483
dax_region = container_of(kref, struct dax_region, kref);
drivers/dax/bus.c
484
kfree(dax_region);
drivers/dax/bus.c
487
static void dax_region_put(struct dax_region *dax_region)
drivers/dax/bus.c
489
kref_put(&dax_region->kref, dax_region_free);
drivers/dax/bus.c
495
struct dax_region *dax_region;
drivers/dax/bus.c
502
dax_region = dev_dax->region;
drivers/dax/bus.c
503
ida_free(&dax_region->ida, dev_dax->id);
drivers/dax/bus.c
504
dax_region_put(dax_region);
drivers/dax/bus.c
523
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
526
id = ida_alloc(&dax_region->ida, GFP_KERNEL);
drivers/dax/bus.c
529
kref_get(&dax_region->kref);
drivers/dax/bus.c
538
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
544
if (is_static(dax_region))
drivers/dax/bus.c
547
victim = device_find_child_by_name(dax_region->dev, buf);
drivers/dax/bus.c
567
if (dax_region->seed == victim)
drivers/dax/bus.c
568
dax_region->seed = NULL;
drivers/dax/bus.c
569
if (dax_region->youngest == victim)
drivers/dax/bus.c
570
dax_region->youngest = NULL;
drivers/dax/bus.c
591
struct dax_region *dax_region = dev_get_drvdata(dev);
drivers/dax/bus.c
593
if (is_static(dax_region))
drivers/dax/bus.c
626
struct dax_region *dax_region = region;
drivers/dax/bus.c
628
sysfs_remove_groups(&dax_region->dev->kobj,
drivers/dax/bus.c
630
dax_region_put(dax_region);
drivers/dax/bus.c
633
struct dax_region *alloc_dax_region(struct device *parent, int region_id,
drivers/dax/bus.c
637
struct dax_region *dax_region;
drivers/dax/bus.c
653
dax_region = kzalloc_obj(*dax_region);
drivers/dax/bus.c
654
if (!dax_region)
drivers/dax/bus.c
657
dev_set_drvdata(parent, dax_region);
drivers/dax/bus.c
658
kref_init(&dax_region->kref);
drivers/dax/bus.c
659
dax_region->id = region_id;
drivers/dax/bus.c
660
dax_region->align = align;
drivers/dax/bus.c
661
dax_region->dev = parent;
drivers/dax/bus.c
662
dax_region->target_node = target_node;
drivers/dax/bus.c
663
ida_init(&dax_region->ida);
drivers/dax/bus.c
664
dax_region->res = (struct resource) {
drivers/dax/bus.c
671
kfree(dax_region);
drivers/dax/bus.c
675
if (devm_add_action_or_reset(parent, dax_region_unregister, dax_region))
drivers/dax/bus.c
677
return dax_region;
drivers/dax/bus.c
799
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
806
if (dev_WARN_ONCE(&dev_dax->dev, !dax_region->dev->driver,
drivers/dax/bus.c
832
rc = devm_add_action_or_reset(dax_region->dev, unregister_dax_mapping,
drivers/dax/bus.c
842
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
843
struct resource *res = &dax_region->res;
drivers/dax/bus.c
958
struct dax_region *dax_region = dev_dax->region;
drivers/dax/bus.c
970
devm_release_action(dax_region->dev,
drivers/dax/bus.c
979
for_each_dax_region_resource(dax_region, res)
drivers/dax/bus.h
11
struct dax_region;
drivers/dax/bus.h
17
struct dax_region *alloc_dax_region(struct device *parent, int region_id,
drivers/dax/bus.h
22
struct dax_region *dax_region;
drivers/dax/cxl.c
14
struct dax_region *dax_region;
drivers/dax/cxl.c
20
dax_region = alloc_dax_region(dev, cxlr->id, &cxlr_dax->hpa_range, nid,
drivers/dax/cxl.c
22
if (!dax_region)
drivers/dax/cxl.c
26
.dax_region = dax_region,
drivers/dax/dax-private.h
84
struct dax_region *region;
drivers/dax/hmem/hmem.c
15
struct dax_region *dax_region;
drivers/dax/hmem/hmem.c
29
dax_region = alloc_dax_region(dev, pdev->id, &mri->range,
drivers/dax/hmem/hmem.c
31
if (!dax_region)
drivers/dax/hmem/hmem.c
35
.dax_region = dax_region,
drivers/dax/pmem.c
17
struct dax_region *dax_region;
drivers/dax/pmem.c
54
dax_region = alloc_dax_region(dev, region_id, &range,
drivers/dax/pmem.c
57
if (!dax_region)
drivers/dax/pmem.c
61
.dax_region = dax_region,