]> Git Repo - linux.git/commitdiff
Merge tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform...
authorLinus Torvalds <[email protected]>
Sat, 18 Nov 2017 18:26:57 +0000 (10:26 -0800)
committerLinus Torvalds <[email protected]>
Sat, 18 Nov 2017 18:26:57 +0000 (10:26 -0800)
Pull x86 platform driver updates from Andy Shevchenko:
 "Here is the collected material against Platform Drivers x86 subsystem.
  It's rather bit busy cycle for PDx86, mostly due to Dell SMBIOS driver
  activity

  For this cycle we have quite an update for the Dell SMBIOS driver
  including WMI work to provide an interface for SMBIOS tokens via sysfs
  and WMI support for 2017+ Dell laptop models. SMM dispatcher code is
  split into a separate driver followed by a new WMI dispatcher. The
  latter provides a character device interface to user space.

  The git history also contains a merge of immutable branch from Wolfram
  Sang in order to apply a dependent fix to the Intel CherryTrail
  Battery Management driver.

  Other Intel drivers got a lot of cleanups. The Turbo Boost Max 3.0
  support is added for Intel Skylake.

  Peaq WMI hotkeys driver gets its own maintainer and white list of
  supported models.

  Silead DMI is expanded to support few additional platforms.

  Tablet mode via GMMS ACPI method is added to support some ThinkPad
  tablets.

  new driver:
   - Add driver to force WMI Thunderbolt controller power status

  asus-wmi:
   -  Add lightbar led support

  dell-laptop:
   -  Allocate buffer before rfkill use

  dell-smbios:
   -  fix string overflow
   -  Add filtering support
   -  Introduce dispatcher for SMM calls
   -  Add a sysfs interface for SMBIOS tokens
   -  only run if proper oem string is detected
   -  Prefix class/select with cmd_
   -  Add pr_fmt definition to driver

  dell-smbios-smm:
   -  test for WSMT

  dell-smbios-wmi:
   -  release mutex lock on WMI call failure
   -  introduce userspace interface
   -  Add new WMI dispatcher driver

  dell-smo8800:
   -  remove redundant assignments to byte_data

  dell-wmi:
   -  don't check length returned
   -  clean up wmi descriptor check
   -  increase severity of some failures
   -  Do not match on descriptor GUID modalias
   -  Label driver as handling notifications

  dell-*wmi*:
   -  Relay failed initial probe to dependent drivers

  dell-wmi-descriptor:
   -  check if memory was allocated
   -  split WMI descriptor into it's own driver

  fujitsu-laptop:
   -  Fix radio LED detection
   -  Don't oops when FUJ02E3 is not presnt

  hp_accel:
   -  Add quirk for HP ProBook 440 G4

  hp-wmi:
   -  Fix tablet mode detection for convertibles

  ideapad-laptop:
   -  Add Lenovo Yoga 920-13IKB to no_hw_rfkill dmi list

  intel_cht_int33fe:
   -  Update fusb302 type string, add properties
   -  make a couple of local functions static
   -  Work around BIOS bug on some devices

  intel-hid:
   -  Power button suspend on Dell Latitude 7275

  intel_ips:
   -  Convert timers to use timer_setup()
   -  Remove FSF address from GPL notice
   -  Remove unneeded fields and label
   -  Keep pointer to struct device
   -  Use PCI_VDEVICE() macro
   -  Switch to new PCI IRQ allocation API
   -  Simplify error handling via devres API

  intel_pmc_ipc:
   -  Revert Use MFD framework to create dependent devices
   -  Use MFD framework to create dependent devices
   -  Use spin_lock to protect GCR updates
   -  Use devm_* calls in driver probe function

  intel_punit_ipc:
   -  Fix resource ioremap warning

  intel_telemetry:
   -  Remove useless default in Kconfig
   -  Add needed inclusion
   -  cleanup redundant headers
   -  Fix typos
   -  Fix load failure info

  intel_telemetry_debugfs:
   -  Use standard ARRAY_SIZE() macro

  intel_turbo_max_3:
   -  Add Skylake platform

  intel-wmi-thunderbolt:
   -  Silence error cases

  mlx-platform:
   -  make a couple of structures static

  peaq_wmi:
   -  Fix missing terminating entry for peaq_dmi_table

  peaq-wmi:
   -  Remove unnecessary checks from peaq_wmi_exit
   -  Add DMI check before binding to the WMI interface
   -  Revert Blacklist Lenovo ideapad 700-15ISK
   -  Blacklist Lenovo ideapad 700-15ISK

  silead_dmi:
   -  Add silead, home-button property to some tablets
   -  Add entry for the Digma e200 tablet
   -  Fix GP-electronic T701 entry
   -  Add entry for the Chuwi Hi8 Pro tablet

  sony-laptop:
   -  Drop variable assignment in sony_nc_setup_rfkill()
   -  Fix error handling in sony_nc_setup_rfkill()

  thinkpad_acpi:
   -  Implement tablet mode using GMMS method

  tools/wmi:
   -  add a sample for dell smbios communication over WMI

  wmi:
   -  release mutex on module acquistion failure
   -  create userspace interface for drivers
   -  Don't allow drivers to get each other's GUIDs
   -  Add new method wmidev_evaluate_method
   -  Destroy on cleanup rather than unregister
   -  Cleanup exit routine in reverse order of init
   -  Sort include list"

* tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform-drivers-x86: (74 commits)
  platform/x86: silead_dmi: Add silead, home-button property to some tablets
  platform/x86: dell-laptop: Allocate buffer before rfkill use
  platform/x86: dell-*wmi*: Relay failed initial probe to dependent drivers
  platform/x86: dell-wmi-descriptor: check if memory was allocated
  platform/x86: Revert intel_pmc_ipc: Use MFD framework to create dependent devices
  platform/x86: dell-smbios-wmi: release mutex lock on WMI call failure
  platform/x86: wmi: release mutex on module acquistion failure
  platform/x86: dell-smbios: fix string overflow
  platform/x86: intel_pmc_ipc: Use MFD framework to create dependent devices
  platform/x86: intel_punit_ipc: Fix resource ioremap warning
  platform/x86: dell-smo8800: remove redundant assignments to byte_data
  platform/x86: hp-wmi: Fix tablet mode detection for convertibles
  platform/x86: intel_ips: Convert timers to use timer_setup()
  platform/x86: sony-laptop: Drop variable assignment in sony_nc_setup_rfkill()
  platform/x86: sony-laptop: Fix error handling in sony_nc_setup_rfkill()
  tools/wmi: add a sample for dell smbios communication over WMI
  platform/x86: dell-smbios-wmi: introduce userspace interface
  platform/x86: wmi: create userspace interface for drivers
  platform/x86: dell-smbios: Add filtering support
  platform/x86: dell-smbios-smm: test for WSMT
  ...

1  2 
Documentation/admin-guide/thunderbolt.rst
MAINTAINERS
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile
drivers/platform/x86/thinkpad_acpi.c
tools/Makefile

index 5c62d11d77e86f1709591ba4f3b2abd0e5530a32,dadcd66ee12f619f92554b6daab42a7af3d54cec..de50a8561774249351515662404e2a1f8328aba6
@@@ -198,26 -198,17 +198,41 @@@ information is missing
  To recover from this mode, one needs to flash a valid NVM image to the
  host host controller in the same way it is done in the previous chapter.
  
 +Networking over Thunderbolt cable
 +---------------------------------
 +Thunderbolt technology allows software communication across two hosts
 +connected by a Thunderbolt cable.
 +
 +It is possible to tunnel any kind of traffic over Thunderbolt link but
 +currently we only support Apple ThunderboltIP protocol.
 +
 +If the other host is running Windows or macOS only thing you need to
 +do is to connect Thunderbolt cable between the two hosts, the
 +``thunderbolt-net`` is loaded automatically. If the other host is also
 +Linux you should load ``thunderbolt-net`` manually on one host (it does
 +not matter which one)::
 +
 +  # modprobe thunderbolt-net
 +
 +This triggers module load on the other host automatically. If the driver
 +is built-in to the kernel image, there is no need to do anything.
 +
 +The driver will create one virtual ethernet interface per Thunderbolt
 +port which are named like ``thunderbolt0`` and so on. From this point
 +you can either use standard userspace tools like ``ifconfig`` to
 +configure the interface or let your GUI to handle it automatically.
++
+ Forcing power
+ -------------
+ Many OEMs include a method that can be used to force the power of a
+ thunderbolt controller to an "On" state even if nothing is connected.
+ If supported by your machine this will be exposed by the WMI bus with
+ a sysfs attribute called "force_power".
+ For example the intel-wmi-thunderbolt driver exposes this attribute in:
+   /sys/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/86CCFD48-205E-4A77-9C48-2021CBEDE341/force_power
+   To force the power to on, write 1 to this attribute file.
+   To disable force power, write 0 to this attribute file.
+ Note: it's currently not possible to query the force power state of a platform.
diff --combined MAINTAINERS
index 16137acd7f2fdb856951e0873273c180580cd2b0,da1851fc88a583f93ddd6a097c1391fc293eedd0..bf3cf8a8974f822c4632427e733ea245eff7ff5b
@@@ -384,6 -384,7 +384,7 @@@ ACPI WMI DRIVE
  L:    [email protected]
  S:    Orphan
  F:    drivers/platform/x86/wmi.c
