Skip to content

Commit b52b506

Browse files
mungewellJiri Kosina
authored andcommitted
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>
1 parent c1e0ac1 commit b52b506

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

drivers/hid/hid-steelseries.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818

1919
#include "hid-ids.h"
2020

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))
2223
#define SRWS1_NUMBER_LEDS 15
2324
struct steelseries_srws1_data {
2425
__u16 led_state;
@@ -107,7 +108,8 @@ static __u8 steelseries_srws1_rdesc_fixed[] = {
107108
0xC0 /* End Collection */
108109
};
109110

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))
111113
static void steelseries_srws1_set_leds(struct hid_device *hdev, __u16 leds)
112114
{
113115
struct list_head *report_list = &hdev->report_enum[HID_OUTPUT_REPORT].report_list;
@@ -370,7 +372,8 @@ MODULE_DEVICE_TABLE(hid, steelseries_srws1_devices);
370372
static struct hid_driver steelseries_srws1_driver = {
371373
.name = "steelseries_srws1",
372374
.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))
374377
.probe = steelseries_srws1_probe,
375378
.remove = steelseries_srws1_remove,
376379
#endif

0 commit comments

Comments
 (0)