]> Git Repo - linux.git/commitdiff
Merge tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw...
authorLinus Torvalds <[email protected]>
Mon, 29 Jun 2015 17:34:42 +0000 (10:34 -0700)
committerLinus Torvalds <[email protected]>
Mon, 29 Jun 2015 17:34:42 +0000 (10:34 -0700)
Pull libnvdimm subsystem from Dan Williams:
 "The libnvdimm sub-system introduces, in addition to the
  libnvdimm-core, 4 drivers / enabling modules:

  NFIT:
    Instantiates an "nvdimm bus" with the core and registers memory
    devices (NVDIMMs) enumerated by the ACPI 6.0 NFIT (NVDIMM Firmware
    Interface table).

    After registering NVDIMMs the NFIT driver then registers "region"
    devices.  A libnvdimm-region defines an access mode and the
    boundaries of persistent memory media.  A region may span multiple
    NVDIMMs that are interleaved by the hardware memory controller.  In
    turn, a libnvdimm-region can be carved into a "namespace" device and
    bound to the PMEM or BLK driver which will attach a Linux block
    device (disk) interface to the memory.

  PMEM:
    Initially merged in v4.1 this driver for contiguous spans of
    persistent memory address ranges is re-worked to drive
    PMEM-namespaces emitted by the libnvdimm-core.

    In this update the PMEM driver, on x86, gains the ability to assert
    that writes to persistent memory have been flushed all the way
    through the caches and buffers in the platform to persistent media.
    See memcpy_to_pmem() and wmb_pmem().

  BLK:
    This new driver enables access to persistent memory media through
    "Block Data Windows" as defined by the NFIT.  The primary difference
    of this driver to PMEM is that only a small window of persistent
    memory is mapped into system address space at any given point in
    time.

    Per-NVDIMM windows are reprogrammed at run time, per-I/O, to access
    different portions of the media.  BLK-mode, by definition, does not
    support DAX.

  BTT:
    This is a library, optionally consumed by either PMEM or BLK, that
    converts a byte-accessible namespace into a disk with atomic sector
    update semantics (prevents sector tearing on crash or power loss).

    The sinister aspect of sector tearing is that most applications do
    not know they have a atomic sector dependency.  At least today's
    disk's rarely ever tear sectors and if they do one almost certainly
    gets a CRC error on access.  NVDIMMs will always tear and always
    silently.  Until an application is audited to be robust in the
    presence of sector-tearing the usage of BTT is recommended.

  Thanks to: Ross Zwisler, Jeff Moyer, Vishal Verma, Christoph Hellwig,
  Ingo Molnar, Neil Brown, Boaz Harrosh, Robert Elliott, Matthew Wilcox,
  Andy Rudoff, Linda Knippers, Toshi Kani, Nicholas Moulin, Rafael
  Wysocki, and Bob Moore"

* tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm: (33 commits)
  arch, x86: pmem api for ensuring durability of persistent memory updates
  libnvdimm: Add sysfs numa_node to NVDIMM devices
  libnvdimm: Set numa_node to NVDIMM devices
  acpi: Add acpi_map_pxm_to_online_node()
  libnvdimm, nfit: handle unarmed dimms, mark namespaces read-only
  pmem: flag pmem block devices as non-rotational
  libnvdimm: enable iostat
  pmem: make_request cleanups
  libnvdimm, pmem: fix up max_hw_sectors
  libnvdimm, blk: add support for blk integrity
  libnvdimm, btt: add support for blk integrity
  fs/block_dev.c: skip rw_page if bdev has integrity
  libnvdimm: Non-Volatile Devices
  tools/testing/nvdimm: libnvdimm unit test infrastructure
  libnvdimm, nfit, nd_blk: driver for BLK-mode access persistent memory
  nd_btt: atomic sector updates
  libnvdimm: infrastructure for btt devices
  libnvdimm: write blk label set
  libnvdimm: write pmem label set
  libnvdimm: blk labels and namespace instantiation
  ...

17 files changed:
1  2 
MAINTAINERS
arch/ia64/kernel/efi.c
arch/x86/Kconfig
arch/x86/include/asm/cacheflush.h
arch/x86/include/asm/io.h
arch/x86/kernel/e820.c
arch/x86/platform/efi/efi.c
drivers/Makefile
drivers/acpi/Kconfig
drivers/acpi/Makefile
fs/block_dev.c
include/linux/acpi.h
include/linux/compiler.h
include/linux/efi.h
include/linux/pmem.h
include/uapi/linux/Kbuild
lib/Kconfig

diff --combined MAINTAINERS
index 67e0b863d2af6acfde0c9b024273918f8243762f,c2f55aed811df6cfa754748bef1f9d7a5dc9a0e6..0e6b09150aad52720d8f98b1802e0a4005e688af
@@@ -51,9 -51,9 +51,9 @@@ trivial patch so apply some common sens
        or does something very odd once a month document it.
  
        PLEASE remember that submissions must be made under the terms
 -      of the OSDL certificate of contribution and should include a
 -      Signed-off-by: line.  The current version of this "Developer's
 -      Certificate of Origin" (DCO) is listed in the file
 +      of the Linux Foundation certificate of contribution and should
 +      include a Signed-off-by: line.  The current version of this
 +      "Developer's Certificate of Origin" (DCO) is listed in the file
        Documentation/SubmittingPatches.
  
  6.    Make sure you have the right to send any changes you make. If you
@@@ -259,7 -259,7 +259,7 @@@ S: Maintaine
  F:    drivers/platform/x86/acer-wmi.c
  
  ACPI
 -M:    Rafael J. Wysocki <[email protected]>
 +M:    "Rafael J. Wysocki" <[email protected]>
  M:    Len Brown <[email protected]>
  L:    [email protected]
  W:    https://01.org/linux-acpi
@@@ -280,7 -280,7 +280,7 @@@ F: tools/power/acpi
  ACPI COMPONENT ARCHITECTURE (ACPICA)
  M:    Robert Moore <[email protected]>
  M:    Lv Zheng <[email protected]>
 -M:    Rafael J. Wysocki <[email protected]>
 +M:    "Rafael J. Wysocki" <[email protected]>
  L:    [email protected]
  L:    [email protected]
  W:    https://acpica.org/
@@@ -445,7 -445,6 +445,7 @@@ F: drivers/input/misc/adxl34x.
  
  ADVANSYS SCSI DRIVER
  M:    Matthew Wilcox <[email protected]>
 +M:    Hannes Reinecke <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/scsi/advansys.txt
