Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 18 Sep 2019 19:34:53 +0000 (12:34 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 18 Sep 2019 19:34:53 +0000 (12:34 -0700)
Pull networking updates from David Miller:

 1) Support IPV6 RA Captive Portal Identifier, from Maciej Żenczykowski.

 2) Use bio_vec in the networking instead of custom skb_frag_t, from
    Matthew Wilcox.

 3) Make use of xmit_more in r8169 driver, from Heiner Kallweit.

 4) Add devmap_hash to xdp, from Toke Høiland-Jørgensen.

 5) Support all variants of 5750X bnxt_en chips, from Michael Chan.

 6) More RTNL avoidance work in the core and mlx5 driver, from Vlad
    Buslov.

 7) Add TCP syn cookies bpf helper, from Petar Penkov.

 8) Add 'nettest' to selftests and use it, from David Ahern.

 9) Add extack support to drop_monitor, add packet alert mode and
    support for HW drops, from Ido Schimmel.

10) Add VLAN offload to stmmac, from Jose Abreu.

11) Lots of devm_platform_ioremap_resource() conversions, from
    YueHaibing.

12) Add IONIC driver, from Shannon Nelson.

13) Several kTLS cleanups, from Jakub Kicinski.

* git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1930 commits)
  mlxsw: spectrum_buffers: Add the ability to query the CPU port's shared buffer
  mlxsw: spectrum: Register CPU port with devlink
  mlxsw: spectrum_buffers: Prevent changing CPU port's configuration
  net: ena: fix incorrect update of intr_delay_resolution
  net: ena: fix retrieval of nonadaptive interrupt moderation intervals
  net: ena: fix update of interrupt moderation register
  net: ena: remove all old adaptive rx interrupt moderation code from ena_com
  net: ena: remove ena_restore_ethtool_params() and relevant fields
  net: ena: remove old adaptive interrupt moderation code from ena_netdev
  net: ena: remove code duplication in ena_com_update_nonadaptive_moderation_interval _*()
  net: ena: enable the interrupt_moderation in driver_supported_features
  net: ena: reimplement set/get_coalesce()
  net: ena: switch to dim algorithm for rx adaptive interrupt moderation
  net: ena: add intr_moder_rx_interval to struct ena_com_dev and use it
  net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable
  ethtool: implement Energy Detect Powerdown support via phy-tunable
  xen-netfront: do not assume sk_buff_head list is empty in error handling
  s390/ctcm: Delete unnecessary checks before the macro call “dev_kfree_skb”
  net: ena: don't wake up tx queue when down
  drop_monitor: Better sanitize notified packets
  ...

17 files changed:
1  2 
.mailmap
Documentation/networking/device_drivers/index.rst
Documentation/networking/index.rst
MAINTAINERS
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
drivers/net/ethernet/Kconfig
drivers/net/ethernet/Makefile
drivers/net/phy/mdio_bus.c
drivers/pci/controller/pci-hyperv.c
drivers/staging/Kconfig
drivers/staging/Makefile
drivers/staging/octeon/ethernet.c
include/Kbuild
include/net/net_namespace.h
kernel/trace/Kconfig
net/core/pktgen.c

diff --combined .mailmap
index 62bf76cb9972f4b51845ee5c61399be3c58baef6,dfd7fedbf578280bb4a592d435a3b507819fa9c5..edcac87e76c8c7fe9020943bdce012f7e47dc962
+++ b/.mailmap
@@@ -47,8 -47,6 +47,8 @@@ Boris Brezillon <bbrezillon@kernel.org
  Boris Brezillon <bbrezillon@kernel.org> <b.brezillon@overkiz.com>
  Brian Avery <b.avery@hp.com>
  Brian King <brking@us.ibm.com>
 +Chao Yu <chao@kernel.org> <chao2.yu@samsung.com>
 +Chao Yu <chao@kernel.org> <yuchao0@huawei.com>
  Christoph Hellwig <hch@lst.de>
  Christophe Ricard <christophe.ricard@gmail.com>
  Corey Minyard <minyard@acm.org>
@@@ -65,6 -63,7 +65,7 @@@ Dengcheng Zhu <dzhu@wavecomp.com> <deng
  Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
  Dengcheng Zhu <dzhu@wavecomp.com> <dczhu@mips.com>
  Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com>
+ <dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be>
  Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
  Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com>
  Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com>
@@@ -82,8 -81,6 +83,8 @@@ Frank Rowand <frowand.list@gmail.com> <
  Frank Rowand <frowand.list@gmail.com> <frank.rowand@am.sony.com>
  Frank Rowand <frowand.list@gmail.com> <frank.rowand@sonymobile.com>
  Frank Zago <fzago@systemfabricworks.com>
 +Gao Xiang <xiang@kernel.org> <gaoxiang25@huawei.com>
 +Gao Xiang <xiang@kernel.org> <hsiangkao@aol.com>
  Greg Kroah-Hartman <greg@echidna.(none)>
  Greg Kroah-Hartman <gregkh@suse.de>
  Greg Kroah-Hartman <greg@kroah.com>
@@@ -94,9 -91,6 +95,9 @@@ Henrik Kretzschmar <henne@nachtwindheim
  Henrik Rydberg <rydberg@bitmath.org>
  Herbert Xu <herbert@gondor.apana.org.au>
  Jacob Shin <Jacob.Shin@amd.com>
 +Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk@google.com>
 +Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk@motorola.com>
 +Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk.kim@samsung.com>
  James Bottomley <jejb@mulgrave.(none)>
  James Bottomley <jejb@titanic.il.steeleye.com>
  James E Wilson <wilson@specifix.com>
@@@ -185,14 -179,8 +186,14 @@@ Morten Welinder <welinder@darter.rentec
  Morten Welinder <welinder@troll.com>
  Mythri P K <mythripk@ti.com>
  Nguyen Anh Quynh <aquynh@gmail.com>
 +Nicolas Ferre <nicolas.ferre@microchip.com> <nicolas.ferre@atmel.com>
  Nicolas Pitre <nico@fluxnic.net> <nicolas.pitre@linaro.org>
  Nicolas Pitre <nico@fluxnic.net> <nico@linaro.org>
 +Oleksij Rempel <linux@rempel-privat.de> <bug-track@fisher-privat.net>
 +Oleksij Rempel <linux@rempel-privat.de> <external.Oleksij.Rempel@de.bosch.com>
 +Oleksij Rempel <linux@rempel-privat.de> <fixed-term.Oleksij.Rempel@de.bosch.com>
 +Oleksij Rempel <linux@rempel-privat.de> <o.rempel@pengutronix.de>
 +Oleksij Rempel <linux@rempel-privat.de> <ore@pengutronix.de>
  Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
  Patrick Mochel <mochel@digitalimplant.org>
  Paul Burton <paul.burton@mips.com> <paul.burton@imgtec.com>
@@@ -203,7 -191,11 +204,7 @@@ Pratyush Anand <pratyush.anand@gmail.co
  Praveen BP <praveenbp@ti.com>
  Punit Agrawal <punitagrawal@gmail.com> <punit.agrawal@arm.com>
  Qais Yousef <qsyousef@gmail.com> <qais.yousef@imgtec.com>
 -Oleksij Rempel <linux@rempel-privat.de> <bug-track@fisher-privat.net>
 -Oleksij Rempel <linux@rempel-privat.de> <external.Oleksij.Rempel@de.bosch.com>
 -Oleksij Rempel <linux@rempel-privat.de> <fixed-term.Oleksij.Rempel@de.bosch.com>
 -Oleksij Rempel <linux@rempel-privat.de> <o.rempel@pengutronix.de>
 -Oleksij Rempel <linux@rempel-privat.de> <ore@pengutronix.de>
 +Quentin Perret <qperret@qperret.net> <quentin.perret@arm.com>
  Rajesh Shah <rajesh.shah@intel.com>
  Ralf Baechle <ralf@linux-mips.org>
  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
@@@ -238,7 -230,6 +239,7 @@@ Sumit Semwal <sumit.semwal@ti.com
  Tejun Heo <htejun@gmail.com>
  Thomas Graf <tgraf@suug.ch>
  Thomas Pedersen <twp@codeaurora.org>
 +Todor Tomov <todor.too@gmail.com> <todor.tomov@linaro.org>
  Tony Luck <tony.luck@intel.com>
  TripleX Chung <xxx.phy@gmail.com> <zhongyu@18mail.cn>
  TripleX Chung <xxx.phy@gmail.com> <triplex@zh-kernel.org>
index f724b7c69b9e0609a35a097285b79d0f2dace5f4,57fec66c54191f3ee2daa21885d6c3d67caf86d5..f51f92571e395409e96cecd25ee4a3d6721a859c
@@@ -23,8 -23,9 +23,9 @@@ Contents
     intel/ice
     google/gve
     mellanox/mlx5
+    pensando/ionic
  
 -.. only::  subproject
 +.. only::  subproject and html
  
     Indices
     =======
index 6739066acadb1d892daebbdd5e1f59734cb2e1a4,0481d0ffebed532f72b7aa246b49f1249e322078..d4dca42910d095f15a2573338d02f3d55fd4ace0
@@@ -14,7 -14,10 +14,10 @@@ Contents
     device_drivers/index
     dsa/index
     devlink-info-versions
+    devlink-trap
+    devlink-trap-netdevsim
     ieee802154
+    j1939
     kapi
     z8530book
     msg_zerocopy
@@@ -31,7 -34,7 +34,7 @@@
     tls
     tls-offload
  
 -.. only::  subproject
 +.. only::  subproject and html
  
     Indices
     =======
diff --combined MAINTAINERS
index 05033aa17f29488b15b209da6dd79d348e3d3721,dd39fc578607ab34f2c0159d53dc8d07e3f3275c..2b6f10ea1573e69d9a7f96800b75ad8468b2a37e
@@@ -517,6 -517,14 +517,6 @@@ W:        http://ez.analog.com/community/linux
  S:    Supported
  F:    drivers/video/backlight/adp8860_bl.c
  
 -ADS1015 HARDWARE MONITOR DRIVER
 -M:    Dirk Eibach <eibach@gdsys.de>
 -L:    linux-hwmon@vger.kernel.org
 -S:    Maintained
 -F:    Documentation/hwmon/ads1015.rst
 -F:    drivers/hwmon/ads1015.c
 -F:    include/linux/platform_data/ads1015.h
 -
  ADT746X FAN DRIVER
  M:    Colin Leroy <colin@colino.net>
  S:    Maintained
