• [PATCH 4/6] lightnvm: remove stable extern and unused exported symb

    From =?utf-8?Q?Javier_Gonz=C3=A1lez?=@21:1/5 to All on Mon Oct 2 13:50:02 2017
    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>


    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEm1mT7zen+vs9+T8kYx8FO3WZGMoFAlnSJikACgkQYx8FO3WZ GMpV1RAAt7jHpoKlpjPqiK/0448nXUM/49P68BaDoT/HWwAECseQqBaqnT9KFz+L QfA7IdjkFKB91JuLRDnuT+Nofxg/B36L2WBbkeJ9bqtpgip7HlEMxLiLmdtzo80p QFdwBTklXCFWIKHVvlAh9eaWi40/uYLJaPmyIjVuqlk9cNwUEp812ELt1Df5xQXS r/wwoa0qB0LKLGWvxIV7bMc59NernRtLBVHnMVdrsmRG4NOwpPwgq3pnOvHbTB7A Xckv1Mn1pKR5BWxLTD/ApgVDtBazCB9P6zyzjTZDT2+9Rp3gVM3QQbx3MOQBxKPA QGDmEyYNFQD4VqTPr4MqtFbj+xsbEhA1yPeAkaFVJedTRakYCnoQ8yGNiycERpft hjRwOqcgNTXFMKv3X8gU3q+FLTk4Sz160+WyFsBkw6EH7+a+wH6cxI5if8flrMgn 1EoP8ONpGbF2SOsX85d+SOIZudOxwlrv5n4JKu7KMlZvGIVhOdqZAErj6tbFRWm3 BHnuMLTf4/bAr0+gAoS+WYMyD0ht/v+2sHYpChcW40zQMuK0u3MNV9fVrYSCbtCx +V2pssh20Xv/wnPamvBRqyMdkV18TipLiqzoKujmmBNdGz4GgbOUDBf9DIqyF+bC gPlusRp96g3AfD8pooaOriacMt7e0ygNlf/us+IinYmn8WYRPck=
    =LiSe
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)