Linux 4.9 has been released on Sun, 11 Dec 2016.
Summary: This release adds support for shared extents (cp --reflink support) and copy-on-write support on XFS; virtually mapped kernel stacks that make the kernel more reliable and secure; a more efficient BPF profiler that brings Linux on part with Dtrace; a new optional BBR TCP congestion control algorithm based on bandwidth measurements instead of packet loss; syscalls to use the protection keys hardware feature; support for the Greybus bus from Project Ara; a hardware latency tracer to detect firmware-induced latencies, and many other improvements and new drivers.
Contents
- Prominent features
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf tool
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Staging
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- USB
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- PCI
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Clocks
- Hardware Random Number Generator
- Various
- List of merges
- Other news sites
1. Prominent features
1.1. Shared data extents + copy-on-write support on XFS
This release adds several key features to the XFS file system, based on the reverse mapping work introduced in the past release.
This release adds the ability to share data extents between different files. That is, support for cp --reflink=always, the ability to deduplicate data, and the ability to unshared data through the FALLOC_FL_UNSHARE fallocate(2) interface.
It also adds copy-on-write support for data: instead of overwriting data, it copies data to a new location.
All these features are a huge chunk of new experimental functionality with new on-disk format features and internal infrastructure.
Code: merge
1.2. Virtually mapped stacks for more secure and reliable stack handling
The Linux kernel has always mapped the memory used by kernel stacks directly in the kernel memory, an approach that makes harder to allocate stacks under memory load and proves no protection against stack overflows. This release allows to map the kernel stacks in virtual memory, which makes easier to allocate stacks under memory pressure, provides protection against stack overflows, and other benefits.
Recommended LWN articles: Virtually mapped kernel stacks, Virtually mapped stacks 2: thread_info strikes back
1.3. Efficient BPF-based profiler
This release includes the necessary infrastructure to allow BPF programs to be atached to hardware and software perf events, which in turn allows the kernel to profile via timed sampling and summarize stack traces. For more details, see Brendan Gregg's blog post
Code: commit, commit, commit, commit, commit, commit
1.4. BBR TCP congestion control algorithm
This release adds another TCP congestion control algorithm: BBR (Bottleneck Bandwidth and RTT). The Internet has predominantly used loss-based congestion control, relying on packet loss as the signal to slow down. While this worked well for many years, loss-based congestion control is considered -by BBR authors- to be out-dated in today's networks. On today's Internet, loss-based congestion control causes the infamous bufferbloat problem, often causing seconds of needless queuing delay, since it fills the bloated buffers in many last-mile links. On today's high-speed long-haul links using commodity switches with shallow buffers, loss-based congestion control has abysmal throughput because it over-reacts to losses caused by transient traffic bursts.
BBR creates an explicit model of the network pipe by sequentially probing the bottleneck bandwidth and RTT. On the arrival of each ACK, BBR derives the current delivery rate of the last round trip, and feeds it through a windowed max-filter to estimate the bottleneck bandwidth. Conversely it uses a windowed min-filter to estimate the round trip propagation delay. The max-filtered bandwidth and min-filtered RTT estimates form BBR's model of the network pipe. BBR has significantly increased throughput and reduced latency for connections on Google's internal backbone networks and google.com and YouTube Web servers.
ACM Queue paper: BBR: Congestion-Based Congestion Control
Recommended LWN article: BBR congestion control
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.5. Protection keys syscall support
Protection keys is a memory protection hardware feature merged in Linux 4.6 (you can find more details in this LWN article). But in that release, the use of this feature was limited to the kernel automatically using it in high-level APIs, such as mmap(..., PROT_EXEC) and mprotect(ptr, sz, PROT_EXEC).
This release adds new syscalls that offer a more complete API to use protection keys. For more details, see the recommended LWN article: System calls for memory protection keys or read the documentation.
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.6. Greybus support
This release adds support for Greybus, a new subsystem that brings support for the Greybus bus: a bus designed for the modular, hot-pluggable hardware of the (now dead) Ara Project. Despite the dead of the main project, the code is still being used. For more details, see the recommended LWN article.
Recommended LWN article: Greybus
Code: drivers/staging/greybus
1.7. Hardware latency tracer
Coming from the real-time patchset, the hardware latency tracer is a special purpose tracer that is used to detect large system latencies induced by the behavior of certain underlying hardware or firmware interruptions, like SMIs (System Management Interrupts) on x86 systems, that the kernel is unaware of. The kernel does not even know these interruptions are happening. SMIs are instead set up by BIOS code and are serviced by BIOS code, usually for "critical" events such as management of thermal sensors and fans.
The hardware latency detector works by simply creating a thread that spins on a single CPU polling the CPU Time Stamp Counter for a specified amount of time (width) within a periodic window (window), and trying to find gaps where the polling was interrupted. This is useful for testing if a system is reliable for Real Time tasks.
Documentation: Documentation/trace/hwlat_detector.txt
2. Core (various)
Add generic vmalloced stack support (FEATURED) commit
Add protection keys syscalls (FEATURED) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Per user namespace limits on the number of cgroup, mount, net, pid, user, uts namespaces. Limits can be configured at /proc/sys/user/*. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
fsnotify: support overlayfs commit
ipc: implement lockless pipelined wakeups commit
kbuild: allow architectures to use thin archives instead of ld -r commit, allow archs to select link dead code/data elimination commit
fuse: Add posix ACL support commit
Remove lglock implementation commit
Power Management: allow hibernation with PAGE_POISONING_ZERO commit
irq: Provide smarter irq spreading infrastructure commit
irq: Expose interrupt information through sysfs commit
Task scheduler: Improve scalability by not accounting thread group tasks pending runtime commit
vfs: add a FALLOC_FL_UNSHARE mode to fallocate(2) to unshare a range of blocks commit
vfs: support FS_XFLAG_COWEXTSIZE and get/set of CoW extent size hint commit
virtual terminal: Emulate \e[100-107m (bright background colors). commit and \e[90-97m (bright foreground colors). commit
gcc-plugins: Add latent_entropy plugin commit
docs: add support for LaTeX output commit
driver core: add test of driver remove calls during probe commita
3. File systems
- EXT4
- BTRFS
Add dynamic debug support commit
- XFS
Shared data extents + copy-on-write support (FEATURED) merge
- CIFS
Add ioctl to query previous versions of file. Allows listing snapshots on files on SMB3 mounts commit
Add way to query creation time of file via cifs xattr commit
Add way to query file attributes via cifs xattr commit
Add new mount option to set owner uid and gid from special sids in acl commit
Add mount parameter to allow user to override max credits commit
- NFS
- UBIFS
- F2FS
- HPFS
Support FIEMAP commit
- ORANGEFS
Add readahead count and size to sysfs commit
4. Memory management
kasan: support use-after-scope detection commit
5. Block layer
nvme: Add sysfs entry for NVMe CMBs when appropriate commit
libata: Add support for SCT Write Same (dsiabled for now) commit, commit, commit
libnvdimm: allow creation of multiple pmem-namespaces per region commit, commit, commit
lightnvm: expose device geometry through sysfs commit
lib/raid6: Add AVX512 optimized gen_syndrome functions commit, add AVX512 optimized recovery functions commit, add AVX512 optimized xor_syndrome functions commit
libceph: support for advisory locking on RADOS objects commit, support for blacklisting clients commit
rbd: add 'client_addr' sysfs rbd device attribute commit, add 'cluster_fsid' sysfs rbd device attribute commit, add 'config_info' sysfs rbd device attribute commit, add 'snap_id' sysfs rbd device attribute commit, add force close option commit, support for exclusive-lock feature commit
6. Tracing and perf tool
Support event group view with hierarchy mode in perf top and perf report commit
Add branch stack / basic block info to perf annotate --stdio where for each branch, it adds an asm comment after the instruction with information on how often it was taken and predicted. See example with color output here. commit
perf record: Add support for using symbols in address filters commit
Add support for interacting with Coresight PMU ETMs/PTMs, that are IP blocks to perform hardware assisted tracing on a ARM CPU core commit, commit, commit, commit, commit, commit, commit
Support generating cross arch probes, i.e. if you specify a vmlinux file for different arch than the one in the host machine, $ perf probe --definition function_name args, will generate the probe definition string needed to append to the target machine /sys/kernel/debug/tracing/kprobes_events file, using scripting commit, commit, commit
Allow configuring the default sort order from "comm,dso,symbol" to some other default, for instance "sym,dso", in ~/.perfconfig. Configuration key: report.sort_order commit
perf list: Add a --no-desc flag to not print the event descriptions that were earlier added for JSON events commit
perf pmu: Support alternative sysfs cpumask commit
perf: Allow attaching BPF_PROG_TYPE_PERF_EVENT programs to sw and hw perf events commit
perf probe: Support hexadecimal unsigned integer casting by 'x'. This allows user to explicitly specify the output format of the probe arguments as hexadecimal commit
ftrace: kprobe, uprobe: Add x8/x16/x32/x64 for hexadecimal types commit
tracing: Add hardware latency tracer (FEATURED) commit, commit, commit
7. Virtualization
Hyper-V: Introduce a policy for controlling channel affinity commit, utils: Support TimeSync version 4.0 protocol samples. commit
Add generic vCPU pinning support commit
xen-netback: (re-)create a debugfs node for hash information commit, add fraglist support for to-guest rx commit
kvm: create per-vcpu dirs in debugfs commit
8. Security
Introduce a new audit data type LSM_AUDIT_DATA_FILE, needed for overlayfs commit
Smack: Treat signal delivery as an append operation commit
audit: add exclude filter extension to feature bitmap commit
Add LSM hook checks to /proc/<tid>/timerslack_ns commit
9. Networking
- TCP
Add the BBR ("(Bottleneck Bandwidth and RTT") congestion control algorithm (FEATURED) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
md5: add LINUX_MIB_TCPMD5FAILURE SNMP counter for drops caused by MD5 mismatches commit
- sched
cls_bpf: add support for hardware offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce action tunnel_key to set/release ip tunnel metadata commit
act_vlan: Introduce TCA_VLAN_ACT_MODIFY vlan action to change an existing tag commit
act_vlan: Add priority option commit
cls_flower: Support masking for matching on tcp/udp ports commit
IFE action: Introduce skb tcindex metadata encap decap commit
flower: Add vlan support commit
sch_fq: add low_rate_threshold parameter commit
Introduce new rtnl UAPI that exposes a list of vlans per VF, giving the ability for user-space application to specify it for the VF, as an option to support 802.1ad commit
- bridge
- rxrpc
- netlink diag interface
IPv4: ipconfig: Support using "delayed" DHCP replies commit
IPv6: implement RFC7559 router solicitation backoff commit
- strparser: Stream parser for messages. It is a utility that parses messages of an application layer protocol running over a TCP connection. The stream parser works in conjunction with an upper layer in the kernel to provide kernel support for application layer messages. For instance, Kernel Connection Multiplexor (KCM) has been ported to use the Stream Parser to parse messages using a BPF program.
ipvlan: Introduce l3s mode commit
- Netfilter
nf_tables: add hash expression commit
nf_tables: add number generator expression commit
nf_tables: add quota expression commit
nf_tables: add range expression commit
nft_hash: Add support to pass through an offset to the hash value. With this feature, the sysadmin is able to generate a hash with a given offset value commit
nft_log: complete NFTA_LOG_FLAGS attr support commit
nft_numgen: add number generation offset commit
xt_hashlimit: Create revision 2 to support higher pps rates commit
Remove ip_conntrack* sysctl compat code commit
conntrack: remove packet hotpath stats commit
- TIPC
Add the ability to get UDP options via netlink commit
Add TIPC_NL_UDP_GET_REMOTEIP netlink command to allow UDP remoteip dump commit
Add TIPC_NL_PEER_REMOVE netlink command. This command can remove an offline peer node from the internal data structures commit
Introduce UDP replicast. A concept where we emulate multicast by sending multiple unicast messages to configured peers commit, commit
veth: sctp: add NETIF_F_SCTP_CRC to device features commit
openvswitch: 802.1AD Flow handling, actions, vlan parsing, netlink attributes commit
- B.A.T.M.A.N
- Berkeley Packet Filter
- 802.11 (wireless)
Add support for MU-MIMO air sniffer commit
mesh: Add support for HW RC implementation commit
Add support to configure a beacon data rate commit
Add start / stop NAN commands commit
Allow the user space to change current NAN configuration commit
Always notify userspace of new wireless netdevs commit, always notify userspace when wireless netdev is removed commit
Allow GET_INTERFACE dumps to be filtered commit
- Bluetooth
10. Architectures
- ARM
ARMv7M cache maintanence support commit, commit, commit, commit, commit, commit, commit, commit
- device tree sources
NSP: Add new DT file for bcm958522er commit, for bcm958525er commit, for bcm958622hr commit, bcm958623hr commit, bcm988312hr commit
STi: Introduce B2260 board commit
TS-4900: add basic device tree commit
am57xx-beagle-x15: Add support for rev B1 commit
bcm2835: Add Raspberry Pi Zero commit
gr8: Add support for the GR8 evaluation board commit
imx7s-warp: Add initial support commit
imx: add Gateworks Ventana GW553x support commit
mvebu: armada-395: add support for the Armada 395 SoC family commit
orion5x: Add description for Netgear WNR854T commit
qcom: Add initial DTS for LG Nexus 5 Phone commit
rockchip: add dts for RK3288-Fennec boards commit
rskrza1: initial device tree commit
sun5i: Add dts file for the Empire Electronix M712 tablet commit
sun6i: Add new dts file for tablets using the inet-q972 PCB commit
sun8i: Add dts file for Olimex A33-OLinuXino commit, add dts file for inet-d978_rev2 tablets commit, add dts file for the NanoPi NEO SBC commit, add dts file for the Orange Pi Lite SBC commit, add dts file for the Orange Pi PC Plus SBC commit, add dts file for the Orange Pi Plus2E SBC commit
wheat: initial device tree commit
pxa: add pxa25x device-tree support commit
sunxi: Support the Nextthing GR8 commit
coresight: etm4x: adding configurable address range filtering commit
coresight: etm4x: adding configurable start/stop filtering commit
perf: arm_pmu: expose a cpumask in sysfs commit
perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver commit
ARM CLCD: add special panel hook for Versatiles commit, support Nomadik variant commit
KVM: Support vgic-v3 commit
- ARM64
Introduce execute-only page access permissions commit
alternative: Add support for patching adrp instructions commit
Always enable DEBUG_RODATA commit
hibernate: Support DEBUG_PAGEALLOC commit
Add debugfs node to dump UEFI runtime page tables commit
- device tree sources
Add ZTE ZX296718 SoC dts and Makefile commit
db820c: add basic board support commit
h3ulcb: initial device tree commit
marvell: add description for the Armada 8040 dev board commit, add description for the slave CP110 in Armada 8K commit
rockchip: Add basic support for orion-r68 commit
uniphier: add LD11 SoC/Board support commit
KVM: vgic-v2: Add the GICV emulation infrastructure commit
- X86
Enable vmapped stacks (FEATURED) commit
Add API to change vdso blob type with arch_prctl commit
Add Knights Mill to Intel family commit
mce: Add support for new MCA_SYND register commit
KVM: Expose more Intel AVX512 feature to guest commit
KVM: export TSC information to user-space commit
perf: Add support for PTWRITE and power event tracing commit
perf: Add Skylake server uncore support commit
perf: Enable Apollo Lake RAPL support commit
perf: Add perf support for AMD family-17h processors commit
- platform
iommu/amd: Detect and enable guest vAPIC support commit, detect and initialize guest vAPIC log commit
- MIPS
Enable hardened usercopy commit
Support generating Flattened Image Trees (.itb) commit
Introduce generic DT-based board support commit
BMIPS: Add BCM3368 support commit, add BCM6362 support commit, add device tree example for BCM3368 commit, add device tree example for BCM63268 commit, add device tree example for BCM6362 commit
Loongson1C: Add board support commit
Octeon: Add DTS for D-Link DSR-500N. commit
pm-cps: Add MIPSr6 CPU support commit
- ARC
- S390
- PPC
Add support for XZ compression commit
bpf: Add support for bpf constant blinding commit, implement support for tail calls commit
tm: Enable transactional memory (TM) lazily for userspace commit, add TM Unavailable Exception commit
KVM: Book3S HV: Dump irqmap in debugfs commit, enable IRQ bypass commit, implement halt polling committunable to disable KVM IRQ bypass commit, Book3S PR: Support 64kB page size on POWER8E and POWER8NVL commit
KVM: PPC: Implement existing and add new halt polling vcpu stats commit
- SPARC64
- PARISC
Add hardened usercopy feature commit
- XTENSA
Add alternative kernel memory layouts commit
11. Drivers
11.1. Graphics
dma-buf: de-stage SW_SYNC. SW_SYNC allows to run tests on the sync_file framework via debugfs commit
bridge: Add RGB to VGA bridge support commit
Add DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE/RELATIVE flags. These flags allow userspace to explicitly specify the target vertical blank period when a flip should take effect commit, commit
- amdgpu
Powerplay for Iceland asics commit, commit, commit, commit, commit
Improved GPU reset support commit
UVD/VEC powergating support for CZ/ST commit, commit, commit, commit, commit, commit, commit, commit
Preinitialised VRAM buffer support commit
Virtual display support commit
Initial Southern Islands support merge
powerplay: add module parameter to mask pp features commit
powerplay: enable power containment features for tonga. commit
powerplay: enable powerplay as default on CZ/ST commit
powerplay: enable powerplay by default on TOPAZ commit
Add VCE VM mode support commit
Add module parameters to ctrl powerplay feature commit
- imx
analogix: PSR support commit
- rockchip:
- vc4
tda998x: HDMI audio ASoC support commit
- msm
sti: remove sti415/416 support commit
etnaviv: GC3000 support commit
- panel
- ipu-v3
vfb: add option for video mode commit
11.2. Storage
- SCSI
be2iscsi: Add IOCTL to check UER supported commit, add TPE recovery feature commit, add V1 of EPFW cleanup IOCTL commit
ibmvfc: add FC Class 3 Error Recovery support commit
smartpqi: add kdump support commit
dtc: remove from tree commit
in2000: remove from tree commit
pas16: remove from tree commit
t128: remove from tree commit
u14-34f: remove from tree commit
ultrastor: remove from tree commit
wd7000: remove from tree commit
smartpqi: initial commit of Microsemi smartpqi driver commit
nvmem: amlogic: Add Amlogic Meson EFUSE driver commit
nvmem: rockchip-efuse: add rk3399-efuse support commit
nvme: admin-cmd: Added smart-log command support. commit
nbd: convert to blk-mq commit
11.3. Staging
greybus: Add support for Greybus (FEATURED) drivers/staging/greybus
add bcm2708 vchiq driver commit
android: ion: Add ioctl to query available heaps commit
lustre: add ability to migrate inodes. commit
most: hdm-usb: add USB product id commit, add support for new USB gadget commit
Remove rtl8723au driver commit
11.4. Networking
qed*: Add support for additional statistics merge
- Bluetooth
- Infiniband
hfi1: Add a new VL sysfs attribute for sdma engines commit
hfi1: Add sysfs interface for affinity setup commit
hfi1: Add new debugfs sdma_cpu_list file commit
mlx5: Add port counter support for raw packet QP commit, add sniffer support to steering commit, add support in TOS and protocol to flow steering commit, add support of more IPv6 fields to flow steering commit
liquidio: CN23XX support merge
qmi_wwan: add support for Telit LE922A PID 0x1040 commit
Add Cypress GX3 VID=04b4 PID=3610. commit
alx: add msi-x support commit, commit, add tso support commit
ath10k: Add WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT wmi service commit, added support for extended dbglog module id for 10.4 commit, add testmode support for 10.4 firmware commit, add wmi command barrier utility commit, enable peer stats by default commit, implement NAPI support commit, implement wmi echo command commit, implement wmi echo event commit
be2net: Support UE recovery in BEx/Skyhawk adapters commit
bnx2x: Add support for segmentation of tunnels with outer checksums commit
bnxt_en: Added support for Secure Firmware Update commit, support for "ethtool -r" command commit
brcmfmac: Add USB ID for Cisco Linksys AE1200 commit, add support for bcm4339 chip with modalias sdio:c00v02D0d4339 commit
cxgb4: Add set VF mac address support commit, add PCI device ID for new adapter commit, Add control net_device for configuring PCIe VF commit, add common api support for configuring filters commit, add support for drop and redirect actions commit, add support for offloading u32 filters commit, add support for per queue tx scheduling commit, add support for tx max rate limiting commit, add support for tx traffic scheduling classes commit
fm10k: add support for Rx offloads on one Geneve tunnel commit
hv_netvsc: Add query for initial physical link speed commit
i40e: Add support for HMC resource and profile for X722 commit
i40evf: enable adaptive interrupt throttling commit, support queue-specific settings for interrupt moderation commit
igb: add support of RX network flow classification commit, support RX flow classification by VLAN priority commit, support RX flow classification by ethertype commit
iwlwifi: add a new series 9460 with new PCI ID commit, add new 8265 series PCI ID commit, add new 9460 series PCI IDs commit, add the new 8275 series commit, add the new 9170 series commit, add the new 9270 series commit, add the new 9560 series commit, add two new 9560 series PCI IDs commit, mvm: Add mem debugfs entry commit, mvm: Add support for RRM by scan commit, mvm: add support for MU-MIMO air sniffer commit, mvm: support GMAC protocol commit, mvm: support packet injection commit ixgbe: Add support for new X557 device commit, allow setting multiple queues when SR-IOV is enabled commit, support 4 queue RSS on VFs with 1 or 2 queue RSS on PF commit, add device to MDIO speed setting commit, add support for geneve Rx offload commit
mlxsw: spectrum: Implement offload stats ndo and expose HW stats by default commit
mwifiex: add PCIe function level reset support commit, add cfg80211 testmode support commit, add custom regulatory domain support commit, add manufacturing mode support commit, add region code information in debugfs commit, support random MAC address for scanning commit
dsa: add new driver for qca8xxx family commit
mlx4: Add VF vlan protocol 802.1ad support commit
mlx5: XDP support merge, SRIOV offloads vlan push/pop merge, ConnectX-4/Connect-IB merge, merge, implement RoCE LAG feature commit, Vport LAG creation support commit
dsa: add MDB support commit, b53: Add JOIN_ALL_VLAN support commit, b53: Prepare to support 7445 switch commit, mv88e6xxx: add MDB support commit
emac: emac gigabit ethernet controller driver commit
ena: Add a driver for Amazon Elastic Network Adapters (ENA) commit
dwmac: add Ethernet glue logic for stm32 chip commit
mediatek: add HW LRO functions of PDMA RX rings commit, add ethtool functions to configure RX flows of HW LRO commit
stmmac: add support of Synopsys 3.50a MAC IP commit
ti: cpsw: add ethtool channels support commit, add multi queue support commit
- phy
Add Edge-rate driver for Microsemi PHYs. commit
Add MAC-IF driver for Microsemi PHYs. commit
Add Wake-on-LAN driver for Microsemi PHYs. commit
Add gmiitorgmii converter support commit
dp83848: add dp83822 PHY support commit
Add USB Type-C PHY driver for rk3399 commit
Add a driver for the Rockchip SoC internal PCIe PHY commit
bcm-ns-usb3: new driver for USB 3.0 PHY on Northstar commit
rockchip-inno-usb2: add a new driver for Rockchip usb2phy commit
Microsemi VSC 8531/41 PHY Driver commit
thunderx: Add 81xx support to BGX driver commit, add QSGMII interface type support commit, add RGMII interface type support commit, add VNIC's PCI devid on future chips commit, add support for 16 LMACs of 83xx commit, add support for 81xx and 83xx chips commit, support for byte queue limits commit
rtl8xxxu: Add TP-Link TL-WN823N v2 to list of supported devices commit
sh_eth: add R8A7743/5 support commit
smsc95xx: Add mdix control via ethtool commit
11.5. Audio
hda: Add support for link audio time reporting commit
line6: Add high-speed USB support commit, add support for POD X3 commit
- ASoC
Intel: Skylake: Add module processing domain support commit
Intel: boards: Add bdw-rt5677 machine driver commit
add rt5663 codec driver commit
nau8810: Add driver for Nuvoton codec chip NAU88C10 commit
rockchip: Add machine driver for RK3399 GRU Boards commit
rt5660: add rt5660 codec driver commit
tegra: add tegra sgtl5000 machine driver commit
11.6. Tablets, touch screens, keyboards, mouses
ALPS: add touchstick support for SS5 hardware commit, allow touchsticks to report pressure commit
Add ADC resistor ladder driver commit
Add generic input driver to read encoded GPIO lines commit
Add support for Elan eKTF2127 touchscreen controller commit
Remove duplicate ft6236 driver commit
serio: add hangup support commit
tps65218-pwrbutton - add support for tps65217 variant commit
- HID
Add a new Saitek mouse device ID (RAT 9) commit
hid-logitech: Add combined pedal support Logitech wheels commit, improve Wingman Formula Force GP support commit, introduce control for combined pedals feature commit
Add mic mute key on HP slim keyboard commit
intel-ish-hid: ISH HID client driver commit, ipc layer commit, ISH Transport layer commit
microsoft: Add Surface 4 type cover pro 4 (JP) commit
Support for keyboard - Corsair STRAFE commit
uclogic: Add support for UC-Logic TWHA60 v3 commit, add support for several more tablets commit, support UGTizer GP0610 partially commit
wacom: add touch_arbitration parameter to wacom module commit, handle Cintiq 24HD leds buttons commit, handle the switch of the LEDs directly in the kernel commit
11.7. TV tuners, webcams, video capturers
v4l2-core: Add support for touch devices commit
Add GS1662 driver, a video serializer commit
atmel_mxt_ts: add diagnostic data support for mXT1386 commit, add support for T37 diagnostic data commit, add support for reference data commit, output diagnostic debug via V4L2 device commit
synaptics-rmi4 - add support for F54 diagnostics commit
ad5820: Add driver for auto-focus coil commit
Add stih-cec driver commit
atmel-isc: add the Image Sensor Controller code commit
cobalt: support reduced fps commit
cx23885: Add support for Hauppauge WinTV quadHD ATSC version commit
cxd2820r: dvbv5 statistics for DVB-C commit, dvbv5 statistics for DVB-T commit, dvbv5 statistics for DVB-T2 commit
tw686x: Support frame sizes and frame intervals enumeration commit
Add tw5864 driver commit
s5p-tv: remove obsolete driver commit
st-hva: add H.264 video encoding support commit, multi-format video encoder V4L2 driver commit
tw686x-kh: remove obsolete driver commit
rcar-vin: remove obsolete driver commit
sh_mobile_csi2: remove unused driver commit
11.8. USB
core: Introduce a USB port LED trigger commit
gadget: f_ncm: add SuperSpeed descriptors for CDC NCM commit
misc: Add driver for usb4604 commit
musb: Add PM runtime support for MUSB DSPS glue layer commit
bcma: support old USB 2.0 controller on Northstar devices commit
serial: cp210x: Add ID for a Juniper console commit, add ID for the Zone DPMX commit; ftdi_sio: add support for TI CC3200 LaunchPad commit
11.9. Serial Peripheral Interface (SPI)
add driver for J-Core SPI controller commit
bcm-qspi: Add BSPI spi-nor flash controller driver commit, add Broadcom MSPI driver commit
brcmstb-qspi: Broadcom settop platform driver commit
octeon: Add ThunderX driver commit
11.10. Watchdog
Add watchdog pretimeout governor framework commit, add noop pretimeout governor commit, add option to select a pretimeout governor in runtime commit, add panic pretimeout governor commit
hpwdt: add support for iLO5 commit
ziirave_wdt: Add support to upload the firmware. commit
11.11. Serial
8250_dw: add ACPI support for uart on Hisilicon Hip05 SoC commit
8250_mtk: support big baud rate. commit
stm32: adding support for stm32f7 commit, adding dma support commit
atmel: add fractional baud rate support commit
fsl_lpuart: Add support for RS-485 commit
11.12. ACPI, EFI, cpufreq, thermal, Power Management
- ACPI
CPPC: add sysfs support to compute delivered performance commit
watchdog: Add support for WDAT hardware watchdog commit
I/O Remapping Table (IORT) initial support. IORT shows representation of IO topology for ARM based systems commit
Enable SPCR table in ARM64 commit
nfit: add dimm device notification support commit
efi: Add efi_test driver for exporting UEFI runtime service interfaces commit
- devfreq
11.13. Real Time Clock (RTC)
ac100: Add RTC driver for X-Powers AC100 commit, add clk output support commit
ds1307: add Intersil ISL12057 support commit
isl12057: remove driver commit
omap: Support ext_wakeup configuration commit
11.14. PCI
Add Precision Time Measurement (PTM) support commit
designware: Add iATU Unroll feature commit
rcar: Add multi-MSI support commit
rockchip: Add Rockchip PCIe controller support commit
AER: Remove aerdriver.forceload kernel parameter commit
pci/hotplug: Support surprise hotplug in powernv driver commit
11.15. Voltage, current regulators, power capping, power supply
Add Mediatek thermal driver for mt2701. commit
Add support for hardware-tracked trip points commit
Add Intel BXT WhiskeyCove PMIC thermal driver commit
max77620: Add thermal driver for reporting junction temp commit
qcom: tsens: Add a skeletal TSENS drivers commit, add support for 8916 family of SoCs commit, add support for 8960 family of SoCs commit, add support for 8974 family of SoCs commit, add support for 8996 family of SoCs commit
qoriq: Add thermal management support commit
tegra: add hw-throttle for Tegra132 commit
cpufreq: schedutil: Add iowait boosting commit
11.16. Pin Controllers (pinctrl)
Add pinctrl-aspeed-g4 driver commit
Add pinctrl-aspeed-g5 driver commit
sh-pfc: Add R8A7792 PFC support commit, initial R8A7796 PFC support commit
sunxi: Add GR8 controller support commit
st: Remove STiH415/6 SoC pinctrl driver support. commit
11.17. Multi Media Card
sunxi: add support for A64 mmc controller commit
tmio: add eMMC support commit
sdhci-pci: enable SD card interface on Merrifield commit
sdhci-pci: enable SDIO interface on Intel Merrifield commit
11.18. Industrial I/O (iio)
Add IIO support for the Measurement Computing CIO-DAC family commit
accel: Add driver for the mCube MC3230 3-axis accelerometer commit, add support for Domintech DMARD06 accelerometer commit, add support for the Domintech DMARD09 3-axis accelerometer commit, kxsd9: Add I2C transport commit, mxc6255 add support for the mxc6225 commit
adc: add ADC12130/ADC12132/ADC12138 ADC driver commit, at91: Add support for Touchscreen Switches Closure Time commit, ltc2485: add support for Linear Technology LTC2485 ADC commit, mt2701: Add Mediatek auxadc driver for mt2701. commit, ti-adc161s626: add support for TI 1-channel differential ADCs commit
chemical: atlas-ph-sensor: add ORP feature commit, vz89x: add support for VZ89TE part commit
dac: AD8801: add Analog Devices AD8801/AD8803 support commit
light: Add driver for Silabs si1132, si1141/2/3 and si1145/6/7 ambient light, uv index and proximity sensors commit
magn: add a driver for AK8974 commit
pressure: initial zpa2326 barometer support commit
11.19. Multi Function Devices (MFD)
Add STMPE1600 support commit
Add Samsung Exynos Low Power Audio Subsystem driver commit
ac100: Add driver for X-Powers AC100 audio codec / RTC combo IC commit
axp20x: Add support for AXP806 PMIC commit
cros_ec: Add MKBP event support commit
lp873x: Add lp873x PMIC support commit
lpss: Add Intel Kaby Lake PCH-H PCI IDs commit
pm8921: Add support for pm8018 commit
qcom-rpm: Add support for pm8018 RPM Regulator commit
rk808: Add RK818 support commit
tps65217: Add support for IRQs commit
11.20. Pulse-Width Modulation (PWM)
11.21. Inter-Integrated Circuit (I2C)
designware: Enable fast mode plus commit, enable high speed mode commit
i801: Add support for Kaby Lake PCH-H commit
rcar: add support for r8a7796 (R-Car M3-W) commit
tegra: Add pinctrl support commit
thunderx: Add SMBUS alert support commit, add i2c driver for ThunderX SOC commit
11.22. Hardware monitoring (hwmon)
New hwmon registration API commit, commit, commit, commit, commit, commit, commit, commit
adt7411: add external thermal diode support commit
adt7470: Expose PWM frequency to sysfs commit
lm95241: Add support for fault attributes commit
nct6775: Add support for multiple virtual temperature sources commit
pmbus: Add explicit support for DPS-460, DPS-800, and SGD009 commit
ucd9000: Add support for UCD90160 Power Supply Sequencer commit
Add xgene hwmon driver commit
11.23. General Purpose I/O (gpio)
mockup: add virtual gpio device commit
Add AXP209 GPIO driver commit
Add Aspeed driver commit
Add GPIO support for the Diamond Systems GPIO-MM commit
Add Intel WhiskeyCove PMIC GPIO driver commit
Add Technologic I2C-FPGA gpio support commit
lp873x: Add support for General Purpose Outputs commit
rcar: Add r8a7796 (R-Car M3-W) support commit
stmpe: Add STMPE1600 support commit
11.24. Clocks
bcm: Add driver for BCM53573 ILP clock commit
max77686: Add support for MAX77620 clocks commit, combine Maxim max77686 and max77802 driver commit
mdm9615: Add support for MDM9615 Clock Controllers commit
meson: Add GXBB AO Clock and Reset controller driver commit
mvebu: Add the peripheral clock driver for Armada 3700 commit, add the xtal clock for Armada 3700 SoC commit
sunxi-ng: Add A23 CCU commit, add A31/A31s clocks commit, add A33 CCU support commit, add N-class clocks support commit
uniphier: add core support code for UniPhier clock driver commit
clocksource: moxart: Add Aspeed support commit
clocksource: Add J-Core timer/clocksource driver commit
Add Loongson1C clock support commit
st: Remove stih415-416 clock support commit
11.25. Hardware Random Number Generator
cavium - Add Cavium HWRNG driver for ThunderX SoC. commit
11.26. Various
EDAC, I3000: Orphan driver commit
EDAC, altera: Add Arria10 DMA support commit, add Arria10 NAND support commit, add Arria10 QSPI support commit, add Arria10 SD-MMC EDAC support commit, add Arria10 USB support commit
EDAC: Add Layerscape EDAC support commit
auxdisplay: img-ascii-lcd: driver for simple ASCII LCD displays commit
can: peak: Add support for PCAN-USB X6 USB interface commit
bus: qcom: add EBI2 driver commit
chcr: Support for Chelsio's Crypto Hardware commit
dmaengine: imx-sdma: Add i.MX7 support commit
dmaengine: omap-dma: Enable burst and data pack for SG commit
irqchip: Add STM32 external interrupts support commit
reset: Add STM32 reset driver commit
soc/fsl: Introduce DPAA 1.x BMan device driver commit
soc/fsl: Introduce DPAA 1.x QMan device driver commit
regulator: Add LTC3676 support commit
regulator: axp20x: Support AXP806 variant commit
regulator: pv88080: Update regulator for PV88080 BB silicon support commit
regulator: rk808: Add regulator driver for RK818 commit
remoteproc: Introduce auto-boot flag commit
remoteproc: qcom: Introduce WCNSS peripheral image loader commit
pcmcia: soc_common: add support for Vcc and Vpp regulators commit
pcmcia: soc_common: add support for reset and bus enable GPIOs commit
pcmcia: soc_common: add support for voltage sense GPIOs commit
mailbox: Add Platform Message-Handling-Unit variant driver commit
mailbox: pcc: Support HW-Reduced Communication Subspace type 2 commit
mcb: Added support for LPC or non PCI based MCB carrier commit
mcb: Enable PCI bus mastering by default commit
mei: me: add kaby point device ids commit
leds: add PM8058 LEDs driver commit
leds: add driver for Mellanox systems LEDs commit
leds: is31fl319x: 1/3/6/9-channel light effect led driver commit
ipmi: add an Aspeed BT IPMI BMC driver commit
irqchip/jcore-aic: Add J-Core AIC driver commit
irqchip/mvebu-pic: New driver for Marvell Armada 7K/8K PIC commit
extcon: Add EXTCON_DISP_DP and the property for USB Type-C commit
extcon: Add new EXTCON_CHG_WPT for Wireless Power Transfer device commit
extcon: Add new EXTCON_DISP_HMD for Head-mounted Display device commit
extcon: Add support for qcom SPMI PMIC USB id detection hardware commit
extcon: Add the support for the capability of each property commit
extcon: Introduce EXTCON_PROP_USB_SS property for SuperSpeed mode commit
firmware: Amlogic: Add secure monitor driver commit
misc: retire the old BMP085 driver commit
power: supply: act8945a_charger: Add capacity level property commit, add max current property commit, add status change update support commit
vme: Adding Fake VME driver commit
reset: uniphier: add reset controller driver for UniPhier SoCs commit
rpmsg: Introduce Qualcomm SMD backend commit
12. List of merges