]> Git Repo - J-linux.git/commitdiff
Merge tag 'soc-ep93xx-dt-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
authorLinus Torvalds <[email protected]>
Thu, 26 Sep 2024 19:00:25 +0000 (12:00 -0700)
committerLinus Torvalds <[email protected]>
Thu, 26 Sep 2024 19:00:25 +0000 (12:00 -0700)
Pull SoC update from Arnd Bergmann:
 "Convert ep93xx to devicetree

  This concludes a long journey towards replacing the old board files
  with devictree description on the Cirrus Logic EP93xx platform.

  Nikita Shubin has been working on this for a long time, for details
  see the last post on

    https://lore.kernel.org/lkml/20240909-ep93xx-v12-0-e86ab2423d4b@maquefel.me/"

* tag 'soc-ep93xx-dt-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (47 commits)
  dt-bindings: gpio: ep9301: Add missing "#interrupt-cells" to examples
  MAINTAINERS: Update EP93XX ARM ARCHITECTURE maintainer
  soc: ep93xx: drop reference to removed EP93XX_SOC_COMMON config
  net: cirrus: use u8 for addr to calm down sparse
  dmaengine: cirrus: use snprintf() to calm down gcc 13.3.0
  dmaengine: ep93xx: Fix a NULL vs IS_ERR() check in probe()
  pinctrl: ep93xx: Fix raster pins typo
  spi: ep93xx: update kerneldoc comments for ep93xx_spi
  clk: ep93xx: Fix off by one in ep93xx_div_recalc_rate()
  clk: ep93xx: add module license
  dmaengine: cirrus: remove platform code
  ASoC: cirrus: edb93xx: Delete driver
  ARM: ep93xx: soc: drop defines
  ARM: ep93xx: delete all boardfiles
  ata: pata_ep93xx: remove legacy pinctrl use
  pwm: ep93xx: drop legacy pinctrl
  ARM: ep93xx: DT for the Cirrus ep93xx SoC platforms
  ARM: dts: ep93xx: Add EDB9302 DT
  ARM: dts: ep93xx: add ts7250 board
  ARM: dts: add Cirrus EP93XX SoC .dtsi
  ...

1  2 
MAINTAINERS
drivers/ata/pata_ep93xx.c
drivers/clk/Kconfig
drivers/clk/Makefile
drivers/dma/ep93xx_dma.c
drivers/pinctrl/Kconfig
drivers/pinctrl/Makefile
drivers/soc/Makefile
sound/soc/cirrus/ep93xx-i2s.c

diff --combined MAINTAINERS
index e71d066dc919404231446f8adfb291494e392883,61a0e0abaa2f44e43d7d55a66258977f50af0f29..00716c1faff6c19fc08924c2f4a46a76f37c7c50
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    drivers/acpi/arm64
 +F:    include/linux/acpi_iort.h
  
  ACPI FOR RISC-V (ACPI/riscv)
  M:    Sunil V L <[email protected]>
@@@ -449,7 -448,6 +449,7 @@@ S: Supporte
  W:    https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad738x
  W:    https://ez.analog.com/linux-software-drivers
  F:    Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml
 +F:    Documentation/iio/ad7380.rst
  F:    drivers/iio/adc/ad7380.c
  
  AD7877 TOUCHSCREEN DRIVER
@@@ -539,17 -537,6 +539,17 @@@ F:       drivers/leds/leds-adp5520.
  F:    drivers/mfd/adp5520.c
  F:    drivers/video/backlight/adp5520_bl.c
  
 +ADP5585 GPIO EXPANDER, PWM AND KEYPAD CONTROLLER DRIVER
 +M:    Laurent Pinchart <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/*/adi,adp5585*.yaml
 +F:    drivers/gpio/gpio-adp5585.c
 +F:    drivers/mfd/adp5585.c
 +F:    drivers/pwm/pwm-adp5585.c
 +F:    include/linux/mfd/adp5585.h
 +
  ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)
  M:    Michael Hennerich <[email protected]>
  S:    Supported
@@@ -632,17 -619,6 +632,17 @@@ F:       drivers/iio/accel/adxl372.
  F:    drivers/iio/accel/adxl372_i2c.c
  F:    drivers/iio/accel/adxl372_spi.c
  
 +ADXL380 THREE-AXIS DIGITAL ACCELEROMETER DRIVER
 +M:    Ramona Gradinariu <[email protected]>
 +M:    Antoniu Miclaus <[email protected]>
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml
 +F:    drivers/iio/accel/adxl380.c
 +F:    drivers/iio/accel/adxl380.h
 +F:    drivers/iio/accel/adxl380_i2c.c
 +F:    drivers/iio/accel/adxl380_spi.c
 +
  AF8133J THREE-AXIS MAGNETOMETER DRIVER
  M:    Ondřej Jirman <[email protected]>
  S:    Maintained
@@@ -1037,13 -1013,6 +1037,13 @@@ S:    Supporte
  T:    git https://gitlab.freedesktop.org/agd5f/linux.git
  F:    drivers/gpu/drm/amd/display/
  
 +AMD DISPLAY CORE - DML
 +M:    Chaitanya Dhere <[email protected]>
 +M:    Jun Lei <[email protected]>
 +S:    Supported
 +F:    drivers/gpu/drm/amd/display/dc/dml/
 +F:    drivers/gpu/drm/amd/display/dc/dml2/
 +
  AMD FAM15H PROCESSOR POWER MONITORING DRIVER
  M:    Huang Rui <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/dma/ptdma/
  
 +AMD QDMA DRIVER
 +M:    Nishad Saraf <[email protected]>
 +M:    Lizhi Hou <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/dma/amd/qdma/
 +F:    include/linux/platform_data/amd_qdma.h
 +
  AMD SEATTLE DEVICE TREE SUPPORT
  M:    Suravee Suthikulpanit <[email protected]>
  M:    Tom Lendacky <[email protected]>
@@@ -1192,13 -1153,6 +1192,13 @@@ S:    Supporte
  F:    arch/arm64/boot/dts/amd/amd-seattle-xgbe*.dtsi
  F:    drivers/net/ethernet/amd/xgbe/
  
 +AMLOGIC BLUETOOTH DRIVER
 +M:    Yang Li <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/bluetooth/amlogic,w155s2-bt.yaml
 +F:    drivers/bluetooth/hci_aml.c
 +
  AMLOGIC DDR PMU DRIVER
  M:    Jiucheng Xu <[email protected]>
  L:    [email protected]
@@@ -1248,15 -1202,6 +1248,15 @@@ W:    https://ez.analog.com/linux-software
  F:    Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
  F:    drivers/iio/dac/ad3552r.c
  
 +ANALOG DEVICES INC AD4000 DRIVER
 +M:    Marcelo Schmitt <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad4000.yaml
 +F:    Documentation/iio/ad4000.rst
 +F:    drivers/iio/adc/ad4000.c
 +
  ANALOG DEVICES INC AD4130 DRIVER
  M:    Cosmin Tanislav <[email protected]>
  L:    [email protected]
@@@ -1266,18 -1211,6 +1266,18 @@@ F:    Documentation/ABI/testing/sysfs-bus-
  F:    Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
  F:    drivers/iio/adc/ad4130.c
  
 +ANALOG DEVICES INC AD4695 DRIVER
 +M:    Michael Hennerich <[email protected]>
 +M:    Nuno Sá <[email protected]>
 +R:    David Lechner <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad4695.yaml
 +F:    Documentation/iio/ad4695.rst
 +F:    drivers/iio/adc/ad4695.c
 +F:    include/dt-bindings/iio/adi,ad4695.h
 +
  ANALOG DEVICES INC AD7091R DRIVER
  M:    Marcelo Schmitt <[email protected]>
  L:    [email protected]
@@@ -1344,16 -1277,6 +1344,16 @@@ W:    https://ez.analog.com/linux-software
  F:    Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
  F:    drivers/iio/adc/ad7780.c
  
 +ANALOG DEVICES INC AD9467 DRIVER
 +M:    Michael Hennerich <[email protected]>
 +M:    Nuno Sa <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/ABI/testing/debugfs-iio-ad9467
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad9467.yaml
 +F:    drivers/iio/adc/ad9467.c
 +
  ANALOG DEVICES INC AD9739a DRIVER
  M:    Nuno Sa <[email protected]>
  M:    Dragos Bogdan <[email protected]>
@@@ -1686,14 -1609,6 +1686,14 @@@ F:    Documentation/admin-guide/perf/xgene
  F:    Documentation/devicetree/bindings/perf/apm-xgene-pmu.txt
  F:    drivers/perf/xgene_pmu.c
  
 +APPLIED MICRO QT2025 PHY DRIVER
 +M:    FUJITA Tomonori <[email protected]>
 +R:    Trevor Gross <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/phy/qt2025.rs
 +
  APTINA CAMERA SENSOR PLL
  M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
@@@ -1822,17 -1737,6 +1822,17 @@@ F:    drivers/mtd/maps/physmap-versatile.
  F:    drivers/power/reset/arm-versatile-reboot.c
  F:    drivers/soc/versatile/
  
 +ARM INTERCONNECT PMU DRIVERS
 +M:    Robin Murphy <[email protected]>
 +S:    Supported
 +F:    Documentation/admin-guide/perf/arm-cmn.rst
 +F:    Documentation/admin-guide/perf/arm-ni.rst
 +F:    Documentation/devicetree/bindings/perf/arm,cmn.yaml
 +F:    Documentation/devicetree/bindings/perf/arm,ni.yaml
 +F:    drivers/perf/arm-cmn.c
 +F:    drivers/perf/arm-ni.c
 +F:    tools/perf/pmu-events/arch/arm64/arm/cmn/
 +
  ARM KOMEDA DRM-KMS DRIVER
  M:    Liviu Dudau <[email protected]>
  S:    Supported
@@@ -1850,7 -1754,6 +1850,7 @@@ L:      [email protected]
  S:    Supported
  T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/gpu/panfrost.rst
 +F:    drivers/gpu/drm/ci/xfails/panfrost*
  F:    drivers/gpu/drm/panfrost/
  F:    include/uapi/drm/panfrost_drm.h
  
@@@ -1977,10 -1880,6 +1977,10 @@@ F:    Documentation/devicetree/bindings/io
  F:    drivers/iommu/arm/
  F:    drivers/iommu/io-pgtable-arm*
  
 +ARM SMMU SVA SUPPORT
 +R:    Jean-Philippe Brucker <[email protected]>
 +F:    drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
 +
  ARM SUB-ARCHITECTURES
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
@@@ -2272,6 -2171,7 +2272,7 @@@ N:      clps711
  ARM/CIRRUS LOGIC EP93XX ARM ARCHITECTURE
  M:    Hartley Sweeten <[email protected]>
  M:    Alexander Sverdlin <[email protected]>
+ M:    Nikita Shubin <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml
@@@ -2529,28 -2429,18 +2530,28 @@@ N:   lpc18x
  
  ARM/LPC32XX SOC SUPPORT
  M:    Vladimir Zapolskiy <[email protected]>
 +M:    Piotr Wojtaszczyk <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://github.com/vzapolskiy/linux-lpc32xx.git
  F:    Documentation/devicetree/bindings/i2c/nxp,pnx-i2c.yaml
  F:    arch/arm/boot/dts/nxp/lpc/lpc32*
  F:    arch/arm/mach-lpc32xx/
 +F:    drivers/dma/lpc32xx-dmamux.c
  F:    drivers/i2c/busses/i2c-pnx.c
  F:    drivers/net/ethernet/nxp/lpc_eth.c
  F:    drivers/usb/host/ohci-nxp.c
  F:    drivers/watchdog/pnx4008_wdt.c
  N:    lpc32xx
  
 +LPC32XX DMAMUX SUPPORT
 +M:    J.M.B. Downing <[email protected]>
 +M:    Piotr Wojtaszczyk <[email protected]>
 +R:    Vladimir Zapolskiy <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/dma/nxp,lpc3220-dmamux.yaml
 +
  ARM/Marvell Dove/MV78xx0/Orion SOC support
  M:    Andrew Lunn <[email protected]>
  M:    Sebastian Hesselbarth <[email protected]>
@@@ -2646,7 -2536,8 +2647,7 @@@ L:      [email protected]
  S:    Supported
  W:    http://www.linux4sam.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git
 -F:    arch/arm/boot/dts/microchip/at91*
 -F:    arch/arm/boot/dts/microchip/sama*
 +F:    arch/arm/boot/dts/microchip/
  F:    arch/arm/include/debug/at91.S
  F:    arch/arm/mach-at91/
  F:    drivers/memory/atmel*
@@@ -2838,7 -2729,7 +2839,7 @@@ F:      drivers/iommu/msm
  F:    drivers/mfd/ssbi.c
  F:    drivers/mmc/host/mmci_qcom*
  F:    drivers/mmc/host/sdhci-msm.c
 -F:    drivers/pci/controller/dwc/pcie-qcom.c
 +F:    drivers/pci/controller/dwc/pcie-qcom*
  F:    drivers/phy/qualcomm/
  F:    drivers/power/*/msm*
  F:    drivers/reset/reset-qcom-*
