KernelNewbies:

Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!

You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.

Linux 5.1 released on 5 May 2019

Summary: This release includes io_uring, an high-performance interface for asynchronous I/O; it also adds improvements in fanotify to provide a scalable way of watching changes on large file systems; it adds a method to allow safe delivery of signals in presence of PID reuse; persistent memory can be used now as hot-plugabble RAM; Zstd compression levels have been made configurable in Btrfs; it also adds a new cpuidle governor that makes better power management decisions than the menu governor; all 32 bit architectures have added the necessary syscalls to deal with the y2038 problem; it is possible now to boot to a device-mapper device without initramfs; and live patching has added support for creating cumulative patches. As always, there are many other new drivers and improvements.

(Note: in this release, the "coolest features" section does not have links to the code commits, those are available for each feature in their respective sections, preceded by FEATURED)

1. Coolest features

1.1. High-performance asynchronous I/O with io_uring

Linux has supported asynchronous I/O for a long time. However, the interface suffers from a large number of shortcomings. It does not support buffered I/O, only unbuffered (O_DIRECT) I/O, which only a subset of a subset of applications use. Even in those cases asynchronous IO was some times not really asynchronous or fast. All attempts to fix the existing interface have failed.

A new asynchronous interface, io_uring, has been created and merged in the release, with the purpose of finally adding fast, scalable asynchronous I/O to Linux, both buffered and unbuffered. It also supports asynchronous polled IO, and other features that will be added in the future. For more details, read this document (PDF). For performance details, see this email.

Additionally, a user space library, liburing, has been created to provides basic functionality for applications that don't need or want to care about how to fiddle with the low level details of the kernel interface. It has helpers to allow applications to easily set up an io_uring instance, and submit/complete IO through it without knowing about the intricacies of the rings, and will continue to grow support helper functions and features as time progresses.

Document explaining the reasons for the existence of io_uring, inner workings of it, the user visible interface and liburing: io_uring.pdf

Recommended LWN article: Ringing in a new asynchronous I/O API

liburing git repository: http://git.kernel.dk/cgit/liburing/

1.2. Improved fanotify for better file system monitorization

Unlike other operating systems, Linux does not have an efficient way to watch changes on a large file system. The only way to monitor file system dirent modification events is recursive inotify watches, which scales poorly for large directory trees. The fanotify interface, introduced in Linux 2.6.36, was intended to supersede inotify and solve its deficiencies, and it initially took several steps in the direction of solving scalability issues, but the work needed to completely supersede inotify.

This release (along with the fanotify changes in Linux 4.20) expands fanotify to provide "super block root watch" functionality, which is a scalable way of watching changes on large file systems. For more details see the project wiki

1.3. Safe signal delivery in presence of PID reuse

The kill(2) syscall operates on PIDs. After a process has exited its PID can be reused by another process. If a caller sends a signal to a reused PID it will end up signaling the wrong process. This is an old problem with the Unix process design, and has caused numerous security problems.

After considering several proposals, the Linux kernel has added a new syscall, pidfd_send_signal(2), which uses file descriptors from /proc/<pid> as stable handles on struct pid. Even if a pid is recycled the handle will not change, and the file descriptor can be used to safely send signals to the process it refers to. Note that the next kernel release will add a flag to clone(2) that will allow to retrieve from that syscall the pid file descriptor.

Recommended LWN article: Toward race-free process signaling

asciinema recording for the basic functionality: https://asciinema.org/a/IQjuCHew6bnq1cr78yuMv16cy

1.4. Use persistent memory as RAM

Linux supports persisten memory devices, but they are often used as storage devices. Some users want to use persistent memory as additional volatile memory, they are willing to cope with potential performance differences, and want to use typical Linux memory management apis rather than a userspace memory allocator layered over an mmap() of a dax file. This release allows them to do so. This is intended for use with NVDIMMs that are physically persistent (physically like flash) so that they can be used as a cost-effective RAM replacement.

Recommended LWN article: Persistent memory for transient data

1.5. TEO, an alternative cpuidle governor to 'menu'

The cpuidle subsystem is the part of the kernel in charge of deciding which CPU deep idle state should be used when the CPU has nothing to do (deeper idle states save more power, but it takes more time to get out of them). There are two cpuidle governors, "menu" and "ladder", each one using different heuristics. However, the menu governor is believed to have a number of shortcomings in its heuristics, but instead of being fixed an alternative was introduced in this release so people can compare both: TEO, the Timer Events Oriented Governor, which seems to offer improved performance with no extra power consumption cost. You can check your governor in /sys/devices/system/cpu/cpuidle/current_governor_ro) and change the default cpuidle governor at boot time with the cpuidle.governor=teo boot parameter.

Recommended LWN article: Improving idle behavior in tickless systems

