linux-next: build failure after merge of the modules tree

From: Stephen Rothwell
Date: Thu Jun 25 2015 - 02:55:07 EST


Hi Rusty,

After merging the modules tree, today's linux-next build (powerpc
allnoconfig) failed like this:

kernel/params.c:628:6: error: redefinition of 'kernel_param_lock'
void kernel_param_lock(struct module *mod)
^
In file included from include/linux/module.h:18:0,
from kernel/params.c:21:
include/linux/moduleparam.h:246:20: note: previous definition of 'kernel_param_lock' was here
static inline void kernel_param_lock(struct module *mod)
^
kernel/params.c:633:6: error: redefinition of 'kernel_param_unlock'
void kernel_param_unlock(struct module *mod)
^
In file included from include/linux/module.h:18:0,
from kernel/params.c:21:
include/linux/moduleparam.h:249:20: note: previous definition of 'kernel_param_unlock' was here
static inline void kernel_param_unlock(struct module *mod)
^

Caused by commit b51d23e4e9fe ("module: add per-module param_lock").
This had not been tested with CONFIG_SYSFS not set.

I have added the following patch for today (which may not be complete,
but builds).

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 25 Jun 2015 16:38:51 +1000
Subject: [PATCH] modules: clean up add per-module param_lock

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
include/linux/moduleparam.h | 9 ---------
1 file changed, 9 deletions(-)

diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
index c12f2147c350..428d7c25c383 100644
--- a/include/linux/moduleparam.h
+++ b/include/linux/moduleparam.h
@@ -239,17 +239,8 @@ __check_old_set_param(int (*oldset)(const char *, struct kernel_param *))
return 0;
}

-#ifdef CONFIG_SYSFS
extern void kernel_param_lock(struct module *mod);
extern void kernel_param_unlock(struct module *mod);
-#else
-static inline void kernel_param_lock(struct module *mod)
-{
-}
-static inline void kernel_param_unlock(struct module *mod)
-{
-}
-#endif

#ifndef MODULE
/**
--
2.1.4

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgpB4T0kPx3zV.pgp
Description: OpenPGP digital signature