Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Aug 2016 13:20:13 +0000 (09:20 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Aug 2016 13:20:13 +0000 (09:20 -0400)
Pull virtio/vhost updates from Michael Tsirkin:

 - new vsock device support in host and guest

 - platform IOMMU support in host and guest, including compatibility
   quirks for legacy systems.

 - misc fixes and cleanups.

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  VSOCK: Use kvfree()
  vhost: split out vringh Kconfig
  vhost: detect 32 bit integer wrap around
  vhost: new device IOTLB API
  vhost: drop vringh dependency
  vhost: convert pre sorted vhost memory array to interval tree
  vhost: introduce vhost memory accessors
  VSOCK: Add Makefile and Kconfig
  VSOCK: Introduce vhost_vsock.ko
  VSOCK: Introduce virtio_transport.ko
  VSOCK: Introduce virtio_vsock_common.ko
  VSOCK: defer sock removal to transports
  VSOCK: transport-specific vsock_transport functions
  vhost: drop vringh dependency
  vop: pull in vhost Kconfig
  virtio: new feature to detect IOMMU device quirk
  balloon: check the number of available pages in leak balloon
  vhost: lockless enqueuing
  vhost: simplify work flushing

1  2 
MAINTAINERS
drivers/Makefile
drivers/vhost/net.c
drivers/virtio/virtio_balloon.c
include/uapi/linux/Kbuild

diff --combined MAINTAINERS
@@@ -213,7 -213,7 +213,7 @@@ S: Maintaine
  F:    drivers/media/dvb-frontends/a8293*
  
  AACRAID SCSI RAID DRIVER
 -M:    Adaptec OEM Raid Solutions <aacraid@adaptec.com>
 +M:    Adaptec OEM Raid Solutions <aacraid@microsemi.com>
  L:    linux-scsi@vger.kernel.org
  W:    http://www.adaptec.com/
  S:    Supported
@@@ -288,7 -288,6 +288,7 @@@ F: include/linux/acpi.
  F:    include/acpi/
  F:    Documentation/acpi/
  F:    Documentation/ABI/testing/sysfs-bus-acpi
 +F:    Documentation/ABI/testing/configfs-acpi
  F:    drivers/pci/*acpi*
  F:    drivers/pci/*/*acpi*
  F:    drivers/pci/*/*/*acpi*
@@@ -612,13 -611,6 +612,13 @@@ L:       linux-gpio@vger.kernel.or
  S:    Maintained
  F:    drivers/gpio/gpio-altera.c
  
 +ALTERA SYSTEM RESOURCE DRIVER FOR ARRIA10 DEVKIT
 +M:    Thor Thayer <tthayer@opensource.altera.com>
 +S:    Maintained
 +F:    drivers/gpio/gpio-altera-a10sr.c
 +F:    drivers/mfd/altera-a10sr.c
 +F:    include/linux/mfd/altera-a10sr.h
 +
  ALTERA TRIPLE SPEED ETHERNET DRIVER
  M:    Vince Bridgers <vbridger@opensource.altera.com>
  L:    netdev@vger.kernel.org
@@@ -778,11 -770,6 +778,11 @@@ W:       http://ez.analog.com/community/linux
  S:    Supported
  F:    drivers/dma/dma-axi-dmac.c
  
 +ANDROID CONFIG FRAGMENTS
 +M:    Rob Herring <robh@kernel.org>
 +S:    Supported
 +F:    kernel/configs/android*
 +
  ANDROID DRIVERS
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  M:    Arve Hjønnevåg <arve@android.com>
@@@ -852,9 -839,7 +852,9 @@@ M: Iyappan Subramanian <isubramanian@ap
  M:    Keyur Chudgar <kchudgar@apm.com>
  S:    Supported
  F:    drivers/net/ethernet/apm/xgene/
 +F:    drivers/net/phy/mdio-xgene.c
  F:    Documentation/devicetree/bindings/net/apm-xgene-enet.txt
 +F:    Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
  
  APTINA CAMERA SENSOR PLL
  M:    Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
@@@ -884,17 -869,9 +884,17 @@@ F:       Documentation/devicetree/bindings/di
  ARM HDLCD DRM DRIVER
  M:    Liviu Dudau <liviu.dudau@arm.com>
  S:    Supported
 -F:    drivers/gpu/drm/arm/
 +F:    drivers/gpu/drm/arm/hdlcd_*
  F:    Documentation/devicetree/bindings/display/arm,hdlcd.txt
  
 +ARM MALI-DP DRM DRIVER
 +M:    Liviu Dudau <liviu.dudau@arm.com>
 +M:    Brian Starkey <brian.starkey@arm.com>
 +M:    Mali DP Maintainers <malidp@foss.arm.com>
 +S:    Supported
 +F:    drivers/gpu/drm/arm/
 +F:    Documentation/devicetree/bindings/display/arm,malidp.txt
 +
  ARM MFM AND FLOPPY DRIVERS
  M:    Ian Molton <spyro@f2s.com>
  S:    Maintained
@@@ -1549,7 -1526,6 +1549,7 @@@ M:      David Brown <david.brown@linaro.org
  L:    linux-arm-msm@vger.kernel.org
  L:    linux-soc@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/soc/qcom/
  F:    arch/arm/boot/dts/qcom-*.dts
  F:    arch/arm/boot/dts/qcom-*.dtsi
  F:    arch/arm/mach-qcom/
@@@ -1627,13 -1603,12 +1627,13 @@@ F:   arch/arm/mach-s3c24*
  F:    arch/arm/mach-s3c64xx/
  F:    arch/arm/mach-s5p*/
  F:    arch/arm/mach-exynos*/
 -F:    drivers/*/*s3c2410*
 -F:    drivers/*/*/*s3c2410*
 +F:    drivers/*/*s3c24*
 +F:    drivers/*/*/*s3c24*
 +F:    drivers/*/*s3c64xx*
 +F:    drivers/*/*s5pv210*
  F:    drivers/memory/samsung/*
  F:    drivers/soc/samsung/*
  F:    drivers/spi/spi-s3c*
 -F:    sound/soc/samsung/*
  F:    Documentation/arm/Samsung/
  F:    Documentation/devicetree/bindings/arm/samsung/
  F:    Documentation/devicetree/bindings/sram/samsung-sram.txt
@@@ -1648,8 -1623,7 +1648,8 @@@ F:      arch/arm/mach-s5pv210
  
  ARM/SAMSUNG S5P SERIES 2D GRAPHICS ACCELERATION (G2D) SUPPORT
  M:    Kyungmin Park <kyungmin.park@samsung.com>
 -M:    Kamil Debski <k.debski@samsung.com>
 +M:    Kamil Debski <kamil@wypas.org>
 +M:    Andrzej Hajda <a.hajda@samsung.com>
  L:    linux-arm-kernel@lists.infradead.org
  L:    linux-media@vger.kernel.org
  S:    Maintained
@@@ -1657,9 -1631,8 +1657,9 @@@ F:      drivers/media/platform/s5p-g2d
  
  ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
  M:    Kyungmin Park <kyungmin.park@samsung.com>
 -M:    Kamil Debski <k.debski@samsung.com>
 +M:    Kamil Debski <kamil@wypas.org>
  M:    Jeongtae Park <jtp.park@samsung.com>
 +M:    Andrzej Hajda <a.hajda@samsung.com>
  L:    linux-arm-kernel@lists.infradead.org
  L:    linux-media@vger.kernel.org
  S:    Maintained
@@@ -1674,13 -1647,6 +1674,13 @@@ L:    linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/media/platform/s5p-tv/
  
 +ARM/SAMSUNG S5P SERIES HDMI CEC SUBSYSTEM SUPPORT
 +M:    Kyungmin Park <kyungmin.park@samsung.com>
 +L:    linux-arm-kernel@lists.infradead.org
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/staging/media/platform/s5p-cec/
 +
  ARM/SAMSUNG S5P SERIES JPEG CODEC SUPPORT
  M:    Andrzej Pietrasiewicz <andrzej.p@samsung.com>
  M:    Jacek Anaszewski <j.anaszewski@samsung.com>
@@@ -1703,6 -1669,7 +1703,6 @@@ F:      arch/arm/boot/dts/sh
  F:    arch/arm/configs/shmobile_defconfig
  F:    arch/arm/include/debug/renesas-scif.S
  F:    arch/arm/mach-shmobile/
 -F:    drivers/sh/
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
  
@@@ -1770,7 -1737,8 +1770,7 @@@ ARM/TANGO ARCHITECTUR
  M:    Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
 -F:    arch/arm/mach-tango/
 -F:    arch/arm/boot/dts/tango*
 +N:    tango
  
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
@@@ -1857,6 -1825,7 +1857,6 @@@ L:      linux-arm-kernel@lists.infradead.or
  T:    git git://git.linaro.org/people/ulfh/clk.git
  S:    Maintained
  F:    drivers/clk/ux500/
 -F:    include/linux/platform_data/clk-ux500.h
  
  ARM/VERSATILE EXPRESS PLATFORM
  M:    Liviu Dudau <liviu.dudau@arm.com>
@@@ -2327,7 -2296,6 +2327,7 @@@ S:      Maintaine
  F:    Documentation/ABI/testing/sysfs-class-net-batman-adv
  F:    Documentation/ABI/testing/sysfs-class-net-mesh
  F:    Documentation/networking/batman-adv.txt
 +F:    include/uapi/linux/batman_adv.h
  F:    net/batman-adv/
  
  BAYCOM/HDLCDRV DRIVERS FOR AX.25
@@@ -2353,10 -2321,7 +2353,10 @@@ S:    Supporte
  F:    drivers/media/platform/sti/bdisp
  
  BEFS FILE SYSTEM
 -S:    Orphan
 +M:    Luis de Bethencourt <luisbg@osg.samsung.com>
 +M:    Salah Triki <salah.triki@gmail.com>
 +S:    Maintained
 +T:    git git://github.com/luisbg/linux-befs.git
  F:    Documentation/filesystems/befs.txt
  F:    fs/befs/
  
@@@ -2494,14 -2459,6 +2494,14 @@@ L:    netdev@vger.kernel.or
  S:    Supported
  F:    drivers/net/ethernet/broadcom/b44.*
  
 +BROADCOM B53 ETHERNET SWITCH DRIVER
 +M:    Florian Fainelli <f.fainelli@gmail.com>
 +L:    netdev@vger.kernel.org
 +L:    openwrt-devel@lists.openwrt.org (subscribers-only)
 +S:    Supported
 +F:    drivers/net/dsa/b53/*
 +F:    include/linux/platform_data/b53.h
 +
  BROADCOM GENET ETHERNET DRIVER
  M:    Florian Fainelli <f.fainelli@gmail.com>
  L:    netdev@vger.kernel.org
@@@ -2526,14 -2483,17 +2526,14 @@@ BROADCOM BCM281XX/BCM11XXX/BCM216XX AR
  M:    Florian Fainelli <f.fainelli@gmail.com>
  M:    Ray Jui <rjui@broadcom.com>
  M:    Scott Branden <sbranden@broadcom.com>
 -L:    bcm-kernel-feedback-list@broadcom.com
 +M:    bcm-kernel-feedback-list@broadcom.com
  T:    git git://github.com/broadcom/mach-bcm
  S:    Maintained
 +N:    bcm281*
 +N:    bcm113*
 +N:    bcm216*
 +N:    kona
  F:    arch/arm/mach-bcm/
 -F:    arch/arm/boot/dts/bcm113*
 -F:    arch/arm/boot/dts/bcm216*
 -F:    arch/arm/boot/dts/bcm281*
 -F:    arch/arm64/boot/dts/broadcom/
 -F:    arch/arm/configs/bcm_defconfig
 -F:    drivers/mmc/host/sdhci-bcm-kona.c
 -F:    drivers/clocksource/bcm_kona_timer.c
  
  BROADCOM BCM2835 ARM ARCHITECTURE
  M:    Stephen Warren <swarren@wwwdotorg.org>
@@@ -2556,21 -2516,20 +2556,21 @@@ F:   arch/mips/include/asm/mach-bcm47xx/
  
  BROADCOM BCM5301X ARM ARCHITECTURE
  M:    Hauke Mehrtens <hauke@hauke-m.de>
 +M:    Rafał Miłecki <zajec5@gmail.com>
 +M:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
  F:    arch/arm/mach-bcm/bcm_5301x.c
 -F:    arch/arm/boot/dts/bcm5301x.dtsi
 +F:    arch/arm/boot/dts/bcm5301x*.dtsi
  F:    arch/arm/boot/dts/bcm470*
  
  BROADCOM BCM63XX ARM ARCHITECTURE
  M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -L:    bcm-kernel-feedback-list@broadcom.com
  T:    git git://github.com/broadcom/stblinux.git
  S:    Maintained
 -F:    arch/arm/mach-bcm/bcm63xx.c
 -F:    arch/arm/include/debug/bcm63xx.S
 +N:    bcm63xx
  
  BROADCOM BCM63XX/BCM33XX UDC DRIVER
  M:    Kevin Cernekee <cernekee@gmail.com>
@@@ -2582,8 -2541,8 +2582,8 @@@ BROADCOM BCM7XXX ARM ARCHITECTUR
  M:    Brian Norris <computersforpeace@gmail.com>
  M:    Gregory Fong <gregory.0xf0@gmail.com>
  M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -L:    bcm-kernel-feedback-list@broadcom.com
  T:    git git://github.com/broadcom/stblinux.git
  S:    Maintained
  F:    arch/arm/mach-bcm/*brcmstb*
@@@ -2616,11 -2575,12 +2616,11 @@@ S:   Supporte
  F:    drivers/net/ethernet/broadcom/tg3.*
  
  BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER
 -M:    Brett Rudley <brudley@broadcom.com>
 -M:    Arend van Spriel <arend@broadcom.com>
 -M:    Franky (Zhenhui) Lin <frankyl@broadcom.com>
 -M:    Hante Meuleman <meuleman@broadcom.com>
 +M:    Arend van Spriel <arend.vanspriel@broadcom.com>
 +M:    Franky Lin <franky.lin@broadcom.com>
 +M:    Hante Meuleman <hante.meuleman@broadcom.com>
  L:    linux-wireless@vger.kernel.org
 -L:    brcm80211-dev-list@broadcom.com
 +L:    brcm80211-dev-list.pdl@broadcom.com
  S:    Supported
  F:    drivers/net/wireless/broadcom/brcm80211/
  
@@@ -2640,13 -2600,13 +2640,13 @@@ BROADCOM IPROC ARM ARCHITECTUR
  M:    Ray Jui <rjui@broadcom.com>
  M:    Scott Branden <sbranden@broadcom.com>
  M:    Jon Mason <jonmason@broadcom.com>
 +M:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -L:    bcm-kernel-feedback-list@broadcom.com
  T:    git git://github.com/broadcom/cygnus-linux.git
  S:    Maintained
  N:    iproc
  N:    cygnus
 -N:    nsp
 +N:    bcm[-_]nsp
  N:    bcm9113*
  N:    bcm9583*
  N:    bcm9585*
@@@ -2657,9 -2617,6 +2657,9 @@@ N:      bcm583
  N:    bcm585*
  N:    bcm586*
  N:    bcm88312
 +F:    arch/arm64/boot/dts/broadcom/ns2*
 +F:    drivers/clk/bcm/clk-ns*
 +F:    drivers/pinctrl/bcm/pinctrl-ns*
  
  BROADCOM BRCMSTB GPIO DRIVER
  M:    Gregory Fong <gregory.0xf0@gmail.com>
@@@ -2704,8 -2661,8 +2704,8 @@@ F:      drivers/net/ethernet/broadcom/bcmsys
  
  BROADCOM VULCAN ARM64 SOC
  M:    Jayachandran C. <jchandra@broadcom.com>
 +M:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -L:    bcm-kernel-feedback-list@broadcom.com
  S:    Maintained
  F:    arch/arm64/boot/dts/broadcom/vulcan*
  
@@@ -2855,7 -2812,6 +2855,7 @@@ W:      https://github.com/linux-ca
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/net/can/
  F:    drivers/net/can/
  F:    include/linux/can/dev.h
  F:    include/linux/can/platform/
@@@ -2863,7 -2819,7 +2863,7 @@@ F:      include/uapi/linux/can/error.
  F:    include/uapi/linux/can/netlink.h
  
  CAPABILITIES
 -M:    Serge Hallyn <serge.hallyn@canonical.com>
 +M:    Serge Hallyn <serge@hallyn.com>
  L:    linux-security-module@vger.kernel.org
  S:    Supported
  F:    include/linux/capability.h
@@@ -2895,22 -2851,6 +2895,22 @@@ F:    drivers/net/ieee802154/cc2520.
  F:    include/linux/spi/cc2520.h
  F:    Documentation/devicetree/bindings/net/ieee802154/cc2520.txt
  
 +CEC DRIVER
 +M:    Hans Verkuil <hans.verkuil@cisco.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +W:    http://linuxtv.org
 +S:    Supported
 +F:    Documentation/cec.txt
 +F:    Documentation/DocBook/media/v4l/cec*
 +F:    drivers/staging/media/cec/
 +F:    drivers/media/cec-edid.c
 +F:    drivers/media/rc/keymaps/rc-cec.c
 +F:    include/media/cec.h
 +F:    include/media/cec-edid.h
 +F:    include/linux/cec.h
 +F:    include/linux/cec-funcs.h
 +
  CELL BROADBAND ENGINE ARCHITECTURE
  M:    Arnd Bergmann <arnd@arndb.de>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -3219,7 -3159,7 +3219,7 @@@ M:      Johannes Weiner <hannes@cmpxchg.org
  L:    cgroups@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
  S:    Maintained
 -F:    Documentation/cgroups/
 +F:    Documentation/cgroup*
  F:    include/linux/cgroup*
  F:    kernel/cgroup*
  
@@@ -3230,7 -3170,7 +3230,7 @@@ W:      http://www.bullopensource.org/cpuset
  W:    http://oss.sgi.com/projects/cpusets/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
  S:    Maintained
 -F:    Documentation/cgroups/cpusets.txt
 +F:    Documentation/cgroup-v1/cpusets.txt
  F:    include/linux/cpuset.h
  F:    kernel/cpuset.c
  
@@@ -3347,7 -3287,6 +3347,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git
  S:    Maintained
  F:    Documentation/crypto/
 +F:    Documentation/devicetree/bindings/crypto/
  F:    Documentation/DocBook/crypto-API.tmpl
  F:    arch/*/crypto/
  F:    crypto/
@@@ -3494,7 -3433,6 +3494,7 @@@ F:      Documentation/ABI/testing/sysfs-clas
  CXLFLASH (IBM Coherent Accelerator Processor Interface CAPI Flash) SCSI DRIVER
  M:    Manoj N. Kumar <manoj@linux.vnet.ibm.com>
  M:    Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
 +M:    Uma Krishnan <ukrishn@linux.vnet.ibm.com>
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    drivers/scsi/cxlflash/
@@@ -3739,8 -3677,6 +3739,8 @@@ M:      Support Opensource <support.opensour
  W:    http://www.dialog-semiconductor.com/products
  S:    Supported
  F:    Documentation/hwmon/da90??
 +F:    Documentation/devicetree/bindings/mfd/da90*.txt
 +F:    Documentation/devicetree/bindings/regulator/da92*.txt
  F:    Documentation/devicetree/bindings/sound/da[79]*.txt
  F:    drivers/gpio/gpio-da90??.c
  F:    drivers/hwmon/da90??-hwmon.c
@@@ -3761,10 -3697,8 +3761,10 @@@ F:    drivers/watchdog/da90??_wdt.
  F:    include/linux/mfd/da903x.h
  F:    include/linux/mfd/da9052/
  F:    include/linux/mfd/da9055/
 +F:    include/linux/mfd/da9062/
  F:    include/linux/mfd/da9063/
  F:    include/linux/mfd/da9150/
 +F:    include/linux/regulator/da9211.h
  F:    include/sound/da[79]*.h
  F:    sound/soc/codecs/da[79]*.[ch]
  
@@@ -3840,17 -3774,6 +3840,17 @@@ F:    include/linux/*fence.
  F:    Documentation/dma-buf-sharing.txt
  T:    git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
  
 +SYNC FILE FRAMEWORK
 +M:    Sumit Semwal <sumit.semwal@linaro.org>
 +R:    Gustavo Padovan <gustavo@padovan.org>
 +S:    Maintained
 +L:    linux-media@vger.kernel.org
 +L:    dri-devel@lists.freedesktop.org
 +F:    drivers/dma-buf/sync_file.c
 +F:    include/linux/sync_file.h
 +F:    Documentation/sync_file.txt
 +T:    git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
 +
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
  M:    Vinod Koul <vinod.koul@intel.com>
  L:    dmaengine@vger.kernel.org
@@@ -3940,10 -3863,7 +3940,10 @@@ T:    git git://people.freedesktop.org/~ai
  S:    Maintained
  F:    drivers/gpu/drm/
  F:    drivers/gpu/vga/
 -F:    Documentation/DocBook/gpu.*
 +F:    Documentation/devicetree/bindings/display/
 +F:    Documentation/devicetree/bindings/gpu/
 +F:    Documentation/devicetree/bindings/video/
 +F:    Documentation/gpu/
  F:    include/drm/
  F:    include/uapi/drm/
  
@@@ -3995,7 -3915,6 +3995,7 @@@ S:      Supporte
  F:    drivers/gpu/drm/i915/
  F:    include/drm/i915*
  F:    include/uapi/drm/i915_drm.h
 +F:    Documentation/gpu/i915.rst
  
  DRM DRIVERS FOR ATMEL HLCDC
  M:    Boris Brezillon <boris.brezillon@free-electrons.com>
@@@ -4191,21 -4110,6 +4191,21 @@@ F:    drivers/gpu/drm/vc4
  F:    include/uapi/drm/vc4_drm.h
  F:    Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
  
 +DRM DRIVERS FOR TI OMAP
 +M:    Tomi Valkeinen <tomi.valkeinen@ti.com>
 +L:    dri-devel@lists.freedesktop.org
 +S:    Maintained
 +F:    drivers/gpu/drm/omapdrm/
 +F:    Documentation/devicetree/bindings/display/ti/
 +
 +DRM DRIVERS FOR TI LCDC
 +M:    Jyri Sarha <jsarha@ti.com>
 +R:    Tomi Valkeinen <tomi.valkeinen@ti.com>
 +L:    dri-devel@lists.freedesktop.org
 +S:    Maintained
 +F:    drivers/gpu/drm/tilcdc/
 +F:    Documentation/devicetree/bindings/display/tilcdc/
 +
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <klimov.linux@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -4760,7 -4664,7 +4760,7 @@@ S:      Maintaine
  F:    drivers/staging/fbtft/
  
  FCOE SUBSYSTEM (libfc, libfcoe, fcoe)
 -M:    Vasu Dev <vasu.dev@intel.com>
 +M:    Johannes Thumshirn <jth@kernel.org>
  L:    fcoe-devel@open-fcoe.org
  W:    www.Open-FCoE.org
  S:    Supported
@@@ -4982,13 -4886,6 +4982,13 @@@ F:    drivers/net/ethernet/freescale/gianf
  X:    drivers/net/ethernet/freescale/gianfar_ptp.c
  F:    Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
  
 +FREESCALE QUICC ENGINE UCC HDLC DRIVER
 +M:    Zhao Qiang <qiang.zhao@nxp.com>
 +L:    netdev@vger.kernel.org
 +L:    linuxppc-dev@lists.ozlabs.org
 +S:    Maintained
 +F:    drivers/net/wan/fsl_ucc_hdlc*
 +
  FREESCALE QUICC ENGINE UCC UART DRIVER
  M:    Timur Tabi <timur@tabi.org>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -5044,13 -4941,6 +5044,13 @@@ F:    Documentation/filesystems/caching
  F:    fs/fscache/
  F:    include/linux/fscache*.h
  
 +FS-CRYPTO: FILE SYSTEM LEVEL ENCRYPTION SUPPORT
 +M:    Theodore Y. Ts'o <tytso@mit.edu>
 +M:    Jaegeuk Kim <jaegeuk@kernel.org>
 +S:    Supported
 +F:    fs/crypto/
 +F:    include/linux/fscrypto.h
 +
  F2FS FILE SYSTEM
  M:    Jaegeuk Kim <jaegeuk@kernel.org>
  M:    Changman Lee <cm224.lee@samsung.com>
@@@ -5105,15 -4995,6 +5105,15 @@@ L:    linux-scsi@vger.kernel.or
  S:    Odd Fixes (e.g., new signatures)
  F:    drivers/scsi/fdomain.*
  
 +GCC PLUGINS
 +M:    Kees Cook <keescook@chromium.org>
 +R:    Emese Revfy <re.emese@gmail.com>
 +L:    kernel-hardening@lists.openwall.com
 +S:    Maintained
 +F:    scripts/gcc-plugins/
 +F:    scripts/gcc-plugin.sh
 +F:    Documentation/gcc-plugins.txt
 +
  GCOV BASED KERNEL PROFILING
  M:    Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
  S:    Maintained
@@@ -5288,10 -5169,10 +5288,10 @@@ S:   Maintaine
  F:    drivers/media/usb/gspca/m5602/
  
  GSPCA PAC207 SONIXB SUBDRIVER
 -M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/media/usb/gspca/pac207.c
  
  GSPCA SN9C20X SUBDRIVER
@@@ -5309,10 -5190,10 +5309,10 @@@ S:   Maintaine
  F:    drivers/media/usb/gspca/t613.c
  
  GSPCA USB WEBCAM DRIVER
 -M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/media/usb/gspca/
  
  GUID PARTITION TABLE (GPT)
@@@ -5393,7 -5274,6 +5393,7 @@@ M:      Matt Mackall <mpm@selenic.com
  M:    Herbert Xu <herbert@gondor.apana.org.au>
  L:    linux-crypto@vger.kernel.org
  S:    Odd fixes
 +F:    Documentation/devicetree/bindings/rng/
  F:    Documentation/hw_random.txt
  F:    drivers/char/hw_random/
  F:    include/linux/hw_random.h
@@@ -5404,9 -5284,8 +5404,9 @@@ M:      Bjorn Andersson <bjorn.andersson@lin
  L:    linux-remoteproc@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock.git
 +F:    Documentation/devicetree/bindings/hwlock/
  F:    Documentation/hwspinlock.txt
 -F:    drivers/hwspinlock/hwspinlock_*
 +F:    drivers/hwspinlock/
  F:    include/linux/hwspinlock.h
  
  HARMONY SOUND DRIVER
@@@ -5424,12 -5303,6 +5424,12 @@@ T:    git git://linuxtv.org/anttip/media_t
  S:    Maintained
  F:    drivers/media/dvb-frontends/hd29l2*
  
 +HEWLETT PACKARD ENTERPRISE ILO NMI WATCHDOG DRIVER
 +M:    Brian Boylston <brian.boylston@hpe.com>
 +S:    Supported
 +F:    Documentation/watchdog/hpwdt.txt
 +F:    drivers/watchdog/hpwdt.c
 +
  HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa)
  M:    Don Brace <don.brace@microsemi.com>
  L:    iss_storagedev@hp.com
@@@ -5548,15 -5421,6 +5548,15 @@@ F:    include/uapi/linux/if_hippi.
  F:    net/802/hippi.c
  F:    drivers/net/hippi/
  
 +HISILICON NETWORK SUBSYSTEM DRIVER
 +M:    Yisen Zhuang <yisen.zhuang@huawei.com>
 +M:    Salil Mehta <salil.mehta@huawei.com>
 +L:    netdev@vger.kernel.org
 +W:    http://www.hisilicon.com
 +S:    Maintained
 +F:    drivers/net/ethernet/hisilicon/
 +F:    Documentation/devicetree/bindings/net/hisilicon*.txt
 +
  HISILICON SAS Controller
  M:    John Garry <john.garry@huawei.com>
  W:    http://www.hisilicon.com
@@@ -5832,15 -5696,7 +5832,15 @@@ M:    Tyrel Datwyler <tyreld@linux.vnet.ib
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    drivers/scsi/ibmvscsi/ibmvscsi*
 -F:    drivers/scsi/ibmvscsi/viosrp.h
 +F:    include/scsi/viosrp.h
 +
 +IBM Power Virtual SCSI Device Target Driver
 +M:    Bryant G. Ly <bryantly@linux.vnet.ibm.com>
 +M:    Michael Cyr <mikecyr@linux.vnet.ibm.com>
 +L:    linux-scsi@vger.kernel.org
 +L:    target-devel@vger.kernel.org
 +S:    Supported
 +F:    drivers/scsi/ibmvscsi_tgt/
  
  IBM Power Virtual FC Device Drivers
  M:    Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
@@@ -5932,9 -5788,7 +5932,9 @@@ R:      Hartmut Knaack <knaack.h@gmx.de
  R:    Lars-Peter Clausen <lars@metafoo.de>
  R:    Peter Meerwald-Stadler <pmeerw@pmeerw.net>
  L:    linux-iio@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/
  F:    drivers/iio/
  F:    drivers/staging/iio/
  F:    include/linux/iio/
@@@ -6064,12 -5918,6 +6064,12 @@@ L:    platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/intel-hid.c
  
 +INTEL VIRTUAL BUTTON DRIVER
 +M:    AceLan Kao <acelan.kao@canonical.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/intel-vbtn.c
 +
  INTEL IDLE DRIVER
  M:    Len Brown <lenb@kernel.org>
  L:    linux-pm@vger.kernel.org
@@@ -6172,12 -6020,6 +6172,12 @@@ L:     linux-rdma@vger.kernel.or
  S:     Supported
  F:     drivers/infiniband/hw/i40iw/
  
 +INTEL MERRIFIELD GPIO DRIVER
 +M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +L:    linux-gpio@vger.kernel.org
 +S:    Maintained
 +F:    drivers/gpio/gpio-merrifield.c
 +
  INTEL-MID GPIO DRIVER
  M:    David Cohen <david.a.cohen@linux.intel.com>
  L:    linux-gpio@vger.kernel.org
@@@ -6302,7 -6144,6 +6302,7 @@@ M:      Joerg Roedel <joro@8bytes.org
  L:    iommu@lists.linux-foundation.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/iommu/
  F:    drivers/iommu/
  
  IP MASQUERADING
@@@ -6393,6 -6234,7 +6393,6 @@@ F:      Documentation/devicetree/bindings/in
  F:    drivers/irqchip/
  
  IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
 -M:    Jiang Liu <jiang.liu@linux.intel.com>
  M:    Marc Zyngier <marc.zyngier@arm.com>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
@@@ -6869,7 -6711,6 +6869,7 @@@ M:      Jacek Anaszewski <j.anaszewski@samsu
  L:    linux-leds@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/leds/
  F:    drivers/leds/
  F:    include/linux/leds.h
  
@@@ -6925,7 -6766,6 +6925,7 @@@ S:      Maintaine
  F:    drivers/ata/
  F:    include/linux/ata.h
  F:    include/linux/libata.h
 +F:    Documentation/devicetree/bindings/ata/
  
  LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
  M:    Viresh Kumar <vireshk@kernel.org>
@@@ -7033,7 -6873,6 +7033,7 @@@ F:      drivers/crypto/nx
  F:    drivers/crypto/vmx/
  F:    drivers/net/ethernet/ibm/ibmveth.*
  F:    drivers/net/ethernet/ibm/ibmvnic.*
 +F:    drivers/pci/hotplug/pnv_php.c
  F:    drivers/pci/hotplug/rpa*
  F:    drivers/scsi/ibmvscsi/
  N:    opal
@@@ -7131,7 -6970,7 +7131,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  LINUX KERNEL DUMP TEST MODULE (LKDTM)
  M:    Kees Cook <keescook@chromium.org>
  S:    Maintained
 -F:    drivers/misc/lkdtm.c
 +F:    drivers/misc/lkdtm*
  
  LLC (802.2)
  M:    Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
@@@ -7184,23 -7023,15 +7184,23 @@@ Q:   http://patchwork.linuxtv.org/project
  S:    Maintained
  F:    drivers/media/usb/dvb-usb-v2/lmedm04*
  
 -LOCKDEP AND LOCKSTAT
 +LOCKING PRIMITIVES
  M:    Peter Zijlstra <peterz@infradead.org>
  M:    Ingo Molnar <mingo@redhat.com>
  L:    linux-kernel@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/locking
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
  S:    Maintained
 -F:    Documentation/locking/lockdep*.txt
 -F:    Documentation/locking/lockstat.txt
 +F:    Documentation/locking/
  F:    include/linux/lockdep.h
 +F:    include/linux/spinlock*.h
 +F:    arch/*/include/asm/spinlock*.h
 +F:    include/linux/rwlock*.h
 +F:    include/linux/mutex*.h
 +F:    arch/*/include/asm/mutex*.h
 +F:    include/linux/rwsem*.h
 +F:    arch/*/include/asm/rwsem.h
 +F:    include/linux/seqlock.h
 +F:    lib/locking*.[ch]
  F:    kernel/locking/
  
  LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks)
