xref: /spdk/module/event/subsystems/accel/accel.c (revision 7b0f452b4f975931ad4cf1ac89020e41daa44701)
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 Walker accel_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 Walker accel_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 Walker accel_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