Push to branch refs/heads/master:
17a4d48033813f2ba893d6918fa2931afcd9af02 -->
  a351e9b9fc24e982ec2f0e76379a49826036da12

 .mailmap                                           |    3 +
 Documentation/00-INDEX                             |    4 +-
 Documentation/ABI/obsolete/sysfs-block-zram        |  119 -
 Documentation/ABI/testing/configfs-rdma_cm         |    8 +
 Documentation/ABI/testing/sysfs-block-zram         |  101 +-
 .../ABI/testing/sysfs-bus-i2c-devices-bq32k        |    7 +
 Documentation/ABI/testing/sysfs-bus-iio            |   15 +-
 Documentation/ABI/testing/sysfs-bus-iio-adc-stm32  |   18 +
 .../ABI/testing/sysfs-bus-iio-distance-srf08       |   22 +
 .../ABI/testing/sysfs-bus-iio-timer-stm32          |   29 +
 .../ABI/testing/sysfs-class-devfreq-event          |   25 +
 Documentation/ABI/testing/sysfs-class-led          |   17 +
 Documentation/ABI/testing/sysfs-class-rc           |   14 +-
 Documentation/ABI/testing/sysfs-devices-edac       |   17 +
 .../ABI/testing/sysfs-kernel-iommu_groups          |   12 +
 Documentation/ABI/testing/sysfs-platform-hidma     |    2 +-
 .../ABI/testing/sysfs-platform-hidma-mgmt          |   20 +-
 Documentation/DMA-ISA-LPC.txt                      |    2 +-
 Documentation/DMA-attributes.txt                   |   10 +
 Documentation/DocBook/Makefile                     |   11 +-
 Documentation/DocBook/deviceiobook.tmpl            |  323 -
 Documentation/DocBook/iio.tmpl                     |  697 --
 Documentation/DocBook/kgdb.tmpl                    |    8 +-
 Documentation/DocBook/libata.tmpl                  |    2 +-
 Documentation/DocBook/regulator.tmpl               |  304 -
 Documentation/DocBook/uio-howto.tmpl               | 1112 ---
 Documentation/IPMI.txt                             |    2 +-
 Documentation/Makefile.sphinx                      |   34 +-
 Documentation/PCI/MSI-HOWTO.txt                    |    6 +-
 Documentation/PCI/PCIEBUS-HOWTO.txt                |   33 +-
 Documentation/PCI/pci-error-recovery.txt           |   24 +-
 Documentation/PCI/pci.txt                          |   24 +-
 Documentation/PCI/pcieaer-howto.txt                |    2 +-
 .../Design/Data-Structures/Data-Structures.html    |    5 +-
 .../Design/Expedited-Grace-Periods/ExpRCUFlow.svg  |  830 ++
 .../Expedited-Grace-Periods/ExpSchedFlow.svg       |  826 ++
 .../Expedited-Grace-Periods.html                   |  626 ++
 .../RCU/Design/Expedited-Grace-Periods/Funnel0.svg |  275 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel1.svg |  275 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel2.svg |  287 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel3.svg |  323 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel4.svg |  323 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel5.svg |  335 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel6.svg |  335 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel7.svg |  347 +
 .../RCU/Design/Expedited-Grace-Periods/Funnel8.svg |  311 +
 .../RCU/Design/Requirements/Requirements.html      |   12 +-
 Documentation/RCU/trace.txt                        |    5 +-
 Documentation/acpi/acpi-lid.txt                    |   16 +-
 Documentation/acpi/method-customizing.txt          |    2 +-
 Documentation/acpi/method-tracing.txt              |    2 +-
 Documentation/admin-guide/README.rst               |    4 +-
 Documentation/admin-guide/dynamic-debug-howto.rst  |    4 +-
 Documentation/admin-guide/kernel-parameters.txt    |   58 +-
 Documentation/admin-guide/md.rst                   |    5 +
 Documentation/admin-guide/ras.rst                  |   22 +-
 Documentation/arm/sunxi/README                     |    8 +
 Documentation/arm64/cpu-feature-registers.txt      |  240 +
 Documentation/arm64/silicon-errata.txt             |   48 +-
 Documentation/block/pr.txt                         |    2 +-
 Documentation/blockdev/mflash.txt                  |    2 +-
 Documentation/blockdev/zram.txt                    |   74 +-
 Documentation/cdrom/cdrom-standard.tex             |    9 +-
 Documentation/cgroup-v1/cpusets.txt                |    2 +-
 Documentation/cgroup-v1/rdma.txt                   |  109 +
 Documentation/cgroup-v2.txt                        |  104 +-
 Documentation/conf.py                              |    4 +-
 Documentation/core-api/cpu_hotplug.rst             |  372 +
 Documentation/core-api/index.rst                   |    1 +
 Documentation/cpu-freq/core.txt                    |   24 +-
 Documentation/cpu-freq/cpu-drivers.txt             |  177 +-
 Documentation/cpu-freq/cpufreq-stats.txt           |   24 +-
 Documentation/cpu-freq/governors.txt               |  322 +-
 Documentation/cpu-freq/index.txt                   |   23 +-
 Documentation/cpu-freq/intel-pstate.txt            |   15 +
 Documentation/cpu-freq/user-guide.txt              |   64 +-
 Documentation/cpu-hotplug.txt                      |  452 -
 Documentation/crypto/api-digest.rst                |    2 +-
 Documentation/crypto/api-skcipher.rst              |    2 +-
 Documentation/dev-tools/kcov.rst                   |    2 +-
 Documentation/dev-tools/sparse.rst                 |    6 +
 Documentation/device-mapper/cache.txt              |    4 +
 Documentation/device-mapper/dm-raid.txt            |   19 +-
 Documentation/devicetree/bindings/arm/amlogic.txt  |    2 +
 .../devicetree/bindings/arm/arch_timer.txt         |    6 +
 Documentation/devicetree/bindings/arm/axentia.txt  |   19 +
 Documentation/devicetree/bindings/arm/cpus.txt     |    2 +
 Documentation/devicetree/bindings/arm/davinci.txt  |    4 +
 Documentation/devicetree/bindings/arm/fsl.txt      |   20 +-
 .../bindings/arm/hisilicon/hisilicon.txt           |    4 +
 .../bindings/arm/marvell/98dx3236-resume-ctrl.txt  |   16 +
 .../devicetree/bindings/arm/marvell/98dx3236.txt   |   23 +
 .../arm/marvell/cp110-system-controller0.txt       |    6 +-
 .../devicetree/bindings/arm/omap/omap.txt          |    3 +
 Documentation/devicetree/bindings/arm/shmobile.txt |    2 +-
 Documentation/devicetree/bindings/arm/sunxi.txt    |    1 +
 .../devicetree/bindings/ata/ahci-da850.txt         |   18 +
 .../devicetree/bindings/bus/qcom,ebi2.txt          |    6 +-
 .../bindings/clock/brcm,bcm2835-cprman.txt         |   15 +-
 .../devicetree/bindings/clock/exynos4415-clock.txt |   38 -
 .../devicetree/bindings/clock/hi3660-clock.txt     |   42 +
 .../devicetree/bindings/clock/idt,versaclock5.txt  |   65 +
 .../bindings/clock/mvebu-corediv-clock.txt         |    1 +
 .../devicetree/bindings/clock/mvebu-cpu-clock.txt  |    1 +
 .../bindings/clock/mvebu-gated-clock.txt           |    2 +-
 .../devicetree/bindings/clock/qcom,rpmcc.txt       |    1 +
 .../devicetree/bindings/clock/qoriq-clock.txt      |    1 +
 .../devicetree/bindings/clock/renesas,cpg-mssr.txt |    6 +
 .../bindings/clock/rockchip,rk3328-cru.txt         |   57 +
 .../bindings/clock/rockchip,rk3399-cru.txt         |    6 +
 .../devicetree/bindings/clock/st,stm32-rcc.txt     |   37 +
 .../bindings/clock/stericsson,abx500.txt           |   20 +
 .../devicetree/bindings/clock/sun9i-de.txt         |   28 +
 .../devicetree/bindings/clock/sun9i-usb.txt        |   24 +
 .../devicetree/bindings/clock/sunxi-ccu.txt        |    2 +
 .../devicetree/bindings/clock/ti,cdce925.txt       |   15 +-
 .../devicetree/bindings/clock/zx296718-clk.txt     |    3 +
 .../devicetree/bindings/cpufreq/ti-cpufreq.txt     |  128 +
 .../devicetree/bindings/crypto/brcm,spu-crypto.txt |   22 +
 .../devicetree/bindings/crypto/mediatek-crypto.txt |   27 +
 .../devicetree/bindings/devfreq/exynos-bus.txt     |   14 +
 .../devicetree/bindings/display/arm,pl11x.txt      |    2 +-
 .../devicetree/bindings/display/brcm,bcm-vc4.txt   |   35 +
 .../bindings/display/bridge/adi,adv7511.txt        |   12 +
 .../bindings/display/bridge/analogix_dp.txt        |    2 +-
 .../devicetree/bindings/display/bridge/anx7814.txt |   40 +
 .../devicetree/bindings/display/bridge/dw_hdmi.txt |   85 +-
 .../bindings/display/bridge/sil-sii8620.txt        |   33 +
 .../bindings/display/bridge/ti,ths8135.txt         |   46 +
 .../bindings/display/cirrus,clps711x-fb.txt        |    2 +-
 .../bindings/display/exynos/exynos7-decon.txt      |    4 +-
 .../bindings/display/exynos/exynos_dsim.txt        |    1 -
 .../bindings/display/exynos/samsung-fimd.txt       |    3 +-
 .../bindings/display/hisilicon/hisi-ade.txt        |    2 +-
 .../devicetree/bindings/display/imx/fsl,imx-fb.txt |    2 +-
 .../devicetree/bindings/display/imx/hdmi.txt       |   51 +-
 .../devicetree/bindings/display/imx/ldb.txt        |    2 +-
 .../bindings/display/mediatek/mediatek,disp.txt    |    2 +-
 .../devicetree/bindings/display/msm/dsi.txt        |    2 +-
 .../devicetree/bindings/display/msm/edp.txt        |    2 +-
 .../devicetree/bindings/display/msm/gpu.txt        |   38 +-
 .../devicetree/bindings/display/msm/hdmi.txt       |    2 +-
 .../bindings/display/multi-inno,mi0283qt.txt       |   27 +
 .../bindings/display/panel/boe,nv101wxmn51.txt     |    7 +
 .../bindings/display/panel/netron-dy,e231732.txt   |    7 +
 .../bindings/display/panel/panel-dpi.txt           |    2 +-
 .../devicetree/bindings/display/panel/panel.txt    |    4 +
 .../bindings/display/panel/samsung,ld9040.txt      |    2 +-
 .../bindings/display/panel/samsung,s6e8aa0.txt     |    2 +-
 .../bindings/display/panel/tianma,tm070jdhg30.txt  |    7 +
 .../display/rockchip/analogix_dp-rockchip.txt      |    2 +-
 .../bindings/display/rockchip/dw_hdmi-rockchip.txt |   43 +-
 .../devicetree/bindings/display/ssd1307fb.txt      |    5 +-
 .../devicetree/bindings/display/tilcdc/panel.txt   |    2 +-
 .../devicetree/bindings/display/zte,vou.txt        |   15 +
 .../devicetree/bindings/dma/stm32-dma.txt          |    5 +-
 .../devicetree/bindings/eeprom/eeprom.txt          |    2 +
 .../bindings/gpio/cortina,gemini-gpio.txt          |   24 +
 .../devicetree/bindings/gpio/gpio-pca953x.txt      |    4 +
 Documentation/devicetree/bindings/gpio/gpio.txt    |    8 +-
 .../devicetree/bindings/gpu/arm,mali-utgard.txt    |   81 +
 .../devicetree/bindings/hwmon/adc128d818.txt       |   38 +
 Documentation/devicetree/bindings/hwmon/lm70.txt   |    1 +
 Documentation/devicetree/bindings/hwmon/lm90.txt   |    6 +
 Documentation/devicetree/bindings/hwmon/sht15.txt  |   19 +
 .../devicetree/bindings/hwmon/stts751.txt          |   15 +
 .../devicetree/bindings/i2c/i2c-mux-pca954x.txt    |   14 +-
 .../devicetree/bindings/i2c/i2c-sh_mobile.txt      |    1 +
 .../devicetree/bindings/i2c/i2c-stm32.txt          |   33 +
 .../bindings/i2c/nvidia,tegra186-bpmp-i2c.txt      |   42 +
 .../devicetree/bindings/i2c/trivial-devices.txt    |    1 +
 .../devicetree/bindings/iio/accel/lis302.txt       |    2 +-
 .../bindings/iio/adc/amlogic,meson-saradc.txt      |   32 +
 .../devicetree/bindings/iio/adc/avia-hx711.txt     |   18 +
 .../devicetree/bindings/iio/adc/max11100.txt       |   18 +
 .../bindings/iio/adc/qcom,pm8xxx-xoadc.txt         |  149 +
 .../bindings/iio/adc/renesas,gyroadc.txt           |   99 +
 .../devicetree/bindings/iio/adc/st,stm32-adc.txt   |    7 +
 .../devicetree/bindings/iio/adc/ti-ads7950.txt     |   23 +
 .../devicetree/bindings/iio/imu/bmi160.txt         |   36 +
 .../devicetree/bindings/iio/imu/st_lsm6dsx.txt     |   26 +
 .../devicetree/bindings/iio/light/cm3605.txt       |   41 +
 .../bindings/iio/potentiometer/max5481.txt         |   23 +
 .../devicetree/bindings/iio/st-sensors.txt         |    2 +
 .../devicetree/bindings/iio/temperature/tmp007.txt |   35 +
 .../bindings/iio/timer/stm32-timer-trigger.txt     |   23 +
 .../bindings/input/cypress,tm2-touchkey.txt        |   27 +
 .../devicetree/bindings/input/mpr121-touchkey.txt  |   30 +
 .../devicetree/bindings/input/pwm-beeper.txt       |   16 +
 .../bindings/input/touchscreen/zet6223.txt         |   32 +
 .../bindings/interrupt-controller/arm,gic.txt      |    2 +-
 .../cortina,gemini-interrupt-controller.txt        |   22 +
 .../interrupt-controller/snps,archs-idu-intc.txt   |   24 +-
 .../devicetree/bindings/iommu/arm,smmu.txt         |   10 +-
 Documentation/devicetree/bindings/leds/common.txt  |   28 +-
 .../devicetree/bindings/leds/irled/spi-ir-led.txt  |   29 +
 .../devicetree/bindings/media/fsl-vdoa.txt         |   21 +
 .../devicetree/bindings/media/gpio-ir-receiver.txt |    3 +-
 .../devicetree/bindings/media/hix5hd2-ir.txt       |    2 +-
 .../bindings/media/i2c/toshiba,et8ek8.txt          |   48 +
 .../devicetree/bindings/media/meson-ir.txt         |    3 +
 .../devicetree/bindings/media/mtk-cir.txt          |   24 +
 Documentation/devicetree/bindings/media/rc.txt     |  117 +
 .../devicetree/bindings/media/st,st-delta.txt      |   17 +
 .../devicetree/bindings/media/sunxi-ir.txt         |    2 +-
 .../devicetree/bindings/media/ti,da850-vpif.txt    |   83 +
 Documentation/devicetree/bindings/mfd/as3722.txt   |    3 +-
 .../devicetree/bindings/mfd/aspeed-gfx.txt         |   17 +
 .../devicetree/bindings/mfd/aspeed-lpc.txt         |  137 +
 Documentation/devicetree/bindings/mfd/mfd.txt      |   12 +-
 .../devicetree/bindings/mfd/motorola-cpcap.txt     |   31 +
 Documentation/devicetree/bindings/mfd/mt6397.txt   |    4 +
 .../devicetree/bindings/mfd/omap-usb-host.txt      |    4 +-
 Documentation/devicetree/bindings/mfd/qcom-rpm.txt |    2 +-
 .../devicetree/bindings/mfd/stm32-timers.txt       |   46 +
 .../bindings/mips/img/pistachio-marduk.txt         |   10 +
 .../devicetree/bindings/misc/atmel-ssc.txt         |    2 +
 .../devicetree/bindings/misc/idt_89hpesx.txt       |   44 +
 .../devicetree/bindings/mmc/amlogic,meson-gx.txt   |    2 +-
 .../devicetree/bindings/mmc/mmc-pwrseq-sd8787.txt  |   16 +
 Documentation/devicetree/bindings/mmc/mmc.txt      |    1 +
 .../devicetree/bindings/mmc/rockchip-dw-mshc.txt   |    2 +-
 Documentation/devicetree/bindings/mmc/sdhci-st.txt |    2 +-
 Documentation/devicetree/bindings/mmc/sdhci.txt    |    2 +-
 .../devicetree/bindings/mmc/sunxi-mmc.txt          |    1 +
 .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   |   15 +-
 Documentation/devicetree/bindings/mmc/tmio_mmc.txt |   13 +
 .../devicetree/bindings/mmc/zx-dw-mshc.txt         |   33 +
 .../devicetree/bindings/mtd/aspeed-smc.txt         |   51 +
 Documentation/devicetree/bindings/mtd/common.txt   |   15 +
 .../bindings/mtd/cortina,gemini-flash.txt          |   24 +
 .../devicetree/bindings/mtd/jedec,spi-nor.txt      |    2 +
 .../devicetree/bindings/mtd/mtk-quadspi.txt        |    8 +-
 .../bindings/net/brcm,bcm7445-switch-v4.0.txt      |   10 +-
 .../devicetree/bindings/net/brcm,systemport.txt    |    5 +-
 Documentation/devicetree/bindings/net/btusb.txt    |   43 +
 Documentation/devicetree/bindings/net/cpsw.txt     |    3 -
 Documentation/devicetree/bindings/net/dsa/dsa.txt  |   20 +-
 .../devicetree/bindings/net/dsa/marvell.txt        |   93 +-
 Documentation/devicetree/bindings/net/ethernet.txt |    3 +
 .../devicetree/bindings/net/marvell,prestera.txt   |   50 +
 .../bindings/net/marvell-armada-370-neta.txt       |    2 +-
 .../devicetree/bindings/net/marvell-bt-8xxx.txt    |   86 +
 .../devicetree/bindings/net/marvell-bt-sd8xxx.txt  |   56 -
 .../devicetree/bindings/net/marvell-pp2.txt        |    4 +-
 .../devicetree/bindings/net/meson-dwmac.txt        |   16 +
 .../devicetree/bindings/net/mscc-phy-vsc8531.txt   |   10 +
 Documentation/devicetree/bindings/net/phy.txt      |    4 +
 .../devicetree/bindings/net/rockchip-dwmac.txt     |    1 +
 .../bindings/net/snps,dwc-qos-ethernet.txt         |    3 +
 Documentation/devicetree/bindings/net/stmmac.txt   |    3 +-
 .../devicetree/bindings/net/wireless/ieee80211.txt |   24 +
 .../bindings/net/wireless/marvell-8xxx.txt         |    7 +-
 .../devicetree/bindings/nvmem/imx-ocotp.txt        |    6 +-
 Documentation/devicetree/bindings/opp/opp.txt      |   46 +-
 .../devicetree/bindings/pci/hisilicon-pcie.txt     |   43 +
 .../devicetree/bindings/pci/mvebu-pci.txt          |    3 +-
 .../devicetree/bindings/pci/pci-iommu.txt          |    6 +-
 Documentation/devicetree/bindings/pci/rcar-pci.txt |    1 +
 .../devicetree/bindings/pci/rockchip-pcie.txt      |    2 +
 .../bindings/pci/samsung,exynos5440-pcie.txt       |   29 +
 .../devicetree/bindings/phy/qcom,usb-hs-phy.txt    |   84 +
 .../devicetree/bindings/phy/qcom,usb-hsic-phy.txt  |   65 +
 .../devicetree/bindings/phy/samsung-phy.txt        |   17 +
 .../devicetree/bindings/phy/sun4i-usb-phy.txt      |    1 +
 .../bindings/pinctrl/allwinner,sunxi-pinctrl.txt   |    3 +-
 .../bindings/pinctrl/fsl,imx7d-pinctrl.txt         |    2 +-
 .../pinctrl/marvell,armada-98dx3236-pinctrl.txt    |   46 +
 .../bindings/pinctrl/marvell,kirkwood-pinctrl.txt  |   20 +-
 .../devicetree/bindings/pinctrl/pinctrl-aspeed.txt |  131 +-
 .../bindings/pinctrl/samsung-pinctrl.txt           |    1 +
 .../bindings/pinctrl/st,stm32-pinctrl.txt          |   59 +-
 .../devicetree/bindings/pinctrl/ti,iodelay.txt     |   47 +
 .../devicetree/bindings/power/pd-samsung.txt       |    7 +-
 .../bindings/power/reset/gpio-poweroff.txt         |   10 +-
 .../bindings/power/reset/qnap-poweroff.txt         |    3 +-
 .../bindings/power/supply/axp20x_ac_power.txt      |   22 +
 .../bindings/power/supply/axp20x_usb_power.txt     |    5 +
 .../devicetree/bindings/power/supply/bq27xxx.txt   |   36 +
 .../devicetree/bindings/power/supply/qcom_smbb.txt |   19 +
 .../bindings/power/supply/sbs_sbs-charger.txt      |   23 +
 .../bindings/power/supply/ti,bq24735.txt           |    8 +-
 .../bindings/power_supply/maxim,max14656.txt       |   25 +
 .../devicetree/bindings/powerpc/4xx/emac.txt       |   62 +-
 .../devicetree/bindings/powerpc/fsl/l2cache.txt    |   42 +-
 .../devicetree/bindings/powerpc/opal/power-mgt.txt |  118 +
 Documentation/devicetree/bindings/pwm/imx-pwm.txt  |    6 +-
 .../devicetree/bindings/pwm/pwm-stm32.txt          |   35 +
 .../bindings/regulator/anatop-regulator.txt        |    1 +
 .../bindings/regulator/cpcap-regulator.txt         |   34 +
 .../bindings/regulator/gpio-regulator.txt          |    2 +-
 .../bindings/regulator/qcom,smd-rpm-regulator.txt  |   56 +
 .../bindings/regulator/ti-abb-regulator.txt        |    2 +-
 .../devicetree/bindings/remoteproc/qcom,adsp.txt   |   41 +-
 .../devicetree/bindings/remoteproc/qcom,q6v5.txt   |    4 +-
 .../bindings/reset/hisilicon,hi3660-reset.txt      |   43 +
 .../devicetree/bindings/reset/ti-syscon-reset.txt  |    8 +-
 .../devicetree/bindings/reset/uniphier-reset.txt   |   47 +-
 .../devicetree/bindings/reset/zte,zx2967-reset.txt |   20 +
 Documentation/devicetree/bindings/rng/omap_rng.txt |    3 +-
 .../devicetree/bindings/rtc/armada-380-rtc.txt     |    8 +-
 .../devicetree/bindings/rtc/cortina,gemini.txt     |   14 +
 .../devicetree/bindings/rtc/imxdi-rtc.txt          |    5 +-
 .../devicetree/bindings/rtc/maxim,ds3231.txt       |    3 +-
 Documentation/devicetree/bindings/rtc/pcf8563.txt  |    3 +-
 .../devicetree/bindings/rtc/st,stm32-rtc.txt       |   27 +
 .../devicetree/bindings/rtc/sun6i-rtc.txt          |   10 +
 Documentation/devicetree/bindings/serial/8250.txt  |    1 +
 .../devicetree/bindings/serial/fsl-imx-uart.txt    |    4 +-
 .../devicetree/bindings/serial/serial.txt          |    3 +-
 .../devicetree/bindings/serial/slave-device.txt    |   36 +
 .../devicetree/bindings/soc/fsl/qman-portals.txt   |   20 -
 .../devicetree/bindings/soc/rockchip/grf.txt       |    8 +-
 .../bindings/soc/rockchip/power_domain.txt         |    3 +
 .../devicetree/bindings/soc/zte/pd-2967xx.txt      |   19 +
 .../bindings/sound/axentia,tse850-pcm5142.txt      |   11 +-
 Documentation/devicetree/bindings/sound/es8328.txt |    2 +-
 .../devicetree/bindings/sound/mt2701-afe-pcm.txt   |    2 +
 .../devicetree/bindings/sound/nau8540.txt          |   16 +
 .../bindings/sound/rockchip,rk3288-hdmi-analog.txt |   36 +
 .../devicetree/bindings/sound/rockchip-i2s.txt     |    4 +-
 Documentation/devicetree/bindings/sound/rt5665.txt |    0
 .../devicetree/bindings/sound/sun4i-codec.txt      |    2 +-
 .../devicetree/bindings/sound/sun4i-i2s.txt        |    9 +-
 .../devicetree/bindings/sound/sun8i-a33-codec.txt  |   63 +
 .../bindings/sound/sunxi,sun4i-spdif.txt           |    1 +
 .../devicetree/bindings/sound/zte,zx-i2s.txt       |   14 +-
 .../devicetree/bindings/spi/spi-lantiq-ssc.txt     |   29 +
 .../devicetree/bindings/spi/spi-rockchip.txt       |    7 +
 Documentation/devicetree/bindings/sram/sram.txt    |    6 +
 .../devicetree/bindings/thermal/qoriq-thermal.txt  |    7 +
 .../bindings/thermal/rcar-gen3-thermal.txt         |   56 +
 .../devicetree/bindings/thermal/zx2967-thermal.txt |  116 +
 .../bindings/timer/cortina,gemini-timer.txt        |   22 +
 .../devicetree/bindings/timer/renesas,ostm.txt     |   30 +
 Documentation/devicetree/bindings/ufs/ufs-qcom.txt |    1 -
 .../bindings/usb/allwinner,sun4i-a10-musb.txt      |    4 +-
 Documentation/devicetree/bindings/usb/dwc3-st.txt  |    4 +-
 Documentation/devicetree/bindings/usb/dwc3.txt     |    4 +
 .../devicetree/bindings/usb/ehci-omap.txt          |    1 -
 Documentation/devicetree/bindings/usb/ehci-st.txt  |    2 +-
 .../devicetree/bindings/usb/mt8173-mtu3.txt        |   12 +-
 .../devicetree/bindings/usb/mt8173-xhci.txt        |   14 +-
 .../devicetree/bindings/usb/qcom,dwc3.txt          |    2 +-
 Documentation/devicetree/bindings/usb/ulpi.txt     |   20 +
 Documentation/devicetree/bindings/usb/usb-xhci.txt |    1 +
 Documentation/devicetree/bindings/usb/usb251xb.txt |   66 +
 .../devicetree/bindings/vendor-prefixes.txt        |   15 +
 .../devicetree/bindings/video/bridge/anx7814.txt   |   40 -
 .../bindings/video/bridge/sil-sii8620.txt          |   33 -
 .../bindings/watchdog/cortina,gemin-watchdog.txt   |   17 +
 .../devicetree/bindings/watchdog/samsung-wdt.txt   |    9 +-
 .../bindings/watchdog/zte,zx2967-wdt.txt           |   32 +
 Documentation/dma-buf-sharing.txt                  |  482 --
 Documentation/dontdiff                             |    7 +-
 Documentation/driver-api/80211/cfg80211.rst        |    3 +
 Documentation/driver-api/device-io.rst             |  201 +
 Documentation/driver-api/device_link.rst           |   18 +-
 Documentation/driver-api/dma-buf.rst               |   92 +
 Documentation/driver-api/firmware/built-in-fw.rst  |   38 +
 Documentation/driver-api/firmware/core.rst         |   16 +
 .../driver-api/firmware/direct-fs-lookup.rst       |   30 +
 .../driver-api/firmware/fallback-mechanisms.rst    |  195 +
 .../driver-api/firmware/firmware_cache.rst         |   51 +
 .../driver-api/firmware/fw_search_path.rst         |   26 +
 Documentation/driver-api/firmware/index.rst        |   16 +
 Documentation/driver-api/firmware/introduction.rst |   27 +
 Documentation/driver-api/firmware/lookup-order.rst |   18 +
 .../driver-api/firmware/request_firmware.rst       |   56 +
 Documentation/driver-api/iio/buffers.rst           |  125 +
 Documentation/driver-api/iio/core.rst              |  182 +
 Documentation/driver-api/iio/index.rst             |   17 +
 Documentation/driver-api/iio/intro.rst             |   33 +
 Documentation/driver-api/iio/triggered-buffers.rst |   69 +
 Documentation/driver-api/iio/triggers.rst          |   80 +
 Documentation/driver-api/index.rst                 |    6 +
 Documentation/driver-api/pm/conf.py                |   10 +
 Documentation/driver-api/pm/devices.rst            |  736 ++
 Documentation/driver-api/pm/index.rst              |   16 +
 Documentation/driver-api/pm/notifiers.rst          |   70 +
 Documentation/driver-api/pm/types.rst              |    5 +
 Documentation/driver-api/regulator.rst             |  170 +
 Documentation/driver-api/uio-howto.rst             |  705 ++
 Documentation/driver-model/devres.txt              |    5 +
 Documentation/extcon/intel-int3496.txt             |   27 +
 Documentation/filesystems/Locking                  |    2 +-
 Documentation/filesystems/afs.txt                  |   34 +-
 .../filesystems/autofs4-mount-control.txt          |    1 +
 Documentation/filesystems/autofs4.txt              |   39 +-
 Documentation/filesystems/ceph.txt                 |    5 +-
 Documentation/filesystems/f2fs.txt                 |    7 +-
 Documentation/filesystems/porting                  |    6 +
 Documentation/filesystems/quota.txt                |    2 +-
 Documentation/filesystems/vfs.txt                  |    2 +-
 Documentation/firmware_class/README                |  128 -
 Documentation/fpga/fpga-mgr.txt                    |   19 +-
 Documentation/gcc-plugins.txt                      |    4 +-
 Documentation/gpio/driver.txt                      |   64 +-
 Documentation/gpu/drm-kms.rst                      |    8 +-
 Documentation/gpu/drm-mm.rst                       |   61 +-
 Documentation/gpu/drm-uapi.rst                     |   25 +-
 Documentation/gpu/i915.rst                         |  112 +
 Documentation/gpu/index.rst                        |    1 +
 Documentation/gpu/introduction.rst                 |   15 +-
 Documentation/gpu/tinydrm.rst                      |   42 +
 Documentation/hwmon/ds1621                         |    8 +-
 Documentation/hwmon/hwmon-kernel-api.txt           |    4 +
 Documentation/hwmon/lm70                           |    8 +-
 Documentation/hwmon/sht21                          |    5 +-
 Documentation/hwmon/sysfs-interface                |    5 +-
 Documentation/i2c/busses/i2c-i801                  |    1 +
 Documentation/i2c/muxes/i2c-mux-gpio               |   20 +-
 Documentation/index.rst                            |   10 +-
 Documentation/input/input.txt                      |    4 +-
 Documentation/ioctl/botching-up-ioctls.txt         |    2 +-
 Documentation/ioctl/ioctl-number.txt               |    1 +
 Documentation/kselftest.txt                        |   16 +-
 Documentation/leds/leds-class.txt                  |   15 +
 Documentation/livepatch/livepatch.txt              |   21 +-
 Documentation/locking/ww-mutex-design.txt          |   12 +-
 Documentation/md-cluster.txt                       |  324 -
 Documentation/md/md-cluster.txt                    |  324 +
 Documentation/md/raid5-cache.txt                   |  109 +
 Documentation/media/Makefile                       |    3 +-
 Documentation/media/dvb-drivers/ci.rst             |    2 +-
 Documentation/media/kapi/mc-core.rst               |   18 +-
 .../media/uapi/dvb/dvb-frontend-parameters.rst     |    4 +-
 Documentation/media/uapi/gen-errors.rst            |   10 +-
 Documentation/media/uapi/rc/rc-sysfs-nodes.rst     |   13 +-
 Documentation/media/v4l-drivers/bttv.rst           |    2 +-
 Documentation/memory-barriers.txt                  |   70 +-
 Documentation/memory-hotplug.txt                   |    4 +-
 Documentation/mtd/intel-spi.txt                    |   88 +
 Documentation/networking/cdc_mbim.txt              |    4 +-
 Documentation/networking/dsa/dsa.txt               |   24 -
 Documentation/networking/gtp.txt                   |  135 +
 Documentation/networking/ip-sysctl.txt             |   50 +-
 Documentation/networking/kcm.txt                   |    2 +-
 Documentation/networking/netfilter-sysctl.txt      |   10 +
 Documentation/networking/packet_mmap.txt           |    9 +-
 Documentation/networking/regulatory.txt            |    8 +-
 Documentation/networking/vrf.txt                   |    7 +-
 Documentation/perf/qcom_l2_pmu.txt                 |   38 +
 Documentation/pinctrl.txt                          |   10 +-
 Documentation/power/00-INDEX                       |    2 -
 Documentation/power/devices.txt                    |  716 --
 Documentation/power/freezing-of-tasks.txt          |    3 +-
 Documentation/power/notifiers.txt                  |   55 -
 Documentation/power/opp.txt                        |   52 +-
 Documentation/power/pci.txt                        |    2 +-
 Documentation/power/pm_qos_interface.txt           |   13 +-
 Documentation/power/runtime_pm.txt                 |    6 +-
 Documentation/power/states.txt                     |    2 +-
 Documentation/pps/pps.txt                          |   18 +-
 Documentation/process/stable-kernel-rules.rst      |    2 +-
 Documentation/s390/Debugging390.txt                |    2 +-
 Documentation/scheduler/sched-deadline.txt         |    6 +
 Documentation/scheduler/sched-rt-group.txt         |    8 +-
 Documentation/scsi/ChangeLog.megaraid_sas          |    2 +-
 Documentation/security/LSM.txt                     |    7 +
 Documentation/security/keys.txt                    |   17 +-
 Documentation/security/self-protection.txt         |   10 +-
 Documentation/siphash.txt                          |  175 +
 Documentation/sound/hd-audio/dp-mst.rst            |   17 +
 Documentation/sound/hd-audio/notes.rst             |    2 +-
 Documentation/sparc/console.txt                    |    9 +
 Documentation/spi/ep93xx_spi                       |  105 -
 Documentation/static-keys.txt                      |    4 +-
 Documentation/sysctl/kernel.txt                    |    2 +-
 Documentation/sysctl/net.txt                       |   33 +
 Documentation/sysctl/vm.txt                        |    4 +-
 Documentation/thermal/nouveau_thermal              |    2 +-
 Documentation/timers/timer_stats.txt               |   73 -
 Documentation/trace/kprobetrace.txt                |    2 +-
 .../trace/postprocess/trace-vmscan-postprocess.pl  |   26 +-
 Documentation/trace/uprobetracer.txt               |    2 +-
 Documentation/translations/ja_JP/HOWTO             |    2 +-
 Documentation/translations/ko_KR/howto.rst         |    4 +-
 .../translations/ko_KR/memory-barriers.txt         |   68 +-
 Documentation/translations/zh_CN/CodingStyle       |  813 --
 Documentation/translations/zh_CN/coding-style.rst  |  950 +++
 Documentation/translations/zh_CN/index.rst         |   12 +
 Documentation/usb/gadget-testing.txt               |    2 +
 Documentation/usb/power-management.txt             |    2 +-
 Documentation/virtual/kvm/api.txt                  |  284 +-
 Documentation/virtual/kvm/devices/arm-vgic-v3.txt  |   11 +-
 Documentation/virtual/kvm/devices/arm-vgic.txt     |    6 +
 Documentation/virtual/kvm/hypercalls.txt           |   35 +
 Documentation/virtual/kvm/locking.txt              |   31 +-
 Documentation/virtual/uml/UserModeLinux-HOWTO.txt  |    6 +-
 Documentation/vm/ksm.txt                           |   18 +
 Documentation/vm/transhuge.txt                     |   10 +-
 Documentation/vm/userfaultfd.txt                   |   87 +-
 Documentation/watchdog/watchdog-kernel-api.txt     |    6 +
 Documentation/watchdog/watchdog-parameters.txt     |    5 +
 Documentation/x86/intel_rdt_ui.txt                 |  114 +
 Documentation/x86/zero-page.txt                    |    2 +
 MAINTAINERS                                        |  414 +-
 Makefile                                           |   48 +-
 arch/Kconfig                                       |   68 +-
 arch/alpha/include/asm/Kbuild                      |    3 +-
 arch/alpha/include/asm/a.out-core.h                |    1 +
 arch/alpha/include/asm/current.h                   |    9 -
 arch/alpha/include/asm/dma-mapping.h               |    4 +-
 arch/alpha/include/asm/mmu_context.h               |    2 +
 arch/alpha/kernel/osf_sys.c                        |   17 +-
 arch/alpha/kernel/pci-noop.c                       |    4 +-
 arch/alpha/kernel/pci_iommu.c                      |    4 +-
 arch/alpha/kernel/process.c                        |    3 +
 arch/alpha/kernel/ptrace.c                         |    1 +
 arch/alpha/kernel/signal.c                         |    3 +-
 arch/alpha/kernel/smp.c                            |    4 +-
 arch/alpha/kernel/traps.c                          |    5 +-
 arch/alpha/math-emu/math.c                         |    1 +
 arch/alpha/mm/fault.c                              |    4 +-
 arch/arc/Kconfig                                   |   21 +-
 arch/arc/boot/dts/axc003_idu.dtsi                  |   23 +-
 arch/arc/boot/dts/haps_hs_idu.dts                  |   11 +-
 arch/arc/boot/dts/nsim_hs_idu.dts                  |   15 +-
 arch/arc/boot/dts/nsimosci_hs_idu.dts              |   21 +-
 arch/arc/boot/dts/skeleton.dtsi                    |    1 +
 arch/arc/boot/dts/skeleton_hs.dtsi                 |    1 +
 arch/arc/boot/dts/skeleton_hs_idu.dtsi             |   21 +-
 arch/arc/boot/dts/vdk_axc003_idu.dtsi              |   13 +-
 arch/arc/boot/dts/vdk_axs10x_mb.dtsi               |   32 +
 arch/arc/configs/vdk_hs38_smp_defconfig            |    9 +-
 arch/arc/include/asm/Kbuild                        |    1 -
 arch/arc/include/asm/arcregs.h                     |    3 +
 arch/arc/include/asm/atomic.h                      |    3 +-
 arch/arc/include/asm/dma-mapping.h                 |    4 +-
 arch/arc/include/asm/entry-arcv2.h                 |   10 +
 arch/arc/include/asm/hugepage.h                    |    1 +
 arch/arc/include/asm/irq.h                         |   10 +-
 arch/arc/include/asm/kprobes.h                     |   10 +-
 arch/arc/include/asm/mmu_context.h                 |    1 +
 arch/arc/include/asm/pgtable.h                     |    1 +
 arch/arc/include/asm/ptrace.h                      |    4 +
 arch/arc/kernel/ctx_sw.c                           |    1 +
 arch/arc/kernel/entry-arcv2.S                      |   19 +-
 arch/arc/kernel/intc-arcv2.c                       |   42 +-
 arch/arc/kernel/intc-compact.c                     |    1 +
 arch/arc/kernel/kgdb.c                             |    1 +
 arch/arc/kernel/mcip.c                             |   48 +-
 arch/arc/kernel/process.c                          |    3 +
 arch/arc/kernel/ptrace.c                           |    1 +
 arch/arc/kernel/setup.c                            |   46 +-
 arch/arc/kernel/signal.c                           |    2 +
 arch/arc/kernel/smp.c                              |    6 +-
 arch/arc/kernel/stacktrace.c                       |    2 +
 arch/arc/kernel/traps.c                            |    2 +-
 arch/arc/kernel/troubleshoot.c                     |    3 +
 arch/arc/kernel/unwind.c                           |    4 +-
 arch/arc/mm/cache.c                                |    3 +
 arch/arc/mm/dma.c                                  |    2 +-
 arch/arc/mm/extable.c                              |    3 +-
 arch/arc/mm/fault.c                                |    2 +-
 arch/arc/mm/mmap.c                                 |    3 +-
 arch/arc/mm/tlb.c                                  |    2 +
 arch/arc/plat-eznps/Kconfig                        |    1 -
 arch/arc/plat-sim/Kconfig                          |    1 -
 arch/arm/Kconfig                                   |    6 +
 arch/arm/Kconfig-nommu                             |    3 +-
 arch/arm/Kconfig.debug                             |   11 -
 arch/arm/boot/compressed/decompress.c              |    1 +
 arch/arm/boot/compressed/head.S                    |    2 +-
 arch/arm/boot/dts/Makefile                         |   32 +-
 arch/arm/boot/dts/alpine.dtsi                      |    2 +-
 arch/arm/boot/dts/am335x-baltos.dtsi               |    2 +
 arch/arm/boot/dts/am335x-bone-common.dtsi          |    2 +
 arch/arm/boot/dts/am335x-boneblack-common.dtsi     |  163 +
 arch/arm/boot/dts/am335x-boneblack-wireless.dts    |  109 +
 arch/arm/boot/dts/am335x-boneblack.dts             |  155 +-
 arch/arm/boot/dts/am335x-bonegreen-common.dtsi     |   44 +
 arch/arm/boot/dts/am335x-bonegreen-wireless.dts    |  126 +
 arch/arm/boot/dts/am335x-bonegreen.dts             |   38 +-
 arch/arm/boot/dts/am335x-chiliboard.dts            |   16 +
 arch/arm/boot/dts/am335x-chilisom.dtsi             |    8 +
 arch/arm/boot/dts/am335x-evm.dts                   |    4 +
 arch/arm/boot/dts/am335x-evmsk.dts                 |    5 +
 arch/arm/boot/dts/am335x-icev2.dts                 |    4 +
 arch/arm/boot/dts/am335x-nano.dts                  |   31 +-
 arch/arm/boot/dts/am335x-pcm-953.dtsi              |  288 +
 arch/arm/boot/dts/am335x-phycore-rdk.dts           |   27 +
 arch/arm/boot/dts/am335x-phycore-som.dtsi          |   72 +-
 arch/arm/boot/dts/am335x-sl50.dts                  |   70 +-
 arch/arm/boot/dts/am335x-wega.dtsi                 |    9 +-
 arch/arm/boot/dts/am33xx.dtsi                      |    4 +-
 arch/arm/boot/dts/am4372.dtsi                      |    1 -
 arch/arm/boot/dts/am437x-gp-evm.dts                |    4 +
 arch/arm/boot/dts/am437x-idk-evm.dts               |    4 +
 arch/arm/boot/dts/am437x-sk-evm.dts                |    4 +
 arch/arm/boot/dts/am43x-epos-evm.dts               |    4 +
 arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi    |   18 +-
 arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts      |    5 +
 arch/arm/boot/dts/am57xx-beagle-x15.dts            |    5 +
 arch/arm/boot/dts/am57xx-idk-common.dtsi           |   18 +-
 arch/arm/boot/dts/armada-370-db.dts                |   10 +-
 arch/arm/boot/dts/armada-370-dlink-dns327l.dts     |   10 +-
 arch/arm/boot/dts/armada-370-mirabox.dts           |   10 +-
 arch/arm/boot/dts/armada-370-netgear-rn102.dts     |   10 +-
 arch/arm/boot/dts/armada-370-netgear-rn104.dts     |   10 +-
 arch/arm/boot/dts/armada-370-rd.dts                |   54 +-
 arch/arm/boot/dts/armada-370-synology-ds213j.dts   |   10 +-
 arch/arm/boot/dts/armada-370-xp.dtsi               |   10 +-
 arch/arm/boot/dts/armada-370.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-375-db.dts                |   10 +-
 arch/arm/boot/dts/armada-375.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-380.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-385-linksys.dtsi          |   52 +-
 arch/arm/boot/dts/armada-385-turris-omnia.dts      |   58 +-
 arch/arm/boot/dts/armada-385.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-388-clearfog-base.dts     |  109 +
 arch/arm/boot/dts/armada-388-clearfog-pro.dts      |   55 +
 arch/arm/boot/dts/armada-388-clearfog.dts          |  435 +-
 arch/arm/boot/dts/armada-388-clearfog.dtsi         |  307 +
 arch/arm/boot/dts/armada-388-db.dts                |   10 +-
 arch/arm/boot/dts/armada-388-rd.dts                |   10 +-
 .../arm/boot/dts/armada-38x-solidrun-microsom.dtsi |  130 +-
 arch/arm/boot/dts/armada-38x.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-390-db.dts                |   10 +-
 arch/arm/boot/dts/armada-390.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-395.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-398-db.dts                |   10 +-
 arch/arm/boot/dts/armada-398.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-39x.dtsi                  |   10 +-
 arch/arm/boot/dts/armada-xp-98dx3236.dtsi          |  254 +
 arch/arm/boot/dts/armada-xp-98dx3336.dtsi          |   76 +
 arch/arm/boot/dts/armada-xp-98dx4251.dtsi          |   90 +
 arch/arm/boot/dts/armada-xp-axpwifiap.dts          |   10 +-
 arch/arm/boot/dts/armada-xp-db-dxbc2.dts           |  151 +
 arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts      |  142 +
 arch/arm/boot/dts/armada-xp-db.dts                 |   10 +-
 arch/arm/boot/dts/armada-xp-gp.dts                 |   10 +-
 arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts    |   10 +-
 arch/arm/boot/dts/armada-xp-linksys-mamba.dts      |   53 +
 arch/arm/boot/dts/armada-xp-matrix.dts             |   10 +-
 arch/arm/boot/dts/armada-xp-mv78230.dtsi           |   10 +-
 arch/arm/boot/dts/armada-xp-mv78260.dtsi           |   10 +-
 arch/arm/boot/dts/armada-xp-mv78460.dtsi           |   10 +-
 arch/arm/boot/dts/armada-xp-netgear-rn2120.dts     |   10 +-
 arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts   |   10 +-
 arch/arm/boot/dts/armada-xp-synology-ds414.dts     |   10 +-
 arch/arm/boot/dts/armada-xp.dtsi                   |   10 +-
 arch/arm/boot/dts/aspeed-ast2500-evb.dts           |   14 +
 arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts      |   24 +-
 arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts       |   45 +
 arch/arm/boot/dts/aspeed-g4.dtsi                   |  776 ++
 arch/arm/boot/dts/aspeed-g5.dtsi                   |  879 ++
 arch/arm/boot/dts/at91-linea.dtsi                  |   49 +
 arch/arm/boot/dts/at91-sama5d2_xplained.dts        |    4 +
 arch/arm/boot/dts/at91-sama5d4_xplained.dts        |    8 +
 arch/arm/boot/dts/at91-tse850-3.dts                |  274 +
 arch/arm/boot/dts/axm55xx.dtsi                     |    2 +-
 arch/arm/boot/dts/axp223.dtsi                      |   58 +
 arch/arm/boot/dts/bcm-nsp.dtsi                     |   64 +-
 arch/arm/boot/dts/bcm2835-rpi.dtsi                 |    5 +
 arch/arm/boot/dts/bcm283x.dtsi                     |    8 +
 arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts        |    3 +-
 arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts        |    3 +-
 arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts  |    7 +-
 arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts       |    4 -
 arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts       |    4 -
 arch/arm/boot/dts/bcm4708-netgear-r6250.dts        |    7 +-
 arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts     |    3 +-
 arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts      |    7 +-
 arch/arm/boot/dts/bcm4708.dtsi                     |    4 +
 arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts        |    3 +-
 arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts |    7 +-
 arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts  |    3 +-
 arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts      |   60 +
 arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts      |  107 +
 arch/arm/boot/dts/bcm47081.dtsi                    |    4 +
 arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts        |    3 +-
 arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts  |    3 +-
 arch/arm/boot/dts/bcm4709-netgear-r7000.dts        |   11 +-
 arch/arm/boot/dts/bcm4709-netgear-r8000.dts        |   51 +-
 arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts  |    4 -
 arch/arm/boot/dts/bcm4709.dtsi                     |    1 +
 arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts      |    7 +-
 arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts      |   13 +-
 arch/arm/boot/dts/bcm47094-netgear-r8500.dts       |    7 +-
 arch/arm/boot/dts/bcm47094.dtsi                    |    1 +
 arch/arm/boot/dts/bcm5301x.dtsi                    |   45 +-
 arch/arm/boot/dts/bcm53573.dtsi                    |   22 +
 arch/arm/boot/dts/bcm94708.dts                     |    4 -
 arch/arm/boot/dts/bcm94709.dts                     |    4 -
 arch/arm/boot/dts/bcm953012er.dts                  |    4 -
 arch/arm/boot/dts/bcm953012k.dts                   |    4 +-
 arch/arm/boot/dts/bcm958522er.dts                  |   36 +-
 arch/arm/boot/dts/bcm958525er.dts                  |   36 +-
 arch/arm/boot/dts/bcm958525xmc.dts                 |   69 +-
 arch/arm/boot/dts/bcm958622hr.dts                  |   43 +
 arch/arm/boot/dts/bcm958623hr.dts                  |   59 +-
 arch/arm/boot/dts/bcm958625hr.dts                  |   73 +-
 arch/arm/boot/dts/bcm958625k.dts                   |  151 +-
 arch/arm/boot/dts/bcm988312hr.dts                  |   43 +
 arch/arm/boot/dts/da850-evm.dts                    |   20 +
 arch/arm/boot/dts/da850-lcdk.dts                   |   90 +
 arch/arm/boot/dts/da850-lego-ev3.dts               |  313 +
 arch/arm/boot/dts/da850.dtsi                       |   51 +-
 arch/arm/boot/dts/dm814x.dtsi                      |   10 +-
 arch/arm/boot/dts/dm816x.dtsi                      |    6 +-
 arch/arm/boot/dts/dove-cm-a510.dtsi                |   10 +-
 arch/arm/boot/dts/dove-sbc-a510.dts                |   10 +-
 arch/arm/boot/dts/dra7-evm.dts                     |  286 +-
 arch/arm/boot/dts/dra7.dtsi                        |    5 +-
 arch/arm/boot/dts/dra71-evm.dts                    |    5 +
 arch/arm/boot/dts/dra72-evm-common.dtsi            |   20 +-
 arch/arm/boot/dts/dra72-evm-revc.dts               |    4 +
 arch/arm/boot/dts/ecx-2000.dts                     |    2 +-
 arch/arm/boot/dts/exynos-mfc-reserved-memory.dtsi  |    2 +-
 arch/arm/boot/dts/exynos3250.dtsi                  |    2 +-
 arch/arm/boot/dts/exynos4.dtsi                     |   37 +-
 arch/arm/boot/dts/exynos4210.dtsi                  |    1 +
 arch/arm/boot/dts/exynos4212.dtsi                  |  133 -
 arch/arm/boot/dts/exynos4412-itop-elite.dts        |   25 +-
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi    |   28 +-
 arch/arm/boot/dts/exynos4412-odroidu3.dts          |    5 +-
 arch/arm/boot/dts/exynos4412-odroidx.dts           |   13 +
 arch/arm/boot/dts/exynos4412-odroidx2.dts          |   25 +-
 arch/arm/boot/dts/exynos4412-pinctrl.dtsi          |  984 +++
 arch/arm/boot/dts/exynos4412-prime.dtsi            |   41 +
 arch/arm/boot/dts/exynos4412.dtsi                  |  578 +-
 arch/arm/boot/dts/exynos4x12-pinctrl.dtsi          |  984 ---
 arch/arm/boot/dts/exynos4x12.dtsi                  |  594 --
 arch/arm/boot/dts/exynos5.dtsi                     |    4 +-
 arch/arm/boot/dts/exynos5250.dtsi                  |   11 +
 arch/arm/boot/dts/exynos5260.dtsi                  |    2 +-
 arch/arm/boot/dts/exynos5410.dtsi                  |    8 +
 arch/arm/boot/dts/exynos5420.dtsi                  |   13 +
 arch/arm/boot/dts/exynos5440.dtsi                  |    2 +-
 arch/arm/boot/dts/imx1-ads.dts                     |    1 -
 arch/arm/boot/dts/imx1.dtsi                        |    3 +-
 arch/arm/boot/dts/imx23.dtsi                       |    5 +-
 arch/arm/boot/dts/imx25.dtsi                       |    7 +-
 arch/arm/boot/dts/imx27-apf27dev.dts               |    2 -
 .../boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts  |    1 -
 arch/arm/boot/dts/imx27-pdk.dts                    |    1 -
 arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi  |    1 -
 arch/arm/boot/dts/imx27-phytec-phycore-rdk.dts     |    1 -
 arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi    |    1 -
 arch/arm/boot/dts/imx27.dtsi                       |    1 +
 arch/arm/boot/dts/imx28.dtsi                       |    7 +-
 arch/arm/boot/dts/imx31.dtsi                       |    5 +-
 arch/arm/boot/dts/imx35.dtsi                       |    5 +-
 arch/arm/boot/dts/imx50-evk.dts                    |    1 -
 arch/arm/boot/dts/imx51-apf51dev.dts               |    2 -
 arch/arm/boot/dts/imx51-babbage.dts                |    1 -
 arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi  |    1 -
 .../boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts  |    1 -
 arch/arm/boot/dts/imx53-qsb-common.dtsi            |   20 +-
 arch/arm/boot/dts/imx53-qsb.dts                    |    5 +-
 arch/arm/boot/dts/imx53-qsrb.dts                   |    6 +-
 arch/arm/boot/dts/imx53-smd.dts                    |    1 -
 arch/arm/boot/dts/imx53-tqma53.dtsi                |    2 -
 arch/arm/boot/dts/imx53-tx53.dtsi                  |    1 -
 arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi        |    1 -
 arch/arm/boot/dts/imx6dl-aristainetos2_4.dts       |   10 +-
 arch/arm/boot/dts/imx6dl-aristainetos2_7.dts       |   10 +-
 arch/arm/boot/dts/imx6dl-aristainetos_4.dts        |    1 -
 arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts       |   10 +-
 arch/arm/boot/dts/imx6dl-cubox-i.dts               |   10 +-
 arch/arm/boot/dts/imx6dl-hummingboard.dts          |   10 +-
 arch/arm/boot/dts/imx6dl-icore-rqs.dts             |   51 +
 arch/arm/boot/dts/imx6dl-icore.dts                 |   10 +-
 arch/arm/boot/dts/imx6dl-nit6xlite.dts             |   10 +-
 arch/arm/boot/dts/imx6dl-nitrogen6x.dts            |   10 +-
 arch/arm/boot/dts/imx6dl-sabrelite.dts             |   10 +-
 arch/arm/boot/dts/imx6dl-savageboard.dts           |   51 +
 arch/arm/boot/dts/imx6dl-ts4900.dts                |   10 +-
 arch/arm/boot/dts/imx6q-apalis-ixora.dts           |   10 +-
 arch/arm/boot/dts/imx6q-b450v3.dts                 |   10 +-
 arch/arm/boot/dts/imx6q-b650v3.dts                 |   10 +-
 arch/arm/boot/dts/imx6q-b850v3.dts                 |   10 +-
 arch/arm/boot/dts/imx6q-ba16.dtsi                  |   11 +-
 arch/arm/boot/dts/imx6q-bx50v3.dtsi                |   11 +-
 arch/arm/boot/dts/imx6q-cm-fx6.dts                 |   32 +-
 arch/arm/boot/dts/imx6q-cubox-i.dts                |   10 +-
 arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts            |    1 -
 arch/arm/boot/dts/imx6q-evi.dts                    |    3 -
 arch/arm/boot/dts/imx6q-gw5400-a.dts               |    1 -
 arch/arm/boot/dts/imx6q-h100.dts                   |   10 +-
 arch/arm/boot/dts/imx6q-hummingboard.dts           |   10 +-
 arch/arm/boot/dts/imx6q-icore-rqs.dts              |   12 +-
 arch/arm/boot/dts/imx6q-icore.dts                  |   10 +-
 arch/arm/boot/dts/imx6q-marsboard.dts              |   11 +-
 arch/arm/boot/dts/imx6q-mccmon6.dts                |  473 +
 arch/arm/boot/dts/imx6q-nitrogen6_max.dts          |   10 +-
 arch/arm/boot/dts/imx6q-nitrogen6_som2.dts         |   10 +-
 arch/arm/boot/dts/imx6q-nitrogen6x.dts             |   10 +-
 arch/arm/boot/dts/imx6q-novena.dts                 |    1 -
 arch/arm/boot/dts/imx6q-sabrelite.dts              |   10 +-
 arch/arm/boot/dts/imx6q-savageboard.dts            |   55 +
 arch/arm/boot/dts/imx6q-ts4900.dts                 |   10 +-
 arch/arm/boot/dts/imx6q-utilite-pro.dts            |  115 +
 arch/arm/boot/dts/imx6qdl-apalis.dtsi              |   12 +-
 arch/arm/boot/dts/imx6qdl-apf6dev.dtsi             |    1 -
 arch/arm/boot/dts/imx6qdl-aristainetos.dtsi        |    1 -
 arch/arm/boot/dts/imx6qdl-aristainetos2.dtsi       |   13 +-
 arch/arm/boot/dts/imx6qdl-colibri.dtsi             |   11 +-
 arch/arm/boot/dts/imx6qdl-cubox-i.dtsi             |   10 +-
 arch/arm/boot/dts/imx6qdl-dfi-fs700-m60.dtsi       |    1 -
 arch/arm/boot/dts/imx6qdl-gw51xx.dtsi              |  132 +-
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi              |  166 +-
 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi              |  163 +-
 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi              |   16 +
 arch/arm/boot/dts/imx6qdl-gw551x.dtsi              |  132 +-
 arch/arm/boot/dts/imx6qdl-gw552x.dtsi              |  130 +-
 arch/arm/boot/dts/imx6qdl-gw553x.dtsi              |   98 +-
 arch/arm/boot/dts/imx6qdl-hummingboard.dtsi        |   10 +-
 arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi           |   14 +-
 arch/arm/boot/dts/imx6qdl-icore.dtsi               |   10 +-
 arch/arm/boot/dts/imx6qdl-microsom-ar8035.dtsi     |   10 +-
 arch/arm/boot/dts/imx6qdl-microsom.dtsi            |   10 +-
 arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi           |   13 +-
 arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi       |   15 +-
 arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi      |   13 +-
 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi          |   13 +-
 arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi       |    1 -
 arch/arm/boot/dts/imx6qdl-rex.dtsi                 |    2 -
 arch/arm/boot/dts/imx6qdl-sabreauto.dtsi           |    1 -
 arch/arm/boot/dts/imx6qdl-sabrelite.dtsi           |   13 +-
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi             |    1 -
 arch/arm/boot/dts/imx6qdl-savageboard.dtsi         |  255 +
 arch/arm/boot/dts/imx6qdl-ts4900.dtsi              |   12 +-
 arch/arm/boot/dts/imx6qdl-tx6.dtsi                 |    1 -
 arch/arm/boot/dts/imx6qdl.dtsi                     |   14 +-
 arch/arm/boot/dts/imx6qp.dtsi                      |    6 +
 arch/arm/boot/dts/imx6sl-evk.dts                   |    1 -
 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts           |   11 +-
 arch/arm/boot/dts/imx6sx-sdb-sai.dts               |   10 +-
 arch/arm/boot/dts/imx6sx-udoo-neo.dtsi             |  140 +-
 arch/arm/boot/dts/imx6ul-geam-kit.dts              |   10 +-
 arch/arm/boot/dts/imx6ul-geam.dtsi                 |   10 +-
 arch/arm/boot/dts/imx6ul-isiot-emmc.dts            |   77 +
 arch/arm/boot/dts/imx6ul-isiot-nand.dts            |   79 +
 arch/arm/boot/dts/imx6ul-isiot.dtsi                |  114 +
 arch/arm/boot/dts/imx6ul-liteboard.dts             |   10 +-
 arch/arm/boot/dts/imx6ul-litesom.dtsi              |   10 +-
 arch/arm/boot/dts/imx6ul-opos6ul.dtsi              |  192 +
 arch/arm/boot/dts/imx6ul-opos6uldev.dts            |  412 +
 arch/arm/boot/dts/imx6ul-pico-hobbit.dts           |   10 +-
 arch/arm/boot/dts/imx6ul-tx6ul.dtsi                |    1 -
 arch/arm/boot/dts/imx6ul.dtsi                      |   11 +-
 arch/arm/boot/dts/imx6ull-14x14-evk.dts            |   10 +-
 arch/arm/boot/dts/imx6ull.dtsi                     |   10 +-
 arch/arm/boot/dts/imx7-colibri.dtsi                |   16 +-
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts            |   14 +-
 arch/arm/boot/dts/imx7d-nitrogen7.dts              |   14 +-
 arch/arm/boot/dts/imx7d-pinfunc.h                  |  110 +-
 arch/arm/boot/dts/imx7d-sdb.dts                    |   25 +-
 arch/arm/boot/dts/imx7s-warp.dts                   |    4 +-
 arch/arm/boot/dts/imx7s.dtsi                       |    1 -
 arch/arm/boot/dts/keystone-k2e-netcp.dtsi          |    3 +-
 arch/arm/boot/dts/keystone-k2e.dtsi                |   25 +
 arch/arm/boot/dts/keystone-k2g.dtsi                |   18 +-
 arch/arm/boot/dts/keystone-k2hk-netcp.dtsi         |    3 +-
 arch/arm/boot/dts/keystone-k2hk.dtsi               |   32 +
 arch/arm/boot/dts/keystone-k2l-netcp.dtsi          |    3 +-
 arch/arm/boot/dts/keystone-k2l.dtsi                |   32 +-
 arch/arm/boot/dts/keystone.dtsi                    |   13 +-
 arch/arm/boot/dts/kirkwood-dir665.dts              |   49 +
 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   |   10 +-
 .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    |   10 +-
 arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts   |   10 +-
 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |   10 +-
 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |   10 +-
 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   |   10 +-
 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   |   10 +-
 arch/arm/boot/dts/kirkwood-linkstation.dtsi        |   10 +-
 arch/arm/boot/dts/kirkwood-linksys-viper.dts       |   49 +
 arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts     |   49 +
 arch/arm/boot/dts/kirkwood-rd88f6281-a.dts         |    9 +-
 arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts        |   11 +
 arch/arm/boot/dts/kirkwood-rd88f6281.dtsi          |   44 +
 arch/arm/boot/dts/logicpd-torpedo-som.dtsi         |    2 +-
 arch/arm/boot/dts/ls1021a.dtsi                     |    4 +-
 arch/arm/boot/dts/mt2701-evb.dts                   |   54 +
 arch/arm/boot/dts/mt2701.dtsi                      |  249 +-
 arch/arm/boot/dts/mt6580.dtsi                      |    2 +-
 arch/arm/boot/dts/mt6589.dtsi                      |    2 +-
 arch/arm/boot/dts/mt7623-evb.dts                   |    2 +-
 arch/arm/boot/dts/mt7623.dtsi                      |    4 +-
 arch/arm/boot/dts/mt8127.dtsi                      |    2 +-
 arch/arm/boot/dts/mt8135.dtsi                      |    2 +-
 arch/arm/boot/dts/mvebu-linkstation-fan.dtsi       |   10 +-
 .../boot/dts/mvebu-linkstation-gpio-simple.dtsi    |   10 +-
 arch/arm/boot/dts/omap3-beagle-xm.dts              |   16 +
 arch/arm/boot/dts/omap3-igep.dtsi                  |   21 -
 arch/arm/boot/dts/omap3-n900.dts                   |    3 +-
 arch/arm/boot/dts/omap4-panda-common.dtsi          |   16 +
 arch/arm/boot/dts/omap5-igep0050.dts               |   21 +
 arch/arm/boot/dts/omap5-uevm.dts                   |   21 +
 arch/arm/boot/dts/omap5.dtsi                       |    2 +-
 arch/arm/boot/dts/orion5x-kuroboxpro.dts           |   10 +-
 arch/arm/boot/dts/orion5x-linkstation-lschl.dts    |   10 +-
 arch/arm/boot/dts/orion5x-linkstation-lsgl.dts     |   10 +-
 arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts   |   10 +-
 arch/arm/boot/dts/orion5x-linkstation.dtsi         |   10 +-
 arch/arm/boot/dts/orion5x-lswsgl.dts               |   10 +-
 arch/arm/boot/dts/ox810se.dtsi                     |   10 +-
 arch/arm/boot/dts/ox820.dtsi                       |   14 +-
 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts     |   62 +-
 .../arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts |   69 +
 arch/arm/boot/dts/qcom-apq8064-ifc6410.dts         |   22 -
 arch/arm/boot/dts/qcom-apq8064-pins.dtsi           |   37 +
 .../arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dts |    7 +
 arch/arm/boot/dts/qcom-apq8064.dtsi                |  287 +-
 arch/arm/boot/dts/qcom-ipq8064.dtsi                |    4 +-
 arch/arm/boot/dts/qcom-msm8660-surf.dts            |    2 +-
 arch/arm/boot/dts/qcom-msm8660.dtsi                |   12 +-
 .../boot/dts/qcom-msm8974-sony-xperia-honami.dts   |    8 +
 arch/arm/boot/dts/qcom-msm8974.dtsi                |   96 +-
 arch/arm/boot/dts/r7s72100-rskrza1.dts             |    8 +
 arch/arm/boot/dts/r7s72100.dtsi                    |   28 +
 arch/arm/boot/dts/r8a73a4.dtsi                     |    6 +-
 arch/arm/boot/dts/r8a7743.dtsi                     |   18 +-
 arch/arm/boot/dts/r8a7745.dtsi                     |   18 +-
 arch/arm/boot/dts/r8a7778.dtsi                     |   10 +-
 arch/arm/boot/dts/r8a7779-marzen.dts               |    4 +
 arch/arm/boot/dts/r8a7779.dtsi                     |    9 +-
 arch/arm/boot/dts/r8a7790.dtsi                     |   37 +-
 arch/arm/boot/dts/r8a7791.dtsi                     |   35 +-
 arch/arm/boot/dts/r8a7792.dtsi                     |   26 +-
 arch/arm/boot/dts/r8a7793-gose.dts                 |   21 +
 arch/arm/boot/dts/r8a7793.dtsi                     |   23 +-
 arch/arm/boot/dts/r8a7794.dtsi                     |   23 +-
 arch/arm/boot/dts/rk1108.dtsi                      |    2 +-
 arch/arm/boot/dts/rk3036-evb.dts                   |    2 +-
 arch/arm/boot/dts/rk3036-kylin.dts                 |   12 +-
 arch/arm/boot/dts/rk3036.dtsi                      |    2 +-
 arch/arm/boot/dts/rk3066a-bqcurie2.dts             |    8 +-
 arch/arm/boot/dts/rk3066a-marsboard.dts            |    6 +-
 arch/arm/boot/dts/rk3066a-mk808.dts                |   10 +-
 arch/arm/boot/dts/rk3066a-rayeager.dts             |   18 +-
 arch/arm/boot/dts/rk3066a.dtsi                     |    4 +
 arch/arm/boot/dts/rk3188-px3-evb.dts               |   10 +-
 arch/arm/boot/dts/rk3188-radxarock.dts             |   20 +-
 arch/arm/boot/dts/rk3188.dtsi                      |    4 +
 arch/arm/boot/dts/rk3229-evb.dts                   |    2 +-
 arch/arm/boot/dts/rk322x.dtsi                      |    2 +-
 arch/arm/boot/dts/rk3288-evb-act8846.dts           |    6 +-
 arch/arm/boot/dts/rk3288-evb-rk808.dts             |    2 +-
 arch/arm/boot/dts/rk3288-evb.dtsi                  |   14 +-
 arch/arm/boot/dts/rk3288-fennec.dts                |    6 +-
 arch/arm/boot/dts/rk3288-firefly-beta.dts          |    2 +-
 arch/arm/boot/dts/rk3288-firefly-reload-core.dtsi  |    2 +-
 arch/arm/boot/dts/rk3288-firefly-reload.dts        |   26 +-
 arch/arm/boot/dts/rk3288-firefly.dts               |    2 +-
 arch/arm/boot/dts/rk3288-firefly.dtsi              |   18 +-
 arch/arm/boot/dts/rk3288-miqi.dts                  |    8 +-
 arch/arm/boot/dts/rk3288-popmetal.dts              |    8 +-
 arch/arm/boot/dts/rk3288-r89.dts                   |   14 +-
 arch/arm/boot/dts/rk3288-rock2-som.dtsi            |    4 +-
 arch/arm/boot/dts/rk3288-rock2-square.dts          |   14 +-
 arch/arm/boot/dts/rk3288-veyron-analog-audio.dtsi  |    8 +-
 arch/arm/boot/dts/rk3288-veyron-brain.dts          |    8 +-
 arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi    |   14 +-
 arch/arm/boot/dts/rk3288-veyron-jaq.dts            |   14 +-
 arch/arm/boot/dts/rk3288-veyron-jerry.dts          |   12 +-
 arch/arm/boot/dts/rk3288-veyron-mickey.dts         |    6 +-
 arch/arm/boot/dts/rk3288-veyron-minnie.dts         |   18 +-
 arch/arm/boot/dts/rk3288-veyron-pinky.dts          |    4 +-
 arch/arm/boot/dts/rk3288-veyron-sdmmc.dtsi         |    2 +-
 arch/arm/boot/dts/rk3288-veyron-speedy.dts         |   10 +-
 arch/arm/boot/dts/rk3288-veyron.dtsi               |   10 +-
 arch/arm/boot/dts/rk3288.dtsi                      |   86 +-
 arch/arm/boot/dts/sama5d2.dtsi                     |   32 +-
 arch/arm/boot/dts/sama5d36ek_cmp.dts               |   87 +
 arch/arm/boot/dts/sama5d3_uart.dtsi                |    4 +-
 arch/arm/boot/dts/sama5d3xcm_cmp.dtsi              |  201 +
 arch/arm/boot/dts/sama5d3xmb_cmp.dtsi              |  301 +
 arch/arm/boot/dts/sama5d4.dtsi                     |   16 +-
 arch/arm/boot/dts/sh73a0.dtsi                      |    2 +-
 arch/arm/boot/dts/socfpga.dtsi                     |   31 +-
 arch/arm/boot/dts/socfpga_arria10.dtsi             |   41 +-
 arch/arm/boot/dts/socfpga_arria10_socdk.dtsi       |    9 +
 arch/arm/boot/dts/socfpga_arria10_socdk_nand.dts   |   31 +
 arch/arm/boot/dts/socfpga_arria5.dtsi              |    4 +
 arch/arm/boot/dts/socfpga_arria5_socdk.dts         |   43 +
 arch/arm/boot/dts/socfpga_cyclone5_socdk.dts       |   53 +
 arch/arm/boot/dts/ste-dbx5x0.dtsi                  |   21 +
 arch/arm/boot/dts/ste-href.dtsi                    |   21 +-
 arch/arm/boot/dts/ste-hrefprev60.dtsi              |    1 +
 arch/arm/boot/dts/ste-hrefv60plus.dtsi             |    1 +
 arch/arm/boot/dts/ste-snowball.dts                 |   25 +-
 arch/arm/boot/dts/stih407-family.dtsi              |   72 +-
 arch/arm/boot/dts/stih407-pinctrl.dtsi             |   12 +-
 arch/arm/boot/dts/stih410-b2120.dts                |    6 +
 arch/arm/boot/dts/stih410-b2260.dts                |    5 +
 arch/arm/boot/dts/stih410.dtsi                     |   24 +-
 arch/arm/boot/dts/stm32429i-eval.dts               |   37 +-
 arch/arm/boot/dts/stm32f429-disco.dts              |    6 +
 arch/arm/boot/dts/stm32f429.dtsi                   |  450 +-
 arch/arm/boot/dts/stm32f469-disco.dts              |   36 +-
 arch/arm/boot/dts/sun4i-a10-a1000.dts              |   43 +-
 arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts         |    2 +-
 arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts    |   14 +-
 arch/arm/boot/dts/sun4i-a10-cubieboard.dts         |   14 +-
 arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts   |   38 +-