+ F:    include/uapi/linux/wmi.h
  
  AD1889 ALSA SOUND DRIVER
  M:    Thibaut Varene <[email protected]>
@@@ -527,6 -528,11 +528,6 @@@ W:        http://ez.analog.com/community/linux
  S:    Supported
  F:    drivers/input/misc/adxl34x.c
  
 -AEDSP16 DRIVER
 -M:    Riccardo Facchetti <[email protected]>
 -S:    Maintained
 -F:    sound/oss/aedsp16.c
 -
  AF9013 MEDIA DRIVER
  M:    Antti Palosaari <[email protected]>
  L:    [email protected]
@@@ -695,9 -701,9 +696,9 @@@ F: include/linux/altera_uart.
  F:    include/linux/altera_jtaguart.h
  
  AMAZON ETHERNET DRIVERS
 -M:    Netanel Belgazal <netanel@annapurnalabs.com>
 -R:    Saeed Bishara <saeed@annapurnalabs.com>
 -R:    Zorik Machulsky <zorik@annapurnalabs.com>
 +M:    Netanel Belgazal <netanel@amazon.com>
 +R:    Saeed Bishara <saeedb@amazon.com>
 +R:    Zorik Machulsky <zorik@amazon.com>
  L:    [email protected]
  S:    Supported
  F:    Documentation/networking/ena.txt
@@@ -754,6 -760,8 +755,6 @@@ F: drivers/gpu/drm/amd/amdkfd
  F:    drivers/gpu/drm/amd/include/cik_structs.h
  F:    drivers/gpu/drm/amd/include/kgd_kfd_interface.h
  F:    drivers/gpu/drm/amd/include/vi_structs.h
 -F:    drivers/gpu/drm/radeon/radeon_kfd.c
 -F:    drivers/gpu/drm/radeon/radeon_kfd.h
  F:    include/uapi/linux/kfd_ioctl.h
  
  AMD SEATTLE DEVICE TREE SUPPORT
@@@ -866,7 -874,7 +867,7 @@@ F: drivers/android
  F:    drivers/staging/android/
  
  ANDROID GOLDFISH RTC DRIVER
 -M:    Miodrag Dinic <miodrag.dinic@imgtec.com>
 +M:    Miodrag Dinic <miodrag.dinic@mips.com>
  S:    Supported
  F:    Documentation/devicetree/bindings/rtc/google,goldfish-rtc.txt
  F:    drivers/rtc/rtc-goldfish.c
@@@ -1219,8 -1227,6 +1220,8 @@@ L:      [email protected]
  W:    http://www.linux4sam.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91.git
  S:    Supported
 +N:    at91
 +N:    atmel
  F:    arch/arm/mach-at91/
  F:    include/soc/at91/
  F:    arch/arm/boot/dts/at91*.dts
@@@ -1229,9 -1235,6 +1230,9 @@@ F:      arch/arm/boot/dts/sama*.dt
  F:    arch/arm/boot/dts/sama*.dtsi
  F:    arch/arm/include/debug/at91.S
  F:    drivers/memory/atmel*
 +F:    drivers/watchdog/sama5d4_wdt.c
 +X:    drivers/input/touchscreen/atmel_mxt_ts.c
 +X:    drivers/net/wireless/atmel/
  
  ARM/CALXEDA HIGHBANK ARCHITECTURE
  M:    Rob Herring <[email protected]>
@@@ -1766,7 -1769,6 +1767,7 @@@ Q:      http://patchwork.kernel.org/project/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
  S:    Supported
  F:    arch/arm64/boot/dts/renesas/
 +F:    Documentation/devicetree/bindings/arm/shmobile.txt
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
  
@@@ -1886,7 -1888,6 +1887,7 @@@ F:      arch/arm/boot/dts/sh
  F:    arch/arm/configs/shmobile_defconfig
  F:    arch/arm/include/debug/renesas-scif.S
  F:    arch/arm/mach-shmobile/
 +F:    Documentation/devicetree/bindings/arm/shmobile.txt
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
  
