Merge tag 'trace-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 5 Sep 2021 18:50:41 +0000 (11:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 5 Sep 2021 18:50:41 +0000 (11:50 -0700)
Pull tracing updates from Steven Rostedt:

 - simplify the Kconfig use of FTRACE and TRACE_IRQFLAGS_SUPPORT

 - bootconfig can now start histograms

 - bootconfig supports group/all enabling

 - histograms now can put values in linear size buckets

 - execnames can be passed to synthetic events

 - introduce "event probes" that attach to other events and can retrieve
   data from pointers of fields, or record fields as different types (a
   pointer to a string as a string instead of just a hex number)

 - various fixes and clean ups

* tag 'trace-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (35 commits)
  tracing/doc: Fix table format in histogram code
  selftests/ftrace: Add selftest for testing duplicate eprobes and kprobes
  selftests/ftrace: Add selftest for testing eprobe events on synthetic events
  selftests/ftrace: Add test case to test adding and removing of event probe
  selftests/ftrace: Fix requirement check of README file
  selftests/ftrace: Add clear_dynamic_events() to test cases
  tracing: Add a probe that attaches to trace events
  tracing/probes: Reject events which have the same name of existing one
  tracing/probes: Have process_fetch_insn() take a void * instead of pt_regs
  tracing/probe: Change traceprobe_set_print_fmt() to take a type
  tracing/probes: Use struct_size() instead of defining custom macros
  tracing/probes: Allow for dot delimiter as well as slash for system names
  tracing/probe: Have traceprobe_parse_probe_arg() take a const arg
  tracing: Have dynamic events have a ref counter
  tracing: Add DYNAMIC flag for dynamic events
  tracing: Replace deprecated CPU-hotplug functions.
  MAINTAINERS: Add an entry for os noise/latency
  tracepoint: Fix kerneldoc comments
  bootconfig/tracing/ktest: Update ktest example for boot-time tracing
  tools/bootconfig: Use per-group/all enable option in ftrace2bconf script
  ...

21 files changed:
1  2 
MAINTAINERS
arch/Kconfig
arch/arc/Kconfig
arch/arm/Kconfig
arch/arm64/Kconfig
arch/hexagon/Kconfig
arch/mips/Kconfig
arch/nds32/Kconfig
arch/nios2/Kconfig
arch/openrisc/Kconfig
arch/parisc/Kconfig
arch/powerpc/Kconfig
arch/riscv/Kconfig
arch/s390/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/um/Kconfig
arch/x86/Kconfig
arch/xtensa/Kconfig
include/linux/trace_events.h
kernel/trace/trace.c

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
@@@ -798,7 -792,7 +798,7 @@@ F: Documentation/devicetree/bindings/i2
  F:    drivers/i2c/busses/i2c-altera.c
  
  ALTERA MAILBOX DRIVER
 -M:    Ley Foon Tan <ley.foon.tan@intel.com>
 +M:    Joyce Ooi <joyce.ooi@intel.com>
  S:    Maintained
  F:    drivers/mailbox/mailbox-altera.c
  
@@@ -1268,13 -1262,6 +1268,13 @@@ L:    linux-input@vger.kernel.or
  S:    Odd fixes
  F:    drivers/input/mouse/bcm5974.c
  
 +APPLE DART IOMMU DRIVER
 +M:    Sven Peter <sven@svenpeter.dev>
 +L:    iommu@lists.linux-foundation.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iommu/apple,dart.yaml
 +F:    drivers/iommu/apple-dart.c
 +
  APPLE SMC DRIVER
  M:    Henrik Rydberg <rydberg@bitmath.org>
  L:    linux-hwmon@vger.kernel.org
@@@ -1329,13 -1316,6 +1329,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
@@@ -1402,7 -1382,7 +1402,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
@@@ -1496,7 -1476,7 +1496,7 @@@ F:      drivers/amba
  F:    include/linux/amba/bus.h
  
  ARM PRIMECELL PL35X NAND CONTROLLER DRIVER
 -M:    Miquel Raynal <miquel.raynal@bootlin.com@bootlin.com>
 +M:    Miquel Raynal <miquel.raynal@bootlin.com>
  M:    Naga Sureshkumar Relli <nagasure@xilinx.com>
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
@@@ -1504,11 -1484,11 +1504,11 @@@ F:   Documentation/devicetree/bindings/mt
  F:    drivers/mtd/nand/raw/pl35x-nand-controller.c
  
  ARM PRIMECELL PL35X SMC DRIVER
 -M:    Miquel Raynal <miquel.raynal@bootlin.com@bootlin.com>
 +M:    Miquel Raynal <miquel.raynal@bootlin.com>
  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
@@@ -1710,7 -1690,7 +1710,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
@@@ -2030,12 -2010,10 +2030,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
@@@ -2864,7 -2842,7 +2864,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>
@@@ -3219,7 -3197,7 +3219,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
@@@ -3431,6 -3409,7 +3431,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
@@@ -3876,7 -3855,7 +3876,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
@@@ -3887,16 -3866,6 +3887,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
@@@ -4529,10 -4498,9 +4529,10 @@@ 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/Makefile.clang
  F:    scripts/clang-tools/
  K:    \b(?i:clang|llvm)\b
  
@@@ -4642,7 -4610,7 +4642,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)
@@@ -4651,7 -4619,6 +4651,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>
@@@ -5603,7 -5570,7 +5603,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
@@@ -5717,7 -5684,6 +5717,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*
  
@@@ -5741,11 -5707,6 +5741,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>
@@@ -5809,7 -5770,7 +5809,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>
@@@ -5994,13 -5955,6 +5994,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>
@@@ -6099,27 -6053,21 +6099,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/
@@@ -6612,7 -6560,6 +6612,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
@@@ -6854,6 -6801,7 +6854,6 @@@ F:      Documentation/admin-guide/media/em28
  F:    drivers/media/usb/em28xx/
  
  EMBEDDED LINUX
 -M:    Paul Gortmaker <paul.gortmaker@windriver.com>
  M:    Matt Mackall <mpm@selenic.com>
  M:    David Woodhouse <dwmw2@infradead.org>
  L:    linux-embedded@vger.kernel.org
@@@ -6956,12 -6904,6 +6956,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>
@@@ -7003,7 -6945,7 +7003,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
@@@ -7916,9 -7858,9 +7916,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
@@@ -8453,7 -8395,7 +8453,7 @@@ F:      drivers/crypto/hisilicon/sgl.
  F:    drivers/crypto/hisilicon/zip/
  
  HISILICON ROCE DRIVER
 -M:    Lijun Ou <oulijun@huawei.com>
 +M:    Wenpeng Liang <liangwenpeng@huawei.com>
  M:    Weihang Li <liweihang@huawei.com>
  L:    linux-rdma@vger.kernel.org
  S:    Maintained
@@@ -8491,12 -8433,10 +8491,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>
@@@ -8655,9 -8595,6 +8655,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
@@@ -9104,7 -9041,7 +9104,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
@@@ -9276,20 -9213,13 +9276,20 @@@ INTEL ATOMISP2 DUMMY / POWER-MANAGEMEN
  M:    Hans de Goede <hdegoede@redhat.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
 -F:    drivers/platform/x86/intel_atomisp2_pm.c
 +F:    drivers/platform/x86/intel/atomisp2/pm.c
  
  INTEL ATOMISP2 LED DRIVER
  M:    Hans de Goede <hdegoede@redhat.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
 -F:    drivers/platform/x86/intel_atomisp2_led.c
 +F:    drivers/platform/x86/intel/atomisp2/led.c
 +
 +INTEL BIOS SAR INT1092 DRIVER
 +M:    Shravan S <s.shravan@intel.com>
 +M:    Intel Corporation <linuxwwan@intel.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/intel/int1092/
  
  INTEL BROXTON PMC DRIVER
  M:    Mika Westerberg <mika.westerberg@linux.intel.com>