@@@ -2855,7 -2746,7 +2856,7 @@@ F:      include/linux/soc/qcom
  
  ARM/QUALCOMM SUPPORT
  M:    Bjorn Andersson <[email protected]>
 -M:    Konrad Dybcio <konrad.dybcio@linaro.org>
 +M:    Konrad Dybcio <konradybcio@kernel.org>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
@@@ -3614,9 -3505,7 +3615,9 @@@ S:      Maintaine
  W:    http://linux-atm.sourceforge.net
  F:    drivers/atm/
  F:    include/linux/atm*
 +F:    include/linux/sonet.h
  F:    include/uapi/linux/atm*
 +F:    include/uapi/linux/sonet.h
  
  ATMEL MACB ETHERNET DRIVER
  M:    Nicolas Ferre <[email protected]>
@@@ -3893,9 -3782,10 +3894,9 @@@ F:     Documentation/filesystems/befs.rs
  F:    fs/befs/
  
  BFQ I/O SCHEDULER
 -M:    Paolo Valente <[email protected]>
 -M:    Jens Axboe <[email protected]>
 +M:    Yu Kuai <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Odd Fixes
  F:    Documentation/block/bfq-iosched.rst
  F:    block/bfq-*
  
@@@ -3974,7 -3864,7 +3975,7 @@@ F:      kernel/trace/blktrace.
  F:    lib/sbitmap.c
  
  BLOCK LAYER DEVICE DRIVER API [RUST]
 -M:    Andreas Hindborg <a.hindborg@samsung.com>
 +M:    Andreas Hindborg <a.hindborg@kernel.org>
  R:    Boqun Feng <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -4042,7 -3932,7 +4043,7 @@@ F:      Documentation/devicetree/bindings/ii
  F:    drivers/iio/imu/bmi323/
  
  BPF JIT for ARC
 -M:    Shahab Vahedi <[email protected]>
 +M:    Shahab Vahedi <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    arch/arc/net/
@@@ -4209,7 -4099,6 +4210,7 @@@ F:      include/uapi/linux/btf
  F:    include/uapi/linux/filter.h
  F:    kernel/bpf/
  F:    kernel/trace/bpf_trace.c
 +F:    lib/buildid.c
  F:    lib/test_bpf.c
  F:    net/bpf/
  F:    net/core/filter.c
@@@ -4330,7 -4219,6 +4331,7 @@@ L:      [email protected]
  S:    Maintained
  F:    kernel/bpf/stackmap.c
  F:    kernel/trace/bpf_trace.c
 +F:    lib/buildid.c
  
  BROADCOM ASP 2.0 ETHERNET DRIVER
  M:    Justin Chen <[email protected]>
@@@ -5209,8 -5097,10 +5210,8 @@@ F:     Documentation/devicetree/bindings/me
  F:    drivers/media/cec/platform/cec-gpio/
  
  CELL BROADBAND ENGINE ARCHITECTURE
 -M:    Arnd Bergmann <[email protected]>
  L:    [email protected]
 -S:    Supported
 -W:    http://www.ibm.com/developerworks/power/cell/
 +S:    Orphan
  F:    arch/powerpc/include/asm/cell*.h
  F:    arch/powerpc/include/asm/spu*.h
  F:    arch/powerpc/include/uapi/asm/spu*.h
@@@ -5251,7 -5141,6 +5252,7 @@@ S:      Maintaine
  F:    Documentation/admin-guide/module-signing.rst
  F:    certs/
  F:    scripts/sign-file.c
 +F:    scripts/ssl-common.h
  F:    tools/certs/
  
  CFAG12864B LCD DRIVER
@@@ -5810,12 -5699,9 +5811,12 @@@ S:    Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
  F:    Documentation/admin-guide/cgroup-v1/cpusets.rst
  F:    include/linux/cpuset.h
 +F:    kernel/cgroup/cpuset-internal.h
 +F:    kernel/cgroup/cpuset-v1.c
  F:    kernel/cgroup/cpuset.c
  F:    tools/testing/selftests/cgroup/test_cpuset.c
  F:    tools/testing/selftests/cgroup/test_cpuset_prs.sh
 +F:    tools/testing/selftests/cgroup/test_cpuset_v1_base.sh
  
  CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
  M:    Johannes Weiner <[email protected]>
@@@ -5934,9 -5820,6 +5935,9 @@@ CPU POWER MONITORING SUBSYSTE
  M:    Thomas Renninger <[email protected]>
  M:    Shuah Khan <[email protected]>
  M:    Shuah Khan <[email protected]>
 +M:    John B. Wyatt IV <[email protected]>
 +M:    John B. Wyatt IV <[email protected]>
 +M:    John Kacur <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    tools/power/cpupower/
@@@ -6069,7 -5952,6 +6070,7 @@@ F:      Documentation/process/cve.rs
  CW1200 WLAN driver
  S:    Orphan
  F:    drivers/net/wireless/st/cw1200/
 +F:    include/linux/platform_data/net-cw1200.h
  
  CX18 VIDEO4LINUX DRIVER
  M:    Andy Walls <[email protected]>
@@@ -6593,12 -6475,6 +6594,12 @@@ F:    include/net/devlink.
  F:    include/uapi/linux/devlink.h
  F:    net/devlink/
  
 +DFROBOT SD2405AL RTC DRIVER
 +M:    Tóth János <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/rtc/rtc-sd2405al.c
 +
  DH ELECTRONICS IMX6 DHCOM/DHCOR BOARD SUPPORT
  M:    Christoph Niedermaier <[email protected]>
  L:    [email protected]
@@@ -6625,7 -6501,6 +6626,7 @@@ F:      Documentation/devicetree/bindings/re
  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/sound/dlg,da7213.yaml
  F:    Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
  F:    Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
  F:    Documentation/hwmon/da90??.rst
