aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorSimon Wood <simon@mungewell.org>2013-05-02 21:43:14 -0400
committerJiri Kosina <jkosina@suse.cz>2013-05-03 04:26:52 -0400
commitb52b5061615b1aedf304845f3093afb283393e8a (patch)
tree7fc337ba036ec3ebf3e4d1d07966541e7b25b4d4 /drivers/hid
parentc1e0ac192b48b37f31801c17534ab3d2a9282d84 (diff)
HID: hid-steelseries fix led class build issue
Fixes 'undefined reference' issue when hid-steelseries is built in, but led-class is a module. -- drivers/built-in.o: In function `steelseries_srws1_remove': hid-steelseries.c:(.text+0x3b97a1): undefined reference to `led_classdev_unregister' drivers/built-in.o: In function `steelseries_srws1_probe': hid-steelseries.c:(.text+0x3b9c51): undefined reference to `led_classdev_register' hid-steelseries.c:(.text+0x3b9ce5): undefined reference to `led_classdev_register' hid-steelseries.c:(.text+0x3b9d4b): undefined reference to `led_classdev_unregister' -- Patch allows LED control when led-class is built in, or both hid-steelseries _and_ led-class are both modules. Reported-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Simon Wood <simon@mungewell.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-steelseries.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/hid/hid-steelseries.c b/drivers/hid/hid-steelseries.c
index 9b0efb0083fe..d16491192112 100644
--- a/drivers/hid/hid-steelseries.c
+++ b/drivers/hid/hid-steelseries.c
@@ -18,7 +18,8 @@
18 18
19#include "hid-ids.h" 19#include "hid-ids.h"
20 20
21#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE) 21#if IS_BUILTIN(CONFIG_LEDS_CLASS) || \
22 (IS_MODULE(CONFIG_LEDS_CLASS) && IS_MODULE(CONFIG_HID_STEELSERIES))
22#define SRWS1_NUMBER_LEDS 15 23#define SRWS1_NUMBER_LEDS 15
23struct steelseries_srws1_data { 24struct steelseries_srws1_data {
24 __u16 led_state; 25 __u16 led_state;
@@ -107,7 +108,8 @@ static __u8 steelseries_srws1_rdesc_fixed[] = {
1070xC0 /* End Collection */ 1080xC0 /* End Collection */
108}; 109};
109 110
110#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE) 111#if IS_BUILTIN(CONFIG_LEDS_CLASS) || \
112 (IS_MODULE(CONFIG_LEDS_CLASS) && IS_MODULE(CONFIG_HID_STEELSERIES))
111static void steelseries_srws1_set_leds(struct hid_device *hdev, __u16 leds) 113static void steelseries_srws1_set_leds(struct hid_device *hdev, __u16 leds)
112{ 114{
113 struct list_head *report_list = &hdev->report_enum[HID_OUTPUT_REPORT].report_list; 115 struct list_head *report_list = &hdev->report_enum[HID_OUTPUT_REPORT].report_list;
@@ -370,7 +372,8 @@ MODULE_DEVICE_TABLE(hid, steelseries_srws1_devices);
370static struct hid_driver steelseries_srws1_driver = { 372static struct hid_driver steelseries_srws1_driver = {
371 .name = "steelseries_srws1", 373 .name = "steelseries_srws1",
372 .id_table = steelseries_srws1_devices, 374 .id_table = steelseries_srws1_devices,
373#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE) 375#if IS_BUILTIN(CONFIG_LEDS_CLASS) || \
376 (IS_MODULE(CONFIG_LEDS_CLASS) && IS_MODULE(CONFIG_HID_STEELSERIES))
374 .probe = steelseries_srws1_probe, 377 .probe = steelseries_srws1_probe,
375 .remove = steelseries_srws1_remove, 378 .remove = steelseries_srws1_remove,
376#endif 379#endif