]>
Commit | Line | Data |
---|---|---|
6a930a95 BS |
1 | From: Jeff Mahoney <jeffm@suse.com> |
2 | Subject: [PATCH] psmouse: fix section type conflict | |
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 | ||
13 | drivers/input/mouse/psmouse-base.c | 9 +++++---- | |
14 | 1 file changed, 5 insertions(+), 4 deletions(-) | |
15 | ||
16 | --- a/drivers/input/mouse/psmouse-base.c | |
17 | +++ b/drivers/input/mouse/psmouse-base.c | |
18 | @@ -36,8 +36,8 @@ MODULE_DESCRIPTION(DRIVER_DESC); | |
19 | MODULE_LICENSE("GPL"); | |
20 | ||
21 | static unsigned int psmouse_max_proto = PSMOUSE_AUTO; | |
22 | -static int psmouse_set_maxproto(const char *val, struct kernel_param *kp); | |
23 | -static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp); | |
24 | +int psmouse_set_maxproto(const char *val, struct kernel_param *kp); | |
25 | +int psmouse_get_maxproto(char *buffer, struct kernel_param *kp); | |
26 | #define param_check_proto_abbrev(name, p) __param_check(name, p, unsigned int) | |
27 | #define param_set_proto_abbrev psmouse_set_maxproto | |
28 | #define param_get_proto_abbrev psmouse_get_maxproto | |
29 | @@ -1573,7 +1573,8 @@ static ssize_t psmouse_attr_set_resoluti | |
30 | } | |
31 | ||
32 | ||
33 | -static int psmouse_set_maxproto(const char *val, struct kernel_param *kp) | |
34 | +/* These two should be static, but it causes a section type conflict */ | |
35 | +int psmouse_set_maxproto(const char *val, struct kernel_param *kp) | |
36 | { | |
37 | const struct psmouse_protocol *proto; | |
38 | ||
39 | @@ -1590,7 +1591,7 @@ static int psmouse_set_maxproto(const ch | |
40 | return 0; | |
41 | } | |
42 | ||
43 | -static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp) | |
44 | +int psmouse_get_maxproto(char *buffer, struct kernel_param *kp) | |
45 | { | |
46 | int type = *((unsigned int *)kp->arg); | |
47 |