Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 May 2016 18:04:16 +0000 (11:04 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 May 2016 18:04:16 +0000 (11:04 -0700)
Pull more rdma updates from Doug Ledford:
 "This is the second group of code for the 4.7 merge window.  It looks
  large, but only in one sense.  I'll get to that in a minute.  The list
  of changes here breaks down as follows:

   - Dynamic counter infrastructure in the IB drivers

     This is a sysfs based code to allow free form access to the
     hardware counters RDMA devices might support so drivers don't need
     to code this up repeatedly themselves

   - SendOnlyFullMember multicast support

   - IB router support

   - A couple misc fixes

   - The big item on the list: hfi1 driver updates, plus moving the hfi1
     driver out of staging

  There was a group of 15 patches in the hfi1 list that I thought I had
  in the first pull request but they weren't.  So that added to the
  length of the hfi1 section here.

  As far as these go, everything but the hfi1 is pretty straight
  forward.

  The hfi1 is, if you recall, the driver that Al had complaints about
  how it used the write/writev interfaces in an overloaded fashion.  The
  write portion of their interface behaved like the write handler in the
  IB stack proper and did bi-directional communications.  The writev
  interface, on the other hand, only accepts SDMA request structures.
  The completions for those structures are sent back via an entirely
  different event mechanism.

  With the security patch, we put security checks on the write
  interface, however, we also knew they would be going away soon.  Now,
  we've converted the write handler in the hfi1 driver to use ioctls
  from the IB reserved magic area for its bidirectional communications.
  With that change, Intel has addressed all of the items originally on
  their TODO when they went into staging (as well as many items added to
  the list later).

  As such, I moved them out, and since they were the last item in the
  staging/rdma directory, and I don't have immediate plans to use the
  staging area again, I removed the staging/rdma area.

  Because of the move out of staging, as well as a series of 5 patches
  in the hfi1 driver that removed code people thought should be done in
  a different way and was optional to begin with (a snoop debug
  interface, an eeprom driver for an eeprom connected directory to their
  hfi1 chip and not via an i2c bus, and a few other things like that),
  the line count, especially the removal count, is high"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (56 commits)
  staging/rdma: Remove the entire rdma subdirectory of staging
  IB/core: Make device counter infrastructure dynamic
  IB/hfi1: Fix pio map initialization
  IB/hfi1: Correct 8051 link parameter settings
  IB/hfi1: Update pkey table properly after link down or FM start
  IB/rdamvt: Fix rdmavt s_ack_queue sizing
  IB/rdmavt: Max atomic value should be a u8
  IB/hfi1: Fix hard lockup due to not using save/restore spin lock
  IB/hfi1: Add tracing support for send with invalidate opcode
  IB/hfi1, qib: Add ieth to the packet header definitions
  IB/hfi1: Move driver out of staging
  IB/hfi1: Do not free hfi1 cdev parent structure early
  IB/hfi1: Add trace message in user IOCTL handling
  IB/hfi1: Remove write(), use ioctl() for user cmds
  IB/hfi1: Add ioctl() interface for user commands
  IB/hfi1: Remove unused user command
  IB/hfi1: Remove snoop/diag interface
  IB/hfi1: Remove EPROM functionality from data device
  IB/hfi1: Remove UI char device
  IB/hfi1: Remove multiple device cdev
  ...

1  2 
MAINTAINERS
drivers/infiniband/ulp/ipoib/ipoib_ib.c
drivers/infiniband/ulp/ipoib/ipoib_main.c

diff --combined MAINTAINERS
index f466673f86ff39e2e826e79464fbcb0ca2fe9837,78afefeaa9795bc5f5d8915f30d84562c02b6108..216165a1384de4ee2ef73c804e8eae90633aa3c2
@@@ -175,6 -175,7 +175,6 @@@ F: drivers/net/ethernet/realtek/r8169.
  8250/16?50 (AND CLONE UARTS) SERIAL DRIVER
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    linux-serial@vger.kernel.org
 -W:    http://serial.sourceforge.net
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
  F:    drivers/tty/serial/8250*
@@@ -626,7 -627,6 +626,7 @@@ F: include/linux/altera_jtaguart.
  
  AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER
  M:    Tom Lendacky <thomas.lendacky@amd.com>
 +M:    Gary Hook <gary.hook@amd.com>
  L:    linux-crypto@vger.kernel.org
  S:    Supported
  F:    drivers/crypto/ccp/
@@@ -776,15 -776,6 +776,15 @@@ S:       Supporte
  F:    drivers/android/
  F:    drivers/staging/android/
  
 +ANDROID ION DRIVER
 +M:    Laura Abbott <labbott@redhat.com>
 +M:    Sumit Semwal <sumit.semwal@linaro.org>
 +L:    devel@driverdev.osuosl.org
 +S:    Supported
 +F:    drivers/staging/android/ion
 +F:    drivers/staging/android/uapi/ion.h
 +F:    drivers/staging/android/uapi/ion_test.h
 +
  AOA (Apple Onboard Audio) ALSA DRIVER
  M:    Johannes Berg <johannes@sipsolutions.net>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -856,12 -847,6 +856,12 @@@ S:       Maintaine
  F:    drivers/net/arcnet/
  F:    include/uapi/linux/if_arcnet.h
  
 +ARC PGU DRM DRIVER
 +M:    Alexey Brodkin <abrodkin@synopsys.com>
 +S:    Supported
 +F:    drivers/gpu/drm/arc/
 +F:    Documentation/devicetree/bindings/display/snps,arcpgu.txt
 +
  ARM HDLCD DRM DRIVER
  M:    Liviu Dudau <liviu.dudau@arm.com>
  S:    Supported
@@@ -887,9 -872,9 +887,9 @@@ F: drivers/perf/arm_pmu.
  F:    include/linux/perf/arm_pmu.h
  
  ARM PORT
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.arm.linux.org.uk/
 +W:    http://www.armlinux.org.uk/
  S:    Maintained
  F:    arch/arm/
  
@@@ -901,35 -886,35 +901,35 @@@ F:      arch/arm/plat-*
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git
  
  ARM PRIMECELL AACI PL041 DRIVER
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  S:    Maintained
  F:    sound/arm/aaci.*
  
  ARM PRIMECELL CLCD PL110 DRIVER
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  S:    Maintained
  F:    drivers/video/fbdev/amba-clcd.*
  
  ARM PRIMECELL KMI PL050 DRIVER
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  S:    Maintained
  F:    drivers/input/serio/ambakmi.*
  F:    include/linux/amba/kmi.h
  
  ARM PRIMECELL MMCI PL180/1 DRIVER
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  S:    Maintained
  F:    drivers/mmc/host/mmci.*
  F:    include/linux/amba/mmci.h
  
  ARM PRIMECELL UART PL010 AND PL011 DRIVERS
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  S:    Maintained
  F:    drivers/tty/serial/amba-pl01*.c
  F:    include/linux/amba/serial.h
  
  ARM PRIMECELL BUS SUPPORT
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  S:    Maintained
  F:    drivers/amba/
  F:    include/linux/amba/bus.h
@@@ -963,15 -948,12 +963,15 @@@ F:      drivers/clk/sunxi
  
  ARM/Amlogic Meson SoC support
  M:    Carlo Caione <carlo@caione.org>
 +M:    Kevin Hilman <khilman@baylibre.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -L:    linux-meson@googlegroups.com
 +L:    linux-amlogic@lists.infradead.org
  W:    http://linux-meson.com/
  S:    Maintained
  F:    arch/arm/mach-meson/
  F:    arch/arm/boot/dts/meson*
 +F:    arch/arm64/boot/dts/amlogic/
 +F:    drivers/pinctrl/meson/
  N:    meson
  
  ARM/Annapurna Labs ALPINE ARCHITECTURE
@@@ -991,14 -973,7 +991,14 @@@ S:       Maintaine
  L:    linux-arm-kernel@axis.com
  F:    arch/arm/mach-artpec
  F:    arch/arm/boot/dts/artpec6*
 -F:    drivers/clk/clk-artpec6.c
 +F:    drivers/clk/axis
 +
 +ARM/ASPEED MACHINE SUPPORT
 +M:    Joel Stanley <joel@jms.id.au>
 +S:    Maintained
 +F:    arch/arm/mach-aspeed/
 +F:    arch/arm/boot/dts/aspeed-*
 +F:    drivers/*/*aspeed*
  
  ARM/ATMEL AT91RM9200, AT91SAM9 AND SAMA5 SOC SUPPORT
  M:    Nicolas Ferre <nicolas.ferre@atmel.com>
@@@ -1061,7 -1036,7 +1061,7 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Maintained
  
  ARM/CLKDEV SUPPORT
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/include/asm/clkdev.h
@@@ -1118,9 -1093,9 +1118,9 @@@ F:      arch/arm/boot/dts/cx92755
  N:    digicolor
  
  ARM/EBSA110 MACHINE SUPPORT
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.arm.linux.org.uk/
 +W:    http://www.armlinux.org.uk/
  S:    Maintained
  F:    arch/arm/mach-ebsa110/
  F:    drivers/net/ethernet/amd/am79c961a.*
@@@ -1149,9 -1124,9 +1149,9 @@@ T:      git git://git.berlios.de/gemini-boar
  F:    arch/arm/mm/*-fa*
  
  ARM/FOOTBRIDGE ARCHITECTURE
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.arm.linux.org.uk/
 +W:    http://www.armlinux.org.uk/
  S:    Maintained
  F:    arch/arm/include/asm/hardware/dec21285.h
  F:    arch/arm/mach-footbridge/
@@@ -1285,7 -1260,7 +1285,7 @@@ M:      Santosh Shilimkar <ssantosh@kernel.o
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-keystone/
 -F:    arch/arm/boot/dts/k2*
 +F:    arch/arm/boot/dts/keystone-*
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git
  
  ARM/TEXAS INSTRUMENT KEYSTONE CLOCK FRAMEWORK
@@@ -1313,12 -1288,6 +1313,12 @@@ L:    linux-kernel@vger.kernel.or
  S:    Maintained
  F:    drivers/memory/*emif*
  
 +ARM/LG1K ARCHITECTURE
 +M:    Chanho Min <chanho.min@lge.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm64/boot/dts/lg/
 +
  ARM/LOGICPD PXA270 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1337,25 -1306,11 +1337,25 @@@ F:   drivers/mtd/spi-nor/nxp-spifi.
  F:    drivers/rtc/rtc-lpc24xx.c
  N:    lpc18xx
  
 +ARM/LPC32XX SOC SUPPORT
 +M:    Vladimir Zapolskiy <vz@mleia.com>
 +M:    Sylvain Lemieux <slemieux.tyco@gmail.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +T:    git git://github.com/vzapolskiy/linux-lpc32xx.git
 +S:    Maintained
 +F:    arch/arm/boot/dts/lpc32*
 +F:    arch/arm/mach-lpc32xx/
 +F:    drivers/i2c/busses/i2c-pnx.c
 +F:    drivers/net/ethernet/nxp/lpc_eth.c
 +F:    drivers/usb/host/ohci-nxp.c
 +F:    drivers/watchdog/pnx4008_wdt.c
 +N:    lpc32xx
 +
  ARM/MAGICIAN MACHINE SUPPORT
  M:    Philipp Zabel <philipp.zabel@gmail.com>
  S:    Maintained
  
 -ARM/Marvell Kirkwood and Armada 370, 375, 38x, XP SOC support
 +ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K SOC support
  M:    Jason Cooper <jason@lakedaemon.net>
  M:    Andrew Lunn <andrew@lunn.ch>
  M:    Gregory Clement <gregory.clement@free-electrons.com>
@@@ -1367,8 -1322,7 +1367,8 @@@ F:      drivers/rtc/rtc-armada38x.
  F:    arch/arm/boot/dts/armada*
  F:    arch/arm/boot/dts/kirkwood*
  F:    arch/arm64/boot/dts/marvell/armada*
 -
 +F:    drivers/cpufreq/mvebu-cpufreq.c
 +F:    arch/arm/configs/mvebu_*_defconfig
  
  ARM/Marvell Berlin SoC support
  M:    Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
@@@ -1401,15 -1355,6 +1401,15 @@@ W:    http://www.digriz.org.uk/ts78xx/kern
  S:    Maintained
  F:    arch/arm/mach-orion5x/ts78xx-*
  
 +ARM/OXNAS platform support
 +M:    Neil Armstrong <narmstrong@baylibre.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/mach-oxnas/
 +F:    arch/arm/boot/dts/oxnas*
 +F:    arch/arm/boot/dts/wd-mbwe.dts
 +N:    oxnas
 +
  ARM/Mediatek RTC DRIVER
  M:    Eddie Huang <eddie.huang@mediatek.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1512,7 -1457,7 +1512,7 @@@ S:      Maintaine
  ARM/PT DIGITAL BOARD PORT
  M:    Stefan Eletzhofer <stefan.eletzhofer@eletztrick.de>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.arm.linux.org.uk/
 +W:    http://www.armlinux.org.uk/
  S:    Maintained
  
  ARM/QUALCOMM SUPPORT
@@@ -1525,10 -1470,7 +1525,10 @@@ F:    arch/arm/boot/dts/qcom-*.dt
  F:    arch/arm/boot/dts/qcom-*.dtsi
  F:    arch/arm/mach-qcom/
  F:    arch/arm64/boot/dts/qcom/*
 +F:    drivers/i2c/busses/i2c-qup.c
 +F:    drivers/clk/qcom/
  F:    drivers/soc/qcom/
 +F:    drivers/spi/spi-qup.c
  F:    drivers/tty/serial/msm_serial.h
  F:    drivers/tty/serial/msm_serial.c
  F:    drivers/*/pm8???-*
@@@ -1549,13 -1491,11 +1549,13 @@@ Q:   http://patchwork.kernel.org/project/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
  S:    Supported
  F:    arch/arm64/boot/dts/renesas/
 +F:    drivers/soc/renesas/
 +F:    include/linux/soc/renesas/
  
  ARM/RISCPC ARCHITECTURE
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.arm.linux.org.uk/
 +W:    http://www.armlinux.org.uk/
  S:    Maintained
  F:    arch/arm/include/asm/hardware/entry-macro-iomd.S
  F:    arch/arm/include/asm/hardware/ioc.h
@@@ -1600,7 -1540,6 +1600,7 @@@ F:      arch/arm/mach-s5p*
  F:    arch/arm/mach-exynos*/
  F:    drivers/*/*s3c2410*
  F:    drivers/*/*/*s3c2410*
 +F:    drivers/memory/samsung/*
  F:    drivers/soc/samsung/*
  F:    drivers/spi/spi-s3c*
  F:    sound/soc/samsung/*
@@@ -1665,8 -1604,6 +1665,8 @@@ F:      arch/arm/configs/shmobile_defconfi
  F:    arch/arm/include/debug/renesas-scif.S
  F:    arch/arm/mach-shmobile/
  F:    drivers/sh/
 +F:    drivers/soc/renesas/
 +F:    include/linux/soc/renesas/
  
  ARM/SOCFPGA ARCHITECTURE
  M:    Dinh Nguyen <dinguyen@opensource.altera.com>
@@@ -1701,7 -1638,6 +1701,7 @@@ F:      arch/arm/boot/dts/sti
  F:    drivers/char/hw_random/st-rng.c
  F:    drivers/clocksource/arm_global_timer.c
  F:    drivers/clocksource/clksrc_st_lpc.c
 +F:    drivers/cpufreq/sti-cpufreq.c
  F:    drivers/i2c/busses/i2c-st.c
  F:    drivers/media/rc/st_rc.c
  F:    drivers/media/platform/sti/c8sectpfe/
@@@ -1711,7 -1647,6 +1711,7 @@@ F:      drivers/phy/phy-miphy365x.
  F:    drivers/phy/phy-stih407-usb.c
  F:    drivers/phy/phy-stih41x-usb.c
  F:    drivers/pinctrl/pinctrl-st.c
 +F:    drivers/remoteproc/st_remoteproc.c
  F:    drivers/reset/sti/
  F:    drivers/rtc/rtc-st-lpc.c
  F:    drivers/tty/serial/st-asc.c
@@@ -1836,12 -1771,11 +1836,12 @@@ F:   */*/vexpress
  F:    */*/*/vexpress*
  F:    drivers/clk/versatile/clk-vexpress-osc.c
  F:    drivers/clocksource/versatile.c
 +N:    mps2
  
  ARM/VFP SUPPORT
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.arm.linux.org.uk/
 +W:    http://www.armlinux.org.uk/
  S:    Maintained
  F:    arch/arm/vfp/
  
@@@ -1951,16 -1885,6 +1951,16 @@@ L:    platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/asus-wireless.c
  
 +ASYMMETRIC KEYS
 +M:    David Howells <dhowells@redhat.com>
 +L:    keyrings@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/crypto/asymmetric-keys.txt
 +F:    include/linux/verification.h
 +F:    include/crypto/public_key.h
 +F:    include/crypto/pkcs7.h
 +F:    crypto/asymmetric_keys/
 +
  ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
  R:    Dan Williams <dan.j.williams@intel.com>
  W:    http://sourceforge.net/projects/xscaleiop
@@@ -2072,11 -1996,6 +2072,11 @@@ M:    Nicolas Ferre <nicolas.ferre@atmel.c
  S:    Supported
  F:    drivers/tty/serial/atmel_serial.c
  
 +ATMEL AT91 SAMA5D2-Compatible Shutdown Controller
 +M:    Nicolas Ferre <nicolas.ferre@atmel.com>
 +S:    Supported
 +F:    drivers/power/reset/at91-sama5d2_shdwc.c
 +
  ATMEL SAMA5D2 ADC DRIVER
  M:    Ludovic Desroches <ludovic.desroches@atmel.com>
  L:    linux-iio@vger.kernel.org
@@@ -2284,13 -2203,10 +2284,13 @@@ BATMAN ADVANCE
  M:    Marek Lindner <mareklindner@neomailbox.ch>
  M:    Simon Wunderlich <sw@simonwunderlich.de>
  M:    Antonio Quartulli <a@unstable.cc>
 -L:    b.a.t.m.a.n@lists.open-mesh.org
 +L:    b.a.t.m.a.n@lists.open-mesh.org (moderated for non-subscribers)
  W:    https://www.open-mesh.org/
  Q:    https://patchwork.open-mesh.org/project/batman/list/
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-class-net-batman-adv
 +F:    Documentation/ABI/testing/sysfs-class-net-mesh
 +F:    Documentation/networking/batman-adv.txt
  F:    net/batman-adv/
  
  BAYCOM/HDLCDRV DRIVERS FOR AX.25
@@@ -2304,7 -2220,7 +2304,7 @@@ BCACHE (BLOCK LAYER CACHE
  M:    Kent Overstreet <kent.overstreet@gmail.com>
  L:    linux-bcache@vger.kernel.org
  W:    http://bcache.evilpiepirate.org
 -S:    Maintained
 +S:    Orphan
  F:    drivers/md/bcache/
  
  BDISP ST MEDIA DRIVER
@@@ -3005,7 -2921,7 +3005,7 @@@ F:      mm/cleancache.
  F:    include/linux/cleancache.h
  
  CLK API
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-clk@vger.kernel.org
  S:    Maintained
  F:    include/linux/clk.h
@@@ -3432,16 -3348,15 +3432,16 @@@ F:   Documentation/powerpc/cxlflash.tx
  
  STMMAC ETHERNET DRIVER
  M:    Giuseppe Cavallaro <peppe.cavallaro@st.com>
 +M:    Alexandre Torgue <alexandre.torgue@st.com>
  L:    netdev@vger.kernel.org
  W:    http://www.stlinux.com
  S:    Supported
  F:    drivers/net/ethernet/stmicro/stmmac/
  
  CYBERPRO FB DRIVER
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -W:    http://www.arm.linux.org.uk/
 +W:    http://www.armlinux.org.uk/
  S:    Maintained
  F:    drivers/video/fbdev/cyber2000fb.*
  
@@@ -3624,15 -3539,6 +3624,15 @@@ F:    drivers/devfreq/devfreq-event.
  F:    include/linux/devfreq-event.h
  F:    Documentation/devicetree/bindings/devfreq/event/
  
 +BUS FREQUENCY DRIVER FOR SAMSUNG EXYNOS
 +M:    Chanwoo Choi <cw00.choi@samsung.com>
 +L:    linux-pm@vger.kernel.org
 +L:    linux-samsung-soc@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git
 +S:    Maintained
 +F:    drivers/devfreq/exynos-bus.c
 +F:    Documentation/devicetree/bindings/devfreq/exynos-bus.txt
 +
  DEVICE NUMBER REGISTRY
  M:    Torben Mathiasen <device@lanana.org>
  W:    http://lanana.org/docs/device-list/index.html
@@@ -3853,25 -3759,9 +3853,25 @@@ T:    git git://people.freedesktop.org/~ai
  S:    Maintained
  F:    drivers/gpu/drm/
  F:    drivers/gpu/vga/
 +F:    Documentation/DocBook/gpu.*
  F:    include/drm/
  F:    include/uapi/drm/
  
 +DRM DRIVER FOR AST SERVER GRAPHICS CHIPS
 +M:    Dave Airlie <airlied@redhat.com>
 +S:    Odd Fixes
 +F:    drivers/gpu/drm/ast/
 +
 +DRM DRIVER FOR BOCHS VIRTUAL GPU
 +M:    Gerd Hoffmann <kraxel@redhat.com>
 +S:    Odd Fixes
 +F:    drivers/gpu/drm/bochs/
 +
 +DRM DRIVER FOR QEMU'S CIRRUS DEVICE
 +M:    Dave Airlie <airlied@redhat.com>
 +S:    Odd Fixes
 +F:    drivers/gpu/drm/cirrus/
 +
  RADEON and AMDGPU DRM DRIVERS
  M:    Alex Deucher <alexander.deucher@amd.com>
  M:    Christian König <christian.koenig@amd.com>
@@@ -3879,9 -3769,9 +3879,9 @@@ L:      dri-devel@lists.freedesktop.or
  T:    git git://people.freedesktop.org/~agd5f/linux
  S:    Supported
  F:    drivers/gpu/drm/radeon/
 -F:    include/uapi/drm/radeon*
 +F:    include/uapi/drm/radeon_drm.h
  F:    drivers/gpu/drm/amd/
 -F:    include/uapi/drm/amdgpu*
 +F:    include/uapi/drm/amdgpu_drm.h
  
  DRM PANEL DRIVERS
  M:    Thierry Reding <thierry.reding@gmail.com>
@@@ -3904,7 -3794,7 +3904,7 @@@ T:      git git://anongit.freedesktop.org/dr
  S:    Supported
  F:    drivers/gpu/drm/i915/
  F:    include/drm/i915*
 -F:    include/uapi/drm/i915*
 +F:    include/uapi/drm/i915_drm.h
  
  DRM DRIVERS FOR ATMEL HLCDC
  M:    Boris Brezillon <boris.brezillon@free-electrons.com>
@@@ -3913,13 -3803,6 +3913,13 @@@ S:    Supporte
  F:    drivers/gpu/drm/atmel-hlcdc/
  F:    Documentation/devicetree/bindings/drm/atmel/
  
 +DRM DRIVERS FOR ALLWINNER A10
 +M:    Maxime Ripard  <maxime.ripard@free-electrons.com>
 +L:    dri-devel@lists.freedesktop.org
 +S:    Supported
 +F:    drivers/gpu/drm/sun4i/
 +F:    Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
 +
  DRM DRIVERS FOR EXYNOS
  M:    Inki Dae <inki.dae@samsung.com>
  M:    Joonyoung Shim <jy0922.shim@samsung.com>
@@@ -3929,8 -3812,8 +3929,8 @@@ L:      dri-devel@lists.freedesktop.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
  S:    Supported
  F:    drivers/gpu/drm/exynos/
 -F:    include/drm/exynos*
 -F:    include/uapi/drm/exynos*
 +F:    include/uapi/drm/exynos_drm.h
 +F:    Documentation/devicetree/bindings/display/exynos/
  
  DRM DRIVERS FOR FREESCALE DCU
  M:    Stefan Agner <stefan@agner.ch>
@@@ -3939,7 -3822,6 +3939,7 @@@ L:      dri-devel@lists.freedesktop.or
  S:    Supported
  F:    drivers/gpu/drm/fsl-dcu/
  F:    Documentation/devicetree/bindings/display/fsl,dcu.txt
 +F:    Documentation/devicetree/bindings/display/fsl,tcon.txt
  F:    Documentation/devicetree/bindings/display/panel/nec,nl4827hc19_05b.txt
  
  DRM DRIVERS FOR FREESCALE IMX
@@@ -3955,45 -3837,12 +3955,45 @@@ M:   Patrik Jakobsson <patrik.r.jakobsson
  L:    dri-devel@lists.freedesktop.org
  T:    git git://github.com/patjak/drm-gma500
  S:    Maintained
 -F:    drivers/gpu/drm/gma500
 -F:    include/drm/gma500*
 +F:    drivers/gpu/drm/gma500/
 +
 +DRM DRIVERS FOR HISILICON
 +M:    Xinliang Liu <z.liuxinliang@hisilicon.com>
 +R:    Xinwei Kong <kong.kongxinwei@hisilicon.com>
 +R:    Chen Feng <puck.chen@hisilicon.com>
 +L:    dri-devel@lists.freedesktop.org
 +T:    git git://github.com/xin3liang/linux.git
 +S:    Maintained
 +F:    drivers/gpu/drm/hisilicon/
 +F:    Documentation/devicetree/bindings/display/hisilicon/
 +
 +DRM DRIVER FOR INTEL I810 VIDEO CARDS
 +S:    Orphan / Obsolete
 +F:    drivers/gpu/drm/i810/
 +F:    include/uapi/drm/i810_drm.h
 +
 +DRM DRIVER FOR MSM ADRENO GPU
 +M:    Rob Clark <robdclark@gmail.com>
 +L:    linux-arm-msm@vger.kernel.org
 +L:    dri-devel@lists.freedesktop.org
 +L:    freedreno@lists.freedesktop.org
 +T:    git git://people.freedesktop.org/~robclark/linux
 +S:    Maintained
 +F:    drivers/gpu/drm/msm/
 +F:    include/uapi/drm/msm_drm.h
 +F:    Documentation/devicetree/bindings/display/msm/
 +
 +DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS
 +M:    Ben Skeggs <bskeggs@redhat.com>
 +L:    dri-devel@lists.freedesktop.org
 +L:    nouveau@lists.freedesktop.org
 +T:    git git://github.com/skeggsb/linux
 +S:    Supported
 +F:    drivers/gpu/drm/nouveau/
 +F:    include/uapi/drm/nouveau_drm.h
  
  DRM DRIVERS FOR NVIDIA TEGRA
  M:    Thierry Reding <thierry.reding@gmail.com>
 -M:    Terje Bergström <tbergstrom@nvidia.com>
  L:    dri-devel@lists.freedesktop.org
  L:    linux-tegra@vger.kernel.org
  T:    git git://anongit.freedesktop.org/tegra/linux.git
@@@ -4004,54 -3853,22 +4004,54 @@@ F:   include/linux/host1x.
  F:    include/uapi/drm/tegra_drm.h
  F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
  
 +DRM DRIVER FOR MATROX G200/G400 GRAPHICS CARDS
 +S:    Orphan / Obsolete
 +F:    drivers/gpu/drm/mga/
 +F:    include/uapi/drm/mga_drm.h
 +
 +DRM DRIVER FOR MGA G200 SERVER GRAPHICS CHIPS
 +M:    Dave Airlie <airlied@redhat.com>
 +S:    Odd Fixes
 +F:    drivers/gpu/drm/mgag200/
 +
 +DRM DRIVER FOR RAGE 128 VIDEO CARDS
 +S:    Orphan / Obsolete
 +F:    drivers/gpu/drm/r128/
 +F:    include/uapi/drm/r128_drm.h
 +
  DRM DRIVERS FOR RENESAS
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    dri-devel@lists.freedesktop.org
  L:    linux-renesas-soc@vger.kernel.org
 -T:    git git://people.freedesktop.org/~airlied/linux
 +T:    git git://linuxtv.org/pinchartl/fbdev
  S:    Supported
  F:    drivers/gpu/drm/rcar-du/
  F:    drivers/gpu/drm/shmobile/
  F:    include/linux/platform_data/shmob_drm.h
 +F:    Documentation/devicetree/bindings/display/renesas,du.txt
 +
 +DRM DRIVER FOR QXL VIRTUAL GPU
 +M:    Dave Airlie <airlied@redhat.com>
 +S:    Odd Fixes
 +F:    drivers/gpu/drm/qxl/
 +F:    include/uapi/drm/qxl_drm.h
  
  DRM DRIVERS FOR ROCKCHIP
  M:    Mark Yao <mark.yao@rock-chips.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
  F:    drivers/gpu/drm/rockchip/
 -F:    Documentation/devicetree/bindings/display/rockchip*
 +F:    Documentation/devicetree/bindings/display/rockchip/
 +
 +DRM DRIVER FOR SAVAGE VIDEO CARDS
 +S:    Orphan / Obsolete
 +F:    drivers/gpu/drm/savage/
 +F:    include/uapi/drm/savage_drm.h
 +
 +DRM DRIVER FOR SIS VIDEO CARDS
 +S:    Orphan / Obsolete
 +F:    drivers/gpu/drm/sis/
 +F:    include/uapi/drm/sis_drm.h
  
  DRM DRIVERS FOR STI
  M:    Benjamin Gaignard <benjamin.gaignard@linaro.org>
@@@ -4062,43 -3879,14 +4062,43 @@@ S:   Maintaine
  F:    drivers/gpu/drm/sti
  F:    Documentation/devicetree/bindings/display/st,stih4xx.txt
  
 +DRM DRIVER FOR TDFX VIDEO CARDS
 +S:    Orphan / Obsolete
 +F:    drivers/gpu/drm/tdfx/
 +
 +DRM DRIVER FOR USB DISPLAYLINK VIDEO ADAPTERS
 +M:    Dave Airlie <airlied@redhat.com>
 +S:    Odd Fixes
 +F:    drivers/gpu/drm/udl/
 +
  DRM DRIVERS FOR VIVANTE GPU IP
  M:    Lucas Stach <l.stach@pengutronix.de>
 -R:    Russell King <linux+etnaviv@arm.linux.org.uk>
 +R:    Russell King <linux+etnaviv@armlinux.org.uk>
  R:    Christian Gmeiner <christian.gmeiner@gmail.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
 -F:    drivers/gpu/drm/etnaviv
 -F:    Documentation/devicetree/bindings/display/etnaviv
 +F:    drivers/gpu/drm/etnaviv/
 +F:    include/uapi/drm/etnaviv_drm.h
 +F:    Documentation/devicetree/bindings/display/etnaviv/
 +
 +DRM DRIVER FOR VMWARE VIRTUAL GPU
 +M:    "VMware Graphics" <linux-graphics-maintainer@vmware.com>
 +M:    Sinclair Yeh <syeh@vmware.com>
 +M:    Thomas Hellstrom <thellstrom@vmware.com>
 +L:    dri-devel@lists.freedesktop.org
 +T:    git git://people.freedesktop.org/~syeh/repos_linux
 +T:    git git://people.freedesktop.org/~thomash/linux
 +S:    Supported
 +F:    drivers/gpu/drm/vmwgfx/
 +F:    include/uapi/drm/vmwgfx_drm.h
 +
 +DRM DRIVERS FOR VC4
 +M:    Eric Anholt <eric@anholt.net>
 +T:    git git://github.com/anholt/linux
 +S:    Supported
 +F:    drivers/gpu/drm/vc4/
 +F:    include/uapi/drm/vc4_drm.h
 +F:    Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
  
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <klimov.linux@gmail.com>
@@@ -4435,8 -4223,8 +4435,8 @@@ F:      Documentation/efi-stub.tx
  F:    arch/ia64/kernel/efi.c
  F:    arch/x86/boot/compressed/eboot.[ch]
  F:    arch/x86/include/asm/efi.h
 -F:    arch/x86/platform/efi/*
 -F:    drivers/firmware/efi/*
 +F:    arch/x86/platform/efi/
 +F:    drivers/firmware/efi/
  F:    include/linux/efi*.h
  
  EFI VARIABLE FILESYSTEM
@@@ -4591,12 -4379,6 +4591,12 @@@ S:    Maintaine
  F:    drivers/video/fbdev/exynos/exynos_mipi*
  F:    include/video/exynos_mipi*
  
 +EZchip NPS platform support
 +M:    Noam Camus <noamc@ezchip.com>
 +S:    Supported
 +F:    arch/arc/plat-eznps
 +F:    arch/arc/boot/dts/eznps.dts
 +
  F71805F HARDWARE MONITORING DRIVER
  M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-hwmon@vger.kernel.org
@@@ -4879,7 -4661,6 +4879,7 @@@ FREESCALE SOC SOUND DRIVER
  M:    Timur Tabi <timur@tabi.org>
  M:    Nicolin Chen <nicoleotsuka@gmail.com>
  M:    Xiubo Li <Xiubo.Lee@gmail.com>
 +R:    Fabio Estevam <fabio.estevam@nxp.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
@@@ -4889,7 -4670,6 +4889,7 @@@ F:      sound/soc/fsl/mpc8610_hpcd.
  
  FREESCALE QORIQ MANAGEMENT COMPLEX DRIVER
  M:    "J. German Rivera" <German.Rivera@freescale.com>
 +M:    Stuart Yoder <stuart.yoder@nxp.com>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  F:    drivers/staging/fsl-mc/
@@@ -4927,7 -4707,7 +4927,7 @@@ F:      include/linux/fscache*.
  F2FS FILE SYSTEM
  M:    Jaegeuk Kim <jaegeuk@kernel.org>
  M:    Changman Lee <cm224.lee@samsung.com>
 -R:    Chao Yu <chao2.yu@samsung.com>
 +R:    Chao Yu <yuchao0@huawei.com>
  L:    linux-f2fs-devel@lists.sourceforge.net
  W:    http://en.wikipedia.org/wiki/F2FS
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
@@@ -4964,7 -4744,7 +4964,7 @@@ F:      drivers/platform/x86/fujitsu-tablet.
  
  FUSE: FILESYSTEM IN USERSPACE
  M:    Miklos Szeredi <miklos@szeredi.hu>
 -L:    fuse-devel@lists.sourceforge.net
 +L:    linux-fsdevel@vger.kernel.org
  W:    http://fuse.sourceforge.net/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git
  S:    Maintained
@@@ -4993,7 -4773,6 +4993,7 @@@ F:      drivers/scsi/gdt
  
  GDB KERNEL DEBUGGING HELPER SCRIPTS
  M:    Jan Kiszka <jan.kiszka@siemens.com>
 +M:    Kieran Bingham <kieran@bingham.xyz>
  S:    Supported
  F:    scripts/gdb/
  
@@@ -5105,7 -4884,6 +5105,7 @@@ M:      Alexandre Courbot <gnurou@gmail.com
  L:    linux-gpio@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/gpio/
  F:    Documentation/gpio/
  F:    Documentation/ABI/testing/gpio-cdev
  F:    Documentation/ABI/obsolete/sysfs-gpio
@@@ -5125,7 -4903,7 +5125,7 @@@ F:      net/ipv4/gre_offload.
  F:    include/net/gre.h
  
  GRETH 10/100/1G Ethernet MAC device driver
 -M:    Kristoffer Glembo <kristoffer@gaisler.com>
 +M:    Andreas Larsson <andreas@gaisler.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ethernet/aeroflex/
@@@ -5308,6 -5086,13 +5308,13 @@@ F:    drivers/block/cciss
  F:    include/linux/cciss_ioctl.h
  F:    include/uapi/linux/cciss_ioctl.h
  
+ HFI1 DRIVER
+ M:    Mike Marciniszyn <mike.marciniszyn@intel.com>
+ M:    Dennis Dalessandro <dennis.dalessandro@intel.com>
+ L:    linux-rdma@vger.kernel.org
+ S:    Supported
+ F:    drivers/infiniband/hw/hfi1
  HFS FILESYSTEM
  L:    linux-fsdevel@vger.kernel.org
  S:    Orphan
@@@ -5497,7 -5282,6 +5504,7 @@@ I2C MUXE
  M:    Peter Rosin <peda@axentia.se>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
 +F:    Documentation/i2c/i2c-topology
  F:    Documentation/i2c/muxes/
  F:    Documentation/devicetree/bindings/i2c/i2c-mux*
  F:    drivers/i2c/i2c-mux.c
@@@ -5762,7 -5546,7 +5769,7 @@@ IIO SUBSYSTEM AND DRIVER
  M:    Jonathan Cameron <jic23@kernel.org>
  R:    Hartmut Knaack <knaack.h@gmx.de>
  R:    Lars-Peter Clausen <lars@metafoo.de>
 -R:    Peter Meerwald <pmeerw@pmeerw.net>
 +R:    Peter Meerwald-Stadler <pmeerw@pmeerw.net>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    drivers/iio/
@@@ -5837,7 -5621,6 +5844,6 @@@ T:      git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    Documentation/infiniband/
  F:    drivers/infiniband/
- F:    drivers/staging/rdma/
  F:    include/uapi/linux/if_infiniband.h
  F:    include/uapi/rdma/
  F:    include/rdma/
@@@ -5967,6 -5750,13 +5973,6 @@@ F:     drivers/char/hw_random/ixp4xx-rng.
  
  INTEL ETHERNET DRIVERS
  M:    Jeff Kirsher <jeffrey.t.kirsher@intel.com>
 -R:    Jesse Brandeburg <jesse.brandeburg@intel.com>
 -R:    Shannon Nelson <shannon.nelson@intel.com>
 -R:    Carolyn Wyborny <carolyn.wyborny@intel.com>
 -R:    Don Skidmore <donald.c.skidmore@intel.com>
 -R:    Bruce Allan <bruce.w.allan@intel.com>
 -R:    John Ronciak <john.ronciak@intel.com>
 -R:    Mitch Williams <mitch.a.williams@intel.com>
  L:    intel-wired-lan@lists.osuosl.org (moderated for non-subscribers)
  W:    http://www.intel.com/support/feedback.htm
  W:    http://e1000.sourceforge.net/
@@@ -6046,7 -5836,6 +6052,7 @@@ F:      drivers/net/wireless/intel/iwlegacy
  INTEL WIRELESS WIFI LINK (iwlwifi)
  M:    Johannes Berg <johannes.berg@intel.com>
  M:    Emmanuel Grumbach <emmanuel.grumbach@intel.com>
 +M:    Luca Coelho <luciano.coelho@intel.com>
  M:    Intel Linux Wireless <linuxwifi@intel.com>
  L:    linux-wireless@vger.kernel.org
  W:    http://intellinuxwireless.org
@@@ -6096,14 -5885,6 +6102,14 @@@ S:    Maintaine
  F:    arch/x86/include/asm/intel_telemetry.h
  F:    drivers/platform/x86/intel_telemetry*
  
 +INTEL PMC CORE DRIVER
 +M:    Rajneesh Bhardwaj <rajneesh.bhardwaj@intel.com>
 +M:    Vishwanath Somayaji <vishwanath.somayaji@intel.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    arch/x86/include/asm/pmc_core.h
 +F:    drivers/platform/x86/intel_pmc_core*
 +
  IOC3 ETHERNET DRIVER
  M:    Ralf Baechle <ralf@linux-mips.org>
  L:    linux-mips@linux-mips.org
@@@ -6220,13 -6001,6 +6226,13 @@@ F:    include/linux/irqdomain.
  F:    kernel/irq/irqdomain.c
  F:    kernel/irq/msi.c
  
 +ISA
 +M:    William Breathitt Gray <vilhelm.gray@gmail.com>
 +S:    Maintained
 +F:    Documentation/isa.txt
 +F:    drivers/base/isa.c
 +F:    include/linux/isa.h
 +
  ISAPNP
  M:    Jaroslav Kysela <perex@perex.cz>
  S:    Maintained
@@@ -6407,7 -6181,7 +6413,7 @@@ S:      Maintaine
  F:    arch/*/include/asm/kasan.h
  F:    arch/*/mm/kasan_init*
  F:    Documentation/kasan.txt
 -F:    include/linux/kasan.h
 +F:    include/linux/kasan*.h
  F:    lib/test_kasan.c
  F:    mm/kasan/
  F:    scripts/Makefile.kasan
@@@ -6421,9 -6195,8 +6427,9 @@@ F:      Documentation/kbuild/kconfig-languag
  F:    scripts/kconfig/
  
  KDUMP
 -M:    Vivek Goyal <vgoyal@redhat.com>
 -M:    Haren Myneni <hbabu@us.ibm.com>
 +M:    Dave Young <dyoung@redhat.com>
 +M:    Baoquan He <bhe@redhat.com>
 +R:    Vivek Goyal <vgoyal@redhat.com>
  L:    kexec@lists.infradead.org
  W:    http://lse.sourceforge.net/kdump/
  S:    Maintained
@@@ -6500,7 -6273,6 +6506,7 @@@ F:      arch/*/include/asm/kvm
  F:    include/linux/kvm*
  F:    include/uapi/linux/kvm*
  F:    virt/kvm/
 +F:    tools/kvm/
  
  KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
  M:    Joerg Roedel <joro@8bytes.org>
@@@ -6569,7 -6341,7 +6575,7 @@@ L:      kexec@lists.infradead.or
  S:    Maintained
  F:    include/linux/kexec.h
  F:    include/uapi/linux/kexec.h
 -F:    kernel/kexec.c
 +F:    kernel/kexec*
  
  KEYS/KEYRINGS:
  M:    David Howells <dhowells@redhat.com>
@@@ -6578,8 -6350,6 +6584,8 @@@ S:      Maintaine
  F:    Documentation/security/keys.txt
  F:    include/linux/key.h
  F:    include/linux/key-type.h
 +F:    include/linux/keyctl.h
 +F:    include/uapi/linux/keyctl.h
  F:    include/keys/
  F:    security/keys/
  
@@@ -6636,7 -6406,7 +6642,7 @@@ F:      mm/kmemleak.
  F:    mm/kmemleak-test.c
  
  KPROBES
 -M:    Ananth N Mavinakayanahalli <ananth@in.ibm.com>
 +M:    Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
  M:    Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
  M:    "David S. Miller" <davem@davemloft.net>
  M:    Masami Hiramatsu <mhiramat@kernel.org>
@@@ -6662,7 -6432,7 +6668,7 @@@ F:      net/l3mde
  F:    include/net/l3mdev.h
  
  LANTIQ MIPS ARCHITECTURE
 -M:    John Crispin <blogic@openwrt.org>
 +M:    John Crispin <john@phrozen.org>
  L:    linux-mips@linux-mips.org
  S:    Maintained
  F:    arch/mips/lantiq
@@@ -6844,19 -6614,6 +6850,19 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    Documentation/powerpc/
  F:    arch/powerpc/
 +F:    drivers/char/tpm/tpm_ibmvtpm*
 +F:    drivers/crypto/nx/
 +F:    drivers/crypto/vmx/
 +F:    drivers/net/ethernet/ibm/ibmveth.*
 +F:    drivers/net/ethernet/ibm/ibmvnic.*
 +F:    drivers/pci/hotplug/rpa*
 +F:    drivers/scsi/ibmvscsi/
 +N:    opal
 +N:    /pmac
 +N:    powermac
 +N:    powernv
 +N:    [^a-z0-9]ps3
 +N:    pseries
  
  LINUX FOR POWER MACINTOSH
  M:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
@@@ -6937,7 -6694,6 +6943,7 @@@ F:      kernel/livepatch
  F:    include/linux/livepatch.h
  F:    arch/x86/include/asm/livepatch.h
  F:    arch/x86/kernel/livepatch.c
 +F:    Documentation/livepatch/
  F:    Documentation/ABI/testing/sysfs-kernel-livepatch
  F:    samples/livepatch/
  L:    live-patching@vger.kernel.org
@@@ -7026,6 -6782,12 +7032,6 @@@ W:     logfs.or
  S:    Maintained
  F:    fs/logfs/
  
 -LPC32XX MACHINE SUPPORT
 -M:    Roland Stigge <stigge@antcom.de>
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -F:    arch/arm/mach-lpc32xx/
 -
  LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
  M:    Sathya Prakash <sathya.prakash@broadcom.com>
  M:    Chaitra P B <chaitra.basappa@broadcom.com>
@@@ -7149,11 -6911,9 +7155,11 @@@ L:    linux-man@vger.kernel.or
  S:    Maintained
  
  MARVELL ARMADA DRM SUPPORT
 -M:    Russell King <rmk+kernel@arm.linux.org.uk>
 +M:    Russell King <rmk+kernel@armlinux.org.uk>
  S:    Maintained
  F:    drivers/gpu/drm/armada/
 +F:    include/uapi/drm/armada_drm.h
 +F:    Documentation/devicetree/bindings/display/armada/
  
  MARVELL 88E6352 DSA support
  M:    Guenter Roeck <linux@roeck-us.net>
@@@ -7266,9 -7026,9 +7272,9 @@@ M:      Chanwoo Choi <cw00.choi@samsung.com
  M:    Krzysztof Kozlowski <k.kozlowski@samsung.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
 -F:    drivers/*/max14577.c
 +F:    drivers/*/max14577*.c
  F:    drivers/*/max77686*.c
 -F:    drivers/*/max77693.c
 +F:    drivers/*/max77693*.c
  F:    drivers/extcon/extcon-max14577.c
  F:    drivers/extcon/extcon-max77693.c
  F:    drivers/rtc/rtc-max77686.c
@@@ -7518,15 -7278,6 +7524,15 @@@ S:    Supporte
  F:    Documentation/mips/
  F:    arch/mips/
  
 +MIPS/LOONGSON1 ARCHITECTURE
 +M:    Keguang Zhang <keguang.zhang@gmail.com>
 +L:    linux-mips@linux-mips.org
 +S:    Maintained
 +F:    arch/mips/loongson32/
 +F:    arch/mips/include/asm/mach-loongson32/
 +F:    drivers/*/*loongson1*
 +F:    drivers/*/*/*loongson1*
 +
  MIROSOUND PCM20 FM RADIO RECEIVER DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -7794,10 -7545,10 +7800,10 @@@ M:   Michael Schmitz <schmitzmic@gmail.co
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
  F:    Documentation/scsi/g_NCR5380.txt
 +F:    Documentation/scsi/dtc3x80.txt
  F:    drivers/scsi/NCR5380.*
  F:    drivers/scsi/arm/cumana_1.c
  F:    drivers/scsi/arm/oak.c
 -F:    drivers/scsi/atari_NCR5380.c
  F:    drivers/scsi/atari_scsi.*
  F:    drivers/scsi/dmx3191d.c
  F:    drivers/scsi/dtc.*
@@@ -8049,7 -7800,6 +8055,7 @@@ NILFS2 FILESYSTE
  M:    Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
  L:    linux-nilfs@vger.kernel.org
  W:    http://nilfs.sourceforge.net/
 +W:    http://nilfs.osdn.jp/
  T:    git git://github.com/konis/nilfs2.git
  S:    Supported
  F:    Documentation/filesystems/nilfs2.txt
@@@ -8161,7 -7911,7 +8167,7 @@@ S:      Supporte
  F:    drivers/nfc/nxp-nci
  
  NXP TDA998X DRM DRIVER
 -M:    Russell King <rmk+kernel@arm.linux.org.uk>
 +M:    Russell King <rmk+kernel@armlinux.org.uk>
  S:    Supported
  F:    drivers/gpu/drm/i2c/tda998x_drv.c
  F:    include/drm/i2c/tda998x.h
@@@ -8234,7 -7984,7 +8240,7 @@@ F:      arch/arm/*omap*/*pm
  F:    drivers/cpufreq/omap-cpufreq.c
  
  OMAP POWERDOMAIN SOC ADAPTATION LAYER SUPPORT
 -M:    Rajendra Nayak <rnayak@ti.com>
 +M:    Rajendra Nayak <rnayak@codeaurora.org>
  M:    Paul Walmsley <paul@pwsan.com>
  L:    linux-omap@vger.kernel.org
  S:    Maintained
@@@ -8430,6 -8180,7 +8436,6 @@@ F:      drivers/of/resolver.
  OPENRISC ARCHITECTURE
  M:    Jonas Bonn <jonas@southpole.se>
  W:    http://openrisc.net
 -L:    linux@lists.openrisc.net (moderated for non-subscribers)
  S:    Maintained
  T:    git git://openrisc.net/~jonas/linux
  F:    arch/openrisc/
@@@ -8550,6 -8301,7 +8556,6 @@@ F:      drivers/platform/x86/panasonic-lapto
  
  PANASONIC MN10300/AM33/AM34 PORT
  M:    David Howells <dhowells@redhat.com>
 -M:    Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
  L:    linux-am33-list@redhat.com (moderated for non-subscribers)
  W:    ftp://ftp.redhat.com/pub/redhat/gnupro/AM33/
  S:    Maintained
@@@ -8891,7 -8643,6 +8897,7 @@@ F:      arch/*/kernel/*/perf_event*.
  F:    arch/*/kernel/*/*/perf_event*.c
  F:    arch/*/include/asm/perf_event.h
  F:    arch/*/kernel/perf_callchain.c
 +F:    arch/*/events/*
  F:    tools/perf/
  
  PERSONALITY HANDLING
@@@ -8984,6 -8735,7 +8990,6 @@@ F:      drivers/pinctrl/pinctrl-single.
  
  PIN CONTROLLER - ST SPEAR
  M:    Viresh Kumar <vireshk@kernel.org>
 -L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
@@@ -9445,7 -9197,7 +9451,7 @@@ S:      Maintaine
  F:    drivers/video/fbdev/aty/aty128fb.c
  
  RALINK MIPS ARCHITECTURE
 -M:    John Crispin <blogic@openwrt.org>
 +M:    John Crispin <john@phrozen.org>
  L:    linux-mips@linux-mips.org
  S:    Maintained
  F:    arch/mips/ralink
@@@ -9743,7 -9495,7 +9749,7 @@@ F:      drivers/net/wireless/realtek/rtlwifi
  RTL8XXXU WIRELESS DRIVER (rtl8xxxu)
  M:    Jes Sorensen <Jes.Sorensen@redhat.com>
  L:    linux-wireless@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8723au-mac80211
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8xxxu-devel
  S:    Maintained
  F:    drivers/net/wireless/realtek/rtl8xxxu/
  
@@@ -10008,7 -9760,6 +10014,7 @@@ F:    drivers/mmc/host/dw_mmc
  SYSTEM TRACE MODULE CLASS
  M:    Alexander Shishkin <alexander.shishkin@linux.intel.com>
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ash/stm.git
  F:    Documentation/trace/stm.txt
  F:    drivers/hwtracing/stm/
  F:    include/linux/stm.h
@@@ -10188,6 -9939,7 +10194,6 @@@ F:    drivers/mmc/host/sdhci-s3c
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
  M:    Viresh Kumar <vireshk@kernel.org>
 -L:    spear-devel@list.st.com
  L:    linux-mmc@vger.kernel.org
  S:    Maintained
  F:    drivers/mmc/host/sdhci-spear.c
@@@ -10225,12 -9977,6 +10231,12 @@@ T:  git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    security/apparmor/
  
 +LOADPIN SECURITY MODULE
 +M:    Kees Cook <keescook@chromium.org>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git lsm/loadpin
 +S:    Supported
 +F:    security/loadpin/
 +
  YAMA SECURITY MODULE
  M:    Kees Cook <keescook@chromium.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git yama/tip
@@@ -10274,8 -10020,7 +10280,8 @@@ F:   drivers/infiniband/hw/ocrdma
  
  SFC NETWORK DRIVER
  M:    Solarflare linux maintainers <linux-net-drivers@solarflare.com>
 -M:    Shradha Shah <sshah@solarflare.com>
 +M:    Edward Cree <ecree@solarflare.com>
 +M:    Bert Kenward <bkenward@solarflare.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/sfc/
@@@ -10421,8 -10166,8 +10427,8 @@@ F:   arch/arm/mach-s3c24xx/bast-irq.
  TI DAVINCI MACHINE SUPPORT
  M:    Sekhar Nori <nsekhar@ti.com>
  M:    Kevin Hilman <khilman@kernel.org>
 -T:    git git://gitorious.org/linux-davinci/linux-davinci.git
 -Q:    http://patchwork.kernel.org/project/linux-davinci/list/
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git
  S:    Supported
  F:    arch/arm/mach-davinci/
  F:    drivers/i2c/busses/i2c-davinci.c
@@@ -10750,6 -10495,7 +10756,6 @@@ F:   include/linux/compiler.
  SPEAR PLATFORM SUPPORT
  M:    Viresh Kumar <vireshk@kernel.org>
  M:    Shiraz Hashim <shiraz.linux.kernel@gmail.com>
 -L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
@@@ -10758,6 -10504,7 +10764,6 @@@ F:   arch/arm/mach-spear
  
  SPEAR CLOCK FRAMEWORK SUPPORT
  M:    Viresh Kumar <vireshk@kernel.org>
 -L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
@@@ -10920,12 -10667,6 +10926,6 @@@ M:  Arnaud Patard <arnaud.patard@rtp-net
  S:    Odd Fixes
  F:    drivers/staging/xgifb/
  
- HFI1 DRIVER
- M:    Mike Marciniszyn <infinipath@intel.com>
- L:    linux-rdma@vger.kernel.org
- S:    Supported
- F:    drivers/staging/rdma/hfi1
  STARFIRE/DURALAN NETWORK DRIVER
  M:    Ion Badulescu <ionut@badula.org>
  S:    Odd Fixes
@@@ -11200,11 -10941,10 +11200,11 @@@ M:        Prashant Gaikwad <pgaikwad@nvidia.co
  S:    Supported
  F:    drivers/clk/tegra/
  
 -TEGRA DMA DRIVER
 +TEGRA DMA DRIVERS
  M:    Laxman Dewangan <ldewangan@nvidia.com>
 +M:    Jon Hunter <jonathanh@nvidia.com>
  S:    Supported
 -F:    drivers/dma/tegra20-apb-dma.c
 +F:    drivers/dma/tegra*
  
  TEGRA I2C DRIVER
  M:    Laxman Dewangan <ldewangan@nvidia.com>
@@@ -11306,7 -11046,6 +11306,7 @@@ F:   drivers/platform/x86/thinkpad_acpi.
  
  TI BANDGAP AND THERMAL DRIVER
  M:    Eduardo Valentin <edubezval@gmail.com>
 +M:    Keerthy <j-keerthy@ti.com>
  L:    linux-pm@vger.kernel.org
  L:    linux-omap@vger.kernel.org
  S:    Maintained
@@@ -11506,13 -11245,14 +11506,13 @@@ S:        Maintaine
  F:    drivers/media/i2c/tc358743*
  F:    include/media/i2c/tc358743.h
  
 -TMIO MMC DRIVER
 -M:    Ian Molton <ian@mnementh.co.uk>
 +TMIO/SDHI MMC DRIVER
 +M:    Wolfram Sang <wsa+renesas@sang-engineering.com>
  L:    linux-mmc@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/mmc/host/tmio_mmc*
  F:    drivers/mmc/host/sh_mobile_sdhi.c
 -F:    include/linux/mmc/tmio.h
 -F:    include/linux/mmc/sh_mobile_sdhi.h
 +F:    include/linux/mfd/tmio.h
  
  TMP401 HARDWARE MONITOR DRIVER
  M:    Guenter Roeck <linux@roeck-us.net>
@@@ -11544,14 -11284,6 +11544,14 @@@ W: https://linuxtv.or
  S:    Odd Fixes
  F:    drivers/media/pci/tw68/
  
 +TW686X VIDEO4LINUX DRIVER
 +M:    Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +W:    http://linuxtv.org
 +S:    Maintained
 +F:    drivers/media/pci/tw686x/
 +
  TPM DEVICE DRIVER
  M:    Peter Huewe <peterhuewe@gmx.de>
  M:    Marcel Selhorst <tpmdd@selhorst.net>
@@@ -11585,20 -11317,6 +11585,20 @@@ F: include/trace
  F:    kernel/trace/
  F:    tools/testing/selftests/ftrace/
  
 +TRACING MMIO ACCESSES (MMIOTRACE)
 +M:    Steven Rostedt <rostedt@goodmis.org>
 +M:    Ingo Molnar <mingo@kernel.org>
 +R:    Karol Herbst <karolherbst@gmail.com>
 +R:    Pekka Paalanen <ppaalanen@gmail.com>
 +S:    Maintained
 +L:    linux-kernel@vger.kernel.org
 +L:    nouveau@lists.freedesktop.org
 +F:    kernel/trace/trace_mmiotrace.c
 +F:    include/linux/mmiotrace.h
 +F:    arch/x86/mm/kmmio.c
 +F:    arch/x86/mm/mmio-mod.c
 +F:    arch/x86/mm/testmmiotrace.c
 +
  TRIVIAL PATCHES
  M:    Jiri Kosina <trivial@kernel.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
@@@ -11670,8 -11388,7 +11670,8 @@@ F:   Documentation/filesystems/ubifs.tx
  F:    fs/ubifs/
  
  UCLINUX (M68KNOMMU AND COLDFIRE)
 -M:    Greg Ungerer <gerg@uclinux.org>
 +M:    Greg Ungerer <gerg@linux-m68k.org>
 +W:    http://www.linux-m68k.org/
  W:    http://www.uclinux.org/
  L:    linux-m68k@lists.linux-m68k.org
  L:    uclinux-dev@uclinux.org  (subscribers-only)
@@@ -12279,9 -11996,7 +12279,9 @@@ L:   linux-kernel@vger.kernel.or
  W:    http://www.slimlogic.co.uk/?p=48
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
  S:    Supported
 +F:    Documentation/devicetree/bindings/regulator/
  F:    drivers/regulator/
 +F:    include/dt-bindings/regulator/
  F:    include/linux/regulator/
  
  VRF
@@@ -12357,7 -12072,6 +12357,7 @@@ L:   linux-watchdog@vger.kernel.or
  W:    http://www.linux-watchdog.org/
  T:    git git://www.linux-watchdog.org/linux-watchdog.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/watchdog/
  F:    Documentation/watchdog/
  F:    drivers/watchdog/
  F:    include/linux/watchdog.h
@@@ -12462,12 -12176,6 +12462,12 @@@ F: include/linux/workqueue.
  F:    kernel/workqueue.c
  F:    Documentation/workqueue.txt
  
 +X-POWERS MULTIFUNCTION PMIC DEVICE DRIVERS
 +M:    Chen-Yu Tsai <wens@csie.org>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +N:    axp[128]
 +
  X.25 NETWORK LAYER
  M:    Andrew Hendry <andrew.hendry@gmail.com>
  L:    linux-x25@vger.kernel.org
index 418e5a1c8744d5a03e7b22e87e5907bbef601ea2,7e9a77040a24ea75601f748410a906ca9d87062b..45c40a17d6a6ffc60cac0cab92bc24c689f75c83
@@@ -635,7 -635,7 +635,7 @@@ void ipoib_send(struct net_device *dev
                if (netif_queue_stopped(dev))
                        netif_wake_queue(dev);
        } else {
 -              dev->trans_start = jiffies;
 +              netif_trans_update(dev);
  
                address->last_send = priv->tx_head;
                ++priv->tx_head;
@@@ -997,6 -997,106 +997,106 @@@ static inline int update_child_pkey(str
        return 0;
  }
  
+ /*
+  * returns true if the device address of the ipoib interface has changed and the
+  * new address is a valid one (i.e in the gid table), return false otherwise.
+  */
+ static bool ipoib_dev_addr_changed_valid(struct ipoib_dev_priv *priv)
+ {
+       union ib_gid search_gid;
+       union ib_gid gid0;
+       union ib_gid *netdev_gid;
+       int err;
+       u16 index;
+       u8 port;
+       bool ret = false;
+       netdev_gid = (union ib_gid *)(priv->dev->dev_addr + 4);
+       if (ib_query_gid(priv->ca, priv->port, 0, &gid0, NULL))
+               return false;
+       netif_addr_lock(priv->dev);
+       /* The subnet prefix may have changed, update it now so we won't have
+        * to do it later
+        */
+       priv->local_gid.global.subnet_prefix = gid0.global.subnet_prefix;
+       netdev_gid->global.subnet_prefix = gid0.global.subnet_prefix;
+       search_gid.global.subnet_prefix = gid0.global.subnet_prefix;
+       search_gid.global.interface_id = priv->local_gid.global.interface_id;
+       netif_addr_unlock(priv->dev);
+       err = ib_find_gid(priv->ca, &search_gid, IB_GID_TYPE_IB,
+                         priv->dev, &port, &index);
+       netif_addr_lock(priv->dev);
+       if (search_gid.global.interface_id !=
+           priv->local_gid.global.interface_id)
+               /* There was a change while we were looking up the gid, bail
+                * here and let the next work sort this out
+                */
+               goto out;
+       /* The next section of code needs some background:
+        * Per IB spec the port GUID can't change if the HCA is powered on.
+        * port GUID is the basis for GID at index 0 which is the basis for
+        * the default device address of a ipoib interface.
+        *
+        * so it seems the flow should be:
+        * if user_changed_dev_addr && gid in gid tbl
+        *      set bit dev_addr_set
+        *      return true
+        * else
+        *      return false
+        *
+        * The issue is that there are devices that don't follow the spec,
+        * they change the port GUID when the HCA is powered, so in order
+        * not to break userspace applications, We need to check if the
+        * user wanted to control the device address and we assume that
+        * if he sets the device address back to be based on GID index 0,
+        * he no longer wishs to control it.
+        *
+        * If the user doesn't control the the device address,
+        * IPOIB_FLAG_DEV_ADDR_SET is set and ib_find_gid failed it means
+        * the port GUID has changed and GID at index 0 has changed
+        * so we need to change priv->local_gid and priv->dev->dev_addr
+        * to reflect the new GID.
+        */
+       if (!test_bit(IPOIB_FLAG_DEV_ADDR_SET, &priv->flags)) {
+               if (!err && port == priv->port) {
+                       set_bit(IPOIB_FLAG_DEV_ADDR_SET, &priv->flags);
+                       if (index == 0)
+                               clear_bit(IPOIB_FLAG_DEV_ADDR_CTRL,
+                                         &priv->flags);
+                       else
+                               set_bit(IPOIB_FLAG_DEV_ADDR_CTRL, &priv->flags);
+                       ret = true;
+               } else {
+                       ret = false;
+               }
+       } else {
+               if (!err && port == priv->port) {
+                       ret = true;
+               } else {
+                       if (!test_bit(IPOIB_FLAG_DEV_ADDR_CTRL, &priv->flags)) {
+                               memcpy(&priv->local_gid, &gid0,
+                                      sizeof(priv->local_gid));
+                               memcpy(priv->dev->dev_addr + 4, &gid0,
+                                      sizeof(priv->local_gid));
+                               ret = true;
+                       }
+               }
+       }
+ out:
+       netif_addr_unlock(priv->dev);
+       return ret;
+ }
  static void __ipoib_ib_dev_flush(struct ipoib_dev_priv *priv,
                                enum ipoib_flush_level level,
                                int nesting)
  
        if (!test_bit(IPOIB_FLAG_INITIALIZED, &priv->flags) &&
            level != IPOIB_FLUSH_HEAVY) {
+               /* Make sure the dev_addr is set even if not flushing */
+               if (level == IPOIB_FLUSH_LIGHT)
+                       ipoib_dev_addr_changed_valid(priv);
                ipoib_dbg(priv, "Not flushing - IPOIB_FLAG_INITIALIZED not set.\n");
                return;
        }
                                update_parent_pkey(priv);
                        else
                                update_child_pkey(priv);
-               }
+               } else if (level == IPOIB_FLUSH_LIGHT)
+                       ipoib_dev_addr_changed_valid(priv);
                ipoib_dbg(priv, "Not flushing - IPOIB_FLAG_ADMIN_UP not set.\n");
                return;
        }
        if (test_bit(IPOIB_FLAG_ADMIN_UP, &priv->flags)) {
                if (level >= IPOIB_FLUSH_NORMAL)
                        ipoib_ib_dev_up(dev);
-               ipoib_mcast_restart_task(&priv->restart_task);
+               if (ipoib_dev_addr_changed_valid(priv))
+                       ipoib_mcast_restart_task(&priv->restart_task);
        }
  }
  
