Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 12 Oct 2014 00:34:00 +0000 (20:34 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 12 Oct 2014 00:34:00 +0000 (20:34 -0400)
Pull powerpc updates from Michael Ellerman:
 "Here's a first pull request for powerpc updates for 3.18.

  The bulk of the additions are for the "cxl" driver, for IBM's Coherent
  Accelerator Processor Interface (CAPI).  Most of it's in drivers/misc,
  which Greg & Arnd maintain, Greg said he was happy for us to take it
  through our tree.

  There's the usual minor cleanups and fixes, including a bit of noise
  in drivers from some of those.  A bunch of updates to our EEH code,
  which has been getting more testing.  Several nice speedups from
  Anton, including 20% in clear_page().

  And a bunch of updates for freescale from Scott"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (130 commits)
  cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking
  cxl: Add documentation for userspace APIs
  cxl: Add driver to Kbuild and Makefiles
  cxl: Add userspace header file
  cxl: Driver code for powernv PCIe based cards for userspace access
  cxl: Add base builtin support
  powerpc/mm: Add hooks for cxl
  powerpc/opal: Add PHB to cxl mode call
  powerpc/mm: Add new hash_page_mm()
  powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts
  cxl: Add new header for call backs and structs
  powerpc/powernv: Split out set MSI IRQ chip code
  powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize
  powerpc/msi: Improve IRQ bitmap allocator
  powerpc/cell: Make spu_flush_all_slbs() generic
  powerpc/cell: Move data segment faulting code out of cell platform
  powerpc/cell: Move spu_handle_mm_fault() out of cell platform
  powerpc/pseries: Use new defines when calling H_SET_MODE
  powerpc: Update contact info in Documentation files
  powerpc/perf/hv-24x7: Simplify catalog_read()
  ...

1  2 
MAINTAINERS
arch/powerpc/configs/ppc64_defconfig
arch/powerpc/include/asm/machdep.h
arch/powerpc/include/asm/pgtable.h
arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
arch/powerpc/platforms/Kconfig.cputype
arch/powerpc/platforms/powernv/opal.c
arch/powerpc/platforms/powernv/pci.c
arch/powerpc/platforms/pseries/hotplug-memory.c
arch/powerpc/sysdev/fsl_msi.c

diff --combined MAINTAINERS
@@@ -152,9 -152,8 +152,9 @@@ F: drivers/scsi/53c700
  
  6LOWPAN GENERIC (BTLE/IEEE 802.15.4)
  M:    Alexander Aring <alex.aring@gmail.com>
 -L:    linux-zigbee-devel@lists.sourceforge.net (moderated for non-subscribers)
 +M:    Jukka Rissanen <jukka.rissanen@linux.intel.com>
  L:    linux-bluetooth@vger.kernel.org
 +L:    linux-wpan@vger.kernel.org
  S:    Maintained
  F:    net/6lowpan/
  F:    include/net/6lowpan.h
@@@ -686,17 -685,6 +686,17 @@@ L:       alsa-devel@alsa-project.org (moderat
  W:    http://blackfin.uclinux.org/
  S:    Supported
  F:    sound/soc/blackfin/*
 + 
 +ANALOG DEVICES INC IIO DRIVERS
 +M:    Lars-Peter Clausen <lars@metafoo.de>
 +M:    Michael Hennerich <Michael.Hennerich@analog.com>
 +W:    http://wiki.analog.com/
 +W:    http://ez.analog.com/community/linux-device-drivers
 +S:    Supported
 +F:    drivers/iio/*/ad*
 +X:    drivers/iio/*/adjd*
 +F:    drivers/staging/iio/*/ad*
 +F:    staging/iio/trigger/iio-trig-bfin-timer.c
  
  AOA (Apple Onboard Audio) ALSA DRIVER
  M:    Johannes Berg <johannes@sipsolutions.net>
@@@ -847,12 -835,6 +847,12 @@@ M:       Emilio López <emilio@elopez.com.ar
  S:    Maintained
  F:    drivers/clk/sunxi/
  
 +ARM/Amlogic MesonX SoC support
 +M:    Carlo Caione <carlo@caione.org>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +N:    meson[x68]
 +
  ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES
  M:    Andrew Victor <linux@maxim.org.za>
  M:    Nicolas Ferre <nicolas.ferre@atmel.com>
@@@ -879,9 -861,10 +879,9 @@@ S:        Maintaine
  F:    arch/arm/mach-highbank/
  
  ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT
 -M:    Anton Vorontsov <anton@enomsg.org>
 +M:    Krzysztof Halasa <khalasa@piap.pl>
  S:    Maintained
  F:    arch/arm/mach-cns3xxx/
 -T:    git git://git.infradead.org/users/cbou/linux-cns3xxx.git
  
  ARM/CIRRUS LOGIC CLPS711X ARM ARCHITECTURE
  M:    Alexander Shiyan <shc_work@mail.ru>
@@@ -981,7 -964,7 +981,7 @@@ F: arch/arm/include/asm/hardware/dec212
  F:    arch/arm/mach-footbridge/
  
  ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
 -M:    Shawn Guo <shawn.guo@freescale.com>
 +M:    Shawn Guo <shawn.guo@linaro.org>
  M:    Sascha Hauer <kernel@pengutronix.de>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
@@@ -1042,20 -1025,24 +1042,20 @@@ F:   arch/arm/mach-pxa/colibri-pxa270-inc
  
  ARM/INTEL IOP32X ARM ARCHITECTURE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
  ARM/INTEL IOP33X ARM ARCHITECTURE
 -M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 +S:    Orphan
  
  ARM/INTEL IOP13XX ARM ARCHITECTURE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
  ARM/INTEL IQ81342EX MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
@@@ -1066,7 -1053,7 +1066,7 @@@ S:      Maintaine
  
  ARM/INTEL IXP4XX ARM ARCHITECTURE
  M:    Imre Kaloz <kaloz@openwrt.org>
 -M:    Krzysztof Halasa <khc@pm.waw.pl>
 +M:    Krzysztof Halasa <khalasa@piap.pl>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-ixp4xx/
@@@ -1080,6 -1067,7 +1080,6 @@@ F:      drivers/pcmcia/pxa2xx_stargate2.
  
  ARM/INTEL XSC3 (MANZANO) ARM CORE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
@@@ -1162,16 -1150,6 +1162,16 @@@ W:    http://www.digriz.org.uk/ts78xx/kern
  S:    Maintained
  F:    arch/arm/mach-orion5x/ts78xx-*
  
 +ARM/Mediatek SoC support
 +M:    Matthias Brugger <matthias.bgg@gmail.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/boot/dts/mt6*
 +F:    arch/arm/boot/dts/mt8*
 +F:    arch/arm/mach-mediatek/
 +N:    mtk
 +K:    mediatek
 +
  ARM/MICREL KS8695 ARCHITECTURE
  M:    Greg Ungerer <gerg@uclinux.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1383,6 -1361,7 +1383,6 @@@ F:      arch/arm/boot/dts/sh
  F:    arch/arm/configs/ape6evm_defconfig
  F:    arch/arm/configs/armadillo800eva_defconfig
  F:    arch/arm/configs/bockw_defconfig
 -F:    arch/arm/configs/genmai_defconfig
  F:    arch/arm/configs/koelsch_defconfig
  F:    arch/arm/configs/kzm9g_defconfig
  F:    arch/arm/configs/lager_defconfig
@@@ -1393,23 -1372,15 +1393,23 @@@ F:   arch/arm/mach-shmobile
  F:    drivers/sh/
  
  ARM/SOCFPGA ARCHITECTURE
 -M:    Dinh Nguyen <dinguyen@altera.com>
 +M:    Dinh Nguyen <dinguyen@opensource.altera.com>
  S:    Maintained
  F:    arch/arm/mach-socfpga/
 +W:    http://www.rocketboards.org
 +T:    git://git.rocketboards.org/linux-socfpga.git
 +T:    git://git.rocketboards.org/linux-socfpga-next.git
  
  ARM/SOCFPGA CLOCK FRAMEWORK SUPPORT
 -M:    Dinh Nguyen <dinguyen@altera.com>
 +M:    Dinh Nguyen <dinguyen@opensource.altera.com>
  S:    Maintained
  F:    drivers/clk/socfpga/
  
 +ARM/SOCFPGA EDAC SUPPORT
 +M:    Thor Thayer <tthayer@opensource.altera.com>
 +S:    Maintained
 +F:    drivers/edac/altera_edac.
 +
  ARM/STI ARCHITECTURE
  M:    Srinivas Kandagatla <srinivas.kandagatla@gmail.com>
  M:    Maxime Coquelin <maxime.coquelin@st.com>
@@@ -1421,17 -1392,12 +1421,17 @@@ S:   Maintaine
  F:    arch/arm/mach-sti/
  F:    arch/arm/boot/dts/sti*
  F:    drivers/clocksource/arm_global_timer.c
 -F:    drivers/reset/sti/
 -F:    drivers/pinctrl/pinctrl-st.c
 -F:    drivers/media/rc/st_rc.c
  F:    drivers/i2c/busses/i2c-st.c
 -F:    drivers/tty/serial/st-asc.c
 +F:    drivers/media/rc/st_rc.c
  F:    drivers/mmc/host/sdhci-st.c
 +F:    drivers/phy/phy-stih407-usb.c
 +F:    drivers/phy/phy-stih41x-usb.c
 +F:    drivers/pinctrl/pinctrl-st.c
 +F:    drivers/reset/sti/
 +F:    drivers/tty/serial/st-asc.c
 +F:    drivers/usb/dwc3/dwc3-st.c
 +F:    drivers/usb/host/ehci-st.c
 +F:    drivers/usb/host/ohci-st.c
  
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
@@@ -1596,9 -1562,9 +1596,9 @@@ F:      drivers/platform/x86/asus*.
  F:    drivers/platform/x86/eeepc*.c
  
  ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
 -M:    Dan Williams <dan.j.williams@intel.com>
 +R:    Dan Williams <dan.j.williams@intel.com>
  W:    http://sourceforge.net/projects/xscaleiop
 -S:    Maintained
 +S:    Odd fixes
  F:    Documentation/crypto/async-tx-api.txt
  F:    crypto/async_tx/
  F:    drivers/dma/
@@@ -1650,7 -1616,6 +1650,7 @@@ L:      wil6210@qca.qualcomm.co
  S:    Supported
  W:    http://wireless.kernel.org/en/users/Drivers/wil6210
  F:    drivers/net/wireless/ath/wil6210/
 +F:    include/uapi/linux/wil6210_uapi.h
  
  CARL9170 LINUX COMMUNITY WIRELESS DRIVER
  M:    Christian Lamparter <chunkeey@googlemail.com>
@@@ -1700,12 -1665,6 +1700,12 @@@ M:    Nicolas Ferre <nicolas.ferre@atmel.c
  S:    Supported
  F:    drivers/tty/serial/atmel_serial.c
  
 +ATMEL Audio ALSA driver
 +M:    Bo Shen <voice.shen@atmel.com>
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Supported
 +F:    sound/soc/atmel
 +
  ATMEL DMA DRIVER
  M:    Nicolas Ferre <nicolas.ferre@atmel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -2045,7 -2004,6 +2045,7 @@@ F:      drivers/net/ethernet/broadcom/bnx2x
  BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE
  M:    Christian Daudt <bcm@fixthebug.org>
  M:    Matt Porter <mporter@linaro.org>
 +M:    Florian Fainelli <f.fainelli@gmail.com>
  L:    bcm-kernel-feedback-list@broadcom.com
  T:    git git://github.com/broadcom/mach-bcm
  S:    Maintained
@@@ -2075,14 -2033,6 +2075,14 @@@ F:    arch/arm/mach-bcm/bcm_5301x.
  F:    arch/arm/boot/dts/bcm5301x.dtsi
  F:    arch/arm/boot/dts/bcm470*
  
 +BROADCOM BCM63XX ARM ARCHITECTURE
 +M:    Florian Fainelli <f.fainelli@gmail.com>
 +L:    linux-arm-kernel@lists.infradead.org
 +T:    git git://git.github.com/brcm/linux.git
 +S:    Maintained
 +F:    arch/arm/mach-bcm/bcm63xx.c
 +F:    arch/arm/include/debug/bcm63xx.S
 +
  BROADCOM BCM7XXX ARM ARCHITECTURE
  M:    Marc Carino <marc.ceeeee@gmail.com>
  M:    Brian Norris <computersforpeace@gmail.com>
@@@ -2148,7 -2098,7 +2148,7 @@@ S:      Supporte
  F:    drivers/scsi/bfa/
  
  BROCADE BNA 10 GIGABIT ETHERNET DRIVER
 -M:    Rasesh Mody <rmody@brocade.com>
 +M:    Rasesh Mody <rasesh.mody@qlogic.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/brocade/bna/
@@@ -2761,6 -2711,18 +2761,18 @@@ W:    http://www.chelsio.co
  S:    Supported
  F:    drivers/net/ethernet/chelsio/cxgb4vf/
  
+ CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER
+ M:    Ian Munsie <imunsie@au1.ibm.com>
+ M:    Michael Neuling <mikey@neuling.org>
+ L:    linuxppc-dev@lists.ozlabs.org
+ S:    Supported
+ F:    drivers/misc/cxl/
+ F:    include/misc/cxl.h
+ F:    include/uapi/misc/cxl.h
+ F:    Documentation/powerpc/cxl.txt
+ F:    Documentation/powerpc/cxl.txt
+ F:    Documentation/ABI/testing/sysfs-class-cxl
  STMMAC ETHERNET DRIVER
  M:    Giuseppe Cavallaro <peppe.cavallaro@st.com>
  L:    netdev@vger.kernel.org
@@@ -2898,7 -2860,6 +2910,7 @@@ F:      drivers/platform/x86/dell-wmi.
  DESIGNWARE USB2 DRD IP DRIVER
  M:    Paul Zimmerman <paulz@synopsys.com>
  L:    linux-usb@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
  S:    Maintained
  F:    drivers/usb/dwc2/
  
@@@ -2910,13 -2871,6 +2922,13 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    drivers/usb/dwc3/
  
 +DEVICE COREDUMP (DEV_COREDUMP)
 +M:    Johannes Berg <johannes@sipsolutions.net>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    drivers/base/devcoredump.c
 +F:    include/linux/devcoredump.h
 +
  DEVICE FREQUENCY (DEVFREQ)
  M:    MyungJoo Ham <myungjoo.ham@samsung.com>
  M:    Kyungmin Park <kyungmin.park@samsung.com>
@@@ -3047,11 -3001,13 +3059,11 @@@ T:   git git://git.linaro.org/people/sumi
  
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
  M:    Vinod Koul <vinod.koul@intel.com>
 -M:    Dan Williams <dan.j.williams@intel.com>
  L:    dmaengine@vger.kernel.org
  Q:    https://patchwork.kernel.org/project/linux-dmaengine/list/
 -S:    Supported
 +S:    Maintained
  F:    drivers/dma/
  F:    include/linux/dma*
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx.git
  T:    git git://git.infradead.org/users/vkoul/slave-dma.git (slave-dma)
  
  DME1737 HARDWARE MONITOR DRIVER
@@@ -3068,14 -3024,14 +3080,14 @@@ S:   Supporte
  F:    drivers/acpi/dock.c
  
  DOCUMENTATION
 -M:    Randy Dunlap <rdunlap@infradead.org>
 +M:    Jiri Kosina <jkosina@suse.cz>
  L:    linux-doc@vger.kernel.org
 -T:    quilt http://www.infradead.org/~rdunlap/Doc/patches/
  S:    Maintained
  F:    Documentation/
  X:    Documentation/ABI/
  X:    Documentation/devicetree/
  X:    Documentation/[a-z][a-z]_[A-Z][A-Z]/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/doc.git
  
  DOUBLETALK DRIVER
  M:    "James R. Van Zandt" <jrv@vanzandt.mv.com>
@@@ -3607,11 -3563,6 +3619,11 @@@ T:    git git://git.kernel.org/pub/scm/lin
  F:    drivers/video/fbdev/s1d13xxxfb.c
  F:    include/video/s1d13xxxfb.h
  
 +ET131X NETWORK DRIVER
 +M:    Mark Einon <mark.einon@gmail.com>
 +S:    Odd Fixes
 +F:    drivers/net/ethernet/agere/
 +
  ETHERNET BRIDGE
  M:    Stephen Hemminger <stephen@networkplumber.org>
  L:    bridge@lists.linux-foundation.org
@@@ -4233,16 -4184,6 +4245,16 @@@ L:    linuxppc-dev@lists.ozlabs.or
  S:    Odd Fixes
  F:    drivers/tty/hvc/
  
 +HACKRF MEDIA DRIVER
 +M:    Antti Palosaari <crope@iki.fi>
 +L:    linux-media@vger.kernel.org
 +W:    http://linuxtv.org/
 +W:    http://palosaari.fi/linux/
 +Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 +T:    git git://linuxtv.org/anttip/media_tree.git
 +S:    Maintained
 +F:    drivers/media/usb/hackrf/
 +
  HARDWARE MONITORING
  M:    Jean Delvare <jdelvare@suse.de>
  M:    Guenter Roeck <linux@roeck-us.net>
@@@ -4548,6 -4489,7 +4560,6 @@@ M:      Mika Westerberg <mika.westerberg@lin
  L:    linux-i2c@vger.kernel.org
  L:    linux-acpi@vger.kernel.org
  S:    Maintained
 -F:    drivers/i2c/i2c-acpi.c
  
  I2C-TAOS-EVM DRIVER
  M:    Jean Delvare <jdelvare@suse.de>
@@@ -4667,14 -4609,13 +4679,14 @@@ F:   drivers/idle/i7300_idle.
  
  IEEE 802.15.4 SUBSYSTEM
  M:    Alexander Aring <alex.aring@gmail.com>
 -L:    linux-zigbee-devel@lists.sourceforge.net (moderated for non-subscribers)
 -W:    http://apps.sourceforge.net/trac/linux-zigbee
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
 +L:    linux-wpan@vger.kernel.org
 +W:    https://github.com/linux-wpan
 +T:    git git://github.com/linux-wpan/linux-wpan-next.git
  S:    Maintained
  F:    net/ieee802154/
  F:    net/mac802154/
  F:    drivers/net/ieee802154/
 +F:    Documentation/networking/ieee802154.txt
  
  IGUANAWORKS USB IR TRANSCEIVER
  M:    Sean Young <sean@mess.org>
@@@ -4684,9 -4625,6 +4696,9 @@@ F:      drivers/media/rc/iguanair.
  
  IIO SUBSYSTEM AND DRIVERS
  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>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    drivers/iio/
@@@ -4824,8 -4762,8 +4836,8 @@@ F:      arch/x86/kernel/cpu/microcode/core
  F:    arch/x86/kernel/cpu/microcode/intel*
  
  INTEL I/OAT DMA DRIVER
 -M:    Dan Williams <dan.j.williams@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
 +R:    Dan Williams <dan.j.williams@intel.com>
  L:    dmaengine@vger.kernel.org
  Q:    https://patchwork.kernel.org/project/linux-dmaengine/list/
  S:    Supported
@@@ -4840,12 -4778,12 +4852,12 @@@ F:   drivers/iommu/intel-iommu.
  F:    include/linux/intel-iommu.h
  
  INTEL IOP-ADMA DMA DRIVER
 -M:    Dan Williams <dan.j.williams@intel.com>
 +R:    Dan Williams <dan.j.williams@intel.com>
  S:    Odd fixes
  F:    drivers/dma/iop-adma.c
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
 -M:    Krzysztof Halasa <khc@pm.waw.pl>
 +M:    Krzysztof Halasa <khalasa@piap.pl>
  S:    Maintained
  F:    arch/arm/mach-ixp4xx/include/mach/qmgr.h
  F:    arch/arm/mach-ixp4xx/include/mach/npe.h
@@@ -4859,14 -4797,14 +4871,14 @@@ M:   Deepak Saxena <dsaxena@plexity.net
  S:    Maintained
  F:    drivers/char/hw_random/ixp4xx-rng.c
  
 -INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e/i40evf)
 +INTEL ETHERNET DRIVERS (e100/e1000/e1000e/fm10k/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e/i40evf)
  M:    Jeff Kirsher <jeffrey.t.kirsher@intel.com>
  M:    Jesse Brandeburg <jesse.brandeburg@intel.com>
  M:    Bruce Allan <bruce.w.allan@intel.com>
  M:    Carolyn Wyborny <carolyn.wyborny@intel.com>
  M:    Don Skidmore <donald.c.skidmore@intel.com>
  M:    Greg Rose <gregory.v.rose@intel.com>
 -M:    Alex Duyck <alexander.h.duyck@intel.com>
 +M:    Matthew Vick <matthew.vick@intel.com>
  M:    John Ronciak <john.ronciak@intel.com>
  M:    Mitch Williams <mitch.a.williams@intel.com>
  M:    Linux NICS <linux.nics@intel.com>
@@@ -5055,7 -4993,6 +5067,7 @@@ L:      linux-kernel@vger.kernel.or
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  T:    git git://git.infradead.org/users/jcooper/linux.git irqchip/core
 +F:    Documentation/devicetree/bindings/interrupt-controller/
  F:    drivers/irqchip/
  
  IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
@@@ -5141,7 -5078,7 +5153,7 @@@ W:      http://palosaari.fi/linux
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
 -F:    drivers/media/tuners/tuner_it913x*
 +F:    drivers/media/tuners/it913x*
  
  IVTV VIDEO4LINUX DRIVER
  M:    Andy Walls <awalls@md.metrocast.net>
@@@ -5555,7 -5492,7 +5567,7 @@@ F:      drivers/macintosh
  LINUX FOR POWERPC EMBEDDED MPC5XXX
  M:    Anatolij Gustschin <agust@denx.de>
  L:    linuxppc-dev@lists.ozlabs.org
 -T:    git git://git.denx.de/linux-2.6-agust.git
 +T:    git git://git.denx.de/linux-denx-agust.git
  S:    Maintained
  F:    arch/powerpc/platforms/512x/
  F:    arch/powerpc/platforms/52xx/
@@@ -6448,7 -6385,7 +6460,7 @@@ M:      Lauro Ramos Venancio <lauro.venancio
  M:    Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
  M:    Samuel Ortiz <sameo@linux.intel.com>
  L:    linux-wireless@vger.kernel.org
 -L:    linux-nfc@lists.01.org (moderated for non-subscribers)
 +L:    linux-nfc@lists.01.org (subscribers-only)
  S:    Supported
  F:    net/nfc/
  F:    include/net/nfc/
@@@ -6616,9 -6553,10 +6628,9 @@@ S:     Maintaine
  F:    drivers/mmc/host/omap.c
  
  OMAP HS MMC SUPPORT
 -M:    Balaji T K <balajitk@ti.com>
  L:    linux-mmc@vger.kernel.org
  L:    linux-omap@vger.kernel.org
 -S:    Maintained
 +S:    Orphan
  F:    drivers/mmc/host/omap_hsmmc.c
  
  OMAP RANDOM NUMBER GENERATOR SUPPORT
@@@ -6948,29 -6886,14 +6960,29 @@@ F:   include/linux/pci
  F:    arch/x86/pci/
  F:    arch/x86/kernel/quirks.c
  
 +PCI DRIVER FOR APPLIEDMICRO XGENE
 +M:    Tanmay Inamdar <tinamdar@apm.com>
 +L:    linux-pci@vger.kernel.org
 +L:    linux-arm-kernel@lists.infradead.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/xgene-pci.txt
 +F:    drivers/pci/host/pci-xgene.c
 +
  PCI DRIVER FOR IMX6
  M:    Richard Zhu <r65037@freescale.com>
 -M:    Shawn Guo <shawn.guo@freescale.com>
 +M:    Lucas Stach <l.stach@pengutronix.de>
  L:    linux-pci@vger.kernel.org
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    drivers/pci/host/*imx6*
  
 +PCI DRIVER FOR TI KEYSTONE
 +M:    Murali Karicheri <m-karicheri2@ti.com>
 +L:    linux-pci@vger.kernel.org
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    drivers/pci/host/*keystone*
 +
  PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support)
  M:    Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  M:    Jason Cooper <jason@lakedaemon.net>
@@@ -7373,14 -7296,6 +7385,14 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/usb/pwc/*
  
 +PWM FAN DRIVER
 +M:    Kamil Debski <k.debski@samsung.com>
 +L:    lm-sensors@lm-sensors.org
 +S:    Supported
 +F:    Documentation/devicetree/bindings/hwmon/pwm-fan.txt
 +F:    Documentation/hwmon/pwm-fan
 +F:    drivers/hwmon/pwm-fan.c
 +
  PWM SUBSYSTEM
  M:    Thierry Reding <thierry.reding@gmail.com>
  L:    linux-pwm@vger.kernel.org
@@@ -7394,12 -7309,12 +7406,12 @@@ F:   drivers/video/backlight/pwm_bl.
  F:    include/linux/pwm_backlight.h
  
  PXA2xx/PXA3xx SUPPORT
 -M:    Eric Miao <eric.y.miao@gmail.com>
 -M:    Russell King <linux@arm.linux.org.uk>
 +M:    Daniel Mack <daniel@zonque.org>
  M:    Haojian Zhuang <haojian.zhuang@gmail.com>
 +M:    Robert Jarzmik <robert.jarzmik@free.fr>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  T:    git git://github.com/hzhuang1/linux.git
 -T:    git git://git.linaro.org/people/ycmiao/pxa-linux.git
 +T:    git git://github.com/rjarzmik/linux.git
  S:    Maintained
  F:    arch/arm/mach-pxa/
  F:    drivers/pcmcia/pxa2xx*
@@@ -7476,15 -7391,15 +7488,15 @@@ F:   drivers/net/ethernet/qlogic/qla3xxx.
  
  QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
  M:    Shahed Shaikh <shahed.shaikh@qlogic.com>
 -M:    Dept-HSGLinuxNICDev@qlogic.com
 +M:    Dept-GELinuxNICDev@qlogic.com
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/qlogic/qlcnic/
  
  QLOGIC QLGE 10Gb ETHERNET DRIVER
 -M:    Shahed Shaikh <shahed.shaikh@qlogic.com>
 -M:    Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
 -M:    Ron Mercer <ron.mercer@qlogic.com>
 +M:    Harish Patil <harish.patil@qlogic.com>
 +M:    Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
 +M:    Dept-GELinuxNICDev@qlogic.com
  M:    linux-driver@qlogic.com
  L:    netdev@vger.kernel.org
  S:    Supported
@@@ -7587,12 -7502,13 +7599,12 @@@ F:   drivers/video/fbdev/aty/aty128fb.
  
  RALINK RT2X00 WIRELESS LAN DRIVER
  P:    rt2x00 project
 -M:    Ivo van Doorn <IvDoorn@gmail.com>
 +M:    Stanislaw Gruszka <sgruszka@redhat.com>
  M:    Helmut Schaa <helmut.schaa@googlemail.com>
  L:    linux-wireless@vger.kernel.org
  L:    users@rt2x00.serialmonkey.com (moderated for non-subscribers)
  W:    http://rt2x00.serialmonkey.com/
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git
  F:    drivers/net/wireless/rt2x00/
  
  RAMDISK RAM BLOCK DEVICE DRIVER
@@@ -7694,7 -7610,6 +7706,7 @@@ F:      fs/reiserfs
  
  REGISTER MAP ABSTRACTION
  M:    Mark Brown <broonie@kernel.org>
 +L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git
  S:    Supported
  F:    drivers/base/regmap/
@@@ -8507,11 -8422,11 +8519,11 @@@ S:   Maintaine
  F:    Documentation/security/Smack.txt
  F:    security/smack/
  
 -SMARTREFLEX DRIVERS FOR ADAPTIVE VOLTAGE SCALING (AVS)
 +DRIVERS FOR ADAPTIVE VOLTAGE SCALING (AVS)
  M:    Kevin Hilman <khilman@kernel.org>
  M:    Nishanth Menon <nm@ti.com>
  S:    Maintained
 -F:    drivers/power/avs/smartreflex.c
 +F:    drivers/power/avs/
  F:    include/linux/power/smartreflex.h
  L:    linux-pm@vger.kernel.org
  
@@@ -8681,14 -8596,6 +8693,14 @@@ F:    include/sound/dmaengine_pcm.
  F:    sound/core/pcm_dmaengine.c
  F:    sound/soc/soc-generic-dmaengine-pcm.c
  
 +SP2 MEDIA DRIVER
 +M:    Olli Salonen <olli.salonen@iki.fi>
 +L:    linux-media@vger.kernel.org
 +W:    http://linuxtv.org/
 +Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 +S:    Maintained
 +F:    drivers/media/dvb-frontends/sp2*
 +
  SPARC + UltraSPARC (sparc/sparc64)
  M:    "David S. Miller" <davem@davemloft.net>
  L:    sparclinux@vger.kernel.org
@@@ -8800,6 -8707,11 +8812,6 @@@ M:     H Hartley Sweeten <hsweeten@visionen
  S:    Odd Fixes
  F:    drivers/staging/comedi/
  
 -STAGING - ET131X NETWORK DRIVER
 -M:    Mark Einon <mark.einon@gmail.com>
 -S:    Odd Fixes
 -F:    drivers/staging/et131x/
 -
  STAGING - FLARION FT1000 DRIVERS
  M:    Marek Belisko <marek.belisko@gmail.com>
  S:    Odd Fixes
@@@ -8817,14 -8729,6 +8829,14 @@@ W:    http://www.lirc.org
  S:    Odd Fixes
  F:    drivers/staging/media/lirc/
  
 +STAGING - LUSTRE PARALLEL FILESYSTEM
 +M:    Oleg Drokin <oleg.drokin@intel.com>
 +M:    Andreas Dilger <andreas.dilger@intel.com>
 +L:    HPDD-discuss@lists.01.org (moderated for non-subscribers)
 +W:    http://lustre.opensfs.org/
 +S:    Maintained
 +F:    drivers/staging/lustre
 +
  STAGING - NVIDIA COMPLIANT EMBEDDED CONTROLLER INTERFACE (nvec)
  M:    Julian Andres Klode <jak@jak-linux.org>
  M:    Marc Dietrich <marvin24@gmx.de>
@@@ -9118,13 -9022,17 +9130,13 @@@ F:   drivers/media/rc/ttusbir.
  TEGRA ARCHITECTURE SUPPORT
  M:    Stephen Warren <swarren@wwwdotorg.org>
  M:    Thierry Reding <thierry.reding@gmail.com>
 +M:    Alexandre Courbot <gnurou@gmail.com>
  L:    linux-tegra@vger.kernel.org
  Q:    http://patchwork.ozlabs.org/project/linux-tegra/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git
  S:    Supported
  N:    [^a-z]tegra
  
 -TEGRA ASOC DRIVER
 -M:    Stephen Warren <swarren@wwwdotorg.org>
 -S:    Supported
 -F:    sound/soc/tegra/
 -
  TEGRA CLOCK DRIVER
  M:    Peter De Schrijver <pdeschrijver@nvidia.com>
  M:    Prashant Gaikwad <pgaikwad@nvidia.com>
@@@ -9136,6 -9044,11 +9148,6 @@@ M:     Laxman Dewangan <ldewangan@nvidia.co
  S:    Supported
  F:    drivers/dma/tegra20-apb-dma.c
  
 -TEGRA GPIO DRIVER
 -M:    Stephen Warren <swarren@wwwdotorg.org>
 -S:    Supported
 -F:    drivers/gpio/gpio-tegra.c
 -
  TEGRA I2C DRIVER
  M:    Laxman Dewangan <ldewangan@nvidia.com>
  S:    Supported
@@@ -9152,6 -9065,11 +9164,6 @@@ M:     Laxman Dewangan <ldewangan@nvidia.co
  S:    Supported
  F:    drivers/input/keyboard/tegra-kbc.c
  
 -TEGRA PINCTRL DRIVER
 -M:    Stephen Warren <swarren@wwwdotorg.org>
 -S:    Supported
 -F:    drivers/pinctrl/pinctrl-tegra*
 -
  TEGRA PWM DRIVER
  M:    Thierry Reding <thierry.reding@gmail.com>
  S:    Supported
@@@ -9242,15 -9160,6 +9254,15 @@@ F:    drivers/misc/tifm
  F:    drivers/mmc/host/tifm_sd.c
  F:    include/linux/tifm.h
  
 +TI KEYSTONE MULTICORE NAVIGATOR DRIVERS
 +M:    Santosh Shilimkar <santosh.shilimkar@ti.com>
 +L:    linux-kernel@vger.kernel.org
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    drivers/soc/ti/*
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git
 +
 +
  TI LM49xxx FAMILY ASoC CODEC DRIVERS
  M:    M R Swami Reddy <mr.swami.reddy@ti.com>
  M:    Vishwas A Deshpande <vishwas.a.deshpande@ti.com>
@@@ -9392,14 -9301,6 +9404,14 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Odd fixes
  F:    drivers/media/usb/tm6000/
  
 +TW68 VIDEO4LINUX DRIVER
 +M:    Hans Verkuil <hverkuil@xs4all.nl>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +W:    http://linuxtv.org
 +S:    Odd Fixes
 +F:    drivers/media/pci/tw68/
 +
  TPM DEVICE DRIVER
  M:    Peter Huewe <peterhuewe@gmx.de>
  M:    Ashley Lai <ashley@ashleylai.com>
@@@ -9794,7 -9695,7 +9806,7 @@@ USB WEBCAM GADGE
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-usb@vger.kernel.org
  S:    Maintained
 -F:    drivers/usb/gadget/function/*uvc*.c
 +F:    drivers/usb/gadget/function/*uvc*
  F:    drivers/usb/gadget/legacy/webcam.c
  
  USB WIRELESS RNDIS DRIVER (rndis_wlan)
@@@ -10008,7 -9909,6 +10020,7 @@@ F:    drivers/scsi/vmw_pvscsi.
  VOLTAGE AND CURRENT REGULATOR FRAMEWORK
  M:    Liam Girdwood <lgirdwood@gmail.com>
  M:    Mark Brown <broonie@kernel.org>
 +L:    linux-kernel@vger.kernel.org
  W:    http://opensource.wolfsonmicro.com/node/15
  W:    http://www.slimlogic.co.uk/?p=48
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
@@@ -10268,15 -10168,6 +10280,15 @@@ S: Supporte
  F:    drivers/block/xen-blkback/*
  F:    drivers/block/xen*
  
 +XEN PVSCSI DRIVERS
 +M:    Juergen Gross <jgross@suse.com>
 +L:    xen-devel@lists.xenproject.org (moderated for non-subscribers)
 +L:    linux-scsi@vger.kernel.org
 +S:    Supported
 +F:    drivers/scsi/xen-scsifront.c
 +F:    drivers/xen/xen-scsiback.c
 +F:    include/xen/interface/io/vscsiif.h
 +
  XEN SWIOTLB SUBSYSTEM
  M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  L:    xen-devel@lists.xenproject.org (moderated for non-subscribers)
@@@ -10311,12 -10202,6 +10323,12 @@@ L: linux-serial@vger.kernel.or
  S:    Maintained
  F:    drivers/tty/serial/uartlite.c
  
 +XILLYBUS DRIVER
 +M:    Eli Billauer <eli.billauer@gmail.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Supported
 +F:    drivers/char/xillybus/
 +
  XTENSA XTFPGA PLATFORM SUPPORT
  M:    Max Filippov <jcmvbkbc@gmail.com>
  L:    linux-xtensa@linux-xtensa.org
@@@ -50,6 -50,7 +50,7 @@@ CONFIG_HZ_100=
  CONFIG_BINFMT_MISC=m
  CONFIG_PPC_TRANSACTIONAL_MEM=y
  CONFIG_KEXEC=y
+ CONFIG_CRASH_DUMP=y
  CONFIG_IRQ_ALL_CPUS=y
  CONFIG_MEMORY_HOTREMOVE=y
  CONFIG_SCHED_SMT=y
@@@ -58,7 -59,6 +59,7 @@@ CONFIG_ELECTRA_CF=
  CONFIG_HOTPLUG_PCI=y
  CONFIG_HOTPLUG_PCI_RPA=m
  CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
 +CONFIG_NET=y
  CONFIG_PACKET=y
  CONFIG_UNIX=y
  CONFIG_XFRM_USER=m
@@@ -136,6 -136,8 +136,6 @@@ struct machdep_calls 
        int             (*pci_setup_phb)(struct pci_controller *host);
  
  #ifdef CONFIG_PCI_MSI
 -      int             (*msi_check_device)(struct pci_dev* dev,
 -                                          int nvec, int type);
        int             (*setup_msi_irqs)(struct pci_dev *dev,
                                          int nvec, int type);
        void            (*teardown_msi_irqs)(struct pci_dev *dev);
@@@ -328,8 -330,6 +328,6 @@@ extern struct machdep_calls *machine_id
  
  extern void probe_machine(void);
  
- extern char cmd_line[COMMAND_LINE_SIZE];
  #ifdef CONFIG_PPC_PMAC
  /*
   * Power macintoshes have either a CUDA, PMU or SMU controlling
@@@ -4,6 -4,7 +4,7 @@@
  
  #ifndef __ASSEMBLY__
  #include <linux/mmdebug.h>
+ #include <linux/mmzone.h>
  #include <asm/processor.h>            /* For TASK_SIZE */
  #include <asm/mmu.h>
  #include <asm/page.h>
@@@ -38,9 -39,10 +39,9 @@@ static inline int pte_none(pte_t pte)                
  static inline pgprot_t pte_pgprot(pte_t pte)  { return __pgprot(pte_val(pte) & PAGE_PROT_BITS); }
  
  #ifdef CONFIG_NUMA_BALANCING
 -
  static inline int pte_present(pte_t pte)
  {
 -      return pte_val(pte) & (_PAGE_PRESENT | _PAGE_NUMA);
 +      return pte_val(pte) & _PAGE_NUMA_MASK;
  }
  
  #define pte_present_nonuma pte_present_nonuma
@@@ -49,6 -51,37 +50,6 @@@ static inline int pte_present_nonuma(pt
        return pte_val(pte) & (_PAGE_PRESENT);
  }
  
 -#define pte_numa pte_numa
 -static inline int pte_numa(pte_t pte)
 -{
 -      return (pte_val(pte) &
 -              (_PAGE_NUMA|_PAGE_PRESENT)) == _PAGE_NUMA;
 -}
 -
 -#define pte_mknonnuma pte_mknonnuma
 -static inline pte_t pte_mknonnuma(pte_t pte)
 -{
 -      pte_val(pte) &= ~_PAGE_NUMA;
 -      pte_val(pte) |=  _PAGE_PRESENT | _PAGE_ACCESSED;
 -      return pte;
 -}
 -
 -#define pte_mknuma pte_mknuma
 -static inline pte_t pte_mknuma(pte_t pte)
 -{
 -      /*
 -       * We should not set _PAGE_NUMA on non present ptes. Also clear the
 -       * present bit so that hash_page will return 1 and we collect this
 -       * as numa fault.
 -       */
 -      if (pte_present(pte)) {
 -              pte_val(pte) |= _PAGE_NUMA;
 -              pte_val(pte) &= ~_PAGE_PRESENT;
 -      } else
 -              VM_BUG_ON(1);
 -      return pte;
 -}
 -
  #define ptep_set_numa ptep_set_numa
  static inline void ptep_set_numa(struct mm_struct *mm, unsigned long addr,
                                 pte_t *ptep)
        return;
  }
  
 -#define pmd_numa pmd_numa
 -static inline int pmd_numa(pmd_t pmd)
 -{
 -      return pte_numa(pmd_pte(pmd));
 -}
 -
  #define pmdp_set_numa pmdp_set_numa
  static inline void pmdp_set_numa(struct mm_struct *mm, unsigned long addr,
                                 pmd_t *pmdp)
        return;
  }
  
 -#define pmd_mknonnuma pmd_mknonnuma
 -static inline pmd_t pmd_mknonnuma(pmd_t pmd)
 +/*
 + * Generic NUMA pte helpers expect pteval_t and pmdval_t types to exist
 + * which was inherited from x86. For the purposes of powerpc pte_basic_t and
 + * pmd_t are equivalent
 + */
 +#define pteval_t pte_basic_t
 +#define pmdval_t pmd_t
 +static inline pteval_t ptenuma_flags(pte_t pte)
  {
 -      return pte_pmd(pte_mknonnuma(pmd_pte(pmd)));
 +      return pte_val(pte) & _PAGE_NUMA_MASK;
  }
  
 -#define pmd_mknuma pmd_mknuma
 -static inline pmd_t pmd_mknuma(pmd_t pmd)
 +static inline pmdval_t pmdnuma_flags(pmd_t pmd)
  {
 -      return pte_pmd(pte_mknuma(pmd_pte(pmd)));
 +      return pmd_val(pmd) & _PAGE_NUMA_MASK;
  }
  
  # else