@@@ -632,7 -631,7 +632,7 @@@ F: drivers/iommu/amd_iommu*.[ch
  F:    include/linux/amd-iommu.h
  
  AMD KFD
 -M:    Oded Gabbay <oded.gabbay@amd.com>
 +M:    Oded Gabbay <oded.gabbay@gmail.com>
  L:    [email protected]
  T:    git git://people.freedesktop.org/~gabbayo/linux.git
  S:    Supported
@@@ -653,6 -652,7 +653,6 @@@ M: Tom Lendacky <[email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/amd/xgbe/
 -F:    drivers/net/phy/amd-xgbe-phy.c
  
  AMS (Apple Motion Sensor) DRIVER
  M:    Michael Hanselmann <[email protected]>
@@@ -732,7 -732,7 +732,7 @@@ ANDROID DRIVER
  M:    Greg Kroah-Hartman <[email protected]>
  M:    Arve Hjønnevåg <[email protected]>
  M:    Riley Andrews <[email protected]>
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/gregkh/staging.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
  L:    [email protected]
  S:    Supported
  F:    drivers/android/
@@@ -922,13 -922,6 +922,13 @@@ M:       Krzysztof Halasa <[email protected]
  S:    Maintained
  F:    arch/arm/mach-cns3xxx/
  
 +ARM/CAVIUM THUNDER NETWORK DRIVER
 +M:    Sunil Goutham <[email protected]>
 +M:    Robert Richter <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +F:    drivers/net/ethernet/cavium/
 +
  ARM/CIRRUS LOGIC CLPS711X ARM ARCHITECTURE
  M:    Alexander Shiyan <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -981,10 -974,9 +981,10 @@@ S:       Maintaine
  ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE
  M:    Hans Ulli Kroll <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
 -T:    git git://git.berlios.de/gemini-board
 +T:    git git://github.com/ulli-kroll/linux.git
  S:    Maintained
  F:    arch/arm/mach-gemini/
 +F:    drivers/rtc/rtc-gemini.c
  
  ARM/CSR SIRFPRIMA2 MACHINE SUPPORT
  M:    Barry Song <[email protected]>
@@@ -1043,7 -1035,7 +1043,7 @@@ F:      arch/arm/include/asm/hardware/dec212
  F:    arch/arm/mach-footbridge/
  
  ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
 -M:    Shawn Guo <shawn.guo@linaro.org>
 +M:    Shawn Guo <shawnguo@kernel.org>
  M:    Sascha Hauer <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
@@@ -1052,11 -1044,9 +1052,11 @@@ F:    arch/arm/mach-imx
  F:    arch/arm/mach-mxs/
  F:    arch/arm/boot/dts/imx*
  F:    arch/arm/configs/imx*_defconfig
 +F:    drivers/clk/imx/
 +F:    include/soc/imx/
  
  ARM/FREESCALE VYBRID ARM ARCHITECTURE
 -M:    Shawn Guo <shawn.guo@linaro.org>
 +M:    Shawn Guo <shawnguo@kernel.org>
  M:    Sascha Hauer <[email protected]>
  R:    Stefan Agner <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -1199,17 -1189,11 +1199,17 @@@ M:   Lennert Buytenhek <kernel@wantstofly
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  
 +ARM/LPC18XX ARCHITECTURE
 +M:    Joachim Eastwood <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +N:    lpc18xx
 +
  ARM/MAGICIAN MACHINE SUPPORT
  M:    Philipp Zabel <[email protected]>
  S:    Maintained
  
 -ARM/Marvell Armada 370 and Armada XP SOC support
 +ARM/Marvell Kirkwood and Armada 370, 375, 38x, XP SOC support
  M:    Jason Cooper <[email protected]>
  M:    Andrew Lunn <[email protected]>
  M:    Gregory Clement <[email protected]>
  S:    Maintained
  F:    arch/arm/mach-mvebu/
  F:    drivers/rtc/rtc-armada38x.c
 +F:    arch/arm/boot/dts/armada*
 +F:    arch/arm/boot/dts/kirkwood*
 +
  
  ARM/Marvell Berlin SoC support
  M:    Sebastian Hesselbarth <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-berlin/
 +F:    arch/arm/boot/dts/berlin*
 +
  
  ARM/Marvell Dove/MV78xx0/Orion SOC support
  M:    Jason Cooper <[email protected]>
@@@ -1241,9 -1220,6 +1241,9 @@@ F:      arch/arm/mach-dove
  F:    arch/arm/mach-mv78xx0/
  F:    arch/arm/mach-orion5x/
  F:    arch/arm/plat-orion/
 +F:    arch/arm/boot/dts/dove*
 +F:    arch/arm/boot/dts/orion5x*
 +
  
  ARM/Orion SoC/Technologic Systems TS-78xx platform support
  M:    Alexander Clouter <[email protected]>
@@@ -1252,13 -1228,6 +1252,13 @@@ W:    http://www.digriz.org.uk/ts78xx/kern
  S:    Maintained
  F:    arch/arm/mach-orion5x/ts78xx-*
  
 +ARM/Mediatek RTC DRIVER
 +M:    Eddie Huang <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    drivers/rtc/rtc-mt6397.c
 +
  ARM/Mediatek SoC support
  M:    Matthias Brugger <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -1402,13 -1371,11 +1402,13 @@@ N:   rockchi
  
  ARM/SAMSUNG EXYNOS ARM ARCHITECTURES
  M:    Kukjin Kim <[email protected]>
 +M:    Krzysztof Kozlowski <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/boot/dts/s3c*
  F:    arch/arm/boot/dts/exynos*
 +F:    arch/arm64/boot/dts/exynos/
  F:    arch/arm/plat-samsung/
  F:    arch/arm/mach-s3c24*/
  F:    arch/arm/mach-s3c64xx/
@@@ -1512,22 -1479,12 +1512,22 @@@ F:   drivers/phy/phy-stih407-usb.
  F:    drivers/phy/phy-stih41x-usb.c
  F:    drivers/pinctrl/pinctrl-st.c
  F:    drivers/reset/sti/
 +F:    drivers/rtc/rtc-st-lpc.c
  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
 +F:    drivers/watchdog/st_lpc_wdt.c
  F:    drivers/ata/ahci_st.c
  
 +ARM/STM32 ARCHITECTURE
 +M:    Maxime Coquelin <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32.git
 +N:    stm32
 +F:    drivers/clocksource/armv7m_systick.c
 +
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
  M:    Lennert Buytenhek <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -1574,13 -1531,6 +1574,13 @@@ F:    drivers/rtc/rtc-ab3100.
  F:    drivers/rtc/rtc-coh901331.c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
  
 +ARM/UNIPHIER ARCHITECTURE
 +M:    Masahiro Yamada <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/mach-uniphier/
 +N:    uniphier
 +
  ARM/Ux500 ARM ARCHITECTURE
  M:    Linus Walleij <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -1658,15 -1608,6 +1658,15 @@@ S:    Maintaine
  F:    arch/arm/mach-pxa/z2.c
  F:    arch/arm/mach-pxa/include/mach/z2.h
  
 +ARM/ZTE ARCHITECTURE
 +M:    Jun Nie <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/mach-zx/
 +F:    drivers/clk/zte/
 +F:    Documentation/devicetree/bindings/arm/zte.txt
 +F:    Documentation/devicetree/bindings/clock/zx296702-clk.txt
 +
  ARM/ZYNQ ARCHITECTURE
  M:    Michal Simek <[email protected]>
  R:    Sören Brinkmann <[email protected]>
@@@ -1684,12 -1625,11 +1684,12 @@@ F:   drivers/i2c/busses/i2c-cadence.
  F:    drivers/mmc/host/sdhci-of-arasan.c
  F:    drivers/edac/synopsys_edac.c
  
 -ARM SMMU DRIVER
 +ARM SMMU DRIVERS
  M:    Will Deacon <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    drivers/iommu/arm-smmu.c
 +F:    drivers/iommu/arm-smmu-v3.c
  F:    drivers/iommu/io-pgtable-arm.c
  
  ARM64 PORT (AARCH64 ARCHITECTURE)
@@@ -1920,14 -1860,6 +1920,14 @@@ W:    http://www.attotech.co
  S:    Supported
  F:    drivers/scsi/esas2r
  
 +ATUSB IEEE 802.15.4 RADIO DRIVER
 +M:    Stefan Schmidt <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/ieee802154/atusb.c
 +F:    drivers/net/ieee802154/atusb.h
 +F:    drivers/net/ieee802154/at86rf230.h
 +
  AUDIT SUBSYSTEM
  M:    Paul Moore <[email protected]>
  M:    Eric Paris <[email protected]>
@@@ -2003,7 -1935,7 +2003,7 @@@ S:      Maintaine
  F:    drivers/net/wireless/b43legacy/
  
  BACKLIGHT CLASS/SUBSYSTEM
 -M:    Jingoo Han <jg1.han@samsung.com>
 +M:    Jingoo Han <jingoohan1@gmail.com>
  M:    Lee Jones <[email protected]>
  S:    Maintained
  F:    drivers/video/backlight/
@@@ -2032,14 -1964,6 +2032,14 @@@ W:    http://bcache.evilpiepirate.or
  S:    Maintained:
  F:    drivers/md/bcache/
  
 +BDISP ST MEDIA DRIVER
 +M:    Fabien Dessenne <[email protected]>
 +L:    [email protected]
 +T:    git git://linuxtv.org/media_tree.git
 +W:    http://linuxtv.org
 +S:    Supported
 +F:    drivers/media/platform/sti/bdisp
 +
  BEFS FILE SYSTEM
  S:    Orphan
  F:    Documentation/filesystems/befs.txt
@@@ -2124,7 -2048,6 +2124,7 @@@ M:      Jens Axboe <[email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
  S:    Maintained
  F:    block/
 +F:    kernel/trace/blktrace.c
  
  BLOCK2MTD DRIVER
  M:    Joern Engel <[email protected]>
@@@ -2229,14 -2152,6 +2229,14 @@@ F:    arch/mips/bcm3384/
  F:    arch/mips/include/asm/mach-bcm3384/*
  F:    arch/mips/kernel/*bmips*
  
 +BROADCOM BCM47XX MIPS ARCHITECTURE
 +M:    Hauke Mehrtens <[email protected]>
 +M:    Rafał Miłecki <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    arch/mips/bcm47xx/*
 +F:    arch/mips/include/asm/mach-bcm47xx/*
 +
  BROADCOM BCM5301X ARM ARCHITECTURE
  M:    Hauke Mehrtens <[email protected]>
  L:    [email protected]
@@@ -2269,7 -2184,6 +2269,7 @@@ S:      Maintaine
  F:    arch/arm/mach-bcm/*brcmstb*
  F:    arch/arm/boot/dts/bcm7*.dts*
  F:    drivers/bus/brcmstb_gisb.c
 +N:    brcmstb
  
  BROADCOM BMIPS MIPS ARCHITECTURE
  M:    Kevin Cernekee <[email protected]>
@@@ -2327,13 -2241,6 +2327,13 @@@ N:    bcm9583
  N:    bcm583*
  N:    bcm113*
  
 +BROADCOM BRCMSTB GPIO DRIVER
 +M:    Gregory Fong <[email protected]>
 +L:    [email protected]>
 +S:    Supported
 +F:    drivers/gpio/gpio-brcmstb.c
 +F:    Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt
 +
  BROADCOM KONA GPIO DRIVER
  M:    Ray Jui <[email protected]>
  L:    [email protected]
@@@ -2341,18 -2248,6 +2341,18 @@@ S:    Supporte
  F:    drivers/gpio/gpio-bcm-kona.c
  F:    Documentation/devicetree/bindings/gpio/gpio-bcm-kona.txt
  
 +BROADCOM NVRAM DRIVER
 +M:    Rafał Miłecki <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/firmware/broadcom/*
 +
 +BROADCOM STB NAND FLASH DRIVER
 +M:    Brian Norris <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/mtd/nand/brcmnand/
 +
  BROADCOM SPECIFIC AMBA DRIVER (BCMA)
  M:    Rafał Miłecki <[email protected]>
  L:    [email protected]
@@@ -2523,6 -2418,7 +2523,6 @@@ L:      [email protected]
  S:    Supported
  F:    include/linux/capability.h
  F:    include/uapi/linux/capability.h
 -F:    security/capability.c
  F:    security/commoncap.c
  F:    kernel/capability.c
  
@@@ -2532,17 -2428,6 +2532,17 @@@ S:    Maintaine
  F:    drivers/iio/light/cm*
  F:    Documentation/devicetree/bindings/i2c/trivial-devices.txt
  
 +CAVIUM LIQUIDIO NETWORK DRIVER
 +M:     Derek Chickles <[email protected]>
 +M:     Satanand Burla <[email protected]>
 +M:     Felix Manlunas <[email protected]>
 +M:     Raghu Vatsavayi <[email protected]>
 +L:     [email protected]
 +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
  M:    Varka Bhadram <[email protected]>
  L:    [email protected]
@@@ -2554,6 -2439,7 +2554,6 @@@ F:      Documentation/devicetree/bindings/ne
  CELL BROADBAND ENGINE ARCHITECTURE
  M:    Arnd Bergmann <[email protected]>
  L:    [email protected]
 -L:    [email protected]
  W:    http://www.ibm.com/developerworks/power/cell/
  S:    Supported
  F:    arch/powerpc/include/asm/cell*.h
@@@ -2563,7 -2449,7 +2563,7 @@@ F:      arch/powerpc/oprofile/*cell
  F:    arch/powerpc/platforms/cell/
  
  CEPH DISTRIBUTED FILE SYSTEM CLIENT
 -M:    Yan, Zheng <[email protected]>
 +M:    "Yan, Zheng" <[email protected]>
  M:    Sage Weil <[email protected]>
  L:    [email protected]
  W:    http://ceph.com/
  S:    Supported
  F:    drivers/scsi/fnic/
  
 +CISCO SCSI HBA DRIVER
 +M:    Narsimhulu Musini <[email protected]>
 +M:    Sesidhar Baddela <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/scsi/snic/
 +
  CMPC ACPI DRIVER
  M:    Thadeu Lima de Souza Cascardo <[email protected]>
  M:    Daniel Oliveira Nascimento <[email protected]>
  S:    Supported
  F:    drivers/platform/x86/classmate-laptop.c
  
 +COBALT MEDIA DRIVER
 +M:    Hans Verkuil <[email protected]>
 +L:    [email protected]
 +T:    git git://linuxtv.org/media_tree.git
 +W:    http://linuxtv.org
 +S:    Supported
 +F:    drivers/media/pci/cobalt/
 +
  COCCINELLE/Semantic Patches (SmPL)
  M:    Julia Lawall <[email protected]>
  M:    Gilles Muller <[email protected]>
@@@ -2830,7 -2701,6 +2830,7 @@@ F:      drivers/connector
  CONTROL GROUP (CGROUP)
  M:    Tejun Heo <[email protected]>
  M:    Li Zefan <[email protected]>
 +M:    Johannes Weiner <[email protected]>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
  S:    Maintained
@@@ -2878,7 -2748,7 +2878,7 @@@ S:      Maintaine
  F:    drivers/net/ethernet/ti/cpmac.c
  
  CPU FREQUENCY DRIVERS
 -M:    Rafael J. Wysocki <[email protected]>
 +M:    "Rafael J. Wysocki" <[email protected]>
  M:    Viresh Kumar <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -2917,7 -2787,7 +2917,7 @@@ F:      drivers/cpuidle/cpuidle-exynos.
  F:    arch/arm/mach-exynos/pm.c
  
  CPUIDLE DRIVERS
 -M:    Rafael J. Wysocki <[email protected]>
 +M:    "Rafael J. Wysocki" <[email protected]>
  M:    Daniel Lezcano <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -3003,15 -2873,6 +3003,15 @@@ S:    Maintaine
  F:    drivers/media/common/cx2341x*
  F:    include/media/cx2341x*
  
 +CX24120 MEDIA DRIVER
 +M:    Jemma Denson <[email protected]>
 +M:    Patrick Boettcher <[email protected]>
 +L:    [email protected]
 +W:    http://linuxtv.org/
 +Q:    http://patchwork.linuxtv.org/project/linux-media/list/
 +S:    Maintained
 +F:    drivers/media/dvb-frontends/cx24120*
 +
  CX88 VIDEO4LINUX DRIVER
  M:    Mauro Carvalho Chehab <[email protected]>
  L:    [email protected]
@@@ -3086,7 -2947,7 +3086,7 @@@ M:      Michael Neuling <[email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/misc/cxl/
 -F:    include/misc/cxl.h
 +F:    include/misc/cxl*
  F:    include/uapi/misc/cxl.h
  F:    Documentation/powerpc/cxl.txt
  F:    Documentation/powerpc/cxl.txt
@@@ -3222,9 -3083,9 +3222,9 @@@ S:      Maintaine
  F:    drivers/platform/x86/dell-smo8800.c
  
  DELL LAPTOP SMM DRIVER
 -M:    Guenter Roeck <[email protected]>
 +M:    Pali Rohár <[email protected]>
  S:    Maintained
 -F:    drivers/char/i8k.c
 +F:    drivers/hwmon/dell-smm-hwmon.c
  F:    include/uapi/linux/i8k.h
  
  DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas)
@@@ -3419,8 -3280,6 +3419,8 @@@ F:      drivers/hwmon/dme1737.
  DMI/SMBIOS SUPPORT
  M:    Jean Delvare <[email protected]>
  S:    Maintained
 +T:    quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
 +F:    Documentation/ABI/testing/sysfs-firmware-dmi-tables
  F:    drivers/firmware/dmi-id.c
  F:    drivers/firmware/dmi_scan.c
  F:    include/linux/dmi.h
@@@ -3465,17 -3324,16 +3465,17 @@@ F:   drivers/block/drbd
  F:    lib/lru_cache.c
  F:    Documentation/blockdev/drbd/
  
 -DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS
 +DRIVER CORE, KOBJECTS, DEBUGFS, KERNFS AND SYSFS
  M:    Greg Kroah-Hartman <[email protected]>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
  S:    Supported
  F:    Documentation/kobject.txt
  F:    drivers/base/
 -F:    fs/sysfs/
  F:    fs/debugfs/
 -F:    include/linux/kobj*
 +F:    fs/kernfs/
 +F:    fs/sysfs/
  F:    include/linux/debugfs.h
 +F:    include/linux/kobj*
  F:    lib/kobj*
  
  DRM DRIVERS
  S:    Maintained
  F:    drivers/net/wan/dscc4.c
  
 +DT3155 MEDIA DRIVER
 +M:    Hans Verkuil <[email protected]>
 +L:    [email protected]
 +T:    git git://linuxtv.org/media_tree.git
 +W:    http://linuxtv.org
 +S:    Odd Fixes
 +F:    drivers/media/pci/dt3155/
 +
  DVB_USB_AF9015 MEDIA DRIVER
  M:    Antti Palosaari <[email protected]>
  L:    [email protected]
@@@ -3871,7 -3721,7 +3871,7 @@@ S:      Maintaine
  F:    drivers/edac/ie31200_edac.c
  
  EDAC-MPC85XX
 -M:    Johannes Thumshirn <[email protected]>
 +M:    Johannes Thumshirn <[email protected]>
  L:    [email protected]
  W:    bluesmoke.sourceforge.net
  S:    Maintained
@@@ -3898,13 -3748,6 +3898,13 @@@ W:    bluesmoke.sourceforge.ne
  S:    Maintained
  F:    drivers/edac/sb_edac.c
  
 +EDAC-XGENE
 +APPLIED MICRO (APM) X-GENE SOC EDAC
 +M:     Loc Ho <[email protected]>
 +S:     Supported
 +F:     drivers/edac/xgene_edac.c
 +F:     Documentation/devicetree/bindings/edac/apm-xgene-edac.txt
 +
  EDIROL UA-101/UA-1000 DRIVER
  M:    Clemens Ladisch <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -3973,11 -3816,10 +3973,11 @@@ M:   David Woodhouse <[email protected]
  L:    [email protected]
  S:    Maintained
  
 -EMULEX LPFC FC SCSI DRIVER
 -M:    James Smart <[email protected]>
 +EMULEX/AVAGO LPFC FC/FCOE SCSI DRIVER
 +M:    James Smart <[email protected]>
 +M:    Dick Kennedy <[email protected]>
  L:    [email protected]
 -W:    http://sourceforge.net/projects/lpfcxxxx
 +W:    http://www.avagotech.com
  S:    Supported
  F:    drivers/scsi/lpfc/
  
@@@ -4076,7 -3918,7 +4076,7 @@@ F:      drivers/extcon
  F:    Documentation/extcon/
  
  EXYNOS DP DRIVER
 -M:    Jingoo Han <jg1.han@samsung.com>
 +M:    Jingoo Han <jingoohan1@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/gpu/drm/exynos/exynos_dp*
@@@ -4153,7 -3995,7 +4153,7 @@@ F:      include/uapi/scsi/fc
  
  FILE LOCKING (flock() and fcntl()/lockf())
  M:    Jeff Layton <[email protected]>
 -M:    J. Bruce Fields <[email protected]>
 +M:    "J. Bruce Fields" <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    include/linux/fcntl.h
@@@ -4349,7 -4191,7 +4349,7 @@@ F:      sound/soc/fsl/imx
  F:    sound/soc/fsl/mpc8610_hpcd.c
  
  FREESCALE QORIQ MANAGEMENT COMPLEX DRIVER
 -M:    J. German Rivera <[email protected]>
 +M:    "J. German Rivera" <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/staging/fsl-mc/
@@@ -4535,10 -4377,11 +4535,10 @@@ F:   fs/gfs2
  F:    include/uapi/linux/gfs2_ondisk.h
  
  GIGASET ISDN DRIVERS
 -M:    Hansjoerg Lipp <[email protected]>
 -M:    Tilman Schmidt <[email protected]>
 +M:    Paul Bolle <[email protected]>
  L:    [email protected]
  W:    http://gigaset307x.sourceforge.net/
 -S:    Maintained
 +S:    Odd Fixes
  F:    Documentation/isdn/README.gigaset
  F:    drivers/isdn/gigaset/
  F:    include/uapi/linux/gigaset_dev.h
@@@ -4631,7 -4474,7 +4631,7 @@@ S:      Maintaine
  F:    drivers/media/usb/gspca/
  
  GUID PARTITION TABLE (GPT)
 -M:    Davidlohr Bueso <dav[email protected]>
 +M:    Davidlohr Bueso <dav[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    block/partitions/efi.*
@@@ -4643,17 -4486,6 +4643,17 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/usb/stk1160/
  
 +H8/300 ARCHITECTURE
 +M:    Yoshinori Sato <[email protected]>
 +L:    [email protected]
 +W:    http://uclinux-h8.sourceforge.jp
 +T:    git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
 +S:    Maintained
 +F:    arch/h8300/
 +F:    drivers/clocksource/h8300_*.c
 +F:    drivers/clk/h8300/
 +F:    drivers/irqchip/irq-renesas-h8*.c
 +
  HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
  M:    Frank Seidel <[email protected]>
  L:    [email protected]
@@@ -4696,7 -4528,7 +4696,7 @@@ M:      Jean Delvare <[email protected]
  M:    Guenter Roeck <[email protected]>
  L:    [email protected]
  W:    http://www.lm-sensors.org/
 -T:    quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-hwmon/
 +T:    quilt http://jdelvare.nerim.net/devel/linux/jdelvare-hwmon/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
  S:    Maintained
  F:    Documentation/hwmon/
@@@ -4803,18 -4635,6 +4803,18 @@@ F:    drivers/hid
  F:    include/linux/hid*
  F:    include/uapi/linux/hid*
  
 +HID SENSOR HUB DRIVERS
 +M:    Jiri Kosina <[email protected]>
 +M:    Jonathan Cameron <[email protected]>
 +M:    Srinivas Pandruvada <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hid/hid-sensor*
 +F:    drivers/hid/hid-sensor-*
 +F:    drivers/iio/*/hid-*
 +F:    include/linux/hid-sensor-*
 +
  HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
  M:    Thomas Gleixner <[email protected]>
  L:    [email protected]
@@@ -4921,7 -4741,7 +4921,7 @@@ S:      Maintaine
  F:    fs/hugetlbfs/
  
  Hyper-V CORE AND DRIVERS
 -M:    K. Y. Srinivasan <[email protected]>
 +M:    "K. Y. Srinivasan" <[email protected]>
  M:    Haiyang Zhang <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -5051,23 -4871,13 +5051,23 @@@ M:   Marcelo Henrique Cerri <mhcerri@linu
  M:    Fionnuala Gunter <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    drivers/crypto/nx/
 +F:    drivers/crypto/nx/Makefile
 +F:    drivers/crypto/nx/Kconfig
 +F:    drivers/crypto/nx/nx-aes*
 +F:    drivers/crypto/nx/nx-sha*
 +F:    drivers/crypto/nx/nx.*
 +F:    drivers/crypto/nx/nx_csbcpb.h
 +F:    drivers/crypto/nx/nx_debugfs.h
  
  IBM Power 842 compression accelerator
  M:    Dan Streetman <[email protected]>
  S:    Supported
 -F:    drivers/crypto/nx/nx-842.c
 -F:    include/linux/nx842.h
 +F:    drivers/crypto/nx/Makefile
 +F:    drivers/crypto/nx/Kconfig
 +F:    drivers/crypto/nx/nx-842*
 +F:    include/linux/sw842.h
 +F:    crypto/842.c
 +F:    lib/842/
  
  IBM Power Linux RAID adapter
  M:    Brian King <[email protected]>
@@@ -5244,7 -5054,7 +5244,7 @@@ M:      Hal Rosenstock <hal.rosenstock@gmail
  L:    [email protected]
  W:    http://www.openfabrics.org/
  Q:    http://patchwork.kernel.org/project/linux-rdma/list/
 -T:    git git://github.com/dledford/linux.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git
  S:    Supported
  F:    Documentation/infiniband/
  F:    drivers/infiniband/
@@@ -5276,6 -5086,7 +5276,6 @@@ F:      include/linux/input
  INPUT MULTITOUCH (MT) PROTOCOL
  M:    Henrik Rydberg <[email protected]>
  L:    [email protected]
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rydberg/input-mt.git
  S:    Odd fixes
  F:    Documentation/input/multi-touch-protocol.txt
  F:    drivers/input/input-mt.c
@@@ -5283,7 -5094,7 +5283,7 @@@ K:      \b(ABS|SYN)_MT
  
  INTEL ASoC BDW/HSW DRIVERS
  M:    Jie Yang <[email protected]>
 -L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    sound/soc/intel/sst-haswell*
  F:    sound/soc/intel/sst-dsp*
@@@ -5460,7 -5271,6 +5460,7 @@@ M:      Tomas Winkler <[email protected]
  L:    [email protected]
  S:    Supported
  F:    include/uapi/linux/mei.h
 +F:    include/linux/mei_cl_bus.h
  F:    drivers/misc/mei/*
  F:    Documentation/misc-devices/mei/*
  
@@@ -6102,6 -5912,39 +6102,39 @@@ M:    Sasha Levin <[email protected]
  S:    Maintained
  F:    tools/lib/lockdep/
  
+ LIBNVDIMM: NON-VOLATILE MEMORY DEVICE SUBSYSTEM
+ M:    Dan Williams <[email protected]>
+ L:    [email protected]
+ Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
+ S:    Supported
+ F:    drivers/nvdimm/*
+ F:    include/linux/nd.h
+ F:    include/linux/libnvdimm.h
+ F:    include/uapi/linux/ndctl.h
+ LIBNVDIMM BLK: MMIO-APERTURE DRIVER
+ M:    Ross Zwisler <[email protected]>
+ L:    [email protected]
+ Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
+ S:    Supported
+ F:    drivers/nvdimm/blk.c
+ F:    drivers/nvdimm/region_devs.c
+ F:    drivers/acpi/nfit*
+ LIBNVDIMM BTT: BLOCK TRANSLATION TABLE
+ M:    Vishal Verma <[email protected]>
+ L:    [email protected]
+ Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
+ S:    Supported
+ F:    drivers/nvdimm/btt*
+ LIBNVDIMM PMEM: PERSISTENT MEMORY DRIVER
+ M:    Ross Zwisler <[email protected]>
+ L:    [email protected]
+ Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
+ S:    Supported
+ F:    drivers/nvdimm/pmem.c
  LINUX FOR IBM pSERIES (RS/6000)
  M:    Paul Mackerras <[email protected]>
  W:    http://www.ibm.com/linux/ltc/projects/ppc
@@@ -6526,15 -6369,6 +6559,15 @@@ W:    http://linuxtv.or
  S:    Maintained
  F:    drivers/media/radio/radio-maxiradio*
  
 +MEDIA DRIVERS FOR RENESAS - VSP1
 +M:    Laurent Pinchart <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Supported
 +F:    Documentation/devicetree/bindings/media/renesas,vsp1.txt
 +F:    drivers/media/platform/vsp1/
 +
  MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
  M:    Mauro Carvalho Chehab <[email protected]>
  P:    LinuxTV.org Project
@@@ -6557,12 -6391,6 +6590,12 @@@ F:    include/uapi/linux/meye.
  F:    include/uapi/linux/ivtv*
  F:    include/uapi/linux/uvcvideo.h
  
 +MEDIATEK MT7601U WIRELESS LAN DRIVER
 +M:    Jakub Kicinski <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/wireless/mediatek/mt7601u/
 +
  MEGARAID SCSI/SAS DRIVERS
  M:    Kashyap Desai <[email protected]>
  M:    Sumit Saxena <[email protected]>
@@@ -6609,14 -6437,14 +6642,14 @@@ F:   include/linux/mtd
  F:    include/uapi/mtd/
  
  MEN A21 WATCHDOG DRIVER
 -M:    Johannes Thumshirn <[email protected]>
 +M:    Johannes Thumshirn <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Maintained
  F:    drivers/watchdog/mena21_wdt.c
  
  MEN CHAMELEON BUS (mcb)
 -M:    Johannes Thumshirn <[email protected]>
 -S:    Supported
 +M:    Johannes Thumshirn <[email protected]>
 +S:    Maintained
  F:    drivers/mcb/
  F:    include/linux/mcb.h
  
@@@ -6876,7 -6704,7 +6909,7 @@@ F:      drivers/net/ethernet/natsemi/natsemi
  NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER
  M:    Daniel Mack <[email protected]>
  S:    Maintained
 -L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  W:    http://www.native-instruments.com
  F:    sound/usb/caiaq/
  
@@@ -7164,17 -6992,6 +7197,17 @@@ T:    git git://git.rocketboards.org/linux
  S:    Maintained
  F:    arch/nios2/
  
 +NOKIA N900 POWER SUPPLY DRIVERS
 +M:    Pali Rohár <[email protected]>
 +S:    Maintained
 +F:    include/linux/power/bq2415x_charger.h
 +F:    include/linux/power/bq27x00_battery.h
 +F:    include/linux/power/isp1704_charger.h
 +F:    drivers/power/bq2415x_charger.c
 +F:    drivers/power/bq27x00_battery.c
 +F:    drivers/power/isp1704_charger.c
 +F:    drivers/power/rx51_battery.c
 +
  NTB DRIVER
  M:    Jon Mason <[email protected]>
  M:    Dave Jiang <[email protected]>
@@@ -7294,7 -7111,7 +7327,7 @@@ F:      arch/arm/mach-omap2/prm
  OMAP AUDIO SUPPORT
  M:    Peter Ujfalusi <[email protected]>
  M:    Jarkko Nikula <[email protected]>
 -L:    [email protected] (subscribers-only)
 +L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
  F:    sound/soc/omap/
@@@ -7589,16 -7406,13 +7622,16 @@@ S:   Maintaine
  F:    Documentation/mn10300/
  F:    arch/mn10300/
  
 -PARALLEL PORT SUPPORT
 +PARALLEL PORT SUBSYSTEM
 +M:    Sudip Mukherjee <[email protected]>
 +M:    Sudip Mukherjee <[email protected]>
  L:    [email protected] (subscribers-only)
 -S:    Orphan
 +S:    Maintained
  F:    drivers/parport/
  F:    include/linux/parport*.h
  F:    drivers/char/ppdev.c
  F:    include/uapi/linux/ppdev.h
 +F:    Documentation/parport*.txt
  
  PARAVIRT_OPS INTERFACE
  M:    Jeremy Fitzhardinge <[email protected]>
@@@ -7766,7 -7580,7 +7799,7 @@@ S:      Maintaine
  F:    drivers/pci/host/*rcar*
  
  PCI DRIVER FOR SAMSUNG EXYNOS
 -M:    Jingoo Han <jg1.han@samsung.com>
 +M:    Jingoo Han <jingoohan1@gmail.com>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
@@@ -7774,8 -7588,7 +7807,8 @@@ S:      Maintaine
  F:    drivers/pci/host/pci-exynos.c
  
  PCI DRIVER FOR SYNOPSIS DESIGNWARE
 -M:    Jingoo Han <[email protected]>
 +M:    Jingoo Han <[email protected]>
 +M:    Pratyush Anand <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/pci/host/*designware*
@@@ -7789,19 -7602,10 +7822,19 @@@ F:   Documentation/devicetree/bindings/pc
  F:    drivers/pci/host/pci-host-generic.c
  
  PCIE DRIVER FOR ST SPEAR13XX
 +M:    Pratyush Anand <[email protected]>
  L:    [email protected]
 -S:    Orphan
 +S:    Maintained
  F:    drivers/pci/host/*spear*
  
 +PCI MSI DRIVER FOR APPLIEDMICRO XGENE
 +M:    Duc Dang <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/xgene-pci-msi.txt
 +F:    drivers/pci/host/pci-xgene-msi.c
 +
  PCMCIA SUBSYSTEM
  P:    Linux PCMCIA Team
  L:    [email protected]
@@@ -7842,6 -7646,7 +7875,6 @@@ F:      kernel/delayacct.
  
  PERFORMANCE EVENTS SUBSYSTEM
  M:    Peter Zijlstra <[email protected]>
 -M:    Paul Mackerras <[email protected]>
  M:    Ingo Molnar <[email protected]>
  M:    Arnaldo Carvalho de Melo <[email protected]>
  L:    [email protected]
@@@ -7999,7 -7804,7 +8032,7 @@@ F:      include/linux/power_supply.
  F:    drivers/power/
  
  PNP SUPPORT
 -M:    Rafael J. Wysocki <[email protected]>
 +M:    "Rafael J. Wysocki" <[email protected]>
  S:    Maintained
  F:    drivers/pnp/
  
@@@ -8068,13 -7873,14 +8101,13 @@@ F:   drivers/net/wireless/prism54
  PS3 NETWORK SUPPORT
  M:    Geoff Levand <[email protected]>
  L:    [email protected]
 -L:    cbe-oss[email protected]
 +L:    linuxppc[email protected]
  S:    Maintained
  F:    drivers/net/ethernet/toshiba/ps3_gelic_net.*
  
  PS3 PLATFORM SUPPORT
  M:    Geoff Levand <[email protected]>
  L:    [email protected]
 -L:    [email protected]
  S:    Maintained
  F:    arch/powerpc/boot/ps3*
  F:    arch/powerpc/include/asm/lv1call.h
@@@ -8088,8 -7894,7 +8121,8 @@@ F:      sound/ppc/snd_ps3
  
  PS3VRAM DRIVER
  M:    Jim Paris <[email protected]>
 -L:    [email protected]
 +M:    Geoff Levand <[email protected]>
 +L:    [email protected]
  S:    Maintained
  F:    drivers/block/ps3vram.c
  
@@@ -8174,7 -7979,6 +8207,7 @@@ T:      git git://github.com/hzhuang1/linux.
  T:    git git://github.com/rjarzmik/linux.git
  S:    Maintained
  F:    arch/arm/mach-pxa/
 +F:    drivers/dma/pxa*
  F:    drivers/pcmcia/pxa2xx*
  F:    drivers/spi/spi-pxa2xx*
  F:    drivers/usb/gadget/udc/pxa2*
@@@ -8354,6 -8158,8 +8387,6 @@@ P:      rt2x00 projec
  M:    Stanislaw Gruszka <[email protected]>
  M:    Helmut Schaa <[email protected]>
  L:    [email protected]
 -L:    [email protected] (moderated for non-subscribers)
 -W:    http://rt2x00.serialmonkey.com/
  S:    Maintained
  F:    drivers/net/wireless/rt2x00/
  
@@@ -8363,12 -8169,6 +8396,6 @@@ S:     Maintaine
  F:    Documentation/blockdev/ramdisk.txt
  F:    drivers/block/brd.c
  
- PERSISTENT MEMORY DRIVER
- M:    Ross Zwisler <[email protected]>
- L:    [email protected]
- S:    Supported
- F:    drivers/block/pmem.c
  RANDOM NUMBER DRIVER
  M:    "Theodore Ts'o" <[email protected]>
  S:    Maintained
@@@ -8443,7 -8243,6 +8470,7 @@@ M:      Alessandro Zummo <a.zummo@towertech.
  M:    Alexandre Belloni <[email protected]>
  L:    [email protected]
  Q:    http://patchwork.ozlabs.org/project/rtc-linux/list/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git
  S:    Maintained
  F:    Documentation/rtc.txt
  F:    drivers/rtc/
@@@ -8739,25 -8538,19 +8766,25 @@@ S:   Supporte
  F:    sound/soc/samsung/
  
  SAMSUNG FRAMEBUFFER DRIVER
 -M:    Jingoo Han <jg1.han@samsung.com>
 +M:    Jingoo Han <jingoohan1@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/video/fbdev/s3c-fb.c
  
 -SAMSUNG MULTIFUNCTION DEVICE DRIVERS
 +SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS
  M:    Sangbeom Kim <[email protected]>
 +M:    Krzysztof Kozlowski <[email protected]>
  L:    [email protected]
 +L:    [email protected]
  S:    Supported
  F:    drivers/mfd/sec*.c
  F:    drivers/regulator/s2m*.c
  F:    drivers/regulator/s5m*.c
 +F:    drivers/clk/clk-s2mps11.c
 +F:    drivers/rtc/rtc-s5m.c
  F:    include/linux/mfd/samsung/
 +F:    Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
 +F:    Documentation/devicetree/bindings/mfd/s2mp*.txt
  
  SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS
  M:    Kyungmin Park <[email protected]>
@@@ -8987,7 -8780,6 +9014,7 @@@ S:      Supporte
  F:    kernel/seccomp.c
  F:    include/uapi/linux/seccomp.h
  F:    include/linux/seccomp.h
 +F:    tools/testing/selftests/seccomp/*
  K:    \bsecure_computing
  K:    \bTIF_SECCOMP\b
  
@@@ -9007,7 -8799,7 +9034,7 @@@ F:      drivers/mmc/host/sdhci-spear.
  
  SECURITY SUBSYSTEM
  M:    James Morris <[email protected]>
 -M:    Serge E. Hallyn <[email protected]>
 +M:    "Serge E. Hallyn" <[email protected]>
  L:    [email protected] (suggested Cc:)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git
  W:    http://kernsec.org/
@@@ -9045,19 -8837,16 +9072,19 @@@ F:   drivers/misc/phantom.
  F:    include/uapi/linux/phantom.h
  
  SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
 -M:    Jayamohan Kallickal <[email protected]>
 +M:    Jayamohan Kallickal <[email protected]>
 +M:    Minh Tran <[email protected]>
 +M:    John Soni Jose <[email protected]>
  L:    [email protected]
 -W:    http://www.emulex.com
 +W:    http://www.avagotech.com
  S:    Supported
  F:    drivers/scsi/be2iscsi/
  
 -SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
 -M:    Sathya Perla <[email protected]>
 -M:    Subbu Seetharaman <[email protected]>
 -M:    Ajit Khaparde <[email protected]>
 +Emulex 10Gbps NIC BE2, BE3-R, Lancer, Skyhawk-R DRIVER
 +M:    Sathya Perla <[email protected]>
 +M:    Ajit Khaparde <[email protected]>
 +M:    Padmanabh Ratnakar <[email protected]>
 +M:    Sriharsha Basavapatna <[email protected]>
  L:    [email protected]
  W:    http://www.emulex.com
  S:    Supported
@@@ -9227,7 -9016,7 +9254,7 @@@ F:      arch/arm/mach-davinci
  F:    drivers/i2c/busses/i2c-davinci.c
  
  TI DAVINCI SERIES MEDIA DRIVER
 -M:    Lad, Prabhakar <[email protected]>
 +M:    "Lad, Prabhakar" <[email protected]>
  L:    [email protected]
  W:    http://linuxtv.org/
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
@@@ -9237,7 -9026,7 +9264,7 @@@ F:      drivers/media/platform/davinci
  F:    include/media/davinci/
  
  TI AM437X VPFE DRIVER
 -M:    Lad, Prabhakar <[email protected]>
 +M:    "Lad, Prabhakar" <[email protected]>
  L:    [email protected]
  W:    http://linuxtv.org/
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
@@@ -9246,7 -9035,7 +9273,7 @@@ S:      Maintaine
  F:    drivers/media/platform/am437x/
  
  OV2659 OMNIVISION SENSOR DRIVER
 -M:    Lad, Prabhakar <[email protected]>
 +M:    "Lad, Prabhakar" <[email protected]>
  L:    [email protected]
  W:    http://linuxtv.org/
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
@@@ -9575,6 -9364,7 +9602,6 @@@ F:      drivers/net/ethernet/toshiba/spider_
  SPU FILE SYSTEM
  M:    Jeremy Kerr <[email protected]>
  L:    [email protected]
 -L:    [email protected]
  W:    http://www.ibm.com/developerworks/power/cell/
  S:    Supported
  F:    Documentation/filesystems/spufs.txt
@@@ -9713,15 -9503,6 +9740,15 @@@ M:    Forest Bond <forest@alittletooquiet.
  S:    Odd Fixes
  F:    drivers/staging/vt665?/
  
 +STAGING - WILC1000 WIFI DRIVER
 +M:    Johnny Kim <[email protected]>
 +M:    Rachel Kim <[email protected]>
 +M:    Dean Lee <[email protected]>
 +M:    Chris Park <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/staging/wilc1000/
 +
  STAGING - XGI Z7,Z9,Z11 PCI DISPLAY DRIVER
  M:    Arnaud Patard <[email protected]>
  S:    Odd Fixes
@@@ -9805,13 -9586,6 +9832,13 @@@ F:    arch/arc
  F:    Documentation/devicetree/bindings/arc/
  F:    drivers/tty/serial/arc_uart.c
  
 +SYSTEM CONFIGURATION (SYSCON)
 +M:    Lee Jones <[email protected]>
 +M:    Arnd Bergmann <[email protected]>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git
 +S:    Supported
 +F:    drivers/mfd/syscon.c
 +
  SYSV FILESYSTEM
  M:    Christoph Hellwig <[email protected]>
  S:    Maintained
@@@ -9820,7 -9594,7 +9847,7 @@@ F:      fs/sysv
  F:    include/linux/sysv_fs.h
  
  TARGET SUBSYSTEM
 -M:    Nicholas A. Bellinger <[email protected]>
 +M:    "Nicholas A. Bellinger" <[email protected]>
  L:    [email protected]
  L:    [email protected]
  W:    http://www.linux-iscsi.org
@@@ -9962,7 -9736,7 +9989,7 @@@ F:      include/linux/if_team.
  F:    include/uapi/linux/if_team.h
  
  TECHNOLOGIC SYSTEMS TS-5500 PLATFORM SUPPORT
 -M:    Savoir-faire Linux Inc. <[email protected]>
 +M:    "Savoir-faire Linux Inc." <[email protected]>
  S:    Maintained
  F:    arch/x86/platform/ts5500/
  
  S:    Maintained
  F:    drivers/net/ethernet/ti/netcp*
  
 +TI TAS571X FAMILY ASoC CODEC DRIVER
 +M:    Kevin Cernekee <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Odd Fixes
 +F:    sound/soc/codecs/tas571x*
 +
  TI TWL4030 SERIES SOC CODEC DRIVER
  M:    Peter Ujfalusi <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -10252,7 -10020,7 +10279,7 @@@ F:   include/linux/toshiba.
  F:    include/uapi/linux/toshiba.h
  
  TMIO MMC DRIVER
 -M:    Ian Molton <ian.molton@codethink.co.uk>
 +M:    Ian Molton <ian@mnementh.co.uk>
  L:    [email protected]
  S:    Maintained
  F:    drivers/mmc/host/tmio_mmc*
@@@ -10333,7 -10101,6 +10360,7 @@@ M:   Greg Kroah-Hartman <gregkh@linuxfoun
  M:    Jiri Slaby <[email protected]>
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
 +F:    Documentation/serial/
  F:    drivers/tty/
  F:    drivers/tty/serial/serial_core.c
  F:    include/linux/serial_core.h
@@@ -10391,15 -10158,11 +10418,15 @@@ S:        Maintaine
  F:    Documentation/filesystems/ubifs.txt
  F:    fs/ubifs/
  
 -UCLINUX (AND M68KNOMMU)
 +UCLINUX (M68KNOMMU AND COLDFIRE)
  M:    Greg Ungerer <[email protected]>
  W:    http://www.uclinux.org/
 +L:    [email protected]
  L:    [email protected]  (subscribers-only)
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git
  S:    Maintained
 +F:    arch/m68k/coldfire/
 +F:    arch/m68k/68*/
  F:    arch/m68k/*/*_no.*
  F:    arch/m68k/include/asm/*_no.*
  
@@@ -10733,13 -10496,6 +10760,13 @@@ S: Maintaine
  F:    Documentation/video4linux/zr364xx.txt
  F:    drivers/media/usb/zr364xx/
  
 +ULPI BUS
 +M:    Heikki Krogerus <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/usb/common/ulpi.c
 +F:    include/linux/ulpi/
 +
  USER-MODE LINUX (UML)
  M:    Jeff Dike <[email protected]>
  M:    Richard Weinberger <[email protected]>
@@@ -10792,12 -10548,6 +10819,12 @@@ F: drivers/vfio
  F:    include/linux/vfio.h
  F:    include/uapi/linux/vfio.h
  
 +VFIO PLATFORM DRIVER
 +M:    Baptiste Reynal <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/vfio/platform/
 +
  VIDEOBUF2 FRAMEWORK
  M:    Pawel Osciak <[email protected]>
  M:    Marek Szyprowski <[email protected]>
@@@ -10826,15 -10576,6 +10853,15 @@@ F: drivers/block/virtio_blk.
  F:    include/linux/virtio_*.h
  F:    include/uapi/linux/virtio_*.h
  
 +VIRTIO GPU DRIVER
 +M:    David Airlie <[email protected]>
 +M:    Gerd Hoffmann <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/gpu/drm/virtio/
 +F:    include/uapi/linux/virtio_gpu.h
 +
  VIRTIO HOST (VHOST)
  M:    "Michael S. Tsirkin" <[email protected]>
  L:    [email protected]
@@@ -10851,7 -10592,8 +10878,7 @@@ F:   drivers/virtio/virtio_input.
  F:    include/uapi/linux/virtio_input.h
  
  VIA RHINE NETWORK DRIVER
 -M:    Roger Luethi <[email protected]>
 -S:    Maintained
 +S:    Orphan
  F:    drivers/net/ethernet/via/via-rhine.c
  
  VIA SD/MMC CARD CONTROLLER DRIVER
@@@ -11157,7 -10899,7 +11184,7 @@@ M:   Andy Lutomirski <[email protected]
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/vdso
  S:    Maintained
 -F:    arch/x86/vdso/
 +F:    arch/x86/entry/vdso/
  
  XC2028/3028 TUNER DRIVER
  M:    Mauro Carvalho Chehab <[email protected]>
diff --combined arch/ia64/kernel/efi.c
index 47e962f7ed5ab2eb83149767f1104305396b9326,5f6be9dd69683a0d229a02f4bd12d2e618595634..caae3f4e4341a40d86f4014871c1ebe929a937ae
@@@ -464,6 -464,7 +464,6 @@@ efi_map_pal_code (void
                 GRANULEROUNDDOWN((unsigned long) pal_vaddr),
                 pte_val(pfn_pte(__pa(pal_vaddr) >> PAGE_SHIFT, PAGE_KERNEL)),
                 IA64_GRANULE_SHIFT);
 -      paravirt_dv_serialize_data();
        ia64_set_psr(psr);              /* restore psr */
  }
  
@@@ -1222,6 -1223,10 +1222,10 @@@ efi_initialize_iomem_resources(struct r
                                flags |= IORESOURCE_DISABLED;
                                break;
  
+                       case EFI_PERSISTENT_MEMORY:
+                               name = "Persistent Memory";
+                               break;
                        case EFI_RESERVED_TYPE:
                        case EFI_RUNTIME_SERVICES_CODE:
                        case EFI_RUNTIME_SERVICES_DATA:
diff --combined arch/x86/Kconfig
index 4fcf0ade7e9151336c755ef8d7ea51633113f399,62564ddf7f78e5f5694d17a5742a9cf52531dc48..d05a42357ef0f5d02e27e630292998d0eba019b2
@@@ -9,143 -9,141 +9,144 @@@ config 64BI
  config X86_32
        def_bool y
        depends on !64BIT
 -      select CLKSRC_I8253
 -      select HAVE_UID16
  
  config X86_64
        def_bool y
        depends on 64BIT
 -      select X86_DEV_DMA_OPS
 -      select ARCH_USE_CMPXCHG_LOCKREF
 -      select HAVE_LIVEPATCH
  
  ### Arch settings
  config X86
        def_bool y
 -      select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
 -      select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
 +      select ACPI_LEGACY_TABLES_LOOKUP        if ACPI
 +      select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
 +      select ANON_INODES
 +      select ARCH_CLOCKSOURCE_DATA
 +      select ARCH_DISCARD_MEMBLOCK
 +      select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
        select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
 +      select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_FAST_MULTIPLIER
        select ARCH_HAS_GCOV_PROFILE_ALL
+       select ARCH_HAS_PMEM_API
 +      select ARCH_HAS_SG_CHAIN
 +      select ARCH_HAVE_NMI_SAFE_CMPXCHG
 +      select ARCH_MIGHT_HAVE_ACPI_PDC         if ACPI
        select ARCH_MIGHT_HAVE_PC_PARPORT
        select ARCH_MIGHT_HAVE_PC_SERIO
 -      select HAVE_AOUT if X86_32
 -      select HAVE_UNSTABLE_SCHED_CLOCK
 -      select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
 -      select ARCH_SUPPORTS_INT128 if X86_64
 -      select HAVE_IDE
 -      select HAVE_OPROFILE
 -      select HAVE_PCSPKR_PLATFORM
 -      select HAVE_PERF_EVENTS
 -      select HAVE_IOREMAP_PROT
 -      select HAVE_KPROBES
 -      select HAVE_MEMBLOCK
 -      select HAVE_MEMBLOCK_NODE_MAP
 -      select ARCH_DISCARD_MEMBLOCK
 -      select ARCH_WANT_OPTIONAL_GPIOLIB
 +      select ARCH_SUPPORTS_ATOMIC_RMW
 +      select ARCH_SUPPORTS_INT128             if X86_64
 +      select ARCH_SUPPORTS_NUMA_BALANCING     if X86_64
 +      select ARCH_USE_BUILTIN_BSWAP
 +      select ARCH_USE_CMPXCHG_LOCKREF         if X86_64
 +      select ARCH_USE_QUEUED_RWLOCKS
 +      select ARCH_USE_QUEUED_SPINLOCKS
        select ARCH_WANT_FRAME_POINTERS
 -      select HAVE_DMA_ATTRS
 -      select HAVE_DMA_CONTIGUOUS
 -      select HAVE_KRETPROBES
 +      select ARCH_WANT_IPC_PARSE_VERSION      if X86_32
 +      select ARCH_WANT_OPTIONAL_GPIOLIB
 +      select BUILDTIME_EXTABLE_SORT
 +      select CLKEVT_I8253
 +      select CLKSRC_I8253                     if X86_32
 +      select CLOCKSOURCE_VALIDATE_LAST_CYCLE
 +      select CLOCKSOURCE_WATCHDOG
 +      select CLONE_BACKWARDS                  if X86_32
 +      select COMPAT_OLD_SIGACTION             if IA32_EMULATION
 +      select DCACHE_WORD_ACCESS
 +      select EDAC_ATOMIC_SCRUB
 +      select EDAC_SUPPORT
 +      select GENERIC_CLOCKEVENTS
 +      select GENERIC_CLOCKEVENTS_BROADCAST    if X86_64 || (X86_32 && X86_LOCAL_APIC)
 +      select GENERIC_CLOCKEVENTS_MIN_ADJUST
 +      select GENERIC_CMOS_UPDATE
 +      select GENERIC_CPU_AUTOPROBE
        select GENERIC_EARLY_IOREMAP
 -      select HAVE_OPTPROBES
 -      select HAVE_KPROBES_ON_FTRACE
 -      select HAVE_FTRACE_MCOUNT_RECORD
 -      select HAVE_FENTRY if X86_64
 +      select GENERIC_FIND_FIRST_BIT
 +      select GENERIC_IOMAP
 +      select GENERIC_IRQ_PROBE
 +      select GENERIC_IRQ_SHOW
 +      select GENERIC_PENDING_IRQ              if SMP
 +      select GENERIC_SMP_IDLE_THREAD
 +      select GENERIC_STRNCPY_FROM_USER
 +      select GENERIC_STRNLEN_USER
 +      select GENERIC_TIME_VSYSCALL
 +      select HAVE_ACPI_APEI                   if ACPI
 +      select HAVE_ACPI_APEI_NMI               if ACPI
 +      select HAVE_ALIGNED_STRUCT_PAGE         if SLUB
 +      select HAVE_AOUT                        if X86_32
 +      select HAVE_ARCH_AUDITSYSCALL
 +      select HAVE_ARCH_HUGE_VMAP              if X86_64 || X86_PAE
 +      select HAVE_ARCH_JUMP_LABEL
 +      select HAVE_ARCH_KASAN                  if X86_64 && SPARSEMEM_VMEMMAP
 +      select HAVE_ARCH_KGDB
 +      select HAVE_ARCH_KMEMCHECK
 +      select HAVE_ARCH_SECCOMP_FILTER
 +      select HAVE_ARCH_SOFT_DIRTY             if X86_64
 +      select HAVE_ARCH_TRACEHOOK
 +      select HAVE_ARCH_TRANSPARENT_HUGEPAGE
 +      select HAVE_BPF_JIT                     if X86_64
 +      select HAVE_CC_STACKPROTECTOR
 +      select HAVE_CMPXCHG_DOUBLE
 +      select HAVE_CMPXCHG_LOCAL
 +      select HAVE_CONTEXT_TRACKING            if X86_64
        select HAVE_C_RECORDMCOUNT
 +      select HAVE_DEBUG_KMEMLEAK
 +      select HAVE_DEBUG_STACKOVERFLOW
 +      select HAVE_DMA_API_DEBUG
 +      select HAVE_DMA_ATTRS
 +      select HAVE_DMA_CONTIGUOUS
        select HAVE_DYNAMIC_FTRACE
        select HAVE_DYNAMIC_FTRACE_WITH_REGS
 -      select HAVE_FUNCTION_TRACER
 -      select HAVE_FUNCTION_GRAPH_TRACER
 -      select HAVE_FUNCTION_GRAPH_FP_TEST
 -      select HAVE_SYSCALL_TRACEPOINTS
 -      select SYSCTL_EXCEPTION_TRACE
 -      select HAVE_KVM
 -      select HAVE_ARCH_KGDB
 -      select HAVE_ARCH_TRACEHOOK
 -      select HAVE_GENERIC_DMA_COHERENT if X86_32
        select HAVE_EFFICIENT_UNALIGNED_ACCESS
 -      select USER_STACKTRACE_SUPPORT
 -      select HAVE_REGS_AND_STACK_ACCESS_API
 -      select HAVE_DMA_API_DEBUG
 -      select HAVE_KERNEL_GZIP
 +      select HAVE_FENTRY                      if X86_64
 +      select HAVE_FTRACE_MCOUNT_RECORD
 +      select HAVE_FUNCTION_GRAPH_FP_TEST
 +      select HAVE_FUNCTION_GRAPH_TRACER
 +      select HAVE_FUNCTION_TRACER
 +      select HAVE_GENERIC_DMA_COHERENT        if X86_32
 +      select HAVE_HW_BREAKPOINT
 +      select HAVE_IDE
 +      select HAVE_IOREMAP_PROT
 +      select HAVE_IRQ_EXIT_ON_IRQ_STACK       if X86_64
 +      select HAVE_IRQ_TIME_ACCOUNTING
        select HAVE_KERNEL_BZIP2
 +      select HAVE_KERNEL_GZIP
 +      select HAVE_KERNEL_LZ4
        select HAVE_KERNEL_LZMA
 -      select HAVE_KERNEL_XZ
        select HAVE_KERNEL_LZO
 -      select HAVE_KERNEL_LZ4
 -      select HAVE_HW_BREAKPOINT
 +      select HAVE_KERNEL_XZ
 +      select HAVE_KPROBES
 +      select HAVE_KPROBES_ON_FTRACE
 +      select HAVE_KRETPROBES
 +      select HAVE_KVM
 +      select HAVE_LIVEPATCH                   if X86_64
 +      select HAVE_MEMBLOCK
 +      select HAVE_MEMBLOCK_NODE_MAP
        select HAVE_MIXED_BREAKPOINTS_REGS
 -      select PERF_EVENTS
 +      select HAVE_OPROFILE
 +      select HAVE_OPTPROBES
 +      select HAVE_PCSPKR_PLATFORM
 +      select HAVE_PERF_EVENTS
        select HAVE_PERF_EVENTS_NMI
        select HAVE_PERF_REGS
        select HAVE_PERF_USER_STACK_DUMP
 -      select HAVE_DEBUG_KMEMLEAK
 -      select ANON_INODES
 -      select HAVE_ALIGNED_STRUCT_PAGE if SLUB
 -      select HAVE_CMPXCHG_LOCAL
 -      select HAVE_CMPXCHG_DOUBLE
 -      select HAVE_ARCH_KMEMCHECK
 -      select HAVE_ARCH_KASAN if X86_64 && SPARSEMEM_VMEMMAP
 +      select HAVE_REGS_AND_STACK_ACCESS_API
 +      select HAVE_SYSCALL_TRACEPOINTS
 +      select HAVE_UID16                       if X86_32
 +      select HAVE_UNSTABLE_SCHED_CLOCK
        select HAVE_USER_RETURN_NOTIFIER
 -      select ARCH_HAS_ELF_RANDOMIZE
 -      select HAVE_ARCH_JUMP_LABEL
 -      select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 -      select SPARSE_IRQ
 -      select GENERIC_FIND_FIRST_BIT
 -      select GENERIC_IRQ_PROBE
 -      select GENERIC_PENDING_IRQ if SMP
 -      select GENERIC_IRQ_SHOW
 -      select GENERIC_CLOCKEVENTS_MIN_ADJUST
        select IRQ_FORCED_THREADING
 -      select HAVE_BPF_JIT if X86_64
 -      select HAVE_ARCH_TRANSPARENT_HUGEPAGE
 -      select HAVE_ARCH_HUGE_VMAP if X86_64 || (X86_32 && X86_PAE)
 -      select ARCH_HAS_SG_CHAIN
 -      select CLKEVT_I8253
 -      select ARCH_HAVE_NMI_SAFE_CMPXCHG
 -      select GENERIC_IOMAP
 -      select DCACHE_WORD_ACCESS
 -      select GENERIC_SMP_IDLE_THREAD
 -      select ARCH_WANT_IPC_PARSE_VERSION if X86_32
 -      select HAVE_ARCH_SECCOMP_FILTER
 -      select BUILDTIME_EXTABLE_SORT
 -      select GENERIC_CMOS_UPDATE
 -      select HAVE_ARCH_SOFT_DIRTY if X86_64
 -      select CLOCKSOURCE_WATCHDOG
 -      select GENERIC_CLOCKEVENTS
 -      select ARCH_CLOCKSOURCE_DATA
 -      select CLOCKSOURCE_VALIDATE_LAST_CYCLE
 -      select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC)
 -      select GENERIC_TIME_VSYSCALL
 -      select GENERIC_STRNCPY_FROM_USER
 -      select GENERIC_STRNLEN_USER
 -      select HAVE_CONTEXT_TRACKING if X86_64
 -      select HAVE_IRQ_TIME_ACCOUNTING
 -      select VIRT_TO_BUS
 -      select MODULES_USE_ELF_REL if X86_32
 -      select MODULES_USE_ELF_RELA if X86_64
 -      select CLONE_BACKWARDS if X86_32
 -      select ARCH_USE_BUILTIN_BSWAP
 -      select ARCH_USE_QUEUE_RWLOCK
 -      select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION
 -      select OLD_SIGACTION if X86_32
 -      select COMPAT_OLD_SIGACTION if IA32_EMULATION
 +      select MODULES_USE_ELF_RELA             if X86_64
 +      select MODULES_USE_ELF_REL              if X86_32
 +      select OLD_SIGACTION                    if X86_32
 +      select OLD_SIGSUSPEND3                  if X86_32 || IA32_EMULATION
 +      select PERF_EVENTS
        select RTC_LIB
 -      select HAVE_DEBUG_STACKOVERFLOW
 -      select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64
 -      select HAVE_CC_STACKPROTECTOR
 -      select GENERIC_CPU_AUTOPROBE
 -      select HAVE_ARCH_AUDITSYSCALL
 -      select ARCH_SUPPORTS_ATOMIC_RMW
 -      select HAVE_ACPI_APEI if ACPI
 -      select HAVE_ACPI_APEI_NMI if ACPI
 -      select ACPI_LEGACY_TABLES_LOOKUP if ACPI
 -      select X86_FEATURE_NAMES if PROC_FS
 +      select SPARSE_IRQ
        select SRCU
 +      select SYSCTL_EXCEPTION_TRACE
 +      select USER_STACKTRACE_SUPPORT
 +      select VIRT_TO_BUS
 +      select X86_DEV_DMA_OPS                  if X86_64
 +      select X86_FEATURE_NAMES                if PROC_FS
  
  config INSTRUCTION_DECODER
        def_bool y
@@@ -263,6 -261,10 +264,6 @@@ config X86_64_SM
        def_bool y
        depends on X86_64 && SMP
  
 -config X86_HT
 -      def_bool y
 -      depends on SMP
 -
  config X86_32_LAZY_GS
        def_bool y
        depends on X86_32 && !CC_STACKPROTECTOR
@@@ -340,7 -342,7 +341,7 @@@ config X86_FEATURE_NAME
  
  config X86_X2APIC
        bool "Support x2apic"
 -      depends on X86_LOCAL_APIC && X86_64 && IRQ_REMAP
 +      depends on X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST)
        ---help---
          This enables x2apic support on CPUs that have this feature.
  
@@@ -440,7 -442,6 +441,7 @@@ config X86_U
        depends on X86_EXTENDED_PLATFORM
        depends on NUMA
        depends on X86_X2APIC
 +      depends on PCI
        ---help---
          This option is needed in order to support SGI Ultraviolet systems.
          If you don't have one of these, you should say N here.
@@@ -466,6 -467,7 +467,6 @@@ config X86_INTEL_C
        select X86_REBOOTFIXUPS
        select OF
        select OF_EARLY_FLATTREE
 -      select IRQ_DOMAIN
        ---help---
          Select for the Intel CE media processor (CE4100) SOC.
          This option compiles in support for the CE4100 SOC for settop
@@@ -665,7 -667,7 +666,7 @@@ config PARAVIRT_DEBU
  config PARAVIRT_SPINLOCKS
        bool "Paravirtualization layer for spinlocks"
        depends on PARAVIRT && SMP
 -      select UNINLINE_SPIN_UNLOCK
 +      select UNINLINE_SPIN_UNLOCK if !QUEUED_SPINLOCKS
        ---help---
          Paravirtualized spinlocks allow a pvops backend to replace the
          spinlock implementation with something virtualization-friendly
@@@ -850,12 -852,11 +851,12 @@@ config NR_CPU
        default "1" if !SMP
        default "8192" if MAXSMP
        default "32" if SMP && X86_BIGSMP
 -      default "8" if SMP
 +      default "8" if SMP && X86_32
 +      default "64" if SMP
        ---help---
          This allows you to specify the maximum number of CPUs which this
          kernel will support.  If CPUMASK_OFFSTACK is enabled, the maximum
 -        supported value is 4096, otherwise the maximum value is 512.  The
 +        supported value is 8192, otherwise the maximum value is 512.  The
          minimum value which makes sense is 2.
  
          This is purely to save memory - each supported CPU adds
  
  config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
 -      depends on X86_HT
 +      depends on SMP
        ---help---
          SMT scheduler support improves the CPU scheduler's decision making
          when dealing with Intel Pentium 4 chips with HyperThreading at a
  config SCHED_MC
        def_bool y
        prompt "Multi-core scheduler support"
 -      depends on X86_HT
 +      depends on SMP
        ---help---
          Multi-core scheduler support improves the CPU scheduler's decision
          making when dealing with multi-core CPU chips at a cost of slightly
@@@ -914,12 -915,12 +915,12 @@@ config X86_UP_IOAPI
  config X86_LOCAL_APIC
        def_bool y
        depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI
 -      select GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
 +      select IRQ_DOMAIN_HIERARCHY
 +      select PCI_MSI_IRQ_DOMAIN if PCI_MSI
  
  config X86_IO_APIC
        def_bool y
        depends on X86_LOCAL_APIC || X86_UP_IOAPIC
 -      select IRQ_DOMAIN
  
  config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
        bool "Reroute for broken boot IRQs"
@@@ -1055,19 -1056,24 +1056,19 @@@ config TOSHIB
          Say N otherwise.
  
  config I8K
 -      tristate "Dell laptop support"
 +      tristate "Dell i8k legacy laptop support"
        select HWMON
 +      select SENSORS_DELL_SMM
        ---help---
 -        This adds a driver to safely access the System Management Mode
 -        of the CPU on the Dell Inspiron 8000. The System Management Mode
 -        is used to read cpu temperature and cooling fan status and to
 -        control the fans on the I8K portables.
 -
 -        This driver has been tested only on the Inspiron 8000 but it may
 -        also work with other Dell laptops. You can force loading on other
 -        models by passing the parameter `force=1' to the module. Use at
 -        your own risk.
 -
 -        For information on utilities to make use of this driver see the
 -        I8K Linux utilities web site at:
 -        <http://people.debian.org/~dz/i8k/>
 -
 -        Say Y if you intend to run this kernel on a Dell Inspiron 8000.
 +        This option enables legacy /proc/i8k userspace interface in hwmon
 +        dell-smm-hwmon driver. Character file /proc/i8k reports bios version,
 +        temperature and allows controlling fan speeds of Dell laptops via
 +        System Management Mode. For old Dell laptops (like Dell Inspiron 8000)
 +        it reports also power and hotkey status. For fan speed control is
 +        needed userspace package i8kutils.
 +
 +        Say Y if you intend to run this kernel on old Dell laptops or want to
 +        use userspace package i8kutils.
          Say N otherwise.
  
  config X86_REBOOTFIXUPS
@@@ -1419,6 -1425,9 +1420,9 @@@ source "mm/Kconfig
  
  config X86_PMEM_LEGACY
        bool "Support non-standard NVDIMMs and ADR protected memory"
+       depends on PHYS_ADDR_T_64BIT
+       depends on BLK_DEV
+       select LIBNVDIMM
        help
          Treat memory marked using the non-standard e820 type of 12 as used
          by the Intel Sandy Bridge-EP reference BIOS as protected memory.
index b6f7457d12e41f338832ad2fbf8e0ad83c55fa5e,ec23bb753a3eb2723e0ea9b6b074359369a50212..9bf3ea14b9f0a2a814c2eb813939786eadb1de5b
@@@ -4,11 -4,12 +4,12 @@@
  /* Caches aren't brain-dead on the intel. */
  #include <asm-generic/cacheflush.h>
  #include <asm/special_insns.h>
+ #include <asm/uaccess.h>
  
  /*
   * The set_memory_* API can be used to change various attributes of a virtual
   * address range. The attributes include:
 - * Cachability   : UnCached, WriteCombining, WriteBack
 + * Cachability   : UnCached, WriteCombining, WriteThrough, WriteBack
   * Executability : eXeutable, NoteXecutable
   * Read/Write    : ReadOnly, ReadWrite
   * Presence      : NotPresent
  
  int _set_memory_uc(unsigned long addr, int numpages);
  int _set_memory_wc(unsigned long addr, int numpages);
 +int _set_memory_wt(unsigned long addr, int numpages);
  int _set_memory_wb(unsigned long addr, int numpages);
  int set_memory_uc(unsigned long addr, int numpages);
  int set_memory_wc(unsigned long addr, int numpages);
 +int set_memory_wt(unsigned long addr, int numpages);
  int set_memory_wb(unsigned long addr, int numpages);
  int set_memory_x(unsigned long addr, int numpages);
  int set_memory_nx(unsigned long addr, int numpages);
@@@ -50,12 -49,10 +51,12 @@@ int set_memory_4k(unsigned long addr, i
  
  int set_memory_array_uc(unsigned long *addr, int addrinarray);
  int set_memory_array_wc(unsigned long *addr, int addrinarray);
 +int set_memory_array_wt(unsigned long *addr, int addrinarray);
  int set_memory_array_wb(unsigned long *addr, int addrinarray);
  
  int set_pages_array_uc(struct page **pages, int addrinarray);
  int set_pages_array_wc(struct page **pages, int addrinarray);
 +int set_pages_array_wt(struct page **pages, int addrinarray);
  int set_pages_array_wb(struct page **pages, int addrinarray);
  
  /*
@@@ -108,4 -105,75 +109,75 @@@ static inline int rodata_test(void
  }
  #endif
  
+ #ifdef ARCH_HAS_NOCACHE_UACCESS
+ /**
+  * arch_memcpy_to_pmem - copy data to persistent memory
+  * @dst: destination buffer for the copy
+  * @src: source buffer for the copy
+  * @n: length of the copy in bytes
+  *
+  * Copy data to persistent memory media via non-temporal stores so that
+  * a subsequent arch_wmb_pmem() can flush cpu and memory controller
+  * write buffers to guarantee durability.
+  */
+ static inline void arch_memcpy_to_pmem(void __pmem *dst, const void *src,
+               size_t n)
+ {
+       int unwritten;
+       /*
+        * We are copying between two kernel buffers, if
+        * __copy_from_user_inatomic_nocache() returns an error (page
+        * fault) we would have already reported a general protection fault
+        * before the WARN+BUG.
+        */
+       unwritten = __copy_from_user_inatomic_nocache((void __force *) dst,
+                       (void __user *) src, n);
+       if (WARN(unwritten, "%s: fault copying %p <- %p unwritten: %d\n",
+                               __func__, dst, src, unwritten))
+               BUG();
+ }
+ /**
+  * arch_wmb_pmem - synchronize writes to persistent memory
+  *
+  * After a series of arch_memcpy_to_pmem() operations this drains data
+  * from cpu write buffers and any platform (memory controller) buffers
+  * to ensure that written data is durable on persistent memory media.
+  */
+ static inline void arch_wmb_pmem(void)
+ {
+       /*
+        * wmb() to 'sfence' all previous writes such that they are
+        * architecturally visible to 'pcommit'.  Note, that we've
+        * already arranged for pmem writes to avoid the cache via
+        * arch_memcpy_to_pmem().
+        */
+       wmb();
+       pcommit_sfence();
+ }
+ static inline bool __arch_has_wmb_pmem(void)
+ {
+ #ifdef CONFIG_X86_64
+       /*
+        * We require that wmb() be an 'sfence', that is only guaranteed on
+        * 64-bit builds
+        */
+       return static_cpu_has(X86_FEATURE_PCOMMIT);
+ #else
+       return false;
+ #endif
+ }
+ #else /* ARCH_HAS_NOCACHE_UACCESS i.e. ARCH=um */
+ extern void arch_memcpy_to_pmem(void __pmem *dst, const void *src, size_t n);
+ extern void arch_wmb_pmem(void);
+ static inline bool __arch_has_wmb_pmem(void)
+ {
+       return false;
+ }
+ #endif
  #endif /* _ASM_X86_CACHEFLUSH_H */
index 83ec9b1d77cc17eecb4281118290bbb278ecc273,c60c3f3b018349d2fac20caca5688614eb2916f5..cc9c61bc1abed1a661b88410512cb1e34d7ea8ae
    */
  
  #define ARCH_HAS_IOREMAP_WC
 +#define ARCH_HAS_IOREMAP_WT
  
  #include <linux/string.h>
  #include <linux/compiler.h>
  #include <asm/page.h>
  #include <asm/early_ioremap.h>
 +#include <asm/pgtable_types.h>
  
  #define build_mmio_read(name, size, type, reg, barrier) \
  static inline type name(const volatile void __iomem *addr) \
@@@ -179,7 -177,6 +179,7 @@@ static inline unsigned int isa_virt_to_
   * look at pci_iomap().
   */
  extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
 +extern void __iomem *ioremap_uc(resource_size_t offset, unsigned long size);
  extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
  extern void __iomem *ioremap_prot(resource_size_t offset, unsigned long size,
                                unsigned long prot_val);
@@@ -200,6 -197,8 +200,6 @@@ extern void set_iounmap_nonlazy(void)
  
  #include <asm-generic/iomap.h>
  
 -#include <linux/vmalloc.h>
 -
  /*
   * Convert a virtual cached pointer to an uncached pointer
   */
@@@ -248,6 -247,12 +248,12 @@@ static inline void flush_write_buffers(
  #endif
  }
  
+ static inline void __pmem *arch_memremap_pmem(resource_size_t offset,
+       unsigned long size)
+ {
+       return (void __force __pmem *) ioremap_cache(offset, size);
+ }
  #endif /* __KERNEL__ */
  
  extern void native_io_delay(void);
@@@ -321,7 -326,6 +327,7 @@@ extern void unxlate_dev_mem_ptr(phys_ad
  extern int ioremap_change_attr(unsigned long vaddr, unsigned long size,
                                enum page_cache_mode pcm);
  extern void __iomem *ioremap_wc(resource_size_t offset, unsigned long size);
 +extern void __iomem *ioremap_wt(resource_size_t offset, unsigned long size);
  
  extern bool is_early_ioremap_ptep(pte_t *ptep);
  
@@@ -340,9 -344,6 +346,9 @@@ extern bool xen_biovec_phys_mergeable(c
  #define IO_SPACE_LIMIT 0xffff
  
  #ifdef CONFIG_MTRR
 +extern int __must_check arch_phys_wc_index(int handle);
 +#define arch_phys_wc_index arch_phys_wc_index
 +
  extern int __must_check arch_phys_wc_add(unsigned long base,
                                         unsigned long size);
  extern void arch_phys_wc_del(int handle);
diff --combined arch/x86/kernel/e820.c
index c8dda42cb6a326a950a50f81335272354f4bf634,c857d53269ddf41292d3fb254a7a9dfcc92fc077..a102564d08eb3dd6157fab6b7af8fcf0da4d7c72
@@@ -149,6 -149,7 +149,7 @@@ static void __init e820_print_type(u32 
        case E820_UNUSABLE:
                printk(KERN_CONT "unusable");
                break;
+       case E820_PMEM:
        case E820_PRAM:
                printk(KERN_CONT "persistent (type %u)", type);
                break;
@@@ -918,11 -919,32 +919,32 @@@ static inline const char *e820_type_to_
        case E820_ACPI: return "ACPI Tables";
        case E820_NVS:  return "ACPI Non-volatile Storage";
        case E820_UNUSABLE:     return "Unusable memory";
-       case E820_PRAM: return "Persistent RAM";
+       case E820_PRAM: return "Persistent Memory (legacy)";
+       case E820_PMEM: return "Persistent Memory";
        default:        return "reserved";
        }
  }
  
+ static bool do_mark_busy(u32 type, struct resource *res)
+ {
+       /* this is the legacy bios/dos rom-shadow + mmio region */
+       if (res->start < (1ULL<<20))
+               return true;
+       /*
+        * Treat persistent memory like device memory, i.e. reserve it
+        * for exclusive use of a driver
+        */
+       switch (type) {
+       case E820_RESERVED:
+       case E820_PRAM:
+       case E820_PMEM:
+               return false;
+       default:
+               return true;
+       }
+ }
  /*
   * Mark e820 reserved areas as busy for the resource manager.
   */
@@@ -952,9 -974,7 +974,7 @@@ void __init e820_reserve_resources(void
                 * pci device BAR resource and insert them later in
                 * pcibios_resource_survey()
                 */
-               if (((e820.map[i].type != E820_RESERVED) &&
-                    (e820.map[i].type != E820_PRAM)) ||
-                    res->start < (1ULL<<20)) {
+               if (do_mark_busy(e820.map[i].type, res)) {
                        res->flags |= IORESOURCE_BUSY;
                        insert_resource(&iomem_resource, res);
                }
@@@ -1123,8 -1143,7 +1143,8 @@@ void __init memblock_find_dma_reserve(v
                nr_pages += end_pfn - start_pfn;
        }
  
 -      for_each_free_mem_range(u, NUMA_NO_NODE, &start, &end, NULL) {
 +      for_each_free_mem_range(u, NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end,
 +                              NULL) {
                start_pfn = min_t(unsigned long, PFN_UP(start), MAX_DMA_PFN);
                end_pfn = min_t(unsigned long, PFN_DOWN(end), MAX_DMA_PFN);
                if (start_pfn < end_pfn)
index c1c382c58c60d58c3ea7a93e09b5f2e04112c6d8,fe01ae37a2a43103a1266156ec8112e1ae24c008..cfba30f273921b302d03883be593d77d6a3f1fe7
@@@ -117,27 -117,6 +117,27 @@@ void efi_get_time(struct timespec *now
        now->tv_nsec = 0;
  }
  
 +void __init efi_find_mirror(void)
 +{
 +      void *p;
 +      u64 mirror_size = 0, total_size = 0;
 +
 +      for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 +              efi_memory_desc_t *md = p;
 +              unsigned long long start = md->phys_addr;
 +              unsigned long long size = md->num_pages << EFI_PAGE_SHIFT;
 +
 +              total_size += size;
 +              if (md->attribute & EFI_MEMORY_MORE_RELIABLE) {
 +                      memblock_mark_mirror(start, size);
 +                      mirror_size += size;
 +              }
 +      }
 +      if (mirror_size)
 +              pr_info("Memory: %lldM/%lldM mirrored memory\n",
 +                      mirror_size>>20, total_size>>20);
 +}
 +
  /*
   * Tell the kernel about the EFI memory map.  This might include
   * more than the max 128 entries that can fit in the e820 legacy
@@@ -174,6 -153,9 +174,9 @@@ static void __init do_add_efi_memmap(vo
                case EFI_UNUSABLE_MEMORY:
                        e820_type = E820_UNUSABLE;
                        break;
+               case EFI_PERSISTENT_MEMORY:
+                       e820_type = E820_PMEM;
+                       break;
                default:
                        /*
                         * EFI_RESERVED_TYPE EFI_RUNTIME_SERVICES_CODE
@@@ -522,8 -504,6 +525,8 @@@ void __init efi_init(void
  
        if (efi_enabled(EFI_DBG))
                print_efi_memmap();
 +
 +      efi_esrt_init();
  }
  
  void __init efi_late_init(void)
diff --combined drivers/Makefile
index 9a02fb7c5106a61e53f5b000854f5dd6bbf7d4e3,692adf6590281d7dcd3d875d2986c3b09514f9b7..b64b49f6e01bfd97dcff3e63dd06dd25d295d2df
@@@ -64,6 -64,7 +64,7 @@@ obj-$(CONFIG_FB_INTEL)          += vide
  
  obj-$(CONFIG_PARPORT)         += parport/
  obj-y                         += base/ block/ misc/ mfd/ nfc/
+ obj-$(CONFIG_LIBNVDIMM)               += nvdimm/
  obj-$(CONFIG_DMA_SHARED_BUFFER) += dma-buf/
  obj-$(CONFIG_NUBUS)           += nubus/
  obj-y                         += macintosh/
@@@ -98,6 -99,7 +99,6 @@@ obj-$(CONFIG_USB_GADGET)      += usb
  obj-$(CONFIG_SERIO)           += input/serio/
  obj-$(CONFIG_GAMEPORT)                += input/gameport/
  obj-$(CONFIG_INPUT)           += input/
 -obj-$(CONFIG_I2O)             += message/
  obj-$(CONFIG_RTC_LIB)         += rtc/
  obj-y                         += i2c/ media/
  obj-$(CONFIG_PPS)             += pps/
diff --combined drivers/acpi/Kconfig
index 35da507411a0ae90b112538152fbf5569fb65b45,9c43ae301300e3ec81b16f287d294f40144dcc0c..f15db002be8ec238dabac8114e862b8ec140255a
@@@ -54,9 -54,6 +54,9 @@@ config ACPI_GENERIC_GS
  config ACPI_SYSTEM_POWER_STATES_SUPPORT
        bool
  
 +config ACPI_CCA_REQUIRED
 +      bool
 +
  config ACPI_SLEEP
        bool
        depends on SUSPEND || HIBERNATION
@@@ -65,7 -62,7 +65,7 @@@
  
  config ACPI_PROCFS_POWER
        bool "Deprecated power /proc/acpi directories"
 -      depends on PROC_FS
 +      depends on X86 && PROC_FS
        help
          For backwards compatibility, this option allows
            deprecated power /proc/acpi/ directories to exist, even when
@@@ -386,6 -383,32 +386,32 @@@ config ACPI_REDUCED_HARDWARE_ONL
  
          If you are unsure what to do, do not enable this option.
  
+ config ACPI_NFIT
+       tristate "ACPI NVDIMM Firmware Interface Table (NFIT)"
+       depends on PHYS_ADDR_T_64BIT
+       depends on BLK_DEV
+       select LIBNVDIMM
+       help
+         Infrastructure to probe ACPI 6 compliant platforms for
+         NVDIMMs (NFIT) and register a libnvdimm device tree.  In
+         addition to storage devices this also enables libnvdimm to pass
+         ACPI._DSM messages for platform/dimm configuration.
+         To compile this driver as a module, choose M here:
+         the module will be called nfit.
+ config ACPI_NFIT_DEBUG
+       bool "NFIT DSM debug"
+       depends on ACPI_NFIT
+       depends on DYNAMIC_DEBUG
+       default n
+       help
+         Enabling this option causes the nfit driver to dump the
+         input and output buffers of _DSM operations on the ACPI0012
+         device and its children.  This can be very verbose, so leave
+         it disabled unless you are debugging a hardware / firmware
+         issue.
  source "drivers/acpi/apei/Kconfig"
  
  config ACPI_EXTLOG
diff --combined drivers/acpi/Makefile
index 73d840bef455c9e512eb04539f5a5668c9ec9182,f7e9c92ccdcb4f212fda3a01e013de3af9eb8cf0..8321430d7f24a3de2693982c85d4af5c9a71e706
@@@ -52,6 -52,9 +52,6 @@@ acpi-$(CONFIG_X86)            += acpi_cmos_rtc.
  acpi-$(CONFIG_DEBUG_FS)               += debugfs.o
  acpi-$(CONFIG_ACPI_NUMA)      += numa.o
  acpi-$(CONFIG_ACPI_PROCFS_POWER) += cm_sbs.o
 -ifdef CONFIG_ACPI_VIDEO
 -acpi-y                                += video_detect.o
 -endif
  acpi-y                                += acpi_lpat.o
  acpi-$(CONFIG_ACPI_GENERIC_GSI) += gsi.o
  
@@@ -68,6 -71,7 +68,7 @@@ obj-$(CONFIG_ACPI_PCI_SLOT)   += pci_slot
  obj-$(CONFIG_ACPI_PROCESSOR)  += processor.o
  obj-y                         += container.o
  obj-$(CONFIG_ACPI_THERMAL)    += thermal.o
+ obj-$(CONFIG_ACPI_NFIT)               += nfit.o
  obj-y                         += acpi_memhotplug.o
  obj-$(CONFIG_ACPI_HOTPLUG_IOAPIC) += ioapic.o
  obj-$(CONFIG_ACPI_BATTERY)    += battery.o
@@@ -92,5 -96,3 +93,5 @@@ obj-$(CONFIG_ACPI_EXTLOG)     += acpi_extlo
  obj-$(CONFIG_PMIC_OPREGION)   += pmic/intel_pmic.o
  obj-$(CONFIG_CRC_PMIC_OPREGION) += pmic/intel_pmic_crc.o
  obj-$(CONFIG_XPOWER_PMIC_OPREGION) += pmic/intel_pmic_xpower.o
 +
 +video-objs                    += acpi_video.o video_detect.o
diff --combined fs/block_dev.c
index f04c873a7365c1b50c88cf7116135597213d64bb,054ef1bbb821b403f47ab8bd02c7960dac73f6ae..b155d32db76633bc88d1904546f803d2272db179
@@@ -14,7 -14,6 +14,7 @@@
  #include <linux/device_cgroup.h>
  #include <linux/highmem.h>
  #include <linux/blkdev.h>
 +#include <linux/backing-dev.h>
  #include <linux/module.h>
  #include <linux/blkpg.h>
  #include <linux/magic.h>
@@@ -377,7 -376,7 +377,7 @@@ int bdev_read_page(struct block_device 
                        struct page *page)
  {
        const struct block_device_operations *ops = bdev->bd_disk->fops;
-       if (!ops->rw_page)
+       if (!ops->rw_page || bdev_get_integrity(bdev))
                return -EOPNOTSUPP;
        return ops->rw_page(bdev, sector + get_start_sect(bdev), page, READ);
  }
@@@ -408,7 -407,7 +408,7 @@@ int bdev_write_page(struct block_devic
        int result;
        int rw = (wbc->sync_mode == WB_SYNC_ALL) ? WRITE_SYNC : WRITE;
        const struct block_device_operations *ops = bdev->bd_disk->fops;
-       if (!ops->rw_page)
+       if (!ops->rw_page || bdev_get_integrity(bdev))
                return -EOPNOTSUPP;
        set_page_writeback(page);
        result = ops->rw_page(bdev, sector + get_start_sect(bdev), page, rw);
@@@ -547,8 -546,7 +547,8 @@@ static struct file_system_type bd_type 
        .kill_sb        = kill_anon_super,
  };
  
 -static struct super_block *blockdev_superblock __read_mostly;
 +struct super_block *blockdev_superblock __read_mostly;
 +EXPORT_SYMBOL_GPL(blockdev_superblock);
  
  void __init bdev_cache_init(void)
  {
@@@ -689,6 -687,11 +689,6 @@@ static struct block_device *bd_acquire(
        return bdev;
  }
  
 -int sb_is_blkdev_sb(struct super_block *sb)
 -{
 -      return sb == blockdev_superblock;
 -}
 -
  /* Call when you free inode */
  
  void bd_forget(struct inode *inode)
diff --combined include/linux/acpi.h
index c187817471fb58fe7fdd59431d57d1911a4b2d5a,1b3bbb11d11c2be754efe606613b69c9333f6d04..1618cdfb38c7b8e312f4a39b412593d4c480bc07
@@@ -158,16 -158,6 +158,16 @@@ typedef u32 phys_cpuid_t
  #define PHYS_CPUID_INVALID (phys_cpuid_t)(-1)
  #endif
  
 +static inline bool invalid_logical_cpuid(u32 cpuid)
 +{
 +      return (int)cpuid < 0;
 +}
 +
 +static inline bool invalid_phys_cpuid(phys_cpuid_t phys_id)
 +{
 +      return phys_id == PHYS_CPUID_INVALID;
 +}
 +
  #ifdef CONFIG_ACPI_HOTPLUG_CPU
  /* Arch dependent functions for cpu hotplug support */
  int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu);
@@@ -253,16 -243,59 +253,21 @@@ extern bool wmi_has_guid(const char *gu
  #define ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VENDOR                0x0400
  #define ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VIDEO         0x0800
  
 -#if defined(CONFIG_ACPI_VIDEO) || defined(CONFIG_ACPI_VIDEO_MODULE)
 -
 -extern long acpi_video_get_capabilities(acpi_handle graphics_dev_handle);
 +extern char acpi_video_backlight_string[];
  extern long acpi_is_video_device(acpi_handle handle);
 -extern void acpi_video_dmi_promote_vendor(void);
 -extern void acpi_video_dmi_demote_vendor(void);
 -extern int acpi_video_backlight_support(void);
 -extern int acpi_video_display_switch_support(void);
 -
 -#else
 -
 -static inline long acpi_video_get_capabilities(acpi_handle graphics_dev_handle)
 -{
 -      return 0;
 -}
 -
 -static inline long acpi_is_video_device(acpi_handle handle)
 -{
 -      return 0;
 -}
 -
 -static inline void acpi_video_dmi_promote_vendor(void)
 -{
 -}
 -
 -static inline void acpi_video_dmi_demote_vendor(void)
 -{
 -}
 -
 -static inline int acpi_video_backlight_support(void)
 -{
 -      return 0;
 -}
 -
 -static inline int acpi_video_display_switch_support(void)
 -{
 -      return 0;
 -}
 -
 -#endif /* defined(CONFIG_ACPI_VIDEO) || defined(CONFIG_ACPI_VIDEO_MODULE) */
 -
  extern int acpi_blacklisted(void);
  extern void acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d);
  extern void acpi_osi_setup(char *str);
 +extern bool acpi_osi_is_win8(void);
  
  #ifdef CONFIG_ACPI_NUMA
+ int acpi_map_pxm_to_online_node(int pxm);
  int acpi_get_node(acpi_handle handle);
  #else
+ static inline int acpi_map_pxm_to_online_node(int pxm)
+ {
+       return 0;
+ }
  static inline int acpi_get_node(acpi_handle handle)
  {
        return 0;
@@@ -304,9 -337,6 +309,9 @@@ int acpi_check_region(resource_size_t s
  
  int acpi_resources_are_enforced(void);
  
 +int acpi_reserve_region(u64 start, unsigned int length, u8 space_id,
 +                      unsigned long flags, char *desc);
 +
  #ifdef CONFIG_HIBERNATION
  void __init acpi_no_s4_hw_signature(void);
  #endif
@@@ -415,7 -445,6 +420,7 @@@ extern acpi_status acpi_pci_osc_control
  #define ACPI_OST_SC_INSERT_NOT_SUPPORTED      0x82
  
  extern void acpi_early_init(void);
 +extern void acpi_subsystem_init(void);
  
  extern int acpi_nvs_register(__u64 start, __u64 size);
  
@@@ -470,7 -499,6 +475,7 @@@ static inline const char *acpi_dev_name
  }
  
  static inline void acpi_early_init(void) { }
 +static inline void acpi_subsystem_init(void) { }
  
  static inline int early_acpi_boot_init(void)
  {
@@@ -502,13 -530,6 +507,13 @@@ static inline int acpi_check_region(res
        return 0;
  }
  
 +static inline int acpi_reserve_region(u64 start, unsigned int length,
 +                                    u8 space_id, unsigned long flags,
 +                                    char *desc)
 +{
 +      return -ENXIO;
 +}
 +
  struct acpi_table_header;
  static inline int acpi_table_parse(char *id,
                                int (*handler)(struct acpi_table_header *))
@@@ -553,11 -574,6 +558,11 @@@ static inline int acpi_device_modalias(
        return -ENODEV;
  }
  
 +static inline bool acpi_check_dma(struct acpi_device *adev, bool *coherent)
 +{
 +      return false;
 +}
 +
  #define ACPI_PTR(_ptr)        (NULL)
  
  #endif        /* !CONFIG_ACPI */
@@@ -710,8 -726,6 +715,8 @@@ static inline void acpi_dev_remove_driv
        if (adev)
                adev->driver_gpios = NULL;
  }
 +
 +int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index);
  #else
  static inline int acpi_dev_add_driver_gpios(struct acpi_device *adev,
                              const struct acpi_gpio_mapping *gpios)
        return -ENXIO;
  }
  static inline void acpi_dev_remove_driver_gpios(struct acpi_device *adev) {}
 +
 +static inline int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index)
 +{
 +      return -ENXIO;
 +}
  #endif
  
  /* Device properties */
diff --combined include/linux/compiler.h
index 05be2352fef889663fad482f57c4d8b9d5e18df4,9a528d94549840126720897cbc98d6a2cdb2e9ae..26fc8bc77f85644adf8cb955579252b1eebcc423
@@@ -21,6 -21,7 +21,7 @@@
  # define __rcu                __attribute__((noderef, address_space(4)))
  #else
  # define __rcu
+ # define __pmem               __attribute__((noderef, address_space(5)))
  #endif
  extern void __chk_user_ptr(const volatile void __user *);
  extern void __chk_io_ptr(const volatile void __iomem *);
@@@ -42,6 -43,7 +43,7 @@@
  # define __cond_lock(x,c) (c)
  # define __percpu
  # define __rcu
+ # define __pmem
  #endif
  
  /* Indirect macros required for expanded argument pasting, eg. __LINE__. */
@@@ -250,23 -252,7 +252,23 @@@ static __always_inline void __write_onc
        ({ union { typeof(x) __val; char __c[1]; } __u; __read_once_size(&(x), __u.__c, sizeof(x)); __u.__val; })
  
  #define WRITE_ONCE(x, val) \
 -      ({ typeof(x) __val = (val); __write_once_size(&(x), &__val, sizeof(__val)); __val; })
 +      ({ union { typeof(x) __val; char __c[1]; } __u = { .__val = (val) }; __write_once_size(&(x), __u.__c, sizeof(x)); __u.__val; })
 +
 +/**
 + * READ_ONCE_CTRL - Read a value heading a control dependency
 + * @x: The value to be read, heading the control dependency
 + *
 + * Control dependencies are tricky.  See Documentation/memory-barriers.txt
 + * for important information on how to use them.  Note that in many cases,
 + * use of smp_load_acquire() will be much simpler.  Control dependencies
 + * should be avoided except on the hottest of hotpaths.
 + */
 +#define READ_ONCE_CTRL(x) \
 +({ \
 +      typeof(x) __val = READ_ONCE(x); \
 +      smp_read_barrier_depends(); /* Enforce control dependency. */ \
 +      __val; \
 +})
  
  #endif /* __KERNEL__ */
  
   * with an explicit memory barrier or atomic instruction that provides the
   * required ordering.
   *
 - * If possible use READ_ONCE/ASSIGN_ONCE instead.
 + * If possible use READ_ONCE()/WRITE_ONCE() instead.
   */
  #define __ACCESS_ONCE(x) ({ \
         __maybe_unused typeof(x) __var = (__force typeof(x)) 0; \
diff --combined include/linux/efi.h
index 5f19efe4eb3f0cb52d43e777be43dc65c9a41bc3,825b6e3d69cbff2f9952f7830b60297f0bfa7bcf..85ef051ac6fb43a64c38779c6bf754d2e492abcf
@@@ -85,7 -85,8 +85,8 @@@ typedef       struct 
  #define EFI_MEMORY_MAPPED_IO          11
  #define EFI_MEMORY_MAPPED_IO_PORT_SPACE       12
  #define EFI_PAL_CODE                  13
- #define EFI_MAX_MEMORY_TYPE           14
+ #define EFI_PERSISTENT_MEMORY         14
+ #define EFI_MAX_MEMORY_TYPE           15
  
  /* Attribute values: */
  #define EFI_MEMORY_UC         ((u64)0x0000000000000001ULL)    /* uncached */
@@@ -96,8 -97,6 +97,8 @@@
  #define EFI_MEMORY_WP         ((u64)0x0000000000001000ULL)    /* write-protect */
  #define EFI_MEMORY_RP         ((u64)0x0000000000002000ULL)    /* read-protect */
  #define EFI_MEMORY_XP         ((u64)0x0000000000004000ULL)    /* execute-protect */
 +#define EFI_MEMORY_MORE_RELIABLE \
 +                              ((u64)0x0000000000010000ULL)    /* higher reliability */
  #define EFI_MEMORY_RUNTIME    ((u64)0x8000000000000000ULL)    /* range requires runtime mapping */
  #define EFI_MEMORY_DESCRIPTOR_VERSION 1
  
@@@ -585,9 -584,6 +586,9 @@@ void efi_native_runtime_setup(void)
  #define EFI_FILE_INFO_ID \
      EFI_GUID(  0x9576e92, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b )
  
 +#define EFI_SYSTEM_RESOURCE_TABLE_GUID \
 +    EFI_GUID(  0xb122a263, 0x3661, 0x4f68, 0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 )
 +
  #define EFI_FILE_SYSTEM_GUID \
      EFI_GUID(  0x964e5b22, 0x6459, 0x11d2, 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b )
  
@@@ -828,7 -824,6 +829,7 @@@ extern struct efi 
        unsigned long fw_vendor;        /* fw_vendor */
        unsigned long runtime;          /* runtime table */
        unsigned long config_table;     /* config tables */
 +      unsigned long esrt;             /* ESRT table */
        efi_get_time_t *get_time;
        efi_set_time_t *set_time;
        efi_get_wakeup_time_t *get_wakeup_time;
@@@ -870,7 -865,6 +871,7 @@@ extern void efi_enter_virtual_mode (voi
  extern void efi_late_init(void);
  extern void efi_free_boot_services(void);
  extern efi_status_t efi_query_variable_store(u32 attributes, unsigned long size);
 +extern void efi_find_mirror(void);
  #else
  static inline void efi_late_init(void) {}
  static inline void efi_free_boot_services(void) {}
@@@ -882,11 -876,6 +883,11 @@@ static inline efi_status_t efi_query_va
  #endif
  extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr);
  extern int efi_config_init(efi_config_table_type_t *arch_tables);
 +#ifdef CONFIG_EFI_ESRT
 +extern void __init efi_esrt_init(void);
 +#else
 +static inline void efi_esrt_init(void) { }
 +#endif
  extern int efi_config_parse_tables(void *config_tables, int count, int sz,
                                   efi_config_table_type_t *arch_tables);
  extern u64 efi_get_iobase (void);
@@@ -894,15 -883,12 +895,15 @@@ extern u32 efi_mem_type (unsigned long 
  extern u64 efi_mem_attributes (unsigned long phys_addr);
  extern u64 efi_mem_attribute (unsigned long phys_addr, unsigned long size);
  extern int __init efi_uart_console_only (void);
 +extern u64 efi_mem_desc_end(efi_memory_desc_t *md);
 +extern int efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md);
  extern void efi_initialize_iomem_resources(struct resource *code_resource,
                struct resource *data_resource, struct resource *bss_resource);
  extern void efi_get_time(struct timespec *now);
  extern void efi_reserve_boot_services(void);
  extern int efi_get_fdt_params(struct efi_fdt_params *params, int verbose);
  extern struct efi_memory_map memmap;
 +extern struct kobject *efi_kobj;
  
  extern int efi_reboot_quirk_mode;
  extern bool efi_poweroff_required(void);
diff --combined include/linux/pmem.h
index 0000000000000000000000000000000000000000,f6481a0b1d4f9a6304d7ca072546d886e6e9fe38..d2114045a6c43802c71b863692716dac83c126f2
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,153 +1,152 @@@
 -      /* TODO: convert to ioremap_wt() */
 -      return (void __pmem __force *)ioremap_nocache(offset, size);
+ /*
+  * Copyright(c) 2015 Intel Corporation. All rights reserved.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of version 2 of the GNU General Public License 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.
+  */
+ #ifndef __PMEM_H__
+ #define __PMEM_H__
+ #include <linux/io.h>
+ #ifdef CONFIG_ARCH_HAS_PMEM_API
+ #include <asm/cacheflush.h>
+ #else
+ static inline void arch_wmb_pmem(void)
+ {
+       BUG();
+ }
+ static inline bool __arch_has_wmb_pmem(void)
+ {
+       return false;
+ }
+ static inline void __pmem *arch_memremap_pmem(resource_size_t offset,
+               unsigned long size)
+ {
+       return NULL;
+ }
+ static inline void arch_memcpy_to_pmem(void __pmem *dst, const void *src,
+               size_t n)
+ {
+       BUG();
+ }
+ #endif
+ /*
+  * Architectures that define ARCH_HAS_PMEM_API must provide
+  * implementations for arch_memremap_pmem(), arch_memcpy_to_pmem(),
+  * arch_wmb_pmem(), and __arch_has_wmb_pmem().
+  */
+ static inline void memcpy_from_pmem(void *dst, void __pmem const *src, size_t size)
+ {
+       memcpy(dst, (void __force const *) src, size);
+ }
+ static inline void memunmap_pmem(void __pmem *addr)
+ {
+       iounmap((void __force __iomem *) addr);
+ }
+ /**
+  * arch_has_wmb_pmem - true if wmb_pmem() ensures durability
+  *
+  * For a given cpu implementation within an architecture it is possible
+  * that wmb_pmem() resolves to a nop.  In the case this returns
+  * false, pmem api users are unable to ensure durability and may want to
+  * fall back to a different data consistency model, or otherwise notify
+  * the user.
+  */
+ static inline bool arch_has_wmb_pmem(void)
+ {
+       if (IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API))
+               return __arch_has_wmb_pmem();
+       return false;
+ }
+ static inline bool arch_has_pmem_api(void)
+ {
+       return IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API) && arch_has_wmb_pmem();
+ }
+ /*
+  * These defaults seek to offer decent performance and minimize the
+  * window between i/o completion and writes being durable on media.
+  * However, it is undefined / architecture specific whether
+  * default_memremap_pmem + default_memcpy_to_pmem is sufficient for
+  * making data durable relative to i/o completion.
+  */
+ static void default_memcpy_to_pmem(void __pmem *dst, const void *src,
+               size_t size)
+ {
+       memcpy((void __force *) dst, src, size);
+ }
+ static void __pmem *default_memremap_pmem(resource_size_t offset,
+               unsigned long size)
+ {
++      return (void __pmem __force *)ioremap_wt(offset, size);
+ }
+ /**
+  * memremap_pmem - map physical persistent memory for pmem api
+  * @offset: physical address of persistent memory
+  * @size: size of the mapping
+  *
+  * Establish a mapping of the architecture specific memory type expected
+  * by memcpy_to_pmem() and wmb_pmem().  For example, it may be
+  * the case that an uncacheable or writethrough mapping is sufficient,
+  * or a writeback mapping provided memcpy_to_pmem() and
+  * wmb_pmem() arrange for the data to be written through the
+  * cache to persistent media.
+  */
+ static inline void __pmem *memremap_pmem(resource_size_t offset,
+               unsigned long size)
+ {
+       if (arch_has_pmem_api())
+               return arch_memremap_pmem(offset, size);
+       return default_memremap_pmem(offset, size);
+ }
+ /**
+  * memcpy_to_pmem - copy data to persistent memory
+  * @dst: destination buffer for the copy
+  * @src: source buffer for the copy
+  * @n: length of the copy in bytes
+  *
+  * Perform a memory copy that results in the destination of the copy
+  * being effectively evicted from, or never written to, the processor
+  * cache hierarchy after the copy completes.  After memcpy_to_pmem()
+  * data may still reside in cpu or platform buffers, so this operation
+  * must be followed by a wmb_pmem().
+  */
+ static inline void memcpy_to_pmem(void __pmem *dst, const void *src, size_t n)
+ {
+       if (arch_has_pmem_api())
+               arch_memcpy_to_pmem(dst, src, n);
+       else
+               default_memcpy_to_pmem(dst, src, n);
+ }
+ /**
+  * wmb_pmem - synchronize writes to persistent memory
+  *
+  * After a series of memcpy_to_pmem() operations this drains data from
+  * cpu write buffers and any platform (memory controller) buffers to
+  * ensure that written data is durable on persistent memory media.
+  */
+ static inline void wmb_pmem(void)
+ {
+       if (arch_has_pmem_api())
+               arch_wmb_pmem();
+ }
+ #endif /* __PMEM_H__ */
index c1c23f19d4a202cb15abacca9185de1d54b25243,200cc5ea29986f39f3b3ec20eb032b3b461df8a7..1ff9942718fee60ba3ef4dede12499e2d49a6fd9
@@@ -138,7 -138,6 +138,7 @@@ header-y += genetlink.
  header-y += gen_stats.h
  header-y += gfs2_ondisk.h
  header-y += gigaset_dev.h
 +header-y += gsmmux.h
  header-y += hdlcdrv.h
  header-y += hdlc.h
  header-y += hdreg.h
@@@ -272,6 -271,7 +272,7 @@@ header-y += ncp_fs.
  header-y += ncp.h
  header-y += ncp_mount.h
  header-y += ncp_no.h
+ header-y += ndctl.h
  header-y += neighbour.h
  header-y += netconf.h
  header-y += netdevice.h
@@@ -353,7 -353,6 +354,7 @@@ header-y += rtc.
  header-y += rtnetlink.h
  header-y += scc.h
  header-y += sched.h
 +header-y += scif_ioctl.h
  header-y += screen_info.h
  header-y += sctp.h
  header-y += sdla.h
@@@ -432,7 -431,6 +433,7 @@@ header-y += virtio_balloon.
  header-y += virtio_blk.h
  header-y += virtio_config.h
  header-y += virtio_console.h
 +header-y += virtio_gpu.h
  header-y += virtio_ids.h
  header-y += virtio_input.h
  header-y += virtio_net.h
diff --combined lib/Kconfig
index 34e332b8d32629e075a7f3ab061454d4a532adca,d27c13a91c2813e4ae45f678172233cc33394d61..3a2ef67db6c724f12b6d4ac0550ebb5fd58c5c58
@@@ -212,12 -212,6 +212,12 @@@ config RANDOM32_SELFTES
  #
  # compression support is select'ed if needed
  #
 +config 842_COMPRESS
 +      tristate
 +
 +config 842_DECOMPRESS
 +      tristate
 +
  config ZLIB_INFLATE
        tristate
  
@@@ -528,4 -522,7 +528,7 @@@ source "lib/fonts/Kconfig
  config ARCH_HAS_SG_CHAIN
        def_bool n
  
+ config ARCH_HAS_PMEM_API
+       bool
  endmenu
This page took 0.243919 seconds and 4 git commands to generate.