]> Git Repo - J-linux.git/commitdiff
Merge tag 'bitmap-for-6.10v2' of https://github.com/norov/linux
authorLinus Torvalds <[email protected]>
Tue, 21 May 2024 22:29:01 +0000 (15:29 -0700)
committerLinus Torvalds <[email protected]>
Tue, 21 May 2024 22:29:01 +0000 (15:29 -0700)
Pull bitmap updates from Yury Norov:

 - topology_span_sane() optimization from Kyle Meyer

 - fns() rework from Kuan-Wei Chiu (used in cpumask_local_spread() and
   other places)

 - headers cleanup from Andy

 - add a MAINTAINERS record for bitops API

* tag 'bitmap-for-6.10v2' of https://github.com/norov/linux:
  usercopy: Don't use "proxy" headers
  bitops: Move aligned_byte_mask() to wordpart.h
  MAINTAINERS: add BITOPS API record
  bitmap: relax find_nth_bit() limitation on return value
  lib: make test_bitops compilable into the kernel image
  bitops: Optimize fns() for improved performance
  lib/test_bitops: Add benchmark test for fns()
  Compiler Attributes: Add __always_used macro
  sched/topology: Optimize topology_span_sane()
  cpumask: Add for_each_cpu_from()

1  2 
MAINTAINERS
include/linux/bitops.h
include/linux/cpumask.h
include/linux/find.h
kernel/sched/topology.c
lib/Kconfig.debug
lib/find_bit.c
lib/test_bitmap.c

diff --combined MAINTAINERS
index 94872dce51eda6efc00f4fc271addadbe68fdacf,112a9b32b12ec0b0768722a78ce646fe4f412881..f63013898f406698af908af61395c6c5d9f09eb2
@@@ -258,12 -258,6 +258,12 @@@ L:       [email protected]
  S:    Maintained
  F:    drivers/net/ethernet/alteon/acenic*
  
 +ACER ASPIRE 1 EMBEDDED CONTROLLER DRIVER
 +M:    Nikita Travkin <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/platform/acer,aspire1-ec.yaml
 +F:    drivers/platform/arm64/acer-aspire1-ec.c
 +
  ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
  M:    Peter Kaestle <[email protected]>
  L:    [email protected]
@@@ -360,12 -354,6 +360,12 @@@ B:       https://bugzilla.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
  F:    drivers/acpi/pmic/
  
 +ACPI QUICKSTART DRIVER
 +M:    Armin Wolf <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/platform/x86/quickstart.c
 +
  ACPI SERIAL MULTI INSTANTIATE DRIVER
  M:    Hans de Goede <[email protected]>
  L:    [email protected]
@@@ -491,13 -479,6 +491,13 @@@ L:       [email protected]
  S:    Orphan
  F:    drivers/net/wireless/admtek/adm8211.*
  
 +ADP1050 HARDWARE MONITOR DRIVER
 +M:    Radu Sabau <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/hwmon/pmbus/adi,adp1050.yaml
 +
  ADP1653 FLASH CONTROLLER DRIVER
  M:    Sakari Ailus <[email protected]>
  L:    [email protected]
@@@ -572,7 -553,7 +572,7 @@@ F: Documentation/devicetree/bindings/ii
  F:    drivers/input/misc/adxl34x.c
  
  ADXL355 THREE-AXIS DIGITAL ACCELEROMETER DRIVER
 -M:    Puranjay Mohan <puranjay[email protected]>
 +M:    Puranjay Mohan <puranjay@kernel.org>
  L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/iio/accel/adi,adxl355.yaml
@@@ -672,15 -653,6 +672,15 @@@ S:       Supporte
  F:    fs/aio.c
  F:    include/linux/*aio*.h
  
 +AIROHA SPI SNFI DRIVER
 +M:    Lorenzo Bianconi <[email protected]>
 +M:    Ray Liu <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml
 +F:    drivers/spi/spi-airoha-snfi.c
 +
  AIRSPY MEDIA DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -1021,7 -993,7 +1021,7 @@@ F:       drivers/video/fbdev/geode
  
  AMD HSMP DRIVER
  M:    Naveen Krishna Chatradhi <[email protected]>
 -R:    Carlos Bilbao <carlos.bilbao@amd.com>
 +R:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/arch/x86/amd_hsmp.rst
@@@ -1090,9 -1062,6 +1090,9 @@@ F:      drivers/gpu/drm/amd/pm
  
  AMD PSTATE DRIVER
  M:    Huang Rui <[email protected]>
 +M:    Gautham R. Shenoy <[email protected]>
 +M:    Mario Limonciello <[email protected]>
 +R:    Perry Yuan <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    Documentation/admin-guide/pm/amd-pstate.rst
@@@ -1702,7 -1671,7 +1702,7 @@@ F:      drivers/soc/versatile
  ARM KOMEDA DRM-KMS DRIVER
  M:    Liviu Dudau <[email protected]>
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/arm,komeda.yaml
  F:    Documentation/gpu/komeda-kms.rst
  F:    drivers/gpu/drm/arm/display/include/
@@@ -1714,26 -1683,15 +1714,26 @@@ M:   Rob Herring <[email protected]
  R:    Steven Price <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/gpu/panfrost.rst
  F:    drivers/gpu/drm/panfrost/
  F:    include/uapi/drm/panfrost_drm.h
  
 +ARM MALI PANTHOR DRM DRIVER
 +M:    Boris Brezillon <[email protected]>
 +M:    Steven Price <[email protected]>
 +M:    Liviu Dudau <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
 +F:    Documentation/devicetree/bindings/gpu/arm,mali-valhall-csf.yaml
 +F:    drivers/gpu/drm/panthor/
 +F:    include/uapi/drm/panthor_drm.h
 +
  ARM MALI-DP DRM DRIVER
  M:    Liviu Dudau <[email protected]>
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/arm,malidp.yaml
  F:    Documentation/gpu/afbc.rst
  F:    drivers/gpu/drm/arm/
@@@ -2362,7 -2320,7 +2362,7 @@@ M:      Vladimir Zapolskiy <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://github.com/vzapolskiy/linux-lpc32xx.git
 -F:    Documentation/devicetree/bindings/i2c/i2c-pnx.txt
 +F:    Documentation/devicetree/bindings/i2c/nxp,pnx-i2c.yaml
  F:    arch/arm/boot/dts/nxp/lpc/lpc32*
  F:    arch/arm/mach-lpc32xx/
  F:    drivers/i2c/busses/i2c-pnx.c
@@@ -2627,8 -2585,12 +2627,8 @@@ F:     arch/arm64/boot/dts/qcom/sc7180
  F:    arch/arm64/boot/dts/qcom/sc7280*
  F:    arch/arm64/boot/dts/qcom/sdm845-cheza*
  
 -ARM/QUALCOMM SUPPORT
 -M:    Bjorn Andersson <[email protected]>
 -M:    Konrad Dybcio <[email protected]>
 +ARM/QUALCOMM MAILING LIST
  L:    [email protected]
 -S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
  F:    Documentation/devicetree/bindings/*/qcom*
  F:    Documentation/devicetree/bindings/soc/qcom/
  F:    arch/arm/boot/dts/qcom/
@@@ -2665,33 -2627,6 +2665,33 @@@ F:    include/dt-bindings/*/qcom
  F:    include/linux/*/qcom*
  F:    include/linux/soc/qcom/
  
 +ARM/QUALCOMM SUPPORT
 +M:    Bjorn Andersson <[email protected]>
 +M:    Konrad Dybcio <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
 +F:    Documentation/devicetree/bindings/arm/qcom-soc.yaml
 +F:    Documentation/devicetree/bindings/arm/qcom.yaml
 +F:    Documentation/devicetree/bindings/bus/qcom*
 +F:    Documentation/devicetree/bindings/cache/qcom,llcc.yaml
 +F:    Documentation/devicetree/bindings/firmware/qcom,scm.yaml
 +F:    Documentation/devicetree/bindings/reserved-memory/qcom
 +F:    Documentation/devicetree/bindings/soc/qcom/
 +F:    arch/arm/boot/dts/qcom/
 +F:    arch/arm/configs/qcom_defconfig
 +F:    arch/arm/mach-qcom/
 +F:    arch/arm64/boot/dts/qcom/
 +F:    drivers/bus/qcom*
 +F:    drivers/firmware/qcom/
 +F:    drivers/soc/qcom/
 +F:    include/dt-bindings/arm/qcom,ids.h
 +F:    include/dt-bindings/firmware/qcom,scm.h
 +F:    include/dt-bindings/soc/qcom*
 +F:    include/linux/firmware/qcom
 +F:    include/linux/soc/qcom/
 +F:    include/soc/qcom/
 +
  ARM/RDA MICRO ARCHITECTURE
  M:    Manivannan Sadhasivam <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -3082,7 -3017,7 +3082,7 @@@ S:      Orpha
  F:    Documentation/devicetree/bindings/i2c/i2c-wmt.txt
  F:    arch/arm/mach-vt8500/
  F:    drivers/clocksource/timer-vt8500.c
 -F:    drivers/i2c/busses/i2c-wmt.c
 +F:    drivers/i2c/busses/i2c-viai2c-wmt.c
  F:    drivers/mmc/host/wmt-sdmmc.c
  F:    drivers/pwm/pwm-vt8500.c
  F:    drivers/rtc/rtc-vt8500.c
@@@ -3115,23 -3050,6 +3115,23 @@@ F:    drivers/mmc/host/sdhci-of-arasan.
  N:    zynq
  N:    xilinx
  
 +ARM64 FIT SUPPORT
 +M:    Simon Glass <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm64/boot/Makefile
 +F:    scripts/make_fit.py
 +
 +ARM64 PLATFORM DRIVERS
 +M:    Hans de Goede <[email protected]>
 +M:    Ilpo Järvinen <[email protected]>
 +R:    Bryan O'Donoghue <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +Q:    https://patchwork.kernel.org/project/platform-driver-x86/list/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
 +F:    drivers/platform/arm64/
 +
  ARM64 PORT (AARCH64 ARCHITECTURE)
  M:    Catalin Marinas <[email protected]>
  M:    Will Deacon <[email protected]>
@@@ -3693,11 -3611,6 +3693,11 @@@ F:    Documentation/filesystems/bfs.rs
  F:    fs/bfs/
  F:    include/uapi/linux/bfs_fs.h
  
 +BINMAN
 +M:    Simon Glass <[email protected]>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/mtd/partitions/binman*
 +
  BITMAP API
  M:    Yury Norov <[email protected]>
  R:    Rasmus Villemoes <[email protected]>
@@@ -3725,6 -3638,20 +3725,20 @@@ F:    tools/include/vdso/bits.
  F:    tools/lib/bitmap.c
  F:    tools/lib/find_bit.c
  
