1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (C) 2016 Intel Corporation. 3 * All rights reserved. 4 */ 5 6 #include "spdk/stdinc.h" 7 8 #include "spdk/bdev.h" 9 #include "spdk/env.h" 10 #include "spdk/thread.h" 11 12 #include "spdk_internal/init.h" 13 14 static void 15 bdev_initialize_complete(void *cb_arg, int rc) 16 { 17 spdk_subsystem_init_next(rc); 18 } 19 20 static void 21 bdev_subsystem_initialize(void) 22 { 23 spdk_bdev_initialize(bdev_initialize_complete, NULL); 24 } 25 26 static void 27 bdev_subsystem_finish_done(void *cb_arg) 28 { 29 spdk_subsystem_fini_next(); 30 } 31 32 static void 33 bdev_subsystem_finish(void) 34 { 35 spdk_bdev_finish(bdev_subsystem_finish_done, NULL); 36 } 37 38 static void 39 bdev_subsystem_config_json(struct spdk_json_write_ctx *w) 40 { 41 spdk_bdev_subsystem_config_json(w); 42 } 43 44 static struct spdk_subsystem g_spdk_subsystem_bdev = { 45 .name = "bdev", 46 .init = bdev_subsystem_initialize, 47 .fini = bdev_subsystem_finish, 48 .write_config_json = bdev_subsystem_config_json, 49 }; 50 51 SPDK_SUBSYSTEM_REGISTER(g_spdk_subsystem_bdev); 52 SPDK_SUBSYSTEM_DEPEND(bdev, accel) 53 SPDK_SUBSYSTEM_DEPEND(bdev, keyring) 54 SPDK_SUBSYSTEM_DEPEND(bdev, vmd) 55 SPDK_SUBSYSTEM_DEPEND(bdev, sock) 56 SPDK_SUBSYSTEM_DEPEND(bdev, iobuf) 57