05 May, 2018

2 commits


04 May, 2018

1 commit


20 Apr, 2018

5 commits

  • Document the devicetree bindings for the CSI-2 inputs available on Gen3.

    There is a need to add a custom property 'renesas,id' and to define
    which CSI-2 input is described in which endpoint under the port@1 node.
    This information is needed since there are a set of predefined routes
    between each VIN and CSI-2 block. This routing table will be kept
    inside the driver but in order for it to act on it it must know which
    VIN and CSI-2 is which.

    Signed-off-by: Niklas Söderlund
    Acked-by: Rob Herring
    Reviewed-by: Laurent Pinchart
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Niklas Söderlund
     
  • Add compatible strings for r8a7743 and r8a7745. No driver change
    is needed as "renesas,rcar-gen2-vin" will activate the right code.
    However, it is good practice to document compatible strings for the
    specific SoC as this allows SoC specific changes to the driver if
    needed, in addition to document SoC support and therefore allow
    checkpatch.pl to validate compatible string values.

    Signed-off-by: Fabrizio Castro
    Reviewed-by: Biju Das
    Reviewed-by: Simon Horman
    Acked-by: Rob Herring
    Reviewed-by: Geert Uytterhoeven
    Acked-by: Niklas Söderlund
    Reviewed-by: Laurent Pinchart
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Fabrizio Castro
     
  • Change the sorting of the part numbers from descending to ascending to
    match with other documentation.

    Signed-off-by: Fabrizio Castro
    Reviewed-by: Biju Das
    Reviewed-by: Simon Horman
    Acked-by: Rob Herring
    Reviewed-by: Geert Uytterhoeven
    Acked-by: Niklas Söderlund
    Reviewed-by: Laurent Pinchart
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Fabrizio Castro
     
  • Since the kernel now modifies the timeout, make it possible to retrieve
    the current value.

    Signed-off-by: Sean Young
    Signed-off-by: Mauro Carvalho Chehab

    Sean Young
     
  • On the raspberry pi, we might have two lirc devices; one for sending and
    one for receiving. This change makes it much more apparent which one
    is which.

    Signed-off-by: Sean Young
    Signed-off-by: Mauro Carvalho Chehab

    Sean Young
     

16 Apr, 2018

1 commit

  • Pull x86 fixes from Thomas Gleixner:
    "A set of fixes and updates for x86:

    - Address a swiotlb regression which was caused by the recent DMA
    rework and made driver fail because dma_direct_supported() returned
    false

    - Fix a signedness bug in the APIC ID validation which caused invalid
    APIC IDs to be detected as valid thereby bloating the CPU possible
    space.

    - Fix inconsisten config dependcy/select magic for the MFD_CS5535
    driver.

    - Fix a corruption of the physical address space bits when encryption
    has reduced the address space and late cpuinfo updates overwrite
    the reduced bit information with the original value.

    - Dominiks syscall rework which consolidates the architecture
    specific syscall functions so all syscalls can be wrapped with the
    same macros. This allows to switch x86/64 to struct pt_regs based
    syscalls. Extend the clearing of user space controlled registers in
    the entry patch to the lower registers"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic: Fix signedness bug in APIC ID validity checks
    x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment corruption
    x86/olpc: Fix inconsistent MFD_CS5535 configuration
    swiotlb: Use dma_direct_supported() for swiotlb_ops
    syscalls/x86: Adapt syscall_wrapper.h to the new syscall stub naming convention
    syscalls/core, syscalls/x86: Rename struct pt_regs-based sys_*() to __x64_sys_*()
    syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention
    syscalls/core, syscalls/x86: Clean up syscall stub naming convention
    syscalls/x86: Extend register clearing on syscall entry to lower registers
    syscalls/x86: Unconditionally enable 'struct pt_regs' based syscalls on x86_64
    syscalls/x86: Use 'struct pt_regs' based syscall calling for IA32_EMULATION and x32
    syscalls/core: Prepare CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y for compat syscalls
    syscalls/x86: Use 'struct pt_regs' based syscall calling convention for 64-bit syscalls
    syscalls/core: Introduce CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
    x86/syscalls: Don't pointlessly reload the system call number
    x86/mm: Fix documentation of module mapping range with 4-level paging
    x86/cpuid: Switch to 'static const' specifier

    Linus Torvalds
     

14 Apr, 2018

