@@ -18340,8 +18340,8 @@ userspace programs.
1834018340Signed-off-by: Antheas Kapenekakis <
[email protected] >
1834118341---
1834218342 drivers/hid/Kconfig | 1 +
18343- drivers/hid/hid-asus.c | 171 +++++++++++++++++++++++++++++++++++++----
18344- 2 files changed, 156 insertions(+), 16 deletions(-)
18343+ drivers/hid/hid-asus.c | 173 +++++++++++++++++++++++++++++++++++++----
18344+ 2 files changed, 158 insertions(+), 16 deletions(-)
1834518345
1834618346diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
1834718347index 707983ce6854..2526d8e20b4f 100644
@@ -18356,7 +18356,7 @@ index 707983ce6854..2526d8e20b4f 100644
1835618356 depends on ASUS_WMI || ASUS_WMI=n
1835718357 select POWER_SUPPLY
1835818358diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
18359- index de64451e315d..3ceeee88b241 100644
18359+ index de64451e315d..799cf43d2cea 100644
1836018360--- a/drivers/hid/hid-asus.c
1836118361+++ b/drivers/hid/hid-asus.c
1836218362@@ -23,6 +23,7 @@
@@ -18480,7 +18480,7 @@ index de64451e315d..3ceeee88b241 100644
1848018480 u8 buf[] = { FEATURE_KBD_REPORT_ID, 0xba, 0xc5, 0xc4, 0x00 };
1848118481 int ret;
1848218482 unsigned long flags;
18483- @@ -627,12 +681,70 @@ static void validate_mcu_fw_version(struct hid_device *hdev, int idProduct)
18483+ @@ -627,12 +681,71 @@ static void validate_mcu_fw_version(struct hid_device *hdev, int idProduct)
1848418484 }
1848518485 }
1848618486
@@ -18548,10 +18548,19 @@ index de64451e315d..3ceeee88b241 100644
1854818548 struct usb_device *udev;
1854918549 unsigned char kbd_func;
1855018550+ struct asus_kbd_leds *leds;
18551+ + bool rgb_init = true;
1855118552 int ret;
1855218553
1855318554 ret = asus_kbd_init(hdev, FEATURE_KBD_REPORT_ID);
18554- @@ -677,20 +789,47 @@ static int asus_kbd_register_leds(struct hid_device *hdev)
18555+ @@ -647,6 +760,7 @@ static int asus_kbd_register_leds(struct hid_device *hdev)
18556+ ret = asus_kbd_init(hdev, FEATURE_KBD_LED_REPORT_ID1);
18557+ if (ret < 0)
18558+ return ret;
18559+ + rgb_init = false;
18560+ }
18561+
18562+ /* Get keyboard functions */
18563+ @@ -677,20 +791,47 @@ static int asus_kbd_register_leds(struct hid_device *hdev)
1855518564 if (!drvdata->kbd_backlight)
1855618565 return -ENOMEM;
1855718566
@@ -18569,7 +18578,7 @@ index de64451e315d..3ceeee88b241 100644
1856918578+ leds->rgb_colors[0] = 0;
1857018579+ leds->rgb_colors[1] = 0;
1857118580+ leds->rgb_colors[2] = 0;
18572- + leds->rgb_init = true ;
18581+ + leds->rgb_init = rgb_init ;
1857318582+ leds->rgb_set = false;
1857418583+ leds->mc_led.led_cdev.name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
1857518584+ "asus-%s:rgb:peripheral",
@@ -18608,7 +18617,7 @@ index de64451e315d..3ceeee88b241 100644
1860818617 }
1860918618
1861018619 /*
18611- @@ -1393,7 +1532 ,7 @@ static const struct hid_device_id asus_devices[] = {
18620+ @@ -1393,7 +1534 ,7 @@ static const struct hid_device_id asus_devices[] = {
1861218621 QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_LEGACY },
1861318622 { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
1861418623 USB_DEVICE_ID_ASUSTEK_ROG_Z13_LIGHTBAR),
@@ -18617,7 +18626,7 @@ index de64451e315d..3ceeee88b241 100644
1861718626 { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
1861818627 USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY),
1861918628 QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_ALLY_XPAD},
18620- @@ -1422,7 +1561 ,7 @@ static const struct hid_device_id asus_devices[] = {
18629+ @@ -1422,7 +1563 ,7 @@ static const struct hid_device_id asus_devices[] = {
1862118630 */
1862218631 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
1862318632 USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_Z13_FOLIO),
1864418653 1 file changed, 4 insertions(+), 2 deletions(-)
1864518654
1864618655diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
18647- index 3ceeee88b241..f128ceda0362 100644
18656+ index 799cf43d2cea..2864f8238eed 100644
1864818657--- a/drivers/hid/hid-asus.c
1864918658+++ b/drivers/hid/hid-asus.c
18650- @@ -1535 ,10 +1535 ,12 @@ static const struct hid_device_id asus_devices[] = {
18659+ @@ -1537 ,10 +1537 ,12 @@ static const struct hid_device_id asus_devices[] = {
1865118660 QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_RGB },
1865218661 { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
1865318662 USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY),
1868118690 2 files changed, 13 insertions(+)
1868218691
1868318692diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
18684- index f128ceda0362..705c8a6ae5e8 100644
18693+ index 2864f8238eed..4f8c44c8a7dd 100644
1868518694--- a/drivers/hid/hid-asus.c
1868618695+++ b/drivers/hid/hid-asus.c
18687- @@ -1100 ,6 +1100 ,7 @@ static int asus_input_mapping(struct hid_device *hdev,
18696+ @@ -1102 ,6 +1102 ,7 @@ static int asus_input_mapping(struct hid_device *hdev,
1868818697 case 0x8b: asus_map_key_clear(KEY_PROG1); break; /* ProArt Creator Hub key */
1868918698 case 0x6b: asus_map_key_clear(KEY_F21); break; /* ASUS touchpad toggle */
1869018699 case 0x38: asus_map_key_clear(KEY_PROG1); break; /* ROG key */
1869118700+ case 0x86: asus_map_key_clear(KEY_PROG1); break; /* Zenbook Duo MyASUS */
1869218701 case 0xba: asus_map_key_clear(KEY_PROG2); break; /* Fn+C ASUS Splendid */
1869318702 case 0x5c: asus_map_key_clear(KEY_PROG3); break; /* Fn+Space Power4Gear */
1869418703 case 0x99: asus_map_key_clear(KEY_PROG4); break; /* Fn+F5 "fan" symbol */
18695- @@ -1564 ,6 +1565 ,15 @@ static const struct hid_device_id asus_devices[] = {
18704+ @@ -1566 ,6 +1567 ,15 @@ static const struct hid_device_id asus_devices[] = {
1869618705 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
1869718706 USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_Z13_FOLIO),
1869818707 QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_RGB },
1882718836 3 files changed, 40 insertions(+), 139 deletions(-)
1882818837
1882918838diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
18830- index 705c8a6ae5e8..7eaa0c291d2b 100644
18839+ index 4f8c44c8a7dd..2f0b5e5e686a 100644
1883118840--- a/drivers/hid/hid-asus.c
1883218841+++ b/drivers/hid/hid-asus.c
1883318842@@ -675,9 +675,6 @@ static void validate_mcu_fw_version(struct hid_device *hdev, int idProduct)
@@ -18840,7 +18849,7 @@ index 705c8a6ae5e8..7eaa0c291d2b 100644
1884018849 }
1884118850 }
1884218851
18843- @@ -1597 ,5 +1594 ,4 @@ static struct hid_driver asus_driver = {
18852+ @@ -1599 ,5 +1596 ,4 @@ static struct hid_driver asus_driver = {
1884418853 };
1884518854 module_hid_driver(asus_driver);
1884618855
1918119190 1 file changed, 5 insertions(+), 109 deletions(-)
1918219191
1918319192diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
19184- index 7eaa0c291d2b..c87bfe833155 100644
19193+ index 2f0b5e5e686a..2cfca75d3928 100644
1918519194--- a/drivers/hid/hid-asus.c
1918619195+++ b/drivers/hid/hid-asus.c
1918719196@@ -56,10 +56,6 @@ MODULE_DESCRIPTION("Asus HID Keyboard and TouchPad");
@@ -19312,8 +19321,8 @@ index 7eaa0c291d2b..c87bfe833155 100644
1931219321- struct usb_device *udev;
1931319322 unsigned char kbd_func;
1931419323 struct asus_kbd_leds *leds;
19315- int ret ;
19316- @@ -769 ,13 +674 ,6 @@ static int asus_kbd_register_leds(struct hid_device *hdev)
19324+ bool rgb_init = true ;
19325+ @@ -771 ,13 +676 ,6 @@ static int asus_kbd_register_leds(struct hid_device *hdev)
1931719326 return ret;
1931819327 }
1931919328
@@ -19327,7 +19336,7 @@ index 7eaa0c291d2b..c87bfe833155 100644
1932719336 /* Check for backlight support */
1932819337 if (!(kbd_func & SUPPORT_KBD_BACKLIGHT))
1932919338 return -ENODEV;
19330- @@ -1533 ,12 +1431 ,10 @@ static const struct hid_device_id asus_devices[] = {
19339+ @@ -1535 ,12 +1433 ,10 @@ static const struct hid_device_id asus_devices[] = {
1933119340 QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_RGB },
1933219341 { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
1933319342 USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY),
@@ -19359,10 +19368,10 @@ for the platform (should NOOP though).
1935919368 1 file changed, 6 deletions(-)
1936019369
1936119370diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
19362- index c87bfe833155..463803dd6f71 100644
19371+ index 2cfca75d3928..f04b6703825e 100644
1936319372--- a/drivers/hid/hid-asus.c
1936419373+++ b/drivers/hid/hid-asus.c
19365- @@ -1429 ,12 +1429 ,6 @@ static const struct hid_device_id asus_devices[] = {
19374+ @@ -1431 ,12 +1431 ,6 @@ static const struct hid_device_id asus_devices[] = {
1936619375 { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
1936719376 USB_DEVICE_ID_ASUSTEK_ROG_Z13_LIGHTBAR),
1936819377 QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_RGB },
2151921528 1 file changed, 1 insertion(+)
2152021529
2152121530diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
21522- index 463803dd6f71..b307a466382d 100644
21531+ index f04b6703825e..45c5ac672d05 100644
2152321532--- a/drivers/hid/hid-asus.c
2152421533+++ b/drivers/hid/hid-asus.c
21525- @@ -1484 ,4 +1484 ,5 @@ static struct hid_driver asus_driver = {
21534+ @@ -1486 ,4 +1486 ,5 @@ static struct hid_driver asus_driver = {
2152621535 };
2152721536 module_hid_driver(asus_driver);
2152821537
0 commit comments