Merge tag 'pci-v4.13-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Jul 2017 19:36:20 +0000 (12:36 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Jul 2017 19:36:20 +0000 (12:36 -0700)
Pull PCI fixes from Bjorn Helgaas:

 - fix a typo that broke Rockchip enumeration

 - fix a new memory leak in the ARM host bridge failure path

* tag 'pci-v4.13-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI: rockchip: Check for pci_scan_root_bus_bridge() failure correctly
  ARM/PCI: Fix pcibios_init_resource() struct pci_host_bridge leak

1081 files changed:
Documentation/ABI/testing/sysfs-class-mtd
Documentation/ABI/testing/sysfs-fs-f2fs
Documentation/DMA-ISA-LPC.txt
Documentation/arm64/silicon-errata.txt
Documentation/block/data-integrity.txt
Documentation/cgroup-v1/memory.txt
Documentation/core-api/kernel-api.rst
Documentation/devicetree/bindings/i2c/i2c-aspeed.txt [new file with mode: 0644]
Documentation/devicetree/bindings/i2c/i2c-designware.txt
Documentation/devicetree/bindings/i2c/i2c-pca-platform.txt [new file with mode: 0644]
Documentation/devicetree/bindings/i2c/i2c-zx2967.txt [new file with mode: 0644]
Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt
Documentation/devicetree/bindings/mtd/denali-nand.txt
Documentation/devicetree/bindings/mtd/elm.txt
Documentation/devicetree/bindings/mtd/gpmc-nand.txt
Documentation/devicetree/bindings/mtd/gpmc-nor.txt
Documentation/devicetree/bindings/mtd/gpmc-onenand.txt
Documentation/devicetree/bindings/mtd/gpmi-nand.txt
Documentation/devicetree/bindings/mtd/microchip,mchp23k256.txt [new file with mode: 0644]
Documentation/devicetree/bindings/mtd/mtk-nand.txt
Documentation/devicetree/bindings/mtd/nand.txt
Documentation/devicetree/bindings/mtd/partition.txt
Documentation/devicetree/bindings/net/gpmc-eth.txt
Documentation/devicetree/bindings/pwm/pwm-meson.txt
Documentation/devicetree/bindings/pwm/pwm-stm32.txt
Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt
Documentation/devicetree/bindings/rtc/brcm,brcmstb-waketimer.txt [new file with mode: 0644]
Documentation/devicetree/bindings/rtc/cortina,gemini.txt [deleted file]
Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt [new file with mode: 0644]
Documentation/devicetree/bindings/rtc/st,stm32-rtc.txt
Documentation/devicetree/bindings/watchdog/da9062-wdt.txt [new file with mode: 0644]
Documentation/devicetree/bindings/watchdog/dw_wdt.txt
Documentation/devicetree/bindings/watchdog/renesas-wdt.txt
Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.txt [new file with mode: 0644]
Documentation/devicetree/bindings/watchdog/uniphier-wdt.txt [new file with mode: 0644]
Documentation/driver-api/basics.rst
Documentation/driver-api/i2c.rst
Documentation/fault-injection/fault-injection.txt
Documentation/filesystems/autofs4.txt
Documentation/filesystems/f2fs.txt
Documentation/filesystems/overlayfs.txt
Documentation/filesystems/proc.txt
Documentation/i2c/busses/i2c-i801
Documentation/i2c/dev-interface
Documentation/input/index.rst
Documentation/kdump/kdump.txt
Documentation/memory-barriers.txt
Documentation/memory-hotplug.txt
Documentation/networking/timestamping.txt
Documentation/pwm.txt
Documentation/rtc.txt
Documentation/sysctl/vm.txt
Documentation/trace/ftrace.txt
Documentation/translations/ko_KR/memory-barriers.txt
Documentation/watchdog/watchdog-parameters.txt
MAINTAINERS
Makefile
arch/Kconfig
arch/arc/include/asm/Kbuild
arch/arc/include/uapi/asm/Kbuild
arch/arm/boot/compressed/decompress.c
arch/arm/include/asm/Kbuild
arch/arm/include/asm/elf.h
arch/arm/include/asm/kvm_hyp.h
arch/arm/include/uapi/asm/Kbuild
arch/arm/kernel/atags_parse.c
arch/arm/mach-sa1100/jornada720_ssp.c
arch/arm64/Kconfig
arch/arm64/include/asm/Kbuild
arch/arm64/include/asm/elf.h
arch/arm64/include/asm/stackprotector.h
arch/arm64/include/asm/string.h
arch/arm64/include/uapi/asm/Kbuild
arch/arm64/mm/kasan_init.c
arch/arm64/mm/mmap.c
arch/blackfin/include/asm/Kbuild
arch/blackfin/include/asm/nmi.h
arch/blackfin/include/uapi/asm/Kbuild
arch/blackfin/kernel/nmi.c
arch/c6x/include/asm/Kbuild
arch/c6x/include/uapi/asm/Kbuild
arch/cris/arch-v10/drivers/gpio.c
arch/cris/include/asm/Kbuild
arch/cris/include/uapi/asm/Kbuild
arch/frv/include/asm/Kbuild
arch/frv/include/asm/cmpxchg.h
arch/frv/include/asm/device.h [deleted file]
arch/frv/include/asm/fb.h [deleted file]
arch/frv/include/asm/tlbflush.h
arch/h8300/include/asm/Kbuild
arch/h8300/include/uapi/asm/Kbuild
arch/hexagon/include/asm/Kbuild
arch/hexagon/include/uapi/asm/Kbuild
arch/ia64/include/asm/Kbuild
arch/ia64/kernel/machine_kexec.c
arch/ia64/kernel/mca.c
arch/ia64/sn/pci/pcibr/pcibr_ate.c
arch/ia64/sn/pci/tioce_provider.c
arch/m32r/include/asm/Kbuild
arch/m32r/include/uapi/asm/Kbuild
arch/m68k/coldfire/intc-simr.c
arch/m68k/configs/m5208evb_defconfig
arch/m68k/configs/m5249evb_defconfig
arch/m68k/configs/m5272c3_defconfig
arch/m68k/configs/m5275evb_defconfig
arch/m68k/configs/m5307c3_defconfig
arch/m68k/configs/m5407c3_defconfig
arch/m68k/include/asm/Kbuild
arch/m68k/include/uapi/asm/Kbuild
arch/metag/include/asm/Kbuild
arch/metag/include/uapi/asm/Kbuild
arch/microblaze/include/asm/Kbuild
arch/microblaze/include/uapi/asm/Kbuild
arch/mips/include/asm/pgalloc.h
arch/mips/include/asm/smp.h
arch/mips/kernel/module.c
arch/mips/kernel/traps.c
arch/mn10300/include/asm/nmi.h
arch/mn10300/kernel/mn10300-watchdog-low.S
arch/mn10300/kernel/mn10300-watchdog.c
arch/nios2/include/asm/Kbuild
arch/nios2/include/asm/signal.h [deleted file]
arch/nios2/include/uapi/asm/Kbuild
arch/openrisc/include/asm/Kbuild
arch/openrisc/include/uapi/asm/Kbuild
arch/parisc/include/asm/Kbuild
arch/parisc/include/uapi/asm/Kbuild
arch/powerpc/Kconfig
arch/powerpc/include/asm/book3s/64/pgalloc.h
arch/powerpc/include/asm/elf.h
arch/powerpc/include/asm/nmi.h
arch/powerpc/include/asm/smp.h
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/fadump.c
arch/powerpc/kernel/kvm.c
arch/powerpc/kernel/prom_init.c
arch/powerpc/kernel/setup_64.c
arch/powerpc/kernel/smp.c
arch/powerpc/kernel/watchdog.c [new file with mode: 0644]
arch/powerpc/kvm/book3s_64_mmu_hv.c
arch/powerpc/lib/feature-fixups.c
arch/powerpc/mm/mmap.c
arch/s390/include/asm/elf.h
arch/s390/kernel/machine_kexec.c
arch/s390/kernel/setup.c
arch/sh/include/asm/Kbuild
arch/sh/include/asm/bug.h
arch/sh/include/asm/stackprotector.h
arch/sh/include/uapi/asm/Kbuild
arch/sh/mm/cache-sh5.c
arch/sh/mm/extable_64.c
arch/sparc/include/asm/Kbuild
arch/sparc/include/asm/asm-prototypes.h [new file with mode: 0644]
arch/sparc/include/asm/nmi.h
arch/sparc/include/uapi/asm/Kbuild
arch/sparc/kernel/mdesc.c
arch/sparc/kernel/nmi.c
arch/sparc/lib/atomic_64.S
arch/sparc/lib/checksum_64.S
arch/sparc/lib/csum_copy.S
arch/sparc/lib/memscan_64.S
arch/sparc/lib/memset.S
arch/sparc/mm/extable.c
arch/sparc/mm/gup.c
arch/tile/include/asm/Kbuild
arch/tile/include/uapi/asm/Kbuild
arch/unicore32/include/asm/Kbuild
arch/unicore32/include/uapi/asm/Kbuild
arch/x86/Kconfig
arch/x86/boot/compressed/misc.c
arch/x86/include/asm/efi.h
arch/x86/include/asm/elf.h
arch/x86/include/asm/stackprotector.h
arch/x86/include/asm/string_32.h
arch/x86/include/asm/string_64.h
arch/x86/kernel/apic/hw_nmi.c
arch/x86/kernel/crash.c
arch/x86/lib/memcpy_32.c
arch/x86/mm/kasan_init_64.c
arch/x86/mm/mmap.c
arch/x86/xen/mmu_pv.c
arch/xtensa/include/asm/Kbuild
arch/xtensa/include/uapi/asm/Kbuild
block/bfq-iosched.c
block/bfq-iosched.h
block/bfq-wf2q.c
block/bio-integrity.c
block/bio.c
block/blk-core.c
block/blk-lib.c
block/blk-mq-sched.c
block/blk-mq.c
block/blk.h
block/t10-pi.c
drivers/acpi/acpi_lpss.c
drivers/acpi/arm64/iort.c
drivers/acpi/bgrt.c
drivers/acpi/bus.c
drivers/acpi/device_pm.c
drivers/acpi/dptf/dptf_power.c
drivers/acpi/internal.h
drivers/acpi/osi.c
drivers/acpi/power.c
drivers/acpi/property.c
drivers/acpi/scan.c
drivers/acpi/spcr.c
drivers/base/node.c
drivers/base/power/domain.c
drivers/base/property.c
drivers/block/brd.c
drivers/block/cciss.c
drivers/block/mtip32xx/mtip32xx.c
drivers/block/mtip32xx/mtip32xx.h
drivers/block/nbd.c
drivers/block/null_blk.c
drivers/block/virtio_blk.c
drivers/block/zram/zcomp.c
drivers/block/zram/zram_drv.c
drivers/char/ipmi/Kconfig
drivers/char/ipmi/Makefile
drivers/char/ipmi/ipmi_dmi.c [new file with mode: 0644]
drivers/char/ipmi/ipmi_dmi.h [new file with mode: 0644]
drivers/char/ipmi/ipmi_msghandler.c
drivers/char/ipmi/ipmi_si_intf.c
drivers/char/ipmi/ipmi_ssif.c
drivers/char/ipmi/ipmi_watchdog.c
drivers/char/random.c
drivers/cpufreq/cpufreq_stats.c
drivers/cpufreq/intel_pstate.c
drivers/firmware/efi/libstub/Makefile
drivers/gpu/drm/bridge/panel.c
drivers/gpu/drm/drm_framebuffer.c
drivers/gpu/drm/drm_ioc32.c
drivers/gpu/drm/drm_vblank.c
drivers/gpu/drm/i915/gvt/cmd_parser.c
drivers/gpu/drm/i915/gvt/display.c
drivers/gpu/drm/i915/gvt/gtt.c
drivers/gpu/drm/i915/gvt/handlers.c
drivers/gpu/drm/i915/gvt/kvmgt.c
drivers/gpu/drm/i915/gvt/scheduler.c
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/i915_perf.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_cdclk.c
drivers/gpu/drm/i915/intel_engine_cs.c
drivers/gpu/drm/i915/intel_fbdev.c
drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c
drivers/gpu/drm/mediatek/Makefile
drivers/gpu/drm/mediatek/mtk_disp_color.c [new file with mode: 0644]
drivers/gpu/drm/mediatek/mtk_disp_ovl.c
drivers/gpu/drm/mediatek/mtk_drm_crtc.c
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
drivers/gpu/drm/mediatek/mtk_drm_drv.c
drivers/gpu/drm/mediatek/mtk_drm_drv.h
drivers/gpu/drm/mediatek/mtk_drm_plane.c
drivers/gpu/drm/mediatek/mtk_dsi.c
drivers/gpu/drm/mediatek/mtk_hdmi.c
drivers/gpu/drm/radeon/atombios_encoders.c
drivers/gpu/drm/rockchip/cdn-dp-core.c
drivers/gpu/drm/rockchip/rockchip_drm_drv.h
drivers/gpu/drm/rockchip/rockchip_drm_gem.c
drivers/hid/Kconfig
drivers/hid/Makefile
drivers/hid/hid-apple.c
drivers/hid/hid-asus.c
drivers/hid/hid-chicony.c
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-input.c
drivers/hid/hid-ite.c [new file with mode: 0644]
drivers/hid/hid-multitouch.c
drivers/hid/hid-retrode.c [new file with mode: 0644]
drivers/hid/i2c-hid/i2c-hid.c
drivers/hid/intel-ish-hid/Kconfig
drivers/hid/intel-ish-hid/ipc/hw-ish.h
drivers/hid/intel-ish-hid/ipc/ipc.c
drivers/hid/intel-ish-hid/ipc/pci-ish.c
drivers/hid/intel-ish-hid/ishtp-hid-client.c
drivers/hid/intel-ish-hid/ishtp/client.c
drivers/hid/intel-ish-hid/ishtp/client.h
drivers/hid/intel-ish-hid/ishtp/hbm.c
drivers/hid/usbhid/hid-core.c
drivers/hid/usbhid/hiddev.c
drivers/hid/usbhid/usbhid.h
drivers/hid/wacom.h
drivers/hid/wacom_sys.c
drivers/hid/wacom_wac.c
drivers/hid/wacom_wac.h
drivers/i2c/Makefile
drivers/i2c/algos/i2c-algo-bit.c
drivers/i2c/busses/Kconfig
drivers/i2c/busses/Makefile
drivers/i2c/busses/i2c-aspeed.c [new file with mode: 0644]
drivers/i2c/busses/i2c-at91.c
drivers/i2c/busses/i2c-cadence.c
drivers/i2c/busses/i2c-designware-common.c [new file with mode: 0644]
drivers/i2c/busses/i2c-designware-core.c [deleted file]
drivers/i2c/busses/i2c-designware-core.h
drivers/i2c/busses/i2c-designware-master.c [new file with mode: 0644]
drivers/i2c/busses/i2c-designware-pcidrv.c
drivers/i2c/busses/i2c-designware-platdrv.c
drivers/i2c/busses/i2c-designware-slave.c [new file with mode: 0644]
drivers/i2c/busses/i2c-emev2.c
drivers/i2c/busses/i2c-i801.c
drivers/i2c/busses/i2c-mxs.c
drivers/i2c/busses/i2c-pca-platform.c
drivers/i2c/busses/i2c-rcar.c
drivers/i2c/busses/i2c-sh_mobile.c
drivers/i2c/busses/i2c-xgene-slimpro.c
drivers/i2c/busses/i2c-xlp9xx.c
drivers/i2c/busses/i2c-zx2967.c [new file with mode: 0644]
drivers/i2c/i2c-core-acpi.c [new file with mode: 0644]
drivers/i2c/i2c-core-base.c [new file with mode: 0644]
drivers/i2c/i2c-core-of.c [new file with mode: 0644]
drivers/i2c/i2c-core-slave.c [new file with mode: 0644]
drivers/i2c/i2c-core-smbus.c [new file with mode: 0644]
drivers/i2c/i2c-core.c [deleted file]
drivers/i2c/i2c-core.h
drivers/i2c/i2c-stub.c
drivers/infiniband/sw/rxe/rxe_resp.c
drivers/infiniband/ulp/isert/ib_isert.c
drivers/infiniband/ulp/srpt/ib_srpt.c
drivers/iommu/Kconfig
drivers/iommu/amd_iommu.c
drivers/iommu/amd_iommu_init.c
drivers/iommu/amd_iommu_types.h
drivers/iommu/arm-smmu-v3.c
drivers/iommu/arm-smmu.c
drivers/iommu/dma-iommu.c
drivers/iommu/intel-iommu.c
drivers/iommu/intel-svm.c
drivers/iommu/intel_irq_remapping.c
drivers/iommu/io-pgtable-arm-v7s.c
drivers/iommu/io-pgtable-arm.c
drivers/iommu/io-pgtable.h
drivers/iommu/iommu.c
drivers/iommu/iova.c
drivers/iommu/ipmmu-vmsa.c
drivers/iommu/omap-iommu.c
drivers/iommu/s390-iommu.c
drivers/lightnvm/pblk-core.c
drivers/lightnvm/pblk-recovery.c
drivers/lightnvm/pblk-write.c
drivers/lightnvm/pblk.h
drivers/md/dm.c
drivers/mfd/cros_ec.c
drivers/mmc/host/wbsd.c
drivers/mtd/Kconfig
drivers/mtd/Makefile
drivers/mtd/bcm47xxpart.c
drivers/mtd/chips/cfi_cmdset_0020.c
drivers/mtd/devices/Kconfig
drivers/mtd/devices/Makefile
drivers/mtd/devices/m25p80.c
drivers/mtd/devices/mchp23k256.c [new file with mode: 0644]
drivers/mtd/devices/mtd_dataflash.c
drivers/mtd/devices/serial_flash_cmds.h
drivers/mtd/devices/st_spi_fsm.c
drivers/mtd/maps/physmap_of_gemini.c
drivers/mtd/mtdcore.c
drivers/mtd/mtdpart.c
drivers/mtd/nand/Kconfig
drivers/mtd/nand/atmel/nand-controller.c
drivers/mtd/nand/bcm47xxnflash/ops_bcm4706.c
drivers/mtd/nand/cafe_nand.c
drivers/mtd/nand/davinci_nand.c
drivers/mtd/nand/denali.c
drivers/mtd/nand/denali.h
drivers/mtd/nand/denali_dt.c
drivers/mtd/nand/denali_pci.c
drivers/mtd/nand/docg4.c
drivers/mtd/nand/fsl_elbc_nand.c
drivers/mtd/nand/fsl_ifc_nand.c
drivers/mtd/nand/fsmc_nand.c
drivers/mtd/nand/gpmi-nand/gpmi-lib.c
drivers/mtd/nand/gpmi-nand/gpmi-nand.c
drivers/mtd/nand/gpmi-nand/gpmi-nand.h
drivers/mtd/nand/hisi504_nand.c
drivers/mtd/nand/jz4780_nand.c
drivers/mtd/nand/mpc5121_nfc.c
drivers/mtd/nand/mtk_ecc.c
drivers/mtd/nand/mtk_ecc.h
drivers/mtd/nand/mtk_nand.c
drivers/mtd/nand/mxc_nand.c
drivers/mtd/nand/nand_base.c
drivers/mtd/nand/nand_micron.c
drivers/mtd/nand/orion_nand.c
drivers/mtd/nand/pxa3xx_nand.c
drivers/mtd/nand/qcom_nandc.c
drivers/mtd/nand/s3c2410.c
drivers/mtd/nand/sh_flctl.c
drivers/mtd/nand/sunxi_nand.c
drivers/mtd/nand/tango_nand.c
drivers/mtd/nand/vf610_nfc.c
drivers/mtd/parsers/Kconfig [new file with mode: 0644]
drivers/mtd/parsers/Makefile [new file with mode: 0644]
drivers/mtd/parsers/parser_trx.c [new file with mode: 0644]
drivers/mtd/spi-nor/Kconfig
drivers/mtd/spi-nor/aspeed-smc.c
drivers/mtd/spi-nor/atmel-quadspi.c
drivers/mtd/spi-nor/cadence-quadspi.c
drivers/mtd/spi-nor/fsl-quadspi.c
drivers/mtd/spi-nor/hisi-sfc.c
drivers/mtd/spi-nor/intel-spi.c
drivers/mtd/spi-nor/mtk-quadspi.c
drivers/mtd/spi-nor/nxp-spifi.c
drivers/mtd/spi-nor/spi-nor.c
drivers/mtd/spi-nor/stm32-quadspi.c
drivers/mtd/tests/subpagetest.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
drivers/net/ethernet/cisco/enic/vnic_dev.c
drivers/net/ethernet/hisilicon/hns/hns_enet.c
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
drivers/net/ethernet/netronome/nfp/flower/metadata.c
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/smsc/smsc911x.c
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/tap.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
drivers/nvdimm/blk.c
drivers/nvdimm/btt.c
drivers/nvme/host/core.c
drivers/nvme/host/fc.c
drivers/nvme/host/nvme.h
drivers/nvme/host/pci.c
drivers/nvme/host/rdma.c
drivers/nvme/target/fc.c
drivers/nvme/target/io-cmd.c
drivers/nvme/target/loop.c
drivers/of/property.c
drivers/platform/chrome/Kconfig
drivers/platform/chrome/Makefile
drivers/platform/chrome/cros_ec_debugfs.c [new file with mode: 0644]
drivers/platform/chrome/cros_ec_debugfs.h [new file with mode: 0644]
drivers/platform/chrome/cros_ec_dev.c
drivers/platform/chrome/cros_ec_dev.h
drivers/platform/chrome/cros_ec_lightbar.c
drivers/platform/chrome/cros_ec_lpc.c
drivers/platform/chrome/cros_ec_lpc_mec.c [new file with mode: 0644]
drivers/platform/chrome/cros_ec_lpc_reg.c [new file with mode: 0644]
drivers/platform/chrome/cros_ec_proto.c
drivers/platform/x86/alienware-wmi.c
drivers/platform/x86/asus-wmi.c
drivers/platform/x86/compal-laptop.c
drivers/platform/x86/fujitsu-laptop.c
drivers/platform/x86/ideapad-laptop.c
drivers/platform/x86/intel_telemetry_debugfs.c
drivers/platform/x86/panasonic-laptop.c
drivers/platform/x86/peaq-wmi.c
drivers/platform/x86/samsung-laptop.c
drivers/platform/x86/silead_dmi.c
drivers/platform/x86/toshiba_acpi.c
drivers/power/supply/twl4030_charger.c
drivers/pwm/core.c
drivers/pwm/pwm-bfin.c
drivers/pwm/pwm-cros-ec.c
drivers/pwm/pwm-hibvt.c
drivers/pwm/pwm-meson.c
drivers/pwm/pwm-sun4i.c
drivers/pwm/pwm-tegra.c
drivers/rtc/Kconfig
drivers/rtc/Makefile
drivers/rtc/class.c
drivers/rtc/interface.c
drivers/rtc/nvmem.c [new file with mode: 0644]
drivers/rtc/rtc-at91rm9200.c
drivers/rtc/rtc-brcmstb-waketimer.c [new file with mode: 0644]
drivers/rtc/rtc-core.h
drivers/rtc/rtc-dev.c
drivers/rtc/rtc-ds1307.c
drivers/rtc/rtc-ds3232.c
drivers/rtc/rtc-ftrtc010.c [new file with mode: 0644]
drivers/rtc/rtc-gemini.c [deleted file]
drivers/rtc/rtc-m41t80.c
drivers/rtc/rtc-mxc.c
drivers/rtc/rtc-nuc900.c
drivers/rtc/rtc-opal.c
drivers/rtc/rtc-pcf8563.c
drivers/rtc/rtc-rv8803.c
drivers/rtc/rtc-s3c.c
drivers/rtc/rtc-st-lpc.c
drivers/rtc/rtc-stm32.c
drivers/rtc/rtc-sysfs.c
drivers/s390/char/vmcp.c
drivers/s390/net/ctcm_main.c
drivers/s390/net/qeth_l3_main.c
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h
drivers/scsi/ibmvscsi_tgt/libsrp.h
drivers/scsi/lpfc/lpfc_scsi.c
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_target.c
drivers/scsi/qla2xxx/tcm_qla2xxx.c
drivers/staging/greybus/hid.c
drivers/staging/mt29f_spinand/mt29f_spinand.c
drivers/target/iscsi/iscsi_target.c
drivers/target/iscsi/iscsi_target_configfs.c
drivers/target/iscsi/iscsi_target_nego.c
drivers/target/iscsi/iscsi_target_parameters.c
drivers/target/iscsi/iscsi_target_parameters.h
drivers/target/iscsi/iscsi_target_tpg.c
drivers/target/iscsi/iscsi_target_tpg.h
drivers/target/iscsi/iscsi_target_util.c
drivers/target/iscsi/iscsi_target_util.h
drivers/target/loopback/tcm_loop.c
drivers/target/loopback/tcm_loop.h
drivers/target/target_core_alua.c
drivers/target/target_core_configfs.c
drivers/target/target_core_device.c
drivers/target/target_core_fabric_configfs.c
drivers/target/target_core_fabric_lib.c
drivers/target/target_core_file.c
drivers/target/target_core_iblock.c
drivers/target/target_core_internal.h
drivers/target/target_core_pr.c
drivers/target/target_core_pscsi.c
drivers/target/target_core_pscsi.h
drivers/target/target_core_rd.c
drivers/target/target_core_sbc.c
drivers/target/target_core_spc.c
drivers/target/target_core_tmr.c
drivers/target/target_core_tpg.c
drivers/target/target_core_transport.c
drivers/target/target_core_user.c
drivers/target/target_core_xcopy.c
drivers/tty/serial/ioc3_serial.c
drivers/tty/serial/ioc4_serial.c
drivers/usb/serial/safe_serial.c
drivers/vfio/pci/vfio_pci.c
drivers/vfio/vfio.c
drivers/vhost/net.c
drivers/vhost/scsi.c
drivers/vhost/vsock.c
drivers/video/console/mdacon.c
drivers/video/fbdev/aty/atyfb_base.c
drivers/video/fbdev/core/fbmem.c
drivers/video/fbdev/fsl-diu-fb.c
drivers/video/fbdev/intelfb/intelfbdrv.c
drivers/video/fbdev/matrox/matroxfb_base.c
drivers/video/fbdev/omap/lcdc.c
drivers/video/fbdev/omap/omapfb_main.c
drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c
drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c
drivers/video/fbdev/pxafb.c
drivers/video/fbdev/sh_mobile_lcdcfb.c
drivers/video/fbdev/uvesafb.c
drivers/video/fbdev/vermilion/cr_pll.c
drivers/watchdog/Kconfig
drivers/watchdog/Makefile
drivers/watchdog/bcm47xx_wdt.c
drivers/watchdog/cadence_wdt.c
drivers/watchdog/davinci_wdt.c
drivers/watchdog/dw_wdt.c
drivers/watchdog/f71808e_wdt.c
drivers/watchdog/gpio_wdt.c
drivers/watchdog/intel-mid_wdt.c
drivers/watchdog/it87_wdt.c
drivers/watchdog/meson_gxbb_wdt.c
drivers/watchdog/orion_wdt.c
drivers/watchdog/rza_wdt.c [new file with mode: 0644]
drivers/watchdog/s3c2410_wdt.c
drivers/watchdog/sama5d4_wdt.c
drivers/watchdog/stm32_iwdg.c [new file with mode: 0644]
drivers/watchdog/uniphier_wdt.c [new file with mode: 0644]
drivers/watchdog/w83627hf_wdt.c
drivers/watchdog/watchdog_dev.c
drivers/watchdog/zx2967_wdt.c
drivers/xen/xen-scsiback.c
fs/Kconfig
fs/autofs4/autofs_i.h
fs/autofs4/waitq.c
fs/befs/btree.c
fs/bfs/inode.c
fs/binfmt_elf.c
fs/btrfs/file.c
fs/buffer.c
fs/ceph/addr.c
fs/ceph/cache.c
fs/ceph/caps.c
fs/ceph/file.c
fs/ceph/inode.c
fs/ceph/locks.c
fs/ceph/mds_client.c
fs/ceph/super.c
fs/ceph/super.h
fs/ceph/xattr.c
fs/cifs/Kconfig
fs/cifs/Makefile
fs/cifs/cifs_unicode.c
fs/cifs/cifs_unicode.h
fs/cifs/cifsfs.c
fs/cifs/cifsglob.h
fs/cifs/cifssmb.c
fs/cifs/connect.c
fs/cifs/ioctl.c
fs/cifs/link.c
fs/cifs/misc.c
fs/cifs/smb2maperror.c
fs/cifs/smb2ops.c
fs/cifs/smb2pdu.c
fs/cifs/smb2proto.h
fs/dcache.c
fs/eventpoll.c
fs/ext2/inode.c
fs/f2fs/Makefile
fs/f2fs/acl.c
fs/f2fs/checkpoint.c
fs/f2fs/data.c
fs/f2fs/dir.c
fs/f2fs/extent_cache.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/gc.c
fs/f2fs/inline.c
fs/f2fs/inode.c
fs/f2fs/namei.c
fs/f2fs/node.c
fs/f2fs/node.h
fs/f2fs/segment.c
fs/f2fs/segment.h
fs/f2fs/super.c
fs/f2fs/sysfs.c [new file with mode: 0644]
fs/fs-writeback.c
fs/hugetlbfs/inode.c
fs/iomap.c
fs/lockd/clnt4xdr.c
fs/lockd/clntxdr.c
fs/lockd/mon.c
fs/lockd/svc.c
fs/lockd/svc4proc.c
fs/lockd/svcproc.c
fs/lockd/xdr.c
fs/lockd/xdr4.c
fs/nfs/Makefile
fs/nfs/callback.c
fs/nfs/callback.h
fs/nfs/callback_proc.c
fs/nfs/callback_xdr.c
fs/nfs/dir.c
fs/nfs/export.c [new file with mode: 0644]
fs/nfs/filelayout/filelayout.c
fs/nfs/flexfilelayout/flexfilelayout.c
fs/nfs/inode.c
fs/nfs/internal.h
fs/nfs/mount_clnt.c
fs/nfs/nfs2xdr.c
fs/nfs/nfs3proc.c
fs/nfs/nfs3xdr.c
fs/nfs/nfs42proc.c
fs/nfs/nfs42xdr.c
fs/nfs/nfs4_fs.h
fs/nfs/nfs4client.c
fs/nfs/nfs4idmap.c
fs/nfs/nfs4proc.c
fs/nfs/nfs4state.c
fs/nfs/nfs4trace.h
fs/nfs/nfs4xdr.c
fs/nfs/pagelist.c
fs/nfs/proc.c
fs/nfs/super.c
fs/nfs/unlink.c
fs/nfs/write.c
fs/nfsd/current_stateid.h
fs/nfsd/nfs2acl.c
fs/nfsd/nfs3acl.c
fs/nfsd/nfs3proc.c
fs/nfsd/nfs3xdr.c
fs/nfsd/nfs4callback.c
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4state.c
fs/nfsd/nfs4xdr.c
fs/nfsd/nfsd.h
fs/nfsd/nfsfh.h
fs/nfsd/nfsproc.c
fs/nfsd/nfssvc.c
fs/nfsd/nfsxdr.c
fs/nfsd/xdr.h
fs/nfsd/xdr3.h
fs/nfsd/xdr4.h
fs/overlayfs/Kconfig
fs/overlayfs/copy_up.c
fs/overlayfs/dir.c
fs/overlayfs/inode.c
fs/overlayfs/namei.c
fs/overlayfs/overlayfs.h
fs/overlayfs/ovl_entry.h
fs/overlayfs/readdir.c
fs/overlayfs/super.c
fs/overlayfs/util.c
fs/proc/base.c
fs/proc/generic.c
fs/proc/internal.h
fs/proc/proc_sysctl.c
fs/proc/task_mmu.c
fs/reiserfs/bitmap.c
fs/udf/file.c
fs/udf/inode.c
fs/udf/super.c
fs/udf/udftime.c
fs/xfs/Kconfig
fs/xfs/kmem.h
fs/xfs/libxfs/xfs_ag_resv.c
fs/xfs/libxfs/xfs_alloc.c
fs/xfs/libxfs/xfs_alloc.h
fs/xfs/libxfs/xfs_alloc_btree.c
fs/xfs/libxfs/xfs_attr.c
fs/xfs/libxfs/xfs_attr_leaf.c
fs/xfs/libxfs/xfs_attr_remote.c
fs/xfs/libxfs/xfs_attr_sf.h
fs/xfs/libxfs/xfs_bit.h
fs/xfs/libxfs/xfs_bmap.c
fs/xfs/libxfs/xfs_bmap.h
fs/xfs/libxfs/xfs_bmap_btree.c
fs/xfs/libxfs/xfs_btree.c
fs/xfs/libxfs/xfs_btree.h
fs/xfs/libxfs/xfs_cksum.h
fs/xfs/libxfs/xfs_da_btree.c
fs/xfs/libxfs/xfs_da_btree.h
fs/xfs/libxfs/xfs_da_format.c
fs/xfs/libxfs/xfs_da_format.h
fs/xfs/libxfs/xfs_dir2.c
fs/xfs/libxfs/xfs_dir2.h
fs/xfs/libxfs/xfs_dir2_block.c
fs/xfs/libxfs/xfs_dir2_leaf.c
fs/xfs/libxfs/xfs_dir2_node.c
fs/xfs/libxfs/xfs_dir2_priv.h
fs/xfs/libxfs/xfs_dir2_sf.c
fs/xfs/libxfs/xfs_format.h
fs/xfs/libxfs/xfs_fs.h
fs/xfs/libxfs/xfs_ialloc.c
fs/xfs/libxfs/xfs_ialloc.h
fs/xfs/libxfs/xfs_ialloc_btree.c
fs/xfs/libxfs/xfs_inode_buf.c
fs/xfs/libxfs/xfs_inode_buf.h
fs/xfs/libxfs/xfs_log_format.h
fs/xfs/libxfs/xfs_log_recover.h
fs/xfs/libxfs/xfs_quota_defs.h
fs/xfs/libxfs/xfs_refcount.c
fs/xfs/libxfs/xfs_refcount.h
fs/xfs/libxfs/xfs_refcount_btree.c
fs/xfs/libxfs/xfs_rmap.c
fs/xfs/libxfs/xfs_rmap.h
fs/xfs/libxfs/xfs_rmap_btree.c
fs/xfs/libxfs/xfs_rtbitmap.c
fs/xfs/libxfs/xfs_sb.c
fs/xfs/libxfs/xfs_symlink_remote.c
fs/xfs/libxfs/xfs_trans_resv.c
fs/xfs/libxfs/xfs_types.h
fs/xfs/xfs.h
fs/xfs/xfs_acl.c
fs/xfs/xfs_acl.h
fs/xfs/xfs_aops.c
fs/xfs/xfs_attr.h
fs/xfs/xfs_attr_list.c
fs/xfs/xfs_bmap_item.c
fs/xfs/xfs_bmap_util.c
fs/xfs/xfs_bmap_util.h
fs/xfs/xfs_buf.c
fs/xfs/xfs_buf.h
fs/xfs/xfs_buf_item.c
fs/xfs/xfs_dir2_readdir.c
fs/xfs/xfs_discard.c
fs/xfs/xfs_dquot.c
fs/xfs/xfs_error.c
fs/xfs/xfs_error.h
fs/xfs/xfs_file.c
fs/xfs/xfs_fsops.c
fs/xfs/xfs_fsops.h
fs/xfs/xfs_globals.c
fs/xfs/xfs_icache.c
fs/xfs/xfs_icache.h
fs/xfs/xfs_inode.c
fs/xfs/xfs_inode.h
fs/xfs/xfs_ioctl.c
fs/xfs/xfs_ioctl.h
fs/xfs/xfs_ioctl32.h
fs/xfs/xfs_iomap.c
fs/xfs/xfs_iops.c
fs/xfs/xfs_itable.c
fs/xfs/xfs_itable.h
fs/xfs/xfs_linux.h
fs/xfs/xfs_log.c
fs/xfs/xfs_log.h
fs/xfs/xfs_log_cil.c
fs/xfs/xfs_log_priv.h
fs/xfs/xfs_log_recover.c
fs/xfs/xfs_message.c
fs/xfs/xfs_mount.c
fs/xfs/xfs_mount.h
fs/xfs/xfs_qm.c
fs/xfs/xfs_qm_bhv.c
fs/xfs/xfs_quotaops.c
fs/xfs/xfs_reflink.c
fs/xfs/xfs_reflink.h
fs/xfs/xfs_rtalloc.c
fs/xfs/xfs_rtalloc.h
fs/xfs/xfs_stats.c
fs/xfs/xfs_stats.h
fs/xfs/xfs_super.c
fs/xfs/xfs_symlink.c
fs/xfs/xfs_symlink.h
fs/xfs/xfs_sysctl.h
fs/xfs/xfs_sysfs.c
fs/xfs/xfs_trace.h
fs/xfs/xfs_trans.h
fs/xfs/xfs_trans_bmap.c
fs/xfs/xfs_trans_buf.c
fs/xfs/xfs_trans_rmap.c
include/acpi/acrestyp.h
include/asm-generic/bug.h
include/drm/bridge/dw_hdmi.h
include/linux/acpi.h
include/linux/backing-dev.h
include/linux/bio.h
include/linux/bitmap.h
include/linux/buffer_head.h
include/linux/bug.h
include/linux/build_bug.h [new file with mode: 0644]
include/linux/bvec.h
include/linux/ceph/ceph_features.h
include/linux/ceph/ceph_fs.h
include/linux/ceph/decode.h
include/linux/ceph/libceph.h
include/linux/ceph/messenger.h
include/linux/ceph/osd_client.h
include/linux/ceph/osdmap.h
include/linux/ceph/rados.h
include/linux/crash_core.h
include/linux/crush/crush.h
include/linux/crush/mapper.h
include/linux/dax.h
include/linux/dcache.h
include/linux/eventpoll.h
include/linux/extable.h
include/linux/fs.h
include/linux/fwnode.h
include/linux/gfp.h
include/linux/hid.h
include/linux/huge_mm.h
include/linux/hugetlb.h
include/linux/i2c.h
include/linux/i2c/i2c-hid.h [deleted file]
include/linux/i2c/i2c-sh_mobile.h [deleted file]
include/linux/initrd.h
include/linux/intel-svm.h
include/linux/iomap.h
include/linux/ipc.h
include/linux/kernel.h
include/linux/kexec.h
include/linux/khugepaged.h
include/linux/list_lru.h
include/linux/lockd/lockd.h
include/linux/lockd/xdr.h
include/linux/lockd/xdr4.h
include/linux/mfd/cros_ec.h
include/linux/mfd/cros_ec_commands.h
include/linux/mfd/cros_ec_lpc_mec.h [new file with mode: 0644]
include/linux/mfd/cros_ec_lpc_reg.h [new file with mode: 0644]
include/linux/migrate.h
include/linux/mmzone.h
include/linux/mtd/nand.h
include/linux/mtd/partitions.h
include/linux/mtd/spi-nor.h
include/linux/nfs4.h
include/linux/nfs_fs.h
include/linux/nfs_fs_sb.h
include/linux/nfs_page.h
include/linux/nfs_xdr.h
include/linux/nmi.h
include/linux/nvme-fc.h
include/linux/nvmem-provider.h
include/linux/of.h
include/linux/page_ref.h
include/linux/platform_data/i2c-hid.h [new file with mode: 0644]
include/linux/platform_data/usb-ohci-s3c2410.h
include/linux/property.h
include/linux/random.h
include/linux/rtc.h
include/linux/sched.h
include/linux/sched/coredump.h
include/linux/sem.h
include/linux/slab.h
include/linux/string.h
include/linux/sunrpc/clnt.h
include/linux/sunrpc/sched.h
include/linux/sunrpc/svc.h
include/linux/sunrpc/svc_rdma.h
include/linux/sunrpc/xdr.h
include/linux/swap.h
include/linux/swapops.h
include/linux/sysctl.h
include/linux/t10-pi.h
include/linux/uio.h
include/linux/vfio.h
include/net/sock.h
include/scsi/scsi_proto.h
include/target/iscsi/iscsi_target_core.h
include/target/target_core_backend.h
include/target/target_core_base.h
include/target/target_core_fabric.h
include/trace/events/f2fs.h
include/trace/events/i2c.h
include/trace/events/mmflags.h
include/trace/events/oom.h
include/trace/events/smbus.h [new file with mode: 0644]
include/uapi/linux/auto_fs.h
include/uapi/linux/auto_fs4.h
include/uapi/linux/kcmp.h
include/uapi/linux/sem.h
include/uapi/linux/target_core_user.h
init/main.c
ipc/msg.c
ipc/sem.c
ipc/shm.c
ipc/util.c
ipc/util.h
kernel/Makefile
kernel/crash_core.c
kernel/exit.c
kernel/extable.c
kernel/fork.c
kernel/groups.c
kernel/kallsyms.c
kernel/kcmp.c
kernel/kexec.c
kernel/kexec_core.c
kernel/kexec_file.c
kernel/kexec_internal.h
kernel/kmod.c
kernel/ksysfs.c
kernel/module.c
kernel/power/main.c
kernel/signal.c
kernel/sys.c
kernel/sysctl.c
kernel/sysctl_binary.c
kernel/trace/ftrace.c
kernel/trace/trace.c
kernel/trace/trace_kprobe.c
kernel/trace/trace_stack.c
kernel/watchdog.c
kernel/watchdog_hld.c
lib/Kconfig.debug
lib/Makefile
lib/bitmap.c
lib/bsearch.c
lib/extable.c
lib/fault-inject.c
lib/interval_tree_test.c
lib/kstrtox.c
lib/percpu_counter.c
lib/rhashtable.c
lib/string.c
lib/test_bitmap.c
lib/test_sysctl.c [new file with mode: 0644]
mm/Kconfig
mm/balloon_compaction.c
mm/cma.c
mm/filemap.c
mm/hugetlb.c
mm/internal.h
mm/kasan/kasan.c
mm/kasan/kasan_init.c
mm/kasan/report.c
mm/khugepaged.c
mm/list_lru.c
mm/madvise.c
mm/memcontrol.c
mm/memory-failure.c
mm/memory.c
mm/memory_hotplug.c
mm/mempolicy.c
mm/migrate.c
mm/mmap.c
mm/oom_kill.c
mm/page-writeback.c
mm/page_alloc.c
mm/page_io.c
mm/page_isolation.c
mm/page_owner.c
mm/shmem.c
mm/sparse-vmemmap.c
mm/swap.c
mm/swap_slots.c
mm/swap_state.c
mm/swapfile.c
mm/truncate.c
mm/util.c
mm/vmalloc.c
mm/vmpressure.c
mm/vmscan.c
mm/vmstat.c
mm/zsmalloc.c
net/bridge/br_mdb.c
net/ceph/ceph_common.c
net/ceph/crush/crush.c
net/ceph/crush/mapper.c
net/ceph/debugfs.c
net/ceph/messenger.c
net/ceph/mon_client.c
net/ceph/osd_client.c
net/ceph/osdmap.c
net/core/datagram.c
net/core/dev.c
net/core/skbuff.c
net/ipv4/ipmr.c
net/netfilter/x_tables.c
net/sched/sch_fq.c
net/sunrpc/auth_gss/gss_krb5_crypto.c
net/sunrpc/auth_gss/gss_rpc_upcall.c
net/sunrpc/auth_gss/gss_rpc_xdr.c
net/sunrpc/auth_gss/gss_rpc_xdr.h
net/sunrpc/auth_gss/svcauth_gss.c
net/sunrpc/clnt.c
net/sunrpc/rpcb_clnt.c
net/sunrpc/stats.c
net/sunrpc/svc.c
net/sunrpc/svc_xprt.c
net/sunrpc/xprt.c
net/sunrpc/xprtrdma/Makefile
net/sunrpc/xprtrdma/fmr_ops.c
net/sunrpc/xprtrdma/frwr_ops.c
net/sunrpc/xprtrdma/rpc_rdma.c
net/sunrpc/xprtrdma/svc_rdma_marshal.c [deleted file]
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
net/sunrpc/xprtrdma/svc_rdma_rw.c
net/sunrpc/xprtrdma/svc_rdma_sendto.c
net/sunrpc/xprtrdma/svc_rdma_transport.c
net/sunrpc/xprtrdma/transport.c
net/sunrpc/xprtrdma/verbs.c
net/sunrpc/xprtrdma/xprt_rdma.h
samples/bpf/Makefile
samples/bpf/bpf_helpers.h [deleted file]
samples/kfifo/dma-example.c
scripts/Makefile.headersinst
scripts/checkpatch.pl
scripts/gdb/linux/constants.py.in
scripts/gdb/linux/dmesg.py
scripts/gdb/linux/proc.py
scripts/mod/modpost.c
security/Kconfig
tools/perf/builtin-kmem.c
tools/testing/selftests/bpf/Makefile
tools/testing/selftests/bpf/bpf_endian.h
tools/testing/selftests/bpf/bpf_helpers.h [new file with mode: 0644]
tools/testing/selftests/ftrace/test.d/kprobe/kprobe_eventname.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/test.d/kprobe/kprobe_module.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc
tools/testing/selftests/sysctl/Makefile
tools/testing/selftests/sysctl/common_tests [deleted file]
tools/testing/selftests/sysctl/config [new file with mode: 0644]
tools/testing/selftests/sysctl/run_numerictests [deleted file]
tools/testing/selftests/sysctl/run_stringtests [deleted file]
tools/testing/selftests/sysctl/sysctl.sh [new file with mode: 0644]
tools/testing/selftests/timers/Makefile
tools/testing/selftests/timers/rtctest.c
tools/testing/selftests/timers/rtctest_setdate.c [new file with mode: 0644]
virt/kvm/vfio.c

