From: Allen Webb <allenwebb@google.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "linux-modules@vger.kernel.org" <linux-modules@vger.kernel.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Luis Chamberlain <mcgrof@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>
Subject: Re: [PATCH v9 05/10] module.h: MODULE_DEVICE_TABLE for built-in modules
Date: Tue, 20 Dec 2022 10:36:37 -0600 [thread overview]
Message-ID: <CAJzde04mhRh2SajwdfMTzoDJ_F_Xo_3utfcvxY1Dpgqrv-rzOg@mail.gmail.com> (raw)
In-Reply-To: <Y6FaEoAAFFP0WqK3@kroah.com>
On Tue, Dec 20, 2022 at 12:45 AM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> 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 <allenwebb@google.com>
> > ---
> > 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.
I changed the comment to:
/*
* Creates an alias so file2alias.c can find device table for built in modules.
*
* The module name is included for two reasons:
* - Adding the module name to the alias avoids creating two aliases with the
* same name. Historically MODULE_DEVICE_TABLE was a no-op for built-in
* modules, so there was nothing to stop different modules from having the
* same device table name and consequently the same alias when building as a
* module.
* - The module name is needed by files2alias.c to associate a particular
* device table with its associated module since files2alias would otherwise
* see the module name as `vmlinuz.o` for built-in modules.
*/
>
> > + *
> > + * 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?
I will drop this. I originally added the comment because Christophe Leroy said:
"'extern' keyword is pointless of function prototypes and deprecated.
Don't add new occurences."
This is clearly not a typical function prototype and the guidance from:
https://www.kernel.org/doc/html/latest/process/coding-style.html#function-prototypes
should not apply.
>
> confused,
>
> greg k-h
next prev parent reply other threads:[~2022-12-20 16:38 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAJzde06+FXNpyBzT+NfS2GCfqEERMkGDpdsmHQj=v1foLJW4Cw@mail.gmail.com>
2022-11-29 22:43 ` [PATCH v3] modules: add modalias file to sysfs for modules Allen Webb
2022-11-30 7:06 ` Greg Kroah-Hartman
2022-11-30 22:14 ` [PATCH v4] " Allen Webb
2022-12-01 4:33 ` kernel test robot
2022-12-01 6:06 ` Greg Kroah-Hartman
2022-12-01 9:46 ` kernel test robot
2022-12-08 2:34 ` [PATCH v3] " Luis Chamberlain
2022-12-08 14:22 ` Allen Webb
2022-12-08 15:20 ` Greg Kroah-Hartman
2022-12-16 22:16 ` [PATCH v7 0/5] Generate modules.builtin.alias from match ids Allen Webb
2022-12-16 22:16 ` [PATCH v7 1/5] module.h: MODULE_DEVICE_TABLE for built-in modules Allen Webb
2022-12-17 3:49 ` kernel test robot
2022-12-17 3:59 ` kernel test robot
2022-12-17 4:50 ` kernel test robot
2022-12-17 10:05 ` Christophe Leroy
2022-12-19 15:56 ` Allen Webb
2022-12-16 22:17 ` [PATCH v7 2/5] modpost: Track module name " Allen Webb
2022-12-17 10:08 ` Christophe Leroy
2022-12-16 22:17 ` [PATCH v7 3/5] modpost: Add -b option for emitting built-in aliases Allen Webb
2022-12-17 10:10 ` Christophe Leroy
2022-12-16 22:17 ` [PATCH v7 4/5] file2alias.c: Implement builtin.alias generation Allen Webb
2022-12-17 0:47 ` kernel test robot
2022-12-17 3:09 ` kernel test robot
2022-12-17 10:13 ` Christophe Leroy
2022-12-16 22:17 ` [PATCH v7 5/5] build: Add modules.builtin.alias Allen Webb
2022-12-19 19:18 ` [PATCH v8 0/9] Generate modules.builtin.alias from match ids Allen Webb
2022-12-19 19:18 ` [PATCH v8 1/9] imx: Fix typo Allen Webb
2022-12-19 19:21 ` Greg Kroah-Hartman
2022-12-19 19:55 ` Allen Webb
2022-12-19 19:18 ` [PATCH v8 2/9] rockchip-mailbox: " Allen Webb
2022-12-19 19:18 ` [PATCH v8 3/9] scsi/BusLogic: Always include device id table Allen Webb
2022-12-19 19:18 ` [PATCH v8 4/9] stmpe-spi: Fix typo Allen Webb
2022-12-19 19:18 ` [PATCH v8 5/9] module.h: MODULE_DEVICE_TABLE for built-in modules Allen Webb
2022-12-19 19:18 ` [PATCH v8 6/9] modpost: Track module name " Allen Webb
2022-12-19 19:18 ` [PATCH v8 7/9] modpost: Add -b option for emitting built-in aliases Allen Webb
2022-12-19 19:18 ` [PATCH v8 8/9] file2alias.c: Implement builtin.alias generation Allen Webb
2022-12-19 19:18 ` [PATCH v8 9/9] build: Add modules.builtin.alias Allen Webb
2022-12-19 20:06 ` [PATCH v8 0/9] Generate modules.builtin.alias from match ids Luis Chamberlain
2022-12-19 20:42 ` Allen Webb
2022-12-19 20:46 ` [PATCH v9 00/10] " Allen Webb
2022-12-19 20:46 ` [PATCH v9 01/10] imx: Fix typo Allen Webb
2022-12-19 21:23 ` Luis Chamberlain
2022-12-20 6:42 ` Greg Kroah-Hartman
2022-12-20 14:26 ` Allen Webb
2022-12-20 14:32 ` Greg Kroah-Hartman
2022-12-20 14:45 ` Allen Webb
2022-12-19 20:46 ` [PATCH v9 02/10] rockchip-mailbox: " Allen Webb
2022-12-20 6:46 ` Greg Kroah-Hartman
2022-12-20 14:58 ` Allen Webb
2022-12-20 18:12 ` Luis Chamberlain
2022-12-20 18:19 ` Allen Webb
2022-12-20 18:47 ` Luis Chamberlain
2022-12-20 19:49 ` Allen Webb
2022-12-20 20:03 ` Luis Chamberlain
2022-12-20 21:57 ` Allen Webb
2022-12-20 23:09 ` Luis Chamberlain
2022-12-27 17:42 ` Allen Webb
2023-01-10 0:25 ` Luis Chamberlain
2023-01-09 11:54 ` Nick Alcock
2023-01-10 18:20 ` Allen Webb
2022-12-19 20:46 ` [PATCH v9 03/10] scsi/BusLogic: Always include device id table Allen Webb
2022-12-19 20:46 ` [PATCH v9 04/10] stmpe-spi: Fix typo Allen Webb
2022-12-19 20:46 ` [PATCH v9 05/10] module.h: MODULE_DEVICE_TABLE for built-in modules Allen Webb
2022-12-20 6:45 ` Greg Kroah-Hartman
2022-12-20 16:36 ` Allen Webb [this message]
2022-12-19 20:46 ` [PATCH v9 06/10] modpost: Track module name " Allen Webb
2022-12-19 20:46 ` [PATCH v9 07/10] modpost: Add -b option for emitting built-in aliases Allen Webb
2022-12-20 6:43 ` Greg Kroah-Hartman
2022-12-20 17:32 ` Allen Webb
2022-12-19 20:46 ` [PATCH v9 08/10] file2alias.c: Implement builtin.alias generation Allen Webb
2022-12-19 20:46 ` [PATCH v9 09/10] build: Add modules.builtin.alias Allen Webb
2022-12-19 20:46 ` [PATCH v9 10/10] docs: Include modules.builtin.alias Allen Webb
2022-12-19 20:49 ` Allen Webb
2022-12-19 21:23 ` Luis Chamberlain
2022-12-19 21:40 ` Allen Webb
2022-12-19 22:07 ` Luis Chamberlain
2022-12-19 22:20 ` Allen Webb
2022-12-19 22:51 ` Luis Chamberlain
2022-12-19 20:46 ` [PATCH v9 10/10] Documentation: " Allen Webb
2023-04-06 19:00 ` [PATCH v10 00/11] Generate modules.builtin.alias from match ids Allen Webb
2023-04-06 19:00 ` [PATCH v10 01/11] rockchip-mailbox: Remove unneeded MODULE_DEVICE_TABLE Allen Webb
2023-04-06 19:00 ` [PATCH v10 02/11] scsi/BusLogic: Always include device id table Allen Webb
2023-04-06 19:00 ` [PATCH v10 03/11] stmpe-spi: Fix MODULE_DEVICE_TABLE entries Allen Webb
2023-05-24 6:52 ` Luis Chamberlain
2023-05-24 6:52 ` Luis Chamberlain
2023-04-06 19:00 ` [PATCH v10 04/11] module.h: MODULE_DEVICE_TABLE for built-in modules Allen Webb
2023-05-24 6:44 ` Luis Chamberlain
2023-04-06 19:00 ` [PATCH v10 05/11] modpost: Track module name " Allen Webb
2023-04-20 9:47 ` Greg KH
2023-05-24 6:50 ` Luis Chamberlain
2023-04-06 19:00 ` [PATCH v10 06/11] modpost: Add -b option for emitting built-in aliases Allen Webb
2023-05-24 6:54 ` Luis Chamberlain
2023-04-06 19:00 ` [PATCH v10 07/11] file2alias.c: Implement builtin.alias generation Allen Webb
2023-05-24 7:00 ` Luis Chamberlain
2023-04-06 19:00 ` [PATCH v10 08/11] build: Add modules.builtin.alias Allen Webb
2023-05-24 7:02 ` Luis Chamberlain
2023-07-19 19:51 ` Allen Webb
2023-07-26 18:30 ` Luis Chamberlain
2023-04-06 19:00 ` [PATCH v10 09/11] Documentation: Include modules.builtin.alias Allen Webb
2023-04-06 19:00 ` [PATCH v10 10/11] Documentation: Update writing_usb_driver for built-in modules Allen Webb
2023-04-06 19:00 ` [PATCH v10 11/11] Documentation: add USB authorization document to driver-api Allen Webb
2023-04-20 9:51 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJzde04mhRh2SajwdfMTzoDJ_F_Xo_3utfcvxY1Dpgqrv-rzOg@mail.gmail.com \
--to=allenwebb@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).