@@@ -9321,7 -9251,7 +9321,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/
@@@ -9385,7 -9315,7 +9385,7 @@@ INTEL HID EVENT DRIVE
  M:    Alex Hung <alex.hung@canonical.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
 -F:    drivers/platform/x86/intel-hid.c
 +F:    drivers/platform/x86/intel/hid.c
  
  INTEL I/OAT DMA DRIVER
  M:    Dave Jiang <dave.jiang@intel.com>
@@@ -9529,17 -9459,17 +9529,17 @@@ F:   include/linux/mfd/intel-m10-bmc.
  
  INTEL MENLOW THERMAL DRIVER
  M:    Sujith Thomas <sujith.thomas@intel.com>
 -L:    platform-driver-x86@vger.kernel.org
 +L:    linux-pm@vger.kernel.org
  S:    Supported
  W:    https://01.org/linux-acpi
 -F:    drivers/platform/x86/intel_menlow.c
 +F:    drivers/thermal/intel/intel_menlow.c
  
  INTEL P-Unit IPC DRIVER
  M:    Zha Qipeng <qipeng.zha@intel.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    arch/x86/include/asm/intel_punit_ipc.h
 -F:    drivers/platform/x86/intel_punit_ipc.c
 +F:    drivers/platform/x86/intel/punit_ipc.c
  
  INTEL PMC CORE DRIVER
  M:    Rajneesh Bhardwaj <irenic.rajneesh@gmail.com>
@@@ -9547,7 -9477,7 +9547,7 @@@ M:      David E Box <david.e.box@intel.com
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-platform-intel-pmc
 -F:    drivers/platform/x86/intel_pmc_core*
 +F:    drivers/platform/x86/intel/pmc/
  
  INTEL PMIC GPIO DRIVERS
  M:    Andy Shevchenko <andy@kernel.org>
@@@ -9565,7 -9495,7 +9565,7 @@@ INTEL PMT DRIVE
  M:    "David E. Box" <david.e.box@linux.intel.com>
  S:    Maintained
  F:    drivers/mfd/intel_pmt.c
 -F:    drivers/platform/x86/intel_pmt_*
 +F:    drivers/platform/x86/intel/pmt/
  
  INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
  M:    Stanislav Yakovlev <stas.yakovlev@gmail.com>
@@@ -9602,7 -9532,7 +9602,7 @@@ INTEL SPEED SELECT TECHNOLOG
  M:    Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
 -F:    drivers/platform/x86/intel_speed_select_if/
 +F:    drivers/platform/x86/intel/speed_select_if/
  F:    include/uapi/linux/isst_if.h
  F:    tools/power/x86/intel-speed-select/
  
@@@ -9623,19 -9553,19 +9623,19 @@@ M:   "David E. Box" <david.e.box@linux.in
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    arch/x86/include/asm/intel_telemetry.h
 -F:    drivers/platform/x86/intel_telemetry*
 +F:    drivers/platform/x86/intel/telemetry/
  
  INTEL UNCORE FREQUENCY CONTROL
  M:    Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
 -F:    drivers/platform/x86/intel-uncore-frequency.c
 +F:    drivers/platform/x86/intel/uncore-frequency.c
  
  INTEL VIRTUAL BUTTON DRIVER
  M:    AceLan Kao <acelan.kao@canonical.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
 -F:    drivers/platform/x86/intel-vbtn.c
 +F:    drivers/platform/x86/intel/vbtn.c
  
  INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
  M:    Stanislaw Gruszka <stf_xl@wp.pl>
@@@ -9656,12 -9586,12 +9656,12 @@@ M:   Jithu Joseph <jithu.joseph@intel.com
  R:    Maurice Ma <maurice.ma@intel.com>
  S:    Maintained
  W:    https://slimbootloader.github.io/security/firmware-update.html
 -F:    drivers/platform/x86/intel-wmi-sbl-fw-update.c
 +F:    drivers/platform/x86/intel/wmi/sbl-fw-update.c
  
  INTEL WMI THUNDERBOLT FORCE POWER DRIVER
  L:    Dell.Client.Kernel@dell.com
  S:    Maintained
 -F:    drivers/platform/x86/intel-wmi-thunderbolt.c
 +F:    drivers/platform/x86/intel/wmi/thunderbolt.c
  
  INTEL WWAN IOSM DRIVER
  M:    M Chetan Kumar <m.chetan.kumar@intel.com>
@@@ -9819,6 -9749,11 +9819,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
@@@ -10117,7 -10052,6 +10117,7 @@@ F:   fs/autofs
  KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
  M:    Masahiro Yamada <masahiroy@kernel.org>
  M:    Michal Marek <michal.lkml@markovi.net>
 +R:    Nick Desaulniers <ndesaulniers@google.com>
  L:    linux-kbuild@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
@@@ -10169,17 -10103,6 +10169,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
@@@ -10465,7 -10388,6 +10465,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>
@@@ -10687,6 -10609,15 +10687,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>
@@@ -11099,18 -11030,6 +11099,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
@@@ -11121,7 -11040,7 +11121,7 @@@ MARDUK (CREATOR CI40) DEVICE TREE SUPPO
  M:    Rahul Bedarkar <rahulbedarkar89@gmail.com>
  L:    linux-mips@vger.kernel.org
  S:    Maintained
 -F:    arch/mips/boot/dts/img/pistachio_marduk.dts
 +F:    arch/mips/boot/dts/img/pistachio*
  
  MARVELL 88E6XXX ETHERNET SWITCH FABRIC DRIVER
  M:    Andrew Lunn <andrew@lunn.ch>
@@@ -11408,18 -11327,6 +11408,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
@@@ -11851,7 -11758,6 +11851,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.*
@@@ -13340,15 -13246,6 +13340,15 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    Documentation/filesystems/ntfs.rst
  F:    fs/ntfs/
  
 +NTFS3 FILESYSTEM
 +M:    Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
 +L:    ntfs3@lists.linux.dev
 +S:    Supported
 +W:    http://www.paragon-software.com/
 +T:    git https://github.com/Paragon-Software-Group/linux-ntfs3.git
 +F:    Documentation/filesystems/ntfs3.rst
 +F:    fs/ntfs3/
 +
  NUBUS SUBSYSTEM
  M:    Finn Thain <fthain@linux-m68k.org>
  L:    linux-m68k@lists.linux-m68k.org
@@@ -13876,15 -13773,6 +13876,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
@@@ -13975,12 -13863,6 +13975,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>
@@@ -14306,7 -14188,7 +14306,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
@@@ -14394,8 -14276,7 +14394,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
@@@ -14532,7 -14413,7 +14532,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
@@@ -14542,13 -14423,6 +14542,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>
@@@ -14744,12 -14618,6 +14744,12 @@@ F: Documentation/driver-api/pin-control
  F:    drivers/pinctrl/
  F:    include/linux/pinctrl/
  
 +PIN CONTROLLER - AMD
 +M:    Basavaraj Natikar <Basavaraj.Natikar@amd.com>
 +M:    Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
 +S:    Maintained
 +F:    drivers/pinctrl/pinctrl-amd.c
 +
  PIN CONTROLLER - FREESCALE
  M:    Dong Aisheng <aisheng.dong@nxp.com>
  M:    Fabio Estevam <festevam@gmail.com>
@@@ -14768,19 -14636,12 +14768,19 @@@ S:        Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel.git
  F:    drivers/pinctrl/intel/
  
 +PIN CONTROLLER - KEEMBAY
 +M:    Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>
 +S:    Supported
 +F:    drivers/pinctrl/pinctrl-keembay*
 +
  PIN CONTROLLER - MEDIATEK
  M:    Sean Wang <sean.wang@kernel.org>
  L:    linux-mediatek@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -F:    Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt
 -F:    Documentation/devicetree/bindings/pinctrl/pinctrl-mt7622.txt
 +F:    Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/mediatek,mt6797-pinctrl.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml
  F:    drivers/pinctrl/mediatek/
  
  PIN CONTROLLER - MICROCHIP AT91
