tree 87406866bf3b1b049564bce50626c34b72919657
parent 25905f602fdb0cfa147017056636768a7aa1ff6f
parent 2b2c66f607d00d17f879c0d946d44340bfbdc501
author Linus Torvalds <torvalds@linux-foundation.org> 1627493477 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1627493477 -0700
mergetag object 2b2c66f607d00d17f879c0d946d44340bfbdc501
 type commit
 tag platform-drivers-x86-v5.14-2
 tagger Hans de Goede <hdegoede@redhat.com> 1627468281 +0200
 
 platform-drivers-x86 for v5.14-2
 
 Highlights:
 -amd-pmc fixes
 -think-lmi fixes
 -Various new hardware-ids
 
 The following is an automated git shortlog grouped by driver:
 
 amd-pmc:
  -  Fix undefined reference to __udivdi3
  -  Fix missing unlock on error in amd_pmc_send_cmd()
  -  Use return code on suspend
  -  Add new acpi id for future PMC controllers
  -  Add support for ACPI ID AMDI0006
  -  Add support for logging s0ix counters
  -  Add support for logging SMU metrics
  -  call dump registers only once
  -  Fix SMU firmware reporting mechanism
  -  Fix command completion code
 
 gigabyte-wmi:
  -  add support for B550 Aorus Elite V2
 
 intel-hid:
  -  add Alder Lake ACPI device ID
 
 think-lmi:
  -  Fix possible mem-leaks on tlmi_analyze() error-exit
  -  Split kobject_init() and kobject_add() calls
  -  Move pending_reboot_attr to the attributes sysfs dir
  -  Add pending_reboot support
 
 wireless-hotkey:
  -  remove hardcoded "hp" from the error message
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEEuvA7XScYQRpenhd+kuxHeUQDJ9wFAmEBMfkUHGhkZWdvZWRl
 QHJlZGhhdC5jb20ACgkQkuxHeUQDJ9yZ4AgAiYKZubpQ4CflNZ3PkSHtL8rb3Pqy
 lfM/bkTKi2u718yDMSxQrBslXxXsjyuzQ9/F2kxm21YL8R5G66QTXqayWFFPjtvo
 7iiBv7JzP6vD132TwTiKZj6XRu2d0kXIbwGiK+nddXfOvDFwAMXiKDevVXqHXA2q
 llxDLEHYzst3JynJMsD3uaZiDw309DU++ElX0hCBEAnkJ0rVnPTcKbEys74hmRph
 0D3GFkZKsHFcuvPUK6tC8fwLvV3fQaTVxp17cmE6b5OhADJSSQoJWjiMe7kFNnHk
 9WrSCUfd2bXJqNBEpSmNuJ9L5I9zTCqrjwWFf126fdp1c1I1DUfw6LvLlg==
 =iuFO
 -----END PGP SIGNATURE-----

Merge tag 'platform-drivers-x86-v5.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver fixes from Hans de Goede:
 "A set of bug-fixes and new hardware ids.

  Highlights:

   - amd-pmc fixes

   - think-lmi fixes

   - various new hardware-ids"

* tag 'platform-drivers-x86-v5.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/x86: gigabyte-wmi: add support for B550 Aorus Elite V2
  platform/x86: intel-hid: add Alder Lake ACPI device ID
  platform/x86: think-lmi: Fix possible mem-leaks on tlmi_analyze() error-exit
  platform/x86: think-lmi: Split kobject_init() and kobject_add() calls
  platform/x86: think-lmi: Move pending_reboot_attr to the attributes sysfs dir
  platform/x86: amd-pmc: Fix undefined reference to __udivdi3
  platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd()
  platform/x86: wireless-hotkey: remove hardcoded "hp" from the error message
  platform/x86: amd-pmc: Use return code on suspend
  platform/x86: amd-pmc: Add new acpi id for future PMC controllers
  platform/x86: amd-pmc: Add support for ACPI ID AMDI0006
  platform/x86: amd-pmc: Add support for logging s0ix counters
  platform/x86: amd-pmc: Add support for logging SMU metrics
  platform/x86: amd-pmc: call dump registers only once
  platform/x86: amd-pmc: Fix SMU firmware reporting mechanism
  platform/x86: amd-pmc: Fix command completion code
  platform/x86: think-lmi: Add pending_reboot support