+ BITOPS API
+ M:    Yury Norov <[email protected]>
+ R:    Rasmus Villemoes <[email protected]>
+ S:    Maintained
+ F:    arch/*/include/asm/bitops.h
+ F:    arch/*/include/asm/bitops_32.h
+ F:    arch/*/include/asm/bitops_64.h
+ F:    arch/*/lib/bitops.c
+ F:    include/asm-generic/bitops
+ F:    include/asm-generic/bitops.h
+ F:    include/linux/bitops.h
+ F:    lib/test_bitops.c
+ F:    tools/*/bitops*
  BLINKM RGB LED DRIVER
  M:    Jan-Simon Moeller <[email protected]>
  S:    Maintained
@@@ -3799,15 -3726,9 +3813,15 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/iio/imu/bosch,bmi323.yaml
  F:    drivers/iio/imu/bmi323/
  
 +BPF JIT for ARC
 +M:    Shahab Vahedi <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    arch/arc/net/
 +
  BPF JIT for ARM
  M:    Russell King <[email protected]>
 -M:    Puranjay Mohan <puranjay[email protected]>
 +M:    Puranjay Mohan <puranjay@kernel.org>
  L:    [email protected]
  S:    Maintained
  F:    arch/arm/net/
  BPF JIT for ARM64
  M:    Daniel Borkmann <[email protected]>
  M:    Alexei Starovoitov <[email protected]>
 -M:    Zi Shen Lim <[email protected]>
 +M:    Puranjay Mohan <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    arch/arm64/net/
@@@ -3857,8 -3778,6 +3871,8 @@@ X:      arch/riscv/net/bpf_jit_comp64.
  
  BPF JIT for RISC-V (64-bit)
  M:    Björn Töpel <[email protected]>
 +R:    Pu Lehui <[email protected]>
 +R:    Puranjay Mohan <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    arch/riscv/net/
@@@ -3917,14 -3836,6 +3931,14 @@@ F:    kernel/bpf/tnum.
  F:    kernel/bpf/trampoline.c
  F:    kernel/bpf/verifier.c
  
 +BPF [CRYPTO]
 +M:    Vadim Fedorenko <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    crypto/bpf_crypto_skcipher.c
 +F:    include/linux/bpf_crypto.h
 +F:    kernel/bpf/crypto.c
 +
  BPF [DOCUMENTATION] (Related to Standardization)
  R:    David Vernet <[email protected]>
  L:    [email protected]
@@@ -4137,13 -4048,6 +4151,13 @@@ N:    bcm113
  N:    bcm216*
  N:    kona
  
 +BROADCOM BCM2835 CAMERA DRIVERS
 +M:    Raspberry Pi Kernel Maintenance <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
 +F:    drivers/media/platform/broadcom/bcm2835-unicam*
 +
  BROADCOM BCM47XX MIPS ARCHITECTURE
  M:    Hauke Mehrtens <[email protected]>
  M:    Rafał Miłecki <[email protected]>
@@@ -4301,6 -4205,7 +4315,6 @@@ S:      Supporte
  F:    drivers/scsi/bnx2i/
  
  BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
 -M:    Ariel Elior <[email protected]>
  M:    Sudarsana Kalluru <[email protected]>
  M:    Manish Chopra <[email protected]>
  L:    [email protected]
@@@ -5313,6 -5218,7 +5327,6 @@@ F:      lib/closure.
  
  CMPC ACPI DRIVER
  M:    Thadeu Lima de Souza Cascardo <[email protected]>
 -M:    Daniel Oliveira Nascimento <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/platform/x86/classmate-laptop.c
@@@ -5360,14 -5266,6 +5374,14 @@@ S:    Supporte
  F:    Documentation/process/code-of-conduct-interpretation.rst
  F:    Documentation/process/code-of-conduct.rst
  
 +CODE TAGGING
 +M:    Suren Baghdasaryan <[email protected]>
 +M:    Kent Overstreet <[email protected]>
 +S:    Maintained
 +F:    include/asm-generic/codetag.lds.h
 +F:    include/linux/codetag.h
 +F:    lib/codetag.c
 +
  COMEDI DRIVERS
  M:    Ian Abbott <[email protected]>
  M:    H Hartley Sweeten <[email protected]>
@@@ -5448,7 -5346,7 +5462,7 @@@ M:      Dan Williams <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/cxl/
 -F:    include/linux/cxl-einj.h
 +F:    include/linux/einj-cxl.h
  F:    include/linux/cxl-event.h
  F:    include/uapi/linux/cxl_mem.h
  F:    tools/testing/cxl/
@@@ -5468,7 -5366,7 +5482,7 @@@ F:      drivers/usb/atm/cxacru.
  
  CONFIDENTIAL COMPUTING THREAT MODEL FOR X86 VIRTUALIZATION (SNP/TDX)
  M:    Elena Reshetova <[email protected]>
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  S:    Maintained
  F:    Documentation/security/snp-tdx-threat-model.rst
  
@@@ -5692,7 -5590,6 +5706,7 @@@ M:      Ulf Hansson <[email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm.git
  F:    drivers/cpuidle/cpuidle-psci-domain.c
  F:    drivers/cpuidle/cpuidle-psci.h
  
@@@ -5700,7 -5597,6 +5714,7 @@@ CPUIDLE DRIVER - DT IDLE PM DOMAI
  M:    Ulf Hansson <[email protected]>
  L:    [email protected]
  S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm.git
  F:    drivers/cpuidle/dt_idle_genpd.c
  F:    drivers/cpuidle/dt_idle_genpd.h
  
@@@ -5826,7 -5722,7 +5840,7 @@@ Q:      http://patchwork.linuxtv.org/project
  F:    drivers/media/dvb-frontends/cxd2820r*
  
  CXGB3 ETHERNET DRIVER (CXGB3)
 -M:    Raju Rangoju <rajur@chelsio.com>
 +M:    Potnuri Bharat Teja <bharat@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -5847,7 -5743,7 +5861,7 @@@ W:      http://www.chelsio.co
  F:    drivers/crypto/chelsio
  
  CXGB4 ETHERNET DRIVER (CXGB4)
 -M:    Raju Rangoju <rajur@chelsio.com>
 +M:    Potnuri Bharat Teja <bharat@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -5876,7 -5772,7 +5890,7 @@@ F:      drivers/infiniband/hw/cxgb4
  F:    include/uapi/rdma/cxgb4-abi.h
  
  CXGB4VF ETHERNET DRIVER (CXGB4VF)
 -M:    Raju Rangoju <rajur@chelsio.com>
 +M:    Potnuri Bharat Teja <bharat@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -5896,9 -5792,10 +5910,9 @@@ F:     include/uapi/misc/cxl.
  
  CXLFLASH (IBM Coherent Accelerator Processor Interface CAPI Flash) SCSI DRIVER
  M:    Manoj N. Kumar <[email protected]>
 -M:    Matthew R. Ochs <[email protected]>
  M:    Uma Krishnan <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Obsolete
  F:    Documentation/arch/powerpc/cxlflash.rst
  F:    drivers/scsi/cxlflash/
  F:    include/uapi/scsi/cxlflash_ioctl.h
@@@ -6181,6 -6078,7 +6195,6 @@@ F:      drivers/mtd/nand/raw/denali
  
  DESIGNWARE EDMA CORE IP DRIVER
  M:    Manivannan Sadhasivam <[email protected]>
 -R:    Gustavo Pimentel <[email protected]>
  R:    Serge Semin <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -6426,7 -6324,7 +6440,7 @@@ L:      [email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/driver-api/dma-buf.rst
  F:    Documentation/userspace-api/dma-buf-alloc-exchange.rst
  F:    drivers/dma-buf/
@@@ -6480,7 -6378,7 +6494,7 @@@ L:      [email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/dma-buf/dma-heap.c
  F:    drivers/dma-buf/heaps/*
  F:    include/linux/dma-heap.h
@@@ -6517,7 -6415,6 +6531,7 @@@ S:      Maintaine
  P:    Documentation/doc-guide/maintainer-profile.rst
  T:    git git://git.lwn.net/linux.git docs-next
  F:    Documentation/
 +F:    scripts/check-variable-fonts.sh
  F:    scripts/documentation-file-ref-check
  F:    scripts/kernel-doc
  F:    scripts/sphinx-pre-install
@@@ -6690,7 -6587,7 +6704,7 @@@ M:      Jacek Lawrynowicz <jacek.lawrynowicz
  M:    Stanislaw Gruszka <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/accel/ivpu/
  F:    include/uapi/drm/ivpu_accel.h
  
@@@ -6710,18 -6607,18 +6724,18 @@@ M:   Chen-Yu Tsai <[email protected]
  R:    Jernej Skrabec <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/sun4i/sun8i*
  
  DRM DRIVER FOR ARM PL111 CLCD
  S:    Orphan
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/pl111/
  
  DRM DRIVER FOR ARM VERSATILE TFT PANELS
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/arm,versatile-tft-panel.yaml
  F:    drivers/gpu/drm/panel/panel-arm-versatile.c
  
@@@ -6729,7 -6626,7 +6743,7 @@@ DRM DRIVER FOR ASPEED BMC GF
  M:    Joel Stanley <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/gpu/aspeed-gfx.txt
  F:    drivers/gpu/drm/aspeed/
  
@@@ -6739,14 -6636,14 +6753,14 @@@ R:   Thomas Zimmermann <tzimmermann@suse.
  R:    Jocelyn Falempe <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/ast/
  
  DRM DRIVER FOR BOCHS VIRTUAL GPU
  M:    Gerd Hoffmann <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/tiny/bochs.c
  
  DRM DRIVER FOR BOE HIMAX8279D PANELS
@@@ -6764,14 -6661,14 +6778,14 @@@ F:   drivers/gpu/drm/bridge/chipone-icn62
  DRM DRIVER FOR EBBG FT8719 PANEL
  M:    Joel Selvaraj <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/ebbg,ft8719.yaml
  F:    drivers/gpu/drm/panel/panel-ebbg-ft8719.c
  
  DRM DRIVER FOR FARADAY TVE200 TV ENCODER
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/tve200/
  
  DRM DRIVER FOR FEIXIN K101 IM2BA02 MIPI-DSI LCD PANELS
@@@ -6791,7 -6688,7 +6805,7 @@@ M:      Thomas Zimmermann <tzimmermann@suse.
  M:    Javier Martinez Canillas <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/drm_aperture.c
  F:    drivers/gpu/drm/tiny/ofdrm.c
  F:    drivers/gpu/drm/tiny/simpledrm.c
@@@ -6810,27 -6707,27 +6824,27 @@@ DRM DRIVER FOR GENERIC USB DISPLA
  M:    Noralf Trønnes <[email protected]>
  S:    Maintained
  W:    https://github.com/notro/gud/wiki
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/gud/
  F:    include/drm/gud.h
  
  DRM DRIVER FOR GRAIN MEDIA GM12U320 PROJECTORS
  M:    Hans de Goede <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/tiny/gm12u320.c
  
  DRM DRIVER FOR HIMAX HX8394 MIPI-DSI LCD panels
  M:    Ondrej Jirman <[email protected]>
  M:    Javier Martinez Canillas <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/himax,hx8394.yaml
  F:    drivers/gpu/drm/panel/panel-himax-hx8394.c
  
  DRM DRIVER FOR HX8357D PANELS
  S:    Orphan
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/himax,hx8357d.txt
  F:    drivers/gpu/drm/tiny/hx8357d.c
  
@@@ -6839,20 -6736,20 +6853,20 @@@ M:   Deepak Rawat <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/hyperv
  
  DRM DRIVER FOR ILITEK ILI9225 PANELS
  M:    David Lechner <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/ilitek,ili9225.txt
  F:    drivers/gpu/drm/tiny/ili9225.c
  
  DRM DRIVER FOR ILITEK ILI9486 PANELS
  M:    Kamlesh Gurudasani <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/ilitek,ili9486.yaml
  F:    drivers/gpu/drm/tiny/ili9486.c
  
@@@ -6868,25 -6765,17 +6882,25 @@@ S:   Maintaine
  F:    Documentation/devicetree/bindings/display/panel/jadard,jd9365da-h3.yaml
  F:    drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c
  
 +DRM DRIVER FOR LG SW43408 PANELS
 +M:    Sumit Semwal <[email protected]>
 +M:    Caleb Connolly <[email protected]>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/panel/lg,sw43408.yaml
 +F:    drivers/gpu/drm/panel/panel-lg-sw43408.c
 +
  DRM DRIVER FOR LOGICVC DISPLAY CONTROLLER
  M:    Paul Kocialkowski <[email protected]>
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/logicvc/
  
  DRM DRIVER FOR LVDS PANELS
  M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/lvds.yaml
  F:    Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
  F:    drivers/gpu/drm/panel/panel-lvds.c
@@@ -6904,13 -6793,13 +6918,13 @@@ R:   Thomas Zimmermann <tzimmermann@suse.
  R:    Jocelyn Falempe <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/mgag200/
  
  DRM DRIVER FOR MI0283QT
  M:    Noralf Trønnes <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
  F:    drivers/gpu/drm/tiny/mi0283qt.c
  
@@@ -6918,29 -6807,11 +6932,29 @@@ DRM DRIVER FOR MIPI DBI compatible pane
  M:    Noralf Trønnes <[email protected]>
  S:    Maintained
  W:    https://github.com/notro/panel-mipi-dbi/wiki
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
  F:    drivers/gpu/drm/tiny/panel-mipi-dbi.c
  
 -DRM DRIVER FOR MSM ADRENO GPU
 +DRM DRIVER for Qualcomm Adreno GPUs
 +M:    Rob Clark <[email protected]>
 +R:    Sean Paul <[email protected]>
 +R:    Konrad Dybcio <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +B:    https://gitlab.freedesktop.org/drm/msm/-/issues
 +T:    git https://gitlab.freedesktop.org/drm/msm.git
 +F:    Documentation/devicetree/bindings/display/msm/gpu.yaml
 +F:    drivers/gpu/drm/msm/adreno/
 +F:    drivers/gpu/drm/msm/msm_gpu.*
 +F:    drivers/gpu/drm/msm/msm_gpu_devfreq.*
 +F:    drivers/gpu/drm/msm/msm_ringbuffer.*
 +F:    drivers/gpu/drm/msm/registers/adreno/
 +F:    include/uapi/drm/msm_drm.h
 +
 +DRM DRIVER for Qualcomm display hardware
  M:    Rob Clark <[email protected]>
  M:    Abhinav Kumar <[email protected]>
  M:    Dmitry Baryshkov <[email protected]>
@@@ -6960,28 -6831,28 +6974,28 @@@ F:   include/uapi/drm/msm_drm.
  DRM DRIVER FOR NOVATEK NT35510 PANELS
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml
  F:    drivers/gpu/drm/panel/panel-novatek-nt35510.c
  
  DRM DRIVER FOR NOVATEK NT35560 PANELS
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
  F:    drivers/gpu/drm/panel/panel-novatek-nt35560.c
  
  DRM DRIVER FOR NOVATEK NT36523 PANELS
  M:    Jianhua Lu <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/novatek,nt36523.yaml
  F:    drivers/gpu/drm/panel/panel-novatek-nt36523.c
  
  DRM DRIVER FOR NOVATEK NT36672A PANELS
  M:    Sumit Semwal <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml
  F:    drivers/gpu/drm/panel/panel-novatek-nt36672a.c
  
@@@ -7015,7 -6886,7 +7029,7 @@@ F:      drivers/gpu/drm/bridge/parade-ps8640
  DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
  M:    Noralf Trønnes <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/repaper.txt
  F:    drivers/gpu/drm/tiny/repaper.c
  
@@@ -7025,7 -6896,7 +7039,7 @@@ M:      Gerd Hoffmann <[email protected]
  L:    [email protected]
  S:    Obsolete
  W:    https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/tiny/cirrus.c
  
  DRM DRIVER FOR QXL VIRTUAL GPU
@@@ -7034,7 -6905,7 +7048,7 @@@ M:      Gerd Hoffmann <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/qxl/
  F:    include/uapi/drm/qxl_drm.h
  
@@@ -7047,7 -6918,7 +7061,7 @@@ F:      drivers/gpu/drm/panel/panel-raydium-
  DRM DRIVER FOR SAMSUNG DB7430 PANELS
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/samsung,lms397kf04.yaml
  F:    drivers/gpu/drm/panel/panel-samsung-db7430.c
  
@@@ -7056,7 -6927,7 +7070,7 @@@ M:      Inki Dae <[email protected]
  M:    Jagan Teki <[email protected]>
  M:    Marek Szyprowski <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml
  F:    drivers/gpu/drm/bridge/samsung-dsim.c
  F:    include/drm/bridge/samsung-dsim.h
@@@ -7076,7 -6947,7 +7090,7 @@@ F:      drivers/gpu/drm/panel/panel-samsung-
  DRM DRIVER FOR SITRONIX ST7586 PANELS
  M:    David Lechner <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/sitronix,st7586.txt
  F:    drivers/gpu/drm/tiny/st7586.c
  
@@@ -7097,14 -6968,14 +7111,14 @@@ F:   drivers/gpu/drm/panel/panel-sitronix
  DRM DRIVER FOR SITRONIX ST7735R PANELS
  M:    David Lechner <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/sitronix,st7735r.yaml
  F:    drivers/gpu/drm/tiny/st7735r.c
  
  DRM DRIVER FOR SOLOMON SSD130X OLED DISPLAYS
  M:    Javier Martinez Canillas <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/solomon,ssd-common.yaml
  F:    Documentation/devicetree/bindings/display/solomon,ssd13*.yaml
  F:    drivers/gpu/drm/solomon/ssd130x*
  DRM DRIVER FOR ST-ERICSSON MCDE
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/ste,mcde.yaml
  F:    drivers/gpu/drm/mcde/
  
@@@ -7136,7 -7007,7 +7150,7 @@@ F:      drivers/gpu/drm/bridge/ti-sn65dsi86.
  DRM DRIVER FOR TPO TPG110 PANELS
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/tpo,tpg110.yaml
  F:    drivers/gpu/drm/panel/panel-tpo-tpg110.c
  
@@@ -7146,7 -7017,7 +7160,7 @@@ R:      Sean Paul <[email protected]
  R:    Thomas Zimmermann <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/udl/
  
  DRM DRIVER FOR VIRTUAL KERNEL MODESETTING (VKMS)
@@@ -7157,7 -7028,7 +7171,7 @@@ R:      Haneen Mohammed <hamohammed.sa@gmail
  R:    Daniel Vetter <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/gpu/vkms.rst
  F:    drivers/gpu/drm/vkms/
  
@@@ -7165,7 -7036,7 +7179,7 @@@ DRM DRIVER FOR VIRTUALBOX VIRTUAL GP
  M:    Hans de Goede <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/vboxvideo/
  
  DRM DRIVER FOR VMWARE VIRTUAL GPU
@@@ -7173,14 -7044,14 +7187,14 @@@ M:   Zack Rusin <[email protected]
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/vmwgfx/
  F:    include/uapi/drm/vmwgfx_drm.h
  
  DRM DRIVER FOR WIDECHIPS WS2401 PANELS
  M:    Linus Walleij <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml
  F:    drivers/gpu/drm/panel/panel-widechips-ws2401.c
  
@@@ -7205,8 -7076,8 +7219,8 @@@ M:      Maarten Lankhorst <maarten.lankhorst
  M:    Maxime Ripard <[email protected]>
  M:    Thomas Zimmermann <[email protected]>
  S:    Maintained
 -W:    https://01.org/linuxgraphics/gfx-docs/maintainer-tools/drm-misc.html
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +W:    https://drm.pages.freedesktop.org/maintainer-tools/drm-misc.html
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/
  F:    Documentation/devicetree/bindings/gpu/
  F:    Documentation/gpu/
@@@ -7233,7 -7104,7 +7247,7 @@@ M:      Maxime Ripard <[email protected]
  M:    Chen-Yu Tsai <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/allwinner*
  F:    drivers/gpu/drm/sun4i/
  
@@@ -7243,7 -7114,7 +7257,7 @@@ L:      [email protected]
  L:    [email protected]
  S:    Supported
  W:    http://linux-meson.com/
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
  F:    Documentation/devicetree/bindings/display/amlogic,meson-vpu.yaml
  F:    Documentation/gpu/meson.rst
@@@ -7255,7 -7126,7 +7269,7 @@@ M:      Sam Ravnborg <[email protected]
  M:    Boris Brezillon <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/atmel/
  F:    drivers/gpu/drm/atmel-hlcdc/
  
@@@ -7267,7 -7138,7 +7281,7 @@@ R:      Laurent Pinchart <Laurent.pinchart@i
  R:    Jonas Karlman <[email protected]>
  R:    Jernej Skrabec <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/bridge/
  F:    drivers/gpu/drm/bridge/
  F:    drivers/gpu/drm/drm_bridge.c
@@@ -7292,7 -7163,7 +7306,7 @@@ M:      Stefan Agner <[email protected]
  M:    Alison Wang <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/fsl,dcu.txt
  F:    Documentation/devicetree/bindings/display/fsl,tcon.txt
  F:    drivers/gpu/drm/fsl-dcu/
@@@ -7301,7 -7172,7 +7315,7 @@@ DRM DRIVERS FOR FREESCALE IMX 5/
  M:    Philipp Zabel <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  T:    git git://git.pengutronix.de/git/pza/linux
  F:    Documentation/devicetree/bindings/display/imx/
  F:    drivers/gpu/drm/imx/ipuv3/
@@@ -7321,7 -7192,7 +7335,7 @@@ DRM DRIVERS FOR GMA500 (Poulsbo, Moores
  M:    Patrik Jakobsson <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/gma500/
  
  DRM DRIVERS FOR HISILICON
@@@ -7333,7 -7204,7 +7347,7 @@@ R:      Yongqin Liu <[email protected]
  R:    John Stultz <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/hisilicon/
  F:    drivers/gpu/drm/hisilicon/
  
@@@ -7342,7 -7213,7 +7356,7 @@@ M:      Qiang Yu <[email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/lima/
  F:    include/uapi/drm/lima_drm.h
  
@@@ -7350,7 -7221,7 +7364,7 @@@ DRM DRIVERS FOR LOONGSO
  M:    Sui Jingfeng <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/loongson/
  
  DRM DRIVERS FOR MEDIATEK
@@@ -7398,7 -7269,7 +7412,7 @@@ M:      Biju Das <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
  F:    drivers/gpu/drm/renesas/rz-du/
  
@@@ -7408,7 -7279,7 +7422,7 @@@ M:      Geert Uytterhoeven <geert+renesas@gl
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
  F:    drivers/gpu/drm/renesas/shmobile/
  F:    include/linux/platform_data/shmob_drm.h
@@@ -7419,7 -7290,7 +7433,7 @@@ M:      Heiko Stübner <[email protected]
  M:    Andy Yan <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/rockchip/
  F:    drivers/gpu/drm/ci/xfails/rockchip*
  F:    drivers/gpu/drm/rockchip/
@@@ -7428,7 -7299,7 +7442,7 @@@ DRM DRIVERS FOR ST
  M:    Alain Volmat <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/st,stih4xx.txt
  F:    drivers/gpu/drm/sti
  
@@@ -7438,7 -7309,7 +7452,7 @@@ M:      Raphael Gallais-Pou <raphael.gallais
  M:    Philippe Cornu <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml
  F:    drivers/gpu/drm/stm
  
@@@ -7447,7 -7318,7 +7461,7 @@@ M:      Jyri Sarha <[email protected]
  M:    Tomi Valkeinen <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml
  F:    Documentation/devicetree/bindings/display/ti/ti,j721e-dss.yaml
  F:    Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml
@@@ -7458,7 -7329,7 +7472,7 @@@ M:      Jyri Sarha <[email protected]
  M:    Tomi Valkeinen <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/tilcdc/
  F:    drivers/gpu/drm/tilcdc/
  
@@@ -7466,7 -7337,7 +7480,7 @@@ DRM DRIVERS FOR TI OMA
  M:    Tomi Valkeinen <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/ti/
  F:    drivers/gpu/drm/omapdrm/
  
@@@ -7474,7 -7345,7 +7488,7 @@@ DRM DRIVERS FOR V3
  M:    Melissa Wen <[email protected]>
  M:    Maíra Canal <[email protected]>
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
  F:    drivers/gpu/drm/v3d/
  F:    include/uapi/drm/v3d_drm.h
@@@ -7483,7 -7354,7 +7497,7 @@@ DRM DRIVERS FOR VC
  M:    Maxime Ripard <[email protected]>
  S:    Supported
  T:    git git://github.com/anholt/linux
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/brcm,bcm2835-*.yaml
  F:    drivers/gpu/drm/vc4/
  F:    include/uapi/drm/vc4_drm.h
@@@ -7504,16 -7375,15 +7518,16 @@@ M:   Oleksandr Andrushchenko <oleksandr_a
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/gpu/xen-front.rst
  F:    drivers/gpu/drm/xen/
  
  DRM DRIVERS FOR XILINX
  M:    Laurent Pinchart <[email protected]>
 +M:    Tomi Valkeinen <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/xlnx/
  F:    drivers/gpu/drm/xlnx/
  
@@@ -7522,7 -7392,7 +7536,7 @@@ M:      Luben Tuikov <[email protected]
  M:    Matthew Brost <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/scheduler/
  F:    include/drm/gpu_scheduler.h
  
@@@ -7532,7 -7402,7 +7546,7 @@@ R:      Jessica Zhang <quic_jesszhan@quicinc
  R:    Sam Ravnborg <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/panel/
  F:    drivers/gpu/drm/drm_panel.c
  F:    drivers/gpu/drm/panel/
@@@ -7542,7 -7412,7 +7556,7 @@@ DRM PRIVACY-SCREEN CLAS
  M:    Hans de Goede <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/drm_privacy_screen*
  F:    include/drm/drm_privacy_screen*
  
@@@ -7551,7 -7421,7 +7565,7 @@@ M:      Christian Koenig <christian.koenig@a
  M:    Huang Rui <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/ttm/
  F:    include/drm/ttm/
  
@@@ -7559,7 -7429,7 +7573,7 @@@ DRM AUTOMATED TESTIN
  M:    Helen Koike <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/gpu/automated_testing.rst
  F:    drivers/gpu/drm/ci/
  
@@@ -7973,8 -7843,9 +7987,8 @@@ W:      http://aeschi.ch.eu.org/efs
  F:    fs/efs/
  
  EHEA (IBM pSeries eHEA 10Gb ethernet adapter) DRIVER
 -M:    Douglas Miller <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/net/ethernet/ibm/ehea/
  
  ELM327 CAN NETWORK DRIVER
@@@ -8582,6 -8453,8 +8596,6 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    include/linux/fortify-string.h
  F:    lib/fortify_kunit.c
  F:    lib/memcpy_kunit.c
 -F:    lib/strcat_kunit.c
 -F:    lib/strscpy_kunit.c
  F:    lib/test_fortify/*
  F:    scripts/test_fortify.sh
  K:    \b__NO_FORTIFY\b
@@@ -8622,7 -8495,7 +8636,7 @@@ F:      arch/x86/math-emu
  FRAMEBUFFER CORE
  M:    Daniel Vetter <[email protected]>
  S:    Odd Fixes
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/video/fbdev/core/
  
  FRAMEBUFFER LAYER
@@@ -8649,7 -8522,7 +8663,7 @@@ F:      Documentation/devicetree/bindings/cr
  F:    drivers/crypto/caam/
  
  FREESCALE COLDFIRE M5441X MMC DRIVER
 -M:    Angelo Dureghello <angelo.dureghello@timesys.com>
 +M:    Angelo Dureghello <adureghello@baylibre.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/mmc/host/sdhci-esdhc-mcf.c
@@@ -8887,9 -8760,10 +8901,9 @@@ S:     Orpha
  F:    drivers/usb/gadget/udc/fsl*
  
  FREESCALE USB PHY DRIVER
 -M:    Ran Wang <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/usb/phy/phy-fsl-usb*
  
  FREEVXFS FILESYSTEM
@@@ -9312,7 -9186,6 +9326,7 @@@ S:      Maintaine
  F:    Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
  F:    arch/arm64/boot/dts/exynos/google/
  F:    drivers/clk/samsung/clk-gs101.c
 +F:    drivers/phy/samsung/phy-gs101-ufs.c
  F:    include/dt-bindings/clock/google,gs101.h
  K:    [gG]oogle.?[tT]ensor
  
@@@ -9718,7 -9591,7 +9732,7 @@@ F:      kernel/power
  
  HID CORE LAYER
  M:    Jiri Kosina <[email protected]>
 -M:    Benjamin Tissoires <ben[email protected]>
 +M:    Benjamin Tissoires <ben[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
@@@ -10165,7 -10038,7 +10179,7 @@@ F:   drivers/media/platform/st/sti/hv
  
  HWPOISON MEMORY FAILURE HANDLING
  M:    Miaohe Lin <[email protected]>
 -R:    Naoya Horiguchi <naoya.horiguchi@nec.com>
 +R:    Naoya Horiguchi <nao.horiguchi@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    mm/hwpoison-inject.c
  F:    Documentation/i2c/busses/i2c-ismt.rst
  F:    drivers/i2c/busses/i2c-ismt.c
  
 +I2C/SMBUS ZHAOXIN DRIVER
 +M:    Hans Hu <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W:    https://www.zhaoxin.com
 +F:    drivers/i2c/busses/i2c-viai2c-common.c
 +F:    drivers/i2c/busses/i2c-viai2c-zhaoxin.c
 +
  I2C/SMBUS STUB DRIVER
  M:    Jean Delvare <[email protected]>
  L:    [email protected]
@@@ -10733,7 -10598,7 +10747,7 @@@ IMGTEC POWERVR DRM DRIVE
  M:    Frank Binns <[email protected]>
  M:    Matt Coster <[email protected]>
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
  F:    Documentation/devicetree/bindings/gpu/img,powervr-sgx.yaml
  F:    Documentation/gpu/imagination/
@@@ -10753,7 -10618,7 +10767,7 @@@ S:   Orpha
  F:    drivers/video/fbdev/imsttfb.c
  
  INDEX OF FURTHER KERNEL DOCUMENTATION
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  S:    Maintained
  F:    Documentation/process/kernel-docs.rst
  
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
  F:    drivers/gpio/gpio-elkhartlake.c
 +F:    drivers/gpio/gpio-graniterapids.c
  F:    drivers/gpio/gpio-ich.c
  F:    drivers/gpio/gpio-merrifield.c
  F:    drivers/gpio/gpio-ml-ioh.c
@@@ -11090,7 -10954,7 +11104,7 @@@ F:   drivers/idle/intel_idle.
  
  INTEL IDXD DRIVER
  M:    Fenghua Yu <[email protected]>
 -M:    Dave Jiang <[email protected]>
 +R:    Dave Jiang <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/dma/idxd/*
@@@ -11142,16 -11006,6 +11156,16 @@@ F: Documentation/admin-guide/media/ipu3
  F:    Documentation/userspace-api/media/v4l/metafmt-intel-ipu3.rst
  F:    drivers/staging/media/ipu3/
  
 +INTEL IPU6 INPUT SYSTEM DRIVER
 +M:    Sakari Ailus <[email protected]>
 +M:    Bingbu Cao <[email protected]>
 +R:    Tianshu Qiu <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/admin-guide/media/ipu6-isys.rst
 +F:    drivers/media/pci/intel/ipu6/
 +
  INTEL ISHTP ECLITE DRIVER
  M:    Sumesh K Naduvalath <[email protected]>
  L:    [email protected]
@@@ -11525,7 -11379,7 +11539,7 @@@ IOSYS-MAP HELPER
  M:    Thomas Zimmermann <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    include/linux/iosys-map.h
  
  IO_URING
@@@ -11593,7 -11447,6 +11607,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    Documentation/core-api/irq/irq-domain.rst
  F:    include/linux/irqdomain.h
 +F:    include/linux/irqdomain_defs.h
  F:    kernel/irq/irqdomain.c
  F:    kernel/irq/msi.c
  
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    include/linux/group_cpus.h
 +F:    include/linux/irq.h
 +F:    include/linux/irqhandler.h
 +F:    include/linux/irqnr.h
 +F:    include/linux/irqreturn.h
  F:    kernel/irq/
  F:    lib/group_cpus.c
  
@@@ -11617,7 -11466,6 +11631,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    Documentation/devicetree/bindings/interrupt-controller/
  F:    drivers/irqchip/
 +F:    include/linux/irqchip.h
  
  ISA
  M:    William Breathitt Gray <[email protected]>
@@@ -11724,7 -11572,7 +11738,7 @@@ ITE IT66121 HDMI BRIDGE DRIVE
  M:    Phong LE <[email protected]>
  M:    Neil Armstrong <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml
  F:    drivers/gpu/drm/bridge/ite-it66121.c
  
@@@ -12161,7 -12009,7 +12175,7 @@@ F:   include/keys/encrypted-type.
  F:    security/keys/encrypted-keys/
  
  KEYS-TRUSTED
 -M:    James Bottomley <[email protected].com>
 +M:    James Bottomley <James.Bottomley@HansenPartnership.com>
  M:    Jarkko Sakkinen <[email protected]>
  M:    Mimi Zohar <[email protected]>
  L:    [email protected]
@@@ -12181,15 -12029,6 +12195,15 @@@ S: Maintaine
  F:    include/keys/trusted_caam.h
  F:    security/keys/trusted-keys/trusted_caam.c
  
 +KEYS-TRUSTED-DCP
 +M:    David Gstir <[email protected]>
 +R:    sigma star Kernel Team <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +F:    include/keys/trusted_dcp.h
 +F:    security/keys/trusted-keys/trusted_dcp.c
 +
  KEYS-TRUSTED-TEE
  M:    Sumit Garg <[email protected]>
  L:    [email protected]
@@@ -12217,7 -12056,6 +12231,7 @@@ M:   Mimi Zohar <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 +W:    https://kernsec.org/wiki/index.php/Linux_Kernel_Integrity
  F:    security/integrity/platform_certs
  
  KFENCE
@@@ -12390,14 -12228,12 +12404,14 @@@ F:        net/l3mde
  
  LANDLOCK SECURITY MODULE
  M:    Mickaël Salaün <[email protected]>
 +R:    Günther Noack <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://landlock.io
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/mic/linux.git
  F:    Documentation/security/landlock.rst
  F:    Documentation/userspace-api/landlock.rst
 +F:    fs/ioctl.c
  F:    include/uapi/linux/landlock.h
  F:    samples/landlock/
  F:    security/landlock/
@@@ -12566,26 -12402,6 +12580,26 @@@ F: drivers/ata
  F:    include/linux/ata.h
  F:    include/linux/libata.h
  
 +LIBETH COMMON ETHERNET LIBRARY
 +M:    Alexander Lobakin <[email protected]>
 +L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +T:    git https://github.com/alobakin/linux.git
 +F:    drivers/net/ethernet/intel/libeth/
 +F:    include/net/libeth/
 +K:    libeth
 +
 +LIBIE COMMON INTEL ETHERNET LIBRARY
 +M:    Alexander Lobakin <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Supported
 +T:    git https://github.com/alobakin/linux.git
 +F:    drivers/net/ethernet/intel/libie/
 +F:    include/linux/net/intel/libie/
 +K:    libie
 +
  LIBNVDIMM BTT: BLOCK TRANSLATION TABLE
  M:    Vishal Verma <[email protected]>
  M:    Dan Williams <[email protected]>
@@@ -12670,6 -12486,7 +12684,6 @@@ LINUX FOR POWERPC (32-BIT AND 64-BIT
  M:    Michael Ellerman <[email protected]>
  R:    Nicholas Piggin <[email protected]>
  R:    Christophe Leroy <[email protected]>
 -R:    Aneesh Kumar K.V <[email protected]>
  R:    Naveen N. Rao <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -12695,8 -12512,6 +12709,8 @@@ F:   drivers/rtc/rtc-opal.
  F:    drivers/scsi/ibmvscsi/
  F:    drivers/tty/hvc/hvc_opal.c
  F:    drivers/watchdog/wdrtas.c
 +F:    include/linux/papr_scm.h
 +F:    include/uapi/linux/papr_pdsm.h
  F:    tools/testing/selftests/powerpc
  N:    /pmac
  N:    powermac
@@@ -13195,15 -13010,6 +13209,15 @@@ F: Documentation/devicetree/bindings/ma
  F:    drivers/mailbox/arm_mhuv2.c
  F:    include/linux/mailbox/arm_mhuv2_message.h
  
 +MAILBOX ARM MHUv3
 +M:    Sudeep Holla <[email protected]>
 +M:    Cristian Marussi <[email protected]>
 +L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mailbox/arm,mhuv3.yaml
 +F:    drivers/mailbox/arm_mhuv3.c
 +
  MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7
  M:    Alejandro Colomar <[email protected]>
  L:    [email protected]
@@@ -13938,7 -13744,6 +13952,7 @@@ M:   Sean Wang <[email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 +F:    Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
  F:    Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
  F:    drivers/bluetooth/btmtkuart.c
  
  S:    Maintained
  F:    drivers/net/phy/mediatek-ge-soc.c
  F:    drivers/net/phy/mediatek-ge.c
 +F:    drivers/phy/mediatek/phy-mtk-xfi-tphy.c
  
  MEDIATEK I2C CONTROLLER DRIVER
  M:    Qii Wang <[email protected]>
@@@ -14361,16 -14165,6 +14375,16 @@@ F: mm/memblock.
  F:    mm/mm_init.c
  F:    tools/testing/memblock/
  
 +MEMORY ALLOCATION PROFILING
 +M:    Suren Baghdasaryan <[email protected]>
 +M:    Kent Overstreet <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/mm/allocation-profiling.rst
 +F:    include/linux/alloc_tag.h
 +F:    include/linux/pgalloc_tag.h
 +F:    lib/alloc_tag.c
 +
  MEMORY CONTROLLER DRIVERS
  M:    Krzysztof Kozlowski <[email protected]>
  L:    [email protected]
@@@ -14577,7 -14371,7 +14591,7 @@@ F:   drivers/dma/at_xdmac.
  F:    include/dt-bindings/dma/at91.h
  
  MICROCHIP AT91 SERIAL DRIVER
 -M:    Richard Genoud <richard.genoud@gmail.com>
 +M:    Richard Genoud <richard.genoud@bootlin.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
  F:    drivers/tty/serial/atmel_serial.c
@@@ -14783,14 -14577,6 +14797,14 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/pwm/atmel,at91sam-pwm.yaml
  F:    drivers/pwm/pwm-atmel.c
  
 +MICROCHIP SAM9x7-COMPATIBLE LVDS CONTROLLER
 +M:    Manikandan Muralidharan <[email protected]>
 +M:    Dharma Balasubiramani <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/devicetree/bindings/display/bridge/microchip,sam9x75-lvds.yaml
 +F:    drivers/gpu/drm/bridge/microchip-lvds.c
 +
  MICROCHIP SAMA5D2-COMPATIBLE ADC DRIVER
  M:    Eugen Hristev <[email protected]>
  L:    [email protected]
@@@ -15123,7 -14909,7 +15137,7 @@@ F:   drivers/phy/marvell/phy-pxa-usb.
  
  MMU GATHER AND TLB INVALIDATION
  M:    Will Deacon <[email protected]>
 -M:    "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
 +M:    "Aneesh Kumar K.V" <aneesh.kumar@kernel.org>
  M:    Andrew Morton <[email protected]>
  M:    Nick Piggin <[email protected]>
  M:    Peter Zijlstra <[email protected]>
  S:    Orphan
  F:    drivers/platform/x86/msi-wmi.c
  
 +MSI WMI PLATFORM FEATURES
 +M:    Armin Wolf <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/ABI/testing/debugfs-msi-wmi-platform
 +F:    Documentation/wmi/devices/msi-wmi-platform.rst
 +F:    drivers/platform/x86/msi-wmi-platform.c
 +
  MSI001 MEDIA DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -15386,7 -15164,7 +15400,7 @@@ M:   Marek Vasut <[email protected]
  M:    Stefan Agner <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/fsl,lcdif.yaml
  F:    drivers/gpu/drm/mxsfb/
  
@@@ -15398,8 -15176,9 +15412,8 @@@ F:   drivers/scsi/myrb.
  F:    drivers/scsi/myrs.*
  
  MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
 -M:    Chris Lee <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Orphan
  W:    https://www.cspi.com/ethernet-products/support/downloads/
  F:    drivers/net/ethernet/myricom/myri10ge/
  
@@@ -15495,7 -15274,6 +15509,7 @@@ F:   net/*/netfilter.
  F:    net/*/netfilter/
  F:    net/bridge/br_netfilter*.c
  F:    net/netfilter/
 +F:    tools/testing/selftests/net/netfilter/
  
  NETROM NETWORK LAYER
  M:    Ralf Baechle <[email protected]>
@@@ -16107,7 -15885,7 +16121,7 @@@ M:   Laurentiu Palcu <laurentiu.palcu@oss
  R:    Lucas Stach <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml
  F:    drivers/gpu/drm/imx/dcss/
  
@@@ -16629,7 -16407,7 +16643,7 @@@ M:   Sakari Ailus <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/i2c/ov8856.yaml
 +F:    Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml
  F:    drivers/media/i2c/ov8856.c
  
  OMNIVISION OV8858 SENSOR DRIVER
@@@ -17036,6 -16814,12 +17050,6 @@@ S:  Maintaine
  F:    drivers/leds/leds-pca9532.c
  F:    include/linux/leds-pca9532.h
  
 -PCA9541 I2C BUS MASTER SELECTOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/i2c/muxes/i2c-mux-pca9541.c
 -
  PCI DRIVER FOR AARDVARK (Marvell Armada 3700)
  M:    Thomas Petazzoni <[email protected]>
  M:    Pali Rohár <[email protected]>
@@@ -17720,6 -17504,7 +17734,6 @@@ C:   irc://irc.libera.chat/linux-exyno
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git
  F:    Documentation/devicetree/bindings/pinctrl/samsung,pinctrl*yaml
  F:    drivers/pinctrl/samsung/
 -F:    include/dt-bindings/pinctrl/samsung.h
  
  PIN CONTROLLER - SINGLE
  M:    Tony Lindgren <[email protected]>
@@@ -18003,14 -17788,6 +18017,14 @@@ F: include/net/psample.
  F:    include/uapi/linux/psample.h
  F:    net/psample
  
 +PSE NETWORK DRIVER
 +M:    Oleksij Rempel <[email protected]>
 +M:    Kory Maincent <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/pse-pd/
 +F:    drivers/net/pse-pd/
 +
  PSTORE FILESYSTEM
  M:    Kees Cook <[email protected]>
  R:    Tony Luck <[email protected]>
@@@ -18111,7 -17888,7 +18125,7 @@@ F:   Documentation/devicetree/bindings/le
  F:    drivers/media/rc/pwm-ir-tx.c
  
  PWM SUBSYSTEM
 -M:    Uwe Kleine-König <u[email protected]>
 +M:    Uwe Kleine-König <u[email protected]>
  L:    [email protected]
  S:    Maintained
  Q:    https://patchwork.ozlabs.org/project/linux-pwm/list/
@@@ -18235,6 -18012,7 +18249,6 @@@ S:   Supporte
  F:    drivers/scsi/qedi/
  
  QLOGIC QL4xxx ETHERNET DRIVER
 -M:    Ariel Elior <[email protected]>
  M:    Manish Chopra <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -18244,6 -18022,7 +18258,6 @@@ F:   include/linux/qed
  
  QLOGIC QL4xxx RDMA DRIVER
  M:    Michal Kalderon <[email protected]>
 -M:    Ariel Elior <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/infiniband/hw/qedr/
@@@ -18409,7 -18188,7 +18423,7 @@@ R:   Pranjal Ramajor Asha Kanojiya <quic_
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/accel/qaic/
  F:    drivers/accel/qaic/
  F:    include/uapi/drm/qaic_accel.h
@@@ -18704,7 -18483,6 +18718,7 @@@ M:   "Theodore Ts'o" <[email protected]
  M:    Jason A. Donenfeld <[email protected]>
  S:    Maintained
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git
 +F:    Documentation/devicetree/bindings/rng/microsoft,vmgenid.yaml
  F:    drivers/char/random.c
  F:    drivers/virt/vmgenid.c
  
@@@ -18822,7 -18600,7 +18836,7 @@@ F:   tools/testing/selftests/resctrl
  READ-COPY UPDATE (RCU)
  M:    "Paul E. McKenney" <[email protected]>
  M:    Frederic Weisbecker <[email protected]> (kernel/rcu/tree_nocb.h)
 -M:    Neeraj Upadhyay <[email protected]> (kernel/rcu/tasks.h)
 +M:    Neeraj Upadhyay <[email protected]> (kernel/rcu/tasks.h)
  M:    Joel Fernandes <[email protected]>
  M:    Josh Triplett <[email protected]>
  M:    Boqun Feng <[email protected]>
@@@ -19075,12 -18853,6 +19089,12 @@@ F: include/dt-bindings/net/pcs-rzn1-mii
  F:    include/linux/pcs-rzn1-miic.h
  F:    net/dsa/tag_rzn1_a5psw.c
  
 +RENESAS RZ/N1 DWMAC GLUE LAYER
 +M:    Romain Gantois <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml
 +F:    drivers/net/ethernet/stmicro/stmmac/dwmac-rzn1.c
 +
  RENESAS RZ/N1 RTC CONTROLLER DRIVER
  M:    Miquel Raynal <[email protected]>
  L:    [email protected]
@@@ -19194,20 -18966,6 +19208,20 @@@ S: Maintaine
  F:    drivers/mtd/nand/raw/r852.c
  F:    drivers/mtd/nand/raw/r852.h
  
 +RISC-V AIA DRIVERS
 +M:    Anup Patel <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml
 +F:    Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml
 +F:    drivers/irqchip/irq-riscv-aplic-*.c
 +F:    drivers/irqchip/irq-riscv-aplic-*.h
 +F:    drivers/irqchip/irq-riscv-imsic-*.c
 +F:    drivers/irqchip/irq-riscv-imsic-*.h
 +F:    drivers/irqchip/irq-riscv-intc.c
 +F:    include/linux/irqchip/riscv-aplic.h
 +F:    include/linux/irqchip/riscv-imsic.h
 +
  RISC-V ARCHITECTURE
  M:    Paul Walmsley <[email protected]>
  M:    Palmer Dabbelt <[email protected]>
@@@ -19332,13 -19090,6 +19346,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/media/rockchip-rga.yaml
  F:    drivers/media/platform/rockchip/rga/
  
 +ROCKCHIP RK3308 INTERNAL AUDIO CODEC
 +M:    Luca Ceresoli <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/rockchip,rk3308-codec.yaml
 +F:    sound/soc/codecs/rk3308_codec.c
 +F:    sound/soc/codecs/rk3308_codec.h
 +
  ROCKCHIP VIDEO DECODER DRIVER
  M:    Ezequiel Garcia <[email protected]>
  L:    [email protected]
@@@ -19932,7 -19683,7 +19946,7 @@@ F:   drivers/scsi/sg.
  F:    include/scsi/sg.h
  
  SCSI SUBSYSTEM
 -M:    "James E.J. Bottomley" <[email protected].com>
 +M:    "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
  M:    "Martin K. Petersen" <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -20113,10 -19864,6 +20127,10 @@@ Q: https://patchwork.kernel.org/project
  B:    mailto:[email protected]
  P:    https://github.com/LinuxSecurityModule/kernel/blob/main/README.md
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm.git
 +F:    include/linux/lsm_audit.h
 +F:    include/linux/lsm_hook_defs.h
 +F:    include/linux/lsm_hooks.h
 +F:    include/linux/security.h
  F:    include/uapi/linux/lsm.h
  F:    security/
  F:    tools/testing/selftests/lsm/
@@@ -20445,6 -20192,7 +20459,6 @@@ F:   include/linux/platform_data/simplefb
  
  SIOX
  M:    Thorsten Scherer <[email protected]>
 -M:    Uwe Kleine-König <[email protected]>
  R:    Pengutronix Kernel Team <[email protected]>
  S:    Supported
  F:    drivers/gpio/gpio-siox.c
@@@ -20923,12 -20671,6 +20937,12 @@@ F: include/trace/events/sof*.
  F:    include/uapi/sound/asoc.h
  F:    sound/soc/
  
 +SOUND - SOC LAYER / dapm-graph
 +M:    Luca Ceresoli <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    tools/sound/dapm-graph
 +
  SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS
  M:    Pierre-Louis Bossart <[email protected]>
  M:    Liam Girdwood <[email protected]>
@@@ -20963,7 -20705,7 +20977,7 @@@ Q:   http://patchwork.linuxtv.org/project
  F:    drivers/media/dvb-frontends/sp2*
  
  SPANISH DOCUMENTATION
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  R:    Avadhut Naik <[email protected]>
  S:    Maintained
  F:    Documentation/translations/sp_SP/
@@@ -21115,13 -20857,6 +21129,13 @@@ T: git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml
  F:    drivers/media/i2c/st-mipid02.c
  
 +ST STM32 FIREWALL
 +M:    Gatien Chevallier <[email protected]>
 +S:    Maintained
 +F:    drivers/bus/stm32_etzpc.c
 +F:    drivers/bus/stm32_firewall.c
 +F:    drivers/bus/stm32_rifsc.c
 +
  ST STM32 I2C/SMBUS DRIVER
  M:    Pierre-Yves MORDRET <[email protected]>
  M:    Alain Volmat <[email protected]>
@@@ -21605,7 -21340,7 +21619,7 @@@ R:   Gustavo Padovan <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/driver-api/sync_file.rst
  F:    drivers/dma-buf/dma-fence*
  F:    drivers/dma-buf/sw_sync.c
@@@ -21764,7 -21499,6 +21778,7 @@@ F:   drivers/cpufreq/sc[mp]i-cpufreq.
  F:    drivers/firmware/arm_scmi/
  F:    drivers/firmware/arm_scpi.c
  F:    drivers/hwmon/scmi-hwmon.c
 +F:    drivers/pinctrl/pinctrl-scmi.c
  F:    drivers/pmdomain/arm/
  F:    drivers/powercap/arm_scmi_powercap.c
  F:    drivers/regulator/scmi-regulator.c
@@@ -21951,7 -21685,6 +21965,7 @@@ TEAM DRIVE
  M:    Jiri Pirko <[email protected]>
  L:    [email protected]
  S:    Supported
 +F:    Documentation/netlink/specs/team.yaml
  F:    drivers/net/team/
  F:    include/linux/if_team.h
  F:    include/uapi/linux/if_team.h
@@@ -21997,7 -21730,6 +22011,7 @@@ F:   Documentation/driver-api/tee.rs
  F:    Documentation/tee/
  F:    Documentation/userspace-api/tee.rst
  F:    drivers/tee/
 +F:    include/linux/tee_core.h
  F:    include/linux/tee_drv.h
  F:    include/uapi/linux/tee.h
  
@@@ -22016,11 -21748,6 +22030,11 @@@ M: Prashant Gaikwad <[email protected]
  S:    Supported
  F:    drivers/clk/tegra/
  
 +TEGRA CRYPTO DRIVERS
 +M:    Akhil R <[email protected]>
 +S:    Supported
 +F:    drivers/crypto/tegra/*
 +
  TEGRA DMA DRIVERS
  M:    Laxman Dewangan <[email protected]>
  M:    Jon Hunter <[email protected]>
@@@ -22137,7 -21864,7 +22151,7 @@@ F:   Documentation/devicetree/bindings/so
  F:    Documentation/devicetree/bindings/sound/tas2562.yaml
  F:    Documentation/devicetree/bindings/sound/tas2770.yaml
  F:    Documentation/devicetree/bindings/sound/tas27xx.yaml
 -F:    Documentation/devicetree/bindings/sound/ti,pcm1681.txt
 +F:    Documentation/devicetree/bindings/sound/ti,pcm1681.yaml
  F:    Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml
  F:    Documentation/devicetree/bindings/sound/ti,tlv320*.yaml
  F:    Documentation/devicetree/bindings/sound/tlv320adcx140.yaml
@@@ -22214,7 -21941,7 +22228,7 @@@ F:   include/linux/soc/ti/ti_sci_inta_msi
  F:    include/linux/soc/ti/ti_sci_protocol.h
  
  TEXAS INSTRUMENTS' TMP117 TEMPERATURE SENSOR DRIVER
 -M:    Puranjay Mohan <puranjay[email protected]>
 +M:    Puranjay Mohan <puranjay@kernel.org>
  L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
@@@ -22430,6 -22157,7 +22444,6 @@@ F:   drivers/counter/ti-eqep.
  
  TI ETHERNET SWITCH DRIVER (CPSW)
  R:    Siddharth Vadapalli <[email protected]>
 -R:    Ravi Gunasekaran <[email protected]>
  R:    Roger Quadros <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -22706,7 -22434,7 +22720,7 @@@ M:   Jarkko Sakkinen <[email protected]
  R:    Jason Gunthorpe <[email protected]>
  L:    [email protected]
  S:    Maintained
 -W:    https://kernsec.org/wiki/index.php/Linux_Kernel_Integrity
 +W:    https://gitlab.com/jarkkojs/linux-tpmdd-test
  Q:    https://patchwork.kernel.org/project/linux-integrity/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
  F:    Documentation/devicetree/bindings/tpm/
@@@ -22795,15 -22523,6 +22809,15 @@@ F: Documentation/ABI/testing/configfs-t
  F:    drivers/virt/coco/tsm.c
  F:    include/linux/tsm.h
  
 +TRUSTED SERVICES TEE DRIVER
 +M:    Balint Dobszay <[email protected]>
 +M:    Sudeep Holla <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/tee/ts-tee.rst
 +F:    drivers/tee/tstee/
 +
  TTY LAYER AND SERIAL DRIVERS
  M:    Greg Kroah-Hartman <[email protected]>
  M:    Jiri Slaby <[email protected]>
@@@ -22945,7 -22664,6 +22959,7 @@@ F:   include/linux/ubsan.
  F:    lib/Kconfig.ubsan
  F:    lib/test_ubsan.c
  F:    lib/ubsan.c
 +F:    lib/ubsan.h
  F:    scripts/Makefile.ubsan
  K:    \bARCH_HAS_UBSAN\b
  
@@@ -23136,7 -22854,7 +23150,7 @@@ F:   drivers/usb/host/ehci
  
  USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
  M:    Jiri Kosina <[email protected]>
 -M:    Benjamin Tissoires <ben[email protected]>
 +M:    Benjamin Tissoires <ben[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
@@@ -23406,7 -23124,7 +23420,7 @@@ USERSPACE DMA BUFFER DRIVE
  M:    Gerd Hoffmann <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/dma-buf/udmabuf.c
  F:    include/uapi/linux/udmabuf.h
  
@@@ -23522,8 -23240,9 +23536,8 @@@ F:   include/linux/vfio_pci_core.
  F:    include/uapi/linux/vfio.h
  
  VFIO FSL-MC DRIVER
 -M:    Diana Craciun <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/vfio/fsl-mc/
  
  VFIO HISILICON PCI DRIVER
  S:    Maintained
  F:    drivers/vfio/platform/
  
 +VFIO QAT PCI DRIVER
 +M:    Xin Zeng <[email protected]>
 +M:    Giovanni Cabiddu <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/vfio/pci/qat/
 +
  VFIO VIRTIO PCI DRIVER
  M:    Yishai Hadas <[email protected]>
  L:    [email protected]
@@@ -23595,7 -23306,7 +23609,7 @@@ F:   drivers/vfio/pci/virti
  VGA_SWITCHEROO
  R:    Lukas Wunner <[email protected]>
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/gpu/vga-switcheroo.rst
  F:    drivers/gpu/vga/vga_switcheroo.c
  F:    include/linux/vga_switcheroo.h
@@@ -23739,7 -23450,6 +23753,7 @@@ F:   include/linux/virtio*.
  F:    include/linux/vringh.h
  F:    include/uapi/linux/virtio_*.h
  F:    tools/virtio/
 +F:    tools/testing/selftests/drivers/net/virtio_net/
  
  VIRTIO CRYPTO DRIVER
  M:    Gonglei <[email protected]>
@@@ -23789,7 -23499,7 +23803,7 @@@ R:   Chia-I Wu <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm-misc
 +T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/gpu/drm/ci/xfails/virtio*
  F:    drivers/gpu/drm/virtio/
  F:    include/uapi/linux/virtio_gpu.h
@@@ -24772,14 -24482,6 +24786,14 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    Documentation/admin-guide/LSM/Yama.rst
  F:    security/yama/
  
 +YAML NETLINK (YNL)
 +M:    Donald Hunter <[email protected]>
 +M:    Jakub Kicinski <[email protected]>
 +F:    Documentation/netlink/
 +F:    Documentation/userspace-api/netlink/intro-specs.rst
 +F:    Documentation/userspace-api/netlink/specs.rst
 +F:    tools/net/ynl/
 +
  YEALINK PHONE DRIVER
  M:    Henk Vergonet <[email protected]>
  L:    [email protected]
diff --combined include/linux/bitops.h
index 3112ae7d6524b79d4ae2e5890107bbef1e89ba1c,3313d2c04e6d9f57b4acbd5fb68e52e87155aa0c..46d4bdc634c0bbaa7da315529d43937abaf205c2
@@@ -8,21 -8,12 +8,14 @@@
  
  #include <uapi/linux/kernel.h>
  
- /* Set bits in the first 'n' bytes when loaded from memory */
- #ifdef __LITTLE_ENDIAN
- #  define aligned_byte_mask(n) ((1UL << 8*(n))-1)
- #else
- #  define aligned_byte_mask(n) (~0xffUL << (BITS_PER_LONG - 8 - 8*(n)))
- #endif
  #define BITS_PER_TYPE(type)   (sizeof(type) * BITS_PER_BYTE)
  #define BITS_TO_LONGS(nr)     __KERNEL_DIV_ROUND_UP(nr, BITS_PER_TYPE(long))
  #define BITS_TO_U64(nr)               __KERNEL_DIV_ROUND_UP(nr, BITS_PER_TYPE(u64))
  #define BITS_TO_U32(nr)               __KERNEL_DIV_ROUND_UP(nr, BITS_PER_TYPE(u32))
  #define BITS_TO_BYTES(nr)     __KERNEL_DIV_ROUND_UP(nr, BITS_PER_TYPE(char))
  
 +#define BYTES_TO_BITS(nb)     ((nb) * BITS_PER_BYTE)
 +
  extern unsigned int __sw_hweight8(unsigned int w);
  extern unsigned int __sw_hweight16(unsigned int w);
  extern unsigned int __sw_hweight32(unsigned int w);