@@@ -14834,6 -14695,14 +14834,6 @@@ S:  Maintaine
  W:    http://www.st.com/spear
  F:    drivers/pinctrl/spear/
  
 -PISTACHIO SOC SUPPORT
 -M:    James Hartley <james.hartley@sondrel.com>
 -L:    linux-mips@vger.kernel.org
 -S:    Odd Fixes
 -F:    arch/mips/boot/dts/img/pistachio*
 -F:    arch/mips/configs/pistachio*_defconfig
 -F:    arch/mips/pistachio/
 -
  PKTCDVD DRIVER
  M:    linux-block@vger.kernel.org
  S:    Orphan
@@@ -15050,10 -14919,12 +15050,10 @@@ 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
@@@ -15596,8 -15467,6 +15596,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
@@@ -15925,7 -15794,7 +15925,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
@@@ -15970,14 -15839,6 +15970,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
@@@ -16448,7 -16309,7 +16448,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
@@@ -16541,14 -16402,10 +16541,14 @@@ L:        linux-samsung-soc@vger.kernel.or
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk.git
  F:    Documentation/devicetree/bindings/clock/exynos*.txt
 +F:    Documentation/devicetree/bindings/clock/samsung,*.yaml
  F:    Documentation/devicetree/bindings/clock/samsung,s3c*
  F:    Documentation/devicetree/bindings/clock/samsung,s5p*
  F:    drivers/clk/samsung/
  F:    include/dt-bindings/clock/exynos*.h
 +F:    include/dt-bindings/clock/s3c*.h
 +F:    include/dt-bindings/clock/s5p*.h
 +F:    include/dt-bindings/clock/samsung,*.h
  F:    include/linux/clk/samsung.h
  F:    include/linux/platform_data/clk-s3c2410.h
  
@@@ -16590,12 -16447,6 +16590,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
@@@ -16855,12 -16706,6 +16855,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
@@@ -17439,15 -17284,6 +17439,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
@@@ -17455,15 -17291,6 +17455,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>
@@@ -17783,9 -17610,8 +17783,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>
@@@ -17980,7 -17806,7 +17980,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
@@@ -18122,7 -17948,6 +18122,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>
@@@ -18973,14 -18798,20 +18973,28 @@@ F:        arch/x86/mm/testmmiotrace.
  F:    include/linux/mmiotrace.h
  F:    kernel/trace/trace_mmiotrace.c
  
