On Thu, Dec 05, 2024 at 09:04:50PM +0200, Andy Shevchenko wrote: > On Thu, Dec 05, 2024 at 11:55:54AM +0100, Uwe Kleine-König wrote: > > On Thu, Dec 05, 2024 at 09:50:18AM +0200, Andy Shevchenko wrote: > > > On Wed, Dec 04, 2024 at 11:01:10AM +0100, Uwe Kleine-König wrote: > > > > Since commit cdd30ebb1b9f ("module: Convert symbol namespace to string > > > > literal") the namespace has to be a string. Fix accordingly. > > > > > > > In addition to the macros EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL(), that allow > > > > exporting of kernel symbols to the kernel symbol table, variants of these are > > > > available to export symbols into a certain namespace: EXPORT_SYMBOL_NS() and > > > > -EXPORT_SYMBOL_NS_GPL(). They take one additional argument: the namespace. > > > > -Please note that due to macro expansion that argument needs to be a > > > > -preprocessor symbol. E.g. to export the symbol ``usb_stor_suspend`` into the > > > > +EXPORT_SYMBOL_NS_GPL(). They take one additional argument: the namespace as a > > > > +C-string. E.g. to export the symbol ``usb_stor_suspend`` into the > > > > > > But C-string is ambiguous. Is it now okay to use > > > > > > static const char *p = "my constant C-string"; > > > > > > EXPORT_...(, p); > > > > I didn't test that, but I guess that won't work. While you could argue > > that p isn't a C-string but a pointer, I agree that the wording isn't > > optimal. > > > > So maybe make that: > > > > ... the namespace as a string constant. > > ...a string literal. Gcc calls it "string constant": https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#String-Constants My C book (https://www.amazon.de/dp/013089592X) also calls it "string constant". So I tend to keep that name as it seems to be the official term. Best regards Uwe
Attachment:
signature.asc
Description: PGP signature