index 3b5c3bca9186d13e8cf5f1911b2fc88424c6970f..f34e592301d1dbd9190d8557e43fd05bcde08f80 100644 (file)
@@ -229,6 +229,6 @@ KernelVersion:      4.1
 Contact:       linux-mtd@lists.infradead.org
 Description:
                For a partition, the offset of that partition from the start
-               of the master device in bytes. This attribute is absent on
-               main devices, so it can be used to distinguish between
-               partitions and devices that aren't partitions.
+               of the parent (another partition or a flash device) in bytes.
+               This attribute is absent on flash devices, so it can be used
+               to distinguish them from partitions.
index a809f6005f1464ed7c86133db7b4b95d4a3c7388..84c606fb3ca4dff45bbd59af27de49d6d86884ca 100644 (file)
@@ -75,7 +75,7 @@ Contact:      "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
 Description:
                 Controls the memory footprint used by f2fs.
 
-What:          /sys/fs/f2fs/<disk>/trim_sections
+What:          /sys/fs/f2fs/<disk>/batched_trim_sections
 Date:          February 2015
 Contact:       "Jaegeuk Kim" <jaegeuk@kernel.org>
 Description:
@@ -112,3 +112,21 @@ Date:              January 2016
 Contact:       "Shuoran Liu" <liushuoran@huawei.com>
 Description:
                 Shows total written kbytes issued to disk.