@@@ -7341,12 -7172,6 +7341,12 @@@ W:    http://www.kernel.org/doc/man-page
  L:    linux-man@vger.kernel.org
  S:    Maintained
  
 +MARVELL 88E6XXX ETHERNET SWITCH FABRIC DRIVER
 +M:    Andrew Lunn <andrew@lunn.ch>
 +M:    Vivien Didelot <vivien.didelot@savoirfairelinux.com>
 +S:    Maintained
 +F:    drivers/net/dsa/mv88e6xxx/
 +
  MARVELL ARMADA DRM SUPPORT
  M:    Russell King <rmk+kernel@armlinux.org.uk>
  S:    Maintained
@@@ -7354,6 -7179,11 +7354,6 @@@ F:     drivers/gpu/drm/armada
  F:    include/uapi/drm/armada_drm.h
  F:    Documentation/devicetree/bindings/display/armada/
  
 -MARVELL 88E6352 DSA support
 -M:    Guenter Roeck <linux@roeck-us.net>
 -S:    Maintained
 -F:    drivers/net/dsa/mv88e6352.c
 -
  MARVELL CRYPTO DRIVER
  M:    Boris Brezillon <boris.brezillon@free-electrons.com>
  M:    Arnaud Ebalard <arno@natisbad.org>
@@@ -7440,13 -7270,6 +7440,13 @@@ F:    Documentation/devicetree/bindings/i2
  F:    drivers/hwmon/max6697.c
  F:    include/linux/platform_data/max6697.h
  
 +MAX9860 MONO AUDIO VOICE CODEC DRIVER
 +M:    Peter Rosin <peda@axentia.se>
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/max9860.txt
 +F:    sound/soc/codecs/max9860.*
 +
  MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
  M:    Krzysztof Kozlowski <k.kozlowski@samsung.com>
  L:    linux-pm@vger.kernel.org
@@@ -7496,16 -7319,6 +7496,16 @@@ L:    linux-iio@vger.kernel.or
  S:    Maintained
  F:    drivers/iio/potentiometer/mcp4531.c
  
 +MEDIA DRIVERS FOR RENESAS - FCP
 +M:    Laurent Pinchart <laurent.pinchart@ideasonboard.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,fcp.txt
 +F:    drivers/media/platform/rcar-fcp.c
 +F:    include/media/rcar-fcp.h
 +
  MEDIA DRIVERS FOR RENESAS - VSP1
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
@@@ -7515,18 -7328,8 +7515,18 @@@ S:    Supporte
  F:    Documentation/devicetree/bindings/media/renesas,vsp1.txt
  F:    drivers/media/platform/vsp1/
  
 +MEDIA DRIVERS FOR HELENE
 +M:    Abylay Ospan <aospan@netup.ru>
 +L:    linux-media@vger.kernel.org
 +W:    https://linuxtv.org
 +W:    http://netup.tv/
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Supported
 +F:    drivers/media/dvb-frontends/helene*
 +
  MEDIA DRIVERS FOR ASCOT2E
  M:    Sergey Kozlov <serjk@netup.ru>
 +M:    Abylay Ospan <aospan@netup.ru>
  L:    linux-media@vger.kernel.org
  W:    https://linuxtv.org
  W:    http://netup.tv/
@@@ -7536,7 -7339,6 +7536,7 @@@ F:      drivers/media/dvb-frontends/ascot2e
  
  MEDIA DRIVERS FOR CXD2841ER
  M:    Sergey Kozlov <serjk@netup.ru>
 +M:    Abylay Ospan <aospan@netup.ru>
  L:    linux-media@vger.kernel.org
  W:    https://linuxtv.org
  W:    http://netup.tv/
@@@ -7546,7 -7348,6 +7546,7 @@@ F:      drivers/media/dvb-frontends/cxd2841e
  
  MEDIA DRIVERS FOR HORUS3A
  M:    Sergey Kozlov <serjk@netup.ru>
 +M:    Abylay Ospan <aospan@netup.ru>
  L:    linux-media@vger.kernel.org
  W:    https://linuxtv.org
  W:    http://netup.tv/
@@@ -7556,7 -7357,6 +7556,7 @@@ F:      drivers/media/dvb-frontends/horus3a
  
  MEDIA DRIVERS FOR LNBH25
  M:    Sergey Kozlov <serjk@netup.ru>
 +M:    Abylay Ospan <aospan@netup.ru>
  L:    linux-media@vger.kernel.org
  W:    https://linuxtv.org
  W:    http://netup.tv/
@@@ -7566,7 -7366,6 +7566,7 @@@ F:      drivers/media/dvb-frontends/lnbh25
  
  MEDIA DRIVERS FOR NETUP PCI UNIVERSAL DVB devices
  M:    Sergey Kozlov <serjk@netup.ru>
 +M:    Abylay Ospan <aospan@netup.ru>
  L:    linux-media@vger.kernel.org
  W:    https://linuxtv.org
  W:    http://netup.tv/