5 commits

  • Pull overlayfs updates from Miklos Szeredi:
    "In addition to bug fixes and cleanups there are two new features from
    Amir:

    - Consistent inode number support for the case when layers are not
    all on the same filesystem (feature is dubbed "xino").

    - Optimize overlayfs file handle decoding. This one touches the
    exportfs interface to allow detecting the disconnected directory
    case"

    * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: update documentation w.r.t "xino" feature
    ovl: add support for "xino" mount and config options
    ovl: consistent d_ino for non-samefs with xino
    ovl: consistent i_ino for non-samefs with xino
    ovl: constant st_ino for non-samefs with xino
    ovl: allocate anon bdev per unique lower fs
    ovl: factor out ovl_map_dev_ino() helper
    ovl: cleanup ovl_update_time()
    ovl: add WARN_ON() for non-dir redirect cases
    ovl: cleanup setting OVL_INDEX
    ovl: set d->is_dir and d->opaque for last path element
    ovl: Do not check for redirect if this is last layer
    ovl: lookup in inode cache first when decoding lower file handle
    ovl: do not try to reconnect a disconnected origin dentry
    ovl: disambiguate ovl_encode_fh()
    ovl: set lower layer st_dev only if setting lower st_ino
    ovl: fix lookup with middle layer opaque dir and absolute path redirects
    ovl: Set d->last properly during lookup
    ovl: set i_ino to the value of st_ino for NFS export

    Linus Torvalds
     
  • Pull thermal management update from Zhang Rui:

    - Fix race condition in imx_thermal_probe() (Mikhail Lappo)

    - Add cooling device's statistics in sysfs (Viresh Kumar)

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: Add cooling device's statistics in sysfs
    thermal: imx: Fix race condition in imx_thermal_probe()

    Linus Torvalds
     
  • Pull clk updates from Stephen Boyd:
    "The large diff this time around is from the addition of a new clk
    driver for the TI Davinci family of SoCs. So far those clks have been
    supported with a custom implementation of the clk API in the arch port
    instead of in the CCF. With this driver merged we're one step closer
    to having a single clk API implementation.

    The other large diff is from the Amlogic clk driver that underwent
    some major surgery to use regmap. Beyond that, the biggest hitter is
    Samsung which needed some reworks to properly handle clk provider
    power domains and a bunch of PLL rate updates.

    The core framework was fairly quiet this round, just getting some
    cleanups and small fixes for some of the more esoteric features. And
    the usual set of driver non-critical fixes, cleanups, and minor
    additions are here as well.

    Core:
    - Rejig clk_ops::init() to be a little earlier for phase/accuracy ops
    - debugfs ops macroized to shave some lines of boilerplate code
    - Always calculate the phase instead of caching it in clk_get_phase()
    - More __must_check on bulk clk APIs

    New Drivers:
    - TI's Davinci family of SoCs
    - Intel's Stratix10 SoC
    - stm32mp157 SoC
    - Allwinner H6 CCU
    - Silicon Labs SI544 clock generator chip
    - Renesas R-Car M3-N and V3H SoCs
    - i.MX6SLL SoCs

    Removed Drivers:
    - ST-Ericsson AB8540/9540

    Updates:
    - Mediatek MT2701 and MT7622 audsys support and MT2712 updates
    - STM32F469 DSI and STM32F769 sdmmc2 support
    - GPIO clks can sleep now
    - Spreadtrum SC9860 RTC clks
    - Nvidia Tegra MBIST workarounds and various minor fixes
    - Rockchip phase handling fixes and a memory leak plugged
    - Renesas drivers switch to readl/writel from clk_readl/clk_writel
    - Renesas gained CPU (Z/Z2) and watchdog support
    - Rockchip rk3328 display clks and rk3399 1.6GHz PLL support
    - Qualcomm PM8921 PMIC XO buffers
    - Amlogic migrates to regmap APIs
    - TI Keystone clk latching support
    - Allwinner H3 and H5 video clk fixes
    - Broadcom BCM2835 PLLs needed another bit to enable
    - i.MX6SX CKO mux fix and i.MX7D Video PLL divider fix
    - i.MX6UL/ULL epdc_podf support
    - Hi3798CV200 COMBPHY0 and USB2_OTG_UTMI and phase support for eMMC"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (233 commits)
    clk: davinci: add a reset lookup table for psc0
    clk: imx: add clock driver for imx6sll
    dt-bindings: imx: update clock doc for imx6sll
    clk: imx: add new gate/gate2 wrapper funtion
    clk: imx: Add CLK_IS_CRITICAL flag for busy divider and busy mux
    clk: cs2000: set pm_ops in hibernate-compatible way
    clk: bcm2835: De-assert/assert PLL reset signal when appropriate
    clk: imx7d: Move clks_init_on before any clock operations
    clk: imx7d: Correct ahb clk parent select
    clk: imx7d: Correct dram pll type
    clk: imx7d: Add USB clock information
    clk: socfpga: stratix10: add clock driver for Stratix10 platform
    dt-bindings: documentation: add clock bindings information for Stratix10
    clk: ti: fix flag space conflict with clkctrl clocks
    clk: uniphier: add additional ethernet clock lines for Pro4
    clk: uniphier: add SATA clock control support
    clk: uniphier: add PCIe clock control support
    clk: Add driver for the si544 clock generator chip
    clk: davinci: Remove redundant dev_err calls
    clk: uniphier: add ethernet clock control support for PXs3
    ...

    Linus Torvalds
     
  • …ierry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "This set of changes adds support for more generations of the RCar
    controller as well as runtime PM support. The JZ4740 driver gains
    support for device tree and can now be used on all Ingenic SoCs.

    Rounding things off is a random assortment of fixes and cleanups all
    across the board"

    * tag 'pwm/for-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (29 commits)
    pwm: rcar: Add suspend/resume support
    pwm: rcar: Use PM Runtime to control module clock
    dt-bindings: pwm: rcar: Add bindings for R-Car M3N support
    pwm: rcar: Fix a condition to prevent mismatch value setting to duty
    pwm: sysfs: Use put_device() instead of kfree()
    dt-bindings: pwm: sunxi: Add new compatible strings
    pwm: sun4i: Simplify controller mapping
    pwm: sun4i: Drop unused .has_rdy member
    pwm: sun4i: Properly check current state
    pwm: Remove depends on AVR32
    pwm: stm32: LPTimer: Use 3 cells ->of_xlate()
    dt-bindings: pwm-stm32-lp: Add #pwm-cells
    pwm: stm32: Protect common prescaler for all channels
    pwm: stm32: Remove unused struct device
    pwm: mediatek: Improve precision in rate calculation
    pwm: mediatek: Remove redundant MODULE_ALIAS entries
    pwm: mediatek: Fix up PWM4 and PWM5 malfunction on MT7623
    pwm: jz4740: Enable for all Ingenic SoCs
    pwm: jz4740: Add support for devicetree
    pwm: jz4740: Implement ->set_polarity()
    ...

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:

    - Add Nuvoton NPCM watchdog driver

    - renesas_wdt: Add R-Car Gen2 support

    - renesas_wdt: add suspend/resume and restart handler support

    - hpwdt: convert to watchdog core and improve NMI

    - improve timeout setting/handling in various drivers

    - coh901327: make license text and module licence match

    - fix error handling in asm9260_wdt, sprd_wdt and davinci_wdt

    - aspeed imrovements

    - dw improvements (for control register & suspend/resume)

    - add SPDX identifiers for watchdog subsystem

    * tag 'linux-watchdog-4.17-rc1' of git://www.linux-watchdog.org/linux-watchdog: (35 commits)
    watchdog: davinci_wdt: fix error handling in davinci_wdt_probe()
    watchdog: add SPDX identifiers for watchdog subsystem
    watchdog: aspeed: Allow configuring for alternate boot
    watchdog: Add Nuvoton NPCM watchdog driver
    dt-bindings: watchdog: Add Nuvoton NPCM description
    watchdog: dw: save/restore control and timeout across suspend/resume
    watchdog: dw: RMW the control register
    watchdog: sprd_wdt: Fix error handling in sprd_wdt_enable()
    watchdog: aspeed: Fix translation of reset mode to ctrl register
    watchdog: renesas_wdt: Add restart handler
    watchdog: renesas_wdt: Add R-Car Gen2 support
    watchdog: renesas_wdt: Add suspend/resume support
    watchdog: f71808e_wdt: Fix WD_EN register read
    watchdog: hpwdt: Update driver version.
    watchdog: hpwdt: Add dynamic debug
    watchdog: hpwdt: Programable Pretimeout NMI
    watchdog: hpwdt: remove allow_kdump module parameter.
    watchdog: hpwdt: condition early return of NMI handler on iLO5
    watchdog: hpwdt: Modify to use watchdog core.
    watchdog: hpwdt: Update nmi_panic message.
    ...

    Linus Torvalds
     

13 Apr, 2018

3 commits

  • Pull more gfs2 updates from Bob Peterson:
    "We decided to request the latest three patches to be merged into this
    merge window while it's still open.

    - The first patch adds a new function to lockref:
    lockref_put_not_zero

    - The second patch fixes GFS2's glock dump code so it uses the new
    lockref function. This fixes a problem whereby lock dumps could
    miss glocks.

    - I made a minor patch to update some comments and fix the lock
    ordering text in our gfs2-glocks.txt Documentation file"

    * tag 'gfs2-4.17.fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
    GFS2: Minor improvements to comments and documentation
    gfs2: Stop using rhashtable_walk_peek
    lockref: Add lockref_put_not_zero

    Linus Torvalds
     
  • Pull AFS updates from Al Viro:
    "The AFS series posted by dhowells depended upon lookup_one_len()
    rework; now that prereq is in the mainline, that series had been
    rebased on top of it and got some exposure and testing..."

    * 'afs-dh' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    afs: Do better accretion of small writes on newly created content
    afs: Add stats for data transfer operations
    afs: Trace protocol errors
    afs: Locally edit directory data for mkdir/create/unlink/...
    afs: Adjust the directory XDR structures
    afs: Split the directory content defs into a header
    afs: Fix directory handling
    afs: Split the dynroot stuff out and give it its own ops tables
    afs: Keep track of invalid-before version for dentry coherency
    afs: Rearrange status mapping
    afs: Make it possible to get the data version in readpage
    afs: Init inode before accessing cache
    afs: Introduce a statistics proc file
    afs: Dump bad status record
    afs: Implement @cell substitution handling
    afs: Implement @sys substitution handling
    afs: Prospectively look up extra files when doing a single lookup
    afs: Don't over-increment the cell usage count when pinning it
    afs: Fix checker warnings
    vfs: Remove the const from dir_context::actor

    Linus Torvalds
     
  • This patch simply fixes some comments and the gfs2-glocks.txt file:
    Places where i_rwsem was called i_mutex, and adding i_rw_mutex.

    Signed-off-by: Bob Peterson

    Bob Peterson
     

12 Apr, 2018