commit a351e9b9fc24e982ec2f0e76379a49826036da12
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Sun Apr 30 19:47:48 2017 -0700

    Linux 4.11

commit 97ce89f8a4eb15a1e82be419fcd6218fe4da1fbd
Merge: 14e07f0 88d879d
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Sun Apr 30 11:44:18 2017 -0700

    Merge branch 'x86-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull x86 fixes from Thomas Gleixner:
     "The final fixes for 4.11:
    
       - prevent a triple fault with function graph tracing triggered via
         suspend to ram
    
       - prevent optimizing for size when function graph tracing is enabled
         and the compiler does not support -mfentry
    
       - prevent mwaitx() being called with a zero timeout as mwaitx() might
         never return. Observed on the new Ryzen CPUs"
    
    * 'x86-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      Prevent timer value 0 for MWAITX
      x86/build: convert function graph '-Os' error to warning
      ftrace/x86: Fix triple fault with graph tracing and suspend-to-ram

commit 14e07f023ff6ed3e38850a9935a05b0b8e52fa49
Merge: 8c9a694 25e2d8c
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Sun Apr 30 11:35:00 2017 -0700

    Merge branch 'sched-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull scheduler fix from Thomas Gleixner:
     "A single fix for a cputime accounting regression which got introduced
      in the 4.11 cycle"
    
    * 'sched-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/cputime: Fix ksoftirqd cputime accounting regression

