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.2 was released on 7 July 2019.

Summary: This release includes Sound Open Firmware, a project that brings open source firmware to DSP audio devices; open firmware for many Intel products is also included. This release also improves the Pressure Stall Information resource monitoring to make it usable by Android; the mount API has been redesigned with new syscalls; the BFQ I/O scheduler has gained some performance improvements; a new CLONE_PIDFD flag lets clone(2) return pidfs usable by pidfd_send_signal(2); Ext4 has gained support for case-insensitive name lookups; there is also a new device mapper target that simulates a device that has failing sectors and/or read failures; open source drivers for the ARM Mali t4xx and newer 6xx/7xx have been added. As always, there are fixes for the latest CPU bug (MDS) and many other new drivers and improvements.

1. Coolest features

1.1. Inclusion of Sound Open Firmware

While many audio DSP devices have open source drivers, their firmware has remained closed and shipped as binary files. As a result, firmware issues have often been difficult to address. The Sound Open Firmware -SOF- project, backed by Intel and Google, has been created to improve this situation by providing a open source platform to create open source firmware for audio DSPs. Not only SOF will allow users to have open source firmware, it will allow them to personalize their own firmware, or even use the power of the DSP processors in their sound cards in imaginative ways. This release includes the SOF core, plus open source firmware from Intel for many of their mainstream products: Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake and IceLake

Recommended LWN article: The Sound Open Firmware project launches

Project site: https://www.sofproject.org

Instructions in the ALSA website: https://www.alsa-project.org/main/index.php/Firmware

1.2. Improved Presure Stall Information for better resource monitoring

Pressure stall information were added to Linux 4.20 as a way to quantify resource pressure in the system in a better way than the traditional load average. PSI aggregates and reports the overall wallclock time in which the tasks in a system (or cgroup) wait for cpu, io or memory.

This release lets users to configure sensitive thresholds and use poll() and friends to be notified when a certain pressure thresold is breached within a user-defined time window. With this mechanism, Android can monitor for, and ward off, mounting memory shortages before they cause problems for the user. For example, using memory stall, monitors in userspace like the low memory killer daemon (lmkd) can detect mounting pressure and kill less important processes before device becomes visibly sluggish. In memory stress testing psi memory monitors produce roughly 10x less false positives compared to vmpressure.

Recommended LWN article: Pressure stall monitors

1.3. New mount API

The mount(2) system call is in charge of mounting file systems. It does its job well, but as new mount functionality was added over the years, it had to be implemented on top of the existing interface, which was not designed for complex scenarios and has thus accumulated a lot of baggage (see this email for details). The current mount(2) interface is actually six or seven different interfaces rolled into one, and weird combinations of flags make it do different things beyond the original specification of the system call. It's not just aesthethics; it's not easy for applications and users to understand the errors returned, it is not geared for the specification of multiple sources such as overlayfs need, you can't mount a file system into another mount namespace, and it doesn't allow for other funcionality that have to be implemented with hacks such as shiftfs.

Linux developers decided to redesign the entire mount API in this release, which has resulted in the addition of six new syscalls: fsopen(2), fsconfig(2), fsmount(2), move_mount(2), fspick(2), and open_tree(2). These syscalls allow developers write code such as this:

        fd = fsopen("nfs");
        fsconfig(fd, FSCONFIG_SET_STRING, "option", "val", 0);
        fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0);
        mfd = fsmount(fd, MS_NODEV);
        move_mount(mfd, "", AT_FDCWD, "/mnt", MOVE_MOUNT_F_EMPTY_PATH);

or reconfigure a superblock:

        fd = fspick(AT_FDCWD, "/nfs/foo", FSPICK_NO_AUTOMOUNT);
        fsconfig(fd, FSCONFIG_SET_FLAG, "noac", NULL, 0);
        fsconfig(fd, FSCONFIG_CMD_RECONFIGURE, NULL, NULL, 0);

Recommended LWN article: Six (or seven) new system calls for filesystem mounting

