Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Sep 2015 23:27:01 +0000 (16:27 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Sep 2015 23:27:01 +0000 (16:27 -0700)
Pull ARM development updates from Russell King:
 "Included in this update:

   - moving PSCI code from ARM64/ARM to drivers/

   - removal of some architecture internals from global kernel view

   - addition of software based "privileged no access" support using the
     old domains register to turn off the ability for kernel
     loads/stores to access userspace.  Only the proper accessors will
     be usable.

   - addition of early fixup support for early console

   - re-addition (and reimplementation) of OMAP special interconnect
     barrier

   - removal of finish_arch_switch()

   - only expose cpuX/online in sysfs if hotpluggable

   - a number of code cleanups"

* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (41 commits)
  ARM: software-based priviledged-no-access support
  ARM: entry: provide uaccess assembly macro hooks
  ARM: entry: get rid of multiple macro definitions
  ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die()
  ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore()
  ARM: mm: improve do_ldrd_abort macro
  ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit()
  ARM: entry: efficiency cleanups
  ARM: entry: get rid of asm_trace_hardirqs_on_cond
  ARM: uaccess: simplify user access assembly
  ARM: domains: remove DOMAIN_TABLE
  ARM: domains: keep vectors in separate domain
  ARM: domains: get rid of manager mode for user domain
  ARM: domains: move initial domain setting value to asm/domains.h
  ARM: domains: provide domain_mask()
  ARM: domains: switch to keeping domain value in register
  ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE
  ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD()
  ARM: 8416/1: Feroceon: use of_iomap() to map register base
  ARM: 8415/1: early fixmap support for earlycon
  ...

17 files changed:
1  2 
MAINTAINERS
arch/arm/Kconfig
arch/arm/include/asm/Kbuild
arch/arm/include/asm/barrier.h
arch/arm/kernel/irq.c
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/io.c
arch/arm/mach-shmobile/smp-r8a7790.c
arch/arm/mach-shmobile/smp-sh73a0.c
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mm/dma-mapping.c
arch/arm64/Kconfig
arch/arm64/kernel/setup.c
drivers/Kconfig
drivers/Makefile
drivers/firmware/psci.c

diff --combined MAINTAINERS
@@@ -158,7 -158,6 +158,7 @@@ L: linux-wpan@vger.kernel.or
  S:    Maintained
  F:    net/6lowpan/
  F:    include/net/6lowpan.h
 +F:    Documentation/networking/6lowpan.txt
  
  6PACK NETWORK DRIVER FOR AX.25
  M:    Andreas Koensgen <ajk@comnets.uni-bremen.de>
@@@ -362,11 -361,11 +362,11 @@@ S:      Supporte
  F:    drivers/input/touchscreen/ad7879.c
  
  ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
 -M:    Jiri Kosina <jkosina@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
  S:    Maintained
  
  ADM1025 HARDWARE MONITOR DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/adm1025
@@@ -431,7 -430,7 +431,7 @@@ S: Maintaine
  F:    drivers/macintosh/therm_adt746x.c
  
  ADT7475 HARDWARE MONITOR DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/adt7475
@@@ -446,7 -445,7 +446,7 @@@ F: drivers/input/misc/adxl34x.
  
  ADVANSYS SCSI DRIVER
  M:    Matthew Wilcox <matthew@wil.cx>
 -M:    Hannes Reinecke <hare@suse.de>
 +M:    Hannes Reinecke <hare@suse.com>
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
  F:    Documentation/scsi/advansys.txt
@@@ -507,7 -506,7 +507,7 @@@ F: drivers/scsi/aha152x
  F:    drivers/scsi/pcmcia/aha152x*
  
  AIC7XXX / AIC79XX SCSI DRIVER
 -M:    Hannes Reinecke <hare@suse.de>
 +M:    Hannes Reinecke <hare@suse.com>
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
  F:    drivers/scsi/aic7xxx/
@@@ -557,12 -556,6 +557,12 @@@ S:       Maintaine
  F:    Documentation/i2c/busses/i2c-ali1563
  F:    drivers/i2c/busses/i2c-ali1563.c
  
 +ALLWINNER SECURITY SYSTEM
 +M:    Corentin Labbe <clabbe.montjoie@gmail.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Maintained
 +F:    drivers/crypto/sunxi-ss/
 +
  ALPHA PORT
  M:    Richard Henderson <rth@twiddle.net>
  M:    Ivan Kokshaysky <ink@jurassic.park.msu.ru>
@@@ -753,7 -746,7 +753,7 @@@ S: Maintaine
  F:    sound/aoa/
  
  APM DRIVER
 -M:    Jiri Kosina <jkosina@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
  S:    Odd fixes
  F:    arch/x86/kernel/apm_32.c
  F:    include/linux/apm_bios.h
@@@ -806,11 -799,13 +806,13 @@@ F:      arch/arm/include/asm/floppy.
  ARM PMU PROFILING AND DEBUGGING
  M:    Will Deacon <will.deacon@arm.com>
  S:    Maintained
- F:    arch/arm/kernel/perf_event*
+ F:    arch/arm/kernel/perf_*
  F:    arch/arm/oprofile/common.c
- F:    arch/arm/include/asm/pmu.h
  F:    arch/arm/kernel/hw_breakpoint.c
  F:    arch/arm/include/asm/hw_breakpoint.h
+ F:    arch/arm/include/asm/perf_event.h
+ F:    drivers/perf/arm_pmu.c
+ F:    include/linux/perf/arm_pmu.h
  
  ARM PORT
  M:    Russell King <linux@arm.linux.org.uk>
@@@ -934,7 -929,7 +936,7 @@@ M: Sunil Goutham <sgoutham@cavium.com
  M:    Robert Richter <rric@kernel.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
 -F:    drivers/net/ethernet/cavium/
 +F:    drivers/net/ethernet/cavium/thunder/
  
  ARM/CIRRUS LOGIC CLPS711X ARM ARCHITECTURE
  M:    Alexander Shiyan <shc_work@mail.ru>
@@@ -1008,7 -1003,6 +1010,7 @@@ ARM/CONEXANT DIGICOLOR MACHINE SUPPOR
  M:    Baruch Siach <baruch@tkos.co.il>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 +F:    arch/arm/boot/dts/cx92755*
  N:    digicolor
  
  ARM/EBSA110 MACHINE SUPPORT
@@@ -1332,7 -1326,7 +1334,7 @@@ F:      arch/arm/mach-pxa/include/mach/palmt
  F:    arch/arm/mach-pxa/palmtc.c
  
  ARM/PALM TREO SUPPORT
 -M:    Tomas Cech <sleep_walker@suse.cz>
 +M:    Tomas Cech <sleep_walker@suse.com>
  L:    linux-arm-kernel@lists.infradead.org
  W:    http://hackndev.com
  S:    Maintained
@@@ -1472,7 -1466,9 +1474,7 @@@ F:      arch/arm/boot/dts/emev2
  F:    arch/arm/boot/dts/r7s*
  F:    arch/arm/boot/dts/r8a*
  F:    arch/arm/boot/dts/sh*
 -F:    arch/arm/configs/armadillo800eva_defconfig
  F:    arch/arm/configs/bockw_defconfig
 -F:    arch/arm/configs/kzm9g_defconfig
  F:    arch/arm/configs/marzen_defconfig
  F:    arch/arm/configs/shmobile_defconfig
  F:    arch/arm/include/debug/renesas-scif.S
@@@ -1584,10 -1580,7 +1586,10 @@@ ARM/UNIPHIER ARCHITECTUR
  M:    Masahiro Yamada <yamada.masahiro@socionext.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 +F:    arch/arm/boot/dts/uniphier*
  F:    arch/arm/mach-uniphier/
 +F:    drivers/pinctrl/uniphier/
 +F:    drivers/tty/serial/8250/8250_uniphier.c
  N:    uniphier
  
  ARM/Ux500 ARM ARCHITECTURE
@@@ -1682,7 -1675,7 +1684,7 @@@ M:      Michal Simek <michal.simek@xilinx.co
  R:    Sören Brinkmann <soren.brinkmann@xilinx.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://wiki.xilinx.com
 -T:    git git://git.xilinx.com/linux-xlnx.git
 +T:    git https://github.com/Xilinx/linux-xlnx.git
  S:    Supported
  F:    arch/arm/mach-zynq/
  F:    drivers/cpuidle/cpuidle-zynq.c
@@@ -2226,9 -2219,7 +2228,9 @@@ F:      drivers/clocksource/bcm_kona_timer.
  BROADCOM BCM2835 ARM ARCHITECTURE
  M:    Stephen Warren <swarren@wwwdotorg.org>
  M:    Lee Jones <lee@kernel.org>
 +M:    Eric Anholt <eric@anholt.net>
  L:    linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi.git
  S:    Maintained
  N:    bcm2835
@@@ -2416,7 -2407,7 +2418,7 @@@ F:      drivers/gpio/gpio-bt8xx.
  BTRFS FILE SYSTEM
  M:    Chris Mason <clm@fb.com>
  M:    Josef Bacik <jbacik@fb.com>
 -M:    David Sterba <dsterba@suse.cz>
 +M:    David Sterba <dsterba@suse.com>
  L:    linux-btrfs@vger.kernel.org
  W:    http://btrfs.wiki.kernel.org/
  Q:    http://patchwork.kernel.org/project/linux-btrfs/list/
@@@ -2552,6 -2543,7 +2554,6 @@@ M:     Raghu Vatsavayi <raghu.vatsavayi
  L:     netdev@vger.kernel.org
  W:     http://www.cavium.com
  S:     Supported
 -F:     drivers/net/ethernet/cavium/
  F:     drivers/net/ethernet/cavium/liquidio/
  
  CC2520 IEEE-802.15.4 RADIO DRIVER
@@@ -2758,7 -2750,7 +2760,7 @@@ COCCINELLE/Semantic Patches (SmPL
  M:    Julia Lawall <Julia.Lawall@lip6.fr>
  M:    Gilles Muller <Gilles.Muller@lip6.fr>
  M:    Nicolas Palix <nicolas.palix@imag.fr>
 -M:    Michal Marek <mmarek@suse.cz>
 +M:    Michal Marek <mmarek@suse.com>
  L:    cocci@systeme.lip6.fr (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
  W:    http://coccinelle.lip6.fr/
@@@ -2874,7 -2866,7 +2876,7 @@@ F:      kernel/cpuset.
  
  CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
  M:    Johannes Weiner <hannes@cmpxchg.org>
 -M:    Michal Hocko <mhocko@suse.cz>
 +M:    Michal Hocko <mhocko@kernel.org>
  L:    cgroups@vger.kernel.org
  L:    linux-mm@kvack.org
  S:    Maintained
@@@ -2955,7 -2947,7 +2957,7 @@@ F:      arch/x86/kernel/cpuid.
  F:    arch/x86/kernel/msr.c
  
  CPU POWER MONITORING SUBSYSTEM
 -M:    Thomas Renninger <trenn@suse.de>
 +M:    Thomas Renninger <trenn@suse.com>
  L:    linux-pm@vger.kernel.org
  S:    Maintained
  F:    tools/power/cpupower/
@@@ -3185,7 -3177,7 +3187,7 @@@ F:      Documentation/networking/dmfe.tx
  F:    drivers/net/ethernet/dec/tulip/dmfe.c
  
  DC390/AM53C974 SCSI driver
 -M:    Hannes Reinecke <hare@suse.de>
 +M:    Hannes Reinecke <hare@suse.com>
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
  F:    drivers/scsi/am53c974.c
@@@ -3389,7 -3381,7 +3391,7 @@@ W:      http://www.win.tue.nl/~aeb/partition
  S:    Maintained
  
  DISKQUOTA
 -M:    Jan Kara <jack@suse.cz>
 +M:    Jan Kara <jack@suse.com>
  S:    Maintained
  F:    Documentation/filesystems/quota.txt
  F:    fs/quota/
@@@ -3445,7 -3437,7 +3447,7 @@@ F:      Documentation/hwmon/dme173
  F:    drivers/hwmon/dme1737.c
  
  DMI/SMBIOS SUPPORT
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  S:    Maintained
  T:    quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
  F:    Documentation/ABI/testing/sysfs-firmware-dmi-tables
@@@ -3463,7 -3455,6 +3465,7 @@@ X:      Documentation/devicetree
  X:    Documentation/acpi
  X:    Documentation/power
  X:    Documentation/spi
 +X:    Documentation/DocBook/media
  T:    git git://git.lwn.net/linux-2.6.git docs-next
  
  DOUBLETALK DRIVER
@@@ -3597,15 -3588,6 +3599,15 @@@ S:    Maintaine
  F:    drivers/gpu/drm/rockchip/
  F:    Documentation/devicetree/bindings/video/rockchip*
  
 +DRM DRIVERS FOR STI
 +M:    Benjamin Gaignard <benjamin.gaignard@linaro.org>
 +M:    Vincent Abriou <vincent.abriou@st.com>
 +L:    dri-devel@lists.freedesktop.org
 +T:    git http://git.linaro.org/people/benjamin.gaignard/kernel.git
 +S:    Maintained
 +F:    drivers/gpu/drm/sti
 +F:    Documentation/devicetree/bindings/gpu/st,stih4xx.txt
 +
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <klimov.linux@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -4071,13 -4053,22 +4073,13 @@@ F:   drivers/of/of_mdio.
  F:    drivers/of/of_net.c
  
  EXT2 FILE SYSTEM
 -M:    Jan Kara <jack@suse.cz>
 +M:    Jan Kara <jack@suse.com>
  L:    linux-ext4@vger.kernel.org
  S:    Maintained
  F:    Documentation/filesystems/ext2.txt
  F:    fs/ext2/
  F:    include/linux/ext2*
  
 -EXT3 FILE SYSTEM
 -M:    Jan Kara <jack@suse.cz>
 -M:    Andrew Morton <akpm@linux-foundation.org>
 -M:    Andreas Dilger <adilger.kernel@dilger.ca>
 -L:    linux-ext4@vger.kernel.org
 -S:    Maintained
 -F:    Documentation/filesystems/ext3.txt
 -F:    fs/ext3/
 -
  EXT4 FILE SYSTEM
  M:    "Theodore Ts'o" <tytso@mit.edu>
  M:    Andreas Dilger <adilger.kernel@dilger.ca>
@@@ -4120,7 -4111,7 +4122,7 @@@ F:      drivers/video/fbdev/exynos/exynos_mi
  F:    include/video/exynos_mipi*
  
  F71805F HARDWARE MONITORING DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/f71805f
@@@ -4255,7 -4246,7 +4257,7 @@@ S:      Maintaine
  F:    drivers/block/rsxx/
  
  FLOPPY DRIVER
 -M:    Jiri Kosina <jkosina@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git
  S:    Odd fixes
  F:    drivers/block/floppy.c
@@@ -4416,7 -4407,6 +4418,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>
  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
@@@ -4425,7 -4415,6 +4427,7 @@@ F:      Documentation/filesystems/f2fs.tx
  F:    Documentation/ABI/testing/sysfs-fs-f2fs
  F:    fs/f2fs/
  F:    include/linux/f2fs_fs.h
 +F:    include/trace/events/f2fs.h
  
  FUJITSU FR-V (FRV) PORT
  M:    David Howells <dhowells@redhat.com>
@@@ -4678,7 -4667,7 +4680,7 @@@ F:      drivers/media/usb/stk1160
  
  H8/300 ARCHITECTURE
  M:    Yoshinori Sato <ysato@users.sourceforge.jp>
 -L:    uclinux-h8-devel@lists.sourceforge.jp
 +L:    uclinux-h8-devel@lists.sourceforge.jp (moderated for non-subscribers)
  W:    http://uclinux-h8.sourceforge.jp
  T:    git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
  S:    Maintained
@@@ -4725,7 -4714,7 +4727,7 @@@ S:      Maintaine
  F:    drivers/media/usb/hackrf/
  
  HARDWARE MONITORING
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  M:    Guenter Roeck <linux@roeck-us.net>
  L:    lm-sensors@lm-sensors.org
  W:    http://www.lm-sensors.org/
@@@ -4828,7 -4817,7 +4830,7 @@@ F:      include/linux/pm.
  F:    arch/*/include/asm/suspend*.h
  
  HID CORE LAYER
 -M:    Jiri Kosina <jkosina@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
  L:    linux-input@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
  S:    Maintained
@@@ -4837,7 -4826,7 +4839,7 @@@ F:      include/linux/hid
  F:    include/uapi/linux/hid*
  
  HID SENSOR HUB DRIVERS
 -M:    Jiri Kosina <jkosina@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
  M:    Jonathan Cameron <jic23@kernel.org>
  M:    Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  L:    linux-input@vger.kernel.org
@@@ -4969,10 -4958,9 +4971,10 @@@ F:    drivers/scsi/storvsc_drv.
  F:    drivers/video/fbdev/hyperv_fb.c
  F:    include/linux/hyperv.h
  F:    tools/hv/
 +F:    Documentation/ABI/stable/sysfs-bus-vmbus
  
  I2C OVER PARALLEL PORT
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  F:    Documentation/i2c/busses/i2c-parport
@@@ -4981,7 -4969,7 +4983,7 @@@ F:      drivers/i2c/busses/i2c-parport.
  F:    drivers/i2c/busses/i2c-parport-light.c
  
  I2C/SMBUS CONTROLLER DRIVERS FOR PC
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  F:    Documentation/i2c/busses/i2c-ali1535
@@@ -5022,7 -5010,7 +5024,7 @@@ F:      drivers/i2c/busses/i2c-ismt.
  F:    Documentation/i2c/busses/i2c-ismt
  
  I2C/SMBUS STUB DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  F:    drivers/i2c/i2c-stub.c
@@@ -5049,7 -5037,7 +5051,7 @@@ L:      linux-acpi@vger.kernel.or
  S:    Maintained
  
  I2C-TAOS-EVM DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  F:    Documentation/i2c/busses/i2c-taos-evm
@@@ -5080,21 -5068,9 +5082,21 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    arch/ia64/
  
 +IBM Power VMX Cryptographic instructions
 +M:    Leonidas S. Barbosa <leosilva@linux.vnet.ibm.com>
 +M:    Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Supported
 +F:    drivers/crypto/vmx/Makefile
 +F:    drivers/crypto/vmx/Kconfig
 +F:    drivers/crypto/vmx/vmx.c
 +F:    drivers/crypto/vmx/aes*
 +F:    drivers/crypto/vmx/ghash*
 +F:    drivers/crypto/vmx/ppc-xlate.pl
 +
  IBM Power in-Nest Crypto Acceleration
 -M:    Marcelo Henrique Cerri <mhcerri@linux.vnet.ibm.com>
 -M:    Fionnuala Gunter <fin@linux.vnet.ibm.com>
 +M:    Leonidas S. Barbosa <leosilva@linux.vnet.ibm.com>
 +M:    Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
  L:    linux-crypto@vger.kernel.org
  S:    Supported
  F:    drivers/crypto/nx/Makefile
@@@ -5106,7 -5082,7 +5108,7 @@@ F:      drivers/crypto/nx/nx_csbcpb.
  F:    drivers/crypto/nx/nx_debugfs.h
  
  IBM Power 842 compression accelerator
 -M:    Dan Streetman <ddstreet@us.ibm.com>
 +M:    Dan Streetman <ddstreet@ieee.org>
  S:    Supported
  F:    drivers/crypto/nx/Makefile
  F:    drivers/crypto/nx/Kconfig
@@@ -5590,8 -5566,8 +5592,8 @@@ F:      include/uapi/linux/ip_vs.
  F:    net/netfilter/ipvs/
  
  IPWIRELESS DRIVER
 -M:    Jiri Kosina <jkosina@suse.cz>
 -M:    David Sterba <dsterba@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
 +M:    David Sterba <dsterba@suse.com>
  S:    Odd Fixes
  F:    drivers/tty/ipwireless/
  
@@@ -5625,7 -5601,6 +5627,7 @@@ F:      kernel/irq
  IRQCHIP DRIVERS
  M:    Thomas Gleixner <tglx@linutronix.de>
  M:    Jason Cooper <jason@lakedaemon.net>
 +M:    Marc Zyngier <marc.zyngier@arm.com>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
@@@ -5634,14 -5609,11 +5636,14 @@@ F:   Documentation/devicetree/bindings/in
  F:    drivers/irqchip/
  
  IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
 -M:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
 +M:    Jiang Liu <jiang.liu@linux.intel.com>
 +M:    Marc Zyngier <marc.zyngier@arm.com>
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    Documentation/IRQ-domain.txt
  F:    include/linux/irqdomain.h
  F:    kernel/irq/irqdomain.c
 +F:    kernel/irq/msi.c
  
  ISAPNP
  M:    Jaroslav Kysela <perex@perex.cz>
@@@ -5715,7 -5687,7 +5717,7 @@@ S:      Maintaine
  F:    drivers/isdn/hardware/eicon/
  
  IT87 HARDWARE MONITORING DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/it87
@@@ -5780,9 -5752,16 +5782,9 @@@ S:     Maintaine
  F:    fs/jffs2/
  F:    include/uapi/linux/jffs2.h
  
 -JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
 -M:    Andrew Morton <akpm@linux-foundation.org>
 -M:    Jan Kara <jack@suse.cz>
 -L:    linux-ext4@vger.kernel.org
 -S:    Maintained
 -F:    fs/jbd/
 -F:    include/linux/jbd.h
 -
  JOURNALLING LAYER FOR BLOCK DEVICES (JBD2)
  M:    "Theodore Ts'o" <tytso@mit.edu>
 +M:    Jan Kara <jack@suse.com>
  L:    linux-ext4@vger.kernel.org
  S:    Maintained
  F:    fs/jbd2/
@@@ -5839,7 -5818,7 +5841,7 @@@ S:      Maintaine
  F:    fs/autofs4/
  
  KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
 -M:    Michal Marek <mmarek@suse.cz>
 +M:    Michal Marek <mmarek@suse.com>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes
  L:    linux-kbuild@vger.kernel.org
@@@ -5858,7 -5837,6 +5860,7 @@@ S:      Odd Fixe
  
  KERNEL NFSD, SUNRPC, AND LOCKD SERVERS
  M:    "J. Bruce Fields" <bfields@fieldses.org>
 +M:    Jeff Layton <jlayton@poochiereds.net>
  L:    linux-nfs@vger.kernel.org
  W:    http://nfs.sourceforge.net/
  S:    Supported
@@@ -5904,7 -5882,7 +5906,7 @@@ F:      arch/x86/include/asm/svm.
  F:    arch/x86/kvm/svm.c
  
  KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
 -M:    Alexander Graf <agraf@suse.de>
 +M:    Alexander Graf <agraf@suse.com>
  L:    kvm-ppc@vger.kernel.org
  W:    http://kvm.qumranet.com
  T:    git git://github.com/agraf/linux-2.6.git
@@@ -5915,12 -5893,14 +5917,12 @@@ F:   arch/powerpc/kvm
  KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
  M:    Christian Borntraeger <borntraeger@de.ibm.com>
  M:    Cornelia Huck <cornelia.huck@de.ibm.com>
 -M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
  F:    Documentation/s390/kvm.txt
  F:    arch/s390/include/asm/kvm*
  F:    arch/s390/kvm/
 -F:    drivers/s390/kvm/
  
  KERNEL VIRTUAL MACHINE (KVM) FOR ARM
  M:    Christoffer Dall <christoffer.dall@linaro.org>
@@@ -6049,16 -6029,17 +6051,16 @@@ F:   Documentation/scsi/53c700.tx
  F:    drivers/scsi/53c700*
  
  LED SUBSYSTEM
 -M:    Bryan Wu <cooloney@gmail.com>
  M:    Richard Purdie <rpurdie@rpsys.net>
  M:    Jacek Anaszewski <j.anaszewski@samsung.com>
  L:    linux-leds@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git
  S:    Maintained
  F:    drivers/leds/
  F:    include/linux/leds.h
  
  LEGACY EEPROM DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  S:    Maintained
  F:    Documentation/misc-devices/eeprom
  F:    drivers/misc/eeprom/eeprom.c
@@@ -6111,7 -6092,7 +6113,7 @@@ F:      include/linux/ata.
  F:    include/linux/libata.h
  
  LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
 -M:    Viresh Kumar <viresh.linux@gmail.com>
 +M:    Viresh Kumar <vireshk@kernel.org>
  L:    linux-ide@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
  S:    Maintained
@@@ -6272,8 -6253,8 +6274,8 @@@ F:      drivers/platform/x86/hp_accel.
  LIVE PATCHING
  M:    Josh Poimboeuf <jpoimboe@redhat.com>
  M:    Seth Jennings <sjenning@redhat.com>
 -M:    Jiri Kosina <jkosina@suse.cz>
 -M:    Vojtech Pavlik <vojtech@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
 +M:    Vojtech Pavlik <vojtech@suse.com>
  S:    Maintained
  F:    kernel/livepatch/
  F:    include/linux/livepatch.h
@@@ -6299,21 -6280,21 +6301,21 @@@ S:   Maintaine
  F:    drivers/hwmon/lm73.c
  
  LM78 HARDWARE MONITOR DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/lm78
  F:    drivers/hwmon/lm78.c
  
  LM83 HARDWARE MONITOR DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/lm83
  F:    drivers/hwmon/lm83.c
  
  LM90 HARDWARE MONITOR DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/lm90
@@@ -6527,7 -6508,7 +6529,7 @@@ F:      drivers/net/ethernet/marvell/mvneta.
  
  MARVELL MWIFIEX WIRELESS DRIVER
  M:    Amitkumar Karwar <akarwar@marvell.com>
 -M:    Avinash Patil <patila@marvell.com>
 +M:    Nishant Sarmukadam <nishants@marvell.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
  F:    drivers/net/wireless/mwifiex/
@@@ -6556,13 -6537,6 +6558,13 @@@ S:    Maintaine
  F:    Documentation/hwmon/max16065
  F:    drivers/hwmon/max16065.c
  
 +MAX20751 HARDWARE MONITOR DRIVER
 +M:    Guenter Roeck <linux@roeck-us.net>
 +L:    lm-sensors@lm-sensors.org
 +S:    Maintained
 +F:    Documentation/hwmon/max20751
 +F:    drivers/hwmon/max20751.c
 +
  MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
  M:    "Hans J. Koch" <hjk@hansjkoch.de>
  L:    lm-sensors@lm-sensors.org
@@@ -6672,15 -6646,6 +6674,15 @@@ W:    http://www.mellanox.co
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/mellanox/mlx4/en_*
  
 +MELLANOX ETHERNET SWITCH DRIVERS
 +M:    Jiri Pirko <jiri@mellanox.com>
 +M:    Ido Schimmel <idosch@mellanox.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +W:    http://www.mellanox.com
 +Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +F:    drivers/net/ethernet/mellanox/mlxsw/
 +
  MEMORY MANAGEMENT
  L:    linux-mm@kvack.org
  W:    http://www.linux-mm.org
@@@ -6716,7 -6681,6 +6718,7 @@@ M:      Johannes Thumshirn <morbidrsa@gmail.
  S:    Maintained
  F:    drivers/mcb/
  F:    include/linux/mcb.h
 +F:    Documentation/men-chameleon-bus.txt
  
  MEN F21BMC (Board Management Controller)
  M:    Andreas Werner <andreas.werner@men.de>
@@@ -6876,12 -6840,6 +6878,12 @@@ T:    git git://linuxtv.org/anttip/media_t
  S:    Maintained
  F:    drivers/media/usb/msi2500/
  
 +MSYSTEMS DISKONCHIP G3 MTD DRIVER
 +M:    Robert Jarzmik <robert.jarzmik@free.fr>
 +L:    linux-mtd@lists.infradead.org
 +S:    Maintained
 +F:    drivers/mtd/devices/docg3*
 +
  MT9M032 APTINA SENSOR DRIVER
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
@@@ -7063,7 -7021,6 +7065,7 @@@ F:      include/uapi/linux/netfilter
  F:    net/*/netfilter.c
  F:    net/*/netfilter/
  F:    net/netfilter/
 +F:    net/bridge/br_netfilter*.c
  
  NETLABEL
  M:    Paul Moore <paul@paul-moore.com>
@@@ -7322,15 -7279,6 +7324,15 @@@ S:    Supporte
  F:    drivers/block/nvme*
  F:    include/linux/nvme.h
  
 +NVMEM FRAMEWORK
 +M:    Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 +M:    Maxime Ripard <maxime.ripard@free-electrons.com>
 +S:    Maintained
 +F:    drivers/nvmem/
 +F:    Documentation/devicetree/bindings/nvmem/
 +F:    include/linux/nvmem-consumer.h
 +F:    include/linux/nvmem-provider.h
 +
  NXP-NCI NFC DRIVER
  M:    Clément Perrochaud <clement.perrochaud@effinnov.com>
  R:    Charles Gorand <charles.gorand@effinnov.com>
@@@ -7568,9 -7516,8 +7570,9 @@@ F:      Documentation/i2c/busses/i2c-ocore
  F:    drivers/i2c/busses/i2c-ocores.c
  
  OPEN FIRMWARE AND FLATTENED DEVICE TREE
 -M:    Grant Likely <grant.likely@linaro.org>
  M:    Rob Herring <robh+dt@kernel.org>
 +M:    Frank Rowand <frowand.list@gmail.com>
 +M:    Grant Likely <grant.likely@linaro.org>
  L:    devicetree@vger.kernel.org
  W:    http://www.devicetree.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux.git
@@@ -7773,7 -7720,7 +7775,7 @@@ S:      Maintaine
  F:    drivers/char/pc8736x_gpio.c
  
  PC87427 HARDWARE MONITORING DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/pc87427
@@@ -8050,7 -7997,7 +8052,7 @@@ S:      Maintaine
  F:    drivers/pinctrl/samsung/
  
  PIN CONTROLLER - ST SPEAR
 -M:    Viresh Kumar <viresh.linux@gmail.com>
 +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
@@@ -8058,7 -8005,7 +8060,7 @@@ S:      Maintaine
  F:    drivers/pinctrl/spear/
  
  PKTCDVD DRIVER
 -M:    Jiri Kosina <jkosina@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
  S:    Maintained
  F:    drivers/block/pktcdvd.c
  F:    include/linux/pktcdvd.h
@@@ -8093,7 -8040,7 +8095,7 @@@ S:      Supporte
  F:    drivers/scsi/pmcraid.*
  
  PMC SIERRA PM8001 DRIVER
 -M:    xjtuwjp@gmail.com
 +M:    Jack Wang <jinpu.wang@profitbricks.com>
  M:    lindar_liu@usish.com
  L:    pmchba@pmcs.com
  L:    linux-scsi@vger.kernel.org
@@@ -8118,8 -8065,16 +8120,17 @@@ T:    git git://git.infradead.org/battery-
  S:    Maintained
  F:    include/linux/power_supply.h
  F:    drivers/power/
 +X:    drivers/power/avs/
  
+ POWER STATE COORDINATION INTERFACE (PSCI)
+ M:    Mark Rutland <mark.rutland@arm.com>
+ M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+ L:    linux-arm-kernel@lists.infradead.org
+ S:    Maintained
+ F:    drivers/firmware/psci.c
+ F:    include/linux/psci.h
+ F:    include/uapi/linux/psci.h
  PNP SUPPORT
  M:    "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
  S:    Maintained
@@@ -8517,7 -8472,7 +8528,7 @@@ M:      "Paul E. McKenney" <paulmck@linux.vn
  M:    Josh Triplett <josh@joshtriplett.org>
  R:    Steven Rostedt <rostedt@goodmis.org>
  R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 -R:    Lai Jiangshan <laijs@cn.fujitsu.com>
 +R:    Lai Jiangshan <jiangshanlai@gmail.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
@@@ -8544,7 -8499,7 +8555,7 @@@ M:      "Paul E. McKenney" <paulmck@linux.vn
  M:    Josh Triplett <josh@joshtriplett.org>
  R:    Steven Rostedt <rostedt@goodmis.org>
  R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 -R:    Lai Jiangshan <laijs@cn.fujitsu.com>
 +R:    Lai Jiangshan <jiangshanlai@gmail.com>
  L:    linux-kernel@vger.kernel.org
  W:    http://www.rdrop.com/users/paulmck/RCU/
  S:    Supported
@@@ -8609,7 -8564,6 +8620,7 @@@ M:      Philipp Zabel <p.zabel@pengutronix.d
  S:    Maintained
  F:    drivers/reset/
  F:    Documentation/devicetree/bindings/reset/
 +F:    include/dt-bindings/reset/
  F:    include/linux/reset.h
  F:    include/linux/reset-controller.h
  
@@@ -8744,6 -8698,7 +8755,6 @@@ F:      drivers/video/fbdev/savage
  S390
  M:    Martin Schwidefsky <schwidefsky@de.ibm.com>
  M:    Heiko Carstens <heiko.carstens@de.ibm.com>
 -M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
@@@ -8771,6 -8726,7 +8782,6 @@@ F:      block/partitions/ibm.
  
  S390 NETWORK DRIVERS
  M:    Ursula Braun <ursula.braun@de.ibm.com>
 -M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
@@@ -8787,6 -8743,7 +8798,6 @@@ F:      drivers/pci/hotplug/s390_pci_hpc.
  
  S390 ZCRYPT DRIVER
  M:    Ingo Tuchscherer <ingo.tuchscherer@de.ibm.com>
 -M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
@@@ -8794,6 -8751,7 +8805,6 @@@ F:      drivers/s390/crypto
  
  S390 ZFCP DRIVER
  M:    Steffen Maier <maier@linux.vnet.ibm.com>
 -M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
@@@ -8801,6 -8759,7 +8812,6 @@@ F:      drivers/s390/scsi/zfcp_
  
  S390 IUCV NETWORK LAYER
  M:    Ursula Braun <ursula.braun@de.ibm.com>
 -M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
@@@ -8903,12 -8862,6 +8914,12 @@@ L:    linux-media@vger.kernel.or
  S:    Supported
  F:    drivers/media/i2c/s5k5baf.c
  
 +SAMSUNG S3FWRN5 NFC DRIVER
 +M:    Robert Baldyga <r.baldyga@samsung.com>
 +L:    linux-nfc@lists.01.org (moderated for non-subscribers)
 +S:    Supported
 +F:    drivers/nfc/s3fwrn5
 +
  SAMSUNG SOC CLOCK DRIVERS
  M:    Sylwester Nawrocki <s.nawrocki@samsung.com>
  M:    Tomasz Figa <tomasz.figa@gmail.com>
@@@ -8952,20 -8905,13 +8963,20 @@@ S:   Maintaine
  F:    drivers/tty/serial/
  
  SYNOPSYS DESIGNWARE DMAC DRIVER
 -M:    Viresh Kumar <viresh.linux@gmail.com>
 +M:    Viresh Kumar <vireshk@kernel.org>
  M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  S:    Maintained
  F:    include/linux/dma/dw.h
  F:    include/linux/platform_data/dma-dw.h
  F:    drivers/dma/dw/
  
 +SYNOPSYS DESIGNWARE ETHERNET QOS 4.10a driver
 +M: Lars Persson <lars.persson@axis.com>
 +L: netdev@vger.kernel.org
 +S: Supported
 +F: Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
 +F: drivers/net/ethernet/synopsys/dwc_eth_qos.c
 +
  SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER
  M:    Seungwon Jeon <tgih.jun@samsung.com>
  M:    Jaehoon Chung <jh80.chung@samsung.com>
@@@ -9126,7 -9072,7 +9137,7 @@@ S:      Maintaine
  F:    drivers/mmc/host/sdhci-s3c*
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
 -M:    Viresh Kumar <viresh.linux@gmail.com>
 +M:    Viresh Kumar <vireshk@kernel.org>
  L:    spear-devel@list.st.com
  L:    linux-mmc@vger.kernel.org
  S:    Maintained
@@@ -9382,15 -9328,6 +9393,15 @@@ S:    Maintaine
  F:    drivers/media/i2c/ov2659.c
  F:    include/media/ov2659.h
  
 +SILICON MOTION SM712 FRAME BUFFER DRIVER
 +M:    Sudip Mukherjee <sudipm.mukherjee@gmail.com>
 +M:    Teddy Wang <teddy.wang@siliconmotion.com>
 +M:    Sudip Mukherjee <sudip@vectorindia.org>
 +L:    linux-fbdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/video/fbdev/sm712*
 +F:    Documentation/fb/sm712fb.txt
 +
  SIS 190 ETHERNET DRIVER
  M:    Francois Romieu <romieu@fr.zoreil.com>
  L:    netdev@vger.kernel.org
@@@ -9430,7 -9367,7 +9441,7 @@@ F:      include/linux/sl?b*.
  F:    mm/sl?b*
  
  SLEEPABLE READ-COPY UPDATE (SRCU)
 -M:    Lai Jiangshan <laijs@cn.fujitsu.com>
 +M:    Lai Jiangshan <jiangshanlai@gmail.com>
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
  M:    Josh Triplett <josh@joshtriplett.org>
  R:    Steven Rostedt <rostedt@goodmis.org>
@@@ -9497,7 -9434,7 +9508,7 @@@ F:      Documentation/hwmon/sch562
  F:    drivers/hwmon/sch5627.c
  
  SMSC47B397 HARDWARE MONITOR DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/smsc47b397
@@@ -9546,7 -9483,7 +9557,7 @@@ S:      Supporte
  F:    drivers/media/pci/solo6x10/
  
  SOFTWARE RAID (Multiple Disks) SUPPORT
 -M:    Neil Brown <neilb@suse.de>
 +M:    Neil Brown <neilb@suse.com>
  L:    linux-raid@vger.kernel.org
  S:    Supported
  F:    drivers/md/
@@@ -9589,7 -9526,7 +9600,7 @@@ F:      drivers/memstick/core/ms_block.
  
  SOUND
  M:    Jaroslav Kysela <perex@perex.cz>
 -M:    Takashi Iwai <tiwai@suse.de>
 +M:    Takashi Iwai <tiwai@suse.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  W:    http://www.alsa-project.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
@@@ -9673,7 -9610,7 +9684,7 @@@ S:      Maintaine
  F:    include/linux/compiler.h
  
  SPEAR PLATFORM SUPPORT
 -M:    Viresh Kumar <viresh.linux@gmail.com>
 +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)
@@@ -9682,7 -9619,7 +9693,7 @@@ S:      Maintaine
  F:    arch/arm/mach-spear/
  
  SPEAR CLOCK FRAMEWORK SUPPORT
 -M:    Viresh Kumar <viresh.linux@gmail.com>
 +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
@@@ -9788,6 -9725,11 +9799,6 @@@ W:     http://wiki.laptop.org/go/DCO
  S:    Maintained
  F:    drivers/staging/olpc_dcon/
  
 -STAGING - OZMO DEVICES USB OVER WIFI DRIVER
 -M:    Shigekatsu Tateno <shigekatsu.tateno@atmel.com>
 -S:    Maintained
 -F:    drivers/staging/ozwpan/
 -
  STAGING - PARALLEL LCD/KEYPAD PANEL DRIVER
  M:    Willy Tarreau <willy@meta-x.org>
  S:    Odd Fixes
@@@ -9806,6 -9748,14 +9817,6 @@@ L:     linux-wireless@vger.kernel.or
  S:    Maintained
  F:    drivers/staging/rtl8723au/
  
 -STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
 -M:    Sudip Mukherjee <sudipm.mukherjee@gmail.com>
 -M:    Teddy Wang <teddy.wang@siliconmotion.com>
 -M:    Sudip Mukherjee <sudip@vectorindia.org>
 -L:    linux-fbdev@vger.kernel.org
 -S:    Maintained
 -F:    drivers/staging/sm7xxfb/
 -
  STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER
  M:    Sudip Mukherjee <sudipm.mukherjee@gmail.com>
  M:    Teddy Wang <teddy.wang@siliconmotion.com>
@@@ -9924,9 -9874,8 +9935,9 @@@ SYNOPSYS ARC ARCHITECTUR
  M:    Vineet Gupta <vgupta@synopsys.com>
  S:    Supported
  F:    arch/arc/
 -F:    Documentation/devicetree/bindings/arc/
 +F:    Documentation/devicetree/bindings/arc/*
  F:    drivers/tty/serial/arc_uart.c
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
  
  SYNOPSYS ARC SDP platform support
  M:    Alexey Brodkin <abrodkin@synopsys.com>
@@@ -10460,7 -10409,7 +10471,7 @@@ K:   ^Subject:.*(?i)trivia
  
  TTY LAYER
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -M:    Jiri Slaby <jslaby@suse.cz>
 +M:    Jiri Slaby <jslaby@suse.com>
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
  F:    Documentation/serial/
@@@ -10534,7 -10483,7 +10545,7 @@@ F:   arch/m68k/*/*_no.
  F:    arch/m68k/include/asm/*_no.*
  
  UDF FILESYSTEM
 -M:    Jan Kara <jack@suse.cz>
 +M:    Jan Kara <jack@suse.com>
  S:    Maintained
  F:    Documentation/filesystems/udf.txt
  F:    fs/udf/
@@@ -10677,7 -10626,7 +10688,7 @@@ F:   drivers/usb/gadget
  F:    include/linux/usb/gadget*
  
  USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
 -M:    Jiri Kosina <jkosina@suse.cz>
 +M:    Jiri Kosina <jikos@kernel.org>
  L:    linux-usb@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
  S:    Maintained
@@@ -10802,7 -10751,7 +10813,7 @@@ S:   Maintaine
  F:    drivers/usb/host/uhci*
  
  USB "USBNET" DRIVER FRAMEWORK
 -M:    Oliver Neukum <oneukum@suse.de>
 +M:    Oliver Neukum <oneukum@suse.com>
  L:    netdev@vger.kernel.org
  W:    http://www.linux-usb.org/usbnet
  S:    Maintained
@@@ -10956,15 -10905,6 +10967,15 @@@ F: drivers/block/virtio_blk.
  F:    include/linux/virtio_*.h
  F:    include/uapi/linux/virtio_*.h
  
 +VIRTIO DRIVERS FOR S390
 +M:    Christian Borntraeger <borntraeger@de.ibm.com>
 +M:    Cornelia Huck <cornelia.huck@de.ibm.com>
 +L:    linux-s390@vger.kernel.org
 +L:    virtualization@lists.linux-foundation.org
 +L:    kvm@vger.kernel.org
 +S:    Supported
 +F:    drivers/s390/virtio/
 +
  VIRTIO GPU DRIVER
  M:    David Airlie <airlied@linux.ie>
  M:    Gerd Hoffmann <kraxel@redhat.com>
@@@ -11072,7 -11012,7 +11083,7 @@@ F:   drivers/input/mouse/vmmouse.
  F:    drivers/input/mouse/vmmouse.h
  
  VMWARE VMXNET3 ETHERNET DRIVER
 -M:    Shreyas Bhatewara <sbhatewara@vmware.com>
 +M:    Shrikrishna Khare <skhare@vmware.com>
  M:    "VMware, Inc." <pv-drivers@vmware.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
@@@ -11097,14 -11037,6 +11108,14 @@@ S: Supporte
  F:    drivers/regulator/
  F:    include/linux/regulator/
  
 +VRF
 +M:    David Ahern <dsa@cumulusnetworks.com>
 +M:    Shrijeet Mukherjee <shm@cumulusnetworks.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/vrf.c
 +F:    include/net/vrf.h
 +
  VT1211 HARDWARE MONITOR DRIVER
  M:    Juerg Haefliger <juergh@gmail.com>
  L:    lm-sensors@lm-sensors.org
@@@ -11146,7 -11078,7 +11157,7 @@@ F:   Documentation/hwmon/w8379
  F:    drivers/hwmon/w83793.c
  
  W83795 HARDWARE MONITORING DRIVER
 -M:    Jean Delvare <jdelvare@suse.de>
 +M:    Jean Delvare <jdelvare@suse.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    drivers/hwmon/w83795.c
@@@ -11260,7 -11192,6 +11271,7 @@@ F:   sound/soc/codecs/wm
  
  WORKQUEUE
  M:    Tejun Heo <tj@kernel.org>
 +R:    Lai Jiangshan <jiangshanlai@gmail.com>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git
  S:    Maintained
  F:    include/linux/workqueue.h
diff --combined arch/arm/Kconfig
@@@ -188,6 -188,9 +188,9 @@@ config ARCH_HAS_ILOG2_U6
  config ARCH_HAS_BANDGAP
        bool
  
+ config FIX_EARLYCON_MEM
+       def_bool y if MMU
  config GENERIC_HWEIGHT
        bool
        default y
@@@ -268,6 -271,7 +271,6 @@@ config PHYS_OFFSE
        depends on !ARM_PATCH_PHYS_VIRT
        default DRAM_BASE if !MMU
        default 0x00000000 if ARCH_EBSA110 || \
 -                      EP93XX_SDCE3_SYNC_PHYS_OFFSET || \
                        ARCH_FOOTBRIDGE || \
                        ARCH_INTEGRATOR || \
                        ARCH_IOP13XX || \
        default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
        default 0x20000000 if ARCH_S5PV210
        default 0x70000000 if REALVIEW_HIGH_PHYS_OFFSET
 -      default 0xc0000000 if EP93XX_SDCE0_PHYS_OFFSET || ARCH_SA1100
 -      default 0xd0000000 if EP93XX_SDCE1_PHYS_OFFSET
 -      default 0xe0000000 if EP93XX_SDCE2_PHYS_OFFSET
 -      default 0xf0000000 if EP93XX_SDCE3_ASYNC_PHYS_OFFSET
 +      default 0xc0000000 if ARCH_SA1100
        help
          Please provide the physical address corresponding to the
          location of main memory in your system.
@@@ -414,14 -421,11 +417,14 @@@ config ARCH_EP93X
        bool "EP93xx-based"
        select ARCH_HAS_HOLES_MEMORYMODEL
        select ARCH_REQUIRE_GPIOLIB
 -      select ARCH_USES_GETTIMEOFFSET
        select ARM_AMBA
 +      select ARM_PATCH_PHYS_VIRT
        select ARM_VIC
 +      select AUTO_ZRELADDR
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select CPU_ARM920T
 +      select GENERIC_CLOCKEVENTS
        help
          This enables support for the Cirrus EP93xx series of CPUs.
  
@@@ -535,7 -539,6 +538,7 @@@ config ARCH_ORION5
        select MVEBU_MBUS
        select PCI
        select PLAT_ORION_LEGACY
 +      select MULTI_IRQ_HANDLER
        help
          Support for the following Marvell Orion 5x series SoCs:
          Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
@@@ -1496,6 -1499,7 +1499,7 @@@ config HOTPLUG_CP
  config ARM_PSCI
        bool "Support for the ARM Power State Coordination Interface (PSCI)"
        depends on CPU_V7
+       select ARM_PSCI_FW
        help
          Say Y here if you want Linux to communicate with system firmware
          implementing the PSCI specification for CPU-centric power
@@@ -1700,13 -1704,24 +1704,24 @@@ config HIGHPT
          consumed by page tables.  Setting this option will allow
          user-space 2nd level page tables to reside in high memory.
  
- config HW_PERF_EVENTS
-       bool "Enable hardware performance counter support for perf events"
-       depends on PERF_EVENTS
+ config CPU_SW_DOMAIN_PAN
+       bool "Enable use of CPU domains to implement privileged no-access"
+       depends on MMU && !ARM_LPAE
        default y
        help
-         Enable hardware performance counter support for perf events. If
-         disabled, perf events will use software events only.
+         Increase kernel security by ensuring that normal kernel accesses
+         are unable to access userspace addresses.  This can help prevent
+         use-after-free bugs becoming an exploitable privilege escalation
+         by ensuring that magic values (such as LIST_POISON) will always
+         fault when dereferenced.
+         CPUs with low-vector mappings use a best-efforts implementation.
+         Their lower 1MB needs to remain accessible for the vectors, but
+         the remainder of userspace will become appropriately inaccessible.
+ config HW_PERF_EVENTS
+       def_bool y
+       depends on ARM_PMU
  
  config SYS_SUPPORTS_HUGETLBFS
         def_bool y
@@@ -12,8 -12,6 +12,7 @@@ generic-y += irq_regs.
  generic-y += kdebug.h
  generic-y += local.h
  generic-y += local64.h
- generic-y += mcs_spinlock.h
 +generic-y += mm-arch-hooks.h
  generic-y += msgbuf.h
  generic-y += param.h
  generic-y += parport.h
@@@ -2,7 -2,6 +2,6 @@@
  #define __ASM_BARRIER_H
  
  #ifndef __ASSEMBLY__
- #include <asm/outercache.h>
  
  #define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t");
  
  #define dmb(x) __asm__ __volatile__ ("" : : : "memory")
  #endif
  
+ #ifdef CONFIG_ARM_HEAVY_MB
+ extern void (*soc_mb)(void);
+ extern void arm_heavy_mb(void);
+ #define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
+ #else
+ #define __arm_heavy_mb(x...) dsb(x)
+ #endif
  #ifdef CONFIG_ARCH_HAS_BARRIERS
  #include <mach/barriers.h>
  #elif defined(CONFIG_ARM_DMA_MEM_BUFFERABLE) || defined(CONFIG_SMP)
- #define mb()          do { dsb(); outer_sync(); } while (0)
+ #define mb()          __arm_heavy_mb()
  #define rmb()         dsb()
- #define wmb()         do { dsb(st); outer_sync(); } while (0)
+ #define wmb()         __arm_heavy_mb(st)
  #define dma_rmb()     dmb(osh)
  #define dma_wmb()     dmb(oshst)
  #else
  do {                                                                  \
        compiletime_assert_atomic_type(*p);                             \
        smp_mb();                                                       \
 -      ACCESS_ONCE(*p) = (v);                                          \
 +      WRITE_ONCE(*p, v);                                              \
  } while (0)
  
  #define smp_load_acquire(p)                                           \
  ({                                                                    \
 -      typeof(*p) ___p1 = ACCESS_ONCE(*p);                             \
 +      typeof(*p) ___p1 = READ_ONCE(*p);                               \
        compiletime_assert_atomic_type(*p);                             \
        smp_mb();                                                       \
        ___p1;                                                          \
diff --combined arch/arm/kernel/irq.c
@@@ -39,6 -39,7 +39,7 @@@
  #include <linux/export.h>
  
  #include <asm/hardware/cache-l2x0.h>
+ #include <asm/outercache.h>
  #include <asm/exception.h>
  #include <asm/mach/arch.h>
  #include <asm/mach/irq.h>
@@@ -140,7 -141,7 +141,7 @@@ int __init arch_probe_nr_irqs(void
  static bool migrate_one_irq(struct irq_desc *desc)
  {
        struct irq_data *d = irq_desc_get_irq_data(desc);
 -      const struct cpumask *affinity = d->affinity;
 +      const struct cpumask *affinity = irq_data_get_affinity_mask(d);
        struct irq_chip *c;
        bool ret = false;
  
        if (!c->irq_set_affinity)
                pr_debug("IRQ%u: unable to set affinity\n", d->irq);
        else if (c->irq_set_affinity(d, affinity, false) == IRQ_SET_MASK_OK && ret)
 -              cpumask_copy(d->affinity, affinity);
 +              cpumask_copy(irq_data_get_affinity_mask(d), affinity);
  
        return ret;
  }
@@@ -29,6 -29,7 +29,7 @@@ config ARCH_OMAP
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
        select OMAP_INTERCONNECT
+       select OMAP_INTERCONNECT_BARRIER
        select PL310_ERRATA_588369 if CACHE_L2X0
        select PL310_ERRATA_727915 if CACHE_L2X0
        select PM_OPP if PM
@@@ -46,6 -47,7 +47,7 @@@ config SOC_OMAP
        select HAVE_ARM_TWD if SMP
        select HAVE_ARM_ARCH_TIMER
        select ARM_ERRATA_798181 if SMP
+       select OMAP_INTERCONNECT_BARRIER
  
  config SOC_AM33XX
        bool "TI AM33XX"
@@@ -60,7 -62,6 +62,7 @@@ config SOC_AM43X
        select ARM_GIC
        select MACH_OMAP_GENERIC
        select MIGHT_HAVE_CACHE_L2X0
 +      select HAVE_ARM_SCU
  
  config SOC_DRA7XX
        bool "TI DRA7XX"
@@@ -71,6 -72,7 +73,7 @@@
        select HAVE_ARM_ARCH_TIMER
        select IRQ_CROSSBAR
        select ARM_ERRATA_798181 if SMP
+       select OMAP_INTERCONNECT_BARRIER
  
  config ARCH_OMAP2PLUS
        bool
        help
          Systems based on OMAP2, OMAP3, OMAP4 or OMAP5
  
+ config OMAP_INTERCONNECT_BARRIER
+       bool
+       select ARM_HEAVY_MB
+       
  
  if ARCH_OMAP2PLUS
  
@@@ -178,6 -184,26 +185,6 @@@ config MACH_OMAP_LD
        default y
        select OMAP_PACKAGE_CBB
  
 -config MACH_OMAP3530_LV_SOM
 -      bool "OMAP3 Logic 3530 LV SOM board"
 -      depends on ARCH_OMAP3
 -      default y
 -      select OMAP_PACKAGE_CBB
 -      help
 -       Support for the LogicPD OMAP3530 SOM Development kit
 -       for full description please see the products webpage at
 -       http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap35x-development-kit
 -
 -config MACH_OMAP3_TORPEDO
 -      bool "OMAP3 Logic 35x Torpedo board"
 -      depends on ARCH_OMAP3
 -      default y
 -      select OMAP_PACKAGE_CBB
 -      help
 -       Support for the LogicPD OMAP35x Torpedo Development kit
 -       for full description please see the products webpage at
 -       http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
 -
  config MACH_OMAP3517EVM
        bool "OMAP3517/ AM3517 EVM board"
        depends on ARCH_OMAP3
@@@ -189,6 -189,15 +189,15 @@@ static inline void omap44xx_restart(enu
  }
  #endif
  
+ #ifdef CONFIG_OMAP_INTERCONNECT_BARRIER
+ void omap_barrier_reserve_memblock(void);
+ void omap_barriers_init(void);
+ #else
+ static inline void omap_barrier_reserve_memblock(void)
+ {
+ }
+ #endif
  /* This gets called from mach-omap2/io.c, do not call this */
  void __init omap2_set_globals_tap(u32 class, void __iomem *tap);
  
@@@ -198,7 -207,6 +207,7 @@@ void __init omap3_map_io(void)
  void __init am33xx_map_io(void);
  void __init omap4_map_io(void);
  void __init omap5_map_io(void);
 +void __init dra7xx_map_io(void);
  void __init ti81xx_map_io(void);
  
  /**
diff --combined arch/arm/mach-omap2/io.c
@@@ -37,6 -37,7 +37,6 @@@
  #include "clock.h"
  #include "clock2xxx.h"
  #include "clock3xxx.h"
 -#include "clock44xx.h"
  #include "omap-pm.h"
  #include "sdrc.h"
  #include "control.h"
@@@ -235,7 -236,7 +235,7 @@@ static struct map_desc omap44xx_io_desc
  };
  #endif
  
 -#if defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX)
 +#ifdef CONFIG_SOC_OMAP5
  static struct map_desc omap54xx_io_desc[] __initdata = {
        {
                .virtual        = L3_54XX_VIRT,
  };
  #endif
  
 +#ifdef CONFIG_SOC_DRA7XX
 +static struct map_desc dra7xx_io_desc[] __initdata = {
 +      {
 +              .virtual        = L4_CFG_MPU_DRA7XX_VIRT,
 +              .pfn            = __phys_to_pfn(L4_CFG_MPU_DRA7XX_PHYS),
 +              .length         = L4_CFG_MPU_DRA7XX_SIZE,
 +              .type           = MT_DEVICE,
 +      },
 +      {
 +              .virtual        = L3_MAIN_SN_DRA7XX_VIRT,
 +              .pfn            = __phys_to_pfn(L3_MAIN_SN_DRA7XX_PHYS),
 +              .length         = L3_MAIN_SN_DRA7XX_SIZE,
 +              .type           = MT_DEVICE,
 +      },
 +      {
 +              .virtual        = L4_PER1_DRA7XX_VIRT,
 +              .pfn            = __phys_to_pfn(L4_PER1_DRA7XX_PHYS),
 +              .length         = L4_PER1_DRA7XX_SIZE,
 +              .type           = MT_DEVICE,
 +      },
 +      {
 +              .virtual        = L4_PER2_DRA7XX_VIRT,
 +              .pfn            = __phys_to_pfn(L4_PER2_DRA7XX_PHYS),
 +              .length         = L4_PER2_DRA7XX_SIZE,
 +              .type           = MT_DEVICE,
 +      },
 +      {
 +              .virtual        = L4_PER3_DRA7XX_VIRT,
 +              .pfn            = __phys_to_pfn(L4_PER3_DRA7XX_PHYS),
 +              .length         = L4_PER3_DRA7XX_SIZE,
 +              .type           = MT_DEVICE,
 +      },
 +      {
 +              .virtual        = L4_CFG_DRA7XX_VIRT,
 +              .pfn            = __phys_to_pfn(L4_CFG_DRA7XX_PHYS),
 +              .length         = L4_CFG_DRA7XX_SIZE,
 +              .type           = MT_DEVICE,
 +      },
 +      {
 +              .virtual        = L4_WKUP_DRA7XX_VIRT,
 +              .pfn            = __phys_to_pfn(L4_WKUP_DRA7XX_PHYS),
 +              .length         = L4_WKUP_DRA7XX_SIZE,
 +              .type           = MT_DEVICE,
 +      },
 +};
 +#endif
 +
  #ifdef CONFIG_SOC_OMAP2420
  void __init omap242x_map_io(void)
  {
@@@ -352,22 -306,17 +352,24 @@@ void __init am33xx_map_io(void
  void __init omap4_map_io(void)
  {
        iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc));
+       omap_barriers_init();
  }
  #endif
  
 -#if defined(CONFIG_SOC_OMAP5) ||  defined(CONFIG_SOC_DRA7XX)
 +#ifdef CONFIG_SOC_OMAP5
  void __init omap5_map_io(void)
  {
        iotable_init(omap54xx_io_desc, ARRAY_SIZE(omap54xx_io_desc));
+       omap_barriers_init();
  }
  #endif
 +
 +#ifdef CONFIG_SOC_DRA7XX
 +void __init dra7xx_map_io(void)
 +{
 +      iotable_init(dra7xx_io_desc, ARRAY_SIZE(dra7xx_io_desc));
 +}
 +#endif
  /*
   * omap2_init_reprogram_sdrc - reprogram SDRC timing parameters
   *
@@@ -607,11 -556,11 +609,11 @@@ void __init ti814x_init_early(void
        omap2_prcm_base_init();
        omap3xxx_voltagedomains_init();
        omap3xxx_powerdomains_init();
 -      ti81xx_clockdomains_init();
 -      ti81xx_hwmod_init();
 +      ti814x_clockdomains_init();
 +      dm814x_hwmod_init();
        omap_hwmod_init_postsetup();
        if (of_have_populated_dt())
 -              omap_clk_soc_init = ti81xx_dt_clk_init;
 +              omap_clk_soc_init = dm814x_dt_clk_init;
  }
  
  void __init ti816x_init_early(void)
        omap2_prcm_base_init();
        omap3xxx_voltagedomains_init();
        omap3xxx_powerdomains_init();
 -      ti81xx_clockdomains_init();
 -      ti81xx_hwmod_init();
 +      ti816x_clockdomains_init();
 +      dm816x_hwmod_init();
        omap_hwmod_init_postsetup();
        if (of_have_populated_dt())
 -              omap_clk_soc_init = ti81xx_dt_clk_init;
 +              omap_clk_soc_init = dm816x_dt_clk_init;
  }
  #endif
  
@@@ -776,8 -725,6 +778,8 @@@ int __init omap_clk_init(void
  
        ti_clk_init_features();
  
 +      omap2_clk_setup_ll_ops();
 +
        if (of_have_populated_dt()) {
                ret = omap_control_init();
                if (ret)
  #include "rcar-gen2.h"
  #include "r8a7790.h"
  
 -static struct rcar_sysc_ch r8a7790_ca15_scu = {
 +static const struct rcar_sysc_ch r8a7790_ca15_scu = {
        .chan_offs = 0x180, /* PWRSR5 .. PWRER5 */
        .isr_bit = 12, /* CA15-SCU */
  };
  
 -static struct rcar_sysc_ch r8a7790_ca7_scu = {
 +static const struct rcar_sysc_ch r8a7790_ca7_scu = {
        .chan_offs = 0x100, /* PWRSR3 .. PWRER3 */
        .isr_bit = 21, /* CA7-SCU */
  };
@@@ -64,7 -64,7 +64,7 @@@ struct smp_operations r8a7790_smp_ops _
        .smp_prepare_cpus       = r8a7790_smp_prepare_cpus,
        .smp_boot_secondary     = shmobile_smp_apmu_boot_secondary,
  #ifdef CONFIG_HOTPLUG_CPU
-       .cpu_disable            = shmobile_smp_cpu_disable,
+       .cpu_can_disable        = shmobile_smp_cpu_can_disable,
        .cpu_die                = shmobile_smp_apmu_cpu_die,
        .cpu_kill               = shmobile_smp_apmu_cpu_kill,
  #endif
  
  #define SH73A0_SCU_BASE 0xf0000000
  
 -#if defined(CONFIG_HAVE_ARM_TWD) && !defined(CONFIG_ARCH_MULTIPLATFORM)
 -static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, SH73A0_SCU_BASE + 0x600, 29);
 -void __init sh73a0_register_twd(void)
 -{
 -      twd_local_timer_register(&twd_local_timer);
 -}
 -#endif
 -
  static int sh73a0_boot_secondary(unsigned int cpu, struct task_struct *idle)
  {
        unsigned int lcpu = cpu_logical_map(cpu);
@@@ -60,7 -68,7 +60,7 @@@ struct smp_operations sh73a0_smp_ops __
        .smp_prepare_cpus       = sh73a0_smp_prepare_cpus,
        .smp_boot_secondary     = sh73a0_boot_secondary,
  #ifdef CONFIG_HOTPLUG_CPU
-       .cpu_disable            = shmobile_smp_cpu_disable,
+       .cpu_can_disable        = shmobile_smp_cpu_can_disable,
        .cpu_die                = shmobile_smp_scu_cpu_die,
        .cpu_kill               = shmobile_smp_scu_cpu_kill,
  #endif
  #include <linux/mfd/dbx500-prcmu.h>
  #include <linux/of.h>
  #include <linux/of_platform.h>
+ #include <linux/perf/arm_pmu.h>
  #include <linux/regulator/machine.h>
  #include <linux/random.h>
  
- #include <asm/pmu.h>
  #include <asm/mach/map.h>
  
  #include "setup.h"
@@@ -154,6 -154,7 +154,6 @@@ static const char * stericsson_dt_platf
  };
  
  DT_MACHINE_START(U8500_DT, "ST-Ericsson Ux5x0 platform (Device Tree Support)")
 -      .smp            = smp_ops(ux500_smp_ops),
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
        /* we re-use nomadik timer here */
@@@ -39,6 -39,7 +39,7 @@@
  #include <asm/system_info.h>
  #include <asm/dma-contiguous.h>
  
+ #include "dma.h"
  #include "mm.h"
  
  /*
@@@ -648,14 -649,18 +649,18 @@@ static void *__dma_alloc(struct device 
        size = PAGE_ALIGN(size);
        want_vaddr = !dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, attrs);
  
-       if (is_coherent || nommu())
+       if (nommu())
+               addr = __alloc_simple_buffer(dev, size, gfp, &page);
+       else if (dev_get_cma_area(dev) && (gfp & __GFP_WAIT))
+               addr = __alloc_from_contiguous(dev, size, prot, &page,
+                                              caller, want_vaddr);
+       else if (is_coherent)
                addr = __alloc_simple_buffer(dev, size, gfp, &page);
        else if (!(gfp & __GFP_WAIT))
                addr = __alloc_from_pool(size, &page);
-       else if (!dev_get_cma_area(dev))
-               addr = __alloc_remap_buffer(dev, size, gfp, prot, &page, caller, want_vaddr);
        else
-               addr = __alloc_from_contiguous(dev, size, prot, &page, caller, want_vaddr);
+               addr = __alloc_remap_buffer(dev, size, gfp, prot, &page,
+                                           caller, want_vaddr);
  
        if (page)
                *handle = pfn_to_dma(dev, page_to_pfn(page));
@@@ -683,13 -688,12 +688,12 @@@ void *arm_dma_alloc(struct device *dev
  static void *arm_coherent_dma_alloc(struct device *dev, size_t size,
        dma_addr_t *handle, gfp_t gfp, struct dma_attrs *attrs)
  {
-       pgprot_t prot = __get_dma_pgprot(attrs, PAGE_KERNEL);
        void *memory;
  
        if (dma_alloc_from_coherent(dev, size, handle, &memory))
                return memory;
  
-       return __dma_alloc(dev, size, handle, gfp, prot, true,
+       return __dma_alloc(dev, size, handle, gfp, PAGE_KERNEL, true,
                           attrs, __builtin_return_address(0));
  }
  
@@@ -753,12 -757,12 +757,12 @@@ static void __arm_dma_free(struct devic
  
        size = PAGE_ALIGN(size);
  
-       if (is_coherent || nommu()) {
+       if (nommu()) {
                __dma_free_buffer(page, size);
-       } else if (__free_from_pool(cpu_addr, size)) {
+       } else if (!is_coherent && __free_from_pool(cpu_addr, size)) {
                return;
        } else if (!dev_get_cma_area(dev)) {
-               if (want_vaddr)
+               if (want_vaddr && !is_coherent)
                        __dma_free_remap(cpu_addr, size);
                __dma_free_buffer(page, size);
        } else {
@@@ -1520,7 -1524,7 +1524,7 @@@ static int __map_sg_chunk(struct devic
                return -ENOMEM;
  
        for (count = 0, s = sg; count < (size >> PAGE_SHIFT); s = sg_next(s)) {
 -              phys_addr_t phys = page_to_phys(sg_page(s));
 +              phys_addr_t phys = sg_phys(s) & PAGE_MASK;
                unsigned int len = PAGE_ALIGN(s->offset + s->length);
  
                if (!is_coherent &&
diff --combined arch/arm64/Kconfig
@@@ -20,6 -20,7 +20,7 @@@ config ARM6
        select ARM_GIC_V2M if PCI_MSI
        select ARM_GIC_V3
        select ARM_GIC_V3_ITS if PCI_MSI
+       select ARM_PSCI_FW
        select BUILDTIME_EXTABLE_SORT
        select CLONE_BACKWARDS
        select COMMON_CLK
@@@ -160,7 -161,110 +161,7 @@@ source "init/Kconfig
  
  source "kernel/Kconfig.freezer"
  
 -menu "Platform selection"
 -
 -config ARCH_EXYNOS
 -      bool
 -      help
 -        This enables support for Samsung Exynos SoC family
 -
 -config ARCH_EXYNOS7
 -      bool "ARMv8 based Samsung Exynos7"
 -      select ARCH_EXYNOS
 -      select COMMON_CLK_SAMSUNG
 -      select HAVE_S3C2410_WATCHDOG if WATCHDOG
 -      select HAVE_S3C_RTC if RTC_CLASS
 -      select PINCTRL
 -      select PINCTRL_EXYNOS
 -
 -      help
 -        This enables support for Samsung Exynos7 SoC family
 -
 -config ARCH_FSL_LS2085A
 -      bool "Freescale LS2085A SOC"
 -      help
 -        This enables support for Freescale LS2085A SOC.
 -
 -config ARCH_HISI
 -      bool "Hisilicon SoC Family"
 -      help
 -        This enables support for Hisilicon ARMv8 SoC family
 -
 -config ARCH_MEDIATEK
 -      bool "Mediatek MT65xx & MT81xx ARMv8 SoC"
 -      select ARM_GIC
 -      select PINCTRL
 -      help
 -        Support for Mediatek MT65xx & MT81xx ARMv8 SoCs
 -
 -config ARCH_QCOM
 -      bool "Qualcomm Platforms"
 -      select PINCTRL
 -      help
 -        This enables support for the ARMv8 based Qualcomm chipsets.
 -
 -config ARCH_SEATTLE
 -      bool "AMD Seattle SoC Family"
 -      help
 -        This enables support for AMD Seattle SOC Family
 -
 -config ARCH_TEGRA
 -      bool "NVIDIA Tegra SoC Family"
 -      select ARCH_HAS_RESET_CONTROLLER
 -      select ARCH_REQUIRE_GPIOLIB
 -      select CLKDEV_LOOKUP
 -      select CLKSRC_MMIO
 -      select CLKSRC_OF
 -      select GENERIC_CLOCKEVENTS
 -      select HAVE_CLK
 -      select PINCTRL
 -      select RESET_CONTROLLER
 -      help
 -        This enables support for the NVIDIA Tegra SoC family.
 -
 -config ARCH_TEGRA_132_SOC
 -      bool "NVIDIA Tegra132 SoC"
 -      depends on ARCH_TEGRA
 -      select PINCTRL_TEGRA124
 -      select USB_ULPI if USB_PHY
 -      select USB_ULPI_VIEWPORT if USB_PHY
 -      help
 -        Enable support for NVIDIA Tegra132 SoC, based on the Denver
 -        ARMv8 CPU.  The Tegra132 SoC is similar to the Tegra124 SoC,
 -        but contains an NVIDIA Denver CPU complex in place of
 -        Tegra124's "4+1" Cortex-A15 CPU complex.
 -
 -config ARCH_SPRD
 -      bool "Spreadtrum SoC platform"
 -      help
 -        Support for Spreadtrum ARM based SoCs
 -
 -config ARCH_THUNDER
 -      bool "Cavium Inc. Thunder SoC Family"
 -      help
 -        This enables support for Cavium's Thunder Family of SoCs.
 -
 -config ARCH_VEXPRESS
 -      bool "ARMv8 software model (Versatile Express)"
 -      select ARCH_REQUIRE_GPIOLIB
 -      select COMMON_CLK_VERSATILE
 -      select POWER_RESET_VEXPRESS
 -      select VEXPRESS_CONFIG
 -      help
 -        This enables support for the ARMv8 software model (Versatile
 -        Express).
 -
 -config ARCH_XGENE
 -      bool "AppliedMicro X-Gene SOC Family"
 -      help
 -        This enables support for AppliedMicro X-Gene SOC Family
 -
 -config ARCH_ZYNQMP
 -      bool "Xilinx ZynqMP Family"
 -      help
 -        This enables support for Xilinx ZynqMP Family
 -
 -endmenu
 +source "arch/arm64/Kconfig.platforms"
  
  menu "Bus support"
  
@@@ -34,6 -34,7 +34,6 @@@
  #include <linux/kexec.h>
  #include <linux/crash_dump.h>
  #include <linux/root_dev.h>
 -#include <linux/clk-provider.h>
  #include <linux/cpu.h>
  #include <linux/interrupt.h>
  #include <linux/smp.h>
@@@ -45,6 -46,7 +45,7 @@@
  #include <linux/of_platform.h>
  #include <linux/efi.h>
  #include <linux/personality.h>
+ #include <linux/psci.h>
  
  #include <asm/acpi.h>
  #include <asm/fixmap.h>
@@@ -60,7 -62,6 +61,6 @@@
  #include <asm/tlbflush.h>
  #include <asm/traps.h>
  #include <asm/memblock.h>
- #include <asm/psci.h>
  #include <asm/efi.h>
  #include <asm/virt.h>
  #include <asm/xen/hypervisor.h>
diff --combined drivers/Kconfig
@@@ -176,6 -176,8 +176,8 @@@ source "drivers/powercap/Kconfig
  
  source "drivers/mcb/Kconfig"
  
+ source "drivers/perf/Kconfig"
  source "drivers/ras/Kconfig"
  
  source "drivers/thunderbolt/Kconfig"
@@@ -184,6 -186,4 +186,6 @@@ source "drivers/android/Kconfig
  
  source "drivers/nvdimm/Kconfig"
  
 +source "drivers/nvmem/Kconfig"
 +
  endmenu
diff --combined drivers/Makefile
@@@ -161,8 -161,8 +161,9 @@@ obj-$(CONFIG_NTB)          += ntb
  obj-$(CONFIG_FMC)             += fmc/
  obj-$(CONFIG_POWERCAP)                += powercap/
  obj-$(CONFIG_MCB)             += mcb/
+ obj-$(CONFIG_PERF_EVENTS)     += perf/
  obj-$(CONFIG_RAS)             += ras/
  obj-$(CONFIG_THUNDERBOLT)     += thunderbolt/
  obj-$(CONFIG_CORESIGHT)               += hwtracing/coresight/
  obj-$(CONFIG_ANDROID)         += android/
 +obj-$(CONFIG_NVMEM)           += nvmem/
diff --combined drivers/firmware/psci.c
index 0000000,a695600..42700f0
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,382 +1,382 @@@
 -static const struct of_device_id psci_of_match[] __initconst = {
+ /*
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2 as
+  * published by the Free Software Foundation.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  * Copyright (C) 2015 ARM Limited
+  */
+ #define pr_fmt(fmt) "psci: " fmt
+ #include <linux/errno.h>
+ #include <linux/linkage.h>
+ #include <linux/of.h>
+ #include <linux/pm.h>
+ #include <linux/printk.h>
+ #include <linux/psci.h>
+ #include <linux/reboot.h>
+ #include <uapi/linux/psci.h>
+ #include <asm/cputype.h>
+ #include <asm/system_misc.h>
+ #include <asm/smp_plat.h>
+ /*
+  * While a 64-bit OS can make calls with SMC32 calling conventions, for some
+  * calls it is necessary to use SMC64 to pass or return 64-bit values. For such
+  * calls PSCI_0_2_FN_NATIVE(x) will choose the appropriate (native-width)
+  * function ID.
+  */
+ #ifdef CONFIG_64BIT
+ #define PSCI_0_2_FN_NATIVE(name)      PSCI_0_2_FN64_##name
+ #else
+ #define PSCI_0_2_FN_NATIVE(name)      PSCI_0_2_FN_##name
+ #endif
+ /*
+  * The CPU any Trusted OS is resident on. The trusted OS may reject CPU_OFF
+  * calls to its resident CPU, so we must avoid issuing those. We never migrate
+  * a Trusted OS even if it claims to be capable of migration -- doing so will
+  * require cooperation with a Trusted OS driver.
+  */
+ static int resident_cpu = -1;
+ bool psci_tos_resident_on(int cpu)
+ {
+       return cpu == resident_cpu;
+ }
+ struct psci_operations psci_ops;
+ typedef unsigned long (psci_fn)(unsigned long, unsigned long,
+                               unsigned long, unsigned long);
+ asmlinkage psci_fn __invoke_psci_fn_hvc;
+ asmlinkage psci_fn __invoke_psci_fn_smc;
+ static psci_fn *invoke_psci_fn;
+ enum psci_function {
+       PSCI_FN_CPU_SUSPEND,
+       PSCI_FN_CPU_ON,
+       PSCI_FN_CPU_OFF,
+       PSCI_FN_MIGRATE,
+       PSCI_FN_MAX,
+ };
+ static u32 psci_function_id[PSCI_FN_MAX];
+ static int psci_to_linux_errno(int errno)
+ {
+       switch (errno) {
+       case PSCI_RET_SUCCESS:
+               return 0;
+       case PSCI_RET_NOT_SUPPORTED:
+               return -EOPNOTSUPP;
+       case PSCI_RET_INVALID_PARAMS:
+               return -EINVAL;
+       case PSCI_RET_DENIED:
+               return -EPERM;
+       };
+       return -EINVAL;
+ }
+ static u32 psci_get_version(void)
+ {
+       return invoke_psci_fn(PSCI_0_2_FN_PSCI_VERSION, 0, 0, 0);
+ }
+ static int psci_cpu_suspend(u32 state, unsigned long entry_point)
+ {
+       int err;
+       u32 fn;
+       fn = psci_function_id[PSCI_FN_CPU_SUSPEND];
+       err = invoke_psci_fn(fn, state, entry_point, 0);
+       return psci_to_linux_errno(err);
+ }
+ static int psci_cpu_off(u32 state)
+ {
+       int err;
+       u32 fn;
+       fn = psci_function_id[PSCI_FN_CPU_OFF];
+       err = invoke_psci_fn(fn, state, 0, 0);
+       return psci_to_linux_errno(err);
+ }
+ static int psci_cpu_on(unsigned long cpuid, unsigned long entry_point)
+ {
+       int err;
+       u32 fn;
+       fn = psci_function_id[PSCI_FN_CPU_ON];
+       err = invoke_psci_fn(fn, cpuid, entry_point, 0);
+       return psci_to_linux_errno(err);
+ }
+ static int psci_migrate(unsigned long cpuid)
+ {
+       int err;
+       u32 fn;
+       fn = psci_function_id[PSCI_FN_MIGRATE];
+       err = invoke_psci_fn(fn, cpuid, 0, 0);
+       return psci_to_linux_errno(err);
+ }
+ static int psci_affinity_info(unsigned long target_affinity,
+               unsigned long lowest_affinity_level)
+ {
+       return invoke_psci_fn(PSCI_0_2_FN_NATIVE(AFFINITY_INFO),
+                             target_affinity, lowest_affinity_level, 0);
+ }
+ static int psci_migrate_info_type(void)
+ {
+       return invoke_psci_fn(PSCI_0_2_FN_MIGRATE_INFO_TYPE, 0, 0, 0);
+ }
+ static unsigned long psci_migrate_info_up_cpu(void)
+ {
+       return invoke_psci_fn(PSCI_0_2_FN_NATIVE(MIGRATE_INFO_UP_CPU),
+                             0, 0, 0);
+ }
+ static int get_set_conduit_method(struct device_node *np)
+ {
+       const char *method;
+       pr_info("probing for conduit method from DT.\n");
+       if (of_property_read_string(np, "method", &method)) {
+               pr_warn("missing \"method\" property\n");
+               return -ENXIO;
+       }
+       if (!strcmp("hvc", method)) {
+               invoke_psci_fn = __invoke_psci_fn_hvc;
+       } else if (!strcmp("smc", method)) {
+               invoke_psci_fn = __invoke_psci_fn_smc;
+       } else {
+               pr_warn("invalid \"method\" property: %s\n", method);
+               return -EINVAL;
+       }
+       return 0;
+ }
+ static void psci_sys_reset(enum reboot_mode reboot_mode, const char *cmd)
+ {
+       invoke_psci_fn(PSCI_0_2_FN_SYSTEM_RESET, 0, 0, 0);
+ }
+ static void psci_sys_poweroff(void)
+ {
+       invoke_psci_fn(PSCI_0_2_FN_SYSTEM_OFF, 0, 0, 0);
+ }
+ /*
+  * Detect the presence of a resident Trusted OS which may cause CPU_OFF to
+  * return DENIED (which would be fatal).
+  */
+ static void __init psci_init_migrate(void)
+ {
+       unsigned long cpuid;
+       int type, cpu = -1;
+       type = psci_ops.migrate_info_type();
+       if (type == PSCI_0_2_TOS_MP) {
+               pr_info("Trusted OS migration not required\n");
+               return;
+       }
+       if (type == PSCI_RET_NOT_SUPPORTED) {
+               pr_info("MIGRATE_INFO_TYPE not supported.\n");
+               return;
+       }
+       if (type != PSCI_0_2_TOS_UP_MIGRATE &&
+           type != PSCI_0_2_TOS_UP_NO_MIGRATE) {
+               pr_err("MIGRATE_INFO_TYPE returned unknown type (%d)\n", type);
+               return;
+       }
+       cpuid = psci_migrate_info_up_cpu();
+       if (cpuid & ~MPIDR_HWID_BITMASK) {
+               pr_warn("MIGRATE_INFO_UP_CPU reported invalid physical ID (0x%lx)\n",
+                       cpuid);
+               return;
+       }
+       cpu = get_logical_index(cpuid);
+       resident_cpu = cpu >= 0 ? cpu : -1;
+       pr_info("Trusted OS resident on physical CPU 0x%lx\n", cpuid);
+ }
+ static void __init psci_0_2_set_functions(void)
+ {
+       pr_info("Using standard PSCI v0.2 function IDs\n");
+       psci_function_id[PSCI_FN_CPU_SUSPEND] = PSCI_0_2_FN_NATIVE(CPU_SUSPEND);
+       psci_ops.cpu_suspend = psci_cpu_suspend;
+       psci_function_id[PSCI_FN_CPU_OFF] = PSCI_0_2_FN_CPU_OFF;
+       psci_ops.cpu_off = psci_cpu_off;
+       psci_function_id[PSCI_FN_CPU_ON] = PSCI_0_2_FN_NATIVE(CPU_ON);
+       psci_ops.cpu_on = psci_cpu_on;
+       psci_function_id[PSCI_FN_MIGRATE] = PSCI_0_2_FN_NATIVE(MIGRATE);
+       psci_ops.migrate = psci_migrate;
+       psci_ops.affinity_info = psci_affinity_info;
+       psci_ops.migrate_info_type = psci_migrate_info_type;
+       arm_pm_restart = psci_sys_reset;
+       pm_power_off = psci_sys_poweroff;
+ }
+ /*
+  * Probe function for PSCI firmware versions >= 0.2
+  */
+ static int __init psci_probe(void)
+ {
+       u32 ver = psci_get_version();
+       pr_info("PSCIv%d.%d detected in firmware.\n",
+                       PSCI_VERSION_MAJOR(ver),
+                       PSCI_VERSION_MINOR(ver));
+       if (PSCI_VERSION_MAJOR(ver) == 0 && PSCI_VERSION_MINOR(ver) < 2) {
+               pr_err("Conflicting PSCI version detected.\n");
+               return -EINVAL;
+       }
+       psci_0_2_set_functions();
+       psci_init_migrate();
+       return 0;
+ }
+ typedef int (*psci_initcall_t)(const struct device_node *);
+ /*
+  * PSCI init function for PSCI versions >=0.2
+  *
+  * Probe based on PSCI PSCI_VERSION function
+  */
+ static int __init psci_0_2_init(struct device_node *np)
+ {
+       int err;
+       err = get_set_conduit_method(np);
+       if (err)
+               goto out_put_node;
+       /*
+        * Starting with v0.2, the PSCI specification introduced a call
+        * (PSCI_VERSION) that allows probing the firmware version, so
+        * that PSCI function IDs and version specific initialization
+        * can be carried out according to the specific version reported
+        * by firmware
+        */
+       err = psci_probe();
+ out_put_node:
+       of_node_put(np);
+       return err;
+ }
+ /*
+  * PSCI < v0.2 get PSCI Function IDs via DT.
+  */
+ static int __init psci_0_1_init(struct device_node *np)
+ {
+       u32 id;
+       int err;
+       err = get_set_conduit_method(np);
+       if (err)
+               goto out_put_node;
+       pr_info("Using PSCI v0.1 Function IDs from DT\n");
+       if (!of_property_read_u32(np, "cpu_suspend", &id)) {
+               psci_function_id[PSCI_FN_CPU_SUSPEND] = id;
+               psci_ops.cpu_suspend = psci_cpu_suspend;
+       }
+       if (!of_property_read_u32(np, "cpu_off", &id)) {
+               psci_function_id[PSCI_FN_CPU_OFF] = id;
+               psci_ops.cpu_off = psci_cpu_off;
+       }
+       if (!of_property_read_u32(np, "cpu_on", &id)) {
+               psci_function_id[PSCI_FN_CPU_ON] = id;
+               psci_ops.cpu_on = psci_cpu_on;
+       }
+       if (!of_property_read_u32(np, "migrate", &id)) {
+               psci_function_id[PSCI_FN_MIGRATE] = id;
+               psci_ops.migrate = psci_migrate;
+       }
+ out_put_node:
+       of_node_put(np);
+       return err;
+ }
++static const struct of_device_id const psci_of_match[] __initconst = {
+       { .compatible = "arm,psci",     .data = psci_0_1_init},
+       { .compatible = "arm,psci-0.2", .data = psci_0_2_init},
+       {},
+ };
+ int __init psci_dt_init(void)
+ {
+       struct device_node *np;
+       const struct of_device_id *matched_np;
+       psci_initcall_t init_fn;
+       np = of_find_matching_node_and_match(NULL, psci_of_match, &matched_np);
+       if (!np)
+               return -ENODEV;
+       init_fn = (psci_initcall_t)matched_np->data;
+       return init_fn(np);
+ }
+ #ifdef CONFIG_ACPI
+ /*
+  * We use PSCI 0.2+ when ACPI is deployed on ARM64 and it's
+  * explicitly clarified in SBBR
+  */
+ int __init psci_acpi_init(void)
+ {
+       if (!acpi_psci_present()) {
+               pr_info("is not implemented in ACPI.\n");
+               return -EOPNOTSUPP;
+       }
+       pr_info("probing for conduit method from ACPI.\n");
+       if (acpi_psci_use_hvc())
+               invoke_psci_fn = __invoke_psci_fn_hvc;
+       else
+               invoke_psci_fn = __invoke_psci_fn_smc;
+       return psci_probe();
+ }
+ #endif