+
+What:          /sys/fs/f2fs/<disk>/inject_rate
+Date:          May 2016
+Contact:       "Sheng Yong" <shengyong1@huawei.com>
+Description:
+                Controls the injection rate.
+
+What:          /sys/fs/f2fs/<disk>/inject_type
+Date:          May 2016
+Contact:       "Sheng Yong" <shengyong1@huawei.com>
+Description:
+                Controls the injection type.
+
+What:          /sys/fs/f2fs/<disk>/reserved_blocks
+Date:          June 2017
+Contact:       "Chao Yu" <yuchao0@huawei.com>
+Description:
+                Controls current reserved blocks in system.
index c413313987521fdb9d95522cd9573f19af6cd97b..7a065ac4a9d1cae2fa3acc2620ca29aaeb8c3ed5 100644 (file)
@@ -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 allocator try a bit harder.
+__GFP_RETRY_MAYFAIL 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.)
index f5f93dca54b72594ee34dddcac52ce7fb7b385e4..66e8ce14d23d03ab654c0c14699bd7845ad91aa9 100644 (file)
@@ -61,12 +61,15 @@ stable kernels.
 | Cavium         | ThunderX ITS    | #23144          | CAVIUM_ERRATUM_23144        |
 | Cavium         | ThunderX GICv3  | #23154          | CAVIUM_ERRATUM_23154        |
 | Cavium         | ThunderX Core   | #27456          | CAVIUM_ERRATUM_27456        |