+ TRACING OS NOISE / LATENCY TRACERS
+ M:    Steven Rostedt <rostedt@goodmis.org>
+ M:    Daniel Bristot de Oliveira <bristot@kernel.org>
+ S:    Maintained
+ F:    kernel/trace/trace_osnoise.c
+ F:    include/trace/events/osnoise.h
+ F:    kernel/trace/trace_hwlat.c
+ F:    kernel/trace/trace_irqsoff.c
+ F:    kernel/trace/trace_sched_wakeup.c
+ F:    Documentation/trace/osnoise-tracer.rst
+ F:    Documentation/trace/timerlat-tracer.rst
+ F:    Documentation/trace/hwlat_detector.rst
+ F:    arch/*/kernel/trace.c
 +TRADITIONAL CHINESE DOCUMENTATION
 +M:    Hu Haowen <src.res@email.cn>
 +L:    linux-doc-tw-discuss@lists.sourceforge.net
 +S:    Maintained
 +W:    https://github.com/srcres258/linux-doc
 +T:    git git://github.com/srcres258/linux-doc.git doc-zh-tw
 +F:    Documentation/translations/zh_TW/
 +
  TRIVIAL PATCHES
  M:    Jiri Kosina <trivial@kernel.org>
  S:    Maintained
@@@ -19305,7 -19136,7 +19319,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>
@@@ -19640,7 -19471,6 +19654,7 @@@ T:   git git://github.com/awilliam/linux-
  F:    Documentation/driver-api/vfio.rst
  F:    drivers/vfio/
  F:    include/linux/vfio.h
 +F:    include/linux/vfio_pci_core.h
  F:    include/uapi/linux/vfio.h
  
  VFIO FSL-MC DRIVER
@@@ -19891,15 -19721,6 +19905,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>
@@@ -19993,14 -19814,6 +20007,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>
@@@ -20201,8 -20014,7 +20215,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
diff --combined arch/Kconfig
@@@ -197,6 -197,9 +197,9 @@@ config HAVE_FUNCTION_ERROR_INJECTIO
  config HAVE_NMI
        bool
  
+ config TRACE_IRQFLAGS_SUPPORT
+       bool
  #
  # An arch should select this if it provides all these things:
  #
@@@ -1282,9 -1285,6 +1285,9 @@@ config ARCH_SPLIT_ARG6
  config ARCH_HAS_ELFCORE_COMPAT
        bool
  
 +config ARCH_HAS_PARANOID_L1D_FLUSH
 +      bool
 +
  source "kernel/gcov/Kconfig"
  
  source "scripts/gcc-plugins/Kconfig"
diff --combined arch/arc/Kconfig
@@@ -49,9 -49,7 +49,7 @@@ config AR
        select PERF_USE_VMALLOC if ARC_CACHE_VIPT_ALIASING
        select HAVE_ARCH_JUMP_LABEL if ISA_ARCV2 && !CPU_ENDIAN_BE32
        select SET_FS
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool y
+       select TRACE_IRQFLAGS_SUPPORT
  
  config LOCKDEP_SUPPORT
        def_bool y
@@@ -116,9 -114,16 +114,9 @@@ choic
        default ARC_CPU_770 if ISA_ARCOMPACT
        default ARC_CPU_HS if ISA_ARCV2
  
 -if ISA_ARCOMPACT
 -
 -config ARC_CPU_750D
 -      bool "ARC750D"
 -      select ARC_CANT_LLSC
 -      help
 -        Support for ARC750 core
 -
  config ARC_CPU_770
        bool "ARC770"
 +      depends on ISA_ARCOMPACT
        select ARC_HAS_SWAPE
        help
          Support for ARC770 core introduced with Rel 4.10 (Summer 2011)
          -Caches: New Prog Model, Region Flush
          -Insns: endian swap, load-locked/store-conditional, time-stamp-ctr
  
 -endif #ISA_ARCOMPACT
 -
  config ARC_CPU_HS
        bool "ARC-HS"
        depends on ISA_ARCV2
@@@ -265,17 -272,33 +263,17 @@@ config ARC_DCCM_BAS
  
  choice
        prompt "MMU Version"
 -      default ARC_MMU_V3 if ARC_CPU_770
 -      default ARC_MMU_V2 if ARC_CPU_750D
 -      default ARC_MMU_V4 if ARC_CPU_HS
 -
 -if ISA_ARCOMPACT
 -
 -config ARC_MMU_V1
 -      bool "MMU v1"
 -      help
 -        Orig ARC700 MMU
 -
 -config ARC_MMU_V2
 -      bool "MMU v2"
 -      help
 -        Fixed the deficiency of v1 - possible thrashing in memcpy scenario
 -        when 2 D-TLB and 1 I-TLB entries index into same 2way set.
 +      default ARC_MMU_V3 if ISA_ARCOMPACT
 +      default ARC_MMU_V4 if ISA_ARCV2
  
  config ARC_MMU_V3
        bool "MMU v3"
 -      depends on ARC_CPU_770
 +      depends on ISA_ARCOMPACT
        help
          Introduced with ARC700 4.10: New Features
          Variable Page size (1k-16k), var JTLB size 128 x (2 or 4)
          Shared Address Spaces (SASID)
  
 -endif
 -
  config ARC_MMU_V4
        bool "MMU v4"
        depends on ISA_ARCV2
@@@ -294,6 -317,7 +292,6 @@@ config ARC_PAGE_SIZE_8
  
  config ARC_PAGE_SIZE_16K
        bool "16KB"
 -      depends on ARC_MMU_V3 || ARC_MMU_V4
  
  config ARC_PAGE_SIZE_4K
        bool "4KB"
@@@ -314,10 -338,6 +312,10 @@@ config ARC_HUGEPAGE_16
  
  endchoice
  
 +config PGTABLE_LEVELS
 +      int "Number of Page table levels"
 +      default 2
 +
  config ARC_COMPACT_IRQ_LEVELS
        depends on ISA_ARCOMPACT
        bool "Setup Timer IRQ as high Priority"
@@@ -387,7 -407,7 +385,7 @@@ choic
        help
          Depending on the configuration, CPU can contain DSP registers
          (ACC0_GLO, ACC0_GHI, DSP_BFLY0, DSP_CTRL, DSP_FFT_CTRL).
 -        Bellow is options describing how to handle these registers in
 +        Below are options describing how to handle these registers in
          interrupt entry / exit and in context switch.
  
  config ARC_DSP_NONE
@@@ -541,6 -561,9 +539,6 @@@ config ARC_DW2_UNWIN
          If you don't debug the kernel, you can say N, but we may not be able
          to solve problems without frame unwind information
  
 -config ARC_DBG_TLB_PARANOIA
 -      bool "Paranoia Checks in Low Level TLB Handlers"
 -
  config ARC_DBG_JUMP_LABEL
        bool "Paranoid checks in Static Keys (jump labels) code"
        depends on JUMP_LABEL
diff --combined arch/arm/Kconfig
@@@ -18,8 -18,8 +18,8 @@@ config AR
        select ARCH_HAS_SET_MEMORY
        select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
        select ARCH_HAS_STRICT_MODULE_RWX if MMU
 -      select ARCH_HAS_SYNC_DMA_FOR_DEVICE if SWIOTLB
 -      select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB
 +      select ARCH_HAS_SYNC_DMA_FOR_DEVICE if SWIOTLB || !MMU
 +      select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
        select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_HAVE_CUSTOM_GPIO_H
@@@ -44,7 -44,6 +44,7 @@@
        select CPU_PM if SUSPEND || CPU_IDLE
        select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
        select DMA_DECLARE_COHERENT
 +      select DMA_GLOBAL_POOL if !MMU
        select DMA_OPS
        select DMA_REMAP if MMU
        select EDAC_SUPPORT
@@@ -64,6 -63,8 +64,6 @@@
        select GENERIC_PCI_IOMAP
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select HANDLE_DOMAIN_IRQ
        select HARDIRQS_SW_RESEND
        select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
@@@ -94,6 -95,7 +94,6 @@@
        select HAVE_FUNCTION_TRACER if !XIP_KERNEL
        select HAVE_GCC_PLUGINS
        select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
 -      select HAVE_IDE if PCI || ISA || PCMCIA
        select HAVE_IRQ_TIME_ACCOUNTING
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_LZ4
        select RTC_LIB
        select SET_FS
        select SYS_SUPPORTS_APM_EMULATION
+       select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M
        # Above selects are sorted alphabetically; please add new ones
        # according to that.  Thanks.
        help
@@@ -189,10 -192,6 +190,6 @@@ config LOCKDEP_SUPPOR
        bool
        default y
  
- config TRACE_IRQFLAGS_SUPPORT
-       bool
-       default !CPU_V7M
  config ARCH_HAS_ILOG2_U32
        bool
  
@@@ -359,6 -358,7 +356,6 @@@ config ARCH_FOOTBRIDG
        bool "FootBridge"
        select CPU_SA110
        select FOOTBRIDGE
 -      select HAVE_IDE
        select NEED_MACH_IO_H if !MMU
        select NEED_MACH_MEMORY_H
        help
@@@ -427,6 -427,7 +424,6 @@@ config ARCH_PX
        select GENERIC_IRQ_MULTI_HANDLER
        select GPIO_PXA
        select GPIOLIB
 -      select HAVE_IDE
        select IRQ_DOMAIN
        select PLAT_PXA
        select SPARSE_IRQ
@@@ -442,6 -443,7 +439,6 @@@ config ARCH_RP
        select ARM_HAS_SG_CHAIN
        select CPU_SA110
        select FIQ
 -      select HAVE_IDE
        select HAVE_PATA_PLATFORM
        select ISA_DMA_API
        select LEGACY_TIMER_TICK
@@@ -464,6 -466,7 +461,6 @@@ config ARCH_SA110
        select CPU_SA1100
        select GENERIC_IRQ_MULTI_HANDLER
        select GPIOLIB
 -      select HAVE_IDE
        select IRQ_DOMAIN
        select ISA
        select NEED_MACH_MEMORY_H
@@@ -499,6 -502,7 +496,6 @@@ config ARCH_OMAP
        select GENERIC_IRQ_CHIP
        select GENERIC_IRQ_MULTI_HANDLER
        select GPIOLIB
 -      select HAVE_IDE
        select HAVE_LEGACY_CLK
        select IRQ_DOMAIN
        select NEED_MACH_IO_H if PCCARD
diff --combined arch/arm64/Kconfig
@@@ -130,6 -130,8 +130,6 @@@ config ARM6
        select GENERIC_PTDUMP
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
        select GENERIC_VDSO_TIME_NS
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_MMAP_RND_BITS
        select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
 +      select HAVE_ARCH_PFN_VALID
        select HAVE_ARCH_PREL32_RELOCATIONS
        select HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET
        select HAVE_ARCH_SECCOMP_FILTER
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
        select HAVE_ARCH_USERFAULTFD_MINOR if USERFAULTFD
+       select TRACE_IRQFLAGS_SUPPORT
        help
          ARM 64-bit (AArch64) Linux support.
  
@@@ -287,9 -289,6 +288,6 @@@ config ILLEGAL_POINTER_VALU
  config LOCKDEP_SUPPORT
        def_bool y
  
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool y
  config GENERIC_BUG
        def_bool y
        depends on BUG
@@@ -1799,11 -1798,11 +1797,11 @@@ config RANDOMIZE_BAS
          If unsure, say N.
  
  config RANDOMIZE_MODULE_REGION_FULL
 -      bool "Randomize the module region over a 4 GB range"
 +      bool "Randomize the module region over a 2 GB range"
        depends on RANDOMIZE_BASE
        default y
        help
 -        Randomizes the location of the module region inside a 4 GB window
 +        Randomizes the location of the module region inside a 2 GB window
          covering the core kernel. This way, it is less likely for modules
          to leak information about the location of core kernel data structures
          but it does imply that function calls between modules and the core
  
          When this option is not set, the module region will be randomized over
          a limited range that contains the [_stext, _etext] interval of the
 -        core kernel, so branch relocations are always in range.
 +        core kernel, so branch relocations are almost always in range unless
 +        ARM64_MODULE_PLTS is enabled and the region is exhausted. In this
 +        particular case of region exhaustion, modules might be able to fall
 +        back to a larger 2GB area.
  
  config CC_HAVE_STACKPROTECTOR_SYSREG
        def_bool $(cc-option,-mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0 -mstack-protector-guard-offset=0)
diff --combined arch/hexagon/Kconfig
@@@ -7,7 -7,6 +7,7 @@@ config HEXAGO
        select ARCH_32BIT_OFF_T
        select ARCH_HAS_SYNC_DMA_FOR_DEVICE
        select ARCH_NO_PREEMPT
 +      select DMA_GLOBAL_POOL
        # Other pending projects/to-do items.
        # select HAVE_REGS_AND_STACK_ACCESS_API
        # select HAVE_HW_BREAKPOINT if PERF_EVENTS
@@@ -32,6 -31,7 +32,7 @@@
        select GENERIC_CPU_DEVICES
        select SET_FS
        select ARCH_WANT_LD_ORPHAN_WARN
+       select TRACE_IRQFLAGS_SUPPORT
        help
          Qualcomm Hexagon is a processor architecture designed for high
          performance and low power across a wide variety of applications.
@@@ -53,9 -53,6 +54,6 @@@ config EARLY_PRINT
  config MMU
        def_bool y
  
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool y
  config GENERIC_CSUM
        def_bool y
  
diff --combined arch/mips/Kconfig
@@@ -9,8 -9,6 +9,8 @@@ config MIP
        select ARCH_HAS_KCOV
        select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA
        select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI)
 +      select ARCH_HAS_STRNCPY_FROM_USER
 +      select ARCH_HAS_STRNLEN_USER
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_HAS_UBSAN_SANITIZE_ALL
        select ARCH_HAS_GCOV_PROFILE_ALL
@@@ -73,6 -71,7 +73,6 @@@
        select HAVE_FUNCTION_TRACER
        select HAVE_GCC_PLUGINS
        select HAVE_GENERIC_VDSO
 -      select HAVE_IDE
        select HAVE_IOREMAP_PROT
        select HAVE_IRQ_EXIT_ON_IRQ_STACK
        select HAVE_IRQ_TIME_ACCOUNTING
@@@ -98,6 -97,7 +98,7 @@@
        select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
        select RTC_LIB
        select SYSCTL_EXCEPTION_TRACE
+       select TRACE_IRQFLAGS_SUPPORT
        select VIRT_TO_BUS
        select ARCH_HAS_ELFCORE_COMPAT
  
@@@ -514,6 -514,35 +515,6 @@@ config MACH_LOONGSON6
          and Loongson-2F which will be removed), developed by the Institute
          of Computing Technology (ICT), Chinese Academy of Sciences (CAS).
  
 -config MACH_PISTACHIO
 -      bool "IMG Pistachio SoC based boards"
 -      select BOOT_ELF32
 -      select BOOT_RAW
 -      select CEVT_R4K
 -      select CLKSRC_MIPS_GIC
 -      select COMMON_CLK
 -      select CSRC_R4K
 -      select DMA_NONCOHERENT
 -      select GPIOLIB
 -      select IRQ_MIPS_CPU
 -      select MFD_SYSCON
 -      select MIPS_CPU_SCACHE
 -      select MIPS_GIC
 -      select PINCTRL
 -      select REGULATOR
 -      select SYS_HAS_CPU_MIPS32_R2
 -      select SYS_SUPPORTS_32BIT_KERNEL
 -      select SYS_SUPPORTS_LITTLE_ENDIAN
 -      select SYS_SUPPORTS_MIPS_CPS
 -      select SYS_SUPPORTS_MULTITHREADING
 -      select SYS_SUPPORTS_RELOCATABLE
 -      select SYS_SUPPORTS_ZBOOT
 -      select SYS_HAS_EARLY_PRINTK
 -      select USE_GENERIC_EARLY_PRINTK_8250
 -      select USE_OF
 -      help
 -        This enables support for the IMG Pistachio SoC platform.
 -
  config MIPS_MALTA
        bool "MIPS Malta board"
        select ARCH_MAY_HAVE_PC_FDC
@@@ -1060,6 -1089,7 +1061,6 @@@ source "arch/mips/ingenic/Kconfig
  source "arch/mips/jazz/Kconfig"
  source "arch/mips/lantiq/Kconfig"
  source "arch/mips/pic32/Kconfig"
 -source "arch/mips/pistachio/Kconfig"
  source "arch/mips/ralink/Kconfig"
  source "arch/mips/sgi-ip27/Kconfig"
  source "arch/mips/sibyte/Kconfig"
diff --combined arch/nds32/Kconfig
@@@ -26,6 -26,8 +26,6 @@@ config NDS3
        select GENERIC_LIB_LSHRDI3
        select GENERIC_LIB_MULDI3
        select GENERIC_LIB_UCMPDI2
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
        select HANDLE_DOMAIN_IRQ
        select HAVE_ARCH_TRACEHOOK
@@@ -46,6 -48,7 +46,7 @@@
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
        select SET_FS
+       select TRACE_IRQFLAGS_SUPPORT
        help
          Andes(nds32) Linux support.
  
@@@ -62,9 -65,6 +63,6 @@@ config GENERIC_LOCKBREA
        def_bool y
        depends on PREEMPTION
  
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool y
  config STACKTRACE_SUPPORT
        def_bool y
  
diff --combined arch/nios2/Kconfig
@@@ -13,6 -13,8 +13,6 @@@ config NIOS
        select GENERIC_CPU_DEVICES
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARCH_KGDB
        select IRQ_DOMAIN
@@@ -41,9 -43,6 +41,6 @@@ config NO_IOPORT_MA
  config FPU
        def_bool n
  
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool n
  menu "Kernel features"
  
  source "kernel/Kconfig.hz"
diff --combined arch/openrisc/Kconfig
@@@ -25,6 -25,8 +25,6 @@@ config OPENRIS
        select HAVE_UID16
        select GENERIC_ATOMIC64
        select GENERIC_CLOCKEVENTS_BROADCAST
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select GENERIC_SMP_IDLE_THREAD
        select MODULES_USE_ELF_RELA
        select HAVE_DEBUG_STACKOVERFLOW
@@@ -37,6 -39,7 +37,7 @@@
        select GENERIC_IRQ_MULTI_HANDLER
        select MMU_GATHER_NO_RANGE if MMU
        select SET_FS
+       select TRACE_IRQFLAGS_SUPPORT
  
  config CPU_BIG_ENDIAN
        def_bool y
@@@ -50,9 -53,6 +51,6 @@@ config GENERIC_HWEIGH
  config NO_IOPORT_MAP
        def_bool y
  
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool y
  # For now, use generic checksum functions
  #These can be reimplemented in assembly later if so inclined
  config GENERIC_CSUM
diff --combined arch/parisc/Kconfig
@@@ -3,6 -3,7 +3,6 @@@ config PARIS
        def_bool y
        select ARCH_32BIT_OFF_T if !64BIT
        select ARCH_MIGHT_HAVE_PC_PARPORT
 -      select HAVE_IDE
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_GRAPH_TRACER
        select HAVE_SYSCALL_TRACEPOINTS
@@@ -10,7 -11,6 +10,7 @@@
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_UBSAN_SANITIZE_ALL
 +      select ARCH_HAS_STRNLEN_USER
        select ARCH_NO_SG_CHAIN
        select ARCH_SUPPORTS_HUGETLBFS if PA20
        select ARCH_SUPPORTS_MEMORY_FAILURE
@@@ -34,6 -34,7 +34,6 @@@
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_CPU_DEVICES
 -      select GENERIC_STRNCPY_FROM_USER
        select GENERIC_LIB_DEVMEM_IS_ALLOWED
        select SYSCTL_ARCH_UNALIGN_ALLOW
        select SYSCTL_EXCEPTION_TRACE
@@@ -66,6 -67,7 +66,7 @@@
        select HAVE_DYNAMIC_FTRACE_WITH_REGS
        select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
        select SET_FS
+       select TRACE_IRQFLAGS_SUPPORT
  
        help
          The PA-RISC microprocessor is designed by Hewlett-Packard and used
diff --combined arch/powerpc/Kconfig
@@@ -94,10 -94,6 +94,6 @@@ config STACKTRACE_SUPPOR
        bool
        default y
  
- config TRACE_IRQFLAGS_SUPPORT
-       bool
-       default y
  config LOCKDEP_SUPPORT
        bool
        default y
@@@ -123,7 -119,6 +119,7 @@@ config PP
        select ARCH_HAS_COPY_MC                 if PPC64
        select ARCH_HAS_DEBUG_VIRTUAL
        select ARCH_HAS_DEBUG_VM_PGTABLE
 +      select ARCH_HAS_DEBUG_WX                if STRICT_KERNEL_RWX
        select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAS_DMA_MAP_DIRECT          if PPC_PSERIES
        select ARCH_HAS_ELF_RANDOMIZE
        select GENERIC_IRQ_SHOW
        select GENERIC_IRQ_SHOW_LEVEL
        select GENERIC_PCI_IOMAP                if PCI
 +      select GENERIC_PTDUMP
        select GENERIC_SMP_IDLE_THREAD
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
        select GENERIC_VDSO_TIME_NS
        select HAVE_ARCH_AUDITSYSCALL
        select HAVE_HARDLOCKUP_DETECTOR_ARCH    if PPC_BOOK3S_64 && SMP
        select HAVE_HARDLOCKUP_DETECTOR_PERF    if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
        select HAVE_HW_BREAKPOINT               if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
 -      select HAVE_IDE
        select HAVE_IOREMAP_PROT
        select HAVE_IRQ_EXIT_ON_IRQ_STACK
        select HAVE_IRQ_TIME_ACCOUNTING
        select STRICT_KERNEL_RWX if STRICT_MODULE_RWX
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
+       select TRACE_IRQFLAGS_SUPPORT
        select VIRT_TO_BUS                      if !PPC64
        #
        # Please keep this list sorted alphabetically.
diff --combined arch/riscv/Kconfig
@@@ -13,7 -13,9 +13,7 @@@ config 32BI
  config RISCV
        def_bool y
        select ARCH_CLOCKSOURCE_INIT
 -      select ARCH_SUPPORTS_ATOMIC_RMW
 -      select ARCH_SUPPORTS_DEBUG_PAGEALLOC if MMU
 -      select ARCH_STACKWALK
 +      select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
        select ARCH_HAS_BINFMT_FLAT
        select ARCH_HAS_DEBUG_VM_PGTABLE
        select ARCH_HAS_DEBUG_VIRTUAL if MMU
        select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
        select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
 +      select ARCH_HAS_UBSAN_SANITIZE_ALL
        select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
 +      select ARCH_STACKWALK
 +      select ARCH_SUPPORTS_ATOMIC_RMW
 +      select ARCH_SUPPORTS_DEBUG_PAGEALLOC if MMU
        select ARCH_SUPPORTS_HUGETLBFS if MMU
        select ARCH_USE_MEMTEST
        select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
        select GENERIC_EARLY_IOREMAP
        select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO
 +      select GENERIC_IDLE_POLL_SETUP
        select GENERIC_IOREMAP
        select GENERIC_IRQ_MULTI_HANDLER
        select GENERIC_IRQ_SHOW
 +      select GENERIC_IRQ_SHOW_LEVEL
        select GENERIC_LIB_DEVMEM_IS_ALLOWED
        select GENERIC_PCI_IOMAP
        select GENERIC_PTDUMP if MMU
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
 -      select GENERIC_STRNCPY_FROM_USER if MMU
 -      select GENERIC_STRNLEN_USER if MMU
        select GENERIC_TIME_VSYSCALL if MMU && 64BIT
        select HANDLE_DOMAIN_IRQ
        select HAVE_ARCH_AUDITSYSCALL
@@@ -74,7 -72,6 +74,7 @@@
        select HAVE_ARCH_SECCOMP_FILTER
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT && MMU
 +      select HAVE_ARCH_THREAD_STRUCT_WHITELIST
        select HAVE_ARCH_VMAP_STACK if MMU && 64BIT
        select HAVE_ASM_MODVERSIONS
        select HAVE_CONTEXT_TRACKING
        select HAVE_STACKPROTECTOR
        select HAVE_SYSCALL_TRACEPOINTS
        select IRQ_DOMAIN
 +      select IRQ_FORCED_THREADING
        select MODULES_USE_ELF_RELA if MODULES
        select MODULE_SECTIONS if MODULES
        select OF
        select SPARSE_IRQ
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
+       select TRACE_IRQFLAGS_SUPPORT
        select UACCESS_MEMCPY if !MMU
        select ZONE_DMA32 if 64BIT
  
@@@ -182,9 -179,6 +183,6 @@@ config ARCH_SUPPORTS_UPROBE
  config STACKTRACE_SUPPORT
        def_bool y
  
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool y
  config GENERIC_BUG
        def_bool y
        depends on BUG
@@@ -496,16 -490,10 +494,16 @@@ config CC_HAVE_STACKPROTECTOR_TL
  
  config STACKPROTECTOR_PER_TASK
        def_bool y
 +      depends on !GCC_PLUGIN_RANDSTRUCT
        depends on STACKPROTECTOR && CC_HAVE_STACKPROTECTOR_TLS
  
 +config PHYS_RAM_BASE_FIXED
 +      bool "Explicitly specified physical RAM address"
 +      default n
 +
  config PHYS_RAM_BASE
        hex "Platform Physical RAM address"
 +      depends on PHYS_RAM_BASE_FIXED
        default "0x80000000"
        help
          This is the physical address of RAM in the system. It has to be
@@@ -518,7 -506,6 +516,7 @@@ config XIP_KERNE
        # This prevents XIP from being enabled by all{yes,mod}config, which
        # fail to build since XIP doesn't support large kernels.
        depends on !COMPILE_TEST
 +      select PHYS_RAM_BASE_FIXED
        help
          Execute-In-Place allows the kernel to run from non-volatile storage
          directly addressable by the CPU, such as NOR flash. This saves RAM
diff --combined arch/s390/Kconfig
@@@ -138,8 -138,6 +138,8 @@@ config S39
        select HAVE_ARCH_JUMP_LABEL_RELATIVE
        select HAVE_ARCH_KASAN
        select HAVE_ARCH_KASAN_VMALLOC
 +      select HAVE_ARCH_KCSAN
 +      select HAVE_ARCH_KFENCE
        select HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET
        select HAVE_ARCH_SECCOMP_FILTER
        select HAVE_ARCH_SOFT_DIRTY
        select SWIOTLB
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
+       select TRACE_IRQFLAGS_SUPPORT
        select TTY
        select VIRT_CPU_ACCOUNTING
        select ZONE_DMA
diff --combined arch/sh/Kconfig
@@@ -22,6 -22,8 +22,6 @@@ config SUPER
        select GENERIC_IRQ_SHOW
        select GENERIC_PCI_IOMAP if PCI
        select GENERIC_SCHED_CLOCK
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select GENERIC_SMP_IDLE_THREAD
        select GUP_GET_PTE_LOW_HIGH if X2TLB
        select HAVE_ARCH_AUDITSYSCALL
@@@ -37,6 -39,7 +37,6 @@@
        select HAVE_FUTEX_CMPXCHG if FUTEX
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_HW_BREAKPOINT
 -      select HAVE_IDE if HAS_IOPORT_MAP
        select HAVE_IOREMAP_PROT if MMU && !X2TLB
        select HAVE_KERNEL_BZIP2
        select HAVE_KERNEL_GZIP
@@@ -69,6 -72,7 +69,7 @@@
        select RTC_LIB
        select SET_FS
        select SPARSE_IRQ
+       select TRACE_IRQFLAGS_SUPPORT
        help
          The SuperH is a RISC processor targeted for use in embedded systems
          and consumer electronics; it was also used in the Sega Dreamcast
diff --combined arch/sparc/Kconfig
@@@ -19,6 -19,7 +19,6 @@@ config SPAR
        select OF
        select OF_PROMTREE
        select HAVE_ASM_MODVERSIONS
 -      select HAVE_IDE
        select HAVE_ARCH_KGDB if !SMP || SPARC64
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARCH_SECCOMP if SPARC64
@@@ -37,6 -38,8 +37,6 @@@
        select HAVE_EBPF_JIT if SPARC64
        select HAVE_DEBUG_BUGVERBOSE
        select GENERIC_SMP_IDLE_THREAD
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select MODULES_USE_ELF_RELA
        select PCI_SYSCALL if PCI
        select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
@@@ -47,6 -50,7 +47,7 @@@
        select NEED_DMA_MAP_STATE
        select NEED_SG_DMA_LENGTH
        select SET_FS
+       select TRACE_IRQFLAGS_SUPPORT
  
  config SPARC32
        def_bool !64BIT
diff --combined arch/um/Kconfig
@@@ -7,8 -7,6 +7,8 @@@ config UM
        default y
        select ARCH_EPHEMERAL_INODES
        select ARCH_HAS_KCOV
 +      select ARCH_HAS_STRNCPY_FROM_USER
 +      select ARCH_HAS_STRNLEN_USER
        select ARCH_NO_PREEMPT
        select HAVE_ARCH_AUDITSYSCALL
        select HAVE_ARCH_SECCOMP_FILTER
@@@ -22,6 -20,7 +22,7 @@@
        select GENERIC_CPU_DEVICES
        select HAVE_GCC_PLUGINS
        select SET_FS
+       select TRACE_IRQFLAGS_SUPPORT
        select TTY # Needed for line.c
  
  config MMU
@@@ -52,10 -51,6 +53,6 @@@ config IS
  config SBUS
        bool
  
- config TRACE_IRQFLAGS_SUPPORT
-       bool
-       default y
  config LOCKDEP_SUPPORT
        bool
        default y
diff --combined arch/x86/Kconfig
@@@ -119,7 -119,6 +119,7 @@@ config X8
        select ARCH_WANT_HUGE_PMD_SHARE
        select ARCH_WANT_LD_ORPHAN_WARN
        select ARCH_WANTS_THP_SWAP              if X86_64
 +      select ARCH_HAS_PARANOID_L1D_FLUSH
        select BUILDTIME_TABLE_SORT
        select CLKEVT_I8253
        select CLOCKSOURCE_VALIDATE_LAST_CYCLE
        select GENERIC_PENDING_IRQ              if SMP
        select GENERIC_PTDUMP
        select GENERIC_SMP_IDLE_THREAD
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
        select GENERIC_VDSO_TIME_NS
        select HAVE_FUNCTION_TRACER
        select HAVE_GCC_PLUGINS
        select HAVE_HW_BREAKPOINT
 -      select HAVE_IDE
        select HAVE_IOREMAP_PROT
        select HAVE_IRQ_EXIT_ON_IRQ_STACK       if X86_64
        select HAVE_IRQ_TIME_ACCOUNTING
        select STACK_VALIDATION                 if HAVE_STACK_VALIDATION && (HAVE_STATIC_CALL_INLINE || RETPOLINE)
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
+       select TRACE_IRQFLAGS_SUPPORT
        select USER_STACKTRACE_SUPPORT
        select VIRT_TO_BUS
        select HAVE_ARCH_KCSAN                  if X86_64
@@@ -2765,6 -2768,32 +2766,6 @@@ config AMD_N
        def_bool y
        depends on CPU_SUP_AMD && PCI
  
 -config X86_SYSFB
 -      bool "Mark VGA/VBE/EFI FB as generic system framebuffer"
 -      help
 -        Firmwares often provide initial graphics framebuffers so the BIOS,
 -        bootloader or kernel can show basic video-output during boot for
 -        user-guidance and debugging. Historically, x86 used the VESA BIOS
 -        Extensions and EFI-framebuffers for this, which are mostly limited
 -        to x86.
 -        This option, if enabled, marks VGA/VBE/EFI framebuffers as generic
 -        framebuffers so the new generic system-framebuffer drivers can be
 -        used on x86. If the framebuffer is not compatible with the generic
 -        modes, it is advertised as fallback platform framebuffer so legacy
 -        drivers like efifb, vesafb and uvesafb can pick it up.
 -        If this option is not selected, all system framebuffers are always
 -        marked as fallback platform framebuffers as usual.
 -
 -        Note: Legacy fbdev drivers, including vesafb, efifb, uvesafb, will
 -        not be able to pick up generic system framebuffers if this option
 -        is selected. You are highly encouraged to enable simplefb as
 -        replacement if you select this option. simplefb can correctly deal
 -        with generic system framebuffers. But you should still keep vesafb
 -        and others enabled as fallback if a system framebuffer is
 -        incompatible with simplefb.
 -
 -        If unsure, say Y.
 -
  endmenu
  
  
diff --combined arch/xtensa/Kconfig
@@@ -7,8 -7,6 +7,8 @@@ config XTENS
        select ARCH_HAS_SYNC_DMA_FOR_CPU if MMU
        select ARCH_HAS_SYNC_DMA_FOR_DEVICE if MMU
        select ARCH_HAS_DMA_SET_UNCACHED if MMU
 +      select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
 +      select ARCH_HAS_STRNLEN_USER
        select ARCH_USE_MEMTEST
        select ARCH_USE_QUEUED_RWLOCKS
        select ARCH_USE_QUEUED_SPINLOCKS
@@@ -22,6 -20,7 +22,6 @@@
        select GENERIC_IRQ_SHOW
        select GENERIC_PCI_IOMAP
        select GENERIC_SCHED_CLOCK
 -      select GENERIC_STRNCPY_FROM_USER if KASAN
        select HAVE_ARCH_AUDITSYSCALL
        select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
        select HAVE_ARCH_KASAN if MMU && !XIP_KERNEL
@@@ -31,7 -30,7 +31,7 @@@
        select HAVE_DMA_CONTIGUOUS
        select HAVE_EXIT_THREAD
        select HAVE_FUNCTION_TRACER
 -      select HAVE_FUTEX_CMPXCHG if !MMU
 +      select HAVE_FUTEX_CMPXCHG if !MMU && FUTEX
        select HAVE_HW_BREAKPOINT if PERF_EVENTS
        select HAVE_IRQ_TIME_ACCOUNTING
        select HAVE_PCI
@@@ -42,6 -41,7 +42,7 @@@
        select MODULES_USE_ELF_RELA
        select PERF_USE_VMALLOC
        select SET_FS
+       select TRACE_IRQFLAGS_SUPPORT
        select VIRT_TO_BUS
        help
          Xtensa processors are 32-bit RISC machines designed by Tensilica
@@@ -73,9 -73,6 +74,6 @@@ config LOCKDEP_SUPPOR
  config STACKTRACE_SUPPORT
        def_bool y
  
- config TRACE_IRQFLAGS_SUPPORT
-       def_bool y
  config MMU
        def_bool n
  
@@@ -328,6 -325,7 +326,6 @@@ config XTENSA_PLATFORM_IS
  
  config XTENSA_PLATFORM_XT2000
        bool "XT2000"
 -      select HAVE_IDE
        help
          XT2000 is the name of Tensilica's feature-rich emulation platform.
          This hardware is capable of running a full Linux distribution.
@@@ -310,8 -310,10 +310,10 @@@ enum 
        TRACE_EVENT_FL_NO_SET_FILTER_BIT,
        TRACE_EVENT_FL_IGNORE_ENABLE_BIT,
        TRACE_EVENT_FL_TRACEPOINT_BIT,
+       TRACE_EVENT_FL_DYNAMIC_BIT,
        TRACE_EVENT_FL_KPROBE_BIT,
        TRACE_EVENT_FL_UPROBE_BIT,
+       TRACE_EVENT_FL_EPROBE_BIT,
  };
  
  /*
   *  NO_SET_FILTER - Set when filter has error and is to be ignored
   *  IGNORE_ENABLE - For trace internal events, do not enable with debugfs file
   *  TRACEPOINT    - Event is a tracepoint
+  *  DYNAMIC       - Event is a dynamic event (created at run time)
   *  KPROBE        - Event is a kprobe
   *  UPROBE        - Event is a uprobe
+  *  EPROBE        - Event is an event probe
   */
  enum {
        TRACE_EVENT_FL_FILTERED         = (1 << TRACE_EVENT_FL_FILTERED_BIT),
        TRACE_EVENT_FL_NO_SET_FILTER    = (1 << TRACE_EVENT_FL_NO_SET_FILTER_BIT),
        TRACE_EVENT_FL_IGNORE_ENABLE    = (1 << TRACE_EVENT_FL_IGNORE_ENABLE_BIT),
        TRACE_EVENT_FL_TRACEPOINT       = (1 << TRACE_EVENT_FL_TRACEPOINT_BIT),
+       TRACE_EVENT_FL_DYNAMIC          = (1 << TRACE_EVENT_FL_DYNAMIC_BIT),
        TRACE_EVENT_FL_KPROBE           = (1 << TRACE_EVENT_FL_KPROBE_BIT),
        TRACE_EVENT_FL_UPROBE           = (1 << TRACE_EVENT_FL_UPROBE_BIT),
+       TRACE_EVENT_FL_EPROBE           = (1 << TRACE_EVENT_FL_EPROBE_BIT),
  };
  
  #define TRACE_EVENT_FL_UKPROBE (TRACE_EVENT_FL_KPROBE | TRACE_EVENT_FL_UPROBE)
