]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Nov 2015 20:17:09 +0000 (12:17 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Nov 2015 20:17:09 +0000 (12:17 -0800)
Pull DeviceTree updates from Rob Herring:
 "A fairly large (by DT standards) pull request this time with the
  majority being some overdue moving DT binding docs around to
  consolidate similar bindings.

   - DT binding doc consolidation moving similar bindings to common
     locations.  The majority of these are display related which were
     scattered in video/, fb/, drm/, gpu/, and panel/ directories.

   - Add new config option, CONFIG_OF_ALL_DTBS, to enable building all
     dtbs in the tree for most arches with dts files (except powerpc for
     now).

   - OF_IRQ=n fixes for user enabled CONFIG_OF.

   - of_node_put ref counting fixes from Julia Lawall.

   - Common DT binding for wakeup-source and deprecation of all similar
     bindings.

   - DT binding for PXA LCD controller.

   - Allow ignoring failed PCI resource translations in order to ignore
     64-bit addresses on non-LPAE 32-bit kernels.

   - Support setting the NUMA node from DT instead of only from parent
     device.

   - Couple of earlycon DT parsing fixes for address and options"

* tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits)
  MAINTAINERS: update DT binding doc locations
  devicetree: add Sigma Designs vendor prefix
  of: simplify arch_find_n_match_cpu_physical_id() function
  Documentation: arm: Fixed typo in socfpga fpga mgr example
  Documentation: devicetree: fix reference to legacy wakeup properties
  Documentation: devicetree: standardize/consolidate on "wakeup-source" property
  drivers: of: removing assignment of 0 to static variable
  xtensa: enable building of all dtbs
  mips: enable building of all dtbs
  metag: enable building of all dtbs
  metag: use common make variables for dtb builds
  h8300: enable building of all dtbs
  arm64: enable building of all dtbs
  arm: enable building of all dtbs
  arc: enable building of all dtbs
  arc: use common make variables for dtb builds
  of: add config option to enable building of all dtbs
  of/fdt: fix error checking for earlycon address
  of/overlay: add missing of_node_put
  of/platform: add missing of_node_put
  ...

1  2 
Documentation/devicetree/bindings/input/gpio-keys-polled.txt
Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
Documentation/devicetree/bindings/leds/backlight/pm8941-wled.txt
Documentation/devicetree/bindings/mmc/mmc.txt
Documentation/devicetree/bindings/vendor-prefixes.txt
MAINTAINERS
arch/arm/boot/dts/Makefile
drivers/of/irq.c
drivers/of/of_pci.c
include/linux/of_irq.h

index 97e2467181e94a608cb0e04846fb891b67a5d490,d698475a926206eaa43ab088a778a4010365b429..95d0fb11a78753cdd272015e876bff704db1d726
@@@ -13,21 -13,15 +13,22 @@@ Subnode properties
  
        - gpios: OF device-tree gpio specification.
        - label: Descriptive name of the key.
 -      - linux,code: Keycode to emit.
 +      - linux,code: Key / Axis code to emit.
  
  Optional subnode-properties:
        - linux,input-type: Specify event type this button/key generates.
          If not specified defaults to <1> == EV_KEY.
 +      - linux,input-value: If linux,input-type is EV_ABS or EV_REL then this
 +        value is sent for events this button generates when pressed.
 +        EV_ABS/EV_REL axis will generate an event with a value of 0 when
 +        all buttons with linux,input-type == type and linux,code == axis
 +        are released. This value is interpreted as a signed 32 bit value,
 +        e.g. to make a button generate a value of -1 use:
 +        linux,input-value = <0xffffffff>; /* -1 */
        - debounce-interval: Debouncing interval time in milliseconds.
          If not specified defaults to 5.
        - wakeup-source: Boolean, button can wake-up the system.
+                        (Legacy property supported: "gpio-key,wakeup")
  
  Example nodes:
  
index 0000000000000000000000000000000000000000,2da059a4790cb3c62365bedae458c5565589b225..cc56021eb60babea6c580bfbe594aca3c17dfce5
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,152 +1,168 @@@
 -      "arm,gic-400"
+ * ARM Generic Interrupt Controller
+ ARM SMP cores are often associated with a GIC, providing per processor
+ interrupts (PPI), shared processor interrupts (SPI) and software
+ generated interrupts (SGI).
+ Primary GIC is attached directly to the CPU and typically has PPIs and SGIs.
+ Secondary GICs are cascaded into the upward interrupt controller and do not
+ have PPIs or SGIs.
+ Main node required properties:
+ - compatible : should be one of:
 -      "arm,cortex-a9-gic"
++      "arm,arm1176jzf-devchip-gic"
++      "arm,arm11mp-gic"
+       "arm,cortex-a15-gic"
 -      "arm,arm11mp-gic"
+       "arm,cortex-a7-gic"
 -      "arm,arm1176jzf-devchip-gic"
