Re: [PATCH v9 05/10] module.h: MODULE_DEVICE_TABLE for built-in modules
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2022-12-20 06:45:52
Also in:
linux-usb, lkml
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2022-12-20 06:45:52
Also in:
linux-usb, lkml
On Mon, Dec 19, 2022 at 02:46:13PM -0600, Allen Webb wrote:
Implement MODULE_DEVICE_TABLE for build-in modules to make it possible to generate a builtin.alias file to complement modules.alias. Signed-off-by: Allen Webb <redacted> --- include/linux/module.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)diff --git a/include/linux/module.h b/include/linux/module.h index ec61fb53979a..3d1b04ca6350 100644 --- a/include/linux/module.h +++ b/include/linux/module.h@@ -243,7 +243,20 @@ extern void cleanup_module(void); extern typeof(name) __mod_##type##__##name##_device_table \ __attribute__ ((unused, alias(__stringify(name)))) #else /* !MODULE */ -#define MODULE_DEVICE_TABLE(type, name) +/* + * The names may not be unique for built-in modules, so include the module name + * to guarantee uniqueness.
What "names" are you referring to here with the words, "The names"? And built-in modules have the same rules as external names, they have to be unique so I do not understand the problem you are trying to solve here, which means you need to describe it better in both the changelog text and the comment.
+ * + * Note that extern is needed because modpost reads these symbols to generate + * modalias entries for each match id in each device table. They are not used + * at runtime.
This comment isn't explaining much about what the #define is to be used for, is it? confused, greg k-h