The following commit has been merged in the merge/master branch: commit d0e4439cdddb65c25da3ef5c5f2465af3a9f44a1 Merge: 72d79ba5d4b78714145c275d145316cc37a35ff8 1aaa327c15d61fd5e8a32e07d8f1cf28e5780d8c Author: Simon Wunderlich sw@simonwunderlich.de Date: Wed Jun 29 14:04:54 2016 +0200
Merge remote-tracking branch 'batman-adv/next' into merge/master
diff --combined MAINTAINERS index 0e26025,ff0322d..e25091f --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -1,2285 -1,3 +1,2285 @@@ + + + List of maintainers and how to submit kernel changes + +Please try to follow the guidelines below. This will make things +easier on the maintainers. Not all of these guidelines matter for every +trivial patch so apply some common sense. + +1. Always _test_ your changes, however small, on at least 4 or + 5 people, preferably many more. + +2. Try to release a few ALPHA test versions to the net. Announce + them onto the kernel channel and await results. This is especially + important for device drivers, because often that's the only way + you will find things like the fact version 3 firmware needs + a magic fix you didn't know about, or some clown changed the + chips on a board and not its name. (Don't laugh! Look at the + SMC etherpower for that.) + +3. Make sure your changes compile correctly in multiple + configurations. In particular check that changes work both as a + module and built into the kernel. + +4. When you are happy with a change make it generally available for + testing and await feedback. + +5. Make a patch available to the relevant maintainer in the list. Use + 'diff -u' to make the patch easy to merge. Be prepared to get your + changes sent back with seemingly silly requests about formatting + and variable names. These aren't as silly as they seem. One + job the maintainers (and especially Linus) do is to keep things + looking the same. Sometimes this means that the clever hack in + your driver to get around a problem actually needs to become a + generalized kernel feature ready for next time. + + PLEASE check your patch with the automated style checker + (scripts/checkpatch.pl) to catch trivial style violations. + See Documentation/CodingStyle for guidance here. + + PLEASE CC: the maintainers and mailing lists that are generated + by scripts/get_maintainer.pl. The results returned by the + script will be best if you have git installed and are making + your changes in a branch derived from Linus' latest git tree. + See Documentation/SubmittingPatches for details. + + PLEASE try to include any credit lines you want added with the + patch. It avoids people being missed off by mistake and makes + it easier to know who wants adding and who doesn't. + + PLEASE document known bugs. If it doesn't work for everything + or does something very odd once a month document it. + + PLEASE remember that submissions must be made under the terms + of the Linux Foundation certificate of contribution and should + include a Signed-off-by: line. The current version of this + "Developer's Certificate of Origin" (DCO) is listed in the file + Documentation/SubmittingPatches. + +6. Make sure you have the right to send any changes you make. If you + do changes at work you may find your employer owns the patch + not you. + +7. When sending security related changes or reports to a maintainer + please Cc: security@kernel.org, especially if the maintainer + does not respond. + +8. Happy hacking. + +Descriptions of section entries: + + P: Person (obsolete) + M: Mail patches to: FullName address@domain + R: Designated reviewer: FullName address@domain + These reviewers should be CCed on patches. + L: Mailing list that is relevant to this area + W: Web-page with status/info + Q: Patchwork web based patch tracking system site + T: SCM tree type and location. + Type is one of: git, hg, quilt, stgit, topgit + S: Status, one of the following: + Supported: Someone is actually paid to look after this. + Maintained: Someone actually looks after it. + Odd Fixes: It has a maintainer but they don't have time to do + much other than throw the odd patch in. See below.. + Orphan: No current maintainer [but maybe you could take the + role as you write your new code]. + Obsolete: Old code. Something tagged obsolete generally means + it has been replaced by a better system and you + should be using that. + F: Files and directories with wildcard patterns. + A trailing slash includes all files and subdirectory files. + F: drivers/net/ all files in and below drivers/net + F: drivers/net/* all files in drivers/net, but not below + F: */net/* all files in "any top level directory"/net + One pattern per line. Multiple F: lines acceptable. + N: Files and directories with regex patterns. + N: [^a-z]tegra all files whose path contains the word tegra + One pattern per line. Multiple N: lines acceptable. + scripts/get_maintainer.pl has different behavior for files that + match F: pattern and matches of N: patterns. By default, + get_maintainer will not look at git log history when an F: pattern + match occurs. When an N: match occurs, git log history is used + to also notify the people that have git commit signatures. + X: Files and directories that are NOT maintained, same rules as F: + Files exclusions are tested before file matches. + Can be useful for excluding a specific subdirectory, for instance: + F: net/ + X: net/ipv6/ + matches all files in and below net excluding net/ipv6/ + K: Keyword perl extended regex pattern to match content in a + patch or file. For instance: + K: of_get_profile + matches patches or files that contain "of_get_profile" + K: \b(printk|pr_(info|err))\b + matches patches or files that contain one or more of the words + printk, pr_info or pr_err + One regex pattern per line. Multiple K: lines acceptable. + +Note: For the hard of thinking, this list is meant to remain in alphabetical +order. If you could add yourselves to it in alphabetical order that would be +so much easier [Ed] + +Maintainers List (try to look for most precise areas first) + + ----------------------------------- + +3C59X NETWORK DRIVER +M: Steffen Klassert klassert@mathematik.tu-chemnitz.de +L: netdev@vger.kernel.org +S: Maintained +F: Documentation/networking/vortex.txt +F: drivers/net/ethernet/3com/3c59x.c + +3CR990 NETWORK DRIVER +M: David Dillow dave@thedillows.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/3com/typhoon* + +3WARE SAS/SATA-RAID SCSI DRIVERS (3W-XXXX, 3W-9XXX, 3W-SAS) +M: Adam Radford linuxraid@lsi.com +L: linux-scsi@vger.kernel.org +W: http://www.lsi.com +S: Supported +F: drivers/scsi/3w-* + +53C700 AND 53C700-66 SCSI DRIVER +M: "James E.J. Bottomley" James.Bottomley@HansenPartnership.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/53c700* + +6LOWPAN GENERIC (BTLE/IEEE 802.15.4) +M: Alexander Aring aar@pengutronix.de +M: Jukka Rissanen jukka.rissanen@linux.intel.com +L: linux-bluetooth@vger.kernel.org +L: linux-wpan@vger.kernel.org +S: Maintained +F: net/6lowpan/ +F: include/net/6lowpan.h +F: Documentation/networking/6lowpan.txt + +6PACK NETWORK DRIVER FOR AX.25 +M: Andreas Koensgen ajk@comnets.uni-bremen.de +L: linux-hams@vger.kernel.org +S: Maintained +F: drivers/net/hamradio/6pack.c + +8169 10/100/1000 GIGABIT ETHERNET DRIVER +M: Realtek linux nic maintainers nic_swsd@realtek.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/realtek/r8169.c + +8250/16?50 (AND CLONE UARTS) SERIAL DRIVER +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +L: linux-serial@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git +F: drivers/tty/serial/8250* +F: include/linux/serial_8250.h + +8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.] +L: netdev@vger.kernel.org +S: Orphan / Obsolete +F: drivers/net/ethernet/8390/ + +9P FILE SYSTEM +M: Eric Van Hensbergen ericvh@gmail.com +M: Ron Minnich rminnich@sandia.gov +M: Latchesar Ionkov lucho@ionkov.net +L: v9fs-developer@lists.sourceforge.net +W: http://swik.net/v9fs +Q: http://patchwork.kernel.org/project/v9fs-devel/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git +S: Maintained +F: Documentation/filesystems/9p.txt +F: fs/9p/ +F: net/9p/ +F: include/net/9p/ +F: include/uapi/linux/virtio_9p.h +F: include/trace/events/9p.h + + +A8293 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/a8293* + +AACRAID SCSI RAID DRIVER +M: Adaptec OEM Raid Solutions aacraid@adaptec.com +L: linux-scsi@vger.kernel.org +W: http://www.adaptec.com/ +S: Supported +F: Documentation/scsi/aacraid.txt +F: drivers/scsi/aacraid/ + +ABI/API +L: linux-api@vger.kernel.org +F: include/linux/syscalls.h +F: kernel/sys_ni.c + +ABIT UGURU 1,2 HARDWARE MONITOR DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/abituguru.c + +ABIT UGURU 3 HARDWARE MONITOR DRIVER +M: Alistair John Strachan alistair@devzero.co.uk +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/abituguru3.c + +ACCES 104-DIO-48E GPIO DRIVER +M: William Breathitt Gray vilhelm.gray@gmail.com +L: linux-gpio@vger.kernel.org +S: Maintained +F: drivers/gpio/gpio-104-dio-48e.c + +ACCES 104-IDI-48 GPIO DRIVER +M: "William Breathitt Gray" vilhelm.gray@gmail.com +L: linux-gpio@vger.kernel.org +S: Maintained +F: drivers/gpio/gpio-104-idi-48.c + +ACCES 104-IDIO-16 GPIO DRIVER +M: "William Breathitt Gray" vilhelm.gray@gmail.com +L: linux-gpio@vger.kernel.org +S: Maintained +F: drivers/gpio/gpio-104-idio-16.c + +ACENIC DRIVER +M: Jes Sorensen jes@trained-monkey.org +L: linux-acenic@sunsite.dk +S: Maintained +F: drivers/net/ethernet/alteon/acenic* + +ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER +M: Peter Feuerer peter@piie.net +L: platform-driver-x86@vger.kernel.org +W: http://piie.net/?section=acerhdf +S: Maintained +F: drivers/platform/x86/acerhdf.c + +ACER WMI LAPTOP EXTRAS +M: "Lee, Chun-Yi" jlee@suse.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/acer-wmi.c + +ACPI +M: "Rafael J. Wysocki" rjw@rjwysocki.net +M: Len Brown lenb@kernel.org +L: linux-acpi@vger.kernel.org +W: https://01.org/linux-acpi +Q: https://patchwork.kernel.org/project/linux-acpi/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm +S: Supported +F: drivers/acpi/ +F: drivers/pnp/pnpacpi/ +F: include/linux/acpi.h +F: include/acpi/ +F: Documentation/acpi/ +F: Documentation/ABI/testing/sysfs-bus-acpi +F: drivers/pci/*acpi* +F: drivers/pci/*/*acpi* +F: drivers/pci/*/*/*acpi* +F: tools/power/acpi/ + +ACPI COMPONENT ARCHITECTURE (ACPICA) +M: Robert Moore robert.moore@intel.com +M: Lv Zheng lv.zheng@intel.com +M: "Rafael J. Wysocki" rafael.j.wysocki@intel.com +L: linux-acpi@vger.kernel.org +L: devel@acpica.org +W: https://acpica.org/ +W: https://github.com/acpica/acpica/ +Q: https://patchwork.kernel.org/project/linux-acpi/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm +S: Supported +F: drivers/acpi/acpica/ +F: include/acpi/ +F: tools/power/acpi/ + +ACPI FAN DRIVER +M: Zhang Rui rui.zhang@intel.com +L: linux-acpi@vger.kernel.org +W: https://01.org/linux-acpi +S: Supported +F: drivers/acpi/fan.c + +ACPI THERMAL DRIVER +M: Zhang Rui rui.zhang@intel.com +L: linux-acpi@vger.kernel.org +W: https://01.org/linux-acpi +S: Supported +F: drivers/acpi/*thermal* + +ACPI VIDEO DRIVER +M: Zhang Rui rui.zhang@intel.com +L: linux-acpi@vger.kernel.org +W: https://01.org/linux-acpi +S: Supported +F: drivers/acpi/acpi_video.c + +ACPI WMI DRIVER +L: platform-driver-x86@vger.kernel.org +S: Orphan +F: drivers/platform/x86/wmi.c + +AD1889 ALSA SOUND DRIVER +M: Thibaut Varene T-Bone@parisc-linux.org +W: http://wiki.parisc-linux.org/AD1889 +L: linux-parisc@vger.kernel.org +S: Maintained +F: sound/pci/ad1889.* + +AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/AD5254 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/misc/ad525x_dpot.c + +AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821) +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/AD5398 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/regulator/ad5398.c + +AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A) +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/AD7142 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/input/misc/ad714x.c + +AD7877 TOUCHSCREEN DRIVER +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/AD7877 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/input/touchscreen/ad7877.c + +AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889) +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/AD7879 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/input/touchscreen/ad7879.c + +ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR) +M: Jiri Kosina jikos@kernel.org +S: Maintained + +ADF7242 IEEE 802.15.4 RADIO DRIVER +M: Michael Hennerich michael.hennerich@analog.com +W: https://wiki.analog.com/ADF7242 +W: http://ez.analog.com/community/linux-device-drivers +L: linux-wpan@vger.kernel.org +S: Supported +F: drivers/net/ieee802154/adf7242.c +F: Documentation/devicetree/bindings/net/ieee802154/adf7242.txt + +ADM1025 HARDWARE MONITOR DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/adm1025 +F: drivers/hwmon/adm1025.c + +ADM1029 HARDWARE MONITOR DRIVER +M: Corentin Labbe clabbe.montjoie@gmail.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/adm1029.c + +ADM8211 WIRELESS DRIVER +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/ +S: Orphan +F: drivers/net/wireless/admtek/adm8211.* + +ADP1653 FLASH CONTROLLER DRIVER +M: Sakari Ailus sakari.ailus@iki.fi +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/adp1653.c +F: include/media/i2c/adp1653.h + +ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501) +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/ADP5520 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/mfd/adp5520.c +F: drivers/video/backlight/adp5520_bl.c +F: drivers/leds/leds-adp5520.c +F: drivers/gpio/gpio-adp5520.c +F: drivers/input/keyboard/adp5520-keys.c + +ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587) +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/ADP5588 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/input/keyboard/adp5588-keys.c +F: drivers/gpio/gpio-adp5588.c + +ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863) +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/ADP8860 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/video/backlight/adp8860_bl.c + +ADS1015 HARDWARE MONITOR DRIVER +M: Dirk Eibach eibach@gdsys.de +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/ads1015 +F: drivers/hwmon/ads1015.c +F: include/linux/i2c/ads1015.h + +ADT746X FAN DRIVER +M: Colin Leroy colin@colino.net +S: Maintained +F: drivers/macintosh/therm_adt746x.c + +ADT7475 HARDWARE MONITOR DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/adt7475 +F: drivers/hwmon/adt7475.c + +ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346) +M: Michael Hennerich michael.hennerich@analog.com +W: http://wiki.analog.com/ADXL345 +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/input/misc/adxl34x.c + +ADVANSYS SCSI DRIVER +M: Matthew Wilcox matthew@wil.cx +M: Hannes Reinecke hare@suse.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: Documentation/scsi/advansys.txt +F: drivers/scsi/advansys.c + +AEDSP16 DRIVER +M: Riccardo Facchetti fizban@tin.it +S: Maintained +F: sound/oss/aedsp16.c + +AF9013 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/af9013* + +AF9033 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/af9033* + +AFFS FILE SYSTEM +L: linux-fsdevel@vger.kernel.org +S: Orphan +F: Documentation/filesystems/affs.txt +F: fs/affs/ + +AFS FILESYSTEM & AF_RXRPC SOCKET DOMAIN +M: David Howells dhowells@redhat.com +L: linux-afs@lists.infradead.org +S: Supported +F: fs/afs/ +F: include/net/af_rxrpc.h +F: net/rxrpc/af_rxrpc.c + +AGPGART DRIVER +M: David Airlie airlied@linux.ie +T: git git://people.freedesktop.org/~airlied/linux (part of drm maint) +S: Maintained +F: drivers/char/agp/ +F: include/linux/agp* +F: include/uapi/linux/agp* + +AHA152X SCSI DRIVER +M: "Juergen E. Fischer" fischer@norbit.de +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/aha152x* +F: drivers/scsi/pcmcia/aha152x* + +AIC7XXX / AIC79XX SCSI DRIVER +M: Hannes Reinecke hare@suse.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/aic7xxx/ + +AIMSLAB FM RADIO RECEIVER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-aimslab* + +AIO +M: Benjamin LaHaise bcrl@kvack.org +L: linux-aio@kvack.org +S: Supported +F: fs/aio.c +F: include/linux/*aio*.h + +AIRSPY MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/airspy/ + +ALCATEL SPEEDTOUCH USB DRIVER +M: Duncan Sands duncan.sands@free.fr +L: linux-usb@vger.kernel.org +W: http://www.linux-usb.org/SpeedTouch/ +S: Maintained +F: drivers/usb/atm/speedtch.c +F: drivers/usb/atm/usbatm.c + +ALCHEMY AU1XX0 MMC DRIVER +M: Manuel Lauss manuel.lauss@gmail.com +S: Maintained +F: drivers/mmc/host/au1xmmc.c + +ALI1563 I2C DRIVER +M: Rudolf Marek r.marek@assembler.cz +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-ali1563 +F: drivers/i2c/busses/i2c-ali1563.c + +ALLWINNER SECURITY SYSTEM +M: Corentin Labbe clabbe.montjoie@gmail.com +L: linux-crypto@vger.kernel.org +S: Maintained +F: drivers/crypto/sunxi-ss/ + +ALPHA PORT +M: Richard Henderson rth@twiddle.net +M: Ivan Kokshaysky ink@jurassic.park.msu.ru +M: Matt Turner mattst88@gmail.com +S: Odd Fixes +L: linux-alpha@vger.kernel.org +F: arch/alpha/ + +ALTERA MAILBOX DRIVER +M: Ley Foon Tan lftan@altera.com +L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers) +S: Maintained +F: drivers/mailbox/mailbox-altera.c + +ALTERA PIO DRIVER +M: Tien Hock Loh thloh@altera.com +L: linux-gpio@vger.kernel.org +S: Maintained +F: drivers/gpio/gpio-altera.c + +ALTERA TRIPLE SPEED ETHERNET DRIVER +M: Vince Bridgers vbridger@opensource.altera.com +L: netdev@vger.kernel.org +L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers) +S: Maintained +F: drivers/net/ethernet/altera/ + +ALTERA UART/JTAG UART SERIAL DRIVERS +M: Tobias Klauser tklauser@distanz.ch +L: linux-serial@vger.kernel.org +L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers) +S: Maintained +F: drivers/tty/serial/altera_uart.c +F: drivers/tty/serial/altera_jtaguart.c +F: include/linux/altera_uart.h +F: include/linux/altera_jtaguart.h + +AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER +M: Tom Lendacky thomas.lendacky@amd.com +M: Gary Hook gary.hook@amd.com +L: linux-crypto@vger.kernel.org +S: Supported +F: drivers/crypto/ccp/ +F: include/linux/ccp.h + +AMD FAM15H PROCESSOR POWER MONITORING DRIVER +M: Huang Rui ray.huang@amd.com +L: linux-hwmon@vger.kernel.org +S: Supported +F: Documentation/hwmon/fam15h_power +F: drivers/hwmon/fam15h_power.c + +AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER +L: linux-geode@lists.infradead.org (moderated for non-subscribers) +S: Orphan +F: drivers/usb/gadget/udc/amd5536udc.* + +AMD GEODE PROCESSOR/CHIPSET SUPPORT +P: Andres Salomon dilinger@queued.net +L: linux-geode@lists.infradead.org (moderated for non-subscribers) +W: http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334... +S: Supported +F: drivers/char/hw_random/geode-rng.c +F: drivers/crypto/geode* +F: drivers/video/fbdev/geode/ +F: arch/x86/include/asm/geode.h + +AMD IOMMU (AMD-VI) +M: Joerg Roedel joro@8bytes.org +L: iommu@lists.linux-foundation.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git +S: Maintained +F: drivers/iommu/amd_iommu*.[ch] +F: include/linux/amd-iommu.h + +AMD KFD +M: Oded Gabbay oded.gabbay@gmail.com +L: dri-devel@lists.freedesktop.org +T: git git://people.freedesktop.org/~gabbayo/linux.git +S: Supported +F: drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +F: drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h +F: drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c +F: drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c +F: drivers/gpu/drm/amd/amdkfd/ +F: drivers/gpu/drm/amd/include/cik_structs.h +F: drivers/gpu/drm/amd/include/kgd_kfd_interface.h +F: drivers/gpu/drm/amd/include/vi_structs.h +F: drivers/gpu/drm/radeon/radeon_kfd.c +F: drivers/gpu/drm/radeon/radeon_kfd.h +F: include/uapi/linux/kfd_ioctl.h + +AMD SEATTLE DEVICE TREE SUPPORT +M: Brijesh Singh brijeshkumar.singh@amd.com +M: Suravee Suthikulpanit suravee.suthikulpanit@amd.com +M: Tom Lendacky thomas.lendacky@amd.com +S: Supported +F: arch/arm64/boot/dts/amd/ + +AMD XGBE DRIVER +M: Tom Lendacky thomas.lendacky@amd.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/amd/xgbe/ +F: arch/arm64/boot/dts/amd/amd-seattle-xgbe*.dtsi + +AMS (Apple Motion Sensor) DRIVER +M: Michael Hanselmann linux-kernel@hansmi.ch +S: Supported +F: drivers/macintosh/ams/ + +ANALOG DEVICES INC AD9389B DRIVER +M: Hans Verkuil hans.verkuil@cisco.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/ad9389b* + +ANALOG DEVICES INC ADV7180 DRIVER +M: Lars-Peter Clausen lars@metafoo.de +L: linux-media@vger.kernel.org +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/media/i2c/adv7180.c + +ANALOG DEVICES INC ADV7511 DRIVER +M: Hans Verkuil hans.verkuil@cisco.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/adv7511* + +ANALOG DEVICES INC ADV7604 DRIVER +M: Hans Verkuil hans.verkuil@cisco.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/adv7604* + +ANALOG DEVICES INC ADV7842 DRIVER +M: Hans Verkuil hans.verkuil@cisco.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/adv7842* + +ANALOG DEVICES INC ASOC CODEC DRIVERS +M: Lars-Peter Clausen lars@metafoo.de +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +W: http://wiki.analog.com/ +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: sound/soc/codecs/adau* +F: sound/soc/codecs/adav* +F: sound/soc/codecs/ad1* +F: sound/soc/codecs/ad7* +F: sound/soc/codecs/ssm* +F: sound/soc/codecs/sigmadsp.* + +ANALOG DEVICES INC ASOC DRIVERS +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +W: http://blackfin.uclinux.org/ +S: Supported +F: sound/soc/blackfin/* + +ANALOG DEVICES INC IIO DRIVERS +M: Lars-Peter Clausen lars@metafoo.de +M: Michael Hennerich Michael.Hennerich@analog.com +W: http://wiki.analog.com/ +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/iio/*/ad* +X: drivers/iio/*/adjd* +F: drivers/staging/iio/*/ad* +F: staging/iio/trigger/iio-trig-bfin-timer.c + +ANALOG DEVICES INC DMA DRIVERS +M: Lars-Peter Clausen lars@metafoo.de +W: http://ez.analog.com/community/linux-device-drivers +S: Supported +F: drivers/dma/dma-axi-dmac.c + +ANDROID DRIVERS +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +M: Arve Hjønnevåg arve@android.com +M: Riley Andrews riandrews@android.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git +L: devel@driverdev.osuosl.org +S: Supported +F: drivers/android/ +F: drivers/staging/android/ + +ANDROID ION DRIVER +M: Laura Abbott labbott@redhat.com +M: Sumit Semwal sumit.semwal@linaro.org +L: devel@driverdev.osuosl.org +S: Supported +F: drivers/staging/android/ion +F: drivers/staging/android/uapi/ion.h +F: drivers/staging/android/uapi/ion_test.h + +AOA (Apple Onboard Audio) ALSA DRIVER +M: Johannes Berg johannes@sipsolutions.net +L: linuxppc-dev@lists.ozlabs.org +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Maintained +F: sound/aoa/ + +APEX EMBEDDED SYSTEMS STX104 DAC DRIVER +M: William Breathitt Gray vilhelm.gray@gmail.com +L: linux-iio@vger.kernel.org +S: Maintained +F: drivers/iio/dac/stx104.c + +APM DRIVER +M: Jiri Kosina jikos@kernel.org +S: Odd fixes +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm.git +F: arch/x86/kernel/apm_32.c +F: include/linux/apm_bios.h +F: include/uapi/linux/apm_bios.h +F: drivers/char/apm-emulation.c + +APPLE BCM5974 MULTITOUCH DRIVER +M: Henrik Rydberg rydberg@bitmath.org +L: linux-input@vger.kernel.org +S: Odd fixes +F: drivers/input/mouse/bcm5974.c + +APPLE SMC DRIVER +M: Henrik Rydberg rydberg@bitmath.org +L: linux-hwmon@vger.kernel.org +S: Odd fixes +F: drivers/hwmon/applesmc.c + +APPLETALK NETWORK LAYER +M: Arnaldo Carvalho de Melo acme@ghostprotocols.net +S: Maintained +F: drivers/net/appletalk/ +F: net/appletalk/ + +APPLIED MICRO (APM) X-GENE DEVICE TREE SUPPORT +M: Duc Dang dhdang@apm.com +S: Supported +F: arch/arm64/boot/dts/apm/ + +APPLIED MICRO (APM) X-GENE SOC ETHERNET DRIVER +M: Iyappan Subramanian isubramanian@apm.com +M: Keyur Chudgar kchudgar@apm.com +S: Supported +F: drivers/net/ethernet/apm/xgene/ +F: Documentation/devicetree/bindings/net/apm-xgene-enet.txt + +APTINA CAMERA SENSOR PLL +M: Laurent Pinchart Laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/aptina-pll.* + +ARC FRAMEBUFFER DRIVER +M: Jaya Kumar jayalk@intworks.biz +S: Maintained +F: drivers/video/fbdev/arcfb.c +F: drivers/video/fbdev/core/fb_defio.c + +ARCNET NETWORK LAYER +M: Michael Grzeschik m.grzeschik@pengutronix.de +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/arcnet/ +F: include/uapi/linux/if_arcnet.h + +ARC PGU DRM DRIVER +M: Alexey Brodkin abrodkin@synopsys.com +S: Supported +F: drivers/gpu/drm/arc/ +F: Documentation/devicetree/bindings/display/snps,arcpgu.txt + +ARM HDLCD DRM DRIVER +M: Liviu Dudau liviu.dudau@arm.com +S: Supported +F: drivers/gpu/drm/arm/ +F: Documentation/devicetree/bindings/display/arm,hdlcd.txt + +ARM MFM AND FLOPPY DRIVERS +M: Ian Molton spyro@f2s.com +S: Maintained +F: arch/arm/lib/floppydma.S +F: arch/arm/include/asm/floppy.h + +ARM PMU PROFILING AND DEBUGGING +M: Will Deacon will.deacon@arm.com +R: Mark Rutland mark.rutland@arm.com +S: Maintained +F: arch/arm*/kernel/perf_* +F: arch/arm/oprofile/common.c +F: arch/arm*/kernel/hw_breakpoint.c +F: arch/arm*/include/asm/hw_breakpoint.h +F: arch/arm*/include/asm/perf_event.h +F: drivers/perf/arm_pmu.c +F: include/linux/perf/arm_pmu.h + +ARM PORT +M: Russell King linux@armlinux.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.armlinux.org.uk/ +S: Maintained +F: arch/arm/ + +ARM SUB-ARCHITECTURES +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-*/ +F: arch/arm/plat-*/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git + +ARM PRIMECELL AACI PL041 DRIVER +M: Russell King linux@armlinux.org.uk +S: Maintained +F: sound/arm/aaci.* + +ARM PRIMECELL CLCD PL110 DRIVER +M: Russell King linux@armlinux.org.uk +S: Maintained +F: drivers/video/fbdev/amba-clcd.* + +ARM PRIMECELL KMI PL050 DRIVER +M: Russell King linux@armlinux.org.uk +S: Maintained +F: drivers/input/serio/ambakmi.* +F: include/linux/amba/kmi.h + +ARM PRIMECELL MMCI PL180/1 DRIVER +M: Russell King linux@armlinux.org.uk +S: Maintained +F: drivers/mmc/host/mmci.* +F: include/linux/amba/mmci.h + +ARM PRIMECELL UART PL010 AND PL011 DRIVERS +M: Russell King linux@armlinux.org.uk +S: Maintained +F: drivers/tty/serial/amba-pl01*.c +F: include/linux/amba/serial.h + +ARM PRIMECELL BUS SUPPORT +M: Russell King linux@armlinux.org.uk +S: Maintained +F: drivers/amba/ +F: include/linux/amba/bus.h + +ARM/ADS SPHERE MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/AFEB9260 MACHINE SUPPORT +M: Sergey Lapin slapin@ossfans.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/AJECO 1ARM MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/Allwinner sunXi SoC support +M: Maxime Ripard maxime.ripard@free-electrons.com +M: Chen-Yu Tsai wens@csie.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +N: sun[x456789]i + +ARM/Allwinner SoC Clock Support +M: Emilio López emilio@elopez.com.ar +S: Maintained +F: drivers/clk/sunxi/ + +ARM/Amlogic Meson SoC support +M: Carlo Caione carlo@caione.org +M: Kevin Hilman khilman@baylibre.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-amlogic@lists.infradead.org +W: http://linux-meson.com/ +S: Maintained +F: arch/arm/mach-meson/ +F: arch/arm/boot/dts/meson* +F: arch/arm64/boot/dts/amlogic/ +F: drivers/pinctrl/meson/ +N: meson + +ARM/Annapurna Labs ALPINE ARCHITECTURE +M: Tsahee Zidenberg tsahee@annapurnalabs.com +M: Antoine Tenart antoine.tenart@free-electrons.com +S: Maintained +F: arch/arm/mach-alpine/ +F: arch/arm/boot/dts/alpine* +F: arch/arm64/boot/dts/al/ +F: drivers/*/*alpine* + +ARM/ARTPEC MACHINE SUPPORT +M: Jesper Nilsson jesper.nilsson@axis.com +M: Lars Persson lars.persson@axis.com +M: Niklas Cassel niklas.cassel@axis.com +S: Maintained +L: linux-arm-kernel@axis.com +F: arch/arm/mach-artpec +F: arch/arm/boot/dts/artpec6* +F: drivers/clk/axis + +ARM/ASPEED MACHINE SUPPORT +M: Joel Stanley joel@jms.id.au +S: Maintained +F: arch/arm/mach-aspeed/ +F: arch/arm/boot/dts/aspeed-* +F: drivers/*/*aspeed* + +ARM/ATMEL AT91RM9200, AT91SAM9 AND SAMA5 SOC SUPPORT +M: Nicolas Ferre nicolas.ferre@atmel.com +M: Alexandre Belloni alexandre.belloni@free-electrons.com +M: Jean-Christophe Plagniol-Villard plagnioj@jcrosoft.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.linux4sam.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91.git +S: Supported +F: arch/arm/mach-at91/ +F: include/soc/at91/ +F: arch/arm/boot/dts/at91*.dts +F: arch/arm/boot/dts/at91*.dtsi +F: arch/arm/boot/dts/sama*.dts +F: arch/arm/boot/dts/sama*.dtsi +F: arch/arm/include/debug/at91.S + +ARM/ATMEL AT91 Clock Support +M: Boris Brezillon boris.brezillon@free-electrons.com +S: Maintained +F: drivers/clk/at91 + +ARM/CALXEDA HIGHBANK ARCHITECTURE +M: Rob Herring robh@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-highbank/ +F: arch/arm/boot/dts/highbank.dts +F: arch/arm/boot/dts/ecx-*.dts* + +ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT +M: Krzysztof Halasa khalasa@piap.pl +S: Maintained +F: arch/arm/mach-cns3xxx/ + +ARM/CAVIUM THUNDER NETWORK DRIVER +M: Sunil Goutham sgoutham@cavium.com +M: Robert Richter rric@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: drivers/net/ethernet/cavium/thunder/ + +ARM/CIRRUS LOGIC CLPS711X ARM ARCHITECTURE +M: Alexander Shiyan shc_work@mail.ru +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Odd Fixes +N: clps711x + +ARM/CIRRUS LOGIC EP93XX ARM ARCHITECTURE +M: Hartley Sweeten hsweeten@visionengravers.com +M: Ryan Mallon rmallon@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-ep93xx/ +F: arch/arm/mach-ep93xx/include/mach/ + +ARM/CIRRUS LOGIC EDB9315A MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/CLKDEV SUPPORT +M: Russell King linux@armlinux.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/include/asm/clkdev.h +F: drivers/clk/clkdev.c + +ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT +M: Mike Rapoport mike@compulab.co.il +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/CONTEC MICRO9 MACHINE SUPPORT +M: Hubert Feurstein hubert.feurstein@contec.at +S: Maintained +F: arch/arm/mach-ep93xx/micro9.c + +ARM/CORESIGHT FRAMEWORK AND DRIVERS +M: Mathieu Poirier mathieu.poirier@linaro.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/hwtracing/coresight/* +F: Documentation/trace/coresight.txt +F: Documentation/devicetree/bindings/arm/coresight.txt +F: Documentation/ABI/testing/sysfs-bus-coresight-devices-* + +ARM/CORGI MACHINE SUPPORT +M: Richard Purdie rpurdie@rpsys.net +S: Maintained + +ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE +M: Hans Ulli Kroll ulli.kroll@googlemail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://github.com/ulli-kroll/linux.git +S: Maintained +F: arch/arm/mach-gemini/ +F: drivers/rtc/rtc-gemini.c + +ARM/CSR SIRFPRIMA2 MACHINE SUPPORT +M: Barry Song baohua@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux.git +S: Maintained +F: arch/arm/boot/dts/prima2* +F: arch/arm/mach-prima2/ +F: drivers/clk/sirf/ +F: drivers/clocksource/timer-prima2.c +F: drivers/clocksource/timer-atlas7.c +N: [^a-z]sirf + +ARM/CONEXANT DIGICOLOR MACHINE SUPPORT +M: Baruch Siach baruch@tkos.co.il +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/cx92755* +N: digicolor + +ARM/EBSA110 MACHINE SUPPORT +M: Russell King linux@armlinux.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.armlinux.org.uk/ +S: Maintained +F: arch/arm/mach-ebsa110/ +F: drivers/net/ethernet/amd/am79c961a.* + +ARM/ENERGY MICRO (SILICON LABS) EFM32 SUPPORT +M: Uwe Kleine-König kernel@pengutronix.de +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +N: efm32 + +ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6) +M: Daniel Ribeiro drwyrm@gmail.com +M: Stefan Schmidt stefan@openezx.org +M: Harald Welte laforge@openezx.org +L: openezx-devel@lists.openezx.org (moderated for non-subscribers) +W: http://www.openezx.org/ +S: Maintained +T: topgit git://git.openezx.org/openezx.git +F: arch/arm/mach-pxa/ezx.c + +ARM/FARADAY FA526 PORT +M: Hans Ulli Kroll ulli.kroll@googlemail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +T: git git://git.berlios.de/gemini-board +F: arch/arm/mm/*-fa* + +ARM/FOOTBRIDGE ARCHITECTURE +M: Russell King linux@armlinux.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.armlinux.org.uk/ +S: Maintained +F: arch/arm/include/asm/hardware/dec21285.h +F: arch/arm/mach-footbridge/ + +ARM/FREESCALE IMX / MXC ARM ARCHITECTURE +M: Shawn Guo shawnguo@kernel.org +M: Sascha Hauer kernel@pengutronix.de +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git +F: arch/arm/mach-imx/ +F: arch/arm/mach-mxs/ +F: arch/arm/boot/dts/imx* +F: arch/arm/configs/imx*_defconfig +F: drivers/clk/imx/ +F: include/soc/imx/ + +ARM/FREESCALE VYBRID ARM ARCHITECTURE +M: Shawn Guo shawnguo@kernel.org +M: Sascha Hauer kernel@pengutronix.de +R: Stefan Agner stefan@agner.ch +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git +F: arch/arm/mach-imx/*vf610* +F: arch/arm/boot/dts/vf* + +ARM/GLOMATION GESBC9312SX MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/GUMSTIX MACHINE SUPPORT +M: Steve Sakoman sakoman@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/H4700 (HP IPAQ HX4700) MACHINE SUPPORT +M: Philipp Zabel philipp.zabel@gmail.com +M: Paul Parsons lost.distance@yahoo.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-pxa/hx4700.c +F: arch/arm/mach-pxa/include/mach/hx4700.h +F: sound/soc/pxa/hx4700.c + +ARM/HISILICON SOC SUPPORT +M: Wei Xu xuwei5@hisilicon.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.hisilicon.com +S: Supported +T: git git://github.com/hisilicon/linux-hisi.git +F: arch/arm/mach-hisi/ +F: arch/arm/boot/dts/hi3* +F: arch/arm/boot/dts/hip* +F: arch/arm/boot/dts/hisi* +F: arch/arm64/boot/dts/hisilicon/ + +ARM/HP JORNADA 7XX MACHINE SUPPORT +M: Kristoffer Ericson kristoffer.ericson@gmail.com +W: www.jlime.com +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git +F: arch/arm/mach-sa1100/jornada720.c +F: arch/arm/mach-sa1100/include/mach/jornada720.h + +ARM/IGEP MACHINE SUPPORT +M: Enric Balletbo i Serra eballetbo@gmail.com +M: Javier Martinez Canillas javier@dowhile0.org +L: linux-omap@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/omap3-igep* + +ARM/INCOME PXA270 SUPPORT +M: Marek Vasut marek.vasut@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-pxa/colibri-pxa270-income.c + +ARM/INTEL IOP32X ARM ARCHITECTURE +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/INTEL IOP33X ARM ARCHITECTURE +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Orphan + +ARM/INTEL IOP13XX ARM ARCHITECTURE +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/INTEL IQ81342EX MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/INTEL IXDP2850 MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/INTEL IXP4XX ARM ARCHITECTURE +M: Imre Kaloz kaloz@openwrt.org +M: Krzysztof Halasa khalasa@piap.pl +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-ixp4xx/ + +ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT +M: Jonathan Cameron jic23@cam.ac.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-pxa/stargate2.c +F: drivers/pcmcia/pxa2xx_stargate2.c + +ARM/INTEL XSC3 (MANZANO) ARM CORE +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/IP FABRICS DOUBLE ESPRESSO MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/TEXAS INSTRUMENT KEYSTONE ARCHITECTURE +M: Santosh Shilimkar ssantosh@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-keystone/ +F: arch/arm/boot/dts/keystone-* +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git + +ARM/TEXAS INSTRUMENT KEYSTONE CLOCK FRAMEWORK +M: Santosh Shilimkar ssantosh@kernel.org +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/clk/keystone/ + +ARM/TEXAS INSTRUMENT KEYSTONE ClOCKSOURCE +M: Santosh Shilimkar ssantosh@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/clocksource/timer-keystone.c + +ARM/TEXAS INSTRUMENT KEYSTONE RESET DRIVER +M: Santosh Shilimkar ssantosh@kernel.org +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/power/reset/keystone-reset.c + +ARM/TEXAS INSTRUMENT AEMIF/EMIF DRIVERS +M: Santosh Shilimkar ssantosh@kernel.org +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/memory/*emif* + +ARM/LG1K ARCHITECTURE +M: Chanho Min chanho.min@lge.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm64/boot/dts/lg/ + +ARM/LOGICPD PXA270 MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/LPC18XX ARCHITECTURE +M: Joachim Eastwood manabian@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/lpc43* +F: drivers/clk/nxp/clk-lpc18xx* +F: drivers/clocksource/time-lpc32xx.c +F: drivers/i2c/busses/i2c-lpc2k.c +F: drivers/memory/pl172.c +F: drivers/mtd/spi-nor/nxp-spifi.c +F: drivers/rtc/rtc-lpc24xx.c +N: lpc18xx + +ARM/LPC32XX SOC SUPPORT +M: Vladimir Zapolskiy vz@mleia.com +M: Sylvain Lemieux slemieux.tyco@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://github.com/vzapolskiy/linux-lpc32xx.git +S: Maintained +F: arch/arm/boot/dts/lpc32* +F: arch/arm/mach-lpc32xx/ +F: drivers/i2c/busses/i2c-pnx.c +F: drivers/net/ethernet/nxp/lpc_eth.c +F: drivers/usb/host/ohci-nxp.c +F: drivers/watchdog/pnx4008_wdt.c +N: lpc32xx + +ARM/MAGICIAN MACHINE SUPPORT +M: Philipp Zabel philipp.zabel@gmail.com +S: Maintained + +ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K SOC support +M: Jason Cooper jason@lakedaemon.net +M: Andrew Lunn andrew@lunn.ch +M: Gregory Clement gregory.clement@free-electrons.com +M: Sebastian Hesselbarth sebastian.hesselbarth@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-mvebu/ +F: drivers/rtc/rtc-armada38x.c +F: arch/arm/boot/dts/armada* +F: arch/arm/boot/dts/kirkwood* +F: arch/arm64/boot/dts/marvell/armada* +F: drivers/cpufreq/mvebu-cpufreq.c +F: arch/arm/configs/mvebu_*_defconfig + +ARM/Marvell Berlin SoC support +M: Sebastian Hesselbarth sebastian.hesselbarth@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-berlin/ +F: arch/arm/boot/dts/berlin* +F: arch/arm64/boot/dts/marvell/berlin* + + +ARM/Marvell Dove/MV78xx0/Orion SOC support +M: Jason Cooper jason@lakedaemon.net +M: Andrew Lunn andrew@lunn.ch +M: Sebastian Hesselbarth sebastian.hesselbarth@gmail.com +M: Gregory Clement gregory.clement@free-electrons.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-dove/ +F: arch/arm/mach-mv78xx0/ +F: arch/arm/mach-orion5x/ +F: arch/arm/plat-orion/ +F: arch/arm/boot/dts/dove* +F: arch/arm/boot/dts/orion5x* + + +ARM/Orion SoC/Technologic Systems TS-78xx platform support +M: Alexander Clouter alex@digriz.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.digriz.org.uk/ts78xx/kernel +S: Maintained +F: arch/arm/mach-orion5x/ts78xx-* + +ARM/OXNAS platform support +M: Neil Armstrong narmstrong@baylibre.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-oxnas/ +F: arch/arm/boot/dts/oxnas* +F: arch/arm/boot/dts/wd-mbwe.dts +N: oxnas + +ARM/Mediatek RTC DRIVER +M: Eddie Huang eddie.huang@mediatek.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/rtc/rtc-mt6397.c + +ARM/Mediatek SoC support +M: Matthias Brugger matthias.bgg@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/mt6* +F: arch/arm/boot/dts/mt8* +F: arch/arm/mach-mediatek/ +N: mtk +K: mediatek + +ARM/Mediatek USB3 PHY DRIVER +M: Chunfeng Yun chunfeng.yun@mediatek.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/phy/phy-mt65xx-usb3.c + +ARM/MICREL KS8695 ARCHITECTURE +M: Greg Ungerer gerg@uclinux.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +F: arch/arm/mach-ks8695/ +S: Odd Fixes + +ARM/MIOA701 MACHINE SUPPORT +M: Robert Jarzmik robert.jarzmik@free.fr +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +F: arch/arm/mach-pxa/mioa701.c +S: Maintained + +ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT +M: Michael Petchkovsky mkpetch@internode.on.net +S: Maintained + +ARM/NOMADIK ARCHITECTURE +M: Alessandro Rubini rubini@unipv.it +M: Linus Walleij linus.walleij@linaro.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-nomadik/ +F: drivers/pinctrl/nomadik/ +F: drivers/i2c/busses/i2c-nomadik.c +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git + +ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT +M: Nelson Castillo arhuaco@freaks-unidos.net +L: openmoko-kernel@lists.openmoko.org (subscribers-only) +W: http://wiki.openmoko.org/wiki/Neo_FreeRunner +S: Supported + +ARM/TOSA MACHINE SUPPORT +M: Dmitry Eremin-Solenikov dbaryshkov@gmail.com +M: Dirk Opfer dirk@opfer-online.de +S: Maintained + +ARM/PALMTX,PALMT5,PALMLD,PALMTE2,PALMTC SUPPORT +M: Marek Vasut marek.vasut@gmail.com +L: linux-arm-kernel@lists.infradead.org +W: http://hackndev.com +S: Maintained +F: arch/arm/mach-pxa/include/mach/palmtx.h +F: arch/arm/mach-pxa/palmtx.c +F: arch/arm/mach-pxa/include/mach/palmt5.h +F: arch/arm/mach-pxa/palmt5.c +F: arch/arm/mach-pxa/include/mach/palmld.h +F: arch/arm/mach-pxa/palmld.c +F: arch/arm/mach-pxa/include/mach/palmte2.h +F: arch/arm/mach-pxa/palmte2.c +F: arch/arm/mach-pxa/include/mach/palmtc.h +F: arch/arm/mach-pxa/palmtc.c + +ARM/PALM TREO SUPPORT +M: Tomas Cech sleep_walker@suse.com +L: linux-arm-kernel@lists.infradead.org +W: http://hackndev.com +S: Maintained +F: arch/arm/mach-pxa/include/mach/palmtreo.h +F: arch/arm/mach-pxa/palmtreo.c + +ARM/PALMZ72 SUPPORT +M: Sergey Lapin slapin@ossfans.org +L: linux-arm-kernel@lists.infradead.org +W: http://hackndev.com +S: Maintained +F: arch/arm/mach-pxa/include/mach/palmz72.h +F: arch/arm/mach-pxa/palmz72.c + +ARM/PLEB SUPPORT +M: Peter Chubb pleb@gelato.unsw.edu.au +W: http://www.disy.cse.unsw.edu.au/Hardware/PLEB +S: Maintained + +ARM/PT DIGITAL BOARD PORT +M: Stefan Eletzhofer stefan.eletzhofer@eletztrick.de +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.armlinux.org.uk/ +S: Maintained + +ARM/QUALCOMM SUPPORT +M: Andy Gross andy.gross@linaro.org +M: David Brown david.brown@linaro.org +L: linux-arm-msm@vger.kernel.org +L: linux-soc@vger.kernel.org +S: Maintained +F: arch/arm/boot/dts/qcom-*.dts +F: arch/arm/boot/dts/qcom-*.dtsi +F: arch/arm/mach-qcom/ +F: arch/arm64/boot/dts/qcom/* +F: drivers/i2c/busses/i2c-qup.c +F: drivers/clk/qcom/ +F: drivers/soc/qcom/ +F: drivers/spi/spi-qup.c +F: drivers/tty/serial/msm_serial.h +F: drivers/tty/serial/msm_serial.c +F: drivers/*/pm8???-* +F: drivers/mfd/ssbi.c +F: drivers/firmware/qcom_scm.c +T: git git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux.git + +ARM/RADISYS ENP2611 MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/RENESAS ARM64 ARCHITECTURE +M: Simon Horman horms@verge.net.au +M: Magnus Damm magnus.damm@gmail.com +L: linux-renesas-soc@vger.kernel.org +Q: http://patchwork.kernel.org/project/linux-renesas-soc/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next +S: Supported +F: arch/arm64/boot/dts/renesas/ +F: drivers/soc/renesas/ +F: include/linux/soc/renesas/ + +ARM/RISCPC ARCHITECTURE +M: Russell King linux@armlinux.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.armlinux.org.uk/ +S: Maintained +F: arch/arm/include/asm/hardware/entry-macro-iomd.S +F: arch/arm/include/asm/hardware/ioc.h +F: arch/arm/include/asm/hardware/iomd.h +F: arch/arm/include/asm/hardware/memc.h +F: arch/arm/mach-rpc/ +F: drivers/net/ethernet/8390/etherh.c +F: drivers/net/ethernet/i825xx/ether1* +F: drivers/net/ethernet/seeq/ether3* +F: drivers/scsi/arm/ + +ARM/Rockchip SoC support +M: Heiko Stuebner heiko@sntech.de +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-rockchip@lists.infradead.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git +S: Maintained +F: arch/arm/boot/dts/rk3* +F: arch/arm/mach-rockchip/ +F: drivers/clk/rockchip/ +F: drivers/i2c/busses/i2c-rk3x.c +F: drivers/*/*rockchip* +F: drivers/*/*/*rockchip* +F: sound/soc/rockchip/ +N: rockchip + +ARM/SAMSUNG EXYNOS ARM ARCHITECTURES +M: Kukjin Kim kgene@kernel.org +M: Krzysztof Kozlowski k.kozlowski@samsung.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/s3c* +F: arch/arm/boot/dts/s5p* +F: arch/arm/boot/dts/samsung* +F: arch/arm/boot/dts/exynos* +F: arch/arm64/boot/dts/exynos/ +F: arch/arm/plat-samsung/ +F: arch/arm/mach-s3c24*/ +F: arch/arm/mach-s3c64xx/ +F: arch/arm/mach-s5p*/ +F: arch/arm/mach-exynos*/ +F: drivers/*/*s3c2410* +F: drivers/*/*/*s3c2410* +F: drivers/memory/samsung/* +F: drivers/soc/samsung/* +F: drivers/spi/spi-s3c* +F: sound/soc/samsung/* +F: Documentation/arm/Samsung/ +F: Documentation/devicetree/bindings/arm/samsung/ +F: Documentation/devicetree/bindings/sram/samsung-sram.txt +F: Documentation/devicetree/bindings/power/pd-samsung.txt +N: exynos + +ARM/SAMSUNG MOBILE MACHINE SUPPORT +M: Kyungmin Park kyungmin.park@samsung.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-s5pv210/ + +ARM/SAMSUNG S5P SERIES 2D GRAPHICS ACCELERATION (G2D) SUPPORT +M: Kyungmin Park kyungmin.park@samsung.com +M: Kamil Debski k.debski@samsung.com +L: linux-arm-kernel@lists.infradead.org +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/platform/s5p-g2d/ + +ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT +M: Kyungmin Park kyungmin.park@samsung.com +M: Kamil Debski k.debski@samsung.com +M: Jeongtae Park jtp.park@samsung.com +L: linux-arm-kernel@lists.infradead.org +L: linux-media@vger.kernel.org +S: Maintained +F: arch/arm/plat-samsung/s5p-dev-mfc.c +F: drivers/media/platform/s5p-mfc/ + +ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT +M: Kyungmin Park kyungmin.park@samsung.com +M: Tomasz Stanislawski t.stanislaws@samsung.com +L: linux-arm-kernel@lists.infradead.org +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/platform/s5p-tv/ + +ARM/SAMSUNG S5P SERIES JPEG CODEC SUPPORT +M: Andrzej Pietrasiewicz andrzej.p@samsung.com +M: Jacek Anaszewski j.anaszewski@samsung.com +L: linux-arm-kernel@lists.infradead.org +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/platform/s5p-jpeg/ + +ARM/SHMOBILE ARM ARCHITECTURE +M: Simon Horman horms@verge.net.au +M: Magnus Damm magnus.damm@gmail.com +L: linux-renesas-soc@vger.kernel.org +Q: http://patchwork.kernel.org/project/linux-renesas-soc/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next +S: Supported +F: arch/arm/boot/dts/emev2* +F: arch/arm/boot/dts/r7s* +F: arch/arm/boot/dts/r8a* +F: arch/arm/boot/dts/sh* +F: arch/arm/configs/shmobile_defconfig +F: arch/arm/include/debug/renesas-scif.S +F: arch/arm/mach-shmobile/ +F: drivers/sh/ +F: drivers/soc/renesas/ +F: include/linux/soc/renesas/ + +ARM/SOCFPGA ARCHITECTURE +M: Dinh Nguyen dinguyen@opensource.altera.com +S: Maintained +F: arch/arm/mach-socfpga/ +F: arch/arm/boot/dts/socfpga* +F: arch/arm/configs/socfpga_defconfig +F: arch/arm64/boot/dts/altera/ +W: http://www.rocketboards.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git + +ARM/SOCFPGA CLOCK FRAMEWORK SUPPORT +M: Dinh Nguyen dinguyen@opensource.altera.com +S: Maintained +F: drivers/clk/socfpga/ + +ARM/SOCFPGA EDAC SUPPORT +M: Thor Thayer tthayer@opensource.altera.com +S: Maintained +F: drivers/edac/altera_edac. + +ARM/STI ARCHITECTURE +M: Srinivas Kandagatla srinivas.kandagatla@gmail.com +M: Maxime Coquelin maxime.coquelin@st.com +M: Patrice Chotard patrice.chotard@st.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: kernel@stlinux.com +W: http://www.stlinux.com +S: Maintained +F: arch/arm/mach-sti/ +F: arch/arm/boot/dts/sti* +F: drivers/char/hw_random/st-rng.c +F: drivers/clocksource/arm_global_timer.c +F: drivers/clocksource/clksrc_st_lpc.c +F: drivers/cpufreq/sti-cpufreq.c +F: drivers/i2c/busses/i2c-st.c +F: drivers/media/rc/st_rc.c +F: drivers/media/platform/sti/c8sectpfe/ +F: drivers/mmc/host/sdhci-st.c +F: drivers/phy/phy-miphy28lp.c +F: drivers/phy/phy-miphy365x.c +F: drivers/phy/phy-stih407-usb.c +F: drivers/phy/phy-stih41x-usb.c +F: drivers/pinctrl/pinctrl-st.c +F: drivers/remoteproc/st_remoteproc.c +F: drivers/reset/sti/ +F: drivers/rtc/rtc-st-lpc.c +F: drivers/tty/serial/st-asc.c +F: drivers/usb/dwc3/dwc3-st.c +F: drivers/usb/host/ehci-st.c +F: drivers/usb/host/ohci-st.c +F: drivers/watchdog/st_lpc_wdt.c +F: drivers/ata/ahci_st.c + +ARM/STM32 ARCHITECTURE +M: Maxime Coquelin mcoquelin.stm32@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32.git +N: stm32 +F: drivers/clocksource/armv7m_systick.c + +ARM/TANGO ARCHITECTURE +M: Marc Gonzalez marc_gonzalez@sigmadesigns.com +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: arch/arm/mach-tango/ +F: arch/arm/boot/dts/tango* + +ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/TETON BGA MACHINE SUPPORT +M: "Mark F. Brown" mark.brown314@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/THECUS N2100 MACHINE SUPPORT +M: Lennert Buytenhek kernel@wantstofly.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained + +ARM/NUVOTON W90X900 ARM ARCHITECTURE +M: Wan ZongShun mcuos.com@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.mcuos.com +S: Maintained +F: arch/arm/mach-w90x900/ +F: drivers/input/keyboard/w90p910_keypad.c +F: drivers/input/touchscreen/w90p910_ts.c +F: drivers/watchdog/nuc900_wdt.c +F: drivers/net/ethernet/nuvoton/w90p910_ether.c +F: drivers/mtd/nand/nuc900_nand.c +F: drivers/rtc/rtc-nuc900.c +F: drivers/spi/spi-nuc900.c +F: drivers/usb/host/ehci-w90x900.c +F: drivers/video/fbdev/nuc900fb.c + +ARM/U300 MACHINE SUPPORT +M: Linus Walleij linus.walleij@linaro.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: arch/arm/mach-u300/ +F: drivers/clocksource/timer-u300.c +F: drivers/i2c/busses/i2c-stu300.c +F: drivers/rtc/rtc-coh901331.c +F: drivers/watchdog/coh901327_wdt.c +F: drivers/dma/coh901318* +F: drivers/mfd/ab3100* +F: drivers/rtc/rtc-ab3100.c +F: drivers/rtc/rtc-coh901331.c +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git + +ARM/UNIPHIER ARCHITECTURE +M: Masahiro Yamada yamada.masahiro@socionext.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/uniphier* +F: arch/arm/include/asm/hardware/cache-uniphier.h +F: arch/arm/mach-uniphier/ +F: arch/arm/mm/cache-uniphier.c +F: arch/arm64/boot/dts/socionext/ +F: drivers/bus/uniphier-system-bus.c +F: drivers/i2c/busses/i2c-uniphier* +F: drivers/pinctrl/uniphier/ +F: drivers/tty/serial/8250/8250_uniphier.c +N: uniphier + +ARM/Ux500 ARM ARCHITECTURE +M: Linus Walleij linus.walleij@linaro.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-ux500/ +F: drivers/clocksource/clksrc-dbx500-prcmu.c +F: drivers/dma/ste_dma40* +F: drivers/hwspinlock/u8500_hsem.c +F: drivers/mfd/abx500* +F: drivers/mfd/ab8500* +F: drivers/mfd/dbx500* +F: drivers/mfd/db8500* +F: drivers/pinctrl/nomadik/pinctrl-ab* +F: drivers/pinctrl/nomadik/pinctrl-nomadik* +F: drivers/rtc/rtc-ab8500.c +F: drivers/rtc/rtc-pl031.c +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git + +ARM/Ux500 CLOCK FRAMEWORK SUPPORT +M: Ulf Hansson ulf.hansson@linaro.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://git.linaro.org/people/ulfh/clk.git +S: Maintained +F: drivers/clk/ux500/ +F: include/linux/platform_data/clk-ux500.h + +ARM/VERSATILE EXPRESS PLATFORM +M: Liviu Dudau liviu.dudau@arm.com +M: Sudeep Holla sudeep.holla@arm.com +M: Lorenzo Pieralisi lorenzo.pieralisi@arm.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/vexpress* +F: arch/arm64/boot/dts/arm/ +F: arch/arm/mach-vexpress/ +F: */*/vexpress* +F: */*/*/vexpress* +F: drivers/clk/versatile/clk-vexpress-osc.c +F: drivers/clocksource/versatile.c +N: mps2 + +ARM/VFP SUPPORT +M: Russell King linux@armlinux.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.armlinux.org.uk/ +S: Maintained +F: arch/arm/vfp/ + +ARM/VOIPAC PXA270 SUPPORT +M: Marek Vasut marek.vasut@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-pxa/vpac270.c +F: arch/arm/mach-pxa/include/mach/vpac270.h + +ARM/VT8500 ARM ARCHITECTURE +M: Tony Prisk linux@prisktech.co.nz +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-vt8500/ +F: drivers/clocksource/vt8500_timer.c +F: drivers/i2c/busses/i2c-wmt.c +F: drivers/mmc/host/wmt-sdmmc.c +F: drivers/pwm/pwm-vt8500.c +F: drivers/rtc/rtc-vt8500.c +F: drivers/tty/serial/vt8500_serial.c +F: drivers/usb/host/ehci-platform.c +F: drivers/usb/host/uhci-platform.c +F: drivers/video/fbdev/vt8500lcdfb.* +F: drivers/video/fbdev/wm8505fb* +F: drivers/video/fbdev/wmt_ge_rops.* + +ARM/ZIPIT Z2 SUPPORT +M: Marek Vasut marek.vasut@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-pxa/z2.c +F: arch/arm/mach-pxa/include/mach/z2.h + +ARM/ZTE ARCHITECTURE +M: Jun Nie jun.nie@linaro.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-zx/ +F: drivers/clk/zte/ +F: Documentation/devicetree/bindings/arm/zte.txt +F: Documentation/devicetree/bindings/clock/zx296702-clk.txt + +ARM/ZYNQ ARCHITECTURE +M: Michal Simek michal.simek@xilinx.com +R: Sören Brinkmann soren.brinkmann@xilinx.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://wiki.xilinx.com +T: git https://github.com/Xilinx/linux-xlnx.git +S: Supported +F: arch/arm/mach-zynq/ +F: drivers/cpuidle/cpuidle-zynq.c +F: drivers/block/xsysace.c +N: zynq +N: xilinx +F: drivers/clocksource/cadence_ttc_timer.c +F: drivers/i2c/busses/i2c-cadence.c +F: drivers/mmc/host/sdhci-of-arasan.c +F: drivers/edac/synopsys_edac.c + +ARM SMMU DRIVERS +M: Will Deacon will.deacon@arm.com +R: Robin Murphy robin.murphy@arm.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/iommu/arm-smmu.c +F: drivers/iommu/arm-smmu-v3.c +F: drivers/iommu/io-pgtable-arm.c +F: drivers/iommu/io-pgtable-arm-v7s.c + +ARM64 PORT (AARCH64 ARCHITECTURE) +M: Catalin Marinas catalin.marinas@arm.com +M: Will Deacon will.deacon@arm.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git +S: Maintained +F: arch/arm64/ +F: Documentation/arm64/ + +AS3645A LED FLASH CONTROLLER DRIVER +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/i2c/as3645a.c +F: include/media/i2c/as3645a.h + +ASC7621 HARDWARE MONITOR DRIVER +M: George Joseph george.joseph@fairview5.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/asc7621 +F: drivers/hwmon/asc7621.c + +ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS +M: Corentin Chary corentin.chary@gmail.com +L: acpi4asus-user@lists.sourceforge.net +L: platform-driver-x86@vger.kernel.org +W: http://acpi4asus.sf.net +S: Maintained +F: drivers/platform/x86/asus*.c +F: drivers/platform/x86/eeepc*.c + +ASUS WIRELESS RADIO CONTROL DRIVER +M: João Paulo Rechi Vita jprvita@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/asus-wireless.c + +ASYMMETRIC KEYS +M: David Howells dhowells@redhat.com +L: keyrings@vger.kernel.org +S: Maintained +F: Documentation/crypto/asymmetric-keys.txt +F: include/linux/verification.h +F: include/crypto/public_key.h +F: include/crypto/pkcs7.h +F: crypto/asymmetric_keys/ + +ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API +R: Dan Williams dan.j.williams@intel.com +W: http://sourceforge.net/projects/xscaleiop +S: Odd fixes +F: Documentation/crypto/async-tx-api.txt +F: crypto/async_tx/ +F: drivers/dma/ +F: include/linux/dmaengine.h +F: include/linux/async_tx.h + +AT24 EEPROM DRIVER +M: Wolfram Sang wsa@the-dreams.de +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/misc/eeprom/at24.c +F: include/linux/platform_data/at24.h + +ATA OVER ETHERNET (AOE) DRIVER +M: "Ed L. Cashin" ed.cashin@acm.org +W: http://www.openaoe.org/ +S: Supported +F: Documentation/aoe/ +F: drivers/block/aoe/ + +ATHEROS 71XX/9XXX GPIO DRIVER +M: Alban Bedel albeu@free.fr +W: https://github.com/AlbanBedel/linux +T: git git://github.com/AlbanBedel/linux +S: Maintained +F: drivers/gpio/gpio-ath79.c +F: Documentation/devicetree/bindings/gpio/gpio-ath79.txt + +ATHEROS ATH GENERIC UTILITIES +M: "Luis R. Rodriguez" mcgrof@do-not-panic.com +L: linux-wireless@vger.kernel.org +S: Supported +F: drivers/net/wireless/ath/* + +ATHEROS ATH5K WIRELESS DRIVER +M: Jiri Slaby jirislaby@gmail.com +M: Nick Kossifidis mickflemm@gmail.com +M: "Luis R. Rodriguez" mcgrof@do-not-panic.com +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/en/users/Drivers/ath5k +S: Maintained +F: drivers/net/wireless/ath/ath5k/ + +ATHEROS ATH6KL WIRELESS DRIVER +M: Kalle Valo kvalo@qca.qualcomm.com +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/en/users/Drivers/ath6kl +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git +S: Supported +F: drivers/net/wireless/ath/ath6kl/ + +WILOCITY WIL6210 WIRELESS DRIVER +M: Maya Erez qca_merez@qca.qualcomm.com +L: linux-wireless@vger.kernel.org +L: wil6210@qca.qualcomm.com +S: Supported +W: http://wireless.kernel.org/en/users/Drivers/wil6210 +F: drivers/net/wireless/ath/wil6210/ +F: include/uapi/linux/wil6210_uapi.h + +CARL9170 LINUX COMMUNITY WIRELESS DRIVER +M: Christian Lamparter chunkeey@googlemail.com +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/en/users/Drivers/carl9170 +S: Maintained +F: drivers/net/wireless/ath/carl9170/ + +ATK0110 HWMON DRIVER +M: Luca Tettamanti kronos.it@gmail.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/asus_atk0110.c + +ATI_REMOTE2 DRIVER +M: Ville Syrjala syrjala@sci.fi +S: Maintained +F: drivers/input/misc/ati_remote2.c + +ATLX ETHERNET DRIVERS +M: Jay Cliburn jcliburn@gmail.com +M: Chris Snook chris.snook@gmail.com +L: netdev@vger.kernel.org +W: http://sourceforge.net/projects/atl1 +W: http://atl1.sourceforge.net +S: Maintained +F: drivers/net/ethernet/atheros/ + +ATM +M: Chas Williams 3chas3@gmail.com +L: linux-atm-general@lists.sourceforge.net (moderated for non-subscribers) +L: netdev@vger.kernel.org +W: http://linux-atm.sourceforge.net +S: Maintained +F: drivers/atm/ +F: include/linux/atm* +F: include/uapi/linux/atm* + +ATMEL AT91 / AT32 MCI DRIVER +M: Ludovic Desroches ludovic.desroches@atmel.com +S: Maintained +F: drivers/mmc/host/atmel-mci.c + +ATMEL AT91 / AT32 SERIAL DRIVER +M: Nicolas Ferre nicolas.ferre@atmel.com +S: Supported +F: drivers/tty/serial/atmel_serial.c + +ATMEL AT91 SAMA5D2-Compatible Shutdown Controller +M: Nicolas Ferre nicolas.ferre@atmel.com +S: Supported +F: drivers/power/reset/at91-sama5d2_shdwc.c + +ATMEL SAMA5D2 ADC DRIVER +M: Ludovic Desroches ludovic.desroches@atmel.com +L: linux-iio@vger.kernel.org +S: Supported +F: drivers/iio/adc/at91-sama5d2_adc.c + +ATMEL Audio ALSA driver +M: Nicolas Ferre nicolas.ferre@atmel.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Supported +F: sound/soc/atmel + +ATMEL DMA DRIVER +M: Nicolas Ferre nicolas.ferre@atmel.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: drivers/dma/at_hdmac.c +F: drivers/dma/at_hdmac_regs.h +F: include/linux/platform_data/dma-atmel.h + +ATMEL XDMA DRIVER +M: Ludovic Desroches ludovic.desroches@atmel.com +L: linux-arm-kernel@lists.infradead.org +L: dmaengine@vger.kernel.org +S: Supported +F: drivers/dma/at_xdmac.c + +ATMEL I2C DRIVER +M: Ludovic Desroches ludovic.desroches@atmel.com +L: linux-i2c@vger.kernel.org +S: Supported +F: drivers/i2c/busses/i2c-at91.c + +ATMEL ISI DRIVER +M: Ludovic Desroches ludovic.desroches@atmel.com +L: linux-media@vger.kernel.org +S: Supported +F: drivers/media/platform/soc_camera/atmel-isi.c +F: include/media/atmel-isi.h + +ATMEL LCDFB DRIVER +M: Nicolas Ferre nicolas.ferre@atmel.com +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/atmel_lcdfb.c +F: include/video/atmel_lcdc.h + +ATMEL MACB ETHERNET DRIVER +M: Nicolas Ferre nicolas.ferre@atmel.com +S: Supported +F: drivers/net/ethernet/cadence/ + +ATMEL NAND DRIVER +M: Wenyou Yang wenyou.yang@atmel.com +M: Josh Wu rainyfeeling@outlook.com +L: linux-mtd@lists.infradead.org +S: Supported +F: drivers/mtd/nand/atmel_nand* + +ATMEL SDMMC DRIVER +M: Ludovic Desroches ludovic.desroches@atmel.com +L: linux-mmc@vger.kernel.org +S: Supported +F: drivers/mmc/host/sdhci-of-at91.c + +ATMEL SPI DRIVER +M: Nicolas Ferre nicolas.ferre@atmel.com +S: Supported +F: drivers/spi/spi-atmel.* + +ATMEL SSC DRIVER +M: Nicolas Ferre nicolas.ferre@atmel.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: drivers/misc/atmel-ssc.c +F: include/linux/atmel-ssc.h + +ATMEL Timer Counter (TC) AND CLOCKSOURCE DRIVERS +M: Nicolas Ferre nicolas.ferre@atmel.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: drivers/misc/atmel_tclib.c +F: drivers/clocksource/tcb_clksrc.c + +ATMEL USBA UDC DRIVER +M: Nicolas Ferre nicolas.ferre@atmel.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: drivers/usb/gadget/udc/atmel_usba_udc.* + +ATMEL WIRELESS DRIVER +M: Simon Kelley simon@thekelleys.org.uk +L: linux-wireless@vger.kernel.org +W: http://www.thekelleys.org.uk/atmel +W: http://atmelwlandriver.sourceforge.net/ +S: Maintained +F: drivers/net/wireless/atmel/atmel* + +ATMEL MAXTOUCH DRIVER +M: Nick Dyer nick.dyer@itdev.co.uk +T: git git://github.com/atmel-maxtouch/linux.git +S: Supported +F: Documentation/devicetree/bindings/input/atmel,maxtouch.txt +F: drivers/input/touchscreen/atmel_mxt_ts.c +F: include/linux/platform_data/atmel_mxt_ts.h + +ATTO EXPRESSSAS SAS/SATA RAID SCSI DRIVER +M: Bradley Grove linuxdrivers@attotech.com +L: linux-scsi@vger.kernel.org +W: http://www.attotech.com +S: Supported +F: drivers/scsi/esas2r + +ATUSB IEEE 802.15.4 RADIO DRIVER +M: Stefan Schmidt stefan@osg.samsung.com +L: linux-wpan@vger.kernel.org +S: Maintained +F: drivers/net/ieee802154/atusb.c +F: drivers/net/ieee802154/atusb.h +F: drivers/net/ieee802154/at86rf230.h + +AUDIT SUBSYSTEM +M: Paul Moore paul@paul-moore.com +M: Eric Paris eparis@redhat.com +L: linux-audit@redhat.com (moderated for non-subscribers) +W: http://people.redhat.com/sgrubb/audit/ +T: git git://git.infradead.org/users/pcmoore/audit +S: Maintained +F: include/linux/audit.h +F: include/uapi/linux/audit.h +F: kernel/audit* + +AUXILIARY DISPLAY DRIVERS +M: Miguel Ojeda Sandonis miguel.ojeda.sandonis@gmail.com +W: http://miguelojeda.es/auxdisplay.htm +W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm +S: Maintained +F: drivers/auxdisplay/ +F: include/linux/cfag12864b.h + +AVR32 ARCHITECTURE +M: Haavard Skinnemoen hskinnemoen@gmail.com +M: Hans-Christian Egtvedt egtvedt@samfundet.no +W: http://www.atmel.com/products/AVR32/ +W: http://mirror.egtvedt.no/avr32linux.org/ +W: http://avrfreaks.net/ +S: Maintained +F: arch/avr32/ + +AVR32/AT32AP MACHINE SUPPORT +M: Haavard Skinnemoen hskinnemoen@gmail.com +M: Hans-Christian Egtvedt egtvedt@samfundet.no +S: Maintained +F: arch/avr32/mach-at32ap/ + +AX.25 NETWORK LAYER +M: Ralf Baechle ralf@linux-mips.org +L: linux-hams@vger.kernel.org +W: http://www.linux-ax25.org/ +S: Maintained +F: include/uapi/linux/ax25.h +F: include/net/ax25.h +F: net/ax25/ + +AZ6007 DVB DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/az6007.c + +AZTECH FM RADIO RECEIVER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-aztech* + +B43 WIRELESS DRIVER +L: linux-wireless@vger.kernel.org +L: b43-dev@lists.infradead.org +W: http://wireless.kernel.org/en/users/Drivers/b43 +S: Odd Fixes +F: drivers/net/wireless/broadcom/b43/ + +B43LEGACY WIRELESS DRIVER +M: Larry Finger Larry.Finger@lwfinger.net +L: linux-wireless@vger.kernel.org +L: b43-dev@lists.infradead.org +W: http://wireless.kernel.org/en/users/Drivers/b43 +S: Maintained +F: drivers/net/wireless/broadcom/b43legacy/ + +BACKLIGHT CLASS/SUBSYSTEM +M: Jingoo Han jingoohan1@gmail.com +M: Lee Jones lee.jones@linaro.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight.git +S: Maintained +F: drivers/video/backlight/ +F: include/linux/backlight.h + BATMAN ADVANCED M: Marek Lindner mareklindner@neomailbox.ch M: Simon Wunderlich sw@simonwunderlich.de @@@ -2291,10460 -9,5 +2291,10461 @@@ S: Maintaine F: Documentation/ABI/testing/sysfs-class-net-batman-adv F: Documentation/ABI/testing/sysfs-class-net-mesh F: Documentation/networking/batman-adv.txt + F: include/uapi/linux/batman_adv.h F: net/batman-adv/ + +BAYCOM/HDLCDRV DRIVERS FOR AX.25 +M: Thomas Sailer t.sailer@alumni.ethz.ch +L: linux-hams@vger.kernel.org +W: http://www.baycom.org/~tom/ham/ham.html +S: Maintained +F: drivers/net/hamradio/baycom* + +BCACHE (BLOCK LAYER CACHE) +M: Kent Overstreet kent.overstreet@gmail.com +L: linux-bcache@vger.kernel.org +W: http://bcache.evilpiepirate.org +S: Orphan +F: drivers/md/bcache/ + +BDISP ST MEDIA DRIVER +M: Fabien Dessenne fabien.dessenne@st.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Supported +F: drivers/media/platform/sti/bdisp + +BEFS FILE SYSTEM +S: Orphan +F: Documentation/filesystems/befs.txt +F: fs/befs/ + +BECKHOFF CX5020 ETHERCAT MASTER DRIVER +M: Dariusz Marcinkiewicz reksio@newterm.pl +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/ec_bhf.c + +BFS FILE SYSTEM +M: "Tigran A. Aivazian" tigran@aivazian.fsnet.co.uk +S: Maintained +F: Documentation/filesystems/bfs.txt +F: fs/bfs/ +F: include/uapi/linux/bfs_fs.h + +BLACKFIN ARCHITECTURE +M: Steven Miao realmz6@gmail.com +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +T: git git://git.code.sf.net/p/adi-linux/code +W: http://blackfin.uclinux.org +S: Supported +F: arch/blackfin/ + +BLACKFIN EMAC DRIVER +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +W: http://blackfin.uclinux.org +S: Supported +F: drivers/net/ethernet/adi/ + +BLACKFIN RTC DRIVER +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +W: http://blackfin.uclinux.org +S: Supported +F: drivers/rtc/rtc-bfin.c + +BLACKFIN SDH DRIVER +M: Sonic Zhang sonic.zhang@analog.com +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +W: http://blackfin.uclinux.org +S: Supported +F: drivers/mmc/host/bfin_sdh.c + +BLACKFIN SERIAL DRIVER +M: Sonic Zhang sonic.zhang@analog.com +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +W: http://blackfin.uclinux.org +S: Supported +F: drivers/tty/serial/bfin_uart.c + +BLACKFIN WATCHDOG DRIVER +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +W: http://blackfin.uclinux.org +S: Supported +F: drivers/watchdog/bfin_wdt.c + +BLACKFIN I2C TWI DRIVER +M: Sonic Zhang sonic.zhang@analog.com +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +W: http://blackfin.uclinux.org/ +S: Supported +F: drivers/i2c/busses/i2c-bfin-twi.c + +BLACKFIN MEDIA DRIVER +M: Scott Jiang scott.jiang.linux@gmail.com +L: adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) +W: http://blackfin.uclinux.org/ +S: Supported +F: drivers/media/platform/blackfin/ +F: drivers/media/i2c/adv7183* +F: drivers/media/i2c/vs6624* + +BLINKM RGB LED DRIVER +M: Jan-Simon Moeller jansimon.moeller@gmx.de +S: Maintained +F: drivers/leds/leds-blinkm.c + +BLOCK LAYER +M: Jens Axboe axboe@kernel.dk +L: linux-block@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git +S: Maintained +F: block/ +F: kernel/trace/blktrace.c + +BLOCK2MTD DRIVER +M: Joern Engel joern@lazybastard.org +L: linux-mtd@lists.infradead.org +S: Maintained +F: drivers/mtd/devices/block2mtd.c + +BLUETOOTH DRIVERS +M: Marcel Holtmann marcel@holtmann.org +M: Gustavo Padovan gustavo@padovan.org +M: Johan Hedberg johan.hedberg@gmail.com +L: linux-bluetooth@vger.kernel.org +W: http://www.bluez.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git +S: Maintained +F: drivers/bluetooth/ + +BLUETOOTH SUBSYSTEM +M: Marcel Holtmann marcel@holtmann.org +M: Gustavo Padovan gustavo@padovan.org +M: Johan Hedberg johan.hedberg@gmail.com +L: linux-bluetooth@vger.kernel.org +W: http://www.bluez.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git +S: Maintained +F: net/bluetooth/ +F: include/net/bluetooth/ + +BONDING DRIVER +M: Jay Vosburgh j.vosburgh@gmail.com +M: Veaceslav Falico vfalico@gmail.com +M: Andy Gospodarek gospo@cumulusnetworks.com +L: netdev@vger.kernel.org +W: http://sourceforge.net/projects/bonding/ +S: Supported +F: drivers/net/bonding/ +F: include/uapi/linux/if_bonding.h + +BPF (Safe dynamic programs and tools) +M: Alexei Starovoitov ast@kernel.org +L: netdev@vger.kernel.org +L: linux-kernel@vger.kernel.org +S: Supported +F: kernel/bpf/ + +BROADCOM B44 10/100 ETHERNET DRIVER +M: Gary Zambrano zambrano@broadcom.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/broadcom/b44.* + +BROADCOM B53 ETHERNET SWITCH DRIVER +M: Florian Fainelli f.fainelli@gmail.com +L: netdev@vger.kernel.org +L: openwrt-devel@lists.openwrt.org (subscribers-only) +S: Supported +F: drivers/net/dsa/b53/* +F: include/linux/platform_data/b53.h + +BROADCOM GENET ETHERNET DRIVER +M: Florian Fainelli f.fainelli@gmail.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/broadcom/genet/ + +BROADCOM BNX2 GIGABIT ETHERNET DRIVER +M: Sony Chacko sony.chacko@qlogic.com +M: Dept-HSGLinuxNICDev@qlogic.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/broadcom/bnx2.* +F: drivers/net/ethernet/broadcom/bnx2_* + +BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER +M: Ariel Elior ariel.elior@qlogic.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/broadcom/bnx2x/ + +BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE +M: Florian Fainelli f.fainelli@gmail.com +M: Ray Jui rjui@broadcom.com +M: Scott Branden sbranden@broadcom.com +L: bcm-kernel-feedback-list@broadcom.com +T: git git://github.com/broadcom/mach-bcm +S: Maintained +F: arch/arm/mach-bcm/ +F: arch/arm/boot/dts/bcm113* +F: arch/arm/boot/dts/bcm216* +F: arch/arm/boot/dts/bcm281* +F: arch/arm64/boot/dts/broadcom/ +F: arch/arm/configs/bcm_defconfig +F: drivers/mmc/host/sdhci-bcm-kona.c +F: drivers/clocksource/bcm_kona_timer.c + +BROADCOM BCM2835 ARM ARCHITECTURE +M: Stephen Warren swarren@wwwdotorg.org +M: Lee Jones lee@kernel.org +M: Eric Anholt eric@anholt.net +L: linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi.git +S: Maintained +N: bcm2835 + +BROADCOM BCM47XX MIPS ARCHITECTURE +M: Hauke Mehrtens hauke@hauke-m.de +M: Rafał Miłecki zajec5@gmail.com +L: linux-mips@linux-mips.org +S: Maintained +F: Documentation/devicetree/bindings/mips/brcm/ +F: arch/mips/bcm47xx/* +F: arch/mips/include/asm/mach-bcm47xx/* + +BROADCOM BCM5301X ARM ARCHITECTURE +M: Hauke Mehrtens hauke@hauke-m.de +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: arch/arm/mach-bcm/bcm_5301x.c +F: arch/arm/boot/dts/bcm5301x.dtsi +F: arch/arm/boot/dts/bcm470* + +BROADCOM BCM63XX ARM ARCHITECTURE +M: Florian Fainelli f.fainelli@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: bcm-kernel-feedback-list@broadcom.com +T: git git://github.com/broadcom/stblinux.git +S: Maintained +F: arch/arm/mach-bcm/bcm63xx.c +F: arch/arm/include/debug/bcm63xx.S + +BROADCOM BCM63XX/BCM33XX UDC DRIVER +M: Kevin Cernekee cernekee@gmail.com +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/gadget/udc/bcm63xx_udc.* + +BROADCOM BCM7XXX ARM ARCHITECTURE +M: Brian Norris computersforpeace@gmail.com +M: Gregory Fong gregory.0xf0@gmail.com +M: Florian Fainelli f.fainelli@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: bcm-kernel-feedback-list@broadcom.com +T: git git://github.com/broadcom/stblinux.git +S: Maintained +F: arch/arm/mach-bcm/*brcmstb* +F: arch/arm/boot/dts/bcm7*.dts* +F: drivers/bus/brcmstb_gisb.c +N: brcmstb + +BROADCOM BMIPS MIPS ARCHITECTURE +M: Kevin Cernekee cernekee@gmail.com +M: Florian Fainelli f.fainelli@gmail.com +L: linux-mips@linux-mips.org +T: git git://github.com/broadcom/stblinux.git +S: Maintained +F: arch/mips/bmips/* +F: arch/mips/include/asm/mach-bmips/* +F: arch/mips/kernel/*bmips* +F: arch/mips/boot/dts/brcm/bcm*.dts* +F: drivers/irqchip/irq-bcm63* +F: drivers/irqchip/irq-bcm7* +F: drivers/irqchip/irq-brcmstb* +F: include/linux/bcm963xx_nvram.h +F: include/linux/bcm963xx_tag.h + +BROADCOM TG3 GIGABIT ETHERNET DRIVER +M: Siva Reddy Kallam siva.kallam@broadcom.com +M: Prashant Sreedharan prashant@broadcom.com +M: Michael Chan mchan@broadcom.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/broadcom/tg3.* + +BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER +M: Brett Rudley brudley@broadcom.com +M: Arend van Spriel arend@broadcom.com +M: Franky (Zhenhui) Lin frankyl@broadcom.com +M: Hante Meuleman meuleman@broadcom.com +L: linux-wireless@vger.kernel.org +L: brcm80211-dev-list@broadcom.com +S: Supported +F: drivers/net/wireless/broadcom/brcm80211/ + +BROADCOM BNX2FC 10 GIGABIT FCOE DRIVER +M: QLogic-Storage-Upstream@qlogic.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/bnx2fc/ + +BROADCOM BNX2I 1/10 GIGABIT iSCSI DRIVER +M: QLogic-Storage-Upstream@qlogic.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/bnx2i/ + +BROADCOM IPROC ARM ARCHITECTURE +M: Ray Jui rjui@broadcom.com +M: Scott Branden sbranden@broadcom.com +M: Jon Mason jonmason@broadcom.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: bcm-kernel-feedback-list@broadcom.com +T: git git://github.com/broadcom/cygnus-linux.git +S: Maintained +N: iproc +N: cygnus +N: nsp +N: bcm9113* +N: bcm9583* +N: bcm9585* +N: bcm9586* +N: bcm988312 +N: bcm113* +N: bcm583* +N: bcm585* +N: bcm586* +N: bcm88312 + +BROADCOM BRCMSTB GPIO DRIVER +M: Gregory Fong gregory.0xf0@gmail.com +L: bcm-kernel-feedback-list@broadcom.com +S: Supported +F: drivers/gpio/gpio-brcmstb.c +F: Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt + +BROADCOM KONA GPIO DRIVER +M: Ray Jui rjui@broadcom.com +L: bcm-kernel-feedback-list@broadcom.com +S: Supported +F: drivers/gpio/gpio-bcm-kona.c +F: Documentation/devicetree/bindings/gpio/brcm,kona-gpio.txt + +BROADCOM NVRAM DRIVER +M: Rafał Miłecki zajec5@gmail.com +L: linux-mips@linux-mips.org +S: Maintained +F: drivers/firmware/broadcom/* + +BROADCOM STB NAND FLASH DRIVER +M: Brian Norris computersforpeace@gmail.com +M: Kamal Dasu kdasu.kdev@gmail.com +L: linux-mtd@lists.infradead.org +L: bcm-kernel-feedback-list@broadcom.com +S: Maintained +F: drivers/mtd/nand/brcmnand/ + +BROADCOM SPECIFIC AMBA DRIVER (BCMA) +M: Rafał Miłecki zajec5@gmail.com +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/bcma/ +F: include/linux/bcma/ + +BROADCOM SYSTEMPORT ETHERNET DRIVER +M: Florian Fainelli f.fainelli@gmail.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/broadcom/bcmsysport.* + +BROADCOM VULCAN ARM64 SOC +M: Jayachandran C. jchandra@broadcom.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: bcm-kernel-feedback-list@broadcom.com +S: Maintained +F: arch/arm64/boot/dts/broadcom/vulcan* + +BROCADE BFA FC SCSI DRIVER +M: Anil Gurumurthy anil.gurumurthy@qlogic.com +M: Sudarsana Kalluru sudarsana.kalluru@qlogic.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/bfa/ + +BROCADE BNA 10 GIGABIT ETHERNET DRIVER +M: Rasesh Mody rasesh.mody@qlogic.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/brocade/bna/ + +BSG (block layer generic sg v4 driver) +M: FUJITA Tomonori fujita.tomonori@lab.ntt.co.jp +L: linux-scsi@vger.kernel.org +S: Supported +F: block/bsg.c +F: include/linux/bsg.h +F: include/uapi/linux/bsg.h + +BT87X AUDIO DRIVER +M: Clemens Ladisch clemens@ladisch.de +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +T: git git://git.alsa-project.org/alsa-kernel.git +S: Maintained +F: Documentation/sound/alsa/Bt87x.txt +F: sound/pci/bt87x.c + +BT8XXGPIO DRIVER +M: Michael Buesch m@bues.ch +W: http://bu3sch.de/btgpio.php +S: Maintained +F: drivers/gpio/gpio-bt8xx.c + +BTRFS FILE SYSTEM +M: Chris Mason clm@fb.com +M: Josef Bacik jbacik@fb.com +M: David Sterba dsterba@suse.com +L: linux-btrfs@vger.kernel.org +W: http://btrfs.wiki.kernel.org/ +Q: http://patchwork.kernel.org/project/linux-btrfs/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git +S: Maintained +F: Documentation/filesystems/btrfs.txt +F: fs/btrfs/ + +BTTV VIDEO4LINUX DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Odd fixes +F: Documentation/video4linux/bttv/ +F: drivers/media/pci/bt8xx/bttv* + +BUSLOGIC SCSI DRIVER +M: Khalid Aziz khalid@gonehiking.org +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/BusLogic.* +F: drivers/scsi/FlashPoint.* + +C-MEDIA CMI8788 DRIVER +M: Clemens Ladisch clemens@ladisch.de +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +T: git git://git.alsa-project.org/alsa-kernel.git +S: Maintained +F: sound/pci/oxygen/ + +C6X ARCHITECTURE +M: Mark Salter msalter@redhat.com +M: Aurelien Jacquiot a-jacquiot@ti.com +L: linux-c6x-dev@linux-c6x.org +W: http://www.linux-c6x.org/wiki/index.php/Main_Page +S: Maintained +F: arch/c6x/ + +CACHEFILES: FS-CACHE BACKEND FOR CACHING ON MOUNTED FILESYSTEMS +M: David Howells dhowells@redhat.com +L: linux-cachefs@redhat.com (moderated for non-subscribers) +S: Supported +F: Documentation/filesystems/caching/cachefiles.txt +F: fs/cachefiles/ + +CADET FM/AM RADIO RECEIVER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-cadet* + +CAFE CMOS INTEGRATED CAMERA CONTROLLER DRIVER +M: Jonathan Corbet corbet@lwn.net +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: Documentation/video4linux/cafe_ccic +F: drivers/media/platform/marvell-ccic/ + +CAIF NETWORK LAYER +M: Dmitry Tarnyagin dmitry.tarnyagin@lockless.no +L: netdev@vger.kernel.org +S: Supported +F: Documentation/networking/caif/ +F: drivers/net/caif/ +F: include/uapi/linux/caif/ +F: include/net/caif/ +F: net/caif/ + +CALGARY x86-64 IOMMU +M: Muli Ben-Yehuda muli@il.ibm.com +M: "Jon D. Mason" jdmason@kudzu.us +L: discuss@x86-64.org +S: Maintained +F: arch/x86/kernel/pci-calgary_64.c +F: arch/x86/kernel/tce_64.c +F: arch/x86/include/asm/calgary.h +F: arch/x86/include/asm/tce.h + +CAN NETWORK LAYER +M: Oliver Hartkopp socketcan@hartkopp.net +M: Marc Kleine-Budde mkl@pengutronix.de +L: linux-can@vger.kernel.org +W: https://github.com/linux-can +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git +S: Maintained +F: Documentation/networking/can.txt +F: net/can/ +F: include/linux/can/core.h +F: include/uapi/linux/can.h +F: include/uapi/linux/can/bcm.h +F: include/uapi/linux/can/raw.h +F: include/uapi/linux/can/gw.h + +CAN NETWORK DRIVERS +M: Wolfgang Grandegger wg@grandegger.com +M: Marc Kleine-Budde mkl@pengutronix.de +L: linux-can@vger.kernel.org +W: https://github.com/linux-can +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git +S: Maintained +F: drivers/net/can/ +F: include/linux/can/dev.h +F: include/linux/can/platform/ +F: include/uapi/linux/can/error.h +F: include/uapi/linux/can/netlink.h + +CAPABILITIES +M: Serge Hallyn serge.hallyn@canonical.com +L: linux-security-module@vger.kernel.org +S: Supported +F: include/linux/capability.h +F: include/uapi/linux/capability.h +F: security/commoncap.c +F: kernel/capability.c + +CAPELLA MICROSYSTEMS LIGHT SENSOR DRIVER +M: Kevin Tsai ktsai@capellamicro.com +S: Maintained +F: drivers/iio/light/cm* +F: Documentation/devicetree/bindings/i2c/trivial-devices.txt + +CAVIUM LIQUIDIO NETWORK DRIVER +M: Derek Chickles derek.chickles@caviumnetworks.com +M: Satanand Burla satananda.burla@caviumnetworks.com +M: Felix Manlunas felix.manlunas@caviumnetworks.com +M: Raghu Vatsavayi raghu.vatsavayi@caviumnetworks.com +L: netdev@vger.kernel.org +W: http://www.cavium.com +S: Supported +F: drivers/net/ethernet/cavium/liquidio/ + +CC2520 IEEE-802.15.4 RADIO DRIVER +M: Varka Bhadram varkabhadram@gmail.com +L: linux-wpan@vger.kernel.org +S: Maintained +F: drivers/net/ieee802154/cc2520.c +F: include/linux/spi/cc2520.h +F: Documentation/devicetree/bindings/net/ieee802154/cc2520.txt + +CELL BROADBAND ENGINE ARCHITECTURE +M: Arnd Bergmann arnd@arndb.de +L: linuxppc-dev@lists.ozlabs.org +W: http://www.ibm.com/developerworks/power/cell/ +S: Supported +F: arch/powerpc/include/asm/cell*.h +F: arch/powerpc/include/asm/spu*.h +F: arch/powerpc/include/uapi/asm/spu*.h +F: arch/powerpc/oprofile/*cell* +F: arch/powerpc/platforms/cell/ + +CEPH COMMON CODE (LIBCEPH) +M: Ilya Dryomov idryomov@gmail.com +M: "Yan, Zheng" zyan@redhat.com +M: Sage Weil sage@redhat.com +L: ceph-devel@vger.kernel.org +W: http://ceph.com/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git +T: git git://github.com/ceph/ceph-client.git +S: Supported +F: net/ceph/ +F: include/linux/ceph/ +F: include/linux/crush/ + +CEPH DISTRIBUTED FILE SYSTEM CLIENT (CEPH) +M: "Yan, Zheng" zyan@redhat.com +M: Sage Weil sage@redhat.com +M: Ilya Dryomov idryomov@gmail.com +L: ceph-devel@vger.kernel.org +W: http://ceph.com/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git +T: git git://github.com/ceph/ceph-client.git +S: Supported +F: Documentation/filesystems/ceph.txt +F: fs/ceph/ + +CERTIFICATE HANDLING: +M: David Howells dhowells@redhat.com +M: David Woodhouse dwmw2@infradead.org +L: keyrings@vger.kernel.org +S: Maintained +F: Documentation/module-signing.txt +F: certs/ +F: scripts/sign-file.c +F: scripts/extract-cert.c + +CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM: +L: linux-usb@vger.kernel.org +S: Orphan +F: Documentation/usb/WUSB-Design-overview.txt +F: Documentation/usb/wusb-cbaf +F: drivers/usb/host/hwa-hc.c +F: drivers/usb/host/whci/ +F: drivers/usb/wusbcore/ +F: include/linux/usb/wusb* + +CFAG12864B LCD DRIVER +M: Miguel Ojeda Sandonis miguel.ojeda.sandonis@gmail.com +W: http://miguelojeda.es/auxdisplay.htm +W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm +S: Maintained +F: drivers/auxdisplay/cfag12864b.c +F: include/linux/cfag12864b.h + +CFAG12864BFB LCD FRAMEBUFFER DRIVER +M: Miguel Ojeda Sandonis miguel.ojeda.sandonis@gmail.com +W: http://miguelojeda.es/auxdisplay.htm +W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm +S: Maintained +F: drivers/auxdisplay/cfag12864bfb.c +F: include/linux/cfag12864b.h + +CFG80211 and NL80211 +M: Johannes Berg johannes@sipsolutions.net +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git +S: Maintained +F: include/uapi/linux/nl80211.h +F: include/net/cfg80211.h +F: net/wireless/* +X: net/wireless/wext* + +CHAR and MISC DRIVERS +M: Arnd Bergmann arnd@arndb.de +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git +S: Supported +F: drivers/char/* +F: drivers/misc/* +F: include/linux/miscdevice.h + +CHECKPATCH +M: Andy Whitcroft apw@canonical.com +M: Joe Perches joe@perches.com +S: Maintained +F: scripts/checkpatch.pl + +CHINESE DOCUMENTATION +M: Harry Wei harryxiyou@gmail.com +L: xiyoulinuxkernelgroup@googlegroups.com (subscribers-only) +L: linux-kernel@zh-kernel.org (moderated for non-subscribers) +S: Maintained +F: Documentation/zh_CN/ + +CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER +M: Peter Chen Peter.Chen@nxp.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/chipidea/ + +CHIPONE ICN8318 I2C TOUCHSCREEN DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-input@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt +F: drivers/input/touchscreen/chipone_icn8318.c + +CHROME HARDWARE PLATFORM SUPPORT +M: Olof Johansson olof@lixom.net +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform.git +F: drivers/platform/chrome/ + +CISCO VIC ETHERNET NIC DRIVER +M: Christian Benvenuti benve@cisco.com +M: Sujith Sankar ssujith@cisco.com +M: Govindarajulu Varadarajan _govind@gmx.com +M: Neel Patel neepatel@cisco.com +S: Supported +F: drivers/net/ethernet/cisco/enic/ + +CISCO VIC LOW LATENCY NIC DRIVER +M: Christian Benvenuti benve@cisco.com +M: Dave Goodell dgoodell@cisco.com +S: Supported +F: drivers/infiniband/hw/usnic/ + +CIRRUS LOGIC EP93XX ETHERNET DRIVER +M: Hartley Sweeten hsweeten@visionengravers.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/cirrus/ep93xx_eth.c + +CIRRUS LOGIC AUDIO CODEC DRIVERS +M: Brian Austin brian.austin@cirrus.com +M: Paul Handrigan Paul.Handrigan@cirrus.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Maintained +F: sound/soc/codecs/cs* + +CLEANCACHE API +M: Konrad Rzeszutek Wilk konrad.wilk@oracle.com +L: linux-kernel@vger.kernel.org +S: Maintained +F: mm/cleancache.c +F: include/linux/cleancache.h + +CLK API +M: Russell King linux@armlinux.org.uk +L: linux-clk@vger.kernel.org +S: Maintained +F: include/linux/clk.h + +CLOCKSOURCE, CLOCKEVENT DRIVERS +M: Daniel Lezcano daniel.lezcano@linaro.org +M: Thomas Gleixner tglx@linutronix.de +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core +S: Supported +F: drivers/clocksource + +CISCO FCOE HBA DRIVER +M: Hiral Patel hiralpat@cisco.com +M: Suma Ramars sramars@cisco.com +M: Brian Uchino buchino@cisco.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/fnic/ + +CISCO SCSI HBA DRIVER +M: Narsimhulu Musini nmusini@cisco.com +M: Sesidhar Baddela sebaddel@cisco.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/snic/ + +CMPC ACPI DRIVER +M: Thadeu Lima de Souza Cascardo cascardo@holoscopio.com +M: Daniel Oliveira Nascimento don@syst.com.br +L: platform-driver-x86@vger.kernel.org +S: Supported +F: drivers/platform/x86/classmate-laptop.c + +COBALT MEDIA DRIVER +M: Hans Verkuil hans.verkuil@cisco.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Supported +F: drivers/media/pci/cobalt/ + +COCCINELLE/Semantic Patches (SmPL) +M: Julia Lawall Julia.Lawall@lip6.fr +M: Gilles Muller Gilles.Muller@lip6.fr +M: Nicolas Palix nicolas.palix@imag.fr +M: Michal Marek mmarek@suse.com +L: cocci@systeme.lip6.fr (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc +W: http://coccinelle.lip6.fr/ +S: Supported +F: Documentation/coccinelle.txt +F: scripts/coccinelle/ +F: scripts/coccicheck + +CODA FILE SYSTEM +M: Jan Harkes jaharkes@cs.cmu.edu +M: coda@cs.cmu.edu +L: codalist@coda.cs.cmu.edu +W: http://www.coda.cs.cmu.edu/ +S: Maintained +F: Documentation/filesystems/coda.txt +F: fs/coda/ +F: include/linux/coda*.h +F: include/uapi/linux/coda*.h + +CODA V4L2 MEM2MEM DRIVER +M: Philipp Zabel p.zabel@pengutronix.de +L: linux-media@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/media/coda.txt +F: drivers/media/platform/coda/ + +COMMON CLK FRAMEWORK +M: Michael Turquette mturquette@baylibre.com +M: Stephen Boyd sboyd@codeaurora.org +L: linux-clk@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git +S: Maintained +F: Documentation/devicetree/bindings/clock/ +F: drivers/clk/ +X: drivers/clk/clkdev.c +F: include/linux/clk-pr* +F: include/linux/clk/ + +COMMON INTERNET FILE SYSTEM (CIFS) +M: Steve French sfrench@samba.org +L: linux-cifs@vger.kernel.org +L: samba-technical@lists.samba.org (moderated for non-subscribers) +W: http://linux-cifs.samba.org/ +T: git git://git.samba.org/sfrench/cifs-2.6.git +S: Supported +F: Documentation/filesystems/cifs/ +F: fs/cifs/ + +COMPACTPCI HOTPLUG CORE +M: Scott Murray scott@spiteful.org +L: linux-pci@vger.kernel.org +S: Maintained +F: drivers/pci/hotplug/cpci_hotplug* + +COMPACTPCI HOTPLUG ZIATECH ZT5550 DRIVER +M: Scott Murray scott@spiteful.org +L: linux-pci@vger.kernel.org +S: Maintained +F: drivers/pci/hotplug/cpcihp_zt5550.* + +COMPACTPCI HOTPLUG GENERIC DRIVER +M: Scott Murray scott@spiteful.org +L: linux-pci@vger.kernel.org +S: Maintained +F: drivers/pci/hotplug/cpcihp_generic.c + +COMPAL LAPTOP SUPPORT +M: Cezary Jackiewicz cezary.jackiewicz@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/compal-laptop.c + +CONEXANT ACCESSRUNNER USB DRIVER +L: accessrunner-general@lists.sourceforge.net +W: http://accessrunner.sourceforge.net/ +S: Orphan +F: drivers/usb/atm/cxacru.c + +CONFIGFS +M: Joel Becker jlbec@evilplan.org +M: Christoph Hellwig hch@lst.de +T: git git://git.infradead.org/users/hch/configfs.git +S: Supported +F: fs/configfs/ +F: include/linux/configfs.h + +CONNECTOR +M: Evgeniy Polyakov zbr@ioremap.net +L: netdev@vger.kernel.org +S: Maintained +F: drivers/connector/ + +CONTROL GROUP (CGROUP) +M: Tejun Heo tj@kernel.org +M: Li Zefan lizefan@huawei.com +M: Johannes Weiner hannes@cmpxchg.org +L: cgroups@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git +S: Maintained +F: Documentation/cgroups/ +F: include/linux/cgroup* +F: kernel/cgroup* + +CONTROL GROUP - CPUSET +M: Li Zefan lizefan@huawei.com +L: cgroups@vger.kernel.org +W: http://www.bullopensource.org/cpuset/ +W: http://oss.sgi.com/projects/cpusets/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git +S: Maintained +F: Documentation/cgroups/cpusets.txt +F: include/linux/cpuset.h +F: kernel/cpuset.c + +CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG) +M: Johannes Weiner hannes@cmpxchg.org +M: Michal Hocko mhocko@kernel.org +M: Vladimir Davydov vdavydov@virtuozzo.com +L: cgroups@vger.kernel.org +L: linux-mm@kvack.org +S: Maintained +F: mm/memcontrol.c +F: mm/swap_cgroup.c + +CORETEMP HARDWARE MONITORING DRIVER +M: Fenghua Yu fenghua.yu@intel.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/coretemp +F: drivers/hwmon/coretemp.c + +COSA/SRP SYNC SERIAL DRIVER +M: Jan "Yenya" Kasprzak kas@fi.muni.cz +W: http://www.fi.muni.cz/~kas/cosa/ +S: Maintained +F: drivers/net/wan/cosa* + +CPMAC ETHERNET DRIVER +M: Florian Fainelli florian@openwrt.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/ti/cpmac.c + +CPU FREQUENCY DRIVERS +M: "Rafael J. Wysocki" rjw@rjwysocki.net +M: Viresh Kumar viresh.kumar@linaro.org +L: linux-pm@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git +T: git git://git.linaro.org/people/vireshk/linux.git (For ARM Updates) +F: drivers/cpufreq/ +F: include/linux/cpufreq.h + +CPU FREQUENCY DRIVERS - ARM BIG LITTLE +M: Viresh Kumar viresh.kumar@linaro.org +M: Sudeep Holla sudeep.holla@arm.com +L: linux-pm@vger.kernel.org +W: http://www.arm.com/products/processors/technologies/biglittleprocessing.php +S: Maintained +F: drivers/cpufreq/arm_big_little.h +F: drivers/cpufreq/arm_big_little.c +F: drivers/cpufreq/arm_big_little_dt.c + +CPUIDLE DRIVER - ARM BIG LITTLE +M: Lorenzo Pieralisi lorenzo.pieralisi@arm.com +M: Daniel Lezcano daniel.lezcano@linaro.org +L: linux-pm@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git +S: Maintained +F: drivers/cpuidle/cpuidle-big_little.c + +CPUIDLE DRIVER - ARM EXYNOS +M: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com +M: Daniel Lezcano daniel.lezcano@linaro.org +M: Kukjin Kim kgene@kernel.org +L: linux-pm@vger.kernel.org +L: linux-samsung-soc@vger.kernel.org +S: Supported +F: drivers/cpuidle/cpuidle-exynos.c +F: arch/arm/mach-exynos/pm.c + +CPUIDLE DRIVERS +M: "Rafael J. Wysocki" rjw@rjwysocki.net +M: Daniel Lezcano daniel.lezcano@linaro.org +L: linux-pm@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git +F: drivers/cpuidle/* +F: include/linux/cpuidle.h + +CPUID/MSR DRIVER +M: "H. Peter Anvin" hpa@zytor.com +S: Maintained +F: arch/x86/kernel/cpuid.c +F: arch/x86/kernel/msr.c + +CPU POWER MONITORING SUBSYSTEM +M: Thomas Renninger trenn@suse.com +L: linux-pm@vger.kernel.org +S: Maintained +F: tools/power/cpupower/ + +CRAMFS FILESYSTEM +W: http://sourceforge.net/projects/cramfs/ +S: Orphan / Obsolete +F: Documentation/filesystems/cramfs.txt +F: fs/cramfs/ + +CRIS PORT +M: Mikael Starvik starvik@axis.com +M: Jesper Nilsson jesper.nilsson@axis.com +L: linux-cris-kernel@axis.com +W: http://developer.axis.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris.git +S: Maintained +F: arch/cris/ +F: drivers/tty/serial/crisv10.* + +CRYPTO API +M: Herbert Xu herbert@gondor.apana.org.au +M: "David S. Miller" davem@davemloft.net +L: linux-crypto@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git +S: Maintained +F: Documentation/crypto/ +F: Documentation/DocBook/crypto-API.tmpl +F: arch/*/crypto/ +F: crypto/ +F: drivers/crypto/ +F: include/crypto/ + +CRYPTOGRAPHIC RANDOM NUMBER GENERATOR +M: Neil Horman nhorman@tuxdriver.com +L: linux-crypto@vger.kernel.org +S: Maintained +F: crypto/ansi_cprng.c +F: crypto/rng.c + +CS3308 MEDIA DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: http://linuxtv.org +S: Odd Fixes +F: drivers/media/i2c/cs3308.c +F: drivers/media/i2c/cs3308.h + +CS5535 Audio ALSA driver +M: Jaya Kumar jayakumar.alsa@gmail.com +S: Maintained +F: sound/pci/cs5535audio/ + +CW1200 WLAN driver +M: Solomon Peachy pizza@shaftnet.org +S: Maintained +F: drivers/net/wireless/st/cw1200/ + +CX18 VIDEO4LINUX DRIVER +M: Andy Walls awalls@md.metrocast.net +L: ivtv-devel@ivtvdriver.org (subscribers-only) +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +W: http://www.ivtvdriver.org/index.php/Cx18 +S: Maintained +F: Documentation/video4linux/cx18.txt +F: drivers/media/pci/cx18/ +F: include/uapi/linux/ivtv* + +CX2341X MPEG ENCODER HELPER MODULE +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/common/cx2341x* +F: include/media/cx2341x* + +CX24120 MEDIA DRIVER +M: Jemma Denson jdenson@gmail.com +M: Patrick Boettcher patrick.boettcher@posteo.de +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +S: Maintained +F: drivers/media/dvb-frontends/cx24120* + +CX88 VIDEO4LINUX DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Odd fixes +F: Documentation/video4linux/cx88/ +F: drivers/media/pci/cx88/ + +CXD2820R MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/cxd2820r* + +CXGB3 ETHERNET DRIVER (CXGB3) +M: Santosh Raspatur santosh@chelsio.com +L: netdev@vger.kernel.org +W: http://www.chelsio.com +S: Supported +F: drivers/net/ethernet/chelsio/cxgb3/ + +CXGB3 ISCSI DRIVER (CXGB3I) +M: Karen Xie kxie@chelsio.com +L: linux-scsi@vger.kernel.org +W: http://www.chelsio.com +S: Supported +F: drivers/scsi/cxgbi/cxgb3i + +CXGB3 IWARP RNIC DRIVER (IW_CXGB3) +M: Steve Wise swise@chelsio.com +L: linux-rdma@vger.kernel.org +W: http://www.openfabrics.org +S: Supported +F: drivers/infiniband/hw/cxgb3/ + +CXGB4 ETHERNET DRIVER (CXGB4) +M: Hariprasad S hariprasad@chelsio.com +L: netdev@vger.kernel.org +W: http://www.chelsio.com +S: Supported +F: drivers/net/ethernet/chelsio/cxgb4/ + +CXGB4 ISCSI DRIVER (CXGB4I) +M: Karen Xie kxie@chelsio.com +L: linux-scsi@vger.kernel.org +W: http://www.chelsio.com +S: Supported +F: drivers/scsi/cxgbi/cxgb4i + +CXGB4 IWARP RNIC DRIVER (IW_CXGB4) +M: Steve Wise swise@chelsio.com +L: linux-rdma@vger.kernel.org +W: http://www.openfabrics.org +S: Supported +F: drivers/infiniband/hw/cxgb4/ + +CXGB4VF ETHERNET DRIVER (CXGB4VF) +M: Casey Leedom leedom@chelsio.com +L: netdev@vger.kernel.org +W: http://www.chelsio.com +S: Supported +F: drivers/net/ethernet/chelsio/cxgb4vf/ + +CXL (IBM Coherent Accelerator Processor Interface CAPI) DRIVER +M: Ian Munsie imunsie@au1.ibm.com +M: Michael Neuling mikey@neuling.org +L: linuxppc-dev@lists.ozlabs.org +S: Supported +F: drivers/misc/cxl/ +F: include/misc/cxl* +F: include/uapi/misc/cxl.h +F: Documentation/powerpc/cxl.txt +F: Documentation/powerpc/cxl.txt +F: Documentation/ABI/testing/sysfs-class-cxl + +CXLFLASH (IBM Coherent Accelerator Processor Interface CAPI Flash) SCSI DRIVER +M: Manoj N. Kumar manoj@linux.vnet.ibm.com +M: Matthew R. Ochs mrochs@linux.vnet.ibm.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/cxlflash/ +F: include/uapi/scsi/cxlflash_ioctls.h +F: Documentation/powerpc/cxlflash.txt + +STMMAC ETHERNET DRIVER +M: Giuseppe Cavallaro peppe.cavallaro@st.com +M: Alexandre Torgue alexandre.torgue@st.com +L: netdev@vger.kernel.org +W: http://www.stlinux.com +S: Supported +F: drivers/net/ethernet/stmicro/stmmac/ + +CYBERPRO FB DRIVER +M: Russell King linux@armlinux.org.uk +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.armlinux.org.uk/ +S: Maintained +F: drivers/video/fbdev/cyber2000fb.* + +CYCLADES ASYNC MUX DRIVER +W: http://www.cyclades.com/ +S: Orphan +F: drivers/tty/cyclades.c +F: include/linux/cyclades.h +F: include/uapi/linux/cyclades.h + +CYCLADES PC300 DRIVER +W: http://www.cyclades.com/ +S: Orphan +F: drivers/net/wan/pc300* + +CYPRESS_FIRMWARE MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/common/cypress_firmware* + +CYTTSP TOUCHSCREEN DRIVER +M: Ferruh Yigit fery@cypress.com +L: linux-input@vger.kernel.org +S: Supported +F: drivers/input/touchscreen/cyttsp* +F: include/linux/input/cyttsp.h + +DALLAS/MAXIM DS1685-FAMILY REAL TIME CLOCK +M: Joshua Kinard kumba@gentoo.org +S: Maintained +F: drivers/rtc/rtc-ds1685.c +F: include/linux/rtc/ds1685.h + +DAMA SLAVE for AX.25 +M: Joerg Reuter jreuter@yaina.de +W: http://yaina.de/jreuter/ +W: http://www.qsl.net/dl1bke/ +L: linux-hams@vger.kernel.org +S: Maintained +F: net/ax25/af_ax25.c +F: net/ax25/ax25_dev.c +F: net/ax25/ax25_ds_* +F: net/ax25/ax25_in.c +F: net/ax25/ax25_out.c +F: net/ax25/ax25_timer.c +F: net/ax25/sysctl_net_ax25.c + +DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER +L: netdev@vger.kernel.org +S: Orphan +F: Documentation/networking/dmfe.txt +F: drivers/net/ethernet/dec/tulip/dmfe.c + +DC390/AM53C974 SCSI driver +M: Hannes Reinecke hare@suse.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/am53c974.c + +DC395x SCSI driver +M: Oliver Neukum oliver@neukum.org +M: Ali Akcaagac aliakc@web.de +M: Jamie Lenehan lenehan@twibble.org +L: dc395x@twibble.org +W: http://twibble.org/dist/dc395x/ +W: http://lists.twibble.org/mailman/listinfo/dc395x/ +S: Maintained +F: Documentation/scsi/dc395x.txt +F: drivers/scsi/dc395x.* + +DCCP PROTOCOL +M: Gerrit Renker gerrit@erg.abdn.ac.uk +L: dccp@vger.kernel.org +W: http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp +S: Maintained +F: include/linux/dccp.h +F: include/uapi/linux/dccp.h +F: include/linux/tfrc.h +F: net/dccp/ + +DECnet NETWORK LAYER +W: http://linux-decnet.sourceforge.net +L: linux-decnet-user@lists.sourceforge.net +S: Orphan +F: Documentation/networking/decnet.txt +F: net/decnet/ + +DECSTATION PLATFORM SUPPORT +M: "Maciej W. Rozycki" macro@linux-mips.org +L: linux-mips@linux-mips.org +W: http://www.linux-mips.org/wiki/DECstation +S: Maintained +F: arch/mips/dec/ +F: arch/mips/include/asm/dec/ +F: arch/mips/include/asm/mach-dec/ + +DEFXX FDDI NETWORK DRIVER +M: "Maciej W. Rozycki" macro@linux-mips.org +S: Maintained +F: drivers/net/fddi/defxx.* + +DELL LAPTOP DRIVER +M: Matthew Garrett mjg59@srcf.ucam.org +M: Pali Rohár pali.rohar@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/dell-laptop.c + +DELL LAPTOP RBTN DRIVER +M: Pali Rohár pali.rohar@gmail.com +S: Maintained +F: drivers/platform/x86/dell-rbtn.* + +DELL LAPTOP FREEFALL DRIVER +M: Pali Rohár pali.rohar@gmail.com +S: Maintained +F: drivers/platform/x86/dell-smo8800.c + +DELL LAPTOP SMM DRIVER +M: Pali Rohár pali.rohar@gmail.com +S: Maintained +F: drivers/hwmon/dell-smm-hwmon.c +F: include/uapi/linux/i8k.h + +DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas) +M: Doug Warzecha Douglas_Warzecha@dell.com +S: Maintained +F: Documentation/dcdbas.txt +F: drivers/firmware/dcdbas.* + +DELL WMI EXTRAS DRIVER +M: Matthew Garrett mjg59@srcf.ucam.org +M: Pali Rohár pali.rohar@gmail.com +S: Maintained +F: drivers/platform/x86/dell-wmi.c + +DESIGNWARE USB2 DRD IP DRIVER +M: John Youn johnyoun@synopsys.com +L: linux-usb@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git +S: Maintained +F: drivers/usb/dwc2/ + +DESIGNWARE USB3 DRD IP DRIVER +M: Felipe Balbi balbi@kernel.org +L: linux-usb@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git +S: Maintained +F: drivers/usb/dwc3/ + +DEVICE COREDUMP (DEV_COREDUMP) +M: Johannes Berg johannes@sipsolutions.net +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/base/devcoredump.c +F: include/linux/devcoredump.h + +DEVICE FREQUENCY (DEVFREQ) +M: MyungJoo Ham myungjoo.ham@samsung.com +M: Kyungmin Park kyungmin.park@samsung.com +L: linux-pm@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git +S: Maintained +F: drivers/devfreq/ +F: include/linux/devfreq.h +F: Documentation/devicetree/bindings/devfreq/ + +DEVICE FREQUENCY EVENT (DEVFREQ-EVENT) +M: Chanwoo Choi cw00.choi@samsung.com +L: linux-pm@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git +S: Supported +F: drivers/devfreq/event/ +F: drivers/devfreq/devfreq-event.c +F: include/linux/devfreq-event.h +F: Documentation/devicetree/bindings/devfreq/event/ + +BUS FREQUENCY DRIVER FOR SAMSUNG EXYNOS +M: Chanwoo Choi cw00.choi@samsung.com +L: linux-pm@vger.kernel.org +L: linux-samsung-soc@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git +S: Maintained +F: drivers/devfreq/exynos-bus.c +F: Documentation/devicetree/bindings/devfreq/exynos-bus.txt + +DEVICE NUMBER REGISTRY +M: Torben Mathiasen device@lanana.org +W: http://lanana.org/docs/device-list/index.html +S: Maintained + +DEVICE-MAPPER (LVM) +M: Alasdair Kergon agk@redhat.com +M: Mike Snitzer snitzer@redhat.com +M: dm-devel@redhat.com +L: dm-devel@redhat.com +W: http://sources.redhat.com/dm +Q: http://patchwork.kernel.org/project/dm-devel/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git +T: quilt http://people.redhat.com/agk/patches/linux/editing/ +S: Maintained +F: Documentation/device-mapper/ +F: drivers/md/dm* +F: drivers/md/persistent-data/ +F: include/linux/device-mapper.h +F: include/linux/dm-*.h +F: include/uapi/linux/dm-*.h + +DEVLINK +M: Jiri Pirko jiri@mellanox.com +L: netdev@vger.kernel.org +S: Supported +F: net/core/devlink.c +F: include/net/devlink.h +F: include/uapi/linux/devlink.h + +DIALOG SEMICONDUCTOR DRIVERS +M: Support Opensource support.opensource@diasemi.com +W: http://www.dialog-semiconductor.com/products +S: Supported +F: Documentation/hwmon/da90?? +F: Documentation/devicetree/bindings/sound/da[79]*.txt +F: drivers/gpio/gpio-da90??.c +F: drivers/hwmon/da90??-hwmon.c +F: drivers/iio/adc/da91??-*.c +F: drivers/input/misc/da90??_onkey.c +F: drivers/input/touchscreen/da9052_tsi.c +F: drivers/leds/leds-da90??.c +F: drivers/mfd/da903x.c +F: drivers/mfd/da90??-*.c +F: drivers/mfd/da91??-*.c +F: drivers/power/da9052-battery.c +F: drivers/power/da91??-*.c +F: drivers/regulator/da903x.c +F: drivers/regulator/da9???-regulator.[ch] +F: drivers/rtc/rtc-da90??.c +F: drivers/video/backlight/da90??_bl.c +F: drivers/watchdog/da90??_wdt.c +F: include/linux/mfd/da903x.h +F: include/linux/mfd/da9052/ +F: include/linux/mfd/da9055/ +F: include/linux/mfd/da9063/ +F: include/linux/mfd/da9150/ +F: include/sound/da[79]*.h +F: sound/soc/codecs/da[79]*.[ch] + +DIGI NEO AND CLASSIC PCI PRODUCTS +M: Lidza Louina lidza.louina@gmail.com +M: Mark Hounschell markh@compro.net +L: driverdev-devel@linuxdriverproject.org +S: Maintained +F: drivers/staging/dgnc/ + +DIOLAN U2C-12 I2C DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/i2c/busses/i2c-diolan-u2c.c + +DIRECT ACCESS (DAX) +M: Matthew Wilcox willy@linux.intel.com +L: linux-fsdevel@vger.kernel.org +S: Supported +F: fs/dax.c + +DIRECTORY NOTIFICATION (DNOTIFY) +M: Eric Paris eparis@parisplace.org +S: Maintained +F: Documentation/filesystems/dnotify.txt +F: fs/notify/dnotify/ +F: include/linux/dnotify.h + +DISK GEOMETRY AND PARTITION HANDLING +M: Andries Brouwer aeb@cwi.nl +W: http://www.win.tue.nl/~aeb/linux/Large-Disk.html +W: http://www.win.tue.nl/~aeb/linux/zip/zip-1.html +W: http://www.win.tue.nl/~aeb/partitions/partition_types-1.html +S: Maintained + +DISKQUOTA +M: Jan Kara jack@suse.com +S: Maintained +F: Documentation/filesystems/quota.txt +F: fs/quota/ +F: include/linux/quota*.h +F: include/uapi/linux/quota*.h + +DISPLAYLINK USB 2.0 FRAMEBUFFER DRIVER (UDLFB) +M: Bernie Thompson bernie@plugable.com +L: linux-fbdev@vger.kernel.org +S: Maintained +W: http://plugable.com/category/projects/udlfb/ +F: drivers/video/fbdev/udlfb.c +F: include/video/udlfb.h +F: Documentation/fb/udlfb.txt + +DISTRIBUTED LOCK MANAGER (DLM) +M: Christine Caulfield ccaulfie@redhat.com +M: David Teigland teigland@redhat.com +L: cluster-devel@redhat.com +W: http://sources.redhat.com/cluster/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm.git +S: Supported +F: fs/dlm/ + +DMA BUFFER SHARING FRAMEWORK +M: Sumit Semwal sumit.semwal@linaro.org +S: Maintained +L: linux-media@vger.kernel.org +L: dri-devel@lists.freedesktop.org +L: linaro-mm-sig@lists.linaro.org (moderated for non-subscribers) +F: drivers/dma-buf/ +F: include/linux/dma-buf* +F: include/linux/reservation.h +F: include/linux/*fence.h +F: Documentation/dma-buf-sharing.txt +T: git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git + +DMA GENERIC OFFLOAD ENGINE SUBSYSTEM +M: Vinod Koul vinod.koul@intel.com +L: dmaengine@vger.kernel.org +Q: https://patchwork.kernel.org/project/linux-dmaengine/list/ +S: Maintained +F: drivers/dma/ +F: include/linux/dmaengine.h +F: Documentation/dmaengine/ +T: git git://git.infradead.org/users/vkoul/slave-dma.git + +DME1737 HARDWARE MONITOR DRIVER +M: Juerg Haefliger juergh@gmail.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/dme1737 +F: drivers/hwmon/dme1737.c + +DMI/SMBIOS SUPPORT +M: Jean Delvare jdelvare@suse.com +S: Maintained +T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/ +F: Documentation/ABI/testing/sysfs-firmware-dmi-tables +F: drivers/firmware/dmi-id.c +F: drivers/firmware/dmi_scan.c +F: include/linux/dmi.h + +DOCUMENTATION +M: Jonathan Corbet corbet@lwn.net +L: linux-doc@vger.kernel.org +S: Maintained +F: Documentation/ +F: scripts/docproc.c +F: scripts/kernel-doc* +X: Documentation/ABI/ +X: Documentation/devicetree/ +X: Documentation/acpi +X: Documentation/power +X: Documentation/spi +X: Documentation/DocBook/media +T: git git://git.lwn.net/linux.git docs-next + +DOUBLETALK DRIVER +M: "James R. Van Zandt" jrv@vanzandt.mv.com +L: blinux-list@redhat.com +S: Maintained +F: drivers/char/dtlk.c +F: include/linux/dtlk.h + +DPT_I2O SCSI RAID DRIVER +M: Adaptec OEM Raid Solutions aacraid@adaptec.com +L: linux-scsi@vger.kernel.org +W: http://www.adaptec.com/ +S: Maintained +F: drivers/scsi/dpt* +F: drivers/scsi/dpt/ + +DRBD DRIVER +M: Philipp Reisner philipp.reisner@linbit.com +M: Lars Ellenberg lars.ellenberg@linbit.com +L: drbd-dev@lists.linbit.com +W: http://www.drbd.org +T: git git://git.linbit.com/linux-drbd.git +T: git git://git.linbit.com/drbd-8.4.git +S: Supported +F: drivers/block/drbd/ +F: lib/lru_cache.c +F: Documentation/blockdev/drbd/ + +DRIVER CORE, KOBJECTS, DEBUGFS, KERNFS AND SYSFS +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git +S: Supported +F: Documentation/kobject.txt +F: drivers/base/ +F: fs/debugfs/ +F: fs/kernfs/ +F: fs/sysfs/ +F: include/linux/debugfs.h +F: include/linux/kobj* +F: lib/kobj* + +DRM DRIVERS +M: David Airlie airlied@linux.ie +L: dri-devel@lists.freedesktop.org +T: git git://people.freedesktop.org/~airlied/linux +S: Maintained +F: drivers/gpu/drm/ +F: drivers/gpu/vga/ +F: Documentation/DocBook/gpu.* +F: include/drm/ +F: include/uapi/drm/ + +DRM DRIVER FOR AST SERVER GRAPHICS CHIPS +M: Dave Airlie airlied@redhat.com +S: Odd Fixes +F: drivers/gpu/drm/ast/ + +DRM DRIVER FOR BOCHS VIRTUAL GPU +M: Gerd Hoffmann kraxel@redhat.com +S: Odd Fixes +F: drivers/gpu/drm/bochs/ + +DRM DRIVER FOR QEMU'S CIRRUS DEVICE +M: Dave Airlie airlied@redhat.com +S: Odd Fixes +F: drivers/gpu/drm/cirrus/ + +RADEON and AMDGPU DRM DRIVERS +M: Alex Deucher alexander.deucher@amd.com +M: Christian König christian.koenig@amd.com +L: dri-devel@lists.freedesktop.org +T: git git://people.freedesktop.org/~agd5f/linux +S: Supported +F: drivers/gpu/drm/radeon/ +F: include/uapi/drm/radeon_drm.h +F: drivers/gpu/drm/amd/ +F: include/uapi/drm/amdgpu_drm.h + +DRM PANEL DRIVERS +M: Thierry Reding thierry.reding@gmail.com +L: dri-devel@lists.freedesktop.org +T: git git://anongit.freedesktop.org/tegra/linux.git +S: Maintained +F: drivers/gpu/drm/drm_panel.c +F: drivers/gpu/drm/panel/ +F: include/drm/drm_panel.h +F: Documentation/devicetree/bindings/display/panel/ + +INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets) +M: Daniel Vetter daniel.vetter@intel.com +M: Jani Nikula jani.nikula@linux.intel.com +L: intel-gfx@lists.freedesktop.org +L: dri-devel@lists.freedesktop.org +W: https://01.org/linuxgraphics/ +Q: http://patchwork.freedesktop.org/project/intel-gfx/ +T: git git://anongit.freedesktop.org/drm-intel +S: Supported +F: drivers/gpu/drm/i915/ +F: include/drm/i915* +F: include/uapi/drm/i915_drm.h + +DRM DRIVERS FOR ATMEL HLCDC +M: Boris Brezillon boris.brezillon@free-electrons.com +L: dri-devel@lists.freedesktop.org +S: Supported +F: drivers/gpu/drm/atmel-hlcdc/ +F: Documentation/devicetree/bindings/drm/atmel/ + +DRM DRIVERS FOR ALLWINNER A10 +M: Maxime Ripard maxime.ripard@free-electrons.com +L: dri-devel@lists.freedesktop.org +S: Supported +F: drivers/gpu/drm/sun4i/ +F: Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt + +DRM DRIVERS FOR EXYNOS +M: Inki Dae inki.dae@samsung.com +M: Joonyoung Shim jy0922.shim@samsung.com +M: Seung-Woo Kim sw0312.kim@samsung.com +M: Kyungmin Park kyungmin.park@samsung.com +L: dri-devel@lists.freedesktop.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git +S: Supported +F: drivers/gpu/drm/exynos/ +F: include/uapi/drm/exynos_drm.h +F: Documentation/devicetree/bindings/display/exynos/ + +DRM DRIVERS FOR FREESCALE DCU +M: Stefan Agner stefan@agner.ch +M: Alison Wang alison.wang@freescale.com +L: dri-devel@lists.freedesktop.org +S: Supported +F: drivers/gpu/drm/fsl-dcu/ +F: Documentation/devicetree/bindings/display/fsl,dcu.txt +F: Documentation/devicetree/bindings/display/fsl,tcon.txt +F: Documentation/devicetree/bindings/display/panel/nec,nl4827hc19_05b.txt + +DRM DRIVERS FOR FREESCALE IMX +M: Philipp Zabel p.zabel@pengutronix.de +L: dri-devel@lists.freedesktop.org +S: Maintained +F: drivers/gpu/drm/imx/ +F: drivers/gpu/ipu-v3/ +F: Documentation/devicetree/bindings/display/imx/ + +DRM DRIVERS FOR GMA500 (Poulsbo, Moorestown and derivative chipsets) +M: Patrik Jakobsson patrik.r.jakobsson@gmail.com +L: dri-devel@lists.freedesktop.org +T: git git://github.com/patjak/drm-gma500 +S: Maintained +F: drivers/gpu/drm/gma500/ + +DRM DRIVERS FOR HISILICON +M: Xinliang Liu z.liuxinliang@hisilicon.com +R: Xinwei Kong kong.kongxinwei@hisilicon.com +R: Chen Feng puck.chen@hisilicon.com +L: dri-devel@lists.freedesktop.org +T: git git://github.com/xin3liang/linux.git +S: Maintained +F: drivers/gpu/drm/hisilicon/ +F: Documentation/devicetree/bindings/display/hisilicon/ + +DRM DRIVER FOR INTEL I810 VIDEO CARDS +S: Orphan / Obsolete +F: drivers/gpu/drm/i810/ +F: include/uapi/drm/i810_drm.h + +DRM DRIVER FOR MSM ADRENO GPU +M: Rob Clark robdclark@gmail.com +L: linux-arm-msm@vger.kernel.org +L: dri-devel@lists.freedesktop.org +L: freedreno@lists.freedesktop.org +T: git git://people.freedesktop.org/~robclark/linux +S: Maintained +F: drivers/gpu/drm/msm/ +F: include/uapi/drm/msm_drm.h +F: Documentation/devicetree/bindings/display/msm/ + +DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS +M: Ben Skeggs bskeggs@redhat.com +L: dri-devel@lists.freedesktop.org +L: nouveau@lists.freedesktop.org +T: git git://github.com/skeggsb/linux +S: Supported +F: drivers/gpu/drm/nouveau/ +F: include/uapi/drm/nouveau_drm.h + +DRM DRIVERS FOR NVIDIA TEGRA +M: Thierry Reding thierry.reding@gmail.com +L: dri-devel@lists.freedesktop.org +L: linux-tegra@vger.kernel.org +T: git git://anongit.freedesktop.org/tegra/linux.git +S: Supported +F: drivers/gpu/drm/tegra/ +F: drivers/gpu/host1x/ +F: include/linux/host1x.h +F: include/uapi/drm/tegra_drm.h +F: Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt + +DRM DRIVER FOR MATROX G200/G400 GRAPHICS CARDS +S: Orphan / Obsolete +F: drivers/gpu/drm/mga/ +F: include/uapi/drm/mga_drm.h + +DRM DRIVER FOR MGA G200 SERVER GRAPHICS CHIPS +M: Dave Airlie airlied@redhat.com +S: Odd Fixes +F: drivers/gpu/drm/mgag200/ + +DRM DRIVER FOR RAGE 128 VIDEO CARDS +S: Orphan / Obsolete +F: drivers/gpu/drm/r128/ +F: include/uapi/drm/r128_drm.h + +DRM DRIVERS FOR RENESAS +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: dri-devel@lists.freedesktop.org +L: linux-renesas-soc@vger.kernel.org +T: git git://linuxtv.org/pinchartl/fbdev +S: Supported +F: drivers/gpu/drm/rcar-du/ +F: drivers/gpu/drm/shmobile/ +F: include/linux/platform_data/shmob_drm.h +F: Documentation/devicetree/bindings/display/renesas,du.txt + +DRM DRIVER FOR QXL VIRTUAL GPU +M: Dave Airlie airlied@redhat.com +S: Odd Fixes +F: drivers/gpu/drm/qxl/ +F: include/uapi/drm/qxl_drm.h + +DRM DRIVERS FOR ROCKCHIP +M: Mark Yao mark.yao@rock-chips.com +L: dri-devel@lists.freedesktop.org +S: Maintained +F: drivers/gpu/drm/rockchip/ +F: Documentation/devicetree/bindings/display/rockchip/ + +DRM DRIVER FOR SAVAGE VIDEO CARDS +S: Orphan / Obsolete +F: drivers/gpu/drm/savage/ +F: include/uapi/drm/savage_drm.h + +DRM DRIVER FOR SIS VIDEO CARDS +S: Orphan / Obsolete +F: drivers/gpu/drm/sis/ +F: include/uapi/drm/sis_drm.h + +DRM DRIVERS FOR STI +M: Benjamin Gaignard benjamin.gaignard@linaro.org +M: Vincent Abriou vincent.abriou@st.com +L: dri-devel@lists.freedesktop.org +T: git http://git.linaro.org/people/benjamin.gaignard/kernel.git +S: Maintained +F: drivers/gpu/drm/sti +F: Documentation/devicetree/bindings/display/st,stih4xx.txt + +DRM DRIVER FOR TDFX VIDEO CARDS +S: Orphan / Obsolete +F: drivers/gpu/drm/tdfx/ + +DRM DRIVER FOR USB DISPLAYLINK VIDEO ADAPTERS +M: Dave Airlie airlied@redhat.com +S: Odd Fixes +F: drivers/gpu/drm/udl/ + +DRM DRIVERS FOR VIVANTE GPU IP +M: Lucas Stach l.stach@pengutronix.de +R: Russell King linux+etnaviv@armlinux.org.uk +R: Christian Gmeiner christian.gmeiner@gmail.com +L: dri-devel@lists.freedesktop.org +S: Maintained +F: drivers/gpu/drm/etnaviv/ +F: include/uapi/drm/etnaviv_drm.h +F: Documentation/devicetree/bindings/display/etnaviv/ + +DRM DRIVER FOR VMWARE VIRTUAL GPU +M: "VMware Graphics" linux-graphics-maintainer@vmware.com +M: Sinclair Yeh syeh@vmware.com +M: Thomas Hellstrom thellstrom@vmware.com +L: dri-devel@lists.freedesktop.org +T: git git://people.freedesktop.org/~syeh/repos_linux +T: git git://people.freedesktop.org/~thomash/linux +S: Supported +F: drivers/gpu/drm/vmwgfx/ +F: include/uapi/drm/vmwgfx_drm.h + +DRM DRIVERS FOR VC4 +M: Eric Anholt eric@anholt.net +T: git git://github.com/anholt/linux +S: Supported +F: drivers/gpu/drm/vc4/ +F: include/uapi/drm/vc4_drm.h +F: Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt + +DSBR100 USB FM RADIO DRIVER +M: Alexey Klimov klimov.linux@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/radio/dsbr100.c + +DSCC4 DRIVER +M: Francois Romieu romieu@fr.zoreil.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/wan/dscc4.c + +DT3155 MEDIA DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/pci/dt3155/ + +DVB_USB_AF9015 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/af9015* + +DVB_USB_AF9035 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/af9035* + +DVB_USB_ANYSEE MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/anysee* + +DVB_USB_AU6610 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/au6610* + +DVB_USB_CE6230 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/ce6230* + +DVB_USB_CXUSB MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb/cxusb* + +DVB_USB_EC168 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/ec168* + +DVB_USB_GL861 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/gl861* + +DVB_USB_MXL111SF MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mkrufky/mxl111sf.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/mxl111sf* + +DVB_USB_RTL28XXU MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/rtl28xxu* + +DVB_USB_V2 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/dvb-usb-v2/dvb_usb* +F: drivers/media/usb/dvb-usb-v2/usb_urb.c + +DYNAMIC DEBUG +M: Jason Baron jbaron@akamai.com +S: Maintained +F: lib/dynamic_debug.c +F: include/linux/dynamic_debug.h + +DZ DECSTATION DZ11 SERIAL DRIVER +M: "Maciej W. Rozycki" macro@linux-mips.org +S: Maintained +F: drivers/tty/serial/dz.* + +E3X0 POWER BUTTON DRIVER +M: Moritz Fischer moritz.fischer@ettus.com +L: usrp-users@lists.ettus.com +W: http://www.ettus.com +S: Supported +F: drivers/input/misc/e3x0-button.c +F: Documentation/devicetree/bindings/input/e3x0-button.txt + +E4000 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/e4000* + +EATA ISA/EISA/PCI SCSI DRIVER +M: Dario Ballabio ballabio_dario@emc.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/eata.c + +EC100 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/ec100* + +ECRYPT FILE SYSTEM +M: Tyler Hicks tyhicks@canonical.com +L: ecryptfs@vger.kernel.org +W: http://ecryptfs.org +W: https://launchpad.net/ecryptfs +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs.git +S: Supported +F: Documentation/filesystems/ecryptfs.txt +F: fs/ecryptfs/ + +EDAC-CORE +M: Doug Thompson dougthompson@xmission.com +M: Borislav Petkov bp@alien8.de +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-edac@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git for-next +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac.git linux_next +S: Supported +F: Documentation/edac.txt +F: drivers/edac/ +F: include/linux/edac.h + +EDAC-AMD64 +M: Doug Thompson dougthompson@xmission.com +M: Borislav Petkov bp@alien8.de +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/amd64_edac* + +EDAC-CALXEDA +M: Doug Thompson dougthompson@xmission.com +M: Robert Richter rric@kernel.org +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/highbank* + +EDAC-CAVIUM +M: Ralf Baechle ralf@linux-mips.org +M: David Daney david.daney@cavium.com +L: linux-edac@vger.kernel.org +L: linux-mips@linux-mips.org +S: Supported +F: drivers/edac/octeon_edac* + +EDAC-E752X +M: Mark Gross mark.gross@intel.com +M: Doug Thompson dougthompson@xmission.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/e752x_edac.c + +EDAC-E7XXX +M: Doug Thompson dougthompson@xmission.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/e7xxx_edac.c + +EDAC-GHES +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/ghes_edac.c + +EDAC-I82443BXGX +M: Tim Small tim@buttersideup.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/i82443bxgx_edac.c + +EDAC-I3000 +M: Jason Uhlenkott juhlenko@akamai.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/i3000_edac.c + +EDAC-I5000 +M: Doug Thompson dougthompson@xmission.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/i5000_edac.c + +EDAC-I5400 +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/i5400_edac.c + +EDAC-I7300 +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/i7300_edac.c + +EDAC-I7CORE +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/i7core_edac.c + +EDAC-I82975X +M: Ranganathan Desikan ravi@jetztechnologies.com +M: "Arvind R." arvino55@gmail.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/i82975x_edac.c + +EDAC-IE31200 +M: Jason Baron jbaron@akamai.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/ie31200_edac.c + +EDAC-MPC85XX +M: Johannes Thumshirn morbidrsa@gmail.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/mpc85xx_edac.[ch] + +EDAC-PASEMI +M: Egor Martovetsky egor@pasemi.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/pasemi_edac.c + +EDAC-R82600 +M: Tim Small tim@buttersideup.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/r82600_edac.c + +EDAC-SBRIDGE +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/sb_edac.c + +EDAC-XGENE +APPLIED MICRO (APM) X-GENE SOC EDAC +M: Loc Ho lho@apm.com +S: Supported +F: drivers/edac/xgene_edac.c +F: Documentation/devicetree/bindings/edac/apm-xgene-edac.txt + +EDIROL UA-101/UA-1000 DRIVER +M: Clemens Ladisch clemens@ladisch.de +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +T: git git://git.alsa-project.org/alsa-kernel.git +S: Maintained +F: sound/usb/misc/ua101.c + +EXTENSIBLE FIRMWARE INTERFACE (EFI) +M: Matt Fleming matt@codeblueprint.co.uk +L: linux-efi@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git +S: Maintained +F: Documentation/efi-stub.txt +F: arch/ia64/kernel/efi.c +F: arch/x86/boot/compressed/eboot.[ch] +F: arch/x86/include/asm/efi.h +F: arch/x86/platform/efi/ +F: drivers/firmware/efi/ +F: include/linux/efi*.h + +EFI VARIABLE FILESYSTEM +M: Matthew Garrett matthew.garrett@nebula.com +M: Jeremy Kerr jk@ozlabs.org +M: Matt Fleming matt@codeblueprint.co.uk +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git +L: linux-efi@vger.kernel.org +S: Maintained +F: fs/efivarfs/ + +EFIFB FRAMEBUFFER DRIVER +L: linux-fbdev@vger.kernel.org +M: Peter Jones pjones@redhat.com +S: Maintained +F: drivers/video/fbdev/efifb.c + +EFS FILESYSTEM +W: http://aeschi.ch.eu.org/efs/ +S: Orphan +F: fs/efs/ + +EHEA (IBM pSeries eHEA 10Gb ethernet adapter) DRIVER +M: Thadeu Lima de Souza Cascardo cascardo@linux.vnet.ibm.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/ibm/ehea/ + +EM28XX VIDEO4LINUX DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/em28xx/ + +EMBEDDED LINUX +M: Paul Gortmaker paul.gortmaker@windriver.com +M: Matt Mackall mpm@selenic.com +M: David Woodhouse dwmw2@infradead.org +L: linux-embedded@vger.kernel.org +S: Maintained + +EMULEX/AVAGO LPFC FC/FCOE SCSI DRIVER +M: James Smart james.smart@avagotech.com +M: Dick Kennedy dick.kennedy@avagotech.com +L: linux-scsi@vger.kernel.org +W: http://www.avagotech.com +S: Supported +F: drivers/scsi/lpfc/ + +ENE CB710 FLASH CARD READER DRIVER +M: Michał Mirosław mirq-linux@rere.qmqm.pl +S: Maintained +F: drivers/misc/cb710/ +F: drivers/mmc/host/cb710-mmc.* +F: include/linux/cb710.h + +ENE KB2426 (ENE0100/ENE020XX) INFRARED RECEIVER +M: Maxim Levitsky maximlevitsky@gmail.com +S: Maintained +F: drivers/media/rc/ene_ir.* + +EPSON S1D13XXX FRAMEBUFFER DRIVER +M: Kristoffer Ericson kristoffer.ericson@gmail.com +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git +F: drivers/video/fbdev/s1d13xxxfb.c +F: include/video/s1d13xxxfb.h + +ET131X NETWORK DRIVER +M: Mark Einon mark.einon@gmail.com +S: Odd Fixes +F: drivers/net/ethernet/agere/ + +ETHERNET BRIDGE +M: Stephen Hemminger stephen@networkplumber.org +L: bridge@lists.linux-foundation.org (moderated for non-subscribers) +L: netdev@vger.kernel.org +W: http://www.linuxfoundation.org/en/Net:Bridge +S: Maintained +F: include/linux/netfilter_bridge/ +F: net/bridge/ + +ETHERNET PHY LIBRARY +M: Florian Fainelli f.fainelli@gmail.com +L: netdev@vger.kernel.org +S: Maintained +F: include/linux/phy.h +F: include/linux/phy_fixed.h +F: drivers/net/phy/ +F: Documentation/networking/phy.txt +F: drivers/of/of_mdio.c +F: drivers/of/of_net.c + +EXT2 FILE SYSTEM +M: Jan Kara jack@suse.com +L: linux-ext4@vger.kernel.org +S: Maintained +F: Documentation/filesystems/ext2.txt +F: fs/ext2/ +F: include/linux/ext2* + +EXT4 FILE SYSTEM +M: "Theodore Ts'o" tytso@mit.edu +M: Andreas Dilger adilger.kernel@dilger.ca +L: linux-ext4@vger.kernel.org +W: http://ext4.wiki.kernel.org +Q: http://patchwork.ozlabs.org/project/linux-ext4/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git +S: Maintained +F: Documentation/filesystems/ext4.txt +F: fs/ext4/ + +Extended Verification Module (EVM) +M: Mimi Zohar zohar@linux.vnet.ibm.com +L: linux-ima-devel@lists.sourceforge.net +L: linux-security-module@vger.kernel.org +S: Supported +F: security/integrity/evm/ + +EXTERNAL CONNECTOR SUBSYSTEM (EXTCON) +M: MyungJoo Ham myungjoo.ham@samsung.com +M: Chanwoo Choi cw00.choi@samsung.com +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git +S: Maintained +F: drivers/extcon/ +F: include/linux/extcon/ +F: include/linux/extcon.h +F: Documentation/extcon/ +F: Documentation/devicetree/bindings/extcon/ + +EXYNOS DP DRIVER +M: Jingoo Han jingoohan1@gmail.com +L: dri-devel@lists.freedesktop.org +S: Maintained +F: drivers/gpu/drm/exynos/exynos_dp* + +EXYNOS SYSMMU (IOMMU) driver +M: Marek Szyprowski m.szyprowski@samsung.com +L: iommu@lists.linux-foundation.org +S: Maintained +F: drivers/iommu/exynos-iommu.c + +EXYNOS MIPI DISPLAY DRIVERS +M: Inki Dae inki.dae@samsung.com +M: Donghwa Lee dh09.lee@samsung.com +M: Kyungmin Park kyungmin.park@samsung.com +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/exynos/exynos_mipi* +F: include/video/exynos_mipi* + +EZchip NPS platform support +M: Noam Camus noamc@ezchip.com +S: Supported +F: arch/arc/plat-eznps +F: arch/arc/boot/dts/eznps.dts + +F71805F HARDWARE MONITORING DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/f71805f +F: drivers/hwmon/f71805f.c + +FC0011 TUNER DRIVER +M: Michael Buesch m@bues.ch +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/tuners/fc0011.h +F: drivers/media/tuners/fc0011.c + +FC2580 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/fc2580* + +FANOTIFY +M: Eric Paris eparis@redhat.com +S: Maintained +F: fs/notify/fanotify/ +F: include/linux/fanotify.h +F: include/uapi/linux/fanotify.h + +FARSYNC SYNCHRONOUS DRIVER +M: Kevin Curtis kevin.curtis@farsite.co.uk +W: http://www.farsite.co.uk/ +S: Supported +F: drivers/net/wan/farsync.* + +FAULT INJECTION SUPPORT +M: Akinobu Mita akinobu.mita@gmail.com +S: Supported +F: Documentation/fault-injection/ +F: lib/fault-inject.c + +FBTFT Framebuffer drivers +M: Thomas Petazzoni thomas.petazzoni@free-electrons.com +M: Noralf Trønnes noralf@tronnes.org +S: Maintained +F: drivers/staging/fbtft/ + +FCOE SUBSYSTEM (libfc, libfcoe, fcoe) +M: Vasu Dev vasu.dev@intel.com +L: fcoe-devel@open-fcoe.org +W: www.Open-FCoE.org +S: Supported +F: drivers/scsi/libfc/ +F: drivers/scsi/fcoe/ +F: include/scsi/fc/ +F: include/scsi/libfc.h +F: include/scsi/libfcoe.h +F: include/uapi/scsi/fc/ + +FILE LOCKING (flock() and fcntl()/lockf()) +M: Jeff Layton jlayton@poochiereds.net +M: "J. Bruce Fields" bfields@fieldses.org +L: linux-fsdevel@vger.kernel.org +S: Maintained +F: include/linux/fcntl.h +F: include/linux/fs.h +F: include/uapi/linux/fcntl.h +F: include/uapi/linux/fs.h +F: fs/fcntl.c +F: fs/locks.c + +FILESYSTEMS (VFS and infrastructure) +M: Alexander Viro viro@zeniv.linux.org.uk +L: linux-fsdevel@vger.kernel.org +S: Maintained +F: fs/* + +FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER +M: Riku Voipio riku.voipio@iki.fi +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/f75375s.c +F: include/linux/f75375s.h + +FIREWIRE AUDIO DRIVERS +M: Clemens Ladisch clemens@ladisch.de +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +T: git git://git.alsa-project.org/alsa-kernel.git +S: Maintained +F: sound/firewire/ + +FIREWIRE MEDIA DRIVERS (firedtv) +M: Stefan Richter stefanr@s5r6.in-berlin.de +L: linux-media@vger.kernel.org +L: linux1394-devel@lists.sourceforge.net +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +S: Maintained +F: drivers/media/firewire/ + +FIREWIRE SBP-2 TARGET +M: Chris Boot bootc@bootc.net +L: linux-scsi@vger.kernel.org +L: target-devel@vger.kernel.org +L: linux1394-devel@lists.sourceforge.net +T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/lio-core-2.6.git master +S: Maintained +F: drivers/target/sbp/ + +FIREWIRE SUBSYSTEM +M: Stefan Richter stefanr@s5r6.in-berlin.de +L: linux1394-devel@lists.sourceforge.net +W: http://ieee1394.wiki.kernel.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git +S: Maintained +F: drivers/firewire/ +F: include/linux/firewire.h +F: include/uapi/linux/firewire*.h +F: tools/firewire/ + +FIRMWARE LOADER (request_firmware) +M: Ming Lei ming.lei@canonical.com +L: linux-kernel@vger.kernel.org +S: Maintained +F: Documentation/firmware_class/ +F: drivers/base/firmware*.c +F: include/linux/firmware.h + +FLASH ADAPTER DRIVER (IBM Flash Adapter 900GB Full Height PCI Flash Card) +M: Joshua Morris josh.h.morris@us.ibm.com +M: Philip Kelleher pjk1939@linux.vnet.ibm.com +S: Maintained +F: drivers/block/rsxx/ + +FLOPPY DRIVER +M: Jiri Kosina jikos@kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git +S: Odd fixes +F: drivers/block/floppy.c + +FMC SUBSYSTEM +M: Alessandro Rubini rubini@gnudd.com +W: http://www.ohwr.org/projects/fmc-bus +S: Supported +F: drivers/fmc/ +F: include/linux/fmc*.h +F: include/linux/ipmi-fru.h +K: fmc_d.*register + +FPGA MANAGER FRAMEWORK +M: Alan Tull atull@opensource.altera.com +R: Moritz Fischer moritz.fischer@ettus.com +S: Maintained +F: drivers/fpga/ +F: include/linux/fpga/fpga-mgr.h +W: http://www.rocketboards.org + +FPU EMULATOR +M: Bill Metzenthen billm@melbpc.org.au +W: http://floatingpoint.sourceforge.net/emulator/index.html +S: Maintained +F: arch/x86/math-emu/ + +FRAME RELAY DLCI/FRAD (Sangoma drivers too) +L: netdev@vger.kernel.org +S: Orphan +F: drivers/net/wan/dlci.c +F: drivers/net/wan/sdla.c + +FRAMEBUFFER LAYER +M: Jean-Christophe Plagniol-Villard plagnioj@jcrosoft.com +M: Tomi Valkeinen tomi.valkeinen@ti.com +L: linux-fbdev@vger.kernel.org +W: http://linux-fbdev.sourceforge.net/ +Q: http://patchwork.kernel.org/project/linux-fbdev/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev.git +S: Maintained +F: Documentation/fb/ +F: drivers/video/ +F: include/video/ +F: include/linux/fb.h +F: include/uapi/video/ +F: include/uapi/linux/fb.h + +FREESCALE DIU FRAMEBUFFER DRIVER +M: Timur Tabi timur@tabi.org +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/fsl-diu-fb.* + +FREESCALE DMA DRIVER +M: Li Yang leoli@freescale.com +M: Zhang Wei zw@zh-kernel.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: drivers/dma/fsldma.* + +FREESCALE GPMI NAND DRIVER +M: Han Xu han.xu@nxp.com +L: linux-mtd@lists.infradead.org +S: Maintained +F: drivers/mtd/nand/gpmi-nand/* + +FREESCALE I2C CPM DRIVER +M: Jochen Friedrich jochen@scram.de +L: linuxppc-dev@lists.ozlabs.org +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/i2c/busses/i2c-cpm.c + +FREESCALE IMX / MXC FRAMEBUFFER DRIVER +M: Sascha Hauer kernel@pengutronix.de +L: linux-fbdev@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: include/linux/platform_data/video-imxfb.h +F: drivers/video/fbdev/imxfb.c + +FREESCALE QUAD SPI DRIVER +M: Han Xu han.xu@nxp.com +L: linux-mtd@lists.infradead.org +S: Maintained +F: drivers/mtd/spi-nor/fsl-quadspi.c + +FREESCALE SOC FS_ENET DRIVER +M: Pantelis Antoniou pantelis.antoniou@gmail.com +M: Vitaly Bordug vbordug@ru.mvista.com +L: linuxppc-dev@lists.ozlabs.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/freescale/fs_enet/ +F: include/linux/fs_enet_pd.h + +FREESCALE IMX / MXC FEC DRIVER +M: Fugang Duan fugang.duan@nxp.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/freescale/fec_main.c +F: drivers/net/ethernet/freescale/fec_ptp.c +F: drivers/net/ethernet/freescale/fec.h +F: Documentation/devicetree/bindings/net/fsl-fec.txt + +FREESCALE QUICC ENGINE LIBRARY +L: linuxppc-dev@lists.ozlabs.org +S: Orphan +F: drivers/soc/fsl/qe/ +F: include/soc/fsl/*qe*.h +F: include/soc/fsl/*ucc*.h + +FREESCALE USB PERIPHERAL DRIVERS +M: Li Yang leoli@freescale.com +L: linux-usb@vger.kernel.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: drivers/usb/gadget/udc/fsl* + +FREESCALE QUICC ENGINE UCC ETHERNET DRIVER +M: Li Yang leoli@freescale.com +L: netdev@vger.kernel.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: drivers/net/ethernet/freescale/ucc_geth* + +FREESCALE eTSEC ETHERNET DRIVER (GIANFAR) +M: Claudiu Manoil claudiu.manoil@freescale.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/freescale/gianfar* +X: drivers/net/ethernet/freescale/gianfar_ptp.c +F: Documentation/devicetree/bindings/net/fsl-tsec-phy.txt + +FREESCALE QUICC ENGINE UCC HDLC DRIVER +M: Zhao Qiang qiang.zhao@nxp.com +L: netdev@vger.kernel.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: drivers/net/wan/fsl_ucc_hdlc* + +FREESCALE QUICC ENGINE UCC UART DRIVER +M: Timur Tabi timur@tabi.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: drivers/tty/serial/ucc_uart.c + +FREESCALE SOC SOUND DRIVERS +M: Timur Tabi timur@tabi.org +M: Nicolin Chen nicoleotsuka@gmail.com +M: Xiubo Li Xiubo.Lee@gmail.com +R: Fabio Estevam fabio.estevam@nxp.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: sound/soc/fsl/fsl* +F: sound/soc/fsl/imx* +F: sound/soc/fsl/mpc8610_hpcd.c + +FREESCALE QORIQ MANAGEMENT COMPLEX DRIVER +M: "J. German Rivera" German.Rivera@freescale.com +M: Stuart Yoder stuart.yoder@nxp.com +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/staging/fsl-mc/ + +FREEVXFS FILESYSTEM +M: Christoph Hellwig hch@infradead.org +W: ftp://ftp.openlinux.org/pub/people/hch/vxfs +S: Maintained +F: fs/freevxfs/ + +FREEZER +M: "Rafael J. Wysocki" rjw@rjwysocki.net +M: Pavel Machek pavel@ucw.cz +L: linux-pm@vger.kernel.org +S: Supported +F: Documentation/power/freezing-of-tasks.txt +F: include/linux/freezer.h +F: kernel/freezer.c + +FRONTSWAP API +M: Konrad Rzeszutek Wilk konrad.wilk@oracle.com +L: linux-kernel@vger.kernel.org +S: Maintained +F: mm/frontswap.c +F: include/linux/frontswap.h + +FS-CACHE: LOCAL CACHING FOR NETWORK FILESYSTEMS +M: David Howells dhowells@redhat.com +L: linux-cachefs@redhat.com (moderated for non-subscribers) +S: Supported +F: Documentation/filesystems/caching/ +F: fs/fscache/ +F: include/linux/fscache*.h + +F2FS FILE SYSTEM +M: Jaegeuk Kim jaegeuk@kernel.org +M: Changman Lee cm224.lee@samsung.com +R: Chao Yu yuchao0@huawei.com +L: linux-f2fs-devel@lists.sourceforge.net +W: http://en.wikipedia.org/wiki/F2FS +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git +S: Maintained +F: Documentation/filesystems/f2fs.txt +F: Documentation/ABI/testing/sysfs-fs-f2fs +F: fs/f2fs/ +F: include/linux/f2fs_fs.h +F: include/trace/events/f2fs.h + +FUJITSU FR-V (FRV) PORT +S: Orphan +F: arch/frv/ + +FUJITSU LAPTOP EXTRAS +M: Jonathan Woithe jwoithe@just42.net +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/fujitsu-laptop.c + +FUJITSU M-5MO LS CAMERA ISP DRIVER +M: Kyungmin Park kyungmin.park@samsung.com +M: Heungjun Kim riverful.kim@samsung.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/m5mols/ +F: include/media/i2c/m5mols.h + +FUJITSU TABLET EXTRAS +M: Robert Gerlach khnz@gmx.de +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/fujitsu-tablet.c + +FUSE: FILESYSTEM IN USERSPACE +M: Miklos Szeredi miklos@szeredi.hu +L: linux-fsdevel@vger.kernel.org +W: http://fuse.sourceforge.net/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git +S: Maintained +F: fs/fuse/ +F: include/uapi/linux/fuse.h +F: Documentation/filesystems/fuse.txt + +FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit) +M: Rik Faith faith@cs.unc.edu +L: linux-scsi@vger.kernel.org +S: Odd Fixes (e.g., new signatures) +F: drivers/scsi/fdomain.* + +GCOV BASED KERNEL PROFILING +M: Peter Oberparleiter oberpar@linux.vnet.ibm.com +S: Maintained +F: kernel/gcov/ +F: Documentation/gcov.txt + +GDT SCSI DISK ARRAY CONTROLLER DRIVER +M: Achim Leubner achim_leubner@adaptec.com +L: linux-scsi@vger.kernel.org +W: http://www.icp-vortex.com/ +S: Supported +F: drivers/scsi/gdt* + +GDB KERNEL DEBUGGING HELPER SCRIPTS +M: Jan Kiszka jan.kiszka@siemens.com +M: Kieran Bingham kieran@bingham.xyz +S: Supported +F: scripts/gdb/ + +GEMTEK FM RADIO RECEIVER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-gemtek* + +GENERIC GPIO I2C DRIVER +M: Haavard Skinnemoen hskinnemoen@gmail.com +S: Supported +F: drivers/i2c/busses/i2c-gpio.c +F: include/linux/i2c-gpio.h + +GENERIC GPIO I2C MULTIPLEXER DRIVER +M: Peter Korsgaard peter.korsgaard@barco.com +L: linux-i2c@vger.kernel.org +S: Supported +F: drivers/i2c/muxes/i2c-mux-gpio.c +F: include/linux/i2c-mux-gpio.h +F: Documentation/i2c/muxes/i2c-mux-gpio + +GENERIC HDLC (WAN) DRIVERS +M: Krzysztof Halasa khc@pm.waw.pl +W: http://www.kernel.org/pub/linux/utils/net/hdlc/ +S: Maintained +F: drivers/net/wan/c101.c +F: drivers/net/wan/hd6457* +F: drivers/net/wan/hdlc* +F: drivers/net/wan/n2.c +F: drivers/net/wan/pc300too.c +F: drivers/net/wan/pci200syn.c +F: drivers/net/wan/wanxl* + +GENERIC INCLUDE/ASM HEADER FILES +M: Arnd Bergmann arnd@arndb.de +L: linux-arch@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git +S: Maintained +F: include/asm-generic/ +F: include/uapi/asm-generic/ + +GENERIC PHY FRAMEWORK +M: Kishon Vijay Abraham I kishon@ti.com +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git +S: Supported +F: drivers/phy/ +F: include/linux/phy/ + +GENERIC PM DOMAINS +M: "Rafael J. Wysocki" rjw@rjwysocki.net +M: Kevin Hilman khilman@kernel.org +M: Ulf Hansson ulf.hansson@linaro.org +L: linux-pm@vger.kernel.org +S: Supported +F: drivers/base/power/domain*.c +F: include/linux/pm_domain.h + +GENERIC UIO DRIVER FOR PCI DEVICES +M: "Michael S. Tsirkin" mst@redhat.com +L: kvm@vger.kernel.org +S: Supported +F: drivers/uio/uio_pci_generic.c + +GET_MAINTAINER SCRIPT +M: Joe Perches joe@perches.com +S: Maintained +F: scripts/get_maintainer.pl + +GFS2 FILE SYSTEM +M: Steven Whitehouse swhiteho@redhat.com +M: Bob Peterson rpeterso@redhat.com +L: cluster-devel@redhat.com +W: http://sources.redhat.com/cluster/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git +S: Supported +F: Documentation/filesystems/gfs2*.txt +F: fs/gfs2/ +F: include/uapi/linux/gfs2_ondisk.h + +GIGASET ISDN DRIVERS +M: Paul Bolle pebolle@tiscali.nl +L: gigaset307x-common@lists.sourceforge.net +W: http://gigaset307x.sourceforge.net/ +S: Odd Fixes +F: Documentation/isdn/README.gigaset +F: drivers/isdn/gigaset/ +F: include/uapi/linux/gigaset_dev.h + +GO7007 MPEG CODEC +M: Hans Verkuil hans.verkuil@cisco.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/usb/go7007/ + +GOODIX TOUCHSCREEN +M: Bastien Nocera hadess@hadess.net +L: linux-input@vger.kernel.org +S: Maintained +F: drivers/input/touchscreen/goodix.c + +GPIO SUBSYSTEM +M: Linus Walleij linus.walleij@linaro.org +M: Alexandre Courbot gnurou@gmail.com +L: linux-gpio@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git +S: Maintained +F: Documentation/devicetree/bindings/gpio/ +F: Documentation/gpio/ +F: Documentation/ABI/testing/gpio-cdev +F: Documentation/ABI/obsolete/sysfs-gpio +F: drivers/gpio/ +F: include/linux/gpio/ +F: include/linux/gpio.h +F: include/asm-generic/gpio.h +F: include/uapi/linux/gpio.h +F: tools/gpio/ + +GRE DEMULTIPLEXER DRIVER +M: Dmitry Kozlov xeb@mail.ru +L: netdev@vger.kernel.org +S: Maintained +F: net/ipv4/gre_demux.c +F: net/ipv4/gre_offload.c +F: include/net/gre.h + +GRETH 10/100/1G Ethernet MAC device driver +M: Andreas Larsson andreas@gaisler.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/aeroflex/ + +GSPCA FINEPIX SUBDRIVER +M: Frank Zago frank@zago.net +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/gspca/finepix.c + +GSPCA GL860 SUBDRIVER +M: Olivier Lorin o.lorin@laposte.net +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/gspca/gl860/ + +GSPCA M5602 SUBDRIVER +M: Erik Andren erik.andren@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/gspca/m5602/ + +GSPCA PAC207 SONIXB SUBDRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/gspca/pac207.c + +GSPCA SN9C20X SUBDRIVER +M: Brian Johnson brijohn@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/gspca/sn9c20x.c + +GSPCA T613 SUBDRIVER +M: Leandro Costantino lcostantino@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/gspca/t613.c + +GSPCA USB WEBCAM DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/gspca/ + +GUID PARTITION TABLE (GPT) +M: Davidlohr Bueso dave@stgolabs.net +L: linux-efi@vger.kernel.org +S: Maintained +F: block/partitions/efi.* + +STK1160 USB VIDEO CAPTURE DRIVER +M: Ezequiel Garcia ezequiel@vanguardiasur.com.ar +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/stk1160/ + +H8/300 ARCHITECTURE +M: Yoshinori Sato ysato@users.sourceforge.jp +L: uclinux-h8-devel@lists.sourceforge.jp (moderated for non-subscribers) +W: http://uclinux-h8.sourceforge.jp +T: git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git +S: Maintained +F: arch/h8300/ +F: drivers/clocksource/h8300_*.c +F: drivers/clk/h8300/ +F: drivers/irqchip/irq-renesas-h8*.c + +HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER +M: Frank Seidel frank@f-seidel.de +L: platform-driver-x86@vger.kernel.org +W: http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/ +S: Maintained +F: drivers/platform/x86/hdaps.c + +HDPVR USB VIDEO ENCODER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/usb/hdpvr/ + +HWPOISON MEMORY FAILURE HANDLING +M: Naoya Horiguchi n-horiguchi@ah.jp.nec.com +L: linux-mm@kvack.org +S: Maintained +F: mm/memory-failure.c +F: mm/hwpoison-inject.c + +HYPERVISOR VIRTUAL CONSOLE DRIVER +L: linuxppc-dev@lists.ozlabs.org +S: Odd Fixes +F: drivers/tty/hvc/ + +HACKRF MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/hackrf/ + +HARDWARE MONITORING +M: Jean Delvare jdelvare@suse.com +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +W: http://hwmon.wiki.kernel.org/ +T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-hwmon/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git +S: Maintained +F: Documentation/hwmon/ +F: drivers/hwmon/ +F: include/linux/hwmon*.h + +HARDWARE RANDOM NUMBER GENERATOR CORE +M: Matt Mackall mpm@selenic.com +M: Herbert Xu herbert@gondor.apana.org.au +L: linux-crypto@vger.kernel.org +S: Odd fixes +F: Documentation/hw_random.txt +F: drivers/char/hw_random/ +F: include/linux/hw_random.h + +HARDWARE SPINLOCK CORE +M: Ohad Ben-Cohen ohad@wizery.com +M: Bjorn Andersson bjorn.andersson@linaro.org +L: linux-remoteproc@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock.git +F: Documentation/hwspinlock.txt +F: drivers/hwspinlock/hwspinlock_* +F: include/linux/hwspinlock.h + +HARMONY SOUND DRIVER +L: linux-parisc@vger.kernel.org +S: Maintained +F: sound/parisc/harmony.* + +HD29L2 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/hd29l2* + +HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa) +M: Don Brace don.brace@microsemi.com +L: iss_storagedev@hp.com +L: esc.storagedev@microsemi.com +L: linux-scsi@vger.kernel.org +S: Supported +F: Documentation/scsi/hpsa.txt +F: drivers/scsi/hpsa*.[ch] +F: include/linux/cciss*.h +F: include/uapi/linux/cciss*.h + +HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss) +M: Don Brace don.brace@microsemi.com +L: iss_storagedev@hp.com +L: esc.storagedev@microsemi.com +L: linux-scsi@vger.kernel.org +S: Supported +F: Documentation/blockdev/cciss.txt +F: drivers/block/cciss* +F: include/linux/cciss_ioctl.h +F: include/uapi/linux/cciss_ioctl.h + +HFI1 DRIVER +M: Mike Marciniszyn mike.marciniszyn@intel.com +M: Dennis Dalessandro dennis.dalessandro@intel.com +L: linux-rdma@vger.kernel.org +S: Supported +F: drivers/infiniband/hw/hfi1 + +HFS FILESYSTEM +L: linux-fsdevel@vger.kernel.org +S: Orphan +F: Documentation/filesystems/hfs.txt +F: fs/hfs/ + +HFSPLUS FILESYSTEM +L: linux-fsdevel@vger.kernel.org +S: Orphan +F: Documentation/filesystems/hfsplus.txt +F: fs/hfsplus/ + +HGA FRAMEBUFFER DRIVER +M: Ferenc Bakonyi fero@drama.obuda.kando.hu +L: linux-nvidia@lists.surfsouth.com +W: http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml +S: Maintained +F: drivers/video/fbdev/hgafb.c + +HIBERNATION (aka Software Suspend, aka swsusp) +M: "Rafael J. Wysocki" rjw@rjwysocki.net +M: Pavel Machek pavel@ucw.cz +L: linux-pm@vger.kernel.org +S: Supported +F: arch/x86/power/ +F: drivers/base/power/ +F: kernel/power/ +F: include/linux/suspend.h +F: include/linux/freezer.h +F: include/linux/pm.h +F: arch/*/include/asm/suspend*.h + +HID CORE LAYER +M: Jiri Kosina jikos@kernel.org +R: Benjamin Tissoires benjamin.tissoires@redhat.com +L: linux-input@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git +S: Maintained +F: drivers/hid/ +F: include/linux/hid* +F: include/uapi/linux/hid* + +HID SENSOR HUB DRIVERS +M: Jiri Kosina jikos@kernel.org +M: Jonathan Cameron jic23@kernel.org +M: Srinivas Pandruvada srinivas.pandruvada@linux.intel.com +L: linux-input@vger.kernel.org +L: linux-iio@vger.kernel.org +S: Maintained +F: Documentation/hid/hid-sensor* +F: drivers/hid/hid-sensor-* +F: drivers/iio/*/hid-* +F: include/linux/hid-sensor-* + +HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS +M: Thomas Gleixner tglx@linutronix.de +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core +S: Maintained +F: Documentation/timers/ +F: kernel/time/hrtimer.c +F: kernel/time/clockevents.c +F: kernel/time/tick*.* +F: kernel/time/timer_*.c +F: include/linux/clockchips.h +F: include/linux/hrtimer.h + +HIGH-SPEED SCC DRIVER FOR AX.25 +L: linux-hams@vger.kernel.org +S: Orphan +F: drivers/net/hamradio/dmascc.c +F: drivers/net/hamradio/scc.c + +HIGHPOINT ROCKETRAID 3xxx RAID DRIVER +M: HighPoint Linux Team linux@highpoint-tech.com +W: http://www.highpoint-tech.com +S: Supported +F: Documentation/scsi/hptiop.txt +F: drivers/scsi/hptiop.c + +HIPPI +M: Jes Sorensen jes@trained-monkey.org +L: linux-hippi@sunsite.dk +S: Maintained +F: include/linux/hippidevice.h +F: include/uapi/linux/if_hippi.h +F: net/802/hippi.c +F: drivers/net/hippi/ + +HISILICON SAS Controller +M: John Garry john.garry@huawei.com +W: http://www.hisilicon.com +S: Supported +F: drivers/scsi/hisi_sas/ +F: Documentation/devicetree/bindings/scsi/hisilicon-sas.txt + +HOST AP DRIVER +M: Jouni Malinen j@w1.fi +L: hostap@shmoo.com (subscribers-only) +L: linux-wireless@vger.kernel.org +W: http://hostap.epitest.fi/ +S: Maintained +F: drivers/net/wireless/intersil/hostap/ + +HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER +L: platform-driver-x86@vger.kernel.org +S: Orphan +F: drivers/platform/x86/tc1100-wmi.c + +HP100: Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series +M: Jaroslav Kysela perex@perex.cz +S: Maintained +F: drivers/net/ethernet/hp/hp100.* + +HPET: High Precision Event Timers driver +M: Clemens Ladisch clemens@ladisch.de +S: Maintained +F: Documentation/timers/hpet.txt +F: drivers/char/hpet.c +F: include/linux/hpet.h +F: include/uapi/linux/hpet.h + +HPET: x86 +S: Orphan +F: arch/x86/kernel/hpet.c +F: arch/x86/include/asm/hpet.h + +HPFS FILESYSTEM +M: Mikulas Patocka mikulas@artax.karlin.mff.cuni.cz +W: http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi +S: Maintained +F: fs/hpfs/ + +HSI SUBSYSTEM +M: Sebastian Reichel sre@kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi.git +S: Maintained +F: Documentation/ABI/testing/sysfs-bus-hsi +F: Documentation/hsi.txt +F: drivers/hsi/ +F: include/linux/hsi/ +F: include/uapi/linux/hsi/ + +HSO 3G MODEM DRIVER +M: Jan Dumon j.dumon@option.com +W: http://www.pharscape.org +S: Maintained +F: drivers/net/usb/hso.c + +HSR NETWORK PROTOCOL +M: Arvid Brodin arvid.brodin@alten.se +L: netdev@vger.kernel.org +S: Maintained +F: net/hsr/ + +HTCPEN TOUCHSCREEN DRIVER +M: Pau Oliva Fora pof@eslack.org +L: linux-input@vger.kernel.org +S: Maintained +F: drivers/input/touchscreen/htcpen.c + +HUGETLB FILESYSTEM +M: Nadia Yvette Chambers nyc@holomorphy.com +S: Maintained +F: fs/hugetlbfs/ + +Hyper-V CORE AND DRIVERS +M: "K. Y. Srinivasan" kys@microsoft.com +M: Haiyang Zhang haiyangz@microsoft.com +L: devel@linuxdriverproject.org +S: Maintained +F: arch/x86/include/asm/mshyperv.h +F: arch/x86/include/uapi/asm/hyperv.h +F: arch/x86/kernel/cpu/mshyperv.c +F: drivers/hid/hid-hyperv.c +F: drivers/hv/ +F: drivers/input/serio/hyperv-keyboard.c +F: drivers/pci/host/pci-hyperv.c +F: drivers/net/hyperv/ +F: drivers/scsi/storvsc_drv.c +F: drivers/video/fbdev/hyperv_fb.c +F: include/linux/hyperv.h +F: tools/hv/ +F: Documentation/ABI/stable/sysfs-bus-vmbus + +I2C MUXES +M: Peter Rosin peda@axentia.se +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/i2c-topology +F: Documentation/i2c/muxes/ +F: Documentation/devicetree/bindings/i2c/i2c-mux* +F: drivers/i2c/i2c-mux.c +F: drivers/i2c/muxes/ +F: include/linux/i2c-mux.h + +I2C OVER PARALLEL PORT +M: Jean Delvare jdelvare@suse.com +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-parport +F: Documentation/i2c/busses/i2c-parport-light +F: drivers/i2c/busses/i2c-parport.c +F: drivers/i2c/busses/i2c-parport-light.c + +I2C/SMBUS CONTROLLER DRIVERS FOR PC +M: Jean Delvare jdelvare@suse.com +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-ali1535 +F: Documentation/i2c/busses/i2c-ali1563 +F: Documentation/i2c/busses/i2c-ali15x3 +F: Documentation/i2c/busses/i2c-amd756 +F: Documentation/i2c/busses/i2c-amd8111 +F: Documentation/i2c/busses/i2c-i801 +F: Documentation/i2c/busses/i2c-nforce2 +F: Documentation/i2c/busses/i2c-piix4 +F: Documentation/i2c/busses/i2c-sis5595 +F: Documentation/i2c/busses/i2c-sis630 +F: Documentation/i2c/busses/i2c-sis96x +F: Documentation/i2c/busses/i2c-via +F: Documentation/i2c/busses/i2c-viapro +F: drivers/i2c/busses/i2c-ali1535.c +F: drivers/i2c/busses/i2c-ali1563.c +F: drivers/i2c/busses/i2c-ali15x3.c +F: drivers/i2c/busses/i2c-amd756.c +F: drivers/i2c/busses/i2c-amd756-s4882.c +F: drivers/i2c/busses/i2c-amd8111.c +F: drivers/i2c/busses/i2c-i801.c +F: drivers/i2c/busses/i2c-isch.c +F: drivers/i2c/busses/i2c-nforce2.c +F: drivers/i2c/busses/i2c-nforce2-s4985.c +F: drivers/i2c/busses/i2c-piix4.c +F: drivers/i2c/busses/i2c-sis5595.c +F: drivers/i2c/busses/i2c-sis630.c +F: drivers/i2c/busses/i2c-sis96x.c +F: drivers/i2c/busses/i2c-via.c +F: drivers/i2c/busses/i2c-viapro.c + +I2C/SMBUS ISMT DRIVER +M: Seth Heasley seth.heasley@intel.com +M: Neil Horman nhorman@tuxdriver.com +L: linux-i2c@vger.kernel.org +F: drivers/i2c/busses/i2c-ismt.c +F: Documentation/i2c/busses/i2c-ismt + +I2C/SMBUS STUB DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/i2c/i2c-stub.c + +I2C SUBSYSTEM +M: Wolfram Sang wsa@the-dreams.de +L: linux-i2c@vger.kernel.org +W: https://i2c.wiki.kernel.org/ +Q: https://patchwork.ozlabs.org/project/linux-i2c/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git +S: Maintained +F: Documentation/devicetree/bindings/i2c/ +F: Documentation/i2c/ +F: drivers/i2c/ +F: drivers/i2c/*/ +F: include/linux/i2c.h +F: include/linux/i2c-*.h +F: include/uapi/linux/i2c.h +F: include/uapi/linux/i2c-*.h + +I2C ACPI SUPPORT +M: Mika Westerberg mika.westerberg@linux.intel.com +L: linux-i2c@vger.kernel.org +L: linux-acpi@vger.kernel.org +S: Maintained + +I2C-TAOS-EVM DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-taos-evm +F: drivers/i2c/busses/i2c-taos-evm.c + +I2C-TINY-USB DRIVER +M: Till Harbaum till@harbaum.org +L: linux-i2c@vger.kernel.org +W: http://www.harbaum.org/till/i2c_tiny_usb +S: Maintained +F: drivers/i2c/busses/i2c-tiny-usb.c + +i386 BOOT CODE +M: "H. Peter Anvin" hpa@zytor.com +S: Maintained +F: arch/x86/boot/ + +i386 SETUP CODE / CPU ERRATA WORKAROUNDS +M: "H. Peter Anvin" hpa@zytor.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup.git +S: Maintained + +IA64 (Itanium) PLATFORM +M: Tony Luck tony.luck@intel.com +M: Fenghua Yu fenghua.yu@intel.com +L: linux-ia64@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git +S: Maintained +F: arch/ia64/ + +IBM Power VMX Cryptographic instructions +M: Leonidas S. Barbosa leosilva@linux.vnet.ibm.com +M: Paulo Flabiano Smorigo pfsmorigo@linux.vnet.ibm.com +L: linux-crypto@vger.kernel.org +S: Supported +F: drivers/crypto/vmx/Makefile +F: drivers/crypto/vmx/Kconfig +F: drivers/crypto/vmx/vmx.c +F: drivers/crypto/vmx/aes* +F: drivers/crypto/vmx/ghash* +F: drivers/crypto/vmx/ppc-xlate.pl + +IBM Power in-Nest Crypto Acceleration +M: Leonidas S. Barbosa leosilva@linux.vnet.ibm.com +M: Paulo Flabiano Smorigo pfsmorigo@linux.vnet.ibm.com +L: linux-crypto@vger.kernel.org +S: Supported +F: drivers/crypto/nx/Makefile +F: drivers/crypto/nx/Kconfig +F: drivers/crypto/nx/nx-aes* +F: drivers/crypto/nx/nx-sha* +F: drivers/crypto/nx/nx.* +F: drivers/crypto/nx/nx_csbcpb.h +F: drivers/crypto/nx/nx_debugfs.h + +IBM Power 842 compression accelerator +M: Dan Streetman ddstreet@ieee.org +S: Supported +F: drivers/crypto/nx/Makefile +F: drivers/crypto/nx/Kconfig +F: drivers/crypto/nx/nx-842* +F: include/linux/sw842.h +F: crypto/842.c +F: lib/842/ + +IBM Power Linux RAID adapter +M: Brian King brking@us.ibm.com +S: Supported +F: drivers/scsi/ipr.* + +IBM Power Virtual Ethernet Device Driver +M: Thomas Falcon tlfalcon@linux.vnet.ibm.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/ibm/ibmveth.* + +IBM Power SRIOV Virtual NIC Device Driver +M: Thomas Falcon tlfalcon@linux.vnet.ibm.com +M: John Allen jallen@linux.vnet.ibm.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/ibm/ibmvnic.* + +IBM Power Virtual SCSI Device Drivers +M: Tyrel Datwyler tyreld@linux.vnet.ibm.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/ibmvscsi/ibmvscsi* +F: drivers/scsi/ibmvscsi/viosrp.h + +IBM Power Virtual FC Device Drivers +M: Tyrel Datwyler tyreld@linux.vnet.ibm.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/ibmvscsi/ibmvfc* + +IBM ServeRAID RAID DRIVER +S: Orphan +F: drivers/scsi/ips.* + +ICH LPC AND GPIO DRIVER +M: Peter Tyser ptyser@xes-inc.com +S: Maintained +F: drivers/mfd/lpc_ich.c +F: drivers/gpio/gpio-ich.c + +IDE SUBSYSTEM +M: "David S. Miller" davem@davemloft.net +L: linux-ide@vger.kernel.org +Q: http://patchwork.ozlabs.org/project/linux-ide/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide.git +S: Maintained +F: Documentation/ide/ +F: drivers/ide/ +F: include/linux/ide.h + +IDEAPAD LAPTOP EXTRAS DRIVER +M: Ike Panhc ike.pan@canonical.com +L: platform-driver-x86@vger.kernel.org +W: http://launchpad.net/ideapad-laptop +S: Maintained +F: drivers/platform/x86/ideapad-laptop.c + +IDEAPAD LAPTOP SLIDEBAR DRIVER +M: Andrey Moiseev o2g.org.ru@gmail.com +L: linux-input@vger.kernel.org +W: https://github.com/o2genum/ideapad-slidebar +S: Maintained +F: drivers/input/misc/ideapad_slidebar.c + +IDE/ATAPI DRIVERS +M: Borislav Petkov bp@alien8.de +L: linux-ide@vger.kernel.org +S: Maintained +F: Documentation/cdrom/ide-cd +F: drivers/ide/ide-cd* + +IDLE-I7300 +M: Andy Henroid andrew.d.henroid@intel.com +L: linux-pm@vger.kernel.org +S: Supported +F: drivers/idle/i7300_idle.c + +IEEE 802.15.4 SUBSYSTEM +M: Alexander Aring aar@pengutronix.de +L: linux-wpan@vger.kernel.org +W: http://wpan.cakelab.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git +S: Maintained +F: net/ieee802154/ +F: net/mac802154/ +F: drivers/net/ieee802154/ +F: include/linux/nl802154.h +F: include/linux/ieee802154.h +F: include/net/nl802154.h +F: include/net/mac802154.h +F: include/net/af_ieee802154.h +F: include/net/cfg802154.h +F: include/net/ieee802154_netdev.h +F: Documentation/networking/ieee802154.txt + +IGORPLUG-USB IR RECEIVER +M: Sean Young sean@mess.org +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/rc/igorplugusb.c + +IGUANAWORKS USB IR TRANSCEIVER +M: Sean Young sean@mess.org +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/rc/iguanair.c + +IIO SUBSYSTEM AND DRIVERS +M: Jonathan Cameron jic23@kernel.org +R: Hartmut Knaack knaack.h@gmx.de +R: Lars-Peter Clausen lars@metafoo.de +R: Peter Meerwald-Stadler pmeerw@pmeerw.net +L: linux-iio@vger.kernel.org +S: Maintained +F: drivers/iio/ +F: drivers/staging/iio/ +F: include/linux/iio/ +F: tools/iio/ + +IKANOS/ADI EAGLE ADSL USB DRIVER +M: Matthieu Castet castet.matthieu@free.fr +M: Stanislaw Gruszka stf_xl@wp.pl +S: Maintained +F: drivers/usb/atm/ueagle-atm.c + +INA209 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/ina209 +F: Documentation/devicetree/bindings/i2c/ina209.txt +F: drivers/hwmon/ina209.c + +INA2XX HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/ina2xx +F: drivers/hwmon/ina2xx.c +F: include/linux/platform_data/ina2xx.h + +INDUSTRY PACK SUBSYSTEM (IPACK) +M: Samuel Iglesias Gonsalvez siglesias@igalia.com +M: Jens Taprogge jens.taprogge@taprogge.org +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +L: industrypack-devel@lists.sourceforge.net +W: http://industrypack.sourceforge.net +S: Maintained +F: drivers/ipack/ + +INGENIC JZ4780 DMA Driver +M: Zubair Lutfullah Kakakhel Zubair.Kakakhel@imgtec.com +S: Maintained +F: drivers/dma/dma-jz4780.c + +INTEGRITY MEASUREMENT ARCHITECTURE (IMA) +M: Mimi Zohar zohar@linux.vnet.ibm.com +M: Dmitry Kasatkin dmitry.kasatkin@gmail.com +L: linux-ima-devel@lists.sourceforge.net +L: linux-ima-user@lists.sourceforge.net +L: linux-security-module@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git +S: Supported +F: security/integrity/ima/ + +IMGTEC IR DECODER DRIVER +M: James Hogan james.hogan@imgtec.com +S: Maintained +F: drivers/media/rc/img-ir/ + +IMS TWINTURBO FRAMEBUFFER DRIVER +L: linux-fbdev@vger.kernel.org +S: Orphan +F: drivers/video/fbdev/imsttfb.c + +INFINIBAND SUBSYSTEM +M: Doug Ledford dledford@redhat.com +M: Sean Hefty sean.hefty@intel.com +M: Hal Rosenstock hal.rosenstock@gmail.com +L: linux-rdma@vger.kernel.org +W: http://www.openfabrics.org/ +Q: http://patchwork.kernel.org/project/linux-rdma/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git +S: Supported +F: Documentation/infiniband/ +F: drivers/infiniband/ +F: include/uapi/linux/if_infiniband.h +F: include/uapi/rdma/ +F: include/rdma/ + +INOTIFY +M: John McCutchan john@johnmccutchan.com +M: Robert Love rlove@rlove.org +M: Eric Paris eparis@parisplace.org +S: Maintained +F: Documentation/filesystems/inotify.txt +F: fs/notify/inotify/ +F: include/linux/inotify.h +F: include/uapi/linux/inotify.h + +INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS +M: Dmitry Torokhov dmitry.torokhov@gmail.com +L: linux-input@vger.kernel.org +Q: http://patchwork.kernel.org/project/linux-input/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git +S: Maintained +F: drivers/input/ +F: include/linux/input.h +F: include/uapi/linux/input.h +F: include/linux/input/ +F: Documentation/devicetree/bindings/input/ + +INPUT MULTITOUCH (MT) PROTOCOL +M: Henrik Rydberg rydberg@bitmath.org +L: linux-input@vger.kernel.org +S: Odd fixes +F: Documentation/input/multi-touch-protocol.txt +F: drivers/input/input-mt.c +K: \b(ABS|SYN)_MT_ + +INTEL ASoC BDW/HSW DRIVERS +M: Jie Yang yang.jie@linux.intel.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Supported +F: sound/soc/intel/common/sst-dsp* +F: sound/soc/intel/common/sst-firmware.c +F: sound/soc/intel/boards/broadwell.c +F: sound/soc/intel/haswell/ + +INTEL C600 SERIES SAS CONTROLLER DRIVER +M: Intel SCU Linux support intel-linux-scu@intel.com +M: Artur Paszkiewicz artur.paszkiewicz@intel.com +L: linux-scsi@vger.kernel.org +T: git git://git.code.sf.net/p/intel-sas/isci +S: Supported +F: drivers/scsi/isci/ + +INTEL HID EVENT DRIVER +M: Alex Hung alex.hung@canonical.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/intel-hid.c + +INTEL IDLE DRIVER +M: Len Brown lenb@kernel.org +L: linux-pm@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git +S: Supported +F: drivers/idle/intel_idle.c + +INTEL PSTATE DRIVER +M: Srinivas Pandruvada srinivas.pandruvada@linux.intel.com +M: Len Brown lenb@kernel.org +L: linux-pm@vger.kernel.org +S: Supported +F: drivers/cpufreq/intel_pstate.c + +INTEL FRAMEBUFFER DRIVER (excluding 810 and 815) +M: Maik Broemme mbroemme@plusserver.de +L: linux-fbdev@vger.kernel.org +S: Maintained +F: Documentation/fb/intelfb.txt +F: drivers/video/fbdev/intelfb/ + +INTEL 810/815 FRAMEBUFFER DRIVER +M: Antonino Daplas adaplas@gmail.com +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/i810/ + +INTEL MENLOW THERMAL DRIVER +M: Sujith Thomas sujith.thomas@intel.com +L: platform-driver-x86@vger.kernel.org +W: https://01.org/linux-acpi +S: Supported +F: drivers/platform/x86/intel_menlow.c + +INTEL I/OAT DMA DRIVER +M: Dave Jiang dave.jiang@intel.com +R: Dan Williams dan.j.williams@intel.com +L: dmaengine@vger.kernel.org +Q: https://patchwork.kernel.org/project/linux-dmaengine/list/ +S: Supported +F: drivers/dma/ioat* + +INTEL IOMMU (VT-d) +M: David Woodhouse dwmw2@infradead.org +L: iommu@lists.linux-foundation.org +T: git git://git.infradead.org/iommu-2.6.git +S: Supported +F: drivers/iommu/intel-iommu.c +F: include/linux/intel-iommu.h + +INTEL IOP-ADMA DMA DRIVER +R: Dan Williams dan.j.williams@intel.com +S: Odd fixes +F: drivers/dma/iop-adma.c + +INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT +M: Krzysztof Halasa khalasa@piap.pl +S: Maintained +F: arch/arm/mach-ixp4xx/include/mach/qmgr.h +F: arch/arm/mach-ixp4xx/include/mach/npe.h +F: arch/arm/mach-ixp4xx/ixp4xx_qmgr.c +F: arch/arm/mach-ixp4xx/ixp4xx_npe.c +F: drivers/net/ethernet/xscale/ixp4xx_eth.c +F: drivers/net/wan/ixp4xx_hss.c + +INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT +M: Deepak Saxena dsaxena@plexity.net +S: Maintained +F: drivers/char/hw_random/ixp4xx-rng.c + +INTEL ETHERNET DRIVERS +M: Jeff Kirsher jeffrey.t.kirsher@intel.com +L: intel-wired-lan@lists.osuosl.org (moderated for non-subscribers) +W: http://www.intel.com/support/feedback.htm +W: http://e1000.sourceforge.net/ +Q: http://patchwork.ozlabs.org/project/intel-wired-lan/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git +S: Supported +F: Documentation/networking/e100.txt +F: Documentation/networking/e1000.txt +F: Documentation/networking/e1000e.txt +F: Documentation/networking/igb.txt +F: Documentation/networking/igbvf.txt +F: Documentation/networking/ixgb.txt +F: Documentation/networking/ixgbe.txt +F: Documentation/networking/ixgbevf.txt +F: Documentation/networking/i40e.txt +F: Documentation/networking/i40evf.txt +F: drivers/net/ethernet/intel/ +F: drivers/net/ethernet/intel/*/ + +INTEL RDMA RNIC DRIVER +M: Faisal Latif faisal.latif@intel.com +R: Chien Tin Tung chien.tin.tung@intel.com +R: Mustafa Ismail mustafa.ismail@intel.com +R: Shiraz Saleem shiraz.saleem@intel.com +R: Tatyana Nikolova tatyana.e.nikolova@intel.com +L: linux-rdma@vger.kernel.org +S: Supported +F: drivers/infiniband/hw/i40iw/ + +INTEL-MID GPIO DRIVER +M: David Cohen david.a.cohen@linux.intel.com +L: linux-gpio@vger.kernel.org +S: Maintained +F: drivers/gpio/gpio-intel-mid.c + +INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT +M: Stanislav Yakovlev stas.yakovlev@gmail.com +L: linux-wireless@vger.kernel.org +S: Maintained +F: Documentation/networking/README.ipw2100 +F: Documentation/networking/README.ipw2200 +F: drivers/net/wireless/intel/ipw2x00/ + +INTEL(R) TRACE HUB +M: Alexander Shishkin alexander.shishkin@linux.intel.com +S: Supported +F: Documentation/trace/intel_th.txt +F: drivers/hwtracing/intel_th/ + +INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT) +M: Ning Sun ning.sun@intel.com +L: tboot-devel@lists.sourceforge.net +W: http://tboot.sourceforge.net +T: hg http://tboot.hg.sourceforge.net:8000/hgroot/tboot/tboot +S: Supported +F: Documentation/intel_txt.txt +F: include/linux/tboot.h +F: arch/x86/kernel/tboot.c + +INTEL WIRELESS WIMAX CONNECTION 2400 +M: Inaky Perez-Gonzalez inaky.perez-gonzalez@intel.com +M: linux-wimax@intel.com +L: wimax@linuxwimax.org (subscribers-only) +S: Supported +W: http://linuxwimax.org +F: Documentation/wimax/README.i2400m +F: drivers/net/wimax/i2400m/ +F: include/uapi/linux/wimax/i2400m.h + +INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy) +M: Stanislaw Gruszka sgruszka@redhat.com +L: linux-wireless@vger.kernel.org +S: Supported +F: drivers/net/wireless/intel/iwlegacy/ + +INTEL WIRELESS WIFI LINK (iwlwifi) +M: Johannes Berg johannes.berg@intel.com +M: Emmanuel Grumbach emmanuel.grumbach@intel.com +M: Luca Coelho luciano.coelho@intel.com +M: Intel Linux Wireless linuxwifi@intel.com +L: linux-wireless@vger.kernel.org +W: http://intellinuxwireless.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi.git +S: Supported +F: drivers/net/wireless/intel/iwlwifi/ + +INTEL MANAGEMENT ENGINE (mei) +M: Tomas Winkler tomas.winkler@intel.com +L: linux-kernel@vger.kernel.org +S: Supported +F: include/uapi/linux/mei.h +F: include/linux/mei_cl_bus.h +F: drivers/misc/mei/* +F: drivers/watchdog/mei_wdt.c +F: Documentation/misc-devices/mei/* + +INTEL MIC DRIVERS (mic) +M: Sudeep Dutt sudeep.dutt@intel.com +M: Ashutosh Dixit ashutosh.dixit@intel.com +S: Supported +W: https://github.com/sudeepdutt/mic +W: http://software.intel.com/en-us/mic-developer +F: include/linux/mic_bus.h +F: include/linux/scif.h +F: include/uapi/linux/mic_common.h +F: include/uapi/linux/mic_ioctl.h +F: include/uapi/linux/scif_ioctl.h +F: drivers/misc/mic/ +F: drivers/dma/mic_x100_dma.c +F: drivers/dma/mic_x100_dma.h +F: Documentation/mic/ + +INTEL PMC/P-Unit IPC DRIVER +M: Zha Qipengqipeng.zha@intel.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/intel_pmc_ipc.c +F: drivers/platform/x86/intel_punit_ipc.c +F: arch/x86/include/asm/intel_pmc_ipc.h +F: arch/x86/include/asm/intel_punit_ipc.h + +INTEL TELEMETRY DRIVER +M: Souvik Kumar Chakravarty souvik.k.chakravarty@intel.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: arch/x86/include/asm/intel_telemetry.h +F: drivers/platform/x86/intel_telemetry* + +INTEL PMC CORE DRIVER +M: Rajneesh Bhardwaj rajneesh.bhardwaj@intel.com +M: Vishwanath Somayaji vishwanath.somayaji@intel.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: arch/x86/include/asm/pmc_core.h +F: drivers/platform/x86/intel_pmc_core* + +IOC3 ETHERNET DRIVER +M: Ralf Baechle ralf@linux-mips.org +L: linux-mips@linux-mips.org +S: Maintained +F: drivers/net/ethernet/sgi/ioc3-eth.c + +IOC3 SERIAL DRIVER +M: Pat Gefre pfg@sgi.com +L: linux-serial@vger.kernel.org +S: Maintained +F: drivers/tty/serial/ioc3_serial.c + +IOMMU DRIVERS +M: Joerg Roedel joro@8bytes.org +L: iommu@lists.linux-foundation.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git +S: Maintained +F: drivers/iommu/ + +IP MASQUERADING +M: Juanjo Ciarlante jjciarla@raiz.uncu.edu.ar +S: Maintained +F: net/ipv4/netfilter/ipt_MASQUERADE.c + +IPMI SUBSYSTEM +M: Corey Minyard minyard@acm.org +L: openipmi-developer@lists.sourceforge.net (moderated for non-subscribers) +W: http://openipmi.sourceforge.net/ +S: Supported +F: Documentation/IPMI.txt +F: drivers/char/ipmi/ +F: include/linux/ipmi* +F: include/uapi/linux/ipmi* + +QCOM AUDIO (ASoC) DRIVERS +M: Patrick Lai plai@codeaurora.org +M: Banajit Goswami bgoswami@codeaurora.org +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Supported +F: sound/soc/qcom/ + +IPS SCSI RAID DRIVER +M: Adaptec OEM Raid Solutions aacraid@adaptec.com +L: linux-scsi@vger.kernel.org +W: http://www.adaptec.com/ +S: Maintained +F: drivers/scsi/ips* + +IPVS +M: Wensong Zhang wensong@linux-vs.org +M: Simon Horman horms@verge.net.au +M: Julian Anastasov ja@ssi.bg +L: netdev@vger.kernel.org +L: lvs-devel@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git +F: Documentation/networking/ipvs-sysctl.txt +F: include/net/ip_vs.h +F: include/uapi/linux/ip_vs.h +F: net/netfilter/ipvs/ + +IPWIRELESS DRIVER +M: Jiri Kosina jikos@kernel.org +M: David Sterba dsterba@suse.com +S: Odd Fixes +F: drivers/tty/ipwireless/ + +IPX NETWORK LAYER +M: Arnaldo Carvalho de Melo acme@ghostprotocols.net +L: netdev@vger.kernel.org +S: Maintained +F: include/net/ipx.h +F: include/uapi/linux/ipx.h +F: net/ipx/ + +IRDA SUBSYSTEM +M: Samuel Ortiz samuel@sortiz.org +L: irda-users@lists.sourceforge.net (subscribers-only) +L: netdev@vger.kernel.org +W: http://irda.sourceforge.net/ +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6.git +F: Documentation/networking/irda.txt +F: drivers/net/irda/ +F: include/net/irda/ +F: net/irda/ + +IRQ SUBSYSTEM +M: Thomas Gleixner tglx@linutronix.de +L: linux-kernel@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core +F: kernel/irq/ + +IRQCHIP DRIVERS +M: Thomas Gleixner tglx@linutronix.de +M: Jason Cooper jason@lakedaemon.net +M: Marc Zyngier marc.zyngier@arm.com +L: linux-kernel@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core +T: git git://git.infradead.org/users/jcooper/linux.git irqchip/core +F: Documentation/devicetree/bindings/interrupt-controller/ +F: drivers/irqchip/ + +IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY) +M: Jiang Liu jiang.liu@linux.intel.com +M: Marc Zyngier marc.zyngier@arm.com +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core +F: Documentation/IRQ-domain.txt +F: include/linux/irqdomain.h +F: kernel/irq/irqdomain.c +F: kernel/irq/msi.c + +ISA +M: William Breathitt Gray vilhelm.gray@gmail.com +S: Maintained +F: Documentation/isa.txt +F: drivers/base/isa.c +F: include/linux/isa.h + +ISAPNP +M: Jaroslav Kysela perex@perex.cz +S: Maintained +F: Documentation/isapnp.txt +F: drivers/pnp/isapnp/ +F: include/linux/isapnp.h + +ISA RADIO MODULE +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-isa* + +iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER +M: Peter Jones pjones@redhat.com +M: Konrad Rzeszutek Wilk konrad@kernel.org +S: Maintained +F: drivers/firmware/iscsi_ibft* + +ISCSI +M: Mike Christie michaelc@cs.wisc.edu +L: open-iscsi@googlegroups.com +W: www.open-iscsi.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mnc/linux-2.6-iscsi.git +S: Maintained +F: drivers/scsi/*iscsi* +F: include/scsi/*iscsi* + +ISCSI EXTENSIONS FOR RDMA (ISER) INITIATOR +M: Or Gerlitz ogerlitz@mellanox.com +M: Sagi Grimberg sagi@grimberg.me +M: Roi Dayan roid@mellanox.com +L: linux-rdma@vger.kernel.org +S: Supported +W: http://www.openfabrics.org +W: www.open-iscsi.org +Q: http://patchwork.kernel.org/project/linux-rdma/list/ +F: drivers/infiniband/ulp/iser/ + +ISCSI EXTENSIONS FOR RDMA (ISER) TARGET +M: Sagi Grimberg sagi@grimberg.me +T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master +L: linux-rdma@vger.kernel.org +L: target-devel@vger.kernel.org +S: Supported +W: http://www.linux-iscsi.org +F: drivers/infiniband/ulp/isert + +ISDN SUBSYSTEM +M: Karsten Keil isdn@linux-pingi.de +L: isdn4linux@listserv.isdn4linux.de (subscribers-only) +L: netdev@vger.kernel.org +W: http://www.isdn4linux.de +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git +S: Maintained +F: Documentation/isdn/ +F: drivers/isdn/ +F: include/linux/isdn.h +F: include/linux/isdn/ +F: include/uapi/linux/isdn.h +F: include/uapi/linux/isdn/ + +ISDN SUBSYSTEM (Eicon active card driver) +M: Armin Schindler mac@melware.de +L: isdn4linux@listserv.isdn4linux.de (subscribers-only) +W: http://www.melware.de +S: Maintained +F: drivers/isdn/hardware/eicon/ + +IT87 HARDWARE MONITORING DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/it87 +F: drivers/hwmon/it87.c + +IT913X MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/it913x* + +IVTV VIDEO4LINUX DRIVER +M: Andy Walls awalls@md.metrocast.net +L: ivtv-devel@ivtvdriver.org (subscribers-only) +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: http://www.ivtvdriver.org +S: Maintained +F: Documentation/video4linux/*.ivtv +F: drivers/media/pci/ivtv/ +F: include/uapi/linux/ivtv* + +IX2505V MEDIA DRIVER +M: Malcolm Priestley tvboxspy@gmail.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +S: Maintained +F: drivers/media/dvb-frontends/ix2505v* + +JC42.4 TEMPERATURE SENSOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/jc42.c +F: Documentation/hwmon/jc42 + +JFS FILESYSTEM +M: Dave Kleikamp shaggy@kernel.org +L: jfs-discussion@lists.sourceforge.net +W: http://jfs.sourceforge.net/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git +S: Maintained +F: Documentation/filesystems/jfs.txt +F: fs/jfs/ + +JME NETWORK DRIVER +M: Guo-Fu Tseng cooldavid@cooldavid.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/jme.* + +JOURNALLING FLASH FILE SYSTEM V2 (JFFS2) +M: David Woodhouse dwmw2@infradead.org +L: linux-mtd@lists.infradead.org +W: http://www.linux-mtd.infradead.org/doc/jffs2.html +S: Maintained +F: fs/jffs2/ +F: include/uapi/linux/jffs2.h + +JOURNALLING LAYER FOR BLOCK DEVICES (JBD2) +M: "Theodore Ts'o" tytso@mit.edu +M: Jan Kara jack@suse.com +L: linux-ext4@vger.kernel.org +S: Maintained +F: fs/jbd2/ +F: include/linux/jbd2.h + +JPU V4L2 MEM2MEM DRIVER FOR RENESAS +M: Mikhail Ulyanov mikhail.ulyanov@cogentembedded.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/platform/rcar_jpu.c + +JSM Neo PCI based serial card +M: Gabriel Krisman Bertazi krisman@linux.vnet.ibm.com +L: linux-serial@vger.kernel.org +S: Maintained +F: drivers/tty/serial/jsm/ + +K10TEMP HARDWARE MONITORING DRIVER +M: Clemens Ladisch clemens@ladisch.de +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/k10temp +F: drivers/hwmon/k10temp.c + +K8TEMP HARDWARE MONITORING DRIVER +M: Rudolf Marek r.marek@assembler.cz +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/k8temp +F: drivers/hwmon/k8temp.c + +KASAN +M: Andrey Ryabinin aryabinin@virtuozzo.com +R: Alexander Potapenko glider@google.com +R: Dmitry Vyukov dvyukov@google.com +L: kasan-dev@googlegroups.com +S: Maintained +F: arch/*/include/asm/kasan.h +F: arch/*/mm/kasan_init* +F: Documentation/kasan.txt +F: include/linux/kasan*.h +F: lib/test_kasan.c +F: mm/kasan/ +F: scripts/Makefile.kasan + +KCONFIG +M: "Yann E. MORIN" yann.morin.1998@free.fr +L: linux-kbuild@vger.kernel.org +T: git git://gitorious.org/linux-kconfig/linux-kconfig +S: Maintained +F: Documentation/kbuild/kconfig-language.txt +F: scripts/kconfig/ + +KDUMP +M: Dave Young dyoung@redhat.com +M: Baoquan He bhe@redhat.com +R: Vivek Goyal vgoyal@redhat.com +L: kexec@lists.infradead.org +W: http://lse.sourceforge.net/kdump/ +S: Maintained +F: Documentation/kdump/ + +KEENE FM RADIO TRANSMITTER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-keene* + +KERNEL AUTOMOUNTER v4 (AUTOFS4) +M: Ian Kent raven@themaw.net +L: autofs@vger.kernel.org +S: Maintained +F: fs/autofs4/ + +KERNEL BUILD + files below scripts/ (unless maintained elsewhere) +M: Michal Marek mmarek@suse.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes +L: linux-kbuild@vger.kernel.org +S: Maintained +F: Documentation/kbuild/ +F: Makefile +F: scripts/Makefile.* +F: scripts/basic/ +F: scripts/mk* +F: scripts/package/ + +KERNEL JANITORS +L: kernel-janitors@vger.kernel.org +W: http://kernelnewbies.org/KernelJanitors +S: Odd Fixes + +KERNEL NFSD, SUNRPC, AND LOCKD SERVERS +M: "J. Bruce Fields" bfields@fieldses.org +M: Jeff Layton jlayton@poochiereds.net +L: linux-nfs@vger.kernel.org +W: http://nfs.sourceforge.net/ +T: git git://linux-nfs.org/~bfields/linux.git +S: Supported +F: fs/nfsd/ +F: include/uapi/linux/nfsd/ +F: fs/lockd/ +F: fs/nfs_common/ +F: net/sunrpc/ +F: include/linux/lockd/ +F: include/linux/sunrpc/ +F: include/uapi/linux/sunrpc/ + +KERNEL SELFTEST FRAMEWORK +M: Shuah Khan shuahkh@osg.samsung.com +L: linux-kselftest@vger.kernel.org +T: git git://git.kernel.org/pub/scm/shuah/linux-kselftest +S: Maintained +F: tools/testing/selftests + +KERNEL VIRTUAL MACHINE (KVM) +M: Paolo Bonzini pbonzini@redhat.com +M: Radim Krčmář rkrcmar@redhat.com +L: kvm@vger.kernel.org +W: http://www.linux-kvm.org +T: git git://git.kernel.org/pub/scm/virt/kvm/kvm.git +S: Supported +F: Documentation/*/kvm*.txt +F: Documentation/virtual/kvm/ +F: arch/*/kvm/ +F: arch/x86/kernel/kvm.c +F: arch/x86/kernel/kvmclock.c +F: arch/*/include/asm/kvm* +F: include/linux/kvm* +F: include/uapi/linux/kvm* +F: virt/kvm/ +F: tools/kvm/ + +KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V +M: Joerg Roedel joro@8bytes.org +L: kvm@vger.kernel.org +W: http://www.linux-kvm.org/ +S: Maintained +F: arch/x86/include/asm/svm.h +F: arch/x86/kvm/svm.c + +KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC +M: Alexander Graf agraf@suse.com +L: kvm-ppc@vger.kernel.org +W: http://www.linux-kvm.org/ +T: git git://github.com/agraf/linux-2.6.git +S: Supported +F: arch/powerpc/include/asm/kvm* +F: arch/powerpc/kvm/ + +KERNEL VIRTUAL MACHINE for s390 (KVM/s390) +M: Christian Borntraeger borntraeger@de.ibm.com +M: Cornelia Huck cornelia.huck@de.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git +S: Supported +F: Documentation/s390/kvm.txt +F: arch/s390/include/asm/kvm* +F: arch/s390/kvm/ + +KERNEL VIRTUAL MACHINE (KVM) FOR ARM +M: Christoffer Dall christoffer.dall@linaro.org +M: Marc Zyngier marc.zyngier@arm.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: kvmarm@lists.cs.columbia.edu +W: http://systems.cs.columbia.edu/projects/kvm-arm +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git +S: Supported +F: arch/arm/include/uapi/asm/kvm* +F: arch/arm/include/asm/kvm* +F: arch/arm/kvm/ +F: virt/kvm/arm/ +F: include/kvm/arm_* + +KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64) +M: Christoffer Dall christoffer.dall@linaro.org +M: Marc Zyngier marc.zyngier@arm.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: kvmarm@lists.cs.columbia.edu +S: Maintained +F: arch/arm64/include/uapi/asm/kvm* +F: arch/arm64/include/asm/kvm* +F: arch/arm64/kvm/ + +KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips) +M: James Hogan james.hogan@imgtec.com +L: linux-mips@linux-mips.org +S: Supported +F: arch/mips/include/uapi/asm/kvm* +F: arch/mips/include/asm/kvm* +F: arch/mips/kvm/ + +KEXEC +M: Eric Biederman ebiederm@xmission.com +W: http://kernel.org/pub/linux/utils/kernel/kexec/ +L: kexec@lists.infradead.org +S: Maintained +F: include/linux/kexec.h +F: include/uapi/linux/kexec.h +F: kernel/kexec* + +KEYS/KEYRINGS: +M: David Howells dhowells@redhat.com +L: keyrings@vger.kernel.org +S: Maintained +F: Documentation/security/keys.txt +F: include/linux/key.h +F: include/linux/key-type.h +F: include/linux/keyctl.h +F: include/uapi/linux/keyctl.h +F: include/keys/ +F: security/keys/ + +KEYS-TRUSTED +M: David Safford safford@us.ibm.com +M: Mimi Zohar zohar@linux.vnet.ibm.com +L: linux-security-module@vger.kernel.org +L: keyrings@vger.kernel.org +S: Supported +F: Documentation/security/keys-trusted-encrypted.txt +F: include/keys/trusted-type.h +F: security/keys/trusted.c +F: security/keys/trusted.h + +KEYS-ENCRYPTED +M: Mimi Zohar zohar@linux.vnet.ibm.com +M: David Safford safford@us.ibm.com +L: linux-security-module@vger.kernel.org +L: keyrings@vger.kernel.org +S: Supported +F: Documentation/security/keys-trusted-encrypted.txt +F: include/keys/encrypted-type.h +F: security/keys/encrypted-keys/ + +KGDB / KDB /debug_core +M: Jason Wessel jason.wessel@windriver.com +W: http://kgdb.wiki.kernel.org/ +L: kgdb-bugreport@lists.sourceforge.net +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git +S: Maintained +F: Documentation/DocBook/kgdb.tmpl +F: drivers/misc/kgdbts.c +F: drivers/tty/serial/kgdboc.c +F: include/linux/kdb.h +F: include/linux/kgdb.h +F: kernel/debug/ + +KMEMCHECK +M: Vegard Nossum vegardno@ifi.uio.no +M: Pekka Enberg penberg@kernel.org +S: Maintained +F: Documentation/kmemcheck.txt +F: arch/x86/include/asm/kmemcheck.h +F: arch/x86/mm/kmemcheck/ +F: include/linux/kmemcheck.h +F: mm/kmemcheck.c + +KMEMLEAK +M: Catalin Marinas catalin.marinas@arm.com +S: Maintained +F: Documentation/kmemleak.txt +F: include/linux/kmemleak.h +F: mm/kmemleak.c +F: mm/kmemleak-test.c + +KPROBES +M: Ananth N Mavinakayanahalli ananth@linux.vnet.ibm.com +M: Anil S Keshavamurthy anil.s.keshavamurthy@intel.com +M: "David S. Miller" davem@davemloft.net +M: Masami Hiramatsu mhiramat@kernel.org +S: Maintained +F: Documentation/kprobes.txt +F: include/linux/kprobes.h +F: kernel/kprobes.c + +KS0108 LCD CONTROLLER DRIVER +M: Miguel Ojeda Sandonis miguel.ojeda.sandonis@gmail.com +W: http://miguelojeda.es/auxdisplay.htm +W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm +S: Maintained +F: Documentation/auxdisplay/ks0108 +F: drivers/auxdisplay/ks0108.c +F: include/linux/ks0108.h + +L3MDEV +M: David Ahern dsa@cumulusnetworks.com +L: netdev@vger.kernel.org +S: Maintained +F: net/l3mdev +F: include/net/l3mdev.h + +LANTIQ MIPS ARCHITECTURE +M: John Crispin john@phrozen.org +L: linux-mips@linux-mips.org +S: Maintained +F: arch/mips/lantiq + +LAPB module +L: linux-x25@vger.kernel.org +S: Orphan +F: Documentation/networking/lapb-module.txt +F: include/*/lapb.h +F: net/lapb/ + +LASI 53c700 driver for PARISC +M: "James E.J. Bottomley" James.Bottomley@HansenPartnership.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: Documentation/scsi/53c700.txt +F: drivers/scsi/53c700* + +LED SUBSYSTEM +M: Richard Purdie rpurdie@rpsys.net +M: Jacek Anaszewski j.anaszewski@samsung.com +L: linux-leds@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git +S: Maintained +F: drivers/leds/ +F: include/linux/leds.h + +LEGACY EEPROM DRIVER +M: Jean Delvare jdelvare@suse.com +S: Maintained +F: Documentation/misc-devices/eeprom +F: drivers/misc/eeprom/eeprom.c + +LEGO USB Tower driver +M: Juergen Stuber starblue@users.sourceforge.net +L: legousb-devel@lists.sourceforge.net +W: http://legousb.sourceforge.net/ +S: Maintained +F: drivers/usb/misc/legousbtower.c + +LG2160 MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mkrufky/tuners.git +S: Maintained +F: drivers/media/dvb-frontends/lg2160.* + +LGDT3305 MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mkrufky/tuners.git +S: Maintained +F: drivers/media/dvb-frontends/lgdt3305.* + +LGUEST +M: Rusty Russell rusty@rustcorp.com.au +L: lguest@lists.ozlabs.org +W: http://lguest.ozlabs.org/ +S: Odd Fixes +F: arch/x86/include/asm/lguest*.h +F: arch/x86/lguest/ +F: drivers/lguest/ +F: include/linux/lguest*.h +F: tools/lguest/ + +LIBATA SUBSYSTEM (Serial and Parallel ATA drivers) +M: Tejun Heo tj@kernel.org +L: linux-ide@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git +S: Maintained +F: drivers/ata/ +F: include/linux/ata.h +F: include/linux/libata.h + +LIBATA PATA ARASAN COMPACT FLASH CONTROLLER +M: Viresh Kumar vireshk@kernel.org +L: linux-ide@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git +S: Maintained +F: include/linux/pata_arasan_cf_data.h +F: drivers/ata/pata_arasan_cf.c + +LIBATA PATA DRIVERS +M: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com +M: Tejun Heo tj@kernel.org +L: linux-ide@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git +S: Maintained +F: drivers/ata/pata_*.c +F: drivers/ata/ata_generic.c + +LIBATA SATA AHCI PLATFORM devices support +M: Hans de Goede hdegoede@redhat.com +M: Tejun Heo tj@kernel.org +L: linux-ide@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git +S: Maintained +F: drivers/ata/ahci_platform.c +F: drivers/ata/libahci_platform.c +F: include/linux/ahci_platform.h + +LIBATA SATA PROMISE TX2/TX4 CONTROLLER DRIVER +M: Mikael Pettersson mikpelinux@gmail.com +L: linux-ide@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git +S: Maintained +F: drivers/ata/sata_promise.* + +LIBLOCKDEP +M: Sasha Levin sasha.levin@oracle.com +S: Maintained +F: tools/lib/lockdep/ + +LIBNVDIMM: NON-VOLATILE MEMORY DEVICE SUBSYSTEM +M: Dan Williams dan.j.williams@intel.com +L: linux-nvdimm@lists.01.org +Q: https://patchwork.kernel.org/project/linux-nvdimm/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git +S: Supported +F: drivers/nvdimm/* +F: include/linux/nd.h +F: include/linux/libnvdimm.h +F: include/uapi/linux/ndctl.h + +LIBNVDIMM BLK: MMIO-APERTURE DRIVER +M: Ross Zwisler ross.zwisler@linux.intel.com +L: linux-nvdimm@lists.01.org +Q: https://patchwork.kernel.org/project/linux-nvdimm/list/ +S: Supported +F: drivers/nvdimm/blk.c +F: drivers/nvdimm/region_devs.c +F: drivers/acpi/nfit* + +LIBNVDIMM BTT: BLOCK TRANSLATION TABLE +M: Vishal Verma vishal.l.verma@intel.com +L: linux-nvdimm@lists.01.org +Q: https://patchwork.kernel.org/project/linux-nvdimm/list/ +S: Supported +F: drivers/nvdimm/btt* + +LIBNVDIMM PMEM: PERSISTENT MEMORY DRIVER +M: Ross Zwisler ross.zwisler@linux.intel.com +L: linux-nvdimm@lists.01.org +Q: https://patchwork.kernel.org/project/linux-nvdimm/list/ +S: Supported +F: drivers/nvdimm/pmem.c +F: include/linux/pmem.h +F: arch/*/include/asm/pmem.h + +LIGHTNVM PLATFORM SUPPORT +M: Matias Bjorling mb@lightnvm.io +W: http://github/OpenChannelSSD +L: linux-block@vger.kernel.org +S: Maintained +F: drivers/lightnvm/ +F: include/linux/lightnvm.h +F: include/uapi/linux/lightnvm.h + +LINUX FOR IBM pSERIES (RS/6000) +M: Paul Mackerras paulus@au.ibm.com +W: http://www.ibm.com/linux/ltc/projects/ppc +S: Supported +F: arch/powerpc/boot/rs6000.h + +LINUX FOR POWERPC (32-BIT AND 64-BIT) +M: Benjamin Herrenschmidt benh@kernel.crashing.org +M: Paul Mackerras paulus@samba.org +M: Michael Ellerman mpe@ellerman.id.au +W: http://www.penguinppc.org/ +L: linuxppc-dev@lists.ozlabs.org +Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git +S: Supported +F: Documentation/powerpc/ +F: arch/powerpc/ +F: drivers/char/tpm/tpm_ibmvtpm* +F: drivers/crypto/nx/ +F: drivers/crypto/vmx/ +F: drivers/net/ethernet/ibm/ibmveth.* +F: drivers/net/ethernet/ibm/ibmvnic.* +F: drivers/pci/hotplug/rpa* +F: drivers/scsi/ibmvscsi/ +N: opal +N: /pmac +N: powermac +N: powernv +N: [^a-z0-9]ps3 +N: pseries + +LINUX FOR POWER MACINTOSH +M: Benjamin Herrenschmidt benh@kernel.crashing.org +W: http://www.penguinppc.org/ +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: arch/powerpc/platforms/powermac/ +F: drivers/macintosh/ + +LINUX FOR POWERPC EMBEDDED MPC5XXX +M: Anatolij Gustschin agust@denx.de +L: linuxppc-dev@lists.ozlabs.org +T: git git://git.denx.de/linux-denx-agust.git +S: Maintained +F: arch/powerpc/platforms/512x/ +F: arch/powerpc/platforms/52xx/ + +LINUX FOR POWERPC EMBEDDED PPC4XX +M: Alistair Popple alistair@popple.id.au +M: Matt Porter mporter@kernel.crashing.org +W: http://www.penguinppc.org/ +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: arch/powerpc/platforms/40x/ +F: arch/powerpc/platforms/44x/ + +LINUX FOR POWERPC EMBEDDED XILINX VIRTEX +L: linuxppc-dev@lists.ozlabs.org +S: Orphan +F: arch/powerpc/*/*virtex* +F: arch/powerpc/*/*/*virtex* + +LINUX FOR POWERPC EMBEDDED PPC8XX +M: Vitaly Bordug vitb@kernel.crashing.org +W: http://www.penguinppc.org/ +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: arch/powerpc/platforms/8xx/ + +LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX +M: Scott Wood oss@buserror.net +M: Kumar Gala galak@kernel.crashing.org +W: http://www.penguinppc.org/ +L: linuxppc-dev@lists.ozlabs.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git +S: Maintained +F: arch/powerpc/platforms/83xx/ +F: arch/powerpc/platforms/85xx/ + +LINUX FOR POWERPC PA SEMI PWRFICIENT +M: Olof Johansson olof@lixom.net +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: arch/powerpc/platforms/pasemi/ +F: drivers/*/*pasemi* +F: drivers/*/*/*pasemi* + +LINUX SECURITY MODULE (LSM) FRAMEWORK +M: Chris Wright chrisw@sous-sol.org +L: linux-security-module@vger.kernel.org +S: Supported + +LIS3LV02D ACCELEROMETER DRIVER +M: Eric Piel eric.piel@tremplin-utc.net +S: Maintained +F: Documentation/misc-devices/lis3lv02d +F: drivers/misc/lis3lv02d/ +F: drivers/platform/x86/hp_accel.c + +LIVE PATCHING +M: Josh Poimboeuf jpoimboe@redhat.com +M: Jessica Yu jeyu@redhat.com +M: Jiri Kosina jikos@kernel.org +M: Miroslav Benes mbenes@suse.cz +R: Petr Mladek pmladek@suse.com +S: Maintained +F: kernel/livepatch/ +F: include/linux/livepatch.h +F: arch/x86/include/asm/livepatch.h +F: arch/x86/kernel/livepatch.c +F: Documentation/livepatch/ +F: Documentation/ABI/testing/sysfs-kernel-livepatch +F: samples/livepatch/ +L: live-patching@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching.git + +LINUX KERNEL DUMP TEST MODULE (LKDTM) +M: Kees Cook keescook@chromium.org +S: Maintained +F: drivers/misc/lkdtm.c + +LLC (802.2) +M: Arnaldo Carvalho de Melo acme@ghostprotocols.net +S: Maintained +F: include/linux/llc.h +F: include/uapi/linux/llc.h +F: include/net/llc* +F: net/llc/ + +LM73 HARDWARE MONITOR DRIVER +M: Guillaume Ligneul guillaume.ligneul@gmail.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/lm73.c + +LM78 HARDWARE MONITOR DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/lm78 +F: drivers/hwmon/lm78.c + +LM83 HARDWARE MONITOR DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/lm83 +F: drivers/hwmon/lm83.c + +LM90 HARDWARE MONITOR DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/lm90 +F: Documentation/devicetree/bindings/hwmon/lm90.txt +F: drivers/hwmon/lm90.c + +LM95234 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/lm95234 +F: drivers/hwmon/lm95234.c + +LME2510 MEDIA DRIVER +M: Malcolm Priestley tvboxspy@gmail.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +S: Maintained +F: drivers/media/usb/dvb-usb-v2/lmedm04* + +LOCKDEP AND LOCKSTAT +M: Peter Zijlstra peterz@infradead.org +M: Ingo Molnar mingo@redhat.com +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/locking +S: Maintained +F: Documentation/locking/lockdep*.txt +F: Documentation/locking/lockstat.txt +F: include/linux/lockdep.h +F: kernel/locking/ + +LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks) +M: "Richard Russon (FlatCap)" ldm@flatcap.org +L: linux-ntfs-dev@lists.sourceforge.net +W: http://www.linux-ntfs.org/content/view/19/37/ +S: Maintained +F: Documentation/ldm.txt +F: block/partitions/ldm.* + +LogFS +M: Joern Engel joern@logfs.org +M: Prasad Joshi prasadjoshi.linux@gmail.com +L: logfs@logfs.org +W: logfs.org +S: Maintained +F: fs/logfs/ + +LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) +M: Sathya Prakash sathya.prakash@broadcom.com +M: Chaitra P B chaitra.basappa@broadcom.com +M: Suganath Prabu Subramani suganath-prabu.subramani@broadcom.com +L: MPT-FusionLinux.pdl@broadcom.com +L: linux-scsi@vger.kernel.org +W: http://www.avagotech.com/support/ +S: Supported +F: drivers/message/fusion/ +F: drivers/scsi/mpt2sas/ +F: drivers/scsi/mpt3sas/ + +LSILOGIC/SYMBIOS/NCR 53C8XX and 53C1010 PCI-SCSI drivers +M: Matthew Wilcox matthew@wil.cx +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/sym53c8xx_2/ + +LTC4261 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/ltc4261 +F: drivers/hwmon/ltc4261.c + +LTP (Linux Test Project) +M: Mike Frysinger vapier@gentoo.org +M: Cyril Hrubis chrubis@suse.cz +M: Wanlong Gao wanlong.gao@gmail.com +M: Jan Stancek jstancek@redhat.com +M: Stanislav Kholmanskikh stanislav.kholmanskikh@oracle.com +M: Alexey Kodanev alexey.kodanev@oracle.com +L: ltp@lists.linux.it (subscribers-only) +W: http://linux-test-project.github.io/ +T: git git://github.com/linux-test-project/ltp.git +S: Maintained + +M32R ARCHITECTURE +W: http://www.linux-m32r.org/ +S: Orphan +F: arch/m32r/ + +M68K ARCHITECTURE +M: Geert Uytterhoeven geert@linux-m68k.org +L: linux-m68k@lists.linux-m68k.org +W: http://www.linux-m68k.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git +S: Maintained +F: arch/m68k/ +F: drivers/zorro/ + +M68K ON APPLE MACINTOSH +M: Joshua Thompson funaho@jurai.org +W: http://www.mac.linux-m68k.org/ +L: linux-m68k@lists.linux-m68k.org +S: Maintained +F: arch/m68k/mac/ + +M68K ON HP9000/300 +M: Philip Blundell philb@gnu.org +W: http://www.tazenda.demon.co.uk/phil/linux-hp +S: Maintained +F: arch/m68k/hp300/ + +M88DS3103 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/m88ds3103* + +M88RS2000 MEDIA DRIVER +M: Malcolm Priestley tvboxspy@gmail.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +S: Maintained +F: drivers/media/dvb-frontends/m88rs2000* + +MA901 MASTERKIT USB FM RADIO DRIVER +M: Alexey Klimov klimov.linux@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/radio/radio-ma901.c + +MAC80211 +M: Johannes Berg johannes@sipsolutions.net +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git +S: Maintained +F: Documentation/networking/mac80211-injection.txt +F: include/net/mac80211.h +F: net/mac80211/ +F: drivers/net/wireless/mac80211_hwsim.[ch] + +MACVLAN DRIVER +M: Patrick McHardy kaber@trash.net +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/macvlan.c +F: include/linux/if_macvlan.h + +MAILBOX API +M: Jassi Brar jassisinghbrar@gmail.com +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/mailbox/ +F: include/linux/mailbox_client.h +F: include/linux/mailbox_controller.h + +MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7 +M: Michael Kerrisk mtk.manpages@gmail.com +W: http://www.kernel.org/doc/man-pages +L: linux-man@vger.kernel.org +S: Maintained + +MARVELL ARMADA DRM SUPPORT +M: Russell King rmk+kernel@armlinux.org.uk +S: Maintained +F: drivers/gpu/drm/armada/ +F: include/uapi/drm/armada_drm.h +F: Documentation/devicetree/bindings/display/armada/ + +MARVELL 88E6352 DSA support +M: Guenter Roeck linux@roeck-us.net +S: Maintained +F: drivers/net/dsa/mv88e6352.c + +MARVELL CRYPTO DRIVER +M: Boris Brezillon boris.brezillon@free-electrons.com +M: Arnaud Ebalard arno@natisbad.org +F: drivers/crypto/marvell/ +S: Maintained +L: linux-crypto@vger.kernel.org + +MARVELL GIGABIT ETHERNET DRIVERS (skge/sky2) +M: Mirko Lindner mlindner@marvell.com +M: Stephen Hemminger stephen@networkplumber.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/marvell/sk* + +MARVELL LIBERTAS WIRELESS DRIVER +L: libertas-dev@lists.infradead.org +S: Orphan +F: drivers/net/wireless/marvell/libertas/ + +MARVELL MV643XX ETHERNET DRIVER +M: Sebastian Hesselbarth sebastian.hesselbarth@gmail.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/marvell/mv643xx_eth.* +F: include/linux/mv643xx.h + +MARVELL MVNETA ETHERNET DRIVER +M: Thomas Petazzoni thomas.petazzoni@free-electrons.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/marvell/mvneta.* + +MARVELL MWIFIEX WIRELESS DRIVER +M: Amitkumar Karwar akarwar@marvell.com +M: Nishant Sarmukadam nishants@marvell.com +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/net/wireless/marvell/mwifiex/ + +MARVELL MWL8K WIRELESS DRIVER +M: Lennert Buytenhek buytenh@wantstofly.org +L: linux-wireless@vger.kernel.org +S: Odd Fixes +F: drivers/net/wireless/marvell/mwl8k.c + +MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER +M: Nicolas Pitre nico@fluxnic.net +S: Odd Fixes +F: drivers/mmc/host/mvsdio.* + +MATROX FRAMEBUFFER DRIVER +L: linux-fbdev@vger.kernel.org +S: Orphan +F: drivers/video/fbdev/matrox/matroxfb_* +F: include/uapi/linux/matroxfb.h + +MAX16065 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/max16065 +F: drivers/hwmon/max16065.c + +MAX20751 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/max20751 +F: drivers/hwmon/max20751.c + +MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER +M: "Hans J. Koch" hjk@hansjkoch.de +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/max6650 +F: drivers/hwmon/max6650.c + +MAX6697 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/max6697 +F: Documentation/devicetree/bindings/i2c/max6697.txt +F: drivers/hwmon/max6697.c +F: include/linux/platform_data/max6697.h + +MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS +M: Krzysztof Kozlowski k.kozlowski@samsung.com +L: linux-pm@vger.kernel.org +S: Supported +F: drivers/power/max14577_charger.c +F: drivers/power/max77693_charger.c + +MAXIM MAX77802 MULTIFUNCTION PMIC DEVICE DRIVERS +M: Javier Martinez Canillas javier@osg.samsung.com +L: linux-kernel@vger.kernel.org +S: Supported +F: drivers/*/*max77802*.c +F: Documentation/devicetree/bindings/*/*max77802.txt +F: include/dt-bindings/*/*max77802.h + +MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BOARDS +M: Chanwoo Choi cw00.choi@samsung.com +M: Krzysztof Kozlowski k.kozlowski@samsung.com +L: linux-kernel@vger.kernel.org +S: Supported +F: drivers/*/max14577*.c +F: drivers/*/max77686*.c +F: drivers/*/max77693*.c +F: drivers/extcon/extcon-max14577.c +F: drivers/extcon/extcon-max77693.c +F: drivers/rtc/rtc-max77686.c +F: drivers/clk/clk-max77686.c +F: Documentation/devicetree/bindings/mfd/max14577.txt +F: Documentation/devicetree/bindings/*/max77686.txt +F: Documentation/devicetree/bindings/mfd/max77693.txt +F: Documentation/devicetree/bindings/clock/maxim,max77686.txt +F: include/linux/mfd/max14577*.h +F: include/linux/mfd/max77686*.h +F: include/linux/mfd/max77693*.h + +MAXIRADIO FM RADIO RECEIVER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-maxiradio* + +MCP4531 MICROCHIP DIGITAL POTENTIOMETER DRIVER +M: Peter Rosin peda@axentia.se +L: linux-iio@vger.kernel.org +S: Maintained +F: drivers/iio/potentiometer/mcp4531.c + +MEDIA DRIVERS FOR RENESAS - VSP1 +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +L: linux-renesas-soc@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Supported +F: Documentation/devicetree/bindings/media/renesas,vsp1.txt +F: drivers/media/platform/vsp1/ + +MEDIA DRIVERS FOR ASCOT2E +M: Sergey Kozlov serjk@netup.ru +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://netup.tv/ +T: git git://linuxtv.org/media_tree.git +S: Supported +F: drivers/media/dvb-frontends/ascot2e* + +MEDIA DRIVERS FOR CXD2841ER +M: Sergey Kozlov serjk@netup.ru +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://netup.tv/ +T: git git://linuxtv.org/media_tree.git +S: Supported +F: drivers/media/dvb-frontends/cxd2841er* + +MEDIA DRIVERS FOR HORUS3A +M: Sergey Kozlov serjk@netup.ru +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://netup.tv/ +T: git git://linuxtv.org/media_tree.git +S: Supported +F: drivers/media/dvb-frontends/horus3a* + +MEDIA DRIVERS FOR LNBH25 +M: Sergey Kozlov serjk@netup.ru +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://netup.tv/ +T: git git://linuxtv.org/media_tree.git +S: Supported +F: drivers/media/dvb-frontends/lnbh25* + +MEDIA DRIVERS FOR NETUP PCI UNIVERSAL DVB devices +M: Sergey Kozlov serjk@netup.ru +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://netup.tv/ +T: git git://linuxtv.org/media_tree.git +S: Supported +F: drivers/media/pci/netup_unidvb/* + +MEDIA INPUT INFRASTRUCTURE (V4L/DVB) +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +P: LinuxTV.org Project +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.kernel.org/project/linux-media/list/ +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: Documentation/dvb/ +F: Documentation/video4linux/ +F: Documentation/DocBook/media/ +F: drivers/media/ +F: drivers/staging/media/ +F: include/linux/platform_data/media/ +F: include/media/ +F: include/uapi/linux/dvb/ +F: include/uapi/linux/videodev2.h +F: include/uapi/linux/media.h +F: include/uapi/linux/v4l2-* +F: include/uapi/linux/meye.h +F: include/uapi/linux/ivtv* +F: include/uapi/linux/uvcvideo.h + +MEDIATEK ETHERNET DRIVER +M: Felix Fietkau nbd@openwrt.org +M: John Crispin blogic@openwrt.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/mediatek/ + +MEDIATEK MT7601U WIRELESS LAN DRIVER +M: Jakub Kicinski kubakici@wp.pl +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/net/wireless/mediatek/mt7601u/ + +MEGARAID SCSI/SAS DRIVERS +M: Kashyap Desai kashyap.desai@avagotech.com +M: Sumit Saxena sumit.saxena@avagotech.com +M: Uday Lingala uday.lingala@avagotech.com +L: megaraidlinux.pdl@avagotech.com +L: linux-scsi@vger.kernel.org +W: http://www.lsi.com +S: Maintained +F: Documentation/scsi/megaraid.txt +F: drivers/scsi/megaraid.* +F: drivers/scsi/megaraid/ + +MELLANOX ETHERNET DRIVER (mlx4_en) +M: Eugenia Emantayev eugenia@mellanox.com +L: netdev@vger.kernel.org +S: Supported +W: http://www.mellanox.com +Q: http://patchwork.ozlabs.org/project/netdev/list/ +F: drivers/net/ethernet/mellanox/mlx4/en_* + +MELLANOX ETHERNET DRIVER (mlx5e) +M: Saeed Mahameed saeedm@mellanox.com +L: netdev@vger.kernel.org +S: Supported +W: http://www.mellanox.com +Q: http://patchwork.ozlabs.org/project/netdev/list/ +F: drivers/net/ethernet/mellanox/mlx5/core/en_* + +MELLANOX ETHERNET SWITCH DRIVERS +M: Jiri Pirko jiri@mellanox.com +M: Ido Schimmel idosch@mellanox.com +L: netdev@vger.kernel.org +S: Supported +W: http://www.mellanox.com +Q: http://patchwork.ozlabs.org/project/netdev/list/ +F: drivers/net/ethernet/mellanox/mlxsw/ + +MEMBARRIER SUPPORT +M: Mathieu Desnoyers mathieu.desnoyers@efficios.com +M: "Paul E. McKenney" paulmck@linux.vnet.ibm.com +L: linux-kernel@vger.kernel.org +S: Supported +F: kernel/membarrier.c +F: include/uapi/linux/membarrier.h + +MEMORY MANAGEMENT +L: linux-mm@kvack.org +W: http://www.linux-mm.org +S: Maintained +F: include/linux/mm.h +F: include/linux/gfp.h +F: include/linux/mmzone.h +F: include/linux/memory_hotplug.h +F: include/linux/vmalloc.h +F: mm/ + +MEMORY TECHNOLOGY DEVICES (MTD) +M: David Woodhouse dwmw2@infradead.org +M: Brian Norris computersforpeace@gmail.com +L: linux-mtd@lists.infradead.org +W: http://www.linux-mtd.infradead.org/ +Q: http://patchwork.ozlabs.org/project/linux-mtd/list/ +T: git git://git.infradead.org/linux-mtd.git +T: git git://git.infradead.org/l2-mtd.git +S: Maintained +F: drivers/mtd/ +F: include/linux/mtd/ +F: include/uapi/mtd/ + +MEN A21 WATCHDOG DRIVER +M: Johannes Thumshirn morbidrsa@gmail.com +L: linux-watchdog@vger.kernel.org +S: Maintained +F: drivers/watchdog/mena21_wdt.c + +MEN CHAMELEON BUS (mcb) +M: Johannes Thumshirn morbidrsa@gmail.com +S: Maintained +F: drivers/mcb/ +F: include/linux/mcb.h +F: Documentation/men-chameleon-bus.txt + +MEN F21BMC (Board Management Controller) +M: Andreas Werner andreas.werner@men.de +S: Supported +F: drivers/mfd/menf21bmc.c +F: drivers/watchdog/menf21bmc_wdt.c +F: drivers/leds/leds-menf21bmc.c +F: drivers/hwmon/menf21bmc_hwmon.c +F: Documentation/hwmon/menf21bmc + +METAG ARCHITECTURE +M: James Hogan james.hogan@imgtec.com +L: linux-metag@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag.git +S: Odd Fixes +F: arch/metag/ +F: Documentation/metag/ +F: Documentation/devicetree/bindings/metag/ +F: Documentation/devicetree/bindings/interrupt-controller/img,* +F: drivers/clocksource/metag_generic.c +F: drivers/irqchip/irq-metag.c +F: drivers/irqchip/irq-metag-ext.c +F: drivers/tty/metag_da.c + +MICROBLAZE ARCHITECTURE +M: Michal Simek monstr@monstr.eu +W: http://www.monstr.eu/fdt/ +T: git git://git.monstr.eu/linux-2.6-microblaze.git +S: Supported +F: arch/microblaze/ + +MICROSOFT SURFACE PRO 3 BUTTON DRIVER +M: Chen Yu yu.c.chen@intel.com +L: platform-driver-x86@vger.kernel.org +S: Supported +F: drivers/platform/x86/surfacepro3_button.c + +MICROTEK X6 SCANNER +M: Oliver Neukum oliver@neukum.org +S: Maintained +F: drivers/usb/image/microtek.* + +MIPS +M: Ralf Baechle ralf@linux-mips.org +L: linux-mips@linux-mips.org +W: http://www.linux-mips.org/ +T: git git://git.linux-mips.org/pub/scm/ralf/linux.git +Q: http://patchwork.linux-mips.org/project/linux-mips/list/ +S: Supported +F: Documentation/devicetree/bindings/mips/ +F: Documentation/mips/ +F: arch/mips/ + +MIPS/LOONGSON1 ARCHITECTURE +M: Keguang Zhang keguang.zhang@gmail.com +L: linux-mips@linux-mips.org +S: Maintained +F: arch/mips/loongson32/ +F: arch/mips/include/asm/mach-loongson32/ +F: drivers/*/*loongson1* +F: drivers/*/*/*loongson1* + +MIROSOUND PCM20 FM RADIO RECEIVER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/radio/radio-miropcm20* + +MELLANOX MLX4 core VPI driver +M: Yishai Hadas yishaih@mellanox.com +L: netdev@vger.kernel.org +L: linux-rdma@vger.kernel.org +W: http://www.mellanox.com +Q: http://patchwork.ozlabs.org/project/netdev/list/ +S: Supported +F: drivers/net/ethernet/mellanox/mlx4/ +F: include/linux/mlx4/ + +MELLANOX MLX4 IB driver +M: Yishai Hadas yishaih@mellanox.com +L: linux-rdma@vger.kernel.org +W: http://www.mellanox.com +Q: http://patchwork.kernel.org/project/linux-rdma/list/ +S: Supported +F: drivers/infiniband/hw/mlx4/ +F: include/linux/mlx4/ + +MELLANOX MLX5 core VPI driver +M: Matan Barak matanb@mellanox.com +M: Leon Romanovsky leonro@mellanox.com +L: netdev@vger.kernel.org +L: linux-rdma@vger.kernel.org +W: http://www.mellanox.com +Q: http://patchwork.ozlabs.org/project/netdev/list/ +S: Supported +F: drivers/net/ethernet/mellanox/mlx5/core/ +F: include/linux/mlx5/ + +MELLANOX MLX5 IB driver +M: Matan Barak matanb@mellanox.com +M: Leon Romanovsky leonro@mellanox.com +L: linux-rdma@vger.kernel.org +W: http://www.mellanox.com +Q: http://patchwork.kernel.org/project/linux-rdma/list/ +S: Supported +F: drivers/infiniband/hw/mlx5/ +F: include/linux/mlx5/ + +MELEXIS MLX90614 DRIVER +M: Crt Mori cmo@melexis.com +L: linux-iio@vger.kernel.org +W: http://www.melexis.com +S: Supported +F: drivers/iio/temperature/mlx90614.c + +MN88472 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/staging/media/mn88472/ +F: drivers/media/dvb-frontends/mn88472.h + +MN88473 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +S: Maintained +F: drivers/media/dvb-frontends/mn88473* + +MODULE SUPPORT +M: Rusty Russell rusty@rustcorp.com.au +S: Maintained +F: include/linux/module.h +F: kernel/module.c + +MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER +W: http://popies.net/meye/ +S: Orphan +F: Documentation/video4linux/meye.txt +F: drivers/media/pci/meye/ +F: include/uapi/linux/meye.h + +MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD +M: Jiri Slaby jirislaby@gmail.com +S: Maintained +F: Documentation/serial/moxa-smartio +F: drivers/tty/mxser.* + +MR800 AVERMEDIA USB FM RADIO DRIVER +M: Alexey Klimov klimov.linux@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/radio/radio-mr800.c + +MRF24J40 IEEE 802.15.4 RADIO DRIVER +M: Alan Ott alan@signal11.us +L: linux-wpan@vger.kernel.org +S: Maintained +F: drivers/net/ieee802154/mrf24j40.c +F: Documentation/devicetree/bindings/net/ieee802154/mrf24j40.txt + +MSI LAPTOP SUPPORT +M: "Lee, Chun-Yi" jlee@suse.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/msi-laptop.c + +MSI WMI SUPPORT +L: platform-driver-x86@vger.kernel.org +S: Orphan +F: drivers/platform/x86/msi-wmi.c + +MSI001 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/msi001* + +MSI2500 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/usb/msi2500/ + +MSYSTEMS DISKONCHIP G3 MTD DRIVER +M: Robert Jarzmik robert.jarzmik@free.fr +L: linux-mtd@lists.infradead.org +S: Maintained +F: drivers/mtd/devices/docg3* + +MT9M032 APTINA SENSOR DRIVER +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/i2c/mt9m032.c +F: include/media/i2c/mt9m032.h + +MT9P031 APTINA CAMERA SENSOR +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/i2c/mt9p031.c +F: include/media/i2c/mt9p031.h + +MT9T001 APTINA CAMERA SENSOR +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/i2c/mt9t001.c +F: include/media/i2c/mt9t001.h + +MT9V032 APTINA CAMERA SENSOR +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: Documentation/devicetree/bindings/media/i2c/mt9v032.txt +F: drivers/media/i2c/mt9v032.c +F: include/media/i2c/mt9v032.h + +MULTIFUNCTION DEVICES (MFD) +M: Lee Jones lee.jones@linaro.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git +S: Supported +F: drivers/mfd/ +F: include/linux/mfd/ + +MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM +M: Ulf Hansson ulf.hansson@linaro.org +L: linux-mmc@vger.kernel.org +T: git git://git.linaro.org/people/ulf.hansson/mmc.git +S: Maintained +F: drivers/mmc/ +F: include/linux/mmc/ +F: include/uapi/linux/mmc/ + +MULTIMEDIA CARD (MMC) ETC. OVER SPI +S: Orphan +F: drivers/mmc/host/mmc_spi.c +F: include/linux/spi/mmc_spi.h + +MULTISOUND SOUND DRIVER +M: Andrew Veliath andrewtv@usa.net +S: Maintained +F: Documentation/sound/oss/MultiSound +F: sound/oss/msnd* + +MULTITECH MULTIPORT CARD (ISICOM) +S: Orphan +F: drivers/tty/isicom.c +F: include/linux/isicom.h + +MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER +M: Bin Liu b-liu@ti.com +L: linux-usb@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git +S: Maintained +F: drivers/usb/musb/ + +MXL5007T MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mkrufky/tuners.git +S: Maintained +F: drivers/media/tuners/mxl5007t.* + +MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE) +M: Hyong-Youb Kim hykim@myri.com +L: netdev@vger.kernel.org +W: https://www.myricom.com/support/downloads/myri10ge.html +S: Supported +F: drivers/net/ethernet/myricom/myri10ge/ + +NAND FLASH SUBSYSTEM +M: Boris Brezillon boris.brezillon@free-electrons.com +R: Richard Weinberger richard@nod.at +L: linux-mtd@lists.infradead.org +W: http://www.linux-mtd.infradead.org/ +Q: http://patchwork.ozlabs.org/project/linux-mtd/list/ +T: git git://github.com/linux-nand/linux.git +S: Maintained +F: drivers/mtd/nand/ +F: include/linux/mtd/nand*.h + +NATSEMI ETHERNET DRIVER (DP8381x) +S: Orphan +F: drivers/net/ethernet/natsemi/natsemi.c + +NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER +M: Daniel Mack zonque@gmail.com +S: Maintained +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +W: http://www.native-instruments.com +F: sound/usb/caiaq/ + +NCP FILESYSTEM +M: Petr Vandrovec petr@vandrovec.name +S: Odd Fixes +F: fs/ncpfs/ + +NCR 5380 SCSI DRIVERS +M: Finn Thain fthain@telegraphics.com.au +M: Michael Schmitz schmitzmic@gmail.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: Documentation/scsi/g_NCR5380.txt +F: Documentation/scsi/dtc3x80.txt +F: drivers/scsi/NCR5380.* +F: drivers/scsi/arm/cumana_1.c +F: drivers/scsi/arm/oak.c +F: drivers/scsi/atari_scsi.* +F: drivers/scsi/dmx3191d.c +F: drivers/scsi/dtc.* +F: drivers/scsi/g_NCR5380.* +F: drivers/scsi/g_NCR5380_mmio.c +F: drivers/scsi/mac_scsi.* +F: drivers/scsi/pas16.* +F: drivers/scsi/sun3_scsi.* +F: drivers/scsi/sun3_scsi_vme.c +F: drivers/scsi/t128.* + +NCR DUAL 700 SCSI DRIVER (MICROCHANNEL) +M: "James E.J. Bottomley" James.Bottomley@HansenPartnership.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/NCR_D700.* + +NCT6775 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/nct6775 +F: drivers/hwmon/nct6775.c + +NETEFFECT IWARP RNIC DRIVER (IW_NES) +M: Faisal Latif faisal.latif@intel.com +L: linux-rdma@vger.kernel.org +W: http://www.intel.com/Products/Server/Adapters/Server-Cluster/Server-Cluster-... +S: Supported +F: drivers/infiniband/hw/nes/ + +NETEM NETWORK EMULATOR +M: Stephen Hemminger stephen@networkplumber.org +L: netem@lists.linux-foundation.org (moderated for non-subscribers) +S: Maintained +F: net/sched/sch_netem.c + +NETERION 10GbE DRIVERS (s2io/vxge) +M: Jon Mason jdmason@kudzu.us +L: netdev@vger.kernel.org +S: Supported +F: Documentation/networking/s2io.txt +F: Documentation/networking/vxge.txt +F: drivers/net/ethernet/neterion/ + +NETFILTER ({IP,IP6,ARP,EB,NF}TABLES) +M: Pablo Neira Ayuso pablo@netfilter.org +M: Patrick McHardy kaber@trash.net +M: Jozsef Kadlecsik kadlec@blackhole.kfki.hu +L: netfilter-devel@vger.kernel.org +L: coreteam@netfilter.org +W: http://www.netfilter.org/ +W: http://www.iptables.org/ +Q: http://patchwork.ozlabs.org/project/netfilter-devel/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git +S: Supported +F: include/linux/netfilter* +F: include/linux/netfilter/ +F: include/net/netfilter/ +F: include/uapi/linux/netfilter* +F: include/uapi/linux/netfilter/ +F: net/*/netfilter.c +F: net/*/netfilter/ +F: net/netfilter/ +F: net/bridge/br_netfilter*.c + +NETLABEL +M: Paul Moore paul@paul-moore.com +W: http://netlabel.sf.net +L: netdev@vger.kernel.org +S: Maintained +F: Documentation/netlabel/ +F: include/net/netlabel.h +F: net/netlabel/ + +NETROM NETWORK LAYER +M: Ralf Baechle ralf@linux-mips.org +L: linux-hams@vger.kernel.org +W: http://www.linux-ax25.org/ +S: Maintained +F: include/net/netrom.h +F: include/uapi/linux/netrom.h +F: net/netrom/ + +NETRONOME ETHERNET DRIVERS +M: Jakub Kicinski jakub.kicinski@netronome.com +L: oss-drivers@netronome.com +S: Maintained +F: drivers/net/ethernet/netronome/ + +NETWORK BLOCK DEVICE (NBD) +M: Markus Pargmann mpa@pengutronix.de +S: Maintained +L: nbd-general@lists.sourceforge.net +T: git git://git.pengutronix.de/git/mpa/linux-nbd.git +F: Documentation/blockdev/nbd.txt +F: drivers/block/nbd.c +F: include/uapi/linux/nbd.h + +NETWORK DROP MONITOR +M: Neil Horman nhorman@tuxdriver.com +L: netdev@vger.kernel.org +S: Maintained +W: https://fedorahosted.org/dropwatch/ +F: net/core/drop_monitor.c + +NETWORKING [GENERAL] +M: "David S. Miller" davem@davemloft.net +L: netdev@vger.kernel.org +W: http://www.linuxfoundation.org/en/Net +Q: http://patchwork.ozlabs.org/project/netdev/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git +S: Maintained +F: net/ +F: include/net/ +F: include/linux/in.h +F: include/linux/net.h +F: include/linux/netdevice.h +F: include/uapi/linux/in.h +F: include/uapi/linux/net.h +F: include/uapi/linux/netdevice.h +F: include/uapi/linux/net_namespace.h +F: tools/net/ +F: tools/testing/selftests/net/ +F: lib/random32.c +F: lib/test_bpf.c + +NETWORKING [IPv4/IPv6] +M: "David S. Miller" davem@davemloft.net +M: Alexey Kuznetsov kuznet@ms2.inr.ac.ru +M: James Morris jmorris@namei.org +M: Hideaki YOSHIFUJI yoshfuji@linux-ipv6.org +M: Patrick McHardy kaber@trash.net +L: netdev@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git +S: Maintained +F: net/ipv4/ +F: net/ipv6/ +F: include/net/ip* +F: arch/x86/net/* + +NETWORKING [IPSEC] +M: Steffen Klassert steffen.klassert@secunet.com +M: Herbert Xu herbert@gondor.apana.org.au +M: "David S. Miller" davem@davemloft.net +L: netdev@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git +S: Maintained +F: net/core/flow.c +F: net/xfrm/ +F: net/key/ +F: net/ipv4/xfrm* +F: net/ipv4/esp4.c +F: net/ipv4/ah4.c +F: net/ipv4/ipcomp.c +F: net/ipv4/ip_vti.c +F: net/ipv6/xfrm* +F: net/ipv6/esp6.c +F: net/ipv6/ah6.c +F: net/ipv6/ipcomp6.c +F: net/ipv6/ip6_vti.c +F: include/uapi/linux/xfrm.h +F: include/net/xfrm.h + +NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK) +M: Paul Moore paul@paul-moore.com +L: netdev@vger.kernel.org +S: Maintained + +NETWORKING [WIRELESS] +L: linux-wireless@vger.kernel.org +Q: http://patchwork.kernel.org/project/linux-wireless/list/ + +NETWORKING DRIVERS +L: netdev@vger.kernel.org +W: http://www.linuxfoundation.org/en/Net +Q: http://patchwork.ozlabs.org/project/netdev/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git +S: Odd Fixes +F: Documentation/devicetree/bindings/net/ +F: drivers/net/ +F: include/linux/if_* +F: include/linux/netdevice.h +F: include/linux/etherdevice.h +F: include/linux/fcdevice.h +F: include/linux/fddidevice.h +F: include/linux/hippidevice.h +F: include/linux/inetdevice.h +F: include/uapi/linux/if_* +F: include/uapi/linux/netdevice.h + +NETWORKING DRIVERS (WIRELESS) +M: Kalle Valo kvalo@codeaurora.org +L: linux-wireless@vger.kernel.org +Q: http://patchwork.kernel.org/project/linux-wireless/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git +S: Maintained +F: Documentation/devicetree/bindings/net/wireless/ +F: drivers/net/wireless/ + +NETXEN (1/10) GbE SUPPORT +M: Manish Chopra manish.chopra@qlogic.com +M: Sony Chacko sony.chacko@qlogic.com +M: Rajesh Borundia rajesh.borundia@qlogic.com +L: netdev@vger.kernel.org +W: http://www.qlogic.com +S: Supported +F: drivers/net/ethernet/qlogic/netxen/ + +NFC SUBSYSTEM +M: Lauro Ramos Venancio lauro.venancio@openbossa.org +M: Aloisio Almeida Jr aloisio.almeida@openbossa.org +M: Samuel Ortiz sameo@linux.intel.com +L: linux-wireless@vger.kernel.org +L: linux-nfc@lists.01.org (subscribers-only) +S: Supported +F: net/nfc/ +F: include/net/nfc/ +F: include/uapi/linux/nfc.h +F: drivers/nfc/ +F: include/linux/platform_data/nfcmrvl.h +F: include/linux/platform_data/nxp-nci.h +F: include/linux/platform_data/pn544.h +F: include/linux/platform_data/st21nfca.h +F: include/linux/platform_data/st-nci.h +F: Documentation/devicetree/bindings/net/nfc/ + +NFS, SUNRPC, AND LOCKD CLIENTS +M: Trond Myklebust trond.myklebust@primarydata.com +M: Anna Schumaker anna.schumaker@netapp.com +L: linux-nfs@vger.kernel.org +W: http://client.linux-nfs.org +T: git git://git.linux-nfs.org/projects/trondmy/linux-nfs.git +S: Maintained +F: fs/lockd/ +F: fs/nfs/ +F: fs/nfs_common/ +F: net/sunrpc/ +F: include/linux/lockd/ +F: include/linux/nfs* +F: include/linux/sunrpc/ +F: include/uapi/linux/nfs* +F: include/uapi/linux/sunrpc/ + +NILFS2 FILESYSTEM +M: Ryusuke Konishi konishi.ryusuke@lab.ntt.co.jp +L: linux-nilfs@vger.kernel.org +W: http://nilfs.sourceforge.net/ +W: http://nilfs.osdn.jp/ +T: git git://github.com/konis/nilfs2.git +S: Supported +F: Documentation/filesystems/nilfs2.txt +F: fs/nilfs2/ +F: include/linux/nilfs2_fs.h +F: include/trace/events/nilfs2.h + +NINJA SCSI-3 / NINJA SCSI-32Bi (16bit/CardBus) PCMCIA SCSI HOST ADAPTER DRIVER +M: YOKOTA Hiroshi yokota@netlab.is.tsukuba.ac.jp +W: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/ +S: Maintained +F: Documentation/scsi/NinjaSCSI.txt +F: drivers/scsi/pcmcia/nsp_* + +NINJA SCSI-32Bi/UDE PCI/CARDBUS SCSI HOST ADAPTER DRIVER +M: GOTO Masanori gotom@debian.or.jp +M: YOKOTA Hiroshi yokota@netlab.is.tsukuba.ac.jp +W: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/ +S: Maintained +F: Documentation/scsi/NinjaSCSI.txt +F: drivers/scsi/nsp32* + +NIOS2 ARCHITECTURE +M: Ley Foon Tan lftan@altera.com +L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2.git +S: Maintained +F: arch/nios2/ + +NOKIA N900 POWER SUPPLY DRIVERS +R: Pali Rohár pali.rohar@gmail.com +F: include/linux/power/bq2415x_charger.h +F: include/linux/power/bq27xxx_battery.h +F: include/linux/power/isp1704_charger.h +F: drivers/power/bq2415x_charger.c +F: drivers/power/bq27xxx_battery.c +F: drivers/power/bq27xxx_battery_i2c.c +F: drivers/power/isp1704_charger.c +F: drivers/power/rx51_battery.c + +NTB DRIVER CORE +M: Jon Mason jdmason@kudzu.us +M: Dave Jiang dave.jiang@intel.com +M: Allen Hubbe Allen.Hubbe@emc.com +L: linux-ntb@googlegroups.com +S: Supported +W: https://github.com/jonmason/ntb/wiki +T: git git://github.com/jonmason/ntb.git +F: drivers/ntb/ +F: drivers/net/ntb_netdev.c +F: include/linux/ntb.h +F: include/linux/ntb_transport.h + +NTB INTEL DRIVER +M: Jon Mason jdmason@kudzu.us +M: Dave Jiang dave.jiang@intel.com +L: linux-ntb@googlegroups.com +S: Supported +W: https://github.com/jonmason/ntb/wiki +T: git git://github.com/jonmason/ntb.git +F: drivers/ntb/hw/intel/ + +NTB AMD DRIVER +M: Xiangliang Yu Xiangliang.Yu@amd.com +L: linux-ntb@googlegroups.com +S: Supported +F: drivers/ntb/hw/amd/ + +NTFS FILESYSTEM +M: Anton Altaparmakov anton@tuxera.com +L: linux-ntfs-dev@lists.sourceforge.net +W: http://www.tuxera.com/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs.git +S: Supported +F: Documentation/filesystems/ntfs.txt +F: fs/ntfs/ + +NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER +M: Antonino Daplas adaplas@gmail.com +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/riva/ +F: drivers/video/fbdev/nvidia/ + +NVM EXPRESS DRIVER +M: Keith Busch keith.busch@intel.com +M: Jens Axboe axboe@fb.com +L: linux-nvme@lists.infradead.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git +W: https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux-block/ +S: Supported +F: drivers/nvme/host/ +F: include/linux/nvme.h + +NVMEM FRAMEWORK +M: Srinivas Kandagatla srinivas.kandagatla@linaro.org +M: Maxime Ripard maxime.ripard@free-electrons.com +S: Maintained +F: drivers/nvmem/ +F: Documentation/devicetree/bindings/nvmem/ +F: include/linux/nvmem-consumer.h +F: include/linux/nvmem-provider.h + +NXP-NCI NFC DRIVER +M: Clément Perrochaud clement.perrochaud@effinnov.com +R: Charles Gorand charles.gorand@effinnov.com +L: linux-nfc@lists.01.org (moderated for non-subscribers) +S: Supported +F: drivers/nfc/nxp-nci + +NXP TDA998X DRM DRIVER +M: Russell King rmk+kernel@armlinux.org.uk +S: Supported +F: drivers/gpu/drm/i2c/tda998x_drv.c +F: include/drm/i2c/tda998x.h + +NXP TFA9879 DRIVER +M: Peter Rosin peda@axentia.se +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Maintained +F: sound/soc/codecs/tfa9879* + +OBJTOOL +M: Josh Poimboeuf jpoimboe@redhat.com +S: Supported +F: tools/objtool/ + +OMAP SUPPORT +M: Tony Lindgren tony@atomide.com +L: linux-omap@vger.kernel.org +W: http://www.muru.com/linux/omap/ +W: http://linux.omap.com/ +Q: http://patchwork.kernel.org/project/linux-omap/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git +S: Maintained +F: arch/arm/*omap*/ +F: arch/arm/configs/omap1_defconfig +F: arch/arm/configs/omap2plus_defconfig +F: drivers/i2c/busses/i2c-omap.c +F: drivers/irqchip/irq-omap-intc.c +F: drivers/mfd/*omap*.c +F: drivers/mfd/menelaus.c +F: drivers/mfd/palmas.c +F: drivers/mfd/tps65217.c +F: drivers/mfd/tps65218.c +F: drivers/mfd/tps65910.c +F: drivers/mfd/twl-core.[ch] +F: drivers/mfd/twl4030*.c +F: drivers/mfd/twl6030*.c +F: drivers/mfd/twl6040*.c +F: drivers/regulator/palmas-regulator*.c +F: drivers/regulator/pbias-regulator.c +F: drivers/regulator/tps65217-regulator.c +F: drivers/regulator/tps65218-regulator.c +F: drivers/regulator/tps65910-regulator.c +F: drivers/regulator/twl-regulator.c +F: include/linux/i2c-omap.h + +OMAP DEVICE TREE SUPPORT +M: Benoît Cousson bcousson@baylibre.com +M: Tony Lindgren tony@atomide.com +L: linux-omap@vger.kernel.org +L: devicetree@vger.kernel.org +S: Maintained +F: arch/arm/boot/dts/*omap* +F: arch/arm/boot/dts/*am3* +F: arch/arm/boot/dts/*am4* +F: arch/arm/boot/dts/*am5* +F: arch/arm/boot/dts/*dra7* + +OMAP CLOCK FRAMEWORK SUPPORT +M: Paul Walmsley paul@pwsan.com +L: linux-omap@vger.kernel.org +S: Maintained +F: arch/arm/*omap*/*clock* + +OMAP POWER MANAGEMENT SUPPORT +M: Kevin Hilman khilman@kernel.org +L: linux-omap@vger.kernel.org +S: Maintained +F: arch/arm/*omap*/*pm* +F: drivers/cpufreq/omap-cpufreq.c + +OMAP POWERDOMAIN SOC ADAPTATION LAYER SUPPORT +M: Rajendra Nayak rnayak@codeaurora.org +M: Paul Walmsley paul@pwsan.com +L: linux-omap@vger.kernel.org +S: Maintained +F: arch/arm/mach-omap2/prm* + +OMAP AUDIO SUPPORT +M: Peter Ujfalusi peter.ujfalusi@ti.com +M: Jarkko Nikula jarkko.nikula@bitmer.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +L: linux-omap@vger.kernel.org +S: Maintained +F: sound/soc/omap/ + +OMAP GENERAL PURPOSE MEMORY CONTROLLER SUPPORT +M: Roger Quadros rogerq@ti.com +M: Tony Lindgren tony@atomide.com +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/memory/omap-gpmc.c +F: arch/arm/mach-omap2/*gpmc* + +OMAP FRAMEBUFFER SUPPORT +M: Tomi Valkeinen tomi.valkeinen@ti.com +L: linux-fbdev@vger.kernel.org +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/omap/ + +OMAP DISPLAY SUBSYSTEM and FRAMEBUFFER SUPPORT (DSS2) +M: Tomi Valkeinen tomi.valkeinen@ti.com +L: linux-omap@vger.kernel.org +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/omap2/ +F: Documentation/arm/OMAP/DSS + +OMAP HARDWARE SPINLOCK SUPPORT +M: Ohad Ben-Cohen ohad@wizery.com +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/hwspinlock/omap_hwspinlock.c + +OMAP MMC SUPPORT +M: Jarkko Lavinen jarkko.lavinen@nokia.com +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/mmc/host/omap.c + +OMAP HS MMC SUPPORT +L: linux-mmc@vger.kernel.org +L: linux-omap@vger.kernel.org +S: Orphan +F: drivers/mmc/host/omap_hsmmc.c + +OMAP RANDOM NUMBER GENERATOR SUPPORT +M: Deepak Saxena dsaxena@plexity.net +S: Maintained +F: drivers/char/hw_random/omap-rng.c + +OMAP HWMOD SUPPORT +M: Benoît Cousson bcousson@baylibre.com +M: Paul Walmsley paul@pwsan.com +L: linux-omap@vger.kernel.org +S: Maintained +F: arch/arm/mach-omap2/omap_hwmod.* + +OMAP HWMOD DATA +M: Paul Walmsley paul@pwsan.com +L: linux-omap@vger.kernel.org +S: Maintained +F: arch/arm/mach-omap2/omap_hwmod*data* + +OMAP HWMOD DATA FOR OMAP4-BASED DEVICES +M: Benoît Cousson bcousson@baylibre.com +L: linux-omap@vger.kernel.org +S: Maintained +F: arch/arm/mach-omap2/omap_hwmod_44xx_data.c + +OMAP IMAGING SUBSYSTEM (OMAP3 ISP and OMAP4 ISS) +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/media/ti,omap3isp.txt +F: drivers/media/platform/omap3isp/ +F: drivers/staging/media/omap4iss/ + +OMAP USB SUPPORT +L: linux-usb@vger.kernel.org +L: linux-omap@vger.kernel.org +S: Orphan +F: drivers/usb/*/*omap* +F: arch/arm/*omap*/usb* + +OMAP GPIO DRIVER +M: Grygorii Strashko grygorii.strashko@ti.com +M: Santosh Shilimkar ssantosh@kernel.org +M: Kevin Hilman khilman@kernel.org +L: linux-omap@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/gpio/gpio-omap.txt +F: drivers/gpio/gpio-omap.c + +OMAP/NEWFLOW NANOBONE MACHINE SUPPORT +M: Mark Jackson mpfj@newflow.co.uk +L: linux-omap@vger.kernel.org +S: Maintained +F: arch/arm/boot/dts/am335x-nano.dts + +OMFS FILESYSTEM +M: Bob Copeland me@bobcopeland.com +L: linux-karma-devel@lists.sourceforge.net +S: Maintained +F: Documentation/filesystems/omfs.txt +F: fs/omfs/ + +OMNIKEY CARDMAN 4000 DRIVER +M: Harald Welte laforge@gnumonks.org +S: Maintained +F: drivers/char/pcmcia/cm4000_cs.c +F: include/linux/cm4000_cs.h +F: include/uapi/linux/cm4000_cs.h + +OMNIKEY CARDMAN 4040 DRIVER +M: Harald Welte laforge@gnumonks.org +S: Maintained +F: drivers/char/pcmcia/cm4040_cs.* + +OMNIVISION OV7670 SENSOR DRIVER +M: Jonathan Corbet corbet@lwn.net +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/i2c/ov7670.c + +ONENAND FLASH DRIVER +M: Kyungmin Park kyungmin.park@samsung.com +L: linux-mtd@lists.infradead.org +S: Maintained +F: drivers/mtd/onenand/ +F: include/linux/mtd/onenand*.h + +ONSTREAM SCSI TAPE DRIVER +M: Willem Riede osst@riede.org +L: osst-users@lists.sourceforge.net +L: linux-scsi@vger.kernel.org +S: Maintained +F: Documentation/scsi/osst.txt +F: drivers/scsi/osst.* +F: drivers/scsi/osst_*.h +F: drivers/scsi/st.h + +OPENCORES I2C BUS DRIVER +M: Peter Korsgaard jacmet@sunsite.dk +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-ocores +F: drivers/i2c/busses/i2c-ocores.c + +OPEN FIRMWARE AND FLATTENED DEVICE TREE +M: Rob Herring robh+dt@kernel.org +M: Frank Rowand frowand.list@gmail.com +M: Grant Likely grant.likely@linaro.org +L: devicetree@vger.kernel.org +W: http://www.devicetree.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux.git +S: Maintained +F: drivers/of/ +F: include/linux/of*.h +F: scripts/dtc/ + +OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS +M: Rob Herring robh+dt@kernel.org +M: Pawel Moll pawel.moll@arm.com +M: Mark Rutland mark.rutland@arm.com +M: Ian Campbell ijc+devicetree@hellion.org.uk +M: Kumar Gala galak@codeaurora.org +L: devicetree@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git +S: Maintained +F: Documentation/devicetree/ +F: arch/*/boot/dts/ +F: include/dt-bindings/ + +OPEN FIRMWARE AND DEVICE TREE OVERLAYS +M: Pantelis Antoniou pantelis.antoniou@konsulko.com +L: devicetree@vger.kernel.org +S: Maintained +F: Documentation/devicetree/dynamic-resolution-notes.txt +F: Documentation/devicetree/overlay-notes.txt +F: drivers/of/overlay.c +F: drivers/of/resolver.c + +OPENRISC ARCHITECTURE +M: Jonas Bonn jonas@southpole.se +W: http://openrisc.net +S: Maintained +T: git git://openrisc.net/~jonas/linux +F: arch/openrisc/ + +OPENVSWITCH +M: Pravin Shelar pshelar@nicira.com +L: netdev@vger.kernel.org +L: dev@openvswitch.org +W: http://openvswitch.org +S: Maintained +F: net/openvswitch/ +F: include/uapi/linux/openvswitch.h + +OPERATING PERFORMANCE POINTS (OPP) +M: Viresh Kumar vireshk@kernel.org +M: Nishanth Menon nm@ti.com +M: Stephen Boyd sboyd@codeaurora.org +L: linux-pm@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git +F: drivers/base/power/opp/ +F: include/linux/pm_opp.h +F: Documentation/power/opp.txt +F: Documentation/devicetree/bindings/opp/ + +OPL4 DRIVER +M: Clemens Ladisch clemens@ladisch.de +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +T: git git://git.alsa-project.org/alsa-kernel.git +S: Maintained +F: sound/drivers/opl4/ + +OPROFILE +M: Robert Richter rric@kernel.org +L: oprofile-list@lists.sf.net +S: Maintained +F: arch/*/include/asm/oprofile*.h +F: arch/*/oprofile/ +F: drivers/oprofile/ +F: include/linux/oprofile.h + +ORACLE CLUSTER FILESYSTEM 2 (OCFS2) +M: Mark Fasheh mfasheh@suse.com +M: Joel Becker jlbec@evilplan.org +L: ocfs2-devel@oss.oracle.com (moderated for non-subscribers) +W: http://ocfs2.wiki.kernel.org +S: Supported +F: Documentation/filesystems/ocfs2.txt +F: Documentation/filesystems/dlmfs.txt +F: fs/ocfs2/ + +ORINOCO DRIVER +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/en/users/Drivers/orinoco +W: http://www.nongnu.org/orinoco/ +S: Orphan +F: drivers/net/wireless/intersil/orinoco/ + +OSD LIBRARY and FILESYSTEM +M: Boaz Harrosh ooo@electrozaur.com +M: Benny Halevy bhalevy@primarydata.com +L: osd-dev@open-osd.org +W: http://open-osd.org +T: git git://git.open-osd.org/open-osd.git +S: Maintained +F: drivers/scsi/osd/ +F: include/scsi/osd_* +F: fs/exofs/ + +OVERLAY FILESYSTEM +M: Miklos Szeredi miklos@szeredi.hu +L: linux-unionfs@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git +S: Supported +F: fs/overlayfs/ +F: Documentation/filesystems/overlayfs.txt + +ORANGEFS FILESYSTEM +M: Mike Marshall hubcap@omnibond.com +L: pvfs2-developers@beowulf-underground.org (subscribers-only) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git +S: Supported +F: fs/orangefs/ +F: Documentation/filesystems/orangefs.txt + +P54 WIRELESS DRIVER +M: Christian Lamparter chunkeey@googlemail.com +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/en/users/Drivers/p54 +S: Maintained +F: drivers/net/wireless/intersil/p54/ + +PA SEMI ETHERNET DRIVER +M: Olof Johansson olof@lixom.net +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/pasemi/* + +PA SEMI SMBUS DRIVER +M: Olof Johansson olof@lixom.net +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/i2c/busses/i2c-pasemi.c + +PADATA PARALLEL EXECUTION MECHANISM +M: Steffen Klassert steffen.klassert@secunet.com +L: linux-crypto@vger.kernel.org +S: Maintained +F: kernel/padata.c +F: include/linux/padata.h +F: Documentation/padata.txt + +PANASONIC LAPTOP ACPI EXTRAS DRIVER +M: Harald Welte laforge@gnumonks.org +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/panasonic-laptop.c + +PANASONIC MN10300/AM33/AM34 PORT +M: David Howells dhowells@redhat.com +L: linux-am33-list@redhat.com (moderated for non-subscribers) +W: ftp://ftp.redhat.com/pub/redhat/gnupro/AM33/ +S: Maintained +F: Documentation/mn10300/ +F: arch/mn10300/ + +PARALLEL LCD/KEYPAD PANEL DRIVER +M: Willy Tarreau willy@haproxy.com +M: Ksenija Stanojevic ksenija.stanojevic@gmail.com +S: Odd Fixes +F: Documentation/misc-devices/lcd-panel-cgram.txt +F: drivers/misc/panel.c + +PARALLEL PORT SUBSYSTEM +M: Sudip Mukherjee sudipm.mukherjee@gmail.com +M: Sudip Mukherjee sudip@vectorindia.org +L: linux-parport@lists.infradead.org (subscribers-only) +S: Maintained +F: drivers/parport/ +F: include/linux/parport*.h +F: drivers/char/ppdev.c +F: include/uapi/linux/ppdev.h +F: Documentation/parport*.txt + +PARAVIRT_OPS INTERFACE +M: Jeremy Fitzhardinge jeremy@goop.org +M: Chris Wright chrisw@sous-sol.org +M: Alok Kataria akataria@vmware.com +M: Rusty Russell rusty@rustcorp.com.au +L: virtualization@lists.linux-foundation.org +S: Supported +F: Documentation/virtual/paravirt_ops.txt +F: arch/*/kernel/paravirt* +F: arch/*/include/asm/paravirt.h + +PARIDE DRIVERS FOR PARALLEL PORT IDE DEVICES +M: Tim Waugh tim@cyberelk.net +L: linux-parport@lists.infradead.org (subscribers-only) +S: Maintained +F: Documentation/blockdev/paride.txt +F: drivers/block/paride/ + +PARISC ARCHITECTURE +M: "James E.J. Bottomley" jejb@parisc-linux.org +M: Helge Deller deller@gmx.de +L: linux-parisc@vger.kernel.org +W: http://www.parisc-linux.org/ +Q: http://patchwork.kernel.org/project/linux-parisc/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git +S: Maintained +F: arch/parisc/ +F: Documentation/parisc/ +F: drivers/parisc/ +F: drivers/char/agp/parisc-agp.c +F: drivers/input/serio/gscps2.c +F: drivers/parport/parport_gsc.* +F: drivers/tty/serial/8250/8250_gsc.c +F: drivers/video/fbdev/sti* +F: drivers/video/console/sti* +F: drivers/video/logo/logo_parisc* + +PC87360 HARDWARE MONITORING DRIVER +M: Jim Cromie jim.cromie@gmail.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/pc87360 +F: drivers/hwmon/pc87360.c + +PC8736x GPIO DRIVER +M: Jim Cromie jim.cromie@gmail.com +S: Maintained +F: drivers/char/pc8736x_gpio.c + +PC87427 HARDWARE MONITORING DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/pc87427 +F: drivers/hwmon/pc87427.c + +PCA9532 LED DRIVER +M: Riku Voipio riku.voipio@iki.fi +S: Maintained +F: drivers/leds/leds-pca9532.c +F: include/linux/leds-pca9532.h + +PCA9541 I2C BUS MASTER SELECTOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/i2c/muxes/i2c-mux-pca9541.c + +PCDP - PRIMARY CONSOLE AND DEBUG PORT +M: Khalid Aziz khalid@gonehiking.org +S: Maintained +F: drivers/firmware/pcdp.* + +PCI ERROR RECOVERY +M: Linas Vepstas linasvepstas@gmail.com +L: linux-pci@vger.kernel.org +S: Supported +F: Documentation/PCI/pci-error-recovery.txt + +PCI ENHANCED ERROR HANDLING (EEH) FOR POWERPC +M: Russell Currey ruscur@russell.cc +L: linuxppc-dev@lists.ozlabs.org +S: Supported +F: Documentation/powerpc/eeh-pci-error-recovery.txt +F: arch/powerpc/kernel/eeh*.c +F: arch/powerpc/platforms/*/eeh*.c +F: arch/powerpc/include/*/eeh*.h + +PCI SUBSYSTEM +M: Bjorn Helgaas bhelgaas@google.com +L: linux-pci@vger.kernel.org +Q: http://patchwork.ozlabs.org/project/linux-pci/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git +S: Supported +F: Documentation/PCI/ +F: drivers/pci/ +F: include/linux/pci* +F: arch/x86/pci/ +F: arch/x86/kernel/quirks.c + +PCI DRIVER FOR ALTERA PCIE IP +M: Ley Foon Tan lftan@altera.com +L: rfi@lists.rocketboards.org (moderated for non-subscribers) +L: linux-pci@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/pci/altera-pcie.txt +F: drivers/pci/host/pcie-altera.c + +PCI DRIVER FOR ARM VERSATILE PLATFORM +M: Rob Herring robh@kernel.org +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: Documentation/devicetree/bindings/pci/versatile.txt +F: drivers/pci/host/pci-versatile.c + +PCI DRIVER FOR APPLIEDMICRO XGENE +M: Tanmay Inamdar tinamdar@apm.com +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: Documentation/devicetree/bindings/pci/xgene-pci.txt +F: drivers/pci/host/pci-xgene.c + +PCI DRIVER FOR FREESCALE LAYERSCAPE +M: Minghuan Lian minghuan.Lian@freescale.com +M: Mingkai Hu mingkai.hu@freescale.com +M: Roy Zang tie-fei.zang@freescale.com +L: linuxppc-dev@lists.ozlabs.org +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: drivers/pci/host/*layerscape* + +PCI DRIVER FOR IMX6 +M: Richard Zhu Richard.Zhu@freescale.com +M: Lucas Stach l.stach@pengutronix.de +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/pci/host/*imx6* + +PCI DRIVER FOR TI KEYSTONE +M: Murali Karicheri m-karicheri2@ti.com +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/pci/host/*keystone* + +PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support) +M: Thomas Petazzoni thomas.petazzoni@free-electrons.com +M: Jason Cooper jason@lakedaemon.net +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/pci/host/*mvebu* + +PCI DRIVER FOR NVIDIA TEGRA +M: Thierry Reding thierry.reding@gmail.com +L: linux-tegra@vger.kernel.org +L: linux-pci@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt +F: drivers/pci/host/pci-tegra.c + +PCI DRIVER FOR TI DRA7XX +M: Kishon Vijay Abraham I kishon@ti.com +L: linux-omap@vger.kernel.org +L: linux-pci@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/pci/ti-pci.txt +F: drivers/pci/host/pci-dra7xx.c + +PCI DRIVER FOR RENESAS R-CAR +M: Simon Horman horms@verge.net.au +L: linux-pci@vger.kernel.org +L: linux-renesas-soc@vger.kernel.org +S: Maintained +F: drivers/pci/host/*rcar* + +PCI DRIVER FOR SAMSUNG EXYNOS +M: Jingoo Han jingoohan1@gmail.com +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers) +S: Maintained +F: drivers/pci/host/pci-exynos.c + +PCI DRIVER FOR SYNOPSIS DESIGNWARE +M: Jingoo Han jingoohan1@gmail.com +M: Pratyush Anand pratyush.anand@gmail.com +L: linux-pci@vger.kernel.org +S: Maintained +F: drivers/pci/host/*designware* + +PCI DRIVER FOR SYNOPSYS PROTOTYPING DEVICE +M: Joao Pinto jpinto@synopsys.com +L: linux-pci@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/pci/designware-pcie.txt +F: drivers/pci/host/pcie-designware-plat.c + +PCI DRIVER FOR GENERIC OF HOSTS +M: Will Deacon will.deacon@arm.com +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: Documentation/devicetree/bindings/pci/host-generic-pci.txt +F: drivers/pci/host/pci-host-common.c +F: drivers/pci/host/pci-host-generic.c + +PCI DRIVER FOR INTEL VOLUME MANAGEMENT DEVICE (VMD) +M: Keith Busch keith.busch@intel.com +L: linux-pci@vger.kernel.org +S: Supported +F: arch/x86/pci/vmd.c + +PCIE DRIVER FOR ST SPEAR13XX +M: Pratyush Anand pratyush.anand@gmail.com +L: linux-pci@vger.kernel.org +S: Maintained +F: drivers/pci/host/*spear* + +PCI MSI DRIVER FOR ALTERA MSI IP +M: Ley Foon Tan lftan@altera.com +L: rfi@lists.rocketboards.org (moderated for non-subscribers) +L: linux-pci@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/pci/altera-pcie-msi.txt +F: drivers/pci/host/pcie-altera-msi.c + +PCI MSI DRIVER FOR APPLIEDMICRO XGENE +M: Duc Dang dhdang@apm.com +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: Documentation/devicetree/bindings/pci/xgene-pci-msi.txt +F: drivers/pci/host/pci-xgene-msi.c + +PCIE DRIVER FOR HISILICON +M: Zhou Wang wangzhou1@hisilicon.com +M: Gabriele Paoloni gabriele.paoloni@huawei.com +L: linux-pci@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/pci/hisilicon-pcie.txt +F: drivers/pci/host/pcie-hisi.c + +PCIE DRIVER FOR QUALCOMM MSM +M: Stanimir Varbanov svarbanov@mm-sol.com +L: linux-pci@vger.kernel.org +L: linux-arm-msm@vger.kernel.org +S: Maintained +F: drivers/pci/host/*qcom* + +PCIE DRIVER FOR CAVIUM THUNDERX +M: David Daney david.daney@cavium.com +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: Documentation/devicetree/bindings/pci/pci-thunder-* +F: drivers/pci/host/pci-thunder-* + +PCMCIA SUBSYSTEM +P: Linux PCMCIA Team +L: linux-pcmcia@lists.infradead.org +W: http://lists.infradead.org/mailman/listinfo/linux-pcmcia +T: git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia.git +S: Maintained +F: Documentation/pcmcia/ +F: drivers/pcmcia/ +F: include/pcmcia/ + +PCNET32 NETWORK DRIVER +M: Don Fry pcnet32@frontier.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/amd/pcnet32.c + +PCRYPT PARALLEL CRYPTO ENGINE +M: Steffen Klassert steffen.klassert@secunet.com +L: linux-crypto@vger.kernel.org +S: Maintained +F: crypto/pcrypt.c +F: include/crypto/pcrypt.h + +PER-CPU MEMORY ALLOCATOR +M: Tejun Heo tj@kernel.org +M: Christoph Lameter cl@linux.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git +S: Maintained +F: include/linux/percpu*.h +F: mm/percpu*.c +F: arch/*/include/asm/percpu.h + +PER-TASK DELAY ACCOUNTING +M: Balbir Singh bsingharora@gmail.com +S: Maintained +F: include/linux/delayacct.h +F: kernel/delayacct.c + +PERFORMANCE EVENTS SUBSYSTEM +M: Peter Zijlstra peterz@infradead.org +M: Ingo Molnar mingo@redhat.com +M: Arnaldo Carvalho de Melo acme@kernel.org +R: Alexander Shishkin alexander.shishkin@linux.intel.com +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core +S: Supported +F: kernel/events/* +F: include/linux/perf_event.h +F: include/uapi/linux/perf_event.h +F: arch/*/kernel/perf_event*.c +F: arch/*/kernel/*/perf_event*.c +F: arch/*/kernel/*/*/perf_event*.c +F: arch/*/include/asm/perf_event.h +F: arch/*/kernel/perf_callchain.c +F: arch/*/events/* +F: tools/perf/ + +PERSONALITY HANDLING +M: Christoph Hellwig hch@infradead.org +L: linux-abi-devel@lists.sourceforge.net +S: Maintained +F: include/linux/personality.h +F: include/uapi/linux/personality.h + +PHONET PROTOCOL +M: Remi Denis-Courmont courmisch@gmail.com +S: Supported +F: Documentation/networking/phonet.txt +F: include/linux/phonet.h +F: include/net/phonet/ +F: include/uapi/linux/phonet.h +F: net/phonet/ + +PHRAM MTD DRIVER +M: Joern Engel joern@lazybastard.org +L: linux-mtd@lists.infradead.org +S: Maintained +F: drivers/mtd/devices/phram.c + +PICOLCD HID DRIVER +M: Bruno Prémont bonbons@linux-vserver.org +L: linux-input@vger.kernel.org +S: Maintained +F: drivers/hid/hid-picolcd* + +PICOXCELL SUPPORT +M: Jamie Iles jamie@jamieiles.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://github.com/jamieiles/linux-2.6-ji.git +S: Supported +F: arch/arm/boot/dts/picoxcell* +F: arch/arm/mach-picoxcell/ +F: drivers/crypto/picoxcell* + +PIN CONTROL SUBSYSTEM +M: Linus Walleij linus.walleij@linaro.org +L: linux-gpio@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git +S: Maintained +F: Documentation/devicetree/bindings/pinctrl/ +F: drivers/pinctrl/ +F: include/linux/pinctrl/ + +PIN CONTROLLER - ATMEL AT91 +M: Jean-Christophe Plagniol-Villard plagnioj@jcrosoft.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/pinctrl/pinctrl-at91.* + +PIN CONTROLLER - ATMEL AT91 PIO4 +M: Ludovic Desroches ludovic.desroches@atmel.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-gpio@vger.kernel.org +S: Supported +F: drivers/pinctrl/pinctrl-at91-pio4.* + +PIN CONTROLLER - INTEL +M: Mika Westerberg mika.westerberg@linux.intel.com +M: Heikki Krogerus heikki.krogerus@linux.intel.com +S: Maintained +F: drivers/pinctrl/intel/ + +PIN CONTROLLER - RENESAS +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +M: Geert Uytterhoeven geert+renesas@glider.be +L: linux-renesas-soc@vger.kernel.org +S: Maintained +F: drivers/pinctrl/sh-pfc/ + +PIN CONTROLLER - SAMSUNG +M: Tomasz Figa tomasz.figa@gmail.com +M: Krzysztof Kozlowski k.kozlowski@samsung.com +M: Sylwester Nawrocki s.nawrocki@samsung.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers) +S: Maintained +F: drivers/pinctrl/samsung/ + +PIN CONTROLLER - SINGLE +M: Tony Lindgren tony@atomide.com +M: Haojian Zhuang haojian.zhuang@linaro.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/pinctrl/pinctrl-single.c + +PIN CONTROLLER - ST SPEAR +M: Viresh Kumar vireshk@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.st.com/spear +S: Maintained +F: drivers/pinctrl/spear/ + +PKTCDVD DRIVER +M: Jiri Kosina jikos@kernel.org +S: Maintained +F: drivers/block/pktcdvd.c +F: include/linux/pktcdvd.h +F: include/uapi/linux/pktcdvd.h + +PKUNITY SOC DRIVERS +M: Guan Xuetao gxt@mprc.pku.edu.cn +W: http://mprc.pku.edu.cn/~guanxuetao/linux +S: Maintained +T: git git://github.com/gxt/linux.git +F: drivers/input/serio/i8042-unicore32io.h +F: drivers/i2c/busses/i2c-puv3.c +F: drivers/video/fbdev/fb-puv3.c +F: drivers/rtc/rtc-puv3.c + +PMBUS HARDWARE MONITORING DRIVERS +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +W: http://hwmon.wiki.kernel.org/ +W: http://www.roeck-us.net/linux/drivers/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git +S: Maintained +F: Documentation/hwmon/pmbus +F: drivers/hwmon/pmbus/ +F: include/linux/i2c/pmbus.h + +PMC SIERRA MaxRAID DRIVER +L: linux-scsi@vger.kernel.org +W: http://www.pmc-sierra.com/ +S: Orphan +F: drivers/scsi/pmcraid.* + +PMC SIERRA PM8001 DRIVER +M: Jack Wang jinpu.wang@profitbricks.com +M: lindar_liu@usish.com +L: pmchba@pmcs.com +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/pm8001/ + +POSIX CLOCKS and TIMERS +M: Thomas Gleixner tglx@linutronix.de +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core +S: Maintained +F: fs/timerfd.c +F: include/linux/timer* +F: kernel/time/*timer* + +POWER MANAGEMENT CORE +M: "Rafael J. Wysocki" rjw@rjwysocki.net +L: linux-pm@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm +S: Supported +F: drivers/base/power/ +F: include/linux/pm.h +F: include/linux/pm_* +F: include/linux/powercap.h +F: drivers/powercap/ + +POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS +M: Sebastian Reichel sre@kernel.org +M: Dmitry Eremin-Solenikov dbaryshkov@gmail.com +M: David Woodhouse dwmw2@infradead.org +L: linux-pm@vger.kernel.org +T: git git://git.infradead.org/battery-2.6.git +S: Maintained +F: include/linux/power_supply.h +F: drivers/power/ +X: drivers/power/avs/ + +POWER STATE COORDINATION INTERFACE (PSCI) +M: Mark Rutland mark.rutland@arm.com +M: Lorenzo Pieralisi lorenzo.pieralisi@arm.com +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: drivers/firmware/psci.c +F: include/linux/psci.h +F: include/uapi/linux/psci.h + +PNP SUPPORT +M: "Rafael J. Wysocki" rafael.j.wysocki@intel.com +S: Maintained +F: drivers/pnp/ + +PPP PROTOCOL DRIVERS AND COMPRESSORS +M: Paul Mackerras paulus@samba.org +L: linux-ppp@vger.kernel.org +S: Maintained +F: drivers/net/ppp/ppp_* + +PPP OVER ATM (RFC 2364) +M: Mitchell Blank Jr mitch@sfgoth.com +S: Maintained +F: net/atm/pppoatm.c +F: include/uapi/linux/atmppp.h + +PPP OVER ETHERNET +M: Michal Ostrowski mostrows@earthlink.net +S: Maintained +F: drivers/net/ppp/pppoe.c +F: drivers/net/ppp/pppox.c + +PPP OVER L2TP +M: James Chapman jchapman@katalix.com +S: Maintained +F: net/l2tp/l2tp_ppp.c +F: include/linux/if_pppol2tp.h +F: include/uapi/linux/if_pppol2tp.h + +PPS SUPPORT +M: Rodolfo Giometti giometti@enneenne.com +W: http://wiki.enneenne.com/index.php/LinuxPPS_support +L: linuxpps@ml.enneenne.com (subscribers-only) +S: Maintained +F: Documentation/pps/ +F: drivers/pps/ +F: include/linux/pps*.h + +PPTP DRIVER +M: Dmitry Kozlov xeb@mail.ru +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ppp/pptp.c +W: http://sourceforge.net/projects/accel-pptp + +PREEMPTIBLE KERNEL +M: Robert Love rml@tech9.net +L: kpreempt-tech@lists.sourceforge.net +W: ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel +S: Supported +F: Documentation/preempt-locking.txt +F: include/linux/preempt.h + +PRISM54 WIRELESS DRIVER +M: "Luis R. Rodriguez" mcgrof@gmail.com +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/en/users/Drivers/p54 +S: Obsolete +F: drivers/net/wireless/intersil/prism54/ + +PS3 NETWORK SUPPORT +M: Geoff Levand geoff@infradead.org +L: netdev@vger.kernel.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: drivers/net/ethernet/toshiba/ps3_gelic_net.* + +PS3 PLATFORM SUPPORT +M: Geoff Levand geoff@infradead.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: arch/powerpc/boot/ps3* +F: arch/powerpc/include/asm/lv1call.h +F: arch/powerpc/include/asm/ps3*.h +F: arch/powerpc/platforms/ps3/ +F: drivers/*/ps3* +F: drivers/ps3/ +F: drivers/rtc/rtc-ps3.c +F: drivers/usb/host/*ps3.c +F: sound/ppc/snd_ps3* + +PS3VRAM DRIVER +M: Jim Paris jim@jtan.com +M: Geoff Levand geoff@infradead.org +L: linuxppc-dev@lists.ozlabs.org +S: Maintained +F: drivers/block/ps3vram.c + +PSTORE FILESYSTEM +M: Anton Vorontsov anton@enomsg.org +M: Colin Cross ccross@android.com +M: Kees Cook keescook@chromium.org +M: Tony Luck tony.luck@intel.com +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git +F: fs/pstore/ +F: include/linux/pstore* +F: drivers/firmware/efi/efi-pstore.c +F: drivers/acpi/apei/erst.c + +PTP HARDWARE CLOCK SUPPORT +M: Richard Cochran richardcochran@gmail.com +L: netdev@vger.kernel.org +S: Maintained +W: http://linuxptp.sourceforge.net/ +F: Documentation/ABI/testing/sysfs-ptp +F: Documentation/ptp/* +F: drivers/net/ethernet/freescale/gianfar_ptp.c +F: drivers/net/phy/dp83640* +F: drivers/ptp/* +F: include/linux/ptp_cl* + +PTRACE SUPPORT +M: Roland McGrath roland@hack.frob.com +M: Oleg Nesterov oleg@redhat.com +S: Maintained +F: include/asm-generic/syscall.h +F: include/linux/ptrace.h +F: include/linux/regset.h +F: include/linux/tracehook.h +F: include/uapi/linux/ptrace.h +F: kernel/ptrace.c + +PVRUSB2 VIDEO4LINUX DRIVER +M: Mike Isely isely@pobox.com +L: pvrusb2@isely.net (subscribers-only) +L: linux-media@vger.kernel.org +W: http://www.isely.net/pvrusb2/ +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: Documentation/video4linux/README.pvrusb2 +F: drivers/media/usb/pvrusb2/ + +PWC WEBCAM DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/usb/pwc/* + +PWM FAN DRIVER +M: Kamil Debski k.debski@samsung.com +L: linux-hwmon@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/hwmon/pwm-fan.txt +F: Documentation/hwmon/pwm-fan +F: drivers/hwmon/pwm-fan.c + +PWM SUBSYSTEM +M: Thierry Reding thierry.reding@gmail.com +L: linux-pwm@vger.kernel.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git +F: Documentation/pwm.txt +F: Documentation/devicetree/bindings/pwm/ +F: include/linux/pwm.h +F: drivers/pwm/ +F: drivers/video/backlight/pwm_bl.c +F: include/linux/pwm_backlight.h + +PXA2xx/PXA3xx SUPPORT +M: Daniel Mack daniel@zonque.org +M: Haojian Zhuang haojian.zhuang@gmail.com +M: Robert Jarzmik robert.jarzmik@free.fr +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://github.com/hzhuang1/linux.git +T: git git://github.com/rjarzmik/linux.git +S: Maintained +F: arch/arm/boot/dts/pxa* +F: arch/arm/mach-pxa/ +F: drivers/dma/pxa* +F: drivers/pcmcia/pxa2xx* +F: drivers/pinctrl/pxa/ +F: drivers/spi/spi-pxa2xx* +F: drivers/usb/gadget/udc/pxa2* +F: include/sound/pxa2xx-lib.h +F: sound/arm/pxa* +F: sound/soc/pxa/ + +PXA GPIO DRIVER +M: Robert Jarzmik robert.jarzmik@free.fr +L: linux-gpio@vger.kernel.org +S: Maintained +F: drivers/gpio/gpio-pxa.c + +PXA3xx NAND FLASH DRIVER +M: Ezequiel Garcia ezequiel.garcia@free-electrons.com +L: linux-mtd@lists.infradead.org +S: Maintained +F: drivers/mtd/nand/pxa3xx_nand.c + +MMP SUPPORT +M: Eric Miao eric.y.miao@gmail.com +M: Haojian Zhuang haojian.zhuang@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://github.com/hzhuang1/linux.git +T: git git://git.linaro.org/people/ycmiao/pxa-linux.git +S: Maintained +F: arch/arm/boot/dts/mmp* +F: arch/arm/mach-mmp/ + +PXA MMCI DRIVER +S: Orphan + +PXA RTC DRIVER +M: Robert Jarzmik robert.jarzmik@free.fr +L: rtc-linux@googlegroups.com +S: Maintained + +QAT DRIVER +M: Tadeusz Struk tadeusz.struk@intel.com +L: qat-linux@intel.com +S: Supported +F: drivers/crypto/qat/ + +QIB DRIVER +M: Mike Marciniszyn infinipath@intel.com +L: linux-rdma@vger.kernel.org +S: Supported +F: drivers/infiniband/hw/qib/ + +QLOGIC QLA1280 SCSI DRIVER +M: Michael Reed mdr@sgi.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/qla1280.[ch] + +QLOGIC QLA2XXX FC-SCSI DRIVER +M: qla2xxx-upstream@qlogic.com +L: linux-scsi@vger.kernel.org +S: Supported +F: Documentation/scsi/LICENSE.qla2xxx +F: drivers/scsi/qla2xxx/ + +QLOGIC QLA4XXX iSCSI DRIVER +M: QLogic-Storage-Upstream@qlogic.com +L: linux-scsi@vger.kernel.org +S: Supported +F: Documentation/scsi/LICENSE.qla4xxx +F: drivers/scsi/qla4xxx/ + +QLOGIC QLA3XXX NETWORK DRIVER +M: Jitendra Kalsaria jitendra.kalsaria@qlogic.com +M: Ron Mercer ron.mercer@qlogic.com +M: linux-driver@qlogic.com +L: netdev@vger.kernel.org +S: Supported +F: Documentation/networking/LICENSE.qla3xxx +F: drivers/net/ethernet/qlogic/qla3xxx.* + +QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER +M: Dept-GELinuxNICDev@qlogic.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/qlogic/qlcnic/ + +QLOGIC QLGE 10Gb ETHERNET DRIVER +M: Harish Patil harish.patil@qlogic.com +M: Sudarsana Kalluru sudarsana.kalluru@qlogic.com +M: Dept-GELinuxNICDev@qlogic.com +M: linux-driver@qlogic.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/qlogic/qlge/ + +QLOGIC QL4xxx ETHERNET DRIVER +M: Yuval Mintz Yuval.Mintz@qlogic.com +M: Ariel Elior Ariel.Elior@qlogic.com +M: everest-linux-l2@qlogic.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/qlogic/qed/ +F: include/linux/qed/ +F: drivers/net/ethernet/qlogic/qede/ + +QNX4 FILESYSTEM +M: Anders Larsen al@alarsen.net +W: http://www.alarsen.net/linux/qnx4fs/ +S: Maintained +F: fs/qnx4/ +F: include/uapi/linux/qnx4_fs.h +F: include/uapi/linux/qnxtypes.h + +QT1010 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/qt1010* + +QUALCOMM ATHEROS ATH9K WIRELESS DRIVER +M: QCA ath9k Development ath9k-devel@qca.qualcomm.com +L: linux-wireless@vger.kernel.org +L: ath9k-devel@lists.ath9k.org +W: http://wireless.kernel.org/en/users/Drivers/ath9k +S: Supported +F: drivers/net/wireless/ath/ath9k/ + +QUALCOMM ATHEROS ATH10K WIRELESS DRIVER +M: Kalle Valo kvalo@qca.qualcomm.com +L: ath10k@lists.infradead.org +W: http://wireless.kernel.org/en/users/Drivers/ath10k +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git +S: Supported +F: drivers/net/wireless/ath/ath10k/ + +QUALCOMM HEXAGON ARCHITECTURE +M: Richard Kuo rkuo@codeaurora.org +L: linux-hexagon@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel.git +S: Supported +F: arch/hexagon/ + +QUALCOMM WCN36XX WIRELESS DRIVER +M: Eugene Krasnikov k.eugene.e@gmail.com +L: wcn36xx@lists.infradead.org +W: http://wireless.kernel.org/en/users/Drivers/wcn36xx +T: git git://github.com/KrasnikovEugene/wcn36xx.git +S: Supported +F: drivers/net/wireless/ath/wcn36xx/ + +QEMU MACHINE EMULATOR AND VIRTUALIZER SUPPORT +M: Gabriel Somlo somlo@cmu.edu +M: "Michael S. Tsirkin" mst@redhat.com +L: qemu-devel@nongnu.org +S: Maintained +F: drivers/firmware/qemu_fw_cfg.c + +RADOS BLOCK DEVICE (RBD) +M: Ilya Dryomov idryomov@gmail.com +M: Sage Weil sage@redhat.com +M: Alex Elder elder@kernel.org +L: ceph-devel@vger.kernel.org +W: http://ceph.com/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git +T: git git://github.com/ceph/ceph-client.git +S: Supported +F: Documentation/ABI/testing/sysfs-bus-rbd +F: drivers/block/rbd.c +F: drivers/block/rbd_types.h + +RADEON FRAMEBUFFER DISPLAY DRIVER +M: Benjamin Herrenschmidt benh@kernel.crashing.org +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/aty/radeon* +F: include/uapi/linux/radeonfb.h + +RADIOSHARK RADIO DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/radio/radio-shark.c + +RADIOSHARK2 RADIO DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/radio/radio-shark2.c +F: drivers/media/radio/radio-tea5777.c + +RAGE128 FRAMEBUFFER DISPLAY DRIVER +M: Paul Mackerras paulus@samba.org +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/aty/aty128fb.c + +RALINK MIPS ARCHITECTURE +M: John Crispin john@phrozen.org +L: linux-mips@linux-mips.org +S: Maintained +F: arch/mips/ralink + +RALINK RT2X00 WIRELESS LAN DRIVER +P: rt2x00 project +M: Stanislaw Gruszka sgruszka@redhat.com +M: Helmut Schaa helmut.schaa@googlemail.com +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/net/wireless/ralink/rt2x00/ + +RAMDISK RAM BLOCK DEVICE DRIVER +M: Jens Axboe axboe@kernel.dk +S: Maintained +F: Documentation/blockdev/ramdisk.txt +F: drivers/block/brd.c + +RANDOM NUMBER DRIVER +M: "Theodore Ts'o" tytso@mit.edu +S: Maintained +F: drivers/char/random.c + +RAPIDIO SUBSYSTEM +M: Matt Porter mporter@kernel.crashing.org +M: Alexandre Bounine alexandre.bounine@idt.com +S: Maintained +F: drivers/rapidio/ + +RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER +L: linux-wireless@vger.kernel.org +S: Orphan +F: drivers/net/wireless/ray* + +RCUTORTURE MODULE +M: Josh Triplett josh@joshtriplett.org +M: "Paul E. McKenney" paulmck@linux.vnet.ibm.com +L: linux-kernel@vger.kernel.org +S: Supported +T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git +F: Documentation/RCU/torture.txt +F: kernel/rcu/rcutorture.c + +RCUTORTURE TEST FRAMEWORK +M: "Paul E. McKenney" paulmck@linux.vnet.ibm.com +M: Josh Triplett josh@joshtriplett.org +R: Steven Rostedt rostedt@goodmis.org +R: Mathieu Desnoyers mathieu.desnoyers@efficios.com +R: Lai Jiangshan jiangshanlai@gmail.com +L: linux-kernel@vger.kernel.org +S: Supported +T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git +F: tools/testing/selftests/rcutorture + +RDC R-321X SoC +M: Florian Fainelli florian@openwrt.org +S: Maintained + +RDC R6040 FAST ETHERNET DRIVER +M: Florian Fainelli florian@openwrt.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/rdc/r6040.c + +RDS - RELIABLE DATAGRAM SOCKETS +M: Santosh Shilimkar santosh.shilimkar@oracle.com +L: netdev@vger.kernel.org +L: linux-rdma@vger.kernel.org +L: rds-devel@oss.oracle.com (moderated for non-subscribers) +W: https://oss.oracle.com/projects/rds/ +S: Supported +F: net/rds/ +F: Documentation/networking/rds.txt + +RDMAVT - RDMA verbs software +M: Dennis Dalessandro dennis.dalessandro@intel.com +L: linux-rdma@vger.kernel.org +S: Supported +F: drivers/infiniband/sw/rdmavt + +READ-COPY UPDATE (RCU) +M: "Paul E. McKenney" paulmck@linux.vnet.ibm.com +M: Josh Triplett josh@joshtriplett.org +R: Steven Rostedt rostedt@goodmis.org +R: Mathieu Desnoyers mathieu.desnoyers@efficios.com +R: Lai Jiangshan jiangshanlai@gmail.com +L: linux-kernel@vger.kernel.org +W: http://www.rdrop.com/users/paulmck/RCU/ +S: Supported +T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git +F: Documentation/RCU/ +X: Documentation/RCU/torture.txt +F: include/linux/rcu* +X: include/linux/srcu.h +F: kernel/rcu/ +X: kernel/torture.c + +REAL TIME CLOCK (RTC) SUBSYSTEM +M: Alessandro Zummo a.zummo@towertech.it +M: Alexandre Belloni alexandre.belloni@free-electrons.com +L: rtc-linux@googlegroups.com +Q: http://patchwork.ozlabs.org/project/rtc-linux/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git +S: Maintained +F: Documentation/rtc.txt +F: drivers/rtc/ +F: include/linux/rtc.h +F: include/uapi/linux/rtc.h + +REALTEK AUDIO CODECS +M: Bard Liao bardliao@realtek.com +M: Oder Chiou oder_chiou@realtek.com +S: Maintained +F: sound/soc/codecs/rt* +F: include/sound/rt*.h + +REISERFS FILE SYSTEM +L: reiserfs-devel@vger.kernel.org +S: Supported +F: fs/reiserfs/ + +REGISTER MAP ABSTRACTION +M: Mark Brown broonie@kernel.org +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git +S: Supported +F: drivers/base/regmap/ +F: include/linux/regmap.h + +REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM +M: Ohad Ben-Cohen ohad@wizery.com +M: Bjorn Andersson bjorn.andersson@linaro.org +L: linux-remoteproc@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc.git +S: Maintained +F: drivers/remoteproc/ +F: Documentation/remoteproc.txt +F: include/linux/remoteproc.h + +REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM +M: Ohad Ben-Cohen ohad@wizery.com +M: Bjorn Andersson bjorn.andersson@linaro.org +L: linux-remoteproc@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg.git +S: Maintained +F: drivers/rpmsg/ +F: Documentation/rpmsg.txt +F: include/linux/rpmsg.h + +RENESAS ETHERNET DRIVERS +R: Sergei Shtylyov sergei.shtylyov@cogentembedded.com +L: netdev@vger.kernel.org +L: linux-renesas-soc@vger.kernel.org +F: drivers/net/ethernet/renesas/ +F: include/linux/sh_eth.h + +RENESAS USB2 PHY DRIVER +M: Yoshihiro Shimoda yoshihiro.shimoda.uh@renesas.com +L: linux-renesas-soc@vger.kernel.org +S: Maintained +F: drivers/phy/phy-rcar-gen3-usb2.c + +RESET CONTROLLER FRAMEWORK +M: Philipp Zabel p.zabel@pengutronix.de +T: git git://git.pengutronix.de/git/pza/linux +S: Maintained +F: drivers/reset/ +F: Documentation/devicetree/bindings/reset/ +F: include/dt-bindings/reset/ +F: include/linux/reset.h +F: include/linux/reset-controller.h + +RFKILL +M: Johannes Berg johannes@sipsolutions.net +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git +S: Maintained +F: Documentation/rfkill.txt +F: net/rfkill/ + +RHASHTABLE +M: Thomas Graf tgraf@suug.ch +L: netdev@vger.kernel.org +S: Maintained +F: lib/rhashtable.c +F: include/linux/rhashtable.h + +RICOH SMARTMEDIA/XD DRIVER +M: Maxim Levitsky maximlevitsky@gmail.com +S: Maintained +F: drivers/mtd/nand/r852.c +F: drivers/mtd/nand/r852.h + +RICOH R5C592 MEMORYSTICK DRIVER +M: Maxim Levitsky maximlevitsky@gmail.com +S: Maintained +F: drivers/memstick/host/r592.* + +ROCCAT DRIVERS +M: Stefan Achatz erazor_de@users.sourceforge.net +W: http://sourceforge.net/projects/roccat/ +S: Maintained +F: drivers/hid/hid-roccat* +F: include/linux/hid-roccat* +F: Documentation/ABI/*/sysfs-driver-hid-roccat* + +ROCKER DRIVER +M: Jiri Pirko jiri@resnulli.us +M: Scott Feldman sfeldma@gmail.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/rocker/ + +ROCKETPORT DRIVER +P: Comtrol Corp. +W: http://www.comtrol.com +S: Maintained +F: Documentation/serial/rocket.txt +F: drivers/tty/rocket* + +ROCKETPORT EXPRESS/INFINITY DRIVER +M: Kevin Cernekee cernekee@gmail.com +L: linux-serial@vger.kernel.org +S: Odd Fixes +F: drivers/tty/serial/rp2.* + +ROSE NETWORK LAYER +M: Ralf Baechle ralf@linux-mips.org +L: linux-hams@vger.kernel.org +W: http://www.linux-ax25.org/ +S: Maintained +F: include/net/rose.h +F: include/uapi/linux/rose.h +F: net/rose/ + +RTL2830 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/rtl2830* + +RTL2832 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/rtl2832* + +RTL2832_SDR MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/rtl2832_sdr* + +RTL8180 WIRELESS DRIVER +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git +S: Orphan +F: drivers/net/wireless/realtek/rtl818x/rtl8180/ + +RTL8187 WIRELESS DRIVER +M: Herton Ronaldo Krzesinski herton@canonical.com +M: Hin-Tak Leung htl10@users.sourceforge.net +M: Larry Finger Larry.Finger@lwfinger.net +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git +S: Maintained +F: drivers/net/wireless/realtek/rtl818x/rtl8187/ + +RTL8192CE WIRELESS DRIVER +M: Larry Finger Larry.Finger@lwfinger.net +M: Chaoming Li chaoming_li@realsil.com.cn +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git +S: Maintained +F: drivers/net/wireless/realtek/rtlwifi/ +F: drivers/net/wireless/realtek/rtlwifi/rtl8192ce/ + +RTL8XXXU WIRELESS DRIVER (rtl8xxxu) +M: Jes Sorensen Jes.Sorensen@redhat.com +L: linux-wireless@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8xxxu-devel +S: Maintained +F: drivers/net/wireless/realtek/rtl8xxxu/ + +S3 SAVAGE FRAMEBUFFER DRIVER +M: Antonino Daplas adaplas@gmail.com +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/savage/ + +S390 +M: Martin Schwidefsky schwidefsky@de.ibm.com +M: Heiko Carstens heiko.carstens@de.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git +S: Supported +F: arch/s390/ +F: drivers/s390/ +F: Documentation/s390/ +F: Documentation/DocBook/s390* + +S390 COMMON I/O LAYER +M: Sebastian Ott sebott@linux.vnet.ibm.com +M: Peter Oberparleiter oberpar@linux.vnet.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: drivers/s390/cio/ + +S390 DASD DRIVER +M: Stefan Weinhuber wein@de.ibm.com +M: Stefan Haberland stefan.haberland@de.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: drivers/s390/block/dasd* +F: block/partitions/ibm.c + +S390 NETWORK DRIVERS +M: Ursula Braun ubraun@linux.vnet.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: drivers/s390/net/ + +S390 PCI SUBSYSTEM +M: Sebastian Ott sebott@linux.vnet.ibm.com +M: Gerald Schaefer gerald.schaefer@de.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: arch/s390/pci/ +F: drivers/pci/hotplug/s390_pci_hpc.c + +S390 ZCRYPT DRIVER +M: Ingo Tuchscherer ingo.tuchscherer@de.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: drivers/s390/crypto/ + +S390 ZFCP DRIVER +M: Steffen Maier maier@linux.vnet.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: drivers/s390/scsi/zfcp_* + +S390 IUCV NETWORK LAYER +M: Ursula Braun ubraun@linux.vnet.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: drivers/s390/net/*iucv* +F: include/net/iucv/ +F: net/iucv/ + +S390 IOMMU (PCI) +M: Gerald Schaefer gerald.schaefer@de.ibm.com +L: linux-s390@vger.kernel.org +W: http://www.ibm.com/developerworks/linux/linux390/ +S: Supported +F: drivers/iommu/s390-iommu.c + +S3C24XX SD/MMC Driver +M: Ben Dooks ben-linux@fluff.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: drivers/mmc/host/s3cmci.* + +SAA6588 RDS RECEIVER DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/i2c/saa6588* + +SAA7134 VIDEO4LINUX DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Odd fixes +F: Documentation/video4linux/*.saa7134 +F: drivers/media/pci/saa7134/ + +SAA7146 VIDEO4LINUX-2 DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/common/saa7146/ +F: drivers/media/pci/saa7146/ +F: include/media/saa7146* + +SAMSUNG LAPTOP DRIVER +M: Corentin Chary corentin.chary@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/samsung-laptop.c + +SAMSUNG AUDIO (ASoC) DRIVERS +M: Sangbeom Kim sbkim73@samsung.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Supported +F: sound/soc/samsung/ + +SAMSUNG FRAMEBUFFER DRIVER +M: Jingoo Han jingoohan1@gmail.com +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/s3c-fb.c + +SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS +M: Sangbeom Kim sbkim73@samsung.com +M: Krzysztof Kozlowski k.kozlowski@samsung.com +L: linux-kernel@vger.kernel.org +L: linux-samsung-soc@vger.kernel.org +S: Supported +F: drivers/mfd/sec*.c +F: drivers/regulator/s2m*.c +F: drivers/regulator/s5m*.c +F: drivers/clk/clk-s2mps11.c +F: drivers/rtc/rtc-s5m.c +F: include/linux/mfd/samsung/ +F: Documentation/devicetree/bindings/mfd/samsung,sec-core.txt +F: Documentation/devicetree/bindings/regulator/samsung,s2m*.txt +F: Documentation/devicetree/bindings/regulator/samsung,s5m*.txt +F: Documentation/devicetree/bindings/clock/samsung,s2mps11.txt + +SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS +M: Kyungmin Park kyungmin.park@samsung.com +M: Sylwester Nawrocki s.nawrocki@samsung.com +L: linux-media@vger.kernel.org +Q: https://patchwork.linuxtv.org/project/linux-media/list/ +S: Supported +F: drivers/media/platform/exynos4-is/ + +SAMSUNG S3C24XX/S3C64XX SOC SERIES CAMIF DRIVER +M: Sylwester Nawrocki sylvester.nawrocki@gmail.com +L: linux-media@vger.kernel.org +L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers) +S: Maintained +F: drivers/media/platform/s3c-camif/ +F: include/media/drv-intf/s3c_camif.h + +SAMSUNG S5C73M3 CAMERA DRIVER +M: Kyungmin Park kyungmin.park@samsung.com +M: Andrzej Hajda a.hajda@samsung.com +L: linux-media@vger.kernel.org +S: Supported +F: drivers/media/i2c/s5c73m3/* + +SAMSUNG S5K5BAF CAMERA DRIVER +M: Kyungmin Park kyungmin.park@samsung.com +M: Andrzej Hajda a.hajda@samsung.com +L: linux-media@vger.kernel.org +S: Supported +F: drivers/media/i2c/s5k5baf.c + +SAMSUNG S3FWRN5 NFC DRIVER +M: Robert Baldyga r.baldyga@samsung.com +M: Krzysztof Opasiak k.opasiak@samsung.com +L: linux-nfc@lists.01.org (moderated for non-subscribers) +S: Supported +F: drivers/nfc/s3fwrn5 + +SAMSUNG SOC CLOCK DRIVERS +M: Sylwester Nawrocki s.nawrocki@samsung.com +M: Tomasz Figa tomasz.figa@gmail.com +S: Supported +L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers) +F: drivers/clk/samsung/ + +SAMSUNG SXGBE DRIVERS +M: Byungho An bh74.an@samsung.com +M: Girish K S ks.giri@samsung.com +M: Vipul Pandya vipul.pandya@samsung.com +S: Supported +L: netdev@vger.kernel.org +F: drivers/net/ethernet/samsung/sxgbe/ + +SAMSUNG THERMAL DRIVER +M: Lukasz Majewski l.majewski@samsung.com +L: linux-pm@vger.kernel.org +L: linux-samsung-soc@vger.kernel.org +S: Supported +T: git https://github.com/lmajewski/linux-samsung-thermal.git +F: drivers/thermal/samsung/ + +SAMSUNG USB2 PHY DRIVER +M: Kamil Debski k.debski@samsung.com +L: linux-kernel@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/phy/samsung-phy.txt +F: Documentation/phy/samsung-usb2.txt +F: drivers/phy/phy-exynos4210-usb2.c +F: drivers/phy/phy-exynos4x12-usb2.c +F: drivers/phy/phy-exynos5250-usb2.c +F: drivers/phy/phy-s5pv210-usb2.c +F: drivers/phy/phy-samsung-usb2.c +F: drivers/phy/phy-samsung-usb2.h + +SERIAL DRIVERS +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +L: linux-serial@vger.kernel.org +S: Maintained +F: drivers/tty/serial/ + +SYNOPSYS DESIGNWARE DMAC DRIVER +M: Viresh Kumar vireshk@kernel.org +M: Andy Shevchenko andriy.shevchenko@linux.intel.com +S: Maintained +F: include/linux/dma/dw.h +F: include/linux/platform_data/dma-dw.h +F: drivers/dma/dw/ + +SYNOPSYS DESIGNWARE ETHERNET QOS 4.10a driver +M: Lars Persson lars.persson@axis.com +L: netdev@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt +F: drivers/net/ethernet/synopsys/dwc_eth_qos.c + +SYNOPSYS DESIGNWARE I2C DRIVER +M: Jarkko Nikula jarkko.nikula@linux.intel.com +R: Andy Shevchenko andriy.shevchenko@linux.intel.com +R: Mika Westerberg mika.westerberg@linux.intel.com +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/i2c/busses/i2c-designware-* +F: include/linux/platform_data/i2c-designware.h + +SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER +M: Jaehoon Chung jh80.chung@samsung.com +L: linux-mmc@vger.kernel.org +S: Maintained +F: include/linux/mmc/dw_mmc.h +F: drivers/mmc/host/dw_mmc* + +SYSTEM TRACE MODULE CLASS +M: Alexander Shishkin alexander.shishkin@linux.intel.com +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ash/stm.git +F: Documentation/trace/stm.txt +F: drivers/hwtracing/stm/ +F: include/linux/stm.h +F: include/uapi/linux/stm.h + +THUNDERBOLT DRIVER +M: Andreas Noever andreas.noever@gmail.com +S: Maintained +F: drivers/thunderbolt/ + +TI BQ27XXX POWER SUPPLY DRIVER +R: Andrew F. Davis afd@ti.com +F: include/linux/power/bq27xxx_battery.h +F: drivers/power/bq27xxx_battery.c +F: drivers/power/bq27xxx_battery_i2c.c + +TIMEKEEPING, CLOCKSOURCE CORE, NTP, ALARMTIMER +M: John Stultz john.stultz@linaro.org +M: Thomas Gleixner tglx@linutronix.de +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core +S: Supported +F: include/linux/clocksource.h +F: include/linux/time.h +F: include/linux/timex.h +F: include/uapi/linux/time.h +F: include/uapi/linux/timex.h +F: kernel/time/clocksource.c +F: kernel/time/time*.c +F: kernel/time/alarmtimer.c +F: kernel/time/ntp.c +F: tools/testing/selftests/timers/ + +SC1200 WDT DRIVER +M: Zwane Mwaikambo zwanem@gmail.com +S: Maintained +F: drivers/watchdog/sc1200wdt.c + +SCHEDULER +M: Ingo Molnar mingo@redhat.com +M: Peter Zijlstra peterz@infradead.org +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core +S: Maintained +F: kernel/sched/ +F: include/linux/sched.h +F: include/uapi/linux/sched.h +F: include/linux/wait.h + +SCORE ARCHITECTURE +M: Chen Liqin liqin.linux@gmail.com +M: Lennox Wu lennox.wu@gmail.com +W: http://www.sunplus.com +S: Supported +F: arch/score/ + +SYSTEM CONTROL & POWER INTERFACE (SCPI) Message Protocol drivers +M: Sudeep Holla sudeep.holla@arm.com +L: linux-arm-kernel@lists.infradead.org +S: Maintained +F: Documentation/devicetree/bindings/arm/arm,scpi.txt +F: drivers/clk/clk-scpi.c +F: drivers/cpufreq/scpi-cpufreq.c +F: drivers/firmware/arm_scpi.c +F: include/linux/scpi_protocol.h + +SCSI CDROM DRIVER +M: Jens Axboe axboe@kernel.dk +L: linux-scsi@vger.kernel.org +W: http://www.kernel.dk +S: Maintained +F: drivers/scsi/sr* + +SCSI RDMA PROTOCOL (SRP) INITIATOR +M: Bart Van Assche bart.vanassche@sandisk.com +L: linux-rdma@vger.kernel.org +S: Supported +W: http://www.openfabrics.org +Q: http://patchwork.kernel.org/project/linux-rdma/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/dad/srp-initiator.git +F: drivers/infiniband/ulp/srp/ +F: include/scsi/srp.h + +SCSI SG DRIVER +M: Doug Gilbert dgilbert@interlog.com +L: linux-scsi@vger.kernel.org +W: http://sg.danny.cz/sg +S: Maintained +F: Documentation/scsi/scsi-generic.txt +F: drivers/scsi/sg.c +F: include/scsi/sg.h + +SCSI SUBSYSTEM +M: "James E.J. Bottomley" jejb@linux.vnet.ibm.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git +M: "Martin K. Petersen" martin.petersen@oracle.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/ +F: include/scsi/ + +SCSI TAPE DRIVER +M: Kai Mäkisara Kai.Makisara@kolumbus.fi +L: linux-scsi@vger.kernel.org +S: Maintained +F: Documentation/scsi/st.txt +F: drivers/scsi/st.* +F: drivers/scsi/st_*.h + +SCTP PROTOCOL +M: Vlad Yasevich vyasevich@gmail.com +M: Neil Horman nhorman@tuxdriver.com +L: linux-sctp@vger.kernel.org +W: http://lksctp.sourceforge.net +S: Maintained +F: Documentation/networking/sctp.txt +F: include/linux/sctp.h +F: include/uapi/linux/sctp.h +F: include/net/sctp/ +F: net/sctp/ + +SCx200 CPU SUPPORT +M: Jim Cromie jim.cromie@gmail.com +S: Odd Fixes +F: Documentation/i2c/busses/scx200_acb +F: arch/x86/platform/scx200/ +F: drivers/watchdog/scx200_wdt.c +F: drivers/i2c/busses/scx200* +F: drivers/mtd/maps/scx200_docflash.c +F: include/linux/scx200.h + +SCx200 GPIO DRIVER +M: Jim Cromie jim.cromie@gmail.com +S: Maintained +F: drivers/char/scx200_gpio.c +F: include/linux/scx200_gpio.h + +SCx200 HRT CLOCKSOURCE DRIVER +M: Jim Cromie jim.cromie@gmail.com +S: Maintained +F: drivers/clocksource/scx200_hrt.c + +SDRICOH_CS MMC/SD HOST CONTROLLER INTERFACE DRIVER +M: Sascha Sommer saschasommer@freenet.de +L: sdricohcs-devel@lists.sourceforge.net (subscribers-only) +S: Maintained +F: drivers/mmc/host/sdricoh_cs.c + +SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER +M: Adrian Hunter adrian.hunter@intel.com +L: linux-mmc@vger.kernel.org +T: git git://git.infradead.org/users/ahunter/linux-sdhci.git +S: Maintained +F: drivers/mmc/host/sdhci* +F: include/linux/mmc/sdhci* + +SECURE COMPUTING +M: Kees Cook keescook@chromium.org +R: Andy Lutomirski luto@amacapital.net +R: Will Drewry wad@chromium.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git seccomp +S: Supported +F: kernel/seccomp.c +F: include/uapi/linux/seccomp.h +F: include/linux/seccomp.h +F: tools/testing/selftests/seccomp/* +K: \bsecure_computing +K: \bTIF_SECCOMP\b + +SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) SAMSUNG DRIVER +M: Ben Dooks ben-linux@fluff.org +M: Jaehoon Chung jh80.chung@samsung.com +L: linux-mmc@vger.kernel.org +S: Maintained +F: drivers/mmc/host/sdhci-s3c* + +SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER +M: Viresh Kumar vireshk@kernel.org +L: linux-mmc@vger.kernel.org +S: Maintained +F: drivers/mmc/host/sdhci-spear.c + +SECURITY SUBSYSTEM +M: James Morris james.l.morris@oracle.com +M: "Serge E. Hallyn" serge@hallyn.com +L: linux-security-module@vger.kernel.org (suggested Cc:) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git +W: http://kernsec.org/ +S: Supported +F: security/ + +SECURITY CONTACT +M: Security Officers security@kernel.org +S: Supported + +SELINUX SECURITY MODULE +M: Paul Moore paul@paul-moore.com +M: Stephen Smalley sds@tycho.nsa.gov +M: Eric Paris eparis@parisplace.org +L: selinux@tycho.nsa.gov (moderated for non-subscribers) +W: http://selinuxproject.org +T: git git://git.infradead.org/users/pcmoore/selinux +S: Supported +F: include/linux/selinux* +F: security/selinux/ +F: scripts/selinux/ + +APPARMOR SECURITY MODULE +M: John Johansen john.johansen@canonical.com +L: apparmor@lists.ubuntu.com (subscribers-only, general discussion) +W: apparmor.wiki.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev.git +S: Supported +F: security/apparmor/ + +LOADPIN SECURITY MODULE +M: Kees Cook keescook@chromium.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git lsm/loadpin +S: Supported +F: security/loadpin/ + +YAMA SECURITY MODULE +M: Kees Cook keescook@chromium.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git yama/tip +S: Supported +F: security/yama/ + +SENSABLE PHANTOM +M: Jiri Slaby jirislaby@gmail.com +S: Maintained +F: drivers/misc/phantom.c +F: include/uapi/linux/phantom.h + +SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER +M: Jayamohan Kallickal jayamohan.kallickal@avagotech.com +M: Ketan Mukadam ketan.mukadam@avagotech.com +M: John Soni Jose sony.john@avagotech.com +L: linux-scsi@vger.kernel.org +W: http://www.avagotech.com +S: Supported +F: drivers/scsi/be2iscsi/ + +Emulex 10Gbps NIC BE2, BE3-R, Lancer, Skyhawk-R DRIVER +M: Sathya Perla sathya.perla@broadcom.com +M: Ajit Khaparde ajit.khaparde@broadcom.com +M: Padmanabh Ratnakar padmanabh.ratnakar@broadcom.com +M: Sriharsha Basavapatna sriharsha.basavapatna@broadcom.com +M: Somnath Kotur somnath.kotur@broadcom.com +L: netdev@vger.kernel.org +W: http://www.emulex.com +S: Supported +F: drivers/net/ethernet/emulex/benet/ + +EMULEX ONECONNECT ROCE DRIVER +M: Selvin Xavier selvin.xavier@avagotech.com +M: Devesh Sharma devesh.sharma@avagotech.com +M: Mitesh Ahuja mitesh.ahuja@avagotech.com +L: linux-rdma@vger.kernel.org +W: http://www.emulex.com +S: Supported +F: drivers/infiniband/hw/ocrdma/ + +SFC NETWORK DRIVER +M: Solarflare linux maintainers linux-net-drivers@solarflare.com +M: Edward Cree ecree@solarflare.com +M: Bert Kenward bkenward@solarflare.com +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/sfc/ + +SGI GRU DRIVER +M: Dimitri Sivanich sivanich@sgi.com +S: Maintained +F: drivers/misc/sgi-gru/ + +SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER +M: Pat Gefre pfg@sgi.com +L: linux-ia64@vger.kernel.org +S: Supported +F: Documentation/ia64/serial.txt +F: drivers/tty/serial/ioc?_serial.c +F: include/linux/ioc?.h + +SGI XP/XPC/XPNET DRIVER +M: Cliff Whickman cpw@sgi.com +M: Robin Holt robinmholt@gmail.com +S: Maintained +F: drivers/misc/sgi-xp/ + +SI2157 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/si2157* + +SI2168 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/si2168* + +SI470X FM RADIO RECEIVER I2C DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/radio/si470x/radio-si470x-i2c.c + +SI470X FM RADIO RECEIVER USB DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/si470x/radio-si470x-common.c +F: drivers/media/radio/si470x/radio-si470x.h +F: drivers/media/radio/si470x/radio-si470x-usb.c + +SI4713 FM RADIO TRANSMITTER I2C DRIVER +M: Eduardo Valentin edubezval@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/radio/si4713/si4713.? + +SI4713 FM RADIO TRANSMITTER PLATFORM DRIVER +M: Eduardo Valentin edubezval@gmail.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/radio/si4713/radio-platform-si4713.c + +SI4713 FM RADIO TRANSMITTER USB DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/si4713/radio-usb-si4713.c + +SIANO DVB DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Odd fixes +F: drivers/media/common/siano/ +F: drivers/media/usb/siano/ +F: drivers/media/usb/siano/ +F: drivers/media/mmc/siano/ + +SIMPLEFB FB DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-fbdev@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/display/simple-framebuffer.txt +F: drivers/video/fbdev/simplefb.c +F: include/linux/platform_data/simplefb.h + +SH_VEU V4L2 MEM2MEM DRIVER +L: linux-media@vger.kernel.org +S: Orphan +F: drivers/media/platform/sh_veu.c + +SH_VOU V4L2 OUTPUT DRIVER +L: linux-media@vger.kernel.org +S: Orphan +F: drivers/media/platform/sh_vou.c +F: include/media/drv-intf/sh_vou.h + +SIMPLE FIRMWARE INTERFACE (SFI) +M: Len Brown lenb@kernel.org +L: sfi-devel@simplefirmware.org +W: http://simplefirmware.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6.git +S: Supported +F: arch/x86/platform/sfi/ +F: drivers/sfi/ +F: include/linux/sfi*.h + +SIMTEC EB110ATX (Chalice CATS) +P: Ben Dooks +P: Vincent Sanders vince@simtec.co.uk +M: Simtec Linux Team linux@simtec.co.uk +W: http://www.simtec.co.uk/products/EB110ATX/ +S: Supported + +SIMTEC EB2410ITX (BAST) +P: Ben Dooks +P: Vincent Sanders vince@simtec.co.uk +M: Simtec Linux Team linux@simtec.co.uk +W: http://www.simtec.co.uk/products/EB2410ITX/ +S: Supported +F: arch/arm/mach-s3c24xx/mach-bast.c +F: arch/arm/mach-s3c24xx/bast-ide.c +F: arch/arm/mach-s3c24xx/bast-irq.c + +TI DAVINCI MACHINE SUPPORT +M: Sekhar Nori nsekhar@ti.com +M: Kevin Hilman khilman@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git +S: Supported +F: arch/arm/mach-davinci/ +F: drivers/i2c/busses/i2c-davinci.c + +TI DAVINCI SERIES MEDIA DRIVER +M: "Lad, Prabhakar" prabhakar.csengg@gmail.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git +S: Maintained +F: drivers/media/platform/davinci/ +F: include/media/davinci/ + +TI AM437X VPFE DRIVER +M: "Lad, Prabhakar" prabhakar.csengg@gmail.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git +S: Maintained +F: drivers/media/platform/am437x/ + +OV2659 OMNIVISION SENSOR DRIVER +M: "Lad, Prabhakar" prabhakar.csengg@gmail.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git +S: Maintained +F: drivers/media/i2c/ov2659.c +F: include/media/i2c/ov2659.h + +SILICON MOTION SM712 FRAME BUFFER DRIVER +M: Sudip Mukherjee sudipm.mukherjee@gmail.com +M: Teddy Wang teddy.wang@siliconmotion.com +M: Sudip Mukherjee sudip@vectorindia.org +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/sm712* +F: Documentation/fb/sm712fb.txt + +SIS 190 ETHERNET DRIVER +M: Francois Romieu romieu@fr.zoreil.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/sis/sis190.c + +SIS 900/7016 FAST ETHERNET DRIVER +M: Daniele Venzano venza@brownhat.org +W: http://www.brownhat.org/sis900.html +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/sis/sis900.* + +SIS FRAMEBUFFER DRIVER +M: Thomas Winischhofer thomas@winischhofer.net +W: http://www.winischhofer.net/linuxsisvga.shtml +S: Maintained +F: Documentation/fb/sisfb.txt +F: drivers/video/fbdev/sis/ +F: include/video/sisfb.h + +SIS USB2VGA DRIVER +M: Thomas Winischhofer thomas@winischhofer.net +W: http://www.winischhofer.at/linuxsisusbvga.shtml +S: Maintained +F: drivers/usb/misc/sisusbvga/ + +SLAB ALLOCATOR +M: Christoph Lameter cl@linux.com +M: Pekka Enberg penberg@kernel.org +M: David Rientjes rientjes@google.com +M: Joonsoo Kim iamjoonsoo.kim@lge.com +M: Andrew Morton akpm@linux-foundation.org +L: linux-mm@kvack.org +S: Maintained +F: include/linux/sl?b*.h +F: mm/sl?b* + +SLEEPABLE READ-COPY UPDATE (SRCU) +M: Lai Jiangshan jiangshanlai@gmail.com +M: "Paul E. McKenney" paulmck@linux.vnet.ibm.com +M: Josh Triplett josh@joshtriplett.org +R: Steven Rostedt rostedt@goodmis.org +R: Mathieu Desnoyers mathieu.desnoyers@efficios.com +L: linux-kernel@vger.kernel.org +W: http://www.rdrop.com/users/paulmck/RCU/ +S: Supported +T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git +F: include/linux/srcu.h +F: kernel/rcu/srcu.c + +SMACK SECURITY MODULE +M: Casey Schaufler casey@schaufler-ca.com +L: linux-security-module@vger.kernel.org +W: http://schaufler-ca.com +T: git git://git.gitorious.org/smack-next/kernel.git +S: Maintained +F: Documentation/security/Smack.txt +F: security/smack/ + +DRIVERS FOR ADAPTIVE VOLTAGE SCALING (AVS) +M: Kevin Hilman khilman@kernel.org +M: Nishanth Menon nm@ti.com +S: Maintained +F: drivers/power/avs/ +F: include/linux/power/smartreflex.h +L: linux-pm@vger.kernel.org + +SMC91x ETHERNET DRIVER +M: Nicolas Pitre nico@fluxnic.net +S: Odd Fixes +F: drivers/net/ethernet/smsc/smc91x.* + +SMIA AND SMIA++ IMAGE SENSOR DRIVER +M: Sakari Ailus sakari.ailus@iki.fi +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/smiapp/ +F: include/media/i2c/smiapp.h +F: drivers/media/i2c/smiapp-pll.c +F: drivers/media/i2c/smiapp-pll.h +F: include/uapi/linux/smiapp.h +F: Documentation/devicetree/bindings/media/i2c/nokia,smia.txt + +SMM665 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/smm665 +F: drivers/hwmon/smm665.c + +SMSC EMC2103 HARDWARE MONITOR DRIVER +M: Steve Glendinning steve.glendinning@shawell.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/emc2103 +F: drivers/hwmon/emc2103.c + +SMSC SCH5627 HARDWARE MONITOR DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-hwmon@vger.kernel.org +S: Supported +F: Documentation/hwmon/sch5627 +F: drivers/hwmon/sch5627.c + +SMSC47B397 HARDWARE MONITOR DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/smsc47b397 +F: drivers/hwmon/smsc47b397.c + +SMSC911x ETHERNET DRIVER +M: Steve Glendinning steve.glendinning@shawell.net +L: netdev@vger.kernel.org +S: Maintained +F: include/linux/smsc911x.h +F: drivers/net/ethernet/smsc/smsc911x.* + +SMSC9420 PCI ETHERNET DRIVER +M: Steve Glendinning steve.glendinning@shawell.net +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/smsc/smsc9420.* + +SMSC UFX6000 and UFX7000 USB to VGA DRIVER +M: Steve Glendinning steve.glendinning@shawell.net +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/fbdev/smscufx.c + +SOC-CAMERA V4L2 SUBSYSTEM +M: Guennadi Liakhovetski g.liakhovetski@gmx.de +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: include/media/soc* +F: drivers/media/i2c/soc_camera/ +F: drivers/media/platform/soc_camera/ + +SOEKRIS NET48XX LED SUPPORT +M: Chris Boot bootc@bootc.net +S: Maintained +F: drivers/leds/leds-net48xx.c + +SOFTLOGIC 6x10 MPEG CODEC +M: Bluecherry Maintainers maintainers@bluecherrydvr.com +M: Andrey Utkin andrey.utkin@corp.bluecherry.net +M: Andrey Utkin andrey.krieger.utkin@gmail.com +M: Ismael Luceno ismael@iodev.co.uk +L: linux-media@vger.kernel.org +S: Supported +F: drivers/media/pci/solo6x10/ + +SOFTWARE RAID (Multiple Disks) SUPPORT +M: Shaohua Li shli@kernel.org +L: linux-raid@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/shli/md.git +S: Supported +F: drivers/md/ +F: include/linux/raid/ +F: include/uapi/linux/raid/ + +SONIC NETWORK DRIVER +M: Thomas Bogendoerfer tsbogend@alpha.franken.de +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/natsemi/sonic.* + +SONICS SILICON BACKPLANE DRIVER (SSB) +M: Michael Buesch m@bues.ch +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/ssb/ +F: include/linux/ssb/ + +SONY VAIO CONTROL DEVICE DRIVER +M: Mattia Dongili malattia@linux.it +L: platform-driver-x86@vger.kernel.org +W: http://www.linux.it/~malattia/wiki/index.php/Sony_drivers +S: Maintained +F: Documentation/laptops/sony-laptop.txt +F: drivers/char/sonypi.c +F: drivers/platform/x86/sony-laptop.c +F: include/linux/sony-laptop.h + +SONY MEMORYSTICK CARD SUPPORT +M: Alex Dubov oakad@yahoo.com +W: http://tifmxx.berlios.de/ +S: Maintained +F: drivers/memstick/host/tifm_ms.c + +SONY MEMORYSTICK STANDARD SUPPORT +M: Maxim Levitsky maximlevitsky@gmail.com +S: Maintained +F: drivers/memstick/core/ms_block.* + +SOUND +M: Jaroslav Kysela perex@perex.cz +M: Takashi Iwai tiwai@suse.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +W: http://www.alsa-project.org/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git +T: git git://git.alsa-project.org/alsa-kernel.git +Q: http://patchwork.kernel.org/project/alsa-devel/list/ +S: Maintained +F: Documentation/sound/ +F: include/sound/ +F: include/uapi/sound/ +F: sound/ + +SOUND - COMPRESSED AUDIO +M: Vinod Koul vinod.koul@intel.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git +S: Supported +F: Documentation/sound/alsa/compress_offload.txt +F: include/sound/compress_driver.h +F: include/uapi/sound/compress_* +F: sound/core/compress_offload.c +F: sound/soc/soc-compress.c + +SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC) +M: Liam Girdwood lgirdwood@gmail.com +M: Mark Brown broonie@kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +W: http://alsa-project.org/main/index.php/ASoC +S: Supported +F: Documentation/sound/alsa/soc/ +F: sound/soc/ +F: include/sound/soc* + +SOUND - DMAENGINE HELPERS +M: Lars-Peter Clausen lars@metafoo.de +S: Supported +F: include/sound/dmaengine_pcm.h +F: sound/core/pcm_dmaengine.c +F: sound/soc/soc-generic-dmaengine-pcm.c + +SP2 MEDIA DRIVER +M: Olli Salonen olli.salonen@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +S: Maintained +F: drivers/media/dvb-frontends/sp2* + +SPARC + UltraSPARC (sparc/sparc64) +M: "David S. Miller" davem@davemloft.net +L: sparclinux@vger.kernel.org +Q: http://patchwork.ozlabs.org/project/sparclinux/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next.git +S: Maintained +F: arch/sparc/ +F: drivers/sbus/ + +SPARC SERIAL DRIVERS +M: "David S. Miller" davem@davemloft.net +L: sparclinux@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next.git +S: Maintained +F: include/linux/sunserialcore.h +F: drivers/tty/serial/suncore.c +F: drivers/tty/serial/sunhv.c +F: drivers/tty/serial/sunsab.c +F: drivers/tty/serial/sunsab.h +F: drivers/tty/serial/sunsu.c +F: drivers/tty/serial/sunzilog.c +F: drivers/tty/serial/sunzilog.h + +SPARSE CHECKER +M: "Christopher Li" sparse@chrisli.org +L: linux-sparse@vger.kernel.org +W: https://sparse.wiki.kernel.org/ +T: git git://git.kernel.org/pub/scm/devel/sparse/sparse.git +T: git git://git.kernel.org/pub/scm/devel/sparse/chrisl/sparse.git +S: Maintained +F: include/linux/compiler.h + +SPEAR PLATFORM SUPPORT +M: Viresh Kumar vireshk@kernel.org +M: Shiraz Hashim shiraz.linux.kernel@gmail.com +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.st.com/spear +S: Maintained +F: arch/arm/boot/dts/spear* +F: arch/arm/mach-spear/ + +SPEAR CLOCK FRAMEWORK SUPPORT +M: Viresh Kumar vireshk@kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.st.com/spear +S: Maintained +F: drivers/clk/spear/ + +SPI SUBSYSTEM +M: Mark Brown broonie@kernel.org +L: linux-spi@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git +Q: http://patchwork.kernel.org/project/spi-devel-general/list/ +S: Maintained +F: Documentation/spi/ +F: drivers/spi/ +F: include/linux/spi/ +F: include/uapi/linux/spi/ + +SPIDERNET NETWORK DRIVER for CELL +M: Ishizaki Kou kou.ishizaki@toshiba.co.jp +L: netdev@vger.kernel.org +S: Supported +F: Documentation/networking/spider_net.txt +F: drivers/net/ethernet/toshiba/spider_net* + +SPU FILE SYSTEM +M: Jeremy Kerr jk@ozlabs.org +L: linuxppc-dev@lists.ozlabs.org +W: http://www.ibm.com/developerworks/power/cell/ +S: Supported +F: Documentation/filesystems/spufs.txt +F: arch/powerpc/platforms/cell/spufs/ + +SQUASHFS FILE SYSTEM +M: Phillip Lougher phillip@squashfs.org.uk +L: squashfs-devel@lists.sourceforge.net (subscribers-only) +W: http://squashfs.org.uk +T: git git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-next.git +S: Maintained +F: Documentation/filesystems/squashfs.txt +F: fs/squashfs/ + +SRM (Alpha) environment access +M: Jan-Benedict Glaw jbglaw@lug-owl.de +S: Maintained +F: arch/alpha/kernel/srm_env.c + +STABLE BRANCH +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +L: stable@vger.kernel.org +S: Supported +F: Documentation/stable_kernel_rules.txt + +STAGING SUBSYSTEM +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git +L: devel@driverdev.osuosl.org +S: Supported +F: drivers/staging/ + +STAGING - COMEDI +M: Ian Abbott abbotti@mev.co.uk +M: H Hartley Sweeten hsweeten@visionengravers.com +S: Odd Fixes +F: drivers/staging/comedi/ + +STAGING - FLARION FT1000 DRIVERS +M: Marek Belisko marek.belisko@gmail.com +S: Odd Fixes +F: drivers/staging/ft1000/ + +STAGING - INDUSTRIAL IO +M: Jonathan Cameron jic23@kernel.org +L: linux-iio@vger.kernel.org +S: Odd Fixes +F: drivers/staging/iio/ + +STAGING - LIRC (LINUX INFRARED REMOTE CONTROL) DRIVERS +M: Jarod Wilson jarod@wilsonet.com +W: http://www.lirc.org/ +S: Odd Fixes +F: drivers/staging/media/lirc/ + +STAGING - LUSTRE PARALLEL FILESYSTEM +M: Oleg Drokin oleg.drokin@intel.com +M: Andreas Dilger andreas.dilger@intel.com +L: lustre-devel@lists.lustre.org (moderated for non-subscribers) +W: http://wiki.lustre.org/ +S: Maintained +F: drivers/staging/lustre + +STAGING - NVIDIA COMPLIANT EMBEDDED CONTROLLER INTERFACE (nvec) +M: Marc Dietrich marvin24@gmx.de +L: ac100@lists.launchpad.net (moderated for non-subscribers) +L: linux-tegra@vger.kernel.org +S: Maintained +F: drivers/staging/nvec/ + +STAGING - OLPC SECONDARY DISPLAY CONTROLLER (DCON) +M: Jens Frederich jfrederich@gmail.com +M: Daniel Drake dsd@laptop.org +M: Jon Nettleton jon.nettleton@gmail.com +W: http://wiki.laptop.org/go/DCON +S: Maintained +F: drivers/staging/olpc_dcon/ + +STAGING - REALTEK RTL8712U DRIVERS +M: Larry Finger Larry.Finger@lwfinger.net +M: Florian Schilhabel florian.c.schilhabel@googlemail.com. +S: Odd Fixes +F: drivers/staging/rtl8712/ + +STAGING - REALTEK RTL8723U WIRELESS DRIVER +M: Larry Finger Larry.Finger@lwfinger.net +M: Jes Sorensen Jes.Sorensen@redhat.com +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/staging/rtl8723au/ + +STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER +M: Sudip Mukherjee sudipm.mukherjee@gmail.com +M: Teddy Wang teddy.wang@siliconmotion.com +M: Sudip Mukherjee sudip@vectorindia.org +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/staging/sm750fb/ + +STAGING - SLICOSS +M: Lior Dotan liodot@gmail.com +M: Christopher Harrer charrer@alacritech.com +S: Odd Fixes +F: drivers/staging/slicoss/ + +STAGING - SPEAKUP CONSOLE SPEECH DRIVER +M: William Hubbs w.d.hubbs@gmail.com +M: Chris Brannon chris@the-brannons.com +M: Kirk Reiser kirk@reisers.ca +M: Samuel Thibault samuel.thibault@ens-lyon.org +L: speakup@linux-speakup.org +W: http://www.linux-speakup.org/ +S: Odd Fixes +F: drivers/staging/speakup/ + +STAGING - VIA VT665X DRIVERS +M: Forest Bond forest@alittletooquiet.net +S: Odd Fixes +F: drivers/staging/vt665?/ + +STAGING - WILC1000 WIFI DRIVER +M: Johnny Kim johnny.kim@atmel.com +M: Austin Shin austin.shin@atmel.com +M: Chris Park chris.park@atmel.com +M: Tony Cho tony.cho@atmel.com +M: Glen Lee glen.lee@atmel.com +M: Leo Kim leo.kim@atmel.com +L: linux-wireless@vger.kernel.org +S: Supported +F: drivers/staging/wilc1000/ + +STAGING - XGI Z7,Z9,Z11 PCI DISPLAY DRIVER +M: Arnaud Patard arnaud.patard@rtp-net.org +S: Odd Fixes +F: drivers/staging/xgifb/ + +STARFIRE/DURALAN NETWORK DRIVER +M: Ion Badulescu ionut@badula.org +S: Odd Fixes +F: drivers/net/ethernet/adaptec/starfire* + +SUN3/3X +M: Sam Creasey sammy@sammy.net +W: http://sammy.net/sun3/ +S: Maintained +F: arch/m68k/kernel/*sun3* +F: arch/m68k/sun3*/ +F: arch/m68k/include/asm/sun3* +F: drivers/net/ethernet/i825xx/sun3* + +SUN4I LOW RES ADC ATTACHED TABLET KEYS DRIVER +M: Hans de Goede hdegoede@redhat.com +L: linux-input@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +F: drivers/input/keyboard/sun4i-lradc-keys.c + +SUNDANCE NETWORK DRIVER +M: Denis Kirjanov kda@linux-powerpc.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/dlink/sundance.c + +SUPERH +M: Yoshinori Sato ysato@users.sourceforge.jp +M: Rich Felker dalias@libc.org +L: linux-sh@vger.kernel.org +Q: http://patchwork.kernel.org/project/linux-sh/list/ +S: Maintained +F: Documentation/sh/ +F: arch/sh/ +F: drivers/sh/ + +SUSPEND TO RAM +M: "Rafael J. Wysocki" rjw@rjwysocki.net +M: Len Brown len.brown@intel.com +M: Pavel Machek pavel@ucw.cz +L: linux-pm@vger.kernel.org +S: Supported +F: Documentation/power/ +F: arch/x86/kernel/acpi/ +F: drivers/base/power/ +F: kernel/power/ +F: include/linux/suspend.h +F: include/linux/freezer.h +F: include/linux/pm.h + +SVGA HANDLING +M: Martin Mares mj@ucw.cz +L: linux-video@atrey.karlin.mff.cuni.cz +S: Maintained +F: Documentation/svga.txt +F: arch/x86/boot/video* + +SWIOTLB SUBSYSTEM +M: Konrad Rzeszutek Wilk konrad.wilk@oracle.com +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git +S: Supported +F: lib/swiotlb.c +F: arch/*/kernel/pci-swiotlb.c +F: include/linux/swiotlb.h + +SWITCHDEV +M: Jiri Pirko jiri@resnulli.us +L: netdev@vger.kernel.org +S: Supported +F: net/switchdev/ +F: include/net/switchdev.h + +SYNOPSYS ARC ARCHITECTURE +M: Vineet Gupta vgupta@synopsys.com +L: linux-snps-arc@lists.infradead.org +S: Supported +F: arch/arc/ +F: Documentation/devicetree/bindings/arc/* +F: Documentation/devicetree/bindings/interrupt-controller/snps,arc* +F: drivers/tty/serial/arc_uart.c +T: git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git + +SYNOPSYS ARC SDP platform support +M: Alexey Brodkin abrodkin@synopsys.com +S: Supported +F: arch/arc/plat-axs10x +F: arch/arc/boot/dts/ax* +F: Documentation/devicetree/bindings/arc/axs10* + +SYSTEM CONFIGURATION (SYSCON) +M: Lee Jones lee.jones@linaro.org +M: Arnd Bergmann arnd@arndb.de +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git +S: Supported +F: drivers/mfd/syscon.c + +SYSV FILESYSTEM +M: Christoph Hellwig hch@infradead.org +S: Maintained +F: Documentation/filesystems/sysv-fs.txt +F: fs/sysv/ +F: include/linux/sysv_fs.h + +TARGET SUBSYSTEM +M: "Nicholas A. Bellinger" nab@linux-iscsi.org +L: linux-scsi@vger.kernel.org +L: target-devel@vger.kernel.org +W: http://www.linux-iscsi.org +W: http://groups.google.com/group/linux-iscsi-target-dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master +S: Supported +F: drivers/target/ +F: include/target/ +F: Documentation/target/ + +TASKSTATS STATISTICS INTERFACE +M: Balbir Singh bsingharora@gmail.com +S: Maintained +F: Documentation/accounting/taskstats* +F: include/linux/taskstats* +F: kernel/taskstats.c + +TC CLASSIFIER +M: Jamal Hadi Salim jhs@mojatatu.com +L: netdev@vger.kernel.org +S: Maintained +F: include/net/pkt_cls.h +F: include/uapi/linux/pkt_cls.h +F: net/sched/ + +TCP LOW PRIORITY MODULE +M: "Wong Hoi Sing, Edison" hswong3i@gmail.com +M: "Hung Hing Lun, Mike" hlhung3i@gmail.com +W: http://tcp-lp-mod.sourceforge.net/ +S: Maintained +F: net/ipv4/tcp_lp.c + +TDA10071 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/dvb-frontends/tda10071* + +TDA18212 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/tda18212* + +TDA18218 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/tda18218* + +TDA18271 MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mkrufky/tuners.git +S: Maintained +F: drivers/media/tuners/tda18271* + +TDA827x MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mkrufky/tuners.git +S: Maintained +F: drivers/media/tuners/tda8290.* + +TDA8290 MEDIA DRIVER +M: Michael Krufky mkrufky@linuxtv.org +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://github.com/mkrufky +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/mkrufky/tuners.git +S: Maintained +F: drivers/media/tuners/tda8290.* + +TDA9840 MEDIA DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/i2c/tda9840* + +TEA5761 TUNER DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Odd fixes +F: drivers/media/tuners/tea5761.* + +TEA5767 TUNER DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/tuners/tea5767.* + +TEA6415C MEDIA DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/i2c/tea6415c* + +TEA6420 MEDIA DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/i2c/tea6420* + +TEAM DRIVER +M: Jiri Pirko jiri@resnulli.us +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/team/ +F: include/linux/if_team.h +F: include/uapi/linux/if_team.h + +TECHNOLOGIC SYSTEMS TS-5500 PLATFORM SUPPORT +M: "Savoir-faire Linux Inc." kernel@savoirfairelinux.com +S: Maintained +F: arch/x86/platform/ts5500/ + +TECHNOTREND USB IR RECEIVER +M: Sean Young sean@mess.org +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/rc/ttusbir.c + +TEGRA ARCHITECTURE SUPPORT +M: Stephen Warren swarren@wwwdotorg.org +M: Thierry Reding thierry.reding@gmail.com +M: Alexandre Courbot gnurou@gmail.com +L: linux-tegra@vger.kernel.org +Q: http://patchwork.ozlabs.org/project/linux-tegra/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git +S: Supported +N: [^a-z]tegra + +TEGRA CLOCK DRIVER +M: Peter De Schrijver pdeschrijver@nvidia.com +M: Prashant Gaikwad pgaikwad@nvidia.com +S: Supported +F: drivers/clk/tegra/ + +TEGRA DMA DRIVERS +M: Laxman Dewangan ldewangan@nvidia.com +M: Jon Hunter jonathanh@nvidia.com +S: Supported +F: drivers/dma/tegra* + +TEGRA I2C DRIVER +M: Laxman Dewangan ldewangan@nvidia.com +S: Supported +F: drivers/i2c/busses/i2c-tegra.c + +TEGRA IOMMU DRIVERS +M: Hiroshi Doyu hdoyu@nvidia.com +S: Supported +F: drivers/iommu/tegra* + +TEGRA KBC DRIVER +M: Rakesh Iyer riyer@nvidia.com +M: Laxman Dewangan ldewangan@nvidia.com +S: Supported +F: drivers/input/keyboard/tegra-kbc.c + +TEGRA PWM DRIVER +M: Thierry Reding thierry.reding@gmail.com +S: Supported +F: drivers/pwm/pwm-tegra.c + +TEGRA SERIAL DRIVER +M: Laxman Dewangan ldewangan@nvidia.com +S: Supported +F: drivers/tty/serial/serial-tegra.c + +TEGRA SPI DRIVER +M: Laxman Dewangan ldewangan@nvidia.com +S: Supported +F: drivers/spi/spi-tegra* + +TEHUTI ETHERNET DRIVER +M: Andy Gospodarek andy@greyhouse.net +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/ethernet/tehuti/* + +Telecom Clock Driver for MCPL0010 +M: Mark Gross mark.gross@intel.com +S: Supported +F: drivers/char/tlclk.c + +TENSILICA XTENSA PORT (xtensa) +M: Chris Zankel chris@zankel.net +M: Max Filippov jcmvbkbc@gmail.com +L: linux-xtensa@linux-xtensa.org +T: git git://github.com/czankel/xtensa-linux.git +S: Maintained +F: arch/xtensa/ +F: drivers/irqchip/irq-xtensa-* + +THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/radio/radio-raremono.c + +THERMAL +M: Zhang Rui rui.zhang@intel.com +M: Eduardo Valentin edubezval@gmail.com +L: linux-pm@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal.git +Q: https://patchwork.kernel.org/project/linux-pm/list/ +S: Supported +F: drivers/thermal/ +F: include/linux/thermal.h +F: include/uapi/linux/thermal.h +F: include/linux/cpu_cooling.h +F: Documentation/devicetree/bindings/thermal/ + +THERMAL/CPU_COOLING +M: Amit Daniel Kachhap amit.kachhap@gmail.com +M: Viresh Kumar viresh.kumar@linaro.org +M: Javi Merino javi.merino@arm.com +L: linux-pm@vger.kernel.org +S: Supported +F: Documentation/thermal/cpu-cooling-api.txt +F: drivers/thermal/cpu_cooling.c +F: include/linux/cpu_cooling.h + +THINGM BLINK(1) USB RGB LED DRIVER +M: Vivien Didelot vivien.didelot@savoirfairelinux.com +S: Maintained +F: drivers/hid/hid-thingm.c + +THINKPAD ACPI EXTRAS DRIVER +M: Henrique de Moraes Holschuh ibm-acpi@hmh.eng.br +L: ibm-acpi-devel@lists.sourceforge.net +L: platform-driver-x86@vger.kernel.org +W: http://ibm-acpi.sourceforge.net +W: http://thinkwiki.org/wiki/Ibm-acpi +T: git git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git +S: Maintained +F: drivers/platform/x86/thinkpad_acpi.c + +TI BANDGAP AND THERMAL DRIVER +M: Eduardo Valentin edubezval@gmail.com +M: Keerthy j-keerthy@ti.com +L: linux-pm@vger.kernel.org +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/thermal/ti-soc-thermal/ + +TI VPE/CAL DRIVERS +M: Benoit Parrot bparrot@ti.com +L: linux-media@vger.kernel.org +W: http://linuxtv.org/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +S: Maintained +F: drivers/media/platform/ti-vpe/ + +TI CDCE706 CLOCK DRIVER +M: Max Filippov jcmvbkbc@gmail.com +S: Maintained +F: drivers/clk/clk-cdce706.c + +TI CLOCK DRIVER +M: Tero Kristo t-kristo@ti.com +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/clk/ti/ +F: include/linux/clk/ti.h + +TI ETHERNET SWITCH DRIVER (CPSW) +M: Mugunthan V N mugunthanvnm@ti.com +R: Grygorii Strashko grygorii.strashko@ti.com +L: linux-omap@vger.kernel.org +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/ti/cpsw* +F: drivers/net/ethernet/ti/davinci* + +TI FLASH MEDIA INTERFACE DRIVER +M: Alex Dubov oakad@yahoo.com +S: Maintained +F: drivers/misc/tifm* +F: drivers/mmc/host/tifm_sd.c +F: include/linux/tifm.h + +TI KEYSTONE MULTICORE NAVIGATOR DRIVERS +M: Santosh Shilimkar ssantosh@kernel.org +L: linux-kernel@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: drivers/soc/ti/* +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git + + +TI LM49xxx FAMILY ASoC CODEC DRIVERS +M: M R Swami Reddy mr.swami.reddy@ti.com +M: Vishwas A Deshpande vishwas.a.deshpande@ti.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Maintained +F: sound/soc/codecs/lm49453* +F: sound/soc/codecs/isabelle* + +TI LP855x BACKLIGHT DRIVER +M: Milo Kim milo.kim@ti.com +S: Maintained +F: Documentation/backlight/lp855x-driver.txt +F: drivers/video/backlight/lp855x_bl.c +F: include/linux/platform_data/lp855x.h + +TI LP8727 CHARGER DRIVER +M: Milo Kim milo.kim@ti.com +S: Maintained +F: drivers/power/lp8727_charger.c +F: include/linux/platform_data/lp8727.h + +TI LP8788 MFD DRIVER +M: Milo Kim milo.kim@ti.com +S: Maintained +F: drivers/iio/adc/lp8788_adc.c +F: drivers/leds/leds-lp8788.c +F: drivers/mfd/lp8788*.c +F: drivers/power/lp8788-charger.c +F: drivers/regulator/lp8788-*.c +F: include/linux/mfd/lp8788*.h + +TI NETCP ETHERNET DRIVER +M: Wingman Kwok w-kwok2@ti.com +M: Murali Karicheri m-karicheri2@ti.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/ti/netcp* + +TI TAS571X FAMILY ASoC CODEC DRIVER +M: Kevin Cernekee cernekee@chromium.org +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Odd Fixes +F: sound/soc/codecs/tas571x* + +TI TWL4030 SERIES SOC CODEC DRIVER +M: Peter Ujfalusi peter.ujfalusi@ti.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Maintained +F: sound/soc/codecs/twl4030* + +TI WILINK WIRELESS DRIVERS +L: linux-wireless@vger.kernel.org +W: http://wireless.kernel.org/en/users/Drivers/wl12xx +W: http://wireless.kernel.org/en/users/Drivers/wl1251 +T: git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git +S: Orphan +F: drivers/net/wireless/ti/ +F: include/linux/wl12xx.h + +TIPC NETWORK LAYER +M: Jon Maloy jon.maloy@ericsson.com +M: Ying Xue ying.xue@windriver.com +L: netdev@vger.kernel.org (core kernel code) +L: tipc-discussion@lists.sourceforge.net (user apps, general discussion) +W: http://tipc.sourceforge.net/ +S: Maintained +F: include/uapi/linux/tipc*.h +F: net/tipc/ + +TILE ARCHITECTURE +M: Chris Metcalf cmetcalf@mellanox.com +W: http://www.mellanox.com/repository/solutions/tile-scm/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile.git +S: Supported +F: arch/tile/ +F: drivers/char/tile-srom.c +F: drivers/edac/tile_edac.c +F: drivers/net/ethernet/tile/ +F: drivers/rtc/rtc-tile.c +F: drivers/tty/hvc/hvc_tile.c +F: drivers/tty/serial/tilegx.c +F: drivers/usb/host/*-tilegx.c +F: include/linux/usb/tilegx.h + +TLAN NETWORK DRIVER +M: Samuel Chessman chessman@tux.org +L: tlan-devel@lists.sourceforge.net (subscribers-only) +W: http://sourceforge.net/projects/tlan/ +S: Maintained +F: Documentation/networking/tlan.txt +F: drivers/net/ethernet/ti/tlan.* + +TOMOYO SECURITY MODULE +M: Kentaro Takeda takedakn@nttdata.co.jp +M: Tetsuo Handa penguin-kernel@I-love.SAKURA.ne.jp +L: tomoyo-dev-en@lists.sourceforge.jp (subscribers-only, for developers in English) +L: tomoyo-users-en@lists.sourceforge.jp (subscribers-only, for users in English) +L: tomoyo-dev@lists.sourceforge.jp (subscribers-only, for developers in Japanese) +L: tomoyo-users@lists.sourceforge.jp (subscribers-only, for users in Japanese) +W: http://tomoyo.sourceforge.jp/ +T: quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.5.x/tomoyo-lsm/patches/ +S: Maintained +F: security/tomoyo/ + +TOPSTAR LAPTOP EXTRAS DRIVER +M: Herton Ronaldo Krzesinski herton@canonical.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/topstar-laptop.c + +TOSHIBA ACPI EXTRAS DRIVER +M: Azael Avalos coproscefalo@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/toshiba_acpi.c + +TOSHIBA BLUETOOTH DRIVER +M: Azael Avalos coproscefalo@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/toshiba_bluetooth.c + +TOSHIBA HDD ACTIVE PROTECTION SENSOR DRIVER +M: Azael Avalos coproscefalo@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/toshiba_haps.c + +TOSHIBA WMI HOTKEYS DRIVER +M: Azael Avalos coproscefalo@gmail.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/toshiba-wmi.c + +TOSHIBA SMM DRIVER +M: Jonathan Buzzard jonathan@buzzard.org.uk +W: http://www.buzzard.org.uk/toshiba/ +S: Maintained +F: drivers/char/toshiba.c +F: include/linux/toshiba.h +F: include/uapi/linux/toshiba.h + +TOSHIBA TC358743 DRIVER +M: Mats Randgaard matrandg@cisco.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/i2c/tc358743* +F: include/media/i2c/tc358743.h + +TMIO/SDHI MMC DRIVER +M: Wolfram Sang wsa+renesas@sang-engineering.com +L: linux-mmc@vger.kernel.org +S: Supported +F: drivers/mmc/host/tmio_mmc* +F: drivers/mmc/host/sh_mobile_sdhi.c +F: include/linux/mfd/tmio.h + +TMP401 HARDWARE MONITOR DRIVER +M: Guenter Roeck linux@roeck-us.net +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/tmp401 +F: drivers/hwmon/tmp401.c + +TMPFS (SHMEM FILESYSTEM) +M: Hugh Dickins hughd@google.com +L: linux-mm@kvack.org +S: Maintained +F: include/linux/shmem_fs.h +F: mm/shmem.c + +TM6000 VIDEO4LINUX DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Odd fixes +F: drivers/media/usb/tm6000/ + +TW68 VIDEO4LINUX DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/pci/tw68/ + +TW686X VIDEO4LINUX DRIVER +M: Ezequiel Garcia ezequiel@vanguardiasur.com.ar +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: http://linuxtv.org +S: Maintained +F: drivers/media/pci/tw686x/ + +TPM DEVICE DRIVER +M: Peter Huewe peterhuewe@gmx.de +M: Marcel Selhorst tpmdd@selhorst.net +M: Jarkko Sakkinen jarkko.sakkinen@linux.intel.com +R: Jason Gunthorpe jgunthorpe@obsidianresearch.com +W: http://tpmdd.sourceforge.net +L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers) +Q: https://patchwork.kernel.org/project/tpmdd-devel/list/ +T: git git://git.infradead.org/users/jjs/linux-tpmdd.git +S: Maintained +F: drivers/char/tpm/ + +TPM IBM_VTPM DEVICE DRIVER +M: Ashley Lai ashleydlai@gmail.com +W: http://tpmdd.sourceforge.net +L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers) +S: Maintained +F: drivers/char/tpm/tpm_ibmvtpm* + +TRACING +M: Steven Rostedt rostedt@goodmis.org +M: Ingo Molnar mingo@redhat.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core +S: Maintained +F: Documentation/trace/ftrace.txt +F: arch/*/*/*/ftrace.h +F: arch/*/kernel/ftrace.c +F: include/*/ftrace.h +F: include/linux/trace*.h +F: include/trace/ +F: kernel/trace/ +F: tools/testing/selftests/ftrace/ + +TRACING MMIO ACCESSES (MMIOTRACE) +M: Steven Rostedt rostedt@goodmis.org +M: Ingo Molnar mingo@kernel.org +R: Karol Herbst karolherbst@gmail.com +R: Pekka Paalanen ppaalanen@gmail.com +S: Maintained +L: linux-kernel@vger.kernel.org +L: nouveau@lists.freedesktop.org +F: kernel/trace/trace_mmiotrace.c +F: include/linux/mmiotrace.h +F: arch/x86/mm/kmmio.c +F: arch/x86/mm/mmio-mod.c +F: arch/x86/mm/testmmiotrace.c + +TRIVIAL PATCHES +M: Jiri Kosina trivial@kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git +S: Maintained +K: ^Subject:.*(?i)trivial + +TTY LAYER +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +M: Jiri Slaby jslaby@suse.com +S: Supported +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git +F: Documentation/serial/ +F: drivers/tty/ +F: drivers/tty/serial/serial_core.c +F: include/linux/serial_core.h +F: include/linux/serial.h +F: include/linux/tty.h +F: include/uapi/linux/serial_core.h +F: include/uapi/linux/serial.h +F: include/uapi/linux/tty.h + +TUA9001 MEDIA DRIVER +M: Antti Palosaari crope@iki.fi +L: linux-media@vger.kernel.org +W: https://linuxtv.org +W: http://palosaari.fi/linux/ +Q: http://patchwork.linuxtv.org/project/linux-media/list/ +T: git git://linuxtv.org/anttip/media_tree.git +S: Maintained +F: drivers/media/tuners/tua9001* + +TULIP NETWORK DRIVERS +L: netdev@vger.kernel.org +L: linux-parisc@vger.kernel.org +S: Orphan +F: drivers/net/ethernet/dec/tulip/ + +TUN/TAP driver +M: Maxim Krasnyansky maxk@qti.qualcomm.com +W: http://vtun.sourceforge.net/tun +S: Maintained +F: Documentation/networking/tuntap.txt +F: arch/um/os-Linux/drivers/ + +TURBOCHANNEL SUBSYSTEM +M: "Maciej W. Rozycki" macro@linux-mips.org +M: Ralf Baechle ralf@linux-mips.org +L: linux-mips@linux-mips.org +Q: http://patchwork.linux-mips.org/project/linux-mips/list/ +S: Maintained +F: drivers/tc/ +F: include/linux/tc.h + +U14-34F SCSI DRIVER +M: Dario Ballabio ballabio_dario@emc.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/u14-34f.c + +UBI FILE SYSTEM (UBIFS) +M: Richard Weinberger richard@nod.at +M: Artem Bityutskiy dedekind1@gmail.com +M: Adrian Hunter adrian.hunter@intel.com +L: linux-mtd@lists.infradead.org +T: git git://git.infradead.org/ubifs-2.6.git +W: http://www.linux-mtd.infradead.org/doc/ubifs.html +S: Supported +F: Documentation/filesystems/ubifs.txt +F: fs/ubifs/ + +UCLINUX (M68KNOMMU AND COLDFIRE) +M: Greg Ungerer gerg@linux-m68k.org +W: http://www.linux-m68k.org/ +W: http://www.uclinux.org/ +L: linux-m68k@lists.linux-m68k.org +L: uclinux-dev@uclinux.org (subscribers-only) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git +S: Maintained +F: arch/m68k/coldfire/ +F: arch/m68k/68*/ +F: arch/m68k/*/*_no.* +F: arch/m68k/include/asm/*_no.* + +UDF FILESYSTEM +M: Jan Kara jack@suse.com +S: Maintained +F: Documentation/filesystems/udf.txt +F: fs/udf/ + +UFS FILESYSTEM +M: Evgeniy Dushistov dushistov@mail.ru +S: Maintained +F: Documentation/filesystems/ufs.txt +F: fs/ufs/ + +UHID USERSPACE HID IO DRIVER: +M: David Herrmann dh.herrmann@googlemail.com +L: linux-input@vger.kernel.org +S: Maintained +F: drivers/hid/uhid.c +F: include/uapi/linux/uhid.h + +ULTRA-WIDEBAND (UWB) SUBSYSTEM: +L: linux-usb@vger.kernel.org +S: Orphan +F: drivers/uwb/ +F: include/linux/uwb.h +F: include/linux/uwb/ + +UNICORE32 ARCHITECTURE: +M: Guan Xuetao gxt@mprc.pku.edu.cn +W: http://mprc.pku.edu.cn/~guanxuetao/linux +S: Maintained +T: git git://github.com/gxt/linux.git +F: arch/unicore32/ + +UNIFDEF +M: Tony Finch dot@dotat.at +W: http://dotat.at/prog/unifdef +S: Maintained +F: scripts/unifdef.c + +UNIFORM CDROM DRIVER +M: Jens Axboe axboe@kernel.dk +W: http://www.kernel.dk +S: Maintained +F: Documentation/cdrom/ +F: drivers/cdrom/cdrom.c +F: include/linux/cdrom.h +F: include/uapi/linux/cdrom.h + +UNISYS S-PAR DRIVERS +M: David Kershner david.kershner@unisys.com +L: sparmaintainer@unisys.com (Unisys internal) +S: Supported +F: drivers/staging/unisys/ + +UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER +M: Vinayak Holikatti vinholikatti@gmail.com +L: linux-scsi@vger.kernel.org +S: Supported +F: Documentation/scsi/ufs.txt +F: drivers/scsi/ufs/ + +UNSORTED BLOCK IMAGES (UBI) +M: Artem Bityutskiy dedekind1@gmail.com +M: Richard Weinberger richard@nod.at +W: http://www.linux-mtd.infradead.org/ +L: linux-mtd@lists.infradead.org +T: git git://git.infradead.org/ubifs-2.6.git +S: Supported +F: drivers/mtd/ubi/ +F: include/linux/mtd/ubi.h +F: include/uapi/mtd/ubi-user.h + +USB ACM DRIVER +M: Oliver Neukum oneukum@suse.com +L: linux-usb@vger.kernel.org +S: Maintained +F: Documentation/usb/acm.txt +F: drivers/usb/class/cdc-acm.* + +USB AR5523 WIRELESS DRIVER +M: Pontus Fuchs pontus.fuchs@gmail.com +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/net/wireless/ath/ar5523/ + +USB ATTACHED SCSI +M: Hans de Goede hdegoede@redhat.com +M: Gerd Hoffmann kraxel@redhat.com +L: linux-usb@vger.kernel.org +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/usb/storage/uas.c + +USB CDC ETHERNET DRIVER +M: Oliver Neukum oliver@neukum.org +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/net/usb/cdc_*.c +F: include/uapi/linux/usb/cdc.h + +USB CHAOSKEY DRIVER +M: Keith Packard keithp@keithp.com +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/misc/chaoskey.c + +USB CYPRESS C67X00 DRIVER +M: Peter Korsgaard jacmet@sunsite.dk +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/c67x00/ + +USB DAVICOM DM9601 DRIVER +M: Peter Korsgaard jacmet@sunsite.dk +L: netdev@vger.kernel.org +W: http://www.linux-usb.org/usbnet +S: Maintained +F: drivers/net/usb/dm9601.c + +USB DIAMOND RIO500 DRIVER +M: Cesar Miquel miquel@df.uba.ar +L: rio500-users@lists.sourceforge.net +W: http://rio500.sourceforge.net +S: Maintained +F: drivers/usb/misc/rio500* + +USB EHCI DRIVER +M: Alan Stern stern@rowland.harvard.edu +L: linux-usb@vger.kernel.org +S: Maintained +F: Documentation/usb/ehci.txt +F: drivers/usb/host/ehci* + +USB GADGET/PERIPHERAL SUBSYSTEM +M: Felipe Balbi balbi@kernel.org +L: linux-usb@vger.kernel.org +W: http://www.linux-usb.org/gadget +T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git +S: Maintained +F: drivers/usb/gadget/ +F: include/linux/usb/gadget* + +USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...) +M: Jiri Kosina jikos@kernel.org +R: Benjamin Tissoires benjamin.tissoires@redhat.com +L: linux-usb@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git +S: Maintained +F: Documentation/hid/hiddev.txt +F: drivers/hid/usbhid/ + +USB ISP116X DRIVER +M: Olav Kongas ok@artecdesign.ee +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/host/isp116x* +F: include/linux/usb/isp116x.h + +USB LAN78XX ETHERNET DRIVER +M: Woojung Huh woojung.huh@microchip.com +M: Microchip Linux Driver Support UNGLinuxDriver@microchip.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/usb/lan78xx.* + +USB MASS STORAGE DRIVER +M: Matthew Dharm mdharm-usb@one-eyed-alien.net +L: linux-usb@vger.kernel.org +L: usb-storage@lists.one-eyed-alien.net +S: Maintained +W: http://www.one-eyed-alien.net/~mdharm/linux-usb/ +F: drivers/usb/storage/ + +USB MIDI DRIVER +M: Clemens Ladisch clemens@ladisch.de +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +T: git git://git.alsa-project.org/alsa-kernel.git +S: Maintained +F: sound/usb/midi.* + +USB NETWORKING DRIVERS +L: linux-usb@vger.kernel.org +S: Odd Fixes +F: drivers/net/usb/ + +USB OHCI DRIVER +M: Alan Stern stern@rowland.harvard.edu +L: linux-usb@vger.kernel.org +S: Maintained +F: Documentation/usb/ohci.txt +F: drivers/usb/host/ohci* + +USB OTG FSM (Finite State Machine) +M: Peter Chen Peter.Chen@nxp.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/common/usb-otg-fsm.c + +USB OVER IP DRIVER +M: Valentina Manea valentina.manea.m@gmail.com +M: Shuah Khan shuah.kh@samsung.com +L: linux-usb@vger.kernel.org +S: Maintained +F: Documentation/usb/usbip_protocol.txt +F: drivers/usb/usbip/ +F: tools/usb/usbip/ + +USB PEGASUS DRIVER +M: Petko Manolov petkan@nucleusys.com +L: linux-usb@vger.kernel.org +L: netdev@vger.kernel.org +T: git git://github.com/petkan/pegasus.git +W: https://github.com/petkan/pegasus +S: Maintained +F: drivers/net/usb/pegasus.* + +USB PHY LAYER +M: Felipe Balbi balbi@kernel.org +L: linux-usb@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git +S: Maintained +F: drivers/usb/phy/ + +USB PRINTER DRIVER (usblp) +M: Pete Zaitcev zaitcev@redhat.com +L: linux-usb@vger.kernel.org +S: Supported +F: drivers/usb/class/usblp.c + +USB QMI WWAN NETWORK DRIVER +M: Bjørn Mork bjorn@mork.no +L: netdev@vger.kernel.org +S: Maintained +F: Documentation/ABI/testing/sysfs-class-net-qmi +F: drivers/net/usb/qmi_wwan.c + +USB RTL8150 DRIVER +M: Petko Manolov petkan@nucleusys.com +L: linux-usb@vger.kernel.org +L: netdev@vger.kernel.org +T: git git://github.com/petkan/rtl8150.git +W: https://github.com/petkan/rtl8150 +S: Maintained +F: drivers/net/usb/rtl8150.c + +USB SERIAL SUBSYSTEM +M: Johan Hovold johan@kernel.org +L: linux-usb@vger.kernel.org +S: Maintained +F: Documentation/usb/usb-serial.txt +F: drivers/usb/serial/ +F: include/linux/usb/serial.h + +USB SMSC75XX ETHERNET DRIVER +M: Steve Glendinning steve.glendinning@shawell.net +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/usb/smsc75xx.* + +USB SMSC95XX ETHERNET DRIVER +M: Steve Glendinning steve.glendinning@shawell.net +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/usb/smsc95xx.* + +USB SUBSYSTEM +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +L: linux-usb@vger.kernel.org +W: http://www.linux-usb.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git +S: Supported +F: Documentation/usb/ +F: drivers/usb/ +F: include/linux/usb.h +F: include/linux/usb/ + +USB UHCI DRIVER +M: Alan Stern stern@rowland.harvard.edu +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/host/uhci* + +USB "USBNET" DRIVER FRAMEWORK +M: Oliver Neukum oneukum@suse.com +L: netdev@vger.kernel.org +W: http://www.linux-usb.org/usbnet +S: Maintained +F: drivers/net/usb/usbnet.c +F: include/linux/usb/usbnet.h + +USB VIDEO CLASS +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-uvc-devel@lists.sourceforge.net (subscribers-only) +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: http://www.ideasonboard.org/uvc/ +S: Maintained +F: drivers/media/usb/uvc/ +F: include/uapi/linux/uvcvideo.h + +USB VISION DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Odd Fixes +F: drivers/media/usb/usbvision/ + +USB WEBCAM GADGET +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/gadget/function/*uvc* +F: drivers/usb/gadget/legacy/webcam.c + +USB WIRELESS RNDIS DRIVER (rndis_wlan) +M: Jussi Kivilinna jussi.kivilinna@iki.fi +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/net/wireless/rndis_wlan.c + +USB XHCI DRIVER +M: Mathias Nyman mathias.nyman@intel.com +L: linux-usb@vger.kernel.org +S: Supported +F: drivers/usb/host/xhci* +F: drivers/usb/host/pci-quirks* + +USB ZD1201 DRIVER +L: linux-wireless@vger.kernel.org +W: http://linux-lc100020.sourceforge.net +S: Orphan +F: drivers/net/wireless/zydas/zd1201.* + +USB ZR364XX DRIVER +M: Antoine Jacquet royale@zerezo.com +L: linux-usb@vger.kernel.org +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: http://royale.zerezo.com/zr364xx/ +S: Maintained +F: Documentation/video4linux/zr364xx.txt +F: drivers/media/usb/zr364xx/ + +ULPI BUS +M: Heikki Krogerus heikki.krogerus@linux.intel.com +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/common/ulpi.c +F: include/linux/ulpi/ + +USER-MODE LINUX (UML) +M: Jeff Dike jdike@addtoit.com +M: Richard Weinberger richard@nod.at +L: user-mode-linux-devel@lists.sourceforge.net +L: user-mode-linux-user@lists.sourceforge.net +W: http://user-mode-linux.sourceforge.net +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml.git +S: Maintained +F: Documentation/virtual/uml/ +F: arch/um/ +F: arch/x86/um/ +F: fs/hostfs/ +F: fs/hppfs/ + +USERSPACE I/O (UIO) +M: "Hans J. Koch" hjk@hansjkoch.de +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git +F: Documentation/DocBook/uio-howto.tmpl +F: drivers/uio/ +F: include/linux/uio*.h + +UTIL-LINUX PACKAGE +M: Karel Zak kzak@redhat.com +L: util-linux@vger.kernel.org +W: http://en.wikipedia.org/wiki/Util-linux +T: git git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git +S: Maintained + +UVESAFB DRIVER +M: Michal Januszewski spock@gentoo.org +L: linux-fbdev@vger.kernel.org +W: http://dev.gentoo.org/~spock/projects/uvesafb/ +S: Maintained +F: Documentation/fb/uvesafb.txt +F: drivers/video/fbdev/uvesafb.* + +VF610 NAND DRIVER +M: Stefan Agner stefan@agner.ch +L: linux-mtd@lists.infradead.org +S: Supported +F: drivers/mtd/nand/vf610_nfc.c + +VFAT/FAT/MSDOS FILESYSTEM +M: OGAWA Hirofumi hirofumi@mail.parknet.co.jp +S: Maintained +F: Documentation/filesystems/vfat.txt +F: fs/fat/ + +VFIO DRIVER +M: Alex Williamson alex.williamson@redhat.com +L: kvm@vger.kernel.org +T: git git://github.com/awilliam/linux-vfio.git +S: Maintained +F: Documentation/vfio.txt +F: drivers/vfio/ +F: include/linux/vfio.h +F: include/uapi/linux/vfio.h + +VFIO PLATFORM DRIVER +M: Baptiste Reynal b.reynal@virtualopensystems.com +L: kvm@vger.kernel.org +S: Maintained +F: drivers/vfio/platform/ + +VIDEOBUF2 FRAMEWORK +M: Pawel Osciak pawel@osciak.com +M: Marek Szyprowski m.szyprowski@samsung.com +M: Kyungmin Park kyungmin.park@samsung.com +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/v4l2-core/videobuf2-* +F: include/media/videobuf2-* + +VIRTUAL SERIO DEVICE DRIVER +M: Stephen Chandler Paul thatslyude@gmail.com +S: Maintained +F: drivers/input/serio/userio.c +F: include/uapi/linux/userio.h + +VIRTIO CONSOLE DRIVER +M: Amit Shah amit.shah@redhat.com +L: virtualization@lists.linux-foundation.org +S: Maintained +F: drivers/char/virtio_console.c +F: include/linux/virtio_console.h +F: include/uapi/linux/virtio_console.h + +VIRTIO CORE, NET AND BLOCK DRIVERS +M: "Michael S. Tsirkin" mst@redhat.com +L: virtualization@lists.linux-foundation.org +S: Maintained +F: drivers/virtio/ +F: tools/virtio/ +F: drivers/net/virtio_net.c +F: drivers/block/virtio_blk.c +F: include/linux/virtio_*.h +F: include/uapi/linux/virtio_*.h + +VIRTIO DRIVERS FOR S390 +M: Christian Borntraeger borntraeger@de.ibm.com +M: Cornelia Huck cornelia.huck@de.ibm.com +L: linux-s390@vger.kernel.org +L: virtualization@lists.linux-foundation.org +L: kvm@vger.kernel.org +S: Supported +F: drivers/s390/virtio/ + +VIRTIO GPU DRIVER +M: David Airlie airlied@linux.ie +M: Gerd Hoffmann kraxel@redhat.com +L: dri-devel@lists.freedesktop.org +L: virtualization@lists.linux-foundation.org +S: Maintained +F: drivers/gpu/drm/virtio/ +F: include/uapi/linux/virtio_gpu.h + +VIRTIO HOST (VHOST) +M: "Michael S. Tsirkin" mst@redhat.com +L: kvm@vger.kernel.org +L: virtualization@lists.linux-foundation.org +L: netdev@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git +S: Maintained +F: drivers/vhost/ +F: include/uapi/linux/vhost.h + +VIRTIO INPUT DRIVER +M: Gerd Hoffmann kraxel@redhat.com +S: Maintained +F: drivers/virtio/virtio_input.c +F: include/uapi/linux/virtio_input.h + +VIA RHINE NETWORK DRIVER +S: Orphan +F: drivers/net/ethernet/via/via-rhine.c + +VIA SD/MMC CARD CONTROLLER DRIVER +M: Bruce Chang brucechang@via.com.tw +M: Harald Welte HaraldWelte@viatech.com +S: Maintained +F: drivers/mmc/host/via-sdmmc.c + +VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER +M: Florian Tobias Schandinat FlorianSchandinat@gmx.de +L: linux-fbdev@vger.kernel.org +S: Maintained +F: include/linux/via-core.h +F: include/linux/via-gpio.h +F: include/linux/via_i2c.h +F: drivers/video/fbdev/via/ + +VIA VELOCITY NETWORK DRIVER +M: Francois Romieu romieu@fr.zoreil.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/ethernet/via/via-velocity.* + +VIRT LIB +M: Alex Williamson alex.williamson@redhat.com +M: Paolo Bonzini pbonzini@redhat.com +L: kvm@vger.kernel.org +S: Supported +F: virt/lib/ + +VIVID VIRTUAL VIDEO DRIVER +M: Hans Verkuil hverkuil@xs4all.nl +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +W: https://linuxtv.org +S: Maintained +F: drivers/media/platform/vivid/* + +VLAN (802.1Q) +M: Patrick McHardy kaber@trash.net +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/macvlan.c +F: include/linux/if_*vlan.h +F: net/8021q/ + +VLYNQ BUS +M: Florian Fainelli florian@openwrt.org +L: openwrt-devel@lists.openwrt.org (subscribers-only) +S: Maintained +F: drivers/vlynq/vlynq.c +F: include/linux/vlynq.h + +VME SUBSYSTEM +M: Martyn Welch martyn@welchs.me.uk +M: Manohar Vanga manohar.vanga@gmail.com +M: Greg Kroah-Hartman gregkh@linuxfoundation.org +L: devel@driverdev.osuosl.org +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git +F: Documentation/vme_api.txt +F: drivers/staging/vme/ +F: drivers/vme/ +F: include/linux/vme* + +VMWARE HYPERVISOR INTERFACE +M: Alok Kataria akataria@vmware.com +L: virtualization@lists.linux-foundation.org +S: Supported +F: arch/x86/kernel/cpu/vmware.c + +VMWARE BALLOON DRIVER +M: Xavier Deguillard xdeguillard@vmware.com +M: Philip Moltmann moltmann@vmware.com +M: "VMware, Inc." pv-drivers@vmware.com +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/misc/vmw_balloon.c + +VMWARE VMMOUSE SUBDRIVER +M: "VMware Graphics" linux-graphics-maintainer@vmware.com +M: "VMware, Inc." pv-drivers@vmware.com +L: linux-input@vger.kernel.org +S: Maintained +F: drivers/input/mouse/vmmouse.c +F: drivers/input/mouse/vmmouse.h + +VMWARE VMXNET3 ETHERNET DRIVER +M: Shrikrishna Khare skhare@vmware.com +M: "VMware, Inc." pv-drivers@vmware.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/vmxnet3/ + +VMware PVSCSI driver +M: Arvind Kumar arvindkumar@vmware.com +M: VMware PV-Drivers pv-drivers@vmware.com +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/vmw_pvscsi.c +F: drivers/scsi/vmw_pvscsi.h + +VOLTAGE AND CURRENT REGULATOR FRAMEWORK +M: Liam Girdwood lgirdwood@gmail.com +M: Mark Brown broonie@kernel.org +L: linux-kernel@vger.kernel.org +W: http://www.slimlogic.co.uk/?p=48 +T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git +S: Supported +F: Documentation/devicetree/bindings/regulator/ +F: drivers/regulator/ +F: include/dt-bindings/regulator/ +F: include/linux/regulator/ + +VRF +M: David Ahern dsa@cumulusnetworks.com +M: Shrijeet Mukherjee shm@cumulusnetworks.com +L: netdev@vger.kernel.org +S: Maintained +F: drivers/net/vrf.c +F: Documentation/networking/vrf.txt + +VT1211 HARDWARE MONITOR DRIVER +M: Juerg Haefliger juergh@gmail.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/vt1211 +F: drivers/hwmon/vt1211.c + +VT8231 HARDWARE MONITOR DRIVER +M: Roger Lucas vt8231@hiddenengine.co.uk +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/vt8231.c + +VUB300 USB to SDIO/SD/MMC bridge chip +M: Tony Olech tony.olech@elandigitalsystems.com +L: linux-mmc@vger.kernel.org +L: linux-usb@vger.kernel.org +S: Supported +F: drivers/mmc/host/vub300.c + +W1 DALLAS'S 1-WIRE BUS +M: Evgeniy Polyakov zbr@ioremap.net +S: Maintained +F: Documentation/w1/ +F: drivers/w1/ + +W83791D HARDWARE MONITORING DRIVER +M: Marc Hulsman m.hulsman@tudelft.nl +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/w83791d +F: drivers/hwmon/w83791d.c + +W83793 HARDWARE MONITORING DRIVER +M: Rudolf Marek r.marek@assembler.cz +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/w83793 +F: drivers/hwmon/w83793.c + +W83795 HARDWARE MONITORING DRIVER +M: Jean Delvare jdelvare@suse.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: drivers/hwmon/w83795.c + +W83L51xD SD/MMC CARD INTERFACE DRIVER +M: Pierre Ossman pierre@ossman.eu +S: Maintained +F: drivers/mmc/host/wbsd.* + +WACOM PROTOCOL 4 SERIAL TABLETS +M: Julian Squires julian@cipht.net +M: Hans de Goede hdegoede@redhat.com +L: linux-input@vger.kernel.org +S: Maintained +F: drivers/input/tablet/wacom_serial4.c + +WATCHDOG DEVICE DRIVERS +M: Wim Van Sebroeck wim@iguana.be +R: Guenter Roeck linux@roeck-us.net +L: linux-watchdog@vger.kernel.org +W: http://www.linux-watchdog.org/ +T: git git://www.linux-watchdog.org/linux-watchdog.git +S: Maintained +F: Documentation/devicetree/bindings/watchdog/ +F: Documentation/watchdog/ +F: drivers/watchdog/ +F: include/linux/watchdog.h +F: include/uapi/linux/watchdog.h + +WD7000 SCSI DRIVER +M: Miroslav Zagorac zaga@fly.cc.fer.hr +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/wd7000.c + +WIIMOTE HID DRIVER +M: David Herrmann dh.herrmann@googlemail.com +L: linux-input@vger.kernel.org +S: Maintained +F: drivers/hid/hid-wiimote* + +WINBOND CIR DRIVER +M: David Härdeman david@hardeman.nu +S: Maintained +F: drivers/media/rc/winbond-cir.c + +WINSYSTEMS EBC-C384 WATCHDOG DRIVER +M: William Breathitt Gray vilhelm.gray@gmail.com +L: linux-watchdog@vger.kernel.org +S: Maintained +F: drivers/watchdog/ebc-c384_wdt.c + +WINSYSTEMS WS16C48 GPIO DRIVER +M: William Breathitt Gray vilhelm.gray@gmail.com +L: linux-gpio@vger.kernel.org +S: Maintained +F: drivers/gpio/gpio-ws16c48.c + +WIMAX STACK +M: Inaky Perez-Gonzalez inaky.perez-gonzalez@intel.com +M: linux-wimax@intel.com +L: wimax@linuxwimax.org (subscribers-only) +S: Supported +W: http://linuxwimax.org +F: Documentation/wimax/README.wimax +F: include/linux/wimax/debug.h +F: include/net/wimax.h +F: include/uapi/linux/wimax.h +F: net/wimax/ + +WISTRON LAPTOP BUTTON DRIVER +M: Miloslav Trmac mitr@volny.cz +S: Maintained +F: drivers/input/misc/wistron_btns.c + +WL3501 WIRELESS PCMCIA CARD DRIVER +M: Arnaldo Carvalho de Melo acme@ghostprotocols.net +L: linux-wireless@vger.kernel.org +W: http://oops.ghostprotocols.net:81/blog +S: Maintained +F: drivers/net/wireless/wl3501* + +WOLFSON MICROELECTRONICS DRIVERS +L: patches@opensource.wolfsonmicro.com +T: git https://github.com/CirrusLogic/linux-drivers.git +W: https://github.com/CirrusLogic/linux-drivers/wiki +S: Supported +F: Documentation/hwmon/wm83?? +F: Documentation/devicetree/bindings/extcon/extcon-arizona.txt +F: Documentation/devicetree/bindings/regulator/arizona-regulator.txt +F: Documentation/devicetree/bindings/mfd/arizona.txt +F: arch/arm/mach-s3c64xx/mach-crag6410* +F: drivers/clk/clk-wm83*.c +F: drivers/extcon/extcon-arizona.c +F: drivers/leds/leds-wm83*.c +F: drivers/gpio/gpio-*wm*.c +F: drivers/gpio/gpio-arizona.c +F: drivers/hwmon/wm83??-hwmon.c +F: drivers/input/misc/wm831x-on.c +F: drivers/input/touchscreen/wm831x-ts.c +F: drivers/input/touchscreen/wm97*.c +F: drivers/mfd/arizona* +F: drivers/mfd/wm*.c +F: drivers/mfd/cs47l24* +F: drivers/power/wm83*.c +F: drivers/rtc/rtc-wm83*.c +F: drivers/regulator/wm8*.c +F: drivers/video/backlight/wm83*_bl.c +F: drivers/watchdog/wm83*_wdt.c +F: include/linux/mfd/arizona/ +F: include/linux/mfd/wm831x/ +F: include/linux/mfd/wm8350/ +F: include/linux/mfd/wm8400* +F: include/linux/wm97xx.h +F: include/sound/wm????.h +F: sound/soc/codecs/arizona.? +F: sound/soc/codecs/wm* +F: sound/soc/codecs/cs47l24* + +WORKQUEUE +M: Tejun Heo tj@kernel.org +R: Lai Jiangshan jiangshanlai@gmail.com +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git +S: Maintained +F: include/linux/workqueue.h +F: kernel/workqueue.c +F: Documentation/workqueue.txt + +X-POWERS MULTIFUNCTION PMIC DEVICE DRIVERS +M: Chen-Yu Tsai wens@csie.org +L: linux-kernel@vger.kernel.org +S: Maintained +N: axp[128] + +X.25 NETWORK LAYER +M: Andrew Hendry andrew.hendry@gmail.com +L: linux-x25@vger.kernel.org +S: Odd Fixes +F: Documentation/networking/x25* +F: include/net/x25* +F: net/x25/ + +X86 ARCHITECTURE (32-BIT AND 64-BIT) +M: Thomas Gleixner tglx@linutronix.de +M: Ingo Molnar mingo@redhat.com +M: "H. Peter Anvin" hpa@zytor.com +M: x86@kernel.org +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core +S: Maintained +F: Documentation/x86/ +F: arch/x86/ + +X86 PLATFORM DRIVERS +M: Darren Hart dvhart@infradead.org +L: platform-driver-x86@vger.kernel.org +T: git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git +S: Maintained +F: drivers/platform/x86/ +F: drivers/platform/olpc/ + +X86 MCE INFRASTRUCTURE +M: Tony Luck tony.luck@intel.com +M: Borislav Petkov bp@alien8.de +L: linux-edac@vger.kernel.org +S: Maintained +F: arch/x86/kernel/cpu/mcheck/* + +X86 MICROCODE UPDATE SUPPORT +M: Borislav Petkov bp@alien8.de +S: Maintained +F: arch/x86/kernel/cpu/microcode/* + +X86 VDSO +M: Andy Lutomirski luto@amacapital.net +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/vdso +S: Maintained +F: arch/x86/entry/vdso/ + +XC2028/3028 TUNER DRIVER +M: Mauro Carvalho Chehab mchehab@osg.samsung.com +L: linux-media@vger.kernel.org +W: https://linuxtv.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/tuners/tuner-xc2028.* + +XEN HYPERVISOR INTERFACE +M: Boris Ostrovsky boris.ostrovsky@oracle.com +M: David Vrabel david.vrabel@citrix.com +M: Juergen Gross jgross@suse.com +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +T: git git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git +S: Supported +F: arch/x86/xen/ +F: drivers/*/xen-*front.c +F: drivers/xen/ +F: arch/x86/include/asm/xen/ +F: include/xen/ +F: include/uapi/xen/ + +XEN HYPERVISOR ARM +M: Stefano Stabellini sstabellini@kernel.org +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/xen/ +F: arch/arm/include/asm/xen/ + +XEN HYPERVISOR ARM64 +M: Stefano Stabellini sstabellini@kernel.org +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +S: Maintained +F: arch/arm64/xen/ +F: arch/arm64/include/asm/xen/ + +XEN NETWORK BACKEND DRIVER +M: Wei Liu wei.liu2@citrix.com +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +L: netdev@vger.kernel.org +S: Supported +F: drivers/net/xen-netback/* + +XEN PCI SUBSYSTEM +M: Konrad Rzeszutek Wilk konrad.wilk@oracle.com +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +S: Supported +F: arch/x86/pci/*xen* +F: drivers/pci/*xen* + +XEN BLOCK SUBSYSTEM +M: Konrad Rzeszutek Wilk konrad.wilk@oracle.com +M: Roger Pau Monné roger.pau@citrix.com +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +S: Supported +F: drivers/block/xen-blkback/* +F: drivers/block/xen* + +XEN PVSCSI DRIVERS +M: Juergen Gross jgross@suse.com +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +L: linux-scsi@vger.kernel.org +S: Supported +F: drivers/scsi/xen-scsifront.c +F: drivers/xen/xen-scsiback.c +F: include/xen/interface/io/vscsiif.h + +XEN SWIOTLB SUBSYSTEM +M: Konrad Rzeszutek Wilk konrad.wilk@oracle.com +L: xen-devel@lists.xenproject.org (moderated for non-subscribers) +S: Supported +F: arch/x86/xen/*swiotlb* +F: drivers/xen/*swiotlb* + +XFS FILESYSTEM +P: Silicon Graphics Inc +M: Dave Chinner david@fromorbit.com +M: xfs@oss.sgi.com +L: xfs@oss.sgi.com +W: http://oss.sgi.com/projects/xfs +T: git git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git +S: Supported +F: Documentation/filesystems/xfs.txt +F: fs/xfs/ + +XILINX AXI ETHERNET DRIVER +M: Anirudha Sarangi anirudh@xilinx.com +M: John Linn John.Linn@xilinx.com +S: Maintained +F: drivers/net/ethernet/xilinx/xilinx_axienet* + +XILINX UARTLITE SERIAL DRIVER +M: Peter Korsgaard jacmet@sunsite.dk +L: linux-serial@vger.kernel.org +S: Maintained +F: drivers/tty/serial/uartlite.c + +XILINX VIDEO IP CORES +M: Hyun Kwon hyun.kwon@xilinx.com +M: Laurent Pinchart laurent.pinchart@ideasonboard.com +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Supported +F: Documentation/devicetree/bindings/media/xilinx/ +F: drivers/media/platform/xilinx/ +F: include/uapi/linux/xilinx-v4l2-controls.h + +XILLYBUS DRIVER +M: Eli Billauer eli.billauer@gmail.com +L: linux-kernel@vger.kernel.org +S: Supported +F: drivers/char/xillybus/ + +XTENSA XTFPGA PLATFORM SUPPORT +M: Max Filippov jcmvbkbc@gmail.com +L: linux-xtensa@linux-xtensa.org +S: Maintained +F: drivers/spi/spi-xtensa-xtfpga.c +F: sound/soc/xtensa/xtfpga-i2s.c + +YAM DRIVER FOR AX.25 +M: Jean-Paul Roubelat jpr@f6fbb.org +L: linux-hams@vger.kernel.org +S: Maintained +F: drivers/net/hamradio/yam* +F: include/linux/yam.h + +YEALINK PHONE DRIVER +M: Henk Vergonet Henk.Vergonet@gmail.com +L: usbb2k-api-dev@nongnu.org +S: Maintained +F: Documentation/input/yealink.txt +F: drivers/input/misc/yealink.* + +Z8530 DRIVER FOR AX.25 +M: Joerg Reuter jreuter@yaina.de +W: http://yaina.de/jreuter/ +W: http://www.qsl.net/dl1bke/ +L: linux-hams@vger.kernel.org +S: Maintained +F: Documentation/networking/z8530drv.txt +F: drivers/net/hamradio/*scc.c +F: drivers/net/hamradio/z8530.h + +ZBUD COMPRESSED PAGE ALLOCATOR +M: Seth Jennings sjenning@redhat.com +L: linux-mm@kvack.org +S: Maintained +F: mm/zbud.c +F: include/linux/zbud.h + +ZD1211RW WIRELESS DRIVER +M: Daniel Drake dsd@gentoo.org +M: Ulrich Kunitz kune@deine-taler.de +W: http://zd1211.ath.cx/wiki/DriverRewrite +L: linux-wireless@vger.kernel.org +L: zd1211-devs@lists.sourceforge.net (subscribers-only) +S: Maintained +F: drivers/net/wireless/zydas/zd1211rw/ + +ZPOOL COMPRESSED PAGE STORAGE API +M: Dan Streetman ddstreet@ieee.org +L: linux-mm@kvack.org +S: Maintained +F: mm/zpool.c +F: include/linux/zpool.h + +ZR36067 VIDEO FOR LINUX DRIVER +L: mjpeg-users@lists.sourceforge.net +L: linux-media@vger.kernel.org +W: http://mjpeg.sourceforge.net/driver-zoran/ +T: hg https://linuxtv.org/hg/v4l-dvb +S: Odd Fixes +F: drivers/media/pci/zoran/ + +ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER +M: Minchan Kim minchan@kernel.org +M: Nitin Gupta ngupta@vflare.org +R: Sergey Senozhatsky sergey.senozhatsky.work@gmail.com +L: linux-kernel@vger.kernel.org +S: Maintained +F: drivers/block/zram/ +F: Documentation/blockdev/zram.txt + +ZS DECSTATION Z85C30 SERIAL DRIVER +M: "Maciej W. Rozycki" macro@linux-mips.org +S: Maintained +F: drivers/tty/serial/zs.* + +ZSMALLOC COMPRESSED SLAB MEMORY ALLOCATOR +M: Minchan Kim minchan@kernel.org +M: Nitin Gupta ngupta@vflare.org +R: Sergey Senozhatsky sergey.senozhatsky.work@gmail.com +L: linux-mm@kvack.org +S: Maintained +F: mm/zsmalloc.c +F: include/linux/zsmalloc.h +F: Documentation/vm/zsmalloc.txt + +ZSWAP COMPRESSED SWAP CACHING +M: Seth Jennings sjenning@redhat.com +L: linux-mm@kvack.org +S: Maintained +F: mm/zswap.c + +THE REST +M: Linus Torvalds torvalds@linux-foundation.org +L: linux-kernel@vger.kernel.org +Q: http://patchwork.kernel.org/project/LKML/list/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git +S: Buried alive in reporters +F: * +F: */ diff --combined net/batman-adv/routing.c index f75091c,2bc9645..af8e119 --- a/net/batman-adv/routing.c +++ b/net/batman-adv/routing.c @@@ -40,12 -40,15 +40,15 @@@ #include "fragmentation.h" #include "hard-interface.h" #include "icmp_socket.h" + #include "log.h" #include "network-coding.h" #include "originator.h" #include "packet.h" #include "send.h" #include "soft-interface.h" + #include "tp_meter.h" #include "translation-table.h" + #include "tvlv.h"
static int batadv_route_unicast_packet(struct sk_buff *skb, struct batadv_hard_iface *recv_if); @@@ -268,10 -271,20 +271,19 @@@ static int batadv_recv_my_icmp_packet(s icmph->ttl = BATADV_TTL;
res = batadv_send_skb_to_orig(skb, orig_node, NULL); - if (res != NET_XMIT_DROP) - ret = NET_RX_SUCCESS; + if (res == -1) + goto out; + - if (dev_xmit_complete(res)) - ret = NET_RX_SUCCESS; ++ ret = NET_RX_SUCCESS;
break; + case BATADV_TP: + if (!pskb_may_pull(skb, sizeof(struct batadv_icmp_tp_packet))) + goto out; + + batadv_tp_meter_recv(bat_priv, skb); + ret = NET_RX_SUCCESS; + goto out; default: /* drop unknown type */ goto out; @@@ -290,7 -303,7 +302,7 @@@ static int batadv_recv_icmp_ttl_exceede struct batadv_hard_iface *primary_if = NULL; struct batadv_orig_node *orig_node = NULL; struct batadv_icmp_packet *icmp_packet; - int ret = NET_RX_DROP; + int res, ret = NET_RX_DROP;
icmp_packet = (struct batadv_icmp_packet *)skb->data;
@@@ -321,7 -334,8 +333,8 @@@ icmp_packet->msg_type = BATADV_TTL_EXCEEDED; icmp_packet->ttl = BATADV_TTL;
- if (batadv_send_skb_to_orig(skb, orig_node, NULL) != NET_XMIT_DROP) + res = batadv_send_skb_to_orig(skb, orig_node, NULL); - if (res != -1 && dev_xmit_complete(res)) ++ if (res != -1) ret = NET_RX_SUCCESS;
out: @@@ -341,7 -355,7 +354,7 @@@ int batadv_recv_icmp_packet(struct sk_b struct ethhdr *ethhdr; struct batadv_orig_node *orig_node = NULL; int hdr_size = sizeof(struct batadv_icmp_header); - int ret = NET_RX_DROP; + int res, ret = NET_RX_DROP;
/* drop packet if it has not necessary minimum size */ if (unlikely(!pskb_may_pull(skb, hdr_size))) @@@ -374,6 -388,7 +387,7 @@@ if (skb_cow(skb, ETH_HLEN) < 0) goto out;
+ ethhdr = eth_hdr(skb); icmph = (struct batadv_icmp_header *)skb->data; icmp_packet_rr = (struct batadv_icmp_packet_rr *)icmph; if (icmp_packet_rr->rr_cur >= BATADV_RR_LEN) @@@ -407,7 -422,8 +421,8 @@@ icmph->ttl--;
/* route it */ - if (batadv_send_skb_to_orig(skb, orig_node, recv_if) != NET_XMIT_DROP) + res = batadv_send_skb_to_orig(skb, orig_node, recv_if); - if (res != -1 && dev_xmit_complete(res)) ++ if (res != -1) ret = NET_RX_SUCCESS;
out: @@@ -468,7 -484,7 +483,7 @@@ batadv_find_router(struct batadv_priv * struct batadv_orig_node *orig_node, struct batadv_hard_iface *recv_if) { - struct batadv_algo_ops *bao = bat_priv->bat_algo_ops; + struct batadv_algo_ops *bao = bat_priv->algo_ops; struct batadv_neigh_node *first_candidate_router = NULL; struct batadv_neigh_node *next_candidate_router = NULL; struct batadv_neigh_node *router, *cand_router = NULL; @@@ -522,9 -538,9 +537,9 @@@ /* alternative candidate should be good enough to be * considered */ - if (!bao->bat_neigh_is_similar_or_better(cand_router, - cand->if_outgoing, - router, recv_if)) + if (!bao->neigh.is_similar_or_better(cand_router, + cand->if_outgoing, router, + recv_if)) goto next;
/* don't use the same router twice */ @@@ -644,6 -660,8 +659,8 @@@ static int batadv_route_unicast_packet(
len = skb->len; res = batadv_send_skb_to_orig(skb, orig_node, recv_if); + if (res == -1) + goto out;
/* translate transmit result into receive result */ if (res == NET_XMIT_SUCCESS) { @@@ -651,13 -669,11 +668,10 @@@ batadv_inc_counter(bat_priv, BATADV_CNT_FORWARD); batadv_add_counter(bat_priv, BATADV_CNT_FORWARD_BYTES, len + ETH_HLEN); - - ret = NET_RX_SUCCESS; - } else if (res == -EINPROGRESS) { - /* skb was buffered and consumed */ - ret = NET_RX_SUCCESS; }
- if (dev_xmit_complete(res)) - ret = NET_RX_SUCCESS; ++ ret = NET_RX_SUCCESS; + out: if (orig_node) batadv_orig_node_put(orig_node); @@@ -1006,6 -1022,8 +1020,8 @@@ int batadv_recv_frag_packet(struct sk_b if (!orig_node_src) goto out;
+ skb->priority = frag_packet->priority + 256; + /* Route the fragment if it is not for us and too big to be merged. */ if (!batadv_is_my_mac(bat_priv, frag_packet->dest) && batadv_frag_skb_fwd(skb, recv_if, orig_node_src)) { diff --combined net/batman-adv/send.c index b1a4e8a,49836da..3a10d87 --- a/net/batman-adv/send.c +++ b/net/batman-adv/send.c @@@ -20,10 -20,10 +20,11 @@@
#include <linux/atomic.h> #include <linux/byteorder/generic.h> ++#include <linux/errno.h> #include <linux/etherdevice.h> #include <linux/fs.h> - #include <linux/if_ether.h> #include <linux/if.h> + #include <linux/if_ether.h> #include <linux/jiffies.h> #include <linux/kernel.h> #include <linux/kref.h> @@@ -42,6 -42,7 +43,7 @@@ #include "fragmentation.h" #include "gateway_client.h" #include "hard-interface.h" + #include "log.h" #include "network-coding.h" #include "originator.h" #include "routing.h" @@@ -71,6 -72,6 +73,7 @@@ int batadv_send_skb_packet(struct sk_bu { struct batadv_priv *bat_priv; struct ethhdr *ethhdr; ++ int ret;
bat_priv = netdev_priv(hard_iface->soft_iface);
@@@ -108,8 -109,8 +111,15 @@@ /* dev_queue_xmit() returns a negative result on error. However on * congestion and traffic shaping, it drops and returns NET_XMIT_DROP * (which is > 0). This will not be treated as an error. ++ * ++ * a negative value cannot be returned because it could be interepreted ++ * as not consumed skb by callers of batadv_send_skb_to_orig. */ -- return dev_queue_xmit(skb); ++ ret = dev_queue_xmit(skb); ++ if (ret < 0) ++ ret = NET_XMIT_DROP; ++ ++ return ret; send_skb_err: kfree_skb(skb); return NET_XMIT_DROP; @@@ -155,8 -156,11 +165,11 @@@ int batadv_send_unicast_skb(struct sk_b * host, NULL can be passed as recv_if and no interface alternating is * attempted. * - * Return: NET_XMIT_SUCCESS on success, NET_XMIT_DROP on failure, or - * -EINPROGRESS if the skb is buffered for later transmit. - * Return: -1 on failure (and the skb is not consumed), NET_XMIT_POLICED if the ++ * Return: -1 on failure (and the skb is not consumed), -EINPROGRESS if the + * skb is buffered for later transmit or the NET_XMIT status returned by the + * lower routine if the packet has been passed down. + * + * If the returning value is not -1 the skb has been consumed. */ int batadv_send_skb_to_orig(struct sk_buff *skb, struct batadv_orig_node *orig_node, @@@ -164,7 -168,7 +177,7 @@@ { struct batadv_priv *bat_priv = orig_node->bat_priv; struct batadv_neigh_node *neigh_node; - int ret = NET_XMIT_DROP; + int ret = -1;
/* batadv_find_router() increases neigh_nodes refcount if found. */ neigh_node = batadv_find_router(bat_priv, orig_node, recv_if); @@@ -177,8 -181,7 +190,7 @@@ if (atomic_read(&bat_priv->fragmentation) && skb->len > neigh_node->if_incoming->net_dev->mtu) { /* Fragment and send packet. */ - if (batadv_frag_send_packet(skb, orig_node, neigh_node)) - ret = NET_XMIT_SUCCESS; + ret = batadv_frag_send_packet(skb, orig_node, neigh_node);
goto out; } @@@ -187,12 -190,10 +199,10 @@@ * (i.e. being forwarded). If the packet originates from this node or if * network coding fails, then send the packet as usual. */ - if (recv_if && batadv_nc_skb_forward(skb, neigh_node)) { + if (recv_if && batadv_nc_skb_forward(skb, neigh_node)) - ret = NET_XMIT_POLICED; + ret = -EINPROGRESS; - } else { - batadv_send_unicast_skb(skb, neigh_node); - ret = NET_XMIT_SUCCESS; - } + else + ret = batadv_send_unicast_skb(skb, neigh_node);
out: if (neigh_node) @@@ -318,7 -319,7 +328,7 @@@ int batadv_send_skb_unicast(struct bata { struct batadv_unicast_packet *unicast_packet; struct ethhdr *ethhdr; - int ret = NET_XMIT_DROP; + int res, ret = NET_XMIT_DROP;
if (!orig_node) goto out; @@@ -355,7 -356,8 +365,8 @@@ if (batadv_tt_global_client_is_roaming(bat_priv, ethhdr->h_dest, vid)) unicast_packet->ttvn = unicast_packet->ttvn - 1;
- if (batadv_send_skb_to_orig(skb, orig_node, NULL) != NET_XMIT_DROP) + res = batadv_send_skb_to_orig(skb, orig_node, NULL); - if (res != -1 && dev_xmit_complete(res)) ++ if (res != -1) ret = NET_XMIT_SUCCESS;
out: @@@ -428,27 -430,7 +439,7 @@@ int batadv_send_skb_via_gw(struct batad orig_node, vid); }
- void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface) - { - struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); - - if ((hard_iface->if_status == BATADV_IF_NOT_IN_USE) || - (hard_iface->if_status == BATADV_IF_TO_BE_REMOVED)) - return; - - /* the interface gets activated here to avoid race conditions between - * the moment of activating the interface in - * hardif_activate_interface() where the originator mac is set and - * outdated packets (especially uninitialized mac addresses) in the - * packet queue - */ - if (hard_iface->if_status == BATADV_IF_TO_BE_ACTIVATED) - hard_iface->if_status = BATADV_IF_ACTIVE; - - bat_priv->bat_algo_ops->bat_ogm_schedule(hard_iface); - } - - static void batadv_forw_packet_free(struct batadv_forw_packet *forw_packet) + void batadv_forw_packet_free(struct batadv_forw_packet *forw_packet) { kfree_skb(forw_packet->skb); if (forw_packet->if_incoming) @@@ -604,45 -586,6 +595,6 @@@ out atomic_inc(&bat_priv->bcast_queue_left); }
- void batadv_send_outstanding_bat_ogm_packet(struct work_struct *work) - { - struct delayed_work *delayed_work; - struct batadv_forw_packet *forw_packet; - struct batadv_priv *bat_priv; - - delayed_work = to_delayed_work(work); - forw_packet = container_of(delayed_work, struct batadv_forw_packet, - delayed_work); - bat_priv = netdev_priv(forw_packet->if_incoming->soft_iface); - spin_lock_bh(&bat_priv->forw_bat_list_lock); - hlist_del(&forw_packet->list); - spin_unlock_bh(&bat_priv->forw_bat_list_lock); - - if (atomic_read(&bat_priv->mesh_state) == BATADV_MESH_DEACTIVATING) - goto out; - - bat_priv->bat_algo_ops->bat_ogm_emit(forw_packet); - - /* we have to have at least one packet in the queue to determine the - * queues wake up time unless we are shutting down. - * - * only re-schedule if this is the "original" copy, e.g. the OGM of the - * primary interface should only be rescheduled once per period, but - * this function will be called for the forw_packet instances of the - * other secondary interfaces as well. - */ - if (forw_packet->own && - forw_packet->if_incoming == forw_packet->if_outgoing) - batadv_schedule_bat_ogm(forw_packet->if_incoming); - - out: - /* don't count own packet */ - if (!forw_packet->own) - atomic_inc(&bat_priv->batman_queue_left); - - batadv_forw_packet_free(forw_packet); - } - void batadv_purge_outstanding_packets(struct batadv_priv *bat_priv, const struct batadv_hard_iface *hard_iface) diff --combined net/batman-adv/tp_meter.c index 0000000,bf6bffb..2333777 mode 000000,100644..100644 --- a/net/batman-adv/tp_meter.c +++ b/net/batman-adv/tp_meter.c @@@ -1,0 -1,1504 +1,1507 @@@ + /* Copyright (C) 2012-2016 B.A.T.M.A.N. contributors: + * + * Edo Monticelli, Antonio Quartulli + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see http://www.gnu.org/licenses/. + */ + + #include "tp_meter.h" + #include "main.h" + + #include <linux/atomic.h> + #include <linux/bug.h> + #include <linux/byteorder/generic.h> + #include <linux/cache.h> + #include <linux/compiler.h> + #include <linux/device.h> + #include <linux/etherdevice.h> + #include <linux/fs.h> + #include <linux/if_ether.h> + #include <linux/jiffies.h> + #include <linux/kernel.h> + #include <linux/kref.h> + #include <linux/kthread.h> + #include <linux/list.h> + #include <linux/netdevice.h> + #include <linux/param.h> + #include <linux/printk.h> + #include <linux/random.h> + #include <linux/rculist.h> + #include <linux/rcupdate.h> + #include <linux/sched.h> + #include <linux/skbuff.h> + #include <linux/slab.h> + #include <linux/spinlock.h> + #include <linux/stddef.h> + #include <linux/string.h> + #include <linux/timer.h> + #include <linux/wait.h> + #include <linux/workqueue.h> + #include <uapi/linux/batman_adv.h> + + #include "hard-interface.h" + #include "log.h" + #include "netlink.h" + #include "originator.h" + #include "packet.h" + #include "send.h" + + /** + * BATADV_TP_DEF_TEST_LENGTH - Default test length if not specified by the user + * in milliseconds + */ + #define BATADV_TP_DEF_TEST_LENGTH 10000 + + /** + * BATADV_TP_AWND - Advertised window by the receiver (in bytes) + */ + #define BATADV_TP_AWND 0x20000000 + + /** + * BATADV_TP_RECV_TIMEOUT - Receiver activity timeout. If the receiver does not + * get anything for such amount of milliseconds, the connection is killed + */ + #define BATADV_TP_RECV_TIMEOUT 1000 + + /** + * BATADV_TP_MAX_RTO - Maximum sender timeout. If the sender RTO gets beyond + * such amound of milliseconds, the receiver is considered unreachable and the + * connection is killed + */ + #define BATADV_TP_MAX_RTO 30000 + + /** + * BATADV_TP_FIRST_SEQ - First seqno of each session. The number is rather high + * in order to immediately trigger a wrap around (test purposes) + */ + #define BATADV_TP_FIRST_SEQ ((u32)-1 - 2000) + + /** + * BATADV_TP_PLEN - length of the payload (data after the batadv_unicast header) + * to simulate + */ + #define BATADV_TP_PLEN (BATADV_TP_PACKET_LEN - ETH_HLEN - \ + sizeof(struct batadv_unicast_packet)) + + static u8 batadv_tp_prerandom[4096] __read_mostly; + + /** + * batadv_tp_session_cookie - generate session cookie based on session ids + * @session: TP session identifier + * @icmp_uid: icmp pseudo uid of the tp session + * + * Return: 32 bit tp_meter session cookie + */ + static u32 batadv_tp_session_cookie(const u8 session[2], u8 icmp_uid) + { + u32 cookie; + + cookie = icmp_uid << 16; + cookie |= session[0] << 8; + cookie |= session[1]; + + return cookie; + } + + /** + * batadv_tp_cwnd - compute the new cwnd size + * @base: base cwnd size value + * @increment: the value to add to base to get the new size + * @min: minumim cwnd value (usually MSS) + * + * Return the new cwnd size and ensures it does not exceed the Advertised + * Receiver Window size. It is wrap around safe. + * For details refer to Section 3.1 of RFC5681 + * + * Return: new congestion window size in bytes + */ + static u32 batadv_tp_cwnd(u32 base, u32 increment, u32 min) + { + u32 new_size = base + increment; + + /* check for wrap-around */ + if (new_size < base) + new_size = (u32)ULONG_MAX; + + new_size = min_t(u32, new_size, BATADV_TP_AWND); + + return max_t(u32, new_size, min); + } + + /** + * batadv_tp_updated_cwnd - update the Congestion Windows + * @tp_vars: the private data of the current TP meter session + * @mss: maximum segment size of transmission + * + * 1) if the session is in Slow Start, the CWND has to be increased by 1 + * MSS every unique received ACK + * 2) if the session is in Congestion Avoidance, the CWND has to be + * increased by MSS * MSS / CWND for every unique received ACK + */ + static void batadv_tp_update_cwnd(struct batadv_tp_vars *tp_vars, u32 mss) + { + spin_lock_bh(&tp_vars->cwnd_lock); + + /* slow start... */ + if (tp_vars->cwnd <= tp_vars->ss_threshold) { + tp_vars->dec_cwnd = 0; + tp_vars->cwnd = batadv_tp_cwnd(tp_vars->cwnd, mss, mss); + spin_unlock_bh(&tp_vars->cwnd_lock); + return; + } + + /* increment CWND at least of 1 (section 3.1 of RFC5681) */ + tp_vars->dec_cwnd += max_t(u32, 1U << 3, + ((mss * mss) << 6) / (tp_vars->cwnd << 3)); + if (tp_vars->dec_cwnd < (mss << 3)) { + spin_unlock_bh(&tp_vars->cwnd_lock); + return; + } + + tp_vars->cwnd = batadv_tp_cwnd(tp_vars->cwnd, mss, mss); + tp_vars->dec_cwnd = 0; + + spin_unlock_bh(&tp_vars->cwnd_lock); + } + + /** + * batadv_tp_update_rto - calculate new retransmission timeout + * @tp_vars: the private data of the current TP meter session + * @new_rtt: new roundtrip time in msec + */ + static void batadv_tp_update_rto(struct batadv_tp_vars *tp_vars, + u32 new_rtt) + { + long m = new_rtt; + + /* RTT update + * Details in Section 2.2 and 2.3 of RFC6298 + * + * It's tricky to understand. Don't lose hair please. + * Inspired by tcp_rtt_estimator() tcp_input.c + */ + if (tp_vars->srtt != 0) { + m -= (tp_vars->srtt >> 3); /* m is now error in rtt est */ + tp_vars->srtt += m; /* rtt = 7/8 srtt + 1/8 new */ + if (m < 0) + m = -m; + + m -= (tp_vars->rttvar >> 2); + tp_vars->rttvar += m; /* mdev ~= 3/4 rttvar + 1/4 new */ + } else { + /* first measure getting in */ + tp_vars->srtt = m << 3; /* take the measured time to be srtt */ + tp_vars->rttvar = m << 1; /* new_rtt / 2 */ + } + + /* rto = srtt + 4 * rttvar. + * rttvar is scaled by 4, therefore doesn't need to be multiplied + */ + tp_vars->rto = (tp_vars->srtt >> 3) + tp_vars->rttvar; + } + + /** + * batadv_tp_batctl_notify - send client status result to client + * @reason: reason for tp meter session stop + * @dst: destination of tp_meter session + * @bat_priv: the bat priv with all the soft interface information + * @start_time: start of transmission in jiffies + * @total_sent: bytes acked to the receiver + * @cookie: cookie of tp_meter session + */ + static void batadv_tp_batctl_notify(enum batadv_tp_meter_reason reason, + const u8 *dst, struct batadv_priv *bat_priv, + unsigned long start_time, u64 total_sent, + u32 cookie) + { + u32 test_time; + u8 result; + u32 total_bytes; + + if (!batadv_tp_is_error(reason)) { + result = BATADV_TP_REASON_COMPLETE; + test_time = jiffies_to_msecs(jiffies - start_time); + total_bytes = total_sent; + } else { + result = reason; + test_time = 0; + total_bytes = 0; + } + + batadv_netlink_tpmeter_notify(bat_priv, dst, result, test_time, + total_bytes, cookie); + } + + /** + * batadv_tp_batctl_error_notify - send client error result to client + * @reason: reason for tp meter session stop + * @dst: destination of tp_meter session + * @bat_priv: the bat priv with all the soft interface information + * @cookie: cookie of tp_meter session + */ + static void batadv_tp_batctl_error_notify(enum batadv_tp_meter_reason reason, + const u8 *dst, + struct batadv_priv *bat_priv, + u32 cookie) + { + batadv_tp_batctl_notify(reason, dst, bat_priv, 0, 0, cookie); + } + + /** + * batadv_tp_list_find - find a tp_vars object in the global list + * @bat_priv: the bat priv with all the soft interface information + * @dst: the other endpoint MAC address to look for + * + * Look for a tp_vars object matching dst as end_point and return it after + * having incremented the refcounter. Return NULL is not found + * + * Return: matching tp_vars or NULL when no tp_vars with @dst was found + */ + static struct batadv_tp_vars *batadv_tp_list_find(struct batadv_priv *bat_priv, + const u8 *dst) + { + struct batadv_tp_vars *pos, *tp_vars = NULL; + + rcu_read_lock(); + hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { + if (!batadv_compare_eth(pos->other_end, dst)) + continue; + + /* most of the time this function is invoked during the normal + * process..it makes sens to pay more when the session is + * finished and to speed the process up during the measurement + */ + if (unlikely(!kref_get_unless_zero(&pos->refcount))) + continue; + + tp_vars = pos; + break; + } + rcu_read_unlock(); + + return tp_vars; + } + + /** + * batadv_tp_list_find_session - find tp_vars session object in the global list + * @bat_priv: the bat priv with all the soft interface information + * @dst: the other endpoint MAC address to look for + * @session: session identifier + * + * Look for a tp_vars object matching dst as end_point, session as tp meter + * session and return it after having incremented the refcounter. Return NULL + * is not found + * + * Return: matching tp_vars or NULL when no tp_vars was found + */ + static struct batadv_tp_vars * + batadv_tp_list_find_session(struct batadv_priv *bat_priv, const u8 *dst, + const u8 *session) + { + struct batadv_tp_vars *pos, *tp_vars = NULL; + + rcu_read_lock(); + hlist_for_each_entry_rcu(pos, &bat_priv->tp_list, list) { + if (!batadv_compare_eth(pos->other_end, dst)) + continue; + + if (memcmp(pos->session, session, sizeof(pos->session)) != 0) + continue; + + /* most of the time this function is invoked during the normal + * process..it makes sense to pay more when the session is + * finished and to speed the process up during the measurement + */ + if (unlikely(!kref_get_unless_zero(&pos->refcount))) + continue; + + tp_vars = pos; + break; + } + rcu_read_unlock(); + + return tp_vars; + } + + /** + * batadv_tp_vars_release - release batadv_tp_vars from lists and queue for + * free after rcu grace period + * @ref: kref pointer of the batadv_tp_vars + */ + static void batadv_tp_vars_release(struct kref *ref) + { + struct batadv_tp_vars *tp_vars; + struct batadv_tp_unacked *un, *safe; + + tp_vars = container_of(ref, struct batadv_tp_vars, refcount); + + /* lock should not be needed because this object is now out of any + * context! + */ + spin_lock_bh(&tp_vars->unacked_lock); + list_for_each_entry_safe(un, safe, &tp_vars->unacked_list, list) { + list_del(&un->list); + kfree(un); + } + spin_unlock_bh(&tp_vars->unacked_lock); + + kfree_rcu(tp_vars, rcu); + } + + /** + * batadv_tp_vars_put - decrement the batadv_tp_vars refcounter and possibly + * release it + * @tp_vars: the private data of the current TP meter session to be free'd + */ + static void batadv_tp_vars_put(struct batadv_tp_vars *tp_vars) + { + kref_put(&tp_vars->refcount, batadv_tp_vars_release); + } + + /** + * batadv_tp_sender_cleanup - cleanup sender data and drop and timer + * @bat_priv: the bat priv with all the soft interface information + * @tp_vars: the private data of the current TP meter session to cleanup + */ + static void batadv_tp_sender_cleanup(struct batadv_priv *bat_priv, + struct batadv_tp_vars *tp_vars) + { + cancel_delayed_work(&tp_vars->finish_work); + + spin_lock_bh(&tp_vars->bat_priv->tp_list_lock); + hlist_del_rcu(&tp_vars->list); + spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock); + + /* drop list reference */ + batadv_tp_vars_put(tp_vars); + + atomic_dec(&tp_vars->bat_priv->tp_num); + + /* kill the timer and remove its reference */ + del_timer_sync(&tp_vars->timer); + /* the worker might have rearmed itself therefore we kill it again. Note + * that if the worker should run again before invoking the following + * del_timer(), it would not re-arm itself once again because the status + * is OFF now + */ + del_timer(&tp_vars->timer); + batadv_tp_vars_put(tp_vars); + } + + /** + * batadv_tp_sender_end - print info about ended session and inform client + * @bat_priv: the bat priv with all the soft interface information + * @tp_vars: the private data of the current TP meter session + */ + static void batadv_tp_sender_end(struct batadv_priv *bat_priv, + struct batadv_tp_vars *tp_vars) + { + u32 session_cookie; + + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Test towards %pM finished..shutting down (reason=%d)\n", + tp_vars->other_end, tp_vars->reason); + + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Last timing stats: SRTT=%ums RTTVAR=%ums RTO=%ums\n", + tp_vars->srtt >> 3, tp_vars->rttvar >> 2, tp_vars->rto); + + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Final values: cwnd=%u ss_threshold=%u\n", + tp_vars->cwnd, tp_vars->ss_threshold); + + session_cookie = batadv_tp_session_cookie(tp_vars->session, + tp_vars->icmp_uid); + + batadv_tp_batctl_notify(tp_vars->reason, + tp_vars->other_end, + bat_priv, + tp_vars->start_time, + atomic64_read(&tp_vars->tot_sent), + session_cookie); + } + + /** + * batadv_tp_sender_shutdown - let sender thread/timer stop gracefully + * @tp_vars: the private data of the current TP meter session + * @reason: reason for tp meter session stop + */ + static void batadv_tp_sender_shutdown(struct batadv_tp_vars *tp_vars, + enum batadv_tp_meter_reason reason) + { + if (!atomic_dec_and_test(&tp_vars->sending)) + return; + + tp_vars->reason = reason; + } + + /** + * batadv_tp_sender_finish - stop sender session after test_length was reached + * @work: delayed work reference of the related tp_vars + */ + static void batadv_tp_sender_finish(struct work_struct *work) + { + struct delayed_work *delayed_work; + struct batadv_tp_vars *tp_vars; + + delayed_work = to_delayed_work(work); + tp_vars = container_of(delayed_work, struct batadv_tp_vars, + finish_work); + + batadv_tp_sender_shutdown(tp_vars, BATADV_TP_REASON_COMPLETE); + } + + /** + * batadv_tp_reset_sender_timer - reschedule the sender timer + * @tp_vars: the private TP meter data for this session + * + * Reschedule the timer using tp_vars->rto as delay + */ + static void batadv_tp_reset_sender_timer(struct batadv_tp_vars *tp_vars) + { + /* most of the time this function is invoked while normal packet + * reception... + */ + if (unlikely(atomic_read(&tp_vars->sending) == 0)) + /* timer ref will be dropped in batadv_tp_sender_cleanup */ + return; + + mod_timer(&tp_vars->timer, jiffies + msecs_to_jiffies(tp_vars->rto)); + } + + /** + * batadv_tp_sender_timeout - timer that fires in case of packet loss + * @arg: address of the related tp_vars + * + * If fired it means that there was packet loss. + * Switch to Slow Start, set the ss_threshold to half of the current cwnd and + * reset the cwnd to 3*MSS + */ + static void batadv_tp_sender_timeout(unsigned long arg) + { + struct batadv_tp_vars *tp_vars = (struct batadv_tp_vars *)arg; + struct batadv_priv *bat_priv = tp_vars->bat_priv; + + if (atomic_read(&tp_vars->sending) == 0) + return; + + /* if the user waited long enough...shutdown the test */ + if (unlikely(tp_vars->rto >= BATADV_TP_MAX_RTO)) { + batadv_tp_sender_shutdown(tp_vars, + BATADV_TP_REASON_DST_UNREACHABLE); + return; + } + + /* RTO exponential backoff + * Details in Section 5.5 of RFC6298 + */ + tp_vars->rto <<= 1; + + spin_lock_bh(&tp_vars->cwnd_lock); + + tp_vars->ss_threshold = tp_vars->cwnd >> 1; + if (tp_vars->ss_threshold < BATADV_TP_PLEN * 2) + tp_vars->ss_threshold = BATADV_TP_PLEN * 2; + + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: RTO fired during test towards %pM! cwnd=%u new ss_thr=%u, resetting last_sent to %u\n", + tp_vars->other_end, tp_vars->cwnd, tp_vars->ss_threshold, + atomic_read(&tp_vars->last_acked)); + + tp_vars->cwnd = BATADV_TP_PLEN * 3; + + spin_unlock_bh(&tp_vars->cwnd_lock); + + /* resend the non-ACKed packets.. */ + tp_vars->last_sent = atomic_read(&tp_vars->last_acked); + wake_up(&tp_vars->more_bytes); + + batadv_tp_reset_sender_timer(tp_vars); + } + + /** + * batadv_tp_fill_prerandom - Fill buffer with prefetched random bytes + * @tp_vars: the private TP meter data for this session + * @buf: Buffer to fill with bytes + * @nbytes: amount of pseudorandom bytes + */ + static void batadv_tp_fill_prerandom(struct batadv_tp_vars *tp_vars, + u8 *buf, size_t nbytes) + { + u32 local_offset; + size_t bytes_inbuf; + size_t to_copy; + size_t pos = 0; + + spin_lock_bh(&tp_vars->prerandom_lock); + local_offset = tp_vars->prerandom_offset; + tp_vars->prerandom_offset += nbytes; + tp_vars->prerandom_offset %= sizeof(batadv_tp_prerandom); + spin_unlock_bh(&tp_vars->prerandom_lock); + + while (nbytes) { + local_offset %= sizeof(batadv_tp_prerandom); + bytes_inbuf = sizeof(batadv_tp_prerandom) - local_offset; + to_copy = min(nbytes, bytes_inbuf); + + memcpy(&buf[pos], &batadv_tp_prerandom[local_offset], to_copy); + pos += to_copy; + nbytes -= to_copy; + local_offset = 0; + } + } + + /** + * batadv_tp_send_msg - send a single message + * @tp_vars: the private TP meter data for this session + * @src: source mac address + * @orig_node: the originator of the destination + * @seqno: sequence number of this packet + * @len: length of the entire packet + * @session: session identifier + * @uid: local ICMP "socket" index + * @timestamp: timestamp in jiffies which is replied in ack + * + * Create and send a single TP Meter message. + * + * Return: 0 on success, BATADV_TP_REASON_DST_UNREACHABLE if the destination is + * not reachable, BATADV_TP_REASON_MEMORY_ERROR if the packet couldn't be + * allocated + */ + static int batadv_tp_send_msg(struct batadv_tp_vars *tp_vars, const u8 *src, + struct batadv_orig_node *orig_node, + u32 seqno, size_t len, const u8 *session, + int uid, u32 timestamp) + { + struct batadv_icmp_tp_packet *icmp; + struct sk_buff *skb; + int r; + u8 *data; + size_t data_len; + + skb = netdev_alloc_skb_ip_align(NULL, len + ETH_HLEN); + if (unlikely(!skb)) + return BATADV_TP_REASON_MEMORY_ERROR; + + skb_reserve(skb, ETH_HLEN); + icmp = (struct batadv_icmp_tp_packet *)skb_put(skb, sizeof(*icmp)); + + /* fill the icmp header */ + ether_addr_copy(icmp->dst, orig_node->orig); + ether_addr_copy(icmp->orig, src); + icmp->version = BATADV_COMPAT_VERSION; + icmp->packet_type = BATADV_ICMP; + icmp->ttl = BATADV_TTL; + icmp->msg_type = BATADV_TP; + icmp->uid = uid; + + icmp->subtype = BATADV_TP_MSG; + memcpy(icmp->session, session, sizeof(icmp->session)); + icmp->seqno = htonl(seqno); + icmp->timestamp = htonl(timestamp); + + data_len = len - sizeof(*icmp); + data = (u8 *)skb_put(skb, data_len); + batadv_tp_fill_prerandom(tp_vars, data, data_len); + + r = batadv_send_skb_to_orig(skb, orig_node, NULL); + if (r == -1) + kfree_skb(skb); + + if (r == NET_XMIT_SUCCESS) + return 0; + + return BATADV_TP_REASON_CANT_SEND; + } + + /** + * batadv_tp_recv_ack - ACK receiving function + * @bat_priv: the bat priv with all the soft interface information + * @skb: the buffer containing the received packet + * + * Process a received TP ACK packet + */ + static void batadv_tp_recv_ack(struct batadv_priv *bat_priv, + const struct sk_buff *skb) + { + struct batadv_hard_iface *primary_if = NULL; + struct batadv_orig_node *orig_node = NULL; + const struct batadv_icmp_tp_packet *icmp; + struct batadv_tp_vars *tp_vars; + size_t packet_len, mss; + u32 rtt, recv_ack, cwnd; + unsigned char *dev_addr; + + packet_len = BATADV_TP_PLEN; + mss = BATADV_TP_PLEN; + packet_len += sizeof(struct batadv_unicast_packet); + + icmp = (struct batadv_icmp_tp_packet *)skb->data; + + /* find the tp_vars */ + tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, + icmp->session); + if (unlikely(!tp_vars)) + return; + + if (unlikely(atomic_read(&tp_vars->sending) == 0)) + goto out; + + /* old ACK? silently drop it.. */ + if (batadv_seq_before(ntohl(icmp->seqno), + (u32)atomic_read(&tp_vars->last_acked))) + goto out; + + primary_if = batadv_primary_if_get_selected(bat_priv); + if (unlikely(!primary_if)) + goto out; + + orig_node = batadv_orig_hash_find(bat_priv, icmp->orig); + if (unlikely(!orig_node)) + goto out; + + /* update RTO with the new sampled RTT, if any */ + rtt = jiffies_to_msecs(jiffies) - ntohl(icmp->timestamp); + if (icmp->timestamp && rtt) + batadv_tp_update_rto(tp_vars, rtt); + + /* ACK for new data... reset the timer */ + batadv_tp_reset_sender_timer(tp_vars); + + recv_ack = ntohl(icmp->seqno); + + /* check if this ACK is a duplicate */ + if (atomic_read(&tp_vars->last_acked) == recv_ack) { + atomic_inc(&tp_vars->dup_acks); + if (atomic_read(&tp_vars->dup_acks) != 3) + goto out; + + if (recv_ack >= tp_vars->recover) + goto out; + + /* if this is the third duplicate ACK do Fast Retransmit */ + batadv_tp_send_msg(tp_vars, primary_if->net_dev->dev_addr, + orig_node, recv_ack, packet_len, + icmp->session, icmp->uid, + jiffies_to_msecs(jiffies)); + + spin_lock_bh(&tp_vars->cwnd_lock); + + /* Fast Recovery */ + tp_vars->fast_recovery = true; + /* Set recover to the last outstanding seqno when Fast Recovery + * is entered. RFC6582, Section 3.2, step 1 + */ + tp_vars->recover = tp_vars->last_sent; + tp_vars->ss_threshold = tp_vars->cwnd >> 1; + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: Fast Recovery, (cur cwnd=%u) ss_thr=%u last_sent=%u recv_ack=%u\n", + tp_vars->cwnd, tp_vars->ss_threshold, + tp_vars->last_sent, recv_ack); + tp_vars->cwnd = batadv_tp_cwnd(tp_vars->ss_threshold, 3 * mss, + mss); + tp_vars->dec_cwnd = 0; + tp_vars->last_sent = recv_ack; + + spin_unlock_bh(&tp_vars->cwnd_lock); + } else { + /* count the acked data */ + atomic64_add(recv_ack - atomic_read(&tp_vars->last_acked), + &tp_vars->tot_sent); + /* reset the duplicate ACKs counter */ + atomic_set(&tp_vars->dup_acks, 0); + + if (tp_vars->fast_recovery) { + /* partial ACK */ + if (batadv_seq_before(recv_ack, tp_vars->recover)) { + /* this is another hole in the window. React + * immediately as specified by NewReno (see + * Section 3.2 of RFC6582 for details) + */ + dev_addr = primary_if->net_dev->dev_addr; + batadv_tp_send_msg(tp_vars, dev_addr, + orig_node, recv_ack, + packet_len, icmp->session, + icmp->uid, + jiffies_to_msecs(jiffies)); + tp_vars->cwnd = batadv_tp_cwnd(tp_vars->cwnd, + mss, mss); + } else { + tp_vars->fast_recovery = false; + /* set cwnd to the value of ss_threshold at the + * moment that Fast Recovery was entered. + * RFC6582, Section 3.2, step 3 + */ + cwnd = batadv_tp_cwnd(tp_vars->ss_threshold, 0, + mss); + tp_vars->cwnd = cwnd; + } + goto move_twnd; + } + + if (recv_ack - atomic_read(&tp_vars->last_acked) >= mss) + batadv_tp_update_cwnd(tp_vars, mss); + move_twnd: + /* move the Transmit Window */ + atomic_set(&tp_vars->last_acked, recv_ack); + } + + wake_up(&tp_vars->more_bytes); + out: + if (likely(primary_if)) + batadv_hardif_put(primary_if); + if (likely(orig_node)) + batadv_orig_node_put(orig_node); + if (likely(tp_vars)) + batadv_tp_vars_put(tp_vars); + } + + /** + * batadv_tp_avail - check if congestion window is not full + * @tp_vars: the private data of the current TP meter session + * @payload_len: size of the payload of a single message + * + * Return: true when congestion window is not full, false otherwise + */ + static bool batadv_tp_avail(struct batadv_tp_vars *tp_vars, + size_t payload_len) + { + u32 win_left, win_limit; + + win_limit = atomic_read(&tp_vars->last_acked) + tp_vars->cwnd; + win_left = win_limit - tp_vars->last_sent; + + return win_left >= payload_len; + } + + /** + * batadv_tp_wait_available - wait until congestion window becomes free or + * timeout is reached + * @tp_vars: the private data of the current TP meter session + * @plen: size of the payload of a single message + * + * Return: 0 if the condition evaluated to false after the timeout elapsed, + * 1 if the condition evaluated to true after the timeout elapsed, the + * remaining jiffies (at least 1) if the condition evaluated to true before + * the timeout elapsed, or -ERESTARTSYS if it was interrupted by a signal. + */ + static int batadv_tp_wait_available(struct batadv_tp_vars *tp_vars, size_t plen) + { + int ret; + + ret = wait_event_interruptible_timeout(tp_vars->more_bytes, + batadv_tp_avail(tp_vars, plen), + HZ / 10); + + return ret; + } + + /** + * batadv_tp_send - main sending thread of a tp meter session + * @arg: address of the related tp_vars + * + * Return: nothing, this function never returns + */ + static int batadv_tp_send(void *arg) + { + struct batadv_tp_vars *tp_vars = arg; + struct batadv_priv *bat_priv = tp_vars->bat_priv; + struct batadv_hard_iface *primary_if = NULL; + struct batadv_orig_node *orig_node = NULL; + size_t payload_len, packet_len; + int err = 0; + + if (unlikely(tp_vars->role != BATADV_TP_SENDER)) { + err = BATADV_TP_REASON_DST_UNREACHABLE; + tp_vars->reason = err; + goto out; + } + + orig_node = batadv_orig_hash_find(bat_priv, tp_vars->other_end); + if (unlikely(!orig_node)) { + err = BATADV_TP_REASON_DST_UNREACHABLE; + tp_vars->reason = err; + goto out; + } + + primary_if = batadv_primary_if_get_selected(bat_priv); + if (unlikely(!primary_if)) { + err = BATADV_TP_REASON_DST_UNREACHABLE; + goto out; + } + + /* assume that all the hard_interfaces have a correctly + * configured MTU, so use the soft_iface MTU as MSS. + * This might not be true and in that case the fragmentation + * should be used. + * Now, try to send the packet as it is + */ + payload_len = BATADV_TP_PLEN; + BUILD_BUG_ON(sizeof(struct batadv_icmp_tp_packet) > BATADV_TP_PLEN); + + batadv_tp_reset_sender_timer(tp_vars); + + /* queue the worker in charge of terminating the test */ + queue_delayed_work(batadv_event_workqueue, &tp_vars->finish_work, + msecs_to_jiffies(tp_vars->test_length)); + + while (atomic_read(&tp_vars->sending) != 0) { + if (unlikely(!batadv_tp_avail(tp_vars, payload_len))) { + batadv_tp_wait_available(tp_vars, payload_len); + continue; + } + + /* to emulate normal unicast traffic, add to the payload len + * the size of the unicast header + */ + packet_len = payload_len + sizeof(struct batadv_unicast_packet); + + err = batadv_tp_send_msg(tp_vars, primary_if->net_dev->dev_addr, + orig_node, tp_vars->last_sent, + packet_len, + tp_vars->session, tp_vars->icmp_uid, + jiffies_to_msecs(jiffies)); + + /* something went wrong during the preparation/transmission */ + if (unlikely(err && err != BATADV_TP_REASON_CANT_SEND)) { + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: batadv_tp_send() cannot send packets (%d)\n", + err); + /* ensure nobody else tries to stop the thread now */ + if (atomic_dec_and_test(&tp_vars->sending)) + tp_vars->reason = err; + break; + } + + /* right-shift the TWND */ + if (!err) + tp_vars->last_sent += payload_len; + + cond_resched(); + } + + out: + if (likely(primary_if)) + batadv_hardif_put(primary_if); + if (likely(orig_node)) + batadv_orig_node_put(orig_node); + + batadv_tp_sender_end(bat_priv, tp_vars); + batadv_tp_sender_cleanup(bat_priv, tp_vars); + + batadv_tp_vars_put(tp_vars); + + do_exit(0); + } + + /** + * batadv_tp_start_kthread - start new thread which manages the tp meter sender + * @tp_vars: the private data of the current TP meter session + */ + static void batadv_tp_start_kthread(struct batadv_tp_vars *tp_vars) + { + struct task_struct *kthread; + struct batadv_priv *bat_priv = tp_vars->bat_priv; + u32 session_cookie; + + kref_get(&tp_vars->refcount); + kthread = kthread_create(batadv_tp_send, tp_vars, "kbatadv_tp_meter"); + if (IS_ERR(kthread)) { + session_cookie = batadv_tp_session_cookie(tp_vars->session, + tp_vars->icmp_uid); + pr_err("batadv: cannot create tp meter kthread\n"); + batadv_tp_batctl_error_notify(BATADV_TP_REASON_MEMORY_ERROR, + tp_vars->other_end, + bat_priv, session_cookie); + + /* drop reserved reference for kthread */ + batadv_tp_vars_put(tp_vars); + + /* cleanup of failed tp meter variables */ + batadv_tp_sender_cleanup(bat_priv, tp_vars); + return; + } + + wake_up_process(kthread); + } + + /** + * batadv_tp_start - start a new tp meter session + * @bat_priv: the bat priv with all the soft interface information + * @dst: the receiver MAC address + * @test_length: test length in milliseconds + * @cookie: session cookie + */ + void batadv_tp_start(struct batadv_priv *bat_priv, const u8 *dst, + u32 test_length, u32 *cookie) + { + struct batadv_tp_vars *tp_vars; + u8 session_id[2]; + u8 icmp_uid; + u32 session_cookie; + + get_random_bytes(session_id, sizeof(session_id)); + get_random_bytes(&icmp_uid, 1); + session_cookie = batadv_tp_session_cookie(session_id, icmp_uid); + *cookie = session_cookie; + + /* look for an already existing test towards this node */ + spin_lock_bh(&bat_priv->tp_list_lock); + tp_vars = batadv_tp_list_find(bat_priv, dst); + if (tp_vars) { + spin_unlock_bh(&bat_priv->tp_list_lock); + batadv_tp_vars_put(tp_vars); + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: test to or from the same node already ongoing, aborting\n"); + batadv_tp_batctl_error_notify(BATADV_TP_REASON_ALREADY_ONGOING, + dst, bat_priv, session_cookie); + return; + } + + if (!atomic_add_unless(&bat_priv->tp_num, 1, BATADV_TP_MAX_NUM)) { + spin_unlock_bh(&bat_priv->tp_list_lock); + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: too many ongoing sessions, aborting (SEND)\n"); + batadv_tp_batctl_error_notify(BATADV_TP_REASON_TOO_MANY, dst, + bat_priv, session_cookie); + return; + } + + tp_vars = kmalloc(sizeof(*tp_vars), GFP_ATOMIC); + if (!tp_vars) { + spin_unlock_bh(&bat_priv->tp_list_lock); + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: batadv_tp_start cannot allocate list elements\n"); + batadv_tp_batctl_error_notify(BATADV_TP_REASON_MEMORY_ERROR, + dst, bat_priv, session_cookie); + return; + } + + /* initialize tp_vars */ + ether_addr_copy(tp_vars->other_end, dst); + kref_init(&tp_vars->refcount); + tp_vars->role = BATADV_TP_SENDER; + atomic_set(&tp_vars->sending, 1); + memcpy(tp_vars->session, session_id, sizeof(session_id)); + tp_vars->icmp_uid = icmp_uid; + + tp_vars->last_sent = BATADV_TP_FIRST_SEQ; + atomic_set(&tp_vars->last_acked, BATADV_TP_FIRST_SEQ); + tp_vars->fast_recovery = false; + tp_vars->recover = BATADV_TP_FIRST_SEQ; + + /* initialise the CWND to 3*MSS (Section 3.1 in RFC5681). + * For batman-adv the MSS is the size of the payload received by the + * soft_interface, hence its MTU + */ + tp_vars->cwnd = BATADV_TP_PLEN * 3; + /* at the beginning initialise the SS threshold to the biggest possible + * window size, hence the AWND size + */ + tp_vars->ss_threshold = BATADV_TP_AWND; + + /* RTO initial value is 3 seconds. + * Details in Section 2.1 of RFC6298 + */ + tp_vars->rto = 1000; + tp_vars->srtt = 0; + tp_vars->rttvar = 0; + + atomic64_set(&tp_vars->tot_sent, 0); + + kref_get(&tp_vars->refcount); + setup_timer(&tp_vars->timer, batadv_tp_sender_timeout, + (unsigned long)tp_vars); + + tp_vars->bat_priv = bat_priv; + tp_vars->start_time = jiffies; + + init_waitqueue_head(&tp_vars->more_bytes); + + spin_lock_init(&tp_vars->unacked_lock); + INIT_LIST_HEAD(&tp_vars->unacked_list); + + spin_lock_init(&tp_vars->cwnd_lock); + + tp_vars->prerandom_offset = 0; + spin_lock_init(&tp_vars->prerandom_lock); + + kref_get(&tp_vars->refcount); + hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list); + spin_unlock_bh(&bat_priv->tp_list_lock); + + tp_vars->test_length = test_length; + if (!tp_vars->test_length) + tp_vars->test_length = BATADV_TP_DEF_TEST_LENGTH; + + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: starting throughput meter towards %pM (length=%ums)\n", + dst, test_length); + + /* init work item for finished tp tests */ + INIT_DELAYED_WORK(&tp_vars->finish_work, batadv_tp_sender_finish); + + /* start tp kthread. This way the write() call issued from userspace can + * happily return and avoid to block + */ + batadv_tp_start_kthread(tp_vars); + + /* don't return reference to new tp_vars */ + batadv_tp_vars_put(tp_vars); + } + + /** + * batadv_tp_stop - stop currently running tp meter session + * @bat_priv: the bat priv with all the soft interface information + * @dst: the receiver MAC address + * @return_value: reason for tp meter session stop + */ + void batadv_tp_stop(struct batadv_priv *bat_priv, const u8 *dst, + u8 return_value) + { + struct batadv_orig_node *orig_node; + struct batadv_tp_vars *tp_vars; + + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: stopping test towards %pM\n", dst); + + orig_node = batadv_orig_hash_find(bat_priv, dst); + if (!orig_node) + return; + + tp_vars = batadv_tp_list_find(bat_priv, orig_node->orig); + if (!tp_vars) { + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: trying to interrupt an already over connection\n"); + goto out; + } + + batadv_tp_sender_shutdown(tp_vars, return_value); + batadv_tp_vars_put(tp_vars); + out: + batadv_orig_node_put(orig_node); + } + + /** + * batadv_tp_reset_receiver_timer - reset the receiver shutdown timer + * @tp_vars: the private data of the current TP meter session + * + * start the receiver shutdown timer or reset it if already started + */ + static void batadv_tp_reset_receiver_timer(struct batadv_tp_vars *tp_vars) + { + mod_timer(&tp_vars->timer, + jiffies + msecs_to_jiffies(BATADV_TP_RECV_TIMEOUT)); + } + + /** + * batadv_tp_receiver_shutdown - stop a tp meter receiver when timeout is + * reached without received ack + * @arg: address of the related tp_vars + */ + static void batadv_tp_receiver_shutdown(unsigned long arg) + { + struct batadv_tp_vars *tp_vars = (struct batadv_tp_vars *)arg; + struct batadv_tp_unacked *un, *safe; + struct batadv_priv *bat_priv; + + bat_priv = tp_vars->bat_priv; + + /* if there is recent activity rearm the timer */ + if (!batadv_has_timed_out(tp_vars->last_recv_time, + BATADV_TP_RECV_TIMEOUT)) { + /* reset the receiver shutdown timer */ + batadv_tp_reset_receiver_timer(tp_vars); + return; + } + + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Shutting down for inactivity (more than %dms) from %pM\n", + BATADV_TP_RECV_TIMEOUT, tp_vars->other_end); + + spin_lock_bh(&tp_vars->bat_priv->tp_list_lock); + hlist_del_rcu(&tp_vars->list); + spin_unlock_bh(&tp_vars->bat_priv->tp_list_lock); + + /* drop list reference */ + batadv_tp_vars_put(tp_vars); + + atomic_dec(&bat_priv->tp_num); + + spin_lock_bh(&tp_vars->unacked_lock); + list_for_each_entry_safe(un, safe, &tp_vars->unacked_list, list) { + list_del(&un->list); + kfree(un); + } + spin_unlock_bh(&tp_vars->unacked_lock); + + /* drop reference of timer */ + batadv_tp_vars_put(tp_vars); + } + + /** + * batadv_tp_send_ack - send an ACK packet + * @bat_priv: the bat priv with all the soft interface information + * @dst: the mac address of the destination originator + * @seq: the sequence number to ACK + * @timestamp: the timestamp to echo back in the ACK + * @session: session identifier + * @socket_index: local ICMP socket identifier + * + * Return: 0 on success, a positive integer representing the reason of the + * failure otherwise + */ + static int batadv_tp_send_ack(struct batadv_priv *bat_priv, const u8 *dst, + u32 seq, __be32 timestamp, const u8 *session, + int socket_index) + { + struct batadv_hard_iface *primary_if = NULL; + struct batadv_orig_node *orig_node; + struct batadv_icmp_tp_packet *icmp; + struct sk_buff *skb; + int r, ret; + + orig_node = batadv_orig_hash_find(bat_priv, dst); + if (unlikely(!orig_node)) { + ret = BATADV_TP_REASON_DST_UNREACHABLE; + goto out; + } + + primary_if = batadv_primary_if_get_selected(bat_priv); + if (unlikely(!primary_if)) { + ret = BATADV_TP_REASON_DST_UNREACHABLE; + goto out; + } + + skb = netdev_alloc_skb_ip_align(NULL, sizeof(*icmp) + ETH_HLEN); + if (unlikely(!skb)) { + ret = BATADV_TP_REASON_MEMORY_ERROR; + goto out; + } + + skb_reserve(skb, ETH_HLEN); + icmp = (struct batadv_icmp_tp_packet *)skb_put(skb, sizeof(*icmp)); + icmp->packet_type = BATADV_ICMP; + icmp->version = BATADV_COMPAT_VERSION; + icmp->ttl = BATADV_TTL; + icmp->msg_type = BATADV_TP; + ether_addr_copy(icmp->dst, orig_node->orig); + ether_addr_copy(icmp->orig, primary_if->net_dev->dev_addr); + icmp->uid = socket_index; + + icmp->subtype = BATADV_TP_ACK; + memcpy(icmp->session, session, sizeof(icmp->session)); + icmp->seqno = htonl(seq); + icmp->timestamp = timestamp; + + /* send the ack */ + r = batadv_send_skb_to_orig(skb, orig_node, NULL); ++ if (r == -1) ++ kfree_skb(skb); ++ + if (unlikely(r < 0) || (r == NET_XMIT_DROP)) { + ret = BATADV_TP_REASON_DST_UNREACHABLE; + goto out; + } + ret = 0; + + out: + if (likely(orig_node)) + batadv_orig_node_put(orig_node); + if (likely(primary_if)) + batadv_hardif_put(primary_if); + + return ret; + } + + /** + * batadv_tp_handle_out_of_order - store an out of order packet + * @tp_vars: the private data of the current TP meter session + * @skb: the buffer containing the received packet + * + * Store the out of order packet in the unacked list for late processing. This + * packets are kept in this list so that they can be ACKed at once as soon as + * all the previous packets have been received + * + * Return: true if the packed has been successfully processed, false otherwise + */ + static bool batadv_tp_handle_out_of_order(struct batadv_tp_vars *tp_vars, + const struct sk_buff *skb) + { + const struct batadv_icmp_tp_packet *icmp; + struct batadv_tp_unacked *un, *new; + u32 payload_len; + bool added = false; + + new = kmalloc(sizeof(*new), GFP_ATOMIC); + if (unlikely(!new)) + return false; + + icmp = (struct batadv_icmp_tp_packet *)skb->data; + + new->seqno = ntohl(icmp->seqno); + payload_len = skb->len - sizeof(struct batadv_unicast_packet); + new->len = payload_len; + + spin_lock_bh(&tp_vars->unacked_lock); + /* if the list is empty immediately attach this new object */ + if (list_empty(&tp_vars->unacked_list)) { + list_add(&new->list, &tp_vars->unacked_list); + goto out; + } + + /* otherwise loop over the list and either drop the packet because this + * is a duplicate or store it at the right position. + * + * The iteration is done in the reverse way because it is likely that + * the last received packet (the one being processed now) has a bigger + * seqno than all the others already stored. + */ + list_for_each_entry_reverse(un, &tp_vars->unacked_list, list) { + /* check for duplicates */ + if (new->seqno == un->seqno) { + if (new->len > un->len) + un->len = new->len; + kfree(new); + added = true; + break; + } + + /* look for the right position */ + if (batadv_seq_before(new->seqno, un->seqno)) + continue; + + /* as soon as an entry having a bigger seqno is found, the new + * one is attached _after_ it. In this way the list is kept in + * ascending order + */ + list_add_tail(&new->list, &un->list); + added = true; + break; + } + + /* received packet with smallest seqno out of order; add it to front */ + if (!added) + list_add(&new->list, &tp_vars->unacked_list); + + out: + spin_unlock_bh(&tp_vars->unacked_lock); + + return true; + } + + /** + * batadv_tp_ack_unordered - update number received bytes in current stream + * without gaps + * @tp_vars: the private data of the current TP meter session + */ + static void batadv_tp_ack_unordered(struct batadv_tp_vars *tp_vars) + { + struct batadv_tp_unacked *un, *safe; + u32 to_ack; + + /* go through the unacked packet list and possibly ACK them as + * well + */ + spin_lock_bh(&tp_vars->unacked_lock); + list_for_each_entry_safe(un, safe, &tp_vars->unacked_list, list) { + /* the list is ordered, therefore it is possible to stop as soon + * there is a gap between the last acked seqno and the seqno of + * the packet under inspection + */ + if (batadv_seq_before(tp_vars->last_recv, un->seqno)) + break; + + to_ack = un->seqno + un->len - tp_vars->last_recv; + + if (batadv_seq_before(tp_vars->last_recv, un->seqno + un->len)) + tp_vars->last_recv += to_ack; + + list_del(&un->list); + kfree(un); + } + spin_unlock_bh(&tp_vars->unacked_lock); + } + + /** + * batadv_tp_init_recv - return matching or create new receiver tp_vars + * @bat_priv: the bat priv with all the soft interface information + * @icmp: received icmp tp msg + * + * Return: corresponding tp_vars or NULL on errors + */ + static struct batadv_tp_vars * + batadv_tp_init_recv(struct batadv_priv *bat_priv, + const struct batadv_icmp_tp_packet *icmp) + { + struct batadv_tp_vars *tp_vars; + + spin_lock_bh(&bat_priv->tp_list_lock); + tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, + icmp->session); + if (tp_vars) + goto out_unlock; + + if (!atomic_add_unless(&bat_priv->tp_num, 1, BATADV_TP_MAX_NUM)) { + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: too many ongoing sessions, aborting (RECV)\n"); + goto out_unlock; + } + + tp_vars = kmalloc(sizeof(*tp_vars), GFP_ATOMIC); + if (!tp_vars) + goto out_unlock; + + ether_addr_copy(tp_vars->other_end, icmp->orig); + tp_vars->role = BATADV_TP_RECEIVER; + memcpy(tp_vars->session, icmp->session, sizeof(tp_vars->session)); + tp_vars->last_recv = BATADV_TP_FIRST_SEQ; + tp_vars->bat_priv = bat_priv; + kref_init(&tp_vars->refcount); + + spin_lock_init(&tp_vars->unacked_lock); + INIT_LIST_HEAD(&tp_vars->unacked_list); + + kref_get(&tp_vars->refcount); + hlist_add_head_rcu(&tp_vars->list, &bat_priv->tp_list); + + kref_get(&tp_vars->refcount); + setup_timer(&tp_vars->timer, batadv_tp_receiver_shutdown, + (unsigned long)tp_vars); + + batadv_tp_reset_receiver_timer(tp_vars); + + out_unlock: + spin_unlock_bh(&bat_priv->tp_list_lock); + + return tp_vars; + } + + /** + * batadv_tp_recv_msg - process a single data message + * @bat_priv: the bat priv with all the soft interface information + * @skb: the buffer containing the received packet + * + * Process a received TP MSG packet + */ + static void batadv_tp_recv_msg(struct batadv_priv *bat_priv, + const struct sk_buff *skb) + { + const struct batadv_icmp_tp_packet *icmp; + struct batadv_tp_vars *tp_vars; + size_t packet_size; + u32 seqno; + + icmp = (struct batadv_icmp_tp_packet *)skb->data; + + seqno = ntohl(icmp->seqno); + /* check if this is the first seqno. This means that if the + * first packet is lost, the tp meter does not work anymore! + */ + if (seqno == BATADV_TP_FIRST_SEQ) { + tp_vars = batadv_tp_init_recv(bat_priv, icmp); + if (!tp_vars) { + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: seqno != BATADV_TP_FIRST_SEQ cannot initiate connection\n"); + goto out; + } + } else { + tp_vars = batadv_tp_list_find_session(bat_priv, icmp->orig, + icmp->session); + if (!tp_vars) { + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Unexpected packet from %pM!\n", + icmp->orig); + goto out; + } + } + + if (unlikely(tp_vars->role != BATADV_TP_RECEIVER)) { + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Meter: dropping packet: not expected (role=%u)\n", + tp_vars->role); + goto out; + } + + tp_vars->last_recv_time = jiffies; + + /* if the packet is a duplicate, it may be the case that an ACK has been + * lost. Resend the ACK + */ + if (batadv_seq_before(seqno, tp_vars->last_recv)) + goto send_ack; + + /* if the packet is out of order enqueue it */ + if (ntohl(icmp->seqno) != tp_vars->last_recv) { + /* exit immediately (and do not send any ACK) if the packet has + * not been enqueued correctly + */ + if (!batadv_tp_handle_out_of_order(tp_vars, skb)) + goto out; + + /* send a duplicate ACK */ + goto send_ack; + } + + /* if everything was fine count the ACKed bytes */ + packet_size = skb->len - sizeof(struct batadv_unicast_packet); + tp_vars->last_recv += packet_size; + + /* check if this ordered message filled a gap.... */ + batadv_tp_ack_unordered(tp_vars); + + send_ack: + /* send the ACK. If the received packet was out of order, the ACK that + * is going to be sent is a duplicate (the sender will count them and + * possibly enter Fast Retransmit as soon as it has reached 3) + */ + batadv_tp_send_ack(bat_priv, icmp->orig, tp_vars->last_recv, + icmp->timestamp, icmp->session, icmp->uid); + out: + if (likely(tp_vars)) + batadv_tp_vars_put(tp_vars); + } + + /** + * batadv_tp_meter_recv - main TP Meter receiving function + * @bat_priv: the bat priv with all the soft interface information + * @skb: the buffer containing the received packet + */ + void batadv_tp_meter_recv(struct batadv_priv *bat_priv, struct sk_buff *skb) + { + struct batadv_icmp_tp_packet *icmp; + + icmp = (struct batadv_icmp_tp_packet *)skb->data; + + switch (icmp->subtype) { + case BATADV_TP_MSG: + batadv_tp_recv_msg(bat_priv, skb); + break; + case BATADV_TP_ACK: + batadv_tp_recv_ack(bat_priv, skb); + break; + default: + batadv_dbg(BATADV_DBG_TP_METER, bat_priv, + "Received unknown TP Metric packet type %u\n", + icmp->subtype); + } + consume_skb(skb); + } + + /** + * batadv_tp_meter_init - initialize global tp_meter structures + */ + void batadv_tp_meter_init(void) + { + get_random_bytes(batadv_tp_prerandom, sizeof(batadv_tp_prerandom)); + } diff --combined net/batman-adv/translation-table.c index feaf492b,3c32f5f..7e6df7a --- a/net/batman-adv/translation-table.c +++ b/net/batman-adv/translation-table.c @@@ -47,10 -47,12 +47,12 @@@ #include "bridge_loop_avoidance.h" #include "hard-interface.h" #include "hash.h" + #include "log.h" #include "multicast.h" #include "originator.h" #include "packet.h" #include "soft-interface.h" + #include "tvlv.h"
/* hash class keys */ static struct lock_class_key batadv_tt_local_hash_lock_class_key; @@@ -650,8 -652,10 +652,10 @@@ bool batadv_tt_local_add(struct net_dev
/* increase the refcounter of the related vlan */ vlan = batadv_softif_vlan_get(bat_priv, vid); - if (WARN(!vlan, "adding TT local entry %pM to non-existent VLAN %d", - addr, BATADV_PRINT_VID(vid))) { + if (!vlan) { + net_ratelimited_function(batadv_info, soft_iface, + "adding TT local entry %pM to non-existent VLAN %d\n", + addr, BATADV_PRINT_VID(vid)); kfree(tt_local); tt_local = NULL; goto out; @@@ -691,7 -695,6 +695,6 @@@ if (unlikely(hash_added != 0)) { /* remove the reference for the hash */ batadv_tt_local_entry_put(tt_local); - batadv_softif_vlan_put(vlan); goto out; }
@@@ -995,7 -998,6 +998,6 @@@ int batadv_tt_local_seq_print_text(stru struct batadv_tt_local_entry *tt_local; struct batadv_hard_iface *primary_if; struct hlist_head *head; - unsigned short vid; u32 i; int last_seen_secs; int last_seen_msecs; @@@ -1022,7 -1024,6 +1024,6 @@@ tt_local = container_of(tt_common_entry, struct batadv_tt_local_entry, common); - vid = tt_common_entry->vid; last_seen_jiffies = jiffies - tt_local->last_seen; last_seen_msecs = jiffies_to_msecs(last_seen_jiffies); last_seen_secs = last_seen_msecs / 1000; @@@ -1546,7 -1547,7 +1547,7 @@@ batadv_transtable_best_orig(struct bata struct batadv_tt_global_entry *tt_global_entry) { struct batadv_neigh_node *router, *best_router = NULL; - struct batadv_algo_ops *bao = bat_priv->bat_algo_ops; + struct batadv_algo_ops *bao = bat_priv->algo_ops; struct hlist_head *head; struct batadv_tt_orig_list_entry *orig_entry, *best_entry = NULL;
@@@ -1558,8 -1559,8 +1559,8 @@@ continue;
if (best_router && - bao->bat_neigh_cmp(router, BATADV_IF_DEFAULT, - best_router, BATADV_IF_DEFAULT) <= 0) { + bao->neigh.cmp(router, BATADV_IF_DEFAULT, best_router, + BATADV_IF_DEFAULT) <= 0) { batadv_neigh_node_put(router); continue; } @@@ -2269,6 -2270,29 +2270,29 @@@ static u32 batadv_tt_local_crc(struct b return crc; }
+ /** + * batadv_tt_req_node_release - free tt_req node entry + * @ref: kref pointer of the tt req_node entry + */ + static void batadv_tt_req_node_release(struct kref *ref) + { + struct batadv_tt_req_node *tt_req_node; + + tt_req_node = container_of(ref, struct batadv_tt_req_node, refcount); + + kfree(tt_req_node); + } + + /** + * batadv_tt_req_node_put - decrement the tt_req_node refcounter and + * possibly release it + * @tt_req_node: tt_req_node to be free'd + */ + static void batadv_tt_req_node_put(struct batadv_tt_req_node *tt_req_node) + { + kref_put(&tt_req_node->refcount, batadv_tt_req_node_release); + } + static void batadv_tt_req_list_free(struct batadv_priv *bat_priv) { struct batadv_tt_req_node *node; @@@ -2278,7 -2302,7 +2302,7 @@@
hlist_for_each_entry_safe(node, safe, &bat_priv->tt.req_list, list) { hlist_del_init(&node->list); - kfree(node); + batadv_tt_req_node_put(node); }
spin_unlock_bh(&bat_priv->tt.req_list_lock); @@@ -2315,7 -2339,7 +2339,7 @@@ static void batadv_tt_req_purge(struct if (batadv_has_timed_out(node->issued_at, BATADV_TT_REQUEST_TIMEOUT)) { hlist_del_init(&node->list); - kfree(node); + batadv_tt_req_node_put(node); } } spin_unlock_bh(&bat_priv->tt.req_list_lock); @@@ -2347,9 -2371,11 +2371,11 @@@ batadv_tt_req_node_new(struct batadv_pr if (!tt_req_node) goto unlock;
+ kref_init(&tt_req_node->refcount); ether_addr_copy(tt_req_node->addr, orig_node->orig); tt_req_node->issued_at = jiffies;
+ kref_get(&tt_req_node->refcount); hlist_add_head(&tt_req_node->list, &bat_priv->tt.req_list); unlock: spin_unlock_bh(&bat_priv->tt.req_list_lock); @@@ -2613,13 -2639,17 +2639,19 @@@ static bool batadv_send_tt_request(stru out: if (primary_if) batadv_hardif_put(primary_if); ++ if (ret && tt_req_node) { spin_lock_bh(&bat_priv->tt.req_list_lock); -- /* hlist_del_init() verifies tt_req_node still is in the list */ -- hlist_del_init(&tt_req_node->list); - batadv_tt_req_node_put(tt_req_node); ++ if (!hlist_unhashed(&tt_req_node->list)) { ++ hlist_del_init(&tt_req_node->list); ++ batadv_tt_req_node_put(tt_req_node); ++ } spin_unlock_bh(&bat_priv->tt.req_list_lock); - kfree(tt_req_node); } + + if (tt_req_node) + batadv_tt_req_node_put(tt_req_node); + kfree(tvlv_tt_data); return ret; } @@@ -3055,7 -3085,7 +3087,7 @@@ static void batadv_handle_tt_response(s if (!batadv_compare_eth(node->addr, resp_src)) continue; hlist_del_init(&node->list); - kfree(node); + batadv_tt_req_node_put(node); }
spin_unlock_bh(&bat_priv->tt.req_list_lock); diff --combined net/batman-adv/tvlv.c index 0000000,8c59420..3d1cf0f mode 000000,100644..100644 --- a/net/batman-adv/tvlv.c +++ b/net/batman-adv/tvlv.c @@@ -1,0 -1,632 +1,632 @@@ + /* Copyright (C) 2007-2016 B.A.T.M.A.N. contributors: + * + * Marek Lindner, Simon Wunderlich + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see http://www.gnu.org/licenses/. + */ + + #include "main.h" + + #include <linux/byteorder/generic.h> + #include <linux/etherdevice.h> + #include <linux/fs.h> + #include <linux/if_ether.h> + #include <linux/kernel.h> + #include <linux/kref.h> + #include <linux/list.h> + #include <linux/lockdep.h> + #include <linux/netdevice.h> + #include <linux/pkt_sched.h> + #include <linux/rculist.h> + #include <linux/rcupdate.h> + #include <linux/skbuff.h> + #include <linux/slab.h> + #include <linux/spinlock.h> + #include <linux/stddef.h> + #include <linux/string.h> + #include <linux/types.h> + + #include "originator.h" + #include "packet.h" + #include "send.h" + #include "tvlv.h" + + /** + * batadv_tvlv_handler_release - release tvlv handler from lists and queue for + * free after rcu grace period + * @ref: kref pointer of the tvlv + */ + static void batadv_tvlv_handler_release(struct kref *ref) + { + struct batadv_tvlv_handler *tvlv_handler; + + tvlv_handler = container_of(ref, struct batadv_tvlv_handler, refcount); + kfree_rcu(tvlv_handler, rcu); + } + + /** + * batadv_tvlv_handler_put - decrement the tvlv container refcounter and + * possibly release it + * @tvlv_handler: the tvlv handler to free + */ + static void batadv_tvlv_handler_put(struct batadv_tvlv_handler *tvlv_handler) + { + kref_put(&tvlv_handler->refcount, batadv_tvlv_handler_release); + } + + /** + * batadv_tvlv_handler_get - retrieve tvlv handler from the tvlv handler list + * based on the provided type and version (both need to match) + * @bat_priv: the bat priv with all the soft interface information + * @type: tvlv handler type to look for + * @version: tvlv handler version to look for + * + * Return: tvlv handler if found or NULL otherwise. + */ + static struct batadv_tvlv_handler * + batadv_tvlv_handler_get(struct batadv_priv *bat_priv, u8 type, u8 version) + { + struct batadv_tvlv_handler *tvlv_handler_tmp, *tvlv_handler = NULL; + + rcu_read_lock(); + hlist_for_each_entry_rcu(tvlv_handler_tmp, + &bat_priv->tvlv.handler_list, list) { + if (tvlv_handler_tmp->type != type) + continue; + + if (tvlv_handler_tmp->version != version) + continue; + + if (!kref_get_unless_zero(&tvlv_handler_tmp->refcount)) + continue; + + tvlv_handler = tvlv_handler_tmp; + break; + } + rcu_read_unlock(); + + return tvlv_handler; + } + + /** + * batadv_tvlv_container_release - release tvlv from lists and free + * @ref: kref pointer of the tvlv + */ + static void batadv_tvlv_container_release(struct kref *ref) + { + struct batadv_tvlv_container *tvlv; + + tvlv = container_of(ref, struct batadv_tvlv_container, refcount); + kfree(tvlv); + } + + /** + * batadv_tvlv_container_put - decrement the tvlv container refcounter and + * possibly release it + * @tvlv: the tvlv container to free + */ + static void batadv_tvlv_container_put(struct batadv_tvlv_container *tvlv) + { + kref_put(&tvlv->refcount, batadv_tvlv_container_release); + } + + /** + * batadv_tvlv_container_get - retrieve tvlv container from the tvlv container + * list based on the provided type and version (both need to match) + * @bat_priv: the bat priv with all the soft interface information + * @type: tvlv container type to look for + * @version: tvlv container version to look for + * + * Has to be called with the appropriate locks being acquired + * (tvlv.container_list_lock). + * + * Return: tvlv container if found or NULL otherwise. + */ + static struct batadv_tvlv_container * + batadv_tvlv_container_get(struct batadv_priv *bat_priv, u8 type, u8 version) + { + struct batadv_tvlv_container *tvlv_tmp, *tvlv = NULL; + + lockdep_assert_held(&bat_priv->tvlv.container_list_lock); + + hlist_for_each_entry(tvlv_tmp, &bat_priv->tvlv.container_list, list) { + if (tvlv_tmp->tvlv_hdr.type != type) + continue; + + if (tvlv_tmp->tvlv_hdr.version != version) + continue; + + kref_get(&tvlv_tmp->refcount); + tvlv = tvlv_tmp; + break; + } + + return tvlv; + } + + /** + * batadv_tvlv_container_list_size - calculate the size of the tvlv container + * list entries + * @bat_priv: the bat priv with all the soft interface information + * + * Has to be called with the appropriate locks being acquired + * (tvlv.container_list_lock). + * + * Return: size of all currently registered tvlv containers in bytes. + */ + static u16 batadv_tvlv_container_list_size(struct batadv_priv *bat_priv) + { + struct batadv_tvlv_container *tvlv; + u16 tvlv_len = 0; + + lockdep_assert_held(&bat_priv->tvlv.container_list_lock); + + hlist_for_each_entry(tvlv, &bat_priv->tvlv.container_list, list) { + tvlv_len += sizeof(struct batadv_tvlv_hdr); + tvlv_len += ntohs(tvlv->tvlv_hdr.len); + } + + return tvlv_len; + } + + /** + * batadv_tvlv_container_remove - remove tvlv container from the tvlv container + * list + * @bat_priv: the bat priv with all the soft interface information + * @tvlv: the to be removed tvlv container + * + * Has to be called with the appropriate locks being acquired + * (tvlv.container_list_lock). + */ + static void batadv_tvlv_container_remove(struct batadv_priv *bat_priv, + struct batadv_tvlv_container *tvlv) + { + lockdep_assert_held(&bat_priv->tvlv.container_list_lock); + + if (!tvlv) + return; + + hlist_del(&tvlv->list); + + /* first call to decrement the counter, second call to free */ + batadv_tvlv_container_put(tvlv); + batadv_tvlv_container_put(tvlv); + } + + /** + * batadv_tvlv_container_unregister - unregister tvlv container based on the + * provided type and version (both need to match) + * @bat_priv: the bat priv with all the soft interface information + * @type: tvlv container type to unregister + * @version: tvlv container type to unregister + */ + void batadv_tvlv_container_unregister(struct batadv_priv *bat_priv, + u8 type, u8 version) + { + struct batadv_tvlv_container *tvlv; + + spin_lock_bh(&bat_priv->tvlv.container_list_lock); + tvlv = batadv_tvlv_container_get(bat_priv, type, version); + batadv_tvlv_container_remove(bat_priv, tvlv); + spin_unlock_bh(&bat_priv->tvlv.container_list_lock); + } + + /** + * batadv_tvlv_container_register - register tvlv type, version and content + * to be propagated with each (primary interface) OGM + * @bat_priv: the bat priv with all the soft interface information + * @type: tvlv container type + * @version: tvlv container version + * @tvlv_value: tvlv container content + * @tvlv_value_len: tvlv container content length + * + * If a container of the same type and version was already registered the new + * content is going to replace the old one. + */ + void batadv_tvlv_container_register(struct batadv_priv *bat_priv, + u8 type, u8 version, + void *tvlv_value, u16 tvlv_value_len) + { + struct batadv_tvlv_container *tvlv_old, *tvlv_new; + + if (!tvlv_value) + tvlv_value_len = 0; + + tvlv_new = kzalloc(sizeof(*tvlv_new) + tvlv_value_len, GFP_ATOMIC); + if (!tvlv_new) + return; + + tvlv_new->tvlv_hdr.version = version; + tvlv_new->tvlv_hdr.type = type; + tvlv_new->tvlv_hdr.len = htons(tvlv_value_len); + + memcpy(tvlv_new + 1, tvlv_value, ntohs(tvlv_new->tvlv_hdr.len)); + INIT_HLIST_NODE(&tvlv_new->list); + kref_init(&tvlv_new->refcount); + + spin_lock_bh(&bat_priv->tvlv.container_list_lock); + tvlv_old = batadv_tvlv_container_get(bat_priv, type, version); + batadv_tvlv_container_remove(bat_priv, tvlv_old); + hlist_add_head(&tvlv_new->list, &bat_priv->tvlv.container_list); + spin_unlock_bh(&bat_priv->tvlv.container_list_lock); + } + + /** + * batadv_tvlv_realloc_packet_buff - reallocate packet buffer to accommodate + * requested packet size + * @packet_buff: packet buffer + * @packet_buff_len: packet buffer size + * @min_packet_len: requested packet minimum size + * @additional_packet_len: requested additional packet size on top of minimum + * size + * + * Return: true of the packet buffer could be changed to the requested size, + * false otherwise. + */ + static bool batadv_tvlv_realloc_packet_buff(unsigned char **packet_buff, + int *packet_buff_len, + int min_packet_len, + int additional_packet_len) + { + unsigned char *new_buff; + + new_buff = kmalloc(min_packet_len + additional_packet_len, GFP_ATOMIC); + + /* keep old buffer if kmalloc should fail */ + if (!new_buff) + return false; + + memcpy(new_buff, *packet_buff, min_packet_len); + kfree(*packet_buff); + *packet_buff = new_buff; + *packet_buff_len = min_packet_len + additional_packet_len; + + return true; + } + + /** + * batadv_tvlv_container_ogm_append - append tvlv container content to given + * OGM packet buffer + * @bat_priv: the bat priv with all the soft interface information + * @packet_buff: ogm packet buffer + * @packet_buff_len: ogm packet buffer size including ogm header and tvlv + * content + * @packet_min_len: ogm header size to be preserved for the OGM itself + * + * The ogm packet might be enlarged or shrunk depending on the current size + * and the size of the to-be-appended tvlv containers. + * + * Return: size of all appended tvlv containers in bytes. + */ + u16 batadv_tvlv_container_ogm_append(struct batadv_priv *bat_priv, + unsigned char **packet_buff, + int *packet_buff_len, int packet_min_len) + { + struct batadv_tvlv_container *tvlv; + struct batadv_tvlv_hdr *tvlv_hdr; + u16 tvlv_value_len; + void *tvlv_value; + bool ret; + + spin_lock_bh(&bat_priv->tvlv.container_list_lock); + tvlv_value_len = batadv_tvlv_container_list_size(bat_priv); + + ret = batadv_tvlv_realloc_packet_buff(packet_buff, packet_buff_len, + packet_min_len, tvlv_value_len); + + if (!ret) + goto end; + + if (!tvlv_value_len) + goto end; + + tvlv_value = (*packet_buff) + packet_min_len; + + hlist_for_each_entry(tvlv, &bat_priv->tvlv.container_list, list) { + tvlv_hdr = tvlv_value; + tvlv_hdr->type = tvlv->tvlv_hdr.type; + tvlv_hdr->version = tvlv->tvlv_hdr.version; + tvlv_hdr->len = tvlv->tvlv_hdr.len; + tvlv_value = tvlv_hdr + 1; + memcpy(tvlv_value, tvlv + 1, ntohs(tvlv->tvlv_hdr.len)); + tvlv_value = (u8 *)tvlv_value + ntohs(tvlv->tvlv_hdr.len); + } + + end: + spin_unlock_bh(&bat_priv->tvlv.container_list_lock); + return tvlv_value_len; + } + + /** + * batadv_tvlv_call_handler - parse the given tvlv buffer to call the + * appropriate handlers + * @bat_priv: the bat priv with all the soft interface information + * @tvlv_handler: tvlv callback function handling the tvlv content + * @ogm_source: flag indicating whether the tvlv is an ogm or a unicast packet + * @orig_node: orig node emitting the ogm packet + * @src: source mac address of the unicast packet + * @dst: destination mac address of the unicast packet + * @tvlv_value: tvlv content + * @tvlv_value_len: tvlv content length + * + * Return: success if handler was not found or the return value of the handler + * callback. + */ + static int batadv_tvlv_call_handler(struct batadv_priv *bat_priv, + struct batadv_tvlv_handler *tvlv_handler, + bool ogm_source, + struct batadv_orig_node *orig_node, + u8 *src, u8 *dst, + void *tvlv_value, u16 tvlv_value_len) + { + if (!tvlv_handler) + return NET_RX_SUCCESS; + + if (ogm_source) { + if (!tvlv_handler->ogm_handler) + return NET_RX_SUCCESS; + + if (!orig_node) + return NET_RX_SUCCESS; + + tvlv_handler->ogm_handler(bat_priv, orig_node, + BATADV_NO_FLAGS, + tvlv_value, tvlv_value_len); + tvlv_handler->flags |= BATADV_TVLV_HANDLER_OGM_CALLED; + } else { + if (!src) + return NET_RX_SUCCESS; + + if (!dst) + return NET_RX_SUCCESS; + + if (!tvlv_handler->unicast_handler) + return NET_RX_SUCCESS; + + return tvlv_handler->unicast_handler(bat_priv, src, + dst, tvlv_value, + tvlv_value_len); + } + + return NET_RX_SUCCESS; + } + + /** + * batadv_tvlv_containers_process - parse the given tvlv buffer to call the + * appropriate handlers + * @bat_priv: the bat priv with all the soft interface information + * @ogm_source: flag indicating whether the tvlv is an ogm or a unicast packet + * @orig_node: orig node emitting the ogm packet + * @src: source mac address of the unicast packet + * @dst: destination mac address of the unicast packet + * @tvlv_value: tvlv content + * @tvlv_value_len: tvlv content length + * + * Return: success when processing an OGM or the return value of all called + * handler callbacks. + */ + int batadv_tvlv_containers_process(struct batadv_priv *bat_priv, + bool ogm_source, + struct batadv_orig_node *orig_node, + u8 *src, u8 *dst, + void *tvlv_value, u16 tvlv_value_len) + { + struct batadv_tvlv_handler *tvlv_handler; + struct batadv_tvlv_hdr *tvlv_hdr; + u16 tvlv_value_cont_len; + u8 cifnotfound = BATADV_TVLV_HANDLER_OGM_CIFNOTFND; + int ret = NET_RX_SUCCESS; + + while (tvlv_value_len >= sizeof(*tvlv_hdr)) { + tvlv_hdr = tvlv_value; + tvlv_value_cont_len = ntohs(tvlv_hdr->len); + tvlv_value = tvlv_hdr + 1; + tvlv_value_len -= sizeof(*tvlv_hdr); + + if (tvlv_value_cont_len > tvlv_value_len) + break; + + tvlv_handler = batadv_tvlv_handler_get(bat_priv, + tvlv_hdr->type, + tvlv_hdr->version); + + ret |= batadv_tvlv_call_handler(bat_priv, tvlv_handler, + ogm_source, orig_node, + src, dst, tvlv_value, + tvlv_value_cont_len); + if (tvlv_handler) + batadv_tvlv_handler_put(tvlv_handler); + tvlv_value = (u8 *)tvlv_value + tvlv_value_cont_len; + tvlv_value_len -= tvlv_value_cont_len; + } + + if (!ogm_source) + return ret; + + rcu_read_lock(); + hlist_for_each_entry_rcu(tvlv_handler, + &bat_priv->tvlv.handler_list, list) { + if ((tvlv_handler->flags & BATADV_TVLV_HANDLER_OGM_CIFNOTFND) && + !(tvlv_handler->flags & BATADV_TVLV_HANDLER_OGM_CALLED)) + tvlv_handler->ogm_handler(bat_priv, orig_node, + cifnotfound, NULL, 0); + + tvlv_handler->flags &= ~BATADV_TVLV_HANDLER_OGM_CALLED; + } + rcu_read_unlock(); + + return NET_RX_SUCCESS; + } + + /** + * batadv_tvlv_ogm_receive - process an incoming ogm and call the appropriate + * handlers + * @bat_priv: the bat priv with all the soft interface information + * @batadv_ogm_packet: ogm packet containing the tvlv containers + * @orig_node: orig node emitting the ogm packet + */ + void batadv_tvlv_ogm_receive(struct batadv_priv *bat_priv, + struct batadv_ogm_packet *batadv_ogm_packet, + struct batadv_orig_node *orig_node) + { + void *tvlv_value; + u16 tvlv_value_len; + + if (!batadv_ogm_packet) + return; + + tvlv_value_len = ntohs(batadv_ogm_packet->tvlv_len); + if (!tvlv_value_len) + return; + + tvlv_value = batadv_ogm_packet + 1; + + batadv_tvlv_containers_process(bat_priv, true, orig_node, NULL, NULL, + tvlv_value, tvlv_value_len); + } + + /** + * batadv_tvlv_handler_register - register tvlv handler based on the provided + * type and version (both need to match) for ogm tvlv payload and/or unicast + * payload + * @bat_priv: the bat priv with all the soft interface information + * @optr: ogm tvlv handler callback function. This function receives the orig + * node, flags and the tvlv content as argument to process. + * @uptr: unicast tvlv handler callback function. This function receives the + * source & destination of the unicast packet as well as the tvlv content + * to process. + * @type: tvlv handler type to be registered + * @version: tvlv handler version to be registered + * @flags: flags to enable or disable TVLV API behavior + */ + void batadv_tvlv_handler_register(struct batadv_priv *bat_priv, + void (*optr)(struct batadv_priv *bat_priv, + struct batadv_orig_node *orig, + u8 flags, + void *tvlv_value, + u16 tvlv_value_len), + int (*uptr)(struct batadv_priv *bat_priv, + u8 *src, u8 *dst, + void *tvlv_value, + u16 tvlv_value_len), + u8 type, u8 version, u8 flags) + { + struct batadv_tvlv_handler *tvlv_handler; + + tvlv_handler = batadv_tvlv_handler_get(bat_priv, type, version); + if (tvlv_handler) { + batadv_tvlv_handler_put(tvlv_handler); + return; + } + + tvlv_handler = kzalloc(sizeof(*tvlv_handler), GFP_ATOMIC); + if (!tvlv_handler) + return; + + tvlv_handler->ogm_handler = optr; + tvlv_handler->unicast_handler = uptr; + tvlv_handler->type = type; + tvlv_handler->version = version; + tvlv_handler->flags = flags; + kref_init(&tvlv_handler->refcount); + INIT_HLIST_NODE(&tvlv_handler->list); + + spin_lock_bh(&bat_priv->tvlv.handler_list_lock); + hlist_add_head_rcu(&tvlv_handler->list, &bat_priv->tvlv.handler_list); + spin_unlock_bh(&bat_priv->tvlv.handler_list_lock); + } + + /** + * batadv_tvlv_handler_unregister - unregister tvlv handler based on the + * provided type and version (both need to match) + * @bat_priv: the bat priv with all the soft interface information + * @type: tvlv handler type to be unregistered + * @version: tvlv handler version to be unregistered + */ + void batadv_tvlv_handler_unregister(struct batadv_priv *bat_priv, + u8 type, u8 version) + { + struct batadv_tvlv_handler *tvlv_handler; + + tvlv_handler = batadv_tvlv_handler_get(bat_priv, type, version); + if (!tvlv_handler) + return; + + batadv_tvlv_handler_put(tvlv_handler); + spin_lock_bh(&bat_priv->tvlv.handler_list_lock); + hlist_del_rcu(&tvlv_handler->list); + spin_unlock_bh(&bat_priv->tvlv.handler_list_lock); + batadv_tvlv_handler_put(tvlv_handler); + } + + /** + * batadv_tvlv_unicast_send - send a unicast packet with tvlv payload to the + * specified host + * @bat_priv: the bat priv with all the soft interface information + * @src: source mac address of the unicast packet + * @dst: destination mac address of the unicast packet + * @type: tvlv type + * @version: tvlv version + * @tvlv_value: tvlv content + * @tvlv_value_len: tvlv content length + */ + void batadv_tvlv_unicast_send(struct batadv_priv *bat_priv, u8 *src, + u8 *dst, u8 type, u8 version, + void *tvlv_value, u16 tvlv_value_len) + { + struct batadv_unicast_tvlv_packet *unicast_tvlv_packet; + struct batadv_tvlv_hdr *tvlv_hdr; + struct batadv_orig_node *orig_node; + struct sk_buff *skb; + unsigned char *tvlv_buff; + unsigned int tvlv_len; + ssize_t hdr_len = sizeof(*unicast_tvlv_packet); + int res; + + orig_node = batadv_orig_hash_find(bat_priv, dst); + if (!orig_node) + return; + + tvlv_len = sizeof(*tvlv_hdr) + tvlv_value_len; + + skb = netdev_alloc_skb_ip_align(NULL, ETH_HLEN + hdr_len + tvlv_len); + if (!skb) + goto out; + + skb->priority = TC_PRIO_CONTROL; + skb_reserve(skb, ETH_HLEN); + tvlv_buff = skb_put(skb, sizeof(*unicast_tvlv_packet) + tvlv_len); + unicast_tvlv_packet = (struct batadv_unicast_tvlv_packet *)tvlv_buff; + unicast_tvlv_packet->packet_type = BATADV_UNICAST_TVLV; + unicast_tvlv_packet->version = BATADV_COMPAT_VERSION; + unicast_tvlv_packet->ttl = BATADV_TTL; + unicast_tvlv_packet->reserved = 0; + unicast_tvlv_packet->tvlv_len = htons(tvlv_len); + unicast_tvlv_packet->align = 0; + ether_addr_copy(unicast_tvlv_packet->src, src); + ether_addr_copy(unicast_tvlv_packet->dst, dst); + + tvlv_buff = (unsigned char *)(unicast_tvlv_packet + 1); + tvlv_hdr = (struct batadv_tvlv_hdr *)tvlv_buff; + tvlv_hdr->version = version; + tvlv_hdr->type = type; + tvlv_hdr->len = htons(tvlv_value_len); + tvlv_buff += sizeof(*tvlv_hdr); + memcpy(tvlv_buff, tvlv_value, tvlv_value_len); + + res = batadv_send_skb_to_orig(skb, orig_node, NULL); - if (!(res != -1 && dev_xmit_complete(res))) ++ if (res == -1) + kfree_skb(skb); + out: + batadv_orig_node_put(orig_node); + }