git: 6ecaa8dfb64b - main - sys/module.h: allow MODULE_DEPEND to accept macros

From: Ahmad Khalifa <vexeduxr_at_FreeBSD.org>
Date: Mon, 26 Jan 2026 09:33:20 UTC
The branch main has been updated by vexeduxr:

URL: https://cgit.FreeBSD.org/src/commit/?id=6ecaa8dfb64b796085afdf597ec3a79878bde12f

commit 6ecaa8dfb64b796085afdf597ec3a79878bde12f
Author:     Ahmad Khalifa <vexeduxr@FreeBSD.org>
AuthorDate: 2026-01-26 09:27:59 +0000
Commit:     Ahmad Khalifa <vexeduxr@FreeBSD.org>
CommitDate: 2026-01-26 09:32:10 +0000

    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
---
 sys/sys/module.h | 8 +++++---
 1 file 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