++      "arm,cortex-a9-gic"
++      "arm,gic-400"
++      "arm,pl390"
+       "brcm,brahma-b15-gic"
+       "qcom,msm-8660-qgic"
+       "qcom,msm-qgic2"
+ - interrupt-controller : Identifies the node as an interrupt controller
+ - #interrupt-cells : Specifies the number of cells needed to encode an
+   interrupt source.  The type shall be a <u32> and the value shall be 3.
+   The 1st cell is the interrupt type; 0 for SPI interrupts, 1 for PPI
+   interrupts.
+   The 2nd cell contains the interrupt number for the interrupt type.
+   SPI interrupts are in the range [0-987].  PPI interrupts are in the
+   range [0-15].
+   The 3rd cell is the flags, encoded as follows:
+       bits[3:0] trigger type and level flags.
+               1 = low-to-high edge triggered
+               2 = high-to-low edge triggered (invalid for SPIs)
+               4 = active high level-sensitive
+               8 = active low level-sensitive (invalid for SPIs).
+       bits[15:8] PPI interrupt cpu mask.  Each bit corresponds to each of
+       the 8 possible cpus attached to the GIC.  A bit set to '1' indicated
+       the interrupt is wired to that CPU.  Only valid for PPI interrupts.
+       Also note that the configurability of PPI interrupts is IMPLEMENTATION
+       DEFINED and as such not guaranteed to be present (most SoC available
+       in 2014 seem to ignore the setting of this flag and use the hardware
+       default value).
+ - reg : Specifies base physical address(s) and size of the GIC registers. The
+   first region is the GIC distributor register base and size. The 2nd region is
+   the GIC cpu interface register base and size.
+ Optional
+ - interrupts  : Interrupt source of the parent interrupt controller on
+   secondary GICs, or VGIC maintenance interrupt on primary GIC (see
+   below).
+ - cpu-offset  : per-cpu offset within the distributor and cpu interface
+   regions, used when the GIC doesn't have banked registers. The offset is
+   cpu-offset * cpu-nr.
++- clocks        : List of phandle and clock-specific pairs, one for each entry
++  in clock-names.
++- clock-names   : List of names for the GIC clock input(s). Valid clock names
++  depend on the GIC variant:
++      "ic_clk" (for "arm,arm11mp-gic")
++      "PERIPHCLKEN" (for "arm,cortex-a15-gic")
++      "PERIPHCLK", "PERIPHCLKEN" (for "arm,cortex-a9-gic")
++      "clk" (for "arm,gic-400")
++      "gclk" (for "arm,pl390")
++
++- power-domains : A phandle and PM domain specifier as defined by bindings of
++                the power controller specified by phandle, used when the GIC
++                is part of a Power or Clock Domain.
++
++
+ Example:
+       intc: interrupt-controller@fff11000 {
+               compatible = "arm,cortex-a9-gic";
+               #interrupt-cells = <3>;
+               #address-cells = <1>;
+               interrupt-controller;
+               reg = <0xfff11000 0x1000>,
+                     <0xfff10100 0x100>;
+       };
+ * GIC virtualization extensions (VGIC)
+ For ARM cores that support the virtualization extensions, additional
+ properties must be described (they only exist if the GIC is the
+ primary interrupt controller).
+ Required properties:
+ - reg : Additional regions specifying the base physical address and
+   size of the VGIC registers. The first additional region is the GIC
+   virtual interface control register base and size. The 2nd additional
+   region is the GIC virtual cpu interface register base and size.
+ - interrupts : VGIC maintenance interrupt.
+ Example:
+       interrupt-controller@2c001000 {
+               compatible = "arm,cortex-a15-gic";
+               #interrupt-cells = <3>;
+               interrupt-controller;
+               reg = <0x2c001000 0x1000>,
+                     <0x2c002000 0x1000>,
+                     <0x2c004000 0x2000>,
+                     <0x2c006000 0x2000>;
+               interrupts = <1 9 0xf04>;
+       };
+ * GICv2m extension for MSI/MSI-x support (Optional)
+ Certain revisions of GIC-400 supports MSI/MSI-x via V2M register frame(s).
+ This is enabled by specifying v2m sub-node(s).
+ Required properties:
+ - compatible      : The value here should contain "arm,gic-v2m-frame".
+ - msi-controller    : Identifies the node as an MSI controller.
+ - reg             : GICv2m MSI interface register base and size
+ Optional properties:
+ - arm,msi-base-spi  : When the MSI_TYPER register contains an incorrect
+                     value, this property should contain the SPI base of
+                     the MSI frame, overriding the HW value.
+ - arm,msi-num-spis  : When the MSI_TYPER register contains an incorrect
+                     value, this property should contain the number of
+                     SPIs assigned to the frame, overriding the HW value.
+ Example:
+       interrupt-controller@e1101000 {
+               compatible = "arm,gic-400";
+               #interrupt-cells = <3>;
+               #address-cells = <2>;
+               #size-cells = <2>;
+               interrupt-controller;
+               interrupts = <1 8 0xf04>;
+               ranges = <0 0 0 0xe1100000 0 0x100000>;
+               reg = <0x0 0xe1110000 0 0x01000>,
+                     <0x0 0xe112f000 0 0x02000>,
+                     <0x0 0xe1140000 0 0x10000>,
+                     <0x0 0xe1160000 0 0x10000>;
+               v2m0: v2m@0x8000 {
+                       compatible = "arm,gic-v2m-frame";
+                       msi-controller;
+                       reg = <0x0 0x80000 0 0x1000>;
+               };
+               ....
+               v2mN: v2m@0x9000 {
+                       compatible = "arm,gic-v2m-frame";
+                       msi-controller;
+                       reg = <0x0 0x90000 0 0x1000>;
+               };
+       };
index 0000000000000000000000000000000000000000,424f8444a6cd9364aba9267be34e66a6657aa786..e5b294dafc5837f9d580531ad1471bdd9ad3f55d
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,40 +1,42 @@@
+ Binding for Qualcomm PM8941 WLED driver
+ Required properties:
+ - compatible: should be "qcom,pm8941-wled"
+ - reg: slave address
+ Optional properties:
++- default-brightness: brightness value on boot, value from: 0-4095
++      default: 2048
+ - label: The name of the backlight device
+ - qcom,cs-out: bool; enable current sink output
+ - qcom,cabc: bool; enable content adaptive backlight control
+ - qcom,ext-gen: bool; use externally generated modulator signal to dim
+ - qcom,current-limit: mA; per-string current limit; value from 0 to 25
+       default: 20mA
+ - qcom,current-boost-limit: mA; boost current limit; one of:
+       105, 385, 525, 805, 980, 1260, 1400, 1680
+       default: 805mA
+ - qcom,switching-freq: kHz; switching frequency; one of:
+       600, 640, 685, 738, 800, 872, 960, 1066, 1200, 1371,
+       1600, 1920, 2400, 3200, 4800, 9600,
+       default: 1600kHz
+ - qcom,ovp: V; Over-voltage protection limit; one of:
+       27, 29, 32, 35
+       default: 29V
+ - qcom,num-strings: #; number of led strings attached; value from 1 to 3
+       default: 2
+ Example:
+ pm8941-wled@d800 {
+       compatible = "qcom,pm8941-wled";
+       reg = <0xd800>;
+       label = "backlight";
+       qcom,cs-out;
+       qcom,current-limit = <20>;
+       qcom,current-boost-limit = <805>;
+       qcom,switching-freq = <1600>;
+       qcom,ovp = <29>;
+       qcom,num-strings = <2>;
+ };
index f693baf87264d6525b105c0eb244730111b47820,a88f5dc775bdb86f86c3029bc954b9d3f290768c..ed23b9bedfdc05425fe7f01486a4f5ed7c7f8e95
@@@ -37,7 -37,6 +37,7 @@@ Optional properties
  - sd-uhs-sdr104: SD UHS SDR104 speed is supported
  - sd-uhs-ddr50: SD UHS DDR50 speed is supported
  - cap-power-off-card: powering off the card is safe
 +- cap-mmc-hw-reset: eMMC hardware reset is supported
  - cap-sdio-irq: enable SDIO IRQ signalling on this interface
  - full-pwr-cycle: full power cycle of the card is supported
  - mmc-ddr-1_8v: eMMC high-speed DDR mode(1.8V I/O) is supported
@@@ -68,7 -67,8 +68,8 @@@ polarity is in effect
  
  Optional SDIO properties:
  - keep-power-in-suspend: Preserves card power during a suspend/resume cycle
- - enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion
+ - wakeup-source: Enables wake up of host system on SDIO IRQ assertion
+                (Legacy property supported: "enable-sdio-wakeup")
  
  
  MMC power sequences:
@@@ -118,7 -118,7 +119,7 @@@ sdhci@ab000000 
        wp-gpios = <&gpio 70 0>;
        max-frequency = <50000000>;
        keep-power-in-suspend;
-       enable-sdio-wakeup;
+       wakeup-source;
        mmc-pwrseq = <&sdhci0_pwrseq>
  }
  
index a79185f78ccdf75cb3f48d1735bbbaff4a773415,5a47e889508431ce6ad09b4814ce744cf52e54cf..8c6cef73e0d7c4f9e597e060151dff255a429044
@@@ -51,6 -51,7 +51,7 @@@ cirrus        Cirrus Logic, Inc
  cloudengines  Cloud Engines, Inc.
  cnm   Chips&Media, Inc.
  cnxt  Conexant Systems, Inc.
+ compulab      CompuLab Ltd.
  cortina       Cortina Systems, Inc.
  cosmic        Cosmic Circuits
  crystalfontz  Crystalfontz America, Inc.
@@@ -82,7 -83,6 +83,7 @@@ everspin      Everspin Technologies, Inc
  excito        Excito
  fcs   Fairchild Semiconductor
  firefly       Firefly
 +focaltech     FocalTech Systems Co.,Ltd
  fsl   Freescale Semiconductor
  GEFanuc       GE Fanuc Intelligent Platforms Embedded Systems, Inc.
  gef   GE Fanuc Intelligent Platforms Embedded Systems, Inc.
@@@ -102,7 -102,6 +103,7 @@@ himax      Himax Technologies, Inc
  hisilicon     Hisilicon Limited.
  hit   Hitachi Ltd.
  hitex Hitex Development Tools
 +holt  Holt Integrated Circuits, Inc.
  honeywell     Honeywell
  hp    Hewlett Packard
  i2se  I2SE GmbH
@@@ -171,7 -170,6 +172,7 @@@ phytec     PHYTEC Messtechnik Gmb
  picochip      Picochip Ltd
  plathome      Plat'Home Co., Ltd.
  pixcir  PIXCIR MICROELECTRONICS Co., Ltd
 +pulsedlight   PulsedLight, Inc
  powervr       PowerVR (deprecated, use img)
  qca   Qualcomm Atheros, Inc.
  qcom  Qualcomm Technologies, Inc
@@@ -194,8 -192,8 +195,9 @@@ sbs        Smart Battery Syste
  schindler     Schindler
  seagate       Seagate Technology PLC
  semtech       Semtech Corporation
 +sgx   SGX Sensortech
  sharp Sharp Corporation
+ sigma Sigma Designs, Inc.
  sil   Silicon Image
  silabs        Silicon Laboratories
  siliconmitus  Silicon Mitus, Inc.
@@@ -227,7 -225,6 +229,7 @@@ toshiba    Toshiba Corporatio
  toumaz        Toumaz
  tplink        TP-LINK Technologies Co., Ltd.
  truly Truly Semiconductors Limited
 +upisemi       uPI Semiconductor Corp.
  usi   Universal Scientific Industrial Co., Ltd.
  v3    V3 Semiconductor
  variscite     Variscite Ltd.
diff --combined MAINTAINERS
index e2b8cbbfcd8dc6da7599edb33fdd0397ce37f78f,e2aa9736fd0ffbb89b10ed49fbb0da6274b79dce..f56a10a3eabc7b1071107d950621f38921ab64be
@@@ -240,12 -240,6 +240,12 @@@ L:       lm-sensors@lm-sensors.or
  S:    Maintained
  F:    drivers/hwmon/abituguru3.c
  
 +ACCES 104-IDIO-16 GPIO DRIVER
 +M:    "William Breathitt Gray" <vilhelm.gray@gmail.com>
 +L:    linux-gpio@vger.kernel.org
 +S:    Maintained
 +F:    drivers/gpio/gpio-104-idio-16.c
 +
  ACENIC DRIVER
  M:    Jes Sorensen <jes@trained-monkey.org>
  L:    linux-acenic@sunsite.dk
