]> Git Repo - linux.git/commitdiff
Merge tag 'char-misc-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
authorLinus Torvalds <[email protected]>
Thu, 21 Mar 2024 20:21:31 +0000 (13:21 -0700)
committerLinus Torvalds <[email protected]>
Thu, 21 Mar 2024 20:21:31 +0000 (13:21 -0700)
Pull char/misc and other driver subsystem updates from Greg KH:
 "Here is the big set of char/misc and a number of other driver
  subsystem updates for 6.9-rc1. Included in here are:

   - IIO driver updates, loads of new ones and evolution of existing ones

   - coresight driver updates

   - const cleanups for many driver subsystems

   - speakup driver additions

   - platform remove callback void cleanups

   - mei driver updates

   - mhi driver updates

   - cdx driver updates for MSI interrupt handling

   - nvmem driver updates

   - other smaller driver updates and cleanups, full details in the
    shortlog

  All of these have been in linux-next for a long time with no reported
  issue, other than a build warning for the speakup driver"

The build warning hits clang and is a gcc (and C23) extension, and is
fixed up in the merge.

Link: https://lore.kernel.org/all/[email protected]/
* tag 'char-misc-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (279 commits)
  binder: remove redundant variable page_addr
  uio_dmem_genirq: UIO_MEM_DMA_COHERENT conversion
  uio_pruss: UIO_MEM_DMA_COHERENT conversion
  cnic,bnx2,bnx2x: use UIO_MEM_DMA_COHERENT
  uio: introduce UIO_MEM_DMA_COHERENT type
  cdx: add MSI support for CDX bus
  pps: use cflags-y instead of EXTRA_CFLAGS
  speakup: Add /dev/synthu device
  speakup: Fix 8bit characters from direct synth
  parport: sunbpp: Convert to platform remove callback returning void
  parport: amiga: Convert to platform remove callback returning void
  char: xillybus: Convert to platform remove callback returning void
  vmw_balloon: change maintainership
  MAINTAINERS: change the maintainer for hpilo driver
  char: xilinx_hwicap: Fix NULL vs IS_ERR() bug
  hpet: remove hpets::hp_clocksource
  platform: goldfish: move the separate 'default' propery for CONFIG_GOLDFISH
  char: xilinx_hwicap: drop casting to void in dev_set_drvdata
  greybus: move is_gb_* functions out of greybus.h
  greybus: Remove usage of the deprecated ida_simple_xx() API
  ...

1  2 
.mailmap
Documentation/devicetree/bindings/vendor-prefixes.yaml
MAINTAINERS
arch/x86/Kconfig
drivers/accessibility/speakup/devsynth.c
drivers/iio/accel/adxl367.c
drivers/iio/adc/ad_sigma_delta.c
drivers/misc/fastrpc.c
drivers/misc/mei/pci-me.c
drivers/misc/mei/vsc-tp.c
drivers/of/property.c

diff --combined .mailmap
index e90797de3256a3fc5af06a004b6c28a06ff92ad0,f7be2b7127b8d350beb68f50e5ff39c885d70a6c..2216b5d5c84e44ccb1ea8d99ec7e4ba4fa059f08
+++ b/.mailmap
@@@ -325,7 -325,6 +325,7 @@@ Kenneth W Chen <[email protected]
  Kenneth Westfield <[email protected]> <[email protected]>
  Kiran Gunda <[email protected]> <[email protected]>
  Kirill Tkhai <[email protected]> <[email protected]>
 +Kishon Vijay Abraham I <[email protected]> <[email protected]>
  Konstantin Khlebnikov <[email protected]> <[email protected]>
  Konstantin Khlebnikov <[email protected]> <[email protected]>
  Koushik <[email protected]>
@@@ -439,6 -438,8 +439,8 @@@ Mukesh Ojha <[email protected]> <m
  Muna Sinada <[email protected]> <[email protected]>
  Murali Nalajala <[email protected]> <[email protected]>
  Mythri P K <[email protected]>
  Nadia Yvette Chambers <[email protected]> William Lee Irwin III <[email protected]>
  Naoya Horiguchi <[email protected]> <[email protected]>
  Nathan Chancellor <[email protected]> <[email protected]>
@@@ -554,7 -555,6 +556,7 @@@ Senthilkumar N L <quic_snlakshm@quicinc
  Serge Hallyn <[email protected]> <[email protected]>
  Serge Hallyn <[email protected]> <[email protected]>
  Seth Forshee <[email protected]> <[email protected]>
 +Shakeel Butt <[email protected]> <[email protected]>
  Shannon Nelson <[email protected]> <[email protected]>
  Shannon Nelson <[email protected]> <[email protected]>
  Shannon Nelson <[email protected]> <[email protected]>
@@@ -573,7 -573,6 +575,7 @@@ Simon Kelley <[email protected]
  Sricharan Ramabadhran <[email protected]> <[email protected]>
  Srinivas Ramana <[email protected]> <[email protected]>
 +Stefan Wahren <[email protected]> <[email protected]>
  Stéphane Witzmann <[email protected]>
  Stephen Hemminger <[email protected]> <[email protected]>
  Stephen Hemminger <[email protected]> <[email protected]>
@@@ -611,11 -610,6 +613,11 @@@ TripleX Chung <[email protected]> <trip
  TripleX Chung <[email protected]> <[email protected]>
  Tsuneo Yoshioka <[email protected]>
  Tudor Ambarus <[email protected]> <[email protected]>
 +Tvrtko Ursulin <[email protected]> <[email protected]>
 +Tvrtko Ursulin <[email protected]> <[email protected]>
 +Tvrtko Ursulin <[email protected]> <[email protected]>
 +Tvrtko Ursulin <[email protected]> <[email protected]>
 +Tvrtko Ursulin <[email protected]> <[email protected]>
  Tycho Andersen <[email protected]> <[email protected]>
  Tzung-Bi Shih <[email protected]> <[email protected]>
  Uwe Kleine-König <[email protected]>
index 04505cb0b640f1b996606ea85c3d84206d649db8,82e9f64c90ff45db4116beb95e091705afad70db..b97d298b3eb695ba016d98b0715d692c23bb6ce1
@@@ -39,8 -39,6 +39,8 @@@ patternProperties
      description: ShenZhen Asia Better Technology Ltd.
    "^acbel,.*":
      description: Acbel Polytech Inc.
 +  "^acelink,.*":
 +    description: Acelink Technology Co., Ltd.
    "^acer,.*":
      description: Acer Inc.
    "^acme,.*":
@@@ -63,8 -61,6 +63,8 @@@
      description: Analog Devices, Inc.
    "^adieng,.*":
      description: ADI Engineering, Inc.
 +  "^admatec,.*":
 +    description: admatec GmbH
    "^advantech,.*":
      description: Advantech Corporation
    "^aeroflexgaisler,.*":
      description: Amlogic, Inc.
    "^ampere,.*":
      description: Ampere Computing LLC
 +  "^amphenol,.*":
 +    description: Amphenol Advanced Sensors
    "^ampire,.*":
      description: Ampire Co., Ltd.
    "^ams,.*":
      description: ASPEED Technology Inc.
    "^asrock,.*":
      description: ASRock Inc.
 +  "^asteralabs,.*":
 +    description: Astera Labs, Inc.
    "^asus,.*":
      description: AsusTek Computer Inc.
    "^atheros,.*":
      description: ByteDance Ltd.
    "^calamp,.*":
      description: CalAmp Corp.
 +  "^calao,.*":
 +    description: CALAO Systems SAS
    "^calaosystems,.*":
      description: CALAO Systems SAS
    "^calxeda,.*":
      description: EZchip Semiconductor
    "^facebook,.*":
      description: Facebook
 +  "^fairchild,.*":
 +    description: Fairchild Semiconductor (deprecated, use 'onnn')
 +    deprecated: true
    "^fairphone,.*":
      description: Fairphone B.V.
    "^faraday,.*":
      description: FocalTech Systems Co.,Ltd
    "^forlinx,.*":
      description: Baoding Forlinx Embedded Technology Co., Ltd.
 +  "^freebox,.*":
 +    description: Freebox SAS
    "^freecom,.*":
      description: Freecom Gmbh
    "^frida,.*":
      description: Giantec Semiconductor, Inc.
    "^giantplus,.*":
      description: Giantplus Technology Co., Ltd.
 +  "^glinet,.*":
 +    description: GL Intelligence, Inc.
    "^globalscale,.*":
      description: Globalscale Technologies, Inc.
    "^globaltop,.*":
      description: Honestar Technologies Co., Ltd.
    "^honeywell,.*":
      description: Honeywell
 +  "^hoperf,.*":
 +    description: Shenzhen Hope Microelectronics Co., Ltd.
    "^hoperun,.*":
      description: Jiangsu HopeRun Software Co., Ltd.
    "^hp,.*":
      description: Hyundai Technology
    "^i2se,.*":
      description: I2SE GmbH
 +  "^IBM,.*":
 +    description: International Business Machines (IBM)
    "^ibm,.*":
      description: International Business Machines (IBM)
    "^icplus,.*":
      description: IC Plus Corp.
    "^idt,.*":
      description: Integrated Device Technologies, Inc.
 +  "^iei,.*":
 +    description: IEI Integration Corp.
    "^ifi,.*":
      description: Ingenieurburo Fur Ic-Technologie (I/F/I)
    "^ilitek,.*":
      description: JetHome (IP Sokolov P.A.)
    "^jianda,.*":
      description: Jiandangjing Technology Co., Ltd.
 +  "^jide,.*":
 +    description: Jide Tech
    "^joz,.*":
      description: JOZ BV
    "^kam,.*":
      description: LSI Corp. (LSI Logic)
    "^lunzn,.*":
      description: Shenzhen Lunzn Technology Co., Ltd.
 +  "^luxul,.*":
 +    description: Lagrand | AV
    "^lwn,.*":
      description: Liebherr-Werk Nenzing GmbH
    "^lxa,.*":
      description: Miniand Tech
    "^minix,.*":
      description: MINIX Technology Ltd.
 +  "^mips,.*":
 +    description: MIPS Technology (deprecated, use 'mti' or 'img')
 +    deprecated: true
    "^miramems,.*":
      description: MiraMEMS Sensing Technology Co., Ltd.
    "^mitsubishi,.*":
      description: Miyoo
    "^mntre,.*":
      description: MNT Research GmbH
 +  "^mobileye,.*":
 +    description: Mobileye Vision Technologies Ltd.
    "^modtronix,.*":
      description: Modtronix Engineering
    "^moortec,.*":
      description: Novatek
    "^novtech,.*":
      description: NovTech, Inc.
 +  "^numonyx,.*":
 +    description: Numonyx (deprecated, use micron)
 +    deprecated: true
    "^nutsboard,.*":
      description: NutsBoard
    "^nuvoton,.*":
      description: Skyworks Solutions, Inc.
    "^smartlabs,.*":
      description: SmartLabs LLC
 +  "^smartrg,.*":
 +    description: SmartRG, Inc.
    "^smi,.*":
      description: Silicon Motion Technology Corporation
    "^smsc,.*":
      description: Ufi Space Co., Ltd.
    "^ugoos,.*":
      description: Ugoos Industrial Co., Ltd.
 +  "^uni-t,.*":
 +    description: Uni-Trend Technology (China) Co., Ltd.
    "^uniwest,.*":
      description: United Western Technologies Corp (UniWest)
    "^upisemi,.*":
      description: VoCore Studio
    "^voipac,.*":
      description: Voipac Technologies s.r.o.
+   "^voltafield,.*":
+     description: Voltafield Technology Corp.
    "^vot,.*":
      description: Vision Optical Technology Co., Ltd.
 +  "^vscom,.*":
 +    description: VS Visions Systems GmbH
    "^vxt,.*":
      description: VXT Ltd
 +  "^wacom,.*":
 +    description: Wacom
    "^wanchanglong,.*":
      description: Wanchanglong Electronics Technology(SHENZHEN)Co.,Ltd.
    "^wand,.*":
diff --combined MAINTAINERS
index 6ce2ccc5668a84294690eb9da1c047dc9d83f1a2,1179e8a76192a7d3bc21d6bc7dbfc13f60c051a0..5b251bcc91f0138fc169c6063516f197e3f5d18f
@@@ -24,7 -24,7 +24,7 @@@ Descriptions of section entries and pre
           filing info, a direct bug tracker link, or a mailto: URI.
        C: URI for *chat* protocol, server and channel where developers
           usually hang out, for example irc://server/channel.
 -      P: Subsystem Profile document for more details submitting
 +      P: *Subsystem Profile* document for more details submitting
           patches to the given subsystem. This is either an in-tree file,
           or a URI. See Documentation/maintainer/maintainer-entry-profile.rst
           for details.
@@@ -579,6 -579,12 +579,12 @@@ F:       drivers/iio/accel/adxl372.
  F:    drivers/iio/accel/adxl372_i2c.c
  F:    drivers/iio/accel/adxl372_spi.c
  
+ AF8133J THREE-AXIS MAGNETOMETER DRIVER
+ M:    Ondřej Jirman <[email protected]>
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml
+ F:    drivers/iio/magnetometer/af8133j.c
  AF9013 MEDIA DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -614,7 -620,7 +620,7 @@@ AGPGART DRIVE
  M:    David Airlie <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://anongit.freedesktop.org/drm/drm
 +T:    git https://gitlab.freedesktop.org/drm/kernel.git
  F:    drivers/char/agp/
  F:    include/linux/agp*
  F:    include/uapi/linux/agp*
@@@ -897,12 -903,6 +903,12 @@@ Q:       https://patchwork.kernel.org/project
  F:    drivers/infiniband/hw/efa/
  F:    include/uapi/rdma/efa-abi.h
  
 +AMD ADDRESS TRANSLATION LIBRARY (ATL)
 +M:    Yazen Ghannam <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/ras/amd/atl/*
 +
  AMD AXI W1 DRIVER
  M:    Kris Chaplin <[email protected]>
  R:    Thomas Delev <[email protected]>
@@@ -1064,7 -1064,7 +1070,7 @@@ F:      include/linux/amd-pstate.
  F:    tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
  
  AMD PTDMA DRIVER
 -M:    Sanjay R Mehta <sanju.mehta@amd.com>
 +M:    Basavaraj Natikar <Basavaraj.Natikar@amd.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/dma/ptdma/
@@@ -1104,14 -1104,6 +1110,14 @@@ F:    Documentation/devicetree/bindings/pe
  F:    drivers/perf/amlogic/
  F:    include/soc/amlogic/
  
 +AMPHENOL CHIPCAP 2 HUMIDITY-TEMPERATURE IIO DRIVER
 +M:    Javier Carrasco <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/hwmon/amphenol,chipcap2.yaml
 +F:    Documentation/hwmon/chipcap2.rst
 +F:    drivers/hwmon/chipcap2.c
 +
  AMPHION VPU CODEC V4L2 DRIVER
  M:    Ming Qian <[email protected]>
  M:    Zhou Peng <[email protected]>
@@@ -1158,7 -1150,7 +1164,7 @@@ L:      [email protected]
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
  F:    Documentation/devicetree/bindings/iio/adc/adi,ad7091r*
- F:    drivers/iio/adc/drivers/iio/adc/ad7091r*
+ F:    drivers/iio/adc/ad7091r*
  
  ANALOG DEVICES INC AD7192 DRIVER
  M:    Alexandru Tachici <[email protected]>
@@@ -1281,6 -1273,14 +1287,14 @@@ W:    https://ez.analog.com/linux-software
  F:    Documentation/devicetree/bindings/hwmon/adi,adm1177.yaml
  F:    drivers/hwmon/adm1177.c
  
+ ANALOG DEVICES INC ADMFM2000 DRIVER
+ M:    Kim Seer Paller <[email protected]>
+ L:    [email protected]
+ S:    Supported
+ W:    https://ez.analog.com/linux-software-drivers
+ F:    Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
+ F:    drivers/iio/frequency/admfm2000.c
  ANALOG DEVICES INC ADMV1013 DRIVER
  M:    Antoniu Miclaus <[email protected]>
  L:    [email protected]
@@@ -1398,9 -1398,17 +1412,9 @@@ F:     drivers/iio/amplifiers/hmc425a.
  F:    drivers/staging/iio/*/ad*
  X:    drivers/iio/*/adjd*
  
 -ANALOG DEVICES INC MAX31760 DRIVER
 -M:    Ibrahim Tilki <[email protected]>
 -S:    Maintained
 -W:    http://wiki.analog.com/
 -W:    https://ez.analog.com/linux-software-drivers
 -F:    Documentation/devicetree/bindings/hwmon/adi,max31760.yaml
 -F:    Documentation/hwmon/max31760.rst
 -F:    drivers/hwmon/max31760.c
 -
  ANALOGBITS PLL LIBRARIES
  M:    Paul Walmsley <[email protected]>
 +M:    Samuel Holland <[email protected]>
  S:    Supported
  F:    drivers/clk/analogbits/*
  F:    include/linux/clk/analogbits*
@@@ -2162,7 -2170,7 +2176,7 @@@ M:      Shawn Guo <[email protected]
  M:    Sascha Hauer <[email protected]>
  R:    Pengutronix Kernel Team <[email protected]>
  R:    Fabio Estevam <[email protected]>
 -R:    NXP Linux Team <[email protected]>
 +L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
@@@ -2471,7 -2479,6 +2485,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    Documentation/devicetree/bindings/arm/ste-*
  F:    Documentation/devicetree/bindings/arm/ux500.yaml
  F:    Documentation/devicetree/bindings/arm/ux500/
 +F:    Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
  F:    Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml
  F:    arch/arm/boot/dts/st/ste-*
  F:    arch/arm/mach-nomadik/
@@@ -2480,7 -2487,6 +2494,7 @@@ F:      drivers/clk/clk-nomadik.
  F:    drivers/clocksource/clksrc-dbx500-prcmu.c
  F:    drivers/dma/ste_dma40*
  F:    drivers/pmdomain/st/ste-ux500-pm-domain.c
 +F:    drivers/gpio/gpio-nomadik.c
  F:    drivers/hwspinlock/u8500_hsem.c
  F:    drivers/i2c/busses/i2c-nomadik.c
  F:    drivers/iio/adc/ab8500-gpadc.c
@@@ -2550,14 -2556,13 +2564,14 @@@ F:   drivers/*/*/*wpcm
  F:    drivers/*/*wpcm*
  
  ARM/NXP S32G ARCHITECTURE
 -M:    Chester Lin <[email protected]>
 -R:    Andreas Färber <[email protected]>
 +R:    Chester Lin <[email protected]>
  R:    Matthias Brugger <[email protected]>
 -R:    NXP S32 Linux Team <[email protected]>
 +R:    Ghennadi Procopciuc <[email protected]>
 +L:    NXP S32 Linux Team <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm64/boot/dts/freescale/s32g*.dts*
 +F:    drivers/pinctrl/nxp/
  
  ARM/Orion SoC/Technologic Systems TS-78xx platform support
  M:    Alexander Clouter <[email protected]>
