linux/drivers/hid
Luke D. Jones feea7bd6b0
platform/x86: asus-wmi: Refactor Ally suspend/resume
Adjust how the CSEE direct call hack is used.

The results of months of testing combined with help from ASUS to
determine the actual cause of suspend issues has resulted in this
refactoring which immensely improves the reliability for devices which
do not have the following minimum MCU FW version:
- ROG Ally X: 313
- ROG Ally 1: 319

For MCU FW versions that match the minimum or above the CSEE hack is
disabled and mcu_powersave set to on by default as there are no
negatives beyond a slightly slower device reinitialization due to the
MCU being powered off.

As this is set only at module load time, it is still possible for
mcu_powersave sysfs attributes to change it at runtime if so desired.

Signed-off-by: Luke D. Jones <luke@ljones.dev>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20250323023421.78012-3-luke@ljones.dev
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-05-08 16:03:56 +03:00
..
amd-sfh-hid HID: amd_sfh: Don't show wrong status for amd_sfh_hpd_info() 2025-03-04 21:49:33 +01:00
bpf HID: bpf: add a v6.11+ compatible BPF fixup for the XPPen ACK05 remote 2025-02-24 09:25:34 +01:00
i2c-hid HID: i2c-hid: improve i2c_hid_get_report error message 2025-03-04 21:26:29 +01:00
intel-ish-hid HID: intel-ish-hid: Fix use-after-free issue in ishtp_hid_remove() 2025-02-19 10:09:27 +01:00
intel-thc-hid Merge branch 'for-6.15/intel-thc' into for-linus 2025-03-26 13:51:44 +01:00
surface-hid HID: intel-thc: fix CONFIG_HID dependency 2025-02-03 10:56:43 +01:00
usbhid treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
.kunitconfig HID: input: map battery system charging 2022-12-20 15:30:35 +01:00
Kconfig Merge branch 'for-6.15/pidff' into for-linus 2025-03-26 13:54:04 +01:00
Makefile Merge branch 'for-6.15/pidff' into for-linus 2025-03-26 13:54:04 +01:00
hid-a4tech.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-accutouch.c
hid-alps.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid-apple.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-appleir.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-appletb-bl.c HID: hid-appletb-bl: fix incorrect error message for default brightness 2025-02-18 22:01:54 +01:00
hid-appletb-kbd.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-asus.c platform/x86: asus-wmi: Refactor Ally suspend/resume 2025-05-08 16:03:56 +03:00
hid-aureal.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-axff.c
hid-belkin.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-betopff.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-bigbenff.c HID: bigbenff: constify fixed up report descriptor 2024-09-05 16:20:56 +02:00
hid-cherry.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-chicony.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-cmedia.c HID: cmedia: constify fixed up report descriptor 2024-08-27 16:30:43 +02:00
hid-core.c HID: core: Add reserved item tag for main items 2025-02-07 16:03:31 +01:00
hid-corsair-void.c HID: corsair-void: Update power supply values with a unified work handler 2025-02-18 21:21:05 +01:00
hid-corsair.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-cougar.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-cp2112.c HID: replace BUG_ON() with WARN_ON() 2024-10-18 12:50:08 +02:00
hid-creative-sb0540.c
hid-cypress.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-debug.c HID: debug: Fix spelling mistake "Messanger" -> "Messenger" 2025-03-04 21:45:06 +01:00
hid-dr.c HID: dr: constify fixed up report descriptor 2024-09-05 16:20:56 +02:00
hid-elan.c HID: hid-elan: use default remove for hid device 2022-11-21 22:17:10 +01:00
hid-elecom.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-elo.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-emsff.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-evision.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-ezkey.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-ft260.c HID: ft260: fix 'cast to restricted' kernel CI bot warnings 2022-11-11 11:09:36 +01:00
hid-gaff.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-gembird.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-generic.c Merge branch 'for-6.13/bpf' into for-linus 2024-11-18 22:02:17 +01:00
hid-gfrm.c
hid-glorious.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-goodix-spi.c HID: hid-goodix-spi: Add OF supports 2024-11-13 10:56:37 +01:00
hid-google-hammer.c Merge branch 'for-6.15/google' into for-linus 2025-03-26 13:46:56 +01:00
hid-google-stadiaff.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-gt683r.c
hid-gyration.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-holtek-kbd.c HID: holtek-kbd: constify fixed up report descriptor 2024-09-05 16:20:56 +02:00
hid-holtek-mouse.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-holtekff.c
hid-hyperv.c HID: hyperv: streamline driver probe to avoid devres issues 2024-11-12 10:15:30 +01:00
hid-icade.c
hid-ids.h Merge branch 'for-6.15/pidff' into for-linus 2025-03-26 13:54:04 +01:00
hid-input-test.c HID: input: map battery system charging 2022-12-20 15:30:35 +01:00
hid-input.c HID: fix generic desktop D-Pad controls 2025-01-09 10:06:14 +01:00
hid-ite.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-jabra.c
hid-kensington.c HID: Fix spelling mistakes "Kensigton" -> "Kensington" 2024-07-12 18:28:03 +02:00
hid-keytouch.c HID: keytouch: constify fixed up report descriptor 2024-09-05 16:20:56 +02:00
hid-kye.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid-kysona.c HID: Kysona: add basic online status 2024-10-18 12:28:40 +02:00
hid-lcpower.c HID: add more missing MODULE_DESCRIPTION() macros 2024-07-10 09:11:27 +02:00
hid-led.c HID: hid-led: fix maximum brightness for Dream Cheeky 2022-04-21 10:28:49 +02:00
hid-lenovo.c HID: lenovo: silence unreachable code warning 2025-03-04 21:14:36 +01:00
hid-letsketch.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid-lg-g15.c HID: hid-lg-g15: Use standard multicolor LED API 2025-02-07 13:50:59 +01:00
hid-lg.c HID: lg: constify fixed up report descriptor 2024-09-06 10:06:02 +02:00
hid-lg.h
hid-lg2ff.c
hid-lg3ff.c HID: hid-lg3ff: remove unused struct lg3ff_device 2024-02-13 11:43:55 +01:00
hid-lg4ff.c HID: replace BUG_ON() with WARN_ON() 2024-10-18 12:50:08 +02:00
hid-lg4ff.h
hid-lgff.c
hid-logitech-dj.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid-logitech-hidpp.c Merge branch 'for-6.13/core' into for-linus 2024-11-18 21:58:55 +01:00
hid-macally.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-magicmouse.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-maltron.c HID: maltron: constify fixed up report descriptor 2024-09-05 16:20:56 +02:00
hid-mcp2200.c HID: mcp2200: added driver for GPIOs of MCP2200 2023-11-21 09:27:18 +01:00
hid-mcp2221.c HID: mcp2221: Remove unnecessary semicolon 2024-07-12 18:30:11 +02:00
hid-megaworld.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-mf.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-microsoft.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-monterey.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-multitouch.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-nintendo.c HID: nintendo: fix gencon button events map 2025-02-19 09:57:30 +01:00
hid-nti.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-ntrig.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-nvidia-shield.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-ortek.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-penmount.c
hid-petalynx.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-picolcd.h
hid-picolcd_backlight.c HID: picoLCD: Use backlight power constants 2024-09-05 10:55:15 +02:00
hid-picolcd_cir.c
hid-picolcd_core.c - Fix-ups 2024-05-22 10:45:12 -07:00
hid-picolcd_debugfs.c
hid-picolcd_fb.c - Improved handling of LCD power states and interactions with the fbdev subsystem. 2024-11-22 16:29:57 -08:00
hid-picolcd_lcd.c HID: picoLCD: Replace check_fb in favor of struct fb_info.lcd_dev 2024-09-30 16:49:42 +01:00
hid-picolcd_leds.c
hid-pl.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-plantronics.c HID: hid-plantronics: Add mic mute mapping and generalize quirks 2025-02-03 11:09:05 +01:00
hid-playstation.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid-primax.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-prodikeys.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-pxrc.c HID: pxrc: constify fixed up report descriptor 2024-09-05 16:20:57 +02:00
hid-quirks.c Merge branch 'for-6.15/sony' into for-linus 2025-03-26 13:55:13 +01:00
hid-razer.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-redragon.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-retrode.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-rmi.c HID: rmi: remove #ifdef CONFIG_PM 2023-10-25 18:33:42 +02:00
hid-roccat-arvo.c HID: roccat: arvo: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-arvo.h
hid-roccat-common.c
hid-roccat-common.h HID: roccat: common, konepure, ryos, savu: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-isku.c HID: roccat: isku: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-isku.h
hid-roccat-kone.c HID: roccat: kone: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-kone.h HID: roccat: Use struct_group() to zero kone_mouse_event 2021-09-25 08:20:48 -07:00
hid-roccat-koneplus.c HID: roccat: koneplus: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-koneplus.h
hid-roccat-konepure.c HID: roccat: common, konepure, ryos, savu: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-kovaplus.c HID: roccat: kovaplus: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-kovaplus.h
hid-roccat-lua.c HID: roccat: lua: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-lua.h
hid-roccat-pyra.c HID: roccat: pyro: constify 'struct bin_attribute' 2024-12-11 15:11:09 +01:00
hid-roccat-pyra.h
hid-roccat-ryos.c HID: roccat: common, konepure, ryos, savu: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-savu.c HID: roccat: common, konepure, ryos, savu: constify 'struct bin_attribute' 2024-12-11 15:11:04 +01:00
hid-roccat-savu.h
hid-roccat.c HID: roccat: make all 'class' structures const 2023-08-14 11:23:35 +02:00
hid-saitek.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-samsung.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-semitek.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-sensor-custom.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
hid-sensor-hub.c HID: hid-sensor-hub: don't use stale platform-data on remove 2024-12-17 13:14:06 +00:00
hid-sigmamicro.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-sjoy.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-sony.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-speedlink.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-steam.c Merge branch 'for-6.15/steam' into for-linus 2025-03-26 13:55:44 +01:00
hid-steelseries.c HID: steelseries: remove unnecessary return 2025-01-16 11:03:57 +01:00
hid-sunplus.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hid-thrustmaster.c HID: hid-thrustmaster: fix stack-out-of-bounds read in usb_check_int_endpoints() 2025-02-07 14:19:47 +01:00
hid-tivo.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-tmff.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-topre.c HID: topre: Fix n-key rollover on Realforce R3S TKL boards 2025-02-03 22:59:42 +01:00
hid-topseed.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-twinhan.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-u2fzero.c hwrng: u2fzero - account for high quality RNG 2022-11-25 17:39:19 +08:00
hid-uclogic-core-test.c HID: uclogic: Fix a work->entry not empty bug in __queue_work() 2023-10-25 16:25:47 +02:00
hid-uclogic-core.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-uclogic-params-test.c HID: uclogic: Fix user-memory-access bug in uclogic_params_ugee_v2_init_event_hooks() 2023-10-25 16:25:47 +02:00
hid-uclogic-params.c HID: uclogic: make const read-only array touch_ring_model_params_buf static 2025-01-09 10:23:26 +01:00
hid-uclogic-params.h HID: uclogic: constify fixed up report descriptor 2024-09-05 16:20:57 +02:00
hid-uclogic-rdesc-test.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
hid-uclogic-rdesc.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid-uclogic-rdesc.h HID: uclogic: constify fixed up report descriptor 2024-09-05 16:20:57 +02:00
hid-udraw-ps3.c
hid-universal-pidff.c HID: hid-universal-pidff: Fix spelling mistake "sucessfully" -> "successfully" 2025-02-18 22:05:07 +01:00
hid-viewsonic.c HID: viewsonic: constify fixed up report descriptor 2024-09-05 16:20:57 +02:00
hid-vivaldi-common.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-vivaldi-common.h HID: vivaldi: convert to use dev_groups 2022-08-25 11:37:21 +02:00
hid-vivaldi.c HID: vivaldi: convert to use dev_groups 2022-08-25 11:37:21 +02:00
hid-vrc2.c HID: vrc2: constify fixed up report descriptor 2024-09-05 16:20:57 +02:00
hid-waltop.c HID: waltop: constify fixed up report descriptor 2024-09-05 16:20:57 +02:00
hid-wiimote-core.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid-wiimote-debug.c HID: hid-wiimote-debug.c: Drop error checking for debugfs_create_file 2023-08-14 11:14:42 +02:00
hid-wiimote-modules.c HID: wiimote: Add support for the DJ Hero turntable 2022-11-04 09:57:16 +01:00
hid-wiimote.h HID: wiimote: Add support for the DJ Hero turntable 2022-11-04 09:57:16 +01:00
hid-winwing.c HID: winwing: Add NULL check in winwing_init_led() 2025-02-03 22:47:32 +01:00
hid-xiaomi.c HID: xiaomi: constify fixed up report descriptor 2024-09-05 16:20:57 +02:00
hid-xinmo.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-zpff.c HID: add missing MODULE_DESCRIPTION() macros 2024-06-06 10:52:48 +02:00
hid-zydacron.c HID: change return type of report_fixup() to const 2024-08-27 16:29:55 +02:00
hidraw.c HID: hidraw: add HIDIOCREVOKE ioctl 2024-08-29 10:39:37 +02:00
uhid.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wacom.h HID: wacom: Improve behavior of non-standard LED brightness values 2025-01-09 09:58:28 +01:00
wacom_sys.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
wacom_wac.c HID: wacom: Remove static WACOM_PKGLEN_MAX limit 2025-03-04 21:51:04 +01:00
wacom_wac.h HID: wacom: Remove static WACOM_PKGLEN_MAX limit 2025-03-04 21:51:04 +01:00