@@@ -660,6 -654,11 +660,6 @@@ F:        drivers/gpu/drm/radeon/radeon_kfd.
  F:    drivers/gpu/drm/radeon/radeon_kfd.h
  F:    include/uapi/linux/kfd_ioctl.h
  
 -AMD MICROCODE UPDATE SUPPORT
 -M:    Borislav Petkov <bp@alien8.de>
 -S:    Maintained
 -F:    arch/x86/kernel/cpu/microcode/amd*
 -
  AMD XGBE DRIVER
  M:    Tom Lendacky <thomas.lendacky@amd.com>
  L:    netdev@vger.kernel.org
@@@ -823,13 -822,12 +823,13 @@@ F:      arch/arm/include/asm/floppy.
  
  ARM PMU PROFILING AND DEBUGGING
  M:    Will Deacon <will.deacon@arm.com>
 +R:    Mark Rutland <mark.rutland@arm.com>
  S:    Maintained
 -F:    arch/arm/kernel/perf_*
 +F:    arch/arm*/kernel/perf_*
  F:    arch/arm/oprofile/common.c
 -F:    arch/arm/kernel/hw_breakpoint.c
 -F:    arch/arm/include/asm/hw_breakpoint.h
 -F:    arch/arm/include/asm/perf_event.h
 +F:    arch/arm*/kernel/hw_breakpoint.c
 +F:    arch/arm*/include/asm/hw_breakpoint.h
 +F:    arch/arm*/include/asm/perf_event.h
  F:    drivers/perf/arm_pmu.c
  F:    include/linux/perf/arm_pmu.h
  
@@@ -896,12 -894,11 +896,12 @@@ M:      Lennert Buytenhek <kernel@wantstofly
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
 -ARM/Allwinner A1X SoC support
 +ARM/Allwinner sunXi SoC support
  M:    Maxime Ripard <maxime.ripard@free-electrons.com>
 +M:    Chen-Yu Tsai <wens@csie.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -N:    sun[x4567]i
 +N:    sun[x456789]i
  
  ARM/Allwinner SoC Clock Support
  M:    Emilio López <emilio@elopez.com.ar>
@@@ -1300,13 -1297,6 +1300,13 @@@ F:    arch/arm/mach-mediatek
  N:    mtk
  K:    mediatek
  
 +ARM/Mediatek USB3 PHY DRIVER
 +M:    Chunfeng Yun <chunfeng.yun@mediatek.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +L:    linux-mediatek@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    drivers/phy/phy-mt65xx-usb3.c
 +
  ARM/MICREL KS8695 ARCHITECTURE
  M:    Greg Ungerer <gerg@uclinux.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1489,14 -1479,6 +1489,14 @@@ L:    linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/media/platform/s5p-tv/
  
 +ARM/SAMSUNG S5P SERIES JPEG CODEC SUPPORT
 +M:    Andrzej Pietrasiewicz <andrzej.p@samsung.com>
 +M:    Jacek Anaszewski <j.anaszewski@samsung.com>
 +L:    linux-arm-kernel@lists.infradead.org
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/media/platform/s5p-jpeg/
 +
  ARM/SHMOBILE ARM ARCHITECTURE
  M:    Simon Horman <horms@verge.net.au>
  M:    Magnus Damm <magnus.damm@gmail.com>
@@@ -1545,7 -1527,6 +1545,7 @@@ W:      http://www.stlinux.co
  S:    Maintained
  F:    arch/arm/mach-sti/
  F:    arch/arm/boot/dts/sti*
 +F:    drivers/char/hw_random/st-rng.c
  F:    drivers/clocksource/arm_global_timer.c
  F:    drivers/clocksource/clksrc_st_lpc.c
  F:    drivers/i2c/busses/i2c-st.c
@@@ -1798,14 -1779,6 +1798,14 @@@ S:    Supporte
  F:    Documentation/aoe/
  F:    drivers/block/aoe/
  
 +ATHEROS 71XX/9XXX GPIO DRIVER
 +M:    Alban Bedel <albeu@free.fr>
 +W:    https://github.com/AlbanBedel/linux
 +T:    git git://github.com/AlbanBedel/linux
 +S:    Maintained
 +F:    drivers/gpio/gpio-ath79.c
 +F:    Documentation/devicetree/bindings/gpio/gpio-ath79.txt
 +
  ATHEROS ATH GENERIC UTILITIES
  M:    "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
  L:    linux-wireless@vger.kernel.org
@@@ -3186,15 -3159,6 +3186,15 @@@ F:    Documentation/powerpc/cxl.tx
  F:    Documentation/powerpc/cxl.txt
  F:    Documentation/ABI/testing/sysfs-class-cxl
  
 +CXLFLASH (IBM Coherent Accelerator Processor Interface CAPI Flash) SCSI DRIVER
 +M:    Manoj N. Kumar <manoj@linux.vnet.ibm.com>
 +M:    Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
 +L:    linux-scsi@vger.kernel.org
 +S:    Supported
 +F:    drivers/scsi/cxlflash/
 +F:    include/uapi/scsi/cxlflash_ioctls.h
 +F:    Documentation/powerpc/cxlflash.txt
 +
  STMMAC ETHERNET DRIVER
  M:    Giuseppe Cavallaro <peppe.cavallaro@st.com>
  L:    netdev@vger.kernel.org
@@@ -3403,7 -3367,6 +3403,7 @@@ M:      Support Opensource <support.opensour
  W:    http://www.dialog-semiconductor.com/products
  S:    Supported
  F:    Documentation/hwmon/da90??
 +F:    Documentation/devicetree/bindings/sound/da[79]*.txt
  F:    drivers/gpio/gpio-da90??.c
  F:    drivers/hwmon/da90??-hwmon.c
  F:    drivers/iio/adc/da91??-*.c
@@@ -3538,15 -3501,13 +3538,15 @@@ M:   Jonathan Corbet <corbet@lwn.net
  L:    linux-doc@vger.kernel.org
  S:    Maintained
  F:    Documentation/
 +F:    scripts/docproc.c
 +F:    scripts/kernel-doc*
  X:    Documentation/ABI/
  X:    Documentation/devicetree/
  X:    Documentation/acpi
  X:    Documentation/power
  X:    Documentation/spi
  X:    Documentation/DocBook/media
 -T:    git git://git.lwn.net/linux-2.6.git docs-next
 +T:    git git://git.lwn.net/linux.git docs-next
  
  DOUBLETALK DRIVER
  M:    "James R. Van Zandt" <jrv@vanzandt.mv.com>
@@@ -3616,7 -3577,7 +3616,7 @@@ S:      Maintaine
  F:    drivers/gpu/drm/drm_panel.c
  F:    drivers/gpu/drm/panel/
  F:    include/drm/drm_panel.h
- F:    Documentation/devicetree/bindings/panel/
+ F:    Documentation/devicetree/bindings/display/panel/
  
  INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
  M:    Daniel Vetter <daniel.vetter@intel.com>
@@@ -3630,13 -3591,6 +3630,13 @@@ F:    drivers/gpu/drm/i915
  F:    include/drm/i915*
  F:    include/uapi/drm/i915*
  
 +DRM DRIVERS FOR ATMEL HLCDC
 +M:    Boris Brezillon <boris.brezillon@free-electrons.com>
 +L:    dri-devel@lists.freedesktop.org
 +S:    Supported
 +F:    drivers/gpu/drm/atmel-hlcdc/
 +F:    Documentation/devicetree/bindings/drm/atmel/
 +
  DRM DRIVERS FOR EXYNOS
  M:    Inki Dae <inki.dae@samsung.com>
  M:    Joonyoung Shim <jy0922.shim@samsung.com>
@@@ -3655,24 -3609,16 +3655,24 @@@ M:   Alison Wang <alison.wang@freescale.c
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  F:    drivers/gpu/drm/fsl-dcu/
- F:    Documentation/devicetree/bindings/video/fsl,dcu.txt
- F:    Documentation/devicetree/bindings/panel/nec,nl4827hc19_05b.txt
+ F:    Documentation/devicetree/bindings/display/fsl,dcu.txt
+ F:    Documentation/devicetree/bindings/display/panel/nec,nl4827hc19_05b.txt
  
  DRM DRIVERS FOR FREESCALE IMX
  M:    Philipp Zabel <p.zabel@pengutronix.de>
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
  F:    drivers/gpu/drm/imx/
