Merge ~vicamo/ubuntu/+source/backport-iwlwifi-dkms/+git/backport-iwlwifi-dkms:for-focal/upgrade-rev-8042 into ~vicamo/ubuntu/+source/backport-iwlwifi-dkms/+git/backport-iwlwifi-dkms:ubuntu/focal

Proposed by You-Sheng Yang
Status: Merged
Approved by: You-Sheng Yang
Approved revision: 24dcb9d44c6f353de1844fec8e610ea06b8442bf
Merged at revision: 24dcb9d44c6f353de1844fec8e610ea06b8442bf
Proposed branch: ~vicamo/ubuntu/+source/backport-iwlwifi-dkms/+git/backport-iwlwifi-dkms:for-focal/upgrade-rev-8042
Merge into: ~vicamo/ubuntu/+source/backport-iwlwifi-dkms/+git/backport-iwlwifi-dkms:ubuntu/focal
Diff against target: 29606 lines (+9490/-5114)
259 files modified
Kconfig.local (+3/-0)
MAINTAINERS (+955/-336)
backport-include/asm/barrier.h (+4/-0)
backport-include/linux/compiler-gcc8.h (+1/-0)
backport-include/linux/compiler-gcc9.h (+1/-0)
backport-include/linux/ftrace_event.h (+1/-2)
backport-include/linux/hrtimer.h (+13/-0)
backport-include/linux/interrupt.h (+25/-0)
backport-include/linux/lockdep.h (+6/-0)
backport-include/linux/mmc/sdio_func.h (+76/-0)
backport-include/linux/moduleparam.h (+1/-2)
backport-include/linux/netdevice.h (+13/-6)
backport-include/linux/of_net.h (+16/-0)
backport-include/linux/rcupdate.h (+18/-0)
backport-include/linux/rhashtable.h (+31/-0)
backport-include/linux/string.h (+1/-2)
backport-include/linux/timekeeping.h (+10/-0)
backport-include/linux/wait.h (+1/-2)
backport-include/net/genetlink.h (+60/-2)
backport-include/net/ipv6_stubs.h (+13/-0)
backport-include/net/netlink.h (+246/-95)
compat/Kconfig (+6/-1)
compat/Makefile (+1/-3)
compat/backport-3.13.c (+1/-2)
compat/backport-3.17.c (+1/-4)
compat/backport-3.19.c (+1/-2)
compat/backport-4.0.c (+0/-2)
compat/backport-4.1.c (+0/-2)
compat/backport-4.6.c (+1/-3)
compat/backport-4.7.c (+1/-2)
compat/backport-5.2.c (+159/-61)
compat/backport-genetlink.c (+37/-17)
compat/build_OID_registry (+1/-5)
compat/compat-3.9.c (+0/-12)
compat/lib-asn1_decoder.c (+5/-5)
compat/lib-oid_registry.c (+1/-5)
compat/lib-refcount.c (+13/-5)
compat/lib-rhashtable.c (+112/-116)
compat/verification/pkcs7_parser.c (+1/-5)
compat/verification/pkcs7_parser.h (+1/-5)
compat/verification/pkcs7_trust.c (+1/-5)
compat/verification/pkcs7_verify.c (+1/-5)
compat/verification/x509.asn1.c (+54/-51)
compat/verification/x509.asn1.h (+1/-0)
compat/verification/x509_cert_parser.c (+54/-9)
compat/verification/x509_parser.h (+1/-5)
compat/verification/x509_public_key.c (+1/-6)
debian/backport-iwlwifi-dkms.modaliases (+12/-0)
debian/changelog (+8/-0)
debian/gbp.conf (+2/-2)
debian/gitlab-ci.yml (+2/-0)
debian/patches/series (+0/-2)
debian/tests/check-modaliases (+43/-6)
dev/null (+0/-46)
drivers/net/wireless/Kconfig (+1/-0)
drivers/net/wireless/intel/Kconfig (+1/-0)
drivers/net/wireless/intel/Makefile (+1/-0)
drivers/net/wireless/intel/iwlwifi/Kconfig (+1/-0)
drivers/net/wireless/intel/iwlwifi/cfg/22000.c (+105/-28)
drivers/net/wireless/intel/iwlwifi/cfg/7000.c (+5/-5)
drivers/net/wireless/intel/iwlwifi/cfg/8000.c (+5/-5)
drivers/net/wireless/intel/iwlwifi/cfg/9000.c (+26/-9)
drivers/net/wireless/intel/iwlwifi/fw/api/commands.h (+7/-0)
drivers/net/wireless/intel/iwlwifi/fw/api/d3.h (+12/-2)
drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h (+261/-347)
drivers/net/wireless/intel/iwlwifi/fw/api/debug.h (+29/-42)
drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h (+31/-2)
drivers/net/wireless/intel/iwlwifi/fw/api/rx.h (+37/-0)
drivers/net/wireless/intel/iwlwifi/fw/api/scan.h (+157/-0)
drivers/net/wireless/intel/iwlwifi/fw/api/time-event.h (+78/-2)
drivers/net/wireless/intel/iwlwifi/fw/dbg.c (+679/-1012)
drivers/net/wireless/intel/iwlwifi/fw/dbg.h (+18/-50)
drivers/net/wireless/intel/iwlwifi/fw/debugfs.c (+37/-0)
drivers/net/wireless/intel/iwlwifi/fw/error-dump.h (+71/-30)
drivers/net/wireless/intel/iwlwifi/fw/file.h (+25/-4)
drivers/net/wireless/intel/iwlwifi/fw/img.h (+18/-12)
drivers/net/wireless/intel/iwlwifi/fw/init.c (+0/-2)
drivers/net/wireless/intel/iwlwifi/fw/paging.c (+3/-3)
drivers/net/wireless/intel/iwlwifi/fw/runtime.h (+58/-23)
drivers/net/wireless/intel/iwlwifi/fw/smem.c (+1/-1)
drivers/net/wireless/intel/iwlwifi/iwl-config.h (+61/-21)
drivers/net/wireless/intel/iwlwifi/iwl-dbg-cfg.c (+3/-0)
drivers/net/wireless/intel/iwlwifi/iwl-dbg-cfg.h (+2/-0)
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c (+946/-58)
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.h (+34/-6)
drivers/net/wireless/intel/iwlwifi/iwl-debug.h (+1/-12)
drivers/net/wireless/intel/iwlwifi/iwl-devtrace-data.h (+1/-12)
drivers/net/wireless/intel/iwlwifi/iwl-devtrace-io.h (+1/-12)
drivers/net/wireless/intel/iwlwifi/iwl-devtrace-iwlwifi.h (+1/-12)
drivers/net/wireless/intel/iwlwifi/iwl-devtrace-msg.h (+1/-12)
drivers/net/wireless/intel/iwlwifi/iwl-devtrace-ucode.h (+1/-12)
drivers/net/wireless/intel/iwlwifi/iwl-devtrace.c (+1/-12)
drivers/net/wireless/intel/iwlwifi/iwl-devtrace.h (+1/-13)
drivers/net/wireless/intel/iwlwifi/iwl-dnt-dev-if.c (+3/-1)
drivers/net/wireless/intel/iwlwifi/iwl-drv.c (+10/-10)
drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c (+12/-9)
drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h (+2/-2)
drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c (+7/-7)
drivers/net/wireless/intel/iwlwifi/iwl-fh.h (+3/-3)
drivers/net/wireless/intel/iwlwifi/iwl-io.c (+11/-10)
drivers/net/wireless/intel/iwlwifi/iwl-io.h (+11/-7)
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c (+42/-31)
drivers/net/wireless/intel/iwlwifi/iwl-prph.h (+12/-0)
drivers/net/wireless/intel/iwlwifi/iwl-trans.c (+0/-2)
drivers/net/wireless/intel/iwlwifi/iwl-trans.h (+67/-18)
drivers/net/wireless/intel/iwlwifi/mvm/constants.h (+4/-2)
drivers/net/wireless/intel/iwlwifi/mvm/d3.c (+46/-13)
drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c (+5/-0)
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c (+6/-3)
drivers/net/wireless/intel/iwlwifi/mvm/fw.c (+57/-17)
drivers/net/wireless/intel/iwlwifi/mvm/led.c (+3/-3)
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c (+30/-6)
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c (+42/-16)
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h (+54/-10)
drivers/net/wireless/intel/iwlwifi/mvm/nvm.c (+2/-2)
drivers/net/wireless/intel/iwlwifi/mvm/ops.c (+21/-10)
drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c (+10/-1)
drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c (+19/-7)
drivers/net/wireless/intel/iwlwifi/mvm/rs.c (+27/-24)
drivers/net/wireless/intel/iwlwifi/mvm/rs.h (+3/-16)
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c (+129/-9)
drivers/net/wireless/intel/iwlwifi/mvm/scan.c (+261/-59)
drivers/net/wireless/intel/iwlwifi/mvm/sta.c (+5/-5)
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c (+174/-1)
drivers/net/wireless/intel/iwlwifi/mvm/time-event.h (+20/-1)
drivers/net/wireless/intel/iwlwifi/mvm/tx.c (+15/-6)
drivers/net/wireless/intel/iwlwifi/mvm/utils.c (+7/-6)
drivers/net/wireless/intel/iwlwifi/mvm/vendor-cmd.c (+2/-0)
drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c (+65/-14)
drivers/net/wireless/intel/iwlwifi/pcie/drv.c (+167/-40)
drivers/net/wireless/intel/iwlwifi/pcie/internal.h (+17/-13)
drivers/net/wireless/intel/iwlwifi/pcie/rx.c (+55/-33)
drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c (+5/-5)
drivers/net/wireless/intel/iwlwifi/pcie/trans.c (+227/-261)
drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c (+20/-14)
drivers/net/wireless/intel/iwlwifi/pcie/tx.c (+48/-42)
drivers/net/wireless/intel/iwlwifi/xvt/debugfs.c (+3/-0)
drivers/net/wireless/intel/iwlwifi/xvt/rx.c (+3/-3)
drivers/net/wireless/intel/iwlwifi/xvt/user-infc.c (+4/-2)
drivers/net/wireless/intel/iwlwifi/xvt/xvt.c (+6/-4)
drivers/net/wireless/intel/iwlwifi/xvt/xvt.h (+1/-1)
drivers/net/wireless/mac80211_hwsim.c (+62/-60)
drivers/net/wireless/mac80211_hwsim.h (+1/-4)
include/crypto/backport-pkcs7.h (+1/-5)
include/crypto/backport-public_key.h (+5/-5)
include/linux/asn1.h (+1/-5)
include/linux/asn1_ber_bytecode.h (+1/-5)
include/linux/backport-asn1_decoder.h (+1/-5)
include/linux/backport-devcoredump.h (+1/-16)
include/linux/backport-oid_registry.h (+19/-5)
include/linux/backport-rhashtable-types.h (+0/-2)
include/linux/backport-rhashtable.h (+242/-132)
include/linux/bitfield.h (+1/-9)
include/linux/ieee80211.h (+10/-13)
include/linux/overflow.h (+15/-5)
include/linux/pci_ids.h (+4/-0)
include/linux/rhashtable-types.h (+2/-0)
include/linux/rhashtable.h (+2/-0)
include/net/cfg80211-wext.h (+1/-4)
include/net/cfg80211.h (+146/-10)
include/net/fq.h (+1/-2)
include/net/fq_impl.h (+11/-10)
include/net/mac80211.h (+209/-17)
include/uapi/linux/nl80211.h (+123/-5)
include/uapi/linux/pci_regs.h (+73/-67)
local-symbols (+1/-0)
net/Kconfig (+4/-15)
net/Makefile (+1/-1)
net/mac80211/Kconfig (+1/-0)
net/mac80211/aead_api.c (+1/-4)
net/mac80211/aead_api.h (+1/-5)
net/mac80211/aes_ccm.h (+1/-4)
net/mac80211/aes_cmac.c (+1/-4)
net/mac80211/aes_cmac.h (+1/-4)
net/mac80211/aes_gcm.h (+1/-4)
net/mac80211/aes_gmac.c (+1/-4)
net/mac80211/aes_gmac.h (+1/-4)
net/mac80211/agg-rx.c (+1/-4)
net/mac80211/agg-tx.c (+2/-5)
net/mac80211/cfg.c (+70/-4)
net/mac80211/chan.c (+1/-0)
net/mac80211/debugfs.c (+59/-3)
net/mac80211/debugfs_key.c (+1/-4)
net/mac80211/debugfs_netdev.c (+2/-5)
net/mac80211/debugfs_sta.c (+66/-7)
net/mac80211/driver-ops.c (+22/-4)
net/mac80211/driver-ops.h (+20/-3)
net/mac80211/ethtool.c (+1/-2)
net/mac80211/fils_aead.c (+1/-4)
net/mac80211/fils_aead.h (+1/-4)
net/mac80211/he.c (+1/-4)
net/mac80211/ht.c (+10/-4)
net/mac80211/ibss.c (+1/-4)
net/mac80211/ieee80211_i.h (+20/-8)
net/mac80211/iface.c (+20/-11)
net/mac80211/key.c (+79/-61)
net/mac80211/key.h (+5/-6)
net/mac80211/led.c (+1/-4)
net/mac80211/led.h (+1/-4)
net/mac80211/main.c (+30/-6)
net/mac80211/mesh.c (+6/-5)
net/mac80211/mesh.h (+11/-4)
net/mac80211/mesh_hwmp.c (+37/-31)
net/mac80211/mesh_pathtbl.c (+54/-128)
net/mac80211/mesh_plink.c (+1/-4)
net/mac80211/mesh_ps.c (+1/-4)
net/mac80211/mesh_sync.c (+1/-4)
net/mac80211/michael.c (+1/-4)
net/mac80211/michael.h (+1/-4)
net/mac80211/mlme.c (+1/-7)
net/mac80211/ocb.c (+1/-4)
net/mac80211/offchannel.c (+4/-6)
net/mac80211/rate.c (+1/-4)
net/mac80211/rate.h (+1/-4)
net/mac80211/rc80211_minstrel.h (+1/-4)
net/mac80211/rc80211_minstrel_ht.c (+101/-55)
net/mac80211/rc80211_minstrel_ht.h (+2/-5)
net/mac80211/rc80211_minstrel_ht_debugfs.c (+5/-7)
net/mac80211/rx.c (+59/-43)
net/mac80211/scan.c (+1/-4)
net/mac80211/spectmgmt.c (+1/-4)
net/mac80211/sta_info.c (+58/-8)
net/mac80211/sta_info.h (+39/-4)
net/mac80211/status.c (+16/-14)
net/mac80211/tdls.c (+2/-3)
net/mac80211/tkip.c (+1/-4)
net/mac80211/tkip.h (+1/-4)
net/mac80211/trace.h (+34/-3)
net/mac80211/tx.c (+247/-36)
net/mac80211/util.c (+9/-14)
net/mac80211/vht.c (+1/-4)
net/mac80211/wep.c (+1/-4)
net/mac80211/wep.h (+1/-4)
net/mac80211/wme.c (+45/-42)
net/mac80211/wme.h (+3/-4)
net/mac80211/wpa.c (+7/-5)
net/mac80211/wpa.h (+1/-4)
net/wireless/Kconfig (+1/-0)
net/wireless/Makefile (+1/-0)
net/wireless/chan.c (+2/-1)
net/wireless/core.c (+7/-2)
net/wireless/debugfs.c (+1/-4)
net/wireless/ibss.c (+11/-5)
net/wireless/lib80211.c (+1/-0)
net/wireless/lib80211_crypt_ccmp.c (+1/-5)
net/wireless/lib80211_crypt_tkip.c (+1/-6)
net/wireless/lib80211_crypt_wep.c (+1/-5)
net/wireless/nl80211.c (+651/-569)
net/wireless/ocb.c (+1/-4)
net/wireless/pmsr.c (+18/-15)
net/wireless/rdev-ops.h (+28/-1)
net/wireless/reg.c (+39/-30)
net/wireless/scan.c (+5/-6)
net/wireless/sysfs.c (+1/-2)
net/wireless/trace.h (+83/-6)
net/wireless/util.c (+33/-10)
net/wireless/wext-compat.c (+2/-3)
net/wireless/wext-compat.h (+1/-0)
versions (+1/-1)
Reviewer Review Type Date Requested Status
You-Sheng Yang Approve
Review via email: mp+374829@code.launchpad.net
To post a comment you must log in.
Revision history for this message
You-Sheng Yang (vicamo) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/Kconfig.local b/Kconfig.local
index 33dd94b..c195c4e 100644
--- a/Kconfig.local
+++ b/Kconfig.local
@@ -22,6 +22,9 @@ config BACKPORTED_EXPERT
22config BACKPORTED_BP_MODULES22config BACKPORTED_BP_MODULES
23 tristate23 tristate
24 default BP_MODULES24 default BP_MODULES
25config BACKPORTED_BPAUTO_BUILD_NLATTR
26 tristate
27 default BPAUTO_BUILD_NLATTR
25config BACKPORTED_BPAUTO_BUILD_CORDIC28config BACKPORTED_BPAUTO_BUILD_CORDIC
26 tristate29 tristate
27 default BPAUTO_BUILD_CORDIC30 default BPAUTO_BUILD_CORDIC
diff --git a/MAINTAINERS b/MAINTAINERS
index 32d4444..677ef41 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -268,12 +268,13 @@ L: linux-gpio@vger.kernel.org
268S: Maintained268S: Maintained
269F: drivers/gpio/gpio-104-idio-16.c269F: drivers/gpio/gpio-104-idio-16.c
270270
271ACCES 104-QUAD-8 IIO DRIVER271ACCES 104-QUAD-8 DRIVER
272M: William Breathitt Gray <vilhelm.gray@gmail.com>272M: William Breathitt Gray <vilhelm.gray@gmail.com>
273L: linux-iio@vger.kernel.org273L: linux-iio@vger.kernel.org
274S: Maintained274S: Maintained
275F: Documentation/ABI/testing/sysfs-bus-counter-104-quad-8
275F: Documentation/ABI/testing/sysfs-bus-iio-counter-104-quad-8276F: Documentation/ABI/testing/sysfs-bus-iio-counter-104-quad-8
276F: drivers/iio/counter/104-quad-8.c277F: drivers/counter/104-quad-8.c
277278
278ACCES PCI-IDIO-16 GPIO DRIVER279ACCES PCI-IDIO-16 GPIO DRIVER
279M: William Breathitt Gray <vilhelm.gray@gmail.com>280M: William Breathitt Gray <vilhelm.gray@gmail.com>
@@ -331,6 +332,7 @@ ACPI APEI
331M: "Rafael J. Wysocki" <rjw@rjwysocki.net>332M: "Rafael J. Wysocki" <rjw@rjwysocki.net>
332M: Len Brown <lenb@kernel.org>333M: Len Brown <lenb@kernel.org>
333L: linux-acpi@vger.kernel.org334L: linux-acpi@vger.kernel.org
335R: James Morse <james.morse@arm.com>
334R: Tony Luck <tony.luck@intel.com>336R: Tony Luck <tony.luck@intel.com>
335R: Borislav Petkov <bp@alien8.de>337R: Borislav Petkov <bp@alien8.de>
336F: drivers/acpi/apei/338F: drivers/acpi/apei/
@@ -362,9 +364,10 @@ F: drivers/acpi/fan.c
362364
363ACPI FOR ARM64 (ACPI/arm64)365ACPI FOR ARM64 (ACPI/arm64)
364M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>366M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
365M: Hanjun Guo <hanjun.guo@linaro.org>367M: Hanjun Guo <guohanjun@huawei.com>
366M: Sudeep Holla <sudeep.holla@arm.com>368M: Sudeep Holla <sudeep.holla@arm.com>
367L: linux-acpi@vger.kernel.org369L: linux-acpi@vger.kernel.org
370L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
368S: Maintained371S: Maintained
369F: drivers/acpi/arm64372F: drivers/acpi/arm64
370373
@@ -409,8 +412,7 @@ F: drivers/platform/x86/wmi.c
409F: include/uapi/linux/wmi.h412F: include/uapi/linux/wmi.h
410413
411AD1889 ALSA SOUND DRIVER414AD1889 ALSA SOUND DRIVER
412M: Thibaut Varene <T-Bone@parisc-linux.org>415W: https://parisc.wiki.kernel.org/index.php/AD1889
413W: http://wiki.parisc-linux.org/AD1889
414L: linux-parisc@vger.kernel.org416L: linux-parisc@vger.kernel.org
415S: Maintained417S: Maintained
416F: sound/pci/ad1889.*418F: sound/pci/ad1889.*
@@ -467,7 +469,7 @@ ADM1025 HARDWARE MONITOR DRIVER
467M: Jean Delvare <jdelvare@suse.com>469M: Jean Delvare <jdelvare@suse.com>
468L: linux-hwmon@vger.kernel.org470L: linux-hwmon@vger.kernel.org
469S: Maintained471S: Maintained
470F: Documentation/hwmon/adm1025472F: Documentation/hwmon/adm1025.rst
471F: drivers/hwmon/adm1025.c473F: drivers/hwmon/adm1025.c
472474
473ADM1029 HARDWARE MONITOR DRIVER475ADM1029 HARDWARE MONITOR DRIVER
@@ -519,7 +521,7 @@ ADS1015 HARDWARE MONITOR DRIVER
519M: Dirk Eibach <eibach@gdsys.de>521M: Dirk Eibach <eibach@gdsys.de>
520L: linux-hwmon@vger.kernel.org522L: linux-hwmon@vger.kernel.org
521S: Maintained523S: Maintained
522F: Documentation/hwmon/ads1015524F: Documentation/hwmon/ads1015.rst
523F: drivers/hwmon/ads1015.c525F: drivers/hwmon/ads1015.c
524F: include/linux/platform_data/ads1015.h526F: include/linux/platform_data/ads1015.h
525527
@@ -532,7 +534,7 @@ ADT7475 HARDWARE MONITOR DRIVER
532M: Jean Delvare <jdelvare@suse.com>534M: Jean Delvare <jdelvare@suse.com>
533L: linux-hwmon@vger.kernel.org535L: linux-hwmon@vger.kernel.org
534S: Maintained536S: Maintained
535F: Documentation/hwmon/adt7475537F: Documentation/hwmon/adt7475.rst
536F: drivers/hwmon/adt7475.c538F: drivers/hwmon/adt7475.c
537539
538ADVANSYS SCSI DRIVER540ADVANSYS SCSI DRIVER
@@ -694,6 +696,7 @@ F: drivers/input/mouse/alps.*
694ALTERA I2C CONTROLLER DRIVER696ALTERA I2C CONTROLLER DRIVER
695M: Thor Thayer <thor.thayer@linux.intel.com>697M: Thor Thayer <thor.thayer@linux.intel.com>
696S: Maintained698S: Maintained
699F: Documentation/devicetree/bindings/i2c/i2c-altera.txt
697F: drivers/i2c/busses/i2c-altera.c700F: drivers/i2c/busses/i2c-altera.c
698701
699ALTERA MAILBOX DRIVER702ALTERA MAILBOX DRIVER
@@ -708,6 +711,12 @@ L: linux-gpio@vger.kernel.org
708S: Maintained711S: Maintained
709F: drivers/gpio/gpio-altera.c712F: drivers/gpio/gpio-altera.c
710713
714ALTERA SYSTEM MANAGER DRIVER
715M: Thor Thayer <thor.thayer@linux.intel.com>
716S: Maintained
717F: drivers/mfd/altera-sysmgr.c
718F: include/linux/mfd/altera-sysgmr.h
719
711ALTERA SYSTEM RESOURCE DRIVER FOR ARRIA10 DEVKIT720ALTERA SYSTEM RESOURCE DRIVER FOR ARRIA10 DEVKIT
712M: Thor Thayer <thor.thayer@linux.intel.com>721M: Thor Thayer <thor.thayer@linux.intel.com>
713S: Maintained722S: Maintained
@@ -734,6 +743,12 @@ F: drivers/tty/serial/altera_jtaguart.c
734F: include/linux/altera_uart.h743F: include/linux/altera_uart.h
735F: include/linux/altera_jtaguart.h744F: include/linux/altera_jtaguart.h
736745
746AMAZON ANNAPURNA LABS THERMAL MMIO DRIVER
747M: Talel Shenhar <talel@amazon.com>
748S: Maintained
749F: Documentation/devicetree/bindings/thermal/amazon,al-thermal.txt
750F: drivers/thermal/thermal_mmio.c
751
737AMAZON ETHERNET DRIVERS752AMAZON ETHERNET DRIVERS
738M: Netanel Belgazal <netanel@amazon.com>753M: Netanel Belgazal <netanel@amazon.com>
739R: Saeed Bishara <saeedb@amazon.com>754R: Saeed Bishara <saeedb@amazon.com>
@@ -743,6 +758,15 @@ S: Supported
743F: Documentation/networking/device_drivers/amazon/ena.txt758F: Documentation/networking/device_drivers/amazon/ena.txt
744F: drivers/net/ethernet/amazon/759F: drivers/net/ethernet/amazon/
745760
761AMAZON RDMA EFA DRIVER
762M: Gal Pressman <galpress@amazon.com>
763R: Yossi Leybovich <sleybo@amazon.com>
764L: linux-rdma@vger.kernel.org
765Q: https://patchwork.kernel.org/project/linux-rdma/list/
766S: Supported
767F: drivers/infiniband/hw/efa/
768F: include/uapi/rdma/efa-abi.h
769
746AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER770AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER
747M: Tom Lendacky <thomas.lendacky@amd.com>771M: Tom Lendacky <thomas.lendacky@amd.com>
748M: Gary Hook <gary.hook@amd.com>772M: Gary Hook <gary.hook@amd.com>
@@ -763,9 +787,16 @@ AMD FAM15H PROCESSOR POWER MONITORING DRIVER
763M: Huang Rui <ray.huang@amd.com>787M: Huang Rui <ray.huang@amd.com>
764L: linux-hwmon@vger.kernel.org788L: linux-hwmon@vger.kernel.org
765S: Supported789S: Supported
766F: Documentation/hwmon/fam15h_power790F: Documentation/hwmon/fam15h_power.rst
767F: drivers/hwmon/fam15h_power.c791F: drivers/hwmon/fam15h_power.c
768792
793AMD FCH GPIO DRIVER
794M: Enrico Weigelt, metux IT consult <info@metux.net>
795L: linux-gpio@vger.kernel.org
796S: Maintained
797F: drivers/gpio/gpio-amd-fch.c
798F: include/linux/platform_data/gpio/gpio-amd-fch.h
799
769AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER800AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
770L: linux-geode@lists.infradead.org (moderated for non-subscribers)801L: linux-geode@lists.infradead.org (moderated for non-subscribers)
771S: Orphan802S: Orphan
@@ -808,6 +839,14 @@ F: drivers/gpu/drm/amd/include/vi_structs.h
808F: drivers/gpu/drm/amd/include/v9_structs.h839F: drivers/gpu/drm/amd/include/v9_structs.h
809F: include/uapi/linux/kfd_ioctl.h840F: include/uapi/linux/kfd_ioctl.h
810841
842AMD MP2 I2C DRIVER
843M: Elie Morisse <syniurge@gmail.com>
844M: Nehal Shah <nehal-bakulchandra.shah@amd.com>
845M: Shyam Sundar S K <shyam-sundar.s-k@amd.com>
846L: linux-i2c@vger.kernel.org
847S: Maintained
848F: drivers/i2c/busses/i2c-amd-mp2*
849
811AMD POWERPLAY850AMD POWERPLAY
812M: Rex Zhu <rex.zhu@amd.com>851M: Rex Zhu <rex.zhu@amd.com>
813M: Evan Quan <evan.quan@amd.com>852M: Evan Quan <evan.quan@amd.com>
@@ -854,6 +893,22 @@ S: Supported
854F: drivers/iio/adc/ad7124.c893F: drivers/iio/adc/ad7124.c
855F: Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt894F: Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
856895
896ANALOG DEVICES INC AD7606 DRIVER
897M: Stefan Popa <stefan.popa@analog.com>
898L: linux-iio@vger.kernel.org
899W: http://ez.analog.com/community/linux-device-drivers
900S: Supported
901F: drivers/iio/adc/ad7606.c
902F: Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt
903
904ANALOG DEVICES INC AD7768-1 DRIVER
905M: Stefan Popa <stefan.popa@analog.com>
906L: linux-iio@vger.kernel.org
907W: http://ez.analog.com/community/linux-device-drivers
908S: Supported
909F: drivers/iio/adc/ad7768-1.c
910F: Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.txt
911
857ANALOG DEVICES INC AD9389B DRIVER912ANALOG DEVICES INC AD9389B DRIVER
858M: Hans Verkuil <hans.verkuil@cisco.com>913M: Hans Verkuil <hans.verkuil@cisco.com>
859L: linux-media@vger.kernel.org914L: linux-media@vger.kernel.org
@@ -926,6 +981,7 @@ F: drivers/dma/dma-axi-dmac.c
926ANALOG DEVICES INC IIO DRIVERS981ANALOG DEVICES INC IIO DRIVERS
927M: Lars-Peter Clausen <lars@metafoo.de>982M: Lars-Peter Clausen <lars@metafoo.de>
928M: Michael Hennerich <Michael.Hennerich@analog.com>983M: Michael Hennerich <Michael.Hennerich@analog.com>
984M: Stefan Popa <stefan.popa@analog.com>
929W: http://wiki.analog.com/985W: http://wiki.analog.com/
930W: http://ez.analog.com/community/linux-device-drivers986W: http://ez.analog.com/community/linux-device-drivers
931S: Supported987S: Supported
@@ -936,10 +992,16 @@ F: drivers/iio/adc/ltc2497*
936X: drivers/iio/*/adjd*992X: drivers/iio/*/adjd*
937F: drivers/staging/iio/*/ad*993F: drivers/staging/iio/*/ad*
938994
995ANALOGBITS PLL LIBRARIES
996M: Paul Walmsley <paul.walmsley@sifive.com>
997S: Supported
998F: drivers/clk/analogbits/*
999F: include/linux/clk/analogbits*
1000
939ANDES ARCHITECTURE1001ANDES ARCHITECTURE
940M: Greentime Hu <green.hu@gmail.com>1002M: Greentime Hu <green.hu@gmail.com>
941M: Vincent Chen <deanbo422@gmail.com>1003M: Vincent Chen <deanbo422@gmail.com>
942T: git https://github.com/andestech/linux.git1004T: git https://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux.git
943S: Supported1005S: Supported
944F: arch/nds32/1006F: arch/nds32/
945F: Documentation/devicetree/bindings/interrupt-controller/andestech,ativic32.txt1007F: Documentation/devicetree/bindings/interrupt-controller/andestech,ativic32.txt
@@ -1035,28 +1097,30 @@ L: netdev@vger.kernel.org
1035S: Odd fixes1097S: Odd fixes
1036F: drivers/net/appletalk/1098F: drivers/net/appletalk/
1037F: net/appletalk/1099F: net/appletalk/
1100F: include/linux/atalk.h
1101F: include/uapi/linux/atalk.h
10381102
1039APPLIED MICRO (APM) X-GENE DEVICE TREE SUPPORT1103APPLIED MICRO (APM) X-GENE DEVICE TREE SUPPORT
1040M: Duc Dang <dhdang@apm.com>1104M: Khuong Dinh <khuong@os.amperecomputing.com>
1041S: Supported1105S: Supported
1042F: arch/arm64/boot/dts/apm/1106F: arch/arm64/boot/dts/apm/
10431107
1044APPLIED MICRO (APM) X-GENE SOC EDAC1108APPLIED MICRO (APM) X-GENE SOC EDAC
1045M: Loc Ho <lho@apm.com>1109M: Khuong Dinh <khuong@os.amperecomputing.com>
1046S: Supported1110S: Supported
1047F: drivers/edac/xgene_edac.c1111F: drivers/edac/xgene_edac.c
1048F: Documentation/devicetree/bindings/edac/apm-xgene-edac.txt1112F: Documentation/devicetree/bindings/edac/apm-xgene-edac.txt
10491113
1050APPLIED MICRO (APM) X-GENE SOC ETHERNET (V2) DRIVER1114APPLIED MICRO (APM) X-GENE SOC ETHERNET (V2) DRIVER
1051M: Iyappan Subramanian <isubramanian@apm.com>1115M: Iyappan Subramanian <iyappan@os.amperecomputing.com>
1052M: Keyur Chudgar <kchudgar@apm.com>1116M: Keyur Chudgar <keyur@os.amperecomputing.com>
1053S: Supported1117S: Supported
1054F: drivers/net/ethernet/apm/xgene-v2/1118F: drivers/net/ethernet/apm/xgene-v2/
10551119
1056APPLIED MICRO (APM) X-GENE SOC ETHERNET DRIVER1120APPLIED MICRO (APM) X-GENE SOC ETHERNET DRIVER
1057M: Iyappan Subramanian <isubramanian@apm.com>1121M: Iyappan Subramanian <iyappan@os.amperecomputing.com>
1058M: Keyur Chudgar <kchudgar@apm.com>1122M: Keyur Chudgar <keyur@os.amperecomputing.com>
1059M: Quan Nguyen <qnguyen@apm.com>1123M: Quan Nguyen <quan@os.amperecomputing.com>
1060S: Supported1124S: Supported
1061F: drivers/net/ethernet/apm/xgene/1125F: drivers/net/ethernet/apm/xgene/
1062F: drivers/net/phy/mdio-xgene.c1126F: drivers/net/phy/mdio-xgene.c
@@ -1064,7 +1128,7 @@ F: Documentation/devicetree/bindings/net/apm-xgene-enet.txt
1064F: Documentation/devicetree/bindings/net/apm-xgene-mdio.txt1128F: Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
10651129
1066APPLIED MICRO (APM) X-GENE SOC PMU1130APPLIED MICRO (APM) X-GENE SOC PMU
1067M: Tai Nguyen <ttnguyen@apm.com>1131M: Khuong Dinh <khuong@os.amperecomputing.com>
1068S: Supported1132S: Supported
1069F: drivers/perf/xgene_pmu.c1133F: drivers/perf/xgene_pmu.c
1070F: Documentation/perf/xgene-pmu.txt1134F: Documentation/perf/xgene-pmu.txt
@@ -1111,6 +1175,7 @@ S: Maintained
1111F: Documentation/devicetree/bindings/arm/arm-boards1175F: Documentation/devicetree/bindings/arm/arm-boards
1112F: Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt1176F: Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt
1113F: Documentation/devicetree/bindings/clock/arm-integrator.txt1177F: Documentation/devicetree/bindings/clock/arm-integrator.txt
1178F: Documentation/devicetree/bindings/i2c/i2c-versatile.txt
1114F: Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt1179F: Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt
1115F: Documentation/devicetree/bindings/mtd/arm-versatile.txt1180F: Documentation/devicetree/bindings/mtd/arm-versatile.txt
1116F: arch/arm/mach-integrator/1181F: arch/arm/mach-integrator/
@@ -1133,13 +1198,35 @@ S: Supported
1133F: drivers/gpu/drm/arm/hdlcd_*1198F: drivers/gpu/drm/arm/hdlcd_*
1134F: Documentation/devicetree/bindings/display/arm,hdlcd.txt1199F: Documentation/devicetree/bindings/display/arm,hdlcd.txt
11351200
1201ARM KOMEDA DRM-KMS DRIVER
1202M: James (Qian) Wang <james.qian.wang@arm.com>
1203M: Liviu Dudau <liviu.dudau@arm.com>
1204L: Mali DP Maintainers <malidp@foss.arm.com>
1205S: Supported
1206T: git git://linux-arm.org/linux-ld.git for-upstream/mali-dp
1207F: drivers/gpu/drm/arm/display/include/
1208F: drivers/gpu/drm/arm/display/komeda/
1209F: Documentation/devicetree/bindings/display/arm,komeda.txt
1210F: Documentation/gpu/komeda-kms.rst
1211
1136ARM MALI-DP DRM DRIVER1212ARM MALI-DP DRM DRIVER
1137M: Liviu Dudau <liviu.dudau@arm.com>1213M: Liviu Dudau <liviu.dudau@arm.com>
1138M: Brian Starkey <brian.starkey@arm.com>1214M: Brian Starkey <brian.starkey@arm.com>
1139M: Mali DP Maintainers <malidp@foss.arm.com>1215L: Mali DP Maintainers <malidp@foss.arm.com>
1140S: Supported1216S: Supported
1217T: git git://linux-arm.org/linux-ld.git for-upstream/mali-dp
1141F: drivers/gpu/drm/arm/1218F: drivers/gpu/drm/arm/
1142F: Documentation/devicetree/bindings/display/arm,malidp.txt1219F: Documentation/devicetree/bindings/display/arm,malidp.txt
1220F: Documentation/gpu/afbc.rst
1221
1222ARM MALI PANFROST DRM DRIVER
1223M: Rob Herring <robh@kernel.org>
1224M: Tomeu Vizoso <tomeu.vizoso@collabora.com>
1225L: dri-devel@lists.freedesktop.org
1226S: Supported
1227T: git git://anongit.freedesktop.org/drm/drm-misc
1228F: drivers/gpu/drm/panfrost/
1229F: include/uapi/drm/panfrost_drm.h
11431230
1144ARM MFM AND FLOPPY DRIVERS1231ARM MFM AND FLOPPY DRIVERS
1145M: Ian Molton <spyro@f2s.com>1232M: Ian Molton <spyro@f2s.com>
@@ -1148,7 +1235,7 @@ F: arch/arm/lib/floppydma.S
1148F: arch/arm/include/asm/floppy.h1235F: arch/arm/include/asm/floppy.h
11491236
1150ARM PMU PROFILING AND DEBUGGING1237ARM PMU PROFILING AND DEBUGGING
1151M: Will Deacon <will.deacon@arm.com>1238M: Will Deacon <will@kernel.org>
1152M: Mark Rutland <mark.rutland@arm.com>1239M: Mark Rutland <mark.rutland@arm.com>
1153S: Maintained1240S: Maintained
1154L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1241L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -1159,7 +1246,7 @@ F: arch/arm*/include/asm/hw_breakpoint.h
1159F: arch/arm*/include/asm/perf_event.h1246F: arch/arm*/include/asm/perf_event.h
1160F: drivers/perf/*1247F: drivers/perf/*
1161F: include/linux/perf/arm_pmu.h1248F: include/linux/perf/arm_pmu.h
1162F: Documentation/devicetree/bindings/arm/pmu.txt1249F: Documentation/devicetree/bindings/arm/pmu.yaml
1163F: Documentation/devicetree/bindings/perf/1250F: Documentation/devicetree/bindings/perf/
11641251
1165ARM PORT1252ARM PORT
@@ -1220,7 +1307,7 @@ F: Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt
1220F: drivers/irqchip/irq-vic.c1307F: drivers/irqchip/irq-vic.c
12211308
1222ARM SMMU DRIVERS1309ARM SMMU DRIVERS
1223M: Will Deacon <will.deacon@arm.com>1310M: Will Deacon <will@kernel.org>
1224R: Robin Murphy <robin.murphy@arm.com>1311R: Robin Murphy <robin.murphy@arm.com>
1225L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1312L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1226S: Maintained1313S: Maintained
@@ -1372,6 +1459,15 @@ F: arch/arm/mach-aspeed/
1372F: arch/arm/boot/dts/aspeed-*1459F: arch/arm/boot/dts/aspeed-*
1373N: aspeed1460N: aspeed
13741461
1462ARM/BITMAIN ARCHITECTURE
1463M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
1464L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1465S: Maintained
1466F: arch/arm64/boot/dts/bitmain/
1467F: drivers/pinctrl/pinctrl-bm1880.c
1468F: Documentation/devicetree/bindings/arm/bitmain.yaml
1469F: Documentation/devicetree/bindings/pinctrl/bitmain,bm1880-pinctrl.txt
1470
1375ARM/CALXEDA HIGHBANK ARCHITECTURE1471ARM/CALXEDA HIGHBANK ARCHITECTURE
1376M: Rob Herring <robh@kernel.org>1472M: Rob Herring <robh@kernel.org>
1377L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1473L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -1531,21 +1627,14 @@ ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
1531M: Shawn Guo <shawnguo@kernel.org>1627M: Shawn Guo <shawnguo@kernel.org>
1532M: Sascha Hauer <s.hauer@pengutronix.de>1628M: Sascha Hauer <s.hauer@pengutronix.de>
1533R: Pengutronix Kernel Team <kernel@pengutronix.de>1629R: Pengutronix Kernel Team <kernel@pengutronix.de>
1534R: Fabio Estevam <fabio.estevam@nxp.com>1630R: Fabio Estevam <festevam@gmail.com>
1535R: NXP Linux Team <linux-imx@nxp.com>1631R: NXP Linux Team <linux-imx@nxp.com>
1536L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1632L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1537S: Maintained1633S: Maintained
1538T: git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git1634T: git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
1539F: arch/arm/mach-imx/1635N: imx
1540F: arch/arm/mach-mxs/1636N: mxs
1541F: arch/arm/boot/dts/imx*1637X: drivers/media/i2c/
1542F: arch/arm/configs/imx*_defconfig
1543F: arch/arm64/boot/dts/freescale/imx*
1544F: drivers/clk/imx/
1545F: drivers/firmware/imx/
1546F: drivers/soc/imx/
1547F: include/linux/firmware/imx/
1548F: include/soc/imx/
15491638
1550ARM/FREESCALE VYBRID ARM ARCHITECTURE1639ARM/FREESCALE VYBRID ARM ARCHITECTURE
1551M: Shawn Guo <shawnguo@kernel.org>1640M: Shawn Guo <shawnguo@kernel.org>
@@ -1646,11 +1735,21 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1646S: Maintained1735S: Maintained
16471736
1648ARM/INTEL IXP4XX ARM ARCHITECTURE1737ARM/INTEL IXP4XX ARM ARCHITECTURE
1738M: Linus Walleij <linusw@kernel.org>
1649M: Imre Kaloz <kaloz@openwrt.org>1739M: Imre Kaloz <kaloz@openwrt.org>
1650M: Krzysztof Halasa <khalasa@piap.pl>1740M: Krzysztof Halasa <khalasa@piap.pl>
1651L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1741L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1652S: Maintained1742S: Maintained
1743F: Documentation/devicetree/bindings/arm/intel-ixp4xx.yaml
1744F: Documentation/devicetree/bindings/gpio/intel,ixp4xx-gpio.txt
1745F: Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml
1746F: Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
1653F: arch/arm/mach-ixp4xx/1747F: arch/arm/mach-ixp4xx/
1748F: drivers/clocksource/timer-ixp4xx.c
1749F: drivers/gpio/gpio-ixp4xx.c
1750F: drivers/irqchip/irq-ixp4xx.c
1751F: include/linux/irqchip/irq-ixp4xx.h
1752F: include/linux/platform_data/timer-ixp4xx.h
16541753
1655ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT1754ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT
1656M: Jonathan Cameron <jic23@cam.ac.uk>1755M: Jonathan Cameron <jic23@cam.ac.uk>
@@ -1684,6 +1783,7 @@ ARM/LPC18XX ARCHITECTURE
1684M: Vladimir Zapolskiy <vz@mleia.com>1783M: Vladimir Zapolskiy <vz@mleia.com>
1685L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1784L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1686S: Maintained1785S: Maintained
1786F: Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt
1687F: arch/arm/boot/dts/lpc43*1787F: arch/arm/boot/dts/lpc43*
1688F: drivers/i2c/busses/i2c-lpc2k.c1788F: drivers/i2c/busses/i2c-lpc2k.c
1689F: drivers/memory/pl172.c1789F: drivers/memory/pl172.c
@@ -1697,6 +1797,7 @@ M: Sylvain Lemieux <slemieux.tyco@gmail.com>
1697L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1797L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1698T: git git://github.com/vzapolskiy/linux-lpc32xx.git1798T: git git://github.com/vzapolskiy/linux-lpc32xx.git
1699S: Maintained1799S: Maintained
1800F: Documentation/devicetree/bindings/i2c/i2c-pnx.txt
1700F: arch/arm/boot/dts/lpc32*1801F: arch/arm/boot/dts/lpc32*
1701F: arch/arm/mach-lpc32xx/1802F: arch/arm/mach-lpc32xx/
1702F: drivers/i2c/busses/i2c-pnx.c1803F: drivers/i2c/busses/i2c-pnx.c
@@ -1737,6 +1838,7 @@ F: arch/arm/configs/mvebu_*_defconfig
1737F: arch/arm/mach-mvebu/1838F: arch/arm/mach-mvebu/
1738F: arch/arm64/boot/dts/marvell/armada*1839F: arch/arm64/boot/dts/marvell/armada*
1739F: drivers/cpufreq/armada-37xx-cpufreq.c1840F: drivers/cpufreq/armada-37xx-cpufreq.c
1841F: drivers/cpufreq/armada-8k-cpufreq.c
1740F: drivers/cpufreq/mvebu-cpufreq.c1842F: drivers/cpufreq/mvebu-cpufreq.c
1741F: drivers/irqchip/irq-armada-370-xp.c1843F: drivers/irqchip/irq-armada-370-xp.c
1742F: drivers/irqchip/irq-mvebu-*1844F: drivers/irqchip/irq-mvebu-*
@@ -1820,6 +1922,8 @@ ARM/NOMADIK/U300/Ux500 ARCHITECTURES
1820M: Linus Walleij <linus.walleij@linaro.org>1922M: Linus Walleij <linus.walleij@linaro.org>
1821L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1923L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1822S: Maintained1924S: Maintained
1925F: Documentation/devicetree/bindings/i2c/i2c-nomadik.txt
1926F: Documentation/devicetree/bindings/i2c/i2c-stu300.txt
1823F: arch/arm/mach-nomadik/1927F: arch/arm/mach-nomadik/
1824F: arch/arm/mach-u300/1928F: arch/arm/mach-u300/
1825F: arch/arm/mach-ux500/1929F: arch/arm/mach-ux500/
@@ -1853,14 +1957,15 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
1853ARM/NUVOTON NPCM ARCHITECTURE1957ARM/NUVOTON NPCM ARCHITECTURE
1854M: Avi Fishman <avifishman70@gmail.com>1958M: Avi Fishman <avifishman70@gmail.com>
1855M: Tomer Maimon <tmaimon77@gmail.com>1959M: Tomer Maimon <tmaimon77@gmail.com>
1960M: Tali Perry <tali.perry1@gmail.com>
1856R: Patrick Venture <venture@google.com>1961R: Patrick Venture <venture@google.com>
1857R: Nancy Yuen <yuenn@google.com>1962R: Nancy Yuen <yuenn@google.com>
1858R: Brendan Higgins <brendanhiggins@google.com>1963R: Benjamin Fair <benjaminfair@google.com>
1859L: openbmc@lists.ozlabs.org (moderated for non-subscribers)1964L: openbmc@lists.ozlabs.org (moderated for non-subscribers)
1860S: Supported1965S: Supported
1861F: arch/arm/mach-npcm/1966F: arch/arm/mach-npcm/
1862F: arch/arm/boot/dts/nuvoton-npcm*1967F: arch/arm/boot/dts/nuvoton-npcm*
1863F: include/dt-bindings/clock/nuvoton,npcm7xx-clks.h1968F: include/dt-bindings/clock/nuvoton,npcm7xx-clock.h
1864F: drivers/*/*npcm*1969F: drivers/*/*npcm*
1865F: Documentation/devicetree/bindings/*/*npcm*1970F: Documentation/devicetree/bindings/*/*npcm*
1866F: Documentation/devicetree/bindings/*/*/*npcm*1971F: Documentation/devicetree/bindings/*/*/*npcm*
@@ -1882,10 +1987,11 @@ F: drivers/usb/host/ehci-w90x900.c
1882F: drivers/video/fbdev/nuc900fb.c1987F: drivers/video/fbdev/nuc900fb.c
18831988
1884ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT1989ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
1885M: Nelson Castillo <arhuaco@freaks-unidos.net>
1886L: openmoko-kernel@lists.openmoko.org (subscribers-only)1990L: openmoko-kernel@lists.openmoko.org (subscribers-only)
1887W: http://wiki.openmoko.org/wiki/Neo_FreeRunner1991W: http://wiki.openmoko.org/wiki/Neo_FreeRunner
1888S: Supported1992S: Orphan
1993F: arch/arm/mach-s3c24xx/mach-gta02.c
1994F: arch/arm/mach-s3c24xx/gta02.h
18891995
1890ARM/Orion SoC/Technologic Systems TS-78xx platform support1996ARM/Orion SoC/Technologic Systems TS-78xx platform support
1891M: Alexander Clouter <alex@digriz.org.uk>1997M: Alexander Clouter <alex@digriz.org.uk>
@@ -1943,25 +2049,43 @@ W: http://www.armlinux.org.uk/
1943S: Maintained2049S: Maintained
19442050
1945ARM/QUALCOMM SUPPORT2051ARM/QUALCOMM SUPPORT
1946M: Andy Gross <andy.gross@linaro.org>2052M: Andy Gross <agross@kernel.org>
1947M: David Brown <david.brown@linaro.org>2053M: David Brown <david.brown@linaro.org>
1948L: linux-arm-msm@vger.kernel.org2054L: linux-arm-msm@vger.kernel.org
1949S: Maintained2055S: Maintained
1950F: Documentation/devicetree/bindings/soc/qcom/2056F: Documentation/devicetree/bindings/soc/qcom/
2057F: Documentation/devicetree/bindings/*/qcom*
1951F: arch/arm/boot/dts/qcom-*.dts2058F: arch/arm/boot/dts/qcom-*.dts
1952F: arch/arm/boot/dts/qcom-*.dtsi2059F: arch/arm/boot/dts/qcom-*.dtsi
1953F: arch/arm/mach-qcom/2060F: arch/arm/mach-qcom/
1954F: arch/arm64/boot/dts/qcom/*2061F: arch/arm64/boot/dts/qcom/
2062F: drivers/*/qcom/
2063F: drivers/*/qcom*
2064F: drivers/*/*/qcom/
2065F: drivers/*/*/qcom*
2066F: drivers/*/pm8???-*
2067F: drivers/bluetooth/btqcomsmd.c
2068F: drivers/clocksource/timer-qcom.c
2069F: drivers/extcon/extcon-qcom*
2070F: drivers/iommu/msm*
1955F: drivers/i2c/busses/i2c-qup.c2071F: drivers/i2c/busses/i2c-qup.c
1956F: drivers/clk/qcom/2072F: drivers/i2c/busses/i2c-qcom-geni.c
1957F: drivers/dma/qcom/2073F: drivers/mfd/ssbi.c
1958F: drivers/soc/qcom/2074F: drivers/mmc/host/mmci_qcom*
2075F: drivers/mmc/host/sdhci_msm.c
2076F: drivers/pci/controller/dwc/pcie-qcom.c
2077F: drivers/phy/qualcomm/
2078F: drivers/power/*/msm*
2079F: drivers/reset/reset-qcom-*
2080F: drivers/scsi/ufs/ufs-qcom.*
1959F: drivers/spi/spi-qup.c2081F: drivers/spi/spi-qup.c
2082F: drivers/spi/spi-geni-qcom.c
2083F: drivers/spi/spi-qcom-qspi.c
1960F: drivers/tty/serial/msm_serial.c2084F: drivers/tty/serial/msm_serial.c
1961F: drivers/*/pm8???-*2085F: drivers/usb/dwc3/dwc3-qcom.c
1962F: drivers/mfd/ssbi.c2086F: include/dt-bindings/*/qcom*
1963F: drivers/firmware/qcom_scm*2087F: include/linux/*/qcom*
1964T: git git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux.git2088T: git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
19652089
1966ARM/RADISYS ENP2611 MACHINE SUPPORT2090ARM/RADISYS ENP2611 MACHINE SUPPORT
1967M: Lennert Buytenhek <kernel@wantstofly.org>2091M: Lennert Buytenhek <kernel@wantstofly.org>
@@ -1997,7 +2121,7 @@ Q: http://patchwork.kernel.org/project/linux-renesas-soc/list/
1997T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next2121T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
1998S: Supported2122S: Supported
1999F: arch/arm64/boot/dts/renesas/2123F: arch/arm64/boot/dts/renesas/
2000F: Documentation/devicetree/bindings/arm/shmobile.txt2124F: Documentation/devicetree/bindings/arm/renesas.yaml
2001F: drivers/soc/renesas/2125F: drivers/soc/renesas/
2002F: include/linux/soc/renesas/2126F: include/linux/soc/renesas/
20032127
@@ -2022,6 +2146,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2022L: linux-rockchip@lists.infradead.org2146L: linux-rockchip@lists.infradead.org
2023T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git2147T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
2024S: Maintained2148S: Maintained
2149F: Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
2025F: arch/arm/boot/dts/rk3*2150F: arch/arm/boot/dts/rk3*
2026F: arch/arm/boot/dts/rv1108*2151F: arch/arm/boot/dts/rv1108*
2027F: arch/arm/mach-rockchip/2152F: arch/arm/mach-rockchip/
@@ -2084,8 +2209,9 @@ F: drivers/media/platform/s5p-cec/
2084F: Documentation/devicetree/bindings/media/s5p-cec.txt2209F: Documentation/devicetree/bindings/media/s5p-cec.txt
20852210
2086ARM/SAMSUNG S5P SERIES JPEG CODEC SUPPORT2211ARM/SAMSUNG S5P SERIES JPEG CODEC SUPPORT
2087M: Andrzej Pietrasiewicz <andrzej.p@samsung.com>2212M: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
2088M: Jacek Anaszewski <jacek.anaszewski@gmail.com>2213M: Jacek Anaszewski <jacek.anaszewski@gmail.com>
2214M: Sylwester Nawrocki <s.nawrocki@samsung.com>
2089L: linux-arm-kernel@lists.infradead.org2215L: linux-arm-kernel@lists.infradead.org
2090L: linux-media@vger.kernel.org2216L: linux-media@vger.kernel.org
2091S: Maintained2217S: Maintained
@@ -2109,6 +2235,8 @@ Q: http://patchwork.kernel.org/project/linux-renesas-soc/list/
2109T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next2235T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
2110S: Supported2236S: Supported
2111F: arch/arm/boot/dts/emev2*2237F: arch/arm/boot/dts/emev2*
2238F: arch/arm/boot/dts/gr-peach*
2239F: arch/arm/boot/dts/iwg20d-q7*
2112F: arch/arm/boot/dts/r7s*2240F: arch/arm/boot/dts/r7s*
2113F: arch/arm/boot/dts/r8a*2241F: arch/arm/boot/dts/r8a*
2114F: arch/arm/boot/dts/r9a*2242F: arch/arm/boot/dts/r9a*
@@ -2116,7 +2244,7 @@ F: arch/arm/boot/dts/sh*
2116F: arch/arm/configs/shmobile_defconfig2244F: arch/arm/configs/shmobile_defconfig
2117F: arch/arm/include/debug/renesas-scif.S2245F: arch/arm/include/debug/renesas-scif.S
2118F: arch/arm/mach-shmobile/2246F: arch/arm/mach-shmobile/
2119F: Documentation/devicetree/bindings/arm/shmobile.txt2247F: Documentation/devicetree/bindings/arm/renesas.yaml
2120F: drivers/soc/renesas/2248F: drivers/soc/renesas/
2121F: include/linux/soc/renesas/2249F: include/linux/soc/renesas/
21222250
@@ -2127,6 +2255,7 @@ F: arch/arm/mach-socfpga/
2127F: arch/arm/boot/dts/socfpga*2255F: arch/arm/boot/dts/socfpga*
2128F: arch/arm/configs/socfpga_defconfig2256F: arch/arm/configs/socfpga_defconfig
2129F: arch/arm64/boot/dts/altera/2257F: arch/arm64/boot/dts/altera/
2258F: arch/arm64/boot/dts/intel/
2130W: http://www.rocketboards.org2259W: http://www.rocketboards.org
2131T: git git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git2260T: git git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git
21322261
@@ -2153,6 +2282,7 @@ M: Patrice Chotard <patrice.chotard@st.com>
2153L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)2282L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2154W: http://www.stlinux.com2283W: http://www.stlinux.com
2155S: Maintained2284S: Maintained
2285F: Documentation/devicetree/bindings/i2c/i2c-st.txt
2156F: arch/arm/mach-sti/2286F: arch/arm/mach-sti/
2157F: arch/arm/boot/dts/sti*2287F: arch/arm/boot/dts/sti*
2158F: drivers/char/hw_random/st-rng.c2288F: drivers/char/hw_random/st-rng.c
@@ -2294,7 +2424,7 @@ F: arch/arm/mm/cache-uniphier.c
2294F: arch/arm64/boot/dts/socionext/uniphier*2424F: arch/arm64/boot/dts/socionext/uniphier*
2295F: drivers/bus/uniphier-system-bus.c2425F: drivers/bus/uniphier-system-bus.c
2296F: drivers/clk/uniphier/2426F: drivers/clk/uniphier/
2297F: drivers/dmaengine/uniphier-mdmac.c2427F: drivers/dma/uniphier-mdmac.c
2298F: drivers/gpio/gpio-uniphier.c2428F: drivers/gpio/gpio-uniphier.c
2299F: drivers/i2c/busses/i2c-uniphier*2429F: drivers/i2c/busses/i2c-uniphier*
2300F: drivers/irqchip/irq-uniphier-aidet.c2430F: drivers/irqchip/irq-uniphier-aidet.c
@@ -2344,6 +2474,7 @@ ARM/VT8500 ARM ARCHITECTURE
2344M: Tony Prisk <linux@prisktech.co.nz>2474M: Tony Prisk <linux@prisktech.co.nz>
2345L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)2475L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2346S: Maintained2476S: Maintained
2477F: Documentation/devicetree/bindings/i2c/i2c-wmt.txt
2347F: arch/arm/mach-vt8500/2478F: arch/arm/mach-vt8500/
2348F: drivers/clocksource/timer-vt8500.c2479F: drivers/clocksource/timer-vt8500.c
2349F: drivers/i2c/busses/i2c-wmt.c2480F: drivers/i2c/busses/i2c-wmt.c
@@ -2409,6 +2540,8 @@ F: drivers/cpuidle/cpuidle-zynq.c
2409F: drivers/block/xsysace.c2540F: drivers/block/xsysace.c
2410N: zynq2541N: zynq
2411N: xilinx2542N: xilinx
2543F: Documentation/devicetree/bindings/i2c/i2c-cadence.txt
2544F: Documentation/devicetree/bindings/i2c/i2c-xiic.txt
2412F: drivers/clocksource/timer-cadence-ttc.c2545F: drivers/clocksource/timer-cadence-ttc.c
2413F: drivers/i2c/busses/i2c-cadence.c2546F: drivers/i2c/busses/i2c-cadence.c
2414F: drivers/mmc/host/sdhci-of-arasan.c2547F: drivers/mmc/host/sdhci-of-arasan.c
@@ -2417,7 +2550,7 @@ F: drivers/i2c/busses/i2c-xiic.c
24172550
2418ARM64 PORT (AARCH64 ARCHITECTURE)2551ARM64 PORT (AARCH64 ARCHITECTURE)
2419M: Catalin Marinas <catalin.marinas@arm.com>2552M: Catalin Marinas <catalin.marinas@arm.com>
2420M: Will Deacon <will.deacon@arm.com>2553M: Will Deacon <will@kernel.org>
2421L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)2554L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2422T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git2555T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
2423S: Maintained2556S: Maintained
@@ -2450,7 +2583,7 @@ ASC7621 HARDWARE MONITOR DRIVER
2450M: George Joseph <george.joseph@fairview5.com>2583M: George Joseph <george.joseph@fairview5.com>
2451L: linux-hwmon@vger.kernel.org2584L: linux-hwmon@vger.kernel.org
2452S: Maintained2585S: Maintained
2453F: Documentation/hwmon/asc76212586F: Documentation/hwmon/asc7621.rst
2454F: drivers/hwmon/asc7621.c2587F: drivers/hwmon/asc7621.c
24552588
2456ASPEED VIDEO ENGINE DRIVER2589ASPEED VIDEO ENGINE DRIVER
@@ -2497,16 +2630,15 @@ F: include/linux/dmaengine.h
2497F: include/linux/async_tx.h2630F: include/linux/async_tx.h
24982631
2499AT24 EEPROM DRIVER2632AT24 EEPROM DRIVER
2500M: Bartosz Golaszewski <brgl@bgdev.pl>2633M: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2501L: linux-i2c@vger.kernel.org2634L: linux-i2c@vger.kernel.org
2502T: git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git2635T: git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
2503S: Maintained2636S: Maintained
2504F: Documentation/devicetree/bindings/eeprom/at24.txt2637F: Documentation/devicetree/bindings/eeprom/at24.txt
2505F: drivers/misc/eeprom/at24.c2638F: drivers/misc/eeprom/at24.c
2506F: include/linux/platform_data/at24.h
25072639
2508ATA OVER ETHERNET (AOE) DRIVER2640ATA OVER ETHERNET (AOE) DRIVER
2509M: "Ed L. Cashin" <ed.cashin@acm.org>2641M: "Justin Sanders" <justin@coraid.com>
2510W: http://www.openaoe.org/2642W: http://www.openaoe.org/
2511S: Supported2643S: Supported
2512F: Documentation/aoe/2644F: Documentation/aoe/
@@ -2602,13 +2734,14 @@ S: Maintained
2602F: drivers/net/wireless/atmel/atmel*2734F: drivers/net/wireless/atmel/atmel*
26032735
2604ATOMIC INFRASTRUCTURE2736ATOMIC INFRASTRUCTURE
2605M: Will Deacon <will.deacon@arm.com>2737M: Will Deacon <will@kernel.org>
2606M: Peter Zijlstra <peterz@infradead.org>2738M: Peter Zijlstra <peterz@infradead.org>
2607R: Boqun Feng <boqun.feng@gmail.com>2739R: Boqun Feng <boqun.feng@gmail.com>
2608L: linux-kernel@vger.kernel.org2740L: linux-kernel@vger.kernel.org
2609S: Maintained2741S: Maintained
2610F: arch/*/include/asm/atomic*.h2742F: arch/*/include/asm/atomic*.h
2611F: include/*/atomic*.h2743F: include/*/atomic*.h
2744F: scripts/atomic/
26122745
2613ATTO EXPRESSSAS SAS/SATA RAID SCSI DRIVER2746ATTO EXPRESSSAS SAS/SATA RAID SCSI DRIVER
2614M: Bradley Grove <linuxdrivers@attotech.com>2747M: Bradley Grove <linuxdrivers@attotech.com>
@@ -2646,7 +2779,7 @@ AVIA HX711 ANALOG DIGITAL CONVERTER IIO DRIVER
2646M: Andreas Klinger <ak@it-klinger.de>2779M: Andreas Klinger <ak@it-klinger.de>
2647L: linux-iio@vger.kernel.org2780L: linux-iio@vger.kernel.org
2648S: Maintained2781S: Maintained
2649F: Documentation/devicetree/bindings/iio/adc/avia-hx711.txt2782F: Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
2650F: drivers/iio/adc/hx711.c2783F: drivers/iio/adc/hx711.c
26512784
2652AX.25 NETWORK LAYER2785AX.25 NETWORK LAYER
@@ -2731,10 +2864,13 @@ M: Simon Wunderlich <sw@simonwunderlich.de>
2731M: Antonio Quartulli <a@unstable.cc>2864M: Antonio Quartulli <a@unstable.cc>
2732L: b.a.t.m.a.n@lists.open-mesh.org (moderated for non-subscribers)2865L: b.a.t.m.a.n@lists.open-mesh.org (moderated for non-subscribers)
2733W: https://www.open-mesh.org/2866W: https://www.open-mesh.org/
2867B: https://www.open-mesh.org/projects/batman-adv/issues
2868C: irc://chat.freenode.net/batman
2734Q: https://patchwork.open-mesh.org/project/batman/list/2869Q: https://patchwork.open-mesh.org/project/batman/list/
2870T: git https://git.open-mesh.org/linux-merge.git
2735S: Maintained2871S: Maintained
2736F: Documentation/ABI/testing/sysfs-class-net-batman-adv2872F: Documentation/ABI/obsolete/sysfs-class-net-batman-adv
2737F: Documentation/ABI/testing/sysfs-class-net-mesh2873F: Documentation/ABI/obsolete/sysfs-class-net-mesh
2738F: Documentation/networking/batman-adv.rst2874F: Documentation/networking/batman-adv.rst
2739F: include/uapi/linux/batadv_packet.h2875F: include/uapi/linux/batadv_packet.h
2740F: include/uapi/linux/batman_adv.h2876F: include/uapi/linux/batman_adv.h
@@ -2848,8 +2984,11 @@ F: include/uapi/linux/if_bonding.h
2848BPF (Safe dynamic programs and tools)2984BPF (Safe dynamic programs and tools)
2849M: Alexei Starovoitov <ast@kernel.org>2985M: Alexei Starovoitov <ast@kernel.org>
2850M: Daniel Borkmann <daniel@iogearbox.net>2986M: Daniel Borkmann <daniel@iogearbox.net>
2987R: Martin KaFai Lau <kafai@fb.com>
2988R: Song Liu <songliubraving@fb.com>
2989R: Yonghong Song <yhs@fb.com>
2851L: netdev@vger.kernel.org2990L: netdev@vger.kernel.org
2852L: linux-kernel@vger.kernel.org2991L: bpf@vger.kernel.org
2853T: git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git2992T: git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
2854T: git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git2993T: git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
2855Q: https://patchwork.ozlabs.org/project/netdev/list/?delegate=771472994Q: https://patchwork.ozlabs.org/project/netdev/list/?delegate=77147
@@ -2873,10 +3012,13 @@ F: samples/bpf/
2873F: tools/bpf/3012F: tools/bpf/
2874F: tools/lib/bpf/3013F: tools/lib/bpf/
2875F: tools/testing/selftests/bpf/3014F: tools/testing/selftests/bpf/
3015K: bpf
3016N: bpf
28763017
2877BPF JIT for ARM3018BPF JIT for ARM
2878M: Shubham Bansal <illusionist.neo@gmail.com>3019M: Shubham Bansal <illusionist.neo@gmail.com>
2879L: netdev@vger.kernel.org3020L: netdev@vger.kernel.org
3021L: bpf@vger.kernel.org
2880S: Maintained3022S: Maintained
2881F: arch/arm/net/3023F: arch/arm/net/
28823024
@@ -2885,18 +3027,21 @@ M: Daniel Borkmann <daniel@iogearbox.net>
2885M: Alexei Starovoitov <ast@kernel.org>3027M: Alexei Starovoitov <ast@kernel.org>
2886M: Zi Shen Lim <zlim.lnx@gmail.com>3028M: Zi Shen Lim <zlim.lnx@gmail.com>
2887L: netdev@vger.kernel.org3029L: netdev@vger.kernel.org
3030L: bpf@vger.kernel.org
2888S: Supported3031S: Supported
2889F: arch/arm64/net/3032F: arch/arm64/net/
28903033
2891BPF JIT for MIPS (32-BIT AND 64-BIT)3034BPF JIT for MIPS (32-BIT AND 64-BIT)
2892M: Paul Burton <paul.burton@mips.com>3035M: Paul Burton <paul.burton@mips.com>
2893L: netdev@vger.kernel.org3036L: netdev@vger.kernel.org
3037L: bpf@vger.kernel.org
2894S: Maintained3038S: Maintained
2895F: arch/mips/net/3039F: arch/mips/net/
28963040
2897BPF JIT for NFP NICs3041BPF JIT for NFP NICs
2898M: Jakub Kicinski <jakub.kicinski@netronome.com>3042M: Jakub Kicinski <jakub.kicinski@netronome.com>
2899L: netdev@vger.kernel.org3043L: netdev@vger.kernel.org
3044L: bpf@vger.kernel.org
2900S: Supported3045S: Supported
2901F: drivers/net/ethernet/netronome/nfp/bpf/3046F: drivers/net/ethernet/netronome/nfp/bpf/
29023047
@@ -2904,13 +3049,22 @@ BPF JIT for POWERPC (32-BIT AND 64-BIT)
2904M: Naveen N. Rao <naveen.n.rao@linux.ibm.com>3049M: Naveen N. Rao <naveen.n.rao@linux.ibm.com>
2905M: Sandipan Das <sandipan@linux.ibm.com>3050M: Sandipan Das <sandipan@linux.ibm.com>
2906L: netdev@vger.kernel.org3051L: netdev@vger.kernel.org
3052L: bpf@vger.kernel.org
2907S: Maintained3053S: Maintained
2908F: arch/powerpc/net/3054F: arch/powerpc/net/
29093055
3056BPF JIT for RISC-V (RV64G)
3057M: Björn Töpel <bjorn.topel@gmail.com>
3058L: netdev@vger.kernel.org
3059S: Maintained
3060F: arch/riscv/net/
3061
2910BPF JIT for S3903062BPF JIT for S390
2911M: Martin Schwidefsky <schwidefsky@de.ibm.com>
2912M: Heiko Carstens <heiko.carstens@de.ibm.com>3063M: Heiko Carstens <heiko.carstens@de.ibm.com>
3064M: Vasily Gorbik <gor@linux.ibm.com>
3065M: Christian Borntraeger <borntraeger@de.ibm.com>
2913L: netdev@vger.kernel.org3066L: netdev@vger.kernel.org
3067L: bpf@vger.kernel.org
2914S: Maintained3068S: Maintained
2915F: arch/s390/net/3069F: arch/s390/net/
2916X: arch/s390/net/pnet.c3070X: arch/s390/net/pnet.c
@@ -2918,12 +3072,14 @@ X: arch/s390/net/pnet.c
2918BPF JIT for SPARC (32-BIT AND 64-BIT)3072BPF JIT for SPARC (32-BIT AND 64-BIT)
2919M: David S. Miller <davem@davemloft.net>3073M: David S. Miller <davem@davemloft.net>
2920L: netdev@vger.kernel.org3074L: netdev@vger.kernel.org
3075L: bpf@vger.kernel.org
2921S: Maintained3076S: Maintained
2922F: arch/sparc/net/3077F: arch/sparc/net/
29233078
2924BPF JIT for X86 32-BIT3079BPF JIT for X86 32-BIT
2925M: Wang YanQing <udknight@gmail.com>3080M: Wang YanQing <udknight@gmail.com>
2926L: netdev@vger.kernel.org3081L: netdev@vger.kernel.org
3082L: bpf@vger.kernel.org
2927S: Maintained3083S: Maintained
2928F: arch/x86/net/bpf_jit_comp32.c3084F: arch/x86/net/bpf_jit_comp32.c
29293085
@@ -2931,6 +3087,7 @@ BPF JIT for X86 64-BIT
2931M: Alexei Starovoitov <ast@kernel.org>3087M: Alexei Starovoitov <ast@kernel.org>
2932M: Daniel Borkmann <daniel@iogearbox.net>3088M: Daniel Borkmann <daniel@iogearbox.net>
2933L: netdev@vger.kernel.org3089L: netdev@vger.kernel.org
3090L: bpf@vger.kernel.org
2934S: Supported3091S: Supported
2935F: arch/x86/net/3092F: arch/x86/net/
2936X: arch/x86/net/bpf_jit_comp32.c3093X: arch/x86/net/bpf_jit_comp32.c
@@ -2964,7 +3121,8 @@ F: arch/arm/mach-bcm/
29643121
2965BROADCOM BCM2835 ARM ARCHITECTURE3122BROADCOM BCM2835 ARM ARCHITECTURE
2966M: Eric Anholt <eric@anholt.net>3123M: Eric Anholt <eric@anholt.net>
2967M: Stefan Wahren <stefan.wahren@i2se.com>3124M: Stefan Wahren <wahrenst@gmx.net>
3125L: bcm-kernel-feedback-list@broadcom.com
2968L: linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)3126L: linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
2969L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)3127L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2970T: git git://github.com/anholt/linux3128T: git git://github.com/anholt/linux
@@ -2994,6 +3152,7 @@ F: arch/arm/boot/dts/bcm953012*
29943152
2995BROADCOM BCM53573 ARM ARCHITECTURE3153BROADCOM BCM53573 ARM ARCHITECTURE
2996M: Rafał Miłecki <rafal@milecki.pl>3154M: Rafał Miłecki <rafal@milecki.pl>
3155L: bcm-kernel-feedback-list@broadcom.com
2997L: linux-arm-kernel@lists.infradead.org3156L: linux-arm-kernel@lists.infradead.org
2998S: Maintained3157S: Maintained
2999F: arch/arm/boot/dts/bcm53573*3158F: arch/arm/boot/dts/bcm53573*
@@ -3038,6 +3197,7 @@ F: drivers/cpufreq/bmips-cpufreq.c
3038BROADCOM BMIPS MIPS ARCHITECTURE3197BROADCOM BMIPS MIPS ARCHITECTURE
3039M: Kevin Cernekee <cernekee@gmail.com>3198M: Kevin Cernekee <cernekee@gmail.com>
3040M: Florian Fainelli <f.fainelli@gmail.com>3199M: Florian Fainelli <f.fainelli@gmail.com>
3200L: bcm-kernel-feedback-list@broadcom.com
3041L: linux-mips@vger.kernel.org3201L: linux-mips@vger.kernel.org
3042T: git git://github.com/broadcom/stblinux.git3202T: git git://github.com/broadcom/stblinux.git
3043S: Maintained3203S: Maintained
@@ -3052,8 +3212,8 @@ F: include/linux/bcm963xx_nvram.h
3052F: include/linux/bcm963xx_tag.h3212F: include/linux/bcm963xx_tag.h
30533213
3054BROADCOM BNX2 GIGABIT ETHERNET DRIVER3214BROADCOM BNX2 GIGABIT ETHERNET DRIVER
3055M: Rasesh Mody <rasesh.mody@cavium.com>3215M: Rasesh Mody <rmody@marvell.com>
3056M: Dept-GELinuxNICDev@cavium.com3216M: GR-Linux-NIC-Dev@marvell.com
3057L: netdev@vger.kernel.org3217L: netdev@vger.kernel.org
3058S: Supported3218S: Supported
3059F: drivers/net/ethernet/broadcom/bnx2.*3219F: drivers/net/ethernet/broadcom/bnx2.*
@@ -3072,9 +3232,9 @@ S: Supported
3072F: drivers/scsi/bnx2i/3232F: drivers/scsi/bnx2i/
30733233
3074BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER3234BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
3075M: Ariel Elior <ariel.elior@cavium.com>3235M: Ariel Elior <aelior@marvell.com>
3076M: Sudarsana Kalluru <sudarsana.kalluru@cavium.com>3236M: Sudarsana Kalluru <skalluru@marvell.com>
3077M: everest-linux-l2@cavium.com3237M: GR-everest-linux-l2@marvell.com
3078L: netdev@vger.kernel.org3238L: netdev@vger.kernel.org
3079S: Supported3239S: Supported
3080F: drivers/net/ethernet/broadcom/bnx2x/3240F: drivers/net/ethernet/broadcom/bnx2x/
@@ -3122,6 +3282,7 @@ F: drivers/phy/broadcom/phy-brcm-usb*
3122BROADCOM GENET ETHERNET DRIVER3282BROADCOM GENET ETHERNET DRIVER
3123M: Doug Berger <opendmb@gmail.com>3283M: Doug Berger <opendmb@gmail.com>
3124M: Florian Fainelli <f.fainelli@gmail.com>3284M: Florian Fainelli <f.fainelli@gmail.com>
3285L: bcm-kernel-feedback-list@broadcom.com
3125L: netdev@vger.kernel.org3286L: netdev@vger.kernel.org
3126S: Supported3287S: Supported
3127F: drivers/net/ethernet/broadcom/genet/3288F: drivers/net/ethernet/broadcom/genet/
@@ -3229,6 +3390,7 @@ F: drivers/spi/spi-iproc-qspi.c
32293390
3230BROADCOM SYSTEMPORT ETHERNET DRIVER3391BROADCOM SYSTEMPORT ETHERNET DRIVER
3231M: Florian Fainelli <f.fainelli@gmail.com>3392M: Florian Fainelli <f.fainelli@gmail.com>
3393L: bcm-kernel-feedback-list@broadcom.com
3232L: netdev@vger.kernel.org3394L: netdev@vger.kernel.org
3233S: Supported3395S: Supported
3234F: drivers/net/ethernet/broadcom/bcmsysport.*3396F: drivers/net/ethernet/broadcom/bcmsysport.*
@@ -3249,9 +3411,9 @@ S: Supported
3249F: drivers/scsi/bfa/3411F: drivers/scsi/bfa/
32503412
3251BROCADE BNA 10 GIGABIT ETHERNET DRIVER3413BROCADE BNA 10 GIGABIT ETHERNET DRIVER
3252M: Rasesh Mody <rasesh.mody@cavium.com>3414M: Rasesh Mody <rmody@marvell.com>
3253M: Sudarsana Kalluru <sudarsana.kalluru@cavium.com>3415M: Sudarsana Kalluru <skalluru@marvell.com>
3254M: Dept-GELinuxNICDev@cavium.com3416M: GR-Linux-NIC-Dev@marvell.com
3255L: netdev@vger.kernel.org3417L: netdev@vger.kernel.org
3256S: Supported3418S: Supported
3257F: drivers/net/ethernet/brocade/bna/3419F: drivers/net/ethernet/brocade/bna/
@@ -3267,7 +3429,7 @@ F: include/uapi/linux/bsg.h
3267BT87X AUDIO DRIVER3429BT87X AUDIO DRIVER
3268M: Clemens Ladisch <clemens@ladisch.de>3430M: Clemens Ladisch <clemens@ladisch.de>
3269L: alsa-devel@alsa-project.org (moderated for non-subscribers)3431L: alsa-devel@alsa-project.org (moderated for non-subscribers)
3270T: git git://git.alsa-project.org/alsa-kernel.git3432T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
3271S: Maintained3433S: Maintained
3272F: Documentation/sound/cards/bt87x.rst3434F: Documentation/sound/cards/bt87x.rst
3273F: sound/pci/bt87x.c3435F: sound/pci/bt87x.c
@@ -3320,7 +3482,7 @@ F: drivers/scsi/FlashPoint.*
3320C-MEDIA CMI8788 DRIVER3482C-MEDIA CMI8788 DRIVER
3321M: Clemens Ladisch <clemens@ladisch.de>3483M: Clemens Ladisch <clemens@ladisch.de>
3322L: alsa-devel@alsa-project.org (moderated for non-subscribers)3484L: alsa-devel@alsa-project.org (moderated for non-subscribers)
3323T: git git://git.alsa-project.org/alsa-kernel.git3485T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
3324S: Maintained3486S: Maintained
3325F: sound/pci/oxygen/3487F: sound/pci/oxygen/
33263488
@@ -3385,9 +3547,8 @@ F: Documentation/media/v4l-drivers/cafe_ccic*
3385F: drivers/media/platform/marvell-ccic/3547F: drivers/media/platform/marvell-ccic/
33863548
3387CAIF NETWORK LAYER3549CAIF NETWORK LAYER
3388M: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
3389L: netdev@vger.kernel.org3550L: netdev@vger.kernel.org
3390S: Supported3551S: Orphan
3391F: Documentation/networking/caif/3552F: Documentation/networking/caif/
3392F: drivers/net/caif/3553F: drivers/net/caif/
3393F: include/uapi/linux/caif/3554F: include/uapi/linux/caif/
@@ -3471,10 +3632,9 @@ F: drivers/i2c/busses/i2c-octeon*
3471F: drivers/i2c/busses/i2c-thunderx*3632F: drivers/i2c/busses/i2c-thunderx*
34723633
3473CAVIUM LIQUIDIO NETWORK DRIVER3634CAVIUM LIQUIDIO NETWORK DRIVER
3474M: Derek Chickles <derek.chickles@caviumnetworks.com>3635M: Derek Chickles <dchickles@marvell.com>
3475M: Satanand Burla <satananda.burla@caviumnetworks.com>3636M: Satanand Burla <sburla@marvell.com>
3476M: Felix Manlunas <felix.manlunas@caviumnetworks.com>3637M: Felix Manlunas <fmanlunas@marvell.com>
3477M: Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com>
3478L: netdev@vger.kernel.org3638L: netdev@vger.kernel.org
3479W: http://www.cavium.com3639W: http://www.cavium.com
3480S: Supported3640S: Supported
@@ -3512,7 +3672,6 @@ F: include/linux/spi/cc2520.h
3512F: Documentation/devicetree/bindings/net/ieee802154/cc2520.txt3672F: Documentation/devicetree/bindings/net/ieee802154/cc2520.txt
35133673
3514CCREE ARM TRUSTZONE CRYPTOCELL REE DRIVER3674CCREE ARM TRUSTZONE CRYPTOCELL REE DRIVER
3515M: Yael Chemla <yael.chemla@foss.arm.com>
3516M: Gilad Ben-Yossef <gilad@benyossef.com>3675M: Gilad Ben-Yossef <gilad@benyossef.com>
3517L: linux-crypto@vger.kernel.org3676L: linux-crypto@vger.kernel.org
3518S: Supported3677S: Supported
@@ -3647,8 +3806,8 @@ F: scripts/checkpatch.pl
36473806
3648CHINESE DOCUMENTATION3807CHINESE DOCUMENTATION
3649M: Harry Wei <harryxiyou@gmail.com>3808M: Harry Wei <harryxiyou@gmail.com>
3809M: Alex Shi <alex.shi@linux.alibaba.com>
3650L: xiyoulinuxkernelgroup@googlegroups.com (subscribers-only)3810L: xiyoulinuxkernelgroup@googlegroups.com (subscribers-only)
3651L: linux-kernel@zh-kernel.org (moderated for non-subscribers)
3652S: Maintained3811S: Maintained
3653F: Documentation/translations/zh_CN/3812F: Documentation/translations/zh_CN/
36543813
@@ -3676,7 +3835,7 @@ CHROME HARDWARE PLATFORM SUPPORT
3676M: Benson Leung <bleung@chromium.org>3835M: Benson Leung <bleung@chromium.org>
3677M: Enric Balletbo i Serra <enric.balletbo@collabora.com>3836M: Enric Balletbo i Serra <enric.balletbo@collabora.com>
3678S: Maintained3837S: Maintained
3679T: git git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform.git3838T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
3680F: drivers/platform/chrome/3839F: drivers/platform/chrome/
36813840
3682CHROMEOS EC SUBDRIVERS3841CHROMEOS EC SUBDRIVERS
@@ -3688,6 +3847,14 @@ N: cros_ec
3688N: cros-ec3847N: cros-ec
3689F: drivers/power/supply/cros_usbpd-charger.c3848F: drivers/power/supply/cros_usbpd-charger.c
36903849
3850CHROMEOS EC CODEC DRIVER
3851M: Cheng-Yi Chiang <cychiang@chromium.org>
3852S: Maintained
3853R: Enric Balletbo i Serra <enric.balletbo@collabora.com>
3854R: Guenter Roeck <groeck@chromium.org>
3855F: Documentation/devicetree/bindings/sound/google,cros-ec-codec.txt
3856F: sound/soc/codecs/cros_ec_codec.*
3857
3691CIRRUS LOGIC AUDIO CODEC DRIVERS3858CIRRUS LOGIC AUDIO CODEC DRIVERS
3692M: Brian Austin <brian.austin@cirrus.com>3859M: Brian Austin <brian.austin@cirrus.com>
3693M: Paul Handrigan <Paul.Handrigan@cirrus.com>3860M: Paul Handrigan <Paul.Handrigan@cirrus.com>
@@ -3701,6 +3868,28 @@ L: netdev@vger.kernel.org
3701S: Maintained3868S: Maintained
3702F: drivers/net/ethernet/cirrus/ep93xx_eth.c3869F: drivers/net/ethernet/cirrus/ep93xx_eth.c
37033870
3871CIRRUS LOGIC LOCHNAGAR DRIVER
3872M: Charles Keepax <ckeepax@opensource.cirrus.com>
3873M: Richard Fitzgerald <rf@opensource.cirrus.com>
3874L: patches@opensource.cirrus.com
3875S: Supported
3876F: drivers/clk/clk-lochnagar.c
3877F: drivers/hwmon/lochnagar-hwmon.c
3878F: drivers/mfd/lochnagar-i2c.c
3879F: drivers/pinctrl/cirrus/pinctrl-lochnagar.c
3880F: drivers/regulator/lochnagar-regulator.c
3881F: sound/soc/codecs/lochnagar-sc.c
3882F: include/dt-bindings/clk/lochnagar.h
3883F: include/dt-bindings/pinctrl/lochnagar.h
3884F: include/linux/mfd/lochnagar*
3885F: Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
3886F: Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
3887F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
3888F: Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
3889F: Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
3890F: Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
3891F: Documentation/hwmon/lochnagar
3892
3704CISCO FCOE HBA DRIVER3893CISCO FCOE HBA DRIVER
3705M: Satish Kharat <satishkh@cisco.com>3894M: Satish Kharat <satishkh@cisco.com>
3706M: Sesidhar Baddela <sebaddel@cisco.com>3895M: Sesidhar Baddela <sebaddel@cisco.com>
@@ -3753,6 +3942,14 @@ M: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
3753S: Maintained3942S: Maintained
3754F: .clang-format3943F: .clang-format
37553944
3945CLANG/LLVM BUILD SUPPORT
3946L: clang-built-linux@googlegroups.com
3947W: https://clangbuiltlinux.github.io/
3948B: https://github.com/ClangBuiltLinux/linux/issues
3949C: irc://chat.freenode.net/clangbuiltlinux
3950S: Supported
3951K: \b(?i:clang|llvm)\b
3952
3756CLEANCACHE API3953CLEANCACHE API
3757M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>3954M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
3758L: linux-kernel@vger.kernel.org3955L: linux-kernel@vger.kernel.org
@@ -3907,9 +4104,10 @@ M: Johannes Weiner <hannes@cmpxchg.org>
3907L: cgroups@vger.kernel.org4104L: cgroups@vger.kernel.org
3908T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git4105T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
3909S: Maintained4106S: Maintained
3910F: Documentation/cgroup*4107F: Documentation/admin-guide/cgroup-v2.rst
4108F: Documentation/cgroup-v1/
3911F: include/linux/cgroup*4109F: include/linux/cgroup*
3912F: kernel/cgroup*4110F: kernel/cgroup/
39134111
3914CONTROL GROUP - CPUSET4112CONTROL GROUP - CPUSET
3915M: Li Zefan <lizefan@huawei.com>4113M: Li Zefan <lizefan@huawei.com>
@@ -3936,7 +4134,7 @@ CORETEMP HARDWARE MONITORING DRIVER
3936M: Fenghua Yu <fenghua.yu@intel.com>4134M: Fenghua Yu <fenghua.yu@intel.com>
3937L: linux-hwmon@vger.kernel.org4135L: linux-hwmon@vger.kernel.org
3938S: Maintained4136S: Maintained
3939F: Documentation/hwmon/coretemp4137F: Documentation/hwmon/coretemp.rst
3940F: drivers/hwmon/coretemp.c4138F: drivers/hwmon/coretemp.c
39414139
3942COSA/SRP SYNC SERIAL DRIVER4140COSA/SRP SYNC SERIAL DRIVER
@@ -3945,24 +4143,38 @@ W: http://www.fi.muni.cz/~kas/cosa/
3945S: Maintained4143S: Maintained
3946F: drivers/net/wan/cosa*4144F: drivers/net/wan/cosa*
39474145
4146COUNTER SUBSYSTEM
4147M: William Breathitt Gray <vilhelm.gray@gmail.com>
4148L: linux-iio@vger.kernel.org
4149S: Maintained
4150F: Documentation/ABI/testing/sysfs-bus-counter*
4151F: Documentation/driver-api/generic-counter.rst
4152F: drivers/counter/
4153F: include/linux/counter.h
4154F: include/linux/counter_enum.h
4155
3948CPMAC ETHERNET DRIVER4156CPMAC ETHERNET DRIVER
3949M: Florian Fainelli <f.fainelli@gmail.com>4157M: Florian Fainelli <f.fainelli@gmail.com>
3950L: netdev@vger.kernel.org4158L: netdev@vger.kernel.org
3951S: Maintained4159S: Maintained
3952F: drivers/net/ethernet/ti/cpmac.c4160F: drivers/net/ethernet/ti/cpmac.c
39534161
3954CPU FREQUENCY DRIVERS4162CPU FREQUENCY SCALING FRAMEWORK
3955M: "Rafael J. Wysocki" <rjw@rjwysocki.net>4163M: "Rafael J. Wysocki" <rjw@rjwysocki.net>
3956M: Viresh Kumar <viresh.kumar@linaro.org>4164M: Viresh Kumar <viresh.kumar@linaro.org>
3957L: linux-pm@vger.kernel.org4165L: linux-pm@vger.kernel.org
3958S: Maintained4166S: Maintained
3959T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git4167T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
3960T: git git://git.linaro.org/people/vireshk/linux.git (For ARM Updates)4168T: git git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git (For ARM Updates)
3961B: https://bugzilla.kernel.org4169B: https://bugzilla.kernel.org
4170F: Documentation/admin-guide/pm/cpufreq.rst
4171F: Documentation/admin-guide/pm/intel_pstate.rst
3962F: Documentation/cpu-freq/4172F: Documentation/cpu-freq/
3963F: Documentation/devicetree/bindings/cpufreq/4173F: Documentation/devicetree/bindings/cpufreq/
3964F: drivers/cpufreq/4174F: drivers/cpufreq/
4175F: kernel/sched/cpufreq*.c
3965F: include/linux/cpufreq.h4176F: include/linux/cpufreq.h
4177F: include/linux/sched/cpufreq.h
3966F: tools/testing/selftests/cpufreq/4178F: tools/testing/selftests/cpufreq/
39674179
3968CPU FREQUENCY DRIVERS - ARM BIG LITTLE4180CPU FREQUENCY DRIVERS - ARM BIG LITTLE
@@ -3977,6 +4189,7 @@ F: drivers/cpufreq/arm_big_little.c
3977CPU POWER MONITORING SUBSYSTEM4189CPU POWER MONITORING SUBSYSTEM
3978M: Thomas Renninger <trenn@suse.com>4190M: Thomas Renninger <trenn@suse.com>
3979M: Shuah Khan <shuah@kernel.org>4191M: Shuah Khan <shuah@kernel.org>
4192M: Shuah Khan <skhan@linuxfoundation.org>
3980L: linux-pm@vger.kernel.org4193L: linux-pm@vger.kernel.org
3981S: Maintained4194S: Maintained
3982F: tools/power/cpupower/4195F: tools/power/cpupower/
@@ -4006,18 +4219,20 @@ S: Supported
4006F: drivers/cpuidle/cpuidle-exynos.c4219F: drivers/cpuidle/cpuidle-exynos.c
4007F: arch/arm/mach-exynos/pm.c4220F: arch/arm/mach-exynos/pm.c
40084221
4009CPUIDLE DRIVERS4222CPU IDLE TIME MANAGEMENT FRAMEWORK
4010M: "Rafael J. Wysocki" <rjw@rjwysocki.net>4223M: "Rafael J. Wysocki" <rjw@rjwysocki.net>
4011M: Daniel Lezcano <daniel.lezcano@linaro.org>4224M: Daniel Lezcano <daniel.lezcano@linaro.org>
4012L: linux-pm@vger.kernel.org4225L: linux-pm@vger.kernel.org
4013S: Maintained4226S: Maintained
4014T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git4227T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
4015B: https://bugzilla.kernel.org4228B: https://bugzilla.kernel.org
4229F: Documentation/admin-guide/pm/cpuidle.rst
4230F: Documentation/driver-api/pm/cpuidle.rst
4016F: drivers/cpuidle/*4231F: drivers/cpuidle/*
4017F: include/linux/cpuidle.h4232F: include/linux/cpuidle.h
40184233
4019CRAMFS FILESYSTEM4234CRAMFS FILESYSTEM
4020M: Nicolas Pitre <nico@linaro.org>4235M: Nicolas Pitre <nico@fluxnic.net>
4021S: Maintained4236S: Maintained
4022F: Documentation/filesystems/cramfs.txt4237F: Documentation/filesystems/cramfs.txt
4023F: fs/cramfs/4238F: fs/cramfs/
@@ -4120,7 +4335,7 @@ S: Maintained
4120F: drivers/media/dvb-frontends/cxd2820r*4335F: drivers/media/dvb-frontends/cxd2820r*
41214336
4122CXGB3 ETHERNET DRIVER (CXGB3)4337CXGB3 ETHERNET DRIVER (CXGB3)
4123M: Arjun Vynipadath <arjun@chelsio.com>4338M: Vishal Kulkarni <vishal@chelsio.com>
4124L: netdev@vger.kernel.org4339L: netdev@vger.kernel.org
4125W: http://www.chelsio.com4340W: http://www.chelsio.com
4126S: Supported4341S: Supported
@@ -4134,7 +4349,7 @@ S: Supported
4134F: drivers/scsi/cxgbi/cxgb3i4349F: drivers/scsi/cxgbi/cxgb3i
41354350
4136CXGB3 IWARP RNIC DRIVER (IW_CXGB3)4351CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
4137M: Steve Wise <swise@chelsio.com>4352M: Potnuri Bharat Teja <bharat@chelsio.com>
4138L: linux-rdma@vger.kernel.org4353L: linux-rdma@vger.kernel.org
4139W: http://www.openfabrics.org4354W: http://www.openfabrics.org
4140S: Supported4355S: Supported
@@ -4142,14 +4357,14 @@ F: drivers/infiniband/hw/cxgb3/
4142F: include/uapi/rdma/cxgb3-abi.h4357F: include/uapi/rdma/cxgb3-abi.h
41434358
4144CXGB4 CRYPTO DRIVER (chcr)4359CXGB4 CRYPTO DRIVER (chcr)
4145M: Harsh Jain <harsh@chelsio.com>4360M: Atul Gupta <atul.gupta@chelsio.com>
4146L: linux-crypto@vger.kernel.org4361L: linux-crypto@vger.kernel.org
4147W: http://www.chelsio.com4362W: http://www.chelsio.com
4148S: Supported4363S: Supported
4149F: drivers/crypto/chelsio4364F: drivers/crypto/chelsio
41504365
4151CXGB4 ETHERNET DRIVER (CXGB4)4366CXGB4 ETHERNET DRIVER (CXGB4)
4152M: Arjun Vynipadath <arjun@chelsio.com>4367M: Vishal Kulkarni <vishal@chelsio.com>
4153L: netdev@vger.kernel.org4368L: netdev@vger.kernel.org
4154W: http://www.chelsio.com4369W: http://www.chelsio.com
4155S: Supported4370S: Supported
@@ -4163,7 +4378,7 @@ S: Supported
4163F: drivers/scsi/cxgbi/cxgb4i4378F: drivers/scsi/cxgbi/cxgb4i
41644379
4165CXGB4 IWARP RNIC DRIVER (IW_CXGB4)4380CXGB4 IWARP RNIC DRIVER (IW_CXGB4)
4166M: Steve Wise <swise@chelsio.com>4381M: Potnuri Bharat Teja <bharat@chelsio.com>
4167L: linux-rdma@vger.kernel.org4382L: linux-rdma@vger.kernel.org
4168W: http://www.openfabrics.org4383W: http://www.openfabrics.org
4169S: Supported4384S: Supported
@@ -4179,7 +4394,7 @@ F: drivers/net/ethernet/chelsio/cxgb4vf/
41794394
4180CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER4395CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER
4181M: Frederic Barrat <fbarrat@linux.ibm.com>4396M: Frederic Barrat <fbarrat@linux.ibm.com>
4182M: Andrew Donnellan <andrew.donnellan@au1.ibm.com>4397M: Andrew Donnellan <ajd@linux.ibm.com>
4183L: linuxppc-dev@lists.ozlabs.org4398L: linuxppc-dev@lists.ozlabs.org
4184S: Supported4399S: Supported
4185F: arch/powerpc/platforms/powernv/pci-cxl.c4400F: arch/powerpc/platforms/powernv/pci-cxl.c
@@ -4439,6 +4654,7 @@ S: Maintained
4439F: drivers/devfreq/4654F: drivers/devfreq/
4440F: include/linux/devfreq.h4655F: include/linux/devfreq.h
4441F: Documentation/devicetree/bindings/devfreq/4656F: Documentation/devicetree/bindings/devfreq/
4657F: include/trace/events/devfreq.h
44424658
4443DEVICE FREQUENCY EVENT (DEVFREQ-EVENT)4659DEVICE FREQUENCY EVENT (DEVFREQ-EVENT)
4444M: Chanwoo Choi <cw00.choi@samsung.com>4660M: Chanwoo Choi <cw00.choi@samsung.com>
@@ -4486,7 +4702,7 @@ DIALOG SEMICONDUCTOR DRIVERS
4486M: Support Opensource <support.opensource@diasemi.com>4702M: Support Opensource <support.opensource@diasemi.com>
4487W: http://www.dialog-semiconductor.com/products4703W: http://www.dialog-semiconductor.com/products
4488S: Supported4704S: Supported
4489F: Documentation/hwmon/da90??4705F: Documentation/hwmon/da90??.rst
4490F: Documentation/devicetree/bindings/mfd/da90*.txt4706F: Documentation/devicetree/bindings/mfd/da90*.txt
4491F: Documentation/devicetree/bindings/input/da90??-onkey.txt4707F: Documentation/devicetree/bindings/input/da90??-onkey.txt
4492F: Documentation/devicetree/bindings/thermal/da90??-thermal.txt4708F: Documentation/devicetree/bindings/thermal/da90??-thermal.txt
@@ -4533,10 +4749,11 @@ S: Maintained
4533F: drivers/i2c/busses/i2c-diolan-u2c.c4749F: drivers/i2c/busses/i2c-diolan-u2c.c
45344750
4535FILESYSTEM DIRECT ACCESS (DAX)4751FILESYSTEM DIRECT ACCESS (DAX)
4536M: Matthew Wilcox <willy@infradead.org>4752M: Dan Williams <dan.j.williams@intel.com>
4537M: Ross Zwisler <zwisler@kernel.org>4753R: Matthew Wilcox <willy@infradead.org>
4538M: Jan Kara <jack@suse.cz>4754R: Jan Kara <jack@suse.cz>
4539L: linux-fsdevel@vger.kernel.org4755L: linux-fsdevel@vger.kernel.org
4756L: linux-nvdimm@lists.01.org
4540S: Supported4757S: Supported
4541F: fs/dax.c4758F: fs/dax.c
4542F: include/linux/dax.h4759F: include/linux/dax.h
@@ -4544,9 +4761,9 @@ F: include/trace/events/fs_dax.h
45444761
4545DEVICE DIRECT ACCESS (DAX)4762DEVICE DIRECT ACCESS (DAX)
4546M: Dan Williams <dan.j.williams@intel.com>4763M: Dan Williams <dan.j.williams@intel.com>
4547M: Dave Jiang <dave.jiang@intel.com>
4548M: Ross Zwisler <zwisler@kernel.org>
4549M: Vishal Verma <vishal.l.verma@intel.com>4764M: Vishal Verma <vishal.l.verma@intel.com>
4765M: Keith Busch <keith.busch@intel.com>
4766M: Dave Jiang <dave.jiang@intel.com>
4550L: linux-nvdimm@lists.01.org4767L: linux-nvdimm@lists.01.org
4551S: Supported4768S: Supported
4552F: drivers/dax/4769F: drivers/dax/
@@ -4636,7 +4853,7 @@ DME1737 HARDWARE MONITOR DRIVER
4636M: Juerg Haefliger <juergh@gmail.com>4853M: Juerg Haefliger <juergh@gmail.com>
4637L: linux-hwmon@vger.kernel.org4854L: linux-hwmon@vger.kernel.org
4638S: Maintained4855S: Maintained
4639F: Documentation/hwmon/dme17374856F: Documentation/hwmon/dme1737.rst
4640F: drivers/hwmon/dme1737.c4857F: drivers/hwmon/dme1737.c
46414858
4642DMI/SMBIOS SUPPORT4859DMI/SMBIOS SUPPORT
@@ -4781,6 +4998,14 @@ M: Dave Airlie <airlied@redhat.com>
4781S: Odd Fixes4998S: Odd Fixes
4782F: drivers/gpu/drm/ast/4999F: drivers/gpu/drm/ast/
47835000
5001DRM DRIVER FOR ASPEED BMC GFX
5002M: Joel Stanley <joel@jms.id.au>
5003L: linux-aspeed@lists.ozlabs.org
5004T: git git://anongit.freedesktop.org/drm/drm-misc
5005S: Supported
5006F: drivers/gpu/drm/aspeed/
5007F: Documentation/devicetree/bindings/gpu/aspeed-gfx.txt
5008
4784DRM DRIVER FOR BOCHS VIRTUAL GPU5009DRM DRIVER FOR BOCHS VIRTUAL GPU
4785M: Gerd Hoffmann <kraxel@redhat.com>5010M: Gerd Hoffmann <kraxel@redhat.com>
4786L: virtualization@lists.linux-foundation.org5011L: virtualization@lists.linux-foundation.org
@@ -4794,6 +5019,12 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
4794S: Maintained5019S: Maintained
4795F: drivers/gpu/drm/tve200/5020F: drivers/gpu/drm/tve200/
47965021
5022DRM DRIVER FOR FEIYANG FY07024DI26A30-D MIPI-DSI LCD PANELS
5023M: Jagan Teki <jagan@amarulasolutions.com>
5024S: Maintained
5025F: drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
5026F: Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.txt
5027
4797DRM DRIVER FOR ILITEK ILI9225 PANELS5028DRM DRIVER FOR ILITEK ILI9225 PANELS
4798M: David Lechner <david@lechnology.com>5029M: David Lechner <david@lechnology.com>
4799S: Maintained5030S: Maintained
@@ -4830,10 +5061,11 @@ F: Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
48305061
4831DRM DRIVER FOR MSM ADRENO GPU5062DRM DRIVER FOR MSM ADRENO GPU
4832M: Rob Clark <robdclark@gmail.com>5063M: Rob Clark <robdclark@gmail.com>
5064M: Sean Paul <sean@poorly.run>
4833L: linux-arm-msm@vger.kernel.org5065L: linux-arm-msm@vger.kernel.org
4834L: dri-devel@lists.freedesktop.org5066L: dri-devel@lists.freedesktop.org
4835L: freedreno@lists.freedesktop.org5067L: freedreno@lists.freedesktop.org
4836T: git git://people.freedesktop.org/~robclark/linux5068T: git https://gitlab.freedesktop.org/drm/msm.git
4837S: Maintained5069S: Maintained
4838F: drivers/gpu/drm/msm/5070F: drivers/gpu/drm/msm/
4839F: include/uapi/drm/msm_drm.h5071F: include/uapi/drm/msm_drm.h
@@ -4873,6 +5105,7 @@ DRM DRIVER FOR QXL VIRTUAL GPU
4873M: Dave Airlie <airlied@redhat.com>5105M: Dave Airlie <airlied@redhat.com>
4874M: Gerd Hoffmann <kraxel@redhat.com>5106M: Gerd Hoffmann <kraxel@redhat.com>
4875L: virtualization@lists.linux-foundation.org5107L: virtualization@lists.linux-foundation.org
5108L: spice-devel@lists.freedesktop.org
4876T: git git://anongit.freedesktop.org/drm/drm-misc5109T: git git://anongit.freedesktop.org/drm/drm-misc
4877S: Maintained5110S: Maintained
4878F: drivers/gpu/drm/qxl/5111F: drivers/gpu/drm/qxl/
@@ -4883,6 +5116,12 @@ S: Orphan / Obsolete
4883F: drivers/gpu/drm/r128/5116F: drivers/gpu/drm/r128/
4884F: include/uapi/drm/r128_drm.h5117F: include/uapi/drm/r128_drm.h
48855118
5119DRM DRIVER FOR ROCKTECH JH057N00900 PANELS
5120M: Guido Günther <agx@sigxcpu.org>
5121S: Maintained
5122F: drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c
5123F: Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.txt
5124
4886DRM DRIVER FOR SAVAGE VIDEO CARDS5125DRM DRIVER FOR SAVAGE VIDEO CARDS
4887S: Orphan / Obsolete5126S: Orphan / Obsolete
4888F: drivers/gpu/drm/savage/5127F: drivers/gpu/drm/savage/
@@ -4893,6 +5132,12 @@ S: Orphan / Obsolete
4893F: drivers/gpu/drm/sis/5132F: drivers/gpu/drm/sis/
4894F: include/uapi/drm/sis_drm.h5133F: include/uapi/drm/sis_drm.h
48955134
5135DRM DRIVER FOR SITRONIX ST7701 PANELS
5136M: Jagan Teki <jagan@amarulasolutions.com>
5137S: Maintained
5138F: drivers/gpu/drm/panel/panel-sitronix-st7701.c
5139F: Documentation/devicetree/bindings/display/panel/sitronix,st7701.txt
5140
4896DRM DRIVER FOR SITRONIX ST7586 PANELS5141DRM DRIVER FOR SITRONIX ST7586 PANELS
4897M: David Lechner <david@lechnology.com>5142M: David Lechner <david@lechnology.com>
4898S: Maintained5143S: Maintained
@@ -4909,6 +5154,13 @@ DRM DRIVER FOR TDFX VIDEO CARDS
4909S: Orphan / Obsolete5154S: Orphan / Obsolete
4910F: drivers/gpu/drm/tdfx/5155F: drivers/gpu/drm/tdfx/
49115156
5157DRM DRIVER FOR TPO TPG110 PANELS
5158M: Linus Walleij <linus.walleij@linaro.org>
5159T: git git://anongit.freedesktop.org/drm/drm-misc
5160S: Maintained
5161F: drivers/gpu/drm/panel/panel-tpo-tpg110.c
5162F: Documentation/devicetree/bindings/display/panel/tpo,tpg110.txt
5163
4912DRM DRIVER FOR USB DISPLAYLINK VIDEO ADAPTERS5164DRM DRIVER FOR USB DISPLAYLINK VIDEO ADAPTERS
4913M: Dave Airlie <airlied@redhat.com>5165M: Dave Airlie <airlied@redhat.com>
4914R: Sean Paul <sean@poorly.run>5166R: Sean Paul <sean@poorly.run>
@@ -4917,6 +5169,23 @@ S: Odd Fixes
4917F: drivers/gpu/drm/udl/5169F: drivers/gpu/drm/udl/
4918T: git git://anongit.freedesktop.org/drm/drm-misc5170T: git git://anongit.freedesktop.org/drm/drm-misc
49195171
5172DRM DRIVER FOR VIRTUALBOX VIRTUAL GPU
5173M: Hans de Goede <hdegoede@redhat.com>
5174L: dri-devel@lists.freedesktop.org
5175S: Maintained
5176F: drivers/gpu/drm/vboxvideo/
5177T: git git://anongit.freedesktop.org/drm/drm-misc
5178
5179DRM DRIVER FOR VIRTUAL KERNEL MODESETTING (VKMS)
5180M: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
5181R: Haneen Mohammed <hamohammed.sa@gmail.com>
5182R: Daniel Vetter <daniel@ffwll.ch>
5183T: git git://anongit.freedesktop.org/drm/drm-misc
5184S: Maintained
5185L: dri-devel@lists.freedesktop.org
5186F: drivers/gpu/drm/vkms/
5187F: Documentation/gpu/vkms.rst
5188
4920DRM DRIVER FOR VMWARE VIRTUAL GPU5189DRM DRIVER FOR VMWARE VIRTUAL GPU
4921M: "VMware Graphics" <linux-graphics-maintainer@vmware.com>5190M: "VMware Graphics" <linux-graphics-maintainer@vmware.com>
4922M: Thomas Hellstrom <thellstrom@vmware.com>5191M: Thomas Hellstrom <thellstrom@vmware.com>
@@ -4986,7 +5255,6 @@ F: Documentation/devicetree/bindings/display/atmel/
4986T: git git://anongit.freedesktop.org/drm/drm-misc5255T: git git://anongit.freedesktop.org/drm/drm-misc
49875256
4988DRM DRIVERS FOR BRIDGE CHIPS5257DRM DRIVERS FOR BRIDGE CHIPS
4989M: Archit Taneja <architt@codeaurora.org>
4990M: Andrzej Hajda <a.hajda@samsung.com>5258M: Andrzej Hajda <a.hajda@samsung.com>
4991R: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>5259R: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
4992S: Maintained5260S: Maintained
@@ -5042,6 +5310,15 @@ S: Maintained
5042F: drivers/gpu/drm/hisilicon/5310F: drivers/gpu/drm/hisilicon/
5043F: Documentation/devicetree/bindings/display/hisilicon/5311F: Documentation/devicetree/bindings/display/hisilicon/
50445312
5313DRM DRIVERS FOR LIMA
5314M: Qiang Yu <yuq825@gmail.com>
5315L: dri-devel@lists.freedesktop.org
5316L: lima@lists.freedesktop.org (moderated for non-subscribers)
5317S: Maintained
5318F: drivers/gpu/drm/lima/
5319F: include/uapi/drm/lima_drm.h
5320T: git git://anongit.freedesktop.org/drm/drm-misc
5321
5045DRM DRIVERS FOR MEDIATEK5322DRM DRIVERS FOR MEDIATEK
5046M: CK Hu <ck.hu@mediatek.com>5323M: CK Hu <ck.hu@mediatek.com>
5047M: Philipp Zabel <p.zabel@pengutronix.de>5324M: Philipp Zabel <p.zabel@pengutronix.de>
@@ -5141,7 +5418,7 @@ DRM DRIVERS FOR VIVANTE GPU IP
5141M: Lucas Stach <l.stach@pengutronix.de>5418M: Lucas Stach <l.stach@pengutronix.de>
5142R: Russell King <linux+etnaviv@armlinux.org.uk>5419R: Russell King <linux+etnaviv@armlinux.org.uk>
5143R: Christian Gmeiner <christian.gmeiner@gmail.com>5420R: Christian Gmeiner <christian.gmeiner@gmail.com>
5144L: etnaviv@lists.freedesktop.org5421L: etnaviv@lists.freedesktop.org (moderated for non-subscribers)
5145L: dri-devel@lists.freedesktop.org5422L: dri-devel@lists.freedesktop.org
5146S: Maintained5423S: Maintained
5147F: drivers/gpu/drm/etnaviv/5424F: drivers/gpu/drm/etnaviv/
@@ -5178,7 +5455,7 @@ DRM DRIVERS FOR XEN
5178M: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>5455M: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
5179T: git git://anongit.freedesktop.org/drm/drm-misc5456T: git git://anongit.freedesktop.org/drm/drm-misc
5180L: dri-devel@lists.freedesktop.org5457L: dri-devel@lists.freedesktop.org
5181L: xen-devel@lists.xen.org5458L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
5182S: Supported5459S: Supported
5183F: drivers/gpu/drm/xen/5460F: drivers/gpu/drm/xen/
5184F: Documentation/gpu/xen-front.rst5461F: Documentation/gpu/xen-front.rst
@@ -5396,6 +5673,12 @@ L: linux-edac@vger.kernel.org
5396S: Maintained5673S: Maintained
5397F: drivers/edac/amd64_edac*5674F: drivers/edac/amd64_edac*
53985675
5676EDAC-AST2500
5677M: Stefan Schaeckeler <sschaeck@cisco.com>
5678S: Supported
5679F: drivers/edac/aspeed_edac.c
5680F: Documentation/devicetree/bindings/edac/aspeed-sdram-edac.txt
5681
5399EDAC-CALXEDA5682EDAC-CALXEDA
5400M: Robert Richter <rric@kernel.org>5683M: Robert Richter <rric@kernel.org>
5401L: linux-edac@vger.kernel.org5684L: linux-edac@vger.kernel.org
@@ -5420,6 +5703,7 @@ F: drivers/edac/thunderx_edac*
5420EDAC-CORE5703EDAC-CORE
5421M: Borislav Petkov <bp@alien8.de>5704M: Borislav Petkov <bp@alien8.de>
5422M: Mauro Carvalho Chehab <mchehab@kernel.org>5705M: Mauro Carvalho Chehab <mchehab@kernel.org>
5706R: James Morse <james.morse@arm.com>
5423L: linux-edac@vger.kernel.org5707L: linux-edac@vger.kernel.org
5424T: git git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git for-next5708T: git git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git for-next
5425T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac.git linux_next5709T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac.git linux_next
@@ -5452,6 +5736,12 @@ L: linux-edac@vger.kernel.org
5452S: Maintained5736S: Maintained
5453F: drivers/edac/ghes_edac.c5737F: drivers/edac/ghes_edac.c
54545738
5739EDAC-I10NM
5740M: Tony Luck <tony.luck@intel.com>
5741L: linux-edac@vger.kernel.org
5742S: Maintained
5743F: drivers/edac/i10nm_base.c
5744
5455EDAC-I30005745EDAC-I3000
5456L: linux-edac@vger.kernel.org5746L: linux-edac@vger.kernel.org
5457S: Orphan5747S: Orphan
@@ -5533,7 +5823,7 @@ EDAC-SKYLAKE
5533M: Tony Luck <tony.luck@intel.com>5823M: Tony Luck <tony.luck@intel.com>
5534L: linux-edac@vger.kernel.org5824L: linux-edac@vger.kernel.org
5535S: Maintained5825S: Maintained
5536F: drivers/edac/skx_edac.c5826F: drivers/edac/skx_*.c
55375827
5538EDAC-TI5828EDAC-TI
5539M: Tero Kristo <t-kristo@ti.com>5829M: Tero Kristo <t-kristo@ti.com>
@@ -5552,7 +5842,7 @@ F: drivers/edac/qcom_edac.c
5552EDIROL UA-101/UA-1000 DRIVER5842EDIROL UA-101/UA-1000 DRIVER
5553M: Clemens Ladisch <clemens@ladisch.de>5843M: Clemens Ladisch <clemens@ladisch.de>
5554L: alsa-devel@alsa-project.org (moderated for non-subscribers)5844L: alsa-devel@alsa-project.org (moderated for non-subscribers)
5555T: git git://git.alsa-project.org/alsa-kernel.git5845T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
5556S: Maintained5846S: Maintained
5557F: sound/usb/misc/ua101.c5847F: sound/usb/misc/ua101.c
55585848
@@ -5689,7 +5979,7 @@ L: netdev@vger.kernel.org
5689S: Maintained5979S: Maintained
5690F: Documentation/ABI/testing/sysfs-bus-mdio5980F: Documentation/ABI/testing/sysfs-bus-mdio
5691F: Documentation/devicetree/bindings/net/mdio*5981F: Documentation/devicetree/bindings/net/mdio*
5692F: Documentation/networking/phy.txt5982F: Documentation/networking/phy.rst
5693F: drivers/net/phy/5983F: drivers/net/phy/
5694F: drivers/of/of_mdio.c5984F: drivers/of/of_mdio.c
5695F: drivers/of/of_net.c5985F: drivers/of/of_net.c
@@ -5791,7 +6081,7 @@ F71805F HARDWARE MONITORING DRIVER
5791M: Jean Delvare <jdelvare@suse.com>6081M: Jean Delvare <jdelvare@suse.com>
5792L: linux-hwmon@vger.kernel.org6082L: linux-hwmon@vger.kernel.org
5793S: Maintained6083S: Maintained
5794F: Documentation/hwmon/f71805f6084F: Documentation/hwmon/f71805f.rst
5795F: drivers/hwmon/f71805f.c6085F: drivers/hwmon/f71805f.c
57966086
5797FADDR2LINE6087FADDR2LINE
@@ -5852,7 +6142,7 @@ S: Maintained
5852F: drivers/media/tuners/fc2580*6142F: drivers/media/tuners/fc2580*
58536143
5854FCOE SUBSYSTEM (libfc, libfcoe, fcoe)6144FCOE SUBSYSTEM (libfc, libfcoe, fcoe)
5855M: Johannes Thumshirn <jth@kernel.org>6145M: Hannes Reinecke <hare@suse.de>
5856L: linux-scsi@vger.kernel.org6146L: linux-scsi@vger.kernel.org
5857W: www.Open-FCoE.org6147W: www.Open-FCoE.org
5858S: Supported6148S: Supported
@@ -5879,6 +6169,7 @@ L: linux-fsdevel@vger.kernel.org
5879S: Maintained6169S: Maintained
5880F: fs/*6170F: fs/*
5881F: include/linux/fs.h6171F: include/linux/fs.h
6172F: include/linux/fs_types.h
5882F: include/uapi/linux/fs.h6173F: include/uapi/linux/fs.h
58836174
5884FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER6175FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
@@ -5891,7 +6182,7 @@ F: include/linux/f75375s.h
5891FIREWIRE AUDIO DRIVERS6182FIREWIRE AUDIO DRIVERS
5892M: Clemens Ladisch <clemens@ladisch.de>6183M: Clemens Ladisch <clemens@ladisch.de>
5893L: alsa-devel@alsa-project.org (moderated for non-subscribers)6184L: alsa-devel@alsa-project.org (moderated for non-subscribers)
5894T: git git://git.alsa-project.org/alsa-kernel.git6185T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
5895S: Maintained6186S: Maintained
5896F: sound/firewire/6187F: sound/firewire/
58976188
@@ -5953,7 +6244,6 @@ F: include/linux/ipmi-fru.h
5953K: fmc_d.*register6244K: fmc_d.*register
59546245
5955FPGA MANAGER FRAMEWORK6246FPGA MANAGER FRAMEWORK
5956M: Alan Tull <atull@kernel.org>
5957M: Moritz Fischer <mdf@kernel.org>6247M: Moritz Fischer <mdf@kernel.org>
5958L: linux-fpga@vger.kernel.org6248L: linux-fpga@vger.kernel.org
5959S: Maintained6249S: Maintained
@@ -6021,6 +6311,12 @@ L: linuxppc-dev@lists.ozlabs.org
6021S: Maintained6311S: Maintained
6022F: drivers/dma/fsldma.*6312F: drivers/dma/fsldma.*
60236313
6314FREESCALE ENETC ETHERNET DRIVERS
6315M: Claudiu Manoil <claudiu.manoil@nxp.com>
6316L: netdev@vger.kernel.org
6317S: Maintained
6318F: drivers/net/ethernet/freescale/enetc/
6319
6024FREESCALE eTSEC ETHERNET DRIVER (GIANFAR)6320FREESCALE eTSEC ETHERNET DRIVER (GIANFAR)
6025M: Claudiu Manoil <claudiu.manoil@nxp.com>6321M: Claudiu Manoil <claudiu.manoil@nxp.com>
6026L: netdev@vger.kernel.org6322L: netdev@vger.kernel.org
@@ -6084,15 +6380,17 @@ FREESCALE QORIQ PTP CLOCK DRIVER
6084M: Yangbo Lu <yangbo.lu@nxp.com>6380M: Yangbo Lu <yangbo.lu@nxp.com>
6085L: netdev@vger.kernel.org6381L: netdev@vger.kernel.org
6086S: Maintained6382S: Maintained
6383F: drivers/net/ethernet/freescale/enetc/enetc_ptp.c
6087F: drivers/ptp/ptp_qoriq.c6384F: drivers/ptp/ptp_qoriq.c
6385F: drivers/ptp/ptp_qoriq_debugfs.c
6088F: include/linux/fsl/ptp_qoriq.h6386F: include/linux/fsl/ptp_qoriq.h
6089F: Documentation/devicetree/bindings/ptp/ptp-qoriq.txt6387F: Documentation/devicetree/bindings/ptp/ptp-qoriq.txt
60906388
6091FREESCALE QUAD SPI DRIVER6389FREESCALE QUAD SPI DRIVER
6092M: Han Xu <han.xu@nxp.com>6390M: Han Xu <han.xu@nxp.com>
6093L: linux-mtd@lists.infradead.org6391L: linux-spi@vger.kernel.org
6094S: Maintained6392S: Maintained
6095F: drivers/mtd/spi-nor/fsl-quadspi.c6393F: drivers/spi/spi-fsl-qspi.c
60966394
6097FREESCALE QUICC ENGINE LIBRARY6395FREESCALE QUICC ENGINE LIBRARY
6098M: Qiang Zhao <qiang.zhao@nxp.com>6396M: Qiang Zhao <qiang.zhao@nxp.com>
@@ -6143,7 +6441,7 @@ FREESCALE SOC SOUND DRIVERS
6143M: Timur Tabi <timur@kernel.org>6441M: Timur Tabi <timur@kernel.org>
6144M: Nicolin Chen <nicoleotsuka@gmail.com>6442M: Nicolin Chen <nicoleotsuka@gmail.com>
6145M: Xiubo Li <Xiubo.Lee@gmail.com>6443M: Xiubo Li <Xiubo.Lee@gmail.com>
6146R: Fabio Estevam <fabio.estevam@nxp.com>6444R: Fabio Estevam <festevam@gmail.com>
6147L: alsa-devel@alsa-project.org (moderated for non-subscribers)6445L: alsa-devel@alsa-project.org (moderated for non-subscribers)
6148L: linuxppc-dev@lists.ozlabs.org6446L: linuxppc-dev@lists.ozlabs.org
6149S: Maintained6447S: Maintained
@@ -6191,9 +6489,10 @@ F: include/linux/fscache*.h
6191FSCRYPT: FILE SYSTEM LEVEL ENCRYPTION SUPPORT6489FSCRYPT: FILE SYSTEM LEVEL ENCRYPTION SUPPORT
6192M: Theodore Y. Ts'o <tytso@mit.edu>6490M: Theodore Y. Ts'o <tytso@mit.edu>
6193M: Jaegeuk Kim <jaegeuk@kernel.org>6491M: Jaegeuk Kim <jaegeuk@kernel.org>
6492M: Eric Biggers <ebiggers@kernel.org>
6194L: linux-fscrypt@vger.kernel.org6493L: linux-fscrypt@vger.kernel.org
6195Q: https://patchwork.kernel.org/project/linux-fscrypt/list/6494Q: https://patchwork.kernel.org/project/linux-fscrypt/list/
6196T: git git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt.git6495T: git git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt.git
6197S: Supported6496S: Supported
6198F: fs/crypto/6497F: fs/crypto/
6199F: include/linux/fscrypt*.h6498F: include/linux/fscrypt*.h
@@ -6254,7 +6553,6 @@ L: linux-kernel@vger.kernel.org
6254T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core6553T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
6255S: Maintained6554S: Maintained
6256F: kernel/futex.c6555F: kernel/futex.c
6257F: kernel/futex_compat.c
6258F: include/asm-generic/futex.h6556F: include/asm-generic/futex.h
6259F: include/linux/futex.h6557F: include/linux/futex.h
6260F: include/uapi/linux/futex.h6558F: include/uapi/linux/futex.h
@@ -6307,7 +6605,7 @@ S: Maintained
6307F: drivers/media/radio/radio-gemtek*6605F: drivers/media/radio/radio-gemtek*
63086606
6309GENERIC GPIO I2C DRIVER6607GENERIC GPIO I2C DRIVER
6310M: Haavard Skinnemoen <hskinnemoen@gmail.com>6608M: Wolfram Sang <wsa+renesas@sang-engineering.com>
6311S: Supported6609S: Supported
6312F: drivers/i2c/busses/i2c-gpio.c6610F: drivers/i2c/busses/i2c-gpio.c
6313F: include/linux/platform_data/i2c-gpio.h6611F: include/linux/platform_data/i2c-gpio.h
@@ -6439,7 +6737,7 @@ M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
6439L: linux-gpio@vger.kernel.org6737L: linux-gpio@vger.kernel.org
6440L: linux-acpi@vger.kernel.org6738L: linux-acpi@vger.kernel.org
6441S: Maintained6739S: Maintained
6442F: Documentation/acpi/gpio-properties.txt6740F: Documentation/firmware-guide/acpi/gpio-properties.rst
6443F: drivers/gpio/gpiolib-acpi.c6741F: drivers/gpio/gpiolib-acpi.c
64446742
6445GPIO IR Transmitter6743GPIO IR Transmitter
@@ -6639,6 +6937,15 @@ F: drivers/clocksource/h8300_*.c
6639F: drivers/clk/h8300/6937F: drivers/clk/h8300/
6640F: drivers/irqchip/irq-renesas-h8*.c6938F: drivers/irqchip/irq-renesas-h8*.c
66416939
6940HABANALABS PCI DRIVER
6941M: Oded Gabbay <oded.gabbay@gmail.com>
6942T: git https://github.com/HabanaAI/linux.git
6943S: Supported
6944F: drivers/misc/habanalabs/
6945F: include/uapi/misc/habanalabs.h
6946F: Documentation/ABI/testing/sysfs-driver-habanalabs
6947F: Documentation/ABI/testing/debugfs-driver-habanalabs
6948
6642HACKRF MEDIA DRIVER6949HACKRF MEDIA DRIVER
6643M: Antti Palosaari <crope@iki.fi>6950M: Antti Palosaari <crope@iki.fi>
6644L: linux-media@vger.kernel.org6951L: linux-media@vger.kernel.org
@@ -6996,7 +7303,7 @@ M: Haiyang Zhang <haiyangz@microsoft.com>
6996M: Stephen Hemminger <sthemmin@microsoft.com>7303M: Stephen Hemminger <sthemmin@microsoft.com>
6997M: Sasha Levin <sashal@kernel.org>7304M: Sasha Levin <sashal@kernel.org>
6998T: git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git7305T: git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
6999L: devel@linuxdriverproject.org7306L: linux-hyperv@vger.kernel.org
7000S: Supported7307S: Supported
7001F: Documentation/networking/device_drivers/microsoft/netvsc.txt7308F: Documentation/networking/device_drivers/microsoft/netvsc.txt
7002F: arch/x86/include/asm/mshyperv.h7309F: arch/x86/include/asm/mshyperv.h
@@ -7012,6 +7319,7 @@ F: drivers/net/hyperv/
7012F: drivers/scsi/storvsc_drv.c7319F: drivers/scsi/storvsc_drv.c
7013F: drivers/uio/uio_hv_generic.c7320F: drivers/uio/uio_hv_generic.c
7014F: drivers/video/fbdev/hyperv_fb.c7321F: drivers/video/fbdev/hyperv_fb.c
7322F: drivers/iommu/hyperv_iommu.c
7015F: net/vmw_vsock/hyperv_transport.c7323F: net/vmw_vsock/hyperv_transport.c
7016F: include/linux/hyperv.h7324F: include/linux/hyperv.h
7017F: include/uapi/linux/hyperv.h7325F: include/uapi/linux/hyperv.h
@@ -7054,6 +7362,7 @@ I2C MV64XXX MARVELL AND ALLWINNER DRIVER
7054M: Gregory CLEMENT <gregory.clement@bootlin.com>7362M: Gregory CLEMENT <gregory.clement@bootlin.com>
7055L: linux-i2c@vger.kernel.org7363L: linux-i2c@vger.kernel.org
7056S: Maintained7364S: Maintained
7365F: Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
7057F: drivers/i2c/busses/i2c-mv64xxx.c7366F: drivers/i2c/busses/i2c-mv64xxx.c
70587367
7059I2C OVER PARALLEL PORT7368I2C OVER PARALLEL PORT
@@ -7161,6 +7470,7 @@ F: drivers/i2c/i2c-stub.c
7161I3C SUBSYSTEM7470I3C SUBSYSTEM
7162M: Boris Brezillon <bbrezillon@kernel.org>7471M: Boris Brezillon <bbrezillon@kernel.org>
7163L: linux-i3c@lists.infradead.org7472L: linux-i3c@lists.infradead.org
7473C: irc://chat.freenode.net/linux-i3c
7164T: git git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git7474T: git git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
7165S: Maintained7475S: Maintained
7166F: Documentation/ABI/testing/sysfs-bus-i3c7476F: Documentation/ABI/testing/sysfs-bus-i3c
@@ -7168,7 +7478,6 @@ F: Documentation/devicetree/bindings/i3c/
7168F: Documentation/driver-api/i3c7478F: Documentation/driver-api/i3c
7169F: drivers/i3c/7479F: drivers/i3c/
7170F: include/linux/i3c/7480F: include/linux/i3c/
7171F: include/dt-bindings/i3c/
71727481
7173I3C DRIVER FOR SYNOPSYS DESIGNWARE7482I3C DRIVER FOR SYNOPSYS DESIGNWARE
7174M: Vitor Soares <vitor.soares@synopsys.com>7483M: Vitor Soares <vitor.soares@synopsys.com>
@@ -7221,13 +7530,12 @@ S: Supported
7221F: drivers/net/ethernet/ibm/ibmvnic.*7530F: drivers/net/ethernet/ibm/ibmvnic.*
72227531
7223IBM Power Virtual Accelerator Switchboard7532IBM Power Virtual Accelerator Switchboard
7224M: Sukadev Bhattiprolu7533M: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
7225L: linuxppc-dev@lists.ozlabs.org7534L: linuxppc-dev@lists.ozlabs.org
7226S: Supported7535S: Supported
7227F: arch/powerpc/platforms/powernv/vas*7536F: arch/powerpc/platforms/powernv/vas*
7228F: arch/powerpc/platforms/powernv/copy-paste.h7537F: arch/powerpc/platforms/powernv/copy-paste.h
7229F: arch/powerpc/include/asm/vas.h7538F: arch/powerpc/include/asm/vas.h
7230F: arch/powerpc/include/uapi/asm/vas.h
72317539
7232IBM Power Virtual Ethernet Device Driver7540IBM Power Virtual Ethernet Device Driver
7233M: Thomas Falcon <tlfalcon@linux.ibm.com>7541M: Thomas Falcon <tlfalcon@linux.ibm.com>
@@ -7274,14 +7582,14 @@ F: drivers/crypto/vmx/ghash*
7274F: drivers/crypto/vmx/ppc-xlate.pl7582F: drivers/crypto/vmx/ppc-xlate.pl
72757583
7276IBM Power PCI Hotplug Driver for RPA-compliant PPC64 platform7584IBM Power PCI Hotplug Driver for RPA-compliant PPC64 platform
7277M: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>7585M: Tyrel Datwyler <tyreld@linux.ibm.com>
7278L: linux-pci@vger.kernel.org7586L: linux-pci@vger.kernel.org
7279L: linuxppc-dev@lists.ozlabs.org7587L: linuxppc-dev@lists.ozlabs.org
7280S: Supported7588S: Supported
7281F: drivers/pci/hotplug/rpaphp*7589F: drivers/pci/hotplug/rpaphp*
72827590
7283IBM Power IO DLPAR Driver for RPA-compliant PPC64 platform7591IBM Power IO DLPAR Driver for RPA-compliant PPC64 platform
7284M: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>7592M: Tyrel Datwyler <tyreld@linux.ibm.com>
7285L: linux-pci@vger.kernel.org7593L: linux-pci@vger.kernel.org
7286L: linuxppc-dev@lists.ozlabs.org7594L: linuxppc-dev@lists.ozlabs.org
7287S: Supported7595S: Supported
@@ -7351,7 +7659,7 @@ F: include/net/mac802154.h
7351F: include/net/af_ieee802154.h7659F: include/net/af_ieee802154.h
7352F: include/net/cfg802154.h7660F: include/net/cfg802154.h
7353F: include/net/ieee802154_netdev.h7661F: include/net/ieee802154_netdev.h
7354F: Documentation/networking/ieee802154.txt7662F: Documentation/networking/ieee802154.rst
73557663
7356IFE PROTOCOL7664IFE PROTOCOL
7357M: Yotam Gigi <yotam.gi@gmail.com>7665M: Yotam Gigi <yotam.gi@gmail.com>
@@ -7453,7 +7761,7 @@ INA209 HARDWARE MONITOR DRIVER
7453M: Guenter Roeck <linux@roeck-us.net>7761M: Guenter Roeck <linux@roeck-us.net>
7454L: linux-hwmon@vger.kernel.org7762L: linux-hwmon@vger.kernel.org
7455S: Maintained7763S: Maintained
7456F: Documentation/hwmon/ina2097764F: Documentation/hwmon/ina209.rst
7457F: Documentation/devicetree/bindings/hwmon/ina2xx.txt7765F: Documentation/devicetree/bindings/hwmon/ina2xx.txt
7458F: drivers/hwmon/ina209.c7766F: drivers/hwmon/ina209.c
74597767
@@ -7461,7 +7769,7 @@ INA2XX HARDWARE MONITOR DRIVER
7461M: Guenter Roeck <linux@roeck-us.net>7769M: Guenter Roeck <linux@roeck-us.net>
7462L: linux-hwmon@vger.kernel.org7770L: linux-hwmon@vger.kernel.org
7463S: Maintained7771S: Maintained
7464F: Documentation/hwmon/ina2xx7772F: Documentation/hwmon/ina2xx.rst
7465F: drivers/hwmon/ina2xx.c7773F: drivers/hwmon/ina2xx.c
7466F: include/linux/platform_data/ina2xx.h7774F: include/linux/platform_data/ina2xx.h
74677775
@@ -7488,6 +7796,10 @@ F: drivers/infiniband/
7488F: include/uapi/linux/if_infiniband.h7796F: include/uapi/linux/if_infiniband.h
7489F: include/uapi/rdma/7797F: include/uapi/rdma/
7490F: include/rdma/7798F: include/rdma/
7799F: include/trace/events/ib_mad.h
7800F: include/trace/events/ib_umad.h
7801F: samples/bpf/ibumad_kern.c
7802F: samples/bpf/ibumad_user.c
74917803
7492INGENIC JZ4780 DMA Driver7804INGENIC JZ4780 DMA Driver
7493M: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>7805M: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
@@ -7498,7 +7810,7 @@ INGENIC JZ4780 NAND DRIVER
7498M: Harvey Hunt <harveyhuntnexus@gmail.com>7810M: Harvey Hunt <harveyhuntnexus@gmail.com>
7499L: linux-mtd@lists.infradead.org7811L: linux-mtd@lists.infradead.org
7500S: Maintained7812S: Maintained
7501F: drivers/mtd/nand/raw/jz4780_*7813F: drivers/mtd/nand/raw/ingenic/
75027814
7503INOTIFY7815INOTIFY
7504M: Jan Kara <jack@suse.cz>7816M: Jan Kara <jack@suse.cz>
@@ -7695,7 +8007,6 @@ M: Yong Zhi <yong.zhi@intel.com>
7695M: Sakari Ailus <sakari.ailus@linux.intel.com>8007M: Sakari Ailus <sakari.ailus@linux.intel.com>
7696M: Bingbu Cao <bingbu.cao@intel.com>8008M: Bingbu Cao <bingbu.cao@intel.com>
7697R: Tian Shu Qiu <tian.shu.qiu@intel.com>8009R: Tian Shu Qiu <tian.shu.qiu@intel.com>
7698R: Jian Xu Zheng <jian.xu.zheng@intel.com>
7699L: linux-media@vger.kernel.org8010L: linux-media@vger.kernel.org
7700S: Maintained8011S: Maintained
7701F: drivers/media/pci/intel/ipu3/8012F: drivers/media/pci/intel/ipu3/
@@ -7712,10 +8023,10 @@ F: Documentation/media/v4l-drivers/ipu3.rst
7712INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT8023INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
7713M: Krzysztof Halasa <khalasa@piap.pl>8024M: Krzysztof Halasa <khalasa@piap.pl>
7714S: Maintained8025S: Maintained
7715F: arch/arm/mach-ixp4xx/include/mach/qmgr.h8026F: include/linux/soc/ixp4xx/qmgr.h
7716F: arch/arm/mach-ixp4xx/include/mach/npe.h8027F: include/linux/soc/ixp4xx/npe.h
7717F: arch/arm/mach-ixp4xx/ixp4xx_qmgr.c8028F: drivers/soc/ixp4xx/ixp4xx-qmgr.c
7718F: arch/arm/mach-ixp4xx/ixp4xx_npe.c8029F: drivers/soc/ixp4xx/ixp4xx-npe.c
7719F: drivers/net/ethernet/xscale/ixp4xx_eth.c8030F: drivers/net/ethernet/xscale/ixp4xx_eth.c
7720F: drivers/net/wan/ixp4xx_hss.c8031F: drivers/net/wan/ixp4xx_hss.c
77218032
@@ -7880,6 +8191,17 @@ L: linux-gpio@vger.kernel.org
7880S: Maintained8191S: Maintained
7881F: drivers/gpio/gpio-intel-mid.c8192F: drivers/gpio/gpio-intel-mid.c
78828193
8194INTERCONNECT API
8195M: Georgi Djakov <georgi.djakov@linaro.org>
8196L: linux-pm@vger.kernel.org
8197S: Maintained
8198F: Documentation/interconnect/
8199F: Documentation/devicetree/bindings/interconnect/
8200F: drivers/interconnect/
8201F: include/dt-bindings/interconnect/
8202F: include/linux/interconnect-provider.h
8203F: include/linux/interconnect.h
8204
7883INVENSENSE MPU-3050 GYROSCOPE DRIVER8205INVENSENSE MPU-3050 GYROSCOPE DRIVER
7884M: Linus Walleij <linus.walleij@linaro.org>8206M: Linus Walleij <linus.walleij@linaro.org>
7885L: linux-iio@vger.kernel.org8207L: linux-iio@vger.kernel.org
@@ -7922,6 +8244,16 @@ F: include/linux/iommu.h
7922F: include/linux/of_iommu.h8244F: include/linux/of_iommu.h
7923F: include/linux/iova.h8245F: include/linux/iova.h
79248246
8247IO_URING
8248M: Jens Axboe <axboe@kernel.dk>
8249L: linux-block@vger.kernel.org
8250L: linux-fsdevel@vger.kernel.org
8251T: git git://git.kernel.dk/linux-block
8252T: git git://git.kernel.dk/liburing
8253S: Maintained
8254F: fs/io_uring.c
8255F: include/uapi/linux/io_uring.h
8256
7925IP MASQUERADING8257IP MASQUERADING
7926M: Juanjo Ciarlante <jjciarla@raiz.uncu.edu.ar>8258M: Juanjo Ciarlante <jjciarla@raiz.uncu.edu.ar>
7927S: Maintained8259S: Maintained
@@ -8070,7 +8402,7 @@ IT87 HARDWARE MONITORING DRIVER
8070M: Jean Delvare <jdelvare@suse.com>8402M: Jean Delvare <jdelvare@suse.com>
8071L: linux-hwmon@vger.kernel.org8403L: linux-hwmon@vger.kernel.org
8072S: Maintained8404S: Maintained
8073F: Documentation/hwmon/it878405F: Documentation/hwmon/it87.rst
8074F: drivers/hwmon/it87.c8406F: drivers/hwmon/it87.c
80758407
8076IT913X MEDIA DRIVER8408IT913X MEDIA DRIVER
@@ -8114,7 +8446,7 @@ M: Guenter Roeck <linux@roeck-us.net>
8114L: linux-hwmon@vger.kernel.org8446L: linux-hwmon@vger.kernel.org
8115S: Maintained8447S: Maintained
8116F: drivers/hwmon/jc42.c8448F: drivers/hwmon/jc42.c
8117F: Documentation/hwmon/jc428449F: Documentation/hwmon/jc42.rst
81188450
8119JFS FILESYSTEM8451JFS FILESYSTEM
8120M: Dave Kleikamp <shaggy@kernel.org>8452M: Dave Kleikamp <shaggy@kernel.org>
@@ -8133,9 +8465,11 @@ F: drivers/net/ethernet/jme.*
81338465
8134JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)8466JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
8135M: David Woodhouse <dwmw2@infradead.org>8467M: David Woodhouse <dwmw2@infradead.org>
8468M: Richard Weinberger <richard@nod.at>
8136L: linux-mtd@lists.infradead.org8469L: linux-mtd@lists.infradead.org
8137W: http://www.linux-mtd.infradead.org/doc/jffs2.html8470W: http://www.linux-mtd.infradead.org/doc/jffs2.html
8138S: Maintained8471T: git git://git.infradead.org/ubifs-2.6.git
8472S: Odd Fixes
8139F: fs/jffs2/8473F: fs/jffs2/
8140F: include/uapi/linux/jffs2.h8474F: include/uapi/linux/jffs2.h
81418475
@@ -8162,14 +8496,14 @@ K10TEMP HARDWARE MONITORING DRIVER
8162M: Clemens Ladisch <clemens@ladisch.de>8496M: Clemens Ladisch <clemens@ladisch.de>
8163L: linux-hwmon@vger.kernel.org8497L: linux-hwmon@vger.kernel.org
8164S: Maintained8498S: Maintained
8165F: Documentation/hwmon/k10temp8499F: Documentation/hwmon/k10temp.rst
8166F: drivers/hwmon/k10temp.c8500F: drivers/hwmon/k10temp.c
81678501
8168K8TEMP HARDWARE MONITORING DRIVER8502K8TEMP HARDWARE MONITORING DRIVER
8169M: Rudolf Marek <r.marek@assembler.cz>8503M: Rudolf Marek <r.marek@assembler.cz>
8170L: linux-hwmon@vger.kernel.org8504L: linux-hwmon@vger.kernel.org
8171S: Maintained8505S: Maintained
8172F: Documentation/hwmon/k8temp8506F: Documentation/hwmon/k8temp.rst
8173F: drivers/hwmon/k8temp.c8507F: drivers/hwmon/k8temp.c
81748508
8175KASAN8509KASAN
@@ -8230,6 +8564,7 @@ F: scripts/Kbuild*
8230F: scripts/Makefile*8564F: scripts/Makefile*
8231F: scripts/basic/8565F: scripts/basic/
8232F: scripts/mk*8566F: scripts/mk*
8567F: scripts/*vmlinux*
8233F: scripts/mod/8568F: scripts/mod/
8234F: scripts/package/8569F: scripts/package/
82358570
@@ -8240,7 +8575,7 @@ S: Odd Fixes
82408575
8241KERNEL NFSD, SUNRPC, AND LOCKD SERVERS8576KERNEL NFSD, SUNRPC, AND LOCKD SERVERS
8242M: "J. Bruce Fields" <bfields@fieldses.org>8577M: "J. Bruce Fields" <bfields@fieldses.org>
8243M: Jeff Layton <jlayton@kernel.org>8578M: Chuck Lever <chuck.lever@oracle.com>
8244L: linux-nfs@vger.kernel.org8579L: linux-nfs@vger.kernel.org
8245W: http://nfs.sourceforge.net/8580W: http://nfs.sourceforge.net/
8246T: git git://linux-nfs.org/~bfields/linux.git8581T: git git://linux-nfs.org/~bfields/linux.git
@@ -8256,6 +8591,7 @@ F: include/uapi/linux/sunrpc/
82568591
8257KERNEL SELFTEST FRAMEWORK8592KERNEL SELFTEST FRAMEWORK
8258M: Shuah Khan <shuah@kernel.org>8593M: Shuah Khan <shuah@kernel.org>
8594M: Shuah Khan <skhan@linuxfoundation.org>
8259L: linux-kselftest@vger.kernel.org8595L: linux-kselftest@vger.kernel.org
8260T: git git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git8596T: git git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git
8261Q: https://patchwork.kernel.org/project/linux-kselftest/list/8597Q: https://patchwork.kernel.org/project/linux-kselftest/list/
@@ -8286,6 +8622,7 @@ F: include/linux/kvm*
8286F: include/kvm/iodev.h8622F: include/kvm/iodev.h
8287F: virt/kvm/*8623F: virt/kvm/*
8288F: tools/kvm/8624F: tools/kvm/
8625F: tools/testing/selftests/kvm/
82898626
8290KERNEL VIRTUAL MACHINE FOR AMD-V (KVM/amd)8627KERNEL VIRTUAL MACHINE FOR AMD-V (KVM/amd)
8291M: Joerg Roedel <joro@8bytes.org>8628M: Joerg Roedel <joro@8bytes.org>
@@ -8295,29 +8632,23 @@ S: Maintained
8295F: arch/x86/include/asm/svm.h8632F: arch/x86/include/asm/svm.h
8296F: arch/x86/kvm/svm.c8633F: arch/x86/kvm/svm.c
82978634
8298KERNEL VIRTUAL MACHINE FOR ARM (KVM/arm)8635KERNEL VIRTUAL MACHINE FOR ARM/ARM64 (KVM/arm, KVM/arm64)
8299M: Christoffer Dall <christoffer.dall@arm.com>
8300M: Marc Zyngier <marc.zyngier@arm.com>8636M: Marc Zyngier <marc.zyngier@arm.com>
8637R: James Morse <james.morse@arm.com>
8638R: Julien Thierry <julien.thierry@arm.com>
8639R: Suzuki K Pouloze <suzuki.poulose@arm.com>
8301L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)8640L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
8302L: kvmarm@lists.cs.columbia.edu8641L: kvmarm@lists.cs.columbia.edu
8303W: http://systems.cs.columbia.edu/projects/kvm-arm
8304T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git8642T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git
8305S: Supported8643S: Maintained
8306F: arch/arm/include/uapi/asm/kvm*8644F: arch/arm/include/uapi/asm/kvm*
8307F: arch/arm/include/asm/kvm*8645F: arch/arm/include/asm/kvm*
8308F: arch/arm/kvm/8646F: arch/arm/kvm/
8309F: virt/kvm/arm/
8310F: include/kvm/arm_*
8311
8312KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64)
8313M: Christoffer Dall <christoffer.dall@arm.com>
8314M: Marc Zyngier <marc.zyngier@arm.com>
8315L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
8316L: kvmarm@lists.cs.columbia.edu
8317S: Maintained
8318F: arch/arm64/include/uapi/asm/kvm*8647F: arch/arm64/include/uapi/asm/kvm*
8319F: arch/arm64/include/asm/kvm*8648F: arch/arm64/include/asm/kvm*
8320F: arch/arm64/kvm/8649F: arch/arm64/kvm/
8650F: virt/kvm/arm/
8651F: include/kvm/arm_*
83218652
8322KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)8653KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
8323M: James Hogan <jhogan@kernel.org>8654M: James Hogan <jhogan@kernel.org>
@@ -8397,7 +8728,7 @@ F: security/keys/encrypted-keys/
8397KEYS-TRUSTED8728KEYS-TRUSTED
8398M: James Bottomley <jejb@linux.ibm.com>8729M: James Bottomley <jejb@linux.ibm.com>
8399M: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>8730M: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
8400M: Mimi Zohar <zohar@linuxibm.com>8731M: Mimi Zohar <zohar@linux.ibm.com>
8401L: linux-integrity@vger.kernel.org8732L: linux-integrity@vger.kernel.org
8402L: keyrings@vger.kernel.org8733L: keyrings@vger.kernel.org
8403S: Supported8734S: Supported
@@ -8478,6 +8809,7 @@ L7 BPF FRAMEWORK
8478M: John Fastabend <john.fastabend@gmail.com>8809M: John Fastabend <john.fastabend@gmail.com>
8479M: Daniel Borkmann <daniel@iogearbox.net>8810M: Daniel Borkmann <daniel@iogearbox.net>
8480L: netdev@vger.kernel.org8811L: netdev@vger.kernel.org
8812L: bpf@vger.kernel.org
8481S: Maintained8813S: Maintained
8482F: include/linux/skmsg.h8814F: include/linux/skmsg.h
8483F: net/core/skmsg.c8815F: net/core/skmsg.c
@@ -8525,6 +8857,7 @@ F: scripts/leaking_addresses.pl
8525LED SUBSYSTEM8857LED SUBSYSTEM
8526M: Jacek Anaszewski <jacek.anaszewski@gmail.com>8858M: Jacek Anaszewski <jacek.anaszewski@gmail.com>
8527M: Pavel Machek <pavel@ucw.cz>8859M: Pavel Machek <pavel@ucw.cz>
8860R: Dan Murphy <dmurphy@ti.com>
8528L: linux-leds@vger.kernel.org8861L: linux-leds@vger.kernel.org
8529T: git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git8862T: git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git
8530S: Maintained8863S: Maintained
@@ -8639,7 +8972,6 @@ S: Maintained
8639F: tools/lib/lockdep/8972F: tools/lib/lockdep/
86408973
8641LIBNVDIMM BLK: MMIO-APERTURE DRIVER8974LIBNVDIMM BLK: MMIO-APERTURE DRIVER
8642M: Ross Zwisler <zwisler@kernel.org>
8643M: Dan Williams <dan.j.williams@intel.com>8975M: Dan Williams <dan.j.williams@intel.com>
8644M: Vishal Verma <vishal.l.verma@intel.com>8976M: Vishal Verma <vishal.l.verma@intel.com>
8645M: Dave Jiang <dave.jiang@intel.com>8977M: Dave Jiang <dave.jiang@intel.com>
@@ -8652,7 +8984,6 @@ F: drivers/nvdimm/region_devs.c
8652LIBNVDIMM BTT: BLOCK TRANSLATION TABLE8984LIBNVDIMM BTT: BLOCK TRANSLATION TABLE
8653M: Vishal Verma <vishal.l.verma@intel.com>8985M: Vishal Verma <vishal.l.verma@intel.com>
8654M: Dan Williams <dan.j.williams@intel.com>8986M: Dan Williams <dan.j.williams@intel.com>
8655M: Ross Zwisler <zwisler@kernel.org>
8656M: Dave Jiang <dave.jiang@intel.com>8987M: Dave Jiang <dave.jiang@intel.com>
8657L: linux-nvdimm@lists.01.org8988L: linux-nvdimm@lists.01.org
8658Q: https://patchwork.kernel.org/project/linux-nvdimm/list/8989Q: https://patchwork.kernel.org/project/linux-nvdimm/list/
@@ -8660,7 +8991,6 @@ S: Supported
8660F: drivers/nvdimm/btt*8991F: drivers/nvdimm/btt*
86618992
8662LIBNVDIMM PMEM: PERSISTENT MEMORY DRIVER8993LIBNVDIMM PMEM: PERSISTENT MEMORY DRIVER
8663M: Ross Zwisler <zwisler@kernel.org>
8664M: Dan Williams <dan.j.williams@intel.com>8994M: Dan Williams <dan.j.williams@intel.com>
8665M: Vishal Verma <vishal.l.verma@intel.com>8995M: Vishal Verma <vishal.l.verma@intel.com>
8666M: Dave Jiang <dave.jiang@intel.com>8996M: Dave Jiang <dave.jiang@intel.com>
@@ -8679,9 +9009,10 @@ F: Documentation/devicetree/bindings/pmem/pmem-region.txt
86799009
8680LIBNVDIMM: NON-VOLATILE MEMORY DEVICE SUBSYSTEM9010LIBNVDIMM: NON-VOLATILE MEMORY DEVICE SUBSYSTEM
8681M: Dan Williams <dan.j.williams@intel.com>9011M: Dan Williams <dan.j.williams@intel.com>
8682M: Ross Zwisler <zwisler@kernel.org>
8683M: Vishal Verma <vishal.l.verma@intel.com>9012M: Vishal Verma <vishal.l.verma@intel.com>
8684M: Dave Jiang <dave.jiang@intel.com>9013M: Dave Jiang <dave.jiang@intel.com>
9014M: Keith Busch <keith.busch@intel.com>
9015M: Ira Weiny <ira.weiny@intel.com>
8685L: linux-nvdimm@lists.01.org9016L: linux-nvdimm@lists.01.org
8686Q: https://patchwork.kernel.org/project/linux-nvdimm/list/9017Q: https://patchwork.kernel.org/project/linux-nvdimm/list/
8687T: git git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git9018T: git git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git
@@ -8799,7 +9130,7 @@ F: drivers/misc/lkdtm/*
8799LINUX KERNEL MEMORY CONSISTENCY MODEL (LKMM)9130LINUX KERNEL MEMORY CONSISTENCY MODEL (LKMM)
8800M: Alan Stern <stern@rowland.harvard.edu>9131M: Alan Stern <stern@rowland.harvard.edu>
8801M: Andrea Parri <andrea.parri@amarulasolutions.com>9132M: Andrea Parri <andrea.parri@amarulasolutions.com>
8802M: Will Deacon <will.deacon@arm.com>9133M: Will Deacon <will@kernel.org>
8803M: Peter Zijlstra <peterz@infradead.org>9134M: Peter Zijlstra <peterz@infradead.org>
8804M: Boqun Feng <boqun.feng@gmail.com>9135M: Boqun Feng <boqun.feng@gmail.com>
8805M: Nicholas Piggin <npiggin@gmail.com>9136M: Nicholas Piggin <npiggin@gmail.com>
@@ -8812,7 +9143,7 @@ R: Daniel Lustig <dlustig@nvidia.com>
8812L: linux-kernel@vger.kernel.org9143L: linux-kernel@vger.kernel.org
8813L: linux-arch@vger.kernel.org9144L: linux-arch@vger.kernel.org
8814S: Supported9145S: Supported
8815T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git9146T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
8816F: tools/memory-model/9147F: tools/memory-model/
8817F: Documentation/atomic_bitops.txt9148F: Documentation/atomic_bitops.txt
8818F: Documentation/atomic_t.txt9149F: Documentation/atomic_t.txt
@@ -8829,10 +9160,10 @@ F: drivers/platform/x86/hp_accel.c
88299160
8830LIVE PATCHING9161LIVE PATCHING
8831M: Josh Poimboeuf <jpoimboe@redhat.com>9162M: Josh Poimboeuf <jpoimboe@redhat.com>
8832M: Jessica Yu <jeyu@kernel.org>
8833M: Jiri Kosina <jikos@kernel.org>9163M: Jiri Kosina <jikos@kernel.org>
8834M: Miroslav Benes <mbenes@suse.cz>9164M: Miroslav Benes <mbenes@suse.cz>
8835R: Petr Mladek <pmladek@suse.com>9165M: Petr Mladek <pmladek@suse.com>
9166R: Joe Lawrence <joe.lawrence@redhat.com>
8836S: Maintained9167S: Maintained
8837F: kernel/livepatch/9168F: kernel/livepatch/
8838F: include/linux/livepatch.h9169F: include/linux/livepatch.h
@@ -8841,8 +9172,9 @@ F: arch/x86/kernel/livepatch.c
8841F: Documentation/livepatch/9172F: Documentation/livepatch/
8842F: Documentation/ABI/testing/sysfs-kernel-livepatch9173F: Documentation/ABI/testing/sysfs-kernel-livepatch
8843F: samples/livepatch/9174F: samples/livepatch/
9175F: tools/testing/selftests/livepatch/
8844L: live-patching@vger.kernel.org9176L: live-patching@vger.kernel.org
8845T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching.git9177T: git git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching.git
88469178
8847LLC (802.2)9179LLC (802.2)
8848L: netdev@vger.kernel.org9180L: netdev@vger.kernel.org
@@ -8862,21 +9194,21 @@ LM78 HARDWARE MONITOR DRIVER
8862M: Jean Delvare <jdelvare@suse.com>9194M: Jean Delvare <jdelvare@suse.com>
8863L: linux-hwmon@vger.kernel.org9195L: linux-hwmon@vger.kernel.org
8864S: Maintained9196S: Maintained
8865F: Documentation/hwmon/lm789197F: Documentation/hwmon/lm78.rst
8866F: drivers/hwmon/lm78.c9198F: drivers/hwmon/lm78.c
88679199
8868LM83 HARDWARE MONITOR DRIVER9200LM83 HARDWARE MONITOR DRIVER
8869M: Jean Delvare <jdelvare@suse.com>9201M: Jean Delvare <jdelvare@suse.com>
8870L: linux-hwmon@vger.kernel.org9202L: linux-hwmon@vger.kernel.org
8871S: Maintained9203S: Maintained
8872F: Documentation/hwmon/lm839204F: Documentation/hwmon/lm83.rst
8873F: drivers/hwmon/lm83.c9205F: drivers/hwmon/lm83.c
88749206
8875LM90 HARDWARE MONITOR DRIVER9207LM90 HARDWARE MONITOR DRIVER
8876M: Jean Delvare <jdelvare@suse.com>9208M: Jean Delvare <jdelvare@suse.com>
8877L: linux-hwmon@vger.kernel.org9209L: linux-hwmon@vger.kernel.org
8878S: Maintained9210S: Maintained
8879F: Documentation/hwmon/lm909211F: Documentation/hwmon/lm90.rst
8880F: Documentation/devicetree/bindings/hwmon/lm90.txt9212F: Documentation/devicetree/bindings/hwmon/lm90.txt
8881F: drivers/hwmon/lm90.c9213F: drivers/hwmon/lm90.c
8882F: include/dt-bindings/thermal/lm90.h9214F: include/dt-bindings/thermal/lm90.h
@@ -8885,7 +9217,7 @@ LM95234 HARDWARE MONITOR DRIVER
8885M: Guenter Roeck <linux@roeck-us.net>9217M: Guenter Roeck <linux@roeck-us.net>
8886L: linux-hwmon@vger.kernel.org9218L: linux-hwmon@vger.kernel.org
8887S: Maintained9219S: Maintained
8888F: Documentation/hwmon/lm952349220F: Documentation/hwmon/lm95234.rst
8889F: drivers/hwmon/lm95234.c9221F: drivers/hwmon/lm95234.c
88909222
8891LME2510 MEDIA DRIVER9223LME2510 MEDIA DRIVER
@@ -8906,7 +9238,7 @@ F: Documentation/admin-guide/LSM/LoadPin.rst
8906LOCKING PRIMITIVES9238LOCKING PRIMITIVES
8907M: Peter Zijlstra <peterz@infradead.org>9239M: Peter Zijlstra <peterz@infradead.org>
8908M: Ingo Molnar <mingo@redhat.com>9240M: Ingo Molnar <mingo@redhat.com>
8909M: Will Deacon <will.deacon@arm.com>9241M: Will Deacon <will@kernel.org>
8910L: linux-kernel@vger.kernel.org9242L: linux-kernel@vger.kernel.org
8911T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core9243T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
8912S: Maintained9244S: Maintained
@@ -8917,7 +9249,6 @@ F: arch/*/include/asm/spinlock*.h
8917F: include/linux/rwlock*.h9249F: include/linux/rwlock*.h
8918F: include/linux/mutex*.h9250F: include/linux/mutex*.h
8919F: include/linux/rwsem*.h9251F: include/linux/rwsem*.h
8920F: arch/*/include/asm/rwsem.h
8921F: include/linux/seqlock.h9252F: include/linux/seqlock.h
8922F: lib/locking*.[ch]9253F: lib/locking*.[ch]
8923F: kernel/locking/9254F: kernel/locking/
@@ -8959,7 +9290,7 @@ LTC4261 HARDWARE MONITOR DRIVER
8959M: Guenter Roeck <linux@roeck-us.net>9290M: Guenter Roeck <linux@roeck-us.net>
8960L: linux-hwmon@vger.kernel.org9291L: linux-hwmon@vger.kernel.org
8961S: Maintained9292S: Maintained
8962F: Documentation/hwmon/ltc42619293F: Documentation/hwmon/ltc4261.rst
8963F: drivers/hwmon/ltc4261.c9294F: drivers/hwmon/ltc4261.c
89649295
8965LTC4306 I2C MULTIPLEXER DRIVER9296LTC4306 I2C MULTIPLEXER DRIVER
@@ -9080,6 +9411,14 @@ F: drivers/gpu/drm/armada/
9080F: include/uapi/drm/armada_drm.h9411F: include/uapi/drm/armada_drm.h
9081F: Documentation/devicetree/bindings/display/armada/9412F: Documentation/devicetree/bindings/display/armada/
90829413
9414MARVELL ARMADA 3700 PHY DRIVERS
9415M: Miquel Raynal <miquel.raynal@bootlin.com>
9416S: Maintained
9417F: drivers/phy/marvell/phy-mvebu-a3700-comphy.c
9418F: drivers/phy/marvell/phy-mvebu-a3700-utmi.c
9419F: Documentation/devicetree/bindings/phy/phy-mvebu-comphy.txt
9420F: Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt
9421
9083MARVELL CRYPTO DRIVER9422MARVELL CRYPTO DRIVER
9084M: Boris Brezillon <bbrezillon@kernel.org>9423M: Boris Brezillon <bbrezillon@kernel.org>
9085M: Arnaud Ebalard <arno@natisbad.org>9424M: Arnaud Ebalard <arno@natisbad.org>
@@ -9182,7 +9521,7 @@ MAX16065 HARDWARE MONITOR DRIVER
9182M: Guenter Roeck <linux@roeck-us.net>9521M: Guenter Roeck <linux@roeck-us.net>
9183L: linux-hwmon@vger.kernel.org9522L: linux-hwmon@vger.kernel.org
9184S: Maintained9523S: Maintained
9185F: Documentation/hwmon/max160659524F: Documentation/hwmon/max16065.rst
9186F: drivers/hwmon/max16065.c9525F: drivers/hwmon/max16065.c
91879526
9188MAX2175 SDR TUNER DRIVER9527MAX2175 SDR TUNER DRIVER
@@ -9198,14 +9537,14 @@ F: include/uapi/linux/max2175.h
9198MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER9537MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
9199L: linux-hwmon@vger.kernel.org9538L: linux-hwmon@vger.kernel.org
9200S: Orphan9539S: Orphan
9201F: Documentation/hwmon/max66509540F: Documentation/hwmon/max6650.rst
9202F: drivers/hwmon/max6650.c9541F: drivers/hwmon/max6650.c
92039542
9204MAX6697 HARDWARE MONITOR DRIVER9543MAX6697 HARDWARE MONITOR DRIVER
9205M: Guenter Roeck <linux@roeck-us.net>9544M: Guenter Roeck <linux@roeck-us.net>
9206L: linux-hwmon@vger.kernel.org9545L: linux-hwmon@vger.kernel.org
9207S: Maintained9546S: Maintained
9208F: Documentation/hwmon/max66979547F: Documentation/hwmon/max6697.rst
9209F: Documentation/devicetree/bindings/hwmon/max6697.txt9548F: Documentation/devicetree/bindings/hwmon/max6697.txt
9210F: drivers/hwmon/max6697.c9549F: drivers/hwmon/max6697.c
9211F: include/linux/platform_data/max6697.h9550F: include/linux/platform_data/max6697.h
@@ -9217,6 +9556,27 @@ S: Maintained
9217F: Documentation/devicetree/bindings/sound/max9860.txt9556F: Documentation/devicetree/bindings/sound/max9860.txt
9218F: sound/soc/codecs/max9860.*9557F: sound/soc/codecs/max9860.*
92199558
9559MAXBOTIX ULTRASONIC RANGER IIO DRIVER
9560M: Andreas Klinger <ak@it-klinger.de>
9561L: linux-iio@vger.kernel.org
9562S: Maintained
9563F: Documentation/devicetree/bindings/iio/proximity/maxbotix,mb1232.txt
9564F: drivers/iio/proximity/mb1232.c
9565
9566MAXIM MAX77650 PMIC MFD DRIVER
9567M: Bartosz Golaszewski <bgolaszewski@baylibre.com>
9568L: linux-kernel@vger.kernel.org
9569S: Maintained
9570F: Documentation/devicetree/bindings/*/*max77650.txt
9571F: Documentation/devicetree/bindings/*/max77650*.txt
9572F: include/linux/mfd/max77650.h
9573F: drivers/mfd/max77650.c
9574F: drivers/regulator/max77650-regulator.c
9575F: drivers/power/supply/max77650-charger.c
9576F: drivers/input/misc/max77650-onkey.c
9577F: drivers/leds/leds-max77650.c
9578F: drivers/gpio/gpio-max77650.c
9579
9220MAXIM MAX77802 PMIC REGULATOR DEVICE DRIVER9580MAXIM MAX77802 PMIC REGULATOR DEVICE DRIVER
9221M: Javier Martinez Canillas <javier@dowhile0.org>9581M: Javier Martinez Canillas <javier@dowhile0.org>
9222L: linux-kernel@vger.kernel.org9582L: linux-kernel@vger.kernel.org
@@ -9348,6 +9708,17 @@ T: git git://linuxtv.org/media_tree.git
9348S: Maintained9708S: Maintained
9349F: drivers/media/platform/imx-pxp.[ch]9709F: drivers/media/platform/imx-pxp.[ch]
93509710
9711MEDIA DRIVERS FOR FREESCALE IMX7
9712M: Rui Miguel Silva <rmfrfs@gmail.com>
9713L: linux-media@vger.kernel.org
9714T: git git://linuxtv.org/media_tree.git
9715S: Maintained
9716F: Documentation/devicetree/bindings/media/imx7-csi.txt
9717F: Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
9718F: Documentation/media/v4l-drivers/imx7.rst
9719F: drivers/staging/media/imx/imx7-media-csi.c
9720F: drivers/staging/media/imx/imx7-mipi-csis.c
9721
9351MEDIA DRIVERS FOR HELENE9722MEDIA DRIVERS FOR HELENE
9352M: Abylay Ospan <aospan@netup.ru>9723M: Abylay Ospan <aospan@netup.ru>
9353L: linux-media@vger.kernel.org9724L: linux-media@vger.kernel.org
@@ -9574,9 +9945,17 @@ F: drivers/media/platform/mtk-vpu/
9574F: Documentation/devicetree/bindings/media/mediatek-vcodec.txt9945F: Documentation/devicetree/bindings/media/mediatek-vcodec.txt
9575F: Documentation/devicetree/bindings/media/mediatek-vpu.txt9946F: Documentation/devicetree/bindings/media/mediatek-vpu.txt
95769947
9948MEDIATEK MMC/SD/SDIO DRIVER
9949M: Chaotian Jing <chaotian.jing@mediatek.com>
9950S: Maintained
9951F: drivers/mmc/host/mtk-sd.c
9952F: Documentation/devicetree/bindings/mmc/mtk-sd.txt
9953
9577MEDIATEK MT76 WIRELESS LAN DRIVER9954MEDIATEK MT76 WIRELESS LAN DRIVER
9578M: Felix Fietkau <nbd@nbd.name>9955M: Felix Fietkau <nbd@nbd.name>
9579M: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>9956M: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
9957R: Ryder Lee <ryder.lee@mediatek.com>
9958R: Roy Luo <royluo@google.com>
9580L: linux-wireless@vger.kernel.org9959L: linux-wireless@vger.kernel.org
9581S: Maintained9960S: Maintained
9582F: drivers/net/wireless/mediatek/mt76/9961F: drivers/net/wireless/mediatek/mt76/
@@ -9675,15 +10054,6 @@ F: drivers/net/ethernet/mellanox/mlx5/core/accel/*
9675F: drivers/net/ethernet/mellanox/mlx5/core/fpga/*10054F: drivers/net/ethernet/mellanox/mlx5/core/fpga/*
9676F: include/linux/mlx5/mlx5_ifc_fpga.h10055F: include/linux/mlx5/mlx5_ifc_fpga.h
967710056
9678MELLANOX ETHERNET INNOVA IPSEC DRIVER
9679R: Boris Pismenny <borisp@mellanox.com>
9680L: netdev@vger.kernel.org
9681S: Supported
9682W: http://www.mellanox.com
9683Q: http://patchwork.ozlabs.org/project/netdev/list/
9684F: drivers/net/ethernet/mellanox/mlx5/core/en_ipsec/*
9685F: drivers/net/ethernet/mellanox/mlx5/core/ipsec*
9686
9687MELLANOX ETHERNET SWITCH DRIVERS10057MELLANOX ETHERNET SWITCH DRIVERS
9688M: Jiri Pirko <jiri@mellanox.com>10058M: Jiri Pirko <jiri@mellanox.com>
9689M: Ido Schimmel <idosch@mellanox.com>10059M: Ido Schimmel <idosch@mellanox.com>
@@ -9709,6 +10079,7 @@ M: Vadim Pasternak <vadimp@mellanox.com>
9709L: platform-driver-x86@vger.kernel.org10079L: platform-driver-x86@vger.kernel.org
9710S: Supported10080S: Supported
9711F: drivers/platform/mellanox/10081F: drivers/platform/mellanox/
10082F: include/linux/platform_data/mlxreg.h
971210083
9713MELLANOX MLX4 core VPI driver10084MELLANOX MLX4 core VPI driver
9714M: Tariq Toukan <tariqt@mellanox.com>10085M: Tariq Toukan <tariqt@mellanox.com>
@@ -9783,6 +10154,14 @@ F: kernel/sched/membarrier.c
9783F: include/uapi/linux/membarrier.h10154F: include/uapi/linux/membarrier.h
9784F: arch/powerpc/include/asm/membarrier.h10155F: arch/powerpc/include/asm/membarrier.h
978510156
10157MEMBLOCK
10158M: Mike Rapoport <rppt@linux.ibm.com>
10159L: linux-mm@kvack.org
10160S: Maintained
10161F: include/linux/memblock.h
10162F: mm/memblock.c
10163F: Documentation/core-api/boot-time-mm.rst
10164
9786MEMORY MANAGEMENT10165MEMORY MANAGEMENT
9787L: linux-mm@kvack.org10166L: linux-mm@kvack.org
9788W: http://www.linux-mm.org10167W: http://www.linux-mm.org
@@ -9797,14 +10176,15 @@ F: mm/
9797MEMORY TECHNOLOGY DEVICES (MTD)10176MEMORY TECHNOLOGY DEVICES (MTD)
9798M: David Woodhouse <dwmw2@infradead.org>10177M: David Woodhouse <dwmw2@infradead.org>
9799M: Brian Norris <computersforpeace@gmail.com>10178M: Brian Norris <computersforpeace@gmail.com>
9800M: Boris Brezillon <bbrezillon@kernel.org>
9801M: Marek Vasut <marek.vasut@gmail.com>10179M: Marek Vasut <marek.vasut@gmail.com>
10180M: Miquel Raynal <miquel.raynal@bootlin.com>
9802M: Richard Weinberger <richard@nod.at>10181M: Richard Weinberger <richard@nod.at>
10182M: Vignesh Raghavendra <vigneshr@ti.com>
9803L: linux-mtd@lists.infradead.org10183L: linux-mtd@lists.infradead.org
9804W: http://www.linux-mtd.infradead.org/10184W: http://www.linux-mtd.infradead.org/
9805Q: http://patchwork.ozlabs.org/project/linux-mtd/list/10185Q: http://patchwork.ozlabs.org/project/linux-mtd/list/
9806T: git git://git.infradead.org/linux-mtd.git master10186T: git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes
9807T: git git://git.infradead.org/linux-mtd.git mtd/next10187T: git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
9808S: Maintained10188S: Maintained
9809F: Documentation/devicetree/bindings/mtd/10189F: Documentation/devicetree/bindings/mtd/
9810F: drivers/mtd/10190F: drivers/mtd/
@@ -9831,7 +10211,7 @@ F: drivers/mfd/menf21bmc.c
9831F: drivers/watchdog/menf21bmc_wdt.c10211F: drivers/watchdog/menf21bmc_wdt.c
9832F: drivers/leds/leds-menf21bmc.c10212F: drivers/leds/leds-menf21bmc.c
9833F: drivers/hwmon/menf21bmc_hwmon.c10213F: drivers/hwmon/menf21bmc_hwmon.c
9834F: Documentation/hwmon/menf21bmc10214F: Documentation/hwmon/menf21bmc.rst
983510215
9836MEN Z069 WATCHDOG DRIVER10216MEN Z069 WATCHDOG DRIVER
9837M: Johannes Thumshirn <jth@kernel.org>10217M: Johannes Thumshirn <jth@kernel.org>
@@ -9846,9 +10226,22 @@ L: linux-amlogic@lists.infradead.org
9846W: http://linux-meson.com/10226W: http://linux-meson.com/
9847S: Supported10227S: Supported
9848F: drivers/media/platform/meson/ao-cec.c10228F: drivers/media/platform/meson/ao-cec.c
10229F: drivers/media/platform/meson/ao-cec-g12a.c
9849F: Documentation/devicetree/bindings/media/meson-ao-cec.txt10230F: Documentation/devicetree/bindings/media/meson-ao-cec.txt
9850T: git git://linuxtv.org/media_tree.git10231T: git git://linuxtv.org/media_tree.git
985110232
10233MESON NAND CONTROLLER DRIVER FOR AMLOGIC SOCS
10234M: Liang Yang <liang.yang@amlogic.com>
10235L: linux-mtd@lists.infradead.org
10236S: Maintained
10237F: drivers/mtd/nand/raw/meson_*
10238F: Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
10239
10240METHODE UDPU SUPPORT
10241M: Vladimir Vid <vladimir.vid@sartura.hr>
10242S: Maintained
10243F: arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
10244
9852MICROBLAZE ARCHITECTURE10245MICROBLAZE ARCHITECTURE
9853M: Michal Simek <monstr@monstr.eu>10246M: Michal Simek <monstr@monstr.eu>
9854W: http://www.monstr.eu/fdt/10247W: http://www.monstr.eu/fdt/
@@ -9890,7 +10283,8 @@ MICROCHIP I2C DRIVER
9890M: Ludovic Desroches <ludovic.desroches@microchip.com>10283M: Ludovic Desroches <ludovic.desroches@microchip.com>
9891L: linux-i2c@vger.kernel.org10284L: linux-i2c@vger.kernel.org
9892S: Supported10285S: Supported
9893F: drivers/i2c/busses/i2c-at91.c10286F: drivers/i2c/busses/i2c-at91.h
10287F: drivers/i2c/busses/i2c-at91-*.c
989410288
9895MICROCHIP ISC DRIVER10289MICROCHIP ISC DRIVER
9896M: Eugen Hristev <eugen.hristev@microchip.com>10290M: Eugen Hristev <eugen.hristev@microchip.com>
@@ -9923,7 +10317,7 @@ F: drivers/spi/spi-at91-usart.c
9923F: Documentation/devicetree/bindings/mfd/atmel-usart.txt10317F: Documentation/devicetree/bindings/mfd/atmel-usart.txt
992410318
9925MICROCHIP KSZ SERIES ETHERNET SWITCH DRIVER10319MICROCHIP KSZ SERIES ETHERNET SWITCH DRIVER
9926M: Woojung Huh <Woojung.Huh@microchip.com>10320M: Woojung Huh <woojung.huh@microchip.com>
9927M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>10321M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
9928L: netdev@vger.kernel.org10322L: netdev@vger.kernel.org
9929S: Maintained10323S: Maintained
@@ -10165,8 +10559,8 @@ F: arch/arm/boot/dts/mmp*
10165F: arch/arm/mach-mmp/10559F: arch/arm/mach-mmp/
1016610560
10167MMU GATHER AND TLB INVALIDATION10561MMU GATHER AND TLB INVALIDATION
10168M: Will Deacon <will.deacon@arm.com>10562M: Will Deacon <will@kernel.org>
10169M: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>10563M: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
10170M: Andrew Morton <akpm@linux-foundation.org>10564M: Andrew Morton <akpm@linux-foundation.org>
10171M: Nick Piggin <npiggin@gmail.com>10565M: Nick Piggin <npiggin@gmail.com>
10172M: Peter Zijlstra <peterz@infradead.org>10566M: Peter Zijlstra <peterz@infradead.org>
@@ -10212,7 +10606,7 @@ F: include/uapi/linux/meye.h
10212MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD10606MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
10213M: Jiri Slaby <jirislaby@gmail.com>10607M: Jiri Slaby <jirislaby@gmail.com>
10214S: Maintained10608S: Maintained
10215F: Documentation/serial/moxa-smartio10609F: Documentation/serial/moxa-smartio.rst
10216F: drivers/tty/mxser.*10610F: drivers/tty/mxser.*
1021710611
10218MR800 AVERMEDIA USB FM RADIO DRIVER10612MR800 AVERMEDIA USB FM RADIO DRIVER
@@ -10399,14 +10793,12 @@ S: Supported
10399F: drivers/net/ethernet/myricom/myri10ge/10793F: drivers/net/ethernet/myricom/myri10ge/
1040010794
10401NAND FLASH SUBSYSTEM10795NAND FLASH SUBSYSTEM
10402M: Boris Brezillon <bbrezillon@kernel.org>
10403M: Miquel Raynal <miquel.raynal@bootlin.com>10796M: Miquel Raynal <miquel.raynal@bootlin.com>
10404R: Richard Weinberger <richard@nod.at>10797R: Richard Weinberger <richard@nod.at>
10405L: linux-mtd@lists.infradead.org10798L: linux-mtd@lists.infradead.org
10406W: http://www.linux-mtd.infradead.org/10799W: http://www.linux-mtd.infradead.org/
10407Q: http://patchwork.ozlabs.org/project/linux-mtd/list/10800Q: http://patchwork.ozlabs.org/project/linux-mtd/list/
10408T: git git://git.infradead.org/linux-mtd.git nand/fixes10801T: git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next
10409T: git git://git.infradead.org/linux-mtd.git nand/next
10410S: Maintained10802S: Maintained
10411F: drivers/mtd/nand/10803F: drivers/mtd/nand/
10412F: include/linux/mtd/*nand*.h10804F: include/linux/mtd/*nand*.h
@@ -10447,7 +10839,7 @@ NCT6775 HARDWARE MONITOR DRIVER
10447M: Guenter Roeck <linux@roeck-us.net>10839M: Guenter Roeck <linux@roeck-us.net>
10448L: linux-hwmon@vger.kernel.org10840L: linux-hwmon@vger.kernel.org
10449S: Maintained10841S: Maintained
10450F: Documentation/hwmon/nct677510842F: Documentation/hwmon/nct6775.rst
10451F: drivers/hwmon/nct6775.c10843F: drivers/hwmon/nct6775.c
1045210844
10453NET_FAILOVER MODULE10845NET_FAILOVER MODULE
@@ -10525,6 +10917,7 @@ L: linux-block@vger.kernel.org
10525L: nbd@other.debian.org10917L: nbd@other.debian.org
10526F: Documentation/blockdev/nbd.txt10918F: Documentation/blockdev/nbd.txt
10527F: drivers/block/nbd.c10919F: drivers/block/nbd.c
10920F: include/trace/events/nbd.h
10528F: include/uapi/linux/nbd.h10921F: include/uapi/linux/nbd.h
1052910922
10530NETWORK DROP MONITOR10923NETWORK DROP MONITOR
@@ -10573,6 +10966,7 @@ F: Documentation/devicetree/bindings/net/dsa/
10573F: net/dsa/10966F: net/dsa/
10574F: include/net/dsa.h10967F: include/net/dsa.h
10575F: include/linux/dsa/10968F: include/linux/dsa/
10969F: include/linux/platform_data/dsa.h
10576F: drivers/net/dsa/10970F: drivers/net/dsa/
1057710971
10578NETWORKING [GENERAL]10972NETWORKING [GENERAL]
@@ -10686,18 +11080,16 @@ S: Maintained
10686F: drivers/net/netdevsim/*11080F: drivers/net/netdevsim/*
1068711081
10688NETXEN (1/10) GbE SUPPORT11082NETXEN (1/10) GbE SUPPORT
10689M: Manish Chopra <manish.chopra@cavium.com>11083M: Manish Chopra <manishc@marvell.com>
10690M: Rahul Verma <rahul.verma@cavium.com>11084M: Rahul Verma <rahulv@marvell.com>
10691M: Dept-GELinuxNICDev@cavium.com11085M: GR-Linux-NIC-Dev@marvell.com
10692L: netdev@vger.kernel.org11086L: netdev@vger.kernel.org
10693S: Supported11087S: Supported
10694F: drivers/net/ethernet/qlogic/netxen/11088F: drivers/net/ethernet/qlogic/netxen/
1069511089
10696NFC SUBSYSTEM11090NFC SUBSYSTEM
10697M: Samuel Ortiz <sameo@linux.intel.com>11091L: netdev@vger.kernel.org
10698L: linux-wireless@vger.kernel.org11092S: Orphan
10699L: linux-nfc@lists.01.org (subscribers-only)
10700S: Supported
10701F: net/nfc/11093F: net/nfc/
10702F: include/net/nfc/11094F: include/net/nfc/
10703F: include/uapi/linux/nfc.h11095F: include/uapi/linux/nfc.h
@@ -10788,6 +11180,12 @@ F: drivers/power/supply/bq27xxx_battery_i2c.c
10788F: drivers/power/supply/isp1704_charger.c11180F: drivers/power/supply/isp1704_charger.c
10789F: drivers/power/supply/rx51_battery.c11181F: drivers/power/supply/rx51_battery.c
1079011182
11183NOLIBC HEADER FILE
11184M: Willy Tarreau <w@1wt.eu>
11185S: Maintained
11186T: git git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git
11187F: tools/include/nolibc/
11188
10791NTB AMD DRIVER11189NTB AMD DRIVER
10792M: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>11190M: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
10793L: linux-ntb@googlegroups.com11191L: linux-ntb@googlegroups.com
@@ -10848,7 +11246,7 @@ F: drivers/video/fbdev/riva/
10848F: drivers/video/fbdev/nvidia/11246F: drivers/video/fbdev/nvidia/
1084911247
10850NVM EXPRESS DRIVER11248NVM EXPRESS DRIVER
10851M: Keith Busch <keith.busch@intel.com>11249M: Keith Busch <kbusch@kernel.org>
10852M: Jens Axboe <axboe@fb.com>11250M: Jens Axboe <axboe@fb.com>
10853M: Christoph Hellwig <hch@lst.de>11251M: Christoph Hellwig <hch@lst.de>
10854M: Sagi Grimberg <sagi@grimberg.me>11252M: Sagi Grimberg <sagi@grimberg.me>
@@ -10888,13 +11286,29 @@ F: Documentation/ABI/stable/sysfs-bus-nvmem
10888F: include/linux/nvmem-consumer.h11286F: include/linux/nvmem-consumer.h
10889F: include/linux/nvmem-provider.h11287F: include/linux/nvmem-provider.h
1089011288
11289NXP FXAS21002C DRIVER
11290M: Rui Miguel Silva <rmfrfs@gmail.com>
11291L: linux-iio@vger.kernel.org
11292S: Maintained
11293F: Documentation/devicetree/bindings/iio/gyroscope/fxas21002c.txt
11294F: drivers/iio/gyro/fxas21002c_core.c
11295F: drivers/iio/gyro/fxas21002c.h
11296F: drivers/iio/gyro/fxas21002c_i2c.c
11297F: drivers/iio/gyro/fxas21002c_spi.c
11298
10891NXP SGTL5000 DRIVER11299NXP SGTL5000 DRIVER
10892M: Fabio Estevam <fabio.estevam@nxp.com>11300M: Fabio Estevam <festevam@gmail.com>
10893L: alsa-devel@alsa-project.org (moderated for non-subscribers)11301L: alsa-devel@alsa-project.org (moderated for non-subscribers)
10894S: Maintained11302S: Maintained
10895F: Documentation/devicetree/bindings/sound/sgtl5000.txt11303F: Documentation/devicetree/bindings/sound/sgtl5000.txt
10896F: sound/soc/codecs/sgtl5000*11304F: sound/soc/codecs/sgtl5000*
1089711305
11306NXP SJA1105 ETHERNET SWITCH DRIVER
11307M: Vladimir Oltean <olteanv@gmail.com>
11308L: linux-kernel@vger.kernel.org
11309S: Maintained
11310F: drivers/net/dsa/sja1105
11311
10898NXP TDA998X DRM DRIVER11312NXP TDA998X DRM DRIVER
10899M: Russell King <linux@armlinux.org.uk>11313M: Russell King <linux@armlinux.org.uk>
10900S: Maintained11314S: Maintained
@@ -10927,6 +11341,14 @@ F: lib/objagg.c
10927F: lib/test_objagg.c11341F: lib/test_objagg.c
10928F: include/linux/objagg.h11342F: include/linux/objagg.h
1092911343
11344NXP FSPI DRIVER
11345R: Yogesh Gaur <yogeshgaur.83@gmail.com>
11346M: Ashish Kumar <ashish.kumar@nxp.com>
11347L: linux-spi@vger.kernel.org
11348S: Maintained
11349F: drivers/spi/spi-nxp-fspi.c
11350F: Documentation/devicetree/bindings/spi/spi-nxp-fspi.txt
11351
10930OBJTOOL11352OBJTOOL
10931M: Josh Poimboeuf <jpoimboe@redhat.com>11353M: Josh Poimboeuf <jpoimboe@redhat.com>
10932M: Peter Zijlstra <peterz@infradead.org>11354M: Peter Zijlstra <peterz@infradead.org>
@@ -10935,7 +11357,7 @@ F: tools/objtool/
1093511357
10936OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER11358OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
10937M: Frederic Barrat <fbarrat@linux.ibm.com>11359M: Frederic Barrat <fbarrat@linux.ibm.com>
10938M: Andrew Donnellan <andrew.donnellan@au1.ibm.com>11360M: Andrew Donnellan <ajd@linux.ibm.com>
10939L: linuxppc-dev@lists.ozlabs.org11361L: linuxppc-dev@lists.ozlabs.org
10940S: Supported11362S: Supported
10941F: arch/powerpc/platforms/powernv/ocxl.c11363F: arch/powerpc/platforms/powernv/ocxl.c
@@ -11228,6 +11650,19 @@ S: Maintained
11228F: drivers/media/i2c/ov7740.c11650F: drivers/media/i2c/ov7740.c
11229F: Documentation/devicetree/bindings/media/i2c/ov7740.txt11651F: Documentation/devicetree/bindings/media/i2c/ov7740.txt
1123011652
11653OMNIVISION OV9640 SENSOR DRIVER
11654M: Petr Cvek <petrcvekcz@gmail.com>
11655L: linux-media@vger.kernel.org
11656S: Maintained
11657F: drivers/media/i2c/ov9640.*
11658
11659OMNIVISION OV8856 SENSOR DRIVER
11660M: Ben Kao <ben.kao@intel.com>
11661L: linux-media@vger.kernel.org
11662T: git git://linuxtv.org/media_tree.git
11663S: Maintained
11664F: drivers/media/i2c/ov8856.c
11665
11231OMNIVISION OV9650 SENSOR DRIVER11666OMNIVISION OV9650 SENSOR DRIVER
11232M: Sakari Ailus <sakari.ailus@linux.intel.com>11667M: Sakari Ailus <sakari.ailus@linux.intel.com>
11233R: Akinobu Mita <akinobu.mita@gmail.com>11668R: Akinobu Mita <akinobu.mita@gmail.com>
@@ -11260,6 +11695,11 @@ M: Jens Wiklander <jens.wiklander@linaro.org>
11260S: Maintained11695S: Maintained
11261F: drivers/tee/optee/11696F: drivers/tee/optee/
1126211697
11698OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
11699M: Sumit Garg <sumit.garg@linaro.org>
11700S: Maintained
11701F: drivers/char/hw_random/optee-rng.c
11702
11263OPA-VNIC DRIVER11703OPA-VNIC DRIVER
11264M: Dennis Dalessandro <dennis.dalessandro@intel.com>11704M: Dennis Dalessandro <dennis.dalessandro@intel.com>
11265M: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>11705M: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
@@ -11303,10 +11743,13 @@ F: include/dt-bindings/
1130311743
11304OPENCORES I2C BUS DRIVER11744OPENCORES I2C BUS DRIVER
11305M: Peter Korsgaard <peter@korsgaard.com>11745M: Peter Korsgaard <peter@korsgaard.com>
11746M: Andrew Lunn <andrew@lunn.ch>
11306L: linux-i2c@vger.kernel.org11747L: linux-i2c@vger.kernel.org
11307S: Maintained11748S: Maintained
11749F: Documentation/devicetree/bindings/i2c/i2c-ocores.txt
11308F: Documentation/i2c/busses/i2c-ocores11750F: Documentation/i2c/busses/i2c-ocores
11309F: drivers/i2c/busses/i2c-ocores.c11751F: drivers/i2c/busses/i2c-ocores.c
11752F: include/linux/platform_data/i2c-ocores.h
1131011753
11311OPENRISC ARCHITECTURE11754OPENRISC ARCHITECTURE
11312M: Jonas Bonn <jonas@southpole.se>11755M: Jonas Bonn <jonas@southpole.se>
@@ -11346,7 +11789,7 @@ F: Documentation/devicetree/bindings/opp/
11346OPL4 DRIVER11789OPL4 DRIVER
11347M: Clemens Ladisch <clemens@ladisch.de>11790M: Clemens Ladisch <clemens@ladisch.de>
11348L: alsa-devel@alsa-project.org (moderated for non-subscribers)11791L: alsa-devel@alsa-project.org (moderated for non-subscribers)
11349T: git git://git.alsa-project.org/alsa-kernel.git11792T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
11350S: Maintained11793S: Maintained
11351F: sound/drivers/opl4/11794F: sound/drivers/opl4/
1135211795
@@ -11362,6 +11805,7 @@ F: include/linux/oprofile.h
11362ORACLE CLUSTER FILESYSTEM 2 (OCFS2)11805ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
11363M: Mark Fasheh <mark@fasheh.com>11806M: Mark Fasheh <mark@fasheh.com>
11364M: Joel Becker <jlbec@evilplan.org>11807M: Joel Becker <jlbec@evilplan.org>
11808M: Joseph Qi <joseph.qi@linux.alibaba.com>
11365L: ocfs2-devel@oss.oracle.com (moderated for non-subscribers)11809L: ocfs2-devel@oss.oracle.com (moderated for non-subscribers)
11366W: http://ocfs2.wiki.kernel.org11810W: http://ocfs2.wiki.kernel.org
11367S: Supported11811S: Supported
@@ -11385,13 +11829,6 @@ W: http://www.nongnu.org/orinoco/
11385S: Orphan11829S: Orphan
11386F: drivers/net/wireless/intersil/orinoco/11830F: drivers/net/wireless/intersil/orinoco/
1138711831
11388OSD LIBRARY and FILESYSTEM
11389M: Boaz Harrosh <ooo@electrozaur.com>
11390S: Maintained
11391F: drivers/scsi/osd/
11392F: include/scsi/osd_*
11393F: fs/exofs/
11394
11395OV2659 OMNIVISION SENSOR DRIVER11832OV2659 OMNIVISION SENSOR DRIVER
11396M: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>11833M: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
11397L: linux-media@vger.kernel.org11834L: linux-media@vger.kernel.org
@@ -11427,6 +11864,14 @@ L: linux-i2c@vger.kernel.org
11427S: Orphan11864S: Orphan
11428F: drivers/i2c/busses/i2c-pasemi.c11865F: drivers/i2c/busses/i2c-pasemi.c
1142911866
11867PACKING
11868M: Vladimir Oltean <olteanv@gmail.com>
11869L: netdev@vger.kernel.org
11870S: Supported
11871F: lib/packing.c
11872F: include/linux/packing.h
11873F: Documentation/packing.txt
11874
11430PADATA PARALLEL EXECUTION MECHANISM11875PADATA PARALLEL EXECUTION MECHANISM
11431M: Steffen Klassert <steffen.klassert@secunet.com>11876M: Steffen Klassert <steffen.klassert@secunet.com>
11432L: linux-crypto@vger.kernel.org11877L: linux-crypto@vger.kernel.org
@@ -11477,7 +11922,7 @@ F: Documentation/blockdev/paride.txt
11477F: drivers/block/paride/11922F: drivers/block/paride/
1147811923
11479PARISC ARCHITECTURE11924PARISC ARCHITECTURE
11480M: "James E.J. Bottomley" <jejb@parisc-linux.org>11925M: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
11481M: Helge Deller <deller@gmx.de>11926M: Helge Deller <deller@gmx.de>
11482L: linux-parisc@vger.kernel.org11927L: linux-parisc@vger.kernel.org
11483W: http://www.parisc-linux.org/11928W: http://www.parisc-linux.org/
@@ -11504,11 +11949,16 @@ F: lib/parman.c
11504F: lib/test_parman.c11949F: lib/test_parman.c
11505F: include/linux/parman.h11950F: include/linux/parman.h
1150611951
11952PC ENGINES APU BOARD DRIVER
11953M: Enrico Weigelt, metux IT consult <info@metux.net>
11954S: Maintained
11955F: drivers/platform/x86/pcengines-apuv2.c
11956
11507PC87360 HARDWARE MONITORING DRIVER11957PC87360 HARDWARE MONITORING DRIVER
11508M: Jim Cromie <jim.cromie@gmail.com>11958M: Jim Cromie <jim.cromie@gmail.com>
11509L: linux-hwmon@vger.kernel.org11959L: linux-hwmon@vger.kernel.org
11510S: Maintained11960S: Maintained
11511F: Documentation/hwmon/pc8736011961F: Documentation/hwmon/pc87360.rst
11512F: drivers/hwmon/pc87360.c11962F: drivers/hwmon/pc87360.c
1151311963
11514PC8736x GPIO DRIVER11964PC8736x GPIO DRIVER
@@ -11520,7 +11970,7 @@ PC87427 HARDWARE MONITORING DRIVER
11520M: Jean Delvare <jdelvare@suse.com>11970M: Jean Delvare <jdelvare@suse.com>
11521L: linux-hwmon@vger.kernel.org11971L: linux-hwmon@vger.kernel.org
11522S: Maintained11972S: Maintained
11523F: Documentation/hwmon/pc8742711973F: Documentation/hwmon/pc87427.rst
11524F: drivers/hwmon/pc87427.c11974F: drivers/hwmon/pc87427.c
1152511975
11526PCA9532 LED DRIVER11976PCA9532 LED DRIVER
@@ -11557,7 +12007,7 @@ F: Documentation/devicetree/bindings/pci/altera-pcie.txt
11557F: drivers/pci/controller/pcie-altera.c12007F: drivers/pci/controller/pcie-altera.c
1155812008
11559PCI DRIVER FOR APPLIEDMICRO XGENE12009PCI DRIVER FOR APPLIEDMICRO XGENE
11560M: Tanmay Inamdar <tinamdar@apm.com>12010M: Toan Le <toan@os.amperecomputing.com>
11561L: linux-pci@vger.kernel.org12011L: linux-pci@vger.kernel.org
11562L: linux-arm-kernel@lists.infradead.org12012L: linux-arm-kernel@lists.infradead.org
11563S: Maintained12013S: Maintained
@@ -11581,7 +12031,7 @@ F: Documentation/devicetree/bindings/pci/pci-armada8k.txt
11581F: drivers/pci/controller/dwc/pcie-armada8k.c12031F: drivers/pci/controller/dwc/pcie-armada8k.c
1158212032
11583PCI DRIVER FOR CADENCE PCIE IP12033PCI DRIVER FOR CADENCE PCIE IP
11584M: Alan Douglas <adouglas@cadence.com>12034M: Tom Joseph <tjoseph@cadence.com>
11585L: linux-pci@vger.kernel.org12035L: linux-pci@vger.kernel.org
11586S: Maintained12036S: Maintained
11587F: Documentation/devicetree/bindings/pci/cdns,*.txt12037F: Documentation/devicetree/bindings/pci/cdns,*.txt
@@ -11598,7 +12048,7 @@ S: Maintained
11598F: drivers/pci/controller/dwc/*layerscape*12048F: drivers/pci/controller/dwc/*layerscape*
1159912049
11600PCI DRIVER FOR GENERIC OF HOSTS12050PCI DRIVER FOR GENERIC OF HOSTS
11601M: Will Deacon <will.deacon@arm.com>12051M: Will Deacon <will@kernel.org>
11602L: linux-pci@vger.kernel.org12052L: linux-pci@vger.kernel.org
11603L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)12053L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
11604S: Maintained12054S: Maintained
@@ -11635,7 +12085,8 @@ F: include/linux/switchtec.h
11635F: drivers/ntb/hw/mscc/12085F: drivers/ntb/hw/mscc/
1163612086
11637PCI DRIVER FOR MOBIVEIL PCIE IP12087PCI DRIVER FOR MOBIVEIL PCIE IP
11638M: Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>12088M: Karthikeyan Mitran <m.karthikeyan@mobiveil.co.in>
12089M: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
11639L: linux-pci@vger.kernel.org12090L: linux-pci@vger.kernel.org
11640S: Supported12091S: Supported
11641F: Documentation/devicetree/bindings/pci/mobiveil-pcie.txt12092F: Documentation/devicetree/bindings/pci/mobiveil-pcie.txt
@@ -11735,7 +12186,7 @@ F: Documentation/devicetree/bindings/pci/altera-pcie-msi.txt
11735F: drivers/pci/controller/pcie-altera-msi.c12186F: drivers/pci/controller/pcie-altera-msi.c
1173612187
11737PCI MSI DRIVER FOR APPLIEDMICRO XGENE12188PCI MSI DRIVER FOR APPLIEDMICRO XGENE
11738M: Duc Dang <dhdang@apm.com>12189M: Toan Le <toan@os.amperecomputing.com>
11739L: linux-pci@vger.kernel.org12190L: linux-pci@vger.kernel.org
11740L: linux-arm-kernel@lists.infradead.org12191L: linux-arm-kernel@lists.infradead.org
11741S: Maintained12192S: Maintained
@@ -11769,6 +12220,12 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/
11769S: Supported12220S: Supported
11770F: drivers/pci/controller/12221F: drivers/pci/controller/
1177112222
12223PCIE DRIVER FOR ANNAPURNA LABS
12224M: Jonathan Chocron <jonnyc@amazon.com>
12225L: linux-pci@vger.kernel.org
12226S: Maintained
12227F: drivers/pci/controller/dwc/pcie-al.c
12228
11772PCIE DRIVER FOR AMLOGIC MESON12229PCIE DRIVER FOR AMLOGIC MESON
11773M: Yue Wang <yue.wang@Amlogic.com>12230M: Yue Wang <yue.wang@Amlogic.com>
11774L: linux-pci@vger.kernel.org12231L: linux-pci@vger.kernel.org
@@ -11920,6 +12377,7 @@ F: arch/*/kernel/*/*/perf_event*.c
11920F: arch/*/include/asm/perf_event.h12377F: arch/*/include/asm/perf_event.h
11921F: arch/*/kernel/perf_callchain.c12378F: arch/*/kernel/perf_callchain.c
11922F: arch/*/events/*12379F: arch/*/events/*
12380F: arch/*/events/*/*
11923F: tools/perf/12381F: tools/perf/
1192412382
11925PERSONALITY HANDLING12383PERSONALITY HANDLING
@@ -12088,23 +12546,23 @@ S: Maintained
12088F: Documentation/devicetree/bindings/hwmon/ibm,cffps1.txt12546F: Documentation/devicetree/bindings/hwmon/ibm,cffps1.txt
12089F: Documentation/devicetree/bindings/hwmon/max31785.txt12547F: Documentation/devicetree/bindings/hwmon/max31785.txt
12090F: Documentation/devicetree/bindings/hwmon/ltc2978.txt12548F: Documentation/devicetree/bindings/hwmon/ltc2978.txt
12091F: Documentation/hwmon/adm127512549F: Documentation/hwmon/adm1275.rst
12092F: Documentation/hwmon/ibm-cffps12550F: Documentation/hwmon/ibm-cffps.rst
12093F: Documentation/hwmon/ir3522112551F: Documentation/hwmon/ir35221.rst
12094F: Documentation/hwmon/lm2506612552F: Documentation/hwmon/lm25066.rst
12095F: Documentation/hwmon/ltc297812553F: Documentation/hwmon/ltc2978.rst
12096F: Documentation/hwmon/ltc381512554F: Documentation/hwmon/ltc3815.rst
12097F: Documentation/hwmon/max1606412555F: Documentation/hwmon/max16064.rst
12098F: Documentation/hwmon/max2075112556F: Documentation/hwmon/max20751.rst
12099F: Documentation/hwmon/max3178512557F: Documentation/hwmon/max31785.rst
12100F: Documentation/hwmon/max3444012558F: Documentation/hwmon/max34440.rst
12101F: Documentation/hwmon/max868812559F: Documentation/hwmon/max8688.rst
12102F: Documentation/hwmon/pmbus12560F: Documentation/hwmon/pmbus.rst
12103F: Documentation/hwmon/pmbus-core12561F: Documentation/hwmon/pmbus-core.rst
12104F: Documentation/hwmon/tps4042212562F: Documentation/hwmon/tps40422.rst
12105F: Documentation/hwmon/ucd900012563F: Documentation/hwmon/ucd9000.rst
12106F: Documentation/hwmon/ucd920012564F: Documentation/hwmon/ucd9200.rst
12107F: Documentation/hwmon/zl610012565F: Documentation/hwmon/zl6100.rst
12108F: drivers/hwmon/pmbus/12566F: drivers/hwmon/pmbus/
12109F: include/linux/pmbus.h12567F: include/linux/pmbus.h
1211012568
@@ -12160,7 +12618,7 @@ M: Mark Rutland <mark.rutland@arm.com>
12160M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>12618M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
12161L: linux-arm-kernel@lists.infradead.org12619L: linux-arm-kernel@lists.infradead.org
12162S: Maintained12620S: Maintained
12163F: drivers/firmware/psci*.c12621F: drivers/firmware/psci/
12164F: include/linux/psci.h12622F: include/linux/psci.h
12165F: include/uapi/linux/psci.h12623F: include/uapi/linux/psci.h
1216612624
@@ -12224,14 +12682,6 @@ S: Maintained
12224F: drivers/net/ppp/pptp.c12682F: drivers/net/ppp/pptp.c
12225W: http://sourceforge.net/projects/accel-pptp12683W: http://sourceforge.net/projects/accel-pptp
1222612684
12227PREEMPTIBLE KERNEL
12228M: Robert Love <rml@tech9.net>
12229L: kpreempt-tech@lists.sourceforge.net
12230W: https://www.kernel.org/pub/linux/kernel/people/rml/preempt-kernel
12231S: Supported
12232F: Documentation/preempt-locking.txt
12233F: include/linux/preempt.h
12234
12235PRINTK12685PRINTK
12236M: Petr Mladek <pmladek@suse.com>12686M: Petr Mladek <pmladek@suse.com>
12237M: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>12687M: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
@@ -12368,6 +12818,7 @@ L: linux-media@vger.kernel.org
12368T: git git://linuxtv.org/media_tree.git12818T: git git://linuxtv.org/media_tree.git
12369S: Odd Fixes12819S: Odd Fixes
12370F: drivers/media/usb/pwc/*12820F: drivers/media/usb/pwc/*
12821F: include/trace/events/pwc.h
1237112822
12372PWM FAN DRIVER12823PWM FAN DRIVER
12373M: Kamil Debski <kamil@wypas.org>12824M: Kamil Debski <kamil@wypas.org>
@@ -12375,7 +12826,7 @@ M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
12375L: linux-hwmon@vger.kernel.org12826L: linux-hwmon@vger.kernel.org
12376S: Supported12827S: Supported
12377F: Documentation/devicetree/bindings/hwmon/pwm-fan.txt12828F: Documentation/devicetree/bindings/hwmon/pwm-fan.txt
12378F: Documentation/hwmon/pwm-fan12829F: Documentation/hwmon/pwm-fan.rst
12379F: drivers/hwmon/pwm-fan.c12830F: drivers/hwmon/pwm-fan.c
1238012831
12381PWM IR Transmitter12832PWM IR Transmitter
@@ -12472,8 +12923,8 @@ S: Supported
12472F: drivers/scsi/qedi/12923F: drivers/scsi/qedi/
1247312924
12474QLOGIC QL4xxx ETHERNET DRIVER12925QLOGIC QL4xxx ETHERNET DRIVER
12475M: Ariel Elior <Ariel.Elior@cavium.com>12926M: Ariel Elior <aelior@marvell.com>
12476M: everest-linux-l2@cavium.com12927M: GR-everest-linux-l2@marvell.com
12477L: netdev@vger.kernel.org12928L: netdev@vger.kernel.org
12478S: Supported12929S: Supported
12479F: drivers/net/ethernet/qlogic/qed/12930F: drivers/net/ethernet/qlogic/qed/
@@ -12481,8 +12932,8 @@ F: include/linux/qed/
12481F: drivers/net/ethernet/qlogic/qede/12932F: drivers/net/ethernet/qlogic/qede/
1248212933
12483QLOGIC QL4xxx RDMA DRIVER12934QLOGIC QL4xxx RDMA DRIVER
12484M: Michal Kalderon <Michal.Kalderon@cavium.com>12935M: Michal Kalderon <mkalderon@marvell.com>
12485M: Ariel Elior <Ariel.Elior@cavium.com>12936M: Ariel Elior <aelior@marvell.com>
12486L: linux-rdma@vger.kernel.org12937L: linux-rdma@vger.kernel.org
12487S: Supported12938S: Supported
12488F: drivers/infiniband/hw/qedr/12939F: drivers/infiniband/hw/qedr/
@@ -12502,7 +12953,7 @@ F: Documentation/scsi/LICENSE.qla2xxx
12502F: drivers/scsi/qla2xxx/12953F: drivers/scsi/qla2xxx/
1250312954
12504QLOGIC QLA3XXX NETWORK DRIVER12955QLOGIC QLA3XXX NETWORK DRIVER
12505M: Dept-GELinuxNICDev@cavium.com12956M: GR-Linux-NIC-Dev@marvell.com
12506L: netdev@vger.kernel.org12957L: netdev@vger.kernel.org
12507S: Supported12958S: Supported
12508F: Documentation/networking/device_drivers/qlogic/LICENSE.qla3xxx12959F: Documentation/networking/device_drivers/qlogic/LICENSE.qla3xxx
@@ -12516,16 +12967,16 @@ F: Documentation/scsi/LICENSE.qla4xxx
12516F: drivers/scsi/qla4xxx/12967F: drivers/scsi/qla4xxx/
1251712968
12518QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER12969QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
12519M: Shahed Shaikh <Shahed.Shaikh@cavium.com>12970M: Shahed Shaikh <shshaikh@marvell.com>
12520M: Manish Chopra <manish.chopra@cavium.com>12971M: Manish Chopra <manishc@marvell.com>
12521M: Dept-GELinuxNICDev@cavium.com12972M: GR-Linux-NIC-Dev@marvell.com
12522L: netdev@vger.kernel.org12973L: netdev@vger.kernel.org
12523S: Supported12974S: Supported
12524F: drivers/net/ethernet/qlogic/qlcnic/12975F: drivers/net/ethernet/qlogic/qlcnic/
1252512976
12526QLOGIC QLGE 10Gb ETHERNET DRIVER12977QLOGIC QLGE 10Gb ETHERNET DRIVER
12527M: Manish Chopra <manish.chopra@cavium.com>12978M: Manish Chopra <manishc@marvell.com>
12528M: Dept-GELinuxNICDev@cavium.com12979M: GR-Linux-NIC-Dev@marvell.com
12529L: netdev@vger.kernel.org12980L: netdev@vger.kernel.org
12530S: Supported12981S: Supported
12531F: drivers/net/ethernet/qlogic/qlge/12982F: drivers/net/ethernet/qlogic/qlge/
@@ -12593,11 +13044,11 @@ F: Documentation/media/v4l-drivers/qcom_camss.rst
12593F: drivers/media/platform/qcom/camss/13044F: drivers/media/platform/qcom/camss/
1259413045
12595QUALCOMM CPUFREQ DRIVER MSM8996/APQ809613046QUALCOMM CPUFREQ DRIVER MSM8996/APQ8096
12596M: Ilia Lin <ilia.lin@gmail.com>13047M: Ilia Lin <ilia.lin@kernel.org>
12597L: linux-pm@vger.kernel.org13048L: linux-pm@vger.kernel.org
12598S: Maintained13049S: Maintained
12599F: Documentation/devicetree/bindings/opp/kryo-cpufreq.txt13050F: Documentation/devicetree/bindings/opp/kryo-cpufreq.txt
12600F: drivers/cpufreq/qcom-cpufreq-kryo.c13051F: drivers/cpufreq/qcom-cpufreq-kryo.c
1260113052
12602QUALCOMM EMAC GIGABIT ETHERNET DRIVER13053QUALCOMM EMAC GIGABIT ETHERNET DRIVER
12603M: Timur Tabi <timur@kernel.org>13054M: Timur Tabi <timur@kernel.org>
@@ -12605,9 +13056,16 @@ L: netdev@vger.kernel.org
12605S: Maintained13056S: Maintained
12606F: drivers/net/ethernet/qualcomm/emac/13057F: drivers/net/ethernet/qualcomm/emac/
1260713058
13059QUALCOMM ETHQOS ETHERNET DRIVER
13060M: Vinod Koul <vkoul@kernel.org>
13061M: Niklas Cassel <niklas.cassel@linaro.org>
13062L: netdev@vger.kernel.org
13063S: Maintained
13064F: drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
13065F: Documentation/devicetree/bindings/net/qcom,dwmac.txt
13066
12608QUALCOMM GENERIC INTERFACE I2C DRIVER13067QUALCOMM GENERIC INTERFACE I2C DRIVER
12609M: Alok Chauhan <alokc@codeaurora.org>13068M: Alok Chauhan <alokc@codeaurora.org>
12610M: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
12611L: linux-i2c@vger.kernel.org13069L: linux-i2c@vger.kernel.org
12612L: linux-arm-msm@vger.kernel.org13070L: linux-arm-msm@vger.kernel.org
12613S: Supported13071S: Supported
@@ -12764,6 +13222,16 @@ M: Alexandre Bounine <alex.bou9@gmail.com>
12764S: Maintained13222S: Maintained
12765F: drivers/rapidio/13223F: drivers/rapidio/
1276613224
13225RAS INFRASTRUCTURE
13226M: Tony Luck <tony.luck@intel.com>
13227M: Borislav Petkov <bp@alien8.de>
13228L: linux-edac@vger.kernel.org
13229S: Maintained
13230F: drivers/ras/
13231F: include/linux/ras.h
13232F: include/ras/ras_event.h
13233F: Documentation/admin-guide/ras.rst
13234
12767RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER13235RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
12768L: linux-wireless@vger.kernel.org13236L: linux-wireless@vger.kernel.org
12769S: Orphan13237S: Orphan
@@ -12775,9 +13243,9 @@ M: Josh Triplett <josh@joshtriplett.org>
12775R: Steven Rostedt <rostedt@goodmis.org>13243R: Steven Rostedt <rostedt@goodmis.org>
12776R: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>13244R: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12777R: Lai Jiangshan <jiangshanlai@gmail.com>13245R: Lai Jiangshan <jiangshanlai@gmail.com>
12778L: linux-kernel@vger.kernel.org13246L: rcu@vger.kernel.org
12779S: Supported13247S: Supported
12780T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git13248T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
12781F: tools/testing/selftests/rcutorture13249F: tools/testing/selftests/rcutorture
1278213250
12783RDC R-321X SoC13251RDC R-321X SoC
@@ -12823,10 +13291,10 @@ R: Steven Rostedt <rostedt@goodmis.org>
12823R: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>13291R: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12824R: Lai Jiangshan <jiangshanlai@gmail.com>13292R: Lai Jiangshan <jiangshanlai@gmail.com>
12825R: Joel Fernandes <joel@joelfernandes.org>13293R: Joel Fernandes <joel@joelfernandes.org>
12826L: linux-kernel@vger.kernel.org13294L: rcu@vger.kernel.org
12827W: http://www.rdrop.com/users/paulmck/RCU/13295W: http://www.rdrop.com/users/paulmck/RCU/
12828S: Supported13296S: Supported
12829T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git13297T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
12830F: Documentation/RCU/13298F: Documentation/RCU/
12831X: Documentation/RCU/torture.txt13299X: Documentation/RCU/torture.txt
12832F: include/linux/rcu*13300F: include/linux/rcu*
@@ -12864,6 +13332,13 @@ F: Documentation/devicetree/bindings/net/dsa/realtek-smi.txt
12864F: drivers/net/dsa/realtek-smi*13332F: drivers/net/dsa/realtek-smi*
12865F: drivers/net/dsa/rtl83*13333F: drivers/net/dsa/rtl83*
1286613334
13335REDPINE WIRELESS DRIVER
13336M: Amitkumar Karwar <amitkarwar@gmail.com>
13337M: Siva Rebbagondla <siva8118@gmail.com>
13338L: linux-wireless@vger.kernel.org
13339S: Maintained
13340F: drivers/net/wireless/rsi/
13341
12867REGISTER MAP ABSTRACTION13342REGISTER MAP ABSTRACTION
12868M: Mark Brown <broonie@kernel.org>13343M: Mark Brown <broonie@kernel.org>
12869L: linux-kernel@vger.kernel.org13344L: linux-kernel@vger.kernel.org
@@ -12910,6 +13385,7 @@ F: drivers/clk/renesas/
12910RENESAS EMEV2 I2C DRIVER13385RENESAS EMEV2 I2C DRIVER
12911M: Wolfram Sang <wsa+renesas@sang-engineering.com>13386M: Wolfram Sang <wsa+renesas@sang-engineering.com>
12912S: Supported13387S: Supported
13388F: Documentation/devicetree/bindings/i2c/i2c-emev2.txt
12913F: drivers/i2c/busses/i2c-emev2.c13389F: drivers/i2c/busses/i2c-emev2.c
1291413390
12915RENESAS ETHERNET DRIVERS13391RENESAS ETHERNET DRIVERS
@@ -12931,6 +13407,8 @@ F: drivers/iio/adc/rcar-gyroadc.c
12931RENESAS R-CAR I2C DRIVERS13407RENESAS R-CAR I2C DRIVERS
12932M: Wolfram Sang <wsa+renesas@sang-engineering.com>13408M: Wolfram Sang <wsa+renesas@sang-engineering.com>
12933S: Supported13409S: Supported
13410F: Documentation/devicetree/bindings/i2c/i2c-rcar.txt
13411F: Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt
12934F: drivers/i2c/busses/i2c-rcar.c13412F: drivers/i2c/busses/i2c-rcar.c
12935F: drivers/i2c/busses/i2c-sh_mobile.c13413F: drivers/i2c/busses/i2c-sh_mobile.c
1293613414
@@ -12954,6 +13432,7 @@ F: drivers/reset/
12954F: Documentation/devicetree/bindings/reset/13432F: Documentation/devicetree/bindings/reset/
12955F: include/dt-bindings/reset/13433F: include/dt-bindings/reset/
12956F: include/linux/reset.h13434F: include/linux/reset.h
13435F: include/linux/reset/
12957F: include/linux/reset-controller.h13436F: include/linux/reset-controller.h
1295813437
12959RESTARTABLE SEQUENCES SUPPORT13438RESTARTABLE SEQUENCES SUPPORT
@@ -13044,7 +13523,7 @@ ROCKETPORT DRIVER
13044P: Comtrol Corp.13523P: Comtrol Corp.
13045W: http://www.comtrol.com13524W: http://www.comtrol.com
13046S: Maintained13525S: Maintained
13047F: Documentation/serial/rocket.txt13526F: Documentation/serial/rocket.rst
13048F: drivers/tty/rocket*13527F: drivers/tty/rocket*
1304913528
13050ROCKETPORT EXPRESS/INFINITY DRIVER13529ROCKETPORT EXPRESS/INFINITY DRIVER
@@ -13128,6 +13607,12 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.g
13128S: Maintained13607S: Maintained
13129F: drivers/net/wireless/realtek/rtlwifi/13608F: drivers/net/wireless/realtek/rtlwifi/
1313013609
13610REALTEK WIRELESS DRIVER (rtw88)
13611M: Yan-Hsuan Chuang <yhchuang@realtek.com>
13612L: linux-wireless@vger.kernel.org
13613S: Maintained
13614F: drivers/net/wireless/realtek/rtw88/
13615
13131RTL8XXXU WIRELESS DRIVER (rtl8xxxu)13616RTL8XXXU WIRELESS DRIVER (rtl8xxxu)
13132M: Jes Sorensen <Jes.Sorensen@gmail.com>13617M: Jes Sorensen <Jes.Sorensen@gmail.com>
13133L: linux-wireless@vger.kernel.org13618L: linux-wireless@vger.kernel.org
@@ -13154,8 +13639,9 @@ S: Maintained
13154F: drivers/video/fbdev/savage/13639F: drivers/video/fbdev/savage/
1315513640
13156S39013641S390
13157M: Martin Schwidefsky <schwidefsky@de.ibm.com>
13158M: Heiko Carstens <heiko.carstens@de.ibm.com>13642M: Heiko Carstens <heiko.carstens@de.ibm.com>
13643M: Vasily Gorbik <gor@linux.ibm.com>
13644M: Christian Borntraeger <borntraeger@de.ibm.com>
13159L: linux-s390@vger.kernel.org13645L: linux-s390@vger.kernel.org
13160W: http://www.ibm.com/developerworks/linux/linux390/13646W: http://www.ibm.com/developerworks/linux/linux390/
13161T: git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git13647T: git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git
@@ -13454,6 +13940,7 @@ F: kernel/sched/
13454F: include/linux/sched.h13940F: include/linux/sched.h
13455F: include/uapi/linux/sched.h13941F: include/uapi/linux/sched.h
13456F: include/linux/wait.h13942F: include/linux/wait.h
13943F: include/linux/preempt.h
1345713944
13458SCR24X CHIP CARD INTERFACE DRIVER13945SCR24X CHIP CARD INTERFACE DRIVER
13459M: Lubomir Rintel <lkundrak@v3.sk>13946M: Lubomir Rintel <lkundrak@v3.sk>
@@ -13497,6 +13984,7 @@ M: "James E.J. Bottomley" <jejb@linux.ibm.com>
13497T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git13984T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
13498M: "Martin K. Petersen" <martin.petersen@oracle.com>13985M: "Martin K. Petersen" <martin.petersen@oracle.com>
13499T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git13986T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
13987Q: https://patchwork.kernel.org/project/linux-scsi/list/
13500L: linux-scsi@vger.kernel.org13988L: linux-scsi@vger.kernel.org
13501S: Maintained13989S: Maintained
13502F: Documentation/devicetree/bindings/scsi/13990F: Documentation/devicetree/bindings/scsi/
@@ -13511,6 +13999,18 @@ F: Documentation/scsi/st.txt
13511F: drivers/scsi/st.*13999F: drivers/scsi/st.*
13512F: drivers/scsi/st_*.h14000F: drivers/scsi/st_*.h
1351314001
14002SCSI TARGET SUBSYSTEM
14003M: "Martin K. Petersen" <martin.petersen@oracle.com>
14004L: linux-scsi@vger.kernel.org
14005L: target-devel@vger.kernel.org
14006W: http://www.linux-iscsi.org
14007T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
14008Q: https://patchwork.kernel.org/project/target-devel/list/
14009S: Supported
14010F: drivers/target/
14011F: include/target/
14012F: Documentation/target/
14013
13514SCTP PROTOCOL14014SCTP PROTOCOL
13515M: Vlad Yasevich <vyasevich@gmail.com>14015M: Vlad Yasevich <vyasevich@gmail.com>
13516M: Neil Horman <nhorman@tuxdriver.com>14016M: Neil Horman <nhorman@tuxdriver.com>
@@ -13582,11 +14082,18 @@ F: drivers/mmc/host/sdhci-brcmstb*
13582SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER14082SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
13583M: Adrian Hunter <adrian.hunter@intel.com>14083M: Adrian Hunter <adrian.hunter@intel.com>
13584L: linux-mmc@vger.kernel.org14084L: linux-mmc@vger.kernel.org
13585T: git git://git.infradead.org/users/ahunter/linux-sdhci.git
13586S: Maintained14085S: Maintained
13587F: drivers/mmc/host/sdhci*14086F: drivers/mmc/host/sdhci*
13588F: include/linux/mmc/sdhci*14087F: include/linux/mmc/sdhci*
1358914088
14089EMMC CMDQ HOST CONTROLLER INTERFACE (CQHCI) DRIVER
14090M: Adrian Hunter <adrian.hunter@intel.com>
14091M: Ritesh Harjani <riteshh@codeaurora.org>
14092M: Asutosh Das <asutoshd@codeaurora.org>
14093L: linux-mmc@vger.kernel.org
14094S: Maintained
14095F: drivers/mmc/host/cqhci*
14096
13590SYNOPSYS SDHCI COMPLIANT DWC MSHC DRIVER14097SYNOPSYS SDHCI COMPLIANT DWC MSHC DRIVER
13591M: Prabu Thangamuthu <prabu.t@synopsys.com>14098M: Prabu Thangamuthu <prabu.t@synopsys.com>
13592M: Manjunath M B <manjumb@synopsys.com>14099M: Manjunath M B <manjumb@synopsys.com>
@@ -13652,7 +14159,7 @@ W: https://selinuxproject.org
13652W: https://github.com/SELinuxProject14159W: https://github.com/SELinuxProject
13653T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git14160T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git
13654S: Supported14161S: Supported
13655F: include/linux/selinux*14162F: include/uapi/linux/selinux_netlink.h
13656F: security/selinux/14163F: security/selinux/
13657F: scripts/selinux/14164F: scripts/selinux/
13658F: Documentation/admin-guide/LSM/SELinux.rst14165F: Documentation/admin-guide/LSM/SELinux.rst
@@ -13687,11 +14194,20 @@ F: drivers/media/rc/serial_ir.c
13687SFC NETWORK DRIVER14194SFC NETWORK DRIVER
13688M: Solarflare linux maintainers <linux-net-drivers@solarflare.com>14195M: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
13689M: Edward Cree <ecree@solarflare.com>14196M: Edward Cree <ecree@solarflare.com>
13690M: Bert Kenward <bkenward@solarflare.com>14197M: Martin Habets <mhabets@solarflare.com>
13691L: netdev@vger.kernel.org14198L: netdev@vger.kernel.org
13692S: Supported14199S: Supported
13693F: drivers/net/ethernet/sfc/14200F: drivers/net/ethernet/sfc/
1369414201
14202SFF/SFP/SFP+ MODULE SUPPORT
14203M: Russell King <linux@armlinux.org.uk>
14204L: netdev@vger.kernel.org
14205S: Maintained
14206F: drivers/net/phy/phylink.c
14207F: drivers/net/phy/sfp*
14208F: include/linux/phylink.h
14209F: include/linux/sfp.h
14210
13695SGI GRU DRIVER14211SGI GRU DRIVER
13696M: Dimitri Sivanich <sivanich@sgi.com>14212M: Dimitri Sivanich <sivanich@sgi.com>
13697S: Maintained14213S: Maintained
@@ -13713,6 +14229,7 @@ F: drivers/misc/sgi-xp/
1371314229
13714SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS14230SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
13715M: Ursula Braun <ubraun@linux.ibm.com>14231M: Ursula Braun <ubraun@linux.ibm.com>
14232M: Karsten Graul <kgraul@linux.ibm.com>
13716L: linux-s390@vger.kernel.org14233L: linux-s390@vger.kernel.org
13717W: http://www.ibm.com/developerworks/linux/linux390/14234W: http://www.ibm.com/developerworks/linux/linux390/
13718S: Supported14235S: Supported
@@ -13820,12 +14337,22 @@ F: drivers/media/mmc/siano/
1382014337
13821SIFIVE DRIVERS14338SIFIVE DRIVERS
13822M: Palmer Dabbelt <palmer@sifive.com>14339M: Palmer Dabbelt <palmer@sifive.com>
14340M: Paul Walmsley <paul.walmsley@sifive.com>
13823L: linux-riscv@lists.infradead.org14341L: linux-riscv@lists.infradead.org
13824T: git git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux.git14342T: git git://github.com/sifive/riscv-linux.git
13825S: Supported14343S: Supported
13826K: sifive14344K: sifive
13827N: sifive14345N: sifive
1382814346
14347SIFIVE FU540 SYSTEM-ON-CHIP
14348M: Paul Walmsley <paul.walmsley@sifive.com>
14349M: Palmer Dabbelt <palmer@sifive.com>
14350L: linux-riscv@lists.infradead.org
14351T: git git://git.kernel.org/pub/scm/linux/kernel/git/pjw/sifive.git
14352S: Supported
14353K: fu540
14354N: fu540
14355
13829SILEAD TOUCHSCREEN DRIVER14356SILEAD TOUCHSCREEN DRIVER
13830M: Hans de Goede <hdegoede@redhat.com>14357M: Hans de Goede <hdegoede@redhat.com>
13831L: linux-input@vger.kernel.org14358L: linux-input@vger.kernel.org
@@ -13857,7 +14384,7 @@ SIMPLEFB FB DRIVER
13857M: Hans de Goede <hdegoede@redhat.com>14384M: Hans de Goede <hdegoede@redhat.com>
13858L: linux-fbdev@vger.kernel.org14385L: linux-fbdev@vger.kernel.org
13859S: Maintained14386S: Maintained
13860F: Documentation/devicetree/bindings/display/simple-framebuffer.txt14387F: Documentation/devicetree/bindings/display/simple-framebuffer.yaml
13861F: drivers/video/fbdev/simplefb.c14388F: drivers/video/fbdev/simplefb.c
13862F: include/linux/platform_data/simplefb.h14389F: include/linux/platform_data/simplefb.h
1386314390
@@ -13886,7 +14413,7 @@ F: lib/test_siphash.c
13886F: include/linux/siphash.h14413F: include/linux/siphash.h
1388714414
13888SIOX14415SIOX
13889M: Gavin Schenk <g.schenk@eckelmann.de>14416M: Thorsten Scherer <t.scherer@eckelmann.de>
13890M: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>14417M: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
13891R: Pengutronix Kernel Team <kernel@pengutronix.de>14418R: Pengutronix Kernel Team <kernel@pengutronix.de>
13892S: Supported14419S: Supported
@@ -13938,10 +14465,10 @@ M: "Paul E. McKenney" <paulmck@linux.ibm.com>
13938M: Josh Triplett <josh@joshtriplett.org>14465M: Josh Triplett <josh@joshtriplett.org>
13939R: Steven Rostedt <rostedt@goodmis.org>14466R: Steven Rostedt <rostedt@goodmis.org>
13940R: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>14467R: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13941L: linux-kernel@vger.kernel.org14468L: rcu@vger.kernel.org
13942W: http://www.rdrop.com/users/paulmck/RCU/14469W: http://www.rdrop.com/users/paulmck/RCU/
13943S: Supported14470S: Supported
13944T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git14471T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
13945F: include/linux/srcu*.h14472F: include/linux/srcu*.h
13946F: kernel/rcu/srcu*.c14473F: kernel/rcu/srcu*.c
1394714474
@@ -13982,21 +14509,21 @@ SMM665 HARDWARE MONITOR DRIVER
13982M: Guenter Roeck <linux@roeck-us.net>14509M: Guenter Roeck <linux@roeck-us.net>
13983L: linux-hwmon@vger.kernel.org14510L: linux-hwmon@vger.kernel.org
13984S: Maintained14511S: Maintained
13985F: Documentation/hwmon/smm66514512F: Documentation/hwmon/smm665.rst
13986F: drivers/hwmon/smm665.c14513F: drivers/hwmon/smm665.c
1398714514
13988SMSC EMC2103 HARDWARE MONITOR DRIVER14515SMSC EMC2103 HARDWARE MONITOR DRIVER
13989M: Steve Glendinning <steve.glendinning@shawell.net>14516M: Steve Glendinning <steve.glendinning@shawell.net>
13990L: linux-hwmon@vger.kernel.org14517L: linux-hwmon@vger.kernel.org
13991S: Maintained14518S: Maintained
13992F: Documentation/hwmon/emc210314519F: Documentation/hwmon/emc2103.rst
13993F: drivers/hwmon/emc2103.c14520F: drivers/hwmon/emc2103.c
1399414521
13995SMSC SCH5627 HARDWARE MONITOR DRIVER14522SMSC SCH5627 HARDWARE MONITOR DRIVER
13996M: Hans de Goede <hdegoede@redhat.com>14523M: Hans de Goede <hdegoede@redhat.com>
13997L: linux-hwmon@vger.kernel.org14524L: linux-hwmon@vger.kernel.org
13998S: Supported14525S: Supported
13999F: Documentation/hwmon/sch562714526F: Documentation/hwmon/sch5627.rst
14000F: drivers/hwmon/sch5627.c14527F: drivers/hwmon/sch5627.c
1400114528
14002SMSC UFX6000 and UFX7000 USB to VGA DRIVER14529SMSC UFX6000 and UFX7000 USB to VGA DRIVER
@@ -14009,7 +14536,7 @@ SMSC47B397 HARDWARE MONITOR DRIVER
14009M: Jean Delvare <jdelvare@suse.com>14536M: Jean Delvare <jdelvare@suse.com>
14010L: linux-hwmon@vger.kernel.org14537L: linux-hwmon@vger.kernel.org
14011S: Maintained14538S: Maintained
14012F: Documentation/hwmon/smsc47b39714539F: Documentation/hwmon/smsc47b397.rst
14013F: drivers/hwmon/smsc47b397.c14540F: drivers/hwmon/smsc47b397.c
1401414541
14015SMSC911x ETHERNET DRIVER14542SMSC911x ETHERNET DRIVER
@@ -14029,9 +14556,8 @@ SOC-CAMERA V4L2 SUBSYSTEM
14029L: linux-media@vger.kernel.org14556L: linux-media@vger.kernel.org
14030T: git git://linuxtv.org/media_tree.git14557T: git git://linuxtv.org/media_tree.git
14031S: Orphan14558S: Orphan
14032F: include/media/soc*14559F: include/media/soc_camera.h
14033F: drivers/media/i2c/soc_camera/14560F: drivers/staging/media/soc_camera/
14034F: drivers/media/platform/soc_camera/
1403514561
14036SOCIONEXT SYNQUACER I2C DRIVER14562SOCIONEXT SYNQUACER I2C DRIVER
14037M: Ard Biesheuvel <ard.biesheuvel@linaro.org>14563M: Ard Biesheuvel <ard.biesheuvel@linaro.org>
@@ -14167,16 +14693,15 @@ T: git git://linuxtv.org/media_tree.git
14167S: Maintained14693S: Maintained
14168F: drivers/media/i2c/imx355.c14694F: drivers/media/i2c/imx355.c
1416914695
14170SONY MEMORYSTICK CARD SUPPORT14696SONY MEMORYSTICK SUBSYSTEM
14171M: Alex Dubov <oakad@yahoo.com>
14172W: http://tifmxx.berlios.de/
14173S: Maintained
14174F: drivers/memstick/host/tifm_ms.c
14175
14176SONY MEMORYSTICK STANDARD SUPPORT
14177M: Maxim Levitsky <maximlevitsky@gmail.com>14697M: Maxim Levitsky <maximlevitsky@gmail.com>
14698M: Alex Dubov <oakad@yahoo.com>
14699M: Ulf Hansson <ulf.hansson@linaro.org>
14700L: linux-mmc@vger.kernel.org
14701T: git git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git
14178S: Maintained14702S: Maintained
14179F: drivers/memstick/core/ms_block.*14703F: drivers/memstick/
14704F: include/linux/memstick.h
1418014705
14181SONY VAIO CONTROL DEVICE DRIVER14706SONY VAIO CONTROL DEVICE DRIVER
14182M: Mattia Dongili <malattia@linux.it>14707M: Mattia Dongili <malattia@linux.it>
@@ -14194,7 +14719,6 @@ M: Takashi Iwai <tiwai@suse.com>
14194L: alsa-devel@alsa-project.org (moderated for non-subscribers)14719L: alsa-devel@alsa-project.org (moderated for non-subscribers)
14195W: http://www.alsa-project.org/14720W: http://www.alsa-project.org/
14196T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git14721T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
14197T: git git://git.alsa-project.org/alsa-kernel.git
14198Q: http://patchwork.kernel.org/project/alsa-devel/list/14722Q: http://patchwork.kernel.org/project/alsa-devel/list/
14199S: Maintained14723S: Maintained
14200F: Documentation/sound/14724F: Documentation/sound/
@@ -14303,11 +14827,11 @@ F: arch/arm/mach-spear/
1430314827
14304SPI NOR SUBSYSTEM14828SPI NOR SUBSYSTEM
14305M: Marek Vasut <marek.vasut@gmail.com>14829M: Marek Vasut <marek.vasut@gmail.com>
14830M: Tudor Ambarus <tudor.ambarus@microchip.com>
14306L: linux-mtd@lists.infradead.org14831L: linux-mtd@lists.infradead.org
14307W: http://www.linux-mtd.infradead.org/14832W: http://www.linux-mtd.infradead.org/
14308Q: http://patchwork.ozlabs.org/project/linux-mtd/list/14833Q: http://patchwork.ozlabs.org/project/linux-mtd/list/
14309T: git git://git.infradead.org/linux-mtd.git spi-nor/fixes14834T: git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git spi-nor/next
14310T: git git://git.infradead.org/linux-mtd.git spi-nor/next
14311S: Maintained14835S: Maintained
14312F: drivers/mtd/spi-nor/14836F: drivers/mtd/spi-nor/
14313F: include/linux/mtd/spi-nor.h14837F: include/linux/mtd/spi-nor.h
@@ -14371,6 +14895,14 @@ S: Maintained
14371F: drivers/iio/imu/st_lsm6dsx/14895F: drivers/iio/imu/st_lsm6dsx/
14372F: Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt14896F: Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
1437314897
14898ST MIPID02 CSI-2 TO PARALLEL BRIDGE DRIVER
14899M: Mickael Guene <mickael.guene@st.com>
14900L: linux-media@vger.kernel.org
14901T: git git://linuxtv.org/media_tree.git
14902S: Maintained
14903F: drivers/media/i2c/st-mipid02.c
14904F: Documentation/devicetree/bindings/media/i2c/st,st-mipid02.txt
14905
14374ST STM32 I2C/SMBUS DRIVER14906ST STM32 I2C/SMBUS DRIVER
14375M: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>14907M: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
14376L: linux-i2c@vger.kernel.org14908L: linux-i2c@vger.kernel.org
@@ -14432,6 +14964,11 @@ M: Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
14432S: Odd Fixes14964S: Odd Fixes
14433F: drivers/staging/rtl8712/14965F: drivers/staging/rtl8712/
1443414966
14967STAGING - REALTEK RTL8188EU DRIVERS
14968M: Larry Finger <Larry.Finger@lwfinger.net>
14969S: Odd Fixes
14970F: drivers/staging/rtl8188eu/
14971
14435STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER14972STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER
14436M: Sudip Mukherjee <sudipm.mukherjee@gmail.com>14973M: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
14437M: Teddy Wang <teddy.wang@siliconmotion.com>14974M: Teddy Wang <teddy.wang@siliconmotion.com>
@@ -14462,11 +14999,6 @@ L: linux-wireless@vger.kernel.org
14462S: Supported14999S: Supported
14463F: drivers/staging/wilc1000/15000F: drivers/staging/wilc1000/
1446415001
14465STAGING - XGI Z7,Z9,Z11 PCI DISPLAY DRIVER
14466M: Arnaud Patard <arnaud.patard@rtp-net.org>
14467S: Odd Fixes
14468F: drivers/staging/xgifb/
14469
14470STAGING SUBSYSTEM15002STAGING SUBSYSTEM
14471M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>15003M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14472T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git15004T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
@@ -14480,7 +15012,7 @@ S: Odd Fixes
14480F: drivers/net/ethernet/adaptec/starfire*15012F: drivers/net/ethernet/adaptec/starfire*
1448115013
14482STEC S1220 SKD DRIVER15014STEC S1220 SKD DRIVER
14483M: Bart Van Assche <bart.vanassche@wdc.com>15015M: Damien Le Moal <Damien.LeMoal@wdc.com>
14484L: linux-block@vger.kernel.org15016L: linux-block@vger.kernel.org
14485S: Maintained15017S: Maintained
14486F: drivers/block/skd*[ch]15018F: drivers/block/skd*[ch]
@@ -14671,7 +15203,7 @@ S: Maintained
14671F: drivers/tty/serial/8250/8250_dw.c15203F: drivers/tty/serial/8250/8250_dw.c
1467215204
14673SYNOPSYS DESIGNWARE APB GPIO DRIVER15205SYNOPSYS DESIGNWARE APB GPIO DRIVER
14674M: Hoan Tran <hotran@apm.com>15206M: Hoan Tran <hoan@os.amperecomputing.com>
14675L: linux-gpio@vger.kernel.org15207L: linux-gpio@vger.kernel.org
14676S: Maintained15208S: Maintained
14677F: drivers/gpio/gpio-dwapb.c15209F: drivers/gpio/gpio-dwapb.c
@@ -14763,18 +15295,6 @@ F: Documentation/filesystems/sysv-fs.txt
14763F: fs/sysv/15295F: fs/sysv/
14764F: include/linux/sysv_fs.h15296F: include/linux/sysv_fs.h
1476515297
14766TARGET SUBSYSTEM
14767M: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
14768L: linux-scsi@vger.kernel.org
14769L: target-devel@vger.kernel.org
14770W: http://www.linux-iscsi.org
14771W: http://groups.google.com/group/linux-iscsi-target-dev
14772T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master
14773S: Supported
14774F: drivers/target/
14775F: include/target/
14776F: Documentation/target/
14777
14778TASKSTATS STATISTICS INTERFACE15298TASKSTATS STATISTICS INTERFACE
14779M: Balbir Singh <bsingharora@gmail.com>15299M: Balbir Singh <bsingharora@gmail.com>
14780S: Maintained15300S: Maintained
@@ -14983,6 +15503,7 @@ F: drivers/dma/tegra*
1498315503
14984TEGRA I2C DRIVER15504TEGRA I2C DRIVER
14985M: Laxman Dewangan <ldewangan@nvidia.com>15505M: Laxman Dewangan <ldewangan@nvidia.com>
15506R: Dmitry Osipenko <digetx@gmail.com>
14986S: Supported15507S: Supported
14987F: drivers/i2c/busses/i2c-tegra.c15508F: drivers/i2c/busses/i2c-tegra.c
1498815509
@@ -15019,6 +15540,11 @@ M: Laxman Dewangan <ldewangan@nvidia.com>
15019S: Supported15540S: Supported
15020F: drivers/spi/spi-tegra*15541F: drivers/spi/spi-tegra*
1502115542
15543TEGRA XUSB PADCTL DRIVER
15544M: JC Kuo <jckuo@nvidia.com>
15545S: Supported
15546F: drivers/phy/tegra/xusb*
15547
15022TEHUTI ETHERNET DRIVER15548TEHUTI ETHERNET DRIVER
15023M: Andy Gospodarek <andy@greyhouse.net>15549M: Andy Gospodarek <andy@greyhouse.net>
15024L: netdev@vger.kernel.org15550L: netdev@vger.kernel.org
@@ -15054,6 +15580,12 @@ F: Documentation/devicetree/bindings/reset/ti,sci-reset.txt
15054F: Documentation/devicetree/bindings/clock/ti,sci-clk.txt15580F: Documentation/devicetree/bindings/clock/ti,sci-clk.txt
15055F: drivers/clk/keystone/sci-clk.c15581F: drivers/clk/keystone/sci-clk.c
15056F: drivers/reset/reset-ti-sci.c15582F: drivers/reset/reset-ti-sci.c
15583F: Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
15584F: Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt
15585F: drivers/irqchip/irq-ti-sci-intr.c
15586F: drivers/irqchip/irq-ti-sci-inta.c
15587F: include/linux/soc/ti/ti_sci_inta_msi.h
15588F: drivers/soc/ti/ti_sci_inta_msi.c
1505715589
15058Texas Instruments ASoC drivers15590Texas Instruments ASoC drivers
15059M: Peter Ujfalusi <peter.ujfalusi@ti.com>15591M: Peter Ujfalusi <peter.ujfalusi@ti.com>
@@ -15061,6 +15593,13 @@ L: alsa-devel@alsa-project.org (moderated for non-subscribers)
15061S: Maintained15593S: Maintained
15062F: sound/soc/ti/15594F: sound/soc/ti/
1506315595
15596Texas Instruments' DAC7612 DAC Driver
15597M: Ricardo Ribalda <ricardo@ribalda.com>
15598L: linux-iio@vger.kernel.org
15599S: Supported
15600F: drivers/iio/dac/ti-dac7612.c
15601F: Documentation/devicetree/bindings/iio/dac/ti,dac7612.txt
15602
15064THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER15603THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
15065M: Hans Verkuil <hverkuil@xs4all.nl>15604M: Hans Verkuil <hverkuil@xs4all.nl>
15066L: linux-media@vger.kernel.org15605L: linux-media@vger.kernel.org
@@ -15165,10 +15704,11 @@ F: include/linux/clk/ti.h
1516515704
15166TI DAVINCI MACHINE SUPPORT15705TI DAVINCI MACHINE SUPPORT
15167M: Sekhar Nori <nsekhar@ti.com>15706M: Sekhar Nori <nsekhar@ti.com>
15168M: Kevin Hilman <khilman@kernel.org>15707R: Bartosz Golaszewski <bgolaszewski@baylibre.com>
15169L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)15708L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
15170T: git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git15709T: git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git
15171S: Supported15710S: Supported
15711F: Documentation/devicetree/bindings/i2c/i2c-davinci.txt
15172F: arch/arm/mach-davinci/15712F: arch/arm/mach-davinci/
15173F: drivers/i2c/busses/i2c-davinci.c15713F: drivers/i2c/busses/i2c-davinci.c
15174F: arch/arm/boot/dts/da850*15714F: arch/arm/boot/dts/da850*
@@ -15205,9 +15745,11 @@ S: Maintained
15205F: drivers/net/ethernet/ti/cpsw*15745F: drivers/net/ethernet/ti/cpsw*
15206F: drivers/net/ethernet/ti/davinci*15746F: drivers/net/ethernet/ti/davinci*
1520715747
15208TI FLASH MEDIA INTERFACE DRIVER15748TI FLASH MEDIA MEMORYSTICK/MMC DRIVERS
15209M: Alex Dubov <oakad@yahoo.com>15749M: Alex Dubov <oakad@yahoo.com>
15210S: Maintained15750S: Maintained
15751W: http://tifmxx.berlios.de/
15752F: drivers/memstick/host/tifm_ms.c
15211F: drivers/misc/tifm*15753F: drivers/misc/tifm*
15212F: drivers/mmc/host/tifm_sd.c15754F: drivers/mmc/host/tifm_sd.c
15213F: include/linux/tifm.h15755F: include/linux/tifm.h
@@ -15359,7 +15901,7 @@ TMP401 HARDWARE MONITOR DRIVER
15359M: Guenter Roeck <linux@roeck-us.net>15901M: Guenter Roeck <linux@roeck-us.net>
15360L: linux-hwmon@vger.kernel.org15902L: linux-hwmon@vger.kernel.org
15361S: Maintained15903S: Maintained
15362F: Documentation/hwmon/tmp40115904F: Documentation/hwmon/tmp401.rst
15363F: drivers/hwmon/tmp401.c15905F: drivers/hwmon/tmp401.c
1536415906
15365TMPFS (SHMEM FILESYSTEM)15907TMPFS (SHMEM FILESYSTEM)
@@ -15372,12 +15914,11 @@ F: mm/shmem.c
15372TOMOYO SECURITY MODULE15914TOMOYO SECURITY MODULE
15373M: Kentaro Takeda <takedakn@nttdata.co.jp>15915M: Kentaro Takeda <takedakn@nttdata.co.jp>
15374M: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>15916M: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
15375L: tomoyo-dev-en@lists.sourceforge.jp (subscribers-only, for developers in English)15917L: tomoyo-dev-en@lists.osdn.me (subscribers-only, for developers in English)
15376L: tomoyo-users-en@lists.sourceforge.jp (subscribers-only, for users in English)15918L: tomoyo-users-en@lists.osdn.me (subscribers-only, for users in English)
15377L: tomoyo-dev@lists.sourceforge.jp (subscribers-only, for developers in Japanese)15919L: tomoyo-dev@lists.osdn.me (subscribers-only, for developers in Japanese)
15378L: tomoyo-users@lists.sourceforge.jp (subscribers-only, for users in Japanese)15920L: tomoyo-users@lists.osdn.me (subscribers-only, for users in Japanese)
15379W: http://tomoyo.sourceforge.jp/15921W: https://tomoyo.osdn.jp/
15380T: quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.5.x/tomoyo-lsm/patches/
15381S: Maintained15922S: Maintained
15382F: security/tomoyo/15923F: security/tomoyo/
1538315924
@@ -15393,7 +15934,7 @@ M: "Paul E. McKenney" <paulmck@linux.ibm.com>
15393M: Josh Triplett <josh@joshtriplett.org>15934M: Josh Triplett <josh@joshtriplett.org>
15394L: linux-kernel@vger.kernel.org15935L: linux-kernel@vger.kernel.org
15395S: Supported15936S: Supported
15396T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git15937T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
15397F: Documentation/RCU/torture.txt15938F: Documentation/RCU/torture.txt
15398F: kernel/torture.c15939F: kernel/torture.c
15399F: kernel/rcu/rcutorture.c15940F: kernel/rcu/rcutorture.c
@@ -15635,6 +16176,12 @@ F: drivers/uwb/
15635F: include/linux/uwb.h16176F: include/linux/uwb.h
15636F: include/linux/uwb/16177F: include/linux/uwb/
1563716178
16179UNICODE SUBSYSTEM:
16180M: Gabriel Krisman Bertazi <krisman@collabora.com>
16181L: linux-fsdevel@vger.kernel.org
16182S: Supported
16183F: fs/unicode/
16184
15638UNICORE32 ARCHITECTURE:16185UNICORE32 ARCHITECTURE:
15639M: Guan Xuetao <gxt@pku.edu.cn>16186M: Guan Xuetao <gxt@pku.edu.cn>
15640W: http://mprc.pku.edu.cn/~guanxuetao/linux16187W: http://mprc.pku.edu.cn/~guanxuetao/linux
@@ -15666,18 +16213,27 @@ F: drivers/visorbus/
15666F: drivers/staging/unisys/16213F: drivers/staging/unisys/
1566716214
15668UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER16215UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
15669M: Vinayak Holikatti <vinholikatti@gmail.com>16216R: Alim Akhtar <alim.akhtar@samsung.com>
16217R: Avri Altman <avri.altman@wdc.com>
16218R: Pedro Sousa <pedrom.sousa@synopsys.com>
15670L: linux-scsi@vger.kernel.org16219L: linux-scsi@vger.kernel.org
15671S: Supported16220S: Supported
15672F: Documentation/scsi/ufs.txt16221F: Documentation/scsi/ufs.txt
15673F: drivers/scsi/ufs/16222F: drivers/scsi/ufs/
1567416223
15675UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER DWC HOOKS16224UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER DWC HOOKS
15676M: Joao Pinto <jpinto@synopsys.com>16225M: Pedro Sousa <pedrom.sousa@synopsys.com>
15677L: linux-scsi@vger.kernel.org16226L: linux-scsi@vger.kernel.org
15678S: Supported16227S: Supported
15679F: drivers/scsi/ufs/*dwc*16228F: drivers/scsi/ufs/*dwc*
1568016229
16230UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER MEDIATEK HOOKS
16231M: Stanley Chu <stanley.chu@mediatek.com>
16232L: linux-scsi@vger.kernel.org
16233L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
16234S: Maintained
16235F: drivers/scsi/ufs/ufs-mediatek*
16236
15681UNSORTED BLOCK IMAGES (UBI)16237UNSORTED BLOCK IMAGES (UBI)
15682M: Artem Bityutskiy <dedekind1@gmail.com>16238M: Artem Bityutskiy <dedekind1@gmail.com>
15683M: Richard Weinberger <richard@nod.at>16239M: Richard Weinberger <richard@nod.at>
@@ -15781,6 +16337,14 @@ L: linux-usb@vger.kernel.org
15781S: Maintained16337S: Maintained
15782F: drivers/usb/roles/intel-xhci-usb-role-switch.c16338F: drivers/usb/roles/intel-xhci-usb-role-switch.c
1578316339
16340USB IP DRIVER FOR HISILICON KIRIN
16341M: Yu Chen <chenyu56@huawei.com>
16342M: Binghui Wang <wangbinghui@hisilicon.com>
16343L: linux-usb@vger.kernel.org
16344S: Maintained
16345F: Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
16346F: drivers/phy/hisilicon/phy-hi3660-usb3.c
16347
15784USB ISP116X DRIVER16348USB ISP116X DRIVER
15785M: Olav Kongas <ok@artecdesign.ee>16349M: Olav Kongas <ok@artecdesign.ee>
15786L: linux-usb@vger.kernel.org16350L: linux-usb@vger.kernel.org
@@ -15802,13 +16366,12 @@ M: Alan Stern <stern@rowland.harvard.edu>
15802L: linux-usb@vger.kernel.org16366L: linux-usb@vger.kernel.org
15803L: usb-storage@lists.one-eyed-alien.net16367L: usb-storage@lists.one-eyed-alien.net
15804S: Maintained16368S: Maintained
15805W: http://www.one-eyed-alien.net/~mdharm/linux-usb/
15806F: drivers/usb/storage/16369F: drivers/usb/storage/
1580716370
15808USB MIDI DRIVER16371USB MIDI DRIVER
15809M: Clemens Ladisch <clemens@ladisch.de>16372M: Clemens Ladisch <clemens@ladisch.de>
15810L: alsa-devel@alsa-project.org (moderated for non-subscribers)16373L: alsa-devel@alsa-project.org (moderated for non-subscribers)
15811T: git git://git.alsa-project.org/alsa-kernel.git16374T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
15812S: Maintained16375S: Maintained
15813F: sound/usb/midi.*16376F: sound/usb/midi.*
1581416377
@@ -15834,6 +16397,7 @@ F: drivers/usb/common/usb-otg-fsm.c
15834USB OVER IP DRIVER16397USB OVER IP DRIVER
15835M: Valentina Manea <valentina.manea.m@gmail.com>16398M: Valentina Manea <valentina.manea.m@gmail.com>
15836M: Shuah Khan <shuah@kernel.org>16399M: Shuah Khan <shuah@kernel.org>
16400M: Shuah Khan <skhan@linuxfoundation.org>
15837L: linux-usb@vger.kernel.org16401L: linux-usb@vger.kernel.org
15838S: Maintained16402S: Maintained
15839F: Documentation/usb/usbip_protocol.txt16403F: Documentation/usb/usbip_protocol.txt
@@ -16080,6 +16644,7 @@ F: fs/fat/
1608016644
16081VFIO DRIVER16645VFIO DRIVER
16082M: Alex Williamson <alex.williamson@redhat.com>16646M: Alex Williamson <alex.williamson@redhat.com>
16647R: Cornelia Huck <cohuck@redhat.com>
16083L: kvm@vger.kernel.org16648L: kvm@vger.kernel.org
16084T: git git://github.com/awilliam/linux-vfio.git16649T: git git://github.com/awilliam/linux-vfio.git
16085S: Maintained16650S: Maintained
@@ -16206,7 +16771,7 @@ F: drivers/char/virtio_console.c
16206F: include/linux/virtio_console.h16771F: include/linux/virtio_console.h
16207F: include/uapi/linux/virtio_console.h16772F: include/uapi/linux/virtio_console.h
1620816773
16209VIRTIO CORE, NET AND BLOCK DRIVERS16774VIRTIO CORE AND NET DRIVERS
16210M: "Michael S. Tsirkin" <mst@redhat.com>16775M: "Michael S. Tsirkin" <mst@redhat.com>
16211M: Jason Wang <jasowang@redhat.com>16776M: Jason Wang <jasowang@redhat.com>
16212L: virtualization@lists.linux-foundation.org16777L: virtualization@lists.linux-foundation.org
@@ -16221,6 +16786,19 @@ F: include/uapi/linux/virtio_*.h
16221F: drivers/crypto/virtio/16786F: drivers/crypto/virtio/
16222F: mm/balloon_compaction.c16787F: mm/balloon_compaction.c
1622316788
16789VIRTIO BLOCK AND SCSI DRIVERS
16790M: "Michael S. Tsirkin" <mst@redhat.com>
16791M: Jason Wang <jasowang@redhat.com>
16792R: Paolo Bonzini <pbonzini@redhat.com>
16793R: Stefan Hajnoczi <stefanha@redhat.com>
16794L: virtualization@lists.linux-foundation.org
16795S: Maintained
16796F: drivers/block/virtio_blk.c
16797F: drivers/scsi/virtio_scsi.c
16798F: include/uapi/linux/virtio_blk.h
16799F: include/uapi/linux/virtio_scsi.h
16800F: drivers/vhost/scsi.c
16801
16224VIRTIO CRYPTO DRIVER16802VIRTIO CRYPTO DRIVER
16225M: Gonglei <arei.gonglei@huawei.com>16803M: Gonglei <arei.gonglei@huawei.com>
16226L: virtualization@lists.linux-foundation.org16804L: virtualization@lists.linux-foundation.org
@@ -16383,7 +16961,7 @@ VT1211 HARDWARE MONITOR DRIVER
16383M: Juerg Haefliger <juergh@gmail.com>16961M: Juerg Haefliger <juergh@gmail.com>
16384L: linux-hwmon@vger.kernel.org16962L: linux-hwmon@vger.kernel.org
16385S: Maintained16963S: Maintained
16386F: Documentation/hwmon/vt121116964F: Documentation/hwmon/vt1211.rst
16387F: drivers/hwmon/vt1211.c16965F: drivers/hwmon/vt1211.c
1638816966
16389VT8231 HARDWARE MONITOR DRIVER16967VT8231 HARDWARE MONITOR DRIVER
@@ -16411,14 +16989,14 @@ W83791D HARDWARE MONITORING DRIVER
16411M: Marc Hulsman <m.hulsman@tudelft.nl>16989M: Marc Hulsman <m.hulsman@tudelft.nl>
16412L: linux-hwmon@vger.kernel.org16990L: linux-hwmon@vger.kernel.org
16413S: Maintained16991S: Maintained
16414F: Documentation/hwmon/w83791d16992F: Documentation/hwmon/w83791d.rst
16415F: drivers/hwmon/w83791d.c16993F: drivers/hwmon/w83791d.c
1641616994
16417W83793 HARDWARE MONITORING DRIVER16995W83793 HARDWARE MONITORING DRIVER
16418M: Rudolf Marek <r.marek@assembler.cz>16996M: Rudolf Marek <r.marek@assembler.cz>
16419L: linux-hwmon@vger.kernel.org16997L: linux-hwmon@vger.kernel.org
16420S: Maintained16998S: Maintained
16421F: Documentation/hwmon/w8379316999F: Documentation/hwmon/w83793.rst
16422F: drivers/hwmon/w83793.c17000F: drivers/hwmon/w83793.c
1642317001
16424W83795 HARDWARE MONITORING DRIVER17002W83795 HARDWARE MONITORING DRIVER
@@ -16458,6 +17036,12 @@ L: linux-gpio@vger.kernel.org
16458S: Maintained17036S: Maintained
16459F: drivers/gpio/gpio-wcove.c17037F: drivers/gpio/gpio-wcove.c
1646017038
17039WHWAVE RTC DRIVER
17040M: Dianlong Li <long17.cool@163.com>
17041L: linux-rtc@vger.kernel.org
17042S: Maintained
17043F: drivers/rtc/rtc-sd3078.c
17044
16461WIIMOTE HID DRIVER17045WIIMOTE HID DRIVER
16462M: David Herrmann <dh.herrmann@googlemail.com>17046M: David Herrmann <dh.herrmann@googlemail.com>
16463L: linux-input@vger.kernel.org17047L: linux-input@vger.kernel.org
@@ -16489,6 +17073,11 @@ M: David Härdeman <david@hardeman.nu>
16489S: Maintained17073S: Maintained
16490F: drivers/media/rc/winbond-cir.c17074F: drivers/media/rc/winbond-cir.c
1649117075
17076RCMM REMOTE CONTROLS DECODER
17077M: Patrick Lerda <patrick9876@free.fr>
17078S: Maintained
17079F: drivers/media/rc/ir-rcmm-decoder.c
17080
16492WINSYSTEMS EBC-C384 WATCHDOG DRIVER17081WINSYSTEMS EBC-C384 WATCHDOG DRIVER
16493M: William Breathitt Gray <vilhelm.gray@gmail.com>17082M: William Breathitt Gray <vilhelm.gray@gmail.com>
16494L: linux-watchdog@vger.kernel.org17083L: linux-watchdog@vger.kernel.org
@@ -16516,7 +17105,7 @@ L: patches@opensource.cirrus.com
16516T: git https://github.com/CirrusLogic/linux-drivers.git17105T: git https://github.com/CirrusLogic/linux-drivers.git
16517W: https://github.com/CirrusLogic/linux-drivers/wiki17106W: https://github.com/CirrusLogic/linux-drivers/wiki
16518S: Supported17107S: Supported
16519F: Documentation/hwmon/wm83??17108F: Documentation/hwmon/wm83??.rst
16520F: Documentation/devicetree/bindings/extcon/extcon-arizona.txt17109F: Documentation/devicetree/bindings/extcon/extcon-arizona.txt
16521F: Documentation/devicetree/bindings/regulator/arizona-regulator.txt17110F: Documentation/devicetree/bindings/regulator/arizona-regulator.txt
16522F: Documentation/devicetree/bindings/mfd/arizona.txt17111F: Documentation/devicetree/bindings/mfd/arizona.txt
@@ -16606,7 +17195,7 @@ M: Tony Luck <tony.luck@intel.com>
16606M: Borislav Petkov <bp@alien8.de>17195M: Borislav Petkov <bp@alien8.de>
16607L: linux-edac@vger.kernel.org17196L: linux-edac@vger.kernel.org
16608S: Maintained17197S: Maintained
16609F: arch/x86/kernel/cpu/mcheck/*17198F: arch/x86/kernel/cpu/mce/*
1661017199
16611X86 MICROCODE UPDATE SUPPORT17200X86 MICROCODE UPDATE SUPPORT
16612M: Borislav Petkov <bp@alien8.de>17201M: Borislav Petkov <bp@alien8.de>
@@ -16631,6 +17220,15 @@ S: Maintained
16631F: drivers/platform/x86/17220F: drivers/platform/x86/
16632F: drivers/platform/olpc/17221F: drivers/platform/olpc/
1663317222
17223X86 PLATFORM DRIVERS - ARCH
17224R: Darren Hart <dvhart@infradead.org>
17225R: Andy Shevchenko <andy@infradead.org>
17226L: platform-driver-x86@vger.kernel.org
17227L: x86@kernel.org
17228T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
17229S: Maintained
17230F: arch/x86/platform
17231
16634X86 VDSO17232X86 VDSO
16635M: Andy Lutomirski <luto@kernel.org>17233M: Andy Lutomirski <luto@kernel.org>
16636L: linux-kernel@vger.kernel.org17234L: linux-kernel@vger.kernel.org
@@ -16663,10 +17261,30 @@ T: git git://linuxtv.org/media_tree.git
16663S: Maintained17261S: Maintained
16664F: drivers/media/tuners/tuner-xc2028.*17262F: drivers/media/tuners/tuner-xc2028.*
1666517263
17264XDP (eXpress Data Path)
17265M: Alexei Starovoitov <ast@kernel.org>
17266M: Daniel Borkmann <daniel@iogearbox.net>
17267M: David S. Miller <davem@davemloft.net>
17268M: Jakub Kicinski <jakub.kicinski@netronome.com>
17269M: Jesper Dangaard Brouer <hawk@kernel.org>
17270M: John Fastabend <john.fastabend@gmail.com>
17271L: netdev@vger.kernel.org
17272L: xdp-newbies@vger.kernel.org
17273L: bpf@vger.kernel.org
17274S: Supported
17275F: net/core/xdp.c
17276F: include/net/xdp.h
17277F: kernel/bpf/devmap.c
17278F: kernel/bpf/cpumap.c
17279F: include/trace/events/xdp.h
17280K: xdp
17281N: xdp
17282
16666XDP SOCKETS (AF_XDP)17283XDP SOCKETS (AF_XDP)
16667M: Björn Töpel <bjorn.topel@intel.com>17284M: Björn Töpel <bjorn.topel@intel.com>
16668M: Magnus Karlsson <magnus.karlsson@intel.com>17285M: Magnus Karlsson <magnus.karlsson@intel.com>
16669L: netdev@vger.kernel.org17286L: netdev@vger.kernel.org
17287L: bpf@vger.kernel.org
16670S: Maintained17288S: Maintained
16671F: kernel/bpf/xskmap.c17289F: kernel/bpf/xskmap.c
16672F: net/xdp/17290F: net/xdp/
@@ -16712,7 +17330,7 @@ F: Documentation/ABI/stable/sysfs-hypervisor-xen
16712F: Documentation/ABI/testing/sysfs-hypervisor-xen17330F: Documentation/ABI/testing/sysfs-hypervisor-xen
1671317331
16714XEN NETWORK BACKEND DRIVER17332XEN NETWORK BACKEND DRIVER
16715M: Wei Liu <wei.liu2@citrix.com>17333M: Wei Liu <wei.liu@kernel.org>
16716M: Paul Durrant <paul.durrant@citrix.com>17334M: Paul Durrant <paul.durrant@citrix.com>
16717L: xen-devel@lists.xenproject.org (moderated for non-subscribers)17335L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
16718L: netdev@vger.kernel.org17336L: netdev@vger.kernel.org
@@ -16794,6 +17412,7 @@ M: Jan Glauber <jglauber@cavium.com>
16794L: linux-i2c@vger.kernel.org17412L: linux-i2c@vger.kernel.org
16795W: http://www.cavium.com17413W: http://www.cavium.com
16796S: Supported17414S: Supported
17415F: Documentation/devicetree/bindings/i2c/i2c-xlp9xx.txt
16797F: drivers/i2c/busses/i2c-xlp9xx.c17416F: drivers/i2c/busses/i2c-xlp9xx.c
1679817417
16799XRA1403 GPIO EXPANDER17418XRA1403 GPIO EXPANDER
diff --git a/backport-include/asm/barrier.h b/backport-include/asm/barrier.h
index 9e1e1f1..bca0558 100644
--- a/backport-include/asm/barrier.h
+++ b/backport-include/asm/barrier.h
@@ -19,4 +19,8 @@
19#define smp_mb__after_atomic smp_mb__after_clear_bit19#define smp_mb__after_atomic smp_mb__after_clear_bit
20#endif20#endif
2121
22#ifndef smp_acquire__after_ctrl_dep
23#define smp_acquire__after_ctrl_dep() smp_rmb()
24#endif
25
22#endif /* __BACKPORT_ASM_BARRIER_H */26#endif /* __BACKPORT_ASM_BARRIER_H */
diff --git a/backport-include/linux/compiler-gcc8.h b/backport-include/linux/compiler-gcc8.h
23new file mode 10064427new file mode 100644
index 0000000..9ff99f0
--- /dev/null
+++ b/backport-include/linux/compiler-gcc8.h
@@ -0,0 +1 @@
1#include <linux/compiler-gccN.h>
diff --git a/backport-include/linux/compiler-gcc9.h b/backport-include/linux/compiler-gcc9.h
0new file mode 1006442new file mode 100644
index 0000000..9ff99f0
--- /dev/null
+++ b/backport-include/linux/compiler-gcc9.h
@@ -0,0 +1 @@
1#include <linux/compiler-gccN.h>
diff --git a/backport-include/linux/ftrace_event.h b/backport-include/linux/ftrace_event.h
index f823388..edea21e 100644
--- a/backport-include/linux/ftrace_event.h
+++ b/backport-include/linux/ftrace_event.h
@@ -2,8 +2,7 @@
2#define __BACKPORT_LINUX_FTRACE_EVENT_H2#define __BACKPORT_LINUX_FTRACE_EVENT_H
3#include_next <linux/ftrace_event.h>3#include_next <linux/ftrace_event.h>
44
5#if LINUX_VERSION_IS_LESS(4,0,0) && \5#if LINUX_VERSION_IS_LESS(4,0,0)
6 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
7const char *ftrace_print_array_seq(struct trace_seq *p,6const char *ftrace_print_array_seq(struct trace_seq *p,
8 const void *buf, int buf_len,7 const void *buf, int buf_len,
9 size_t el_size);8 size_t el_size);
diff --git a/backport-include/linux/hrtimer.h b/backport-include/linux/hrtimer.h
10new file mode 1006449new file mode 100644
index 0000000..1152a58
--- /dev/null
+++ b/backport-include/linux/hrtimer.h
@@ -0,0 +1,13 @@
1#ifndef __BACKPORT_LINUX_HRTIMER_H
2#define __BACKPORT_LINUX_HRTIMER_H
3#include <linux/version.h>
4#include_next <linux/hrtimer.h>
5
6#if LINUX_VERSION_IS_LESS(4,16,0)
7
8#define HRTIMER_MODE_ABS_SOFT HRTIMER_MODE_ABS
9#define HRTIMER_MODE_REL_SOFT HRTIMER_MODE_REL
10
11#endif /* < 4.16 */
12
13#endif /* __BACKPORT_LINUX_HRTIMER_H */
diff --git a/backport-include/linux/interrupt.h b/backport-include/linux/interrupt.h
index ad3cbf6..8a769f3 100644
--- a/backport-include/linux/interrupt.h
+++ b/backport-include/linux/interrupt.h
@@ -5,6 +5,31 @@
5#include <linux/ktime.h>5#include <linux/ktime.h>
66
7#if LINUX_VERSION_IS_LESS(4,10,0)7#if LINUX_VERSION_IS_LESS(4,10,0)
8
9/* Forward a hrtimer so it expires after now: */
10static inline u64
11backport_hrtimer_forward(struct hrtimer *timer, ktime_t now, s64 interval)
12{
13 ktime_t _interval = { .tv64 = interval };
14
15 return hrtimer_forward(timer, now, _interval);
16}
17#define hrtimer_forward LINUX_BACKPORT(hrtimer_forward)
18
19static inline bool backport_ktime_before(const s64 cmp1, const s64 cmp2)
20{
21 return cmp1 < cmp2;
22}
23#define ktime_before LINUX_BACKPORT(ktime_before)
24
25static inline s64 backport_ns_to_ktime(u64 ns)
26{
27 ktime_t _time = ns_to_ktime(ns);
28
29 return _time.tv64;
30}
31#define ns_to_ktime LINUX_BACKPORT(ns_to_ktime)
32
8static inline void backport_hrtimer_start(struct hrtimer *timer, s64 time,33static inline void backport_hrtimer_start(struct hrtimer *timer, s64 time,
9 const enum hrtimer_mode mode)34 const enum hrtimer_mode mode)
10{35{
diff --git a/backport-include/linux/lockdep.h b/backport-include/linux/lockdep.h
index 5a5d0d0..12b91b4 100644
--- a/backport-include/linux/lockdep.h
+++ b/backport-include/linux/lockdep.h
@@ -14,4 +14,10 @@
14#endif /* CONFIG_LOCKDEP */14#endif /* CONFIG_LOCKDEP */
15#endif /* LINUX_VERSION_IS_LESS(3,9,0) */15#endif /* LINUX_VERSION_IS_LESS(3,9,0) */
1616
17#if LINUX_VERSION_IS_LESS(4,15,0)
18#ifndef CONFIG_LOCKDEP
19struct lockdep_map { };
20#endif /* CONFIG_LOCKDEP */
21#endif /* LINUX_VERSION_IS_LESS(4,15,0) */
22
17#endif /* __BACKPORT_LINUX_LOCKDEP_H */23#endif /* __BACKPORT_LINUX_LOCKDEP_H */
diff --git a/backport-include/linux/mmc/sdio_func.h b/backport-include/linux/mmc/sdio_func.h
index 2d3e92b..0a67f99 100644
--- a/backport-include/linux/mmc/sdio_func.h
+++ b/backport-include/linux/mmc/sdio_func.h
@@ -7,4 +7,80 @@
7#define dev_to_sdio_func(d) container_of(d, struct sdio_func, dev)7#define dev_to_sdio_func(d) container_of(d, struct sdio_func, dev)
8#endif8#endif
99
10#if LINUX_VERSION_IS_LESS(5,2,0) && \
11 !LINUX_VERSION_IN_RANGE(5,1,15, 5,2,0) && \
12 !LINUX_VERSION_IN_RANGE(4,19,56, 4,20,0)
13
14#include <linux/mmc/card.h>
15#include <linux/mmc/host.h>
16
17/**
18 * sdio_retune_hold_now - start deferring retuning requests till release
19 * @func: SDIO function attached to host
20 *
21 * This function can be called if it's currently a bad time to do
22 * a retune of the SDIO card. Retune requests made during this time
23 * will be held and we'll actually do the retune sometime after the
24 * release.
25 *
26 * This function could be useful if an SDIO card is in a power state
27 * where it can respond to a small subset of commands that doesn't
28 * include the retuning command. Care should be taken when using
29 * this function since (presumably) the retuning request we might be
30 * deferring was made for a good reason.
31 *
32 * This function should be called while the host is claimed.
33 */
34#define sdio_retune_hold_now LINUX_BACKPORT(sdio_retune_hold_now)
35#if LINUX_VERSION_IS_LESS(4,3,0)
36static inline void sdio_retune_hold_now(struct sdio_func *func)
37{
38}
39#else
40static inline void sdio_retune_hold_now(struct sdio_func *func)
41{
42 struct mmc_host *host = func->card->host;
43
44 host->retune_now = 0;
45 host->hold_retune += 1;
46}
47#endif /* < 4.3 */
48
49/**
50 * sdio_retune_release - signal that it's OK to retune now
51 * @func: SDIO function attached to host
52 *
53 * This is the complement to sdio_retune_hold_now(). Calling this
54 * function won't make a retune happen right away but will allow
55 * them to be scheduled normally.
56 *
57 * This function should be called while the host is claimed.
58 */
59#define sdio_retune_release LINUX_BACKPORT(sdio_retune_release)
60#if LINUX_VERSION_IS_LESS(4,3,0)
61static inline void sdio_retune_release(struct sdio_func *func)
62{
63}
64#else
65static inline void sdio_retune_release(struct sdio_func *func)
66{
67 struct mmc_host *host = func->card->host;
68
69 if (host->hold_retune)
70 host->hold_retune -= 1;
71 else
72 WARN_ON(1);
73}
74#endif
75
76#define sdio_retune_crc_disable LINUX_BACKPORT(sdio_retune_crc_disable)
77static inline void sdio_retune_crc_disable(struct sdio_func *func)
78{
79}
80#define sdio_retune_crc_enable LINUX_BACKPORT(sdio_retune_crc_enable)
81static inline void sdio_retune_crc_enable(struct sdio_func *func)
82{
83}
84#endif /* < 5.2 */
85
10#endif /* __BACKPORT_MMC_SDIO_FUNC_H */86#endif /* __BACKPORT_MMC_SDIO_FUNC_H */
diff --git a/backport-include/linux/moduleparam.h b/backport-include/linux/moduleparam.h
index a624ab5..914baad 100644
--- a/backport-include/linux/moduleparam.h
+++ b/backport-include/linux/moduleparam.h
@@ -29,8 +29,7 @@ static const char __UNIQUE_ID(name)[] \
29#endif29#endif
30#endif /* < 3.8 */30#endif /* < 3.8 */
3131
32#if LINUX_VERSION_IS_LESS(3,17,0) && \32#if LINUX_VERSION_IS_LESS(3,17,0)
33 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
34extern struct kernel_param_ops param_ops_ullong;33extern struct kernel_param_ops param_ops_ullong;
35extern int param_set_ullong(const char *val, const struct kernel_param *kp);34extern int param_set_ullong(const char *val, const struct kernel_param *kp);
36extern int param_get_ullong(char *buffer, const struct kernel_param *kp);35extern int param_get_ullong(char *buffer, const struct kernel_param *kp);
diff --git a/backport-include/linux/netdevice.h b/backport-include/linux/netdevice.h
index 3375126..9f4c476 100644
--- a/backport-include/linux/netdevice.h
+++ b/backport-include/linux/netdevice.h
@@ -259,8 +259,7 @@ static inline struct sk_buff *napi_alloc_skb(struct napi_struct *napi,
259#define IFF_TX_SKB_SHARING 0259#define IFF_TX_SKB_SHARING 0
260#endif260#endif
261261
262#if LINUX_VERSION_IS_LESS(4,1,0) && \262#if LINUX_VERSION_IS_LESS(4,1,0)
263 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
264netdev_features_t passthru_features_check(struct sk_buff *skb,263netdev_features_t passthru_features_check(struct sk_buff *skb,
265 struct net_device *dev,264 struct net_device *dev,
266 netdev_features_t features);265 netdev_features_t features);
@@ -292,13 +291,21 @@ static inline void u64_stats_init(struct u64_stats_sync *syncp)
292})291})
293#endif /* netdev_alloc_pcpu_stats */292#endif /* netdev_alloc_pcpu_stats */
294293
295#if LINUX_VERSION_IS_LESS(3,19,0)294#if LINUX_VERSION_IS_LESS(4,10,0)
296#define napi_complete_done LINUX_BACKPORT(napi_complete_done)295static inline bool backport_napi_complete_done(struct napi_struct *n, int work_done)
297static inline void napi_complete_done(struct napi_struct *n, int work_done)
298{296{
297 if (unlikely(test_bit(NAPI_STATE_NPSVC, &n->state)))
298 return false;
299
300#if LINUX_VERSION_IS_LESS(3,19,0)
299 napi_complete(n);301 napi_complete(n);
300}302#else
303 napi_complete_done(n, work_done);
301#endif /* < 3.19 */304#endif /* < 3.19 */
305 return true;
306}
307#define napi_complete_done LINUX_BACKPORT(napi_complete_done)
308#endif /* < 4.10 */
302309
303#if LINUX_VERSION_IS_LESS(4,5,0)310#if LINUX_VERSION_IS_LESS(4,5,0)
304#define netif_tx_napi_add LINUX_BACKPORT(netif_tx_napi_add)311#define netif_tx_napi_add LINUX_BACKPORT(netif_tx_napi_add)
diff --git a/backport-include/linux/of_net.h b/backport-include/linux/of_net.h
index 7f4b688..18becf5 100644
--- a/backport-include/linux/of_net.h
+++ b/backport-include/linux/of_net.h
@@ -12,4 +12,20 @@ static inline const void *of_get_mac_address(struct device_node *np)
12#endif12#endif
13#endif13#endif
1414
15/* The behavior of of_get_mac_address() changed in kernel 5.2, it now
16 * returns an error code and not NULL in case of an error.
17 */
18#if LINUX_VERSION_IS_LESS(5,2,0)
19static inline const void *backport_of_get_mac_address(struct device_node *np)
20{
21 const void *mac = of_get_mac_address(np);
22
23 if (!mac)
24 return ERR_PTR(-ENODEV);
25
26 return mac;
27}
28#define of_get_mac_address LINUX_BACKPORT(of_get_mac_address)
29#endif /* < 5.2 */
30
15#endif /* _BP_OF_NET_H */31#endif /* _BP_OF_NET_H */
diff --git a/backport-include/linux/rcupdate.h b/backport-include/linux/rcupdate.h
index b96ef49..cec4b3e 100644
--- a/backport-include/linux/rcupdate.h
+++ b/backport-include/linux/rcupdate.h
@@ -41,4 +41,22 @@
41#define rcu_dereference_raw(p) rcu_dereference(p)41#define rcu_dereference_raw(p) rcu_dereference(p)
42#endif42#endif
4343
44#if LINUX_VERSION_IS_LESS(4,20,0)
45typedef void (*rcu_callback_t)(struct rcu_head *head);
46
47static inline void rcu_head_init(struct rcu_head *rhp)
48{
49 rhp->func = (rcu_callback_t)~0L;
50}
51
52static inline bool
53rcu_head_after_call_rcu(struct rcu_head *rhp, rcu_callback_t f)
54{
55 if (READ_ONCE(rhp->func) == f)
56 return true;
57 WARN_ON_ONCE(READ_ONCE(rhp->func) != (rcu_callback_t)~0L);
58 return false;
59}
60#endif /* < 4.20 */
61
44#endif /* __BACKPORT_LINUX_RCUPDATE_H */62#endif /* __BACKPORT_LINUX_RCUPDATE_H */
diff --git a/backport-include/linux/rhashtable.h b/backport-include/linux/rhashtable.h
45new file mode 10064463new file mode 100644
index 0000000..8e493bc
--- /dev/null
+++ b/backport-include/linux/rhashtable.h
@@ -0,0 +1,31 @@
1#ifndef __BACKPORT_RHASHTABLE_H
2#define __BACKPORT_RHASHTABLE_H
3#include_next <linux/rhashtable.h>
4#include <linux/version.h>
5
6#if LINUX_VERSION_IS_LESS(4,12,0)
7/**
8 * rhashtable_lookup_get_insert_fast - lookup and insert object into hash table
9 * @ht: hash table
10 * @obj: pointer to hash head inside object
11 * @params: hash table parameters
12 *
13 * Just like rhashtable_lookup_insert_fast(), but this function returns the
14 * object if it exists, NULL if it did not and the insertion was successful,
15 * and an ERR_PTR otherwise.
16 */
17#define rhashtable_lookup_get_insert_fast LINUX_BACKPORT(rhashtable_lookup_get_insert_fast)
18static inline void *rhashtable_lookup_get_insert_fast(
19 struct rhashtable *ht, struct rhash_head *obj,
20 const struct rhashtable_params params)
21{
22 const char *key = rht_obj(ht, obj);
23
24 BUG_ON(ht->p.obj_hashfn);
25
26 return __rhashtable_insert_fast(ht, key + ht->p.key_offset, obj, params,
27 false);
28}
29#endif
30
31#endif /* __BACKPORT_RHASHTABLE_H */
diff --git a/backport-include/linux/string.h b/backport-include/linux/string.h
index 3b2e7cd..2bfdf74 100644
--- a/backport-include/linux/string.h
+++ b/backport-include/linux/string.h
@@ -33,8 +33,7 @@ ssize_t strscpy(char *dest, const char *src, size_t count);
33char *strreplace(char *s, char old, char new);33char *strreplace(char *s, char old, char new);
34#endif34#endif
3535
36#if LINUX_VERSION_IS_LESS(4,6,0) && \36#if LINUX_VERSION_IS_LESS(4,6,0)
37 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
38int match_string(const char * const *array, size_t n, const char *string);37int match_string(const char * const *array, size_t n, const char *string);
39#endif /* LINUX_VERSION_IS_LESS(4,5,0) */38#endif /* LINUX_VERSION_IS_LESS(4,5,0) */
4039
diff --git a/backport-include/linux/timekeeping.h b/backport-include/linux/timekeeping.h
index 198b09b..b97b09f 100644
--- a/backport-include/linux/timekeeping.h
+++ b/backport-include/linux/timekeeping.h
@@ -26,6 +26,16 @@ static inline u64 ktime_get_boot_ns(void)
26}26}
27#endif /* < 3.17 */27#endif /* < 3.17 */
2828
29#if LINUX_VERSION_IS_GEQ(5,3,0)
30/*
31 * In v5.3, this function was renamed, so rename it here for v5.3+.
32 * When we merge v5.3 back from upstream, the opposite should be done
33 * (i.e. we will have _boottime_ and need to rename to _boot_ in <
34 * v5.3 instead).
35*/
36#define ktime_get_boot_ns ktime_get_boottime_ns
37#endif /* > 5.3.0 */
38
29#if LINUX_VERSION_IS_LESS(4,18,0)39#if LINUX_VERSION_IS_LESS(4,18,0)
30extern time64_t ktime_get_boottime_seconds(void);40extern time64_t ktime_get_boottime_seconds(void);
31#endif /* < 4.18 */41#endif /* < 4.18 */
diff --git a/backport-include/linux/wait.h b/backport-include/linux/wait.h
index fdf80d8..fc5b52c 100644
--- a/backport-include/linux/wait.h
+++ b/backport-include/linux/wait.h
@@ -24,8 +24,7 @@ backport_wait_on_bit_io(void *word, int bit, unsigned mode)
2424
25#endif25#endif
2626
27#if LINUX_VERSION_IS_LESS(3,18,12) && \27#if LINUX_VERSION_IS_LESS(3,18,12)
28 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
29#define WQ_FLAG_WOKEN 0x0228#define WQ_FLAG_WOKEN 0x02
3029
31#define wait_woken LINUX_BACKPORT(wait_woken)30#define wait_woken LINUX_BACKPORT(wait_woken)
diff --git a/backport-include/net/genetlink.h b/backport-include/net/genetlink.h
index 59611a8..f270ffa 100644
--- a/backport-include/net/genetlink.h
+++ b/backport-include/net/genetlink.h
@@ -48,8 +48,7 @@ static inline void *genl_info_userhdr(struct genl_info *info)
48#define genl_info_snd_portid(__genl_info) (__genl_info->snd_portid)48#define genl_info_snd_portid(__genl_info) (__genl_info->snd_portid)
49#endif49#endif
5050
51#if LINUX_VERSION_IS_LESS(3,13,0) && \51#if LINUX_VERSION_IS_LESS(3,13,0)
52 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
53#define __genl_const52#define __genl_const
54#else /* < 3.13 */53#else /* < 3.13 */
55#define __genl_const const54#define __genl_const const
@@ -94,11 +93,70 @@ void backport_genl_dump_check_consistent(struct netlink_callback *cb,
94#endif /* LINUX_VERSION_IS_LESS(4,15,0) */93#endif /* LINUX_VERSION_IS_LESS(4,15,0) */
9594
96#if LINUX_VERSION_IS_LESS(5,2,0)95#if LINUX_VERSION_IS_LESS(5,2,0)
96enum genl_validate_flags {
97 GENL_DONT_VALIDATE_STRICT = BIT(0),
98 GENL_DONT_VALIDATE_DUMP = BIT(1),
99 GENL_DONT_VALIDATE_DUMP_STRICT = BIT(2),
100};
101
102#if LINUX_VERSION_IS_GEQ(3,13,0)
103struct backport_genl_ops {
104 void *__dummy_was_policy_must_be_null;
105 int (*doit)(struct sk_buff *skb,
106 struct genl_info *info);
107#if LINUX_VERSION_IS_GEQ(4,5,0) || \
108 LINUX_VERSION_IN_RANGE(4,4,104, 4,5,0) || \
109 LINUX_VERSION_IN_RANGE(4,1,48, 4,2,0) || \
110 LINUX_VERSION_IN_RANGE(3,18,86, 3,19,0)
111 int (*start)(struct netlink_callback *cb);
112#endif
113 int (*dumpit)(struct sk_buff *skb,
114 struct netlink_callback *cb);
115 int (*done)(struct netlink_callback *cb);
116 u8 cmd;
117 u8 internal_flags;
118 u8 flags;
119 u8 validate;
120};
121#else
122struct backport_genl_ops {
123 u8 cmd;
124 u8 internal_flags;
125 unsigned int flags;
126 void *__dummy_was_policy_must_be_null;
127 int (*doit)(struct sk_buff *skb,
128 struct genl_info *info);
129 int (*dumpit)(struct sk_buff *skb,
130 struct netlink_callback *cb);
131 int (*done)(struct netlink_callback *cb);
132 struct list_head ops_list;
133 u8 validate;
134};
135#endif
136
97static inline int137static inline int
98__real_backport_genl_register_family(struct genl_family *family)138__real_backport_genl_register_family(struct genl_family *family)
99{139{
140#define OPS_VALIDATE(f) \
141 BUILD_BUG_ON(offsetof(struct genl_ops, f) != \
142 offsetof(struct backport_genl_ops, f))
143 OPS_VALIDATE(doit);
144#if LINUX_VERSION_IS_GEQ(4,5,0) || \
145 LINUX_VERSION_IN_RANGE(4,4,104, 4,5,0) || \
146 LINUX_VERSION_IN_RANGE(4,1,48, 4,2,0) || \
147 LINUX_VERSION_IN_RANGE(3,18,86, 3,19,0)
148 OPS_VALIDATE(start);
149#endif
150 OPS_VALIDATE(dumpit);
151 OPS_VALIDATE(done);
152 OPS_VALIDATE(cmd);
153 OPS_VALIDATE(internal_flags);
154 OPS_VALIDATE(flags);
155
100 return genl_register_family(family);156 return genl_register_family(family);
101}157}
158#define genl_ops backport_genl_ops
159
102static inline int160static inline int
103__real_backport_genl_unregister_family(struct genl_family *family)161__real_backport_genl_unregister_family(struct genl_family *family)
104{162{
diff --git a/backport-include/net/inet_frag.h b/backport-include/net/inet_frag.h
105deleted file mode 100644163deleted file mode 100644
index a03f031..0000000
--- a/backport-include/net/inet_frag.h
+++ /dev/null
@@ -1,78 +0,0 @@
1#ifndef __BACKPORT__NET_FRAG_H__
2#define __BACKPORT__NET_FRAG_H__
3#include_next <net/inet_frag.h>
4#include <linux/version.h>
5
6#if LINUX_VERSION_IS_LESS(3,9,0)
7/* Memory Tracking Functions. */
8#define frag_mem_limit LINUX_BACKPORT(frag_mem_limit)
9static inline int frag_mem_limit(struct netns_frags *nf)
10{
11 return atomic_read(&nf->mem);
12}
13
14#define init_frag_mem_limit LINUX_BACKPORT(init_frag_mem_limit)
15static inline void init_frag_mem_limit(struct netns_frags *nf)
16{
17 atomic_set(&nf->mem, 0);
18}
19
20#define sum_frag_mem_limit LINUX_BACKPORT(sum_frag_mem_limit)
21static inline int sum_frag_mem_limit(struct netns_frags *nf)
22{
23 return atomic_read(&nf->mem);
24}
25
26#define inet_frag_maybe_warn_overflow LINUX_BACKPORT(inet_frag_maybe_warn_overflow)
27void inet_frag_maybe_warn_overflow(struct inet_frag_queue *q,
28 const char *prefix);
29#endif /* LINUX_VERSION_IS_LESS(3,9,0) */
30
31/* the type of the paramater changed with kernel 4.3 */
32#if LINUX_VERSION_IS_LESS(3,9,0) || LINUX_VERSION_IN_RANGE(3,16,51, 3,17,0)
33#define sub_frag_mem_limit LINUX_BACKPORT(sub_frag_mem_limit)
34static inline void sub_frag_mem_limit(struct netns_frags *nf, int i)
35{
36 atomic_sub(i, &nf->mem);
37}
38
39#define add_frag_mem_limit LINUX_BACKPORT(add_frag_mem_limit)
40static inline void add_frag_mem_limit(struct netns_frags *nf, int i)
41{
42 atomic_add(i, &nf->mem);
43}
44#elif LINUX_VERSION_IS_LESS(4,3,0) && \
45 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
46#define sub_frag_mem_limit LINUX_BACKPORT(sub_frag_mem_limit)
47static inline void sub_frag_mem_limit(struct netns_frags *nf, int i)
48{
49 __percpu_counter_add(&nf->mem, -i, frag_percpu_counter_batch);
50}
51
52#define add_frag_mem_limit LINUX_BACKPORT(add_frag_mem_limit)
53static inline void add_frag_mem_limit(struct netns_frags *nf, int i)
54{
55 __percpu_counter_add(&nf->mem, i, frag_percpu_counter_batch);
56}
57#endif /* LINUX_VERSION_IS_LESS(4,3,0) */
58
59#if LINUX_VERSION_IS_LESS(4,4,0) && \
60 LINUX_VERSION_IS_GEQ(3,9,0) && \
61 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
62#define inet_frags_uninit_net LINUX_BACKPORT(inet_frags_uninit_net)
63static inline void inet_frags_uninit_net(struct netns_frags *nf)
64{
65 percpu_counter_destroy(&nf->mem);
66}
67#endif /* < 4.4 && >= 3.9 */
68
69#if LINUX_VERSION_IS_LESS(4,4,0)
70static inline int backport_inet_frags_init_net(struct netns_frags *nf)
71{
72 inet_frags_init_net(nf);
73 return 0;
74}
75#define inet_frags_init_net LINUX_BACKPORT(inet_frags_init_net)
76#endif /* < 4.4 */
77
78#endif /* __BACKPORT__NET_FRAG_H__ */
diff --git a/backport-include/net/ipv6_stubs.h b/backport-include/net/ipv6_stubs.h
79new file mode 1006440new file mode 100644
index 0000000..7d9a522
--- /dev/null
+++ b/backport-include/net/ipv6_stubs.h
@@ -0,0 +1,13 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BACKPORT_IPV6_STUBS_H
3#define _BACKPORT_IPV6_STUBS_H
4
5#if LINUX_VERSION_IS_LESS(5,2,0)
6
7#include <net/addrconf.h>
8
9#else
10#include_next <net/ipv6_stubs.h>
11#endif
12
13#endif /* _BACKPORT_IPV6_STUBS_H */
diff --git a/backport-include/net/netlink.h b/backport-include/net/netlink.h
index 87c30cc..996a4d3 100644
--- a/backport-include/net/netlink.h
+++ b/backport-include/net/netlink.h
@@ -4,20 +4,7 @@
4#include <linux/version.h>4#include <linux/version.h>
5#include <linux/in6.h>5#include <linux/in6.h>
66
7#if LINUX_VERSION_IS_LESS(5,1,0)7#if LINUX_VERSION_IS_LESS(5,2,0)
8#undef NLA_POLICY_NESTED
9#undef NLA_POLICY_NESTED_ARRAY
10#define _NLA_POLICY_NESTED(maxattr, policy) \
11 { .type = NLA_NESTED, .validation_data = policy, .len = maxattr }
12#define _NLA_POLICY_NESTED_ARRAY(maxattr, policy) \
13 { .type = NLA_NESTED_ARRAY, .validation_data = policy, .len = maxattr }
14#define NLA_POLICY_NESTED(policy) \
15 _NLA_POLICY_NESTED(ARRAY_SIZE(policy) - 1, policy)
16#define NLA_POLICY_NESTED_ARRAY(policy) \
17 _NLA_POLICY_NESTED_ARRAY(ARRAY_SIZE(policy) - 1, policy)
18#endif /* < 5.1 */
19
20#if LINUX_VERSION_IS_LESS(4,20,0)
21/* can't backport using the enum - need to override */8/* can't backport using the enum - need to override */
22#define NLA_UNSPEC 09#define NLA_UNSPEC 0
23#define NLA_U8 110#define NLA_U8 1
@@ -39,17 +26,10 @@
39#define NLA_REJECT 1726#define NLA_REJECT 17
40#define NLA_EXACT_LEN 1827#define NLA_EXACT_LEN 18
41#define NLA_EXACT_LEN_WARN 1928#define NLA_EXACT_LEN_WARN 19
42#define __NLA_TYPE_MAX 2029#define NLA_MIN_LEN 20
30#define __NLA_TYPE_MAX 21
43#define NLA_TYPE_MAX (__NLA_TYPE_MAX - 1)31#define NLA_TYPE_MAX (__NLA_TYPE_MAX - 1)
4432
45enum nla_policy_validation {
46 NLA_VALIDATE_NONE,
47 NLA_VALIDATE_RANGE,
48 NLA_VALIDATE_MIN,
49 NLA_VALIDATE_MAX,
50 NLA_VALIDATE_FUNCTION,
51};
52
53struct backport_nla_policy {33struct backport_nla_policy {
54 u8 type;34 u8 type;
55 u8 validation_type;35 u8 validation_type;
@@ -61,65 +41,105 @@ struct backport_nla_policy {
61 };41 };
62 int (*validate)(const struct nlattr *attr,42 int (*validate)(const struct nlattr *attr,
63 struct netlink_ext_ack *extack);43 struct netlink_ext_ack *extack);
44 u16 strict_start_type;
64 };45 };
65};46};
66#define nla_policy backport_nla_policy47#define nla_policy backport_nla_policy
6748
68#define NLA_POLICY_EXACT_LEN(_len) { .type = NLA_EXACT_LEN, .len = _len }49#define nla_nest_start_noflag LINUX_BACKPORT(nla_nest_start_noflag)
69#define NLA_POLICY_EXACT_LEN_WARN(_len) { .type = NLA_EXACT_LEN_WARN, \50static inline struct nlattr *nla_nest_start_noflag(struct sk_buff *skb,
70 .len = _len }51 int attrtype)
52{
53 struct nlattr *start = (struct nlattr *)skb_tail_pointer(skb);
7154
72#define NLA_POLICY_ETH_ADDR NLA_POLICY_EXACT_LEN(ETH_ALEN)55 if (nla_put(skb, attrtype, 0, NULL) < 0)
73#define NLA_POLICY_ETH_ADDR_COMPAT NLA_POLICY_EXACT_LEN_WARN(ETH_ALEN)56 return NULL;
7457
75#define __NLA_ENSURE(condition) (sizeof(char[1 - 2*!(condition)]) - 1)58 return start;
76#define NLA_ENSURE_INT_TYPE(tp) \59}
77 (__NLA_ENSURE(tp == NLA_S8 || tp == NLA_U8 || \
78 tp == NLA_S16 || tp == NLA_U16 || \
79 tp == NLA_S32 || tp == NLA_U32 || \
80 tp == NLA_S64 || tp == NLA_U64) + tp)
81#define NLA_ENSURE_NO_VALIDATION_PTR(tp) \
82 (__NLA_ENSURE(tp != NLA_BITFIELD32 && \
83 tp != NLA_REJECT && \
84 tp != NLA_NESTED && \
85 tp != NLA_NESTED_ARRAY) + tp)
8660
87#define NLA_POLICY_RANGE(tp, _min, _max) { \61#define nla_nest_start LINUX_BACKPORT(nla_nest_start)
88 .type = NLA_ENSURE_INT_TYPE(tp), \62static inline struct nlattr *nla_nest_start(struct sk_buff *skb, int attrtype)
89 .validation_type = NLA_VALIDATE_RANGE, \63{
90 .min = _min, \64 return nla_nest_start_noflag(skb, attrtype | NLA_F_NESTED);
91 .max = _max \
92}65}
9366
94#define NLA_POLICY_MIN(tp, _min) { \67enum netlink_validation {
95 .type = NLA_ENSURE_INT_TYPE(tp), \68 NL_VALIDATE_LIBERAL = 0,
96 .validation_type = NLA_VALIDATE_MIN, \69 NL_VALIDATE_TRAILING = BIT(0),
97 .min = _min, \70 NL_VALIDATE_MAXTYPE = BIT(1),
71 NL_VALIDATE_UNSPEC = BIT(2),
72 NL_VALIDATE_STRICT_ATTRS = BIT(3),
73 NL_VALIDATE_NESTED = BIT(4),
74};
75
76#define NL_VALIDATE_DEPRECATED_STRICT (NL_VALIDATE_TRAILING |\
77 NL_VALIDATE_MAXTYPE)
78#define NL_VALIDATE_STRICT (NL_VALIDATE_TRAILING |\
79 NL_VALIDATE_MAXTYPE |\
80 NL_VALIDATE_UNSPEC |\
81 NL_VALIDATE_STRICT_ATTRS |\
82 NL_VALIDATE_NESTED)
83
84#define __nla_validate LINUX_BACKPORT(__nla_validate)
85int __nla_validate(const struct nlattr *head, int len, int maxtype,
86 const struct nla_policy *policy, unsigned int validate,
87 struct netlink_ext_ack *extack);
88#define __nla_parse LINUX_BACKPORT(__nla_parse)
89int __nla_parse(struct nlattr **tb, int maxtype, const struct nlattr *head,
90 int len, const struct nla_policy *policy, unsigned int validate,
91 struct netlink_ext_ack *extack);
92
93#define nla_policy_len LINUX_BACKPORT(nla_policy_len)
94int nla_policy_len(const struct nla_policy *, int);
95
96#define nla_parse LINUX_BACKPORT(nla_parse)
97static inline int nla_parse(struct nlattr **tb, int maxtype,
98 const struct nlattr *head, int len,
99 const struct nla_policy *policy,
100 struct netlink_ext_ack *extack)
101{
102 return __nla_parse(tb, maxtype, head, len, policy,
103 NL_VALIDATE_STRICT, extack);
98}104}
99105
100#define NLA_POLICY_MAX(tp, _max) { \106#define nla_parse_deprecated LINUX_BACKPORT(nla_parse_deprecated)
101 .type = NLA_ENSURE_INT_TYPE(tp), \107static inline int nla_parse_deprecated(struct nlattr **tb, int maxtype,
102 .validation_type = NLA_VALIDATE_MAX, \108 const struct nlattr *head, int len,
103 .max = _max, \109 const struct nla_policy *policy,
110 struct netlink_ext_ack *extack)
111{
112 return __nla_parse(tb, maxtype, head, len, policy,
113 NL_VALIDATE_LIBERAL, extack);
104}114}
105115
106#define NLA_POLICY_VALIDATE_FN(tp, fn, ...) { \116#define nla_parse_deprecated_strict LINUX_BACKPORT(nla_parse_deprecated_strict)
107 .type = NLA_ENSURE_NO_VALIDATION_PTR(tp), \117static inline int nla_parse_deprecated_strict(struct nlattr **tb, int maxtype,
108 .validation_type = NLA_VALIDATE_FUNCTION, \118 const struct nlattr *head,
109 .validate = fn, \119 int len,
110 .len = __VA_ARGS__ + 0, \120 const struct nla_policy *policy,
121 struct netlink_ext_ack *extack)
122{
123 return __nla_parse(tb, maxtype, head, len, policy,
124 NL_VALIDATE_DEPRECATED_STRICT, extack);
111}125}
112126
113#define nla_validate LINUX_BACKPORT(nla_validate)127#define __nlmsg_parse LINUX_BACKPORT(__nlmsg_parse)
114int nla_validate(const struct nlattr *head, int len, int maxtype,128static inline int __nlmsg_parse(const struct nlmsghdr *nlh, int hdrlen,
115 const struct nla_policy *policy,129 struct nlattr *tb[], int maxtype,
116 struct netlink_ext_ack *extack);130 const struct nla_policy *policy,
117#define nla_parse LINUX_BACKPORT(nla_parse)131 unsigned int validate,
118int nla_parse(struct nlattr **tb, int maxtype, const struct nlattr *head,132 struct netlink_ext_ack *extack)
119 int len, const struct nla_policy *policy,133{
120 struct netlink_ext_ack *extack);134 if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen)) {
121#define nla_policy_len LINUX_BACKPORT(nla_policy_len)135 NL_SET_ERR_MSG(extack, "Invalid header length");
122int nla_policy_len(const struct nla_policy *, int);136 return -EINVAL;
137 }
138
139 return __nla_parse(tb, maxtype, nlmsg_attrdata(nlh, hdrlen),
140 nlmsg_attrlen(nlh, hdrlen), policy, validate,
141 extack);
142}
123143
124#define nlmsg_parse LINUX_BACKPORT(nlmsg_parse)144#define nlmsg_parse LINUX_BACKPORT(nlmsg_parse)
125static inline int nlmsg_parse(const struct nlmsghdr *nlh, int hdrlen,145static inline int nlmsg_parse(const struct nlmsghdr *nlh, int hdrlen,
@@ -127,11 +147,63 @@ static inline int nlmsg_parse(const struct nlmsghdr *nlh, int hdrlen,
127 const struct nla_policy *policy,147 const struct nla_policy *policy,
128 struct netlink_ext_ack *extack)148 struct netlink_ext_ack *extack)
129{149{
150 return __nla_parse(tb, maxtype, nlmsg_attrdata(nlh, hdrlen),
151 nlmsg_attrlen(nlh, hdrlen), policy,
152 NL_VALIDATE_STRICT, extack);
153}
154
155#define nlmsg_parse_deprecated LINUX_BACKPORT(nlmsg_parse_deprecated)
156static inline int nlmsg_parse_deprecated(const struct nlmsghdr *nlh, int hdrlen,
157 struct nlattr *tb[], int maxtype,
158 const struct nla_policy *policy,
159 struct netlink_ext_ack *extack)
160{
161 return __nlmsg_parse(nlh, hdrlen, tb, maxtype, policy,
162 NL_VALIDATE_LIBERAL, extack);
163}
164
165#define nlmsg_parse_deprecated_strict LINUX_BACKPORT(nlmsg_parse_deprecated_strict)
166static inline int
167nlmsg_parse_deprecated_strict(const struct nlmsghdr *nlh, int hdrlen,
168 struct nlattr *tb[], int maxtype,
169 const struct nla_policy *policy,
170 struct netlink_ext_ack *extack)
171{
172 return __nlmsg_parse(nlh, hdrlen, tb, maxtype, policy,
173 NL_VALIDATE_DEPRECATED_STRICT, extack);
174}
175
176#define nla_validate_deprecated LINUX_BACKPORT(nla_validate_deprecated)
177static inline int nla_validate_deprecated(const struct nlattr *head, int len,
178 int maxtype,
179 const struct nla_policy *policy,
180 struct netlink_ext_ack *extack)
181{
182 return __nla_validate(head, len, maxtype, policy, NL_VALIDATE_LIBERAL,
183 extack);
184}
185
186#define nla_validate LINUX_BACKPORT(nla_validate)
187static inline int nla_validate(const struct nlattr *head, int len, int maxtype,
188 const struct nla_policy *policy,
189 struct netlink_ext_ack *extack)
190{
191 return __nla_validate(head, len, maxtype, policy, NL_VALIDATE_STRICT,
192 extack);
193}
194
195#define nlmsg_validate_deprecated LINUX_BACKPORT(nlmsg_validate_deprecated)
196static inline int nlmsg_validate_deprecated(const struct nlmsghdr *nlh,
197 int hdrlen, int maxtype,
198 const struct nla_policy *policy,
199 struct netlink_ext_ack *extack)
200{
130 if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))201 if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))
131 return -EINVAL;202 return -EINVAL;
132203
133 return nla_parse(tb, maxtype, nlmsg_attrdata(nlh, hdrlen),204 return __nla_validate(nlmsg_attrdata(nlh, hdrlen),
134 nlmsg_attrlen(nlh, hdrlen), policy, extack);205 nlmsg_attrlen(nlh, hdrlen), maxtype,
206 policy, NL_VALIDATE_LIBERAL, extack);
135}207}
136208
137#define nlmsg_validate LINUX_BACKPORT(nlmsg_validate)209#define nlmsg_validate LINUX_BACKPORT(nlmsg_validate)
@@ -143,9 +215,9 @@ static inline int nlmsg_validate(const struct nlmsghdr *nlh,
143 if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))215 if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))
144 return -EINVAL;216 return -EINVAL;
145217
146 return nla_validate(nlmsg_attrdata(nlh, hdrlen),218 return __nla_validate(nlmsg_attrdata(nlh, hdrlen),
147 nlmsg_attrlen(nlh, hdrlen), maxtype, policy,219 nlmsg_attrlen(nlh, hdrlen), maxtype,
148 extack);220 policy, NL_VALIDATE_STRICT, extack);
149}221}
150222
151#define nla_parse_nested LINUX_BACKPORT(nla_parse_nested)223#define nla_parse_nested LINUX_BACKPORT(nla_parse_nested)
@@ -154,17 +226,111 @@ static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
154 const struct nla_policy *policy,226 const struct nla_policy *policy,
155 struct netlink_ext_ack *extack)227 struct netlink_ext_ack *extack)
156{228{
157 return nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy,229 if (!(nla->nla_type & NLA_F_NESTED)) {
158 extack);230 NL_SET_ERR_MSG_ATTR(extack, nla, "NLA_F_NESTED is missing");
231 return -EINVAL;
232 }
233
234 return __nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy,
235 NL_VALIDATE_STRICT, extack);
159}236}
160237
161#define nla_validate_nested LINUX_BACKPORT(nla_validate_nested)238#define nla_parse_nested_deprecated LINUX_BACKPORT(nla_parse_nested_deprecated)
162static inline int nla_validate_nested(const struct nlattr *start, int maxtype,239static inline int nla_parse_nested_deprecated(struct nlattr *tb[], int maxtype,
163 const struct nla_policy *policy,240 const struct nlattr *nla,
164 struct netlink_ext_ack *extack)241 const struct nla_policy *policy,
242 struct netlink_ext_ack *extack)
165{243{
166 return nla_validate(nla_data(start), nla_len(start), maxtype, policy,244 return __nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy,
167 extack);245 NL_VALIDATE_LIBERAL, extack);
246}
247
248#define __nla_validate_nested LINUX_BACKPORT(__nla_validate_nested)
249static inline int __nla_validate_nested(const struct nlattr *start, int maxtype,
250 const struct nla_policy *policy,
251 unsigned int validate,
252 struct netlink_ext_ack *extack)
253{
254 return __nla_validate(nla_data(start), nla_len(start), maxtype, policy,
255 validate, extack);
256}
257
258#define nla_validate_nested_deprecated LINUX_BACKPORT(nla_validate_nested_deprecated)
259static inline int
260nla_validate_nested_deprecated(const struct nlattr *start, int maxtype,
261 const struct nla_policy *policy,
262 struct netlink_ext_ack *extack)
263{
264 return __nla_validate_nested(start, maxtype, policy,
265 NL_VALIDATE_LIBERAL, extack);
266}
267#endif /* < 5.2 */
268
269#if LINUX_VERSION_IS_LESS(5,1,0)
270#undef NLA_POLICY_NESTED
271#undef NLA_POLICY_NESTED_ARRAY
272#define _NLA_POLICY_NESTED(maxattr, policy) \
273 { .type = NLA_NESTED, .validation_data = policy, .len = maxattr }
274#define _NLA_POLICY_NESTED_ARRAY(maxattr, policy) \
275 { .type = NLA_NESTED_ARRAY, .validation_data = policy, .len = maxattr }
276#define NLA_POLICY_NESTED(policy) \
277 _NLA_POLICY_NESTED(ARRAY_SIZE(policy) - 1, policy)
278#define NLA_POLICY_NESTED_ARRAY(policy) \
279 _NLA_POLICY_NESTED_ARRAY(ARRAY_SIZE(policy) - 1, policy)
280#endif /* < 5.1 */
281
282#if LINUX_VERSION_IS_LESS(4,20,0)
283enum nla_policy_validation {
284 NLA_VALIDATE_NONE,
285 NLA_VALIDATE_RANGE,
286 NLA_VALIDATE_MIN,
287 NLA_VALIDATE_MAX,
288 NLA_VALIDATE_FUNCTION,
289};
290
291#define NLA_POLICY_EXACT_LEN(_len) { .type = NLA_EXACT_LEN, .len = _len }
292#define NLA_POLICY_EXACT_LEN_WARN(_len) { .type = NLA_EXACT_LEN_WARN, \
293 .len = _len }
294
295#define NLA_POLICY_ETH_ADDR NLA_POLICY_EXACT_LEN(ETH_ALEN)
296#define NLA_POLICY_ETH_ADDR_COMPAT NLA_POLICY_EXACT_LEN_WARN(ETH_ALEN)
297
298#define __NLA_ENSURE(condition) (sizeof(char[1 - 2*!(condition)]) - 1)
299#define NLA_ENSURE_INT_TYPE(tp) \
300 (__NLA_ENSURE(tp == NLA_S8 || tp == NLA_U8 || \
301 tp == NLA_S16 || tp == NLA_U16 || \
302 tp == NLA_S32 || tp == NLA_U32 || \
303 tp == NLA_S64 || tp == NLA_U64) + tp)
304#define NLA_ENSURE_NO_VALIDATION_PTR(tp) \
305 (__NLA_ENSURE(tp != NLA_BITFIELD32 && \
306 tp != NLA_REJECT && \
307 tp != NLA_NESTED && \
308 tp != NLA_NESTED_ARRAY) + tp)
309
310#define NLA_POLICY_RANGE(tp, _min, _max) { \
311 .type = NLA_ENSURE_INT_TYPE(tp), \
312 .validation_type = NLA_VALIDATE_RANGE, \
313 .min = _min, \
314 .max = _max \
315}
316
317#define NLA_POLICY_MIN(tp, _min) { \
318 .type = NLA_ENSURE_INT_TYPE(tp), \
319 .validation_type = NLA_VALIDATE_MIN, \
320 .min = _min, \
321}
322
323#define NLA_POLICY_MAX(tp, _max) { \
324 .type = NLA_ENSURE_INT_TYPE(tp), \
325 .validation_type = NLA_VALIDATE_MAX, \
326 .max = _max, \
327}
328
329#define NLA_POLICY_VALIDATE_FN(tp, fn, ...) { \
330 .type = NLA_ENSURE_NO_VALIDATION_PTR(tp), \
331 .validation_type = NLA_VALIDATE_FUNCTION, \
332 .validate = fn, \
333 .len = __VA_ARGS__ + 0, \
168}334}
169#endif /* < 4.20 */335#endif /* < 4.20 */
170336
@@ -255,21 +421,6 @@ static inline int _nla_parse_nested4(struct nlattr *tb[], int maxtype,
255#undef nla_parse_nested421#undef nla_parse_nested
256#define nla_parse_nested(...) \422#define nla_parse_nested(...) \
257 macro_dispatcher(_nla_parse_nested, __VA_ARGS__)(__VA_ARGS__)423 macro_dispatcher(_nla_parse_nested, __VA_ARGS__)(__VA_ARGS__)
258
259static inline int _nla_validate_nested4(const struct nlattr *start, int maxtype,
260 const struct nla_policy *policy,
261 struct netlink_ext_ack *extack)
262{
263 return nla_validate_nested(start, maxtype, policy, extack);
264}
265static inline int _nla_validate_nested3(const struct nlattr *start, int maxtype,
266 const struct nla_policy *policy)
267{
268 return nla_validate_nested(start, maxtype, policy, NULL);
269}
270#undef nla_validate_nested
271#define nla_validate_nested(...) \
272 macro_dispatcher(_nla_validate_nested, __VA_ARGS__)(__VA_ARGS__)
273#endif /* LINUX_VERSION_IS_LESS(4,12,0) */424#endif /* LINUX_VERSION_IS_LESS(4,12,0) */
274425
275#if LINUX_VERSION_IS_LESS(3,7,0)426#if LINUX_VERSION_IS_LESS(3,7,0)
diff --git a/compat/Kconfig b/compat/Kconfig
index 4abaa0e..297041b 100644
--- a/compat/Kconfig
+++ b/compat/Kconfig
@@ -62,6 +62,11 @@ config BP_MODULES
62 This symbol is necessary for the newer kconf tool, it looks62 This symbol is necessary for the newer kconf tool, it looks
63 for the "option modules" to control the 'm' state.63 for the "option modules" to control the 'm' state.
6464
65config BPAUTO_BUILD_NLATTR
66 def_bool y
67 depends on KERNEL_5_2
68 #c-file lib/nlattr.c
69
65config BPAUTO_BUILD_CORDIC70config BPAUTO_BUILD_CORDIC
66 depends on n71 depends on n
67 tristate72 tristate
@@ -71,7 +76,7 @@ config BPAUTO_BUILD_CORDIC
71 default m if BPAUTO_CORDIC76 default m if BPAUTO_CORDIC
72 default m if BPAUTO_USERSEL_BUILD_ALL77 default m if BPAUTO_USERSEL_BUILD_ALL
73 #module-name cordic78 #module-name cordic
74 #c-file lib/cordic.c79 #c-file lib/math/cordic.c
7580
76config BPAUTO_CORDIC81config BPAUTO_CORDIC
77 bool82 bool
diff --git a/compat/Makefile b/compat/Makefile
index 1f62e4f..5456858 100644
--- a/compat/Makefile
+++ b/compat/Makefile
@@ -37,9 +37,7 @@ compat-$(CPTCFG_KERNEL_4_7) += backport-4.7.o
37compat-$(CPTCFG_KERNEL_4_8) += backport-4.8.o37compat-$(CPTCFG_KERNEL_4_8) += backport-4.8.o
38compat-$(CPTCFG_KERNEL_4_10) += backport-4.10.o38compat-$(CPTCFG_KERNEL_4_10) += backport-4.10.o
39compat-$(CPTCFG_KERNEL_4_18) += backport-4.18.o39compat-$(CPTCFG_KERNEL_4_18) += backport-4.18.o
40compat-$(CPTCFG_KERNEL_4_20) += backport-4.20.o40compat-$(CPTCFG_KERNEL_5_2) += backport-5.2.o backport-genetlink.o
41
42compat-$(CPTCFG_KERNEL_5_2) += backport-genetlink.o
4341
44compat-$(CPTCFG_BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION) += verification/verify.o42compat-$(CPTCFG_BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION) += verification/verify.o
45compat-$(CPTCFG_BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION) += verification/pkcs7.asn1.o43compat-$(CPTCFG_BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION) += verification/pkcs7.asn1.o
diff --git a/compat/backport-3.13.c b/compat/backport-3.13.c
index 6c91ced..2b61711 100644
--- a/compat/backport-3.13.c
+++ b/compat/backport-3.13.c
@@ -118,8 +118,7 @@ bool pci_device_is_present(struct pci_dev *pdev)
118EXPORT_SYMBOL_GPL(pci_device_is_present);118EXPORT_SYMBOL_GPL(pci_device_is_present);
119#endif /* CONFIG_PCI */119#endif /* CONFIG_PCI */
120120
121#if defined(CONFIG_HWMON) && \121#ifdef CONFIG_HWMON
122 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
123struct device*122struct device*
124hwmon_device_register_with_groups(struct device *dev, const char *name,123hwmon_device_register_with_groups(struct device *dev, const char *name,
125 void *drvdata,124 void *drvdata,
diff --git a/compat/backport-3.17.c b/compat/backport-3.17.c
index a54cc3d..adabec1 100644
--- a/compat/backport-3.17.c
+++ b/compat/backport-3.17.c
@@ -31,7 +31,6 @@ int bit_wait_io(void *word)
31EXPORT_SYMBOL_GPL(bit_wait_io);31EXPORT_SYMBOL_GPL(bit_wait_io);
32#endif32#endif
3333
34#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
35/**34/**
36 * ktime_get_raw - Returns the raw monotonic time in ktime_t format35 * ktime_get_raw - Returns the raw monotonic time in ktime_t format
37 */36 */
@@ -43,7 +42,7 @@ ktime_t ktime_get_raw(void)
43 return timespec_to_ktime(ts);42 return timespec_to_ktime(ts);
44}43}
45EXPORT_SYMBOL_GPL(ktime_get_raw);44EXPORT_SYMBOL_GPL(ktime_get_raw);
46#endif /* RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6) */45
4746
48/**47/**
49 * nsecs_to_jiffies64 - Convert nsecs in u64 to jiffies6448 * nsecs_to_jiffies64 - Convert nsecs in u64 to jiffies64
@@ -149,7 +148,6 @@ char *devm_kasprintf(struct device *dev, gfp_t gfp, const char *fmt, ...)
149}148}
150EXPORT_SYMBOL_GPL(devm_kasprintf);149EXPORT_SYMBOL_GPL(devm_kasprintf);
151150
152#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
153#define STANDARD_PARAM_DEF(name, type, format, strtolfn) \151#define STANDARD_PARAM_DEF(name, type, format, strtolfn) \
154 int param_set_##name(const char *val, const struct kernel_param *kp) \152 int param_set_##name(const char *val, const struct kernel_param *kp) \
155 { \153 { \
@@ -168,4 +166,3 @@ EXPORT_SYMBOL_GPL(devm_kasprintf);
168 EXPORT_SYMBOL(param_get_##name); \166 EXPORT_SYMBOL(param_get_##name); \
169 EXPORT_SYMBOL(param_ops_##name)167 EXPORT_SYMBOL(param_ops_##name)
170STANDARD_PARAM_DEF(ullong, unsigned long long, "%llu", kstrtoull);168STANDARD_PARAM_DEF(ullong, unsigned long long, "%llu", kstrtoull);
171#endif /* RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6) */
diff --git a/compat/backport-3.19.c b/compat/backport-3.19.c
index b56a770..ec44130 100644
--- a/compat/backport-3.19.c
+++ b/compat/backport-3.19.c
@@ -16,8 +16,7 @@
16#include <linux/skbuff.h>16#include <linux/skbuff.h>
17#include <linux/debugfs.h>17#include <linux/debugfs.h>
1818
19#if LINUX_VERSION_IS_LESS(3,18,12) && \19#if LINUX_VERSION_IS_LESS(3,18,12)
20 RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
21static inline bool is_kthread_should_stop(void)20static inline bool is_kthread_should_stop(void)
22{21{
23 return (current->flags & PF_KTHREAD) && kthread_should_stop();22 return (current->flags & PF_KTHREAD) && kthread_should_stop();
diff --git a/compat/backport-4.0.c b/compat/backport-4.0.c
index 53b3cdd..d6e22d3 100644
--- a/compat/backport-4.0.c
+++ b/compat/backport-4.0.c
@@ -334,7 +334,6 @@ trace_seq_buffer_ptr(struct trace_seq *s)
334}334}
335#endif335#endif
336336
337#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
338const char *337const char *
339ftrace_print_array_seq(struct trace_seq *p, const void *buf, int buf_len,338ftrace_print_array_seq(struct trace_seq *p, const void *buf, int buf_len,
340 size_t el_size)339 size_t el_size)
@@ -378,4 +377,3 @@ ftrace_print_array_seq(struct trace_seq *p, const void *buf, int buf_len,
378 return ret;377 return ret;
379}378}
380EXPORT_SYMBOL(ftrace_print_array_seq);379EXPORT_SYMBOL(ftrace_print_array_seq);
381#endif /* RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6) */
diff --git a/compat/backport-4.1.c b/compat/backport-4.1.c
index 3035a00..e0a3ec6 100644
--- a/compat/backport-4.1.c
+++ b/compat/backport-4.1.c
@@ -12,7 +12,6 @@
12#include <linux/netdevice.h>12#include <linux/netdevice.h>
13#include <linux/tty.h>13#include <linux/tty.h>
1414
15#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)
16netdev_features_t passthru_features_check(struct sk_buff *skb,15netdev_features_t passthru_features_check(struct sk_buff *skb,
17 struct net_device *dev,16 struct net_device *dev,
18 netdev_features_t features)17 netdev_features_t features)
@@ -20,7 +19,6 @@ netdev_features_t passthru_features_check(struct sk_buff *skb,
20 return features;19 return features;
21}20}
22EXPORT_SYMBOL_GPL(passthru_features_check);21EXPORT_SYMBOL_GPL(passthru_features_check);
23#endif /* RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6) */
2422
25#ifdef CONFIG_TTY23#ifdef CONFIG_TTY
26#if LINUX_VERSION_IS_GEQ(4,0,0)24#if LINUX_VERSION_IS_GEQ(4,0,0)
diff --git a/compat/backport-4.6.c b/compat/backport-4.6.c
index 499d8d3..8d0ecf5 100644
--- a/compat/backport-4.6.c
+++ b/compat/backport-4.6.c
@@ -76,8 +76,7 @@ int kstrtobool_from_user(const char __user *s, size_t count, bool *res)
76}76}
77EXPORT_SYMBOL_GPL(kstrtobool_from_user);77EXPORT_SYMBOL_GPL(kstrtobool_from_user);
7878
79#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6)79/**
80 /**
81 * match_string - matches given string in an array80 * match_string - matches given string in an array
82 * @array: array of strings81 * @array: array of strings
83 * @n: number of strings in the array or -1 for NULL terminated arrays82 * @n: number of strings in the array or -1 for NULL terminated arrays
@@ -102,4 +101,3 @@ int match_string(const char * const *array, size_t n, const char *string)
102 return -EINVAL;101 return -EINVAL;
103}102}
104EXPORT_SYMBOL(match_string);103EXPORT_SYMBOL(match_string);
105#endif /* RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,6) */
diff --git a/compat/backport-4.7.c b/compat/backport-4.7.c
index 5e9152e..372951b 100644
--- a/compat/backport-4.7.c
+++ b/compat/backport-4.7.c
@@ -120,8 +120,7 @@ EXPORT_SYMBOL_GPL(nla_put_64bit);
120 * Below 3.18 or if the kernel has devcoredump disabled, we copied the120 * Below 3.18 or if the kernel has devcoredump disabled, we copied the
121 * entire devcoredump, so no need to define these functions.121 * entire devcoredump, so no need to define these functions.
122 */122 */
123#if (LINUX_VERSION_IS_GEQ(3,18,0) || \123#if LINUX_VERSION_IS_GEQ(3,18,0) && \
124 RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,6)) && \
125 !defined(CPTCFG_BPAUTO_BUILD_WANT_DEV_COREDUMP)124 !defined(CPTCFG_BPAUTO_BUILD_WANT_DEV_COREDUMP)
126#include <linux/devcoredump.h>125#include <linux/devcoredump.h>
127#include <linux/scatterlist.h>126#include <linux/scatterlist.h>
diff --git a/compat/backport-4.20.c b/compat/backport-5.2.c
128similarity index 71%127similarity index 71%
129rename from compat/backport-4.20.c128rename from compat/backport-4.20.c
130rename to compat/backport-5.2.c129rename to compat/backport-5.2.c
index a75657f..b1f3334 100644
--- a/compat/backport-4.20.c
+++ b/compat/backport-5.2.c
@@ -1,19 +1,27 @@
1// SPDX-License-Identifier: GPL-2.0
1/*2/*
2 * Copyright (C) 2018 - 2019 Intel Corporation3 * NETLINK Netlink attributes
3 *4 *
4 * Backport functionality introduced in Linux 4.20.5 * Copyright (C) 2018 - 2019 Intel Corporation
5 * This is basically upstream lib/nlattr.c.
6 *6 *
7 * This program is free software; you can redistribute it and/or modify7 * Authors: Thomas Graf <tgraf@suug.ch>
8 * it under the terms of the GNU General Public License version 2 as8 * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
9 * published by the Free Software Foundation.
10 */9 */
11#include <linux/kernel.h>10
12#include <linux/export.h>11#include <linux/export.h>
12#include <linux/kernel.h>
13#include <linux/errno.h>13#include <linux/errno.h>
14#include <linux/jiffies.h>
15#include <linux/skbuff.h>
16#include <linux/string.h>
14#include <linux/types.h>17#include <linux/types.h>
15#include <net/netlink.h>18#include <net/netlink.h>
1619
20/* For these data types, attribute length should be exactly the given
21 * size. However, to maintain compatibility with broken commands, if the
22 * attribute length does not match the expected size a warning is emitted
23 * to the user that the command is sending invalid data and needs to be fixed.
24 */
17static const u8 nla_attr_len[NLA_TYPE_MAX+1] = {25static const u8 nla_attr_len[NLA_TYPE_MAX+1] = {
18 [NLA_U8] = sizeof(u8),26 [NLA_U8] = sizeof(u8),
19 [NLA_U16] = sizeof(u16),27 [NLA_U16] = sizeof(u16),
@@ -63,7 +71,8 @@ static int validate_nla_bitfield32(const struct nlattr *nla,
6371
64static int nla_validate_array(const struct nlattr *head, int len, int maxtype,72static int nla_validate_array(const struct nlattr *head, int len, int maxtype,
65 const struct nla_policy *policy,73 const struct nla_policy *policy,
66 struct netlink_ext_ack *extack)74 struct netlink_ext_ack *extack,
75 unsigned int validate)
67{76{
68 const struct nlattr *entry;77 const struct nlattr *entry;
69 int rem;78 int rem;
@@ -80,8 +89,8 @@ static int nla_validate_array(const struct nlattr *head, int len, int maxtype,
80 return -ERANGE;89 return -ERANGE;
81 }90 }
8291
83 ret = nla_validate(nla_data(entry), nla_len(entry),92 ret = __nla_validate(nla_data(entry), nla_len(entry),
84 maxtype, policy, extack);93 maxtype, policy, validate, extack);
85 if (ret < 0)94 if (ret < 0)
86 return ret;95 return ret;
87 }96 }
@@ -148,19 +157,20 @@ static int nla_validate_int_range(const struct nla_policy *pt,
148}157}
149158
150static int validate_nla(const struct nlattr *nla, int maxtype,159static int validate_nla(const struct nlattr *nla, int maxtype,
151 const struct nla_policy *policy,160 const struct nla_policy *policy, unsigned int validate,
152 struct netlink_ext_ack *extack)161 struct netlink_ext_ack *extack)
153{162{
163 u16 strict_start_type = policy[0].strict_start_type;
154 const struct nla_policy *pt;164 const struct nla_policy *pt;
155 int minlen = 0, attrlen = nla_len(nla), type = nla_type(nla);165 int minlen = 0, attrlen = nla_len(nla), type = nla_type(nla);
156 int err = -ERANGE;166 int err = -ERANGE;
157167
168 if (strict_start_type && type >= strict_start_type)
169 validate |= NL_VALIDATE_STRICT;
170
158 if (type <= 0 || type > maxtype)171 if (type <= 0 || type > maxtype)
159 return 0;172 return 0;
160173
161 if (WARN_ON(!policy))
162 return -EINVAL;
163
164 pt = &policy[type];174 pt = &policy[type];
165175
166 BUG_ON(pt->type > NLA_TYPE_MAX);176 BUG_ON(pt->type > NLA_TYPE_MAX);
@@ -169,6 +179,26 @@ static int validate_nla(const struct nlattr *nla, int maxtype,
169 (pt->type == NLA_EXACT_LEN_WARN && attrlen != pt->len)) {179 (pt->type == NLA_EXACT_LEN_WARN && attrlen != pt->len)) {
170 pr_warn_ratelimited("netlink: '%s': attribute type %d has an invalid length.\n",180 pr_warn_ratelimited("netlink: '%s': attribute type %d has an invalid length.\n",
171 current->comm, type);181 current->comm, type);
182 if (validate & NL_VALIDATE_STRICT_ATTRS) {
183 NL_SET_ERR_MSG_ATTR(extack, nla,
184 "invalid attribute length");
185 return -EINVAL;
186 }
187 }
188
189 if (validate & NL_VALIDATE_NESTED) {
190 if ((pt->type == NLA_NESTED || pt->type == NLA_NESTED_ARRAY) &&
191 !(nla->nla_type & NLA_F_NESTED)) {
192 NL_SET_ERR_MSG_ATTR(extack, nla,
193 "NLA_F_NESTED is missing");
194 return -EINVAL;
195 }
196 if (pt->type != NLA_NESTED && pt->type != NLA_NESTED_ARRAY &&
197 pt->type != NLA_UNSPEC && (nla->nla_type & NLA_F_NESTED)) {
198 NL_SET_ERR_MSG_ATTR(extack, nla,
199 "NLA_F_NESTED not expected");
200 return -EINVAL;
201 }
172 }202 }
173203
174 switch (pt->type) {204 switch (pt->type) {
@@ -241,8 +271,9 @@ static int validate_nla(const struct nlattr *nla, int maxtype,
241 if (attrlen < NLA_HDRLEN)271 if (attrlen < NLA_HDRLEN)
242 goto out_err;272 goto out_err;
243 if (pt->validation_data) {273 if (pt->validation_data) {
244 err = nla_validate(nla_data(nla), nla_len(nla), pt->len,274 err = __nla_validate(nla_data(nla), nla_len(nla), pt->len,
245 pt->validation_data, extack);275 pt->validation_data, validate,
276 extack);
246 if (err < 0) {277 if (err < 0) {
247 /*278 /*
248 * return directly to preserve the inner279 * return directly to preserve the inner
@@ -265,7 +296,7 @@ static int validate_nla(const struct nlattr *nla, int maxtype,
265296
266 err = nla_validate_array(nla_data(nla), nla_len(nla),297 err = nla_validate_array(nla_data(nla), nla_len(nla),
267 pt->len, pt->validation_data,298 pt->len, pt->validation_data,
268 extack);299 extack, validate);
269 if (err < 0) {300 if (err < 0) {
270 /*301 /*
271 * return directly to preserve the inner302 * return directly to preserve the inner
@@ -275,10 +306,23 @@ static int validate_nla(const struct nlattr *nla, int maxtype,
275 }306 }
276 }307 }
277 break;308 break;
309
310 case NLA_UNSPEC:
311 if (validate & NL_VALIDATE_UNSPEC) {
312 NL_SET_ERR_MSG_ATTR(extack, nla,
313 "Unsupported attribute");
314 return -EINVAL;
315 }
316 /* fall through */
317 case NLA_MIN_LEN:
318 if (attrlen < pt->len)
319 goto out_err;
320 break;
321
278 default:322 default:
279 if (pt->len)323 if (pt->len)
280 minlen = pt->len;324 minlen = pt->len;
281 else if (pt->type != NLA_UNSPEC)325 else
282 minlen = nla_attr_minlen[pt->type];326 minlen = nla_attr_minlen[pt->type];
283327
284 if (attrlen < minlen)328 if (attrlen < minlen)
@@ -312,28 +356,90 @@ out_err:
312 return err;356 return err;
313}357}
314358
315int backport_nla_validate(const struct nlattr *head, int len, int maxtype,359static int __nla_validate_parse(const struct nlattr *head, int len, int maxtype,
316 const struct nla_policy *policy,360 const struct nla_policy *policy,
317 struct netlink_ext_ack *extack)361 unsigned int validate,
362 struct netlink_ext_ack *extack,
363 struct nlattr **tb)
318{364{
319 const struct nlattr *nla;365 const struct nlattr *nla;
320 int rem;366 int rem;
321367
322 if (!policy)368 if (tb)
323 return 0;369 memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1));
324370
325 nla_for_each_attr(nla, head, len, rem) {371 nla_for_each_attr(nla, head, len, rem) {
326 int err = validate_nla(nla, maxtype, policy, extack);372 u16 type = nla_type(nla);
327373
328 if (err < 0)374 if (type == 0 || type > maxtype) {
329 return err;375 if (validate & NL_VALIDATE_MAXTYPE) {
376 NL_SET_ERR_MSG_ATTR(extack, nla,
377 "Unknown attribute type");
378 return -EINVAL;
379 }
380 continue;
381 }
382 if (policy) {
383 int err = validate_nla(nla, maxtype, policy,
384 validate, extack);
385
386 if (err < 0)
387 return err;
388 }
389
390 if (tb)
391 tb[type] = (struct nlattr *)nla;
392 }
393
394 if (unlikely(rem > 0)) {
395 pr_warn_ratelimited("netlink: %d bytes leftover after parsing attributes in process `%s'.\n",
396 rem, current->comm);
397 NL_SET_ERR_MSG(extack, "bytes leftover after parsing attributes");
398 if (validate & NL_VALIDATE_TRAILING)
399 return -EINVAL;
330 }400 }
331401
332 return 0;402 return 0;
333}403}
334EXPORT_SYMBOL_GPL(backport_nla_validate);
335404
336int backport_nla_policy_len(const struct nla_policy *p, int n)405/**
406 * __nla_validate - Validate a stream of attributes
407 * @head: head of attribute stream
408 * @len: length of attribute stream
409 * @maxtype: maximum attribute type to be expected
410 * @policy: validation policy
411 * @validate: validation strictness
412 * @extack: extended ACK report struct
413 *
414 * Validates all attributes in the specified attribute stream against the
415 * specified policy. Validation depends on the validate flags passed, see
416 * &enum netlink_validation for more details on that.
417 * See documenation of struct nla_policy for more details.
418 *
419 * Returns 0 on success or a negative error code.
420 */
421int __nla_validate(const struct nlattr *head, int len, int maxtype,
422 const struct nla_policy *policy, unsigned int validate,
423 struct netlink_ext_ack *extack)
424{
425 return __nla_validate_parse(head, len, maxtype, policy, validate,
426 extack, NULL);
427}
428EXPORT_SYMBOL(__nla_validate);
429
430/**
431 * nla_policy_len - Determin the max. length of a policy
432 * @policy: policy to use
433 * @n: number of policies
434 *
435 * Determines the max. length of the policy. It is currently used
436 * to allocated Netlink buffers roughly the size of the actual
437 * message.
438 *
439 * Returns 0 on success or a negative error code.
440 */
441int
442nla_policy_len(const struct nla_policy *p, int n)
337{443{
338 int i, len = 0;444 int i, len = 0;
339445
@@ -348,38 +454,30 @@ int backport_nla_policy_len(const struct nla_policy *p, int n)
348454
349 return len;455 return len;
350}456}
351EXPORT_SYMBOL_GPL(backport_nla_policy_len);457EXPORT_SYMBOL(nla_policy_len);
352458
353int backport_nla_parse(struct nlattr **tb, int maxtype,459/**
354 const struct nlattr *head,460 * __nla_parse - Parse a stream of attributes into a tb buffer
355 int len, const struct nla_policy *policy,461 * @tb: destination array with maxtype+1 elements
356 struct netlink_ext_ack *extack)462 * @maxtype: maximum attribute type to be expected
463 * @head: head of attribute stream
464 * @len: length of attribute stream
465 * @policy: validation policy
466 * @validate: validation strictness
467 * @extack: extended ACK pointer
468 *
469 * Parses a stream of attributes and stores a pointer to each attribute in
470 * the tb array accessible via the attribute type.
471 * Validation is controlled by the @validate parameter.
472 *
473 * Returns 0 on success or a negative error code.
474 */
475int __nla_parse(struct nlattr **tb, int maxtype,
476 const struct nlattr *head, int len,
477 const struct nla_policy *policy, unsigned int validate,
478 struct netlink_ext_ack *extack)
357{479{
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: