1. 26 Dec, 2018 6 commits
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v5.0-rc1' of git://git.monstr.eu/linux-2.6-microblaze · 30807ef2
      Linus Torvalds authored
      Pull arch/microblaze updates from Michal Simek:
       - Fix multiple Kbuild/Makefile issues
       - Start to use system call table generation
      * tag 'microblaze-v5.0-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: remove the explicit removal of system.dtb
        microblaze: fix race condition in building boot images
        microblaze: add linux.bin* and simpleImage.* to PHONY
        microblaze: fix multiple bugs in arch/microblaze/boot/Makefile
        microblaze: move "... is ready" messages to arch/microblaze/Makefile
        microblaze: adjust the help to the real behavior
        microblaze: generate uapi header and system call table files
        microblaze: add system call table generation support
        microblaze: move __NR_syscalls macro from asm/unistd.h
        microblaze: Typo s/use use/use/
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 507413a5
      Linus Torvalds authored
      Pull arch/sh syscall table scripting from Arnd Bergmann:
       "I worked with Firoz Khan to change all architectures to have their
        system call tables (syscall.S and asm/unistd.h) generated by a script
        from a more readable input file the same way that we already had on
        x86, s390 and arm.
        I offered to take those conversions through the asm-generic tree that
        did not get picked up by the architecture maintainers, and fortunately
        all but one have now been accepted into arch maintainer trees, so this
        branch only contains the conversion for arch/sh/, with permission from
        The conversion does not include the old 64-bit sh5 architecture, which
        has never shipped and not even compiled in a long time. The table in
        include/uapi/asm/unistd.h is also not included here, as Firoz is still
        working on that one, it will have to wait for the next following merge
        window, hopefully together with the addition of the 64-bit time_t
        system calls for the y2038 work that led to the system call table
      * tag 'asm-generic-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        sh: generate uapi header and syscall table header files
        sh: add system call table generation support
        sh: add __NR_syscalls along with NR_syscalls
    • Linus Torvalds's avatar
      Merge tag 'please-pull-y2038prep' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 9947ab7b
      Linus Torvalds authored
      Pull ia64 updates from Tony Luck:
       "Change ia64 to make it easier to update system call tables (in line
        with some other architectures).
        This is in preparation for y2038 changes which are forecasted to add
        several new system calls"
      * tag 'please-pull-y2038prep' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64: generate uapi header and system call table files
        ia64: add system call table generation support
        ia64: add an offset for system call number
        ia64: add __NR_syscalls along with NR_syscalls
        ia64: add __NR_old_getpagesize in uapi header file
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.21-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · e0783bb4
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
       - Generate syscall headers
       - Small improvements and cleanups
       - defconfig updates
      * tag 'm68k-for-v4.21-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Generate uapi header and syscall table header files
        m68k: Add system call table generation support
        m68k: Add __NR_syscalls along with NR_syscalls
        m68k/defconfig: Update defconfigs for v4.20-rc1
        m68k: Remove redundant 'default n' from Kconfig
        m68k: Unroll raw_outsb() loop
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 5694cecd
      Linus Torvalds authored
      Pull arm64 festive updates from Will Deacon:
       "In the end, we ended up with quite a lot more than I expected:
         - Support for ARMv8.3 Pointer Authentication in userspace (CRIU and
           kernel-side support to come later)
         - Support for per-thread stack canaries, pending an update to GCC
           that is currently undergoing review
         - Support for kexec_file_load(), which permits secure boot of a kexec
           payload but also happens to improve the performance of kexec
           dramatically because we can avoid the sucky purgatory code from
           userspace. Kdump will come later (requires updates to libfdt).
         - Optimisation of our dynamic CPU feature framework, so that all
           detected features are enabled via a single stop_machine()
         - KPTI whitelisting of Cortex-A CPUs unaffected by Meltdown, so that
           they can benefit from global TLB entries when KASLR is not in use
         - 52-bit virtual addressing for userspace (kernel remains 48-bit)
         - Patch in LSE atomics for per-cpu atomic operations
         - Custom preempt.h implementation to avoid unconditional calls to
           preempt_schedule() from preempt_enable()
         - Support for the new 'SB' Speculation Barrier instruction
         - Vectorised implementation of XOR checksumming and CRC32
         - Workaround for Cortex-A76 erratum #1165522
         - Improved compatibility with Clang/LLD
         - Support for TX2 system PMUS for profiling the L3 cache and DMC
         - Reflect read-only permissions in the linear map by default
         - Ensure MMIO reads are ordered with subsequent calls to Xdelay()
         - Initial support for memory hotplug
         - Tweak the threshold when we invalidate the TLB by-ASID, so that
           mremap() performance is improved for ranges spanning multiple PMDs.
         - Minor refactoring and cleanups"
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (125 commits)
        arm64: kaslr: print PHYS_OFFSET in dump_kernel_offset()
        arm64: sysreg: Use _BITUL() when defining register bits
        arm64: cpufeature: Rework ptr auth hwcaps using multi_entry_cap_matches
        arm64: cpufeature: Reduce number of pointer auth CPU caps from 6 to 4
        arm64: docs: document pointer authentication
        arm64: ptr auth: Move per-thread keys from thread_info to thread_struct
        arm64: enable pointer authentication
        arm64: add prctl control for resetting ptrauth keys
        arm64: perf: strip PAC when unwinding userspace
        arm64: expose user PAC bit positions via ptrace
        arm64: add basic pointer authentication support
        arm64/cpufeature: detect pointer authentication
        arm64: Don't trap host pointer auth use to EL2
        arm64/kvm: hide ptrauth from guests
        arm64/kvm: consistently handle host HCR_EL2 flags
        arm64: add pointer authentication register bits
        arm64: add comments about EC exception levels
        arm64: perf: Treat EXCLUDE_EL* bit definitions as unsigned
        arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field
        arm64: enable per-task stack canaries
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 13e1ad2b
      Linus Torvalds authored
      Pull x86 pti updates from Thomas Gleixner:
       "No point in speculating what's in this parcel:
         - Drop the swap storage limit when L1TF is disabled so the full space
           is available
         - Add support for the new AMD STIBP always on mitigation mode
         - Fix a bunch of STIPB typos"
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/speculation: Add support for STIBP always-on preferred mode
        x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off
        x86/speculation: Change misspelled STIPB to STIBP
  2. 25 Dec, 2018 19 commits
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9f687ddd
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "The timer department delivers the following christmas presents:
        Core code:
         - Use proper seqcount initializer to make lockdep happy
         - SPDX annotations and cleanup of license boilerplates
         - Use DEFINE_SHOW_ATTRIBUTE() instead of open coding it
         - Minor cleanups
        Driver code:
         - Add the sched_clock for the arc timer (Alexey Brodkin)
         - Change the file timer names for riscv, rockchip, tegra20, sun4i and
           meson6 (Daniel Lezcano)
         - Add the DT bindings for r8a7796, r8a77470 and r8a774a1 (Biju Das)
         - Remove the early platform driver registration for timer-ti-dm
           (Bartosz Golaszewski)
         - Provide the sched_clock for the riscv timer (Anup Patel)
         - Add support for ARM64 for the imx-gpt and convert the imx-tpm to
           the timer-of API (Anson Huang)
         - Remove useless irq protection for the imx-gpt (Clément Péron)
         - Remove a duplicate function name for the vt8500 (Dan Carpenter)
         - Remove obsolete inclusion of <asm/smp_twd.h> for the tegra20 (Geert
         - Demote the prcmu and the custom sched_clock for the dbx500 and the
           ux500 (Linus Walleij)
         - Add a new timer clock for the RDA8810PL (Manivannan Sadhasivam)
         - Rename the macro to stick to the register name and add the delay
           timer (Martin Blumenstingl)
         - Switch the bcm2835 to the SPDX identifier (Stefan Wahren)
         - Fix the interrupt register access on the fttmr010 (Tao Ren)
         - Add missing of_node_put in the initialization path on the
           integrator-ap (Yangtao Li)"
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)
        dt-bindings: timer: Document RDA8810PL SoC timer
        clocksource/drivers/rda: Add clock driver for RDA8810PL SoC
        clocksource/drivers/meson6: Change name meson6_timer timer-meson6
        clocksource/drivers/sun4i: Change name sun4i_timer to timer-sun4i
        clocksource/drivers/tegra20: Change name tegra20_timer to timer-tegra20
        clocksource/drivers/rockchip: Change name rockchip_timer to timer-rockchip
        clocksource/drivers/riscv: Change name riscv_timer to timer-riscv
        clocksource/drivers/riscv_timer: Provide the sched_clock
        clocksource/drivers/timer-imx-tpm: Specify clock name for timer-of
        clocksource/drivers/fttmr010: Fix invalid interrupt register access
        clocksource/drivers/integrator-ap: Add missing of_node_put()
        clocksource/drivers/bcm2835: Switch to SPDX identifier
        dt-bindings: timer: renesas, cmt: Document r8a774a1 CMT support
        clocksource/drivers/timer-imx-tpm: Convert the driver to timer-of
        clocksource/drivers/arc_timer: Utilize generic sched_clock
        dt-bindings: timer: renesas, cmt: Document r8a77470 CMT support
        dt-bindings: timer: renesas, cmt: Document r8a7796 CMT support
        clocksource/drivers/imx-gpt: Remove unnecessary irq protection
        clocksource/drivers/imx-gpt: Add support for ARM64
        clocksource/drivers/meson6_timer: Implement the ARM delay timer
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e4b99d41
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The interrupt department provides:
        Core updates:
         - Better spreading to NUMA nodes in the affinity management
         - Support for more than one set of interrupts to spread out to allow
           separate queues for separate functionality of a single device.
         - Decouple the non queue interrupts from being managed. Those are
           usually general interrupts for error handling etc. and those should
           never be shut down. This also a preparation to utilize the
           spreading mechanism for initial spreading of non-managed interrupts
         - Make the single CPU target selection in the matrix allocator more
           balanced so interrupts won't accumulate on single CPUs in certain
         - A large spell checking patch so we don't end up fixing single typos
           over and over.
        Driver updates:
         - A bunch of new irqchip drivers (RDA8810PL, Madera, imx-irqsteer)
         - Updates for the 8MQ, F1C100s platform drivers
         - A number of SPDX cleanups
         - A workaround for a very broken GICv3 implementation on msm8996
           which sports a botched register set.
         - A platform-msi fix to prevent memory leakage
         - Various cleanups"
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        genirq/affinity: Add is_managed to struct irq_affinity_desc
        genirq/core: Introduce struct irq_affinity_desc
        genirq/affinity: Remove excess indentation
        irqchip/stm32: protect configuration registers with hwspinlock
        dt-bindings: interrupt-controller: stm32: Document hwlock properties
        irqchip: Add driver for imx-irqsteer controller
        dt-bindings/irq: Add binding for Freescale IRQSTEER multiplexer
        irqchip: Add driver for Cirrus Logic Madera codecs
        genirq: Fix various typos in comments
        irqchip/irq-imx-gpcv2: Add IRQCHIP_DECLARE for i.MX8MQ compatible
        irqchip/irq-rda-intc: Fix return value check in rda8810_intc_init()
        irqchip/irq-imx-gpcv2: Silence "fall through" warning
        irqchip/gic-v3: Add quirk for msm8996 broken registers
        irqchip/gic: Add support to device tree based quirks
        dt-bindings/gic-v3: Add msm8996 compatible string
        irqchip/sun4i: Add support for Allwinner ARMv5 F1C100s
        irqchip/sun4i: Move IC specific register offsets to struct
        irqchip/sun4i: Add a struct to hold global variables
        dt-bindings: interrupt-controller: Add suniv interrupt-controller
        irqchip: Add RDA8810PL interrupt driver
    • Linus Torvalds's avatar
      Merge tag 'devprop-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d8924c0d
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "This introduces 'software nodes' that are analogous to the DT and ACPI
        firmware nodes except that they can be created by drivers themselves
        and do a couple of assorted cleanups.
         - Introduce "software nodes", analogous to the DT and ACPI firmware
           nodes except that they can be created by kernel code, in order to
           complement fwnodes representing real firmware nodes when they are
           incomplete (for example missing device properties) and to supply
           the primary fwnode when the firmware lacks hardware description for
           a device completely, and replace the "property_set" struct
           fwnode_handle type with software nodes (Heikki Krogerus).
         - Clean up the just introduced software nodes support and fix a
           commet in the graph-handling code (Colin Ian King, Marco Felsch)"
      * tag 'devprop-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: fix fwnode_graph_get_next_endpoint() documentation
        drivers: base: swnode: remove need for a temporary string for the node name
        device property: Remove struct property_set
        device property: Move device_add_properties() to swnode.c
        drivers: base: Introducing software nodes to the firmware node framework
        ACPI / glue: Add acpi_platform_notify() function
        drivers core: Prepare support for multiple platform notifications
        driver core: platform: Remove duplicated device_remove_properties() call
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 1fbb2dc6
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "This round is dominated by NXP's i.MX clk drivers. We gained support
        for two or three i.MX SoCs in here and that mostly means a lot of
        driver code and data.
        Beyond that platform, there are some new Mediatek, Amlogic, and
        Qualcomm clk drivers added in here, and then we get to the long tail
        of driver updates and non-critical fixes all around, including code
        for vendors such as Renesas, Rockchip, Nvidia, and Allwinner. Overall,
        the driver updates look normal.
        Apart from the usual driver updates we have an update to make
        registering OF based clk providers a little simpler when they're
        devices created as a child of a device backed by a node in DT. Drivers
        don't have to jump through hoops to unregister the provider upon
        driver removal anymore because the API does the right thing and uses
        the parent device DT node.
         - Make devm_of_clk_add_hw_provider() use parent dt node if necessary
         - Various SPDX taggings
         - Mark clk_ops const when possible
        New Drivers:
         - NXP i.MX7ULP SoC clock support
         - NXP i.MX8QXP SoC clock support
         - NXP i.MX8MQ SoC clock support
         - NXP QorIQ T1023 SoC support
         - Qualcomm SDM845 audio subsystem clks
         - Qualcomm SDM845 GPU clck controllers
         - Qualcomm QCS404 RPM clk support
         - Mediatek MT7629 SoC clk controllers
         - Allwinner F1c100s SoC clocks
         - Allwinner H6 display engine clocks
         - Amlogic GX video clocks
         - Support for Amlogic meson8b CPU frequency scaling
         - Amlogic Meson8b CPU post-divider clocks
         - Proper suspend/resume on VersaClock5
         - Shrink code some with DEFINE_SHOW_ATTRIBUTE()
         - Register fixes for Rockchip rk3188 and rk3328
         - One new critical clock for Rockchip rk3188 and a fixed clock id
           (double used number)
         - New clock id for Rockchip rk3328
         - Amlogic Meson8/Meson8b video clock support
         - Amlogic got a clk-input helper and used it for the axg-audio clock
         - Sigma Delta modulation for the Allwinner A33 audio clocks
         - Support for CPEX (timer) clocks on various Renesas R-Car Gen3 and
           RZ/G2 SoCs
         - Support for SDHI HS400 clocks on early revisions of Renesas R-Car
           H3 and M3-W
         - Support for SDHI and USB clocks on Renesas RZ/A2
         - Support for RPC (SPI Multi I/O Bus Controller) clocks on Renesas
           R-Car V3M
         - Qualcomm MSM8998 GCC driver improvements (resets, drop unused clks,
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (172 commits)
        clk: imx: imx7ulp: add arm hsrun mode clocks support
        dt-bindings: clock: imx7ulp: add HSRUN mode related clocks
        clk: Use of_node_name_eq for node name comparisons
        clk: vc5: Add suspend/resume support
        clk: qcom: Drop unused 8998 clock
        clk: qcom: Leave mmss noc on for 8998
        clk: tegra: Return the exact clock rate from clk_round_rate
        clk: tegra30: Use Tegra CPU powergate helper function
        soc/tegra: pmc: Drop SMP dependency from CPU APIs
        clk: tegra: Fix maximum audio sync clock for Tegra124/210
        clk: tegra: get rid of duplicate defines
        clk: imx: add imx8qxp lpcg driver
        clk: imx: add lpcg clock support
        clk: imx: add imx8qxp clk driver
        clk: imx: Make the i.MX8MQ CCM clock driver CLK_IMX8MQ dependant
        clk: imx: add scu clock common part
        clk: imx: add configuration option for mmio clks
        dt-bindings: clock: add imx8qxp lpcg clock binding
        dt-bindings: clock: imx8qxp: add SCU clock IDs
        clk: qcom: Add missing msm8998 resets
    • Linus Torvalds's avatar
      Merge tag 'leds-for-4.21-rc1' of... · 4e4390ad
      Linus Torvalds authored
      Merge tag 'leds-for-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      Pull LED updates from Jacek Anaszewski:
       "There are several few-liners, where most of them are fixes and
        improvments. One thing standing out is ground preparation for
        inititializing trigger parameters via Device Tree.
        We introduce LED_INIT_DEFAULT_TRIGGER flag for that purpose and set it
        when default trigger is matched. It indicates that trigger should
        parse DT properties to retrieve the initialization data when set as
        default one"
      * tag 'leds-for-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        led: triggers: Initialize LED_INIT_DEFAULT_TRIGGER if trigger is brought after class
        led: triggers: Add LED_INIT_DEFAULT_TRIGGER flag
        led: triggers: Break the for loop after default trigger is found
        leds: pwm: Use OF variant of LED registering function
        leds: pwm: Simplify with resource-managed devm_led_classdev_register()
        leds: gpio: Drop unneeded manual of_node assignment
        leds: 88pm860x: Use of_node_name_eq for node name comparisons
        leds: powernv: add of_node_put()
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b1669432
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "This has been a busy release for the regmap-irq code, there's several
        new features been added, including an API cleanup for how we specify
        types that affected one existing driver (gpio-max77620):
         - Support for hardware that flags rising and falling edges on
           separate status bits from Bartosz Golaszewski.
         - Support for explicitly clearing interrupts before unmasking from
           Bartosz Golaszewski.
         - Support for level triggered IRQs from Matti Vaittinen"
      * tag 'regmap-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: irq: add an option to clear status registers on unmask
        regmap: regmap-irq/gpio-max77620: add level-irq support
        regmap: regmap-irq: Remove default irq type setting from core
        regmap: debugfs: convert to DEFINE_SHOW_ATTRIBUTE
        regmap: rbtree: convert to DEFINE_SHOW_ATTRIBUTE
        regmap: irq: handle HW using separate rising/falling edge interrupts
        regmap: add a new macro:REGMAP_IRQ_REG_LINE(_id, _reg_bits)
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 0051db82
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "The main thing this release has been a lot of work on the integration
        with SPI NOR flashes, there's been some specific support for a while
        for controller features designed to make them perform better but it's
        not worked out as well as hoped so the interface has been redesigned
        in a way that will hopefully do better - it's already been adopted by
        a number of additional controllers so things are looking good.
        Otherwise most of the work has been driver specific:
         - Support for better integration with NOR flashes from Boris
           Brezillon and Yogesh Narayan Gaur plus usage of it in several
         - A big cleanup of the Rockchip driver from Emil Renner Berthing.
         - Lots of performance improvements for bcm2835 from Lukas Wunner.
         - Slave mode support for pxa2xx from Lubomir Rintel.
         - Support for Macronix MXIC, Mediatek MT7629 and MT8183, NPCM PSPI,
           and Renesas r8a77470"
      * tag 'spi-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (90 commits)
        spi: sh-msiof: Reduce the number of times write to and perform the transmission from FIFO
        spi: sh-msiof: Add r8a774c0 support
        doc: lpspi: Document DT bindings for LPSPI slave mode
        spi: lpspi: Let watermark change with send data length
        spi: lpspi: Add slave mode support
        spi: lpspi: Replace all "master" with "controller"
        spi: imx: drop useless member speed_hz from driver data struct
        spi: imx: rename config callback and add useful parameters
        spi: imx: style fixes
        spi: imx: mx51-ecspi: Move some initialisation to prepare_message hook.
        spi: imx: add a device specific prepare_message callback
        mtd: atmel-quadspi: disallow building on ebsa110
        spi: Update NPCM PSPI controller documentation
        spi: npcm: Modify pspi send function
        spi: Use of_node_name_eq for node name comparisons
        spi: dw-mmio: add ACPI support
        spi: bcm2835: Synchronize with callback on DMA termination
        spi: bcm2835: Speed up FIFO access if fill level is known
        spi: bcm2835: Polish transfer of DMA prologue
        spi: spi-mem: add support for octal mode I/O data transfer
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 79f20778
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This has been a very busy release for the core, some fixes, one large
        new feature and a big bit of refactoring to update the GPIO API:
         - Support for coupled regulators from Dmitry Osipenko based on a
           prior attempt by Maciej Purski, allowing us to handle situations
           where the voltages on two regulators can't be too far apart from
           each other.
         - Conversion of the GPIO support in both drivers and the core to use
           GPIO descriptors rather than numbers, part of the overall project
           to remove GPIO numbers.
         - Support for standby mode suspend states from Andrei Stefanescu.
         - New drivers for Allwinner AXP209, Cirrus Logic Lochnagar and
           Microchip MPC16502"
      * tag 'regulator-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (90 commits)
        regulator: tps65910: fix a missing check of return value
        regulator: mcp16502: Select REGMAP_I2C to fix build error
        regulator: convert to DEFINE_SHOW_ATTRIBUTE
        regulator: mcp16502: Fix missing n_voltages setting
        regulator: mcp16502: Use #ifdef CONFIG_PM_SLEEP around mcp16502_suspend/resume_noirq
        regulator: mcp16502: code cleanup
        regulator: act8945a-regulator: make symbol act8945a_pm static
        drivers/regulator: fix a missing check of return value
        regulator: act8945a-regulator: fix 'defined but not used' compiler warning
        regulator: axp20x: fix set_ramp_delay for AXP209/dcdc2
        regulator: mcp16502: add support for suspend
        mfd: axp20x: use explicit bit defines
        mfd: axp20x: Clean up included headers
        regulator: dts: enable soft-start and ramp delay for the OLinuXino Lime2
        dt-bindings: mfd: axp20x: Add software based soft_start for AXP209 LDO3
        regulator: axp20x: add software based soft_start for AXP209 LDO3
        dt-bindings: mfd: axp20x: add support for regulator-ramp-delay for AXP209
        regulator: axp20x: add support for set_ramp_delay for AXP209
        mfd: axp20x: name voltage ramping define properly
        regulator: mcp16502: add regulator driver for MCP16502
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.21-rc1' of... · d923fd6d
      Linus Torvalds authored
      Merge tag 'pwm/for-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      Pull pwm updates from Thierry Reding:
       "Not a lot going on this cycle.
        There's some more cleanup going on and new driver support that was not
        quite ready in time for v4.21-rc1, but here are a few fixes and
        improvements that are good to go.
        The Kona PWM driver can now be built on the Cygnus architecture and
        the i.MX driver gained support for hardware readback. Some small fixes
        are provided for the clks711x and lpc18xx-sct drivers.
        Finally, to round things off some drivers are switched to SPDX license
      * tag 'pwm/for-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        dt-bindings: pwm: rcar: Add r8a774c0 support
        pwm: imx: Add ipg clock operation
        pwm: clps711x: Switch to SPDX identifier
        pwm: clps711x: Fix period calculation
        pwm: bcm2835: Switch to SPDX identifier
        pwm: Enable Kona PWM to be built for the Cygnus architecture
        pwm: Drop legacy wrapper for changing polarity
        pwm: imx: Implement get_state() function for hardware readout
        pwm: imx: Use bitops and bitfield macros to define register values
        pwm: imx: Sort include files
        pwm: lpc18xx-sct: Don't reconfigure PWM in .request and .free
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e6d13150
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to the 20181213 upstream
        revision, make it possible to build the ACPI subsystem without PCI
        support, and a new OEM _OSI string, add a new device support to the
        ACPI driver for AMD SoCs and fix PM handling in the ACPI driver for
        Intel SoCs, fix the SPCR table handling and do some assorted fixes and
         - Update the ACPICA code in the kernel to the 20181213 upstream
           revision including:
            * New Windows _OSI strings (Bob Moore, Jung-uk Kim).
            * Buffers-to-string conversions update (Bob Moore).
            * Removal of support for expressions in package elements (Bob
            * New option to display method/object evaluation in debug output
              (Bob Moore).
            * Compiler improvements (Bob Moore, Erik Schmauss).
            * Minor debugger fix (Erik Schmauss).
            * Disassembler improvement (Erik Schmauss).
            * Assorted cleanups (Bob Moore, Colin Ian King, Erik Schmauss).
         - Add support for a new OEM _OSI string to indicate special handling
           of secondary graphics adapters on some systems (Alex Hung).
         - Make it possible to build the ACPI subystem without PCI support
           (Sinan Kaya).
         - Make the SPCR table handling regard baud rate 0 in accordance with
           the specification of it and make the DSDT override code support
           DSDT code names generated by recent ACPICA (Andy Shevchenko, Wang
           Dongsheng, Nathan Chancellor).
         - Add clock frequency for Hisilicon Hip08 SPI controller to the ACPI
           driver for AMD SoCs (APD) (Jay Fang).
         - Fix the PM handling during device init in the ACPI driver for Intel
           SoCs (LPSS) (Hans de Goede).
         - Avoid double panic()s by clearing the APEI GHES block_status before
           panic() (Lenny Szubowicz).
         - Clean up a function invocation in the ACPI core and get rid of some
           code duplication by using the DEFINE_SHOW_ATTRIBUTE macro in the
           APEI support code (Alexey Dobriyan, Yangtao Li)"
      * tag 'acpi-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (31 commits)
        ACPI / tables: Add an ifdef around amlcode and dsdt_amlcode
        ACPI/APEI: Clear GHES block_status before panic()
        ACPI: Make PCI slot detection driver depend on PCI
        ACPI/IORT: Stub out ACS functions when CONFIG_PCI is not set
        arm64: select ACPI PCI code only when both features are enabled
        PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set
        ACPICA: Remove PCI bits from ACPICA when CONFIG_PCI is unset
        ACPI: Allow CONFIG_PCI to be unset for reboot
        ACPI: Move PCI reset to a separate function
        ACPI / OSI: Add OEM _OSI string to enable dGPU direct output
        ACPI / tables: add DSDT AmlCode new declaration name support
        ACPICA: Update version to 20181213
        ACPICA: change coding style to match ACPICA, no functional change
        ACPICA: Debug output: Add option to display method/object evaluation
        ACPICA: disassembler: disassemble OEMx tables as AML
        ACPICA: Add "Windows 2018.2" string in the _OSI support
        ACPICA: Expressions in package elements are not supported
        ACPICA: Update buffer-to-string conversions
        ACPICA: add comments, no functional change
        ACPICA: Remove defines that use deprecated flag
    • Linus Torvalds's avatar
      Merge tag 'pm-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1e2af254
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These add sysadmin documentation for cpuidle, extend the cpuidle
        subsystem somewhat, improve the handling of performance states in the
        generic power domains (genpd) and operating performance points (OPP)
        frameworks, add a new cpufreq driver for Qualcomm SoCs, update some
        other cpufreq drivers, switch over the runtime PM framework to using
        high-res timers for device autosuspend, fix a problem with
        suspend-to-idle on ACPI-based platforms, add system-wide suspend and
        resume handling to the devfreq framework, do some janitorial cleanups
        all over and update some utilities.
         - Add sysadmin documentation for cpuidle (Rafael Wysocki).
         - Make it possible to specify a cpuidle governor from kernel command
           line, add new cpuidle state sysfs attributes for governor
           evaluation, and improve the "polling" idle state handling (Rafael
         - Fix the handling of the "required-opps" DT property in the
           operating performance points (OPP) framework, improve the
           integration of it with the generic power domains (genpd) framework,
           improve the handling of performance states in them and clean up the
           idle states vs performance states separation in genpd (Viresh
           Kumar, Ulf Hansson).
         - Add a cpufreq driver called "qcom-hw" for Qualcomm SoCs using a
           hardware engine to control CPU frequency transitions along with DT
           bindings for it (Taniya Das).
         - Fix an intel_pstate driver issue related to CPU offline and update
           the documentation of it (Srinivas Pandruvada).
         - Clean up the imx6q cpufreq driver (Anson Huang).
         - Add SPDX license IDs to cpufreq schedutil governor files (Daniel
         - Switch over the runtime PM framework to using high-res timers for
           device autosuspend to allow the control of it to be more precise
           (Vincent Guittot).
         - Disable non-wakeup ACPI GPEs during suspend-to-idle so that they
           don't prevent the system from reaching the target low-power state
           and simplify the suspend-to-idle handling on ACPI platforms without
           full Low-Power S0 Idle (LPS0) support (Rafael Wysocki).
         - Add system-wide suspend and resume support to the devfreq framework
           (Lukasz Luba).
         - Clean up the SmartReflex adaptive voltage scaling (AVS) driver and
           add an SPDX license ID to it (Nishanth Menon, Uwe Kleine-König,
           Thomas Meyer).
         - Get rid of code duplication by using the DEFINE_SHOW_ATTRIBUTE
           macro in some places, fix some DT node refcount leaks, and do some
           other janitorial cleanups (Yangtao Li).
         - Update the cpupower, intel_pstate_tracer and turbosat utilities
           (Abhishek Goel, Doug Smythies, Len Brown)"
      * tag 'pm-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (54 commits)
        PM / Domains: remove define_genpd_open_function() and define_genpd_debugfs_fops()
        PM-runtime: Switch autosuspend over to using hrtimers
        cpufreq: qcom-hw: Add support for QCOM cpufreq HW driver
        dt-bindings: cpufreq: Introduce QCOM cpufreq firmware bindings
        ACPI: PM: Loop in full LPS0 mode only
        ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle
        tools/power/x86/intel_pstate_tracer: Fix non root execution for post processing a trace file
        tools/power turbostat: consolidate duplicate model numbers
        tools/power turbostat: fix goldmont C-state limit decoding
        PM / Domains: Propagate performance state updates
        PM / Domains: Factorize dev_pm_genpd_set_performance_state()
        PM / Domains: Save OPP table pointer in genpd
        OPP: Don't return 0 on error from of_get_required_opp_performance_state()
        OPP: Add dev_pm_opp_xlate_performance_state() helper
        OPP: Improve _find_table_of_opp_np()
        PM / Domains: Make genpd performance states orthogonal to the idlestates
        PM / sleep: convert to DEFINE_SHOW_ATTRIBUTE
        cpuidle: Add 'above' and 'below' idle state metrics
        PM / AVS: SmartReflex: Switch to SPDX Licence ID
        PM / AVS: SmartReflex: NULL check before some freeing functions is not needed
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · b271b212
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       - Support for ZynqMP DDR controller support to synopsys_edac along with
         a driver cleanup and generalization for the addition of support for
         the new IP. (Manish Narani)
       - Removal of the /sys/bus/edac devices hierarchy. This enabled us to
         get rid of the silly memory controllers maximum number notion. (Tony
         Luck and Borislav Petkov)
       - skx_edac improvements and fixes. (Qiuxu Zhuo and Tony Luck)
       - The usual garden variety of small cleanups and fixes.
      * tag 'edac_for_4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (25 commits)
        EDAC, fsl_ddr: Add LS1021A to the list of supported hardware
        EDAC, i5000: Remove set but not used local variables
        MAINTAINERS, EDAC: Drop bouncing email
        EDAC, i82975x: Fix spelling mistake "reserverd" -> "reserved"
        EDAC, fsl: Move error injection under CONFIG_EDAC_DEBUG
        EDAC, skx: Let EDAC core show the decoded result for debugfs
        EDAC, skx: Move debugfs node under EDAC's hierarchy
        EDAC, skx: Prepend hex formatting with '0x'
        EDAC, skx: Fix function calling order in skx_exit()
        EDAC: Drop per-memory controller buses
        EDAC: Don't add devices under /sys/bus/edac
        EDAC: Fix indentation issues in several EDAC drivers
        EDAC, skx: Fix randconfig builds in a better way
        EDAC, i82975x: Remove set but not used variable dtype
        EDAC, qcom_edac: Remove irq_handled local variable
        EDAC, synopsys: Add Error Injection support for ZynqMP DDR controller
        EDAC, synopsys: Add ECC support for ZynqMP DDR controller
        EDAC, synopsys: Add macro defines for ZynqMP DDRC
        dt: bindings: Document ZynqMP DDRC in Synopsys documentation
        EDAC, synopsys: Add error handling for the of_device_get_match_data() result
    • Linus Torvalds's avatar
      Merge tag 'sound-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 8e61e7b5
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "There are no intensive changes in both ALSA and ASoC core parts while
        rather most of changes are a bunch of driver fixes and updates. A
        large diff pattern appears in ASoC TI part which now merges both OMAP
        and DaVinci stuff, but the rest spreads allover the places.
        Note that this pull request includes also some updates for LED trigger
        and platform drivers for mute LEDs, appearing in the diffstat as well.
        Some highlights:
         - Preparatory work for merging the audio-graph and audio-graph-scu
         - A merge of TI OMAP and DaVinci directories, as both product lines
           get merged together. Also including a few architecture changes as
         - Major cleanups of the Maxim MAX9867 driver
         - Small fixes for tablets & co with Intel BYT/CHT chips
         - Lots of rsnd updates as usual
         - Support for Asahi Kaesi AKM4118, AMD ACP3x, Intel platforms with
           RT5660, Meson AXG S/PDIF inputs, several Qualcomm IPs and Xilinx
           I2S controllers
         - Introduce audio-mute LED trigger for replacing the former hackish
           dynamic binding
         - Huawei WMI hotkey and mute LED support
         - Refactoring of PM code and display power controls
         - Headset button support in the generic jack code
         - A few updates for Tegra
         - Fixups for HP EliteBook and ASUS UX391UA
         - Lots of updates for Intel ASoC HD-audio, including the improved DSP
           detection and the fallback binding from ASoC SST to legacy HD-audio
           controller drivers
         - Updates for FireWire TASCAM and Fireface devices, some other fixes
         - A few potential Spectre v1 fixes that are all trivial"
      * tag 'sound-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (280 commits)
        ALSA: HD-Audio: SKL+: force HDaudio legacy or SKL+ driver selection
        ALSA: HD-Audio: SKL+: abort probe if DSP is present and Skylake driver selected
        ALSA: HDA: export process_unsol_events()
        ALSA: hda/realtek: Enable audio jacks of ASUS UX391UA with ALC294
        ALSA: bebob: fix model-id of unit for Apogee Ensemble
        ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities
        ALSA: rme9652: Fix potential Spectre v1 vulnerability
        ASoC: ti: Kconfig: Remove the deprecated options
        ARM: davinci_all_defconfig: Update the audio options
        ARM: omap1_defconfig: Do not select ASoC by default
        ARM: omap2plus_defconfig: Update the audio options
        ARM: davinci: dm365-evm: Update for the new ASoC Kcofnig options
        ARM: OMAP2: Update for new MCBSP Kconfig option
        ARM: OMAP1: Makefile: Update for new MCBSP Kconfig option
        MAINTAINERS: Add entry for sound/soc/ti and update the OMAP audio support
        ASoC: ti: Merge davinci and omap directories
        ALSA: hda: add mute LED support for HP EliteBook 840 G4
        ALSA: fireface: code refactoring to handle model-specific registers
        ALSA: fireface: add support for packet streaming on Fireface 800
        ALSA: fireface: allocate isochronous resources in mode-specific implementation
    • Linus Torvalds's avatar
      Merge tag 'media/v4.20-7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 996680d4
      Linus Torvalds authored
      Pull more media updates from Mauro Carvalho Chehab:
       "The Intel IPU3 camera driver"
      * tag 'media/v4.20-7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (23 commits)
        media: staging/ipu3-imgu: Add MAINTAINERS entry
        media: staging/ipu3-imgu: Address documentation comments
        media: v4l: Add Intel IPU3 meta buffer formats
        media: doc-rst: Add Intel IPU3 documentation
        media: ipu3-imgu: Fix firmware binary location
        media: ipu3-imgu: Fix compiler warnings
        media: staging/intel-ipu3: Add dual pipe support
        media: staging/intel-ipu3: Add Intel IPU3 meta data uAPI
        media: staging/intel-ipu3: Add imgu top level pci device driver
        media: staging/intel-ipu3: Add v4l2 driver based on media framework
        media: staging/intel-ipu3: Add css pipeline programming
        media: staging/intel-ipu3: css: Initialize css hardware
        media: staging/intel-ipu3: css: Compute and program ccs
        media: staging/intel-ipu3: css: Add static settings for image pipeline
        media: staging/intel-ipu3: css: Add support for firmware management
        media: staging/intel-ipu3: css: Add dma buff pool utility functions
        media: staging/intel-ipu3: Implement DMA mapping functions
        media: staging/intel-ipu3: mmu: Implement driver
        media: staging/intel-ipu3: abi: Add structs
        media: staging/intel-ipu3: abi: Add register definitions and enum
    • Linus Torvalds's avatar
      Merge tag 'media/v4.20-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 5813540b
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
       "First set of media patches contains:
         - Three new platform drivers: aspeed-video seco-sed and sun5i-csi;
         - One new sensor driver: imx214;
         - Support for Xbox DVD Movie Playback kit remote controller;
         - Removal of the legacy friio driver. The functionalities were ported
           to another driver, already merged;
         - New staging driver: Rockchip VPU;
         - Added license text or SPDX tags to all media documentation files;
         - Usual set of cleanup, fixes and enhancements"
      * tag 'media/v4.20-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (263 commits)
        media: cx23885: only reset DMA on problematic CPUs
        media: ddbridge: Move asm includes after linux ones
        media: drxk_hard: check if parameter is not NULL
        media: docs: fix some GPL licensing ambiguity at the text
        media: platform: Add Aspeed Video Engine driver
        media: dt-bindings: media: Add Aspeed Video Engine binding documentation
        media: vimc: fix start stream when link is disabled
        media: v4l2-device: Link subdevices to their parent devices if available
        media: siano: Use kmemdup instead of duplicating its function
        media: rockchip vpu: remove some unused vars
        media: cedrus: don't initialize pointers with zero
        media: cetrus: return an error if alloc fails
        media: cedrus: Add device-tree compatible and variant for A64 support
        media: cedrus: Add device-tree compatible and variant for H5 support
        media: dt-bindings: media: cedrus: Add compatibles for the A64 and H5
        media: video-i2c: check if chip struct has set_power function
        media: video-i2c: support runtime PM
        media: staging: media: imx: Use of_node_name_eq for node name comparisons
        media: v4l2-subdev: document controls need _FL_HAS_DEVNODE
        media: vivid: Improve timestamping
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-4.21' of git://git.infradead.org/linux-mtd · eaa76499
      Linus Torvalds authored
      Pull mtd updates from Boris Brezillon:
       "SPI NOR Core changes:
         - Parse the 4BAIT SFDP section
         - Add a bunch of SPI NOR entries to the flash_info table
         - Add the concept of SFDP fixups and use it to fix a bug on MX25L25635F
         - A bunch of minor cleanups/comestic changes
        NAND core changes:
         - kernel-doc miscellaneous fixes.
         - Third batch of fixes/cleanup to the raw NAND core impacting various
           controller drivers (ams-delta, marvell, fsmc, denali, tegra,
            * Stop to pass mtd_info objects to internal functions
            * Reorganize code to avoid forward declarations
            * Drop useless test in nand_legacy_set_defaults()
            * Move nand_exec_op() to internal.h
            * Add nand_[de]select_target() helpers
            * Pass the CS line to be selected in struct nand_operation
            * Make ->select_chip() optional when ->exec_op() is implemented
            * Deprecate the ->select_chip() hook
            * Move the ->exec_op() method to nand_controller_ops
            * Move ->setup_data_interface() to nand_controller_ops
            * Deprecate the dummy_controller field
            * Fix JEDEC detection
            * Provide a helper for polling GPIO R/B pin
        Raw NAND chip drivers changes:
         - Macronix:
            * Flag 1.8V AC chips with a broken GET_FEATURES(TIMINGS)
        Raw NAND controllers drivers changes:
         - Ams-delta:
            * Fix the error path
            * SPDX tag added
            * May be compiled with COMPILE_TEST=y
            * Conversion to ->exec_op() interface
            * Drop .IOADDR_R/W use
            * Use GPIO API for data I/O
         - Denali:
            * Remove denali_reset_banks()
            * Remove ->dev_ready() hook
            * Include <linux/bits.h> instead of <linux/bitops.h>
            * Changes to comply with the above fixes/cleanup done in the core.
         - FSMC:
            * Add an SPDX tag to replace the license text
            * Make conversion from chip to fsmc consistent
            * Fix unchecked return value in fsmc_read_page_hwecc
            * Changes to comply with the above fixes/cleanup done in the core.
         - Marvell:
            * Prevent timeouts on a loaded machine (fix)
            * Changes to comply with the above fixes/cleanup done in the core.
         - OMAP2:
            * Pass the parent of pdev to dma_request_chan() (fix)
         - R852:
            * Use generic DMA API
         - sh_flctl:
            * Convert to SPDX identifiers
         - Sunxi:
            * Write pageprog related opcodes to the right register: WCMD_SET (fix)
         - Tegra:
            * Stop implementing ->select_chip()
         - VF610:
            * Add an SPDX tag to replace the license text
            * Changes to comply with the above fixes/cleanup done in the core.
         - Various trivial/spelling/coding style fixes.
        SPI-NAND drivers changes:
         - Remove the depreacated mt29f_spinand driver from staging.
         - Add support for:
            * Toshiba TC58CVG2S0H
            * GigaDevice GD5FxGQ4xA
            * Winbond W25N01GV
        JFFS2 changes:
         - Fix a lockdep issue
        MTD changes:
         - Rework the physmap driver to merge gpio-addr-flash and physmap_of
           in it
         - Add a new compatible for RedBoot partitions
         - Make sub-partitions RW if the parent partition was RO because of a
         - Add pinctrl support to the
         - Addition of /* fall-through */ comments where appropriate
         - Various minor fixes and cleanups
        Other changes:
         - Update my email address"
      * tag 'mtd/for-4.21' of git://git.infradead.org/linux-mtd: (108 commits)
        mtd: rawnand: sunxi: Write pageprog related opcodes to WCMD_SET
        MAINTAINERS: Update my email address
        mtd: rawnand: marvell: prevent timeouts on a loaded machine
        mtd: rawnand: omap2: Pass the parent of pdev to dma_request_chan()
        mtd: rawnand: Fix JEDEC detection
        mtd: spi-nor: Add support for is25lp016d
        mtd: spi-nor: parse SFDP 4-byte Address Instruction Table
        mtd: spi-nor: Add 4B_OPCODES flag to is25lp256
        mtd: spi-nor: Add an SPDX tag to spi-nor.{c,h}
        mtd: spi-nor: Make the enable argument passed to set_byte() a bool
        mtd: spi-nor: Stop passing flash_info around
        mtd: spi-nor: Avoid forward declaration of internal functions
        mtd: spi-nor: Drop inline on all internal helpers
        mtd: spi-nor: Add a post BFPT fixup for MX25L25635E
        mtd: spi-nor: Add a post BFPT parsing fixup hook
        mtd: spi-nor: Add the SNOR_F_4B_OPCODES flag
        mtd: spi-nor: cast to u64 to avoid uint overflows
        mtd: spi-nor: Add support for IS25LP032/064
        mtd: spi-nor: add entry for mt35xu512aba flash
        mtd: spi-nor: add macros related to MICRON flash
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · b3cc2bfe
      Linus Torvalds authored
      Pull initial i3c support from Boris Brezillon:
       "Add initial support for I3C along with two I3C master controller
      * tag 'i3c/for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        i3c: master: cdns: fix I2C transfers in Cadence I3C master driver
        ic3: off by one in mode_show()
        i3c: fix an error code in i3c_master_add_i3c_dev_locked()
        i3c: master: dw: fix mask operation by using the correct operator
        MAINTAINERS: Add myself as the dw-i3c-master module maintainer
        dt-binding: i3c: Document Synopsys DesignWare I3C
        i3c: master: Add driver for Synopsys DesignWare IP
        i3c: master: Remove set but not used variable 'old_i3c_scl_lim'
        dt-bindings: i3c: Document Cadence I3C master bindings
        i3c: master: Add driver for Cadence IP
        MAINTAINERS: Add myself as the I3C subsystem maintainer
        dt-bindings: i3c: Document core bindings
        i3c: Add sysfs ABI spec
        docs: driver-api: Add I3C documentation
        i3c: Add core I3C infrastructure
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2018-12-14' of git://anongit.freedesktop.org/drm/drm · 4971f090
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
         - shared fencing staging removal
         - drop transactional atomic helpers and move helpers to new location
         - DP/MST atomic cleanup
         - Leasing cleanups and drop EXPORT_SYMBOL
         - Convert drivers to atomic helpers and generic fbdev.
         - removed deprecated obj_ref/unref in favour of get/put
         - Improve dumb callback documentation
         - MODESET_LOCK_BEGIN/END helpers
         - CDTech panels, Banana Pi Panel, DLC1010GIG,
         - Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
         - Himax HX8357D, simulated RTSM AEMv8.
         - GPD Win2 panel
         - AUO G101EVN010
         - render node support
         - move global init out of drivers
         - fix LRU handling for ghost objects
         - Support for simultaneous submissions to multiple engines
         - timeout/fault handling changes to help GPU recovery
         - helpers for hw with preemption support
         - Scaler/Watermark fixes
         - DP MST + powerwell fixes
         - PSR fixes
         - Break long get/put shmemfs pages
         - Icelake fixes
         - Icelake DSI video mode enablement
         - Engine workaround improvements
         - freesync support
         - GPU reset enabled on CI, VI, SOC15 dGPUs
         - ABM support in DC
         - KFD support for vega12/polaris12
         - SDMA paging queue on vega
         - More amdkfd code sharing
         - DCC scanout on GFX9
         - DC kerneldoc
         - Updated SMU firmware for GFX8 chips
         - XGMI PSP + hive reset support
         - GPU reset
         - DC trace support
         - Powerplay updates for newer Polaris
         - Cursor plane update fast path
         - kfd dma-buf support
         - add EDID support
         - pageflip with damage support
         - Initial Turing TU104/TU106 modesetting support
         - a2xx gpu support for apq8060 and imx5
         - a2xx gpummu support
         - mdp4 display support for apq8060
         - DPU fixes and cleanups
         - enhanced profiling support
         - debug object naming interface
         - get_iova/page pinning decoupling
         - Tegra194 host1x, VIC and display support enabled
         - Audio over HDMI for Tegra186 and Tegra194
         - DMA/IOMMU refactoring
         - plane alpha + blend mode support
         - Color format fixes for mixer driver
         - R8A7744 and R8A77470 support
         - R8A77965 LVDS support
         - fbdev emulation fix
         - multi-tiled scalling fixes
         - SPDX identifiers
         - dw_hdmi support
         - dw-mipi-dsi + dual dsi support
         - mailbox read size fix
         - fix cursor pinning
         - YUV support (scaling + cursor)
         - enable TFU (Texture Formatting Unit)
         - add support for linear tiled formats
         - Display Engine 3 support
         - H6 DE3 mixer 0 support
         - H6 display engine support
         - dw-hdmi support
         - H6 HDMI phy support
         - implicit fence waiting
         - BGRX8888 support
         - Overlay plane support
         - implicit fence waiting
         - HDMI 1.4 4k modes
         - i2c fixes for sii902x"
      * tag 'drm-next-2018-12-14' of git://anongit.freedesktop.org/drm/drm: (1403 commits)
        drm/amd/display: Add fast path for cursor plane updates
        drm/amdgpu: Enable GPU recovery by default for CI
        drm/amd/display: Fix duplicating scaling/underscan connector state
        drm/amd/display: Fix unintialized max_bpc state values
        Revert "drm/amd/display: Set RMX_ASPECT as default"
        drm/amdgpu: Fix stub function name
        drm/msm/dpu: Fix clock issue after bind failure
        drm/msm/dpu: Clean up dpu_media_info.h static inline functions
        drm/msm/dpu: Further cleanups for static inline functions
        drm/msm/dpu: Cleanup the debugfs functions
        drm/msm/dpu: Remove dpu_irq and unused functions
        drm/msm: Make irq_postinstall optional
        drm/msm/dpu: Cleanup callers of dpu_hw_blk_init
        drm/msm/dpu: Remove unused functions
        drm/msm/dpu: Remove dpu_crtc_is_enabled()
        drm/msm/dpu: Remove dpu_crtc_get_mixer_height
        drm/msm/dpu: Remove dpu_dbg
        drm/msm: dpu: Remove crtc_lock
        drm/msm: dpu: Remove vblank_requested flag from dpu_crtc
        drm/msm: dpu: Separate crtc assignment from vblank enable
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.21-1' of git://git.infradead.org/linux-platform-drivers-x86 · c76cd634
      Linus Torvalds authored
      Pull x86 platform driver updates from Andy Shevchenko:
       - The USB Power Delivery discrete components now can be enumerated by
         i2c-multi-instantiate driver via several resources under single ACPI
         device node (ACPI ID is INT3515).
       - Touchscreen support is added for the Mediacom Flexbook Edge 11.
       - Mellanox driver got fixed due to updates in their firmware.
       - The power management stub driver for AtomISP v2 is fixed in order to
         support Intel Baytrail SoCs where same quirk is needed for S0ix to
       - Special key handling has been fixed for Favorites hotkey on Thinkpad,
         and Screen LOCK on ASUS.
       - Ideapad Yoga 2 13 has no HW rfkill switch, thus, driver has been
         updated to support this.
       - Few cleanups related to debugfs have been made in Intel IPS and Intel
         PMC drivers. Besides that Intel PMC has been extended to show more
         detailed information about Latency Tolerance
      * tag 'platform-drivers-x86-v4.21-1' of git://git.infradead.org/linux-platform-drivers-x86: (41 commits)
        platform/x86: mlx-platform: Convert to use SPDX identifier
        Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces
        platform/x86: mlx-platform: Allow mlxreg-io driver activation for new systems
        platform/x86: mlx-platform: Fix LED configuration
        platform/x86: mlx-platform: Fix tachometer registers
        platform/x86: mlx-platform: Rename new systems product names
        platform/x86: mlx-platform: Add definitions for new registers
        platform/x86: intel_telemetry: convert to DEFINE_SHOW_ATTRIBUTE
        platform/x86: intel_pmc_core: convert to DEFINE_SHOW_ATTRIBUTE
        platform/x86: thinkpad_acpi: Cleanup quirks macros
        platform/x86: touchscreen_dmi: Add info for the Mediacom Flexbook Edge 11
        platform/x86: Fix config space access for intel_atomisp2_pm
        platform/x86: Add the VLV ISP PCI ID to atomisp2_pm
        platform/x86: intel_ips: Convert to use DEFINE_SHOW_ATTRIBUTE macro
        platform/x86: intel_ips: Remove never happen condition
        platform/x86: intel_ips: NULL check before some freeing functions is not needed
        platform/x86: intel_ips: remove unnecessary checks in ips_debugfs_init
        iio: inv_mpu6050: Use i2c_acpi_get_i2c_resource() helper
        ACPI / scan: Create platform device for INT3515 ACPI nodes
        platform/x86: i2c-multi-instantiate: Allow to have same slaves
  3. 24 Dec, 2018 6 commits
  4. 23 Dec, 2018 2 commits
  5. 22 Dec, 2018 5 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 9105b8aa
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is two simple target fixes and one discard related I/O starvation
        problem in sd.
        The discard problem occurs because the discard page doesn't have a
        mempool backing so if the allocation fails due to memory pressure, we
        then lose the forward progress we require if the writeout is on the
        same device. The fix is to back it with a mempool"
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: sd: use mempool for discard special page
        scsi: target: iscsi: cxgbit: add missing spin_lock_init()
        scsi: target: iscsi: cxgbit: fix csk leak
    • Linus Torvalds's avatar
      Merge tag 'compiler-attributes-for-linus-v4.20' of https://github.com/ojeda/linux · 1104bd96
      Linus Torvalds authored
      Pull compiler_types.h fix from Miguel Ojeda:
       "A cleanup for userspace in compiler_types.h: don't pollute userspace
        with macro definitions (Xiaozhou Liu)
        This is harmless for the kernel, but v4.19 was released with a few
        macros exposed to userspace as the patch explains; which this removes,
        so it *could* happen that we break something for someone (although
        leaving inline redefined is probably worse)"
      * tag 'compiler-attributes-for-linus-v4.20' of https://github.com/ojeda/linux:
        include/linux/compiler_types.h: don't pollute userspace with macro definitions
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-for-linus-v4.20' of https://github.com/ojeda/linux · 38c0ecf6
      Linus Torvalds authored
      Pull auxdisplay fix from Miguel Ojeda:
       "charlcd: fix x/y command parsing (Mans Rullgard)"
      * tag 'auxdisplay-for-linus-v4.20' of https://github.com/ojeda/linux:
        auxdisplay: charlcd: fix x/y command parsing
    • Christian Brauner's avatar
      Revert "vfs: Allow userns root to call mknod on owned filesystems." · 94f82008
      Christian Brauner authored
      This reverts commit 55956b59.
      commit 55956b59 ("vfs: Allow userns root to call mknod on owned filesystems.")
      enabled mknod() in user namespaces for userns root if CAP_MKNOD is
      available. However, these device nodes are useless since any filesystem
      mounted from a non-initial user namespace will set the SB_I_NODEV flag on
      the filesystem. Now, when a device node s created in a non-initial user
      namespace a call to open() on said device node will fail due to:
      bool may_open_dev(const struct path *path)
              return !(path->mnt->mnt_flags & MNT_NODEV) &&
                      !(path->mnt->mnt_sb->s_iflags & SB_I_NODEV);
      The problem with this is that as of the aforementioned commit mknod()
      creates partially functional device nodes in non-initial user namespaces.
      In particular, it has the consequence that as of the aforementioned commit
      open() will be more privileged with respect to device nodes than mknod().
      Before it was the other way around. Specifically, if mknod() succeeded
      then it was transparent for any userspace application that a fatal error
      must have occured when open() failed.
      All of this breaks multiple userspace workloads and a widespread assumption
      about how to handle mknod(). Basically, all container runtimes and systemd
      live by the slogan "ask for forgiveness not permission" when running user
      namespace workloads. For mknod() the assumption is that if the syscall
      succeeds the device nodes are useable irrespective of whether it succeeds
      in a non-initial user namespace or not. This logic was chosen explicitly
      to allow for the glorious day when mknod() will actually be able to create
      fully functional device nodes in user namespaces.
      A specific problem people are already running into when running 4.18 rc
      kernels are failing systemd services. For any distro that is run in a
      container systemd services started with the PrivateDevices= property set
      will fail to start since the device nodes in question cannot be
      opened (cf. the arguments in [1]).
      Full disclosure, Seth made the very sound argument that it is already
      possible to end up with partially functional device nodes. Any filesystem
      mounted with MS_NODEV set will allow mknod() to succeed but will not allow
      open() to succeed. The difference to the case here is that the MS_NODEV
      case is transparent to userspace since it is an explicitly set mount option
      while the SB_I_NODEV case is an implicit property enforced by the kernel
      and hence opaque to userspace.
      [1]: https://github.com/systemd/systemd/pull/9483
      Signed-off-by: default avatarChristian Brauner <christian@brauner.io>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Seth Forshee <seth.forshee@canonical.com>
      Cc: Serge Hallyn <serge@hallyn.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Christoph Hellwig's avatar
      dma-mapping: fix flags in dma_alloc_wc · 0cd60eb1
      Christoph Hellwig authored
      We really need the writecombine flag in dma_alloc_wc, fix a stupid
      Fixes: 7ed1d91a
       ("dma-mapping: translate __GFP_NOFAIL to DMA_ATTR_NO_WARN")
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  6. 21 Dec, 2018 2 commits
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 23203e3f
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "4 fixes"
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm, page_alloc: fix has_unmovable_pages for HugePages
        fork,memcg: fix crash in free_thread_stack on memcg charge fail
        mm: thp: fix flags for pmd migration when split
        mm, memory_hotplug: initialize struct pages for the full memory section
    • Oscar Salvador's avatar
      mm, page_alloc: fix has_unmovable_pages for HugePages · 17e2e7d7
      Oscar Salvador authored
      While playing with gigantic hugepages and memory_hotplug, I triggered
      the following #PF when "cat memoryX/removable":
        BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
        #PF error: [normal kernel read fault]
        PGD 0 P4D 0
        Oops: 0000 [#1] SMP PTI
        CPU: 1 PID: 1481 Comm: cat Tainted: G            E     4.20.0-rc6-mm1-1-default+ #18
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014
        RIP: 0010:has_unmovable_pages+0x154/0x210
        Call Trace:
      The reason is we do not pass the Head to page_hstate(), and so, the call
      to compound_order() in page_hstate() returns 0, so we end up checking
      all hstates's size to match PAGE_SIZE.
      Obviously, we do not find any hstate matching that size, and we return
      NULL.  Then, we dereference that NULL pointer in
      hugepage_migration_supported() and we got the #PF from above.
      Fix that by getting the head page before calling page_hstate().
      Also, since gigantic pages span several pageblocks, re-adjust the logic
      for skipping pages.  While are it, we can also get rid of the
      [osalvador@suse.de: remove round_up(), adjust skip pages logic per Michal]
        Link: http://lkml.kernel.org/r/20181221062809.31771-1-osalvador@suse.de
      Link: http://lkml.kernel.org/r/20181217225113.17864-1-osalvador@suse.de
      Signed-off-by: default avatarOscar Salvador <osalvador@suse.de>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Pavel Tatashin <pavel.tatashin@microsoft.com>
      Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>