-| Cavium         | ThunderX SMMUv2 | #27704          | N/A                         |
 | Cavium         | ThunderX Core   | #30115          | CAVIUM_ERRATUM_30115        |
+| Cavium         | ThunderX SMMUv2 | #27704          | N/A                         |
+| Cavium         | ThunderX2 SMMUv3| #74             | N/A                         |
+| Cavium         | ThunderX2 SMMUv3| #126            | N/A                         |
 |                |                 |                 |                             |
 | Freescale/NXP  | LS2080A/LS1043A | A-008585        | FSL_ERRATUM_A008585         |
 |                |                 |                 |                             |
 | Hisilicon      | Hip0{5,6,7}     | #161010101      | HISILICON_ERRATUM_161010101 |
+| Hisilicon      | Hip0{6,7}       | #161010701      | N/A                         |
 |                |                 |                 |                             |
 | Qualcomm Tech. | Falkor v1       | E1003           | QCOM_FALKOR_ERRATUM_1003    |
 | Qualcomm Tech. | Falkor v1       | E1009           | QCOM_FALKOR_ERRATUM_1009    |
index f56ec97f0d1492c3b5b5ea57bae974cb087b2e7d..934c44ea0c57feca0e4172912083b02cb985a326 100644 (file)
@@ -192,7 +192,7 @@ will require extra work due to the application tag.
     supported by the block device.
 
 
-    int bio_integrity_prep(bio);
+    bool bio_integrity_prep(bio);
 
       To generate IMD for WRITE and to set up buffers for READ, the
       filesystem must call bio_integrity_prep(bio).
@@ -201,9 +201,7 @@ will require extra work due to the application tag.
       sector must be set, and the bio should have all data pages
       added.  It is up to the caller to ensure that the bio does not
       change while I/O is in progress.
-
-      bio_integrity_prep() should only be called if
-      bio_integrity_enabled() returned 1.
+      Complete bio with error if prepare failed for some reson.
 
 
 5.3 PASSING EXISTING INTEGRITY METADATA
index 946e69103cdd78134d2071483aa12b22c699e670..cefb6363907003581efe476f569b4bd5660ca194 100644 (file)
@@ -789,23 +789,46 @@ way to trigger. Applications should do whatever they can to help the
 system. It might be too late to consult with vmstat or any other
 statistics, so it's advisable to take an immediate action.
 
-The events are propagated upward until the event is handled, i.e. the
-events are not pass-through. Here is what this means: for example you have
-three cgroups: A->B->C. Now you set up an event listener on cgroups A, B
-and C, and suppose group C experiences some pressure. In this situation,
-only group C will receive the notification, i.e. groups A and B will not
-receive it. This is done to avoid excessive "broadcasting" of messages,
-which disturbs the system and which is especially bad if we are low on
-memory or thrashing. So, organize the cgroups wisely, or propagate the
-events manually (or, ask us to implement the pass-through events,
-explaining why would you need them.)
+By default, events are propagated upward until the event is handled, i.e. the
+events are not pass-through. For example, you have three cgroups: A->B->C. Now
+you set up an event listener on cgroups A, B and C, and suppose group C
+experiences some pressure. In this situation, only group C will receive the
+notification, i.e. groups A and B will not receive it. This is done to avoid
+excessive "broadcasting" of messages, which disturbs the system and which is
+especially bad if we are low on memory or thrashing. Group B, will receive
+notification only if there are no event listers for group C.
+
+There are three optional modes that specify different propagation behavior:
+
+ - "default": this is the default behavior specified above. This mode is the
+   same as omitting the optional mode parameter, preserved by backwards
+   compatibility.
+
+ - "hierarchy": events always propagate up to the root, similar to the default
+   behavior, except that propagation continues regardless of whether there are
+   event listeners at each level, with the "hierarchy" mode. In the above
+   example, groups A, B, and C will receive notification of memory pressure.
+
+ - "local": events are pass-through, i.e. they only receive notifications when
+   memory pressure is experienced in the memcg for which the notification is
+   registered. In the above example, group C will receive notification if
+   registered for "local" notification and the group experiences memory
+   pressure. However, group B will never receive notification, regardless if
+   there is an event listener for group C or not, if group B is registered for
+   local notification.
+
+The level and event notification mode ("hierarchy" or "local", if necessary) are
+specified by a comma-delimited string, i.e. "low,hierarchy" specifies
+hierarchical, pass-through, notification for all ancestor memcgs. Notification
+that is the default, non pass-through behavior, does not specify a mode.
+"medium,local" specifies pass-through notification for the medium level.
 
 The file memory.pressure_level is only used to setup an eventfd. To
 register a notification, an application must:
 
 - create an eventfd using eventfd(2);
 - open memory.pressure_level;
-- write string like "<event_fd> <fd of memory.pressure_level> <level>"
+- write string as "<event_fd> <fd of memory.pressure_level> <level[,mode]>"
   to cgroup.event_control.
 
 Application will be notified through eventfd when memory pressure is at
@@ -821,7 +844,7 @@ Test:
    # cd /sys/fs/cgroup/memory/
    # mkdir foo
    # cd foo
-   # cgroup_event_listener memory.pressure_level low &
+   # cgroup_event_listener memory.pressure_level low,hierarchy &
    # echo 8000000 > memory.limit_in_bytes
    # echo 8000000 > memory.memsw.limit_in_bytes
    # echo $$ > tasks
index 9ec8488319dcaacf1f595c5fea88580e97955483..17b00914c6aba26d3aa0972dc413b77021be499d 100644 (file)
@@ -114,7 +114,7 @@ The Slab Cache
 User Space Memory Access
 ------------------------
 
-.. kernel-doc:: arch/x86/include/asm/uaccess_32.h
+.. kernel-doc:: arch/x86/include/asm/uaccess.h
    :internal:
 
 .. kernel-doc:: arch/x86/lib/usercopy_32.c
diff --git a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt b/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
new file mode 100644 (file)
index 0000000..bd6480b
--- /dev/null
@@ -0,0 +1,48 @@
+Device tree configuration for the I2C busses on the AST24XX and AST25XX SoCs.
+
+Required Properties:
+- #address-cells       : should be 1
+- #size-cells          : should be 0
+- reg                  : address offset and range of bus
+- compatible           : should be "aspeed,ast2400-i2c-bus"
+                         or "aspeed,ast2500-i2c-bus"
+- clocks               : root clock of bus, should reference the APB
+                         clock
+- interrupts           : interrupt number
+- interrupt-parent     : interrupt controller for bus, should reference a
+                         aspeed,ast2400-i2c-ic or aspeed,ast2500-i2c-ic
+                         interrupt controller
+
+Optional Properties:
+- bus-frequency        : frequency of the bus clock in Hz defaults to 100 kHz when not
+                 specified
+- multi-master : states that there is another master active on this bus.
+
+Example:
+
+i2c {
+       compatible = "simple-bus";
+       #address-cells = <1>;
+       #size-cells = <1>;
+       ranges = <0 0x1e78a000 0x1000>;
+
+       i2c_ic: interrupt-controller@0 {
+               #interrupt-cells = <1>;
+               compatible = "aspeed,ast2400-i2c-ic";
+               reg = <0x0 0x40>;
+               interrupts = <12>;
+               interrupt-controller;
+       };
+
+       i2c0: i2c-bus@40 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x40 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <0>;
+               interrupt-parent = <&i2c_ic>;
+       };
+};
index fee26dc3e858eead487d20f7c71d78c8d8770fba..fbb0a6d8b9643540e4f5c2e084216b5e66560b2e 100644 (file)
@@ -20,7 +20,7 @@ Optional properties :
  - i2c-sda-falling-time-ns : should contain the SDA falling time in nanoseconds.
    This value which is by default 300ns is used to compute the tHIGH period.
 
-Example :
+Examples :
 
        i2c@f0000 {
                #address-cells = <1>;
@@ -43,3 +43,17 @@ Example :
                i2c-sda-falling-time-ns = <300>;
                i2c-scl-falling-time-ns = <300>;
        };
