1488570ebSJim Harris /* SPDX-License-Identifier: BSD-3-Clause 2a6dbe372Spaul luse * Copyright (C) 2020 Intel Corporation. 3aa7a13afSpaul luse * All rights reserved. 4aa7a13afSpaul luse */ 5aa7a13afSpaul luse 6aa7a13afSpaul luse #include "spdk/stdinc.h" 7aa7a13afSpaul luse 8081f080aSBen Walker #include "spdk/accel.h" 9aa7a13afSpaul luse 10af935f76SBen Walker #include "spdk_internal/init.h" 11aa7a13afSpaul luse #include "spdk/env.h" 12aa7a13afSpaul luse 13aa7a13afSpaul luse static void accel_subsystem_initialize(void)1434c48f1bSBen Walkeraccel_subsystem_initialize(void) 15aa7a13afSpaul luse { 16aa7a13afSpaul luse int rc; 17aa7a13afSpaul luse 1834c48f1bSBen Walker rc = spdk_accel_initialize(); 19aa7a13afSpaul luse 20aa7a13afSpaul luse spdk_subsystem_init_next(rc); 21aa7a13afSpaul luse } 22aa7a13afSpaul luse 23aa7a13afSpaul luse static void accel_subsystem_finish_done(void * cb_arg)2434c48f1bSBen Walkeraccel_subsystem_finish_done(void *cb_arg) 25aa7a13afSpaul luse { 26aa7a13afSpaul luse spdk_subsystem_fini_next(); 27aa7a13afSpaul luse } 28aa7a13afSpaul luse 29aa7a13afSpaul luse static void accel_subsystem_finish(void)3034c48f1bSBen Walkeraccel_subsystem_finish(void) 31aa7a13afSpaul luse { 3234c48f1bSBen Walker spdk_accel_finish(accel_subsystem_finish_done, NULL); 33aa7a13afSpaul luse } 34aa7a13afSpaul luse 35aa7a13afSpaul luse static struct spdk_subsystem g_spdk_subsystem_accel = { 36aa7a13afSpaul luse .name = "accel", 3734c48f1bSBen Walker .init = accel_subsystem_initialize, 3834c48f1bSBen Walker .fini = accel_subsystem_finish, 39fad052b0Spaul luse .write_config_json = spdk_accel_write_config_json, 40aa7a13afSpaul luse }; 41aa7a13afSpaul luse 42aa7a13afSpaul luse SPDK_SUBSYSTEM_REGISTER(g_spdk_subsystem_accel); 43*7b0f452bSKonrad Sztyber SPDK_SUBSYSTEM_DEPEND(accel, iobuf) 44