- F:    Documentation/devicetree/bindings/drm/imx/
+ F:    Documentation/devicetree/bindings/display/imx/
  
 +DRM DRIVERS FOR GMA500 (Poulsbo, Moorestown and derivative chipsets)
 +M:    Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
 +L:    dri-devel@lists.freedesktop.org
 +T:    git git://github.com/patjak/drm-gma500
 +S:    Maintained
 +F:    drivers/gpu/drm/gma500
 +F:    include/drm/gma500*
 +
  DRM DRIVERS FOR NVIDIA TEGRA
  M:    Thierry Reding <thierry.reding@gmail.com>
  M:    Terje Bergström <tbergstrom@nvidia.com>
@@@ -3684,7 -3630,7 +3684,7 @@@ F:      drivers/gpu/drm/tegra
  F:    drivers/gpu/host1x/
  F:    include/linux/host1x.h
  F:    include/uapi/drm/tegra_drm.h
- F:    Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
+ F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
  
  DRM DRIVERS FOR RENESAS
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
@@@ -3701,7 -3647,7 +3701,7 @@@ M:      Mark Yao <mark.yao@rock-chips.com
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
  F:    drivers/gpu/drm/rockchip/
- F:    Documentation/devicetree/bindings/video/rockchip*
+ F:    Documentation/devicetree/bindings/display/rockchip*
  
  DRM DRIVERS FOR STI
  M:    Benjamin Gaignard <benjamin.gaignard@linaro.org>
@@@ -3710,7 -3656,7 +3710,7 @@@ L:      dri-devel@lists.freedesktop.or
  T:    git http://git.linaro.org/people/benjamin.gaignard/kernel.git
  S:    Maintained
  F:    drivers/gpu/drm/sti
- F:    Documentation/devicetree/bindings/gpu/st,stih4xx.txt
+ F:    Documentation/devicetree/bindings/display/st,stih4xx.txt
  
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <klimov.linux@gmail.com>
@@@ -4057,7 -4003,7 +4057,7 @@@ S:      Maintaine
  F:    sound/usb/misc/ua101.c
  
  EXTENSIBLE FIRMWARE INTERFACE (EFI)
 -M:    Matt Fleming <matt.fleming@intel.com>
 +M:    Matt Fleming <matt@codeblueprint.co.uk>
  L:    linux-efi@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git
  S:    Maintained
@@@ -4072,7 -4018,7 +4072,7 @@@ F:      include/linux/efi*.
  EFI VARIABLE FILESYSTEM
  M:    Matthew Garrett <matthew.garrett@nebula.com>
  M:    Jeremy Kerr <jk@ozlabs.org>
 -M:    Matt Fleming <matt.fleming@intel.com>
 +M:    Matt Fleming <matt@codeblueprint.co.uk>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git
  L:    linux-efi@vger.kernel.org
  S:    Maintained
@@@ -4375,13 -4321,6 +4375,13 @@@ F:    include/linux/fmc*.
  F:    include/linux/ipmi-fru.h
  K:    fmc_d.*register
  
 +FPGA MANAGER FRAMEWORK
 +M:    Alan Tull <atull@opensource.altera.com>
 +S:    Maintained
 +F:    drivers/fpga/
 +F:    include/linux/fpga/fpga-mgr.h
 +W:    http://www.rocketboards.org
 +
  FPU EMULATOR
  M:    Bill Metzenthen <billm@melbpc.org.au>
  W:    http://floatingpoint.sourceforge.net/emulator/index.html
@@@ -4403,7 -4342,6 +4403,6 @@@ Q:      http://patchwork.kernel.org/project/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev.git
  S:    Maintained
  F:    Documentation/fb/
- F:    Documentation/devicetree/bindings/fb/
  F:    drivers/video/
  F:    include/video/
  F:    include/linux/fb.h
@@@ -4473,14 -4411,6 +4472,14 @@@ L:    linuxppc-dev@lists.ozlabs.or
  S:    Maintained
  F:    drivers/net/ethernet/freescale/ucc_geth*
  
 +FREESCALE eTSEC ETHERNET DRIVER (GIANFAR)
 +M:    Claudiu Manoil <claudiu.manoil@freescale.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/ethernet/freescale/gianfar*
 +X:    drivers/net/ethernet/freescale/gianfar_ptp.c
 +F:    Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
 +
  FREESCALE QUICC ENGINE UCC UART DRIVER
  M:    Timur Tabi <timur@tabi.org>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -5499,6 -5429,12 +5498,6 @@@ W:     https://01.org/linux-acp
  S:    Supported
  F:    drivers/platform/x86/intel_menlow.c
  
 -INTEL IA32 MICROCODE UPDATE SUPPORT
 -M:    Borislav Petkov <bp@alien8.de>
 -S:    Maintained
 -F:    arch/x86/kernel/cpu/microcode/core*
 -F:    arch/x86/kernel/cpu/microcode/intel*
 -
  INTEL I/OAT DMA DRIVER
  M:    Dave Jiang <dave.jiang@intel.com>
  R:    Dan Williams <dan.j.williams@intel.com>
@@@ -5578,12 -5514,6 +5577,12 @@@ F:    Documentation/networking/README.ipw2
  F:    Documentation/networking/README.ipw2200
  F:    drivers/net/wireless/ipw2x00/
  
 +INTEL(R) TRACE HUB
 +M:    Alexander Shishkin <alexander.shishkin@linux.intel.com>
 +S:    Supported
 +F:    Documentation/trace/intel_th.txt
 +F:    drivers/hwtracing/intel_th/
 +
  INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
  M:    Richard L Maliszewski <richard.l.maliszewski@intel.com>
  M:    Gang Wei <gang.wei@intel.com>
@@@ -5615,7 -5545,7 +5614,7 @@@ F:      drivers/net/wireless/iwlegacy
  INTEL WIRELESS WIFI LINK (iwlwifi)
  M:    Johannes Berg <johannes.berg@intel.com>
  M:    Emmanuel Grumbach <emmanuel.grumbach@intel.com>
 -M:    Intel Linux Wireless <ilw@linux.intel.com>
 +M:    Intel Linux Wireless <linuxwifi@intel.com>
  L:    linux-wireless@vger.kernel.org
  W:    http://intellinuxwireless.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi.git
@@@ -5631,22 -5561,6 +5630,22 @@@ F:    include/linux/mei_cl_bus.
  F:    drivers/misc/mei/*
  F:    Documentation/misc-devices/mei/*
  
 +INTEL MIC DRIVERS (mic)
 +M:    Sudeep Dutt <sudeep.dutt@intel.com>
 +M:    Ashutosh Dixit <ashutosh.dixit@intel.com>
 +S:    Supported
 +W:    https://github.com/sudeepdutt/mic
 +W:    http://software.intel.com/en-us/mic-developer
 +F:    include/linux/mic_bus.h
 +F:    include/linux/scif.h
 +F:    include/uapi/linux/mic_common.h
 +F:    include/uapi/linux/mic_ioctl.h
 +F     include/uapi/linux/scif_ioctl.h
 +F:    drivers/misc/mic/
 +F:    drivers/dma/mic_x100_dma.c
 +F:    drivers/dma/mic_x100_dma.h
 +F     Documentation/mic/
 +
  INTEL PMC IPC DRIVER
  M:    Zha Qipeng<qipeng.zha@intel.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -6042,7 -5956,7 +6041,7 @@@ F:      virt/kvm
  KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
  M:    Joerg Roedel <joro@8bytes.org>
  L:    kvm@vger.kernel.org
 -W:    http://kvm.qumranet.com
 +W:    http://www.linux-kvm.org/
  S:    Maintained
  F:    arch/x86/include/asm/svm.h
  F:    arch/x86/kvm/svm.c
  KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
  M:    Alexander Graf <agraf@suse.com>
  L:    kvm-ppc@vger.kernel.org
 -W:    http://kvm.qumranet.com
 +W:    http://www.linux-kvm.org/
  T:    git git://github.com/agraf/linux-2.6.git
  S:    Supported
  F:    arch/powerpc/include/asm/kvm*
@@@ -6178,13 -6092,6 +6177,13 @@@ F:    Documentation/auxdisplay/ks010
  F:    drivers/auxdisplay/ks0108.c
  F:    include/linux/ks0108.h
  
 +L3MDEV
 +M:    David Ahern <dsa@cumulusnetworks.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    net/l3mdev
 +F:    include/net/l3mdev.h
 +
  LAPB module
  L:    linux-x25@vger.kernel.org
  S:    Orphan
@@@ -6335,14 -6242,6 +6334,14 @@@ F:    drivers/nvdimm/pmem.
  F:    include/linux/pmem.h
  F:    arch/*/include/asm/pmem.h
  
 +LIGHTNVM PLATFORM SUPPORT
 +M:    Matias Bjorling <mb@lightnvm.io>
 +W:    http://github/OpenChannelSSD
 +S:    Maintained
 +F:    drivers/lightnvm/
 +F:    include/linux/lightnvm.h
 +F:    include/uapi/linux/lightnvm.h
 +
  LINUX FOR IBM pSERIES (RS/6000)
  M:    Paul Mackerras <paulus@au.ibm.com>
  W:    http://www.ibm.com/linux/ltc/projects/ppc