12 commits

  • Signed-off-by: Amir Goldstein
    Signed-off-by: Miklos Szeredi

    Amir Goldstein
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Pull IOMMU updates from Joerg Roedel:

    - OF_IOMMU support for the Rockchip iommu driver so that it can use
    generic DT bindings

    - rework of locking in the AMD IOMMU interrupt remapping code to make
    it work better in RT kernels

    - support for improved iotlb flushing in the AMD IOMMU driver

    - support for 52-bit physical and virtual addressing in the ARM-SMMU

    - various other small fixes and cleanups

    * tag 'iommu-updates-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (53 commits)
    iommu/io-pgtable-arm: Avoid warning with 32-bit phys_addr_t
    iommu/rockchip: Support sharing IOMMU between masters
    iommu/rockchip: Add runtime PM support
    iommu/rockchip: Fix error handling in init
    iommu/rockchip: Use OF_IOMMU to attach devices automatically
    iommu/rockchip: Use IOMMU device for dma mapping operations
    dt-bindings: iommu/rockchip: Add clock property
    iommu/rockchip: Control clocks needed to access the IOMMU
    iommu/rockchip: Fix TLB flush of secondary IOMMUs
    iommu/rockchip: Use iopoll helpers to wait for hardware
    iommu/rockchip: Fix error handling in attach
    iommu/rockchip: Request irqs in rk_iommu_probe()
    iommu/rockchip: Fix error handling in probe
    iommu/rockchip: Prohibit unbind and remove
    iommu/amd: Return proper error code in irq_remapping_alloc()
    iommu/amd: Make amd_iommu_devtable_lock a spin_lock
    iommu/amd: Drop the lock while allocating new irq remap table
    iommu/amd: Factor out setting the remap table for a devid
    iommu/amd: Use `table' instead `irt' as variable name in amd_iommu_update_ga()
    iommu/amd: Remove the special case from alloc_irq_table()
    ...

    Linus Torvalds
     
  • Pull more power management updates from Rafael Wysocki:
    "These include one big-ticket item which is the rework of the idle loop
    in order to prevent CPUs from spending too much time in shallow idle
    states. It reduces idle power on some systems by 10% or more and may
    improve performance of workloads in which the idle loop overhead
    matters. This has been in the works for several weeks and it has been
    tested and reviewed quite thoroughly.

    Also included are changes that finalize the cpufreq cleanup moving
    frequency table validation from drivers to the core, a few fixes and
    cleanups of cpufreq drivers, a cpuidle documentation update and a PM
    QoS core update to mark the expected switch fall-throughs in it.

    Specifics:

    - Rework the idle loop in order to prevent CPUs from spending too
    much time in shallow idle states by making it stop the scheduler
    tick before putting the CPU into an idle state only if the idle
    duration predicted by the idle governor is long enough.

    That required the code to be reordered to invoke the idle governor
    before stopping the tick, among other things (Rafael Wysocki,
    Frederic Weisbecker, Arnd Bergmann).

    - Add the missing description of the residency sysfs attribute to the
    cpuidle documentation (Prashanth Prakash).

    - Finalize the cpufreq cleanup moving frequency table validation from
    drivers to the core (Viresh Kumar).

    - Fix a clock leak regression in the armada-37xx cpufreq driver
    (Gregory Clement).

    - Fix the initialization of the CPU performance data structures for
    shared policies in the CPPC cpufreq driver (Shunyong Yang).

    - Clean up the ti-cpufreq, intel_pstate and CPPC cpufreq drivers a
    bit (Viresh Kumar, Rafael Wysocki).

    - Mark the expected switch fall-throughs in the PM QoS core (Gustavo
    Silva)"

    * tag 'pm-4.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (23 commits)
    tick-sched: avoid a maybe-uninitialized warning
    cpufreq: Drop cpufreq_table_validate_and_show()
    cpufreq: SCMI: Don't validate the frequency table twice
    cpufreq: CPPC: Initialize shared perf capabilities of CPUs
    cpufreq: armada-37xx: Fix clock leak
    cpufreq: CPPC: Don't set transition_latency
    cpufreq: ti-cpufreq: Use builtin_platform_driver()
    cpufreq: intel_pstate: Do not include debugfs.h
    PM / QoS: mark expected switch fall-throughs
    cpuidle: Add definition of residency to sysfs documentation
    time: hrtimer: Use timerqueue_iterate_next() to get to the next timer
    nohz: Avoid duplication of code related to got_idle_tick
    nohz: Gather tick_sched booleans under a common flag field
    cpuidle: menu: Avoid selecting shallow states with stopped tick
    cpuidle: menu: Refine idle state selection for running tick
    sched: idle: Select idle state before stopping the tick
    time: hrtimer: Introduce hrtimer_next_event_without()
    time: tick-sched: Split tick_nohz_stop_sched_tick()
    cpuidle: Return nohz hint from cpuidle_select()
    jiffies: Introduce USER_TICK_USEC and redefine TICK_USEC
    ...

    Linus Torvalds
     
  • Merge more updates from Andrew Morton:

    - almost all of the rest of MM

    - kasan updates

    - lots of procfs work

    - misc things

    - lib/ updates

    - checkpatch

    - rapidio

    - ipc/shm updates

    - the start of willy's XArray conversion

    * emailed patches from Andrew Morton : (140 commits)
    page cache: use xa_lock
    xarray: add the xa_lock to the radix_tree_root
    fscache: use appropriate radix tree accessors
    export __set_page_dirty
    unicore32: turn flush_dcache_mmap_lock into a no-op
    arm64: turn flush_dcache_mmap_lock into a no-op
    mac80211_hwsim: use DEFINE_IDA
    radix tree: use GFP_ZONEMASK bits of gfp_t for flags
    linux/const.h: refactor _BITUL and _BITULL a bit
    linux/const.h: move UL() macro to include/linux/const.h
    linux/const.h: prefix include guard of uapi/linux/const.h with _UAPI
    xen, mm: allow deferred page initialization for xen pv domains
    elf: enforce MAP_FIXED on overlaying elf segments
    fs, elf: drop MAP_FIXED usage from elf_map
    mm: introduce MAP_FIXED_NOREPLACE
    MAINTAINERS: update bouncing aacraid@adaptec.com addresses
    fs/dcache.c: add cond_resched() in shrink_dentry_list()
    include/linux/kfifo.h: fix comment
    ipc/shm.c: shm_split(): remove unneeded test for NULL shm_file_data.vm_ops
    kernel/sysctl.c: add kdoc comments to do_proc_do{u}intvec_minmax_conv_param
    ...

    Linus Torvalds
     
  • Remove the address_space ->tree_lock and use the xa_lock newly added to
    the radix_tree_root. Rename the address_space ->page_tree to ->i_pages,
    since we don't really care that it's a tree.

    [willy@infradead.org: fix nds32, fs/dax.c]
    Link: http://lkml.kernel.org/r/20180406145415.GB20605@bombadil.infradead.orgLink: http://lkml.kernel.org/r/20180313132639.17387-9-willy@infradead.org
    Signed-off-by: Matthew Wilcox
    Acked-by: Jeff Layton
    Cc: Darrick J. Wong
    Cc: Dave Chinner
    Cc: Ryusuke Konishi
    Cc: Will Deacon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     
  • clang-format is a tool to format C/C++/... code according to a set of
    rules and heuristics. Like most tools, it is not perfect nor covers
    every single case, but it is good enough to be helpful.

    In particular, it is useful for quickly re-formatting blocks of code
    automatically, for reviewing full files in order to spot coding style
    mistakes, typos and possible improvements. It is also handy for sorting
    ``#includes``, for aligning variables and macros, for reflowing text and
    other similar tasks. It also serves as a teaching tool/guide for
    newcomers.

    The tool itself has been already included in the repositories of popular
    Linux distributions for a long time. The rules in this file are
    intended for clang-format >= 4, which is easily available in most
    distributions.

    This commit adds the configuration file that contains the rules that the
    tool uses to know how to format the code according to the kernel coding
    style. This gives us several advantages:

    * clang-format works out of the box with reasonable defaults;
    avoiding that everyone has to re-do the configuration.

    * Everyone agrees (eventually) on what is the most useful default
    configuration for most of the kernel.

    * If it becomes commonplace among kernel developers, clang-format
    may feel compelled to support us better. They already recognize
    the Linux kernel and its style in their documentation and in one
    of the style sub-options.

    Some of clang-format's features relevant for the kernel are:

    * Uses clang's tooling support behind the scenes to parse and rewrite
    the code. It is not based on ad-hoc regexps.

    * Supports reasonably well the Linux kernel coding style.

    * Fast enough to be used at the press of a key.

    * There are already integrations (either built-in or third-party)
    for many common editors used by kernel developers (e.g. vim,
    emacs, Sublime, Atom...) that allow you to format an entire file
    or, more usefully, just your selection.

    * Able to parse unified diffs -- you can, for instance, reformat
    only the lines changed by a git commit.

    * Able to reflow text comments as well.

    * Widely supported and used by hundreds of developers in highly
    complex projects and organizations (e.g. the LLVM project itself,
    Chromium, WebKit, Google, Mozilla...). Therefore, it will be
    supported for a long time.

    See more information about the tool at:

    https://clang.llvm.org/docs/ClangFormat.html
    https://clang.llvm.org/docs/ClangFormatStyleOptions.html

    Link: http://lkml.kernel.org/r/20180318171632.qfkemw3mwbcukth6@gmail.com
    Signed-off-by: Miguel Ojeda
    Cc: Randy Dunlap
    Cc: Andy Whitcroft
    Cc: Joe Perches
    Cc: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miguel Ojeda
     
  • Since the randstruct plugin can intentionally produce extremely unusual
    kernel structure layouts (even performance pathological ones), some
    maintainers want to be able to trivially determine if an Oops is coming
    from a randstruct-built kernel, so as to keep their sanity when
    debugging. This adds the new flag and initializes taint_mask
    immediately when built with randstruct.

    Link: http://lkml.kernel.org/r/1519084390-43867-4-git-send-email-keescook@chromium.org
    Signed-off-by: Kees Cook
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Alexey Dobriyan
    Cc: Jonathan Corbet
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • This consolidates the taint bit documentation into a single place with
    both numeric and letter values. Additionally adds the missing TAINT_AUX
    documentation.

    Link: http://lkml.kernel.org/r/1519084390-43867-3-git-send-email-keescook@chromium.org
    Signed-off-by: Kees Cook
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Alexey Dobriyan
    Cc: Jonathan Corbet
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Freepage on ZONE_HIGHMEM doesn't work for kernel memory so it's not that
    important to reserve. When ZONE_MOVABLE is used, this problem would
    theorectically cause to decrease usable memory for GFP_HIGHUSER_MOVABLE
    allocation request which is mainly used for page cache and anon page
    allocation. So, fix it by setting 0 to
    sysctl_lowmem_reserve_ratio[ZONE_HIGHMEM].

    And, defining sysctl_lowmem_reserve_ratio array by MAX_NR_ZONES - 1 size
    makes code complex. For example, if there is highmem system, following
    reserve ratio is activated for *NORMAL ZONE* which would be easyily
    misleading people.

    #ifdef CONFIG_HIGHMEM
    32
    #endif

    This patch also fixes this situation by defining
    sysctl_lowmem_reserve_ratio array by MAX_NR_ZONES and place "#ifdef" to
    right place.

    Link: http://lkml.kernel.org/r/1504672525-17915-1-git-send-email-iamjoonsoo.kim@lge.com
    Signed-off-by: Joonsoo Kim
    Reviewed-by: Aneesh Kumar K.V
    Acked-by: Vlastimil Babka
    Tested-by: Tony Lindgren
    Cc: Michal Hocko
    Cc: Vlastimil Babka
    Cc: Mel Gorman
    Cc: Johannes Weiner
    Cc: "Aneesh Kumar K . V"
    Cc: Minchan Kim
    Cc: Rik van Riel
    Cc: Laura Abbott
    Cc: Marek Szyprowski
    Cc: Michal Nazarewicz
    Cc: Russell King
    Cc: Will Deacon
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joonsoo Kim
     
  • This fix typos and syntaxes, thanks to Randy Dunlap for pointing them out
    (they were all my faults).

    Link: http://lkml.kernel.org/r/20180409151859.4713-1-jglisse@redhat.com
    Signed-off-by: Jérôme Glisse
    Reviewed-by: Ralph Campbell
    Reviewed-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jérôme Glisse
     
  • Update the documentation for HMM to fix minor typos and phrasing to be a
    bit more readable.

    Link: http://lkml.kernel.org/r/20180323005527.758-2-jglisse@redhat.com
    Signed-off-by: Ralph Campbell
    Signed-off-by: Jérôme Glisse
    Cc: Stephen Bates
    Cc: Jason Gunthorpe
    Cc: Logan Gunthorpe
    Cc: Evgeny Baskakov
    Cc: Mark Hairgrove
    Cc: John Hubbard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralph Campbell
     

11 Apr, 2018

8 commits

  • * pm-cpuidle:
    tick-sched: avoid a maybe-uninitialized warning
    cpuidle: Add definition of residency to sysfs documentation
    time: hrtimer: Use timerqueue_iterate_next() to get to the next timer
    nohz: Avoid duplication of code related to got_idle_tick
    nohz: Gather tick_sched booleans under a common flag field
    cpuidle: menu: Avoid selecting shallow states with stopped tick
    cpuidle: menu: Refine idle state selection for running tick
    sched: idle: Select idle state before stopping the tick
    time: hrtimer: Introduce hrtimer_next_event_without()
    time: tick-sched: Split tick_nohz_stop_sched_tick()
    cpuidle: Return nohz hint from cpuidle_select()
    jiffies: Introduce USER_TICK_USEC and redefine TICK_USEC
    sched: idle: Do not stop the tick before cpuidle_idle_call()
    sched: idle: Do not stop the tick upfront in the idle loop
    time: tick-sched: Reorganize idle tick management code

    * pm-qos:
    PM / QoS: mark expected switch fall-throughs

    Rafael J. Wysocki
     
  • Pull ceph updates from Ilya Dryomov:
    "The big ticket items are:

    - support for rbd "fancy" striping (myself).

    The striping feature bit is now fully implemented, allowing mapping
    v2 images with non-default striping patterns. This completes
    support for --image-format 2.

    - CephFS quota support (Luis Henriques and Zheng Yan).

    This set is based on the new SnapRealm code in the upcoming v13.y.z
    ("Mimic") release. Quota handling will be rejected on older
    filesystems.

    - memory usage improvements in CephFS (Chengguang Xu).

    Directory specific bits have been split out of ceph_file_info and
    some effort went into improving cap reservation code to avoid OOM
    crashes.

    Also included a bunch of assorted fixes all over the place from
    Chengguang and others"

    * tag 'ceph-for-4.17-rc1' of git://github.com/ceph/ceph-client: (67 commits)
    ceph: quota: report root dir quota usage in statfs
    ceph: quota: add counter for snaprealms with quota
    ceph: quota: cache inode pointer in ceph_snap_realm
    ceph: fix root quota realm check
    ceph: don't check quota for snap inode
    ceph: quota: update MDS when max_bytes is approaching
    ceph: quota: support for ceph.quota.max_bytes
    ceph: quota: don't allow cross-quota renames
    ceph: quota: support for ceph.quota.max_files
    ceph: quota: add initial infrastructure to support cephfs quotas
    rbd: remove VLA usage
    rbd: fix spelling mistake: "reregisteration" -> "reregistration"
    ceph: rename function drop_leases() to a more descriptive name
    ceph: fix invalid point dereference for error case in mdsc destroy
    ceph: return proper bool type to caller instead of pointer
    ceph: optimize memory usage
    ceph: optimize mds session register
    libceph, ceph: add __init attribution to init funcitons
    ceph: filter out used flags when printing unused open flags
    ceph: don't wait on writeback when there is no more dirty pages
    ...

    Linus Torvalds
     
  • Pull dmaengine updates from Vinod Koul:
    "This time we have couple of new drivers along with updates to drivers:

    - new drivers for the DesignWare AXI DMAC and MediaTek High-Speed DMA
    controllers

    - stm32 dma and qcom bam dma driver updates

    - norandom test option for dmatest"

    * tag 'dmaengine-4.17-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (30 commits)
    dmaengine: stm32-dma: properly mask irq bits
    dmaengine: stm32-dma: fix max items per transfer
    dmaengine: stm32-dma: fix DMA IRQ status handling
    dmaengine: stm32-dma: Improve memory burst management
    dmaengine: stm32-dma: fix typo and reported checkpatch warnings
    dmaengine: stm32-dma: fix incomplete configuration in cyclic mode
    dmaengine: stm32-dma: threshold manages with bitfield feature
    dt-bindings: stm32-dma: introduce DMA features bitfield
    dt-bindings: rcar-dmac: Document r8a77470 support
    dmaengine: rcar-dmac: Fix too early/late system suspend/resume callbacks
    dmaengine: dw-axi-dmac: fix spelling mistake: "catched" -> "caught"
    dmaengine: edma: Check the memory allocation for the memcpy dma device
    dmaengine: at_xdmac: fix rare residue corruption
    dmaengine: mediatek: update MAINTAINERS entry with MediaTek DMA driver
    dmaengine: mediatek: Add MediaTek High-Speed DMA controller for MT7622 and MT7623 SoC
    dt-bindings: dmaengine: Add MediaTek High-Speed DMA controller bindings
    dt-bindings: Document the Synopsys DW AXI DMA bindings
    dmaengine: Introduce DW AXI DMAC driver
    dmaengine: pl330: fix a race condition in case of threaded irqs
    dmaengine: imx-sdma: fix pagefault when channel is disabled during interrupt
    ...

    Linus Torvalds
     
  • Pull MIPS updates from James Hogan:
    "These are the main MIPS changes for 4.17. Rough overview:

    (1) generic platform: Add support for Microsemi Ocelot SoCs

    (2) crypto: Add CRC32 and CRC32C HW acceleration module

    (3) Various cleanups and misc improvements

    More detailed summary:

    Miscellaneous:
    - hang more efficiently on halt/powerdown/restart
    - pm-cps: Block system suspend when a JTAG probe is present
    - expand make help text for generic defconfigs
    - refactor handling of legacy defconfigs
    - determine the entry point from the ELF file header to fix microMIPS
    for certain toolchains
    - introduce isa-rev.h for MIPS_ISA_REV and use to simplify other code

    Minor cleanups:
    - DTS: boston/ci20: Unit name cleanups and correction
    - kdump: Make the default for PHYSICAL_START always 64-bit
    - constify gpio_led in Alchemy, AR7, and TXX9
    - silence a couple of W=1 warnings
    - remove duplicate includes

    Platform support:
    Generic platform:
    - add support for Microsemi Ocelot
    - dt-bindings: Add vendor prefix for Microsemi Corporation
    - dt-bindings: Add bindings for Microsemi SoCs
    - add ocelot SoC & PCB123 board DTS files
    - MAINTAINERS: Add entry for Microsemi MIPS SoCs
    - enable crc32-mips on r6 configs

    ath79:
    - fix AR724X_PLL_REG_PCIE_CONFIG offset

    BCM47xx:
    - firmware: Use mac_pton() for MAC address parsing
    - add Luxul XAP1500/XWR1750 WiFi LEDs
    - use standard reset button for Luxul XWR-1750

    BMIPS:
    - enable CONFIG_BRCMSTB_PM in bmips_stb_defconfig for build coverage
    - add STB PM, wake-up timer, watchdog DT nodes

    Octeon:
    - drop '.' after newlines in printk calls

    ralink:
    - pci-mt7621: Enable PCIe on MT7688"

    * tag 'mips_4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips: (37 commits)
    MIPS: BCM47XX: Use standard reset button for Luxul XWR-1750
    MIPS: BCM47XX: Add Luxul XAP1500/XWR1750 WiFi LEDs
    MIPS: Make the default for PHYSICAL_START always 64-bit
    MIPS: Use the entry point from the ELF file header
    MAINTAINERS: Add entry for Microsemi MIPS SoCs
    MIPS: generic: Add support for Microsemi Ocelot
    MIPS: mscc: Add ocelot PCB123 device tree
    MIPS: mscc: Add ocelot dtsi
    dt-bindings: mips: Add bindings for Microsemi SoCs
    dt-bindings: Add vendor prefix for Microsemi Corporation
    MIPS: ath79: Fix AR724X_PLL_REG_PCIE_CONFIG offset
    MIPS: pci-mt7620: Enable PCIe on MT7688
    MIPS: pm-cps: Block system suspend when a JTAG probe is present
    MIPS: VDSO: Replace __mips_isa_rev with MIPS_ISA_REV
    MIPS: BPF: Replace __mips_isa_rev with MIPS_ISA_REV
    MIPS: cpu-features.h: Replace __mips_isa_rev with MIPS_ISA_REV
    MIPS: Introduce isa-rev.h to define MIPS_ISA_REV
    MIPS: Hang more efficiently on halt/powerdown/restart
    FIRMWARE: bcm47xx_nvram: Replace mac address parsing
    MIPS: BMIPS: Add Broadcom STB watchdog nodes
    ...

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "New features:

    - Tom Zanussi's extended histogram work.

    This adds the synthetic events to have histograms from multiple
    event data Adds triggers "onmatch" and "onmax" to call the
    synthetic events Several updates to the histogram code from this

    - Allow way to nest ring buffer calls in the same context

    - Allow absolute time stamps in ring buffer

    - Rewrite of filter code parsing based on Al Viro's suggestions

    - Setting of trace_clock to global if TSC is unstable (on boot)

    - Better OOM handling when allocating large ring buffers

    - Added initcall tracepoints (consolidated initcall_debug code with
    them)

    And other various fixes and clean ups"

    * tag 'trace-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (68 commits)
    init: Have initcall_debug still work without CONFIG_TRACEPOINTS
    init, tracing: Have printk come through the trace events for initcall_debug
    init, tracing: instrument security and console initcall trace events
    init, tracing: Add initcall trace events
    tracing: Add rcu dereference annotation for test func that touches filter->prog
    tracing: Add rcu dereference annotation for filter->prog
    tracing: Fixup logic inversion on setting trace_global_clock defaults
    tracing: Hide global trace clock from lockdep
    ring-buffer: Add set/clear_current_oom_origin() during allocations
    ring-buffer: Check if memory is available before allocation
    lockdep: Add print_irqtrace_events() to __warn
    vsprintf: Do not preprocess non-dereferenced pointers for bprintf (%px and %pK)
    tracing: Uninitialized variable in create_tracing_map_fields()
    tracing: Make sure variable string fields are NULL-terminated
    tracing: Add action comparisons when testing matching hist triggers
    tracing: Don't add flag strings when displaying variable references
    tracing: Fix display of hist trigger expressions containing timestamps
    ftrace: Drop a VLA in module_exists()
    tracing: Mention trace_clock=global when warning about unstable clocks
    tracing: Default to using trace_global_clock if sched_clock is unstable
    ...

    Linus Torvalds
     
  • Pull libnvdimm updates from Dan Williams:
    "This cycle was was not something I ever want to repeat as there were
    several late changes that have only now just settled.

    Half of the branch up to commit d2c997c0f145 ("fs, dax: use
    page->mapping to warn...") have been in -next for several releases.
    The of_pmem driver and the address range scrub rework were late
    arrivals, and the dax work was scaled back at the last moment.

    The of_pmem driver missed a previous merge window due to an oversight.
    A sense of obligation to rectify that miss is why it is included for
    4.17. It has acks from PowerPC folks. Stephen reported a build failure
    that only occurs when merging it with your latest tree, for now I have
    fixed that up by disabling modular builds of of_pmem. A test merge
    with your tree has received a build success report from the 0day robot
    over 156 configs.

    An initial version of the ARS rework was submitted before the merge
    window. It is self contained to libnvdimm, a net code reduction, and
    passing all unit tests.

    The filesystem-dax changes are based on the wait_var_event()
    functionality from tip/sched/core. However, late review feedback
    showed that those changes regressed truncate performance to a large
    degree. The branch was rewound to drop the truncate behavior change
    and now only includes preparation patches and cleanups (with full acks
    and reviews). The finalization of this dax-dma-vs-trnucate work will
    need to wait for 4.18.

    Summary:

    - A rework of the filesytem-dax implementation provides for detection
    of unmap operations (truncate / hole punch) colliding with
    in-progress device-DMA. A fix for these collisions remains a
    work-in-progress pending resolution of truncate latency and
    starvation regressions.

    - The of_pmem driver expands the users of libnvdimm outside of x86
    and ACPI to describe an implementation of persistent memory on
    PowerPC with Open Firmware / Device tree.

    - Address Range Scrub (ARS) handling is completely rewritten to
    account for the fact that ARS may run for 100s of seconds and there
    is no platform defined way to cancel it. ARS will now no longer
    block namespace initialization.

    - The NVDIMM Namespace Label implementation is updated to handle
    label areas as small as 1K, down from 128K.

    - Miscellaneous cleanups and updates to unit test infrastructure"

    * tag 'libnvdimm-for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (39 commits)
    libnvdimm, of_pmem: workaround OF_NUMA=n build error
    nfit, address-range-scrub: add module option to skip initial ars
    nfit, address-range-scrub: rework and simplify ARS state machine
    nfit, address-range-scrub: determine one platform max_ars value
    powerpc/powernv: Create platform devs for nvdimm buses
    doc/devicetree: Persistent memory region bindings
    libnvdimm: Add device-tree based driver
    libnvdimm: Add of_node to region and bus descriptors
    libnvdimm, region: quiet region probe
    libnvdimm, namespace: use a safe lookup for dimm device name
    libnvdimm, dimm: fix dpa reservation vs uninitialized label area
    libnvdimm, testing: update the default smart ctrl_temperature
    libnvdimm, testing: Add emulation for smart injection commands
    nfit, address-range-scrub: introduce nfit_spa->ars_state
    libnvdimm: add an api to cast a 'struct nd_region' to its 'struct device'
    nfit, address-range-scrub: fix scrub in-progress reporting
    dax, dm: allow device-mapper to operate without dax support
    dax: introduce CONFIG_DAX_DRIVER
    fs, dax: use page->mapping to warn if truncate collides with a busy page
    ext2, dax: introduce ext2_dax_aops
    ...

    Linus Torvalds
     
  • Pull RTC updates from Alexandre Belloni:
    "This contains a few series that have been in preparation for a while
    and that will help systems with RTCs that will fail in 2038, 2069 or
    2100.

    Subsystem:
    - Add tracepoints
    - Rework of the RTC/nvmem API to allow drivers to discard struct
    nvmem_config after registration
    - New range API, drivers can now expose the useful range of the RTC
    - New offset API the core is now able to add an offset to the RTC
    time, modifying the supported range.
    - Multiple rtc_time64_to_tm fixes
    - Handle time_t overflow on 32 bit platforms in the core instead of
    letting drivers do crazy things.
    - remove rtc_control API

    New driver:
    - Intersil ISL12026

    Drivers:
    - Drivers exposing the RTC non volatile memory have been converted to
    use nvmem
    - Removed useless time and date validation
    - Removed an indirection pattern that was a cargo cult from ancient
    drivers
    - Removed VLA usage
    - Fixed a possible race condition in probe functions
    - AB8540 support is dropped from ab8500
    - pcf85363 now has alarm support"

    * tag 'rtc-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (128 commits)
    rtc: snvs: Fix usage of snvs_rtc_enable
    rtc: mt7622: fix module autoloading for OF platform drivers
    rtc: isl12022: use true and false for boolean values
    rtc: ab8500: Drop AB8540 support
    rtc: remove a warning during scripts/kernel-doc step
    rtc: 88pm860x: remove artificial limitation
    rtc: 88pm80x: remove artificial limitation
    rtc: st-lpc: remove artificial limitation
    rtc: mrst: remove artificial limitation
    rtc: mv: remove artificial limitation
    rtc: hctosys: Ensure system time doesn't overflow time_t
    parisc: time: stop validating rtc_time in .read_time
    rtc: pcf85063: fix clearing bits in pcf85063_start_clock
    rtc: at91sam9: Set name of regmap_config
    rtc: s5m: Remove VLA usage
    rtc: s5m: Move enum from rtc.h to rtc-s5m.c
    rtc: remove VLA usage
    rtc: Add useful timestamp definitions
    rtc: Add one offset seconds to expand RTC range
    rtc: Factor out the RTC range validation into rtc_valid_range()
    ...

    Linus Torvalds
     
  • Pull media fixes from Mauro Carvalho Chehab:
    "A series of media updates/fixes for 4.17.

    There are two important core fix patches in this series:

    - A regression fix on Kernel 4.16 with causes it to not work with
    some input devices that depend on media core

    - A fix at compat32 bits with causes it to OOPS on overlay, and
    affects the Kernels where the CVE-2017-13166 was backported

    The remaining ones are other random fixes at the documentation and on
    drivers.

    The biggest part of this series is a set of 18 patches for the Intel
    atomisp driver. Currently, it produces hundreds of warnings/errors on
    sparse/smatch, causing me to sometimes ignore new warnings on other
    drivers that are not so broken. This driver is on really poor state,
    even for staging standards: it has several layers of abstraction on
    it, and it supports two different hardware. Selecting between them
    require to add a define (there isn't even a Kconfig option for such
    purpose). Just on this smatch cleanup, I could easily get rid of 8
    "do-nothing" files. So, I'm seriously considering its removal from
    upstream, if I don't see any real work on addressing the problems
    there along this year"

    * tag 'media/v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (48 commits)
    media: v4l2-core: fix size of devnode_nums[] bitarray
    media: v4l2-compat-ioctl32: don't oops on overlay
    media: i2c: adv748x: afe: fix sparse warning
    media: extended-controls.rst: transmitter -> receiver
    media: staging: atomisp: stop duplicating input format types
    media: staging: atomisp: get rid of an unused var
    media: staging: atomisp: stop mixing enum types
    media: staging: atomisp: get rid of some static warnings
    media: staging: atomisp: use %p to print pointers
    media: staging: atomisp: remove an useless check
    media: staging: atomisp: avoid a warning if 32 bits build
    media: staging: atomisp: don't access a NULL var
    media: staging: atomisp: Get rid of *default.host.[ch]
    media: staging: atomisp: get rid of an unused function
    media: staging: atomisp: remove unused set_pd_base()
    media: staging: atomisp: fix endianess issues
    media: staging: atomisp: add a missing include
    media: staging: atomisp: get rid of stupid statements
    media: staging: atomisp: declare static vars as such
    media: staging: atomisp: ia_css_output.host: don't use var before check
    ...

    Linus Torvalds
     

10 Apr, 2018

3 commits