@@@ -1961,14 -1962,6 +1962,14 @@@ M:    Lennert Buytenhek <kernel@wantstofly
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  
 +ARM/TEGRA HDMI CEC SUBSYSTEM SUPPORT
 +M:    Hans Verkuil <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/media/platform/tegra-cec/
 +F:    Documentation/devicetree/bindings/media/tegra-cec.txt
 +
  ARM/TETON BGA MACHINE SUPPORT
  M:    "Mark F. Brown" <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -2037,7 -2030,6 +2038,7 @@@ M:      Masahiro Yamada <yamada.masahiro@soc
  L:    [email protected] (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
  F:    arch/arm/boot/dts/uniphier*
  F:    arch/arm/include/asm/hardware/cache-uniphier.h
  F:    arch/arm/mach-uniphier/
@@@ -2045,7 -2037,6 +2046,7 @@@ F:      arch/arm/mm/cache-uniphier.
  F:    arch/arm64/boot/dts/socionext/
  F:    drivers/bus/uniphier-system-bus.c
  F:    drivers/clk/uniphier/
 +F:    drivers/gpio/gpio-uniphier.c
  F:    drivers/i2c/busses/i2c-uniphier*
  F:    drivers/irqchip/irq-uniphier-aidet.c
  F:    drivers/pinctrl/uniphier/
@@@ -2146,6 -2137,7 +2147,6 @@@ F:      drivers/gpio/gpio-zx.
  F:    drivers/i2c/busses/i2c-zx2967.c
  F:    drivers/mmc/host/dw_mmc-zx.*
  F:    drivers/pinctrl/zte/
 -F:    drivers/reset/reset-zx2967.c
  F:    drivers/soc/zte/
  F:    drivers/thermal/zx2967_thermal.c
  F:    drivers/watchdog/zx2967_wdt.c
@@@ -2168,6 -2160,7 +2169,6 @@@ F:      sound/soc/zte
  
  ARM/ZYNQ ARCHITECTURE
  M:    Michal Simek <[email protected]>
 -R:    Sören Brinkmann <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  W:    http://wiki.xilinx.com
  T:    git https://github.com/Xilinx/linux-xlnx.git
@@@ -2255,7 -2248,7 +2256,7 @@@ F:      include/linux/dmaengine.
  F:    include/linux/async_tx.h
  
  AT24 EEPROM DRIVER
 -M:    Wolfram Sang <[email protected]>
 +M:    Bartosz Golaszewski <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/misc/eeprom/at24.c
@@@ -2570,12 -2563,10 +2571,12 @@@ S:   Maintaine
  F:    drivers/net/hamradio/baycom*
  
  BCACHE (BLOCK LAYER CACHE)
 +M:    Michael Lyle <[email protected]>
  M:    Kent Overstreet <[email protected]>
  L:    [email protected]
  W:    http://bcache.evilpiepirate.org
 -S:    Orphan
 +C:    irc://irc.oftc.net/bcache
 +S:    Maintained
  F:    drivers/md/bcache/
  
  BDISP ST MEDIA DRIVER
@@@ -2723,7 -2714,6 +2724,7 @@@ L:      [email protected]
  S:    Supported
  F:    arch/x86/net/bpf_jit*
  F:    Documentation/networking/filter.txt
 +F:    Documentation/bpf/
  F:    include/linux/bpf*
  F:    include/linux/filter.h
  F:    include/uapi/linux/bpf*
@@@ -2736,7 -2726,7 +2737,7 @@@ F:      net/core/filter.
  F:    net/sched/act_bpf.c
  F:    net/sched/cls_bpf.c
  F:    samples/bpf/
 -F:    tools/net/bpf*
 +F:    tools/bpf/
  F:    tools/testing/selftests/bpf/
  
  BROADCOM B44 10/100 ETHERNET DRIVER
@@@ -2907,15 -2897,7 +2908,15 @@@ S:    Supporte
  F:    drivers/gpio/gpio-brcmstb.c
  F:    Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt
  
 +BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER
 +M:    Al Cooper <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/phy/broadcom/phy-brcm-usb*
 +
  BROADCOM GENET ETHERNET DRIVER
 +M:    Doug Berger <[email protected]>
  M:    Florian Fainelli <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -2942,7 -2924,6 +2943,7 @@@ N:      bcm583
  N:    bcm585*
  N:    bcm586*
  N:    bcm88312
 +N:    hr2
  F:    arch/arm64/boot/dts/broadcom/ns2*
  F:    drivers/clk/bcm/clk-ns*
  F:    drivers/pinctrl/bcm/pinctrl-ns*
@@@ -2986,14 -2967,6 +2987,14 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/cpufreq/brcm,stb-avs-cpu-freq.txt
  F:    drivers/cpufreq/brcmstb*
  
 +BROADCOM STB AVS TMON DRIVER
 +M:    Markus Mayer <[email protected]>
 +M:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/thermal/brcm,avs-tmon.txt
 +F:    drivers/thermal/broadcom/brcmstb*
 +
  BROADCOM STB NAND FLASH DRIVER
  M:    Brian Norris <[email protected]>
  M:    Kamal Dasu <[email protected]>
  S:    Maintained
  F:    drivers/mtd/nand/brcmnand/
  
 +BROADCOM STB DPFE DRIVER
 +M:    Markus Mayer <[email protected]>
 +M:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/memory-controllers/brcm,dpfe-cpu.txt
 +F:    drivers/memory/brcmstb_dpfe.c
 +
  BROADCOM SYSTEMPORT ETHERNET DRIVER
  M:    Florian Fainelli <[email protected]>
  L:    [email protected]
@@@ -3118,6 -3083,7 +3119,6 @@@ F:      arch/c6x
  
  CA8210 IEEE-802.15.4 RADIO DRIVER
  M:    Harry Morris <[email protected]>
 -M:    [email protected]
  L:    [email protected]
  W:    https://github.com/Cascoda/ca8210-linux.git
  S:    Maintained
@@@ -3292,15 -3258,6 +3293,15 @@@ F:    include/uapi/linux/cec.
  F:    include/uapi/linux/cec-funcs.h
  F:    Documentation/devicetree/bindings/media/cec.txt
  
 +CEC GPIO DRIVER
 +M:    Hans Verkuil <[email protected]>
 +L:    [email protected]
 +T:    git git://linuxtv.org/media_tree.git
 +W:    http://linuxtv.org
 +S:    Supported
 +F:    drivers/media/platform/cec-gpio/
 +F:    Documentation/devicetree/bindings/media/cec-gpio.txt
 +
  CELL BROADBAND ENGINE ARCHITECTURE
  M:    Arnd Bergmann <[email protected]>
  L:    [email protected]
@@@ -3373,22 -3330,17 +3374,22 @@@ S:   Maintaine
  F:    drivers/auxdisplay/cfag12864bfb.c
  F:    include/linux/cfag12864b.h
  
 -CFG80211 and NL80211
 +802.11 (including CFG80211/NL80211)
  M:    Johannes Berg <[email protected]>
  L:    [email protected]
  W:    http://wireless.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  S:    Maintained
 +F:    net/wireless/
  F:    include/uapi/linux/nl80211.h
 +F:    include/linux/ieee80211.h
 +F:    include/net/wext.h
  F:    include/net/cfg80211.h
 -F:    net/wireless/*
 -X:    net/wireless/wext*
 +F:    include/net/iw_handler.h
 +F:    include/net/ieee80211_radiotap.h
 +F:    Documentation/driver-api/80211/cfg80211.rst
 +F:    Documentation/networking/regulatory.txt
  
  CHAR and MISC DRIVERS
  M:    Arnd Bergmann <[email protected]>
@@@ -3464,7 -3416,7 +3465,7 @@@ F:      drivers/scsi/snic
  CISCO VIC ETHERNET NIC DRIVER
  M:    Christian Benvenuti <[email protected]>
  M:    Govindarajulu Varadarajan <[email protected]>
 -M:    Neel Patel <neepatel@cisco.com>
 +M:    Parvi Kaustubhi <pkaustub@cisco.com>
  S:    Supported
  F:    drivers/net/ethernet/cisco/enic/
  
@@@ -3493,8 -3445,7 +3494,8 @@@ M:      Thomas Gleixner <[email protected]
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
  S:    Supported
 -F:    drivers/clocksource
 +F:    drivers/clocksource/
 +F:    Documentation/devicetree/bindings/timer/
  
  CMPC ACPI DRIVER
  M:    Thadeu Lima de Souza Cascardo <[email protected]>
@@@ -3515,7 -3466,7 +3516,7 @@@ COCCINELLE/Semantic Patches (SmPL
  M:    Julia Lawall <[email protected]>
  M:    Gilles Muller <[email protected]>
  M:    Nicolas Palix <[email protected]>
 -M:    Michal Marek <m[email protected]>
 +M:    Michal Marek <m[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
  W:    http://coccinelle.lip6.fr/
@@@ -3629,7 -3580,7 +3630,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    Documentation/cgroup-v1/cpusets.txt
  F:    include/linux/cpuset.h
 -F:    kernel/cpuset.c
 +F:    kernel/cgroup/cpuset.c
  
  CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
  M:    Johannes Weiner <[email protected]>
@@@ -3686,8 -3637,6 +3687,8 @@@ F:      drivers/cpufreq/arm_big_little_dt.
  
  CPU POWER MONITORING SUBSYSTEM
  M:    Thomas Renninger <[email protected]>
 +M:    Shuah Khan <[email protected]>
 +M:    Shuah Khan <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    tools/power/cpupower/
@@@ -3728,8 -3677,8 +3729,8 @@@ F:      drivers/cpuidle/
  F:    include/linux/cpuidle.h
  
  CRAMFS FILESYSTEM
 -W:    http://sourceforge.net/projects/cramfs/
 -S:    Orphan / Obsolete
 +M:    Nicolas Pitre <[email protected]>
 +S:    Maintained
  F:    Documentation/filesystems/cramfs.txt
  F:    fs/cramfs/
  
@@@ -4030,6 -3979,26 +4031,26 @@@ M:    "Maciej W. Rozycki" <macro@linux-mip
  S:    Maintained
  F:    drivers/net/fddi/defxx.*
  
+ DELL SMBIOS DRIVER
+ M:    Pali Rohár <[email protected]>
+ M:    Mario Limonciello <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/platform/x86/dell-smbios.*
+ DELL SMBIOS SMM DRIVER
+ M:    Mario Limonciello <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/platform/x86/dell-smbios-smm.c
+ DELL SMBIOS WMI DRIVER
+ M:    Mario Limonciello <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/platform/x86/dell-smbios-wmi.c
+ F:    tools/wmi/dell-smbios-example.c
  DELL LAPTOP DRIVER
  M:    Matthew Garrett <[email protected]>
  M:    Pali Rohár <[email protected]>
@@@ -4059,12 -4028,17 +4080,17 @@@ S:   Maintaine
  F:    Documentation/dcdbas.txt
  F:    drivers/firmware/dcdbas.*
  
- DELL WMI EXTRAS DRIVER
+ DELL WMI NOTIFICATIONS DRIVER
  M:    Matthew Garrett <[email protected]>
  M:    Pali Rohár <[email protected]>
  S:    Maintained
  F:    drivers/platform/x86/dell-wmi.c
  
+ DELL WMI DESCRIPTOR DRIVER
+ M:    Mario Limonciello <[email protected]>
+ S:    Maintained
+ F:    drivers/platform/x86/dell-wmi-descriptor.c
  DELTA ST MEDIA DRIVER
  M:    Hugues Fruchet <[email protected]>
  L:    [email protected]
@@@ -4143,8 -4117,6 +4169,8 @@@ T:      git git://git.kernel.org/pub/scm/lin
  T:    quilt http://people.redhat.com/agk/patches/linux/editing/
  S:    Maintained
  F:    Documentation/device-mapper/
 +F:    drivers/md/Makefile
 +F:    drivers/md/Kconfig
  F:    drivers/md/dm*
  F:    drivers/md/persistent-data/
  F:    include/linux/device-mapper.h
@@@ -4168,7 -4140,7 +4194,7 @@@ F:      Documentation/devicetree/bindings/mf
  F:    Documentation/devicetree/bindings/input/da90??-onkey.txt
  F:    Documentation/devicetree/bindings/thermal/da90??-thermal.txt
  F:    Documentation/devicetree/bindings/regulator/da92*.txt
 -F:    Documentation/devicetree/bindings/watchdog/da92??-wdt.txt
 +F:    Documentation/devicetree/bindings/watchdog/da90??-wdt.txt
  F:    Documentation/devicetree/bindings/sound/da[79]*.txt
  F:    drivers/gpio/gpio-da90??.c
  F:    drivers/hwmon/da90??-hwmon.c
@@@ -4216,7 -4188,7 +4242,7 @@@ L:      [email protected]
  S:    Maintained
  F:    drivers/i2c/busses/i2c-diolan-u2c.c
  
 -DIRECT ACCESS (DAX)
 +FILESYSTEM DIRECT ACCESS (DAX)
  M:    Matthew Wilcox <[email protected]>
  M:    Ross Zwisler <[email protected]>
  L:    [email protected]
@@@ -4225,12 -4197,6 +4251,12 @@@ F:    fs/dax.
  F:    include/linux/dax.h
  F:    include/trace/events/fs_dax.h
  
 +DEVICE DIRECT ACCESS (DAX)
 +M:    Dan Williams <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/dax/
 +
  DIRECTORY NOTIFICATION (DNOTIFY)
  M:    Jan Kara <[email protected]>
  R:    Amir Goldstein <[email protected]>
@@@ -4294,7 -4260,7 +4320,7 @@@ S:      Maintaine
  F:    drivers/dma/
  F:    include/linux/dmaengine.h
  F:    Documentation/devicetree/bindings/dma/
 -F:    Documentation/dmaengine/
 +F:    Documentation/driver-api/dmaengine/
  T:    git git://git.infradead.org/users/vkoul/slave-dma.git
  
  DMA MAPPING HELPERS
@@@ -4426,12 -4392,6 +4452,12 @@@ T:    git git://anongit.freedesktop.org/dr
  S:    Maintained
  F:    drivers/gpu/drm/bochs/
  
 +DRM DRIVER FOR FARADAY TVE200 TV ENCODER
 +M:    Linus Walleij <[email protected]>
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +S:    Maintained
 +F:    drivers/gpu/drm/tve200/
 +
  DRM DRIVER FOR INTEL I810 VIDEO CARDS
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/i810/
@@@ -4575,7 -4535,7 +4601,7 @@@ L:      [email protected]
  S:    Supported
  F:    drivers/gpu/drm/sun4i/
  F:    Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
  
  DRM DRIVERS FOR AMLOGIC SOCS
  M:    Neil Armstrong <[email protected]>
@@@ -4759,7 -4719,7 +4785,7 @@@ T:      git git://anongit.freedesktop.org/dr
  DRM PANEL DRIVERS
  M:    Thierry Reding <[email protected]>
  L:    [email protected]
 -T:    git git://anongit.freedesktop.org/tegra/linux.git
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
  S:    Maintained
  F:    drivers/gpu/drm/drm_panel.c
  F:    drivers/gpu/drm/panel/
  S:    Maintained
  F:    drivers/edac/highbank*
  
 -EDAC-CAVIUM
 +EDAC-CAVIUM OCTEON
  M:    Ralf Baechle <[email protected]>
  M:    David Daney <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/edac/octeon_edac*
 +
 +EDAC-CAVIUM THUNDERX
 +M:    David Daney <[email protected]>
 +M:    Jan Glauber <[email protected]>
 +L:    [email protected]
 +S:    Supported
  F:    drivers/edac/thunderx_edac*
  
  EDAC-CORE
@@@ -5224,7 -5178,7 +5250,7 @@@ F:      drivers/video/fbdev/s1d13xxxfb.
  F:    include/video/s1d13xxxfb.h
  
  ERRSEQ ERROR TRACKING INFRASTRUCTURE
 -M:    Jeff Layton <jlayton@poochiereds.net>
 +M:    Jeff Layton <jlayton@kernel.org>
  S:    Maintained
  F:    lib/errseq.c
  F:    include/linux/errseq.h
@@@ -5285,7 -5239,8 +5311,7 @@@ F:      fs/ext4
  
  Extended Verification Module (EVM)
  M:    Mimi Zohar <[email protected]>
 -L:    [email protected]
 -L:    [email protected]
 +L:    [email protected]
  S:    Supported
  F:    security/integrity/evm/
  
@@@ -5412,7 -5367,7 +5438,7 @@@ F:      include/scsi/libfcoe.
  F:    include/uapi/scsi/fc/
  
  FILE LOCKING (flock() and fcntl()/lockf())
 -M:    Jeff Layton <jlayton@poochiereds.net>
 +M:    Jeff Layton <jlayton@kernel.org>
  M:    "J. Bruce Fields" <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -5502,7 -5457,7 +5528,7 @@@ K:      fmc_d.*registe
  
  FPGA MANAGER FRAMEWORK
  M:    Alan Tull <[email protected]>
 -R:    Moritz Fischer <[email protected]>
 +M:    Moritz Fischer <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/atull/linux-fpga.git
@@@ -5527,7 -5482,6 +5553,7 @@@ F:      drivers/net/wan/sdla.
  
  FRAMEBUFFER LAYER
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  T:    git git://github.com/bzolnier/linux.git
  Q:    http://patchwork.kernel.org/project/linux-fbdev/list/
@@@ -5541,7 -5495,7 +5567,7 @@@ F:      include/uapi/linux/fb.
  
  FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER
  M:    Horia Geantă <[email protected]>
 -M:    Dan Douglass <dan.douglass@nxp.com>
 +M:    Aymen Sghaier <aymen.sghaier@nxp.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/crypto/caam/
@@@ -5721,7 -5675,6 +5747,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    fs/crypto/
  F:    include/linux/fscrypt*.h
 +F:    Documentation/filesystems/fscrypt.rst
  
  FUJITSU FR-V (FRV) PORT
  S:    Orphan
@@@ -6315,13 -6268,6 +6341,13 @@@ S:    Maintaine
  F:    drivers/net/ethernet/hisilicon/
  F:    Documentation/devicetree/bindings/net/hisilicon*.txt
  
 +HISILICON PMU DRIVER
 +M:    Shaokun Zhang <[email protected]>
 +W:    http://www.hisilicon.com
 +S:    Supported
 +F:    drivers/perf/hisilicon
 +F:    Documentation/perf/hisi-pmu.txt
 +
  HISILICON ROCE DRIVER
  M:    Lijun Ou <[email protected]>
  M:    Wei Hu(Xavier) <[email protected]>
@@@ -6751,7 -6697,7 +6777,7 @@@ F:      include/net/ieee802154_netdev.
  F:    Documentation/networking/ieee802154.txt
  
  IFE PROTOCOL
 -M:    Yotam Gigi <yotamg@mellanox.com>
 +M:    Yotam Gigi <yotam.gi@gmail.com>
  M:    Jamal Hadi Salim <[email protected]>
  F:    net/ife
  F:    include/net/ife.h
@@@ -6813,7 -6759,7 +6839,7 @@@ S:      Maintaine
  F:    drivers/usb/atm/ueagle-atm.c
  
  IMGTEC ASCII LCD DRIVER
 -M:    Paul Burton <paul.burton@imgtec.com>
 +M:    Paul Burton <paul.burton@mips.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/auxdisplay/img-ascii-lcd.txt
  F:    drivers/auxdisplay/img-ascii-lcd.c
@@@ -6855,7 -6801,8 +6881,7 @@@ F:      drivers/ipack
  
  INFINIBAND SUBSYSTEM
  M:    Doug Ledford <[email protected]>
 -M:    Sean Hefty <[email protected]>
 -M:    Hal Rosenstock <[email protected]>
 +M:    Jason Gunthorpe <[email protected]>
  L:    [email protected]
  W:    http://www.openfabrics.org/
  Q:    http://patchwork.kernel.org/project/linux-rdma/list/
@@@ -6920,7 -6867,9 +6946,7 @@@ L:      [email protected]
  INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
  M:    Mimi Zohar <[email protected]>
  M:    Dmitry Kasatkin <[email protected]>
 -L:    [email protected]
 -L:    [email protected]
 -L:    [email protected]
 +L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git
  S:    Supported
  F:    security/integrity/ima/
@@@ -7181,6 -7130,11 +7207,11 @@@ F:    Documentation/wimax/README.i2400
  F:    drivers/net/wimax/i2400m/
  F:    include/uapi/linux/wimax/i2400m.h
  
+ INTEL WMI THUNDERBOLT FORCE POWER DRIVER
+ M:    Mario Limonciello <[email protected]>
+ S:    Maintained
+ F:    drivers/platform/x86/intel-wmi-thunderbolt.c
  INTEL(R) TRACE HUB
  M:    Alexander Shishkin <[email protected]>
  S:    Supported
@@@ -7510,8 -7464,10 +7541,8 @@@ F:     mm/kasan
  F:    scripts/Makefile.kasan
  
  KCONFIG
 -M:    "Yann E. MORIN" <[email protected]>
  L:    [email protected]
 -T:    git git://gitorious.org/linux-kconfig/linux-kconfig
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/kbuild/kconfig-language.txt
  F:    scripts/kconfig/
  
@@@ -7540,7 -7496,7 +7571,7 @@@ F:      fs/autofs4
  
  KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
  M:    Masahiro Yamada <[email protected]>
 -M:    Michal Marek <m[email protected]>
 +M:    Michal Marek <m[email protected]>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
  L:    [email protected]
  S:    Maintained
@@@ -7558,7 -7514,7 +7589,7 @@@ S:      Odd Fixe
  
  KERNEL NFSD, SUNRPC, AND LOCKD SERVERS
  M:    "J. Bruce Fields" <[email protected]>
 -M:    Jeff Layton <jlayton@poochiereds.net>
 +M:    Jeff Layton <jlayton@kernel.org>
  L:    [email protected]
  W:    http://nfs.sourceforge.net/
  T:    git git://linux-nfs.org/~bfields/linux.git
@@@ -7679,7 -7635,6 +7710,7 @@@ S:      Supporte
  F:    arch/x86/kvm/
  F:    arch/x86/include/uapi/asm/kvm*
  F:    arch/x86/include/asm/kvm*
 +F:    arch/x86/include/asm/pvclock-abi.h
  F:    arch/x86/kernel/kvm.c
  F:    arch/x86/kernel/kvmclock.c
  
@@@ -7702,7 -7657,8 +7733,7 @@@ F:      kernel/kexec
  
  KEYS-ENCRYPTED
  M:    Mimi Zohar <[email protected]>
 -M:    David Safford <[email protected]>
 -L:    [email protected]
 +L:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    Documentation/security/keys/trusted-encrypted.rst
@@@ -7710,8 -7666,9 +7741,8 @@@ F:      include/keys/encrypted-type.
  F:    security/keys/encrypted-keys/
  
  KEYS-TRUSTED
 -M:    David Safford <[email protected]>
  M:    Mimi Zohar <[email protected]>
 -L:    linux-security-module@vger.kernel.org
 +L:    linux-integrity@vger.kernel.org
  L:    [email protected]
  S:    Supported
  F:    Documentation/security/keys/trusted-encrypted.rst
@@@ -7744,6 -7701,16 +7775,6 @@@ F:     include/linux/kdb.
  F:    include/linux/kgdb.h
  F:    kernel/debug/
  
 -KMEMCHECK
 -M:    Vegard Nossum <[email protected]>
 -M:    Pekka Enberg <[email protected]>
 -S:    Maintained
 -F:    Documentation/dev-tools/kmemcheck.rst
 -F:    arch/x86/include/asm/kmemcheck.h
 -F:    arch/x86/mm/kmemcheck/
 -F:    include/linux/kmemcheck.h
 -F:    mm/kmemcheck.c
 -
  KMEMLEAK
  M:    Catalin Marinas <[email protected]>
  S:    Maintained
@@@ -7809,11 -7776,6 +7840,11 @@@ S:    Maintaine
  F:    Documentation/scsi/53c700.txt
  F:    drivers/scsi/53c700*
  
 +LEAKING_ADDRESSES
 +M:    Tobin C. Harding <[email protected]>
 +S:    Maintained
 +F:    scripts/leaking_addresses.pl
 +
  LED SUBSYSTEM
  M:    Richard Purdie <[email protected]>
  M:    Jacek Anaszewski <[email protected]>
@@@ -8277,7 -8239,6 +8308,7 @@@ F:      Documentation/networking/mac80211-in
  F:    include/net/mac80211.h
  F:    net/mac80211/
  F:    drivers/net/wireless/mac80211_hwsim.[ch]
 +F:    Documentation/networking/mac80211_hwsim/README
  
  MAILBOX API
  M:    Jassi Brar <[email protected]>
@@@ -8813,7 -8774,7 +8844,7 @@@ Q:      http://patchwork.ozlabs.org/project/
  F:    drivers/net/ethernet/mellanox/mlxsw/
  
  MELLANOX FIRMWARE FLASH LIBRARY (mlxfw)
 -M:    Yotam Gigi <[email protected]>
 +M:    [email protected]
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
@@@ -9063,7 -9024,7 +9094,7 @@@ F:      Documentation/mips
  F:    arch/mips/
  
  MIPS BOSTON DEVELOPMENT BOARD
 -M:    Paul Burton <paul.burton@imgtec.com>
 +M:    Paul Burton <paul.burton@mips.com>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/clock/img,boston-clock.txt
@@@ -9073,7 -9034,7 +9104,7 @@@ F:      drivers/clk/imgtec/clk-boston.
  F:    include/dt-bindings/clock/boston-clock.h
  
  MIPS GENERIC PLATFORM
 -M:    Paul Burton <paul.burton@imgtec.com>
 +M:    Paul Burton <paul.burton@mips.com>
  L:    [email protected]
  S:    Supported
  F:    arch/mips/generic/
@@@ -9089,7 -9050,7 +9120,7 @@@ F:      drivers/*/*loongson1
  F:    drivers/*/*/*loongson1*
  
  MIPS RINT INSTRUCTION EMULATION
 -M:    Aleksandar Markovic <aleksandar.markovic@imgtec.com>
 +M:    Aleksandar Markovic <aleksandar.markovic@mips.com>
  L:    [email protected]
  S:    Supported
  F:    arch/mips/math-emu/sp_rint.c
@@@ -9269,6 -9230,12 +9300,6 @@@ F:     include/linux/dt-bindings/mux
  F:    include/linux/mux/
  F:    drivers/mux/
  
 -MULTISOUND SOUND DRIVER
 -M:    Andrew Veliath <[email protected]>
 -S:    Maintained
 -F:    Documentation/sound/oss/MultiSound
 -F:    sound/oss/msnd*
 -
  MULTITECH MULTIPORT CARD (ISICOM)
  S:    Orphan
  F:    drivers/tty/isicom.c
@@@ -9472,7 -9439,6 +9503,7 @@@ M:      Florian Fainelli <[email protected]
  S:    Maintained
  F:    net/dsa/
  F:    include/net/dsa.h
 +F:    include/linux/dsa/
  F:    drivers/net/dsa/
  
  NETWORKING [GENERAL]
@@@ -9493,8 -9459,8 +9524,8 @@@ F:      include/uapi/linux/in.
  F:    include/uapi/linux/net.h
  F:    include/uapi/linux/netdevice.h
  F:    include/uapi/linux/net_namespace.h
 -F:    tools/net/
  F:    tools/testing/selftests/net/
 +F:    lib/net_utils.c
  F:    lib/random32.c
  
  NETWORKING [IPSEC]
@@@ -10096,11 -10062,7 +10127,11 @@@ T: git git://github.com/openrisc/linux.
  L:    [email protected]
  W:    http://openrisc.io
  S:    Maintained
 +F:    Documentation/devicetree/bindings/openrisc/
 +F:    Documentation/openrisc/
  F:    arch/openrisc/
 +F:    drivers/irqchip/irq-ompic.c
 +F:    drivers/irqchip/irq-or1k-*
  
  OPENVSWITCH
  M:    Pravin Shelar <[email protected]>
@@@ -10118,7 -10080,7 +10149,7 @@@ M:   Stephen Boyd <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git
 -F:    drivers/base/power/opp/
 +F:    drivers/opp/
  F:    include/linux/pm_opp.h
  F:    Documentation/power/opp.txt
  F:    Documentation/devicetree/bindings/opp/
@@@ -10248,6 -10210,7 +10279,6 @@@ F:   Documentation/parport*.tx
  
  PARAVIRT_OPS INTERFACE
  M:    Juergen Gross <[email protected]>
 -M:    Chris Wright <[email protected]>
  M:    Alok Kataria <[email protected]>
  M:    Rusty Russell <[email protected]>
  L:    [email protected]
@@@ -10405,6 -10368,7 +10436,6 @@@ F:   drivers/pci/host/vmd.
  
  PCI DRIVER FOR MICROSEMI SWITCHTEC
  M:    Kurt Schwemmer <[email protected]>
 -M:    Stephen Bates <[email protected]>
  M:    Logan Gunthorpe <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -10469,7 -10433,6 +10500,7 @@@ F:   drivers/pci/dwc/*keystone
  
  PCI ENDPOINT SUBSYSTEM
  M:    Kishon Vijay Abraham I <[email protected]>
 +M:    Lorenzo Pieralisi <[email protected]>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kishon/pci-endpoint.git
  S:    Supported
@@@ -10521,15 -10484,6 +10552,15 @@@ F: include/linux/pci
  F:    arch/x86/pci/
  F:    arch/x86/kernel/quirks.c
  
 +PCI NATIVE HOST BRIDGE AND ENDPOINT DRIVERS
 +M:    Lorenzo Pieralisi <[email protected]>
 +L:    [email protected]
 +Q:    http://patchwork.ozlabs.org/project/linux-pci/list/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/
 +S:    Supported
 +F:    drivers/pci/host/
 +F:    drivers/pci/dwc/
 +
  PCIE DRIVER FOR AXIS ARTPEC
  M:    Niklas Cassel <[email protected]>
  M:    Jesper Nilsson <[email protected]>
@@@ -10549,6 -10503,7 +10580,6 @@@ F:   drivers/pci/host/pci-thunder-
  
  PCIE DRIVER FOR HISILICON
  M:    Zhou Wang <[email protected]>
 -M:    Gabriele Paoloni <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
@@@ -10562,14 -10517,6 +10593,14 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/pci/pcie-kirin.txt
  F:    drivers/pci/dwc/pcie-kirin.c
  
 +PCIE DRIVER FOR HISILICON STB
 +M:    Jianguo Sun <[email protected]>
 +M:    Shawn Guo <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/hisilicon-histb-pcie.txt
 +F:    drivers/pci/dwc/pcie-histb.c
 +
  PCIE DRIVER FOR MEDIATEK
  M:    Ryder Lee <[email protected]>
  L:    [email protected]
@@@ -10593,13 -10540,6 +10624,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/pci/rockchip-pcie.txt
  F:    drivers/pci/host/pcie-rockchip.c
  
 +PCI DRIVER FOR V3 SEMICONDUCTOR V360EPC
 +M:    Linus Walleij <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/v3-v360epc-pci.txt
 +F:    drivers/pci/host/pci-v3-semi.c
 +
  PCIE DRIVER FOR ST SPEAR13XX
  M:    Pratyush Anand <[email protected]>
  L:    [email protected]
@@@ -10630,6 -10570,12 +10661,12 @@@ S: Maintaine
  F:    crypto/pcrypt.c
  F:    include/crypto/pcrypt.h
  
+ PEAQ WMI HOTKEYS DRIVER
+ M:    Hans de Goede <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/platform/x86/peaq-wmi.c
  PER-CPU MEMORY ALLOCATOR
  M:    Tejun Heo <[email protected]>
  M:    Christoph Lameter <[email protected]>
@@@ -10743,7 -10689,6 +10780,7 @@@ PIN CONTROLLER - RENESA
  M:    Laurent Pinchart <[email protected]>
  M:    Geert Uytterhoeven <[email protected]>
  L:    [email protected]
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git sh-pfc
  S:    Maintained
  F:    drivers/pinctrl/sh-pfc/
  
@@@ -10776,9 -10721,10 +10813,9 @@@ S:  Maintaine
  F:    drivers/pinctrl/spear/
  
  PISTACHIO SOC SUPPORT
 -M:    James Hartley <[email protected]>
 -M:    Ionela Voinescu <[email protected]>
 +M:    James Hartley <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Odd Fixes
  F:    arch/mips/pistachio/
  F:    arch/mips/include/asm/mach-pistachio/
  F:    arch/mips/boot/dts/img/pistachio*
@@@ -10982,7 -10928,7 +11019,7 @@@ S:   Maintaine
  F:    drivers/block/ps3vram.c
  
  PSAMPLE PACKET SAMPLING SUPPORT:
 -M:    Yotam Gigi <yotamg@mellanox.com>
 +M:    Yotam Gigi <yotam.gi@gmail.com>
  S:    Maintained
  F:    net/psample
  F:    include/net/psample.h
@@@ -11125,6 -11071,7 +11162,6 @@@ F:   drivers/mtd/nand/pxa3xx_nand.
  
  QAT DRIVER
  M:    Giovanni Cabiddu <[email protected]>
 -M:    Salvatore Benedetto <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/crypto/qat/
@@@ -11172,7 -11119,6 +11209,7 @@@ F:   drivers/net/ethernet/qlogic/qede
  
  QLOGIC QL4xxx RDMA DRIVER
  M:    Ram Amrani <[email protected]>
 +M:    Michal Kalderon <[email protected]>
  M:    Ariel Elior <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -11543,7 -11489,6 +11580,7 @@@ F:   include/linux/rpmsg
  RENESAS CLOCK DRIVERS
  M:    Geert Uytterhoeven <[email protected]>
  L:    [email protected]
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git clk-renesas
  S:    Supported
  F:    drivers/clk/renesas/
  
@@@ -11586,7 -11531,6 +11623,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  S:    Maintained
  F:    Documentation/rfkill.txt
 +F:    Documentation/ABI/stable/sysfs-class-rfkill
  F:    net/rfkill/
  
  RHASHTABLE
@@@ -11608,16 -11552,6 +11645,16 @@@ S: Maintaine
  F:    drivers/mtd/nand/r852.c
  F:    drivers/mtd/nand/r852.h
  
 +RISC-V ARCHITECTURE
 +M:    Palmer Dabbelt <[email protected]>
 +M:    Albert Ou <[email protected]>
 +L:    [email protected]
 +T:    git https://github.com/riscv/riscv-linux
 +S:    Supported
 +F:    arch/riscv/
 +K:    riscv
 +N:    riscv
 +
  ROCCAT DRIVERS
  M:    Stefan Achatz <[email protected]>
  W:    http://sourceforge.net/projects/roccat/
@@@ -11626,13 -11560,6 +11663,13 @@@ F: drivers/hid/hid-roccat
  F:    include/linux/hid-roccat*
  F:    Documentation/ABI/*/sysfs-driver-hid-roccat*
  
 +ROCKCHIP RASTER 2D GRAPHIC ACCELERATION UNIT DRIVER
 +M:    Jacob chen <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/media/platform/rockchip/rga/
 +F:    Documentation/devicetree/bindings/media/rockchip-rga.txt
 +
  ROCKER DRIVER
  M:    Jiri Pirko <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/crypto/exynos-rng.c
 -F:    Documentation/devicetree/bindings/rng/samsung,exynos-rng4.txt
 +F:    Documentation/devicetree/bindings/crypto/samsung,exynos-rng4.txt
  
  SAMSUNG FRAMEBUFFER DRIVER
  M:    Jingoo Han <[email protected]>
@@@ -12160,15 -12087,10 +12197,15 @@@ L:        [email protected]
  S:    Maintained
  F:    drivers/mmc/host/sdhci-spear.c
  
 +SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) TI OMAP DRIVER
 +M:    Kishon Vijay Abraham I <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/mmc/host/sdhci-omap.c
 +
  SECURE ENCRYPTING DEVICE (SED) OPAL DRIVER
  M:    Scott Bauer <[email protected]>
  M:    Jonathan Derrick <[email protected]>
 -M:    Rafael Antognolli <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    block/sed*
@@@ -12569,10 -12491,7 +12606,10 @@@ M: Shaohua Li <[email protected]
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shli/md.git
  S:    Supported
 -F:    drivers/md/
 +F:    drivers/md/Makefile
 +F:    drivers/md/Kconfig
 +F:    drivers/md/md*
 +F:    drivers/md/raid*
  F:    include/linux/raid/
  F:    include/uapi/linux/raid/
  
  S:    Supported
  F:    Documentation/process/stable-kernel-rules.rst
  
 +STAGING - ATOMISP DRIVER
 +M:    Alan Cox <[email protected]>
 +M:    Sakari Ailus <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/staging/media/atomisp/
 +
  STAGING - COMEDI
  M:    Ian Abbott <[email protected]>
  M:    H Hartley Sweeten <[email protected]>
@@@ -13032,22 -12944,9 +13069,22 @@@ F: arch/arc/plat-axs10
  F:    arch/arc/boot/dts/ax*
  F:    Documentation/devicetree/bindings/arc/axs10*
  
 +SYNOPSYS AXS10x RESET CONTROLLER DRIVER
 +M:    Eugeniy Paltsev <[email protected]>
 +S:    Supported
 +F:    drivers/reset/reset-axs10x.c
 +F:    Documentation/devicetree/bindings/reset/snps,axs10x-reset.txt
 +
 +SYNOPSYS DESIGNWARE APB GPIO DRIVER
 +M:    Hoan Tran <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/gpio/gpio-dwapb.c
 +F:    Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt
 +
  SYNOPSYS DESIGNWARE DMAC DRIVER
  M:    Viresh Kumar <[email protected]>
 -M:    Andy Shevchenko <[email protected]>
 +R:    Andy Shevchenko <[email protected]>
  S:    Maintained
  F:    include/linux/dma/dw.h
  F:    include/linux/platform_data/dma-dw.h
@@@ -13428,18 -13327,8 +13465,18 @@@ M: Andreas Noever <andreas.noever@gmail
  M:    Michael Jamet <[email protected]>
  M:    Mika Westerberg <[email protected]>
  M:    Yehezkel Bernat <[email protected]>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt.git
  S:    Maintained
  F:    drivers/thunderbolt/
 +F:    include/linux/thunderbolt.h
 +
 +THUNDERBOLT NETWORK DRIVER
 +M:    Michael Jamet <[email protected]>
 +M:    Mika Westerberg <[email protected]>
 +M:    Yehezkel Bernat <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/thunderbolt.c
  
  THUNDERX GPIO DRIVER
  M:    David Daney <[email protected]>
@@@ -13748,14 -13637,23 +13785,14 @@@ F:        drivers/platform/x86/toshiba-wmi.
  
  TPM DEVICE DRIVER
  M:    Peter Huewe <[email protected]>
 -M:    Marcel Selhorst <[email protected]>
  M:    Jarkko Sakkinen <[email protected]>
  R:    Jason Gunthorpe <[email protected]>
 -W:    http://tpmdd.sourceforge.net
 -L:    [email protected] (moderated for non-subscribers)
 -Q:    https://patchwork.kernel.org/project/tpmdd-devel/list/
 +L:    [email protected]
 +Q:    https://patchwork.kernel.org/project/linux-integrity/list/
  T:    git git://git.infradead.org/users/jjs/linux-tpmdd.git
  S:    Maintained
  F:    drivers/char/tpm/
  
 -TPM IBM_VTPM DEVICE DRIVER
 -M:    Ashley Lai <[email protected]>
 -W:    http://tpmdd.sourceforge.net
 -L:    [email protected] (moderated for non-subscribers)
 -S:    Maintained
 -F:    drivers/char/tpm/tpm_ibmvtpm*
 -
  TRACING
  M:    Steven Rostedt <[email protected]>
  M:    Ingo Molnar <[email protected]>
@@@ -13896,7 -13794,7 +13933,7 @@@ UDRAW TABLE
  M:    Bastien Nocera <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    drivers/hid/hid-udraw.c
 +F:    drivers/hid/hid-udraw-ps3.c
  
  UFS FILESYSTEM
  M:    Evgeniy Dushistov <[email protected]>
@@@ -14419,15 -14317,12 +14456,15 @@@ S:        Maintaine
  F:    include/linux/virtio_vsock.h
  F:    include/uapi/linux/virtio_vsock.h
  F:    include/uapi/linux/vsockmon.h
 +F:    include/uapi/linux/vm_sockets_diag.h
 +F:    net/vmw_vsock/diag.c
  F:    net/vmw_vsock/af_vsock_tap.c
  F:    net/vmw_vsock/virtio_transport_common.c
  F:    net/vmw_vsock/virtio_transport.c
  F:    drivers/net/vsockmon.c
  F:    drivers/vhost/vsock.c
  F:    drivers/vhost/vsock.h
 +F:    tools/testing/vsock/
  
  VIRTIO CONSOLE DRIVER
  M:    Amit Shah <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/s390/virtio/
 +F:    arch/s390/include/uapi/asm/virtio-ccw.h
  
  VIRTIO GPU DRIVER
  M:    David Airlie <[email protected]>
@@@ -14524,7 -14418,7 +14561,7 @@@ M:   Manohar Vanga <[email protected]
  M:    Greg Kroah-Hartman <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
  F:    Documentation/driver-api/vme.rst
  F:    drivers/staging/vme/
  F:    drivers/vme/
  S:    Supported
  W:    http://wireless.kernel.org/en/users/Drivers/wil6210
  F:    drivers/net/wireless/ath/wil6210/
 -F:    include/uapi/linux/wil6210_uapi.h
  
  WIMAX STACK
  M:    Inaky Perez-Gonzalez <[email protected]>
@@@ -14741,7 -14636,6 +14778,7 @@@ F:   Documentation/devicetree/bindings/ex
  F:    Documentation/devicetree/bindings/regulator/arizona-regulator.txt
  F:    Documentation/devicetree/bindings/mfd/arizona.txt
  F:    Documentation/devicetree/bindings/mfd/wm831x.txt
 +F:    Documentation/devicetree/bindings/sound/wlf,arizona.txt
  F:    arch/arm/mach-s3c64xx/mach-crag6410*
  F:    drivers/clk/clk-wm83*.c
  F:    drivers/extcon/extcon-arizona.c