@@@ -7648,15 -7447,6 +7648,15 @@@ W:    http://www.mellanox.co
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/mellanox/mlxsw/
  
 +SOFT-ROCE DRIVER (rxe)
 +M:    Moni Shoua <monis@mellanox.com>
 +L:    linux-rdma@vger.kernel.org
 +S:    Supported
 +W:    https://github.com/SoftRoCE/rxe-dev/wiki/rxe-dev:-Home
 +Q:    http://patchwork.kernel.org/project/linux-rdma/list/
 +F:    drivers/infiniband/hw/rxe/
 +F:    include/uapi/rdma/rdma_user_rxe.h
 +
  MEMBARRIER SUPPORT
  M:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
@@@ -7825,8 -7615,10 +7825,8 @@@ L:     linux-media@vger.kernel.or
  W:    https://linuxtv.org
  W:    http://palosaari.fi/linux/
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 -T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
 -F:    drivers/staging/media/mn88472/
 -F:    drivers/media/dvb-frontends/mn88472.h
 +F:    drivers/media/dvb-frontends/mn88472*
  
  MN88473 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
@@@ -7952,7 -7744,6 +7952,7 @@@ M:      Ulf Hansson <ulf.hansson@linaro.org
  L:    linux-mmc@vger.kernel.org
  T:    git git://git.linaro.org/people/ulf.hansson/mmc.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/mmc/
  F:    drivers/mmc/
  F:    include/linux/mmc/
  F:    include/uapi/linux/mmc/
@@@ -8292,9 -8083,8 +8292,9 @@@ T:      git git://github.com/konis/nilfs2.gi
  S:    Supported
  F:    Documentation/filesystems/nilfs2.txt
  F:    fs/nilfs2/
 -F:    include/linux/nilfs2_fs.h
  F:    include/trace/events/nilfs2.h
 +F:    include/uapi/linux/nilfs2_api.h
 +F:    include/uapi/linux/nilfs2_ondisk.h
  
  NINJA SCSI-3 / NINJA SCSI-32Bi (16bit/CardBus) PCMCIA SCSI HOST ADAPTER DRIVER
  M:    YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>
@@@ -8341,7 -8131,6 +8341,7 @@@ F:      drivers/ntb
  F:    drivers/net/ntb_netdev.c
  F:    include/linux/ntb.h
  F:    include/linux/ntb_transport.h
 +F:    tools/testing/selftests/ntb/
  
  NTB INTEL DRIVER
  M:    Jon Mason <jdmason@kudzu.us>
@@@ -8384,13 -8173,6 +8384,13 @@@ S:    Supporte
  F:    drivers/nvme/host/
  F:    include/linux/nvme.h
  
 +NVM EXPRESS TARGET DRIVER
 +M:    Christoph Hellwig <hch@lst.de>
 +M:    Sagi Grimberg <sagi@grimberg.me>
 +L:    linux-nvme@lists.infradead.org
 +S:    Supported
 +F:    drivers/nvme/target/
 +
  NVMEM FRAMEWORK
  M:    Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  M:    Maxime Ripard <maxime.ripard@free-electrons.com>
@@@ -8913,7 -8695,6 +8913,7 @@@ L:      linux-pci@vger.kernel.or
  Q:    http://patchwork.ozlabs.org/project/linux-pci/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
  S:    Supported
 +F:    Documentation/devicetree/bindings/pci/
  F:    Documentation/PCI/
  F:    drivers/pci/
  F:    include/linux/pci*
@@@ -8977,13 -8758,6 +8977,13 @@@ L:    linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    drivers/pci/host/*mvebu*
  
 +PCI DRIVER FOR AARDVARK (Marvell Armada 3700)
 +M:    Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 +L:    linux-pci@vger.kernel.org
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    drivers/pci/host/pci-aardvark.c
 +
  PCI DRIVER FOR NVIDIA TEGRA
  M:    Thierry Reding <thierry.reding@gmail.com>
  L:    linux-tegra@vger.kernel.org
@@@ -9066,15 -8840,6 +9066,15 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/pci/xgene-pci-msi.txt
  F:    drivers/pci/host/pci-xgene-msi.c
  
 +PCIE DRIVER FOR AXIS ARTPEC
 +M:    Niklas Cassel <niklas.cassel@axis.com>
 +M:    Jesper Nilsson <jesper.nilsson@axis.com>
 +L:    linux-arm-kernel@axis.com
 +L:    linux-pci@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/axis,artpec*
 +F:    drivers/pci/host/*artpec*
 +
  PCIE DRIVER FOR HISILICON
  M:    Zhou Wang <wangzhou1@hisilicon.com>
  M:    Gabriele Paoloni <gabriele.paoloni@huawei.com>
@@@ -9252,16 -9017,6 +9252,16 @@@ W:    http://www.st.com/spea
  S:    Maintained
  F:    drivers/pinctrl/spear/
  
 +PISTACHIO SOC SUPPORT
 +M:      James Hartley <james.hartley@imgtec.com>
 +M:      Ionela Voinescu <ionela.voinescu@imgtec.com>
 +L:      linux-mips@linux-mips.org
 +S:      Maintained
 +F:      arch/mips/pistachio/
 +F:      arch/mips/include/asm/mach-pistachio/
 +F:      arch/mips/boot/dts/pistachio/
 +F:      arch/mips/configs/pistachio*_defconfig
 +
  PKTCDVD DRIVER
  M:    Jiri Kosina <jikos@kernel.org>
  S:    Maintained
@@@ -9331,8 -9086,6 +9331,8 @@@ M:      David Woodhouse <dwmw2@infradead.org
  L:    linux-pm@vger.kernel.org
  T:    git git://git.infradead.org/battery-2.6.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/power/
 +F:    Documentation/devicetree/bindings/power_supply/
  F:    include/linux/power_supply.h
  F:    drivers/power/
  X:    drivers/power/avs/
@@@ -9346,12 -9099,6 +9346,12 @@@ F:    drivers/firmware/psci.
  F:    include/linux/psci.h
  F:    include/uapi/linux/psci.h
  
 +POWERNV OPERATOR PANEL LCD DISPLAY DRIVER
 +M:    Suraj Jitindar Singh <sjitindarsingh@gmail.com>
 +L:    linuxppc-dev@lists.ozlabs.org
 +S:    Maintained
 +F:    drivers/char/powernv-op-panel.c
 +
  PNP SUPPORT
  M:    "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
  S:    Maintained
@@@ -9476,13 -9223,6 +9476,13 @@@ F:    include/linux/tracehook.
  F:    include/uapi/linux/ptrace.h
  F:    kernel/ptrace.c
  
 +PULSE8-CEC DRIVER
 +M:    Hans Verkuil <hverkuil@xs4all.nl>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/staging/media/pulse8-cec
 +
  PVRUSB2 VIDEO4LINUX DRIVER
  M:    Mike Isely <isely@pobox.com>
  L:    pvrusb2@isely.net       (subscribers-only)
@@@ -9494,15 -9234,14 +9494,15 @@@ F:   Documentation/video4linux/README.pvr
  F:    drivers/media/usb/pvrusb2/
  
  PWC WEBCAM DRIVER
 -M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/media/usb/pwc/*
  
  PWM FAN DRIVER
 -M:    Kamil Debski <k.debski@samsung.com>
 +M:    Kamil Debski <kamil@wypas.org>
 +M:    Lukasz Majewski <l.majewski@samsung.com>
  L:    linux-hwmon@vger.kernel.org
  S:    Supported
  F:    Documentation/devicetree/bindings/hwmon/pwm-fan.txt
@@@ -9571,8 -9310,7 +9571,8 @@@ L:      rtc-linux@googlegroups.co
  S:    Maintained
  
  QAT DRIVER
 -M:    Tadeusz Struk <tadeusz.struk@intel.com>
 +M:    Giovanni Cabiddu <giovanni.cabiddu@intel.com>
 +M:    Salvatore Benedetto <salvatore.benedetto@intel.com>
  L:    qat-linux@intel.com
  S:    Supported
  F:    drivers/crypto/qat/
@@@ -9714,14 -9452,14 +9714,14 @@@ F:   drivers/video/fbdev/aty/radeon
  F:    include/uapi/linux/radeonfb.h
  
  RADIOSHARK RADIO DRIVER
 -M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
  S:    Maintained
  F:    drivers/media/radio/radio-shark.c
  
  RADIOSHARK2 RADIO DRIVER
 -M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
  S:    Maintained
@@@ -9795,7 -9533,7 +9795,7 @@@ M:      Florian Fainelli <florian@openwrt.or
  S:    Maintained
  
  RDC R6040 FAST ETHERNET DRIVER
 -M:    Florian Fainelli <florian@openwrt.org>
 +M:    Florian Fainelli <f.fainelli@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ethernet/rdc/r6040.c
@@@ -9840,14 -9578,10 +9840,14 @@@ L:   rtc-linux@googlegroups.co
  Q:    http://patchwork.ozlabs.org/project/rtc-linux/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/rtc/
  F:    Documentation/rtc.txt
  F:    drivers/rtc/
  F:    include/linux/rtc.h
  F:    include/uapi/linux/rtc.h
 +F:    include/linux/rtc/
 +F:    include/linux/platform_data/rtc-*
 +F:    tools/testing/selftests/timers/rtctest.c
  
  REALTEK AUDIO CODECS
  M:    Bard Liao <bardliao@realtek.com>
@@@ -9866,7 -9600,6 +9866,7 @@@ M:      Mark Brown <broonie@kernel.org
  L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git
  S:    Supported
 +F:    Documentation/devicetree/bindings/regmap/
  F:    drivers/base/regmap/
  F:    include/linux/regmap.h
  
@@@ -9876,9 -9609,8 +9876,9 @@@ M:      Bjorn Andersson <bjorn.andersson@lin
  L:    linux-remoteproc@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc.git
  S:    Maintained
 -F:    drivers/remoteproc/
 +F:    Documentation/devicetree/bindings/remoteproc/
  F:    Documentation/remoteproc.txt
 +F:    drivers/remoteproc/
  F:    include/linux/remoteproc.h
  
  REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM
@@@ -9952,6 -9684,7 +9952,6 @@@ F:      Documentation/ABI/*/sysfs-driver-hid
  
  ROCKER DRIVER
  M:    Jiri Pirko <jiri@resnulli.us>
 -M:    Scott Feldman <sfeldma@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/rocker/
@@@ -10163,9 -9896,7 +10163,9 @@@ S:    Maintaine
  F:    drivers/platform/x86/samsung-laptop.c
  
  SAMSUNG AUDIO (ASoC) DRIVERS
 +M:    Krzysztof Kozlowski <k.kozlowski@samsung.com>
  M:    Sangbeom Kim <sbkim73@samsung.com>
 +M:    Sylwester Nawrocki <s.nawrocki@samsung.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Supported
  F:    sound/soc/samsung/
@@@ -10254,8 -9985,7 +10254,8 @@@ T:    git https://github.com/lmajewski/lin
  F:    drivers/thermal/samsung/
  
  SAMSUNG USB2 PHY DRIVER
 -M:    Kamil Debski <k.debski@samsung.com>
 +M:    Kamil Debski <kamil@wypas.org>
 +M:    Sylwester Nawrocki <s.nawrocki@samsung.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  F:    Documentation/devicetree/bindings/phy/samsung-phy.txt
@@@ -10271,7 -10001,6 +10271,7 @@@ SERIAL DRIVER
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    linux-serial@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/serial/
  F:    drivers/tty/serial/
  
  SYNOPSYS DESIGNWARE DMAC DRIVER
@@@ -10408,7 -10137,6 +10408,7 @@@ M:   "Martin K. Petersen" <martin.peterse
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/scsi/
  F:    drivers/scsi/
  F:    include/scsi/
  
@@@ -10480,13 -10208,6 +10480,13 @@@ F: tools/testing/selftests/seccomp/
  K:    \bsecure_computing
  K:    \bTIF_SECCOMP\b
  
 +SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) Broadcom BRCMSTB DRIVER
 +M:    Al Cooper <alcooperx@gmail.com>
 +L:    linux-mmc@vger.kernel.org
 +L:    bcm-kernel-feedback-list@broadcom.com
 +S:    Maintained
 +F:    drivers/mmc/host/sdhci-brcmstb*
 +
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) SAMSUNG DRIVER
  M:    Ben Dooks <ben-linux@fluff.org>
  M:    Jaehoon Chung <jh80.chung@samsung.com>
@@@ -10560,9 -10281,10 +10560,9 @@@ W:  http://www.avagotech.co
  S:    Supported
  F:    drivers/scsi/be2iscsi/
  
 -Emulex 10Gbps NIC BE2, BE3-R, Lancer, Skyhawk-R DRIVER
 +Emulex 10Gbps NIC BE2, BE3-R, Lancer, Skyhawk-R DRIVER (be2net)
  M:    Sathya Perla <sathya.perla@broadcom.com>
  M:    Ajit Khaparde <ajit.khaparde@broadcom.com>
 -M:    Padmanabh Ratnakar <padmanabh.ratnakar@broadcom.com>
  M:    Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
  M:    Somnath Kotur <somnath.kotur@broadcom.com>
  L:    netdev@vger.kernel.org
@@@ -10828,7 -10550,7 +10828,7 @@@ SMACK SECURITY MODUL
  M:    Casey Schaufler <casey@schaufler-ca.com>
  L:    linux-security-module@vger.kernel.org
  W:    http://schaufler-ca.com
 -T:    git git://git.gitorious.org/smack-next/kernel.git
 +T:    git git://github.com/cschaufler/smack-next
  S:    Maintained
  F:    Documentation/security/Smack.txt
  F:    security/smack/
@@@ -11002,7 -10724,6 +11002,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  W:    http://alsa-project.org/main/index.php/ASoC
  S:    Supported
 +F:    Documentation/devicetree/bindings/sound/
  F:    Documentation/sound/alsa/soc/
  F:    sound/soc/
  F:    include/sound/soc*
@@@ -11078,7 -10799,6 +11078,7 @@@ L:   linux-spi@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git
  Q:    http://patchwork.kernel.org/project/spi-devel-general/list/
  S:    Maintained
 +F:    Documentation/devicetree/bindings/spi/
  F:    Documentation/spi/
  F:    drivers/spi/
  F:    include/linux/spi/
@@@ -11141,7 -10861,6 +11141,7 @@@ STAGING - INDUSTRIAL I
  M:    Jonathan Cameron <jic23@kernel.org>
  L:    linux-iio@vger.kernel.org
  S:    Odd Fixes
 +F:    Documentation/devicetree/bindings/staging/iio/
  F:    drivers/staging/iio/
  
  STAGING - LIRC (LINUX INFRARED REMOTE CONTROL) DRIVERS
@@@ -11596,6 -11315,11 +11596,6 @@@ F:  Documentation/thermal/cpu-cooling-ap
  F:    drivers/thermal/cpu_cooling.c
  F:    include/linux/cpu_cooling.h
  
 -THINGM BLINK(1) USB RGB LED DRIVER
 -M:    Vivien Didelot <vivien.didelot@savoirfairelinux.com>
 -S:    Maintained
 -F:    drivers/hid/hid-thingm.c
 -
  THINKPAD ACPI EXTRAS DRIVER
  M:    Henrique de Moraes Holschuh <ibm-acpi@hmh.eng.br>
  L:    ibm-acpi-devel@lists.sourceforge.net