1.6. More Year 2038 preparation

As part of the work to prepare for the prepare for the year 2038 problem, this release includes syscalls for 32 bits architecture with a 64-bit time_t structure. This finally allows to have system calls with 64-bit time_t on all architectures, after a long time of preparation

Recommended LWN article: Approaching the kernel year-2038 end game

1.7. Configurable Zstd compression level in Btrfs

Btrfs has support Zstd compression since Linux 4.14, but it didn't allow to configure the compression level used by the filesystem, which can make a big difference. This release adds support for configuring the compression level used in a Btrfs file system, as it's done with zlib, by using the mount option -o compress=zstd:level. To see the levels available and their impact in performance and compression rate, see this commit

1.8. Boot to a device-mapper device without initramfs

In order to boot to a filesystem placed in a device-mapper device, you need an initramfs. Some people, however, don't want or can't use an initramfs. This release allows to use of DM targets in the boot process (as the root device or otherwise) without the need of an initramfs, with the help of a tricky kernel boot parameter. For more details see the documentation

1.9. live patching: support cumulative patches

There might be dependencies between livepatches. If multiple patches need to do different changes to the same function(s) then it's necessary to define an order in which the patches will be installed. And function implementations from any newer livepatch must be done on top of the older ones. This might become a maintenance nightmare for distros, especially if anyone would want to remove a patch that is in the middle of the stack.

An elegant solution included in this release is the feature called "Atomic Replace". It allows creation of so called "Cumulative Patches". They include all wanted changes from all older livepatches and completely replace them in one transition. As a result, the livepatch authors might maintain sources only for one cumulative patch. For more details, see the documentation

2. Core (various)

3. File systems

  • BTRFS
  • AUTOFS
    • Add ignore mount option that can be used to provide a indicator to applications that the mount entry should be ignored displaying mount information. commit

  • XFS
    • Introduce an always_cow mode where XFS never overwrites existing blocks in place. This is to aid debugging COW code commit

  • NFS
    • Readdirplus optimization by cache mechanism commit

    • pNFS: Avoid read/modify/write when it is not necessary commit, commit

  • CIFS
    • Allow SMB3 FSCTL queries to be sent to server from tools commit

    • Cache FILE_ALL_INFORMATION for the shared root handle. This allows to serve "stat /<mountpoint>" directly from cache and avoid a network roundtrip commit

  • EXT2
  • F2FS
    • Add quick mode of checkpoint=disable for QA commit

  • FAT
    • Support splice on O_DIRECT file commit

  • CEPH
    • Add mount option caps_max to limit caps count commit

    • Support versioned reply commit

    • Support getting ceph.dir.pin vxattr commit

    • Remove dentry_lru file from debugfs commit

  • EXT4
    • Add sysfs attr /sys/fs/ext4/<disk>/journal_task commit

  • EXOFS