@@@ -82,7 -73,6 +75,7 @@@ __check_bitop_pr(__test_and_set_bit)
  __check_bitop_pr(__test_and_clear_bit);
  __check_bitop_pr(__test_and_change_bit);
  __check_bitop_pr(test_bit);
 +__check_bitop_pr(test_bit_acquire);
  
  #undef __check_bitop_pr
  
@@@ -203,7 -193,7 +196,7 @@@ static __always_inline __s64 sign_exten
        return (__s64)(value << shift) >> shift;
  }
  
 -static inline unsigned fls_long(unsigned long l)
 +static inline unsigned int fls_long(unsigned long l)
  {
        if (sizeof(l) == 4)
                return fls(l);
@@@ -239,7 -229,7 +232,7 @@@ static inline int get_count_order_long(
   * The result is not defined if no bits are set, so check that @word
   * is non-zero before calling this.
   */
 -static inline unsigned long __ffs64(u64 word)
 +static inline unsigned int __ffs64(u64 word)
  {
  #if BITS_PER_LONG == 32
        if (((u32)word) == 0UL)
   * @word: The word to search
   * @n: Bit to find
   */
 -static inline unsigned long fns(unsigned long word, unsigned int n)
 +static inline unsigned int fns(unsigned long word, unsigned int n)
  {
-       unsigned int bit;
-       while (word) {
-               bit = __ffs(word);
-               if (n-- == 0)
-                       return bit;
-               __clear_bit(bit, &word);
-       }
+       while (word && n--)
+               word &= word - 1;
  
-       return BITS_PER_LONG;
+       return word ? __ffs(word) : BITS_PER_LONG;
  }
  
  /**
   * @addr: the address to start counting from
   * @value: the value to assign
   */
 -static __always_inline void assign_bit(long nr, volatile unsigned long *addr,
 -                                     bool value)
 -{
 -      if (value)
 -              set_bit(nr, addr);
 -      else
 -              clear_bit(nr, addr);
 -}
 +#define assign_bit(nr, addr, value)                                   \
 +      ((value) ? set_bit((nr), (addr)) : clear_bit((nr), (addr)))
  
 -static __always_inline void __assign_bit(long nr, volatile unsigned long *addr,
 -                                       bool value)
 -{
 -      if (value)
 -              __set_bit(nr, addr);
 -      else
 -              __clear_bit(nr, addr);
 -}
 +#define __assign_bit(nr, addr, value)                                 \
 +      ((value) ? __set_bit((nr), (addr)) : __clear_bit((nr), (addr)))
  
  /**
   * __ptr_set_bit - Set bit in a pointer's value
diff --combined include/linux/cpumask.h
index 7600e877908fb580b16b55ee7f72ab16ebf044ed,d75060fbd058a324d365a272ba4fe81a36f33e54..4d3bef644add09a8bc105d407a4ec0b1754114a1
@@@ -187,23 -187,6 +187,23 @@@ unsigned int cpumask_first_and(const st
        return find_first_and_bit(cpumask_bits(srcp1), cpumask_bits(srcp2), small_cpumask_bits);
  }
  
 +/**
 + * cpumask_first_and_and - return the first cpu from *srcp1 & *srcp2 & *srcp3
 + * @srcp1: the first input
 + * @srcp2: the second input
 + * @srcp3: the third input
 + *
 + * Return: >= nr_cpu_ids if no cpus set in all.
 + */
 +static inline
 +unsigned int cpumask_first_and_and(const struct cpumask *srcp1,
 +                                 const struct cpumask *srcp2,
 +                                 const struct cpumask *srcp3)
 +{
 +      return find_first_and_and_bit(cpumask_bits(srcp1), cpumask_bits(srcp2),
 +                                    cpumask_bits(srcp3), small_cpumask_bits);
 +}
 +
  /**
   * cpumask_last - get the last CPU in a cpumask
   * @srcp:     - the cpumask pointer
@@@ -385,6 -368,16 +385,16 @@@ unsigned int __pure cpumask_next_wrap(i
  #define for_each_cpu_or(cpu, mask1, mask2)                            \
        for_each_or_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits)
  
+ /**
+  * for_each_cpu_from - iterate over CPUs present in @mask, from @cpu to the end of @mask.
+  * @cpu: the (optionally unsigned) integer iterator
+  * @mask: the cpumask pointer
+  *
+  * After the loop, cpu is >= nr_cpu_ids.
+  */
+ #define for_each_cpu_from(cpu, mask)                          \
+       for_each_set_bit_from(cpu, cpumask_bits(mask), small_cpumask_bits)
  /**
   * cpumask_any_but - return a "random" in a cpumask, but not this one.
   * @mask: the cpumask to search
@@@ -405,29 -398,6 +415,29 @@@ unsigned int cpumask_any_but(const stru
        return i;
  }
  
 +/**
 + * cpumask_any_and_but - pick a "random" cpu from *mask1 & *mask2, but not this one.
 + * @mask1: the first input cpumask
 + * @mask2: the second input cpumask
 + * @cpu: the cpu to ignore
 + *
 + * Returns >= nr_cpu_ids if no cpus set.
 + */
 +static inline
 +unsigned int cpumask_any_and_but(const struct cpumask *mask1,
 +                               const struct cpumask *mask2,
 +                               unsigned int cpu)
 +{
 +      unsigned int i;
 +
 +      cpumask_check(cpu);
 +      i = cpumask_first_and(mask1, mask2);
 +      if (i != cpu)
 +              return i;
 +
 +      return cpumask_next_and(cpu, mask1, mask2);
 +}
 +
  /**
   * cpumask_nth - get the Nth cpu in a cpumask
   * @srcp: the cpumask pointer
@@@ -893,7 -863,7 +903,7 @@@ static inline int cpulist_parse(const c
   */
  static inline unsigned int cpumask_size(void)
  {
 -      return BITS_TO_LONGS(large_cpumask_bits) * sizeof(long);
 +      return bitmap_size(large_cpumask_bits);
  }
  
  /*
@@@ -1057,6 -1027,11 +1067,6 @@@ void init_cpu_present(const struct cpum
  void init_cpu_possible(const struct cpumask *src);
  void init_cpu_online(const struct cpumask *src);
  
 -static inline void reset_cpu_possible_mask(void)
 -{
 -      bitmap_zero(cpumask_bits(&__cpu_possible_mask), NR_CPUS);
 -}
 -
  static inline void
  set_cpu_possible(unsigned int cpu, bool possible)
  {
diff --combined include/linux/find.h
index 28ec5a03393adea205fe788836191d88d6fbabc8,02751e43d448d40c81e1b531f117ba135e5cc142..5dfca4225fefb31686625f4ab2b33a0cdb034b86
@@@ -29,8 -29,6 +29,8 @@@ unsigned long __find_nth_and_andnot_bit
                                        unsigned long n);
  extern unsigned long _find_first_and_bit(const unsigned long *addr1,
                                         const unsigned long *addr2, unsigned long size);
 +unsigned long _find_first_and_and_bit(const unsigned long *addr1, const unsigned long *addr2,
 +                                    const unsigned long *addr3, unsigned long size);
  extern unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size);
  extern unsigned long _find_last_bit(const unsigned long *addr, unsigned long size);
  
@@@ -222,7 -220,7 +222,7 @@@ unsigned long find_first_bit(const unsi
   *     idx = find_first_bit(addr, size);
   *
   * Returns the bit number of the N'th set bit.
-  * If no such, returns @size.
+  * If no such, returns >= @size.
   */
  static inline
  unsigned long find_nth_bit(const unsigned long *addr, unsigned long size, unsigned long n)
@@@ -347,31 -345,6 +347,31 @@@ unsigned long find_first_and_bit(const 
  }
  #endif
  
 +/**
 + * find_first_and_and_bit - find the first set bit in 3 memory regions
 + * @addr1: The first address to base the search on
 + * @addr2: The second address to base the search on
 + * @addr3: The third address to base the search on
 + * @size: The bitmap size in bits
 + *
 + * Returns the bit number for the first set bit
 + * If no bits are set, returns @size.
 + */
 +static inline
 +unsigned long find_first_and_and_bit(const unsigned long *addr1,
 +                                   const unsigned long *addr2,
 +                                   const unsigned long *addr3,
 +                                   unsigned long size)
 +{
 +      if (small_const_nbits(size)) {
 +              unsigned long val = *addr1 & *addr2 & *addr3 & GENMASK(size - 1, 0);
 +
 +              return val ? __ffs(val) : size;
 +      }
 +
 +      return _find_first_and_and_bit(addr1, addr2, addr3, size);
 +}
 +
  #ifndef find_first_zero_bit
  /**
   * find_first_zero_bit - find the first cleared bit in a memory region
diff --combined kernel/sched/topology.c
index 329c82faca9bbea85f2394e2f639da68f8b415b4,b6bcafc09969b66dd7db2b864ffd936731032536..a6994a1fcc900cb1d381791118a297854e67ca70
@@@ -322,6 -322,7 +322,6 @@@ static struct ctl_table sched_energy_aw
                .extra1         = SYSCTL_ZERO,
                .extra2         = SYSCTL_ONE,
        },
 -      {}
  };
  
  static int __init sched_energy_aware_sysctl_init(void)
@@@ -1328,13 -1329,24 +1328,13 @@@ next
        update_group_capacity(sd, cpu);
  }
  
 -/*
 - * Asymmetric CPU capacity bits
 - */
 -struct asym_cap_data {
 -      struct list_head link;
 -      unsigned long capacity;
 -      unsigned long cpus[];
 -};
 -
  /*
   * Set of available CPUs grouped by their corresponding capacities
   * Each list entry contains a CPU mask reflecting CPUs that share the same
   * capacity.
   * The lifespan of data is unlimited.
   */
 -static LIST_HEAD(asym_cap_list);
 -
 -#define cpu_capacity_span(asym_data) to_cpumask((asym_data)->cpus)
 +LIST_HEAD(asym_cap_list);
  
  /*
   * Verify whether there is any CPU capacity asymmetry in a given sched domain.
@@@ -1374,39 -1386,21 +1374,39 @@@ asym_cpu_capacity_classify(const struc
  
  }
  
 +static void free_asym_cap_entry(struct rcu_head *head)
 +{
 +      struct asym_cap_data *entry = container_of(head, struct asym_cap_data, rcu);
 +      kfree(entry);
 +}
 +
  static inline void asym_cpu_capacity_update_data(int cpu)
  {
        unsigned long capacity = arch_scale_cpu_capacity(cpu);
 -      struct asym_cap_data *entry = NULL;
 +      struct asym_cap_data *insert_entry = NULL;
 +      struct asym_cap_data *entry;
  
 +      /*
 +       * Search if capacity already exits. If not, track which the entry
 +       * where we should insert to keep the list ordered descendingly.
 +       */
        list_for_each_entry(entry, &asym_cap_list, link) {
                if (capacity == entry->capacity)
                        goto done;
 +              else if (!insert_entry && capacity > entry->capacity)
 +                      insert_entry = list_prev_entry(entry, link);
        }
  
        entry = kzalloc(sizeof(*entry) + cpumask_size(), GFP_KERNEL);
        if (WARN_ONCE(!entry, "Failed to allocate memory for asymmetry data\n"))
                return;
        entry->capacity = capacity;
 -      list_add(&entry->link, &asym_cap_list);
 +
 +      /* If NULL then the new capacity is the smallest, add last. */
 +      if (!insert_entry)
 +              list_add_tail_rcu(&entry->link, &asym_cap_list);
 +      else
 +              list_add_rcu(&entry->link, &insert_entry->link);
  done:
        __cpumask_set_cpu(cpu, cpu_capacity_span(entry));
  }
@@@ -1429,8 -1423,8 +1429,8 @@@ static void asym_cpu_capacity_scan(void
  
        list_for_each_entry_safe(entry, next, &asym_cap_list, link) {
                if (cpumask_empty(cpu_capacity_span(entry))) {
 -                      list_del(&entry->link);
 -                      kfree(entry);
 +                      list_del_rcu(&entry->link);
 +                      call_rcu(&entry->rcu, free_asym_cap_entry);
                }
        }
  
         */
        if (list_is_singular(&asym_cap_list)) {
                entry = list_first_entry(&asym_cap_list, typeof(*entry), link);
 -              list_del(&entry->link);
 -              kfree(entry);
 +              list_del_rcu(&entry->link);
 +              call_rcu(&entry->rcu, free_asym_cap_entry);
        }
  }
  
@@@ -1474,7 -1468,7 +1474,7 @@@ static void set_domain_attribute(struc
        } else
                request = attr->relax_domain_level;
  
 -      if (sd->level > request) {
 +      if (sd->level >= request) {
                /* Turn off idle balance on this domain: */
                sd->flags &= ~(SD_BALANCE_WAKE|SD_BALANCE_NEWIDLE);
        }
@@@ -2353,7 -2347,7 +2353,7 @@@ static struct sched_domain *build_sched
  static bool topology_span_sane(struct sched_domain_topology_level *tl,
                              const struct cpumask *cpu_map, int cpu)
  {
-       int i;
+       int i = cpu + 1;
  
        /* NUMA levels are allowed to overlap */
        if (tl->flags & SDTL_OVERLAP)
         * breaking the sched_group lists - i.e. a later get_group() pass
         * breaks the linking done for an earlier span.
         */
-       for_each_cpu(i, cpu_map) {
-               if (i == cpu)
-                       continue;
+       for_each_cpu_from(i, cpu_map) {
                /*
                 * We should 'and' all those masks with 'cpu_map' to exactly
                 * match the topology we're about to build, but that can only
@@@ -2513,9 -2505,16 +2511,9 @@@ build_sched_domains(const struct cpumas
        /* Attach the domains */
        rcu_read_lock();
        for_each_cpu(i, cpu_map) {
 -              unsigned long capacity;
 -
                rq = cpu_rq(i);
                sd = *per_cpu_ptr(d.sd, i);
  
 -              capacity = arch_scale_cpu_capacity(i);
 -              /* Use READ_ONCE()/WRITE_ONCE() to avoid load/store tearing: */
 -              if (capacity > READ_ONCE(d.rd->max_cpu_capacity))
 -                      WRITE_ONCE(d.rd->max_cpu_capacity, capacity);
 -
                cpu_attach_domain(sd, d.rd, i);
  
                if (lowest_flag_domain(i, SD_CLUSTER))
        if (has_cluster)
                static_branch_inc_cpuslocked(&sched_cluster_active);
  
 -      if (rq && sched_debug_verbose) {
 -              pr_info("root domain span: %*pbl (max cpu_capacity = %lu)\n",
 -                      cpumask_pr_args(cpu_map), rq->rd->max_cpu_capacity);
 -      }
 +      if (rq && sched_debug_verbose)
 +              pr_info("root domain span: %*pbl\n", cpumask_pr_args(cpu_map));
  
        ret = 0;
  error:
diff --combined lib/Kconfig.debug
index c1c1b19525a5f0d737bf694456f79174de5d141a,fc8fe1ea5b49f807977c3cce8e074854011a4582..4bcdb2fd17d8ee5e3d7ea1b8c24b05208f5b267f
@@@ -375,7 -375,7 +375,7 @@@ config DEBUG_INFO_SPLI
          Incompatible with older versions of ccache.
  
  config DEBUG_INFO_BTF
 -      bool "Generate BTF typeinfo"
 +      bool "Generate BTF type information"
        depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED
        depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST
        depends on BPF_SYSCALL
@@@ -408,8 -408,7 +408,8 @@@ config PAHOLE_HAS_LANG_EXCLUD
          using DEBUG_INFO_BTF_MODULES.
  
  config DEBUG_INFO_BTF_MODULES
 -      def_bool y
 +      bool "Generate BTF type information for kernel modules"
 +      default y
        depends on DEBUG_INFO_BTF && MODULES && PAHOLE_HAS_SPLIT_BTF
        help
          Generate compact split BTF type information for kernel modules.
@@@ -969,37 -968,6 +969,37 @@@ config DEBUG_STACKOVERFLO
  
          If in doubt, say "N".
  
 +config CODE_TAGGING
 +      bool
 +      select KALLSYMS
 +
 +config MEM_ALLOC_PROFILING
 +      bool "Enable memory allocation profiling"
 +      default n
 +      depends on PROC_FS
 +      depends on !DEBUG_FORCE_WEAK_PER_CPU
 +      select CODE_TAGGING
 +      select PAGE_EXTENSION
 +      select SLAB_OBJ_EXT
 +      help
 +        Track allocation source code and record total allocation size
 +        initiated at that code location. The mechanism can be used to track
 +        memory leaks with a low performance and memory impact.
 +
 +config MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
 +      bool "Enable memory allocation profiling by default"
 +      default y
 +      depends on MEM_ALLOC_PROFILING
 +
 +config MEM_ALLOC_PROFILING_DEBUG
 +      bool "Memory allocation profiler debugging"
 +      default n
 +      depends on MEM_ALLOC_PROFILING
 +      select MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
 +      help
 +        Adds warnings with helpful error messages for memory allocation
 +        profiling.
 +
  source "lib/Kconfig.kasan"
  source "lib/Kconfig.kfence"
  source "lib/Kconfig.kmsan"
@@@ -1061,20 -1029,6 +1061,20 @@@ config SOFTLOCKUP_DETECTO
          chance to run.  The current stack trace is displayed upon
          detection and the system will stay locked up.
  
 +config SOFTLOCKUP_DETECTOR_INTR_STORM
 +      bool "Detect Interrupt Storm in Soft Lockups"
 +      depends on SOFTLOCKUP_DETECTOR && IRQ_TIME_ACCOUNTING
 +      select GENERIC_IRQ_STAT_SNAPSHOT
 +      default y if NR_CPUS <= 128
 +      help
 +        Say Y here to enable the kernel to detect interrupt storm
 +        during "soft lockups".
 +
 +        "soft lockups" can be caused by a variety of reasons. If one is
 +        caused by an interrupt storm, then the storming interrupts will not
 +        be on the callstack. To detect this case, it is necessary to report
 +        the CPU stats and the interrupt counts during the "soft lockups".
 +
  config BOOTPARAM_SOFTLOCKUP_PANIC
        bool "Panic (Reboot) On Soft Lockups"
        depends on SOFTLOCKUP_DETECTOR
@@@ -1296,7 -1250,7 +1296,7 @@@ config SCHED_INF
  
  config SCHEDSTATS
        bool "Collect scheduler statistics"
 -      depends on DEBUG_KERNEL && PROC_FS
 +      depends on PROC_FS
        select SCHED_INFO
        help
          If you say Y here, additional code will be inserted into the
@@@ -2482,7 -2436,6 +2482,6 @@@ config TEST_LK
  
  config TEST_BITOPS
        tristate "Test module for compilation of bitops operations"
-       depends on m
        help
          This builds the "test_bitops" module that is much like the
          TEST_LKM module except that it does a basic exercise of the
@@@ -2804,6 -2757,16 +2803,6 @@@ config HW_BREAKPOINT_KUNIT_TES
  
          If unsure, say N.
  
 -config STRCAT_KUNIT_TEST
 -      tristate "Test strcat() family of functions at runtime" if !KUNIT_ALL_TESTS
 -      depends on KUNIT
 -      default KUNIT_ALL_TESTS
 -
 -config STRSCPY_KUNIT_TEST
 -      tristate "Test strscpy*() family of functions at runtime" if !KUNIT_ALL_TESTS
 -      depends on KUNIT
 -      default KUNIT_ALL_TESTS
 -
  config SIPHASH_KUNIT_TEST
        tristate "Perform selftest on siphash functions" if !KUNIT_ALL_TESTS
        depends on KUNIT
diff --combined lib/find_bit.c
index dacadd904250fb500a3a68f19c1fc3e3df696554,0bddfc3ff248349b7459e6b9ce55b004300f6d7a..0836bb3d76c5541fe82867e9645936dc11eb98ab
@@@ -87,7 -87,7 +87,7 @@@ out:                                                                          
        if (sz % BITS_PER_LONG)                                                 \
                tmp = (FETCH) & BITMAP_LAST_WORD_MASK(sz);                      \
  found:                                                                                \
-       sz = min(idx * BITS_PER_LONG + fns(tmp, nr), sz);                       \
+       sz = idx * BITS_PER_LONG + fns(tmp, nr);                                \
  out:                                                                          \
        sz;                                                                     \
  })
@@@ -116,18 -116,6 +116,18 @@@ unsigned long _find_first_and_bit(cons
  EXPORT_SYMBOL(_find_first_and_bit);
  #endif
  
 +/*
 + * Find the first set bit in three memory regions.
 + */
 +unsigned long _find_first_and_and_bit(const unsigned long *addr1,
 +                                    const unsigned long *addr2,
 +                                    const unsigned long *addr3,
 +                                    unsigned long size)
 +{
 +      return FIND_FIRST_BIT(addr1[idx] & addr2[idx] & addr3[idx], /* nop */, size);
 +}
 +EXPORT_SYMBOL(_find_first_and_and_bit);
 +
  #ifndef find_first_zero_bit
  /*
   * Find the first cleared bit in a memory region.
diff --combined lib/test_bitmap.c
index 83019beabce436721f1a2d9bd89fa2cd099ad085,088838f829c99b79b88a5c5124b8ccedcfd27ec4..6dfb8d46a4ffe9bf88b1192b69047dbfabc3988c
@@@ -60,17 -60,18 +60,17 @@@ static const unsigned long exp3_1_0[] _
  };
  
  static bool __init
 -__check_eq_uint(const char *srcfile, unsigned int line,
 -              const unsigned int exp_uint, unsigned int x)
 +__check_eq_ulong(const char *srcfile, unsigned int line,
 +               const unsigned long exp_ulong, unsigned long x)
  {
 -      if (exp_uint != x) {
 -              pr_err("[%s:%u] expected %u, got %u\n",
 -                      srcfile, line, exp_uint, x);
 +      if (exp_ulong != x) {
 +              pr_err("[%s:%u] expected %lu, got %lu\n",
 +                      srcfile, line, exp_ulong, x);
                return false;
        }
        return true;
  }
  
 -
  static bool __init
  __check_eq_bitmap(const char *srcfile, unsigned int line,
                  const unsigned long *exp_bmap, const unsigned long *bmap,
@@@ -184,8 -185,7 +184,8 @@@ __check_eq_str(const char *srcfile, uns
                result;                                                 \
        })
  
 -#define expect_eq_uint(...)           __expect_eq(uint, ##__VA_ARGS__)
 +#define expect_eq_ulong(...)          __expect_eq(ulong, ##__VA_ARGS__)
 +#define expect_eq_uint(x, y)          expect_eq_ulong((unsigned int)(x), (unsigned int)(y))
  #define expect_eq_bitmap(...)         __expect_eq(bitmap, ##__VA_ARGS__)
  #define expect_eq_pbl(...)            __expect_eq(pbl, ##__VA_ARGS__)
  #define expect_eq_u32_array(...)      __expect_eq(u32_array, ##__VA_ARGS__)
@@@ -244,7 -244,7 +244,7 @@@ static void __init test_find_nth_bit(vo
        expect_eq_uint(60,  find_nth_bit(bmap, 64 * 3, 5));
        expect_eq_uint(80,  find_nth_bit(bmap, 64 * 3, 6));
        expect_eq_uint(123, find_nth_bit(bmap, 64 * 3, 7));
-       expect_eq_uint(64 * 3, find_nth_bit(bmap, 64 * 3, 8));
+       expect_eq_uint(0,   !!(find_nth_bit(bmap, 64 * 3, 8) < 64 * 3));
  
        expect_eq_uint(10,  find_nth_bit(bmap, 64 * 3 - 1, 0));
        expect_eq_uint(20,  find_nth_bit(bmap, 64 * 3 - 1, 1));
        expect_eq_uint(60,  find_nth_bit(bmap, 64 * 3 - 1, 5));
        expect_eq_uint(80,  find_nth_bit(bmap, 64 * 3 - 1, 6));
        expect_eq_uint(123, find_nth_bit(bmap, 64 * 3 - 1, 7));
-       expect_eq_uint(64 * 3 - 1, find_nth_bit(bmap, 64 * 3 - 1, 8));
+       expect_eq_uint(0,   !!(find_nth_bit(bmap, 64 * 3 - 1, 8) < 64 * 3 - 1));
  
        for_each_set_bit(bit, exp1, EXP1_IN_BITS) {
                b = find_nth_bit(exp1, EXP1_IN_BITS, cnt++);
@@@ -548,7 -548,7 +548,7 @@@ static void __init test_bitmap_parselis
                }
  
                if (ptest.flags & PARSE_TIME)
 -                      pr_err("parselist: %d: input is '%s' OK, Time: %llu\n",
 +                      pr_info("parselist: %d: input is '%s' OK, Time: %llu\n",
                                        i, ptest.in, time);
  
  #undef ptest
@@@ -587,7 -587,7 +587,7 @@@ static void __init test_bitmap_printlis
                goto out;
        }
  
 -      pr_err("bitmap_print_to_pagebuf: input is '%s', Time: %llu\n", buf, time);
 +      pr_info("bitmap_print_to_pagebuf: input is '%s', Time: %llu\n", buf, time);
  out:
        kfree(buf);
        kfree(bmap);
@@@ -665,7 -665,7 +665,7 @@@ static void __init test_bitmap_parse(vo
                }
  
                if (test.flags & PARSE_TIME)
 -                      pr_err("parse: %d: input is '%s' OK, Time: %llu\n",
 +                      pr_info("parse: %d: input is '%s' OK, Time: %llu\n",
                                        i, test.in, time);
        }
  }
@@@ -1245,7 -1245,14 +1245,7 @@@ static void __init test_bitmap_const_ev
         * in runtime.
         */
  
 -      /*
 -       * Equals to `unsigned long bitmap[1] = { GENMASK(6, 5), }`.
 -       * Clang on s390 optimizes bitops at compile-time as intended, but at
 -       * the same time stops treating @bitmap and @bitopvar as compile-time
 -       * constants after regular test_bit() is executed, thus triggering the
 -       * build bugs below. So, call const_test_bit() there directly until
 -       * the compiler is fixed.
 -       */
 +      /* Equals to `unsigned long bitmap[1] = { GENMASK(6, 5), }` */
        bitmap_clear(bitmap, 0, BITS_PER_LONG);
        if (!test_bit(7, bitmap))
                bitmap_set(bitmap, 5, 2);
        /* ~BIT(25) */
        BUILD_BUG_ON(!__builtin_constant_p(~var));
        BUILD_BUG_ON(~var != ~BIT(25));
 +
 +      /* ~BIT(25) | BIT(25) == ~0UL */
 +      bitmap_complement(&var, &var, BITS_PER_LONG);
 +      __assign_bit(25, &var, true);
 +
 +      /* !(~(~0UL)) == 1 */
 +      res = bitmap_full(&var, BITS_PER_LONG);
 +      BUILD_BUG_ON(!__builtin_constant_p(res));
 +      BUILD_BUG_ON(!res);
 +}
 +
 +/*
 + * Test bitmap should be big enough to include the cases when start is not in
 + * the first word, and start+nbits lands in the following word.
 + */
 +#define TEST_BIT_LEN (1000)
 +
 +/*
 + * Helper function to test bitmap_write() overwriting the chosen byte pattern.
 + */
 +static void __init test_bitmap_write_helper(const char *pattern)
 +{
 +      DECLARE_BITMAP(bitmap, TEST_BIT_LEN);
 +      DECLARE_BITMAP(exp_bitmap, TEST_BIT_LEN);
 +      DECLARE_BITMAP(pat_bitmap, TEST_BIT_LEN);
 +      unsigned long w, r, bit;
 +      int i, n, nbits;
 +
 +      /*
 +       * Only parse the pattern once and store the result in the intermediate
 +       * bitmap.
 +       */
 +      bitmap_parselist(pattern, pat_bitmap, TEST_BIT_LEN);
 +
 +      /*
 +       * Check that writing a single bit does not accidentally touch the
 +       * adjacent bits.
 +       */
 +      for (i = 0; i < TEST_BIT_LEN; i++) {
 +              bitmap_copy(bitmap, pat_bitmap, TEST_BIT_LEN);
 +              bitmap_copy(exp_bitmap, pat_bitmap, TEST_BIT_LEN);
 +              for (bit = 0; bit <= 1; bit++) {
 +                      bitmap_write(bitmap, bit, i, 1);
 +                      __assign_bit(i, exp_bitmap, bit);
 +                      expect_eq_bitmap(exp_bitmap, bitmap,
 +                                       TEST_BIT_LEN);
 +              }
 +      }
 +
 +      /* Ensure writing 0 bits does not change anything. */
 +      bitmap_copy(bitmap, pat_bitmap, TEST_BIT_LEN);
 +      bitmap_copy(exp_bitmap, pat_bitmap, TEST_BIT_LEN);
 +      for (i = 0; i < TEST_BIT_LEN; i++) {
 +              bitmap_write(bitmap, ~0UL, i, 0);
 +              expect_eq_bitmap(exp_bitmap, bitmap, TEST_BIT_LEN);
 +      }
 +
 +      for (nbits = BITS_PER_LONG; nbits >= 1; nbits--) {
 +              w = IS_ENABLED(CONFIG_64BIT) ? 0xdeadbeefdeadbeefUL
 +                                           : 0xdeadbeefUL;
 +              w >>= (BITS_PER_LONG - nbits);
 +              for (i = 0; i <= TEST_BIT_LEN - nbits; i++) {
 +                      bitmap_copy(bitmap, pat_bitmap, TEST_BIT_LEN);
 +                      bitmap_copy(exp_bitmap, pat_bitmap, TEST_BIT_LEN);
 +                      for (n = 0; n < nbits; n++)
 +                              __assign_bit(i + n, exp_bitmap, w & BIT(n));
 +                      bitmap_write(bitmap, w, i, nbits);
 +                      expect_eq_bitmap(exp_bitmap, bitmap, TEST_BIT_LEN);
 +                      r = bitmap_read(bitmap, i, nbits);
 +                      expect_eq_ulong(r, w);
 +              }
 +      }
 +}
 +
 +static void __init test_bitmap_read_write(void)
 +{
 +      unsigned char *pattern[3] = {"", "all:1/2", "all"};
 +      DECLARE_BITMAP(bitmap, TEST_BIT_LEN);
 +      unsigned long zero_bits = 0, bits_per_long = BITS_PER_LONG;
 +      unsigned long val;
 +      int i, pi;
 +
 +      /*
 +       * Reading/writing zero bits should not crash the kernel.
 +       * READ_ONCE() prevents constant folding.
 +       */
 +      bitmap_write(NULL, 0, 0, READ_ONCE(zero_bits));
 +      /* Return value of bitmap_read() is undefined here. */
 +      bitmap_read(NULL, 0, READ_ONCE(zero_bits));
 +
 +      /*
 +       * Reading/writing more than BITS_PER_LONG bits should not crash the
 +       * kernel. READ_ONCE() prevents constant folding.
 +       */
 +      bitmap_write(NULL, 0, 0, READ_ONCE(bits_per_long) + 1);
 +      /* Return value of bitmap_read() is undefined here. */
 +      bitmap_read(NULL, 0, READ_ONCE(bits_per_long) + 1);
 +
 +      /*
 +       * Ensure that bitmap_read() reads the same value that was previously
 +       * written, and two consequent values are correctly merged.
 +       * The resulting bit pattern is asymmetric to rule out possible issues
 +       * with bit numeration order.
 +       */
 +      for (i = 0; i < TEST_BIT_LEN - 7; i++) {
 +              bitmap_zero(bitmap, TEST_BIT_LEN);
 +
 +              bitmap_write(bitmap, 0b10101UL, i, 5);
 +              val = bitmap_read(bitmap, i, 5);
 +              expect_eq_ulong(0b10101UL, val);
 +
 +              bitmap_write(bitmap, 0b101UL, i + 5, 3);
 +              val = bitmap_read(bitmap, i + 5, 3);
 +              expect_eq_ulong(0b101UL, val);
 +
 +              val = bitmap_read(bitmap, i, 8);
 +              expect_eq_ulong(0b10110101UL, val);
 +      }
 +
 +      for (pi = 0; pi < ARRAY_SIZE(pattern); pi++)
 +              test_bitmap_write_helper(pattern[pi]);
  }
  
 +static void __init test_bitmap_read_perf(void)
 +{
 +      DECLARE_BITMAP(bitmap, TEST_BIT_LEN);
 +      unsigned int cnt, nbits, i;
 +      unsigned long val;
 +      ktime_t time;
 +
 +      bitmap_fill(bitmap, TEST_BIT_LEN);
 +      time = ktime_get();
 +      for (cnt = 0; cnt < 5; cnt++) {
 +              for (nbits = 1; nbits <= BITS_PER_LONG; nbits++) {
 +                      for (i = 0; i < TEST_BIT_LEN; i++) {
 +                              if (i + nbits > TEST_BIT_LEN)
 +                                      break;
 +                              /*
 +                               * Prevent the compiler from optimizing away the
 +                               * bitmap_read() by using its value.
 +                               */
 +                              WRITE_ONCE(val, bitmap_read(bitmap, i, nbits));
 +                      }
 +              }
 +      }
 +      time = ktime_get() - time;
 +      pr_info("Time spent in %s:\t%llu\n", __func__, time);
 +}
 +
 +static void __init test_bitmap_write_perf(void)
 +{
 +      DECLARE_BITMAP(bitmap, TEST_BIT_LEN);
 +      unsigned int cnt, nbits, i;
 +      unsigned long val = 0xfeedface;
 +      ktime_t time;
 +
 +      bitmap_zero(bitmap, TEST_BIT_LEN);
 +      time = ktime_get();
 +      for (cnt = 0; cnt < 5; cnt++) {
 +              for (nbits = 1; nbits <= BITS_PER_LONG; nbits++) {
 +                      for (i = 0; i < TEST_BIT_LEN; i++) {
 +                              if (i + nbits > TEST_BIT_LEN)
 +                                      break;
 +                              bitmap_write(bitmap, val, i, nbits);
 +                      }
 +              }
 +      }
 +      time = ktime_get() - time;
 +      pr_info("Time spent in %s:\t%llu\n", __func__, time);
 +}
 +
 +#undef TEST_BIT_LEN
 +
  static void __init selftest(void)
  {
        test_zero_clear();
        test_bitmap_cut();
        test_bitmap_print_buf();
        test_bitmap_const_eval();
 +      test_bitmap_read_write();
 +      test_bitmap_read_perf();
 +      test_bitmap_write_perf();
  
        test_find_nth_bit();
        test_for_each_set_bit();
This page took 0.235283 seconds and 4 git commands to generate.