tree a23819b38950e840438a2bda77485d6361706966
parent b345ff698ec7ed52d90bd5603ec8fc1802f40110
parent 0db18cd824f781584a880653e65a0cfd38f060ee
author Linus Torvalds <torvalds@linux-foundation.org> 1710435375 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1710435375 -0700
mergetag object 0db18cd824f781584a880653e65a0cfd38f060ee
 type commit
 tag hid-for-linus-2024031301
 tagger Jiri Kosina <jkosina@suse.com> 1710361583 +0100
 
 hid-for-linus-2024031301
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIVAwUAZfIL8qZi849r7WBJAQLR8g/9Hm98IBegxv9cnAEt2Kq5Ge071GxTHRLG
 T6EHdwttmWmZmMPEBeXE/PGWcMDi1GG7RpAbAMHW7NE4urgJ1ehn/s7Eet8hxuh6
 0iZwbNBph3Jwa1TobyKDuIbX1Z9e6x2TLNZqHhzmppW2NSbMamN9SiOGcR3c9PJy
 q39cG6aAw0cHRpqQ/7n2s8Ixi+Cg79Q9H9BfEOG3q2OTwYYFqpUyPMQy0b0NIISg
 /RCC8MuEGwSrGCusZlFzMHudF4sBLTHMNaAkgZdHxtmP6V3jtLyv/jTJiafwwSDq
 fQ49sCfkO88NLOPo/8RkrRxUwQSDCQhn89bV2Mnsk4n9m4u1gvrnvZz1mXh8orAc
 YvtHJdP8UUHpTFMqFhRgIMBkRwRUVG0XRYMSwlzPKXnpPGt1tx9br1S1KvauhCiw
 zexY64DMNF9bO8AF4f4Ic0adGlWk8jz0Ith8QTkGDTyNRVPrX96u/pfYZvUD4BJF
 Xxb4War5be2oYQWT23vjadHKXpmVwD3bCfd1enY+ODYBEG8XKbbTHU8FyHND1A9v
 zrk3xH6dMVVXFdchrA4WNWsZJ+MmC9dRpmVyBUzVq3r+F/R1wKPCeuVRHUAFnuIu
 uHB7FY+KO8aNqN9Yd0TUkSS15YgrFEeIa/rF/FMunG1HUtI/n0lXqFbVlZ8RTSDY
 9cu2HJNLKWI=
 =+55b
 -----END PGP SIGNATURE-----

Merge tag 'hid-for-linus-2024031301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid

Pull HID updates from Jiri Kosina:

 - support for the following Bluetooth devices from Samsung: Samsung
   wireless {Keyboard, GamePad, Action Mouse, Book Cover, Universal
   Keyboard, HOGP Keyboard} (Sandeep C S)

 - second version of code for applying proper quirk depending on
   firmware version for lenovo/cptkbd (Mikhail Khvainitski)

 - lenovo/cptkbd firmware-dependent quirk (Mikhail Khvainitski)

 - assorted fixes and optimizations for amd-sfh (Basavaraj Natikar)

 - dead code and dead data structures removal (Jiri Slaby, Jiapeng
   Chong)

* tag 'hid-for-linus-2024031301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (25 commits)
  HID: amd_sfh: Set the AMD SFH driver to depend on x86
  HID: input: avoid polling stylus battery on Chromebook Pompom
  HID: amd_sfh: Extend MP2 register access to SFH
  HID: amd_sfh: Improve boot time when SFH is available
  HID: amd_sfh: Avoid disabling the interrupt
  HID: amd_sfh: Update HPD sensor structure elements
  HID: amd_sfh: Increase sensor command timeout
  HID: intel-ish-hid: ipc: Add Arrow Lake PCI device ID
  HID: nintendo: Remove some unused functions
  HID: hid-prodikeys: remove struct pk_device
  HID: hid-prodikeys: remove unused struct pcmidi_snd members
  HID: hid-multitouch: remove unused mt_application::dev_time
  HID: hid-lg3ff: remove unused struct lg3ff_device
  HID: protect hid_device::bpf by CONFIG_HID_BPF
  HID: wacom: remove unused hid_data::pressure
  HID: apple: remove unused members from struct apple_sc_backlight
  HID: wacom: Clean up use of struct->wacom_wac
  HID: samsung: Add Samsung wireless bookcover and universal keyboard support
  HID: samsung: Add Samsung wireless action mouse support
  HID: samsung: Add Samsung wireless gamepad support
  ...