commit 88d879d29f9cc0de2d930b584285638cdada6625
Author: Janakarajan Natarajan <janakarajan.natara...@amd.com>
Date:   Tue Apr 25 16:44:03 2017 -0500

    Prevent timer value 0 for MWAITX
    
    Newer hardware has uncovered a bug in the software implementation of
    using MWAITX for the delay function. A value of 0 for the timer is meant
    to indicate that a timeout will not be used to exit MWAITX. On newer
    hardware this can result in MWAITX never returning, resulting in NMI
    soft lockup messages being printed. On older hardware, some of the other
    conditions under which MWAITX can exit masked this issue. The AMD APM
    does not currently document this and will be updated.
    
    Please refer to http://marc.info/?l=kvm&m=148950623231140 for
    information regarding NMI soft lockup messages on an AMD Ryzen 1800X.
    This has been root-caused as a 0 passed to MWAITX causing it to wait
    indefinitely.
    
    This change has the added benefit of avoiding the unnecessary setup of
    MONITORX/MWAITX when the delay value is zero.
    
    Signed-off-by: Janakarajan Natarajan <janakarajan.natara...@amd.com>
    Link: 
http://lkml.kernel.org/r/1493156643-29366-1-git-send-email-janakarajan.natara...@amd.com
    Signed-off-by: Thomas Gleixner <t...@linutronix.de>