@@@ -641,6 -649,12 +641,12 @@@ M:       Lino Sanfilippo <LinoSanfilippo@gmx.
  S:    Maintained
  F:    drivers/net/ethernet/alacritech/*
  
+ FORCEDETH GIGABIT ETHERNET DRIVER
+ M:    Rain River <rain.1986.08.12@gmail.com>
+ L:    netdev@vger.kernel.org
+ S:    Maintained
+ F:    drivers/net/ethernet/nvidia/*
  ALCATEL SPEEDTOUCH USB DRIVER
  M:    Duncan Sands <duncan.sands@free.fr>
  L:    linux-usb@vger.kernel.org
@@@ -658,7 -672,7 +664,7 @@@ ALI1563 I2C DRIVE
  M:    Rudolf Marek <r.marek@assembler.cz>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 -F:    Documentation/i2c/busses/i2c-ali1563
 +F:    Documentation/i2c/busses/i2c-ali1563.rst
  F:    drivers/i2c/busses/i2c-ali1563.c
  
  ALLEGRO DVT VIDEO IP CORE DRIVER
@@@ -668,13 -682,6 +674,13 @@@ L:       linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/staging/media/allegro-dvt/
  
 +ALLWINNER CPUFREQ DRIVER
 +M:    Yangtao Li <tiny.windzz@gmail.com>
 +L:    linux-pm@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/opp/sun50i-nvmem-cpufreq.txt
 +F:    drivers/cpufreq/sun50i-cpufreq-nvmem.c
 +
  ALLWINNER SECURITY SYSTEM
  M:    Corentin Labbe <clabbe.montjoie@gmail.com>
  L:    linux-crypto@vger.kernel.org
@@@ -902,12 -909,11 +908,12 @@@ F:      Documentation/devicetree/bindings/ii
  
  ANALOG DEVICES INC AD7606 DRIVER
  M:    Stefan Popa <stefan.popa@analog.com>
 +M:    Beniamin Bia <beniamin.bia@analog.com>
  L:    linux-iio@vger.kernel.org
  W:    http://ez.analog.com/community/linux-device-drivers
  S:    Supported
  F:    drivers/iio/adc/ad7606.c
 -F:    Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
  
  ANALOG DEVICES INC AD7768-1 DRIVER
  M:    Stefan Popa <stefan.popa@analog.com>
@@@ -938,6 -944,14 +944,14 @@@ S:       Supporte
  F:    drivers/mux/adgs1408.c
  F:    Documentation/devicetree/bindings/mux/adi,adgs1408.txt
  
+ ANALOG DEVICES INC ADIN DRIVER
+ M:    Alexandru Ardelean <alexaundru.ardelean@analog.com>
+ L:    netdev@vger.kernel.org
+ W:    http://ez.analog.com/community/linux-device-drivers
+ S:    Supported
+ F:    drivers/net/phy/adin.c
+ F:    Documentation/devicetree/bindings/net/adi,adin.yaml
  ANALOG DEVICES INC ADIS DRIVER LIBRARY
  M:    Alexandru Ardelean <alexandru.ardelean@analog.com>
  S:    Supported
@@@ -945,14 -959,6 +959,14 @@@ L:       linux-iio@vger.kernel.or
  F:    include/linux/iio/imu/adis.h
  F:    drivers/iio/imu/adis.c
  
 +ANALOG DEVICES INC ADIS16460 DRIVER
 +M:    Dragos Bogdan <dragos.bogdan@analog.com>
 +S:    Supported
 +L:    linux-iio@vger.kernel.org
 +W:    http://ez.analog.com/community/linux-device-drivers
 +F:    drivers/iio/imu/adis16460.c
 +F:    Documentation/devicetree/bindings/iio/imu/adi,adis16460.yaml
 +
  ANALOG DEVICES INC ADP5061 DRIVER
  M:    Stefan Popa <stefan.popa@analog.com>
  L:    linux-pm@vger.kernel.org
@@@ -1358,7 -1364,8 +1372,7 @@@ M:      Will Deacon <will@kernel.org
  R:    Robin Murphy <robin.murphy@arm.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -F:    drivers/iommu/arm-smmu.c
 -F:    drivers/iommu/arm-smmu-v3.c
 +F:    drivers/iommu/arm-smmu*
  F:    drivers/iommu/io-pgtable-arm.c
  F:    drivers/iommu/io-pgtable-arm-v7s.c
  
@@@ -1428,14 -1435,6 +1442,14 @@@ F:    drivers/pinctrl/sunxi
  F:    drivers/soc/sunxi/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
  
 +Allwinner A10 CSI driver
 +M:    Maxime Ripard <mripard@kernel.org>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/platform/sunxi/sun4i-csi/
 +F:    Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
 +S:    Maintained
 +
  ARM/Amlogic Meson SoC CLOCK FRAMEWORK
  M:    Neil Armstrong <narmstrong@baylibre.com>
  M:    Jerome Brunet <jbrunet@baylibre.com>
@@@ -1486,7 -1485,6 +1500,7 @@@ F:      arch/arm/mach-artpe
  F:    arch/arm/boot/dts/artpec6*
  F:    drivers/clk/axis
  F:    drivers/crypto/axis
 +F:    drivers/mmc/host/usdhi6rol0.c
  F:    drivers/pinctrl/pinctrl-artpec*
  F:    Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
  
@@@ -1598,8 -1596,8 +1612,8 @@@ R:      Suzuki K Poulose <suzuki.poulose@arm
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    drivers/hwtracing/coresight/*
 -F:    Documentation/trace/coresight.txt
 -F:    Documentation/trace/coresight-cpu-debug.txt
 +F:    Documentation/trace/coresight.rst
 +F:    Documentation/trace/coresight-cpu-debug.rst
  F:    Documentation/devicetree/bindings/arm/coresight.txt
  F:    Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
  F:    Documentation/ABI/testing/sysfs-bus-coresight-devices-*
@@@ -1642,21 -1640,6 +1656,21 @@@ F:    drivers/clocksource/timer-atlas7.
  N:    [^a-z]sirf
  X:    drivers/gnss
  
 +ARM/CZ.NIC TURRIS MOX SUPPORT
 +M:    Marek Behun <marek.behun@nic.cz>
 +W:    http://mox.turris.cz
 +S:    Maintained
 +F:    Documentation/ABI/testing/debugfs-moxtet
 +F:    Documentation/ABI/testing/sysfs-bus-moxtet-devices
 +F:    Documentation/ABI/testing/sysfs-firmware-turris-mox-rwtm
 +F:    Documentation/devicetree/bindings/bus/moxtet.txt
 +F:    Documentation/devicetree/bindings/firmware/cznic,turris-mox-rwtm.txt
 +F:    Documentation/devicetree/bindings/gpio/gpio-moxtet.txt
 +F:    include/linux/moxtet.h
 +F:    drivers/bus/moxtet.c
 +F:    drivers/firmware/turris-mox-rwtm.c
 +F:    drivers/gpio/gpio-moxtet.c
 +
  ARM/EBSA110 MACHINE SUPPORT
  M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1780,11 -1763,20 +1794,11 @@@ L:   linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    arch/arm/mach-pxa/colibri-pxa270-income.c
  
 -ARM/INTEL IOP13XX ARM ARCHITECTURE
 -M:    Lennert Buytenhek <kernel@wantstofly.org>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -
  ARM/INTEL IOP32X ARM ARCHITECTURE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
 -ARM/INTEL IOP33X ARM ARCHITECTURE
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Orphan
 -
  ARM/INTEL IQ81342EX MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1943,6 -1935,12 +1957,6 @@@ S:     Maintaine
  F:    drivers/phy/mediatek/
  F:    Documentation/devicetree/bindings/phy/phy-mtk-*
  
 -ARM/MICREL KS8695 ARCHITECTURE
 -M:    Greg Ungerer <gerg@uclinux.org>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -F:    arch/arm/mach-ks8695/
 -S:    Odd Fixes
 -
  ARM/Microchip (AT91) SoC support
  M:    Nicolas Ferre <nicolas.ferre@microchip.com>
  M:    Alexandre Belloni <alexandre.belloni@bootlin.com>
@@@ -1984,7 -1982,6 +1998,7 @@@ F:      Documentation/devicetree/bindings/i2
  F:    arch/arm/mach-nomadik/
  F:    arch/arm/mach-u300/
  F:    arch/arm/mach-ux500/
 +F:    drivers/soc/ux500/
  F:    arch/arm/boot/dts/ste-*
  F:    drivers/clk/clk-nomadik.c
  F:    drivers/clk/clk-u300.c
@@@ -2028,6 -2025,22 +2042,6 @@@ F:     drivers/*/*npcm
  F:    Documentation/devicetree/bindings/*/*npcm*
  F:    Documentation/devicetree/bindings/*/*/*npcm*
  
 -ARM/NUVOTON W90X900 ARM ARCHITECTURE
 -M:    Wan ZongShun <mcuos.com@gmail.com>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.mcuos.com
 -S:    Maintained
 -F:    arch/arm/mach-w90x900/
 -F:    drivers/input/keyboard/w90p910_keypad.c
 -F:    drivers/input/touchscreen/w90p910_ts.c
 -F:    drivers/watchdog/nuc900_wdt.c
 -F:    drivers/net/ethernet/nuvoton/w90p910_ether.c
 -F:    drivers/mtd/nand/raw/nuc900_nand.c
 -F:    drivers/rtc/rtc-nuc900.c
 -F:    drivers/spi/spi-nuc900.c
 -F:    drivers/usb/host/ehci-w90x900.c
 -F:    drivers/video/fbdev/nuc900fb.c
 -
  ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
  L:    openmoko-kernel@lists.openmoko.org (subscribers-only)
  W:    http://wiki.openmoko.org/wiki/Neo_FreeRunner
@@@ -2220,9 -2233,8 +2234,9 @@@ F:      drivers/*/*s3c24
  F:    drivers/*/*/*s3c24*
  F:    drivers/*/*s3c64xx*
  F:    drivers/*/*s5pv210*
 -F:    drivers/memory/samsung/*
 -F:    drivers/soc/samsung/*
 +F:    drivers/memory/samsung/
 +F:    drivers/soc/samsung/
 +F:    include/linux/soc/samsung/
  F:    Documentation/arm/samsung/
  F:    Documentation/devicetree/bindings/arm/samsung/
  F:    Documentation/devicetree/bindings/sram/samsung-sram.txt
@@@ -2917,6 -2929,7 +2931,7 @@@ BATMAN ADVANCE
  M:    Marek Lindner <mareklindner@neomailbox.ch>
  M:    Simon Wunderlich <sw@simonwunderlich.de>
  M:    Antonio Quartulli <a@unstable.cc>
+ M:    Sven Eckelmann <sven@narfation.org>
  L:    b.a.t.m.a.n@lists.open-mesh.org (moderated for non-subscribers)
  W:    https://www.open-mesh.org/
  B:    https://www.open-mesh.org/projects/batman-adv/issues
@@@ -3637,9 -3650,12 +3652,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/net/can/
  F:    drivers/net/can/
  F:    include/linux/can/dev.h
+ F:    include/linux/can/led.h
+ F:    include/linux/can/rx-offload.h
  F:    include/linux/can/platform/
  F:    include/uapi/linux/can/error.h
  F:    include/uapi/linux/can/netlink.h
+ F:    include/uapi/linux/can/vxcan.h
  
  CAN NETWORK LAYER
  M:    Oliver Hartkopp <socketcan@hartkopp.net>
@@@ -3652,11 -3668,23 +3670,23 @@@ S:   Maintaine
  F:    Documentation/networking/can.rst
  F:    net/can/
  F:    include/linux/can/core.h
+ F:    include/linux/can/skb.h
+ F:    include/net/netns/can.h
  F:    include/uapi/linux/can.h
  F:    include/uapi/linux/can/bcm.h
  F:    include/uapi/linux/can/raw.h
  F:    include/uapi/linux/can/gw.h
  
+ CAN-J1939 NETWORK LAYER
+ M:    Robin van der Gracht <robin@protonic.nl>
+ M:    Oleksij Rempel <o.rempel@pengutronix.de>
+ R:    Pengutronix Kernel Team <kernel@pengutronix.de>
+ L:    linux-can@vger.kernel.org
+ S:    Maintained
+ F:    Documentation/networking/j1939.txt
+ F:    net/can/j1939/
+ F:    include/uapi/linux/can/j1939.h
  CAPABILITIES
  M:    Serge Hallyn <serge@hallyn.com>
  L:    linux-security-module@vger.kernel.org
@@@ -3806,9 -3834,14 +3836,9 @@@ F:     scripts/sign-file.
  F:    scripts/extract-cert.c
  
  CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
 -L:    linux-usb@vger.kernel.org
 -S:    Orphan
 -F:    Documentation/usb/wusb-design-overview.rst
 -F:    Documentation/usb/wusb-cbaf
 -F:    drivers/usb/host/hwa-hc.c
 -F:    drivers/usb/host/whci/
 -F:    drivers/usb/wusbcore/
 -F:    include/linux/usb/wusb*
 +L:    devel@driverdev.osuosl.org
 +S:    Obsolete
 +F:    drivers/staging/wusbcore/
  
  CFAG12864B LCD DRIVER
  M:    Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
@@@ -4100,7 -4133,7 +4130,7 @@@ L:      samba-technical@lists.samba.org (mod
  W:    http://linux-cifs.samba.org/
  T:    git git://git.samba.org/sfrench/cifs-2.6.git
  S:    Supported
 -F:    Documentation/filesystems/cifs/
 +F:    Documentation/admin-guide/cifs/
  F:    fs/cifs/
  
  COMPACTPCI HOTPLUG CORE
@@@ -4287,14 -4320,6 +4317,14 @@@ S:    Supporte
  F:    drivers/cpuidle/cpuidle-exynos.c
  F:    arch/arm/mach-exynos/pm.c
  
 +CPUIDLE DRIVER - ARM PSCI
 +M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 +M:    Sudeep Holla <sudeep.holla@arm.com>
 +L:    linux-pm@vger.kernel.org
 +L:    linux-arm-kernel@lists.infradead.org
 +S:    Supported
 +F:    drivers/cpuidle/cpuidle-psci.c
 +
  CPU IDLE TIME MANAGEMENT FRAMEWORK
  M:    "Rafael J. Wysocki" <rjw@rjwysocki.net>
  M:    Daniel Lezcano <daniel.lezcano@linaro.org>
@@@ -4956,9 -4981,7 +4986,9 @@@ M:      Jonathan Corbet <corbet@lwn.net
  L:    linux-doc@vger.kernel.org
  S:    Maintained
  F:    Documentation/
 +F:    scripts/documentation-file-ref-check
  F:    scripts/kernel-doc
 +F:    scripts/sphinx-pre-install
  X:    Documentation/ABI/
  X:    Documentation/firmware-guide/acpi/
  X:    Documentation/devicetree/
@@@ -4974,14 -4997,6 +5004,14 @@@ L:    linux-doc@vger.kernel.or
  S:    Maintained
  F:    Documentation/translations/it_IT
  
 +DOCUMENTATION SCRIPTS
 +M:    Mauro Carvalho Chehab <mchehab@kernel.org>
 +L:    linux-doc@vger.kernel.org
 +S:    Maintained
 +F:    scripts/documentation-file-ref-check
 +F:    scripts/sphinx-pre-install
 +F:    Documentation/sphinx/parse-headers.pl
 +
  DONGWOON DW9714 LENS VOICE COIL DRIVER
  M:    Sakari Ailus <sakari.ailus@linux.intel.com>
  L:    linux-media@vger.kernel.org
@@@ -5573,12 -5588,6 +5603,6 @@@ T:     git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/radio/dsbr100.c
  
- DSCC4 DRIVER
- M:    Francois Romieu <romieu@fr.zoreil.com>
- L:    netdev@vger.kernel.org
- S:    Maintained
- F:    drivers/net/wan/dscc4.c
  DT3155 MEDIA DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -5776,11 -5785,6 +5800,11 @@@ S:    Supporte
  F:    drivers/edac/aspeed_edac.c
  F:    Documentation/devicetree/bindings/edac/aspeed-sdram-edac.txt
  
 +EDAC-BLUEFIELD
 +M:    Shravan Kumar Ramani <sramani@mellanox.com>
 +S:    Supported
 +F:    drivers/edac/bluefield_edac.c
 +
  EDAC-CALXEDA
  M:    Robert Richter <rric@kernel.org>
  L:    linux-edac@vger.kernel.org
@@@ -5805,11 -5809,10 +5829,11 @@@ F:   drivers/edac/thunderx_edac
  EDAC-CORE
  M:    Borislav Petkov <bp@alien8.de>
  M:    Mauro Carvalho Chehab <mchehab@kernel.org>
 +M:    Tony Luck <tony.luck@intel.com>
  R:    James Morse <james.morse@arm.com>
 +R:    Robert Richter <rrichter@marvell.com>
  L:    linux-edac@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git for-next
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac.git linux_next
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras.git edac-for-next
  S:    Supported
  F:    Documentation/admin-guide/ras.rst
  F:    Documentation/driver-api/edac.rst
@@@ -6059,13 -6062,6 +6083,13 @@@ T:    git git://git.kernel.org/pub/scm/lin
  F:    drivers/video/fbdev/s1d13xxxfb.c
  F:    include/video/s1d13xxxfb.h
  
 +EROFS FILE SYSTEM
 +M:    Gao Xiang <gaoxiang25@huawei.com>
 +M:    Chao Yu <yuchao0@huawei.com>
 +L:    linux-erofs@lists.ozlabs.org
 +S:    Maintained
 +F:    fs/erofs/
 +
  ERRSEQ ERROR TRACKING INFRASTRUCTURE
  M:    Jeff Layton <jlayton@kernel.org>
  S:    Maintained
@@@ -6110,11 -6106,6 +6134,11 @@@ F:    include/trace/events/mdio.
  F:    include/uapi/linux/mdio.h
  F:    include/uapi/linux/mii.h
  
 +EXFAT FILE SYSTEM
 +M:    Valdis Kletnieks <valdis.kletnieks@vt.edu>
 +S:    Maintained
 +F:    drivers/staging/exfat/
 +
  EXT2 FILE SYSTEM
  M:    Jan Kara <jack@suse.com>
  L:    linux-ext4@vger.kernel.org
@@@ -6301,14 -6292,12 +6325,14 @@@ S:   Maintaine
  F:    drivers/hwmon/f75375s.c
  F:    include/linux/f75375s.h
  
 -FIREWIRE AUDIO DRIVERS
 +FIREWIRE AUDIO DRIVERS and IEC 61883-1/6 PACKET STREAMING ENGINE
  M:    Clemens Ladisch <clemens@ladisch.de>
 +M:    Takashi Sakamoto <o-takashi@sakamocchi.jp>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
  S:    Maintained
  F:    sound/firewire/
 +F:    include/uapi/sound/firewire.h
  
  FIREWIRE MEDIA DRIVERS (firedtv)
  M:    Stefan Richter <stefanr@s5r6.in-berlin.de>
@@@ -6356,7 -6345,7 +6380,7 @@@ FLEXTIMER FTM-QUADDEC DRIVE
  M:    Patrick Havelange <patrick.havelange@essensium.com>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -F:    Documentation/ABI/testing/sysfs-bus-counter-ftm-quadddec
 +F:    Documentation/ABI/testing/sysfs-bus-counter-ftm-quaddec
  F:    Documentation/devicetree/bindings/counter/ftm-quaddec.txt
  F:    drivers/counter/ftm-quaddec.c
  
@@@ -6366,6 -6355,15 +6390,6 @@@ S:     Odd Fixe
  L:    linux-block@vger.kernel.org
  F:    drivers/block/floppy.c
  
 -FMC SUBSYSTEM
 -M:    Alessandro Rubini <rubini@gnudd.com>
 -W:    http://www.ohwr.org/projects/fmc-bus
 -S:    Supported
 -F:    drivers/fmc/
 -F:    include/linux/fmc*.h
 -F:    include/linux/ipmi-fru.h
 -K:    fmc_d.*register
 -
  FPGA MANAGER FRAMEWORK
  M:    Moritz Fischer <mdf@kernel.org>
  L:    linux-fpga@vger.kernel.org
@@@ -6465,7 -6463,6 +6489,7 @@@ M:      Frank Li <Frank.li@nxp.com
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
  F:    drivers/perf/fsl_imx8_ddr_perf.c
 +F:    Documentation/admin-guide/perf/imx-ddr.rst
  F:    Documentation/devicetree/bindings/perf/fsl-imx-ddr.txt
  
  FREESCALE IMX I2C DRIVER
@@@ -6759,13 -6756,6 +6783,13 @@@ W:    https://linuxtv.or
  S:    Maintained
  F:    drivers/media/radio/radio-gemtek*
  
 +GENERIC ARCHITECTURE TOPOLOGY
 +M:    Sudeep Holla <sudeep.holla@arm.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    drivers/base/arch_topology.c
 +F:    include/linux/arch_topology.h
 +
  GENERIC GPIO I2C DRIVER
  M:    Wolfram Sang <wsa+renesas@sang-engineering.com>
  S:    Supported
@@@ -6778,7 -6768,7 +6802,7 @@@ L:      linux-i2c@vger.kernel.or
  S:    Supported
  F:    drivers/i2c/muxes/i2c-mux-gpio.c
  F:    include/linux/platform_data/i2c-mux-gpio.h
 -F:    Documentation/i2c/muxes/i2c-mux-gpio
 +F:    Documentation/i2c/muxes/i2c-mux-gpio.rst
  
  GENERIC HDLC (WAN) DRIVERS
  M:    Krzysztof Halasa <khc@pm.waw.pl>
@@@ -7022,9 -7012,6 +7046,9 @@@ M:      Alex Elder <elder@kernel.org
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  S:    Maintained
  F:    drivers/staging/greybus/
 +F:    drivers/greybus/
 +F:    include/linux/greybus.h
 +F:    include/linux/greybus/
  L:    greybus-dev@lists.linaro.org (moderated for non-subscribers)
  
  GREYBUS UART PROTOCOLS DRIVERS
@@@ -7350,17 -7337,6 +7374,17 @@@ S:    Supporte
  F:    drivers/scsi/hisi_sas/
  F:    Documentation/devicetree/bindings/scsi/hisilicon-sas.txt
  
 +HISILICON QM AND ZIP Controller DRIVER
 +M:    Zhou Wang <wangzhou1@hisilicon.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Maintained
 +F:    drivers/crypto/hisilicon/qm.c
 +F:    drivers/crypto/hisilicon/qm.h
 +F:    drivers/crypto/hisilicon/sgl.c
 +F:    drivers/crypto/hisilicon/sgl.h
 +F:    drivers/crypto/hisilicon/zip/
 +F:    Documentation/ABI/testing/debugfs-hisi-zip
 +
  HMM - Heterogeneous Memory Management
  M:    Jérôme Glisse <jglisse@redhat.com>
  L:    linux-mm@kvack.org
@@@ -7504,6 -7480,7 +7528,7 @@@ F:      drivers/hid/hid-hyperv.
  F:    drivers/hv/
  F:    drivers/input/serio/hyperv-keyboard.c
  F:    drivers/pci/controller/pci-hyperv.c
+ F:    drivers/pci/controller/pci-hyperv-intf.c
  F:    drivers/net/hyperv/
  F:    drivers/scsi/storvsc_drv.c
  F:    drivers/uio/uio_hv_generic.c
@@@ -7541,14 -7518,14 +7566,14 @@@ I2C CONTROLLER DRIVER FOR NVIDIA GP
  M:    Ajay Gupta <ajayg@nvidia.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 -F:    Documentation/i2c/busses/i2c-nvidia-gpu
 +F:    Documentation/i2c/busses/i2c-nvidia-gpu.rst
  F:    drivers/i2c/busses/i2c-nvidia-gpu.c
  
  I2C MUXES
  M:    Peter Rosin <peda@axentia.se>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 -F:    Documentation/i2c/i2c-topology
 +F:    Documentation/i2c/i2c-topology.rst
  F:    Documentation/i2c/muxes/
  F:    Documentation/devicetree/bindings/i2c/i2c-mux*
  F:    Documentation/devicetree/bindings/i2c/i2c-arb*
@@@ -7568,8 -7545,8 +7593,8 @@@ I2C OVER PARALLEL POR
  M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 -F:    Documentation/i2c/busses/i2c-parport
 -F:    Documentation/i2c/busses/i2c-parport-light
 +F:    Documentation/i2c/busses/i2c-parport.rst
 +F:    Documentation/i2c/busses/i2c-parport-light.rst
  F:    drivers/i2c/busses/i2c-parport.c
  F:    drivers/i2c/busses/i2c-parport-light.c
  
@@@ -7603,7 -7580,7 +7628,7 @@@ I2C-TAOS-EVM DRIVE
  M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 -F:    Documentation/i2c/busses/i2c-taos-evm
 +F:    Documentation/i2c/busses/i2c-taos-evm.rst
  F:    drivers/i2c/busses/i2c-taos-evm.c
  
  I2C-TINY-USB DRIVER
@@@ -7617,19 -7594,19 +7642,19 @@@ I2C/SMBUS CONTROLLER DRIVERS FOR P
  M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 -F:    Documentation/i2c/busses/i2c-ali1535
 -F:    Documentation/i2c/busses/i2c-ali1563
 -F:    Documentation/i2c/busses/i2c-ali15x3
 -F:    Documentation/i2c/busses/i2c-amd756
 -F:    Documentation/i2c/busses/i2c-amd8111
 -F:    Documentation/i2c/busses/i2c-i801
 -F:    Documentation/i2c/busses/i2c-nforce2
 -F:    Documentation/i2c/busses/i2c-piix4
 -F:    Documentation/i2c/busses/i2c-sis5595
 -F:    Documentation/i2c/busses/i2c-sis630
 -F:    Documentation/i2c/busses/i2c-sis96x
 -F:    Documentation/i2c/busses/i2c-via
 -F:    Documentation/i2c/busses/i2c-viapro
 +F:    Documentation/i2c/busses/i2c-ali1535.rst
 +F:    Documentation/i2c/busses/i2c-ali1563.rst
 +F:    Documentation/i2c/busses/i2c-ali15x3.rst
 +F:    Documentation/i2c/busses/i2c-amd756.rst
 +F:    Documentation/i2c/busses/i2c-amd8111.rst
 +F:    Documentation/i2c/busses/i2c-i801.rst
 +F:    Documentation/i2c/busses/i2c-nforce2.rst
 +F:    Documentation/i2c/busses/i2c-piix4.rst
 +F:    Documentation/i2c/busses/i2c-sis5595.rst
 +F:    Documentation/i2c/busses/i2c-sis630.rst
 +F:    Documentation/i2c/busses/i2c-sis96x.rst
 +F:    Documentation/i2c/busses/i2c-via.rst
 +F:    Documentation/i2c/busses/i2c-viapro.rst
  F:    drivers/i2c/busses/i2c-ali1535.c
  F:    drivers/i2c/busses/i2c-ali1563.c
  F:    drivers/i2c/busses/i2c-ali15x3.c
@@@ -7658,7 -7635,7 +7683,7 @@@ M:      Seth Heasley <seth.heasley@intel.com
  M:    Neil Horman <nhorman@tuxdriver.com>
  L:    linux-i2c@vger.kernel.org
  F:    drivers/i2c/busses/i2c-ismt.c
 -F:    Documentation/i2c/busses/i2c-ismt
 +F:    Documentation/i2c/busses/i2c-ismt.rst
  
  I2C/SMBUS STUB DRIVER
  M:    Jean Delvare <jdelvare@suse.com>
@@@ -7714,7 -7691,7 +7739,7 @@@ F:      drivers/crypto/nx/nx-aes
  F:    drivers/crypto/nx/nx-sha*
  F:    drivers/crypto/nx/nx.*
  F:    drivers/crypto/nx/nx_csbcpb.h
 -F:    drivers/crypto/nx/nx_debugfs.h
 +F:    drivers/crypto/nx/nx_debugfs.c
  
  IBM Power Linux RAID adapter
  M:    Brian King <brking@us.ibm.com>
@@@ -8371,17 -8348,6 +8396,17 @@@ F:    drivers/platform/x86/intel_speed_sel
  F:    tools/power/x86/intel-speed-select/
  F:    include/uapi/linux/isst_if.h
  
 +INTEL STRATIX10 FIRMWARE DRIVERS
 +M:    Richard Gong <richard.gong@linux.intel.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    drivers/firmware/stratix10-rsu.c
 +F:    drivers/firmware/stratix10-svc.c
 +F:    include/linux/firmware/intel/stratix10-smc.h
 +F:    include/linux/firmware/intel/stratix10-svc-client.h
 +F:    Documentation/ABI/testing/sysfs-devices-platform-stratix10-rsu
 +F:    Documentation/devicetree/bindings/firmware/intel,stratix10-svc.txt
 +
  INTEL TELEMETRY DRIVER
  M:    Rajneesh Bhardwaj <rajneesh.bhardwaj@linux.intel.com>
  M:    "David E. Box" <david.e.box@linux.intel.com>
@@@ -8419,7 -8385,7 +8444,7 @@@ M:      linux-wimax@intel.co
  L:    wimax@linuxwimax.org (subscribers-only)
  S:    Supported
  W:    http://linuxwimax.org
 -F:    Documentation/wimax/README.i2400m
 +F:    Documentation/admin-guide/wimax/i2400m.rst
  F:    drivers/net/wimax/i2400m/
  F:    include/uapi/linux/wimax/i2400m.h
  
@@@ -8433,7 -8399,6 +8458,7 @@@ M:      Alexander Shishkin <alexander.shishk
  S:    Supported
  F:    Documentation/trace/intel_th.rst
  F:    drivers/hwtracing/intel_th/
 +F:    include/linux/intel_th.h
  
  INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
  M:    Ning Sun <ning.sun@intel.com>
@@@ -8445,6 -8410,12 +8470,6 @@@ F:     Documentation/x86/intel_txt.rs
  F:    include/linux/tboot.h
  F:    arch/x86/kernel/tboot.c
  
 -INTEL-MID GPIO DRIVER
 -M:    David Cohen <david.a.cohen@linux.intel.com>
 -L:    linux-gpio@vger.kernel.org
 -S:    Maintained
 -F:    drivers/gpio/gpio-intel-mid.c
 -
  INTERCONNECT API
  M:    Georgi Djakov <georgi.djakov@linaro.org>
  L:    linux-pm@vger.kernel.org
@@@ -8469,6 -8440,12 +8494,6 @@@ L:     linux-mips@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/sgi/ioc3-eth.c
  
 -IOC3 SERIAL DRIVER
 -M:    Pat Gefre <pfg@sgi.com>
 -L:    linux-serial@vger.kernel.org
 -S:    Maintained
 -F:    drivers/tty/serial/ioc3_serial.c
 -
  IOMAP FILESYSTEM LIBRARY
  M:    Christoph Hellwig <hch@infradead.org>
  M:    Darrick J. Wong <darrick.wong@oracle.com>
@@@ -8705,7 -8682,7 +8730,7 @@@ L:      jfs-discussion@lists.sourceforge.ne
  W:    http://jfs.sourceforge.net/
  T:    git git://github.com/kleikamp/linux-shaggy.git
  S:    Maintained
 -F:    Documentation/filesystems/jfs.txt
 +F:    Documentation/admin-guide/jfs.rst
  F:    fs/jfs/
  
  JME NETWORK DRIVER
@@@ -8981,7 -8958,7 +9006,7 @@@ F:      security/keys/encrypted-keys
  
  KEYS-TRUSTED
  M:    James Bottomley <jejb@linux.ibm.com>
 -M:      Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
 +M:    Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
  M:    Mimi Zohar <zohar@linux.ibm.com>
  L:    linux-integrity@vger.kernel.org
  L:    keyrings@vger.kernel.org
@@@ -9048,7 -9025,7 +9073,7 @@@ F:      kernel/kprobes.
  KS0108 LCD CONTROLLER DRIVER
  M:    Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
  S:    Maintained
 -F:    Documentation/auxdisplay/ks0108
 +F:    Documentation/admin-guide/auxdisplay/ks0108.rst
  F:    drivers/auxdisplay/ks0108.c
  F:    include/linux/ks0108.h
  
@@@ -9395,7 -9372,7 +9420,7 @@@ F:      drivers/misc/lkdtm/
  
  LINUX KERNEL MEMORY CONSISTENCY MODEL (LKMM)
  M:    Alan Stern <stern@rowland.harvard.edu>
 -M:    Andrea Parri <andrea.parri@amarulasolutions.com>
 +M:    Andrea Parri <parri.andrea@gmail.com>
  M:    Will Deacon <will@kernel.org>
  M:    Peter Zijlstra <peterz@infradead.org>
  M:    Boqun Feng <boqun.feng@gmail.com>
@@@ -9403,7 -9380,7 +9428,7 @@@ M:      Nicholas Piggin <npiggin@gmail.com
  M:    David Howells <dhowells@redhat.com>
  M:    Jade Alglave <j.alglave@ucl.ac.uk>
  M:    Luc Maranget <luc.maranget@inria.fr>
 -M:    "Paul E. McKenney" <paulmck@linux.ibm.com>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  R:    Akira Yokosawa <akiyks@gmail.com>
  R:    Daniel Lustig <dlustig@nvidia.com>
  L:    linux-kernel@vger.kernel.org
@@@ -9637,7 -9614,7 +9662,7 @@@ F:      Documentation/networking/mac80211-in
  F:    include/net/mac80211.h
  F:    net/mac80211/
  F:    drivers/net/wireless/mac80211_hwsim.[ch]
 -F:    Documentation/networking/mac80211_hwsim/README
 +F:    Documentation/networking/mac80211_hwsim/mac80211_hwsim.rst
  
  MAILBOX API
  M:    Jassi Brar <jassisinghbrar@gmail.com>
@@@ -10086,8 -10063,8 +10111,8 @@@ L:   linux-media@vger.kernel.or
  L:    linux-renesas-soc@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
  S:    Supported
 -F:    Documentation/devicetree/bindings/media/renesas,rcar-csi2.txt
 -F:    Documentation/devicetree/bindings/media/rcar_vin.txt
 +F:    Documentation/devicetree/bindings/media/renesas,csi2.txt
 +F:    Documentation/devicetree/bindings/media/renesas,vin.txt
  F:    drivers/media/platform/rcar-vin/
  
  MEDIA DRIVERS FOR RENESAS - VSP1
@@@ -10414,7 -10391,7 +10439,7 @@@ L:   linux-i2c@vger.kernel.or
  S:    Supported
  F:    drivers/i2c/busses/i2c-mlxcpld.c
  F:    drivers/i2c/muxes/i2c-mux-mlxcpld.c
 -F:    Documentation/i2c/busses/i2c-mlxcpld
 +F:    Documentation/i2c/busses/i2c-mlxcpld.rst
  
  MELLANOX MLXCPLD LED DRIVER
  M:    Vadim Pasternak <vadimp@mellanox.com>
@@@ -10432,7 -10409,7 +10457,7 @@@ F:   drivers/platform/x86/mlx-platform.
  
  MEMBARRIER SUPPORT
  M:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 -M:    "Paul E. McKenney" <paulmck@linux.ibm.com>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  F:    kernel/sched/membarrier.c
@@@ -10684,6 -10661,12 +10709,6 @@@ M:  Nicolas Ferre <nicolas.ferre@microch
  S:    Supported
  F:    drivers/power/reset/at91-sama5d2_shdwc.c
  
 -MICROCHIP SAMA5D2-COMPATIBLE PIOBU GPIO
 -M:    Andrei Stefanescu <andrei.stefanescu@microchip.com>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -L:    linux-gpio@vger.kernel.org
 -F:    drivers/gpio/gpio-sama5d2-piobu.c
 -
  MICROCHIP SPI DRIVER
  M:    Nicolas Ferre <nicolas.ferre@microchip.com>
  S:    Supported
@@@ -10696,6 -10679,13 +10721,6 @@@ S:  Supporte
  F:    drivers/misc/atmel-ssc.c
  F:    include/linux/atmel-ssc.h
  
 -MICROCHIP TIMER COUNTER (TC) AND CLOCKSOURCE DRIVERS
 -M:    Nicolas Ferre <nicolas.ferre@microchip.com>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Supported
 -F:    drivers/misc/atmel_tclib.c
 -F:    drivers/clocksource/tcb_clksrc.c
 -
  MICROCHIP USBA UDC DRIVER
  M:    Cristian Birsan <cristian.birsan@microchip.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -11201,6 -11191,7 +11226,7 @@@ S:   Maintaine
  W:    https://fedorahosted.org/dropwatch/
  F:    net/core/drop_monitor.c
  F:    include/uapi/linux/net_dropmon.h
+ F:    include/net/drop_monitor.h
  
  NETWORKING DRIVERS
  M:    "David S. Miller" <davem@davemloft.net>
@@@ -11380,7 -11371,6 +11406,6 @@@ F:   include/net/nfc
  F:    include/uapi/linux/nfc.h
  F:    drivers/nfc/
  F:    include/linux/platform_data/nfcmrvl.h
- F:    include/linux/platform_data/nxp-nci.h
  F:    Documentation/devicetree/bindings/net/nfc/
  
  NFS, SUNRPC, AND LOCKD CLIENTS
@@@ -11903,21 -11893,6 +11928,21 @@@ T: git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/i2c/ov5647.c
  
 +OMNIVISION OV5670 SENSOR DRIVER
 +M:    Chiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
 +M:    Hyungwoo Yang <hyungwoo.yang@intel.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov5670.c
 +
 +OMNIVISION OV5675 SENSOR DRIVER
 +M:    Shawn Tu <shawnx.tu@intel.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/ov5675.c
 +
  OMNIVISION OV5695 SENSOR DRIVER
  M:    Shunqian Zheng <zhengsq@rock-chips.com>
  L:    linux-media@vger.kernel.org
@@@ -12039,7 -12014,7 +12064,7 @@@ M:   Andrew Lunn <andrew@lunn.ch
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/i2c/i2c-ocores.txt
 -F:    Documentation/i2c/busses/i2c-ocores
 +F:    Documentation/i2c/busses/i2c-ocores.rst
  F:    drivers/i2c/busses/i2c-ocores.c
  F:    include/linux/platform_data/i2c-ocores.h
  
@@@ -12162,7 -12137,7 +12187,7 @@@ L:   netdev@vger.kernel.or
  S:    Supported
  F:    lib/packing.c
  F:    include/linux/packing.h
 -F:    Documentation/packing.txt
 +F:    Documentation/core-api/packing.rst
  
  PADATA PARALLEL EXECUTION MECHANISM
  M:    Steffen Klassert <steffen.klassert@secunet.com>
@@@ -12643,6 -12618,14 +12668,14 @@@ L: platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/peaq-wmi.c
  
+ PENSANDO ETHERNET DRIVERS
+ M:    Shannon Nelson <snelson@pensando.io>
+ M:    Pensando Drivers <drivers@pensando.io>
+ L:    netdev@vger.kernel.org
+ S:    Supported
+ F:    Documentation/networking/device_drivers/pensando/ionic.rst
+ F:    drivers/net/ethernet/pensando/
  PER-CPU MEMORY ALLOCATOR
  M:    Dennis Zhou <dennis@kernel.org>
  M:    Tejun Heo <tj@kernel.org>
@@@ -12663,7 -12646,6 +12696,7 @@@ PERFORMANCE EVENTS SUBSYSTE
  M:    Peter Zijlstra <peterz@infradead.org>
  M:    Ingo Molnar <mingo@redhat.com>
  M:    Arnaldo Carvalho de Melo <acme@kernel.org>
 +R:    Mark Rutland <mark.rutland@arm.com>
  R:    Alexander Shishkin <alexander.shishkin@linux.intel.com>
  R:    Jiri Olsa <jolsa@redhat.com>
  R:    Namhyung Kim <namhyung@kernel.org>
@@@ -12753,7 -12735,6 +12786,7 @@@ L:   linux-arm-kernel@lists.infradead.or
  L:    linux-gpio@vger.kernel.org
  S:    Supported
  F:    drivers/pinctrl/pinctrl-at91*
 +F:    drivers/gpio/gpio-sama5d2-piobu.c
  
  PIN CONTROLLER - FREESCALE
  M:    Dong Aisheng <aisheng.dong@nxp.com>
@@@ -12850,12 -12831,6 +12883,12 @@@ F: drivers/i2c/busses/i2c-puv3.
  F:    drivers/video/fbdev/fb-puv3.c
  F:    drivers/rtc/rtc-puv3.c
  
 +PLANTOWER PMS7003 AIR POLLUTION SENSOR DRIVER
 +M:    Tomasz Duszynski <tduszyns@gmail.com>
 +S:    Maintained
 +F:    drivers/iio/chemical/pms7003.c
 +F:    Documentation/devicetree/bindings/iio/chemical/plantower,pms7003.yaml
 +
  PMBUS HARDWARE MONITORING DRIVERS
  M:    Guenter Roeck <linux@roeck-us.net>
  L:    linux-hwmon@vger.kernel.org
@@@ -13298,7 -13273,7 +13331,7 @@@ M:   Manish Chopra <manishc@marvell.com
  M:    GR-Linux-NIC-Dev@marvell.com
  L:    netdev@vger.kernel.org
  S:    Supported
- F:    drivers/net/ethernet/qlogic/qlge/
+ F:    drivers/staging/qlge/
  
  QM1D1B0004 MEDIA DRIVER
  M:    Akihiro Tsukada <tskd08@gmail.com>
@@@ -13366,8 -13341,8 +13399,8 @@@ QUALCOMM CPUFREQ DRIVER MSM8996/APQ809
  M:    Ilia Lin <ilia.lin@kernel.org>
  L:    linux-pm@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/opp/kryo-cpufreq.txt
 -F:    drivers/cpufreq/qcom-cpufreq-kryo.c
 +F:    Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt
 +F:    drivers/cpufreq/qcom-cpufreq-nvmem.c
  
  QUALCOMM EMAC GIGABIT ETHERNET DRIVER
  M:    Timur Tabi <timur@kernel.org>
@@@ -13557,7 -13532,7 +13590,7 @@@ S:   Orpha
  F:    drivers/net/wireless/ray*
  
  RCUTORTURE TEST FRAMEWORK
 -M:    "Paul E. McKenney" <paulmck@linux.ibm.com>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  M:    Josh Triplett <josh@joshtriplett.org>
  R:    Steven Rostedt <rostedt@goodmis.org>
  R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
@@@ -13604,7 -13579,7 +13637,7 @@@ F:   arch/x86/include/asm/resctrl_sched.
  F:    Documentation/x86/resctrl*
  
  READ-COPY UPDATE (RCU)
 -M:    "Paul E. McKenney" <paulmck@linux.ibm.com>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  M:    Josh Triplett <josh@joshtriplett.org>
  R:    Steven Rostedt <rostedt@goodmis.org>
  R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
@@@ -13762,7 -13737,7 +13795,7 @@@ F:   include/linux/reset-controller.
  RESTARTABLE SEQUENCES SUPPORT
  M:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  M:    Peter Zijlstra <peterz@infradead.org>
 -M:    "Paul E. McKenney" <paulmck@linux.ibm.com>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  M:    Boqun Feng <boqun.feng@gmail.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
@@@ -13825,8 -13800,7 +13858,8 @@@ F:   include/linux/hid-roccat
  F:    Documentation/ABI/*/sysfs-driver-hid-roccat*
  
  ROCKCHIP RASTER 2D GRAPHIC ACCELERATION UNIT DRIVER
 -M:    Jacob chen <jacob2.chen@rock-chips.com>
 +M:    Jacob Chen <jacob-chen@iotwrt.com>
 +M:    Ezequiel Garcia <ezequiel@collabora.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  F:    drivers/media/platform/rockchip/rga/
@@@ -13836,7 -13810,7 +13869,7 @@@ HANTRO VPU CODEC DRIVE
  M:    Ezequiel Garcia <ezequiel@collabora.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 -F:    drivers/staging/media/platform/hantro/
 +F:    drivers/staging/media/hantro/
  F:    Documentation/devicetree/bindings/media/rockchip-vpu.txt
  
  ROCKER DRIVER
@@@ -14194,8 -14168,6 +14227,8 @@@ M:   Kamil Konieczny <k.konieczny@partner
  L:    linux-crypto@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/crypto/samsung-slimsss.txt
 +F:    Documentation/devicetree/bindings/crypto/samsung-sss.txt
  F:    drivers/crypto/s5p-sss.c
  
  SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS
@@@ -14216,8 -14188,6 +14249,8 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    drivers/clk/samsung/
  F:    include/dt-bindings/clock/exynos*.h
  F:    Documentation/devicetree/bindings/clock/exynos*.txt
 +F:    Documentation/devicetree/bindings/clock/samsung,s3c*
 +F:    Documentation/devicetree/bindings/clock/samsung,s5p*
  
  SAMSUNG SPI DRIVERS
  M:    Kukjin Kim <kgene@kernel.org>
@@@ -14268,12 -14238,6 +14301,12 @@@ F: drivers/watchdog/sc1200wdt.
  SCHEDULER
  M:    Ingo Molnar <mingo@redhat.com>
  M:    Peter Zijlstra <peterz@infradead.org>
 +M:    Juri Lelli <juri.lelli@redhat.com> (SCHED_DEADLINE)
 +M:    Vincent Guittot <vincent.guittot@linaro.org> (SCHED_NORMAL)
 +R:    Dietmar Eggemann <dietmar.eggemann@arm.com> (SCHED_NORMAL)
 +R:    Steven Rostedt <rostedt@goodmis.org> (SCHED_FIFO/SCHED_RR)
 +R:    Ben Segall <bsegall@google.com> (CONFIG_CFS_BANDWIDTH)
 +R:    Mel Gorman <mgorman@suse.de> (CONFIG_NUMA_BALANCING)
  L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
  S:    Maintained
@@@ -14368,7 -14332,7 +14401,7 @@@ F:   net/sctp
  SCx200 CPU SUPPORT
  M:    Jim Cromie <jim.cromie@gmail.com>
  S:    Odd Fixes
 -F:    Documentation/i2c/busses/scx200_acb
 +F:    Documentation/i2c/busses/scx200_acb.rst
  F:    arch/x86/platform/scx200/
  F:    drivers/watchdog/scx200_wdt.c
  F:    drivers/i2c/busses/scx200*
@@@ -14809,7 -14773,7 +14842,7 @@@ F:   mm/sl?b
  
  SLEEPABLE READ-COPY UPDATE (SRCU)
  M:    Lai Jiangshan <jiangshanlai@gmail.com>
 -M:    "Paul E. McKenney" <paulmck@linux.ibm.com>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  M:    Josh Triplett <josh@joshtriplett.org>
  R:    Steven Rostedt <rostedt@goodmis.org>
  R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
@@@ -15293,6 -15257,13 +15326,6 @@@ M:  H Hartley Sweeten <hsweeten@visionen
  S:    Odd Fixes
  F:    drivers/staging/comedi/
  
 -STAGING - EROFS FILE SYSTEM
 -M:    Gao Xiang <gaoxiang25@huawei.com>
 -M:    Chao Yu <yuchao0@huawei.com>
 -L:    linux-erofs@lists.ozlabs.org
 -S:    Maintained
 -F:    drivers/staging/erofs/
 -
  STAGING - FIELDBUS SUBSYSTEM
  M:    Sven Van Asbroeck <TheSven73@gmail.com>
  S:    Maintained