@@@ -248,6 -282,8 +249,8 @@@ extern unsigned long empty_zero_page[]
  
  extern pgd_t swapper_pg_dir[];
  
+ void limit_zone_pfn(enum zone_type zone, unsigned long max_pfn);
+ int dma_pfn_limit_to_zone(u64 pfn_limit);
  extern void paging_init(void);
  
  /*
@@@ -141,8 -141,7 +141,8 @@@ static int mcu_gpiochip_add(struct mcu 
  
  static int mcu_gpiochip_remove(struct mcu *mcu)
  {
 -      return gpiochip_remove(&mcu->gc);
 +      gpiochip_remove(&mcu->gc);
 +      return 0;
  }
  
  static int mcu_probe(struct i2c_client *client, const struct i2c_device_id *id)
@@@ -214,7 -213,7 +214,7 @@@ static const struct i2c_device_id mcu_i
  };
  MODULE_DEVICE_TABLE(i2c, mcu_ids);
  
- static struct of_device_id mcu_of_match_table[] = {
+ static const struct of_device_id mcu_of_match_table[] = {
        { .compatible = "fsl,mcu-mpc8349emitx", },
        { },
  };
@@@ -116,6 -116,12 +116,12 @@@ config POWER6_CP
  config POWER7_CPU
        bool "POWER7"
        depends on PPC_BOOK3S_64
+       select ARCH_HAS_FAST_MULTIPLIER
+ config POWER8_CPU
+       bool "POWER8"
+       depends on PPC_BOOK3S_64
+       select ARCH_HAS_FAST_MULTIPLIER
  
  config E5500_CPU
        bool "Freescale e5500"
@@@ -303,13 -309,9 +309,13 @@@ config PPC_ICSWX_USE_SIGIL
  
          If in doubt, say N here.
  
 +config SPE_POSSIBLE
 +      def_bool y
 +      depends on E200 || (E500 && !PPC_E500MC)
 +
  config SPE
        bool "SPE Support"
 -      depends on E200 || (E500 && !PPC_E500MC)
 +      depends on SPE_POSSIBLE
        default y
        ---help---
          This option enables kernel support for the Signal Processing
@@@ -105,12 -105,12 +105,12 @@@ int __init early_init_dt_scan_opal(unsi
        if (of_flat_dt_is_compatible(node, "ibm,opal-v3")) {
                powerpc_firmware_features |= FW_FEATURE_OPALv2;
                powerpc_firmware_features |= FW_FEATURE_OPALv3;
-               printk("OPAL V3 detected !\n");
+               pr_info("OPAL V3 detected !\n");
        } else if (of_flat_dt_is_compatible(node, "ibm,opal-v2")) {
                powerpc_firmware_features |= FW_FEATURE_OPALv2;
-               printk("OPAL V2 detected !\n");
+               pr_info("OPAL V2 detected !\n");
        } else {
-               printk("OPAL V1 detected !\n");
+               pr_info("OPAL V1 detected !\n");
        }
  
        /* Reinit all cores with the right endian */