@@@ -6786,7 -6661,6 +6787,7 @@@ F:      drivers/dma-buf/dma-heap.
  F:    drivers/dma-buf/heaps/*
  F:    include/linux/dma-heap.h
  F:    include/uapi/linux/dma-heap.h
 +F:    tools/testing/selftests/dmabuf-heaps/
  
  DMC FREQUENCY DRIVER FOR SAMSUNG EXYNOS5422
  M:    Lukasz Luba <[email protected]>
@@@ -6838,7 -6712,6 +6839,7 @@@ DOCUMENTATION PROCES
  M:    Jonathan Corbet <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/dev-tools/
  F:    Documentation/maintainer/
  F:    Documentation/process/
  
@@@ -6846,7 -6719,6 +6847,7 @@@ DOCUMENTATION REPORTING ISSUE
  M:    Thorsten Leemhuis <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/admin-guide/bug-bisect.rst
  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
@@@ -7235,7 -7107,7 +7236,7 @@@ F:      drivers/gpu/drm/tiny/panel-mipi-dbi.
  DRM DRIVER for Qualcomm Adreno GPUs
  M:    Rob Clark <[email protected]>
  R:    Sean Paul <[email protected]>
 -R:    Konrad Dybcio <konrad.dybcio@linaro.org>
 +R:    Konrad Dybcio <konradybcio@kernel.org>
  L:    [email protected]
  L:    [email protected]
  L:    [email protected]
@@@ -7461,10 -7333,10 +7462,10 @@@ F:   drivers/gpu/drm/udl
  
  DRM DRIVER FOR VIRTUAL KERNEL MODESETTING (VKMS)
  M:    Rodrigo Siqueira <[email protected]>
 -M:    Melissa Wen <[email protected]>
  M:    Maíra Canal <[email protected]>
  R:    Haneen Mohammed <[email protected]>
 -R:    Daniel Vetter <[email protected]>
 +R:    Simona Vetter <[email protected]>
 +R:    Melissa Wen <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
@@@ -7497,7 -7369,7 +7498,7 @@@ F:      drivers/gpu/drm/panel/panel-widechip
  
  DRM DRIVERS
  M:    David Airlie <[email protected]>
 -M:    Daniel Vetter <daniel@ffwll.ch>
 +M:    Simona Vetter <simona@ffwll.ch>
  L:    [email protected]
  S:    Maintained
  B:    https://gitlab.freedesktop.org/drm
@@@ -7581,8 -7453,8 +7582,8 @@@ S:      Maintaine
  T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    Documentation/devicetree/bindings/display/bridge/
  F:    drivers/gpu/drm/bridge/
 +F:    drivers/gpu/drm/display/drm_bridge_connector.c
  F:    drivers/gpu/drm/drm_bridge.c
 -F:    drivers/gpu/drm/drm_bridge_connector.c
  F:    include/drm/drm_bridge.h
  F:    include/drm/drm_bridge_connector.h
  
@@@ -7593,6 -7465,7 +7594,6 @@@ M:      Kyungmin Park <kyungmin.park@samsung
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
 -F:    Documentation/devicetree/bindings/display/exynos/
  F:    Documentation/devicetree/bindings/display/samsung/
  F:    drivers/gpu/drm/exynos/
  F:    include/uapi/drm/exynos_drm.h
@@@ -8467,7 -8340,6 +8468,7 @@@ F:      include/linux/mii.
  F:    include/linux/of_net.h
  F:    include/linux/phy.h
  F:    include/linux/phy_fixed.h
 +F:    include/linux/phy_link_topology.h
  F:    include/linux/phylib_stubs.h
  F:    include/linux/platform_data/mdio-bcm-unimac.h
  F:    include/linux/platform_data/mdio-gpio.h
@@@ -8483,7 -8355,6 +8484,7 @@@ L:      [email protected]
  L:    [email protected]
  S:    Maintained
  F:    rust/kernel/net/phy.rs
 +F:    rust/kernel/net/phy/reg.rs
  
  EXEC & BINFMT API, ELF
  R:    Eric Biederman <[email protected]>
@@@ -8508,7 -8379,6 +8509,7 @@@ N:      binfm
  EXFAT FILE SYSTEM
  M:    Namjae Jeon <[email protected]>
  M:    Sungjong Seo <[email protected]>
 +R:    Yuezhang Mo <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat.git
@@@ -8592,13 -8462,6 +8593,13 @@@ F:    lib/bootconfig.
  F:    tools/bootconfig/*
  F:    tools/bootconfig/scripts/*
  
 +EXTRON DA HD 4K PLUS CEC DRIVER
 +M:    Hans Verkuil <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/cec/usb/extron-da-hd-4k-plus/
 +
  EXYNOS DP DRIVER
  M:    Jingoo Han <[email protected]>
  L:    [email protected]
@@@ -8674,7 -8537,6 +8675,7 @@@ M:      Akinobu Mita <[email protected]
  S:    Supported
  F:    Documentation/fault-injection/
  F:    lib/fault-inject.c
 +F:    tools/testing/fault-injection/
  
  FBTFT Framebuffer drivers
  L:    [email protected]
@@@ -8736,7 -8598,6 +8737,7 @@@ M:      Christian Brauner <[email protected]
  R:    Jan Kara <[email protected]>
  L:    [email protected]
  S:    Maintained
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
  F:    fs/*
  F:    include/linux/fs.h
  F:    include/linux/fs_types.h
@@@ -8912,6 -8773,7 +8913,6 @@@ F:      include/linux/fortify-string.
  F:    lib/fortify_kunit.c
  F:    lib/memcpy_kunit.c
  F:    lib/test_fortify/*
 -F:    scripts/test_fortify.sh
  K:    \b__NO_FORTIFY\b
  
  FPGA DFL DRIVERS
@@@ -8948,7 -8810,7 +8949,7 @@@ W:      https://floatingpoint.billm.au
  F:    arch/x86/math-emu/
  
  FRAMEBUFFER CORE
 -M:    Daniel Vetter <daniel@ffwll.ch>
 +M:    Simona Vetter <simona@ffwll.ch>
  S:    Odd Fixes
  T:    git https://gitlab.freedesktop.org/drm/misc/kernel.git
  F:    drivers/video/fbdev/core/
@@@ -8998,7 -8860,6 +8999,7 @@@ F:      drivers/dma/fsldma.
  FREESCALE DSPI DRIVER
  M:    Vladimir Oltean <[email protected]>
  L:    [email protected]
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/spi/fsl,dspi*.yaml
  F:    drivers/spi/spi-fsl-dspi.c
@@@ -9083,14 -8944,6 +9084,14 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
  F:    drivers/i2c/busses/i2c-imx-lpi2c.c
  
 +FREESCALE IMX LPSPI DRIVER
 +M:    Frank Li <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/spi/spi-fsl-lpspi.yaml
 +F:    drivers/spi/spi-fsl-lpspi.c
 +
  FREESCALE MPC I2C DRIVER
  M:    Chris Packham <[email protected]>
  L:    [email protected]
@@@ -9127,7 -8980,6 +9128,7 @@@ F:      include/linux/fsl/ptp_qoriq.
  FREESCALE QUAD SPI DRIVER
  M:    Han Xu <[email protected]>
  L:    [email protected]
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/spi/fsl,spi-fsl-qspi.yaml
  F:    drivers/spi/spi-fsl-qspi.c
@@@ -9145,7 -8997,6 +9146,7 @@@ M:      Herve Codina <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml
 +F:    Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ucc-qmc.yaml
  F:    drivers/soc/fsl/qe/qmc.c
  F:    include/soc/fsl/qe/qmc.h
  
@@@ -9161,11 -9012,9 +9162,11 @@@ M:    Herve Codina <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml
 +F:    Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-tsa.yaml
  F:    drivers/soc/fsl/qe/tsa.c
  F:    drivers/soc/fsl/qe/tsa.h
  F:    include/dt-bindings/soc/cpm1-fsl,tsa.h
 +F:    include/dt-bindings/soc/qe-fsl,tsa.h
  
  FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
  L:    [email protected]
@@@ -10325,7 -10174,7 +10326,7 @@@ F:   Documentation/devicetree/bindings/in
  F:    drivers/infiniband/hw/hns/
  
  HISILICON SAS Controller
 -M:    Xiang Chen <chenxiang66@hisilicon.com>
 +M:    Yihang Li <liyihang9@huawei.com>
  S:    Supported
  W:    http://www.hisilicon.com
  F:    Documentation/devicetree/bindings/scsi/hisilicon-sas.txt
@@@ -11013,7 -10862,6 +11014,7 @@@ M:   Nuno Sa <[email protected]
  R:    Olivier Moysan <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/ABI/testing/debugfs-iio-backend
  F:    drivers/iio/industrialio-backend.c
  F:    include/linux/iio/backend.h
  
@@@ -11116,7 -10964,6 +11117,7 @@@ T:   git https://gitlab.freedesktop.org/d
  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/ci/xfails/powervr*
  F:    drivers/gpu/drm/imagination/
  F:    include/uapi/drm/pvr_drm.h
  
@@@ -11242,17 -11089,10 +11243,17 @@@ F:        Documentation/devicetree/bindings/se
  F:    Documentation/input/
  F:    drivers/input/
  F:    include/dt-bindings/input/
 +F:    include/linux/gameport.h
 +F:    include/linux/i8042.h
  F:    include/linux/input.h
  F:    include/linux/input/
 +F:    include/linux/libps2.h
 +F:    include/linux/serio.h
 +F:    include/uapi/linux/gameport.h
  F:    include/uapi/linux/input-event-codes.h
  F:    include/uapi/linux/input.h
 +F:    include/uapi/linux/serio.h
 +F:    include/uapi/linux/uinput.h
  
  INPUT MULTITOUCH (MT) PROTOCOL
  M:    Henrik Rydberg <[email protected]>
@@@ -11279,16 -11119,6 +11280,16 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    security/integrity/
  F:    security/integrity/ima/
  
 +INTEGRITY POLICY ENFORCEMENT (IPE)
 +M:    Fan Wu <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +T:    git https://github.com/microsoft/ipe.git
 +F:    Documentation/admin-guide/LSM/ipe.rst
 +F:    Documentation/security/ipe.rst
 +F:    scripts/ipe/
 +F:    security/ipe/
 +
  INTEL 810/815 FRAMEBUFFER DRIVER
  M:    Antonino Daplas <[email protected]>
  L:    [email protected]
@@@ -11311,12 -11141,12 +11312,12 @@@ F:        drivers/gpio/gpio-i8255.
  
  INTEL ASoC DRIVERS
  M:    Cezary Rojewski <[email protected]>
 -M:    Pierre-Louis Bossart <[email protected]>
  M:    Liam Girdwood <[email protected]>
  M:    Peter Ujfalusi <[email protected]>
  M:    Bard Liao <[email protected]>
  M:    Ranjani Sridharan <[email protected]>
  M:    Kai Vehmanen <[email protected]>
 +R:    Pierre-Louis Bossart <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    sound/soc/intel/
@@@ -11632,24 -11462,6 +11633,24 @@@ S: Maintaine
  F:    Documentation/ABI/testing/sysfs-driver-intel-m10-bmc-sec-update
  F:    drivers/fpga/intel-m10-bmc-sec-update.c
  
 +INTEL MID (Mobile Internet Device) PLATFORM
 +M:    Andy Shevchenko <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    arch/x86/include/asm/intel-mid.h
 +F:    arch/x86/pci/intel_mid_pci.c
 +F:    arch/x86/platform/intel-mid/
 +F:    drivers/extcon/extcon-intel-mrfld.c
 +F:    drivers/iio/adc/intel_mrfld_adc.c
 +F:    drivers/mfd/intel_soc_pmic_mrfld.c
 +F:    drivers/platform/x86/intel/mrfld_pwrbtn.c
 +F:    drivers/platform/x86/intel_scu_*
 +F:    drivers/staging/media/atomisp/
 +F:    drivers/watchdog/intel-mid_wdt.c
 +F:    include/linux/mfd/intel_soc_pmic_mrfld.h
 +F:    include/linux/platform_data/x86/intel-mid_wdt.h
 +F:    include/linux/platform_data/x86/intel_scu_ipc.h
 +
  INTEL P-Unit IPC DRIVER
  M:    Zha Qipeng <[email protected]>
  L:    [email protected]
@@@ -11712,8 -11524,8 +11713,8 @@@ F:   drivers/counter/intel-qep.
  INTEL SCU DRIVERS
  M:    Mika Westerberg <[email protected]>
  S:    Maintained
 -F:    arch/x86/include/asm/intel_scu_ipc.h
  F:    drivers/platform/x86/intel_scu_*
 +F:    include/linux/platform_data/x86/intel_scu_ipc.h
  
  INTEL SDSI DRIVER
  M:    David E. Box <[email protected]>
@@@ -11788,8 -11600,7 +11789,8 @@@ F:   drivers/platform/x86/intel/uncore-fr
  INTEL VENDOR SPECIFIC EXTENDED CAPABILITIES DRIVER
  M:    David E. Box <[email protected]>
  S:    Supported
 -F:    drivers/platform/x86/intel/vsec.*
 +F:    drivers/platform/x86/intel/vsec.c
 +F:    include/linux/intel_vsec.h
  
  INTEL VIRTUAL BUTTON DRIVER
  M:    AceLan Kao <[email protected]>
@@@ -11912,7 -11723,6 +11913,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    drivers/iommu/dma-iommu.c
  F:    drivers/iommu/dma-iommu.h
  F:    drivers/iommu/iova.c
 +F:    include/linux/iommu-dma.h
  F:    include/linux/iova.h
  
  IOMMU SUBSYSTEM
@@@ -12184,7 -11994,7 +12185,7 @@@ F:   fs/jfs
  JME NETWORK DRIVER
  M:    Guo-Fu Tseng <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/net/ethernet/jme.*
  
  JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
@@@ -12356,7 -12166,7 +12357,7 @@@ KERNEL NFSD, SUNRPC, AND LOCKD SERVER
  M:    Chuck Lever <[email protected]>
  M:    Jeff Layton <[email protected]>
  R:    Neil Brown <[email protected]>
 -R:    Olga Kornievskaia <kolga@netapp.com>
 +R:    Olga Kornievskaia <okorniev@redhat.com>
  R:    Dai Ngo <[email protected]>
  R:    Tom Talpey <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
 +F:    Documentation/virt/kvm/loongarch/
  F:    arch/loongarch/include/asm/kvm*
  F:    arch/loongarch/include/uapi/asm/kvm*
  F:    arch/loongarch/kvm/
@@@ -13102,7 -12911,6 +13103,7 @@@ M:   Michael Ellerman <[email protected]
  R:    Nicholas Piggin <[email protected]>
  R:    Christophe Leroy <[email protected]>
  R:    Naveen N Rao <[email protected]>
 +R:    Madhavan Srinivasan <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://github.com/linuxppc/wiki/wiki
@@@ -13186,7 -12994,6 +13187,7 @@@ R:   Daniel Lustig <[email protected]
  R:    Joel Fernandes <[email protected]>
  L:    [email protected]
  L:    [email protected]
 +L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
  F:    Documentation/atomic_bitops.txt
@@@ -13455,16 -13262,6 +13456,16 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/iio/dac/lltc,ltc1660.yaml
  F:    drivers/iio/dac/ltc1660.c
  
 +LTC2664 IIO DAC DRIVER
 +M:    Michael Hennerich <[email protected]>
 +M:    Kim Seer Paller <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/iio/dac/adi,ltc2664.yaml
 +F:    Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml
 +F:    drivers/iio/dac/ltc2664.c
 +
  LTC2688 IIO DAC DRIVER
  M:    Nuno Sá <[email protected]>
  L:    [email protected]
@@@ -13705,7 -13502,7 +13706,7 @@@ S:   Maintaine
  F:    Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml
  F:    drivers/input/misc/88pm886-onkey.c
  F:    drivers/mfd/88pm886.c
 -F:    drivers/regulators/88pm886-regulator.c
 +F:    drivers/regulator/88pm886-regulator.c
  F:    include/linux/mfd/88pm886.h
  
  MARVELL ARMADA 3700 PHY DRIVERS
@@@ -13764,6 -13561,7 +13765,6 @@@ M:   Sebastian Hesselbarth <sebastian.hes
  L:    [email protected]
  S:    Maintained
  F:    drivers/net/ethernet/marvell/mv643xx_eth.*
 -F:    include/linux/mv643xx.h
  
  MARVELL MV88X3310 PHY DRIVER
  M:    Russell King <[email protected]>
@@@ -14415,8 -14213,8 +14416,8 @@@ M:   Sean Wang <[email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 +F:    Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt
  F:    Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
 -F:    Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
  F:    drivers/bluetooth/btmtkuart.c
  
  MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS
@@@ -14694,7 -14492,7 +14695,7 @@@ MELLANOX ETHERNET DRIVER (mlx4_en
  M:    Tariq Toukan <[email protected]>
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx4/en_*
  
@@@ -14703,7 -14501,7 +14704,7 @@@ M:   Saeed Mahameed <[email protected]
  M:    Tariq Toukan <[email protected]>
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx5/core/en_*
  
@@@ -14711,7 -14509,7 +14712,7 @@@ MELLANOX ETHERNET INNOVA DRIVER
  R:    Boris Pismenny <[email protected]>
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx5/core/en_accel/*
  F:    drivers/net/ethernet/mellanox/mlx5/core/fpga/*
@@@ -14722,7 -14520,7 +14723,7 @@@ M:   Ido Schimmel <[email protected]
  M:    Petr Machata <[email protected]>
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlxsw/
  F:    tools/testing/selftests/drivers/net/mlxsw/
@@@ -14731,7 -14529,7 +14732,7 @@@ MELLANOX FIRMWARE FLASH LIBRARY (mlxfw
  M:    [email protected]
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlxfw/
  
@@@ -14750,7 -14548,7 +14751,7 @@@ M:   Tariq Toukan <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx4/
  F:    include/linux/mlx4/
@@@ -14759,7 -14557,7 +14760,7 @@@ MELLANOX MLX4 IB drive
  M:    Yishai Hadas <[email protected]>
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    http://patchwork.kernel.org/project/linux-rdma/list/
  F:    drivers/infiniband/hw/mlx4/
  F:    include/linux/mlx4/
@@@ -14772,7 -14570,7 +14773,7 @@@ M:   Tariq Toukan <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    Documentation/networking/device_drivers/ethernet/mellanox/
  F:    drivers/net/ethernet/mellanox/mlx5/core/
@@@ -14782,7 -14580,7 +14783,7 @@@ MELLANOX MLX5 IB drive
  M:    Leon Romanovsky <[email protected]>
  L:    [email protected]
  S:    Supported
 -W:    http://www.mellanox.com
 +W:    https://www.nvidia.com/networking/
  Q:    http://patchwork.kernel.org/project/linux-rdma/list/
  F:    drivers/infiniband/hw/mlx5/
  F:    include/linux/mlx5/
@@@ -15010,7 -14808,6 +15011,7 @@@ M:   Alexander Duyck <[email protected]
  M:    Jakub Kicinski <[email protected]>
  R:    [email protected]
  S:    Supported
 +F:    Documentation/networking/device_drivers/ethernet/meta/
  F:    drivers/net/ethernet/meta/
  
  METHODE UDPU SUPPORT
  S:    Maintained
  F:    drivers/net/ethernet/microchip/lan743x_*
  
 +MICROCHIP LAN8650/1 10BASE-T1S MACPHY ETHERNET DRIVER
 +M:    Parthiban Veerasooran <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/microchip,lan8650.yaml
 +F:    drivers/net/ethernet/microchip/lan865x/lan865x.c
 +
  MICROCHIP LAN87xx/LAN937x T1 PHY DRIVER
  M:    Arun Ramadoss <[email protected]>
  R:    [email protected]
@@@ -15233,13 -15023,6 +15234,13 @@@ F: Documentation/devicetree/bindings/nv
  F:    drivers/nvmem/microchip-otpc.c
  F:    include/dt-bindings/nvmem/microchip,sama7g5-otpc.h
  
 +MICROCHIP PAC1921 POWER/CURRENT MONITOR DRIVER
 +M:    Matteo Martelli <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/devicetree/bindings/iio/adc/microchip,pac1921.yaml
 +F:    drivers/iio/adc/pac1921.c
 +
  MICROCHIP PAC1934 POWER/ENERGY MONITOR DRIVER
  M:    Marius Cristea <[email protected]>
  L:    [email protected]
@@@ -15420,12 -15203,6 +15421,12 @@@ S: Maintaine
  F:    Documentation/hwmon/surface_fan.rst
  F:    drivers/hwmon/surface_fan.c
  
 +MICROSOFT SURFACE SENSOR THERMAL DRIVER
 +M:    Maximilian Luz <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/surface_temp.c
 +
  MICROSOFT SURFACE GPE LID SUPPORT DRIVER
  M:    Maximilian Luz <[email protected]>
  L:    [email protected]
@@@ -15996,7 -15773,6 +15997,7 @@@ M:   Breno Leitao <[email protected]
  S:    Maintained
  F:    Documentation/networking/netconsole.rst
  F:    drivers/net/netconsole.c
 +F:    tools/testing/selftests/drivers/net/netcons_basic.sh
  
  NETDEVSIM
  M:    Jakub Kicinski <[email protected]>
@@@ -16102,21 -15878,15 +16103,21 @@@ F:        drivers/net
  F:    include/dt-bindings/net/
  F:    include/linux/cn_proc.h
  F:    include/linux/etherdevice.h
 +F:    include/linux/ethtool_netlink.h
  F:    include/linux/fcdevice.h
  F:    include/linux/fddidevice.h
  F:    include/linux/hippidevice.h
  F:    include/linux/if_*
  F:    include/linux/inetdevice.h
 -F:    include/linux/netdevice.h
 +F:    include/linux/netdev*
 +F:    include/linux/platform_data/wiznet.h
  F:    include/uapi/linux/cn_proc.h
 +F:    include/uapi/linux/ethtool_netlink.h
  F:    include/uapi/linux/if_*
 -F:    include/uapi/linux/netdevice.h
 +F:    include/uapi/linux/netdev*
 +F:    tools/testing/selftests/drivers/net/
 +X:    Documentation/devicetree/bindings/net/bluetooth/
 +X:    Documentation/devicetree/bindings/net/wireless/
  X:    drivers/net/wireless/
  
  NETWORKING DRIVERS (WIRELESS)
@@@ -16167,28 -15937,14 +16168,28 @@@ F:        include/linux/framer/framer-provider
  F:    include/linux/framer/framer.h
  F:    include/linux/in.h
  F:    include/linux/indirect_call_wrapper.h
 +F:    include/linux/inet.h
 +F:    include/linux/inet_diag.h
  F:    include/linux/net.h
 -F:    include/linux/netdevice.h
 -F:    include/linux/skbuff.h
 +F:    include/linux/netdev*
 +F:    include/linux/netlink.h
 +F:    include/linux/netpoll.h
 +F:    include/linux/rtnetlink.h
 +F:    include/linux/seq_file_net.h
 +F:    include/linux/skbuff*
  F:    include/net/
 +F:    include/uapi/linux/genetlink.h
 +F:    include/uapi/linux/hsr_netlink.h
  F:    include/uapi/linux/in.h
 +F:    include/uapi/linux/inet_diag.h
 +F:    include/uapi/linux/nbd-netlink.h
  F:    include/uapi/linux/net.h
  F:    include/uapi/linux/net_namespace.h
 -F:    include/uapi/linux/netdevice.h
 +F:    include/uapi/linux/netconf.h
 +F:    include/uapi/linux/netdev*
 +F:    include/uapi/linux/netlink.h
 +F:    include/uapi/linux/netlink_diag.h
 +F:    include/uapi/linux/rtnetlink.h
  F:    lib/net_utils.c
  F:    lib/random32.c
  F:    net/
@@@ -16630,7 -16386,6 +16631,7 @@@ M:   Han Xu <[email protected]
  M:    Haibo Chen <[email protected]>
  R:    Yogesh Gaur <[email protected]>
  L:    [email protected]
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml
  F:    drivers/spi/spi-nxp-fspi.c
@@@ -17040,7 -16795,6 +17041,7 @@@ OMNIVISION OG01A1B SENSOR DRIVE
  M:    Sakari Ailus <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/ovti,og01a1b.yaml
  F:    drivers/media/i2c/og01a1b.c
  
  OMNIVISION OV01A10 SENSOR DRIVER
  S:    Supported
  F:    drivers/infiniband/ulp/opa_vnic
  
 +OPEN ALLIANCE 10BASE-T1S MACPHY SERIAL INTERFACE FRAMEWORK
 +M:    Parthiban Veerasooran <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/networking/oa-tc6-framework.rst
 +F:    drivers/net/ethernet/oa_tc6.c
 +F:    include/linux/oa_tc6.h
 +
  OPEN FIRMWARE AND FLATTENED DEVICE TREE
  M:    Rob Herring <[email protected]>
  M:    Saravana Kannan <[email protected]>
@@@ -17351,7 -17097,7 +17352,7 @@@ F:   include/dt-bindings
  
  OPENCOMPUTE PTP CLOCK DRIVER
  M:    Jonathan Lemon <[email protected]>
 -M:    Vadim Fedorenko <vadfed@linux.dev>
 +M:    Vadim Fedorenko <vadim.fedorenko@linux.dev>
  L:    [email protected]
  S:    Maintained
  F:    drivers/ptp/ptp_ocp.c
@@@ -17630,7 -17376,7 +17631,7 @@@ PCI DRIVER FOR ALTERA PCIE I
  M:    Joyce Ooi <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/pci/altera-pcie.txt
 +F:    Documentation/devicetree/bindings/pci/altr,pcie-root-port.yaml
  F:    drivers/pci/controller/pcie-altera.c
  
  PCI DRIVER FOR APPLIEDMICRO XGENE
@@@ -17670,7 -17416,6 +17671,7 @@@ M:   Roy Zang <[email protected]
  L:    [email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
  S:    Maintained
  F:    drivers/pci/controller/dwc/*layerscape*
  
@@@ -17697,7 -17442,6 +17698,7 @@@ M:   Richard Zhu <[email protected]
  M:    Lucas Stach <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-common.yaml
  F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml
@@@ -17862,7 -17606,7 +17863,7 @@@ PCI MSI DRIVER FOR ALTERA MSI I
  M:    Joyce Ooi <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/pci/altera-pcie-msi.txt
 +F:    Documentation/devicetree/bindings/pci/altr,msi-controller.yaml
  F:    drivers/pci/controller/pcie-altera-msi.c
  
  PCI MSI DRIVER FOR APPLIEDMICRO XGENE
@@@ -17876,7 -17620,6 +17877,7 @@@ F:   drivers/pci/controller/pci-xgene-msi
  PCI NATIVE HOST BRIDGE AND ENDPOINT DRIVERS
  M:    Lorenzo Pieralisi <[email protected]>
  M:    Krzysztof Wilczyński <[email protected]>
 +R:    Manivannan Sadhasivam <[email protected]>
  R:    Rob Herring <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -18015,7 -17758,6 +18016,7 @@@ M:   Manivannan Sadhasivam <manivannan.sa
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 +F:    drivers/pci/controller/dwc/pcie-qcom-common.c
  F:    drivers/pci/controller/dwc/pcie-qcom.c
  
  PCIE DRIVER FOR ROCKCHIP
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
 +F:    drivers/pci/controller/dwc/pcie-qcom-common.c
  F:    drivers/pci/controller/dwc/pcie-qcom-ep.c
  
  PCMCIA SUBSYSTEM
@@@ -18464,7 -18205,6 +18465,7 @@@ M:   Bartosz Golaszewski <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
 +F:    Documentation/driver-api/pwrseq.rst
  F:    drivers/power/sequencing/
  F:    include/linux/pwrseq/
  
@@@ -18575,7 -18315,7 +18576,7 @@@ F:   tools/testing/selftests/proc
  PROC SYSCTL
  M:    Luis Chamberlain <[email protected]>
  M:    Kees Cook <[email protected]>
 -M:    Joel Granados <j[email protected]>
 +M:    Joel Granados <j[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/pse-pd/
  F:    drivers/net/pse-pd/
 +F:    net/ethtool/pse-pd.c
  
  PSTORE FILESYSTEM
  M:    Kees Cook <[email protected]>
@@@ -18787,6 -18526,7 +18788,6 @@@ F:   drivers/crypto/intel/qat
  
  QCOM AUDIO (ASoC) DRIVERS
  M:    Srinivas Kandagatla <[email protected]>
 -M:    Banajit Goswami <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Supported
@@@ -19009,7 -18749,7 +19010,7 @@@ M:   Bryan O'Donoghue <bryan.odonoghue@li
  L:    [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/media/qcom_camss.rst
 -F:    Documentation/devicetree/bindings/media/*camss*
 +F:    Documentation/devicetree/bindings/media/qcom,*camss*
  F:    drivers/media/platform/qcom/camss/
  
  QUALCOMM CLOCK DRIVERS
@@@ -19024,6 -18764,7 +19025,6 @@@ F:   include/dt-bindings/clock/qcom,
  QUALCOMM CLOUD AI (QAIC) DRIVER
  M:    Jeffrey Hugo <[email protected]>
  R:    Carl Vanderlip <[email protected]>
 -R:    Pranjal Ramajor Asha Kanojiya <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -19034,7 -18775,7 +19035,7 @@@ F:   include/uapi/drm/qaic_accel.
  
  QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
  M:    Bjorn Andersson <[email protected]>
 -M:    Konrad Dybcio <konrad.dybcio@linaro.org>
 +M:    Konrad Dybcio <konradybcio@kernel.org>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  S:    Maintained
  F:    Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml
  F:    drivers/soc/qcom/icc-bwmon.c
 +F:    drivers/soc/qcom/trace_icc-bwmon.h
  
  QUALCOMM IOMMU
  M:    Rob Clark <[email protected]>
@@@ -19458,7 -19198,6 +19459,7 @@@ S:   Supporte
  W:    https://oss.oracle.com/projects/rds/
  F:    Documentation/networking/rds.rst
  F:    net/rds/
 +F:    tools/testing/selftests/net/rds/
  
  RDT - RESOURCE ALLOCATION
  M:    Fenghua Yu <[email protected]>
@@@ -19961,14 -19700,6 +19962,14 @@@ F: Documentation/ABI/*/sysfs-driver-hid
  F:    drivers/hid/hid-roccat*
  F:    include/linux/hid-roccat*
  
 +ROCKCHIP CAN-FD DRIVER
 +M:    Marc Kleine-Budde <[email protected]>
 +R:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
 +F:    drivers/net/can/rockchip/
 +
  ROCKCHIP CRYPTO DRIVERS
  M:    Corentin Labbe <[email protected]>
  L:    [email protected]
@@@ -19995,13 -19726,6 +19996,13 @@@ F: Documentation/userspace-api/media/v4
  F:    drivers/media/platform/rockchip/rkisp1
  F:    include/uapi/linux/rkisp1-config.h
  
 +ROCKCHIP RK3568 RANDOM NUMBER GENERATOR SUPPORT
 +M:    Daniel Golle <[email protected]>
 +M:    Aurelien Jarno <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml
 +F:    drivers/char/hw_random/rockchip-rng.c
 +
  ROCKCHIP RASTER 2D GRAPHIC ACCELERATION UNIT DRIVER
  M:    Jacob Chen <[email protected]>
  M:    Ezequiel Garcia <[email protected]>
@@@ -20044,12 -19768,6 +20045,12 @@@ S: Supporte
  F:    drivers/power/supply/bd99954-charger.c
  F:    drivers/power/supply/bd99954-charger.h
  
 +ROHM BH1745 COLOUR SENSOR
 +M:    Mudit Sharma <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/iio/light/bh1745.c
 +
  ROHM BH1750 AMBIENT LIGHT SENSOR DRIVER
  M:    Tomasz Duszynski <[email protected]>
  S:    Maintained
@@@ -20124,26 -19842,12 +20125,26 @@@ T:        git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/allwinner,sun8i-a83t-de2-rotate.yaml
  F:    drivers/media/platform/sunxi/sun8i-rotate/
  
 +RPMB SUBSYSTEM
 +M:    Jens Wiklander <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/misc/rpmb-core.c
 +F:    include/linux/rpmb.h
 +
  RPMSG TTY DRIVER
  M:    Arnaud Pouliquen <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/tty/rpmsg_tty.c
  
 +RTASE ETHERNET DRIVER
 +M:    Justin Lai <[email protected]>
 +M:    Larry Chiu <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/ethernet/realtek/rtase/
 +
  RTL2830 MEDIA DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -20204,13 -19908,13 +20205,13 @@@ F:        tools/verification
  RUST
  M:    Miguel Ojeda <[email protected]>
  M:    Alex Gaynor <[email protected]>
 -M:    Wedson Almeida Filho <[email protected]>
  R:    Boqun Feng <[email protected]>
  R:    Gary Guo <[email protected]>
  R:    Björn Roy Baron <[email protected]>
  R:    Benno Lossin <[email protected]>
 -R:    Andreas Hindborg <a.hindborg@samsung.com>
 +R:    Andreas Hindborg <a.hindborg@kernel.org>
  R:    Alice Ryhl <[email protected]>
 +R:    Trevor Gross <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://rust-for-linux.com
  F:    Documentation/devicetree/bindings/sound/samsung*
  F:    sound/soc/samsung/
  
 +SAMSUNG EXYNOS850 SoC SUPPORT
 +M:    Sam Protsenko <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/clock/samsung,exynos850-clock.yaml
 +F:    arch/arm64/boot/dts/exynos/exynos850*
 +F:    drivers/clk/samsung/clk-exynos850.c
 +F:    include/dt-bindings/clock/exynos850.h
 +
  SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER
  M:    Krzysztof Kozlowski <[email protected]>
  L:    [email protected]
