09 Jan, 2021

2 commits

  • Pull ARM SoC fixes from Arnd Bergmann:
    "These are a small number of bug fixes that all came in before or
    during the merge window, most for the omap platform:

    - One boot regression fix for Nokia N9 (OMAP3).

    - Two small defconfig changes for omap2, to reflect changes in
    drivers

    - Warning fixes for DT issues on omap2, picoxcell and bitmap SoCs.

    The picoxcell platform will be removed in v5.12, but fixing it
    first makes it easier to backport to the fix to stable kernels and
    get a clean build with new dtc versions"

    * tag 'arm-fixes-5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
    ARM: picoxcell: fix missing interrupt-parent properties
    ARM: dts: ux500/golden: Set display max brightness
    arm64: dts: bitmain: Use generic "ngpios" rather than "snps,nr-gpios"
    ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults on xt875
    ARM: omap2plus_defconfig: enable SPI GPIO
    ARM: OMAP2+: omap_device: fix idling of devices during probe
    ARM: dts: OMAP3: disable AES on N950/N9
    ARM: omap2plus_defconfig: drop unused POWER_AVS option

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:
    "This fixes a functional bug in arm/chacha-neon as well as a potential
    buffer overflow in ecdh"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
    crypto: arm/chacha-neon - add missing counter increment

    Linus Torvalds
     

08 Jan, 2021

1 commit

  • dtc points out that the interrupts for some devices are not parsable:

    picoxcell-pc3x2.dtsi:45.19-49.5: Warning (interrupts_property): /paxi/gem@30000: Missing interrupt-parent
    picoxcell-pc3x2.dtsi:51.21-55.5: Warning (interrupts_property): /paxi/dmac@40000: Missing interrupt-parent
    picoxcell-pc3x2.dtsi:57.21-61.5: Warning (interrupts_property): /paxi/dmac@50000: Missing interrupt-parent
    picoxcell-pc3x2.dtsi:233.21-237.5: Warning (interrupts_property): /rwid-axi/axi2pico@c0000000: Missing interrupt-parent

    There are two VIC instances, so it's not clear which one needs to be
    used. I found the BSP sources that reference VIC0, so use that:

    https://github.com/r1mikey/meta-picoxcell/blob/master/recipes-kernel/linux/linux-picochip-3.0/0001-picoxcell-support-for-Picochip-picoXcell-SoC.patch

    Acked-by: Jamie Iles
    Link: https://lore.kernel.org/r/20201230152010.3914962-1-arnd@kernel.org'
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

03 Jan, 2021

1 commit

  • Commit 86cd97ec4b943af3 ("crypto: arm/chacha-neon - optimize for non-block
    size multiples") refactored the chacha block handling in the glue code in
    a way that may result in the counter increment to be omitted when calling
    chacha_block_xor_neon() to process a full block. This violates the skcipher
    API, which requires that the output IV is suitable for handling more input
    as long as the preceding input has been presented in round multiples of the
    block size. Also, the same code is exposed via the chacha library interface
    whose callers may actually rely on this increment to occur even for final
    blocks that are smaller than the chacha block size.

    So increment the counter after calling chacha_block_xor_neon().

    Fixes: 86cd97ec4b943af3 ("crypto: arm/chacha-neon - optimize for non-block size multiples")
    Reported-by: Eric Biggers
    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Herbert Xu

    Ard Biesheuvel
     

30 Dec, 2020

1 commit

  • Make mandatory in include/asm-generic/Kbuild and
    remove all arch/*/include/asm/local64.h arch-specific files since they
    only #include .

    This fixes build errors on arch/c6x/ and arch/nios2/ for
    block/blk-iocost.c.

    Build-tested on 21 of 25 arch-es. (tools problems on the others)

    Yes, we could even rename to
    and change all #includes to use
    instead.

    Link: https://lkml.kernel.org/r/20201227024446.17018-1-rdunlap@infradead.org
    Signed-off-by: Randy Dunlap
    Suggested-by: Christoph Hellwig
    Reviewed-by: Masahiro Yamada
    Cc: Jens Axboe
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Aurelien Jacquiot
    Cc: Peter Zijlstra
    Cc: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

25 Dec, 2020

2 commits

  • Pull irq updates from Thomas Gleixner:
    "This is the second attempt after the first one failed miserably and
    got zapped to unblock the rest of the interrupt related patches.

    A treewide cleanup of interrupt descriptor (ab)use with all sorts of
    racy accesses, inefficient and disfunctional code. The goal is to
    remove the export of irq_to_desc() to prevent these things from
    creeping up again"

    * tag 'irq-core-2020-12-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
    genirq: Restrict export of irq_to_desc()
    xen/events: Implement irq distribution
    xen/events: Reduce irq_info:: Spurious_cnt storage size
    xen/events: Only force affinity mask for percpu interrupts
    xen/events: Use immediate affinity setting
    xen/events: Remove disfunct affinity spreading
    xen/events: Remove unused bind_evtchn_to_irq_lateeoi()
    net/mlx5: Use effective interrupt affinity
    net/mlx5: Replace irq_to_desc() abuse
    net/mlx4: Use effective interrupt affinity
    net/mlx4: Replace irq_to_desc() abuse
    PCI: mobiveil: Use irq_data_get_irq_chip_data()
    PCI: xilinx-nwl: Use irq_data_get_irq_chip_data()
    NTB/msi: Use irq_has_action()
    mfd: ab8500-debugfs: Remove the racy fiddling with irq_desc
    pinctrl: nomadik: Use irq_has_action()
    drm/i915/pmu: Replace open coded kstat_irqs() copy
    drm/i915/lpe_audio: Remove pointless irq_to_desc() usage
    s390/irq: Use irq_desc_kstat_cpu() in show_msi_interrupt()
    parisc/irq: Use irq_desc_kstat_cpu() in show_interrupts()
    ...

    Linus Torvalds
     
  • Pull EFI updates from Borislav Petkov:
    "These got delayed due to a last minute ia64 build issue which got
    fixed in the meantime.

    EFI updates collected by Ard Biesheuvel:

    - Don't move BSS section around pointlessly in the x86 decompressor

    - Refactor helper for discovering the EFI secure boot mode

    - Wire up EFI secure boot to IMA for arm64

    - Some fixes for the capsule loader

    - Expose the RT_PROP table via the EFI test module

    - Relax DT and kernel placement restrictions on ARM

    with a few followup fixes:

    - fix the build breakage on IA64 caused by recent capsule loader
    changes

    - suppress a type mismatch build warning in the expansion of
    EFI_PHYS_ALIGN on ARM"

    * tag 'efi_updates_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    efi: arm: force use of unsigned type for EFI_PHYS_ALIGN
    efi: ia64: disable the capsule loader
    efi: stub: get rid of efi_get_max_fdt_addr()
    efi/efi_test: read RuntimeServicesSupported
    efi: arm: reduce minimum alignment of uncompressed kernel
    efi: capsule: clean scatter-gather entries from the D-cache
    efi: capsule: use atomic kmap for transient sglist mappings
    efi: x86/xen: switch to efi_get_secureboot_mode helper
    arm64/ima: add ima_arch support
    ima: generalize x86/EFI arch glue for other EFI architectures
    efi: generalize efi_get_secureboot
    efi/libstub: EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER should not default to yes
    efi/x86: Only copy the compressed kernel image in efi_relocate_kernel()
    efi/libstub/x86: simplify efi_is_native()

    Linus Torvalds
     

23 Dec, 2020

3 commits

  • Pull ARM updates from Russell King:

    - Rework phys/virt translation

    - Add KASan support

    - Move DT out of linear map region

    - Use more PC-relative addressing in assembly

    - Remove FP emulation handling while in kernel mode

    - Link with '-z norelro'

    - remove old check for GCC PA calculations with adr_l call
    ARM: head.S: use PC relative insn sequence to calculate PHYS_OFFSET
    ...

    Linus Torvalds
     
  • A too high brightness by default (default is max) makes the
    screen go blank. Set this to 15 as in the Vendor tree.

    Signed-off-by: Linus Walleij
    Cc: Stephan Gerhold
    Link: https://lore.kernel.org/r/20201214223413.253893-1-linus.walleij@linaro.org'
    Signed-off-by: Arnd Bergmann

    Linus Walleij
     
  • …/linux/kernel/git/tmlind/linux-omap into arm/fixes

    Late defconfig changes for omaps for v5.11 merge window

    Drop drop unused POWER_AVS option, and enable CONFIG_SPI_GPIO as
    a loadable module so gta04 needs it for controlling the td028ttec1
    panel.

    * tag 'omap-for-v5.11/defconfig-late-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: omap2plus_defconfig: enable SPI GPIO
    ARM: omap2plus_defconfig: drop unused POWER_AVS option
    ARM: omap2plus_defconfig: Enable TI eQEP counter driver
    ARM: omap2plus_defconfig: add CONFIG_AK8975=m and CONFIG_KXCJK1013=m
    ARM: omap2plus_defconfig: Enable OMAP3_THERMAL

    Link: https://lore.kernel.org/r/pull-1607675790-251347@atomide.com-2
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

21 Dec, 2020

11 commits

  • Russell King
     
  • Russell King
     
  • The early ATAGS/DT mapping code uses SECTION_SHIFT to mask low order
    bits of R2, and decides that no ATAGS/DTB were provided if the resulting
    value is 0x0.

    This means that on systems where DRAM starts at 0x0 (such as Raspberry
    Pi), no explicit mapping of the DT will be created if R2 points into the
    first 1 MB section of memory. This was not a problem before, because the
    decompressed kernel is loaded at the base of DRAM and mapped using
    sections as well, and so as long as the DT is referenced via a virtual
    address that uses the same translation (the linear map, in this case),
    things work fine.

    However, commit 7a1be318f579 ("9012/1: move device tree mapping out of
    linear region") changes this, and now the DT is referenced via a virtual
    address that is disjoint from the linear mapping of DRAM, and so we need
    the early code to create the DT mapping unconditionally.

    So let's create the early DT mapping for any value of R2 != 0x0.

    Reported-by: "kernelci.org bot"
    Reviewed-by: Linus Walleij
    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Russell King

    Ard Biesheuvel
     
  • When linking a multi_v7_defconfig + CONFIG_KASAN=y kernel with
    LD=ld.lld, the following error occurs:

    $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LLVM=1 zImage
    ld.lld: error: section: .exit.data is not contiguous with other relro sections

    LLD defaults to '-z relro', which is unneeded for the kernel because
    program headers are not used nor is there any position independent code
    generation or linking for ARM. Add '-z norelro' to LDFLAGS_vmlinux to
    avoid this error.

    Link: https://github.com/ClangBuiltLinux/linux/issues/1189

    Reviewed-by: Nick Desaulniers
    Tested-by: Nick Desaulniers
    Signed-off-by: Nathan Chancellor
    Signed-off-by: Russell King

    Nathan Chancellor
     
  • The DTB magic marker is stored as a 32-bit big-endian value, and thus
    depends on the CPU's endianness. Add a macro to define this value in
    native endianness, to reduce #ifdef clutter and (future) duplication.

    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Ard Biesheuvel
    Reviewed-by: Nicolas Pitre
    Signed-off-by: Russell King

    Geert Uytterhoeven
     
  • The dbgadtb macro is passed the size of the appended DTB, not the end
    address.

    Fixes: c03e41470e901123 ("ARM: 9010/1: uncompress: Print the location of appended DTB")
    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Linus Walleij
    Signed-off-by: Russell King

    Geert Uytterhoeven
     
  • DTB stores all values as 32-bit big-endian integers.
    Add a macro to convert such values to native CPU endianness, to reduce
    duplication.

    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Ard Biesheuvel
    Reviewed-by: Nicolas Pitre
    Signed-off-by: Russell King

    Geert Uytterhoeven
     
  • Mapping between IPI type index and its string is direct without requiring
    an additional offset. Hence the existing macro S(x, s) is now redundant
    and can just be dropped. This also makes the code clean and simple.

    Cc: Marc Zyngier
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Anshuman Khandual
    Signed-off-by: Russell King

    Anshuman Khandual
     
  • Macros used as functions can be problematic from the compiler perspective.
    There was a build failure report caused primarily because of non reference
    of an argument variable. Hence convert PUD level pgtable helper macros into
    functions in order to avoid such problems in the future. In the process, it

    fixes the argument variables sequence in set_pud() which probably remained
    hidden for being a macro.

    https://lore.kernel.org/linux-mm/202011020749.5XQ3Hfzc-lkp@intel.com/
    https://lore.kernel.org/linux-mm/5fa49698.Vu2O3r+dU20UoEJ+%25lkp@intel.com/

    Cc: Andrew Morton
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Reviewed-by: Linus Walleij
    Signed-off-by: Anshuman Khandual
    Signed-off-by: Russell King

    Anshuman Khandual
     
  • Commit aaac3733171fca94 ("ARM: kvm: replace open coded VA->PA calculations
    with adr_l call") removed all uses of .L__boot_cpu_mode_offset, so there
    is no longer a need to define it.

    Signed-off-by: Ard Biesheuvel
    Reviewed-by: Linus Walleij
    Signed-off-by: Russell King

    Ard Biesheuvel
     
  • Commit f77ac2e378be9dd6 ("ARM: 9030/1: entry: omit FP emulation for UND
    exceptions taken in kernel mode") failed to take into account that there
    is in fact a case where we relied on this code path: during boot, the
    VFP detection code issues a read of FPSID, which will trigger an undef
    exception on cores that lack VFP support.

    So let's reinstate this logic using an undef hook which is registered
    only for the duration of the initcall to vpf_init(), and which sets
    VFP_arch to a non-zero value - as before - if no VFP support is present.

    Fixes: f77ac2e378be9dd6 ("ARM: 9030/1: entry: omit FP emulation for UND ...")
    Reported-by: "kernelci.org bot"
    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Russell King

    Ard Biesheuvel
     

20 Dec, 2020

3 commits

  • Pull power supply and reset updates from Sebastian Reichel:
    "Battery/charger driver changes:

    - collie_battery, generic-adc-battery, s3c-adc-battery: convert to
    GPIO descriptors (incl ARM board files)

    - misc cleanup and fixes

    Reset drivers:

    - new poweroff driver for force disabling a regulator

    - use printk format symbol resolver

    - ocelot: add support for Luton and Jaguar2"

    * tag 'for-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (31 commits)
    power: supply: Fix a typo in warning message
    Documentation: DT: binding documentation for regulator-poweroff
    power: reset: new driver regulator-poweroff
    power: supply: ab8500: Use dev_err_probe() for IIO channels
    power: supply: ab8500_fg: Request all IRQs as threaded
    power: supply: ab8500_charger: Oneshot threaded IRQs
    power: supply: ab8500: Convert to dev_pm_ops
    power: supply: ab8500: Use local helper
    power: supply: wm831x_power: remove unneeded break
    power: supply: bq24735: Drop unused include
    power: supply: bq24190_charger: Drop unused include
    power: supply: generic-adc-battery: Use GPIO descriptors
    power: supply: collie_battery: Convert to GPIO descriptors
    power: supply: bq24190_charger: fix reference leak
    power: supply: s3c-adc-battery: Convert to GPIO descriptors
    power: reset: Use printk format symbol resolver
    power: supply: axp20x_usb_power: Use power efficient workqueue for debounce
    power: supply: axp20x_usb_power: fix typo
    power: supply: max8997-charger: Improve getting charger status
    power: supply: max8997-charger: Fix platform data retrieval
    ...

    Linus Torvalds
     
  • Merge still more updates from Andrew Morton:
    "18 patches.

    Subsystems affected by this patch series: mm (memcg and cleanups) and
    epoll"

    * emailed patches from Andrew Morton :
    mm/Kconfig: fix spelling mistake "whats" -> "what's"
    selftests/filesystems: expand epoll with epoll_pwait2
    epoll: wire up syscall epoll_pwait2
    epoll: add syscall epoll_pwait2
    epoll: convert internal api to timespec64
    epoll: eliminate unnecessary lock for zero timeout
    epoll: replace gotos with a proper loop
    epoll: pull all code between fetch_events and send_event into the loop
    epoll: simplify and optimize busy loop logic
    epoll: move eavail next to the list_empty_careful check
    epoll: pull fatal signal checks into ep_send_events()
    epoll: simplify signal handling
    epoll: check for events when removing a timed out thread from the wait queue
    mm/memcontrol:rewrite mem_cgroup_page_lruvec()
    mm, kvm: account kvm_vcpu_mmap to kmemcg
    mm/memcg: remove unused definitions
    mm/memcg: warning on !memcg after readahead page charged
    mm/memcg: bail early from swap accounting if memcg disabled

    Linus Torvalds
     
  • Split off from prev patch in the series that implements the syscall.

    Link: https://lkml.kernel.org/r/20201121144401.3727659-4-willemdebruijn.kernel@gmail.com
    Signed-off-by: Willem de Bruijn
    Cc: Al Viro
    Cc: Arnd Bergmann
    Cc: Matthew Wilcox (Oracle)
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Willem de Bruijn
     

19 Dec, 2020

1 commit

  • Pull RISC-V updates from Palmer Dabbelt:
    "We have a handful of new kernel features for 5.11:

    - Support for the contiguous memory allocator.

    - Support for IRQ Time Accounting

    - Support for stack tracing

    - Support for strict /dev/mem

    - Support for kernel section protection

    I'm being a bit conservative on the cutoff for this round due to the
    timing, so this is all the new development I'm going to take for this
    cycle (even if some of it probably normally would have been OK). There
    are, however, some fixes on the list that I will likely be sending
    along either later this week or early next week.

    There is one issue in here: one of my test configurations
    (PREEMPT{,_DEBUG}=y) fails to boot on QEMU 5.0.0 (from April) as of
    the .text.init alignment patch.

    With any luck we'll sort out the issue, but given how many bugs get
    fixed all over the place and how unrelated those features seem my
    guess is that we're just running into something that's been lurking
    for a while and has already been fixed in the newer QEMU (though I
    wouldn't be surprised if it's one of these implicit assumptions we
    have in the boot flow). If it was hardware I'd be strongly inclined to
    look more closely, but given that users can upgrade their simulators
    I'm less worried about it"

    * tag 'riscv-for-linus-5.11-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    arm64: Use the generic devmem_is_allowed()
    arm: Use the generic devmem_is_allowed()
    RISC-V: Use the new generic devmem_is_allowed()
    lib: Add a generic version of devmem_is_allowed()
    riscv: Fixed kernel test robot warning
    riscv: kernel: Drop unused clean rule
    riscv: provide memmove implementation
    RISC-V: Move dynamic relocation section under __init
    RISC-V: Protect all kernel sections including init early
    RISC-V: Align the .init.text section
    RISC-V: Initialize SBI early
    riscv: Enable ARCH_STACKWALK
    riscv: Make stack walk callback consistent with generic code
    riscv: Cleanup stacktrace
    riscv: Add HAVE_IRQ_TIME_ACCOUNTING
    riscv: Enable CMA support
    riscv: Ignore Image.* and loader.bin
    riscv: Clean up boot dir
    riscv: Fix compressed Image formats build
    RISC-V: Add kernel image sections to the resource tree

    Linus Torvalds
     

17 Dec, 2020

9 commits

  • Pull ARM SoC OMAP GenPD updates from Arnd Bergmann:
    "These are additional updates for the power domain support on OMAP,
    moving to an implementation based on device tree information instead
    of SoC specific code. This is the latest step in the ongoing process
    for moving code out of arch/arm/mach-omap2.

    I kept this separate from the other driver changes since it touches
    code in multiple areas"

    * tag 'arm-soc-omap-genpd-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (51 commits)
    ARM: OMAP2+: Fix am4 only build after genpd changes
    ARM: dts: Configure power domain for omap5 dss
    ARM: dts: omap5: add remaining PRM instances
    soc: ti: omap-prm: omap5: add genpd support for remaining PRM instances
    ARM: OMAP2+: Drop legacy platform data for dra7 gpmc
    ARM: dts: Configure interconnect target module for dra7 iva
    ARM: dts: dra7: add remaining PRM instances
    soc: ti: omap-prm: dra7: add genpd support for remaining PRM instances
    clk: ti: dra7: Drop idlest polling from IVA clkctrl clocks
    ARM: OMAP2+: Drop legacy platform data for omap4 gpmc
    ARM: OMAP2+: Drop legacy platform data for omap4 iva
    ARM: dts: Configure power domain for omap4 dsp
    ARM: dts: Configure power domain for omap4 dss
    ARM: dts: omap4: add remaining PRM instances
    soc: ti: omap-prm: omap4: add genpd support for remaining PRM instances
    clk: ti: omap4: Drop idlest polling from IVA clkctrl clocks
    ARM: OMAP2+: Drop legacy remaining legacy platform data for am4
    ARM: dts: Use simple-pm-bus for genpd for am4 l3
    ARM: dts: Move am4 l3 noc to a separate node
    ARM: dts: Use simple-pm-bus for genpd for am4 l4_per
    ...

    Linus Torvalds
     
  • Pull ARM SoC driver updates from Arnd Bergmann:
    "There are a couple of subsystems maintained by other people that merge
    their drivers through the SoC tree, those changes include:

    - The SCMI firmware framework gains support for sensor notifications
    and for controlling voltage domains.

    - A large update for the Tegra memory controller driver, integrating
    it better with the interconnect framework

    - The memory controller subsystem gains support for Mediatek MT8192

    - The reset controller framework gains support for sharing pulsed
    resets

    For Soc specific drivers in drivers/soc, the main changes are

    - The Allwinner/sunxi MBUS gets a rework for the way it handles
    dma_map_ops and offsets between physical and dma address spaces.

    - An errata fix plus some cleanups for Freescale Layerscape SoCs

    - A cleanup for renesas drivers regarding MMIO accesses.

    - New SoC specific drivers for Mediatek MT8192 and MT8183 power
    domains

    - New SoC specific drivers for Aspeed AST2600 LPC bus control and SoC
    identification.

    - Core Power Domain support for Qualcomm MSM8916, MSM8939, SDM660 and
    SDX55.

    - A rework of the TI AM33xx 'genpd' power domain support to use
    information from DT instead of platform data

    - Support for TI AM64x SoCs

    - Allow building some Amlogic drivers as modules instead of built-in

    Finally, there are numerous cleanups and smaller bug fixes for
    Mediatek, Tegra, Samsung, Qualcomm, TI OMAP, Amlogic, Rockchips,
    Renesas, and Xilinx SoCs"

    * tag 'arm-soc-drivers-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (222 commits)
    soc: mediatek: mmsys: Specify HAS_IOMEM dependency for MTK_MMSYS
    firmware: xilinx: Properly align function parameter
    firmware: xilinx: Add a blank line after function declaration
    firmware: xilinx: Remove additional newline
    firmware: xilinx: Fix kernel-doc warnings
    firmware: xlnx-zynqmp: fix compilation warning
    soc: xilinx: vcu: add missing register NUM_CORE
    soc: xilinx: vcu: use vcu-settings syscon registers
    dt-bindings: soc: xlnx: extract xlnx, vcu-settings to separate binding
    soc: xilinx: vcu: drop useless success message
    clk: samsung: mark PM functions as __maybe_unused
    soc: samsung: exynos-chipid: initialize later - with arch_initcall
    soc: samsung: exynos-chipid: order list of SoCs by name
    memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe()
    memory: ti-emif-sram: only build for ARMv7
    memory: tegra30: Support interconnect framework
    memory: tegra20: Support hardware versioning and clean up OPP table initialization
    dt-bindings: memory: tegra20-emc: Document opp-supported-hw property
    soc: rockchip: io-domain: Fix error return code in rockchip_iodomain_probe()
    reset-controller: ti: force the write operation when assert or deassert
    ...

    Linus Torvalds
     
  • Pull ARM device tree updates from Arnd Bergmann:
    "Across all platforms, there is a continued move towards DT schema for
    validating the dts files. As a result there are bug fixes for mistakes
    that are found using these schema, in addition to warnings from the
    dtc compiler.

    As usual, many changes are for adding support for additional on-chip
    and on-board components in the machines we already support.

    The newly supported SoCs for this release are:

    - MStar Infinity2M, a low-end IP camera chip based on a dual-core
    Cortex-A7, otherwise similar to the Infinity chip we already
    support. This is also known as the SigmaStar SSD202D, and we add
    support for the Honestar ssd201htv2 development kit.

    - Nuvoton NPCM730, a Cortex-A9 based Baseboard Management Controller
    (BMC), in the same family as the NPCM750. This gets used in the
    Ampere Altra based "Fii Kudo" server and the Quanta GSJ, both of
    which are added as well.

    - Broadcom BCM4908, a 64-bit home router chip based on Broadcom's own
    Brahma-B53 CPU. Support is also added for the Asus ROG Rapture
    GT-AC5300 high-end WiFi router based on this chip.

    - Mediatek MT8192 is a new SoC based on eight Cortex-A76/A55 cores,
    meant for faster Chromebooks and tablets. It gets added along with
    its reference design.

    - Mediatek MT6779 (Helio P90) is a high-end phone chip from last
    year's generation, also added along with its reference board. This
    one is still based on Cortex-A75/A55.

    - Mediatek MT8167 is a version of the already supported MT8516 chip,
    both based on Cortex-A35. It gets added along with the "Pumpkin"
    single board computer, but is likely to also make its way into
    low-end tablets in the future.

    For the already supported chips, there are a number of new boards.
    Interestingly there are more 32-bit machines added this time than
    64-bit. Here is a brief list of the new boards:

    - Three new Mikrotik router variants based on Marvell Prestera
    98DX3236, a close relative of the more common Armada XP

    - A reference board for the Marvell Armada 382

    - Three new servers using ASpeed baseboard management controllers,
    the actual machines being from Bytedance, Facebook and IBM, and one
    machine using the Nuvoton NPCM750 BMC.

    - The Galaxy Note 10.1 (P4) tablet, using an Exynos 4412.

    - The usual set of 32-bit i.MX industrial/embedded hardware:
    * Protonic WD3 (tractor e-cockpit)
    * Kamstrup OMNIA Flex Concentrator (smart grid platform)
    * Van der Laan LANMCU (food storage)
    * Altesco I6P (vehicle inspection stations)
    * PHYTEC phyBOARD-Segin/phyCORE-i.MX6UL baseboard

    - DH electronics STM32MP157C DHCOM, a PicoITX carrier board for the
    aleady supported DHCOM module

    - Three new Allwinner SoC based single-board computers:
    * NanoPi R1 (H3 based)
    * FriendlyArm ZeroPi (H3 based)
    * Elimo Initium SBC (S3 based)

    - Ouya Game Console based on Nvidia Tegra 3

    - Version 5 of the already supported Zynq Z-Turn MYIR Board

    - LX2162AQDS, a reference platform for NXP Layerscape LX2162A, which
    is a repackaged 16-core LX2160A

    - A series of Kontron i.MX8M Mini baseboard/SoM versions

    - Espressobin Ultra, a new variant of the popular Armada 3700 based
    board,

    - IEI Puzzle-M801, a rackmount network appliance based on Marvell
    Armada 8040

    - Microsoft Lumia 950 XL, a phone

    - HDK855 and HDK865 Hardware development kits for Qualcomm sm8250 and
    sm8150, respectively

    - Three new board variants of the "Trogdor" Chromebook (sc7180)

    - New board variants of the Renesas based "Kingfisher" and "HiHope"
    reference boards

    - Kobol Helios64, an open source NAS appliance based on Rockchips
    RK3399

    - Engicam PX30.Core, a SoM based on Rockchip PX30, along with a few
    carrier boards"

    * tag 'arm-soc-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (679 commits)
    arm64: dts: sparx5: Add SGPIO devices
    arm64: dts: sparx5: Add reset support
    dt-bindings: gpio: Add a binding header for the MSC313 GPIO driver
    ARM: mstar: SMP support
    ARM: mstar: Wire up smpctrl for SSD201/SSD202D
    ARM: mstar: Add smp ctrl registers to infinity2m dtsi
    ARM: mstar: Add dts for Honestar ssd201htv2
    ARM: mstar: Add chip level dtsi for SSD202D
    ARM: mstar: Add common dtsi for SSD201/SSD202D
    ARM: mstar: Add infinity2m support
    dt-bindings: mstar: Add Honestar SSD201_HT_V2 to mstar boards
    dt-bindings: vendor-prefixes: Add honestar vendor prefix
    dt-bindings: mstar: Add binding details for mstar,smpctrl
    ARM: mstar: Fill in GPIO controller properties for infinity
    ARM: mstar: Add gpio controller to MStar base dtsi
    ARM: zynq: Fix incorrect reference to XM013 instead of XM011
    ARM: zynq: Convert at25 binding to new description on zc770-xm013
    ARM: zynq: Fix OCM mapping to be aligned with binding on zc702
    ARM: zynq: Fix leds subnode name for zc702/zybo-z7
    ARM: zynq: Rename bus to be align with simple-bus yaml
    ...

    Linus Torvalds
     
  • Pull ARM SoC defconfig updates from Arnd Bergmann:
    "These are the usual defconfig updates, adding support for additional
    modules and updating some files according to changes in Kconfig.

    I also include the removal of CONFIG_BACKLIGHT_GENERIC across multiple
    architectures, after the driver was removed"

    * tag 'arm-soc-defconfig-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (41 commits)
    powerpc/configs: drop unused BACKLIGHT_GENERIC option
    parisc: configs: drop unused BACKLIGHT_GENERIC option
    arm64: defconfig: drop unused BACKLIGHT_GENERIC option
    ARM: configs: drop unused BACKLIGHT_GENERIC option
    arm64: defconfig: Enable more Librem 5 hardware
    arm64: defconfig: Enable RTC_DRV_HYM8563
    arm64: defconfig: Enable USB_SERIAL_CP210X
    arm64: defconfig: Enable PHY_ROCKCHIP_INNO_DSIDPHY
    arm64: defconfig: Enable ROCKCHIP_LVDS
    arm64: defconfig: Enable ARM SCMI protocol and drivers
    ARM: multi_v7_defconfig: Enable ARM SCMI protocol and drivers
    ARM: multi_v7_defconfig: enable STM32 dfsdm audio support
    ARM: multi_v7_defconfig: enable STM32 spdifrx support
    ARM: multi_v7_defconfig: enable STUSB160X Type-C port controller support
    ARM: multi_v7_defconfig: add STM32 crypto support
    ARM: multi_v7_defconfig: enable counter subsystem and stm32 counter drivers
    ARM: multi_v7_defconfig: make Samsung Exynos EHCI driver a module
    arm64: defconfig: Enable Qualcomm PON driver
    ARM: omap2plus_defconfig: Enable TI eQEP counter driver
    ARM: multi_v7_defconfig: ti: Enable networking options for nfs boot
    ...

    Linus Torvalds
     
  • Pull ARM SoC updates from Arnd Bergmann:
    "These are updates for SoC specific code, mostly in the 32-bit
    architecture:

    - A rework for handling MMIO accesses in Renesas SoCs in a more
    portable way

    - Updates to SoC version detection in NXP i.MX SoCs.

    - Smaller bug fixes for OMAP, Samsung, Marvell, Amlogic"

    * tag 'arm-soc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
    arm64: Kconfig: meson: drop pinctrl
    ARM: mxs: Add serial number support for i.MX23, i.MX28 SoCs
    MAINTAINERS: switch mvebu tree to kernel.org
    MAINTAINERS: Add an entry for MikroTik CRS3xx 98DX3236 boards
    ARM: shmobile: Stop using __raw_*() I/O accessors
    ARM: shmobile: sh73a0: Remove obsolete static mapping
    ARM: shmobile: sh73a0: Use ioremap() to map SMP registers
    ARM: shmobile: sh73a0: Use ioremap() to map L2C registers
    ARM: shmobile: r8a7779: Remove obsolete static mappings
    ARM: shmobile: r8a7779: Use ioremap() to map SMP registers
    ARM: shmobile: r8a7779: Use ioremap() to map INTC2 registers
    ARM: shmobile: r8a7778: Introduce HPBREG_BASE
    ARM: OMAP1: clock: Use IS_ERR_OR_NULL() to clean code
    ARM: OMAP2+: Remove redundant null check before clk_prepare_enable/clk_disable_unprepare
    ARM: OMAP2+: Remove redundant assignment to variable ret
    ARM: OMAP2+: Fix kfree NULL pointer in omap2xxx_clkt_vps_init
    ARM: OMAP2+: Fix memleak in omap2xxx_clkt_vps_init
    ARM: exynos: extend cpuidle support to P4 Note boards
    ARM: imx: mach-imx6q: correctly identify i.MX6QP SoCs
    ARM: imx: imx7ulp: Add a comment explaining the B2 silicon version
    ...

    Linus Torvalds
     
  • Pull devicetree updates from Rob Herring:

    - Add vendor prefixes for bm, gpio-key, mentor, FII, and Ampere

    - Add ADP5585/ADP5589 and delta,q54sj108a2 to trivial-devices.yaml

    - Convert fixed-partitions, i2c-gate and fsl,dpaa2-console bindings to
    schemas

    - Drop PicoXcell bindings

    - Drop unused and undocumented 'pnx,timeout' property from LPC32xx

    - Add 'dynamic-power-coefficient' to Mali GPU bindings

    - Make 'make dt_binding_check' not error out on warnings

    - Various minor binding fixes

    * tag 'devicetree-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (22 commits)
    dt-bindings: mali-bifrost: Add dynamic-power-coefficient
    dt-bindings: mali-midgard: Add dynamic-power-coefficient
    dt-bindings: i2c: dw: cancel mandatory requirements for "#address-cells" and "#size-cells"
    dt-bindings: Remove PicoXcell bindings
    ARM: dts: lpc32xx: Remove unused and undocumented 'pnx,timeout'
    dt-bindings: mtd: convert "fixed-partitions" to the json-schema
    dt-bindings: vendor-prefixes: Add undocumented bm, gpio-key, and mentor prefixes
    dt-bindings: pci: rcar-pci-ep: Document missing interrupts property
    dt-bindings: vendor-prefixes: Add an entry for AmpereComputing.com
    dt-bindings: vendor-prefixes: correct the spelling of TQ-Systems GmbH
    dt-bindings: mfd: fix stm32 timers example
    dt-bindings: trivial-devices: Add delta,q54sj108a2
    dt-bindings:i2c:i2c-gate: txt to yaml conversion
    dt-bindings: add ADP5585/ADP5589 entries to trivial-devices
    dt-bindings: Correct GV11B GPU register sizes
    dt-bindings: vendor-prefixes: Add FII
    dt-bindings: Fix typo on the DesignWare IP reset bindings documentation
    dt-bindings: Fix error in 'make dtbs_check' when using DT_SCHEMA_FILES
    dt-bindings: arm: vt8500: remove redundant white-spaces
    dt-bindings: fsl-imx-drm: fix example compatible string
    ...

    Linus Torvalds
     
  • Pull MTD updates from Miquel Raynal:
    "MTD core:
    - Fix refcounting for unpartitioned MTDs
    - Fix misspelled function parameter 'section'
    - Remove unneeded break
    - cmdline parser: Fix parsing of part-names with colons
    - mtdpart: Fix misdocumented function parameter 'mtd'

    MTD devices:
    - phram:
    - Allow the user to set the erase page size
    - File headers are not good candidates for kernel-doc
    - physmap-bt1-rom: Fix __iomem addrspace removal warning
    - plat-ram: correctly free memory on error path in platram_probe()
    - powernv_flash: Add function names to headers and fix 'dev'
    - docg3: Fix kernel-doc 'bad line' and 'excessive doc' issues

    UBI cleanup fixes:
    - gluebi: Fix misnamed function parameter documentation
    - wl: Fix a couple of kernel-doc issues
    - eba: Fix a couple of misdocumentation issues
    - kapi: Correct documentation for 'ubi_leb_read_sg's 'sgl' parameter
    - Document 'ubi_num' in struct mtd_dev_param

    Generic NAND core ECC management:
    - Add an I/O request tweaking mechanism
    - Entire rework of the software BCH ECC driver, creation of a real
    ECC engine, getting rid of raw NAND structures, migration to more
    generic prototypes, misc fixes and style cleanup. Moved now to the
    Generic NAND layer.
    - Entire rework of the software Hamming ECC driver, creation of a
    real ECC engine, getting rid of raw NAND structures, misc renames,
    comment updates, cleanup, and style fixes. Moved now to the generic
    NAND layer.
    - Necessary plumbing at the NAND level to retrieve generic NAND ECC
    engines (softwares and on-die).
    - Update of the bindings.

    Raw NAND core:
    - Geting rid of the chip->ecc.priv entry.
    - Fix miscellaneous typos in kernel-doc

    Raw NAND controller drivers:
    - Arasan: Document 'anfc_op's 'buf' member
    - AU1550: Ensure the presence of the right includes
    - Brcmnand: Demote non-conformant kernel-doc headers
    - Cafe: Remove superfluous param doc and add another
    - Davinci: Do not use extra dereferencing
    - Diskonchip: Marking unused variables as __always_unused
    - GPMI:
    - Fix the driver only sense CS0 R/B issue
    - Fix the random DMA timeout issue
    - Use a single line for of_device_id
    - Use of_device_get_match_data()
    - Fix reference count leak in gpmi ops
    - Cleanup makefile
    - Fix binding matching of clocks on different SoCs
    - Ingenic: remove redundant get_device() in ingenic_ecc_get()
    - Intel LGM: New NAND controller driver
    - Marvell: Drop useless line
    - Meson:
    - Fix a resource leak in init
    - Fix meson_nfc_dma_buffer_release() arguments
    - mxc:
    - Use device_get_match_data()
    - Use a single line for of_device_id
    - Remove platform data support
    - Omap:
    - Fix a bunch of kernel-doc misdemeanours
    - Finish ELM half populated function header, demote empty ones
    - s3c2410: Add documentation for 2 missing struct members
    - Sunxi: Document 'sunxi_nfc's 'caps' member
    - Qcom:
    - Add support for SDX55
    - Support for IPQ6018 QPIC NAND controller
    - Fix DMA sync on FLASH_STATUS register read
    - Rockchip: New NAND controller driver for RK3308, RK2928 and others
    - Sunxi: Add MDMA support

    ONENAND:
    - bbt: Fix expected kernel-doc formatting
    - Fix some kernel-doc misdemeanours
    - Fix expected kernel-doc formatting
    - Use mtd->oops_panic_write as condition

    SPI-NAND core:
    - Creation of a SPI-NAND on-die ECC engine
    - Move ECC related definitions earlier in the driver
    - Fix typo in comment
    - Fill a default ECC provider/algorithm
    - Remove outdated comment
    - Fix OOB read
    - Allow the case where there is no ECC engine
    - Use the external ECC engine logic

    SPI-NAND chip drivers:
    - Micron:
    - Add support for MT29F2G01AAAED
    - Use more specific names
    - Macronix:
    - Add support for MX35LFxG24AD
    - Add support for MX35LFxGE4AD
    - Toshiba: Demote non-conformant kernel-doc header

    SPI-NOR core:
    - Initial support for stateful Octal DTR mode using volatile settings
    - Preliminary support for JEDEC 251 (xSPI) and JEDEC 216D standards
    - Support for Cypress Semper flash
    - Support to specify ECC block size of SPI NOR flashes
    - Fixes to avoid clearing of non-volatile Block Protection bits at
    probe
    - hisi-sfc: Demote non-conformant kernel-doc"

    * tag 'mtd/for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (120 commits)
    mtd: spinand: macronix: Add support for MX35LFxG24AD
    mtd: rawnand: rockchip: NFC driver for RK3308, RK2928 and others
    dt-bindings: mtd: Describe Rockchip RK3xxx NAND flash controller
    mtd: rawnand: gpmi: Use a single line for of_device_id
    mtd: rawnand: gpmi: Fix the random DMA timeout issue
    mtd: rawnand: gpmi: Fix the driver only sense CS0 R/B issue
    mtd: rawnand: qcom: Add NAND controller support for SDX55
    dt-bindings: qcom_nandc: Add SDX55 QPIC NAND documentation
    mtd: rawnand: mxc: Use a single line for of_device_id
    mtd: rawnand: mxc: Use device_get_match_data()
    mtd: rawnand: meson: Fix a resource leak in init
    mtd: rawnand: gpmi: Use of_device_get_match_data()
    mtd: rawnand: Add NAND controller support on Intel LGM SoC
    dt-bindings: mtd: Add Nand Flash Controller support for Intel LGM SoC
    mtd: spinand: micron: Add support for MT29F2G01AAAED
    mtd: spinand: micron: Use more specific names
    mtd: rawnand: gpmi: fix reference count leak in gpmi ops
    dt-bindings: mtd: gpmi-nand: Fix matching of clocks on different SoCs
    mtd: spinand: macronix: Add support for MX35LFxGE4AD
    mtd: plat-ram: correctly free memory on error path in platram_probe()
    ...

    Linus Torvalds
     
  • Pull TIF_NOTIFY_SIGNAL updates from Jens Axboe:
    "This sits on top of of the core entry/exit and x86 entry branch from
    the tip tree, which contains the generic and x86 parts of this work.

    Here we convert the rest of the archs to support TIF_NOTIFY_SIGNAL.

    With that done, we can get rid of JOBCTL_TASK_WORK from task_work and
    signal.c, and also remove a deadlock work-around in io_uring around
    knowing that signal based task_work waking is invoked with the sighand
    wait queue head lock.

    The motivation for this work is to decouple signal notify based
    task_work, of which io_uring is a heavy user of, from sighand. The
    sighand lock becomes a huge contention point, particularly for
    threaded workloads where it's shared between threads. Even outside of
    threaded applications it's slower than it needs to be.

    Roman Gershman reported that his networked
    workload dropped from 1.6M QPS at 80% CPU to 1.0M QPS at 100% CPU
    after io_uring was changed to use TIF_NOTIFY_SIGNAL. The time was all
    spent hammering on the sighand lock, showing 57% of the CPU time there
    [1].

    There are further cleanups possible on top of this. One example is
    TIF_PATCH_PENDING, where a patch already exists to use
    TIF_NOTIFY_SIGNAL instead. Hopefully this will also lead to more
    consolidation, but the work stands on its own as well"

    [1] https://github.com/axboe/liburing/issues/215

    * tag 'tif-task_work.arch-2020-12-14' of git://git.kernel.dk/linux-block: (28 commits)
    io_uring: remove 'twa_signal_ok' deadlock work-around
    kernel: remove checking for TIF_NOTIFY_SIGNAL
    signal: kill JOBCTL_TASK_WORK
    io_uring: JOBCTL_TASK_WORK is no longer used by task_work
    task_work: remove legacy TWA_SIGNAL path
    sparc: add support for TIF_NOTIFY_SIGNAL
    riscv: add support for TIF_NOTIFY_SIGNAL
    nds32: add support for TIF_NOTIFY_SIGNAL
    ia64: add support for TIF_NOTIFY_SIGNAL
    h8300: add support for TIF_NOTIFY_SIGNAL
    c6x: add support for TIF_NOTIFY_SIGNAL
    alpha: add support for TIF_NOTIFY_SIGNAL
    xtensa: add support for TIF_NOTIFY_SIGNAL
    arm: add support for TIF_NOTIFY_SIGNAL
    microblaze: add support for TIF_NOTIFY_SIGNAL
    hexagon: add support for TIF_NOTIFY_SIGNAL
    csky: add support for TIF_NOTIFY_SIGNAL
    openrisc: add support for TIF_NOTIFY_SIGNAL
    sh: add support for TIF_NOTIFY_SIGNAL
    um: add support for TIF_NOTIFY_SIGNAL
    ...

    Linus Torvalds
     
  • Pull seccomp updates from Kees Cook:
    "The major change here is finally gaining seccomp constant-action
    bitmaps, which internally reduces the seccomp overhead for many
    real-world syscall filters to O(1), as discussed at Plumbers this
    year.

    - Improve seccomp performance via constant-action bitmaps (YiFei Zhu
    & Kees Cook)

    - Fix bogus __user annotations (Jann Horn)

    - Add missed CONFIG for improved selftest coverage (Mickaël Salaün)"

    * tag 'seccomp-v5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    selftests/seccomp: Update kernel config
    seccomp: Remove bogus __user annotations
    seccomp/cache: Report cache data through /proc/pid/seccomp_cache
    xtensa: Enable seccomp architecture tracking
    sh: Enable seccomp architecture tracking
    s390: Enable seccomp architecture tracking
    riscv: Enable seccomp architecture tracking
    powerpc: Enable seccomp architecture tracking
    parisc: Enable seccomp architecture tracking
    csky: Enable seccomp architecture tracking
    arm: Enable seccomp architecture tracking
    arm64: Enable seccomp architecture tracking
    selftests/seccomp: Compare bitmap vs filter overhead
    x86: Enable seccomp architecture tracking
    seccomp/cache: Add "emulator" to check if filter is constant allow
    seccomp/cache: Lookup syscall allowlist bitmap for fast path

    Linus Torvalds
     

16 Dec, 2020

6 commits

  • …/git/arnd/asm-generic

    Pull asm-generic cross-architecture timer cleanup from Arnd Bergmann:
    "This cleans up two ancient timer features that were never completed in
    the past, CONFIG_GENERIC_CLOCKEVENTS and CONFIG_ARCH_USES_GETTIMEOFFSET.

    There was only one user left for the ARCH_USES_GETTIMEOFFSET variant
    of clocksource implementations, the ARM EBSA110 platform. Rather than
    changing to use modern timekeeping, we remove the platform entirely as
    Russell no longer uses his machine and nobody else seems to have one
    any more.

    The conditional code for using arch_gettimeoffset() is removed as a
    result.

    For CONFIG_GENERIC_CLOCKEVENTS, there are still a couple of platforms
    not using clockevent drivers: parisc, ia64, most of m68k, and one Arm
    platform. These all do timer ticks slighly differently, and this gets
    cleaned up to the point they at least all call the same helper
    function.

    Instead of most platforms using 'select GENERIC_CLOCKEVENTS' in
    Kconfig, the polarity is now reversed, with the few remaining ones
    selecting LEGACY_TIMER_TICK instead"

    * tag 'asm-generic-timers-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    timekeeping: default GENERIC_CLOCKEVENTS to enabled
    timekeeping: remove xtime_update
    m68k: remove timer_interrupt() function
    m68k: change remaining timers to legacy_timer_tick
    m68k: m68328: use legacy_timer_tick()
    m68k: sun3/sun3c: use legacy_timer_tick
    m68k: split heartbeat out of timer function
    m68k: coldfire: use legacy_timer_tick()
    parisc: use legacy_timer_tick
    ARM: rpc: use legacy_timer_tick
    ia64: convert to legacy_timer_tick
    timekeeping: add CONFIG_LEGACY_TIMER_TICK
    timekeeping: remove arch_gettimeoffset
    net: remove am79c961a driver
    ARM: remove ebsa110 platform

    Linus Torvalds
     
  • …ernel/git/arnd/asm-generic

    Pull asm-generic mmu-context cleanup from Arnd Bergmann:
    "This is a cleanup series from Nicholas Piggin, preparing for later
    changes. The asm/mmu_context.h header are generalized and common code
    moved to asm-gneneric/mmu_context.h.

    This saves a bit of code and makes it easier to change in the future"

    * tag 'asm-generic-mmu-context-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (25 commits)
    h8300: Fix generic mmu_context build
    m68k: mmu_context: Fix Sun-3 build
    xtensa: use asm-generic/mmu_context.h for no-op implementations
    x86: use asm-generic/mmu_context.h for no-op implementations
    um: use asm-generic/mmu_context.h for no-op implementations
    sparc: use asm-generic/mmu_context.h for no-op implementations
    sh: use asm-generic/mmu_context.h for no-op implementations
    s390: use asm-generic/mmu_context.h for no-op implementations
    riscv: use asm-generic/mmu_context.h for no-op implementations
    powerpc: use asm-generic/mmu_context.h for no-op implementations
    parisc: use asm-generic/mmu_context.h for no-op implementations
    openrisc: use asm-generic/mmu_context.h for no-op implementations
    nios2: use asm-generic/mmu_context.h for no-op implementations
    nds32: use asm-generic/mmu_context.h for no-op implementations
    mips: use asm-generic/mmu_context.h for no-op implementations
    microblaze: use asm-generic/mmu_context.h for no-op implementations
    m68k: use asm-generic/mmu_context.h for no-op implementations
    ia64: use asm-generic/mmu_context.h for no-op implementations
    hexagon: use asm-generic/mmu_context.h for no-op implementations
    csky: use asm-generic/mmu_context.h for no-op implementations
    ...

    Linus Torvalds
     
  • Pull regset updates from Al Viro:
    "Dead code removal, mostly.

    The only exception is a bit of cleanups on itanic (getting rid of
    redundant stack unwinds - each access_uarea() call does it and we call
    that 7 times in a row in ptrace_[sg]etregs(), *after* having done it
    ourselves in the caller; location where the user registers have been
    spilled won't change under us, and we can bloody well just call
    access_elf_reg() directly, giving it the unw_frame_info we'd
    calculated for our own purposes)"

    * 'regset.followup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    c6x: kill ELF_CORE_COPY_FPREGS
    whack-a-mole: USE_ELF_CORE_DUMP
    [ia64] ptrace_[sg]etregs(): use access_elf_reg() instead of access_uarea()
    [ia64] missed cleanups from switch to regset coredumps
    arm: kill dump_task_regs()

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:

    - support for inhibiting input devices at request from userspace. If a
    device implements open/close methods, it can also put device into low
    power state. This is needed, for example, to disable keyboard and
    touchpad on convertibles when they are transitioned into tablet mode

    - now that ordinary input devices can be configured for polling mode,
    dedicated input polling device implementation has been removed

    - GTCO tablet driver has been removed, as it used problematic custom
    HID parser, devices are EOL, and there is no interest from the
    manufacturer

    - a new driver for Dialog DA7280 haptic chips has been introduced

    - a new driver for power button on Dell Wyse 3020

    - support for eKTF2132 in ektf2127 driver

    - support for SC2721 and SC2730 in sc27xx-vibra driver

    - enhancements for Atmel touchscreens, AD7846 touchscreens, Elan
    touchpads, ADP5589, ST1232 touchscreen, TM2 touchkey drivers

    - fixes and cleanups to allow clean builds with W=1

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (86 commits)
    Input: da7280 - fix spelling mistake "sequemce" -> "sequence"
    Input: cyapa_gen6 - fix out-of-bounds stack access
    Input: sc27xx - add support for sc2730 and sc2721
    dt-bindings: input: Add compatible string for SC2721 and SC2730
    dt-bindings: input: Convert sc27xx-vibra.txt to json-schema
    Input: stmpe - add axis inversion and swapping capability
    Input: adp5589-keys - do not explicitly control IRQ for wakeup
    Input: adp5589-keys - do not unconditionally configure as wakeup source
    Input: ipx4xx-beeper - convert comma to semicolon
    Input: parkbd - convert comma to semicolon
    Input: new da7280 haptic driver
    dt-bindings: input: Add document bindings for DA7280
    MAINTAINERS: da7280 updates to the Dialog Semiconductor search terms
    Input: elantech - fix protocol errors for some trackpoints in SMBus mode
    Input: elan_i2c - add new trackpoint report type 0x5F
    Input: elants - document some registers and values
    Input: atmel_mxt_ts - simplify the return expression of mxt_send_bootloader_cmd()
    Input: imx_keypad - add COMPILE_TEST support
    Input: applespi - use new structure for SPI transfer delays
    Input: synaptics-rmi4 - use new structure for SPI transfer delays
    ...

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "Generic interrupt and irqchips subsystem updates. Unusually, there is
    not a single completely new irq chip driver, just new DT bindings and
    extensions of existing drivers to accomodate new variants!

    Core:

    - Consolidation and robustness changes for irq time accounting

    - Cleanup and consolidation of irq stats

    - Remove the fasteoi IPI flow which has been proved useless

    - Provide an interface for converting legacy interrupt mechanism into
    irqdomains

    Drivers:

    - Preliminary support for managed interrupts on platform devices

    - Correctly identify allocation of MSIs proxyied by another device

    - Generalise the Ocelot support to new SoCs

    - Improve GICv4.1 vcpu entry, matching the corresponding KVM
    optimisation

    - Work around spurious interrupts on Qualcomm PDC

    - Random fixes and cleanups"

    * tag 'irq-core-2020-12-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
    irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling
    driver core: platform: Add devm_platform_get_irqs_affinity()
    ACPI: Drop acpi_dev_irqresource_disabled()
    resource: Add irqresource_disabled()
    genirq/affinity: Add irq_update_affinity_desc()
    irqchip/gic-v3-its: Flag device allocation as proxied if behind a PCI bridge
    irqchip/gic-v3-its: Tag ITS device as shared if allocating for a proxy device
    platform-msi: Track shared domain allocation
    irqchip/ti-sci-intr: Fix freeing of irqs
    irqchip/ti-sci-inta: Fix printing of inta id on probe success
    drivers/irqchip: Remove EZChip NPS interrupt controller
    Revert "genirq: Add fasteoi IPI flow"
    irqchip/hip04: Make IPIs use handle_percpu_devid_irq()
    irqchip/bcm2836: Make IPIs use handle_percpu_devid_irq()
    irqchip/armada-370-xp: Make IPIs use handle_percpu_devid_irq()
    irqchip/gic, gic-v3: Make SGIs use handle_percpu_devid_irq()
    irqchip/ocelot: Add support for Jaguar2 platforms
    irqchip/ocelot: Add support for Serval platforms
    irqchip/ocelot: Add support for Luton platforms
    irqchip/ocelot: prepare to support more SoC
    ...

    Linus Torvalds
     
  • Pull USB / Thunderbolt updates from Greg KH:
    "Here is the big USB and thunderbolt pull request for 5.11-rc1.

    Nothing major in here, just the grind of constant development to
    support new hardware and fix old issues:

    - thunderbolt updates for new USB4 hardware

    - cdns3 major driver updates

    - lots of typec updates and additions as more hardware is available

    - usb serial driver updates and fixes

    - other tiny USB driver updates

    All have been in linux-next with no reported issues"

    * tag 'usb-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (172 commits)
    usb: phy: convert comma to semicolon
    usb: ucsi: convert comma to semicolon
    usb: typec: tcpm: convert comma to semicolon
    usb: typec: tcpm: Update vbus_vsafe0v on init
    usb: typec: tcpci: Enable bleed discharge when auto discharge is enabled
    usb: typec: Add class for plug alt mode device
    USB: typec: tcpci: Add Bleed discharge to POWER_CONTROL definition
    USB: typec: tcpm: Add a 30ms room for tPSSourceOn in PR_SWAP
    USB: typec: tcpm: Fix PR_SWAP error handling
    USB: typec: tcpm: Hard Reset after not receiving a Request
    USB: gadget: f_fs: remove likely/unlikely
    usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
    USB: gadget: f_midi: setup SuperSpeed Plus descriptors
    USB: gadget: f_acm: add support for SuperSpeed Plus
    USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
    usb: typec: intel_pmc_mux: Configure cable generation value for USB4
    MAINTAINERS: Add myself as a reviewer for CADENCE USB3 DRD IP DRIVER
    usb: chipidea: ci_hdrc_imx: Use of_device_get_match_data()
    usb: chipidea: usbmisc_imx: Use of_device_get_match_data()
    usb: cdns3: fix NULL pointer dereference on no platform data
    ...

    Linus Torvalds