path: root/sys/sys/module.h
diff options
authorConrad Meyer <cem@FreeBSD.org>2018-08-19 00:22:21 +0000
committerConrad Meyer <cem@FreeBSD.org>2018-08-19 00:22:21 +0000
commitfaa319436f0d548cff97c2c8c763538997b63f34 (patch)
tree83d929a61077c1eee88b03c7698a3fcbfab6df73 /sys/sys/module.h
parent94d0f0877db6bf0511dc0198e78b870618f42d3e (diff)
Remove unused and easy to misuse PNP macro parameter
Inspired by r338025, just remove the element size parameter to the MODULE_PNP_INFO macro entirely. The 'table' parameter is now required to have correct pointer (or array) type. Since all invocations of the macro already had this property and the emitted PNP data continues to include the element size, there is no functional change. Mostly done with the coccinelle 'spatch' tool: $ cat modpnpsize0.cocci @normaltables@ identifier b,c; expression a,d,e; declarer MODULE_PNP_INFO; @@ MODULE_PNP_INFO(a,b,c,d, -sizeof(d[0]), e); @singletons@ identifier b,c,d; expression a; declarer MODULE_PNP_INFO; @@ MODULE_PNP_INFO(a,b,c,&d, -sizeof(d), 1); $ rg -l MODULE_PNP_INFO -- sys | \ xargs spatch --in-place --sp-file modpnpsize0.cocci (Note that coccinelle invokes diff(1) via a PATH search and expects diff to tolerate the -B flag, which BSD diff does not. So I had to link gdiff into PATH as diff to use spatch.) Tinderbox'd (-DMAKE_JUST_KERNELS).
Notes: svn path=/head/; revision=338035
Diffstat (limited to 'sys/sys/module.h')
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/sys/module.h b/sys/sys/module.h
index b40870d32941..89377df401a8 100644
--- a/sys/sys/module.h
+++ b/sys/sys/module.h
@@ -178,12 +178,12 @@ struct mod_pnp_match_info
* to allow external tools to parse their internal device tables
* to make an informed guess about what driver(s) to load.
-#define MODULE_PNP_INFO(d, b, unique, t, l, n) \
+#define MODULE_PNP_INFO(d, b, unique, t, n) \
static const struct mod_pnp_match_info _module_pnp_##b##_##unique = { \
.descr = d, \
.bus = #b, \
.table = t, \
- .entry_len = l, \
+ .entry_len = sizeof((t)[0]), \
.num_entry = n \
}; \
MODULE_METADATA(_md_##b##_pnpinfo_##unique, MDT_PNP_INFO, \