diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-01-30 04:44:20 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-01-30 04:48:03 -0500 |
commit | 429722e19dff319aa87ee552beadee71d41a3655 (patch) | |
tree | b0d760de09f128ae674b0f318386e5cefd0758c3 | |
parent | 99b089c3c38a83ebaeb1cc4584ddcde841626467 (diff) |
Input: Mac button emulation - allow compiling as a module
Not all systems require Mac-style button emulation, however distributions
enable it by default so it is readily available. Allow compiling it as a
module so it can be loaded only on systems that actually require it.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r-- | drivers/macintosh/Kconfig | 8 | ||||
-rw-r--r-- | drivers/macintosh/mac_hid.c | 13 |
2 files changed, 16 insertions, 5 deletions
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig index aa3c27e5255d..fd85bde283a0 100644 --- a/drivers/macintosh/Kconfig +++ b/drivers/macintosh/Kconfig | |||
@@ -171,9 +171,8 @@ config INPUT_ADBHID | |||
171 | If unsure, say Y. | 171 | If unsure, say Y. |
172 | 172 | ||
173 | config MAC_EMUMOUSEBTN | 173 | config MAC_EMUMOUSEBTN |
174 | bool "Support for mouse button 2+3 emulation" | 174 | tristate "Support for mouse button 2+3 emulation" |
175 | depends on SYSCTL | 175 | depends on SYSCTL && INPUT |
176 | select INPUT | ||
177 | help | 176 | help |
178 | This provides generic support for emulating the 2nd and 3rd mouse | 177 | This provides generic support for emulating the 2nd and 3rd mouse |
179 | button with keypresses. If you say Y here, the emulation is still | 178 | button with keypresses. If you say Y here, the emulation is still |
@@ -185,6 +184,9 @@ config MAC_EMUMOUSEBTN | |||
185 | 184 | ||
186 | If you have an Apple machine with a 1-button mouse, say Y here. | 185 | If you have an Apple machine with a 1-button mouse, say Y here. |
187 | 186 | ||
187 | To compile this driver as a module, choose M here: the | ||
188 | module will be called mac_hid. | ||
189 | |||
188 | config THERM_WINDTUNNEL | 190 | config THERM_WINDTUNNEL |
189 | tristate "Support for thermal management on Windtunnel G4s" | 191 | tristate "Support for thermal management on Windtunnel G4s" |
190 | depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 | 192 | depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 |
diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c index 0b210a90aef5..e943d2a29253 100644 --- a/drivers/macintosh/mac_hid.c +++ b/drivers/macintosh/mac_hid.c | |||
@@ -14,6 +14,8 @@ | |||
14 | #include <linux/input.h> | 14 | #include <linux/input.h> |
15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
16 | 16 | ||
17 | MODULE_LICENSE("GPL"); | ||
18 | |||
17 | static int mouse_emulate_buttons; | 19 | static int mouse_emulate_buttons; |
18 | static int mouse_button2_keycode = KEY_RIGHTCTRL; /* right control key */ | 20 | static int mouse_button2_keycode = KEY_RIGHTCTRL; /* right control key */ |
19 | static int mouse_button3_keycode = KEY_RIGHTALT; /* right option key */ | 21 | static int mouse_button3_keycode = KEY_RIGHTALT; /* right option key */ |
@@ -252,7 +254,6 @@ static ctl_table mac_hid_root_dir[] = { | |||
252 | 254 | ||
253 | static struct ctl_table_header *mac_hid_sysctl_header; | 255 | static struct ctl_table_header *mac_hid_sysctl_header; |
254 | 256 | ||
255 | |||
256 | static int __init mac_hid_init(void) | 257 | static int __init mac_hid_init(void) |
257 | { | 258 | { |
258 | mac_hid_sysctl_header = register_sysctl_table(mac_hid_root_dir); | 259 | mac_hid_sysctl_header = register_sysctl_table(mac_hid_root_dir); |
@@ -261,5 +262,13 @@ static int __init mac_hid_init(void) | |||
261 | 262 | ||
262 | return 0; | 263 | return 0; |
263 | } | 264 | } |
265 | module_init(mac_hid_init); | ||
264 | 266 | ||
265 | device_initcall(mac_hid_init); | 267 | static void __exit mac_hid_exit(void) |
268 | { | ||
269 | unregister_sysctl_table(mac_hid_sysctl_header); | ||
270 | |||
271 | if (mouse_emulate_buttons) | ||
272 | mac_hid_stop_emulation(); | ||
273 | } | ||
274 | module_exit(mac_hid_exit); | ||