@@@ -12046,12 -11770,6 +12046,12 @@@ S: Supporte
  F:    Documentation/scsi/ufs.txt
  F:    drivers/scsi/ufs/
  
 +UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER DWC HOOKS
 +M:    Joao Pinto <Joao.Pinto@synopsys.com>
 +L:    linux-scsi@vger.kernel.org
 +S:    Supported
 +F:    drivers/scsi/ufs/*dwc*
 +
  UNSORTED BLOCK IMAGES (UBI)
  M:    Artem Bityutskiy <dedekind1@gmail.com>
  M:    Richard Weinberger <richard@nod.at>
@@@ -12077,7 -11795,8 +12077,7 @@@ S:   Maintaine
  F:    drivers/net/wireless/ath/ar5523/
  
  USB ATTACHED SCSI
 -M:    Hans de Goede <hdegoede@redhat.com>
 -M:    Gerd Hoffmann <kraxel@redhat.com>
 +M:    Oliver Neukum <oneukum@suse.com>
  L:    linux-usb@vger.kernel.org
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
@@@ -12419,6 -12138,19 +12419,19 @@@ S: Maintaine
  F:    drivers/media/v4l2-core/videobuf2-*
  F:    include/media/videobuf2-*
  
+ VIRTIO AND VHOST VSOCK DRIVER
+ M:    Stefan Hajnoczi <stefanha@redhat.com>
+ L:    kvm@vger.kernel.org
+ L:    virtualization@lists.linux-foundation.org
+ L:    netdev@vger.kernel.org
+ S:    Maintained
+ F:    include/linux/virtio_vsock.h
+ F:    include/uapi/linux/virtio_vsock.h
+ F:    net/vmw_vsock/virtio_transport_common.c
+ F:    net/vmw_vsock/virtio_transport.c
+ F:    drivers/vhost/vsock.c
+ F:    drivers/vhost/vsock.h
  VIRTUAL SERIO DEVICE DRIVER
  M:    Stephen Chandler Paul <thatslyude@gmail.com>
  S:    Maintained
@@@ -12576,7 -12308,7 +12589,7 @@@ S:   Maintaine
  F:    drivers/net/vmxnet3/
  
  VMware PVSCSI driver
 -M:    Arvind Kumar <arvindkumar@vmware.com>
 +M:    Jim Gill <jgill@vmware.com>
  M:    VMware PV-Drivers <pv-drivers@vmware.com>
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
diff --combined drivers/Makefile
@@@ -12,7 -12,7 +12,7 @@@ obj-$(CONFIG_GENERIC_PHY)     += phy
  
  # GPIO must come after pinctrl as gpios may need to mux pins etc
  obj-$(CONFIG_PINCTRL)         += pinctrl/
 -obj-y                         += gpio/
 +obj-$(CONFIG_GPIOLIB)         += gpio/
  obj-y                         += pwm/
  obj-$(CONFIG_PCI)             += pci/
  obj-$(CONFIG_PARISC)          += parisc/
@@@ -78,7 -78,7 +78,7 @@@ obj-$(CONFIG_TARGET_CORE)     += target
  obj-$(CONFIG_MTD)             += mtd/
  obj-$(CONFIG_SPI)             += spi/
  obj-$(CONFIG_SPMI)            += spmi/
 -obj-y                         += hsi/
 +obj-$(CONFIG_HSI)             += hsi/
  obj-y                         += net/
  obj-$(CONFIG_ATM)             += atm/
  obj-$(CONFIG_FUSION)          += message/
@@@ -122,12 -122,13 +122,12 @@@ obj-$(CONFIG_CPU_FREQ)          += cpufreq
  obj-$(CONFIG_CPU_IDLE)                += cpuidle/
  obj-y                         += mmc/
  obj-$(CONFIG_MEMSTICK)                += memstick/
 -obj-y                         += leds/
 +obj-$(CONFIG_NEW_LEDS)                += leds/
  obj-$(CONFIG_INFINIBAND)      += infiniband/
  obj-$(CONFIG_SGI_SN)          += sn/
  obj-y                         += firmware/
  obj-$(CONFIG_CRYPTO)          += crypto/
  obj-$(CONFIG_SUPERH)          += sh/
 -obj-$(CONFIG_ARCH_SHMOBILE)   += sh/
  ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
  obj-y                         += clocksource/
  endif
@@@ -138,6 -139,7 +138,7 @@@ obj-$(CONFIG_OF)           += of
  obj-$(CONFIG_SSB)             += ssb/
  obj-$(CONFIG_BCMA)            += bcma/
  obj-$(CONFIG_VHOST_RING)      += vhost/
+ obj-$(CONFIG_VHOST)           += vhost/
  obj-$(CONFIG_VLYNQ)           += vlynq/
  obj-$(CONFIG_STAGING)         += staging/
  obj-y                         += platform/
diff --combined drivers/vhost/net.c
@@@ -61,7 -61,8 +61,8 @@@ MODULE_PARM_DESC(experimental_zcopytx, 
  enum {
        VHOST_NET_FEATURES = VHOST_FEATURES |
                         (1ULL << VHOST_NET_F_VIRTIO_NET_HDR) |
-                        (1ULL << VIRTIO_NET_F_MRG_RXBUF)
+                        (1ULL << VIRTIO_NET_F_MRG_RXBUF) |
+                        (1ULL << VIRTIO_F_IOMMU_PLATFORM)
  };
  
  enum {
@@@ -301,32 -302,6 +302,32 @@@ static bool vhost_can_busy_poll(struct 
               !vhost_has_work(dev);
  }
  
 +static void vhost_net_disable_vq(struct vhost_net *n,
 +                               struct vhost_virtqueue *vq)
 +{
 +      struct vhost_net_virtqueue *nvq =
 +              container_of(vq, struct vhost_net_virtqueue, vq);
 +      struct vhost_poll *poll = n->poll + (nvq - n->vqs);
 +      if (!vq->private_data)
 +              return;
 +      vhost_poll_stop(poll);
 +}
 +
 +static int vhost_net_enable_vq(struct vhost_net *n,
 +                              struct vhost_virtqueue *vq)
 +{
 +      struct vhost_net_virtqueue *nvq =
 +              container_of(vq, struct vhost_net_virtqueue, vq);
 +      struct vhost_poll *poll = n->poll + (nvq - n->vqs);
 +      struct socket *sock;
 +
 +      sock = vq->private_data;
 +      if (!sock)
 +              return 0;
 +
 +      return vhost_poll_start(poll, sock->file);
 +}
 +
  static int vhost_net_tx_get_vq_desc(struct vhost_net *net,
                                    struct vhost_virtqueue *vq,
                                    struct iovec iov[], unsigned int iov_size,
  {
        unsigned long uninitialized_var(endtime);
        int r = vhost_get_vq_desc(vq, vq->iov, ARRAY_SIZE(vq->iov),
-                                   out_num, in_num, NULL, NULL);
+                                 out_num, in_num, NULL, NULL);
  
        if (r == vq->num && vq->busyloop_timeout) {
                preempt_disable();
                        cpu_relax_lowlatency();
                preempt_enable();
                r = vhost_get_vq_desc(vq, vq->iov, ARRAY_SIZE(vq->iov),
-                                       out_num, in_num, NULL, NULL);
+                                     out_num, in_num, NULL, NULL);
        }
  
        return r;
@@@ -377,6 -352,9 +378,9 @@@ static void handle_tx(struct vhost_net 
        if (!sock)
                goto out;
  
+       if (!vq_iotlb_prefetch(vq))
+               goto out;
        vhost_disable_notify(&net->dev, vq);
  
        hdr_size = nvq->vhost_hlen;
@@@ -481,14 -459,10 +485,14 @@@ out
  
  static int peek_head_len(struct sock *sk)
  {
 +      struct socket *sock = sk->sk_socket;
        struct sk_buff *head;
        int len = 0;
        unsigned long flags;
  
 +      if (sock->ops->peek_len)
 +              return sock->ops->peek_len(sock);
 +
        spin_lock_irqsave(&sk->sk_receive_queue.lock, flags);
        head = skb_peek(&sk->sk_receive_queue);
        if (likely(head)) {
        return len;
  }
  
 +static int sk_has_rx_data(struct sock *sk)
 +{
 +      struct socket *sock = sk->sk_socket;
 +
 +      if (sock->ops->peek_len)
 +              return sock->ops->peek_len(sock);
 +
 +      return skb_queue_empty(&sk->sk_receive_queue);
 +}
 +
  static int vhost_net_rx_peek_head_len(struct vhost_net *net, struct sock *sk)
  {
        struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX];
                endtime = busy_clock() + vq->busyloop_timeout;
  
                while (vhost_can_busy_poll(&net->dev, endtime) &&
 -                     skb_queue_empty(&sk->sk_receive_queue) &&
 +                     !sk_has_rx_data(sk) &&
                       vhost_vq_avail_empty(&net->dev, vq))
                        cpu_relax_lowlatency();
  
@@@ -652,8 -616,11 +656,12 @@@ static void handle_rx(struct vhost_net 
        sock = vq->private_data;
        if (!sock)
                goto out;
+       if (!vq_iotlb_prefetch(vq))
+               goto out;
        vhost_disable_notify(&net->dev, vq);
 +      vhost_net_disable_vq(net, vq);
  
        vhost_hlen = nvq->vhost_hlen;
        sock_hlen = nvq->sock_hlen;
                                        likely(mergeable) ? UIO_MAXIOV : 1);
                /* On error, stop handling until the next kick. */
                if (unlikely(headcount < 0))
 -                      break;
 +                      goto out;
                /* On overrun, truncate and discard */
                if (unlikely(headcount > UIO_MAXIOV)) {
                        iov_iter_init(&msg.msg_iter, READ, vq->iov, 1, 1);
                        }
                        /* Nothing new?  Wait for eventfd to tell us
                         * they refilled. */
 -                      break;
 +                      goto out;
                }
                /* We don't need to be notified again. */
                iov_iter_init(&msg.msg_iter, READ, vq->iov, in, vhost_len);
                                         &fixup) != sizeof(hdr)) {
                                vq_err(vq, "Unable to write vnet_hdr "
                                       "at addr %p\n", vq->iov->iov_base);
 -                              break;
 +                              goto out;
                        }
                } else {
                        /* Header came from socket; we'll need to patch
                                 &fixup) != sizeof num_buffers) {
                        vq_err(vq, "Failed num_buffers write");
                        vhost_discard_vq_desc(vq, headcount);
 -                      break;
 +                      goto out;
                }
                vhost_add_used_and_signal_n(&net->dev, vq, vq->heads,
                                            headcount);
                total_len += vhost_len;
                if (unlikely(total_len >= VHOST_NET_WEIGHT)) {
                        vhost_poll_queue(&vq->poll);
 -                      break;
 +                      goto out;
                }
        }
 +      vhost_net_enable_vq(net, vq);
  out:
        mutex_unlock(&vq->mutex);
  }
@@@ -824,6 -790,32 +832,6 @@@ static int vhost_net_open(struct inode 
        return 0;
  }
  
 -static void vhost_net_disable_vq(struct vhost_net *n,
 -                               struct vhost_virtqueue *vq)
 -{
 -      struct vhost_net_virtqueue *nvq =
 -              container_of(vq, struct vhost_net_virtqueue, vq);
 -      struct vhost_poll *poll = n->poll + (nvq - n->vqs);
 -      if (!vq->private_data)
 -              return;
 -      vhost_poll_stop(poll);
 -}
 -
 -static int vhost_net_enable_vq(struct vhost_net *n,
 -                              struct vhost_virtqueue *vq)
 -{
 -      struct vhost_net_virtqueue *nvq =
 -              container_of(vq, struct vhost_net_virtqueue, vq);
 -      struct vhost_poll *poll = n->poll + (nvq - n->vqs);
 -      struct socket *sock;
 -
 -      sock = vq->private_data;
 -      if (!sock)
 -              return 0;
 -
 -      return vhost_poll_start(poll, sock->file);
 -}
 -
  static struct socket *vhost_net_stop_vq(struct vhost_net *n,
                                        struct vhost_virtqueue *vq)
  {
@@@ -1052,20 -1044,20 +1060,20 @@@ static long vhost_net_reset_owner(struc
        struct socket *tx_sock = NULL;
        struct socket *rx_sock = NULL;
        long err;
-       struct vhost_memory *memory;
+       struct vhost_umem *umem;
  
        mutex_lock(&n->dev.mutex);
        err = vhost_dev_check_owner(&n->dev);
        if (err)
                goto done;
-       memory = vhost_dev_reset_owner_prepare();
-       if (!memory) {
+       umem = vhost_dev_reset_owner_prepare();
+       if (!umem) {
                err = -ENOMEM;
                goto done;
        }
        vhost_net_stop(n, &tx_sock, &rx_sock);
        vhost_net_flush(n);
-       vhost_dev_reset_owner(&n->dev, memory);
+       vhost_dev_reset_owner(&n->dev, umem);
        vhost_net_vq_reset(n);
  done:
        mutex_unlock(&n->dev.mutex);
@@@ -1096,10 -1088,14 +1104,14 @@@ static int vhost_net_set_features(struc
        }
        mutex_lock(&n->dev.mutex);
        if ((features & (1 << VHOST_F_LOG_ALL)) &&
-           !vhost_log_access_ok(&n->dev)) {
-               mutex_unlock(&n->dev.mutex);
-               return -EFAULT;
+           !vhost_log_access_ok(&n->dev))
+               goto out_unlock;
+       if ((features & (1ULL << VIRTIO_F_IOMMU_PLATFORM))) {
+               if (vhost_init_device_iotlb(&n->dev, true))
+                       goto out_unlock;
        }
        for (i = 0; i < VHOST_NET_VQ_MAX; ++i) {
                mutex_lock(&n->vqs[i].vq.mutex);
                n->vqs[i].vq.acked_features = features;
        }
        mutex_unlock(&n->dev.mutex);
        return 0;
+ out_unlock:
+       mutex_unlock(&n->dev.mutex);
+       return -EFAULT;
  }
  
  static long vhost_net_set_owner(struct vhost_net *n)
@@@ -1182,9 -1182,40 +1198,40 @@@ static long vhost_net_compat_ioctl(stru
  }
  #endif
  
+ static ssize_t vhost_net_chr_read_iter(struct kiocb *iocb, struct iov_iter *to)
+ {
+       struct file *file = iocb->ki_filp;
+       struct vhost_net *n = file->private_data;
+       struct vhost_dev *dev = &n->dev;
+       int noblock = file->f_flags & O_NONBLOCK;
+       return vhost_chr_read_iter(dev, to, noblock);
+ }
+ static ssize_t vhost_net_chr_write_iter(struct kiocb *iocb,
+                                       struct iov_iter *from)
+ {
+       struct file *file = iocb->ki_filp;
+       struct vhost_net *n = file->private_data;
+       struct vhost_dev *dev = &n->dev;
+       return vhost_chr_write_iter(dev, from);
+ }
+ static unsigned int vhost_net_chr_poll(struct file *file, poll_table *wait)
+ {
+       struct vhost_net *n = file->private_data;
+       struct vhost_dev *dev = &n->dev;
+       return vhost_chr_poll(file, dev, wait);
+ }
  static const struct file_operations vhost_net_fops = {
        .owner          = THIS_MODULE,
        .release        = vhost_net_release,
+       .read_iter      = vhost_net_chr_read_iter,
+       .write_iter     = vhost_net_chr_write_iter,
+       .poll           = vhost_net_chr_poll,
        .unlocked_ioctl = vhost_net_ioctl,
  #ifdef CONFIG_COMPAT
        .compat_ioctl   = vhost_net_compat_ioctl,
@@@ -30,7 -30,6 +30,7 @@@
  #include <linux/oom.h>
  #include <linux/wait.h>
  #include <linux/mm.h>
 +#include <linux/mount.h>
  
  /*
   * Balloon device works in 4K page units.  So each page is pointed to by
@@@ -46,10 -45,6 +46,10 @@@ static int oom_pages = OOM_VBALLOON_DEF
  module_param(oom_pages, int, S_IRUSR | S_IWUSR);
  MODULE_PARM_DESC(oom_pages, "pages to free on OOM");
  
 +#ifdef CONFIG_BALLOON_COMPACTION
 +static struct vfsmount *balloon_mnt;
 +#endif
 +
  struct virtio_balloon {
        struct virtio_device *vdev;
        struct virtqueue *inflate_vq, *deflate_vq, *stats_vq;
@@@ -207,6 -202,8 +207,8 @@@ static unsigned leak_balloon(struct vir
        num = min(num, ARRAY_SIZE(vb->pfns));
  
        mutex_lock(&vb->balloon_lock);
+       /* We can't release more pages than taken */
+       num = min(num, (size_t)vb->num_pages);
        for (vb->num_pfns = 0; vb->num_pfns < num;
             vb->num_pfns += VIRTIO_BALLOON_PAGES_PER_PAGE) {
                page = balloon_page_dequeue(vb_dev_info);
@@@ -495,24 -492,6 +497,24 @@@ static int virtballoon_migratepage(stru
  
        return MIGRATEPAGE_SUCCESS;
  }
 +
 +static struct dentry *balloon_mount(struct file_system_type *fs_type,
 +              int flags, const char *dev_name, void *data)
 +{
 +      static const struct dentry_operations ops = {
 +              .d_dname = simple_dname,
 +      };
 +
 +      return mount_pseudo(fs_type, "balloon-kvm:", NULL, &ops,
 +                              BALLOON_KVM_MAGIC);
 +}
 +
 +static struct file_system_type balloon_fs = {
 +      .name           = "balloon-kvm",
 +      .mount          = balloon_mount,
 +      .kill_sb        = kill_anon_super,
 +};
 +
  #endif /* CONFIG_BALLOON_COMPACTION */
  
  static int virtballoon_probe(struct virtio_device *vdev)
        vb->vdev = vdev;
  
        balloon_devinfo_init(&vb->vb_dev_info);
 -#ifdef CONFIG_BALLOON_COMPACTION
 -      vb->vb_dev_info.migratepage = virtballoon_migratepage;
 -#endif
  
        err = init_vqs(vb);
        if (err)
        vb->nb.priority = VIRTBALLOON_OOM_NOTIFY_PRIORITY;
        err = register_oom_notifier(&vb->nb);
        if (err < 0)
 -              goto out_oom_notify;
 +              goto out_del_vqs;
 +
 +#ifdef CONFIG_BALLOON_COMPACTION
 +      balloon_mnt = kern_mount(&balloon_fs);
 +      if (IS_ERR(balloon_mnt)) {
 +              err = PTR_ERR(balloon_mnt);
 +              unregister_oom_notifier(&vb->nb);
 +              goto out_del_vqs;
 +      }
 +
 +      vb->vb_dev_info.migratepage = virtballoon_migratepage;
 +      vb->vb_dev_info.inode = alloc_anon_inode(balloon_mnt->mnt_sb);
 +      if (IS_ERR(vb->vb_dev_info.inode)) {
 +              err = PTR_ERR(vb->vb_dev_info.inode);
 +              kern_unmount(balloon_mnt);
 +              unregister_oom_notifier(&vb->nb);
 +              vb->vb_dev_info.inode = NULL;
 +              goto out_del_vqs;
 +      }
 +      vb->vb_dev_info.inode->i_mapping->a_ops = &balloon_aops;
 +#endif
  
        virtio_device_ready(vdev);
  
        return 0;
  
 -out_oom_notify:
 +out_del_vqs:
        vdev->config->del_vqs(vdev);
  out_free_vb:
        kfree(vb);
@@@ -611,8 -573,6 +613,8 @@@ static void virtballoon_remove(struct v
        cancel_work_sync(&vb->update_balloon_stats_work);
  
        remove_common(vb);
 +      if (vb->vb_dev_info.inode)
 +              iput(vb->vb_dev_info.inode);
        kfree(vb);
  }
  
@@@ -357,7 -357,6 +357,7 @@@ header-y += reiserfs_fs.
  header-y += reiserfs_xattr.h
  header-y += resource.h
  header-y += rfkill.h
 +header-y += rio_cm_cdev.h
  header-y += rio_mport_cdev.h
  header-y += romfs_fs.h
  header-y += rose.h
@@@ -454,9 -453,9 +454,10 @@@ header-y += virtio_ring.
  header-y += virtio_rng.h
  header-y += virtio_scsi.h
  header-y += virtio_types.h
+ header-y += virtio_vsock.h
  header-y += vm_sockets.h
  header-y += vt.h
 +header-y += vtpm_proxy.h
  header-y += wait.h
  header-y += wanrouter.h
  header-y += watchdog.h