commit 8c9a694dc046fab9dff249555860460b92990b52
Merge: 0060e79 4fa55ce
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Sat Apr 29 14:00:42 2017 -0700

    Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
    
    Pull iov iter fix from Al Viro.
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      fix a braino in ITER_PIPE iov_iter_revert()

commit 4fa55cefee1bbecadb4c9f47d40a92f65dc44351
Author: Al Viro <v...@zeniv.linux.org.uk>
Date:   Sat Apr 29 16:42:30 2017 -0400

    fix a braino in ITER_PIPE iov_iter_revert()
    
    Fixes: 27c0e3748e41
    Tested-by: Dave Jones <da...@codemonkey.org.uk>
    Signed-off-by: Al Viro <v...@zeniv.linux.org.uk>

commit 0060e79a1f5231940ef38e6621745c0c808065cb
Merge: 0e91178 36c02d0
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Fri Apr 28 17:04:31 2017 -0700

    Merge tag 'clk-fixes-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
    
    Pull clk fix from Stephen Boyd:
     "One odd config build fix for a recent Allwinner clock driver change
      that got merged. The common code called code in another file that
      wasn't always built. This just forces it on so people don't run into
      this bad configuration"
    
    * tag 'clk-fixes-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      clk: sunxi-ng: always select CCU_GATE

commit 0e9117882da14e7914d05cf14781a7ac9c61c670
Merge: affb852 4c761da
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Fri Apr 28 14:13:16 2017 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
    
    Pull networking fixes from David Miller:
     "Just a couple more stragglers, I really hope this is it.
    
      1) Don't let frags slip down into the GRO segmentation handlers, from
         Steffen Klassert.
    
      2) Truesize under-estimation triggers warnings in TCP over loopback
         with socket filters, 2 part fix from Eric Dumazet.
    
      3) Fix undesirable reset of bonding MTU to ETH_HLEN on slave removal,
         from Paolo Abeni.
    
      4) If we flush the XFRM policy after garbage collection, it doesn't
         work because stray entries can be created afterwards. Fix from Xin
         Long.
    
      5) Hung socket connection fixes in TIPC from Parthasarathy Bhuvaragan.
    
      6) Fix GRO regression with IPSEC when netfilter is disabled, from
         Sabrina Dubroca.
    
      7) Fix cpsw driver Kconfig dependency regression, from Arnd Bergmann"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
      net: hso: register netdev later to avoid a race condition
      net: adjust skb->truesize in ___pskb_trim()
      tcp: do not underestimate skb->truesize in tcp_trim_head()
      bonding: avoid defaulting hard_header_len to ETH_HLEN on slave removal
      ipv4: Don't pass IP fragments to upper layer GRO handlers.
      cpsw/netcp: refine cpts dependency
      tipc: close the connection if protocol messages contain errors
      tipc: improve error validations for sockets in CONNECTING state
      tipc: Fix missing connection request handling
      xfrm: fix GRO for !CONFIG_NETFILTER
      xfrm: do the garbage collection after flushing policy

