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. ? > ? -- With Best Regards, Andy Shevchenko