Messages in this thread Patch in this message | | | From | Arnd Bergmann <> | Subject | Re: EXPORT_SYMBOL generates "is deprecated" noise | Date | Mon, 8 Aug 2005 15:46:22 +0200 |
| |
On Sünndag 07 August 2005 20:26, Martin J. Bligh wrote: > Oh, I'm being an idiot and looking at the wrong tree. It's __deprecated, > but I still can't think of a clean way to locally undefine that for > just EXPORT_SYMBOL.
We could in theory create a new EXPORT_SYMBOL variant that does not reference the symbol directly. This does a little less compile-time checks but helps reduce the noise. The big advantage of this would be that we could once again build kernels with -Werror on developer machines.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
diff --git a/include/linux/module.h b/include/linux/module.h --- a/include/linux/module.h +++ b/include/linux/module.h @@ -182,21 +182,26 @@ void *__symbol_get_gpl(const char *symbo #endif /* For every exported symbol, place a struct in the __ksymtab section */ -#define __EXPORT_SYMBOL(sym, sec) \ - __CRC_SYMBOL(sym, sec) \ - static const char __kstrtab_##sym[] \ +#define __EXPORT_SYMBOL(name, sym, sec) \ + __CRC_SYMBOL(name, sec) \ + static const char __kstrtab_##name[] \ __attribute__((section("__ksymtab_strings"))) \ - = MODULE_SYMBOL_PREFIX #sym; \ - static const struct kernel_symbol __ksymtab_##sym \ + = MODULE_SYMBOL_PREFIX #name; \ + static const struct kernel_symbol __ksymtab_##name \ __attribute_used__ \ __attribute__((section("__ksymtab" sec), unused)) \ - = { (unsigned long)&sym, __kstrtab_##sym } + = { (unsigned long)&sym, __kstrtab_##name } #define EXPORT_SYMBOL(sym) \ - __EXPORT_SYMBOL(sym, "") + __EXPORT_SYMBOL(sym, sym, "") #define EXPORT_SYMBOL_GPL(sym) \ - __EXPORT_SYMBOL(sym, "_gpl") + __EXPORT_SYMBOL(sym, sym, "_gpl") + +#define EXPORT_DEPRECATED_SYMBOL(sym) \ + extern void __deprecated_ ## sym \ + __attribute__((alias(#sym))); \ + __EXPORT_SYMBOL(sym, __deprecated_ ## sym, "_gpl") #endif - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |