HID: wacom: leds: dynamically allocate LED groups
We need to add an action to ensure wacom->led.groups is null when
wacom_led_control() gets called after the resources has been freed.
This also prevents to send a LED command when there is no support
from the device.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
diff --git a/drivers/hid/wacom.h b/drivers/hid/wacom.h
index bcfeb51..8ac1eb8 100644
--- a/drivers/hid/wacom.h
+++ b/drivers/hid/wacom.h
@@ -110,6 +110,10 @@
WACOM_WORKER_BATTERY,
};
+struct wacom_group_leds {
+ u8 select; /* status led selector (0..3) */
+};
+
struct wacom {
struct usb_device *usbdev;
struct usb_interface *intf;
@@ -118,8 +122,8 @@
struct mutex lock;
struct work_struct wireless_work;
struct work_struct battery_work;
- struct wacom_led {
- u8 select[5]; /* status led selector (0..3) */
+ struct wacom_leds {
+ struct wacom_group_leds *groups;
u8 llv; /* status led brightness no button (1..127) */
u8 hlv; /* status led brightness button pressed (1..127) */
u8 img_lum; /* OLED matrix display brightness */