aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhmad Khalifa <vexeduxr@FreeBSD.org>2026-01-26 09:27:59 +0000
committerAhmad Khalifa <vexeduxr@FreeBSD.org>2026-01-26 09:32:10 +0000
commit6ecaa8dfb64b796085afdf597ec3a79878bde12f (patch)
tree6202196076a9eb4cf7b71aff1125ef2ab8e219b7
parent8ef8c6abfadfc9eb0465ce57c6b09ca310415bdd (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.h8
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