]>
Commit | Line | Data |
---|---|---|
8f69975d BS |
1 | From: Jeff Mahoney <jeffm@suse.com> |
2 | Subject: [PATCH] ipmi: Fix section type conflicts | |
3 | ||
4 | Module parameters can't be static since the module macros explicitly | |
5 | put those symbols in the __param section. It causes a section conflict | |
6 | on ia64. This doesn't occur with standard types, since they are global | |
7 | and exported. | |
8 | ||
9 | Signed-off-by: Jeff Mahoney <jeffm@suse.com> | |
10 | --- | |
11 | ||
12 | drivers/char/ipmi/ipmi_si_intf.c | 4 ++-- | |
13 | drivers/char/ipmi/ipmi_watchdog.c | 10 +++++----- | |
14 | 2 files changed, 7 insertions(+), 7 deletions(-) | |
15 | ||
16 | --- a/drivers/char/ipmi/ipmi_si_intf.c | |
17 | +++ b/drivers/char/ipmi/ipmi_si_intf.c | |
18 | @@ -1152,7 +1152,7 @@ static unsigned int num_slave_addrs; | |
19 | #define IPMI_MEM_ADDR_SPACE 1 | |
20 | static char *addr_space_to_str[] = { "i/o", "mem" }; | |
21 | ||
22 | -static int hotmod_handler(const char *val, struct kernel_param *kp); | |
23 | +int hotmod_handler(const char *val, struct kernel_param *kp); | |
24 | ||
25 | module_param_call(hotmod, hotmod_handler, NULL, NULL, 0200); | |
26 | MODULE_PARM_DESC(hotmod, "Add and remove interfaces. See" | |
27 | @@ -1574,7 +1574,7 @@ static int check_hotmod_int_op(const cha | |
28 | return 0; | |
29 | } | |
30 | ||
31 | -static int hotmod_handler(const char *val, struct kernel_param *kp) | |
32 | +int hotmod_handler(const char *val, struct kernel_param *kp) | |
33 | { | |
34 | char *str = kstrdup(val, GFP_KERNEL); | |
35 | int rv; | |
36 | --- a/drivers/char/ipmi/ipmi_watchdog.c | |
37 | +++ b/drivers/char/ipmi/ipmi_watchdog.c | |
38 | @@ -196,7 +196,7 @@ static void ipmi_unregister_watchdog(int | |
39 | */ | |
40 | static int start_now; | |
41 | ||
42 | -static int set_param_int(const char *val, struct kernel_param *kp) | |
43 | +int set_param_int(const char *val, struct kernel_param *kp) | |
44 | { | |
45 | char *endp; | |
46 | int l; | |
47 | @@ -215,7 +215,7 @@ static int set_param_int(const char *val | |
48 | return rv; | |
49 | } | |
50 | ||
51 | -static int get_param_int(char *buffer, struct kernel_param *kp) | |
52 | +int get_param_int(char *buffer, struct kernel_param *kp) | |
53 | { | |
54 | return sprintf(buffer, "%i", *((int *)kp->arg)); | |
55 | } | |
56 | @@ -227,7 +227,7 @@ static int preaction_op(const char *inva | |
57 | static int preop_op(const char *inval, char *outval); | |
58 | static void check_parms(void); | |
59 | ||
60 | -static int set_param_str(const char *val, struct kernel_param *kp) | |
61 | +int set_param_str(const char *val, struct kernel_param *kp) | |
62 | { | |
63 | action_fn fn = (action_fn) kp->arg; | |
64 | int rv = 0; | |
65 | @@ -251,7 +251,7 @@ static int set_param_str(const char *val | |
66 | return rv; | |
67 | } | |
68 | ||
69 | -static int get_param_str(char *buffer, struct kernel_param *kp) | |
70 | +int get_param_str(char *buffer, struct kernel_param *kp) | |
71 | { | |
72 | action_fn fn = (action_fn) kp->arg; | |
73 | int rv; | |
74 | @@ -263,7 +263,7 @@ static int get_param_str(char *buffer, s | |
75 | } | |
76 | ||
77 | ||
78 | -static int set_param_wdog_ifnum(const char *val, struct kernel_param *kp) | |
79 | +int set_param_wdog_ifnum(const char *val, struct kernel_param *kp) | |
80 | { | |
81 | int rv = param_set_int(val, kp); | |
82 | if (rv) |