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>
This commit is contained in:
parent
c1e0ac192b
commit
b52b506161
|
@ -18,7 +18,8 @@
|
||||||
|
|
||||||
#include "hid-ids.h"
|
#include "hid-ids.h"
|
||||||
|
|
||||||
#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
|
#if IS_BUILTIN(CONFIG_LEDS_CLASS) || \
|
||||||
|
(IS_MODULE(CONFIG_LEDS_CLASS) && IS_MODULE(CONFIG_HID_STEELSERIES))
|
||||||
#define SRWS1_NUMBER_LEDS 15
|
#define SRWS1_NUMBER_LEDS 15
|
||||||
struct steelseries_srws1_data {
|
struct steelseries_srws1_data {
|
||||||
__u16 led_state;
|
__u16 led_state;
|
||||||
|
@ -107,7 +108,8 @@ static __u8 steelseries_srws1_rdesc_fixed[] = {
|
||||||
0xC0 /* End Collection */
|
0xC0 /* End Collection */
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
|
#if IS_BUILTIN(CONFIG_LEDS_CLASS) || \
|
||||||
|
(IS_MODULE(CONFIG_LEDS_CLASS) && IS_MODULE(CONFIG_HID_STEELSERIES))
|
||||||
static void steelseries_srws1_set_leds(struct hid_device *hdev, __u16 leds)
|
static void steelseries_srws1_set_leds(struct hid_device *hdev, __u16 leds)
|
||||||
{
|
{
|
||||||
struct list_head *report_list = &hdev->report_enum[HID_OUTPUT_REPORT].report_list;
|
struct list_head *report_list = &hdev->report_enum[HID_OUTPUT_REPORT].report_list;
|
||||||
|
@ -370,7 +372,8 @@ MODULE_DEVICE_TABLE(hid, steelseries_srws1_devices);
|
||||||
static struct hid_driver steelseries_srws1_driver = {
|
static struct hid_driver steelseries_srws1_driver = {
|
||||||
.name = "steelseries_srws1",
|
.name = "steelseries_srws1",
|
||||||
.id_table = steelseries_srws1_devices,
|
.id_table = steelseries_srws1_devices,
|
||||||
#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
|
#if IS_BUILTIN(CONFIG_LEDS_CLASS) || \
|
||||||
|
(IS_MODULE(CONFIG_LEDS_CLASS) && IS_MODULE(CONFIG_HID_STEELSERIES))
|
||||||
.probe = steelseries_srws1_probe,
|
.probe = steelseries_srws1_probe,
|
||||||
.remove = steelseries_srws1_remove,
|
.remove = steelseries_srws1_remove,
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue