]> Git Repo - linux.git/commitdiff
Merge tag 'locking-core-2021-04-28' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <[email protected]>
Wed, 28 Apr 2021 19:37:53 +0000 (12:37 -0700)
committerLinus Torvalds <[email protected]>
Wed, 28 Apr 2021 19:37:53 +0000 (12:37 -0700)
Pull locking updates from Ingo Molnar:

 - rtmutex cleanup & spring cleaning pass that removes ~400 lines of
   code

 - Futex simplifications & cleanups

 - Add debugging to the CSD code, to help track down a tenacious race
   (or hw problem)

 - Add lockdep_assert_not_held(), to allow code to require a lock to not
   be held, and propagate this into the ath10k driver

 - Misc LKMM documentation updates

 - Misc KCSAN updates: cleanups & documentation updates

 - Misc fixes and cleanups

 - Fix locktorture bugs with ww_mutexes

* tag 'locking-core-2021-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
  kcsan: Fix printk format string
  static_call: Relax static_call_update() function argument type
  static_call: Fix unused variable warn w/o MODULE
  locking/rtmutex: Clean up signal handling in __rt_mutex_slowlock()
  locking/rtmutex: Restrict the trylock WARN_ON() to debug
  locking/rtmutex: Fix misleading comment in rt_mutex_postunlock()
  locking/rtmutex: Consolidate the fast/slowpath invocation
  locking/rtmutex: Make text section and inlining consistent
  locking/rtmutex: Move debug functions as inlines into common header
  locking/rtmutex: Decrapify __rt_mutex_init()
  locking/rtmutex: Remove pointless CONFIG_RT_MUTEXES=n stubs
  locking/rtmutex: Inline chainwalk depth check
  locking/rtmutex: Move rt_mutex_debug_task_free() to rtmutex.c
  locking/rtmutex: Remove empty and unused debug stubs
  locking/rtmutex: Consolidate rt_mutex_init()
  locking/rtmutex: Remove output from deadlock detector
  locking/rtmutex: Remove rtmutex deadlock tester leftovers
  locking/rtmutex: Remove rt_mutex_timed_lock()
  MAINTAINERS: Add myself as futex reviewer
  locking/mutex: Remove repeated declaration
  ...

1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
arch/x86/include/asm/jump_label.h
include/linux/lockdep.h
include/linux/static_call.h
kernel/locking/lockdep.c
kernel/sched/core.c

index fa08ec0dfbe73f7247cb83abc162276967b64759,1fe9d389cdaf6bf0d02358bf577b04f4119f738a..54582ca6c4f9026c57da385aab201f30f6edd9ec
@@@ -50,7 -50,7 +50,7 @@@
                        CONFIG_ACPI_DEBUG must be enabled to produce any ACPI
                        debug output.  Bits in debug_layer correspond to a
                        _COMPONENT in an ACPI source file, e.g.,
 -                          #define _COMPONENT ACPI_PCI_COMPONENT
 +                          #define _COMPONENT ACPI_EVENTS
                        Bits in debug_level correspond to a level in
                        ACPI_DEBUG_PRINT statements, e.g.,
                            ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
@@@ -60,6 -60,8 +60,6 @@@
  
                        Enable processor driver info messages:
                            acpi.debug_layer=0x20000000
 -                      Enable PCI/PCI interrupt routing info messages:
 -                          acpi.debug_layer=0x400000
                        Enable AML "Debug" output, i.e., stores to the Debug
                        object while interpreting AML:
                            acpi.debug_layer=0xffffffff acpi.debug_level=0x2
        cs89x0_media=   [HW,NET]
                        Format: { rj45 | aui | bnc }
  
+       csdlock_debug=  [KNL] Enable debug add-ons of cross-CPU function call
+                       handling. When switched on, additional debug data is
+                       printed to the console in case a hanging CPU is
+                       detected, and that CPU is pinged again in order to try
+                       to resolve the hang situation.
+                       0: disable csdlock debugging (default)
+                       1: enable basic csdlock debugging (minor impact)
+                       ext: enable extended csdlock debugging (more impact,
+                            but more data)
        dasd=           [HW,NET]
                        See header of drivers/s390/block/dasd_devmap.c.
  
                                   state is kept private from the host.
                                   Not valid if the kernel is running in EL2.
  
 -                      Defaults to VHE/nVHE based on hardware support and
 -                      the value of CONFIG_ARM64_VHE.
 +                      Defaults to VHE/nVHE based on hardware support.
  
        kvm-arm.vgic_v3_group0_trap=
                        [KVM,ARM] Trap guest accesses to GICv3 group-0
  
        nr_uarts=       [SERIAL] maximum number of UARTs to be registered.
  
 -      numa_balancing= [KNL,X86] Enable or disable automatic NUMA balancing.
 +      numa_balancing= [KNL,ARM64,PPC,RISCV,S390,X86] Enable or disable automatic
 +                      NUMA balancing.
                        Allowed values are enable and disable
  
        numa_zonelist_order= [KNL, BOOT] Select zonelist order for NUMA.
                        fully seed the kernel's CRNG. Default is controlled
                        by CONFIG_RANDOM_TRUST_CPU.
  
 +      randomize_kstack_offset=
 +                      [KNL] Enable or disable kernel stack offset
 +                      randomization, which provides roughly 5 bits of
 +                      entropy, frustrating memory corruption attacks
 +                      that depend on stack address determinism or
 +                      cross-syscall address exposures. This is only
 +                      available on architectures that have defined
 +                      CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET.
 +                      Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
 +                      Default is CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT.
 +
        ras=option[,option,...] [KNL] RAS-specific options
  
                cec_disable     [X86]
                                see CONFIG_RAS_CEC help text.
  
        rcu_nocbs=      [KNL]
 -                      The argument is a cpu list, as described above,
 -                      except that the string "all" can be used to
 -                      specify every CPU on the system.
 +                      The argument is a cpu list, as described above.
  
                        In kernels built with CONFIG_RCU_NOCB_CPU=y, set
                        the specified list of CPUs to be no-callback CPUs.
        rcuscale.kfree_rcu_test= [KNL]
                        Set to measure performance of kfree_rcu() flooding.
  
 +      rcuscale.kfree_rcu_test_double= [KNL]
 +                      Test the double-argument variant of kfree_rcu().
 +                      If this parameter has the same value as
 +                      rcuscale.kfree_rcu_test_single, both the single-
 +                      and double-argument variants are tested.
 +
 +      rcuscale.kfree_rcu_test_single= [KNL]
 +                      Test the single-argument variant of kfree_rcu().
 +                      If this parameter has the same value as
 +                      rcuscale.kfree_rcu_test_double, both the single-
 +                      and double-argument variants are tested.
 +
        rcuscale.kfree_nthreads= [KNL]
                        The number of threads running loops of kfree_rcu().
  
        spia_peddr=
  
        split_lock_detect=
 -                      [X86] Enable split lock detection
 +                      [X86] Enable split lock detection or bus lock detection
  
                        When enabled (and if hardware support is present), atomic
                        instructions that access data across cache line
 -                      boundaries will result in an alignment check exception.
 +                      boundaries will result in an alignment check exception
 +                      for split lock detection or a debug exception for
 +                      bus lock detection.
  
                        off     - not enabled
  
 -                      warn    - the kernel will emit rate limited warnings
 +                      warn    - the kernel will emit rate-limited warnings
                                  about applications triggering the #AC
 -                                exception. This mode is the default on CPUs
 -                                that supports split lock detection.
 +                                exception or the #DB exception. This mode is
 +                                the default on CPUs that support split lock
 +                                detection or bus lock detection. Default
 +                                behavior is by #AC if both features are
 +                                enabled in hardware.
  
                        fatal   - the kernel will send SIGBUS to applications
 -                                that trigger the #AC exception.
 +                                that trigger the #AC exception or the #DB
 +                                exception. Default behavior is by #AC if
 +                                both features are enabled in hardware.
  
                        If an #AC exception is hit in the kernel or in
                        firmware (i.e. not while executing in user mode)
                        the kernel will oops in either "warn" or "fatal"
                        mode.
  
 +                      #DB exception for bus lock is triggered only when
 +                      CPL > 0.
 +
        srbds=          [X86,INTEL]
                        Control the Special Register Buffer Data Sampling
                        (SRBDS) mitigation.
                        See Documentation/admin-guide/mm/transhuge.rst
                        for more details.
  
 +      trusted.source= [KEYS]
 +                      Format: <string>
 +                      This parameter identifies the trust source as a backend
 +                      for trusted keys implementation. Supported trust
 +                      sources:
 +                      - "tpm"
 +                      - "tee"
 +                      If not specified then it defaults to iterating through
 +                      the trust source list starting with TPM and assigns the
 +                      first trust source as a backend which is initialized
 +                      successfully during iteration.
 +
        tsc=            Disable clocksource stability checks for TSC.
                        Format: <string>
                        [x86] reliable: mark tsc clocksource as reliable, this
diff --combined MAINTAINERS
index e32c844a154acba63fae31457349ec2cc761f321,afb817d00962e5b59b3aee8597df9cb8b78103b4..85a39e13c6c6682d45e951320d0cca711aceccc3
@@@ -300,6 -300,7 +300,6 @@@ M: Syed Nayyar Waris <syednwaris@gmail.
  L:    [email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-counter-104-quad-8
 -F:    Documentation/ABI/testing/sysfs-bus-iio-counter-104-quad-8
  F:    drivers/counter/104-quad-8.c
  
  ACCES PCI-IDIO-16 GPIO DRIVER
@@@ -572,12 -573,6 +572,12 @@@ S:       Maintaine
  F:    Documentation/scsi/advansys.rst
  F:    drivers/scsi/advansys.c
  
 +ADVANTECH SWBTN DRIVER
 +M:    Andrea Ho <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/platform/x86/adv_swbutton.c
 +
  ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
  M:    Michael Hennerich <[email protected]>
  S:    Supported
@@@ -702,11 -697,6 +702,11 @@@ S:       Maintaine
  F:    Documentation/i2c/busses/i2c-ali1563.rst
  F:    drivers/i2c/busses/i2c-ali1563.c
  
 +ALIENWARE WMI DRIVER
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/platform/x86/dell/alienware-wmi.c
 +
  ALL SENSORS DLH SERIES PRESSURE SENSORS DRIVER
  M:    Tomislav Denis <[email protected]>
  L:    [email protected]
@@@ -880,6 -870,13 +880,6 @@@ S:        Supporte
  T:    git git://people.freedesktop.org/~agd5f/linux
  F:    drivers/gpu/drm/amd/display/
  
 -AMD ENERGY DRIVER
 -M:    Naveen Krishna Chatradhi <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/hwmon/amd_energy.rst
 -F:    drivers/hwmon/amd_energy.c
 -
  AMD FAM15H PROCESSOR POWER MONITORING DRIVER
  M:    Huang Rui <[email protected]>
  L:    [email protected]
@@@ -1145,7 -1142,7 +1145,7 @@@ W:      http://ez.analog.com/community/linux
  F:    Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523
  F:    Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350
  F:    Documentation/devicetree/bindings/iio/*/adi,*
 -F:    Documentation/devicetree/bindings/iio/dac/ad5758.txt
 +F:    Documentation/devicetree/bindings/iio/dac/adi,ad5758.yaml
  F:    drivers/iio/*/ad*
  F:    drivers/iio/adc/ltc249*
  F:    drivers/iio/amplifiers/hmc425a.c
@@@ -1326,7 -1323,7 +1326,7 @@@ ARC PGU DRM DRIVE
  M:    Alexey Brodkin <[email protected]>
  S:    Supported
  F:    Documentation/devicetree/bindings/display/snps,arcpgu.txt
 -F:    drivers/gpu/drm/arc/
 +F:    drivers/gpu/drm/tiny/arcpgu.c
  
  ARCNET NETWORK LAYER
  M:    Michael Grzeschik <[email protected]>
@@@ -1579,13 -1576,11 +1579,13 @@@ R:   Jernej Skrabec <jernej.skrabec@siol.
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
 +L:    [email protected]
  F:    arch/arm/mach-sunxi/
  F:    arch/arm64/boot/dts/allwinner/
  F:    drivers/clk/sunxi-ng/
  F:    drivers/pinctrl/sunxi/
  F:    drivers/soc/sunxi/
 +N:    allwinner
  N:    sun[x456789]i
  N:    sun50i
  
@@@ -1642,20 -1637,6 +1642,20 @@@ F:    arch/arm/mach-alpine
  F:    arch/arm64/boot/dts/amazon/
  F:    drivers/*/*alpine*
  
 +ARM/APPLE MACHINE SUPPORT
 +M:    Hector Martin <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +W:    https://asahilinux.org
 +B:    https://github.com/AsahiLinux/linux/issues
 +C:    irc://chat.freenode.net/asahi-dev
 +T:    git https://github.com/AsahiLinux/linux.git
 +F:    Documentation/devicetree/bindings/arm/apple.yaml
 +F:    Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
 +F:    arch/arm64/boot/dts/apple/
 +F:    drivers/irqchip/irq-apple-aic.c
 +F:    include/dt-bindings/interrupt-controller/apple-aic.h
 +
  ARM/ARTPEC MACHINE SUPPORT
  M:    Jesper Nilsson <[email protected]>
  M:    Lars Persson <[email protected]>
@@@ -1783,7 -1764,6 +1783,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/trace/coresight/*
  F:    drivers/hwtracing/coresight/*
  F:    include/dt-bindings/arm/coresight-cti-dt.h
 +F:    include/linux/coresight*
  F:    tools/perf/arch/arm/util/auxtrace.c
  F:    tools/perf/arch/arm/util/cs-etm.c
  F:    tools/perf/arch/arm/util/cs-etm.h
@@@ -1810,26 -1790,19 +1810,26 @@@ F:   drivers/net/ethernet/cortina
  F:    drivers/pinctrl/pinctrl-gemini.c
  F:    drivers/rtc/rtc-ftrtc010.c
  
 -ARM/CZ.NIC TURRIS MOX SUPPORT
 -M:    Marek Behun <[email protected]>
 +ARM/CZ.NIC TURRIS SUPPORT
 +M:    Marek Behun <[email protected]>
  S:    Maintained
 -W:    http://mox.turris.cz
 +W:    https://www.turris.cz/
  F:    Documentation/ABI/testing/debugfs-moxtet
  F:    Documentation/ABI/testing/sysfs-bus-moxtet-devices
  F:    Documentation/ABI/testing/sysfs-firmware-turris-mox-rwtm
  F:    Documentation/devicetree/bindings/bus/moxtet.txt
  F:    Documentation/devicetree/bindings/firmware/cznic,turris-mox-rwtm.txt
  F:    Documentation/devicetree/bindings/gpio/gpio-moxtet.txt
 +F:    Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml
 +F:    Documentation/devicetree/bindings/watchdog/armada-37xx-wdt.txt
  F:    drivers/bus/moxtet.c
  F:    drivers/firmware/turris-mox-rwtm.c
 +F:    drivers/leds/leds-turris-omnia.c
 +F:    drivers/mailbox/armada-37xx-rwtm-mailbox.c
  F:    drivers/gpio/gpio-moxtet.c
 +F:    drivers/watchdog/armada_37xx_wdt.c
 +F:    include/dt-bindings/bus/moxtet.h
 +F:    include/linux/armada-37xx-rwtm-mailbox.h
  F:    include/linux/moxtet.h
  
  ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
@@@ -2221,15 -2194,6 +2221,15 @@@ F:    drivers/*/*npcm
  F:    drivers/*/*/*npcm*
  F:    include/dt-bindings/clock/nuvoton,npcm7xx-clock.h
  
 +ARM/NUVOTON WPCM450 ARCHITECTURE
 +M:    Jonathan Neuschäfer <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/*/*wpcm*
 +F:    arch/arm/boot/dts/nuvoton-wpcm450*
 +F:    arch/arm/mach-npcm/wpcm450.c
 +F:    drivers/*/*wpcm*
 +
  ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
  L:    [email protected] (subscribers-only)
  S:    Orphan
@@@ -2332,7 -2296,6 +2332,7 @@@ F:      drivers/tty/serial/msm_serial.
  F:    drivers/usb/dwc3/dwc3-qcom.c
  F:    include/dt-bindings/*/qcom*
  F:    include/linux/*/qcom*
 +F:    include/linux/soc/qcom/
  
  ARM/RADISYS ENP2611 MACHINE SUPPORT
  M:    Lennert Buytenhek <[email protected]>
@@@ -2412,7 -2375,7 +2412,7 @@@ F:      sound/soc/rockchip
  N:    rockchip
  
  ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
@@@ -2668,10 -2631,8 +2668,10 @@@ F:    drivers/watchdog/visconti_wdt.
  N:    visconti
  
  ARM/UNIPHIER ARCHITECTURE
 +M:    Kunihiko Hayashi <[email protected]>
 +M:    Masami Hiramatsu <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
 -S:    Orphan
 +S:    Maintained
  F:    Documentation/devicetree/bindings/arm/socionext/uniphier.yaml
  F:    Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
  F:    Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
@@@ -3018,11 -2979,9 +3018,11 @@@ L:    [email protected] (moderated fo
  S:    Supported
  W:    https://github.com/linux-audit
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git
 +F:    include/asm-generic/audit_*.h
  F:    include/linux/audit.h
  F:    include/uapi/linux/audit.h
  F:    kernel/audit*
 +F:    lib/*audit.c
  
  AUXILIARY DISPLAY DRIVERS
  M:    Miguel Ojeda <[email protected]>
@@@ -3410,7 -3369,7 +3410,7 @@@ F:      include/linux/dsa/brcm.
  F:    include/linux/platform_data/b53.h
  
  BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
 -M:    Nicolas Saenz Julienne <nsaenz[email protected]>
 +M:    Nicolas Saenz Julienne <nsaenz@kernel.org>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
@@@ -3599,14 -3558,6 +3599,14 @@@ S:    Supporte
  F:    Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml
  F:    drivers/i2c/busses/i2c-brcmstb.c
  
 +BROADCOM BRCMSTB UART DRIVER
 +M:    Al Cooper <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/serial/brcm,bcm7271-uart.yaml
 +F:    drivers/tty/serial/8250/8250_bcm7271.c
 +
  BROADCOM BRCMSTB USB EHCI DRIVER
  M:    Al Cooper <[email protected]>
  L:    [email protected]
@@@ -3738,7 -3689,7 +3738,7 @@@ BROADCOM SPI DRIVE
  M:    Kamal Dasu <[email protected]>
  M:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.txt
 +F:    Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
  F:    drivers/spi/spi-bcm-qspi.*
  F:    drivers/spi/spi-brcmstb-qspi.c
  F:    drivers/spi/spi-iproc-qspi.c
@@@ -4230,20 -4181,13 +4230,20 @@@ X:   drivers/char/tpm
  CHECKPATCH
  M:    Andy Whitcroft <[email protected]>
  M:    Joe Perches <[email protected]>
 +R:    Dwaipayan Ray <[email protected]>
 +R:    Lukas Bulwahn <[email protected]>
  S:    Maintained
  F:    scripts/checkpatch.pl
  
 +CHECKPATCH DOCUMENTATION
 +M:    Dwaipayan Ray <[email protected]>
 +M:    Lukas Bulwahn <[email protected]>
 +R:    Joe Perches <[email protected]>
 +S:    Maintained
 +F:    Documentation/dev-tools/checkpatch.rst
 +
  CHINESE DOCUMENTATION
 -M:    Harry Wei <[email protected]>
 -M:    Alex Shi <[email protected]>
 -L:    [email protected] (subscribers-only)
 +M:    Alex Shi <[email protected]>
  S:    Maintained
  F:    Documentation/translations/zh_CN/
  
@@@ -4476,12 -4420,6 +4476,12 @@@ S:    Supporte
  F:    Documentation/process/code-of-conduct-interpretation.rst
  F:    Documentation/process/code-of-conduct.rst
  
 +COMEDI DRIVERS
 +M:    Ian Abbott <[email protected]>
 +M:    H Hartley Sweeten <[email protected]>
 +S:    Odd Fixes
 +F:    drivers/comedi/
 +
  COMMON CLK FRAMEWORK
  M:    Michael Turquette <[email protected]>
  M:    Stephen Boyd <[email protected]>
@@@ -4938,8 -4876,16 +4938,8 @@@ S:     Maintaine
  W:    http://www.armlinux.org.uk/
  F:    drivers/video/fbdev/cyber2000fb.*
  
 -CYCLADES ASYNC MUX DRIVER
 -S:    Orphan
 -W:    http://www.cyclades.com/
 -F:    drivers/tty/cyclades.c
 -F:    include/linux/cyclades.h
 -F:    include/uapi/linux/cyclades.h
 -
  CYCLADES PC300 DRIVER
  S:    Orphan
 -W:    http://www.cyclades.com/
  F:    drivers/net/wan/pc300*
  
  CYPRESS_FIRMWARE MEDIA DRIVER
@@@ -5088,19 -5034,19 +5088,19 @@@ F:   drivers/platform/x86/dell/dell_rbu.
  
  DELL SMBIOS DRIVER
  M:    Pali Rohár <[email protected]>
 -M:    Mario Limonciello <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-smbios.*
  
  DELL SMBIOS SMM DRIVER
 -M:    Mario Limonciello <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-smbios-smm.c
  
  DELL SMBIOS WMI DRIVER
 -M:    Mario Limonciello <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-smbios-wmi.c
@@@ -5114,14 -5060,14 +5114,14 @@@ F:   Documentation/driver-api/dcdbas.rs
  F:    drivers/platform/x86/dell/dcdbas.*
  
  DELL WMI DESCRIPTOR DRIVER
 -M:    Mario Limonciello <[email protected]>
 +L:    [email protected]
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-wmi-descriptor.c
  
  DELL WMI SYSMAN DRIVER
  M:    Divya Bharathi <[email protected]>
 -M:    Mario Limonciello <[email protected]>
  M:    Prasanth Ksr <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-class-firmware-attributes
@@@ -5153,13 -5099,6 +5153,13 @@@ S:    Maintaine
  F:    drivers/dma/dw-edma/
  F:    include/linux/dma/edma.h
  
 +DESIGNWARE XDATA IP DRIVER
 +M:    Gustavo Pimentel <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/misc-devices/dw-xdata-pcie.rst
 +F:    drivers/misc/dw-xdata-pcie.c
 +
  DESIGNWARE USB2 DRD IP DRIVER
  M:    Minas Harutyunyan <[email protected]>
  L:    [email protected]
@@@ -5230,12 -5169,6 +5230,12 @@@ M:    Torben Mathiasen <[email protected]
  S:    Maintained
  W:    http://lanana.org/docs/device-list/index.html
  
 +DEVICE RESOURCE MANAGEMENT HELPERS
 +M:    Hans de Goede <[email protected]>
 +R:    Matti Vaittinen <[email protected]>
 +S:    Maintained
 +F:    include/linux/devm-helpers.h
 +
  DEVICE-MAPPER  (LVM)
  M:    Alasdair Kergon <[email protected]>
  M:    Mike Snitzer <[email protected]>
@@@ -5445,7 -5378,7 +5445,7 @@@ F:      drivers/hwmon/dme1737.
  DMI/SMBIOS SUPPORT
  M:    Jean Delvare <[email protected]>
  S:    Maintained
 -T:    quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging.git dmi-for-next
  F:    Documentation/ABI/testing/sysfs-firmware-dmi-tables
  F:    drivers/firmware/dmi-id.c
  F:    drivers/firmware/dmi_scan.c
@@@ -5471,12 -5404,6 +5471,12 @@@ X:    Documentation/power
  X:    Documentation/spi/
  X:    Documentation/userspace-api/media/
  
 +DOCUMENTATION REPORTING ISSUES
 +M:    Thorsten Leemhuis <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/admin-guide/reporting-issues.rst
 +
  DOCUMENTATION SCRIPTS
  M:    Mauro Carvalho Chehab <[email protected]>
  L:    [email protected]
@@@ -5641,12 -5568,6 +5641,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/panel/boe,himax8279d.yaml
  F:    drivers/gpu/drm/panel/panel-boe-himax8279d.c
  
 +DRM DRIVER FOR CHIPONE ICN6211 MIPI-DSI to RGB CONVERTER BRIDGE
 +M:    Jagan Teki <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/bridge/chipone,icn6211.yaml
 +F:    drivers/gpu/drm/bridge/chipone-icn6211.c
 +
  DRM DRIVER FOR FARADAY TVE200 TV ENCODER
  M:    Linus Walleij <[email protected]>
  S:    Maintained
@@@ -5665,14 -5586,6 +5665,14 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.yaml
  F:    drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
  
 +DRM DRIVER FOR GENERIC USB DISPLAY
 +M:    Noralf Trønnes <[email protected]>
 +S:    Maintained
 +W:    https://github.com/notro/gud/wiki
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/gud/
 +F:    include/drm/gud.h
 +
  DRM DRIVER FOR GRAIN MEDIA GM12U320 PROJECTORS
  M:    Hans de Goede <[email protected]>
  S:    Maintained
@@@ -5866,7 -5779,7 +5866,7 @@@ DRM DRIVER FOR ST-ERICSSON MCD
  M:    Linus Walleij <[email protected]>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/ste,mcde.txt
 +F:    Documentation/devicetree/bindings/display/ste,mcde.yaml
  F:    drivers/gpu/drm/mcde/
  
  DRM DRIVER FOR TDFX VIDEO CARDS
@@@ -5981,7 -5894,6 +5981,7 @@@ F:      drivers/gpu/drm/atmel-hlcdc
  DRM DRIVERS FOR BRIDGE CHIPS
  M:    Andrzej Hajda <[email protected]>
  M:    Neil Armstrong <[email protected]>
 +M:    Robert Foss <[email protected]>
  R:    Laurent Pinchart <[email protected]>
  R:    Jonas Karlman <[email protected]>
  R:    Jernej Skrabec <[email protected]>
@@@ -6051,7 -5963,6 +6051,7 @@@ DRM DRIVERS FOR MEDIATE
  M:    Chun-Kuang Hu <[email protected]>
  M:    Philipp Zabel <[email protected]>
  L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    Documentation/devicetree/bindings/display/mediatek/
  F:    drivers/gpu/drm/mediatek/
@@@ -6077,9 -5988,9 +6077,9 @@@ L:      [email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://linuxtv.org/pinchartl/media drm/du/next
 -F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
 +F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml
  F:    Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
 -F:    Documentation/devicetree/bindings/display/renesas,du.txt
 +F:    Documentation/devicetree/bindings/display/renesas,du.yaml
  F:    drivers/gpu/drm/rcar-du/
  F:    drivers/gpu/drm/shmobile/
  F:    include/linux/platform_data/shmob_drm.h
@@@ -6141,7 -6052,7 +6141,7 @@@ DRM DRIVERS FOR V3
  M:    Eric Anholt <[email protected]>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.txt
 +F:    Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
  F:    drivers/gpu/drm/v3d/
  F:    include/uapi/drm/v3d_drm.h
  
@@@ -7079,7 -6990,6 +7079,7 @@@ S:      Maintaine
  F:    Documentation/ABI/testing/sysfs-bus-dfl*
  F:    Documentation/fpga/dfl.rst
  F:    drivers/fpga/dfl*
 +F:    drivers/uio/uio_dfl.c
  F:    include/linux/dfl.h
  F:    include/uapi/linux/fpga-dfl.h
  
@@@ -7179,7 -7089,7 +7179,7 @@@ S:      Maintaine
  F:    drivers/i2c/busses/i2c-cpm.c
  
  FREESCALE IMX / MXC FEC DRIVER
 -M:    Fugang Duan <fugang.duan@nxp.com>
 +M:    Joakim Zhang <qiangqing.zhang@nxp.com>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/fsl-fec.txt
@@@ -7249,7 -7159,6 +7249,7 @@@ FREESCALE QUAD SPI DRIVE
  M:    Han Xu <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/devicetree/bindings/spi/fsl,spi-fsl-qspi.yaml
  F:    drivers/spi/spi-fsl-qspi.c
  
  FREESCALE QUICC ENGINE LIBRARY
@@@ -7285,7 -7194,7 +7285,7 @@@ M:      Li Yang <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/misc/fsl,dpaa2-console.txt
 +F:    Documentation/devicetree/bindings/misc/fsl,dpaa2-console.yaml
  F:    Documentation/devicetree/bindings/soc/fsl/
  F:    drivers/soc/fsl/
  F:    include/linux/fsl/
@@@ -7452,6 -7361,7 +7452,7 @@@ M:      Thomas Gleixner <[email protected]
  M:    Ingo Molnar <[email protected]>
  R:    Peter Zijlstra <[email protected]>
  R:    Darren Hart <[email protected]>
+ R:    Davidlohr Bueso <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
@@@ -7474,6 -7384,14 +7475,6 @@@ F:     Documentation/hwmon/gsc-hwmon.rs
  F:    drivers/hwmon/gsc-hwmon.c
  F:    include/linux/platform_data/gsc_hwmon.h
  
 -GASKET DRIVER FRAMEWORK
 -M:    Rob Springer <[email protected]>
 -M:    Todd Poynor <[email protected]>
 -M:    Ben Chan <[email protected]>
 -M:    Richard Yeh <[email protected]>
 -S:    Maintained
 -F:    drivers/staging/gasket/
 -
  GCC PLUGINS
  M:    Kees Cook <[email protected]>
  L:    [email protected]
@@@ -7557,9 -7475,8 +7558,9 @@@ F:      include/uapi/asm-generic
  GENERIC PHY FRAMEWORK
  M:    Kishon Vijay Abraham I <[email protected]>
  M:    Vinod Koul <[email protected]>
 -L:    linux-[email protected].org
 +L:    linux-[email protected].org
  S:    Supported
 +Q:    https://patchwork.kernel.org/project/linux-phy/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git
  F:    Documentation/devicetree/bindings/phy/
  F:    drivers/phy/
@@@ -7625,12 -7542,6 +7626,12 @@@ F:    Documentation/filesystems/gfs2
  F:    fs/gfs2/
  F:    include/uapi/linux/gfs2_ondisk.h
  
 +GIGABYTE WMI DRIVER
 +M:    Thomas Weißschuh <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/platform/x86/gigabyte-wmi.c
 +
  GNSS SUBSYSTEM
  M:    Johan Hovold <[email protected]>
  S:    Maintained
@@@ -7939,7 -7850,6 +7940,7 @@@ F:      Documentation/hwmon
  F:    drivers/hwmon/
  F:    include/linux/hwmon*.h
  F:    include/trace/events/hwmon*.h
 +K:    (devm_)?hwmon_device_(un)?register(|_with_groups|_with_info)
  
  HARDWARE RANDOM NUMBER GENERATOR CORE
  M:    Matt Mackall <[email protected]>
@@@ -7981,11 -7891,6 +7982,11 @@@ W:    https://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/usb/hdpvr/
  
 +HEWLETT PACKARD ENTERPRISE ILO CHIF DRIVER
 +M:    Matt Hsiao <[email protected]>
 +S:    Supported
 +F:    drivers/misc/hpilo.[ch]
 +
  HEWLETT PACKARD ENTERPRISE ILO NMI WATCHDOG DRIVER
  M:    Jerry Hoemann <[email protected]>
  S:    Supported
@@@ -8208,13 -8113,6 +8209,13 @@@ F:    drivers/crypto/hisilicon/sec2/sec_cr
  F:    drivers/crypto/hisilicon/sec2/sec_crypto.h
  F:    drivers/crypto/hisilicon/sec2/sec_main.c
  
 +HISILICON SPI Controller DRIVER FOR KUNPENG SOCS
 +M:    Jay Fang <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W:    http://www.hisilicon.com
 +F:    drivers/spi/spi-hisi-kunpeng.c
 +
  HISILICON STAGING DRIVERS FOR HIKEY 960/970
  M:    Mauro Carvalho Chehab <[email protected]>
  S:    Maintained
@@@ -8309,7 -8207,7 +8310,7 @@@ M:      Lorenzo Bianconi <lorenzo.bianconi83
  L:    [email protected]
  S:    Maintained
  W:    http://www.st.com/
 -F:    Documentation/devicetree/bindings/iio/humidity/hts221.txt
 +F:    Documentation/devicetree/bindings/iio/humidity/st,hts221.yaml
  F:    drivers/iio/humidity/hts221*
  
  HUAWEI ETHERNET DRIVER
@@@ -8619,9 -8517,9 +8620,9 @@@ F:      drivers/pci/hotplug/rpaphp
  
  IBM Power SRIOV Virtual NIC Device Driver
  M:    Dany Madden <[email protected]>
 -M:    Lijun Pan <[email protected]>
  M:    Sukadev Bhattiprolu <[email protected]>
  R:    Thomas Falcon <[email protected]>
 +R:    Lijun Pan <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/ibm/ibmvnic.*
@@@ -8647,8 -8545,7 +8648,8 @@@ S:      Supporte
  F:    drivers/scsi/ibmvscsi/ibmvfc*
  
  IBM Power Virtual Management Channel Driver
 -M:    Steven Royer <[email protected]>
 +M:    Brad Warrum <[email protected]>
 +M:    Ritu Agarwal <[email protected]>
  S:    Supported
  F:    drivers/misc/ibmvmc.*
  
@@@ -8706,8 -8603,9 +8707,8 @@@ F:      drivers/ide
  F:    include/linux/ide.h
  
  IDE/ATAPI DRIVERS
 -M:    Borislav Petkov <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/cdrom/ide-cd.rst
  F:    drivers/ide/ide-cd*
  
@@@ -8775,7 -8673,7 +8776,7 @@@ M:      Peter Rosin <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-iio-dac-dpot-dac
 -F:    Documentation/devicetree/bindings/iio/dac/dpot-dac.txt
 +F:    Documentation/devicetree/bindings/iio/dac/dpot-dac.yaml
  F:    drivers/iio/dac/dpot-dac.c
  
  IIO ENVELOPE DETECTOR
@@@ -8783,7 -8681,7 +8784,7 @@@ M:      Peter Rosin <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-iio-adc-envelope-detector
 -F:    Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
 +F:    Documentation/devicetree/bindings/iio/adc/envelope-detector.yaml
  F:    drivers/iio/adc/envelope-detector.c
  
  IIO MULTIPLEXER
@@@ -8793,15 -8691,10 +8794,15 @@@ S:   Maintaine
  F:    Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
  F:    drivers/iio/multiplexer/iio-mux.c
  
 +IIO SCMI BASED DRIVER
 +M:    Jyoti Bhayana <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/iio/common/scmi_sensors/scmi_iio.c
 +
  IIO SUBSYSTEM AND DRIVERS
  M:    Jonathan Cameron <[email protected]>
  R:    Lars-Peter Clausen <[email protected]>
 -R:    Peter Meerwald-Stadler <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
@@@ -8817,9 -8710,9 +8818,9 @@@ IIO UNIT CONVERTE
  M:    Peter Rosin <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.txt
 -F:    Documentation/devicetree/bindings/iio/afe/current-sense-shunt.txt
 -F:    Documentation/devicetree/bindings/iio/afe/voltage-divider.txt
 +F:    Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml
 +F:    Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml
 +F:    Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
  F:    drivers/iio/afe/iio-rescale.c
  
  IKANOS/ADI EAGLE ADSL USB DRIVER
@@@ -9240,7 -9133,6 +9241,7 @@@ M:      Rajneesh Bhardwaj <irenic.rajneesh@g
  M:    David E Box <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-platform-intel-pmc
  F:    drivers/platform/x86/intel_pmc_core*
  
  INTEL PMIC GPIO DRIVERS
@@@ -9351,7 -9243,7 +9352,7 @@@ W:      https://slimbootloader.github.io/sec
  F:    drivers/platform/x86/intel-wmi-sbl-fw-update.c
  
  INTEL WMI THUNDERBOLT FORCE POWER DRIVER
 -M:    Mario Limonciello <[email protected]>
 +L:    [email protected]
  S:    Maintained
  F:    drivers/platform/x86/intel-wmi-thunderbolt.c
  
@@@ -9381,7 -9273,6 +9382,7 @@@ Q:      https://patchwork.kernel.org/project
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/sgx
  F:    Documentation/x86/sgx.rst
  F:    arch/x86/entry/vdso/vsgx.S
 +F:    arch/x86/include/asm/sgx.h
  F:    arch/x86/include/uapi/asm/sgx.h
  F:    arch/x86/kernel/cpu/sgx/*
  F:    tools/testing/selftests/sgx/*
@@@ -9391,7 -9282,6 +9392,7 @@@ INTERCONNECT AP
  M:    Georgi Djakov <[email protected]>
  L:    [email protected]
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc.git
  F:    Documentation/devicetree/bindings/interconnect/
  F:    Documentation/driver-api/interconnect.rst
  F:    drivers/interconnect/
@@@ -9399,13 -9289,6 +9400,13 @@@ F:    include/dt-bindings/interconnect
  F:    include/linux/interconnect-provider.h
  F:    include/linux/interconnect.h
  
 +INTERRUPT COUNTER DRIVER
 +M:    Oleksij Rempel <[email protected]>
 +R:    Pengutronix Kernel Team <[email protected]>
 +L:    [email protected]
 +F:    Documentation/devicetree/bindings/counter/interrupt-counter.yaml
 +F:    drivers/counter/interrupt-cnt.c
 +
  INVENSENSE ICM-426xx IMU DRIVER
  M:    Jean-Baptiste Maneyrol <[email protected]>
  L:    [email protected]
@@@ -9418,7 -9301,7 +9419,7 @@@ INVENSENSE MPU-3050 GYROSCOPE DRIVE
  M:    Linus Walleij <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt
 +F:    Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml
  F:    drivers/iio/gyro/mpu3050*
  
  IOC3 ETHERNET DRIVER
@@@ -9833,11 -9716,6 +9834,11 @@@ F:    include/uapi/linux/sunrpc
  F:    net/sunrpc/
  F:    Documentation/filesystems/nfs/
  
 +KERNEL REGRESSIONS
 +M:    Thorsten Leemhuis <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +
  KERNEL SELFTEST FRAMEWORK
  M:    Shuah Khan <[email protected]>
  M:    Shuah Khan <[email protected]>
@@@ -10000,14 -9878,6 +10001,14 @@@ F:  include/keys/trusted-type.
  F:    include/keys/trusted_tpm.h
  F:    security/keys/trusted-keys/
  
 +KEYS-TRUSTED-TEE
 +M:    Sumit Garg <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +F:    include/keys/trusted_tee.h
 +F:    security/keys/trusted-keys/trusted_tee.c
 +
  KEYS/KEYRINGS
  M:    David Howells <[email protected]>
  M:    Jarkko Sakkinen <[email protected]>
@@@ -10588,12 -10458,6 +10589,12 @@@ S: Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
  F:    drivers/hid/hid-lg-g15.c
  
 +LONTIUM LT8912B MIPI TO HDMI BRIDGE
 +M:    Adrien Grassein <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/bridge/lontium,lt8912b.yaml
 +F:    drivers/gpu/drm/bridge/lontium-lt8912b.c
 +
  LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
  M:    Sathya Prakash <[email protected]>
  M:    Sreekanth Reddy <[email protected]>
@@@ -10924,13 -10788,6 +10925,13 @@@ S: Orpha
  F:    drivers/video/fbdev/matrox/matroxfb_*
  F:    include/uapi/linux/matroxfb.h
  
 +MAX15301 DRIVER
 +M:    Daniel Nilsson <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/max15301.rst
 +F:    drivers/hwmon/pmbus/max15301.c
 +
  MAX16065 HARDWARE MONITOR DRIVER
  M:    Guenter Roeck <[email protected]>
  L:    [email protected]
@@@ -11010,7 -10867,7 +11011,7 @@@ F:   drivers/regulator/max77802-regulator
  F:    include/dt-bindings/*/*max77802.h
  
  MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -11019,7 -10876,7 +11020,7 @@@ F:   drivers/power/supply/max77693_charge
  
  MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BOARDS
  M:    Chanwoo Choi <[email protected]>
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -11245,12 -11102,12 +11246,12 @@@ F:        drivers/media/platform/renesas-ceu.
  F:    include/media/drv-intf/renesas-ceu.h
  
  MEDIA DRIVERS FOR RENESAS - DRIF
 -M:    Ramesh Shanmugasundaram <rashanmu@gmail.com>
 +M:    Fabrizio Castro <fabrizio.castro.jz@renesas.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/renesas,drif.txt
 +F:    Documentation/devicetree/bindings/media/renesas,drif.yaml
  F:    drivers/media/platform/rcar_drif.c
  
  MEDIA DRIVERS FOR RENESAS - FCP
@@@ -11419,7 -11276,7 +11420,7 @@@ F:   drivers/media/platform/mtk-vpu
  MEDIATEK MMC/SD/SDIO DRIVER
  M:    Chaotian Jing <[email protected]>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/mmc/mtk-sd.txt
 +F:    Documentation/devicetree/bindings/mmc/mtk-sd.yaml
  F:    drivers/mmc/host/mtk-sd.c
  
  MEDIATEK MT76 WIRELESS LAN DRIVER
@@@ -11578,8 -11435,8 +11579,8 @@@ Q:   https://patchwork.kernel.org/project
  F:    drivers/net/ethernet/mellanox/mlxfw/
  
  MELLANOX HARDWARE PLATFORM SUPPORT
 -M:    Andy Shevchenko <[email protected]>
 -M:    Darren Hart <[email protected]>
 +M:    Hans de Goede <[email protected]>
 +M:    Mark Gross <[email protected]>
  M:    Vadim Pasternak <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -11670,7 -11527,7 +11671,7 @@@ F:   include/linux/memblock.
  F:    mm/memblock.c
  
  MEMORY CONTROLLER DRIVERS
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git
@@@ -11938,7 -11795,7 +11939,7 @@@ MICROCHIP SAMA5D2-COMPATIBLE ADC DRIVE
  M:    Eugen Hristev <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt
 +F:    Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml
  F:    drivers/iio/adc/at91-sama5d2_adc.c
  F:    include/dt-bindings/iio/adc/at91-sama5d2_adc.h
  
@@@ -12002,14 -11859,6 +12003,14 @@@ F: drivers/scsi/smartpqi/smartpqi*.[ch
  F:    include/linux/cciss*.h
  F:    include/uapi/linux/cciss*.h
  
 +MICROSOFT SURFACE DTX DRIVER
 +M:    Maximilian Luz <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/driver-api/surface_aggregator/clients/dtx.rst
 +F:    drivers/platform/surface/surface_dtx.c
 +F:    include/uapi/linux/surface_aggregator/dtx.h
 +
  MICROSOFT SURFACE GPE LID SUPPORT DRIVER
  M:    Maximilian Luz <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/platform/surface/surface_hotplug.c
  
 +MICROSOFT SURFACE PLATFORM PROFILE DRIVER
 +M:    Maximilian Luz <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/platform/surface/surface_platform_profile.c
 +
  MICROSOFT SURFACE PRO 3 BUTTON DRIVER
  M:    Chen Yu <[email protected]>
  L:    [email protected]
@@@ -12052,7 -11895,6 +12053,7 @@@ F:   Documentation/driver-api/surface_agg
  F:    drivers/platform/surface/aggregator/
  F:    drivers/platform/surface/surface_acpi_notify.c
  F:    drivers/platform/surface/surface_aggregator_cdev.c
 +F:    drivers/platform/surface/surface_aggregator_registry.c
  F:    include/linux/surface_acpi_notify.h
  F:    include/linux/surface_aggregator/
  F:    include/uapi/linux/surface_aggregator/
@@@ -12244,7 -12086,8 +12245,7 @@@ F:   drivers/media/pci/meye
  F:    include/uapi/linux/meye.h
  
  MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 -M:    Jiri Slaby <[email protected]>
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/driver-api/serial/moxa-smartio.rst
  F:    drivers/tty/mxser.*
  
@@@ -12388,6 -12231,11 +12389,6 @@@ F:  drivers/mux
  F:    include/dt-bindings/mux/
  F:    include/linux/mux/
  
 -MULTITECH MULTIPORT CARD (ISICOM)
 -S:    Orphan
 -F:    drivers/tty/isicom.c
 -F:    include/linux/isicom.h
 -
  MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
  M:    Bin Liu <[email protected]>
  L:    [email protected]
@@@ -12416,7 -12264,7 +12417,7 @@@ M:   Stefan Agner <[email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/mxsfb.txt
 +F:    Documentation/devicetree/bindings/display/fsl,lcdif.yaml
  F:    drivers/gpu/drm/mxsfb/
  
  MYLEX DAC960 PCI RAID Controller
@@@ -13017,7 -12865,7 +13018,7 @@@ F:   Documentation/devicetree/bindings/re
  F:    drivers/regulator/pf8x00-regulator.c
  
  NXP PTN5150A CC LOGIC AND EXTCON DRIVER
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml
@@@ -13060,21 -12908,6 +13061,21 @@@ L: [email protected] (moderated fo
  S:    Supported
  F:    drivers/nfc/nxp-nci
  
 +NXP i.MX 8QXP/8QM JPEG V4L2 DRIVER
 +M:    Mirela Rabulea <[email protected]>
 +R:    NXP Linux Team <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/imx8-jpeg.yaml
 +F:    drivers/media/platform/imx-jpeg
 +
 +NZXT-KRAKEN2 HARDWARE MONITORING DRIVER
 +M:    Jonas Malaco <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/nzxt-kraken2.rst
 +F:    drivers/hwmon/nzxt-kraken2.c
 +
  OBJAGG
  M:    Jiri Pirko <[email protected]>
  L:    [email protected]
@@@ -13349,7 -13182,7 +13350,7 @@@ M:   Rui Miguel Silva <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/i2c/ov2680.yaml
 +F:    Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
  F:    drivers/media/i2c/ov2680.c
  
  OMNIVISION OV2685 SENSOR DRIVER
@@@ -14323,7 -14156,7 +14324,7 @@@ F:   drivers/pinctrl/renesas
  
  PIN CONTROLLER - SAMSUNG
  M:    Tomasz Figa <[email protected]>
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Sylwester Nawrocki <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
@@@ -14444,7 -14277,7 +14445,7 @@@ PNI RM3100 IIO DRIVE
  M:    Song Qiang <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.txt
 +F:    Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.yaml
  F:    drivers/iio/magnetometer/rm3100*
  
  PNP SUPPORT
@@@ -14479,15 -14312,6 +14480,15 @@@ F: include/linux/pm_
  F:    include/linux/powercap.h
  F:    kernel/configs/nopm.config
  
 +DYNAMIC THERMAL POWER MANAGEMENT (DTPM)
 +M:    Daniel Lezcano <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +B:    https://bugzilla.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
 +F:    drivers/powercap/dtpm*
 +F:    include/linux/dtpm.h
 +
  POWER STATE COORDINATION INTERFACE (PSCI)
  M:    Mark Rutland <[email protected]>
  M:    Lorenzo Pieralisi <[email protected]>
@@@ -14565,7 -14389,7 +14566,7 @@@ F:   kernel/sched/psi.
  
  PRINTK
  M:    Petr Mladek <[email protected]>
 -M:    Sergey Senozhatsky <se[email protected]>
 +M:    Sergey Senozhatsky <se[email protected]>
  R:    Steven Rostedt <[email protected]>
  R:    John Ogness <[email protected]>
  S:    Maintained
@@@ -14957,7 -14781,7 +14958,7 @@@ M:   Todor Tomov <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/media/qcom_camss.rst
 -F:    Documentation/devicetree/bindings/media/qcom,camss.txt
 +F:    Documentation/devicetree/bindings/media/*camss*
  F:    drivers/media/platform/qcom/camss/
  
  QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
  S:    Maintained
  F:    drivers/iommu/arm/arm-smmu/qcom_iommu.c
  
 +QUALCOMM IPC ROUTER (QRTR) DRIVER
 +M:    Manivannan Sadhasivam <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    include/trace/events/qrtr.h
 +F:    include/uapi/linux/qrtr.h
 +F:    net/qrtr/
 +
  QUALCOMM IPCC MAILBOX DRIVER
  M:    Manivannan Sadhasivam <[email protected]>
  L:    [email protected]
@@@ -15256,7 -15072,7 +15257,7 @@@ M:   Laurent Pinchart <laurent.pinchart+r
  M:    Niklas Söderlund <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/media/i2c/rdacm2x-gmsl.yaml
 +F:    Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml
  F:    drivers/media/i2c/max9271.c
  F:    drivers/media/i2c/max9271.h
  F:    drivers/media/i2c/rdacm21.c
@@@ -15383,7 -15199,6 +15384,7 @@@ F:   fs/reiserfs
  REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM
  M:    Ohad Ben-Cohen <[email protected]>
  M:    Bjorn Andersson <[email protected]>
 +M:    Mathieu Poirier <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rproc-next
@@@ -15397,7 -15212,6 +15398,7 @@@ F:   include/linux/remoteproc
  REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM
  M:    Ohad Ben-Cohen <[email protected]>
  M:    Bjorn Andersson <[email protected]>
 +M:    Mathieu Poirier <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rpmsg-next
@@@ -15435,7 -15249,7 +15436,7 @@@ RENESAS R-CAR GYROADC DRIVE
  M:    Marek Vasut <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
 +F:    Documentation/devicetree/bindings/iio/adc/renesas,rcar-gyroadc.yaml
  F:    drivers/iio/adc/rcar-gyroadc.c
  
  RENESAS R-CAR I2C DRIVERS
  S:    Supported
  F:    drivers/net/ethernet/rocker/
  
 -ROCKETPORT DRIVER
 -S:    Maintained
 -W:    http://www.comtrol.com
 -F:    Documentation/driver-api/serial/rocket.rst
 -F:    drivers/tty/rocket*
 -
  ROCKETPORT EXPRESS/INFINITY DRIVER
  M:    Kevin Cernekee <[email protected]>
  L:    [email protected]
@@@ -15808,8 -15628,8 +15809,8 @@@ F:   Documentation/s390/pci.rs
  
  S390 VFIO AP DRIVER
  M:    Tony Krowiak <[email protected]>
 -M:    Pierre Morel <[email protected]>
  M:    Halil Pasic <[email protected]>
 +M:    Jason Herne <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -15821,7 -15641,6 +15822,7 @@@ F:   drivers/s390/crypto/vfio_ap_private.
  S390 VFIO-CCW DRIVER
  M:    Cornelia Huck <[email protected]>
  M:    Eric Farman <[email protected]>
 +M:    Matthew Rosato <[email protected]>
  R:    Halil Pasic <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -15832,7 -15651,6 +15833,7 @@@ F:   include/uapi/linux/vfio_ccw.
  
  S390 VFIO-PCI DRIVER
  M:    Matthew Rosato <[email protected]>
 +M:    Eric Farman <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -15893,7 -15711,7 +15894,7 @@@ F:   Documentation/admin-guide/LSM/SafeSe
  F:    security/safesetid/
  
  SAMSUNG AUDIO (ASoC) DRIVERS
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Sylwester Nawrocki <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
@@@ -15901,7 -15719,7 +15902,7 @@@ F:   Documentation/devicetree/bindings/so
  F:    sound/soc/samsung/
  
  SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -15936,7 -15754,7 +15937,7 @@@ S:   Maintaine
  F:    drivers/platform/x86/samsung-laptop.c
  
  SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -15961,7 -15779,7 +15962,7 @@@ F:   drivers/media/platform/s3c-camif
  F:    include/media/drv-intf/s3c_camif.h
  
  SAMSUNG S3FWRN5 NFC DRIVER
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Krzysztof Opasiak <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
@@@ -15981,7 -15799,7 +15982,7 @@@ S:   Supporte
  F:    drivers/media/i2c/s5k5baf.c
  
  SAMSUNG S5P Security SubSystem (SSS) DRIVER
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Vladimir Zapolskiy <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -16013,7 -15831,7 +16014,7 @@@ F:   include/linux/clk/samsung.
  F:    include/linux/platform_data/clk-s3c2410.h
  
  SAMSUNG SPI DRIVERS
 -M:    Krzysztof Kozlowski <krz[email protected]>
 +M:    Krzysztof Kozlowski <krz[email protected]>
  M:    Andi Shyti <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -16776,13 -16594,6 +16777,13 @@@ F: drivers/firmware/arm_sdei.
  F:    include/linux/arm_sdei.h
  F:    include/uapi/linux/arm_sdei.h
  
 +SOFTWARE NODES
 +R:    Andy Shevchenko <[email protected]>
 +R:    Heikki Krogerus <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/base/swnode.c
 +
  SOFTWARE RAID (Multiple Disks) SUPPORT
  M:    Song Liu <[email protected]>
  L:    [email protected]
@@@ -17045,8 -16856,6 +17046,8 @@@ F:   arch/arm/mach-spear
  
  SPI NOR SUBSYSTEM
  M:    Tudor Ambarus <[email protected]>
 +R:    Michael Walle <[email protected]>
 +R:    Pratyush Yadav <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    http://www.linux-mtd.infradead.org/
@@@ -17116,7 -16925,7 +17117,7 @@@ M:   Lorenzo Bianconi <lorenzo.bianconi83
  L:    [email protected]
  S:    Maintained
  W:    http://www.st.com/
 -F:    Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
 +F:    Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
  F:    drivers/iio/imu/st_lsm6dsx/
  
  ST MIPID02 CSI-2 TO PARALLEL BRIDGE DRIVER
@@@ -17134,18 -16943,11 +17135,18 @@@ L:        [email protected]
  S:    Maintained
  F:    drivers/i2c/busses/i2c-stm32*
  
 +ST STPDDC60 DRIVER
 +M:    Daniel Nilsson <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/stpddc60.rst
 +F:    drivers/hwmon/pmbus/stpddc60.c
 +
  ST VL53L0X ToF RANGER(I2C) IIO DRIVER
  M:    Song Qiang <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/proximity/vl53l0x.txt
 +F:    Documentation/devicetree/bindings/iio/proximity/st,vl53l0x.yaml
  F:    drivers/iio/proximity/vl53l0x-i2c.c
  
  STABLE BRANCH
  S:    Maintained
  F:    drivers/staging/media/atomisp/
  
 -STAGING - COMEDI
 -M:    Ian Abbott <[email protected]>
 -M:    H Hartley Sweeten <[email protected]>
 -S:    Odd Fixes
 -F:    drivers/staging/comedi/
 -
  STAGING - FIELDBUS SUBSYSTEM
  M:    Sven Van Asbroeck <[email protected]>
  S:    Maintained
@@@ -17459,7 -17267,7 +17460,7 @@@ F:   drivers/spi/spi-dw
  SYNOPSYS DESIGNWARE AXI DMAC DRIVER
  M:    Eugeniy Paltsev <[email protected]>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.txt
 +F:    Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
  F:    drivers/dma/dw-axi-dmac/
  
  SYNOPSYS DESIGNWARE DMAC DRIVER
@@@ -17875,7 -17683,7 +17876,7 @@@ TEXAS INSTRUMENTS' DAC7612 DAC DRIVE
  M:    Ricardo Ribalda <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/iio/dac/ti,dac7612.txt
 +F:    Documentation/devicetree/bindings/iio/dac/ti,dac7612.yaml
  F:    drivers/iio/dac/ti-dac7612.c
  
  TEXAS INSTRUMENTS DMA DRIVERS
@@@ -18017,13 -17825,6 +18018,13 @@@ M: Robert Richter <[email protected]
  S:    Odd Fixes
  F:    drivers/gpio/gpio-thunderx.c
  
 +TI ADS131E0X ADC SERIES DRIVER
 +M:    Tomislav Denis <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/adc/ti,ads131e08.yaml
 +F:    drivers/iio/adc/ti-ads131e08.c
 +
  TI AM437X VPFE DRIVER
  M:    "Lad, Prabhakar" <[email protected]>
  L:    [email protected]
@@@ -19418,7 -19219,7 +19419,7 @@@ F:   drivers/net/vrf.
  VSPRINTF
  M:    Petr Mladek <[email protected]>
  M:    Steven Rostedt <[email protected]>
 -M:    Sergey Senozhatsky <se[email protected]>
 +M:    Sergey Senozhatsky <se[email protected]>
  R:    Andy Shevchenko <[email protected]>
  R:    Rasmus Villemoes <[email protected]>
  S:    Maintained
@@@ -20069,7 -19870,7 +20070,7 @@@ F:   drivers/staging/media/zoran
  ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER
  M:    Minchan Kim <[email protected]>
  M:    Nitin Gupta <[email protected]>
 -R:    Sergey Senozhatsky <se[email protected]>
 +R:    Sergey Senozhatsky <se[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/blockdev/zram.rst
@@@ -20083,7 -19884,7 +20084,7 @@@ F:   drivers/tty/serial/zs.
  ZSMALLOC COMPRESSED SLAB MEMORY ALLOCATOR
  M:    Minchan Kim <[email protected]>
  M:    Nitin Gupta <[email protected]>
 -R:    Sergey Senozhatsky <se[email protected]>
 +R:    Sergey Senozhatsky <se[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/vm/zsmalloc.rst
index 5ce342b91ff3e5e8b17fc516615e624f4f6b50fb,7f2006645d8402ca5b7773727471336a6436885a..610a05374c02fff37212e97131ffd4f786231e31
@@@ -6,6 -6,12 +6,6 @@@
  
  #define JUMP_LABEL_NOP_SIZE 5
  
 -#ifdef CONFIG_X86_64
 -# define STATIC_KEY_INIT_NOP P6_NOP5_ATOMIC
 -#else
 -# define STATIC_KEY_INIT_NOP GENERIC_NOP5_ATOMIC
 -#endif
 -
  #include <asm/asm.h>
  #include <asm/nops.h>
  
  #include <linux/stringify.h>
  #include <linux/types.h>
  
- static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
+ static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch)
  {
        asm_volatile_goto("1:"
 -              ".byte " __stringify(STATIC_KEY_INIT_NOP) "\n\t"
 +              ".byte " __stringify(BYTES_NOP5) "\n\t"
                ".pushsection __jump_table,  \"aw\" \n\t"
                _ASM_ALIGN "\n\t"
                ".long 1b - ., %l[l_yes] - . \n\t"
@@@ -30,7 -36,7 +30,7 @@@ l_yes
        return true;
  }
  
- static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
+ static __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch)
  {
        asm_volatile_goto("1:"
                ".byte 0xe9\n\t .long %l[l_yes] - 2f\n\t"
@@@ -57,7 -63,7 +57,7 @@@ l_yes
        .long           \target - .Lstatic_jump_after_\@
  .Lstatic_jump_after_\@:
        .else
 -      .byte           STATIC_KEY_INIT_NOP
 +      .byte           BYTES_NOP5
        .endif
        .pushsection __jump_table, "aw"
        _ASM_ALIGN
@@@ -69,7 -75,7 +69,7 @@@
  .macro STATIC_JUMP_IF_FALSE target, key, def
  .Lstatic_jump_\@:
        .if \def
 -      .byte           STATIC_KEY_INIT_NOP
 +      .byte           BYTES_NOP5
        .else
        /* Equivalent to "jmp.d32 \target" */
        .byte           0xe9
diff --combined include/linux/lockdep.h
index 1c746139d5e31b605406249d81ac64339b4216d2,09ac2e8348d2b40f2a98d9b169e74149a9f76272..5cf38781375499e1db44ddaefdf554934d271730
@@@ -155,7 -155,7 +155,7 @@@ extern void lockdep_set_selftest_task(s
  extern void lockdep_init_task(struct task_struct *task);
  
  /*
-  * Split the recrursion counter in two to readily detect 'off' vs recursion.
+  * Split the recursion counter in two to readily detect 'off' vs recursion.
   */
  #define LOCKDEP_RECURSION_BITS        16
  #define LOCKDEP_OFF           (1U << LOCKDEP_RECURSION_BITS)
@@@ -268,6 -268,11 +268,11 @@@ extern void lock_acquire(struct lockdep
  
  extern void lock_release(struct lockdep_map *lock, unsigned long ip);
  
+ /* lock_is_held_type() returns */
+ #define LOCK_STATE_UNKNOWN    -1
+ #define LOCK_STATE_NOT_HELD   0
+ #define LOCK_STATE_HELD               1
  /*
   * Same "read" as for lock_acquire(), except -1 means any.
   */
@@@ -301,8 -306,14 +306,14 @@@ extern void lock_unpin_lock(struct lock
  
  #define lockdep_depth(tsk)    (debug_locks ? (tsk)->lockdep_depth : 0)
  
- #define lockdep_assert_held(l)        do {                            \
-               WARN_ON(debug_locks && !lockdep_is_held(l));    \
+ #define lockdep_assert_held(l)        do {                                    \
+               WARN_ON(debug_locks &&                                  \
+                       lockdep_is_held(l) == LOCK_STATE_NOT_HELD);     \
+       } while (0)
+ #define lockdep_assert_not_held(l)    do {                            \
+               WARN_ON(debug_locks &&                                  \
+                       lockdep_is_held(l) == LOCK_STATE_HELD);         \
        } while (0)
  
  #define lockdep_assert_held_write(l)  do {                    \
                WARN_ON_ONCE(debug_locks && !lockdep_is_held(l));       \
        } while (0)
  
 +#define lockdep_assert_none_held_once()       do {                            \
 +              WARN_ON_ONCE(debug_locks && current->lockdep_depth);    \
 +      } while (0)
 +
  #define lockdep_recursing(tsk)        ((tsk)->lockdep_recursion)
  
  #define lockdep_pin_lock(l)   lock_pin_lock(&(l)->dep_map)
@@@ -397,10 -404,10 +408,11 @@@ extern int lockdep_is_held(const void *
  #define lockdep_is_held_type(l, r)            (1)
  
  #define lockdep_assert_held(l)                        do { (void)(l); } while (0)
- #define lockdep_assert_held_write(l)  do { (void)(l); } while (0)
+ #define lockdep_assert_not_held(l)            do { (void)(l); } while (0)
+ #define lockdep_assert_held_write(l)          do { (void)(l); } while (0)
  #define lockdep_assert_held_read(l)           do { (void)(l); } while (0)
  #define lockdep_assert_held_once(l)           do { (void)(l); } while (0)
 +#define lockdep_assert_none_held_once()       do { } while (0)
  
  #define lockdep_recursing(tsk)                        (0)
  
index e01b61ab86b10ffb5a435ae1562b2159cdab8909,8d50f62420ca64530b23a541d13b43cbc9437846..fc94faa53b5b16dce0bd757024d3a369a493b7c1
@@@ -20,7 -20,6 +20,7 @@@
   *   static_call(name)(args...);
   *   static_call_cond(name)(args...);
   *   static_call_update(name, func);
 + *   static_call_query(name);
   *
   * Usage example:
   *
   *
   *   which will include the required value tests to avoid NULL-pointer
   *   dereferences.
 + *
 + *   To query which function is currently set to be called, use:
 + *
 + *   func = static_call_query(name);
   */
  
  #include <linux/types.h>
@@@ -118,13 -113,11 +118,13 @@@ extern void arch_static_call_transform(
  
  #define static_call_update(name, func)                                        \
  ({                                                                    \
-       BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name)));   \
+       typeof(&STATIC_CALL_TRAMP(name)) __F = (func);                  \
        __static_call_update(&STATIC_CALL_KEY(name),                    \
-                            STATIC_CALL_TRAMP_ADDR(name), func);       \
+                            STATIC_CALL_TRAMP_ADDR(name), __F);        \
  })
  
 +#define static_call_query(name) (READ_ONCE(STATIC_CALL_KEY(name).func))
 +
  #ifdef CONFIG_HAVE_STATIC_CALL_INLINE
  
  extern int __init static_call_init(void);
@@@ -135,6 -128,16 +135,6 @@@ struct static_call_mod 
        struct static_call_site *sites;
  };
  
 -struct static_call_key {
 -      void *func;
 -      union {
 -              /* bit 0: 0 = mods, 1 = sites */
 -              unsigned long type;
 -              struct static_call_mod *mods;
 -              struct static_call_site *sites;
 -      };
 -};
 -
  /* For finding the key associated with a trampoline */
  struct static_call_tramp_key {
        s32 tramp;
@@@ -184,6 -187,10 +184,6 @@@ extern long __static_call_return0(void)
  
  static inline int static_call_init(void) { return 0; }
  
 -struct static_call_key {
 -      void *func;
 -};
 -
  #define __DEFINE_STATIC_CALL(name, _func, _func_init)                 \
        DECLARE_STATIC_CALL(name, _func);                               \
        struct static_call_key STATIC_CALL_KEY(name) = {                \
        };                                                              \
        ARCH_DEFINE_STATIC_CALL_NULL_TRAMP(name)
  
 +
  #define static_call_cond(name)        (void)__static_call(name)
  
  static inline
@@@ -237,6 -243,10 +237,6 @@@ static inline long __static_call_return
  
  static inline int static_call_init(void) { return 0; }
  
 -struct static_call_key {
 -      void *func;
 -};
 -
  static inline long __static_call_return0(void)
  {
        return 0;
diff --combined kernel/locking/lockdep.c
index ef28a0b9cf1efa21807d9aafa0e41cfeb4560ed6,0e97287891db21dc03be22546bc89d1973c1ab02..48d736aa03b24bf377ece9fbe06199eb27adab44
@@@ -54,6 -54,7 +54,7 @@@
  #include <linux/nmi.h>
  #include <linux/rcupdate.h>
  #include <linux/kprobes.h>
+ #include <linux/lockdep.h>
  
  #include <asm/sections.h>
  
@@@ -705,7 -706,7 +706,7 @@@ static void print_lock_name(struct lock
  
        printk(KERN_CONT " (");
        __print_lock_name(class);
 -      printk(KERN_CONT "){%s}-{%hd:%hd}", usage,
 +      printk(KERN_CONT "){%s}-{%d:%d}", usage,
                        class->wait_type_outer ?: class->wait_type_inner,
                        class->wait_type_inner);
  }
@@@ -930,8 -931,7 +931,8 @@@ static bool assign_lock_key(struct lock
                /* Debug-check: all keys must be persistent! */
                debug_locks_off();
                pr_err("INFO: trying to register non-static key.\n");
 -              pr_err("the code is fine but needs lockdep annotation.\n");
 +              pr_err("The code is fine but needs lockdep annotation, or maybe\n");
 +              pr_err("you didn't initialize this object before use?\n");
                pr_err("turning off the locking correctness validator.\n");
                dump_stack();
                return false;
@@@ -1393,7 -1393,7 +1394,7 @@@ static int add_lock_to_list(struct lock
  /*
   * For good efficiency of modular, we use power of 2
   */
 -#define MAX_CIRCULAR_QUEUE_SIZE               4096UL
 +#define MAX_CIRCULAR_QUEUE_SIZE               (1UL << CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS)
  #define CQ_MASK                               (MAX_CIRCULAR_QUEUE_SIZE-1)
  
  /*
@@@ -1747,7 -1747,7 +1748,7 @@@ static enum bfs_result __bfs(struct loc
  
                /*
                 * Step 4: if not match, expand the path by adding the
-                *         forward or backwards dependencis in the search
+                *         forward or backwards dependencies in the search
                 *
                 */
                first = true;
@@@ -1916,7 -1916,7 +1917,7 @@@ print_circular_bug_header(struct lock_l
   * -> B is -(ER)-> or -(EN)->, then we don't need to add A -> B into the
   * dependency graph, as any strong path ..-> A -> B ->.. we can get with
   * having dependency A -> B, we could already get a equivalent path ..-> A ->
-  * .. -> B -> .. with A -> .. -> B. Therefore A -> B is reduntant.
+  * .. -> B -> .. with A -> .. -> B. Therefore A -> B is redundant.
   *
   * We need to make sure both the start and the end of A -> .. -> B is not
   * weaker than A -> B. For the start part, please see the comment in
@@@ -5253,13 -5253,13 +5254,13 @@@ int __lock_is_held(const struct lockdep
  
                if (match_held_lock(hlock, lock)) {
                        if (read == -1 || hlock->read == read)
-                               return 1;
+                               return LOCK_STATE_HELD;
  
-                       return 0;
+                       return LOCK_STATE_NOT_HELD;
                }
        }
  
-       return 0;
+       return LOCK_STATE_NOT_HELD;
  }
  
  static struct pin_cookie __lock_pin_lock(struct lockdep_map *lock)
@@@ -5538,10 -5538,14 +5539,14 @@@ EXPORT_SYMBOL_GPL(lock_release)
  noinstr int lock_is_held_type(const struct lockdep_map *lock, int read)
  {
        unsigned long flags;
-       int ret = 0;
+       int ret = LOCK_STATE_NOT_HELD;
  
+       /*
+        * Avoid false negative lockdep_assert_held() and
+        * lockdep_assert_not_held().
+        */
        if (unlikely(!lockdep_enabled()))
-               return 1; /* avoid false negative lockdep_assert_held() */
+               return LOCK_STATE_UNKNOWN;
  
        raw_local_irq_save(flags);
        check_flags(flags);
diff --combined kernel/sched/core.c
index b2890f6e6d6f974d62230349a2e4fc0092826570,67f989001894d200fccae970598551b040fa89f9..347127e734221ec0489606e34d3d57a424f91eda
@@@ -5396,25 -5396,25 +5396,25 @@@ static void sched_dynamic_update(int mo
        switch (mode) {
        case preempt_dynamic_none:
                static_call_update(cond_resched, __cond_resched);
-               static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
-               static_call_update(preempt_schedule, (typeof(&preempt_schedule)) NULL);
-               static_call_update(preempt_schedule_notrace, (typeof(&preempt_schedule_notrace)) NULL);
-               static_call_update(irqentry_exit_cond_resched, (typeof(&irqentry_exit_cond_resched)) NULL);
+               static_call_update(might_resched, (void *)&__static_call_return0);
+               static_call_update(preempt_schedule, NULL);
+               static_call_update(preempt_schedule_notrace, NULL);
+               static_call_update(irqentry_exit_cond_resched, NULL);
                pr_info("Dynamic Preempt: none\n");
                break;
  
        case preempt_dynamic_voluntary:
                static_call_update(cond_resched, __cond_resched);
                static_call_update(might_resched, __cond_resched);
-               static_call_update(preempt_schedule, (typeof(&preempt_schedule)) NULL);
-               static_call_update(preempt_schedule_notrace, (typeof(&preempt_schedule_notrace)) NULL);
-               static_call_update(irqentry_exit_cond_resched, (typeof(&irqentry_exit_cond_resched)) NULL);
+               static_call_update(preempt_schedule, NULL);
+               static_call_update(preempt_schedule_notrace, NULL);
+               static_call_update(irqentry_exit_cond_resched, NULL);
                pr_info("Dynamic Preempt: voluntary\n");
                break;
  
        case preempt_dynamic_full:
-               static_call_update(cond_resched, (typeof(&__cond_resched)) __static_call_return0);
-               static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
+               static_call_update(cond_resched, (void *)&__static_call_return0);
+               static_call_update(might_resched, (void *)&__static_call_return0);
                static_call_update(preempt_schedule, __preempt_schedule_func);
                static_call_update(preempt_schedule_notrace, __preempt_schedule_notrace_func);
                static_call_update(irqentry_exit_cond_resched, irqentry_exit_cond_resched);
@@@ -6384,7 -6384,6 +6384,7 @@@ int sched_setattr_nocheck(struct task_s
  {
        return __sched_setscheduler(p, attr, false, true);
  }
 +EXPORT_SYMBOL_GPL(sched_setattr_nocheck);
  
  /**
   * sched_setscheduler_nocheck - change the scheduling policy and/or RT priority of a thread from kernelspace.
This page took 0.182889 seconds and 4 git commands to generate.