Re: [PATCH 4/6] lightnvm: remove stable extern and unused exported symbols
From: Javier GonzÃlez
Date: Mon Oct 02 2017 - 07:42:49 EST
> On 1 Oct 2017, at 15.25, Rakesh Pandit <rakesh@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxx>
Attachment:
signature.asc
Description: Message signed with OpenPGP