@@@ -6660,13 -6559,6 +6659,13 @@@ M:    Guenter Roeck <linux@roeck-us.net
  S:    Maintained
  F:    drivers/net/dsa/mv88e6352.c
  
 +MARVELL CRYPTO DRIVER
 +M:    Boris Brezillon <boris.brezillon@free-electrons.com>
 +M:    Arnaud Ebalard <arno@natisbad.org>
 +F:    drivers/crypto/marvell/
 +S:    Maintained
 +L:    linux-crypto@vger.kernel.org
 +
  MARVELL GIGABIT ETHERNET DRIVERS (skge/sky2)
  M:    Mirko Lindner <mlindner@marvell.com>
  M:    Stephen Hemminger <stephen@networkplumber.org>
@@@ -6789,12 -6681,6 +6788,12 @@@ W:    http://linuxtv.or
  S:    Maintained
  F:    drivers/media/radio/radio-maxiradio*
  
 +MCP4531 MICROCHIP DIGITAL POTENTIOMETER DRIVER
 +M:    Peter Rosin <peda@axentia.se>
 +L:    linux-iio@vger.kernel.org
 +S:    Maintained
 +F:    drivers/iio/potentiometer/mcp4531.c
 +
  MEDIA DRIVERS FOR RENESAS - VSP1
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
@@@ -6891,6 -6777,7 +6890,6 @@@ F:      drivers/scsi/megaraid
  
  MELLANOX ETHERNET DRIVER (mlx4_en)
  M:    Amir Vadai <amirv@mellanox.com>
 -M:    Ido Shamay <idos@mellanox.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  W:    http://www.mellanox.com
@@@ -6967,6 -6854,7 +6966,7 @@@ S:      Supporte
  F:    arch/metag/
  F:    Documentation/metag/
  F:    Documentation/devicetree/bindings/metag/
+ F:    Documentation/devicetree/bindings/interrupt-controller/img,*
  F:    drivers/clocksource/metag_generic.c
  F:    drivers/irqchip/irq-metag.c
  F:    drivers/irqchip/irq-metag-ext.c
@@@ -7030,13 -6918,6 +7030,13 @@@ S:    Supporte
  F:    include/linux/mlx5/
  F:    drivers/infiniband/hw/mlx5/
  
 +MELEXIS MLX90614 DRIVER
 +M:    Crt Mori <cmo@melexis.com>
 +L:    linux-iio@vger.kernel.org
 +W:    http://www.melexis.com
 +S:    Supported
 +F:    drivers/iio/temperature/mlx90614.c
 +
  MN88472 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
@@@ -7090,7 -6971,6 +7090,7 @@@ M:      Alan Ott <alan@signal11.us
  L:    linux-wpan@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ieee802154/mrf24j40.c
 +F:    Documentation/devicetree/bindings/net/ieee802154/mrf24j40.txt
  
  MSI LAPTOP SUPPORT
  M:    "Lee, Chun-Yi" <jlee@suse.com>
@@@ -7163,6 -7043,7 +7163,6 @@@ F:      drivers/media/i2c/mt9v032.
  F:    include/media/mt9v032.h
  
  MULTIFUNCTION DEVICES (MFD)
 -M:    Samuel Ortiz <sameo@linux.intel.com>
  M:    Lee Jones <lee.jones@linaro.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git
  S:    Supported
@@@ -7424,6 -7305,7 +7424,6 @@@ S:      Odd Fixe
  F:    drivers/net/
  F:    include/linux/if_*
  F:    include/linux/netdevice.h
 -F:    include/linux/arcdevice.h
  F:    include/linux/etherdevice.h
  F:    include/linux/fcdevice.h
  F:    include/linux/fddidevice.h
@@@ -7516,10 -7398,10 +7516,10 @@@ NOKIA N900 POWER SUPPLY DRIVER
  M:    Pali Rohár <pali.rohar@gmail.com>
  S:    Maintained
  F:    include/linux/power/bq2415x_charger.h
 -F:    include/linux/power/bq27x00_battery.h
 +F:    include/linux/power/bq27xxx_battery.h
  F:    include/linux/power/isp1704_charger.h
  F:    drivers/power/bq2415x_charger.c
 -F:    drivers/power/bq27x00_battery.c
 +F:    drivers/power/bq27xxx_battery.c
  F:    drivers/power/isp1704_charger.c
  F:    drivers/power/rx51_battery.c
  
@@@ -7562,13 -7444,11 +7562,13 @@@ F:   drivers/video/fbdev/riva
  F:    drivers/video/fbdev/nvidia/
  
  NVM EXPRESS DRIVER
 -M:    Matthew Wilcox <willy@linux.intel.com>
 +M:    Keith Busch <keith.busch@intel.com>
 +M:    Jens Axboe <axboe@fb.com>
  L:    linux-nvme@lists.infradead.org
 -T:    git git://git.infradead.org/users/willy/linux-nvme.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
 +W:    https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux-block/
  S:    Supported
 -F:    drivers/block/nvme*
 +F:    drivers/nvme/host/
  F:    include/linux/nvme.h
  
  NVMEM FRAMEWORK
@@@ -8063,14 -7943,6 +8063,14 @@@ F:    include/linux/pci
  F:    arch/x86/pci/
  F:    arch/x86/kernel/quirks.c
  
 +PCI DRIVER FOR ALTERA PCIE IP
 +M:    Ley Foon Tan <lftan@altera.com>
 +L:    rfi@lists.rocketboards.org (moderated for non-subscribers)
 +L:    linux-pci@vger.kernel.org
 +S:    Supported
 +F:    Documentation/devicetree/bindings/pci/altera-pcie.txt
 +F:    drivers/pci/host/pcie-altera.c
 +
  PCI DRIVER FOR ARM VERSATILE PLATFORM
  M:    Rob Herring <robh@kernel.org>
  L:    linux-pci@vger.kernel.org