+
+       i2c@1120000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x2000 0x100>;
+               clock-frequency = <400000>;
+               clocks = <&i2cclk>;
+               interrupts = <0>;
+
+               eeprom@64 {
+                       compatible = "linux,slave-24c02";
+                       reg = <0x40000064>;
+               };
+       };
diff --git a/Documentation/devicetree/bindings/i2c/i2c-pca-platform.txt b/Documentation/devicetree/bindings/i2c/i2c-pca-platform.txt
new file mode 100644 (file)
index 0000000..f1f3876
--- /dev/null
@@ -0,0 +1,29 @@
+* NXP PCA PCA9564/PCA9665 I2C controller
+
+The PCA9564/PCA9665 serves as an interface between most standard
+parallel-bus microcontrollers/microprocessors and the serial I2C-bus
+and allows the parallel bus system to communicate bi-directionally
+with the I2C-bus.
+
+Required properties :
+
+ - reg : Offset and length of the register set for the device
+ - compatible : one of "nxp,pca9564" or "nxp,pca9665"
+
+Optional properties
+ - interrupts : the interrupt number
+ - interrupt-parent : the phandle for the interrupt controller.
+   If an interrupt is not specified polling will be used.
+ - reset-gpios : gpio specifier for gpio connected to RESET_N pin. As the line
+   is active low, it should be marked GPIO_ACTIVE_LOW.
+ - clock-frequency : I2C bus frequency.
+
+Example:
+       i2c0: i2c@80000 {
+               compatible = "nxp,pca9564";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x80000 0x4>;
+               reset-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+               clock-frequency = <100000>;
+       };
diff --git a/Documentation/devicetree/bindings/i2c/i2c-zx2967.txt b/Documentation/devicetree/bindings/i2c/i2c-zx2967.txt
new file mode 100644 (file)
index 0000000..cb806d1
--- /dev/null
@@ -0,0 +1,22 @@
+ZTE zx2967 I2C controller
+
+Required properties:
+ - compatible: must be "zte,zx296718-i2c"
+ - reg: physical address and length of the device registers
+ - interrupts: a single interrupt specifier
+ - clocks: clock for the device
+ - #address-cells: should be <1>
+ - #size-cells: should be <0>
+ - clock-frequency: the desired I2C bus clock frequency.
+
+Examples:
+
+       i2c@112000 {
+               compatible = "zte,zx296718-i2c";
+               reg = <0x00112000 0x1000>;
+               interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&osc24m>;
+               #address-cells = <1>
+               #size-cells = <0>;
+               clock-frequency = <1600000>;
+       };
index be57550e14e487a797c62b485870d9a728d5c731..c9abbf3e4f68238faaa287dc9fb2222af0e4c236 100644 (file)
@@ -26,6 +26,12 @@ the PCIe specification.
                       * "priq"      - PRI Queue not empty
                       * "cmdq-sync" - CMD_SYNC complete
                       * "gerror"    - Global Error activated
+                      * "combined"  - The combined interrupt is optional,
+                                     and should only be provided if the
+                                     hardware supports just a single,
+                                     combined interrupt line.
+                                     If provided, then the combined interrupt
+                                     will be used in preference to any others.
 
 - #iommu-cells      : See the generic IOMMU binding described in
                         devicetree/bindings/pci/pci-iommu.txt
@@ -49,6 +55,12 @@ the PCIe specification.
 - hisilicon,broken-prefetch-cmd
                     : Avoid sending CMD_PREFETCH_* commands to the SMMU.
 
+- cavium,cn9900-broken-page1-regspace
+                    : Replaces all page 1 offsets used for EVTQ_PROD/CONS,
+                     PRIQ_PROD/CONS register access with page 0 offsets.
+                     Set for Cavium ThunderX2 silicon that doesn't support
+                     SMMU page1 register space.
+
 ** Example
 
         smmu@2b400000 {
index e593bbeb2115deb92966d593c18f002e5f269e41..504291d2e5c2e5e02b880738c7f453b527dee63c 100644 (file)
@@ -3,10 +3,23 @@
 Required properties:
   - compatible : should be one of the following:
       "altr,socfpga-denali-nand"            - for Altera SOCFPGA
+      "socionext,uniphier-denali-nand-v5a"  - for Socionext UniPhier (v5a)
+      "socionext,uniphier-denali-nand-v5b"  - for Socionext UniPhier (v5b)
   - reg : should contain registers location and length for data and reg.
   - reg-names: Should contain the reg names "nand_data" and "denali_reg"
   - interrupts : The interrupt number.
 
+Optional properties:
+  - nand-ecc-step-size: see nand.txt for details.  If present, the value must be
+      512        for "altr,socfpga-denali-nand"
+      1024       for "socionext,uniphier-denali-nand-v5a"
+      1024       for "socionext,uniphier-denali-nand-v5b"
+  - nand-ecc-strength: see nand.txt for details.  Valid values are:
+      8, 15      for "altr,socfpga-denali-nand"
+      8, 16, 24  for "socionext,uniphier-denali-nand-v5a"
+      8, 16      for "socionext,uniphier-denali-nand-v5b"
+  - nand-ecc-maximize: see nand.txt for details
+
 The device tree may optionally contain sub-nodes describing partitions of the
 address space. See partition.txt for more detail.
 
index 8c1528c421d47b2ca3995cff8a4f80af4942c8fb..59ddc61c10768dc1dfe73adbd5cf462e0dbc2da8 100644 (file)
@@ -1,7 +1,7 @@
 Error location module
 
 Required properties:
-- compatible: Must be "ti,am33xx-elm"
+- compatible: Must be "ti,am3352-elm"
 - reg: physical base address and size of the registers map.
 - interrupts: Interrupt number for the elm.
 
index 174f68c26c1b2a66a09c1b88dc7762d16ee54380..dd559045593d7be3cd4a984c643c7733bd7a3f76 100644 (file)
@@ -5,7 +5,7 @@ the GPMC controller with a name of "nand".
 
 All timing relevant properties as well as generic gpmc child properties are
 explained in a separate documents - please refer to
-Documentation/devicetree/bindings/bus/ti-gpmc.txt
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
 
 For NAND specific properties such as ECC modes or bus width, please refer to
 Documentation/devicetree/bindings/mtd/nand.txt
index 4828c17bb784bd78d61d0766e80e6ef5ded9938c..131d3a74d0bd453f48c3f31e5487db4e3c71c6e1 100644 (file)
@@ -5,7 +5,7 @@ child nodes of the GPMC controller with a name of "nor".
 
 All timing relevant properties as well as generic GPMC child properties are
 explained in a separate documents. Please refer to
-Documentation/devicetree/bindings/bus/ti-gpmc.txt
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
 
 Required properties:
 - bank-width:          Width of NOR flash in bytes. GPMC supports 8-bit and
@@ -28,7 +28,7 @@ Required properties:
 
 Optional properties:
 - gpmc,XXX             Additional GPMC timings and settings parameters. See
-                       Documentation/devicetree/bindings/bus/ti-gpmc.txt
+                       Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
 
 Optional properties for partition table parsing:
 - #address-cells: should be set to 1
index 5d8fa527c496a1e29674064805c66461b20f2eed..b6e8bfd024f461902efbc09e52502fb7089c3048 100644 (file)
@@ -5,7 +5,7 @@ the GPMC controller with a name of "onenand".
 
 All timing relevant properties as well as generic gpmc child properties are
 explained in a separate documents - please refer to
-Documentation/devicetree/bindings/bus/ti-gpmc.txt
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
 
 Required properties:
 
index d02acaff3c35e98476b91c26757f30355736cb3b..b289ef3c1b7e4a8ae798fc1b7f7db38880b3df23 100644 (file)
@@ -4,7 +4,12 @@ The GPMI nand controller provides an interface to control the
 NAND flash chips.
 
 Required properties:
-  - compatible : should be "fsl,<chip>-gpmi-nand"
+  - compatible : should be "fsl,<chip>-gpmi-nand", chip can be:
+    * imx23
+    * imx28
+    * imx6q
+    * imx6sx
+    * imx7d
   - reg : should contain registers location and length for gpmi and bch.
   - reg-names: Should contain the reg names "gpmi-nand" and "bch"
   - interrupts : BCH interrupt number.
@@ -13,6 +18,13 @@ Required properties:
     and GPMI DMA channel ID.
     Refer to dma.txt and fsl-mxs-dma.txt for details.
   - dma-names: Must be "rx-tx".
+  - clocks : clocks phandle and clock specifier corresponding to each clock
+    specified in clock-names.
+  - clock-names : The "gpmi_io" clock is always required. Which clocks are
+    exactly required depends on chip:
+    * imx23/imx28 : "gpmi_io"
+    * imx6q/sx : "gpmi_io", "gpmi_apb", "gpmi_bch", "gpmi_bch_apb", "per1_bch"
+    * imx7d : "gpmi_io", "gpmi_bch_apb"
 
 Optional properties:
   - nand-on-flash-bbt: boolean to enable on flash bbt option if not
diff --git a/Documentation/devicetree/bindings/mtd/microchip,mchp23k256.txt b/Documentation/devicetree/bindings/mtd/microchip,mchp23k256.txt
new file mode 100644 (file)
index 0000000..7328eb9
--- /dev/null
@@ -0,0 +1,18 @@
+* MTD SPI driver for Microchip 23K256 (and similar) serial SRAM
+
+Required properties:
+- #address-cells, #size-cells : Must be present if the device has sub-nodes
+  representing partitions.
+- compatible : Must be one of "microchip,mchp23k256" or "microchip,mchp23lcv1024"
+- reg : Chip-Select number
+- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at
+
+Example:
+
+       spi-sram@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "microchip,mchp23k256";
+               reg = <0>;
+               spi-max-frequency = <20000000>;
+       };
index 069c192ed5c2f1b629b91a0ad4b98b73fdfda5d1..dbf9e054c11c0f3a68ba2783a042ca25e12d6b78 100644 (file)
@@ -12,7 +12,8 @@ tree nodes.
 
 The first part of NFC is NAND Controller Interface (NFI) HW.
 Required NFI properties:
-- compatible:                  Should be "mediatek,mtxxxx-nfc".
+- compatible:                  Should be one of "mediatek,mt2701-nfc",
+                               "mediatek,mt2712-nfc".
 - reg:                         Base physical address and size of NFI.
 - interrupts:                  Interrupts of NFI.
 - clocks:                      NFI required clocks.
@@ -141,7 +142,7 @@ Example:
 ==============
 
 Required BCH properties:
-- compatible:  Should be "mediatek,mtxxxx-ecc".
+- compatible:  Should be one of "mediatek,mt2701-ecc", "mediatek,mt2712-ecc".
 - reg:         Base physical address and size of ECC.
 - interrupts:  Interrupts of ECC.
 - clocks:      ECC required clocks.
index b05601600083d91c17c649b8cc5603011628f2a3..133f3813719c26398b6aede5b2126e0df33df28a 100644 (file)
@@ -21,7 +21,7 @@ Optional NAND chip properties:
 
 - nand-ecc-mode : String, operation mode of the NAND ecc mode.
                  Supported values are: "none", "soft", "hw", "hw_syndrome",
-                 "hw_oob_first".
+                 "hw_oob_first", "on-die".
                  Deprecated values:
                  "soft_bch": use "soft" and nand-ecc-algo instead
 - nand-ecc-algo: string, algorithm of NAND ECC.
index 81a224da63be54a4b7a5b248f57a985423b36213..36f3b769a62675cccac1a23ec8287e08bd91653e 100644 (file)
@@ -1,29 +1,49 @@
-Representing flash partitions in devicetree
+Flash partitions in device tree
+===============================
 