1.4. Significant performance improvements in the BFQ I/O scheduler

Some performance tweaks to the BFQ I/O scheduler have been done, which have improved the application start-up times under load by up to 80%, drastically increased the performance and decreased the execution time. For more details, see the benchmarks or the following article:

Recommended LWN article: Improving the performance of the BFQ I/O scheduler

1.5. New GPU drivers for ARM Mali devices

This release has two exciting community drivers for ARM Mali accelerators. Since ARM has never been open source friendly on the GPU side of the house, the community has had to create open source drivers for the Mali GPUs. Lima covers the older t4xx and panfrost the newer 6xx/7xx series. Well done to all involved and hopefully this will help ARM

1.6. More CPU bug protection, and "mitigations" boot option

This release adds bug infrastructure to deal with the Microarchitectural Data Sampling (MDS) hardware vulnerability, which allows unprivileged speculative access to data which is available in various CPU internal buffers. This new set of misfeatures has the following variants: Microarchitectural Store Buffer Data Sampling (MSBDS, CVE-2018-12126), Microarchitectural Fill Buffer Data Sampling (MFBDS, CVE-2018-12130), Microarchitectural Load Port Data Sampling (MLPDS, CVE-2018-12127), Microarchitectural Data Sampling Uncacheable Memory (MDSUM, CVE-2019-11091). For more details see the documentation and admin guide

Also, in order to help users to deal with the ever increasing amount of CPU bugs across different architectures, the kernel boot option mitigations= has been added. It's a set of curated, arch-independent options (for now x86, PowerPC and s390), to make more easy to enable/disable protections regardless of what system they are running

1.7. Let clone(2) return pidfs

This release adds the CLONE_PIDFD flag to clone(2). This lets users to get pids at process creation time that are usable with the pidfd_send_signal(2) syscall. Due to the design of Unix, sending signals to processes or gathering /proc information is not always safe due to the possibility of PID reuse; pidfds let Linux avoid this problem, and this new clone(2) flag makes even easier to get pidfs, thus providing an easy way to signal and process PID metadata safely.

1.8. Optional support for case-insensitive names in ext4

This release implements the actual support for case-insensitive file name lookups in ext4, based on the feature bit and the encoding stored in the superblock. A filesystem that has the casefold feature set is able to configure directories with chattr +F (EXT4_CASEFOLD_FL) attribute, enabling lookups to succeed in that directory in a case-insensitive fashion, i.e: match a directory entry even if the name used by userspace is not a byte per byte match with the disk name, but is an equivalent case-insensitive version of the Unicode string.

The feature is configured as an inode attribute applied to directories and inherited by its children. This attribute can only be enabled on empty directories for filesystems that support the encoding feature, thus preventing collision of file names that only differ by case.

Recommended LWN article: Case-insensitive ext4

1.9. Add freezer controller for cgroups v2

Cgroup v1 implements the freezer controller, which provides an ability to stop the workload in a cgroup and temporarily free up some resources (cpu, io, network bandwidth and, potentially, memory) for some other tasks. Cgroup v2 lacked this functionality, until this release.

Unlike with the cgroup v1 version, there is no separate controller, which has to be turned on, the functionality is always available and is represented by cgroup.freeze and cgroup.events cgroup control files. Writing "1" to the cgroup.freeze file will cause freezing of the cgroup and all descendant cgroups and all their belonging processes will be stopped and will not run until the cgroup will be explicitly unfrozen. Freezing may take some time; when this action is completed, the "frozen" value in the cgroup.events control file will be updated to "1". There are other differences required to conform the cgroup v2 interface design principles.

1.10. Add device mapper dust target

This release adds a Device Mapper 'dust' target. This target simulates a device that has failing sectors and/or read failures, and adds the ability to enable the emulation of the read failures at an arbitrary time. It is, thus, aimed at storage developers and sysadmins that want to test their storage stack. At a given time, the user can send a message to the target to start failing read requests on specific blocks. When the failure behavior is enabled, reads of blocks configured "bad" will fail with EIO.

