diff options
| author | Ahmad Khalifa <vexeduxr@FreeBSD.org> | 2026-01-26 09:27:59 +0000 |
|---|---|---|
| committer | Ahmad Khalifa <vexeduxr@FreeBSD.org> | 2026-01-26 09:32:10 +0000 |
| commit | 6ecaa8dfb64b796085afdf597ec3a79878bde12f (patch) | |
| tree | 6202196076a9eb4cf7b71aff1125ef2ab8e219b7 | |
| parent | 8ef8c6abfadfc9eb0465ce57c6b09ca310415bdd (diff) | |
sys/module.h: allow MODULE_DEPEND to accept macros
Allow MODULE_DEPEND to accept macros by adding an extra level of
indirection. Some drivers in the tree actually depend on this being the
case.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D54874
| -rw-r--r-- | sys/sys/module.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/sys/module.h b/sys/sys/module.h index f749455bdf63..b4a08e2fc26f 100644 --- a/sys/sys/module.h +++ b/sys/sys/module.h @@ -116,15 +116,17 @@ struct mod_pnp_match_info }; \ DATA_SET(modmetadata_set, MODULE_METADATA_CONCAT(uniquifier)) +#define MODULE_DEPEND_CONCAT(module, mdepend) _##module##_depend_on_##mdepend #define MODULE_DEPEND(module, mdepend, vmin, vpref, vmax) \ - static struct mod_depend _##module##_depend_on_##mdepend \ + static struct mod_depend MODULE_DEPEND_CONCAT(module, mdepend) \ __section(".data") = { \ vmin, \ vpref, \ vmax \ }; \ - MODULE_METADATA(_md_##module##_on_##mdepend, MDT_DEPEND, \ - &_##module##_depend_on_##mdepend, #mdepend) + MODULE_METADATA(MODULE_DEPEND_CONCAT(module, mdepend), \ + MDT_DEPEND, &MODULE_DEPEND_CONCAT(module, mdepend), \ + __XSTRING(mdepend)) /* * Every kernel has a 'kernel' module with the version set to |