@@@ -15580,7 -15551,7 +15613,7 @@@ F:   Documentation/devicetree/bindings/gp
  SYNOPSYS DESIGNWARE AXI DMAC DRIVER
  M:    Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
  S:    Maintained
 -F:    drivers/dma/dwi-axi-dmac/
 +F:    drivers/dma/dw-axi-dmac/
  F:    Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.txt
  
  SYNOPSYS DESIGNWARE DMAC DRIVER
@@@ -15637,7 -15608,6 +15670,7 @@@ F:   drivers/clk/clk-sc[mp]i.
  F:    drivers/cpufreq/sc[mp]i-cpufreq.c
  F:    drivers/firmware/arm_scpi.c
  F:    drivers/firmware/arm_scmi/
 +F:    drivers/reset/reset-scmi.c
  F:    include/linux/sc[mp]i_protocol.h
  
  SYSTEM RESET/SHUTDOWN DRIVERS
@@@ -15946,7 -15916,6 +15979,7 @@@ F:   drivers/firmware/ti_sci
  F:    include/linux/soc/ti/ti_sci_protocol.h
  F:    Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
  F:    drivers/soc/ti/ti_sci_pm_domains.c
 +F:    include/dt-bindings/soc/ti,sci_pm_domain.h
  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
@@@ -16000,7 -15969,7 +16033,7 @@@ M:   Viresh Kumar <viresh.kumar@linaro.or
  M:    Javi Merino <javi.merino@kernel.org>
  L:    linux-pm@vger.kernel.org
  S:    Supported
 -F:    Documentation/thermal/cpu-cooling-api.rst
 +F:    Documentation/driver-api/thermal/cpu-cooling-api.rst
  F:    drivers/thermal/cpu_cooling.c
  F:    include/linux/cpu_cooling.h
  
@@@ -16301,7 -16270,7 +16334,7 @@@ F:   drivers/platform/x86/topstar-laptop.
  
  TORTURE-TEST MODULES
  M:    Davidlohr Bueso <dave@stgolabs.net>
 -M:    "Paul E. McKenney" <paulmck@linux.ibm.com>
 +M:    "Paul E. McKenney" <paulmck@kernel.org>
  M:    Josh Triplett <josh@joshtriplett.org>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
@@@ -16523,7 -16492,7 +16556,7 @@@ F:   drivers/hid/hid-udraw-ps3.
  UFS FILESYSTEM
  M:    Evgeniy Dushistov <dushistov@mail.ru>
  S:    Maintained
 -F:    Documentation/filesystems/ufs.txt
 +F:    Documentation/admin-guide/ufs.rst
  F:    fs/ufs/
  
  UHID USERSPACE HID IO DRIVER:
@@@ -16541,9 -16510,11 +16574,9 @@@ F:  drivers/usb/common/ulpi.
  F:    include/linux/ulpi/
  
  ULTRA-WIDEBAND (UWB) SUBSYSTEM:
 -L:    linux-usb@vger.kernel.org
 -S:    Orphan
 -F:    drivers/uwb/
 -F:    include/linux/uwb.h
 -F:    include/linux/uwb/
 +L:    devel@driverdev.osuosl.org
 +S:    Obsolete
 +F:    drivers/staging/uwb/
  
  UNICODE SUBSYSTEM:
  M:    Gabriel Krisman Bertazi <krisman@collabora.com>
@@@ -17276,7 -17247,6 +17309,7 @@@ M:   "VMware, Inc." <pv-drivers@vmware.co
  L:    virtualization@lists.linux-foundation.org
  S:    Supported
  F:    arch/x86/kernel/cpu/vmware.c
 +F:    arch/x86/include/asm/vmware.h
  
  VMWARE PVRDMA DRIVER
  M:    Adit Ranadive <aditr@vmware.com>
@@@ -17326,7 -17296,6 +17359,7 @@@ F:   Documentation/power/regulator
  F:    drivers/regulator/
  F:    include/dt-bindings/regulator/
  F:    include/linux/regulator/
 +K:    regulator_get_optional
  
  VRF
  M:    David Ahern <dsa@cumulusnetworks.com>
@@@ -17441,7 -17410,7 +17474,7 @@@ M:   linux-wimax@intel.co
  L:    wimax@linuxwimax.org (subscribers-only)
  S:    Supported
  W:    http://linuxwimax.org
 -F:    Documentation/wimax/README.wimax
 +F:    Documentation/admin-guide/wimax/wimax.rst
  F:    include/linux/wimax/debug.h
  F:    include/net/wimax.h
  F:    include/uapi/linux/wimax.h
@@@ -17595,7 -17564,7 +17628,7 @@@ M:   Darren Hart <dvhart@infradead.org
  M:    Andy Shevchenko <andy@infradead.org>
  L:    platform-driver-x86@vger.kernel.org
  T:    git git://git.infradead.org/linux-platform-drivers-x86.git
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/platform/x86/
  F:    drivers/platform/olpc/
  
@@@ -17710,7 -17679,7 +17743,7 @@@ F:   Documentation/ABI/testing/sysfs-hype
  
  XEN NETWORK BACKEND DRIVER
  M:    Wei Liu <wei.liu@kernel.org>
- M:    Paul Durrant <paul.durrant@citrix.com>
+ M:    Paul Durrant <paul@xen.org>
  L:    xen-devel@lists.xenproject.org (moderated for non-subscribers)
  L:    netdev@vger.kernel.org
  S:    Supported
@@@ -17783,17 -17752,6 +17816,17 @@@ F: Documentation/devicetree/bindings/me
  F:    drivers/media/platform/xilinx/
  F:    include/uapi/linux/xilinx-v4l2-controls.h
  
 +XILINX SD-FEC IP CORES
 +M:    Derek Kiernan <derek.kiernan@xilinx.com>
 +M:    Dragan Cvetic <dragan.cvetic@xilinx.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/misc/xlnx,sd-fec.txt
 +F:    Documentation/misc-devices/xilinx_sdfec.rst
 +F:    drivers/misc/xilinx_sdfec.c
 +F:    drivers/misc/Kconfig
 +F:    drivers/misc/Makefile
 +F:    include/uapi/misc/xilinx_sdfec.h
 +
  XILLYBUS DRIVER
  M:    Eli Billauer <eli.billauer@gmail.com>
  L:    linux-kernel@vger.kernel.org
@@@ -17903,6 -17861,14 +17936,6 @@@ S:  Maintaine
  F:    mm/zpool.c
  F:    include/linux/zpool.h
  
 -ZR36067 VIDEO FOR LINUX DRIVER
 -L:    mjpeg-users@lists.sourceforge.net
 -L:    linux-media@vger.kernel.org
 -W:    http://mjpeg.sourceforge.net/driver-zoran/
 -T:    hg https://linuxtv.org/hg/v4l-dvb
 -S:    Odd Fixes
 -F:    drivers/staging/media/zoran/
 -
  ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER
  M:    Minchan Kim <minchan@kernel.org>
  M:    Nitin Gupta <ngupta@vflare.org>
index 5e14e5a197441ef97aec35c1905a09c8c47d335f,663c4b728c078959b000fcf2146d340b838428ac..d98346da01df5d7ab4f7081e14151ec29210cd7b
                        system-clock-frequency = <25000000>;
                };
        };
+       mdio-mux {
+               compatible = "mdio-mux-multiplexer";
+               mux-controls = <&mux 0>;
+               mdio-parent-bus = <&enetc_mdio_pf3>;
+               #address-cells=<1>;
+               #size-cells = <0>;
+               /* on-board RGMII PHY */
+               mdio@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+                       qds_phy1: ethernet-phy@5 {
+                               /* Atheros 8035 */
+                               reg = <5>;
+                       };
+               };
+       };
  };
  
  &duart0 {
        status = "okay";
  };
  
 +&esdhc {
 +      status = "okay";
 +};
 +
 +&esdhc1 {
 +      status = "okay";
 +};
 +
  &i2c0 {
        status = "okay";
  
                        };
                };
        };