2. Core (various)

  • (FEATURED) Add mitigations= boot option. It's a set of curated, arch-independent options (for now x86, PowerPC and s390), to make more easy to enable/disable protections regardless of what system they are running commit, commit, commit, commit, commit

  • (FEATURED) clone(2): add CLONE_PIDFD. This lets users of clone(2) to get pids at process creation time that are usable with the pidfd_send_signal(2) syscall, thus providing an easy way to access without races to process metadata through /proc/<pid> commit, commit, commit, commit, commit

  • io_uring
    • Add support for eventfd notifications commit

    • Add support for sync_file_range(2) and drains: Any command can be flagged with IOSQE_IO_DRAIN, which will insert a sequence point in the queue and will wait for previous commands to complete before this one is issued commit, commit, commit

  • (FEATURED) pressure stall monitors: Presure stall monitors were added in Linux 4.20 as a way to quantify resource pressure in the system. This release lets users to configure sensitive latency thresholds and use poll() and friends to be notified when these thresolds are breached. With these patches applied, Android can monitor for, and ward off, mounting memory shortages before they cause problems for the user. For example, using memory stall monitors in userspace low memory killer daemon (lmkd) we can detect mounting pressure and kill less important processes before device becomes visibly sluggish commit, commit, commit, commit, commit, commit, commit

  • (FEATURED) Add new mount syscalls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,

  • (FEATURED) cgroups: implement freezer for cgroup v2. It provides similar functionality as v1 freezer, but the interface conforms to the cgroup v2 interface design principles, and it provides a better user experience: tasks can be killed, ptrace works, there is no separate controller, which has to be enabled, etc commit, commit, commit, commit, commit, commit, commit, commit, commit

  • cgroup: expose pressure stall information metrics on root cgroup commit

  • eventfd: To provide the way to find endpoints of an eventfd file, this patch adds "eventfd-id" field to /proc/PID/fdinfo of eventfd as identifier commit

  • gcov: clang support commit

  • kbuild: allow Kbuild to start from any directory commit

  • Cpu/hotplug: Create SMT sysfs interface for all arches, so user space has a consistent way to detect whether SMT is enabled commit

  • locking
  • task scheduler: Allow CPU0 to be nohz full commit, commit, commit, commit, commit

  • tty: Add NULL TTY driver that discards all writes. It can be chosen on the command line in the standard way, i.e. with console=ttynull commit

  • objtool: Teach objtool to validate the UACCESS (SMAP, PAN) rules merge

  • GDB scripts: Add a timer list command commit, add hlist utilities commit, add kernel config dumping command commit, add rb tree iterating utilities commit, initial clk support: lx-clk-summary commit

  • ktest: introduce grub2bls REBOOT_TYPE option commit

  • Allow all arches to enable CONFIG_OPTIMIZE_INLINING commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • All-arch unification of internal TLB flushing APIs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Optionally allow to provide kernel headers with the kernel as an archive through proc (/proc/kheaders.tar.xz file) commit

  • Introduce the Counter subsystem for supporting counter devices. In the context of the Generic Counter interface, a counter is defined as a device that reports one or more "counts" based on the state changes of one or more "signals" as evaluated by a defined "count function" commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • panic: add a panic_print option to replay the dmesg in buffer during a panic, some of which they may have never seen due to the loglevel setting commit

3. File systems

  • BTRFS
  • XFS
    • Introduce a new online health reporting infrastructure and ioctl for userspace to query a filesystem's metadata health status after online fsck checks the filesystem commit, commit, commit, commit, commit, commit, commit, commit

    • Enhances the online scrub and repair code to report their findings to the health tracking subsystem commit, commit, commit, commit, commit

    • Add online scrub for superblock counters. The online metadata checking code is feature complete with the addition of checks for the global fs counters, though it'll remain EXPERIMENTAL for now commit, commit, commit, commit, commit

  • EXT4
  • CEPH
    • Support for exporting snapshots through NFS commit

    • Dump granular cap info in "caps" debugfs file commit

  • CIFS
    • Add fiemap support commit

    • Improve zero-range support commit

    • Add support to pass a blob to the server in FSCTL passthrough commit

    • Negotiate and save preferred compression algorithms commit

    • Add support for SEEK_DATA and SEEK_HOLE commit

  • FUSE
    • Allow filesystems to have precise control over data cache commit

    • Add ioctl flag for x32 compat ioctl commit

  • NFS
    • Add a mount option softerr to allow clients to see ETIMEDOUT errors commit

    • Allow containers to set supported nfs versions commit

  • ORANGEFS
  • OVERLAYFS
    • Support stacked SEEK_HOLE/SEEK_DATA commit

    • Ssupport the FS_IOC_FS[SG]ETXATTR ioctls commit

  • UBIFS
    • Limit number of xattrs per inode commit

  • AFS
    • Implement sillyrename for unlink and rename commit

    • Provide mount-time configurable byte-range file locking emulation commit

    • Implement getting/setting raw AFS and YFS ACLs as xattrs commit, commit, commit, commit

4. Memory management

  • Heterogenous memory node attributes: Platforms may provide multiple types of cpu attached system memory. The memory ranges for each type may have different characteristics that applications may wish to know about when considering what node they want their memory allocated from. This release provides the attributes from such systems that are useful for applications to know about, and readily usable with existing tools and libraries commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Make mincore(2) more conservative, to avoid exposing information about pagecache / memory mapping state, even about memory not strictly belonging to the process executing the syscall, opening possibilities for sidechannel attacks commit

  • Improve vmap allocation commit, commit, commit

  • userfaultfd: Add a global sysctl vm.unprivileged_userfaultfd to control whether userfaultfd is allowed by unprivileged users commit

  • Randomize free memory. Randomization of the page allocator improves the average utilization of a direct-mapped memory-side-cache commit, commit, commit

  • slab: remove /proc/slab_allocators commit

  • z3fold: support page migration commit

5. Block layer

6. Tracing, perf and BPF

  • perf
    • record: Allow compression of perf ring buffer with option -z, resulting in ~3-5x perf.data file size reduction on variety of tested workloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • stat: Add a 'percore' event qualifier, e.g.: -e cpu/event=0,umask=0x3,percore=1/ that sums up the event counts for both hardware threads in a core. It is possible to do that now with --per-core, but it's often useful to do this together with other metrics that are collected per hardware thread commit, commit, commit

    • perf list: Output tool events commit

    • record: Implement --mmap-flush=<number> option to specify the minimal number of bytes that is extracted from mmaped kernel buffer to store into a trace. The default option value is 1 byte what means every time trace writing thread finds some new data in the mmaped buffer the data is extracted, possibly compressed and written to a trace commit

    • scripts: exported-sql-viewer.py: Add context menu commit, add copy to clipboard commit

    • perf stat: Implement duration_time as a proper event commit

    • perf trace: Add 'string' event alias to select syscalls with string args commit

  • BPF
  • tracing
    • Introduce a new ftrace file, tracing/error_log, for ftrace commands to log errors. This is useful for allowing more complex commands such as hist trigger and kprobe_event commands to point out specifically where something may have gone wrong without forcing them to resort to more ad hoc methods such as tacking error messages onto existing output files commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • tracing: Kernel access to Ftrace instances commit

7. Virtualization

  • virtio
  • KVM
    • Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 commit

    • polling: add architecture backend to disable polling commit

  • hv_sock: Add support for delayed close commit

8. Cryptography

  • ecrdsa: add EC-RDSA (GOST 34.10) algorithm commit

  • simd: support wrapping AEAD algorithms commit

  • testmgr: add panic_on_fail module parameter commit

9. Security

  • security: Create "kernel hardening" config area commit

  • ntp: Audit NTP parameters adjustment commit

  • tomoyo: Add a kernel config option for fuzzing testing commit

  • tls: Add support of AES128-CCM based ciphers commit

  • Implement Clang's stack initialization commit