-Partitions can be represented by sub-nodes of an mtd device. This can be used
+Flash devices can be partitioned into one or more functional ranges (e.g. "boot
+code", "nvram", "kernel").
+
+Different devices may be partitioned in a different ways. Some may use a fixed
+flash layout set at production time. Some may use on-flash table that describes
+the geometry and naming/purpose of each functional region. It is also possible
+to see these methods mixed.
+
+To assist system software in locating partitions, we allow describing which
+method is used for a given flash device. To describe the method there should be
+a subnode of the flash device that is named 'partitions'. It must have a
+'compatible' property, which is used to identify the method to use.
+
+We currently only document a binding for fixed layouts.
+
+
+Fixed Partitions
+================
+
+Partitions can be represented by sub-nodes of a flash device. This can be used
 on platforms which have strong conventions about which portions of a flash are
 used for what purposes, but which don't use an on-flash partition table such
 as RedBoot.
 
-The partition table should be a subnode of the mtd node and should be named
+The partition table should be a subnode of the flash node and should be named
 'partitions'. This node should have the following property:
 - compatible : (required) must be "fixed-partitions"
 Partitions are then defined in subnodes of the partitions node.
 
-For backwards compatibility partitions as direct subnodes of the mtd device are
+For backwards compatibility partitions as direct subnodes of the flash device are
 supported. This use is discouraged.
 NOTE: also for backwards compatibility, direct subnodes that have a compatible
 string are not considered partitions, as they may be used for other bindings.
 
 #address-cells & #size-cells must both be present in the partitions subnode of the
-mtd device. There are two valid values for both:
+flash device. There are two valid values for both:
 <1>: for partitions that require a single 32-bit cell to represent their
      size/address (aka the value is below 4 GiB)
 <2>: for partitions that require two 32-bit cells to represent their
      size/address (aka the value is 4 GiB or greater).
 
 Required properties:
-- reg : The partition's offset and size within the mtd bank.
+- reg : The partition's offset and size within the flash
 
 Optional properties:
 - label : The label / name for this partition.  If omitted, the label is taken
index ace4a64b3695930254570d742704eb2abc888c37..f7da3d73ca1b2e15d71160b9ec811f2aad274e93 100644 (file)
@@ -9,7 +9,7 @@ the GPMC controller with an "ethernet" name.
 
 All timing relevant properties as well as generic GPMC child properties are
 explained in a separate documents. Please refer to
-Documentation/devicetree/bindings/bus/ti-gpmc.txt
+Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
 
 For the properties relevant to the ethernet controller connected to the GPMC
 refer to the binding documentation of the device. For example, the documentation
@@ -43,7 +43,7 @@ Required properties:
 
 Optional properties:
 - gpmc,XXX             Additional GPMC timings and settings parameters. See
-                       Documentation/devicetree/bindings/bus/ti-gpmc.txt
+                       Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
 
 Example:
 
index 5376a4468cb68a3e2e7e7fd1b82ef2b6910ea985..5b07bebbf6f7d9855733a4df0bacd6c057c1e87b 100644 (file)
@@ -2,7 +2,9 @@ Amlogic Meson PWM Controller
 ============================
 
 Required properties:
-- compatible: Shall contain "amlogic,meson8b-pwm" or "amlogic,meson-gxbb-pwm".
+- compatible: Shall contain "amlogic,meson8b-pwm"
+                         or "amlogic,meson-gxbb-pwm"
+                         or "amlogic,meson-gxbb-ao-pwm"
 - #pwm-cells: Should be 3. See pwm.txt in this directory for a description of
   the cells format.
 
index 6dd040363e5ea918e1d743aef8bdef8bf6f3470f..3e6d55018d7ac40d8484e60e9566dedaff38e30d 100644 (file)
@@ -24,7 +24,7 @@ Example:
                compatible = "st,stm32-timers";
                reg = <0x40010000 0x400>;
                clocks = <&rcc 0 160>;
-               clock-names = "clk_int";
+               clock-names = "int";
 
                pwm {
                        compatible = "st,stm32-pwm";
index d6de643350223869dba6fdfa09ef668e17de784c..7e94b802395d677ec946c874ffaf58969d209a41 100644 (file)
@@ -8,6 +8,7 @@ Required Properties:
  - "renesas,pwm-r8a7791": for R-Car M2-W
  - "renesas,pwm-r8a7794": for R-Car E2
  - "renesas,pwm-r8a7795": for R-Car H3
+ - "renesas,pwm-r8a7796": for R-Car M3-W
 - reg: base address and length of the registers block for the PWM.
 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
   the cells format.
diff --git a/Documentation/devicetree/bindings/rtc/brcm,brcmstb-waketimer.txt b/Documentation/devicetree/bindings/rtc/brcm,brcmstb-waketimer.txt
new file mode 100644 (file)
index 0000000..1d990bc
--- /dev/null
@@ -0,0 +1,22 @@
+Broadcom STB wake-up Timer
+
+The Broadcom STB wake-up timer provides a 27Mhz resolution timer, with the
+ability to wake up the system from low-power suspend/standby modes.
+
+Required properties:
+- compatible     : should contain "brcm,brcmstb-waketimer"
+- reg            : the register start and length for the WKTMR block
+- interrupts     : The TIMER interrupt
+- interrupt-parent: The phandle to the Always-On (AON) Power Management (PM) L2
+                    interrupt controller node
+- clocks        : The phandle to the UPG fixed clock (27Mhz domain)
+
+Example:
+
+waketimer@f0411580 {
+       compatible = "brcm,brcmstb-waketimer";
+       reg = <0xf0411580 0x14>;
+       interrupts = <0x3>;
+       interrupt-parent = <&aon_pm_l2_intc>;
+       clocks = <&upg_fixed>;
+};
diff --git a/Documentation/devicetree/bindings/rtc/cortina,gemini.txt b/Documentation/devicetree/bindings/rtc/cortina,gemini.txt
deleted file mode 100644 (file)
index 4ce4e79..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-* Cortina Systems Gemini RTC
-
-Gemini SoC real-time clock.
-
-Required properties:
-- compatible : Should be "cortina,gemini-rtc"
-
-Examples:
-
-rtc@45000000 {
-       compatible = "cortina,gemini-rtc";
-       reg = <0x45000000 0x100>;
-       interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
-};
diff --git a/Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt b/Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt
new file mode 100644 (file)
index 0000000..e3938f5
--- /dev/null
@@ -0,0 +1,28 @@
+* Faraday Technology FTRTC010 Real Time Clock
+
+This RTC appears in for example the Storlink Gemini family of
+SoCs.
+
+Required properties:
+- compatible : Should be one of:
+  "faraday,ftrtc010"
+  "cortina,gemini-rtc", "faraday,ftrtc010"
+
+Optional properties:
+- clocks: when present should contain clock references to the
+  PCLK and EXTCLK clocks. Faraday calls the later CLK1HZ and
+  says the clock should be 1 Hz, but implementers actually seem
+  to choose different clocks here, like Cortina who chose
+  32768 Hz (a typical low-power clock).
+- clock-names: should name the clocks "PCLK" and "EXTCLK"
+  respectively.
+
+Examples:
+
+rtc@45000000 {
+       compatible = "cortina,gemini-rtc";
+       reg = <0x45000000 0x100>;
+       interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
+       clocks = <&foo 0>, <&foo 1>;
+       clock-names = "PCLK", "EXTCLK";
+};
index e2837b951237b90300af6679975bed765bffdff3..0a4c371a9b7a8ac46eb7db378da1ad1b117723d1 100644 (file)
@@ -1,17 +1,25 @@
 STM32 Real Time Clock
 
 Required properties:
-- compatible: "st,stm32-rtc".
+- compatible: can be either "st,stm32-rtc" or "st,stm32h7-rtc", depending on
+  the device is compatible with stm32(f4/f7) or stm32h7.
 - reg: address range of rtc register set.
-- clocks: reference to the clock entry ck_rtc.
+- clocks: can use up to two clocks, depending on part used:
+  - "rtc_ck": RTC clock source.
+    It is required on stm32(f4/f7) and stm32h7.
+  - "pclk": RTC APB interface clock.
+    It is not present on stm32(f4/f7).
+    It is required on stm32h7.
+- clock-names: must be "rtc_ck" and "pclk".
+    It is required only on stm32h7.
 - interrupt-parent: phandle for the interrupt controller.
 - interrupts: rtc alarm interrupt.
 - st,syscfg: phandle for pwrcfg, mandatory to disable/enable backup domain
   (RTC registers) write protection.
 
-Optional properties (to override default ck_rtc parent clock):
-- assigned-clocks: reference to the ck_rtc clock entry.
-- assigned-clock-parents: phandle of the new parent clock of ck_rtc.
+Optional properties (to override default rtc_ck parent clock):
+- assigned-clocks: reference to the rtc_ck clock entry.
+- assigned-clock-parents: phandle of the new parent clock of rtc_ck.
 
 Example:
 
@@ -25,3 +33,17 @@ Example:
                interrupts = <17 1>;
                st,syscfg = <&pwrcfg>;
        };
+
+       rtc: rtc@58004000 {
+               compatible = "st,stm32h7-rtc";
+               reg = <0x58004000 0x400>;
+               clocks = <&rcc RTCAPB_CK>, <&rcc RTC_CK>;
+               clock-names = "pclk", "rtc_ck";
+               assigned-clocks = <&rcc RTC_CK>;
+               assigned-clock-parents = <&rcc LSE_CK>;
+               interrupt-parent = <&exti>;
+               interrupts = <17 1>;
+               interrupt-names = "alarm";
+               st,syscfg = <&pwrcfg>;
+               status = "disabled";
+       };
diff --git a/Documentation/devicetree/bindings/watchdog/da9062-wdt.txt b/Documentation/devicetree/bindings/watchdog/da9062-wdt.txt
new file mode 100644 (file)
index 0000000..b935b52
--- /dev/null
@@ -0,0 +1,23 @@
+* Dialog Semiconductor DA9062/61 Watchdog Timer
+
+Required properties:
+
+- compatible: should be one of the following valid compatible string lines:
+       "dlg,da9061-watchdog", "dlg,da9062-watchdog"
+       "dlg,da9062-watchdog"
+
+Example: DA9062
+
+       pmic0: da9062@58 {
+               watchdog {
+                       compatible = "dlg,da9062-watchdog";
+               };
+       };
+
+Example: DA9061 using a fall-back compatible for the DA9062 watchdog driver
+
+       pmic0: da9061@58 {
+               watchdog {
+                       compatible = "dlg,da9061-watchdog", "dlg,da9062-watchdog";
+               };
+       };
index 08e16f684f2d7022ee28112f335a7210ab3db865..eb0914420c7cac06c6afcf2d072390c9a1301729 100644 (file)
@@ -10,6 +10,8 @@ Required Properties:
 Optional Properties:
 
 - interrupts   : The interrupt used for the watchdog timeout warning.
+- resets       : phandle pointing to the system reset controller with
+               line index for the watchdog.
 
 Example:
 
@@ -18,4 +20,5 @@ Example:
                reg = <0xffd02000 0x1000>;
                interrupts = <0 171 4>;
                clocks = <&per_base_clk>;
+               resets = <&rst WDT0_RESET>;
        };
index da24e31334177768a399b5bab1a4f5c3826103a5..9e306afbbd49e91b689f6e7fbf63a47d6167dfaf 100644 (file)
@@ -2,10 +2,11 @@ Renesas Watchdog Timer (WDT) Controller
 
 Required properties:
 - compatible : Should be "renesas,<soctype>-wdt", and
-              "renesas,rcar-gen3-wdt" as fallback.
+              "renesas,rcar-gen3-wdt" or "renesas,rza-wdt" as fallback.
               Examples with soctypes are:
                 - "renesas,r8a7795-wdt" (R-Car H3)
                 - "renesas,r8a7796-wdt" (R-Car M3-W)
+                - "renesas,r7s72100-wdt" (RZ/A1)
 
   When compatible with the generic version, nodes must list the SoC-specific
   version corresponding to the platform first, followed by the generic
@@ -17,6 +18,7 @@ Required properties:
 Optional properties:
 - timeout-sec : Contains the watchdog timeout in seconds
 - power-domains : the power domain the WDT belongs to
+- interrupts: Some WDTs have an interrupt when used in interval timer mode
 
 Examples:
 
diff --git a/Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.txt b/Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.txt
new file mode 100644 (file)
index 0000000..cc13b10
--- /dev/null
@@ -0,0 +1,19 @@
+STM32 Independent WatchDoG (IWDG)
+---------------------------------
+
+Required properties:
+- compatible: "st,stm32-iwdg"
+- reg: physical base address and length of the registers set for the device
+- clocks: must contain a single entry describing the clock input
+
+Optional Properties:
+- timeout-sec: Watchdog timeout value in seconds.
+
+Example:
+
+iwdg: watchdog@40003000 {
+       compatible = "st,stm32-iwdg";
+       reg = <0x40003000 0x400>;
+       clocks = <&clk_lsi>;
+       timeout-sec = <32>;
+};
diff --git a/Documentation/devicetree/bindings/watchdog/uniphier-wdt.txt b/Documentation/devicetree/bindings/watchdog/uniphier-wdt.txt
new file mode 100644 (file)
index 0000000..bf63375
--- /dev/null
@@ -0,0 +1,20 @@
+UniPhier watchdog timer controller
+
+This UniPhier watchdog timer controller must be under sysctrl node.
+
+Required properties:
+- compatible: should be "socionext,uniphier-wdt"
+
+Example:
+
+       sysctrl@61840000 {
+               compatible = "socionext,uniphier-ld11-sysctrl",
+                            "simple-mfd", "syscon";
+               reg = <0x61840000 0x4000>;
+
+               watchdog {
+                       compatible = "socionext,uniphier-wdt";
+               }
+
+               other nodes ...
+       };
index 472e7a664d13ce6ae6d09cc36ccdde60089de99a..ab82250c7727309d2aace9284c26316c770c1fb5 100644 (file)
@@ -106,9 +106,6 @@ Kernel utility functions
 .. kernel-doc:: kernel/sys.c
    :export:
 
-.. kernel-doc:: kernel/rcu/srcu.c
-   :export:
-
 .. kernel-doc:: kernel/rcu/tree.c
    :export:
 
index 0bf86a445d0135e11961a83ac58e5d72be70787d..7582c079d747958a08f02f67bbeb82774fdbc30f 100644 (file)
@@ -41,5 +41,8 @@ i2c_adapter devices which don't support those I2C operations.
 .. kernel-doc:: drivers/i2c/i2c-boardinfo.c
    :functions: i2c_register_board_info
 
-.. kernel-doc:: drivers/i2c/i2c-core.c
+.. kernel-doc:: drivers/i2c/i2c-core-base.c
+   :export:
+
+.. kernel-doc:: drivers/i2c/i2c-core-smbus.c
    :export:
index 415484f3d59a248f587a9d92a315fc373c8b15f5..192d8cbcc5f998f47c76bfca653b61201f7fe160 100644 (file)
@@ -134,6 +134,22 @@ use the boot option:
        fail_futex=
        mmc_core.fail_request=<interval>,<probability>,<space>,<times>
 
+o proc entries
+
+- /proc/self/task/<current-tid>/fail-nth:
+
+       Write to this file of integer N makes N-th call in the current task fail
+       (N is 0-based). Read from this file returns a single char 'Y' or 'N'
+       that says if the fault setup with a previous write to this file was
+       injected or not, and disables the fault if it wasn't yet injected.
+       Note that this file enables all types of faults (slab, futex, etc).
+       This setting takes precedence over all other generic debugfs settings
+       like probability, interval, times, etc. But per-capability settings
+       (e.g. fail_futex/ignore-private) take precedence over it.
+
+       This feature is intended for systematic testing of faults in a single
+       system call. See an example below.
+
 How to add new fault injection capability
 -----------------------------------------
 
@@ -278,3 +294,65 @@ allocation failure.
        # env FAILCMD_TYPE=fail_page_alloc \
                ./tools/testing/fault-injection/failcmd.sh --times=100 \
                 -- make -C tools/testing/selftests/ run_tests