@@@ -2761,7 -2766,6 +2775,7 @@@ M:      Andrzej Hajda <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/devicetree/bindings/media/samsung,s5p-mfc.yaml
  F:    drivers/media/platform/samsung/s5p-mfc/
  
  ARM/SOCFPGA ARCHITECTURE
@@@ -3192,12 -3196,6 +3206,12 @@@ S:    Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
  F:    drivers/platform/x86/asus-tf103c-dock.c
  
 +ASUS ROG RYUJIN AIO HARDWARE MONITOR DRIVER
 +M:    Aleksa Savic <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/asus_rog_ryujin.c
 +
  ASUS WIRELESS RADIO CONTROL DRIVER
  M:    João Paulo Rechi Vita <[email protected]>
  L:    [email protected]
@@@ -3392,15 -3390,11 +3406,15 @@@ F:   drivers/base/auxiliary.
  F:    include/linux/auxiliary_bus.h
  
  AUXILIARY DISPLAY DRIVERS
 -M:    Miguel Ojeda <[email protected]>
 -S:    Maintained
 +M:    Andy Shevchenko <[email protected]>
 +R:    Geert Uytterhoeven <[email protected]>
 +S:    Odd Fixes
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay.git
  F:    Documentation/devicetree/bindings/auxdisplay/
  F:    drivers/auxdisplay/
  F:    include/linux/cfag12864b.h
 +F:    include/uapi/linux/map_to_14segment.h
 +F:    include/uapi/linux/map_to_7segment.h
  
  AVIA HX711 ANALOG DIGITAL CONVERTER IIO DRIVER
  M:    Andreas Klinger <[email protected]>
@@@ -3556,7 -3550,6 +3570,7 @@@ R:      Brian Foster <[email protected]
  L:    [email protected]
  S:    Supported
  C:    irc://irc.oftc.net/bcache
 +T:    git https://evilpiepirate.org/git/bcachefs.git
  F:    fs/bcachefs/
  
  BDISP ST MEDIA DRIVER
@@@ -3598,6 -3591,7 +3612,6 @@@ F:      include/uapi/linux/bfs_fs.
  
  BITMAP API
  M:    Yury Norov <[email protected]>
 -R:    Andy Shevchenko <[email protected]>
  R:    Rasmus Villemoes <[email protected]>
  S:    Maintained
  F:    include/linux/bitfield.h
@@@ -3819,7 -3813,6 +3833,7 @@@ M:      Alexei Starovoitov <[email protected]
  M:    Daniel Borkmann <[email protected]>
  M:    Andrii Nakryiko <[email protected]>
  R:    Martin KaFai Lau <[email protected]>
 +R:    Eduard Zingerman <[email protected]>
  R:    Song Liu <[email protected]>
  R:    Yonghong Song <[email protected]>
  R:    John Fastabend <[email protected]>
@@@ -3880,7 -3873,6 +3894,7 @@@ F:      net/unix/unix_bpf.
  
  BPF [LIBRARY] (libbpf)
  M:    Andrii Nakryiko <[email protected]>
 +M:    Eduard Zingerman <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    tools/lib/bpf/
@@@ -3938,7 -3930,6 +3952,7 @@@ F:      security/bpf
  
  BPF [SELFTESTS] (Test Runners & Infrastructure)
  M:    Andrii Nakryiko <[email protected]>
 +M:    Eduard Zingerman <[email protected]>
  R:    Mykola Lysenko <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -4652,8 -4643,8 +4666,8 @@@ S:      Maintaine
  F:    net/sched/sch_cake.c
  
  CAN NETWORK DRIVERS
 -M:    Wolfgang Grandegger <[email protected]>
  M:    Marc Kleine-Budde <[email protected]>
 +M:    Vincent Mailhol <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    https://github.com/linux-can
@@@ -5013,12 -5004,6 +5027,12 @@@ R:    Sami Kyöstilä <[email protected]
  S:    Maintained
  F:    drivers/platform/chrome/cros_hps_i2c.c
  
 +CHROMEOS EC WATCHDOG
 +M:    Lukasz Majczak <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/watchdog/cros_ec_wdt.c
 +
  CHRONTEL CH7322 CEC DRIVER
  M:    Joe Tessler <[email protected]>
  L:    [email protected]
@@@ -5043,7 -5028,6 +5057,7 @@@ F:      include/linux/mfd/cs42l43
  F:    include/sound/cs*
  F:    sound/pci/hda/cirrus*
  F:    sound/pci/hda/cs*
 +F:    sound/pci/hda/hda_component*
  F:    sound/pci/hda/hda_cs_dsp_ctl.*
  F:    sound/soc/codecs/cs*
  