commit 4c761daf8bb9a2cbda9facf53ea85d9061f4281e
Author: Andreas Kemnade <andr...@kemnade.info>
Date:   Wed Apr 26 19:26:40 2017 +0200

    net: hso: register netdev later to avoid a race condition
    
    If the netdev is accessed before the urbs are initialized,
    there will be NULL pointer dereferences. That is avoided by
    registering it when it is fully initialized.
    
    This case occurs e.g. if dhcpcd is running in the background
    and the device is probed, either after insmod hso or
    when the device appears on the usb bus.
    
    A backtrace is the following:
    
    [ 1357.356048] usb 1-2: new high-speed USB device number 12 using ehci-omap
    [ 1357.551177] usb 1-2: New USB device found, idVendor=0af0, idProduct=8800
    [ 1357.558654] usb 1-2: New USB device strings: Mfr=3, Product=2, 
SerialNumber=0
    [ 1357.568572] usb 1-2: Product: Globetrotter HSUPA Modem
    [ 1357.574096] usb 1-2: Manufacturer: Option N.V.
    [ 1357.685882] hso 1-2:1.5: Not our interface
    [ 1460.886352] hso: unloaded
    [ 1460.889984] usbcore: deregistering interface driver hso
    [ 1513.769134] hso: ../drivers/net/usb/hso.c: Option Wireless
    [ 1513.846771] Unable to handle kernel NULL pointer dereference at virtual 