+
+Systematic faults using fail-nth
+---------------------------------
+
+The following code systematically faults 0-th, 1-st, 2-nd and so on
+capabilities in the socketpair() system call.
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <sys/syscall.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+
+int main()
+{
+       int i, err, res, fail_nth, fds[2];
+       char buf[128];
+
+       system("echo N > /sys/kernel/debug/failslab/ignore-gfp-wait");
+       sprintf(buf, "/proc/self/task/%ld/fail-nth", syscall(SYS_gettid));
+       fail_nth = open(buf, O_RDWR);
+       for (i = 0;; i++) {
+               sprintf(buf, "%d", i);
+               write(fail_nth, buf, strlen(buf));
+               res = socketpair(AF_LOCAL, SOCK_STREAM, 0, fds);
+               err = errno;
+               read(fail_nth, buf, 1);
+               if (res == 0) {
+                       close(fds[0]);
+                       close(fds[1]);
+               }
+               printf("%d-th fault %c: res=%d/%d\n", i, buf[0], res, err);
+               if (buf[0] != 'Y')
+                       break;
+       }
+       return 0;
+}
+
+An example output:
+
+0-th fault Y: res=-1/23
+1-th fault Y: res=-1/23
+2-th fault Y: res=-1/23
+3-th fault Y: res=-1/12
+4-th fault Y: res=-1/12
+5-th fault Y: res=-1/23
+6-th fault Y: res=-1/23
+7-th fault Y: res=-1/23
+8-th fault Y: res=-1/12
+9-th fault Y: res=-1/12
+10-th fault Y: res=-1/12
+11-th fault Y: res=-1/12
+12-th fault Y: res=-1/12
+13-th fault Y: res=-1/12
+14-th fault Y: res=-1/12
+15-th fault Y: res=-1/12
+16-th fault N: res=0/12
index 8444dc3d57e87555adfbc6f4d8e4b5e6c0415516..f10dd590f69fe3e9384ebf0b9d9ef87cd91f88e7 100644 (file)
@@ -316,7 +316,7 @@ For version 5, the format of the message is:
         struct autofs_v5_packet {
                 int proto_version;                /* Protocol version */
                 int type;                        /* Type of packet */
-                autofs_wqt_t wait_queue_entry_token;
+                autofs_wqt_t wait_queue_token;
                 __u32 dev;
                 __u64 ino;
                 __u32 uid;
@@ -341,12 +341,12 @@ The pipe will be set to "packet mode" (equivalent to passing
 `O_DIRECT`) to _pipe2(2)_ so that a read from the pipe will return at
 most one packet, and any unread portion of a packet will be discarded.
 
-The `wait_queue_entry_token` is a unique number which can identify a
+The `wait_queue_token` is a unique number which can identify a
 particular request to be acknowledged.  When a message is sent over
 the pipe the affected dentry is marked as either "active" or
 "expiring" and other accesses to it block until the message is
 acknowledged using one of the ioctls below and the relevant
-`wait_queue_entry_token`.
+`wait_queue_token`.
 
 Communicating with autofs: root directory ioctls
 ------------------------------------------------
@@ -358,7 +358,7 @@ capability, or must be the automount daemon.
 The available ioctl commands are:
 
 - **AUTOFS_IOC_READY**: a notification has been handled.  The argument
-    to the ioctl command is the "wait_queue_entry_token" number
+    to the ioctl command is the "wait_queue_token" number
     corresponding to the notification being acknowledged.
 - **AUTOFS_IOC_FAIL**: similar to above, but indicates failure with
     the error code `ENOENT`.
@@ -382,14 +382,14 @@ The available ioctl commands are:
         struct autofs_packet_expire_multi {
                 int proto_version;              /* Protocol version */
                 int type;                       /* Type of packet */
-                autofs_wqt_t wait_queue_entry_token;
+                autofs_wqt_t wait_queue_token;
                 int len;
                 char name[NAME_MAX+1];
         };
 
      is required.  This is filled in with the name of something
      that can be unmounted or removed.  If nothing can be expired,
-     `errno` is set to `EAGAIN`.  Even though a `wait_queue_entry_token`
+     `errno` is set to `EAGAIN`.  Even though a `wait_queue_token`
      is present in the structure, no "wait queue" is established
      and no acknowledgment is needed.
 - **AUTOFS_IOC_EXPIRE_MULTI**:  This is similar to
index 4f6531a4701bef5529a5ca05c29a3556d4c696e9..273ccb26885e9c6ff6d1da17c655d6316cbefef8 100644 (file)
@@ -155,11 +155,15 @@ noinline_data          Disable the inline data feature, inline data feature is
                        enabled by default.
 data_flush             Enable data flushing before checkpoint in order to
                        persist data of regular and symlink.
+fault_injection=%d     Enable fault injection in all supported types with
+                       specified injection rate.
 mode=%s                Control block allocation mode which supports "adaptive"
                        and "lfs". In "lfs" mode, there should be no random
                        writes towards main area.
 io_bits=%u             Set the bit size of write IO requests. It should be set
                        with "mode=lfs".
+usrquota               Enable plain user disk quota accounting.
+grpquota               Enable plain group disk quota accounting.
 
 ================================================================================
 DEBUGFS ENTRIES
index c9e884b52698020f88fdab12588687c10f16004e..36f528a7fdd64d18c7ee7b3a50849b45bc046ef3 100644 (file)
@@ -201,6 +201,40 @@ rightmost one and going left.  In the above example lower1 will be the
 top, lower2 the middle and lower3 the bottom layer.
 
 
+Sharing and copying layers
+--------------------------
+
+Lower layers may be shared among several overlay mounts and that is indeed
+a very common practice.  An overlay mount may use the same lower layer
+path as another overlay mount and it may use a lower layer path that is
+beneath or above the path of another overlay lower layer path.
+
+Using an upper layer path and/or a workdir path that are already used by
+another overlay mount is not allowed and will fail with EBUSY.  Using
+partially overlapping paths is not allowed but will not fail with EBUSY.
+
+Mounting an overlay using an upper layer path, where the upper layer path
+was previously used by another mounted overlay in combination with a
+different lower layer path, is allowed, unless the "inodes index" feature
+is enabled.
+
+With the "inodes index" feature, on the first time mount, an NFS file
+handle of the lower layer root directory, along with the UUID of the lower
+filesystem, are encoded and stored in the "trusted.overlay.origin" extended
+attribute on the upper layer root directory.  On subsequent mount attempts,
+the lower root directory file handle and lower filesystem UUID are compared
+to the stored origin in upper root directory.  On failure to verify the
+lower root origin, mount will fail with ESTALE.  An overlayfs mount with
+"inodes index" enabled will fail with EOPNOTSUPP if the lower filesystem
+does not support NFS export, lower filesystem does not have a valid UUID or
+if the upper filesystem does not support extended attributes.
+
+It is quite a common practice to copy overlay layers to a different
+directory tree on the same or different underlying filesystem, and even
+to a different machine.  With the "inodes index" feature, trying to mount
+the copied layers will fail the verification of the lower root file handle.
+
+
 Non-standard behavior
 ---------------------
 
index 4cddbce85ac9ad175743f5f4384a32937bf87888..adba21b5ada7b53fb9d0811039afba37141ed099 100644 (file)
@@ -1786,12 +1786,16 @@ pair provide additional information particular to the objects they represent.
        pos:    0
        flags:  02
        mnt_id: 9
-       tfd:        5 events:       1d data: ffffffffffffffff
+       tfd:        5 events:       1d data: ffffffffffffffff pos:0 ino:61af sdev:7
 
        where 'tfd' is a target file descriptor number in decimal form,
        'events' is events mask being watched and the 'data' is data
        associated with a target [see epoll(7) for more details].
 
+       The 'pos' is current offset of the target file in decimal form
+       [see lseek(2)], 'ino' and 'sdev' are inode and device numbers
+       where target file resides, all in hex format.
+
        Fsnotify files
        ~~~~~~~~~~~~~~
        For inotify files the format is the following
index 820d9040de1640865e6246f6dba6f758abb8e088..0500193434cb2957eec34124d621ccc176eac555 100644 (file)
@@ -34,6 +34,8 @@ Supported adapters:
   * Intel Broxton (SOC)
   * Intel Lewisburg (PCH)
   * Intel Gemini Lake (SOC)
+  * Intel Cannon Lake-H (PCH)
+  * Intel Cannon Lake-LP (PCH)
    Datasheets: Publicly available at the Intel website
 
 On Intel Patsburg and later chipsets, both the normal host SMBus controller
index bcf919d8625ceb058cccbaa9e4e82607e7ab1760..5ff19447ac44202f23d67f903b933c6f65381f95 100644 (file)
@@ -191,7 +191,7 @@ checking on future transactions.)
 4* Other ioctl() calls are converted to in-kernel function calls by
 i2c-dev. Examples include I2C_FUNCS, which queries the I2C adapter
 functionality using i2c.h:i2c_get_functionality(), and I2C_SMBUS, which
-performs an SMBus transaction using i2c-core.c:i2c_smbus_xfer().
+performs an SMBus transaction using i2c-core-smbus.c:i2c_smbus_xfer().
 
 The i2c-dev driver is responsible for checking all the parameters that
 come from user-space for validity. After this point, there is no
@@ -200,13 +200,13 @@ and calls that would have been performed by kernel I2C chip drivers
 directly. This means that I2C bus drivers don't need to implement
 anything special to support access from user-space.
 
-5* These i2c-core.c/i2c.h functions are wrappers to the actual
-implementation of your I2C bus driver. Each adapter must declare
-callback functions implementing these standard calls.
-i2c.h:i2c_get_functionality() calls i2c_adapter.algo->functionality(),
-while i2c-core.c:i2c_smbus_xfer() calls either
+5* These i2c.h functions are wrappers to the actual implementation of
+your I2C bus driver. Each adapter must declare callback functions
+implementing these standard calls. i2c.h:i2c_get_functionality() calls
+i2c_adapter.algo->functionality(), while
+i2c-core-smbus.c:i2c_smbus_xfer() calls either
 adapter.algo->smbus_xfer() if it is implemented, or if not,
-i2c-core.c:i2c_smbus_xfer_emulated() which in turn calls
+i2c-core-smbus.c:i2c_smbus_xfer_emulated() which in turn calls
 i2c_adapter.algo->master_xfer().
 
 After your I2C bus driver has processed these requests, execution runs
index 7a3e71c2bd008c864f34d681a4e3ad68b9eaaaef..9888f5cbf6d5b36ee9044d4f038fec91b8353989 100644 (file)
@@ -6,7 +6,6 @@ Contents:
 
 .. toctree::
    :maxdepth: 2
-   :numbered:
 
    input_uapi
    input_kapi
index 615434d81108ed28fc4f077a0e1b35cd609b2610..51814450a7f8031d6bb13dcc32f0d137fe1f1897 100644 (file)
@@ -112,8 +112,8 @@ There are two possible methods of using Kdump.
 2) Or use the system kernel binary itself as dump-capture kernel and there is
    no need to build a separate dump-capture kernel. This is possible
    only with the architectures which support a relocatable kernel. As
-   of today, i386, x86_64, ppc64, ia64 and arm architectures support relocatable
-   kernel.
+   of today, i386, x86_64, ppc64, ia64, arm and arm64 architectures support
+   relocatable kernel.
 
 Building a relocatable kernel is advantageous from the point of view that
 one does not have to build a second kernel for capturing the dump. But
@@ -339,7 +339,7 @@ For arm:
 For arm64:
        - Use vmlinux or Image
 
-If you are using a uncompressed vmlinux image then use following command
+If you are using an uncompressed vmlinux image then use following command
 to load dump-capture kernel.
 
    kexec -p <dump-capture-kernel-vmlinux-image> \
@@ -361,6 +361,12 @@ to load dump-capture kernel.
    --dtb=<dtb-for-dump-capture-kernel> \
    --append="root=<root-dev> <arch-specific-options>"
 
+If you are using an uncompressed Image, then use following command
+to load dump-capture kernel.
+
+   kexec -p <dump-capture-kernel-Image> \
+   --initrd=<initrd-for-dump-capture-kernel> \
+   --append="root=<root-dev> <arch-specific-options>"
 
 Please note, that --args-linux does not need to be specified for ia64.
 It is planned to make this a no-op on that architecture, but for now
index c239a0cf4b1a4e3d2820a477cafab4d384fd26c1..c4ddfcd5ee3265788f37061e6b739b99b707df16 100644 (file)
@@ -1876,8 +1876,8 @@ There are some more advanced barrier functions:
      This makes sure that the death mark on the object is perceived to be set
      *before* the reference counter is decremented.
 
-     See Documentation/atomic_ops.txt for more information.  See the "Atomic
-     operations" subsection for information on where to use these.
+     See Documentation/core-api/atomic_ops.rst for more information.  See the
+     "Atomic operations" subsection for information on where to use these.
 
 
  (*) lockless_dereference();
@@ -2584,7 +2584,7 @@ situations because on some CPUs the atomic instructions used imply full memory
 barriers, and so barrier instructions are superfluous in conjunction with them,
 and in such cases the special barrier primitives will be no-ops.
 
-See Documentation/atomic_ops.txt for more information.
+See Documentation/core-api/atomic_ops.rst for more information.
 
 
 ACCESSING DEVICES
index 670f3ded0802d83d60338ff91f624499d0ca2d59..5c628e19d6cd4a4cb87d9f1657161b0a3b2f32be 100644 (file)
@@ -282,20 +282,26 @@ offlined it is possible to change the individual block's state by writing to the
 % echo online > /sys/devices/system/memory/memoryXXX/state
 
 This onlining will not change the ZONE type of the target memory block,
-If the memory block is in ZONE_NORMAL, you can change it to ZONE_MOVABLE:
+If the memory block doesn't belong to any zone an appropriate kernel zone
+(usually ZONE_NORMAL) will be used unless movable_node kernel command line
+option is specified when ZONE_MOVABLE will be used.
+
+You can explicitly request to associate it with ZONE_MOVABLE by
 
 % echo online_movable > /sys/devices/system/memory/memoryXXX/state
 (NOTE: current limit: this memory block must be adjacent to ZONE_MOVABLE)
 
-And if the memory block is in ZONE_MOVABLE, you can change it to ZONE_NORMAL:
+Or you can explicitly request a kernel zone (usually ZONE_NORMAL) by:
 
 % echo online_kernel > /sys/devices/system/memory/memoryXXX/state
 (NOTE: current limit: this memory block must be adjacent to ZONE_NORMAL)
 
+An explicit zone onlining can fail (e.g. when the range is already within
+and existing and incompatible zone already).
+
 After this, memory block XXX's state will be 'online' and the amount of
 available memory will be increased.
 
-Currently, newly added memory is added as ZONE_NORMAL (for powerpc, ZONE_DMA).
 This may be changed in future.
 
 
index 196ba17cc344f61a44ff84c85c89ea1db2d73b80..1be0b6f9e0cb223a6e781d119b236896f186499d 100644 (file)
@@ -44,8 +44,7 @@ timeval of SO_TIMESTAMP (ms).
 Supports multiple types of timestamp requests. As a result, this
 socket option takes a bitmap of flags, not a boolean. In
 
-  err = setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING, (void *) val,
-                   sizeof(val));
+  err = setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING, &val, sizeof(val));
 
 val is an integer with any of the following bits set. Setting other
 bit returns EINVAL and does not change the current state.
@@ -249,8 +248,7 @@ setsockopt to receive timestamps:
 
   __u32 val = SOF_TIMESTAMPING_SOFTWARE |
              SOF_TIMESTAMPING_OPT_ID /* or any other flag */;
-  err = setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING, (void *) val,
-                   sizeof(val));
+  err = setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING, &val, sizeof(val));
 
 
 1.4 Bytestream Timestamps
index 789b27c6ec996735932131315ee7a5b9aebd0c7d..8fbf0aa3ba2d52eb17b45ed8148eb504101bb711 100644 (file)
@@ -1,4 +1,6 @@
+======================================
 Pulse Width Modulation (PWM) interface
+======================================
 
 This provides an overview about the Linux PWM interface
 
@@ -16,7 +18,7 @@ Users of the legacy PWM API use unique IDs to refer to PWM devices.
 
 Instead of referring to a PWM device via its unique ID, board setup code
 should instead register a static mapping that can be used to match PWM