10. Networking

11. Architectures

11.1. ARM

11.2. ARM64

11.3. X86

11.4. CSKY

  • ftrace: Add dynamic function tracer (include graph tracer) commit

  • Add page fault perf event support commit

  • Add perf callchain support commit

  • Add support for perf registers sampling commit

  • Support dynamic start physical address commit

  • Add support for libdw commit

  • Add support for perf unwind-libdw commit

11.5. MIPS

  • eBPF: Provide support for MIPS64R6 commit, commit

  • eBPF: Initial support for MIPS32 architecture commit

11.6. PARISC

  • Add KPROBES support commit, commit

  • Convert page table updates to use per-pagetable spinlocks which overall improves performance on SMP machines a lot commit

  • Add KGDB support commit

11.7. POWERPC

11.8. RISCV

  • Implement nosmp commandline option commit

  • Support nr_cpus command line option commit

11.9. S390

  • Add support for kernel address space layout randomization (KASLR) commit

  • Support relocatable kernel commit

  • Add support for kernel image signature verification commit

  • KVM: new guest facilities commit, commit, commit, commit, commit, commit, commit

  • KVM: Add halt_poll_max_steal to set the maximum percentage of steal time to allow polling commit

  • Add support for the CPU-Measurement Facility counter second version number 6 commit, commit

  • crypto: use TRNG for seeding/reseeding commit

  • ipl: Provide has_secure sysfs attribute commit

  • qeth: add TX multiqueue support for IQD devices commit

  • qeth: add TX multiqueue support for OSA devices commit

  • Protected virtualization guest support commit

  • Report new CPU capabilities commit

  • PCI: Add parameter to disable usage of MIO instructions commit

  • Add parameter to force floating irqs commit

  • Show statistics for MSI IRQs commit

  • vfio-ccw: support hsch/csch commit, commit, commit, commit, commit, commit

11.10. XTENSA

  • Add exclusive atomics support commit

12. Drivers

12.1. Graphics

12.2. Storage

  • ahci: qoriq: add ls1028a platforms support commit

  • ahci: qoriq: add lx2160 platforms support commit

  • nvmet-tcp: implement C2HData SUCCESS optimization commit

  • SCSI

12.3. Drivers in the Staging area

  • spi: mt7621: Move SPI driver out of staging commit

  • iio: ad7780: moving ad7780 out of staging commit

  • erofs: support IO read error injection commit

  • iio: ad7780: add gain & filter gpio support commit

  • most: enable configfs support commit

  • Add Fieldbus Device subsystem commit

  • fieldbus: anybus-s: support HMS Anybus-S bus commit

  • fieldbus: anybus-s: support the Arcx anybus controller commit

  • fieldbus: support HMS Profinet IRT industrial controller commit

  • kpc2000: add initial set of Daktronics drivers commit

  • kpc2000: Add DMA driver commit

  • media: cedrus: Add support for H6 commit

  • media: zoran: remove deprecated driver commit

  • m57621-mmc: delete driver from the tree commit

  • Remove mt7621-eth commit

  • rtlwifi: delete the staging driver commit

12.4. Networking

12.5. Audio

12.6. Tablets, touch screens, keyboards, mouses

12.7. TV tuners, webcams, video capturers

  • Media Device Allocator internal API, which allows multiple drivers share a media device. It solves a very common use-case for media devices where one physical device (an USB stick) provides both audio and video commit, commit, commit, commit, commit

  • v4l: add I / P frame min max QP definitions commit

  • user api: Add MEDIA_BUS_FMT_BGR888_3X8 media bus format commit

  • vicodec: Add support for stateless decoder commit

  • atmel-isc: Add support for BT656 with CRC decoding commit

  • dvb: Add support for the Avermedia TD310 commit

  • platform: meson: Add Amlogic Meson G12A AO CEC Controller driver commit

  • rcar-csi2: Enable support for r8a774a1 commit

  • rcar-vin: Enable support for r8a774a1 commit

  • st-mipid02: MIPID02 CSI-2 to PARALLEL bridge driver commit

12.8. Universal Serial Bus

  • usb/hcd: Send a uevent signaling that the host controller had died commit

  • xhci: add Immediate Data Transfer support, which allow the HCD to copy small chunks of data (up to 8bytes) directly into its output transfer TRBs. This avoids the somewhat expensive DMA mappings that are performed by default on most URBs submissions commit

  • gadget: f_ncm: Add OS descriptor support commit

  • dwc3: Add Amlogic G12A DWC3 glue commit

  • host: xhci-tegra: Add Tegra186 XUSB support commit

  • mtu3: add debugfs interface files commit

  • mtu3: supports new QMU format commit

  • typec: Add driver for NVIDIA Alt Modes commit

  • typec: ucsi: Support for DisplayPort alt mode commit

  • typec: ucsi: ccg: add firmware flashing support commit

  • usb-storage: Add new ID to ums-realtek commit

  • serial: pl2303: add Allied Telesis VT-Kit3 commit

  • serial: option: add Telit 0x1260 and 0x1261 compositions commit

  • serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode commit

12.9. Serial Peripheral Interface (SPI)

  • bcm2835aux: add driver stats to debugfs commit

  • dw: Add support for an optional interface clock commit

  • imx: add module parameter to control DMA use commit

  • lpspi: Add i.MX8 boards support for lpspi commit

  • lpspi: add dma mode support commit

  • lpspi: enable runtime pm for lpspi commit

  • pxa2xx: Add support for Intel Comet Lake commit

  • spi-mem: Add support for Zynq QSPI controller commit

  • tegra114: add 3 wire transfer mode support commit

  • tegra114: add dual mode support commit

12.10. Watchdog

  • bd70528: Initial support for ROHM BD70528 watchdog block commit

  • imx_sc: Add i.MX system controller watchdog support commit

12.11. Serial

  • serial: f81232: add high baud rate support commit

  • serial: Add Milbeaut serial control commit

  • serial: sprd: Add DMA mode support commit

  • tty: serial: add driver for the SiFive UART commit

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

  • ACPI/IORT: Add support for the SMMU Performance Monitor Counter Group information from ACPI commit

  • cpufreq: qoriq: Add ls1028a chip support commit

  • cpufreq: qoriq: add support for lx2160a commit

  • thermal: Add some functionalities for Tegra soctherm commit, commit, commit, commit, commit, commit, commit, commit

  • thermal: tsens: Add generic support for TSENS v1 IP commit

  • thermal: Introduce Amazon's Annapurna Labs Thermal Driver commit

  • thermal: rockchip: Support the PX30 SoC in thermal driver commit

12.13. Real Time Clock (RTC)

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

  • Power
    • Add over-current health state commit

    • Add standard, adaptive and custom charge types commit

    • Add new properties for start/end charge threshold commit, commit

    • UCS1002 Programmable USB Port Power Controller commit

    • Ingenic JZ47xx Battery Fuel Gauge commit

    • AXP20x USB Power: Add AXP813 support commit

    • AT91 poweroff: Add SAM9X60 support commit

    • OLPC battery: Add XO-1.5 and XO-1.75 support commit

    • gpio-charger: Add support for charger status commit

    • max77650: Add support for battery charger commit

  • regulator: Add support for stm32 power regulators commit

12.15. Pin Controllers (pinctrl)

  • lochnagar: Add support for the Cirrus Logic Lochnagar commit

  • mediatek: Add MT8516 Pinctrl driver commit

  • Add pinctrl support for BM1880 SoC commit

  • Add STMFX GPIO expander Pinctrl/GPIO driver commit

12.16. Multi Media Card (MMC)

  • mtk-sd: add support for MT8516 commit

  • sdhci-pci: Add support for Intel CML commit

12.17. Memory Technology Devices (MTD)

  • afs: add v2 partition parsing commit

  • rawnand: atmel: add sam9x60 nand controller support commit

  • rawnand: ingenic: Add support for the JZ4725B commit

  • rawnand: ingenic: Add support for the JZ4740 commit

  • spi-nor: intel-spi: Add support for Intel Comet Lake SPI serial flash commit

12.18. Industrial I/O (iio)

  • accel: add support to LIS2DE12 commit

  • accel: kxcjk1013: Add KIOX0008 ACPI Hardware-ID commit

  • adc: Add driver for the TI ADS8344 A/DC chips commit

  • adc: ad7616: Add support for AD7616 ADC commit

  • adc: lpc32xx: Add scale feature commit

  • adc: stm32-dfsdm: add support for buffer modes commit and scan mode commit

  • counter: stm32-lptimer: Add power management support commit

  • gyro: add core driver for fxas21002c commit

  • gyro: fxas21002c: add i2c driver commit and spi driver commit

  • imu: adis16480: Add support for ADIS1649x family of devices commit

  • imu: adis16480: Add support for external clock commit

  • imu: st_lsm6dsx: add support to LSM6DSOX commit

  • imu: st_lsm6dsx: add support to LSM6DSR commit

  • light: vcnl4000 add support for the VCNL4040 proximity and light sensor commit

  • temperature: Add MAX31856 thermocouple support commit

  • srf04.c: add maxbotix ultrasonic sensors commit

12.19. Multi Function Devices (MFD)

  • Add ST Multi-Function eXpander (STMFX) core driver commit

  • Add new driver for MAX77650 PMIC commit

  • altera-sysmgr: Add SOCFPGA System Manager commit

  • axp20x: Add USB power supply mfd cell to AXP803 commit and AXP813 commit

  • cros_ec: Add host_sleep_event_v1 command commit

  • intel-lpss: Add Intel Comet Lake PCI IDs commit

  • max77620: Support Maxim 77663 commit

  • sec: Add support for the RTC on S2MPA01 commit

  • syscon: Add optional clock support commit

12.20. Pulse-Width Modulation (PWM)

  • pwm: Add i.MX TPM PWM driver support commit

12.21. Inter-Integrated Circuit (I2C)

  • i2c-piix4: Add Hygon Dhyana SMBus support commit

  • Add drivers for the AMD PCIe MP2 I2C controller commit

  • at91: added slave mode support commit

  • designware: Add support for an interface clock commit

  • iproc: Add slave mode support commit

  • iproc: add NIC I2C support commit

  • iproc: add polling support commit

  • mediatek: Add i2c support for MediaTek MT8183 commit

12.22. Hardware monitoring (hwmon)

  • Add support for samples attributes to ABI commit

  • ina3221: Add averaging mode support commit and voltage conversion time settings commit

  • lm75: Add support for TMP75B commit

  • max6650: add thermal cooling device capability commit

  • mlxreg-fan: Add support for fan capability registers commit

  • pmbus/ir38064: Add driver for Infineon IR38064 Voltage Regulator commit

  • pmbus/isl68137: Add driver for Intersil ISL68137 PWM Controller commit

  • pwm-fan: Add RPM support via external interrupt commit

  • lochnagar: Add Lochnagar 2 hardware monitoring driver commit

12.23. General Purpose I/O (gpio)

  • Add driver for Mellanox BlueField GPIO controller commit

  • ixp4xx: Add driver for the IXP4xx GPIO commit

  • max77650: Add GPIO support commit

  • pca953x: Add support for CAT9554 commit and pca6416 commit

12.24. Leds

  • lm3532: Introduce the lm3532 LED driver commit

  • max77650: Add LEDs support commit

12.25. DMA engines

  • pl330: introduce debugfs interface commit

  • tegra210-adma: add support for Tegra186/Tegra194 commit

12.26. Cryptography hardware acceleration

  • cavium/nitrox - Added rfc4106(gcm(aes)) cipher support commit

  • ccp: introduce SEV_GET_ID2 command commit

  • ccree: add CID and PID support commit

  • ccree: add SM4 protected keys support commit

  • ccree: add support for sec disabled mode commit

  • mxc-scc: Remove broken driver commit

12.27. PCI

  • al: Add Amazon Annapurna Labs PCIe host controller driver commit

  • keystone: Add support for PCIe EP commit and PCIe RC in AM654x Platforms commit

12.28. Thunderbolt

12.29. Clock

  • analogbits: add Wide-Range PLL library commit

  • at91: add support for the sam9x60 clocks handled by the PMC commit, commit, commit, commit

  • imx: pllv4: add fractional-N pll support commit

  • lochnagar: Add support for the Cirrus Logic Lochnagar commit

  • mediatek: Add MT8183 clock support commit

  • mediatek: add clock driver for MT8516 commit

  • meson: axg-audio: add g12a support commit

  • qcom: Add QCS404 TuringCC commit

  • renesas: r8a774c0: Add Z2 clock commit

  • sifive: add a driver for the SiFive FU540 PRCI IP block commit

  • stm32: Introduce clocks of STM32F769 board commit

  • milbeaut: Add Milbeaut M10V clock controller commit

  • clocksource/drivers/ixp4xx: Add driver commit

12.30. PHY ("physical layer" framework)

  • Add usb phy support for hi3660 Soc of Hisilicon commit

  • amlogic: Add Amlogic G12A USB3 + PCIE Combo PHY Driver commit

  • amlogic: add Amlogic G12A USB2 PHY Driver commit

  • mediatek: Add UFS M-PHY driver commit, commit

  • qcom-qmp: Add msm8998 PCIe QMP PHY support commit

  • rcar-gen3-usb2: Add support for r8a77470 commit

  • renesas: phy-rcar-gen2: Add support for r8a77470 commit

  • sr-usb: Add Stingray USB PHY driver commit

  • tegra: xusb: Add Tegra186 support commit, add support for power supplies commit

  • ti: Add a new SERDES driver for TI's AM654x SoC commit

12.31. EDAC (Error Detection And Correction)

  • amd64: Add Family 17h Model 30h PCI IDs commit

  • altera: Add Stratix10 ECC DBE SMC call commit

12.32. Various

  • misc: Add Aspeed P2A control driver commit, commit

  • extcon: intel-cht-wc: Enable external charger commit

  • fpga manager: Adding FPGA Manager support for Xilinx zynqmp commit

  • habanalabs
    • Allow the user to inquire about the device's status (operational/Malfunction/in-reset) in the INFO IOCTL commit

    • Add new IOCTL for debug, tracing and profiling commit, commit

    • Add goya implementation for debug configuration commit

  • mailbox: Add support for Armada 37xx rWTM mailbox commit

  • mei: expose device state in sysfs commit

  • mtip32xx: remove trim support commit

  • nvmem: Add driver for STM32 factory-programmed read only mem commit

  • nvmem: imx-ocotp: add support for imx8mq commit

  • nvmem: stm32: add support for STM32MP15 BSEC to control OTP data commit

  • of: address: Add support for the parent DMA bus commit

  • platform/mellanox: Add !TmFifo driver for Mellanox BlueField Soc commit

  • pps: pps-gpio PPS ECHO implementation commit

  • soc: imx: Add generic i.MX8 SoC driver commit

  • soc: ti: Add MSI domain bus support for Interrupt Aggregator commit

  • irqchip/ti-sci-inta: Add msi domain support commit

  • irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver commit

  • irqchip/ti-sci-intr: Add support for Interrupt Router driver commit

  • irqchip: Add driver for IXP4xx commit

  • tty: rocket: Remove RCPK_GET_STRUCT ioctl commit and deprecate the rp_ioctl commit

13. List of merges

14. Other news sites

KernelNewbies: LinuxChanges (last edited 2019-07-08 07:18:33 by diegocalleja)