@@@ -20606,19 -20300,6 +20607,19 @@@ F: include/linux/wait.
  F:    include/uapi/linux/sched.h
  F:    kernel/sched/
  
 +SCHEDULER - SCHED_EXT
 +R:    Tejun Heo <[email protected]>
 +R:    David Vernet <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W:    https://github.com/sched-ext/scx
 +T:    git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git
 +F:    include/linux/sched/ext.h
 +F:    kernel/sched/ext.h
 +F:    kernel/sched/ext.c
 +F:    tools/sched_ext/
 +F:    tools/testing/selftests/sched_ext
 +
  SCIOSENSE ENS160 MULTI-GAS SENSOR DRIVER
  M:    Gustavo Silva <[email protected]>
  S:    Maintained
@@@ -20674,7 -20355,6 +20675,7 @@@ F:   Documentation/devicetree/bindings/sc
  F:    drivers/scsi/
  F:    drivers/ufs/
  F:    include/scsi/
 +F:    include/uapi/scsi/
  
  SCSI TAPE DRIVER
  M:    Kai Mäkisara <[email protected]>
@@@ -20903,12 -20583,6 +20904,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/iio/chemical/sensirion,scd4x.yaml
  F:    drivers/iio/chemical/scd4x.c
  
 +SENSIRION SDP500 DIFFERENTIAL PRESSURE SENSOR DRIVER
 +M:    Petar Stoykov <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/pressure/sensirion,sdp500.yaml
 +F:    drivers/iio/pressure/sdp500.c
 +
  SENSIRION SGP40 GAS SENSOR DRIVER
  M:    Andreas Klinger <[email protected]>
  S:    Maintained
@@@ -21381,7 -21055,6 +21382,7 @@@ SOCKET TIMESTAMPIN
  M:    Willem de Bruijn <[email protected]>
  S:    Maintained
  F:    Documentation/networking/timestamping.rst
 +F:    include/linux/net_tstamp.h
  F:    include/uapi/linux/net_tstamp.h
  F:    tools/testing/selftests/net/so_txtime.c
  
@@@ -21678,13 -21351,13 +21679,13 @@@ S:        Maintaine
  F:    tools/sound/dapm-graph
  
  SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS
 -M:    Pierre-Louis Bossart <[email protected]>
  M:    Liam Girdwood <[email protected]>
  M:    Peter Ujfalusi <[email protected]>
  M:    Bard Liao <[email protected]>
  M:    Ranjani Sridharan <[email protected]>
  M:    Daniel Baluta <[email protected]>
  R:    Kai Vehmanen <[email protected]>
 +R:    Pierre-Louis Bossart <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  W:    https://github.com/thesofproject/linux/
@@@ -21693,7 -21366,7 +21694,7 @@@ F:   sound/soc/sof
  SOUNDWIRE SUBSYSTEM
  M:    Vinod Koul <[email protected]>
  M:    Bard Liao <[email protected]>
 -R:    Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
 +R:    Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
  R:    Sanyog Kale <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
@@@ -21825,8 -21498,10 +21826,8 @@@ F:  include/linux/spmi.
  F:    include/trace/events/spmi.h
  
  SPU FILE SYSTEM
 -M:    Jeremy Kerr <[email protected]>
  L:    [email protected]
 -S:    Supported
 -W:    http://www.ibm.com/developerworks/power/cell/
 +S:    Orphan
  F:    Documentation/filesystems/spufs/spufs.rst
  F:    arch/powerpc/platforms/cell/spufs/
  
@@@ -22755,7 -22430,6 +22756,7 @@@ M:   Jens Wiklander <jens.wiklander@linar
  R:    Sumit Garg <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-class-tee
  F:    Documentation/driver-api/tee.rst
  F:    Documentation/tee/
  F:    Documentation/userspace-api/tee.rst
@@@ -22801,7 -22475,6 +22802,7 @@@ M:   Thierry Reding <thierry.reding@gmail
  R:    Krishna Reddy <[email protected]>
  L:    [email protected]
  S:    Supported
 +F:    drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c
  F:    drivers/iommu/arm/arm-smmu/arm-smmu-nvidia.c
  F:    drivers/iommu/tegra*
  
@@@ -22907,11 -22580,12 +22908,11 @@@ F:        Documentation/devicetree/bindings/so
  F:    Documentation/devicetree/bindings/sound/ti,tas2562.yaml
  F:    Documentation/devicetree/bindings/sound/ti,tas2770.yaml
  F:    Documentation/devicetree/bindings/sound/ti,tas27xx.yaml
 +F:    Documentation/devicetree/bindings/sound/ti,tpa6130a2.yaml
  F:    Documentation/devicetree/bindings/sound/ti,pcm1681.yaml
  F:    Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml
  F:    Documentation/devicetree/bindings/sound/ti,tlv320*.yaml
  F:    Documentation/devicetree/bindings/sound/ti,tlv320adcx140.yaml
 -F:    Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
 -F:    Documentation/devicetree/bindings/sound/tpa6130a2.txt
  F:    include/sound/tas2*.h
  F:    include/sound/tlv320*.h
  F:    include/sound/tpa6130a2-plat.h
@@@ -23489,7 -23163,6 +23490,7 @@@ Q:   https://patchwork.kernel.org/project
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
  F:    Documentation/devicetree/bindings/tpm/
  F:    drivers/char/tpm/
 +F:    tools/testing/selftests/tpm2/
  
  TPS546D24 DRIVER
  M:    Duke Du <[email protected]>
@@@ -23502,8 -23175,9 +23503,8 @@@ TQ SYSTEMS BOARD & DRIVER SUPPOR
  L:    [email protected]
  S:    Supported
  W:    https://www.tq-group.com/en/products/tq-embedded/
 -F:    arch/arm/boot/dts/imx*mba*.dts*
 -F:    arch/arm/boot/dts/imx*tqma*.dts*
 -F:    arch/arm/boot/dts/mba*.dtsi
 +F:    arch/arm/boot/dts/nxp/imx/*mba*.dts*
 +F:    arch/arm/boot/dts/nxp/imx/*tqma*.dts*
  F:    arch/arm64/boot/dts/freescale/fsl-*tqml*.dts*
  F:    arch/arm64/boot/dts/freescale/imx*mba*.dts*
  F:    arch/arm64/boot/dts/freescale/imx*tqma*.dts*
@@@ -23671,8 -23345,7 +23672,8 @@@ F:   drivers/media/pci/tw686x
  U-BOOT ENVIRONMENT VARIABLES
  M:    Rafał Miłecki <[email protected]>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/nvmem/u-boot,env.yaml
 +F:    Documentation/devicetree/bindings/nvmem/layouts/u-boot,env.yaml
 +F:    drivers/nvmem/layouts/u-boot-env.c
  F:    drivers/nvmem/u-boot-env.c
  
  UACCE ACCELERATOR FRAMEWORK
@@@ -23789,15 -23462,6 +23790,15 @@@ F: drivers/cdrom/cdrom.
  F:    include/linux/cdrom.h
  F:    include/uapi/linux/cdrom.h
  
 +UNION-FIND
 +M:    Xavier <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/core-api/union_find.rst
 +F:    Documentation/translations/zh_CN/core-api/union_find.rst
 +F:    include/linux/union_find.h
 +F:    lib/union_find.c
 +
  UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
  R:    Alim Akhtar <[email protected]>
  R:    Avri Altman <[email protected]>
@@@ -24158,8 -23822,10 +24159,8 @@@ F:  drivers/media/usb/uvc
  F:    include/uapi/linux/uvcvideo.h
  
  USB WEBCAM GADGET
 -M:    Laurent Pinchart <[email protected]>
 -M:    Daniel Scally <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/usb/gadget/function/*uvc*
  F:    drivers/usb/gadget/legacy/webcam.c
  F:    include/uapi/linux/usb/g_uvc.h
@@@ -24531,7 -24197,6 +24532,7 @@@ F:   include/linux/vdpa.
  F:    include/linux/virtio*.h
  F:    include/linux/vringh.h
  F:    include/uapi/linux/virtio_*.h
 +F:    net/vmw_vsock/virtio*
  F:    tools/virtio/
  F:    tools/testing/selftests/drivers/net/virtio_net/
  
@@@ -24722,20 -24387,6 +24723,20 @@@ F: include/uapi/linux/vsockmon.
  F:    net/vmw_vsock/
  F:    tools/testing/vsock/
  
 +VMA
 +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:    https://www.linux-mm.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
 +F:    mm/vma.c
 +F:    mm/vma.h
 +F:    mm/vma_internal.h
 +F:    tools/testing/vma/
 +
  VMALLOC
  M:    Andrew Morton <[email protected]>
  R:    Uladzislau Rezki <[email protected]>
@@@ -25125,17 -24776,6 +25126,17 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    Documentation/arch/x86/
  F:    Documentation/devicetree/bindings/x86/
  F:    arch/x86/
 +F:    tools/testing/selftests/x86
 +
 +X86 CPUID DATABASE
 +M:    Borislav Petkov <[email protected]>
 +M:    Thomas Gleixner <[email protected]>
 +M:    [email protected]
 +R:    Ahmed S. Darwish <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W:    https://x86-cpuid.org
 +F:    tools/arch/x86/kcpuid/cpuid.csv
  
  X86 ENTRY CODE
  M:    Andy Lutomirski <[email protected]>
@@@ -25578,19 -25218,6 +25579,19 @@@ S: Maintaine
  F:    drivers/spi/spi-xtensa-xtfpga.c
  F:    sound/soc/xtensa/xtfpga-i2s.c
  
 +XZ EMBEDDED
 +M:    Lasse Collin <[email protected]>
 +S:    Maintained
 +W:    https://tukaani.org/xz/embedded.html
 +B:    https://github.com/tukaani-project/xz-embedded/issues
 +C:    irc://irc.libera.chat/tukaani
 +F:    Documentation/staging/xz.rst
 +F:    include/linux/decompress/unxz.h
 +F:    include/linux/xz.h
 +F:    lib/decompress_unxz.c
 +F:    lib/xz/
 +F:    scripts/xz_wrap.sh
 +
  YAM DRIVER FOR AX.25
  M:    Jean-Paul Roubelat <[email protected]>
  L:    [email protected]
@@@ -25615,6 -25242,7 +25616,6 @@@ F:   tools/net/ynl
  
  YEALINK PHONE DRIVER
  M:    Henk Vergonet <[email protected]>
 -L:    [email protected]
  S:    Maintained
  F:    Documentation/input/devices/yealink.rst
  F:    drivers/input/misc/yealink.*
index a34e56a9d5353ecdf2a834cdc5d6a9596163c7b9,a8555f630097fba9399a670e5d11392ea64977aa..f3f5b2b0ecc9f1dc54f9361fa35375c95d9f0693
@@@ -44,8 -44,8 +44,8 @@@
  #include <linux/delay.h>
  #include <linux/dmaengine.h>
  #include <linux/ktime.h>
+ #include <linux/mod_devicetable.h>
  
- #include <linux/platform_data/dma-ep93xx.h>
  #include <linux/soc/cirrus/ep93xx.h>
  
  #define DRV_NAME      "ep93xx-ide"
@@@ -126,7 -126,7 +126,7 @@@ enum 
  };
  
  struct ep93xx_pata_data {
-       const struct platform_device *pdev;
+       struct platform_device *pdev;
        void __iomem *ide_base;
        struct ata_timing t;
        bool iordy;
        unsigned long udma_out_phys;
  
        struct dma_chan *dma_rx_channel;
-       struct ep93xx_dma_data dma_rx_data;
        struct dma_chan *dma_tx_channel;
-       struct ep93xx_dma_data dma_tx_data;
  };
  
  static void ep93xx_pata_clear_regs(void __iomem *base)
@@@ -637,20 -635,13 +635,13 @@@ static void ep93xx_pata_release_dma(str
        }
  }
  
- static bool ep93xx_pata_dma_filter(struct dma_chan *chan, void *filter_param)
+ static int ep93xx_pata_dma_init(struct ep93xx_pata_data *drv_data)
  {
-       if (ep93xx_dma_chan_is_m2p(chan))
-               return false;
-       chan->private = filter_param;
-       return true;
- }
- static void ep93xx_pata_dma_init(struct ep93xx_pata_data *drv_data)
- {
-       const struct platform_device *pdev = drv_data->pdev;
+       struct platform_device *pdev = drv_data->pdev;
+       struct device *dev = &pdev->dev;
        dma_cap_mask_t mask;
        struct dma_slave_config conf;
+       int ret;
  
        dma_cap_zero(mask);
        dma_cap_set(DMA_SLAVE, mask);
         * to request only one channel, and reprogram it's direction at
         * start of new transfer.
         */