@@@ -347,7 -353,14 +353,14 @@@ struct trace_event_call 
        struct trace_event      event;
        char                    *print_fmt;
        struct event_filter     *filter;
-       void                    *mod;
+       /*
+        * Static events can disappear with modules,
+        * where as dynamic ones need their own ref count.
+        */
+       union {
+               void                            *module;
+               atomic_t                        refcnt;
+       };
        void                    *data;
  
        /* See the TRACE_EVENT_FL_* flags above */
  #endif
  };
  
+ #ifdef CONFIG_DYNAMIC_EVENTS
+ bool trace_event_dyn_try_get_ref(struct trace_event_call *call);
+ void trace_event_dyn_put_ref(struct trace_event_call *call);
+ bool trace_event_dyn_busy(struct trace_event_call *call);
+ #else
+ static inline bool trace_event_dyn_try_get_ref(struct trace_event_call *call)
+ {
+       /* Without DYNAMIC_EVENTS configured, nothing should be calling this */
+       return false;
+ }
+ static inline void trace_event_dyn_put_ref(struct trace_event_call *call)
+ {
+ }
+ static inline bool trace_event_dyn_busy(struct trace_event_call *call)
+ {
+       /* Nothing should call this without DYNAIMIC_EVENTS configured. */
+       return true;
+ }
+ #endif
+ static inline bool trace_event_try_get_ref(struct trace_event_call *call)
+ {
+       if (call->flags & TRACE_EVENT_FL_DYNAMIC)
+               return trace_event_dyn_try_get_ref(call);
+       else
+               return try_module_get(call->module);
+ }
+ static inline void trace_event_put_ref(struct trace_event_call *call)
+ {
+       if (call->flags & TRACE_EVENT_FL_DYNAMIC)
+               trace_event_dyn_put_ref(call);
+       else
+               module_put(call->module);
+ }
  #ifdef CONFIG_PERF_EVENTS
  static inline bool bpf_prog_array_valid(struct trace_event_call *call)
  {
@@@ -634,6 -683,7 +683,7 @@@ enum event_trigger_type 
        ETT_EVENT_ENABLE        = (1 << 3),
        ETT_EVENT_HIST          = (1 << 4),
        ETT_HIST_ENABLE         = (1 << 5),
+       ETT_EVENT_EPROBE        = (1 << 6),
  };
  
  extern int filter_match_preds(struct event_filter *filter, void *rec);
