Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 15 Jul 2017 17:59:54 +0000 (10:59 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 15 Jul 2017 17:59:54 +0000 (10:59 -0700)
Pull MIPS updates from Ralf Baechle:
 "Boston platform support:
   - Document DT bindings
   - Add CLK driver for board clocks

  CM:
   - Avoid per-core locking with CM3 & higher
   - WARN on attempt to lock invalid VP, not BUG

  CPS:
   - Select CONFIG_SYS_SUPPORTS_SCHED_SMT for MIPSr6
   - Prevent multi-core with dcache aliasing
   - Handle cores not powering down more gracefully
   - Handle spurious VP starts more gracefully

  DSP:
   - Add lwx & lhx missaligned access support

  eBPF:
   - Add MIPS support along with many supporting change to add the
     required infrastructure

  Generic arch code:
   - Misc sysmips MIPS_ATOMIC_SET fixes
   - Drop duplicate HAVE_SYSCALL_TRACEPOINTS
   - Negate error syscall return in trace
   - Correct forced syscall errors
   - Traced negative syscalls should return -ENOSYS
   - Allow samples/bpf/tracex5 to access syscall arguments for sane
     traces
   - Cleanup from old Kconfig options in defconfigs
   - Fix PREF instruction usage by memcpy for MIPS R6
   - Fix various special cases in the FPU eulation
   - Fix some special cases in MIPS16e2 support
   - Fix MIPS I ISA /proc/cpuinfo reporting
   - Sort MIPS Kconfig alphabetically
   - Fix minimum alignment requirement of IRQ stack as required by
     ABI / GCC
   - Fix special cases in the module loader
   - Perform post-DMA cache flushes on systems with MAARs
   - Probe the I6500 CPU
   - Cleanup cmpxchg and add support for 1 and 2 byte operations
   - Use queued read/write locks (qrwlock)
   - Use queued spinlocks (qspinlock)
   - Add CPU shared FTLB feature detection
   - Handle tlbex-tlbp race condition
   - Allow storing pgd in C0_CONTEXT for MIPSr6
   - Use current_cpu_type() in m4kc_tlbp_war()
   - Support Boston in the generic kernel

  Generic platform:
   - yamon-dt: Pull YAMON DT shim code out of SEAD-3 board
   - yamon-dt: Support > 256MB of RAM
   - yamon-dt: Use serial* rather than uart* aliases
   - Abstract FDT fixup application
   - Set RTC_ALWAYS_BCD to 0
   - Add a MAINTAINERS entry

  core kernel:
   - qspinlock.c: include linux/prefetch.h

  Loongson 3:
   - Add support

  Perf:
   - Add I6500 support

  SEAD-3:
   - Remove GIC timer from DT
   - Set interrupt-parent per-device, not at root node
   - Fix GIC interrupt specifiers

  SMP:
   - Skip IPI setup if we only have a single CPU

  VDSO:
   - Make comment match reality
   - Improvements to time code in VDSO"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (86 commits)
  locking/qspinlock: Include linux/prefetch.h
  MIPS: Fix MIPS I ISA /proc/cpuinfo reporting
  MIPS: Fix minimum alignment requirement of IRQ stack
  MIPS: generic: Support MIPS Boston development boards
  MIPS: DTS: img: Don't attempt to build-in all .dtb files
  clk: boston: Add a driver for MIPS Boston board clocks
  dt-bindings: Document img,boston-clock binding
  MIPS: Traced negative syscalls should return -ENOSYS
  MIPS: Correct forced syscall errors
  MIPS: Negate error syscall return in trace
  MIPS: Drop duplicate HAVE_SYSCALL_TRACEPOINTS select
  MIPS16e2: Provide feature overrides for non-MIPS16 systems
  MIPS: MIPS16e2: Report ASE presence in /proc/cpuinfo
  MIPS: MIPS16e2: Subdecode extended LWSP/SWSP instructions
  MIPS: MIPS16e2: Identify ASE presence
  MIPS: VDSO: Fix a mismatch between comment and preprocessor constant
  MIPS: VDSO: Add implementation of gettimeofday() fallback
  MIPS: VDSO: Add implementation of clock_gettime() fallback
  MIPS: VDSO: Fix conversions in do_monotonic()/do_monotonic_coarse()
  MIPS: Use current_cpu_type() in m4kc_tlbp_war()
  ...

1  2 
MAINTAINERS
arch/mips/Kconfig
arch/mips/generic/init.c
arch/mips/kernel/module.c
drivers/clk/Kconfig
drivers/clk/Makefile

diff --combined MAINTAINERS
index 428e042dcd2193717d3637f521cf4ab864fa7c7e,d034eb8031fa9759bb2b94016eb8f91a8f05fbda..205d3977ac46e1a3bf58d95b46df5db29eabc70f
@@@ -155,7 -155,7 +155,7 @@@ S: Maintaine
  F:    drivers/scsi/53c700*
  
  6LOWPAN GENERIC (BTLE/IEEE 802.15.4)
 -M:    Alexander Aring <aar@pengutronix.de>
 +M:    Alexander Aring <alex.aring@gmail.com>
  M:    Jukka Rissanen <jukka.rissanen@linux.intel.com>
  L:    linux-bluetooth@vger.kernel.org
  L:    linux-wpan@vger.kernel.org
@@@ -478,7 -478,7 +478,7 @@@ L: linux-hwmon@vger.kernel.or
  S:    Maintained
  F:    Documentation/hwmon/ads1015
  F:    drivers/hwmon/ads1015.c
 -F:    include/linux/i2c/ads1015.h
 +F:    include/linux/platform_data/ads1015.h
  
  ADT746X FAN DRIVER
  M:    Colin Leroy <colin@colino.net>
@@@ -1036,22 -1036,6 +1036,22 @@@ S:    Maintaine
  F:    drivers/amba/
  F:    include/linux/amba/bus.h
  
 +ARM/ACTIONS SEMI ARCHITECTURE
 +M:    Andreas Färber <afaerber@suse.de>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +N:    owl
 +F:    arch/arm/mach-actions/
 +F:    arch/arm/boot/dts/owl-*
 +F:    arch/arm64/boot/dts/actions/
 +F:    drivers/clocksource/owl-*
 +F:    drivers/soc/actions/
 +F:    include/dt-bindings/power/owl-*
 +F:    include/linux/soc/actions/
 +F:    Documentation/devicetree/bindings/arm/actions.txt
 +F:    Documentation/devicetree/bindings/power/actions,owl-sps.txt
 +F:    Documentation/devicetree/bindings/timer/actions,owl-timer.txt
 +
  ARM/ADS SPHERE MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1139,18 -1123,6 +1139,18 @@@ F:    arch/arm/mach-aspeed
  F:    arch/arm/boot/dts/aspeed-*
  F:    drivers/*/*aspeed*
  
 +ARM/ASPEED I2C DRIVER
 +M:    Brendan Higgins <brendanhiggins@google.com>
 +R:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
 +R:    Joel Stanley <joel@jms.id.au>
 +L:    linux-i2c@vger.kernel.org
 +L:    openbmc@lists.ozlabs.org
 +S:    Maintained
 +F:    drivers/irqchip/irq-aspeed-i2c-ic.c
 +F:    drivers/i2c/busses/i2c-aspeed.c
 +F:    Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-i2c-ic.txt
 +F:    Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
 +
  ARM/ATMEL AT91RM9200, AT91SAM9 AND SAMA5 SOC SUPPORT
  M:    Nicolas Ferre <nicolas.ferre@microchip.com>
  M:    Alexandre Belloni <alexandre.belloni@free-electrons.com>
@@@ -1235,9 -1207,7 +1235,9 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    drivers/hwtracing/coresight/*
  F:    Documentation/trace/coresight.txt
 +F:    Documentation/trace/coresight-cpu-debug.txt
  F:    Documentation/devicetree/bindings/arm/coresight.txt
 +F:    Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
  F:    Documentation/ABI/testing/sysfs-bus-coresight-devices-*
  F:    tools/perf/arch/arm/util/pmu.c
  F:    tools/perf/arch/arm/util/auxtrace.c
@@@ -1255,7 -1225,7 +1255,7 @@@ L:      linux-arm-kernel@lists.infradead.or
  T:    git git://github.com/ulli-kroll/linux.git
  S:    Maintained
  F:    arch/arm/mach-gemini/
 -F:    drivers/rtc/rtc-gemini.c
 +F:    drivers/rtc/rtc-ftrtc010.c
  
  ARM/CSR SIRFPRIMA2 MACHINE SUPPORT
  M:    Barry Song <baohua@kernel.org>
@@@ -1527,7 -1497,6 +1527,7 @@@ F:      arch/arm64/boot/dts/marvell/armada
  F:    drivers/cpufreq/mvebu-cpufreq.c
  F:    drivers/irqchip/irq-armada-370-xp.c
  F:    drivers/irqchip/irq-mvebu-*
 +F:    drivers/pinctrl/mvebu/
  F:    drivers/rtc/rtc-armada38x.c
  
  ARM/Marvell Berlin SoC support
@@@ -1694,6 -1663,7 +1694,6 @@@ F:      arch/arm/mach-qcom
  F:    arch/arm64/boot/dts/qcom/*
  F:    drivers/i2c/busses/i2c-qup.c
  F:    drivers/clk/qcom/
 -F:    drivers/pinctrl/qcom/
  F:    drivers/dma/qcom/
  F:    drivers/soc/qcom/
  F:    drivers/spi/spi-qup.c
@@@ -1709,13 -1679,6 +1709,13 @@@ M:    Lennert Buytenhek <kernel@wantstofly
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
 +ARM/REALTEK ARCHITECTURE
 +M:    Andreas Färber <afaerber@suse.de>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm64/boot/dts/realtek/
 +F:    Documentation/devicetree/bindings/arm/realtek.txt
 +
  ARM/RENESAS ARM64 ARCHITECTURE
  M:    Simon Horman <horms@verge.net.au>
  M:    Magnus Damm <magnus.damm@gmail.com>
@@@ -1749,7 -1712,6 +1749,7 @@@ L:      linux-rockchip@lists.infradead.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
  S:    Maintained
  F:    arch/arm/boot/dts/rk3*
 +F:    arch/arm/boot/dts/rv1108*
  F:    arch/arm/mach-rockchip/
  F:    drivers/clk/rockchip/
  F:    drivers/i2c/busses/i2c-rk3x.c
@@@ -1814,12 -1776,11 +1814,12 @@@ F:   arch/arm/plat-samsung/s5p-dev-mfc.
  F:    drivers/media/platform/s5p-mfc/
  
  ARM/SAMSUNG S5P SERIES HDMI CEC SUBSYSTEM SUPPORT
 -M:    Kyungmin Park <kyungmin.park@samsung.com>
 -L:    linux-arm-kernel@lists.infradead.org
 +M:    Marek Szyprowski <m.szyprowski@samsung.com>
 +L:    linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
  L:    linux-media@vger.kernel.org
  S:    Maintained
 -F:    drivers/staging/media/platform/s5p-cec/
 +F:    drivers/media/platform/s5p-cec/
 +F:    Documentation/devicetree/bindings/media/s5p-cec.txt
  
  ARM/SAMSUNG S5P SERIES JPEG CODEC SUPPORT
  M:    Andrzej Pietrasiewicz <andrzej.p@samsung.com>
@@@ -1882,8 -1843,8 +1882,8 @@@ F:      drivers/i2c/busses/i2c-st.
  F:    drivers/media/rc/st_rc.c
  F:    drivers/media/platform/sti/c8sectpfe/
  F:    drivers/mmc/host/sdhci-st.c
 -F:    drivers/phy/phy-miphy28lp.c
 -F:    drivers/phy/phy-stih407-usb.c
 +F:    drivers/phy/st/phy-miphy28lp.c
 +F:    drivers/phy/st/phy-stih407-usb.c
  F:    drivers/pinctrl/pinctrl-st.c
  F:    drivers/remoteproc/st_remoteproc.c
  F:    drivers/remoteproc/st_slim_rproc.c
@@@ -2361,15 -2322,6 +2361,15 @@@ F:    Documentation/devicetree/bindings/in
  F:    drivers/input/touchscreen/atmel_mxt_ts.c
  F:    include/linux/platform_data/atmel_mxt_ts.h
  
 +ATOMIC INFRASTRUCTURE
 +M:    Will Deacon <will.deacon@arm.com>
 +M:    Peter Zijlstra <peterz@infradead.org>
 +R:    Boqun Feng <boqun.feng@gmail.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    arch/*/include/asm/atomic*.h
 +F:    include/*/atomic*.h
 +
  ATTO EXPRESSSAS SAS/SATA RAID SCSI DRIVER
  M:    Bradley Grove <linuxdrivers@attotech.com>
  L:    linux-scsi@vger.kernel.org
@@@ -2516,10 -2468,10 +2516,10 @@@ S:   Supporte
  F:    drivers/media/platform/sti/delta
  
  BEFS FILE SYSTEM
 -M:    Luis de Bethencourt <luisbg@osg.samsung.com>
 +M:    Luis de Bethencourt <luisbg@kernel.org>
  M:    Salah Triki <salah.triki@gmail.com>
  S:    Maintained
 -T:    git git://github.com/luisbg/linux-befs.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/luisbg/linux-befs.git
  F:    Documentation/filesystems/befs.txt
  F:    fs/befs/
  
@@@ -2643,21 -2595,6 +2643,21 @@@ S:    Maintaine
  F:    net/bluetooth/
  F:    include/net/bluetooth/
  
 +DMA MAPPING HELPERS
 +M:    Christoph Hellwig <hch@lst.de>
 +M:    Marek Szyprowski <m.szyprowski@samsung.com>
 +R:    Robin Murphy <robin.murphy@arm.com>
 +L:    linux-kernel@vger.kernel.org
 +T:    git git://git.infradead.org/users/hch/dma-mapping.git
 +W:    http://git.infradead.org/users/hch/dma-mapping.git
 +S:    Supported
 +F:    lib/dma-debug.c
 +F:    lib/dma-noop.c
 +F:    lib/dma-virt.c
 +F:    drivers/base/dma-mapping.c
 +F:    drivers/base/dma-coherent.c
 +F:    include/linux/dma-mapping.h
 +
  BONDING DRIVER
  M:    Jay Vosburgh <j.vosburgh@gmail.com>
  M:    Veaceslav Falico <vfalico@gmail.com>
@@@ -2748,6 -2685,7 +2748,6 @@@ N:      kon
  F:    arch/arm/mach-bcm/
  
  BROADCOM BCM2835 ARM ARCHITECTURE
 -M:    Lee Jones <lee@kernel.org>
  M:    Eric Anholt <eric@anholt.net>
  M:    Stefan Wahren <stefan.wahren@i2se.com>
  L:    linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -2847,11 -2785,8 +2847,11 @@@ BROADCOM BRCM80211 IEEE802.11n WIRELES
  M:    Arend van Spriel <arend.vanspriel@broadcom.com>
  M:    Franky Lin <franky.lin@broadcom.com>
  M:    Hante Meuleman <hante.meuleman@broadcom.com>
 +M:    Chi-Hsien Lin <chi-hsien.lin@cypress.com>
 +M:    Wright Feng <wright.feng@cypress.com>
  L:    linux-wireless@vger.kernel.org
  L:    brcm80211-dev-list.pdl@broadcom.com
 +L:    brcm80211-dev-list@cypress.com
  S:    Supported
  F:    drivers/net/wireless/broadcom/brcm80211/
  
@@@ -3029,7 -2964,7 +3029,7 @@@ F:      sound/pci/oxygen
  
  C6X ARCHITECTURE
  M:    Mark Salter <msalter@redhat.com>
 -M:    Aurelien Jacquiot <a-jacquiot@ti.com>
 +M:    Aurelien Jacquiot <jacquiot.aurelien@gmail.com>
  L:    linux-c6x-dev@linux-c6x.org
  W:    http://www.linux-c6x.org/wiki/index.php/Main_Page
  S:    Maintained
@@@ -3202,7 -3137,6 +3202,7 @@@ F:      include/media/cec.
  F:    include/media/cec-notifier.h
  F:    include/uapi/linux/cec.h
  F:    include/uapi/linux/cec-funcs.h
 +F:    Documentation/devicetree/bindings/media/cec.txt
  
  CELL BROADBAND ENGINE ARCHITECTURE
  M:    Arnd Bergmann <arnd@arndb.de>
@@@ -3331,10 -3265,9 +3331,10 @@@ F:    Documentation/devicetree/bindings/in
  F:    drivers/input/touchscreen/chipone_icn8318.c
  
  CHROME HARDWARE PLATFORM SUPPORT
 +M:    Benson Leung <bleung@chromium.org>
  M:    Olof Johansson <olof@lixom.net>
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform.git
  F:    drivers/platform/chrome/
  
  CISCO VIC ETHERNET NIC DRIVER
@@@ -3653,6 -3586,7 +3653,6 @@@ T:      git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    Documentation/crypto/
  F:    Documentation/devicetree/bindings/crypto/
 -F:    Documentation/DocBook/crypto-API.tmpl
  F:    arch/*/crypto/
  F:    crypto/
  F:    drivers/crypto/
@@@ -3779,13 -3713,6 +3779,13 @@@ S:    Supporte
  F:    drivers/infiniband/hw/cxgb4/
  F:    include/uapi/rdma/cxgb4-abi.h
  
 +CXGB4 CRYPTO DRIVER (chcr)
 +M:    Harsh Jain <harsh@chelsio.com>
 +L:    linux-crypto@vger.kernel.org
 +W:    http://www.chelsio.com
 +S:    Supported
 +F:    drivers/crypto/chelsio
 +
  CXGB4VF ETHERNET DRIVER (CXGB4VF)
  M:    Casey Leedom <leedom@chelsio.com>
  L:    netdev@vger.kernel.org
@@@ -3794,8 -3721,8 +3794,8 @@@ S:      Supporte
  F:    drivers/net/ethernet/chelsio/cxgb4vf/
  
  CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER
 -M:    Ian Munsie <imunsie@au1.ibm.com>
  M:    Frederic Barrat <fbarrat@linux.vnet.ibm.com>
 +M:    Andrew Donnellan <andrew.donnellan@au1.ibm.com>
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Supported
  F:    arch/powerpc/platforms/powernv/pci-cxl.c
@@@ -3859,12 -3786,6 +3859,12 @@@ S:    Supporte
  F:    drivers/input/touchscreen/cyttsp*
  F:    include/linux/input/cyttsp.h
  
 +D-LINK DIR-685 TOUCHKEYS DRIVER
 +M:    Linus Walleij <linus.walleij@linaro.org>
 +L:    linux-input@vger.kernel.org
 +S:    Supported
 +F:    drivers/input/dlink-dir685-touchkeys.c
 +
  DALLAS/MAXIM DS1685-FAMILY REAL TIME CLOCK
  M:    Joshua Kinard <kumba@gentoo.org>
  S:    Maintained
@@@ -3974,12 -3895,6 +3974,12 @@@ M:    Pali Rohár <pali.rohar@gmail.com
  S:    Maintained
  F:    drivers/platform/x86/dell-wmi.c
  
 +DENALI NAND DRIVER
 +M:    Masahiro Yamada <yamada.masahiro@socionext.com>
 +L:    linux-mtd@lists.infradead.org
 +S:    Supported
 +F:    drivers/mtd/nand/denali*
 +
  DESIGNWARE USB2 DRD IP DRIVER
  M:    John Youn <johnyoun@synopsys.com>
  L:    linux-usb@vger.kernel.org
@@@ -4073,10 -3988,7 +4073,10 @@@ W:    http://www.dialog-semiconductor.com/
  S:    Supported
  F:    Documentation/hwmon/da90??
  F:    Documentation/devicetree/bindings/mfd/da90*.txt
 +F:    Documentation/devicetree/bindings/input/da90??-onkey.txt
 +F:    Documentation/devicetree/bindings/thermal/da90??-thermal.txt
  F:    Documentation/devicetree/bindings/regulator/da92*.txt
 +F:    Documentation/devicetree/bindings/watchdog/da92??-wdt.txt
  F:    Documentation/devicetree/bindings/sound/da[79]*.txt
  F:    drivers/gpio/gpio-da90??.c
  F:    drivers/hwmon/da90??-hwmon.c
@@@ -4091,7 -4003,6 +4091,7 @@@ F:      drivers/power/supply/da9052-battery.
  F:    drivers/power/supply/da91??-*.c
  F:    drivers/regulator/da903x.c
  F:    drivers/regulator/da9???-regulator.[ch]
 +F:    drivers/thermal/da90??-thermal.c
  F:    drivers/rtc/rtc-da90??.c
  F:    drivers/video/backlight/da90??_bl.c
  F:    drivers/watchdog/da90??_wdt.c
@@@ -4232,7 -4143,8 +4232,7 @@@ M:      Jonathan Corbet <corbet@lwn.net
  L:    linux-doc@vger.kernel.org
  S:    Maintained
  F:    Documentation/
 -F:    scripts/docproc.c
 -F:    scripts/kernel-doc*
 +F:    scripts/kernel-doc
  X:    Documentation/ABI/
  X:    Documentation/devicetree/
  X:    Documentation/acpi
@@@ -4323,12 -4235,6 +4323,12 @@@ F:    include/drm/drm
  F:    include/uapi/drm/drm*
  F:    include/linux/vga*
  
 +DRM DRIVER FOR ARM PL111 CLCD
 +M:    Eric Anholt <eric@anholt.net>
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +S:    Supported
 +F:    drivers/gpu/drm/pl111/
 +
  DRM DRIVER FOR AST SERVER GRAPHICS CHIPS
  M:    Dave Airlie <airlied@redhat.com>
  S:    Odd Fixes
@@@ -4336,8 -4242,6 +4336,8 @@@ F:      drivers/gpu/drm/ast
  
  DRM DRIVERS FOR BRIDGE CHIPS
  M:    Archit Taneja <architt@codeaurora.org>
 +M:    Andrzej Hajda <a.hajda@samsung.com>
 +R:    Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    drivers/gpu/drm/bridge/
@@@ -4594,17 -4498,6 +4594,17 @@@ S:    Maintaine
  F:    drivers/gpu/drm/sti
  F:    Documentation/devicetree/bindings/display/st,stih4xx.txt
  
 +DRM DRIVERS FOR STM
 +M:    Yannick Fertre <yannick.fertre@st.com>
 +M:    Philippe Cornu <philippe.cornu@st.com>
 +M:    Benjamin Gaignard <benjamin.gaignard@linaro.org>
 +M:    Vincent Abriou <vincent.abriou@st.com>
 +L:    dri-devel@lists.freedesktop.org
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +S:    Maintained
 +F:    drivers/gpu/drm/stm
 +F:    Documentation/devicetree/bindings/display/st,stm32-ltdc.txt
 +
  DRM DRIVER FOR TDFX VIDEO CARDS
  S:    Orphan / Obsolete
  F:    drivers/gpu/drm/tdfx/
@@@ -4799,13 -4692,6 +4799,13 @@@ S:    Maintaine
  F:    drivers/media/usb/dvb-usb-v2/dvb_usb*
  F:    drivers/media/usb/dvb-usb-v2/usb_urb.c
  
 +DONGWOON DW9714 LENS VOICE COIL DRIVER
 +M:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/dw9714.c
 +
  DYNAMIC DEBUG
  M:    Jason Baron <jbaron@akamai.com>
  S:    Maintained
@@@ -5113,12 -4999,6 +5113,12 @@@ T:    git git://git.kernel.org/pub/scm/lin
  F:    drivers/video/fbdev/s1d13xxxfb.c
  F:    include/video/s1d13xxxfb.h
  
 +ERRSEQ ERROR TRACKING INFRASTRUCTURE
 +M:    Jeff Layton <jlayton@poochiereds.net>
 +S:    Maintained
 +F:    lib/errseq.c
 +F:    include/linux/errseq.h
 +
  ET131X NETWORK DRIVER
  M:    Mark Einon <mark.einon@gmail.com>
  S:    Odd Fixes
@@@ -5402,7 -5282,7 +5402,7 @@@ S:      Maintaine
  F:    drivers/video/fbdev/fsl-diu-fb.*
  
  FREESCALE DMA DRIVER
 -M:    Li Yang <leoli@freescale.com>
 +M:    Li Yang <leoyang.li@nxp.com>
  M:    Zhang Wei <zw@zh-kernel.org>
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
@@@ -5467,11 -5347,11 +5467,11 @@@ S:   Maintaine
  F:    drivers/net/ethernet/freescale/dpaa
  
  FREESCALE SOC DRIVERS
 -M:    Scott Wood <oss@buserror.net>
 +M:    Li Yang <leoyang.li@nxp.com>
  L:    linuxppc-dev@lists.ozlabs.org
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/powerpc/fsl/
 +F:    Documentation/devicetree/bindings/soc/fsl/
  F:    drivers/soc/fsl/
  F:    include/linux/fsl/
  
@@@ -5484,14 -5364,14 +5484,14 @@@ F:   include/soc/fsl/*qe*.
  F:    include/soc/fsl/*ucc*.h
  
  FREESCALE USB PERIPHERAL DRIVERS
 -M:    Li Yang <leoli@freescale.com>
 +M:    Li Yang <leoyang.li@nxp.com>
  L:    linux-usb@vger.kernel.org
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
  F:    drivers/usb/gadget/udc/fsl*
  
  FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
 -M:    Li Yang <leoli@freescale.com>
 +M:    Li Yang <leoyang.li@nxp.com>
  L:    netdev@vger.kernel.org
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
@@@ -5801,15 -5681,6 +5801,15 @@@ F:    include/asm-generic/gpio.
  F:    include/uapi/linux/gpio.h
  F:    tools/gpio/
  
 +GPIO ACPI SUPPORT
 +M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 +M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +L:    linux-gpio@vger.kernel.org
 +L:    linux-acpi@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/acpi/gpio-properties.txt
 +F:    drivers/gpio/gpiolib-acpi.c
 +
  GRE DEMULTIPLEXER DRIVER
  M:    Dmitry Kozlov <xeb@mail.ru>
  L:    netdev@vger.kernel.org
@@@ -6154,7 -6025,7 +6154,7 @@@ F:      drivers/hid/hid-sensor-
  F:    drivers/iio/*/hid-*
  F:    include/linux/hid-sensor-*
  
 -HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
 +HIGH-RESOLUTION TIMERS, CLOCKEVENTS
  M:    Thomas Gleixner <tglx@linutronix.de>
  L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
@@@ -6162,6 -6033,7 +6162,6 @@@ S:      Maintaine
  F:    Documentation/timers/
  F:    kernel/time/hrtimer.c
  F:    kernel/time/clockevents.c
 -F:    kernel/time/tick*.*
  F:    kernel/time/timer_*.c
  F:    include/linux/clockchips.h
  F:    include/linux/hrtimer.h
@@@ -6400,7 -6272,6 +6400,7 @@@ M:      Mika Westerberg <mika.westerberg@lin
  L:    linux-i2c@vger.kernel.org
  L:    linux-acpi@vger.kernel.org
  S:    Maintained
 +F:    drivers/i2c/i2c-core-acpi.c
  
  I2C-TAOS-EVM DRIVER
  M:    Jean Delvare <jdelvare@suse.com>
@@@ -6555,7 -6426,7 +6555,7 @@@ F:      Documentation/cdrom/ide-c
  F:    drivers/ide/ide-cd*
  
  IEEE 802.15.4 SUBSYSTEM
 -M:    Alexander Aring <aar@pengutronix.de>
 +M:    Alexander Aring <alex.aring@gmail.com>
  M:    Stefan Schmidt <stefan@osg.samsung.com>
  L:    linux-wpan@vger.kernel.org
  W:    http://wpan.cakelab.org/
@@@ -6609,13 -6480,6 +6609,13 @@@ F:    Documentation/ABI/testing/sysfs-bus-
  F:    Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
  F:    drivers/iio/adc/envelope-detector.c
  
 +IIO MULTIPLEXER
 +M:    Peter Rosin <peda@axentia.se>
 +L:    linux-iio@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt
 +F:    drivers/iio/multiplexer/iio-mux.c
 +
  IIO SUBSYSTEM AND DRIVERS
  M:    Jonathan Cameron <jic23@kernel.org>
  R:    Hartmut Knaack <knaack.h@gmx.de>
@@@ -6733,10 -6597,8 +6733,10 @@@ S:    Maintaine
  F:    drivers/input/
  F:    include/linux/input.h
  F:    include/uapi/linux/input.h
 +F:    include/uapi/linux/input-event-codes.h
  F:    include/linux/input/
  F:    Documentation/devicetree/bindings/input/
 +F:    Documentation/input/
  
  INPUT MULTITOUCH (MT) PROTOCOL
  M:    Henrik Rydberg <rydberg@bitmath.org>
@@@ -6746,12 -6608,6 +6746,12 @@@ F:    Documentation/input/multi-touch-prot
  F:    drivers/input/input-mt.c
  K:    \b(ABS|SYN)_MT_
  
 +INSIDE SECURE CRYPTO DRIVER
 +M:    Antoine Tenart <antoine.tenart@free-electrons.com>
 +F:    drivers/crypto/inside-secure/
 +S:    Maintained
 +L:    linux-crypto@vger.kernel.org
 +
  INTEL ASoC BDW/HSW DRIVERS
  M:    Jie Yang <yang.jie@linux.intel.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
@@@ -6881,7 -6737,6 +6881,7 @@@ F:      Documentation/networking/i40e.tx
  F:    Documentation/networking/i40evf.txt
  F:    drivers/net/ethernet/intel/
  F:    drivers/net/ethernet/intel/*/
 +F:    include/linux/avf/virtchnl.h
  
  INTEL RDMA RNIC DRIVER
  M:     Faisal Latif <faisal.latif@intel.com>
@@@ -7389,10 -7244,9 +7389,10 @@@ KERNEL SELFTEST FRAMEWOR
  M:    Shuah Khan <shuahkh@osg.samsung.com>
  M:    Shuah Khan <shuah@kernel.org>
  L:    linux-kselftest@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/shuah/linux-kselftest
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git
  S:    Maintained
 -F:    tools/testing/selftests
 +F:    tools/testing/selftests/
 +F:    Documentation/dev-tools/kselftest*
  
  KERNEL VIRTUAL MACHINE (KVM)
  M:    Paolo Bonzini <pbonzini@redhat.com>
@@@ -7431,7 -7285,7 +7431,7 @@@ F:      arch/powerpc/kvm
  
  KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
  M:    Christian Borntraeger <borntraeger@de.ibm.com>
 -M:    Cornelia Huck <cornelia.huck@de.ibm.com>
 +M:    Cornelia Huck <cohuck@redhat.com>
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git
@@@ -7494,7 -7348,7 +7494,7 @@@ KEYS/KEYRINGS
  M:    David Howells <dhowells@redhat.com>
  L:    keyrings@vger.kernel.org
  S:    Maintained
 -F:    Documentation/security/keys.txt
 +F:    Documentation/security/keys/core.rst
  F:    include/linux/key.h
  F:    include/linux/key-type.h
  F:    include/linux/keyctl.h
@@@ -7508,7 -7362,7 +7508,7 @@@ M:      Mimi Zohar <zohar@linux.vnet.ibm.com
  L:    linux-security-module@vger.kernel.org
  L:    keyrings@vger.kernel.org
  S:    Supported
 -F:    Documentation/security/keys-trusted-encrypted.txt
 +F:    Documentation/security/keys/trusted-encrypted.rst
  F:    include/keys/trusted-type.h
  F:    security/keys/trusted.c
  F:    security/keys/trusted.h
@@@ -7519,7 -7373,7 +7519,7 @@@ M:      David Safford <safford@us.ibm.com
  L:    linux-security-module@vger.kernel.org
  L:    keyrings@vger.kernel.org
  S:    Supported
 -F:    Documentation/security/keys-trusted-encrypted.txt
 +F:    Documentation/security/keys/trusted-encrypted.rst
  F:    include/keys/encrypted-type.h
  F:    security/keys/encrypted-keys/
  
@@@ -7529,7 -7383,7 +7529,7 @@@ W:      http://kgdb.wiki.kernel.org
  L:    kgdb-bugreport@lists.sourceforge.net
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git
  S:    Maintained
 -F:    Documentation/DocBook/kgdb.tmpl
 +F:    Documentation/dev-tools/kgdb.rst
  F:    drivers/misc/kgdbts.c
  F:    drivers/tty/serial/kgdboc.c
  F:    include/linux/kdb.h
@@@ -7554,15 -7408,6 +7554,15 @@@ F:    include/linux/kmemleak.
  F:    mm/kmemleak.c
  F:    mm/kmemleak-test.c
  
 +KMOD MODULE USERMODE HELPER
 +M:    "Luis R. Rodriguez" <mcgrof@kernel.org>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    kernel/kmod.c
 +F:    include/linux/kmod.h
 +F:    lib/test_kmod.c
 +F:    tools/testing/selftests/kmod/
 +
  KPROBES
  M:    Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
  M:    Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
@@@ -7692,15 -7537,6 +7692,15 @@@ S:    Maintaine
  F:    drivers/ata/pata_*.c
  F:    drivers/ata/ata_generic.c
  
 +LIBATA PATA FARADAY FTIDE010 AND GEMINI SATA BRIDGE DRIVERS
 +M:    Linus Walleij <linus.walleij@linaro.org>
 +L:    linux-ide@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
 +S:    Maintained
 +F:    drivers/ata/pata_ftide010.c
 +F:    drivers/ata/sata_gemini.c
 +F:    drivers/ata/sata_gemini.h
 +
  LIBATA SATA AHCI PLATFORM devices support
  M:    Hans de Goede <hdegoede@redhat.com>
  M:    Tejun Heo <tj@kernel.org>
@@@ -7719,7 -7555,7 +7719,7 @@@ S:      Maintaine
  F:    drivers/ata/sata_promise.*
  
  LIBLOCKDEP
 -M:    Sasha Levin <sasha.levin@oracle.com>
 +M:    Sasha Levin <alexander.levin@verizon.com>
  S:    Maintained
  F:    tools/lib/lockdep/
  
@@@ -7755,7 -7591,9 +7755,7 @@@ M:      Ross Zwisler <ross.zwisler@linux.int
  L:    linux-nvdimm@lists.01.org
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  S:    Supported
 -F:    drivers/nvdimm/pmem.c
 -F:    include/linux/pmem.h
 -F:    arch/*/include/asm/pmem.h
 +F:    drivers/nvdimm/pmem*
  
  LIGHTNVM PLATFORM SUPPORT
  M:    Matias Bjorling <mb@lightnvm.io>
@@@ -7846,7 -7684,6 +7846,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    arch/powerpc/platforms/83xx/
  F:    arch/powerpc/platforms/85xx/
 +F:    Documentation/devicetree/bindings/powerpc/fsl/
  
  LINUX FOR POWERPC PA SEMI PWRFICIENT
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -8140,12 -7977,6 +8140,12 @@@ S:    Maintaine
  F:    drivers/net/ethernet/marvell/mv643xx_eth.*
  F:    include/linux/mv643xx.h
  
 +MARVELL MV88X3310 PHY DRIVER
 +M:    Russell King <rmk@armlinux.org.uk>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/phy/marvell10g.c
 +
  MARVELL MVNETA ETHERNET DRIVER
  M:    Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  L:    netdev@vger.kernel.org
@@@ -8199,16 -8030,6 +8199,16 @@@ S:    Maintaine
  F:    Documentation/hwmon/max20751
  F:    drivers/hwmon/max20751.c
  
 +MAX2175 SDR TUNER DRIVER
 +M:    Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/max2175.txt
 +F:    Documentation/media/v4l-drivers/max2175.rst
 +F:    drivers/media/i2c/max2175*
 +F:    include/uapi/linux/max2175.h
 +
  MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
  L:    linux-hwmon@vger.kernel.org
  S:    Orphan
@@@ -8239,11 -8060,11 +8239,11 @@@ S:   Supporte
  F:    drivers/power/supply/max14577_charger.c
  F:    drivers/power/supply/max77693_charger.c
  
 -MAXIM MAX77802 MULTIFUNCTION PMIC DEVICE DRIVERS
 -M:    Javier Martinez Canillas <javier@osg.samsung.com>
 +MAXIM MAX77802 PMIC REGULATOR DEVICE DRIVER
 +M:    Javier Martinez Canillas <javier@dowhile0.org>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
 -F:    drivers/*/*max77802*.c
 +F:    drivers/regulator/max77802-regulator.c
  F:    Documentation/devicetree/bindings/*/*max77802.txt
  F:    include/dt-bindings/*/*max77802.h
  
@@@ -8289,27 -8110,6 +8289,27 @@@ L:    linux-iio@vger.kernel.or
  S:    Maintained
  F:    drivers/iio/dac/cio-dac.c
  
 +MEDIA DRIVERS FOR RENESAS - DRIF
 +M:    Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
 +L:    linux-media@vger.kernel.org
 +L:    linux-renesas-soc@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Supported
 +F:    Documentation/devicetree/bindings/media/renesas,drif.txt
 +F:    drivers/media/platform/rcar_drif.c
 +
 +MEDIA DRIVERS FOR FREESCALE IMX
 +M:    Steve Longerbeam <slongerbeam@gmail.com>
 +M:    Philipp Zabel <p.zabel@pengutronix.de>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +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
 +
  MEDIA DRIVERS FOR RENESAS - FCP
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
@@@ -8467,11 -8267,6 +8467,11 @@@ L:    linux-wireless@vger.kernel.or
  S:    Maintained
  F:    drivers/net/wireless/mediatek/mt7601u/
  
 +MEDIATEK RANDOM NUMBER GENERATOR SUPPORT
 +M:      Sean Wang <sean.wang@mediatek.com>
 +S:      Maintained
 +F:      drivers/char/hw_random/mtk-rng.c
 +
  MEGACHIPS STDPXXXX-GE-B850V3-FW LVDS/DP++ BRIDGES
  M:    Peter Senna Tschudin <peter.senna@collabora.com>
  M:    Martin Donnelly <martin.donnelly@ge.com>
@@@ -8515,26 -8310,6 +8515,26 @@@ W:    http://www.mellanox.co
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/mellanox/mlx5/core/en_*
  
 +MELLANOX ETHERNET INNOVA DRIVER
 +M:    Ilan Tayari <ilant@mellanox.com>
 +R:    Boris Pismenny <borisp@mellanox.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +W:    http://www.mellanox.com
 +Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +F:    drivers/net/ethernet/mellanox/mlx5/core/fpga/*
 +F:    include/linux/mlx5/mlx5_ifc_fpga.h
 +
 +MELLANOX ETHERNET INNOVA IPSEC DRIVER
 +M:    Ilan Tayari <ilant@mellanox.com>
 +R:    Boris Pismenny <borisp@mellanox.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +W:    http://www.mellanox.com
 +Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +F:    drivers/net/ethernet/mellanox/mlx5/core/en_ipsec/*
 +F:    drivers/net/ethernet/mellanox/mlx5/core/ipsec*
 +
  MELLANOX ETHERNET SWITCH DRIVERS
  M:    Jiri Pirko <jiri@mellanox.com>
  M:    Ido Schimmel <idosch@mellanox.com>
@@@ -8544,14 -8319,6 +8544,14 @@@ W:    http://www.mellanox.co
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/mellanox/mlxsw/
  
 +MELLANOX FIRMWARE FLASH LIBRARY (mlxfw)
 +M:    Yotam Gigi <yotamg@mellanox.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +W:    http://www.mellanox.com
 +Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +F:    drivers/net/ethernet/mellanox/mlxfw/
 +
  MELLANOX MLXCPLD I2C AND MUX DRIVER
  M:    Vadim Pasternak <vadimp@mellanox.com>
  M:    Michael Shych <michaelsh@mellanox.com>
@@@ -8670,7 -8437,7 +8670,7 @@@ T:      git git://git.monstr.eu/linux-2.6-mi
  S:    Supported
  F:    arch/microblaze/
  
 -MICROCHIP / ATMEL AT91 / AT32 SERIAL DRIVER
 +MICROCHIP / ATMEL AT91 SERIAL DRIVER
  M:    Richard Genoud <richard.genoud@gmail.com>
  S:    Maintained
  F:    drivers/tty/serial/atmel_serial.c
@@@ -8693,16 -8460,6 +8693,16 @@@ F:    drivers/media/platform/atmel/atmel-i
  F:    drivers/media/platform/atmel/atmel-isc-regs.h
  F:    devicetree/bindings/media/atmel-isc.txt
  
 +MICROCHIP KSZ SERIES ETHERNET SWITCH DRIVER
 +M:    Woojung Huh <Woojung.Huh@microchip.com>
 +M:    Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    net/dsa/tag_ksz.c
 +F:    drivers/net/dsa/microchip/*
 +F:    include/linux/platform_data/microchip-ksz.h
 +F:    Documentation/devicetree/bindings/net/dsa/ksz.txt
 +
  MICROCHIP USB251XB DRIVER
  M:    Richard Leitner <richard.leitner@skidata.com>
  L:    linux-usb@vger.kernel.org
@@@ -8732,6 -8489,12 +8732,12 @@@ F:    Documentation/devicetree/bindings/mi
  F:    Documentation/mips/
  F:    arch/mips/
  
+ MIPS GENERIC PLATFORM
+ M:    Paul Burton <paul.burton@imgtec.com>
+ L:    linux-mips@linux-mips.org
+ S:    Supported
+ F:    arch/mips/generic/
  MIPS/LOONGSON1 ARCHITECTURE
  M:    Keguang Zhang <keguang.zhang@gmail.com>
  L:    linux-mips@linux-mips.org
@@@ -8741,6 -8504,16 +8747,16 @@@ F:    arch/mips/include/asm/mach-loongson3
  F:    drivers/*/*loongson1*
  F:    drivers/*/*/*loongson1*
  
+ MIPS BOSTON DEVELOPMENT BOARD
+ M:    Paul Burton <paul.burton@imgtec.com>
+ L:    linux-mips@linux-mips.org
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/clock/img,boston-clock.txt
+ F:    arch/mips/boot/dts/img/boston.dts
+ F:    arch/mips/configs/generic/board-boston.config
+ F:    drivers/clk/imgtec/clk-boston.c
+ F:    include/dt-bindings/clock/boston-clock.h
  MIROSOUND PCM20 FM RADIO RECEIVER DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -8958,15 -8731,6 +8974,15 @@@ S:    Orpha
  F:    drivers/mmc/host/mmc_spi.c
  F:    include/linux/spi/mmc_spi.h
  
 +MULTIPLEXER SUBSYSTEM
 +M:    Peter Rosin <peda@axentia.se>
 +S:    Maintained
 +F:    Documentation/ABI/testing/mux/sysfs-class-mux*
 +F:    Documentation/devicetree/bindings/mux/
 +F:    include/linux/dt-bindings/mux/
 +F:    include/linux/mux/
 +F:    drivers/mux/
 +
  MULTISOUND SOUND DRIVER
  M:    Andrew Veliath <andrewtv@usa.net>
  S:    Maintained
@@@ -9184,7 -8948,9 +9200,7 @@@ F:      lib/random32.
  NETWORKING [IPv4/IPv6]
  M:    "David S. Miller" <davem@davemloft.net>
  M:    Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
 -M:    James Morris <jmorris@namei.org>
  M:    Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
 -M:    Patrick McHardy <kaber@trash.net>
  L:    netdev@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
  S:    Maintained
@@@ -9193,16 -8959,6 +9209,16 @@@ F:    net/ipv6
  F:    include/net/ip*
  F:    arch/x86/net/*
  
 +NETWORKING [TLS]
 +M:    Ilya Lesokhin <ilyal@mellanox.com>
 +M:    Aviad Yehezkel <aviadye@mellanox.com>
 +M:    Dave Watson <davejwatson@fb.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    net/tls/*
 +F:    include/uapi/linux/tls.h
 +F:    include/net/tls.h
 +
  NETWORKING [IPSEC]
  M:    Steffen Klassert <steffen.klassert@secunet.com>
  M:    Herbert Xu <herbert@gondor.apana.org.au>
@@@ -9284,6 -9040,9 +9300,6 @@@ F:      include/uapi/linux/nfc.
  F:    drivers/nfc/
  F:    include/linux/platform_data/nfcmrvl.h
  F:    include/linux/platform_data/nxp-nci.h
 -F:    include/linux/platform_data/pn544.h
 -F:    include/linux/platform_data/st21nfca.h
 -F:    include/linux/platform_data/st-nci.h
  F:    Documentation/devicetree/bindings/net/nfc/
  
  NFS, SUNRPC, AND LOCKD CLIENTS
@@@ -9338,17 -9097,6 +9354,17 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    arch/nios2/
  
 +NOHZ, DYNTICKS SUPPORT
 +M:    Frederic Weisbecker <fweisbec@gmail.com>
 +M:    Thomas Gleixner <tglx@linutronix.de>
 +M:    Ingo Molnar <mingo@kernel.org>
 +L:    linux-kernel@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/nohz
 +S:    Maintained
 +F:    kernel/time/tick*.*
 +F:    include/linux/tick.h
 +F:    include/linux/sched/nohz.h
 +
  NOKIA N900 CAMERA SUPPORT (ET8EK8 SENSOR, AD5820 FOCUS)
  M:    Pavel Machek <pavel@ucw.cz>
  M:    Sakari Ailus <sakari.ailus@iki.fi>
@@@ -9390,12 -9138,6 +9406,12 @@@ F:    include/linux/ntb.
  F:    include/linux/ntb_transport.h
  F:    tools/testing/selftests/ntb/
  
 +NTB IDT DRIVER
 +M:    Serge Semin <fancer.lancer@gmail.com>
 +L:    linux-ntb@googlegroups.com
 +S:    Supported
 +F:    drivers/ntb/hw/idt/
 +
  NTB INTEL DRIVER
  M:    Jon Mason <jdmason@kudzu.us>
  M:    Dave Jiang <dave.jiang@intel.com>
@@@ -9692,13 -9434,6 +9708,13 @@@ M:    Harald Welte <laforge@gnumonks.org
  S:    Maintained
  F:    drivers/char/pcmcia/cm4040_cs.*
  
 +OMNIVISION OV5640 SENSOR DRIVER
 +M:    Steve Longerbeam <slongerbeam@gmail.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov5640.c
 +
  OMNIVISION OV5647 SENSOR DRIVER
  M:    Ramiro Oliveira <roliveir@synopsys.com>
  L:    linux-media@vger.kernel.org
@@@ -9714,13 -9449,6 +9730,13 @@@ S:    Maintaine
  F:    drivers/media/i2c/ov7670.c
  F:    Documentation/devicetree/bindings/media/i2c/ov7670.txt
  
 +OMNIVISION OV13858 SENSOR DRIVER
 +M:    Sakari Ailus <sakari.ailus@linux.intel.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov13858.c
 +
  ONENAND FLASH DRIVER
  M:    Kyungmin Park <kyungmin.park@samsung.com>
  L:    linux-mtd@lists.infradead.org
@@@ -9755,7 -9483,6 +9771,7 @@@ S:      Maintaine
  F:    drivers/of/
  F:    include/linux/of*.h
  F:    scripts/dtc/
 +F:    Documentation/ABI/testing/sysfs-firmware-ofw
  
  OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
  M:    Rob Herring <robh+dt@kernel.org>
@@@ -10224,16 -9951,9 +10240,16 @@@ S:  Maintaine
  F:    Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
  F:    drivers/pci/dwc/pcie-hisi.c
  
 +PCIE DRIVER FOR HISILICON KIRIN
 +M:    Xiaowei Song <songxiaowei@hisilicon.com>
 +M:    Binghui Wang <wangbinghui@hisilicon.com>
 +L:    linux-pci@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/pcie-kirin.txt
 +F:    drivers/pci/dwc/pcie-kirin.c
 +
  PCIE DRIVER FOR ROCKCHIP
  M:    Shawn Lin <shawn.lin@rock-chips.com>
 -M:    Wenrui Li <wenrui.li@rock-chips.com>
  L:    linux-pci@vger.kernel.org
  L:    linux-rockchip@lists.infradead.org
  S:    Maintained
@@@ -10255,14 -9975,6 +10271,14 @@@ S:  Supporte
  F:    Documentation/devicetree/bindings/pci/pci-thunder-*
  F:    drivers/pci/host/pci-thunder-*
  
 +PCIE DRIVER FOR MEDIATEK
 +M:      Ryder Lee <ryder.lee@mediatek.com>
 +L:      linux-pci@vger.kernel.org
 +L:      linux-mediatek@lists.infradead.org
 +S:      Supported
 +F:      Documentation/devicetree/bindings/pci/mediatek*
 +F:      drivers/pci/host/*mediatek*
 +
  PCMCIA SUBSYSTEM
  P:    Linux PCMCIA Team
  L:    linux-pcmcia@lists.infradead.org
@@@ -10387,13 -10099,6 +10403,13 @@@ M: Heikki Krogerus <heikki.krogerus@lin
  S:    Maintained
  F:    drivers/pinctrl/intel/
  
 +PIN CONTROLLER - QUALCOMM
 +M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +S:    Maintained
 +L:    linux-arm-msm@vger.kernel.org
 +F:    Documentation/devicetree/bindings/pinctrl/qcom,*.txt
 +F:    drivers/pinctrl/qcom/
 +
  PIN CONTROLLER - RENESAS
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  M:    Geert Uytterhoeven <geert+renesas@glider.be>
@@@ -10465,7 -10170,7 +10481,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    Documentation/hwmon/pmbus
  F:    drivers/hwmon/pmbus/
 -F:    include/linux/i2c/pmbus.h
 +F:    include/linux/pmbus.h
  
  PMC SIERRA MaxRAID DRIVER
  L:    linux-scsi@vger.kernel.org
@@@ -10594,17 -10299,6 +10610,17 @@@ W: http://wireless.kernel.org/en/users/
  S:    Obsolete
  F:    drivers/net/wireless/intersil/prism54/
  
 +PROC SYSCTL
 +M:    "Luis R. Rodriguez" <mcgrof@kernel.org>
 +M:    Kees Cook <keescook@chromium.org>
 +L:    linux-kernel@vger.kernel.org
 +L:    linux-fsdevel@vger.kernel.org
 +S:    Maintained
 +F:    fs/proc/proc_sysctl.c
 +F:    include/linux/sysctl.h
 +F:    kernel/sysctl.c
 +F:    tools/testing/selftests/sysctl/
 +
  PS3 NETWORK SUPPORT
  M:    Geoff Levand <geoff@infradead.org>
  L:    netdev@vger.kernel.org
@@@ -10866,7 -10560,6 +10882,7 @@@ M:   Laurentiu Tudor <laurentiu.tudor@nxp
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  F:    drivers/staging/fsl-mc/
 +F:    Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
  
  QT1010 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
@@@ -10906,14 -10599,6 +10922,14 @@@ T: git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    arch/hexagon/
  
 +QUALCOMM VENUS VIDEO ACCELERATOR DRIVER
 +M:    Stanimir Varbanov <stanimir.varbanov@linaro.org>
 +L:    linux-media@vger.kernel.org
 +L:    linux-arm-msm@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/platform/qcom/venus/
 +
  QUALCOMM WCN36XX WIRELESS DRIVER
  M:    Eugene Krasnikov <k.eugene.e@gmail.com>
  L:    wcn36xx@lists.infradead.org
@@@ -10929,14 -10614,6 +10945,14 @@@ L: qemu-devel@nongnu.or
  S:    Maintained
  F:    drivers/firmware/qemu_fw_cfg.c
  
 +QUANTENNA QTNFMAC WIRELESS DRIVER
 +M:   Igor Mitsyanko <imitsyanko@quantenna.com>
 +M:   Avinash Patil <avinashp@quantenna.com>
 +M:   Sergey Matyukevich <smatyukevich@quantenna.com>
 +L:   linux-wireless@vger.kernel.org
 +S:   Maintained
 +F:   drivers/net/wireless/quantenna
 +
  RADOS BLOCK DEVICE (RBD)
  M:    Ilya Dryomov <idryomov@gmail.com>
  M:    Sage Weil <sage@redhat.com>
@@@ -11170,11 -10847,11 +11186,11 @@@ L:        linux-iio@vger.kernel.or
  S:    Supported
  F:    drivers/iio/adc/rcar_gyro_adc.c
  
 -RENESAS USB2 PHY DRIVER
 +RENESAS USB PHY DRIVER
  M:    Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  L:    linux-renesas-soc@vger.kernel.org
  S:    Maintained
 -F:    drivers/phy/phy-rcar-gen3-usb2.c
 +F:    drivers/phy/renesas/phy-rcar-gen3-usb*.c
  
  RESET CONTROLLER FRAMEWORK
  M:    Philipp Zabel <p.zabel@pengutronix.de>
@@@ -11331,7 -11008,7 +11347,7 @@@ S:   Supporte
  F:    arch/s390/
  F:    drivers/s390/
  F:    Documentation/s390/
 -F:    Documentation/DocBook/s390*
 +F:    Documentation/driver-api/s390-drivers.rst
  
  S390 COMMON I/O LAYER
  M:    Sebastian Ott <sebott@linux.vnet.ibm.com>
@@@ -11399,7 -11076,7 +11415,7 @@@ S:   Supporte
  F:    drivers/iommu/s390-iommu.c
  
  S390 VFIO-CCW DRIVER
 -M:    Cornelia Huck <cornelia.huck@de.ibm.com>
 +M:    Cornelia Huck <cohuck@redhat.com>
  M:    Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
  L:    linux-s390@vger.kernel.org
  L:    kvm@vger.kernel.org
@@@ -11576,12 -11253,12 +11592,12 @@@ L:        linux-kernel@vger.kernel.or
  S:    Supported
  F:    Documentation/devicetree/bindings/phy/samsung-phy.txt
  F:    Documentation/phy/samsung-usb2.txt
 -F:    drivers/phy/phy-exynos4210-usb2.c
 -F:    drivers/phy/phy-exynos4x12-usb2.c
 -F:    drivers/phy/phy-exynos5250-usb2.c
 -F:    drivers/phy/phy-s5pv210-usb2.c
 -F:    drivers/phy/phy-samsung-usb2.c
 -F:    drivers/phy/phy-samsung-usb2.h
 +F:    drivers/phy/samsung/phy-exynos4210-usb2.c
 +F:    drivers/phy/samsung/phy-exynos4x12-usb2.c
 +F:    drivers/phy/samsung/phy-exynos5250-usb2.c
 +F:    drivers/phy/samsung/phy-s5pv210-usb2.c
 +F:    drivers/phy/samsung/phy-samsung-usb2.c
 +F:    drivers/phy/samsung/phy-samsung-usb2.h
  
  SERIAL DRIVERS
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
@@@ -11665,9 -11342,6 +11681,9 @@@ F:   Documentation/tee.tx
  
  THUNDERBOLT DRIVER
  M:    Andreas Noever <andreas.noever@gmail.com>
 +M:    Michael Jamet <michael.jamet@intel.com>
 +M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 +M:    Yehezkel Bernat <yehezkel.bernat@intel.com>
  S:    Maintained
  F:    drivers/thunderbolt/
  
@@@ -11695,14 -11369,6 +11711,14 @@@ F: kernel/time/alarmtimer.
  F:    kernel/time/ntp.c
  F:    tools/testing/selftests/timers/
  
 +TI TRF7970A NFC DRIVER
 +M:    Mark Greer <mgreer@animalcreek.com>
 +L:    linux-wireless@vger.kernel.org
 +L:    linux-nfc@lists.01.org (moderated for non-subscribers)
 +S:    Supported
 +F:    drivers/nfc/trf7970a.c
 +F:    Documentation/devicetree/bindings/net/nfc/trf7970a.txt
 +
  SC1200 WDT DRIVER
  M:    Zwane Mwaikambo <zwanem@gmail.com>
  S:    Maintained
@@@ -11843,8 -11509,6 +11859,8 @@@ F:   kernel/seccomp.
  F:    include/uapi/linux/seccomp.h
  F:    include/linux/seccomp.h
  F:    tools/testing/selftests/seccomp/*
 +F:    tools/testing/selftests/kselftest_harness.h
 +F:    Documentation/userspace-api/seccomp_filter.rst
  K:    \bsecure_computing
  K:    \bTIF_SECCOMP\b
  
@@@ -11903,7 -11567,6 +11919,7 @@@ S:   Supporte
  F:    include/linux/selinux*
  F:    security/selinux/
  F:    scripts/selinux/
 +F:    Documentation/admin-guide/LSM/SELinux.rst
  
  APPARMOR SECURITY MODULE
  M:    John Johansen <john.johansen@canonical.com>
@@@ -11912,21 -11575,18 +11928,21 @@@ W:        apparmor.wiki.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev.git
  S:    Supported
  F:    security/apparmor/
 +F:    Documentation/admin-guide/LSM/apparmor.rst
  
  LOADPIN SECURITY MODULE
  M:    Kees Cook <keescook@chromium.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git lsm/loadpin
  S:    Supported
  F:    security/loadpin/
 +F:    Documentation/admin-guide/LSM/LoadPin.rst
  
  YAMA SECURITY MODULE
  M:    Kees Cook <keescook@chromium.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git yama/tip
  S:    Supported
  F:    security/yama/
 +F:    Documentation/admin-guide/LSM/Yama.rst
  
  SENSABLE PHANTOM
  M:    Jiri Slaby <jirislaby@gmail.com>
@@@ -12144,13 -11804,6 +12160,13 @@@ S: Maintaine
  F:    drivers/media/platform/davinci/
  F:    include/media/davinci/
  
 +TI DAVINCI SERIES GPIO DRIVER
 +M:    Keerthy <j-keerthy@ti.com>
 +L:    linux-gpio@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/gpio/gpio-davinci.txt
 +F:    drivers/gpio/gpio-davinci.c
 +
  TI AM437X VPFE DRIVER
  M:    "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -12236,7 -11889,7 +12252,7 @@@ L:   linux-security-module@vger.kernel.or
  W:    http://schaufler-ca.com
  T:    git git://github.com/cschaufler/smack-next
  S:    Maintained
 -F:    Documentation/security/Smack.txt
 +F:    Documentation/admin-guide/LSM/Smack.rst
  F:    security/smack/
  
  DRIVERS FOR ADAPTIVE VOLTAGE SCALING (AVS)
@@@ -12326,9 -11979,8 +12342,9 @@@ F:   drivers/leds/leds-net48xx.
  
  SOFTLOGIC 6x10 MPEG CODEC
  M:    Bluecherry Maintainers <maintainers@bluecherrydvr.com>
 +M:    Anton Sviridenko <anton@corp.bluecherry.net>
  M:    Andrey Utkin <andrey.utkin@corp.bluecherry.net>
 -M:    Andrey Utkin <andrey.krieger.utkin@gmail.com>
 +M:    Andrey Utkin <andrey_utkin@fastmail.com>
  M:    Ismael Luceno <ismael@iodev.co.uk>
  L:    linux-media@vger.kernel.org
  S:    Supported
@@@ -12485,8 -12137,7 +12501,8 @@@ M:   Marek Vasut <marek.vasut@gmail.com
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
 -T:    git git://github.com/spi-nor/linux.git
 +T:    git git://git.infradead.org/linux-mtd.git spi-nor/fixes
 +T:    git git://git.infradead.org/l2-mtd.git spi-nor/next
  S:    Maintained
  F:    drivers/mtd/spi-nor/
  F:    include/linux/mtd/spi-nor.h
@@@ -12997,10 -12648,6 +13013,10 @@@ F: include/linux/soc/ti/ti_sci_protocol
  F:    Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
  F:    include/dt-bindings/genpd/k2g.h
  F:    drivers/soc/ti/ti_sci_pm_domains.c
 +F:    Documentation/devicetree/bindings/reset/ti,sci-reset.txt
 +F:    Documentation/devicetree/bindings/clock/ti,sci-clk.txt
 +F:    drivers/clk/keystone/sci-clk.c
 +F:    drivers/reset/reset-ti-sci.c
  
  THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
@@@ -13250,7 -12897,7 +13266,7 @@@ M:   Wolfram Sang <wsa+renesas@sang-engin
  L:    linux-mmc@vger.kernel.org
  S:    Supported
  F:    drivers/mmc/host/tmio_mmc*
 -F:    drivers/mmc/host/sh_mobile_sdhi.c
 +F:    drivers/mmc/host/renesas_sdhi*
  F:    include/linux/mfd/tmio.h
  
  TMP401 HARDWARE MONITOR DRIVER
@@@ -13279,7 -12926,6 +13295,7 @@@ F:   Documentation/media/v4l-drivers/tm60
  
  TW5864 VIDEO4LINUX DRIVER
  M:    Bluecherry Maintainers <maintainers@bluecherrydvr.com>
 +M:    Anton Sviridenko <anton@corp.bluecherry.net>
  M:    Andrey Utkin <andrey.utkin@corp.bluecherry.net>
  M:    Andrey Utkin <andrey_utkin@fastmail.com>
  L:    linux-media@vger.kernel.org
@@@ -13832,17 -13478,6 +13848,17 @@@ W: http://en.wikipedia.org/wiki/Util-li
  T:    git git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
  S:    Maintained
  
 +UUID HELPERS
 +M:    Christoph Hellwig <hch@lst.de>
 +R:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +L:    linux-kernel@vger.kernel.org
 +T:    git git://git.infradead.org/users/hch/uuid.git
 +F:    lib/uuid.c
 +F:    lib/test_uuid.c
 +F:    include/linux/uuid.h
 +F:    include/uapi/linux/uuid.h
 +S:    Maintained
 +
  UVESAFB DRIVER
  M:    Michal Januszewski <spock@gentoo.org>
  L:    linux-fbdev@vger.kernel.org
@@@ -13905,12 -13540,6 +13921,12 @@@ S: Maintaine
  F:    drivers/media/v4l2-core/videobuf2-*
  F:    include/media/videobuf2-*
  
 +VIDEO MULTIPLEXER DRIVER
 +M:    Philipp Zabel <p.zabel@pengutronix.de>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/media/platform/video-mux.c
 +
  VIRTIO AND VHOST VSOCK DRIVER
  M:    Stefan Hajnoczi <stefanha@redhat.com>
  L:    kvm@vger.kernel.org
@@@ -13956,7 -13585,7 +13972,7 @@@ F:   include/uapi/linux/virtio_*.
  F:    drivers/crypto/virtio/
  
  VIRTIO DRIVERS FOR S390
 -M:    Cornelia Huck <cornelia.huck@de.ibm.com>
 +M:    Cornelia Huck <cohuck@redhat.com>
  M:    Halil Pasic <pasic@linux.vnet.ibm.com>
  L:    linux-s390@vger.kernel.org
  L:    virtualization@lists.linux-foundation.org
@@@ -14155,7 -13784,6 +14171,7 @@@ M:   Evgeniy Polyakov <zbr@ioremap.net
  S:    Maintained
  F:    Documentation/w1/
  F:    drivers/w1/
 +F:    include/linux/w1.h
  
  W83791D HARDWARE MONITORING DRIVER
  M:    Marc Hulsman <m.hulsman@tudelft.nl>
@@@ -14370,8 -13998,6 +14386,8 @@@ F:   drivers/xen
  F:    arch/x86/include/asm/xen/
  F:    include/xen/
  F:    include/uapi/xen/
 +F:    Documentation/ABI/stable/sysfs-hypervisor-xen
 +F:    Documentation/ABI/testing/sysfs-hypervisor-xen
  
  XEN HYPERVISOR ARM
  M:    Stefano Stabellini <sstabellini@kernel.org>
@@@ -14464,14 -14090,6 +14480,14 @@@ L: linux-kernel@vger.kernel.or
  S:    Supported
  F:    drivers/char/xillybus/
  
 +XRA1403 GPIO EXPANDER
 +M:    Nandor Han <nandor.han@ge.com>
 +M:    Semi Malinen <semi.malinen@ge.com>
 +L:    linux-gpio@vger.kernel.org
 +S:    Maintained
 +F:    drivers/gpio/gpio-xra1403.c
 +F:    Documentation/devicetree/bindings/gpio/gpio-xra1403.txt
 +
  XTENSA XTFPGA PLATFORM SUPPORT
  M:    Max Filippov <jcmvbkbc@gmail.com>
  L:    linux-xtensa@linux-xtensa.org
diff --combined arch/mips/Kconfig
index 45bcd1cfcec0d1d801a21b45567eb00b0945a137,55e48a3e7f05831b1221db5f42e67fea34cc67e9..8dd20358464f8efabcad2185d2b6f56c4fe805fa
@@@ -1,75 -1,77 +1,77 @@@
  config MIPS
        bool
        default y
-       select ARCH_SUPPORTS_UPROBES
+       select ARCH_BINFMT_ELF_STATE
+       select ARCH_CLOCKSOURCE_DATA
+       select ARCH_DISCARD_MEMBLOCK
+       select ARCH_HAS_ELF_RANDOMIZE
+       select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_MIGHT_HAVE_PC_PARPORT
        select ARCH_MIGHT_HAVE_PC_SERIO
-       select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
+       select ARCH_SUPPORTS_UPROBES
        select ARCH_USE_BUILTIN_BSWAP
-       select HAVE_CONTEXT_TRACKING
-       select HAVE_GENERIC_DMA_COHERENT
-       select HAVE_IDE
-       select HAVE_IRQ_EXIT_ON_IRQ_STACK
-       select HAVE_OPROFILE
-       select HAVE_PERF_EVENTS
-       select PERF_USE_VMALLOC
+       select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
+       select ARCH_USE_QUEUED_RWLOCKS
+       select ARCH_USE_QUEUED_SPINLOCKS
+       select ARCH_WANT_IPC_PARSE_VERSION
+       select BUILDTIME_EXTABLE_SORT
+       select CLONE_BACKWARDS
+       select CPU_PM if CPU_IDLE
+       select GENERIC_ATOMIC64 if !64BIT
+       select GENERIC_CLOCKEVENTS
+       select GENERIC_CMOS_UPDATE
+       select GENERIC_CPU_AUTOPROBE
+       select GENERIC_IRQ_PROBE
+       select GENERIC_IRQ_SHOW
+       select GENERIC_PCI_IOMAP
+       select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
+       select GENERIC_SMP_IDLE_THREAD
+       select GENERIC_TIME_VSYSCALL
+       select HANDLE_DOMAIN_IRQ
+       select HAVE_ARCH_JUMP_LABEL
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_MMAP_RND_BITS if MMU
        select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
        select HAVE_ARCH_SECCOMP_FILTER
        select HAVE_ARCH_TRACEHOOK
-       select HAVE_CBPF_JIT if !CPU_MICROMIPS
-       select HAVE_FUNCTION_TRACER
+       select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
+       select HAVE_CBPF_JIT if (!64BIT && !CPU_MICROMIPS)
+       select HAVE_EBPF_JIT if (64BIT && !CPU_MICROMIPS)
+       select HAVE_CC_STACKPROTECTOR
+       select HAVE_CONTEXT_TRACKING
+       select HAVE_COPY_THREAD_TLS
+       select HAVE_C_RECORDMCOUNT
+       select HAVE_DEBUG_KMEMLEAK
+       select HAVE_DEBUG_STACKOVERFLOW
+       select HAVE_DMA_API_DEBUG
+       select HAVE_DMA_CONTIGUOUS
        select HAVE_DYNAMIC_FTRACE
+       select HAVE_EXIT_THREAD
        select HAVE_FTRACE_MCOUNT_RECORD
-       select HAVE_C_RECORDMCOUNT
        select HAVE_FUNCTION_GRAPH_TRACER
+       select HAVE_FUNCTION_TRACER
+       select HAVE_GENERIC_DMA_COHERENT
+       select HAVE_IDE
+       select HAVE_IRQ_EXIT_ON_IRQ_STACK
+       select HAVE_IRQ_TIME_ACCOUNTING
        select HAVE_KPROBES
        select HAVE_KRETPROBES
-       select HAVE_SYSCALL_TRACEPOINTS
-       select HAVE_DEBUG_KMEMLEAK
-       select HAVE_SYSCALL_TRACEPOINTS
-       select ARCH_HAS_ELF_RANDOMIZE
-       select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
-       select RTC_LIB if !MACH_LOONGSON64
-       select GENERIC_ATOMIC64 if !64BIT
-       select HAVE_DMA_CONTIGUOUS
-       select HAVE_DMA_API_DEBUG
-       select GENERIC_IRQ_PROBE
-       select GENERIC_IRQ_SHOW
-       select GENERIC_PCI_IOMAP
-       select HAVE_ARCH_JUMP_LABEL
-       select ARCH_WANT_IPC_PARSE_VERSION
-       select IRQ_FORCED_THREADING
        select HAVE_MEMBLOCK
        select HAVE_MEMBLOCK_NODE_MAP
-       select ARCH_DISCARD_MEMBLOCK
-       select GENERIC_SMP_IDLE_THREAD
-       select BUILDTIME_EXTABLE_SORT
-       select GENERIC_CPU_AUTOPROBE
-       select GENERIC_CLOCKEVENTS
-       select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
-       select GENERIC_CMOS_UPDATE
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
-       select VIRT_TO_BUS
-       select MODULES_USE_ELF_REL if MODULES
+       select HAVE_OPROFILE
+       select HAVE_PERF_EVENTS
+       select HAVE_REGS_AND_STACK_ACCESS_API
+       select HAVE_SYSCALL_TRACEPOINTS
+       select HAVE_VIRT_CPU_ACCOUNTING_GEN
+       select IRQ_FORCED_THREADING
        select MODULES_USE_ELF_RELA if MODULES && 64BIT
-       select CLONE_BACKWARDS
-       select HAVE_DEBUG_STACKOVERFLOW
-       select HAVE_CC_STACKPROTECTOR
-       select CPU_PM if CPU_IDLE
-       select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
-       select ARCH_BINFMT_ELF_STATE
+       select MODULES_USE_ELF_REL if MODULES
+       select PERF_USE_VMALLOC
+       select RTC_LIB if !MACH_LOONGSON64
        select SYSCTL_EXCEPTION_TRACE
-       select HAVE_VIRT_CPU_ACCOUNTING_GEN
-       select HAVE_IRQ_TIME_ACCOUNTING
-       select GENERIC_TIME_VSYSCALL
-       select ARCH_CLOCKSOURCE_DATA
-       select HANDLE_DOMAIN_IRQ
-       select HAVE_EXIT_THREAD
-       select HAVE_REGS_AND_STACK_ACCESS_API
-       select HAVE_COPY_THREAD_TLS
+       select VIRT_TO_BUS
  
  menu "Machine selection"
  
@@@ -364,7 -366,6 +366,7 @@@ config MACH_INGENI
        select SYS_SUPPORTS_ZBOOT_UART16550
        select DMA_NONCOHERENT
        select IRQ_MIPS_CPU
 +      select PINCTRL
        select GPIOLIB
        select COMMON_CLK
        select GENERIC_IRQ_CHIP
@@@ -1179,6 -1180,15 +1181,15 @@@ config SYS_SUPPORTS_RELOCATABL
         The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF
         to allow access to command line and entropy sources.
  
+ config MIPS_CBPF_JIT
+       def_bool y
+       depends on BPF_JIT && HAVE_CBPF_JIT
+ config MIPS_EBPF_JIT
+       def_bool y
+       depends on BPF_JIT && HAVE_EBPF_JIT
  #
  # Endianness selection.  Sufficiently obscure so many users don't know what to
  # answer,so we try hard to limit the available choices.  Also the use of a
@@@ -2062,7 -2072,7 +2073,7 @@@ config CPU_SUPPORTS_UNCACHED_ACCELERATE
        bool
  config MIPS_PGD_C0_CONTEXT
        bool
-       default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
+       default y if 64BIT && (CPU_MIPSR2 || CPU_MIPSR6) && !CPU_XLP
  
  #
  # Set to y for ptrace access to watch registers.
@@@ -2370,6 -2380,7 +2381,7 @@@ config MIPS_CP
        select SMP
        select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
        select SYS_SUPPORTS_HOTPLUG_CPU
+       select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6
        select SYS_SUPPORTS_SMP
        select WEAK_ORDERING
        help
diff --combined arch/mips/generic/init.c
index 1231b5a17b37bd8625bbf3ce55806be000991a7e,4a9a1edbfb2981bd6f1c178ee371909a8551094a..3f32b376d30e482774f55aa2cbcc3664a488ddfb
@@@ -122,6 -122,33 +122,33 @@@ void __init device_tree_init(void
                err = register_up_smp_ops();
  }
  
+ int __init apply_mips_fdt_fixups(void *fdt_out, size_t fdt_out_size,
+                                const void *fdt_in,
+                                const struct mips_fdt_fixup *fixups)
+ {
+       int err;
+       err = fdt_open_into(fdt_in, fdt_out, fdt_out_size);
+       if (err) {
+               pr_err("Failed to open FDT\n");
+               return err;
+       }
+       for (; fixups->apply; fixups++) {
+               err = fixups->apply(fdt_out);
+               if (err) {
+                       pr_err("Failed to apply FDT fixup \"%s\"\n",
+                              fixups->description);
+                       return err;
+               }
+       }
+       err = fdt_pack(fdt_out);
+       if (err)
+               pr_err("Failed to pack FDT\n");
+       return err;
+ }
  void __init plat_time_init(void)
  {
        struct device_node *np;
                }
        }
  
 -      clocksource_probe();
 +      timer_probe();
  }
  
  void __init arch_init_irq(void)
index 50c020c47e546d36cdd43d83e6627283d51743e6,b250eb0c4fc127e7e6aaca4183a5d27b55b7393c..491605137b030ef03fc22856ee359930a56b7eba
@@@ -53,22 -53,25 +53,25 @@@ void *module_alloc(unsigned long size
  }
  #endif
  
- int apply_r_mips_none(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_none(struct module *me, u32 *location,
+                            u32 base, Elf_Addr v, bool rela)
  {
        return 0;
  }
  
- static int apply_r_mips_32_rel(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_32(struct module *me, u32 *location,
+                          u32 base, Elf_Addr v, bool rela)
  {
-       *location += v;
+       *location = base + v;
  
        return 0;
  }
  
- static int apply_r_mips_26_rel(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_26(struct module *me, u32 *location,
+                          u32 base, Elf_Addr v, bool rela)
  {
        if (v % 4) {
-               pr_err("module %s: dangerous R_MIPS_26 REL relocation\n",
+               pr_err("module %s: dangerous R_MIPS_26 relocation\n",
                       me->name);
                return -ENOEXEC;
        }
        }
  
        *location = (*location & ~0x03ffffff) |
-                   ((*location + (v >> 2)) & 0x03ffffff);
+                   ((base + (v >> 2)) & 0x03ffffff);
  
        return 0;
  }
  
- static int apply_r_mips_hi16_rel(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_hi16(struct module *me, u32 *location,
+                            u32 base, Elf_Addr v, bool rela)
  {
        struct mips_hi16 *n;
  
+       if (rela) {
+               *location = (*location & 0xffff0000) |
+                           ((((long long) v + 0x8000LL) >> 16) & 0xffff);
+               return 0;
+       }
        /*
         * We cannot relocate this one now because we don't know the value of
         * the carry we need to add.  Save the information, and let LO16 do the
@@@ -117,12 -127,18 +127,18 @@@ static void free_relocation_chain(struc
        }
  }
  
- static int apply_r_mips_lo16_rel(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_lo16(struct module *me, u32 *location,
+                            u32 base, Elf_Addr v, bool rela)
  {
-       unsigned long insnlo = *location;
+       unsigned long insnlo = base;
        struct mips_hi16 *l;
        Elf_Addr val, vallo;
  
+       if (rela) {
+               *location = (*location & 0xffff0000) | (v & 0xffff);
+               return 0;
+       }
        /* Sign extend the addend we extract from the lo insn.  */
        vallo = ((insnlo & 0xffff) ^ 0x8000) - 0x8000;
  
@@@ -178,26 -194,26 +194,26 @@@ out_danger
        free_relocation_chain(l);
        me->arch.r_mips_hi16_list = NULL;
  
-       pr_err("module %s: dangerous R_MIPS_LO16 REL relocation\n", me->name);
+       pr_err("module %s: dangerous R_MIPS_LO16 relocation\n", me->name);
  
        return -ENOEXEC;
  }
  
- static int apply_r_mips_pc_rel(struct module *me, u32 *location, Elf_Addr v,
-                              unsigned bits)
+ static int apply_r_mips_pc(struct module *me, u32 *location, u32 base,
+                          Elf_Addr v, unsigned int bits)
  {
        unsigned long mask = GENMASK(bits - 1, 0);
        unsigned long se_bits;
        long offset;
  
        if (v % 4) {
-               pr_err("module %s: dangerous R_MIPS_PC%u REL relocation\n",
+               pr_err("module %s: dangerous R_MIPS_PC%u relocation\n",
                       me->name, bits);
                return -ENOEXEC;
        }
  
-       /* retrieve & sign extend implicit addend */
-       offset = *location & mask;
+       /* retrieve & sign extend implicit addend if any */
+       offset = base & mask;
        offset |= (offset & BIT(bits - 1)) ? ~mask : 0;
  
        offset += ((long)v - (long)location) >> 2;
        return 0;
  }
  
- static int apply_r_mips_pc16_rel(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_pc16(struct module *me, u32 *location,
+                            u32 base, Elf_Addr v, bool rela)
+ {
+       return apply_r_mips_pc(me, location, base, v, 16);
+ }
+ static int apply_r_mips_pc21(struct module *me, u32 *location,
+                            u32 base, Elf_Addr v, bool rela)
+ {
+       return apply_r_mips_pc(me, location, base, v, 21);
+ }
+ static int apply_r_mips_pc26(struct module *me, u32 *location,
+                            u32 base, Elf_Addr v, bool rela)
+ {
+       return apply_r_mips_pc(me, location, base, v, 26);
+ }
+ static int apply_r_mips_64(struct module *me, u32 *location,
+                          u32 base, Elf_Addr v, bool rela)
  {
-       return apply_r_mips_pc_rel(me, location, v, 16);
+       if (WARN_ON(!rela))
+               return -EINVAL;
+       *(Elf_Addr *)location = v;
+       return 0;
  }
  
- static int apply_r_mips_pc21_rel(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_higher(struct module *me, u32 *location,
+                              u32 base, Elf_Addr v, bool rela)
  {
-       return apply_r_mips_pc_rel(me, location, v, 21);
+       if (WARN_ON(!rela))
+               return -EINVAL;
+       *location = (*location & 0xffff0000) |
+                   ((((long long)v + 0x80008000LL) >> 32) & 0xffff);
+       return 0;
  }
  
- static int apply_r_mips_pc26_rel(struct module *me, u32 *location, Elf_Addr v)
+ static int apply_r_mips_highest(struct module *me, u32 *location,
+                               u32 base, Elf_Addr v, bool rela)
  {
-       return apply_r_mips_pc_rel(me, location, v, 26);
+       if (WARN_ON(!rela))
+               return -EINVAL;
+       *location = (*location & 0xffff0000) |
+                   ((((long long)v + 0x800080008000LL) >> 48) & 0xffff);
+       return 0;
  }
  
- static int (*reloc_handlers_rel[]) (struct module *me, u32 *location,
-                               Elf_Addr v) = {
+ /**
+  * reloc_handler() - Apply a particular relocation to a module
+  * @me: the module to apply the reloc to
+  * @location: the address at which the reloc is to be applied
+  * @base: the existing value at location for REL-style; 0 for RELA-style
+  * @v: the value of the reloc, with addend for RELA-style
+  *
+  * Each implemented reloc_handler function applies a particular type of
+  * relocation to the module @me. Relocs that may be found in either REL or RELA
+  * variants can be handled by making use of the @base & @v parameters which are
+  * set to values which abstract the difference away from the particular reloc
+  * implementations.
+  *
+  * Return: 0 upon success, else -ERRNO
+  */
+ typedef int (*reloc_handler)(struct module *me, u32 *location,
+                            u32 base, Elf_Addr v, bool rela);
+ /* The handlers for known reloc types */
+ static reloc_handler reloc_handlers[] = {
        [R_MIPS_NONE]           = apply_r_mips_none,
-       [R_MIPS_32]             = apply_r_mips_32_rel,
-       [R_MIPS_26]             = apply_r_mips_26_rel,
-       [R_MIPS_HI16]           = apply_r_mips_hi16_rel,
-       [R_MIPS_LO16]           = apply_r_mips_lo16_rel,
-       [R_MIPS_PC16]           = apply_r_mips_pc16_rel,
-       [R_MIPS_PC21_S2]        = apply_r_mips_pc21_rel,
-       [R_MIPS_PC26_S2]        = apply_r_mips_pc26_rel,
+       [R_MIPS_32]             = apply_r_mips_32,
+       [R_MIPS_26]             = apply_r_mips_26,
+       [R_MIPS_HI16]           = apply_r_mips_hi16,
+       [R_MIPS_LO16]           = apply_r_mips_lo16,
+       [R_MIPS_PC16]           = apply_r_mips_pc16,
+       [R_MIPS_64]             = apply_r_mips_64,
+       [R_MIPS_HIGHER]         = apply_r_mips_higher,
+       [R_MIPS_HIGHEST]        = apply_r_mips_highest,
+       [R_MIPS_PC21_S2]        = apply_r_mips_pc21,
+       [R_MIPS_PC26_S2]        = apply_r_mips_pc26,
  };
  
int apply_relocate(Elf_Shdr *sechdrs, const char *strtab,
-                  unsigned int symindex, unsigned int relsec,
-                  struct module *me)
static int __apply_relocate(Elf_Shdr *sechdrs, const char *strtab,
+                           unsigned int symindex, unsigned int relsec,
+                           struct module *me, bool rela)
  {
-       Elf_Mips_Rel *rel = (void *) sechdrs[relsec].sh_addr;
-       int (*handler)(struct module *me, u32 *location, Elf_Addr v);
+       union {
+               Elf_Mips_Rel *rel;
+               Elf_Mips_Rela *rela;
+       } r;
+       reloc_handler handler;
        Elf_Sym *sym;
-       u32 *location;
+       u32 *location, base;
        unsigned int i, type;
        Elf_Addr v;
-       int res;
+       int err = 0;
+       size_t reloc_sz;
  
        pr_debug("Applying relocate section %u to %u\n", relsec,
               sechdrs[relsec].sh_info);
  
+       r.rel = (void *)sechdrs[relsec].sh_addr;
+       reloc_sz = rela ? sizeof(*r.rela) : sizeof(*r.rel);
        me->arch.r_mips_hi16_list = NULL;
-       for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) {
+       for (i = 0; i < sechdrs[relsec].sh_size / reloc_sz; i++) {
                /* This is where to make the change */
                location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr
-                       + rel[i].r_offset;
+                       + r.rel->r_offset;
                /* This is the symbol it is referring to */
                sym = (Elf_Sym *)sechdrs[symindex].sh_addr
-                       + ELF_MIPS_R_SYM(rel[i]);
+                       + ELF_MIPS_R_SYM(*r.rel);
                if (sym->st_value >= -MAX_ERRNO) {
                        /* Ignore unresolved weak symbol */
                        if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
                                continue;
                        pr_warn("%s: Unknown symbol %s\n",
                                me->name, strtab + sym->st_name);
-                       return -ENOENT;
+                       err = -ENOENT;
+                       goto out;
                }
  
-               type = ELF_MIPS_R_TYPE(rel[i]);
-               if (type < ARRAY_SIZE(reloc_handlers_rel))
-                       handler = reloc_handlers_rel[type];
+               type = ELF_MIPS_R_TYPE(*r.rel);
+               if (type < ARRAY_SIZE(reloc_handlers))
+                       handler = reloc_handlers[type];
                else
                        handler = NULL;
  
                if (!handler) {
                        pr_err("%s: Unknown relocation type %u\n",
                               me->name, type);
-                       return -EINVAL;
+                       err = -EINVAL;
+                       goto out;
                }
  
-               v = sym->st_value;
-               res = handler(me, location, v);
-               if (res)
-                       return res;
+               if (rela) {
+                       v = sym->st_value + r.rela->r_addend;
+                       base = 0;
+                       r.rela = &r.rela[1];
+               } else {
+                       v = sym->st_value;
+                       base = *location;
+                       r.rel = &r.rel[1];
+               }
+               err = handler(me, location, base, v, rela);
+               if (err)
+                       goto out;
        }
  
+ out:
        /*
-        * Normally the hi16 list should be deallocated at this point.  A
+        * Normally the hi16 list should be deallocated at this point. A
         * malformed binary however could contain a series of R_MIPS_HI16
-        * relocations not followed by a R_MIPS_LO16 relocation.  In that
-        * case, free up the list and return an error.
+        * relocations not followed by a R_MIPS_LO16 relocation, or if we hit
+        * an error processing a reloc we might have gotten here before
+        * reaching the R_MIPS_LO16. In either case, free up the list and
+        * return an error.
         */
        if (me->arch.r_mips_hi16_list) {
                free_relocation_chain(me->arch.r_mips_hi16_list);
                me->arch.r_mips_hi16_list = NULL;
-               return -ENOEXEC;
+               err = err ?: -ENOEXEC;
        }
  
-       return 0;
+       return err;
+ }
+ int apply_relocate(Elf_Shdr *sechdrs, const char *strtab,
+                  unsigned int symindex, unsigned int relsec,
+                  struct module *me)
+ {
+       return __apply_relocate(sechdrs, strtab, symindex, relsec, me, false);
+ }
+ #ifdef CONFIG_MODULES_USE_ELF_RELA
+ int apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab,
+                      unsigned int symindex, unsigned int relsec,
+                      struct module *me)
+ {
+       return __apply_relocate(sechdrs, strtab, symindex, relsec, me, true);
  }
+ #endif /* CONFIG_MODULES_USE_ELF_RELA */
  
  /* Given an address, look for it in the module exception tables. */
  const struct exception_table_entry *search_module_dbetables(unsigned long addr)
  
        spin_lock_irqsave(&dbe_lock, flags);
        list_for_each_entry(dbe, &dbe_list, dbe_list) {
 -              e = search_extable(dbe->dbe_start, dbe->dbe_end - 1, addr);
 +              e = search_extable(dbe->dbe_start,
 +                                 dbe->dbe_end - dbe->dbe_start, addr);
                if (e)
                        break;
        }
diff --combined drivers/clk/Kconfig
index d406b087553fcbc436619168fa2fb434509b8fd9,251a22139e732049da5ca5cf790ad409ce03f59d..68ca2d9fcd73b3277fec4309996fbd5373b58bbd
@@@ -126,15 -126,6 +126,15 @@@ config COMMON_CLK_CS2000_C
        help
          If you say yes here you get support for the CS2000 clock multiplier.
  
 +config COMMON_CLK_GEMINI
 +      bool "Clock driver for Cortina Systems Gemini SoC"
 +      depends on ARCH_GEMINI || COMPILE_TEST
 +      select MFD_SYSCON
 +      select RESET_CONTROLLER
 +      ---help---
 +        This driver supports the SoC clocks on the Cortina Systems Gemini
 +        platform, also known as SL3516 or CS3516.
 +
  config COMMON_CLK_S2MPS11
        tristate "Clock driver for S2MPS1X/S5M8767 MFD"
        depends on MFD_SEC_CORE || COMPILE_TEST
@@@ -173,6 -164,13 +173,6 @@@ config COMMON_CLK_XGEN
        ---help---
          Sypport for the APM X-Gene SoC reference, PLL, and device clocks.
  
 -config COMMON_CLK_KEYSTONE
 -      tristate "Clock drivers for Keystone based SOCs"
 -      depends on (ARCH_KEYSTONE || COMPILE_TEST) && OF
 -      ---help---
 -          Supports clock drivers for Keystone based SOCs. These SOCs have local
 -        a power sleep control module that gate the clock to the IPs and PLLs.
 -
  config COMMON_CLK_NXP
        def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
        select REGMAP_MMIO if ARCH_LPC32XX
@@@ -221,7 -219,7 +221,8 @@@ config COMMON_CLK_VC
  
  source "drivers/clk/bcm/Kconfig"
  source "drivers/clk/hisilicon/Kconfig"
+ source "drivers/clk/imgtec/Kconfig"
 +source "drivers/clk/keystone/Kconfig"
  source "drivers/clk/mediatek/Kconfig"
  source "drivers/clk/meson/Kconfig"
  source "drivers/clk/mvebu/Kconfig"
diff --combined drivers/clk/Makefile
index 4f6a812342ed8ae7509d963e008110519241424c,a4a7c5df8b93f7011af847df7d6435114a6bcbb1..cd376b3fb47adc2bd87c64dddb7ec775e51f8e21
@@@ -1,5 -1,5 +1,5 @@@
  # common clock types
 -obj-$(CONFIG_HAVE_CLK)                += clk-devres.o
 +obj-$(CONFIG_HAVE_CLK)                += clk-devres.o clk-bulk.o
  obj-$(CONFIG_CLKDEV_LOOKUP)   += clkdev.o
  obj-$(CONFIG_COMMON_CLK)      += clk.o
  obj-$(CONFIG_COMMON_CLK)      += clk-divider.o
@@@ -25,7 -25,6 +25,7 @@@ obj-$(CONFIG_COMMON_CLK_CDCE925)      += clk
  obj-$(CONFIG_ARCH_CLPS711X)           += clk-clps711x.o
  obj-$(CONFIG_COMMON_CLK_CS2000_CP)    += clk-cs2000-cp.o
  obj-$(CONFIG_ARCH_EFM32)              += clk-efm32gg.o
 +obj-$(CONFIG_COMMON_CLK_GEMINI)               += clk-gemini.o
  obj-$(CONFIG_ARCH_HIGHBANK)           += clk-highbank.o
  obj-$(CONFIG_COMMON_CLK_MAX77686)     += clk-max77686.o
  obj-$(CONFIG_ARCH_MB86S7X)            += clk-mb86s7x.o
@@@ -60,9 -59,10 +60,10 @@@ obj-y                                       += bcm
  obj-$(CONFIG_ARCH_BERLIN)             += berlin/
  obj-$(CONFIG_H8300)                   += h8300/
  obj-$(CONFIG_ARCH_HISI)                       += hisilicon/
+ obj-y                                 += imgtec/
  obj-$(CONFIG_ARCH_MXC)                        += imx/
  obj-$(CONFIG_MACH_INGENIC)            += ingenic/
 -obj-$(CONFIG_COMMON_CLK_KEYSTONE)     += keystone/
 +obj-$(CONFIG_ARCH_KEYSTONE)           += keystone/
  obj-$(CONFIG_MACH_LOONGSON32)         += loongson1/
  obj-$(CONFIG_ARCH_MEDIATEK)           += mediatek/
  obj-$(CONFIG_COMMON_CLK_AMLOGIC)      += meson/
@@@ -76,7 -76,7 +77,7 @@@ obj-$(CONFIG_COMMON_CLK_NXP)          += nxp
  obj-$(CONFIG_MACH_PISTACHIO)          += pistachio/
  obj-$(CONFIG_COMMON_CLK_PXA)          += pxa/
  obj-$(CONFIG_COMMON_CLK_QCOM)         += qcom/
 -obj-$(CONFIG_ARCH_RENESAS)            += renesas/
 +obj-y                                 += renesas/
  obj-$(CONFIG_ARCH_ROCKCHIP)           += rockchip/
  obj-$(CONFIG_COMMON_CLK_SAMSUNG)      += samsung/
  obj-$(CONFIG_ARCH_SIRF)                       += sirf/