aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/core.c
diff options
context:
space:
mode:
authorMatias Bjørling <m@bjorling.me>2016-11-28 16:38:53 -0500
committerJens Axboe <axboe@fb.com>2016-11-29 14:12:51 -0500
commit3dc87dd048dc442bab633e85bfb96c893612d765 (patch)
treef27555669881ee60bdb0969d1ca5927a71cb0f35 /drivers/lightnvm/core.c
parent7498e99fc51ca60b960ef79061e0e7b521feb07e (diff)
nvme: lightnvm: attach lightnvm sysfs to nvme block device
Previously, LBA read and write were not supported in the lightnvm specification. Now that it supports it, lets use the traditional NVMe gendisk, and attach the lightnvm sysfs geometry export. Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/lightnvm/core.c')
-rw-r--r--drivers/lightnvm/core.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
index 1cac0f8bc0dc..11117404b5f5 100644
--- a/drivers/lightnvm/core.c
+++ b/drivers/lightnvm/core.c
@@ -27,8 +27,6 @@
27#include <linux/lightnvm.h> 27#include <linux/lightnvm.h>
28#include <linux/sched/sysctl.h> 28#include <linux/sched/sysctl.h>
29 29
30#include "lightnvm.h"
31
32static LIST_HEAD(nvm_tgt_types); 30static LIST_HEAD(nvm_tgt_types);
33static DECLARE_RWSEM(nvm_tgtt_lock); 31static DECLARE_RWSEM(nvm_tgtt_lock);
34static LIST_HEAD(nvm_mgrs); 32static LIST_HEAD(nvm_mgrs);
@@ -657,11 +655,6 @@ err:
657 return ret; 655 return ret;
658} 656}
659 657
660static void nvm_exit(struct nvm_dev *dev)
661{
662 nvm_sysfs_unregister_dev(dev);
663}
664
665struct nvm_dev *nvm_alloc_dev(int node) 658struct nvm_dev *nvm_alloc_dev(int node)
666{ 659{
667 return kzalloc_node(sizeof(struct nvm_dev), GFP_KERNEL, node); 660 return kzalloc_node(sizeof(struct nvm_dev), GFP_KERNEL, node);
@@ -691,10 +684,6 @@ int nvm_register(struct nvm_dev *dev)
691 } 684 }
692 } 685 }
693 686
694 ret = nvm_sysfs_register_dev(dev);
695 if (ret)
696 goto err_ppalist;
697
698 if (dev->identity.cap & NVM_ID_DCAP_BBLKMGMT) { 687 if (dev->identity.cap & NVM_ID_DCAP_BBLKMGMT) {
699 ret = nvm_get_sysblock(dev, &dev->sb); 688 ret = nvm_get_sysblock(dev, &dev->sb);
700 if (!ret) 689 if (!ret)
@@ -711,8 +700,6 @@ int nvm_register(struct nvm_dev *dev)
711 up_write(&nvm_lock); 700 up_write(&nvm_lock);
712 701
713 return 0; 702 return 0;
714err_ppalist:
715 dev->ops->destroy_dma_pool(dev->dma_pool);
716err_init: 703err_init:
717 kfree(dev->lun_map); 704 kfree(dev->lun_map);
718 return ret; 705 return ret;
@@ -725,7 +712,7 @@ void nvm_unregister(struct nvm_dev *dev)
725 list_del(&dev->devices); 712 list_del(&dev->devices);
726 up_write(&nvm_lock); 713 up_write(&nvm_lock);
727 714
728 nvm_exit(dev); 715 nvm_free(dev);
729} 716}
730EXPORT_SYMBOL(nvm_unregister); 717EXPORT_SYMBOL(nvm_unregister);
731 718