@@@ -5269,7 -5253,6 +5283,7 @@@ R:      Paulo Alcantara <[email protected]> (
  R:    Ronnie Sahlberg <[email protected]> (directory leases, sparse files)
  R:    Shyam Prasad N <[email protected]> (multichannel)
  R:    Tom Talpey <[email protected]> (RDMA, smbdirect)
 +R:    Bharath SM <[email protected]> (deferred close, directory leases)
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
@@@ -5320,7 -5303,6 +5334,7 @@@ M:      Dan Williams <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/cxl/
 +F:    include/linux/cxl-einj.h
  F:    include/linux/cxl-event.h
  F:    include/uapi/linux/cxl_mem.h
  F:    tools/testing/cxl/
@@@ -5410,12 -5392,11 +5424,12 @@@ CONTROL GROUP - MEMORY RESOURCE CONTROL
  M:    Johannes Weiner <[email protected]>
  M:    Michal Hocko <[email protected]>
  M:    Roman Gushchin <[email protected]>
 -M:    Shakeel Butt <shakeel[email protected]>
 +M:    Shakeel Butt <shakeel[email protected]>
  R:    Muchun Song <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 +F:    include/linux/memcontrol.h
  F:    mm/memcontrol.c
  F:    mm/swap_cgroup.c
  F:    samples/cgroup/*
@@@ -6156,14 -6137,6 +6170,14 @@@ F:    include/linux/device-mapper.
  F:    include/linux/dm-*.h
  F:    include/uapi/linux/dm-*.h
  
 +DEVICE-MAPPER VDO TARGET
 +M:    Matthew Sakai <[email protected]>
 +M:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/admin-guide/device-mapper/vdo*.rst
 +F:    drivers/md/dm-vdo/
 +
  DEVLINK
  M:    Jiri Pirko <[email protected]>
  L:    [email protected]
@@@ -6191,16 -6164,16 +6205,16 @@@ DIALOG SEMICONDUCTOR DRIVER
  M:    Support Opensource <[email protected]>
  S:    Supported
  W:    http://www.dialog-semiconductor.com/products
 -F:    Documentation/devicetree/bindings/input/da90??-onkey.txt
  F:    Documentation/devicetree/bindings/input/dlg,da72??.txt
 +F:    Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
  F:    Documentation/devicetree/bindings/mfd/da90*.txt
  F:    Documentation/devicetree/bindings/mfd/dlg,da90*.yaml
  F:    Documentation/devicetree/bindings/regulator/da92*.txt
  F:    Documentation/devicetree/bindings/regulator/dlg,da9*.yaml
  F:    Documentation/devicetree/bindings/regulator/dlg,slg51000.yaml
  F:    Documentation/devicetree/bindings/sound/da[79]*.txt
 -F:    Documentation/devicetree/bindings/thermal/da90??-thermal.txt
 -F:    Documentation/devicetree/bindings/watchdog/dlg,da90??-watchdog.yaml
 +F:    Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
 +F:    Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
  F:    Documentation/hwmon/da90??.rst
  F:    drivers/gpio/gpio-da90??.c
  F:    drivers/hwmon/da90??-hwmon.c
@@@ -6418,7 -6391,6 +6432,7 @@@ L:      [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/quickly-build-trimmed-linux.rst
  F:    Documentation/admin-guide/reporting-issues.rst
 +F:    Documentation/admin-guide/verify-bugs-and-bisect-regressions.rst
  
  DOCUMENTATION SCRIPTS
  M:    Mauro Carvalho Chehab <[email protected]>
@@@ -7038,7 -7010,7 +7052,7 @@@ L:      [email protected]
  S:    Maintained
  B:    https://gitlab.freedesktop.org/drm
  C:    irc://irc.oftc.net/dri-devel
 -T:    git git://anongit.freedesktop.org/drm/drm
 +T:    git https://gitlab.freedesktop.org/drm/kernel.git
  F:    Documentation/devicetree/bindings/display/
  F:    Documentation/devicetree/bindings/gpu/
  F:    Documentation/gpu/
@@@ -7072,7 -7044,7 +7086,7 @@@ X:      drivers/gpu/drm/mediatek
  X:    drivers/gpu/drm/msm/
  X:    drivers/gpu/drm/nouveau/
  X:    drivers/gpu/drm/radeon/
 -X:    drivers/gpu/drm/renesas/
 +X:    drivers/gpu/drm/renesas/rcar-du/
  X:    drivers/gpu/drm/tegra/
  
  DRM DRIVERS FOR ALLWINNER A10
@@@ -7240,22 -7212,12 +7254,22 @@@ F:   Documentation/devicetree/bindings/di
  F:    Documentation/devicetree/bindings/display/renesas,du.yaml
  F:    drivers/gpu/drm/renesas/rcar-du/
  
 +DRM DRIVERS FOR RENESAS RZ
 +M:    Biju Das <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
 +F:    drivers/gpu/drm/renesas/rz-du/
 +
  DRM DRIVERS FOR RENESAS SHMOBILE
  M:    Laurent Pinchart <[email protected]>
  M:    Geert Uytterhoeven <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
  F:    drivers/gpu/drm/renesas/shmobile/
  F:    include/linux/platform_data/shmob_drm.h
@@@ -7365,7 -7327,6 +7379,7 @@@ F:      drivers/gpu/drm/xlnx
  
  DRM GPU SCHEDULER
  M:    Luben Tuikov <[email protected]>
 +M:    Matthew Brost <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
@@@ -7635,6 -7596,7 +7649,6 @@@ R:      Robert Richter <[email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras.git edac-for-next
 -F:    Documentation/admin-guide/ras.rst
  F:    Documentation/driver-api/edac.rst
  F:    drivers/edac/
  F:    include/linux/edac.h
@@@ -7842,8 -7804,8 +7856,8 @@@ F:      drivers/media/usb/em28xx
  
  EMMC CMDQ HOST CONTROLLER INTERFACE (CQHCI) DRIVER
  M:    Adrian Hunter <[email protected]>
 -M:    Ritesh Harjani <[email protected]>
 -M:    Asutosh Das <[email protected]>
 +M:    Asutosh Das <[email protected]>
 +R:    Ritesh Harjani <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/mmc/host/cqhci*
@@@ -7941,13 -7903,6 +7955,13 @@@ S:    Maintaine
  F:    include/linux/errseq.h
  F:    lib/errseq.c
  
 +ESD CAN NETWORK DRIVERS
 +M:    Stefan Mätje <[email protected]>
 +R:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/can/esd/
 +
  ESD CAN/USB DRIVERS
  M:    Frank Jungclaus <[email protected]>
  R:    [email protected]
@@@ -8043,19 -7998,11 +8057,19 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat.git
  F:    fs/exfat/
  
 +EXPRESSWIRE PROTOCOL LIBRARY
 +M:    Duje Mihanović <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/leds/leds-expresswire.c
 +F:    include/linux/leds-expresswire.h
 +
  EXT2 FILE SYSTEM
  M:    Jan Kara <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/filesystems/ext2.rst
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git
  F:    fs/ext2/
  F:    include/linux/ext2*
  
@@@ -8232,7 -8179,6 +8246,7 @@@ F:      include/uapi/scsi/fc
  FILE LOCKING (flock() and fcntl()/lockf())
  M:    Jeff Layton <[email protected]>
  M:    Chuck Lever <[email protected]>
 +R:    Alexander Aring <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    fs/fcntl.c
@@@ -8563,7 -8509,7 +8577,7 @@@ FREESCALE IMX / MXC FEC DRIVE
  M:    Wei Fang <[email protected]>
  R:    Shenwei Wang <[email protected]>
  R:    Clark Wang <[email protected]>
 -R:    NXP Linux Team <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/fsl,fec.yaml
@@@ -8598,7 -8544,7 +8612,7 @@@ F:      drivers/i2c/busses/i2c-imx.
  FREESCALE IMX LPI2C DRIVER
  M:    Dong Aisheng <[email protected]>
  L:    [email protected]
 -L:    [email protected]
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
  F:    drivers/i2c/busses/i2c-imx-lpi2c.c
@@@ -8658,13 -8604,6 +8672,13 @@@ F:    Documentation/devicetree/bindings/so
  F:    drivers/soc/fsl/qe/qmc.c
  F:    include/soc/fsl/qe/qmc.h
  
 +FREESCALE QUICC ENGINE QMC HDLC DRIVER
 +M:    Herve Codina <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/wan/fsl_qmc_hdlc.c
 +
  FREESCALE QUICC ENGINE TSA DRIVER
  M:    Herve Codina <[email protected]>
  L:    [email protected]
@@@ -8986,11 -8925,6 +9000,11 @@@ F:    Documentation/i2c/muxes/i2c-mux-gpio
  F:    drivers/i2c/muxes/i2c-mux-gpio.c
  F:    include/linux/platform_data/i2c-mux-gpio.h
  
 +GENERIC GPIO RESET DRIVER
 +M:    Krzysztof Kozlowski <[email protected]>
 +S:    Maintained
 +F:    drivers/reset/reset-gpio.c
 +
  GENERIC HDLC (WAN) DRIVERS
  M:    Krzysztof Halasa <[email protected]>
  S:    Maintained
@@@ -9061,10 -8995,9 +9075,10 @@@ F:    include/linux/string.
  F:    include/linux/string_choices.h
  F:    include/linux/string_helpers.h
  F:    lib/string.c
 +F:    lib/string_kunit.c
  F:    lib/string_helpers.c
 -F:    lib/test-string_helpers.c
 -F:    lib/test_string.c
 +F:    lib/string_helpers_kunit.c
 +F:    scripts/coccinelle/api/string_choices.cocci
  
  GENERIC UIO DRIVER FOR PCI DEVICES
  M:    "Michael S. Tsirkin" <[email protected]>
@@@ -9166,7 -9099,6 +9180,7 @@@ F:      Documentation/devicetree/bindings/cl
  F:    arch/arm64/boot/dts/exynos/google/
  F:    drivers/clk/samsung/clk-gs101.c
  F:    include/dt-bindings/clock/google,gs101.h
 +K:    [gG]oogle.?[tT]ensor
  
  GPD POCKET FAN DRIVER
  M:    Hans de Goede <[email protected]>
@@@ -9236,7 -9168,6 +9250,7 @@@ S:      Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
  F:    Documentation/ABI/obsolete/sysfs-gpio
  F:    Documentation/ABI/testing/gpio-cdev
 +F:    Documentation/userspace-api/gpio/
  F:    drivers/gpio/gpiolib-cdev.c
  F:    include/uapi/linux/gpio.h
  F:    tools/gpio/
@@@ -9509,7 -9440,7 +9523,7 @@@ T:      git git://linuxtv.org/media_tree.gi
  F:    drivers/media/usb/hdpvr/
  
  HEWLETT PACKARD ENTERPRISE ILO CHIF DRIVER
- M:    Matt Hsiao <matt.hsiao@hpe.com>
+ M:    Keng-Yu Lin <keng-yu.lin@hpe.com>
  S:    Supported
  F:    drivers/misc/hpilo.[ch]
  
@@@ -9879,10 -9810,11 +9893,11 @@@ F:   drivers/iio/pressure/hsc030pa
  
  HONEYWELL MPRLS0025PA PRESSURE SENSOR SERIES IIO DRIVER
  M:    Andreas Klinger <[email protected]>
+ M:    Petre Rodan <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
- F:    drivers/iio/pressure/mprls0025pa.c
+ F:    drivers/iio/pressure/mprls0025pa*
  
  HP BIOSCFG DRIVER
  M:    Jorge Lopez <[email protected]>
@@@ -10163,6 -10095,7 +10178,6 @@@ S:   Maintaine
  W:    https://i2c.wiki.kernel.org/
  Q:    https://patchwork.ozlabs.org/project/linux-i2c/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git
 -F:    Documentation/devicetree/bindings/i2c/i2c.txt
  F:    Documentation/i2c/
  F:    drivers/i2c/*
  F:    include/dt-bindings/i2c/i2c.h
@@@ -10382,17 -10315,12 +10397,17 @@@ M:        Nayna Jain <[email protected]
  M:    Paulo Flabiano Smorigo <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    drivers/crypto/vmx/Kconfig
 -F:    drivers/crypto/vmx/Makefile
 -F:    drivers/crypto/vmx/aes*
 -F:    drivers/crypto/vmx/ghash*
 -F:    drivers/crypto/vmx/ppc-xlate.pl
 -F:    drivers/crypto/vmx/vmx.c
 +F:    arch/powerpc/crypto/Kconfig
 +F:    arch/powerpc/crypto/Makefile
 +F:    arch/powerpc/crypto/aes.c
 +F:    arch/powerpc/crypto/aes_cbc.c
 +F:    arch/powerpc/crypto/aes_ctr.c
 +F:    arch/powerpc/crypto/aes_xts.c
 +F:    arch/powerpc/crypto/aesp8-ppc.*
 +F:    arch/powerpc/crypto/ghash.c
 +F:    arch/powerpc/crypto/ghashp8-ppc.pl
 +F:    arch/powerpc/crypto/ppc-xlate.pl
 +F:    arch/powerpc/crypto/vmx.c
  
  IBM ServeRAID RAID DRIVER
  S:    Orphan
  S:    Maintained
  F:    drivers/media/rc/iguanair.c
  
+ IIO BACKEND FRAMEWORK
+ M:    Nuno Sa <[email protected]>
+ R:    Olivier Moysan <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/iio/industrialio-backend.c
+ F:    include/linux/iio/backend.h
  IIO DIGITAL POTENTIOMETER DAC
  M:    Peter Rosin <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/iio/industrialio-gts-helper.c
  F:    include/linux/iio/iio-gts-helper.h
+ F:    drivers/iio/test/iio-test-gts.c
  
  IIO MULTIPLEXER
  M:    Peter Rosin <[email protected]>
@@@ -10559,11 -10496,11 +10583,11 @@@ F:        drivers/media/rc/img-ir
  
  IMGTEC POWERVR DRM DRIVER
  M:    Frank Binns <[email protected]>
 -M:    Donald Robson <[email protected]>
  M:    Matt Coster <[email protected]>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/gpu/img,powervr.yaml
 +F:    Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
 +F:    Documentation/devicetree/bindings/gpu/img,powervr-sgx.yaml
  F:    Documentation/gpu/imagination/
  F:    drivers/gpu/drm/imagination/
  F:    include/uapi/drm/pvr_drm.h
  S:    Orphan
  F:    drivers/video/fbdev/imsttfb.c
  
 -INA209 HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml
 -F:    Documentation/hwmon/ina209.rst
 -F:    drivers/hwmon/ina209.c
 -
 -INA2XX HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/hwmon/ina2xx.rst
 -F:    drivers/hwmon/ina2xx.c
 -F:    include/linux/platform_data/ina2xx.h
 -
  INDEX OF FURTHER KERNEL DOCUMENTATION
  M:    Carlos Bilbao <[email protected]>
  S:    Maintained
@@@ -10805,7 -10758,7 +10829,7 @@@ INTEL DRM I915 DRIVER (Meteor Lake, DG
  M:    Jani Nikula <[email protected]>
  M:    Joonas Lahtinen <[email protected]>
  M:    Rodrigo Vivi <[email protected]>
 -M:    Tvrtko Ursulin <t[email protected]>
 +M:    Tvrtko Ursulin <t[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://drm.pages.freedesktop.org/intel-docs/
  S:    Maintained
  F:    drivers/net/wwan/iosm/
  
 +INTEL(R) FLEXIBLE RETURN AND EVENT DELIVERY
 +M:    Xin Li <[email protected]>
 +M:    "H. Peter Anvin" <[email protected]>
 +S:    Supported
 +F:    Documentation/arch/x86/x86_64/fred.rst
 +F:    arch/x86/entry/entry_64_fred.S
 +F:    arch/x86/entry/entry_fred.c
 +F:    arch/x86/include/asm/fred.h
 +F:    arch/x86/kernel/fred.c
 +
  INTEL(R) TRACE HUB
  M:    Alexander Shishkin <[email protected]>
  S:    Supported
@@@ -11325,6 -11268,7 +11349,6 @@@ F:   drivers/iommu
  F:    include/linux/iommu.h
  F:    include/linux/iova.h
  F:    include/linux/of_iommu.h
 -F:    include/uapi/linux/iommu.h
  
  IOMMUFD
  M:    Jason Gunthorpe <[email protected]>
@@@ -11564,6 -11508,14 +11588,6 @@@ S:  Maintaine
  F:    arch/x86/include/asm/jailhouse_para.h
  F:    arch/x86/kernel/jailhouse.c
  
 -JC42.4 TEMPERATURE SENSOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml
 -F:    Documentation/hwmon/jc42.rst
 -F:    drivers/hwmon/jc42.c
 -
  JFS FILESYSTEM
  M:    Dave Kleikamp <[email protected]>
  L:    [email protected]
@@@ -12123,12 -12075,6 +12147,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/leds/backlight/kinetic,ktd253.yaml
  F:    drivers/video/backlight/ktd253-backlight.c
  
 +KTD2801 BACKLIGHT DRIVER
 +M:    Duje Mihanović <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/leds/backlight/kinetic,ktd2801.yaml
 +F:    drivers/video/backlight/ktd2801-backlight.c
 +
  KTEST
  M:    Steven Rostedt <[email protected]>
  M:    John Hawley <[email protected]>
@@@ -12236,11 -12182,11 +12260,11 @@@ F:        Documentation/scsi/53c700.rs
  F:    drivers/scsi/53c700*
  
  LEAKING_ADDRESSES
 -M:    Tobin C. Harding <[email protected]>
  M:    Tycho Andersen <[email protected]>
 +R:    Kees Cook <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tobin/leaks.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
  F:    scripts/leaking_addresses.pl
  
  LED SUBSYSTEM
@@@ -12466,6 -12412,7 +12490,6 @@@ F:   drivers/*/*/*pasemi
  F:    drivers/*/*pasemi*
  F:    drivers/char/tpm/tpm_ibmvtpm*
  F:    drivers/crypto/nx/
 -F:    drivers/crypto/vmx/
  F:    drivers/i2c/busses/i2c-opal.c
  F:    drivers/net/ethernet/ibm/ibmveth.*
  F:    drivers/net/ethernet/ibm/ibmvnic.*
@@@ -12593,6 -12540,7 +12617,6 @@@ F:   arch/powerpc/include/asm/livepatch.
  F:    include/linux/livepatch.h
  F:    kernel/livepatch/
  F:    kernel/module/livepatch.c
 -F:    lib/livepatch/
  F:    samples/livepatch/
  F:    tools/testing/selftests/livepatch/
  
@@@ -12633,6 -12581,13 +12657,6 @@@ F:  Documentation/hwmon/lm90.rs
  F:    drivers/hwmon/lm90.c
  F:    include/dt-bindings/thermal/lm90.h
  
 -LM95234 HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/hwmon/lm95234.rst
 -F:    drivers/hwmon/lm95234.c
 -
  LME2510 MEDIA DRIVER
  M:    Malcolm Priestley <[email protected]>
  L:    [email protected]
@@@ -12836,13 -12791,12 +12860,13 @@@ W:        https://ez.analog.com/linux-software
  F:    Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
  F:    drivers/iio/temperature/ltc2983.c
  
 -LTC4261 HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 +LTC4282 HARDWARE MONITOR DRIVER
 +M:    Nuno Sa <[email protected]>
  L:    [email protected]
 -S:    Maintained
 -F:    Documentation/hwmon/ltc4261.rst
 -F:    drivers/hwmon/ltc4261.c
 +S:    Supported
 +F:    Documentation/devicetree/bindings/hwmon/adi,ltc4282.yaml
 +F:    Documentation/hwmon/ltc4282.rst
 +F:    drivers/hwmon/ltc4282.c
  
  LTC4286 HARDWARE MONITOR DRIVER
  M:    Delphine CC Chiu <[email protected]>
  S:    Supported
  F:    drivers/net/ethernet/marvell/octeon_ep
  
 +MARVELL OCTEON ENDPOINT VF DRIVER
 +M:    Veerasenareddy Burru <[email protected]>
 +M:    Sathesh Edara <[email protected]>
 +M:    Shinas Rasheed <[email protected]>
 +M:    Satananda Burla <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/net/ethernet/marvell/octeon_ep_vf
 +
  MARVELL OCTEONTX2 PHYSICAL FUNCTION DRIVER
  M:    Sunil Goutham <[email protected]>
  M:    Geetha sowjanya <[email protected]>
@@@ -13200,6 -13145,13 +13224,6 @@@ S:  Maintaine
  F:    Documentation/hwmon/max15301.rst
  F:    drivers/hwmon/pmbus/max15301.c
  
 -MAX16065 HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/hwmon/max16065.rst
 -F:    drivers/hwmon/max16065.c
 -
  MAX2175 SDR TUNER DRIVER
  M:    Ramesh Shanmugasundaram <[email protected]>
  L:    [email protected]
@@@ -13210,6 -13162,15 +13234,6 @@@ F:  Documentation/userspace-api/media/dr
  F:    drivers/media/i2c/max2175*
  F:    include/uapi/linux/max2175.h
  
 -MAX31827 TEMPERATURE SWITCH DRIVER
 -M:    Daniel Matyas <[email protected]>
 -L:    [email protected]
 -S:    Supported
 -W:    https://ez.analog.com/linux-software-drivers
 -F:    Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
 -F:    Documentation/hwmon/max31827.rst
 -F:    drivers/hwmon/max31827.c
 -
  MAX31335 RTC DRIVER
  M:    Antoniu Miclaus <[email protected]>
  L:    [email protected]
@@@ -13224,6 -13185,15 +13248,6 @@@ S:  Orpha
  F:    Documentation/hwmon/max6650.rst
  F:    drivers/hwmon/max6650.c
  
 -MAX6697 HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/hwmon/max6697.txt
 -F:    Documentation/hwmon/max6697.rst
 -F:    drivers/hwmon/max6697.c
 -F:    include/linux/platform_data/max6697.h
 -
  MAX9286 QUAD GMSL DESERIALIZER DRIVER
  M:    Jacopo Mondi <[email protected]>
  M:    Kieran Bingham <[email protected]>
@@@ -13639,7 -13609,6 +13663,7 @@@ T:   git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/renesas,csi2.yaml
  F:    Documentation/devicetree/bindings/media/renesas,isp.yaml
  F:    Documentation/devicetree/bindings/media/renesas,vin.yaml
 +F:    drivers/media/platform/renesas/rcar-csi2.c
  F:    drivers/media/platform/renesas/rcar-isp.c
  F:    drivers/media/platform/renesas/rcar-vin/
  
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    Documentation/devicetree/bindings/dma/mtk-*
 +F:    Documentation/devicetree/bindings/dma/mediatek,*
  F:    drivers/dma/mediatek/
  
  MEDIATEK ETHERNET DRIVER
@@@ -13804,13 -13773,6 +13828,13 @@@ F: Documentation/devicetree/bindings/me
  F:    drivers/media/platform/mediatek/vcodec/
  F:    drivers/media/platform/mediatek/vpu/
  
 +MEDIATEK MIPI-CSI CDPHY DRIVER
 +M:    Julien Stephan <[email protected]>
 +M:    Andy Hsieh <[email protected]>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/phy/mediatek,mt8365-csi-rx.yaml
 +F:    drivers/phy/mediatek/phy-mtk-mipi-csi-0-5*
 +
  MEDIATEK MMC/SD/SDIO DRIVER
  M:    Chaotian Jing <[email protected]>
  S:    Maintained
@@@ -14077,7 -14039,7 +14101,7 @@@ F:   include/uapi/rdma/mlx5-abi.
  
  MELLANOX MLX5 VDPA DRIVER
  M:    Dragos Tatulea <[email protected]>
 -L:    [email protected]-foundation.org
 +L:    [email protected].dev
  S:    Supported
  F:    drivers/vdpa/mlx5/
  
@@@ -14163,35 -14125,15 +14187,35 @@@ T:        git git://git.kernel.org/pub/scm/lin
  T:    quilt git://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new
  F:    include/linux/gfp.h
  F:    include/linux/gfp_types.h
 +F:    include/linux/memfd.h
 +F:    include/linux/memory.h
  F:    include/linux/memory_hotplug.h
 +F:    include/linux/memory-tiers.h
 +F:    include/linux/mempolicy.h
 +F:    include/linux/mempool.h
 +F:    include/linux/memremap.h
  F:    include/linux/mm.h
 +F:    include/linux/mm_*.h
  F:    include/linux/mmzone.h
 +F:    include/linux/mmu_notifier.h
  F:    include/linux/pagewalk.h
  F:    include/linux/rmap.h
  F:    include/trace/events/ksm.h
  F:    mm/
  F:    tools/mm/
  F:    tools/testing/selftests/mm/
 +N:    include/linux/page[-_]*
 +
 +MEMORY MAPPING
 +M:    Andrew Morton <[email protected]>
 +R:    Liam R. Howlett <[email protected]>
 +R:    Vlastimil Babka <[email protected]>
 +R:    Lorenzo Stoakes <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W:    http://www.linux-mm.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
 +F:    mm/mmap.c
  
  MEMORY TECHNOLOGY DEVICES (MTD)
  M:    Miquel Raynal <[email protected]>
@@@ -14320,6 -14262,7 +14344,6 @@@ F:   drivers/misc/xilinx_tmr_manager.
  
  MICROCHIP AT91 DMA DRIVERS
  M:    Ludovic Desroches <[email protected]>
 -M:    Tudor Ambarus <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Supported
@@@ -14368,8 -14311,9 +14392,8 @@@ F:   Documentation/devicetree/bindings/me
  F:    drivers/media/platform/microchip/microchip-csi2dc.c
  
  MICROCHIP ECC DRIVER
 -M:    Tudor Ambarus <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/crypto/atmel-ecc.*
  
  MICROCHIP EIC DRIVER
@@@ -14449,7 -14393,7 +14473,7 @@@ MICROCHIP MCP16502 PMIC DRIVE
  M:    Claudiu Beznea <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 -F:    Documentation/devicetree/bindings/regulator/mcp16502-regulator.txt
 +F:    Documentation/devicetree/bindings/regulator/microchip,mcp16502.yaml
  F:    drivers/regulator/mcp16502.c
  
  MICROCHIP MCP3564 ADC DRIVER
@@@ -14474,8 -14418,9 +14498,8 @@@ S:   Maintaine
  F:    drivers/mmc/host/atmel-mci.c
  
  MICROCHIP NAND DRIVER
 -M:    Tudor Ambarus <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Orphan
  F:    Documentation/devicetree/bindings/mtd/atmel-nand.txt
  F:    drivers/mtd/nand/raw/atmel/*
  
@@@ -14487,6 -14432,13 +14511,13 @@@ F: Documentation/devicetree/bindings/nv
  F:    drivers/nvmem/microchip-otpc.c
  F:    include/dt-bindings/nvmem/microchip,sama7g5-otpc.h
  
+ MICROCHIP PAC1934 POWER/ENERGY MONITOR DRIVER
+ M:    Marius Cristea <[email protected]>
+ L:    [email protected]
+ S:    Supported
+ F:    Documentation/devicetree/bindings/iio/adc/microchip,pac1934.yaml
+ F:    drivers/iio/adc/pac1934.c
  MICROCHIP PCI1XXXX GP DRIVER
  M:    Vaibhaav Ram T.L <[email protected]>
  M:    Kumaravel Thiagarajan <[email protected]>
@@@ -14643,14 -14595,6 +14674,14 @@@ F: Documentation/driver-api/surface_agg
  F:    drivers/platform/surface/surface_dtx.c
  F:    include/uapi/linux/surface_aggregator/dtx.h
  
 +MICROSOFT SURFACE SENSOR FAN DRIVER
 +M:    Maximilian Luz <[email protected]>
 +M:    Ivor Wanders <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/surface_fan.rst
 +F:    drivers/hwmon/surface_fan.c
 +
  MICROSOFT SURFACE GPE LID SUPPORT DRIVER
  M:    Maximilian Luz <[email protected]>
  L:    [email protected]
@@@ -14754,17 -14698,6 +14785,17 @@@ F: arch/mips
  F:    drivers/platform/mips/
  F:    include/dt-bindings/mips/
  
 +MIPS BAIKAL-T1 PLATFORM
 +M:    Serge Semin <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/devicetree/bindings/bus/baikal,bt1-*.yaml
 +F:    Documentation/devicetree/bindings/clock/baikal,bt1-*.yaml
 +F:    drivers/bus/bt1-*.c
 +F:    drivers/clk/baikal-t1/
 +F:    drivers/memory/bt1-l2-ctl.c
 +F:    drivers/mtd/maps/physmap-bt1-rom.[ch]
 +
  MIPS BOSTON DEVELOPMENT BOARD
  M:    Paul Burton <[email protected]>
  L:    [email protected]
@@@ -14885,17 -14818,6 +14916,17 @@@ W: https://linuxtv.or
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  F:    drivers/media/dvb-frontends/mn88473*
  
 +MOBILEYE MIPS SOCS
 +M:    Vladimir Kondratiev <[email protected]>
 +M:    Gregory CLEMENT <[email protected]>
 +M:    Théo Lebrun <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mips/mobileye.yaml
 +F:    arch/mips/boot/dts/mobileye/
 +F:    arch/mips/configs/eyeq5_defconfig
 +F:    arch/mips/mobileye/board-epm5.its.S
 +
  MODULE SUPPORT
  M:    Luis Chamberlain <[email protected]>
  L:    [email protected]
@@@ -15177,6 -15099,15 +15208,6 @@@ M:  Samuel Mendoza-Jonas <sam@mendozajon
  S:    Maintained
  F:    net/ncsi/
  
 -NCT6775 HARDWARE MONITOR DRIVER - CORE & PLATFORM DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/hwmon/nct6775.rst
 -F:    drivers/hwmon/nct6775-core.c
 -F:    drivers/hwmon/nct6775-platform.c
 -F:    drivers/hwmon/nct6775.h
 -
  NCT6775 HARDWARE MONITOR DRIVER - I2C DRIVER
  M:    Zev Weiss <[email protected]>
  L:    [email protected]
@@@ -15188,7 -15119,6 +15219,7 @@@ NETDEVSI
  M:    Jakub Kicinski <[email protected]>
  S:    Maintained
  F:    drivers/net/netdevsim/*
 +F:    tools/testing/selftests/drivers/net/netdevsim/*
  
  NETEM NETWORK EMULATOR
  M:    Stephen Hemminger <[email protected]>
@@@ -15343,8 -15273,6 +15374,8 @@@ F:   Documentation/networking
  F:    Documentation/networking/net_cachelines/
  F:    Documentation/process/maintainer-netdev.rst
  F:    Documentation/userspace-api/netlink/
 +F:    include/linux/framer/framer-provider.h
 +F:    include/linux/framer/framer.h
  F:    include/linux/in.h
  F:    include/linux/indirect_call_wrapper.h
  F:    include/linux/net.h
@@@ -15538,6 -15466,7 +15569,6 @@@ M:   Ryusuke Konishi <konishi.ryusuke@gma
  L:    [email protected]
  S:    Supported
  W:    https://nilfs.sourceforge.io/
 -W:    https://nilfs.osdn.jp/
  T:    git https://github.com/konis/nilfs2.git
  F:    Documentation/filesystems/nilfs2.rst
  F:    fs/nilfs2/
@@@ -15678,6 -15607,16 +15709,6 @@@ W:  https://github.com/davejiang/linux/w
  T:    git https://github.com/davejiang/linux.git
  F:    drivers/ntb/hw/intel/
  
 -NTFS FILESYSTEM
 -M:    Anton Altaparmakov <[email protected]>
 -R:    Namjae Jeon <[email protected]>
 -L:    [email protected]
 -S:    Supported
 -W:    http://www.tuxera.com/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs.git
 -F:    Documentation/filesystems/ntfs.rst
 -F:    fs/ntfs/
 -
  NTFS3 FILESYSTEM
  M:    Konstantin Komarov <[email protected]>
  L:    [email protected]
@@@ -15806,7 -15745,7 +15837,7 @@@ F:   drivers/iio/gyro/fxas21002c_spi.
  NXP i.MX 7D/6SX/6UL/93 AND VF610 ADC DRIVER
  M:    Haibo Chen <[email protected]>
  L:    [email protected]
 -L:    [email protected]
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/iio/adc/fsl,imx7d-adc.yaml
  F:    Documentation/devicetree/bindings/iio/adc/fsl,vf610-adc.yaml
@@@ -15843,7 -15782,7 +15874,7 @@@ F:   drivers/gpu/drm/imx/dcss
  NXP i.MX 8QXP ADC DRIVER
  M:    Cai Huoqing <[email protected]>
  M:    Haibo Chen <[email protected]>
 -L:    [email protected]
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/iio/adc/nxp,imx8qxp-adc.yaml
@@@ -15851,7 -15790,7 +15882,7 @@@ F:   drivers/iio/adc/imx8qxp-adc.
  
  NXP i.MX 8QXP/8QM JPEG V4L2 DRIVER
  M:    Mirela Rabulea <[email protected]>
 -R:    NXP Linux Team <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml
@@@ -15861,7 -15800,7 +15892,7 @@@ NXP i.MX CLOCK DRIVER
  M:    Abel Vesa <[email protected]>
  R:    Peng Fan <[email protected]>
  L:    [email protected]
 -L:    [email protected]
 +L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/abelvesa/linux.git clk/imx
  F:    Documentation/devicetree/bindings/clock/imx*
@@@ -15931,14 -15870,6 +15962,14 @@@ S: Maintaine
  F:    Documentation/hwmon/nzxt-kraken2.rst
  F:    drivers/hwmon/nzxt-kraken2.c
  
 +NZXT-KRAKEN3 HARDWARE MONITORING DRIVER
 +M:    Jonas Malaco <[email protected]>
 +M:    Aleksa Savic <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/nzxt-kraken3.rst
 +F:    drivers/hwmon/nzxt-kraken3.c
 +
  NZXT-SMART2 HARDWARE MONITORING DRIVER
  M:    Aleksandr Mezin <[email protected]>
  L:    [email protected]
@@@ -16468,8 -16399,8 +16499,8 @@@ S:   Supporte
  F:    drivers/infiniband/ulp/opa_vnic
  
  OPEN FIRMWARE AND FLATTENED DEVICE TREE
 -M:    Rob Herring <robh+dt@kernel.org>
 -M:    Frank Rowand <frowand.list@gmail.com>
 +M:    Rob Herring <[email protected]>
 +M:    Saravana Kannan <saravanak@google.com>
  L:    [email protected]
  S:    Maintained
  W:    http://www.devicetree.org/
@@@ -16485,7 -16416,7 +16516,7 @@@ K:   of_overlay_fdt_appl
  K:    of_overlay_remove
  
  OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
 -M:    Rob Herring <robh+dt@kernel.org>
 +M:    Rob Herring <[email protected]>
  M:    Krzysztof Kozlowski <[email protected]>
  M:    Conor Dooley <[email protected]>
  L:    [email protected]
@@@ -16592,7 -16523,7 +16623,7 @@@ M:   Miklos Szeredi <[email protected]
  M:    Amir Goldstein <[email protected]>
  L:    [email protected]
  S:    Supported
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs.git
  F:    Documentation/filesystems/overlayfs.rst
  F:    fs/overlayfs/
  
@@@ -16830,7 -16761,6 +16861,7 @@@ F:   drivers/pci/controller/dwc/*layersca
  PCI DRIVER FOR FU740
  M:    Paul Walmsley <[email protected]>
  M:    Greentime Hu <[email protected]>
 +M:    Samuel Holland <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml
@@@ -17065,6 -16995,7 +17096,6 @@@ F:   include/asm-generic/pci
  F:    include/linux/of_pci.h
  F:    include/linux/pci*
  F:    include/uapi/linux/pci*
 -F:    lib/pci*
  
  PCIE DRIVER FOR AMAZON ANNAPURNA LABS
  M:    Jonathan Chocron <[email protected]>
  M:    Jacky Bai <[email protected]>
  R:    Pengutronix Kernel Team <[email protected]>
  L:    [email protected]
 +L:    NXP S32 Linux Team <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/pinctrl/fsl,*
 +F:    Documentation/devicetree/bindings/pinctrl/nxp,s32*
  F:    drivers/pinctrl/freescale/
 +F:    drivers/pinctrl/nxp/
  
  PIN CONTROLLER - INTEL
  M:    Mika Westerberg <[email protected]>
@@@ -17428,6 -17356,14 +17459,6 @@@ S:  Supporte
  F:    drivers/gpio/gpio-sama5d2-piobu.c
  F:    drivers/pinctrl/pinctrl-at91*
  
 -PIN CONTROLLER - NXP S32
 -M:    Chester Lin <[email protected]>
 -R:    NXP S32 Linux Team <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/pinctrl/nxp,s32*
 -F:    drivers/pinctrl/nxp/
 -
  PIN CONTROLLER - QUALCOMM
  M:    Bjorn Andersson <[email protected]>
  L:    [email protected]
@@@ -17444,6 -17380,7 +17475,6 @@@ F:   Documentation/devicetree/bindings/pi
  F:    drivers/pinctrl/renesas/
  
  PIN CONTROLLER - SAMSUNG
 -M:    Tomasz Figa <[email protected]>
  M:    Krzysztof Kozlowski <[email protected]>
  M:    Sylwester Nawrocki <[email protected]>
  R:    Alim Akhtar <[email protected]>
@@@ -17530,6 -17467,35 +17561,6 @@@ S:  Maintaine
  F:    Documentation/hwmon/pm6764tr.rst
  F:    drivers/hwmon/pmbus/pm6764tr.c
  
 -PMBUS HARDWARE MONITORING DRIVERS
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -W:    http://hwmon.wiki.kernel.org/
 -W:    http://www.roeck-us.net/linux/drivers/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
 -F:    Documentation/devicetree/bindings/hwmon/ltc2978.txt
 -F:    Documentation/devicetree/bindings/hwmon/max31785.txt
 -F:    Documentation/hwmon/adm1275.rst
 -F:    Documentation/hwmon/ibm-cffps.rst
 -F:    Documentation/hwmon/ir35221.rst
 -F:    Documentation/hwmon/lm25066.rst
 -F:    Documentation/hwmon/ltc2978.rst
 -F:    Documentation/hwmon/ltc3815.rst
 -F:    Documentation/hwmon/max16064.rst
 -F:    Documentation/hwmon/max20751.rst
 -F:    Documentation/hwmon/max31785.rst
 -F:    Documentation/hwmon/max34440.rst
 -F:    Documentation/hwmon/max8688.rst
 -F:    Documentation/hwmon/pmbus-core.rst
 -F:    Documentation/hwmon/pmbus.rst
 -F:    Documentation/hwmon/tps40422.rst
 -F:    Documentation/hwmon/ucd9000.rst
 -F:    Documentation/hwmon/ucd9200.rst
 -F:    Documentation/hwmon/zl6100.rst
 -F:    drivers/hwmon/pmbus/
 -F:    include/linux/pmbus.h
 -
  PMC SIERRA MaxRAID DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -17564,7 -17530,6 +17595,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    fs/timerfd.c
  F:    include/linux/time_namespace.h
  F:    include/linux/timer*
 +F:    include/trace/events/timer*
  F:    kernel/time/*timer*
  F:    kernel/time/namespace.c
  
@@@ -17601,7 -17566,6 +17632,7 @@@ F:   Documentation/devicetree/bindings/po
  F:    drivers/power/supply/
  F:    include/linux/power/
  F:    include/linux/power_supply.h
 +F:    tools/testing/selftests/power_supply/
  
  POWERNV OPERATOR PANEL LCD DISPLAY DRIVER
  M:    Suraj Jitindar Singh <[email protected]>
@@@ -17693,7 -17657,7 +17724,7 @@@ M:   Joel Granados <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git sysctl-next
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl.git sysctl-next
  F:    fs/proc/proc_sysctl.c
  F:    include/linux/sysctl.h
  F:    kernel/sysctl-test.c
@@@ -17751,13 -17715,6 +17782,13 @@@ F: fs/pstore
  F:    include/linux/pstore*
  K:    \b(pstore|ramoops)
  
 +PT5161L HARDWARE MONITOR DRIVER
 +M:    Cosmo Chou <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/pt5161l.rst
 +F:    drivers/hwmon/pt5161l.c
 +
  PTP HARDWARE CLOCK SUPPORT
  M:    Richard Cochran <[email protected]>
  L:    [email protected]
@@@ -18056,34 -18013,33 +18087,34 @@@ F:        drivers/media/tuners/qt1010
  
  QUALCOMM ATH12K WIRELESS DRIVER
  M:    Kalle Valo <[email protected]>
 -M:    Jeff Johnson <[email protected]>
 +M:    Jeff Johnson <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath12k
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
  F:    drivers/net/wireless/ath/ath12k/
 +N:    ath12k
  
  QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
  M:    Kalle Valo <[email protected]>
 -M:    Jeff Johnson <[email protected]>
 +M:    Jeff Johnson <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
 -F:    Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
  F:    drivers/net/wireless/ath/ath10k/
 +N:    ath10k
  
  QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
  M:    Kalle Valo <[email protected]>
 -M:    Jeff Johnson <[email protected]>
 +M:    Jeff Johnson <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath11k
  B:    https://wireless.wiki.kernel.org/en/users/Drivers/ath11k/bugreport
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
 -F:    Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
  F:    drivers/net/wireless/ath/ath11k/
 +N:    ath11k
  
  QUALCOMM ATHEROS ATH9K WIRELESS DRIVER
  M:    Toke Høiland-Jørgensen <[email protected]>
@@@ -18094,13 -18050,6 +18125,13 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    Documentation/devicetree/bindings/net/wireless/qca,ath9k.yaml
  F:    drivers/net/wireless/ath/ath9k/
  
 +QUALCOMM ATHEROS QCA7K ETHERNET DRIVER
 +M:    Stefan Wahren <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/qca,qca7000.txt
 +F:    drivers/net/ethernet/qualcomm/qca*
 +
  QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
  M:    Stephan Gerhold <[email protected]>
  L:    [email protected]
@@@ -18444,17 -18393,11 +18475,17 @@@ M:        Tony Luck <[email protected]
  M:    Borislav Petkov <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/admin-guide/ras.rst
 +F:    Documentation/admin-guide/RAS
  F:    drivers/ras/
  F:    include/linux/ras.h
  F:    include/ras/ras_event.h
  
 +RAS FRU MEMORY POISON MANAGER (FMPM)
 +M:    Yazen Ghannam <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/ras/amd/fmpm.c
 +
  RC-CORE / LIRC FRAMEWORK
  M:    Sean Young <[email protected]>
  L:    [email protected]
@@@ -18944,7 -18887,6 +18975,7 @@@ F:   Documentation/devicetree/bindings/ri
  F:    arch/riscv/boot/dts/
  X:    arch/riscv/boot/dts/allwinner/
  X:    arch/riscv/boot/dts/renesas/
 +X:    arch/riscv/boot/dts/sophgo/
  
  RISC-V PMU DRIVERS
  M:    Atish Patra <[email protected]>
@@@ -19193,7 -19135,6 +19224,7 @@@ F:   Documentation/rust
  F:    rust/
  F:    samples/rust/
  F:    scripts/*rust*
 +F:    tools/testing/selftests/rust/
  K:    \b(?i:rust)\b
  
  RXRPC SOCKETS (AF_RXRPC)
@@@ -19487,6 -19428,7 +19518,6 @@@ F:   drivers/media/platform/samsung/exyno
  SAMSUNG SOC CLOCK DRIVERS
  M:    Krzysztof Kozlowski <[email protected]>
  M:    Sylwester Nawrocki <[email protected]>
 -M:    Tomasz Figa <[email protected]>
  M:    Chanwoo Choi <[email protected]>
  R:    Alim Akhtar <[email protected]>
  L:    [email protected]
@@@ -19728,7 -19670,7 +19759,7 @@@ F:   drivers/mmc/host/sdhci-of-at91.
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) NXP i.MX DRIVER
  M:    Haibo Chen <[email protected]>
 -L:    [email protected]
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/mmc/host/sdhci-esdhc-imx.c
@@@ -20063,15 -20005,36 +20094,15 @@@ S:        Maintaine
  F:    drivers/watchdog/simatic-ipc-wdt.c
  
  SIFIVE DRIVERS
 -M:    Palmer Dabbelt <[email protected]>
  M:    Paul Walmsley <[email protected]>
 +M:    Samuel Holland <[email protected]>
  L:    [email protected]
  S:    Supported
 +F:    drivers/dma/sf-pdma/
  N:    sifive
 +K:    fu[57]40
  K:    [^@]sifive
  
 -SIFIVE CACHE DRIVER
 -M:    Conor Dooley <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/cache/sifive,ccache0.yaml
 -F:    drivers/cache/sifive_ccache.c
 -
 -SIFIVE FU540 SYSTEM-ON-CHIP
 -M:    Paul Walmsley <[email protected]>
 -M:    Palmer Dabbelt <[email protected]>
 -L:    [email protected]
 -S:    Supported
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pjw/sifive.git
 -N:    fu540
 -K:    fu540
 -
 -SIFIVE PDMA DRIVER
 -M:    Green Wan <[email protected]>
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
 -F:    drivers/dma/sf-pdma/
 -
 -
  SILEAD TOUCHSCREEN DRIVER
  M:    Hans de Goede <[email protected]>
  L:    [email protected]
@@@ -20280,8 -20243,8 +20311,8 @@@ F:   Documentation/devicetree/bindings/ne
  F:    drivers/net/ethernet/socionext/sni_ave.c
  
  SOCIONEXT (SNI) NETSEC NETWORK DRIVER
 -M:    Jassi Brar <[email protected]>
  M:    Ilias Apalodimas <[email protected]>
 +M:    Masahisa Kojima <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/socionext,synquacer-netsec.yaml
@@@ -20522,13 -20485,12 +20553,13 @@@ F:        drivers/char/sonypi.
  F:    drivers/platform/x86/sony-laptop.c
  F:    include/linux/sony-laptop.h
  
 -SOPHGO DEVICETREES
 -M:    Chao Wei <[email protected]>
 +SOPHGO DEVICETREES and DRIVERS
  M:    Chen Wang <[email protected]>
 +M:    Inochi Amaoto <[email protected]>
 +T:    git https://github.com/sophgo/linux.git
  S:    Maintained
 -F:    arch/riscv/boot/dts/sophgo/
 -F:    Documentation/devicetree/bindings/riscv/sophgo.yaml
 +N:    sophgo
 +K:    sophgo
  
  SOUND
  M:    Jaroslav Kysela <[email protected]>
@@@ -20562,12 -20524,6 +20593,12 @@@ F: include/uapi/sound/compress_
  F:    sound/core/compress_offload.c
  F:    sound/soc/soc-compress.c
  
 +SOUND - CORE KUNIT TEST
 +M:    Ivan Orlov <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    sound/core/sound_kunit.c
 +
  SOUND - DMAENGINE HELPERS
  M:    Lars-Peter Clausen <[email protected]>
  S:    Supported
@@@ -21020,13 -20976,6 +21051,13 @@@ S: Maintaine
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
  F:    Documentation/devicetree/bindings/soc/starfive/
  
 +STARFIVE STARLINK PMU DRIVER
 +M:    Ji Sheng Teoh <[email protected]>
 +S:    Maintained
 +F:    Documentation/admin-guide/perf/starfive_starlink_pmu.rst
 +F:    Documentation/devicetree/bindings/perf/starfive,jh8100-starlink-pmu.yaml
 +F:    drivers/perf/starfive_starlink_pmu.c
 +
  STARFIVE TRNG DRIVER
  M:    Jia Jie Ho <[email protected]>
  S:    Supported
@@@ -21048,12 -20997,6 +21079,12 @@@ F: Documentation/devicetree/bindings/ph
  F:    drivers/phy/starfive/phy-jh7110-pcie.c
  F:    drivers/phy/starfive/phy-jh7110-usb.c
  
 +STARFIVE JH8100 EXTERNAL INTERRUPT CONTROLLER DRIVER
 +M:    Changhuang Liang <[email protected]>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/interrupt-controller/starfive,jh8100-intc.yaml
 +F:    drivers/irqchip/irq-starfive-jh8100-intc.c
 +
  STATIC BRANCH/CALL
  M:    Peter Zijlstra <[email protected]>
  M:    Josh Poimboeuf <[email protected]>
@@@ -21419,7 -21362,6 +21450,7 @@@ F:   drivers/clk/clk-sc[mp]i.
  F:    drivers/cpufreq/sc[mp]i-cpufreq.c
  F:    drivers/firmware/arm_scmi/
  F:    drivers/firmware/arm_scpi.c
 +F:    drivers/hwmon/scmi-hwmon.c
  F:    drivers/pmdomain/arm/
  F:    drivers/powercap/arm_scmi_powercap.c
  F:    drivers/regulator/scmi-regulator.c
@@@ -21614,7 -21556,7 +21645,7 @@@ F:   tools/testing/selftests/drivers/net/
  TECHNICAL ADVISORY BOARD PROCESS DOCS
  M:    "Theodore Ts'o" <[email protected]>
  M:    Greg Kroah-Hartman <[email protected]>
 -L:    [email protected]-foundation.org
 +L:    [email protected].dev
  S:    Maintained
  F:    Documentation/process/contribution-maturity-model.rst
  F:    Documentation/process/researcher-guidelines.rst
@@@ -22039,6 -21981,7 +22070,6 @@@ F:   drivers/i2c/busses/i2c-davinci.
  
  TI DAVINCI SERIES CLOCK DRIVER
  M:    David Lechner <[email protected]>
 -R:    Sekhar Nori <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/clock/ti/davinci/
  F:    drivers/clk/davinci/
@@@ -22257,6 -22200,22 +22288,6 @@@ F:  drivers/mmc/host/renesas_sdhi
  F:    drivers/mmc/host/tmio_mmc*
  F:    include/linux/mfd/tmio.h
  
 -TMP401 HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/hwmon/ti,tmp401.yaml
 -F:    Documentation/hwmon/tmp401.rst
 -F:    drivers/hwmon/tmp401.c
 -
 -TMP464 HARDWARE MONITOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/hwmon/ti,tmp464.yaml
 -F:    Documentation/hwmon/tmp464.rst
 -F:    drivers/hwmon/tmp464.c
 -
  TMP513 HARDWARE MONITOR DRIVER
  M:    Eric Tremblay <[email protected]>
  L:    [email protected]
@@@ -22561,23 -22520,6 +22592,23 @@@ F: Documentation/block/ublk.rs
  F:    drivers/block/ublk_drv.c
  F:    include/uapi/linux/ublk_cmd.h
  
 +UBSAN
 +M:    Kees Cook <[email protected]>
 +R:    Marco Elver <[email protected]>
 +R:    Andrey Konovalov <[email protected]>
 +R:    Andrey Ryabinin <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
 +F:    Documentation/dev-tools/ubsan.rst
 +F:    include/linux/ubsan.h
 +F:    lib/Kconfig.ubsan
 +F:    lib/test_ubsan.c
 +F:    lib/ubsan.c
 +F:    scripts/Makefile.ubsan
 +K:    \bARCH_HAS_UBSAN\b
 +
  UCLINUX (M68KNOMMU AND COLDFIRE)
  M:    Greg Ungerer <[email protected]>
  L:    [email protected]
@@@ -22967,8 -22909,9 +22998,8 @@@ S:   Maintaine
  F:    drivers/usb/typec/mux/pi3usb30532.c
  
  USB TYPEC PORT CONTROLLER DRIVERS
 -M:    Guenter Roeck <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/usb/typec/tcpm/
  
  USB UHCI DRIVER
@@@ -23177,11 -23120,12 +23208,11 @@@ L:        [email protected]
  S:    Maintained
  F:    drivers/vfio/pci/mlx5/
  
 -VFIO VIRTIO PCI DRIVER
 -M:    Yishai Hadas <yishaih@nvidia.com>
 +VFIO NVIDIA GRACE GPU DRIVER
 +M:    Ankit Agrawal <ankita@nvidia.com>
  L:    [email protected]
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/vfio/pci/virtio
 +S:    Supported
 +F:    drivers/vfio/pci/nvgrace-gpu/
  
  VFIO PCI DEVICE SPECIFIC DRIVERS
  R:    Jason Gunthorpe <[email protected]>
  S:    Maintained
  F:    drivers/vfio/platform/
  
 +VFIO VIRTIO PCI DRIVER
 +M:    Yishai Hadas <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/vfio/pci/virtio
 +
  VGA_SWITCHEROO
  R:    Lukas Wunner <[email protected]>
  S:    Maintained
@@@ -23566,8 -23503,8 +23597,8 @@@ F:   Documentation/driver-api/vme.rs
  F:    drivers/staging/vme_user/
  
  VMWARE BALLOON DRIVER
- M:    Nadav Amit <namit@vmware.com>
- R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
+ M:    Jerrin Shaji George <jerrin.shaji-george@broadcom.com>
+ R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/misc/vmw_balloon.c
@@@ -24230,13 -24167,14 +24261,13 @@@ F:        drivers/net/ethernet/xilinx/xilinx_a
  
  XILINX CAN DRIVER
  M:    Appana Durga Kedareswara rao <[email protected]>
 -R:    Naga Sureshkumar Relli <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/can/xilinx,can.yaml
  F:    drivers/net/can/xilinx_can.c
  
  XILINX EVENT MANAGEMENT DRIVER
 -M:    Abhyuday Godhasara <abhyuday.godhasara@xilinx.com>
 +M:    Michal Simek <michal.simek@amd.com>
  S:    Maintained
  F:    drivers/soc/xilinx/xlnx_event_manager.c
  F:    include/linux/firmware/xlnx-event-manager.h
@@@ -24266,7 -24204,7 +24297,7 @@@ XILINX SD-FEC IP CORE
  M:    Derek Kiernan <[email protected]>
  M:    Dragan Cvetic <[email protected]>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/misc/xlnx,sd-fec.txt
 +F:    Documentation/devicetree/bindings/misc/xlnx,sd-fec.yaml
  F:    Documentation/misc-devices/xilinx_sdfec.rst
  F:    drivers/misc/Kconfig
  F:    drivers/misc/Makefile
  S:    Maintained
  F:    drivers/crypto/xilinx/zynqmp-sha.c
  
+ XILINX ZYNQMP NVMEM DRIVER
+ M:    Praveen Teja Kundanala <[email protected]>
+ M:    Kalyani Akula <[email protected]>
+ R:    Michal Simek <[email protected]>
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.yaml
+ F:    drivers/nvmem/zynqmp_nvmem.c
  XILLYBUS DRIVER
  M:    Eli Billauer <[email protected]>
  L:    [email protected]
@@@ -24498,7 -24444,6 +24537,7 @@@ ZSWAP COMPRESSED SWAP CACHIN
  M:    Johannes Weiner <[email protected]>
  M:    Yosry Ahmed <[email protected]>
  M:    Nhat Pham <[email protected]>
 +R:    Chengming Zhou <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/mm/zswap.rst
@@@ -24506,7 -24451,6 +24545,7 @@@ F:   include/linux/zpool.
  F:    include/linux/zswap.h
  F:    mm/zpool.c
  F:    mm/zswap.c
 +F:    tools/testing/selftests/cgroup/test_zswap.c
  
  THE REST
  M:    Linus Torvalds <[email protected]>
diff --combined arch/x86/Kconfig
index 7aed87cbf386257237ca55d98ff61eb22b0b7ba2,eb6c9f5b3be728e0113afd20614677efd38ff91a..39886bab943a88b3a8262a733a7e2e82269934f8
@@@ -100,7 -100,7 +100,7 @@@ config X8
        select ARCH_HAS_STRICT_MODULE_RWX
        select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
        select ARCH_HAS_SYSCALL_WRAPPER
 -      select ARCH_HAS_UBSAN_SANITIZE_ALL
 +      select ARCH_HAS_UBSAN
        select ARCH_HAS_DEBUG_WX
        select ARCH_HAS_ZONE_DMA_SET if EXPERT
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select EDAC_ATOMIC_SCRUB
        select EDAC_SUPPORT
        select GENERIC_CLOCKEVENTS_BROADCAST    if X86_64 || (X86_32 && X86_LOCAL_APIC)
 +      select GENERIC_CLOCKEVENTS_BROADCAST_IDLE       if GENERIC_CLOCKEVENTS_BROADCAST
        select GENERIC_CLOCKEVENTS_MIN_ADJUST
        select GENERIC_CMOS_UPDATE
        select GENERIC_CPU_AUTOPROBE
        select HAVE_FUNCTION_ERROR_INJECTION
        select HAVE_KRETPROBES
        select HAVE_RETHOOK
 -      select HAVE_KVM
        select HAVE_LIVEPATCH                   if X86_64
        select HAVE_MIXED_BREAKPOINTS_REGS
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NOINSTR_VALIDATION          if HAVE_OBJTOOL
        select HAVE_OBJTOOL                     if X86_64
        select HAVE_OPTPROBES
 +      select HAVE_PAGE_SIZE_4KB
        select HAVE_PCSPKR_PLATFORM
        select HAVE_PERF_EVENTS
        select HAVE_PERF_EVENTS_NMI
@@@ -472,10 -471,6 +472,6 @@@ config X86_MPPARS
          For old smp systems that do not have proper acpi support. Newer systems
          (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
  
- config GOLDFISH
-       def_bool y
-       depends on X86_GOLDFISH
  config X86_CPU_RESCTRL
        bool "x86 CPU resource control support"
        depends on X86 && (CPU_SUP_INTEL || CPU_SUP_AMD)
  
          Say N if unsure.
  
 +config X86_FRED
 +      bool "Flexible Return and Event Delivery"
 +      depends on X86_64
 +      help
 +        When enabled, try to use Flexible Return and Event Delivery
 +        instead of the legacy SYSCALL/SYSENTER/IDT architecture for
 +        ring transitions and exception/interrupt handling if the
 +        system supports.
 +
  if X86_32
  config X86_BIGSMP
        bool "Support for big SMP systems with more than 8 CPUs"
@@@ -1064,9 -1050,8 +1060,9 @@@ config SCHED_M
  
  config SCHED_MC_PRIO
        bool "CPU core priorities scheduler support"
 -      depends on SCHED_MC && CPU_SUP_INTEL
 -      select X86_INTEL_PSTATE
 +      depends on SCHED_MC
 +      select X86_INTEL_PSTATE if CPU_SUP_INTEL
 +      select X86_AMD_PSTATE if CPU_SUP_AMD && ACPI
        select CPU_FREQ
        default y
        help
@@@ -1550,6 -1535,19 +1546,6 @@@ config AMD_MEM_ENCRYP
          This requires an AMD processor that supports Secure Memory
          Encryption (SME).
  
 -config AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
 -      bool "Activate AMD Secure Memory Encryption (SME) by default"
 -      depends on AMD_MEM_ENCRYPT
 -      help
 -        Say yes to have system memory encrypted by default if running on
 -        an AMD processor that supports Secure Memory Encryption (SME).
 -
 -        If set to Y, then the encryption of system memory can be
 -        deactivated with the mem_encrypt=off command line option.
 -
 -        If set to N, then the encryption of system memory can be
 -        activated with the mem_encrypt=on command line option.
 -
  # Common NUMA Features
  config NUMA
        bool "NUMA Memory Allocation and Scheduler Support"
@@@ -2104,7 -2102,7 +2100,7 @@@ config ARCH_SUPPORTS_CRASH_HOTPLU
        def_bool y
  
  config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION
 -      def_bool CRASH_CORE
 +      def_bool CRASH_RESERVE
  
  config PHYSICAL_START
        hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
        help
          This gives the physical address where the kernel is loaded.
  
 -        If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
 -        bzImage will decompress itself to above physical address and
 -        run from there. Otherwise, bzImage will run from the address where
 -        it has been loaded by the boot loader and will ignore above physical
 -        address.
 +        If the kernel is not relocatable (CONFIG_RELOCATABLE=n) then bzImage
 +        will decompress itself to above physical address and run from there.
 +        Otherwise, bzImage will run from the address where it has been loaded
 +        by the boot loader. The only exception is if it is loaded below the
 +        above physical address, in which case it will relocate itself there.
  
          In normal kdump cases one does not have to set/change this option
          as now bzImage can be compiled as a completely relocatable image
@@@ -2432,18 -2430,6 +2428,18 @@@ source "kernel/livepatch/Kconfig
  
  endmenu
  
 +config CC_HAS_NAMED_AS
 +      def_bool CC_IS_GCC && GCC_VERSION >= 120100
 +
 +config USE_X86_SEG_SUPPORT
 +      def_bool y
 +      depends on CC_HAS_NAMED_AS
 +      #
 +      # -fsanitize=kernel-address (KASAN) is at the moment incompatible
 +      # with named address spaces - see GCC PR sanitizer/111736.
 +      #
 +      depends on !KASAN
 +
  config CC_HAS_SLS
        def_bool $(cc-option,-mharden-sls=all)
  
@@@ -2475,12 -2461,12 +2471,12 @@@ config CALL_PADDIN
  
  config FINEIBT
        def_bool y
 -      depends on X86_KERNEL_IBT && CFI_CLANG && RETPOLINE
 +      depends on X86_KERNEL_IBT && CFI_CLANG && MITIGATION_RETPOLINE
        select CALL_PADDING
  
  config HAVE_CALL_THUNKS
        def_bool y
 -      depends on CC_HAS_ENTRY_PADDING && RETHUNK && OBJTOOL
 +      depends on CC_HAS_ENTRY_PADDING && MITIGATION_RETHUNK && OBJTOOL
  
  config CALL_THUNKS
        def_bool n
@@@ -2502,7 -2488,7 +2498,7 @@@ menuconfig SPECULATION_MITIGATION
  
  if SPECULATION_MITIGATIONS
  
 -config PAGE_TABLE_ISOLATION
 +config MITIGATION_PAGE_TABLE_ISOLATION
        bool "Remove the kernel mapping in user mode"
        default y
        depends on (X86_64 || X86_PAE)
  
          See Documentation/arch/x86/pti.rst for more details.
  
 -config RETPOLINE
 +config MITIGATION_RETPOLINE
        bool "Avoid speculative indirect branches in kernel"
        select OBJTOOL if HAVE_OBJTOOL
        default y
          branches. Requires a compiler with -mindirect-branch=thunk-extern
          support for full protection. The kernel may run slower.
  
 -config RETHUNK
 +config MITIGATION_RETHUNK
        bool "Enable return-thunks"
 -      depends on RETPOLINE && CC_HAS_RETURN_THUNK
 +      depends on MITIGATION_RETPOLINE && CC_HAS_RETURN_THUNK
        select OBJTOOL if HAVE_OBJTOOL
        default y if X86_64
        help
          Requires a compiler with -mfunction-return=thunk-extern
          support for full protection. The kernel may run slower.
  
 -config CPU_UNRET_ENTRY
 +config MITIGATION_UNRET_ENTRY
        bool "Enable UNRET on kernel entry"
 -      depends on CPU_SUP_AMD && RETHUNK && X86_64
 +      depends on CPU_SUP_AMD && MITIGATION_RETHUNK && X86_64
        default y
        help
          Compile the kernel with support for the retbleed=unret mitigation.
  
 -config CALL_DEPTH_TRACKING
 +config MITIGATION_CALL_DEPTH_TRACKING
        bool "Mitigate RSB underflow with call depth tracking"
        depends on CPU_SUP_INTEL && HAVE_CALL_THUNKS
        select HAVE_DYNAMIC_FTRACE_NO_PATCHABLE
  
  config CALL_THUNKS_DEBUG
        bool "Enable call thunks and call depth tracking debugging"
 -      depends on CALL_DEPTH_TRACKING
 +      depends on MITIGATION_CALL_DEPTH_TRACKING
        select FUNCTION_ALIGNMENT_32B
        default n
        help
          Only enable this when you are debugging call thunks as this
          creates a noticeable runtime overhead. If unsure say N.
  
 -config CPU_IBPB_ENTRY
 +config MITIGATION_IBPB_ENTRY
        bool "Enable IBPB on kernel entry"
        depends on CPU_SUP_AMD && X86_64
        default y
        help
          Compile the kernel with support for the retbleed=ibpb mitigation.
  
 -config CPU_IBRS_ENTRY
 +config MITIGATION_IBRS_ENTRY
        bool "Enable IBRS on kernel entry"
        depends on CPU_SUP_INTEL && X86_64
        default y
          This mitigates both spectre_v2 and retbleed at great cost to
          performance.
  
 -config CPU_SRSO
 +config MITIGATION_SRSO
        bool "Mitigate speculative RAS overflow on AMD"
 -      depends on CPU_SUP_AMD && X86_64 && RETHUNK
 +      depends on CPU_SUP_AMD && X86_64 && MITIGATION_RETHUNK
        default y
        help
          Enable the SRSO mitigation needed on AMD Zen1-4 machines.
  
 -config SLS
 +config MITIGATION_SLS
        bool "Mitigate Straight-Line-Speculation"
        depends on CC_HAS_SLS && X86_64
        select OBJTOOL if HAVE_OBJTOOL
          against straight line speculation. The kernel image might be slightly
          larger.
  
 -config GDS_FORCE_MITIGATION
 +config MITIGATION_GDS_FORCE
        bool "Force GDS Mitigation"
        depends on CPU_SUP_INTEL
        default n
  
          If in doubt, say N.
  
 +config MITIGATION_RFDS
 +      bool "RFDS Mitigation"
 +      depends on CPU_SUP_INTEL
 +      default y
 +      help
 +        Enable mitigation for Register File Data Sampling (RFDS) by default.
 +        RFDS is a hardware vulnerability which affects Intel Atom CPUs. It
 +        allows unprivileged speculative access to stale data previously
 +        stored in floating point, vector and integer registers.
 +        See also <file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst>
 +
  endif
  
  config ARCH_HAS_ADD_PAGES
index d305716635855e6eef9331bf5357fc4e68cff333,da4d0f6aa5bf9f79accc98a1fce650ff1335a97c..cb7e1114e8ebe2df99d783cd795956384997f0bf
@@@ -7,9 -7,10 +7,10 @@@
  #include "speakup.h"
  #include "spk_priv.h"
  
- static int misc_registered;
+ static int synth_registered, synthu_registered;
  static int dev_opened;
  
+ /* Latin1 version */
  static ssize_t speakup_file_write(struct file *fp, const char __user *buffer,
                                  size_t nbytes, loff_t *ppos)
  {
        return (ssize_t)nbytes;
  }
  
+ /* UTF-8 version */
+ static ssize_t speakup_file_writeu(struct file *fp, const char __user *buffer,
+                                  size_t nbytes, loff_t *ppos)
+ {
+       size_t count = nbytes, want;
+       const char __user *ptr = buffer;
+       size_t bytes;
+       unsigned long flags;
+       unsigned char buf[256];
+       u16 ubuf[256];
+       size_t in, in2, out;
+       if (!synth)
+               return -ENODEV;
+       want = 1;
+       while (count >= want) {
+               /* Copy some UTF-8 piece from userland */
+               bytes = min(count, sizeof(buf));
+               if (copy_from_user(buf, ptr, bytes))
+                       return -EFAULT;
+               /* Convert to u16 */
+               for (in = 0, out = 0; in < bytes; in++) {
+                       unsigned char c = buf[in];
+                       int nbytes = 8 - fls(c ^ 0xff);
+                       u32 value;
+                       switch (nbytes) {
+                       case 8: /* 0xff */
+                       case 7: /* 0xfe */
+                       case 1: /* 0x80 */
+                               /* Invalid, drop */
+                               goto drop;
+                       case 0:
+                               /* ASCII, copy */
+                               ubuf[out++] = c;
+                               continue;
+                       default:
+                               /* 2..6-byte UTF-8 */
+                               if (bytes - in < nbytes) {
+                                       /* We don't have it all yet, stop here
+                                        * and wait for the rest
+                                        */
+                                       bytes = in;
+                                       want = nbytes;
+                                       continue;
+                               }
+                               /* First byte */
+                               value = c & ((1u << (7 - nbytes)) - 1);
+                               /* Other bytes */
+                               for (in2 = 2; in2 <= nbytes; in2++) {
+                                       c = buf[in + 1];
+                                       if ((c & 0xc0) != 0x80) {
+                                               /* Invalid, drop the head */
+                                               want = 1;
+                                               goto drop;
+                                       }
+                                       value = (value << 6) | (c & 0x3f);
+                                       in++;
+                               }
+                               if (value < 0x10000)
+                                       ubuf[out++] = value;
+                               want = 1;
+                               break;
+                       }
+ drop:
++                      /* empty statement */;
+               }
+               count -= bytes;
+               ptr += bytes;
+               /* And speak this up */
+               if (out) {
+                       spin_lock_irqsave(&speakup_info.spinlock, flags);
+                       for (in = 0; in < out; in++)
+                               synth_buffer_add(ubuf[in]);
+                       synth_start();
+                       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
+               }
+       }
+       return (ssize_t)(nbytes - count);
+ }
  static ssize_t speakup_file_read(struct file *fp, char __user *buf,
                                 size_t nbytes, loff_t *ppos)
  {
@@@ -62,31 -154,57 +155,57 @@@ static const struct file_operations syn
        .release = speakup_file_release,
  };
  
+ static const struct file_operations synthu_fops = {
+       .read = speakup_file_read,
+       .write = speakup_file_writeu,
+       .open = speakup_file_open,
+       .release = speakup_file_release,
+ };
  static struct miscdevice synth_device = {
        .minor = MISC_DYNAMIC_MINOR,
        .name = "synth",
        .fops = &synth_fops,
  };
  
+ static struct miscdevice synthu_device = {
+       .minor = MISC_DYNAMIC_MINOR,
+       .name = "synthu",
+       .fops = &synthu_fops,
+ };
  void speakup_register_devsynth(void)
  {
-       if (misc_registered != 0)
-               return;
- /* zero it so if register fails, deregister will not ref invalid ptrs */
-       if (misc_register(&synth_device)) {
-               pr_warn("Couldn't initialize miscdevice /dev/synth.\n");
-       } else {
-               pr_info("initialized device: /dev/synth, node (MAJOR %d, MINOR %d)\n",
-                       MISC_MAJOR, synth_device.minor);
-               misc_registered = 1;
+       if (!synth_registered) {
+               if (misc_register(&synth_device)) {
+                       pr_warn("Couldn't initialize miscdevice /dev/synth.\n");
+               } else {
+                       pr_info("initialized device: /dev/synth, node (MAJOR %d, MINOR %d)\n",
+                               MISC_MAJOR, synth_device.minor);
+                       synth_registered = 1;
+               }
+       }
+       if (!synthu_registered) {
+               if (misc_register(&synthu_device)) {
+                       pr_warn("Couldn't initialize miscdevice /dev/synthu.\n");
+               } else {
+                       pr_info("initialized device: /dev/synthu, node (MAJOR %d, MINOR %d)\n",
+                               MISC_MAJOR, synthu_device.minor);
+                       synthu_registered = 1;
+               }
        }
  }
  
  void speakup_unregister_devsynth(void)
  {
-       if (!misc_registered)
-               return;
-       pr_info("speakup: unregistering synth device /dev/synth\n");
-       misc_deregister(&synth_device);
-       misc_registered = 0;
+       if (synth_registered) {
+               pr_info("speakup: unregistering synth device /dev/synth\n");
+               misc_deregister(&synth_device);
+               synth_registered = 0;
+       }
+       if (synthu_registered) {
+               pr_info("speakup: unregistering synth device /dev/synthu\n");
+               misc_deregister(&synthu_device);
+               synthu_registered = 0;
+       }
  }
index 484fe2e9fb1742b9adbde28d737127a4fe1d6413,834ee6d639478388981ff87254e94626f2cd2c91..210228affb80d317d63f2c98bbd810c40da87f93
@@@ -339,22 -339,17 +339,17 @@@ static int adxl367_set_act_threshold(st
  {
        int ret;
  
-       mutex_lock(&st->lock);
+       guard(mutex)(&st->lock);
  
        ret = adxl367_set_measure_en(st, false);
        if (ret)
-               goto out;
+               return ret;
  
        ret = _adxl367_set_act_threshold(st, act, threshold);
        if (ret)
-               goto out;
-       ret = adxl367_set_measure_en(st, true);
- out:
-       mutex_unlock(&st->lock);
+               return ret;
  
-       return ret;
+       return adxl367_set_measure_en(st, true);
  }
  
  static int adxl367_set_act_proc_mode(struct adxl367_state *st,
@@@ -482,51 -477,45 +477,45 @@@ static int adxl367_set_fifo_watermark(s
  static int adxl367_set_range(struct iio_dev *indio_dev,
                             enum adxl367_range range)
  {
-       struct adxl367_state *st = iio_priv(indio_dev);
-       int ret;
+       iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
+               struct adxl367_state *st = iio_priv(indio_dev);
+               int ret;
  
-       ret = iio_device_claim_direct_mode(indio_dev);
-       if (ret)
-               return ret;
-       mutex_lock(&st->lock);
-       ret = adxl367_set_measure_en(st, false);
-       if (ret)
-               goto out;
-       ret = regmap_update_bits(st->regmap, ADXL367_REG_FILTER_CTL,
-                                ADXL367_FILTER_CTL_RANGE_MASK,
-                                FIELD_PREP(ADXL367_FILTER_CTL_RANGE_MASK,
-                                           range));
-       if (ret)
-               goto out;
+               guard(mutex)(&st->lock);
  
-       adxl367_scale_act_thresholds(st, st->range, range);
+               ret = adxl367_set_measure_en(st, false);
+               if (ret)
+                       return ret;
  
-       /* Activity thresholds depend on range */
-       ret = _adxl367_set_act_threshold(st, ADXL367_ACTIVITY,
-                                        st->act_threshold);
-       if (ret)
-               goto out;
+               ret = regmap_update_bits(st->regmap, ADXL367_REG_FILTER_CTL,
+                                        ADXL367_FILTER_CTL_RANGE_MASK,
+                                        FIELD_PREP(ADXL367_FILTER_CTL_RANGE_MASK,
+                                                   range));
+               if (ret)
+                       return ret;
  
-       ret = _adxl367_set_act_threshold(st, ADXL367_INACTIVITY,
-                                        st->inact_threshold);
-       if (ret)
-               goto out;
+               adxl367_scale_act_thresholds(st, st->range, range);
  
-       ret = adxl367_set_measure_en(st, true);
-       if (ret)
-               goto out;
+               /* Activity thresholds depend on range */
+               ret = _adxl367_set_act_threshold(st, ADXL367_ACTIVITY,
+                                                st->act_threshold);
+               if (ret)
+                       return ret;
  
-       st->range = range;
+               ret = _adxl367_set_act_threshold(st, ADXL367_INACTIVITY,
+                                                st->inact_threshold);
+               if (ret)
+                       return ret;
  
- out:
-       mutex_unlock(&st->lock);
+               ret = adxl367_set_measure_en(st, true);
+               if (ret)
+                       return ret;
  
-       iio_device_release_direct_mode(indio_dev);
+               st->range = range;
  
-       return ret;
+               return 0;
+       }
+       unreachable();
  }
  
  static int adxl367_time_ms_to_samples(struct adxl367_state *st, unsigned int ms)
@@@ -587,11 -576,11 +576,11 @@@ static int adxl367_set_act_time_ms(stru
  {
        int ret;
  
-       mutex_lock(&st->lock);
+       guard(mutex)(&st->lock);
  
        ret = adxl367_set_measure_en(st, false);
        if (ret)
-               goto out;
+               return ret;
  
        if (act == ADXL367_ACTIVITY)
                ret = _adxl367_set_act_time_ms(st, ms);
                ret = _adxl367_set_inact_time_ms(st, ms);
  
        if (ret)
-               goto out;
-       ret = adxl367_set_measure_en(st, true);
- out:
-       mutex_unlock(&st->lock);
+               return ret;
  
-       return ret;
+       return adxl367_set_measure_en(st, true);
  }
  
  static int _adxl367_set_odr(struct adxl367_state *st, enum adxl367_odr odr)
  
  static int adxl367_set_odr(struct iio_dev *indio_dev, enum adxl367_odr odr)
  {
-       struct adxl367_state *st = iio_priv(indio_dev);
-       int ret;
-       ret = iio_device_claim_direct_mode(indio_dev);
-       if (ret)
-               return ret;
+       iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
+               struct adxl367_state *st = iio_priv(indio_dev);;
+               int ret;
  
-       mutex_lock(&st->lock);
-       ret = adxl367_set_measure_en(st, false);
-       if (ret)
-               goto out;
+               guard(mutex)(&st->lock);
  
-       ret = _adxl367_set_odr(st, odr);
-       if (ret)
-               goto out;
-       ret = adxl367_set_measure_en(st, true);
- out:
-       mutex_unlock(&st->lock);
+               ret = adxl367_set_measure_en(st, false);
+               if (ret)
+                       return ret;
  
-       iio_device_release_direct_mode(indio_dev);
+               ret = _adxl367_set_odr(st, odr);
+               if (ret)
+                       return ret;
  
-       return ret;
+               return adxl367_set_measure_en(st, true);
+       }
+       unreachable();
  }
  
  static int adxl367_set_temp_adc_en(struct adxl367_state *st, unsigned int reg,
@@@ -749,36 -725,32 +725,32 @@@ static int adxl367_read_sample(struct i
                               struct iio_chan_spec const *chan,
                               int *val)
  {
-       struct adxl367_state *st = iio_priv(indio_dev);
-       u16 sample;
-       int ret;
-       ret = iio_device_claim_direct_mode(indio_dev);
-       if (ret)
-               return ret;
+       iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
+               struct adxl367_state *st = iio_priv(indio_dev);
+               u16 sample;
+               int ret;
  
-       mutex_lock(&st->lock);
+               guard(mutex)(&st->lock);
  
-       ret = adxl367_set_temp_adc_reg_en(st, chan->address, true);
-       if (ret)
-               goto out;
-       ret = regmap_bulk_read(st->regmap, chan->address, &st->sample_buf,
-                              sizeof(st->sample_buf));
-       if (ret)
-               goto out;
-       sample = FIELD_GET(ADXL367_DATA_MASK, be16_to_cpu(st->sample_buf));
-       *val = sign_extend32(sample, chan->scan_type.realbits - 1);
+               ret = adxl367_set_temp_adc_reg_en(st, chan->address, true);
+               if (ret)
+                       return ret;
  
-       ret = adxl367_set_temp_adc_reg_en(st, chan->address, false);
+               ret = regmap_bulk_read(st->regmap, chan->address, &st->sample_buf,
+                                      sizeof(st->sample_buf));
+               if (ret)
+                       return ret;
  
- out:
-       mutex_unlock(&st->lock);
+               sample = FIELD_GET(ADXL367_DATA_MASK, be16_to_cpu(st->sample_buf));
+               *val = sign_extend32(sample, chan->scan_type.realbits - 1);
  
-       iio_device_release_direct_mode(indio_dev);
+               ret = adxl367_set_temp_adc_reg_en(st, chan->address, false);
+               if (ret)
+                       return ret;
  
-       return ret ?: IIO_VAL_INT;
+               return IIO_VAL_INT;
+       }
+       unreachable();
  }
  
  static int adxl367_get_status(struct adxl367_state *st, u8 *status,
@@@ -886,12 -858,12 +858,12 @@@ static int adxl367_read_raw(struct iio_
                return adxl367_read_sample(indio_dev, chan, val);
        case IIO_CHAN_INFO_SCALE:
                switch (chan->type) {
-               case IIO_ACCEL:
-                       mutex_lock(&st->lock);
+               case IIO_ACCEL: {
+                       guard(mutex)(&st->lock);
                        *val = adxl367_range_scale_tbl[st->range][0];
                        *val2 = adxl367_range_scale_tbl[st->range][1];
-                       mutex_unlock(&st->lock);
                        return IIO_VAL_INT_PLUS_NANO;
+               }
                case IIO_TEMP:
                        *val = 1000;
                        *val2 = ADXL367_TEMP_PER_C;
                default:
                        return -EINVAL;
                }
-       case IIO_CHAN_INFO_SAMP_FREQ:
-               mutex_lock(&st->lock);
+       case IIO_CHAN_INFO_SAMP_FREQ: {
+               guard(mutex)(&st->lock);
                *val = adxl367_samp_freq_tbl[st->odr][0];
                *val2 = adxl367_samp_freq_tbl[st->odr][1];
-               mutex_unlock(&st->lock);
                return IIO_VAL_INT_PLUS_MICRO;
+       }
        default:
                return -EINVAL;
        }
@@@ -1004,18 -976,15 +976,15 @@@ static int adxl367_read_event_value(str
  {
        struct adxl367_state *st = iio_priv(indio_dev);
  
+       guard(mutex)(&st->lock);
        switch (info) {
        case IIO_EV_INFO_VALUE: {
                switch (dir) {
                case IIO_EV_DIR_RISING:
-                       mutex_lock(&st->lock);
                        *val = st->act_threshold;
-                       mutex_unlock(&st->lock);
                        return IIO_VAL_INT;
                case IIO_EV_DIR_FALLING:
-                       mutex_lock(&st->lock);
                        *val = st->inact_threshold;
-                       mutex_unlock(&st->lock);
                        return IIO_VAL_INT;
                default:
                        return -EINVAL;
        case IIO_EV_INFO_PERIOD:
                switch (dir) {
                case IIO_EV_DIR_RISING:
-                       mutex_lock(&st->lock);
                        *val = st->act_time_ms;
-                       mutex_unlock(&st->lock);
                        *val2 = 1000;
                        return IIO_VAL_FRACTIONAL;
                case IIO_EV_DIR_FALLING:
-                       mutex_lock(&st->lock);
                        *val = st->inact_time_ms;
-                       mutex_unlock(&st->lock);
                        *val2 = 1000;
                        return IIO_VAL_FRACTIONAL;
                default:
@@@ -1110,9 -1075,7 +1075,7 @@@ static int adxl367_write_event_config(s
                                      enum iio_event_direction dir,
                                      int state)
  {
-       struct adxl367_state *st = iio_priv(indio_dev);
        enum adxl367_activity_type act;
-       int ret;
  
        switch (dir) {
        case IIO_EV_DIR_RISING:
                return -EINVAL;
        }
  
-       ret = iio_device_claim_direct_mode(indio_dev);
-       if (ret)
-               return ret;
-       mutex_lock(&st->lock);
-       ret = adxl367_set_measure_en(st, false);
-       if (ret)
-               goto out;
-       ret = adxl367_set_act_interrupt_en(st, act, state);
-       if (ret)
-               goto out;
+       iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
+               struct adxl367_state *st = iio_priv(indio_dev);
+               int ret;
  
-       ret = adxl367_set_act_en(st, act, state ? ADCL367_ACT_REF_ENABLED
-                                               : ADXL367_ACT_DISABLED);
-       if (ret)
-               goto out;
+               guard(mutex)(&st->lock);
  
-       ret = adxl367_set_measure_en(st, true);
+               ret = adxl367_set_measure_en(st, false);
+               if (ret)
+                       return ret;
  
- out:
-       mutex_unlock(&st->lock);
+               ret = adxl367_set_act_interrupt_en(st, act, state);
+               if (ret)
+                       return ret;
  
-       iio_device_release_direct_mode(indio_dev);
+               ret = adxl367_set_act_en(st, act, state ? ADCL367_ACT_REF_ENABLED
+                                        : ADXL367_ACT_DISABLED);
+               if (ret)
+                       return ret;
  
-       return ret;
+               return adxl367_set_measure_en(st, true);
+       }
+       unreachable();
  }
  
  static ssize_t adxl367_get_fifo_enabled(struct device *dev,
@@@ -1176,9 -1134,8 +1134,8 @@@ static ssize_t adxl367_get_fifo_waterma
        struct adxl367_state *st = iio_priv(dev_to_iio_dev(dev));
        unsigned int fifo_watermark;
  
-       mutex_lock(&st->lock);
+       guard(mutex)(&st->lock);
        fifo_watermark = st->fifo_watermark;
-       mutex_unlock(&st->lock);
  
        return sysfs_emit(buf, "%d\n", fifo_watermark);
  }
@@@ -1207,22 -1164,17 +1164,17 @@@ static int adxl367_set_watermark(struc
        if (val > ADXL367_FIFO_MAX_WATERMARK)
                return -EINVAL;
  
-       mutex_lock(&st->lock);
+       guard(mutex)(&st->lock);
  
        ret = adxl367_set_measure_en(st, false);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_fifo_watermark(st, val);
        if (ret)
-               goto out;
-       ret = adxl367_set_measure_en(st, true);
- out:
-       mutex_unlock(&st->lock);
+               return ret;
  
-       return ret;
+       return adxl367_set_measure_en(st, true);
  }
  
  static bool adxl367_find_mask_fifo_format(const unsigned long *scan_mask,
@@@ -1253,27 -1205,24 +1205,24 @@@ static int adxl367_update_scan_mode(str
        if (!adxl367_find_mask_fifo_format(active_scan_mask, &fifo_format))
                return -EINVAL;
  
-       mutex_lock(&st->lock);
+       guard(mutex)(&st->lock);
  
        ret = adxl367_set_measure_en(st, false);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_fifo_format(st, fifo_format);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_measure_en(st, true);
        if (ret)
-               goto out;
+               return ret;
  
        st->fifo_set_size = bitmap_weight(active_scan_mask,
                                          indio_dev->masklength);
  
- out:
-       mutex_unlock(&st->lock);
-       return ret;
+       return 0;
  }
  
  static int adxl367_buffer_postenable(struct iio_dev *indio_dev)
        struct adxl367_state *st = iio_priv(indio_dev);
        int ret;
  
-       mutex_lock(&st->lock);
+       guard(mutex)(&st->lock);
  
        ret = adxl367_set_temp_adc_mask_en(st, indio_dev->active_scan_mask,
                                           true);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_measure_en(st, false);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_fifo_watermark_interrupt_en(st, true);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_fifo_mode(st, ADXL367_FIFO_MODE_STREAM);
        if (ret)
-               goto out;
-       ret = adxl367_set_measure_en(st, true);
- out:
-       mutex_unlock(&st->lock);
+               return ret;
  
-       return ret;
+       return adxl367_set_measure_en(st, true);
  }
  
  static int adxl367_buffer_predisable(struct iio_dev *indio_dev)
        struct adxl367_state *st = iio_priv(indio_dev);
        int ret;
  
-       mutex_lock(&st->lock);
+       guard(mutex)(&st->lock);
  
        ret = adxl367_set_measure_en(st, false);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_fifo_mode(st, ADXL367_FIFO_MODE_DISABLED);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_fifo_watermark_interrupt_en(st, false);
        if (ret)
-               goto out;
+               return ret;
  
        ret = adxl367_set_measure_en(st, true);
        if (ret)
-               goto out;
-       ret = adxl367_set_temp_adc_mask_en(st, indio_dev->active_scan_mask,
-                                          false);
- out:
-       mutex_unlock(&st->lock);
+               return ret;
  
-       return ret;
+       return adxl367_set_temp_adc_mask_en(st, indio_dev->active_scan_mask,
+                                           false);
  }
  
  static const struct iio_buffer_setup_ops adxl367_buffer_ops = {
@@@ -1429,11 -1368,9 +1368,11 @@@ static int adxl367_verify_devid(struct 
        unsigned int val;
        int ret;
  
 -      ret = regmap_read_poll_timeout(st->regmap, ADXL367_REG_DEVID, val,
 -                                     val == ADXL367_DEVID_AD, 1000, 10000);
 +      ret = regmap_read(st->regmap, ADXL367_REG_DEVID, &val);
        if (ret)
 +              return dev_err_probe(st->dev, ret, "Failed to read dev id\n");
 +
 +      if (val != ADXL367_DEVID_AD)
                return dev_err_probe(st->dev, -ENODEV,
                                     "Invalid dev id 0x%02X, expected 0x%02X\n",
                                     val, ADXL367_DEVID_AD);
@@@ -1512,8 -1449,6 +1451,8 @@@ int adxl367_probe(struct device *dev, c
        if (ret)
                return ret;
  
 +      fsleep(15000);
 +
        ret = adxl367_verify_devid(st);
        if (ret)
                return ret;
index 55442eddf57ce6ca5e628a320986fbedfea336b3,fbba3f4a118983e90be1c05d6a5088ebeffe125c..a602429cdde4ef7c09cfdd7a4b64ab3f8e10d5ae
@@@ -212,7 -212,7 +212,7 @@@ int ad_sd_calibrate(struct ad_sigma_del
        if (ret)
                return ret;
  
 -      spi_bus_lock(sigma_delta->spi->master);
 +      spi_bus_lock(sigma_delta->spi->controller);
        sigma_delta->bus_locked = true;
        sigma_delta->keep_cs_asserted = true;
        reinit_completion(&sigma_delta->completion);
@@@ -235,7 -235,7 +235,7 @@@ out
        sigma_delta->keep_cs_asserted = false;
        ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_IDLE);
        sigma_delta->bus_locked = false;
 -      spi_bus_unlock(sigma_delta->spi->master);
 +      spi_bus_unlock(sigma_delta->spi->controller);
  
        return ret;
  }
@@@ -287,7 -287,7 +287,7 @@@ int ad_sigma_delta_single_conversion(st
  
        ad_sigma_delta_set_channel(sigma_delta, chan->address);
  
 -      spi_bus_lock(sigma_delta->spi->master);
 +      spi_bus_lock(sigma_delta->spi->controller);
        sigma_delta->bus_locked = true;
        sigma_delta->keep_cs_asserted = true;
        reinit_completion(&sigma_delta->completion);
@@@ -322,7 -322,7 +322,7 @@@ out
        sigma_delta->keep_cs_asserted = false;
        ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_IDLE);
        sigma_delta->bus_locked = false;
 -      spi_bus_unlock(sigma_delta->spi->master);
 +      spi_bus_unlock(sigma_delta->spi->controller);
        iio_device_release_direct_mode(indio_dev);
  
        if (ret)
@@@ -387,7 -387,7 +387,7 @@@ static int ad_sd_buffer_postenable(stru
  
        sigma_delta->samples_buf = samples_buf;
  
 -      spi_bus_lock(sigma_delta->spi->master);
 +      spi_bus_lock(sigma_delta->spi->controller);
        sigma_delta->bus_locked = true;
        sigma_delta->keep_cs_asserted = true;
  
        return 0;
  
  err_unlock:
 -      spi_bus_unlock(sigma_delta->spi->master);
 +      spi_bus_unlock(sigma_delta->spi->controller);
  
        return ret;
  }
@@@ -426,7 -426,7 +426,7 @@@ static int ad_sd_buffer_postdisable(str
  
        ad_sigma_delta_disable_all(sigma_delta);
        sigma_delta->bus_locked = false;
 -      return spi_bus_unlock(sigma_delta->spi->master);
 +      return spi_bus_unlock(sigma_delta->spi->controller);
  }
  
  static irqreturn_t ad_sd_trigger_handler(int irq, void *p)
@@@ -568,6 -568,7 +568,7 @@@ EXPORT_SYMBOL_NS_GPL(ad_sd_validate_tri
  static int devm_ad_sd_probe_trigger(struct device *dev, struct iio_dev *indio_dev)
  {
        struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev);
+       unsigned long irq_flags = irq_get_trigger_type(sigma_delta->spi->irq);
        int ret;
  
        if (dev != &sigma_delta->spi->dev) {
        /* the IRQ core clears IRQ_DISABLE_UNLAZY flag when freeing an IRQ */
        irq_set_status_flags(sigma_delta->spi->irq, IRQ_DISABLE_UNLAZY);
  
+       /* Allow overwriting the flags from firmware */
+       if (!irq_flags)
+               irq_flags = sigma_delta->info->irq_flags;
        ret = devm_request_irq(dev, sigma_delta->spi->irq,
                               ad_sd_data_rdy_trig_poll,
-                              sigma_delta->info->irq_flags | IRQF_NO_AUTOEN,
+                              irq_flags | IRQF_NO_AUTOEN,
                               indio_dev->name,
                               sigma_delta);
        if (ret)
diff --combined drivers/misc/fastrpc.c
index dbd26c3b245bca56adffc8288d5657dd3c61d3b8,0bfff1d42da2163a6e79cd3e1fb9490be6031be8..4c67e2c5a82e1f85f3e6e07e20b22d14b25f3051
@@@ -263,6 -263,7 +263,6 @@@ struct fastrpc_channel_ctx 
        int domain_id;
        int sesscount;
        int vmcount;
 -      u64 perms;
        struct qcom_scm_vmperm vmperms[FASTRPC_MAX_VMIDS];
        struct rpmsg_device *rpdev;
        struct fastrpc_session_ctx session[FASTRPC_MAX_SESSIONS];
@@@ -1278,11 -1279,9 +1278,11 @@@ static int fastrpc_init_create_static_p
  
                /* Map if we have any heap VMIDs associated with this ADSP Static Process. */
                if (fl->cctx->vmcount) {
 +                      u64 src_perms = BIT(QCOM_SCM_VMID_HLOS);
 +
                        err = qcom_scm_assign_mem(fl->cctx->remote_heap->phys,
                                                        (u64)fl->cctx->remote_heap->size,
 -                                                      &fl->cctx->perms,
 +                                                      &src_perms,
                                                        fl->cctx->vmperms, fl->cctx->vmcount);
                        if (err) {
                                dev_err(fl->sctx->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d",
@@@ -1916,10 -1915,8 +1916,10 @@@ static int fastrpc_req_mmap(struct fast
  
        /* Add memory to static PD pool, protection thru hypervisor */
        if (req.flags == ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) {
 +              u64 src_perms = BIT(QCOM_SCM_VMID_HLOS);
 +
                err = qcom_scm_assign_mem(buf->phys, (u64)buf->size,
 -                      &fl->cctx->perms, fl->cctx->vmperms, fl->cctx->vmcount);
 +                      &src_perms, fl->cctx->vmperms, fl->cctx->vmcount);
                if (err) {
                        dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d",
                                        buf->phys, buf->size, err);
@@@ -2186,7 -2183,7 +2186,7 @@@ static int fastrpc_cb_probe(struct plat
        return 0;
  }
  
- static int fastrpc_cb_remove(struct platform_device *pdev)
+ static void fastrpc_cb_remove(struct platform_device *pdev)
  {
        struct fastrpc_channel_ctx *cctx = dev_get_drvdata(pdev->dev.parent);
        struct fastrpc_session_ctx *sess = dev_get_drvdata(&pdev->dev);
                }
        }
        spin_unlock_irqrestore(&cctx->lock, flags);
-       return 0;
  }
  
  static const struct of_device_id fastrpc_match_table[] = {
  
  static struct platform_driver fastrpc_cb_driver = {
        .probe = fastrpc_cb_probe,
-       .remove = fastrpc_cb_remove,
+       .remove_new = fastrpc_cb_remove,
        .driver = {
                .name = "qcom,fastrpc-cb",
                .of_match_table = fastrpc_match_table,
@@@ -2293,6 -2288,7 +2291,6 @@@ static int fastrpc_rpmsg_probe(struct r
  
        if (vmcount) {
                data->vmcount = vmcount;
 -              data->perms = BIT(QCOM_SCM_VMID_HLOS);
                for (i = 0; i < data->vmcount; i++) {
                        data->vmperms[i].vmid = vmids[i];
                        data->vmperms[i].perm = QCOM_SCM_PERM_RWX;
index 8cf636c5403225f7588a2428318cec1ff7fd2700,1f0d983d3f06e5385b30592beaedb6809b8f9e42..b5757993c9b2af992c54468a75e630c080bcad61
@@@ -119,8 -119,6 +119,8 @@@ static const struct pci_device_id mei_m
        {MEI_PCI_DEVICE(MEI_DEV_ID_RPL_S, MEI_ME_PCH15_CFG)},
  
        {MEI_PCI_DEVICE(MEI_DEV_ID_MTL_M, MEI_ME_PCH15_CFG)},
 +      {MEI_PCI_DEVICE(MEI_DEV_ID_ARL_S, MEI_ME_PCH15_CFG)},
 +      {MEI_PCI_DEVICE(MEI_DEV_ID_ARL_H, MEI_ME_PCH15_CFG)},
  
        /* required last entry */
        {0, }
@@@ -297,11 -295,7 +297,7 @@@ end
   */
  static void mei_me_shutdown(struct pci_dev *pdev)
  {
-       struct mei_device *dev;
-       dev = pci_get_drvdata(pdev);
-       if (!dev)
-               return;
+       struct mei_device *dev = pci_get_drvdata(pdev);
  
        dev_dbg(&pdev->dev, "shutdown\n");
        mei_stop(dev);
   */
  static void mei_me_remove(struct pci_dev *pdev)
  {
-       struct mei_device *dev;
-       dev = pci_get_drvdata(pdev);
-       if (!dev)
-               return;
+       struct mei_device *dev = pci_get_drvdata(pdev);
  
        if (mei_pg_is_enabled(dev))
                pm_runtime_get_noresume(&pdev->dev);
@@@ -355,9 -345,6 +347,6 @@@ static int mei_me_pci_suspend(struct de
        struct pci_dev *pdev = to_pci_dev(device);
        struct mei_device *dev = pci_get_drvdata(pdev);
  
-       if (!dev)
-               return -ENODEV;
        dev_dbg(&pdev->dev, "suspend\n");
  
        mei_stop(dev);
  static int mei_me_pci_resume(struct device *device)
  {
        struct pci_dev *pdev = to_pci_dev(device);
-       struct mei_device *dev;
+       struct mei_device *dev = pci_get_drvdata(pdev);
        unsigned int irqflags;
        int err;
  
-       dev = pci_get_drvdata(pdev);
-       if (!dev)
-               return -ENODEV;
        pci_enable_msi(pdev);
  
        irqflags = pci_dev_msi_enabled(pdev) ? IRQF_ONESHOT : IRQF_SHARED;
@@@ -421,13 -404,10 +406,10 @@@ static void mei_me_pci_complete(struct 
  #ifdef CONFIG_PM
  static int mei_me_pm_runtime_idle(struct device *device)
  {
-       struct mei_device *dev;
+       struct mei_device *dev = dev_get_drvdata(device);
  
        dev_dbg(device, "rpm: me: runtime_idle\n");
  
-       dev = dev_get_drvdata(device);
-       if (!dev)
-               return -ENODEV;
        if (mei_write_is_idle(dev))
                pm_runtime_autosuspend(device);
  
  
  static int mei_me_pm_runtime_suspend(struct device *device)
  {
-       struct mei_device *dev;
+       struct mei_device *dev = dev_get_drvdata(device);
        int ret;
  
        dev_dbg(device, "rpm: me: runtime suspend\n");
  
-       dev = dev_get_drvdata(device);
-       if (!dev)
-               return -ENODEV;
        mutex_lock(&dev->device_lock);
  
        if (mei_write_is_idle(dev))
  
  static int mei_me_pm_runtime_resume(struct device *device)
  {
-       struct mei_device *dev;
+       struct mei_device *dev = dev_get_drvdata(device);
        int ret;
  
        dev_dbg(device, "rpm: me: runtime resume\n");
  
-       dev = dev_get_drvdata(device);
-       if (!dev)
-               return -ENODEV;
        mutex_lock(&dev->device_lock);
  
        ret = mei_me_pg_exit_sync(dev);
index 55f7db490d3bbbabd08b7bd2ba6ff078abb93ad6,9b4584d67a1bf9cebe2be289db52afa5cb83f820..ecfb70cd057ca01eb33e544ef242ab1aee2cd25a
@@@ -25,7 -25,8 +25,8 @@@
  #define VSC_TP_ROM_BOOTUP_DELAY_MS            10
  #define VSC_TP_ROM_XFER_POLL_TIMEOUT_US               (500 * USEC_PER_MSEC)
  #define VSC_TP_ROM_XFER_POLL_DELAY_US         (20 * USEC_PER_MSEC)
- #define VSC_TP_WAIT_FW_ASSERTED_TIMEOUT               (2 * HZ)
+ #define VSC_TP_WAIT_FW_POLL_TIMEOUT           (2 * HZ)
+ #define VSC_TP_WAIT_FW_POLL_DELAY_US          (20 * USEC_PER_MSEC)
  #define VSC_TP_MAX_XFER_COUNT                 5
  
  #define VSC_TP_PACKET_SYNC                    0x31
@@@ -101,13 -102,15 +102,15 @@@ static int vsc_tp_wakeup_request(struc
        gpiod_set_value_cansleep(tp->wakeupfw, 0);
  
        ret = wait_event_timeout(tp->xfer_wait,
-                                atomic_read(&tp->assert_cnt) &&
-                                gpiod_get_value_cansleep(tp->wakeuphost),
-                                VSC_TP_WAIT_FW_ASSERTED_TIMEOUT);
+                                atomic_read(&tp->assert_cnt),
+                                VSC_TP_WAIT_FW_POLL_TIMEOUT);
        if (!ret)
                return -ETIMEDOUT;
  
-       return 0;
+       return read_poll_timeout(gpiod_get_value_cansleep, ret, ret,
+                                VSC_TP_WAIT_FW_POLL_DELAY_US,
+                                VSC_TP_WAIT_FW_POLL_TIMEOUT, false,
+                                tp->wakeuphost);
  }
  
  static void vsc_tp_wakeup_release(struct vsc_tp *tp)
@@@ -416,8 -419,6 +419,6 @@@ static irqreturn_t vsc_tp_isr(int irq, 
  
        atomic_inc(&tp->assert_cnt);
  
-       wake_up(&tp->xfer_wait);
        return IRQ_WAKE_THREAD;
  }
  
@@@ -425,6 -426,8 +426,8 @@@ static irqreturn_t vsc_tp_thread_isr(in
  {
        struct vsc_tp *tp = data;
  
+       wake_up(&tp->xfer_wait);
        if (tp->event_notify)
                tp->event_notify(tp->event_notify_context);
  
@@@ -442,11 -445,16 +445,16 @@@ static int vsc_tp_match_any(struct acpi
  
  static int vsc_tp_probe(struct spi_device *spi)
  {
-       struct platform_device_info pinfo = { 0 };
+       struct vsc_tp *tp;
+       struct platform_device_info pinfo = {
+               .name = "intel_vsc",
+               .data = &tp,
+               .size_data = sizeof(tp),
+               .id = PLATFORM_DEVID_NONE,
+       };
        struct device *dev = &spi->dev;
        struct platform_device *pdev;
        struct acpi_device *adev;
-       struct vsc_tp *tp;
        int ret;
  
        tp = devm_kzalloc(dev, sizeof(*tp), GFP_KERNEL);
                ret = -ENODEV;
                goto err_destroy_lock;
        }
-       pinfo.fwnode = acpi_fwnode_handle(adev);
-       pinfo.name = "intel_vsc";
-       pinfo.data = &tp;
-       pinfo.size_data = sizeof(tp);
-       pinfo.id = PLATFORM_DEVID_NONE;
  
+       pinfo.fwnode = acpi_fwnode_handle(adev);
        pdev = platform_device_register_full(&pinfo);
        if (IS_ERR(pdev)) {
                ret = PTR_ERR(pdev);
@@@ -535,7 -538,6 +538,7 @@@ static const struct acpi_device_id vsc_
        { "INTC1009" }, /* Raptor Lake */
        { "INTC1058" }, /* Tiger Lake */
        { "INTC1094" }, /* Alder Lake */
 +      { "INTC10D0" }, /* Meteor Lake */
        {}
  };
  MODULE_DEVICE_TABLE(acpi, vsc_tp_acpi_ids);
diff --combined drivers/of/property.c
index c907478ef89e67157763d26ea5cddbabfb02ec16,606656fb3def7bd578a81a583c05a92b80b3b50a..f61de622f870b70d4bf1525a813245b5a16f7c98
@@@ -665,7 -665,7 +665,7 @@@ struct device_node *of_graph_get_next_e
                of_node_put(node);
  
                if (!port) {
 -                      pr_err("graph: no port node found in %pOF\n", parent);
 +                      pr_debug("graph: no port node found in %pOF\n", parent);
                        return NULL;
                }
        } else {
@@@ -814,16 -814,10 +814,16 @@@ struct device_node *of_graph_get_remote
  }
  EXPORT_SYMBOL(of_graph_get_remote_port);
  
 -int of_graph_get_endpoint_count(const struct device_node *np)
 +/**
 + * of_graph_get_endpoint_count() - get the number of endpoints in a device node
 + * @np: parent device node containing ports and endpoints
 + *
 + * Return: count of endpoint of this device node
 + */
 +unsigned int of_graph_get_endpoint_count(const struct device_node *np)
  {
        struct device_node *endpoint;
 -      int num = 0;
 +      unsigned int num = 0;
  
        for_each_endpoint_of_node(np, endpoint)
                num++;
@@@ -1223,6 -1217,7 +1223,7 @@@ DEFINE_SIMPLE_PROP(interconnects, "inte
  DEFINE_SIMPLE_PROP(iommus, "iommus", "#iommu-cells")
  DEFINE_SIMPLE_PROP(mboxes, "mboxes", "#mbox-cells")
  DEFINE_SIMPLE_PROP(io_channels, "io-channels", "#io-channel-cells")
+ DEFINE_SIMPLE_PROP(io_backends, "io-backends", "#io-backend-cells")
  DEFINE_SIMPLE_PROP(interrupt_parent, "interrupt-parent", NULL)
  DEFINE_SIMPLE_PROP(dmas, "dmas", "#dma-cells")
  DEFINE_SIMPLE_PROP(power_domains, "power-domains", "#power-domain-cells")
@@@ -1310,7 -1305,7 +1311,7 @@@ static struct device_node *parse_remote
                                                 int index)
  {
        /* Return NULL for index > 0 to signify end of remote-endpoints. */
 -      if (!index || strcmp(prop_name, "remote-endpoint"))
 +      if (index > 0 || strcmp(prop_name, "remote-endpoint"))
                return NULL;
  
        return of_graph_get_remote_port_parent(np);
@@@ -1323,6 -1318,7 +1324,7 @@@ static const struct supplier_bindings o
        { .parse_prop = parse_iommu_maps, .optional = true, },
        { .parse_prop = parse_mboxes, },
        { .parse_prop = parse_io_channels, },
+       { .parse_prop = parse_io_backends, },
        { .parse_prop = parse_interrupt_parent, },
        { .parse_prop = parse_dmas, .optional = true, },
        { .parse_prop = parse_power_domains, },
This page took 0.260178 seconds and 4 git commands to generate.