4. Memory management

  • Algorithmic complexity of swapoff operation is reduced from quadratic to linear, reducing (with 6GB data in swap in a VM) the swapoff operation from 8 to 3 minutes and CPU utilization from 80% to 5% commit commit

  • Increase success rates and reduce latency of compaction (physical memory defragmentation), reducing the number of scanned pages for migration by 65%, and free pages for migration targets by 97%, while improving transparent hugepage allocation success rates significantly. commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit

  • Remove the ancient OOM killer heuristic that preferred to kill children of the "worst" process rather than the process itself commit

  • Prevent SLAB and other pages with special type to be mapped into userspace, for improved security. commit commit

  • Allow excluding balloon pages from kdump crash dumps to reduce their size. Also exclude them from hibernation image. commit commit commit commit commit commit commit commit

  • Simplify some of the early memory allocations by replacing usage of older memblock APIs with newer and shinier ones commit commit commit commit commit commit

  • Some improvements and, importantly, tests were added for VM related fiels found in /proc/*/maps and related files. commit commit commit commit

  • Shuffle GFP flags so that common combinations (e.g. GFP_KERNEL) are tightly packed, which allows arm to emit more efficient instruction stream, saving about 0.1% commit

  • A new vm_fault_t type is introduced to detect cases (via sparse) where a page fault handler mistakenly returns an error code instead of VM_FAULT_* code commit

  • Drop the mmap_sem when doing IO in the fault path commit, commit, commit, commit

  • memory controller: expose transparent huge page events on a per-memcg basis, using the files anon_thp, thp_fault_alloc and thp_collapse_alloc commit

  • In mremap(2) an unfortunate corner case is fixed where (if the number of mappings of a process approaches the maximum limit) mremap() can fail with ENOMEM but only after performing some destructive unmap actions. commit

  • Cleanup and better documentation of how the PG_reserved page flag is used. commit commit commit commit commit commit commit commit commit

  • (FEATURED) "Hotplug" persistent memory for use like normal RAM commit, commit, commit, commit, commit

  • Test driver to analyse vmalloc allocator commit, commit, commit

  • dma-debug: add dumping facility via debugfs commit

  • kasan: remove use after scope bugs detection. It significantly increases stack usage and does not provide much value for the kernel commit

5. Block layer

  • bcache
    • Export backing_dev_name via sysfs commit

    • Export backing_dev_uuid via sysfs commit

  • device mapper
    • (FEATURED) Add a "create" module parameter, which allows device-mapper targets to be configured at boot time. This enables early use of DM targets in the boot process (as the root device or otherwise) without the need of an initramfs commit

    • dm cache: add support for discard passdown to the origin device commit

  • raid5: adds new sysfs attribute which can be used to specify which write_hint should be assigned to PPL commit

  • rbd: advertise support for RBD_FEATURE_DEEP_FLATTEN commit

6. Tracing and perf

  • BPF
  • perf
    • perf bpf: Automatically add BTF ELF markers to 'perf trace' BPF programs, so that tools such as 'bpftool map dump' can pretty print map keys and values commit

    • Add support for annotating BPF programs, using the PERF_RECORD_BPF_EVENT and PERF_RECORD_KSYMBOL recently added to the kernel and plugging binutils's libopcodes disassembly of BPF programs with the existing annotation interfaces in 'perf annotate', 'perf report' and 'perf top' various output formats (--stdio, --stdio2, --tui) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add new filter options for perf diff: --time, --cpu, --pid, --tid commit, commit, commit

    • Reduce NUMA related overhead in perf record profiling on large server systems commit, commit, commit, commit

    • Add initial BPF map dumper, initially just for the current, minimal needs of the augmented_raw_syscalls BPF example used to collect pointer args payloads that uses BPF maps for pid and syscall filtering, but will in time have features similar to 'perf stat' --interval-print, --interval-clear, ways to signal from a BPF event that a specific map (or range of that map) should be printed, optionally as a histogram, etc commit, commit

    • perf script: Support insn output for normal samples commit

    • perf script: Make the --cpu filter apply to PERF_RECORD_COMM/FORK/... events, in addition to PERF_RECORD_SAMPLE commit

    • perf report: Add 'time' sort option. E.g.: perf report --sort time,overhead,symbol --time-quantum 1ms --stdio commit, commit, commit

    • perf list: Display metric expressions for --details option commit

    • perf scripts python: exported-sql-viewer.py: Add call tree commit

7. Security

8. Networking

9. Architectures

9.1. ARM

  • New SoCs

    • Milbeaut SoC family from Socionext. SC2000 is a SoC of the Milbeaut series. equipped with a DSP optimized for computer vision. It also features advanced functionalities such as 360-degree, real-time spherical stitching with multi cameras, image stabilization for without mechanical gimbals, and rolling shutter correction commit, commit

    • Bitmain BM1880 chip used in the Sophon Edge TPU developer board. The chip is intended for Deep Learning applications, and comes with dual-core Arm Cortex-A53 to run Linux as well as a RISC-V microcontroller core to control the tensor unit. For the moment, the TPU is not accessible in mainline Linux, so it's treated it as a generic Arm SoC commit, commit

    • Renesas RZ/A2M (R7S9210) 32-bit Cortex-A9 Real-time imaging processor commit, commit

    • Renesas RZ/G2E (r8a774c0) 64-bit Cortex-A53 SoC "for Rich Graphics Applications" commit

    • NXP i.MX8QuadXPlus 64-bit Cortex-A35 SoC commit, commit

    • Mediatek gains support for a new SoC: MT7629 is a new wireless router platform, following MT7623 commit

  • New device tree sources
    • Bosch Guardian is a product made by Bosch Power Tools GmbH, based on the Texas Instruments AM335x chip commit

    • Winterland IceBoard is a Texas Instruments AM3874 based machine used in telescopes at the south pole and elsewhere commit

    • Inspur on5263m5 is an x86 server platform with an Aspeed ast2500 baseboard management controller. This is for running on the BMC commit

    • Zodiac Digital Tapping Unit, apparently a kind of ethernet switch used in airplanes commit

    • Phicomm K3 is a WiFi router based on Broadcom bcm47094 commit

    • Methode Electronics uDPU FTTdp distribution point unit commit

    • X96 Max, a generic TV box based on Amlogic G12a (S905X2) commit

    • NVIDIA Shield TV (Darcy) based on Tegra210 commit

  • New SBC, evaluation, development or modular systems added
    • Three new Rockchips rk3399 based boards
    • Five new i.MX6 family SoM modules and boards for industrial products
      • Logic PD i.MX6QD SoM and evaluation baseboad commit

      • Y Soft IOTA Draco/Hydra/Ursa family boards based on i.MX6DL commit

      • Phytec phyCORE i.MX6 UltraLite SoM and evaluation module commit

    • MYIR Tech MYD-LPC4357 development based on the NXP lpc4357 microcontroller commit

    • Chameleon96, an Intel/Altera Cyclone5 based FPGA development system in 96boards form factor commit

    • Arm Fixed Virtual Platforms(FVP) Base RevC, a purely virtual platform for corresponding to the latest "fast model" commit

    • Another Raspberry Pi variant: Model 3 A+, supported both in 32-bit and 64-bit mode commit, commit

    • Oxalis Evalkit V100 based on NXP Layerscape LS1012a, in 96Boards enterprise form factor commit

    • Elgin RV1108 R1 development board based on 32-bit Rockchips RV1108 commit

    • freescale: Add devicetree for Oxalis commit

    • renesas: Add Si-Linux CAT874 board support commit

    • renesas: Add Si-Linux EK874 board support commit

  • coresight
    • cpu-debug: Support for CA73 CPUs commit

    • etm4x: Add support to enable ETMv4.2 commit

  • perf: Add "sinks" group to PMU directory commit, commit

  • ARM64
    • default NR_CPUS to 256 commit

    • Enable HugeTLB migration support for all supported huge page sizes at all levels including contiguous bit implementation commit commit commit commit commit

    • Enable the support of pseudo-NMIs commit

    • Add ptrace regsets for ptrauth key management commit

    • gic-v3: Implement arch support for priority masking commit

9.2. X86

  • speculation: Add PR_SPEC_DISABLE_NOEXEC argument to PR_SET_SPECULATION_CTRL option of prctl(2) to allow applications to specify that the SSBD feature bit on the task structure should be cleared whenever a new program is being execve'ed commit

  • intel_idle: add support for Jacobsville commit

  • powercap/intel_rapl: add Ice Lake mobile commit

  • adds decoding for some new SMCA bank types (MP5, NBIO, and PCIE) and also for some new versions of existing bank types (CS, PSP, and SMU) commit, commit, commit

  • perf
    • Implement support for TSX Force Abort commit

    • PMU events for AMD Family 17h commit

  • platform
    • chrome: Add new driver for Wilco EC commit

    • intel_pmc_core: Add ICL platform support commit

    • mlx-platform: Add support for new VMOD0007 board name commit

    • touchscreen_dmi: Add info for the CHUWI Hi10 Air tablet commit

    • touchscreen_dmi: Add info for the Chuwi Hi8 Air tablet commit

    • touchscreen_dmi: Add info for the PoV Wintab P1006w (v1.0) tablet commit

    • pcengines apuv2 gpio/leds/keys platform driver commit

  • KVM
    • Expose MOVDIR64B CPU feature into VM commit

    • Expose MOVDIRI CPU feature into VM commit

9.3. POWERPC

9.4. S390

  • qeth: add support for ETHTOOL_GRINGPARAM commit

  • cpum_cf_diag: Add support for s390 counter facility diagnostic trace commit

  • perf report
    • Display arch specific diagnostic counter sets, starting with s390 commit

    • Display names in s390 diagnostic counter sets commit

    • Dump s390 counter set data to file commit

9.5. MIPS

9.6. XTENSA

  • Use generic spinlock/rwlock implementation commit

9.7. M68K

  • Add ColdFire mcf5441x eDMA platform support commit

9.8. RISCV

10. Drivers

10.1. Graphics

10.2. Storage

  • ata: add Buddha PATA controller driver commit

  • nvme-multipath: round-robin I/O policy commit

  • nvme: add support for the Write Zeroes command commit

  • nvmem: imx-ocotp: Implement i.MX6ULL/ULZ support commit

  • nvmem: imx-ocotp: add i.MX7ULP support commit

  • nvmem: zynqmp: Added zynqmp nvmem firmware driver commit

  • SCSI
    • fnic: Add port speed stat to fnic debug stats commit

    • fnic: Enable fnic devcmd2 interface commit

    • fnic: fnic stats for max CQs processed and ISR time commit

    • gdth: remove ISA and EISA support commit

    • gdth: remove gdth_{alloc,free}_ioctl commit

    • hisi_sas
    • mpt3sas
      • Add support for ATLAS PCIe switch commit

      • Add support for NVMe Switch Adapter commit

    • qla2xxx
      • Add First Burst support for FC-NVMe devices commit

      • Add pci function reset support commit

      • Add protection mask module parameters commit

      • Add support for setting port speed commit

    • remove bidirectional command support commit

    • remove the SCSI OSD library commit

    • scsi_debug: Implement support for write protect commit

    • ufs: Add HI3670 SoC UFS driver support commit

10.3. Drivers in the Staging area

  • iio: adc: ad7606: Move out of staging commit

  • mt7621-pci-phy: add new driver for phy part of mt7621-pci commit

  • erofs: complete POSIX ACL support commit

  • xgifb: delete the driver commit

  • media
  • iio: cdc: ad7152: remove driver completely commit

10.4. Networking

10.5. Audio

  • dice: add support for Solid State Logic Duende Classic/Mini commit

  • fireface: add support for Fireface UCX commit, commit, commit

  • hda/realtek
    • Add support for Acer Aspire E5-523G/ES1-432 headset mic commit

    • Add support headset mode for DELL WYSE AIO commit

    • Add support headset mode for New DELL WYSE NB commit

    • Enable ASUS X441MB and X705FD headset MIC with ALC256 commit

    • Enable headset MIC of ASUS X430UN and X512DK with ALC256 commit

    • Enable headset MIC of Acer Aspire Z24-890 with ALC286 commit

    • Enable headset mic of ASUS P5440FF with ALC256 commit

  • hda: hdmi - add Icelake support commit

  • ASoC
    • Add MICFIL SoC Digital Audio Interface driver commit

    • Intel: Add Geminilake Dialog Maxim machine driver commit

    • Intel: Boards: Add Maxim98373 support commit

    • Intel: Headset button support in broxton machine driver commit

    • Intel: bytcht_es8316: Add external speaker mux support commit, add input-map support commit, add jack-detect support commit

    • Intel: bytcr_rt5651: Add quirks module parameter commit, add support for jack-detect using an external GPIO commit

    • ak4458: Add support for AK4497 commit

    • apq8096: add slim support commit

    • audio-graph-scu-card: remove audio-graph-scu-card commit

    • codecs: Add jz4725b-codec driver commit

    • cros_ec_codec: Add codec driver for Cros EC commit

    • cs35l36: Add support for Cirrus CS35L36 Amplifier commit

    • cs4341: Add driver for CS4341 DAC commit

    • es8316: Add DAC mono mix switch mixer control commit, add jack-detect support commit

    • mediatek: add btcvsd driver commit

    • mediatek: mt6358: add codec driver commit

    • mediatek: mt8183: add platform driver commit

    • rockchip: support ACODEC for rk3328 commit

    • rt5651: Add ACPI ID 10EC5640 commit

    • rt5651: Add support for jack detect using an external GPIO commit

    • samsung: odroid: Add support for secondary CPU DAI commit

    • simple-scu-card: remove simple-scu-card commit

    • sprd: Add Spreadtrum audio DMA platfrom driver commit

    • sun4i-codec: Add FM Playback Volume, FM Left, FM Right, FM Playback Switch commit, add Line Playback Volume, Line Boost Volume, Line Right, Line Left, Line Playback Switch commit, add MIC2 Pre-Amplifier, Mic2 input commit, add Mic Playback Volume commit, add Mic1 Boost Volume, Mic2 Boost Volume commit, add Mic1 Playback Switch, Mic2 Playback Switch commit

    • Add support to WCD9335 Audio Codec commit, commit, commit, commit, commit, commit

    • Add Xilinx SPDIF audio driver and formatter driver commit, commit, commit, commit

10.6. Tablets, touch screens, keyboards, mouses

  • Add new vibrator driver for various MSM SOCs commit

  • edt-ft5x06: add support for Evervision FT5726 commit

  • elan_i2c: add hardware ID for multiple Lenovo laptops commit

  • elan_i2c: add id for touchpad found in Lenovo s21e-20 commit

  • goodix: support Goodix gt5688 commit

  • ili210x: add ILI251X support commit

  • st1232: add support for st1633 commit

  • sx8654: add sx8650 support commit

  • sx8654: add sx8655 and sx8656 to compatibles commit

  • tm2-touchkey: add support for aries touchkey variant commit

  • tm2-touchkey: add support for midas touchkey commit

  • tm2-touchkey: allow specifying custom keycodes commit

  • wacom_serial4: add support for Wacom ArtPad II tablet commit

  • Support for Maltron L90 keyboard media keys commit

  • stpmic1: Add STPMIC1 onkey driver commit

  • HID
    • Add support for Toshiba WT10A tablet bluetooth keyboard commit

    • hid-asus: Add BT keyboard dock battery monitoring support commit

    • hid-asus: Add Transbook T90CHI support commit

    • kye: Add support for EasyPen M406XE commit

    • multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons commit

    • uclogic: Add support for Ugee 2150 commit

    • uclogic: Add support for Ugee EX07S frame controls commit

    • uclogic: Add support for Ugee G5 commit

    • uclogic: Add support for Ugee M540 commit

    • uclogic: Add support for XP-Pen Deco 01 commit

    • uclogic: Add support for XP-Pen Star G540 commit

    • uclogic: Add support for XP-Pen Star G640 commit

    • uclogic: Support Gray-coded rotary encoders commit

    • uclogic: Support faking Wacom pad device ID commit

    • uclogic: Support fragmented high-res reports commit

    • uclogic: Support in-range reporting emulation commit

    • uclogic: Support v2 protocol commit

    • viewsonic: Support PD1011 signature pad commit

    • wacom: Add support for Pro Pen slim commit

10.7. TV tuners, webcams, video capturers

  • Add support for 32-bit packed YUV formats commit, commit, commit, commit

  • coda: Add control for h.264 chroma qp index offset commit

  • coda: Add control for h.264 constrained intra prediction commit, commit, commit

  • gspca: ov534-ov772x: add SGBRG8 bayer mode support commit

  • i2c: mt9m001: copy mt9m001 soc_camera sensor driver commit

  • ov5640: Add RAW bayer format support commit

  • ov8856: Add support for OV8856 sensor commit

  • rc: rcmm decoder and encoder commit

  • rcar-csi2: Add support for RZ/G2E commit

  • rcar-vin: Add support for RZ/G2E commit

  • sh_mobile_ceu_camera: remove obsolete soc_camera driver commit

  • si470x-i2c: Add optional reset-gpio support commit

  • smipcie: add universal ir capability commit

  • soc_camera: Remove the mt9m001 SoC camera sensor driver commit

  • soc_camera: Remove the rj45n1 SoC camera sensor driver commit

  • soc_camera_platform: remove obsolete soc_camera test driver commit

  • soc_mt9t112: remove obsolete sensor driver commit

  • soc_ov772x: remove obsolete sensor driver commit

  • soc_tw9910: remove obsolete sensor driver commit

  • sun6i: Add A64 CSI block support commit

  • sun6i: Add support for JPEG media bus format commit

  • sun6i: Add support for RGB565 formats commit

  • vicodec: Add support for resolution change event commit

  • vicodec: add support for CROP and COMPOSE selection commit

  • video-i2c: add Melexis MLX90640 thermal camera commit

  • vim2m: add bayer capture formats commit

  • vim2m: add support for VIDIOC_ENUM_FRAMESIZES commit

  • vim2m: allow setting the default transaction time via parameter commit

  • vimc: Add vimc-streamer for stream control commit

  • vimc: add USERPTR support commit

10.8. Universal Serial Bus

  • Add option of only authorizing internal devices. This is used by ChromeOS to initialize fixed USB devices while the userspace in charge of authorizing USB devices, such as USBGuard, are started commit

  • cp210x: add ID for Ingenico 3070 commit

  • cp210x: add new device id commit

  • ftdi_sio: add ID for Hjelmslund Electronics USB485 commit

  • ftdi_sio: add additional NovaTech products commit

  • option: add Olicard 600 commit

  • option: add Telit ME910 ECM composition commit

  • option: add support for Quectel EM12 commit

  • option: set driver_info for SIM5218 and compatibles commit

  • dwc3: pci: add support for Comet Lake PCH ID commit

  • misc: usbtest: add super-speed isoc support commit

10.9. Serial Peripheral Interface (SPI)

  • Add a driver for the Freescale/NXP QuadSPI controller commit

  • stm32: add support for STM32F4 commit

  • spi-mem: Add driver for NXP FlexSPI controller commit

  • atmel-quadspi: add support for sam9x60 qspi controller commit

10.10. Watchdog

  • Add watchdog_thresh command line parameter to set the hard lockup detector stall duration threshold in seconds commit

  • stpmic1: Add STPMIC1 watchdog driver commit

  • mlx-wdt: introduce a watchdog driver for Mellanox systems commit

10.11. Serial

  • Ingenic: Add support for the X1000 commit

  • Add Tegra Combined UART driver commit

10.12. ACPI, EFI, cpufreq, thermal, Power Management

  • (FEATURED) cpuidle: New timer events oriented governor for tickless systems commit

  • cpufreq: ap806: add cpufreq driver for Armada 8K commit

  • ACPI / APEI: Add support for the SDEI GHES Notification type commit

  • tools/power turbostat: Add Die column commit

  • tools/power turbostat: Add support for AMD Fam 17h (Zen) RAPL commit

  • tools/power turbostat: Add Icelake support commit

  • thermal: broadcom: Add Stingray thermal driver commit

  • thermal: mediatek: add support for MT8183 commit

  • thermal: qoriq: add multiple sensors support commit

10.13. Real Time Clock (RTC)

  • platform/chrome: wilco_ec: Add RTC driver commit

  • Add Cadence RTC driver commit

  • Add AB-RTCMC-32.768kHz-EOZ9 RTC support commit

  • imx-sc: add rtc set time support commit

  • isl1208: Add new style nvmem support to driver commit

  • isl1208: Support more chip variations commit

  • rv3028: add new driver commit

  • rx8581: Add support for Epson rx8571 RTC commit

  • sd3078: new driver commit

  • support for the Amlogic Meson RTC commit

10.14. Voltage, current regulators, power capping, power supply

  • reset: at91-reset: add support for sam9x60 SoC commit

  • regulator:
    • bd70528: Support ROHM BD70528 regulator block commit

    • max77650: add regulator support commit

    • stpmic1: Add active discharge support commit

    • fan53555: Add support for FAN53526 commit

10.15. Pin Controllers (pinctrl)

  • ssbi-gpio: add support for hierarchical IRQ chip commit

  • at91: add slewrate support for SAM9X60 commit

  • at91: add drive strength support for SAM9X60 commit

  • freescale: Add imx8mm pinctrl driver support commit

  • imx: add imx8qm driver commit

10.16. Multi Media Card (MMC)

  • Add discard support to sd commit

  • sdhci: Add ADMA3 DMA support for V4 enabled host commit

  • tegra: HW Command Queue Support for Tegra SDMMC commit

10.17. Memory Technology Devices (MTD)

  • fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c commit

  • rawnand: meson: add support for Amlogic NAND flash controller commit

  • spi-nor: Add support for EN25Q80A commit

  • spi-nor: Add support for MX25V8035F commit

  • spi-nor: Add support for en25qh64 commit

  • spi-nor: Add support for mx25u3235f commit

  • spi-nor: cadence-quadspi: Add support for Octal SPI controller commit

  • spinand: Add support for GigaDevice GD5F1GQ4UExxG commit

  • spinand: Add support for all Toshiba Memory products commit

  • ubi: Expose the bitrot interface commit

10.18. Industrial I/O (iio)

  • add Ingenic JZ47xx ADC driver commit

  • Add modifiers for ethanol and H2 gases commit

  • accell: mma8452: add vdd/vddio regulator operation support commit

  • adc: Add AD7768-1 ADC basic support commit

  • adc: ad7768-1: Add support for setting the sampling frequency commit

  • adc: Add the TI ads124s08 ADC code commit

  • adc: ad7476: Add support for TI ADS786X ADCs commit

  • adc: add NPCM ADC driver commit

  • adc: add STMPE ADC driver using IIO framework commit

  • chemical: add support for Plantower PMS7003 sensor commit

  • chemical: add support for Sensirion SPS30 sensor commit

  • chemical: sgp30: Support Sensirion SGP30/SGPC3 sensors commit

  • dac: ad5686: Add support for AD5674R/AD5679R commit

  • imu: mpu6050: Add support for the ICM 20602 IMU commit

  • light: add driver for MAX44009 commit

  • light: isl29018: add vcc regulator operation support commit

  • magnetometer: mag3110: add vdd/vddio regulator operation support commit

  • dac:ti-dac7612: Add driver for Texas Instruments DAC7612 commit

  • st_pressure:initial lps22hh sensor support commit

10.19. Multi Function Devices (MFD)

  • lochnagar: Add support for the Cirrus Logic Lochnagar commit

  • tps65218.c: Add input voltage options commit

  • stpmic1: Add STPMIC1 driver commit

10.20. Pulse-Width Modulation (PWM)

  • Add MediaTek MT8183 display PWM driver support commit

  • atmel: Add support for SAM9X60's PWM controller commit

  • hibvt: Add hi3559v100 support commit

10.21. Inter-Integrated Circuit (I2C)

  • aspeed: Add multi-master use case support commit

  • gpio: fault-injector: add 'inject_panic' injector commit, add 'lose_arbitration' injector commit

  • i801: Add support for Intel Comet Lake commit

  • i2c-ocores: Add IO mapped polled support commit, commit, commit

  • rcar: add suspend/resume support commit

  • tegra: Add DMA support commit

  • tegra: add bus clear Master Support commit

  • tegra: add i2c interface timing support commit

  • tegra: update maximum transfer size commit

10.22. Hardware monitoring (hwmon)

  • dell-smm: Support up to 10 temp sensors commit

  • pmbus: add support for DPS-650AB commit

  • pwm-fan: Add optional regulator support commit

  • lm85: support the LM96000 commit

10.23. General Purpose I/O (gpio)

  • add core support for pull-up/pull-down configuration commit

  • AMD G-Series PCH gpio driver commit

  • pca953x: Add wake-up support commit

  • Add a Gateworks PLD GPIO driver commit

  • gpio-f7188x: add support Fintek F81804 & F81966 commit

10.24. DMA engines

  • k3dma: Upgrade k3dma driver to support hisi_asp_dma hardware commit

  • fsl-qdma: Add qDMA controller driver for Layerscape SoCs commit

  • ioatdma: support latency tolerance report (LTR) for v3.4 commit

  • ioatdma: add descriptor pre-fetch support for v3.4 commit

  • ioatdma: Add Snow Ridge ioatdma device id commit

10.25. Hardware Random Number Generator (hwrng)

  • Add OP-TEE based rng driver commit

10.26. Cryptography hardware acceleration

  • caam: add support for xcbc(aes) commit

  • crypto4xx: add prng crypto support commit

  • axis: remove sha384 support for artpec7 commit

  • caam: add ecb(*) support commit

  • s5p: add AES support for Exynos5433 commit

10.27. PCI

  • Add HXT vendor ID commit

  • imx6: Add support for i.MX8MQ commit

  • altera: Add Stratix 10 PCIe support commit

  • layerscape: Add EP mode support commit

10.28. Clock

  • Add Fixed MMIO clock driver commit

  • actions: Add clock driver for S500 SoC commit

  • clocksource/drivers/tegra: Add Tegra210 timer support commit

  • imx: Add PLLs driver for imx8mm soc commit

  • imx: Add clock driver support for imx8mm commit

  • imx: scu: add cpu frequency scaling support commit

  • meson: Add G12A AO Clock + Reset Controller commit

  • meson: g12a: add peripheral clock controller commit

  • meson: pll: update driver for the g12a commit

  • qcom: clk-rpmh: Add IPA clock support commit

  • tegra: dfll: support PWM regulator control commit

10.29. EDAC (Error Detection And Correction)

  • aspeed: Add an Aspeed AST2500 EDAC driver commit

  • i10nm: Add a driver for Intel 10nm server processors commit

10.30. PHY ("physical layer" framework)

  • Add Cadence D-PHY support commit

  • Add A3700 COMPHY support commit

  • Add A3700 UTMI PHY driver commit

  • armada38x: add common phy support commit

  • qcom-qmp: Add QMP V3 USB3 PHY support for msm8998 commit

  • qcom-qusb2: Add QUSB2 PHY support for msm8998 commit

  • ti: usb2: Add support for AM654 USB2 PHY commit

  • Networking
    • mdio-mux: Add support for Generic Mux controls commit

    • aquantia: add hwmon support commit

    • marvell10g: add support for the 88x2110 PHY commit

    • Add DP83825I to the DP83822 driver commit

    • Add generic support for 2.5GBaseT and 5GBaseT commit

    • aquantia: add support for AQCS109 commit

    • aquantia: add support for auto-negotiation configuration commit

    • ealtek: add generic Realtek PHY driver commit

10.31. Various

  • extcon: Add support for ptn5150 extcon driver commit

  • firmware: tegra: add bpmp driver for Tegra210 commit

  • firmware: xilinx: Add APIs to control node status/power commit

  • firmware: xilinx: Implement ZynqMP power management APIs commit

  • soc: xilinx: Add ZynqMP PM driver commit

  • soc: xilinx: Add ZynqMP power domain driver commit

  • gnss: add driver for mediatek receivers commit

  • habanalabs: Add driver for Habana's AI Processors (AIP) that are designed to accelerate Deep Learning inference and training workloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • interconnect: Add debugfs support commit

  • interconnect: Add generic on-chip interconnect API commit

  • interconnect: Allow endpoints translation via DT commit

  • interconnect: qcom: Add sdm845 interconnect provider driver commit

  • iommu/hyper-v: Add Hyper-V stub IOMMU driver commit

  • irqchip: Add driver for Loongson-1 interrupt controller commit

  • mailbox: ZynqMP IPI mailbox controller commit

  • hdcp driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add support to Qualcomm FastRPC driver commit, commit, commit, commit

  • ptp: add QorIQ PTP support for ENETC commit

  • ptp_qoriq: support external trigger stamp FIFO commit

  • remoteproc: debug: add crash debugfs node commit

  • reset: Add Broadcom STB SW_INIT reset controller driver commit

  • reset: imx7: Add support for i.MX8MQ IP block variant commit

  • reset: reset-zynqmp: Adding support for Xilinx zynqmp reset controller commit

  • soc: qcom: rpmhpd: Add RPMh power domain driver commit

  • soc: qcom: rpmpd: Add a Power domain driver to model corners commit

  • tee: add bus driver framework for TEE based devices commit

  • tee: add cancellation support to client interface commit

  • tee: optee: add TEE bus device enumeration support commit

11. List of merges

12. Other news sites

KernelNewbies: LinuxChanges (last edited 2019-05-06 07:30:25 by diegocalleja)