Commit 32ee475a authored by Ben Walker's avatar Ben Walker Committed by Tomasz Zawadzki
Browse files

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: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13909


Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent c0294831
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -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)					\
#define SPDK_ACCEL_MODULE_REGISTER(name, module) \
static void __attribute__((constructor)) _spdk_accel_module_register_##name(void) \
{ \
		spdk_accel_module_list_add(&init_fn ## _if);						\
	spdk_accel_module_list_add(module); \
}

#endif
+8 −2
Original line number Diff line number Diff line
@@ -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)
+8 −3
Original line number Diff line number Diff line
@@ -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)
+8 −3
Original line number Diff line number Diff line
@@ -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)
+8 −2
Original line number Diff line number Diff line
@@ -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)