@@@ -322,7 -322,7 +322,7 @@@ static void opal_handle_message(void
  
        /* check for errors. */
        if (ret) {
 -              pr_warning("%s: Failed to retrive opal message, err=%lld\n",
 +              pr_warning("%s: Failed to retrieve opal message, err=%lld\n",
                                __func__, ret);
                return;
        }
  //#define cfg_dbg(fmt...)     printk(fmt)
  
  #ifdef CONFIG_PCI_MSI
 -static int pnv_msi_check_device(struct pci_dev* pdev, int nvec, int type)
 -{
 -      struct pci_controller *hose = pci_bus_to_host(pdev->bus);
 -      struct pnv_phb *phb = hose->private_data;
 -      struct pci_dn *pdn = pci_get_pdn(pdev);
 -
 -      if (pdn && pdn->force_32bit_msi && !phb->msi32_support)
 -              return -ENODEV;
 -
 -      return (phb && phb->msi_bmp.bitmap) ? 0 : -ENODEV;
 -}
 -
  static int pnv_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
  {
        struct pci_controller *hose = pci_bus_to_host(pdev->bus);
        struct pnv_phb *phb = hose->private_data;
 +      struct pci_dn *pdn = pci_get_pdn(pdev);
        struct msi_desc *entry;
        struct msi_msg msg;
        int hwirq;
        unsigned int virq;
        int rc;
  
 -      if (WARN_ON(!phb))
 +      if (WARN_ON(!phb) || !phb->msi_bmp.bitmap)
 +              return -ENODEV;
 +
 +      if (pdn && pdn->force_32bit_msi && !phb->msi32_support)
                return -ENODEV;
  
        list_for_each_entry(entry, &pdev->msi_list, list) {
@@@ -753,6 -761,17 +753,17 @@@ int pnv_pci_dma_set_mask(struct pci_de
        return __dma_set_mask(&pdev->dev, dma_mask);
  }
  
+ u64 pnv_pci_dma_get_required_mask(struct pci_dev *pdev)
+ {
+       struct pci_controller *hose = pci_bus_to_host(pdev->bus);
+       struct pnv_phb *phb = hose->private_data;
+       if (phb && phb->dma_get_required_mask)
+               return phb->dma_get_required_mask(phb, pdev);
+       return __dma_get_required_mask(&pdev->dev);
+ }
  void pnv_pci_shutdown(void)
  {
        struct pci_controller *hose;
@@@ -852,6 -871,7 +863,6 @@@ void __init pnv_pci_init(void
  
        /* Configure MSIs */
  #ifdef CONFIG_PCI_MSI
 -      ppc_md.msi_check_device = pnv_msi_check_device;
        ppc_md.setup_msi_irqs = pnv_setup_msi_irqs;
        ppc_md.teardown_msi_irqs = pnv_teardown_msi_irqs;
  #endif
@@@ -20,6 -20,7 +20,7 @@@
  #include <asm/machdep.h>
  #include <asm/prom.h>
  #include <asm/sparsemem.h>
+ #include "pseries.h"
  
  unsigned long pseries_memory_block_size(void)
  {
@@@ -126,7 -127,7 +127,7 @@@ static int pseries_remove_mem_node(stru
                return 0;
  
        /*
 -       * Find the bae address and size of the memblock
 +       * Find the base address and size of the memblock
         */
        regs = of_get_property(np, "reg", NULL);
        if (!regs)
@@@ -200,7 -201,7 +201,7 @@@ static int pseries_update_drconf_memory
  
        /* The first int of the property is the number of lmb's described
         * by the property. This is followed by an array of of_drconf_cell
 -       * entries. Get the niumber of entries and skip to the array of
 +       * entries. Get the number of entries and skip to the array of
         * of_drconf_cell's.
         */
        entries = be32_to_cpu(*p++);
@@@ -18,6 -18,8 +18,8 @@@
  #include <linux/pci.h>
  #include <linux/slab.h>
  #include <linux/of_platform.h>
+ #include <linux/interrupt.h>
+ #include <linux/seq_file.h>
  #include <sysdev/fsl_soc.h>
  #include <asm/prom.h>
  #include <asm/hw_irq.h>
@@@ -50,6 -52,7 +52,7 @@@ struct fsl_msi_feature 
  struct fsl_msi_cascade_data {
        struct fsl_msi *msi_data;
        int index;
+       int virq;
  };
  
  static inline u32 fsl_msi_read(u32 __iomem *base, unsigned int reg)
@@@ -65,11 -68,24 +68,24 @@@ static void fsl_msi_end_irq(struct irq_
  {
  }
  
+ static void fsl_msi_print_chip(struct irq_data *irqd, struct seq_file *p)
+ {
+       struct fsl_msi *msi_data = irqd->domain->host_data;
+       irq_hw_number_t hwirq = irqd_to_hwirq(irqd);
+       int cascade_virq, srs;
+       srs = (hwirq >> msi_data->srs_shift) & MSI_SRS_MASK;
+       cascade_virq = msi_data->cascade_array[srs]->virq;
+       seq_printf(p, " fsl-msi-%d", cascade_virq);
+ }
  static struct irq_chip fsl_msi_chip = {
        .irq_mask       = mask_msi_irq,
        .irq_unmask     = unmask_msi_irq,
        .irq_ack        = fsl_msi_end_irq,
-       .name           = "FSL-MSI",
+       .irq_print_chip = fsl_msi_print_chip,
  };
  
  static int fsl_msi_host_map(struct irq_domain *h, unsigned int virq,
@@@ -109,6 -125,14 +125,6 @@@ static int fsl_msi_init_allocator(struc
        return 0;
  }
  
 -static int fsl_msi_check_device(struct pci_dev *pdev, int nvec, int type)
 -{
 -      if (type == PCI_CAP_ID_MSIX)
 -              pr_debug("fslmsi: MSI-X untested, trying anyway.\n");
 -
 -      return 0;
 -}
 -
  static void fsl_teardown_msi_irqs(struct pci_dev *pdev)
  {
        struct msi_desc *entry;
@@@ -165,9 -189,6 +181,9 @@@ static int fsl_setup_msi_irqs(struct pc
        struct msi_msg msg;
        struct fsl_msi *msi_data;
  
 +      if (type == PCI_CAP_ID_MSIX)
 +              pr_debug("fslmsi: MSI-X untested, trying anyway.\n");
 +
        /*
         * If the PCI node has an fsl,msi property, then we need to use it
         * to find the specific MSI.
        np = of_parse_phandle(hose->dn, "fsl,msi", 0);
        if (np) {
                if (of_device_is_compatible(np, "fsl,mpic-msi") ||
-                   of_device_is_compatible(np, "fsl,vmpic-msi"))
+                   of_device_is_compatible(np, "fsl,vmpic-msi") ||
+                   of_device_is_compatible(np, "fsl,vmpic-msi-v4.3"))
                        phandle = np->phandle;
                else {
                        dev_err(&pdev->dev,
@@@ -234,40 -256,24 +251,24 @@@ out_free
        return rc;
  }
  
- static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc)
+ static irqreturn_t fsl_msi_cascade(int irq, void *data)
  {
-       struct irq_chip *chip = irq_desc_get_chip(desc);
-       struct irq_data *idata = irq_desc_get_irq_data(desc);
        unsigned int cascade_irq;
        struct fsl_msi *msi_data;
        int msir_index = -1;
        u32 msir_value = 0;
        u32 intr_index;
        u32 have_shift = 0;
-       struct fsl_msi_cascade_data *cascade_data;
+       struct fsl_msi_cascade_data *cascade_data = data;
+       irqreturn_t ret = IRQ_NONE;
  
-       cascade_data = irq_get_handler_data(irq);
        msi_data = cascade_data->msi_data;
  
-       raw_spin_lock(&desc->lock);
-       if ((msi_data->feature &  FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) {
-               if (chip->irq_mask_ack)
-                       chip->irq_mask_ack(idata);
-               else {
-                       chip->irq_mask(idata);
-                       chip->irq_ack(idata);
-               }
-       }
-       if (unlikely(irqd_irq_inprogress(idata)))
-               goto unlock;
        msir_index = cascade_data->index;
  
        if (msir_index >= NR_MSI_REG_MAX)
                cascade_irq = NO_IRQ;
  
-       irqd_set_chained_irq_inprogress(idata);
        switch (msi_data->feature & FSL_PIC_IP_MASK) {
        case FSL_PIC_IP_MPIC:
                msir_value = fsl_msi_read(msi_data->msi_regs,
                cascade_irq = irq_linear_revmap(msi_data->irqhost,
                                msi_hwirq(msi_data, msir_index,
                                          intr_index + have_shift));
-               if (cascade_irq != NO_IRQ)
+               if (cascade_irq != NO_IRQ) {
                        generic_handle_irq(cascade_irq);
+                       ret = IRQ_HANDLED;
+               }
                have_shift += intr_index + 1;
                msir_value = msir_value >> (intr_index + 1);
        }
-       irqd_clr_chained_irq_inprogress(idata);
  
-       switch (msi_data->feature & FSL_PIC_IP_MASK) {
-       case FSL_PIC_IP_MPIC:
-       case FSL_PIC_IP_VMPIC:
-               chip->irq_eoi(idata);
-               break;
-       case FSL_PIC_IP_IPIC:
-               if (!irqd_irq_disabled(idata) && chip->irq_unmask)
-                       chip->irq_unmask(idata);
-               break;
-       }
- unlock:
-       raw_spin_unlock(&desc->lock);
+       return ret;
  }
  
  static int fsl_of_msi_remove(struct platform_device *ofdev)
  {
        struct fsl_msi *msi = platform_get_drvdata(ofdev);
        int virq, i;
-       struct fsl_msi_cascade_data *cascade_data;
  
        if (msi->list.prev != NULL)
                list_del(&msi->list);
        for (i = 0; i < NR_MSI_REG_MAX; i++) {
-               virq = msi->msi_virqs[i];
-               if (virq != NO_IRQ) {
-                       cascade_data = irq_get_handler_data(virq);
-                       kfree(cascade_data);
+               if (msi->cascade_array[i]) {
+                       virq = msi->cascade_array[i]->virq;
+                       BUG_ON(virq == NO_IRQ);
+                       free_irq(virq, msi->cascade_array[i]);
+                       kfree(msi->cascade_array[i]);
                        irq_dispose_mapping(virq);
                }
        }
@@@ -348,7 -346,7 +341,7 @@@ static int fsl_msi_setup_hwirq(struct f
                               int offset, int irq_index)
  {
        struct fsl_msi_cascade_data *cascade_data = NULL;
-       int virt_msir, i;
+       int virt_msir, i, ret;
  
        virt_msir = irq_of_parse_and_map(dev->dev.of_node, irq_index);
        if (virt_msir == NO_IRQ) {
                return -ENOMEM;
        }
        irq_set_lockdep_class(virt_msir, &fsl_msi_irq_class);
-       msi->msi_virqs[irq_index] = virt_msir;
        cascade_data->index = offset;
        cascade_data->msi_data = msi;
-       irq_set_handler_data(virt_msir, cascade_data);
-       irq_set_chained_handler(virt_msir, fsl_msi_cascade);
+       cascade_data->virq = virt_msir;
+       msi->cascade_array[irq_index] = cascade_data;
+       ret = request_irq(virt_msir, fsl_msi_cascade, 0,
+                         "fsl-msi-cascade", cascade_data);
+       if (ret) {
+               dev_err(&dev->dev, "failed to request_irq(%d), ret = %d\n",
+                       virt_msir, ret);
+               return ret;
+       }
  
        /* Release the hwirqs corresponding to this MSI register */
        for (i = 0; i < IRQS_PER_MSI_REG; i++)
@@@ -461,7 -466,8 +461,8 @@@ static int fsl_of_msi_probe(struct plat
  
        p = of_get_property(dev->dev.of_node, "msi-available-ranges", &len);
  
-       if (of_device_is_compatible(dev->dev.of_node, "fsl,mpic-msi-v4.3")) {
+       if (of_device_is_compatible(dev->dev.of_node, "fsl,mpic-msi-v4.3") ||
+           of_device_is_compatible(dev->dev.of_node, "fsl,vmpic-msi-v4.3")) {
                msi->srs_shift = MSIIR1_SRS_SHIFT;
                msi->ibs_shift = MSIIR1_IBS_SHIFT;
                if (p)
        if (!ppc_md.setup_msi_irqs) {
                ppc_md.setup_msi_irqs = fsl_setup_msi_irqs;
                ppc_md.teardown_msi_irqs = fsl_teardown_msi_irqs;
 -              ppc_md.msi_check_device = fsl_msi_check_device;
        } else if (ppc_md.setup_msi_irqs != fsl_setup_msi_irqs) {
                dev_err(&dev->dev, "Different MSI driver already installed!\n");
                err = -ENODEV;
@@@ -566,6 -573,10 +567,10 @@@ static const struct of_device_id fsl_of
                .compatible = "fsl,vmpic-msi",
                .data = &vmpic_msi_feature,
        },
+       {
+               .compatible = "fsl,vmpic-msi-v4.3",
+               .data = &vmpic_msi_feature,
+       },
  #endif
        {}
  };