From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jYNdx-00048D-Pt for barebox@lists.infradead.org; Tue, 12 May 2020 05:39:55 +0000 Date: Tue, 12 May 2020 07:39:52 +0200 From: Sascha Hauer Message-ID: <20200512053952.GV5877@pengutronix.de> References: <20200509031133.836743-1-masahiroy@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200509031133.836743-1-masahiroy@kernel.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH v2] module.h: split out the EXPORT_SYMBOL into export.h To: Masahiro Yamada Cc: barebox@lists.infradead.org On Sat, May 09, 2020 at 12:11:33PM +0900, Masahiro Yamada wrote: > Do as Linux commit f50169324df4ad942e544386d136216c8617636a > > Signed-off-by: Masahiro Yamada > --- > > Changes in v2: > - move THIS_MODULE Applied, thanks Sascha > > include/linux/export.h | 39 +++++++++++++++++++++++++++++++++++++++ > include/module.h | 28 +--------------------------- > 2 files changed, 40 insertions(+), 27 deletions(-) > create mode 100644 include/linux/export.h > > diff --git a/include/linux/export.h b/include/linux/export.h > new file mode 100644 > index 000000000..88d318bd8 > --- /dev/null > +++ b/include/linux/export.h > @@ -0,0 +1,39 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +#ifndef _LINUX_EXPORT_H > +#define _LINUX_EXPORT_H > + > +#define THIS_MODULE 0 > + > +#ifdef CONFIG_MODULES > + > +struct kernel_symbol > +{ > + unsigned long value; > + const char *name; > +}; > + > +/* For every exported symbol, place a struct in the __ksymtab section */ > +#define __EXPORT_SYMBOL(sym, sec) \ > + extern typeof(sym) sym; \ > + static const char __ustrtab_##sym[] \ > + __attribute__((section("__usymtab_strings"))) \ > + = MODULE_SYMBOL_PREFIX #sym; \ > + static const struct kernel_symbol __usymtab_##sym \ > + __used \ > + __attribute__((section("__usymtab" sec), unused)) \ > + = { (unsigned long)&sym, __ustrtab_##sym } > + > +#define EXPORT_SYMBOL(sym) \ > + __EXPORT_SYMBOL(sym, "") > + > +#define EXPORT_SYMBOL_GPL(sym) \ > + __EXPORT_SYMBOL(sym, "") > + > +#else > + > +#define EXPORT_SYMBOL(sym) > +#define EXPORT_SYMBOL_GPL(sym) > + > +#endif /* CONFIG_MODULES */ > + > +#endif /* _LINUX_EXPORT_H */ > diff --git a/include/module.h b/include/module.h > index abf740a78..cea8c2e18 100644 > --- a/include/module.h > +++ b/include/module.h > @@ -4,6 +4,7 @@ > > #include > #include > +#include > #include > > #ifndef MODULE_SYMBOL_PREFIX > @@ -11,36 +12,12 @@ > #endif > > #define MODULE_NAME_LEN (64 - sizeof(unsigned long)) > -#define THIS_MODULE 0 > > #ifdef CONFIG_MODULES > #include > > -struct kernel_symbol > -{ > - unsigned long value; > - const char *name; > -}; > - > struct module * load_module(void *mod_image, unsigned long len); > > -/* For every exported symbol, place a struct in the __ksymtab section */ > -#define __EXPORT_SYMBOL(sym, sec) \ > - extern typeof(sym) sym; \ > - static const char __ustrtab_##sym[] \ > - __attribute__((section("__usymtab_strings"))) \ > - = MODULE_SYMBOL_PREFIX #sym; \ > - static const struct kernel_symbol __usymtab_##sym \ > - __used \ > - __attribute__((section("__usymtab" sec), unused)) \ > - = { (unsigned long)&sym, __ustrtab_##sym } > - > -#define EXPORT_SYMBOL(sym) \ > - __EXPORT_SYMBOL(sym, "") > - > -#define EXPORT_SYMBOL_GPL(sym) \ > - __EXPORT_SYMBOL(sym, "") > - > struct module { > /* Unique handle for this module */ > char name[MODULE_NAME_LEN]; > @@ -74,9 +51,6 @@ int apply_relocate_add(Elf_Shdr *sechdrs, > unsigned int symindex, > unsigned int relsec, > struct module *mod); > -#else > -#define EXPORT_SYMBOL(sym) > -#define EXPORT_SYMBOL_GPL(sym) > #endif /* CONFIG_MODULES */ > > extern struct list_head module_list; > -- > 2.25.1 > > > _______________________________________________ > barebox mailing list > barebox@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox