Commit 21b9e979 authored by Dan Williams's avatar Dan Williams

device-dax: Kill dax_region ida

Commit bbb3be17 "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: default avatarDan Williams <dan.j.williams@intel.com>
parent bfeffd15
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
*/ */
struct dax_region { struct dax_region {
int id; int id;
struct ida ida;
void *base; void *base;
struct kref kref; struct kref kref;
struct device *dev; struct device *dev;
...@@ -42,7 +41,6 @@ struct dax_region { ...@@ -42,7 +41,6 @@ struct dax_region {
* @region - parent region * @region - parent region
* @dax_dev - core dax functionality * @dax_dev - core dax functionality
* @dev - device core * @dev - device core
* @id - child id in the region
* @num_resources - number of physical address extents in this device * @num_resources - number of physical address extents in this device
* @res - array of physical address ranges * @res - array of physical address ranges
*/ */
...@@ -50,7 +48,6 @@ struct dev_dax { ...@@ -50,7 +48,6 @@ struct dev_dax {
struct dax_region *region; struct dax_region *region;
struct dax_device *dax_dev; struct dax_device *dax_dev;
struct device dev; struct device dev;
int id;
int num_resources; int num_resources;
struct resource res[0]; struct resource res[0];
}; };
......
...@@ -128,7 +128,6 @@ struct dax_region *alloc_dax_region(struct device *parent, int region_id, ...@@ -128,7 +128,6 @@ struct dax_region *alloc_dax_region(struct device *parent, int region_id,
dax_region->pfn_flags = pfn_flags; dax_region->pfn_flags = pfn_flags;
kref_init(&dax_region->kref); kref_init(&dax_region->kref);
dax_region->id = region_id; dax_region->id = region_id;
ida_init(&dax_region->ida);
dax_region->align = align; dax_region->align = align;
dax_region->dev = parent; dax_region->dev = parent;
dax_region->base = addr; dax_region->base = addr;
...@@ -582,8 +581,6 @@ static void dev_dax_release(struct device *dev) ...@@ -582,8 +581,6 @@ static void dev_dax_release(struct device *dev)
struct dax_region *dax_region = dev_dax->region; struct dax_region *dax_region = dev_dax->region;
struct dax_device *dax_dev = dev_dax->dax_dev; 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); dax_region_put(dax_region);
put_dax(dax_dev); put_dax(dax_dev);
kfree(dev_dax); kfree(dev_dax);
...@@ -642,19 +639,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region, ...@@ -642,19 +639,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region,
} }
if (i < count) if (i < count)
goto err_id; goto err;
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;
}
/* /*
* No 'host' or dax_operations since there is no access to this * 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, ...@@ -663,7 +648,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region,
dax_dev = alloc_dax(dev_dax, NULL, NULL); dax_dev = alloc_dax(dev_dax, NULL, NULL);
if (!dax_dev) { if (!dax_dev) {
rc = -ENOMEM; rc = -ENOMEM;
goto err_dax; goto err;
} }
/* from here on we're committed to teardown via dax_dev_release() */ /* 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, ...@@ -700,10 +685,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region,
return dev_dax; return dev_dax;
err_dax: err:
if (dev_dax->id >= 0)
ida_simple_remove(&dax_region->ida, dev_dax->id);
err_id:
kfree(dev_dax); kfree(dev_dax);
return ERR_PTR(rc); return ERR_PTR(rc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment