Merge tag 'printk-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/printk...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Sep 2021 01:41:13 +0000 (18:41 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Sep 2021 01:41:13 +0000 (18:41 -0700)
Pull printk updates from Petr Mladek:

 - Optionally, provide an index of possible printk messages via
   <debugfs>/printk/index/. It can be used when monitoring important
   kernel messages on a farm of various hosts. The monitor has to be
   updated when some messages has changed or are not longer available by
   a newly deployed kernel.

 - Add printk.console_no_auto_verbose boot parameter. It allows to
   generate crash dump even with slow consoles in a reasonable time
   frame.

 - Remove printk_safe buffers. The messages are always stored directly
   to the main logbuffer, even in NMI or recursive context. Also it
   allows to serialize syslog operations by a mutex instead of a spin
   lock.

 - Misc clean up and build fixes.

* tag 'printk-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
  printk/index: Fix -Wunused-function warning
  lib/nmi_backtrace: Serialize even messages about idle CPUs
  printk: Add printk.console_no_auto_verbose boot parameter
  printk: Remove console_silent()
  lib/test_scanf: Handle n_bits == 0 in random tests
  printk: syslog: close window between wait and read
  printk: convert @syslog_lock to mutex
  printk: remove NMI tracking
  printk: remove safe buffers
  printk: track/limit recursion
  lib/nmi_backtrace: explicitly serialize banner and regs
  printk: Move the printk() kerneldoc comment to its new home
  printk/index: Fix warning about missing prototypes
  MIPS/asm/printk: Fix build failure caused by printk
  printk: index: Add indexing support to dev_printk
  printk: Userspace format indexing support
  printk: Rework parse_prefix into printk_parse_prefix
  printk: Straighten out log_flags into printk_info_flags
  string_helpers: Escape double quotes in escape_special
  printk/console: Check consistent sequence number when handling race in console_unlock()

1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
arch/powerpc/kernel/traps.c
drivers/base/core.c
include/asm-generic/vmlinux.lds.h
init/Kconfig
kernel/trace/trace.c

                        do not want to use tracing_snapshot_alloc() as it needs
                        to be done where GFP_KERNEL allocations are allowed.
  
 +      allow_mismatched_32bit_el0 [ARM64]
 +                      Allow execve() of 32-bit applications and setting of the
 +                      PER_LINUX32 personality on systems where only a strict
 +                      subset of the CPUs support 32-bit EL0. When this
 +                      parameter is present, the set of CPUs supporting 32-bit
 +                      EL0 is indicated by /sys/devices/system/cpu/aarch32_el0
 +                      and hot-unplug operations may be restricted.
 +
 +                      See Documentation/arm64/asymmetric-32bit.rst for more
 +                      information.
 +
        amd_iommu=      [HW,X86-64]
                        Pass parameters to the AMD IOMMU driver in the system.
                        Possible values are:
        arm64.nopauth   [ARM64] Unconditionally disable Pointer Authentication
                        support
  
 +      arm64.nomte     [ARM64] Unconditionally disable Memory Tagging Extension
 +                      support
 +
        ataflop=        [HW,M68k]
  
        atarimouse=     [HW,MOUSE] Atari Mouse
                        feature (tagged TLBs) on capable Intel chips.
                        Default is 1 (enabled)
  
 +      l1d_flush=      [X86,INTEL]
 +                      Control mitigation for L1D based snooping vulnerability.
 +
 +                      Certain CPUs are vulnerable to an exploit against CPU
 +                      internal buffers which can forward information to a
 +                      disclosure gadget under certain conditions.
 +
 +                      In vulnerable processors, the speculatively
 +                      forwarded data can be used in a cache side channel
 +                      attack, to access data to which the attacker does
 +                      not have direct access.
 +
 +                      This parameter controls the mitigation. The
 +                      options are:
 +
 +                      on         - enable the interface for the mitigation
 +
        l1tf=           [X86] Control mitigation of the L1TF vulnerability on
                              affected CPUs
  
                        Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
                        default: disabled
  
+       printk.console_no_auto_verbose=
+                       Disable console loglevel raise on oops, panic
+                       or lockdep-detected issues (only if lock debug is on).
+                       With an exception to setups with low baudrate on
+                       serial console, keeping this 0 is a good choice
+                       in order to provide more debug information.
+                       Format: <bool>
+                       default: 0 (auto_verbose is enabled)
        printk.devkmsg={on,off,ratelimit}
                        Control writing to /dev/kmsg.
                        on - unlimited logging to /dev/kmsg from userspace
  
        reboot=         [KNL]
                        Format (x86 or x86_64):
 -                              [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \
 +                              [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] | d[efault] \
                                [[,]s[mp]#### \
                                [[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
                                [[,]f[orce]
        sa1100ir        [NET]
                        See drivers/net/irda/sa1100_ir.c.
  
 -      sbni=           [NET] Granch SBNI12 leased line adapter
 -
        sched_verbose   [KNL] Enables verbose scheduler debug messages.
  
        schedstats=     [KNL,X86] Enable or disable scheduled statistics.
diff --combined MAINTAINERS
@@@ -445,7 -445,7 +445,7 @@@ F: drivers/platform/x86/wmi.
  F:    include/uapi/linux/wmi.h
  
  ACRN HYPERVISOR SERVICE MODULE
 -M:    Shuo Liu <shuo.a.liu@intel.com>
 +M:    Fei Li <fei1.li@intel.com>
  L:    acrn-dev@lists.projectacrn.org (subscribers-only)
  S:    Supported
  W:    https://projectacrn.org
@@@ -459,12 -459,6 +459,12 @@@ S:       Maintaine
  W:    https://parisc.wiki.kernel.org/index.php/AD1889
  F:    sound/pci/ad1889.*
  
 +AD5110 ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER
 +M:    Mugilraj Dhavachelvan <dmugil2000@gmail.com>
 +L:    linux-iio@vger.kernel.org
 +S:    Supported
 +F:    drivers/iio/potentiometer/ad5110.c
 +
  AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER
  M:    Michael Hennerich <michael.hennerich@analog.com>
  S:    Supported
@@@ -939,7 -933,6 +939,7 @@@ F: drivers/video/fbdev/geode
  
  AMD IOMMU (AMD-VI)
  M:    Joerg Roedel <joro@8bytes.org>
 +R:    Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
  L:    iommu@lists.linux-foundation.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
@@@ -1322,13 -1315,6 +1322,13 @@@ L:    linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/media/i2c/aptina-pll.*
  
 +AQUACOMPUTER D5 NEXT PUMP SENSOR DRIVER
 +M:    Aleksa Savic <savicaleksa83@gmail.com>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/aquacomputer_d5next.rst
 +F:    drivers/hwmon/aquacomputer_d5next.c
 +
  AQUANTIA ETHERNET DRIVER (atlantic)
  M:    Igor Russkikh <irusskikh@marvell.com>
  L:    netdev@vger.kernel.org
@@@ -1395,7 -1381,7 +1395,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/arm/arm,realview.yaml
  F:    Documentation/devicetree/bindings/arm/arm,versatile.yaml
  F:    Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml
 -F:    Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt
 +F:    Documentation/devicetree/bindings/auxdisplay/arm,versatile-lcd.yaml
  F:    Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
  F:    Documentation/devicetree/bindings/i2c/i2c-versatile.txt
  F:    Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt
@@@ -1501,7 -1487,7 +1501,7 @@@ M:      Miquel Raynal <miquel.raynal@bootlin
  M:    Naga Sureshkumar Relli <nagasure@xilinx.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -F:    Documentation/devicetree/bindings/mtd/arm,pl353-smc.yaml
 +F:    Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml
  F:    drivers/memory/pl353-smc.c
  
  ARM PRIMECELL CLCD PL110 DRIVER
@@@ -1703,7 -1689,7 +1703,7 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Maintained
  W:    https://asahilinux.org
  B:    https://github.com/AsahiLinux/linux/issues
 -C:    irc://chat.freenode.net/asahi-dev
 +C:    irc://irc.oftc.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
@@@ -2023,12 -2009,10 +2023,12 @@@ M:   Krzysztof Halasa <khalasa@piap.pl
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/intel-ixp4xx.yaml
 +F:    Documentation/devicetree/bindings/bus/intel,ixp4xx-expansion-bus-controller.yaml
  F:    Documentation/devicetree/bindings/gpio/intel,ixp4xx-gpio.txt
  F:    Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml
  F:    Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
  F:    arch/arm/mach-ixp4xx/
 +F:    drivers/bus/intel-ixp4xx-eb.c
  F:    drivers/clocksource/timer-ixp4xx.c
  F:    drivers/crypto/ixp4xx_crypto.c
  F:    drivers/gpio/gpio-ixp4xx.c
@@@ -2857,7 -2841,7 +2857,7 @@@ AS3645A LED FLASH CONTROLLER DRIVE
  M:    Sakari Ailus <sakari.ailus@iki.fi>
  L:    linux-leds@vger.kernel.org
  S:    Maintained
 -F:    drivers/leds/leds-as3645a.c
 +F:    drivers/leds/flash/leds-as3645a.c
  
  ASAHI KASEI AK7375 LENS VOICE COIL DRIVER
  M:    Tianshu Qiu <tian.shu.qiu@intel.com>
@@@ -3212,7 -3196,7 +3212,7 @@@ S:      Maintaine
  W:    https://www.open-mesh.org/
  Q:    https://patchwork.open-mesh.org/project/batman/list/
  B:    https://www.open-mesh.org/projects/batman-adv/issues
 -C:    irc://chat.freenode.net/batman
 +C:    ircs://irc.hackint.org/batadv
  T:    git https://git.open-mesh.org/linux-merge.git
  F:    Documentation/networking/batman-adv.rst
  F:    include/uapi/linux/batadv_packet.h
@@@ -3424,6 -3408,7 +3424,6 @@@ F:      drivers/net/ethernet/netronome/nfp/b
  
  BPF JIT for POWERPC (32-BIT AND 64-BIT)
  M:    Naveen N. Rao <naveen.n.rao@linux.ibm.com>
 -M:    Sandipan Das <sandipan@linux.ibm.com>
  L:    netdev@vger.kernel.org
  L:    bpf@vger.kernel.org
  S:    Maintained
@@@ -3869,7 -3854,7 +3869,7 @@@ M:      Markus Mayer <mmayer@broadcom.com
  M:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -F:    Documentation/devicetree/bindings/memory-controllers/brcm,dpfe-cpu.txt
 +F:    Documentation/devicetree/bindings/memory-controllers/brcm,dpfe-cpu.yaml
  F:    drivers/memory/brcmstb_dpfe.c
  
  BROADCOM STB NAND FLASH DRIVER
@@@ -3880,16 -3865,6 +3880,16 @@@ L:    bcm-kernel-feedback-list@broadcom.co
  S:    Maintained
  F:    drivers/mtd/nand/raw/brcmnand/
  
 +BROADCOM STB PCIE DRIVER
 +M:    Jim Quinlan <jim2101024@gmail.com>
 +M:    Nicolas Saenz Julienne <nsaenz@kernel.org>
 +M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    bcm-kernel-feedback-list@broadcom.com
 +L:    linux-pci@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
 +F:    drivers/pci/controller/pcie-brcmstb.c
 +
  BROADCOM SYSTEMPORT ETHERNET DRIVER
  M:    Florian Fainelli <f.fainelli@gmail.com>
  L:    bcm-kernel-feedback-list@broadcom.com
@@@ -4522,7 -4497,7 +4522,7 @@@ L:      clang-built-linux@googlegroups.co
  S:    Supported
  W:    https://clangbuiltlinux.github.io/
  B:    https://github.com/ClangBuiltLinux/linux/issues
 -C:    irc://chat.freenode.net/clangbuiltlinux
 +C:    irc://irc.libera.chat/clangbuiltlinux
  F:    Documentation/kbuild/llvm.rst
  F:    include/linux/compiler-clang.h
  F:    scripts/clang-tools/
@@@ -4634,7 -4609,7 +4634,7 @@@ F:      include/linux/clk
  F:    include/linux/of_clk.h
  X:    drivers/clk/clkdev.c
  
 -COMMON INTERNET FILE SYSTEM (CIFS)
 +COMMON INTERNET FILE SYSTEM CLIENT (CIFS)
  M:    Steve French <sfrench@samba.org>
  L:    linux-cifs@vger.kernel.org
  L:    samba-technical@lists.samba.org (moderated for non-subscribers)
@@@ -4643,7 -4618,6 +4643,7 @@@ W:      http://linux-cifs.samba.org
  T:    git git://git.samba.org/sfrench/cifs-2.6.git
  F:    Documentation/admin-guide/cifs/
  F:    fs/cifs/
 +F:    fs/cifs_common/
  
  COMPACTPCI HOTPLUG CORE
  M:    Scott Murray <scott@spiteful.org>
@@@ -5595,7 -5569,7 +5595,7 @@@ M:      Lukasz Luba <lukasz.luba@arm.com
  L:    linux-pm@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/memory-controllers/exynos5422-dmc.txt
 +F:    Documentation/devicetree/bindings/memory-controllers/samsung,exynos5422-dmc.yaml
  F:    drivers/memory/samsung/exynos5422-dmc.c
  
  DME1737 HARDWARE MONITOR DRIVER
@@@ -5709,7 -5683,6 +5709,7 @@@ DPAA2 ETHERNET SWITCH DRIVE
  M:    Ioana Ciornei <ioana.ciornei@nxp.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
 +F:    Documentation/networking/device_drivers/ethernet/freescale/dpaa2/switch-driver.rst
  F:    drivers/net/ethernet/freescale/dpaa2/dpaa2-switch*
  F:    drivers/net/ethernet/freescale/dpaa2/dpsw*
  
@@@ -5733,11 -5706,6 +5733,11 @@@ F:    Documentation/admin-guide/blockdev
  F:    drivers/block/drbd/
  F:    lib/lru_cache.c
  
 +DRIVER COMPONENT FRAMEWORK
 +L:    dri-devel@lists.freedesktop.org
 +F:    drivers/base/component.c
 +F:    include/linux/component.h
 +
  DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  R:    "Rafael J. Wysocki" <rafael@kernel.org>
@@@ -5801,7 -5769,7 +5801,7 @@@ M:      Gerd Hoffmann <kraxel@redhat.com
  L:    virtualization@lists.linux-foundation.org
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    drivers/gpu/drm/bochs/
 +F:    drivers/gpu/drm/tiny/bochs.c
  
  DRM DRIVER FOR BOE HIMAX8279D PANELS
  M:    Jerry Han <hanxu5@huaqin.corp-partner.google.com>
@@@ -5986,13 -5954,6 +5986,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/panel/raydium,rm67191.yaml
  F:    drivers/gpu/drm/panel/panel-raydium-rm67191.c
  
 +DRM DRIVER FOR SAMSUNG DB7430 PANELS
 +M:    Linus Walleij <linus.walleij@linaro.org>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/panel/samsung,lms397kf04.yaml
 +F:    drivers/gpu/drm/panel/panel-samsung-db7430.c
 +
  DRM DRIVER FOR SITRONIX ST7703 PANELS
  M:    Guido Günther <agx@sigxcpu.org>
  R:    Purism Kernel Team <kernel@puri.sm>
@@@ -6091,27 -6052,21 +6091,27 @@@ F:   drivers/gpu/drm/vboxvideo
  
  DRM DRIVER FOR VMWARE VIRTUAL GPU
  M:    "VMware Graphics" <linux-graphics-maintainer@vmware.com>
 -M:    Roland Scheidegger <sroland@vmware.com>
  M:    Zack Rusin <zackr@vmware.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
 -T:    git git://people.freedesktop.org/~sroland/linux
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    drivers/gpu/drm/vmwgfx/
  F:    include/uapi/drm/vmwgfx_drm.h
  
 +DRM DRIVER FOR WIDECHIPS WS2401 PANELS
 +M:    Linus Walleij <linus.walleij@linaro.org>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml
 +F:    drivers/gpu/drm/panel/panel-widechips-ws2401.c
 +
  DRM DRIVERS
  M:    David Airlie <airlied@linux.ie>
  M:    Daniel Vetter <daniel@ffwll.ch>
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
  B:    https://gitlab.freedesktop.org/drm
 -C:    irc://chat.freenode.net/dri-devel
 +C:    irc://irc.oftc.net/dri-devel
  T:    git git://anongit.freedesktop.org/drm/drm
  F:    Documentation/devicetree/bindings/display/
  F:    Documentation/devicetree/bindings/gpu/
@@@ -6604,7 -6559,6 +6604,7 @@@ EDAC-ARMAD
  M:    Jan Luebbe <jlu@pengutronix.de>
  L:    linux-edac@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/memory-controllers/marvell,mvebu-sdram-controller.yaml
  F:    drivers/edac/armada_xp_*
  
  EDAC-AST2500
@@@ -6949,12 -6903,6 +6949,12 @@@ M:    Mark Einon <mark.einon@gmail.com
  S:    Odd Fixes
  F:    drivers/net/ethernet/agere/
  
 +ETAS ES58X CAN/USB DRIVER
 +M:    Vincent Mailhol <mailhol.vincent@wanadoo.fr>
 +L:    linux-can@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/can/usb/etas_es58x/
 +
  ETHERNET BRIDGE
  M:    Roopa Prabhu <roopa@nvidia.com>
  M:    Nikolay Aleksandrov <nikolay@nvidia.com>
@@@ -6996,7 -6944,7 +6996,7 @@@ F:      include/uapi/linux/mdio.
  F:    include/uapi/linux/mii.h
  
  EXFAT FILE SYSTEM
 -M:    Namjae Jeon <namjae.jeon@samsung.com>
 +M:    Namjae Jeon <linkinjeon@kernel.org>
  M:    Sungjong Seo <sj1557.seo@samsung.com>
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
@@@ -7909,9 -7857,9 +7909,9 @@@ S:      Maintaine
  F:    drivers/input/touchscreen/goodix.c
  
  GOOGLE ETHERNET DRIVERS
 -M:    Catherine Sullivan <csully@google.com>
 -R:    Sagi Shahar <sagis@google.com>
 -R:    Jon Olson <jonolson@google.com>
 +M:    Jeroen de Borst <jeroendb@google.com>
 +R:    Catherine Sullivan <csully@google.com>
 +R:    David Awogbemila <awogbemila@google.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    Documentation/networking/device_drivers/ethernet/google/gve.rst
@@@ -8484,12 -8432,10 +8484,12 @@@ S:   Maintaine
  F:    Documentation/devicetree/bindings/spmi/hisilicon,hisi-spmi-controller.yaml
  F:    drivers/spmi/hisi-spmi-controller.c
  
 -HISILICON STAGING DRIVERS FOR HIKEY 960/970
 +HISILICON SPMI PMIC DRIVER FOR HIKEY 6421v600
  M:    Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
 +L:    linux-kernel@vger.kernel.org
  S:    Maintained
 -F:    drivers/staging/hikey9xx/
 +F:    Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
 +F:    drivers/mfd/hi6421-spmi-pmic.c
  
  HISILICON TRUE RANDOM NUMBER GENERATOR V2 SUPPORT
  M:    Zaibo Xu <xuzaibo@huawei.com>
@@@ -8648,9 -8594,6 +8648,9 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
  F:    Documentation/ABI/testing/debugfs-hyperv
  F:    Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst
 +F:    arch/arm64/hyperv
 +F:    arch/arm64/include/asm/hyperv-tlfs.h
 +F:    arch/arm64/include/asm/mshyperv.h
  F:    arch/x86/hyperv
  F:    arch/x86/include/asm/hyperv-tlfs.h
  F:    arch/x86/include/asm/mshyperv.h
@@@ -9097,7 -9040,7 +9097,7 @@@ F:      drivers/usb/atm/ueagle-atm.
  IMGTEC ASCII LCD DRIVER
  M:    Paul Burton <paulburton@kernel.org>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/auxdisplay/img-ascii-lcd.txt
 +F:    Documentation/devicetree/bindings/auxdisplay/img,ascii-lcd.yaml
  F:    drivers/auxdisplay/img-ascii-lcd.c
  
  IMGTEC IR DECODER DRIVER
@@@ -9307,7 -9250,7 +9307,7 @@@ S:      Supporte
  W:    https://01.org/linuxgraphics/
  Q:    http://patchwork.freedesktop.org/project/intel-gfx/
  B:    https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs
 -C:    irc://chat.freenode.net/intel-gfx
 +C:    irc://irc.oftc.net/intel-gfx
  T:    git git://anongit.freedesktop.org/drm-intel
  F:    Documentation/gpu/i915.rst
  F:    drivers/gpu/drm/i915/
@@@ -9805,6 -9748,11 +9805,6 @@@ M:     David Sterba <dsterba@suse.com
  S:    Odd Fixes
  F:    drivers/tty/ipwireless/
  
 -IPX NETWORK LAYER
 -L:    netdev@vger.kernel.org
 -S:    Obsolete
 -F:    include/uapi/linux/ipx.h
 -
  IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
  M:    Marc Zyngier <maz@kernel.org>
  S:    Maintained
@@@ -10154,17 -10102,6 +10154,17 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    Documentation/dev-tools/kselftest*
  F:    tools/testing/selftests/
  
 +KERNEL SMB3 SERVER (KSMBD)
 +M:    Namjae Jeon <linkinjeon@kernel.org>
 +M:    Sergey Senozhatsky <senozhatsky@chromium.org>
 +M:    Steve French <sfrench@samba.org>
 +M:    Hyunchul Lee <hyc.lee@gmail.com>
 +L:    linux-cifs@vger.kernel.org
 +S:    Maintained
 +T:    git git://git.samba.org/ksmbd.git
 +F:    fs/cifs_common/
 +F:    fs/ksmbd/
 +
  KERNEL UNIT TESTING FRAMEWORK (KUnit)
  M:    Brendan Higgins <brendanhiggins@google.com>
  L:    linux-kselftest@vger.kernel.org
@@@ -10450,7 -10387,6 +10450,7 @@@ F:   net/core/skmsg.
  F:    net/core/sock_map.c
  F:    net/ipv4/tcp_bpf.c
  F:    net/ipv4/udp_bpf.c
 +F:    net/unix/unix_bpf.c
  
  LANDLOCK SECURITY MODULE
  M:    Mickaël Salaün <mic@digikod.net>
@@@ -10672,6 -10608,15 +10672,6 @@@ F:  LICENSES
  F:    scripts/spdxcheck-test.sh
  F:    scripts/spdxcheck.py
  
 -LIGHTNVM PLATFORM SUPPORT
 -M:    Matias Bjorling <mb@lightnvm.io>
 -L:    linux-block@vger.kernel.org
 -S:    Maintained
 -W:    http://github/OpenChannelSSD
 -F:    drivers/lightnvm/
 -F:    include/linux/lightnvm.h
 -F:    include/uapi/linux/lightnvm.h
 -
  LINEAR RANGES HELPERS
  M:    Mark Brown <broonie@kernel.org>
  R:    Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
@@@ -11084,18 -11029,6 +11084,18 @@@ F: drivers/mailbox/arm_mhuv2.
  F:    include/linux/mailbox/arm_mhuv2_message.h
  F:    Documentation/devicetree/bindings/mailbox/arm,mhuv2.yaml
  
 +MANAGEMENT COMPONENT TRANSPORT PROTOCOL (MCTP)
 +M:    Jeremy Kerr <jk@codeconstruct.com.au>
 +M:    Matt Johnston <matt@codeconstruct.com.au>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/networking/mctp.rst
 +F:    drivers/net/mctp/
 +F:    include/net/mctp.h
 +F:    include/net/mctpdevice.h
 +F:    include/net/netns/mctp.h
 +F:    net/mctp/
 +
  MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7
  M:    Michael Kerrisk <mtk.manpages@gmail.com>
  L:    linux-man@vger.kernel.org
@@@ -11393,18 -11326,6 +11393,18 @@@ W: https://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/radio/radio-maxiradio*
  
 +MAXLINEAR ETHERNET PHY DRIVER
 +M:    Xu Liang <lxu@maxlinear.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +F:    drivers/net/phy/mxl-gpy.c
 +
 +MCBA MICROCHIP CAN BUS ANALYZER TOOL DRIVER
 +R:    Yasushi SHOJI <yashi@spacecubics.com>
 +L:    linux-can@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/can/usb/mcba_usb.c
 +
  MCAN MMIO DEVICE DRIVER
  M:    Chandrasekar Ramakrishnan <rcsekar@samsung.com>
  L:    linux-can@vger.kernel.org
@@@ -11836,7 -11757,6 +11836,7 @@@ F:   drivers/char/hw_random/mtk-rng.
  MEDIATEK SWITCH DRIVER
  M:    Sean Wang <sean.wang@mediatek.com>
  M:    Landen Chao <Landen.Chao@mediatek.com>
 +M:    DENG Qingfang <dqfext@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/dsa/mt7530.*
@@@ -13852,15 -13772,6 +13852,15 @@@ T: git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/i2c/ov8856.yaml
  F:    drivers/media/i2c/ov8856.c
  
 +OMNIVISION OV9282 SENSOR DRIVER
 +M:    Paul J. Murphy <paul.j.murphy@intel.com>
 +M:    Daniele Alessandrelli <daniele.alessandrelli@intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/ovti,ov9282.yaml
 +F:    drivers/media/i2c/ov9282.c
 +
  OMNIVISION OV9640 SENSOR DRIVER
  M:    Petr Cvek <petrcvekcz@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -13951,12 -13862,6 +13951,12 @@@ F: Documentation/devicetree
  F:    arch/*/boot/dts/
  F:    include/dt-bindings/
  
 +OPENCOMPUTE PTP CLOCK DRIVER
 +M:    Jonathan Lemon <jonathan.lemon@gmail.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/ptp/ptp_ocp.c
 +
  OPENCORES I2C BUS DRIVER
  M:    Peter Korsgaard <peter@korsgaard.com>
  M:    Andrew Lunn <andrew@lunn.ch>
@@@ -14282,7 -14187,7 +14282,7 @@@ M:   Lucas Stach <l.stach@pengutronix.de
  L:    linux-pci@vger.kernel.org
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
 +F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
  F:    drivers/pci/controller/dwc/*imx6*
  
  PCI DRIVER FOR FU740
@@@ -14370,8 -14275,7 +14370,8 @@@ M:   Jingoo Han <jingoohan1@gmail.com
  M:    Gustavo Pimentel <gustavo.pimentel@synopsys.com>
  L:    linux-pci@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/pci/designware-pcie.txt
 +F:    Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
 +F:    Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml
  F:    drivers/pci/controller/dwc/*designware*
  
  PCI DRIVER FOR TI DRA7XX/J721E
@@@ -14508,7 -14412,7 +14508,7 @@@ M:   Xiaowei Song <songxiaowei@hisilicon.
  M:    Binghui Wang <wangbinghui@hisilicon.com>
  L:    linux-pci@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/pci/kirin-pcie.txt
 +F:    Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.yaml
  F:    drivers/pci/controller/dwc/pcie-kirin.c
  
  PCIE DRIVER FOR HISILICON STB
@@@ -14518,13 -14422,6 +14518,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/pci/hisilicon-histb-pcie.txt
  F:    drivers/pci/controller/dwc/pcie-histb.c
  
 +PCIE DRIVER FOR INTEL LGM GW SOC
 +M:    Rahul Tanwar <rtanwar@maxlinear.com>
 +L:    linux-pci@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml
 +F:    drivers/pci/controller/dwc/pcie-intel-gw.c
 +
  PCIE DRIVER FOR MEDIATEK
  M:    Ryder Lee <ryder.lee@mediatek.com>
  M:    Jianjun Wang <jianjun.wang@mediatek.com>
@@@ -15021,6 -14918,18 +15021,11 @@@ S: Maintaine
  F:    include/linux/printk.h
  F:    kernel/printk/
  
 -PRISM54 WIRELESS DRIVER
 -M:    Luis Chamberlain <mcgrof@kernel.org>
 -L:    linux-wireless@vger.kernel.org
 -S:    Obsolete
 -W:    https://wireless.wiki.kernel.org/en/users/Drivers/p54
 -F:    drivers/net/wireless/intersil/prism54/
 -
+ PRINTK INDEXING
+ R:    Chris Down <chris@chrisdown.name>
+ S:    Maintained
+ F:    kernel/printk/index.c
  PROC FILESYSTEM
  L:    linux-kernel@vger.kernel.org
  L:    linux-fsdevel@vger.kernel.org
@@@ -15105,13 -15014,6 +15110,13 @@@ F: drivers/net/phy/dp83640
  F:    drivers/ptp/*
  F:    include/linux/ptp_cl*
  
 +PTP VIRTUAL CLOCK SUPPORT
 +M:    Yangbo Lu <yangbo.lu@nxp.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/ptp/ptp_vclock.c
 +F:    net/ethtool/phc_vclocks.c
 +
  PTRACE SUPPORT
  M:    Oleg Nesterov <oleg@redhat.com>
  S:    Maintained
@@@ -15562,8 -15464,6 +15567,8 @@@ M:   Pan, Xinhui <Xinhui.Pan@amd.com
  L:    amd-gfx@lists.freedesktop.org
  S:    Supported
  T:    git https://gitlab.freedesktop.org/agd5f/linux.git
 +B:    https://gitlab.freedesktop.org/drm/amd/-/issues
 +C:    irc://irc.oftc.net/radeon
  F:    drivers/gpu/drm/amd/
  F:    drivers/gpu/drm/radeon/
  F:    include/uapi/drm/amdgpu_drm.h
@@@ -15891,7 -15791,7 +15896,7 @@@ F:   Documentation/devicetree/bindings/i2
  F:    drivers/i2c/busses/i2c-emev2.c
  
  RENESAS ETHERNET DRIVERS
 -R:    Sergei Shtylyov <sergei.shtylyov@gmail.com>
 +R:    Sergey Shtylyov <s.shtylyov@omp.ru>
  L:    netdev@vger.kernel.org
  L:    linux-renesas-soc@vger.kernel.org
  F:    Documentation/devicetree/bindings/net/renesas,*.yaml
@@@ -15936,14 -15836,6 +15941,14 @@@ L: linux-renesas-soc@vger.kernel.or
  S:    Maintained
  F:    drivers/phy/renesas/phy-rcar-gen3-usb*.c
  
 +RENESAS RZ/G2L A/D DRIVER
 +M:    Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
 +L:    linux-iio@vger.kernel.org
 +L:    linux-renesas-soc@vger.kernel.org
 +S:    Supported
 +F:    Documentation/devicetree/bindings/iio/adc/renesas,rzg2l-adc.yaml
 +F:    drivers/iio/adc/rzg2l_adc.c
 +
  RESET CONTROLLER FRAMEWORK
  M:    Philipp Zabel <p.zabel@pengutronix.de>
  S:    Maintained
@@@ -16414,7 -16306,7 +16419,7 @@@ SAMSUNG EXYNOS TRUE RANDOM NUMBER GENER
  M:    Łukasz Stelmach <l.stelmach@samsung.com>
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.txt
 +F:    Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml
  F:    drivers/char/hw_random/exynos-trng.c
  
  SAMSUNG FRAMEBUFFER DRIVER
@@@ -16552,12 -16444,6 +16557,12 @@@ F: drivers/phy/samsung/phy-s5pv210-usb2
  F:    drivers/phy/samsung/phy-samsung-usb2.c
  F:    drivers/phy/samsung/phy-samsung-usb2.h
  
 +SANCLOUD BEAGLEBONE ENHANCED DEVICE TREE
 +M:    Paul Barker <paul.barker@sancloud.com>
 +R:    Marc Murphy <marc.murphy@sancloud.com>
 +S:    Supported
 +F:    arch/arm/boot/dts/am335x-sancloud*
 +
  SC1200 WDT DRIVER
  M:    Zwane Mwaikambo <zwanem@gmail.com>
  S:    Maintained
@@@ -16817,12 -16703,6 +16822,12 @@@ F: drivers/iio/chemical/scd30_core.
  F:    drivers/iio/chemical/scd30_i2c.c
  F:    drivers/iio/chemical/scd30_serial.c
  
 +SENSIRION SGP40 GAS SENSOR DRIVER
 +M:    Andreas Klinger <ak@it-klinger.de>
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-iio-chemical-sgp40
 +F:    drivers/iio/chemical/sgp40.c
 +
  SENSIRION SPS30 AIR POLLUTION SENSOR DRIVER
  M:    Tomasz Duszynski <tduszyns@gmail.com>
  S:    Maintained
@@@ -17401,15 -17281,6 +17406,15 @@@ T: git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/i2c/sony,imx334.yaml
  F:    drivers/media/i2c/imx334.c
  
 +SONY IMX335 SENSOR DRIVER
 +M:    Paul J. Murphy <paul.j.murphy@intel.com>
 +M:    Daniele Alessandrelli <daniele.alessandrelli@intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/sony,imx335.yaml
 +F:    drivers/media/i2c/imx335.c
 +
  SONY IMX355 SENSOR DRIVER
  M:    Tianshu Qiu <tian.shu.qiu@intel.com>
  L:    linux-media@vger.kernel.org
@@@ -17417,15 -17288,6 +17422,15 @@@ S: Maintaine
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/i2c/imx355.c
  
 +SONY IMX412 SENSOR DRIVER
 +M:    Paul J. Murphy <paul.j.murphy@intel.com>
 +M:    Daniele Alessandrelli <daniele.alessandrelli@intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/sony,imx412.yaml
 +F:    drivers/media/i2c/imx412.c
 +
  SONY MEMORYSTICK SUBSYSTEM
  M:    Maxim Levitsky <maximlevitsky@gmail.com>
  M:    Alex Dubov <oakad@yahoo.com>
@@@ -17745,9 -17607,8 +17750,9 @@@ F:   drivers/staging/olpc_dcon
  
  STAGING - REALTEK RTL8188EU DRIVERS
  M:    Larry Finger <Larry.Finger@lwfinger.net>
 -S:    Odd Fixes
 -F:    drivers/staging/rtl8188eu/
 +M:    Phillip Potter <phil@philpotter.co.uk>
 +S:    Supported
 +F:    drivers/staging/r8188eu/
  
  STAGING - REALTEK RTL8712U DRIVERS
  M:    Larry Finger <Larry.Finger@lwfinger.net>
@@@ -17942,7 -17803,7 +17947,7 @@@ F:   include/linux/sync_file.
  F:    include/uapi/linux/sync_file.h
  
  SYNOPSYS ARC ARCHITECTURE
 -M:    Vineet Gupta <vgupta@synopsys.com>
 +M:    Vineet Gupta <vgupta@kernel.org>
  L:    linux-snps-arc@lists.infradead.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
@@@ -18084,7 -17945,6 +18089,7 @@@ F:   drivers/regulator/scmi-regulator.
  F:    drivers/reset/reset-scmi.c
  F:    include/linux/sc[mp]i_protocol.h
  F:    include/trace/events/scmi.h
 +F:    include/uapi/linux/virtio_scmi.h
  
  SYSTEM RESET/SHUTDOWN DRIVERS
  M:    Sebastian Reichel <sre@kernel.org>
@@@ -19259,7 -19119,7 +19264,7 @@@ M:   Mauro Carvalho Chehab <mchehab@kerne
  L:    linux-usb@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/phy/hisilicon,hi3670-usb3.yaml
 -F:    drivers/phy/hisilicon/phy-kirin970-usb3.c
 +F:    drivers/phy/hisilicon/phy-hi3670-usb3.c
  
  USB ISP116X DRIVER
  M:    Olav Kongas <ok@artecdesign.ee>
@@@ -19844,15 -19704,6 +19849,15 @@@ S: Maintaine
  F:    include/uapi/linux/virtio_snd.h
  F:    sound/virtio/*
  
 +VIRTIO I2C DRIVER
 +M:    Jie Deng <jie.deng@intel.com>
 +M:    Viresh Kumar <viresh.kumar@linaro.org>
 +L:    linux-i2c@vger.kernel.org
 +L:    virtualization@lists.linux-foundation.org
 +S:    Maintained
 +F:    drivers/i2c/busses/i2c-virtio.c
 +F:    include/uapi/linux/virtio_i2c.h
 +
  VIRTUAL BOX GUEST DEVICE DRIVER
  M:    Hans de Goede <hdegoede@redhat.com>
  M:    Arnd Bergmann <arnd@arndb.de>
@@@ -19946,14 -19797,6 +19951,14 @@@ L: netdev@vger.kernel.or
  S:    Supported
  F:    drivers/ptp/ptp_vmw.c
  
 +VMWARE VMCI DRIVER
 +M:    Jorgen Hansen <jhansen@vmware.com>
 +M:    Vishnu Dasa <vdasa@vmware.com>
 +L:    linux-kernel@vger.kernel.org
 +L:    pv-drivers@vmware.com (private)
 +S:    Maintained
 +F:    drivers/misc/vmw_vmci/
 +
  VMWARE VMMOUSE SUBDRIVER
  M:    "VMware Graphics" <linux-graphics-maintainer@vmware.com>
  M:    "VMware, Inc." <pv-drivers@vmware.com>
@@@ -20154,8 -19997,7 +20159,8 @@@ F:   Documentation/devicetree/bindings/ex
  F:    Documentation/devicetree/bindings/mfd/wlf,arizona.yaml
  F:    Documentation/devicetree/bindings/mfd/wm831x.txt
  F:    Documentation/devicetree/bindings/regulator/wlf,arizona.yaml
 -F:    Documentation/devicetree/bindings/sound/wlf,arizona.yaml
 +F:    Documentation/devicetree/bindings/sound/wlf,*.yaml
 +F:    Documentation/devicetree/bindings/sound/wm*
  F:    Documentation/hwmon/wm83??.rst
  F:    arch/arm/mach-s3c/mach-crag6410*
  F:    drivers/clk/clk-wm83*.c
@@@ -171,7 -171,6 +171,6 @@@ extern void panic_flush_kmsg_start(void
  
  extern void panic_flush_kmsg_end(void)
  {
-       printk_safe_flush_on_panic();
        kmsg_dump(KMSG_DUMP_PANIC);
        bust_spinlocks(0);
        debug_locks_off();
@@@ -1104,7 -1103,7 +1103,7 @@@ DEFINE_INTERRUPT_HANDLER(RunModeExcepti
        _exception(SIGTRAP, regs, TRAP_UNK, 0);
  }
  
 -DEFINE_INTERRUPT_HANDLER(single_step_exception)
 +static void __single_step_exception(struct pt_regs *regs)
  {
        clear_single_step(regs);
        clear_br_trace(regs);
        _exception(SIGTRAP, regs, TRAP_TRACE, regs->nip);
  }
  
 +DEFINE_INTERRUPT_HANDLER(single_step_exception)
 +{
 +      __single_step_exception(regs);
 +}
 +
  /*
   * After we have successfully emulated an instruction, we have to
   * check if the instruction was being single-stepped, and if so,
  static void emulate_single_step(struct pt_regs *regs)
  {
        if (single_stepping(regs))
 -              single_step_exception(regs);
 +              __single_step_exception(regs);
  }
  
  static inline int __parse_fpscr(unsigned long fpscr)
diff --combined drivers/base/core.c
@@@ -574,10 -574,8 +574,10 @@@ static void devlink_remove_symlinks(str
                return;
        }
  
 -      snprintf(buf, len, "supplier:%s:%s", dev_bus_name(sup), dev_name(sup));
 -      sysfs_remove_link(&con->kobj, buf);
 +      if (device_is_registered(con)) {
 +              snprintf(buf, len, "supplier:%s:%s", dev_bus_name(sup), dev_name(sup));
 +              sysfs_remove_link(&con->kobj, buf);
 +      }
        snprintf(buf, len, "consumer:%s:%s", dev_bus_name(con), dev_name(con));
        sysfs_remove_link(&sup->kobj, buf);
        kfree(buf);
@@@ -2002,24 -2000,24 +2002,24 @@@ static inline int device_is_not_partiti
  }
  #endif
  
 -static int
 -device_platform_notify(struct device *dev, enum kobject_action action)
 +static void device_platform_notify(struct device *dev)
  {
 -      int ret;
 -
 -      ret = acpi_platform_notify(dev, action);
 -      if (ret)
 -              return ret;
 +      acpi_device_notify(dev);
  
 -      ret = software_node_notify(dev, action);
 -      if (ret)
 -              return ret;
 +      software_node_notify(dev);
  
 -      if (platform_notify && action == KOBJ_ADD)
 +      if (platform_notify)
                platform_notify(dev);
 -      else if (platform_notify_remove && action == KOBJ_REMOVE)
 +}
 +
 +static void device_platform_notify_remove(struct device *dev)
 +{
 +      acpi_device_notify_remove(dev);
 +
 +      software_node_notify_remove(dev);
 +
 +      if (platform_notify_remove)
                platform_notify_remove(dev);
 -      return 0;
  }
  
  /**
@@@ -2837,7 -2835,6 +2837,7 @@@ void device_initialize(struct device *d
        device_pm_init(dev);
        set_dev_node(dev, -1);
  #ifdef CONFIG_GENERIC_MSI_IRQ
 +      raw_spin_lock_init(&dev->msi_lock);
        INIT_LIST_HEAD(&dev->msi_list);
  #endif
        INIT_LIST_HEAD(&dev->links.consumers);
@@@ -3292,7 -3289,9 +3292,7 @@@ int device_add(struct device *dev
        }
  
        /* notify platform of device entry */
 -      error = device_platform_notify(dev, KOBJ_ADD);
 -      if (error)
 -              goto platform_error;
 +      device_platform_notify(dev);
  
        error = device_create_file(dev, &dev_attr_uevent);
        if (error)
@@@ -3395,7 -3394,8 +3395,7 @@@ done
   SymlinkError:
        device_remove_file(dev, &dev_attr_uevent);
   attrError:
 -      device_platform_notify(dev, KOBJ_REMOVE);
 -platform_error:
 +      device_platform_notify_remove(dev);
        kobject_uevent(&dev->kobj, KOBJ_REMOVE);
        glue_dir = get_glue_dir(dev);
        kobject_del(&dev->kobj);
@@@ -3540,7 -3540,7 +3540,7 @@@ void device_del(struct device *dev
        bus_remove_device(dev);
        device_pm_remove(dev);
        driver_deferred_probe_del(dev);
 -      device_platform_notify(dev, KOBJ_REMOVE);
 +      device_platform_notify_remove(dev);
        device_remove_properties(dev);
        device_links_purge(dev);
  
@@@ -4579,8 -4579,8 +4579,8 @@@ static void __dev_printk(const char *le
                printk("%s(NULL device *): %pV", level, vaf);
  }
  
- void dev_printk(const char *level, const struct device *dev,
-               const char *fmt, ...)
+ void _dev_printk(const char *level, const struct device *dev,
+                const char *fmt, ...)
  {
        struct va_format vaf;
        va_list args;
  
        va_end(args);
  }
- EXPORT_SYMBOL(dev_printk);
+ EXPORT_SYMBOL(_dev_printk);
  
  #define define_dev_printk_level(func, kern_level)             \
  void func(const struct device *dev, const char *fmt, ...)     \
                                                                        \
        TRACEDATA                                                       \
                                                                        \
+       PRINTK_INDEX                                                    \
+                                                                       \
        /* Kernel symbol table: Normal symbols */                       \
        __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
                __start___ksymtab = .;                                  \
                NOINSTR_TEXT                                            \
                *(.text..refcount)                                      \
                *(.ref.text)                                            \
 +              *(.text.asan.* .text.tsan.*)                            \
                TEXT_CFI_JT                                             \
        MEM_KEEP(init.text*)                                            \
        MEM_KEEP(exit.text*)                                            \
  #define TRACEDATA
  #endif
  
+ #ifdef CONFIG_PRINTK_INDEX
+ #define PRINTK_INDEX                                                  \
+       .printk_index : AT(ADDR(.printk_index) - LOAD_OFFSET) {         \
+               __start_printk_index = .;                               \
+               *(.printk_index)                                        \
+               __stop_printk_index = .;                                \
+       }
+ #else
+ #define PRINTK_INDEX
+ #endif
  #define NOTES                                                         \
        .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
                __start_notes = .;                                      \
diff --combined init/Kconfig
@@@ -775,6 -775,20 +775,20 @@@ config PRINTK_SAFE_LOG_BUF_SHIF
                     13 =>   8 KB for each CPU
                     12 =>   4 KB for each CPU
  
+ config PRINTK_INDEX
+       bool "Printk indexing debugfs interface"
+       depends on PRINTK && DEBUG_FS
+       help
+         Add support for indexing of all printk formats known at compile time
+         at <debugfs>/printk/index/<module>.
+         This can be used as part of maintaining daemons which monitor
+         /dev/kmsg, as it permits auditing the printk formats present in a
+         kernel, allowing detection of cases where monitored printks are
+         changed or no longer present.
+         There is no additional runtime cost to printk with this enabled.
  #
  # Architectures with an unreliable sched_clock() should select this:
  #
@@@ -1509,11 -1523,6 +1523,6 @@@ config PRINT
          very difficult to diagnose system problems, saying N here is
          strongly discouraged.
  
- config PRINTK_NMI
-       def_bool y
-       depends on PRINTK
-       depends on HAVE_NMI
  config BUG
        bool "BUG() support" if EXPERT
        default y
@@@ -1847,6 -1856,7 +1856,6 @@@ config SLUB_DEBU
        default y
        bool "Enable SLUB debugging support" if EXPERT
        depends on SLUB && SYSFS
 -      select STACKDEPOT if STACKTRACE_SUPPORT
        help
          SLUB has extensive debug support features. Disabling these can
          result in significant savings in code size. This also disables
diff --combined kernel/trace/trace.c
@@@ -2897,26 -2897,14 +2897,26 @@@ int tracepoint_printk_sysctl(struct ctl
  
  void trace_event_buffer_commit(struct trace_event_buffer *fbuffer)
  {
 +      enum event_trigger_type tt = ETT_NONE;
 +      struct trace_event_file *file = fbuffer->trace_file;
 +
 +      if (__event_trigger_test_discard(file, fbuffer->buffer, fbuffer->event,
 +                      fbuffer->entry, &tt))
 +              goto discard;
 +
        if (static_key_false(&tracepoint_printk_key.key))
                output_printk(fbuffer);
  
        if (static_branch_unlikely(&trace_event_exports_enabled))
                ftrace_exports(fbuffer->event, TRACE_EXPORT_EVENT);
 -      event_trigger_unlock_commit_regs(fbuffer->trace_file, fbuffer->buffer,
 -                                  fbuffer->event, fbuffer->entry,
 -                                  fbuffer->trace_ctx, fbuffer->regs);
 +
 +      trace_buffer_unlock_commit_regs(file->tr, fbuffer->buffer,
 +                      fbuffer->event, fbuffer->trace_ctx, fbuffer->regs);
 +
 +discard:
 +      if (tt)
 +              event_triggers_post_call(file, tt);
 +
  }
  EXPORT_SYMBOL_GPL(trace_event_buffer_commit);
  
@@@ -5621,10 -5609,6 +5621,10 @@@ static const char readme_msg[] 
        "\t            [:name=histname1]\n"
        "\t            [:<handler>.<action>]\n"
        "\t            [if <filter>]\n\n"
 +      "\t    Note, special fields can be used as well:\n"
 +      "\t            common_timestamp - to record current timestamp\n"
 +      "\t            common_cpu - to record the CPU the event happened on\n"
 +      "\n"
        "\t    When a matching event is hit, an entry is added to a hash\n"
        "\t    table using the key(s) and value(s) named, and the value of a\n"
        "\t    sum called 'hitcount' is incremented.  Keys and values\n"
@@@ -9147,10 -9131,8 +9147,10 @@@ static int trace_array_create_dir(struc
                return -EINVAL;
  
        ret = event_trace_add_tracer(tr->dir, tr);
 -      if (ret)
 +      if (ret) {
                tracefs_remove(tr->dir);
 +              return ret;
 +      }
  
        init_tracer_tracefs(tr, tr->dir);
        __update_tracer_options(tr);
@@@ -9815,7 -9797,6 +9815,6 @@@ void ftrace_dump(enum ftrace_dump_mode 
        tracing_off();
  
        local_irq_save(flags);
-       printk_nmi_direct_enter();
  
        /* Simulate the iterator */
        trace_init_global_iter(&iter);
                atomic_dec(&per_cpu_ptr(iter.array_buffer->data, cpu)->disabled);
        }
        atomic_dec(&dump_running);
-       printk_nmi_direct_exit();
        local_irq_restore(flags);
  }
  EXPORT_SYMBOL_GPL(ftrace_dump);