address 00000030
    [ 1513.887664] hso 1-2:1.5: Not our interface
    [ 1513.906890] usbcore: registered new interface driver hso
    [ 1513.937988] pgd = ecdec000
    [ 1513.949890] [00000030] *pgd=acd15831, *pte=00000000, *ppte=00000000
    [ 1513.956573] Internal error: Oops: 817 [#1] PREEMPT SMP ARM
    [ 1513.962371] Modules linked in: hso usb_f_ecm omap2430 bnep bluetooth 
g_ether usb_f_rndis u_ether libcomposite configfs ipv6 arc4 wl18xx wlcore 
mac80211 cfg80211 bq27xxx_battery panel_tpo_td028ttec1 omapdrm drm_kms_helper 
cfbfillrect snd_soc_simple_card syscopyarea cfbimgblt snd_soc_simple_card_utils 
sysfillrect sysimgblt fb_sys_fops snd_soc_omap_twl4030 cfbcopyarea 
encoder_opa362 drm twl4030_madc_hwmon wwan_on_off snd_soc_gtm601 
pwm_omap_dmtimer generic_adc_battery connector_analog_tv pwm_bl extcon_gpio 
omap3_isp wlcore_sdio videobuf2_dma_contig videobuf2_memops w1_bq27000 
videobuf2_v4l2 videobuf2_core omap_hdq snd_soc_omap_mcbsp ov9650 snd_soc_omap 
bmp280_i2c bmg160_i2c v4l2_common snd_pcm_dmaengine bmp280 bmg160_core at24 
bmc150_magn_i2c nvmem_core videodev phy_twl4030_usb bmc150_accel_i2c tsc2007
    [ 1514.037384]  bmc150_magn bmc150_accel_core media leds_tca6507 bno055 
industrialio_triggered_buffer kfifo_buf gpio_twl4030 musb_hdrc snd_soc_twl4030 
twl4030_vibra twl4030_madc twl4030_pwrbutton twl4030_charger industrialio 
w2sg0004 ehci_omap omapdss [last unloaded: hso]
    [ 1514.062622] CPU: 0 PID: 3433 Comm: dhcpcd Tainted: G        W       
4.11.0-rc8-letux+ #1
    [ 1514.071136] Hardware name: Generic OMAP36xx (Flattened Device Tree)
    [ 1514.077758] task: ee748240 task.stack: ecdd6000
    [ 1514.082580] PC is at hso_start_net_device+0x50/0xc0 [hso]
    [ 1514.088287] LR is at hso_net_open+0x68/0x84 [hso]
    [ 1514.093231] pc : [<bf79c304>]    lr : [<bf79ced8>]    psr: a00f0013
    sp : ecdd7e20  ip : 00000000  fp : ffffffff
    [ 1514.105316] r10: 00000000  r9 : ed0e080c  r8 : ecd8fe2c
    [ 1514.110839] r7 : bf79cef4  r6 : ecd8fe00  r5 : 00000000  r4 : ed0dbd80
    [ 1514.117706] r3 : 00000000  r2 : c0020c80  r1 : 00000000  r0 : ecdb7800
    [ 1514.124572] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
none
    [ 1514.132110] Control: 10c5387d  Table: acdec019  DAC: 00000051
    [ 1514.138153] Process dhcpcd (pid: 3433, stack limit = 0xecdd6218)
    [ 1514.144470] Stack: (0xecdd7e20 to 0xecdd8000)
    [ 1514.149078] 7e20: ed0dbd80 ecd8fe98 00000001 00000000 ecd8f800 ecd8fe00 
ecd8fe60 00000000
    [ 1514.157714] 7e40: ed0e080c bf79ced8 bf79ce70 ecd8f800 00000001 bf7a0258 
ecd8f830 c068d958
    [ 1514.166320] 7e60: c068d8b8 ecd8f800 00000001 00001091 00001090 c068dba4 
ecd8f800 00001090
    [ 1514.174926] 7e80: ecd8f940 ecd8f800 00000000 c068dc60 00000000 00000001 
ed0e0800 ecd8f800
    [ 1514.183563] 7ea0: 00000000 c06feaa8 c0ca39c2 beea57dc 00000020 00000000 
306f7368 00000000
    [ 1514.192169] 7ec0: 00000000 00000000 00001091 00000000 00000000 00000000 
00000000 00008914
    [ 1514.200805] 7ee0: eaa9ab60 beea57dc c0c9bfc0 eaa9ab40 00000006 00000000 
00046858 c066a948
    [ 1514.209411] 7f00: beea57dc eaa9ab60 ecc6b0c0 c02837b0 00000006 c0282c90 
0000c000 c0283654
    [ 1514.218017] 7f20: c09b0c00 c098bc31 00000001 c0c5e513 c0c5e513 00000000 
c0151354 c01a20c0
    [ 1514.226654] 7f40: c0c5e513 c01a3134 ecdd6000 c01a3160 ee7487f0 600f0013 
00000000 ee748240
    [ 1514.235260] 7f60: ee748734 00000000 ecc6b0c0 ecc6b0c0 beea57dc 00008914 
00000006 00000000
    [ 1514.243896] 7f80: 00046858 c02837b0 00001091 0003a1f0 00046608 0003a248 
00000036 c01071e4
    [ 1514.252502] 7fa0: ecdd6000 c0107040 0003a1f0 00046608 00000006 00008914 
beea57dc 00001091
    [ 1514.261108] 7fc0: 0003a1f0 00046608 0003a248 00000036 0003ac0c 00046608 
00046610 00046858
    [ 1514.269744] 7fe0: 0003a0ac beea57d4 000167eb b6f23106 400f0030 00000006 
00000000 00000000
    [ 1514.278411] [<bf79c304>] (hso_start_net_device [hso]) from [<bf79ced8>] 
(hso_net_open+0x68/0x84 [hso])
    [ 1514.288238] [<bf79ced8>] (hso_net_open [hso]) from [<c068d958>] 
(__dev_open+0xa0/0xf4)
    [ 1514.296600] [<c068d958>] (__dev_open) from [<c068dba4>] 
(__dev_change_flags+0x8c/0x130)
    [ 1514.305023] [<c068dba4>] (__dev_change_flags) from [<c068dc60>] 
(dev_change_flags+0x18/0x48)
    [ 1514.313934] [<c068dc60>] (dev_change_flags) from [<c06feaa8>] 
(devinet_ioctl+0x348/0x714)
    [ 1514.322540] [<c06feaa8>] (devinet_ioctl) from [<c066a948>] 
(sock_ioctl+0x2b0/0x308)
    [ 1514.330627] [<c066a948>] (sock_ioctl) from [<c0282c90>] 
(vfs_ioctl+0x20/0x34)
    [ 1514.338165] [<c0282c90>] (vfs_ioctl) from [<c0283654>] 
(do_vfs_ioctl+0x82c/0x93c)
    [ 1514.346038] [<c0283654>] (do_vfs_ioctl) from [<c02837b0>] 
(SyS_ioctl+0x4c/0x74)
    [ 1514.353759] [<c02837b0>] (SyS_ioctl) from [<c0107040>] 
(ret_fast_syscall+0x0/0x1c)
    [ 1514.361755] Code: e3822103 e3822080 e1822781 e5981014 (e5832030)
    [ 1514.510833] ---[ end trace dfb3e53c657f34a0 ]---
    
    Reported-by: H. Nikolaus Schaller <h...@goldelico.com>
    Signed-off-by: Andreas Kemnade <andr...@kemnade.info>
    Reviewed-by: Johan Hovold <jo...@kernel.org>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit c21b48cc1bbf2f5af3ef54ada559f7fadf8b508b
Author: Eric Dumazet <eduma...@google.com>
Date:   Wed Apr 26 09:07:46 2017 -0700

    net: adjust skb->truesize in ___pskb_trim()
    
    Andrey found a way to trigger the WARN_ON_ONCE(delta < len) in
    skb_try_coalesce() using syzkaller and a filter attached to a TCP
    socket.
    
    As we did recently in commit 158f323b9868 ("net: adjust skb->truesize in
    pskb_expand_head()") we can adjust skb->truesize from ___pskb_trim(),
    via a call to skb_condense().
    
    If all frags were freed, then skb->truesize can be recomputed.
    
    This call can be done if skb is not yet owned, or destructor is
    sock_edemux().
    
    Signed-off-by: Eric Dumazet <eduma...@google.com>
    Reported-by: Andrey Konovalov <andreyk...@google.com>
    Cc: Willem de Bruijn <will...@google.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 7162fb242cb8322beb558828fd26b33c3e9fc805
Author: Eric Dumazet <eduma...@google.com>
Date:   Wed Apr 26 17:15:40 2017 -0700

    tcp: do not underestimate skb->truesize in tcp_trim_head()
    
    Andrey found a way to trigger the WARN_ON_ONCE(delta < len) in
    skb_try_coalesce() using syzkaller and a filter attached to a TCP
    socket over loopback interface.
    
    I believe one issue with looped skbs is that tcp_trim_head() can end up
    producing skb with under estimated truesize.
    
    It hardly matters for normal conditions, since packets sent over
    loopback are never truncated.
    
    Bytes trimmed from skb->head should not change skb truesize, since
    skb->head is not reallocated.
    
    Signed-off-by: Eric Dumazet <eduma...@google.com>
    Reported-by: Andrey Konovalov <andreyk...@google.com>
    Tested-by: Andrey Konovalov <andreyk...@google.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 19cdead3e2ef8ed765c5d1ce48057ca9d97b5094
Author: Paolo Abeni <pab...@redhat.com>
Date:   Thu Apr 27 19:29:34 2017 +0200

    bonding: avoid defaulting hard_header_len to ETH_HLEN on slave removal
    
    On slave list updates, the bonding driver computes its hard_header_len
    as the maximum of all enslaved devices's hard_header_len.
    If the slave list is empty, e.g. on last enslaved device removal,
    ETH_HLEN is used.
    
    Since the bonding header_ops are set only when the first enslaved
    device is attached, the above can lead to header_ops->create()
    being called with the wrong skb headroom in place.
    
    If bond0 is configured on top of ipoib devices, with the
    following commands:
    
    ifup bond0
    for slave in $BOND_SLAVES_LIST; do
        ip link set dev $slave nomaster
    done
    ping -c 1 <ip on bond0 subnet>
    
    we will obtain a skb_under_panic() with a similar call trace:
        skb_push+0x3d/0x40
        push_pseudo_header+0x17/0x30 [ib_ipoib]
        ipoib_hard_header+0x4e/0x80 [ib_ipoib]
        arp_create+0x12f/0x220
        arp_send_dst.part.19+0x28/0x50
        arp_solicit+0x115/0x290
        neigh_probe+0x4d/0x70
        __neigh_event_send+0xa7/0x230
        neigh_resolve_output+0x12e/0x1c0
        ip_finish_output2+0x14b/0x390
        ip_finish_output+0x136/0x1e0
        ip_output+0x76/0xe0
        ip_local_out+0x35/0x40
        ip_send_skb+0x19/0x40
        ip_push_pending_frames+0x33/0x40
        raw_sendmsg+0x7d3/0xb50
        inet_sendmsg+0x31/0xb0
        sock_sendmsg+0x38/0x50
        SYSC_sendto+0x102/0x190
        SyS_sendto+0xe/0x10
        do_syscall_64+0x67/0x180
        entry_SYSCALL64_slow_path+0x25/0x25
    
    This change addresses the issue avoiding updating the bonding device
    hard_header_len when the slaves list become empty, forbidding to
    shrink it below the value used by header_ops->create().
    
    The bug is there since commit 54ef31371407 ("[PATCH] bonding: Handle large
    hard_header_len") but the panic can be triggered only since
    commit fc791b633515 ("IB/ipoib: move back IB LL address into the hard
    header").
    
    Reported-by: Norbert P <n...@physik.uzh.ch>
    Fixes: 54ef31371407 ("[PATCH] bonding: Handle large hard_header_len")
    Fixes: fc791b633515 ("IB/ipoib: move back IB LL address into the hard 
header")
    Signed-off-by: Marcelo Ricardo Leitner <marcelo.leit...@gmail.com>
    Signed-off-by: Paolo Abeni <pab...@redhat.com>
    Signed-off-by: Jay Vosburgh <jay.vosbu...@canonical.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 9b83e0319840eca758ef586776a427284ff767bf
Author: Steffen Klassert <steffen.klass...@secunet.com>
Date:   Fri Apr 28 10:54:32 2017 +0200

    ipv4: Don't pass IP fragments to upper layer GRO handlers.
    
    Upper layer GRO handlers can not handle IP fragments, so
    exit GRO processing in this case.
    
    This fixes ESP GRO because the packet must be reassembled
    before we can decapsulate, otherwise we get authentication
    failures.
    
    It also aligns IPv4 to IPv6 where packets with fragmentation
    headers are not passed to upper layer GRO handlers.
    
    Fixes: 7785bba299a8 ("esp: Add a software GRO codepath")
    Signed-off-by: Steffen Klassert <steffen.klass...@secunet.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 504926df6df5383cad25146de3ed0a45e02c0901
Author: Arnd Bergmann <a...@arndb.de>
Date:   Fri Apr 28 17:03:58 2017 +0200

    cpsw/netcp: refine cpts dependency
    
    Tony Lindgren reports a kernel oops that resulted from my compile-time
    fix on the default config. This shows two problems:
    
    a) configurations that did not already enable PTP_1588_CLOCK will
       now miss the cpts driver
    
    b) when cpts support is disabled, the driver crashes. This is a
       preexisting problem that we did not notice before my patch.
    
    While the second problem is still being investigated, this modifies
    the dependencies again, getting us back to the original state, with
    another 'select NET_PTP_CLASSIFY' added in to avoid the original
    link error we got, and the 'depends on POSIX_TIMERS' to hide
    the CPTS support when turning it on would be useless.
    
    Cc: sta...@vger.kernel.org # 4.11 needs this
    Fixes: 07fef3623407 ("cpsw/netcp: cpts depends on posix_timers")
    Signed-off-by: Arnd Bergmann <a...@arndb.de>
    Tested-by: Tony Lindgren <t...@atomide.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 5577e679564702664aaecce3c96036ace3ab64fa
Merge: c518471 cfcf99f
Author: David S. Miller <da...@davemloft.net>
Date:   Fri Apr 28 15:42:11 2017 -0400

    Merge branch 'master' of 
git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
    
    Steffen Klassert says:
    
    ====================
    pull request (net): ipsec 2017-04-28
    
    1) Do garbage collecting after a policy flush to remove old
       bundles immediately. From Xin Long.
    
    2) Fix GRO if netfilter is not defined.
       From Sabrina Dubroca.
    
    Please pull or let me know if there are problems.
    ====================
    
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit affb852d2fa260402cbdc77976adb0dcda3b5fae
Merge: 28b2013 7c5bb4a
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Fri Apr 28 11:08:42 2017 -0700

    Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    Pull input fix from Dmitry Torokhov:
     "Yet another quirk to i8042 to get touchpad recognized on some laptops"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: i8042 - add Clevo P650RS to the i8042 reset list

commit 36c02d0be4c3c8804e51f9740f0d768e17f3b566
Author: Arnd Bergmann <a...@arndb.de>
Date:   Thu Apr 27 13:02:31 2017 +0200

    clk: sunxi-ng: always select CCU_GATE
    
    When the base driver is enabled but all SoC specific drivers are turned
    off, we now get a build error after code was added to always refer to the
    clk gates:
    
    drivers/clk/built-in.o: In function `ccu_pll_notifier_cb':
    :(.text+0x154f8): undefined reference to `ccu_gate_helper_disable'
    :(.text+0x15504): undefined reference to `ccu_gate_helper_enable'
    
    This changes the Kconfig to always require the gate code to be built-in
    when CONFIG_SUNXI_CCU is set.
    
    Fixes: 02ae2bc6febd ("clk: sunxi-ng: Add clk notifier to gate then ungate 
PLL clocks")
    Signed-off-by: Arnd Bergmann <a...@arndb.de>
    Acked-by: Maxime Ripard <maxime.rip...@free-electrons.com>
    Signed-off-by: Stephen Boyd <sb...@codeaurora.org>

commit 28b2013587e535cef8bd8d8e0eae5ad40868369b
Merge: 8b5d11e 338bd52
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Fri Apr 28 10:13:17 2017 -0700

    Merge branch 'for-linus-4.11' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
    
    Pull btrfs fix from Chris Mason:
     "We have one more fix for btrfs.
    
      This gets rid of a new WARN_ON from rc1 that ended up making more
      noise than we really want. The larger fix for the underflow got
      delayed a bit and it's better for now to put it under
      CONFIG_BTRFS_DEBUG"
    
    * 'for-linus-4.11' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
      btrfs: qgroup: move noisy underflow warning to debugging build

commit c51847171162212618b3227812f007a654de2f4b
Merge: f832460 c1be775
Author: David S. Miller <da...@davemloft.net>
Date:   Fri Apr 28 12:20:43 2017 -0400

    Merge branch 'tipc-socket-connection-hangs'
    
    Parthasarathy Bhuvaragan says:
    
    ====================
    tipc: fix hanging socket connections
    
    This patch series contains fixes for the socket layer to
    prevent hanging / stale connections.
    ====================
    
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit c1be7756284b0fdbfe8aea8da968ce054697e0c5
Author: Parthasarathy Bhuvaragan <parthasarathy.bhuvara...@ericsson.com>
Date:   Wed Apr 26 10:05:02 2017 +0200

    tipc: close the connection if protocol messages contain errors
    
    When a socket is shutting down, we notify the peer node about the
    connection termination by reusing an incoming message if possible.
    If the last received message was a connection acknowledgment
    message, we reverse this message and set the error code to
    TIPC_ERR_NO_PORT and send it to peer.
    
    In tipc_sk_proto_rcv(), we never check for message errors while
    processing the connection acknowledgment or probe messages. Thus
    this message performs the usual flow control accounting and leaves
    the session hanging.
    
    In this commit, we terminate the connection when we receive such
    error messages.
    
    Signed-off-by: Parthasarathy Bhuvaragan 
<parthasarathy.bhuvara...@ericsson.com>
    Reviewed-by: Jon Maloy <jon.ma...@ericsson.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 4e0df4951e9ecb7ec026a1330ed59f12e8937a95
Author: Parthasarathy Bhuvaragan <parthasarathy.bhuvara...@ericsson.com>
Date:   Wed Apr 26 10:05:01 2017 +0200

    tipc: improve error validations for sockets in CONNECTING state
    
    Until now, the checks for sockets in CONNECTING state was based on
    the assumption that the incoming message was always from the
    peer's accepted data socket.
    
    However an application using a non-blocking socket sends an implicit
    connect, this socket which is in CONNECTING state can receive error
    messages from the peer's listening socket. As we discard these
    messages, the application socket hangs as there due to inactivity.
    In addition to this, there are other places where we process errors
    but do not notify the user.
    
    In this commit, we process such incoming error messages and notify
    our users about them using sk_state_change().
    
    Signed-off-by: Parthasarathy Bhuvaragan 
<parthasarathy.bhuvara...@ericsson.com>
    Reviewed-by: Jon Maloy <jon.ma...@ericsson.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 42b531de17d2f6bb9293f23398f6d9bb94635c3e
Author: Parthasarathy Bhuvaragan <parthasarathy.bhuvara...@ericsson.com>
Date:   Wed Apr 26 10:05:00 2017 +0200

    tipc: Fix missing connection request handling
    
    In filter_connect, we use waitqueue_active() to check for any
    connections to wakeup. But waitqueue_active() is missing memory
    barriers while accessing the critical sections, leading to
    inconsistent results.
    
    In this commit, we replace this with an SMP safe wq_has_sleeper()
    using the generic socket callback sk_data_ready().
    
    Signed-off-by: Parthasarathy Bhuvaragan 
<parthasarathy.bhuvara...@ericsson.com>
    Reviewed-by: Jon Maloy <jon.ma...@ericsson.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 8b5d11e4b095450e2f259d5f60ea18c13d2fe0a2
Merge: 19ac447 13bf9fb
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Thu Apr 27 13:39:19 2017 -0700

    Merge tag 'nfsd-4.11-3' of git://linux-nfs.org/~bfields/linux
    
    Pull nfsd fixes from Bruce Fields:
     "Thanks to Ari Kauppi and Tuomas Haanpää at Synopsis for spotting bugs
      in our NFSv2/v3 xdr code that could crash the server or leak memory"
    
    * tag 'nfsd-4.11-3' of git://linux-nfs.org/~bfields/linux:
      nfsd: stricter decoding of write-like NFSv2/v3 ops
      nfsd4: minor NFSv2/v3 write decoding cleanup
      nfsd: check for oversized NFSv2/v3 arguments

commit 19ac4474203863a8141663d73d5976fe25464bfd
Merge: f56fc7b 8179a10
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Thu Apr 27 11:38:05 2017 -0700

    Merge tag 'ceph-for-4.11-rc9' of git://github.com/ceph/ceph-client
    
    Pull ceph fix from Ilya Dryomov:
     "A fix for a kernel stack overflow bug in ceph setattr code, marked for
      stable"
    
    * tag 'ceph-for-4.11-rc9' of git://github.com/ceph/ceph-client:
      ceph: fix recursion between ceph_set_acl() and __ceph_setattr()

commit f56fc7bdaa22e7b2fac18de430db8195d2dfd7bd
Merge: 59372bb 1741937
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Thu Apr 27 11:09:37 2017 -0700

    Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
    
    Pull vfs fixes from Al Viro:
    
     - fix orangefs handling of faults on write() - I'd missed that one back
       when orangefs was going through review.
    
     - readdir counterpart of "9p: cope with bogus responses from server in
       p9_client_{read,write}" - server might be lying or broken, and we'd
       better not overrun the kmalloc'ed buffer we are copying the results
       into.
    
     - NFS O_DIRECT read/write can leave iov_iter advanced by too much;
       that's what had been causing iov_iter_pipe() warnings davej had been
       seeing.
    
     - statx_timestamp.tv_nsec type fix (s32 -> u32). That one really should
       go in before 4.11.
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      uapi: change the type of struct statx_timestamp.tv_nsec to unsigned
      fix nfs O_DIRECT advancing iov_iter too much
      p9_client_readdir() fix
      orangefs_bufmap_copy_from_iovec(): fix EFAULT handling

commit 59372bbf3abd5b24a7f6f676a3968685c280f955
Author: Michael Kerrisk (man-pages) <mtk.manpa...@gmail.com>
Date:   Thu Apr 27 13:54:11 2017 +0200

    statx: correct error handling of NULL pathname
    
    The change in commit 1e2f82d1e9d1 ("statx: Kill fd-with-NULL-path
    support in favour of AT_EMPTY_PATH") to error on a NULL pathname to
    statx() is inconsistent.
    
    It results in the error EINVAL for a NULL pathname.  Other system calls
    with similar APIs (fchownat(), fstatat(), linkat()), return EFAULT.
    
    The solution is simply to remove the EINVAL check.  As I already pointed
    out in [1], user_path_at*() and filename_lookup() will handle the NULL
    pathname as per the other APIs, to correctly produce the error EFAULT.
    
    [1] https://lkml.org/lkml/2017/4/26/561
    
    Signed-off-by: Michael Kerrisk <mtk.manpa...@gmail.com>
    Cc: David Howells <dhowe...@redhat.com>
    Cc: Al Viro <v...@zeniv.linux.org.uk>
    Cc: Eric Sandeen <sand...@sandeen.net>
    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>

commit cfcf99f987ba321a3d122580716beb9b08d52eb8
Author: Sabrina Dubroca <s...@queasysnail.net>
Date:   Thu Apr 27 12:03:37 2017 +0200

    xfrm: fix GRO for !CONFIG_NETFILTER
    
    In xfrm_input() when called from GRO, async == 0, and we end up
    skipping the processing in xfrm4_transport_finish(). GRO path will
    always skip the NF_HOOK, so we don't need the special-case for
    !NETFILTER during GRO processing.
    
    Fixes: 7785bba299a8 ("esp: Add a software GRO codepath")
    Signed-off-by: Sabrina Dubroca <s...@queasysnail.net>
    Signed-off-by: Steffen Klassert <steffen.klass...@secunet.com>

commit 25e2d8c1b9e327ed260edd13169cc22bc7a78bc6
Author: Frederic Weisbecker <fweis...@gmail.com>
Date:   Tue Apr 25 16:10:48 2017 +0200

    sched/cputime: Fix ksoftirqd cputime accounting regression
    
    irq_time_read() returns the irqtime minus the ksoftirqd time. This
    is necessary because irq_time_read() is used to substract the IRQ time
    from the sum_exec_runtime of a task. If we were to include the softirq
    time of ksoftirqd, this task would substract its own CPU time everytime
    it updates ksoftirqd->sum_exec_runtime which would therefore never
    progress.
    
    But this behaviour got broken by:
    
      a499a5a14db ("sched/cputime: Increment kcpustat directly on irqtime 
account")
    
    ... which now includes ksoftirqd softirq time in the time returned by
    irq_time_read().
    
    This has resulted in wrong ksoftirqd cputime reported to userspace
    through /proc/stat and thus "top" not showing ksoftirqd when it should
    after intense networking load.
    
    ksoftirqd->stime happens to be correct but it gets scaled down by
    sum_exec_runtime through task_cputime_adjusted().
    
    To fix this, just account the strict IRQ time in a separate counter and
    use it to report the IRQ time.
    
    Reported-and-tested-by: Jesper Dangaard Brouer <bro...@redhat.com>
    Signed-off-by: Frederic Weisbecker <fweis...@gmail.com>
    Reviewed-by: Rik van Riel <r...@redhat.com>
    Acked-by: Jesper Dangaard Brouer <bro...@redhat.com>
    Cc: Linus Torvalds <torva...@linux-foundation.org>
    Cc: Peter Zijlstra <pet...@infradead.org>
    Cc: Stanislaw Gruszka <sgrus...@redhat.com>
    Cc: Thomas Gleixner <t...@linutronix.de>
    Cc: Wanpeng Li <wanpeng...@hotmail.com>
    Link: 
http://lkml.kernel.org/r/1493129448-5356-1-git-send-email-fweis...@gmail.com
    Signed-off-by: Ingo Molnar <mi...@kernel.org>

commit 1741937d475d91ed95abb37f07e8571e23b9a7fe
Author: Dmitry V. Levin <l...@altlinux.org>
Date:   Wed Apr 26 14:50:00 2017 +0100

    uapi: change the type of struct statx_timestamp.tv_nsec to unsigned
    
    The comment asserting that the value of struct statx_timestamp.tv_nsec
    must be negative when statx_timestamp.tv_sec is negative, is wrong, as
    could be seen from the following example:
    
        #define _FILE_OFFSET_BITS 64
        #include <assert.h>
        #include <fcntl.h>
        #include <stdio.h>
        #include <sys/stat.h>
        #include <unistd.h>
        #include <asm/unistd.h>
        #include <linux/stat.h>
    
        int main(void)
        {
                static const struct timespec ts[2] = {
                        { .tv_nsec = UTIME_OMIT },
                        { .tv_sec = -2, .tv_nsec = 42 }
                };
                assert(utimensat(AT_FDCWD, ".", ts, 0) == 0);
    
                struct stat st;
                assert(stat(".", &st) == 0);
                printf("st_mtim.tv_sec = %lld, st_mtim.tv_nsec = %lu\n",
                       (long long) st.st_mtim.tv_sec,
                       (unsigned long) st.st_mtim.tv_nsec);
    
                struct statx stx;
                assert(syscall(__NR_statx, AT_FDCWD, ".", 0, 0, &stx) == 0);
                printf("stx_mtime.tv_sec = %lld, stx_mtime.tv_nsec = %lu\n",
                       (long long) stx.stx_mtime.tv_sec,
                       (unsigned long) stx.stx_mtime.tv_nsec);
    
                return 0;
        }
    
    It expectedly prints:
    st_mtim.tv_sec = -2, st_mtim.tv_nsec = 42
    stx_mtime.tv_sec = -2, stx_mtime.tv_nsec = 42
    
    The more generic comment asserting that the value of struct
    statx_timestamp.tv_nsec might be negative is confusing to say the least.
    
    It contradicts both the struct stat.st_[acm]time_nsec tradition and
    struct timespec.tv_nsec requirements in utimensat syscall.
    If statx syscall ever returns a stx_[acm]time containing a negative
    tv_nsec that cannot be passed unmodified to utimensat syscall,
    it will cause an immense confusion.
    
    Fix this source of confusion by changing the type of struct
    statx_timestamp.tv_nsec from __s32 to __u32.
    
    Fixes: a528d35e8bfc ("statx: Add a system call to make enhanced file info 
available")
    Signed-off-by: Dmitry V. Levin <l...@altlinux.org>
    Signed-off-by: David Howells <dhowe...@redhat.com>
    cc: linux-...@vger.kernel.org
    cc: mtk.manpa...@gmail.com
    Signed-off-by: Al Viro <v...@zeniv.linux.org.uk>

commit f83246089ca09308425175d47f5e71e6da68b2ef
Merge: 1e2f82d f6ebf0b
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Wed Apr 26 15:10:45 2017 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
    
    Pull sparc fixes from David Miller:
     "I didn't want the release to go out without the statx system call
      properly hooked up"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
      sparc: Update syscall tables.
      sparc64: Fill in rest of HAVE_REGS_AND_STACK_ACCESS_API

commit 1e2f82d1e9d12223b4cbd1feb3f2b5596f8049eb
Author: David Howells <dhowe...@redhat.com>
Date:   Wed Apr 26 22:15:55 2017 +0100

    statx: Kill fd-with-NULL-path support in favour of AT_EMPTY_PATH
    
    With the new statx() syscall, the following both allow the attributes of
    the file attached to a file descriptor to be retrieved:
    
        statx(dfd, NULL, 0, ...);
    
    and:
    
        statx(dfd, "", AT_EMPTY_PATH, ...);
    
    Change the code to reject the first option, though this means copying
    the path and engaging pathwalk for the fstat() equivalent.  dfd can be a
    non-directory provided path is "".
    
    [ The timing of this isn't wonderful, but applying this now before we
      have statx() in any released kernel, before anybody starts using the
      NULL special case.    - Linus ]
    
    Fixes: a528d35e8bfc ("statx: Add a system call to make enhanced file info 
available")
    Reported-by: Michael Kerrisk <mtk.manpa...@gmail.com>
    Signed-off-by: David Howells <dhowe...@redhat.com>
    cc: Eric Sandeen <sand...@sandeen.net>
    cc: fste...@vger.kernel.org
    cc: linux-...@vger.kernel.org
    cc: linux-...@vger.kernel.org
    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>

commit fc08b197bb8c3bebda27b9e9884aaf7557fab53f
Merge: ea3a8596 105f552
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Wed Apr 26 13:42:32 2017 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
    
    Pull networking fixes from David Miller:
    
     1) MLX5 bug fixes from Saeed Mahameed et al:
         - released wrong resources when firmware timeout happens
         - fix wrong check for encapsulation size limits
         - UAR memory leak
         - ETHTOOL_GRXCLSRLALL failed to fill in info->data
    
     2) Don't cache l3mdev on mis-matches local route, causes net devices to
        leak refs. From Robert Shearman.
    
     3) Handle fragmented SKBs properly in macsec driver, the problem is
        that we were mis-sizing the sgvec table. From Jason A. Donenfeld.
    
     4) We cannot have checksum offload enabled for inner UDP tunneled
        packet during IPSEC, from Ansis Atteka.
    
     5) Fix double SKB free in ravb driver, from Dan Carpenter.
    
     6) Fix CPU port handling in b53 DSA driver, from Florian Dainelli.
    
     7) Don't use on-stack buffers for usb_control_msg() in CAN usb driver,
        from Maksim Salau.
    
     8) Fix device leak in macvlan driver, from Herbert Xu. We have to purge
        the broadcast queue properly on port destroy.
    
     9) Fix tx ring entry limit on EF10 devices in sfc driver. From Bert
        Kenward.
    
    10) Fix memory leaks in team driver, from Pan Bian.
    
    11) Don't setup ipv6_stub before it can be actually used, from Paolo
        Abeni.
    
    12) Fix tipc socket flow control accounting, from Parthasarathy
        Bhuvaragan.
    
    13) Fix crash on module unload in hso driver, from Andreas Kemnade.
    
    14) Fix purging of bridge multicast entries, the problem is that if we
        don't defer it to ndo_uninit it's possible for new entries to get
        added after we purge. Fix from Xin Long.
    
    15) Don't return garbage for PACKET_HDRLEN getsockopt, from Alexander
        Potapenko.
    
    16) Fix autoneg stall properly in PHY layer, and revert micrel driver
        change that was papering over it. From Alexander Kochetkov.
    
    17) Don't dereference an ipv4 route as an ipv6 one in the ip6_tunnnel
        code, from Cong Wang.
    
    18) Clear out the congestion control private of the TCP socket in all of
        the right places, from Wei Wang.
    
    19) rawv6_ioctl measures SKB length incorrectly, fix from Jamie
        Bainbridge.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits)
      ipv6: check raw payload size correctly in ioctl
      tcp: memset ca_priv data to 0 properly
      ipv6: check skb->protocol before lookup for nexthop
      net: core: Prevent from dereferencing null pointer when releasing SKB
      macsec: dynamically allocate space for sglist
      Revert "phy: micrel: Disable auto negotiation on startup"
      net: phy: fix auto-negotiation stall due to unavailable interrupt
      net/packet: check length in getsockopt() called with PACKET_HDRLEN
      net: ipv6: regenerate host route if moved to gc list
      bridge: move bridge multicast cleanup to ndo_uninit
      ipv6: fix source routing
      qed: Fix error in the dcbx app meta data initialization.
      netvsc: fix calculation of available send sections
      net: hso: fix module unloading
      tipc: fix socket flow control accounting error at tipc_recv_stream
      tipc: fix socket flow control accounting error at tipc_send_stream
      ipv6: move stub initialization after ipv6 setup completion
      team: fix memory leaks
      sfc: tx ring can only have 2048 entries for all EF10 NICs
      macvlan: Fix device ref leak when purging bc_queue
      ...

commit 105f5528b9bbaa08b526d3405a5bcd2ff0c953c8
Author: Jamie Bainbridge <jbain...@redhat.com>
Date:   Wed Apr 26 10:43:27 2017 +1000

    ipv6: check raw payload size correctly in ioctl
    
    In situations where an skb is paged, the transport header pointer and
    tail pointer can be the same because the skb contents are in frags.
    
    This results in ioctl(SIOCINQ/FIONREAD) incorrectly returning a
    length of 0 when the length to receive is actually greater than zero.
    
    skb->len is already correctly set in ip6_input_finish() with
    pskb_pull(), so use skb->len as it always returns the correct result
    for both linear and paged data.
    
    Signed-off-by: Jamie Bainbridge <jbain...@redhat.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit c1201444075009507a6818de6518e2822b9a87c8
Author: Wei Wang <wei...@google.com>
Date:   Tue Apr 25 17:38:02 2017 -0700

    tcp: memset ca_priv data to 0 properly
    
    Always zero out ca_priv data in tcp_assign_congestion_control() so that
    ca_priv data is cleared out during socket creation.
    Also always zero out ca_priv data in tcp_reinit_congestion_control() so
    that when cc algorithm is changed, ca_priv data is cleared out as well.
    We should still zero out ca_priv data even in TCP_CLOSE state because
    user could call connect() on AF_UNSPEC to disconnect the socket and
    leave it in TCP_CLOSE state and later call setsockopt() to switch cc
    algorithm on this socket.
    
    Fixes: 2b0a8c9ee ("tcp: add CDG congestion control")
    Reported-by: Andrey Konovalov  <andreyk...@google.com>
    Signed-off-by: Wei Wang <wei...@google.com>
    Acked-by: Eric Dumazet <eduma...@google.com>
    Acked-by: Yuchung Cheng <ych...@google.com>
    Acked-by: Neal Cardwell <ncardw...@google.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 199ab00f3cdb6f154ea93fa76fd80192861a821d
Author: WANG Cong <xiyou.wangc...@gmail.com>
Date:   Tue Apr 25 14:37:15 2017 -0700

    ipv6: check skb->protocol before lookup for nexthop
    
    Andrey reported a out-of-bound access in ip6_tnl_xmit(), this
    is because we use an ipv4 dst in ip6_tnl_xmit() and cast an IPv4
    neigh key as an IPv6 address:
    
            neigh = dst_neigh_lookup(skb_dst(skb),
                                     &ipv6_hdr(skb)->daddr);
            if (!neigh)
                    goto tx_err_link_failure;
    
            addr6 = (struct in6_addr *)&neigh->primary_key; // <=== HERE
            addr_type = ipv6_addr_type(addr6);
    
            if (addr_type == IPV6_ADDR_ANY)
                    addr6 = &ipv6_hdr(skb)->daddr;
    
            memcpy(&fl6->daddr, addr6, sizeof(fl6->daddr));
    
    Also the network header of the skb at this point should be still IPv4
    for 4in6 tunnels, we shold not just use it as IPv6 header.
    
    This patch fixes it by checking if skb->protocol is ETH_P_IPV6: if it
    is, we are safe to do the nexthop lookup using skb_dst() and
    ipv6_hdr(skb)->daddr; if not (aka IPv4), we have no clue about which
    dest address we can pick here, we have to rely on callers to fill it
    from tunnel config, so just fall to ip6_route_output() to make the
    decision.
    
    Fixes: ea3dc9601bda ("ip6_tunnel: Add support for wildcard tunnel 
endpoints.")
    Reported-by: Andrey Konovalov <andreyk...@google.com>
    Tested-by: Andrey Konovalov <andreyk...@google.com>
    Cc: Steffen Klassert <steffen.klass...@secunet.com>
    Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 9899886d5e8ec5b343b1efe44f185a0e68dc6454
Author: Myungho Jung <mhju...@gmail.com>
Date:   Tue Apr 25 11:58:15 2017 -0700

    net: core: Prevent from dereferencing null pointer when releasing SKB
    
    Added NULL check to make __dev_kfree_skb_irq consistent with kfree
    family of functions.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=195289
    
    Signed-off-by: Myungho Jung <mhju...@gmail.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

commit 5294b83086cc1c35b4efeca03644cf9d12282e5b
Author: Jason A. Donenfeld <ja...@zx2c4.com>
Date:   Tue Apr 25 19:08:18 2017 +0200

    macsec: dynamically allocate space for sglist
    
    We call skb_cow_data, which is good anyway to ensure we can actually
    modify the skb as such (another error from prior). Now that we have the
    number of fragments required, we can safely allocate exactly that amount
    of memory.

diff --git a/.mailmap b/.mailmap
index 67dc22f..1d6f4e7 100644
--- a/.mailmap
+++ b/.mailmap
@@ -99,6 +99,8 @@ Linas Vepstas <li...@austin.ibm.com>
 Linus Lüssing <linus.luess...@c0d3.blue> <linus.luess...@web.de>
 Linus Lüssing <linus.luess...@c0d3.blue> <linus.luess...@ascom.ch>
 Mark Brown <broo...@sirena.org.uk>
+Martin Kepplinger <mart...@posteo.de> <martin.kepplin...@theobroma-systems.com>
+Martin Kepplinger <mart...@posteo.de> <martin.kepplin...@ginzinger.com>
 Matthieu CASTET <castet.matth...@free.fr>
 Mauro Carvalho Chehab <mche...@kernel.org> <mche...@brturbo.com.br>
 Mauro Carvalho Chehab <mche...@kernel.org> <mauroche...@gmail.com>
@@ -171,6 +173,7 @@ Vlad Dogaru <ddv...@gmail.com> <vlad.dog...@intel.com>
 Vladimir Davydov <vdavydov....@gmail.com> <vdavy...@virtuozzo.com>
 Vladimir Davydov <vdavydov....@gmail.com> <vdavy...@parallels.com>
 Takashi YOSHII <takashi.yoshii...@renesas.com>
+Yakir Yang <kuankua...@gmail.com> <y...@rock-chips.com>
 Yusuke Goda <goda.yus...@renesas.com>
 Gustavo Padovan <gust...@las.ic.unicamp.br>
 Gustavo Padovan <pado...@profusion.mobi>
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index c8a8eb1..793acf9 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -270,8 +270,8 @@ m68k/
        - directory with info about Linux on Motorola 68k architecture.
 mailbox.txt
        - How to write drivers for the common mailbox framework (IPC).
-md-cluster.txt
-       - info on shared-device RAID MD cluster.
+md/
+       - directory with info about Linux Software RAID
 media/
        - info on media drivers: uAPI, kAPI and driver documentation.
 memory-barriers.txt
diff --git a/Documentation/ABI/obsolete/sysfs-block-zram 
b/Documentation/ABI/obsolete/sysfs-block-zram
deleted file mode 100644
index 720ea92..0000000
--- a/Documentation/ABI/obsolete/sysfs-block-zram
+++ /dev/null
@@ -1,119 +0,0 @@
-What:          /sys/block/zram<id>/num_reads
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The num_reads file is read-only and specifies the number of
-               reads (failed or successful) done on this device.
-               Now accessible via zram<id>/stat node.
-
-What:          /sys/block/zram<id>/num_writes
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The num_writes file is read-only and specifies the number of
-               writes (failed or successful) done on this device.
-               Now accessible via zram<id>/stat node.
-
-What:          /sys/block/zram<id>/invalid_io
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The invalid_io file is read-only and specifies the number of
-               non-page-size-aligned I/O requests issued to this device.
-               Now accessible via zram<id>/io_stat node.
-
-What:          /sys/block/zram<id>/failed_reads
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The failed_reads file is read-only and specifies the number of
-               failed reads happened on this device.
-               Now accessible via zram<id>/io_stat node.
-
-What:          /sys/block/zram<id>/failed_writes
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The failed_writes file is read-only and specifies the number of
-               failed writes happened on this device.
-               Now accessible via zram<id>/io_stat node.
-
-What:          /sys/block/zram<id>/notify_free
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The notify_free file is read-only. Depending on device usage
-               scenario it may account a) the number of pages freed because
-               of swap slot free notifications or b) the number of pages freed
-               because of REQ_DISCARD requests sent by bio. The former ones
-               are sent to a swap block device when a swap slot is freed, which
-               implies that this disk is being used as a swap disk. The latter
-               ones are sent by filesystem mounted with discard option,
-               whenever some data blocks are getting discarded.
-               Now accessible via zram<id>/io_stat node.
-
-What:          /sys/block/zram<id>/zero_pages
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The zero_pages file is read-only and specifies number of zero
-               filled pages written to this disk. No memory is allocated for
-               such pages.
-               Now accessible via zram<id>/mm_stat node.
-
-What:          /sys/block/zram<id>/orig_data_size
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The orig_data_size file is read-only and specifies uncompressed
-               size of data stored in this disk. This excludes zero-filled
-               pages (zero_pages) since no memory is allocated for them.
-               Unit: bytes
-               Now accessible via zram<id>/mm_stat node.
-
-What:          /sys/block/zram<id>/compr_data_size
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The compr_data_size file is read-only and specifies compressed
-               size of data stored in this disk. So, compression ratio can be
-               calculated using orig_data_size and this statistic.
-               Unit: bytes
-               Now accessible via zram<id>/mm_stat node.
-
-What:          /sys/block/zram<id>/mem_used_total
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The mem_used_total file is read-only and specifies the amount
-               of memory, including allocator fragmentation and metadata
-               overhead, allocated for this disk. So, allocator space
-               efficiency can be calculated using compr_data_size and this
-               statistic.
-               Unit: bytes
-               Now accessible via zram<id>/mm_stat node.
-
-What:          /sys/block/zram<id>/mem_used_max
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The mem_used_max file is read/write and specifies the amount
-               of maximum memory zram have consumed to store compressed data.
-               For resetting the value, you should write "0". Otherwise,
-               you could see -EINVAL.
-               Unit: bytes
-               Downgraded to write-only node: so it's possible to set new
-               value only; its current value is stored in zram<id>/mm_stat
-               node.
-
-What:          /sys/block/zram<id>/mem_limit
-Date:          August 2015
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The mem_limit file is read/write and specifies the maximum
-               amount of memory ZRAM can use to store the compressed data.
-               The limit could be changed in run time and "0" means disable
-               the limit.  No limit is the initial state.  Unit: bytes
-               Downgraded to write-only node: so it's possible to set new
-               value only; its current value is stored in zram<id>/mm_stat
-               node.
diff --git a/Documentation/ABI/testing/configfs-rdma_cm 
b/Documentation/ABI/testing/configfs-rdma_cm
index 5c389aa..74f9506 100644
--- a/Documentation/ABI/testing/configfs-rdma_cm
+++ b/Documentation/ABI/testing/configfs-rdma_cm
@@ -20,3 +20,11 @@ Description:         RDMA-CM based connections from HCA 
<hca> at port <port-num>
                will be initiated with this RoCE type as default.
                The possible RoCE types are either "IB/RoCE v1" or "RoCE v2".
                This parameter has RW access.
+
+What:          /config/rdma_cm/<hca>/ports/<port-num>/default_roce_tos
+Date:          February 7, 2017
+KernelVersion:  4.11.0
+Description:   RDMA-CM QPs from HCA <hca> at port <port-num>
+               will be created with this TOS as default.
+               This can be overridden by using the rdma_set_option API.
+               The possible RoCE TOS values are 0-255.
diff --git a/Documentation/ABI/testing/sysfs-block-zram 
b/Documentation/ABI/testing/sysfs-block-zram
index 4518d30..451b6d8 100644
--- a/Documentation/ABI/testing/sysfs-block-zram
+++ b/Documentation/ABI/testing/sysfs-block-zram
@@ -22,41 +22,6 @@ Description:
                device. The reset operation frees all the memory associated
                with this device.
 
-What:          /sys/block/zram<id>/num_reads
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The num_reads file is read-only and specifies the number of
-               reads (failed or successful) done on this device.
-
-What:          /sys/block/zram<id>/num_writes
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The num_writes file is read-only and specifies the number of
-               writes (failed or successful) done on this device.
-
-What:          /sys/block/zram<id>/invalid_io
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The invalid_io file is read-only and specifies the number of
-               non-page-size-aligned I/O requests issued to this device.
-
-What:          /sys/block/zram<id>/failed_reads
-Date:          February 2014
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The failed_reads file is read-only and specifies the number of
-               failed reads happened on this device.
-
-What:          /sys/block/zram<id>/failed_writes
-Date:          February 2014
-Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
-Description:
-               The failed_writes file is read-only and specifies the number of
-               failed writes happened on this device.
-
 What:          /sys/block/zram<id>/max_comp_streams
 Date:          February 2014
 Contact:       Sergey Senozhatsky <sergey.senozhat...@gmail.com>
@@ -73,74 +38,24 @@ Description:
                available and selected compression algorithms, change
                compression algorithm selection.
 
-What:          /sys/block/zram<id>/notify_free
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The notify_free file is read-only. Depending on device usage
-               scenario it may account a) the number of pages freed because
-               of swap slot free notifications or b) the number of pages freed
-               because of REQ_DISCARD requests sent by bio. The former ones
-               are sent to a swap block device when a swap slot is freed, which
-               implies that this disk is being used as a swap disk. The latter
-               ones are sent by filesystem mounted with discard option,
-               whenever some data blocks are getting discarded.
-
-What:          /sys/block/zram<id>/zero_pages
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The zero_pages file is read-only and specifies number of zero
-               filled pages written to this disk. No memory is allocated for
-               such pages.
-
-What:          /sys/block/zram<id>/orig_data_size
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The orig_data_size file is read-only and specifies uncompressed
-               size of data stored in this disk. This excludes zero-filled
-               pages (zero_pages) since no memory is allocated for them.
-               Unit: bytes
-
-What:          /sys/block/zram<id>/compr_data_size
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The compr_data_size file is read-only and specifies compressed
-               size of data stored in this disk. So, compression ratio can be
-               calculated using orig_data_size and this statistic.
-               Unit: bytes
-
-What:          /sys/block/zram<id>/mem_used_total
-Date:          August 2010
-Contact:       Nitin Gupta <ngu...@vflare.org>
-Description:
-               The mem_used_total file is read-only and specifies the amount
-               of memory, including allocator fragmentation and metadata
-               overhead, allocated for this disk. So, allocator space
-               efficiency can be calculated using compr_data_size and this
-               statistic.
-               Unit: bytes
-
 What:          /sys/block/zram<id>/mem_used_max
 Date:          August 2014
 Contact:       Minchan Kim <minc...@kernel.org>
 Description:
-               The mem_used_max file is read/write and specifies the amount
-               of maximum memory zram have consumed to store compressed data.
-               For resetting the value, you should write "0". Otherwise,
-               you could see -EINVAL.
+               The mem_used_max file is write-only and is used to reset
+               the counter of maximum memory zram have consumed to store
+               compressed data. For resetting the value, you should write
+               "0". Otherwise, you could see -EINVAL.
                Unit: bytes
 
 What:          /sys/block/zram<id>/mem_limit
 Date:          August 2014
 Contact:       Minchan Kim <minc...@kernel.org>
 Description:
-               The mem_limit file is read/write and specifies the maximum
-               amount of memory ZRAM can use to store the compressed data.  The
-               limit could be changed in run time and "0" means disable the
-               limit.  No limit is the initial state.  Unit: bytes
+               The mem_limit file is write-only and specifies the maximum
+               amount of memory ZRAM can use to store the compressed data.
+               The limit could be changed in run time and "0" means disable
+               the limit. No limit is the initial state.  Unit: bytes
 
 What:          /sys/block/zram<id>/compact
 Date:          August 2015
diff --git a/Documentation/ABI/testing/sysfs-bus-i2c-devices-bq32k 
b/Documentation/ABI/testing/sysfs-bus-i2c-devices-bq32k
new file mode 100644
index 0000000..398b258
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-i2c-devices-bq32k
@@ -0,0 +1,7 @@
+What:          /sys/bus/i2c/devices/.../trickle_charge_bypass
+Date:          Jan 2017
+KernelVersion: 4.11
+Contact:       Enric Balletbo i Serra <eballe...@gmail.com>
+Description:    Attribute for enable/disable the trickle charge bypass
+               The trickle_charge_bypass attribute allows the userspace to
+                enable/disable the Trickle charge FET bypass.
diff --git a/Documentation/ABI/testing/sysfs-bus-iio 
b/Documentation/ABI/testing/sysfs-bus-iio
index b8f220f..530809c 100644
--- a/Documentation/ABI/testing/sysfs-bus-iio
+++ b/Documentation/ABI/testing/sysfs-bus-iio
@@ -170,6 +170,16 @@ Description:
                Has all of the equivalent parameters as per voltageY. Units
                after application of scale and offset are m/s^2.
 
+What:          /sys/bus/iio/devices/iio:deviceX/in_gravity_x_raw
+What:          /sys/bus/iio/devices/iio:deviceX/in_gravity_y_raw
+What:          /sys/bus/iio/devices/iio:deviceX/in_gravity_z_raw
+KernelVersion: 4.11
+Contact:       linux-...@vger.kernel.org
+Description:
+               Gravity in direction x, y or z (may be arbitrarily assigned
+               but should match other such assignments on device).
+               Units after application of scale and offset are m/s^2.
+
 What:          /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
 What:          /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
 What:          /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
@@ -805,7 +815,7 @@ Description:
                attribute. E.g. if in_voltage0_raw_thresh_rising_value is set 
to 1200
                and in_voltage0_raw_thresh_rising_hysteresis is set to 50. The 
event
                will get activated once in_voltage0_raw goes above 1200 and 
will become
-               deactived again once the value falls below 1150.
+               deactivated again once the value falls below 1150.
 
 What:          /sys/.../events/in_accel_x_raw_roc_rising_value
 What:          /sys/.../events/in_accel_x_raw_roc_falling_value
@@ -1245,7 +1255,8 @@ Description:
                reflectivity of infrared or ultrasound emitted.
                Often these sensors are unit less and as such conversion
                to SI units is not possible. Higher proximity measurements
-               indicate closer objects, and vice versa.
+               indicate closer objects, and vice versa. Units after
+               application of scale and offset are meters.
 
 What:          /sys/.../iio:deviceX/in_illuminance_input
 What:          /sys/.../iio:deviceX/in_illuminance_raw
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-adc-stm32 
b/Documentation/ABI/testing/sysfs-bus-iio-adc-stm32
new file mode 100644
index 0000000..efe4c85
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-adc-stm32
@@ -0,0 +1,18 @@
+What:          /sys/bus/iio/devices/triggerX/trigger_polarity
+KernelVersion: 4.11
+Contact:       fabrice.gasn...@st.com
+Description:
+               The STM32 ADC can be configured to use external trigger sources
+               (e.g. timers, pwm or exti gpio). Then, it can be tuned to start
+               conversions on external trigger by either:
+               - "rising-edge"
+               - "falling-edge"
+               - "both-edges".
+               Reading returns current trigger polarity.
+               Writing value before enabling conversions sets trigger polarity.
+
+What:          /sys/bus/iio/devices/triggerX/trigger_polarity_available
+KernelVersion: 4.11
+Contact:       fabrice.gasn...@st.com
+Description:
+               List all available trigger_polarity settings.
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-distance-srf08 
b/Documentation/ABI/testing/sysfs-bus-iio-distance-srf08
new file mode 100644
index 0000000..0a1ca14
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-distance-srf08
@@ -0,0 +1,22 @@
+What           /sys/bus/iio/devices/iio:deviceX/sensor_sensitivity
+Date:          January 2017
+KernelVersion: 4.11
+Contact:       linux-...@vger.kernel.org
+Description:
+               Show or set the gain boost of the amp, from 0-31 range.
+               default 31
+
+What           /sys/bus/iio/devices/iio:deviceX/sensor_max_range
+Date:          January 2017
+KernelVersion: 4.11
+Contact:       linux-...@vger.kernel.org
+Description:
+                Show or set the maximum range between the sensor and the
+               first object echoed in meters. Default value is 6.020.
+               This setting limits the time the driver is waiting for a
+               echo.
+               Showing the range of available values is represented as the
+               minimum value, the step and the maximum value, all enclosed
+               in square brackets.
+               Example:
+               [0.043 0.043 11.008]
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-timer-stm32 
b/Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
new file mode 100644
index 0000000..6534a60
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
@@ -0,0 +1,29 @@
+What:          /sys/bus/iio/devices/triggerX/master_mode_available
+KernelVersion: 4.11
+Contact:       benjamin.gaign...@st.com
+Description:
+               Reading returns the list possible master modes which are:
+               - "reset"     : The UG bit from the TIMx_EGR register is used 
as trigger output (TRGO).
+               - "enable"    : The Counter Enable signal CNT_EN is used as 
trigger output.
+               - "update"    : The update event is selected as trigger output.
+                               For instance a master timer can then be used as 
a prescaler for a slave timer.
+               - "compare_pulse" : The trigger output send a positive pulse 
when the CC1IF flag is to be set.
+               - "OC1REF"    : OC1REF signal is used as trigger output.
+               - "OC2REF"    : OC2REF signal is used as trigger output.
+               - "OC3REF"    : OC3REF signal is used as trigger output.
+               - "OC4REF"    : OC4REF signal is used as trigger output.
+
+What:          /sys/bus/iio/devices/triggerX/master_mode
+KernelVersion: 4.11
+Contact:       benjamin.gaign...@st.com
+Description:
+               Reading returns the current master modes.
+               Writing set the master mode
+
+What:          /sys/bus/iio/devices/triggerX/sampling_frequency
+KernelVersion: 4.11
+Contact:       benjamin.gaign...@st.com
+Description:
+               Reading returns the current sampling frequency.
+               Writing an value different of 0 set and start sampling.
+               Writing 0 stop sampling.
diff --git a/Documentation/ABI/testing/sysfs-class-devfreq-event 
b/Documentation/ABI/testing/sysfs-class-devfreq-event
new file mode 100644
index 0000000..ceaf0f6
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-class-devfreq-event
@@ -0,0 +1,25 @@
+What:          /sys/class/devfreq-event/event(x)/
+Date:          January 2017
+Contact:       Chanwoo Choi <cw00.c...@samsung.com>
+Description:
+               Provide a place in sysfs for the devfreq-event objects.
+               This allows accessing various devfreq-event specific variables.
+               The name of devfreq-event object denoted as 'event(x)' which
+               includes the unique number of 'x' for each devfreq-event object.
+
+What:          /sys/class/devfreq-event/event(x)/name
+Date:          January 2017
+Contact:       Chanwoo Choi <cw00.c...@samsung.com>
+Description:
+               The /sys/class/devfreq-event/event(x)/name attribute contains
+               the name of the devfreq-event object. This attribute is
+               read-only.
+
+What:          /sys/class/devfreq-event/event(x)/enable_count
+Date:          January 2017
+Contact:       Chanwoo Choi <cw00.c...@samsung.com>
+Description:
+               The /sys/class/devfreq-event/event(x)/enable_count attribute
+               contains the reference count to enable the devfreq-event
+               object. If the device is enabled, the value of attribute is
+               greater than zero.
diff --git a/Documentation/ABI/testing/sysfs-class-led 
b/Documentation/ABI/testing/sysfs-class-led
index 491cdee..5f67f7a 100644
--- a/Documentation/ABI/testing/sysfs-class-led
+++ b/Documentation/ABI/testing/sysfs-class-led
@@ -23,6 +23,23 @@ Description:
                If the LED does not support different brightness levels, this
                should be 1.
 
+What:          /sys/class/leds/<led>/brightness_hw_changed
+Date:          January 2017
+KernelVersion: 4.11
+Description:
+               Last hardware set brightness level for this LED. Some LEDs
+               may be changed autonomously by hardware/firmware. Only LEDs
+               where this happens and the driver can detect this, will have
+               this file.
+
+               This file supports poll() to detect when the hardware changes
+               the brightness.
+
+               Reading this file will return the last brightness level set
+               by the hardware, this may be different from the current
+               brightness. Reading this file when no hw brightness change
+               event has happened will return an ENODATA error.
+
 What:          /sys/class/leds/<led>/trigger
 Date:          March 2006
 KernelVersion: 2.6.17
diff --git a/Documentation/ABI/testing/sysfs-class-rc 
b/Documentation/ABI/testing/sysfs-class-rc
index b65674d..8be1fd3 100644
--- a/Documentation/ABI/testing/sysfs-class-rc
+++ b/Documentation/ABI/testing/sysfs-class-rc
@@ -62,18 +62,18 @@ Description:
                This value may be reset to 0 if the current protocol is altered.
 
 What:          /sys/class/rc/rcN/wakeup_protocols
-Date:          Feb 2014
-KernelVersion: 3.15
+Date:          Feb 2017
+KernelVersion: 4.11
 Contact:       Mauro Carvalho Chehab <m.che...@samsung.com>
 Description:
                Reading this file returns a list of available protocols to use
                for the wakeup filter, something like:
-                   "rc5 rc6 nec jvc [sony]"
+                   "rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce"
+               Note that protocol variants are listed, so "nec", "sony",
+               "rc-5", "rc-6" have their different bit length encodings
+               listed if available.
                The enabled wakeup protocol is shown in [] brackets.
-               Writing "+proto" will add a protocol to the list of enabled
-               wakeup protocols.
-               Writing "-proto" will remove a protocol from the list of enabled
-               wakeup protocols.
+               Only one protocol can be selected at a time.
                Writing "proto" will use "proto" for wakeup events.
                Writing "none" will disable wakeup.
                Write fails with EINVAL if an invalid protocol combination or
diff --git a/Documentation/ABI/testing/sysfs-devices-edac 
b/Documentation/ABI/testing/sysfs-devices-edac
index 6568e00..46ff929 100644
--- a/Documentation/ABI/testing/sysfs-devices-edac
+++ b/Documentation/ABI/testing/sysfs-devices-edac
@@ -138,3 +138,20 @@ Contact:   Mauro Carvalho Chehab <m.che...@samsung.com>
 Description:   This attribute file will display what type of memory is
                currently on this csrow. Normally, either buffered or
                unbuffered memory (for example, Unbuffered-DDR3).
+
+What:          /sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_ce_count
+Date:          October 2016
+Contact:       linux-e...@vger.kernel.org
+Description:   This attribute file displays the total count of correctable
+               errors that have occurred on this DIMM. This count is very 
important
+               to examine. CEs provide early indications that a DIMM is 
beginning
+               to fail. This count field should be monitored for non-zero 
values
+               and report such information to the system administrator.
+
+What:          /sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_ue_count
+Date:          October 2016
+Contact:       linux-e...@vger.kernel.org
+Description:   This attribute file displays the total count of uncorrectable
+               errors that have occurred on this DIMM. If panic_on_ue is set, 
this
+               counter will not have a chance to increment, since EDAC will 
panic the
+               system
diff --git a/Documentation/ABI/testing/sysfs-kernel-iommu_groups 
b/Documentation/ABI/testing/sysfs-kernel-iommu_groups
index 9b31556..35c64e0 100644
--- a/Documentation/ABI/testing/sysfs-kernel-iommu_groups
+++ b/Documentation/ABI/testing/sysfs-kernel-iommu_groups
@@ -12,3 +12,15 @@ Description: /sys/kernel/iommu_groups/ contains a number of 
sub-
                file if the IOMMU driver has chosen to register a more
                common name for the group.
 Users:
+
+What:          /sys/kernel/iommu_groups/reserved_regions
+Date:          January 2017
+KernelVersion:  v4.11
+Contact:       Eric Auger <eric.au...@redhat.com>
+Description:    /sys/kernel/iommu_groups/reserved_regions list IOVA
+               regions that are reserved. Not necessarily all
+               reserved regions are listed. This is typically used to
+               output direct-mapped, MSI, non mappable regions. Each
+               region is described on a single line: the 1st field is
+               the base IOVA, the second is the end IOVA and the third
+               field describes the type of the region.
diff --git a/Documentation/ABI/testing/sysfs-platform-hidma 
b/Documentation/ABI/testing/sysfs-platform-hidma
index d364415..fca40a5 100644
--- a/Documentation/ABI/testing/sysfs-platform-hidma
+++ b/Documentation/ABI/testing/sysfs-platform-hidma
@@ -2,7 +2,7 @@ What:           /sys/devices/platform/hidma-*/chid
                /sys/devices/platform/QCOM8061:*/chid
 Date:          Dec 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Contains the ID of the channel within the HIDMA instance.
                It is used to associate a given HIDMA channel with the
diff --git a/Documentation/ABI/testing/sysfs-platform-hidma-mgmt 
b/Documentation/ABI/testing/sysfs-platform-hidma-mgmt
index c2fb5d0..3b6c5c9 100644
--- a/Documentation/ABI/testing/sysfs-platform-hidma-mgmt
+++ b/Documentation/ABI/testing/sysfs-platform-hidma-mgmt
@@ -2,7 +2,7 @@ What:           
/sys/devices/platform/hidma-mgmt*/chanops/chan*/priority
                /sys/devices/platform/QCOM8060:*/chanops/chan*/priority
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Contains either 0 or 1 and indicates if the DMA channel is a
                low priority (0) or high priority (1) channel.
@@ -11,7 +11,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/chanops/chan*/weight
                /sys/devices/platform/QCOM8060:*/chanops/chan*/weight
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Contains 0..15 and indicates the weight of the channel among
                equal priority channels during round robin scheduling.
@@ -20,7 +20,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/chreset_timeout_cycles
                /sys/devices/platform/QCOM8060:*/chreset_timeout_cycles
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Contains the platform specific cycle value to wait after a
                reset command is issued. If the value is chosen too short,
@@ -32,7 +32,7 @@ What:         /sys/devices/platform/hidma-mgmt*/dma_channels
                /sys/devices/platform/QCOM8060:*/dma_channels
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Contains the number of dma channels supported by one instance
                of HIDMA hardware. The value may change from chip to chip.
@@ -41,7 +41,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/hw_version_major
                /sys/devices/platform/QCOM8060:*/hw_version_major
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Version number major for the hardware.
 
@@ -49,7 +49,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/hw_version_minor
                /sys/devices/platform/QCOM8060:*/hw_version_minor
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Version number minor for the hardware.
 
@@ -57,7 +57,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/max_rd_xactions
                /sys/devices/platform/QCOM8060:*/max_rd_xactions
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Contains a value between 0 and 31. Maximum number of
                read transactions that can be issued back to back.
@@ -69,7 +69,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/max_read_request
                /sys/devices/platform/QCOM8060:*/max_read_request
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Size of each read request. The value needs to be a power
                of two and can be between 128 and 1024.
@@ -78,7 +78,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/max_wr_xactions
                /sys/devices/platform/QCOM8060:*/max_wr_xactions
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Contains a value between 0 and 31. Maximum number of
                write transactions that can be issued back to back.
@@ -91,7 +91,7 @@ What:         
/sys/devices/platform/hidma-mgmt*/max_write_request
                /sys/devices/platform/QCOM8060:*/max_write_request
 Date:          Nov 2015
 KernelVersion: 4.4
-Contact:       "Sinan Kaya <ok...@cudeaurora.org>"
+Contact:       "Sinan Kaya <ok...@codeaurora.org>"
 Description:
                Size of each write request. The value needs to be a power
                of two and can be between 128 and 1024.
diff --git a/Documentation/DMA-ISA-LPC.txt b/Documentation/DMA-ISA-LPC.txt
index b1a1983..c413313 100644
--- a/Documentation/DMA-ISA-LPC.txt
+++ b/Documentation/DMA-ISA-LPC.txt
@@ -42,7 +42,7 @@ requirements you pass the flag GFP_DMA to kmalloc.
 
 Unfortunately the memory available for ISA DMA is scarce so unless you
 allocate the memory during boot-up it's a good idea to also pass
-__GFP_REPEAT and __GFP_NOWARN to make the allocater try a bit harder.
+__GFP_REPEAT and __GFP_NOWARN to make the allocator try a bit harder.
 
 (This scarcity also means that you should allocate the buffer as
 early as possible and not release it until the driver is unloaded.)
diff --git a/Documentation/DMA-attributes.txt b/Documentation/DMA-attributes.txt
index 98bf7ac..44c6bc4 100644
--- a/Documentation/DMA-attributes.txt
+++ b/Documentation/DMA-attributes.txt
@@ -143,3 +143,13 @@ So, this provides a way for drivers to avoid those error 
messages on calls
 where allocation failures are not a problem, and shouldn't bother the logs.
 
 NOTE: At the moment DMA_ATTR_NO_WARN is only implemented on PowerPC.
+
+DMA_ATTR_PRIVILEGED
+------------------------------
+
+Some advanced peripherals such as remote processors and GPUs perform
+accesses to DMA buffers in both privileged "supervisor" and unprivileged
+"user" modes.  This attribute is used to indicate to the DMA-mapping
+subsystem that the buffer is fully accessible at the elevated privilege
+level (and ideally inaccessible or at least read-only at the
+lesser-privileged levels).
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index a6eb7dc..164c1c7 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -7,13 +7,13 @@
 # list of DOCBOOKS.
 
 DOCBOOKS := z8530book.xml  \
-           kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
+           kernel-hacking.xml kernel-locking.xml \
            writing_usb_driver.xml networking.xml \
            kernel-api.xml filesystems.xml lsm.xml kgdb.xml \
            gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
-           genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
-           sh.xml regulator.xml w1.xml \
-           writing_musb_glue_layer.xml iio.xml
+           genericirq.xml s390-drivers.xml scsi.xml \
+           sh.xml w1.xml \
+           writing_musb_glue_layer.xml
 
 ifeq ($(DOCBOOKS),)
 
@@ -71,6 +71,7 @@ installmandocs: mandocs
 # no-op for the DocBook toolchain
 epubdocs:
 latexdocs:
+linkcheckdocs:
 
 ###
 #External programs used
@@ -272,6 +273,6 @@ cleandocs:
        $(Q)rm -rf $(call objectify, $(clean-dirs))
 
 # Declare the contents of the .PHONY variable as phony.  We keep that
-# information in a variable se we can use it in if_changed and friends.
+# information in a variable so we can use it in if_changed and friends.
 
 .PHONY: $(PHONY)
diff --git a/Documentation/DocBook/deviceiobook.tmpl 
b/Documentation/DocBook/deviceiobook.tmpl
deleted file mode 100644
index 54199a0..0000000
--- a/Documentation/DocBook/deviceiobook.tmpl
+++ /dev/null
@@ -1,323 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-       "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; []>
-
-<book id="DoingIO">
- <bookinfo>
-  <title>Bus-Independent Device Accesses</title>
-  
-  <authorgroup>
-   <author>
-    <firstname>Matthew</firstname>
-    <surname>Wilcox</surname>
-    <affiliation>
-     <address>
-      <email>matt...@wil.cx</email>
-     </address>
-    </affiliation>
-   </author>
-  </authorgroup>
-
-  <authorgroup>
-   <author>
-    <firstname>Alan</firstname>
-    <surname>Cox</surname>
-    <affiliation>
-     <address>
-      <email>a...@lxorguk.ukuu.org.uk</email>
-     </address>
-    </affiliation>
-   </author>
-  </authorgroup>
-
-  <copyright>
-   <year>2001</year>
-   <holder>Matthew Wilcox</holder>
-  </copyright>
-
-  <legalnotice>
-   <para>
-     This documentation is free software; you can redistribute
-     it and/or modify it under the terms of the GNU General Public
-     License as published by the Free Software Foundation; either
-     version 2 of the License, or (at your option) any later
-     version.
-   </para>
-      
-   <para>
-     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.
-   </para>
-      
-   <para>
-     You should have received a copy of the GNU General Public
-     License along with this program; if not, write to the Free
-     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-     MA 02111-1307 USA
-   </para>
-      
-   <para>
-     For more details see the file COPYING in the source
-     distribution of Linux.
-   </para>
-  </legalnotice>
- </bookinfo>
-
-<toc></toc>
-
-  <chapter id="intro">
-      <title>Introduction</title>
-  <para>
-       Linux provides an API which abstracts performing IO across all busses
-       and devices, allowing device drivers to be written independently of
-       bus type.
-  </para>
-  </chapter>
-
-  <chapter id="bugs">
-     <title>Known Bugs And Assumptions</title>
-  <para>
-       None.   
-  </para>
-  </chapter>
-
-  <chapter id="mmio">
-    <title>Memory Mapped IO</title>
-    <sect1 id="getting_access_to_the_device">
-      <title>Getting Access to the Device</title>
-      <para>
-       The most widely supported form of IO is memory mapped IO.
-       That is, a part of the CPU's address space is interpreted
-       not as accesses to memory, but as accesses to a device.  Some
-       architectures define devices to be at a fixed address, but most
-       have some method of discovering devices.  The PCI bus walk is a
-       good example of such a scheme.  This document does not cover how
-       to receive such an address, but assumes you are starting with one.
-       Physical addresses are of type unsigned long. 
-      </para>
-
-      <para>
-       This address should not be used directly.  Instead, to get an
-       address suitable for passing to the accessor functions described
-       below, you should call <function>ioremap</function>.
-       An address suitable for accessing the device will be returned to you.
-      </para>
-
-      <para>
-       After you've finished using the device (say, in your module's
-       exit routine), call <function>iounmap</function> in order to return
-       the address space to the kernel.  Most architectures allocate new
-       address space each time you call <function>ioremap</function>, and
-       they can run out unless you call <function>iounmap</function>.
-      </para>
-    </sect1>
-
-    <sect1 id="accessing_the_device">
-      <title>Accessing the device</title>
-      <para>
-       The part of the interface most used by drivers is reading and
-       writing memory-mapped registers on the device.  Linux provides
-       interfaces to read and write 8-bit, 16-bit, 32-bit and 64-bit
-       quantities.  Due to a historical accident, these are named byte,
-       word, long and quad accesses.  Both read and write accesses are
-       supported; there is no prefetch support at this time.
-      </para>
-
-      <para>
-       The functions are named <function>readb</function>,
-       <function>readw</function>, <function>readl</function>,
-       <function>readq</function>, <function>readb_relaxed</function>,
-       <function>readw_relaxed</function>, <function>readl_relaxed</function>,
-       <function>readq_relaxed</function>, <function>writeb</function>,
-       <function>writew</function>, <function>writel</function> and
-       <function>writeq</function>.
-      </para>
-
-      <para>
-       Some devices (such as framebuffers) would like to use larger
-       transfers than 8 bytes at a time.  For these devices, the
-       <function>memcpy_toio</function>, <function>memcpy_fromio</function>
-       and <function>memset_io</function> functions are provided.
-       Do not use memset or memcpy on IO addresses; they
-       are not guaranteed to copy data in order.
-      </para>
-
-      <para>
-       The read and write functions are defined to be ordered. That is the
-       compiler is not permitted to reorder the I/O sequence. When the 
-       ordering can be compiler optimised, you can use <function>
-       __readb</function> and friends to indicate the relaxed ordering. Use 
-       this with care.
-      </para>
-
-      <para>
-       While the basic functions are defined to be synchronous with respect
-       to each other and ordered with respect to each other the busses the
-       devices sit on may themselves have asynchronicity. In particular many
-       authors are burned by the fact that PCI bus writes are posted
-       asynchronously. A driver author must issue a read from the same
-       device to ensure that writes have occurred in the specific cases the
-       author cares. This kind of property cannot be hidden from driver
-       writers in the API.  In some cases, the read used to flush the device
-       may be expected to fail (if the card is resetting, for example).  In
-       that case, the read should be done from config space, which is
-       guaranteed to soft-fail if the card doesn't respond.
-      </para>
-
-      <para>
-       The following is an example of flushing a write to a device when
-       the driver would like to ensure the write's effects are visible prior
-       to continuing execution.
-      </para>
-
-<programlisting>
-static inline void
-qla1280_disable_intrs(struct scsi_qla_host *ha)
-{
-       struct device_reg *reg;
-
-       reg = ha->iobase;
-       /* disable risc and host interrupts */
-       WRT_REG_WORD(&amp;reg->ictrl, 0);
-       /*
-        * The following read will ensure that the above write
-        * has been received by the device before we return from this
-        * function.
-        */
-       RD_REG_WORD(&amp;reg->ictrl);
-       ha->flags.ints_enabled = 0;
-}
-</programlisting>
-
-      <para>
-       In addition to write posting, on some large multiprocessing systems
-       (e.g. SGI Challenge, Origin and Altix machines) posted writes won't
-       be strongly ordered coming from different CPUs.  Thus it's important
-       to properly protect parts of your driver that do memory-mapped writes
-       with locks and use the <function>mmiowb</function> to make sure they
-       arrive in the order intended.  Issuing a regular <function>readX
-       </function> will also ensure write ordering, but should only be used
-       when the driver has to be sure that the write has actually arrived
-       at the device (not that it's simply ordered with respect to other
-       writes), since a full <function>readX</function> is a relatively
-       expensive operation.
-      </para>
-
-      <para>
-       Generally, one should use <function>mmiowb</function> prior to
-       releasing a spinlock that protects regions using <function>writeb
-       </function> or similar functions that aren't surrounded by <function>
-       readb</function> calls, which will ensure ordering and flushing.  The
-       following pseudocode illustrates what might occur if write ordering
-       isn't guaranteed via <function>mmiowb</function> or one of the
-       <function>readX</function> functions.
-      </para>
-
-<programlisting>
-CPU A:  spin_lock_irqsave(&amp;dev_lock, flags)
-CPU A:  ...
-CPU A:  writel(newval, ring_ptr);
-CPU A:  spin_unlock_irqrestore(&amp;dev_lock, flags)
-        ...
-CPU B:  spin_lock_irqsave(&amp;dev_lock, flags)
-CPU B:  writel(newval2, ring_ptr);
-CPU B:  ...
-CPU B:  spin_unlock_irqrestore(&amp;dev_lock, flags)
-</programlisting>
-
-      <para>
-       In the case above, newval2 could be written to ring_ptr before
-       newval.  Fixing it is easy though:
-      </para>
-
-<programlisting>
-CPU A:  spin_lock_irqsave(&amp;dev_lock, flags)
-CPU A:  ...
-CPU A:  writel(newval, ring_ptr);

_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
unionfs-cvs@fsl.cs.sunysb.edu
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to