-consumers to providers, as given in the following example:
+consumers to providers, as given in the following example::
 
        static struct pwm_lookup board_pwm_lookup[] = {
                PWM_LOOKUP("tegra-pwm", 0, "pwm-backlight", NULL,
@@ -40,9 +42,9 @@ New users should use the pwm_get() function and pass to it the consumer
 device or a consumer name. pwm_put() is used to free the PWM device. Managed
 variants of these functions, devm_pwm_get() and devm_pwm_put(), also exist.
 
-After being requested, a PWM has to be configured using:
+After being requested, a PWM has to be configured using::
 
-int pwm_apply_state(struct pwm_device *pwm, struct pwm_state *state);
+       int pwm_apply_state(struct pwm_device *pwm, struct pwm_state *state);
 
 This API controls both the PWM period/duty_cycle config and the
 enable/disable state.
@@ -72,11 +74,14 @@ interface is provided to use the PWMs from userspace. It is exposed at
 pwmchipN, where N is the base of the PWM chip. Inside the directory you
 will find:
 
-npwm - The number of PWM channels this chip supports (read-only).
+  npwm
+    The number of PWM channels this chip supports (read-only).
 
-export - Exports a PWM channel for use with sysfs (write-only).
+  export
+    Exports a PWM channel for use with sysfs (write-only).
 
-unexport - Unexports a PWM channel from sysfs (write-only).
+  unexport
+   Unexports a PWM channel from sysfs (write-only).
 
 The PWM channels are numbered using a per-chip index from 0 to npwm-1.
 
@@ -84,21 +89,26 @@ When a PWM channel is exported a pwmX directory will be created in the
 pwmchipN directory it is associated with, where X is the number of the
 channel that was exported. The following properties will then be available:
 
-period - The total period of the PWM signal (read/write).
-       Value is in nanoseconds and is the sum of the active and inactive
-       time of the PWM.
+  period
+    The total period of the PWM signal (read/write).
+    Value is in nanoseconds and is the sum of the active and inactive
+    time of the PWM.
 
-duty_cycle - The active time of the PWM signal (read/write).
-       Value is in nanoseconds and must be less than the period.
+  duty_cycle
+    The active time of the PWM signal (read/write).
+    Value is in nanoseconds and must be less than the period.
 
-polarity - Changes the polarity of the PWM signal (read/write).
-       Writes to this property only work if the PWM chip supports changing
-       the polarity. The polarity can only be changed if the PWM is not
-       enabled. Value is the string "normal" or "inversed".
+  polarity
+    Changes the polarity of the PWM signal (read/write).
+    Writes to this property only work if the PWM chip supports changing
+    the polarity. The polarity can only be changed if the PWM is not
+    enabled. Value is the string "normal" or "inversed".
 
-enable - Enable/disable the PWM signal (read/write).
-       0 - disabled
-       1 - enabled
+  enable
+    Enable/disable the PWM signal (read/write).
+
+       - 0 - disabled
+       - 1 - enabled
 
 Implementing a PWM driver
 -------------------------
index ddc366026e00f60b8491fe50587e35836656835b..c0c977445fb9ca732e45acf1ddbf787f9398315d 100644 (file)
@@ -1,6 +1,6 @@
-
-       Real Time Clock (RTC) Drivers for Linux
-       =======================================
+=======================================
+Real Time Clock (RTC) Drivers for Linux
+=======================================
 
 When Linux developers talk about a "Real Time Clock", they usually mean
 something that tracks wall clock time and is battery backed so that it
@@ -32,8 +32,8 @@ only issue an alarm up to 24 hours in the future, other hardware may
 be able to schedule one any time in the upcoming century.
 
 
-       Old PC/AT-Compatible driver:  /dev/rtc
-       --------------------------------------
+Old PC/AT-Compatible driver:  /dev/rtc
+--------------------------------------
 
 All PCs (even Alpha machines) have a Real Time Clock built into them.
 Usually they are built into the chipset of the computer, but some may
@@ -105,8 +105,8 @@ that will be using this driver.  See the code at the end of this document.
 (The original /dev/rtc driver was written by Paul Gortmaker.)
 
 
-       New portable "RTC Class" drivers:  /dev/rtcN
-       --------------------------------------------
+New portable "RTC Class" drivers:  /dev/rtcN
+--------------------------------------------
 
 Because Linux supports many non-ACPI and non-PC platforms, some of which
 have more than one RTC style clock, it needed a more portable solution
@@ -136,35 +136,39 @@ a high functionality RTC is integrated into the SOC.  That system might read
 the system clock from the discrete RTC, but use the integrated one for all
 other tasks, because of its greater functionality.
 
-SYSFS INTERFACE
+SYSFS interface
 ---------------
 
 The sysfs interface under /sys/class/rtc/rtcN provides access to various
 rtc attributes without requiring the use of ioctls. All dates and times
 are in the RTC's timezone, rather than in system time.
 
-date:                   RTC-provided date
-hctosys:        1 if the RTC provided the system time at boot via the
+================ ==============================================================
+date            RTC-provided date
+hctosys         1 if the RTC provided the system time at boot via the
                 CONFIG_RTC_HCTOSYS kernel option, 0 otherwise
-max_user_freq:  The maximum interrupt rate an unprivileged user may request
+max_user_freq   The maximum interrupt rate an unprivileged user may request
                 from this RTC.
-name:           The name of the RTC corresponding to this sysfs directory
-since_epoch:    The number of seconds since the epoch according to the RTC
-time:           RTC-provided time
-wakealarm:      The time at which the clock will generate a system wakeup
+name            The name of the RTC corresponding to this sysfs directory
+since_epoch     The number of seconds since the epoch according to the RTC
+time            RTC-provided time
+wakealarm       The time at which the clock will generate a system wakeup
                 event. This is a one shot wakeup event, so must be reset
-                after wake if a daily wakeup is required. Format is seconds since
-                the epoch by default, or if there's a leading +, seconds in the
-                future, or if there is a leading +=, seconds ahead of the current
-                alarm.
-offset:                 The amount which the rtc clock has been adjusted in firmware.
+                after wake if a daily wakeup is required. Format is seconds
+                since the epoch by default, or if there's a leading +, seconds
+                in the future, or if there is a leading +=, seconds ahead of
+                the current alarm.
+offset          The amount which the rtc clock has been adjusted in firmware.
                 Visible only if the driver supports clock offset adjustment.
                 The unit is parts per billion, i.e. The number of clock ticks
                 which are added to or removed from the rtc's base clock per
                 billion ticks. A positive value makes a day pass more slowly,
                 longer, and a negative value makes a day pass more quickly.
+*/nvmem                 The non volatile storage exported as a raw file, as described
+                in Documentation/nvmem/nvmem.txt
+================ ==============================================================
 
-IOCTL INTERFACE
+IOCTL interface
 ---------------
 
 The ioctl() calls supported by /dev/rtc are also supported by the RTC class
index b4ad97f10b8e6963878f64ff4828ca7ea56a4316..48244c42ff5214176cf4dfc071f803e2aa8cd71f 100644 (file)
@@ -240,6 +240,26 @@ fragmentation index is <= extfrag_threshold. The default value is 500.
 
 ==============================================================
 
+highmem_is_dirtyable
+
+Available only for systems with CONFIG_HIGHMEM enabled (32b systems).
+
+This parameter controls whether the high memory is considered for dirty
+writers throttling.  This is not the case by default which means that
+only the amount of memory directly visible/usable by the kernel can
+be dirtied. As a result, on systems with a large amount of memory and
+lowmem basically depleted writers might be throttled too early and
+streaming writes can get very slow.
+
+Changing the value to non zero would allow more memory to be dirtied
+and thus allow writers to write more data which can be flushed to the
+storage more effectively. Note this also comes with a risk of pre-mature
+OOM killer because some writers (e.g. direct block device writes) can
+only use the low memory and they can fill it up with dirty data without
+any throttling.
+
+==============================================================
+
 hugepages_treat_as_movable
 
 This parameter controls whether we can allocate hugepages from ZONE_MOVABLE
index fff8ff6d489376bc7e25d52539d69ba9d887c316..d4601df6e72e7d39090b27541a9a29e390ef95a7 100644 (file)
@@ -5,10 +5,11 @@ Copyright 2008 Red Hat Inc.
    Author:   Steven Rostedt <srostedt@redhat.com>
   License:   The GNU Free Documentation License, Version 1.2
                (dual licensed under the GPL v2)
-Reviewers:   Elias Oltmanns, Randy Dunlap, Andrew Morton,
-            John Kacur, and David Teigland.
+Original Reviewers:   Elias Oltmanns, Randy Dunlap, Andrew Morton,
+                     John Kacur, and David Teigland.
 Written for: 2.6.28-rc2
 Updated for: 3.10
+Updated for: 4.13 - Copyright 2017 VMware Inc. Steven Rostedt
 
 Introduction
 ------------
@@ -26,9 +27,11 @@ a task is woken to the task is actually scheduled in.
 
 One of the most common uses of ftrace is the event tracing.
 Through out the kernel is hundreds of static event points that
-can be enabled via the debugfs file system to see what is
+can be enabled via the tracefs file system to see what is
 going on in certain parts of the kernel.
 
+See events.txt for more information.
+
 
 Implementation Details
 ----------------------
@@ -39,34 +42,47 @@ See ftrace-design.txt for details for arch porters and such.
 The File System
 ---------------
 
-Ftrace uses the debugfs file system to hold the control files as
+Ftrace uses the tracefs file system to hold the control files as
 well as the files to display output.
 
-When debugfs is configured into the kernel (which selecting any ftrace
-option will do) the directory /sys/kernel/debug will be created. To mount
+When tracefs is configured into the kernel (which selecting any ftrace
+option will do) the directory /sys/kernel/tracing will be created. To mount
 this directory, you can add to your /etc/fstab file:
 
debugfs       /sys/kernel/debug          debugfs defaults        0       0
tracefs       /sys/kernel/tracing       tracefs defaults        0       0
 
 Or you can mount it at run time with:
 
- mount -t debugfs nodev /sys/kernel/debug
+ mount -t tracefs nodev /sys/kernel/tracing
 
 For quicker access to that directory you may want to make a soft link to
 it:
 
- ln -s /sys/kernel/debug /debug
+ ln -s /sys/kernel/tracing /tracing
+
+     *** NOTICE ***
+
+Before 4.1, all ftrace tracing control files were within the debugfs
+file system, which is typically located at /sys/kernel/debug/tracing.
+For backward compatibility, when mounting the debugfs file system,
+the tracefs file system will be automatically mounted at:
+
+ /sys/kernel/debug/tracing
 
-Any selected ftrace option will also create a directory called tracing
-within the debugfs. The rest of the document will assume that you are in
-the ftrace directory (cd /sys/kernel/debug/tracing) and will only concentrate
-on the files within that directory and not distract from the content with
-the extended "/sys/kernel/debug/tracing" path name.
+All files located in the tracefs file system will be located in that
+debugfs file system directory as well.
+
+     *** NOTICE ***
+
+Any selected ftrace option will also create the tracefs file system.
+The rest of the document will assume that you are in the ftrace directory
+(cd /sys/kernel/tracing) and will only concentrate on the files within that
+directory and not distract from the content with the extended
+"/sys/kernel/tracing" path name.
 
 That's it! (assuming that you have ftrace configured into your kernel)
 
-After mounting debugfs, you can see a directory called
-"tracing".  This directory contains the control and output files
+After mounting tracefs you will have access to the control and output files
 of ftrace. Here is a list of some of the key files:
 
 
@@ -92,10 +108,20 @@ of ftrace. Here is a list of some of the key files:
        writing to the ring buffer, the tracing overhead may
        still be occurring.
 
+       The kernel function tracing_off() can be used within the
+       kernel to disable writing to the ring buffer, which will
+       set this file to "0". User space can re-enable tracing by
+       echoing "1" into the file.
+
+       Note, the function and event trigger "traceoff" will also
+       set this file to zero and stop tracing. Which can also
+       be re-enabled by user space using this file.
+
   trace:
 
        This file holds the output of the trace in a human
-       readable format (described below).
+       readable format (described below). Note, tracing is temporarily
+       disabled while this file is being read (opened).
 
   trace_pipe:
 
@@ -109,7 +135,8 @@ of ftrace. Here is a list of some of the key files:
        will not be read again with a sequential read. The
        "trace" file is static, and if the tracer is not
        adding more data, it will display the same
-       information every time it is read.
+       information every time it is read. This file will not
+       disable tracing while being read.
 
   trace_options:
 
@@ -128,12 +155,14 @@ of ftrace. Here is a list of some of the key files:
   tracing_max_latency:
 
        Some of the tracers record the max latency.
-       For example, the time interrupts are disabled.
-       This time is saved in this file. The max trace
-       will also be stored, and displayed by "trace".
-       A new max trace will only be recorded if the
-       latency is greater than the value in this
-       file. (in microseconds)
+       For example, the maximum time that interrupts are disabled.
+       The maximum time is saved in this file. The max trace will also be
+       stored, and displayed by "trace". A new max trace will only be
+       recorded if the latency is greater than the value in this file
+       (in microseconds).
+
+       By echoing in a time into this file, no latency will be recorded
+       unless it is greater than the time in this file.
 
   tracing_thresh:
 
@@ -152,32 +181,34 @@ of ftrace. Here is a list of some of the key files:
        that the kernel uses for allocation, usually 4 KB in size).
        If the last page allocated has room for more bytes
        than requested, the rest of the page will be used,
-       making the actual allocation bigger than requested.
+       making the actual allocation bigger than requested or shown.
        ( Note, the size may not be a multiple of the page size
          due to buffer management meta-data. )
 
+       Buffer sizes for individual CPUs may vary
+       (see "per_cpu/cpu0/buffer_size_kb" below), and if they do
+       this file will show "X".
+
   buffer_total_size_kb:
 
        This displays the total combined size of all the trace buffers.
 
   free_buffer:
 
-       If a process is performing the tracing, and the ring buffer
-       should be shrunk "freed" when the process is finished, even
-       if it were to be killed by a signal, this file can be used
-       for that purpose. On close of this file, the ring buffer will
-       be resized to its minimum size. Having a process that is tracing
-       also open this file, when the process exits its file descriptor
-       for this file will be closed, and in doing so, the ring buffer
-       will be "freed".
+       If a process is performing tracing, and the ring buffer should be
+       shrunk "freed" when the process is finished, even if it were to be
+       killed by a signal, this file can be used for that purpose. On close
+       of this file, the ring buffer will be resized to its minimum size.
+       Having a process that is tracing also open this file, when the process
+       exits its file descriptor for this file will be closed, and in doing so,
+       the ring buffer will be "freed".
 
        It may also stop tracing if disable_on_free option is set.
 
   tracing_cpumask:
 
-       This is a mask that lets the user only trace
-       on specified CPUs. The format is a hex string
-       representing the CPUs.
+       This is a mask that lets the user only trace on specified CPUs.
+       The format is a hex string representing the CPUs.
 
   set_ftrace_filte