summaryrefslogtreecommitdiffstats
path: root/include/linux/lightnvm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/lightnvm.h')
-rw-r--r--include/linux/lightnvm.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h
index a29a8db5cc2f..2d1d9de06728 100644
--- a/include/linux/lightnvm.h
+++ b/include/linux/lightnvm.h
@@ -57,6 +57,7 @@ typedef int (nvm_get_l2p_tbl_fn)(struct nvm_dev *, u64, u32,
57typedef int (nvm_op_bb_tbl_fn)(struct nvm_dev *, struct ppa_addr, u8 *); 57typedef int (nvm_op_bb_tbl_fn)(struct nvm_dev *, struct ppa_addr, u8 *);
58typedef int (nvm_op_set_bb_fn)(struct nvm_dev *, struct ppa_addr *, int, int); 58typedef int (nvm_op_set_bb_fn)(struct nvm_dev *, struct ppa_addr *, int, int);
59typedef int (nvm_submit_io_fn)(struct nvm_dev *, struct nvm_rq *); 59typedef int (nvm_submit_io_fn)(struct nvm_dev *, struct nvm_rq *);
60typedef int (nvm_submit_io_sync_fn)(struct nvm_dev *, struct nvm_rq *);
60typedef void *(nvm_create_dma_pool_fn)(struct nvm_dev *, char *); 61typedef void *(nvm_create_dma_pool_fn)(struct nvm_dev *, char *);
61typedef void (nvm_destroy_dma_pool_fn)(void *); 62typedef void (nvm_destroy_dma_pool_fn)(void *);
62typedef void *(nvm_dev_dma_alloc_fn)(struct nvm_dev *, void *, gfp_t, 63typedef void *(nvm_dev_dma_alloc_fn)(struct nvm_dev *, void *, gfp_t,
@@ -70,6 +71,7 @@ struct nvm_dev_ops {
70 nvm_op_set_bb_fn *set_bb_tbl; 71 nvm_op_set_bb_fn *set_bb_tbl;
71 72
72 nvm_submit_io_fn *submit_io; 73 nvm_submit_io_fn *submit_io;
74 nvm_submit_io_sync_fn *submit_io_sync;
73 75
74 nvm_create_dma_pool_fn *create_dma_pool; 76 nvm_create_dma_pool_fn *create_dma_pool;
75 nvm_destroy_dma_pool_fn *destroy_dma_pool; 77 nvm_destroy_dma_pool_fn *destroy_dma_pool;
@@ -461,10 +463,9 @@ struct nvm_tgt_type {
461 463
462 /* For internal use */ 464 /* For internal use */
463 struct list_head list; 465 struct list_head list;
466 struct module *owner;
464}; 467};
465 468
466extern struct nvm_tgt_type *nvm_find_target_type(const char *, int);
467
468extern int nvm_register_tgt_type(struct nvm_tgt_type *); 469extern int nvm_register_tgt_type(struct nvm_tgt_type *);
469extern void nvm_unregister_tgt_type(struct nvm_tgt_type *); 470extern void nvm_unregister_tgt_type(struct nvm_tgt_type *);
470 471
@@ -479,10 +480,8 @@ extern int nvm_set_tgt_bb_tbl(struct nvm_tgt_dev *, struct ppa_addr *,
479 int, int); 480 int, int);
480extern int nvm_max_phys_sects(struct nvm_tgt_dev *); 481extern int nvm_max_phys_sects(struct nvm_tgt_dev *);
481extern int nvm_submit_io(struct nvm_tgt_dev *, struct nvm_rq *); 482extern int nvm_submit_io(struct nvm_tgt_dev *, struct nvm_rq *);
483extern int nvm_submit_io_sync(struct nvm_tgt_dev *, struct nvm_rq *);
482extern int nvm_erase_sync(struct nvm_tgt_dev *, struct ppa_addr *, int); 484extern int nvm_erase_sync(struct nvm_tgt_dev *, struct ppa_addr *, int);
483extern int nvm_set_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *,
484 const struct ppa_addr *, int, int);
485extern void nvm_free_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *);
486extern int nvm_get_l2p_tbl(struct nvm_tgt_dev *, u64, u32, nvm_l2p_update_fn *, 485extern int nvm_get_l2p_tbl(struct nvm_tgt_dev *, u64, u32, nvm_l2p_update_fn *,
487 void *); 486 void *);
488extern int nvm_get_area(struct nvm_tgt_dev *, sector_t *, sector_t); 487extern int nvm_get_area(struct nvm_tgt_dev *, sector_t *, sector_t);
@@ -491,8 +490,6 @@ extern void nvm_end_io(struct nvm_rq *);
491extern int nvm_bb_tbl_fold(struct nvm_dev *, u8 *, int); 490extern int nvm_bb_tbl_fold(struct nvm_dev *, u8 *, int);
492extern int nvm_get_tgt_bb_tbl(struct nvm_tgt_dev *, struct ppa_addr, u8 *); 491extern int nvm_get_tgt_bb_tbl(struct nvm_tgt_dev *, struct ppa_addr, u8 *);
493 492
494extern int nvm_dev_factory(struct nvm_dev *, int flags);
495
496extern void nvm_part_to_tgt(struct nvm_dev *, sector_t *, int); 493extern void nvm_part_to_tgt(struct nvm_dev *, sector_t *, int);
497 494
498#else /* CONFIG_NVM */ 495#else /* CONFIG_NVM */