+       fpga@66 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
+                            "simple-mfd";
+               reg = <0x66>;
+               mux: mux-controller {
+                       compatible = "reg-mux";
+                       #mux-control-cells = <1>;
+                       mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
+               };
+       };
+ };
+ &enetc_port1 {
+       phy-handle = <&qds_phy1>;
+       phy-connection-type = "rgmii-id";
  };
  
  &sai1 {
index b139b29cef87b1a877757cae41bbd878bd815d3f,de71153fda006ddf226bdeea10f7c831f9958685..72b9a75976a1f0a3dc4837cbfdd7e02570e3dde7
@@@ -29,7 -29,6 +29,7 @@@
                        clocks = <&clockgen 1 0>;
                        next-level-cache = <&l2>;
                        cpu-idle-states = <&CPU_PW20>;
 +                      #cooling-cells = <2>;
                };
  
                cpu1: cpu@1 {
@@@ -40,7 -39,6 +40,7 @@@
                        clocks = <&clockgen 1 0>;
                        next-level-cache = <&l2>;
                        cpu-idle-states = <&CPU_PW20>;
 +                      #cooling-cells = <2>;
                };
  
                l2: l2-cache {
                clock-output-names = "sysclk";
        };
  
 -      dpclk: clock-dp {
 +      osc_27m: clock-osc-27m {
                compatible = "fixed-clock";
                #clock-cells = <0>;
                clock-frequency = <27000000>;
 -              clock-output-names= "dpclk";
 +              clock-output-names = "phy_27m";
 +      };
 +
 +      dpclk: clock-controller@f1f0000 {
 +              compatible = "fsl,ls1028a-plldig";
 +              reg = <0x0 0xf1f0000 0x0 0xffff>;
 +              #clock-cells = <1>;
 +              clocks = <&osc_27m>;
        };
  
        aclk: clock-axi {
                        #size-cells = <0>;
                        reg = <0x0 0x2000000 0x0 0x10000>;
                        interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
                        status = "disabled";
                };
  
                        #size-cells = <0>;
                        reg = <0x0 0x2010000 0x0 0x10000>;
                        interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
                        status = "disabled";
                };
  
                        #size-cells = <0>;
                        reg = <0x0 0x2020000 0x0 0x10000>;
                        interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
                        status = "disabled";
                };
  
                        #size-cells = <0>;
                        reg = <0x0 0x2030000 0x0 0x10000>;
                        interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
                        status = "disabled";
                };
  
                        #size-cells = <0>;
                        reg = <0x0 0x2040000 0x0 0x10000>;
                        interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
                        status = "disabled";
                };
  
                        #size-cells = <0>;
                        reg = <0x0 0x2050000 0x0 0x10000>;
                        interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
                        status = "disabled";
                };
  
                        #size-cells = <0>;
                        reg = <0x0 0x2060000 0x0 0x10000>;
                        interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
                        status = "disabled";
                };
  
                        #size-cells = <0>;
                        reg = <0x0 0x2070000 0x0 0x10000>;
                        interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&clockgen 4 1>;
 +                      clocks = <&clockgen 4 3>;
 +                      status = "disabled";
 +              };
 +
 +              esdhc: mmc@2140000 {
 +                      compatible = "fsl,ls1028a-esdhc", "fsl,esdhc";
 +                      reg = <0x0 0x2140000 0x0 0x10000>;
 +                      interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 +                      clock-frequency = <0>; /* fixed up by bootloader */
 +                      clocks = <&clockgen 2 1>;
 +                      voltage-ranges = <1800 1800 3300 3300>;
 +                      sdhci,auto-cmd12;
 +                      little-endian;
 +                      bus-width = <4>;
 +                      status = "disabled";
 +              };
 +
 +              esdhc1: mmc@2150000 {
 +                      compatible = "fsl,ls1028a-esdhc", "fsl,esdhc";
 +                      reg = <0x0 0x2150000 0x0 0x10000>;
 +                      interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
 +                      clock-frequency = <0>; /* fixed up by bootloader */
 +                      clocks = <&clockgen 2 1>;
 +                      voltage-ranges = <1800 1800 3300 3300>;
 +                      sdhci,auto-cmd12;
 +                      broken-cd;
 +                      little-endian;
 +                      bus-width = <4>;
                        status = "disabled";
                };
  
                };
  
                gpio1: gpio@2300000 {
 -                      compatible = "fsl,qoriq-gpio";
 +                      compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
                        reg = <0x0 0x2300000 0x0 0x10000>;
                        interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;
                        #interrupt-cells = <2>;
 +                      little-endian;
                };
  
                gpio2: gpio@2310000 {
 -                      compatible = "fsl,qoriq-gpio";
 +                      compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
                        reg = <0x0 0x2310000 0x0 0x10000>;
                        interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;
                        #interrupt-cells = <2>;
 +                      little-endian;
                };
  
                gpio3: gpio@2320000 {
 -                      compatible = "fsl,qoriq-gpio";
 +                      compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
                        reg = <0x0 0x2320000 0x0 0x10000>;
                        interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;
                        #interrupt-cells = <2>;
 +                      little-endian;
                };
  
                usb0: usb@3100000 {
                        status = "disabled";
                };
  
 +              tmu: tmu@1f00000 {
 +                      compatible = "fsl,qoriq-tmu";
 +                      reg = <0x0 0x1f80000 0x0 0x10000>;
 +                      interrupts = <0 23 0x4>;
 +                      fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x70061>;
 +                      fsl,tmu-calibration = <0x00000000 0x00000024
 +                                             0x00000001 0x0000002b
 +                                             0x00000002 0x00000031
 +                                             0x00000003 0x00000038
 +                                             0x00000004 0x0000003f
 +                                             0x00000005 0x00000045
 +                                             0x00000006 0x0000004c
 +                                             0x00000007 0x00000053
 +                                             0x00000008 0x00000059
 +                                             0x00000009 0x00000060
 +                                             0x0000000a 0x00000066
 +                                             0x0000000b 0x0000006d
 +
 +                                             0x00010000 0x0000001c
 +                                             0x00010001 0x00000024
 +                                             0x00010002 0x0000002c
 +                                             0x00010003 0x00000035
 +                                             0x00010004 0x0000003d
 +                                             0x00010005 0x00000045
 +                                             0x00010006 0x0000004d
 +                                             0x00010007 0x00000045
 +                                             0x00010008 0x0000005e
 +                                             0x00010009 0x00000066
 +                                             0x0001000a 0x0000006e
 +
 +                                             0x00020000 0x00000018
 +                                             0x00020001 0x00000022
 +                                             0x00020002 0x0000002d
 +                                             0x00020003 0x00000038
 +                                             0x00020004 0x00000043
 +                                             0x00020005 0x0000004d
 +                                             0x00020006 0x00000058
 +                                             0x00020007 0x00000063
 +                                             0x00020008 0x0000006e
 +
 +                                             0x00030000 0x00000010
 +                                             0x00030001 0x0000001c
 +                                             0x00030002 0x00000029
 +                                             0x00030003 0x00000036
 +                                             0x00030004 0x00000042
 +                                             0x00030005 0x0000004f
 +                                             0x00030006 0x0000005b
 +                                             0x00030007 0x00000068>;
 +                      little-endian;
 +                      #thermal-sensor-cells = <1>;
 +              };
 +
 +              thermal-zones {
 +                      core-cluster {
 +                              polling-delay-passive = <1000>;
 +                              polling-delay = <5000>;
 +                              thermal-sensors = <&tmu 0>;
 +
 +                              trips {
 +                                      core_cluster_alert: core-cluster-alert {
 +                                              temperature = <85000>;
 +                                              hysteresis = <2000>;
 +                                              type = "passive";
 +                                      };
 +
 +                                      core_cluster_crit: core-cluster-crit {
 +                                              temperature = <95000>;
 +                                              hysteresis = <2000>;
 +                                              type = "critical";
 +                                      };
 +                              };
 +
 +                              cooling-maps {
 +                                      map0 {
 +                                              trip = <&core_cluster_alert>;
 +                                              cooling-device =
 +                                                      <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
 +                                                      <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
 +                                      };
 +                              };
 +                      };
 +              };
 +
                pcie@1f0000000 { /* Integrated Endpoint Root Complex */
                        compatible = "pci-host-ecam-generic";
                        reg = <0x01 0xf0000000 0x0 0x100000>;
                                compatible = "fsl,enetc";
                                reg = <0x000100 0 0 0 0>;
                        };