@@@ -14875,7 -14769,6 +14912,7 @@@ F:   arch/x86/xen
  F:    drivers/*/xen-*front.c
  F:    drivers/xen/
  F:    arch/x86/include/asm/xen/
 +F:    arch/x86/include/asm/pvclock-abi.h
  F:    include/xen/
  F:    include/uapi/xen/
  F:    Documentation/ABI/stable/sysfs-hypervisor-xen
index 09dac11337d10bf6abebb836a6db93b6abc5dd4b,1157efcc28c70a4c61ff94f2ba2198d58b89c86f..344c78f0a5c4da0a7e02cba046b6543310a198cc
@@@ -93,12 -93,33 +93,33 @@@ config ASUS_LAPTO
  
  config DELL_SMBIOS
        tristate
-       select DCDBAS
+ config DELL_SMBIOS_WMI
+       tristate "Dell SMBIOS calling interface (WMI implementation)"
+       depends on ACPI_WMI
+       select DELL_WMI_DESCRIPTOR
+       default ACPI_WMI
+       select DELL_SMBIOS
+       ---help---
+       This provides an implementation for the Dell SMBIOS calling interface
+       communicated over ACPI-WMI.
+       If you have a Dell computer from >2007 you should say Y or M here.
+       If you aren't sure and this module doesn't work for your computer
+       it just won't load.
+ config DELL_SMBIOS_SMM
+       tristate "Dell SMBIOS calling interface (SMM implementation)"
+       depends on DCDBAS
+       default DCDBAS
+       select DELL_SMBIOS
        ---help---
-       This module provides common functions for kernel modules using
-       Dell SMBIOS.
+       This provides an implementation for the Dell SMBIOS calling interface
+       communicated over SMI/SMM.
  
-       If you have a Dell laptop, say Y or M here.
+       If you have a Dell computer from <=2017 you should say Y or M here.
+       If you aren't sure and this module doesn't work for your computer
+       it just won't load.
  
  config DELL_LAPTOP
        tristate "Dell Laptop Extras"
        laptops (except for some models covered by the Compal driver).
  
  config DELL_WMI
-       tristate "Dell WMI extras"
+       tristate "Dell WMI notifications"
        depends on ACPI_WMI
        depends on DMI
        depends on INPUT
        depends on ACPI_VIDEO || ACPI_VIDEO = n
+       select DELL_WMI_DESCRIPTOR
        select DELL_SMBIOS
        select INPUT_SPARSEKMAP
        ---help---
          To compile this driver as a module, choose M here: the module will
          be called dell-wmi.
  
+ config DELL_WMI_DESCRIPTOR
+       tristate
+       depends on ACPI_WMI
  config DELL_WMI_AIO
        tristate "WMI Hotkeys for Dell All-In-One series"
        depends on ACPI_WMI
@@@ -658,6 -684,19 +684,19 @@@ config WMI_BMO
          To compile this driver as a module, choose M here: the module will
          be called wmi-bmof.
  
+ config INTEL_WMI_THUNDERBOLT
+       tristate "Intel WMI thunderbolt force power driver"
+       depends on ACPI_WMI
+       default ACPI_WMI
+       ---help---
+         Say Y here if you want to be able to use the WMI interface on select
+         systems to force the power control of Intel Thunderbolt controllers.
+         This is useful for updating the firmware when devices are not plugged
+         into the controller.
+         To compile this driver as a module, choose M here: the module will
+         be called intel-wmi-thunderbolt.
  config MSI_WMI
        tristate "MSI WMI extras"
        depends on ACPI_WMI
@@@ -774,7 -813,7 +813,7 @@@ config TOSHIBA_WM
          WARNING: This driver is incomplete as it lacks a proper keymap and the
          *notify function only prints the ACPI event type value. Be warned that
          you will need to provide some information if you have a Toshiba model
 -        with WMI event hotkeys and want to help with the develpment of this
 +        with WMI event hotkeys and want to help with the development of this
          driver.
  
          If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
@@@ -793,7 -832,7 +832,7 @@@ config ACPI_CMP
  
  config INTEL_CHT_INT33FE
        tristate "Intel Cherry Trail ACPI INT33FE Driver"
-       depends on X86 && ACPI && I2C
+       depends on X86 && ACPI && I2C && REGULATOR
        ---help---
          This driver add support for the INT33FE ACPI device found on
          some Intel Cherry Trail devices.
          This driver instantiates i2c-clients for these, so that standard
          i2c drivers for these chips can bind to the them.
  
+         If you enable this driver it is advised to also select
+         CONFIG_TYPEC_FUSB302=m, CONFIG_CHARGER_BQ24190=m and
+         CONFIG_BATTERY_MAX17042=m.
  config INTEL_INT0002_VGPIO
        tristate "Intel ACPI INT0002 Virtual GPIO driver"
        depends on GPIOLIB && ACPI
@@@ -1088,7 -1131,6 +1131,6 @@@ config INTEL_PUNIT_IP
  
  config INTEL_TELEMETRY
        tristate "Intel SoC Telemetry Driver"
-       default n
        depends on INTEL_PMC_IPC && INTEL_PUNIT_IPC && X86_64
        ---help---
          This driver provides interfaces to configure and use
index f9e3ae683bbe3729757d36f19e02df3c2c5ea8f9,1c4234861de06603e94892875445aef00ee7fda1..c32b34a724679435d134615c42a9c3f3855cf463
@@@ -1,4 -1,3 +1,4 @@@
 +# SPDX-License-Identifier: GPL-2.0
  #
  # Makefile for linux/drivers/platform/x86
  # x86 Platform-Specific Drivers
@@@ -13,8 -12,11 +13,11 @@@ obj-$(CONFIG_MSI_LAPTOP)    += msi-laptop.
  obj-$(CONFIG_ACPI_CMPC)               += classmate-laptop.o
  obj-$(CONFIG_COMPAL_LAPTOP)   += compal-laptop.o
  obj-$(CONFIG_DELL_SMBIOS)     += dell-smbios.o
+ obj-$(CONFIG_DELL_SMBIOS_WMI) += dell-smbios-wmi.o
+ obj-$(CONFIG_DELL_SMBIOS_SMM) += dell-smbios-smm.o
  obj-$(CONFIG_DELL_LAPTOP)     += dell-laptop.o
  obj-$(CONFIG_DELL_WMI)                += dell-wmi.o
+ obj-$(CONFIG_DELL_WMI_DESCRIPTOR)     += dell-wmi-descriptor.o
  obj-$(CONFIG_DELL_WMI_AIO)    += dell-wmi-aio.o
  obj-$(CONFIG_DELL_WMI_LED)    += dell-wmi-led.o
  obj-$(CONFIG_DELL_SMO8800)    += dell-smo8800.o
@@@ -40,6 -42,7 +43,7 @@@ obj-$(CONFIG_PEAQ_WMI)                += peaq-wmi.
  obj-$(CONFIG_SURFACE3_WMI)    += surface3-wmi.o
  obj-$(CONFIG_TOPSTAR_LAPTOP)  += topstar-laptop.o
  obj-$(CONFIG_WMI_BMOF)                += wmi-bmof.o
+ obj-$(CONFIG_INTEL_WMI_THUNDERBOLT)   += intel-wmi-thunderbolt.o
  
  # toshiba_acpi must link after wmi to ensure that wmi devices are found
  # before toshiba_acpi initializes
index 3887dfeafc964522e43c077534bf62e0747f7dcf,91fab1a13a6d9d62fb4bb5f712d24d0bcaadd06d..117be48ff4de9a3a70df898565cf6495e92d7ddd
@@@ -310,8 -310,7 +310,7 @@@ static struct 
        enum {
                TP_HOTKEY_TABLET_NONE = 0,
                TP_HOTKEY_TABLET_USES_MHKG,
-               /* X1 Yoga 2016, seen on BIOS N1FET44W */
-               TP_HOTKEY_TABLET_USES_CMMD,
+               TP_HOTKEY_TABLET_USES_GMMS,
        } hotkey_tablet;
        u32 kbdlight:1;
        u32 light:1;
