kernel_samsung_a53x/drivers/hid
Siarhei Vishniakou 0484278a1f HID: microsoft: Add rumble support to latest xbox controllers
commit f5554725f30475b05b5178b998366f11ecb50c7f upstream.

Currently, rumble is only supported via bluetooth on a single xbox
controller, called 'model 1708'. On the back of the device, it's named
'wireless controller for xbox one'. However, in 2021, Microsoft released
a firmware update for this controller. As part of this update, the HID
descriptor of the device changed. The product ID was also changed from
0x02fd to 0x0b20. On this controller, rumble was supported via
hid-microsoft, which matched against the old product id (0x02fd). As a
result, the firmware update broke rumble support on this controller.

See:
https://news.xbox.com/en-us/2021/09/08/xbox-controller-firmware-update-rolling-out-to-insiders-starting-today/

The hid-microsoft driver actually supports rumble on the new firmware,
as well. So simply adding new product id is sufficient to bring back
this support.

After discussing further with the xbox team, it was pointed out that
another xbox controller, xbox elite series 2, can be supported in a
similar way.

Add rumble support for all of these devices in this patch. Two of the
devices have received firmware updates that caused their product id's to
change. Both old and new firmware versions of these devices were tested.

The tested controllers are:

1. 'wireless controller for xbox one', model 1708
2. 'xbox wireless controller', model 1914. This is also sometimes
   referred to as 'xbox series S|X'.
3. 'elite series 2', model 1797.

The tested configurations are:
1. model 1708, pid 0x02fd (old firmware)
2. model 1708, pid 0x0b20 (new firmware)
3. model 1914, pid 0x0b13
4. model 1797, pid 0x0b05 (old firmware)
5. model 1797, pid 0x0b22 (new firmware)

I verified rumble support on both bluetooth and usb.

Reviewed-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:20:49 +01:00
..
i2c-hid HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up 2024-11-19 11:32:40 +01:00
intel-ish-hid HID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors 2024-11-19 12:26:56 +01:00
usbhid Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-a4tech.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-accutouch.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-alps.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-apple.c HID: apple: Add 2021 magic keyboard FN key mapping 2024-11-18 12:13:23 +01:00
hid-appleir.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-asus.c HID: hid-asus: add const to read-only outgoing usb buffer 2024-11-18 12:11:57 +01:00
hid-aureal.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-axff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-belkin.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-betopff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-bigbenff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-cherry.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-chicony.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-cmedia.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-core.c HID: core: remove unnecessary WARN_ON() in implement() 2024-11-19 14:19:03 +01:00
hid-corsair.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-cougar.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-cp2112.c hid: cp2112: Fix IRQ shutdown stopping polling for all IRQs on chip 2024-11-18 11:43:04 +01:00
hid-creative-sb0540.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-cypress.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-debug.c HID: fix HID device resource race between HID core and debugging support 2024-11-18 12:10:54 +01:00
hid-dr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-elan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-elecom.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-elo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-emsff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-ezkey.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-gaff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-gembird.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-generic.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-gfrm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-glorious.c HID: glorious: fix Glorious Model I HID report 2024-11-18 12:11:56 +01:00
hid-google-hammer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-gt683r.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-gyration.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-holtek-kbd.c HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event 2024-11-08 11:26:16 +01:00
hid-holtek-mouse.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-holtekff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-hyperv.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-icade.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-ids.h HID: microsoft: Add rumble support to latest xbox controllers 2024-11-23 23:20:49 +01:00
hid-input.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-ite.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-jabra.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-kensington.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-keytouch.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-kye.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lcpower.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-led.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lenovo.c HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd 2024-11-19 08:44:51 +01:00
hid-lg-g15.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lg2ff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lg3ff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lg4ff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lg4ff.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-lgff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-logitech-dj.c HID: logitech-dj: Fix memory leak in logi_dj_recv_switch_to_dj_mode() 2024-11-19 14:19:03 +01:00
hid-logitech-hidpp.c HID: logitech-hidpp: Move get_wireless_feature_index() check to hidpp_connect_event() 2024-11-18 11:43:04 +01:00
hid-macally.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-magicmouse.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-maltron.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-mcp2221.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-mf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-microsoft.c HID: microsoft: Add rumble support to latest xbox controllers 2024-11-23 23:20:49 +01:00
hid-monterey.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-multitouch.c HID: Add quirk for Logitech Casa touchpad 2024-11-19 14:19:06 +01:00
hid-nintendo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-nti.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-ntrig.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-ortek.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-penmount.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-petalynx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd_backlight.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd_cir.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd_core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd_debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd_fb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd_lcd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-picolcd_leds.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-pl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-plantronics.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-playstation.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-primax.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-prodikeys.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-quirks.c HID: apple: Add support for the 2021 Magic Keyboard 2024-11-18 12:13:23 +01:00
hid-redragon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-retrode.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-rmi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-arvo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-arvo.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-common.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-common.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-isku.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-isku.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-kone.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-kone.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-koneplus.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-koneplus.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-konepure.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-kovaplus.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-kovaplus.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-lua.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-lua.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-pyra.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-pyra.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-ryos.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-savu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat-savu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-roccat.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-saitek.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-samsung.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-sensor-custom.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-sensor-hub.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-sjoy.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-sony.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-speedlink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-steam.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-steelseries.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-sunplus.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-tivo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-tmff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-topseed.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-twinhan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-u2fzero.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-uclogic-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-uclogic-params.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-uclogic-params.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-uclogic-rdesc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-uclogic-rdesc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-udraw-ps3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-viewsonic.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-vivaldi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-waltop.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-wiimote-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-wiimote-debug.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-wiimote-modules.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-wiimote.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-xinmo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-zpff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hid-zydacron.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hidraw.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uhid.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wacom.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wacom_sys.c HID: wacom: Do not register input devices until after hid_hw_start 2024-11-18 12:13:29 +01:00
wacom_wac.c HID: wacom: Defer calculation of resolution until resolution_code is known 2024-11-23 23:20:49 +01:00
wacom_wac.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00