+                       enetc_mdio_pf3: mdio@0,3 {
+                               compatible = "fsl,enetc-mdio";
+                               reg = <0x000300 0 0 0 0>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
                        ethernet@0,4 {
                                compatible = "fsl,enetc-ptp";
                                reg = <0x000400 0 0 0 0>;
                interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
                             <0 223 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "DE", "SE";
 -              clocks = <&dpclk>, <&aclk>, <&aclk>, <&pclk>;
 +              clocks = <&dpclk 0>, <&aclk>, <&aclk>, <&pclk>;
                clock-names = "pxlclk", "mclk", "aclk", "pclk";
                arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
 +              arm,malidp-arqos-value = <0xd000d000>;
  
                port {
                        dp0_out: endpoint {
index dc9dee55976b964adc0da017ee6738d79efed599,2830dc283ce6195ac64860d1f244952c3269d0e4..1e2de9d062bf1b9401c2e292a48fb9668759c717
@@@ -151,6 -151,7 +151,6 @@@ config NET_NET
          To compile this driver as a module, choose M here. The module
          will be called netx-eth.
  
 -source "drivers/net/ethernet/nuvoton/Kconfig"
  source "drivers/net/ethernet/nvidia/Kconfig"
  source "drivers/net/ethernet/nxp/Kconfig"
  source "drivers/net/ethernet/oki-semi/Kconfig"
@@@ -167,6 -168,7 +167,7 @@@ config ETHO
  
  source "drivers/net/ethernet/packetengines/Kconfig"
  source "drivers/net/ethernet/pasemi/Kconfig"
+ source "drivers/net/ethernet/pensando/Kconfig"
  source "drivers/net/ethernet/qlogic/Kconfig"
  source "drivers/net/ethernet/qualcomm/Kconfig"
  source "drivers/net/ethernet/rdc/Kconfig"
index 4bc3c95562bf1253cd71db2fca433f5b61ef1270,061edd22f507b1beaef7eed8f6d668587c34ce1b..77f9838a76c941d6f1506345ef73a95cd2b61253
@@@ -65,6 -65,7 +65,6 @@@ obj-$(CONFIG_NET_VENDOR_NETERION) += ne
  obj-$(CONFIG_NET_VENDOR_NETRONOME) += netronome/
  obj-$(CONFIG_NET_VENDOR_NI) += ni/
  obj-$(CONFIG_NET_NETX) += netx-eth.o
 -obj-$(CONFIG_NET_VENDOR_NUVOTON) += nuvoton/
  obj-$(CONFIG_NET_VENDOR_NVIDIA) += nvidia/
  obj-$(CONFIG_LPC_ENET) += nxp/
  obj-$(CONFIG_NET_VENDOR_OKI) += oki-semi/
@@@ -96,3 -97,4 +96,4 @@@ obj-$(CONFIG_NET_VENDOR_WIZNET) += wizn
  obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/
  obj-$(CONFIG_NET_VENDOR_XIRCOM) += xircom/
  obj-$(CONFIG_NET_VENDOR_SYNOPSYS) += synopsys/
+ obj-$(CONFIG_NET_VENDOR_PENSANDO) += pensando/
index ce940871331e99888894078fa1e45962f6914776,e004eb1b881cfb8ac214ae7198ae0c133c5a2ed8..2e29ab841b4da010e512ea574389f82be62baa98
  
  static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
  {
-       struct gpio_desc *gpiod = NULL;
+       int error;
  
        /* Deassert the optional reset signal */
-       if (mdiodev->dev.of_node)
-               gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
-                                              "reset-gpios", 0, GPIOD_OUT_LOW,
-                                              "PHY reset");
-       if (IS_ERR(gpiod)) {
-               if (PTR_ERR(gpiod) == -ENOENT || PTR_ERR(gpiod) == -ENOSYS)
-                       gpiod = NULL;
-               else
-                       return PTR_ERR(gpiod);
-       }
-       mdiodev->reset_gpio = gpiod;
+       mdiodev->reset_gpio = gpiod_get_optional(&mdiodev->dev,
+                                                "reset", GPIOD_OUT_LOW);
+       error = PTR_ERR_OR_ZERO(mdiodev->reset_gpio);
+       if (error)
+               return error;
+       if (mdiodev->reset_gpio)
+               gpiod_set_consumer_name(mdiodev->reset_gpio, "PHY reset");
  
        return 0;
  }
@@@ -262,6 -258,11 +258,6 @@@ static struct class mdio_bus_class = 
  };
  
  #if IS_ENABLED(CONFIG_OF_MDIO)
 -/* Helper function for of_mdio_find_bus */
 -static int of_mdio_bus_match(struct device *dev, const void *mdio_bus_np)
 -{
 -      return dev->of_node == mdio_bus_np;
 -}
  /**
   * of_mdio_find_bus - Given an mii_bus node, find the mii_bus.
   * @mdio_bus_np: Pointer to the mii_bus.
@@@ -282,7 -283,9 +278,7 @@@ struct mii_bus *of_mdio_find_bus(struc
        if (!mdio_bus_np)
                return NULL;
  
 -      d = class_find_device(&mdio_bus_class, NULL,  mdio_bus_np,
 -                            of_mdio_bus_match);
 -
 +      d = class_find_device_by_of_node(&mdio_bus_class, mdio_bus_np);
        return d ? to_mii_bus(d) : NULL;
  }
  EXPORT_SYMBOL(of_mdio_find_bus);
index 97056f3dd317eb7c82d8f5dbd9efab50bdf70c00,9c93ac2215b750dec6b8e811a983d279a0ad8b9b..0ca73c851e0fb767eb1e3984a0d82c4fc8421453
@@@ -365,6 -365,39 +365,39 @@@ struct pci_delete_interrupt 
        struct tran_int_desc int_desc;
  } __packed;
  
+ /*
+  * Note: the VM must pass a valid block id, wslot and bytes_requested.
+  */
+ struct pci_read_block {
+       struct pci_message message_type;
+       u32 block_id;
+       union win_slot_encoding wslot;
+       u32 bytes_requested;
+ } __packed;
+ struct pci_read_block_response {
+       struct vmpacket_descriptor hdr;
+       u32 status;
+       u8 bytes[HV_CONFIG_BLOCK_SIZE_MAX];
+ } __packed;
+ /*
+  * Note: the VM must pass a valid block id, wslot and byte_count.
+  */
+ struct pci_write_block {
+       struct pci_message message_type;
+       u32 block_id;
+       union win_slot_encoding wslot;
+       u32 byte_count;
+       u8 bytes[HV_CONFIG_BLOCK_SIZE_MAX];
+ } __packed;
+ struct pci_dev_inval_block {
+       struct pci_incoming_message incoming;
+       union win_slot_encoding wslot;
+       u64 block_mask;
+ } __packed;
  struct pci_dev_incoming {
        struct pci_incoming_message incoming;
        union win_slot_encoding wslot;
@@@ -499,6 -532,9 +532,9 @@@ struct hv_pci_dev 
        struct hv_pcibus_device *hbus;
        struct work_struct wrk;
  
+       void (*block_invalidate)(void *context, u64 block_mask);
+       void *invalidate_context;
        /*
         * What would be observed if one wrote 0xFFFFFFFF to a BAR and then
         * read it back, for each of the BAR offsets within config space.
@@@ -817,6 -853,253 +853,253 @@@ static struct pci_ops hv_pcifront_ops 
        .write = hv_pcifront_write_config,
  };
  
+ /*
+  * Paravirtual backchannel
+  *
+  * Hyper-V SR-IOV provides a backchannel mechanism in software for
+  * communication between a VF driver and a PF driver.  These
+  * "configuration blocks" are similar in concept to PCI configuration space,
+  * but instead of doing reads and writes in 32-bit chunks through a very slow
+  * path, packets of up to 128 bytes can be sent or received asynchronously.
+  *
+  * Nearly every SR-IOV device contains just such a communications channel in
+  * hardware, so using this one in software is usually optional.  Using the
+  * software channel, however, allows driver implementers to leverage software
+  * tools that fuzz the communications channel looking for vulnerabilities.
+  *
+  * The usage model for these packets puts the responsibility for reading or
+  * writing on the VF driver.  The VF driver sends a read or a write packet,
+  * indicating which "block" is being referred to by number.
+  *
+  * If the PF driver wishes to initiate communication, it can "invalidate" one or
+  * more of the first 64 blocks.  This invalidation is delivered via a callback
+  * supplied by the VF driver by this driver.
+  *
+  * No protocol is implied, except that supplied by the PF and VF drivers.
+  */
+ struct hv_read_config_compl {
+       struct hv_pci_compl comp_pkt;
+       void *buf;
+       unsigned int len;
+       unsigned int bytes_returned;
+ };
+ /**
+  * hv_pci_read_config_compl() - Invoked when a response packet
+  * for a read config block operation arrives.
+  * @context:          Identifies the read config operation
+  * @resp:             The response packet itself
+  * @resp_packet_size: Size in bytes of the response packet
+  */
+ static void hv_pci_read_config_compl(void *context, struct pci_response *resp,
+                                    int resp_packet_size)
+ {
+       struct hv_read_config_compl *comp = context;
+       struct pci_read_block_response *read_resp =
+               (struct pci_read_block_response *)resp;
+       unsigned int data_len, hdr_len;
+       hdr_len = offsetof(struct pci_read_block_response, bytes);
+       if (resp_packet_size < hdr_len) {
+               comp->comp_pkt.completion_status = -1;
+               goto out;
+       }
+       data_len = resp_packet_size - hdr_len;
+       if (data_len > 0 && read_resp->status == 0) {
+               comp->bytes_returned = min(comp->len, data_len);
+               memcpy(comp->buf, read_resp->bytes, comp->bytes_returned);
+       } else {
+               comp->bytes_returned = 0;
+       }
+       comp->comp_pkt.completion_status = read_resp->status;
+ out:
+       complete(&comp->comp_pkt.host_event);
+ }
+ /**
+  * hv_read_config_block() - Sends a read config block request to
+  * the back-end driver running in the Hyper-V parent partition.
+  * @pdev:             The PCI driver's representation for this device.
+  * @buf:              Buffer into which the config block will be copied.
+  * @len:              Size in bytes of buf.
+  * @block_id:         Identifies the config block which has been requested.
+  * @bytes_returned:   Size which came back from the back-end driver.
+  *
+  * Return: 0 on success, -errno on failure
+  */
+ int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
+                        unsigned int block_id, unsigned int *bytes_returned)
+ {
+       struct hv_pcibus_device *hbus =
+               container_of(pdev->bus->sysdata, struct hv_pcibus_device,
+                            sysdata);
+       struct {
+               struct pci_packet pkt;
+               char buf[sizeof(struct pci_read_block)];
+       } pkt;
+       struct hv_read_config_compl comp_pkt;
+       struct pci_read_block *read_blk;
+       int ret;
+       if (len == 0 || len > HV_CONFIG_BLOCK_SIZE_MAX)
+               return -EINVAL;
+       init_completion(&comp_pkt.comp_pkt.host_event);
+       comp_pkt.buf = buf;
+       comp_pkt.len = len;
+       memset(&pkt, 0, sizeof(pkt));
+       pkt.pkt.completion_func = hv_pci_read_config_compl;
+       pkt.pkt.compl_ctxt = &comp_pkt;
+       read_blk = (struct pci_read_block *)&pkt.pkt.message;
+       read_blk->message_type.type = PCI_READ_BLOCK;
+       read_blk->wslot.slot = devfn_to_wslot(pdev->devfn);
+       read_blk->block_id = block_id;
+       read_blk->bytes_requested = len;
+       ret = vmbus_sendpacket(hbus->hdev->channel, read_blk,
+                              sizeof(*read_blk), (unsigned long)&pkt.pkt,
+                              VM_PKT_DATA_INBAND,
+                              VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+       if (ret)
+               return ret;
+       ret = wait_for_response(hbus->hdev, &comp_pkt.comp_pkt.host_event);
+       if (ret)
+               return ret;
+       if (comp_pkt.comp_pkt.completion_status != 0 ||
+           comp_pkt.bytes_returned == 0) {
+               dev_err(&hbus->hdev->device,
+                       "Read Config Block failed: 0x%x, bytes_returned=%d\n",
+                       comp_pkt.comp_pkt.completion_status,
+                       comp_pkt.bytes_returned);
+               return -EIO;
+       }
+       *bytes_returned = comp_pkt.bytes_returned;
+       return 0;
+ }
+ /**
+  * hv_pci_write_config_compl() - Invoked when a response packet for a write
+  * config block operation arrives.
+  * @context:          Identifies the write config operation
+  * @resp:             The response packet itself
+  * @resp_packet_size: Size in bytes of the response packet
+  */
+ static void hv_pci_write_config_compl(void *context, struct pci_response *resp,
+                                     int resp_packet_size)
+ {
+       struct hv_pci_compl *comp_pkt = context;
+       comp_pkt->completion_status = resp->status;
+       complete(&comp_pkt->host_event);
+ }
+ /**
+  * hv_write_config_block() - Sends a write config block request to the
+  * back-end driver running in the Hyper-V parent partition.
+  * @pdev:             The PCI driver's representation for this device.
+  * @buf:              Buffer from which the config block will be copied.
+  * @len:              Size in bytes of buf.
+  * @block_id:         Identifies the config block which is being written.
+  *
+  * Return: 0 on success, -errno on failure
+  */
+ int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
+                         unsigned int block_id)
+ {
+       struct hv_pcibus_device *hbus =
+               container_of(pdev->bus->sysdata, struct hv_pcibus_device,
+                            sysdata);
+       struct {
+               struct pci_packet pkt;
+               char buf[sizeof(struct pci_write_block)];
+               u32 reserved;
+       } pkt;
+       struct hv_pci_compl comp_pkt;
+       struct pci_write_block *write_blk;
+       u32 pkt_size;
+       int ret;
+       if (len == 0 || len > HV_CONFIG_BLOCK_SIZE_MAX)
+               return -EINVAL;
+       init_completion(&comp_pkt.host_event);
+       memset(&pkt, 0, sizeof(pkt));
+       pkt.pkt.completion_func = hv_pci_write_config_compl;
+       pkt.pkt.compl_ctxt = &comp_pkt;
+       write_blk = (struct pci_write_block *)&pkt.pkt.message;
+       write_blk->message_type.type = PCI_WRITE_BLOCK;
+       write_blk->wslot.slot = devfn_to_wslot(pdev->devfn);
+       write_blk->block_id = block_id;
+       write_blk->byte_count = len;
+       memcpy(write_blk->bytes, buf, len);
+       pkt_size = offsetof(struct pci_write_block, bytes) + len;
+       /*
+        * This quirk is required on some hosts shipped around 2018, because
+        * these hosts don't check the pkt_size correctly (new hosts have been
+        * fixed since early 2019). The quirk is also safe on very old hosts
+        * and new hosts, because, on them, what really matters is the length
+        * specified in write_blk->byte_count.
+        */
+       pkt_size += sizeof(pkt.reserved);
+       ret = vmbus_sendpacket(hbus->hdev->channel, write_blk, pkt_size,
+                              (unsigned long)&pkt.pkt, VM_PKT_DATA_INBAND,
+                              VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
+       if (ret)
+               return ret;
+       ret = wait_for_response(hbus->hdev, &comp_pkt.host_event);
+       if (ret)
+               return ret;
+       if (comp_pkt.completion_status != 0) {
+               dev_err(&hbus->hdev->device,
+                       "Write Config Block failed: 0x%x\n",
+                       comp_pkt.completion_status);
+               return -EIO;
+       }
+       return 0;
+ }
+ /**
+  * hv_register_block_invalidate() - Invoked when a config block invalidation
+  * arrives from the back-end driver.
+  * @pdev:             The PCI driver's representation for this device.
+  * @context:          Identifies the device.
+  * @block_invalidate: Identifies all of the blocks being invalidated.
+  *
+  * Return: 0 on success, -errno on failure
+  */
+ int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
+                                void (*block_invalidate)(void *context,
+                                                         u64 block_mask))
+ {
+       struct hv_pcibus_device *hbus =
+               container_of(pdev->bus->sysdata, struct hv_pcibus_device,
+                            sysdata);
+       struct hv_pci_dev *hpdev;
+       hpdev = get_pcichild_wslot(hbus, devfn_to_wslot(pdev->devfn));
+       if (!hpdev)
+               return -ENODEV;
+       hpdev->block_invalidate = block_invalidate;
+       hpdev->invalidate_context = context;
+       put_pcichild(hpdev);
+       return 0;
+ }
  /* Interrupt management hooks */
  static void hv_int_desc_free(struct hv_pci_dev *hpdev,
                             struct tran_int_desc *int_desc)
@@@ -1968,6 -2251,7 +2251,7 @@@ static void hv_pci_onchannelcallback(vo
        struct pci_response *response;
        struct pci_incoming_message *new_message;
        struct pci_bus_relations *bus_rel;
+       struct pci_dev_inval_block *inval;
        struct pci_dev_incoming *dev_message;
        struct hv_pci_dev *hpdev;
  
                                }
                                break;
  
+                       case PCI_INVALIDATE_BLOCK:
+                               inval = (struct pci_dev_inval_block *)buffer;
+                               hpdev = get_pcichild_wslot(hbus,
+                                                          inval->wslot.slot);
+                               if (hpdev) {
+                                       if (hpdev->block_invalidate) {
+                                               hpdev->block_invalidate(
+                                                   hpdev->invalidate_context,
+                                                   inval->block_mask);
+                                       }
+                                       put_pcichild(hpdev);
+                               }
+                               break;
                        default:
                                dev_warn(&hbus->hdev->device,
                                        "Unimplemented protocol message %x\n",
@@@ -2521,7 -2820,6 +2820,7 @@@ static int hv_pci_probe(struct hv_devic
                        const struct hv_vmbus_device_id *dev_id)
  {
        struct hv_pcibus_device *hbus;
 +      char *name;
        int ret;
  
        /*
                goto free_config;
        }
  
 -      hbus->sysdata.fwnode = irq_domain_alloc_fwnode(hbus);
 +      name = kasprintf(GFP_KERNEL, "%pUL", &hdev->dev_instance);
 +      if (!name) {
 +              ret = -ENOMEM;
 +              goto unmap;
 +      }
 +
 +      hbus->sysdata.fwnode = irq_domain_alloc_named_fwnode(name);
 +      kfree(name);
        if (!hbus->sysdata.fwnode) {
                ret = -ENOMEM;
                goto unmap;
@@@ -2751,10 -3042,19 +3050,19 @@@ static struct hv_driver hv_pci_drv = 
  static void __exit exit_hv_pci_drv(void)
  {
        vmbus_driver_unregister(&hv_pci_drv);
+       hvpci_block_ops.read_block = NULL;
+       hvpci_block_ops.write_block = NULL;
+       hvpci_block_ops.reg_blk_invalidate = NULL;
  }
  
  static int __init init_hv_pci_drv(void)
  {
+       /* Initialize PCI block r/w interface */
+       hvpci_block_ops.read_block = hv_read_config_block;
+       hvpci_block_ops.write_block = hv_write_config_block;
+       hvpci_block_ops.reg_blk_invalidate = hv_register_block_invalidate;
        return vmbus_driver_register(&hv_pci_drv);
  }
  
diff --combined drivers/staging/Kconfig
index b9c7f0dc653b9f48e3e1e24bd6727068239f64aa,0b8a614be11eb515041acd50823856c3e7278f04..6f1fa4c849a1685f8a28a528eac6a0a787d8bca1
@@@ -112,15 -112,14 +112,17 @@@ source "drivers/staging/gasket/Kconfig
  
  source "drivers/staging/axis-fifo/Kconfig"
  
 -source "drivers/staging/erofs/Kconfig"
 -
  source "drivers/staging/fieldbus/Kconfig"
  
  source "drivers/staging/kpc2000/Kconfig"
  
  source "drivers/staging/isdn/Kconfig"
  
 +source "drivers/staging/wusbcore/Kconfig"
 +source "drivers/staging/uwb/Kconfig"
 +
 +source "drivers/staging/exfat/Kconfig"
 +
+ source "drivers/staging/qlge/Kconfig"
  endif # STAGING
diff --combined drivers/staging/Makefile
index 4b5962006c4ba61d54491d246817a5e594a8d359,741152511a1046e99699a4996967b992f876df26..a90f9b308c8dea54f302704bdde1617bdc08d173
@@@ -46,9 -46,8 +46,10 @@@ obj-$(CONFIG_DMA_RALINK)     += ralink-gdma
  obj-$(CONFIG_SOC_MT7621)      += mt7621-dts/
  obj-$(CONFIG_STAGING_GASKET_FRAMEWORK)        += gasket/
  obj-$(CONFIG_XIL_AXIS_FIFO)   += axis-fifo/
 -obj-$(CONFIG_EROFS_FS)                += erofs/
  obj-$(CONFIG_FIELDBUS_DEV)     += fieldbus/
  obj-$(CONFIG_KPC2000)         += kpc2000/
  obj-$(CONFIG_ISDN_CAPI)               += isdn/
 +obj-$(CONFIG_UWB)             += uwb/
 +obj-$(CONFIG_USB_WUSB)                += wusbcore/
 +obj-$(CONFIG_EXFAT_FS)                += exfat/
+ obj-$(CONFIG_QLGE)            += qlge/
index 33762f2e9a4487ade0f6e8667b64acea8e5e0c5b,8889494adf1ff39eee8bccef97fbadb552ff4e8d..cf8e9a23ebf9fb0c4ba5224d298e5bf79f410587
  
  #include <net/dst.h>
  
- #include <asm/octeon/octeon.h>
- #include "ethernet-defines.h"
  #include "octeon-ethernet.h"
+ #include "ethernet-defines.h"
  #include "ethernet-mem.h"
  #include "ethernet-rx.h"
  #include "ethernet-tx.h"
  #include "ethernet-mdio.h"
  #include "ethernet-util.h"
  
- #include <asm/octeon/cvmx-pip.h>
- #include <asm/octeon/cvmx-pko.h>
- #include <asm/octeon/cvmx-fau.h>
- #include <asm/octeon/cvmx-ipd.h>
- #include <asm/octeon/cvmx-helper.h>
- #include <asm/octeon/cvmx-asxx-defs.h>
- #include <asm/octeon/cvmx-gmxx-defs.h>
  #define OCTEON_MAX_MTU 65392
  
  static int num_packet_buffers = 1024;
@@@ -794,7 -784,7 +784,7 @@@ static int cvm_oct_probe(struct platfor
                        priv->imode = CVMX_HELPER_INTERFACE_MODE_DISABLED;
                        priv->port = CVMX_PIP_NUM_INPUT_PORTS;
                        priv->queue = -1;
 -                      strcpy(dev->name, "pow%d");
 +                      strscpy(dev->name, "pow%d", sizeof(dev->name));
                        for (qos = 0; qos < 16; qos++)
                                skb_queue_head_init(&priv->tx_free_list[qos]);
                        dev->min_mtu = VLAN_ETH_ZLEN - mtu_overhead;
  
                        case CVMX_HELPER_INTERFACE_MODE_NPI:
                                dev->netdev_ops = &cvm_oct_npi_netdev_ops;
 -                              strcpy(dev->name, "npi%d");
 +                              strscpy(dev->name, "npi%d", sizeof(dev->name));
                                break;
  
                        case CVMX_HELPER_INTERFACE_MODE_XAUI:
                                dev->netdev_ops = &cvm_oct_xaui_netdev_ops;
 -                              strcpy(dev->name, "xaui%d");
 +                              strscpy(dev->name, "xaui%d", sizeof(dev->name));
                                break;
  
                        case CVMX_HELPER_INTERFACE_MODE_LOOP:
                                dev->netdev_ops = &cvm_oct_npi_netdev_ops;
 -                              strcpy(dev->name, "loop%d");
 +                              strscpy(dev->name, "loop%d", sizeof(dev->name));
                                break;
  
                        case CVMX_HELPER_INTERFACE_MODE_SGMII:
                                priv->phy_mode = PHY_INTERFACE_MODE_SGMII;
                                dev->netdev_ops = &cvm_oct_sgmii_netdev_ops;
 -                              strcpy(dev->name, "eth%d");
 +                              strscpy(dev->name, "eth%d", sizeof(dev->name));
                                break;
  
                        case CVMX_HELPER_INTERFACE_MODE_SPI:
                                dev->netdev_ops = &cvm_oct_spi_netdev_ops;
 -                              strcpy(dev->name, "spi%d");
 +                              strscpy(dev->name, "spi%d", sizeof(dev->name));
                                break;
  
                        case CVMX_HELPER_INTERFACE_MODE_GMII:
                                priv->phy_mode = PHY_INTERFACE_MODE_GMII;
                                dev->netdev_ops = &cvm_oct_rgmii_netdev_ops;
 -                              strcpy(dev->name, "eth%d");
 +                              strscpy(dev->name, "eth%d", sizeof(dev->name));
                                break;
  
                        case CVMX_HELPER_INTERFACE_MODE_RGMII:
                                dev->netdev_ops = &cvm_oct_rgmii_netdev_ops;
 -                              strcpy(dev->name, "eth%d");
 +                              strscpy(dev->name, "eth%d", sizeof(dev->name));
                                cvm_set_rgmii_delay(priv, interface,
                                                    port_index);
                                break;
diff --combined include/Kbuild
index 4d5a03a81fb57e21603b0b4311d359ef8683b2e2,af498acb7cd28c0e818fb51eea86e7c39ea59177..bfbe7adc261b5a1941ca1c61b39bb68d9ba0b59f
@@@ -386,31 -386,6 +386,6 @@@ header-test-                      += linux/mvebu-pmsu.
  header-test-                  += linux/mxm-wmi.h
  header-test-                  += linux/n_r3964.h
  header-test-                  += linux/ndctl.h
- header-test-                  += linux/netfilter/ipset/ip_set.h
- header-test-                  += linux/netfilter/ipset/ip_set_bitmap.h
- header-test-                  += linux/netfilter/ipset/ip_set_comment.h
- header-test-                  += linux/netfilter/ipset/ip_set_counter.h
- header-test-                  += linux/netfilter/ipset/ip_set_getport.h
- header-test-                  += linux/netfilter/ipset/ip_set_hash.h
- header-test-                  += linux/netfilter/ipset/ip_set_list.h
- header-test-                  += linux/netfilter/ipset/ip_set_skbinfo.h
- header-test-                  += linux/netfilter/ipset/ip_set_timeout.h
- header-test-                  += linux/netfilter/nf_conntrack_amanda.h
- header-test-                  += linux/netfilter/nf_conntrack_ftp.h
- header-test-                  += linux/netfilter/nf_conntrack_h323.h
- header-test-                  += linux/netfilter/nf_conntrack_h323_asn1.h
- header-test-                  += linux/netfilter/nf_conntrack_irc.h
- header-test-                  += linux/netfilter/nf_conntrack_pptp.h
- header-test-                  += linux/netfilter/nf_conntrack_proto_gre.h
- header-test-                  += linux/netfilter/nf_conntrack_sip.h
- header-test-                  += linux/netfilter/nf_conntrack_snmp.h
- header-test-                  += linux/netfilter/nf_conntrack_tftp.h
- header-test-                  += linux/netfilter/x_tables.h
- header-test-                  += linux/netfilter_arp/arp_tables.h
- header-test-                  += linux/netfilter_bridge/ebtables.h
- header-test-                  += linux/netfilter_ipv4/ip4_tables.h
- header-test-                  += linux/netfilter_ipv4/ip_tables.h
- header-test-                  += linux/netfilter_ipv6/ip6_tables.h
  header-test-                  += linux/nfs.h
  header-test-                  += linux/nfs_fs_i.h
  header-test-                  += linux/nfs_fs_sb.h
@@@ -550,6 -525,7 +525,6 @@@ header-test-                       += linux/platform_data/s
  header-test-                  += linux/platform_data/spi-davinci.h
  header-test-                  += linux/platform_data/spi-ep93xx.h
  header-test-                  += linux/platform_data/spi-mt65xx.h
 -header-test-                  += linux/platform_data/spi-nuc900.h
  header-test-                  += linux/platform_data/st_sensors_pdata.h
  header-test-                  += linux/platform_data/ti-sysc.h
  header-test-                  += linux/platform_data/timer-ixp4xx.h
@@@ -568,6 -544,7 +543,6 @@@ header-test-                       += linux/platform_data/u
  header-test-                  += linux/platform_data/ux500_wdt.h
  header-test-                  += linux/platform_data/video-clcd-versatile.h
  header-test-                  += linux/platform_data/video-imxfb.h
 -header-test-                  += linux/platform_data/video-nuc900fb.h
  header-test-                  += linux/platform_data/video-pxafb.h
  header-test-                  += linux/platform_data/video_s3c.h
  header-test-                  += linux/platform_data/voltage-omap.h
@@@ -872,43 -849,6 +847,6 @@@ header-test-                      += net/mpls_iptunnel.
  header-test-                  += net/mrp.h
  header-test-                  += net/ncsi.h
  header-test-                  += net/netevent.h
- header-test-                  += net/netfilter/br_netfilter.h
- header-test-                  += net/netfilter/ipv4/nf_dup_ipv4.h
- header-test-                  += net/netfilter/ipv6/nf_defrag_ipv6.h
- header-test-                  += net/netfilter/ipv6/nf_dup_ipv6.h
- header-test-                  += net/netfilter/nf_conntrack.h
- header-test-                  += net/netfilter/nf_conntrack_acct.h
- header-test-                  += net/netfilter/nf_conntrack_bridge.h
- header-test-                  += net/netfilter/nf_conntrack_core.h
- header-test-                  += net/netfilter/nf_conntrack_count.h
- header-test-                  += net/netfilter/nf_conntrack_ecache.h
- header-test-                  += net/netfilter/nf_conntrack_expect.h
- header-test-                  += net/netfilter/nf_conntrack_extend.h
- header-test-                  += net/netfilter/nf_conntrack_helper.h
- header-test-                  += net/netfilter/nf_conntrack_l4proto.h
- header-test-                  += net/netfilter/nf_conntrack_labels.h
- header-test-                  += net/netfilter/nf_conntrack_seqadj.h
- header-test-                  += net/netfilter/nf_conntrack_synproxy.h
- header-test-                  += net/netfilter/nf_conntrack_timeout.h
- header-test-                  += net/netfilter/nf_conntrack_timestamp.h
- header-test-                  += net/netfilter/nf_conntrack_tuple.h
- header-test-                  += net/netfilter/nf_dup_netdev.h
- header-test-                  += net/netfilter/nf_flow_table.h
- header-test-                  += net/netfilter/nf_nat.h
- header-test-                  += net/netfilter/nf_nat_helper.h
- header-test-                  += net/netfilter/nf_nat_masquerade.h
- header-test-                  += net/netfilter/nf_nat_redirect.h
- header-test-                  += net/netfilter/nf_queue.h
- header-test-                  += net/netfilter/nf_reject.h
- header-test-                  += net/netfilter/nf_synproxy.h
- header-test-$(CONFIG_NF_TABLES)       += net/netfilter/nf_tables.h
- header-test-$(CONFIG_NF_TABLES)       += net/netfilter/nf_tables_core.h
- header-test-$(CONFIG_NF_TABLES)       += net/netfilter/nf_tables_ipv4.h
- header-test-                  += net/netfilter/nf_tables_ipv6.h
- header-test-$(CONFIG_NF_TABLES)       += net/netfilter/nf_tables_offload.h
- header-test-                  += net/netfilter/nft_fib.h
- header-test-                  += net/netfilter/nft_meta.h
- header-test-                  += net/netfilter/nft_reject.h
  header-test-                  += net/netns/can.h
  header-test-                  += net/netns/generic.h
  header-test-                  += net/netns/ieee802154_6lowpan.h
@@@ -1138,18 -1078,6 +1076,6 @@@ header-test-                   += uapi/linux/kvm_para.
  header-test-                  += uapi/linux/lightnvm.h
  header-test-                  += uapi/linux/mic_common.h
  header-test-                  += uapi/linux/mman.h
- header-test-                  += uapi/linux/netfilter/ipset/ip_set_bitmap.h
- header-test-                  += uapi/linux/netfilter/ipset/ip_set_hash.h
- header-test-                  += uapi/linux/netfilter/ipset/ip_set_list.h
- header-test-                  += uapi/linux/netfilter/nf_synproxy.h
- header-test-                  += uapi/linux/netfilter/xt_policy.h
- header-test-                  += uapi/linux/netfilter/xt_set.h
- header-test-                  += uapi/linux/netfilter_arp/arp_tables.h
- header-test-                  += uapi/linux/netfilter_arp/arpt_mangle.h
- header-test-                  += uapi/linux/netfilter_ipv4/ip_tables.h
- header-test-                  += uapi/linux/netfilter_ipv4/ipt_LOG.h
- header-test-                  += uapi/linux/netfilter_ipv6/ip6_tables.h
- header-test-                  += uapi/linux/netfilter_ipv6/ip6t_LOG.h
  header-test-                  += uapi/linux/nilfs2_ondisk.h
  header-test-                  += uapi/linux/patchkey.h
  header-test-                  += uapi/linux/ptrace.h
index f3f3189f5389b4866bb47f97d4c62017cc2df023,64bcb589a610303185b6bd722f4b659ba21ee907..f8712bbeb2e039657e5cf8d37b15511de8c9c694
@@@ -103,9 -103,6 +103,6 @@@ struct net 
        /* core fib_rules */
        struct list_head        rules_ops;
  
-       struct list_head        fib_notifier_ops;  /* Populated by
-                                                   * register_pernet_subsys()
-                                                   */
        struct net_device       *loopback_dev;          /* The loopback */
        struct netns_core       core;
        struct netns_mib        mib;
  #endif
  #ifdef CONFIG_XDP_SOCKETS
        struct netns_xdp        xdp;
 +#endif
 +#if IS_ENABLED(CONFIG_CRYPTO_USER)
 +      struct sock             *crypto_nlsk;
  #endif
        struct sock             *diag_nlsk;
        atomic_t                fnhe_genid;
diff --combined kernel/trace/Kconfig
index 6a64d77728704c11e71798f6d26ed4cc7338f762,b09d7b1ffffdbb518f255f8b4db8dbb0eb7f172d..e08527f50d2a91f91077922eeae61b30a150dfa1
@@@ -146,7 -146,7 +146,7 @@@ config FUNCTION_TRACE
        select GENERIC_TRACER
        select CONTEXT_SWITCH_TRACER
        select GLOB
 -      select TASKS_RCU if PREEMPT
 +      select TASKS_RCU if PREEMPTION
        help
          Enable the kernel to trace every kernel function. This is done
          by using a compiler feature to insert a small, 5-byte No-Operation
@@@ -179,7 -179,7 +179,7 @@@ config TRACE_PREEMPT_TOGGL
  config PREEMPTIRQ_EVENTS
        bool "Enable trace events for preempt and irq disable/enable"
        select TRACE_IRQFLAGS
 -      select TRACE_PREEMPT_TOGGLE if PREEMPT
 +      select TRACE_PREEMPT_TOGGLE if PREEMPTION
        select GENERIC_TRACER
        default n
        help
@@@ -214,7 -214,7 +214,7 @@@ config PREEMPT_TRACE
        bool "Preemption-off Latency Tracer"
        default n
        depends on !ARCH_USES_GETTIMEOFFSET
 -      depends on PREEMPT
 +      depends on PREEMPTION
        select GENERIC_TRACER
        select TRACER_MAX_TRACE
        select RING_BUFFER_ALLOW_SWAP
@@@ -520,7 -520,8 +520,8 @@@ config BPF_EVENT
        bool
        default y
        help
-         This allows the user to attach BPF programs to kprobe events.
+         This allows the user to attach BPF programs to kprobe, uprobe, and
+         tracepoint events.
  
  config DYNAMIC_EVENTS
        def_bool n
diff --combined net/core/pktgen.c
index 1d0c1b4886d778a0b1d95384558c05e000a23342,c5dbdc87342a88bb8e1d56fdc7d34f05895fad81..48b1e429857c54acd669f5cd6798b1dcf89a1f82
@@@ -2156,7 -2156,7 +2156,7 @@@ static void spin(struct pktgen_dev *pkt
        s64 remaining;
        struct hrtimer_sleeper t;
  
 -      hrtimer_init_on_stack(&t.timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
 +      hrtimer_init_sleeper_on_stack(&t, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
        hrtimer_set_expires(&t.timer, spin_until);
  
        remaining = ktime_to_ns(hrtimer_expires_remaining(&t.timer));
                        end_time = ktime_get();
                } while (ktime_compare(end_time, spin_until) < 0);
        } else {
 -              /* see do_nanosleep */
 -              hrtimer_init_sleeper(&t, current);
                do {
                        set_current_state(TASK_INTERRUPTIBLE);
 -                      hrtimer_start_expires(&t.timer, HRTIMER_MODE_ABS);
 +                      hrtimer_sleeper_start_expires(&t, HRTIMER_MODE_ABS);
  
                        if (likely(t.task))
                                schedule();
@@@ -2650,7 -2652,7 +2650,7 @@@ static void pktgen_finalize_skb(struct 
                        }
                        get_page(pkt_dev->page);
                        skb_frag_set_page(skb, i, pkt_dev->page);
-                       skb_shinfo(skb)->frags[i].page_offset = 0;
+                       skb_frag_off_set(&skb_shinfo(skb)->frags[i], 0);
                        /*last fragment, fill rest of data*/
                        if (i == (frags - 1))
                                skb_frag_size_set(&skb_shinfo(skb)->frags[i],