@@@ -675,7 -725,7 +725,7 @@@ trace_trigger_soft_disabled(struct trac
  
  #ifdef CONFIG_BPF_EVENTS
  unsigned int trace_call_bpf(struct trace_event_call *call, void *ctx);
 -int perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog);
 +int perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie);
  void perf_event_detach_bpf_prog(struct perf_event *event);
  int perf_event_query_prog_array(struct perf_event *event, void __user *info);
  int bpf_probe_register(struct bpf_raw_event_map *btp, struct bpf_prog *prog);
@@@ -692,7 -742,7 +742,7 @@@ static inline unsigned int trace_call_b
  }
  
  static inline int
 -perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog)
 +perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie)
  {
        return -EOPNOTSUPP;
  }
@@@ -803,9 -853,6 +853,9 @@@ extern void ftrace_profile_free_filter(
  void perf_trace_buf_update(void *record, u16 type);
  void *perf_trace_buf_alloc(int size, struct pt_regs **regs, int *rctxp);
  
 +int perf_event_set_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie);
 +void perf_event_free_bpf_prog(struct perf_event *event);
 +
  void bpf_trace_run1(struct bpf_prog *prog, u64 arg1);
  void bpf_trace_run2(struct bpf_prog *prog, u64 arg1, u64 arg2);
  void bpf_trace_run3(struct bpf_prog *prog, u64 arg1, u64 arg2,
diff --combined kernel/trace/trace.c
@@@ -3697,11 -3697,11 +3697,11 @@@ static bool trace_safe_str(struct trace
                return false;
  
        event = container_of(trace_event, struct trace_event_call, event);
-       if (!event->mod)
+       if ((event->flags & TRACE_EVENT_FL_DYNAMIC) || !event->module)
                return false;
  
        /* Would rather have rodata, but this will suffice */
-       if (within_module_core(addr, event->mod))
+       if (within_module_core(addr, event->module))
                return true;
  
        return false;
@@@ -5543,6 -5543,7 +5543,7 @@@ static const char readme_msg[] 
  #ifdef CONFIG_HIST_TRIGGERS
        "\t           s:[synthetic/]<event> <field> [<field>]\n"
  #endif
+       "\t           e[:[<group>/]<event>] <attached-group>.<attached-event> [<args>]\n"
        "\t           -:[<group>/]<event>\n"
  #ifdef CONFIG_KPROBE_EVENTS
        "\t    place: [<module>:]<symbol>[+<offset>]|<memaddr>\n"
    "   place (uprobe): <path>:<offset>[%return][(ref_ctr_offset)]\n"
  #endif
        "\t     args: <name>=fetcharg[:type]\n"
-       "\t fetcharg: %<register>, @<address>, @<symbol>[+|-<offset>],\n"
+       "\t fetcharg: (%<register>|$<efield>), @<address>, @<symbol>[+|-<offset>],\n"
  #ifdef CONFIG_HAVE_FUNCTION_ARG_ACCESS_API
        "\t           $stack<index>, $stack, $retval, $comm, $arg<N>,\n"
  #else
        "\t    stype: u8/u16/u32/u64, s8/s16/s32/s64, pid_t,\n"
        "\t           [unsigned] char/int/long\n"
  #endif
+       "\t    efield: For event probes ('e' types), the field is on of the fields\n"
+       "\t            of the <attached-group>/<attached-event>.\n"
  #endif
        "  events/\t\t- Directory containing all trace event subsystems:\n"
        "      enable\t\t- Write 0/1 to enable/disable tracing of all events\n"
        "\t            .execname   display a common_pid as a program name\n"
        "\t            .syscall    display a syscall id as a syscall name\n"
        "\t            .log2       display log2 value rather than raw number\n"
+       "\t            .buckets=size  display values in groups of size rather than raw number\n"
        "\t            .usecs      display a common_timestamp in microseconds\n\n"
        "\t    The 'pause' parameter can be used to pause an existing hist\n"
        "\t    trigger or to start a hist trigger but not log any events\n"
@@@ -9815,6 -9819,7 +9819,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);