diff options
| -rw-r--r-- | drivers/dax/dax-private.h | 3 | ||||
| -rw-r--r-- | drivers/dax/device.c | 24 |
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 @@ | |||
| 28 | */ | 28 | */ |
| 29 | struct dax_region { | 29 | struct dax_region { |
| 30 | int id; | 30 | int id; |
| 31 | struct ida ida; | ||
| 32 | void *base; | 31 | void *base; |
| 33 | struct kref kref; | 32 | struct kref kref; |
| 34 | struct device *dev; | 33 | struct device *dev; |
| @@ -42,7 +41,6 @@ struct dax_region { | |||
| 42 | * @region - parent region | 41 | * @region - parent region |
| 43 | * @dax_dev - core dax functionality | 42 | * @dax_dev - core dax functionality |
| 44 | * @dev - device core | 43 | * @dev - device core |
| 45 | * @id - child id in the region | ||
| 46 | * @num_resources - number of physical address extents in this device | 44 | * @num_resources - number of physical address extents in this device |
| 47 | * @res - array of physical address ranges | 45 | * @res - array of physical address ranges |
| 48 | */ | 46 | */ |
| @@ -50,7 +48,6 @@ struct dev_dax { | |||
| 50 | struct dax_region *region; | 48 | struct dax_region *region; |
| 51 | struct dax_device *dax_dev; | 49 | struct dax_device *dax_dev; |
| 52 | struct device dev; | 50 | struct device dev; |
| 53 | int id; | ||
| 54 | int num_resources; | 51 | int num_resources; |
| 55 | struct resource res[0]; | 52 | struct resource res[0]; |
| 56 | }; | 53 | }; |
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, | |||
| 128 | dax_region->pfn_flags = pfn_flags; | 128 | dax_region->pfn_flags = pfn_flags; |
| 129 | kref_init(&dax_region->kref); | 129 | kref_init(&dax_region->kref); |
| 130 | dax_region->id = region_id; | 130 | dax_region->id = region_id; |
| 131 | ida_init(&dax_region->ida); | ||
| 132 | dax_region->align = align; | 131 | dax_region->align = align; |
| 133 | dax_region->dev = parent; | 132 | dax_region->dev = parent; |
| 134 | dax_region->base = addr; | 133 | dax_region->base = addr; |
| @@ -582,8 +581,6 @@ static void dev_dax_release(struct device *dev) | |||
| 582 | struct dax_region *dax_region = dev_dax->region; | 581 | struct dax_region *dax_region = dev_dax->region; |
| 583 | struct dax_device *dax_dev = dev_dax->dax_dev; | 582 | struct dax_device *dax_dev = dev_dax->dax_dev; |
| 584 | 583 | ||
| 585 | if (dev_dax->id >= 0) | ||
| 586 | ida_simple_remove(&dax_region->ida, dev_dax->id); | ||
| 587 | dax_region_put(dax_region); | 584 | dax_region_put(dax_region); |
| 588 | put_dax(dax_dev); | 585 | put_dax(dax_dev); |
| 589 | kfree(dev_dax); | 586 | kfree(dev_dax); |
| @@ -642,19 +639,7 @@ struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region, | |||
| 642 | } | 639 | } |
| 643 | 640 | ||
| 644 | if (i < count) | 641 | if (i < count) |
| 645 | goto err_id; | 642 | goto err; |
| 646 | |||
| 647 | if (id < 0) { | ||
| 648 | id = ida_simple_get(&dax_region->ida, 0, 0, GFP_KERNEL); | ||
| 649 | dev_dax->id = id; | ||
| 650 | if (id < 0) { | ||
| 651 | rc = id; | ||
| 652 | goto err_id; | ||
| 653 | } | ||
| 654 | } else { | ||
| 655 | /* region provider owns @id lifetime */ | ||
| 656 | dev_dax->id = -1; | ||
| 657 | } | ||
| 658 | 643 | ||
| 659 | /* | 644 | /* |
| 660 | * No 'host' or dax_operations since there is no access to this | 645 | * 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 | dax_dev = alloc_dax(dev_dax, NULL, NULL); | 648 | dax_dev = alloc_dax(dev_dax, NULL, NULL); |
| 664 | if (!dax_dev) { | 649 | if (!dax_dev) { |
| 665 | rc = -ENOMEM; | 650 | rc = -ENOMEM; |
| 666 | goto err_dax; | 651 | goto err; |
| 667 | } | 652 | } |
| 668 | 653 | ||
| 669 | /* from here on we're committed to teardown via dax_dev_release() */ | 654 | /* 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 | 685 | ||
| 701 | return dev_dax; | 686 | return dev_dax; |
| 702 | 687 | ||
| 703 | err_dax: | 688 | err: |
| 704 | if (dev_dax->id >= 0) | ||
| 705 | ida_simple_remove(&dax_region->ida, dev_dax->id); | ||
| 706 | err_id: | ||
| 707 | kfree(dev_dax); | 689 | kfree(dev_dax); |
| 708 | 690 | ||
| 709 | return ERR_PTR(rc); | 691 | return ERR_PTR(rc); |