@@@ -8172,14 -8044,6 +8172,14 @@@ L:    linux-pci@vger.kernel.or
  S:    Maintained
  F:    drivers/pci/host/*spear*
  
 +PCI MSI DRIVER FOR ALTERA MSI IP
 +M:    Ley Foon Tan <lftan@altera.com>
 +L:    rfi@lists.rocketboards.org (moderated for non-subscribers)
 +L:    linux-pci@vger.kernel.org
 +S:    Supported
 +F:    Documentation/devicetree/bindings/pci/altera-pcie-msi.txt
 +F:    drivers/pci/host/pcie-altera-msi.c
 +
  PCI MSI DRIVER FOR APPLIEDMICRO XGENE
  M:    Duc Dang <dhdang@apm.com>
  L:    linux-pci@vger.kernel.org
@@@ -8188,13 -8052,6 +8188,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/pci/xgene-pci-msi.txt
  F:    drivers/pci/host/pci-xgene-msi.c
  
 +PCIE DRIVER FOR HISILICON
 +M:    Zhou Wang <wangzhou1@hisilicon.com>
 +L:    linux-pci@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
 +F:    drivers/pci/host/pcie-hisi.c
 +
  PCMCIA SUBSYSTEM
  P:    Linux PCMCIA Team
  L:    linux-pcmcia@lists.infradead.org
@@@ -8301,13 -8158,6 +8301,13 @@@ L:    linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    drivers/pinctrl/pinctrl-at91.*
  
 +PIN CONTROLLER - ATMEL AT91 PIO4
 +M:    Ludovic Desroches <ludovic.desroches@atmel.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +L:    linux-gpio@vger.kernel.org
 +S:    Supported
 +F:    drivers/pinctrl/pinctrl-at91-pio4.*
 +
  PIN CONTROLLER - INTEL
  M:    Mika Westerberg <mika.westerberg@linux.intel.com>
  M:    Heikki Krogerus <heikki.krogerus@linux.intel.com>
@@@ -8669,16 -8519,6 +8669,16 @@@ L:    netdev@vger.kernel.or
  S:    Supported
  F:    drivers/net/ethernet/qlogic/qlge/
  
 +QLOGIC QL4xxx ETHERNET DRIVER
 +M:    Yuval Mintz <Yuval.Mintz@qlogic.com>
 +M:    Ariel Elior <Ariel.Elior@qlogic.com>
 +M:    everest-linux-l2@qlogic.com
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +F:    drivers/net/ethernet/qlogic/qed/
 +F:    include/linux/qed/
 +F:    drivers/net/ethernet/qlogic/qede/
 +
  QNX4 FILESYSTEM
  M:    Anders Larsen <al@alarsen.net>
  W:    http://www.alarsen.net/linux/qnx4fs/
@@@ -9030,13 -8870,6 +9030,13 @@@ S:    Maintaine
  F:    drivers/net/wireless/rtlwifi/
  F:    drivers/net/wireless/rtlwifi/rtl8192ce/
  
 +RTL8XXXU WIRELESS DRIVER (rtl8xxxu)
 +M:    Jes Sorensen <Jes.Sorensen@redhat.com>
 +L:    linux-wireless@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8723au-mac80211
 +S:    Maintained
 +F:    drivers/net/wireless/realtek/rtl8xxxu/
 +
  S3 SAVAGE FRAMEBUFFER DRIVER
  M:    Antonino Daplas <adaplas@gmail.com>
  L:    linux-fbdev@vger.kernel.org
@@@ -9110,13 -8943,6 +9110,13 @@@ F:    drivers/s390/net/*iucv
  F:    include/net/iucv/
  F:    net/iucv/
  
 +S390 IOMMU (PCI)
 +M:    Gerald Schaefer <gerald.schaefer@de.ibm.com>
 +L:    linux-s390@vger.kernel.org
 +W:    http://www.ibm.com/developerworks/linux/linux390/
 +S:    Supported
 +F:    drivers/iommu/s390-iommu.c
 +
  S3C24XX SD/MMC Driver
  M:    Ben Dooks <ben-linux@fluff.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -9275,15 -9101,6 +9275,15 @@@ S: Supporte
  F: Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
  F: drivers/net/ethernet/synopsys/dwc_eth_qos.c
  
 +SYNOPSYS DESIGNWARE I2C DRIVER
 +M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +M:    Jarkko Nikula <jarkko.nikula@linux.intel.com>
 +M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 +L:    linux-i2c@vger.kernel.org
 +S:    Maintained
 +F:    drivers/i2c/busses/i2c-designware-*
 +F:    include/linux/platform_data/i2c-designware.h
 +
  SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER
  M:    Seungwon Jeon <tgih.jun@samsung.com>
  M:    Jaehoon Chung <jh80.chung@samsung.com>
@@@ -9292,14 -9109,6 +9292,14 @@@ S:    Maintaine
  F:    include/linux/mmc/dw_mmc.h
  F:    drivers/mmc/host/dw_mmc*
  
 +SYSTEM TRACE MODULE CLASS
 +M:    Alexander Shishkin <alexander.shishkin@linux.intel.com>
 +S:    Maintained
 +F:    Documentation/trace/stm.txt
 +F:    drivers/hwtracing/stm/
 +F:    include/linux/stm.h
 +F:    include/uapi/linux/stm.h
 +
  THUNDERBOLT DRIVER
  M:    Andreas Noever <andreas.noever@gmail.com>
  S:    Maintained
@@@ -9505,8 -9314,8 +9505,8 @@@ F:      include/uapi/linux/phantom.
  
  SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
  M:    Jayamohan Kallickal <jayamohan.kallickal@avagotech.com>
 -M:    Minh Tran <minh.tran@avagotech.com>
 -M:    John Soni Jose <sony.john-n@avagotech.com>
 +M:    Ketan Mukadam <ketan.mukadam@avagotech.com>
 +M:    John Soni Jose <sony.john@avagotech.com>
  L:    linux-scsi@vger.kernel.org
  W:    http://www.avagotech.com
  S:    Supported
@@@ -9634,7 -9443,7 +9634,7 @@@ SIMPLEFB FB DRIVE
  M:    Hans de Goede <hdegoede@redhat.com>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    Documentation/devicetree/bindings/video/simple-framebuffer.txt
+ F:    Documentation/devicetree/bindings/display/simple-framebuffer.txt
  F:    drivers/video/fbdev/simplefb.c
  F:    include/linux/platform_data/simplefb.h
  
@@@ -10105,6 -9914,7 +10105,6 @@@ S:    Maintaine
  F:    drivers/staging/lustre
  
  STAGING - NVIDIA COMPLIANT EMBEDDED CONTROLLER INTERFACE (nvec)
 -M:    Julian Andres Klode <jak@jak-linux.org>
  M:    Marc Dietrich <marvin24@gmx.de>
  L:    ac100@lists.launchpad.net (moderated for non-subscribers)
  L:    linux-tegra@vger.kernel.org
@@@ -10168,11 -9978,9 +10168,11 @@@ F:  drivers/staging/vt665?
  
  STAGING - WILC1000 WIFI DRIVER
  M:    Johnny Kim <johnny.kim@atmel.com>
 -M:    Rachel Kim <rachel.kim@atmel.com>
 -M:    Dean Lee <dean.lee@atmel.com>
 +M:    Austin Shin <austin.shin@atmel.com>
  M:    Chris Park <chris.park@atmel.com>
 +M:    Tony Cho <tony.cho@atmel.com>
 +M:    Glen Lee <glen.lee@atmel.com>
 +M:    Leo Kim <leo.kim@atmel.com>
  L:    linux-wireless@vger.kernel.org
  S:    Supported
  F:    drivers/staging/wilc1000/
@@@ -10261,10 -10069,10 +10261,11 @@@ F:        include/net/switchdev.
  
  SYNOPSYS ARC ARCHITECTURE
  M:    Vineet Gupta <vgupta@synopsys.com>
 +L:    linux-snps-arc@lists.infraded.org
  S:    Supported
  F:    arch/arc/
  F:    Documentation/devicetree/bindings/arc/*
+ F:    Documentation/devicetree/bindings/interrupt-controller/snps,arc*
  F:    drivers/tty/serial/arc_uart.c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
  
@@@ -10722,12 -10530,6 +10723,12 @@@ L: platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/toshiba_haps.c
  
 +TOSHIBA WMI HOTKEYS DRIVER
 +M:    Azael Avalos <coproscefalo@gmail.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/toshiba-wmi.c
 +
  TOSHIBA SMM DRIVER
  M:    Jonathan Buzzard <jonathan@buzzard.org.uk>
  W:    http://www.buzzard.org.uk/toshiba/
@@@ -10785,7 -10587,6 +10786,7 @@@ F:   drivers/media/pci/tw68
  TPM DEVICE DRIVER
  M:    Peter Huewe <peterhuewe@gmx.de>
  M:    Marcel Selhorst <tpmdd@selhorst.net>
 +M:    Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
  R:    Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
  W:    http://tpmdd.sourceforge.net
  L:    tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
@@@ -11270,12 -11071,6 +11271,12 @@@ S: Maintaine
  F:    Documentation/fb/uvesafb.txt
  F:    drivers/video/fbdev/uvesafb.*
  
 +VF610 NAND DRIVER
 +M:    Stefan Agner <stefan@agner.ch>
 +L:    linux-mtd@lists.infradead.org
 +S:    Supported
 +F:    drivers/mtd/nand/vf610_nfc.c
 +
  VFAT/FAT/MSDOS FILESYSTEM
  M:    OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  S:    Maintained
@@@ -11306,12 -11101,6 +11307,12 @@@ S: Maintaine
  F:    drivers/media/v4l2-core/videobuf2-*
  F:    include/media/videobuf2-*
  
 +VIRTUAL SERIO DEVICE DRIVER
 +M:    Stephen Chandler Paul <thatslyude@gmail.com>
 +S:    Maintained
 +F:    drivers/input/serio/userio.c
 +F:    include/uapi/linux/userio.h
 +
  VIRTIO CONSOLE DRIVER
  M:    Amit Shah <amit.shah@redhat.com>
  L:    virtualization@lists.linux-foundation.org
@@@ -11389,13 -11178,6 +11390,13 @@@ L: netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/via/via-velocity.*
  
 +VIRT LIB
 +M:    Alex Williamson <alex.williamson@redhat.com>
 +M:    Paolo Bonzini <pbonzini@redhat.com>
 +L:    kvm@vger.kernel.org
 +S:    Supported
 +F:    virt/lib/
 +
  VIVID VIRTUAL VIDEO DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -11484,6 -11266,7 +11485,6 @@@ M:   Shrijeet Mukherjee <shm@cumulusnetwo
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/vrf.c
 -F:    include/net/vrf.h
  F:    Documentation/networking/vrf.txt
  
  VT1211 HARDWARE MONITOR DRIVER
@@@ -11596,15 -11379,21 +11597,15 @@@ W:        http://oops.ghostprotocols.net:81/bl
  S:    Maintained
  F:    drivers/net/wireless/wl3501*
  
 -WM97XX TOUCHSCREEN DRIVERS
 -M:    Mark Brown <broonie@kernel.org>
 -M:    Liam Girdwood <lrg@slimlogic.co.uk>
 -L:    linux-input@vger.kernel.org
 -W:    https://github.com/CirrusLogic/linux-drivers/wiki
 -S:    Supported
 -F:    drivers/input/touchscreen/*wm97*
 -F:    include/linux/wm97xx.h
 -
  WOLFSON MICROELECTRONICS DRIVERS
  L:    patches@opensource.wolfsonmicro.com
  T:    git https://github.com/CirrusLogic/linux-drivers.git
  W:    https://github.com/CirrusLogic/linux-drivers/wiki
  S:    Supported
  F:    Documentation/hwmon/wm83??
 +F:    Documentation/devicetree/bindings/extcon/extcon-arizona.txt
 +F:    Documentation/devicetree/bindings/regulator/arizona-regulator.txt
 +F:    Documentation/devicetree/bindings/mfd/arizona.txt
  F:    arch/arm/mach-s3c64xx/mach-crag6410*
  F:    drivers/clk/clk-wm83*.c
  F:    drivers/extcon/extcon-arizona.c
@@@ -11665,7 -11454,6 +11666,7 @@@ L:   platform-driver-x86@vger.kernel.or
  T:    git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
  S:    Maintained
  F:    drivers/platform/x86/
 +F:    drivers/platform/olpc/
  
  X86 MCE INFRASTRUCTURE
  M:    Tony Luck <tony.luck@intel.com>
@@@ -11674,11 -11462,6 +11675,11 @@@ L: linux-edac@vger.kernel.or
  S:    Maintained
  F:    arch/x86/kernel/cpu/mcheck/*
  
 +X86 MICROCODE UPDATE SUPPORT
 +M:    Borislav Petkov <bp@alien8.de>
 +S:    Maintained
 +F:    arch/x86/kernel/cpu/microcode/*
 +
  X86 VDSO
  M:    Andy Lutomirski <luto@amacapital.net>
  L:    linux-kernel@vger.kernel.org
@@@ -11879,7 -11662,6 +11880,7 @@@ F:   drivers/tty/serial/zs.
  ZSMALLOC COMPRESSED SLAB MEMORY ALLOCATOR
  M:    Minchan Kim <minchan@kernel.org>
  M:    Nitin Gupta <ngupta@vflare.org>
 +R:    Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
  L:    linux-mm@kvack.org
  S:    Maintained
  F:    mm/zsmalloc.c
index bb8fa023d5741dff9b4f9033ed2cf6f6d7b69f2d,349eb1249b21ab6b75a03c366e035178c098e3f6..6019f5d3ad7f7314c5664f41b6100fef556a6f49
@@@ -578,7 -578,7 +578,7 @@@ dtb-$(CONFIG_MACH_SUN4I) += 
        sun4i-a10-hackberry.dtb \
        sun4i-a10-hyundai-a7hd.dtb \
        sun4i-a10-inet97fv2.dtb \
 -      sun4i-a10-itead-iteaduino-plus.dts \
 +      sun4i-a10-itead-iteaduino-plus.dtb \
        sun4i-a10-jesurun-q5.dtb \
        sun4i-a10-marsboard.dtb \
        sun4i-a10-mini-xplus.dtb \
@@@ -740,5 -740,8 +740,8 @@@ dtb-$(CONFIG_ARCH_MEDIATEK) += 
  dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
  endif
  
+ dtstree               := $(srctree)/$(src)
+ dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
  always                := $(dtb-y)
  clean-files   := *.dtb
diff --combined drivers/of/irq.c
index 0baf626da56ac5b142d75367a7cfdb52747c24ce,bcc1f4b2211efc07f12cd95a1f895392648dde89..902b89be7217137726be7eb1ab19263c0372635a
@@@ -53,7 -53,7 +53,7 @@@ EXPORT_SYMBOL_GPL(irq_of_parse_and_map)
   * Returns a pointer to the interrupt parent node, or NULL if the interrupt
   * parent could not be determined.
   */