-       drv_data->dma_rx_data.port = EP93XX_DMA_IDE;
-       drv_data->dma_rx_data.direction = DMA_DEV_TO_MEM;
-       drv_data->dma_rx_data.name = "ep93xx-pata-rx";
-       drv_data->dma_rx_channel = dma_request_channel(mask,
-               ep93xx_pata_dma_filter, &drv_data->dma_rx_data);
-       if (!drv_data->dma_rx_channel)
-               return;
-       drv_data->dma_tx_data.port = EP93XX_DMA_IDE;
-       drv_data->dma_tx_data.direction = DMA_MEM_TO_DEV;
-       drv_data->dma_tx_data.name = "ep93xx-pata-tx";
-       drv_data->dma_tx_channel = dma_request_channel(mask,
-               ep93xx_pata_dma_filter, &drv_data->dma_tx_data);
-       if (!drv_data->dma_tx_channel) {
-               dma_release_channel(drv_data->dma_rx_channel);
-               return;
+       drv_data->dma_rx_channel = dma_request_chan(dev, "rx");
+       if (IS_ERR(drv_data->dma_rx_channel))
+               return dev_err_probe(dev, PTR_ERR(drv_data->dma_rx_channel),
+                                    "rx DMA setup failed\n");
+       drv_data->dma_tx_channel = dma_request_chan(&pdev->dev, "tx");
+       if (IS_ERR(drv_data->dma_tx_channel)) {
+               ret = dev_err_probe(dev, PTR_ERR(drv_data->dma_tx_channel),
+                                   "tx DMA setup failed\n");
+               goto fail_release_rx;
        }
  
        /* Configure receive channel direction and source address */
        conf.direction = DMA_DEV_TO_MEM;
        conf.src_addr = drv_data->udma_in_phys;
        conf.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-       if (dmaengine_slave_config(drv_data->dma_rx_channel, &conf)) {
-               dev_err(&pdev->dev, "failed to configure rx dma channel\n");
-               ep93xx_pata_release_dma(drv_data);
-               return;
+       ret = dmaengine_slave_config(drv_data->dma_rx_channel, &conf);
+       if (ret) {
+               dev_err_probe(dev, ret, "failed to configure rx dma channel");
+               goto fail_release_dma;
        }
  
        /* Configure transmit channel direction and destination address */
        conf.direction = DMA_MEM_TO_DEV;
        conf.dst_addr = drv_data->udma_out_phys;
        conf.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-       if (dmaengine_slave_config(drv_data->dma_tx_channel, &conf)) {
-               dev_err(&pdev->dev, "failed to configure tx dma channel\n");
-               ep93xx_pata_release_dma(drv_data);
+       ret = dmaengine_slave_config(drv_data->dma_tx_channel, &conf);
+       if (ret) {
+               dev_err_probe(dev, ret, "failed to configure tx dma channel");
+               goto fail_release_dma;
        }
+       return 0;
+ fail_release_rx:
+       dma_release_channel(drv_data->dma_rx_channel);
+ fail_release_dma:
+       ep93xx_pata_release_dma(drv_data);
+       return ret;
  }
  
  static void ep93xx_pata_dma_start(struct ata_queued_cmd *qc)
@@@ -884,6 -879,8 +879,6 @@@ static const struct scsi_host_template 
  static struct ata_port_operations ep93xx_pata_port_ops = {
        .inherits               = &ata_bmdma_port_ops,
  
 -      .qc_prep                = ata_noop_qc_prep,
 -
        .softreset              = ep93xx_pata_softreset,
        .hardreset              = ATA_OP_NULL,
  
@@@ -925,34 -922,26 +920,26 @@@ static int ep93xx_pata_probe(struct pla
        void __iomem *ide_base;
        int err;
  
-       err = ep93xx_ide_acquire_gpio(pdev);
-       if (err)
-               return err;
        /* INT[3] (IRQ_EP93XX_EXT3) line connected as pull down */
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0) {
-               err = irq;
-               goto err_rel_gpio;
-       }
+       if (irq < 0)
+               return irq;
  
        ide_base = devm_platform_get_and_ioremap_resource(pdev, 0, &mem_res);
-       if (IS_ERR(ide_base)) {
-               err = PTR_ERR(ide_base);
-               goto err_rel_gpio;
-       }
+       if (IS_ERR(ide_base))
+               return PTR_ERR(ide_base);
  
        drv_data = devm_kzalloc(&pdev->dev, sizeof(*drv_data), GFP_KERNEL);
-       if (!drv_data) {
-               err = -ENOMEM;
-               goto err_rel_gpio;
-       }
+       if (!drv_data)
+               return -ENOMEM;
  
        drv_data->pdev = pdev;
        drv_data->ide_base = ide_base;
        drv_data->udma_in_phys = mem_res->start + IDEUDMADATAIN;
        drv_data->udma_out_phys = mem_res->start + IDEUDMADATAOUT;
-       ep93xx_pata_dma_init(drv_data);
+       err = ep93xx_pata_dma_init(drv_data);
+       if (err)
+               return err;
  
        /* allocate host */
        host = ata_host_alloc(&pdev->dev, 1);
  
  err_rel_dma:
        ep93xx_pata_release_dma(drv_data);
- err_rel_gpio:
-       ep93xx_ide_release_gpio(pdev);
        return err;
  }
  
@@@ -1016,12 -1003,18 +1001,18 @@@ static void ep93xx_pata_remove(struct p
        ata_host_detach(host);
        ep93xx_pata_release_dma(drv_data);
        ep93xx_pata_clear_regs(drv_data->ide_base);
-       ep93xx_ide_release_gpio(pdev);
  }
  
+ static const struct of_device_id ep93xx_pata_of_ids[] = {
+       { .compatible = "cirrus,ep9312-pata" },
+       { /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(of, ep93xx_pata_of_ids);
  static struct platform_driver ep93xx_pata_platform_driver = {
        .driver = {
                .name = DRV_NAME,
+               .of_match_table = ep93xx_pata_of_ids,
        },
        .probe = ep93xx_pata_probe,
        .remove_new = ep93xx_pata_remove,
diff --combined drivers/clk/Kconfig
index 260961668e48df7a1516a6a91ab51998795162c5,abc438536f935f37ad0cb89440418c674750c76e..299bc678ed1b9fcd9110bb8c5937a1bd1ea60e23
@@@ -218,6 -218,14 +218,14 @@@ config COMMON_CLK_EN752
          This driver provides the fixed clocks and gates present on Airoha
          ARM silicon.
  
+ config COMMON_CLK_EP93XX
+       tristate "Clock driver for Cirrus Logic ep93xx SoC"
+       depends on ARCH_EP93XX || COMPILE_TEST
+       select AUXILIARY_BUS
+       select REGMAP_MMIO
+       help
+         This driver supports the SoC clocks on the Cirrus Logic ep93xx.
  config COMMON_CLK_FSL_FLEXSPI
        tristate "Clock driver for FlexSPI on Layerscape SoCs"
        depends on ARCH_LAYERSCAPE || COMPILE_TEST
@@@ -509,20 -517,9 +517,20 @@@ config CLK_KUNIT_TES
        tristate "Basic Clock Framework Kunit Tests" if !KUNIT_ALL_TESTS
        depends on KUNIT
        default KUNIT_ALL_TESTS
 +      select OF_OVERLAY if OF
 +      select DTC
        help
          Kunit tests for the common clock framework.
  
 +config CLK_FIXED_RATE_KUNIT_TEST
 +      tristate "Basic fixed rate clk type KUnit test" if !KUNIT_ALL_TESTS
 +      depends on KUNIT
 +      default KUNIT_ALL_TESTS
 +      select OF_OVERLAY if OF
 +      select DTC
 +      help
 +        KUnit tests for the basic fixed rate clk type.
 +
  config CLK_GATE_KUNIT_TEST
        tristate "Basic gate type Kunit test" if !KUNIT_ALL_TESTS
        depends on KUNIT
diff --combined drivers/clk/Makefile
index 9b783c3e5d2fb654ef8db862352ffe2ac8cd4cb0,52f57a569b4e121372130deb33c32cbdc17f62e2..fb8878a5d7d93da6bec487460cdf63f1f764a431
@@@ -2,14 -2,10 +2,14 @@@
  # common clock types
  obj-$(CONFIG_HAVE_CLK)                += clk-devres.o clk-bulk.o clkdev.o
  obj-$(CONFIG_COMMON_CLK)      += clk.o
 -obj-$(CONFIG_CLK_KUNIT_TEST)  += clk_test.o
 +obj-$(CONFIG_CLK_KUNIT_TEST)  += clk-test.o
 +clk-test-y                    := clk_test.o \
 +                                 kunit_clk_parent_data_test.dtbo.o
  obj-$(CONFIG_COMMON_CLK)      += clk-divider.o
  obj-$(CONFIG_COMMON_CLK)      += clk-fixed-factor.o
  obj-$(CONFIG_COMMON_CLK)      += clk-fixed-rate.o
 +obj-$(CONFIG_CLK_FIXED_RATE_KUNIT_TEST)       += clk-fixed-rate-test.o
 +clk-fixed-rate-test-y         := clk-fixed-rate_test.o kunit_clk_fixed_rate_test.dtbo.o
  obj-$(CONFIG_COMMON_CLK)      += clk-gate.o
  obj-$(CONFIG_CLK_GATE_KUNIT_TEST) += clk-gate_test.o
  obj-$(CONFIG_COMMON_CLK)      += clk-multiplier.o
@@@ -22,11 -18,6 +22,11 @@@ ifeq ($(CONFIG_OF), y
  obj-$(CONFIG_COMMON_CLK)      += clk-conf.o
  endif
  
 +# KUnit specific helpers
 +ifeq ($(CONFIG_COMMON_CLK), y)
 +obj-$(CONFIG_KUNIT)           += clk_kunit_helpers.o
 +endif
 +
  # hardware specific clock types
  # please keep this section sorted lexicographically by file path name
  obj-$(CONFIG_COMMON_CLK_APPLE_NCO)    += clk-apple-nco.o
@@@ -39,6 -30,7 +39,7 @@@ obj-$(CONFIG_COMMON_CLK_CDCE706)      += clk
  obj-$(CONFIG_COMMON_CLK_CDCE925)      += clk-cdce925.o
  obj-$(CONFIG_ARCH_CLPS711X)           += clk-clps711x.o
  obj-$(CONFIG_COMMON_CLK_CS2000_CP)    += clk-cs2000-cp.o
+ obj-$(CONFIG_COMMON_CLK_EP93XX)               += clk-ep93xx.o
  obj-$(CONFIG_ARCH_SPARX5)             += clk-sparx5.o
  obj-$(CONFIG_COMMON_CLK_EN7523)               += clk-en7523.o
  obj-$(CONFIG_COMMON_CLK_FIXED_MMIO)   += clk-fixed-mmio.o
diff --combined drivers/dma/ep93xx_dma.c
index 4ee337e78c23553f7e7493eb273a3502d33c4a36,8514b9ab85179ed4104669e448a081704114d0bb..995427afe0773df1bb45154148fa45d62e53a19d
  #include <linux/clk.h>
  #include <linux/init.h>
  #include <linux/interrupt.h>
+ #include <linux/dma-mapping.h>
  #include <linux/dmaengine.h>
  #include <linux/module.h>
  #include <linux/mod_devicetable.h>
+ #include <linux/of_dma.h>
+ #include <linux/overflow.h>
  #include <linux/platform_device.h>
  #include <linux/slab.h>
  
- #include <linux/platform_data/dma-ep93xx.h>
  #include "dmaengine.h"
  
  /* M2P registers */
  #define DMA_MAX_CHAN_BYTES            0xffff
  #define DMA_MAX_CHAN_DESCRIPTORS      32
  
+ /*
+  * M2P channels.
+  *
+  * Note that these values are also directly used for setting the PPALLOC
+  * register.
+  */
+ #define EP93XX_DMA_I2S1                       0
+ #define EP93XX_DMA_I2S2                       1
+ #define EP93XX_DMA_AAC1                       2
+ #define EP93XX_DMA_AAC2                       3
+ #define EP93XX_DMA_AAC3                       4
+ #define EP93XX_DMA_I2S3                       5
+ #define EP93XX_DMA_UART1              6
+ #define EP93XX_DMA_UART2              7
+ #define EP93XX_DMA_UART3              8
+ #define EP93XX_DMA_IRDA                       9
+ /* M2M channels */
+ #define EP93XX_DMA_SSP                        10
+ #define EP93XX_DMA_IDE                        11
+ enum ep93xx_dma_type {
+       M2P_DMA,
+       M2M_DMA,
+ };
  struct ep93xx_dma_engine;
  static int ep93xx_dma_slave_config_write(struct dma_chan *chan,
                                         enum dma_transfer_direction dir,
@@@ -129,11 -155,17 +155,17 @@@ struct ep93xx_dma_desc 
        struct list_head                node;
  };
  
+ struct ep93xx_dma_chan_cfg {
+       u8                              port;
+       enum dma_transfer_direction     dir;
+ };
  /**
   * struct ep93xx_dma_chan - an EP93xx DMA M2P/M2M channel
   * @chan: dmaengine API channel
   * @edma: pointer to the engine device
   * @regs: memory mapped registers
+  * @dma_cfg: channel number, direction
   * @irq: interrupt number of the channel
   * @clk: clock used by this channel
   * @tasklet: channel specific tasklet used for callbacks
   * descriptor in the chain. When a descriptor is moved to the @active queue,
   * the first and chained descriptors are flattened into a single list.
   *
-  * @chan.private holds pointer to &struct ep93xx_dma_data which contains
-  * necessary channel configuration information. For memcpy channels this must
-  * be %NULL.
   */
  struct ep93xx_dma_chan {
        struct dma_chan                 chan;
        const struct ep93xx_dma_engine  *edma;
        void __iomem                    *regs;
+       struct ep93xx_dma_chan_cfg      dma_cfg;
        int                             irq;
        struct clk                      *clk;
        struct tasklet_struct           tasklet;
@@@ -216,6 -246,11 +246,11 @@@ struct ep93xx_dma_engine 
        struct ep93xx_dma_chan  channels[] __counted_by(num_channels);
  };
  
+ struct ep93xx_edma_data {
+       u32     id;
+       size_t  num_channels;
+ };
  static inline struct device *chan2dev(struct ep93xx_dma_chan *edmac)
  {
        return &edmac->chan.dev->device;
@@@ -226,6 -261,31 +261,31 @@@ static struct ep93xx_dma_chan *to_ep93x
        return container_of(chan, struct ep93xx_dma_chan, chan);
  }
  
+ static inline bool ep93xx_dma_chan_is_m2p(struct dma_chan *chan)
+ {
+       if (device_is_compatible(chan->device->dev, "cirrus,ep9301-dma-m2p"))
+               return true;
+       return !strcmp(dev_name(chan->device->dev), "ep93xx-dma-m2p");
+ }
+ /*
+  * ep93xx_dma_chan_direction - returns direction the channel can be used
+  *
+  * This function can be used in filter functions to find out whether the
+  * channel supports given DMA direction. Only M2P channels have such
+  * limitation, for M2M channels the direction is configurable.
+  */
+ static inline enum dma_transfer_direction
+ ep93xx_dma_chan_direction(struct dma_chan *chan)
+ {
+       if (!ep93xx_dma_chan_is_m2p(chan))
+               return DMA_TRANS_NONE;
+       /* even channels are for TX, odd for RX */
+       return (chan->chan_id % 2 == 0) ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
+ }
  /**
   * ep93xx_dma_set_active - set new active descriptor chain
   * @edmac: channel
@@@ -318,10 -378,9 +378,9 @@@ static void m2p_set_control(struct ep93
  
  static int m2p_hw_setup(struct ep93xx_dma_chan *edmac)
  {
-       struct ep93xx_dma_data *data = edmac->chan.private;
        u32 control;
  
-       writel(data->port & 0xf, edmac->regs + M2P_PPALLOC);
+       writel(edmac->dma_cfg.port & 0xf, edmac->regs + M2P_PPALLOC);
  
        control = M2P_CONTROL_CH_ERROR_INT | M2P_CONTROL_ICE
                | M2P_CONTROL_ENABLE;
@@@ -458,16 -517,15 +517,15 @@@ static int m2p_hw_interrupt(struct ep93
  
  static int m2m_hw_setup(struct ep93xx_dma_chan *edmac)
  {
-       const struct ep93xx_dma_data *data = edmac->chan.private;
        u32 control = 0;
  
-       if (!data) {
+       if (edmac->dma_cfg.dir == DMA_MEM_TO_MEM) {
                /* This is memcpy channel, nothing to configure */
                writel(control, edmac->regs + M2M_CONTROL);
                return 0;
        }
  
-       switch (data->port) {
+       switch (edmac->dma_cfg.port) {
        case EP93XX_DMA_SSP:
                /*
                 * This was found via experimenting - anything less than 5
                control = (5 << M2M_CONTROL_PWSC_SHIFT);
                control |= M2M_CONTROL_NO_HDSK;
  
-               if (data->direction == DMA_MEM_TO_DEV) {
+               if (edmac->dma_cfg.dir == DMA_MEM_TO_DEV) {
                        control |= M2M_CONTROL_DAH;
                        control |= M2M_CONTROL_TM_TX;
                        control |= M2M_CONTROL_RSS_SSPTX;
                 * This IDE part is totally untested. Values below are taken
                 * from the EP93xx Users's Guide and might not be correct.
                 */
-               if (data->direction == DMA_MEM_TO_DEV) {
+               if (edmac->dma_cfg.dir == DMA_MEM_TO_DEV) {
                        /* Worst case from the UG */
                        control = (3 << M2M_CONTROL_PWSC_SHIFT);
                        control |= M2M_CONTROL_DAH;
@@@ -548,7 -606,6 +606,6 @@@ static void m2m_fill_desc(struct ep93xx
  
  static void m2m_hw_submit(struct ep93xx_dma_chan *edmac)
  {
-       struct ep93xx_dma_data *data = edmac->chan.private;
        u32 control = readl(edmac->regs + M2M_CONTROL);
  
        /*
        control |= M2M_CONTROL_ENABLE;
        writel(control, edmac->regs + M2M_CONTROL);
  
-       if (!data) {
+       if (edmac->dma_cfg.dir == DMA_MEM_TO_MEM) {
                /*
                 * For memcpy channels the software trigger must be asserted
                 * in order to start the memcpy operation.
@@@ -636,7 -693,7 +693,7 @@@ static int m2m_hw_interrupt(struct ep93
                 */
                if (ep93xx_dma_advance_active(edmac)) {
                        m2m_fill_desc(edmac);
-                       if (done && !edmac->chan.private) {
+                       if (done && edmac->dma_cfg.dir == DMA_MEM_TO_MEM) {
                                /* Software trigger for memcpy channel */
                                control = readl(edmac->regs + M2M_CONTROL);
                                control |= M2M_CONTROL_START;
@@@ -841,7 -898,7 +898,7 @@@ static dma_cookie_t ep93xx_dma_tx_submi
        desc = container_of(tx, struct ep93xx_dma_desc, txd);
  
        /*
 -       * If nothing is currently prosessed, we push this descriptor
 +       * If nothing is currently processed, we push this descriptor
         * directly to the hardware. Otherwise we put the descriptor
         * to the pending queue.
         */
  static int ep93xx_dma_alloc_chan_resources(struct dma_chan *chan)
  {
        struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan);
-       struct ep93xx_dma_data *data = chan->private;
        const char *name = dma_chan_name(chan);
        int ret, i;
  
        /* Sanity check the channel parameters */
        if (!edmac->edma->m2m) {
-               if (!data)
-                       return -EINVAL;
-               if (data->port < EP93XX_DMA_I2S1 ||
-                   data->port > EP93XX_DMA_IRDA)
+               if (edmac->dma_cfg.port < EP93XX_DMA_I2S1 ||
+                   edmac->dma_cfg.port > EP93XX_DMA_IRDA)
                        return -EINVAL;
-               if (data->direction != ep93xx_dma_chan_direction(chan))
+               if (edmac->dma_cfg.dir != ep93xx_dma_chan_direction(chan))
                        return -EINVAL;
        } else {
-               if (data) {
-                       switch (data->port) {
+               if (edmac->dma_cfg.dir != DMA_MEM_TO_MEM) {
+                       switch (edmac->dma_cfg.port) {
                        case EP93XX_DMA_SSP:
                        case EP93XX_DMA_IDE:
-                               if (!is_slave_direction(data->direction))
+                               if (!is_slave_direction(edmac->dma_cfg.dir))
                                        return -EINVAL;
                                break;
                        default:
                }
        }
  
-       if (data && data->name)
-               name = data->name;
        ret = clk_prepare_enable(edmac->clk);
        if (ret)
                return ret;
@@@ -1025,7 -1076,7 +1076,7 @@@ fail
   * @chan: channel
   * @sgl: list of buffers to transfer
   * @sg_len: number of entries in @sgl
 - * @dir: direction of tha DMA transfer
 + * @dir: direction of the DMA transfer
   * @flags: flags for the descriptor
   * @context: operation context (ignored)
   *
@@@ -1315,36 -1366,53 +1366,53 @@@ static void ep93xx_dma_issue_pending(st
        ep93xx_dma_advance_work(to_ep93xx_dma_chan(chan));
  }
  
- static int __init ep93xx_dma_probe(struct platform_device *pdev)
+ static struct ep93xx_dma_engine *ep93xx_dma_of_probe(struct platform_device *pdev)
  {
-       struct ep93xx_dma_platform_data *pdata = dev_get_platdata(&pdev->dev);
+       const struct ep93xx_edma_data *data;
+       struct device *dev = &pdev->dev;
        struct ep93xx_dma_engine *edma;
        struct dma_device *dma_dev;
-       int ret, i;
+       char dma_clk_name[5];
+       int i;
  
-       edma = kzalloc(struct_size(edma, channels, pdata->num_channels), GFP_KERNEL);
+       data = device_get_match_data(dev);
+       if (!data)
+               return ERR_PTR(dev_err_probe(dev, -ENODEV, "No device match found\n"));
+       edma = devm_kzalloc(dev, struct_size(edma, channels, data->num_channels),
+                           GFP_KERNEL);
        if (!edma)
-               return -ENOMEM;
+               return ERR_PTR(-ENOMEM);
  
+       edma->m2m = data->id;
+       edma->num_channels = data->num_channels;
        dma_dev = &edma->dma_dev;
-       edma->m2m = platform_get_device_id(pdev)->driver_data;
-       edma->num_channels = pdata->num_channels;
  
        INIT_LIST_HEAD(&dma_dev->channels);
-       for (i = 0; i < pdata->num_channels; i++) {
-               const struct ep93xx_dma_chan_data *cdata = &pdata->channels[i];
+       for (i = 0; i < edma->num_channels; i++) {
                struct ep93xx_dma_chan *edmac = &edma->channels[i];
  
                edmac->chan.device = dma_dev;
-               edmac->regs = cdata->base;
-               edmac->irq = cdata->irq;
+               edmac->regs = devm_platform_ioremap_resource(pdev, i);
+               if (IS_ERR(edmac->regs))
+                       return edmac->regs;
+               edmac->irq = fwnode_irq_get(dev_fwnode(dev), i);
+               if (edmac->irq < 0)
+                       return ERR_PTR(edmac->irq);
                edmac->edma = edma;
  
-               edmac->clk = clk_get(NULL, cdata->name);
+               if (edma->m2m)
+                       snprintf(dma_clk_name, sizeof(dma_clk_name), "m2m%u", i);
+               else
+                       snprintf(dma_clk_name, sizeof(dma_clk_name), "m2p%u", i);
+               edmac->clk = devm_clk_get(dev, dma_clk_name);
                if (IS_ERR(edmac->clk)) {
-                       dev_warn(&pdev->dev, "failed to get clock for %s\n",
-                                cdata->name);
-                       continue;
+                       dev_err_probe(dev, PTR_ERR(edmac->clk),
+                                     "no %s clock found\n", dma_clk_name);
+                       return ERR_CAST(edmac->clk);
                }
  
                spin_lock_init(&edmac->lock);
                              &dma_dev->channels);
        }
  
+       return edma;
+ }
+ static bool ep93xx_m2p_dma_filter(struct dma_chan *chan, void *filter_param)
+ {
+       struct ep93xx_dma_chan *echan = to_ep93xx_dma_chan(chan);
+       struct ep93xx_dma_chan_cfg *cfg = filter_param;
+       if (cfg->dir != ep93xx_dma_chan_direction(chan))
+               return false;
+       echan->dma_cfg = *cfg;
+       return true;
+ }
+ static struct dma_chan *ep93xx_m2p_dma_of_xlate(struct of_phandle_args *dma_spec,
+                                           struct of_dma *ofdma)
+ {
+       struct ep93xx_dma_engine *edma = ofdma->of_dma_data;
+       dma_cap_mask_t mask = edma->dma_dev.cap_mask;
+       struct ep93xx_dma_chan_cfg dma_cfg;
+       u8 port = dma_spec->args[0];
+       u8 direction = dma_spec->args[1];
+       if (port > EP93XX_DMA_IRDA)
+               return NULL;
+       if (!is_slave_direction(direction))
+               return NULL;
+       dma_cfg.port = port;
+       dma_cfg.dir = direction;
+       return __dma_request_channel(&mask, ep93xx_m2p_dma_filter, &dma_cfg, ofdma->of_node);
+ }
+ static bool ep93xx_m2m_dma_filter(struct dma_chan *chan, void *filter_param)
+ {
+       struct ep93xx_dma_chan *echan = to_ep93xx_dma_chan(chan);
+       struct ep93xx_dma_chan_cfg *cfg = filter_param;
+       echan->dma_cfg = *cfg;
+       return true;
+ }
+ static struct dma_chan *ep93xx_m2m_dma_of_xlate(struct of_phandle_args *dma_spec,
+                                           struct of_dma *ofdma)
+ {
+       struct ep93xx_dma_engine *edma = ofdma->of_dma_data;
+       dma_cap_mask_t mask = edma->dma_dev.cap_mask;
+       struct ep93xx_dma_chan_cfg dma_cfg;
+       u8 port = dma_spec->args[0];
+       u8 direction = dma_spec->args[1];
+       if (!is_slave_direction(direction))
+               return NULL;
+       switch (port) {
+       case EP93XX_DMA_SSP:
+       case EP93XX_DMA_IDE:
+               break;
+       default:
+               return NULL;
+       }
+       dma_cfg.port = port;
+       dma_cfg.dir = direction;
+       return __dma_request_channel(&mask, ep93xx_m2m_dma_filter, &dma_cfg, ofdma->of_node);
+ }
+ static int ep93xx_dma_probe(struct platform_device *pdev)
+ {
+       struct ep93xx_dma_engine *edma;
+       struct dma_device *dma_dev;
+       int ret;
+       edma = ep93xx_dma_of_probe(pdev);
+       if (IS_ERR(edma))
+               return PTR_ERR(edma);
+       dma_dev = &edma->dma_dev;
        dma_cap_zero(dma_dev->cap_mask);
        dma_cap_set(DMA_SLAVE, dma_dev->cap_mask);
        dma_cap_set(DMA_CYCLIC, dma_dev->cap_mask);
        }
  
        ret = dma_async_device_register(dma_dev);
-       if (unlikely(ret)) {
-               for (i = 0; i < edma->num_channels; i++) {
-                       struct ep93xx_dma_chan *edmac = &edma->channels[i];
-                       if (!IS_ERR_OR_NULL(edmac->clk))
-                               clk_put(edmac->clk);
-               }
-               kfree(edma);
+       if (ret)
+               return ret;
+       if (edma->m2m) {
+               ret = of_dma_controller_register(pdev->dev.of_node, ep93xx_m2m_dma_of_xlate,
+                                                edma);
        } else {
-               dev_info(dma_dev->dev, "EP93xx M2%s DMA ready\n",
-                        edma->m2m ? "M" : "P");
+               ret = of_dma_controller_register(pdev->dev.of_node, ep93xx_m2p_dma_of_xlate,
+                                                edma);
        }
+       if (ret)
+               goto err_dma_unregister;
+       dev_info(dma_dev->dev, "EP93xx M2%s DMA ready\n", edma->m2m ? "M" : "P");
+       return 0;
+ err_dma_unregister:
+       dma_async_device_unregister(dma_dev);
  
        return ret;
  }
  
+ static const struct ep93xx_edma_data edma_m2p = {
+       .id = M2P_DMA,
+       .num_channels = 10,
+ };
+ static const struct ep93xx_edma_data edma_m2m = {
+       .id = M2M_DMA,
+       .num_channels = 2,
+ };
+ static const struct of_device_id ep93xx_dma_of_ids[] = {
+       { .compatible = "cirrus,ep9301-dma-m2p", .data = &edma_m2p },
+       { .compatible = "cirrus,ep9301-dma-m2m", .data = &edma_m2m },
+       { /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(of, ep93xx_dma_of_ids);
  static const struct platform_device_id ep93xx_dma_driver_ids[] = {
        { "ep93xx-dma-m2p", 0 },
        { "ep93xx-dma-m2m", 1 },
  static struct platform_driver ep93xx_dma_driver = {
        .driver         = {
                .name   = "ep93xx-dma",
+               .of_match_table = ep93xx_dma_of_ids,
        },
        .id_table       = ep93xx_dma_driver_ids,
+       .probe          = ep93xx_dma_probe,
  };
  
- static int __init ep93xx_dma_module_init(void)
- {
-       return platform_driver_probe(&ep93xx_dma_driver, ep93xx_dma_probe);
- }
- subsys_initcall(ep93xx_dma_module_init);
+ module_platform_driver(ep93xx_dma_driver);
  
  MODULE_AUTHOR("Mika Westerberg <[email protected]>");
  MODULE_DESCRIPTION("EP93xx DMA driver");
diff --combined drivers/pinctrl/Kconfig
index 18306569ef5072399794293b93e2064fea8e6084,85f1c74330ce55444e63913f7f6d47653d406b5b..354536de564b67528204ec8a3c1e6dd8e173e08f
@@@ -194,6 -194,13 +194,13 @@@ config PINCTRL_DIGICOLO
        select PINMUX
        select GENERIC_PINCONF
  
+ config PINCTRL_EP93XX
+       bool
+       depends on ARCH_EP93XX || COMPILE_TEST
+       select PINMUX
+       select GENERIC_PINCONF
+       select MFD_SYSCON
  config PINCTRL_EQUILIBRIUM
        tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
        depends on OF && HAS_IOMEM
          desired pin functions, configure GPIO attributes for LGM SoC pins.
          Pin muxing and pin config settings are retrieved from device tree.
  
 +config PINCTRL_EYEQ5
 +      bool "Mobileye EyeQ5 pinctrl driver"
 +      depends on OF
 +      depends on MACH_EYEQ5 || COMPILE_TEST
 +      select PINMUX
 +      select GENERIC_PINCONF
 +      select AUXILIARY_BUS
 +      default MACH_EYEQ5
 +      help
 +        Pin controller driver for the Mobileye EyeQ5 platform. It does both
 +        pin config & pin muxing. It does not handle GPIO.
 +
 +        Pin muxing supports two functions for each pin: first is GPIO, second
 +        is pin-dependent. Pin config is about bias & drive strength.
 +
  config PINCTRL_GEMINI
        bool
        depends on ARCH_GEMINI
@@@ -598,7 -590,6 +605,7 @@@ source "drivers/pinctrl/qcom/Kconfig
  source "drivers/pinctrl/realtek/Kconfig"
  source "drivers/pinctrl/renesas/Kconfig"
  source "drivers/pinctrl/samsung/Kconfig"
 +source "drivers/pinctrl/sophgo/Kconfig"
  source "drivers/pinctrl/spear/Kconfig"
  source "drivers/pinctrl/sprd/Kconfig"
  source "drivers/pinctrl/starfive/Kconfig"
diff --combined drivers/pinctrl/Makefile
index 3c235515096159a91229b716fa0841b29b3318b0,f28602d95424a138d5056ddbf6b4fab553cab2f7..97823f52b972a36b359c30f50849330c2ad61f62
@@@ -23,7 -23,7 +23,8 @@@ obj-$(CONFIG_PINCTRL_DA850_PUPD) += pin
  obj-$(CONFIG_PINCTRL_DA9062)  += pinctrl-da9062.o
  obj-$(CONFIG_PINCTRL_DIGICOLOR)       += pinctrl-digicolor.o
  obj-$(CONFIG_PINCTRL_EQUILIBRIUM)   += pinctrl-equilibrium.o
+ obj-$(CONFIG_PINCTRL_EP93XX)  += pinctrl-ep93xx.o
 +obj-$(CONFIG_PINCTRL_EYEQ5)   += pinctrl-eyeq5.o
  obj-$(CONFIG_PINCTRL_GEMINI)  += pinctrl-gemini.o
  obj-$(CONFIG_PINCTRL_INGENIC) += pinctrl-ingenic.o
  obj-$(CONFIG_PINCTRL_K210)    += pinctrl-k210.o
@@@ -74,7 -74,6 +75,7 @@@ obj-y                         += qcom
  obj-$(CONFIG_ARCH_REALTEK)      += realtek/
  obj-$(CONFIG_PINCTRL_RENESAS) += renesas/
  obj-$(CONFIG_PINCTRL_SAMSUNG) += samsung/
 +obj-y                         += sophgo/
  obj-$(CONFIG_PINCTRL_SPEAR)   += spear/
  obj-y                         += sprd/
  obj-$(CONFIG_SOC_STARFIVE)    += starfive/
diff --combined drivers/soc/Makefile
index 56f476a12847f8a6c738840908a23759ffb05040,b10a52a91fe432fa7eb61a079cbdee55dbe1aa56..2037a8695cb2898659a434803dcdfa2d95b1dbd6
@@@ -8,6 -8,7 +8,7 @@@ obj-y                            += aspeed
  obj-$(CONFIG_ARCH_AT91)               += atmel/
  obj-y                         += bcm/
  obj-$(CONFIG_ARCH_CANAAN)     += canaan/
+ obj-$(CONFIG_EP93XX_SOC)        += cirrus/
  obj-$(CONFIG_ARCH_DOVE)               += dove/
  obj-$(CONFIG_MACH_DOVE)               += dove/
  obj-y                         += fsl/
@@@ -32,5 -33,5 +33,5 @@@ obj-y                         += sunxi
  obj-$(CONFIG_ARCH_TEGRA)      += tegra/
  obj-y                         += ti/
  obj-$(CONFIG_ARCH_U8500)      += ux500/
 -obj-$(CONFIG_PLAT_VERSATILE)  += versatile/
 +obj-y                         += versatile/
  obj-y                         += xilinx/
index d45862ceb0c9a54876a44546438e937dcbfed2cc,9e83cdf8a9432f368bcda662fe102e445565c86c..cca01c03f0486422fb2213844a0712e53f13172d
@@@ -24,7 -24,6 +24,6 @@@
  #include <sound/initval.h>
  #include <sound/soc.h>
  
- #include <linux/platform_data/dma-ep93xx.h>
  #include <linux/soc/cirrus/ep93xx.h>
  
  #include "ep93xx-pcm.h"
@@@ -80,19 -79,6 +79,6 @@@ struct ep93xx_i2s_info 
        struct snd_dmaengine_dai_dma_data dma_params_tx;
  };
  
- static struct ep93xx_dma_data ep93xx_i2s_dma_data[] = {
-       [SNDRV_PCM_STREAM_PLAYBACK] = {
-               .name           = "i2s-pcm-out",
-               .port           = EP93XX_DMA_I2S1,
-               .direction      = DMA_MEM_TO_DEV,
-       },
-       [SNDRV_PCM_STREAM_CAPTURE] = {
-               .name           = "i2s-pcm-in",
-               .port           = EP93XX_DMA_I2S1,
-               .direction      = DMA_DEV_TO_MEM,
-       },
- };
  static inline void ep93xx_i2s_write_reg(struct ep93xx_i2s_info *info,
                                        unsigned reg, unsigned val)
  {
@@@ -198,11 -184,6 +184,6 @@@ static int ep93xx_i2s_dai_probe(struct 
  {
        struct ep93xx_i2s_info *info = snd_soc_dai_get_drvdata(dai);
  
-       info->dma_params_tx.filter_data =
-               &ep93xx_i2s_dma_data[SNDRV_PCM_STREAM_PLAYBACK];
-       info->dma_params_rx.filter_data =
-               &ep93xx_i2s_dma_data[SNDRV_PCM_STREAM_CAPTURE];
        snd_soc_dai_init_dma_data(dai,  &info->dma_params_tx,
                                        &info->dma_params_rx);
  
@@@ -523,7 -504,7 +504,7 @@@ MODULE_DEVICE_TABLE(of, ep93xx_i2s_of_i
  
  static struct platform_driver ep93xx_i2s_driver = {
        .probe  = ep93xx_i2s_probe,
 -      .remove_new = ep93xx_i2s_remove,
 +      .remove = ep93xx_i2s_remove,
        .driver = {
                .name   = "ep93xx-i2s",
                .of_match_table = ep93xx_i2s_of_ids,
This page took 0.234746 seconds and 4 git commands to generate.