]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/lightnvm/core.c
Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-beck.git] / drivers / lightnvm / core.c
index 9f6acd5d1d2e9359730ad595f92d3e902bc40d17..0d1fb6b40c468e9bb4f455c06336972e0551f668 100644 (file)
@@ -250,7 +250,7 @@ int nvm_set_rqd_ppalist(struct nvm_dev *dev, struct nvm_rq *rqd,
                return 0;
        }
 
-       plane_cnt = (1 << dev->plane_mode);
+       plane_cnt = dev->plane_mode;
        rqd->nr_pages = plane_cnt * nr_ppas;
 
        if (dev->ops->max_phys_sect < rqd->nr_pages)
@@ -463,11 +463,7 @@ static int nvm_core_init(struct nvm_dev *dev)
        dev->sec_per_lun = dev->sec_per_blk * dev->blks_per_lun;
        dev->nr_luns = dev->luns_per_chnl * dev->nr_chnls;
 
-       dev->total_blocks = dev->nr_planes *
-                               dev->blks_per_lun *
-                               dev->luns_per_chnl *
-                               dev->nr_chnls;
-       dev->total_pages = dev->total_blocks * dev->pgs_per_blk;
+       dev->total_secs = dev->nr_luns * dev->sec_per_lun;
        INIT_LIST_HEAD(&dev->online_targets);
        mutex_init(&dev->mlock);
 
@@ -872,20 +868,19 @@ static int nvm_configure_by_str_event(const char *val,
 
 static int nvm_configure_get(char *buf, const struct kernel_param *kp)
 {
-       int sz = 0;
-       char *buf_start = buf;
+       int sz;
        struct nvm_dev *dev;
 
-       buf += sprintf(buf, "available devices:\n");
+       sz = sprintf(buf, "available devices:\n");
        down_write(&nvm_lock);
        list_for_each_entry(dev, &nvm_devices, devices) {
-               if (sz > 4095 - DISK_NAME_LEN)
+               if (sz > 4095 - DISK_NAME_LEN - 2)
                        break;
-               buf += sprintf(buf, " %32s\n", dev->name);
+               sz += sprintf(buf + sz, " %32s\n", dev->name);
        }
        up_write(&nvm_lock);
 
-       return buf - buf_start - 1;
+       return sz;
 }
 
 static const struct kernel_param_ops nvm_configure_by_str_event_param_ops = {