@@@ -2044,8 -2043,28 +2043,28 @@@ static void hotkey_poll_setup(const boo
  
  /* HKEY.MHKG() return bits */
  #define TP_HOTKEY_TABLET_MASK (1 << 3)
- /* ThinkPad X1 Yoga (2016) */
- #define TP_EC_CMMD_TABLET_MODE 0x6
+ enum {
+       TP_ACPI_MULTI_MODE_INVALID      = 0,
+       TP_ACPI_MULTI_MODE_UNKNOWN      = 1 << 0,
+       TP_ACPI_MULTI_MODE_LAPTOP       = 1 << 1,
+       TP_ACPI_MULTI_MODE_TABLET       = 1 << 2,
+       TP_ACPI_MULTI_MODE_FLAT         = 1 << 3,
+       TP_ACPI_MULTI_MODE_STAND        = 1 << 4,
+       TP_ACPI_MULTI_MODE_TENT         = 1 << 5,
+       TP_ACPI_MULTI_MODE_STAND_TENT   = 1 << 6,
+ };
+ enum {
+       /* The following modes are considered tablet mode for the purpose of
+        * reporting the status to userspace. i.e. in all these modes it makes
+        * sense to disable the laptop input devices such as touchpad and
+        * keyboard.
+        */
+       TP_ACPI_MULTI_MODE_TABLET_LIKE  = TP_ACPI_MULTI_MODE_TABLET |
+                                         TP_ACPI_MULTI_MODE_STAND |
+                                         TP_ACPI_MULTI_MODE_TENT |
+                                         TP_ACPI_MULTI_MODE_STAND_TENT,
+ };
  
  static int hotkey_get_wlsw(void)
  {
        return (status) ? TPACPI_RFK_RADIO_ON : TPACPI_RFK_RADIO_OFF;
  }
  
+ static int hotkey_gmms_get_tablet_mode(int s, int *has_tablet_mode)
+ {
+       int type = (s >> 16) & 0xffff;
+       int value = s & 0xffff;
+       int mode = TP_ACPI_MULTI_MODE_INVALID;
+       int valid_modes = 0;
+       if (has_tablet_mode)
+               *has_tablet_mode = 0;
+       switch (type) {
+       case 1:
+               valid_modes = TP_ACPI_MULTI_MODE_LAPTOP |
+                             TP_ACPI_MULTI_MODE_TABLET |
+                             TP_ACPI_MULTI_MODE_STAND_TENT;
+               break;
+       case 2:
+               valid_modes = TP_ACPI_MULTI_MODE_LAPTOP |
+                             TP_ACPI_MULTI_MODE_FLAT |
+                             TP_ACPI_MULTI_MODE_TABLET |
+                             TP_ACPI_MULTI_MODE_STAND |
+                             TP_ACPI_MULTI_MODE_TENT;
+               break;
+       case 3:
+               valid_modes = TP_ACPI_MULTI_MODE_LAPTOP |
+                             TP_ACPI_MULTI_MODE_FLAT;
+               break;
+       case 4:
+               valid_modes = TP_ACPI_MULTI_MODE_LAPTOP |
+                             TP_ACPI_MULTI_MODE_TABLET |
+                             TP_ACPI_MULTI_MODE_STAND |
+                             TP_ACPI_MULTI_MODE_TENT;
+               break;
+       case 5:
+               valid_modes = TP_ACPI_MULTI_MODE_LAPTOP |
+                             TP_ACPI_MULTI_MODE_FLAT |
+                             TP_ACPI_MULTI_MODE_TABLET |
+                             TP_ACPI_MULTI_MODE_STAND |
+                             TP_ACPI_MULTI_MODE_TENT;
+               break;
+       default:
+               pr_err("Unknown multi mode status type %d with value 0x%04X, please report this to %s\n",
+                      type, value, TPACPI_MAIL);
+               return 0;
+       }
+       if (has_tablet_mode && (valid_modes & TP_ACPI_MULTI_MODE_TABLET_LIKE))
+               *has_tablet_mode = 1;
+       switch (value) {
+       case 1:
+               mode = TP_ACPI_MULTI_MODE_LAPTOP;
+               break;
+       case 2:
+               mode = TP_ACPI_MULTI_MODE_FLAT;
+               break;
+       case 3:
+               mode = TP_ACPI_MULTI_MODE_TABLET;
+               break;
+       case 4:
+               if (type == 1)
+                       mode = TP_ACPI_MULTI_MODE_STAND_TENT;
+               else
+                       mode = TP_ACPI_MULTI_MODE_STAND;
+               break;
+       case 5:
+               mode = TP_ACPI_MULTI_MODE_TENT;
+               break;
+       default:
+               if (type == 5 && value == 0xffff) {
+                       pr_warn("Multi mode status is undetected, assuming laptop\n");
+                       return 0;
+               }
+       }
+       if (!(mode & valid_modes)) {
+               pr_err("Unknown/reserved multi mode value 0x%04X for type %d, please report this to %s\n",
+                      value, type, TPACPI_MAIL);
+               return 0;
+       }
+       return !!(mode & TP_ACPI_MULTI_MODE_TABLET_LIKE);
+ }
  static int hotkey_get_tablet_mode(int *status)
  {
        int s;
  
                *status = ((s & TP_HOTKEY_TABLET_MASK) != 0);
                break;
-       case TP_HOTKEY_TABLET_USES_CMMD:
-               if (!acpi_evalf(ec_handle, &s, "CMMD", "d"))
+       case TP_HOTKEY_TABLET_USES_GMMS:
+               if (!acpi_evalf(hkey_handle, &s, "GMMS", "dd", 0))
                        return -EIO;
  
-               *status = (s == TP_EC_CMMD_TABLET_MODE);
+               *status = hotkey_gmms_get_tablet_mode(s, NULL);
                break;
        default:
                break;
@@@ -3113,16 -3216,19 +3216,19 @@@ static int hotkey_init_tablet_mode(void
        int in_tablet_mode = 0, res;
        char *type = NULL;
  
-       if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) {
+       if (acpi_evalf(hkey_handle, &res, "GMMS", "qdd", 0)) {
+               int has_tablet_mode;
+               in_tablet_mode = hotkey_gmms_get_tablet_mode(res,
+                                                            &has_tablet_mode);
+               if (has_tablet_mode)
+                       tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_GMMS;
+               type = "GMMS";
+       } else if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) {
                /* For X41t, X60t, X61t Tablets... */
                tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_MHKG;
                in_tablet_mode = !!(res & TP_HOTKEY_TABLET_MASK);
                type = "MHKG";
-       } else if (acpi_evalf(ec_handle, &res, "CMMD", "qd")) {
-               /* For X1 Yoga (2016) */
-               tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_CMMD;
-               in_tablet_mode = res == TP_EC_CMMD_TABLET_MODE;
-               type = "CMMD";
        }
  
        if (!tp_features.hotkey_tablet)
@@@ -9543,7 -9649,7 +9649,7 @@@ static struct ibm_init_struct ibms_init
        },
  };
  
 -static int __init set_ibm_param(const char *val, struct kernel_param *kp)
 +static int __init set_ibm_param(const char *val, const struct kernel_param *kp)
  {
        unsigned int i;
        struct ibm_struct *ibm;
diff --combined tools/Makefile
index c03b4f69d5b737defdff632340c4b6095cb0ce57,9d2fd26068105b0fde6314252124fd01732c50c6..be02c8b904dba1f3e9135d22d7393895e853f9d3
@@@ -1,4 -1,3 +1,4 @@@
 +# SPDX-License-Identifier: GPL-2.0
  # Some of the tools (perf) use same make variables
  # as in kernel build.
  export srctree=
@@@ -20,7 -19,7 +20,7 @@@ help
        @echo '  kvm_stat               - top-like utility for displaying kvm statistics'
        @echo '  leds                   - LEDs  tools'
        @echo '  liblockdep             - user-space wrapper for kernel locking-validator'
 -      @echo '  net                    - misc networking tools'
 +      @echo '  bpf                    - misc BPF tools'
        @echo '  perf                   - Linux performance measurement and analysis tool'
        @echo '  selftests              - various kernel selftests'
        @echo '  spi                    - spi tools'
@@@ -30,6 -29,7 +30,7 @@@
        @echo '  usb                    - USB testing tools'
        @echo '  virtio                 - vhost test module'
        @echo '  vm                     - misc vm tools'
+       @echo '  wmi                    - WMI interface examples'
        @echo '  x86_energy_perf_policy - Intel energy policy tool'
        @echo ''
        @echo 'You can do:'
@@@ -58,7 -58,7 +59,7 @@@ acpi: FORC
  cpupower: FORCE
        $(call descend,power/$@)
  
- cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds: FORCE
 -cgroup firewire hv guest spi usb virtio vm net iio gpio objtool leds wmi: FORCE
++cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi: FORCE
        $(call descend,$@)
  
  liblockdep: FORCE
@@@ -92,8 -92,8 +93,8 @@@ kvm_stat: FORC
  
  all: acpi cgroup cpupower gpio hv firewire liblockdep \
                perf selftests spi turbostat usb \
 -              virtio vm net x86_energy_perf_policy \
 +              virtio vm bpf x86_energy_perf_policy \
-               tmon freefall iio objtool kvm_stat
+               tmon freefall iio objtool kvm_stat wmi
  
  acpi_install:
        $(call descend,power/$(@:_install=),install)
  cpupower_install:
        $(call descend,power/$(@:_install=),install)
  
- cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install:
 -cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install net_install objtool_install wmi_install:
++cgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install:
        $(call descend,$(@:_install=),install)
  
  liblockdep_install:
@@@ -125,8 -125,9 +126,9 @@@ kvm_stat_install
  install: acpi_install cgroup_install cpupower_install gpio_install \
                hv_install firewire_install iio_install liblockdep_install \
                perf_install selftests_install turbostat_install usb_install \
 -              virtio_install vm_install net_install x86_energy_perf_policy_install \
 +              virtio_install vm_install bpf_install x86_energy_perf_policy_install \
-               tmon_install freefall_install objtool_install kvm_stat_install
+               tmon_install freefall_install objtool_install kvm_stat_install \
+               wmi_install
  
  acpi_clean:
        $(call descend,power/acpi,clean)
  cpupower_clean:
        $(call descend,power/cpupower,clean)
  
- cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean:
 -cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean net_clean iio_clean gpio_clean objtool_clean leds_clean:
++cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean:
        $(call descend,$(@:_clean=),clean)
  
  liblockdep_clean:
@@@ -170,8 -171,8 +172,8 @@@ build_clean
  
  clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean \
                perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \
 -              vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
 +              vm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
                freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \
-               gpio_clean objtool_clean leds_clean
+               gpio_clean objtool_clean leds_clean wmi_clean
  
  .PHONY: FORCE
This page took 0.266492 seconds and 4 git commands to generate.