Re: [printk:for-5.15-printk-index 4/5] kernel/printk/index.c:140:6: warning: no previous prototype for 'pi_create_file'

From: Chris Down
Date: Tue Jul 20 2021 - 08:02:46 EST


kernel test robot writes:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git for-5.15-printk-index
head: ad7d61f159db73974f1b0352f21afe04b0bbd920
commit: 337015573718b161891a3473d25f59273f2e626b [4/5] printk: Userspace format indexing support
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git/commit/?id=337015573718b161891a3473d25f59273f2e626b
git remote add printk https://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
git fetch --no-tags printk for-5.15-printk-index
git checkout 337015573718b161891a3473d25f59273f2e626b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

kernel/printk/index.c:140:6: warning: no previous prototype for 'pi_create_file' [-Wmissing-prototypes]
140 | void pi_create_file(struct module *mod)
| ^~~~~~~~~~~~~~
kernel/printk/index.c:146:6: warning: no previous prototype for 'pi_remove_file' [-Wmissing-prototypes]
146 | void pi_remove_file(struct module *mod)
| ^~~~~~~~~~~~~~

Ah, I missed `static inline', which causes the compiler to think we want to export it even though we don't.

diff --git kernel/printk/index.c kernel/printk/index.c
index ca062f5e1779..e340e0a8b847 100644
--- kernel/printk/index.c
+++ kernel/printk/index.c
@@ -137,13 +137,13 @@ static const char *pi_get_module_name(struct module *mod)
}
#endif
-void pi_create_file(struct module *mod)
+static inline void pi_create_file(struct module *mod)
{
debugfs_create_file(pi_get_module_name(mod), 0444, dfs_index,
mod, &dfs_index_fops);
}
-void pi_remove_file(struct module *mod)
+static inline void pi_remove_file(struct module *mod)
{
debugfs_remove(debugfs_lookup(pi_get_module_name(mod), dfs_index));
}