- struct device_node *of_irq_find_parent(struct device_node *child)
+ static struct device_node *of_irq_find_parent(struct device_node *child)
  {
        struct device_node *p;
        const __be32 *parp;
@@@ -501,10 -501,12 +501,12 @@@ void __init of_irq_init(const struct of
                 * pointer, interrupt-parent device_node etc.
                 */
                desc = kzalloc(sizeof(*desc), GFP_KERNEL);
-               if (WARN_ON(!desc))
+               if (WARN_ON(!desc)) {
+                       of_node_put(np);
                        goto err;
+               }
  
-               desc->dev = np;
+               desc->dev = of_node_get(np);
                desc->interrupt_parent = of_irq_find_parent(np);
                if (desc->interrupt_parent == np)
                        desc->interrupt_parent = NULL;
  err:
        list_for_each_entry_safe(desc, temp_desc, &intc_desc_list, list) {
                list_del(&desc->list);
+               of_node_put(desc->dev);
                kfree(desc);
        }
  }
  
 +static u32 __of_msi_map_rid(struct device *dev, struct device_node **np,
 +                          u32 rid_in)
 +{
 +      struct device *parent_dev;
 +      struct device_node *msi_controller_node;
 +      struct device_node *msi_np = *np;
 +      u32 map_mask, masked_rid, rid_base, msi_base, rid_len, phandle;
 +      int msi_map_len;
 +      bool matched;
 +      u32 rid_out = rid_in;
 +      const __be32 *msi_map = NULL;
 +
 +      /*
 +       * Walk up the device parent links looking for one with a
 +       * "msi-map" property.
 +       */
 +      for (parent_dev = dev; parent_dev; parent_dev = parent_dev->parent) {
 +              if (!parent_dev->of_node)
 +                      continue;
 +
 +              msi_map = of_get_property(parent_dev->of_node,
 +                                        "msi-map", &msi_map_len);
 +              if (!msi_map)
 +                      continue;
 +
 +              if (msi_map_len % (4 * sizeof(__be32))) {
 +                      dev_err(parent_dev, "Error: Bad msi-map length: %d\n",
 +                              msi_map_len);
 +                      return rid_out;
 +              }
 +              /* We have a good parent_dev and msi_map, let's use them. */
 +              break;
 +      }
 +      if (!msi_map)
 +              return rid_out;
 +
 +      /* The default is to select all bits. */
 +      map_mask = 0xffffffff;
 +
 +      /*
 +       * Can be overridden by "msi-map-mask" property.  If
 +       * of_property_read_u32() fails, the default is used.
 +       */
 +      of_property_read_u32(parent_dev->of_node, "msi-map-mask", &map_mask);
 +
 +      masked_rid = map_mask & rid_in;
 +      matched = false;
 +      while (!matched && msi_map_len >= 4 * sizeof(__be32)) {
 +              rid_base = be32_to_cpup(msi_map + 0);
 +              phandle = be32_to_cpup(msi_map + 1);
 +              msi_base = be32_to_cpup(msi_map + 2);
 +              rid_len = be32_to_cpup(msi_map + 3);
 +
 +              msi_controller_node = of_find_node_by_phandle(phandle);
 +
 +              matched = (masked_rid >= rid_base &&
 +                         masked_rid < rid_base + rid_len);
 +              if (msi_np)
 +                      matched &= msi_np == msi_controller_node;
 +
 +              if (matched && !msi_np) {
 +                      *np = msi_np = msi_controller_node;
 +                      break;
 +              }
 +
 +              of_node_put(msi_controller_node);
 +              msi_map_len -= 4 * sizeof(__be32);
 +              msi_map += 4;
 +      }
 +      if (!matched)
 +              return rid_out;
 +
 +      rid_out = masked_rid + msi_base;
 +      dev_dbg(dev,
 +              "msi-map at: %s, using mask %08x, rid-base: %08x, msi-base: %08x, length: %08x, rid: %08x -> %08x\n",
 +              dev_name(parent_dev), map_mask, rid_base, msi_base,
 +              rid_len, rid_in, rid_out);
 +
 +      return rid_out;
 +}
 +
  /**
 - * of_msi_configure - Set the msi_domain field of a device
 - * @dev: device structure to associate with an MSI irq domain
 - * @np: device node for that device
 + * of_msi_map_rid - Map a MSI requester ID for a device.
 + * @dev: device for which the mapping is to be done.
 + * @msi_np: device node of the expected msi controller.
 + * @rid_in: unmapped MSI requester ID for the device.
 + *
 + * Walk up the device hierarchy looking for devices with a "msi-map"
 + * property.  If found, apply the mapping to @rid_in.
 + *
 + * Returns the mapped MSI requester ID.
   */
 -void of_msi_configure(struct device *dev, struct device_node *np)
 +u32 of_msi_map_rid(struct device *dev, struct device_node *msi_np, u32 rid_in)
 +{
 +      return __of_msi_map_rid(dev, &msi_np, rid_in);
 +}
 +
 +static struct irq_domain *__of_get_msi_domain(struct device_node *np,
 +                                            enum irq_domain_bus_token token)
 +{
 +      struct irq_domain *d;
 +
 +      d = irq_find_matching_host(np, token);
 +      if (!d)
 +              d = irq_find_host(np);
 +
 +      return d;
 +}
 +
 +/**
 + * of_msi_map_get_device_domain - Use msi-map to find the relevant MSI domain
 + * @dev: device for which the mapping is to be done.
 + * @rid: Requester ID for the device.
 + *
 + * Walk up the device hierarchy looking for devices with a "msi-map"
 + * property.
 + *
 + * Returns: the MSI domain for this device (or NULL on failure)
 + */
 +struct irq_domain *of_msi_map_get_device_domain(struct device *dev, u32 rid)
 +{
 +      struct device_node *np = NULL;
 +
 +      __of_msi_map_rid(dev, &np, rid);
 +      return __of_get_msi_domain(np, DOMAIN_BUS_PCI_MSI);
 +}
 +
 +/**
 + * of_msi_get_domain - Use msi-parent to find the relevant MSI domain
 + * @dev: device for which the domain is requested
 + * @np: device node for @dev
 + * @token: bus type for this domain
 + *
 + * Parse the msi-parent property (both the simple and the complex
 + * versions), and returns the corresponding MSI domain.
 + *
 + * Returns: the MSI domain for this device (or NULL on failure).
 + */
 +struct irq_domain *of_msi_get_domain(struct device *dev,
 +                                   struct device_node *np,
 +                                   enum irq_domain_bus_token token)
  {
        struct device_node *msi_np;
        struct irq_domain *d;
  
 +      /* Check for a single msi-parent property */
        msi_np = of_parse_phandle(np, "msi-parent", 0);
 -      if (!msi_np)
 -              return;
 +      if (msi_np && !of_property_read_bool(msi_np, "#msi-cells")) {
 +              d = __of_get_msi_domain(msi_np, token);
 +              if (!d)
 +                      of_node_put(msi_np);
 +              return d;
 +      }
  
 -      d = irq_find_matching_host(msi_np, DOMAIN_BUS_PLATFORM_MSI);
 -      if (!d)
 -              d = irq_find_host(msi_np);
 -      dev_set_msi_domain(dev, d);
 +      if (token == DOMAIN_BUS_PLATFORM_MSI) {
 +              /* Check for the complex msi-parent version */
 +              struct of_phandle_args args;
 +              int index = 0;
 +
 +              while (!of_parse_phandle_with_args(np, "msi-parent",
 +                                                 "#msi-cells",
 +                                                 index, &args)) {
 +                      d = __of_get_msi_domain(args.np, token);
 +                      if (d)
 +                              return d;
 +
 +                      of_node_put(args.np);
 +                      index++;
 +              }
 +      }
 +
 +      return NULL;
 +}
 +
 +/**
 + * of_msi_configure - Set the msi_domain field of a device
 + * @dev: device structure to associate with an MSI irq domain
 + * @np: device node for that device
 + */
 +void of_msi_configure(struct device *dev, struct device_node *np)
 +{
 +      dev_set_msi_domain(dev,
 +                         of_msi_get_domain(dev, np, DOMAIN_BUS_PLATFORM_MSI));
  }
diff --combined drivers/of/of_pci.c
index d0c8902dfbf4c564cf50af70b5b6cbb6798905c5,ea7c2b6dfc56191876e56b7602934b1c11e963e9..ff27177f49edbdd3105b319c7deee29ed48da869
@@@ -5,7 -5,6 +5,7 @@@
  #include <linux/of_device.h>
  #include <linux/of_pci.h>
  #include <linux/slab.h>
 +#include <asm-generic/pci-bridge.h>
  
  static inline int __of_pci_pci_compare(struct device_node *node,
                                       unsigned int data)
@@@ -118,31 -117,6 +118,31 @@@ int of_get_pci_domain_nr(struct device_
  }
  EXPORT_SYMBOL_GPL(of_get_pci_domain_nr);
  
 +/**
 + * of_pci_check_probe_only - Setup probe only mode if linux,pci-probe-only
 + *                           is present and valid
 + */
 +void of_pci_check_probe_only(void)
 +{
 +      u32 val;
 +      int ret;
 +
 +      ret = of_property_read_u32(of_chosen, "linux,pci-probe-only", &val);
 +      if (ret) {
 +              if (ret == -ENODATA || ret == -EOVERFLOW)
 +                      pr_warn("linux,pci-probe-only without valid value, ignoring\n");
 +              return;
 +      }
 +
 +      if (val)
 +              pci_add_flags(PCI_PROBE_ONLY);
 +      else
 +              pci_clear_flags(PCI_PROBE_ONLY);
 +
 +      pr_info("PCI: PROBE_ONLY %sabled\n", val ? "en" : "dis");
 +}
 +EXPORT_SYMBOL_GPL(of_pci_check_probe_only);
 +
  /**
   * of_pci_dma_configure - Setup DMA configuration
   * @dev: ptr to pci_dev struct of the PCI device
@@@ -249,8 -223,10 +249,10 @@@ int of_pci_get_host_bridge_resources(st
                }
  
                err = of_pci_range_to_resource(&range, dev, res);
-               if (err)
-                       goto conversion_failed;
+               if (err) {
+                       kfree(res);
+                       continue;
+               }
  
                if (resource_type(res) == IORESOURCE_IO) {
                        if (!io_base) {
diff --combined include/linux/of_irq.h
index 65d969246a4d02e1ee8854451c923d5003941d31,580818d90475a267aa36d1b757e1e1328bf2f0fb..039f2eec49ced0ae1c638354d1a34c924cebde51
@@@ -46,11 -46,7 +46,12 @@@ extern int of_irq_get(struct device_nod
  extern int of_irq_get_byname(struct device_node *dev, const char *name);
  extern int of_irq_to_resource_table(struct device_node *dev,
                struct resource *res, int nr_irqs);
 +extern struct irq_domain *of_msi_get_domain(struct device *dev,
 +                                          struct device_node *np,
 +                                          enum irq_domain_bus_token token);
 +extern struct irq_domain *of_msi_map_get_device_domain(struct device *dev,
 +                                                     u32 rid);
+ extern void of_msi_configure(struct device *dev, struct device_node *np);
  #else
  static inline int of_irq_count(struct device_node *dev)
  {
@@@ -69,47 -65,25 +70,43 @@@ static inline int of_irq_to_resource_ta
  {
        return 0;
  }
 +static inline struct irq_domain *of_msi_get_domain(struct device *dev,
 +                                                 struct device_node *np,
 +                                                 enum irq_domain_bus_token token)
 +{
 +      return NULL;
 +}
 +static inline struct irq_domain *of_msi_map_get_device_domain(struct device *dev,
 +                                                            u32 rid)
 +{
 +      return NULL;
 +}
+ static inline void of_msi_configure(struct device *dev, struct device_node *np)
+ {
+ }
  #endif
  
- #if defined(CONFIG_OF)
+ #if defined(CONFIG_OF_IRQ) || defined(CONFIG_SPARC)
  /*
   * irq_of_parse_and_map() is used by all OF enabled platforms; but SPARC
   * implements it differently.  However, the prototype is the same for all,
   * so declare it here regardless of the CONFIG_OF_IRQ setting.
   */
  extern unsigned int irq_of_parse_and_map(struct device_node *node, int index);
- extern struct device_node *of_irq_find_parent(struct device_node *child);
- extern void of_msi_configure(struct device *dev, struct device_node *np);
 +u32 of_msi_map_rid(struct device *dev, struct device_node *msi_np, u32 rid_in);
  
- #else /* !CONFIG_OF */
+ #else /* !CONFIG_OF && !CONFIG_SPARC */
  static inline unsigned int irq_of_parse_and_map(struct device_node *dev,
                                                int index)
  {
        return 0;
  }
- static inline void *of_irq_find_parent(struct device_node *child)
- {
-       return NULL;
- }
 +
 +static inline u32 of_msi_map_rid(struct device *dev,
 +                               struct device_node *msi_np, u32 rid_in)
 +{
 +      return rid_in;
 +}
  #endif /* !CONFIG_OF */
  
  #endif /* __OF_IRQ_H */