Message ID | 20171001132516.GA5743@hercules.tuxera.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Oct 01, 2017 at 04:25:18PM +0300, Rakesh Pandit wrote: > Not all exported symbols are being used outside core and there were > some stable entries in lightnvm.h > If you can replace 'stable' with 'stale' both in subject or body while picking up that would be great. Regards,
On 10/01/2017 03:54 PM, Rakesh Pandit wrote: > On Sun, Oct 01, 2017 at 04:25:18PM +0300, Rakesh Pandit wrote: >> Not all exported symbols are being used outside core and there were >> some stable entries in lightnvm.h >> > > If you can replace 'stable' with 'stale' both in subject or body while > picking up that would be great. > > Regards, > Will do. Thanks!
> On 1 Oct 2017, at 15.25, Rakesh Pandit <rakesh@tuxera.com> wrote: > > Not all exported symbols are being used outside core and there were > some stable entries in lightnvm.h > > Signed-off-by: Rakesh Pandit <rakesh@tuxera.com> > --- > drivers/lightnvm/core.c | 129 +++++++++++++++++++++++------------------------ > include/linux/lightnvm.h | 7 --- > 2 files changed, 64 insertions(+), 72 deletions(-) > > diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c > index 9cd1c4b..2817b37 100644 > --- a/drivers/lightnvm/core.c > +++ b/drivers/lightnvm/core.c > @@ -226,6 +226,24 @@ static const struct block_device_operations nvm_fops = { > .owner = THIS_MODULE, > }; > > +struct nvm_tgt_type *nvm_find_target_type(const char *name, int lock) > +{ > + struct nvm_tgt_type *tmp, *tt = NULL; > + > + if (lock) > + down_write(&nvm_tgtt_lock); > + > + list_for_each_entry(tmp, &nvm_tgt_types, list) > + if (!strcmp(name, tmp->name)) { > + tt = tmp; > + break; > + } > + > + if (lock) > + up_write(&nvm_tgtt_lock); > + return tt; > +} > + > static int nvm_create_tgt(struct nvm_dev *dev, struct nvm_ioctl_create *create) > { > struct nvm_ioctl_create_simple *s = &create->conf.s; > @@ -532,25 +550,6 @@ void nvm_part_to_tgt(struct nvm_dev *dev, sector_t *entries, > } > EXPORT_SYMBOL(nvm_part_to_tgt); > > -struct nvm_tgt_type *nvm_find_target_type(const char *name, int lock) > -{ > - struct nvm_tgt_type *tmp, *tt = NULL; > - > - if (lock) > - down_write(&nvm_tgtt_lock); > - > - list_for_each_entry(tmp, &nvm_tgt_types, list) > - if (!strcmp(name, tmp->name)) { > - tt = tmp; > - break; > - } > - > - if (lock) > - up_write(&nvm_tgtt_lock); > - return tt; > -} > -EXPORT_SYMBOL(nvm_find_target_type); > - > int nvm_register_tgt_type(struct nvm_tgt_type *tt) > { > int ret = 0; > @@ -602,6 +601,52 @@ static struct nvm_dev *nvm_find_nvm_dev(const char *name) > return NULL; > } > > +static int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, > + const struct ppa_addr *ppas, int nr_ppas) > +{ > + struct nvm_dev *dev = tgt_dev->parent; > + struct nvm_geo *geo = &tgt_dev->geo; > + int i, plane_cnt, pl_idx; > + struct ppa_addr ppa; > + > + if (geo->plane_mode == NVM_PLANE_SINGLE && nr_ppas == 1) { > + rqd->nr_ppas = nr_ppas; > + rqd->ppa_addr = ppas[0]; > + > + return 0; > + } > + > + rqd->nr_ppas = nr_ppas; > + rqd->ppa_list = nvm_dev_dma_alloc(dev, GFP_KERNEL, &rqd->dma_ppa_list); > + if (!rqd->ppa_list) { > + pr_err("nvm: failed to allocate dma memory\n"); > + return -ENOMEM; > + } > + > + plane_cnt = geo->plane_mode; > + rqd->nr_ppas *= plane_cnt; > + > + for (i = 0; i < nr_ppas; i++) { > + for (pl_idx = 0; pl_idx < plane_cnt; pl_idx++) { > + ppa = ppas[i]; > + ppa.g.pl = pl_idx; > + rqd->ppa_list[(pl_idx * nr_ppas) + i] = ppa; > + } > + } > + > + return 0; > +} > + > +static void nvm_free_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, > + struct nvm_rq *rqd) > +{ > + if (!rqd->ppa_list) > + return; > + > + nvm_dev_dma_free(tgt_dev->parent, rqd->ppa_list, rqd->dma_ppa_list); > +} > + > + > int nvm_set_tgt_bb_tbl(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *ppas, > int nr_ppas, int type) > { > @@ -775,52 +820,6 @@ void nvm_put_area(struct nvm_tgt_dev *tgt_dev, sector_t begin) > } > EXPORT_SYMBOL(nvm_put_area); > > -int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, > - const struct ppa_addr *ppas, int nr_ppas) > -{ > - struct nvm_dev *dev = tgt_dev->parent; > - struct nvm_geo *geo = &tgt_dev->geo; > - int i, plane_cnt, pl_idx; > - struct ppa_addr ppa; > - > - if (geo->plane_mode == NVM_PLANE_SINGLE && nr_ppas == 1) { > - rqd->nr_ppas = nr_ppas; > - rqd->ppa_addr = ppas[0]; > - > - return 0; > - } > - > - rqd->nr_ppas = nr_ppas; > - rqd->ppa_list = nvm_dev_dma_alloc(dev, GFP_KERNEL, &rqd->dma_ppa_list); > - if (!rqd->ppa_list) { > - pr_err("nvm: failed to allocate dma memory\n"); > - return -ENOMEM; > - } > - > - plane_cnt = geo->plane_mode; > - rqd->nr_ppas *= plane_cnt; > - > - for (i = 0; i < nr_ppas; i++) { > - for (pl_idx = 0; pl_idx < plane_cnt; pl_idx++) { > - ppa = ppas[i]; > - ppa.g.pl = pl_idx; > - rqd->ppa_list[(pl_idx * nr_ppas) + i] = ppa; > - } > - } > - > - return 0; > -} > -EXPORT_SYMBOL(nvm_set_rqd_ppalist); > - > -void nvm_free_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) > -{ > - if (!rqd->ppa_list) > - return; > - > - nvm_dev_dma_free(tgt_dev->parent, rqd->ppa_list, rqd->dma_ppa_list); > -} > -EXPORT_SYMBOL(nvm_free_rqd_ppalist); > - > void nvm_end_io(struct nvm_rq *rqd) > { > struct nvm_tgt_dev *tgt_dev = rqd->dev; > diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h > index c8c014b..dfd4829 100644 > --- a/include/linux/lightnvm.h > +++ b/include/linux/lightnvm.h > @@ -463,8 +463,6 @@ struct nvm_tgt_type { > struct list_head list; > }; > > -extern struct nvm_tgt_type *nvm_find_target_type(const char *, int); > - > extern int nvm_register_tgt_type(struct nvm_tgt_type *); > extern void nvm_unregister_tgt_type(struct nvm_tgt_type *); > > @@ -480,9 +478,6 @@ extern int nvm_set_tgt_bb_tbl(struct nvm_tgt_dev *, struct ppa_addr *, > extern int nvm_max_phys_sects(struct nvm_tgt_dev *); > extern int nvm_submit_io(struct nvm_tgt_dev *, struct nvm_rq *); > extern int nvm_erase_sync(struct nvm_tgt_dev *, struct ppa_addr *, int); > -extern int nvm_set_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *, > - const struct ppa_addr *, int); > -extern void nvm_free_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *); > extern int nvm_get_l2p_tbl(struct nvm_tgt_dev *, u64, u32, nvm_l2p_update_fn *, > void *); > extern int nvm_get_area(struct nvm_tgt_dev *, sector_t *, sector_t); > @@ -491,8 +486,6 @@ extern void nvm_end_io(struct nvm_rq *); > extern int nvm_bb_tbl_fold(struct nvm_dev *, u8 *, int); > extern int nvm_get_tgt_bb_tbl(struct nvm_tgt_dev *, struct ppa_addr, u8 *); > > -extern int nvm_dev_factory(struct nvm_dev *, int flags); > - > extern void nvm_part_to_tgt(struct nvm_dev *, sector_t *, int); > > #else /* CONFIG_NVM */ > -- > 2.7.4 LGTM (also stable > stale) Reviewed-by: Javier González <javier@cnexlabs.com>
diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index 9cd1c4b..2817b37 100644 --- a/drivers/lightnvm/core.c +++ b/drivers/lightnvm/core.c @@ -226,6 +226,24 @@ static const struct block_device_operations nvm_fops = { .owner = THIS_MODULE, }; +struct nvm_tgt_type *nvm_find_target_type(const char *name, int lock) +{ + struct nvm_tgt_type *tmp, *tt = NULL; + + if (lock) + down_write(&nvm_tgtt_lock); + + list_for_each_entry(tmp, &nvm_tgt_types, list) + if (!strcmp(name, tmp->name)) { + tt = tmp; + break; + } + + if (lock) + up_write(&nvm_tgtt_lock); + return tt; +} + static int nvm_create_tgt(struct nvm_dev *dev, struct nvm_ioctl_create *create) { struct nvm_ioctl_create_simple *s = &create->conf.s; @@ -532,25 +550,6 @@ void nvm_part_to_tgt(struct nvm_dev *dev, sector_t *entries, } EXPORT_SYMBOL(nvm_part_to_tgt); -struct nvm_tgt_type *nvm_find_target_type(const char *name, int lock) -{ - struct nvm_tgt_type *tmp, *tt = NULL; - - if (lock) - down_write(&nvm_tgtt_lock); - - list_for_each_entry(tmp, &nvm_tgt_types, list) - if (!strcmp(name, tmp->name)) { - tt = tmp; - break; - } - - if (lock) - up_write(&nvm_tgtt_lock); - return tt; -} -EXPORT_SYMBOL(nvm_find_target_type); - int nvm_register_tgt_type(struct nvm_tgt_type *tt) { int ret = 0; @@ -602,6 +601,52 @@ static struct nvm_dev *nvm_find_nvm_dev(const char *name) return NULL; } +static int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, + const struct ppa_addr *ppas, int nr_ppas) +{ + struct nvm_dev *dev = tgt_dev->parent; + struct nvm_geo *geo = &tgt_dev->geo; + int i, plane_cnt, pl_idx; + struct ppa_addr ppa; + + if (geo->plane_mode == NVM_PLANE_SINGLE && nr_ppas == 1) { + rqd->nr_ppas = nr_ppas; + rqd->ppa_addr = ppas[0]; + + return 0; + } + + rqd->nr_ppas = nr_ppas; + rqd->ppa_list = nvm_dev_dma_alloc(dev, GFP_KERNEL, &rqd->dma_ppa_list); + if (!rqd->ppa_list) { + pr_err("nvm: failed to allocate dma memory\n"); + return -ENOMEM; + } + + plane_cnt = geo->plane_mode; + rqd->nr_ppas *= plane_cnt; + + for (i = 0; i < nr_ppas; i++) { + for (pl_idx = 0; pl_idx < plane_cnt; pl_idx++) { + ppa = ppas[i]; + ppa.g.pl = pl_idx; + rqd->ppa_list[(pl_idx * nr_ppas) + i] = ppa; + } + } + + return 0; +} + +static void nvm_free_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, + struct nvm_rq *rqd) +{ + if (!rqd->ppa_list) + return; + + nvm_dev_dma_free(tgt_dev->parent, rqd->ppa_list, rqd->dma_ppa_list); +} + + int nvm_set_tgt_bb_tbl(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *ppas, int nr_ppas, int type) { @@ -775,52 +820,6 @@ void nvm_put_area(struct nvm_tgt_dev *tgt_dev, sector_t begin) } EXPORT_SYMBOL(nvm_put_area); -int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, - const struct ppa_addr *ppas, int nr_ppas) -{ - struct nvm_dev *dev = tgt_dev->parent; - struct nvm_geo *geo = &tgt_dev->geo; - int i, plane_cnt, pl_idx; - struct ppa_addr ppa; - - if (geo->plane_mode == NVM_PLANE_SINGLE && nr_ppas == 1) { - rqd->nr_ppas = nr_ppas; - rqd->ppa_addr = ppas[0]; - - return 0; - } - - rqd->nr_ppas = nr_ppas; - rqd->ppa_list = nvm_dev_dma_alloc(dev, GFP_KERNEL, &rqd->dma_ppa_list); - if (!rqd->ppa_list) { - pr_err("nvm: failed to allocate dma memory\n"); - return -ENOMEM; - } - - plane_cnt = geo->plane_mode; - rqd->nr_ppas *= plane_cnt; - - for (i = 0; i < nr_ppas; i++) { - for (pl_idx = 0; pl_idx < plane_cnt; pl_idx++) { - ppa = ppas[i]; - ppa.g.pl = pl_idx; - rqd->ppa_list[(pl_idx * nr_ppas) + i] = ppa; - } - } - - return 0; -} -EXPORT_SYMBOL(nvm_set_rqd_ppalist); - -void nvm_free_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) -{ - if (!rqd->ppa_list) - return; - - nvm_dev_dma_free(tgt_dev->parent, rqd->ppa_list, rqd->dma_ppa_list); -} -EXPORT_SYMBOL(nvm_free_rqd_ppalist); - void nvm_end_io(struct nvm_rq *rqd) { struct nvm_tgt_dev *tgt_dev = rqd->dev; diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h index c8c014b..dfd4829 100644 --- a/include/linux/lightnvm.h +++ b/include/linux/lightnvm.h @@ -463,8 +463,6 @@ struct nvm_tgt_type { struct list_head list; }; -extern struct nvm_tgt_type *nvm_find_target_type(const char *, int); - extern int nvm_register_tgt_type(struct nvm_tgt_type *); extern void nvm_unregister_tgt_type(struct nvm_tgt_type *); @@ -480,9 +478,6 @@ extern int nvm_set_tgt_bb_tbl(struct nvm_tgt_dev *, struct ppa_addr *, extern int nvm_max_phys_sects(struct nvm_tgt_dev *); extern int nvm_submit_io(struct nvm_tgt_dev *, struct nvm_rq *); extern int nvm_erase_sync(struct nvm_tgt_dev *, struct ppa_addr *, int); -extern int nvm_set_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *, - const struct ppa_addr *, int); -extern void nvm_free_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *); extern int nvm_get_l2p_tbl(struct nvm_tgt_dev *, u64, u32, nvm_l2p_update_fn *, void *); extern int nvm_get_area(struct nvm_tgt_dev *, sector_t *, sector_t); @@ -491,8 +486,6 @@ extern void nvm_end_io(struct nvm_rq *); extern int nvm_bb_tbl_fold(struct nvm_dev *, u8 *, int); extern int nvm_get_tgt_bb_tbl(struct nvm_tgt_dev *, struct ppa_addr, u8 *); -extern int nvm_dev_factory(struct nvm_dev *, int flags); - extern void nvm_part_to_tgt(struct nvm_dev *, sector_t *, int); #else /* CONFIG_NVM */
Not all exported symbols are being used outside core and there were some stable entries in lightnvm.h Signed-off-by: Rakesh Pandit <rakesh@tuxera.com> --- drivers/lightnvm/core.c | 129 +++++++++++++++++++++++------------------------ include/linux/lightnvm.h | 7 --- 2 files changed, 64 insertions(+), 72 deletions(-)