index b940ef1c19c70e400905322a57ea0d49d2f0a3f2,2c3fb5337bc1f7d0be83d19f2b714c5d7e11fd6a..2d7c1634664826a83f1f4efe42b1004c3b23d09f
@@@ -99,6 -99,7 +99,7 @@@ static struct net_device *ipoib_get_net
                struct ib_device *dev, u8 port, u16 pkey,
                const union ib_gid *gid, const struct sockaddr *addr,
                void *client_data);
+ static int ipoib_set_mac(struct net_device *dev, void *addr);
  
  static struct ib_client ipoib_client = {
        .name   = "ipoib",
@@@ -117,6 -118,8 +118,8 @@@ int ipoib_open(struct net_device *dev
  
        set_bit(IPOIB_FLAG_ADMIN_UP, &priv->flags);
  
+       priv->sm_fullmember_sendonly_support = false;
        if (ipoib_ib_dev_open(dev)) {
                if (!test_bit(IPOIB_PKEY_ASSIGNED, &priv->flags))
                        return 0;
@@@ -629,6 -632,77 +632,77 @@@ void ipoib_mark_paths_invalid(struct ne
        spin_unlock_irq(&priv->lock);
  }
  
+ struct classport_info_context {
+       struct ipoib_dev_priv   *priv;
+       struct completion       done;
+       struct ib_sa_query      *sa_query;
+ };
+ static void classport_info_query_cb(int status, struct ib_class_port_info *rec,
+                                   void *context)
+ {
+       struct classport_info_context *cb_ctx = context;
+       struct ipoib_dev_priv *priv;
+       WARN_ON(!context);
+       priv = cb_ctx->priv;
+       if (status || !rec) {
+               pr_debug("device: %s failed query classport_info status: %d\n",
+                        priv->dev->name, status);
+               /* keeps the default, will try next mcast_restart */
+               priv->sm_fullmember_sendonly_support = false;
+               goto out;
+       }
+       if (ib_get_cpi_capmask2(rec) &
+           IB_SA_CAP_MASK2_SENDONLY_FULL_MEM_SUPPORT) {
+               pr_debug("device: %s enabled fullmember-sendonly for sendonly MCG\n",
+                        priv->dev->name);
+               priv->sm_fullmember_sendonly_support = true;
+       } else {
+               pr_debug("device: %s disabled fullmember-sendonly for sendonly MCG\n",
+                        priv->dev->name);
+               priv->sm_fullmember_sendonly_support = false;
+       }
+ out:
+       complete(&cb_ctx->done);
+ }
+ int ipoib_check_sm_sendonly_fullmember_support(struct ipoib_dev_priv *priv)
+ {
+       struct classport_info_context *callback_context;
+       int ret;
+       callback_context = kmalloc(sizeof(*callback_context), GFP_KERNEL);
+       if (!callback_context)
+               return -ENOMEM;
+       callback_context->priv = priv;
+       init_completion(&callback_context->done);
+       ret = ib_sa_classport_info_rec_query(&ipoib_sa_client,
+                                            priv->ca, priv->port, 3000,
+                                            GFP_KERNEL,
+                                            classport_info_query_cb,
+                                            callback_context,
+                                            &callback_context->sa_query);
+       if (ret < 0) {
+               pr_info("%s failed to send ib_sa_classport_info query, ret: %d\n",
+                       priv->dev->name, ret);
+               kfree(callback_context);
+               return ret;
+       }
+       /* waiting for the callback to finish before returnning */
+       wait_for_completion(&callback_context->done);
+       kfree(callback_context);
+       return ret;
+ }
  void ipoib_flush_paths(struct net_device *dev)
  {
        struct ipoib_dev_priv *priv = netdev_priv(dev);
@@@ -1036,7 -1110,7 +1110,7 @@@ static void ipoib_timeout(struct net_de
        struct ipoib_dev_priv *priv = netdev_priv(dev);
  
        ipoib_warn(priv, "transmit timeout: latency %d msecs\n",
 -                 jiffies_to_msecs(jiffies - dev->trans_start));
 +                 jiffies_to_msecs(jiffies - dev_trans_start(dev)));
        ipoib_warn(priv, "queue stopped %d, tx_head %u, tx_tail %u\n",
                   netif_queue_stopped(dev),
                   priv->tx_head, priv->tx_tail);
@@@ -1649,6 -1723,7 +1723,7 @@@ static const struct net_device_ops ipoi
        .ndo_get_vf_config       = ipoib_get_vf_config,
        .ndo_get_vf_stats        = ipoib_get_vf_stats,
        .ndo_set_vf_guid         = ipoib_set_vf_guid,
+       .ndo_set_mac_address     = ipoib_set_mac,
  };
  
  static const struct net_device_ops ipoib_netdev_ops_vf = {
@@@ -1771,6 -1846,70 +1846,70 @@@ int ipoib_add_umcast_attr(struct net_de
        return device_create_file(&dev->dev, &dev_attr_umcast);
  }
  
+ static void set_base_guid(struct ipoib_dev_priv *priv, union ib_gid *gid)
+ {
+       struct ipoib_dev_priv *child_priv;
+       struct net_device *netdev = priv->dev;
+       netif_addr_lock(netdev);
+       memcpy(&priv->local_gid.global.interface_id,
+              &gid->global.interface_id,
+              sizeof(gid->global.interface_id));
+       memcpy(netdev->dev_addr + 4, &priv->local_gid, sizeof(priv->local_gid));
+       clear_bit(IPOIB_FLAG_DEV_ADDR_SET, &priv->flags);
+       netif_addr_unlock(netdev);
+       if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) {
+               down_read(&priv->vlan_rwsem);
+               list_for_each_entry(child_priv, &priv->child_intfs, list)
+                       set_base_guid(child_priv, gid);
+               up_read(&priv->vlan_rwsem);
+       }
+ }
+ static int ipoib_check_lladdr(struct net_device *dev,
+                             struct sockaddr_storage *ss)
+ {
+       union ib_gid *gid = (union ib_gid *)(ss->__data + 4);
+       int ret = 0;
+       netif_addr_lock(dev);
+       /* Make sure the QPN, reserved and subnet prefix match the current
+        * lladdr, it also makes sure the lladdr is unicast.
+        */
+       if (memcmp(dev->dev_addr, ss->__data,
+                  4 + sizeof(gid->global.subnet_prefix)) ||
+           gid->global.interface_id == 0)
+               ret = -EINVAL;
+       netif_addr_unlock(dev);
+       return ret;
+ }
+ static int ipoib_set_mac(struct net_device *dev, void *addr)
+ {
+       struct ipoib_dev_priv *priv = netdev_priv(dev);
+       struct sockaddr_storage *ss = addr;
+       int ret;
+       if (!(dev->priv_flags & IFF_LIVE_ADDR_CHANGE) && netif_running(dev))
+               return -EBUSY;
+       ret = ipoib_check_lladdr(dev, ss);
+       if (ret)
+               return ret;
+       set_base_guid(priv, (union ib_gid *)(ss->__data + 4));
+       queue_work(ipoib_workqueue, &priv->flush_light);
+       return 0;
+ }
  static ssize_t create_child(struct device *dev,
                            struct device_attribute *attr,
                            const char *buf, size_t count)
@@@ -1894,6 -2033,7 +2033,7 @@@ static struct net_device *ipoib_add_por
                goto device_init_failed;
        } else
                memcpy(priv->dev->dev_addr + 4, priv->local_gid.raw, sizeof (union ib_gid));
+       set_bit(IPOIB_FLAG_DEV_ADDR_SET, &priv->flags);
  
        result = ipoib_dev_init(priv->dev, hca, port);
        if (result < 0) {