summaryrefslogtreecommitdiff
path: root/drivers/dax
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2017-07-20 00:55:26 +0300
committerDan Williams <dan.j.williams@intel.com>2019-01-07 08:24:45 +0300
commit21b9e979501fdb5f6797193d70428a2b00bd5247 (patch)
tree653f9051600f5db2b1a40b832d4c0e2b3eba0a33 /drivers/dax
parentbfeffd155283772bbe78c6a05dec7c0128ee500c (diff)
downloadlinux-21b9e979501fdb5f6797193d70428a2b00bd5247.tar.xz
device-dax: Kill dax_region ida
Commit bbb3be170ac2 "device-dax: fix sysfs duplicate warnings" arranged for passing a dax instance-id to devm_create_dax_dev(), rather than generating one internally. Remove the dax_region ida and related code. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dax')
-rw-r--r--drivers/dax/dax-private.h3
-rw-r--r--drivers/dax/device.c24
2 files changed, 3 insertions, 24 deletions
diff --git a/drivers/dax/dax-private.h b/drivers/dax/dax-private.h
index b6fc4f04636d..d1b36a42132f 100644
--- a/drivers/dax/dax-private.h
+++ b/drivers/dax/dax-private.h
@@ -28,7 +28,6 @@
*/
struct dax_region {
int id;
- struct ida ida;
void *base;
struct kref kref;
struct device *dev;
@@ -42,7 +41,6 @@ struct dax_region {
* @region - parent region
* @dax_dev - core dax functionality
* @dev - device core
- * @id - child id in the region
* @num_resources - number of physical address extents in this device
* @res - array of physical address ranges
*/
@@ -50,7 +48,6 @@ struct dev_dax {
struct dax_region *region;
struct dax_device *dax_dev;
struct device dev;
- int id;
int num_resources;
struct resource res[0];
};
diff --git a/drivers/dax/device.c b/drivers/dax/device.c
index 948806e57cee..a5a670c1cd58 100644
--- a/drivers/dax/device.c
+++ b/drivers/dax/device.c
@@ -128,7 +128,6 @@ struct dax_region *alloc_dax_region(struct device *parent, int region_id,
dax_region->pfn_flags = pfn_flags;
kref_init(&dax_region->kref);
dax_region->id = region_id;
- ida_init(&dax_region->ida);
dax_region->align = align;
dax_region->dev = parent;
dax_region->base = addr;
@@ -582,8 +581,6 @@ static void dev_dax_release(struct device *dev)
struct dax_region *dax_region = dev_dax->region;
struct dax_device *dax_dev = dev_dax->dax_dev;
- if (dev_dax->id >= 0)
- ida_simple_remove(&dax_region->ida, dev_dax->id);
dax_region_put(dax_region);
put_dax(dax_dev);
kfree(dev_dax);
@@ -642,19 +639,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region,
}
if (i < count)
- goto err_id;
-
- if (id < 0) {
- id = ida_simple_get(&dax_region->ida, 0, 0, GFP_KERNEL);
- dev_dax->id = id;
- if (id < 0) {
- rc = id;
- goto err_id;
- }
- } else {
- /* region provider owns @id lifetime */
- dev_dax->id = -1;
- }
+ goto err;
/*
* No 'host' or dax_operations since there is no access to this
@@ -663,7 +648,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region,
dax_dev = alloc_dax(dev_dax, NULL, NULL);
if (!dax_dev) {
rc = -ENOMEM;
- goto err_dax;
+ goto err;
}
/* from here on we're committed to teardown via dax_dev_release() */
@@ -700,10 +685,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region,
return dev_dax;
- err_dax:
- if (dev_dax->id >= 0)
- ida_simple_remove(&dax_region->ida, dev_dax->id);
- err_id:
+ err:
kfree(dev_dax);
return ERR_PTR(rc);