Merge ~asmaam/ubuntu/+source/linux-bluefield:master-next into ~canonical-kernel/ubuntu/+source/linux-bluefield/+git/focal:master-next

Proposed by Asmaa Mnebhi
Status: Needs review
Proposed branch: ~asmaam/ubuntu/+source/linux-bluefield:master-next
Merge into: ~canonical-kernel/ubuntu/+source/linux-bluefield/+git/focal:master-next
Diff against target: 489299 lines (+227240/-19062) (has conflicts)
3476 files modified
Documentation/admin-guide/device-mapper/dm-integrity.rst (+6/-0)
Documentation/admin-guide/kdump/vmcoreinfo.rst (+11/-0)
Documentation/admin-guide/kernel-parameters.txt (+20/-0)
Documentation/arm/memory.rst (+6/-1)
Documentation/asm-annotations.rst (+216/-0)
Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml (+78/-0)
Documentation/devicetree/bindings/mfd/ahc1ec0.yaml (+69/-0)
Documentation/devicetree/bindings/net/btusb.txt (+1/-1)
Documentation/devicetree/bindings/net/can/tcan4x5x.txt (+1/-1)
Documentation/devicetree/bindings/net/ethernet-controller.yaml (+6/-1)
Documentation/devicetree/bindings/net/nfc/nxp-nci.txt (+1/-1)
Documentation/devicetree/bindings/net/nfc/pn544.txt (+1/-1)
Documentation/filesystems/seq_file.txt (+6/-0)
Documentation/filesystems/sysfs.txt (+3/-5)
Documentation/index.rst (+8/-0)
Documentation/media/uapi/v4l/colorspaces-defs.rst (+4/-5)
Documentation/media/uapi/v4l/colorspaces-details.rst (+2/-3)
Documentation/networking/device_drivers/amazon/ena.txt (+1/-1)
Documentation/networking/j1939.rst (+2/-2)
Documentation/sphinx/parse-headers.pl (+1/-1)
Documentation/target/tcm_mod_builder.py (+1/-1)
Documentation/trace/postprocess/decode_msr.py (+1/-1)
Documentation/trace/postprocess/trace-pagealloc-postprocess.pl (+1/-1)
Documentation/trace/postprocess/trace-vmscan-postprocess.pl (+1/-1)
Documentation/userspace-api/seccomp_filter.rst (+8/-8)
Documentation/virt/kvm/api.txt (+6/-0)
Documentation/virt/kvm/mmu.txt (+1/-1)
Documentation/x86/topology.rst (+9/-0)
Documentation/xtensa/mmu.rst (+6/-3)
MAINTAINERS (+11/-0)
Makefile (+21/-16)
arch/Kconfig (+23/-0)
arch/arc/Makefile (+13/-7)
arch/arc/boot/Makefile (+1/-10)
arch/arc/boot/dts/axc001.dtsi (+1/-1)
arch/arc/boot/dts/axc003.dtsi (+1/-1)
arch/arc/boot/dts/axc003_idu.dtsi (+1/-1)
arch/arc/boot/dts/vdk_axc003.dtsi (+1/-1)
arch/arc/boot/dts/vdk_axc003_idu.dtsi (+1/-1)
arch/arc/include/asm/page.h (+13/-0)
arch/arc/include/asm/pgtable.h (+3/-7)
arch/arc/include/uapi/asm/page.h (+0/-1)
arch/arc/kernel/entry.S (+2/-2)
arch/arc/kernel/perf_event.c (+18/-9)
arch/arc/kernel/signal.c (+2/-2)
arch/arc/kernel/stacktrace.c (+21/-9)
arch/arc/mm/ioremap.c (+3/-2)
arch/arc/mm/tlb.c (+1/-1)
arch/arm/Kconfig (+2/-0)
arch/arm/boot/compressed/Makefile (+2/-2)
arch/arm/boot/compressed/head.S (+2/-2)
arch/arm/boot/dts/am33xx.dtsi (+3/-0)
arch/arm/boot/dts/armada-385-turris-omnia.dts (+1/-0)
arch/arm/boot/dts/armada-388-helios4.dts (+22/-6)
arch/arm/boot/dts/armada-xp-98dx3236.dtsi (+0/-5)
arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts (+0/-5)
arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts (+2/-2)
arch/arm/boot/dts/aspeed-g4.dtsi (+1/-0)
arch/arm/boot/dts/aspeed-g5.dtsi (+1/-0)
arch/arm/boot/dts/at91-sama5d27_som1.dtsi (+2/-2)
arch/arm/boot/dts/at91-sama5d3_xplained.dts (+7/-0)
arch/arm/boot/dts/at91-sama5d4_xplained.dts (+7/-0)
arch/arm/boot/dts/at91sam9rl.dtsi (+11/-8)
arch/arm/boot/dts/dra76x.dtsi (+2/-2)
arch/arm/boot/dts/exynos3250-artik5.dtsi (+1/-1)
arch/arm/boot/dts/exynos3250-monk.dts (+1/-1)
arch/arm/boot/dts/exynos3250-rinato.dts (+1/-1)
arch/arm/boot/dts/exynos4412-midas.dtsi (+3/-3)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi (+1/-1)
arch/arm/boot/dts/exynos5250-smdk5250.dts (+1/-1)
arch/arm/boot/dts/exynos5250-snow-common.dtsi (+1/-1)
arch/arm/boot/dts/exynos5250-spring.dts (+1/-1)
arch/arm/boot/dts/exynos5410-odroidxu.dts (+4/-2)
arch/arm/boot/dts/exynos5410-pinctrl.dtsi (+28/-0)
arch/arm/boot/dts/exynos5410.dtsi (+4/-0)
arch/arm/boot/dts/exynos5420-arndale-octa.dts (+1/-1)
arch/arm/boot/dts/exynos5422-odroid-core.dtsi (+1/-1)
arch/arm/boot/dts/imx50-evk.dts (+1/-1)
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi (+1/-1)
arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi (+3/-3)
arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi (+2/-0)
arch/arm/boot/dts/imx6qdl-udoo.dtsi (+1/-1)
arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi (+0/-1)
arch/arm/boot/dts/lpc32xx.dtsi (+0/-3)
arch/arm/boot/dts/meson8b-odroidc1.dts (+1/-1)
arch/arm/boot/dts/meson8m2-mxiii-plus.dts (+1/-1)
arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts (+1/-0)
arch/arm/boot/dts/omap3.dtsi (+3/-0)
arch/arm/boot/dts/omap4-panda-es.dts (+1/-1)
arch/arm/boot/dts/omap4.dtsi (+6/-1)
arch/arm/boot/dts/omap443x.dtsi (+12/-0)
arch/arm/boot/dts/omap44xx-clocks.dtsi (+0/-8)
arch/arm/boot/dts/omap5.dtsi (+5/-0)
arch/arm/boot/dts/picoxcell-pc3x2.dtsi (+4/-0)
arch/arm/boot/dts/s5pv210.dtsi (+69/-94)
arch/arm/boot/dts/sama5d2.dtsi (+4/-3)
arch/arm/boot/dts/sun4i-a10.dtsi (+1/-1)
arch/arm/boot/dts/sun6i-a31-hummingbird.dts (+1/-1)
arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts (+1/-1)
arch/arm/boot/dts/sun7i-a20-bananapi.dts (+1/-1)
arch/arm/boot/dts/sun7i-a20-bananapro.dts (+1/-1)
arch/arm/boot/dts/sun7i-a20-cubietruck.dts (+1/-1)
arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts (+2/-2)
arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts (+1/-1)
arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts (+1/-1)
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts (+0/-5)
arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts (+1/-1)
arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts (+1/-1)
arch/arm/boot/dts/sun8i-v3s.dtsi (+1/-1)
arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts (+6/-6)
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts (+1/-1)
arch/arm/boot/dts/sun9i-a80-optimus.dts (+1/-1)
arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi (+1/-1)
arch/arm/boot/dts/uniphier-pxs2.dtsi (+1/-1)
arch/arm/crypto/aes-ce-core.S (+22/-10)
arch/arm/include/asm/fixmap.h (+1/-1)
arch/arm/include/asm/kexec-internal.h (+12/-0)
arch/arm/include/asm/kprobes.h (+11/-11)
arch/arm/include/asm/kvm_asm.h (+1/-1)
arch/arm/include/asm/kvm_host.h (+1/-0)
arch/arm/include/asm/memory.h (+5/-0)
arch/arm/include/asm/pgtable-2level.h (+2/-0)
arch/arm/include/asm/pgtable-3level.h (+2/-0)
arch/arm/include/asm/prom.h (+2/-2)
arch/arm/kernel/asm-offsets.c (+8/-0)
arch/arm/kernel/atags.h (+2/-2)
arch/arm/kernel/atags_parse.c (+3/-3)
arch/arm/kernel/devtree.c (+3/-3)
arch/arm/kernel/entry-armv.S (+2/-23)
arch/arm/kernel/head.S (+5/-10)
arch/arm/kernel/hw_breakpoint.c (+73/-29)
arch/arm/kernel/machine_kexec.c (+8/-12)
arch/arm/kernel/relocate_kernel.S (+11/-27)
arch/arm/kernel/setup.c (+14/-5)
arch/arm/kernel/signal.c (+8/-6)
arch/arm/kernel/smccc-call.S (+10/-1)
arch/arm/kernel/suspend.c (+18/-1)
arch/arm/kvm/hyp/tlb.c (+2/-1)
arch/arm/mach-footbridge/cats-pci.c (+2/-2)
arch/arm/mach-footbridge/dc21285.c (+6/-6)
arch/arm/mach-footbridge/ebsa285-pci.c (+2/-2)
arch/arm/mach-footbridge/netwinder-pci.c (+1/-1)
arch/arm/mach-footbridge/personal-pci.c (+2/-3)
arch/arm/mach-imx/suspend-imx6.S (+1/-0)
arch/arm/mach-ixp4xx/Kconfig (+0/-1)
arch/arm/mach-keystone/keystone.c (+2/-2)
arch/arm/mach-omap1/ams-delta-fiq-handler.S (+1/-0)
arch/arm/mach-omap2/cpuidle44xx.c (+12/-10)
arch/arm/mach-omap2/omap_device.c (+5/-3)
arch/arm/mach-sunxi/sunxi.c (+1/-0)
arch/arm/mm/init.c (+0/-1)
arch/arm/mm/mmu.c (+14/-6)
arch/arm/mm/pv-fixup-asm.S (+2/-2)
arch/arm/plat-samsung/Kconfig (+1/-0)
arch/arm/probes/kprobes/opt-arm.c (+9/-9)
arch/arm/probes/uprobes/core.c (+2/-2)
arch/arm/vfp/entry.S (+0/-17)
arch/arm/vfp/vfphw.S (+0/-5)
arch/arm/vfp/vfpmodule.c (+66/-6)
arch/arm/xen/enlighten.c (+0/-2)
arch/arm/xen/p2m.c (+31/-2)
arch/arm64/Kconfig (+1/-1)
arch/arm64/Kconfig.platforms (+1/-0)
arch/arm64/Makefile (+2/-2)
arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts (+1/-1)
arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts (+1/-1)
arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts (+4/-0)
arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts (+1/-1)
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts (+1/-4)
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi (+1/-2)
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi (+5/-1)
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts (+1/-1)
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts (+1/-1)
arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts (+1/-1)
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts (+1/-1)
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi (+7/-0)
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi (+3/-1)
arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts (+2/-2)
arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts (+1/-1)
arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts (+1/-1)
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi (+1/-1)
arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi (+16/-11)
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi (+1/-1)
arch/arm64/boot/dts/exynos/exynos7-espresso.dts (+1/-1)
arch/arm64/boot/dts/exynos/exynos7.dtsi (+4/-8)
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi (+1/-0)
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi (+2/-2)
arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi (+1/-0)
arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi (+2/-1)
arch/arm64/boot/dts/freescale/imx8mm-pinfunc.h (+1/-1)
arch/arm64/boot/dts/freescale/imx8mm.dtsi (+1/-1)
arch/arm64/boot/dts/freescale/imx8mn.dtsi (+0/-30)
arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h (+1/-1)
arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts (+8/-4)
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts (+2/-2)
arch/arm64/boot/dts/marvell/armada-37xx.dtsi (+2/-1)
arch/arm64/boot/dts/mediatek/mt7622.dtsi (+2/-0)
arch/arm64/boot/dts/mediatek/mt8173.dtsi (+1/-1)
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts (+0/-12)
arch/arm64/boot/dts/nvidia/tegra194.dtsi (+3/-3)
arch/arm64/boot/dts/nvidia/tegra210.dtsi (+1/-0)
arch/arm64/boot/dts/qcom/msm8916.dtsi (+2/-2)
arch/arm64/boot/dts/qcom/sdm845-db845c.dts (+3/-1)
arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts (+17/-16)
arch/arm64/boot/dts/qcom/sm8150.dtsi (+1/-1)
arch/arm64/boot/dts/renesas/cat875.dtsi (+0/-1)
arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi (+0/-1)
arch/arm64/boot/dts/renesas/r8a77980.dtsi (+8/-8)
arch/arm64/boot/dts/renesas/ulcb.dtsi (+1/-0)
arch/arm64/boot/dts/rockchip/px30.dtsi (+1/-1)
arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts (+1/-0)
arch/arm64/boot/dts/rockchip/rk3328.dtsi (+8/-8)
arch/arm64/boot/dts/rockchip/rk3399.dtsi (+4/-1)
arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi (+1/-1)
arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi (+2/-2)
arch/arm64/crypto/aes-glue.c (+2/-2)
arch/arm64/crypto/sha1-ce-glue.c (+1/-0)
arch/arm64/crypto/sha2-ce-glue.c (+2/-0)
arch/arm64/crypto/sha3-ce-glue.c (+4/-0)
arch/arm64/crypto/sha512-ce-glue.c (+2/-0)
arch/arm64/include/asm/alternative.h (+4/-4)
arch/arm64/include/asm/assembler.h (+1/-0)
arch/arm64/include/asm/atomic.h (+5/-5)
arch/arm64/include/asm/cpufeature.h (+2/-0)
arch/arm64/include/asm/kvm_arm.h (+1/-0)
arch/arm64/include/asm/kvm_asm.h (+1/-1)
arch/arm64/include/asm/kvm_host.h (+3/-0)
arch/arm64/include/asm/kvm_hyp.h (+3/-0)
arch/arm64/include/asm/linkage.h (+16/-0)
arch/arm64/include/asm/memory.h (+12/-8)
arch/arm64/include/asm/mmu_context.h (+1/-4)
arch/arm64/include/asm/numa.h (+3/-0)
arch/arm64/include/asm/pgtable-hwdef.h (+1/-0)
arch/arm64/include/asm/pgtable.h (+20/-18)
arch/arm64/include/asm/word-at-a-time.h (+5/-5)
arch/arm64/kernel/cpu_errata.c (+15/-0)
arch/arm64/kernel/cpufeature.c (+1/-2)
arch/arm64/kernel/crash_core.c (+10/-0)
arch/arm64/kernel/crash_dump.c (+2/-0)
arch/arm64/kernel/head.S (+2/-1)
arch/arm64/kernel/machine_kexec_file.c (+3/-1)
arch/arm64/kernel/module.lds (+3/-3)
arch/arm64/kernel/probes/uprobes.c (+1/-1)
arch/arm64/kernel/process.c (+2/-3)
arch/arm64/kernel/psci.c (+1/-4)
arch/arm64/kernel/ptrace.c (+1/-1)
arch/arm64/kernel/smp.c (+2/-0)
arch/arm64/kernel/syscall.c (+1/-1)
arch/arm64/kernel/topology.c (+17/-15)
arch/arm64/kernel/vdso/vdso.lds.S (+7/-1)
arch/arm64/kvm/debug.c (+60/-26)
arch/arm64/kvm/hyp/debug-sr.c (+15/-9)
arch/arm64/kvm/hyp/switch.c (+12/-1)
arch/arm64/kvm/hyp/tlb.c (+2/-1)
arch/arm64/kvm/reset.c (+8/-3)
arch/arm64/kvm/sys_regs.c (+9/-20)
arch/arm64/lib/clear_page.S (+2/-2)
arch/arm64/lib/clear_user.S (+2/-2)
arch/arm64/lib/copy_from_user.S (+2/-2)
arch/arm64/lib/copy_in_user.S (+2/-2)
arch/arm64/lib/copy_page.S (+2/-2)
arch/arm64/lib/copy_to_user.S (+2/-2)
arch/arm64/lib/crc32.S (+4/-4)
arch/arm64/lib/memchr.S (+2/-2)
arch/arm64/lib/memcmp.S (+2/-2)
arch/arm64/lib/memcpy.S (+4/-5)
arch/arm64/lib/memmove.S (+4/-5)
arch/arm64/lib/memset.S (+4/-5)
arch/arm64/lib/strchr.S (+2/-2)
arch/arm64/lib/strcmp.S (+2/-2)
arch/arm64/lib/strlen.S (+2/-2)
arch/arm64/lib/strncmp.S (+2/-2)
arch/arm64/lib/strnlen.S (+2/-2)
arch/arm64/lib/strrchr.S (+2/-2)
arch/arm64/lib/tishift.S (+6/-6)
arch/arm64/mm/init.c (+22/-20)
arch/arm64/mm/mmu.c (+1/-1)
arch/arm64/mm/numa.c (+5/-1)
arch/arm64/mm/physaddr.c (+1/-1)
arch/csky/Kconfig (+1/-1)
arch/csky/include/asm/page.h (+1/-1)
arch/h8300/kernel/asm-offsets.c (+3/-0)
arch/ia64/include/asm/module.h (+5/-1)
arch/ia64/include/asm/ptrace.h (+1/-7)
arch/ia64/include/asm/syscall.h (+1/-1)
arch/ia64/kernel/Makefile (+1/-1)
arch/ia64/kernel/err_inject.c (+11/-11)
arch/ia64/kernel/kprobes.c (+2/-75)
arch/ia64/kernel/mca.c (+1/-1)
arch/ia64/kernel/module.c (+25/-4)
arch/ia64/kernel/ptrace.c (+18/-6)
arch/ia64/mm/discontig.c (+3/-3)
arch/ia64/scripts/unwcheck.py (+1/-1)
arch/m68k/include/asm/mvme147hw.h (+3/-0)
arch/m68k/mvme147/config.c (+8/-6)
arch/m68k/mvme16x/config.c (+8/-6)
arch/mips/alchemy/board-xxs1500.c (+1/-0)
arch/mips/alchemy/common/clock.c (+8/-1)
arch/mips/bcm47xx/Kconfig (+1/-0)
arch/mips/boot/compressed/decompress.c (+2/-1)
arch/mips/boot/dts/brcm/bcm3368.dtsi (+1/-1)
arch/mips/boot/dts/brcm/bcm63268.dtsi (+1/-1)
arch/mips/boot/dts/brcm/bcm6358.dtsi (+1/-1)
arch/mips/boot/dts/brcm/bcm6362.dtsi (+1/-1)
arch/mips/boot/dts/brcm/bcm6368.dtsi (+1/-1)
arch/mips/dec/setup.c (+8/-1)
arch/mips/include/asm/asm.h (+18/-0)
arch/mips/include/asm/div64.h (+39/-16)
arch/mips/include/asm/pgtable-32.h (+3/-0)
arch/mips/include/asm/string.h (+0/-121)
arch/mips/include/asm/vdso/gettimeofday.h (+21/-5)
arch/mips/kernel/relocate.c (+8/-2)
arch/mips/kernel/setup.c (+2/-2)
arch/mips/kernel/vmlinux.lds.S (+1/-1)
arch/mips/lantiq/irq.c (+1/-1)
arch/mips/lib/uncached.c (+3/-1)
arch/mips/mm/c-r4k.c (+2/-2)
arch/mips/mm/sc-mips.c (+2/-2)
arch/mips/mm/tlb-r4k.c (+1/-0)
arch/mips/pci/pci-legacy.c (+7/-2)
arch/mips/pci/pci-mt7620.c (+3/-2)
arch/mips/pci/pci-rt2880.c (+24/-13)
arch/mips/pci/pci-xtalk-bridge.c (+1/-1)
arch/mips/ralink/of.c (+2/-0)
arch/mips/vdso/Makefile (+1/-4)
arch/nds32/mm/cacheflush.c (+1/-1)
arch/openrisc/include/asm/barrier.h (+9/-0)
arch/openrisc/include/asm/uaccess.h (+22/-13)
arch/openrisc/kernel/setup.c (+2/-0)
arch/parisc/include/asm/cmpxchg.h (+1/-1)
arch/parisc/kernel/irq.c (+4/-0)
arch/powerpc/Kconfig (+16/-2)
arch/powerpc/Kconfig.debug (+1/-0)
arch/powerpc/Makefile (+0/-1)
arch/powerpc/include/asm/bitops.h (+21/-2)
arch/powerpc/include/asm/book3s/32/pgtable.h (+4/-2)
arch/powerpc/include/asm/book3s/64/kup-radix.h (+20/-11)
arch/powerpc/include/asm/book3s/64/radix.h (+4/-2)
arch/powerpc/include/asm/code-patching.h (+1/-1)
arch/powerpc/include/asm/cpm1.h (+1/-0)
arch/powerpc/include/asm/cpu_has_feature.h (+2/-2)
arch/powerpc/include/asm/cputable.h (+1/-6)
arch/powerpc/include/asm/dcr-native.h (+4/-4)
arch/powerpc/include/asm/drmem.h (+2/-2)
arch/powerpc/include/asm/exception-64s.h (+11/-1)
arch/powerpc/include/asm/feature-fixups.h (+19/-0)
arch/powerpc/include/asm/kup.h (+22/-5)
arch/powerpc/include/asm/machdep.h (+3/-0)
arch/powerpc/include/asm/mmu_context.h (+1/-1)
arch/powerpc/include/asm/nohash/32/pgtable.h (+2/-0)
arch/powerpc/include/asm/nohash/pgtable.h (+2/-2)
arch/powerpc/include/asm/ptrace.h (+3/-0)
arch/powerpc/include/asm/security_features.h (+7/-0)
arch/powerpc/include/asm/setup.h (+4/-0)
arch/powerpc/include/uapi/asm/errno.h (+1/-0)
arch/powerpc/kernel/Makefile (+3/-0)
arch/powerpc/kernel/asm-offsets.c (+1/-1)
arch/powerpc/kernel/eeh.c (+4/-7)
arch/powerpc/kernel/eeh_cache.c (+3/-2)
arch/powerpc/kernel/entry_32.S (+3/-0)
arch/powerpc/kernel/exceptions-64s.S (+46/-42)
arch/powerpc/kernel/fadump.c (+1/-1)
arch/powerpc/kernel/head_32.S (+7/-16)
arch/powerpc/kernel/head_64.S (+5/-5)
arch/powerpc/kernel/head_8xx.S (+3/-13)
arch/powerpc/kernel/iommu.c (+2/-2)
arch/powerpc/kernel/paca.c (+2/-2)
arch/powerpc/kernel/pci-common.c (+10/-0)
arch/powerpc/kernel/process.c (+1/-1)
arch/powerpc/kernel/prom.c (+1/-1)
arch/powerpc/kernel/prom_init.c (+4/-8)
arch/powerpc/kernel/rtas.c (+153/-0)
arch/powerpc/kernel/setup-common.c (+2/-2)
arch/powerpc/kernel/setup.h (+0/-6)
arch/powerpc/kernel/setup_64.c (+122/-2)
arch/powerpc/kernel/smp.c (+3/-3)
arch/powerpc/kernel/sysfs.c (+17/-25)
arch/powerpc/kernel/traps.c (+4/-1)
arch/powerpc/kernel/vmlinux.lds.S (+24/-18)
arch/powerpc/kvm/book3s_hv.c (+9/-0)
arch/powerpc/kvm/book3s_xive_native.c (+7/-0)
arch/powerpc/kvm/powerpc.c (+4/-4)
arch/powerpc/lib/feature-fixups.c (+135/-2)
arch/powerpc/mm/book3s64/radix_pgtable.c (+2/-2)
arch/powerpc/mm/fault.c (+3/-5)
arch/powerpc/mm/mem.c (+1/-1)
arch/powerpc/perf/core-book3s.c (+25/-1)
arch/powerpc/perf/isa207-common.c (+2/-2)
arch/powerpc/platforms/52xx/lite5200_sleep.S (+1/-1)
arch/powerpc/platforms/8xx/micropatch.c (+11/-0)
arch/powerpc/platforms/powermac/sleep.S (+1/-8)
arch/powerpc/platforms/powernv/memtrace.c (+37/-7)
arch/powerpc/platforms/powernv/npu-dma.c (+14/-2)
arch/powerpc/platforms/powernv/opal-elog.c (+26/-7)
arch/powerpc/platforms/powernv/setup.c (+24/-2)
arch/powerpc/platforms/powernv/smp.c (+1/-1)
arch/powerpc/platforms/pseries/dlpar.c (+3/-4)
arch/powerpc/platforms/pseries/hotplug-cpu.c (+0/-3)
arch/powerpc/platforms/pseries/hotplug-memory.c (+29/-14)
arch/powerpc/platforms/pseries/msi.c (+23/-1)
arch/powerpc/platforms/pseries/pci_dlpar.c (+3/-1)
arch/powerpc/platforms/pseries/setup.c (+8/-0)
arch/powerpc/platforms/pseries/suspend.c (+0/-4)
arch/powerpc/sysdev/mpic_msgr.c (+1/-1)
arch/powerpc/sysdev/xive/common.c (+10/-4)
arch/powerpc/xmon/nonstdio.c (+1/-1)
arch/riscv/Kconfig (+2/-2)
arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts (+1/-0)
arch/riscv/configs/defconfig (+2/-0)
arch/riscv/include/asm/ftrace.h (+12/-2)
arch/riscv/include/asm/page.h (+4/-1)
arch/riscv/include/asm/pgtable-32.h (+2/-0)
arch/riscv/include/uapi/asm/auxvec.h (+3/-0)
arch/riscv/kernel/entry.S (+1/-0)
arch/riscv/kernel/head.S (+5/-0)
arch/riscv/kernel/mcount.S (+5/-5)
arch/riscv/kernel/smp.c (+1/-1)
arch/riscv/kernel/time.c (+3/-0)
arch/s390/boot/head.S (+11/-10)
arch/s390/crypto/arch_random.c (+4/-0)
arch/s390/kernel/cpcmd.c (+4/-2)
arch/s390/kernel/dis.c (+1/-1)
arch/s390/kernel/entry.S (+1/-0)
arch/s390/kernel/perf_cpum_sf.c (+1/-1)
arch/s390/kernel/ptrace.c (+12/-5)
arch/s390/kernel/setup.c (+2/-2)
arch/s390/kernel/smp.c (+6/-17)
arch/s390/kernel/time.c (+85/-33)
arch/s390/kernel/vtime.c (+3/-2)
arch/s390/kvm/gaccess.h (+41/-13)
arch/s390/kvm/kvm-s390.c (+2/-2)
arch/s390/pci/pci_bus.c (+3/-2)
arch/s390/pci/pci_event.c (+4/-0)
arch/s390/purgatory/head.S (+5/-4)
arch/sh/drivers/dma/Kconfig (+1/-2)
arch/sparc/Kconfig (+1/-1)
arch/sparc/include/asm/mman.h (+29/-25)
arch/sparc/kernel/smp_64.c (+14/-51)
arch/sparc/kernel/traps_64.c (+6/-7)
arch/sparc/lib/memset.S (+1/-0)
arch/sparc/mm/init_32.c (+3/-0)
arch/sparc/mm/init_64.c (+1/-1)
arch/um/Kconfig.debug (+1/-0)
arch/um/drivers/chan_user.c (+2/-2)
arch/um/drivers/ubd_kern.c (+115/-76)
arch/um/drivers/virtio_uml.c (+2/-1)
arch/um/drivers/xterm.c (+5/-0)
arch/um/kernel/Makefile (+0/-1)
arch/um/kernel/dyn.lds.S (+6/-0)
arch/um/kernel/sigio.c (+3/-3)
arch/um/kernel/tlb.c (+11/-1)
arch/um/kernel/uml.lds.S (+6/-0)
arch/um/os-Linux/irq.c (+1/-1)
arch/um/os-Linux/umid.c (+5/-12)
arch/x86/Kconfig (+1/-0)
arch/x86/Makefile (+5/-1)
arch/x86/crypto/aesni-intel_asm.S (+81/-56)
arch/x86/crypto/aesni-intel_avx-x86_64.S (+10/-10)
arch/x86/crypto/aesni-intel_glue.c (+40/-42)
arch/x86/crypto/camellia_aesni_avx2_glue.c (+34/-40)
arch/x86/crypto/camellia_aesni_avx_glue.c (+32/-40)
arch/x86/crypto/camellia_glue.c (+24/-21)
arch/x86/crypto/cast6_avx_glue.c (+31/-37)
arch/x86/crypto/crc32c-pcl-intel-asm_64.S (+1/-1)
arch/x86/crypto/glue_helper.c (+14/-9)
arch/x86/crypto/serpent_avx2_glue.c (+31/-34)
arch/x86/crypto/serpent_avx_glue.c (+31/-32)
arch/x86/crypto/serpent_sse2_glue.c (+18/-12)
arch/x86/crypto/twofish_avx_glue.c (+33/-42)
arch/x86/crypto/twofish_glue_3way.c (+20/-17)
arch/x86/entry/entry_32.S (+2/-1)
arch/x86/events/amd/ibs.c (+38/-15)
arch/x86/events/amd/iommu.c (+3/-3)
arch/x86/events/intel/core.c (+8/-4)
arch/x86/events/intel/cstate.c (+3/-3)
arch/x86/events/intel/ds.c (+2/-2)
arch/x86/events/intel/uncore.c (+2/-2)
arch/x86/events/intel/uncore.h (+6/-6)
arch/x86/events/intel/uncore_snbep.c (+26/-35)
arch/x86/events/rapl.c (+1/-13)
arch/x86/hyperv/mmu.c (+9/-3)
arch/x86/include/asm/apic.h (+1/-10)
arch/x86/include/asm/barrier.h (+18/-0)
arch/x86/include/asm/cacheinfo.h (+2/-2)
arch/x86/include/asm/crypto/camellia.h (+29/-34)
arch/x86/include/asm/crypto/glue_helper.h (+7/-11)
arch/x86/include/asm/crypto/serpent-avx.h (+10/-10)
arch/x86/include/asm/crypto/serpent-sse2.h (+12/-16)
arch/x86/include/asm/crypto/twofish.h (+8/-11)
arch/x86/include/asm/fpu/api.h (+13/-2)
arch/x86/include/asm/insn.h (+15/-0)
arch/x86/include/asm/kvm_host.h (+1/-3)
arch/x86/include/asm/kvm_para.h (+2/-7)
arch/x86/include/asm/linkage.h (+7/-3)
arch/x86/include/asm/msr-index.h (+1/-0)
arch/x86/include/asm/msr.h (+2/-2)
arch/x86/include/asm/pgtable_types.h (+1/-0)
arch/x86/include/asm/processor.h (+0/-9)
arch/x86/include/asm/sync_core.h (+5/-4)
arch/x86/include/asm/thread_info.h (+22/-1)
arch/x86/include/asm/topology.h (+2/-2)
arch/x86/include/asm/virtext.h (+12/-5)
arch/x86/kernel/acpi/boot.c (+12/-13)
arch/x86/kernel/acpi/wakeup_32.S (+4/-3)
arch/x86/kernel/apic/apic.c (+17/-6)
arch/x86/kernel/apic/io_apic.c (+10/-0)
arch/x86/kernel/apic/vector.c (+14/-10)
arch/x86/kernel/apic/x2apic_cluster.c (+4/-2)
arch/x86/kernel/apic/x2apic_phys.c (+15/-3)
arch/x86/kernel/cpu/amd.c (+7/-8)
arch/x86/kernel/cpu/bugs.c (+35/-21)
arch/x86/kernel/cpu/cacheinfo.c (+3/-3)
arch/x86/kernel/cpu/common.c (+1/-1)
arch/x86/kernel/cpu/hygon.c (+5/-6)
arch/x86/kernel/cpu/mce/core.c (+4/-2)
arch/x86/kernel/cpu/microcode/core.c (+4/-4)
arch/x86/kernel/cpu/microcode/intel.c (+10/-53)
arch/x86/kernel/cpu/mtrr/generic.c (+3/-3)
arch/x86/kernel/cpu/resctrl/internal.h (+0/-2)
arch/x86/kernel/cpu/resctrl/monitor.c (+2/-5)
arch/x86/kernel/cpu/resctrl/rdtgroup.c (+73/-101)
arch/x86/kernel/cpu/topology.c (+1/-1)
arch/x86/kernel/crash.c (+1/-1)
arch/x86/kernel/fpu/core.c (+5/-4)
arch/x86/kernel/ftrace_32.S (+2/-1)
arch/x86/kernel/head_32.S (+2/-1)
arch/x86/kernel/kexec-bzimage64.c (+1/-2)
arch/x86/kernel/kprobes/core.c (+17/-5)
arch/x86/kernel/kvm.c (+85/-49)
arch/x86/kernel/kvmclock.c (+1/-25)
arch/x86/kernel/module.c (+1/-0)
arch/x86/kernel/reboot.c (+19/-19)
arch/x86/kernel/setup.c (+2/-5)
arch/x86/kernel/signal.c (+1/-23)
arch/x86/kernel/tboot.c (+0/-3)
arch/x86/kernel/unwind_orc.c (+7/-14)
arch/x86/kernel/uprobes.c (+6/-4)
arch/x86/kvm/cpuid.h (+14/-0)
arch/x86/kvm/emulate.c (+9/-1)
arch/x86/kvm/irq.c (+34/-51)
arch/x86/kvm/lapic.c (+1/-1)
arch/x86/kvm/mmu.c (+22/-40)
arch/x86/kvm/mmu.h (+1/-1)
arch/x86/kvm/svm.c (+21/-18)
arch/x86/kvm/vmx/nested.c (+9/-6)
arch/x86/kvm/vmx/pmu_intel.c (+5/-1)
arch/x86/kvm/vmx/vmx.c (+6/-7)
arch/x86/kvm/x86.c (+48/-9)
arch/x86/kvm/x86.h (+1/-0)
arch/x86/lib/insn-eval.c (+3/-2)
arch/x86/lib/memcpy_64.S (+1/-3)
arch/x86/lib/memmove_64.S (+1/-3)
arch/x86/lib/memset_64.S (+1/-3)
arch/x86/lib/mmx_32.c (+15/-5)
arch/x86/lib/msr-smp.c (+2/-2)
arch/x86/mm/ident_map.c (+10/-2)
arch/x86/mm/mem_encrypt.c (+2/-1)
arch/x86/mm/mem_encrypt_identity.c (+2/-2)
arch/x86/mm/pat.c (+2/-1)
arch/x86/mm/pgtable.c (+2/-0)
arch/x86/mm/tlb.c (+8/-2)
arch/x86/net/bpf_jit_comp.c (+12/-3)
arch/x86/net/bpf_jit_comp32.c (+10/-1)
arch/x86/pci/intel_mid_pci.c (+1/-0)
arch/x86/platform/efi/efi_64.c (+13/-11)
arch/x86/power/hibernate_asm_32.S (+4/-2)
arch/x86/realmode/rm/trampoline_32.S (+4/-2)
arch/x86/tools/relocs.c (+8/-4)
arch/x86/xen/enlighten_hvm.c (+10/-1)
arch/x86/xen/enlighten_pv.c (+9/-0)
arch/x86/xen/p2m.c (+48/-11)
arch/x86/xen/spinlock.c (+11/-1)
arch/x86/xen/xen-asm_32.S (+4/-3)
arch/xtensa/include/asm/pgtable.h (+1/-1)
arch/xtensa/include/asm/uaccess.h (+1/-1)
arch/xtensa/kernel/coprocessor.S (+33/-31)
arch/xtensa/mm/cache.c (+14/-0)
block/bfq-iosched.c (+2/-2)
block/bio.c (+1/-1)
block/blk-cgroup.c (+26/-7)
block/blk-core.c (+7/-4)
block/blk-merge.c (+8/-0)
block/blk-mq-sched.c (+5/-3)
block/blk-mq.c (+28/-15)
block/blk-pm.c (+9/-6)
block/blk-settings.c (+12/-0)
block/blk-zoned.c (+13/-27)
block/bsg.c (+3/-1)
block/genhd.c (+7/-6)
block/kyber-iosched.c (+3/-2)
block/mq-deadline.c (+1/-2)
certs/blacklist.c (+1/-1)
crypto/af_alg.c (+7/-3)
crypto/api.c (+1/-1)
crypto/asymmetric_keys/asym_tpm.c (+1/-1)
crypto/cast6_generic.c (+10/-8)
crypto/ecdh.c (+7/-5)
crypto/ecdh_helper.c (+3/-0)
crypto/rng.c (+3/-7)
crypto/serpent_generic.c (+4/-2)
crypto/tcrypt.c (+10/-10)
debian.bluefield/abi/5.4.0-1014.17/abiname (+1/-0)
debian.bluefield/abi/5.4.0-1014.17/arm64/bluefield (+13316/-0)
debian.bluefield/abi/5.4.0-1014.17/arm64/bluefield.modules (+708/-0)
debian.bluefield/abi/5.4.0-1014.17/fwinfo (+1/-0)
debian.bluefield/changelog (+5013/-0)
debian.bluefield/config/annotations (+60/-0)
debian.bluefield/config/config.common.ubuntu (+66/-0)
debian.bluefield/control.stub.in (+4/-0)
debian.bluefield/d-i/kernel-versions (+4/-0)
debian.bluefield/reconstruct (+22/-0)
debian.bluefield/rules.d/arm64.mk (+7/-0)
debian.bluefield/tracking-bug (+4/-0)
debian.master/abi/5.4.0-78.87/abiname (+1/-0)
debian.master/abi/5.4.0-78.87/amd64/generic (+23829/-0)
debian.master/abi/5.4.0-78.87/amd64/generic.modules (+3/-2)
debian.master/abi/5.4.0-78.87/amd64/lowlatency (+23840/-0)
debian.master/abi/5.4.0-78.87/amd64/lowlatency.modules (+3/-2)
debian.master/abi/5.4.0-78.87/arm64/generic (+23555/-0)
debian.master/abi/5.4.0-78.87/arm64/generic.modules (+0/-2)
debian.master/abi/5.4.0-78.87/armhf/generic (+23062/-0)
debian.master/abi/5.4.0-78.87/armhf/generic-lpae (+23005/-0)
debian.master/abi/5.4.0-78.87/armhf/generic-lpae.modules (+0/-4)
debian.master/abi/5.4.0-78.87/armhf/generic.modules (+0/-4)
debian.master/abi/5.4.0-78.87/ppc64el/generic (+22441/-0)
debian.master/abi/5.4.0-78.87/ppc64el/generic.modules (+0/-2)
debian.master/abi/5.4.0-78.87/s390x/generic (+12685/-0)
debian.master/abi/5.4.0-78.87/s390x/generic.compiler (+1/-0)
debian.master/abi/5.4.0-78.87/s390x/generic.retpoline (+1/-0)
debian.master/changelog (+4990/-0)
debian.master/config/amd64/config.common.amd64 (+0/-1)
debian.master/config/annotations (+404/-374)
debian.master/config/arm64/config.common.arm64 (+0/-1)
debian.master/config/armhf/config.common.armhf (+0/-1)
debian.master/config/config.common.ubuntu (+11/-4)
debian.master/config/i386/config.common.i386 (+0/-1)
debian.master/config/ppc64el/config.common.ppc64el (+0/-1)
debian.master/config/s390x/config.common.s390x (+0/-1)
debian.master/reconstruct (+8/-0)
debian.master/rules.d/amd64.mk (+1/-2)
debian.master/tracking-bug (+1/-1)
debian.master/upstream-stable (+1/-1)
debian/certs/canonical-livepatch-all.pem (+121/-0)
debian/certs/ubuntu-drivers-all.pem (+125/-0)
debian/dkms-versions (+9/-10)
debian/linux-cloud-tools-common.hv-kvp-daemon.service (+1/-0)
debian/rules (+17/-8)
debian/rules.d/0-common-vars.mk (+4/-0)
debian/rules.d/1-maintainer.mk (+2/-1)
debian/rules.d/2-binary-arch.mk (+17/-9)
debian/scripts/dkms-build--nvidia-N (+36/-30)
debian/scripts/helpers/open (+52/-38)
debian/scripts/misc/arch-has-odm-enabled.sh (+30/-0)
debian/scripts/misc/getabis (+20/-3)
debian/scripts/misc/kernelconfig (+4/-3)
debian/tests/ubuntu-regression-suite (+1/-1)
dev/null (+0/-26)
drivers/acpi/acpi_configfs.c (+6/-1)
drivers/acpi/acpi_dbg.c (+3/-0)
drivers/acpi/acpi_extlog.c (+3/-3)
drivers/acpi/acpi_pnp.c (+3/-0)
drivers/acpi/acpica/acobject.h (+1/-0)
drivers/acpi/acpica/evhandler.c (+7/-0)
drivers/acpi/acpica/evregion.c (+47/-17)
drivers/acpi/acpica/evxfregn.c (+2/-0)
drivers/acpi/arm64/gtdt.c (+6/-4)
drivers/acpi/button.c (+19/-7)
drivers/acpi/cppc_acpi.c (+3/-11)
drivers/acpi/custom_method.c (+3/-1)
drivers/acpi/device_pm.c (+29/-33)
drivers/acpi/device_sysfs.c (+6/-14)
drivers/acpi/ec.c (+3/-7)
drivers/acpi/evged.c (+1/-1)
drivers/acpi/hmat/hmat.c (+2/-1)
drivers/acpi/internal.h (+6/-2)
drivers/acpi/nfit/core.c (+1/-1)
drivers/acpi/numa.c (+1/-1)
drivers/acpi/property.c (+33/-11)
drivers/acpi/resource.c (+1/-1)
drivers/acpi/scan.c (+64/-30)
drivers/acpi/tables.c (+39/-3)
drivers/acpi/thermal.c (+38/-17)
drivers/acpi/video_detect.c (+17/-0)
drivers/amba/bus.c (+12/-8)
drivers/android/binder.c (+1/-0)
drivers/android/binder_alloc.c (+48/-0)
drivers/android/binder_alloc.h (+3/-1)
drivers/ata/ahci.c (+5/-0)
drivers/ata/ahci.h (+3/-0)
drivers/ata/ahci_brcm.c (+13/-1)
drivers/ata/ahci_mvebu.c (+1/-1)
drivers/ata/libahci.c (+5/-0)
drivers/ata/libahci_platform.c (+4/-2)
drivers/ata/pata_arasan_cf.c (+11/-4)
drivers/ata/pata_ixp4xx_cf.c (+5/-1)
drivers/ata/sata_mv.c (+4/-0)
drivers/ata/sata_nv.c (+1/-1)
drivers/ata/sata_rcar.c (+1/-1)
drivers/atm/eni.c (+2/-1)
drivers/atm/idt77105.c (+2/-2)
drivers/atm/idt77252.c (+1/-1)
drivers/atm/lanai.c (+4/-1)
drivers/atm/nicstar.c (+2/-0)
drivers/atm/uPD98402.c (+1/-1)
drivers/auxdisplay/ht16k33.c (+1/-2)
drivers/base/core.c (+21/-6)
drivers/base/dd.c (+10/-7)
drivers/base/node.c (+12/-14)
drivers/base/power/runtime.c (+75/-52)
drivers/base/regmap/regmap-debugfs.c (+8/-2)
drivers/base/regmap/regmap-sdw.c (+2/-2)
drivers/base/swnode.c (+9/-2)
drivers/block/Kconfig (+1/-0)
drivers/block/floppy.c (+14/-13)
drivers/block/nbd.c (+36/-19)
drivers/block/null_blk_zoned.c (+13/-7)
drivers/block/rsxx/core.c (+6/-3)
drivers/block/xen-blkback/blkback.c (+33/-19)
drivers/block/xen-blkback/common.h (+1/-0)
drivers/block/xen-blkback/xenbus.c (+21/-26)
drivers/block/xen-blkfront.c (+7/-13)
drivers/block/zram/zram_drv.c (+9/-4)
drivers/bluetooth/btmtksdio.c (+1/-1)
drivers/bluetooth/btqcomsmd.c (+19/-8)
drivers/bluetooth/btrtl.c (+46/-0)
drivers/bluetooth/btusb.c (+11/-11)
drivers/bluetooth/hci_h5.c (+8/-0)
drivers/bluetooth/hci_ldisc.c (+3/-4)
drivers/bluetooth/hci_serdev.c (+2/-2)
drivers/bus/fsl-mc/fsl-mc-allocator.c (+3/-1)
drivers/bus/fsl-mc/mc-io.c (+6/-1)
drivers/bus/mips_cdmm.c (+1/-3)
drivers/bus/omap_l3_noc.c (+2/-2)
drivers/bus/qcom-ebi2.c (+3/-1)
drivers/bus/ti-sysc.c (+55/-1)
drivers/cdrom/gdrom.c (+10/-3)
drivers/char/agp/Kconfig (+1/-1)
drivers/char/hpet.c (+2/-0)
drivers/char/hw_random/timeriomem-rng.c (+1/-1)
drivers/char/ipmi/ipmb_host.c (+177/-0)
drivers/char/random.c (+1/-2)
drivers/char/tpm/eventlog/common.c (+3/-0)
drivers/char/tpm/eventlog/efi.c (+26/-8)
drivers/char/tpm/tpm2-cmd.c (+1/-0)
drivers/char/tpm/tpm_tis.c (+27/-2)
drivers/char/tpm/tpm_tis_core.c (+36/-54)
drivers/char/ttyprintk.c (+11/-0)
drivers/char/virtio_console.c (+4/-4)
drivers/clk/at91/sam9x60.c (+1/-5)
drivers/clk/clk-ast2600.c (+29/-12)
drivers/clk/clk-s2mps11.c (+1/-0)
drivers/clk/clk.c (+21/-26)
drivers/clk/ingenic/cgu.c (+10/-4)
drivers/clk/meson/Kconfig (+1/-0)
drivers/clk/meson/clk-pll.c (+6/-4)
drivers/clk/mvebu/armada-37xx-periph.c (+45/-38)
drivers/clk/mvebu/armada-37xx-xtal.c (+2/-2)
drivers/clk/qcom/a53-pll.c (+1/-0)
drivers/clk/qcom/gcc-msm8998.c (+50/-50)
drivers/clk/renesas/r9a06g032-clocks.c (+1/-1)
drivers/clk/samsung/clk-exynos7.c (+6/-1)
drivers/clk/socfpga/clk-gate-a10.c (+1/-0)
drivers/clk/socfpga/clk-gate.c (+1/-1)
drivers/clk/sunxi-ng/ccu-sun50i-a64.c (+1/-0)
drivers/clk/sunxi-ng/ccu-sun50i-h6.c (+5/-5)
drivers/clk/sunxi-ng/ccu-sun8i-h3.c (+1/-0)
drivers/clk/sunxi-ng/ccu_mp.c (+1/-1)
drivers/clk/tegra/clk-dfll.c (+2/-2)
drivers/clk/tegra/clk-id.h (+1/-0)
drivers/clk/tegra/clk-tegra-periph.c (+1/-1)
drivers/clk/tegra/clk-tegra30.c (+2/-0)
drivers/clk/ti/clockdomain.c (+2/-0)
drivers/clk/ti/fapll.c (+9/-2)
drivers/clk/uniphier/clk-uniphier-mux.c (+2/-2)
drivers/clk/zynqmp/pll.c (+6/-6)
drivers/clocksource/Kconfig (+1/-0)
drivers/clocksource/arm_arch_timer.c (+18/-9)
drivers/clocksource/mxs_timer.c (+1/-4)
drivers/clocksource/timer-cadence-ttc.c (+9/-9)
drivers/clocksource/timer-orion.c (+8/-3)
drivers/counter/stm32-timer-cnt.c (+33/-23)
drivers/cpufreq/acpi-cpufreq.c (+2/-1)
drivers/cpufreq/armada-37xx-cpufreq.c (+62/-14)
drivers/cpufreq/armada-8k-cpufreq.c (+6/-0)
drivers/cpufreq/brcmstb-avs-cpufreq.c (+17/-7)
drivers/cpufreq/cpufreq-dt-platdev.c (+2/-0)
drivers/cpufreq/highbank-cpufreq.c (+7/-0)
drivers/cpufreq/intel_pstate.c (+3/-2)
drivers/cpufreq/loongson1-cpufreq.c (+1/-0)
drivers/cpufreq/mediatek-cpufreq.c (+1/-0)
drivers/cpufreq/powernow-k8.c (+3/-6)
drivers/cpufreq/qcom-cpufreq-nvmem.c (+1/-0)
drivers/cpufreq/scpi-cpufreq.c (+1/-0)
drivers/cpufreq/sti-cpufreq.c (+11/-2)
drivers/cpufreq/sun50i-cpufreq-nvmem.c (+1/-0)
drivers/crypto/Kconfig (+1/-0)
drivers/crypto/amcc/crypto4xx_core.c (+1/-1)
drivers/crypto/bcm/cipher.c (+1/-1)
drivers/crypto/bcm/cipher.h (+2/-2)
drivers/crypto/bcm/util.c (+1/-1)
drivers/crypto/chelsio/chtls/chtls_cm.c (+39/-66)
drivers/crypto/chelsio/chtls/chtls_cm.h (+0/-3)
drivers/crypto/chelsio/chtls/chtls_hw.c (+4/-0)
drivers/crypto/chelsio/chtls/chtls_io.c (+5/-2)
drivers/crypto/inside-secure/safexcel.c (+1/-1)
drivers/crypto/omap-aes.c (+5/-4)
drivers/crypto/qat/qat_c3xxxvf/adf_drv.c (+2/-2)
drivers/crypto/qat/qat_c62xvf/adf_drv.c (+2/-2)
drivers/crypto/qat/qat_common/adf_isr.c (+21/-8)
drivers/crypto/qat/qat_common/adf_transport.c (+1/-0)
drivers/crypto/qat/qat_common/adf_vf_isr.c (+13/-4)
drivers/crypto/qat/qat_common/qat_algs.c (+9/-2)
drivers/crypto/qat/qat_common/qat_hal.c (+1/-1)
drivers/crypto/qat/qat_dh895xccvf/adf_drv.c (+2/-2)
drivers/crypto/stm32/stm32-cryp.c (+2/-2)
drivers/crypto/stm32/stm32-hash.c (+4/-4)
drivers/crypto/sunxi-ss/sun4i-ss-cipher.c (+78/-61)
drivers/crypto/sunxi-ss/sun4i-ss.h (+2/-0)
drivers/crypto/talitos.c (+21/-17)
drivers/crypto/talitos.h (+1/-0)
drivers/dax/super.c (+1/-0)
drivers/devfreq/devfreq.c (+1/-1)
drivers/dma-buf/dma-buf.c (+17/-4)
drivers/dma-buf/dma-resv.c (+1/-1)
drivers/dma/at_hdmac.c (+8/-3)
drivers/dma/dma-jz4780.c (+4/-3)
drivers/dma/dw-edma/dw-edma-core.c (+7/-8)
drivers/dma/dw/Kconfig (+2/-0)
drivers/dma/fsldma.c (+6/-0)
drivers/dma/hsu/pci.c (+11/-10)
drivers/dma/mediatek/mtk-hsdma.c (+1/-0)
drivers/dma/mv_xor_v2.c (+3/-1)
drivers/dma/owl-dma.c (+1/-0)
drivers/dma/pl330.c (+1/-1)
drivers/dma/qcom/hidma_mgmt.c (+16/-1)
drivers/dma/xilinx/xilinx_dma.c (+10/-5)
drivers/edac/amd64_edac.c (+14/-12)
drivers/edac/bluefield_edac.c (+158/-17)
drivers/edac/i10nm_base.c (+7/-4)
drivers/edac/mce_amd.c (+1/-1)
drivers/extcon/extcon-arizona.c (+30/-27)
drivers/extcon/extcon-max77693.c (+1/-1)
drivers/extcon/extcon-ptn5150.c (+4/-4)
drivers/extcon/extcon.c (+1/-0)
drivers/firewire/nosy.c (+7/-2)
drivers/firmware/Kconfig (+1/-0)
drivers/firmware/arm_scmi/base.c (+2/-0)
drivers/firmware/arm_scmi/clock.c (+2/-0)
drivers/firmware/arm_scmi/common.h (+2/-0)
drivers/firmware/arm_scmi/driver.c (+8/-0)
drivers/firmware/arm_scmi/perf.c (+2/-0)
drivers/firmware/arm_scmi/reset.c (+1/-3)
drivers/firmware/arm_scmi/sensors.c (+2/-0)
drivers/firmware/arm_scpi.c (+3/-1)
drivers/firmware/efi/Kconfig (+1/-1)
drivers/firmware/efi/efi.c (+2/-1)
drivers/firmware/imx/Kconfig (+1/-0)
drivers/gpio/gpio-cadence.c (+1/-0)
drivers/gpio/gpio-eic-sprd.c (+7/-2)
drivers/gpio/gpio-ep93xx.c (+118/-98)
drivers/gpio/gpio-mlxbf2.c (+379/-0)
drivers/gpio/gpio-mvebu.c (+21/-20)
drivers/gpio/gpio-omap.c (+9/-0)
drivers/gpio/gpio-pcf857x.c (+1/-1)
drivers/gpio/gpio-pcie-idio-24.c (+56/-6)
drivers/gpio/gpio-zynq.c (+2/-2)
drivers/gpio/gpiolib-acpi.c (+15/-1)
drivers/gpio/gpiolib-sysfs.c (+8/-0)
drivers/gpu/drm/Kconfig (+1/-0)
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c (+2/-2)
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c (+3/-4)
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c (+1/-0)
drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c (+4/-1)
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c (+10/-0)
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c (+1/-1)
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c (+3/-3)
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h (+1/-1)
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c (+2/-1)
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c (+1/-1)
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c (+5/-5)
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h (+2/-2)
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c (+8/-1)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c (+12/-15)
drivers/gpu/drm/amd/amdgpu/cz_ih.c (+24/-13)
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c (+4/-2)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c (+7/-3)
drivers/gpu/drm/amd/amdgpu/iceland_ih.c (+23/-13)
drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h (+1/-1)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c (+4/-0)
drivers/gpu/drm/amd/amdgpu/soc15.c (+3/-4)
drivers/gpu/drm/amd/amdgpu/tonga_ih.c (+24/-13)
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c (+5/-1)
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c (+2/-0)
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c (+2/-0)
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c (+2/-0)
drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c (+6/-1)
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c (+15/-2)
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v10.c (+3/-2)
drivers/gpu/drm/amd/amdkfd/kfd_iommu.c (+6/-0)
drivers/gpu/drm/amd/amdkfd/kfd_iommu.h (+7/-2)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c (+88/-19)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c (+1/-1)
drivers/gpu/drm/amd/display/dc/bios/command_table.c (+61/-0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c (+11/-2)
drivers/gpu/drm/amd/display/dc/core/dc.c (+6/-1)
drivers/gpu/drm/amd/display/dc/core/dc_link.c (+30/-3)
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c (+5/-2)
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c (+14/-0)
drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c (+1/-0)
drivers/gpu/drm/amd/display/dc/dce/dce_transform.c (+4/-4)
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c (+2/-2)
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c (+9/-6)
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c (+10/-0)
drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c (+1/-0)
drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c (+1/-0)
drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c (+2/-2)
drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.c (+2/-2)
drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c (+22/-0)
drivers/gpu/drm/amd/display/dc/os_types.h (+1/-1)
drivers/gpu/drm/amd/display/modules/color/color_gamma.c (+1/-1)
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c (+5/-1)
drivers/gpu/drm/amd/powerplay/inc/hwmgr.h (+1/-0)
drivers/gpu/drm/amd/powerplay/inc/smumgr.h (+2/-0)
drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c (+25/-4)
drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c (+8/-0)
drivers/gpu/drm/aspeed/Kconfig (+1/-0)
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c (+10/-2)
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c (+7/-2)
drivers/gpu/drm/drm_atomic_helper.c (+1/-1)
drivers/gpu/drm/drm_dp_aux_dev.c (+1/-1)
drivers/gpu/drm/drm_dp_helper.c (+2/-0)
drivers/gpu/drm/drm_fb_helper.c (+10/-5)
drivers/gpu/drm/drm_gem_shmem_helper.c (+18/-7)
drivers/gpu/drm/drm_ioc32.c (+11/-0)
drivers/gpu/drm/drm_panel_orientation_quirks.c (+14/-0)
drivers/gpu/drm/drm_syncobj.c (+5/-3)
drivers/gpu/drm/gma500/cdv_intel_dp.c (+1/-1)
drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c (+13/-9)
drivers/gpu/drm/gma500/psb_drv.c (+2/-0)
drivers/gpu/drm/gma500/psb_irq.c (+12/-22)
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c (+0/-1)
drivers/gpu/drm/i915/display/intel_acpi.c (+20/-2)
drivers/gpu/drm/i915/display/intel_display.c (+2/-1)
drivers/gpu/drm/i915/display/intel_dp.c (+14/-3)
drivers/gpu/drm/i915/display/intel_hdmi.c (+5/-1)
drivers/gpu/drm/i915/display/intel_panel.c (+5/-4)
drivers/gpu/drm/i915/display/vlv_dsi.c (+13/-3)
drivers/gpu/drm/i915/gem/i915_gem_domain.c (+13/-15)
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c (+4/-2)
drivers/gpu/drm/i915/gem/i915_gem_mman.c (+1/-1)
drivers/gpu/drm/i915/gt/intel_engine_cs.c (+2/-1)
drivers/gpu/drm/i915/gt/intel_lrc.c (+6/-0)
drivers/gpu/drm/i915/gt/intel_mocs.c (+13/-1)
drivers/gpu/drm/i915/gvt/display.c (+212/-0)
drivers/gpu/drm/i915/gvt/gvt.c (+4/-4)
drivers/gpu/drm/i915/gvt/handlers.c (+38/-2)
drivers/gpu/drm/i915/gvt/mmio.c (+5/-0)
drivers/gpu/drm/i915/gvt/vgpu.c (+3/-2)
drivers/gpu/drm/i915/i915_drv.h (+6/-2)
drivers/gpu/drm/i915/i915_gpu_error.c (+3/-0)
drivers/gpu/drm/i915/intel_pm.c (+1/-1)
drivers/gpu/drm/i915/intel_uncore.c (+26/-1)
drivers/gpu/drm/imx/imx-ldb.c (+10/-0)
drivers/gpu/drm/mcde/mcde_drv.c (+2/-2)
drivers/gpu/drm/mediatek/mtk_hdmi_phy.c (+3/-2)
drivers/gpu/drm/meson/meson_drv.c (+12/-0)
drivers/gpu/drm/msm/adreno/a5xx_gpu.c (+2/-4)
drivers/gpu/drm/msm/adreno/a5xx_power.c (+1/-1)
drivers/gpu/drm/msm/adreno/a6xx_gpu.c (+2/-2)
drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c (+13/-5)
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c (+1/-1)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c (+1/-1)
drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c (+8/-0)
drivers/gpu/drm/msm/msm_drv.c (+9/-4)
drivers/gpu/drm/msm/msm_fence.c (+1/-1)
drivers/gpu/drm/nouveau/dispnv50/disp.c (+2/-2)
drivers/gpu/drm/nouveau/dispnv50/disp.h (+1/-1)
drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c (+1/-1)
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h (+1/-0)
drivers/gpu/drm/nouveau/nouveau_chan.c (+1/-0)
drivers/gpu/drm/nouveau/nouveau_connector.c (+1/-0)
drivers/gpu/drm/nouveau/nouveau_gem.c (+2/-1)
drivers/gpu/drm/nouveau/nouveau_svm.c (+7/-11)
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c (+1/-1)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c (+4/-4)
drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gf100.c (+7/-3)
drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gk104.c (+7/-3)
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c (+3/-3)
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c (+1/-0)
drivers/gpu/drm/panfrost/panfrost_gem.c (+1/-3)
drivers/gpu/drm/panfrost/panfrost_gem.h (+1/-1)
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c (+11/-3)
drivers/gpu/drm/panfrost/panfrost_mmu.c (+10/-3)
drivers/gpu/drm/qxl/qxl_display.c (+5/-0)
drivers/gpu/drm/radeon/radeon.h (+1/-0)
drivers/gpu/drm/radeon/radeon_atombios.c (+18/-8)
drivers/gpu/drm/radeon/radeon_kms.c (+1/-0)
drivers/gpu/drm/radeon/radeon_pm.c (+8/-0)
drivers/gpu/drm/radeon/si_dpm.c (+3/-0)
drivers/gpu/drm/scheduler/sched_main.c (+3/-0)
drivers/gpu/drm/sun4i/sun4i_frontend.c (+10/-26)
drivers/gpu/drm/sun4i/sun4i_frontend.h (+1/-5)
drivers/gpu/drm/sun4i/sun4i_tcon.c (+27/-19)
drivers/gpu/drm/sun4i/sun4i_tcon.h (+7/-0)
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c (+3/-4)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c (+9/-17)
drivers/gpu/drm/tegra/dc.c (+5/-5)
drivers/gpu/drm/tegra/drm.c (+1/-1)
drivers/gpu/drm/tegra/sor.c (+8/-2)
drivers/gpu/drm/ttm/ttm_bo.c (+1/-1)
drivers/gpu/drm/tve200/tve200_drv.c (+2/-2)
drivers/gpu/drm/vc4/vc4_drv.c (+1/-0)
drivers/gpu/drm/vc4/vc4_plane.c (+14/-4)
drivers/gpu/drm/virtio/virtgpu_vq.c (+3/-2)
drivers/gpu/drm/vkms/vkms_crtc.c (+2/-1)
drivers/hid/hid-alps.c (+1/-0)
drivers/hid/hid-core.c (+6/-3)
drivers/hid/hid-cypress.c (+39/-5)
drivers/hid/hid-google-hammer.c (+2/-0)
drivers/hid/hid-ids.h (+15/-0)
drivers/hid/hid-input.c (+5/-0)
drivers/hid/hid-ite.c (+60/-1)
drivers/hid/hid-logitech-dj.c (+32/-2)
drivers/hid/hid-logitech-hidpp.c (+32/-0)
drivers/hid/hid-mf.c (+2/-0)
drivers/hid/hid-multitouch.c (+4/-0)
drivers/hid/hid-plantronics.c (+58/-2)
drivers/hid/hid-quirks.c (+7/-0)
drivers/hid/hid-sensor-hub.c (+2/-1)
drivers/hid/hid-uclogic-core.c (+2/-0)
drivers/hid/hid-uclogic-params.c (+2/-0)
drivers/hid/i2c-hid/i2c-hid-core.c (+2/-0)
drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c (+8/-0)
drivers/hid/intel-ish-hid/ipc/hw-ish.h (+1/-0)
drivers/hid/intel-ish-hid/ipc/pci-ish.c (+1/-0)
drivers/hid/wacom_sys.c (+35/-5)
drivers/hid/wacom_wac.c (+12/-7)
drivers/hid/wacom_wac.h (+1/-1)
drivers/hsi/controllers/omap_ssi_core.c (+2/-2)
drivers/hsi/hsi_core.c (+1/-2)
drivers/hv/channel_mgmt.c (+32/-8)
drivers/hv/connection.c (+2/-0)
drivers/hv/hv.c (+6/-2)
drivers/hv/hv_balloon.c (+1/-1)
drivers/hwmon/Kconfig (+11/-0)
drivers/hwmon/Makefile (+1/-0)
drivers/hwmon/ahc1ec0-hwmon.c (+660/-0)
drivers/hwmon/ina3221.c (+1/-1)
drivers/hwmon/lm80.c (+2/-9)
drivers/hwmon/occ/common.c (+3/-2)
drivers/hwmon/occ/common.h (+1/-1)
drivers/hwmon/pwm-fan.c (+20/-8)
drivers/hwtracing/coresight/coresight-etb10.c (+3/-1)
drivers/hwtracing/coresight/coresight-priv.h (+2/-0)
drivers/hwtracing/coresight/coresight-tmc-etf.c (+3/-1)
drivers/hwtracing/coresight/coresight-tmc-etr.c (+3/-1)
drivers/hwtracing/intel_th/gth.c (+2/-2)
drivers/hwtracing/intel_th/pci.c (+15/-0)
drivers/hwtracing/stm/heartbeat.c (+4/-2)
drivers/i2c/busses/Kconfig (+13/-0)
drivers/i2c/busses/Makefile (+4/-0)
drivers/i2c/busses/i2c-bcm-iproc.c (+181/-50)
drivers/i2c/busses/i2c-brcmstb.c (+1/-1)
drivers/i2c/busses/i2c-cadence.c (+4/-1)
drivers/i2c/busses/i2c-emev2.c (+4/-1)
drivers/i2c/busses/i2c-i801.c (+3/-5)
drivers/i2c/busses/i2c-img-scb.c (+2/-2)
drivers/i2c/busses/i2c-imx-lpi2c.c (+1/-1)
drivers/i2c/busses/i2c-imx.c (+48/-18)
drivers/i2c/busses/i2c-jz4780.c (+4/-1)
drivers/i2c/busses/i2c-mlxbf.c (+2556/-0)
drivers/i2c/busses/i2c-mt65xx.c (+20/-7)
drivers/i2c/busses/i2c-octeon-core.c (+1/-1)
drivers/i2c/busses/i2c-omap.c (+4/-4)
drivers/i2c/busses/i2c-qcom-geni.c (+45/-20)
drivers/i2c/busses/i2c-qup.c (+2/-1)
drivers/i2c/busses/i2c-rcar.c (+5/-8)
drivers/i2c/busses/i2c-s3c2410.c (+3/-0)
drivers/i2c/busses/i2c-sh7760.c (+4/-1)
drivers/i2c/busses/i2c-sh_mobile.c (+67/-21)
drivers/i2c/busses/i2c-sprd.c (+9/-3)
drivers/i2c/busses/i2c-stm32f7.c (+10/-1)
drivers/i2c/busses/i2c-tegra-bpmp.c (+1/-1)
drivers/i2c/i2c-core-base.c (+4/-3)
drivers/i2c/i2c-dev.c (+7/-2)
drivers/ide/ide-atapi.c (+0/-1)
drivers/ide/ide-io.c (+0/-5)
drivers/iio/accel/adis16201.c (+1/-1)
drivers/iio/accel/kxcjk-1013.c (+46/-5)
drivers/iio/adc/Kconfig (+1/-0)
drivers/iio/adc/ad7124.c (+20/-16)
drivers/iio/adc/ad7768-1.c (+6/-2)
drivers/iio/adc/ad7793.c (+1/-0)
drivers/iio/adc/ad7949.c (+1/-1)
drivers/iio/adc/mt6577_auxadc.c (+4/-2)
drivers/iio/adc/qcom-spmi-vadc.c (+1/-1)
drivers/iio/adc/rcar-gyroadc.c (+15/-6)
drivers/iio/adc/rockchip_saradc.c (+1/-1)
drivers/iio/adc/ti-adc0832.c (+8/-3)
drivers/iio/adc/ti-adc12138.c (+9/-4)
drivers/iio/adc/ti-ads124s08.c (+10/-3)
drivers/iio/dac/ad5504.c (+2/-2)
drivers/iio/gyro/fxas21002c_core.c (+2/-0)
drivers/iio/gyro/itg3200_buffer.c (+11/-4)
drivers/iio/gyro/mpu3050-core.c (+13/-2)
drivers/iio/humidity/hid-sensor-humidity.c (+7/-5)
drivers/iio/imu/adis16400.c (+1/-2)
drivers/iio/imu/bmi160/bmi160.h (+7/-0)
drivers/iio/imu/bmi160/bmi160_core.c (+2/-4)
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c (+21/-5)
drivers/iio/industrialio-buffer.c (+3/-3)
drivers/iio/light/Kconfig (+1/-0)
drivers/iio/light/hid-sensor-prox.c (+11/-2)
drivers/iio/light/rpr0521.c (+13/-4)
drivers/iio/light/si1145.c (+11/-8)
drivers/iio/light/st_uvis25.h (+5/-0)
drivers/iio/light/st_uvis25_core.c (+5/-3)
drivers/iio/light/tsl2583.c (+8/-0)
drivers/iio/magnetometer/mag3110.c (+9/-4)
drivers/iio/pressure/mpl3115.c (+8/-1)
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c (+1/-0)
drivers/iio/temperature/hid-sensor-temperature.c (+8/-6)
drivers/iio/trigger/iio-trig-hrtimer.c (+2/-2)
drivers/infiniband/Kconfig (+3/-0)
drivers/infiniband/core/addr.c (+8/-7)
drivers/infiniband/core/cm.c (+6/-4)
drivers/infiniband/core/cma.c (+7/-4)
drivers/infiniband/core/device.c (+4/-3)
drivers/infiniband/core/restrack.c (+1/-0)
drivers/infiniband/core/user_mad.c (+16/-1)
drivers/infiniband/core/uverbs_std_types_device.c (+2/-2)
drivers/infiniband/hw/bnxt_re/ib_verbs.c (+1/-0)
drivers/infiniband/hw/bnxt_re/qplib_res.c (+1/-0)
drivers/infiniband/hw/cxgb4/cm.c (+3/-2)
drivers/infiniband/hw/cxgb4/cq.c (+3/-0)
drivers/infiniband/hw/cxgb4/qp.c (+1/-1)
drivers/infiniband/hw/cxgb4/resource.c (+1/-1)
drivers/infiniband/hw/hfi1/firmware.c (+1/-0)
drivers/infiniband/hw/hns/hns_roce_device.h (+1/-1)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c (+8/-8)
drivers/infiniband/hw/hns/hns_roce_main.c (+1/-2)
drivers/infiniband/hw/i40iw/i40iw_main.c (+0/-5)
drivers/infiniband/hw/i40iw/i40iw_pble.c (+2/-4)
drivers/infiniband/hw/i40iw/i40iw_verbs.c (+7/-29)
drivers/infiniband/hw/mlx5/devx.c (+20/-3)
drivers/infiniband/hw/mlx5/flow.c (+27/-2)
drivers/infiniband/hw/mlx5/main.c (+4/-4)
drivers/infiniband/hw/mlx5/mlx5_ib.h (+1/-1)
drivers/infiniband/hw/mthca/mthca_cq.c (+7/-5)
drivers/infiniband/hw/mthca/mthca_dev.h (+0/-1)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c (+1/-1)
drivers/infiniband/hw/qedr/qedr_iw_cm.c (+4/-1)
drivers/infiniband/hw/usnic/usnic_ib_verbs.c (+3/-0)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c (+1/-1)
drivers/infiniband/sw/rdmavt/Kconfig (+2/-1)
drivers/infiniband/sw/rxe/Kconfig (+2/-1)
drivers/infiniband/sw/rxe/rxe_net.c (+5/-0)
drivers/infiniband/sw/rxe/rxe_qp.c (+7/-0)
drivers/infiniband/sw/rxe/rxe_recv.c (+18/-9)
drivers/infiniband/sw/rxe/rxe_req.c (+2/-1)
drivers/infiniband/sw/siw/Kconfig (+1/-0)
drivers/infiniband/sw/siw/siw.h (+1/-1)
drivers/infiniband/sw/siw/siw_main.c (+1/-1)
drivers/infiniband/sw/siw/siw_mem.c (+2/-2)
drivers/infiniband/sw/siw/siw_qp.c (+142/-129)
drivers/infiniband/sw/siw/siw_qp_rx.c (+18/-8)
drivers/infiniband/sw/siw/siw_qp_tx.c (+2/-2)
drivers/infiniband/sw/siw/siw_verbs.c (+17/-12)
drivers/infiniband/ulp/srpt/ib_srpt.c (+1/-0)
drivers/input/joydev.c (+5/-2)
drivers/input/joystick/xpad.c (+19/-1)
drivers/input/keyboard/applespi.c (+15/-6)
drivers/input/keyboard/cros_ec_keyb.c (+1/-0)
drivers/input/keyboard/nspire-keypad.c (+31/-25)
drivers/input/keyboard/omap4-keypad.c (+53/-36)
drivers/input/keyboard/sunkbd.c (+33/-8)
drivers/input/misc/adxl34x.c (+1/-1)
drivers/input/misc/cm109.c (+5/-2)
drivers/input/mouse/cyapa_gen6.c (+1/-1)
drivers/input/mouse/elan_i2c.h (+23/-1)
drivers/input/mouse/elan_i2c_core.c (+77/-56)
drivers/input/mouse/elan_i2c_i2c.c (+24/-10)
drivers/input/mouse/elan_i2c_smbus.c (+22/-3)
drivers/input/mouse/elantech.c (+97/-2)
drivers/input/mouse/elantech.h (+4/-0)
drivers/input/serio/hil_mlc.c (+18/-3)
drivers/input/serio/hp_sdc_mlc.c (+4/-4)
drivers/input/serio/i8042-x86ia64io.h (+53/-0)
drivers/input/serio/i8042.c (+13/-2)
drivers/input/touchscreen/Kconfig (+1/-0)
drivers/input/touchscreen/ads7846.c (+31/-21)
drivers/input/touchscreen/elants_i2c.c (+42/-2)
drivers/input/touchscreen/elo.c (+3/-1)
drivers/input/touchscreen/goodix.c (+12/-0)
drivers/input/touchscreen/ili210x.c (+1/-1)
drivers/input/touchscreen/raydium_i2c_ts.c (+2/-1)
drivers/input/touchscreen/s6sy761.c (+2/-2)
drivers/input/touchscreen/silead.c (+40/-4)
drivers/input/touchscreen/sur40.c (+1/-0)
drivers/interconnect/core.c (+2/-0)
drivers/interconnect/qcom/qcs404.c (+2/-2)
drivers/iommu/amd_iommu.c (+6/-4)
drivers/iommu/amd_iommu_init.c (+1/-23)
drivers/iommu/amd_iommu_types.h (+6/-2)
drivers/iommu/dmar.c (+34/-15)
drivers/iommu/intel-iommu.c (+36/-17)
drivers/iommu/intel-svm.c (+21/-3)
drivers/iommu/intel_irq_remapping.c (+2/-0)
drivers/irqchip/irq-alpine-msi.c (+1/-2)
drivers/irqchip/irq-gic-v3-its.c (+3/-13)
drivers/irqchip/irq-gic-v3-mbi.c (+1/-1)
drivers/irqchip/irq-gic-v3.c (+4/-4)
drivers/irqchip/irq-ingenic-tcu.c (+1/-0)
drivers/irqchip/irq-ingenic.c (+1/-0)
drivers/irqchip/irq-mips-cpu.c (+7/-0)
drivers/irqchip/irq-sni-exiu.c (+1/-1)
drivers/isdn/capi/kcapi.c (+2/-2)
drivers/isdn/hardware/mISDN/hfcsusb.c (+8/-9)
drivers/isdn/hardware/mISDN/mISDNinfineon.c (+13/-8)
drivers/isdn/hardware/mISDN/mISDNipac.c (+1/-1)
drivers/isdn/mISDN/Kconfig (+1/-0)
drivers/leds/led-triggers.c (+6/-4)
drivers/leds/leds-bcm6328.c (+1/-1)
drivers/leds/leds-bcm6358.c (+1/-1)
drivers/leds/leds-lp5523.c (+1/-1)
drivers/lightnvm/Kconfig (+1/-0)
drivers/lightnvm/core.c (+1/-2)
drivers/md/Kconfig (+1/-0)
drivers/md/bcache/bcache.h (+7/-0)
drivers/md/bcache/btree.c (+19/-2)
drivers/md/bcache/journal.c (+2/-2)
drivers/md/bcache/super.c (+20/-0)
drivers/md/bcache/sysfs.c (+23/-0)
drivers/md/bcache/writeback.c (+42/-0)
drivers/md/bcache/writeback.h (+4/-0)
drivers/md/dm-bufio.c (+10/-0)
drivers/md/dm-core.h (+4/-0)
drivers/md/dm-crypt.c (+1/-0)
drivers/md/dm-era-target.c (+60/-33)
drivers/md/dm-integrity.c (+78/-9)
drivers/md/dm-ioctl.c (+2/-1)
drivers/md/dm-raid.c (+28/-6)
drivers/md/dm-rq.c (+2/-0)
drivers/md/dm-snap.c (+26/-1)
drivers/md/dm-table.c (+85/-110)
drivers/md/dm-verity-fec.c (+17/-11)
drivers/md/dm-verity-fec.h (+1/-0)
drivers/md/dm-verity-target.c (+12/-2)
drivers/md/dm-writecache.c (+20/-2)
drivers/md/dm.c (+66/-6)
drivers/md/dm.h (+1/-1)
drivers/md/md-bitmap.c (+3/-1)
drivers/md/md-cluster.c (+38/-29)
drivers/md/md.c (+70/-36)
drivers/md/md.h (+1/-1)
drivers/md/persistent-data/dm-btree-internal.h (+2/-2)
drivers/md/persistent-data/dm-space-map-common.c (+2/-0)
drivers/md/persistent-data/dm-space-map-common.h (+4/-4)
drivers/md/raid1.c (+2/-0)
drivers/md/raid10.c (+55/-43)
drivers/md/raid5.c (+2/-2)
drivers/media/common/siano/smsdvb-main.c (+4/-1)
drivers/media/dvb-core/dvbdev.c (+1/-0)
drivers/media/dvb-frontends/sp8870.c (+1/-1)
drivers/media/i2c/adv7511-v4l2.c (+1/-1)
drivers/media/i2c/adv7604.c (+1/-1)
drivers/media/i2c/adv7842.c (+1/-1)
drivers/media/i2c/imx214.c (+1/-1)
drivers/media/i2c/imx274.c (+5/-3)
drivers/media/i2c/max2175.c (+1/-1)
drivers/media/i2c/ov5670.c (+2/-1)
drivers/media/i2c/tc358743.c (+1/-1)
drivers/media/i2c/tda1997x.c (+1/-1)
drivers/media/pci/cx23885/cx23885-core.c (+4/-0)
drivers/media/pci/cx25821/cx25821-core.c (+3/-1)
drivers/media/pci/intel/ipu3/ipu3-cio2.c (+34/-28)
drivers/media/pci/intel/ipu3/ipu3-cio2.h (+1/-0)
drivers/media/pci/netup_unidvb/netup_unidvb_spi.c (+3/-2)
drivers/media/pci/saa7134/saa7134-empress.c (+4/-1)
drivers/media/pci/saa7146/mxb.c (+10/-9)
drivers/media/pci/saa7164/saa7164-encoder.c (+11/-9)
drivers/media/pci/smipcie/smipcie-ir.c (+26/-20)
drivers/media/pci/solo6x10/solo6x10-g723.c (+1/-1)
drivers/media/pci/sta2x11/Kconfig (+1/-0)
drivers/media/pci/tw5864/tw5864-video.c (+6/-0)
drivers/media/platform/aspeed-video.c (+9/-6)
drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c (+7/-0)
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c (+13/-6)
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c (+19/-7)
drivers/media/platform/pxa_camera.c (+3/-0)
drivers/media/platform/qcom/camss/camss-video.c (+1/-0)
drivers/media/platform/rcar_drif.c (+0/-1)
drivers/media/platform/sti/bdisp/bdisp-debug.c (+1/-1)
drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c (+3/-1)
drivers/media/platform/vivid/vivid-core.c (+3/-3)
drivers/media/platform/vivid/vivid-vid-out.c (+1/-1)
drivers/media/platform/vsp1/vsp1_drm.c (+3/-3)
drivers/media/platform/vsp1/vsp1_drv.c (+3/-1)
drivers/media/rc/Makefile (+1/-0)
drivers/media/rc/ite-cir.c (+7/-1)
drivers/media/rc/keymaps/Makefile (+0/-1)
drivers/media/rc/keymaps/rc-cec.c (+11/-17)
drivers/media/rc/mceusb.c (+9/-2)
drivers/media/rc/rc-main.c (+8/-2)
drivers/media/rc/sunxi-cir.c (+2/-0)
drivers/media/tuners/m88rs6000t.c (+3/-3)
drivers/media/tuners/qm1d1c0042.c (+3/-1)
drivers/media/usb/dvb-usb-v2/lmedm04.c (+1/-1)
drivers/media/usb/dvb-usb/dvb-usb-init.c (+60/-30)
drivers/media/usb/dvb-usb/dvb-usb.h (+1/-1)
drivers/media/usb/dvb-usb/gp8psk.c (+1/-1)
drivers/media/usb/em28xx/em28xx-core.c (+1/-5)
drivers/media/usb/em28xx/em28xx-dvb.c (+1/-0)
drivers/media/usb/gspca/cpia1.c (+1/-5)
drivers/media/usb/gspca/gspca.c (+3/-0)
drivers/media/usb/gspca/gspca.h (+1/-0)
drivers/media/usb/gspca/m5602/m5602_mt9m111.c (+8/-8)
drivers/media/usb/gspca/m5602/m5602_po1030.c (+7/-7)
drivers/media/usb/gspca/sq905.c (+1/-1)
drivers/media/usb/gspca/stv06xx/stv06xx.c (+9/-0)
drivers/media/usb/msi2500/msi2500.c (+1/-1)
drivers/media/usb/pwc/pwc-if.c (+13/-9)
drivers/media/usb/tm6000/tm6000-dvb.c (+4/-0)
drivers/media/usb/tm6000/tm6000-video.c (+3/-2)
drivers/media/usb/usbtv/usbtv-audio.c (+1/-1)
drivers/media/usb/uvc/uvc_ctrl.c (+16/-11)
drivers/media/usb/uvc/uvc_driver.c (+5/-2)
drivers/media/usb/uvc/uvc_v4l2.c (+9/-9)
drivers/media/v4l2-core/v4l2-ctrls.c (+16/-4)
drivers/media/v4l2-core/v4l2-fwnode.c (+5/-1)
drivers/media/v4l2-core/v4l2-ioctl.c (+7/-12)
drivers/memory/emif.c (+5/-28)
drivers/memory/mtk-smi.c (+2/-2)
drivers/memory/omap-gpmc.c (+5/-2)
drivers/memory/pl353-smc.c (+1/-1)
drivers/memory/ti-aemif.c (+6/-2)
drivers/memstick/core/memstick.c (+0/-1)
drivers/memstick/host/r592.c (+8/-4)
drivers/message/fusion/mptscsih.c (+8/-5)
drivers/mfd/Kconfig (+11/-0)
drivers/mfd/Makefile (+2/-0)
drivers/mfd/ahc1ec0.c (+808/-0)
drivers/mfd/arizona-irq.c (+1/-1)
drivers/mfd/bd9571mwv.c (+3/-3)
drivers/mfd/sprd-sc27xx-spi.c (+27/-1)
drivers/mfd/stm32-timers.c (+6/-1)
drivers/mfd/wm831x-auxadc.c (+1/-2)
drivers/misc/cardreader/rts5227.c (+5/-0)
drivers/misc/cardreader/rtsx_pcr.c (+0/-4)
drivers/misc/cxl/pci.c (+2/-2)
drivers/misc/eeprom/eeprom_93xx46.c (+16/-0)
drivers/misc/fastrpc.c (+5/-0)
drivers/misc/habanalabs/device.c (+12/-8)
drivers/misc/habanalabs/habanalabs_drv.c (+1/-0)
drivers/misc/ics932s401.c (+1/-1)
drivers/misc/kgdbts.c (+14/-13)
drivers/misc/lis3lv02d/lis3lv02d.c (+16/-5)
drivers/misc/lis3lv02d/lis3lv02d.h (+1/-0)
drivers/misc/lkdtm/Makefile (+1/-1)
drivers/misc/lkdtm/rodata.c (+1/-1)
drivers/misc/mei/client.h (+2/-2)
drivers/misc/mei/hbm.c (+1/-1)
drivers/misc/mei/interrupt.c (+3/-0)
drivers/misc/pvpanic.c (+1/-0)
drivers/misc/vmw_vmci/vmci_context.c (+1/-1)
drivers/misc/vmw_vmci/vmci_doorbell.c (+1/-1)
drivers/misc/vmw_vmci/vmci_guest.c (+1/-1)
drivers/misc/vmw_vmci/vmci_queue_pair.c (+4/-1)
drivers/mmc/core/block.c (+17/-1)
drivers/mmc/core/bus.c (+5/-6)
drivers/mmc/core/core.c (+1/-75)
drivers/mmc/core/core.h (+9/-8)
drivers/mmc/core/host.c (+37/-3)
drivers/mmc/core/mmc.c (+18/-4)
drivers/mmc/core/mmc_ops.c (+1/-3)
drivers/mmc/core/queue.c (+3/-1)
drivers/mmc/core/sd.c (+6/-0)
drivers/mmc/core/sdio.c (+22/-6)
drivers/mmc/core/sdio_cis.c (+6/-0)
drivers/mmc/host/mtk-sd.c (+10/-8)
drivers/mmc/host/mxs-mmc.c (+1/-1)
drivers/mmc/host/pxamci.c (+1/-0)
drivers/mmc/host/renesas_sdhi_core.c (+1/-0)
drivers/mmc/host/renesas_sdhi_internal_dmac.c (+2/-2)
drivers/mmc/host/sdhci-acpi.c (+37/-0)
drivers/mmc/host/sdhci-esdhc-imx.c (+2/-1)
drivers/mmc/host/sdhci-of-dwcmshc.c (+1/-0)
drivers/mmc/host/sdhci-of-esdhc.c (+13/-0)
drivers/mmc/host/sdhci-pci-core.c (+194/-2)
drivers/mmc/host/sdhci-pci-gli.c (+6/-1)
drivers/mmc/host/sdhci-pci.h (+2/-0)
drivers/mmc/host/sdhci-sprd.c (+3/-3)
drivers/mmc/host/sdhci-xenon.c (+6/-1)
drivers/mmc/host/sdhci.c (+35/-31)
drivers/mmc/host/uniphier-sd.c (+4/-1)
drivers/mmc/host/usdhi6rol0.c (+3/-1)
drivers/mmc/host/via-sdmmc.c (+3/-0)
drivers/mtd/mtdchar.c (+4/-4)
drivers/mtd/mtdcore.c (+3/-0)
drivers/mtd/nand/raw/atmel/nand-controller.c (+4/-2)
drivers/mtd/nand/raw/brcmnand/brcmnand.c (+6/-0)
drivers/mtd/nand/raw/fsmc_nand.c (+2/-0)
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c (+28/-12)
drivers/mtd/nand/raw/meson_nand.c (+5/-2)
drivers/mtd/nand/raw/qcom_nandc.c (+4/-5)
drivers/mtd/nand/spi/core.c (+2/-0)
drivers/mtd/parsers/afs.c (+1/-3)
drivers/mtd/parsers/cmdlinepart.c (+13/-1)
drivers/mtd/parsers/parser_imagetag.c (+4/-0)
drivers/mtd/spi-nor/cadence-quadspi.c (+1/-1)
drivers/mtd/spi-nor/hisi-sfc.c (+3/-1)
drivers/mtd/spi-nor/spi-nor.c (+10/-10)
drivers/mtd/ubi/wl.c (+13/-0)
drivers/net/bonding/bond_alb.c (+30/-16)
drivers/net/bonding/bond_main.c (+514/-123)
drivers/net/bonding/bond_options.c (+40/-0)
drivers/net/bonding/bond_sysfs_slave.c (+1/-17)
drivers/net/caif/caif_serial.c (+0/-1)
drivers/net/can/Kconfig (+1/-0)
drivers/net/can/Makefile (+1/-6)
drivers/net/can/c_can/c_can.c (+1/-23)
drivers/net/can/c_can/c_can_pci.c (+2/-1)
drivers/net/can/c_can/c_can_platform.c (+5/-1)
drivers/net/can/dev/Makefile (+7/-0)
drivers/net/can/dev/dev.c (+18/-7)
drivers/net/can/dev/rx-offload.c (+2/-2)
drivers/net/can/flexcan.c (+60/-33)
drivers/net/can/kvaser_pciefd.c (+6/-2)
drivers/net/can/m_can/Kconfig (+2/-1)
drivers/net/can/m_can/m_can.c (+20/-15)
drivers/net/can/m_can/m_can.h (+1/-0)
drivers/net/can/m_can/tcan4x5x.c (+10/-32)
drivers/net/can/peak_canfd/peak_canfd.c (+8/-3)
drivers/net/can/slcan.c (+3/-1)
drivers/net/can/softing/softing_main.c (+7/-2)
drivers/net/can/ti_hecc.c (+13/-8)
drivers/net/can/usb/gs_usb.c (+70/-61)
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c (+1/-1)
drivers/net/can/usb/mcba_usb.c (+2/-2)
drivers/net/can/usb/peak_usb/pcan_usb_core.c (+51/-6)
drivers/net/can/usb/peak_usb/pcan_usb_fd.c (+41/-15)
drivers/net/can/vcan.c (+1/-1)
drivers/net/can/vxcan.c (+9/-3)
drivers/net/can/xilinx_can.c (+3/-3)
drivers/net/dsa/b53/b53_common.c (+26/-8)
drivers/net/dsa/b53/b53_regs.h (+1/-0)
drivers/net/dsa/bcm_sf2.c (+10/-9)
drivers/net/dsa/lantiq_gswip.c (+195/-44)
drivers/net/dsa/mt7530.c (+0/-8)
drivers/net/dsa/mv88e6xxx/chip.c (+20/-18)
drivers/net/dsa/mv88e6xxx/global1.c (+31/-0)
drivers/net/dsa/mv88e6xxx/global1.h (+1/-0)
drivers/net/dsa/mv88e6xxx/global1_vtu.c (+53/-10)
drivers/net/dsa/sja1105/sja1105_main.c (+1/-0)
drivers/net/ethernet/allwinner/sun4i-emac.c (+5/-2)
drivers/net/ethernet/amazon/ena/ena_admin_defs.h (+69/-59)
drivers/net/ethernet/amazon/ena/ena_com.c (+126/-121)
drivers/net/ethernet/amazon/ena/ena_com.h (+12/-30)
drivers/net/ethernet/amazon/ena/ena_common_defs.h (+2/-29)
drivers/net/ethernet/amazon/ena/ena_eth_com.c (+34/-53)
drivers/net/ethernet/amazon/ena/ena_eth_com.h (+5/-32)
drivers/net/ethernet/amazon/ena/ena_eth_io_defs.h (+2/-29)
drivers/net/ethernet/amazon/ena/ena_ethtool.c (+128/-75)
drivers/net/ethernet/amazon/ena/ena_netdev.c (+128/-140)
drivers/net/ethernet/amazon/ena/ena_netdev.h (+11/-29)
drivers/net/ethernet/amazon/ena/ena_pci_id_tbl.h (+2/-29)
drivers/net/ethernet/amazon/ena/ena_regs_defs.h (+2/-29)
drivers/net/ethernet/amd/pcnet32.c (+3/-2)
drivers/net/ethernet/amd/xgbe/xgbe-common.h (+14/-0)
drivers/net/ethernet/amd/xgbe/xgbe-drv.c (+1/-0)
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c (+1/-2)
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c (+38/-1)
drivers/net/ethernet/amd/xgbe/xgbe.h (+3/-3)
drivers/net/ethernet/aquantia/atlantic/aq_main.c (+3/-1)
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c (+1/-1)
drivers/net/ethernet/atheros/ag71xx.c (+1/-3)
drivers/net/ethernet/broadcom/b44.c (+2/-1)
drivers/net/ethernet/broadcom/bcmsysport.c (+1/-0)
drivers/net/ethernet/broadcom/bnx2.c (+1/-1)
drivers/net/ethernet/broadcom/bnxt/bnxt.c (+77/-25)
drivers/net/ethernet/broadcom/bnxt/bnxt.h (+1/-0)
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c (+1/-1)
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c (+6/-2)
drivers/net/ethernet/broadcom/genet/bcmgenet.c (+3/-1)
drivers/net/ethernet/brocade/bna/bnad.c (+2/-5)
drivers/net/ethernet/cadence/macb_main.c (+10/-2)
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_regs.h (+1/-1)
drivers/net/ethernet/cavium/liquidio/cn66xx_regs.h (+1/-1)
drivers/net/ethernet/cavium/liquidio/lio_main.c (+17/-10)
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c (+20/-7)
drivers/net/ethernet/cavium/thunder/nicvf_queues.c (+1/-1)
drivers/net/ethernet/chelsio/cxgb3/sge.c (+1/-0)
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c (+19/-4)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c (+1/-1)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c (+40/-41)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h (+3/-0)
drivers/net/ethernet/chelsio/cxgb4/sge.c (+8/-3)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c (+2/-1)
drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h (+1/-0)
drivers/net/ethernet/chelsio/cxgb4/t4_tcb.h (+4/-0)
drivers/net/ethernet/cisco/enic/enic_main.c (+5/-2)
drivers/net/ethernet/davicom/dm9000.c (+22/-7)
drivers/net/ethernet/dec/tulip/de4x5.c (+2/-2)
drivers/net/ethernet/dec/tulip/media.c (+0/-5)
drivers/net/ethernet/ethoc.c (+2/-1)
drivers/net/ethernet/faraday/ftgmac100.c (+5/-0)
drivers/net/ethernet/freescale/enetc/enetc.c (+7/-12)
drivers/net/ethernet/freescale/enetc/enetc.h (+5/-0)
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c (+7/-3)
drivers/net/ethernet/freescale/enetc/enetc_hw.h (+9/-3)
drivers/net/ethernet/freescale/enetc/enetc_pf.c (+94/-5)
drivers/net/ethernet/freescale/enetc/enetc_vf.c (+7/-0)
drivers/net/ethernet/freescale/fec_main.c (+9/-2)
drivers/net/ethernet/freescale/fec_ptp.c (+7/-0)
drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c (+1/-0)
drivers/net/ethernet/freescale/fs_enet/mii-fec.c (+1/-0)
drivers/net/ethernet/freescale/gianfar.c (+23/-12)
drivers/net/ethernet/freescale/ucc_geth.c (+2/-1)
drivers/net/ethernet/freescale/ucc_geth.h (+8/-1)
drivers/net/ethernet/fujitsu/fmvj18x_cs.c (+2/-2)
drivers/net/ethernet/google/gve/gve_main.c (+12/-9)
drivers/net/ethernet/google/gve/gve_tx.c (+6/-2)
drivers/net/ethernet/hisilicon/hns/hns_enet.c (+3/-1)
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c (+4/-0)
drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h (+2/-2)
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c (+14/-11)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h (+3/-3)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.h (+0/-4)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c (+2/-1)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h (+2/-1)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c (+12/-5)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c (+1/-1)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c (+2/-0)
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c (+3/-3)
drivers/net/ethernet/ibm/ibmvnic.c (+110/-27)
drivers/net/ethernet/intel/e1000e/82571.c (+2/-0)
drivers/net/ethernet/intel/e1000e/netdev.c (+5/-1)
drivers/net/ethernet/intel/i40e/i40e.h (+5/-0)
drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h (+4/-2)
drivers/net/ethernet/intel/i40e/i40e_client.c (+1/-0)
drivers/net/ethernet/intel/i40e/i40e_common.c (+2/-2)
drivers/net/ethernet/intel/i40e/i40e_ethtool.c (+60/-16)
drivers/net/ethernet/intel/i40e/i40e_main.c (+49/-42)
drivers/net/ethernet/intel/i40e/i40e_txrx.c (+38/-17)
drivers/net/ethernet/intel/i40e/i40e_type.h (+2/-5)
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c (+31/-32)
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h (+0/-1)
drivers/net/ethernet/intel/i40e/i40e_xsk.c (+12/-6)
drivers/net/ethernet/intel/iavf/iavf_main.c (+3/-6)
drivers/net/ethernet/intel/ice/ice_controlq.h (+2/-2)
drivers/net/ethernet/intel/ice/ice_devids.h (+2/-0)
drivers/net/ethernet/intel/ice/ice_main.c (+1/-0)
drivers/net/ethernet/intel/ice/ice_switch.c (+9/-6)
drivers/net/ethernet/intel/igb/igb_main.c (+1/-2)
drivers/net/ethernet/intel/igc/igc_ethtool.c (+24/-10)
drivers/net/ethernet/intel/igc/igc_i225.c (+1/-2)
drivers/net/ethernet/intel/igc/igc_mac.c (+1/-1)
drivers/net/ethernet/intel/igc/igc_main.c (+8/-6)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c (+9/-4)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c (+21/-9)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c (+7/-9)
drivers/net/ethernet/intel/ixgbevf/ipsec.c (+5/-0)
drivers/net/ethernet/korina.c (+1/-1)
drivers/net/ethernet/lantiq_xrx200.c (+11/-5)
drivers/net/ethernet/marvell/mvneta.c (+9/-2)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c (+37/-26)
drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c (+41/-7)
drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.h (+1/-1)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c (+11/-3)
drivers/net/ethernet/marvell/octeontx2/af/rvu.c (+3/-1)
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c (+1/-1)
drivers/net/ethernet/marvell/pxa168_eth.c (+1/-1)
drivers/net/ethernet/mediatek/mtk_eth_soc.c (+45/-24)
drivers/net/ethernet/mediatek/mtk_eth_soc.h (+23/-2)
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c (+2/-4)
drivers/net/ethernet/mellanox/mlx4/en_netdev.c (+16/-7)
drivers/net/ethernet/mellanox/mlx4/en_tx.c (+34/-8)
drivers/net/ethernet/mellanox/mlx4/fw.c (+3/-3)
drivers/net/ethernet/mellanox/mlx4/fw.h (+2/-2)
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h (+12/-1)
drivers/net/ethernet/mellanox/mlx4/port.c (+103/-4)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c (+1/-0)
drivers/net/ethernet/mellanox/mlx5/core/cmd.c (+96/-13)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c (+4/-0)
drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h (+14/-0)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h (+3/-1)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c (+2/-2)
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c (+34/-18)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c (+3/-0)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c (+6/-10)
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c (+3/-2)
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c (+4/-0)
drivers/net/ethernet/mellanox/mlx5/core/en_stats.h (+2/-0)
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c (+82/-7)
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c (+2/-2)
drivers/net/ethernet/mellanox/mlx5/core/eq.c (+112/-66)
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c (+42/-7)
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c (+28/-3)
drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c (+6/-0)
drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h (+2/-0)
drivers/net/ethernet/mellanox/mlx5/core/main.c (+19/-1)
drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c (+19/-2)
drivers/net/ethernet/mellanox/mlx5/core/rdma.c (+1/-1)
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c (+1/-0)
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c (+5/-0)
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h (+1/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/Kconfig (+4/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/Makefile (+10/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige.h (+65/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_ethtool.c (+175/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_gpio.c (+212/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_intr.c (+142/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c (+201/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c (+26/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_regs.h (+4/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_rx.c (+320/-0)
drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_tx.c (+284/-0)
drivers/net/ethernet/mellanox/mlxsw/core.c (+7/-1)
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c (+8/-5)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c (+15/-15)
drivers/net/ethernet/micrel/ksz884x.c (+1/-2)
drivers/net/ethernet/microchip/lan743x_ethtool.c (+5/-4)
drivers/net/ethernet/microchip/lan743x_main.c (+35/-39)
drivers/net/ethernet/microchip/lan743x_main.h (+0/-3)
drivers/net/ethernet/mscc/ocelot.c (+1/-3)
drivers/net/ethernet/natsemi/macsonic.c (+10/-2)
drivers/net/ethernet/natsemi/xtsonic.c (+5/-2)
drivers/net/ethernet/neterion/vxge/vxge-traffic.c (+11/-21)
drivers/net/ethernet/netronome/nfp/bpf/cmsg.c (+1/-0)
drivers/net/ethernet/netronome/nfp/flower/main.h (+8/-0)
drivers/net/ethernet/netronome/nfp/flower/metadata.c (+32/-8)
drivers/net/ethernet/netronome/nfp/flower/offload.c (+46/-2)
drivers/net/ethernet/pasemi/pasemi_mac.c (+6/-2)
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c (+5/-0)
drivers/net/ethernet/pensando/ionic/ionic_txrx.c (+1/-1)
drivers/net/ethernet/qlogic/Kconfig (+1/-0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c (+1/-6)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c (+9/-3)
drivers/net/ethernet/qlogic/qede/qede_fp.c (+5/-0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c (+2/-1)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c (+2/-1)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c (+1/-0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c (+3/-0)
drivers/net/ethernet/qualcomm/emac/emac-mac.c (+3/-1)
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c (+5/-0)
drivers/net/ethernet/realtek/r8169_main.c (+60/-104)
drivers/net/ethernet/renesas/ravb_main.c (+19/-26)
drivers/net/ethernet/renesas/sh_eth.c (+9/-2)
drivers/net/ethernet/sfc/falcon/farch.c (+11/-18)
drivers/net/ethernet/sis/sis900.c (+2/-3)
drivers/net/ethernet/socionext/netsec.c (+6/-3)
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c (+2/-0)
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c (+3/-3)
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c (+46/-14)
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c (+4/-4)
drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c (+19/-7)
drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c (+0/-4)
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c (+30/-16)
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c (+6/-1)
drivers/net/ethernet/sun/niu.c (+20/-14)
drivers/net/ethernet/sun/sunvnet_common.c (+4/-19)
drivers/net/ethernet/synopsys/dwc-xlgmac-common.c (+1/-1)
drivers/net/ethernet/tehuti/tehuti.c (+1/-0)
drivers/net/ethernet/ti/cpsw.c (+1/-0)
drivers/net/ethernet/ti/cpts.c (+2/-0)
drivers/net/ethernet/ti/davinci_emac.c (+4/-5)
drivers/net/ethernet/ti/netcp_core.c (+1/-1)
drivers/net/ethernet/ti/tlan.c (+1/-3)
drivers/net/ethernet/via/via-velocity.c (+0/-13)
drivers/net/ethernet/xilinx/ll_temac_main.c (+14/-16)
drivers/net/ethernet/xilinx/xilinx_axienet_main.c (+12/-14)
drivers/net/fddi/Kconfig (+9/-6)
drivers/net/fddi/defxx.c (+30/-17)
drivers/net/geneve.c (+7/-2)
drivers/net/gtp.c (+10/-11)
drivers/net/ieee802154/atusb.c (+1/-0)
drivers/net/macvlan.c (+2/-3)
drivers/net/netdevsim/netdev.c (+1/-0)
drivers/net/phy/bcm-phy-lib.c (+10/-3)
drivers/net/phy/intel-xway.c (+21/-0)
drivers/net/phy/marvell.c (+26/-3)
drivers/net/phy/mdio-octeon.c (+0/-2)
drivers/net/phy/mdio-thunder.c (+0/-1)
drivers/net/phy/phy.c (+4/-3)
drivers/net/phy/sfp.c (+2/-1)
drivers/net/tap.c (+3/-4)
drivers/net/team/team.c (+3/-3)
drivers/net/tun.c (+62/-6)
drivers/net/usb/ax88179_178a.c (+2/-2)
drivers/net/usb/cdc-phonet.c (+2/-0)
drivers/net/usb/cdc_ether.c (+7/-0)
drivers/net/usb/cdc_ncm.c (+6/-5)
drivers/net/usb/hso.c (+35/-45)
drivers/net/usb/ipheth.c (+1/-1)
drivers/net/usb/qmi_wwan.c (+6/-15)
drivers/net/usb/r8152.c (+11/-30)
drivers/net/usb/rndis_host.c (+1/-1)
drivers/net/usb/smsc75xx.c (+6/-2)
drivers/net/veth.c (+1/-2)
drivers/net/virtio_net.c (+47/-28)
drivers/net/vrf.c (+77/-25)
drivers/net/vxlan.c (+14/-4)
drivers/net/wan/Kconfig (+1/-0)
drivers/net/wan/cosa.c (+1/-0)
drivers/net/wan/fsl_ucc_hdlc.c (+6/-2)
drivers/net/wan/hdlc_fr.c (+51/-47)
drivers/net/wan/hdlc_ppp.c (+7/-0)
drivers/net/wan/lapbether.c (+24/-9)
drivers/net/wan/lmc/lmc_main.c (+2/-0)
drivers/net/wimax/i2400m/op-rfkill.c (+1/-1)
drivers/net/wireless/ath/ath10k/htt.h (+1/-0)
drivers/net/wireless/ath/ath10k/htt_rx.c (+198/-11)
drivers/net/wireless/ath/ath10k/mac.c (+4/-11)
drivers/net/wireless/ath/ath10k/rx_desc.h (+13/-1)
drivers/net/wireless/ath/ath10k/sdio.c (+4/-0)
drivers/net/wireless/ath/ath10k/snoc.c (+3/-2)
drivers/net/wireless/ath/ath10k/usb.c (+6/-1)
drivers/net/wireless/ath/ath10k/wmi-tlv.c (+11/-3)
drivers/net/wireless/ath/ath10k/wmi.c (+7/-2)
drivers/net/wireless/ath/ath10k/wmi.h (+1/-0)
drivers/net/wireless/ath/ath6kl/debug.c (+4/-1)
drivers/net/wireless/ath/ath9k/ath9k.h (+2/-1)
drivers/net/wireless/ath/ath9k/debug.c (+4/-1)
drivers/net/wireless/ath/ath9k/htc_drv_init.c (+1/-1)
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c (+1/-1)
drivers/net/wireless/ath/ath9k/hw.c (+1/-1)
drivers/net/wireless/ath/ath9k/xmit.c (+6/-0)
drivers/net/wireless/ath/wil6210/Kconfig (+1/-0)
drivers/net/wireless/broadcom/b43/phy_n.c (+1/-1)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c (+2/-6)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h (+17/-2)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c (+5/-2)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c (+18/-24)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c (+32/-0)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c (+6/-4)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c (+6/-9)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.h (+0/-5)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c (+1/-0)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c (+2/-6)
drivers/net/wireless/intel/ipw2x00/libipw_wx.c (+4/-2)
drivers/net/wireless/intel/iwlwifi/iwl-csr.h (+10/-0)
drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c (+3/-0)
drivers/net/wireless/intel/iwlwifi/mvm/fw.c (+8/-1)
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c (+7/-1)
drivers/net/wireless/intel/iwlwifi/mvm/ops.c (+12/-1)
drivers/net/wireless/intel/iwlwifi/mvm/sta.c (+6/-0)
drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c (+29/-2)
drivers/net/wireless/intel/iwlwifi/pcie/drv.c (+2/-0)
drivers/net/wireless/intel/iwlwifi/pcie/trans.c (+29/-9)
drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c (+4/-3)
drivers/net/wireless/intel/iwlwifi/pcie/tx.c (+9/-3)
drivers/net/wireless/intersil/orinoco/orinoco_usb.c (+7/-7)
drivers/net/wireless/intersil/p54/p54pci.c (+3/-1)
drivers/net/wireless/marvell/libertas/mesh.c (+4/-29)
drivers/net/wireless/marvell/mwifiex/join.c (+2/-0)
drivers/net/wireless/marvell/mwifiex/main.c (+2/-0)
drivers/net/wireless/marvell/mwifiex/pcie.c (+17/-1)
drivers/net/wireless/marvell/mwifiex/pcie.h (+2/-0)
drivers/net/wireless/marvell/mwl8k.c (+1/-0)
drivers/net/wireless/mediatek/mt76/dma.c (+12/-7)
drivers/net/wireless/mediatek/mt76/mt7603/main.c (+4/-2)
drivers/net/wireless/mediatek/mt76/mt7615/main.c (+4/-2)
drivers/net/wireless/mediatek/mt76/mt76x02_util.c (+8/-2)
drivers/net/wireless/mediatek/mt7601u/dma.c (+2/-3)
drivers/net/wireless/mediatek/mt7601u/eeprom.c (+1/-1)
drivers/net/wireless/quantenna/qtnfmac/event.c (+4/-2)
drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c (+3/-3)
drivers/net/wireless/realtek/rtlwifi/base.c (+9/-9)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c (+370/-130)
drivers/net/wireless/realtek/rtw88/debug.c (+2/-0)
drivers/net/wireless/realtek/rtw88/phy.c (+3/-2)
drivers/net/wireless/realtek/rtw88/rtw8723d.c (+2/-2)
drivers/net/wireless/realtek/rtw88/tx.c (+1/-1)
drivers/net/wireless/rsi/rsi_91x_hal.c (+2/-1)
drivers/net/wireless/rsi/rsi_91x_sdio.c (+2/-6)
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c (+13/-39)
drivers/net/wireless/rsi/rsi_91x_usb.c (+15/-15)
drivers/net/wireless/rsi/rsi_sdio.h (+1/-7)
drivers/net/wireless/st/cw1200/main.c (+2/-0)
drivers/net/wireless/ti/wl12xx/main.c (+0/-3)
drivers/net/wireless/ti/wlcore/main.c (+1/-14)
drivers/net/wireless/ti/wlcore/wlcore.h (+0/-3)
drivers/net/wireless/virt_wifi.c (+3/-2)
drivers/net/wireless/wl3501.h (+23/-24)
drivers/net/wireless/wl3501_cs.c (+29/-25)
drivers/net/xen-netback/common.h (+15/-0)
drivers/net/xen-netback/interface.c (+54/-9)
drivers/net/xen-netback/netback.c (+19/-2)
drivers/net/xen-netback/rx.c (+17/-5)
drivers/net/xen-netback/xenbus.c (+12/-4)
drivers/nfc/pn533/pn533.c (+3/-0)
drivers/nfc/s3fwrn5/firmware.c (+3/-1)
drivers/nfc/s3fwrn5/i2c.c (+2/-2)
drivers/nvdimm/dimm_devs.c (+15/-3)
drivers/nvdimm/label.c (+12/-1)
drivers/nvdimm/region_devs.c (+7/-2)
drivers/nvme/host/core.c (+64/-32)
drivers/nvme/host/fc.c (+1/-1)
drivers/nvme/host/multipath.c (+35/-28)
drivers/nvme/host/nvme.h (+9/-2)
drivers/nvme/host/pci.c (+95/-41)
drivers/nvme/host/rdma.c (+32/-16)
drivers/nvme/host/tcp.c (+35/-19)
drivers/nvme/target/core.c (+16/-5)
drivers/nvme/target/io-cmd-file.c (+5/-3)
drivers/nvme/target/rdma.c (+10/-0)
drivers/nvme/target/tcp.c (+4/-3)
drivers/nvme/target/trace.h (+7/-14)
drivers/nvmem/core.c (+4/-1)
drivers/of/address.c (+3/-1)
drivers/of/of_reserved_mem.c (+11/-2)
drivers/opp/core.c (+4/-3)
drivers/pci/controller/dwc/pcie-qcom.c (+16/-1)
drivers/pci/controller/pci-thunder-ecam.c (+1/-1)
drivers/pci/controller/pci-thunder-pem.c (+7/-6)
drivers/pci/controller/pci-xgene-msi.c (+3/-7)
drivers/pci/controller/pcie-iproc-msi.c (+1/-1)
drivers/pci/controller/pcie-iproc.c (+5/-5)
drivers/pci/controller/pcie-mediatek.c (+5/-2)
drivers/pci/endpoint/functions/pci-epf-test.c (+3/-0)
drivers/pci/hotplug/acpiphp_glue.c (+1/-0)
drivers/pci/hotplug/rpadlpar_sysfs.c (+6/-8)
drivers/pci/pci-acpi.c (+12/-2)
drivers/pci/pci.c (+23/-20)
drivers/pci/pci.h (+6/-0)
drivers/pci/probe.c (+1/-0)
drivers/pci/quirks.c (+3/-0)
drivers/pci/setup-res.c (+6/-0)
drivers/pci/slot.c (+3/-3)
drivers/pci/syscall.c (+5/-5)
drivers/pci/vpd.c (+0/-1)
drivers/perf/arm_pmu_platform.c (+1/-1)
drivers/phy/marvell/Kconfig (+2/-2)
drivers/phy/marvell/phy-mvebu-a3700-comphy.c (+11/-3)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c (+11/-3)
drivers/phy/motorola/phy-cpcap-usb.c (+13/-6)
drivers/phy/renesas/phy-rcar-gen3-usb2.c (+4/-2)
drivers/phy/rockchip/phy-rockchip-emmc.c (+5/-3)
drivers/phy/tegra/xusb.c (+1/-0)
drivers/phy/ti/phy-twl4030-usb.c (+1/-1)
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c (+1/-1)
drivers/pinctrl/aspeed/pinctrl-aspeed.c (+68/-5)
drivers/pinctrl/aspeed/pinmux-aspeed.h (+4/-3)
drivers/pinctrl/intel/pinctrl-baytrail.c (+60/-15)
drivers/pinctrl/intel/pinctrl-intel.c (+8/-0)
drivers/pinctrl/intel/pinctrl-lewisburg.c (+3/-3)
drivers/pinctrl/intel/pinctrl-merrifield.c (+8/-0)
drivers/pinctrl/pinctrl-amd.c (+3/-10)
drivers/pinctrl/pinctrl-falcon.c (+9/-5)
drivers/pinctrl/pinctrl-ingenic.c (+14/-13)
drivers/pinctrl/pinctrl-rockchip.c (+10/-5)
drivers/pinctrl/samsung/pinctrl-exynos.c (+5/-5)
drivers/pinctrl/sunxi/pinctrl-sunxi.c (+4/-2)
drivers/platform/chrome/cros_ec_spi.c (+0/-1)
drivers/platform/mellanox/mlx-bootctl.c (+426/-0)
drivers/platform/mellanox/mlx-trio.c (+8/-0)
drivers/platform/mellanox/mlxbf-tmfifo.c (+159/-22)
drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_addrs.h (+184/-0)
drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_config.h (+68/-0)
drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_dev.c (+812/-0)
drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_dev.h (+37/-0)
drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_drv.c (+242/-0)
drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_firmware.h (+1647/-0)
drivers/platform/olpc/olpc-ec.c (+8/-7)
drivers/platform/x86/acer-wmi.c (+141/-29)
drivers/platform/x86/dell-smbios-base.c (+1/-0)
drivers/platform/x86/dell-smbios-wmi.c (+2/-1)
drivers/platform/x86/hp-wireless.c (+2/-0)
drivers/platform/x86/hp-wmi.c (+10/-4)
drivers/platform/x86/hp_accel.c (+21/-1)
drivers/platform/x86/i2c-multi-instantiate.c (+23/-8)
drivers/platform/x86/ideapad-laptop.c (+14/-1)
drivers/platform/x86/intel-hid.c (+10/-1)
drivers/platform/x86/intel-vbtn.c (+23/-3)
drivers/platform/x86/intel_pmc_core.c (+16/-3)
drivers/platform/x86/intel_punit_ipc.c (+1/-0)
drivers/platform/x86/mlx-platform.c (+7/-20)
drivers/platform/x86/pmc_atom.c (+2/-26)
drivers/platform/x86/thinkpad_acpi.c (+39/-11)
drivers/platform/x86/toshiba_acpi.c (+1/-2)
drivers/platform/x86/touchscreen_dmi.c (+49/-0)
drivers/power/reset/at91-sama5d2_shdwc.c (+1/-1)
drivers/power/supply/axp288_charger.c (+17/-11)
drivers/power/supply/bq24190_charger.c (+15/-5)
drivers/power/supply/bq27xxx_battery.c (+31/-26)
drivers/power/supply/generic-adc-battery.c (+1/-1)
drivers/power/supply/lp8788-charger.c (+1/-1)
drivers/power/supply/pm2301_charger.c (+1/-1)
drivers/power/supply/s3c_adc_battery.c (+1/-1)
drivers/power/supply/test_power.c (+6/-0)
drivers/power/supply/tps65090-charger.c (+1/-1)
drivers/power/supply/tps65217_charger.c (+1/-1)
drivers/ps3/ps3stor_lib.c (+1/-1)
drivers/pwm/pwm-lp3943.c (+1/-0)
drivers/pwm/pwm-rockchip.c (+0/-1)
drivers/pwm/pwm-zx.c (+1/-0)
drivers/rapidio/rio_cm.c (+8/-9)
drivers/ras/cec.c (+12/-3)
drivers/regulator/axp20x-regulator.c (+4/-5)
drivers/regulator/bd718x7-regulator.c (+57/-0)
drivers/regulator/bd9571mwv-regulator.c (+2/-2)
drivers/regulator/core.c (+58/-28)
drivers/regulator/pfuze100-regulator.c (+8/-5)
drivers/regulator/qcom-rpmh-regulator.c (+3/-3)
drivers/regulator/s5m8767.c (+11/-4)
drivers/regulator/ti-abb-regulator.c (+11/-1)
drivers/remoteproc/qcom_q6v5_adsp.c (+6/-7)
drivers/remoteproc/qcom_q6v5_mss.c (+4/-1)
drivers/rpmsg/qcom_glink_native.c (+4/-3)
drivers/rtc/Kconfig (+1/-0)
drivers/rtc/rtc-ds1307.c (+10/-2)
drivers/rtc/rtc-ep93xx.c (+3/-3)
drivers/rtc/rtc-fsl-ftm-alarm.c (+1/-0)
drivers/rtc/rtc-pcf2127.c (+4/-8)
drivers/rtc/rtc-pl031.c (+4/-2)
drivers/rtc/rtc-rx8010.c (+17/-7)
drivers/rtc/rtc-sun6i.c (+5/-3)
drivers/s390/block/dasd.c (+9/-3)
drivers/s390/block/dasd_alias.c (+20/-2)
drivers/s390/cio/device.c (+2/-2)
drivers/s390/cio/vfio_ccw_cp.c (+4/-0)
drivers/s390/cio/vfio_ccw_ops.c (+3/-3)
drivers/s390/crypto/pkey_api.c (+16/-14)
drivers/s390/crypto/vfio_ap_drv.c (+1/-5)
drivers/s390/crypto/vfio_ap_ops.c (+63/-39)
drivers/s390/crypto/vfio_ap_private.h (+6/-6)
drivers/s390/net/qeth_core.h (+6/-3)
drivers/s390/net/qeth_core_main.c (+54/-28)
drivers/s390/net/qeth_l3_main.c (+1/-1)
drivers/s390/virtio/virtio_ccw.c (+2/-2)
drivers/scsi/BusLogic.c (+3/-3)
drivers/scsi/BusLogic.h (+1/-1)
drivers/scsi/be2iscsi/be_main.c (+2/-2)
drivers/scsi/bnx2fc/Kconfig (+1/-0)
drivers/scsi/bnx2i/Kconfig (+1/-0)
drivers/scsi/cxgbi/cxgb4i/Kconfig (+1/-0)
drivers/scsi/device_handler/scsi_dh_alua.c (+8/-6)
drivers/scsi/fnic/fnic_main.c (+1/-0)
drivers/scsi/fnic/vnic_dev.c (+5/-3)
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c (+3/-3)
drivers/scsi/hpsa.c (+3/-1)
drivers/scsi/ibmvscsi/ibmvfc.c (+41/-20)
drivers/scsi/ibmvscsi/ibmvscsi.c (+26/-10)
drivers/scsi/jazz_esp.c (+3/-1)
drivers/scsi/libfc/fc_exch.c (+14/-2)
drivers/scsi/libfc/fc_lport.c (+1/-1)
drivers/scsi/libiscsi.c (+92/-90)
drivers/scsi/libsas/sas_ata.c (+4/-5)
drivers/scsi/libsas/sas_port.c (+2/-2)
drivers/scsi/lpfc/lpfc_attr.c (+45/-30)
drivers/scsi/lpfc/lpfc_crtn.h (+0/-3)
drivers/scsi/lpfc/lpfc_debugfs.c (+2/-2)
drivers/scsi/lpfc/lpfc_hw4.h (+1/-173)
drivers/scsi/lpfc/lpfc_init.c (+5/-107)
drivers/scsi/lpfc/lpfc_mbox.c (+0/-36)
drivers/scsi/lpfc/lpfc_mem.c (+2/-4)
drivers/scsi/lpfc/lpfc_nportdisc.c (+8/-5)
drivers/scsi/lpfc/lpfc_nvmet.c (+0/-1)
drivers/scsi/lpfc/lpfc_sli.c (+39/-25)
drivers/scsi/megaraid/megaraid_sas_base.c (+11/-7)
drivers/scsi/mpt3sas/mpt3sas_base.c (+18/-3)
drivers/scsi/mpt3sas/mpt3sas_base.h (+92/-12)
drivers/scsi/mpt3sas/mpt3sas_ctl.c (+5/-3)
drivers/scsi/mpt3sas/mpt3sas_scsih.c (+1103/-137)
drivers/scsi/mpt3sas/mpt3sas_transport.c (+260/-52)
drivers/scsi/myrs.c (+1/-1)
drivers/scsi/pm8001/pm8001_init.c (+2/-1)
drivers/scsi/qedi/qedi_main.c (+6/-3)
drivers/scsi/qla2xxx/qla_attr.c (+7/-1)
drivers/scsi/qla2xxx/qla_bsg.c (+2/-1)
drivers/scsi/qla2xxx/qla_dbg.c (+1/-1)
drivers/scsi/qla2xxx/qla_def.h (+40/-2)
drivers/scsi/qla2xxx/qla_fw.h (+2/-0)
drivers/scsi/qla2xxx/qla_gbl.h (+3/-0)
drivers/scsi/qla2xxx/qla_gs.c (+26/-18)
drivers/scsi/qla2xxx/qla_init.c (+119/-62)
drivers/scsi/qla2xxx/qla_inline.h (+36/-0)
drivers/scsi/qla2xxx/qla_iocb.c (+39/-14)
drivers/scsi/qla2xxx/qla_mbx.c (+29/-26)
drivers/scsi/qla2xxx/qla_nx.c (+2/-1)
drivers/scsi/qla2xxx/qla_os.c (+13/-20)
drivers/scsi/qla2xxx/qla_target.c (+18/-19)
drivers/scsi/qla2xxx/qla_target.h (+1/-1)
drivers/scsi/qla2xxx/qla_tmpl.c (+5/-4)
drivers/scsi/qla2xxx/qla_tmpl.h (+1/-1)
drivers/scsi/qla2xxx/tcm_qla2xxx.c (+0/-4)
drivers/scsi/scsi_lib.c (+86/-40)
drivers/scsi/scsi_scan.c (+4/-3)
drivers/scsi/scsi_transport_iscsi.c (+30/-9)
drivers/scsi/scsi_transport_spi.c (+19/-8)
drivers/scsi/scsi_transport_srp.c (+8/-1)
drivers/scsi/sd.c (+3/-1)
drivers/scsi/smartpqi/smartpqi_init.c (+160/-0)
drivers/scsi/sni_53c710.c (+4/-1)
drivers/scsi/st.c (+1/-1)
drivers/scsi/storvsc_drv.c (+16/-2)
drivers/scsi/sun3x_esp.c (+3/-1)
drivers/scsi/ufs/ufs-hisi.c (+9/-6)
drivers/scsi/ufs/ufshcd-pci.c (+32/-2)
drivers/scsi/ufs/ufshcd.c (+254/-187)
drivers/scsi/ufs/ufshcd.h (+6/-12)
drivers/scsi/ufs/ufshci.h (+1/-1)
drivers/slimbus/qcom-ngd-ctrl.c (+6/-0)
drivers/soc/amlogic/meson-canvas.c (+3/-1)
drivers/soc/aspeed/aspeed-lpc-snoop.c (+30/-4)
drivers/soc/atmel/soc.c (+13/-0)
drivers/soc/fsl/dpio/dpio-driver.c (+1/-4)
drivers/soc/fsl/qbman/qman.c (+1/-1)
drivers/soc/mediatek/mtk-scpsys.c (+3/-2)
drivers/soc/qcom/mdt_loader.c (+17/-0)
drivers/soc/qcom/qcom-geni-se.c (+15/-2)
drivers/soc/qcom/smp2p.c (+3/-2)
drivers/soc/renesas/rmobile-sysc.c (+1/-0)
drivers/soc/tegra/fuse/speedo-tegra210.c (+1/-1)
drivers/soc/ti/knav_dma.c (+11/-2)
drivers/soc/ti/knav_qmss_queue.c (+3/-1)
drivers/soundwire/bus.c (+2/-1)
drivers/soundwire/cadence_master.c (+4/-4)
drivers/soundwire/stream.c (+9/-1)
drivers/spi/atmel-quadspi.c (+13/-14)
drivers/spi/spi-ath79.c (+1/-2)
drivers/spi/spi-atmel.c (+1/-1)
drivers/spi/spi-bcm-qspi.c (+12/-22)
drivers/spi/spi-bcm2835.c (+11/-29)
drivers/spi/spi-bcm2835aux.c (+7/-13)
drivers/spi/spi-bcm63xx-hsspi.c (+3/-1)
drivers/spi/spi-cadence.c (+4/-2)
drivers/spi/spi-davinci.c (+1/-1)
drivers/spi/spi-dln2.c (+1/-1)
drivers/spi/spi-fsl-dspi.c (+3/-1)
drivers/spi/spi-fsl-lpspi.c (+1/-4)
drivers/spi/spi-fsl-spi.c (+8/-3)
drivers/spi/spi-geni-qcom.c (+1/-2)
drivers/spi/spi-gpio.c (+2/-13)
drivers/spi/spi-img-spfi.c (+3/-1)
drivers/spi/spi-mem.c (+1/-0)
drivers/spi/spi-mt7621.c (+9/-2)
drivers/spi/spi-mxic.c (+2/-8)
drivers/spi/spi-mxs.c (+1/-0)
drivers/spi/spi-npcm-fiu.c (+4/-5)
drivers/spi/spi-nxp-fspi.c (+7/-0)
drivers/spi/spi-omap-100k.c (+3/-3)
drivers/spi/spi-pic32.c (+1/-0)
drivers/spi/spi-pxa2xx-pci.c (+19/-8)
drivers/spi/spi-pxa2xx.c (+2/-3)
drivers/spi/spi-qup.c (+1/-1)
drivers/spi/spi-rb4xx.c (+1/-1)
drivers/spi/spi-s3c24xx-fiq.S (+3/-6)
drivers/spi/spi-sc18is602.c (+2/-11)
drivers/spi/spi-sh.c (+4/-9)
drivers/spi/spi-sprd.c (+2/-1)
drivers/spi/spi-st-ssc4.c (+3/-2)
drivers/spi/spi-stm32.c (+13/-14)
drivers/spi/spi-synquacer.c (+12/-7)
drivers/spi/spi-tegra114.c (+2/-0)
drivers/spi/spi-tegra20-sflash.c (+1/-0)
drivers/spi/spi-tegra20-slink.c (+2/-0)
drivers/spi/spi-ti-qspi.c (+15/-6)
drivers/spi/spi.c (+62/-10)
drivers/spmi/spmi-pmic-arb.c (+2/-3)
drivers/staging/comedi/drivers/addi_apci_1032.c (+3/-1)
drivers/staging/comedi/drivers/addi_apci_1500.c (+9/-9)
drivers/staging/comedi/drivers/adv_pci1710.c (+5/-5)
drivers/staging/comedi/drivers/cb_pcidas.c (+2/-1)
drivers/staging/comedi/drivers/cb_pcidas64.c (+1/-1)
drivers/staging/comedi/drivers/das6402.c (+1/-1)
drivers/staging/comedi/drivers/das800.c (+1/-1)
drivers/staging/comedi/drivers/dmm32at.c (+1/-1)
drivers/staging/comedi/drivers/me4000.c (+1/-1)
drivers/staging/comedi/drivers/mf6x4.c (+2/-1)
drivers/staging/comedi/drivers/pcl711.c (+1/-1)
drivers/staging/comedi/drivers/pcl818.c (+1/-1)
drivers/staging/emxx_udc/emxx_udc.c (+2/-2)
drivers/staging/exfat/exfat_super.c (+1/-1)
drivers/staging/fieldbus/anybuss/arcx-anybus.c (+1/-1)
drivers/staging/fwserial/fwserial.c (+9/-3)
drivers/staging/gasket/gasket_interrupt.c (+10/-5)
drivers/staging/gdm724x/gdm_usb.c (+7/-3)
drivers/staging/greybus/audio_codec.c (+2/-0)
drivers/staging/greybus/uart.c (+7/-6)
drivers/staging/iio/cdc/ad7746.c (+0/-1)
drivers/staging/ks7010/ks_wlan_net.c (+4/-2)
drivers/staging/media/imx/imx-media-capture.c (+1/-1)
drivers/staging/media/imx/imx-media-csc-scaler.c (+0/-4)
drivers/staging/media/imx/imx-media-dev.c (+6/-1)
drivers/staging/media/ipu3/ipu3-v4l2.c (+21/-15)
drivers/staging/media/omap4iss/iss.c (+3/-1)
drivers/staging/most/sound/sound.c (+2/-0)
drivers/staging/mt7621-dma/Makefile (+1/-1)
drivers/staging/mt7621-dma/hsdma-mt7621.c (+4/-2)
drivers/staging/octeon/ethernet-mdio.c (+0/-6)
drivers/staging/octeon/ethernet-rx.c (+19/-15)
drivers/staging/octeon/ethernet-tx.c (+1/-1)
drivers/staging/octeon/ethernet.c (+9/-0)
drivers/staging/ralink-gdma/Kconfig (+1/-0)
drivers/staging/rtl8188eu/core/rtw_ap.c (+5/-0)
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c (+4/-2)
drivers/staging/rtl8188eu/os_dep/usb_intf.c (+1/-0)
drivers/staging/rtl8192e/rtl8192e/rtl_wx.c (+4/-3)
drivers/staging/rtl8192e/rtllib.h (+1/-1)
drivers/staging/rtl8192e/rtllib_rx.c (+1/-1)
drivers/staging/rtl8192u/r8192U_core.c (+1/-1)
drivers/staging/rtl8192u/r8192U_wx.c (+4/-2)
drivers/staging/rtl8712/rtl871x_cmd.c (+4/-2)
drivers/staging/rtl8712/rtl871x_ioctl_linux.c (+1/-1)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c (+1/-0)
drivers/staging/rtl8723bs/os_dep/wifi_regd.c (+1/-1)
drivers/staging/speakup/speakup_dectlk.c (+1/-1)
drivers/staging/speakup/spk_ttyio.c (+22/-3)
drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c (+3/-3)
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c (+1/-1)
drivers/staging/vc04_services/bcm2835-audio/bcm2835.c (+3/-3)
drivers/target/iscsi/cxgbit/cxgbit_target.c (+1/-2)
drivers/target/iscsi/iscsi_target.c (+13/-4)
drivers/target/target_core_pr.c (+11/-4)
drivers/target/target_core_pscsi.c (+10/-1)
drivers/target/target_core_transport.c (+11/-4)
drivers/target/target_core_user.c (+2/-2)
drivers/target/target_core_xcopy.c (+70/-49)
drivers/target/target_core_xcopy.h (+1/-0)
drivers/tee/optee/call.c (+5/-2)
drivers/tee/optee/core.c (+0/-10)
drivers/thermal/cpu_cooling.c (+6/-3)
drivers/thermal/fair_share.c (+4/-0)
drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c (+4/-0)
drivers/thermal/intel/x86_pkg_temp_thermal.c (+1/-1)
drivers/thermal/of-thermal.c (+5/-2)
drivers/thermal/thermal_sysfs.c (+3/-0)
drivers/thunderbolt/dma_port.c (+6/-5)
drivers/thunderbolt/icm.c (+7/-3)
drivers/thunderbolt/nhi.c (+15/-4)
drivers/thunderbolt/xdomain.c (+1/-0)
drivers/tty/amiserial.c (+1/-0)
drivers/tty/moxa.c (+12/-6)
drivers/tty/n_gsm.c (+12/-2)
drivers/tty/serial/8250/8250_mtk.c (+1/-1)
drivers/tty/serial/8250/8250_omap.c (+0/-5)
drivers/tty/serial/8250/8250_pci.c (+35/-12)
drivers/tty/serial/amba-pl011.c (+7/-4)
drivers/tty/serial/fsl_lpuart.c (+26/-2)
drivers/tty/serial/imx.c (+11/-19)
drivers/tty/serial/max310x.c (+2/-0)
drivers/tty/serial/mvebu-uart.c (+9/-4)
drivers/tty/serial/qcom_geni_serial.c (+1/-1)
drivers/tty/serial/rp2.c (+17/-35)
drivers/tty/serial/serial-tegra.c (+1/-1)
drivers/tty/serial/serial_core.c (+12/-6)
drivers/tty/serial/serial_txx9.c (+3/-0)
drivers/tty/serial/sh-sci.c (+2/-2)
drivers/tty/serial/sifive.c (+1/-0)
drivers/tty/serial/stm32-usart.c (+15/-2)
drivers/tty/serial/stm32-usart.h (+0/-3)
drivers/tty/tty_io.c (+10/-5)
drivers/tty/tty_jobctrl.c (+31/-13)
drivers/tty/vt/consolemap.c (+1/-1)
drivers/tty/vt/keyboard.c (+19/-20)
drivers/tty/vt/vt.c (+4/-23)
drivers/tty/vt/vt_ioctl.c (+20/-18)
drivers/uio/uio.c (+7/-5)
drivers/uio/uio_hv_generic.c (+6/-2)
drivers/usb/cdns3/gadget.h (+1/-1)
drivers/usb/chipidea/ci_hdrc_imx.c (+7/-2)
drivers/usb/class/cdc-acm.c (+69/-39)
drivers/usb/class/cdc-acm.h (+1/-2)
drivers/usb/class/cdc-wdm.c (+34/-10)
drivers/usb/class/usblp.c (+42/-14)
drivers/usb/core/devio.c (+15/-10)
drivers/usb/core/hub.c (+25/-4)
drivers/usb/core/hub.h (+4/-2)
drivers/usb/core/quirks.c (+30/-3)
drivers/usb/dwc2/core.h (+2/-0)
drivers/usb/dwc2/core_intr.c (+91/-71)
drivers/usb/dwc2/gadget.c (+3/-8)
drivers/usb/dwc2/hcd.c (+20/-10)
drivers/usb/dwc2/hcd_intr.c (+13/-1)
drivers/usb/dwc3/core.c (+14/-3)
drivers/usb/dwc3/core.h (+2/-0)
drivers/usb/dwc3/dwc3-omap.c (+5/-0)
drivers/usb/dwc3/dwc3-pci.c (+7/-1)
drivers/usb/dwc3/dwc3-qcom.c (+11/-5)
drivers/usb/dwc3/ep0.c (+26/-2)
drivers/usb/dwc3/gadget.c (+117/-37)
drivers/usb/dwc3/gadget.h (+1/-0)
drivers/usb/dwc3/ulpi.c (+17/-5)
drivers/usb/gadget/Kconfig (+2/-0)
drivers/usb/gadget/composite.c (+10/-4)
drivers/usb/gadget/config.c (+4/-0)
drivers/usb/gadget/configfs.c (+24/-11)
drivers/usb/gadget/function/f_acm.c (+1/-1)
drivers/usb/gadget/function/f_fs.c (+10/-4)
drivers/usb/gadget/function/f_midi.c (+13/-3)
drivers/usb/gadget/function/f_printer.c (+1/-0)
drivers/usb/gadget/function/f_rndis.c (+3/-1)
drivers/usb/gadget/function/f_uac1.c (+44/-0)
drivers/usb/gadget/function/f_uac2.c (+93/-17)
drivers/usb/gadget/function/f_uvc.c (+7/-1)
drivers/usb/gadget/function/u_audio.c (+14/-3)
drivers/usb/gadget/function/u_ether.c (+5/-4)
drivers/usb/gadget/function/u_ether_configfs.h (+2/-3)
drivers/usb/gadget/legacy/acm_ms.c (+3/-1)
drivers/usb/gadget/legacy/ether.c (+3/-1)
drivers/usb/gadget/legacy/inode.c (+3/-0)
drivers/usb/gadget/legacy/webcam.c (+1/-0)
drivers/usb/gadget/udc/amd5536udc_pci.c (+5/-5)
drivers/usb/gadget/udc/aspeed-vhub/core.c (+2/-1)
drivers/usb/gadget/udc/aspeed-vhub/epn.c (+5/-2)
drivers/usb/gadget/udc/bdc/Kconfig (+1/-1)
drivers/usb/gadget/udc/core.c (+10/-3)
drivers/usb/gadget/udc/dummy_hcd.c (+16/-9)
drivers/usb/gadget/udc/fotg210-udc.c (+18/-8)
drivers/usb/gadget/udc/goku_udc.c (+1/-1)
drivers/usb/gadget/udc/pch_udc.c (+33/-16)
drivers/usb/gadget/udc/r8a66597-udc.c (+2/-0)
drivers/usb/gadget/udc/renesas_usb3.c (+3/-2)
drivers/usb/gadget/udc/snps_udc_plat.c (+2/-2)
drivers/usb/gadget/usbstring.c (+2/-2)
drivers/usb/host/ehci-hcd.c (+12/-0)
drivers/usb/host/ehci-hub.c (+3/-0)
drivers/usb/host/ehci-omap.c (+1/-0)
drivers/usb/host/fotg210-hcd.c (+2/-2)
drivers/usb/host/fsl-mph-dr-of.c (+6/-3)
drivers/usb/host/max3421-hcd.c (+2/-1)
drivers/usb/host/ohci-hcd.c (+1/-1)
drivers/usb/host/oxu210hp-hcd.c (+3/-1)
drivers/usb/host/sl811-hcd.c (+4/-5)
drivers/usb/host/xhci-ext-caps.h (+3/-2)
drivers/usb/host/xhci-histb.c (+1/-1)
drivers/usb/host/xhci-hub.c (+4/-0)
drivers/usb/host/xhci-mem.c (+9/-0)
drivers/usb/host/xhci-mtk-sch.c (+148/-46)
drivers/usb/host/xhci-mtk.c (+14/-1)
drivers/usb/host/xhci-mtk.h (+20/-2)
drivers/usb/host/xhci-mvebu.c (+42/-0)
drivers/usb/host/xhci-mvebu.h (+6/-0)
drivers/usb/host/xhci-pci.c (+30/-12)
drivers/usb/host/xhci-plat.c (+24/-2)
drivers/usb/host/xhci-plat.h (+1/-0)
drivers/usb/host/xhci-ring.c (+24/-12)
drivers/usb/host/xhci-tegra.c (+7/-0)
drivers/usb/host/xhci.c (+82/-55)
drivers/usb/host/xhci.h (+7/-1)
drivers/usb/misc/adutux.c (+1/-0)
drivers/usb/misc/sisusbvga/Kconfig (+1/-1)
drivers/usb/misc/trancevibrator.c (+2/-2)
drivers/usb/misc/uss720.c (+1/-0)
drivers/usb/misc/yurex.c (+3/-0)
drivers/usb/mtu3/mtu3_debugfs.c (+1/-1)
drivers/usb/mtu3/mtu3_gadget.c (+1/-0)
drivers/usb/musb/musb_core.c (+26/-19)
drivers/usb/renesas_usbhs/fifo.c (+1/-0)
drivers/usb/renesas_usbhs/pipe.c (+2/-0)
drivers/usb/serial/ch341.c (+4/-2)
drivers/usb/serial/cp210x.c (+5/-0)
drivers/usb/serial/cyberjack.c (+6/-1)
drivers/usb/serial/digi_acceleport.c (+13/-32)
drivers/usb/serial/ftdi_sio.c (+6/-2)
drivers/usb/serial/ftdi_sio_ids.h (+7/-0)
drivers/usb/serial/io_edgeport.c (+16/-10)
drivers/usb/serial/iuu_phoenix.c (+15/-5)
drivers/usb/serial/keyspan_pda.c (+34/-31)
drivers/usb/serial/kl5kusb105.c (+4/-6)
drivers/usb/serial/mos7720.c (+5/-1)
drivers/usb/serial/mos7840.c (+3/-1)
drivers/usb/serial/option.c (+52/-7)
drivers/usb/serial/pl2303.c (+1/-0)
drivers/usb/serial/pl2303.h (+1/-0)
drivers/usb/serial/ti_usb_3410_5052.c (+10/-2)
drivers/usb/serial/usb_wwan.c (+5/-4)
drivers/usb/storage/transport.c (+7/-0)
drivers/usb/storage/uas.c (+3/-0)
drivers/usb/storage/unusual_devs.h (+12/-0)
drivers/usb/storage/unusual_uas.h (+12/-2)
drivers/usb/storage/usb.c (+3/-0)
drivers/usb/typec/altmodes/Kconfig (+1/-1)
drivers/usb/typec/tcpm/tcpci.c (+18/-3)
drivers/usb/typec/tcpm/tcpm.c (+72/-47)
drivers/usb/usbip/stub_dev.c (+42/-7)
drivers/usb/usbip/usbip_common.h (+3/-0)
drivers/usb/usbip/usbip_event.c (+2/-0)
drivers/usb/usbip/vhci_hcd.c (+5/-0)
drivers/usb/usbip/vhci_sysfs.c (+56/-7)
drivers/usb/usbip/vudc_dev.c (+1/-0)
drivers/usb/usbip/vudc_sysfs.c (+49/-7)
drivers/vfio/Kconfig (+2/-2)
drivers/vfio/mdev/mdev_sysfs.c (+1/-1)
drivers/vfio/pci/Kconfig (+1/-1)
drivers/vfio/pci/vfio_pci.c (+7/-6)
drivers/vfio/pci/vfio_pci_nvlink2.c (+5/-2)
drivers/vfio/platform/vfio_platform_common.c (+1/-2)
drivers/vfio/vfio_iommu_type1.c (+43/-25)
drivers/vhost/net.c (+3/-3)
drivers/vhost/scsi.c (+15/-27)
drivers/vhost/vhost.c (+1/-1)
drivers/vhost/vringh.c (+5/-4)
drivers/video/console/vgacon.c (+32/-24)
drivers/video/fbdev/Kconfig (+1/-1)
drivers/video/fbdev/atmel_lcdfb.c (+1/-1)
drivers/video/fbdev/core/fbcmap.c (+4/-4)
drivers/video/fbdev/core/fbcon.c (+4/-1)
drivers/video/fbdev/hgafb.c (+12/-9)
drivers/video/fbdev/hyperv_fb.c (+5/-2)
drivers/video/fbdev/imsttfb.c (+0/-5)
drivers/video/fbdev/pvr2fb.c (+2/-0)
drivers/video/fbdev/udlfb.c (+1/-0)
drivers/virt/vboxguest/vboxguest_utils.c (+12/-6)
drivers/virtio/virtio_ring.c (+4/-4)
drivers/w1/masters/mxc_w1.c (+7/-7)
drivers/watchdog/Kconfig (+15/-1)
drivers/watchdog/Makefile (+1/-0)
drivers/watchdog/ahc1ec0-wdt.c (+261/-0)
drivers/watchdog/mei_wdt.c (+1/-0)
drivers/watchdog/qcom-wdt.c (+2/-13)
drivers/watchdog/rdc321x_wdt.c (+2/-3)
drivers/watchdog/sprd_wdt.c (+15/-19)
drivers/watchdog/watchdog_core.c (+13/-9)
drivers/xen/events/events_2l.c (+19/-12)
drivers/xen/events/events_base.c (+490/-68)
drivers/xen/events/events_fifo.c (+38/-50)
drivers/xen/events/events_internal.h (+31/-11)
drivers/xen/evtchn.c (+3/-4)
drivers/xen/gntdev.c (+32/-22)
drivers/xen/platform-pci.c (+0/-1)
drivers/xen/privcmd.c (+19/-6)
drivers/xen/pvcalls-back.c (+46/-30)
drivers/xen/xen-pciback/pci_stub.c (+7/-7)
drivers/xen/xen-pciback/pciback.h (+10/-2)
drivers/xen/xen-pciback/pciback_ops.c (+38/-10)
drivers/xen/xen-pciback/xenbus.c (+19/-7)
drivers/xen/xen-scsiback.c (+15/-12)
drivers/xen/xenbus/xenbus.h (+2/-0)
drivers/xen/xenbus/xenbus_client.c (+7/-1)
drivers/xen/xenbus/xenbus_comms.c (+0/-8)
drivers/xen/xenbus/xenbus_probe.c (+98/-13)
drivers/xen/xenbus/xenbus_probe_backend.c (+7/-0)
drivers/xen/xenbus/xenbus_xs.c (+22/-12)
fs/9p/vfs_file.c (+2/-2)
fs/affs/namei.c (+3/-1)
fs/afs/dir.c (+0/-1)
fs/afs/file.c (+0/-1)
fs/afs/inode.c (+0/-1)
fs/afs/internal.h (+0/-1)
fs/afs/main.c (+3/-3)
fs/afs/mntpt.c (+0/-1)
fs/afs/super.c (+3/-0)
fs/afs/xattr.c (+0/-23)
fs/afs/yfsclient.c (+1/-0)
fs/bfs/inode.c (+1/-1)
fs/binfmt_misc.c (+14/-15)
fs/block_dev.c (+21/-3)
fs/btrfs/backref.c (+101/-56)
fs/btrfs/block-group.c (+54/-26)
fs/btrfs/block-group.h (+2/-1)
fs/btrfs/ctree.c (+33/-2)
fs/btrfs/ctree.h (+5/-0)
fs/btrfs/delayed-inode.c (+2/-3)
fs/btrfs/dev-replace.c (+30/-3)
fs/btrfs/extent-tree.c (+18/-9)
fs/btrfs/extent_io.c (+7/-4)
fs/btrfs/file.c (+4/-1)
fs/btrfs/free-space-cache.c (+5/-1)
fs/btrfs/free-space-tree.c (+9/-1)
fs/btrfs/inode.c (+2/-1)
fs/btrfs/ioctl.c (+78/-10)
fs/btrfs/qgroup.c (+11/-4)
fs/btrfs/raid56.c (+25/-33)
fs/btrfs/reada.c (+47/-0)
fs/btrfs/ref-verify.c (+1/-0)
fs/btrfs/relocation.c (+8/-8)
fs/btrfs/scrub.c (+20/-1)
fs/btrfs/send.c (+206/-59)
fs/btrfs/super.c (+8/-0)
fs/btrfs/transaction.c (+6/-5)
fs/btrfs/tree-checker.c (+40/-5)
fs/btrfs/tree-log.c (+8/-2)
fs/btrfs/volumes.c (+31/-29)
fs/btrfs/volumes.h (+1/-0)
fs/btrfs/xattr.c (+27/-4)
fs/buffer.c (+0/-16)
fs/cachefiles/rdwr.c (+2/-1)
fs/ceph/addr.c (+1/-1)
fs/ceph/caps.c (+10/-2)
fs/ceph/export.c (+3/-1)
fs/ceph/inode.c (+1/-0)
fs/cifs/cifs_unicode.c (+7/-1)
fs/cifs/cifsacl.c (+1/-0)
fs/cifs/cifsfs.c (+9/-1)
fs/cifs/cifsglob.h (+4/-2)
fs/cifs/cifspdu.h (+5/-0)
fs/cifs/connect.c (+2/-0)
fs/cifs/dir.c (+20/-2)
fs/cifs/file.c (+1/-0)
fs/cifs/inode.c (+9/-4)
fs/cifs/smb2glob.h (+2/-0)
fs/cifs/smb2misc.c (+2/-2)
fs/cifs/smb2ops.c (+95/-26)
fs/cifs/smb2pdu.c (+47/-16)
fs/cifs/smb2pdu.h (+20/-8)
fs/cifs/smb2transport.c (+33/-12)
fs/cifs/transport.c (+26/-9)
fs/configfs/file.c (+2/-4)
fs/coredump.c (+2/-1)
fs/crypto/fscrypt_private.h (+4/-1)
fs/crypto/hooks.c (+5/-5)
fs/crypto/keysetup.c (+2/-0)
fs/crypto/policy.c (+4/-2)
fs/dax.c (+5/-5)
fs/debugfs/inode.c (+4/-1)
fs/direct-io.c (+3/-2)
fs/dlm/debug_fs.c (+1/-0)
fs/ecryptfs/crypto.c (+2/-4)
fs/ecryptfs/main.c (+6/-0)
fs/efivarfs/inode.c (+2/-0)
fs/erofs/data.c (+7/-19)
fs/erofs/erofs_fs.h (+3/-0)
fs/erofs/inode.c (+18/-10)
fs/erofs/super.c (+2/-2)
fs/erofs/xattr.c (+9/-3)
fs/erofs/zmap.c (+9/-1)
fs/exec.c (+21/-8)
fs/ext4/balloc.c (+26/-12)
fs/ext4/ext4.h (+3/-1)
fs/ext4/file.c (+1/-1)
fs/ext4/ialloc.c (+32/-16)
fs/ext4/inline.c (+1/-0)
fs/ext4/inode.c (+28/-18)
fs/ext4/ioctl.c (+3/-0)
fs/ext4/mballoc.c (+1/-0)
fs/ext4/namei.c (+48/-19)
fs/ext4/resize.c (+3/-1)
fs/ext4/super.c (+23/-15)
fs/ext4/sysfs.c (+7/-0)
fs/ext4/verity.c (+55/-34)
fs/ext4/xattr.c (+5/-1)
fs/f2fs/checkpoint.c (+9/-3)
fs/f2fs/data.c (+1/-1)
fs/f2fs/debug.c (+6/-5)
fs/f2fs/dir.c (+3/-5)
fs/f2fs/f2fs.h (+11/-3)
fs/f2fs/file.c (+6/-1)
fs/f2fs/inline.c (+6/-1)
fs/f2fs/namei.c (+8/-0)
fs/f2fs/node.c (+22/-12)
fs/f2fs/node.h (+2/-2)
fs/f2fs/segment.c (+9/-3)
fs/f2fs/segment.h (+2/-2)
fs/f2fs/shrinker.c (+1/-3)
fs/f2fs/super.c (+4/-5)
fs/f2fs/verity.c (+54/-21)
fs/fcntl.c (+6/-4)
fs/fs-writeback.c (+16/-20)
fs/fuse/acl.c (+6/-0)
fs/fuse/cuse.c (+2/-0)
fs/fuse/dev.c (+18/-10)
fs/fuse/dir.c (+32/-5)
fs/fuse/file.c (+40/-20)
fs/fuse/fuse_i.h (+14/-0)
fs/fuse/inode.c (+2/-2)
fs/fuse/readdir.c (+2/-2)
fs/fuse/virtio_fs.c (+1/-0)
fs/fuse/xattr.c (+9/-0)
fs/gfs2/bmap.c (+3/-3)
fs/gfs2/glock.c (+2/-1)
fs/gfs2/incore.h (+1/-0)
fs/gfs2/lock_dlm.c (+2/-6)
fs/gfs2/ops_fstype.c (+16/-24)
fs/gfs2/rgrp.c (+13/-6)
fs/gfs2/super.c (+8/-4)
fs/gfs2/sys.c (+4/-1)
fs/hfsplus/extents.c (+4/-3)
fs/hostfs/hostfs_kern.c (+7/-12)
fs/hugetlbfs/inode.c (+9/-3)
fs/io_uring.c (+3/-2)
fs/iomap/buffered-io.c (+24/-10)
fs/iomap/swapfile.c (+10/-0)
fs/isofs/dir.c (+1/-0)
fs/isofs/namei.c (+1/-0)
fs/jbd2/checkpoint.c (+2/-0)
fs/jbd2/transaction.c (+3/-1)
fs/jffs2/compr_rtime.c (+3/-0)
fs/jffs2/jffs2_fs_sb.h (+1/-0)
fs/jffs2/readinode.c (+16/-0)
fs/jffs2/scan.c (+1/-1)
fs/jffs2/summary.c (+3/-0)
fs/jffs2/super.c (+26/-6)
fs/jfs/jfs_dmap.c (+1/-1)
fs/jfs/jfs_dmap.h (+1/-1)
fs/jfs/jfs_filsys.h (+1/-0)
fs/jfs/jfs_mount.c (+10/-0)
fs/libfs.c (+4/-2)
fs/lockd/host.c (+11/-9)
fs/namespace.c (+6/-3)
fs/nfs/Kconfig (+1/-1)
fs/nfs/dir.c (+25/-15)
fs/nfs/filelayout/filelayout.c (+1/-1)
fs/nfs/flexfilelayout/flexfilelayout.c (+1/-1)
fs/nfs/inode.c (+5/-5)
fs/nfs/internal.h (+7/-5)
fs/nfs/namespace.c (+8/-4)
fs/nfs/nfs3xdr.c (+2/-1)
fs/nfs/nfs42proc.c (+13/-8)
fs/nfs/nfs4_fs.h (+8/-0)
fs/nfs/nfs4file.c (+3/-2)
fs/nfs/nfs4proc.c (+77/-58)
fs/nfs/nfs4super.c (+1/-1)
fs/nfs/nfs4trace.h (+1/-0)
fs/nfs/nfs4xdr.c (+7/-3)
fs/nfs/pagelist.c (+10/-11)
fs/nfs/pnfs.c (+82/-38)
fs/nfs/pnfs.h (+8/-5)
fs/nfs_common/grace.c (+5/-1)
fs/nfsd/Kconfig (+1/-0)
fs/nfsd/filecache.c (+2/-0)
fs/nfsd/nfs3xdr.c (+6/-1)
fs/nfsd/nfs4callback.c (+1/-0)
fs/nfsd/nfsctl.c (+7/-7)
fs/nfsd/nfsproc.c (+16/-0)
fs/nfsd/nfssvc.c (+1/-2)
fs/ntfs/inode.c (+6/-0)
fs/ocfs2/aops.c (+1/-10)
fs/ocfs2/cluster/heartbeat.c (+7/-1)
fs/ocfs2/file.c (+6/-2)
fs/ocfs2/super.c (+1/-0)
fs/overlayfs/copy_up.c (+10/-8)
fs/overlayfs/dir.c (+1/-1)
fs/overlayfs/file.c (+32/-8)
fs/overlayfs/inode.c (+2/-0)
fs/overlayfs/super.c (+15/-10)
fs/pnode.h (+2/-2)
fs/proc/base.c (+5/-5)
fs/proc/generic.c (+37/-18)
fs/proc/internal.h (+7/-0)
fs/proc/proc_net.c (+0/-16)
fs/proc/self.c (+7/-0)
fs/proc/task_mmu.c (+6/-2)
fs/pstore/platform.c (+2/-2)
fs/quota/quota_tree.c (+4/-4)
fs/quota/quota_v2.c (+24/-0)
fs/readdir.c (+6/-0)
fs/reiserfs/stree.c (+6/-0)
fs/reiserfs/xattr.h (+1/-1)
fs/select.c (+4/-6)
fs/shiftfs.c (+23/-8)
fs/squashfs/export.c (+37/-8)
fs/squashfs/file.c (+3/-3)
fs/squashfs/id.c (+34/-8)
fs/squashfs/squashfs_fs.h (+1/-0)
fs/squashfs/squashfs_fs_sb.h (+1/-0)
fs/squashfs/super.c (+3/-3)
fs/squashfs/xattr.h (+9/-1)
fs/squashfs/xattr_id.c (+59/-9)
fs/super.c (+4/-29)
fs/sysfs/file.c (+55/-0)
fs/ubifs/auth.c (+4/-2)
fs/ubifs/debug.c (+1/-0)
fs/ubifs/dir.c (+13/-4)
fs/ubifs/io.c (+11/-2)
fs/ubifs/journal.c (+4/-2)
fs/ubifs/orphan.c (+2/-0)
fs/ubifs/replay.c (+2/-1)
fs/ubifs/super.c (+35/-13)
fs/ubifs/tnc.c (+3/-0)
fs/ubifs/xattr.c (+2/-0)
fs/udf/inode.c (+6/-3)
fs/udf/super.c (+17/-11)
fs/xattr.c (+11/-6)
fs/xfs/libxfs/xfs_alloc.c (+1/-0)
fs/xfs/libxfs/xfs_bmap.c (+12/-7)
fs/xfs/libxfs/xfs_bmap.h (+1/-1)
fs/xfs/libxfs/xfs_rmap.c (+1/-1)
fs/xfs/libxfs/xfs_trans_inode.c (+2/-2)
fs/xfs/scrub/bmap.c (+6/-4)
fs/xfs/scrub/btree.c (+27/-18)
fs/xfs/scrub/inode.c (+1/-2)
fs/xfs/scrub/refcount.c (+3/-5)
fs/xfs/xfs_ioctl.c (+25/-1)
fs/xfs/xfs_iops.c (+11/-1)
fs/xfs/xfs_mount.c (+8/-3)
fs/xfs/xfs_pnfs.c (+1/-1)
fs/xfs/xfs_rtalloc.c (+8/-2)
include/acpi/acexcep.h (+5/-5)
include/acpi/acpi_bus.h (+1/-5)
include/asm-generic/bitops/atomic.h (+3/-3)
include/asm-generic/pgtable.h (+11/-2)
include/asm-generic/sections.h (+3/-0)
include/asm-generic/vmlinux.lds.h (+21/-3)
include/crypto/acompress.h (+2/-0)
include/crypto/aead.h (+2/-0)
include/crypto/akcipher.h (+2/-0)
include/crypto/cast6.h (+2/-2)
include/crypto/hash.h (+8/-4)
include/crypto/kpp.h (+2/-0)
include/crypto/rng.h (+2/-0)
include/crypto/serpent.h (+2/-2)
include/crypto/skcipher.h (+2/-0)
include/crypto/xts.h (+0/-2)
include/drm/intel-gtt.h (+1/-4)
include/dt-bindings/mfd/ahc1ec0-dt.h (+25/-0)
include/linux/acpi.h (+15/-1)
include/linux/arm-smccc.h (+2/-0)
include/linux/bpf.h (+8/-4)
include/linux/bpf_verifier.h (+3/-2)
include/linux/build_bug.h (+5/-0)
include/linux/can/can-ml.h (+12/-0)
include/linux/can/skb.h (+14/-14)
include/linux/capability.h (+1/-1)
include/linux/compiler-clang.h (+0/-6)
include/linux/compiler-gcc.h (+5/-20)
include/linux/compiler.h (+69/-2)
include/linux/compiler_types.h (+4/-4)
include/linux/console_struct.h (+1/-0)
include/linux/crypto.h (+6/-3)
include/linux/device-mapper.h (+5/-0)
include/linux/dm-bufio.h (+1/-0)
include/linux/eeprom_93xx46.h (+2/-0)
include/linux/efi.h (+4/-2)
include/linux/elevator.h (+1/-1)
include/linux/elfcore.h (+22/-0)
include/linux/extcon.h (+23/-0)
include/linux/filter.h (+1/-1)
include/linux/fs.h (+0/-1)
include/linux/fscrypt.h (+34/-0)
include/linux/hid.h (+2/-0)
include/linux/hil_mlc.h (+1/-1)
include/linux/hugetlb.h (+3/-1)
include/linux/i2c.h (+2/-0)
include/linux/icmpv6.h (+46/-2)
include/linux/if_macvlan.h (+2/-1)
include/linux/if_team.h (+1/-4)
include/linux/intel-iommu.h (+3/-1)
include/linux/iomap.h (+1/-0)
include/linux/ipv6.h (+0/-1)
include/linux/irqdomain.h (+10/-2)
include/linux/kdev_t.h (+11/-11)
include/linux/kexec.h (+5/-0)
include/linux/key.h (+1/-0)
include/linux/kprobes.h (+1/-1)
include/linux/kthread.h (+3/-0)
include/linux/kvm_host.h (+2/-2)
include/linux/linkage.h (+237/-8)
include/linux/marvell_phy.h (+3/-2)
include/linux/mfd/ahc1ec0.h (+276/-0)
include/linux/mlx5/driver.h (+6/-0)
include/linux/mlx5/mlx5_ifc.h (+15/-6)
include/linux/mm.h (+60/-4)
include/linux/mm_types.h (+2/-2)
include/linux/mmc/host.h (+0/-3)
include/linux/msi.h (+6/-0)
include/linux/mtd/pfow.h (+1/-1)
include/linux/mutex.h (+1/-1)
include/linux/netdevice.h (+54/-1)
include/linux/netfilter.h (+1/-1)
include/linux/netfilter/nfnetlink.h (+8/-1)
include/linux/netfilter/x_tables.h (+1/-1)
include/linux/netfilter_arp/arp_tables.h (+3/-2)
include/linux/netfilter_bridge/ebtables.h (+3/-2)
include/linux/netfilter_ipv4.h (+1/-1)
include/linux/netfilter_ipv6.h (+5/-5)
include/linux/netpoll.h (+1/-9)
include/linux/of.h (+1/-0)
include/linux/platform_data/gpio-omap.h (+3/-0)
include/linux/pm.h (+2/-1)
include/linux/pm_runtime.h (+23/-4)
include/linux/power/bq27xxx_battery.h (+0/-1)
include/linux/prandom.h (+34/-2)
include/linux/prefetch.h (+8/-0)
include/linux/proc_fs.h (+7/-1)
include/linux/qcom-geni-se.h (+3/-0)
include/linux/rcupdate.h (+2/-0)
include/linux/rmap.h (+2/-1)
include/linux/rwsem.h (+3/-0)
include/linux/sched/mm.h (+2/-1)
include/linux/sched/signal.h (+6/-5)
include/linux/security.h (+1/-1)
include/linux/seq_buf.h (+1/-1)
include/linux/skbuff.h (+8/-2)
include/linux/skmsg.h (+6/-2)
include/linux/smp.h (+1/-1)
include/linux/spi/spi.h (+22/-0)
include/linux/stop_machine.h (+6/-5)
include/linux/sunrpc/xdr.h (+1/-2)
include/linux/sunrpc/xprt.h (+1/-0)
include/linux/swap.h (+1/-0)
include/linux/swiotlb.h (+1/-0)
include/linux/sysfs.h (+15/-0)
include/linux/thread_info.h (+13/-0)
include/linux/time64.h (+4/-0)
include/linux/trace_seq.h (+2/-2)
include/linux/tty.h (+4/-0)
include/linux/tty_driver.h (+1/-1)
include/linux/u64_stats_sync.h (+4/-3)
include/linux/uio.h (+7/-1)
include/linux/usb/pd.h (+1/-0)
include/linux/usb_usual.h (+4/-0)
include/linux/virtio_net.h (+17/-6)
include/linux/zsmalloc.h (+1/-2)
include/media/rc-map.h (+7/-0)
include/media/v4l2-mediabus.h (+2/-0)
include/net/act_api.h (+4/-0)
include/net/addrconf.h (+0/-1)
include/net/bluetooth/hci_core.h (+1/-0)
include/net/bond_alb.h (+4/-0)
include/net/bonding.h (+28/-9)
include/net/cfg80211.h (+2/-2)
include/net/flow_offload.h (+4/-0)
include/net/icmp.h (+10/-0)
include/net/inet_connection_sock.h (+4/-1)
include/net/inet_ecn.h (+1/-1)
include/net/ip_tunnels.h (+4/-3)
include/net/neighbour.h (+1/-0)
include/net/netfilter/nf_conntrack.h (+13/-1)
include/net/netfilter/nf_flow_table.h (+55/-0)
include/net/netfilter/nf_tables.h (+12/-0)
include/net/netfilter/nf_tables_offload.h (+4/-0)
include/net/netns/xfrm.h (+3/-1)
include/net/nexthop.h (+24/-0)
include/net/nfc/nci_core.h (+1/-0)
include/net/page_pool.h (+11/-1)
include/net/pkt_sched.h (+1/-6)
include/net/red.h (+13/-3)
include/net/rtnetlink.h (+2/-0)
include/net/sch_generic.h (+36/-2)
include/net/sock.h (+11/-0)
include/net/tc_act/tc_ct.h (+13/-0)
include/net/tcp.h (+9/-3)
include/net/tls.h (+57/-1)
include/net/xfrm.h (+2/-1)
include/scsi/libfcoe.h (+1/-1)
include/scsi/libiscsi.h (+3/-0)
include/sound/intel-nhlt.h (+5/-0)
include/target/target_core_backend.h (+1/-0)
include/trace/events/btrfs.h (+6/-4)
include/trace/events/sunrpc.h (+4/-4)
include/trace/events/writeback.h (+4/-5)
include/uapi/linux/android/binder.h (+1/-0)
include/uapi/linux/bpf.h (+2/-2)
include/uapi/linux/btrfs_tree.h (+14/-0)
include/uapi/linux/const.h (+5/-0)
include/uapi/linux/ethtool.h (+1/-1)
include/uapi/linux/fscrypt.h (+2/-3)
include/uapi/linux/icmpv6.h (+1/-0)
include/uapi/linux/if_alg.h (+16/-0)
include/uapi/linux/kernel.h (+1/-8)
include/uapi/linux/lightnvm.h (+1/-1)
include/uapi/linux/mroute6.h (+1/-1)
include/uapi/linux/netfilter/nfnetlink_cthelper.h (+1/-1)
include/uapi/linux/netfilter/x_tables.h (+1/-1)
include/uapi/linux/netfilter/xt_SECMARK.h (+6/-0)
include/uapi/linux/netlink.h (+1/-1)
include/uapi/linux/nfs4.h (+3/-0)
include/uapi/linux/pkt_cls.h (+2/-0)
include/uapi/linux/ptrace.h (+2/-1)
include/uapi/linux/sysctl.h (+1/-1)
include/uapi/linux/usb/ch9.h (+3/-0)
include/uapi/linux/usb/video.h (+2/-1)
include/uapi/linux/vfio.h (+15/-0)
include/uapi/linux/videodev2.h (+8/-9)
include/uapi/linux/wireless.h (+5/-1)
include/uapi/rdma/mlx5_user_ioctl_cmds.h (+1/-0)
include/uapi/sound/skl-tplg-interface.h (+2/-0)
include/xen/events.h (+25/-4)
include/xen/grant_table.h (+1/-0)
include/xen/xenbus.h (+14/-3)
init/Kconfig (+3/-3)
init/init_task.c (+3/-2)
init/initramfs.c (+1/-1)
kernel/.gitignore (+1/-0)
kernel/Makefile (+7/-3)
kernel/bpf/Makefile (+5/-1)
kernel/bpf/bpf_lru_list.c (+4/-3)
kernel/bpf/cgroup.c (+9/-3)
kernel/bpf/core.c (+1/-1)
kernel/bpf/hashtab.c (+28/-2)
kernel/bpf/helpers.c (+1/-1)
kernel/bpf/stackmap.c (+2/-0)
kernel/bpf/verifier.c (+219/-108)
kernel/cgroup/cgroup-v1.c (+2/-0)
kernel/cgroup/cgroup.c (+3/-1)
kernel/cgroup/cpuset.c (+28/-5)
kernel/cpu.c (+5/-1)
kernel/debug/debug_core.c (+14/-8)
kernel/debug/kdb/kdb_private.h (+1/-1)
kernel/dma/swiotlb.c (+5/-1)
kernel/events/core.c (+37/-39)
kernel/events/internal.h (+1/-1)
kernel/exit.c (+4/-1)
kernel/fail_function.c (+3/-2)
kernel/fork.c (+8/-8)
kernel/futex.c (+118/-132)
kernel/gcov/clang.c (+83/-5)
kernel/irq/Kconfig (+1/-0)
kernel/irq/irqdomain.c (+17/-7)
kernel/irq/manage.c (+4/-0)
kernel/irq/matrix.c (+3/-1)
kernel/irq/msi.c (+20/-24)
kernel/kcmp.c (+15/-15)
kernel/kexec_core.c (+0/-2)
kernel/kexec_file.c (+8/-1)
kernel/kprobes.c (+28/-8)
kernel/kthread.c (+28/-2)
kernel/locking/lockdep.c (+2/-1)
kernel/locking/mutex-debug.c (+2/-2)
kernel/locking/mutex-debug.h (+1/-1)
kernel/locking/mutex.c (+27/-16)
kernel/locking/mutex.h (+1/-3)
kernel/locking/qrwlock.c (+4/-3)
kernel/locking/rtmutex.c (+1/-2)
kernel/locking/rtmutex_common.h (+1/-2)
kernel/locking/rwsem.c (+40/-0)
kernel/module.c (+160/-33)
kernel/module_signature.c (+1/-1)
kernel/module_signing.c (+1/-1)
kernel/power/energy_model.c (+1/-1)
kernel/power/swap.c (+1/-1)
kernel/printk/printk_safe.c (+12/-4)
kernel/ptrace.c (+22/-12)
kernel/rcu/tree.c (+8/-2)
kernel/rcu/tree_plugin.h (+5/-0)
kernel/reboot.c (+16/-14)
kernel/sched/core.c (+5/-11)
kernel/sched/deadline.c (+3/-2)
kernel/sched/debug.c (+29/-13)
kernel/sched/fair.c (+44/-13)
kernel/sched/idle.c (+1/-0)
kernel/sched/membarrier.c (+21/-4)
kernel/sched/sched.h (+19/-24)
kernel/seccomp.c (+35/-10)
kernel/signal.c (+10/-9)
kernel/smp.c (+5/-5)
kernel/smpboot.c (+1/-0)
kernel/sysctl.c (+4/-4)
kernel/time/alarmtimer.c (+1/-1)
kernel/time/hrtimer.c (+40/-22)
kernel/time/itimer.c (+0/-4)
kernel/time/posix-cpu-timers.c (+1/-1)
kernel/time/posix-timers.c (+2/-2)
kernel/time/tick-common.c (+2/-0)
kernel/time/tick-sched.c (+0/-7)
kernel/time/timer.c (+0/-7)
kernel/trace/Kconfig (+1/-1)
kernel/trace/bpf_trace.c (+5/-3)
kernel/trace/fgraph.c (+0/-2)
kernel/trace/ftrace.c (+25/-2)
kernel/trace/ring_buffer.c (+67/-20)
kernel/trace/trace.c (+29/-36)
kernel/trace/trace.h (+23/-3)
kernel/trace/trace_clock.c (+30/-14)
kernel/trace/trace_events.c (+2/-1)
kernel/trace/trace_hwlat.c (+1/-1)
kernel/trace/trace_kprobe.c (+7/-5)
kernel/trace/trace_selftest.c (+7/-2)
kernel/tracepoint.c (+64/-16)
kernel/up.c (+1/-1)
kernel/workqueue.c (+14/-10)
lib/Makefile (+2/-2)
lib/bug.c (+15/-18)
lib/crc32test.c (+0/-4)
lib/decompress_unlz4.c (+8/-0)
lib/fonts/font_10x18.c (+1/-1)
lib/fonts/font_6x10.c (+1/-1)
lib/fonts/font_6x11.c (+1/-1)
lib/fonts/font_7x14.c (+1/-1)
lib/fonts/font_8x16.c (+1/-1)
lib/fonts/font_8x8.c (+1/-1)
lib/fonts/font_acorn_8x8.c (+1/-1)
lib/fonts/font_mini_4x6.c (+1/-1)
lib/fonts/font_pearl_8x8.c (+1/-1)
lib/fonts/font_sun12x22.c (+1/-1)
lib/fonts/font_sun8x16.c (+1/-1)
lib/fonts/font_ter16x32.c (+1/-1)
lib/genalloc.c (+13/-12)
lib/iov_iter.c (+14/-10)
lib/kobject_uevent.c (+5/-4)
lib/logic_pio.c (+3/-0)
lib/nlattr.c (+1/-1)
lib/raid6/Makefile (+1/-1)
lib/random32.c (+283/-179)
lib/scatterlist.c (+1/-1)
lib/stackdepot.c (+3/-3)
lib/syscall.c (+9/-2)
mm/Kconfig (+0/-13)
mm/compaction.c (+14/-16)
mm/huge_memory.c (+27/-19)
mm/hugetlb.c (+77/-26)
mm/kasan/init.c (+13/-10)
mm/khugepaged.c (+9/-9)
mm/ksm.c (+1/-0)
mm/list_lru.c (+5/-5)
mm/madvise.c (+18/-0)
mm/memblock.c (+6/-43)
mm/memcontrol.c (+7/-2)
mm/memory-failure.c (+1/-1)
mm/memory.c (+41/-34)
mm/mempolicy.c (+3/-3)
mm/migrate.c (+7/-0)
mm/page_alloc.c (+33/-10)
mm/page_idle.c (+2/-5)
mm/page_io.c (+0/-5)
mm/shmem.c (+15/-19)
mm/slub.c (+1/-1)
mm/sparse.c (+1/-0)
mm/swapfile.c (+16/-1)
mm/userfaultfd.c (+1/-1)
mm/zsmalloc.c (+11/-52)
net/8021q/vlan.c (+2/-1)
net/8021q/vlan_dev.c (+2/-3)
net/9p/trans_fd.c (+1/-1)
net/appletalk/ddp.c (+21/-12)
net/batman-adv/log.c (+1/-0)
net/batman-adv/translation-table.c (+2/-0)
net/bluetooth/a2mp.c (+2/-1)
net/bluetooth/amp.c (+3/-0)
net/bluetooth/cmtp/core.c (+5/-0)
net/bluetooth/ecdh_helper.h (+1/-1)
net/bluetooth/hci_core.c (+4/-2)
net/bluetooth/hci_event.c (+12/-8)
net/bluetooth/hci_request.c (+8/-4)
net/bluetooth/l2cap_core.c (+4/-0)
net/bluetooth/l2cap_sock.c (+28/-4)
net/bluetooth/smp.c (+9/-0)
net/bridge/br.c (+4/-1)
net/bridge/br_arp_nd_proxy.c (+3/-1)
net/bridge/br_device.c (+7/-0)
net/bridge/br_multicast.c (+33/-34)
net/bridge/br_netfilter_hooks.c (+5/-2)
net/bridge/br_netlink.c (+3/-2)
net/bridge/br_private.h (+11/-4)
net/bridge/br_sysfs_if.c (+6/-3)
net/bridge/br_vlan.c (+3/-1)
net/bridge/netfilter/ebtable_broute.c (+7/-1)
net/bridge/netfilter/ebtable_filter.c (+7/-1)
net/bridge/netfilter/ebtable_nat.c (+7/-1)
net/bridge/netfilter/ebtables.c (+27/-3)
net/can/af_can.c (+35/-44)
net/can/bcm.c (+12/-4)
net/can/j1939/main.c (+10/-16)
net/can/j1939/socket.c (+6/-5)
net/can/proc.c (+17/-8)
net/can/raw.c (+8/-6)
net/ceph/messenger.c (+5/-0)
net/core/datagram.c (+10/-2)
net/core/dev.c (+145/-16)
net/core/dev_ioctl.c (+7/-13)
net/core/devlink.c (+11/-2)
net/core/ethtool.c (+1/-1)
net/core/filter.c (+16/-12)
net/core/flow_dissector.c (+16/-9)
net/core/gen_estimator.c (+7/-4)
net/core/lwt_bpf.c (+4/-4)
net/core/neighbour.c (+11/-4)
net/core/net-sysfs.c (+53/-12)
net/core/netpoll.c (+47/-13)
net/core/netprio_cgroup.c (+2/-0)
net/core/page_pool.c (+3/-3)
net/core/pktgen.c (+1/-1)
net/core/rtnetlink.c (+1/-1)
net/core/skbuff.c (+35/-5)
net/core/skmsg.c (+75/-19)
net/core/sock.c (+3/-10)
net/core/sock_reuseport.c (+1/-1)
net/dcb/dcbnl.c (+2/-0)
net/dccp/ipv6.c (+5/-0)
net/dsa/Kconfig (+1/-0)
net/dsa/dsa.c (+1/-1)
net/dsa/dsa2.c (+5/-2)
net/dsa/dsa_priv.h (+3/-0)
net/dsa/master.c (+3/-2)
net/dsa/slave.c (+18/-9)
net/dsa/tag_mtk.c (+13/-6)
net/hsr/hsr_device.c (+1/-0)
net/hsr/hsr_forward.c (+0/-6)
net/hsr/hsr_framereg.c (+2/-1)
net/ieee802154/nl-mac.c (+4/-3)
net/ieee802154/nl802154.c (+60/-4)
net/ipv4/arp.c (+6/-0)
net/ipv4/cipso_ipv4.c (+1/-10)
net/ipv4/esp4.c (+1/-6)
net/ipv4/esp4_offload.c (+4/-2)
net/ipv4/fib_frontend.c (+3/-3)
net/ipv4/gre_demux.c (+1/-1)
net/ipv4/icmp.c (+34/-0)
net/ipv4/inet_connection_sock.c (+6/-2)
net/ipv4/inet_diag.c (+3/-1)
net/ipv4/ip_output.c (+1/-1)
net/ipv4/ip_tunnel.c (+12/-18)
net/ipv4/netfilter.c (+5/-3)
net/ipv4/netfilter/arp_tables.c (+9/-2)
net/ipv4/netfilter/arptable_filter.c (+9/-1)
net/ipv4/netfilter/ip_tables.c (+2/-0)
net/ipv4/netfilter/ipt_rpfilter.c (+1/-1)
net/ipv4/netfilter/iptable_mangle.c (+1/-1)
net/ipv4/netfilter/nf_reject_ipv4.c (+1/-1)
net/ipv4/nexthop.c (+10/-4)
net/ipv4/route.c (+32/-17)
net/ipv4/syncookies.c (+7/-2)
net/ipv4/tcp.c (+18/-8)
net/ipv4/tcp_bbr.c (+1/-1)
net/ipv4/tcp_bpf.c (+11/-7)
net/ipv4/tcp_cong.c (+9/-0)
net/ipv4/tcp_input.c (+12/-6)
net/ipv4/tcp_ipv4.c (+13/-12)
net/ipv4/tcp_minisocks.c (+5/-2)
net/ipv4/tcp_output.c (+9/-3)
net/ipv4/tcp_recovery.c (+3/-2)
net/ipv4/tcp_timer.c (+25/-7)
net/ipv4/udp.c (+7/-2)
net/ipv4/udp_offload.c (+2/-2)
net/ipv6/addrconf.c (+8/-3)
net/ipv6/addrlabel.c (+17/-9)
net/ipv6/ah6.c (+2/-1)
net/ipv6/calipso.c (+5/-9)
net/ipv6/esp6.c (+1/-6)
net/ipv6/esp6_offload.c (+4/-2)
net/ipv6/icmp.c (+17/-10)
net/ipv6/ip6_fib.c (+3/-4)
net/ipv6/ip6_gre.c (+15/-8)
net/ipv6/ip6_icmp.c (+41/-5)
net/ipv6/ip6_input.c (+0/-10)
net/ipv6/ip6_output.c (+40/-1)
net/ipv6/ip6_tunnel.c (+11/-2)
net/ipv6/ip6_vti.c (+1/-2)
net/ipv6/mcast.c (+0/-3)
net/ipv6/mcast_snoop.c (+7/-5)
net/ipv6/ndisc.c (+7/-0)
net/ipv6/netfilter.c (+3/-3)
net/ipv6/netfilter/ip6_tables.c (+2/-0)
net/ipv6/netfilter/ip6table_mangle.c (+1/-1)
net/ipv6/raw.c (+1/-1)
net/ipv6/reassembly.c (+35/-2)
net/ipv6/route.c (+5/-3)
net/ipv6/sit.c (+7/-9)
net/ipv6/syncookies.c (+8/-2)
net/ipv6/tcp_ipv6.c (+5/-0)
net/iucv/af_iucv.c (+4/-4)
net/key/af_key.c (+3/-3)
net/lapb/lapb_out.c (+2/-1)
net/mac80211/cfg.c (+5/-3)
net/mac80211/driver-ops.c (+4/-1)
net/mac80211/ibss.c (+2/-0)
net/mac80211/ieee80211_i.h (+14/-23)
net/mac80211/iface.c (+9/-8)
net/mac80211/key.c (+7/-0)
net/mac80211/key.h (+2/-0)
net/mac80211/main.c (+17/-3)
net/mac80211/mesh_hwmp.c (+1/-1)
net/mac80211/mesh_pathtbl.c (+1/-3)
net/mac80211/mlme.c (+5/-0)
net/mac80211/rate.c (+2/-1)
net/mac80211/rc80211_minstrel.c (+5/-22)
net/mac80211/rc80211_minstrel.h (+0/-1)
net/mac80211/rx.c (+119/-33)
net/mac80211/spectmgmt.c (+7/-3)
net/mac80211/sta_info.c (+27/-11)
net/mac80211/sta_info.h (+32/-0)
net/mac80211/tx.c (+27/-16)
net/mac80211/vht.c (+10/-4)
net/mac80211/wpa.c (+9/-4)
net/mac802154/llsec.c (+1/-1)
net/mpls/mpls_gso.c (+3/-0)
net/ncsi/ncsi-manage.c (+13/-12)
net/ncsi/ncsi-netlink.c (+3/-19)
net/ncsi/ncsi-netlink.h (+0/-3)
net/ncsi/ncsi-rsp.c (+1/-1)
net/netfilter/ipset/ip_set_core.c (+3/-3)
net/netfilter/ipset/ip_set_hash_gen.h (+18/-24)
net/netfilter/ipvs/ip_vs_core.c (+2/-2)
net/netfilter/nf_conntrack_core.c (+2/-13)
net/netfilter/nf_conntrack_netlink.c (+1/-0)
net/netfilter/nf_conntrack_proto_gre.c (+0/-3)
net/netfilter/nf_conntrack_standalone.c (+4/-0)
net/netfilter/nf_flow_table_core.c (+18/-2)
net/netfilter/nf_flow_table_offload.c (+99/-0)
net/netfilter/nf_nat_core.c (+1/-0)
net/netfilter/nf_nat_proto.c (+23/-6)
net/netfilter/nf_synproxy_core.c (+1/-1)
net/netfilter/nf_tables_api.c (+73/-19)
net/netfilter/nf_tables_offload.c (+19/-2)
net/netfilter/nfnetlink.c (+18/-4)
net/netfilter/nfnetlink_osf.c (+2/-0)
net/netfilter/nft_chain_route.c (+2/-2)
net/netfilter/nft_compat.c (+23/-4)
net/netfilter/nft_ct.c (+0/-2)
net/netfilter/nft_dynset.c (+11/-7)
net/netfilter/nft_limit.c (+2/-2)
net/netfilter/nft_payload.c (+4/-0)
net/netfilter/nft_set_hash.c (+9/-1)
net/netfilter/utils.c (+2/-2)
net/netfilter/x_tables.c (+7/-11)
net/netfilter/xt_RATEEST.c (+3/-0)
net/netfilter/xt_SECMARK.c (+69/-19)
net/netfilter/xt_recent.c (+10/-2)
net/netlabel/netlabel_cipso_v4.c (+3/-0)
net/netlabel/netlabel_unlabeled.c (+12/-5)
net/nfc/digital_dep.c (+2/-0)
net/nfc/llcp_sock.c (+14/-0)
net/nfc/nci/core.c (+1/-0)
net/nfc/nci/hci.c (+5/-0)
net/nfc/netlink.c (+1/-0)
net/nfc/rawsock.c (+1/-1)
net/openvswitch/actions.c (+7/-4)
net/openvswitch/conntrack.c (+10/-12)
net/openvswitch/conntrack.h (+4/-2)
net/openvswitch/flow.c (+3/-1)
net/openvswitch/meter.c (+8/-0)
net/qrtr/qrtr.c (+10/-3)
net/qrtr/tun.c (+17/-1)
net/rds/message.c (+2/-1)
net/rds/rdma.c (+3/-0)
net/rfkill/core.c (+3/-0)
net/rose/rose_loopback.c (+13/-4)
net/rxrpc/af_rxrpc.c (+3/-3)
net/rxrpc/call_accept.c (+1/-0)
net/rxrpc/call_object.c (+0/-2)
net/rxrpc/input.c (+1/-1)
net/rxrpc/key.c (+4/-2)
net/sched/act_api.c (+4/-1)
net/sched/act_ct.c (+21/-4)
net/sched/act_mpls.c (+4/-0)
net/sched/cls_api.c (+9/-0)
net/sched/cls_flower.c (+7/-3)
net/sched/cls_tcindex.c (+6/-2)
net/sched/sch_api.c (+6/-5)
net/sched/sch_choke.c (+4/-3)
net/sched/sch_dsmark.c (+2/-1)
net/sched/sch_generic.c (+51/-2)
net/sched/sch_gred.c (+1/-1)
net/sched/sch_netem.c (+8/-1)
net/sched/sch_red.c (+5/-2)
net/sched/sch_sfq.c (+1/-1)
net/sched/sch_taprio.c (+23/-2)
net/sched/sch_teql.c (+3/-0)
net/sctp/input.c (+2/-2)
net/sctp/ipv6.c (+3/-4)
net/sctp/proc.c (+12/-4)
net/sctp/sm_make_chunk.c (+1/-1)
net/sctp/sm_sideeffect.c (+4/-4)
net/sctp/sm_statefuns.c (+22/-6)
net/sctp/socket.c (+18/-15)
net/sctp/transport.c (+1/-1)
net/smc/af_smc.c (+3/-1)
net/smc/smc_ib.c (+3/-3)
net/smc/smc_ism.c (+0/-5)
net/sunrpc/addr.c (+1/-1)
net/sunrpc/auth_gss/auth_gss.c (+1/-29)
net/sunrpc/auth_gss/auth_gss_internal.h (+45/-0)
net/sunrpc/auth_gss/gss_krb5_mech.c (+2/-29)
net/sunrpc/auth_gss/svcauth_gss.c (+7/-4)
net/sunrpc/clnt.c (+5/-6)
net/sunrpc/debugfs.c (+2/-2)
net/sunrpc/sched.c (+39/-31)
net/sunrpc/svc.c (+4/-2)
net/sunrpc/svc_xprt.c (+2/-2)
net/sunrpc/xprt.c (+53/-18)
net/sunrpc/xprtrdma/module.c (+1/-0)
net/sunrpc/xprtrdma/rpc_rdma.c (+31/-9)
net/sunrpc/xprtrdma/svc_rdma_backchannel.c (+3/-3)
net/sunrpc/xprtrdma/transport.c (+1/-0)
net/sunrpc/xprtsock.c (+6/-1)
net/switchdev/switchdev.c (+13/-10)
net/tipc/core.c (+9/-0)
net/tipc/core.h (+11/-0)
net/tipc/link.c (+7/-2)
net/tipc/msg.c (+4/-10)
net/tipc/net.c (+5/-15)
net/tipc/net.h (+1/-0)
net/tipc/netlink_compat.c (+1/-1)
net/tipc/socket.c (+3/-0)
net/tipc/topsrv.c (+8/-2)
net/tipc/udp_media.c (+2/-0)
net/tls/tls_device.c (+75/-2)
net/tls/tls_device_fallback.c (+1/-1)
net/tls/tls_sw.c (+13/-6)
net/vmw_vsock/af_vsock.c (+8/-8)
net/vmw_vsock/hyperv_transport.c (+0/-4)
net/vmw_vsock/virtio_transport_common.c (+2/-2)
net/vmw_vsock/vmci_transport.c (+1/-2)
net/wireless/core.c (+31/-26)
net/wireless/core.h (+3/-2)
net/wireless/nl80211.c (+3/-2)
net/wireless/reg.c (+1/-1)
net/wireless/scan.c (+2/-0)
net/wireless/sme.c (+1/-1)
net/wireless/util.c (+5/-2)
net/wireless/wext-core.c (+3/-2)
net/x25/af_x25.c (+6/-3)
net/xdp/xsk.c (+6/-4)
net/xdp/xsk_queue.h (+5/-2)
net/xfrm/xfrm_device.c (+18/-17)
net/xfrm/xfrm_input.c (+1/-1)
net/xfrm/xfrm_interface.c (+6/-3)
net/xfrm/xfrm_policy.c (+20/-10)
net/xfrm/xfrm_state.c (+10/-8)
samples/bpf/lwt_len_hist.sh (+2/-0)
samples/bpf/tracex1_kern.c (+2/-2)
samples/bpf/xdpsock_user.c (+3/-0)
samples/kfifo/bytestream-example.c (+6/-2)
samples/kfifo/inttype-example.c (+6/-2)
samples/kfifo/record-example.c (+6/-2)
scripts/Makefile (+7/-2)
scripts/Makefile.build (+4/-8)
scripts/bloat-o-meter (+1/-1)
scripts/checkpatch.pl (+1/-1)
scripts/config (+1/-1)
scripts/depmod.sh (+2/-0)
scripts/diffconfig (+1/-1)
scripts/get_abi.pl (+1/-1)
scripts/kconfig/nconf.c (+1/-1)
scripts/kconfig/preprocess.c (+1/-1)
scripts/mod/modpost.c (+1/-1)
scripts/recordmcount.c (+1/-1)
scripts/recordmcount.pl (+6/-2)
scripts/setlocalversion (+16/-5)
scripts/show_delta (+1/-1)
scripts/sphinx-pre-install (+1/-1)
scripts/split-man.pl (+1/-1)
scripts/tracing/draw_functrace.py (+1/-1)
security/commoncap.c (+45/-27)
security/integrity/evm/evm_crypto.c (+5/-2)
security/integrity/evm/evm_main.c (+6/-0)
security/integrity/iint.c (+8/-0)
security/integrity/ima/ima.h (+1/-1)
security/integrity/ima/ima_crypto.c (+19/-16)
security/integrity/ima/ima_kexec.c (+3/-0)
security/integrity/ima/ima_mok.c (+2/-3)
security/keys/key.c (+2/-0)
security/keys/trusted.c (+1/-1)
security/lsm_audit.c (+5/-2)
security/selinux/hooks.c (+12/-4)
security/selinux/ibpkey.c (+3/-1)
security/smack/smackfs.c (+19/-2)
sound/core/control.c (+1/-1)
sound/core/init.c (+0/-2)
sound/core/memalloc.c (+2/-1)
sound/core/oss/pcm_oss.c (+19/-9)
sound/core/pcm_native.c (+7/-2)
sound/core/rawmidi.c (+35/-14)
sound/core/seq/oss/seq_oss_synth.c (+2/-1)
sound/core/seq/seq_queue.h (+4/-4)
sound/drivers/aloop.c (+8/-3)
sound/firewire/Kconfig (+2/-2)
sound/firewire/amdtp-stream.c (+16/-11)
sound/firewire/bebob/bebob.c (+1/-1)
sound/firewire/bebob/bebob_stream.c (+7/-5)
sound/firewire/dice/dice-alesis.c (+1/-1)
sound/firewire/dice/dice-stream.c (+2/-3)
sound/firewire/dice/dice-tcelectronic.c (+2/-2)
sound/firewire/fireface/ff-transaction.c (+1/-1)
sound/firewire/fireworks/fireworks_transaction.c (+2/-2)
sound/firewire/oxfw/oxfw.c (+0/-1)
sound/firewire/tascam/tascam-transaction.c (+1/-1)
sound/hda/ext/hdac_ext_controller.c (+2/-0)
sound/hda/intel-nhlt.c (+50/-9)
sound/isa/gus/gus_main.c (+2/-11)
sound/isa/sb/emu8000.c (+3/-1)
sound/isa/sb/sb16_csp.c (+6/-2)
sound/isa/sb/sb16_main.c (+3/-7)
sound/isa/sb/sb8.c (+0/-4)
sound/pci/ctxfi/cthw20k2.c (+1/-1)
sound/pci/hda/hda_bind.c (+4/-0)
sound/pci/hda/hda_codec.c (+1/-1)
sound/pci/hda/hda_controller.c (+0/-7)
sound/pci/hda/hda_controller.h (+2/-1)
sound/pci/hda/hda_generic.c (+20/-10)
sound/pci/hda/hda_generic.h (+1/-0)
sound/pci/hda/hda_intel.c (+50/-30)
sound/pci/hda/hda_sysfs.c (+1/-1)
sound/pci/hda/patch_ca0132.c (+3/-2)
sound/pci/hda/patch_conexant.c (+8/-7)
sound/pci/hda/patch_hdmi.c (+105/-225)
sound/pci/hda/patch_realtek.c (+455/-70)
sound/pci/hda/patch_via.c (+14/-0)
sound/pci/intel8x0.c (+7/-0)
sound/pci/mixart/mixart_core.c (+2/-3)
sound/pci/rme9652/hdsp.c (+2/-1)
sound/pci/rme9652/hdspm.c (+2/-1)
sound/pci/rme9652/rme9652.c (+2/-1)
sound/soc/amd/acp-da7219-max98357a.c (+7/-2)
sound/soc/codecs/ak4458.c (+8/-15)
sound/soc/codecs/ak5558.c (+3/-2)
sound/soc/codecs/cpcap.c (+6/-6)
sound/soc/codecs/cs35l33.c (+1/-0)
sound/soc/codecs/cs42l42.c (+37/-40)
sound/soc/codecs/cs42l42.h (+7/-6)
sound/soc/codecs/cs42l51.c (+21/-1)
sound/soc/codecs/cs42l56.c (+2/-1)
sound/soc/codecs/cs43130.c (+13/-15)
sound/soc/codecs/cx2072x.c (+2/-2)
sound/soc/codecs/es8316.c (+2/-7)
sound/soc/codecs/max98373.c (+2/-0)
sound/soc/codecs/rt286.c (+13/-10)
sound/soc/codecs/rt5640.c (+2/-2)
sound/soc/codecs/rt5651.c (+2/-2)
sound/soc/codecs/rt5659.c (+5/-0)
sound/soc/codecs/sgtl5000.c (+1/-1)
sound/soc/codecs/wcd9335.c (+1/-1)
sound/soc/codecs/wm8960.c (+7/-1)
sound/soc/codecs/wm8997.c (+2/-0)
sound/soc/codecs/wm8998.c (+3/-1)
sound/soc/codecs/wm_adsp.c (+4/-2)
sound/soc/fsl/fsl_esai.c (+5/-3)
sound/soc/fsl/fsl_ssi.c (+4/-2)
sound/soc/generic/audio-graph-card.c (+1/-1)
sound/soc/generic/simple-card.c (+1/-1)
sound/soc/intel/atom/sst-mfld-platform-pcm.c (+3/-3)
sound/soc/intel/boards/bytcr_rt5640.c (+69/-0)
sound/soc/intel/boards/bytcr_rt5651.c (+13/-0)
sound/soc/intel/boards/haswell.c (+1/-0)
sound/soc/intel/boards/kbl_da7219_max98927.c (+30/-8)
sound/soc/intel/boards/kbl_rt5663_max98927.c (+31/-8)
sound/soc/intel/common/soc-intel-quirks.h (+25/-0)
sound/soc/intel/skylake/bxt-sst.c (+0/-3)
sound/soc/intel/skylake/cnl-sst.c (+29/-7)
sound/soc/intel/skylake/skl-nhlt.c (+2/-1)
sound/soc/intel/skylake/skl-sst-dsp.h (+2/-0)
sound/soc/intel/skylake/skl-topology.c (+174/-5)
sound/soc/intel/skylake/skl-topology.h (+1/-0)
sound/soc/intel/skylake/skl.c (+13/-16)
sound/soc/jz4740/jz4740-i2s.c (+4/-0)
sound/soc/meson/Kconfig (+1/-1)
sound/soc/meson/axg-tdm-interface.c (+13/-1)
sound/soc/meson/axg-tdmin.c (+2/-11)
sound/soc/qcom/lpass-platform.c (+4/-1)
sound/soc/qcom/sdm845.c (+2/-0)
sound/soc/samsung/tm2_wm5110.c (+1/-1)
sound/soc/sh/rcar/core.c (+68/-1)
sound/soc/sh/rcar/ssi.c (+5/-11)
sound/soc/soc-dapm.c (+1/-0)
sound/soc/soc-pcm.c (+2/-0)
sound/soc/soc-topology.c (+1/-1)
sound/soc/sof/debug.c (+1/-1)
sound/soc/sof/intel/hda-codec.c (+1/-2)
sound/soc/sof/intel/hda-dsp.c (+12/-5)
sound/soc/sof/intel/hda.c (+4/-3)
sound/soc/sunxi/sun4i-codec.c (+5/-0)
sound/soc/sunxi/sun4i-i2s.c (+2/-2)
sound/usb/card.c (+7/-7)
sound/usb/clock.c (+20/-4)
sound/usb/format.c (+2/-0)
sound/usb/line6/driver.c (+4/-0)
sound/usb/line6/pod.c (+0/-5)
sound/usb/line6/variax.c (+0/-6)
sound/usb/midi.c (+9/-1)
sound/usb/mixer.c (+30/-30)
sound/usb/mixer_maps.c (+40/-28)
sound/usb/mixer_quirks.c (+4/-4)
sound/usb/mixer_scarlett.c (+7/-7)
sound/usb/mixer_scarlett_gen2.c (+51/-30)
sound/usb/mixer_scarlett_gen2.h (+1/-1)
sound/usb/mixer_us16x08.c (+1/-1)
sound/usb/pcm.c (+7/-1)
sound/usb/proc.c (+1/-1)
sound/usb/quirks-table.h (+10/-0)
sound/usb/quirks.c (+29/-9)
sound/usb/stream.c (+5/-5)
sound/usb/usbaudio.h (+2/-0)
sound/usb/validate.c (+2/-2)
tools/arch/ia64/include/asm/barrier.h (+0/-3)
tools/arch/x86/include/asm/insn.h (+15/-0)
tools/bpf/bpftool/net.c (+9/-10)
tools/build/Makefile (+0/-4)
tools/include/uapi/linux/bpf.h (+2/-2)
tools/include/uapi/linux/const.h (+5/-0)
tools/lib/bpf/Makefile (+1/-1)
tools/lib/bpf/btf_dump.c (+1/-1)
tools/lib/bpf/netlink.c (+1/-1)
tools/objtool/Makefile (+0/-9)
tools/objtool/check.c (+8/-4)
tools/objtool/elf.c (+5/-2)
tools/objtool/orc_gen.c (+26/-7)
tools/perf/Makefile.perf (+0/-4)
tools/perf/builtin-ftrace.c (+1/-1)
tools/perf/builtin-inject.c (+1/-1)
tools/perf/builtin-lock.c (+1/-1)
tools/perf/builtin-trace.c (+9/-6)
tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json (+1/-1)
tools/perf/pmu-events/jevents.c (+1/-1)
tools/perf/python/tracepoint.py (+1/-1)
tools/perf/python/twatch.py (+1/-1)
tools/perf/scripts/python/exported-sql-viewer.py (+9/-3)
tools/perf/tests/sample-parsing.c (+1/-1)
tools/perf/trace/beauty/fsconfig.sh (+3/-4)
tools/perf/util/auxtrace.c (+1/-5)
tools/perf/util/data.c (+3/-2)
tools/perf/util/dwarf-aux.c (+8/-0)
tools/perf/util/event.c (+2/-0)
tools/perf/util/expr.y (+2/-1)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c (+18/-2)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.h (+1/-0)
tools/perf/util/intel-pt.c (+10/-11)
tools/perf/util/machine.c (+2/-2)
tools/perf/util/map.c (+3/-4)
tools/perf/util/parse-events.y (+1/-1)
tools/perf/util/parse-regs-options.c (+1/-1)
tools/perf/util/print_binary.c (+1/-1)
tools/perf/util/probe-file.c (+10/-3)
tools/perf/util/scripting-engines/trace-event-python.c (+2/-5)
tools/perf/util/session.c (+3/-2)
tools/perf/util/stat-display.c (+1/-4)
tools/perf/util/symbol_fprintf.c (+1/-1)
tools/perf/util/trace-event-read.c (+1/-0)
tools/perf/util/unwind-libdw.c (+31/-4)
tools/perf/util/zstd.c (+1/-1)
tools/power/acpi/Makefile.config (+0/-1)
tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py (+1/-1)
tools/scripts/Makefile.include (+10/-0)
tools/testing/ktest/compare-ktest-sample.pl (+1/-1)
tools/testing/ktest/ktest.pl (+7/-2)
tools/testing/radix-tree/idr-test.c (+8/-2)
tools/testing/radix-tree/multiorder.c (+2/-0)
tools/testing/radix-tree/xarray.c (+2/-0)
tools/testing/selftests/bpf/Makefile (+2/-1)
tools/testing/selftests/bpf/prog_tests/sockopt_multi.c (+2/-1)
tools/testing/selftests/bpf/progs/test_sysctl_prog.c (+2/-2)
tools/testing/selftests/bpf/progs/test_tunnel_kern.c (+11/-43)
tools/testing/selftests/bpf/test_offload.py (+2/-1)
tools/testing/selftests/bpf/test_tunnel.sh (+39/-4)
tools/testing/selftests/bpf/verifier/array_access.c (+2/-1)
tools/testing/selftests/bpf/verifier/bounds_deduction.c (+21/-9)
tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c (+0/-13)
tools/testing/selftests/bpf/verifier/unpriv.c (+14/-1)
tools/testing/selftests/bpf/verifier/value_ptr_arith.c (+23/-4)
tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc (+1/-1)
tools/testing/selftests/gpio/Makefile (+13/-11)
tools/testing/selftests/kselftest/prefix.pl (+1/-1)
tools/testing/selftests/kvm/include/x86_64/processor.h (+1/-1)
tools/testing/selftests/kvm/lib/x86_64/processor.c (+2/-1)
tools/testing/selftests/lib.mk (+4/-0)
tools/testing/selftests/memfd/fuse_test.c (+1/-1)
tools/testing/selftests/memfd/memfd_test.c (+1/-1)
tools/testing/selftests/net/fcnal-test.sh (+95/-0)
tools/testing/selftests/net/fib_tests.sh (+0/-1)
tools/testing/selftests/net/forwarding/mirror_gre_bridge_1d_vlan.sh (+9/-0)
tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh (+1/-1)
tools/testing/selftests/net/forwarding/router_mpath_nh.sh (+1/-1)
tools/testing/selftests/net/forwarding/router_multipath.sh (+1/-1)
tools/testing/selftests/net/forwarding/tc_flower.sh (+37/-1)
tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh (+1/-1)
tools/testing/selftests/net/pmtu.sh (+93/-26)
tools/testing/selftests/net/test_vxlan_under_vrf.sh (+1/-1)
tools/testing/selftests/net/udpgro.sh (+34/-0)
tools/testing/selftests/net/udpgso_bench_rx.c (+3/-0)
tools/testing/selftests/net/xfrm_policy.sh (+44/-1)
tools/testing/selftests/networking/timestamping/txtimestamp.c (+3/-3)
tools/testing/selftests/pidfd/pidfd_open_test.c (+0/-1)
tools/testing/selftests/pidfd/pidfd_poll_test.c (+0/-1)
tools/testing/selftests/powerpc/alignment/alignment_handler.c (+4/-1)
tools/testing/selftests/powerpc/eeh/Makefile (+1/-1)
tools/testing/selftests/powerpc/eeh/eeh-basic.sh (+6/-1)
tools/testing/selftests/powerpc/eeh/settings (+1/-0)
tools/testing/selftests/powerpc/security/.gitignore (+1/-0)
tools/testing/selftests/powerpc/security/Makefile (+1/-1)
tools/testing/selftests/powerpc/security/entry_flush.c (+164/-0)
tools/testing/selftests/powerpc/security/rfi_flush.c (+29/-6)
tools/testing/selftests/proc/proc-loadavg-001.c (+0/-1)
tools/testing/selftests/proc/proc-self-syscall.c (+0/-1)
tools/testing/selftests/proc/proc-uptime-002.c (+0/-1)
tools/testing/selftests/seccomp/config (+1/-0)
tools/testing/selftests/seccomp/seccomp_bpf.c (+1/-0)
tools/testing/selftests/tc-testing/tdc_batch.py (+1/-1)
tools/testing/selftests/tc-testing/tdc_multibatch.py (+1/-1)
tools/testing/selftests/x86/fsgsbase.c (+68/-0)
tools/usb/usbip/libsrc/usbip_host_common.c (+1/-1)
ubuntu/Kconfig (+6/-0)
update-version-dkms (+5/-4)
virt/kvm/arm/arm.c (+9/-1)
virt/kvm/arm/mmu.c (+2/-2)
virt/kvm/arm/psci.c (+1/-1)
virt/kvm/arm/vgic/vgic-mmio-v3.c (+20/-2)
virt/kvm/coalesced_mmio.c (+17/-2)
virt/kvm/kvm_main.c (+20/-11)
Conflict in debian.bluefield/changelog
Conflict in debian.bluefield/config/annotations
Conflict in debian.bluefield/config/config.common.ubuntu
Conflict in debian.bluefield/control.stub.in
Conflict in debian.bluefield/d-i/kernel-versions
Conflict in debian.bluefield/reconstruct
Conflict in debian.bluefield/rules.d/arm64.mk
Conflict in debian.bluefield/tracking-bug
Conflict in drivers/char/ipmi/ipmb_host.c
Conflict in drivers/gpio/gpio-mlxbf2.c
Conflict in drivers/i2c/busses/Kconfig
Conflict in drivers/i2c/busses/Makefile
Conflict in drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
Conflict in drivers/net/ethernet/mellanox/mlx5/core/eq.c
Conflict in drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
Conflict in drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
Conflict in drivers/net/ethernet/mellanox/mlx5/core/main.c
Conflict in drivers/net/ethernet/mellanox/mlxbf_gige/Kconfig
Conflict in drivers/net/ethernet/mellanox/mlxbf_gige/Makefile
Conflict in drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige.h
Conflict in drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
Conflict in drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c
Conflict in drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_regs.h
Conflict in drivers/platform/mellanox/mlx-bootctl.c
Conflict in drivers/platform/mellanox/mlx-trio.c
Conflict in drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_addrs.h
Conflict in drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_config.h
Conflict in drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_dev.c
Conflict in drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_dev.h
Conflict in drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_drv.c
Conflict in drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_firmware.h
Conflict in include/net/act_api.h
Conflict in include/net/flow_offload.h
Conflict in include/net/netfilter/nf_flow_table.h
Conflict in include/net/tc_act/tc_ct.h
Conflict in net/netfilter/nf_flow_table_core.c
Conflict in net/netfilter/nf_flow_table_offload.c
Conflict in net/netfilter/nf_tables_api.c
Conflict in net/sched/act_ct.c
Conflict in net/sched/cls_api.c
Reviewer Review Type Date Requested Status
Stefan Bader Pending
Review via email: mp+405646@code.launchpad.net

Commit message

Cherry-pick mlxbf-gige driver from upstream net-next

BugLink: https://bugs.launchpad.net/bugs/1934923

The mlxbf-gige driver has just been upstreamed so linux-bluefield needs to be synced up with what we have upstreamed.

Description of the change

Cherry-pick mlxbf-gige driver from upstream net-next

BugLink: https://bugs.launchpad.net/bugs/1934923

The mlxbf-gige driver has just been upstreamed so linux-bluefield needs to be synced up with what we have upstreamed.

This series first reverts 21 commits related to mlxbf-gige made in linux-bluefield:master-next. Some of those commits contain changes to the gpio-mlxbf2.c driver since there was a dependency between the gpio-mlxbf2 driver and the mlxf-gige driver. This dependency has been removed in the upstreamed version.

Then it cherry-picks f92e1869d74e1acc6551256eb084a1c14a054e19 from net-next branch.

Then add gpio-mlxbf2.c code that was reverted by previous commits and add
mlxbf-gige code that was left out of the upstreamed version.

Signed-off-by: David Thompson <email address hidden>
Signed-off-by: Asmaa Mnebhi <email address hidden>

Asmaa Mnebhi (23):
    Revert "UBUNTU: SAUCE: mlxbf_gige: syncup with v1.23 content"
    Revert "UBUNTU: SAUCE: mlxbf_gige: syncup with v1.21 content"
    Revert "UBUNTU: SAUCE: Automate soft reset of BlueField ARM via GPIO7"
    Revert "UBUNTU: SAUCE: Syncup with the latest gpio-mlxbf2 and mlxbf-gige drivers"
    Revert "Revert "UBUNTU: SAUCE: Fix intermittent OOB link up issue""
    Revert "UBUNTU: SAUCE: Fix intermittent OOB link up issue"
    Revert "UBUNTU: SAUCE: mlxbf_gige_mdio.c: Support PHY interrupt on Bluesphere"
    Revert "UBUNTU: SAUCE: mlxbf_gige_main.c: Fix OOB PHY interrupt"
    Revert "UBUNTU: SAUCE: mlxbf_gige: use streaming DMA mapping for packet buffers"
    Revert "UBUNTU: SAUCE: mlxbf_gige: address upstream comments on RX and TX"
    Revert "UBUNTU: SAUCE: mlxbf-gige: remove gpio interrupt coalesce resources"
    Revert "UBUNTU: SAUCE: mlxbf_gige: add support for ndo_get_stats64"
    Revert "UBUNTU: SAUCE: mlxbf_gige: address some general upstream comments"
    Revert "UBUNTU: SAUCE: Address upstream comments from patch v6 for PHY driver"
    Revert "UBUNTU: SAUCE: mlxbf-gige: cleanups from review"
    Revert "UBUNTU: SAUCE: mlxbf-gige: v5 patch cleanup and napi_schedule"
    Revert "UBUNTU: SAUCE: mlxbf_gige_main.c: Fix OOB's ethtool command"
    Revert "UBUNTU: SAUCE: mlxbf_gige_main.c: Support ethtool options"
    Revert "UBUNTU: SAUCE: mlxbf-gige: multiple fixes for stability"
    Revert "UBUNTU: SAUCE: Remove built-in tests from mlxbf_gige driver"
    Revert "UBUNTU: SAUCE: Add Mellanox BlueField Gigabit Ethernet driver"
    UBUNTU: SAUCE: Add code not included in upstreamed mlxbf-gige and gpio-mlxbf2

 David Thompson (1):
    Add Mellanox BlueField Gigabit Ethernet driver

   drivers/gpio/gpio-mlxbf2.c | 42 +---
   .../net/ethernet/mellanox/mlxbf_gige/Kconfig | 2 +-
   .../net/ethernet/mellanox/mlxbf_gige/Makefile | 10 +-
   .../ethernet/mellanox/mlxbf_gige/mlxbf_gige.h | 20 +-
   .../mellanox/mlxbf_gige/mlxbf_gige_ethtool.c | 11 +-
   .../mellanox/mlxbf_gige/mlxbf_gige_gpio.c | 212 ++++++++++++++++++
   .../mellanox/mlxbf_gige/mlxbf_gige_intr.c | 3 +-
   .../mellanox/mlxbf_gige/mlxbf_gige_main.c | 72 +++---
   .../mellanox/mlxbf_gige/mlxbf_gige_mdio.c | 2 +-
   .../mellanox/mlxbf_gige/mlxbf_gige_regs.h | 2 +-
   .../mellanox/mlxbf_gige/mlxbf_gige_rx.c | 8 +-
   .../mellanox/mlxbf_gige/mlxbf_gige_tx.c | 5 +-
   12 files changed, 284 insertions(+), 105 deletions(-)
   create mode 100644 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_gpio.c

To post a comment you must log in.
cdba43f... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: mlxbf-gige: add driver version

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

5277c0d... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: mlxbf-gige: add ethtool mlxbf_gige_set_ringparam

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

79bb3b1... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: gpio-mlxbf2: Cleanup and use generic gpio_irq_chip struct

BugLink: https://bugs.launchpad.net/bugs/1934923

Cleanup the gpio-mlxbf2.c driver and use the generic gpio_irq_chip
struct to initialize the interrupts instead of using the internal
APIs: mlxbf2_gpio_irq_set_type and mlxbf2_gpio_irq_enable.
This makes the driver more compliant with generic opensource code.

Signed-off-by: Asmaa Mnebhi <email address hidden>

6eda658... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: gpio-mlxbf2.c: remove phy interrupt

BugLink: https://bugs.launchpad.net/bugs/1934923

This commit removes the phy interrupt from gpio-mlxbf2.c since
the mlxbf-gige driver is no longer dependent on the gpio driver.

Signed-off-by: Asmaa Mnebhi <email address hidden>

ff107c4... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: gpio-mlxbf2.c: Fix setting the gpio direction to output

BugLink: https://bugs.launchpad.net/bugs/1934923

Set {function_enable1, functional_enable0} = {0,0} to allow the
software to change the GPIO direction. These registers represent the
select bit of a HW mux.

Signed-off-by: Asmaa Mnebhi <email address hidden>

Unmerged commits

ff107c4... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: gpio-mlxbf2.c: Fix setting the gpio direction to output

BugLink: https://bugs.launchpad.net/bugs/1934923

Set {function_enable1, functional_enable0} = {0,0} to allow the
software to change the GPIO direction. These registers represent the
select bit of a HW mux.

Signed-off-by: Asmaa Mnebhi <email address hidden>

6eda658... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: gpio-mlxbf2.c: remove phy interrupt

BugLink: https://bugs.launchpad.net/bugs/1934923

This commit removes the phy interrupt from gpio-mlxbf2.c since
the mlxbf-gige driver is no longer dependent on the gpio driver.

Signed-off-by: Asmaa Mnebhi <email address hidden>

79bb3b1... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: gpio-mlxbf2: Cleanup and use generic gpio_irq_chip struct

BugLink: https://bugs.launchpad.net/bugs/1934923

Cleanup the gpio-mlxbf2.c driver and use the generic gpio_irq_chip
struct to initialize the interrupts instead of using the internal
APIs: mlxbf2_gpio_irq_set_type and mlxbf2_gpio_irq_enable.
This makes the driver more compliant with generic opensource code.

Signed-off-by: Asmaa Mnebhi <email address hidden>

5277c0d... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: mlxbf-gige: add ethtool mlxbf_gige_set_ringparam

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

cdba43f... by Asmaa Mnebhi <email address hidden>

UBUNTU: SAUCE: mlxbf-gige: add driver version

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

2f90f3e... by David Thompson

Add Mellanox BlueField Gigabit Ethernet driver

BugLink: https://bugs.launchpad.net/bugs/1934923

This patch adds build and driver logic for the "mlxbf_gige"
Ethernet driver from Mellanox Technologies. The second
generation BlueField SoC from Mellanox supports an
out-of-band GigaBit Ethernet management port to the Arm
subsystem. This driver supports TCP/IP network connectivity
for that port, and provides back-end routines to handle
basic ethtool requests.

The driver interfaces to the Gigabit Ethernet block of
BlueField SoC via MMIO accesses to registers, which contain
control information or pointers describing transmit and
receive resources. There is a single transmit queue, and
the port supports transmit ring sizes of 4 to 256 entries.
There is a single receive queue, and the port supports
receive ring sizes of 32 to 32K entries. The transmit and
receive rings are allocated from DMA coherent memory. There
is a 16-bit producer and consumer index per ring to denote
software ownership and hardware ownership, respectively.

The main driver logic such as probe(), remove(), and netdev
ops are in "mlxbf_gige_main.c". Logic in "mlxbf_gige_rx.c"
and "mlxbf_gige_tx.c" handles the packet processing for
receive and transmit respectively.

The logic in "mlxbf_gige_ethtool.c" supports the handling
of some basic ethtool requests: get driver info, get ring
parameters, get registers, and get statistics.

The logic in "mlxbf_gige_mdio.c" is the driver controlling
the Mellanox BlueField hardware that interacts with a PHY
device via MDIO/MDC pins. This driver does the following:
  - At driver probe time, it configures several BlueField MDIO
    parameters such as sample rate, full drive, voltage and MDC
  - It defines functions to read and write MDIO registers and
    registers the MDIO bus.
  - It defines the phy interrupt handler reporting a
    link up/down status change
  - This driver's probe is invoked from the main driver logic
    while the phy interrupt handler is registered in ndo_open.

Driver limitations
  - Only supports 1Gbps speed
  - Only supports GMII protocol
  - Supports maximum packet size of 2KB
  - Does not support scatter-gather buffering

Testing
  - Successful build of kernel for ARM64, ARM32, X86_64
  - Tested ARM64 build on FastModels & Palladium
  - Tested ARM64 build on several Mellanox boards that are built with
    the BlueField-2 SoC. The testing includes coverage in the areas
    of networking (e.g. ping, iperf, ifconfig, route), file transfers
    (e.g. SCP), and various ethtool options relevant to this driver.

Signed-off-by: David Thompson <email address hidden>
Signed-off-by: Asmaa Mnebhi <email address hidden>
Reviewed-by: Liming Sun <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit f92e1869d74e1acc6551256eb084a1c14a054e19)
Signed-off-by: Asmaa Mnebhi <email address hidden>

48ae068... by Asmaa Mnebhi <email address hidden>

Revert "UBUNTU: SAUCE: Add Mellanox BlueField Gigabit Ethernet driver"

This reverts commit 594370b663715a0af9da3cfa9ec5cab43e19b5f4.

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

ac8361a... by Asmaa Mnebhi <email address hidden>

Revert "UBUNTU: SAUCE: Remove built-in tests from mlxbf_gige driver"

This reverts commit 4dd38f4ed12f5ec4f612a73623b4ac39b710b62d.

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

07acb10... by Asmaa Mnebhi <email address hidden>

Revert "UBUNTU: SAUCE: mlxbf-gige: multiple fixes for stability"

This reverts commit 1ebccff108540a2134e27abb7d3c12caf9b9810c.

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

b786683... by Asmaa Mnebhi <email address hidden>

Revert "UBUNTU: SAUCE: mlxbf_gige_main.c: Support ethtool options"

This reverts commit 9f965ce4074635f1e477e6e67aa0d9de8963f55d.

BugLink: https://bugs.launchpad.net/bugs/1934923

Signed-off-by: Asmaa Mnebhi <email address hidden>

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/Documentation/admin-guide/device-mapper/dm-integrity.rst b/Documentation/admin-guide/device-mapper/dm-integrity.rst
2index a30aa91..3463883 100644
3--- a/Documentation/admin-guide/device-mapper/dm-integrity.rst
4+++ b/Documentation/admin-guide/device-mapper/dm-integrity.rst
5@@ -177,6 +177,12 @@ bitmap_flush_interval:number
6 The bitmap flush interval in milliseconds. The metadata buffers
7 are synchronized when this interval expires.
8
9+legacy_recalculate
10+ Allow recalculating of volumes with HMAC keys. This is disabled by
11+ default for security reasons - an attacker could modify the volume,
12+ set recalc_sector to zero, and the kernel would not detect the
13+ modification.
14+
15
16 The journal mode (D/J), buffer_sectors, journal_watermark, commit_time can
17 be changed when reloading the target (load an inactive table and swap the
18diff --git a/Documentation/admin-guide/kdump/vmcoreinfo.rst b/Documentation/admin-guide/kdump/vmcoreinfo.rst
19index 007a6b8..ba1aed5 100644
20--- a/Documentation/admin-guide/kdump/vmcoreinfo.rst
21+++ b/Documentation/admin-guide/kdump/vmcoreinfo.rst
22@@ -393,6 +393,17 @@ KERNELOFFSET
23 The kernel randomization offset. Used to compute the page offset. If
24 KASLR is disabled, this value is zero.
25
26+TCR_EL1.T1SZ
27+------------
28+
29+Indicates the size offset of the memory region addressed by TTBR1_EL1.
30+The region size is 2^(64-T1SZ) bytes.
31+
32+TTBR1_EL1 is the table base address register specified by ARMv8-A
33+architecture which is used to lookup the page-tables for the Virtual
34+addresses in the higher VA range (refer to ARMv8 ARM document for
35+more details).
36+
37 arm
38 ===
39
40diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
41index 6175a71..359b54d 100644
42--- a/Documentation/admin-guide/kernel-parameters.txt
43+++ b/Documentation/admin-guide/kernel-parameters.txt
44@@ -2683,6 +2683,8 @@
45 mds=off [X86]
46 tsx_async_abort=off [X86]
47 kvm.nx_huge_pages=off [X86]
48+ no_entry_flush [PPC]
49+ no_uaccess_flush [PPC]
50
51 Exceptions:
52 This does not have any effect on
53@@ -3005,6 +3007,8 @@
54
55 noefi Disable EFI runtime services support.
56
57+ no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel.
58+
59 noexec [IA-64]
60
61 noexec [X86]
62@@ -3054,6 +3058,9 @@
63 nospec_store_bypass_disable
64 [HW] Disable all mitigations for the Speculative Store Bypass vulnerability
65
66+ no_uaccess_flush
67+ [PPC] Don't flush the L1-D cache after accessing user data.
68+
69 noxsave [BUGS=X86] Disables x86 extended register state save
70 and restore using xsave. The kernel will fallback to
71 enabling legacy floating-point and sse state.
72@@ -5175,6 +5182,7 @@
73 device);
74 j = NO_REPORT_LUNS (don't use report luns
75 command, uas only);
76+ k = NO_SAME (do not use WRITE_SAME, uas only)
77 l = NOT_LOCKABLE (don't try to lock and
78 unlock ejectable media, not on uas);
79 m = MAX_SECTORS_64 (don't transfer more
80@@ -5475,6 +5483,10 @@
81 This option is obsoleted by the "nopv" option, which
82 has equivalent effect for XEN platform.
83
84+ xen_no_vector_callback
85+ [KNL,X86,XEN] Disable the vector callback for Xen
86+ event channel interrupts.
87+
88 xen_scrub_pages= [XEN]
89 Boolean option to control scrubbing pages before giving them back
90 to Xen, for use by other domains. Can be also changed at runtime
91@@ -5493,6 +5505,14 @@
92 as generic guest with no PV drivers. Currently support
93 XEN HVM, KVM, HYPER_V and VMWARE guest.
94
95+ xen.event_eoi_delay= [XEN]
96+ How long to delay EOI handling in case of event
97+ storms (jiffies). Default is 10.
98+
99+ xen.event_loop_timeout= [XEN]
100+ After which time (jiffies) the event handling loop
101+ should start to delay EOI handling. Default is 2.
102+
103 xirc2ps_cs= [NET,PCMCIA]
104 Format:
105 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
106diff --git a/Documentation/arm/memory.rst b/Documentation/arm/memory.rst
107index 0521b4c..34bb23c 100644
108--- a/Documentation/arm/memory.rst
109+++ b/Documentation/arm/memory.rst
110@@ -45,9 +45,14 @@ fffe8000 fffeffff DTCM mapping area for platforms with
111 fffe0000 fffe7fff ITCM mapping area for platforms with
112 ITCM mounted inside the CPU.
113
114-ffc00000 ffefffff Fixmap mapping region. Addresses provided
115+ffc80000 ffefffff Fixmap mapping region. Addresses provided
116 by fix_to_virt() will be located here.
117
118+ffc00000 ffc7ffff Guard region
119+
120+ff800000 ffbfffff Permanent, fixed read-only mapping of the
121+ firmware provided DT blob
122+
123 fee00000 feffffff Mapping of PCI I/O space. This is a static
124 mapping within the vmalloc space.
125
126diff --git a/Documentation/asm-annotations.rst b/Documentation/asm-annotations.rst
127new file mode 100644
128index 0000000..29ccd6e
129--- /dev/null
130+++ b/Documentation/asm-annotations.rst
131@@ -0,0 +1,216 @@
132+Assembler Annotations
133+=====================
134+
135+Copyright (c) 2017-2019 Jiri Slaby
136+
137+This document describes the new macros for annotation of data and code in
138+assembly. In particular, it contains information about ``SYM_FUNC_START``,
139+``SYM_FUNC_END``, ``SYM_CODE_START``, and similar.
140+
141+Rationale
142+---------
143+Some code like entries, trampolines, or boot code needs to be written in
144+assembly. The same as in C, such code is grouped into functions and
145+accompanied with data. Standard assemblers do not force users into precisely
146+marking these pieces as code, data, or even specifying their length.
147+Nevertheless, assemblers provide developers with such annotations to aid
148+debuggers throughout assembly. On top of that, developers also want to mark
149+some functions as *global* in order to be visible outside of their translation
150+units.
151+
152+Over time, the Linux kernel has adopted macros from various projects (like
153+``binutils``) to facilitate such annotations. So for historic reasons,
154+developers have been using ``ENTRY``, ``END``, ``ENDPROC``, and other
155+annotations in assembly. Due to the lack of their documentation, the macros
156+are used in rather wrong contexts at some locations. Clearly, ``ENTRY`` was
157+intended to denote the beginning of global symbols (be it data or code).
158+``END`` used to mark the end of data or end of special functions with
159+*non-standard* calling convention. In contrast, ``ENDPROC`` should annotate
160+only ends of *standard* functions.
161+
162+When these macros are used correctly, they help assemblers generate a nice
163+object with both sizes and types set correctly. For example, the result of
164+``arch/x86/lib/putuser.S``::
165+
166+ Num: Value Size Type Bind Vis Ndx Name
167+ 25: 0000000000000000 33 FUNC GLOBAL DEFAULT 1 __put_user_1
168+ 29: 0000000000000030 37 FUNC GLOBAL DEFAULT 1 __put_user_2
169+ 32: 0000000000000060 36 FUNC GLOBAL DEFAULT 1 __put_user_4
170+ 35: 0000000000000090 37 FUNC GLOBAL DEFAULT 1 __put_user_8
171+
172+This is not only important for debugging purposes. When there are properly
173+annotated objects like this, tools can be run on them to generate more useful
174+information. In particular, on properly annotated objects, ``objtool`` can be
175+run to check and fix the object if needed. Currently, ``objtool`` can report
176+missing frame pointer setup/destruction in functions. It can also
177+automatically generate annotations for :doc:`ORC unwinder <x86/orc-unwinder>`
178+for most code. Both of these are especially important to support reliable
179+stack traces which are in turn necessary for :doc:`Kernel live patching
180+<livepatch/livepatch>`.
181+
182+Caveat and Discussion
183+---------------------
184+As one might realize, there were only three macros previously. That is indeed
185+insufficient to cover all the combinations of cases:
186+
187+* standard/non-standard function
188+* code/data
189+* global/local symbol
190+
191+There was a discussion_ and instead of extending the current ``ENTRY/END*``
192+macros, it was decided that brand new macros should be introduced instead::
193+
194+ So how about using macro names that actually show the purpose, instead
195+ of importing all the crappy, historic, essentially randomly chosen
196+ debug symbol macro names from the binutils and older kernels?
197+
198+.. _discussion: https://lkml.kernel.org/r/20170217104757.28588-1-jslaby@suse.cz
199+
200+Macros Description
201+------------------
202+
203+The new macros are prefixed with the ``SYM_`` prefix and can be divided into
204+three main groups:
205+
206+1. ``SYM_FUNC_*`` -- to annotate C-like functions. This means functions with
207+ standard C calling conventions, i.e. the stack contains a return address at
208+ the predefined place and a return from the function can happen in a
209+ standard way. When frame pointers are enabled, save/restore of frame
210+ pointer shall happen at the start/end of a function, respectively, too.
211+
212+ Checking tools like ``objtool`` should ensure such marked functions conform
213+ to these rules. The tools can also easily annotate these functions with
214+ debugging information (like *ORC data*) automatically.
215+
216+2. ``SYM_CODE_*`` -- special functions called with special stack. Be it
217+ interrupt handlers with special stack content, trampolines, or startup
218+ functions.
219+
220+ Checking tools mostly ignore checking of these functions. But some debug
221+ information still can be generated automatically. For correct debug data,
222+ this code needs hints like ``UNWIND_HINT_REGS`` provided by developers.
223+
224+3. ``SYM_DATA*`` -- obviously data belonging to ``.data`` sections and not to
225+ ``.text``. Data do not contain instructions, so they have to be treated
226+ specially by the tools: they should not treat the bytes as instructions,
227+ nor assign any debug information to them.
228+
229+Instruction Macros
230+~~~~~~~~~~~~~~~~~~
231+This section covers ``SYM_FUNC_*`` and ``SYM_CODE_*`` enumerated above.
232+
233+* ``SYM_FUNC_START`` and ``SYM_FUNC_START_LOCAL`` are supposed to be **the
234+ most frequent markings**. They are used for functions with standard calling
235+ conventions -- global and local. Like in C, they both align the functions to
236+ architecture specific ``__ALIGN`` bytes. There are also ``_NOALIGN`` variants
237+ for special cases where developers do not want this implicit alignment.
238+
239+ ``SYM_FUNC_START_WEAK`` and ``SYM_FUNC_START_WEAK_NOALIGN`` markings are
240+ also offered as an assembler counterpart to the *weak* attribute known from
241+ C.
242+
243+ All of these **shall** be coupled with ``SYM_FUNC_END``. First, it marks
244+ the sequence of instructions as a function and computes its size to the
245+ generated object file. Second, it also eases checking and processing such
246+ object files as the tools can trivially find exact function boundaries.
247+
248+ So in most cases, developers should write something like in the following
249+ example, having some asm instructions in between the macros, of course::
250+
251+ SYM_FUNC_START(function_hook)
252+ ... asm insns ...
253+ SYM_FUNC_END(function_hook)
254+
255+ In fact, this kind of annotation corresponds to the now deprecated ``ENTRY``
256+ and ``ENDPROC`` macros.
257+
258+* ``SYM_FUNC_START_ALIAS`` and ``SYM_FUNC_START_LOCAL_ALIAS`` serve for those
259+ who decided to have two or more names for one function. The typical use is::
260+
261+ SYM_FUNC_START_ALIAS(__memset)
262+ SYM_FUNC_START(memset)
263+ ... asm insns ...
264+ SYM_FUNC_END(memset)
265+ SYM_FUNC_END_ALIAS(__memset)
266+
267+ In this example, one can call ``__memset`` or ``memset`` with the same
268+ result, except the debug information for the instructions is generated to
269+ the object file only once -- for the non-``ALIAS`` case.
270+
271+* ``SYM_CODE_START`` and ``SYM_CODE_START_LOCAL`` should be used only in
272+ special cases -- if you know what you are doing. This is used exclusively
273+ for interrupt handlers and similar where the calling convention is not the C
274+ one. ``_NOALIGN`` variants exist too. The use is the same as for the ``FUNC``
275+ category above::
276+
277+ SYM_CODE_START_LOCAL(bad_put_user)
278+ ... asm insns ...
279+ SYM_CODE_END(bad_put_user)
280+
281+ Again, every ``SYM_CODE_START*`` **shall** be coupled by ``SYM_CODE_END``.
282+
283+ To some extent, this category corresponds to deprecated ``ENTRY`` and
284+ ``END``. Except ``END`` had several other meanings too.
285+
286+* ``SYM_INNER_LABEL*`` is used to denote a label inside some
287+ ``SYM_{CODE,FUNC}_START`` and ``SYM_{CODE,FUNC}_END``. They are very similar
288+ to C labels, except they can be made global. An example of use::
289+
290+ SYM_CODE_START(ftrace_caller)
291+ /* save_mcount_regs fills in first two parameters */
292+ ...
293+
294+ SYM_INNER_LABEL(ftrace_caller_op_ptr, SYM_L_GLOBAL)
295+ /* Load the ftrace_ops into the 3rd parameter */
296+ ...
297+
298+ SYM_INNER_LABEL(ftrace_call, SYM_L_GLOBAL)
299+ call ftrace_stub
300+ ...
301+ retq
302+ SYM_CODE_END(ftrace_caller)
303+
304+Data Macros
305+~~~~~~~~~~~
306+Similar to instructions, there is a couple of macros to describe data in the
307+assembly.
308+
309+* ``SYM_DATA_START`` and ``SYM_DATA_START_LOCAL`` mark the start of some data
310+ and shall be used in conjunction with either ``SYM_DATA_END``, or
311+ ``SYM_DATA_END_LABEL``. The latter adds also a label to the end, so that
312+ people can use ``lstack`` and (local) ``lstack_end`` in the following
313+ example::
314+
315+ SYM_DATA_START_LOCAL(lstack)
316+ .skip 4096
317+ SYM_DATA_END_LABEL(lstack, SYM_L_LOCAL, lstack_end)
318+
319+* ``SYM_DATA`` and ``SYM_DATA_LOCAL`` are variants for simple, mostly one-line
320+ data::
321+
322+ SYM_DATA(HEAP, .long rm_heap)
323+ SYM_DATA(heap_end, .long rm_stack)
324+
325+ In the end, they expand to ``SYM_DATA_START`` with ``SYM_DATA_END``
326+ internally.
327+
328+Support Macros
329+~~~~~~~~~~~~~~
330+All the above reduce themselves to some invocation of ``SYM_START``,
331+``SYM_END``, or ``SYM_ENTRY`` at last. Normally, developers should avoid using
332+these.
333+
334+Further, in the above examples, one could see ``SYM_L_LOCAL``. There are also
335+``SYM_L_GLOBAL`` and ``SYM_L_WEAK``. All are intended to denote linkage of a
336+symbol marked by them. They are used either in ``_LABEL`` variants of the
337+earlier macros, or in ``SYM_START``.
338+
339+
340+Overriding Macros
341+~~~~~~~~~~~~~~~~~
342+Architecture can also override any of the macros in their own
343+``asm/linkage.h``, including macros specifying the type of a symbol
344+(``SYM_T_FUNC``, ``SYM_T_OBJECT``, and ``SYM_T_NONE``). As every macro
345+described in this file is surrounded by ``#ifdef`` + ``#endif``, it is enough
346+to define the macros differently in the aforementioned architecture-dependent
347+header.
348diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
349new file mode 100644
350index 0000000..d2b401d
351--- /dev/null
352+++ b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
353@@ -0,0 +1,78 @@
354+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
355+%YAML 1.2
356+---
357+$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml#
358+$schema: http://devicetree.org/meta-schemas/core.yaml#
359+
360+title: Mellanox I2C SMBus on BlueField SoCs
361+
362+maintainers:
363+ - Khalil Blaiech <kblaiech@nvidia.com>
364+
365+allOf:
366+ - $ref: /schemas/i2c/i2c-controller.yaml#
367+
368+properties:
369+ compatible:
370+ enum:
371+ - mellanox,i2c-mlxbf1
372+ - mellanox,i2c-mlxbf2
373+
374+ reg:
375+ minItems: 3
376+ maxItems: 4
377+ items:
378+ - description: Smbus block registers
379+ - description: Cause master registers
380+ - description: Cause slave registers
381+ - description: Cause coalesce registers
382+
383+ interrupts:
384+ maxItems: 1
385+
386+ clock-frequency:
387+ enum: [ 100000, 400000, 1000000 ]
388+ description:
389+ bus frequency used to configure timing registers;
390+ The frequency is expressed in Hz. Default is 100000.
391+
392+required:
393+ - compatible
394+ - reg
395+ - interrupts
396+
397+unevaluatedProperties: false
398+
399+if:
400+ properties:
401+ compatible:
402+ contains:
403+ enum:
404+ - mellanox,i2c-mlxbf1
405+
406+then:
407+ properties:
408+ reg:
409+ maxItems: 3
410+
411+examples:
412+ - |
413+ i2c@2804000 {
414+ compatible = "mellanox,i2c-mlxbf1";
415+ reg = <0x02804000 0x800>,
416+ <0x02801200 0x020>,
417+ <0x02801260 0x020>;
418+ interrupts = <57>;
419+ clock-frequency = <100000>;
420+ };
421+
422+ - |
423+ i2c@2808800 {
424+ compatible = "mellanox,i2c-mlxbf2";
425+ reg = <0x02808800 0x600>,
426+ <0x02808e00 0x020>,
427+ <0x02808e20 0x020>,
428+ <0x02808e40 0x010>;
429+ interrupts = <57>;
430+ clock-frequency = <400000>;
431+ };
432diff --git a/Documentation/devicetree/bindings/mfd/ahc1ec0.yaml b/Documentation/devicetree/bindings/mfd/ahc1ec0.yaml
433new file mode 100644
434index 0000000..40af14b
435--- /dev/null
436+++ b/Documentation/devicetree/bindings/mfd/ahc1ec0.yaml
437@@ -0,0 +1,69 @@
438+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
439+%YAML 1.2
440+---
441+$id: http://devicetree.org/schemas/mfd/ahc1ec0.yaml#
442+$schema: http://devicetree.org/meta-schemas/core.yaml#
443+
444+title: Advantech Embedded Controller (AHC1EC0)
445+
446+maintainers:
447+ - Campion Kang <campion.kang@advantech.com.tw>
448+
449+description: |
450+ AHC1EC0 is one of the embedded controllers used by Advantech to provide several
451+ functions such as watchdog, hwmon, brightness, etc. Advantech related applications
452+ can control the whole system via these functions.
453+
454+properties:
455+ compatible:
456+ const: advantech,ahc1ec0
457+
458+ advantech,sub-dev-nb:
459+ description:
460+ The number of sub-devices specified in the platform.
461+ $ref: /schemas/types.yaml#/definitions/uint32
462+ maxItems: 1
463+
464+ advantech,sub-dev:
465+ description:
466+ A list of the sub-devices supported in the platform. Defines for the
467+ appropriate values can found in dt-bindings/mfd/ahc1ec0-dt.h.
468+ $ref: "/schemas/types.yaml#/definitions/uint32-array"
469+ minItems: 1
470+ maxItems: 6
471+
472+ advantech,hwmon-profile:
473+ description:
474+ The number of sub-devices specified in the platform. Defines for the
475+ hwmon profiles can found in dt-bindings/mfd/ahc1ec0-dt.
476+ $ref: /schemas/types.yaml#/definitions/uint32
477+ maxItems: 1
478+
479+required:
480+ - compatible
481+ - advantech,sub-dev-nb
482+ - advantech,sub-dev
483+
484+if:
485+ properties:
486+ advantech,sub-dev:
487+ contains:
488+ const: 0x3
489+then:
490+ required:
491+ - advantech,hwmon-profile
492+
493+additionalProperties: false
494+
495+examples:
496+ - |
497+ #include <dt-bindings/mfd/ahc1ec0-dt.h>
498+ ahc1ec0 {
499+ compatible = "advantech,ahc1ec0";
500+
501+ advantech,sub-dev-nb = <2>;
502+ advantech,sub-dev = <AHC1EC0_SUBDEV_HWMON
503+ AHC1EC0_SUBDEV_WDT>;
504+
505+ advantech,hwmon-profile = <AHC1EC0_HWMON_PRO_UNO2271G>;
506+ };
507diff --git a/Documentation/devicetree/bindings/net/btusb.txt b/Documentation/devicetree/bindings/net/btusb.txt
508index b1ad6ee..c51dd99 100644
509--- a/Documentation/devicetree/bindings/net/btusb.txt
510+++ b/Documentation/devicetree/bindings/net/btusb.txt
511@@ -38,7 +38,7 @@ Following example uses irq pin number 3 of gpio0 for out of band wake-on-bt:
512 compatible = "usb1286,204e";
513 reg = <1>;
514 interrupt-parent = <&gpio0>;
515- interrupt-name = "wakeup";
516+ interrupt-names = "wakeup";
517 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
518 };
519 };
520diff --git a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
521index 27e1b4c..9cb3560 100644
522--- a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
523+++ b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
524@@ -33,7 +33,7 @@ tcan4x5x: tcan4x5x@0 {
525 spi-max-frequency = <10000000>;
526 bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
527 interrupt-parent = <&gpio1>;
528- interrupts = <14 GPIO_ACTIVE_LOW>;
529+ interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
530 device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
531 device-wake-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
532 reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
533diff --git a/Documentation/devicetree/bindings/net/ethernet-controller.yaml b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
534index 0e7c317..fcafce6 100644
535--- a/Documentation/devicetree/bindings/net/ethernet-controller.yaml
536+++ b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
537@@ -51,7 +51,7 @@ properties:
538 description:
539 Reference to an nvmem node for the MAC address
540
541- nvmem-cells-names:
542+ nvmem-cell-names:
543 const: mac-address
544
545 phy-connection-type:
546@@ -190,6 +190,11 @@ properties:
547 Indicates that full-duplex is used. When absent, half
548 duplex is assumed.
549
550+ pause:
551+ $ref: /schemas/types.yaml#definitions/flag
552+ description:
553+ Indicates that pause should be enabled.
554+
555 asym-pause:
556 $ref: /schemas/types.yaml#definitions/flag
557 description:
558diff --git a/Documentation/devicetree/bindings/net/nfc/nxp-nci.txt b/Documentation/devicetree/bindings/net/nfc/nxp-nci.txt
559index cfaf889..9e4dc51 100644
560--- a/Documentation/devicetree/bindings/net/nfc/nxp-nci.txt
561+++ b/Documentation/devicetree/bindings/net/nfc/nxp-nci.txt
562@@ -25,7 +25,7 @@ Example (for ARM-based BeagleBone with NPC100 NFC controller on I2C2):
563 clock-frequency = <100000>;
564
565 interrupt-parent = <&gpio1>;
566- interrupts = <29 GPIO_ACTIVE_HIGH>;
567+ interrupts = <29 IRQ_TYPE_LEVEL_HIGH>;
568
569 enable-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
570 firmware-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
571diff --git a/Documentation/devicetree/bindings/net/nfc/pn544.txt b/Documentation/devicetree/bindings/net/nfc/pn544.txt
572index 92f399e..2bd8256 100644
573--- a/Documentation/devicetree/bindings/net/nfc/pn544.txt
574+++ b/Documentation/devicetree/bindings/net/nfc/pn544.txt
575@@ -25,7 +25,7 @@ Example (for ARM-based BeagleBone with PN544 on I2C2):
576 clock-frequency = <400000>;
577
578 interrupt-parent = <&gpio1>;
579- interrupts = <17 GPIO_ACTIVE_HIGH>;
580+ interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
581
582 enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
583 firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
584diff --git a/Documentation/filesystems/seq_file.txt b/Documentation/filesystems/seq_file.txt
585index d412b23..7cf7143 100644
586--- a/Documentation/filesystems/seq_file.txt
587+++ b/Documentation/filesystems/seq_file.txt
588@@ -192,6 +192,12 @@ between the calls to start() and stop(), so holding a lock during that time
589 is a reasonable thing to do. The seq_file code will also avoid taking any
590 other locks while the iterator is active.
591
592+The iterater value returned by start() or next() is guaranteed to be
593+passed to a subsequent next() or stop() call. This allows resources
594+such as locks that were taken to be reliably released. There is *no*
595+guarantee that the iterator will be passed to show(), though in practice
596+it often will be.
597+
598
599 Formatted output
600
601diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt
602index ddf15b1..33ec0a0 100644
603--- a/Documentation/filesystems/sysfs.txt
604+++ b/Documentation/filesystems/sysfs.txt
605@@ -232,12 +232,10 @@ Other notes:
606 is 4096.
607
608 - show() methods should return the number of bytes printed into the
609- buffer. This is the return value of scnprintf().
610+ buffer.
611
612-- show() must not use snprintf() when formatting the value to be
613- returned to user space. If you can guarantee that an overflow
614- will never happen you can use sprintf() otherwise you must use
615- scnprintf().
616+- show() should only use sysfs_emit() or sysfs_emit_at() when formatting
617+ the value to be returned to user space.
618
619 - store() should return the number of bytes used from the buffer. If the
620 entire buffer has been used, just return the count argument.
621diff --git a/Documentation/index.rst b/Documentation/index.rst
622index b843e31..2ceab19 100644
623--- a/Documentation/index.rst
624+++ b/Documentation/index.rst
625@@ -135,6 +135,14 @@ needed).
626 mic/index
627 scheduler/index
628
629+Architecture-agnostic documentation
630+-----------------------------------
631+
632+.. toctree::
633+ :maxdepth: 2
634+
635+ asm-annotations
636+
637 Architecture-specific documentation
638 -----------------------------------
639
640diff --git a/Documentation/media/uapi/v4l/colorspaces-defs.rst b/Documentation/media/uapi/v4l/colorspaces-defs.rst
641index e122bbe..aabb081 100644
642--- a/Documentation/media/uapi/v4l/colorspaces-defs.rst
643+++ b/Documentation/media/uapi/v4l/colorspaces-defs.rst
644@@ -36,8 +36,7 @@ whole range, 0-255, dividing the angular value by 1.41. The enum
645 :c:type:`v4l2_hsv_encoding` specifies which encoding is used.
646
647 .. note:: The default R'G'B' quantization is full range for all
648- colorspaces except for BT.2020 which uses limited range R'G'B'
649- quantization.
650+ colorspaces. HSV formats are always full range.
651
652 .. tabularcolumns:: |p{6.7cm}|p{10.8cm}|
653
654@@ -169,8 +168,8 @@ whole range, 0-255, dividing the angular value by 1.41. The enum
655 - Details
656 * - ``V4L2_QUANTIZATION_DEFAULT``
657 - Use the default quantization encoding as defined by the
658- colorspace. This is always full range for R'G'B' (except for the
659- BT.2020 colorspace) and HSV. It is usually limited range for Y'CbCr.
660+ colorspace. This is always full range for R'G'B' and HSV.
661+ It is usually limited range for Y'CbCr.
662 * - ``V4L2_QUANTIZATION_FULL_RANGE``
663 - Use the full range quantization encoding. I.e. the range [0…1] is
664 mapped to [0…255] (with possible clipping to [1…254] to avoid the
665@@ -180,4 +179,4 @@ whole range, 0-255, dividing the angular value by 1.41. The enum
666 * - ``V4L2_QUANTIZATION_LIM_RANGE``
667 - Use the limited range quantization encoding. I.e. the range [0…1]
668 is mapped to [16…235]. Cb and Cr are mapped from [-0.5…0.5] to
669- [16…240].
670+ [16…240]. Limited Range cannot be used with HSV.
671diff --git a/Documentation/media/uapi/v4l/colorspaces-details.rst b/Documentation/media/uapi/v4l/colorspaces-details.rst
672index 8b0ba36..fd0cf57 100644
673--- a/Documentation/media/uapi/v4l/colorspaces-details.rst
674+++ b/Documentation/media/uapi/v4l/colorspaces-details.rst
675@@ -377,9 +377,8 @@ Colorspace BT.2020 (V4L2_COLORSPACE_BT2020)
676 The :ref:`itu2020` standard defines the colorspace used by Ultra-high
677 definition television (UHDTV). The default transfer function is
678 ``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is
679-``V4L2_YCBCR_ENC_BT2020``. The default R'G'B' quantization is limited
680-range (!), and so is the default Y'CbCr quantization. The chromaticities
681-of the primary colors and the white reference are:
682+``V4L2_YCBCR_ENC_BT2020``. The default Y'CbCr quantization is limited range.
683+The chromaticities of the primary colors and the white reference are:
684
685
686
687diff --git a/Documentation/networking/device_drivers/amazon/ena.txt b/Documentation/networking/device_drivers/amazon/ena.txt
688index 1bb55c7..bc20938 100644
689--- a/Documentation/networking/device_drivers/amazon/ena.txt
690+++ b/Documentation/networking/device_drivers/amazon/ena.txt
691@@ -248,7 +248,7 @@ RSS:
692 inputs for hash functions.
693 - The driver configures RSS settings using the AQ SetFeature command
694 (ENA_ADMIN_RSS_HASH_FUNCTION, ENA_ADMIN_RSS_HASH_INPUT and
695- ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG properties).
696+ ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG properties).
697 - If the NETIF_F_RXHASH flag is set, the 32-bit result of the hash
698 function delivered in the Rx CQ descriptor is set in the received
699 SKB.
700diff --git a/Documentation/networking/j1939.rst b/Documentation/networking/j1939.rst
701index f5be243..4b0db51 100644
702--- a/Documentation/networking/j1939.rst
703+++ b/Documentation/networking/j1939.rst
704@@ -414,8 +414,8 @@ Send:
705 .can_family = AF_CAN,
706 .can_addr.j1939 = {
707 .name = J1939_NO_NAME;
708- .pgn = 0x30,
709- .addr = 0x12300,
710+ .addr = 0x30,
711+ .pgn = 0x12300,
712 },
713 };
714
715diff --git a/Documentation/sphinx/parse-headers.pl b/Documentation/sphinx/parse-headers.pl
716index c518050..0dcf369 100755
717--- a/Documentation/sphinx/parse-headers.pl
718+++ b/Documentation/sphinx/parse-headers.pl
719@@ -1,4 +1,4 @@
720-#!/usr/bin/perl
721+#!/usr/bin/env perl
722 use strict;
723 use Text::Tabs;
724 use Getopt::Long;
725diff --git a/Documentation/target/tcm_mod_builder.py b/Documentation/target/tcm_mod_builder.py
726index 95d6e31..85e4960 100755
727--- a/Documentation/target/tcm_mod_builder.py
728+++ b/Documentation/target/tcm_mod_builder.py
729@@ -1,4 +1,4 @@
730-#!/usr/bin/python
731+#!/usr/bin/env python
732 # The TCM v4 multi-protocol fabric module generation script for drivers/target/$NEW_MOD
733 #
734 # Copyright (c) 2010 Rising Tide Systems
735diff --git a/Documentation/trace/postprocess/decode_msr.py b/Documentation/trace/postprocess/decode_msr.py
736index 0ab40e0..aa9cc7a 100644
737--- a/Documentation/trace/postprocess/decode_msr.py
738+++ b/Documentation/trace/postprocess/decode_msr.py
739@@ -1,4 +1,4 @@
740-#!/usr/bin/python
741+#!/usr/bin/env python
742 # add symbolic names to read_msr / write_msr in trace
743 # decode_msr msr-index.h < trace
744 import sys
745diff --git a/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl b/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl
746index 0a120aa..b9b7d80 100644
747--- a/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl
748+++ b/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl
749@@ -1,4 +1,4 @@
750-#!/usr/bin/perl
751+#!/usr/bin/env perl
752 # This is a POC (proof of concept or piece of crap, take your pick) for reading the
753 # text representation of trace output related to page allocation. It makes an attempt
754 # to extract some high-level information on what is going on. The accuracy of the parser
755diff --git a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl
756index 995da15..2f4e398 100644
757--- a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl
758+++ b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl
759@@ -1,4 +1,4 @@
760-#!/usr/bin/perl
761+#!/usr/bin/env perl
762 # This is a POC for reading the text representation of trace output related to
763 # page reclaim. It makes an attempt to extract some high-level information on
764 # what is going on. The accuracy of the parser may vary
765diff --git a/Documentation/userspace-api/seccomp_filter.rst b/Documentation/userspace-api/seccomp_filter.rst
766index bd91652..6efb41c 100644
767--- a/Documentation/userspace-api/seccomp_filter.rst
768+++ b/Documentation/userspace-api/seccomp_filter.rst
769@@ -250,14 +250,14 @@ Users can read via ``ioctl(SECCOMP_IOCTL_NOTIF_RECV)`` (or ``poll()``) on a
770 seccomp notification fd to receive a ``struct seccomp_notif``, which contains
771 five members: the input length of the structure, a unique-per-filter ``id``,
772 the ``pid`` of the task which triggered this request (which may be 0 if the
773-task is in a pid ns not visible from the listener's pid namespace), a ``flags``
774-member which for now only has ``SECCOMP_NOTIF_FLAG_SIGNALED``, representing
775-whether or not the notification is a result of a non-fatal signal, and the
776-``data`` passed to seccomp. Userspace can then make a decision based on this
777-information about what to do, and ``ioctl(SECCOMP_IOCTL_NOTIF_SEND)`` a
778-response, indicating what should be returned to userspace. The ``id`` member of
779-``struct seccomp_notif_resp`` should be the same ``id`` as in ``struct
780-seccomp_notif``.
781+task is in a pid ns not visible from the listener's pid namespace). The
782+notification also contains the ``data`` passed to seccomp, and a filters flag.
783+The structure should be zeroed out prior to calling the ioctl.
784+
785+Userspace can then make a decision based on this information about what to do,
786+and ``ioctl(SECCOMP_IOCTL_NOTIF_SEND)`` a response, indicating what should be
787+returned to userspace. The ``id`` member of ``struct seccomp_notif_resp`` should
788+be the same ``id`` as in ``struct seccomp_notif``.
789
790 It is worth noting that ``struct seccomp_data`` contains the values of register
791 arguments to the syscall, but does not contain pointers to memory. The task's
792diff --git a/Documentation/virt/kvm/api.txt b/Documentation/virt/kvm/api.txt
793index c984d54..485cc6c 100644
794--- a/Documentation/virt/kvm/api.txt
795+++ b/Documentation/virt/kvm/api.txt
796@@ -172,6 +172,9 @@ is dependent on the CPU capability and the kernel configuration. The limit can
797 be retrieved using KVM_CAP_ARM_VM_IPA_SIZE of the KVM_CHECK_EXTENSION
798 ioctl() at run-time.
799
800+Creation of the VM will fail if the requested IPA size (whether it is
801+implicit or explicit) is unsupported on the host.
802+
803 Please note that configuring the IPA size does not affect the capability
804 exposed by the guest CPUs in ID_AA64MMFR0_EL1[PARange]. It only affects
805 size of the address translated by the stage2 level (guest physical to
806@@ -1132,6 +1135,9 @@ field userspace_addr, which must point at user addressable memory for
807 the entire memory slot size. Any object may back this memory, including
808 anonymous memory, ordinary files, and hugetlbfs.
809
810+On architectures that support a form of address tagging, userspace_addr must
811+be an untagged address.
812+
813 It is recommended that the lower 21 bits of guest_phys_addr and userspace_addr
814 be identical. This allows large pages in the guest to be backed by large
815 pages in the host.
816diff --git a/Documentation/virt/kvm/mmu.txt b/Documentation/virt/kvm/mmu.txt
817index dadb29e..ec072c6 100644
818--- a/Documentation/virt/kvm/mmu.txt
819+++ b/Documentation/virt/kvm/mmu.txt
820@@ -420,7 +420,7 @@ If the generation number of the spte does not equal the global generation
821 number, it will ignore the cached MMIO information and handle the page
822 fault through the slow path.
823
824-Since only 19 bits are used to store generation-number on mmio spte, all
825+Since only 18 bits are used to store generation-number on mmio spte, all
826 pages are zapped when there is an overflow.
827
828 Unfortunately, a single memory access might access kvm_memslots(kvm) multiple
829diff --git a/Documentation/x86/topology.rst b/Documentation/x86/topology.rst
830index e297399..7f58010 100644
831--- a/Documentation/x86/topology.rst
832+++ b/Documentation/x86/topology.rst
833@@ -41,6 +41,8 @@ Package
834 Packages contain a number of cores plus shared resources, e.g. DRAM
835 controller, shared caches etc.
836
837+Modern systems may also use the term 'Die' for package.
838+
839 AMD nomenclature for package is 'Node'.
840
841 Package-related topology information in the kernel:
842@@ -53,11 +55,18 @@ Package-related topology information in the kernel:
843
844 The number of dies in a package. This information is retrieved via CPUID.
845
846+ - cpuinfo_x86.cpu_die_id:
847+
848+ The physical ID of the die. This information is retrieved via CPUID.
849+
850 - cpuinfo_x86.phys_proc_id:
851
852 The physical ID of the package. This information is retrieved via CPUID
853 and deduced from the APIC IDs of the cores in the package.
854
855+ Modern systems use this value for the socket. There may be multiple
856+ packages within a socket. This value may differ from cpu_die_id.
857+
858 - cpuinfo_x86.logical_proc_id:
859
860 The logical ID of the package. As we do not trust BIOSes to enumerate the
861diff --git a/Documentation/xtensa/mmu.rst b/Documentation/xtensa/mmu.rst
862index e52a129..450573a 100644
863--- a/Documentation/xtensa/mmu.rst
864+++ b/Documentation/xtensa/mmu.rst
865@@ -82,7 +82,8 @@ Default MMUv2-compatible layout::
866 +------------------+
867 | VMALLOC area | VMALLOC_START 0xc0000000 128MB - 64KB
868 +------------------+ VMALLOC_END
869- | Cache aliasing | TLBTEMP_BASE_1 0xc7ff0000 DCACHE_WAY_SIZE
870+ +------------------+
871+ | Cache aliasing | TLBTEMP_BASE_1 0xc8000000 DCACHE_WAY_SIZE
872 | remap area 1 |
873 +------------------+
874 | Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
875@@ -124,7 +125,8 @@ Default MMUv2-compatible layout::
876 +------------------+
877 | VMALLOC area | VMALLOC_START 0xa0000000 128MB - 64KB
878 +------------------+ VMALLOC_END
879- | Cache aliasing | TLBTEMP_BASE_1 0xa7ff0000 DCACHE_WAY_SIZE
880+ +------------------+
881+ | Cache aliasing | TLBTEMP_BASE_1 0xa8000000 DCACHE_WAY_SIZE
882 | remap area 1 |
883 +------------------+
884 | Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
885@@ -167,7 +169,8 @@ Default MMUv2-compatible layout::
886 +------------------+
887 | VMALLOC area | VMALLOC_START 0x90000000 128MB - 64KB
888 +------------------+ VMALLOC_END
889- | Cache aliasing | TLBTEMP_BASE_1 0x97ff0000 DCACHE_WAY_SIZE
890+ +------------------+
891+ | Cache aliasing | TLBTEMP_BASE_1 0x98000000 DCACHE_WAY_SIZE
892 | remap area 1 |
893 +------------------+
894 | Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
895diff --git a/MAINTAINERS b/MAINTAINERS
896index d0e1029..349639d 100644
897--- a/MAINTAINERS
898+++ b/MAINTAINERS
899@@ -537,6 +537,17 @@ S: Maintained
900 F: Documentation/scsi/advansys.txt
901 F: drivers/scsi/advansys.c
902
903+ADVANTECH AHC1EC0 EMBEDDED CONTROLLER DRIVER
904+M: Campion Kang <campion.kang@advantech.com.tw>
905+L: linux-kernel@vger.kernel.org
906+S: Maintained
907+F: Documentation/devicetree/bindings/mfd/ahc1ec0.yaml
908+F: drivers/hwmon/ahc1ec0-hwmon.c
909+F: drivers/mfd/ahc1ec0.c
910+F: drivers/watchdog/ahc1ec0-wdt.c
911+F: include/dt-bindings/mfd/ahc1ec0-dt.h
912+F: include/linux/mfd/ahc1ec0.h
913+
914 ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
915 M: Michael Hennerich <michael.hennerich@analog.com>
916 W: http://wiki.analog.com/ADXL345
917diff --git a/Makefile b/Makefile
918index aa05a62..fff165e 100644
919--- a/Makefile
920+++ b/Makefile
921@@ -1,7 +1,7 @@
922 # SPDX-License-Identifier: GPL-2.0
923 VERSION = 5
924 PATCHLEVEL = 4
925-SUBLEVEL = 73
926+SUBLEVEL = 124
927 EXTRAVERSION =
928 NAME = Kleptomaniac Octopus
929
930@@ -450,7 +450,7 @@ LEX = flex
931 YACC = bison
932 AWK = awk
933 INSTALLKERNEL := installkernel
934-DEPMOD = /sbin/depmod
935+DEPMOD = depmod
936 PERL = perl
937 PYTHON = python
938 PYTHON3 = python3
939@@ -506,7 +506,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
940 KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
941 -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
942 -Werror=implicit-function-declaration -Werror=implicit-int \
943- -Wno-format-security \
944+ -Werror=return-type -Wno-format-security \
945 -std=gnu89
946 KBUILD_CPPFLAGS := -D__KERNEL__
947 KBUILD_AFLAGS_KERNEL :=
948@@ -792,16 +792,16 @@ KBUILD_CFLAGS += -Wno-tautological-compare
949 KBUILD_CFLAGS += -mno-global-merge
950 else
951
952-# These warnings generated too much noise in a regular build.
953-# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
954-KBUILD_CFLAGS += -Wno-unused-but-set-variable
955-
956 # Warn about unmarked fall-throughs in switch statement.
957 # Disabled for clang while comment to attribute conversion happens and
958 # https://github.com/ClangBuiltLinux/linux/issues/636 is discussed.
959 KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough,)
960 endif
961
962+# These warnings generated too much noise in a regular build.
963+# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
964+KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
965+
966 KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
967 ifdef CONFIG_FRAME_POINTER
968 KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
969@@ -829,8 +829,11 @@ DEBUG_CFLAGS += -gsplit-dwarf
970 else
971 DEBUG_CFLAGS += -g
972 endif
973+ifneq ($(LLVM_IAS),1)
974 KBUILD_AFLAGS += -Wa,-gdwarf-2
975 endif
976+endif
977+
978 ifdef CONFIG_DEBUG_INFO_DWARF4
979 DEBUG_CFLAGS += -gdwarf-4
980 endif
981@@ -944,12 +947,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
982 # change __FILE__ to the relative path from the srctree
983 KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
984
985-# ensure -fcf-protection is disabled when using retpoline as it is
986-# incompatible with -mindirect-branch=thunk-extern
987-ifdef CONFIG_RETPOLINE
988-KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
989-endif
990-
991 include scripts/Makefile.kasan
992 include scripts/Makefile.extrawarn
993 include scripts/Makefile.ubsan
994@@ -1205,11 +1202,19 @@ define filechk_utsrelease.h
995 endef
996
997 define filechk_version.h
998- echo \#define LINUX_VERSION_CODE $(shell \
999- expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
1000- echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'
1001+ if [ $(SUBLEVEL) -gt 255 ]; then \
1002+ echo \#define LINUX_VERSION_CODE $(shell \
1003+ expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + 255); \
1004+ else \
1005+ echo \#define LINUX_VERSION_CODE $(shell \
1006+ expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
1007+ fi; \
1008+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + \
1009+ ((c) > 255 ? 255 : (c)))'
1010 endef
1011
1012+$(version_h): PATCHLEVEL := $(if $(PATCHLEVEL), $(PATCHLEVEL), 0)
1013+$(version_h): SUBLEVEL := $(if $(SUBLEVEL), $(SUBLEVEL), 0)
1014 $(version_h): FORCE
1015 $(call filechk,version.h)
1016 $(Q)rm -f $(old_version_h)
1017diff --git a/arch/Kconfig b/arch/Kconfig
1018index 238dccf..a8df66e 100644
1019--- a/arch/Kconfig
1020+++ b/arch/Kconfig
1021@@ -131,6 +131,22 @@ config UPROBES
1022 managed by the kernel and kept transparent to the probed
1023 application. )
1024
1025+config HAVE_64BIT_ALIGNED_ACCESS
1026+ def_bool 64BIT && !HAVE_EFFICIENT_UNALIGNED_ACCESS
1027+ help
1028+ Some architectures require 64 bit accesses to be 64 bit
1029+ aligned, which also requires structs containing 64 bit values
1030+ to be 64 bit aligned too. This includes some 32 bit
1031+ architectures which can do 64 bit accesses, as well as 64 bit
1032+ architectures without unaligned access.
1033+
1034+ This symbol should be selected by an architecture if 64 bit
1035+ accesses are required to be 64 bit aligned in this way even
1036+ though it is not a 64 bit architecture.
1037+
1038+ See Documentation/unaligned-memory-access.txt for more
1039+ information on the topic of unaligned memory accesses.
1040+
1041 config HAVE_EFFICIENT_UNALIGNED_ACCESS
1042 bool
1043 help
1044@@ -405,6 +421,13 @@ config MMU_GATHER_NO_RANGE
1045 config HAVE_MMU_GATHER_NO_GATHER
1046 bool
1047
1048+config ARCH_WANT_IRQS_OFF_ACTIVATE_MM
1049+ bool
1050+ help
1051+ Temporary select until all architectures can be converted to have
1052+ irqs disabled over activate_mm. Architectures that do IPI based TLB
1053+ shootdowns should enable this.
1054+
1055 config ARCH_HAVE_NMI_SAFE_CMPXCHG
1056 bool
1057
1058diff --git a/arch/arc/Makefile b/arch/arc/Makefile
1059index f1c44cc..6f05e50 100644
1060--- a/arch/arc/Makefile
1061+++ b/arch/arc/Makefile
1062@@ -90,16 +90,22 @@ libs-y += arch/arc/lib/ $(LIBGCC)
1063
1064 boot := arch/arc/boot
1065
1066-#default target for make without any arguments.
1067-KBUILD_IMAGE := $(boot)/bootpImage
1068-
1069-all: bootpImage
1070-bootpImage: vmlinux
1071-
1072-boot_targets += uImage uImage.bin uImage.gz
1073+boot_targets := uImage.bin uImage.gz uImage.lzma
1074
1075+PHONY += $(boot_targets)
1076 $(boot_targets): vmlinux
1077 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
1078
1079+uimage-default-y := uImage.bin
1080+uimage-default-$(CONFIG_KERNEL_GZIP) := uImage.gz
1081+uimage-default-$(CONFIG_KERNEL_LZMA) := uImage.lzma
1082+
1083+PHONY += uImage
1084+uImage: $(uimage-default-y)
1085+ @ln -sf $< $(boot)/uImage
1086+ @$(kecho) ' Image $(boot)/uImage is ready'
1087+
1088+CLEAN_FILES += $(boot)/uImage
1089+
1090 archclean:
1091 $(Q)$(MAKE) $(clean)=$(boot)
1092diff --git a/arch/arc/boot/Makefile b/arch/arc/boot/Makefile
1093index 538b92f..3b1f8a6 100644
1094--- a/arch/arc/boot/Makefile
1095+++ b/arch/arc/boot/Makefile
1096@@ -1,5 +1,5 @@
1097 # SPDX-License-Identifier: GPL-2.0
1098-targets := vmlinux.bin vmlinux.bin.gz uImage
1099+targets := vmlinux.bin vmlinux.bin.gz
1100
1101 # uImage build relies on mkimage being availble on your host for ARC target
1102 # You will need to build u-boot for ARC, rename mkimage to arc-elf32-mkimage
1103@@ -13,11 +13,6 @@ LINUX_START_TEXT = $$(readelf -h vmlinux | \
1104 UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE)
1105 UIMAGE_ENTRYADDR = $(LINUX_START_TEXT)
1106
1107-suffix-y := bin
1108-suffix-$(CONFIG_KERNEL_GZIP) := gz
1109-suffix-$(CONFIG_KERNEL_LZMA) := lzma
1110-
1111-targets += uImage
1112 targets += uImage.bin
1113 targets += uImage.gz
1114 targets += uImage.lzma
1115@@ -42,7 +37,3 @@ $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
1116
1117 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FORCE
1118 $(call if_changed,uimage,lzma)
1119-
1120-$(obj)/uImage: $(obj)/uImage.$(suffix-y)
1121- @ln -sf $(notdir $<) $@
1122- @echo ' Image $@ is ready'
1123diff --git a/arch/arc/boot/dts/axc001.dtsi b/arch/arc/boot/dts/axc001.dtsi
1124index 6ec1fcd..9224728 100644
1125--- a/arch/arc/boot/dts/axc001.dtsi
1126+++ b/arch/arc/boot/dts/axc001.dtsi
1127@@ -85,7 +85,7 @@
1128 * avoid duplicating the MB dtsi file given that IRQ from
1129 * this intc to cpu intc are different for axs101 and axs103
1130 */
1131- mb_intc: dw-apb-ictl@e0012000 {
1132+ mb_intc: interrupt-controller@e0012000 {
1133 #interrupt-cells = <1>;
1134 compatible = "snps,dw-apb-ictl";
1135 reg = < 0x0 0xe0012000 0x0 0x200 >;
1136diff --git a/arch/arc/boot/dts/axc003.dtsi b/arch/arc/boot/dts/axc003.dtsi
1137index ac8e1b4..cd1edcf 100644
1138--- a/arch/arc/boot/dts/axc003.dtsi
1139+++ b/arch/arc/boot/dts/axc003.dtsi
1140@@ -129,7 +129,7 @@
1141 * avoid duplicating the MB dtsi file given that IRQ from
1142 * this intc to cpu intc are different for axs101 and axs103
1143 */
1144- mb_intc: dw-apb-ictl@e0012000 {
1145+ mb_intc: interrupt-controller@e0012000 {
1146 #interrupt-cells = <1>;
1147 compatible = "snps,dw-apb-ictl";
1148 reg = < 0x0 0xe0012000 0x0 0x200 >;
1149diff --git a/arch/arc/boot/dts/axc003_idu.dtsi b/arch/arc/boot/dts/axc003_idu.dtsi
1150index 9da21e7..7077938 100644
1151--- a/arch/arc/boot/dts/axc003_idu.dtsi
1152+++ b/arch/arc/boot/dts/axc003_idu.dtsi
1153@@ -135,7 +135,7 @@
1154 * avoid duplicating the MB dtsi file given that IRQ from
1155 * this intc to cpu intc are different for axs101 and axs103
1156 */
1157- mb_intc: dw-apb-ictl@e0012000 {
1158+ mb_intc: interrupt-controller@e0012000 {
1159 #interrupt-cells = <1>;
1160 compatible = "snps,dw-apb-ictl";
1161 reg = < 0x0 0xe0012000 0x0 0x200 >;
1162diff --git a/arch/arc/boot/dts/vdk_axc003.dtsi b/arch/arc/boot/dts/vdk_axc003.dtsi
1163index f8be7ba..c21d0eb 100644
1164--- a/arch/arc/boot/dts/vdk_axc003.dtsi
1165+++ b/arch/arc/boot/dts/vdk_axc003.dtsi
1166@@ -46,7 +46,7 @@
1167
1168 };
1169
1170- mb_intc: dw-apb-ictl@e0012000 {
1171+ mb_intc: interrupt-controller@e0012000 {
1172 #interrupt-cells = <1>;
1173 compatible = "snps,dw-apb-ictl";
1174 reg = < 0xe0012000 0x200 >;
1175diff --git a/arch/arc/boot/dts/vdk_axc003_idu.dtsi b/arch/arc/boot/dts/vdk_axc003_idu.dtsi
1176index 0afa3e5..4d34885 100644
1177--- a/arch/arc/boot/dts/vdk_axc003_idu.dtsi
1178+++ b/arch/arc/boot/dts/vdk_axc003_idu.dtsi
1179@@ -54,7 +54,7 @@
1180
1181 };
1182
1183- mb_intc: dw-apb-ictl@e0012000 {
1184+ mb_intc: interrupt-controller@e0012000 {
1185 #interrupt-cells = <1>;
1186 compatible = "snps,dw-apb-ictl";
1187 reg = < 0xe0012000 0x200 >;
1188diff --git a/arch/arc/include/asm/page.h b/arch/arc/include/asm/page.h
1189index 0a32e8c..956f78e 100644
1190--- a/arch/arc/include/asm/page.h
1191+++ b/arch/arc/include/asm/page.h
1192@@ -7,9 +7,22 @@
1193
1194 #include <uapi/asm/page.h>
1195
1196+#ifdef CONFIG_ARC_HAS_PAE40
1197+
1198+#define MAX_POSSIBLE_PHYSMEM_BITS 40
1199+#define PAGE_MASK_PHYS (0xff00000000ull | PAGE_MASK)
1200+
1201+#else /* CONFIG_ARC_HAS_PAE40 */
1202+
1203+#define MAX_POSSIBLE_PHYSMEM_BITS 32
1204+#define PAGE_MASK_PHYS PAGE_MASK
1205+
1206+#endif /* CONFIG_ARC_HAS_PAE40 */
1207+
1208 #ifndef __ASSEMBLY__
1209
1210 #define clear_page(paddr) memset((paddr), 0, PAGE_SIZE)
1211+#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
1212 #define copy_page(to, from) memcpy((to), (from), PAGE_SIZE)
1213
1214 struct vm_area_struct;
1215diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
1216index 7addd03..a1987d0 100644
1217--- a/arch/arc/include/asm/pgtable.h
1218+++ b/arch/arc/include/asm/pgtable.h
1219@@ -108,8 +108,8 @@
1220 #define ___DEF (_PAGE_PRESENT | _PAGE_CACHEABLE)
1221
1222 /* Set of bits not changed in pte_modify */
1223-#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_SPECIAL)
1224-
1225+#define _PAGE_CHG_MASK (PAGE_MASK_PHYS | _PAGE_ACCESSED | _PAGE_DIRTY | \
1226+ _PAGE_SPECIAL)
1227 /* More Abbrevaited helpers */
1228 #define PAGE_U_NONE __pgprot(___DEF)
1229 #define PAGE_U_R __pgprot(___DEF | _PAGE_READ)
1230@@ -133,11 +133,7 @@
1231 #define PTE_BITS_IN_PD0 (_PAGE_GLOBAL | _PAGE_PRESENT | _PAGE_HW_SZ)
1232 #define PTE_BITS_RWX (_PAGE_EXECUTE | _PAGE_WRITE | _PAGE_READ)
1233
1234-#ifdef CONFIG_ARC_HAS_PAE40
1235-#define PTE_BITS_NON_RWX_IN_PD1 (0xff00000000 | PAGE_MASK | _PAGE_CACHEABLE)
1236-#else
1237-#define PTE_BITS_NON_RWX_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE)
1238-#endif
1239+#define PTE_BITS_NON_RWX_IN_PD1 (PAGE_MASK_PHYS | _PAGE_CACHEABLE)
1240
1241 /**************************************************************************
1242 * Mapping of vm_flags (Generic VM) to PTE flags (arch specific)
1243diff --git a/arch/arc/include/uapi/asm/page.h b/arch/arc/include/uapi/asm/page.h
1244index 2a97e27..2a4ad61 100644
1245--- a/arch/arc/include/uapi/asm/page.h
1246+++ b/arch/arc/include/uapi/asm/page.h
1247@@ -33,5 +33,4 @@
1248
1249 #define PAGE_MASK (~(PAGE_SIZE-1))
1250
1251-
1252 #endif /* _UAPI__ASM_ARC_PAGE_H */
1253diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S
1254index ea74a1e..b37ca85 100644
1255--- a/arch/arc/kernel/entry.S
1256+++ b/arch/arc/kernel/entry.S
1257@@ -165,7 +165,7 @@ tracesys:
1258
1259 ; Do the Sys Call as we normally would.
1260 ; Validate the Sys Call number
1261- cmp r8, NR_syscalls
1262+ cmp r8, NR_syscalls - 1
1263 mov.hi r0, -ENOSYS
1264 bhi tracesys_exit
1265
1266@@ -243,7 +243,7 @@ ENTRY(EV_Trap)
1267 ;============ Normal syscall case
1268
1269 ; syscall num shd not exceed the total system calls avail
1270- cmp r8, NR_syscalls
1271+ cmp r8, NR_syscalls - 1
1272 mov.hi r0, -ENOSYS
1273 bhi .Lret_from_system_call
1274
1275diff --git a/arch/arc/kernel/perf_event.c b/arch/arc/kernel/perf_event.c
1276index 79849f3..145722f 100644
1277--- a/arch/arc/kernel/perf_event.c
1278+++ b/arch/arc/kernel/perf_event.c
1279@@ -562,7 +562,7 @@ static int arc_pmu_device_probe(struct platform_device *pdev)
1280 {
1281 struct arc_reg_pct_build pct_bcr;
1282 struct arc_reg_cc_build cc_bcr;
1283- int i, has_interrupts, irq;
1284+ int i, has_interrupts, irq = -1;
1285 int counter_size; /* in bits */
1286
1287 union cc_name {
1288@@ -637,19 +637,28 @@ static int arc_pmu_device_probe(struct platform_device *pdev)
1289 .attr_groups = arc_pmu->attr_groups,
1290 };
1291
1292- if (has_interrupts && (irq = platform_get_irq(pdev, 0) >= 0)) {
1293+ if (has_interrupts) {
1294+ irq = platform_get_irq(pdev, 0);
1295+ if (irq >= 0) {
1296+ int ret;
1297
1298- arc_pmu->irq = irq;
1299+ arc_pmu->irq = irq;
1300
1301- /* intc map function ensures irq_set_percpu_devid() called */
1302- request_percpu_irq(irq, arc_pmu_intr, "ARC perf counters",
1303- this_cpu_ptr(&arc_pmu_cpu));
1304+ /* intc map function ensures irq_set_percpu_devid() called */
1305+ ret = request_percpu_irq(irq, arc_pmu_intr, "ARC perf counters",
1306+ this_cpu_ptr(&arc_pmu_cpu));
1307+
1308+ if (!ret)
1309+ on_each_cpu(arc_cpu_pmu_irq_init, &irq, 1);
1310+ else
1311+ irq = -1;
1312+ }
1313
1314- on_each_cpu(arc_cpu_pmu_irq_init, &irq, 1);
1315- } else {
1316- arc_pmu->pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT;
1317 }
1318
1319+ if (irq == -1)
1320+ arc_pmu->pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT;
1321+
1322 /*
1323 * perf parser doesn't really like '-' symbol in events name, so let's
1324 * use '_' in arc pct name as it goes to kernel PMU event prefix.
1325diff --git a/arch/arc/kernel/signal.c b/arch/arc/kernel/signal.c
1326index 3d57ed0..4045180 100644
1327--- a/arch/arc/kernel/signal.c
1328+++ b/arch/arc/kernel/signal.c
1329@@ -96,7 +96,7 @@ stash_usr_regs(struct rt_sigframe __user *sf, struct pt_regs *regs,
1330 sizeof(sf->uc.uc_mcontext.regs.scratch));
1331 err |= __copy_to_user(&sf->uc.uc_sigmask, set, sizeof(sigset_t));
1332
1333- return err;
1334+ return err ? -EFAULT : 0;
1335 }
1336
1337 static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf)
1338@@ -110,7 +110,7 @@ static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf)
1339 &(sf->uc.uc_mcontext.regs.scratch),
1340 sizeof(sf->uc.uc_mcontext.regs.scratch));
1341 if (err)
1342- return err;
1343+ return -EFAULT;
1344
1345 set_current_blocked(&set);
1346 regs->bta = uregs.scratch.bta;
1347diff --git a/arch/arc/kernel/stacktrace.c b/arch/arc/kernel/stacktrace.c
1348index 1e440bb..fc3054c 100644
1349--- a/arch/arc/kernel/stacktrace.c
1350+++ b/arch/arc/kernel/stacktrace.c
1351@@ -38,15 +38,15 @@
1352
1353 #ifdef CONFIG_ARC_DW2_UNWIND
1354
1355-static void seed_unwind_frame_info(struct task_struct *tsk,
1356- struct pt_regs *regs,
1357- struct unwind_frame_info *frame_info)
1358+static int
1359+seed_unwind_frame_info(struct task_struct *tsk, struct pt_regs *regs,
1360+ struct unwind_frame_info *frame_info)
1361 {
1362 /*
1363 * synchronous unwinding (e.g. dump_stack)
1364 * - uses current values of SP and friends
1365 */
1366- if (tsk == NULL && regs == NULL) {
1367+ if (regs == NULL && (tsk == NULL || tsk == current)) {
1368 unsigned long fp, sp, blink, ret;
1369 frame_info->task = current;
1370
1371@@ -65,11 +65,15 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
1372 frame_info->call_frame = 0;
1373 } else if (regs == NULL) {
1374 /*
1375- * Asynchronous unwinding of sleeping task
1376- * - Gets SP etc from task's pt_regs (saved bottom of kernel
1377- * mode stack of task)
1378+ * Asynchronous unwinding of a likely sleeping task
1379+ * - first ensure it is actually sleeping
1380+ * - if so, it will be in __switch_to, kernel mode SP of task
1381+ * is safe-kept and BLINK at a well known location in there
1382 */
1383
1384+ if (tsk->state == TASK_RUNNING)
1385+ return -1;
1386+
1387 frame_info->task = tsk;
1388
1389 frame_info->regs.r27 = TSK_K_FP(tsk);
1390@@ -103,6 +107,8 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
1391 frame_info->regs.r63 = regs->ret;
1392 frame_info->call_frame = 0;
1393 }
1394+
1395+ return 0;
1396 }
1397
1398 #endif
1399@@ -112,11 +118,12 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,
1400 int (*consumer_fn) (unsigned int, void *), void *arg)
1401 {
1402 #ifdef CONFIG_ARC_DW2_UNWIND
1403- int ret = 0;
1404+ int ret = 0, cnt = 0;
1405 unsigned int address;
1406 struct unwind_frame_info frame_info;
1407
1408- seed_unwind_frame_info(tsk, regs, &frame_info);
1409+ if (seed_unwind_frame_info(tsk, regs, &frame_info))
1410+ return 0;
1411
1412 while (1) {
1413 address = UNW_PC(&frame_info);
1414@@ -132,6 +139,11 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,
1415 break;
1416
1417 frame_info.regs.r63 = frame_info.regs.r31;
1418+
1419+ if (cnt++ > 128) {
1420+ printk("unwinder looping too long, aborting !\n");
1421+ return 0;
1422+ }
1423 }
1424
1425 return address; /* return the last address it saw */
1426diff --git a/arch/arc/mm/ioremap.c b/arch/arc/mm/ioremap.c
1427index fac4adc..95c649f 100644
1428--- a/arch/arc/mm/ioremap.c
1429+++ b/arch/arc/mm/ioremap.c
1430@@ -53,9 +53,10 @@ EXPORT_SYMBOL(ioremap);
1431 void __iomem *ioremap_prot(phys_addr_t paddr, unsigned long size,
1432 unsigned long flags)
1433 {
1434+ unsigned int off;
1435 unsigned long vaddr;
1436 struct vm_struct *area;
1437- phys_addr_t off, end;
1438+ phys_addr_t end;
1439 pgprot_t prot = __pgprot(flags);
1440
1441 /* Don't allow wraparound, zero size */
1442@@ -72,7 +73,7 @@ void __iomem *ioremap_prot(phys_addr_t paddr, unsigned long size,
1443
1444 /* Mappings have to be page-aligned */
1445 off = paddr & ~PAGE_MASK;
1446- paddr &= PAGE_MASK;
1447+ paddr &= PAGE_MASK_PHYS;
1448 size = PAGE_ALIGN(end + 1) - paddr;
1449
1450 /*
1451diff --git a/arch/arc/mm/tlb.c b/arch/arc/mm/tlb.c
1452index 10025e1..2430d53 100644
1453--- a/arch/arc/mm/tlb.c
1454+++ b/arch/arc/mm/tlb.c
1455@@ -597,7 +597,7 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr_unaligned,
1456 pte_t *ptep)
1457 {
1458 unsigned long vaddr = vaddr_unaligned & PAGE_MASK;
1459- phys_addr_t paddr = pte_val(*ptep) & PAGE_MASK;
1460+ phys_addr_t paddr = pte_val(*ptep) & PAGE_MASK_PHYS;
1461 struct page *page = pfn_to_page(pte_pfn(*ptep));
1462
1463 create_tlb(vma, vaddr, ptep);
1464diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
1465index 05c9bbf..9aa8871 100644
1466--- a/arch/arm/Kconfig
1467+++ b/arch/arm/Kconfig
1468@@ -507,8 +507,10 @@ config ARCH_S3C24XX
1469 select HAVE_S3C2410_WATCHDOG if WATCHDOG
1470 select HAVE_S3C_RTC if RTC_CLASS
1471 select NEED_MACH_IO_H
1472+ select S3C2410_WATCHDOG
1473 select SAMSUNG_ATAGS
1474 select USE_OF
1475+ select WATCHDOG
1476 help
1477 Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
1478 and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
1479diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
1480index 6da6778..f0b3a92 100644
1481--- a/arch/arm/boot/compressed/Makefile
1482+++ b/arch/arm/boot/compressed/Makefile
1483@@ -122,8 +122,8 @@ asflags-y := -DZIMAGE
1484
1485 # Supply kernel BSS size to the decompressor via a linker symbol.
1486 KBSS_SZ = $(shell echo $$(($$($(NM) $(obj)/../../../../vmlinux | \
1487- sed -n -e 's/^\([^ ]*\) [AB] __bss_start$$/-0x\1/p' \
1488- -e 's/^\([^ ]*\) [AB] __bss_stop$$/+0x\1/p') )) )
1489+ sed -n -e 's/^\([^ ]*\) [ABD] __bss_start$$/-0x\1/p' \
1490+ -e 's/^\([^ ]*\) [ABD] __bss_stop$$/+0x\1/p') )) )
1491 LDFLAGS_vmlinux = --defsym _kernel_bss_size=$(KBSS_SZ)
1492 # Supply ZRELADDR to the decompressor via a linker symbol.
1493 ifneq ($(CONFIG_AUTO_ZRELADDR),y)
1494diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
1495index 93dffed..cbe1262 100644
1496--- a/arch/arm/boot/compressed/head.S
1497+++ b/arch/arm/boot/compressed/head.S
1498@@ -1142,9 +1142,9 @@ __armv4_mmu_cache_off:
1499 __armv7_mmu_cache_off:
1500 mrc p15, 0, r0, c1, c0
1501 #ifdef CONFIG_MMU
1502- bic r0, r0, #0x000d
1503+ bic r0, r0, #0x0005
1504 #else
1505- bic r0, r0, #0x000c
1506+ bic r0, r0, #0x0004
1507 #endif
1508 mcr p15, 0, r0, c1, c0 @ turn MMU and cache off
1509 mov r12, lr
1510diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
1511index fb6b8aa..77fa7c0 100644
1512--- a/arch/arm/boot/dts/am33xx.dtsi
1513+++ b/arch/arm/boot/dts/am33xx.dtsi
1514@@ -40,6 +40,9 @@
1515 ethernet1 = &cpsw_emac1;
1516 spi0 = &spi0;
1517 spi1 = &spi1;
1518+ mmc0 = &mmc1;
1519+ mmc1 = &mmc2;
1520+ mmc2 = &mmc3;
1521 };
1522
1523 cpus {
1524diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts
1525index 768b6c5..fde4c30 100644
1526--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
1527+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
1528@@ -236,6 +236,7 @@
1529 status = "okay";
1530 compatible = "ethernet-phy-id0141.0DD1", "ethernet-phy-ieee802.3-c22";
1531 reg = <1>;
1532+ marvell,reg-init = <3 18 0 0x4985>;
1533
1534 /* irq is connected to &pcawan pin 7 */
1535 };
1536diff --git a/arch/arm/boot/dts/armada-388-helios4.dts b/arch/arm/boot/dts/armada-388-helios4.dts
1537index 705adfa..a947580 100644
1538--- a/arch/arm/boot/dts/armada-388-helios4.dts
1539+++ b/arch/arm/boot/dts/armada-388-helios4.dts
1540@@ -70,6 +70,9 @@
1541
1542 system-leds {
1543 compatible = "gpio-leds";
1544+ pinctrl-names = "default";
1545+ pinctrl-0 = <&helios_system_led_pins>;
1546+
1547 status-led {
1548 label = "helios4:green:status";
1549 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
1550@@ -86,6 +89,9 @@
1551
1552 io-leds {
1553 compatible = "gpio-leds";
1554+ pinctrl-names = "default";
1555+ pinctrl-0 = <&helios_io_led_pins>;
1556+
1557 sata1-led {
1558 label = "helios4:green:ata1";
1559 gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
1560@@ -121,11 +127,15 @@
1561 fan1: j10-pwm {
1562 compatible = "pwm-fan";
1563 pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */
1564+ pinctrl-names = "default";
1565+ pinctrl-0 = <&helios_fan1_pins>;
1566 };
1567
1568 fan2: j17-pwm {
1569 compatible = "pwm-fan";
1570 pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */
1571+ pinctrl-names = "default";
1572+ pinctrl-0 = <&helios_fan2_pins>;
1573 };
1574
1575 usb2_phy: usb2-phy {
1576@@ -291,16 +301,22 @@
1577 "mpp39", "mpp40";
1578 marvell,function = "sd0";
1579 };
1580- helios_led_pins: helios-led-pins {
1581- marvell,pins = "mpp24", "mpp25",
1582- "mpp49", "mpp50",
1583+ helios_system_led_pins: helios-system-led-pins {
1584+ marvell,pins = "mpp24", "mpp25";
1585+ marvell,function = "gpio";
1586+ };
1587+ helios_io_led_pins: helios-io-led-pins {
1588+ marvell,pins = "mpp49", "mpp50",
1589 "mpp52", "mpp53",
1590 "mpp54";
1591 marvell,function = "gpio";
1592 };
1593- helios_fan_pins: helios-fan-pins {
1594- marvell,pins = "mpp41", "mpp43",
1595- "mpp48", "mpp55";
1596+ helios_fan1_pins: helios_fan1_pins {
1597+ marvell,pins = "mpp41", "mpp43";
1598+ marvell,function = "gpio";
1599+ };
1600+ helios_fan2_pins: helios_fan2_pins {
1601+ marvell,pins = "mpp48", "mpp55";
1602 marvell,function = "gpio";
1603 };
1604 microsom_spi1_cs_pins: spi1-cs-pins {
1605diff --git a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
1606index 267d0c1..30abb4b 100644
1607--- a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
1608+++ b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
1609@@ -266,11 +266,6 @@
1610 reg = <0x11000 0x100>;
1611 };
1612
1613-&i2c1 {
1614- compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
1615- reg = <0x11100 0x100>;
1616-};
1617-
1618 &mpic {
1619 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
1620 };
1621diff --git a/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts b/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts
1622index 682f729..c58230f 100644
1623--- a/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts
1624+++ b/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts
1625@@ -81,11 +81,6 @@
1626 status = "okay";
1627 };
1628
1629-&vuart {
1630- // VUART Host Console
1631- status = "okay";
1632-};
1633-
1634 &uart1 {
1635 // Host Console
1636 status = "okay";
1637diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts b/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts
1638index 22dade6..d1dbe3b 100644
1639--- a/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts
1640+++ b/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts
1641@@ -22,9 +22,9 @@
1642 #size-cells = <1>;
1643 ranges;
1644
1645- vga_memory: framebuffer@7f000000 {
1646+ vga_memory: framebuffer@9f000000 {
1647 no-map;
1648- reg = <0x7f000000 0x01000000>;
1649+ reg = <0x9f000000 0x01000000>; /* 16M */
1650 };
1651 };
1652
1653diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
1654index dffb595..679d04d 100644
1655--- a/arch/arm/boot/dts/aspeed-g4.dtsi
1656+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
1657@@ -371,6 +371,7 @@
1658 compatible = "aspeed,ast2400-ibt-bmc";
1659 reg = <0xc0 0x18>;
1660 interrupts = <8>;
1661+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
1662 status = "disabled";
1663 };
1664 };
1665diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
1666index e8feb8b..412c96b 100644
1667--- a/arch/arm/boot/dts/aspeed-g5.dtsi
1668+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
1669@@ -464,6 +464,7 @@
1670 compatible = "aspeed,ast2500-ibt-bmc";
1671 reg = <0xc0 0x18>;
1672 interrupts = <8>;
1673+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
1674 status = "disabled";
1675 };
1676 };
1677diff --git a/arch/arm/boot/dts/at91-sama5d27_som1.dtsi b/arch/arm/boot/dts/at91-sama5d27_som1.dtsi
1678index 7788d5d..ae6d07d 100644
1679--- a/arch/arm/boot/dts/at91-sama5d27_som1.dtsi
1680+++ b/arch/arm/boot/dts/at91-sama5d27_som1.dtsi
1681@@ -44,8 +44,8 @@
1682 pinctrl-0 = <&pinctrl_macb0_default>;
1683 phy-mode = "rmii";
1684
1685- ethernet-phy@0 {
1686- reg = <0x0>;
1687+ ethernet-phy@7 {
1688+ reg = <0x7>;
1689 interrupt-parent = <&pioA>;
1690 interrupts = <PIN_PD31 IRQ_TYPE_LEVEL_LOW>;
1691 pinctrl-names = "default";
1692diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
1693index 61f068a..400eaf6 100644
1694--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
1695+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
1696@@ -242,6 +242,11 @@
1697 atmel,pins =
1698 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */
1699 };
1700+ pinctrl_usb_default: usb_default {
1701+ atmel,pins =
1702+ <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
1703+ AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
1704+ };
1705 };
1706 };
1707 };
1708@@ -259,6 +264,8 @@
1709 &pioE 3 GPIO_ACTIVE_LOW
1710 &pioE 4 GPIO_ACTIVE_LOW
1711 >;
1712+ pinctrl-names = "default";
1713+ pinctrl-0 = <&pinctrl_usb_default>;
1714 status = "okay";
1715 };
1716
1717diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
1718index fdfc37d..1d10106 100644
1719--- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
1720+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
1721@@ -133,6 +133,11 @@
1722 atmel,pins =
1723 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
1724 };
1725+ pinctrl_usb_default: usb_default {
1726+ atmel,pins =
1727+ <AT91_PIOE 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
1728+ AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
1729+ };
1730 pinctrl_key_gpio: key_gpio_0 {
1731 atmel,pins =
1732 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
1733@@ -158,6 +163,8 @@
1734 &pioE 11 GPIO_ACTIVE_HIGH
1735 &pioE 14 GPIO_ACTIVE_HIGH
1736 >;
1737+ pinctrl-names = "default";
1738+ pinctrl-0 = <&pinctrl_usb_default>;
1739 status = "okay";
1740 };
1741
1742diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
1743index ea024e4..0121bb0 100644
1744--- a/arch/arm/boot/dts/at91sam9rl.dtsi
1745+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
1746@@ -278,23 +278,26 @@
1747 atmel,adc-use-res = "highres";
1748
1749 trigger0 {
1750- trigger-name = "timer-counter-0";
1751+ trigger-name = "external-rising";
1752 trigger-value = <0x1>;
1753+ trigger-external;
1754 };
1755+
1756 trigger1 {
1757- trigger-name = "timer-counter-1";
1758- trigger-value = <0x3>;
1759+ trigger-name = "external-falling";
1760+ trigger-value = <0x2>;
1761+ trigger-external;
1762 };
1763
1764 trigger2 {
1765- trigger-name = "timer-counter-2";
1766- trigger-value = <0x5>;
1767+ trigger-name = "external-any";
1768+ trigger-value = <0x3>;
1769+ trigger-external;
1770 };
1771
1772 trigger3 {
1773- trigger-name = "external";
1774- trigger-value = <0x13>;
1775- trigger-external;
1776+ trigger-name = "continuous";
1777+ trigger-value = <0x6>;
1778 };
1779 };
1780
1781diff --git a/arch/arm/boot/dts/dra76x.dtsi b/arch/arm/boot/dts/dra76x.dtsi
1782index 9f6fbe4..859e438 100644
1783--- a/arch/arm/boot/dts/dra76x.dtsi
1784+++ b/arch/arm/boot/dts/dra76x.dtsi
1785@@ -32,8 +32,8 @@
1786 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
1787 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
1788 interrupt-names = "int0", "int1";
1789- clocks = <&mcan_clk>, <&l3_iclk_div>;
1790- clock-names = "cclk", "hclk";
1791+ clocks = <&l3_iclk_div>, <&mcan_clk>;
1792+ clock-names = "hclk", "cclk";
1793 bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
1794 };
1795 };
1796diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
1797index dee35e3..69d134d 100644
1798--- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
1799+++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
1800@@ -75,7 +75,7 @@
1801 s2mps14_pmic@66 {
1802 compatible = "samsung,s2mps14-pmic";
1803 interrupt-parent = <&gpx3>;
1804- interrupts = <5 IRQ_TYPE_NONE>;
1805+ interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
1806 pinctrl-names = "default";
1807 pinctrl-0 = <&s2mps14_irq>;
1808 reg = <0x66>;
1809diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
1810index 248bd37..a23a874 100644
1811--- a/arch/arm/boot/dts/exynos3250-monk.dts
1812+++ b/arch/arm/boot/dts/exynos3250-monk.dts
1813@@ -195,7 +195,7 @@
1814 s2mps14_pmic@66 {
1815 compatible = "samsung,s2mps14-pmic";
1816 interrupt-parent = <&gpx0>;
1817- interrupts = <7 IRQ_TYPE_NONE>;
1818+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
1819 reg = <0x66>;
1820 wakeup-source;
1821
1822diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
1823index 86c26a4..468932f 100644
1824--- a/arch/arm/boot/dts/exynos3250-rinato.dts
1825+++ b/arch/arm/boot/dts/exynos3250-rinato.dts
1826@@ -260,7 +260,7 @@
1827 s2mps14_pmic@66 {
1828 compatible = "samsung,s2mps14-pmic";
1829 interrupt-parent = <&gpx0>;
1830- interrupts = <7 IRQ_TYPE_NONE>;
1831+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
1832 reg = <0x66>;
1833 wakeup-source;
1834
1835diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
1836index 83be3a7..fedb213 100644
1837--- a/arch/arm/boot/dts/exynos4412-midas.dtsi
1838+++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
1839@@ -139,7 +139,7 @@
1840 max77693@66 {
1841 compatible = "maxim,max77693";
1842 interrupt-parent = <&gpx1>;
1843- interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
1844+ interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
1845 pinctrl-names = "default";
1846 pinctrl-0 = <&max77693_irq>;
1847 reg = <0x66>;
1848@@ -187,7 +187,7 @@
1849 max77693-fuel-gauge@36 {
1850 compatible = "maxim,max17047";
1851 interrupt-parent = <&gpx2>;
1852- interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
1853+ interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
1854 pinctrl-names = "default";
1855 pinctrl-0 = <&max77693_fuel_irq>;
1856 reg = <0x36>;
1857@@ -588,7 +588,7 @@
1858 max77686: max77686_pmic@9 {
1859 compatible = "maxim,max77686";
1860 interrupt-parent = <&gpx0>;
1861- interrupts = <7 IRQ_TYPE_NONE>;
1862+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
1863 pinctrl-0 = <&max77686_irq>;
1864 pinctrl-names = "default";
1865 reg = <0x09>;
1866diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
1867index ea55f37..424d12e 100644
1868--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
1869+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
1870@@ -274,7 +274,7 @@
1871 max77686: pmic@9 {
1872 compatible = "maxim,max77686";
1873 interrupt-parent = <&gpx3>;
1874- interrupts = <2 IRQ_TYPE_NONE>;
1875+ interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
1876 pinctrl-names = "default";
1877 pinctrl-0 = <&max77686_irq>;
1878 reg = <0x09>;
1879diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
1880index 6dc9694..70a2b6e 100644
1881--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
1882+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
1883@@ -133,7 +133,7 @@
1884 compatible = "maxim,max77686";
1885 reg = <0x09>;
1886 interrupt-parent = <&gpx3>;
1887- interrupts = <2 IRQ_TYPE_NONE>;
1888+ interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
1889 pinctrl-names = "default";
1890 pinctrl-0 = <&max77686_irq>;
1891 wakeup-source;
1892diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
1893index c952a61..737f0e2 100644
1894--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
1895+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
1896@@ -292,7 +292,7 @@
1897 max77686: max77686@9 {
1898 compatible = "maxim,max77686";
1899 interrupt-parent = <&gpx3>;
1900- interrupts = <2 IRQ_TYPE_NONE>;
1901+ interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
1902 pinctrl-names = "default";
1903 pinctrl-0 = <&max77686_irq>;
1904 wakeup-source;
1905diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
1906index 3d50192..2355c53 100644
1907--- a/arch/arm/boot/dts/exynos5250-spring.dts
1908+++ b/arch/arm/boot/dts/exynos5250-spring.dts
1909@@ -108,7 +108,7 @@
1910 compatible = "samsung,s5m8767-pmic";
1911 reg = <0x66>;
1912 interrupt-parent = <&gpx3>;
1913- interrupts = <2 IRQ_TYPE_NONE>;
1914+ interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
1915 pinctrl-names = "default";
1916 pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
1917 wakeup-source;
1918diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
1919index e0db251..f68baaf 100644
1920--- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
1921+++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
1922@@ -327,6 +327,8 @@
1923 regulator-name = "vddq_lcd";
1924 regulator-min-microvolt = <1800000>;
1925 regulator-max-microvolt = <1800000>;
1926+ /* Supplies also GPK and GPJ */
1927+ regulator-always-on;
1928 };
1929
1930 ldo8_reg: LDO8 {
1931@@ -637,11 +639,11 @@
1932 };
1933
1934 &usbdrd_dwc3_0 {
1935- dr_mode = "host";
1936+ dr_mode = "peripheral";
1937 };
1938
1939 &usbdrd_dwc3_1 {
1940- dr_mode = "peripheral";
1941+ dr_mode = "host";
1942 };
1943
1944 &usbdrd3_0 {
1945diff --git a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
1946index 369a8a7..481ee99 100644
1947--- a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
1948+++ b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
1949@@ -560,6 +560,34 @@
1950 interrupt-controller;
1951 #interrupt-cells = <2>;
1952 };
1953+
1954+ usb3_1_oc: usb3-1-oc {
1955+ samsung,pins = "gpk2-4", "gpk2-5";
1956+ samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
1957+ samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
1958+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
1959+ };
1960+
1961+ usb3_1_vbusctrl: usb3-1-vbusctrl {
1962+ samsung,pins = "gpk2-6", "gpk2-7";
1963+ samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
1964+ samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1965+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
1966+ };
1967+
1968+ usb3_0_oc: usb3-0-oc {
1969+ samsung,pins = "gpk3-0", "gpk3-1";
1970+ samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
1971+ samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
1972+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
1973+ };
1974+
1975+ usb3_0_vbusctrl: usb3-0-vbusctrl {
1976+ samsung,pins = "gpk3-2", "gpk3-3";
1977+ samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
1978+ samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1979+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
1980+ };
1981 };
1982
1983 &pinctrl_2 {
1984diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
1985index e6f78b1..d077373 100644
1986--- a/arch/arm/boot/dts/exynos5410.dtsi
1987+++ b/arch/arm/boot/dts/exynos5410.dtsi
1988@@ -398,6 +398,8 @@
1989 &usbdrd3_0 {
1990 clocks = <&clock CLK_USBD300>;
1991 clock-names = "usbdrd30";
1992+ pinctrl-names = "default";
1993+ pinctrl-0 = <&usb3_0_oc>, <&usb3_0_vbusctrl>;
1994 };
1995
1996 &usbdrd_phy0 {
1997@@ -409,6 +411,8 @@
1998 &usbdrd3_1 {
1999 clocks = <&clock CLK_USBD301>;
2000 clock-names = "usbdrd30";
2001+ pinctrl-names = "default";
2002+ pinctrl-0 = <&usb3_1_oc>, <&usb3_1_vbusctrl>;
2003 };
2004
2005 &usbdrd_dwc3_1 {
2006diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
2007index 592d7b4..53bf988 100644
2008--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
2009+++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
2010@@ -349,7 +349,7 @@
2011 reg = <0x66>;
2012
2013 interrupt-parent = <&gpx3>;
2014- interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
2015+ interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
2016 pinctrl-names = "default";
2017 pinctrl-0 = <&s2mps11_irq>;
2018
2019diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
2020index 829147e..9e64a4a 100644
2021--- a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
2022+++ b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
2023@@ -141,7 +141,7 @@
2024 samsung,s2mps11-acokb-ground;
2025
2026 interrupt-parent = <&gpx0>;
2027- interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
2028+ interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
2029 pinctrl-names = "default";
2030 pinctrl-0 = <&s2mps11_irq>;
2031
2032diff --git a/arch/arm/boot/dts/imx50-evk.dts b/arch/arm/boot/dts/imx50-evk.dts
2033index a25da41..907339b 100644
2034--- a/arch/arm/boot/dts/imx50-evk.dts
2035+++ b/arch/arm/boot/dts/imx50-evk.dts
2036@@ -59,7 +59,7 @@
2037 MX50_PAD_CSPI_MISO__CSPI_MISO 0x00
2038 MX50_PAD_CSPI_MOSI__CSPI_MOSI 0x00
2039 MX50_PAD_CSPI_SS0__GPIO4_11 0xc4
2040- MX50_PAD_ECSPI1_MOSI__CSPI_SS1 0xf4
2041+ MX50_PAD_ECSPI1_MOSI__GPIO4_13 0x84
2042 >;
2043 };
2044
2045diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
2046index 1a9a9d9..14d6fec 100644
2047--- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
2048+++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
2049@@ -273,7 +273,7 @@
2050
2051 /* VDD_AUD_1P8: Audio codec */
2052 reg_aud_1p8v: ldo3 {
2053- regulator-name = "vdd1p8";
2054+ regulator-name = "vdd1p8a";
2055 regulator-min-microvolt = <1800000>;
2056 regulator-max-microvolt = <1800000>;
2057 regulator-boot-on;
2058diff --git a/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi b/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi
2059index 81c7ebb..eea317b 100644
2060--- a/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi
2061+++ b/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi
2062@@ -167,7 +167,7 @@
2063 i2c-gpio,delay-us = <2>; /* ~100 kHz */
2064 #address-cells = <1>;
2065 #size-cells = <0>;
2066- status = "disabld";
2067+ status = "disabled";
2068 };
2069
2070 i2c_cam: i2c-gpio-cam {
2071@@ -179,7 +179,7 @@
2072 i2c-gpio,delay-us = <2>; /* ~100 kHz */
2073 #address-cells = <1>;
2074 #size-cells = <0>;
2075- status = "disabld";
2076+ status = "disabled";
2077 };
2078 };
2079
2080@@ -551,7 +551,7 @@
2081
2082 pinctrl_i2c3: i2c3grp {
2083 fsl,pins = <
2084- MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
2085+ MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
2086 MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1
2087 >;
2088 };
2089diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
2090index bc43c75..6678b97 100644
2091--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
2092+++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
2093@@ -432,6 +432,7 @@
2094 pinctrl-0 = <&pinctrl_usdhc2>;
2095 cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
2096 wp-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
2097+ vmmc-supply = <&vdd_sd1_reg>;
2098 status = "disabled";
2099 };
2100
2101@@ -441,5 +442,6 @@
2102 &pinctrl_usdhc3_cdwp>;
2103 cd-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
2104 wp-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
2105+ vmmc-supply = <&vdd_sd0_reg>;
2106 status = "disabled";
2107 };
2108diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
2109index 776bfc7..16672cb 100644
2110--- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi
2111+++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
2112@@ -98,7 +98,7 @@
2113 &fec {
2114 pinctrl-names = "default";
2115 pinctrl-0 = <&pinctrl_enet>;
2116- phy-mode = "rgmii";
2117+ phy-mode = "rgmii-id";
2118 status = "okay";
2119 };
2120
2121diff --git a/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi
2122index 9390979..b9b698f 100644
2123--- a/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi
2124+++ b/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi
2125@@ -166,7 +166,6 @@
2126 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
2127 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
2128 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
2129- MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
2130 >;
2131 };
2132
2133diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
2134index 7b7ec7b..824393e 100644
2135--- a/arch/arm/boot/dts/lpc32xx.dtsi
2136+++ b/arch/arm/boot/dts/lpc32xx.dtsi
2137@@ -329,9 +329,6 @@
2138
2139 clocks = <&xtal_32k>, <&xtal>;
2140 clock-names = "xtal_32k", "xtal";
2141-
2142- assigned-clocks = <&clk LPC32XX_CLK_HCLK_PLL>;
2143- assigned-clock-rates = <208000000>;
2144 };
2145 };
2146
2147diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
2148index a24eccc..0f9c711 100644
2149--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
2150+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
2151@@ -219,7 +219,7 @@
2152 reg = <0>;
2153
2154 reset-assert-us = <10000>;
2155- reset-deassert-us = <30000>;
2156+ reset-deassert-us = <80000>;
2157 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
2158
2159 interrupt-parent = <&gpio_intc>;
2160diff --git a/arch/arm/boot/dts/meson8m2-mxiii-plus.dts b/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
2161index d54477b..84b6ed5 100644
2162--- a/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
2163+++ b/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
2164@@ -83,7 +83,7 @@
2165 reg = <0>;
2166
2167 reset-assert-us = <10000>;
2168- reset-deassert-us = <30000>;
2169+ reset-deassert-us = <80000>;
2170 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
2171 };
2172 };
2173diff --git a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
2174index 2b760f9..5375c66 100644
2175--- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
2176+++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
2177@@ -192,6 +192,7 @@
2178 fixed-link {
2179 speed = <1000>;
2180 full-duplex;
2181+ pause;
2182 };
2183 };
2184 };
2185diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
2186index 4043ecb..0c8fcfb 100644
2187--- a/arch/arm/boot/dts/omap3.dtsi
2188+++ b/arch/arm/boot/dts/omap3.dtsi
2189@@ -23,6 +23,9 @@
2190 i2c0 = &i2c1;
2191 i2c1 = &i2c2;
2192 i2c2 = &i2c3;
2193+ mmc0 = &mmc1;
2194+ mmc1 = &mmc2;
2195+ mmc2 = &mmc3;
2196 serial0 = &uart1;
2197 serial1 = &uart2;
2198 serial2 = &uart3;
2199diff --git a/arch/arm/boot/dts/omap4-panda-es.dts b/arch/arm/boot/dts/omap4-panda-es.dts
2200index 9dd307b..468ad1b 100644
2201--- a/arch/arm/boot/dts/omap4-panda-es.dts
2202+++ b/arch/arm/boot/dts/omap4-panda-es.dts
2203@@ -46,7 +46,7 @@
2204
2205 button_pins: pinmux_button_pins {
2206 pinctrl-single,pins = <
2207- OMAP4_IOPAD(0x11b, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */
2208+ OMAP4_IOPAD(0x0fc, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */
2209 >;
2210 };
2211 };
2212diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
2213index e5506ab..0a36b8f 100644
2214--- a/arch/arm/boot/dts/omap4.dtsi
2215+++ b/arch/arm/boot/dts/omap4.dtsi
2216@@ -22,6 +22,11 @@
2217 i2c1 = &i2c2;
2218 i2c2 = &i2c3;
2219 i2c3 = &i2c4;
2220+ mmc0 = &mmc1;
2221+ mmc1 = &mmc2;
2222+ mmc2 = &mmc3;
2223+ mmc3 = &mmc4;
2224+ mmc4 = &mmc5;
2225 serial0 = &uart1;
2226 serial1 = &uart2;
2227 serial2 = &uart3;
2228@@ -328,7 +333,7 @@
2229 status = "disabled";
2230 };
2231
2232- target-module@56000000 {
2233+ sgx_module: target-module@56000000 {
2234 compatible = "ti,sysc-omap4", "ti,sysc";
2235 reg = <0x5600fe00 0x4>,
2236 <0x5600fe10 0x4>;
2237diff --git a/arch/arm/boot/dts/omap443x.dtsi b/arch/arm/boot/dts/omap443x.dtsi
2238index cbcdcb4..6e320ef 100644
2239--- a/arch/arm/boot/dts/omap443x.dtsi
2240+++ b/arch/arm/boot/dts/omap443x.dtsi
2241@@ -33,10 +33,12 @@
2242 };
2243
2244 ocp {
2245+ /* 4430 has only gpio_86 tshut and no talert interrupt */
2246 bandgap: bandgap@4a002260 {
2247 reg = <0x4a002260 0x4
2248 0x4a00232C 0x4>;
2249 compatible = "ti,omap4430-bandgap";
2250+ gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
2251
2252 #thermal-sensor-cells = <0>;
2253 };
2254@@ -74,3 +76,13 @@
2255 };
2256
2257 /include/ "omap443x-clocks.dtsi"
2258+
2259+/*
2260+ * Use dpll_per for sgx at 153.6MHz like droid4 stock v3.0.8 Android kernel
2261+ */
2262+&sgx_module {
2263+ assigned-clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 24>,
2264+ <&dpll_per_m7x2_ck>;
2265+ assigned-clock-rates = <0>, <153600000>;
2266+ assigned-clock-parents = <&dpll_per_m7x2_ck>;
2267+};
2268diff --git a/arch/arm/boot/dts/omap44xx-clocks.dtsi b/arch/arm/boot/dts/omap44xx-clocks.dtsi
2269index e9d9c84..68ab6a9 100644
2270--- a/arch/arm/boot/dts/omap44xx-clocks.dtsi
2271+++ b/arch/arm/boot/dts/omap44xx-clocks.dtsi
2272@@ -770,14 +770,6 @@
2273 ti,max-div = <2>;
2274 };
2275
2276- sha2md5_fck: sha2md5_fck@15c8 {
2277- #clock-cells = <0>;
2278- compatible = "ti,gate-clock";
2279- clocks = <&l3_div_ck>;
2280- ti,bit-shift = <1>;
2281- reg = <0x15c8>;
2282- };
2283-
2284 usb_phy_cm_clk32k: usb_phy_cm_clk32k@640 {
2285 #clock-cells = <0>;
2286 compatible = "ti,gate-clock";
2287diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
2288index 041646f..3b56e99 100644
2289--- a/arch/arm/boot/dts/omap5.dtsi
2290+++ b/arch/arm/boot/dts/omap5.dtsi
2291@@ -25,6 +25,11 @@
2292 i2c2 = &i2c3;
2293 i2c3 = &i2c4;
2294 i2c4 = &i2c5;
2295+ mmc0 = &mmc1;
2296+ mmc1 = &mmc2;
2297+ mmc2 = &mmc3;
2298+ mmc3 = &mmc4;
2299+ mmc4 = &mmc5;
2300 serial0 = &uart1;
2301 serial1 = &uart2;
2302 serial2 = &uart3;
2303diff --git a/arch/arm/boot/dts/picoxcell-pc3x2.dtsi b/arch/arm/boot/dts/picoxcell-pc3x2.dtsi
2304index 5ae8607..3fcc86d 100644
2305--- a/arch/arm/boot/dts/picoxcell-pc3x2.dtsi
2306+++ b/arch/arm/boot/dts/picoxcell-pc3x2.dtsi
2307@@ -45,18 +45,21 @@
2308 emac: gem@30000 {
2309 compatible = "cadence,gem";
2310 reg = <0x30000 0x10000>;
2311+ interrupt-parent = <&vic0>;
2312 interrupts = <31>;
2313 };
2314
2315 dmac1: dmac@40000 {
2316 compatible = "snps,dw-dmac";
2317 reg = <0x40000 0x10000>;
2318+ interrupt-parent = <&vic0>;
2319 interrupts = <25>;
2320 };
2321
2322 dmac2: dmac@50000 {
2323 compatible = "snps,dw-dmac";
2324 reg = <0x50000 0x10000>;
2325+ interrupt-parent = <&vic0>;
2326 interrupts = <26>;
2327 };
2328
2329@@ -234,6 +237,7 @@
2330 axi2pico@c0000000 {
2331 compatible = "picochip,axi2pico-pc3x2";
2332 reg = <0xc0000000 0x10000>;
2333+ interrupt-parent = <&vic0>;
2334 interrupts = <13 14 15 16 17 18 19 20 21>;
2335 };
2336 };
2337diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi
2338index 2ad642f..61822af 100644
2339--- a/arch/arm/boot/dts/s5pv210.dtsi
2340+++ b/arch/arm/boot/dts/s5pv210.dtsi
2341@@ -52,34 +52,26 @@
2342 };
2343 };
2344
2345+ xxti: oscillator-0 {
2346+ compatible = "fixed-clock";
2347+ clock-frequency = <0>;
2348+ clock-output-names = "xxti";
2349+ #clock-cells = <0>;
2350+ };
2351+
2352+ xusbxti: oscillator-1 {
2353+ compatible = "fixed-clock";
2354+ clock-frequency = <0>;
2355+ clock-output-names = "xusbxti";
2356+ #clock-cells = <0>;
2357+ };
2358+
2359 soc {
2360 compatible = "simple-bus";
2361 #address-cells = <1>;
2362 #size-cells = <1>;
2363 ranges;
2364
2365- external-clocks {
2366- compatible = "simple-bus";
2367- #address-cells = <1>;
2368- #size-cells = <0>;
2369-
2370- xxti: oscillator@0 {
2371- compatible = "fixed-clock";
2372- reg = <0>;
2373- clock-frequency = <0>;
2374- clock-output-names = "xxti";
2375- #clock-cells = <0>;
2376- };
2377-
2378- xusbxti: oscillator@1 {
2379- compatible = "fixed-clock";
2380- reg = <1>;
2381- clock-frequency = <0>;
2382- clock-output-names = "xusbxti";
2383- #clock-cells = <0>;
2384- };
2385- };
2386-
2387 onenand: onenand@b0600000 {
2388 compatible = "samsung,s5pv210-onenand";
2389 reg = <0xb0600000 0x2000>,
2390@@ -100,19 +92,16 @@
2391 };
2392
2393 clocks: clock-controller@e0100000 {
2394- compatible = "samsung,s5pv210-clock", "simple-bus";
2395+ compatible = "samsung,s5pv210-clock";
2396 reg = <0xe0100000 0x10000>;
2397 clock-names = "xxti", "xusbxti";
2398 clocks = <&xxti>, <&xusbxti>;
2399 #clock-cells = <1>;
2400- #address-cells = <1>;
2401- #size-cells = <1>;
2402- ranges;
2403+ };
2404
2405- pmu_syscon: syscon@e0108000 {
2406- compatible = "samsung-s5pv210-pmu", "syscon";
2407- reg = <0xe0108000 0x8000>;
2408- };
2409+ pmu_syscon: syscon@e0108000 {
2410+ compatible = "samsung-s5pv210-pmu", "syscon";
2411+ reg = <0xe0108000 0x8000>;
2412 };
2413
2414 pinctrl0: pinctrl@e0200000 {
2415@@ -128,35 +117,28 @@
2416 };
2417 };
2418
2419- amba {
2420- #address-cells = <1>;
2421- #size-cells = <1>;
2422- compatible = "simple-bus";
2423- ranges;
2424-
2425- pdma0: dma@e0900000 {
2426- compatible = "arm,pl330", "arm,primecell";
2427- reg = <0xe0900000 0x1000>;
2428- interrupt-parent = <&vic0>;
2429- interrupts = <19>;
2430- clocks = <&clocks CLK_PDMA0>;
2431- clock-names = "apb_pclk";
2432- #dma-cells = <1>;
2433- #dma-channels = <8>;
2434- #dma-requests = <32>;
2435- };
2436+ pdma0: dma@e0900000 {
2437+ compatible = "arm,pl330", "arm,primecell";
2438+ reg = <0xe0900000 0x1000>;
2439+ interrupt-parent = <&vic0>;
2440+ interrupts = <19>;
2441+ clocks = <&clocks CLK_PDMA0>;
2442+ clock-names = "apb_pclk";
2443+ #dma-cells = <1>;
2444+ #dma-channels = <8>;
2445+ #dma-requests = <32>;
2446+ };
2447
2448- pdma1: dma@e0a00000 {
2449- compatible = "arm,pl330", "arm,primecell";
2450- reg = <0xe0a00000 0x1000>;
2451- interrupt-parent = <&vic0>;
2452- interrupts = <20>;
2453- clocks = <&clocks CLK_PDMA1>;
2454- clock-names = "apb_pclk";
2455- #dma-cells = <1>;
2456- #dma-channels = <8>;
2457- #dma-requests = <32>;
2458- };
2459+ pdma1: dma@e0a00000 {
2460+ compatible = "arm,pl330", "arm,primecell";
2461+ reg = <0xe0a00000 0x1000>;
2462+ interrupt-parent = <&vic0>;
2463+ interrupts = <20>;
2464+ clocks = <&clocks CLK_PDMA1>;
2465+ clock-names = "apb_pclk";
2466+ #dma-cells = <1>;
2467+ #dma-channels = <8>;
2468+ #dma-requests = <32>;
2469 };
2470
2471 spi0: spi@e1300000 {
2472@@ -229,43 +211,36 @@
2473 status = "disabled";
2474 };
2475
2476- audio-subsystem {
2477- compatible = "samsung,s5pv210-audss", "simple-bus";
2478- #address-cells = <1>;
2479- #size-cells = <1>;
2480- ranges;
2481-
2482- clk_audss: clock-controller@eee10000 {
2483- compatible = "samsung,s5pv210-audss-clock";
2484- reg = <0xeee10000 0x1000>;
2485- clock-names = "hclk", "xxti",
2486- "fout_epll",
2487- "sclk_audio0";
2488- clocks = <&clocks DOUT_HCLKP>, <&xxti>,
2489- <&clocks FOUT_EPLL>,
2490- <&clocks SCLK_AUDIO0>;
2491- #clock-cells = <1>;
2492- };
2493+ clk_audss: clock-controller@eee10000 {
2494+ compatible = "samsung,s5pv210-audss-clock";
2495+ reg = <0xeee10000 0x1000>;
2496+ clock-names = "hclk", "xxti",
2497+ "fout_epll",
2498+ "sclk_audio0";
2499+ clocks = <&clocks DOUT_HCLKP>, <&xxti>,
2500+ <&clocks FOUT_EPLL>,
2501+ <&clocks SCLK_AUDIO0>;
2502+ #clock-cells = <1>;
2503+ };
2504
2505- i2s0: i2s@eee30000 {
2506- compatible = "samsung,s5pv210-i2s";
2507- reg = <0xeee30000 0x1000>;
2508- interrupt-parent = <&vic2>;
2509- interrupts = <16>;
2510- dma-names = "rx", "tx", "tx-sec";
2511- dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
2512- clock-names = "iis",
2513- "i2s_opclk0",
2514- "i2s_opclk1";
2515- clocks = <&clk_audss CLK_I2S>,
2516- <&clk_audss CLK_I2S>,
2517- <&clk_audss CLK_DOUT_AUD_BUS>;
2518- samsung,idma-addr = <0xc0010000>;
2519- pinctrl-names = "default";
2520- pinctrl-0 = <&i2s0_bus>;
2521- #sound-dai-cells = <0>;
2522- status = "disabled";
2523- };
2524+ i2s0: i2s@eee30000 {
2525+ compatible = "samsung,s5pv210-i2s";
2526+ reg = <0xeee30000 0x1000>;
2527+ interrupt-parent = <&vic2>;
2528+ interrupts = <16>;
2529+ dma-names = "rx", "tx", "tx-sec";
2530+ dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
2531+ clock-names = "iis",
2532+ "i2s_opclk0",
2533+ "i2s_opclk1";
2534+ clocks = <&clk_audss CLK_I2S>,
2535+ <&clk_audss CLK_I2S>,
2536+ <&clk_audss CLK_DOUT_AUD_BUS>;
2537+ samsung,idma-addr = <0xc0010000>;
2538+ pinctrl-names = "default";
2539+ pinctrl-0 = <&i2s0_bus>;
2540+ #sound-dai-cells = <0>;
2541+ status = "disabled";
2542 };
2543
2544 i2s1: i2s@e2100000 {
2545diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi
2546index 2e2c1a7..b05bab5 100644
2547--- a/arch/arm/boot/dts/sama5d2.dtsi
2548+++ b/arch/arm/boot/dts/sama5d2.dtsi
2549@@ -648,6 +648,7 @@
2550 clocks = <&pmc PMC_TYPE_PERIPHERAL 51>;
2551 #address-cells = <1>;
2552 #size-cells = <1>;
2553+ no-memory-wc;
2554 ranges = <0 0xf8044000 0x1420>;
2555 };
2556
2557@@ -716,7 +717,7 @@
2558
2559 can0: can@f8054000 {
2560 compatible = "bosch,m_can";
2561- reg = <0xf8054000 0x4000>, <0x210000 0x4000>;
2562+ reg = <0xf8054000 0x4000>, <0x210000 0x1c00>;
2563 reg-names = "m_can", "message_ram";
2564 interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>,
2565 <64 IRQ_TYPE_LEVEL_HIGH 7>;
2566@@ -938,7 +939,7 @@
2567
2568 can1: can@fc050000 {
2569 compatible = "bosch,m_can";
2570- reg = <0xfc050000 0x4000>, <0x210000 0x4000>;
2571+ reg = <0xfc050000 0x4000>, <0x210000 0x3800>;
2572 reg-names = "m_can", "message_ram";
2573 interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>,
2574 <65 IRQ_TYPE_LEVEL_HIGH 7>;
2575@@ -948,7 +949,7 @@
2576 assigned-clocks = <&pmc PMC_TYPE_GCK 57>;
2577 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>;
2578 assigned-clock-rates = <40000000>;
2579- bosch,mram-cfg = <0x1100 0 0 64 0 0 32 32>;
2580+ bosch,mram-cfg = <0x1c00 0 0 64 0 0 32 32>;
2581 status = "disabled";
2582 };
2583
2584diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
2585index e0a9b37..2265ca2 100644
2586--- a/arch/arm/boot/dts/sun4i-a10.dtsi
2587+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
2588@@ -143,7 +143,7 @@
2589 trips {
2590 cpu_alert0: cpu-alert0 {
2591 /* milliCelsius */
2592- temperature = <850000>;
2593+ temperature = <85000>;
2594 hysteresis = <2000>;
2595 type = "passive";
2596 };
2597diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
2598index 049e6ab..73de34a 100644
2599--- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
2600+++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
2601@@ -154,7 +154,7 @@
2602 pinctrl-names = "default";
2603 pinctrl-0 = <&gmac_rgmii_pins>;
2604 phy-handle = <&phy1>;
2605- phy-mode = "rgmii";
2606+ phy-mode = "rgmii-id";
2607 status = "okay";
2608 };
2609
2610diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
2611index 32d5d45..8945dbb 100644
2612--- a/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
2613+++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
2614@@ -130,7 +130,7 @@
2615 pinctrl-names = "default";
2616 pinctrl-0 = <&gmac_rgmii_pins>;
2617 phy-handle = <&phy1>;
2618- phy-mode = "rgmii";
2619+ phy-mode = "rgmii-id";
2620 phy-supply = <&reg_gmac_3v3>;
2621 status = "okay";
2622 };
2623diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
2624index bb3987e..0b3d9ae 100644
2625--- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
2626+++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
2627@@ -132,7 +132,7 @@
2628 pinctrl-names = "default";
2629 pinctrl-0 = <&gmac_rgmii_pins>;
2630 phy-handle = <&phy1>;
2631- phy-mode = "rgmii";
2632+ phy-mode = "rgmii-id";
2633 phy-supply = <&reg_gmac_3v3>;
2634 status = "okay";
2635 };
2636diff --git a/arch/arm/boot/dts/sun7i-a20-bananapro.dts b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
2637index 01ccff7..5740f94 100644
2638--- a/arch/arm/boot/dts/sun7i-a20-bananapro.dts
2639+++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
2640@@ -110,7 +110,7 @@
2641 pinctrl-names = "default";
2642 pinctrl-0 = <&gmac_rgmii_pins>;
2643 phy-handle = <&phy1>;
2644- phy-mode = "rgmii";
2645+ phy-mode = "rgmii-id";
2646 phy-supply = <&reg_gmac_3v3>;
2647 status = "okay";
2648 };
2649diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
2650index 8c8dee6..9109ca0 100644
2651--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
2652+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
2653@@ -151,7 +151,7 @@
2654 pinctrl-names = "default";
2655 pinctrl-0 = <&gmac_rgmii_pins>;
2656 phy-handle = <&phy1>;
2657- phy-mode = "rgmii";
2658+ phy-mode = "rgmii-id";
2659 status = "okay";
2660 };
2661
2662diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts
2663index fce2f7f..bf38c66 100644
2664--- a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts
2665+++ b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts
2666@@ -1,5 +1,5 @@
2667 /*
2668- * Copyright 2015 Adam Sampson <ats@offog.org>
2669+ * Copyright 2015-2020 Adam Sampson <ats@offog.org>
2670 *
2671 * This file is dual-licensed: you can use it either under the terms
2672 * of the GPL or the X11 license, at your option. Note that this dual
2673@@ -115,7 +115,7 @@
2674 pinctrl-names = "default";
2675 pinctrl-0 = <&gmac_rgmii_pins>;
2676 phy-handle = <&phy1>;
2677- phy-mode = "rgmii";
2678+ phy-mode = "rgmii-id";
2679 status = "okay";
2680 };
2681
2682diff --git a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
2683index 9d34eab..431f702 100644
2684--- a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
2685+++ b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
2686@@ -131,7 +131,7 @@
2687 pinctrl-0 = <&emac_rgmii_pins>;
2688 phy-supply = <&reg_sw>;
2689 phy-handle = <&rgmii_phy>;
2690- phy-mode = "rgmii";
2691+ phy-mode = "rgmii-id";
2692 allwinner,rx-delay-ps = <700>;
2693 allwinner,tx-delay-ps = <700>;
2694 status = "okay";
2695diff --git a/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts b/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
2696index d9be511..d8326a5 100644
2697--- a/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
2698+++ b/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
2699@@ -183,7 +183,7 @@
2700 pinctrl-0 = <&emac_rgmii_pins>;
2701 phy-supply = <&reg_dldo4>;
2702 phy-handle = <&rgmii_phy>;
2703- phy-mode = "rgmii";
2704+ phy-mode = "rgmii-id";
2705 status = "okay";
2706 };
2707
2708diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
2709index 71fb732..babf4cf 100644
2710--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
2711+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
2712@@ -53,11 +53,6 @@
2713 };
2714 };
2715
2716-&emac {
2717- /* LEDs changed to active high on the plus */
2718- /delete-property/ allwinner,leds-active-low;
2719-};
2720-
2721 &mmc1 {
2722 vmmc-supply = <&reg_vcc3v3>;
2723 bus-width = <4>;
2724diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
2725index 6dbf7b2..b6ca45d 100644
2726--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
2727+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
2728@@ -67,7 +67,7 @@
2729 pinctrl-0 = <&emac_rgmii_pins>;
2730 phy-supply = <&reg_gmac_3v3>;
2731 phy-handle = <&ext_rgmii_phy>;
2732- phy-mode = "rgmii";
2733+ phy-mode = "rgmii-id";
2734 status = "okay";
2735 };
2736
2737diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
2738index ea15073..7db8950 100644
2739--- a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
2740+++ b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
2741@@ -129,7 +129,7 @@
2742 pinctrl-names = "default";
2743 pinctrl-0 = <&gmac_rgmii_pins>;
2744 phy-handle = <&phy1>;
2745- phy-mode = "rgmii";
2746+ phy-mode = "rgmii-id";
2747 phy-supply = <&reg_dc1sw>;
2748 status = "okay";
2749 };
2750diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
2751index 2abcba3..50c32cf 100644
2752--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
2753+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
2754@@ -423,7 +423,7 @@
2755 gic: interrupt-controller@1c81000 {
2756 compatible = "arm,gic-400";
2757 reg = <0x01c81000 0x1000>,
2758- <0x01c82000 0x1000>,
2759+ <0x01c82000 0x2000>,
2760 <0x01c84000 0x2000>,
2761 <0x01c86000 0x2000>;
2762 interrupt-controller;
2763diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
2764index 15c22b0..4795455 100644
2765--- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
2766+++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
2767@@ -120,7 +120,7 @@
2768 pinctrl-names = "default";
2769 pinctrl-0 = <&gmac_rgmii_pins>;
2770 phy-handle = <&phy1>;
2771- phy-mode = "rgmii";
2772+ phy-mode = "rgmii-id";
2773 phy-supply = <&reg_dc1sw>;
2774 status = "okay";
2775 };
2776@@ -198,16 +198,16 @@
2777 };
2778
2779 &reg_dc1sw {
2780- regulator-min-microvolt = <3000000>;
2781- regulator-max-microvolt = <3000000>;
2782+ regulator-min-microvolt = <3300000>;
2783+ regulator-max-microvolt = <3300000>;
2784 regulator-name = "vcc-gmac-phy";
2785 };
2786
2787 &reg_dcdc1 {
2788 regulator-always-on;
2789- regulator-min-microvolt = <3000000>;
2790- regulator-max-microvolt = <3000000>;
2791- regulator-name = "vcc-3v0";
2792+ regulator-min-microvolt = <3300000>;
2793+ regulator-max-microvolt = <3300000>;
2794+ regulator-name = "vcc-3v3";
2795 };
2796
2797 &reg_dcdc2 {
2798diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
2799index d3b337b..484b93d 100644
2800--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
2801+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
2802@@ -129,7 +129,7 @@
2803 pinctrl-names = "default";
2804 pinctrl-0 = <&gmac_rgmii_pins>;
2805 phy-handle = <&phy1>;
2806- phy-mode = "rgmii";
2807+ phy-mode = "rgmii-id";
2808 phy-supply = <&reg_cldo1>;
2809 status = "okay";
2810 };
2811diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
2812index bbc6335..5c3580d 100644
2813--- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
2814+++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
2815@@ -124,7 +124,7 @@
2816 pinctrl-names = "default";
2817 pinctrl-0 = <&gmac_rgmii_pins>;
2818 phy-handle = <&phy1>;
2819- phy-mode = "rgmii";
2820+ phy-mode = "rgmii-id";
2821 phy-supply = <&reg_cldo1>;
2822 status = "okay";
2823 };
2824diff --git a/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi b/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
2825index 39263e7..8e5cb3b 100644
2826--- a/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
2827+++ b/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
2828@@ -126,7 +126,7 @@
2829 pinctrl-0 = <&emac_rgmii_pins>;
2830 phy-supply = <&reg_gmac_3v3>;
2831 phy-handle = <&ext_rgmii_phy>;
2832- phy-mode = "rgmii";
2833+ phy-mode = "rgmii-id";
2834
2835 status = "okay";
2836 };
2837diff --git a/arch/arm/boot/dts/uniphier-pxs2.dtsi b/arch/arm/boot/dts/uniphier-pxs2.dtsi
2838index 4eddbb8..60a588c 100644
2839--- a/arch/arm/boot/dts/uniphier-pxs2.dtsi
2840+++ b/arch/arm/boot/dts/uniphier-pxs2.dtsi
2841@@ -571,7 +571,7 @@
2842 clocks = <&sys_clk 6>;
2843 reset-names = "ether";
2844 resets = <&sys_rst 6>;
2845- phy-mode = "rgmii";
2846+ phy-mode = "rgmii-id";
2847 local-mac-address = [00 00 00 00 00 00];
2848 socionext,syscon-phy-mode = <&soc_glue 0>;
2849
2850diff --git a/arch/arm/crypto/aes-ce-core.S b/arch/arm/crypto/aes-ce-core.S
2851index 4d17073..312428d 100644
2852--- a/arch/arm/crypto/aes-ce-core.S
2853+++ b/arch/arm/crypto/aes-ce-core.S
2854@@ -386,20 +386,32 @@ ENTRY(ce_aes_ctr_encrypt)
2855 .Lctrloop4x:
2856 subs r4, r4, #4
2857 bmi .Lctr1x
2858- add r6, r6, #1
2859+
2860+ /*
2861+ * NOTE: the sequence below has been carefully tweaked to avoid
2862+ * a silicon erratum that exists in Cortex-A57 (#1742098) and
2863+ * Cortex-A72 (#1655431) cores, where AESE/AESMC instruction pairs
2864+ * may produce an incorrect result if they take their input from a
2865+ * register of which a single 32-bit lane has been updated the last
2866+ * time it was modified. To work around this, the lanes of registers
2867+ * q0-q3 below are not manipulated individually, and the different
2868+ * counter values are prepared by successive manipulations of q7.
2869+ */
2870+ add ip, r6, #1
2871 vmov q0, q7
2872+ rev ip, ip
2873+ add lr, r6, #2
2874+ vmov s31, ip @ set lane 3 of q1 via q7
2875+ add ip, r6, #3
2876+ rev lr, lr
2877 vmov q1, q7
2878- rev ip, r6
2879- add r6, r6, #1
2880+ vmov s31, lr @ set lane 3 of q2 via q7
2881+ rev ip, ip
2882 vmov q2, q7
2883- vmov s7, ip
2884- rev ip, r6
2885- add r6, r6, #1
2886+ vmov s31, ip @ set lane 3 of q3 via q7
2887+ add r6, r6, #4
2888 vmov q3, q7
2889- vmov s11, ip
2890- rev ip, r6
2891- add r6, r6, #1
2892- vmov s15, ip
2893+
2894 vld1.8 {q4-q5}, [r1]!
2895 vld1.8 {q6}, [r1]!
2896 vld1.8 {q15}, [r1]!
2897diff --git a/arch/arm/include/asm/fixmap.h b/arch/arm/include/asm/fixmap.h
2898index 472c93d..763c3f6 100644
2899--- a/arch/arm/include/asm/fixmap.h
2900+++ b/arch/arm/include/asm/fixmap.h
2901@@ -2,7 +2,7 @@
2902 #ifndef _ASM_FIXMAP_H
2903 #define _ASM_FIXMAP_H
2904
2905-#define FIXADDR_START 0xffc00000UL
2906+#define FIXADDR_START 0xffc80000UL
2907 #define FIXADDR_END 0xfff00000UL
2908 #define FIXADDR_TOP (FIXADDR_END - PAGE_SIZE)
2909
2910diff --git a/arch/arm/include/asm/kexec-internal.h b/arch/arm/include/asm/kexec-internal.h
2911new file mode 100644
2912index 0000000..ecc2322
2913--- /dev/null
2914+++ b/arch/arm/include/asm/kexec-internal.h
2915@@ -0,0 +1,12 @@
2916+/* SPDX-License-Identifier: GPL-2.0 */
2917+#ifndef _ARM_KEXEC_INTERNAL_H
2918+#define _ARM_KEXEC_INTERNAL_H
2919+
2920+struct kexec_relocate_data {
2921+ unsigned long kexec_start_address;
2922+ unsigned long kexec_indirection_page;
2923+ unsigned long kexec_mach_type;
2924+ unsigned long kexec_r2;
2925+};
2926+
2927+#endif
2928diff --git a/arch/arm/include/asm/kprobes.h b/arch/arm/include/asm/kprobes.h
2929index 213607a..e26a278 100644
2930--- a/arch/arm/include/asm/kprobes.h
2931+++ b/arch/arm/include/asm/kprobes.h
2932@@ -44,20 +44,20 @@ int kprobe_exceptions_notify(struct notifier_block *self,
2933 unsigned long val, void *data);
2934
2935 /* optinsn template addresses */
2936-extern __visible kprobe_opcode_t optprobe_template_entry;
2937-extern __visible kprobe_opcode_t optprobe_template_val;
2938-extern __visible kprobe_opcode_t optprobe_template_call;
2939-extern __visible kprobe_opcode_t optprobe_template_end;
2940-extern __visible kprobe_opcode_t optprobe_template_sub_sp;
2941-extern __visible kprobe_opcode_t optprobe_template_add_sp;
2942-extern __visible kprobe_opcode_t optprobe_template_restore_begin;
2943-extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn;
2944-extern __visible kprobe_opcode_t optprobe_template_restore_end;
2945+extern __visible kprobe_opcode_t optprobe_template_entry[];
2946+extern __visible kprobe_opcode_t optprobe_template_val[];
2947+extern __visible kprobe_opcode_t optprobe_template_call[];
2948+extern __visible kprobe_opcode_t optprobe_template_end[];
2949+extern __visible kprobe_opcode_t optprobe_template_sub_sp[];
2950+extern __visible kprobe_opcode_t optprobe_template_add_sp[];
2951+extern __visible kprobe_opcode_t optprobe_template_restore_begin[];
2952+extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn[];
2953+extern __visible kprobe_opcode_t optprobe_template_restore_end[];
2954
2955 #define MAX_OPTIMIZED_LENGTH 4
2956 #define MAX_OPTINSN_SIZE \
2957- ((unsigned long)&optprobe_template_end - \
2958- (unsigned long)&optprobe_template_entry)
2959+ ((unsigned long)optprobe_template_end - \
2960+ (unsigned long)optprobe_template_entry)
2961 #define RELATIVEJUMP_SIZE 4
2962
2963 struct arch_optimized_insn {
2964diff --git a/arch/arm/include/asm/kvm_asm.h b/arch/arm/include/asm/kvm_asm.h
2965index f615830..9d0b7e6 100644
2966--- a/arch/arm/include/asm/kvm_asm.h
2967+++ b/arch/arm/include/asm/kvm_asm.h
2968@@ -56,7 +56,7 @@ extern char __kvm_hyp_init_end[];
2969 extern void __kvm_flush_vm_context(void);
2970 extern void __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa);
2971 extern void __kvm_tlb_flush_vmid(struct kvm *kvm);
2972-extern void __kvm_tlb_flush_local_vmid(struct kvm_vcpu *vcpu);
2973+extern void __kvm_flush_cpu_context(struct kvm_vcpu *vcpu);
2974
2975 extern void __kvm_timer_set_cntvoff(u32 cntvoff_low, u32 cntvoff_high);
2976
2977diff --git a/arch/arm/include/asm/kvm_host.h b/arch/arm/include/asm/kvm_host.h
2978index dd03d5e..32564b0 100644
2979--- a/arch/arm/include/asm/kvm_host.h
2980+++ b/arch/arm/include/asm/kvm_host.h
2981@@ -335,6 +335,7 @@ static inline void kvm_arch_sched_in(struct kvm_vcpu *vcpu, int cpu) {}
2982 static inline void kvm_arch_vcpu_block_finish(struct kvm_vcpu *vcpu) {}
2983
2984 static inline void kvm_arm_init_debug(void) {}
2985+static inline void kvm_arm_vcpu_init_debug(struct kvm_vcpu *vcpu) {}
2986 static inline void kvm_arm_setup_debug(struct kvm_vcpu *vcpu) {}
2987 static inline void kvm_arm_clear_debug(struct kvm_vcpu *vcpu) {}
2988 static inline void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu) {}
2989diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h
2990index 99035b5..f717d71 100644
2991--- a/arch/arm/include/asm/memory.h
2992+++ b/arch/arm/include/asm/memory.h
2993@@ -67,6 +67,10 @@
2994 */
2995 #define XIP_VIRT_ADDR(physaddr) (MODULES_VADDR + ((physaddr) & 0x000fffff))
2996
2997+#define FDT_FIXED_BASE UL(0xff800000)
2998+#define FDT_FIXED_SIZE (2 * SECTION_SIZE)
2999+#define FDT_VIRT_BASE(physbase) ((void *)(FDT_FIXED_BASE | (physbase) % SECTION_SIZE))
3000+
3001 #if !defined(CONFIG_SMP) && !defined(CONFIG_ARM_LPAE)
3002 /*
3003 * Allow 16MB-aligned ioremap pages
3004@@ -107,6 +111,7 @@ extern unsigned long vectors_base;
3005 #define MODULES_VADDR PAGE_OFFSET
3006
3007 #define XIP_VIRT_ADDR(physaddr) (physaddr)
3008+#define FDT_VIRT_BASE(physbase) ((void *)(physbase))
3009
3010 #endif /* !CONFIG_MMU */
3011
3012diff --git a/arch/arm/include/asm/pgtable-2level.h b/arch/arm/include/asm/pgtable-2level.h
3013index 51beec4..50b51ac 100644
3014--- a/arch/arm/include/asm/pgtable-2level.h
3015+++ b/arch/arm/include/asm/pgtable-2level.h
3016@@ -75,6 +75,8 @@
3017 #define PTE_HWTABLE_OFF (PTE_HWTABLE_PTRS * sizeof(pte_t))
3018 #define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u32))
3019
3020+#define MAX_POSSIBLE_PHYSMEM_BITS 32
3021+
3022 /*
3023 * PMD_SHIFT determines the size of the area a second-level page table can map
3024 * PGDIR_SHIFT determines what a third-level page table entry can map
3025diff --git a/arch/arm/include/asm/pgtable-3level.h b/arch/arm/include/asm/pgtable-3level.h
3026index 5b18295..8006a56 100644
3027--- a/arch/arm/include/asm/pgtable-3level.h
3028+++ b/arch/arm/include/asm/pgtable-3level.h
3029@@ -25,6 +25,8 @@
3030 #define PTE_HWTABLE_OFF (0)
3031 #define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64))
3032
3033+#define MAX_POSSIBLE_PHYSMEM_BITS 40
3034+
3035 /*
3036 * PGDIR_SHIFT determines the size a top-level page table entry can map.
3037 */
3038diff --git a/arch/arm/include/asm/prom.h b/arch/arm/include/asm/prom.h
3039index 1e36c40..402e3f3 100644
3040--- a/arch/arm/include/asm/prom.h
3041+++ b/arch/arm/include/asm/prom.h
3042@@ -9,12 +9,12 @@
3043
3044 #ifdef CONFIG_OF
3045
3046-extern const struct machine_desc *setup_machine_fdt(unsigned int dt_phys);
3047+extern const struct machine_desc *setup_machine_fdt(void *dt_virt);
3048 extern void __init arm_dt_init_cpu_maps(void);
3049
3050 #else /* CONFIG_OF */
3051
3052-static inline const struct machine_desc *setup_machine_fdt(unsigned int dt_phys)
3053+static inline const struct machine_desc *setup_machine_fdt(void *dt_virt)
3054 {
3055 return NULL;
3056 }
3057diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c
3058index c773b82..4ce2e29 100644
3059--- a/arch/arm/kernel/asm-offsets.c
3060+++ b/arch/arm/kernel/asm-offsets.c
3061@@ -15,6 +15,7 @@
3062 #include <linux/kvm_host.h>
3063 #endif
3064 #include <asm/cacheflush.h>
3065+#include <asm/kexec-internal.h>
3066 #include <asm/glue-df.h>
3067 #include <asm/glue-pf.h>
3068 #include <asm/mach/arch.h>
3069@@ -26,6 +27,7 @@
3070 #include <asm/vdso_datapage.h>
3071 #include <asm/hardware/cache-l2x0.h>
3072 #include <linux/kbuild.h>
3073+#include <linux/arm-smccc.h>
3074 #include "signal.h"
3075
3076 /*
3077@@ -159,6 +161,8 @@ int main(void)
3078 DEFINE(SLEEP_SAVE_SP_PHYS, offsetof(struct sleep_save_sp, save_ptr_stash_phys));
3079 DEFINE(SLEEP_SAVE_SP_VIRT, offsetof(struct sleep_save_sp, save_ptr_stash));
3080 #endif
3081+ DEFINE(ARM_SMCCC_QUIRK_ID_OFFS, offsetof(struct arm_smccc_quirk, id));
3082+ DEFINE(ARM_SMCCC_QUIRK_STATE_OFFS, offsetof(struct arm_smccc_quirk, state));
3083 BLANK();
3084 DEFINE(DMA_BIDIRECTIONAL, DMA_BIDIRECTIONAL);
3085 DEFINE(DMA_TO_DEVICE, DMA_TO_DEVICE);
3086@@ -190,5 +194,9 @@ int main(void)
3087 DEFINE(MPU_RGN_PRBAR, offsetof(struct mpu_rgn, prbar));
3088 DEFINE(MPU_RGN_PRLAR, offsetof(struct mpu_rgn, prlar));
3089 #endif
3090+ DEFINE(KEXEC_START_ADDR, offsetof(struct kexec_relocate_data, kexec_start_address));
3091+ DEFINE(KEXEC_INDIR_PAGE, offsetof(struct kexec_relocate_data, kexec_indirection_page));
3092+ DEFINE(KEXEC_MACH_TYPE, offsetof(struct kexec_relocate_data, kexec_mach_type));
3093+ DEFINE(KEXEC_R2, offsetof(struct kexec_relocate_data, kexec_r2));
3094 return 0;
3095 }
3096diff --git a/arch/arm/kernel/atags.h b/arch/arm/kernel/atags.h
3097index 067e12e..f2819c2 100644
3098--- a/arch/arm/kernel/atags.h
3099+++ b/arch/arm/kernel/atags.h
3100@@ -2,11 +2,11 @@
3101 void convert_to_tag_list(struct tag *tags);
3102
3103 #ifdef CONFIG_ATAGS
3104-const struct machine_desc *setup_machine_tags(phys_addr_t __atags_pointer,
3105+const struct machine_desc *setup_machine_tags(void *__atags_vaddr,
3106 unsigned int machine_nr);
3107 #else
3108 static inline const struct machine_desc * __init __noreturn
3109-setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr)
3110+setup_machine_tags(void *__atags_vaddr, unsigned int machine_nr)
3111 {
3112 early_print("no ATAGS support: can't continue\n");
3113 while (true);
3114diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
3115index ce02f92..8288151 100644
3116--- a/arch/arm/kernel/atags_parse.c
3117+++ b/arch/arm/kernel/atags_parse.c
3118@@ -176,7 +176,7 @@ static void __init squash_mem_tags(struct tag *tag)
3119 }
3120
3121 const struct machine_desc * __init
3122-setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr)
3123+setup_machine_tags(void *atags_vaddr, unsigned int machine_nr)
3124 {
3125 struct tag *tags = (struct tag *)&default_tags;
3126 const struct machine_desc *mdesc = NULL, *p;
3127@@ -197,8 +197,8 @@ setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr)
3128 if (!mdesc)
3129 return NULL;
3130
3131- if (__atags_pointer)
3132- tags = phys_to_virt(__atags_pointer);
3133+ if (atags_vaddr)
3134+ tags = atags_vaddr;
3135 else if (mdesc->atag_offset)
3136 tags = (void *)(PAGE_OFFSET + mdesc->atag_offset);
3137
3138diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
3139index 39c9786..4e09883 100644
3140--- a/arch/arm/kernel/devtree.c
3141+++ b/arch/arm/kernel/devtree.c
3142@@ -203,12 +203,12 @@ static const void * __init arch_get_next_mach(const char *const **match)
3143
3144 /**
3145 * setup_machine_fdt - Machine setup when an dtb was passed to the kernel
3146- * @dt_phys: physical address of dt blob
3147+ * @dt_virt: virtual address of dt blob
3148 *
3149 * If a dtb was passed to the kernel in r2, then use it to choose the
3150 * correct machine_desc and to setup the system.
3151 */
3152-const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
3153+const struct machine_desc * __init setup_machine_fdt(void *dt_virt)
3154 {
3155 const struct machine_desc *mdesc, *mdesc_best = NULL;
3156
3157@@ -221,7 +221,7 @@ const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
3158 mdesc_best = &__mach_desc_GENERIC_DT;
3159 #endif
3160
3161- if (!dt_phys || !early_init_dt_verify(phys_to_virt(dt_phys)))
3162+ if (!dt_virt || !early_init_dt_verify(dt_virt))
3163 return NULL;
3164
3165 mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);
3166diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
3167index a874b75..b62d74a 100644
3168--- a/arch/arm/kernel/entry-armv.S
3169+++ b/arch/arm/kernel/entry-armv.S
3170@@ -252,31 +252,10 @@ __und_svc:
3171 #else
3172 svc_entry
3173 #endif
3174- @
3175- @ call emulation code, which returns using r9 if it has emulated
3176- @ the instruction, or the more conventional lr if we are to treat
3177- @ this as a real undefined instruction
3178- @
3179- @ r0 - instruction
3180- @
3181-#ifndef CONFIG_THUMB2_KERNEL
3182- ldr r0, [r4, #-4]
3183-#else
3184- mov r1, #2
3185- ldrh r0, [r4, #-2] @ Thumb instruction at LR - 2
3186- cmp r0, #0xe800 @ 32-bit instruction if xx >= 0
3187- blo __und_svc_fault
3188- ldrh r9, [r4] @ bottom 16 bits
3189- add r4, r4, #2
3190- str r4, [sp, #S_PC]
3191- orr r0, r9, r0, lsl #16
3192-#endif
3193- badr r9, __und_svc_finish
3194- mov r2, r4
3195- bl call_fpe
3196
3197 mov r1, #4 @ PC correction to apply
3198-__und_svc_fault:
3199+ THUMB( tst r5, #PSR_T_BIT ) @ exception taken in Thumb mode?
3200+ THUMB( movne r1, #2 ) @ if so, fix up PC correction
3201 mov r0, sp @ struct pt_regs *regs
3202 bl __und_fault
3203
3204diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
3205index c49b393..5ceed4d 100644
3206--- a/arch/arm/kernel/head.S
3207+++ b/arch/arm/kernel/head.S
3208@@ -274,11 +274,10 @@ __create_page_tables:
3209 * We map 2 sections in case the ATAGs/DTB crosses a section boundary.
3210 */
3211 mov r0, r2, lsr #SECTION_SHIFT
3212- movs r0, r0, lsl #SECTION_SHIFT
3213- subne r3, r0, r8
3214- addne r3, r3, #PAGE_OFFSET
3215- addne r3, r4, r3, lsr #(SECTION_SHIFT - PMD_ORDER)
3216- orrne r6, r7, r0
3217+ cmp r2, #0
3218+ ldrne r3, =FDT_FIXED_BASE >> (SECTION_SHIFT - PMD_ORDER)
3219+ addne r3, r3, r4
3220+ orrne r6, r7, r0, lsl #SECTION_SHIFT
3221 strne r6, [r3], #1 << PMD_ORDER
3222 addne r6, r6, #1 << SECTION_SHIFT
3223 strne r6, [r3]
3224@@ -672,11 +671,7 @@ ARM_BE8(rev16 ip, ip)
3225 bcc 1b
3226 bx lr
3227 #else
3228-#ifdef CONFIG_CPU_ENDIAN_BE8
3229- moveq r0, #0x00004000 @ set bit 22, mov to mvn instruction
3230-#else
3231 moveq r0, #0x400000 @ set bit 22, mov to mvn instruction
3232-#endif
3233 b 2f
3234 1: ldr ip, [r7, r3]
3235 #ifdef CONFIG_CPU_ENDIAN_BE8
3236@@ -685,7 +680,7 @@ ARM_BE8(rev16 ip, ip)
3237 tst ip, #0x000f0000 @ check the rotation field
3238 orrne ip, ip, r6, lsl #24 @ mask in offset bits 31-24
3239 biceq ip, ip, #0x00004000 @ clear bit 22
3240- orreq ip, ip, r0 @ mask in offset bits 7-0
3241+ orreq ip, ip, r0, ror #8 @ mask in offset bits 7-0
3242 #else
3243 bic ip, ip, #0x000000ff
3244 tst ip, #0xf00 @ check the rotation field
3245diff --git a/arch/arm/kernel/hw_breakpoint.c b/arch/arm/kernel/hw_breakpoint.c
3246index 5f95e4b..b06d9ea 100644
3247--- a/arch/arm/kernel/hw_breakpoint.c
3248+++ b/arch/arm/kernel/hw_breakpoint.c
3249@@ -680,6 +680,40 @@ static void disable_single_step(struct perf_event *bp)
3250 arch_install_hw_breakpoint(bp);
3251 }
3252
3253+/*
3254+ * Arm32 hardware does not always report a watchpoint hit address that matches
3255+ * one of the watchpoints set. It can also report an address "near" the
3256+ * watchpoint if a single instruction access both watched and unwatched
3257+ * addresses. There is no straight-forward way, short of disassembling the
3258+ * offending instruction, to map that address back to the watchpoint. This
3259+ * function computes the distance of the memory access from the watchpoint as a
3260+ * heuristic for the likelyhood that a given access triggered the watchpoint.
3261+ *
3262+ * See this same function in the arm64 platform code, which has the same
3263+ * problem.
3264+ *
3265+ * The function returns the distance of the address from the bytes watched by
3266+ * the watchpoint. In case of an exact match, it returns 0.
3267+ */
3268+static u32 get_distance_from_watchpoint(unsigned long addr, u32 val,
3269+ struct arch_hw_breakpoint_ctrl *ctrl)
3270+{
3271+ u32 wp_low, wp_high;
3272+ u32 lens, lene;
3273+
3274+ lens = __ffs(ctrl->len);
3275+ lene = __fls(ctrl->len);
3276+
3277+ wp_low = val + lens;
3278+ wp_high = val + lene;
3279+ if (addr < wp_low)
3280+ return wp_low - addr;
3281+ else if (addr > wp_high)
3282+ return addr - wp_high;
3283+ else
3284+ return 0;
3285+}
3286+
3287 static int watchpoint_fault_on_uaccess(struct pt_regs *regs,
3288 struct arch_hw_breakpoint *info)
3289 {
3290@@ -689,23 +723,25 @@ static int watchpoint_fault_on_uaccess(struct pt_regs *regs,
3291 static void watchpoint_handler(unsigned long addr, unsigned int fsr,
3292 struct pt_regs *regs)
3293 {
3294- int i, access;
3295- u32 val, ctrl_reg, alignment_mask;
3296+ int i, access, closest_match = 0;
3297+ u32 min_dist = -1, dist;
3298+ u32 val, ctrl_reg;
3299 struct perf_event *wp, **slots;
3300 struct arch_hw_breakpoint *info;
3301 struct arch_hw_breakpoint_ctrl ctrl;
3302
3303 slots = this_cpu_ptr(wp_on_reg);
3304
3305+ /*
3306+ * Find all watchpoints that match the reported address. If no exact
3307+ * match is found. Attribute the hit to the closest watchpoint.
3308+ */
3309+ rcu_read_lock();
3310 for (i = 0; i < core_num_wrps; ++i) {
3311- rcu_read_lock();
3312-
3313 wp = slots[i];
3314-
3315 if (wp == NULL)
3316- goto unlock;
3317+ continue;
3318
3319- info = counter_arch_bp(wp);
3320 /*
3321 * The DFAR is an unknown value on debug architectures prior
3322 * to 7.1. Since we only allow a single watchpoint on these
3323@@ -714,33 +750,31 @@ static void watchpoint_handler(unsigned long addr, unsigned int fsr,
3324 */
3325 if (debug_arch < ARM_DEBUG_ARCH_V7_1) {
3326 BUG_ON(i > 0);
3327+ info = counter_arch_bp(wp);
3328 info->trigger = wp->attr.bp_addr;
3329 } else {
3330- if (info->ctrl.len == ARM_BREAKPOINT_LEN_8)
3331- alignment_mask = 0x7;
3332- else
3333- alignment_mask = 0x3;
3334-
3335- /* Check if the watchpoint value matches. */
3336- val = read_wb_reg(ARM_BASE_WVR + i);
3337- if (val != (addr & ~alignment_mask))
3338- goto unlock;
3339-
3340- /* Possible match, check the byte address select. */
3341- ctrl_reg = read_wb_reg(ARM_BASE_WCR + i);
3342- decode_ctrl_reg(ctrl_reg, &ctrl);
3343- if (!((1 << (addr & alignment_mask)) & ctrl.len))
3344- goto unlock;
3345-
3346 /* Check that the access type matches. */
3347 if (debug_exception_updates_fsr()) {
3348 access = (fsr & ARM_FSR_ACCESS_MASK) ?
3349 HW_BREAKPOINT_W : HW_BREAKPOINT_R;
3350 if (!(access & hw_breakpoint_type(wp)))
3351- goto unlock;
3352+ continue;
3353 }
3354
3355+ val = read_wb_reg(ARM_BASE_WVR + i);
3356+ ctrl_reg = read_wb_reg(ARM_BASE_WCR + i);
3357+ decode_ctrl_reg(ctrl_reg, &ctrl);
3358+ dist = get_distance_from_watchpoint(addr, val, &ctrl);
3359+ if (dist < min_dist) {
3360+ min_dist = dist;
3361+ closest_match = i;
3362+ }
3363+ /* Is this an exact match? */
3364+ if (dist != 0)
3365+ continue;
3366+
3367 /* We have a winner. */
3368+ info = counter_arch_bp(wp);
3369 info->trigger = addr;
3370 }
3371
3372@@ -762,13 +796,23 @@ static void watchpoint_handler(unsigned long addr, unsigned int fsr,
3373 * we can single-step over the watchpoint trigger.
3374 */
3375 if (!is_default_overflow_handler(wp))
3376- goto unlock;
3377-
3378+ continue;
3379 step:
3380 enable_single_step(wp, instruction_pointer(regs));
3381-unlock:
3382- rcu_read_unlock();
3383 }
3384+
3385+ if (min_dist > 0 && min_dist != -1) {
3386+ /* No exact match found. */
3387+ wp = slots[closest_match];
3388+ info = counter_arch_bp(wp);
3389+ info->trigger = addr;
3390+ pr_debug("watchpoint fired: address = 0x%x\n", info->trigger);
3391+ perf_bp_event(wp, regs);
3392+ if (is_default_overflow_handler(wp))
3393+ enable_single_step(wp, instruction_pointer(regs));
3394+ }
3395+
3396+ rcu_read_unlock();
3397 }
3398
3399 static void watchpoint_single_step_handler(unsigned long pc)
3400@@ -839,7 +883,7 @@ static void breakpoint_handler(unsigned long unknown, struct pt_regs *regs)
3401 info->trigger = addr;
3402 pr_debug("breakpoint fired: address = 0x%x\n", addr);
3403 perf_bp_event(bp, regs);
3404- if (!bp->overflow_handler)
3405+ if (is_default_overflow_handler(bp))
3406 enable_single_step(bp, addr);
3407 goto unlock;
3408 }
3409diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
3410index 76300f3..734adeb 100644
3411--- a/arch/arm/kernel/machine_kexec.c
3412+++ b/arch/arm/kernel/machine_kexec.c
3413@@ -15,6 +15,7 @@
3414 #include <asm/pgalloc.h>
3415 #include <asm/mmu_context.h>
3416 #include <asm/cacheflush.h>
3417+#include <asm/kexec-internal.h>
3418 #include <asm/fncpy.h>
3419 #include <asm/mach-types.h>
3420 #include <asm/smp_plat.h>
3421@@ -24,11 +25,6 @@
3422 extern void relocate_new_kernel(void);
3423 extern const unsigned int relocate_new_kernel_size;
3424
3425-extern unsigned long kexec_start_address;
3426-extern unsigned long kexec_indirection_page;
3427-extern unsigned long kexec_mach_type;
3428-extern unsigned long kexec_boot_atags;
3429-
3430 static atomic_t waiting_for_crash_ipi;
3431
3432 /*
3433@@ -161,6 +157,7 @@ void (*kexec_reinit)(void);
3434 void machine_kexec(struct kimage *image)
3435 {
3436 unsigned long page_list, reboot_entry_phys;
3437+ struct kexec_relocate_data *data;
3438 void (*reboot_entry)(void);
3439 void *reboot_code_buffer;
3440
3441@@ -176,18 +173,17 @@ void machine_kexec(struct kimage *image)
3442
3443 reboot_code_buffer = page_address(image->control_code_page);
3444
3445- /* Prepare parameters for reboot_code_buffer*/
3446- set_kernel_text_rw();
3447- kexec_start_address = image->start;
3448- kexec_indirection_page = page_list;
3449- kexec_mach_type = machine_arch_type;
3450- kexec_boot_atags = image->arch.kernel_r2;
3451-
3452 /* copy our kernel relocation code to the control code page */
3453 reboot_entry = fncpy(reboot_code_buffer,
3454 &relocate_new_kernel,
3455 relocate_new_kernel_size);
3456
3457+ data = reboot_code_buffer + relocate_new_kernel_size;
3458+ data->kexec_start_address = image->start;
3459+ data->kexec_indirection_page = page_list;
3460+ data->kexec_mach_type = machine_arch_type;
3461+ data->kexec_r2 = image->arch.kernel_r2;
3462+
3463 /* get the identity mapping physical address for the reboot code */
3464 reboot_entry_phys = virt_to_idmap(reboot_entry);
3465
3466diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
3467index 7eaa2ae..5e15b59 100644
3468--- a/arch/arm/kernel/relocate_kernel.S
3469+++ b/arch/arm/kernel/relocate_kernel.S
3470@@ -5,14 +5,16 @@
3471
3472 #include <linux/linkage.h>
3473 #include <asm/assembler.h>
3474+#include <asm/asm-offsets.h>
3475 #include <asm/kexec.h>
3476
3477 .align 3 /* not needed for this code, but keeps fncpy() happy */
3478
3479 ENTRY(relocate_new_kernel)
3480
3481- ldr r0,kexec_indirection_page
3482- ldr r1,kexec_start_address
3483+ adr r7, relocate_new_kernel_end
3484+ ldr r0, [r7, #KEXEC_INDIR_PAGE]
3485+ ldr r1, [r7, #KEXEC_START_ADDR]
3486
3487 /*
3488 * If there is no indirection page (we are doing crashdumps)
3489@@ -57,34 +59,16 @@ ENTRY(relocate_new_kernel)
3490
3491 2:
3492 /* Jump to relocated kernel */
3493- mov lr,r1
3494- mov r0,#0
3495- ldr r1,kexec_mach_type
3496- ldr r2,kexec_boot_atags
3497- ARM( ret lr )
3498- THUMB( bx lr )
3499-
3500- .align
3501-
3502- .globl kexec_start_address
3503-kexec_start_address:
3504- .long 0x0
3505-
3506- .globl kexec_indirection_page
3507-kexec_indirection_page:
3508- .long 0x0
3509-
3510- .globl kexec_mach_type
3511-kexec_mach_type:
3512- .long 0x0
3513-
3514- /* phy addr of the atags for the new kernel */
3515- .globl kexec_boot_atags
3516-kexec_boot_atags:
3517- .long 0x0
3518+ mov lr, r1
3519+ mov r0, #0
3520+ ldr r1, [r7, #KEXEC_MACH_TYPE]
3521+ ldr r2, [r7, #KEXEC_R2]
3522+ ARM( ret lr )
3523+ THUMB( bx lr )
3524
3525 ENDPROC(relocate_new_kernel)
3526
3527+ .align 3
3528 relocate_new_kernel_end:
3529
3530 .globl relocate_new_kernel_size
3531diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
3532index d0a464e..924285d 100644
3533--- a/arch/arm/kernel/setup.c
3534+++ b/arch/arm/kernel/setup.c
3535@@ -18,6 +18,7 @@
3536 #include <linux/of_platform.h>
3537 #include <linux/init.h>
3538 #include <linux/kexec.h>
3539+#include <linux/libfdt.h>
3540 #include <linux/of_fdt.h>
3541 #include <linux/cpu.h>
3542 #include <linux/interrupt.h>
3543@@ -1075,19 +1076,27 @@ void __init hyp_mode_check(void)
3544
3545 void __init setup_arch(char **cmdline_p)
3546 {
3547- const struct machine_desc *mdesc;
3548+ const struct machine_desc *mdesc = NULL;
3549+ void *atags_vaddr = NULL;
3550+
3551+ if (__atags_pointer)
3552+ atags_vaddr = FDT_VIRT_BASE(__atags_pointer);
3553
3554 setup_processor();
3555- mdesc = setup_machine_fdt(__atags_pointer);
3556+ if (atags_vaddr) {
3557+ mdesc = setup_machine_fdt(atags_vaddr);
3558+ if (mdesc)
3559+ memblock_reserve(__atags_pointer,
3560+ fdt_totalsize(atags_vaddr));
3561+ }
3562 if (!mdesc)
3563- mdesc = setup_machine_tags(__atags_pointer, __machine_arch_type);
3564+ mdesc = setup_machine_tags(atags_vaddr, __machine_arch_type);
3565 if (!mdesc) {
3566 early_print("\nError: invalid dtb and unrecognized/unsupported machine ID\n");
3567 early_print(" r1=0x%08x, r2=0x%08x\n", __machine_arch_type,
3568 __atags_pointer);
3569 if (__atags_pointer)
3570- early_print(" r2[]=%*ph\n", 16,
3571- phys_to_virt(__atags_pointer));
3572+ early_print(" r2[]=%*ph\n", 16, atags_vaddr);
3573 dump_machine_table();
3574 }
3575
3576diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
3577index ab25689..c01f76c 100644
3578--- a/arch/arm/kernel/signal.c
3579+++ b/arch/arm/kernel/signal.c
3580@@ -694,18 +694,20 @@ struct page *get_signal_page(void)
3581
3582 addr = page_address(page);
3583
3584+ /* Poison the entire page */
3585+ memset32(addr, __opcode_to_mem_arm(0xe7fddef1),
3586+ PAGE_SIZE / sizeof(u32));
3587+
3588 /* Give the signal return code some randomness */
3589 offset = 0x200 + (get_random_int() & 0x7fc);
3590 signal_return_offset = offset;
3591
3592- /*
3593- * Copy signal return handlers into the vector page, and
3594- * set sigreturn to be a pointer to these.
3595- */
3596+ /* Copy signal return handlers into the page */
3597 memcpy(addr + offset, sigreturn_codes, sizeof(sigreturn_codes));
3598
3599- ptr = (unsigned long)addr + offset;
3600- flush_icache_range(ptr, ptr + sizeof(sigreturn_codes));
3601+ /* Flush out all instructions in this page */
3602+ ptr = (unsigned long)addr;
3603+ flush_icache_range(ptr, ptr + PAGE_SIZE);
3604
3605 return page;
3606 }
3607diff --git a/arch/arm/kernel/smccc-call.S b/arch/arm/kernel/smccc-call.S
3608index 00664c7..931df62 100644
3609--- a/arch/arm/kernel/smccc-call.S
3610+++ b/arch/arm/kernel/smccc-call.S
3611@@ -3,7 +3,9 @@
3612 * Copyright (c) 2015, Linaro Limited
3613 */
3614 #include <linux/linkage.h>
3615+#include <linux/arm-smccc.h>
3616
3617+#include <asm/asm-offsets.h>
3618 #include <asm/opcodes-sec.h>
3619 #include <asm/opcodes-virt.h>
3620 #include <asm/unwind.h>
3621@@ -27,7 +29,14 @@ UNWIND( .fnstart)
3622 UNWIND( .save {r4-r7})
3623 ldm r12, {r4-r7}
3624 \instr
3625- pop {r4-r7}
3626+ ldr r4, [sp, #36]
3627+ cmp r4, #0
3628+ beq 1f // No quirk structure
3629+ ldr r5, [r4, #ARM_SMCCC_QUIRK_ID_OFFS]
3630+ cmp r5, #ARM_SMCCC_QUIRK_QCOM_A6
3631+ bne 1f // No quirk present
3632+ str r6, [r4, #ARM_SMCCC_QUIRK_STATE_OFFS]
3633+1: pop {r4-r7}
3634 ldr r12, [sp, #(4 * 4)]
3635 stm r12, {r0-r3}
3636 bx lr
3637diff --git a/arch/arm/kernel/suspend.c b/arch/arm/kernel/suspend.c
3638index d080992..e126386 100644
3639--- a/arch/arm/kernel/suspend.c
3640+++ b/arch/arm/kernel/suspend.c
3641@@ -1,4 +1,5 @@
3642 // SPDX-License-Identifier: GPL-2.0
3643+#include <linux/ftrace.h>
3644 #include <linux/init.h>
3645 #include <linux/slab.h>
3646 #include <linux/mm_types.h>
3647@@ -27,12 +28,22 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
3648 return -EINVAL;
3649
3650 /*
3651+ * Function graph tracer state gets incosistent when the kernel
3652+ * calls functions that never return (aka suspend finishers) hence
3653+ * disable graph tracing during their execution.
3654+ */
3655+ pause_graph_tracing();
3656+
3657+ /*
3658 * Provide a temporary page table with an identity mapping for
3659 * the MMU-enable code, required for resuming. On successful
3660 * resume (indicated by a zero return code), we need to switch
3661 * back to the correct page tables.
3662 */
3663 ret = __cpu_suspend(arg, fn, __mpidr);
3664+
3665+ unpause_graph_tracing();
3666+
3667 if (ret == 0) {
3668 cpu_switch_mm(mm->pgd, mm);
3669 local_flush_bp_all();
3670@@ -46,7 +57,13 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
3671 int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
3672 {
3673 u32 __mpidr = cpu_logical_map(smp_processor_id());
3674- return __cpu_suspend(arg, fn, __mpidr);
3675+ int ret;
3676+
3677+ pause_graph_tracing();
3678+ ret = __cpu_suspend(arg, fn, __mpidr);
3679+ unpause_graph_tracing();
3680+
3681+ return ret;
3682 }
3683 #define idmap_pgd NULL
3684 #endif
3685diff --git a/arch/arm/kvm/hyp/tlb.c b/arch/arm/kvm/hyp/tlb.c
3686index 848f27b..80e6710 100644
3687--- a/arch/arm/kvm/hyp/tlb.c
3688+++ b/arch/arm/kvm/hyp/tlb.c
3689@@ -45,7 +45,7 @@ void __hyp_text __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa)
3690 __kvm_tlb_flush_vmid(kvm);
3691 }
3692
3693-void __hyp_text __kvm_tlb_flush_local_vmid(struct kvm_vcpu *vcpu)
3694+void __hyp_text __kvm_flush_cpu_context(struct kvm_vcpu *vcpu)
3695 {
3696 struct kvm *kvm = kern_hyp_va(kern_hyp_va(vcpu)->kvm);
3697
3698@@ -54,6 +54,7 @@ void __hyp_text __kvm_tlb_flush_local_vmid(struct kvm_vcpu *vcpu)
3699 isb();
3700
3701 write_sysreg(0, TLBIALL);
3702+ write_sysreg(0, ICIALLU);
3703 dsb(nsh);
3704 isb();
3705
3706diff --git a/arch/arm/mach-footbridge/cats-pci.c b/arch/arm/mach-footbridge/cats-pci.c
3707index 0b2fd7e..90b1e9b 100644
3708--- a/arch/arm/mach-footbridge/cats-pci.c
3709+++ b/arch/arm/mach-footbridge/cats-pci.c
3710@@ -15,14 +15,14 @@
3711 #include <asm/mach-types.h>
3712
3713 /* cats host-specific stuff */
3714-static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 };
3715+static int irqmap_cats[] = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 };
3716
3717 static u8 cats_no_swizzle(struct pci_dev *dev, u8 *pin)
3718 {
3719 return 0;
3720 }
3721
3722-static int __init cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
3723+static int cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
3724 {
3725 if (dev->irq >= 255)
3726 return -1; /* not a valid interrupt. */
3727diff --git a/arch/arm/mach-footbridge/dc21285.c b/arch/arm/mach-footbridge/dc21285.c
3728index 8b81a17..e17ec92 100644
3729--- a/arch/arm/mach-footbridge/dc21285.c
3730+++ b/arch/arm/mach-footbridge/dc21285.c
3731@@ -66,15 +66,15 @@ dc21285_read_config(struct pci_bus *bus, unsigned int devfn, int where,
3732 if (addr)
3733 switch (size) {
3734 case 1:
3735- asm("ldrb %0, [%1, %2]"
3736+ asm volatile("ldrb %0, [%1, %2]"
3737 : "=r" (v) : "r" (addr), "r" (where) : "cc");
3738 break;
3739 case 2:
3740- asm("ldrh %0, [%1, %2]"
3741+ asm volatile("ldrh %0, [%1, %2]"
3742 : "=r" (v) : "r" (addr), "r" (where) : "cc");
3743 break;
3744 case 4:
3745- asm("ldr %0, [%1, %2]"
3746+ asm volatile("ldr %0, [%1, %2]"
3747 : "=r" (v) : "r" (addr), "r" (where) : "cc");
3748 break;
3749 }
3750@@ -100,17 +100,17 @@ dc21285_write_config(struct pci_bus *bus, unsigned int devfn, int where,
3751 if (addr)
3752 switch (size) {
3753 case 1:
3754- asm("strb %0, [%1, %2]"
3755+ asm volatile("strb %0, [%1, %2]"
3756 : : "r" (value), "r" (addr), "r" (where)
3757 : "cc");
3758 break;
3759 case 2:
3760- asm("strh %0, [%1, %2]"
3761+ asm volatile("strh %0, [%1, %2]"
3762 : : "r" (value), "r" (addr), "r" (where)
3763 : "cc");
3764 break;
3765 case 4:
3766- asm("str %0, [%1, %2]"
3767+ asm volatile("str %0, [%1, %2]"
3768 : : "r" (value), "r" (addr), "r" (where)
3769 : "cc");
3770 break;
3771diff --git a/arch/arm/mach-footbridge/ebsa285-pci.c b/arch/arm/mach-footbridge/ebsa285-pci.c
3772index 6f28aaa..c3f280d 100644
3773--- a/arch/arm/mach-footbridge/ebsa285-pci.c
3774+++ b/arch/arm/mach-footbridge/ebsa285-pci.c
3775@@ -14,9 +14,9 @@
3776 #include <asm/mach/pci.h>
3777 #include <asm/mach-types.h>
3778
3779-static int irqmap_ebsa285[] __initdata = { IRQ_IN3, IRQ_IN1, IRQ_IN0, IRQ_PCI };
3780+static int irqmap_ebsa285[] = { IRQ_IN3, IRQ_IN1, IRQ_IN0, IRQ_PCI };
3781
3782-static int __init ebsa285_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
3783+static int ebsa285_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
3784 {
3785 if (dev->vendor == PCI_VENDOR_ID_CONTAQ &&
3786 dev->device == PCI_DEVICE_ID_CONTAQ_82C693)
3787diff --git a/arch/arm/mach-footbridge/netwinder-pci.c b/arch/arm/mach-footbridge/netwinder-pci.c
3788index 9473aa0..e830439 100644
3789--- a/arch/arm/mach-footbridge/netwinder-pci.c
3790+++ b/arch/arm/mach-footbridge/netwinder-pci.c
3791@@ -18,7 +18,7 @@
3792 * We now use the slot ID instead of the device identifiers to select
3793 * which interrupt is routed where.
3794 */
3795-static int __init netwinder_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
3796+static int netwinder_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
3797 {
3798 switch (slot) {
3799 case 0: /* host bridge */
3800diff --git a/arch/arm/mach-footbridge/personal-pci.c b/arch/arm/mach-footbridge/personal-pci.c
3801index 4391e43..9d19aa9 100644
3802--- a/arch/arm/mach-footbridge/personal-pci.c
3803+++ b/arch/arm/mach-footbridge/personal-pci.c
3804@@ -14,13 +14,12 @@
3805 #include <asm/mach/pci.h>
3806 #include <asm/mach-types.h>
3807
3808-static int irqmap_personal_server[] __initdata = {
3809+static int irqmap_personal_server[] = {
3810 IRQ_IN0, IRQ_IN1, IRQ_IN2, IRQ_IN3, 0, 0, 0,
3811 IRQ_DOORBELLHOST, IRQ_DMA1, IRQ_DMA2, IRQ_PCI
3812 };
3813
3814-static int __init personal_server_map_irq(const struct pci_dev *dev, u8 slot,
3815- u8 pin)
3816+static int personal_server_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
3817 {
3818 unsigned char line;
3819
3820diff --git a/arch/arm/mach-imx/suspend-imx6.S b/arch/arm/mach-imx/suspend-imx6.S
3821index 1eabf2d..e06f946 100644
3822--- a/arch/arm/mach-imx/suspend-imx6.S
3823+++ b/arch/arm/mach-imx/suspend-imx6.S
3824@@ -67,6 +67,7 @@
3825 #define MX6Q_CCM_CCR 0x0
3826
3827 .align 3
3828+ .arm
3829
3830 .macro sync_l2_cache
3831
3832diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig
3833index f7211b5..165c184 100644
3834--- a/arch/arm/mach-ixp4xx/Kconfig
3835+++ b/arch/arm/mach-ixp4xx/Kconfig
3836@@ -13,7 +13,6 @@ config MACH_IXP4XX_OF
3837 select I2C
3838 select I2C_IOP3XX
3839 select PCI
3840- select TIMER_OF
3841 select USE_OF
3842 help
3843 Say 'Y' here to support Device Tree-based IXP4xx platforms.
3844diff --git a/arch/arm/mach-keystone/keystone.c b/arch/arm/mach-keystone/keystone.c
3845index 638808c..697aded 100644
3846--- a/arch/arm/mach-keystone/keystone.c
3847+++ b/arch/arm/mach-keystone/keystone.c
3848@@ -62,7 +62,7 @@ static void __init keystone_init(void)
3849 static long long __init keystone_pv_fixup(void)
3850 {
3851 long long offset;
3852- phys_addr_t mem_start, mem_end;
3853+ u64 mem_start, mem_end;
3854
3855 mem_start = memblock_start_of_DRAM();
3856 mem_end = memblock_end_of_DRAM();
3857@@ -75,7 +75,7 @@ static long long __init keystone_pv_fixup(void)
3858 if (mem_start < KEYSTONE_HIGH_PHYS_START ||
3859 mem_end > KEYSTONE_HIGH_PHYS_END) {
3860 pr_crit("Invalid address space for memory (%08llx-%08llx)\n",
3861- (u64)mem_start, (u64)mem_end);
3862+ mem_start, mem_end);
3863 return 0;
3864 }
3865
3866diff --git a/arch/arm/mach-omap1/ams-delta-fiq-handler.S b/arch/arm/mach-omap1/ams-delta-fiq-handler.S
3867index 14a6c3e..f745a65 100644
3868--- a/arch/arm/mach-omap1/ams-delta-fiq-handler.S
3869+++ b/arch/arm/mach-omap1/ams-delta-fiq-handler.S
3870@@ -15,6 +15,7 @@
3871 #include <linux/platform_data/gpio-omap.h>
3872
3873 #include <asm/assembler.h>
3874+#include <asm/irq.h>
3875
3876 #include "ams-delta-fiq.h"
3877 #include "board-ams-delta.h"
3878diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c
3879index a92d277..de37027 100644
3880--- a/arch/arm/mach-omap2/cpuidle44xx.c
3881+++ b/arch/arm/mach-omap2/cpuidle44xx.c
3882@@ -151,10 +151,10 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
3883 (cx->mpu_logic_state == PWRDM_POWER_OFF);
3884
3885 /* Enter broadcast mode for periodic timers */
3886- tick_broadcast_enable();
3887+ RCU_NONIDLE(tick_broadcast_enable());
3888
3889 /* Enter broadcast mode for one-shot timers */
3890- tick_broadcast_enter();
3891+ RCU_NONIDLE(tick_broadcast_enter());
3892
3893 /*
3894 * Call idle CPU PM enter notifier chain so that
3895@@ -166,7 +166,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
3896
3897 if (dev->cpu == 0) {
3898 pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state);
3899- omap_set_pwrdm_state(mpu_pd, cx->mpu_state);
3900+ RCU_NONIDLE(omap_set_pwrdm_state(mpu_pd, cx->mpu_state));
3901
3902 /*
3903 * Call idle CPU cluster PM enter notifier chain
3904@@ -175,8 +175,11 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
3905 if (mpuss_can_lose_context) {
3906 error = cpu_cluster_pm_enter();
3907 if (error) {
3908- omap_set_pwrdm_state(mpu_pd, PWRDM_POWER_ON);
3909- goto cpu_cluster_pm_out;
3910+ index = 0;
3911+ cx = state_ptr + index;
3912+ pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state);
3913+ RCU_NONIDLE(omap_set_pwrdm_state(mpu_pd, cx->mpu_state));
3914+ mpuss_can_lose_context = 0;
3915 }
3916 }
3917 }
3918@@ -184,7 +187,6 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
3919 omap4_enter_lowpower(dev->cpu, cx->cpu_state);
3920 cpu_done[dev->cpu] = true;
3921
3922-cpu_cluster_pm_out:
3923 /* Wakeup CPU1 only if it is not offlined */
3924 if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) {
3925
3926@@ -192,9 +194,9 @@ cpu_cluster_pm_out:
3927 mpuss_can_lose_context)
3928 gic_dist_disable();
3929
3930- clkdm_deny_idle(cpu_clkdm[1]);
3931- omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON);
3932- clkdm_allow_idle(cpu_clkdm[1]);
3933+ RCU_NONIDLE(clkdm_deny_idle(cpu_clkdm[1]));
3934+ RCU_NONIDLE(omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON));
3935+ RCU_NONIDLE(clkdm_allow_idle(cpu_clkdm[1]));
3936
3937 if (IS_PM44XX_ERRATUM(PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD) &&
3938 mpuss_can_lose_context) {
3939@@ -220,7 +222,7 @@ cpu_cluster_pm_out:
3940 cpu_pm_exit();
3941
3942 cpu_pm_out:
3943- tick_broadcast_exit();
3944+ RCU_NONIDLE(tick_broadcast_exit());
3945
3946 fail:
3947 cpuidle_coupled_parallel_barrier(dev, &abort_barrier);
3948diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
3949index 3acb419..f85a0fd 100644
3950--- a/arch/arm/mach-omap2/omap_device.c
3951+++ b/arch/arm/mach-omap2/omap_device.c
3952@@ -234,10 +234,12 @@ static int _omap_device_notifier_call(struct notifier_block *nb,
3953 break;
3954 case BUS_NOTIFY_BIND_DRIVER:
3955 od = to_omap_device(pdev);
3956- if (od && (od->_state == OMAP_DEVICE_STATE_ENABLED) &&
3957- pm_runtime_status_suspended(dev)) {
3958+ if (od) {
3959 od->_driver_status = BUS_NOTIFY_BIND_DRIVER;
3960- pm_runtime_set_active(dev);
3961+ if (od->_state == OMAP_DEVICE_STATE_ENABLED &&
3962+ pm_runtime_status_suspended(dev)) {
3963+ pm_runtime_set_active(dev);
3964+ }
3965 }
3966 break;
3967 case BUS_NOTIFY_ADD_DEVICE:
3968diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
3969index 933b693..a0ca5e7 100644
3970--- a/arch/arm/mach-sunxi/sunxi.c
3971+++ b/arch/arm/mach-sunxi/sunxi.c
3972@@ -66,6 +66,7 @@ static const char * const sun8i_board_dt_compat[] = {
3973 "allwinner,sun8i-h2-plus",
3974 "allwinner,sun8i-h3",
3975 "allwinner,sun8i-r40",
3976+ "allwinner,sun8i-v3",
3977 "allwinner,sun8i-v3s",
3978 NULL,
3979 };
3980diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
3981index 6f19ba5..0804a6a 100644
3982--- a/arch/arm/mm/init.c
3983+++ b/arch/arm/mm/init.c
3984@@ -274,7 +274,6 @@ void __init arm_memblock_init(const struct machine_desc *mdesc)
3985 if (mdesc->reserve)
3986 mdesc->reserve();
3987
3988- early_init_fdt_reserve_self();
3989 early_init_fdt_scan_reserved_mem();
3990
3991 /* reserve memory for DMA contiguous allocations */
3992diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
3993index 48c2888..ee943ac 100644
3994--- a/arch/arm/mm/mmu.c
3995+++ b/arch/arm/mm/mmu.c
3996@@ -39,6 +39,8 @@
3997 #include "mm.h"
3998 #include "tcm.h"
3999
4000+extern unsigned long __atags_pointer;
4001+
4002 /*
4003 * empty_zero_page is a special page that is used for
4004 * zero-initialized data and COW.
4005@@ -962,7 +964,7 @@ static void __init create_mapping(struct map_desc *md)
4006 return;
4007 }
4008
4009- if ((md->type == MT_DEVICE || md->type == MT_ROM) &&
4010+ if (md->type == MT_DEVICE &&
4011 md->virtual >= PAGE_OFFSET && md->virtual < FIXADDR_START &&
4012 (md->virtual < VMALLOC_START || md->virtual >= VMALLOC_END)) {
4013 pr_warn("BUG: mapping for 0x%08llx at 0x%08lx out of vmalloc space\n",
4014@@ -1352,6 +1354,15 @@ static void __init devicemaps_init(const struct machine_desc *mdesc)
4015 for (addr = VMALLOC_START; addr < (FIXADDR_TOP & PMD_MASK); addr += PMD_SIZE)
4016 pmd_clear(pmd_off_k(addr));
4017
4018+ if (__atags_pointer) {
4019+ /* create a read-only mapping of the device tree */
4020+ map.pfn = __phys_to_pfn(__atags_pointer & SECTION_MASK);
4021+ map.virtual = FDT_FIXED_BASE;
4022+ map.length = FDT_FIXED_SIZE;
4023+ map.type = MT_ROM;
4024+ create_mapping(&map);
4025+ }
4026+
4027 /*
4028 * Map the kernel if it is XIP.
4029 * It is always first in the modulearea.
4030@@ -1512,8 +1523,7 @@ static void __init map_lowmem(void)
4031 }
4032
4033 #ifdef CONFIG_ARM_PV_FIXUP
4034-extern unsigned long __atags_pointer;
4035-typedef void pgtables_remap(long long offset, unsigned long pgd, void *bdata);
4036+typedef void pgtables_remap(long long offset, unsigned long pgd);
4037 pgtables_remap lpae_pgtables_remap_asm;
4038
4039 /*
4040@@ -1526,7 +1536,6 @@ static void __init early_paging_init(const struct machine_desc *mdesc)
4041 unsigned long pa_pgd;
4042 unsigned int cr, ttbcr;
4043 long long offset;
4044- void *boot_data;
4045
4046 if (!mdesc->pv_fixup)
4047 return;
4048@@ -1543,7 +1552,6 @@ static void __init early_paging_init(const struct machine_desc *mdesc)
4049 */
4050 lpae_pgtables_remap = (pgtables_remap *)(unsigned long)__pa(lpae_pgtables_remap_asm);
4051 pa_pgd = __pa(swapper_pg_dir);
4052- boot_data = __va(__atags_pointer);
4053 barrier();
4054
4055 pr_info("Switching physical address space to 0x%08llx\n",
4056@@ -1579,7 +1587,7 @@ static void __init early_paging_init(const struct machine_desc *mdesc)
4057 * needs to be assembly. It's fairly simple, as we're using the
4058 * temporary tables setup by the initial assembly code.
4059 */
4060- lpae_pgtables_remap(offset, pa_pgd, boot_data);
4061+ lpae_pgtables_remap(offset, pa_pgd);
4062
4063 /* Re-enable the caches and cacheable TLB walks */
4064 asm volatile("mcr p15, 0, %0, c2, c0, 2" : : "r" (ttbcr));
4065diff --git a/arch/arm/mm/pv-fixup-asm.S b/arch/arm/mm/pv-fixup-asm.S
4066index 7697789..6d081d1 100644
4067--- a/arch/arm/mm/pv-fixup-asm.S
4068+++ b/arch/arm/mm/pv-fixup-asm.S
4069@@ -39,8 +39,8 @@ ENTRY(lpae_pgtables_remap_asm)
4070
4071 /* Update level 2 entries for the boot data */
4072 add r7, r2, #0x1000
4073- add r7, r7, r3, lsr #SECTION_SHIFT - L2_ORDER
4074- bic r7, r7, #(1 << L2_ORDER) - 1
4075+ movw r3, #FDT_FIXED_BASE >> (SECTION_SHIFT - L2_ORDER)
4076+ add r7, r7, r3
4077 ldrd r4, r5, [r7]
4078 adds r4, r4, r0
4079 adc r5, r5, r1
4080diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
4081index 301e572..790c87e 100644
4082--- a/arch/arm/plat-samsung/Kconfig
4083+++ b/arch/arm/plat-samsung/Kconfig
4084@@ -241,6 +241,7 @@ config SAMSUNG_PM_DEBUG
4085 depends on PM && DEBUG_KERNEL
4086 depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
4087 depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART
4088+ depends on DEBUG_LL && MMU
4089 help
4090 Say Y here if you want verbose debugging from the PM Suspend and
4091 Resume code. See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
4092diff --git a/arch/arm/probes/kprobes/opt-arm.c b/arch/arm/probes/kprobes/opt-arm.c
4093index 7a449df..c781801 100644
4094--- a/arch/arm/probes/kprobes/opt-arm.c
4095+++ b/arch/arm/probes/kprobes/opt-arm.c
4096@@ -85,21 +85,21 @@ asm (
4097 "optprobe_template_end:\n");
4098
4099 #define TMPL_VAL_IDX \
4100- ((unsigned long *)&optprobe_template_val - (unsigned long *)&optprobe_template_entry)
4101+ ((unsigned long *)optprobe_template_val - (unsigned long *)optprobe_template_entry)
4102 #define TMPL_CALL_IDX \
4103- ((unsigned long *)&optprobe_template_call - (unsigned long *)&optprobe_template_entry)
4104+ ((unsigned long *)optprobe_template_call - (unsigned long *)optprobe_template_entry)
4105 #define TMPL_END_IDX \
4106- ((unsigned long *)&optprobe_template_end - (unsigned long *)&optprobe_template_entry)
4107+ ((unsigned long *)optprobe_template_end - (unsigned long *)optprobe_template_entry)
4108 #define TMPL_ADD_SP \
4109- ((unsigned long *)&optprobe_template_add_sp - (unsigned long *)&optprobe_template_entry)
4110+ ((unsigned long *)optprobe_template_add_sp - (unsigned long *)optprobe_template_entry)
4111 #define TMPL_SUB_SP \
4112- ((unsigned long *)&optprobe_template_sub_sp - (unsigned long *)&optprobe_template_entry)
4113+ ((unsigned long *)optprobe_template_sub_sp - (unsigned long *)optprobe_template_entry)
4114 #define TMPL_RESTORE_BEGIN \
4115- ((unsigned long *)&optprobe_template_restore_begin - (unsigned long *)&optprobe_template_entry)
4116+ ((unsigned long *)optprobe_template_restore_begin - (unsigned long *)optprobe_template_entry)
4117 #define TMPL_RESTORE_ORIGN_INSN \
4118- ((unsigned long *)&optprobe_template_restore_orig_insn - (unsigned long *)&optprobe_template_entry)
4119+ ((unsigned long *)optprobe_template_restore_orig_insn - (unsigned long *)optprobe_template_entry)
4120 #define TMPL_RESTORE_END \
4121- ((unsigned long *)&optprobe_template_restore_end - (unsigned long *)&optprobe_template_entry)
4122+ ((unsigned long *)optprobe_template_restore_end - (unsigned long *)optprobe_template_entry)
4123
4124 /*
4125 * ARM can always optimize an instruction when using ARM ISA, except
4126@@ -234,7 +234,7 @@ int arch_prepare_optimized_kprobe(struct optimized_kprobe *op, struct kprobe *or
4127 }
4128
4129 /* Copy arch-dep-instance from template. */
4130- memcpy(code, (unsigned long *)&optprobe_template_entry,
4131+ memcpy(code, (unsigned long *)optprobe_template_entry,
4132 TMPL_END_IDX * sizeof(kprobe_opcode_t));
4133
4134 /* Adjust buffer according to instruction. */
4135diff --git a/arch/arm/probes/uprobes/core.c b/arch/arm/probes/uprobes/core.c
4136index c4b49b3..f5f790c 100644
4137--- a/arch/arm/probes/uprobes/core.c
4138+++ b/arch/arm/probes/uprobes/core.c
4139@@ -204,7 +204,7 @@ unsigned long uprobe_get_swbp_addr(struct pt_regs *regs)
4140 static struct undef_hook uprobes_arm_break_hook = {
4141 .instr_mask = 0x0fffffff,
4142 .instr_val = (UPROBE_SWBP_ARM_INSN & 0x0fffffff),
4143- .cpsr_mask = MODE_MASK,
4144+ .cpsr_mask = (PSR_T_BIT | MODE_MASK),
4145 .cpsr_val = USR_MODE,
4146 .fn = uprobe_trap_handler,
4147 };
4148@@ -212,7 +212,7 @@ static struct undef_hook uprobes_arm_break_hook = {
4149 static struct undef_hook uprobes_arm_ss_hook = {
4150 .instr_mask = 0x0fffffff,
4151 .instr_val = (UPROBE_SS_ARM_INSN & 0x0fffffff),
4152- .cpsr_mask = MODE_MASK,
4153+ .cpsr_mask = (PSR_T_BIT | MODE_MASK),
4154 .cpsr_val = USR_MODE,
4155 .fn = uprobe_trap_handler,
4156 };
4157diff --git a/arch/arm/vfp/entry.S b/arch/arm/vfp/entry.S
4158index 0186cf9..27b0a1f 100644
4159--- a/arch/arm/vfp/entry.S
4160+++ b/arch/arm/vfp/entry.S
4161@@ -37,20 +37,3 @@ ENDPROC(vfp_null_entry)
4162 .align 2
4163 .LCvfp:
4164 .word vfp_vector
4165-
4166-@ This code is called if the VFP does not exist. It needs to flag the
4167-@ failure to the VFP initialisation code.
4168-
4169- __INIT
4170-ENTRY(vfp_testing_entry)
4171- dec_preempt_count_ti r10, r4
4172- ldr r0, VFP_arch_address
4173- str r0, [r0] @ set to non-zero value
4174- ret r9 @ we have handled the fault
4175-ENDPROC(vfp_testing_entry)
4176-
4177- .align 2
4178-VFP_arch_address:
4179- .word VFP_arch
4180-
4181- __FINIT
4182diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
4183index b2e5602..b530db8 100644
4184--- a/arch/arm/vfp/vfphw.S
4185+++ b/arch/arm/vfp/vfphw.S
4186@@ -78,11 +78,6 @@
4187 ENTRY(vfp_support_entry)
4188 DBGSTR3 "instr %08x pc %08x state %p", r0, r2, r10
4189
4190- ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
4191- and r3, r3, #MODE_MASK @ are supported in kernel mode
4192- teq r3, #USR_MODE
4193- bne vfp_kmode_exception @ Returns through lr
4194-
4195 VFPFMRX r1, FPEXC @ Is the VFP enabled?
4196 DBGSTR1 "fpexc %08x", r1
4197 tst r1, #FPEXC_EN
4198diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
4199index 8c9e7f9..2cb355c 100644
4200--- a/arch/arm/vfp/vfpmodule.c
4201+++ b/arch/arm/vfp/vfpmodule.c
4202@@ -23,6 +23,7 @@
4203 #include <asm/cputype.h>
4204 #include <asm/system_info.h>
4205 #include <asm/thread_notify.h>
4206+#include <asm/traps.h>
4207 #include <asm/vfp.h>
4208
4209 #include "vfpinstr.h"
4210@@ -31,7 +32,6 @@
4211 /*
4212 * Our undef handlers (in entry.S)
4213 */
4214-asmlinkage void vfp_testing_entry(void);
4215 asmlinkage void vfp_support_entry(void);
4216 asmlinkage void vfp_null_entry(void);
4217
4218@@ -42,7 +42,7 @@ asmlinkage void (*vfp_vector)(void) = vfp_null_entry;
4219 * Used in startup: set to non-zero if VFP checks fail
4220 * After startup, holds VFP architecture
4221 */
4222-unsigned int VFP_arch;
4223+static unsigned int __initdata VFP_arch;
4224
4225 /*
4226 * The pointer to the vfpstate structure of the thread which currently
4227@@ -436,7 +436,7 @@ static void vfp_enable(void *unused)
4228 * present on all CPUs within a SMP complex. Needs to be called prior to
4229 * vfp_init().
4230 */
4231-void vfp_disable(void)
4232+void __init vfp_disable(void)
4233 {
4234 if (VFP_arch) {
4235 pr_debug("%s: should be called prior to vfp_init\n", __func__);
4236@@ -642,7 +642,9 @@ static int vfp_starting_cpu(unsigned int unused)
4237 return 0;
4238 }
4239
4240-void vfp_kmode_exception(void)
4241+#ifdef CONFIG_KERNEL_MODE_NEON
4242+
4243+static int vfp_kmode_exception(struct pt_regs *regs, unsigned int instr)
4244 {
4245 /*
4246 * If we reach this point, a floating point exception has been raised
4247@@ -660,9 +662,51 @@ void vfp_kmode_exception(void)
4248 pr_crit("BUG: unsupported FP instruction in kernel mode\n");
4249 else
4250 pr_crit("BUG: FP instruction issued in kernel mode with FP unit disabled\n");
4251+ pr_crit("FPEXC == 0x%08x\n", fmrx(FPEXC));
4252+ return 1;
4253 }
4254
4255-#ifdef CONFIG_KERNEL_MODE_NEON
4256+static struct undef_hook vfp_kmode_exception_hook[] = {{
4257+ .instr_mask = 0xfe000000,
4258+ .instr_val = 0xf2000000,
4259+ .cpsr_mask = MODE_MASK | PSR_T_BIT,
4260+ .cpsr_val = SVC_MODE,
4261+ .fn = vfp_kmode_exception,
4262+}, {
4263+ .instr_mask = 0xff100000,
4264+ .instr_val = 0xf4000000,
4265+ .cpsr_mask = MODE_MASK | PSR_T_BIT,
4266+ .cpsr_val = SVC_MODE,
4267+ .fn = vfp_kmode_exception,
4268+}, {
4269+ .instr_mask = 0xef000000,
4270+ .instr_val = 0xef000000,
4271+ .cpsr_mask = MODE_MASK | PSR_T_BIT,
4272+ .cpsr_val = SVC_MODE | PSR_T_BIT,
4273+ .fn = vfp_kmode_exception,
4274+}, {
4275+ .instr_mask = 0xff100000,
4276+ .instr_val = 0xf9000000,
4277+ .cpsr_mask = MODE_MASK | PSR_T_BIT,
4278+ .cpsr_val = SVC_MODE | PSR_T_BIT,
4279+ .fn = vfp_kmode_exception,
4280+}, {
4281+ .instr_mask = 0x0c000e00,
4282+ .instr_val = 0x0c000a00,
4283+ .cpsr_mask = MODE_MASK,
4284+ .cpsr_val = SVC_MODE,
4285+ .fn = vfp_kmode_exception,
4286+}};
4287+
4288+static int __init vfp_kmode_exception_hook_init(void)
4289+{
4290+ int i;
4291+
4292+ for (i = 0; i < ARRAY_SIZE(vfp_kmode_exception_hook); i++)
4293+ register_undef_hook(&vfp_kmode_exception_hook[i]);
4294+ return 0;
4295+}
4296+subsys_initcall(vfp_kmode_exception_hook_init);
4297
4298 /*
4299 * Kernel-side NEON support functions
4300@@ -708,6 +752,21 @@ EXPORT_SYMBOL(kernel_neon_end);
4301
4302 #endif /* CONFIG_KERNEL_MODE_NEON */
4303
4304+static int __init vfp_detect(struct pt_regs *regs, unsigned int instr)
4305+{
4306+ VFP_arch = UINT_MAX; /* mark as not present */
4307+ regs->ARM_pc += 4;
4308+ return 0;
4309+}
4310+
4311+static struct undef_hook vfp_detect_hook __initdata = {
4312+ .instr_mask = 0x0c000e00,
4313+ .instr_val = 0x0c000a00,
4314+ .cpsr_mask = MODE_MASK,
4315+ .cpsr_val = SVC_MODE,
4316+ .fn = vfp_detect,
4317+};
4318+
4319 /*
4320 * VFP support code initialisation.
4321 */
4322@@ -728,10 +787,11 @@ static int __init vfp_init(void)
4323 * The handler is already setup to just log calls, so
4324 * we just need to read the VFPSID register.
4325 */
4326- vfp_vector = vfp_testing_entry;
4327+ register_undef_hook(&vfp_detect_hook);
4328 barrier();
4329 vfpsid = fmrx(FPSID);
4330 barrier();
4331+ unregister_undef_hook(&vfp_detect_hook);
4332 vfp_vector = vfp_null_entry;
4333
4334 pr_info("VFP support v0.3: ");
4335diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
4336index dd6804a..57dfc13 100644
4337--- a/arch/arm/xen/enlighten.c
4338+++ b/arch/arm/xen/enlighten.c
4339@@ -370,8 +370,6 @@ static int __init xen_guest_init(void)
4340 return -ENOMEM;
4341 }
4342 gnttab_init();
4343- if (!xen_initial_domain())
4344- xenbus_probe(NULL);
4345
4346 /*
4347 * Making sure board specific code will not set up ops for
4348diff --git a/arch/arm/xen/p2m.c b/arch/arm/xen/p2m.c
4349index e52950a..acb4645 100644
4350--- a/arch/arm/xen/p2m.c
4351+++ b/arch/arm/xen/p2m.c
4352@@ -93,10 +93,39 @@ int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
4353 int i;
4354
4355 for (i = 0; i < count; i++) {
4356+ struct gnttab_unmap_grant_ref unmap;
4357+ int rc;
4358+
4359 if (map_ops[i].status)
4360 continue;
4361- set_phys_to_machine(map_ops[i].host_addr >> XEN_PAGE_SHIFT,
4362- map_ops[i].dev_bus_addr >> XEN_PAGE_SHIFT);
4363+ if (likely(set_phys_to_machine(map_ops[i].host_addr >> XEN_PAGE_SHIFT,
4364+ map_ops[i].dev_bus_addr >> XEN_PAGE_SHIFT)))
4365+ continue;
4366+
4367+ /*
4368+ * Signal an error for this slot. This in turn requires
4369+ * immediate unmapping.
4370+ */
4371+ map_ops[i].status = GNTST_general_error;
4372+ unmap.host_addr = map_ops[i].host_addr,
4373+ unmap.handle = map_ops[i].handle;
4374+ map_ops[i].handle = ~0;
4375+ if (map_ops[i].flags & GNTMAP_device_map)
4376+ unmap.dev_bus_addr = map_ops[i].dev_bus_addr;
4377+ else
4378+ unmap.dev_bus_addr = 0;
4379+
4380+ /*
4381+ * Pre-populate the status field, to be recognizable in
4382+ * the log message below.
4383+ */
4384+ unmap.status = 1;
4385+
4386+ rc = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,
4387+ &unmap, 1);
4388+ if (rc || unmap.status != GNTST_okay)
4389+ pr_err_once("gnttab unmap failed: rc=%d st=%d\n",
4390+ rc, unmap.status);
4391 }
4392
4393 return 0;
4394diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
4395index a813469..e4b35c4 100644
4396--- a/arch/arm64/Kconfig
4397+++ b/arch/arm64/Kconfig
4398@@ -494,7 +494,7 @@ config ARM64_ERRATUM_1024718
4399 help
4400 This option adds a workaround for ARM Cortex-A55 Erratum 1024718.
4401
4402- Affected Cortex-A55 cores (r0p0, r0p1, r1p0) could cause incorrect
4403+ Affected Cortex-A55 cores (all revisions) could cause incorrect
4404 update of the hardware dirty bit when the DBM/AP bits are updated
4405 without a break-before-make. The workaround is to disable the usage
4406 of hardware DBM locally on the affected cores. CPUs not affected by
4407diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
4408index 16d7614..9dccf4d 100644
4409--- a/arch/arm64/Kconfig.platforms
4410+++ b/arch/arm64/Kconfig.platforms
4411@@ -54,6 +54,7 @@ config ARCH_BCM_IPROC
4412 config ARCH_BERLIN
4413 bool "Marvell Berlin SoC Family"
4414 select DW_APB_ICTL
4415+ select DW_APB_TIMER_OF
4416 select GPIOLIB
4417 select PINCTRL
4418 help
4419diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
4420index 96abe55..cd8f3cd 100644
4421--- a/arch/arm64/Makefile
4422+++ b/arch/arm64/Makefile
4423@@ -10,7 +10,7 @@
4424 #
4425 # Copyright (C) 1995-2001 by Russell King
4426
4427-LDFLAGS_vmlinux :=--no-undefined -X
4428+LDFLAGS_vmlinux :=--no-undefined -X -z norelro
4429 CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET)
4430 GZFLAGS :=-9
4431
4432@@ -18,7 +18,7 @@ ifeq ($(CONFIG_RELOCATABLE), y)
4433 # Pass --no-apply-dynamic-relocs to restore pre-binutils-2.27 behaviour
4434 # for relative relocs, since this leads to better Image compression
4435 # with the relocation offsets always being zero.
4436-LDFLAGS_vmlinux += -shared -Bsymbolic -z notext -z norelro \
4437+LDFLAGS_vmlinux += -shared -Bsymbolic -z notext \
4438 $(call ld-option, --no-apply-dynamic-relocs)
4439 endif
4440
4441diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
4442index 208373e..7d1e89e 100644
4443--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
4444+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
4445@@ -127,7 +127,7 @@
4446 &emac {
4447 pinctrl-names = "default";
4448 pinctrl-0 = <&rgmii_pins>;
4449- phy-mode = "rgmii";
4450+ phy-mode = "rgmii-id";
4451 phy-handle = <&ext_rgmii_phy>;
4452 phy-supply = <&reg_dc1sw>;
4453 status = "okay";
4454diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
4455index 04446e4..a0db025 100644
4456--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
4457+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
4458@@ -129,7 +129,7 @@
4459 &emac {
4460 pinctrl-names = "default";
4461 pinctrl-0 = <&rgmii_pins>;
4462- phy-mode = "rgmii";
4463+ phy-mode = "rgmii-id";
4464 phy-handle = <&ext_rgmii_phy>;
4465 phy-supply = <&reg_gmac_3v3>;
4466 status = "okay";
4467diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts
4468index 72d6961..7eb252a 100644
4469--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts
4470+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts
4471@@ -11,3 +11,7 @@
4472 compatible = "pine64,pine64-lts", "allwinner,sun50i-r18",
4473 "allwinner,sun50i-a64";
4474 };
4475+
4476+&mmc0 {
4477+ broken-cd; /* card detect is broken on *some* boards */
4478+};
4479diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
4480index d5b6e81..5d0905f 100644
4481--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
4482+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
4483@@ -52,7 +52,7 @@
4484 &emac {
4485 pinctrl-names = "default";
4486 pinctrl-0 = <&rgmii_pins>;
4487- phy-mode = "rgmii";
4488+ phy-mode = "rgmii-txid";
4489 phy-handle = <&ext_rgmii_phy>;
4490 status = "okay";
4491 };
4492diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
4493index 78c82a6..bb1de82 100644
4494--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
4495+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
4496@@ -103,8 +103,6 @@
4497 };
4498
4499 &ehci0 {
4500- phys = <&usbphy 0>;
4501- phy-names = "usb";
4502 status = "okay";
4503 };
4504
4505@@ -142,6 +140,7 @@
4506 pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
4507 vmmc-supply = <&reg_dcdc1>;
4508 vqmmc-supply = <&reg_eldo1>;
4509+ max-frequency = <200000000>;
4510 bus-width = <8>;
4511 non-removable;
4512 cap-mmc-hw-reset;
4513@@ -150,8 +149,6 @@
4514 };
4515
4516 &ohci0 {
4517- phys = <&usbphy 0>;
4518- phy-names = "usb";
4519 status = "okay";
4520 };
4521
4522diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
4523index 9d20e13..19e5b7e 100644
4524--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
4525+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
4526@@ -55,10 +55,9 @@
4527 pinctrl-names = "default";
4528 pinctrl-0 = <&mmc0_pins>;
4529 vmmc-supply = <&reg_dcdc1>;
4530- non-removable;
4531 disable-wp;
4532 bus-width = <4>;
4533- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
4534+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 push-pull switch */
4535 status = "okay";
4536 };
4537
4538diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
4539index 367699c..cf9e323 100644
4540--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
4541+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
4542@@ -476,7 +476,7 @@
4543 resets = <&ccu RST_BUS_MMC2>;
4544 reset-names = "ahb";
4545 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
4546- max-frequency = <200000000>;
4547+ max-frequency = <150000000>;
4548 status = "disabled";
4549 #address-cells = <1>;
4550 #size-cells = <0>;
4551@@ -530,6 +530,8 @@
4552 <&ccu CLK_USB_OHCI0>;
4553 resets = <&ccu RST_BUS_OHCI0>,
4554 <&ccu RST_BUS_EHCI0>;
4555+ phys = <&usbphy 0>;
4556+ phy-names = "usb";
4557 status = "disabled";
4558 };
4559
4560@@ -540,6 +542,8 @@
4561 clocks = <&ccu CLK_BUS_OHCI0>,
4562 <&ccu CLK_USB_OHCI0>;
4563 resets = <&ccu RST_BUS_OHCI0>;
4564+ phys = <&usbphy 0>;
4565+ phy-names = "usb";
4566 status = "disabled";
4567 };
4568
4569diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
4570index e126c1c..4d357b8 100644
4571--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
4572+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
4573@@ -157,7 +157,7 @@
4574 pinctrl-0 = <&emac_rgmii_pins>;
4575 phy-supply = <&reg_gmac_3v3>;
4576 phy-handle = <&ext_rgmii_phy>;
4577- phy-mode = "rgmii";
4578+ phy-mode = "rgmii-id";
4579 status = "okay";
4580 };
4581
4582diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
4583index d9b3ed2..f103403 100644
4584--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
4585+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
4586@@ -164,7 +164,7 @@
4587 pinctrl-0 = <&emac_rgmii_pins>;
4588 phy-supply = <&reg_gmac_3v3>;
4589 phy-handle = <&ext_rgmii_phy>;
4590- phy-mode = "rgmii";
4591+ phy-mode = "rgmii-id";
4592 status = "okay";
4593 };
4594
4595diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
4596index 1d05d57..0a04730 100644
4597--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
4598+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
4599@@ -83,7 +83,7 @@
4600 &emac {
4601 pinctrl-names = "default";
4602 pinctrl-0 = <&ext_rgmii_pins>;
4603- phy-mode = "rgmii";
4604+ phy-mode = "rgmii-id";
4605 phy-handle = <&ext_rgmii_phy>;
4606 phy-supply = <&reg_aldo2>;
4607 status = "okay";
4608diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
4609index 30102da..3f2882b 100644
4610--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
4611+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
4612@@ -66,7 +66,7 @@
4613 &emac {
4614 pinctrl-names = "default";
4615 pinctrl-0 = <&ext_rgmii_pins>;
4616- phy-mode = "rgmii";
4617+ phy-mode = "rgmii-id";
4618 phy-handle = <&ext_rgmii_phy>;
4619 phy-supply = <&reg_aldo2>;
4620 allwinner,rx-delay-ps = <200>;
4621diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
4622index ab081ef..1583cd5 100644
4623--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
4624+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
4625@@ -332,6 +332,7 @@
4626 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
4627 pinctrl-names = "default";
4628 pinctrl-0 = <&mmc0_pins>;
4629+ max-frequency = <150000000>;
4630 status = "disabled";
4631 #address-cells = <1>;
4632 #size-cells = <0>;
4633@@ -348,6 +349,7 @@
4634 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
4635 pinctrl-names = "default";
4636 pinctrl-0 = <&mmc1_pins>;
4637+ max-frequency = <150000000>;
4638 status = "disabled";
4639 #address-cells = <1>;
4640 #size-cells = <0>;
4641@@ -364,6 +366,7 @@
4642 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
4643 pinctrl-names = "default";
4644 pinctrl-0 = <&mmc2_pins>;
4645+ max-frequency = <150000000>;
4646 status = "disabled";
4647 #address-cells = <1>;
4648 #size-cells = <0>;
4649@@ -533,6 +536,8 @@
4650 <&ccu CLK_USB_OHCI0>;
4651 resets = <&ccu RST_BUS_OHCI0>,
4652 <&ccu RST_BUS_EHCI0>;
4653+ phys = <&usb2phy 0>;
4654+ phy-names = "usb";
4655 status = "disabled";
4656 };
4657
4658@@ -543,6 +548,8 @@
4659 clocks = <&ccu CLK_BUS_OHCI0>,
4660 <&ccu CLK_USB_OHCI0>;
4661 resets = <&ccu RST_BUS_OHCI0>;
4662+ phys = <&usb2phy 0>;
4663+ phy-names = "usb";
4664 status = "disabled";
4665 };
4666
4667diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
4668index 1234bc7..9533c85 100644
4669--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
4670+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
4671@@ -167,6 +167,8 @@
4672 hwrng: rng@218 {
4673 compatible = "amlogic,meson-rng";
4674 reg = <0x0 0x218 0x0 0x4>;
4675+ clocks = <&clkc CLKID_RNG0>;
4676+ clock-names = "core";
4677 };
4678 };
4679
4680@@ -2380,7 +2382,7 @@
4681 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
4682 dr_mode = "host";
4683 snps,dis_u2_susphy_quirk;
4684- snps,quirk-frame-length-adjustment;
4685+ snps,quirk-frame-length-adjustment = <0x20>;
4686 snps,parkmode-disable-ss-quirk;
4687 };
4688 };
4689diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
4690index 17155fb..c48125b 100644
4691--- a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
4692+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
4693@@ -340,7 +340,7 @@
4694 eee-broken-1000t;
4695
4696 reset-assert-us = <10000>;
4697- reset-deassert-us = <30000>;
4698+ reset-deassert-us = <80000>;
4699 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
4700
4701 interrupt-parent = <&gpio_intc>;
4702diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
4703index 233eb1c..d94b695 100644
4704--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
4705+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
4706@@ -165,7 +165,7 @@
4707 reg = <0>;
4708
4709 reset-assert-us = <10000>;
4710- reset-deassert-us = <30000>;
4711+ reset-deassert-us = <80000>;
4712 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4713
4714 interrupt-parent = <&gpio_intc>;
4715diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
4716index b0b12e3..8828acb 100644
4717--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
4718+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
4719@@ -138,7 +138,7 @@
4720 reg = <0>;
4721
4722 reset-assert-us = <10000>;
4723- reset-deassert-us = <30000>;
4724+ reset-deassert-us = <80000>;
4725 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4726
4727 interrupt-parent = <&gpio_intc>;
4728diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
4729index 43b11e3..2997621 100644
4730--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
4731+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
4732@@ -126,7 +126,7 @@
4733 reg = <0>;
4734
4735 reset-assert-us = <10000>;
4736- reset-deassert-us = <30000>;
4737+ reset-deassert-us = <80000>;
4738 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4739
4740 interrupt-parent = <&gpio_intc>;
4741diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
4742index 4c53988..e3d1756 100644
4743--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
4744+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
4745@@ -147,7 +147,7 @@
4746 reg = <0>;
4747
4748 reset-assert-us = <10000>;
4749- reset-deassert-us = <30000>;
4750+ reset-deassert-us = <80000>;
4751 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4752 };
4753 };
4754diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
4755index b08c453..b2ab05c 100644
4756--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
4757+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
4758@@ -82,7 +82,7 @@
4759
4760 /* External PHY reset is shared with internal PHY Led signal */
4761 reset-assert-us = <10000>;
4762- reset-deassert-us = <30000>;
4763+ reset-deassert-us = <80000>;
4764 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4765
4766 interrupt-parent = <&gpio_intc>;
4767diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
4768index 3f43716..c8a4205 100644
4769--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
4770+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
4771@@ -251,7 +251,7 @@
4772 reg = <0>;
4773
4774 reset-assert-us = <10000>;
4775- reset-deassert-us = <30000>;
4776+ reset-deassert-us = <80000>;
4777 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4778
4779 interrupt-parent = <&gpio_intc>;
4780@@ -395,7 +395,7 @@
4781 #size-cells = <1>;
4782 compatible = "winbond,w25q16", "jedec,spi-nor";
4783 reg = <0>;
4784- spi-max-frequency = <3000000>;
4785+ spi-max-frequency = <104000000>;
4786 };
4787 };
4788
4789diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
4790index c2bd4db..8dccf91 100644
4791--- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
4792+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
4793@@ -112,7 +112,7 @@
4794 max-speed = <1000>;
4795
4796 reset-assert-us = <10000>;
4797- reset-deassert-us = <30000>;
4798+ reset-deassert-us = <80000>;
4799 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4800 };
4801 };
4802diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
4803index ea45ae0..8edbfe0 100644
4804--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
4805+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
4806@@ -64,7 +64,7 @@
4807
4808 /* External PHY reset is shared with internal PHY Led signal */
4809 reset-assert-us = <10000>;
4810- reset-deassert-us = <30000>;
4811+ reset-deassert-us = <80000>;
4812 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4813
4814 interrupt-parent = <&gpio_intc>;
4815diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
4816index 5cd4d35..f72d29e 100644
4817--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
4818+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
4819@@ -114,7 +114,7 @@
4820 max-speed = <1000>;
4821
4822 reset-assert-us = <10000>;
4823- reset-deassert-us = <30000>;
4824+ reset-deassert-us = <80000>;
4825 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
4826 };
4827 };
4828diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
4829index 521573f..8ba3555 100644
4830--- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
4831+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
4832@@ -90,7 +90,7 @@
4833 opp-microvolt = <790000>;
4834 };
4835
4836- opp-1512000000 {
4837+ opp-1500000000 {
4838 opp-hz = /bits/ 64 <1500000000>;
4839 opp-microvolt = <800000>;
4840 };
4841diff --git a/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi b/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi
4842index 55259f9..5401a64 100644
4843--- a/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi
4844+++ b/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi
4845@@ -4,21 +4,26 @@
4846 */
4847 usb {
4848 compatible = "simple-bus";
4849- dma-ranges;
4850- #address-cells = <1>;
4851- #size-cells = <1>;
4852- ranges = <0x0 0x0 0x68500000 0x00400000>;
4853+ #address-cells = <2>;
4854+ #size-cells = <2>;
4855+ ranges = <0x0 0x0 0x0 0x68500000 0x0 0x00400000>;
4856+
4857+ /*
4858+ * Internally, USB bus to the interconnect can only address up
4859+ * to 40-bit
4860+ */
4861+ dma-ranges = <0 0 0 0 0x100 0x0>;
4862
4863 usbphy0: usb-phy@0 {
4864 compatible = "brcm,sr-usb-combo-phy";
4865- reg = <0x00000000 0x100>;
4866+ reg = <0x0 0x00000000 0x0 0x100>;
4867 #phy-cells = <1>;
4868 status = "disabled";
4869 };
4870
4871 xhci0: usb@1000 {
4872 compatible = "generic-xhci";
4873- reg = <0x00001000 0x1000>;
4874+ reg = <0x0 0x00001000 0x0 0x1000>;
4875 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
4876 phys = <&usbphy0 1>, <&usbphy0 0>;
4877 phy-names = "phy0", "phy1";
4878@@ -28,7 +33,7 @@
4879
4880 bdc0: usb@2000 {
4881 compatible = "brcm,bdc-v0.16";
4882- reg = <0x00002000 0x1000>;
4883+ reg = <0x0 0x00002000 0x0 0x1000>;
4884 interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;
4885 phys = <&usbphy0 0>, <&usbphy0 1>;
4886 phy-names = "phy0", "phy1";
4887@@ -38,21 +43,21 @@
4888
4889 usbphy1: usb-phy@10000 {
4890 compatible = "brcm,sr-usb-combo-phy";
4891- reg = <0x00010000 0x100>;
4892+ reg = <0x0 0x00010000 0x0 0x100>;
4893 #phy-cells = <1>;
4894 status = "disabled";
4895 };
4896
4897 usbphy2: usb-phy@20000 {
4898 compatible = "brcm,sr-usb-hs-phy";
4899- reg = <0x00020000 0x100>;
4900+ reg = <0x0 0x00020000 0x0 0x100>;
4901 #phy-cells = <0>;
4902 status = "disabled";
4903 };
4904
4905 xhci1: usb@11000 {
4906 compatible = "generic-xhci";
4907- reg = <0x00011000 0x1000>;
4908+ reg = <0x0 0x00011000 0x0 0x1000>;
4909 interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
4910 phys = <&usbphy1 1>, <&usbphy2>, <&usbphy1 0>;
4911 phy-names = "phy0", "phy1", "phy2";
4912@@ -62,7 +67,7 @@
4913
4914 bdc1: usb@21000 {
4915 compatible = "brcm,bdc-v0.16";
4916- reg = <0x00021000 0x1000>;
4917+ reg = <0x0 0x00021000 0x0 0x1000>;
4918 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
4919 phys = <&usbphy2>;
4920 phy-names = "phy0";
4921diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
4922index 6f90b0e..148bdca 100644
4923--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
4924+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
4925@@ -389,7 +389,7 @@
4926 s2mps13-pmic@66 {
4927 compatible = "samsung,s2mps13-pmic";
4928 interrupt-parent = <&gpa0>;
4929- interrupts = <7 IRQ_TYPE_NONE>;
4930+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
4931 reg = <0x66>;
4932 samsung,s2mps11-wrstbi-ground;
4933
4934diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
4935index 61ee7b6..09aead2 100644
4936--- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
4937+++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
4938@@ -90,7 +90,7 @@
4939 s2mps15_pmic@66 {
4940 compatible = "samsung,s2mps15-pmic";
4941 reg = <0x66>;
4942- interrupts = <2 IRQ_TYPE_NONE>;
4943+ interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
4944 interrupt-parent = <&gpa0>;
4945 pinctrl-names = "default";
4946 pinctrl-0 = <&pmic_irq>;
4947diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
4948index 0821489..25549d9 100644
4949--- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
4950+++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
4951@@ -90,8 +90,10 @@
4952 };
4953
4954 psci {
4955- compatible = "arm,psci-0.2";
4956+ compatible = "arm,psci";
4957 method = "smc";
4958+ cpu_off = <0x84000002>;
4959+ cpu_on = <0xC4000003>;
4960 };
4961
4962 soc: soc {
4963@@ -494,13 +496,6 @@
4964 pmu_system_controller: system-controller@105c0000 {
4965 compatible = "samsung,exynos7-pmu", "syscon";
4966 reg = <0x105c0000 0x5000>;
4967-
4968- reboot: syscon-reboot {
4969- compatible = "syscon-reboot";
4970- regmap = <&pmu_system_controller>;
4971- offset = <0x0400>;
4972- mask = <0x1>;
4973- };
4974 };
4975
4976 rtc: rtc@10590000 {
4977@@ -650,3 +645,4 @@
4978 };
4979
4980 #include "exynos7-pinctrl.dtsi"
4981+#include "arm/exynos-syscon-restart.dtsi"
4982diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
4983index 3379193..ec141c9 100644
4984--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
4985+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
4986@@ -177,6 +177,7 @@
4987 ranges = <0x0 0x00 0x1700000 0x100000>;
4988 reg = <0x00 0x1700000 0x0 0x100000>;
4989 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
4990+ dma-coherent;
4991
4992 sec_jr0: jr@10000 {
4993 compatible = "fsl,sec-v5.4-job-ring",
4994diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
4995index 9589b15..bd99fa6 100644
4996--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
4997+++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
4998@@ -103,7 +103,7 @@
4999 reboot {
5000 compatible ="syscon-reboot";
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: