Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 Jun 2020 18:42:19 +0000 (11:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 Jun 2020 18:42:19 +0000 (11:42 -0700)
Pull clk updates from Stephen Boyd:
 "This time around we have four lines of diff in the core framework,
  removing a function that isn't used anymore. Otherwise the main new
  thing for the common clk framework is that it is selectable in the
  Kconfig language now. Hopefully this will let clk drivers and clk
  consumers be testable on more than the architectures that support the
  clk framework. The goal is to introduce some Kunit tests for the
  framework.

  Outside of the core framework we have the usual set of various driver
  updates and non-critical fixes. The dirstat shows that the new
  Baikal-T1 driver is the largest addition this time around in terms of
  lines of code. After that the x86 (Intel), Qualcomm, and Mediatek
  drivers introduce many lines to support new or upcoming SoCs. After
  that the dirstat shows the usual suspects working on their SoC support
  by fixing minor bugs, correcting data and converting some of their DT
  bindings to YAML.

  Core:
   - Allow the COMMON_CLK config to be selectable

  New Drivers:
   - Clk driver for Baikal-T1 SoCs
   - Mediatek MT6765 clock support
   - Support for Intel Agilex clks
   - Add support for X1830 and X1000 Ingenic SoC clk controllers
   - Add support for the new Renesas RZ/G1H (R8A7742) SoC
   - Add support for Qualcomm's MSM8939 Generic Clock Controller

  Updates:
   - Support IDT VersaClock 5P49V5925
   - Bunch of updates for HSDK clock generation unit (CGU) driver
   - Start making audio and GPU clks work on Marvell MMP2/MMP3 SoCs
   - Add some GPU, NPU, and UFS clks to Qualcomm SM8150 driver
   - Enable supply regulators for GPU gdscs on Qualcomm SoCs
   - Add support for Si5342, Si5344 and Si5345 chips
   - Support custom flags in Xilinx zynq firmware
   - Various small fixes to the Xilinx clk driver
   - A single minor rounding fix for the legacy Allwinner clock support
   - A few patches from Abel Vesa as preparation of adding audiomix
     clock support on i.MX
   - A couple of cleanups from Anson Huang for i.MX clk-sscg-pll and
     clk-pllv3 drivers
   - Drop dependency on ARM64 for i.MX8M clock driver, to support
     aarch32 mode on aarch64 hardware
   - A series from Peng Fan to improve i.MX8M clock drivers, using
     composite clock for core and bus clk slice
   - Set a better parent clock for flexcan on i.MX6UL to support CiA102
     defined bit rates
   - A couple changes for EMC frequency scaling on Tegra210
   - Support for CPU frequency scaling on Tegra20/Tegra30
   - New clk gate for CSI test pattern generator on Tegra210
   - Regression fixes for Samsung exynos542x and exynos5433 SoCs
   - Use of fallthrough; attribute for Samsung s3c24xx
   - Updates and fixup HDMI and video clocks on Meson8b
   - Fixup reset polarity on Meson8b
   - Fix GPU glitch free mux switch on Meson gx and g12
   - A minor fix for the currently unused suspend/resume handling on
     Renesas RZ/A1 and RZ/A2
   - Two more conversions of Renesas DT bindings to json-schema
   - Add support for the USB 2.0 clock selector on Renesas R-Car M3-W+"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (155 commits)
  clk: mediatek: Remove ifr{0,1}_cfg_regs structures
  clk: baikal-t1: remove redundant assignment to variable 'divider'
  clk: baikal-t1: fix spelling mistake "Uncompatible" -> "Incompatible"
  dt-bindings: clock: Add a missing include to MMP Audio Clock binding
  dt: Add bindings for IDT VersaClock 5P49V5925
  clk: vc5: Add support for IDT VersaClock 5P49V6965
  clk: Add Baikal-T1 CCU Dividers driver
  clk: Add Baikal-T1 CCU PLLs driver
  dt-bindings: clk: Add Baikal-T1 CCU Dividers binding
  dt-bindings: clk: Add Baikal-T1 CCU PLLs binding
  clk: mediatek: assign the initial value to clk_init_data of mtk_mux
  clk: mediatek: Add MT6765 clock support
  clk: mediatek: add mt6765 clock IDs
  dt-bindings: clock: mediatek: document clk bindings vcodecsys for Mediatek MT6765 SoC
  dt-bindings: clock: mediatek: document clk bindings mipi0a for Mediatek MT6765 SoC
  dt-bindings: clock: mediatek: document clk bindings for Mediatek MT6765 SoC
  CLK: HSDK: CGU: add support for 148.5MHz clock
  CLK: HSDK: CGU: support PLL bypassing
  CLK: HSDK: CGU: check if PLL is bypassed first
  clk: clk-si5341: Add support for the Si5345 series
  ...

21 files changed:
1  2 
Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt
Documentation/devicetree/bindings/arm/mediatek/mediatek,pericfg.yaml
Documentation/devicetree/bindings/clock/qcom,mmcc.yaml
Documentation/devicetree/bindings/clock/sprd,sc9863a-clk.yaml
MAINTAINERS
arch/Kconfig
arch/arm/Kconfig
arch/arm64/Kconfig.platforms
arch/mips/Kconfig
drivers/clk/Makefile
drivers/clk/clk.c
drivers/clk/mediatek/Kconfig
drivers/clk/mediatek/Makefile
drivers/clk/mmp/clk.h
drivers/clk/qcom/Kconfig
drivers/clk/qcom/gcc-sm8150.c
drivers/clk/sprd/sc9863a-clk.c
drivers/clk/zynqmp/clkc.c
drivers/clk/zynqmp/divider.c
drivers/mmc/host/Kconfig
include/dt-bindings/clock/tegra210-car.h

@@@ -1,14 -1,14 +1,15 @@@
  Mediatek mmsys controller
  ============================
  
 -The Mediatek mmsys controller provides various clocks to the system.
 +The Mediatek mmsys system controller provides clock control, routing control,
 +and miscellaneous control in mmsys partition.
  
  Required Properties:
  
  - compatible: Should be one of:
        - "mediatek,mt2701-mmsys", "syscon"
        - "mediatek,mt2712-mmsys", "syscon"
+       - "mediatek,mt6765-mmsys", "syscon"
        - "mediatek,mt6779-mmsys", "syscon"
        - "mediatek,mt6797-mmsys", "syscon"
        - "mediatek,mt7623-mmsys", "mediatek,mt2701-mmsys", "syscon"
        - "mediatek,mt8183-mmsys", "syscon"
  - #clock-cells: Must be 1
  
 -The mmsys controller uses the common clk binding from
 +For the clock control, the mmsys controller uses the common clk binding from
  Documentation/devicetree/bindings/clock/clock-bindings.txt
  The available clocks are defined in dt-bindings/clock/mt*-clk.h.
  
  Example:
  
 -mmsys: clock-controller@14000000 {
 +mmsys: syscon@14000000 {
        compatible = "mediatek,mt8173-mmsys", "syscon";
        reg = <0 0x14000000 0 0x1000>;
        #clock-cells = <1>;
index 55209a2,0000000..e271c46
mode 100644,000000..100644
--- /dev/null
@@@ -1,64 -1,0 +1,65 @@@
 +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
 +%YAML 1.2
 +---
 +$id: "http://devicetree.org/schemas/arm/mediatek/mediatek,pericfg.yaml#"
 +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
 +
 +title: MediaTek Peripheral Configuration Controller
 +
 +maintainers:
 +  - Bartosz Golaszewski <bgolaszewski@baylibre.com>
 +
 +description:
 +  The Mediatek pericfg controller provides various clocks and reset outputs
 +  to the system.
 +
 +properties:
 +  compatible:
 +    oneOf:
 +      - items:
 +        - enum:
 +          - mediatek,mt2701-pericfg
 +          - mediatek,mt2712-pericfg
++          - mediatek,mt6765-pericfg
 +          - mediatek,mt7622-pericfg
 +          - mediatek,mt7629-pericfg
 +          - mediatek,mt8135-pericfg
 +          - mediatek,mt8173-pericfg
 +          - mediatek,mt8183-pericfg
 +          - mediatek,mt8516-pericfg
 +        - const: syscon
 +      - items:
 +        # Special case for mt7623 for backward compatibility
 +        - const: mediatek,mt7623-pericfg
 +        - const: mediatek,mt2701-pericfg
 +        - const: syscon
 +
 +  reg:
 +    maxItems: 1
 +
 +  '#clock-cells':
 +    const: 1
 +
 +  '#reset-cells':
 +    const: 1
 +
 +required:
 +  - compatible
 +  - reg
 +
 +examples:
 +  - |
 +    pericfg@10003000 {
 +        compatible = "mediatek,mt8173-pericfg", "syscon";
 +        reg = <0x10003000 0x1000>;
 +        #clock-cells = <1>;
 +        #reset-cells = <1>;
 +    };
 +
 +  - |
 +    pericfg@10003000 {
 +        compatible =  "mediatek,mt7623-pericfg", "mediatek,mt2701-pericfg", "syscon";
 +        reg = <0x10003000 0x1000>;
 +        #clock-cells = <1>;
 +        #reset-cells = <1>;
 +    };
@@@ -15,15 -15,15 +15,15 @@@ description: 
    power domains.
  
  properties:
 -  compatible :
 +  compatible:
      enum:
 -       - qcom,mmcc-apq8064
 -       - qcom,mmcc-apq8084
 -       - qcom,mmcc-msm8660
 -       - qcom,mmcc-msm8960
 -       - qcom,mmcc-msm8974
 -       - qcom,mmcc-msm8996
 -       - qcom,mmcc-msm8998
 +      - qcom,mmcc-apq8064
 +      - qcom,mmcc-apq8084
 +      - qcom,mmcc-msm8660
 +      - qcom,mmcc-msm8960
 +      - qcom,mmcc-msm8974
 +      - qcom,mmcc-msm8996
 +      - qcom,mmcc-msm8998
  
    clocks:
      items:
      description:
         Protected clock specifier list as per common clock binding
  
+   vdd-gfx-supply:
+     description:
+       Regulator supply for the GPU_GX GDSC
  required:
    - compatible
    - reg
@@@ -28,6 -28,7 +28,7 @@@ properties
        - sprd,sc9863a-rpll
        - sprd,sc9863a-dpll
        - sprd,sc9863a-mm-gate
+       - sprd,sc9863a-mm-clk
        - sprd,sc9863a-apapb-gate
  
    clocks:
@@@ -76,24 -77,29 +77,24 @@@ examples
    - |
      ap_clk: clock-controller@21500000 {
        compatible = "sprd,sc9863a-ap-clk";
 -      reg = <0 0x21500000 0 0x1000>;
 +      reg = <0x21500000 0x1000>;
        clocks = <&ext_26m>, <&ext_32k>;
        clock-names = "ext-26m", "ext-32k";
        #clock-cells = <1>;
      };
  
    - |
 -    soc {
 -      #address-cells = <2>;
 -      #size-cells = <2>;
 -
 -      ap_ahb_regs: syscon@20e00000 {
 -        compatible = "sprd,sc9863a-glbregs", "syscon", "simple-mfd";
 -        reg = <0 0x20e00000 0 0x4000>;
 -        #address-cells = <1>;
 -        #size-cells = <1>;
 -        ranges = <0 0 0x20e00000 0x4000>;
 -
 -        apahb_gate: apahb-gate@0 {
 -          compatible = "sprd,sc9863a-apahb-gate";
 -          reg = <0x0 0x1020>;
 -          #clock-cells = <1>;
 -        };
 +    syscon@20e00000 {
 +      compatible = "sprd,sc9863a-glbregs", "syscon", "simple-mfd";
 +      reg = <0x20e00000 0x4000>;
 +      #address-cells = <1>;
 +      #size-cells = <1>;
 +      ranges = <0 0x20e00000 0x4000>;
 +
 +      apahb_gate: apahb-gate@0 {
 +        compatible = "sprd,sc9863a-apahb-gate";
 +        reg = <0x0 0x1020>;
 +        #clock-cells = <1>;
        };
      };
  
diff --combined MAINTAINERS
@@@ -147,7 -147,7 +147,7 @@@ Maintainers Lis
  M:    Steffen Klassert <klassert@kernel.org>
  L:    netdev@vger.kernel.org
  S:    Odd Fixes
 -F:    Documentation/networking/device_drivers/3com/vortex.txt
 +F:    Documentation/networking/device_drivers/3com/vortex.rst
  F:    drivers/net/ethernet/3com/3c59x.c
  
  3CR990 NETWORK DRIVER
@@@ -189,11 -189,11 +189,11 @@@ F:      drivers/net/hamradio/6pack.
  M:    Johannes Berg <johannes@sipsolutions.net>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/
 +W:    https://wireless.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  F:    Documentation/driver-api/80211/cfg80211.rst
 -F:    Documentation/networking/regulatory.txt
 +F:    Documentation/networking/regulatory.rst
  F:    include/linux/ieee80211.h
  F:    include/net/cfg80211.h
  F:    include/net/ieee80211_radiotap.h
@@@ -294,7 -294,6 +294,7 @@@ F: drivers/gpio/gpio-104-idio-16.
  
  ACCES 104-QUAD-8 DRIVER
  M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +M:    Syed Nayyar Waris <syednwaris@gmail.com>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-counter-104-quad-8
@@@ -506,7 -505,7 +506,7 @@@ F: drivers/hwmon/adm1029.
  ADM8211 WIRELESS DRIVER
  L:    linux-wireless@vger.kernel.org
  S:    Orphan
 -W:    http://wireless.kernel.org/
 +W:    https://wireless.wiki.kernel.org/
  F:    drivers/net/wireless/admtek/adm8211.*
  
  ADP1653 FLASH CONTROLLER DRIVER
@@@ -571,7 -570,7 +571,7 @@@ F: Documentation/devicetree/bindings/ii
  F:    drivers/input/misc/adxl34x.c
  
  ADXL372 THREE-AXIS DIGITAL ACCELEROMETER DRIVER
 -M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Michael Hennerich <michael.hennerich@analog.com>
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
  F:    Documentation/devicetree/bindings/iio/accel/adi,adxl372.yaml
@@@ -816,7 -815,7 +816,7 @@@ R: Saeed Bishara <saeedb@amazon.com
  R:    Zorik Machulsky <zorik@amazon.com>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/device_drivers/amazon/ena.txt
 +F:    Documentation/networking/device_drivers/amazon/ena.rst
  F:    drivers/net/ethernet/amazon/
  
  AMAZON RDMA EFA DRIVER
@@@ -843,13 -842,6 +843,13 @@@ S:       Supporte
  T:    git git://people.freedesktop.org/~agd5f/linux
  F:    drivers/gpu/drm/amd/display/
  
 +AMD ENERGY DRIVER
 +M:    Naveen Krishna Chatradhi <nchatrad@amd.com>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/amd_energy.rst
 +F:    drivers/hwmon/amd_energy.c
 +
  AMD FAM15H PROCESSOR POWER MONITORING DRIVER
  M:    Huang Rui <ray.huang@amd.com>
  L:    linux-hwmon@vger.kernel.org
@@@ -900,11 -892,6 +900,11 @@@ F:       drivers/gpu/drm/amd/include/v9_struc
  F:    drivers/gpu/drm/amd/include/vi_structs.h
  F:    include/uapi/linux/kfd_ioctl.h
  
 +AMD SPI DRIVER
 +M:    Sanjay R Mehta <sanju.mehta@amd.com>
 +S:    Maintained
 +F:    drivers/spi/spi-amd.c
 +
  AMD MP2 I2C DRIVER
  M:    Elie Morisse <syniurge@gmail.com>
  M:    Nehal Shah <nehal-bakulchandra.shah@amd.com>
@@@ -935,7 -922,7 +935,7 @@@ F: arch/arm64/boot/dts/amd/amd-seattle-
  F:    drivers/net/ethernet/amd/xgbe/
  
  ANALOG DEVICES INC AD5686 DRIVER
 -M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Michael Hennerich <Michael.Hennerich@analog.com>
  L:    linux-pm@vger.kernel.org
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -943,7 -930,7 +943,7 @@@ F: drivers/iio/dac/ad5686
  F:    drivers/iio/dac/ad5696*
  
  ANALOG DEVICES INC AD5758 DRIVER
 -M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Michael Hennerich <Michael.Hennerich@analog.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -959,7 -946,7 +959,7 @@@ F: Documentation/devicetree/bindings/ii
  F:    drivers/iio/adc/ad7091r5.c
  
  ANALOG DEVICES INC AD7124 DRIVER
 -M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Michael Hennerich <Michael.Hennerich@analog.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -983,7 -970,7 +983,7 @@@ F: Documentation/devicetree/bindings/ii
  F:    drivers/iio/adc/ad7292.c
  
  ANALOG DEVICES INC AD7606 DRIVER
 -M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Michael Hennerich <Michael.Hennerich@analog.com>
  M:    Beniamin Bia <beniamin.bia@analog.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
@@@ -992,7 -979,7 +992,7 @@@ F: Documentation/devicetree/bindings/ii
  F:    drivers/iio/adc/ad7606.c
  
  ANALOG DEVICES INC AD7768-1 DRIVER
 -M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Michael Hennerich <Michael.Hennerich@analog.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -1043,14 -1030,6 +1043,14 @@@ W:    http://ez.analog.com/community/linux
  F:    Documentation/devicetree/bindings/iio/imu/adi,adis16460.yaml
  F:    drivers/iio/imu/adis16460.c
  
 +ANALOG DEVICES INC ADIS16475 DRIVER
 +M:    Nuno Sa <nuno.sa@analog.com>
 +L:    linux-iio@vger.kernel.org
 +W:    http://ez.analog.com/community/linux-device-drivers
 +S:    Supported
 +F:    drivers/iio/imu/adis16475.c
 +F:    Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml
 +
  ANALOG DEVICES INC ADM1177 DRIVER
  M:    Beniamin Bia <beniamin.bia@analog.com>
  M:    Michael Hennerich <Michael.Hennerich@analog.com>
@@@ -1061,7 -1040,7 +1061,7 @@@ F:      Documentation/devicetree/bindings/hw
  F:    drivers/hwmon/adm1177.c
  
  ANALOG DEVICES INC ADP5061 DRIVER
 -M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Michael Hennerich <Michael.Hennerich@analog.com>
  L:    linux-pm@vger.kernel.org
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -1130,6 -1109,7 +1130,6 @@@ F:      drivers/iio/amplifiers/hmc425a.
  ANALOG DEVICES INC IIO DRIVERS
  M:    Lars-Peter Clausen <lars@metafoo.de>
  M:    Michael Hennerich <Michael.Hennerich@analog.com>
 -M:    Stefan Popa <stefan.popa@analog.com>
  S:    Supported
  W:    http://wiki.analog.com/
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -1295,7 -1275,7 +1295,7 @@@ L:      netdev@vger.kernel.or
  S:    Supported
  W:    https://www.marvell.com/
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
 -F:    Documentation/networking/device_drivers/aquantia/atlantic.txt
 +F:    Documentation/networking/device_drivers/aquantia/atlantic.rst
  F:    drivers/net/ethernet/aquantia/atlantic/
  
  AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM
@@@ -1343,10 -1323,7 +1343,10 @@@ ARM INTEGRATOR, VERSATILE AND REALVIEW 
  M:    Linus Walleij <linus.walleij@linaro.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -F:    Documentation/devicetree/bindings/arm/arm-boards
 +F:    Documentation/devicetree/bindings/arm/arm,integrator.yaml
 +F:    Documentation/devicetree/bindings/arm/arm,realview.yaml
 +F:    Documentation/devicetree/bindings/arm/arm,versatile.yaml
 +F:    Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml
  F:    Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt
  F:    Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
  F:    Documentation/devicetree/bindings/i2c/i2c-versatile.txt
@@@ -1359,11 -1336,10 +1359,11 @@@ F:   arch/arm/mach-integrator
  F:    arch/arm/mach-realview/
  F:    arch/arm/mach-versatile/
  F:    arch/arm/plat-versatile/
 +F:    drivers/bus/arm-integrator-lm.c
  F:    drivers/clk/versatile/
  F:    drivers/i2c/busses/i2c-versatile.c
  F:    drivers/irqchip/irq-versatile-fpga.c
 -F:    drivers/mtd/maps/physmap_of_versatile.c
 +F:    drivers/mtd/maps/physmap-versatile.*
  F:    drivers/power/reset/arm-versatile-reboot.c
  F:    drivers/soc/versatile/
  
@@@ -1478,13 -1454,6 +1478,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt
  F:    drivers/irqchip/irq-vic.c
  
 +ARM SMC WATCHDOG DRIVER
 +M:    Julius Werner <jwerner@chromium.org>
 +R:    Evan Benn <evanbenn@chromium.org>
 +S:    Maintained
 +F:    devicetree/bindings/watchdog/arm-smc-wdt.yaml
 +F:    drivers/watchdog/arm_smc_wdt.c
 +
  ARM SMMU DRIVERS
  M:    Will Deacon <will@kernel.org>
  R:    Robin Murphy <robin.murphy@arm.com>
@@@ -1713,6 -1682,11 +1713,6 @@@ S:     Maintaine
  T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git clkdev
  F:    drivers/clk/clkdev.c
  
 -ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
 -M:    Mike Rapoport <mike@compulab.co.il>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -
  ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
  M:    Baruch Siach <baruch@tkos.co.il>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -2021,7 -1995,6 +2021,7 @@@ F:      arch/arm/mach-dove
  F:    arch/arm/mach-mv78xx0/
  F:    arch/arm/mach-orion5x/
  F:    arch/arm/plat-orion/
 +F:    drivers/soc/dove/
  
  ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K, CN9130 SOC support
  M:    Jason Cooper <jason@lakedaemon.net>
@@@ -2190,7 -2163,6 +2190,7 @@@ L:      linux-oxnas@groups.io (moderated fo
  S:    Maintained
  F:    arch/arm/boot/dts/ox8*.dts*
  F:    arch/arm/mach-oxnas/
 +F:    drivers/power/reset/oxnas-restart.c
  N:    oxnas
  
  ARM/PALM TREO SUPPORT
@@@ -2251,7 -2223,6 +2251,7 @@@ F:      drivers/*/qcom
  F:    drivers/*/qcom/
  F:    drivers/bluetooth/btqcomsmd.c
  F:    drivers/clocksource/timer-qcom.c
 +F:    drivers/cpuidle/cpuidle-qcom-spm.c
  F:    drivers/extcon/extcon-qcom*
  F:    drivers/i2c/busses/i2c-qcom-geni.c
  F:    drivers/i2c/busses/i2c-qup.c
@@@ -2299,8 -2270,6 +2299,8 @@@ L:      linux-arm-kernel@lists.infradead.or
  L:    linux-realtek-soc@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/realtek.yaml
 +F:    arch/arm/boot/dts/rtd*
 +F:    arch/arm/mach-realtek/
  F:    arch/arm64/boot/dts/realtek/
  
  ARM/RENESAS ARM64 ARCHITECTURE
@@@ -2723,8 -2692,8 +2723,8 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Supported
  W:    http://wiki.xilinx.com
  T:    git https://github.com/Xilinx/linux-xlnx.git
 -F:    Documentation/devicetree/bindings/i2c/i2c-cadence.txt
 -F:    Documentation/devicetree/bindings/i2c/i2c-xiic.txt
 +F:    Documentation/devicetree/bindings/i2c/cdns,i2c-r1p10.yaml
 +F:    Documentation/devicetree/bindings/i2c/xlnx,xps-iic-2.00.a.yaml
  F:    arch/arm/mach-zynq/
  F:    drivers/block/xsysace.c
  F:    drivers/clocksource/timer-cadence-ttc.c
@@@ -2878,14 -2847,14 +2878,14 @@@ M:   Nick Kossifidis <mickflemm@gmail.com
  M:    Luis Chamberlain <mcgrof@kernel.org>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/en/users/Drivers/ath5k
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath5k
  F:    drivers/net/wireless/ath/ath5k/
  
  ATHEROS ATH6KL WIRELESS DRIVER
  M:    Kalle Valo <kvalo@codeaurora.org>
  L:    linux-wireless@vger.kernel.org
  S:    Supported
 -W:    http://wireless.kernel.org/en/users/Drivers/ath6kl
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath6kl
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
  F:    drivers/net/wireless/ath/ath6kl/
  
@@@ -3048,7 -3017,7 +3048,7 @@@ B43 WIRELESS DRIVE
  L:    linux-wireless@vger.kernel.org
  L:    b43-dev@lists.infradead.org
  S:    Odd Fixes
 -W:    http://wireless.kernel.org/en/users/Drivers/b43
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/b43
  F:    drivers/net/wireless/broadcom/b43/
  
  B43LEGACY WIRELESS DRIVER
@@@ -3056,7 -3025,7 +3056,7 @@@ M:      Larry Finger <Larry.Finger@lwfinger.
  L:    linux-wireless@vger.kernel.org
  L:    b43-dev@lists.infradead.org
  S:    Maintained
 -W:    http://wireless.kernel.org/en/users/Drivers/b43
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/b43
  F:    drivers/net/wireless/broadcom/b43legacy/
  
  BACKLIGHT CLASS/SUBSYSTEM
@@@ -3220,7 -3189,7 +3220,7 @@@ Q:      https://patchwork.ozlabs.org/project
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
  F:    Documentation/bpf/
 -F:    Documentation/networking/filter.txt
 +F:    Documentation/networking/filter.rst
  F:    arch/*/net/*
  F:    include/linux/bpf*
  F:    include/linux/filter.h
@@@ -3349,7 -3318,7 +3349,7 @@@ L:      bcm-kernel-feedback-list@broadcom.co
  L:    linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://github.com/anholt/linux
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git
  F:    Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
  F:    drivers/pci/controller/pcie-brcmstb.c
  F:    drivers/staging/vc04_services
@@@ -3510,14 -3479,6 +3510,14 @@@ S:    Supporte
  F:    Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml
  F:    drivers/i2c/busses/i2c-brcmstb.c
  
 +BROADCOM BRCMSTB USB EHCI DRIVER
 +M:    Al Cooper <alcooperx@gmail.com>
 +L:    linux-usb@vger.kernel.org
 +L:    bcm-kernel-feedback-list@broadcom.com
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml
 +F:    drivers/usb/host/ehci-brcm.*
 +
  BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER
  M:    Al Cooper <alcooperx@gmail.com>
  L:    linux-kernel@vger.kernel.org
@@@ -3694,7 -3655,7 +3694,7 @@@ L:      linux-btrfs@vger.kernel.or
  S:    Maintained
  W:    http://btrfs.wiki.kernel.org/
  Q:    http://patchwork.kernel.org/project/linux-btrfs/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git
  F:    Documentation/filesystems/btrfs.rst
  F:    fs/btrfs/
  F:    include/linux/btrfs*
@@@ -3706,7 -3667,7 +3706,7 @@@ L:      linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/bttv*
 +F:    Documentation/driver-api/media/drivers/bttv*
  F:    drivers/media/pci/bt8xx/bttv*
  
  BUS FREQUENCY DRIVER FOR SAMSUNG EXYNOS
@@@ -3767,7 -3728,7 +3767,7 @@@ CACHEFILES: FS-CACHE BACKEND FOR CACHIN
  M:    David Howells <dhowells@redhat.com>
  L:    linux-cachefs@redhat.com (moderated for non-subscribers)
  S:    Supported
 -F:    Documentation/filesystems/caching/cachefiles.txt
 +F:    Documentation/filesystems/caching/cachefiles.rst
  F:    fs/cachefiles/
  
  CADENCE MIPI-CSI2 BRIDGES
@@@ -3797,7 -3758,7 +3797,7 @@@ M:      Jonathan Corbet <corbet@lwn.net
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/cafe_ccic*
 +F:    Documentation/admin-guide/media/cafe_ccic*
  F:    drivers/media/platform/marvell-ccic/
  
  CAIF NETWORK LAYER
@@@ -3879,7 -3840,7 +3879,7 @@@ CARL9170 LINUX COMMUNITY WIRELESS DRIVE
  M:    Christian Lamparter <chunkeey@googlemail.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/en/users/Drivers/carl9170
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/carl9170
  F:    drivers/net/wireless/ath/carl9170/
  
  CAVIUM I2C DRIVER
@@@ -3933,15 -3894,6 +3933,15 @@@ S:    Supporte
  W:    https://developer.arm.com/products/system-ip/trustzone-cryptocell/cryptocell-700-family
  F:    drivers/crypto/ccree/
  
 +CCTRNG ARM TRUSTZONE CRYPTOCELL TRUE RANDOM NUMBER GENERATOR (TRNG) DRIVER
 +M:    Hadar Gat <hadar.gat@arm.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Supported
 +F:    drivers/char/hw_random/cctrng.c
 +F:    drivers/char/hw_random/cctrng.h
 +F:    Documentation/devicetree/bindings/rng/arm-cctrng.txt
 +W:    https://developer.arm.com/products/system-ip/trustzone-cryptocell/cryptocell-700-family
 +
  CEC FRAMEWORK
  M:    Hans Verkuil <hverkuil-cisco@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -3950,8 -3902,8 +3950,8 @@@ W:      http://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    Documentation/ABI/testing/debugfs-cec-error-inj
  F:    Documentation/devicetree/bindings/media/cec.txt
 -F:    Documentation/media/kapi/cec-core.rst
 -F:    Documentation/media/uapi/cec
 +F:    Documentation/driver-api/media/cec-core.rst
 +F:    Documentation/userspace-api/media/cec
  F:    drivers/media/cec/
  F:    drivers/media/rc/keymaps/rc-cec.c
  F:    include/media/cec-notifier.h
@@@ -3979,18 -3931,14 +3979,18 @@@ F:   arch/powerpc/include/uapi/asm/spu*.
  F:    arch/powerpc/oprofile/*cell*
  F:    arch/powerpc/platforms/cell/
  
 +CELLWISE CW2015 BATTERY DRIVER
 +M:    Tobias Schrammm <t.schramm@manjaro.org>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml
 +F:    drivers/power/supply/cw2015_battery.c
 +
  CEPH COMMON CODE (LIBCEPH)
  M:    Ilya Dryomov <idryomov@gmail.com>
  M:    Jeff Layton <jlayton@kernel.org>
 -M:    Sage Weil <sage@redhat.com>
  L:    ceph-devel@vger.kernel.org
  S:    Supported
  W:    http://ceph.com/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
  T:    git git://github.com/ceph/ceph-client.git
  F:    include/linux/ceph/
  F:    include/linux/crush/
@@@ -3998,10 -3946,12 +3998,10 @@@ F:   net/ceph
  
  CEPH DISTRIBUTED FILE SYSTEM CLIENT (CEPH)
  M:    Jeff Layton <jlayton@kernel.org>
 -M:    Sage Weil <sage@redhat.com>
  M:    Ilya Dryomov <idryomov@gmail.com>
  L:    ceph-devel@vger.kernel.org
  S:    Supported
  W:    http://ceph.com/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
  T:    git git://github.com/ceph/ceph-client.git
  F:    Documentation/filesystems/ceph.rst
  F:    fs/ceph/
@@@ -4112,11 -4062,12 +4112,11 @@@ M:   Charles Keepax <ckeepax@opensource.c
  M:    Richard Fitzgerald <rf@opensource.cirrus.com>
  L:    patches@opensource.cirrus.com
  S:    Supported
 -F:    Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
 -F:    Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
 +F:    Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
 +F:    Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
  F:    Documentation/hwmon/lochnagar.rst
  F:    drivers/clk/clk-lochnagar.c
  F:    drivers/hwmon/lochnagar-hwmon.c
@@@ -4136,9 -4087,9 +4136,9 @@@ L:      patches@opensource.cirrus.co
  S:    Supported
  W:    https://github.com/CirrusLogic/linux-drivers/wiki
  T:    git https://github.com/CirrusLogic/linux-drivers.git
 -F:    Documentation/devicetree/bindings/mfd/madera.txt
 -F:    Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt
 -F:    Documentation/devicetree/bindings/sound/madera.txt
 +F:    Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
 +F:    Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml
 +F:    Documentation/devicetree/bindings/sound/cirrus,madera.yaml
  F:    drivers/gpio/gpio-madera*
  F:    drivers/irqchip/irq-madera*
  F:    drivers/mfd/cs47l*
@@@ -4249,7 -4200,7 +4249,7 @@@ M:      coda@cs.cmu.ed
  L:    codalist@coda.cs.cmu.edu
  S:    Maintained
  W:    http://www.coda.cs.cmu.edu/
 -F:    Documentation/filesystems/coda.txt
 +F:    Documentation/filesystems/coda.rst
  F:    fs/coda/
  F:    include/linux/coda*.h
  F:    include/uapi/linux/coda*.h
@@@ -4588,7 -4539,7 +4588,7 @@@ L:      linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/cx88*
 +F:    Documentation/driver-api/media/drivers/cx88*
  F:    drivers/media/pci/cx88/
  
  CXD2820R MEDIA DRIVER
@@@ -4740,7 -4691,7 +4740,7 @@@ F:      net/ax25/sysctl_net_ax25.
  DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
  L:    netdev@vger.kernel.org
  S:    Orphan
 -F:    Documentation/networking/device_drivers/dec/dmfe.txt
 +F:    Documentation/networking/device_drivers/dec/dmfe.rst
  F:    drivers/net/ethernet/dec/tulip/dmfe.c
  
  DC390/AM53C974 SCSI driver
@@@ -4774,7 -4725,7 +4774,7 @@@ DECnet NETWORK LAYE
  L:    linux-decnet-user@lists.sourceforge.net
  S:    Orphan
  W:    http://linux-decnet.sourceforge.net
 -F:    Documentation/networking/decnet.txt
 +F:    Documentation/networking/decnet.rst
  F:    net/decnet/
  
  DECSTATION PLATFORM SUPPORT
@@@ -5042,7 -4993,7 +5042,7 @@@ M:      Jan Kara <jack@suse.cz
  R:    Amir Goldstein <amir73il@gmail.com>
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
 -F:    Documentation/filesystems/dnotify.txt
 +F:    Documentation/filesystems/dnotify.rst
  F:    fs/notify/dnotify/
  F:    include/linux/dnotify.h
  
@@@ -5056,7 -5007,7 +5056,7 @@@ W:      http://www.win.tue.nl/~aeb/partition
  DISKQUOTA
  M:    Jan Kara <jack@suse.com>
  S:    Maintained
 -F:    Documentation/filesystems/quota.txt
 +F:    Documentation/filesystems/quota.rst
  F:    fs/quota/
  F:    include/linux/quota*.h
  F:    include/uapi/linux/quota*.h
@@@ -5091,7 -5042,7 +5091,7 @@@ F:      drivers/dma-buf
  F:    include/linux/*fence.h
  F:    include/linux/dma-buf*
  F:    include/linux/dma-resv.h
 -K:    dma_(buf|fence|resv)
 +K:    \bdma_(?:buf|fence|resv)\b
  
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
  M:    Vinod Koul <vkoul@kernel.org>
@@@ -5171,14 -5122,12 +5171,14 @@@ F:   scripts/documentation-file-ref-chec
  F:    scripts/kernel-doc
  F:    scripts/sphinx-pre-install
  X:    Documentation/ABI/
 +X:    Documentation/admin-guide/media/
  X:    Documentation/devicetree/
 +X:    Documentation/driver-api/media/
  X:    Documentation/firmware-guide/acpi/
  X:    Documentation/i2c/
 -X:    Documentation/media/
  X:    Documentation/power/
  X:    Documentation/spi/
 +X:    Documentation/userspace-api/media/
  
  DOCUMENTATION SCRIPTS
  M:    Mauro Carvalho Chehab <mchehab@kernel.org>
@@@ -5224,7 -5173,6 +5224,7 @@@ S:      Maintaine
  F:    drivers/soc/fsl/dpio
  
  DPAA2 ETHERNET DRIVER
 +M:    Ioana Ciornei <ioana.ciornei@nxp.com>
  M:    Ioana Radulescu <ruxandra.radulescu@nxp.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
@@@ -5305,7 -5253,7 +5305,7 @@@ DRM DRIVER FOR ARM VERSATILE TFT PANEL
  M:    Linus Walleij <linus.walleij@linaro.org>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/panel/arm,versatile-tft-panel.txt
 +F:    Documentation/devicetree/bindings/display/panel/arm,versatile-tft-panel.yaml
  F:    drivers/gpu/drm/panel/panel-arm-versatile.c
  
  DRM DRIVER FOR ASPEED BMC GFX
@@@ -5331,7 -5279,7 +5331,7 @@@ F:      drivers/gpu/drm/bochs
  DRM DRIVER FOR BOE HIMAX8279D PANELS
  M:    Jerry Han <hanxu5@huaqin.corp-partner.google.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/boe,himax8279d.txt
 +F:    Documentation/devicetree/bindings/display/panel/boe,himax8279d.yaml
  F:    drivers/gpu/drm/panel/panel-boe-himax8279d.c
  
  DRM DRIVER FOR FARADAY TVE200 TV ENCODER
@@@ -5349,7 -5297,7 +5349,7 @@@ F:      drivers/gpu/drm/panel/panel-feixin-k
  DRM DRIVER FOR FEIYANG FY07024DI26A30-D MIPI-DSI LCD PANELS
  M:    Jagan Teki <jagan@amarulasolutions.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.txt
 +F:    Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.yaml
  F:    drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
  
  DRM DRIVER FOR GRAIN MEDIA GM12U320 PROJECTORS
@@@ -5384,14 -5332,6 +5384,14 @@@ S:    Orphan / Obsolet
  F:    drivers/gpu/drm/i810/
  F:    include/uapi/drm/i810_drm.h
  
 +DRM DRIVER FOR LVDS PANELS
 +M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 +L:    dri-devel@lists.freedesktop.org
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +S:    Maintained
 +F:    drivers/gpu/drm/panel/panel-lvds.c
 +F:    Documentation/devicetree/bindings/display/panel/lvds.yaml
 +
  DRM DRIVER FOR MATROX G200/G400 GRAPHICS CARDS
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/mga/
@@@ -5440,7 -5380,7 +5440,7 @@@ F:      include/uapi/drm/nouveau_drm.
  DRM DRIVER FOR OLIMEX LCD-OLINUXINO PANELS
  M:    Stefan Mavrodiev <stefan@olimex.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/olimex,lcd-olinuxino.txt
 +F:    Documentation/devicetree/bindings/display/panel/olimex,lcd-olinuxino.yaml
  F:    drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
  
  DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
@@@ -5457,7 -5397,7 +5457,7 @@@ L:      virtualization@lists.linux-foundatio
  S:    Obsolete
  W:    https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    drivers/gpu/drm/cirrus/
 +F:    drivers/gpu/drm/tiny/cirrus.c
  
  DRM DRIVER FOR QXL VIRTUAL GPU
  M:    Dave Airlie <airlied@redhat.com>
@@@ -5507,7 -5447,7 +5507,7 @@@ F:      drivers/gpu/drm/tiny/st7586.
  DRM DRIVER FOR SITRONIX ST7701 PANELS
  M:    Jagan Teki <jagan@amarulasolutions.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/display/panel/sitronix,st7701.txt
 +F:    Documentation/devicetree/bindings/display/panel/sitronix,st7701.yaml
  F:    drivers/gpu/drm/panel/panel-sitronix-st7701.c
  
  DRM DRIVER FOR SITRONIX ST7735R PANELS
@@@ -5568,10 -5508,10 +5568,10 @@@ F:   drivers/gpu/drm/vboxvideo
  
  DRM DRIVER FOR VMWARE VIRTUAL GPU
  M:    "VMware Graphics" <linux-graphics-maintainer@vmware.com>
 -M:    Thomas Hellstrom <thellstrom@vmware.com>
 +M:    Roland Scheidegger <sroland@vmware.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
 -T:    git git://people.freedesktop.org/~thomash/linux
 +T:    git git://people.freedesktop.org/~sroland/linux
  F:    drivers/gpu/drm/vmwgfx/
  F:    include/uapi/drm/vmwgfx_drm.h
  
@@@ -5612,7 -5552,7 +5612,7 @@@ M:      Chen-Yu Tsai <wens@csie.org
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
 +F:    Documentation/devicetree/bindings/display/allwinner*
  F:    drivers/gpu/drm/sun4i/
  
  DRM DRIVERS FOR AMLOGIC SOCS
@@@ -5992,7 -5932,6 +5992,7 @@@ F:      lib/dynamic_debug.
  DYNAMIC INTERRUPT MODERATION
  M:    Tal Gilboa <talgi@mellanox.com>
  S:    Maintained
 +F:    Documentation/networking/net_dim.rst
  F:    include/linux/dim.h
  F:    lib/dim/
  
@@@ -6233,6 -6172,7 +6233,6 @@@ M:      Yash Shah <yash.shah@sifive.com
  L:    linux-edac@vger.kernel.org
  S:    Supported
  F:    drivers/edac/sifive_edac.c
 -F:    drivers/soc/sifive_l2_cache.c
  
  EDAC-SKYLAKE
  M:    Tony Luck <tony.luck@intel.com>
@@@ -6292,7 -6232,7 +6292,7 @@@ L:      linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/em28xx*
 +F:    Documentation/admin-guide/media/em28xx*
  F:    drivers/media/usb/em28xx/
  
  EMBEDDED LINUX
@@@ -6773,13 -6713,6 +6773,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/crypto/fsl-sec4.txt
  F:    drivers/crypto/caam/
  
 +FREESCALE COLDFIRE M5441X MMC DRIVER
 +M:    Angelo Dureghello <angelo.dureghello@timesys.com>
 +L:    linux-mmc@vger.kernel.org
 +S:    Maintained
 +F:    drivers/mmc/host/sdhci-esdhc-mcf.c
 +F:    include/linux/platform_data/mmc-esdhc-mcf.h
 +
  FREESCALE DIU FRAMEBUFFER DRIVER
  M:    Timur Tabi <timur@kernel.org>
  L:    linux-fbdev@vger.kernel.org
@@@ -7087,30 -7020,18 +7087,30 @@@ R:   Darren Hart <dvhart@infradead.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
 -F:    Documentation/*futex*
 +F:    Documentation/locking/*futex*
  F:    include/asm-generic/futex.h
  F:    include/linux/futex.h
  F:    include/uapi/linux/futex.h
  F:    kernel/futex.c
  F:    tools/perf/bench/futex*
 -F:    tools/testing/selftests/futex/
 +F:    Documentation/locking/*futex*
 +
 +GATEWORKS SYSTEM CONTROLLER (GSC) DRIVER
 +M:    Tim Harvey <tharvey@gateworks.com>
 +M:    Robert Jones <rjones@gateworks.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml
 +F:    drivers/mfd/gateworks-gsc.c
 +F:    include/linux/mfd/gsc.h
 +F:    Documentation/hwmon/gsc-hwmon.rst
 +F:    drivers/hwmon/gsc-hwmon.c
 +F:    include/linux/platform_data/gsc_hwmon.h
  
  GASKET DRIVER FRAMEWORK
  M:    Rob Springer <rspringer@google.com>
  M:    Todd Poynor <toddpoynor@google.com>
  M:    Ben Chan <benchan@chromium.org>
 +M:    Richard Yeh <rcy@google.com>
  S:    Maintained
  F:    drivers/staging/gasket/
  
@@@ -7194,10 -7115,9 +7194,10 @@@ F:    include/uapi/asm-generic
  
  GENERIC PHY FRAMEWORK
  M:    Kishon Vijay Abraham I <kishon@ti.com>
 +M:    Vinod Koul <vkoul@kernel.org>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git
  F:    Documentation/devicetree/bindings/phy/
  F:    drivers/phy/
  F:    include/linux/phy/
@@@ -7258,7 -7178,7 +7258,7 @@@ L:      cluster-devel@redhat.co
  S:    Supported
  W:    http://sources.redhat.com/cluster/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
 -F:    Documentation/filesystems/gfs2*.txt
 +F:    Documentation/filesystems/gfs2*
  F:    fs/gfs2/
  F:    include/uapi/linux/gfs2_ondisk.h
  
@@@ -7308,13 -7228,6 +7308,13 @@@ F:    Documentation/firmware-guide/acpi/gp
  F:    drivers/gpio/gpiolib-acpi.c
  F:    drivers/gpio/gpiolib-acpi.h
  
 +GPIO AGGREGATOR
 +M:    Geert Uytterhoeven <geert+renesas@glider.be>
 +L:    linux-gpio@vger.kernel.org
 +S:    Supported
 +F:    Documentation/admin-guide/gpio/gpio-aggregator.rst
 +F:    drivers/gpio/gpio-aggregator.c
 +
  GPIO IR Transmitter
  M:    Sean Young <sean@mess.org>
  L:    linux-media@vger.kernel.org
@@@ -7328,12 -7241,6 +7328,12 @@@ S:    Maintaine
  F:    drivers/gpio/gpio-mockup.c
  F:    tools/testing/selftests/gpio/
  
 +GPIO REGMAP
 +R:    Michael Walle <michael@walle.cc>
 +S:    Maintained
 +F:    drivers/gpio/gpio-regmap.c
 +F:    include/linux/gpio/regmap.h
 +
  GPIO SUBSYSTEM
  M:    Linus Walleij <linus.walleij@linaro.org>
  M:    Bartosz Golaszewski <bgolaszewski@baylibre.com>
@@@ -7547,7 -7454,7 +7547,7 @@@ L:      linux-media@vger.kernel.or
  L:    linux-rockchip@lists.infradead.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml
 -F:    Documentation/devicetree/bindings/media/rockchip-vpu.txt
 +F:    Documentation/devicetree/bindings/media/rockchip-vpu.yaml
  F:    drivers/staging/media/hantro/
  
  HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
@@@ -7588,7 -7495,7 +7588,7 @@@ L:      linux-remoteproc@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git hwspinlock-next
  F:    Documentation/devicetree/bindings/hwlock/
 -F:    Documentation/hwspinlock.txt
 +F:    Documentation/locking/hwspinlock.rst
  F:    drivers/hwspinlock/
  F:    include/linux/hwspinlock.h
  
@@@ -7821,9 -7728,7 +7821,9 @@@ L:      linux-mm@kvack.or
  S:    Maintained
  F:    Documentation/vm/hmm.rst
  F:    include/linux/hmm*
 +F:    lib/test_hmm*
  F:    mm/hmm*
 +F:    tools/testing/selftests/vm/*hmm*
  
  HOST AP DRIVER
  M:    Jouni Malinen <j@w1.fi>
@@@ -7837,6 -7742,11 +7837,6 @@@ L:     platform-driver-x86@vger.kernel.or
  S:    Orphan
  F:    drivers/platform/x86/tc1100-wmi.c
  
 -HP100:        Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
 -M:    Jaroslav Kysela <perex@perex.cz>
 -S:    Obsolete
 -F:    drivers/staging/hp/hp100.*
 -
  HPET: High Precision Event Timers driver
  M:    Clemens Ladisch <clemens@ladisch.de>
  S:    Maintained
@@@ -7897,10 -7807,10 +7897,10 @@@ F:   Documentation/devicetree/bindings/ii
  F:    drivers/iio/humidity/hts221*
  
  HUAWEI ETHERNET DRIVER
 -M:    Aviad Krawczyk <aviad.krawczyk@huawei.com>
 +M:    Bin Luo <luobin9@huawei.com>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/hinic.txt
 +F:    Documentation/networking/hinic.rst
  F:    drivers/net/ethernet/huawei/hinic/
  
  HUGETLB FILESYSTEM
@@@ -7923,7 -7833,7 +7923,7 @@@ T:      git git://linuxtv.org/media_tree.gi
  F:    drivers/media/platform/sti/hva
  
  HWPOISON MEMORY FAILURE HANDLING
 -M:    Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
 +M:    Naoya Horiguchi <naoya.horiguchi@nec.com>
  L:    linux-mm@kvack.org
  S:    Maintained
  F:    mm/hwpoison-inject.c
@@@ -7952,7 -7862,7 +7952,7 @@@ S:      Supporte
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
  F:    Documentation/ABI/testing/debugfs-hyperv
 -F:    Documentation/networking/device_drivers/microsoft/netvsc.txt
 +F:    Documentation/networking/device_drivers/microsoft/netvsc.rst
  F:    arch/x86/hyperv
  F:    arch/x86/include/asm/hyperv-tlfs.h
  F:    arch/x86/include/asm/mshyperv.h
@@@ -7969,7 -7879,6 +7969,7 @@@ F:      drivers/pci/controller/pci-hyperv.
  F:    drivers/scsi/storvsc_drv.c
  F:    drivers/uio/uio_hv_generic.c
  F:    drivers/video/fbdev/hyperv_fb.c
 +F:    include/asm-generic/hyperv-tlfs.h
  F:    include/asm-generic/mshyperv.h
  F:    include/clocksource/hyperv_timer.h
  F:    include/linux/hyperv.h
@@@ -8036,7 -7945,7 +8036,7 @@@ F:      Documentation/i2c/busses/i2c-parport
  F:    drivers/i2c/busses/i2c-parport.c
  
  I2C SUBSYSTEM
 -M:    Wolfram Sang <wsa@the-dreams.de>
 +M:    Wolfram Sang <wsa@kernel.org>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  W:    https://i2c.wiki.kernel.org/
@@@ -8509,7 -8418,6 +8509,7 @@@ F:      drivers/mtd/nand/raw/ingenic
  F:    drivers/pinctrl/pinctrl-ingenic.c
  F:    drivers/power/supply/ingenic-battery.c
  F:    drivers/pwm/pwm-jz4740.c
 +F:    drivers/remoteproc/ingenic_rproc.c
  F:    drivers/rtc/rtc-jz4740.c
  F:    drivers/tty/serial/8250/8250_ingenic.c
  F:    drivers/usb/musb/jz4740.c
@@@ -8587,13 -8495,6 +8587,13 @@@ L:    platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/intel_atomisp2_pm.c
  
 +INTEL BROXTON PMC DRIVER
 +M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 +M:    Zha Qipeng <qipeng.zha@intel.com>
 +S:    Maintained
 +F:    drivers/mfd/intel_pmc_bxt.c
 +F:    include/linux/mfd/intel_pmc_bxt.h
 +
  INTEL C600 SERIES SAS CONTROLLER DRIVER
  M:    Intel SCU Linux support <intel-linux-scu@intel.com>
  M:    Artur Paszkiewicz <artur.paszkiewicz@intel.com>
@@@ -8740,18 -8641,16 +8740,18 @@@ M:   Bingbu Cao <bingbu.cao@intel.com
  R:    Tian Shu Qiu <tian.shu.qiu@intel.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 -F:    Documentation/media/uapi/v4l/pixfmt-srggb10-ipu3.rst
 +F:    Documentation/userspace-api/media/v4l/pixfmt-srggb10-ipu3.rst
  F:    drivers/media/pci/intel/ipu3/
  
  INTEL IPU3 CSI-2 IMGU DRIVER
  M:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +R:    Bingbu Cao <bingbu.cao@intel.com>
 +R:    Tian Shu Qiu <tian.shu.qiu@intel.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 -F:    Documentation/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst
 -F:    Documentation/media/v4l-drivers/ipu3.rst
 -F:    Documentation/media/v4l-drivers/ipu3_rcb.svg
 +F:    Documentation/admin-guide/media/ipu3.rst
 +F:    Documentation/admin-guide/media/ipu3_rcb.svg
 +F:    Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst
  F:    drivers/staging/media/ipu3/
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
@@@ -8803,13 -8702,6 +8803,13 @@@ F:    include/uapi/linux/mic_common.
  F:    include/uapi/linux/mic_ioctl.h
  F:    include/uapi/linux/scif_ioctl.h
  
 +INTEL P-Unit IPC DRIVER
 +M:    Zha Qipeng <qipeng.zha@intel.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    arch/x86/include/asm/intel_punit_ipc.h
 +F:    drivers/platform/x86/intel_punit_ipc.c
 +
  INTEL PMC CORE DRIVER
  M:    Rajneesh Bhardwaj <rajneesh.bhardwaj@intel.com>
  M:    Vishwanath Somayaji <vishwanath.somayaji@intel.com>
@@@ -8817,6 -8709,15 +8817,6 @@@ L:     platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/intel_pmc_core*
  
 -INTEL PMC/P-Unit IPC DRIVER
 -M:    Zha Qipeng<qipeng.zha@intel.com>
 -L:    platform-driver-x86@vger.kernel.org
 -S:    Maintained
 -F:    arch/x86/include/asm/intel_pmc_ipc.h
 -F:    arch/x86/include/asm/intel_punit_ipc.h
 -F:    drivers/platform/x86/intel_pmc_ipc.c
 -F:    drivers/platform/x86/intel_punit_ipc.c
 -
  INTEL PMIC GPIO DRIVERS
  M:    Andy Shevchenko <andy@kernel.org>
  S:    Maintained
@@@ -8836,8 -8737,8 +8836,8 @@@ INTEL PRO/WIRELESS 2100, 2200BG, 2915AB
  M:    Stanislav Yakovlev <stas.yakovlev@gmail.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -F:    Documentation/networking/device_drivers/intel/ipw2100.txt
 -F:    Documentation/networking/device_drivers/intel/ipw2200.txt
 +F:    Documentation/networking/device_drivers/intel/ipw2100.rst
 +F:    Documentation/networking/device_drivers/intel/ipw2200.rst
  F:    drivers/net/wireless/intel/ipw2x00/
  
  INTEL PSTATE DRIVER
@@@ -8855,12 -8756,6 +8855,12 @@@ S:    Supporte
  F:    drivers/infiniband/hw/i40iw/
  F:    include/uapi/rdma/i40iw-abi.h
  
 +INTEL SCU DRIVERS
 +M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 +S:    Maintained
 +F:    arch/x86/include/asm/intel_scu_ipc.h
 +F:    drivers/platform/x86/intel_scu_*
 +
  INTEL SPEED SELECT TECHNOLOGY
  M:    Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -8927,13 -8822,6 +8927,13 @@@ F:    Documentation/admin-guide/wimax/i240
  F:    drivers/net/wimax/i2400m/
  F:    include/uapi/linux/wimax/i2400m.h
  
 +INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
 +M:    Jithu Joseph <jithu.joseph@intel.com>
 +R:    Maurice Ma <maurice.ma@intel.com>
 +S:    Maintained
 +W:    https://slimbootloader.github.io/security/firmware-update.html
 +F:    drivers/platform/x86/intel-wmi-sbl-fw-update.c
 +
  INTEL WMI THUNDERBOLT FORCE POWER DRIVER
  M:    Mario Limonciello <mario.limonciello@dell.com>
  S:    Maintained
@@@ -9019,7 -8907,7 +9019,7 @@@ M:      Corey Minyard <minyard@acm.org
  L:    openipmi-developer@lists.sourceforge.net (moderated for non-subscribers)
  S:    Supported
  W:    http://openipmi.sourceforge.net/
 -F:    Documentation/IPMI.txt
 +F:    Documentation/driver-api/ipmi.rst
  F:    Documentation/devicetree/bindings/ipmi/
  F:    drivers/char/ipmi/
  F:    include/linux/ipmi*
@@@ -9041,7 -8929,7 +9041,7 @@@ L:      lvs-devel@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git
 -F:    Documentation/networking/ipvs-sysctl.txt
 +F:    Documentation/networking/ipvs-sysctl.rst
  F:    include/net/ip_vs.h
  F:    include/uapi/linux/ip_vs.h
  F:    net/netfilter/ipvs/
@@@ -9061,7 -8949,7 +9061,7 @@@ IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY
  M:    Marc Zyngier <maz@kernel.org>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
 -F:    Documentation/IRQ-domain.txt
 +F:    Documentation/core-api/irq/irq-domain.rst
  F:    include/linux/irqdomain.h
  F:    kernel/irq/irqdomain.c
  F:    kernel/irq/msi.c
@@@ -9186,7 -9074,7 +9186,7 @@@ L:      linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/ivtv*
 +F:    Documentation/admin-guide/media/ivtv*
  F:    drivers/media/pci/ivtv/
  F:    include/uapi/linux/ivtv*
  
@@@ -9301,11 -9189,6 +9301,11 @@@ L:    kexec@lists.infradead.or
  S:    Maintained
  W:    http://lse.sourceforge.net/kdump/
  F:    Documentation/admin-guide/kdump/
 +F:    fs/proc/vmcore.c
 +F:    include/linux/crash_core.h
 +F:    include/linux/crash_dump.h
 +F:    include/uapi/linux/vmcore.h
 +F:    kernel/crash_*.c
  
  KEENE FM RADIO TRANSMITTER DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
@@@ -9416,6 -9299,7 +9416,6 @@@ F:      arch/arm64/include/asm/kvm
  F:    arch/arm64/include/uapi/asm/kvm*
  F:    arch/arm64/kvm/
  F:    include/kvm/arm_*
 -F:    virt/kvm/arm/
  
  KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
  L:    linux-mips@vger.kernel.org
@@@ -9441,7 -9325,6 +9441,7 @@@ M:      Christian Borntraeger <borntraeger@d
  M:    Janosch Frank <frankja@linux.ibm.com>
  R:    David Hildenbrand <david@redhat.com>
  R:    Cornelia Huck <cohuck@redhat.com>
 +R:    Claudio Imbrenda <imbrenda@linux.ibm.com>
  L:    kvm@vger.kernel.org
  S:    Supported
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -9529,13 -9412,6 +9529,13 @@@ F:    include/linux/keyctl.
  F:    include/uapi/linux/keyctl.h
  F:    security/keys/
  
 +KFIFO
 +M:    Stefani Seibold <stefani@seibold.net>
 +S:    Maintained
 +F:    include/linux/kfifo.h
 +F:    lib/kfifo.c
 +F:    samples/kfifo/
 +
  KGDB / KDB /debug_core
  M:    Jason Wessel <jason.wessel@windriver.com>
  M:    Daniel Thompson <daniel.thompson@linaro.org>
@@@ -9626,7 -9502,7 +9626,7 @@@ F:      drivers/soc/lanti
  LAPB module
  L:    linux-x25@vger.kernel.org
  S:    Orphan
 -F:    Documentation/networking/lapb-module.txt
 +F:    Documentation/networking/lapb-module.rst
  F:    include/*/lapb.h
  F:    net/lapb/
  
@@@ -9840,13 -9716,6 +9840,13 @@@ F:    drivers/lightnvm
  F:    include/linux/lightnvm.h
  F:    include/uapi/linux/lightnvm.h
  
 +LINEAR RANGES HELPERS
 +M:    Mark Brown <broonie@kernel.org>
 +R:    Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
 +F:    lib/linear_ranges.c
 +F:    lib/test_linear_ranges.c
 +F:    include/linux/linear_range.h
 +
  LINUX FOR POWER MACINTOSH
  M:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -9913,7 -9782,7 +9913,7 @@@ F:      arch/powerpc/platforms/83xx
  F:    arch/powerpc/platforms/85xx/
  
  LINUX FOR POWERPC EMBEDDED PPC8XX
 -M:    Christophe Leroy <christophe.leroy@c-s.fr>
 +M:    Christophe Leroy <christophe.leroy@csgroup.eu>
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
  F:    arch/powerpc/platforms/8xx/
@@@ -9973,12 -9842,10 +9973,12 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching.git
  F:    Documentation/ABI/testing/sysfs-kernel-livepatch
  F:    Documentation/livepatch/
 +F:    arch/powerpc/include/asm/livepatch.h
 +F:    arch/s390/include/asm/livepatch.h
  F:    arch/x86/include/asm/livepatch.h
 -F:    arch/x86/kernel/livepatch.c
  F:    include/linux/livepatch.h
  F:    kernel/livepatch/
 +F:    lib/livepatch/
  F:    samples/livepatch/
  F:    tools/testing/selftests/livepatch/
  
@@@ -10077,7 -9944,7 +10077,7 @@@ F:    drivers/hid/hid-lg-g15.
  
  LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
  M:    Sathya Prakash <sathya.prakash@broadcom.com>
 -M:    Chaitra P B <chaitra.basappa@broadcom.com>
 +M:    Sreekanth Reddy <sreekanth.reddy@broadcom.com>
  M:    Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
  L:    MPT-FusionLinux.pdl@broadcom.com
  L:    linux-scsi@vger.kernel.org
@@@ -10196,10 -10063,10 +10196,10 @@@ MAC8021
  M:    Johannes Berg <johannes@sipsolutions.net>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/
 +W:    https://wireless.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
 -F:    Documentation/networking/mac80211-injection.txt
 +F:    Documentation/networking/mac80211-injection.rst
  F:    Documentation/networking/mac80211_hwsim/mac80211_hwsim.rst
  F:    drivers/net/wireless/mac80211_hwsim.[ch]
  F:    include/net/mac80211.h
@@@ -10380,7 -10247,7 +10380,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
  F:    Documentation/devicetree/bindings/media/i2c/max2175.txt
 -F:    Documentation/media/v4l-drivers/max2175.rst
 +F:    Documentation/userspace-api/media/drivers/max2175.rst
  F:    drivers/media/i2c/max2175*
  F:    include/uapi/linux/max2175.h
  
@@@ -10580,8 -10447,8 +10580,8 @@@ M:   Philipp Zabel <p.zabel@pengutronix.d
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/admin-guide/media/imx.rst
  F:    Documentation/devicetree/bindings/media/imx.txt
 -F:    Documentation/media/v4l-drivers/imx.rst
  F:    drivers/staging/media/imx/
  F:    include/linux/imx-media.h
  F:    include/media/imx.h
@@@ -10591,9 -10458,9 +10591,9 @@@ M:   Rui Miguel Silva <rmfrfs@gmail.com
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/admin-guide/media/imx7.rst
  F:    Documentation/devicetree/bindings/media/imx7-csi.txt
  F:    Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
 -F:    Documentation/media/v4l-drivers/imx7.rst
  F:    drivers/staging/media/imx/imx7-media-csi.c
  F:    drivers/staging/media/imx/imx7-mipi-csis.c
  
@@@ -10739,10 -10606,8 +10739,10 @@@ S: Maintaine
  W:    https://linuxtv.org
  Q:    http://patchwork.kernel.org/project/linux-media/list/
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/admin-guide/media/
  F:    Documentation/devicetree/bindings/media/
 -F:    Documentation/media/
 +F:    Documentation/driver-api/media/
 +F:    Documentation/userspace-api/media/
  F:    drivers/media/
  F:    drivers/staging/media/
  F:    include/linux/platform_data/media/
@@@ -10793,13 -10658,6 +10793,13 @@@ L: netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/mediatek/
  
 +MEDIATEK I2C CONTROLLER DRIVER
 +M:    Qii Wang <qii.wang@mediatek.com>
 +L:    linux-i2c@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
 +F:    drivers/i2c/busses/i2c-mt65xx.c
 +
  MEDIATEK JPEG DRIVER
  M:    Rick Chang <rick.chang@mediatek.com>
  M:    Bin Liu <bin.liu@mediatek.com>
@@@ -10835,6 -10693,7 +10835,6 @@@ MEDIATEK MT76 WIRELESS LAN DRIVE
  M:    Felix Fietkau <nbd@nbd.name>
  M:    Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
  R:    Ryder Lee <ryder.lee@mediatek.com>
 -R:    Roy Luo <royluo@google.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
  F:    drivers/net/wireless/mediatek/mt76/
@@@ -11142,12 -11001,10 +11142,12 @@@ F:        drivers/mtd/nand/raw/meson_
  
  MESON VIDEO DECODER DRIVER FOR AMLOGIC SOCS
  M:    Maxime Jourdan <mjourdan@baylibre.com>
 +M:    Neil Armstrong <narmstrong@baylibre.com>
  L:    linux-media@vger.kernel.org
  L:    linux-amlogic@lists.infradead.org
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/amlogic,gx-vdec.yaml
  F:    drivers/staging/media/meson/vdec/
  
  METHODE UDPU SUPPORT
@@@ -11520,20 -11377,15 +11520,20 @@@ F:        kernel/module.
  MONOLITHIC POWER SYSTEM PMIC DRIVER
  M:    Saravanan Sekar <sravanhome@gmail.com>
  S:    Maintained
 +F:    Documentation/devicetree/bindings/mfd/mps,mp2629.yaml
  F:    Documentation/devicetree/bindings/regulator/mps,mp*.yaml
 +F:    drivers/iio/adc/mp2629_adc.c
 +F:    drivers/mfd/mp2629.c
 +F:    drivers/power/supply/mp2629_charger.c
  F:    drivers/regulator/mp5416.c
  F:    drivers/regulator/mpq7920.c
  F:    drivers/regulator/mpq7920.h
 +F:    include/linux/mfd/mp2629.h
  
  MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
  S:    Orphan
  W:    http://popies.net/meye/
 -F:    Documentation/media/v4l-drivers/meye*
 +F:    Documentation/userspace-api/media/drivers/meye*
  F:    drivers/media/pci/meye/
  F:    include/uapi/linux/meye.h
  
@@@ -11792,8 -11644,8 +11792,8 @@@ NETERION 10GbE DRIVERS (s2io/vxge
  M:    Jon Mason <jdmason@kudzu.us>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/device_drivers/neterion/s2io.txt
 -F:    Documentation/networking/device_drivers/neterion/vxge.txt
 +F:    Documentation/networking/device_drivers/neterion/s2io.rst
 +F:    Documentation/networking/device_drivers/neterion/vxge.rst
  F:    drivers/net/ethernet/neterion/
  
  NETFILTER
@@@ -11855,9 -11707,8 +11855,9 @@@ F:   net/core/drop_monitor.
  
  NETWORKING DRIVERS
  M:    "David S. Miller" <davem@davemloft.net>
 +M:    Jakub Kicinski <kuba@kernel.org>
  L:    netdev@vger.kernel.org
 -S:    Odd Fixes
 +S:    Maintained
  W:    http://www.linuxfoundation.org/en/Net
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
@@@ -12560,15 -12411,6 +12560,15 @@@ S: Maintaine
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/i2c/ov2685.c
  
 +OMNIVISION OV2740 SENSOR DRIVER
 +M:    Tianshu Qiu <tian.shu.qiua@intel.com>
 +R:    Shawn Tu <shawnx.tu@intel.com>
 +R:    Bingbu Cao <bingbu.cao@intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/i2c/ov2740.c
 +
  OMNIVISION OV5640 SENSOR DRIVER
  M:    Steve Longerbeam <slongerbeam@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -12631,11 -12473,10 +12631,11 @@@ F:        Documentation/devicetree/bindings/me
  F:    drivers/media/i2c/ov7740.c
  
  OMNIVISION OV8856 SENSOR DRIVER
 -M:    Ben Kao <ben.kao@intel.com>
 +M:    Dongchun Zhu <dongchun.zhu@mediatek.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/ov8856.yaml
  F:    drivers/media/i2c/ov8856.c
  
  OMNIVISION OV9640 SENSOR DRIVER
@@@ -12691,8 -12532,8 +12691,8 @@@ M:   Pantelis Antoniou <pantelis.antoniou
  M:    Frank Rowand <frowand.list@gmail.com>
  L:    devicetree@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/dynamic-resolution-notes.txt
 -F:    Documentation/devicetree/overlay-notes.txt
 +F:    Documentation/devicetree/dynamic-resolution-notes.rst
 +F:    Documentation/devicetree/overlay-notes.rst
  F:    drivers/of/overlay.c
  F:    drivers/of/resolver.c
  K:    of_overlay_notifier_
@@@ -12803,7 -12644,7 +12803,7 @@@ F:   fs/orangefs
  ORINOCO DRIVER
  L:    linux-wireless@vger.kernel.org
  S:    Orphan
 -W:    http://wireless.kernel.org/en/users/Drivers/orinoco
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/orinoco
  W:    http://www.nongnu.org/orinoco/
  F:    drivers/net/wireless/intersil/orinoco/
  
@@@ -12829,7 -12670,7 +12829,7 @@@ P54 WIRELESS DRIVE
  M:    Christian Lamparter <chunkeey@googlemail.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/en/users/Drivers/p54
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/p54
  F:    drivers/net/wireless/intersil/p54/
  
  PACKING
@@@ -12910,7 -12751,7 +12910,7 @@@ M:   "James E.J. Bottomley" <James.Bottom
  M:    Helge Deller <deller@gmx.de>
  L:    linux-parisc@vger.kernel.org
  S:    Maintained
 -W:    http://www.parisc-linux.org/
 +W:    https://parisc.wiki.kernel.org
  Q:    http://patchwork.kernel.org/project/linux-parisc/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git
@@@ -13100,7 -12941,7 +13100,7 @@@ L:   linux-pci@vger.kernel.or
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/pci/layerscape-pcie-gen4.txt
 -F:    drivers/pci/controller/mobibeil/pcie-layerscape-gen4.c
 +F:    drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c
  
  PCI DRIVER FOR RENESAS R-CAR
  M:    Marek Vasut <marek.vasut+renesas@gmail.com>
@@@ -13108,7 -12949,6 +13108,7 @@@ M:   Yoshihiro Shimoda <yoshihiro.shimoda
  L:    linux-pci@vger.kernel.org
  L:    linux-renesas-soc@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/*rcar*
  F:    drivers/pci/controller/*rcar*
  
  PCI DRIVER FOR SAMSUNG EXYNOS
@@@ -13198,7 -13038,7 +13198,7 @@@ F:   drivers/pci/controller/pci-xgene-msi
  
  PCI NATIVE HOST BRIDGE AND ENDPOINT DRIVERS
  M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 -R:    Andrew Murray <amurray@thegoodpenguin.co.uk>
 +R:    Rob Herring <robh@kernel.org>
  L:    linux-pci@vger.kernel.org
  S:    Supported
  Q:    http://patchwork.ozlabs.org/project/linux-pci/list/
@@@ -13302,8 -13142,8 +13302,8 @@@ PCIE DRIVER FOR SOCIONEXT UNIPHIE
  M:    Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
  L:    linux-pci@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/pci/uniphier-pcie.txt
 -F:    drivers/pci/controller/dwc/pcie-uniphier.c
 +F:    Documentation/devicetree/bindings/pci/uniphier-pcie*
 +F:    drivers/pci/controller/dwc/pcie-uniphier*
  
  PCIE DRIVER FOR ST SPEAR13XX
  M:    Pratyush Anand <pratyush.anand@gmail.com>
@@@ -13410,7 -13250,7 +13410,7 @@@ F:   drivers/input/joystick/pxrc.
  PHONET PROTOCOL
  M:    Remi Denis-Courmont <courmisch@gmail.com>
  S:    Supported
 -F:    Documentation/networking/phonet.txt
 +F:    Documentation/networking/phonet.rst
  F:    include/linux/phonet.h
  F:    include/net/phonet/
  F:    include/uapi/linux/phonet.h
@@@ -13504,9 -13344,8 +13504,9 @@@ F:   drivers/pinctrl/qcom
  PIN CONTROLLER - RENESAS
  M:    Geert Uytterhoeven <geert+renesas@glider.be>
  L:    linux-renesas-soc@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git sh-pfc
 +F:    Documentation/devicetree/bindings/pinctrl/renesas,*
  F:    drivers/pinctrl/pinctrl-rz*
  F:    drivers/pinctrl/sh-pfc/
  
@@@ -13752,7 -13591,7 +13752,7 @@@ PRISM54 WIRELESS DRIVE
  M:    Luis Chamberlain <mcgrof@kernel.org>
  L:    linux-wireless@vger.kernel.org
  S:    Obsolete
 -W:    http://wireless.kernel.org/en/users/Drivers/p54
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/p54
  F:    drivers/net/wireless/intersil/prism54/
  
  PROC FILESYSTEM
@@@ -13821,7 -13660,6 +13821,7 @@@ M:   Tony Luck <tony.luck@intel.com
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore
  F:    Documentation/admin-guide/ramoops.rst
 +F:    Documentation/admin-guide/pstore-blk.rst
  F:    Documentation/devicetree/bindings/reserved-memory/ramoops.txt
  F:    drivers/acpi/apei/erst.c
  F:    drivers/firmware/efi/efi-pstore.c
@@@ -13859,8 -13697,8 +13859,8 @@@ M:   Hans Verkuil <hverkuil@xs4all.nl
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/cec-drivers/pulse8-cec.rst
 -F:    drivers/media/usb/pulse8-cec/*
 +F:    Documentation/admin-guide/media/pulse8-cec.rst
 +F:    drivers/media/cec/usb/pulse8/
  
  PVRUSB2 VIDEO4LINUX DRIVER
  M:    Mike Isely <isely@pobox.com>
@@@ -13869,7 -13707,7 +13869,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    http://www.isely.net/pvrusb2/
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/pvrusb2*
 +F:    Documentation/driver-api/media/drivers/pvrusb2*
  F:    drivers/media/usb/pvrusb2/
  
  PWC WEBCAM DRIVER
@@@ -14015,8 -13853,7 +14015,8 @@@ S:   Maintaine
  F:    drivers/scsi/qla1280.[ch]
  
  QLOGIC QLA2XXX FC-SCSI DRIVER
 -M:    hmadhani@marvell.com
 +M:    Nilesh Javali <njavali@marvell.com>
 +M:    GR-QLogic-Storage-Upstream@marvell.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    Documentation/scsi/LICENSE.qla2xxx
@@@ -14094,7 -13931,7 +14094,7 @@@ QUALCOMM ATHEROS ATH10K WIRELESS DRIVE
  M:    Kalle Valo <kvalo@codeaurora.org>
  L:    ath10k@lists.infradead.org
  S:    Supported
 -W:    http://wireless.kernel.org/en/users/Drivers/ath10k
 +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:    drivers/net/wireless/ath/ath10k/
  
@@@ -14109,15 -13946,15 +14109,15 @@@ QUALCOMM ATHEROS ATH9K WIRELESS DRIVE
  M:    QCA ath9k Development <ath9k-devel@qca.qualcomm.com>
  L:    linux-wireless@vger.kernel.org
  S:    Supported
 -W:    http://wireless.kernel.org/en/users/Drivers/ath9k
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath9k
  F:    drivers/net/wireless/ath/ath9k/
  
  QUALCOMM CAMERA SUBSYSTEM DRIVER
  M:    Todor Tomov <todor.too@gmail.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 +F:    Documentation/admin-guide/media/qcom_camss.rst
  F:    Documentation/devicetree/bindings/media/qcom,camss.txt
 -F:    Documentation/media/v4l-drivers/qcom_camss.rst
  F:    drivers/media/platform/qcom/camss/
  
  QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
@@@ -14181,7 -14018,7 +14181,7 @@@ M:   Subash Abhinov Kasiviswanathan <suba
  M:    Sean Tranchetti <stranche@codeaurora.org>
  L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    Documentation/networking/device_drivers/qualcomm/rmnet.txt
 +F:    Documentation/networking/device_drivers/qualcomm/rmnet.rst
  F:    drivers/net/ethernet/qualcomm/rmnet/
  F:    include/linux/if_rmnet.h
  
@@@ -14206,13 -14043,14 +14206,13 @@@ QUALCOMM WCN36XX WIRELESS DRIVE
  M:    Kalle Valo <kvalo@codeaurora.org>
  L:    wcn36xx@lists.infradead.org
  S:    Supported
 -W:    http://wireless.kernel.org/en/users/Drivers/wcn36xx
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/wcn36xx
  T:    git git://github.com/KrasnikovEugene/wcn36xx.git
  F:    drivers/net/wireless/ath/wcn36xx/
  
  QUANTENNA QTNFMAC WIRELESS DRIVER
  M:    Igor Mitsyanko <imitsyanko@quantenna.com>
 -M:    Avinash Patil <avinashp@quantenna.com>
 -M:    Sergey Matyukevich <smatyukevich@quantenna.com>
 +R:    Sergey Matyukevich <geomatsi@gmail.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
  F:    drivers/net/wireless/quantenna
  RADEON and AMDGPU DRM DRIVERS
  M:    Alex Deucher <alexander.deucher@amd.com>
  M:    Christian König <christian.koenig@amd.com>
 -M:    David (ChunMing) Zhou <David1.Zhou@amd.com>
  L:    amd-gfx@lists.freedesktop.org
  S:    Supported
  T:    git git://people.freedesktop.org/~agd5f/linux
@@@ -14252,10 -14091,12 +14252,10 @@@ F:        drivers/media/radio/radio-tea5777.
  
  RADOS BLOCK DEVICE (RBD)
  M:    Ilya Dryomov <idryomov@gmail.com>
 -M:    Sage Weil <sage@redhat.com>
  R:    Dongsheng Yang <dongsheng.yang@easystack.cn>
  L:    ceph-devel@vger.kernel.org
  S:    Supported
  W:    http://ceph.com/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
  T:    git git://github.com/ceph/ceph-client.git
  F:    Documentation/ABI/testing/sysfs-bus-rbd
  F:    drivers/block/rbd.c
@@@ -14272,7 -14113,7 +14272,7 @@@ M:   Hans Verkuil <hverkuil@xs4all.nl
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/usb/rainshadow-cec/*
 +F:    drivers/media/cec/usb/rainshadow/
  
  RALINK MIPS ARCHITECTURE
  M:    John Crispin <john@phrozen.org>
@@@ -14366,7 -14207,7 +14366,7 @@@ L:   linux-rdma@vger.kernel.or
  L:    rds-devel@oss.oracle.com (moderated for non-subscribers)
  S:    Supported
  W:    https://oss.oracle.com/projects/rds/
 -F:    Documentation/networking/rds.txt
 +F:    Documentation/networking/rds.rst
  F:    net/rds/
  
  RDT - RESOURCE ALLOCATION
@@@ -14375,7 -14216,7 +14375,7 @@@ M:   Reinette Chatre <reinette.chatre@int
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  F:    Documentation/x86/resctrl*
 -F:    arch/x86/include/asm/resctrl_sched.h
 +F:    arch/x86/include/asm/resctrl.h
  F:    arch/x86/kernel/cpu/resctrl/
  F:    tools/testing/selftests/resctrl/
  
@@@ -14430,7 -14271,7 +14430,7 @@@ REALTEK WIRELESS DRIVER (rtlwifi family
  M:    Ping-Ke Shih <pkshih@realtek.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/
 +W:    https://wireless.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  F:    drivers/net/wireless/realtek/rtlwifi/
  
@@@ -14493,6 -14334,7 +14493,7 @@@ M:   Geert Uytterhoeven <geert+renesas@gl
  L:    linux-renesas-soc@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git clk-renesas
+ F:    Documentation/devicetree/bindings/clock/renesas,*
  F:    drivers/clk/renesas/
  
  RENESAS EMEV2 I2C DRIVER
@@@ -14565,7 -14407,7 +14566,7 @@@ RFKIL
  M:    Johannes Berg <johannes@sipsolutions.net>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/
 +W:    https://wireless.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  F:    Documentation/ABI/stable/sysfs-class-rfkill
@@@ -14607,13 -14449,6 +14608,13 @@@ F: arch/riscv
  N:    riscv
  K:    riscv
  
 +RNBD BLOCK DRIVERS
 +M:    Danil Kipnis <danil.kipnis@cloud.ionos.com>
 +M:    Jack Wang <jinpu.wang@cloud.ionos.com>
 +L:    linux-block@vger.kernel.org
 +S:    Maintained
 +F:    drivers/block/rnbd/
 +
  ROCCAT DRIVERS
  M:    Stefan Achatz <erazor_de@users.sourceforge.net>
  S:    Maintained
@@@ -14632,19 -14467,10 +14633,19 @@@ ROCKCHIP RASTER 2D GRAPHIC ACCELERATIO
  M:    Jacob Chen <jacob-chen@iotwrt.com>
  M:    Ezequiel Garcia <ezequiel@collabora.com>
  L:    linux-media@vger.kernel.org
 +L:    linux-rockchip@lists.infradead.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/media/rockchip-rga.txt
 +F:    Documentation/devicetree/bindings/media/rockchip-rga.yaml
  F:    drivers/media/platform/rockchip/rga/
  
 +ROCKCHIP VIDEO DECODER DRIVER
 +M:    Ezequiel Garcia <ezequiel@collabora.com>
 +L:    linux-media@vger.kernel.org
 +L:    linux-rockchip@lists.infradead.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/rockchip,vdec.yaml
 +F:    drivers/staging/media/rkvdec/
 +
  ROCKER DRIVER
  M:    Jiri Pirko <jiri@resnulli.us>
  L:    netdev@vger.kernel.org
@@@ -14730,7 -14556,7 +14731,7 @@@ F:   drivers/media/dvb-frontends/rtl2832_
  RTL8180 WIRELESS DRIVER
  L:    linux-wireless@vger.kernel.org
  S:    Orphan
 -W:    http://wireless.kernel.org/
 +W:    https://wireless.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  F:    drivers/net/wireless/realtek/rtl818x/rtl8180/
  
@@@ -14740,7 -14566,7 +14741,7 @@@ M:   Hin-Tak Leung <htl10@users.sourcefor
  M:    Larry Finger <Larry.Finger@lwfinger.net>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
 -W:    http://wireless.kernel.org/
 +W:    https://wireless.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  F:    drivers/net/wireless/realtek/rtl818x/rtl8187/
  
@@@ -14751,19 -14577,12 +14752,19 @@@ S:        Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8xxxu-devel
  F:    drivers/net/wireless/realtek/rtl8xxxu/
  
 +RTRS TRANSPORT DRIVERS
 +M:    Danil Kipnis <danil.kipnis@cloud.ionos.com>
 +M:    Jack Wang <jinpu.wang@cloud.ionos.com>
 +L:    linux-rdma@vger.kernel.org
 +S:    Maintained
 +F:    drivers/infiniband/ulp/rtrs/
 +
  RXRPC SOCKETS (AF_RXRPC)
  M:    David Howells <dhowells@redhat.com>
  L:    linux-afs@lists.infradead.org
  S:    Supported
  W:    https://www.infradead.org/~dhowells/kafs/
 -F:    Documentation/networking/rxrpc.txt
 +F:    Documentation/networking/rxrpc.rst
  F:    include/keys/rxrpc-type.h
  F:    include/net/af_rxrpc.h
  F:    include/trace/events/rxrpc.h
@@@ -14805,7 -14624,6 +14806,7 @@@ S:   Supporte
  W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    block/partitions/ibm.c
  F:    drivers/s390/block/dasd*
 +F:    include/linux/dasd_mod.h
  
  S390 IOMMU (PCI)
  M:    Gerald Schaefer <gerald.schaefer@de.ibm.com>
@@@ -14816,7 -14634,6 +14817,7 @@@ F:   drivers/iommu/s390-iommu.
  
  S390 IUCV NETWORK LAYER
  M:    Julian Wiedmann <jwi@linux.ibm.com>
 +M:    Karsten Graul <kgraul@linux.ibm.com>
  M:    Ursula Braun <ubraun@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
@@@ -14827,7 -14644,6 +14828,7 @@@ F:   net/iucv
  
  S390 NETWORK DRIVERS
  M:    Julian Wiedmann <jwi@linux.ibm.com>
 +M:    Karsten Graul <kgraul@linux.ibm.com>
  M:    Ursula Braun <ubraun@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
@@@ -14842,7 -14658,6 +14843,7 @@@ S:   Supporte
  W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    arch/s390/pci/
  F:    drivers/pci/hotplug/s390_pci_hpc.c
 +F:    Documentation/s390/pci.rst
  
  S390 VFIO AP DRIVER
  M:    Tony Krowiak <akrowiak@linux.ibm.com>
@@@ -14902,7 -14717,7 +14903,7 @@@ L:   linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/saa7134*
 +F:    Documentation/driver-api/media/drivers/saa7134*
  F:    drivers/media/pci/saa7134/
  
  SAA7146 VIDEO4LINUX-2 DRIVER
@@@ -15173,7 -14988,7 +15174,7 @@@ M:   Marcelo Ricardo Leitner <marcelo.lei
  L:    linux-sctp@vger.kernel.org
  S:    Maintained
  W:    http://lksctp.sourceforge.net
 -F:    Documentation/networking/sctp.txt
 +F:    Documentation/networking/sctp.rst
  F:    include/linux/sctp.h
  F:    include/net/sctp/
  F:    include/uapi/linux/sctp.h
@@@ -15400,6 -15215,11 +15401,6 @@@ T:  git git://linuxtv.org/media_tree.gi
  F:    drivers/media/i2c/rj54n1cb0c.c
  F:    include/media/i2c/rj54n1cb0c.h
  
 -SH_VEU V4L2 MEM2MEM DRIVER
 -L:    linux-media@vger.kernel.org
 -S:    Orphan
 -F:    drivers/media/platform/sh_veu.c
 -
  SH_VOU V4L2 OUTPUT DRIVER
  L:    linux-media@vger.kernel.org
  S:    Orphan
@@@ -15644,15 -15464,6 +15645,15 @@@ M: Nicolas Pitre <nico@fluxnic.net
  S:    Odd Fixes
  F:    drivers/net/ethernet/smsc/smc91x.*
  
 +SECURE MONITOR CALL(SMC) CALLING CONVENTION (SMCCC)
 +M:    Mark Rutland <mark.rutland@arm.com>
 +M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 +M:    Sudeep Holla <sudeep.holla@arm.com>
 +L:    linux-arm-kernel@lists.infradead.org
 +S:    Maintained
 +F:    drivers/firmware/smccc/
 +F:    include/linux/arm-smccc.h
 +
  SMIA AND SMIA++ IMAGE SENSOR DRIVER
  M:    Sakari Ailus <sakari.ailus@linux.intel.com>
  L:    linux-media@vger.kernel.org
@@@ -15721,7 -15532,7 +15722,7 @@@ SOCIONEXT (SNI) AVE NETWORK DRIVE
  M:    Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
 +F:    Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
  F:    drivers/net/ethernet/socionext/sni_ave.c
  
  SOCIONEXT (SNI) NETSEC NETWORK DRIVER
@@@ -15829,7 -15640,7 +15830,7 @@@ F:   drivers/ssb
  F:    include/linux/ssb/
  
  SONY IMX214 SENSOR DRIVER
 -M:    Ricardo Ribalda <ricardo.ribalda@gmail.com>
 +M:    Ricardo Ribalda <ribalda@kernel.org>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
@@@ -16052,7 -15863,7 +16053,7 @@@ SPIDERNET NETWORK DRIVER for CEL
  M:    Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
  L:    netdev@vger.kernel.org
  S:    Supported
 -F:    Documentation/networking/device_drivers/toshiba/spider_net.txt
 +F:    Documentation/networking/device_drivers/toshiba/spider_net.rst
  F:    drivers/net/ethernet/toshiba/spider_net*
  
  SPMI SUBSYSTEM
@@@ -16069,7 -15880,7 +16070,7 @@@ M:   Jeremy Kerr <jk@ozlabs.org
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Supported
  W:    http://www.ibm.com/developerworks/power/cell/
 -F:    Documentation/filesystems/spufs.txt
 +F:    Documentation/filesystems/spufs/spufs.rst
  F:    arch/powerpc/platforms/cell/spufs/
  
  SQUASHFS FILE SYSTEM
@@@ -16122,13 -15933,6 +16123,13 @@@ L: stable@vger.kernel.or
  S:    Supported
  F:    Documentation/process/stable-kernel-rules.rst
  
 +STAGING - ATOMISP DRIVER
 +M:    Mauro Carvalho Chehab <mchehab@kernel.org>
 +R:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/staging/media/atomisp/
 +
  STAGING - COMEDI
  M:    Ian Abbott <abbotti@mev.co.uk>
  M:    H Hartley Sweeten <hsweeten@visionengravers.com>
@@@ -16424,10 -16228,9 +16425,10 @@@ F: drivers/tty/serial/8250/8250_lpss.
  
  SYNOPSYS DESIGNWARE APB GPIO DRIVER
  M:    Hoan Tran <hoan@os.amperecomputing.com>
 +M:    Serge Semin <fancer.lancer@gmail.com>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt
 +F:    Documentation/devicetree/bindings/gpio/snps,dw-apb-gpio.yaml
  F:    drivers/gpio/gpio-dwapb.c
  
  SYNOPSYS DESIGNWARE AXI DMAC DRIVER
@@@ -16785,16 -16588,6 +16786,16 @@@ M: Laxman Dewangan <ldewangan@nvidia.co
  S:    Supported
  F:    drivers/spi/spi-tegra*
  
 +TEGRA VIDEO DRIVER
 +M:    Thierry Reding <thierry.reding@gmail.com>
 +M:    Jonathan Hunter <jonathanh@nvidia.com>
 +M:    Sowjanya Komatineni <skomatineni@nvidia.com>
 +L:    linux-media@vger.kernel.org
 +L:    linux-tegra@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
 +F:    drivers/staging/media/tegra-video/
 +
  TEGRA XUSB PADCTL DRIVER
  M:    JC Kuo <jckuo@nvidia.com>
  S:    Supported
@@@ -16834,7 -16627,7 +16835,7 @@@ S:   Maintaine
  F:    sound/soc/ti/
  
  TEXAS INSTRUMENTS' DAC7612 DAC DRIVER
 -M:    Ricardo Ribalda <ricardo@ribalda.com>
 +M:    Ricardo Ribalda <ribalda@kernel.org>
  L:    linux-iio@vger.kernel.org
  S:    Supported
  F:    Documentation/devicetree/bindings/iio/dac/ti,dac7612.txt
@@@ -17128,8 -16921,8 +17129,8 @@@ F:   drivers/media/platform/ti-vpe
  TI WILINK WIRELESS DRIVERS
  L:    linux-wireless@vger.kernel.org
  S:    Orphan
 -W:    http://wireless.kernel.org/en/users/Drivers/wl12xx
 -W:    http://wireless.kernel.org/en/users/Drivers/wl1251
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/wl12xx
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/wl1251
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git
  F:    drivers/net/wireless/ti/
  F:    include/linux/wl12xx.h
@@@ -17167,7 -16960,7 +17168,7 @@@ M:   Samuel Chessman <chessman@tux.org
  L:    tlan-devel@lists.sourceforge.net (subscribers-only)
  S:    Maintained
  W:    http://sourceforge.net/projects/tlan/
 -F:    Documentation/networking/device_drivers/ti/tlan.txt
 +F:    Documentation/networking/device_drivers/ti/tlan.rst
  F:    drivers/net/ethernet/ti/tlan.*
  
  TM6000 VIDEO4LINUX DRIVER
@@@ -17176,7 -16969,7 +17177,7 @@@ L:   linux-media@vger.kernel.or
  S:    Odd fixes
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/tm6000*
 +F:    Documentation/admin-guide/media/tm6000*
  F:    drivers/media/usb/tm6000/
  
  TMIO/SDHI MMC DRIVER
@@@ -17357,7 -17150,7 +17358,7 @@@ TUN/TAP drive
  M:    Maxim Krasnyansky <maxk@qti.qualcomm.com>
  S:    Maintained
  W:    http://vtun.sourceforge.net/tun
 -F:    Documentation/networking/tuntap.txt
 +F:    Documentation/networking/tuntap.rst
  F:    arch/um/os-Linux/drivers/
  
  TURBOCHANNEL SUBSYSTEM
@@@ -17787,13 -17580,6 +17788,13 @@@ F: Documentation/driver-api/usb/typec.r
  F:    drivers/usb/typec/
  F:    include/linux/usb/typec.h
  
 +USB TYPEC INTEL PMC MUX DRIVER
 +M:    Heikki Krogerus <heikki.krogerus@linux.intel.com>
 +L:    linux-usb@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/firmware-guide/acpi/intel-pmc-mux.rst
 +F:    drivers/usb/typec/mux/intel_pmc_mux.c
 +
  USB TYPEC PI3USB30532 MUX DRIVER
  M:    Hans de Goede <hdegoede@redhat.com>
  L:    linux-usb@vger.kernel.org
@@@ -17864,7 -17650,7 +17865,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    http://royale.zerezo.com/zr364xx/
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/media/v4l-drivers/zr364xx*
 +F:    Documentation/admin-guide/media/zr364xx*
  F:    drivers/media/usb/zr364xx/
  
  USER-MODE LINUX (UML)
@@@ -18013,7 -17799,7 +18014,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/platform/vicodec/*
 +F:    drivers/media/test-drivers/vicodec/*
  
  VIDEO I2C POLLING DRIVER
  M:    Matt Ranostay <matt.ranostay@konsulko.com>
@@@ -18044,7 -17830,7 +18045,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/platform/vimc/*
 +F:    drivers/media/test-drivers/vimc/*
  
  VIRT LIB
  M:    Alex Williamson <alex.williamson@redhat.com>
@@@ -18211,7 -17997,7 +18212,7 @@@ L:   linux-media@vger.kernel.or
  S:    Maintained
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/platform/vivid/*
 +F:    drivers/media/test-drivers/vivid/*
  
  VLYNQ BUS
  M:    Florian Fainelli <f.fainelli@gmail.com>
@@@ -18309,7 -18095,7 +18310,7 @@@ M:   David Ahern <dsahern@kernel.org
  M:    Shrijeet Mukherjee <shrijeet@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    Documentation/networking/vrf.txt
 +F:    Documentation/networking/vrf.rst
  F:    drivers/net/vrf.c
  
  VSPRINTF
@@@ -18418,7 -18204,7 +18419,7 @@@ M:   Maya Erez <merez@codeaurora.org
  L:    linux-wireless@vger.kernel.org
  L:    wil6210@qti.qualcomm.com
  S:    Supported
 -W:    http://wireless.kernel.org/en/users/Drivers/wil6210
 +W:    https://wireless.wiki.kernel.org/en/users/Drivers/wil6210
  F:    drivers/net/wireless/ath/wil6210/
  
  WIMAX STACK
@@@ -18473,11 -18259,11 +18474,11 @@@ L:        patches@opensource.cirrus.co
  S:    Supported
  W:    https://github.com/CirrusLogic/linux-drivers/wiki
  T:    git https://github.com/CirrusLogic/linux-drivers.git
 -F:    Documentation/devicetree/bindings/extcon/extcon-arizona.txt
 -F:    Documentation/devicetree/bindings/mfd/arizona.txt
 +F:    Documentation/devicetree/bindings/extcon/wlf,arizona.yaml
 +F:    Documentation/devicetree/bindings/mfd/wlf,arizona.yaml
  F:    Documentation/devicetree/bindings/mfd/wm831x.txt
 -F:    Documentation/devicetree/bindings/regulator/arizona-regulator.txt
 -F:    Documentation/devicetree/bindings/sound/wlf,arizona.txt
 +F:    Documentation/devicetree/bindings/regulator/wlf,arizona.yaml
 +F:    Documentation/devicetree/bindings/sound/wlf,arizona.yaml
  F:    Documentation/hwmon/wm83??.rst
  F:    arch/arm/mach-s3c64xx/mach-crag6410*
  F:    drivers/clk/clk-wm83*.c
@@@ -18654,12 -18440,8 +18655,12 @@@ R: Jonathan Lemon <jonathan.lemon@gmail
  L:    netdev@vger.kernel.org
  L:    bpf@vger.kernel.org
  S:    Maintained
 -F:    kernel/bpf/xskmap.c
 +F:    include/net/xdp_sock*
 +F:    include/net/xsk_buff_pool.h
 +F:    include/uapi/linux/if_xdp.h
  F:    net/xdp/
 +F:    samples/bpf/xdpsock*
 +F:    tools/lib/bpf/xsk*
  
  XEN BLOCK SUBSYSTEM
  M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
@@@ -18749,8 -18531,8 +18750,8 @@@ W:   http://xfs.org
  T:    git git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git
  F:    Documentation/ABI/testing/sysfs-fs-xfs
  F:    Documentation/admin-guide/xfs.rst
 -F:    Documentation/filesystems/xfs-delayed-logging-design.txt
 -F:    Documentation/filesystems/xfs-self-describing-metadata.txt
 +F:    Documentation/filesystems/xfs-delayed-logging-design.rst
 +F:    Documentation/filesystems/xfs-self-describing-metadata.rst
  F:    fs/xfs/
  F:    include/uapi/linux/dqblk_xfs.h
  F:    include/uapi/linux/fsmap.h
@@@ -18851,7 -18633,7 +18852,7 @@@ L:   linux-hams@vger.kernel.or
  S:    Maintained
  W:    http://yaina.de/jreuter/
  W:    http://www.qsl.net/dl1bke/
 -F:    Documentation/networking/z8530drv.txt
 +F:    Documentation/networking/z8530drv.rst
  F:    drivers/net/hamradio/*scc.c
  F:    drivers/net/hamradio/z8530.h
  
diff --combined arch/Kconfig
@@@ -328,12 -328,6 +328,6 @@@ config HAVE_FUNCTION_ARG_ACCESS_AP
          the API needed to access function arguments from pt_regs,
          declared in asm/ptrace.h
  
- config HAVE_CLK
-       bool
-       help
-         The <linux/clk.h> calls support software clock gating and
-         thus are a key power management tool on many systems.
  config HAVE_HW_BREAKPOINT
        bool
        depends on PERF_EVENTS
@@@ -533,31 -527,6 +527,31 @@@ config STACKPROTECTOR_STRON
          about 20% of all kernel functions, which increases the kernel code
          size by about 2%.
  
 +config ARCH_SUPPORTS_SHADOW_CALL_STACK
 +      bool
 +      help
 +        An architecture should select this if it supports Clang's Shadow
 +        Call Stack and implements runtime support for shadow stack
 +        switching.
 +
 +config SHADOW_CALL_STACK
 +      bool "Clang Shadow Call Stack"
 +      depends on CC_IS_CLANG && ARCH_SUPPORTS_SHADOW_CALL_STACK
 +      depends on DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
 +      help
 +        This option enables Clang's Shadow Call Stack, which uses a
 +        shadow stack to protect function return addresses from being
 +        overwritten by an attacker. More information can be found in
 +        Clang's documentation:
 +
 +          https://clang.llvm.org/docs/ShadowCallStack.html
 +
 +        Note that security guarantees in the kernel differ from the
 +        ones documented for user space. The kernel must store addresses
 +        of shadow stacks in memory, which means an attacker capable of
 +        reading and writing arbitrary memory may be able to locate them
 +        and hijack control flow by modifying the stacks.
 +
  config HAVE_ARCH_WITHIN_STACK_FRAMES
        bool
        help
diff --combined arch/arm/Kconfig
@@@ -12,7 -12,6 +12,7 @@@ config AR
        select ARCH_HAS_KEEPINITRD
        select ARCH_HAS_KCOV
        select ARCH_HAS_MEMBARRIER_SYNC_CORE
 +      select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
        select ARCH_HAS_PTE_SPECIAL if ARM_LPAE
        select ARCH_HAS_PHYS_TO_DMA
        select ARCH_HAS_SETUP_DMA_OPS
@@@ -313,9 -312,6 +313,9 @@@ choic
  config ARCH_MULTIPLATFORM
        bool "Allow multiple platforms to be selected"
        depends on MMU
 +      select ARCH_FLATMEM_ENABLE
 +      select ARCH_SPARSEMEM_ENABLE
 +      select ARCH_SELECT_MEMORY_MODEL
        select ARM_HAS_SG_CHAIN
        select ARM_PATCH_PHYS_VIRT
        select AUTO_ZRELADDR
@@@ -367,6 -363,7 +367,7 @@@ config ARCH_EP93X
        select CPU_ARM920T
        select GENERIC_CLOCKEVENTS
        select GPIOLIB
+       select HAVE_LEGACY_CLK
        help
          This enables support for the Cirrus EP93xx series of CPUs.
  
@@@ -438,7 -435,6 +439,6 @@@ config ARCH_PX
        select ARM_CPU_SUSPEND if PM
        select AUTO_ZRELADDR
        select COMMON_CLK
-       select CLKDEV_LOOKUP
        select CLKSRC_PXA
        select CLKSRC_MMIO
        select TIMER_OF
@@@ -477,7 -473,6 +477,6 @@@ config ARCH_SA110
        bool "SA1100-based"
        select ARCH_MTD_XIP
        select ARCH_SPARSEMEM_ENABLE
-       select CLKDEV_LOOKUP
        select CLKSRC_MMIO
        select CLKSRC_PXA
        select TIMER_OF if OF
  config ARCH_S3C24XX
        bool "Samsung S3C24XX SoCs"
        select ATAGS
-       select CLKDEV_LOOKUP
        select CLKSRC_SAMSUNG_PWM
        select GENERIC_CLOCKEVENTS
        select GPIO_SAMSUNG
@@@ -528,6 -522,7 +526,7 @@@ config ARCH_OMAP
        select GENERIC_IRQ_MULTI_HANDLER
        select GPIOLIB
        select HAVE_IDE
+       select HAVE_LEGACY_CLK
        select IRQ_DOMAIN
        select NEED_MACH_IO_H if PCCARD
        select NEED_MACH_MEMORY_H
@@@ -702,8 -697,6 +701,8 @@@ source "arch/arm/mach-qcom/Kconfig
  
  source "arch/arm/mach-rda/Kconfig"
  
 +source "arch/arm/mach-realtek/Kconfig"
 +
  source "arch/arm/mach-realview/Kconfig"
  
  source "arch/arm/mach-rockchip/Kconfig"
@@@ -741,6 -734,7 +740,6 @@@ source "arch/arm/mach-ux500/Kconfig
  source "arch/arm/mach-versatile/Kconfig"
  
  source "arch/arm/mach-vexpress/Kconfig"
 -source "arch/arm/plat-versatile/Kconfig"
  
  source "arch/arm/mach-vt8500/Kconfig"
  
@@@ -1250,6 -1244,7 +1249,6 @@@ config HAVE_ARM_ARCH_TIME
        bool "Architected timer support"
        depends on CPU_V7
        select ARM_ARCH_TIMER
 -      select GENERIC_CLOCKEVENTS
        help
          This option enables support for the ARM architected timer
  
@@@ -1519,15 -1514,11 +1518,15 @@@ config OABI_COMPA
  config ARCH_HAS_HOLES_MEMORYMODEL
        bool
  
 -config ARCH_SPARSEMEM_ENABLE
 +config ARCH_SELECT_MEMORY_MODEL
        bool
  
 -config ARCH_SPARSEMEM_DEFAULT
 -      def_bool ARCH_SPARSEMEM_ENABLE
 +config ARCH_FLATMEM_ENABLE
 +      bool
 +
 +config ARCH_SPARSEMEM_ENABLE
 +      bool
 +      select SPARSEMEM_STATIC if SPARSEMEM
  
  config HAVE_ARCH_PFN_VALID
        def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
@@@ -1962,7 -1953,7 +1961,7 @@@ config EF
        select UCS2_STRING
        select EFI_PARAMS_FROM_FDT
        select EFI_STUB
 -      select EFI_ARMSTUB
 +      select EFI_GENERIC_STUB
        select EFI_RUNTIME_WRAPPERS
        ---help---
          This option provides support for runtime services provided
@@@ -235,7 -235,6 +235,6 @@@ config ARCH_TEGR
        bool "NVIDIA Tegra SoC Family"
        select ARCH_HAS_RESET_CONTROLLER
        select ARM_GIC_PM
-       select CLKDEV_LOOKUP
        select CLKSRC_MMIO
        select TIMER_OF
        select GENERIC_CLOCKEVENTS
          This enables support for the NVIDIA Tegra SoC family.
  
  config ARCH_SPRD
 -      tristate "Spreadtrum SoC platform"
 +      bool "Spreadtrum SoC platform"
        help
          Support for Spreadtrum ARM based SoCs
  
@@@ -274,9 -273,12 +273,9 @@@ config ARCH_UNIPHIE
  
  config ARCH_VEXPRESS
        bool "ARMv8 software model (Versatile Express)"
 -      select COMMON_CLK_VERSATILE
        select GPIOLIB
        select PM
        select PM_GENERIC_DOMAINS
 -      select POWER_RESET_VEXPRESS
 -      select VEXPRESS_CONFIG
        help
          This enables support for the ARMv8 software model (Versatile
          Express).
diff --combined arch/mips/Kconfig
@@@ -72,6 -72,7 +72,6 @@@ config MIP
        select HAVE_KPROBES
        select HAVE_KRETPROBES
        select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
 -      select HAVE_MEMBLOCK_NODE_MAP
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
        select HAVE_OPROFILE
@@@ -91,9 -92,6 +91,9 @@@
        select SYSCTL_EXCEPTION_TRACE
        select VIRT_TO_BUS
  
 +config MIPS_FIXUP_BIGPHYS_ADDR
 +      bool
 +
  menu "Machine selection"
  
  choice
@@@ -159,7 -157,6 +159,7 @@@ config MIPS_ALCHEM
        select CSRC_R4K
        select IRQ_MIPS_CPU
        select DMA_MAYBE_COHERENT       # Au1000,1500,1100 aren't, rest is
 +      select MIPS_FIXUP_BIGPHYS_ADDR if PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_APM_EMULATION
@@@ -184,7 -181,7 +184,7 @@@ config AR
        select SYS_SUPPORTS_ZBOOT_UART16550
        select GPIOLIB
        select VLYNQ
-       select HAVE_CLK
+       select HAVE_LEGACY_CLK
        help
          Support for the Texas Instruments AR7 System-on-a-Chip
          family: TNETD7100, 7200 and 7300.
@@@ -212,9 -209,7 +212,7 @@@ config ATH7
        select DMA_NONCOHERENT
        select GPIOLIB
        select PINCTRL
-       select HAVE_CLK
        select COMMON_CLK
-       select CLKDEV_LOOKUP
        select IRQ_MIPS_CPU
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_HAS_EARLY_PRINTK
@@@ -301,9 -296,9 +299,9 @@@ config BCM63X
        select SYS_HAS_EARLY_PRINTK
        select SWAP_IO_SPACE
        select GPIOLIB
-       select HAVE_CLK
        select MIPS_L1_CACHE_SHIFT_4
        select CLKDEV_LOOKUP
+       select HAVE_LEGACY_CLK
        help
          Support for BCM63XX based boards
  
@@@ -424,12 -419,30 +422,13 @@@ config LANTI
        select SWAP_IO_SPACE
        select BOOT_RAW
        select CLKDEV_LOOKUP
+       select HAVE_LEGACY_CLK
        select USE_OF
        select PINCTRL
        select PINCTRL_LANTIQ
        select ARCH_HAS_RESET_CONTROLLER
        select RESET_CONTROLLER
  
 -config LASAT
 -      bool "LASAT Networks platforms"
 -      select CEVT_R4K
 -      select CRC32
 -      select CSRC_R4K
 -      select DMA_NONCOHERENT
 -      select SYS_HAS_EARLY_PRINTK
 -      select HAVE_PCI
 -      select IRQ_MIPS_CPU
 -      select PCI_GT64XXX_PCI0
 -      select MIPS_NILE4
 -      select R5000_CPU_SCACHE
 -      select SYS_HAS_CPU_R5000
 -      select SYS_SUPPORTS_32BIT_KERNEL
 -      select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
 -      select SYS_SUPPORTS_LITTLE_ENDIAN
 -
  config MACH_LOONGSON32
        bool "Loongson 32-bit family of machines"
        select SYS_SUPPORTS_ZBOOT
@@@ -461,10 -474,8 +460,10 @@@ config MACH_LOONGSON6
        select ISA
        select I8259
        select IRQ_MIPS_CPU
 -      select NR_CPUS_DEFAULT_4
 +      select NO_EXCEPT_FILL
 +      select NR_CPUS_DEFAULT_64
        select USE_GENERIC_EARLY_PRINTK_8250
 +      select PCI_DRIVERS_GENERIC
        select SYS_HAS_CPU_LOONGSON64
        select SYS_HAS_EARLY_PRINTK
        select SYS_SUPPORTS_SMP
@@@ -581,6 -592,13 +580,6 @@@ config MACH_PIC3
          Microchip PIC32 is a family of general-purpose 32 bit MIPS core
          microcontrollers.
  
 -config NEC_MARKEINS
 -      bool "NEC EMMA2RH Mark-eins board"
 -      select SOC_EMMA2RH
 -      select HAVE_PCI
 -      help
 -        This enables support for the NEC Electronics Mark-eins boards.
 -
  config MACH_VR41XX
        bool "NEC VR4100 series based machines"
        select CEVT_R4K
@@@ -602,6 -620,30 +601,6 @@@ config NXP_STB22
        help
          Support for NXP Semiconductors STB225 Development Board.
  
 -config PMC_MSP
 -      bool "PMC-Sierra MSP chipsets"
 -      select CEVT_R4K
 -      select CSRC_R4K
 -      select DMA_NONCOHERENT
 -      select SWAP_IO_SPACE
 -      select NO_EXCEPT_FILL
 -      select BOOT_RAW
 -      select SYS_HAS_CPU_MIPS32_R1
 -      select SYS_HAS_CPU_MIPS32_R2
 -      select SYS_SUPPORTS_32BIT_KERNEL
 -      select SYS_SUPPORTS_BIG_ENDIAN
 -      select SYS_SUPPORTS_MIPS16
 -      select IRQ_MIPS_CPU
 -      select SERIAL_8250
 -      select SERIAL_8250_CONSOLE
 -      select USB_EHCI_BIG_ENDIAN_MMIO
 -      select USB_EHCI_BIG_ENDIAN_DESC
 -      help
 -        This adds support for the PMC-Sierra family of Multi-Service
 -        Processor System-On-A-Chips.  These parts include a number
 -        of integrated peripherals, interfaces and DSPs in addition to
 -        a variety of MIPS cores.
 -
  config RALINK
        bool "Ralink based machines"
        select CEVT_R4K
@@@ -1044,8 -1086,10 +1043,8 @@@ source "arch/mips/generic/Kconfig
  source "arch/mips/jazz/Kconfig"
  source "arch/mips/jz4740/Kconfig"
  source "arch/mips/lantiq/Kconfig"
 -source "arch/mips/lasat/Kconfig"
  source "arch/mips/pic32/Kconfig"
  source "arch/mips/pistachio/Kconfig"
 -source "arch/mips/pmcs-msp71xx/Kconfig"
  source "arch/mips/ralink/Kconfig"
  source "arch/mips/sgi-ip27/Kconfig"
  source "arch/mips/sibyte/Kconfig"
@@@ -1109,7 -1153,6 +1108,7 @@@ config CSRC_IOASI
        bool
  
  config CSRC_R4K
 +      select CLOCKSOURCE_WATCHDOG if CPU_FREQ
        bool
  
  config CSRC_SB1250
@@@ -1167,6 -1210,9 +1166,6 @@@ config MIPS_BONITO6
  config MIPS_MSC
        bool
  
 -config MIPS_NILE4
 -      bool
 -
  config SYNC_R4K
        bool
  
@@@ -1287,6 -1333,18 +1286,6 @@@ config PCI_XTALK_BRIDG
  config NO_EXCEPT_FILL
        bool
  
 -config SOC_EMMA2RH
 -      bool
 -      select CEVT_R4K
 -      select CSRC_R4K
 -      select DMA_NONCOHERENT
 -      select IRQ_MIPS_CPU
 -      select SWAP_IO_SPACE
 -      select SYS_HAS_CPU_R5500
 -      select SYS_SUPPORTS_32BIT_KERNEL
 -      select SYS_SUPPORTS_64BIT_KERNEL
 -      select SYS_SUPPORTS_BIG_ENDIAN
 -
  config SOC_PNX833X
        bool
        select CEVT_R4K
@@@ -1360,6 -1418,9 +1359,6 @@@ config MIPS_L1_CACHE_SHIF
        default "4" if MIPS_L1_CACHE_SHIFT_4
        default "5"
  
 -config HAVE_STD_PC_SERIAL_PORT
 -      bool
 -
  config ARC_CMDLINE_ONLY
        bool
  
@@@ -1442,18 -1503,6 +1441,18 @@@ config CPU_LOONGSON3_WORKAROUND
  
          If unsure, please say Y.
  
 +config CPU_LOONGSON3_CPUCFG_EMULATION
 +      bool "Emulate the CPUCFG instruction on older Loongson cores"
 +      default y
 +      depends on CPU_LOONGSON64
 +      help
 +        Loongson-3A R4 and newer have the CPUCFG instruction available for
 +        userland to query CPU capabilities, much like CPUID on x86. This
 +        option provides emulation of the instruction on older Loongson
 +        cores, back to Loongson-3A1000.
 +
 +        If unsure, please say Y.
 +
  config CPU_LOONGSON2E
        bool "Loongson 2E"
        depends on SYS_HAS_CPU_LOONGSON2E
@@@ -1530,21 -1579,6 +1529,21 @@@ config CPU_MIPS32_R
          specific type of processor in your system, choose those that one
          otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
  
 +config CPU_MIPS32_R5
 +      bool "MIPS32 Release 5"
 +      depends on SYS_HAS_CPU_MIPS32_R5
 +      select CPU_HAS_PREFETCH
 +      select CPU_SUPPORTS_32BIT_KERNEL
 +      select CPU_SUPPORTS_HIGHMEM
 +      select CPU_SUPPORTS_MSA
 +      select HAVE_KVM
 +      select MIPS_O32_FP64_SUPPORT
 +      help
 +        Choose this option to build a kernel for release 5 or later of the
 +        MIPS32 architecture.  New MIPS processors, starting with the Warrior
 +        family, are based on a MIPS32r5 processor. If you own an older
 +        processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
 +
  config CPU_MIPS32_R6
        bool "MIPS32 Release 6"
        depends on SYS_HAS_CPU_MIPS32_R6
@@@ -1597,23 -1631,6 +1596,23 @@@ config CPU_MIPS64_R
          specific type of processor in your system, choose those that one
          otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
  
 +config CPU_MIPS64_R5
 +      bool "MIPS64 Release 5"
 +      depends on SYS_HAS_CPU_MIPS64_R5
 +      select CPU_HAS_PREFETCH
 +      select CPU_SUPPORTS_32BIT_KERNEL
 +      select CPU_SUPPORTS_64BIT_KERNEL
 +      select CPU_SUPPORTS_HIGHMEM
 +      select CPU_SUPPORTS_HUGEPAGES
 +      select CPU_SUPPORTS_MSA
 +      select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32
 +      select HAVE_KVM
 +      help
 +        Choose this option to build a kernel for release 5 or later of the
 +        MIPS64 architecture.  This is a intermediate MIPS architecture
 +        release partly implementing release 6 features. Though there is no
 +        any hardware known to be based on this release.
 +
  config CPU_MIPS64_R6
        bool "MIPS64 Release 6"
        depends on SYS_HAS_CPU_MIPS64_R6
          family, are based on a MIPS64r6 processor. If you own an older
          processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
  
 +config CPU_P5600
 +      bool "MIPS Warrior P5600"
 +      depends on SYS_HAS_CPU_P5600
 +      select CPU_HAS_PREFETCH
 +      select CPU_SUPPORTS_32BIT_KERNEL
 +      select CPU_SUPPORTS_HIGHMEM
 +      select CPU_SUPPORTS_MSA
 +      select CPU_SUPPORTS_UNCACHED_ACCELERATED
 +      select CPU_SUPPORTS_CPUFREQ
 +      select CPU_MIPSR2_IRQ_VI
 +      select CPU_MIPSR2_IRQ_EI
 +      select HAVE_KVM
 +      select MIPS_O32_FP64_SUPPORT
 +      help
 +        Choose this option to build a kernel for MIPS Warrior P5600 CPU.
 +        It's based on MIPS32r5 ISA with XPA, EVA, dual/quad issue exec pipes,
 +        MMU with two-levels TLB, UCA, MSA, MDU core level features and system
 +        level features like up to six P5600 calculation cores, CM2 with L2
 +        cache, IOCU/IOMMU (though might be unused depending on the system-
 +        specific IP core configuration), GIC, CPC, virtualisation module,
 +        eJTAG and PDtrace.
 +
  config CPU_R3000
        bool "R3000"
        depends on SYS_HAS_CPU_R3000
@@@ -1830,8 -1825,7 +1829,8 @@@ endchoic
  config CPU_MIPS32_3_5_FEATURES
        bool "MIPS32 Release 3.5 Features"
        depends on SYS_HAS_CPU_MIPS32_R3_5
 -      depends on CPU_MIPS32_R2 || CPU_MIPS32_R6
 +      depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_MIPS32_R6 || \
 +                 CPU_P5600
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS32 architecture including features from the 3.5 release such as
@@@ -1851,7 -1845,7 +1850,7 @@@ config CPU_MIPS32_3_5_EV
  config CPU_MIPS32_R5_FEATURES
        bool "MIPS32 Release 5 Features"
        depends on SYS_HAS_CPU_MIPS32_R5
 -      depends on CPU_MIPS32_R2
 +      depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_P5600
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS32 architecture including features from release 5 such as
@@@ -2006,10 -2000,6 +2005,10 @@@ config SYS_HAS_CPU_MIPS64_R
        bool
        select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
  
 +config SYS_HAS_CPU_P5600
 +      bool
 +      select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
 +
  config SYS_HAS_CPU_R3000
        bool
  
@@@ -2093,13 -2083,11 +2092,13 @@@ endmen
  #
  config CPU_MIPS32
        bool
 -      default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
 +      default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R5 || \
 +                   CPU_MIPS32_R6 || CPU_P5600
  
  config CPU_MIPS64
        bool
 -      default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
 +      default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \
 +                   CPU_MIPS64_R6
  
  #
  # These indicate the revision of the architecture
@@@ -2115,13 -2103,6 +2114,13 @@@ config CPU_MIPSR
        select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
        select MIPS_SPRAM
  
 +config CPU_MIPSR5
 +      bool
 +      default y if CPU_MIPS32_R5 || CPU_MIPS64_R5 || CPU_P5600
 +      select CPU_HAS_RIXI
 +      select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
 +      select MIPS_SPRAM
 +
  config CPU_MIPSR6
        bool
        default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
@@@ -2136,7 -2117,6 +2135,7 @@@ config TARGET_ISA_RE
        int
        default 1 if CPU_MIPSR1
        default 2 if CPU_MIPSR2
 +      default 5 if CPU_MIPSR5
        default 6 if CPU_MIPSR6
        default 0
        help
@@@ -2726,11 -2706,7 +2725,11 @@@ config NEED_PER_CPU_EMBED_FIRST_CHUN
  
  config RELOCATABLE
        bool "Relocatable kernel"
 -      depends on SYS_SUPPORTS_RELOCATABLE && (CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_MIPS32_R6 || CPU_MIPS64_R6 || CAVIUM_OCTEON_SOC)
 +      depends on SYS_SUPPORTS_RELOCATABLE
 +      depends on CPU_MIPS32_R2 || CPU_MIPS64_R2 || \
 +                 CPU_MIPS32_R5 || CPU_MIPS64_R5 || \
 +                 CPU_MIPS32_R6 || CPU_MIPS64_R6 || \
 +                 CPU_P5600 || CAVIUM_OCTEON_SOC
        help
          This builds a kernel image that retains relocation information
          so it can be loaded someplace besides the default 1MB.
@@@ -3298,5 -3274,3 +3297,5 @@@ endmen
  source "drivers/firmware/Kconfig"
  
  source "arch/mips/kvm/Kconfig"
 +
 +source "arch/mips/vdso/Kconfig"
diff --combined drivers/clk/Makefile
@@@ -75,6 -75,7 +75,7 @@@ obj-y                                 += analogbits
  obj-$(CONFIG_COMMON_CLK_AT91)         += at91/
  obj-$(CONFIG_ARCH_ARTPEC)             += axis/
  obj-$(CONFIG_ARC_PLAT_AXS10X)         += axs10x/
+ obj-$(CONFIG_CLK_BAIKAL_T1)           += baikal-t1/
  obj-y                                 += bcm/
  obj-$(CONFIG_ARCH_BERLIN)             += berlin/
  obj-$(CONFIG_ARCH_DAVINCI)            += davinci/
@@@ -104,17 -105,18 +105,18 @@@ obj-$(CONFIG_COMMON_CLK_SAMSUNG)        += sam
  obj-$(CONFIG_CLK_SIFIVE)              += sifive/
  obj-$(CONFIG_ARCH_SIRF)                       += sirf/
  obj-$(CONFIG_ARCH_SOCFPGA)            += socfpga/
+ obj-$(CONFIG_ARCH_AGILEX)             += socfpga/
+ obj-$(CONFIG_ARCH_STRATIX10)          += socfpga/
  obj-$(CONFIG_PLAT_SPEAR)              += spear/
 -obj-$(CONFIG_ARCH_SPRD)                       += sprd/
 +obj-y                                 += sprd/
  obj-$(CONFIG_ARCH_STI)                        += st/
- obj-$(CONFIG_ARCH_STRATIX10)          += socfpga/
  obj-$(CONFIG_ARCH_SUNXI)              += sunxi/
  obj-$(CONFIG_SUNXI_CCU)                       += sunxi-ng/
  obj-$(CONFIG_ARCH_TEGRA)              += tegra/
  obj-y                                 += ti/
  obj-$(CONFIG_CLK_UNIPHIER)            += uniphier/
  obj-$(CONFIG_ARCH_U8500)              += ux500/
 -obj-$(CONFIG_COMMON_CLK_VERSATILE)    += versatile/
 +obj-y                                 += versatile/
  ifeq ($(CONFIG_COMMON_CLK), y)
  obj-$(CONFIG_X86)                     += x86/
  endif
diff --combined drivers/clk/clk.c
@@@ -114,11 -114,7 +114,11 @@@ static int clk_pm_runtime_get(struct cl
                return 0;
  
        ret = pm_runtime_get_sync(core->dev);
 -      return ret < 0 ? ret : 0;
 +      if (ret < 0) {
 +              pm_runtime_put_noidle(core->dev);
 +              return ret;
 +      }
 +      return 0;
  }
  
  static void clk_pm_runtime_put(struct clk_core *core)
@@@ -3299,10 -3295,6 +3299,6 @@@ static int __init clk_debug_init(void
  late_initcall(clk_debug_init);
  #else
  static inline void clk_debug_register(struct clk_core *core) { }
- static inline void clk_debug_reparent(struct clk_core *core,
-                                     struct clk_core *new_parent)
- {
- }
  static inline void clk_debug_unregister(struct clk_core *core)
  {
  }
@@@ -3523,9 -3515,6 +3519,9 @@@ static int __clk_core_init(struct clk_c
  out:
        clk_pm_runtime_put(core);
  unlock:
 +      if (ret)
 +              hlist_del_init(&core->child_node);
 +
        clk_prepare_unlock();
  
        if (!ret)
@@@ -117,6 -117,92 +117,92 @@@ config COMMON_CLK_MT2712_VENCSY
        ---help---
          This driver supports MediaTek MT2712 vencsys clocks.
  
+ config COMMON_CLK_MT6765
+        bool "Clock driver for MediaTek MT6765"
+        depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
+        select COMMON_CLK_MEDIATEK
+        default ARCH_MEDIATEK && ARM64
+        help
+          This driver supports MediaTek MT6765 basic clocks.
+ config COMMON_CLK_MT6765_AUDIOSYS
+        bool "Clock driver for MediaTek MT6765 audiosys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 audiosys clocks.
+ config COMMON_CLK_MT6765_CAMSYS
+        bool "Clock driver for MediaTek MT6765 camsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 camsys clocks.
+ config COMMON_CLK_MT6765_GCESYS
+        bool "Clock driver for MediaTek MT6765 gcesys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 gcesys clocks.
+ config COMMON_CLK_MT6765_MMSYS
+        bool "Clock driver for MediaTek MT6765 mmsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 mmsys clocks.
+ config COMMON_CLK_MT6765_IMGSYS
+        bool "Clock driver for MediaTek MT6765 imgsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 imgsys clocks.
+ config COMMON_CLK_MT6765_VCODECSYS
+        bool "Clock driver for MediaTek MT6765 vcodecsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 vcodecsys clocks.
+ config COMMON_CLK_MT6765_MFGSYS
+        bool "Clock driver for MediaTek MT6765 mfgsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 mfgsys clocks.
+ config COMMON_CLK_MT6765_MIPI0ASYS
+        bool "Clock driver for MediaTek MT6765 mipi0asys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 mipi0asys clocks.
+ config COMMON_CLK_MT6765_MIPI0BSYS
+        bool "Clock driver for MediaTek MT6765 mipi0bsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 mipi0bsys clocks.
+ config COMMON_CLK_MT6765_MIPI1ASYS
+        bool "Clock driver for MediaTek MT6765 mipi1asys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 mipi1asys clocks.
+ config COMMON_CLK_MT6765_MIPI1BSYS
+        bool "Clock driver for MediaTek MT6765 mipi1bsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 mipi1bsys clocks.
+ config COMMON_CLK_MT6765_MIPI2ASYS
+        bool "Clock driver for MediaTek MT6765 mipi2asys"
+        depends on COMMON_CLK_MT6765
+       help
+          This driver supports MediaTek MT6765 mipi2asys clocks.
+ config COMMON_CLK_MT6765_MIPI2BSYS
+        bool "Clock driver for MediaTek MT6765 mipi2bsys"
+        depends on COMMON_CLK_MT6765
+        help
+          This driver supports MediaTek MT6765 mipi2bsys clocks.
  config COMMON_CLK_MT6779
        bool "Clock driver for MediaTek MT6779"
        depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
@@@ -274,13 -360,6 +360,13 @@@ config COMMON_CLK_MT817
        ---help---
          This driver supports MediaTek MT8173 clocks.
  
 +config COMMON_CLK_MT8173_MMSYS
 +      bool "Clock driver for MediaTek MT8173 mmsys"
 +      depends on COMMON_CLK_MT8173
 +      default COMMON_CLK_MT8173
 +      help
 +        This driver supports MediaTek MT8173 mmsys clocks.
 +
  config COMMON_CLK_MT8183
        bool "Clock driver for MediaTek MT8183"
        depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
@@@ -1,6 -1,13 +1,13 @@@
  # SPDX-License-Identifier: GPL-2.0
  obj-$(CONFIG_COMMON_CLK_MEDIATEK) += clk-mtk.o clk-pll.o clk-gate.o clk-apmixed.o clk-cpumux.o reset.o clk-mux.o
  
+ obj-$(CONFIG_COMMON_CLK_MT6765) += clk-mt6765.o
+ obj-$(CONFIG_COMMON_CLK_MT6765_AUDIOSYS) += clk-mt6765-audio.o
+ obj-$(CONFIG_COMMON_CLK_MT6765_CAMSYS) += clk-mt6765-cam.o
+ obj-$(CONFIG_COMMON_CLK_MT6765_IMGSYS) += clk-mt6765-img.o
+ obj-$(CONFIG_COMMON_CLK_MT6765_MIPI0ASYS) += clk-mt6765-mipi0a.o
+ obj-$(CONFIG_COMMON_CLK_MT6765_MMSYS) += clk-mt6765-mm.o
+ obj-$(CONFIG_COMMON_CLK_MT6765_VCODECSYS) += clk-mt6765-vcodec.o
  obj-$(CONFIG_COMMON_CLK_MT6779) += clk-mt6779.o
  obj-$(CONFIG_COMMON_CLK_MT6779_MMSYS) += clk-mt6779-mm.o
  obj-$(CONFIG_COMMON_CLK_MT6779_IMGSYS) += clk-mt6779-img.o
@@@ -41,7 -48,6 +48,7 @@@ obj-$(CONFIG_COMMON_CLK_MT7629_ETHSYS) 
  obj-$(CONFIG_COMMON_CLK_MT7629_HIFSYS) += clk-mt7629-hif.o
  obj-$(CONFIG_COMMON_CLK_MT8135) += clk-mt8135.o
  obj-$(CONFIG_COMMON_CLK_MT8173) += clk-mt8173.o
 +obj-$(CONFIG_COMMON_CLK_MT8173_MMSYS) += clk-mt8173-mm.o
  obj-$(CONFIG_COMMON_CLK_MT8183) += clk-mt8183.o
  obj-$(CONFIG_COMMON_CLK_MT8183_AUDIOSYS) += clk-mt8183-audio.o
  obj-$(CONFIG_COMMON_CLK_MT8183_CAMSYS) += clk-mt8183-cam.o
diff --combined drivers/clk/mmp/clk.h
@@@ -3,6 -3,7 +3,7 @@@
  #define __MACH_MMP_CLK_H
  
  #include <linux/clk-provider.h>
+ #include <linux/pm_domain.h>
  #include <linux/clkdev.h>
  
  #define APBC_NO_BUS_CTRL      BIT(0)
@@@ -16,6 -17,7 +17,7 @@@ struct mmp_clk_factor_masks 
        unsigned int den_mask;
        unsigned int num_shift;
        unsigned int den_shift;
+       unsigned int enable_mask;
  };
  
  struct mmp_clk_factor_tbl {
@@@ -238,6 -240,13 +240,6 @@@ void mmp_register_pll_clks(struct mmp_c
                        struct mmp_param_pll_clk *clks,
                        void __iomem *base, int size);
  
 -extern struct clk *mmp_clk_register_pll(char *name,
 -                      unsigned long default_rate,
 -                      void __iomem *enable_reg, u32 enable,
 -                      void __iomem *reg, u8 shift,
 -                      unsigned long input_rate,
 -                      void __iomem *postdiv_reg, u8 postdiv_shift);
 -
  #define DEFINE_MIX_REG_INFO(w_d, s_d, w_m, s_m, fc)   \
  {                                                     \
        .width_div = (w_d),                             \
@@@ -251,4 -260,13 +253,13 @@@ void mmp_clk_init(struct device_node *n
                int nr_clks);
  void mmp_clk_add(struct mmp_clk_unit *unit, unsigned int id,
                struct clk *clk);
+ /* Power islands */
+ #define MMP_PM_DOMAIN_NO_DISABLE              BIT(0)
+ struct generic_pm_domain *mmp_pm_domain_register(const char *name,
+               void __iomem *reg,
+               u32 power_on, u32 reset, u32 clock_enable,
+               unsigned int flags, spinlock_t *lock);
  #endif
diff --combined drivers/clk/qcom/Kconfig
@@@ -142,6 -142,14 +142,14 @@@ config MSM_GCC_891
          Say Y if you want to use devices such as UART, SPI i2c, USB,
          SD/eMMC, display, graphics, camera etc.
  
+ config MSM_GCC_8939
+       tristate "MSM8939 Global Clock Controller"
+       select QCOM_GDSC
+       help
+         Support for the global clock controller on msm8939 devices.
+         Say Y if you want to use devices such as UART, SPI i2c, USB,
+         SD/eMMC, display, graphics, camera etc.
  config MSM_GCC_8960
        tristate "APQ8064/MSM8960 Global Clock Controller"
        help
@@@ -377,7 -385,6 +385,7 @@@ config SM_GCC_815
  
  config SM_GCC_8250
        tristate "SM8250 Global Clock Controller"
 +      select QCOM_GDSC
        help
          Support for the global clock controller on SM8250 devices.
          Say Y if you want to use peripheral devices such as UART,
@@@ -76,7 -76,8 +76,7 @@@ static struct clk_alpha_pll_postdiv gpl
        .clkr.hw.init = &(struct clk_init_data){
                .name = "gpll0_out_even",
                .parent_data = &(const struct clk_parent_data){
 -                      .fw_name = "bi_tcxo",
 -                      .name = "bi_tcxo",
 +                      .hw = &gpll0.clkr.hw,
                },
                .num_parents = 1,
                .ops = &clk_trion_pll_postdiv_ops,
@@@ -1616,6 -1617,36 +1616,36 @@@ static struct clk_branch gcc_gpu_cfg_ah
        },
  };
  
+ static struct clk_branch gcc_gpu_gpll0_clk_src = {
+       .clkr = {
+               .enable_reg = 0x52004,
+               .enable_mask = BIT(15),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_gpu_gpll0_clk_src",
+                       .parent_hws = (const struct clk_hw *[]){
+                               &gpll0.clkr.hw },
+                       .num_parents = 1,
+                       .flags = CLK_SET_RATE_PARENT,
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
+ static struct clk_branch gcc_gpu_gpll0_div_clk_src = {
+       .clkr = {
+               .enable_reg = 0x52004,
+               .enable_mask = BIT(16),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_gpu_gpll0_div_clk_src",
+                       .parent_hws = (const struct clk_hw *[]){
+                               &gcc_gpu_gpll0_clk_src.clkr.hw },
+                       .num_parents = 1,
+                       .flags = CLK_SET_RATE_PARENT,
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
  static struct clk_branch gcc_gpu_iref_clk = {
        .halt_reg = 0x8c010,
        .halt_check = BRANCH_HALT,
@@@ -1698,6 -1729,36 +1728,36 @@@ static struct clk_branch gcc_npu_cfg_ah
        },
  };
  
+ static struct clk_branch gcc_npu_gpll0_clk_src = {
+       .clkr = {
+               .enable_reg = 0x52004,
+               .enable_mask = BIT(18),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_npu_gpll0_clk_src",
+                       .parent_hws = (const struct clk_hw *[]){
+                               &gpll0.clkr.hw },
+                       .num_parents = 1,
+                       .flags = CLK_SET_RATE_PARENT,
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
+ static struct clk_branch gcc_npu_gpll0_div_clk_src = {
+       .clkr = {
+               .enable_reg = 0x52004,
+               .enable_mask = BIT(19),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_npu_gpll0_div_clk_src",
+                       .parent_hws = (const struct clk_hw *[]){
+                               &gcc_npu_gpll0_clk_src.clkr.hw },
+                       .num_parents = 1,
+                       .flags = CLK_SET_RATE_PARENT,
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
  static struct clk_branch gcc_npu_trig_clk = {
        .halt_reg = 0x4d00c,
        .halt_check = BRANCH_VOTED,
@@@ -2812,6 -2873,45 +2872,45 @@@ static struct clk_branch gcc_ufs_card_p
        },
  };
  
+ /* external clocks so add BRANCH_HALT_SKIP */
+ static struct clk_branch gcc_ufs_card_rx_symbol_0_clk = {
+       .halt_check = BRANCH_HALT_SKIP,
+       .clkr = {
+               .enable_reg = 0x7501c,
+               .enable_mask = BIT(0),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_ufs_card_rx_symbol_0_clk",
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
+ /* external clocks so add BRANCH_HALT_SKIP */
+ static struct clk_branch gcc_ufs_card_rx_symbol_1_clk = {
+       .halt_check = BRANCH_HALT_SKIP,
+       .clkr = {
+               .enable_reg = 0x750ac,
+               .enable_mask = BIT(0),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_ufs_card_rx_symbol_1_clk",
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
+ /* external clocks so add BRANCH_HALT_SKIP */
+ static struct clk_branch gcc_ufs_card_tx_symbol_0_clk = {
+       .halt_check = BRANCH_HALT_SKIP,
+       .clkr = {
+               .enable_reg = 0x75018,
+               .enable_mask = BIT(0),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_ufs_card_tx_symbol_0_clk",
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
  static struct clk_branch gcc_ufs_card_unipro_core_clk = {
        .halt_reg = 0x75058,
        .halt_check = BRANCH_HALT,
@@@ -2992,6 -3092,45 +3091,45 @@@ static struct clk_branch gcc_ufs_phy_ph
        },
  };
  
+ /* external clocks so add BRANCH_HALT_SKIP */
+ static struct clk_branch gcc_ufs_phy_rx_symbol_0_clk = {
+       .halt_check = BRANCH_HALT_SKIP,
+       .clkr = {
+               .enable_reg = 0x7701c,
+               .enable_mask = BIT(0),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_ufs_phy_rx_symbol_0_clk",
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
+ /* external clocks so add BRANCH_HALT_SKIP */
+ static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk = {
+       .halt_check = BRANCH_HALT_SKIP,
+       .clkr = {
+               .enable_reg = 0x770ac,
+               .enable_mask = BIT(0),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_ufs_phy_rx_symbol_1_clk",
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
+ /* external clocks so add BRANCH_HALT_SKIP */
+ static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk = {
+       .halt_check = BRANCH_HALT_SKIP,
+       .clkr = {
+               .enable_reg = 0x77018,
+               .enable_mask = BIT(0),
+               .hw.init = &(struct clk_init_data){
+                       .name = "gcc_ufs_phy_tx_symbol_0_clk",
+                       .ops = &clk_branch2_ops,
+               },
+       },
+ };
  static struct clk_branch gcc_ufs_phy_unipro_core_clk = {
        .halt_reg = 0x77058,
        .halt_check = BRANCH_HALT,
@@@ -3374,12 -3513,16 +3512,16 @@@ static struct clk_regmap *gcc_sm8150_cl
        [GCC_GP3_CLK] = &gcc_gp3_clk.clkr,
        [GCC_GP3_CLK_SRC] = &gcc_gp3_clk_src.clkr,
        [GCC_GPU_CFG_AHB_CLK] = &gcc_gpu_cfg_ahb_clk.clkr,
+       [GCC_GPU_GPLL0_CLK_SRC] = &gcc_gpu_gpll0_clk_src.clkr,
+       [GCC_GPU_GPLL0_DIV_CLK_SRC] = &gcc_gpu_gpll0_div_clk_src.clkr,
        [GCC_GPU_IREF_CLK] = &gcc_gpu_iref_clk.clkr,
        [GCC_GPU_MEMNOC_GFX_CLK] = &gcc_gpu_memnoc_gfx_clk.clkr,
        [GCC_GPU_SNOC_DVM_GFX_CLK] = &gcc_gpu_snoc_dvm_gfx_clk.clkr,
        [GCC_NPU_AT_CLK] = &gcc_npu_at_clk.clkr,
        [GCC_NPU_AXI_CLK] = &gcc_npu_axi_clk.clkr,
        [GCC_NPU_CFG_AHB_CLK] = &gcc_npu_cfg_ahb_clk.clkr,
+       [GCC_NPU_GPLL0_CLK_SRC] = &gcc_npu_gpll0_clk_src.clkr,
+       [GCC_NPU_GPLL0_DIV_CLK_SRC] = &gcc_npu_gpll0_div_clk_src.clkr,
        [GCC_NPU_TRIG_CLK] = &gcc_npu_trig_clk.clkr,
        [GCC_PCIE0_PHY_REFGEN_CLK] = &gcc_pcie0_phy_refgen_clk.clkr,
        [GCC_PCIE1_PHY_REFGEN_CLK] = &gcc_pcie1_phy_refgen_clk.clkr,
        [GCC_UFS_CARD_PHY_AUX_CLK_SRC] = &gcc_ufs_card_phy_aux_clk_src.clkr,
        [GCC_UFS_CARD_PHY_AUX_HW_CTL_CLK] =
                &gcc_ufs_card_phy_aux_hw_ctl_clk.clkr,
+       [GCC_UFS_CARD_RX_SYMBOL_0_CLK] = &gcc_ufs_card_rx_symbol_0_clk.clkr,
+       [GCC_UFS_CARD_RX_SYMBOL_1_CLK] = &gcc_ufs_card_rx_symbol_1_clk.clkr,
+       [GCC_UFS_CARD_TX_SYMBOL_0_CLK] = &gcc_ufs_card_tx_symbol_0_clk.clkr,
        [GCC_UFS_CARD_UNIPRO_CORE_CLK] = &gcc_ufs_card_unipro_core_clk.clkr,
        [GCC_UFS_CARD_UNIPRO_CORE_CLK_SRC] =
                &gcc_ufs_card_unipro_core_clk_src.clkr,
        [GCC_UFS_PHY_PHY_AUX_CLK] = &gcc_ufs_phy_phy_aux_clk.clkr,
        [GCC_UFS_PHY_PHY_AUX_CLK_SRC] = &gcc_ufs_phy_phy_aux_clk_src.clkr,
        [GCC_UFS_PHY_PHY_AUX_HW_CTL_CLK] = &gcc_ufs_phy_phy_aux_hw_ctl_clk.clkr,
+       [GCC_UFS_PHY_RX_SYMBOL_0_CLK] = &gcc_ufs_phy_rx_symbol_0_clk.clkr,
+       [GCC_UFS_PHY_RX_SYMBOL_1_CLK] = &gcc_ufs_phy_rx_symbol_1_clk.clkr,
+       [GCC_UFS_PHY_TX_SYMBOL_0_CLK] = &gcc_ufs_phy_tx_symbol_0_clk.clkr,
        [GCC_UFS_PHY_UNIPRO_CORE_CLK] = &gcc_ufs_phy_unipro_core_clk.clkr,
        [GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC] =
                &gcc_ufs_phy_unipro_core_clk_src.clkr,
  #include "pll.h"
  
  /* mpll*_gate clocks control cpu cores, they were enabled by default */
- SPRD_PLL_SC_GATE_CLK_FW_NAME(mpll0_gate, "mpll0-gate", "ext-26m", 0x94,
-                            0x1000, BIT(0), CLK_IGNORE_UNUSED, 0, 240);
- SPRD_PLL_SC_GATE_CLK_FW_NAME(dpll0_gate, "dpll0-gate", "ext-26m", 0x98,
-                            0x1000, BIT(0), 0, 0, 240);
- SPRD_PLL_SC_GATE_CLK_FW_NAME(lpll_gate, "lpll-gate", "ext-26m", 0x9c,
-                            0x1000, BIT(0), 0, 0, 240);
- SPRD_PLL_SC_GATE_CLK_FW_NAME(gpll_gate, "gpll-gate", "ext-26m", 0xa8,
-                            0x1000, BIT(0), 0, 0, 240);
- SPRD_PLL_SC_GATE_CLK_FW_NAME(dpll1_gate, "dpll1-gate", "ext-26m", 0x1dc,
-                            0x1000, BIT(0), 0, 0, 240);
- SPRD_PLL_SC_GATE_CLK_FW_NAME(mpll1_gate, "mpll1-gate", "ext-26m", 0x1e0,
-                            0x1000, BIT(0), CLK_IGNORE_UNUSED, 0, 240);
- SPRD_PLL_SC_GATE_CLK_FW_NAME(mpll2_gate, "mpll2-gate", "ext-26m", 0x1e4,
-                            0x1000, BIT(0), CLK_IGNORE_UNUSED, 0, 240);
SPRD_PLL_SC_GATE_CLK_FW_NAME(isppll_gate, "isppll-gate", "ext-26m", 0x1e8,
-                            0x1000, BIT(0), 0, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(mpll0_gate, "mpll0-gate", "ext-26m", 0x94,
+                                   0x1000, BIT(0), CLK_IGNORE_UNUSED, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(dpll0_gate, "dpll0-gate", "ext-26m", 0x98,
+                                   0x1000, BIT(0), 0, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(lpll_gate, "lpll-gate", "ext-26m", 0x9c,
+                                   0x1000, BIT(0), 0, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(gpll_gate, "gpll-gate", "ext-26m", 0xa8,
+                                   0x1000, BIT(0), 0, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(dpll1_gate, "dpll1-gate", "ext-26m", 0x1dc,
+                                   0x1000, BIT(0), 0, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(mpll1_gate, "mpll1-gate", "ext-26m", 0x1e0,
+                                   0x1000, BIT(0), CLK_IGNORE_UNUSED, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(mpll2_gate, "mpll2-gate", "ext-26m", 0x1e4,
+                                   0x1000, BIT(0), CLK_IGNORE_UNUSED, 0, 240);
static SPRD_PLL_SC_GATE_CLK_FW_NAME(isppll_gate, "isppll-gate", "ext-26m",
+                                   0x1e8, 0x1000, BIT(0), 0, 0, 240);
  
  static struct sprd_clk_common *sc9863a_pmu_gate_clks[] = {
        /* address base is 0x402b0000 */
@@@ -1615,6 -1615,36 +1615,36 @@@ static const struct sprd_clk_desc sc986
        .hw_clks        = &sc9863a_mm_gate_hws,
  };
  
+ /* camera sensor clocks */
+ static SPRD_GATE_CLK_HW(mipi_csi_clk, "mipi-csi-clk", &mahb_ckg_eb.common.hw,
+                       0x20, BIT(16), 0, SPRD_GATE_NON_AON);
+ static SPRD_GATE_CLK_HW(mipi_csi_s_clk, "mipi-csi-s-clk", &mahb_ckg_eb.common.hw,
+                       0x24, BIT(16), 0, SPRD_GATE_NON_AON);
+ static SPRD_GATE_CLK_HW(mipi_csi_m_clk, "mipi-csi-m-clk", &mahb_ckg_eb.common.hw,
+                       0x28, BIT(16), 0, SPRD_GATE_NON_AON);
+ static struct sprd_clk_common *sc9863a_mm_clk_clks[] = {
+       /* address base is 0x60900000 */
+       &mipi_csi_clk.common,
+       &mipi_csi_s_clk.common,
+       &mipi_csi_m_clk.common,
+ };
+ static struct clk_hw_onecell_data sc9863a_mm_clk_hws = {
+       .hws    = {
+               [CLK_MIPI_CSI]          = &mipi_csi_clk.common.hw,
+               [CLK_MIPI_CSI_S]        = &mipi_csi_s_clk.common.hw,
+               [CLK_MIPI_CSI_M]        = &mipi_csi_m_clk.common.hw,
+       },
+       .num    = CLK_MM_CLK_NUM,
+ };
+ static const struct sprd_clk_desc sc9863a_mm_clk_desc = {
+       .clk_clks       = sc9863a_mm_clk_clks,
+       .num_clk_clks   = ARRAY_SIZE(sc9863a_mm_clk_clks),
+       .hw_clks        = &sc9863a_mm_clk_hws,
+ };
  static SPRD_SC_GATE_CLK_FW_NAME(sim0_eb,      "sim0-eb",      "ext-26m", 0x0,
                                0x1000, BIT(0), 0, 0);
  static SPRD_SC_GATE_CLK_FW_NAME(iis0_eb,      "iis0-eb",      "ext-26m", 0x0,
@@@ -1641,9 -1671,8 +1671,9 @@@ static SPRD_SC_GATE_CLK_FW_NAME(i2c4_eb
                                0x1000, BIT(12), 0, 0);
  static SPRD_SC_GATE_CLK_FW_NAME(uart0_eb,     "uart0-eb",     "ext-26m", 0x0,
                                0x1000, BIT(13), 0, 0);
 +/* uart1_eb is for console, don't gate even if unused */
  static SPRD_SC_GATE_CLK_FW_NAME(uart1_eb,     "uart1-eb",     "ext-26m", 0x0,
 -                              0x1000, BIT(14), 0, 0);
 +                              0x1000, BIT(14), CLK_IGNORE_UNUSED, 0);
  static SPRD_SC_GATE_CLK_FW_NAME(uart2_eb,     "uart2-eb",     "ext-26m", 0x0,
                                0x1000, BIT(15), 0, 0);
  static SPRD_SC_GATE_CLK_FW_NAME(uart3_eb,     "uart3-eb",     "ext-26m", 0x0,
@@@ -1738,6 -1767,8 +1768,8 @@@ static const struct of_device_id sprd_s
          .data = &sc9863a_aonapb_gate_desc },
        { .compatible = "sprd,sc9863a-mm-gate", /* 0x60800000 */
          .data = &sc9863a_mm_gate_desc },
+       { .compatible = "sprd,sc9863a-mm-clk",  /* 0x60900000 */
+         .data = &sc9863a_mm_clk_desc },
        { .compatible = "sprd,sc9863a-apapb-gate",      /* 0x71300000 */
          .data = &sc9863a_apapb_gate_desc },
        { }
@@@ -84,6 -84,7 +84,7 @@@ struct name_resp 
  
  struct topology_resp {
  #define CLK_TOPOLOGY_TYPE             GENMASK(3, 0)
+ #define CLK_TOPOLOGY_CUSTOM_TYPE_FLAGS        GENMASK(7, 4)
  #define CLK_TOPOLOGY_FLAGS            GENMASK(23, 8)
  #define CLK_TOPOLOGY_TYPE_FLAGS               GENMASK(31, 24)
        u32 topology[CLK_GET_TOPOLOGY_RESP_WORDS];
@@@ -134,6 -135,7 +135,6 @@@ static struct clk_hw *(* const clk_topo
  static struct zynqmp_clock *clock;
  static struct clk_hw_onecell_data *zynqmp_data;
  static unsigned int clock_max_idx;
 -static const struct zynqmp_eemi_ops *eemi_ops;
  
  /**
   * zynqmp_is_valid_clock() - Check whether clock is valid or not
@@@ -205,7 -207,7 +206,7 @@@ static int zynqmp_pm_clock_get_num_cloc
  
        qdata.qid = PM_QID_CLOCK_GET_NUM_CLOCKS;
  
 -      ret = eemi_ops->query_data(qdata, ret_payload);
 +      ret = zynqmp_pm_query_data(qdata, ret_payload);
        *nclocks = ret_payload[1];
  
        return ret;
@@@ -230,7 -232,7 +231,7 @@@ static int zynqmp_pm_clock_get_name(u3
        qdata.qid = PM_QID_CLOCK_GET_NAME;
        qdata.arg1 = clock_id;
  
 -      eemi_ops->query_data(qdata, ret_payload);
 +      zynqmp_pm_query_data(qdata, ret_payload);
        memcpy(response, ret_payload, sizeof(*response));
  
        return 0;
@@@ -264,7 -266,7 +265,7 @@@ static int zynqmp_pm_clock_get_topology
        qdata.arg1 = clock_id;
        qdata.arg2 = index;
  
 -      ret = eemi_ops->query_data(qdata, ret_payload);
 +      ret = zynqmp_pm_query_data(qdata, ret_payload);
        memcpy(response, &ret_payload[1], sizeof(*response));
  
        return ret;
@@@ -295,7 -297,7 +296,7 @@@ struct clk_hw *zynqmp_clk_register_fixe
        qdata.qid = PM_QID_CLOCK_GET_FIXEDFACTOR_PARAMS;
        qdata.arg1 = clk_id;
  
 -      ret = eemi_ops->query_data(qdata, ret_payload);
 +      ret = zynqmp_pm_query_data(qdata, ret_payload);
        if (ret)
                return ERR_PTR(ret);
  
@@@ -338,7 -340,7 +339,7 @@@ static int zynqmp_pm_clock_get_parents(
        qdata.arg1 = clock_id;
        qdata.arg2 = index;
  
 -      ret = eemi_ops->query_data(qdata, ret_payload);
 +      ret = zynqmp_pm_query_data(qdata, ret_payload);
        memcpy(response, &ret_payload[1], sizeof(*response));
  
        return ret;
@@@ -363,7 -365,7 +364,7 @@@ static int zynqmp_pm_clock_get_attribut
        qdata.qid = PM_QID_CLOCK_GET_ATTRIBUTES;
        qdata.arg1 = clock_id;
  
 -      ret = eemi_ops->query_data(qdata, ret_payload);
 +      ret = zynqmp_pm_query_data(qdata, ret_payload);
        memcpy(response, &ret_payload[1], sizeof(*response));
  
        return ret;
@@@ -395,6 -397,9 +396,9 @@@ static int __zynqmp_clock_get_topology(
                topology[*nnodes].type_flag =
                                FIELD_GET(CLK_TOPOLOGY_TYPE_FLAGS,
                                          response->topology[i]);
+               topology[*nnodes].custom_type_flag =
+                       FIELD_GET(CLK_TOPOLOGY_CUSTOM_TYPE_FLAGS,
+                                 response->topology[i]);
                (*nnodes)++;
        }
  
@@@ -557,7 -562,7 +561,7 @@@ static struct clk_hw *zynqmp_register_c
  {
        int j;
        u32 num_nodes, clk_dev_id;
-       char *clk_out = NULL;
+       char *clk_out[MAX_NODES];
        struct clock_topology *nodes;
        struct clk_hw *hw = NULL;
  
                 * Intermediate clock names are postfixed with type of clock.
                 */
                if (j != (num_nodes - 1)) {
-                       clk_out = kasprintf(GFP_KERNEL, "%s%s", clk_name,
+                       clk_out[j] = kasprintf(GFP_KERNEL, "%s%s", clk_name,
                                            clk_type_postfix[nodes[j].type]);
                } else {
-                       clk_out = kasprintf(GFP_KERNEL, "%s", clk_name);
+                       clk_out[j] = kasprintf(GFP_KERNEL, "%s", clk_name);
                }
  
                if (!clk_topology[nodes[j].type])
                        continue;
  
-               hw = (*clk_topology[nodes[j].type])(clk_out, clk_dev_id,
+               hw = (*clk_topology[nodes[j].type])(clk_out[j], clk_dev_id,
                                                    parent_names,
                                                    num_parents,
                                                    &nodes[j]);
                                     __func__,  clk_dev_id, clk_name,
                                     PTR_ERR(hw));
  
-               parent_names[0] = clk_out;
+               parent_names[0] = clk_out[j];
        }
-       kfree(clk_out);
+       for (j = 0; j < num_nodes; j++)
+               kfree(clk_out[j]);
        return hw;
  }
  
@@@ -662,6 -670,11 +669,11 @@@ static void zynqmp_get_clock_info(void
                        continue;
  
                clock[i].valid = FIELD_GET(CLK_ATTR_VALID, attr.attr[0]);
+               /* skip query for Invalid clock */
+               ret = zynqmp_is_valid_clock(i);
+               if (ret != CLK_ATTR_VALID)
+                       continue;
                clock[i].type = FIELD_GET(CLK_ATTR_TYPE, attr.attr[0]) ?
                        CLK_TYPE_EXTERNAL : CLK_TYPE_OUTPUT;
  
@@@ -737,6 -750,10 +749,6 @@@ static int zynqmp_clock_probe(struct pl
        int ret;
        struct device *dev = &pdev->dev;
  
 -      eemi_ops = zynqmp_pm_get_eemi_ops();
 -      if (IS_ERR(eemi_ops))
 -              return PTR_ERR(eemi_ops);
 -
        ret = zynqmp_clk_setup(dev->of_node);
  
        return ret;
@@@ -25,7 -25,8 +25,8 @@@
  #define to_zynqmp_clk_divider(_hw)            \
        container_of(_hw, struct zynqmp_clk_divider, hw)
  
- #define CLK_FRAC      BIT(13) /* has a fractional parent */
+ #define CLK_FRAC              BIT(13) /* has a fractional parent */
+ #define CUSTOM_FLAG_CLK_FRAC  BIT(0) /* has a fractional parent in custom type flag */
  
  /**
   * struct zynqmp_clk_divider - adjustable divider clock
@@@ -83,8 -84,9 +84,8 @@@ static unsigned long zynqmp_clk_divider
        u32 div_type = divider->div_type;
        u32 div, value;
        int ret;
 -      const struct zynqmp_eemi_ops *eemi_ops = zynqmp_pm_get_eemi_ops();
  
 -      ret = eemi_ops->clock_getdivider(clk_id, &div);
 +      ret = zynqmp_pm_clock_getdivider(clk_id, &div);
  
        if (ret)
                pr_warn_once("%s() get divider failed for %s, ret = %d\n",
  
  static void zynqmp_get_divider2_val(struct clk_hw *hw,
                                    unsigned long rate,
-                                   unsigned long parent_rate,
                                    struct zynqmp_clk_divider *divider,
                                    int *bestdiv)
  {
        int div1;
        int div2;
        long error = LONG_MAX;
-       struct clk_hw *parent_hw = clk_hw_get_parent(hw);
-       struct zynqmp_clk_divider *pdivider = to_zynqmp_clk_divider(parent_hw);
+       unsigned long div1_prate;
+       struct clk_hw *div1_parent_hw;
+       struct clk_hw *div2_parent_hw = clk_hw_get_parent(hw);
+       struct zynqmp_clk_divider *pdivider =
+                               to_zynqmp_clk_divider(div2_parent_hw);
  
        if (!pdivider)
                return;
  
+       div1_parent_hw = clk_hw_get_parent(div2_parent_hw);
+       if (!div1_parent_hw)
+               return;
+       div1_prate = clk_hw_get_rate(div1_parent_hw);
        *bestdiv = 1;
        for (div1 = 1; div1 <= pdivider->max_div;) {
                for (div2 = 1; div2 <= divider->max_div;) {
-                       long new_error = ((parent_rate / div1) / div2) - rate;
+                       long new_error = ((div1_prate / div1) / div2) - rate;
  
                        if (abs(new_error) < abs(error)) {
                                *bestdiv = div2;
@@@ -162,10 -171,11 +170,10 @@@ static long zynqmp_clk_divider_round_ra
        u32 div_type = divider->div_type;
        u32 bestdiv;
        int ret;
 -      const struct zynqmp_eemi_ops *eemi_ops = zynqmp_pm_get_eemi_ops();
  
        /* if read only, just return current value */
        if (divider->flags & CLK_DIVIDER_READ_ONLY) {
 -              ret = eemi_ops->clock_getdivider(clk_id, &bestdiv);
 +              ret = zynqmp_pm_clock_getdivider(clk_id, &bestdiv);
  
                if (ret)
                        pr_warn_once("%s() get divider failed for %s, ret = %d\n",
         */
        if (div_type == TYPE_DIV2 &&
            (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
-               zynqmp_get_divider2_val(hw, rate, *prate, divider, &bestdiv);
+               zynqmp_get_divider2_val(hw, rate, divider, &bestdiv);
        }
  
        if ((clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) && divider->is_frac)
                bestdiv = rate % *prate ? 1 : bestdiv;
+       bestdiv = min_t(u32, bestdiv, divider->max_div);
        *prate = rate * bestdiv;
  
        return rate;
@@@ -217,6 -229,7 +227,6 @@@ static int zynqmp_clk_divider_set_rate(
        u32 div_type = divider->div_type;
        u32 value, div;
        int ret;
 -      const struct zynqmp_eemi_ops *eemi_ops = zynqmp_pm_get_eemi_ops();
  
        value = zynqmp_divider_get_val(parent_rate, rate, divider->flags);
        if (div_type == TYPE_DIV1) {
        if (divider->flags & CLK_DIVIDER_POWER_OF_TWO)
                div = __ffs(div);
  
 -      ret = eemi_ops->clock_setdivider(clk_id, div);
 +      ret = zynqmp_pm_clock_setdivider(clk_id, div);
  
        if (ret)
                pr_warn_once("%s() set divider failed for %s, ret = %d\n",
@@@ -253,8 -266,9 +263,8 @@@ static const struct clk_ops zynqmp_clk_
   * Return: Maximum divisor of a clock if query data is successful
   *       U16_MAX in case of query data is not success
   */
- u32 zynqmp_clk_get_max_divisor(u32 clk_id, u32 type)
static u32 zynqmp_clk_get_max_divisor(u32 clk_id, u32 type)
  {
 -      const struct zynqmp_eemi_ops *eemi_ops = zynqmp_pm_get_eemi_ops();
        struct zynqmp_pm_query_data qdata = {0};
        u32 ret_payload[PAYLOAD_ARG_CNT];
        int ret;
        qdata.qid = PM_QID_CLOCK_GET_MAX_DIVISOR;
        qdata.arg1 = clk_id;
        qdata.arg2 = type;
 -      ret = eemi_ops->query_data(qdata, ret_payload);
 +      ret = zynqmp_pm_query_data(qdata, ret_payload);
        /*
         * To maintain backward compatibility return maximum possible value
         * (0xFFFF) if query for max divisor is not successful.
@@@ -307,7 -321,8 +317,8 @@@ struct clk_hw *zynqmp_clk_register_divi
        init.num_parents = 1;
  
        /* struct clk_divider assignments */
-       div->is_frac = !!(nodes->flag & CLK_FRAC);
+       div->is_frac = !!((nodes->flag & CLK_FRAC) |
+                         (nodes->custom_type_flag & CUSTOM_FLAG_CLK_FRAC));
        div->flags = nodes->type_flag;
        div->hw.init = &init;
        div->clk_id = clk_id;
diff --combined drivers/mmc/host/Kconfig
@@@ -171,7 -171,7 +171,7 @@@ config MMC_SDHCI_OF_ASPEE
  config MMC_SDHCI_OF_AT91
        tristate "SDHCI OF support for the Atmel SDMMC controller"
        depends on MMC_SDHCI_PLTFM
 -      depends on OF
 +      depends on OF && HAVE_CLK
        help
          This selects the Atmel SDMMC driver
  
@@@ -235,19 -235,6 +235,19 @@@ config MMC_SDHCI_CNS3XX
  
          If unsure, say N.
  
 +config MMC_SDHCI_ESDHC_MCF
 +      tristate "SDHCI support for the Freescale eSDHC ColdFire controller"
 +      depends on M5441x
 +      depends on MMC_SDHCI_PLTFM
 +      select MMC_SDHCI_IO_ACCESSORS
 +      help
 +        This selects the Freescale eSDHC controller support for
 +        ColdFire mcf5441x devices.
 +
 +        If you have a controller with this interface, say Y or M here.
 +
 +        If unsure, say N.
 +
  config MMC_SDHCI_ESDHC_IMX
        tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
        depends on ARCH_MXC
@@@ -418,25 -405,11 +418,25 @@@ config MMC_MESON_G
  
          If you have a controller with this interface, say Y here.
  
 +config MMC_MESON_MX_SDHC
 +      tristate "Amlogic Meson SDHC Host Controller support"
 +      depends on (ARM && ARCH_MESON) || COMPILE_TEST
 +      depends on COMMON_CLK
 +      depends on OF
 +      help
 +        This selects support for the SDHC Host Controller on
 +        Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs.
 +        The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x
 +        with 1, 4, and 8 bit bus widths.
 +
 +        If you have a controller with this interface, say Y or M here.
 +        If unsure, say N.
 +
  config MMC_MESON_MX_SDIO
        tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support"
        depends on ARCH_MESON || COMPILE_TEST
        depends on COMMON_CLK
-       depends on OF
+       depends on OF_ADDRESS
        help
          This selects support for the SD/MMC Host Controller on
          Amlogic Meson6, Meson8 and Meson8b SoCs.
  #define TEGRA210_CLK_AUDIO3 274
  #define TEGRA210_CLK_AUDIO4 275
  #define TEGRA210_CLK_SPDIF 276
 -#define TEGRA210_CLK_CLK_OUT_1 277
 -#define TEGRA210_CLK_CLK_OUT_2 278
 -#define TEGRA210_CLK_CLK_OUT_3 279
 -#define TEGRA210_CLK_BLINK 280
 +/* 277 */
 +/* 278 */
 +/* 279 */
 +/* 280 */
  #define TEGRA210_CLK_SOR0_LVDS 281 /* deprecated */
  #define TEGRA210_CLK_SOR0_OUT 281
  #define TEGRA210_CLK_SOR1_OUT 282
  #define TEGRA210_CLK_PLL_P_OUT_XUSB 317
  #define TEGRA210_CLK_XUSB_SSP_SRC 318
  #define TEGRA210_CLK_PLL_RE_OUT1 319
- /* 320 */
- /* 321 */
+ #define TEGRA210_CLK_PLL_MB_UD 320
+ #define TEGRA210_CLK_PLL_P_UD 321
  #define TEGRA210_CLK_ISP 322
  #define TEGRA210_CLK_PLL_A_OUT_ADSP 323
  #define TEGRA210_CLK_PLL_A_OUT0_OUT_ADSP 324
  #define TEGRA210_CLK_AUDIO3_MUX 353
  #define TEGRA210_CLK_AUDIO4_MUX 354
  #define TEGRA210_CLK_SPDIF_MUX 355
 -#define TEGRA210_CLK_CLK_OUT_1_MUX 356
 -#define TEGRA210_CLK_CLK_OUT_2_MUX 357
 -#define TEGRA210_CLK_CLK_OUT_3_MUX 358
 +/* 356 */
 +/* 357 */
 +/* 358 */
  #define TEGRA210_CLK_DSIA_MUX 359
  #define TEGRA210_CLK_DSIB_MUX 360
  /* 361 */