1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (c) Intel Corporation. 3 * All rights reserved. 4 */ 5 6 #include "spdk/thread.h" 7 8 #include "ftl_core.h" 9 #include "ftl_mngt.h" 10 #include "ftl_mngt_steps.h" 11 #include "ftl_l2p.h" 12 13 static void 14 l2p_cb(struct spdk_ftl_dev *dev, int status, void *ctx) 15 { 16 struct ftl_mngt_process *mngt = ctx; 17 18 if (status) { 19 ftl_mngt_fail_step(mngt); 20 } else { 21 ftl_mngt_next_step(mngt); 22 } 23 } 24 25 void 26 ftl_mngt_init_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) 27 { 28 if (ftl_l2p_init(dev)) { 29 ftl_mngt_fail_step(mngt); 30 } else { 31 ftl_mngt_next_step(mngt); 32 } 33 } 34 35 void 36 ftl_mngt_deinit_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) 37 { 38 ftl_l2p_deinit(dev); 39 ftl_mngt_next_step(mngt); 40 } 41 42 void 43 ftl_mngt_clear_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) 44 { 45 ftl_l2p_clear(dev, l2p_cb, mngt); 46 } 47