8. Happy hacking.
- - - -----------------------------------
- - -
- - - Maintainers List (try to look for most precise areas first)
+ + + Descriptions of section entries:
+ + +
+ + + P: Person (obsolete)
+ + + M: Mail patches to: FullName <address@domain>
+ + + L: Mailing list that is relevant to this area
+ + + W: Web-page with status/info
+ + + T: SCM tree type and location. Type is one of: git, hg, quilt, stgit.
+ + + 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.
+ + + 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]
- - P: Person (obsolete)
- - M: Mail patches to: FullName <address@domain>
- P: Person
- M: Mail patches to
- - - L: Mailing list that is relevant to this area
- - - W: Web-page with status/info
- - - T: SCM tree type and location. Type is one of: git, hg, quilt, stgit.
- - - 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.
+ + + Maintainers List (try to look for most precise areas first)
- - - 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.
- - - 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/
+ + + -----------------------------------
3C505 NETWORK DRIVER
- P: Philip Blundell
S: Maintained
F: drivers/net/3c505*
3C59X NETWORK DRIVER
- P: Steffen Klassert
S: Maintained
F: Documentation/networking/vortex.txt
F: drivers/net/3c59x.c
3CR990 NETWORK DRIVER
- P: David Dillow
S: Maintained
F: drivers/net/typhoon*
3W-9XXX SATA-RAID CONTROLLER DRIVER
- P: Adam Radford
W: http://www.amcc.com
S: Supported
F: drivers/scsi/3w-9xxx*
3W-XXXX ATA-RAID CONTROLLER DRIVER
- P: Adam Radford
W: http://www.amcc.com
S: Supported
F: drivers/scsi/3w-xxxx*
53C700 AND 53C700-66 SCSI DRIVER
- P: James E.J. Bottomley
S: Maintained
F: drivers/scsi/53c700*
6PACK NETWORK DRIVER FOR AX.25
- P: Andreas Koensgen
S: Maintained
F: drivers/net/hamradio/6pack.c
8169 10/100/1000 GIGABIT ETHERNET DRIVER
- P: Francois Romieu
S: Maintained
F: drivers/net/r8169.c
8250/16?50 (AND CLONE UARTS) SERIAL DRIVER
- P: Alan Cox
W: http://serial.sourceforge.net
- S: Odd Fixes
+ S: Orphan
F: drivers/serial/8250*
F: include/linux/serial_8250.h
8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.]
- P: Paul Gortmaker
S: Maintained
F: drivers/net/*8390*
F: drivers/net/ax88796.c
9P FILE SYSTEM
- P: Eric Van Hensbergen
- P: Ron Minnich
- P: Latchesar Ionkov
W: http://swik.net/v9fs
- - - T: git git://git.kernel.org/pub/scm/linux/kernel/ericvh/v9fs.git
+ + + T: git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git
S: Maintained
F: Documentation/filesystems/9p.txt
F: fs/9p/
A2232 SERIAL BOARD DRIVER
- P: Enver Haase
S: Maintained
F: drivers/char/ser_a2232*
AACRAID SCSI RAID DRIVER
- P: Adaptec OEM Raid Solutions
W: http://www.adaptec.com/
S: Supported
F: drivers/scsi/aacraid/
ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
- P: Hans de Goede
S: Maintained
F: drivers/hwmon/abituguru.c
ABIT UGURU 3 HARDWARE MONITOR DRIVER
- P: Alistair John Strachan
S: Maintained
F: drivers/hwmon/abituguru3.c
ACENIC DRIVER
- P: Jes Sorensen
S: Maintained
F: drivers/net/acenic*
ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
- P: Peter Feuerer
- W: http://piie.net/?section=acerhdf
- S: Maintained
- F: drivers/platform/x86/acerhdf.c
+ W: http://piie.net/?section=acerhdf
+ S: Maintained
+ F: drivers/platform/x86/acerhdf.c
ACER WMI LAPTOP EXTRAS
- P: Carlos Corbacho
W: http://code.google.com/p/aceracpi
S: Maintained
F: drivers/platform/x86/acer-wmi.c
ACPI
- P: Len Brown
W: http://www.lesswatts.org/projects/acpi/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
F: drivers/acpi/
F: drivers/pnp/pnpacpi/
F: include/linux/acpi.h
+ F: include/acpi/
ACPI BATTERY DRIVERS
- P: Alexey Starikovskiy
W: http://www.lesswatts.org/projects/acpi/
S: Supported
F: drivers/acpi/*sbs*
ACPI EC DRIVER
- P: Alexey Starikovskiy
W: http://www.lesswatts.org/projects/acpi/
S: Supported
F: drivers/acpi/ec.c
ACPI FAN DRIVER
- P: Zhang Rui
W: http://www.lesswatts.org/projects/acpi/
S: Supported
F: drivers/acpi/fan.c
- ACPI PCI HOTPLUG DRIVER
- P: Kristen Carlson Accardi
+ ACPI PROCESSOR AGGREGATOR DRIVER
+ W: http://www.lesswatts.org/projects/acpi/
S: Supported
- F: drivers/pci/hotplug/acpi*
+ F: drivers/acpi/acpi_pad.c
ACPI THERMAL DRIVER
- P: Zhang Rui
W: http://www.lesswatts.org/projects/acpi/
S: Supported
F: drivers/acpi/*thermal*
ACPI VIDEO DRIVER
- P: Zhang Rui
W: http://www.lesswatts.org/projects/acpi/
S: Supported
F: drivers/acpi/video.c
ACPI WMI DRIVER
- P: Carlos Corbacho
W: http://www.lesswatts.org/projects/acpi/
S: Maintained
F: drivers/platform/x86/wmi.c
AD1889 ALSA SOUND DRIVER
- P: Kyle McMartin
- P: Thibaut Varene
W: http://wiki.parisc-linux.org/AD1889
S: Maintained
F: sound/pci/ad1889.*
ADM1025 HARDWARE MONITOR DRIVER
- P: Jean Delvare
S: Maintained
F: Documentation/hwmon/adm1025
F: drivers/hwmon/adm1025.c
ADM1029 HARDWARE MONITOR DRIVER
- P: Corentin Labbe
S: Maintained
F: drivers/hwmon/adm1029.c
ADM8211 WIRELESS DRIVER
- P: Michael Wu
W: http://linuxwireless.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
F: drivers/net/wireless/adm8211.*
ADT746X FAN DRIVER
- P: Colin Leroy
S: Maintained
F: drivers/macintosh/therm_adt746x.c
ADVANSYS SCSI DRIVER
- P: Matthew Wilcox
S: Maintained
F: Documentation/scsi/advansys.txt
F: drivers/scsi/advansys.c
AEDSP16 DRIVER
- P: Riccardo Facchetti
S: Maintained
F: sound/oss/aedsp16.c
AFFS FILE SYSTEM
- P: Roman Zippel
S: Maintained
F: Documentation/filesystems/affs.txt
F: fs/affs/
AFS FILESYSTEM & AF_RXRPC SOCKET DOMAIN
- P: David Howells
S: Supported
F: fs/afs/
F: net/rxrpc/af_rxrpc.c
AGPGART DRIVER
- P: David Airlie
T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
S: Maintained
F: drivers/char/agp/
F: include/linux/agp*
AHA152X SCSI DRIVER
- P: Juergen E. Fischer
S: Maintained
F: drivers/scsi/aha152x*
F: drivers/scsi/pcmcia/aha152x*
AIC7XXX / AIC79XX SCSI DRIVER
- P: Hannes Reinecke
S: Maintained
F: drivers/scsi/aic7xxx/
F: drivers/scsi/aic7xxx_old/
AIO
- P: Benjamin LaHaise
S: Supported
F: fs/aio.c
F: include/linux/*aio*.h
ALCATEL SPEEDTOUCH USB DRIVER
- P: Duncan Sands
W: http://www.linux-usb.org/SpeedTouch/
S: Maintained
F: drivers/usb/atm/usbatm.c
ALCHEMY AU1XX0 MMC DRIVER
- P: Manuel Lauss
S: Maintained
F: drivers/mmc/host/au1xmmc.c
ALI1563 I2C DRIVER
- P: Rudolf Marek
S: Maintained
F: Documentation/i2c/busses/i2c-ali1563
F: drivers/i2c/busses/i2c-ali1563.c
ALPHA PORT
- P: Richard Henderson
S: Odd Fixes for 2.4; Maintained for 2.6.
- P: Ivan Kokshaysky
S: Maintained for 2.4; PCI support for 2.6.
F: arch/alpha/
AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
- P: Thomas Dahlmann
S: Supported
F: drivers/usb/gadget/amd5536udc.*
F: arch/x86/include/asm/geode.h
AMD IOMMU (AMD-VI)
- P: Joerg Roedel
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git
S: Supported
F: arch/x86/include/asm/amd_iommu*.h
AMD MICROCODE UPDATE SUPPORT
- P: Andreas Herrmann
S: Supported
F: arch/x86/kernel/microcode_amd.c
AMS (Apple Motion Sensor) DRIVER
- P: Stelian Pop
- P: Michael Hanselmann
S: Supported
F: drivers/hwmon/ams/
AMSO1100 RNIC DRIVER
- P: Tom Tucker
- P: Steve Wise
S: Maintained
F: drivers/infiniband/hw/amso1100/
AOA (Apple Onboard Audio) ALSA DRIVER
- P: Johannes Berg
S: Maintained
F: sound/aoa/
APM DRIVER
- P: Stephen Rothwell
W: http://www.canb.auug.org.au/~sfr/
S: Supported
F: include/linux/apm_bios.h
APPLE BCM5974 MULTITOUCH DRIVER
- P: Henrik Rydberg
S: Maintained
F: drivers/input/mouse/bcm5974.c
APPLE SMC DRIVER
- P: Nicolas Boichat
S: Maintained
F: drivers/hwmon/applesmc.c
APPLETALK NETWORK LAYER
- P: Arnaldo Carvalho de Melo
S: Maintained
F: drivers/net/appletalk/
F: net/appletalk/
APPLETOUCH TOUCHPAD DRIVER
- P: Johannes Berg
S: Maintained
F: Documentation/input/appletouch.txt
F: drivers/input/mouse/appletouch.c
ARC FRAMEBUFFER DRIVER
- P: Jaya Kumar
S: Maintained
F: drivers/video/arcfb.c
F: drivers/video/fb_defio.c
ARM MFM AND FLOPPY DRIVERS
- P: Ian Molton
S: Maintained
F: arch/arm/lib/floppydma.S
F: arch/arm/include/asm/floppy.h
ARM PORT
- P: Russell King
W: http://www.arm.linux.org.uk/
S: Maintained
F: arch/arm/
++ + ++ARM PRIMECELL AACI PL041 DRIVER
++ + ++S: Maintained
++ + ++F: sound/arm/aaci.*
++ + ++
++ + ++ARM PRIMECELL CLCD PL110 DRIVER
++ + ++S: Maintained
++ + ++F: drivers/video/amba-clcd.*
++ + ++
++ + ++ARM PRIMECELL KMI PL050 DRIVER
++ + ++S: Maintained
++ + ++F: drivers/input/serio/ambakmi.*
++ + ++F: include/linux/amba/kmi.h
++ + ++
ARM PRIMECELL MMCI PL180/1 DRIVER
S: Orphan
F: drivers/mmc/host/mmci.*
++ + ++ARM PRIMECELL BUS SUPPORT
++ + ++S: Maintained
++ + ++F: drivers/amba/
++ + ++F: include/linux/amba/bus.h
++ + ++
ARM/ADI ROADRUNNER MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
F: arch/arm/mach-ixp23xx/
F: arch/arm/mach-ixp23xx/include/mach/
ARM/ADS SPHERE MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/AFEB9260 MACHINE SUPPORT
- P: Sergey Lapin
S: Maintained
ARM/AJECO 1ARM MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/ATMEL AT91RM9200 ARM ARCHITECTURE
- P: Andrew Victor
W: http://maxim.org.za/at91_26.html
S: Maintained
+ ARM/BCMRING ARM ARCHITECTURE
+ S: Maintained
+ F: arch/arm/mach-bcmring
+
+ ARM/BCMRING MTD NAND DRIVER
+ S: Maintained
+ F: drivers/mtd/nand/bcm_umi_nand.c
+ F: drivers/mtd/nand/bcm_umi_bch.c
+ F: drivers/mtd/nand/bcm_umi_hamming.c
+ F: drivers/mtd/nand/nand_bcm_umi.h
+
ARM/CIRRUS LOGIC EP93XX ARM ARCHITECTURE
- P: Lennert Buytenhek
- L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
+ 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
- P: Lennert Buytenhek
S: Maintained
ARM/CLKDEV SUPPORT
- P: Russell King
F: arch/arm/common/clkdev.c
F: arch/arm/include/asm/clkdev.h
ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
- P: Mike Rapoport
+ S: Maintained
+
+ ARM/CONTEC MICRO9 MACHINE SUPPORT
S: Maintained
+ F: arch/arm/mach-ep93xx/micro9.c
ARM/CORGI MACHINE SUPPORT
- P: Richard Purdie
S: Maintained
ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE
- P: Paulius Zaleckas
T: git git://gitorious.org/linux-gemini/mainline.git
S: Maintained
F: arch/arm/mach-gemini/
ARM/EBSA110 MACHINE SUPPORT
- P: Russell King
W: http://www.arm.linux.org.uk/
S: Maintained
F: arch/arm/mach-ebsa110/
F: drivers/net/arm/am79c961a.*
ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
- P: Daniel Ribeiro
- P: Stefan Schmidt
- P: Harald Welte
W: http://www.openezx.org/
S: Maintained
F: arch/arm/mach-pxa/ezx.c
ARM/FARADAY FA526 PORT
- P: Paulius Zaleckas
S: Maintained
F: arch/arm/mm/*-fa*
ARM/FOOTBRIDGE ARCHITECTURE
- P: Russell King
W: http://www.arm.linux.org.uk/
S: Maintained
F: arch/arm/include/asm/hardware/dec21285.h
F: arch/arm/mach-footbridge/
ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
- P: Sascha Hauer
S: Maintained
ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/GUMSTIX MACHINE SUPPORT
- P: Steve Sakoman
S: Maintained
ARM/H4700 (HP IPAQ HX4700) MACHINE SUPPORT
- P: Philipp Zabel
S: Maintained
F: arch/arm/mach-pxa/hx4700.c
F: arch/arm/mach-pxa/include/mach/hx4700.h
ARM/HP JORNADA 7XX MACHINE SUPPORT
- P: Kristoffer Ericson
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/INTEL IOP32X ARM ARCHITECTURE
- P: Lennert Buytenhek
- P: Dan Williams
- S: Supported
+ S: Maintained
ARM/INTEL IOP33X ARM ARCHITECTURE
- P: Dan Williams
- S: Supported
+ S: Maintained
ARM/INTEL IOP13XX ARM ARCHITECTURE
- P: Lennert Buytenhek
- P: Dan Williams
- S: Supported
+ S: Maintained
ARM/INTEL IQ81342EX MACHINE SUPPORT
- P: Lennert Buytenhek
- P: Dan Williams
- S: Supported
+ S: Maintained
ARM/INTEL IXP2000 ARM ARCHITECTURE
- P: Lennert Buytenhek
S: Maintained
ARM/INTEL IXDP2850 MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/INTEL IXP23XX ARM ARCHITECTURE
- P: Lennert Buytenhek
S: Maintained
+ ARM/INTEL IXP4XX ARM ARCHITECTURE
+ S: Maintained
+ F: arch/arm/mach-ixp4xx/
+
ARM/INTEL XSC3 (MANZANO) ARM CORE
- P: Lennert Buytenhek
- P: Dan Williams
- S: Supported
+ S: Maintained
ARM/IP FABRICS DOUBLE ESPRESSO MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/LOGICPD PXA270 MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/MAGICIAN MACHINE SUPPORT
- P: Philipp Zabel
S: Maintained
+ ARM/Marvell Loki/Kirkwood/MV78xx0/Orion SOC support
+ T: git git://git.marvell.com/orion
+ S: Maintained
+ F: arch/arm/mach-loki/
+ F: arch/arm/mach-kirkwood/
+ F: arch/arm/mach-mv78xx0/
+ F: arch/arm/mach-orion5x/
+ F: arch/arm/plat-orion/
+
ARM/MIOA701 MACHINE SUPPORT
- P: Robert Jarzmik
F: arch/arm/mach-pxa/mioa701.c
S: Maintained
ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
- P: Michael Petchkovsky
S: Maintained
+++++++ARM/NOMADIK ARCHITECTURE
+++++++S: Maintained
+++++++F: arch/arm/mach-nomadik/
+++++++F: arch/arm/plat-nomadik/
+++++++
ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
- P: Nelson Castillo
W: http://wiki.openmoko.org/wiki/Neo_FreeRunner
S: Supported
ARM/TOSA MACHINE SUPPORT
- P: Dmitry Eremin-Solenikov
- P: Dirk Opfer
S: Maintained
- ARM/PALMTX,PALMT5,PALMLD,PALMTE2 SUPPORT
- P: Marek Vasut
+ ARM/PALMTX,PALMT5,PALMLD,PALMTE2,PALMTC SUPPORT
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 680 SUPPORT
- P: Tomas Cech
W: http://hackndev.com
S: Maintained
+ F: arch/arm/mach-pxa/include/mach/treo680.h
+ F: arch/arm/mach-pxa/treo680.c
ARM/PALMZ72 SUPPORT
- P: Sergey Lapin
- M: slapin@ossfans.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
- P: Peter Chubb
W: http://www.disy.cse.unsw.edu.au/Hardware/PLEB
S: Maintained
ARM/PT DIGITAL BOARD PORT
- P: Stefan Eletzhofer
W: http://www.arm.linux.org.uk/
S: Maintained
ARM/RADISYS ENP2611 MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/RISCPC ARCHITECTURE
- P: Russell King
W: http://www.arm.linux.org.uk/
S: Maintained
F: arch/arm/common/time-acorn.c
F: drivers/scsi/arm/
ARM/SHARK MACHINE SUPPORT
- P: Alexander Schulz
W: http://www.shark-linux.de/shark.html
S: Maintained
+ ARM/SAMSUNG ARM ARCHITECTURES
+ W: http://www.fluff.org/ben/linux/
+ S: Maintained
+ F: arch/arm/plat-s3c/
+ F: arch/arm/plat-s3c24xx/
+
ARM/S3C2410 ARM ARCHITECTURE
- P: Ben Dooks
W: http://www.fluff.org/ben/linux/
S: Maintained
+ F: arch/arm/mach-s3c2410/
ARM/S3C2440 ARM ARCHITECTURE
- P: Ben Dooks
+ W: http://www.fluff.org/ben/linux/
+ S: Maintained
+ F: arch/arm/mach-s3c2440/
+
+ ARM/S3C2442 ARM ARCHITECTURE
+ W: http://www.fluff.org/ben/linux/
+ S: Maintained
+ F: arch/arm/mach-s3c2442/
+
+ ARM/S3C2443 ARM ARCHITECTURE
W: http://www.fluff.org/ben/linux/
S: Maintained
+ F: arch/arm/mach-s3c2443/
+
+ ARM/S3C6400 ARM ARCHITECTURE
+ W: http://www.fluff.org/ben/linux/
+ S: Maintained
+ F: arch/arm/mach-s3c6400/
+
+ ARM/S3C6410 ARM ARCHITECTURE
+ W: http://www.fluff.org/ben/linux/
+ S: Maintained
+ F: arch/arm/mach-s3c6410/
ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/THECUS N2100 MACHINE SUPPORT
- P: Lennert Buytenhek
S: Maintained
ARM/NUVOTON W90X900 ARM ARCHITECTURE
- P: Wan ZongShun
W: http://www.mcuos.com
S: Maintained
+++++++ ARM/U8500 ARM ARCHITECTURE
+++++++ S: Maintained
+++++++ F: arch/arm/mach-ux500/
+++++++
ARM/VFP SUPPORT
- P: Russell King
W: http://www.arm.linux.org.uk/
S: Maintained
F: arch/arm/vfp/
- ARPD SUPPORT
- P: Jonathan Layes
- S: Maintained
- F: net/ipv4/arp.c
-
ASUS ACPI EXTRAS DRIVER
- P: Corentin Chary
- P: Karol Kozimor
W: http://acpi4asus.sf.net
S: Maintained
- - - F: arch/x86/kernel/acpi/boot.c
F: drivers/platform/x86/asus_acpi.c
ASUS ASB100 HARDWARE MONITOR DRIVER
- P: Mark M. Hoffman
S: Maintained
F: drivers/hwmon/asb100.c
ASUS LAPTOP EXTRAS DRIVER
- P: Corentin Chary
W: http://acpi4asus.sf.net
S: Maintained
F: drivers/platform/x86/asus-laptop.c
ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
- P: Dan Williams
- P: Maciej Sosnowski
W: http://sourceforge.net/projects/xscaleiop
S: Supported
F: Documentation/crypto/async-tx-api.txt
F: include/linux/dmaengine.h
F: include/linux/async_tx.h
+ AT24 EEPROM DRIVER
+ S: Maintained
+ F: drivers/misc/eeprom/at24.c
+ F: include/linux/i2c/at24.h
+
ATA OVER ETHERNET (AOE) DRIVER
- P: Ed L. Cashin
W: http://www.coraid.com/support/linux
S: Supported
F: Documentation/aoe/
F: drivers/block/aoe/
ATHEROS ATH5K WIRELESS DRIVER
- P: Jiri Slaby
- P: Nick Kossifidis
- P: Luis R. Rodriguez
- P: Bob Copeland
+ W: http://wireless.kernel.org/en/users/Drivers/ath5k
S: Maintained
F: drivers/net/wireless/ath/ath5k/
ATHEROS ATH9K WIRELESS DRIVER
- P: Luis R. Rodriguez
- P: Jouni Malinen
- P: Sujith Manoharan
- P: Vasanthakumar Thiagarajan
- P: Senthil Balasubramanian
+ W: http://wireless.kernel.org/en/users/Drivers/ath9k
S: Supported
F: drivers/net/wireless/ath/ath9k/
ATHEROS AR9170 WIRELESS DRIVER
- P: Christian Lamparter
W: http://wireless.kernel.org/en/users/Drivers/ar9170
S: Maintained
F: drivers/net/wireless/ath/ar9170/
+ ATK0110 HWMON DRIVER
+ S: Maintained
+ F: drivers/hwmon/asus_atk0110.c
+
ATI_REMOTE2 DRIVER
- P: Ville Syrjala
S: Maintained
F: drivers/input/misc/ati_remote2.c
ATLX ETHERNET DRIVERS
- P: Jay Cliburn
- P: Chris Snook
- P: Jie Yang
W: http://sourceforge.net/projects/atl1
W: http://atl1.sourceforge.net
F: drivers/net/atlx/
ATM
- P: Chas Williams
W: http://linux-atm.sourceforge.net
S: Maintained
F: include/linux/atm*
ATMEL AT91 MCI DRIVER
- P: Nicolas Ferre
W: http://www.atmel.com/products/AT91/
W: http://www.at91.com/
S: Maintained
F: drivers/mmc/host/at91_mci.c
ATMEL AT91 / AT32 MCI DRIVER
- P: Nicolas Ferre
S: Maintained
F: drivers/mmc/host/atmel-mci.c
F: drivers/mmc/host/atmel-mci-regs.h
ATMEL AT91 / AT32 SERIAL DRIVER
- P: Haavard Skinnemoen
S: Supported
F: drivers/serial/atmel_serial.c
ATMEL LCDFB DRIVER
- P: Nicolas Ferre
S: Maintained
F: drivers/video/atmel_lcdfb.c
F: include/video/atmel_lcdc.h
ATMEL MACB ETHERNET DRIVER
- P: Haavard Skinnemoen
S: Supported
F: drivers/net/macb.*
ATMEL SPI DRIVER
- P: Haavard Skinnemoen
S: Supported
F: drivers/spi/atmel_spi.*
ATMEL USBA UDC DRIVER
- P: Haavard Skinnemoen
W: http://avr32linux.org/twiki/bin/view/Main/AtmelUsbDeviceDriver
S: Supported
F: drivers/usb/gadget/atmel_usba_udc.*
ATMEL WIRELESS DRIVER
- P: Simon Kelley
W: http://www.thekelleys.org.uk/atmel
W: http://atmelwlandriver.sourceforge.net/
F: drivers/net/wireless/atmel*
AUDIT SUBSYSTEM
- P: Al Viro
- P: Eric Paris
W: http://people.redhat.com/sgrubb/audit/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
F: kernel/audit*
AUXILIARY DISPLAY DRIVERS
- P: Miguel Ojeda Sandonis
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained
F: include/linux/cfag12864b.h
AVR32 ARCHITECTURE
- P: Haavard Skinnemoen
W: http://www.atmel.com/products/AVR32/
W: http://avr32linux.org/
W: http://avrfreaks.net/
F: arch/avr32/
AVR32/AT32AP MACHINE SUPPORT
- P: Haavard Skinnemoen
S: Supported
F: arch/avr32/mach-at32ap/
AX.25 NETWORK LAYER
- P: Ralf Baechle
W: http://www.linux-ax25.org/
S: Maintained
F: net/ax25/
B43 WIRELESS DRIVER
- P: Michael Buesch
- P: Stefano Brivio
W: http://linuxwireless.org/en/users/Drivers/b43
S: Maintained
F: drivers/net/wireless/b43/
B43LEGACY WIRELESS DRIVER
- P: Larry Finger
- P: Stefano Brivio
W: http://linuxwireless.org/en/users/Drivers/b43
S: Maintained
F: drivers/net/wireless/b43legacy/
BACKLIGHT CLASS/SUBSYSTEM
- P: Richard Purdie
S: Maintained
F: drivers/video/backlight/
F: include/linux/backlight.h
BAYCOM/HDLCDRV DRIVERS FOR AX.25
- P: Thomas Sailer
W: http://www.baycom.org/~tom/ham/ham.html
S: Maintained
F: drivers/net/hamradio/baycom*
BEFS FILE SYSTEM
- P: Sergey S. Kostyliov
S: Maintained
F: Documentation/filesystems/befs.txt
F: fs/befs/
BFS FILE SYSTEM
- P: Tigran A. Aivazian
S: Maintained
F: Documentation/filesystems/bfs.txt
F: fs/bfs/
F: include/linux/bfs_fs.h
BLACKFIN ARCHITECTURE
- P: Mike Frysinger
W: http://blackfin.uclinux.org
S: Supported
F: arch/blackfin/
BLACKFIN EMAC DRIVER
- P: Michael Hennerich
W: http://blackfin.uclinux.org
S: Supported
F: drivers/net/bfin_mac.*
BLACKFIN RTC DRIVER
- P: Mike Frysinger
W: http://blackfin.uclinux.org
S: Supported
F: drivers/rtc/rtc-bfin.c
BLACKFIN SERIAL DRIVER
- P: Sonic Zhang
W: http://blackfin.uclinux.org
S: Supported
F: drivers/serial/bfin_5xx.c
BLACKFIN WATCHDOG DRIVER
- P: Mike Frysinger
W: http://blackfin.uclinux.org
S: Supported
F: drivers/watchdog/bfin_wdt.c
BLACKFIN I2C TWI DRIVER
- P: Sonic Zhang
W: http://blackfin.uclinux.org/
S: Supported
F: drivers/i2c/busses/i2c-bfin-twi.c
BLOCK LAYER
- P: Jens Axboe
T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
S: Maintained
F: block/
BLOCK2MTD DRIVER
- P: Joern Engel
S: Maintained
F: drivers/mtd/devices/block2mtd.c
BLUETOOTH DRIVERS
- P: Marcel Holtmann
W: http://www.bluez.org/
S: Maintained
F: drivers/bluetooth/
BLUETOOTH SUBSYSTEM
- P: Marcel Holtmann
W: http://www.bluez.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6.git
F: include/net/bluetooth/
BONDING DRIVER
- P: Jay Vosburgh
W: http://sourceforge.net/projects/bonding/
S: Supported
F: include/linux/if_bonding.h
BROADCOM B44 10/100 ETHERNET DRIVER
- P: Gary Zambrano
S: Supported
F: drivers/net/b44.*
BROADCOM BNX2 GIGABIT ETHERNET DRIVER
- P: Michael Chan
S: Supported
F: drivers/net/bnx2.*
F: drivers/net/bnx2_*
BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
- P: Eilon Greenstein
S: Supported
F: drivers/net/bnx2x*
BROADCOM TG3 GIGABIT ETHERNET DRIVER
- P: Matt Carlson
- P: Michael Chan
S: Supported
F: drivers/net/tg3.*
- - P: Jing Huang
- - S: Supported
- - F: drivers/scsi/bfa/
+ BROCADE BFA FC SCSI DRIVER
+ + + S: Supported
+ + + F: drivers/scsi/bfa/
+
BSG (block layer generic sg v4 driver)
- P: FUJITA Tomonori
S: Supported
F: block/bsg.c
F: include/linux/bsg.h
BT8XXGPIO DRIVER
- P: Michael Buesch
W: http://bu3sch.de/btgpio.php
S: Maintained
F: drivers/gpio/bt8xxgpio.c
BTRFS FILE SYSTEM
- P: Chris Mason
W: http://btrfs.wiki.kernel.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git
F: fs/btrfs/
BTTV VIDEO4LINUX DRIVER
- P: Mauro Carvalho Chehab
W: http://linuxtv.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/media/video/bt8xx/bttv*
CACHEFILES: FS-CACHE BACKEND FOR CACHING ON MOUNTED FILESYSTEMS
- P: David Howells
S: Supported
F: Documentation/filesystems/caching/cachefiles.txt
F: fs/cachefiles/
CAFE CMOS INTEGRATED CAMERA CONTROLLER DRIVER
- P: Jonathan Corbet
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: drivers/media/video/cafe_ccic*
CALGARY x86-64 IOMMU
- P: Muli Ben-Yehuda
- P: Jon D. Mason
S: Maintained
F: arch/x86/kernel/pci-calgary_64.c
F: arch/x86/include/asm/tce.h
CAN NETWORK LAYER
- P: Urs Thuermann
- P: Oliver Hartkopp
W: http://developer.berlios.de/projects/socketcan/
S: Maintained
F: include/linux/can.h
CAN NETWORK DRIVERS
- P: Wolfgang Grandegger
W: http://developer.berlios.de/projects/socketcan/
S: Maintained
CELL BROADBAND ENGINE ARCHITECTURE
- P: Arnd Bergmann
W: http://www.ibm.com/developerworks/power/cell/
F: arch/powerpc/platforms/cell/
CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
- P: David Vrabel
S: Supported
F: Documentation/usb/WUSB-Design-overview.txt
F: include/linux/usb/wusb*
CFAG12864B LCD DRIVER
- P: Miguel Ojeda Sandonis
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained
F: include/linux/cfag12864b.h
CFAG12864BFB LCD FRAMEBUFFER DRIVER
- P: Miguel Ojeda Sandonis
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained
F: include/linux/cfag12864b.h
CFG80211 and NL80211
- P: Johannes Berg
S: Maintained
F: include/linux/nl80211.h
X: net/wireless/wext*
CHECKPATCH
- P: Andy Whitcroft
S: Supported
F: scripts/checkpatch.pl
CISCO 10G ETHERNET DRIVER
- P: Scott Feldman
- P: Joe Eykholt
S: Supported
F: drivers/net/enic/
CIRRUS LOGIC EP93XX ETHERNET DRIVER
- P: Lennert Buytenhek
S: Maintained
F: drivers/net/arm/ep93xx_eth.c
CIRRUS LOGIC EP93XX OHCI USB HOST DRIVER
- P: Lennert Buytenhek
S: Maintained
F: drivers/usb/host/ohci-ep93xx.c
CIRRUS LOGIC CS4270 SOUND DRIVER
- P: Timur Tabi
S: Supported
F: sound/soc/codecs/cs4270*
- CIRRUS LOGIC CS4280/CS461x SOUNDDRIVER
- P: Cirrus Logic Corporation (kernel 2.2 driver)
- P: Nils Faerber (port to kernel 2.4)
- S: Maintained
- F: Documentation/input/cs461x.txt
- F: sound/pci/cs46xx/
-
CLK API
- P: Russell King
F: include/linux/clk.h
CISCO FCOE HBA DRIVER
- P: Abhijeet Joglekar
- P: Joe Eykholt
S: Supported
F: drivers/scsi/fnic/
CODA FILE SYSTEM
- P: Jan Harkes
W: http://www.coda.cs.cmu.edu/
F: include/linux/coda*.h
COMMON INTERNET FILE SYSTEM (CIFS)
- P: Steve French
W: http://linux-cifs.samba.org/
F: fs/cifs/
COMPACTPCI HOTPLUG CORE
- P: Scott Murray
- S: Supported
+ S: Maintained
F: drivers/pci/hotplug/cpci_hotplug*
COMPACTPCI HOTPLUG ZIATECH ZT5550 DRIVER
- P: Scott Murray
- S: Supported
+ S: Maintained
F: drivers/pci/hotplug/cpcihp_zt5550.*
COMPACTPCI HOTPLUG GENERIC DRIVER
- P: Scott Murray
- S: Supported
+ S: Maintained
F: drivers/pci/hotplug/cpcihp_generic.c
COMPAL LAPTOP SUPPORT
- P: Cezary Jackiewicz
S: Maintained
F: drivers/platform/x86/compal-laptop.c
COMPUTONE INTELLIPORT MULTIPORT CARD
- P: Michael H. Warfield
W: http://www.wittsend.com/computone.html
S: Maintained
F: Documentation/serial/computone.txt
F: drivers/char/ip2/
CONEXANT ACCESSRUNNER USB DRIVER
- P: Simon Arlott
W: http://accessrunner.sourceforge.net/
S: Maintained
F: drivers/usb/atm/cxacru.c
CONFIGFS
- P: Joel Becker
S: Supported
F: fs/configfs/
F: include/linux/configfs.h
+ CONNECTOR
+ S: Maintained
+ F: drivers/connector/
+
CONTROL GROUPS (CGROUPS)
- P: Paul Menage
- P: Li Zefan
S: Maintained
F: include/linux/cgroup*
F: mm/*cgroup*
CORETEMP HARDWARE MONITORING DRIVER
- P: Rudolf Marek
S: Maintained
F: Documentation/hwmon/coretemp
F: drivers/hwmon/coretemp.c
COSA/SRP SYNC SERIAL DRIVER
- P: Jan "Yenya" Kasprzak
W: http://www.fi.muni.cz/~kas/cosa/
S: Maintained
F: drivers/net/wan/cosa*
CPMAC ETHERNET DRIVER
- P: Florian Fainelli
S: Maintained
F: drivers/net/cpmac.c
CPU FREQUENCY DRIVERS
- P: Dave Jones
W: http://www.codemonkey.org.uk/projects/cpufreq/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git
F: include/linux/cpufreq.h
CPUID/MSR DRIVER
- P: H. Peter Anvin
S: Maintained
F: arch/x86/kernel/cpuid.c
F: arch/x86/kernel/msr.c
CPUSETS
- P: Paul Menage
W: http://www.bullopensource.org/cpuset/
W: http://oss.sgi.com/projects/cpusets/
S: Supported
F: fs/cramfs/
CRIS PORT
- P: Mikael Starvik
- P: Jesper Nilsson
W: http://developer.axis.com
S: Maintained
F: arch/cris/
CRYPTO API
- P: Herbert Xu
- P: David S. Miller
T: git git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git
S: Maintained
F: include/crypto/
CRYPTOGRAPHIC RANDOM NUMBER GENERATOR
- P: Neil Horman
S: Maintained
CS5535 Audio ALSA driver
- P: Jaya Kumar
S: Maintained
F: sound/pci/cs5535audio/
CX18 VIDEO4LINUX DRIVER
- P: Hans Verkuil
- P: Andy Walls
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
W: http://linuxtv.org
+ W: http://www.ivtvdriver.org/index.php/Cx18
S: Maintained
F: Documentation/video4linux/cx18.txt
F: drivers/media/video/cx18/
CXGB3 ETHERNET DRIVER (CXGB3)
- P: Divy Le Ray
W: http://www.chelsio.com
S: Supported
F: drivers/net/cxgb3/
CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
- P: Steve Wise
W: http://www.openfabrics.org
S: Supported
F: drivers/infiniband/hw/cxgb3/
CYBERPRO FB DRIVER
- P: Russell King
W: http://www.arm.linux.org.uk/
S: Maintained
F: drivers/video/cyber2000fb.*
CYCLADES 2X SYNC CARD DRIVER
- P: Arnaldo Carvalho de Melo
W: http://oops.ghostprotocols.net:81/blog
S: Maintained
F: drivers/net/wan/cycx*
F: drivers/net/wan/pc300*
DAMA SLAVE for AX.25
- P: Joerg Reuter
W: http://yaina.de/jreuter/
W: http://www.qsl.net/dl1bke/
F: net/ax25/sysctl_net_ax25.c
DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
- P: Tobias Ringstrom
S: Maintained
F: Documentation/networking/dmfe.txt
F: drivers/net/tulip/dmfe.c
DC390/AM53C974 SCSI driver
- P: Kurt Garloff
W: http://www.garloff.de/kurt/linux/dc390/
- P: Guennadi Liakhovetski
S: Maintained
F: drivers/scsi/tmscsim.*
DC395x SCSI driver
- P: Oliver Neukum
- P: Ali Akcaagac
- P: Jamie Lenehan
W: http://twibble.org/dist/dc395x/
L: http://lists.twibble.org/mailman/listinfo/dc395x/
F: drivers/scsi/dc395x.*
DCCP PROTOCOL
- P: Arnaldo Carvalho de Melo
W: http://linux-net.osdl.org/index.php/DCCP
S: Maintained
F: net/dccp/
DECnet NETWORK LAYER
- P: Christine Caulfield
W: http://linux-decnet.sourceforge.net
S: Maintained
F: net/decnet/
DEFXX FDDI NETWORK DRIVER
- P: Maciej W. Rozycki
S: Maintained
F: drivers/net/defxx.*
DELL LAPTOP DRIVER
- P: Matthew Garrett
S: Maintained
F: drivers/platform/x86/dell-laptop.c
DELL LAPTOP SMM DRIVER
- P: Massimo Dal Zotto
W: http://www.debian.org/~dz/i8k/
S: Maintained
F: drivers/char/i8k.c
F: include/linux/i8k.h
DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas)
- P: Doug Warzecha
S: Maintained
F: Documentation/dcdbas.txt
F: drivers/firmware/dcdbas.*
DELL WMI EXTRAS DRIVER
- P: Matthew Garrett
S: Maintained
DEVICE NUMBER REGISTRY
- P: Torben Mathiasen
W: http://lanana.org/docs/device-list/index.html
S: Maintained
F: include/linux/dm-*.h
DIGI INTL. EPCA DRIVER
- P: Digi International, Inc
W: http://www.digi.com
S: Orphan
F: drivers/char/digi*
DIRECTORY NOTIFICATION (DNOTIFY)
- P: Eric Paris
S: Maintained
F: Documentation/filesystems/dnotify.txt
F: fs/notify/dnotify/
F: include/linux/dnotify.h
DISK GEOMETRY AND PARTITION HANDLING
- P: Andries Brouwer
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
- P: Jan Kara
S: Maintained
F: Documentation/filesystems/quota.txt
F: fs/quota/
F: include/linux/quota*.h
DISTRIBUTED LOCK MANAGER (DLM)
- P: Christine Caulfield
- P: David Teigland
W: http://sources.redhat.com/cluster/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm.git
F: fs/dlm/
DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
- P: Maciej Sosnowski
- P: Dan Williams
S: Supported
F: drivers/dma/
F: include/linux/dma*
DME1737 HARDWARE MONITOR DRIVER
- P: Juerg Haefliger
S: Maintained
F: Documentation/hwmon/dme1737
F: drivers/hwmon/dme1737.c
DOCBOOK FOR DOCUMENTATION
- P: Randy Dunlap
S: Maintained
DOCKING STATION DRIVER
- P: Shaohua Li
S: Supported
F: drivers/acpi/dock.c
DOCUMENTATION
- P: Randy Dunlap
S: Maintained
F: Documentation/
DOUBLETALK DRIVER
- P: James R. Van Zandt
S: Maintained
F: drivers/char/dtlk.c
F: include/linux/dtlk.h
DPT_I2O SCSI RAID DRIVER
- P: Adaptec OEM Raid Solutions
W: http://www.adaptec.com/
S: Maintained
F: drivers/scsi/dpt/
DRIVER CORE, KOBJECTS, AND SYSFS
- P: Greg Kroah-Hartman
T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
S: Supported
F: Documentation/kobject.txt
F: lib/kobj*
DRM DRIVERS
- P: David Airlie
T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
S: Maintained
F: drivers/gpu/drm/
DSCC4 DRIVER
- P: Francois Romieu
S: Maintained
F: drivers/net/wan/dscc4.c
DZ DECSTATION DZ11 SERIAL DRIVER
- P: Maciej W. Rozycki
S: Maintained
F: drivers/serial/dz.*
EATA-DMA SCSI DRIVER
- P: Michael Neuffer
S: Maintained
F: drivers/scsi/eata*
EATA ISA/EISA/PCI SCSI DRIVER
- P: Dario Ballabio
S: Maintained
F: drivers/scsi/eata.c
EATA-PIO SCSI DRIVER
- P: Michael Neuffer
S: Maintained
F: drivers/scsi/eata_pio.*
EBTABLES
- P: Bart De Schuymer
W: http://ebtables.sourceforge.net/
F: net/bridge/netfilter/ebt*.c
ECRYPT FILE SYSTEM
- P: Tyler Hicks
- P: Dustin Kirkland
W: https://launchpad.net/ecryptfs
S: Supported
F: fs/ecryptfs/
EDAC-CORE
- P: Doug Thompson
W: bluesmoke.sourceforge.net
S: Supported
F: include/linux/edac.h
EDAC-AMD64
- P: Doug Thompson
- P: Borislav Petkov
W: bluesmoke.sourceforge.net
S: Supported
F: drivers/edac/amd64_edac*
EDAC-E752X
- P: Mark Gross
- P: Doug Thompson
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/e752x_edac.c
EDAC-E7XXX
- P: Doug Thompson
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/e7xxx_edac.c
EDAC-I82443BXGX
- P: Tim Small
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/i82443bxgx_edac.c
EDAC-I3000
- P: Jason Uhlenkott
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/i3000_edac.c
EDAC-I5000
- P: Doug Thompson
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/i5000_edac.c
EDAC-I5400
- P: Mauro Carvalho Chehab
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/i5400_edac.c
EDAC-I82975X
- P: Ranganathan Desikan
- P: Arvind R.
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/i82975x_edac.c
EDAC-PASEMI
- P: Egor Martovetsky
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/pasemi_edac.c
EDAC-R82600
- P: Tim Small
W: bluesmoke.sourceforge.net
S: Maintained
F: drivers/edac/r82600_edac.c
EEEPC LAPTOP EXTRAS DRIVER
- P: Corentin Chary
W: http://acpi4asus.sf.net
S: Maintained
F: fs/efs/
EHCA (IBM GX bus InfiniBand adapter) DRIVER
- P: Hoang-Nam Nguyen
- P: Christoph Raisch
S: Supported
F: drivers/infiniband/hw/ehca/
EMBEDDED LINUX
- P: Paul Gortmaker
- P: Matt Mackall
- P: David Woodhouse
S: Maintained
EMULEX LPFC FC SCSI DRIVER
- P: James Smart
W: http://sourceforge.net/projects/lpfcxxxx
S: Supported
F: drivers/scsi/lpfc/
ENE CB710 FLASH CARD READER DRIVER
- P: Michał Mirosław
S: Maintained
F: drivers/misc/cb710/
F: drivers/mmc/host/cb710-mmc.*
F: include/linux/cb710.h
EPSON 1355 FRAMEBUFFER DRIVER
- P: Christopher Hoover
- P: Christopher Hoover
S: Maintained
F: drivers/video/epson1355fb.c
EPSON S1D13XXX FRAMEBUFFER DRIVER
- P: Kristoffer Ericson
S: Maintained
+ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git
F: drivers/video/s1d13xxxfb.c
F: include/video/s1d13xxxfb.h
ETHEREXPRESS-16 NETWORK DRIVER
- P: Philip Blundell
S: Maintained
F: drivers/net/eexpress.*
ETHERNET BRIDGE
- P: Stephen Hemminger
W: http://www.linux-foundation.org/en/Net:Bridge
S: Maintained
F: net/bridge/
ETHERTEAM 16I DRIVER
- P: Mika Kuoppala
S: Maintained
F: drivers/net/eth16i.c
F: include/linux/ext2*
EXT3 FILE SYSTEM
- P: Stephen Tweedie
- P: Andrew Morton
- P: Andreas Dilger
S: Maintained
F: Documentation/filesystems/ext3.txt
F: include/linux/ext3*
EXT4 FILE SYSTEM
- P: Theodore Ts'o
- P: Andreas Dilger
W: http://ext4.wiki.kernel.org
S: Maintained
F: fs/ext4/
F71805F HARDWARE MONITORING DRIVER
- P: Jean Delvare
S: Maintained
F: Documentation/hwmon/f71805f
F: drivers/hwmon/f71805f.c
FARSYNC SYNCHRONOUS DRIVER
- P: Kevin Curtis
W: http://www.farsite.co.uk/
S: Supported
F: drivers/net/wan/farsync.*
FAULT INJECTION SUPPORT
- P: Akinobu Mita
S: Supported
F: Documentation/fault-injection/
F: lib/fault-inject.c
FILE LOCKING (flock() and fcntl()/lockf())
- P: Matthew Wilcox
S: Maintained
F: include/linux/fcntl.h
F: fs/locks.c
FILESYSTEMS (VFS and infrastructure)
- P: Alexander Viro
S: Maintained
F: fs/*
FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
- P: Riku Voipio
S: Maintained
F: drivers/hwmon/f75375s.c
F: include/linux/f75375s.h
FIREWIRE SUBSYSTEM
- P: Kristian Hoegsberg
- P: Stefan Richter
W: http://www.linux1394.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
F: include/linux/firmware.h
FPU EMULATOR
- P: Bill Metzenthen
W: http://floatingpoint.sourceforge.net/emulator/index.html
S: Maintained
F: arch/x86/math-emu/
FRAME RELAY DLCI/FRAD (Sangoma drivers too)
- P: Mike McLagan
S: Maintained
F: drivers/net/wan/dlci.c
F: drivers/net/wan/sdla.c
FRAMEBUFFER LAYER
++ + ++L: linux-fbdev@vger.kernel.org
W: http://linux-fbdev.sourceforge.net/
S: Orphan
F: Documentation/fb/
F: include/linux/fb.h
FREESCALE DMA DRIVER
- P: Li Yang
- P: Zhang Wei
S: Maintained
F: drivers/dma/fsldma.*
FREESCALE I2C CPM DRIVER
- P: Jochen Friedrich
S: Maintained
F: drivers/i2c/busses/i2c-cpm.c
FREESCALE IMX / MXC FRAMEBUFFER DRIVER
- P: Sascha Hauer
S: Maintained
F: arch/arm/plat-mxc/include/mach/imxfb.h
F: drivers/video/imxfb.c
FREESCALE SOC FS_ENET DRIVER
- P: Pantelis Antoniou
- P: Vitaly Bordug
S: Maintained
F: include/linux/fs_enet_pd.h
FREESCALE QUICC ENGINE LIBRARY
- P: Timur Tabi
S: Supported
F: arch/powerpc/sysdev/qe_lib/
F: arch/powerpc/include/asm/*qe.h
- - FREESCALE USB PERIPHERIAL DRIVERS
- FREESCALE HIGHSPEED USB DEVICE DRIVER
- P: Li Yang
+ + + FREESCALE USB PERIPHERAL DRIVERS
S: Maintained
- F: drivers/usb/gadget/fsl_usb2_udc.c
+ F: drivers/usb/gadget/fsl*
FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
- P: Li Yang
S: Maintained
F: drivers/net/ucc_geth*
FREESCALE QUICC ENGINE UCC UART DRIVER
- P: Timur Tabi
S: Supported
F: drivers/serial/ucc_uart.c
FREESCALE SOC SOUND DRIVERS
- P: Timur Tabi
S: Supported
F: sound/soc/fsl/mpc8610_hpcd.c
FREEVXFS FILESYSTEM
- P: Christoph Hellwig
W: ftp://ftp.openlinux.org/pub/people/hch/vxfs
S: Maintained
F: fs/freevxfs/
FREEZER
- P: Pavel Machek
- P: Rafael J. Wysocki
S: Supported
F: Documentation/power/freezing-of-tasks.txt
F: kernel/freezer.c
FS-CACHE: LOCAL CACHING FOR NETWORK FILESYSTEMS
- P: David Howells
S: Supported
F: Documentation/filesystems/caching/
F: fs/fscache/
F: include/linux/fscache*.h
- - TRACING
- - T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git tracing/core
- FTRACE
- P: Steven Rostedt
- - - S: Maintained
- - - F: Documentation/trace/ftrace.txt
- - - F: arch/*/*/*/ftrace.h
- - - F: arch/*/kernel/ftrace.c
- - F: include/*/ftrace.h include/trace/ include/linux/trace*.h
- F: include/*/ftrace.h
- - - F: kernel/trace/
- - -
FUJITSU FR-V (FRV) PORT
- P: David Howells
S: Maintained
F: arch/frv/
FUJITSU LAPTOP EXTRAS
- P: Jonathan Woithe
S: Maintained
F: drivers/platform/x86/fujitsu-laptop.c
FUSE: FILESYSTEM IN USERSPACE
- P: Miklos Szeredi
W: http://fuse.sourceforge.net/
S: Maintained
F: include/linux/fuse.h
FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit)
- P: Rik Faith
S: Odd Fixes (e.g., new signatures)
F: drivers/scsi/fdomain.*
GDT SCSI DISK ARRAY CONTROLLER DRIVER
- P: Achim Leubner
W: http://www.icp-vortex.com/
S: Supported
F: drivers/scsi/gdt*
GENERIC GPIO I2C DRIVER
- P: Haavard Skinnemoen
S: Supported
F: drivers/i2c/busses/i2c-gpio.c
F: include/linux/i2c-gpio.h
GENERIC HDLC (WAN) DRIVERS
- P: Krzysztof Halasa
W: http://www.kernel.org/pub/linux/utils/net/hdlc/
S: Maintained
F: drivers/net/wan/c101.c
F: drivers/net/wan/wanxl*
GENERIC INCLUDE/ASM HEADER FILES
- P: Arnd Bergmann
T: git git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
S: Maintained
F: include/asm-generic
+ GENERIC UIO DRIVER FOR PCI DEVICES
+ S: Supported
+ F: drivers/uio/uio_pci_generic.c
+
GFS2 FILE SYSTEM
- P: Steven Whitehouse
W: http://sources.redhat.com/cluster/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git
F: include/linux/gfs2_ondisk.h
GIGASET ISDN DRIVERS
- P: Hansjoerg Lipp
- P: Tilman Schmidt
W: http://gigaset307x.sourceforge.net/
S: Maintained
F: include/linux/gigaset_dev.h
HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
- P: Frank Seidel
W: http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
S: Maintained
F: drivers/char/hvc_*
GSPCA FINEPIX SUBDRIVER
- P: Frank Zago
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: drivers/media/video/gspca/finepix.c
++ + ++GSPCA GL860 SUBDRIVER
++ + ++T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
++ + ++S: Maintained
++ + ++F: drivers/media/video/gspca/gl860/
++ + ++
GSPCA M5602 SUBDRIVER
- P: Erik Andren
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: drivers/media/video/gspca/m5602/
GSPCA PAC207 SONIXB SUBDRIVER
- P: Hans de Goede
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: drivers/media/video/gspca/pac207.c
+ GSPCA SN9C20X SUBDRIVER
+ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ S: Maintained
+ F: drivers/media/video/gspca/sn9c20x.c
+
GSPCA T613 SUBDRIVER
- P: Leandro Costantino
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: drivers/media/video/gspca/t613.c
GSPCA USB WEBCAM DRIVER
- P: Jean-Francois Moine
W: http://moinejf.free.fr
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/hwmon/
HARDWARE RANDOM NUMBER GENERATOR CORE
- S: Orphan
+ S: Odd fixes
F: Documentation/hw_random.txt
F: drivers/char/hw_random/
F: include/linux/hw_random.h
HARMONY SOUND DRIVER
- P: Kyle McMartin
S: Maintained
F: sound/parisc/harmony.*
HAYES ESP SERIAL DRIVER
- P: Andrew J. Robinson
W: http://www.nyx.net/~arobinso
S: Maintained
F: Documentation/serial/hayes-esp.txt
F: drivers/char/esp.c
HEWLETT-PACKARD SMART2 RAID DRIVER
- P: Chirag Kantharia
S: Maintained
F: Documentation/blockdev/cpqarray.txt
F: drivers/block/cpqarray.*
HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
- P: Mike Miller
S: Supported
F: Documentation/blockdev/cciss.txt
F: include/linux/cciss_ioctl.h
HFS FILESYSTEM
- P: Roman Zippel
S: Maintained
F: Documentation/filesystems/hfs.txt
F: fs/hfs/
HGA FRAMEBUFFER DRIVER
- P: Ferenc Bakonyi
W: http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml
S: Maintained
F: drivers/video/hgafb.c
HIBERNATION (aka Software Suspend, aka swsusp)
- P: Pavel Machek
- P: Rafael J. Wysocki
S: Supported
F: arch/x86/power/
F: arch/*/include/asm/suspend*.h
HID CORE LAYER
- P: Jiri Kosina
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
S: Maintained
F: include/linux/hid*
HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
- P: Thomas Gleixner
S: Maintained
F: Documentation/timers/
F: kernel/hrtimer.c
F: include/linux/hrtimer.h
HIGH-SPEED SCC DRIVER FOR AX.25
- P: Klaus Kudielka
W: http://www.nt.tuwien.ac.at/~kkudielk/Linux/
S: Maintained
F: drivers/net/hamradio/scc.c
HIGHPOINT ROCKETRAID 3xxx RAID DRIVER
- P: HighPoint Linux Team
W: http://www.highpoint-tech.com
S: Supported
F: Documentation/scsi/hptiop.txt
F: drivers/scsi/hptiop.c
HIPPI
- P: Jes Sorensen
S: Maintained
F: include/linux/hippidevice.h
F: net/802/hippi.c
HOST AP DRIVER
- P: Jouni Malinen
W: http://hostap.epitest.fi/
F: drivers/net/wireless/hostap/
HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
- P: Carlos Corbacho
S: Odd Fixes
F: drivers/platform/x86/tc1100-wmi.c
HP100: Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
- P: Jaroslav Kysela
S: Maintained
F: drivers/net/hp100.*
HPET: High Precision Event Timers driver
- P: Clemens Ladisch
S: Maintained
F: Documentation/timers/hpet.txt
F: drivers/char/hpet.c
F: include/linux/hpet.h
HPET: i386
- P: Venkatesh Pallipadi (Venki)
S: Maintained
F: arch/x86/kernel/hpet.c
F: arch/x86/include/asm/hpet.h
HPET: x86_64
- P: Vojtech Pavlik
S: Maintained
HPET: ACPI
- P: Bob Picco
S: Maintained
F: drivers/char/hpet.c
HPFS FILESYSTEM
- P: Mikulas Patocka
W: http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi
S: Maintained
F: fs/hpfs/
HSO 3G MODEM DRIVER
- P: Jan Dumon
W: http://www.pharscape.org
S: Maintained
F: drivers/net/usb/hso.c
HTCPEN TOUCHSCREEN DRIVER
- P: Pau Oliva Fora
S: Maintained
F: drivers/input/touchscreen/htcpen.c
HUGETLB FILESYSTEM
- P: William Irwin
S: Maintained
F: fs/hugetlbfs/
I2C/SMBUS STUB DRIVER
- P: Mark M. Hoffman
S: Maintained
F: drivers/i2c/busses/i2c-stub.c
I2C SUBSYSTEM
- P: Jean Delvare (PC drivers, core)
- P: Ben Dooks (embedded platforms)
W: http://i2c.wiki.kernel.org/
T: quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/
F: Documentation/i2c/
F: drivers/i2c/
F: include/linux/i2c.h
-- - --F: include/linux/i2c-dev.h
-- - --F: include/linux/i2c-id.h
++ + ++F: include/linux/i2c-*.h
I2C-TINY-USB DRIVER
- P: Till Harbaum
W: http://www.harbaum.org/till/i2c_tiny_usb
S: Maintained
F: drivers/i2c/busses/i2c-tiny-usb.c
i386 BOOT CODE
- P: H. Peter Anvin
S: Maintained
F: arch/x86/boot/
i386 SETUP CODE / CPU ERRATA WORKAROUNDS
- P: H. Peter Anvin
T: git git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup.git
S: Maintained
IA64 (Itanium) PLATFORM
- P: Tony Luck
W: http://www.ia64-linux.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git
F: arch/ia64/
IBM MCA SCSI SUBSYSTEM DRIVER
- P: Michael Lang
W: http://www.uni-mainz.de/~langm000/linux.html
S: Maintained
F: drivers/scsi/ibmmca.c
IBM Power Linux RAID adapter
- P: Brian King
S: Supported
F: drivers/scsi/ipr.*
IBM ServeRAID RAID DRIVER
P: Jack Hammer
- P: Dave Jeffery
W: http://www.developer.ibm.com/welcome/netfinity/serveraid.html
S: Supported
F: drivers/scsi/ips.*
IDE SUBSYSTEM
- P: David S. Miller
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6.git
S: Maintained
F: include/linux/ide.h
IDE/ATAPI DRIVERS
- P: Borislav Petkov
S: Maintained
F: Documentation/cdrom/ide-cd
F: drivers/ide/ide-cd*
IDLE-I7300
- P: Andy Henroid
S: Supported
F: drivers/idle/i7300_idle.c
IEEE 1394 SUBSYSTEM
- P: Ben Collins
- P: Stefan Richter
W: http://www.linux1394.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
S: Maintained
+ F: Documentation/debugging-via-ohci1394.txt
F: drivers/ieee1394/
IEEE 1394 RAW I/O DRIVER
- P: Dan Dennedy
- P: Stefan Richter
S: Maintained
F: drivers/ieee1394/raw1394*
IEEE 802.15.4 SUBSYSTEM
- P: Dmitry Eremin-Solenikov
- P: Sergey Lapin
W: http://apps.sourceforge.net/trac/linux-zigbee
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
S: Maintained
F: drivers/ieee802154/
INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
- P: Mimi Zohar
S: Supported
F: security/integrity/ima/
IMS TWINTURBO FRAMEBUFFER DRIVER
++ + ++L: linux-fbdev@vger.kernel.org
S: Orphan
F: drivers/video/imsttfb.c
INFINIBAND SUBSYSTEM
- P: Roland Dreier
- P: Sean Hefty
- P: Hal Rosenstock
W: http://www.openib.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git
S: Supported
F: include/linux/if_infiniband.h
INOTIFY
- P: John McCutchan
- P: Robert Love
- P: Eric Paris
S: Maintained
F: Documentation/filesystems/inotify.txt
F: fs/notify/inotify/
F: include/linux/inotify.h
INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS
- P: Dmitry Torokhov
T: git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
S: Maintained
F: drivers/input/
INTEL FRAMEBUFFER DRIVER (excluding 810 and 815)
- P: Sylvain Meyer
S: Maintained
F: Documentation/fb/intelfb.txt
F: drivers/video/intelfb/
INTEL 810/815 FRAMEBUFFER DRIVER
- P: Antonino Daplas
S: Maintained
F: drivers/video/i810/
INTEL MENLOW THERMAL DRIVER
- P: Sujith Thomas
W: http://www.lesswatts.org/projects/acpi/
S: Supported
F: drivers/platform/x86/intel_menlow.c
INTEL IA32 MICROCODE UPDATE SUPPORT
- P: Tigran Aivazian
S: Maintained
F: arch/x86/kernel/microcode_core.c
F: arch/x86/kernel/microcode_intel.c
INTEL I/OAT DMA DRIVER
- P: Maciej Sosnowski
S: Supported
F: drivers/dma/ioat*
INTEL IOMMU (VT-d)
- P: David Woodhouse
T: git git://git.infradead.org/iommu-2.6.git
S: Supported
F: include/linux/intel-iommu.h
INTEL IOP-ADMA DMA DRIVER
- P: Dan Williams
- S: Supported
+ S: Maintained
F: drivers/dma/iop-adma.c
INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
- P: Krzysztof Halasa
S: Maintained
F: arch/arm/mach-ixp4xx/include/mach/qmgr.h
F: arch/arm/mach-ixp4xx/include/mach/npe.h
F: drivers/net/wan/ixp4xx_hss.c
INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
- P: Deepak Saxena
S: Maintained
F: drivers/char/hw_random/ixp4xx-rng.c
INTEL IXP2000 ETHERNET DRIVER
- P: Lennert Buytenhek
S: Maintained
F: drivers/net/ixp2000/
INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/ixgb/ixgbe)
- P: Jeff Kirsher
- P: Jesse Brandeburg
- P: Bruce Allan
- P: PJ Waskiewicz
- P: John Ronciak
W: http://e1000.sourceforge.net/
S: Supported
F: drivers/net/ixgbe/
INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
- P: Zhu Yi
- P: James Ketrenos
- P: Reinette Chatre
- W: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
W: http://ipw2100.sourceforge.net
- S: Supported
+ S: Odd Fixes
F: Documentation/networking/README.ipw2100
F: drivers/net/wireless/ipw2x00/ipw2100.*
INTEL PRO/WIRELESS 2915ABG NETWORK CONNECTION SUPPORT
- P: Zhu Yi
- P: James Ketrenos
- P: Reinette Chatre
- W: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
W: http://ipw2200.sourceforge.net
- S: Supported
+ S: Odd Fixes
F: Documentation/networking/README.ipw2200
F: drivers/net/wireless/ipw2x00/ipw2200.*
INTEL WIRELESS WIMAX CONNECTION 2400
- P: Inaky Perez-Gonzalez
S: Supported
F: include/linux/wimax/i2400m.h
INTEL WIRELESS WIFI LINK (iwlwifi)
- P: Zhu Yi
- P: Reinette Chatre
W: http://intellinuxwireless.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git
S: Supported
F: drivers/net/wireless/iwlwifi/
IOC3 ETHERNET DRIVER
- P: Ralf Baechle
S: Maintained
F: drivers/net/ioc3-eth.c
IOC3 SERIAL DRIVER
- P: Pat Gefre
S: Maintained
F: drivers/serial/ioc3_serial.c
IP MASQUERADING
- P: Juanjo Ciarlante
S: Maintained
F: net/ipv4/netfilter/ipt_MASQUERADE.c
IP1000A 10/100/1000 GIGABIT ETHERNET DRIVER
- P: Francois Romieu
- P: Sorbica Shieh
- P: Jesse Huang
S: Maintained
F: drivers/net/ipg.c
IPATH DRIVER
- P: Ralph Campbell
T: git git://git.qlogic.com/ipath-linux-2.6
S: Supported
F: drivers/infiniband/hw/ipath/
IPMI SUBSYSTEM
- P: Corey Minyard
W: http://openipmi.sourceforge.net/
S: Supported
F: Documentation/IPMI.txt
F: include/linux/ipmi*
IPS SCSI RAID DRIVER
- P: Adaptec OEM Raid Solutions
W: http://www.adaptec.com/
S: Maintained
F: drivers/scsi/ips*
IPVS
- P: Wensong Zhang
- P: Simon Horman
- P: Julian Anastasov
S: Maintained
F: Documentation/networking/ipvs-sysctl.txt
+ F: include/net/ip_vs.h
+ F: include/linux/ip_vs.h
F: net/netfilter/ipvs/
IPWIRELESS DRIVER
- P: Jiri Kosina
- P: David Sterba
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/ipwireless_cs.git
F: drivers/char/pcmcia/ipwireless/
IPX NETWORK LAYER
- P: Arnaldo Carvalho de Melo
S: Maintained
F: include/linux/ipx.h
F: net/ipx/
IRDA SUBSYSTEM
- P: Samuel Ortiz
W: http://irda.sourceforge.net/
S: Maintained
F: net/irda/
ISAPNP
- P: Jaroslav Kysela
S: Maintained
F: Documentation/isapnp.txt
F: drivers/pnp/isapnp/
F: include/linux/isapnp.h
ISCSI
- P: Mike Christie
W: www.open-iscsi.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mnc/linux-2.6-iscsi.git
F: include/scsi/*iscsi*
ISDN SUBSYSTEM
- P: Karsten Keil
W: http://www.isdn4linux.de
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git
F: include/linux/isdn/
ISDN SUBSYSTEM (Eicon active card driver)
- P: Armin Schindler
W: http://www.melware.de
S: Maintained
F: drivers/isdn/hardware/eicon/
IVTV VIDEO4LINUX DRIVER
- P: Hans Verkuil
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
W: http://www.ivtvdriver.org
F: include/linux/ivtv*
JFS FILESYSTEM
- P: Dave Kleikamp
W: http://jfs.sourceforge.net/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git
- S: Supported
+ S: Maintained
F: Documentation/filesystems/jfs.txt
F: fs/jfs/
JME NETWORK DRIVER
- P: Guo-Fu Tseng
S: Maintained
F: drivers/net/jme.*
JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
- P: David Woodhouse
W: http://www.linux-mtd.infradead.org/doc/jffs2.html
S: Maintained
F: include/linux/jffs2.h
JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
- P: Stephen Tweedie
- P: Andrew Morton
S: Maintained
F: fs/jbd*/
F: include/linux/jbd*.h
K8TEMP HARDWARE MONITORING DRIVER
- P: Rudolf Marek
S: Maintained
F: Documentation/hwmon/k8temp
F: drivers/hwmon/k8temp.c
KCONFIG
- P: Roman Zippel
S: Maintained
F: Documentation/kbuild/kconfig-language.txt
F: scripts/kconfig/
KDUMP
- P: Vivek Goyal
- P: Haren Myneni
W: http://lse.sourceforge.net/kdump/
S: Maintained
F: Documentation/kdump/
KERNEL AUTOMOUNTER (AUTOFS)
- P: H. Peter Anvin
S: Odd Fixes
F: fs/autofs/
KERNEL AUTOMOUNTER v4 (AUTOFS4)
- P: Ian Kent
S: Maintained
F: fs/autofs4/
KERNEL BUILD
- P: Sam Ravnborg
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git
F: scripts/Makefile.*
KERNEL JANITORS
- P: Several
- - - W: http://www.kerneljanitors.org/
- - - S: Maintained
+ + + W: http://janitor.kernelnewbies.org/
+ + + S: Odd Fixes
KERNEL NFSD, SUNRPC, AND LOCKD SERVERS
- P: J. Bruce Fields
- P: Neil Brown
W: http://nfs.sourceforge.net/
S: Supported
F: include/linux/sunrpc/
KERNEL VIRTUAL MACHINE (KVM)
- P: Avi Kivity
W: http://kvm.qumranet.com
S: Supported
F: virt/kvm/
KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
- P: Joerg Roedel
W: http://kvm.qumranet.com
S: Supported
F: arch/x86/kvm/svm.c
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
- P: Hollis Blanchard
W: http://kvm.qumranet.com
S: Supported
F: arch/powerpc/kvm/
KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64)
- P: Xiantao Zhang
W: http://kvm.qumranet.com
S: Supported
F: arch/ia64/kvm/
KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
- P: Carsten Otte
- P: Christian Borntraeger
W: http://www.ibm.com/developerworks/linux/linux390/
F: arch/s390/kvm/
KEXEC
- P: Eric Biederman
W: http://ftp.kernel.org/pub/linux/kernel/people/horms/kexec-tools/
S: Maintained
F: kernel/kexec.c
KGDB
- P: Jason Wessel
S: Maintained
F: Documentation/DocBook/kgdb.tmpl
F: kernel/kgdb.c
KMEMCHECK
- P: Vegard Nossum
- P Pekka Enberg
- - P Pekka Enberg
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
- P: Catalin Marinas
S: Maintained
F: Documentation/kmemleak.txt
F: include/linux/kmemleak.h
F: mm/kmemleak-test.c
KMEMTRACE
- P: Eduard - Gabriel Munteanu
S: Maintained
F: Documentation/trace/kmemtrace.txt
F: include/linux/kmemtrace.h
F: kernel/trace/kmemtrace.c
KPROBES
- P: Ananth N Mavinakayanahalli
- P: Anil S Keshavamurthy
- P: David S. Miller
- P: Masami Hiramatsu
S: Maintained
F: Documentation/kprobes.txt
F: include/linux/kprobes.h
F: kernel/kprobes.c
KS0108 LCD CONTROLLER DRIVER
- P: Miguel Ojeda Sandonis
W: http://miguelojeda.es/auxdisplay.htm
W: http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
S: Maintained
F: net/lapb/
LASI 53c700 driver for PARISC
- P: James E.J. Bottomley
S: Maintained
F: Documentation/scsi/53c700.txt
F: drivers/scsi/53c700*
LED SUBSYSTEM
- P: Richard Purdie
S: Maintained
F: drivers/leds/
F: include/linux/leds.h
LEGO USB Tower driver
- P: Juergen Stuber
W: http://legousb.sourceforge.net/
S: Maintained
F: drivers/usb/misc/legousbtower.c
LGUEST
- P: Rusty Russell
W: http://lguest.ozlabs.org/
S: Maintained
F: arch/x86/include/asm/lguest*.h
LINUX FOR IBM pSERIES (RS/6000)
- P: Paul Mackerras
W: http://www.ibm.com/linux/ltc/projects/ppc
S: Supported
LINUX FOR POWERPC (32-BIT AND 64-BIT)
- P: Benjamin Herrenschmidt
- P: Paul Mackerras
W: http://www.penguinppc.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git
S: Supported
LINUX FOR POWER MACINTOSH
- P: Benjamin Herrenschmidt
W: http://www.penguinppc.org/
S: Maintained
LINUX FOR POWERPC EMBEDDED MPC5XXX
- P: Grant Likely
T: git git://git.secretlab.ca/git/linux-2.6.git
S: Maintained
LINUX FOR POWERPC EMBEDDED PPC4XX
- P: Josh Boyer
- P: Matt Porter
W: http://www.penguinppc.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git
S: Maintained
LINUX FOR POWERPC EMBEDDED XILINX VIRTEX
- P: Grant Likely
W: http://wiki.secretlab.ca/index.php/Linux_on_Xilinx_Virtex
T: git git://git.secretlab.ca/git/linux-2.6.git
S: Maintained
LINUX FOR POWERPC EMBEDDED PPC8XX
- P: Vitaly Bordug
- P: Marcelo Tosatti
W: http://www.penguinppc.org/
S: Maintained
LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX
- P: Kumar Gala
W: http://www.penguinppc.org/
S: Maintained
LINUX FOR POWERPC PA SEMI PWRFICIENT
- P: Olof Johansson
W: http://www.pasemi.com/
S: Supported
LINUX SECURITY MODULE (LSM) FRAMEWORK
- P: Chris Wright
T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6.git
S: Supported
LLC (802.2)
- P: Arnaldo Carvalho de Melo
S: Maintained
F: include/linux/llc.h
F: include/net/llc*
F: net/llc/
LIS3LV02D ACCELEROMETER DRIVER
- P: Eric Piel
S: Maintained
F: Documentation/hwmon/lis3lv02d
F: drivers/hwmon/lis3lv02d.*
LM83 HARDWARE MONITOR DRIVER
- P: Jean Delvare
S: Maintained
F: Documentation/hwmon/lm83
F: drivers/hwmon/lm83.c
LM90 HARDWARE MONITOR DRIVER
- P: Jean Delvare
S: Maintained
F: Documentation/hwmon/lm90
F: drivers/hwmon/lm90.c
LOCKDEP AND LOCKSTAT
- P: Peter Zijlstra
- P: Ingo Molnar
T: git git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep.git
S: Maintained
F: Documentation/lockdep*.txt
F: kernel/lockdep*
LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks)
- P: Richard Russon (FlatCap)
W: http://www.linux-ntfs.org/content/view/19/37/
S: Maintained
F: fs/partitions/ldm.*
LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
- P: Eric Moore
F: drivers/message/fusion/
LSILOGIC/SYMBIOS/NCR 53C8XX and 53C1010 PCI-SCSI drivers
- P: Matthew Wilcox
S: Maintained
F: drivers/scsi/sym53c8xx_2/
LTP (Linux Test Project)
- P: Subrata Modak
- P: Mike Frysinger
W: http://ltp.sourceforge.net/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/ltp.git
S: Maintained
M32R ARCHITECTURE
- P: Hirokazu Takata
W: http://www.linux-m32r.org/
F: arch/m32r/
M68K ARCHITECTURE
- P: Geert Uytterhoeven
- P: Roman Zippel
W: http://www.linux-m68k.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
F: drivers/zorro/
M68K ON APPLE MACINTOSH
- P: Joshua Thompson
W: http://www.mac.linux-m68k.org/
S: Maintained
F: arch/m68k/mac/
M68K ON HP9000/300
- P: Philip Blundell
W: http://www.tazenda.demon.co.uk/phil/linux-hp
S: Maintained
F: arch/m68k/hp300/
MAC80211
- P: Johannes Berg
W: http://linuxwireless.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
F: net/mac80211/
MAC80211 PID RATE CONTROL
- P: Stefano Brivio
- P: Mattias Nissler
W: http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/PID
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
F: net/mac80211/rc80211_pid*
MACVLAN DRIVER
- P: Patrick McHardy
S: Maintained
F: drivers/net/macvlan.c
F: include/linux/if_macvlan.h
MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7
- P: Michael Kerrisk
W: http://www.kernel.org/doc/man-pages
S: Maintained
MARVELL LIBERTAS WIRELESS DRIVER
- P: Dan Williams
S: Maintained
F: drivers/net/wireless/libertas/
MARVELL MV643XX ETHERNET DRIVER
- P: Lennert Buytenhek
S: Supported
F: drivers/net/mv643xx_eth.*
F: include/linux/mv643xx.h
+ MARVELL MWL8K WIRELESS DRIVER
+ S: Supported
+ F: drivers/net/wireless/mwl8k.c
+
MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
- P: Nicolas Pitre
S: Maintained
MARVELL YUKON / SYSKONNECT DRIVER
- P: Mirko Lindner
- P: Ralph Roesler
W: http://www.syskonnect.com
S: Supported
MATROX FRAMEBUFFER DRIVER
- P: Petr Vandrovec
S: Maintained
F: drivers/video/matrox/matroxfb_*
F: include/linux/matroxfb.h
MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
- P: Hans J. Koch
S: Maintained
F: Documentation/hwmon/max6650
F: drivers/hwmon/max6650.c
MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
- P: Mauro Carvalho Chehab
P: LinuxTV.org Project
W: http://linuxtv.org
F: include/linux/videodev*.h
MEGARAID SCSI DRIVERS
- P: Neela Syam Kolli
W: http://megaraid.lsilogic.com
S: Maintained
F: mm/
MEMORY RESOURCE CONTROLLER
- P: Balbir Singh
- P: Pavel Emelyanov
- P: KAMEZAWA Hiroyuki
S: Maintained
F: mm/memcontrol.c
MEMORY TECHNOLOGY DEVICES (MTD)
- P: David Woodhouse
W: http://www.linux-mtd.infradead.org/
T: git git://git.infradead.org/mtd-2.6.git
F: include/mtd/
MICROBLAZE ARCHITECTURE
- P: Michal Simek
W: http://www.monstr.eu/fdt/
T: git git://git.monstr.eu/linux-2.6-microblaze.git
F: arch/microblaze/
MICROTEK X6 SCANNER
- P: Oliver Neukum
S: Maintained
F: drivers/usb/image/microtek.*
MIPS
- P: Ralf Baechle
W: http://www.linux-mips.org/
T: git git://git.linux-mips.org/pub/scm/linux.git
F: arch/mips/
MISCELLANEOUS MCA-SUPPORT
- P: James Bottomley
S: Maintained
F: Documentation/ia64/mca.txt
F: Documentation/mca.txt
F: include/linux/mca*
MODULE SUPPORT
- P: Rusty Russell
S: Maintained
F: include/linux/module.h
F: kernel/module.c
MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
- P: Stelian Pop
W: http://popies.net/meye/
S: Maintained
F: Documentation/video4linux/meye.txt
F: include/linux/meye.h
MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER
- P: Pavel Pisa
S: Maintained
F: drivers/mmc/host/imxmmc.*
MOUSE AND MISC DEVICES [GENERAL]
- P: Alessandro Rubini
S: Maintained
F: drivers/input/mouse/
F: include/linux/gpio_mouse.h
MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
- P: Jiri Slaby
S: Maintained
F: Documentation/serial/moxa-smartio
F: drivers/char/mxser.*
MSI LAPTOP SUPPORT
- P: Lennart Poettering
W: https://tango.0pointer.de/mailman/listinfo/s270-linux
W: http://0pointer.de/lennart/tchibo.html
S: Maintained
F: drivers/platform/x86/msi-laptop.c
MULTIFUNCTION DEVICES (MFD)
- P: Samuel Ortiz
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6.git
S: Supported
F: drivers/mfd/
MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
- P: Pierre Ossman
- S: Maintained
+ S: Orphan
F: drivers/mmc/
F: include/linux/mmc/
MULTIMEDIA CARD (MMC) ETC. OVER SPI
- P: David Brownell
S: Odd Fixes
F: drivers/mmc/host/mmc_spi.c
F: include/linux/spi/mmc_spi.h
MULTISOUND SOUND DRIVER
- P: Andrew Veliath
S: Maintained
F: Documentation/sound/oss/MultiSound
F: sound/oss/msnd*
MULTITECH MULTIPORT CARD (ISICOM)
- P: Jiri Slaby
S: Maintained
F: drivers/char/isicom.c
F: include/linux/isicom.h
MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
- P: Felipe Balbi
T: git git://gitorious.org/musb/mainline.git
S: Maintained
F: drivers/usb/musb/
MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
- P: Andrew Gallatin
- P: Brice Goglin
W: http://www.myri.com/scs/download-Myri10GE.html
S: Supported
F: drivers/net/myri10ge/
NATSEMI ETHERNET DRIVER (DP8381x)
- P: Tim Hockin
S: Maintained
F: drivers/net/natsemi.c
NCP FILESYSTEM
- P: Petr Vandrovec
S: Maintained
F: fs/ncpfs/
NCR DUAL 700 SCSI DRIVER (MICROCHANNEL)
- P: James E.J. Bottomley
S: Maintained
F: drivers/scsi/NCR_D700.*
NETEFFECT IWARP RNIC DRIVER (IW_NES)
- P: Faisal Latif
- P: Chien Tung
W: http://www.neteffect.com
S: Supported
F: drivers/infiniband/hw/nes/
NETEM NETWORK EMULATOR
- P: Stephen Hemminger
S: Maintained
F: net/sched/sch_netem.c
NETERION (S2IO) 10GbE DRIVER (xframe/vxge)
- P: Ramkrishna Vepa
- P: Rastapur Santosh
- P: Sivakumar Subramani
- P: Sreenivasa Honnur
- P: Anil Murthy
W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
P: James Morris
P: Harald Welte
P: Jozsef Kadlecsik
- P: Patrick McHardy
W: http://www.netfilter.org/
W: http://www.iptables.org/
- - T: git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git
+ + + T: git git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git
S: Supported
F: include/linux/netfilter*
F: include/linux/netfilter/
F: net/netfilter/
NETLABEL
- P: Paul Moore
W: http://netlabel.sf.net
S: Supported
F: net/netlabel/
NETROM NETWORK LAYER
- P: Ralf Baechle
W: http://www.linux-ax25.org/
S: Maintained
F: net/netrom/
NETWORK BLOCK DEVICE (NBD)
- P: Paul Clements
S: Maintained
F: Documentation/blockdev/nbd.txt
F: drivers/block/nbd.c
F: include/linux/nbd.h
+ NETWORK DROP MONITOR
+ S: Maintained
+ W: https://fedorahosted.org/dropwatch/
+ F: net/core/drop_monitor.c
+
NETWORKING [GENERAL]
- P: David S. Miller
W: http://www.linuxfoundation.org/en/Net
+ W: http://patchwork.ozlabs.org/project/netdev/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
+ + + T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git
S: Maintained
F: net/
F: include/net/
+ F: include/linux/in.h
+ F: include/linux/net.h
+ F: include/linux/netdevice.h
NETWORKING [IPv4/IPv6]
- P: David S. Miller
- P: Alexey Kuznetsov
- P: Pekka Savola (ipv6)
- P: James Morris
- P: Hideaki YOSHIFUJI
- P: Patrick McHardy
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
S: Maintained
F: include/net/ip*
NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK)
- P: Paul Moore
S: Maintained
NETWORKING [WIRELESS]
- P: John W. Linville
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
S: Maintained
+ F: net/mac80211/
+ F: net/rfkill/
F: net/wireless/
F: include/net/ieee80211*
F: include/linux/wireless.h
+ F: drivers/net/wireless/
NETWORKING DRIVERS
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
S: Odd Fixes
F: drivers/net/
+ F: include/linux/if_*
+ F: include/linux/*device.h
NETXEN (1/10) GbE SUPPORT
- P: Dhananjay Phadke
W: http://www.netxen.com
S: Supported
F: drivers/net/netxen/
NFS, SUNRPC, AND LOCKD CLIENTS
- P: Trond Myklebust
W: http://client.linux-nfs.org
T: git git://git.linux-nfs.org/pub/linux/nfs-2.6.git
F: include/linux/sunrpc/
NI5010 NETWORK DRIVER
- P: Jan-Pascal van Best
- P: Andreas Mohr
S: Maintained
F: drivers/net/ni5010.*
NILFS2 FILESYSTEM
- P: KONISHI Ryusuke
W: http://www.nilfs.org/en/
S: Supported
F: include/linux/nilfs2_fs.h
NINJA SCSI-3 / NINJA SCSI-32Bi (16bit/CardBus) PCMCIA SCSI HOST ADAPTER DRIVER
- P: YOKOTA Hiroshi
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
- P: GOTO Masanori
- P: YOKOTA Hiroshi
W: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
S: Maintained
F: Documentation/scsi/NinjaSCSI.txt
F: drivers/scsi/nsp32*
NTFS FILESYSTEM
- P: Anton Altaparmakov
W: http://www.linux-ntfs.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git
F: fs/ntfs/
NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
- P: Antonino Daplas
S: Maintained
F: drivers/video/riva/
F: drivers/video/nvidia/
OMAP SUPPORT
W: http://www.muru.com/linux/omap/
W: http://linux.omap.com/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
S: Maintained
- F: arch/arm/*omap*
+ F: arch/arm/*omap*/
OMAP CLOCK FRAMEWORK SUPPORT
- P: Paul Walmsley
S: Maintained
F: arch/arm/*omap*/*clock*
OMAP POWER MANAGEMENT SUPPORT
- P: Kevin Hilman
S: Maintained
F: arch/arm/*omap*/*pm*
OMAP AUDIO SUPPORT
- P: Jarkko Nikula
S: Maintained
F: sound/soc/omap/
OMAP FRAMEBUFFER SUPPORT
- P: Imre Deak
S: Maintained
F: drivers/video/omap/
OMAP MMC SUPPORT
- P: Jarkko Lavinen
S: Maintained
- F: drivers/mmc/host/*omap*
+ F: drivers/mmc/host/omap.c
+
+ OMAP HS MMC SUPPORT
+ S: Maintained
+ F: drivers/mmc/host/omap_hsmmc.c
OMAP RANDOM NUMBER GENERATOR SUPPORT
- P: Deepak Saxena
S: Maintained
F: drivers/char/hw_random/omap-rng.c
OMAP USB SUPPORT
- P: Felipe Balbi
- P: David Brownell
S: Maintained
OMFS FILESYSTEM
- P: Bob Copeland
S: Maintained
F: Documentation/filesystems/omfs.txt
F: fs/omfs/
OMNIKEY CARDMAN 4000 DRIVER
- P: Harald Welte
S: Maintained
F: drivers/char/pcmcia/cm4000_cs.c
F: include/linux/cm4000_cs.h
OMNIKEY CARDMAN 4040 DRIVER
- P: Harald Welte
S: Maintained
F: drivers/char/pcmcia/cm4040_cs.*
OMNIVISION OV7670 SENSOR DRIVER
- P: Jonathan Corbet
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: drivers/media/video/ov7670.c
ONENAND FLASH DRIVER
- P: Kyungmin Park
S: Maintained
F: drivers/mtd/onenand/
F: include/linux/mtd/onenand*.h
ONSTREAM SCSI TAPE DRIVER
- P: Willem Riede
S: Maintained
F: drivers/scsi/st*
OPENCORES I2C BUS DRIVER
- P: Peter Korsgaard
S: Maintained
F: Documentation/i2c/busses/i2c-ocores
F: drivers/i2c/busses/i2c-ocores.c
+ + + OPEN FIRMWARE AND FLATTENED DEVICE TREE
+ + + W: http://fdt.secretlab.ca
+ + + S: Maintained
+ + + F: drivers/of
+ + + F: include/linux/of*.h
+ + + K: of_get_property
+ + +
OPROFILE
- P: Robert Richter
S: Maintained
F: arch/*/oprofile/
F: include/linux/oprofile.h
ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
- P: Mark Fasheh
- P: Joel Becker
W: http://oss.oracle.com/projects/ocfs2/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2.git
F: fs/ocfs2/
ORINOCO DRIVER
- P: Pavel Roskin
- P: David Gibson
S: Maintained
F: drivers/net/wireless/orinoco/
- OSD LIBRARY
- P: Boaz Harrosh
- P: Benny Halevy
+ OSD LIBRARY and FILESYSTEM
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/
P54 WIRELESS DRIVER
- P: Michael Wu
W: http://prism54.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
F: drivers/net/wireless/p54/
PA SEMI ETHERNET DRIVER
- P: Olof Johansson
S: Maintained
F: drivers/net/pasemi_mac.*
PA SEMI SMBUS DRIVER
- P: Olof Johansson
S: Maintained
F: drivers/i2c/busses/i2c-pasemi.c
PANASONIC LAPTOP ACPI EXTRAS DRIVER
- P: Harald Welte
S: Maintained
F: drivers/platform/x86/panasonic-laptop.c
PANASONIC MN10300/AM33 PORT
- P: David Howells
- P: Koichi Yasutake
W: ftp://ftp.redhat.com/pub/redhat/gnupro/AM33/
S: Maintained
F: include/linux/ppdev.h
PARAVIRT_OPS INTERFACE
- P: Jeremy Fitzhardinge
- P: Chris Wright
- P: Alok Kataria
- P: Rusty Russell
S: Supported
F: Documentation/ia64/paravirt_ops.txt
F: arch/*/include/asm/paravirt.h
PARIDE DRIVERS FOR PARALLEL PORT IDE DEVICES
- P: Tim Waugh
W: http://www.torque.net/linux-pp.html
S: Maintained
F: drivers/block/paride/
PARISC ARCHITECTURE
- P: Kyle McMartin
- P: Helge Deller
W: http://www.parisc-linux.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
F: drivers/parisc/
PC87360 HARDWARE MONITORING DRIVER
- P: Jim Cromie
S: Maintained
F: Documentation/hwmon/pc87360
F: drivers/hwmon/pc87360.c
PC8736x GPIO DRIVER
- P: Jim Cromie
S: Maintained
F: drivers/char/pc8736x_gpio.c
PCA9532 LED DRIVER
- P: Riku Voipio
S: Maintained
F: drivers/leds/leds-pca9532.c
F: include/linux/leds-pca9532.h
+ PCA9564/PCA9665 I2C BUS DRIVER
+ S: Maintained
+ F: drivers/i2c/algos/i2c-algo-pca.c
+ F: drivers/i2c/busses/i2c-pca-*
+ F: include/linux/i2c-algo-pca.h
+ F: include/linux/i2c-pca-platform.h
+
PCI ERROR RECOVERY
- P: Linas Vepstas
S: Supported
F: Documentation/PCI/pci-error-recovery.txt
F: Documentation/powerpc/eeh-pci-error-recovery.txt
PCI SUBSYSTEM
- P: Jesse Barnes
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git
S: Supported
F: drivers/pci/
F: include/linux/pci*
- PCIE HOTPLUG DRIVER
- P: Kristen Carlson Accardi
+ PCI HOTPLUG
S: Supported
- F: drivers/pci/pcie/
+ F: drivers/pci/hotplug
PCMCIA SUBSYSTEM
P: Linux PCMCIA Team
F: include/pcmcia/
PCNET32 NETWORK DRIVER
- P: Don Fry
S: Maintained
F: drivers/net/pcnet32.c
PER-TASK DELAY ACCOUNTING
- P: Balbir Singh
S: Maintained
F: include/linux/delayacct.h
F: kernel/delayacct.c
- PERFORMANCE COUNTER SUBSYSTEM
- P: Peter Zijlstra
- P: Paul Mackerras
- P: Ingo Molnar
+ PERFORMANCE EVENTS SUBSYSTEM
S: Supported
+ F: kernel/perf_event.c
+ F: include/linux/perf_event.h
+ F: arch/*/*/kernel/perf_event.c
+ F: arch/*/include/asm/perf_event.h
+ F: arch/*/lib/perf_event.c
+ F: arch/*/kernel/perf_callchain.c
+ F: tools/perf/
PERSONALITY HANDLING
- P: Christoph Hellwig
S: Maintained
F: include/linux/personality.h
PHRAM MTD DRIVER
- P: Joern Engel
S: Maintained
F: drivers/mtd/devices/phram.c
PKTCDVD DRIVER
- P: Peter Osterlund
S: Maintained
F: drivers/block/pktcdvd.c
F: include/linux/pktcdvd.h
+ PMC SIERRA MaxRAID DRIVER
+ W: http://www.pmc-sierra.com/
+ S: Supported
+ F: drivers/scsi/pmcraid.*
+
POSIX CLOCKS and TIMERS
- P: Thomas Gleixner
S: Supported
F: fs/timerfd.c
F: include/linux/timer*
F: kernel/*timer*
POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
- P: Anton Vorontsov
- P: David Woodhouse
T: git git://git.infradead.org/battery-2.6.git
S: Maintained
F: include/linux/power_supply.h
F: drivers/power/power_supply*
PNP SUPPORT
- P: Adam Belay
- P: Bjorn Helgaas
S: Maintained
F: drivers/pnp/
PNXxxxx I2C DRIVER
- P: Vitaly Wool
S: Maintained
F: drivers/i2c/busses/i2c-pnx.c
PPP PROTOCOL DRIVERS AND COMPRESSORS
- P: Paul Mackerras
S: Maintained
F: drivers/net/ppp_*
PPP OVER ATM (RFC 2364)
- P: Mitchell Blank Jr
S: Maintained
F: net/atm/pppoatm.c
F: include/linux/atmppp.h
PPP OVER ETHERNET
- P: Michal Ostrowski
S: Maintained
F: drivers/net/pppoe.c
F: drivers/net/pppox.c
PPP OVER L2TP
- P: James Chapman
S: Maintained
F: drivers/net/pppol2tp.c
F: include/linux/if_pppol2tp.h
PPS SUPPORT
- P: Rodolfo Giometti
W: http://wiki.enneenne.com/index.php/LinuxPPS_support
S: Maintained
+ F: Documentation/pps/
+ F: drivers/pps/
+ F: include/linux/pps*.h
PREEMPTIBLE KERNEL
- P: Robert Love
W: ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel
S: Supported
F: include/linux/preempt.h
PRISM54 WIRELESS DRIVER
- P: Luis R. Rodriguez
W: http://prism54.org
S: Maintained
F: drivers/net/wireless/prism54/
PROMISE DC4030 CACHING DISK CONTROLLER DRIVER
- P: Peter Denison
W: http://www.pnd-pc.demon.co.uk/promise/
S: Maintained
PROMISE SATA TX2/TX4 CONTROLLER LIBATA DRIVER
- P: Mikael Pettersson
S: Maintained
F: drivers/ata/sata_promise.*
PS3 NETWORK SUPPORT
- P: Geoff Levand
S: Supported
F: drivers/net/ps3_gelic_net.*
PS3 PLATFORM SUPPORT
- P: Geoff Levand
S: Supported
F: sound/ppc/snd_ps3*
PS3VRAM DRIVER
- P: Jim Paris
S: Maintained
PTRACE SUPPORT
- P: Roland McGrath
- P: Oleg Nesterov
S: Maintained
F: include/asm-generic/syscall.h
F: include/linux/ptrace.h
F: kernel/ptrace.c
PVRUSB2 VIDEO4LINUX DRIVER
- P: Mike Isely
W: http://www.isely.net/pvrusb2/
F: drivers/media/video/pvrusb2/
PXA2xx/PXA3xx SUPPORT
- P: Eric Miao
- P: Russell King
S: Maintained
F: arch/arm/mach-pxa/
F: drivers/pcmcia/pxa2xx*
F: sound/soc/pxa
PXA168 SUPPORT
- P: Eric Miao
- P: Jason Chagas
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
S: Maintained
PXA910 SUPPORT
- P: Eric Miao
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
S: Maintained
S: Orphan
PXA RTC DRIVER
- P: Robert Jarzmik
S: Maintained
QLOGIC QLA2XXX FC-SCSI DRIVER
- P: Andrew Vasquez
S: Supported
F: drivers/scsi/qla2xxx/
QLOGIC QLA3XXX NETWORK DRIVER
- P: Ron Mercer
S: Supported
F: drivers/net/qla3xxx.*
QLOGIC QLGE 10Gb ETHERNET DRIVER
- P: Ron Mercer
S: Supported
F: drivers/net/qlge/
QNX4 FILESYSTEM
- P: Anders Larsen
W: http://www.alarsen.net/linux/qnx4fs/
S: Maintained
F: fs/qnx4/
F: include/linux/qnxtypes.h
RADEON FRAMEBUFFER DISPLAY DRIVER
- P: Benjamin Herrenschmidt
S: Maintained
F: drivers/video/aty/radeon*
F: include/linux/radeonfb.h
RAGE128 FRAMEBUFFER DISPLAY DRIVER
- P: Paul Mackerras
S: Maintained
F: drivers/video/aty/aty128fb.c
RALINK RT2X00 WIRELESS LAN DRIVER
P: rt2x00 project
W: http://rt2x00.serialmonkey.com/
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git
F: drivers/net/wireless/rt2x00/
RAMDISK RAM BLOCK DEVICE DRIVER
- P: Nick Piggin
S: Maintained
F: Documentation/blockdev/ramdisk.txt
F: drivers/block/brd.c
RANDOM NUMBER DRIVER
- P: Matt Mackall
S: Maintained
F: drivers/char/random.c
RAPIDIO SUBSYSTEM
- P: Matt Porter
S: Maintained
F: drivers/rapidio/
RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
- P: Corey Thomas
S: Maintained
F: drivers/net/wireless/ray*
RCUTORTURE MODULE
- P: Josh Triplett
- P: Paul E. McKenney
S: Maintained
F: Documentation/RCU/torture.txt
F: kernel/rcutorture.c
RDC R-321X SoC
- P: Florian Fainelli
S: Maintained
RDC R6040 FAST ETHERNET DRIVER
- P: Florian Fainelli
S: Maintained
F: drivers/net/r6040.c
RDS - RELIABLE DATAGRAM SOCKETS
- P: Andy Grover
S: Supported
F: net/rds/
READ-COPY UPDATE (RCU)
- P: Dipankar Sarma
- P: Paul E. McKenney
W: http://www.rdrop.com/users/paulmck/rclock/
S: Supported
F: Documentation/RCU/rcu.txt
F: kernel/rcupdate.c
REAL TIME CLOCK DRIVER
- P: Paul Gortmaker
S: Maintained
F: Documentation/rtc.txt
F: drivers/rtc/
F: include/linux/rtc.h
REAL TIME CLOCK (RTC) SUBSYSTEM
- P: Alessandro Zummo
S: Maintained
F: Documentation/rtc.txt
F: fs/reiserfs/
RFKILL
- P: Johannes Berg
S: Maintained
- - - F Documentation/rfkill.txt
+ + + F: Documentation/rfkill.txt
F: net/rfkill/
RISCOM8 DRIVER
F: drivers/char/rocket*
ROSE NETWORK LAYER
- P: Ralf Baechle
W: http://www.linux-ax25.org/
S: Maintained
F: net/rose/
RTL8180 WIRELESS DRIVER
- P: John W. Linville
W: http://linuxwireless.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
S: Maintained
- F: drivers/net/wireless/rtl818*
+ F: drivers/net/wireless/rtl818x/rtl8180*
RTL8187 WIRELESS DRIVER
- P: Herton Ronaldo Krzesinski
- P: Hin-Tak Leung
- P: Larry Finger
W: http://linuxwireless.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
F: drivers/net/wireless/rtl818x/rtl8187*
S3 SAVAGE FRAMEBUFFER DRIVER
- P: Antonino Daplas
S: Maintained
F: drivers/video/savage/
S390
- P: Martin Schwidefsky
- P: Heiko Carstens
W: http://www.ibm.com/developerworks/linux/linux390/
F: arch/s390/
S390 NETWORK DRIVERS
- P: Ursula Braun
- P: Frank Blaschka
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/net/
S390 ZCRYPT DRIVER
- P: Felix Beck
- P: Ralph Wuerthner
S: Supported
F: drivers/s390/crypto/
S390 ZFCP DRIVER
- P: Christof Schmitt
- P: Martin Peschke
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/scsi/zfcp_*
S390 IUCV NETWORK LAYER
- P: Ursula Braun
W: http://www.ibm.com/developerworks/linux/linux390/
F: net/iucv/
S3C24XX SD/MMC Driver
- P: Ben Dooks
S: Supported
F: drivers/mmc/host/s3cmci.*
SAA7146 VIDEO4LINUX-2 DRIVER
- P: Michael Hunold
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
W: http://www.mihu.de/linux/saa7146
F: include/media/*7146*
SC1200 WDT DRIVER
- P: Zwane Mwaikambo
S: Maintained
F: drivers/watchdog/sc1200wdt.c
SCHEDULER
- P: Ingo Molnar
- P: Peter Zijlstra
S: Maintained
F: kernel/sched*
F: include/linux/sched.h
- - P: Chen Liqin
- - P: Lennox Wu
+ SCORE ARCHITECTURE
+ W: http://www.sunplusct.com
+ S: Supported
+ + + F: arch/score/
+
SCSI CDROM DRIVER
- P: Jens Axboe
W: http://www.kernel.dk
S: Maintained
F: drivers/scsi/sr*
SCSI SG DRIVER
- P: Doug Gilbert
W: http://www.torque.net/sg
S: Maintained
F: include/scsi/sg.h
SCSI SUBSYSTEM
- P: James E.J. Bottomley
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
F: include/scsi/
SCSI TAPE DRIVER
- P: Kai Mäkisara
S: Maintained
F: Documentation/scsi/st.txt
F: drivers/scsi/st*
SCTP PROTOCOL
- P: Vlad Yasevich
- P: Sridhar Samudrala
W: http://lksctp.sourceforge.net
S: Supported
F: net/sctp/
SCx200 CPU SUPPORT
- P: Jim Cromie
S: Odd Fixes
F: Documentation/i2c/busses/scx200_acb
F: arch/x86/kernel/scx200_32.c
F: include/linux/scx200.h
SCx200 GPIO DRIVER
- P: Jim Cromie
S: Maintained
F: drivers/char/scx200_gpio.c
F: include/linux/scx200_gpio.h
SCx200 HRT CLOCKSOURCE DRIVER
- P: Jim Cromie
S: Maintained
F: drivers/clocksource/scx200_hrt.c
SDRICOH_CS MMC/SD HOST CONTROLLER INTERFACE DRIVER
- P: Sascha Sommer
S: Maintained
F: drivers/mmc/host/sdricoh_cs.c
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
- - S: Orphan
- - F: drivers/mmc/host/sdhci.*
- P: Pierre Ossman
- S: Maintained
+ + + S: Orphan
+ + + F: drivers/mmc/host/sdhci.*
SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
- P: Anton Vorontsov
S: Maintained
- - F: drivers/mmc/host/sdhci-of.*
- F: drivers/mmc/host/sdhci.*
+ + + F: drivers/mmc/host/sdhci-of.*
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) SAMSUNG DRIVER
- P: Ben Dooks
S: Maintained
F: drivers/mmc/host/sdhci-s3c.c
SECURITY SUBSYSTEM
- P: James Morris
- - - T: git git://www.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
+ + + T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
W: http://security.wiki.kernel.org/
S: Supported
F: security/
SECURITY CONTACT
- P: Security Officers
S: Supported
SELINUX SECURITY MODULE
- P: Stephen Smalley
- P: James Morris
- P: Eric Paris
W: http://selinuxproject.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
F: security/selinux/
SENSABLE PHANTOM
- P: Jiri Slaby
S: Maintained
F: drivers/misc/phantom.c
F: include/linux/phantom.h
SERIAL ATA (SATA) SUBSYSTEM
- P: Jeff Garzik
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
S: Supported
F: include/linux/ata.h
F: include/linux/libata.h
- - P: Jayamohan Kallickal
- - W: http://www.serverengines.com
- - S: Supported
- - F: drivers/scsi/be2iscsi/
+ SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
+ + + W: http://www.serverengines.com
+ + + S: Supported
+ + + F: drivers/scsi/be2iscsi/
+
SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
- P: Sathya Perla
- P: Subbu Seetharaman
W: http://www.serverengines.com
S: Supported
F: drivers/net/benet/
SFC NETWORK DRIVER
- P: Steve Hodgson
- P: Ben Hutchings
- P: Robert Stonehouse
S: Supported
F: drivers/net/sfc/
SGI GRU DRIVER
- P: Jack Steiner
S: Maintained
F: drivers/misc/sgi-gru/
SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER
- P: Pat Gefre
S: Supported
F: Documentation/ia64/serial.txt
F: include/linux/ioc?.h
SGI VISUAL WORKSTATION 320 AND 540
- P: Andrey Panin
W: http://linux-visws.sf.net
S: Maintained for 2.6.
F: Documentation/sgi-visws.txt
SGI XP/XPC/XPNET DRIVER
- P: Robin Holt
S: Maintained
F: drivers/misc/sgi-xp/
SHARP LH SUPPORT (LH7952X & LH7A40X)
- P: Marc Singer
W: http://projects.buici.com/arm
- L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
+ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
F: Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen
F: arch/arm/mach-lh7a40x/
F: drivers/usb/gadget/lh7a40*
F: drivers/usb/host/ohci-lh7a40*
- SHPC HOTPLUG DRIVER
- P: Kristen Carlson Accardi
+ SIMPLE FIRMWARE INTERFACE (SFI)
- - P: Len Brown
+ W: http://simplefirmware.org/
+ T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6.git
S: Supported
- F: drivers/pci/hotplug/shpchp*
+ F: arch/x86/kernel/*sfi*
+ F: drivers/sfi/
+ F: include/linux/sfi*.h
SIMTEC EB110ATX (Chalice CATS)
P: Ben Dooks
- P: Vincent Sanders
W: http://www.simtec.co.uk/products/EB110ATX/
S: Supported
SIMTEC EB2410ITX (BAST)
P: Ben Dooks
- P: Vincent Sanders
W: http://www.simtec.co.uk/products/EB2410ITX/
S: Supported
F: arch/arm/mach-s3c2410/
F: drivers/*/*s3c2410*
F: drivers/*/*/*s3c2410*
+ TI DAVINCI MACHINE SUPPORT
+ P: Kevin Hilman
+ S: Supported
+ F: arch/arm/mach-davinci
+
SIS 190 ETHERNET DRIVER
- P: Francois Romieu
S: Maintained
F: drivers/net/sis190.c
SIS 900/7016 FAST ETHERNET DRIVER
- P: Daniele Venzano
W: http://www.brownhat.org/sis900.html
S: Maintained
F: drivers/net/sis900.*
SIS 96X I2C/SMBUS DRIVER
- P: Mark M. Hoffman
S: Maintained
F: Documentation/i2c/busses/i2c-sis96x
F: drivers/i2c/busses/i2c-sis96x.c
SIS FRAMEBUFFER DRIVER
- P: Thomas Winischhofer
W: http://www.winischhofer.net/linuxsisvga.shtml
S: Maintained
F: Documentation/fb/sisfb.txt
F: include/video/sisfb.h
SIS USB2VGA DRIVER
- P: Thomas Winischhofer
W: http://www.winischhofer.at/linuxsisusbvga.shtml
S: Maintained
F: drivers/usb/misc/sisusbvga/
SKGE, SKY2 10/100/1000 GIGABIT ETHERNET DRIVERS
- P: Stephen Hemminger
S: Maintained
F: drivers/net/skge.*
F: drivers/net/sky2.*
SLAB ALLOCATOR
- P: Christoph Lameter
- P: Pekka Enberg
- P: Matt Mackall
S: Maintained
F: include/linux/sl?b*.h
F: mm/sl?b.c
SMC91x ETHERNET DRIVER
- P: Nicolas Pitre
S: Maintained
F: drivers/net/smc91x.*
SMSC47B397 HARDWARE MONITOR DRIVER
- P: Mark M. Hoffman
S: Maintained
F: Documentation/hwmon/smsc47b397
F: drivers/hwmon/smsc47b397.c
SMSC911x ETHERNET DRIVER
- P: Steve Glendinning
S: Supported
F: include/linux/smsc911x.h
F: drivers/net/smsc911x.*
SMSC9420 PCI ETHERNET DRIVER
- P: Steve Glendinning
S: Supported
F: drivers/net/smsc9420.*
SMX UIO Interface
- P: Ben Nizette
S: Maintained
F: drivers/uio/uio_smx.c
SN-IA64 (Itanium) SUB-PLATFORM
- P: Jes Sorensen
W: http://www.sgi.com/altix
F: arch/ia64/sn/
SOC-CAMERA V4L2 SUBSYSTEM
- P: Guennadi Liakhovetski
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: drivers/media/video/v4l2*
SOEKRIS NET48XX LED SUPPORT
- P: Chris Boot
S: Maintained
F: drivers/leds/leds-net48xx.c
SOFTWARE RAID (Multiple Disks) SUPPORT
- P: Neil Brown
S: Supported
F: drivers/md/
F: include/linux/raid/
SONIC NETWORK DRIVER
- P: Thomas Bogendoerfer
S: Maintained
F: drivers/net/sonic.*
SONICS SILICON BACKPLANE DRIVER (SSB)
- P: Michael Buesch
S: Maintained
F: drivers/ssb/
F: include/linux/ssb/
SONY VAIO CONTROL DEVICE DRIVER
- P: Mattia Dongili
W: http://www.linux.it/~malattia/wiki/index.php/Sony_drivers
S: Maintained
F: include/linux/sony-laptop.h
SONY MEMORYSTICK CARD SUPPORT
- P: Alex Dubov
W: http://tifmxx.berlios.de/
S: Maintained
F: drivers/memstick/host/tifm_ms.c
SOUND
- P: Jaroslav Kysela
- P: Takashi Iwai
W: http://www.alsa-project.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
F: sound/
SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
- P: Liam Girdwood
- P: Mark Brown
T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git
W: http://alsa-project.org/main/index.php/ASoC
F: include/sound/soc*
SPARC + UltraSPARC (sparc/sparc64)
- P: David S. Miller
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
F: arch/sparc/
SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
- P: Roger Wolff
S: Supported
F: Documentation/serial/specialix.txt
F: drivers/char/specialix*
SPI SUBSYSTEM
- P: David Brownell
S: Maintained
F: Documentation/spi/
F: include/linux/spi/
SPIDERNET NETWORK DRIVER for CELL
- P: Ishizaki Kou
- P: Jens Osterkamp
S: Supported
F: Documentation/networking/spider_net.txt
F: drivers/net/spider_net*
SPU FILE SYSTEM
- P: Jeremy Kerr
W: http://www.ibm.com/developerworks/power/cell/
F: arch/powerpc/platforms/cell/spufs/
SQUASHFS FILE SYSTEM
- P: Phillip Lougher
W: http://squashfs.org.uk
S: Maintained
F: fs/squashfs/
SRM (Alpha) environment access
- P: Jan-Benedict Glaw
S: Maintained
F: arch/alpha/kernel/srm_env.c
STABLE BRANCH
- P: Greg Kroah-Hartman
- P: Chris Wright
S: Maintained
STAGING SUBSYSTEM
- P: Greg Kroah-Hartman
T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
S: Maintained
F: drivers/staging/
STARFIRE/DURALAN NETWORK DRIVER
- P: Ion Badulescu
- S: Maintained
+ S: Odd Fixes
F: drivers/net/starfire*
STARMODE RADIO IP (STRIP) PROTOCOL DRIVER
- W: http://mosquitonet.Stanford.EDU/strip.html
S: Orphan
F: drivers/net/wireless/strip.c
F: include/linux/if_strip.h
STRADIS MPEG-2 DECODER DRIVER
- P: Nathan Laredo
W: http://www.stradis.com/
S: Maintained
F: drivers/media/video/stradis.c
SUN3/3X
- P: Sam Creasey
W: http://sammy.net/sun3/
S: Maintained
F: arch/m68k/kernel/*sun3*
F: arch/m68k/include/asm/sun3*
SUPERH
- P: Paul Mundt
W: http://www.linux-sh.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git
F: drivers/sh/
SUSPEND TO RAM
- P: Len Brown
- P: Pavel Machek
- P: Rafael J. Wysocki
S: Supported
F: Documentation/power/
F: include/linux/pm.h
SVGA HANDLING
- P: Martin Mares
S: Maintained
F: Documentation/svga.txt
F: arch/x86/boot/video*
SYSV FILESYSTEM
- P: Christoph Hellwig
S: Maintained
F: Documentation/filesystems/sysv-fs.txt
F: fs/sysv/
F: include/linux/sysv_fs.h
TASKSTATS STATISTICS INTERFACE
- P: Balbir Singh
S: Maintained
F: Documentation/accounting/taskstats*
F: include/linux/taskstats*
F: kernel/taskstats.c
TC CLASSIFIER
- P: Jamal Hadi Salim
S: Maintained
F: include/linux/pkt_cls.h
F: net/sched/
TCP LOW PRIORITY MODULE
- P: Wong Hoi Sing, Edison
- P: Hung Hing Lun, Mike
W: http://tcp-lp-mod.sourceforge.net/
S: Maintained
F: net/ipv4/tcp_lp.c
TEHUTI ETHERNET DRIVER
- P: Alexander Indenbaum
- P: Andy Gospodarek
S: Supported
F: drivers/net/tehuti*
Telecom Clock Driver for MCPL0010
- P: Mark Gross
S: Supported
F: drivers/char/tlclk.c
TENSILICA XTENSA PORT (xtensa)
- P: Chris Zankel
S: Maintained
F: arch/xtensa/
THINKPAD ACPI EXTRAS DRIVER
- P: Henrique de Moraes Holschuh
W: http://ibm-acpi.sourceforge.net
W: http://thinkwiki.org/wiki/Ibm-acpi
F: drivers/platform/x86/thinkpad_acpi.c
TI FLASH MEDIA INTERFACE DRIVER
- P: Alex Dubov
S: Maintained
F: drivers/misc/tifm*
F: drivers/mmc/host/tifm_sd.c
F: include/linux/tifm.h
+ TI TWL4030 SERIES SOC CODEC DRIVER
+ S: Maintained
+ F: sound/soc/codecs/twl4030*
+
TIPC NETWORK LAYER
- P: Per Liden
- P: Jon Maloy
- P: Allan Stephens
W: http://tipc.sourceforge.net/
W: http://tipc.cslab.ericsson.net/
F: net/tipc/
TLAN NETWORK DRIVER
- P: Samuel Chessman
W: http://sourceforge.net/projects/tlan/
S: Maintained
F: drivers/net/tlan.*
TOMOYO SECURITY MODULE
- P: Kentaro Takeda
- P: Tetsuo Handa
S: Maintained
F: security/tomoyo/
+ TOPSTAR LAPTOP EXTRAS DRIVER
+ S: Maintained
+ F: drivers/platform/x86/topstar-laptop.c
+
TOSHIBA ACPI EXTRAS DRIVER
S: Orphan
F: drivers/platform/x86/toshiba_acpi.c
TOSHIBA SMM DRIVER
- P: Jonathan Buzzard
W: http://www.buzzard.org.uk/toshiba/
S: Maintained
F: include/linux/toshiba.h
TMIO MMC DRIVER
- P: Ian Molton
S: Maintained
F: drivers/mmc/host/tmio_mmc.*
TMPFS (SHMEM FILESYSTEM)
- P: Hugh Dickins
S: Maintained
F: include/linux/shmem_fs.h
F: mm/shmem.c
TPM DEVICE DRIVER
- P: Debora Velarde
- P: Rajiv Andrade
W: http://tpmdd.sourceforge.net
- P: Marcel Selhorst
W: http://www.sirrix.com
S: Maintained
F: drivers/char/tpm/
+ + + TRACING
+ + + T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git tracing/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/
+ + +
TRIVIAL PATCHES
- P: Jiri Kosina
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
S: Maintained
+
+ TTY LAYER
+ S: Maintained
+ T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
F: drivers/char/tty_*
F: drivers/serial/serial_core.c
F: include/linux/serial_core.h
F: include/linux/serial.h
F: include/linux/tty.h
- TTY LAYER
- P: Alan Cox
- S: Maintained
- T: stgit http://zeniv.linux.org.uk/~alan/ttydev/
-
TULIP NETWORK DRIVERS
- P: Grant Grundler
- P: Kyle McMartin
S: Maintained
F: drivers/net/tulip/
TUN/TAP driver
- P: Maxim Krasnyansky
W: http://vtun.sourceforge.net/tun
S: Maintained
F: arch/um/os-Linux/drivers/
TURBOCHANNEL SUBSYSTEM
- P: Maciej W. Rozycki
S: Maintained
F: drivers/tc/
F: include/linux/tc.h
U14-34F SCSI DRIVER
- P: Dario Ballabio
S: Maintained
F: drivers/scsi/u14-34f.c
UBI FILE SYSTEM (UBIFS)
- P: Artem Bityutskiy
- P: Adrian Hunter
T: git git://git.infradead.org/ubifs-2.6.git
W: http://www.linux-mtd.infradead.org/doc/ubifs.html
F: fs/ubifs/
UCLINUX (AND M68KNOMMU)
- P: Greg Ungerer
W: http://www.uclinux.org/
S: Maintained
F: arch/m68knommu/
UCLINUX FOR RENESAS H8/300 (H8300)
- P: Yoshinori Sato
W: http://uclinux-h8.sourceforge.jp/
S: Supported
UDF FILESYSTEM
- P: Jan Kara
W: http://linux-udf.sourceforge.net
S: Maintained
F: Documentation/filesystems/udf.txt
F: fs/udf/
UFS FILESYSTEM
- P: Evgeniy Dushistov
S: Maintained
F: Documentation/filesystems/ufs.txt
F: fs/ufs/
ULTRA-WIDEBAND (UWB) SUBSYSTEM:
- P: David Vrabel
S: Supported
F: drivers/uwb/*
F: include/linux/uwb/
UNIFORM CDROM DRIVER
- P: Jens Axboe
W: http://www.kernel.dk
S: Maintained
F: Documentation/cdrom/
F: include/linux/cdrom.h
UNSORTED BLOCK IMAGES (UBI)
- P: Artem Bityutskiy
W: http://www.linux-mtd.infradead.org/
T: git git://git.infradead.org/ubi-2.6.git
F: include/mtd/ubi-user.h
USB ACM DRIVER
- P: Oliver Neukum
S: Maintained
F: Documentation/usb/acm.txt
F: drivers/usb/class/cdc-acm.*
USB BLOCK DRIVER (UB ub)
- P: Pete Zaitcev
S: Supported
F: drivers/block/ub.c
USB CDC ETHERNET DRIVER
- P: Greg Kroah-Hartman
S: Maintained
W: http://www.kroah.com/linux-usb/
F: include/linux/usb/cdc.h
USB CYPRESS C67X00 DRIVER
- P: Peter Korsgaard
S: Maintained
F: drivers/usb/c67x00/
USB DAVICOM DM9601 DRIVER
- P: Peter Korsgaard
W: http://www.linux-usb.org/usbnet
S: Maintained
F: drivers/net/usb/dm9601.c
USB DIAMOND RIO500 DRIVER
- P: Cesar Miquel
W: http://rio500.sourceforge.net
S: Maintained
F: drivers/usb/misc/rio500*
USB EHCI DRIVER
- P: David Brownell
S: Odd Fixes
F: Documentation/usb/ehci.txt
F: drivers/usb/host/ehci*
USB ET61X[12]51 DRIVER
- P: Luca Risolia
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/media/video/et61x251/
USB GADGET/PERIPHERAL SUBSYSTEM
- P: David Brownell
W: http://www.linux-usb.org/gadget
S: Maintained
F: include/linux/usb/gadget*
USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
- P: Jiri Kosina
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
S: Maintained
F: drivers/hid/usbhid/
USB ISP116X DRIVER
- P: Olav Kongas
S: Maintained
F: drivers/usb/host/isp116x*
F: include/linux/usb/isp116x.h
USB KAWASAKI LSI DRIVER
- P: Oliver Neukum
S: Maintained
F: drivers/usb/serial/kl5kusb105.*
USB MASS STORAGE DRIVER
- P: Matthew Dharm
S: Maintained
F: drivers/usb/storage/
USB OHCI DRIVER
- P: David Brownell
S: Odd Fixes
F: Documentation/usb/ohci.txt
F: drivers/usb/host/ohci*
USB OPTION-CARD DRIVER
- P: Matthias Urlichs
S: Maintained
F: drivers/usb/serial/option.c
USB OV511 DRIVER
- P: Mark McClelland
W: http://alpha.dyndns.org/ov511/
S: Maintained
F: drivers/media/video/ov511.*
USB PEGASUS DRIVER
- P: Petko Manolov
W: http://pegasus2.sourceforge.net/
F: drivers/net/usb/pegasus.*
USB PRINTER DRIVER (usblp)
- P: Pete Zaitcev
S: Supported
F: drivers/usb/class/usblp.c
USB RTL8150 DRIVER
- P: Petko Manolov
W: http://pegasus2.sourceforge.net/
F: drivers/net/usb/rtl8150.c
USB SE401 DRIVER
- P: Jeroen Vreeken
W: http://www.chello.nl/~j.vreeken/se401/
S: Maintained
F: drivers/media/video/se401.*
USB SERIAL BELKIN F5U103 DRIVER
- P: William Greathouse
S: Maintained
F: drivers/usb/serial/belkin_sa.*
USB SERIAL CYPRESS M8 DRIVER
- P: Lonnie Mendez
S: Maintained
W: http://geocities.com/i0xox0i
F: drivers/usb/serial/cypress_m8.*
USB SERIAL CYBERJACK DRIVER
- P: Matthias Bruestle and Harald Welte
W: http://www.reiner-sct.de/support/treiber_cyberjack.php
S: Maintained
F: drivers/usb/serial/cyberjack.c
USB SERIAL DIGI ACCELEPORT DRIVER
- P: Peter Berger and Al Borchers
S: Maintained
F: drivers/usb/serial/digi_acceleport.c
USB SERIAL DRIVER
- P: Greg Kroah-Hartman
S: Supported
F: Documentation/usb/usb-serial.txt
F: include/linux/usb/serial.h
USB SERIAL EMPEG EMPEG-CAR MARK I/II DRIVER
- P: Gary Brubaker
S: Maintained
F: drivers/usb/serial/empeg.c
USB SERIAL KEYSPAN DRIVER
- P: Greg Kroah-Hartman
W: http://www.kroah.com/linux/
S: Maintained
F: drivers/usb/serial/*keyspan*
USB SERIAL WHITEHEAT DRIVER
- P: Support Department
W: http://www.connecttech.com
S: Supported
F: drivers/usb/serial/whiteheat*
USB SMSC95XX ETHERNET DRIVER
- P: Steve Glendinning
S: Supported
F: drivers/net/usb/smsc95xx.*
USB SN9C1xx DRIVER
- P: Luca Risolia
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/media/video/sn9c102/
USB SUBSYSTEM
- P: Greg Kroah-Hartman
W: http://www.linux-usb.org
T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
F: include/linux/usb/
USB UHCI DRIVER
- P: Alan Stern
S: Maintained
F: drivers/usb/host/uhci*
USB "USBNET" DRIVER FRAMEWORK
- P: David Brownell
W: http://www.linux-usb.org/usbnet
S: Maintained
F: include/linux/usb/usbnet.h
USB VIDEO CLASS
- P: Laurent Pinchart
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/media/video/uvc/
USB W996[87]CF DRIVER
- P: Luca Risolia
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/media/video/w996*
USB WIRELESS RNDIS DRIVER (rndis_wlan)
- P: Jussi Kivilinna
S: Maintained
F: drivers/net/wireless/rndis_wlan.c
USB XHCI DRIVER
- P: Sarah Sharp
S: Supported
USB ZC0301 DRIVER
- P: Luca Risolia
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/media/video/zc0301/
USB ZD1201 DRIVER
- P: Jeroen Vreeken
W: http://linux-lc100020.sourceforge.net
S: Maintained
F: drivers/net/wireless/zd1201.*
USB ZR364XX DRIVER
- P: Antoine Jacquet
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
F: drivers/media/video/zr364xx.c
USER-MODE LINUX (UML)
- P: Jeff Dike
W: http://user-mode-linux.sourceforge.net
F: fs/hppfs/
USERSPACE I/O (UIO)
- P: Hans J. Koch
- P: Greg Kroah-Hartman
S: Maintained
F: Documentation/DocBook/uio-howto.tmpl
F: drivers/uio/
F: include/linux/uio*.h
UTIL-LINUX-NG PACKAGE
- P: Karel Zak
W: http://kernel.org/~kzak/util-linux-ng/
T: git git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git
S: Maintained
UVESAFB DRIVER
- P: Michal Januszewski
W: http://dev.gentoo.org/~spock/projects/uvesafb/
S: Maintained
F: Documentation/fb/uvesafb.txt
F: drivers/video/uvesafb.*
VFAT/FAT/MSDOS FILESYSTEM
- P: OGAWA Hirofumi
S: Maintained
F: Documentation/filesystems/vfat.txt
F: fs/fat/
VIA RHINE NETWORK DRIVER
- P: Roger Luethi
S: Maintained
F: drivers/net/via-rhine.c
VIAPRO SMBUS DRIVER
- P: Jean Delvare
S: Maintained
F: Documentation/i2c/busses/i2c-viapro
F: drivers/i2c/busses/i2c-viapro.c
VIA SD/MMC CARD CONTROLLER DRIVER
- P: Joseph Chan
- P: Harald Welte
S: Maintained
F: drivers/mmc/host/via-sdmmc.c
VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
- P: Joseph Chan
- P: Scott Fang
S: Maintained
F: drivers/video/via/
VIA VELOCITY NETWORK DRIVER
- P: Francois Romieu
S: Maintained
F: drivers/net/via-velocity.*
VLAN (802.1Q)
- P: Patrick McHardy
S: Maintained
F: drivers/net/macvlan.c
F: net/8021q/
VLYNQ BUS
- P: Florian Fainelli
S: Maintained
F: drivers/vlynq/vlynq.c
F: include/linux/vlynq.h
- - S: Maintained
- - F: drivers/net/vmxnet3/
+ VMWARE VMXNET3 ETHERNET DRIVER
+ + + S: Maintained
+ + + F: drivers/net/vmxnet3/
+
VOLTAGE AND CURRENT REGULATOR FRAMEWORK
- P: Liam Girdwood
- P: Mark Brown
W: http://opensource.wolfsonmicro.com/node/15
W: http://www.slimlogic.co.uk/?p=48
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6.git
F: include/linux/regulator/
VT1211 HARDWARE MONITOR DRIVER
- P: Juerg Haefliger
S: Maintained
F: Documentation/hwmon/vt1211
F: drivers/hwmon/vt1211.c
VT8231 HARDWARE MONITOR DRIVER
- P: Roger Lucas
S: Maintained
F: drivers/hwmon/vt8231.c
W1 DALLAS'S 1-WIRE BUS
- P: Evgeniy Polyakov
S: Maintained
F: Documentation/w1/
F: drivers/w1/
W83791D HARDWARE MONITORING DRIVER
- P: Marc Hulsman
S: Maintained
F: Documentation/hwmon/w83791d
F: drivers/hwmon/w83791d.c
W83793 HARDWARE MONITORING DRIVER
- P: Rudolf Marek
S: Maintained
F: Documentation/hwmon/w83793
F: drivers/hwmon/w83793.c
W83L51xD SD/MMC CARD INTERFACE DRIVER
- P: Pierre Ossman
S: Maintained
F: drivers/mmc/host/wbsd.*
WATCHDOG DEVICE DRIVERS
- P: Wim Van Sebroeck
T: git git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
S: Maintained
F: Documentation/watchdog/
F: include/linux/watchdog.h
WAVELAN NETWORK DRIVER & WIRELESS EXTENSIONS
- P: Jean Tourrilhes
W: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
S: Maintained
F: drivers/net/wireless/wavelan*
WD7000 SCSI DRIVER
- P: Miroslav Zagorac
S: Maintained
F: drivers/scsi/wd7000.c
- - P: David Härdeman
+ WINBOND CIR DRIVER
+ S: Maintained
+ F: drivers/input/misc/winbond-cir.c
+
WIMAX STACK
- P: Inaky Perez-Gonzalez
S: Supported
W: http://linuxwimax.org
WIMEDIA LLC PROTOCOL (WLP) SUBSYSTEM
- P: David Vrabel
S: Maintained
F: include/linux/wlp.h
F: drivers/uwb/wlp/
WISTRON LAPTOP BUTTON DRIVER
- P: Miloslav Trmac
S: Maintained
F: drivers/input/misc/wistron_btns.c
+ WL1251 WIRELESS DRIVER
+ 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/wl12xx/*
+ X: drivers/net/wireless/wl12xx/wl1271*
+
+ WL1271 WIRELESS DRIVER
+ 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/wl12xx/wl1271*
+
WL3501 WIRELESS PCMCIA CARD DRIVER
- P: Arnaldo Carvalho de Melo
W: http://oops.ghostprotocols.net:81/blog
S: Maintained
F: drivers/net/wireless/wl3501*
WM97XX TOUCHSCREEN DRIVERS
- P: Mark Brown
- P: Liam Girdwood
T: git git://opensource.wolfsonmicro.com/linux-2.6-touch
W: http://opensource.wolfsonmicro.com/node/7
F: drivers/input/touchscreen/*wm97*
F: include/linux/wm97xx.h
- - P: Mark Brown
+ WOLFSON MICROELECTRONICS PMIC DRIVERS
+ T: git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
+ W: http://opensource.wolfsonmicro.com/node/8
+ S: Supported
+ F: drivers/leds/leds-wm83*.c
+ F: drivers/mfd/wm8*.c
+ 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/wm831x/
+ F: include/linux/mfd/wm8350/
+ F: include/linux/mfd/wm8400/
+ F: sound/soc/codecs/wm8350.c
+ F: sound/soc/codecs/wm8400.c
+
X.25 NETWORK LAYER
- P: Henner Eisen
S: Maintained
F: Documentation/networking/x25*
F: net/x25/
X86 ARCHITECTURE (32-BIT AND 64-BIT)
- P: Thomas Gleixner
- P: Ingo Molnar
- P: H. Peter Anvin
T: git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
S: Maintained
F: arch/x86/
XEN HYPERVISOR INTERFACE
- P: Jeremy Fitzhardinge
- P: Chris Wright
S: Supported
XFS FILESYSTEM
P: Silicon Graphics Inc
- P: Felix Blyakher
W: http://oss.sgi.com/projects/xfs
F: fs/xfs/
XILINX SYSTEMACE DRIVER
- P: Grant Likely
W: http://www.secretlab.ca/
S: Maintained
F: drivers/block/xsysace.c
XILINX UARTLITE SERIAL DRIVER
- P: Peter Korsgaard
S: Maintained
F: drivers/serial/uartlite.c
YAM DRIVER FOR AX.25
- P: Jean-Paul Roubelat
S: Maintained
F: drivers/net/hamradio/yam*
F: include/linux/yam.h
YEALINK PHONE DRIVER
- P: Henk Vergonet
S: Maintained
F: Documentation/input/yealink.txt
F: drivers/input/misc/yealink.*
Z8530 DRIVER FOR AX.25
- P: Joerg Reuter
W: http://yaina.de/jreuter/
W: http://www.qsl.net/dl1bke/
F: drivers/net/hamradio/z8530.h
ZD1211RW WIRELESS DRIVER
- P: Daniel Drake
- P: Ulrich Kunitz
W: http://zd1211.ath.cx/wiki/DriverRewrite
F: drivers/media/video/zoran/
ZS DECSTATION Z85C30 SERIAL DRIVER
- P: Maciej W. Rozycki
S: Maintained
F: drivers/serial/zs.*
THE REST
- P: Linus Torvalds
T: git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
S: Buried alive in reporters
--- /dev/null
- - #if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE)
+ /*
+ * On-Chip devices setup code for the AT91SAM9G45 family
+ *
+ * Copyright (C) 2009 Atmel Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ */
+ #include <asm/mach/arch.h>
+ #include <asm/mach/map.h>
+
+ #include <linux/dma-mapping.h>
+ #include <linux/platform_device.h>
+ #include <linux/i2c-gpio.h>
+
+ #include <linux/fb.h>
+ #include <video/atmel_lcdc.h>
+
+ #include <mach/board.h>
+ #include <mach/gpio.h>
+ #include <mach/at91sam9g45.h>
+ #include <mach/at91sam9g45_matrix.h>
+ #include <mach/at91sam9_smc.h>
+ #include <mach/at_hdmac.h>
+
+ #include "generic.h"
+
+
+ /* --------------------------------------------------------------------
+ * HDMAC - AHB DMA Controller
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_AT_HDMAC) || defined(CONFIG_AT_HDMAC_MODULE)
+ static u64 hdmac_dmamask = DMA_BIT_MASK(32);
+
+ static struct at_dma_platform_data atdma_pdata = {
+ .nr_channels = 8,
+ };
+
+ static struct resource hdmac_resources[] = {
+ [0] = {
+ .start = AT91_BASE_SYS + AT91_DMA,
+ .end = AT91_BASE_SYS + AT91_DMA + SZ_512 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [2] = {
+ .start = AT91SAM9G45_ID_DMA,
+ .end = AT91SAM9G45_ID_DMA,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at_hdmac_device = {
+ .name = "at_hdmac",
+ .id = -1,
+ .dev = {
+ .dma_mask = &hdmac_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &atdma_pdata,
+ },
+ .resource = hdmac_resources,
+ .num_resources = ARRAY_SIZE(hdmac_resources),
+ };
+
+ void __init at91_add_device_hdmac(void)
+ {
+ dma_cap_set(DMA_MEMCPY, atdma_pdata.cap_mask);
+ dma_cap_set(DMA_SLAVE, atdma_pdata.cap_mask);
+ platform_device_register(&at_hdmac_device);
+ }
+ #else
+ void __init at91_add_device_hdmac(void) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * USB Host (OHCI)
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
+ static u64 ohci_dmamask = DMA_BIT_MASK(32);
+ static struct at91_usbh_data usbh_ohci_data;
+
+ static struct resource usbh_ohci_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_OHCI_BASE,
+ .end = AT91SAM9G45_OHCI_BASE + SZ_1M - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_UHPHS,
+ .end = AT91SAM9G45_ID_UHPHS,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91_usbh_ohci_device = {
+ .name = "at91_ohci",
+ .id = -1,
+ .dev = {
+ .dma_mask = &ohci_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &usbh_ohci_data,
+ },
+ .resource = usbh_ohci_resources,
+ .num_resources = ARRAY_SIZE(usbh_ohci_resources),
+ };
+
+ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data)
+ {
+ int i;
+
+ if (!data)
+ return;
+
+ /* Enable VBus control for UHP ports */
+ for (i = 0; i < data->ports; i++) {
+ if (data->vbus_pin[i])
+ at91_set_gpio_output(data->vbus_pin[i], 0);
+ }
+
+ usbh_ohci_data = *data;
+ platform_device_register(&at91_usbh_ohci_device);
+ }
+ #else
+ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data) {}
+ #endif
+
+
+ ++++++/* --------------------------------------------------------------------
+ ++++++ * USB Host HS (EHCI)
+ ++++++ * Needs an OHCI host for low and full speed management
+ ++++++ * -------------------------------------------------------------------- */
+ ++++++
+ ++++++#if defined(CONFIG_USB_EHCI_HCD) || defined(CONFIG_USB_EHCI_HCD_MODULE)
+ ++++++static u64 ehci_dmamask = DMA_BIT_MASK(32);
+ ++++++static struct at91_usbh_data usbh_ehci_data;
+ ++++++
+ ++++++static struct resource usbh_ehci_resources[] = {
+ ++++++ [0] = {
+ ++++++ .start = AT91SAM9G45_EHCI_BASE,
+ ++++++ .end = AT91SAM9G45_EHCI_BASE + SZ_1M - 1,
+ ++++++ .flags = IORESOURCE_MEM,
+ ++++++ },
+ ++++++ [1] = {
+ ++++++ .start = AT91SAM9G45_ID_UHPHS,
+ ++++++ .end = AT91SAM9G45_ID_UHPHS,
+ ++++++ .flags = IORESOURCE_IRQ,
+ ++++++ },
+ ++++++};
+ ++++++
+ ++++++static struct platform_device at91_usbh_ehci_device = {
+ ++++++ .name = "atmel-ehci",
+ ++++++ .id = -1,
+ ++++++ .dev = {
+ ++++++ .dma_mask = &ehci_dmamask,
+ ++++++ .coherent_dma_mask = DMA_BIT_MASK(32),
+ ++++++ .platform_data = &usbh_ehci_data,
+ ++++++ },
+ ++++++ .resource = usbh_ehci_resources,
+ ++++++ .num_resources = ARRAY_SIZE(usbh_ehci_resources),
+ ++++++};
+ ++++++
+ ++++++void __init at91_add_device_usbh_ehci(struct at91_usbh_data *data)
+ ++++++{
+ ++++++ int i;
+ ++++++
+ ++++++ if (!data)
+ ++++++ return;
+ ++++++
+ ++++++ /* Enable VBus control for UHP ports */
+ ++++++ for (i = 0; i < data->ports; i++) {
+ ++++++ if (data->vbus_pin[i])
+ ++++++ at91_set_gpio_output(data->vbus_pin[i], 0);
+ ++++++ }
+ ++++++
+ ++++++ usbh_ehci_data = *data;
+ ++++++ at91_clock_associate("uhphs_clk", &at91_usbh_ehci_device.dev, "ehci_clk");
+ ++++++ platform_device_register(&at91_usbh_ehci_device);
+ ++++++}
+ ++++++#else
+ ++++++void __init at91_add_device_usbh_ehci(struct at91_usbh_data *data) {}
+ ++++++#endif
+ ++++++
+ ++++++
+ /* --------------------------------------------------------------------
+ * USB HS Device (Gadget)
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_USB_GADGET_ATMEL_USBA) || defined(CONFIG_USB_GADGET_ATMEL_USBA_MODULE)
+ static struct resource usba_udc_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_UDPHS_FIFO,
+ .end = AT91SAM9G45_UDPHS_FIFO + SZ_512K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_BASE_UDPHS,
+ .end = AT91SAM9G45_BASE_UDPHS + SZ_1K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [2] = {
+ .start = AT91SAM9G45_ID_UDPHS,
+ .end = AT91SAM9G45_ID_UDPHS,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ #define EP(nam, idx, maxpkt, maxbk, dma, isoc) \
+ [idx] = { \
+ .name = nam, \
+ .index = idx, \
+ .fifo_size = maxpkt, \
+ .nr_banks = maxbk, \
+ .can_dma = dma, \
+ .can_isoc = isoc, \
+ }
+
+ static struct usba_ep_data usba_udc_ep[] __initdata = {
+ EP("ep0", 0, 64, 1, 0, 0),
+ EP("ep1", 1, 1024, 2, 1, 1),
+ EP("ep2", 2, 1024, 2, 1, 1),
+ EP("ep3", 3, 1024, 3, 1, 0),
+ EP("ep4", 4, 1024, 3, 1, 0),
+ EP("ep5", 5, 1024, 3, 1, 1),
+ EP("ep6", 6, 1024, 3, 1, 1),
+ };
+
+ #undef EP
+
+ /*
+ * pdata doesn't have room for any endpoints, so we need to
+ * append room for the ones we need right after it.
+ */
+ static struct {
+ struct usba_platform_data pdata;
+ struct usba_ep_data ep[7];
+ } usba_udc_data;
+
+ static struct platform_device at91_usba_udc_device = {
+ .name = "atmel_usba_udc",
+ .id = -1,
+ .dev = {
+ .platform_data = &usba_udc_data.pdata,
+ },
+ .resource = usba_udc_resources,
+ .num_resources = ARRAY_SIZE(usba_udc_resources),
+ };
+
+ void __init at91_add_device_usba(struct usba_platform_data *data)
+ {
+ usba_udc_data.pdata.vbus_pin = -EINVAL;
+ usba_udc_data.pdata.num_ep = ARRAY_SIZE(usba_udc_ep);
+ memcpy(usba_udc_data.ep, usba_udc_ep, sizeof(usba_udc_ep));;
+
+ if (data && data->vbus_pin > 0) {
+ at91_set_gpio_input(data->vbus_pin, 0);
+ at91_set_deglitch(data->vbus_pin, 1);
+ usba_udc_data.pdata.vbus_pin = data->vbus_pin;
+ }
+
+ /* Pullup pin is handled internally by USB device peripheral */
+
+ /* Clocks */
+ at91_clock_associate("utmi_clk", &at91_usba_udc_device.dev, "hclk");
+ at91_clock_associate("udphs_clk", &at91_usba_udc_device.dev, "pclk");
+
+ platform_device_register(&at91_usba_udc_device);
+ }
+ #else
+ void __init at91_add_device_usba(struct usba_platform_data *data) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * Ethernet
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE)
+ static u64 eth_dmamask = DMA_BIT_MASK(32);
+ static struct at91_eth_data eth_data;
+
+ static struct resource eth_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_EMAC,
+ .end = AT91SAM9G45_BASE_EMAC + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_EMAC,
+ .end = AT91SAM9G45_ID_EMAC,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_eth_device = {
+ .name = "macb",
+ .id = -1,
+ .dev = {
+ .dma_mask = ð_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = ð_data,
+ },
+ .resource = eth_resources,
+ .num_resources = ARRAY_SIZE(eth_resources),
+ };
+
+ void __init at91_add_device_eth(struct at91_eth_data *data)
+ {
+ if (!data)
+ return;
+
+ if (data->phy_irq_pin) {
+ at91_set_gpio_input(data->phy_irq_pin, 0);
+ at91_set_deglitch(data->phy_irq_pin, 1);
+ }
+
+ /* Pins used for MII and RMII */
+ at91_set_A_periph(AT91_PIN_PA17, 0); /* ETXCK_EREFCK */
+ at91_set_A_periph(AT91_PIN_PA15, 0); /* ERXDV */
+ at91_set_A_periph(AT91_PIN_PA12, 0); /* ERX0 */
+ at91_set_A_periph(AT91_PIN_PA13, 0); /* ERX1 */
+ at91_set_A_periph(AT91_PIN_PA16, 0); /* ERXER */
+ at91_set_A_periph(AT91_PIN_PA14, 0); /* ETXEN */
+ at91_set_A_periph(AT91_PIN_PA10, 0); /* ETX0 */
+ at91_set_A_periph(AT91_PIN_PA11, 0); /* ETX1 */
+ at91_set_A_periph(AT91_PIN_PA19, 0); /* EMDIO */
+ at91_set_A_periph(AT91_PIN_PA18, 0); /* EMDC */
+
+ if (!data->is_rmii) {
+ at91_set_B_periph(AT91_PIN_PA29, 0); /* ECRS */
+ at91_set_B_periph(AT91_PIN_PA30, 0); /* ECOL */
+ at91_set_B_periph(AT91_PIN_PA8, 0); /* ERX2 */
+ at91_set_B_periph(AT91_PIN_PA9, 0); /* ERX3 */
+ at91_set_B_periph(AT91_PIN_PA28, 0); /* ERXCK */
+ at91_set_B_periph(AT91_PIN_PA6, 0); /* ETX2 */
+ at91_set_B_periph(AT91_PIN_PA7, 0); /* ETX3 */
+ at91_set_B_periph(AT91_PIN_PA27, 0); /* ETXER */
+ }
+
+ eth_data = *data;
+ platform_device_register(&at91sam9g45_eth_device);
+ }
+ #else
+ void __init at91_add_device_eth(struct at91_eth_data *data) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * NAND / SmartMedia
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_MTD_NAND_ATMEL) || defined(CONFIG_MTD_NAND_ATMEL_MODULE)
+ static struct atmel_nand_data nand_data;
+
+ #define NAND_BASE AT91_CHIPSELECT_3
+
+ static struct resource nand_resources[] = {
+ [0] = {
+ .start = NAND_BASE,
+ .end = NAND_BASE + SZ_256M - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91_BASE_SYS + AT91_ECC,
+ .end = AT91_BASE_SYS + AT91_ECC + SZ_512 - 1,
+ .flags = IORESOURCE_MEM,
+ }
+ };
+
+ static struct platform_device at91sam9g45_nand_device = {
+ .name = "atmel_nand",
+ .id = -1,
+ .dev = {
+ .platform_data = &nand_data,
+ },
+ .resource = nand_resources,
+ .num_resources = ARRAY_SIZE(nand_resources),
+ };
+
+ void __init at91_add_device_nand(struct atmel_nand_data *data)
+ {
+ unsigned long csa;
+
+ if (!data)
+ return;
+
+ csa = at91_sys_read(AT91_MATRIX_EBICSA);
+ at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA);
+
+ /* enable pin */
+ if (data->enable_pin)
+ at91_set_gpio_output(data->enable_pin, 1);
+
+ /* ready/busy pin */
+ if (data->rdy_pin)
+ at91_set_gpio_input(data->rdy_pin, 1);
+
+ /* card detect pin */
+ if (data->det_pin)
+ at91_set_gpio_input(data->det_pin, 1);
+
+ nand_data = *data;
+ platform_device_register(&at91sam9g45_nand_device);
+ }
+ #else
+ void __init at91_add_device_nand(struct atmel_nand_data *data) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * TWI (i2c)
+ * -------------------------------------------------------------------- */
+
+ /*
+ * Prefer the GPIO code since the TWI controller isn't robust
+ * (gets overruns and underruns under load) and can only issue
+ * repeated STARTs in one scenario (the driver doesn't yet handle them).
+ */
+ #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
+ static struct i2c_gpio_platform_data pdata_i2c0 = {
+ .sda_pin = AT91_PIN_PA20,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PA21,
+ .scl_is_open_drain = 1,
+ .udelay = 2, /* ~100 kHz */
+ };
+
+ static struct platform_device at91sam9g45_twi0_device = {
+ .name = "i2c-gpio",
+ .id = 0,
+ .dev.platform_data = &pdata_i2c0,
+ };
+
+ static struct i2c_gpio_platform_data pdata_i2c1 = {
+ .sda_pin = AT91_PIN_PB10,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PB11,
+ .scl_is_open_drain = 1,
+ .udelay = 2, /* ~100 kHz */
+ };
+
+ static struct platform_device at91sam9g45_twi1_device = {
+ .name = "i2c-gpio",
+ .id = 1,
+ .dev.platform_data = &pdata_i2c1,
+ };
+
+ void __init at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices)
+ {
+ i2c_register_board_info(i2c_id, devices, nr_devices);
+
+ if (i2c_id == 0) {
+ at91_set_GPIO_periph(AT91_PIN_PA20, 1); /* TWD (SDA) */
+ at91_set_multi_drive(AT91_PIN_PA20, 1);
+
+ at91_set_GPIO_periph(AT91_PIN_PA21, 1); /* TWCK (SCL) */
+ at91_set_multi_drive(AT91_PIN_PA21, 1);
+
+ platform_device_register(&at91sam9g45_twi0_device);
+ } else {
+ at91_set_GPIO_periph(AT91_PIN_PB10, 1); /* TWD (SDA) */
+ at91_set_multi_drive(AT91_PIN_PB10, 1);
+
+ at91_set_GPIO_periph(AT91_PIN_PB11, 1); /* TWCK (SCL) */
+ at91_set_multi_drive(AT91_PIN_PB11, 1);
+
+ platform_device_register(&at91sam9g45_twi1_device);
+ }
+ }
+
+ #elif defined(CONFIG_I2C_AT91) || defined(CONFIG_I2C_AT91_MODULE)
+ static struct resource twi0_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_TWI0,
+ .end = AT91SAM9G45_BASE_TWI0 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_TWI0,
+ .end = AT91SAM9G45_ID_TWI0,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_twi0_device = {
+ .name = "at91_i2c",
+ .id = 0,
+ .resource = twi0_resources,
+ .num_resources = ARRAY_SIZE(twi0_resources),
+ };
+
+ static struct resource twi1_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_TWI1,
+ .end = AT91SAM9G45_BASE_TWI1 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_TWI1,
+ .end = AT91SAM9G45_ID_TWI1,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_twi1_device = {
+ .name = "at91_i2c",
+ .id = 1,
+ .resource = twi1_resources,
+ .num_resources = ARRAY_SIZE(twi1_resources),
+ };
+
+ void __init at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices)
+ {
+ i2c_register_board_info(i2c_id, devices, nr_devices);
+
+ /* pins used for TWI interface */
+ if (i2c_id == 0) {
+ at91_set_A_periph(AT91_PIN_PA20, 0); /* TWD */
+ at91_set_multi_drive(AT91_PIN_PA20, 1);
+
+ at91_set_A_periph(AT91_PIN_PA21, 0); /* TWCK */
+ at91_set_multi_drive(AT91_PIN_PA21, 1);
+
+ platform_device_register(&at91sam9g45_twi0_device);
+ } else {
+ at91_set_A_periph(AT91_PIN_PB10, 0); /* TWD */
+ at91_set_multi_drive(AT91_PIN_PB10, 1);
+
+ at91_set_A_periph(AT91_PIN_PB11, 0); /* TWCK */
+ at91_set_multi_drive(AT91_PIN_PB11, 1);
+
+ platform_device_register(&at91sam9g45_twi1_device);
+ }
+ }
+ #else
+ void __init at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * SPI
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
+ static u64 spi_dmamask = DMA_BIT_MASK(32);
+
+ static struct resource spi0_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_SPI0,
+ .end = AT91SAM9G45_BASE_SPI0 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_SPI0,
+ .end = AT91SAM9G45_ID_SPI0,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_spi0_device = {
+ .name = "atmel_spi",
+ .id = 0,
+ .dev = {
+ .dma_mask = &spi_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+ .resource = spi0_resources,
+ .num_resources = ARRAY_SIZE(spi0_resources),
+ };
+
+ static const unsigned spi0_standard_cs[4] = { AT91_PIN_PB3, AT91_PIN_PB18, AT91_PIN_PB19, AT91_PIN_PD27 };
+
+ static struct resource spi1_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_SPI1,
+ .end = AT91SAM9G45_BASE_SPI1 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_SPI1,
+ .end = AT91SAM9G45_ID_SPI1,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_spi1_device = {
+ .name = "atmel_spi",
+ .id = 1,
+ .dev = {
+ .dma_mask = &spi_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+ .resource = spi1_resources,
+ .num_resources = ARRAY_SIZE(spi1_resources),
+ };
+
+ static const unsigned spi1_standard_cs[4] = { AT91_PIN_PB17, AT91_PIN_PD28, AT91_PIN_PD18, AT91_PIN_PD19 };
+
+ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
+ {
+ int i;
+ unsigned long cs_pin;
+ short enable_spi0 = 0;
+ short enable_spi1 = 0;
+
+ /* Choose SPI chip-selects */
+ for (i = 0; i < nr_devices; i++) {
+ if (devices[i].controller_data)
+ cs_pin = (unsigned long) devices[i].controller_data;
+ else if (devices[i].bus_num == 0)
+ cs_pin = spi0_standard_cs[devices[i].chip_select];
+ else
+ cs_pin = spi1_standard_cs[devices[i].chip_select];
+
+ if (devices[i].bus_num == 0)
+ enable_spi0 = 1;
+ else
+ enable_spi1 = 1;
+
+ /* enable chip-select pin */
+ at91_set_gpio_output(cs_pin, 1);
+
+ /* pass chip-select pin to driver */
+ devices[i].controller_data = (void *) cs_pin;
+ }
+
+ spi_register_board_info(devices, nr_devices);
+
+ /* Configure SPI bus(es) */
+ if (enable_spi0) {
+ at91_set_A_periph(AT91_PIN_PB0, 0); /* SPI0_MISO */
+ at91_set_A_periph(AT91_PIN_PB1, 0); /* SPI0_MOSI */
+ at91_set_A_periph(AT91_PIN_PB2, 0); /* SPI0_SPCK */
+
+ at91_clock_associate("spi0_clk", &at91sam9g45_spi0_device.dev, "spi_clk");
+ platform_device_register(&at91sam9g45_spi0_device);
+ }
+ if (enable_spi1) {
+ at91_set_A_periph(AT91_PIN_PB14, 0); /* SPI1_MISO */
+ at91_set_A_periph(AT91_PIN_PB15, 0); /* SPI1_MOSI */
+ at91_set_A_periph(AT91_PIN_PB16, 0); /* SPI1_SPCK */
+
+ at91_clock_associate("spi1_clk", &at91sam9g45_spi1_device.dev, "spi_clk");
+ platform_device_register(&at91sam9g45_spi1_device);
+ }
+ }
+ #else
+ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * AC97
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_SND_ATMEL_AC97C) || defined(CONFIG_SND_ATMEL_AC97C_MODULE)
+ static u64 ac97_dmamask = DMA_BIT_MASK(32);
+ static struct ac97c_platform_data ac97_data;
+
+ static struct resource ac97_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_AC97C,
+ .end = AT91SAM9G45_BASE_AC97C + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_AC97C,
+ .end = AT91SAM9G45_ID_AC97C,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_ac97_device = {
+ .name = "atmel_ac97c",
+ .id = 0,
+ .dev = {
+ .dma_mask = &ac97_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &ac97_data,
+ },
+ .resource = ac97_resources,
+ .num_resources = ARRAY_SIZE(ac97_resources),
+ };
+
+ void __init at91_add_device_ac97(struct ac97c_platform_data *data)
+ {
+ if (!data)
+ return;
+
+ at91_set_A_periph(AT91_PIN_PD8, 0); /* AC97FS */
+ at91_set_A_periph(AT91_PIN_PD9, 0); /* AC97CK */
+ at91_set_A_periph(AT91_PIN_PD7, 0); /* AC97TX */
+ at91_set_A_periph(AT91_PIN_PD6, 0); /* AC97RX */
+
+ /* reset */
+ if (data->reset_pin)
+ at91_set_gpio_output(data->reset_pin, 0);
+
+ ac97_data = *data;
+ platform_device_register(&at91sam9g45_ac97_device);
+ }
+ #else
+ void __init at91_add_device_ac97(struct ac97c_platform_data *data) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * LCD Controller
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
+ static u64 lcdc_dmamask = DMA_BIT_MASK(32);
+ static struct atmel_lcdfb_info lcdc_data;
+
+ static struct resource lcdc_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_LCDC_BASE,
+ .end = AT91SAM9G45_LCDC_BASE + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_LCDC,
+ .end = AT91SAM9G45_ID_LCDC,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91_lcdc_device = {
+ .name = "atmel_lcdfb",
+ .id = 0,
+ .dev = {
+ .dma_mask = &lcdc_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &lcdc_data,
+ },
+ .resource = lcdc_resources,
+ .num_resources = ARRAY_SIZE(lcdc_resources),
+ };
+
+ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data)
+ {
+ if (!data)
+ return;
+
+ at91_set_A_periph(AT91_PIN_PE0, 0); /* LCDDPWR */
+
+ at91_set_A_periph(AT91_PIN_PE2, 0); /* LCDCC */
+ at91_set_A_periph(AT91_PIN_PE3, 0); /* LCDVSYNC */
+ at91_set_A_periph(AT91_PIN_PE4, 0); /* LCDHSYNC */
+ at91_set_A_periph(AT91_PIN_PE5, 0); /* LCDDOTCK */
+ at91_set_A_periph(AT91_PIN_PE6, 0); /* LCDDEN */
+ at91_set_A_periph(AT91_PIN_PE7, 0); /* LCDD0 */
+ at91_set_A_periph(AT91_PIN_PE8, 0); /* LCDD1 */
+ at91_set_A_periph(AT91_PIN_PE9, 0); /* LCDD2 */
+ at91_set_A_periph(AT91_PIN_PE10, 0); /* LCDD3 */
+ at91_set_A_periph(AT91_PIN_PE11, 0); /* LCDD4 */
+ at91_set_A_periph(AT91_PIN_PE12, 0); /* LCDD5 */
+ at91_set_A_periph(AT91_PIN_PE13, 0); /* LCDD6 */
+ at91_set_A_periph(AT91_PIN_PE14, 0); /* LCDD7 */
+ at91_set_A_periph(AT91_PIN_PE15, 0); /* LCDD8 */
+ at91_set_A_periph(AT91_PIN_PE16, 0); /* LCDD9 */
+ at91_set_A_periph(AT91_PIN_PE17, 0); /* LCDD10 */
+ at91_set_A_periph(AT91_PIN_PE18, 0); /* LCDD11 */
+ at91_set_A_periph(AT91_PIN_PE19, 0); /* LCDD12 */
+ at91_set_A_periph(AT91_PIN_PE20, 0); /* LCDD13 */
+ at91_set_A_periph(AT91_PIN_PE21, 0); /* LCDD14 */
+ at91_set_A_periph(AT91_PIN_PE22, 0); /* LCDD15 */
+ at91_set_A_periph(AT91_PIN_PE23, 0); /* LCDD16 */
+ at91_set_A_periph(AT91_PIN_PE24, 0); /* LCDD17 */
+ at91_set_A_periph(AT91_PIN_PE25, 0); /* LCDD18 */
+ at91_set_A_periph(AT91_PIN_PE26, 0); /* LCDD19 */
+ at91_set_A_periph(AT91_PIN_PE27, 0); /* LCDD20 */
+ at91_set_A_periph(AT91_PIN_PE28, 0); /* LCDD21 */
+ at91_set_A_periph(AT91_PIN_PE29, 0); /* LCDD22 */
+ at91_set_A_periph(AT91_PIN_PE30, 0); /* LCDD23 */
+
+ lcdc_data = *data;
+ platform_device_register(&at91_lcdc_device);
+ }
+ #else
+ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * Timer/Counter block
+ * -------------------------------------------------------------------- */
+
+ #ifdef CONFIG_ATMEL_TCLIB
+ static struct resource tcb0_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_TCB0,
+ .end = AT91SAM9G45_BASE_TCB0 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_TCB,
+ .end = AT91SAM9G45_ID_TCB,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_tcb0_device = {
+ .name = "atmel_tcb",
+ .id = 0,
+ .resource = tcb0_resources,
+ .num_resources = ARRAY_SIZE(tcb0_resources),
+ };
+
+ /* TCB1 begins with TC3 */
+ static struct resource tcb1_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_TCB1,
+ .end = AT91SAM9G45_BASE_TCB1 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_TCB,
+ .end = AT91SAM9G45_ID_TCB,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_tcb1_device = {
+ .name = "atmel_tcb",
+ .id = 1,
+ .resource = tcb1_resources,
+ .num_resources = ARRAY_SIZE(tcb1_resources),
+ };
+
+ static void __init at91_add_device_tc(void)
+ {
+ /* this chip has one clock and irq for all six TC channels */
+ at91_clock_associate("tcb_clk", &at91sam9g45_tcb0_device.dev, "t0_clk");
+ platform_device_register(&at91sam9g45_tcb0_device);
+ at91_clock_associate("tcb_clk", &at91sam9g45_tcb1_device.dev, "t0_clk");
+ platform_device_register(&at91sam9g45_tcb1_device);
+ }
+ #else
+ static void __init at91_add_device_tc(void) { }
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * RTC
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_RTC_DRV_AT91RM9200) || defined(CONFIG_RTC_DRV_AT91RM9200_MODULE)
+ static struct platform_device at91sam9g45_rtc_device = {
+ .name = "at91_rtc",
+ .id = -1,
+ .num_resources = 0,
+ };
+
+ static void __init at91_add_device_rtc(void)
+ {
+ platform_device_register(&at91sam9g45_rtc_device);
+ }
+ #else
+ static void __init at91_add_device_rtc(void) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * RTT
+ * -------------------------------------------------------------------- */
+
+ static struct resource rtt_resources[] = {
+ {
+ .start = AT91_BASE_SYS + AT91_RTT,
+ .end = AT91_BASE_SYS + AT91_RTT + SZ_16 - 1,
+ .flags = IORESOURCE_MEM,
+ }
+ };
+
+ static struct platform_device at91sam9g45_rtt_device = {
+ .name = "at91_rtt",
+ .id = 0,
+ .resource = rtt_resources,
+ .num_resources = ARRAY_SIZE(rtt_resources),
+ };
+
+ static void __init at91_add_device_rtt(void)
+ {
+ platform_device_register(&at91sam9g45_rtt_device);
+ }
+
+
+ /* --------------------------------------------------------------------
+ * Watchdog
+ * -------------------------------------------------------------------- */
+
+ + + #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE)
+ static struct platform_device at91sam9g45_wdt_device = {
+ .name = "at91_wdt",
+ .id = -1,
+ .num_resources = 0,
+ };
+
+ static void __init at91_add_device_watchdog(void)
+ {
+ platform_device_register(&at91sam9g45_wdt_device);
+ }
+ #else
+ static void __init at91_add_device_watchdog(void) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * PWM
+ * --------------------------------------------------------------------*/
+
+ #if defined(CONFIG_ATMEL_PWM) || defined(CONFIG_ATMEL_PWM_MODULE)
+ static u32 pwm_mask;
+
+ static struct resource pwm_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_PWMC,
+ .end = AT91SAM9G45_BASE_PWMC + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_PWMC,
+ .end = AT91SAM9G45_ID_PWMC,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_pwm0_device = {
+ .name = "atmel_pwm",
+ .id = -1,
+ .dev = {
+ .platform_data = &pwm_mask,
+ },
+ .resource = pwm_resources,
+ .num_resources = ARRAY_SIZE(pwm_resources),
+ };
+
+ void __init at91_add_device_pwm(u32 mask)
+ {
+ if (mask & (1 << AT91_PWM0))
+ at91_set_B_periph(AT91_PIN_PD24, 1); /* enable PWM0 */
+
+ if (mask & (1 << AT91_PWM1))
+ at91_set_B_periph(AT91_PIN_PD31, 1); /* enable PWM1 */
+
+ if (mask & (1 << AT91_PWM2))
+ at91_set_B_periph(AT91_PIN_PD26, 1); /* enable PWM2 */
+
+ if (mask & (1 << AT91_PWM3))
+ at91_set_B_periph(AT91_PIN_PD0, 1); /* enable PWM3 */
+
+ pwm_mask = mask;
+
+ platform_device_register(&at91sam9g45_pwm0_device);
+ }
+ #else
+ void __init at91_add_device_pwm(u32 mask) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * SSC -- Synchronous Serial Controller
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_ATMEL_SSC) || defined(CONFIG_ATMEL_SSC_MODULE)
+ static u64 ssc0_dmamask = DMA_BIT_MASK(32);
+
+ static struct resource ssc0_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_SSC0,
+ .end = AT91SAM9G45_BASE_SSC0 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_SSC0,
+ .end = AT91SAM9G45_ID_SSC0,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_ssc0_device = {
+ .name = "ssc",
+ .id = 0,
+ .dev = {
+ .dma_mask = &ssc0_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+ .resource = ssc0_resources,
+ .num_resources = ARRAY_SIZE(ssc0_resources),
+ };
+
+ static inline void configure_ssc0_pins(unsigned pins)
+ {
+ if (pins & ATMEL_SSC_TF)
+ at91_set_A_periph(AT91_PIN_PD1, 1);
+ if (pins & ATMEL_SSC_TK)
+ at91_set_A_periph(AT91_PIN_PD0, 1);
+ if (pins & ATMEL_SSC_TD)
+ at91_set_A_periph(AT91_PIN_PD2, 1);
+ if (pins & ATMEL_SSC_RD)
+ at91_set_A_periph(AT91_PIN_PD3, 1);
+ if (pins & ATMEL_SSC_RK)
+ at91_set_A_periph(AT91_PIN_PD4, 1);
+ if (pins & ATMEL_SSC_RF)
+ at91_set_A_periph(AT91_PIN_PD5, 1);
+ }
+
+ static u64 ssc1_dmamask = DMA_BIT_MASK(32);
+
+ static struct resource ssc1_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_SSC1,
+ .end = AT91SAM9G45_BASE_SSC1 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_SSC1,
+ .end = AT91SAM9G45_ID_SSC1,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct platform_device at91sam9g45_ssc1_device = {
+ .name = "ssc",
+ .id = 1,
+ .dev = {
+ .dma_mask = &ssc1_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+ .resource = ssc1_resources,
+ .num_resources = ARRAY_SIZE(ssc1_resources),
+ };
+
+ static inline void configure_ssc1_pins(unsigned pins)
+ {
+ if (pins & ATMEL_SSC_TF)
+ at91_set_A_periph(AT91_PIN_PD14, 1);
+ if (pins & ATMEL_SSC_TK)
+ at91_set_A_periph(AT91_PIN_PD12, 1);
+ if (pins & ATMEL_SSC_TD)
+ at91_set_A_periph(AT91_PIN_PD10, 1);
+ if (pins & ATMEL_SSC_RD)
+ at91_set_A_periph(AT91_PIN_PD11, 1);
+ if (pins & ATMEL_SSC_RK)
+ at91_set_A_periph(AT91_PIN_PD13, 1);
+ if (pins & ATMEL_SSC_RF)
+ at91_set_A_periph(AT91_PIN_PD15, 1);
+ }
+
+ /*
+ * SSC controllers are accessed through library code, instead of any
+ * kind of all-singing/all-dancing driver. For example one could be
+ * used by a particular I2S audio codec's driver, while another one
+ * on the same system might be used by a custom data capture driver.
+ */
+ void __init at91_add_device_ssc(unsigned id, unsigned pins)
+ {
+ struct platform_device *pdev;
+
+ /*
+ * NOTE: caller is responsible for passing information matching
+ * "pins" to whatever will be using each particular controller.
+ */
+ switch (id) {
+ case AT91SAM9G45_ID_SSC0:
+ pdev = &at91sam9g45_ssc0_device;
+ configure_ssc0_pins(pins);
+ at91_clock_associate("ssc0_clk", &pdev->dev, "pclk");
+ break;
+ case AT91SAM9G45_ID_SSC1:
+ pdev = &at91sam9g45_ssc1_device;
+ configure_ssc1_pins(pins);
+ at91_clock_associate("ssc1_clk", &pdev->dev, "pclk");
+ break;
+ default:
+ return;
+ }
+
+ platform_device_register(pdev);
+ }
+
+ #else
+ void __init at91_add_device_ssc(unsigned id, unsigned pins) {}
+ #endif
+
+
+ /* --------------------------------------------------------------------
+ * UART
+ * -------------------------------------------------------------------- */
+
+ #if defined(CONFIG_SERIAL_ATMEL)
+ static struct resource dbgu_resources[] = {
+ [0] = {
+ .start = AT91_VA_BASE_SYS + AT91_DBGU,
+ .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91_ID_SYS,
+ .end = AT91_ID_SYS,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct atmel_uart_data dbgu_data = {
+ .use_dma_tx = 0,
+ .use_dma_rx = 0,
+ .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU),
+ };
+
+ static u64 dbgu_dmamask = DMA_BIT_MASK(32);
+
+ static struct platform_device at91sam9g45_dbgu_device = {
+ .name = "atmel_usart",
+ .id = 0,
+ .dev = {
+ .dma_mask = &dbgu_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &dbgu_data,
+ },
+ .resource = dbgu_resources,
+ .num_resources = ARRAY_SIZE(dbgu_resources),
+ };
+
+ static inline void configure_dbgu_pins(void)
+ {
+ at91_set_A_periph(AT91_PIN_PB12, 0); /* DRXD */
+ at91_set_A_periph(AT91_PIN_PB13, 1); /* DTXD */
+ }
+
+ static struct resource uart0_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_US0,
+ .end = AT91SAM9G45_BASE_US0 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_US0,
+ .end = AT91SAM9G45_ID_US0,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct atmel_uart_data uart0_data = {
+ .use_dma_tx = 1,
+ .use_dma_rx = 1,
+ };
+
+ static u64 uart0_dmamask = DMA_BIT_MASK(32);
+
+ static struct platform_device at91sam9g45_uart0_device = {
+ .name = "atmel_usart",
+ .id = 1,
+ .dev = {
+ .dma_mask = &uart0_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &uart0_data,
+ },
+ .resource = uart0_resources,
+ .num_resources = ARRAY_SIZE(uart0_resources),
+ };
+
+ static inline void configure_usart0_pins(unsigned pins)
+ {
+ at91_set_A_periph(AT91_PIN_PB19, 1); /* TXD0 */
+ at91_set_A_periph(AT91_PIN_PB18, 0); /* RXD0 */
+
+ if (pins & ATMEL_UART_RTS)
+ at91_set_B_periph(AT91_PIN_PB17, 0); /* RTS0 */
+ if (pins & ATMEL_UART_CTS)
+ at91_set_B_periph(AT91_PIN_PB15, 0); /* CTS0 */
+ }
+
+ static struct resource uart1_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_US1,
+ .end = AT91SAM9G45_BASE_US1 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_US1,
+ .end = AT91SAM9G45_ID_US1,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct atmel_uart_data uart1_data = {
+ .use_dma_tx = 1,
+ .use_dma_rx = 1,
+ };
+
+ static u64 uart1_dmamask = DMA_BIT_MASK(32);
+
+ static struct platform_device at91sam9g45_uart1_device = {
+ .name = "atmel_usart",
+ .id = 2,
+ .dev = {
+ .dma_mask = &uart1_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &uart1_data,
+ },
+ .resource = uart1_resources,
+ .num_resources = ARRAY_SIZE(uart1_resources),
+ };
+
+ static inline void configure_usart1_pins(unsigned pins)
+ {
+ at91_set_A_periph(AT91_PIN_PB4, 1); /* TXD1 */
+ at91_set_A_periph(AT91_PIN_PB5, 0); /* RXD1 */
+
+ if (pins & ATMEL_UART_RTS)
+ at91_set_A_periph(AT91_PIN_PD16, 0); /* RTS1 */
+ if (pins & ATMEL_UART_CTS)
+ at91_set_A_periph(AT91_PIN_PD17, 0); /* CTS1 */
+ }
+
+ static struct resource uart2_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_US2,
+ .end = AT91SAM9G45_BASE_US2 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_US2,
+ .end = AT91SAM9G45_ID_US2,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct atmel_uart_data uart2_data = {
+ .use_dma_tx = 1,
+ .use_dma_rx = 1,
+ };
+
+ static u64 uart2_dmamask = DMA_BIT_MASK(32);
+
+ static struct platform_device at91sam9g45_uart2_device = {
+ .name = "atmel_usart",
+ .id = 3,
+ .dev = {
+ .dma_mask = &uart2_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &uart2_data,
+ },
+ .resource = uart2_resources,
+ .num_resources = ARRAY_SIZE(uart2_resources),
+ };
+
+ static inline void configure_usart2_pins(unsigned pins)
+ {
+ at91_set_A_periph(AT91_PIN_PB6, 1); /* TXD2 */
+ at91_set_A_periph(AT91_PIN_PB7, 0); /* RXD2 */
+
+ if (pins & ATMEL_UART_RTS)
+ at91_set_B_periph(AT91_PIN_PC9, 0); /* RTS2 */
+ if (pins & ATMEL_UART_CTS)
+ at91_set_B_periph(AT91_PIN_PC11, 0); /* CTS2 */
+ }
+
+ static struct resource uart3_resources[] = {
+ [0] = {
+ .start = AT91SAM9G45_BASE_US3,
+ .end = AT91SAM9G45_BASE_US3 + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = AT91SAM9G45_ID_US3,
+ .end = AT91SAM9G45_ID_US3,
+ .flags = IORESOURCE_IRQ,
+ },
+ };
+
+ static struct atmel_uart_data uart3_data = {
+ .use_dma_tx = 1,
+ .use_dma_rx = 1,
+ };
+
+ static u64 uart3_dmamask = DMA_BIT_MASK(32);
+
+ static struct platform_device at91sam9g45_uart3_device = {
+ .name = "atmel_usart",
+ .id = 4,
+ .dev = {
+ .dma_mask = &uart3_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ .platform_data = &uart3_data,
+ },
+ .resource = uart3_resources,
+ .num_resources = ARRAY_SIZE(uart3_resources),
+ };
+
+ static inline void configure_usart3_pins(unsigned pins)
+ {
+ at91_set_A_periph(AT91_PIN_PB8, 1); /* TXD3 */
+ at91_set_A_periph(AT91_PIN_PB9, 0); /* RXD3 */
+
+ if (pins & ATMEL_UART_RTS)
+ at91_set_B_periph(AT91_PIN_PA23, 0); /* RTS3 */
+ if (pins & ATMEL_UART_CTS)
+ at91_set_B_periph(AT91_PIN_PA24, 0); /* CTS3 */
+ }
+
+ static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
+ struct platform_device *atmel_default_console_device; /* the serial console device */
+
+ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
+ {
+ struct platform_device *pdev;
+
+ switch (id) {
+ case 0: /* DBGU */
+ pdev = &at91sam9g45_dbgu_device;
+ configure_dbgu_pins();
+ at91_clock_associate("mck", &pdev->dev, "usart");
+ break;
+ case AT91SAM9G45_ID_US0:
+ pdev = &at91sam9g45_uart0_device;
+ configure_usart0_pins(pins);
+ at91_clock_associate("usart0_clk", &pdev->dev, "usart");
+ break;
+ case AT91SAM9G45_ID_US1:
+ pdev = &at91sam9g45_uart1_device;
+ configure_usart1_pins(pins);
+ at91_clock_associate("usart1_clk", &pdev->dev, "usart");
+ break;
+ case AT91SAM9G45_ID_US2:
+ pdev = &at91sam9g45_uart2_device;
+ configure_usart2_pins(pins);
+ at91_clock_associate("usart2_clk", &pdev->dev, "usart");
+ break;
+ case AT91SAM9G45_ID_US3:
+ pdev = &at91sam9g45_uart3_device;
+ configure_usart3_pins(pins);
+ at91_clock_associate("usart3_clk", &pdev->dev, "usart");
+ break;
+ default:
+ return;
+ }
+ pdev->id = portnr; /* update to mapped ID */
+
+ if (portnr < ATMEL_MAX_UART)
+ at91_uarts[portnr] = pdev;
+ }
+
+ void __init at91_set_serial_console(unsigned portnr)
+ {
+ if (portnr < ATMEL_MAX_UART)
+ atmel_default_console_device = at91_uarts[portnr];
+ }
+
+ void __init at91_add_device_serial(void)
+ {
+ int i;
+
+ for (i = 0; i < ATMEL_MAX_UART; i++) {
+ if (at91_uarts[i])
+ platform_device_register(at91_uarts[i]);
+ }
+
+ if (!atmel_default_console_device)
+ printk(KERN_INFO "AT91: No default serial console defined.\n");
+ }
+ #else
+ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
+ void __init at91_set_serial_console(unsigned portnr) {}
+ void __init at91_add_device_serial(void) {}
+ #endif
+
+
+ /* -------------------------------------------------------------------- */
+ /*
+ * These devices are always present and don't need any board-specific
+ * setup.
+ */
+ static int __init at91_add_standard_devices(void)
+ {
+ at91_add_device_hdmac();
+ at91_add_device_rtc();
+ at91_add_device_rtt();
+ at91_add_device_watchdog();
+ at91_add_device_tc();
+ return 0;
+ }
+
+ arch_initcall(at91_add_standard_devices);