accel: SPDK_ACCEL_MODULE_REGISTER is now passed the module

Instead of passing each parameter to create a module, just have the user
make one and pass it in. This makes it easier to change the module
definition later.

Change-Id: I3a29f59432a6f0773129d7b210fbc011175b2252
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13909
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Ben Walker 2022-08-05 12:01:47 -07:00 committed by Tomasz Zawadzki
parent c029483193
commit 32ee475a5e
5 changed files with 37 additions and 21 deletions

View File

@ -117,16 +117,10 @@ struct spdk_accel_module_if {
void spdk_accel_engine_register(struct spdk_accel_engine *accel_engine);
void spdk_accel_module_list_add(struct spdk_accel_module_if *accel_module);
#define SPDK_ACCEL_MODULE_REGISTER(init_fn, fini_fn, config_json, ctx_size_fn) \
static struct spdk_accel_module_if init_fn ## _if = { \
.module_init = init_fn, \
.module_fini = fini_fn, \
.write_config_json = config_json, \
.get_ctx_size = ctx_size_fn, \
}; \
__attribute__((constructor)) static void init_fn ## _init(void) \
{ \
spdk_accel_module_list_add(&init_fn ## _if); \
}
#define SPDK_ACCEL_MODULE_REGISTER(name, module) \
static void __attribute__((constructor)) _spdk_accel_module_register_##name(void) \
{ \
spdk_accel_module_list_add(module); \
}
#endif

View File

@ -1053,5 +1053,11 @@ sw_accel_engine_fini(void *ctxt)
SPDK_LOG_REGISTER_COMPONENT(accel)
SPDK_ACCEL_MODULE_REGISTER(sw_accel_engine_init, sw_accel_engine_fini,
NULL, sw_accel_engine_get_ctx_size)
static struct spdk_accel_module_if g_sw_module = {
.module_init = sw_accel_engine_init,
.module_fini = sw_accel_engine_fini,
.write_config_json = NULL,
.get_ctx_size = sw_accel_engine_get_ctx_size
};
SPDK_ACCEL_MODULE_REGISTER(sw, &g_sw_module)

View File

@ -453,8 +453,13 @@ SPDK_TRACE_REGISTER_FN(dsa_trace, "dsa", TRACE_GROUP_ACCEL_DSA)
0, SPDK_TRACE_ARG_TYPE_INT, "count");
}
SPDK_ACCEL_MODULE_REGISTER(accel_engine_dsa_init, accel_engine_dsa_exit,
accel_engine_dsa_write_config_json,
accel_engine_dsa_get_ctx_size)
static struct spdk_accel_module_if g_dsa_module = {
.module_init = accel_engine_dsa_init,
.module_fini = accel_engine_dsa_exit,
.write_config_json = accel_engine_dsa_write_config_json,
.get_ctx_size = accel_engine_dsa_get_ctx_size
};
SPDK_ACCEL_MODULE_REGISTER(dsa, &g_dsa_module)
SPDK_LOG_REGISTER_COMPONENT(accel_dsa)

View File

@ -389,8 +389,13 @@ SPDK_TRACE_REGISTER_FN(iaa_trace, "iaa", TRACE_GROUP_ACCEL_IAA)
OBJECT_NONE, 0, SPDK_TRACE_ARG_TYPE_INT, "count");
}
SPDK_ACCEL_MODULE_REGISTER(iaccel_engine_iaa_init, accel_engine_iaa_exit,
accel_engine_iaa_write_config_json,
accel_engine_iaa_get_ctx_size)
static struct spdk_accel_module_if g_iaa_module = {
.module_init = iaccel_engine_iaa_init,
.module_fini = accel_engine_iaa_exit,
.write_config_json = accel_engine_iaa_write_config_json,
.get_ctx_size = accel_engine_iaa_get_ctx_size
};
SPDK_ACCEL_MODULE_REGISTER(iaa, &g_iaa_module)
SPDK_LOG_REGISTER_COMPONENT(accel_iaa)

View File

@ -76,8 +76,14 @@ accel_engine_ioat_get_ctx_size(void)
return 0;
}
SPDK_ACCEL_MODULE_REGISTER(accel_engine_ioat_init, accel_engine_ioat_exit,
NULL, accel_engine_ioat_get_ctx_size)
static struct spdk_accel_module_if g_ioat_module = {
.module_init = accel_engine_ioat_init,
.module_fini = accel_engine_ioat_exit,
.write_config_json = NULL,
.get_ctx_size = accel_engine_ioat_get_ctx_size
};
SPDK_ACCEL_MODULE_REGISTER(ioat, &g_ioat_module)
static void
ioat_done(void *cb_arg)