]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
authorDavid S. Miller <davem@davemloft.net>
Fri, 17 Apr 2009 00:35:26 +0000 (17:35 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Apr 2009 00:35:26 +0000 (17:35 -0700)
1  2 
MAINTAINERS
drivers/net/fec.c
drivers/net/ixgbe/ixgbe_82598.c
drivers/net/ixgbe/ixgbe_82599.c
drivers/net/ixgbe/ixgbe_common.c
drivers/net/ixgbe/ixgbe_main.c
net/8021q/vlan_core.c
net/core/dev.c

diff --combined MAINTAINERS
index 28421c22ebae940d8e3a2ddc71e72111c9b2bae6,abedca58d8bd31b596eb8dc0736428982820a4c3..cb44e1cb076a20831ffa9a181975f247203b6e82
@@@ -72,7 -72,6 +72,6 @@@ M: Mail patches t
  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.
- F: Applicable files and/or directories
  S: Status, one of the following:
  
        Supported:      Someone is actually paid to look after this.
                        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/
  3C505 NETWORK DRIVER
  P:    Philip Blundell
  M:    philb@gnu.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/3c505*
  
  3C59X NETWORK DRIVER
  P:    Steffen Klassert
  M:    klassert@mathematik.tu-chemnitz.de
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    Documentation/networking/vortex.txt
+ F:    drivers/net/3c59x.c
  
  3CR990 NETWORK DRIVER
  P:    David Dillow
  M:    dave@thedillows.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/typhoon*
  
  3W-9XXX SATA-RAID CONTROLLER DRIVER
  P:    Adam Radford
@@@ -109,6 -125,7 +125,7 @@@ M: linuxraid@amcc.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.amcc.com
  S:    Supported
+ F:    drivers/scsi/3w-9xxx*
  
  3W-XXXX ATA-RAID CONTROLLER DRIVER
  P:    Adam Radford
@@@ -116,35 -133,43 +133,43 @@@ M:      linuxraid@amcc.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.amcc.com
  S:    Supported
+ F:    drivers/scsi/3w-xxxx*
  
  53C700 AND 53C700-66 SCSI DRIVER
  P:    James E.J. Bottomley
  M:    James.Bottomley@HansenPartnership.com
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/53c700*
  
  6PACK NETWORK DRIVER FOR AX.25
  P:    Andreas Koensgen
  M:    ajk@iehk.rwth-aachen.de
  L:    linux-hams@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/hamradio/6pack.c
  
  8169 10/100/1000 GIGABIT ETHERNET DRIVER
  P:    Francois Romieu
  M:    romieu@fr.zoreil.com
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/r8169.c
  
  8250/16?50 (AND CLONE UARTS) SERIAL DRIVER
  L:    linux-serial@vger.kernel.org
  W:    http://serial.sourceforge.net
  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
  M:    p_gortmaker@yahoo.com
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/*8390*
+ F:    drivers/net/ax88796.c
  
  9P FILE SYSTEM
  P:    Eric Van Hensbergen
@@@ -155,14 -180,17 +180,17 @@@ P:      Latchesar Ionko
  M:    lucho@ionkov.net
  L:    v9fs-developer@lists.sourceforge.net
  W:    http://swik.net/v9fs
- T:    git kernel.org:/pub/scm/linux/kernel/ericvh/v9fs.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/ericvh/v9fs.git
  S:    Maintained
+ F:    Documentation/filesystems/9p.txt
+ F:    fs/9p/
  
  A2232 SERIAL BOARD DRIVER
  P:    Enver Haase
  M:    A2232@gmx.net
  L:    linux-m68k@lists.linux-m68k.org
  S:    Maintained
+ F:    drivers/char/ser_a2232*
  
  AACRAID SCSI RAID DRIVER
  P:    Adaptec OEM Raid Solutions
@@@ -170,24 -198,29 +198,29 @@@ M:      aacraid@adaptec.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.adaptec.com/
  S:    Supported
+ F:    Documentation/scsi/aacraid.txt
+ F:    drivers/scsi/aacraid/
  
  ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
  P:    Hans de Goede
  M:    j.w.r.degoede@hhs.nl
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    drivers/hwmon/abituguru.c
  
  ABIT UGURU 3 HARDWARE MONITOR DRIVER
  P:    Alistair John Strachan
  M:    alistair@devzero.co.uk
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    drivers/hwmon/abituguru3.c
  
  ACENIC DRIVER
  P:    Jes Sorensen
  M:    jes@trained-monkey.org
  L:    linux-acenic@sunsite.dk
  S:    Maintained
+ F:    drivers/net/acenic*
  
  ACER WMI LAPTOP EXTRAS
  P:    Carlos Corbacho
@@@ -195,14 -228,18 +228,18 @@@ M:      carlos@strangeworlds.co.u
  L:    aceracpi@googlegroups.com (subscribers-only)
  W:    http://code.google.com/p/aceracpi
  S:    Maintained
+ F:    drivers/platform/x86/acer-wmi.c
  
  ACPI
  P:    Len Brown
  M:    lenb@kernel.org
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
- T:    git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
  S:    Supported
+ F:    drivers/acpi/
+ F:    drivers/pnp/pnpacpi/
+ F:    include/linux/acpi.h
  
  ACPI BATTERY DRIVERS
  P:    Alexey Starikovskiy
@@@ -210,6 -247,8 +247,8 @@@ M: astarikovskiy@suse.d
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
  S:    Supported
+ F:    drivers/acpi/battery.c
+ F:    drivers/acpi/*sbs*
  
  ACPI EC DRIVER
  P:    Alexey Starikovskiy
@@@ -217,6 -256,7 +256,7 @@@ M: astarikovskiy@suse.d
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
  S:    Supported
+ F:    drivers/acpi/ec.c
  
  ACPI FAN DRIVER
  P:    Zhang Rui
@@@ -224,12 -264,14 +264,14 @@@ M:      rui.zhang@intel.co
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
  S:    Supported
+ F:    drivers/acpi/fan.c
  
  ACPI PCI HOTPLUG DRIVER
  P:    Kristen Carlson Accardi
  M:    kristen.c.accardi@intel.com
  L:    linux-pci@vger.kernel.org
  S:    Supported
+ F:    drivers/pci/hotplug/acpi*
  
  ACPI THERMAL DRIVER
  P:    Zhang Rui
@@@ -237,6 -279,7 +279,7 @@@ M: rui.zhang@intel.co
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
  S:    Supported
+ F:    drivers/acpi/*thermal*
  
  ACPI VIDEO DRIVER
  P:    Zhang Rui
@@@ -244,6 -287,7 +287,7 @@@ M: rui.zhang@intel.co
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
  S:    Supported
+ F:    drivers/acpi/video.c
  
  ACPI WMI DRIVER
  P:    Carlos Corbacho
@@@ -251,6 -295,7 +295,7 @@@ M: carlos@strangeworlds.co.u
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
  S:    Maintained
+ F:    drivers/platform/x86/wmi.c
  
  AD1889 ALSA SOUND DRIVER
  P:    Kyle McMartin
@@@ -260,77 -305,99 +305,99 @@@ M:      T-Bone@parisc-linux.or
  W:    http://wiki.parisc-linux.org/AD1889
  L:    linux-parisc@vger.kernel.org
  S:    Maintained
+ F:    sound/pci/ad1889.*
  
  ADM1025 HARDWARE MONITOR DRIVER
  P:    Jean Delvare
  M:    khali@linux-fr.org
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/adm1025
+ F:    drivers/hwmon/adm1025.c
  
  ADM1029 HARDWARE MONITOR DRIVER
  P:    Corentin Labbe
  M:    corentin.labbe@geomatys.fr
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    drivers/hwmon/adm1029.c
  
  ADM8211 WIRELESS DRIVER
  P:    Michael Wu
  M:    flamingice@sourmilk.net
  L:    linux-wireless@vger.kernel.org
  W:    http://linuxwireless.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
  S:    Maintained
+ F:    drivers/net/wireless/adm8211.*
  
  ADT746X FAN DRIVER
  P:    Colin Leroy
  M:    colin@colino.net
  S:    Maintained
+ F:    drivers/macintosh/therm_adt746x.c
  
  ADVANSYS SCSI DRIVER
  P:    Matthew Wilcox
  M:    matthew@wil.cx
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    Documentation/scsi/advansys.txt
+ F:    drivers/scsi/advansys.c
  
  AEDSP16 DRIVER
  P:    Riccardo Facchetti
  M:    fizban@tin.it
  S:    Maintained
+ F:    sound/oss/aedsp16.c
  
  AFFS FILE SYSTEM
  P:    Roman Zippel
  M:    zippel@linux-m68k.org
  S:    Maintained
+ F:    Documentation/filesystems/affs.txt
+ F:    fs/affs/
  
  AFS FILESYSTEM & AF_RXRPC SOCKET DOMAIN
  P:    David Howells
  M:    dhowells@redhat.com
  L:    linux-afs@lists.infradead.org
  S:    Supported
+ F:    fs/afs/
+ F:    include/net/af_rxrpc.h
+ F:    net/rxrpc/af_rxrpc.c
  
  AGPGART DRIVER
  P:    David Airlie
  M:    airlied@linux.ie
- T:    git kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
+ 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
- M:    Juergen Fischer <fischer@norbit.de>
+ M:    fischer@norbit.de
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/aha152x*
+ F:    drivers/scsi/pcmcia/aha152x*
  
  AIC7XXX / AIC79XX SCSI DRIVER
  P:    Hannes Reinecke
  M:    hare@suse.de
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/aic7xxx/
+ F:    drivers/scsi/aic7xxx_old/
  
  AIO
  P:    Benjamin LaHaise
  M:    bcrl@kvack.org
  L:    linux-aio@kvack.org
  S:    Supported
+ F:    fs/aio.c
+ F:    include/linux/*aio*.h
  
  ALCATEL SPEEDTOUCH USB DRIVER
  P:    Duncan Sands
@@@ -338,17 -405,22 +405,22 @@@ M:      duncan.sands@free.f
  L:    linux-usb@vger.kernel.org
  W:    http://www.linux-usb.org/SpeedTouch/
  S:    Maintained
+ F:    drivers/usb/atm/speedtch.c
+ F:    drivers/usb/atm/usbatm.c
  
  ALCHEMY AU1XX0 MMC DRIVER
  P:    Manuel Lauss
  M:    manuel.lauss@gmail.com
  S:    Maintained
+ F:    drivers/mmc/host/au1xmmc.c
  
  ALI1563 I2C DRIVER
  P:    Rudolf Marek
  M:    r.marek@assembler.cz
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    Documentation/i2c/busses/i2c-ali1563
+ F:    drivers/i2c/busses/i2c-ali1563.c
  
  ALPHA PORT
  P:    Richard Henderson
@@@ -358,31 -430,41 +430,41 @@@ P:      Ivan Kokshaysk
  M:    ink@jurassic.park.msu.ru
  S:    Maintained for 2.4; PCI support for 2.6.
  L:    linux-alpha@vger.kernel.org
+ F:    arch/alpha/
  
  AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
  P:    Thomas Dahlmann
  M:    thomas.dahlmann@amd.com
  L:    linux-geode@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
+ F:    drivers/usb/gadget/amd5536udc.*
  
  AMD GEODE PROCESSOR/CHIPSET SUPPORT
  P:    Jordan Crouse
  L:    linux-geode@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2452_11363,00.html
  S:    Supported
+ F:    arch/x86/kernel/geode_32.c
+ F:    drivers/char/hw_random/geode-rng.c
+ F:    drivers/crypto/geode*
+ F:    drivers/video/geode/
+ F:    arch/x86/include/asm/geode.h
  
  AMD IOMMU (AMD-VI)
  P:    Joerg Roedel
  M:    joerg.roedel@amd.com
  L:    iommu@lists.linux-foundation.org
- T:    git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git
  S:    Supported
+ F:    arch/x86/kernel/amd_iommu*.c
+ F:    arch/x86/include/asm/amd_iommu*.h
  
  AMD MICROCODE UPDATE SUPPORT
- P:      Andreas Herrmann
- M:      andeas.herrmann3@amd.com
- L:      amd64-microcode@amd64.org
- S:      Supported
+ P:    Andreas Herrmann
+ M:    andeas.herrmann3@amd.com
+ L:    amd64-microcode@amd64.org
+ S:    Supported
+ F:    arch/x86/kernel/microcode_amd.c
  
  AMS (Apple Motion Sensor) DRIVER
  P:    Stelian Pop
@@@ -390,6 -472,7 +472,7 @@@ M: stelian@popies.ne
  P:    Michael Hanselmann
  M:    linux-kernel@hansmi.ch
  S:    Supported
+ F:    drivers/hwmon/ams/
  
  AMSO1100 RNIC DRIVER
  P:    Tom Tucker
@@@ -398,6 -481,7 +481,7 @@@ P: Steve Wis
  M:    swise@opengridcomputing.com
  L:    general@lists.openfabrics.org
  S:    Maintained
+ F:    drivers/infiniband/hw/amso1100/
  
  AOA (Apple Onboard Audio) ALSA DRIVER
  P:    Johannes Berg
@@@ -405,6 -489,7 +489,7 @@@ M: johannes@sipsolutions.ne
  L:    linuxppc-dev@ozlabs.org
  L:    alsa-devel@alsa-project.org (subscribers-only)
  S:    Maintained
+ F:    sound/aoa/
  
  APM DRIVER
  P:    Stephen Rothwell
@@@ -412,48 -497,63 +497,63 @@@ M:      sfr@canb.auug.org.a
  L:    linux-laptop@vger.kernel.org
  W:    http://www.canb.auug.org.au/~sfr/
  S:    Supported
+ F:    arch/x86/kernel/apm_32.c
+ F:    include/linux/apm_bios.h
  
  APPLE BCM5974 MULTITOUCH DRIVER
  P:    Henrik Rydberg
  M:    rydberg@euromail.se
  L:    linux-input@vger.kernel.org
  S:    Maintained
+ F:    drivers/input/mouse/bcm5974.c
  
  APPLE SMC DRIVER
  P:    Nicolas Boichat
  M:    nicolas@boichat.ch
  L:    mactel-linux-devel@lists.sourceforge.net
  S:    Maintained
+ F:    drivers/hwmon/applesmc.c
  
  APPLETALK NETWORK LAYER
  P:    Arnaldo Carvalho de Melo
  M:    acme@ghostprotocols.net
  S:    Maintained
+ F:    drivers/net/appletalk/
+ F:    net/appletalk/
  
  APPLETOUCH TOUCHPAD DRIVER
  P:    Johannes Berg
  M:    johannes@sipsolutions.net
  L:    linux-input@vger.kernel.org
  S:    Maintained
+ F:    Documentation/input/appletouch.txt
+ F:    drivers/input/mouse/appletouch.c
  
  ARC FRAMEBUFFER DRIVER
  P:    Jaya Kumar
  M:    jayalk@intworks.biz
  S:    Maintained
+ F:    drivers/video/arcfb.c
+ F:    drivers/video/fb_defio.c
  
  ARM MFM AND FLOPPY DRIVERS
  P:    Ian Molton
  M:    spyro@f2s.com
  S:    Maintained
+ F:    arch/arm/lib/floppydma.S
+ F:    arch/arm/include/asm/floppy.h
  
  ARM PRIMECELL MMCI PL180/1 DRIVER
  S:    Orphan
+ F:    drivers/mmc/host/mmci.*
  
  ARM/ADI ROADRUNNER MACHINE SUPPORT
  P:    Lennert Buytenhek
  M:    kernel@wantstofly.org
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
  S:    Maintained
+ F:    arch/arm/mach-ixp23xx/
+ F:    arch/arm/mach-ixp23xx/include/mach/
  
  ARM/ADS SPHERE MACHINE SUPPORT
  P:    Lennert Buytenhek
@@@ -507,7 -607,7 +607,7 @@@ ARM/CORTINA SYSTEMS GEMINI ARM ARCHITEC
  P:    Paulius Zaleckas
  M:    paulius.zaleckas@teltonika.lt
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
- T:    git gitorious.org/linux-gemini/mainline.git
+ T:    git git://gitorious.org/linux-gemini/mainline.git
  S:    Maintained
  
  ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
@@@ -636,17 -736,17 +736,17 @@@ P:      Dirk Opfe
  M:    dirk@opfer-online.de
  S:    Maintained
  
- ARM/PALMTX,PALMT5,PALMLD SUPPORT
+ ARM/PALMTX,PALMT5,PALMLD,PALMTE2 SUPPORT
  P:    Marek Vasut
  M:    marek.vasut@gmail.com
  W:    http://hackndev.com
  S:    Maintained
  
  ARM/PALMZ72 SUPPORT
- P:     Sergey Lapin
- M:     slapin@ossfans.org
- W:     http://hackndev.com
- S:     Maintained
+ P:    Sergey Lapin
+ M:    slapin@ossfans.org
+ W:    http://hackndev.com
+ S:    Maintained
  
  ARM/PLEB SUPPORT
  P:    Peter Chubb
@@@ -707,16 -807,17 +807,17 @@@ L:      linux-arm-kernel@lists.arm.linux.org
  S:    Maintained
  
  ARM/NUVOTON W90X900 ARM ARCHITECTURE
- P:      Wan ZongShun
- M:      mcuos.com@gmail.com
- L:      linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
- W:      http://www.mcuos.com
- S:      Maintained
+ P:    Wan ZongShun
+ M:    mcuos.com@gmail.com
+ L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
+ W:    http://www.mcuos.com
+ S:    Maintained
  
  ARPD SUPPORT
  P:    Jonathan Layes
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    net/ipv4/arp.c
  
  ASUS ACPI EXTRAS DRIVER
  P:    Corentin Chary
@@@ -727,12 -828,15 +828,15 @@@ L:      acpi4asus-user@lists.sourceforge.ne
  W:    http://sourceforge.net/projects/acpi4asus
  W:    http://xf.iksaif.net/acpi4asus
  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
  M:    mhoffman@lightlink.com
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    drivers/hwmon/asb100.c
  
  ASUS LAPTOP EXTRAS DRIVER
  P:    Corentin Chary
@@@ -741,6 -845,7 +845,7 @@@ L: acpi4asus-user@lists.sourceforge.ne
  W:    http://sourceforge.net/projects/acpi4asus
  W:    http://xf.iksaif.net/acpi4asus
  S:    Maintained
+ F:    drivers/platform/x86/asus-laptop.c
  
  ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
  P:    Dan Williams
@@@ -750,12 -855,19 +855,19 @@@ M:      maciej.sosnowski@intel.co
  L:    linux-kernel@vger.kernel.org
  W:    http://sourceforge.net/projects/xscaleiop
  S:    Supported
+ F:    Documentation/crypto/async-tx-api.txt
+ F:    crypto/async_tx/
+ F:    drivers/dma/
+ F:    include/linux/dmaengine.h
+ F:    include/linux/async_tx.h
  
  ATA OVER ETHERNET (AOE) DRIVER
  P:    Ed L. Cashin
  M:    ecashin@coraid.com
  W:    http://www.coraid.com/support/linux
  S:    Supported
+ F:    Documentation/aoe/
+ F:    drivers/block/aoe/
  
  ATHEROS ATH5K WIRELESS DRIVER
  P:    Jiri Slaby
@@@ -769,6 -881,7 +881,7 @@@ M: me@bobcopeland.co
  L:    linux-wireless@vger.kernel.org
  L:    ath5k-devel@lists.ath5k.org
  S:    Maintained
+ F:    drivers/net/wireless/ath5k/
  
  ATHEROS ATH9K WIRELESS DRIVER
  P:    Luis R. Rodriguez
@@@ -778,6 -891,7 +891,7 @@@ M: jmalinen@atheros.co
  L:    linux-wireless@vger.kernel.org
  L:    ath9k-devel@lists.ath9k.org
  S:    Supported
+ F:    drivers/net/wireless/ath9k/
  
  ATHEROS AR9170 WIRELESS DRIVER
  P:    Christian Lamparter
@@@ -791,6 -905,7 +905,7 @@@ ATI_REMOTE2 DRIVE
  P:    Ville Syrjala
  M:    syrjala@sci.fi
  S:    Maintained
+ F:    drivers/input/misc/ati_remote2.c
  
  ATLX ETHERNET DRIVERS
  P:    Jay Cliburn
@@@ -803,6 -918,7 +918,7 @@@ L: atl1-devel@lists.sourceforge.ne
  W:    http://sourceforge.net/projects/atl1
  W:    http://atl1.sourceforge.net
  S:    Maintained
+ F:    drivers/net/atlx/
  
  ATM
  P:    Chas Williams
@@@ -811,6 -927,8 +927,8 @@@ L: linux-atm-general@lists.sourceforge.
  L:    netdev@vger.kernel.org
  W:    http://linux-atm.sourceforge.net
  S:    Maintained
+ F:    drivers/atm/
+ F:    include/linux/atm*
  
  ATMEL AT91 MCI DRIVER
  P:    Nicolas Ferre
@@@ -819,28 -937,34 +937,34 @@@ L:      linux-arm-kernel@lists.arm.linux.org
  W:    http://www.atmel.com/products/AT91/
  W:    http://www.at91.com/
  S:    Maintained
+ F:    drivers/mmc/host/at91_mci.c
  
  ATMEL AT91 / AT32 SERIAL DRIVER
  P:    Haavard Skinnemoen
  M:    hskinnemoen@atmel.com
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    drivers/serial/atmel_serial.c
  
  ATMEL LCDFB DRIVER
  P:    Nicolas Ferre
  M:    nicolas.ferre@atmel.com
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/atmel_lcdfb.c
+ F:    include/video/atmel_lcdc.h
  
  ATMEL MACB ETHERNET DRIVER
  P:    Haavard Skinnemoen
  M:    hskinnemoen@atmel.com
  S:    Supported
+ F:    drivers/net/macb.*
  
  ATMEL SPI DRIVER
  P:    Haavard Skinnemoen
  M:    hskinnemoen@atmel.com
  S:    Supported
+ F:    drivers/spi/atmel_spi.*
  
  ATMEL USBA UDC DRIVER
  P:    Haavard Skinnemoen
@@@ -848,6 -972,7 +972,7 @@@ M: hskinnemoen@atmel.co
  L:    kernel@avr32linux.org
  W:    http://avr32linux.org/twiki/bin/view/Main/AtmelUsbDeviceDriver
  S:    Supported
+ F:    drivers/usb/gadget/atmel_usba_udc.*
  
  ATMEL WIRELESS DRIVER
  P:    Simon Kelley
@@@ -856,6 -981,7 +981,7 @@@ L: linux-wireless@vger.kernel.or
  W:    http://www.thekelleys.org.uk/atmel
  W:    http://atmelwlandriver.sourceforge.net/
  S:    Maintained
+ F:    drivers/net/wireless/atmel*
  
  AUDIT SUBSYSTEM
  P:    Al Viro
@@@ -864,8 -990,10 +990,10 @@@ P:       Eric Pari
  M:    eparis@redhat.com
  L:    linux-audit@redhat.com (subscribers-only)
  W:    http://people.redhat.com/sgrubb/audit/
- T:    git git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
  S:    Maintained
+ F:    include/linux/audit.h
+ F:    kernel/audit*
  
  AUXILIARY DISPLAY DRIVERS
  P:    Miguel Ojeda Sandonis
@@@ -874,6 -1002,8 +1002,8 @@@ L:       linux-kernel@vger.kernel.or
  W:    http://miguelojeda.es/auxdisplay.htm
  W:    http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
  S:    Maintained
+ F:    drivers/auxdisplay/
+ F:    include/linux/cfag12864b.h
  
  AVR32 ARCHITECTURE
  P:    Haavard Skinnemoen
@@@ -882,11 -1012,13 +1012,13 @@@ W:    http://www.atmel.com/products/AVR32
  W:    http://avr32linux.org/
  W:    http://avrfreaks.net/
  S:    Supported
+ F:    arch/avr32/
  
  AVR32/AT32AP MACHINE SUPPORT
  P:    Haavard Skinnemoen
  M:    hskinnemoen@atmel.com
  S:    Supported
+ F:    arch/avr32/mach-at32ap/
  
  AX.25 NETWORK LAYER
  P:    Ralf Baechle
@@@ -894,6 -1026,9 +1026,9 @@@ M:       ralf@linux-mips.or
  L:    linux-hams@vger.kernel.org
  W:    http://www.linux-ax25.org/
  S:    Maintained
+ F:    include/linux/ax25.h
+ F:    include/net/ax25.h
+ F:    net/ax25/
  
  B43 WIRELESS DRIVER
  P:    Michael Buesch
@@@ -903,6 -1038,7 +1038,7 @@@ M:       stefano.brivio@polimi.i
  L:    linux-wireless@vger.kernel.org
  W:    http://linuxwireless.org/en/users/Drivers/b43
  S:    Maintained
+ F:    drivers/net/wireless/b43/
  
  B43LEGACY WIRELESS DRIVER
  P:    Larry Finger
@@@ -912,11 -1048,14 +1048,14 @@@ M:    stefano.brivio@polimi.i
  L:    linux-wireless@vger.kernel.org
  W:    http://linuxwireless.org/en/users/Drivers/b43
  S:    Maintained
+ F:    drivers/net/wireless/b43legacy/
  
  BACKLIGHT CLASS/SUBSYSTEM
  P:    Richard Purdie
  M:    rpurdie@rpsys.net
  S:    Maintained
+ F:    drivers/video/backlight/
+ F:    include/linux/backlight.h
  
  BAYCOM/HDLCDRV DRIVERS FOR AX.25
  P:    Thomas Sailer
@@@ -924,18 -1063,24 +1063,24 @@@ M:    t.sailer@alumni.ethz.c
  L:    linux-hams@vger.kernel.org
  W:    http://www.baycom.org/~tom/ham/ham.html
  S:    Maintained
+ F:    drivers/net/hamradio/baycom*
  
  BEFS FILE SYSTEM
  P:    Sergey S. Kostyliov
  M:    rathamahata@php4.ru
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/befs.txt
+ F:    fs/befs/
  
  BFS FILE SYSTEM
  P:    Tigran A. Aivazian
  M:    tigran@aivazian.fsnet.co.uk
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/bfs.txt
+ F:    fs/bfs/
+ F:    include/linux/bfs_fs.h
  
  BLACKFIN ARCHITECTURE
  P:    Bryan Wu
@@@ -943,6 -1088,7 +1088,7 @@@ M:       cooloney@kernel.or
  L:    uclinux-dist-devel@blackfin.uclinux.org
  W:    http://blackfin.uclinux.org
  S:    Supported
+ F:    arch/blackfin/
  
  BLACKFIN EMAC DRIVER
  P:    Bryan Wu
@@@ -950,6 -1096,7 +1096,7 @@@ M:       cooloney@kernel.or
  L:    uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
  W:    http://blackfin.uclinux.org
  S:    Supported
+ F:    drivers/net/bfin_mac.*
  
  BLACKFIN RTC DRIVER
  P:    Mike Frysinger
@@@ -957,6 -1104,7 +1104,7 @@@ M:       vapier.adi@gmail.co
  L:    uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
  W:    http://blackfin.uclinux.org
  S:    Supported
+ F:    drivers/rtc/rtc-bfin.c
  
  BLACKFIN SERIAL DRIVER
  P:    Sonic Zhang
@@@ -964,6 -1112,7 +1112,7 @@@ M:       sonic.zhang@analog.co
  L:    uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
  W:    http://blackfin.uclinux.org
  S:    Supported
+ F:    drivers/serial/bfin_5xx.c
  
  BLACKFIN WATCHDOG DRIVER
  P:    Mike Frysinger
@@@ -971,6 -1120,7 +1120,7 @@@ M:       vapier.adi@gmail.co
  L:    uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
  W:    http://blackfin.uclinux.org
  S:    Supported
+ F:    drivers/watchdog/bfin_wdt.c
  
  BLACKFIN I2C TWI DRIVER
  P:    Sonic Zhang
@@@ -978,19 -1128,22 +1128,22 @@@ M:    sonic.zhang@analog.co
  L:    uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
  W:    http://blackfin.uclinux.org/
  S:    Supported
+ F:    drivers/i2c/busses/i2c-bfin-twi.c
  
  BLOCK LAYER
  P:    Jens Axboe
  M:    axboe@kernel.dk
  L:    linux-kernel@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
+ 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
  M:    joern@lazybastard.org
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
+ F:    drivers/mtd/devices/block2mtd.c
  
  BLUETOOTH DRIVERS
  P:    Marcel Holtmann
@@@ -998,14 -1151,17 +1151,17 @@@ M:    marcel@holtmann.or
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
  S:    Maintained
+ F:    drivers/bluetooth/
  
  BLUETOOTH SUBSYSTEM
  P:    Marcel Holtmann
  M:    marcel@holtmann.org
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6.git
  S:    Maintained
+ F:    net/bluetooth/
+ F:    include/net/bluetooth/
  
  BONDING DRIVER
  P:    Jay Vosburgh
@@@ -1013,24 -1169,30 +1169,30 @@@ M:   fubar@us.ibm.co
  L:    bonding-devel@lists.sourceforge.net
  W:    http://sourceforge.net/projects/bonding/
  S:    Supported
+ F:    drivers/net/bonding/
+ F:    include/linux/if_bonding.h
  
  BROADCOM B44 10/100 ETHERNET DRIVER
  P:    Gary Zambrano
  M:    zambrano@broadcom.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/b44.*
  
  BROADCOM BNX2 GIGABIT ETHERNET DRIVER
  P:    Michael Chan
  M:    mchan@broadcom.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/bnx2.*
+ F:    drivers/net/bnx2_*
  
  BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
  P:    Eilon Greenstein
  M:    eilong@broadcom.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/bnx2x*
  
  BROADCOM TG3 GIGABIT ETHERNET DRIVER
  P:    Matt Carlson
@@@ -1039,41 -1201,51 +1201,51 @@@ P:   Michael Cha
  M:    mchan@broadcom.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/tg3.*
  
  BSG (block layer generic sg v4 driver)
  P:    FUJITA Tomonori
  M:    fujita.tomonori@lab.ntt.co.jp
  L:    linux-scsi@vger.kernel.org
  S:    Supported
+ F:    block/bsg.c
+ F:    include/linux/bsg.h
  
  BT8XXGPIO DRIVER
  P:    Michael Buesch
  M:    mb@bu3sch.de
  W:    http://bu3sch.de/btgpio.php
  S:    Maintained
+ F:    drivers/gpio/bt8xxgpio.c
  
  BTRFS FILE SYSTEM
  P:    Chris Mason
  M:    chris.mason@oracle.com
  L:    linux-btrfs@vger.kernel.org
  W:    http://btrfs.wiki.kernel.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/mason/btrfs-unstable.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git
  S:    Maintained
+ F:    Documentation/filesystems/btrfs.txt
+ F:    fs/btrfs/
  
  BTTV VIDEO4LINUX DRIVER
  P:    Mauro Carvalho Chehab
  M:    mchehab@infradead.org
  L:    linux-media@vger.kernel.org
  W:    http://linuxtv.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  S:    Maintained
+ F:    Documentation/video4linux/bttv/
+ F:    drivers/media/video/bt8xx/bttv*
  
  CAFE CMOS INTEGRATED CAMERA CONTROLLER DRIVER
  P:    Jonathan Corbet
  M:    corbet@lwn.net
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  S:    Maintained
+ F:    Documentation/video4linux/cafe_ccic
+ F:    drivers/media/video/cafe_ccic*
  
  CALGARY x86-64 IOMMU
  P:    Muli Ben-Yehuda
@@@ -1083,6 -1255,10 +1255,10 @@@ M:    jdmason@kudzu.u
  L:    linux-kernel@vger.kernel.org
  L:    discuss@x86-64.org
  S:    Maintained
+ F:    arch/x86/kernel/pci-calgary_64.c
+ F:    arch/x86/kernel/tce_64.c
+ F:    arch/x86/include/asm/calgary.h
+ F:    arch/x86/include/asm/tce.h
  
  CAN NETWORK LAYER
  P:    Urs Thuermann
@@@ -1092,6 -1268,9 +1268,9 @@@ M:      oliver.hartkopp@volkswagen.d
  L:    socketcan-core@lists.berlios.de (subscribers-only)
  W:    http://developer.berlios.de/projects/socketcan/
  S:    Maintained
+ F:    drivers/net/can/
+ F:    include/linux/can/
+ F:    include/linux/can.h
  
  CELL BROADBAND ENGINE ARCHITECTURE
  P:    Arnd Bergmann
@@@ -1100,12 -1279,23 +1279,23 @@@ L:   linuxppc-dev@ozlabs.or
  L:    cbe-oss-dev@ozlabs.org
  W:    http://www.ibm.com/developerworks/power/cell/
  S:    Supported
+ F:    arch/powerpc/include/asm/cell*.h
+ F:    arch/powerpc/include/asm/lv1call.h
+ F:    arch/powerpc/include/asm/ps3*.h
+ F:    arch/powerpc/include/asm/spu*.h
+ F:    arch/powerpc/oprofile/*cell*
+ F:    arch/powerpc/platforms/cell/
+ F:    arch/powerpc/platforms/ps3/
  
  CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
  P:    David Vrabel
  M:    david.vrabel@csr.com
  L:    linux-usb@vger.kernel.org
  S:    Supported
+ F:    Documentation/usb/WUSB-Design-overview.txt
+ F:    Documentation/usb/wusb-cbaf
+ F:    drivers/usb/wusbcore/
+ F:    include/linux/usb/wusb*
  
  CFAG12864B LCD DRIVER
  P:    Miguel Ojeda Sandonis
@@@ -1114,6 -1304,8 +1304,8 @@@ L:      linux-kernel@vger.kernel.or
  W:    http://miguelojeda.es/auxdisplay.htm
  W:    http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
  S:    Maintained
+ F:    drivers/auxdisplay/cfag12864b.c
+ F:    include/linux/cfag12864b.h
  
  CFAG12864BFB LCD FRAMEBUFFER DRIVER
  P:    Miguel Ojeda Sandonis
@@@ -1122,18 -1314,25 +1314,25 @@@ L:   linux-kernel@vger.kernel.or
  W:    http://miguelojeda.es/auxdisplay.htm
  W:    http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
  S:    Maintained
+ F:    drivers/auxdisplay/cfag12864bfb.c
+ F:    include/linux/cfag12864b.h
  
  CFG80211 and NL80211
  P:    Johannes Berg
  M:    johannes@sipsolutions.net
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
+ F:    include/linux/nl80211.h
+ F:    include/net/cfg80211.h
+ F:    net/wireless/*
+ X:    net/wireless/wext*
  
  CHECKPATCH
  P:    Andy Whitcroft
  M:    apw@canonical.com
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    scripts/checkpatch.pl
  
  CISCO 10G ETHERNET DRIVER
  P:    Scott Feldman
@@@ -1141,24 -1340,28 +1340,28 @@@ M:   scofeldm@cisco.co
  P:    Joe Eykholt
  M:    jeykholt@cisco.com
  S:    Supported
+ F:    drivers/net/enic/
  
  CIRRUS LOGIC EP93XX ETHERNET DRIVER
  P:    Lennert Buytenhek
  M:    kernel@wantstofly.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/arm/ep93xx_eth.c
  
  CIRRUS LOGIC EP93XX OHCI USB HOST DRIVER
  P:    Lennert Buytenhek
  M:    kernel@wantstofly.org
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/host/ohci-ep93xx.c
  
  CIRRUS LOGIC CS4270 SOUND DRIVER
  P:    Timur Tabi
  M:    timur@freescale.com
  L:    alsa-devel@alsa-project.org
  S:    Supported
+ F:    sound/soc/codecs/cs4270*
  
  CIRRUS LOGIC CS4280/CS461x SOUNDDRIVER
  P:    Cirrus Logic Corporation (kernel 2.2 driver)
@@@ -1166,6 -1369,8 +1369,8 @@@ M:      Cirrus Logic Corporation, Thomas Wol
  P:    Nils Faerber (port to kernel 2.4)
  M:    Nils Faerber <nils@kernelconcepts.de>
  S:    Maintained
+ F:    Documentation/input/cs461x.txt
+ F:    sound/pci/cs46xx/
  
  CODA FILE SYSTEM
  P:    Jan Harkes
@@@ -1174,6 -1379,9 +1379,9 @@@ M:      coda@cs.cmu.ed
  L:    codalist@coda.cs.cmu.edu
  W:    http://www.coda.cs.cmu.edu/
  S:    Maintained
+ F:    Documentation/filesystems/coda.txt
+ F:    fs/coda/
+ F:    include/linux/coda*.h
  
  COMMON INTERNET FILE SYSTEM (CIFS)
  P:    Steve French
@@@ -1181,8 -1389,10 +1389,10 @@@ M:    sfrench@samba.or
  L:    linux-cifs-client@lists.samba.org
  L:    samba-technical@lists.samba.org
  W:    http://linux-cifs.samba.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
  S:    Supported
+ F:    Documentation/filesystems/cifs.txt
+ F:    fs/cifs/
  
  COMPACTPCI HOTPLUG CORE
  P:    Scott Murray
@@@ -1190,6 -1400,7 +1400,7 @@@ M:      scottm@somanetworks.co
  M:    scott@spiteful.org
  L:    linux-pci@vger.kernel.org
  S:    Supported
+ F:    drivers/pci/hotplug/cpci_hotplug*
  
  COMPACTPCI HOTPLUG ZIATECH ZT5550 DRIVER
  P:    Scott Murray
@@@ -1197,6 -1408,7 +1408,7 @@@ M:      scottm@somanetworks.co
  M:    scott@spiteful.org
  L:    linux-pci@vger.kernel.org
  S:    Supported
+ F:    drivers/pci/hotplug/cpcihp_zt5550.*
  
  COMPACTPCI HOTPLUG GENERIC DRIVER
  P:    Scott Murray
@@@ -1204,17 -1416,21 +1416,21 @@@ M:   scottm@somanetworks.co
  M:    scott@spiteful.org
  L:    linux-pci@vger.kernel.org
  S:    Supported
+ F:    drivers/pci/hotplug/cpcihp_generic.c
  
  COMPAL LAPTOP SUPPORT
  P:    Cezary Jackiewicz
  M:    cezary.jackiewicz@gmail.com
  S:    Maintained
+ F:    drivers/platform/x86/compal-laptop.c
  
  COMPUTONE INTELLIPORT MULTIPORT CARD
  P:    Michael H. Warfield
  M:    mhw@wittsend.com
  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
@@@ -1222,12 -1438,15 +1438,15 @@@ M:   cxacru@fire.lp0.e
  L:    accessrunner-general@lists.sourceforge.net
  W:    http://accessrunner.sourceforge.net/
  S:    Maintained
+ F:    drivers/usb/atm/cxacru.c
  
  CONFIGFS
  P:    Joel Becker
  M:    joel.becker@oracle.com
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    fs/configfs/
+ F:    include/linux/configfs.h
  
  CONTROL GROUPS (CGROUPS)
  P:    Paul Menage
@@@ -1236,31 -1455,41 +1455,41 @@@ P:   Li Zefa
  M:    lizf@cn.fujitsu.com
  L:    containers@lists.linux-foundation.org
  S:    Maintained
+ F:    include/linux/cgroup*
+ F:    kernel/cgroup*
  
  CORETEMP HARDWARE MONITORING DRIVER
  P:    Rudolf Marek
  M:    r.marek@assembler.cz
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/coretemp
+ F:    drivers/hwmon/coretemp.c
  
  COSA/SRP SYNC SERIAL DRIVER
  P:    Jan "Yenya" Kasprzak
  M:    kas@fi.muni.cz
  W:    http://www.fi.muni.cz/~kas/cosa/
  S:    Maintained
+ F:    drivers/net/wan/cosa*
  
  CPU FREQUENCY DRIVERS
  P:    Dave Jones
  M:    davej@redhat.com
  L:    cpufreq@vger.kernel.org
  W:    http://www.codemonkey.org.uk/projects/cpufreq/
- T:    git kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git
  S:    Maintained
+ F:    arch/x86/kernel/cpu/cpufreq/
+ F:    drivers/cpufreq/
+ F:    include/linux/cpufreq.h
  
  CPUID/MSR DRIVER
  P:    H. Peter Anvin
  M:    hpa@zytor.com
  S:    Maintained
+ F:    arch/x86/kernel/cpuid.c
+ F:    arch/x86/kernel/msr.c
  
  CPUSETS
  P:    Paul Menage
@@@ -1269,10 -1498,15 +1498,15 @@@ L:   linux-kernel@vger.kernel.or
  W:    http://www.bullopensource.org/cpuset/
  W:    http://oss.sgi.com/projects/cpusets/
  S:    Supported
+ F:    Documentation/cgroups/cpusets.txt
+ F:    include/linux/cpuset.h
+ F:    kernel/cpuset.c
  
  CRAMFS FILESYSTEM
  W:    http://sourceforge.net/projects/cramfs/
  S:    Orphan
+ F:    Documentation/filesystems/cramfs.txt
+ F:    fs/cramfs/
  
  CRIS PORT
  P:    Mikael Starvik
@@@ -1282,6 -1516,7 +1516,7 @@@ M:      jesper.nilsson@axis.co
  L:    dev-etrax@axis.com
  W:    http://developer.axis.com
  S:    Maintained
+ F:    arch/cris/
  
  CRYPTO API
  P:    Herbert Xu
@@@ -1289,8 -1524,13 +1524,13 @@@ M:    herbert@gondor.apana.org.a
  P:    David S. Miller
  M:    davem@davemloft.net
  L:    linux-crypto@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git
  S:    Maintained
+ F:    Documentation/crypto/
+ F:    arch/*/crypto/
+ F:    crypto/
+ F:    drivers/crypto/
+ F:    include/crypto/
  
  CRYPTOGRAPHIC RANDOM NUMBER GENERATOR
  P:    Neil Horman
@@@ -1302,16 -1542,21 +1542,21 @@@ CS5535 Audio ALSA drive
  P:    Jaya Kumar
  M:    jayakumar.alsa@gmail.com
  S:    Maintained
+ F:    sound/pci/cs5535audio/
  
  CX18 VIDEO4LINUX DRIVER
- P:    Hans Verkuil, Andy Walls
- M:    hverkuil@xs4all.nl, awalls@radix.net
+ P:    Hans Verkuil
+ M:    hverkuil@xs4all.nl
+ P:    Andy Walls
+ M:    awalls@radix.net
  L:    ivtv-devel@ivtvdriver.org
  L:    ivtv-users@ivtvdriver.org
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://linuxtv.org
  S:    Maintained
+ F:    Documentation/video4linux/cx18.txt
+ F:    drivers/media/video/cx18/
  
  CXGB3 ETHERNET DRIVER (CXGB3)
  P:    Divy Le Ray
@@@ -1319,6 -1564,7 +1564,7 @@@ M:      divy@chelsio.co
  L:    netdev@vger.kernel.org
  W:    http://www.chelsio.com
  S:    Supported
+ F:    drivers/net/cxgb3/
  
  CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
  P:    Steve Wise
@@@ -1326,32 -1572,32 +1572,32 @@@ M:   swise@chelsio.co
  L:    general@lists.openfabrics.org
  W:    http://www.openfabrics.org
  S:    Supported
+ F:    drivers/infiniband/hw/cxgb3/
  
  CYBERPRO FB DRIVER
  P:    Russell King
  M:    rmk@arm.linux.org.uk
  W:    http://www.arm.linux.org.uk/
  S:    Maintained
- CYBLAFB FRAMEBUFFER DRIVER
- P:    Knut Petersen
- M:    Knut_Petersen@t-online.de
- L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
- S:    Maintained
+ F:    drivers/video/cyber2000fb.*
  
  CYCLADES 2X SYNC CARD DRIVER
  P:    Arnaldo Carvalho de Melo
  M:    acme@ghostprotocols.net
  W:    http://oops.ghostprotocols.net:81/blog
  S:    Maintained
+ F:    drivers/net/wan/cycx*
  
  CYCLADES ASYNC MUX DRIVER
  W:    http://www.cyclades.com/
  S:    Orphan
+ F:    drivers/char/cyclades.c
+ F:    include/linux/cyclades.h
  
  CYCLADES PC300 DRIVER
  W:    http://www.cyclades.com/
  S:    Orphan
+ F:    drivers/net/wan/pc300*
  
  DAMA SLAVE for AX.25
  P:    Joerg Reuter
@@@ -1360,12 -1606,21 +1606,21 @@@ W:   http://yaina.de/jreuter
  W:    http://www.qsl.net/dl1bke/
  L:    linux-hams@vger.kernel.org
  S:    Maintained
+ F:    net/ax25/af_ax25.c
+ F:    net/ax25/ax25_dev.c
+ F:    net/ax25/ax25_ds_*
+ F:    net/ax25/ax25_in.c
+ F:    net/ax25/ax25_out.c
+ F:    net/ax25/ax25_timer.c
+ F:    net/ax25/sysctl_net_ax25.c
  
  DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
  P:    Tobias Ringstrom
  M:    tori@unhappy.mine.nu
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    Documentation/networking/dmfe.txt
+ F:    drivers/net/tulip/dmfe.c
  
  DC390/AM53C974 SCSI driver
  P:    Kurt Garloff
@@@ -1374,6 -1629,7 +1629,7 @@@ W:      http://www.garloff.de/kurt/linux/dc3
  P:    Guennadi Liakhovetski
  M:    g.liakhovetski@gmx.de
  S:    Maintained
+ F:    drivers/scsi/tmscsim.*
  
  DC395x SCSI driver
  P:    Oliver Neukum
@@@ -1386,6 -1642,8 +1642,8 @@@ W:      http://twibble.org/dist/dc395x
  L:    dc395x@twibble.org
  L:    http://lists.twibble.org/mailman/listinfo/dc395x/
  S:    Maintained
+ F:    Documentation/scsi/dc395x.txt
+ F:    drivers/scsi/dc395x.*
  
  DCCP PROTOCOL
  P:    Arnaldo Carvalho de Melo
@@@ -1393,6 -1651,9 +1651,9 @@@ M:      acme@ghostprotocols.ne
  L:    dccp@vger.kernel.org
  W:    http://linux-net.osdl.org/index.php/DCCP
  S:    Maintained
+ F:    include/linux/dccp.h
+ F:    include/linux/tfrc.h
+ F:    net/dccp/
  
  DECnet NETWORK LAYER
  P:    Christine Caulfield
@@@ -1400,27 -1661,35 +1661,35 @@@ M:   christine.caulfield@googlemail.co
  W:    http://linux-decnet.sourceforge.net
  L:    linux-decnet-user@lists.sourceforge.net
  S:    Maintained
+ F:    Documentation/networking/decnet.txt
+ F:    net/decnet/
  
  DEFXX FDDI NETWORK DRIVER
  P:    Maciej W. Rozycki
  M:    macro@linux-mips.org
  S:    Maintained
+ F:    drivers/net/defxx.*
  
  DELL LAPTOP DRIVER
  P:    Matthew Garrett
  M:    mjg59@srcf.ucam.org
  S:    Maintained
+ F:    drivers/platform/x86/dell-laptop.c
  
  DELL LAPTOP SMM DRIVER
  P:    Massimo Dal Zotto
  M:    dz@debian.org
  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
  M:    Douglas_Warzecha@dell.com
  S:    Maintained
+ F:    Documentation/dcdbas.txt
+ F:    drivers/firmware/dcdbas.*
  
  DELL WMI EXTRAS DRIVER
  P:    Matthew Garrett
@@@ -1439,6 -1708,10 +1708,10 @@@ P:    Alasdair Kergo
  L:    dm-devel@redhat.com
  W:    http://sources.redhat.com/dm
  S:    Maintained
+ F:    Documentation/device-mapper/
+ F:    drivers/md/dm*
+ F:    include/linux/device-mapper.h
+ F:    include/linux/dm-*.h
  
  DIGI INTL. EPCA DRIVER
  P:    Digi International, Inc
@@@ -1446,12 -1719,18 +1719,18 @@@ M:   Eng.Linux@digi.co
  L:    Eng.Linux@digi.com
  W:    http://www.digi.com
  S:    Orphan
+ F:    Documentation/serial/digiepca.txt
+ F:    drivers/char/epca*
+ F:    drivers/char/digi*
  
  DIRECTORY NOTIFICATION (DNOTIFY)
  P:    Stephen Rothwell
  M:    sfr@canb.auug.org.au
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    Documentation/filesystems/dnotify.txt
+ F:    fs/notify/dnotify/
+ F:    include/linux/dnotify.h
  
  DISK GEOMETRY AND PARTITION HANDLING
  P:    Andries Brouwer
@@@ -1466,6 -1745,9 +1745,9 @@@ P:      Jan Kar
  M:    jack@suse.cz
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/quota.txt
+ F:    fs/quota/
+ F:    include/linux/quota*.h
  
  DISTRIBUTED LOCK MANAGER (DLM)
  P:    Christine Caulfield
@@@ -1474,8 -1756,9 +1756,9 @@@ P:      David Teiglan
  M:    teigland@redhat.com
  L:    cluster-devel@redhat.com
  W:    http://sources.redhat.com/cluster/
- T:    git kernel.org:/pub/scm/linux/kernel/git/teigland/dlm.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm.git
  S:    Supported
+ F:    fs/dlm/
  
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
  P:    Maciej Sosnowski
@@@ -1484,12 -1767,16 +1767,16 @@@ P:   Dan William
  M:    dan.j.williams@intel.com
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    drivers/dma/
+ F:    include/linux/dma*
  
  DME1737 HARDWARE MONITOR DRIVER
  P:    Juerg Haefliger
  M:    juergh@gmail.com
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/dme1737
+ F:    drivers/hwmon/dme1737.c
  
  DOCBOOK FOR DOCUMENTATION
  P:    Randy Dunlap
@@@ -1501,18 -1788,22 +1788,22 @@@ P:   Shaohua L
  M:    shaohua.li@intel.com
  L:    linux-acpi@vger.kernel.org
  S:    Supported
+ F:    drivers/acpi/dock.c
  
- DOCUMENTATION (/Documentation directory)
+ DOCUMENTATION
  P:    Randy Dunlap
  M:    rdunlap@xenotime.net
  L:    linux-doc@vger.kernel.org
  S:    Maintained
+ F:    Documentation/
  
  DOUBLETALK DRIVER
  P:    James R. Van Zandt
  M:    jrv@vanzandt.mv.com
  L:    blinux-list@redhat.com
  S:    Maintained
+ F:    drivers/char/dtlk.c
+ F:    include/linux/dtlk.h
  
  DPT_I2O SCSI RAID DRIVER
  P:    Adaptec OEM Raid Solutions
@@@ -1520,6 -1811,8 +1811,8 @@@ M:      aacraid@adaptec.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.adaptec.com/
  S:    Maintained
+ F:    drivers/scsi/dpt*
+ F:    drivers/scsi/dpt/
  
  DRIVER CORE, KOBJECTS, AND SYSFS
  P:    Greg Kroah-Hartman
@@@ -1527,48 -1820,55 +1820,55 @@@ M:   gregkh@suse.d
  L:    linux-kernel@vger.kernel.org
  T:    quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
  S:    Supported
+ F:    Documentation/kobject.txt
+ F:    drivers/base/
+ F:    fs/sysfs/
+ F:    include/linux/kobj*
+ F:    lib/kobj*
  
  DRM DRIVERS
  P:    David Airlie
  M:    airlied@linux.ie
  L:    dri-devel@lists.sourceforge.net
- T:    git kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
+ 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
  M:    romieu@fr.zoreil.com
  L:    netdev@vger.kernel.org
  S:    Maintained
- DVB SUBSYSTEM AND DRIVERS
- P:    LinuxTV.org Project
- M:    linux-media@vger.kernel.org
- W:    http://linuxtv.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
- S:    Maintained
+ F:    drivers/net/wan/dscc4.c
  
  DZ DECSTATION DZ11 SERIAL DRIVER
  P:    Maciej W. Rozycki
  M:    macro@linux-mips.org
  S:    Maintained
+ F:    drivers/serial/dz.*
  
  EATA-DMA SCSI DRIVER
  P:    Michael Neuffer
- L:    linux-eata@i-connect.net, linux-scsi@vger.kernel.org
+ M:    mike@i-Connect.Net
+ L:    linux-eata@i-connect.net
+ L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/eata*
  
  EATA ISA/EISA/PCI SCSI DRIVER
  P:    Dario Ballabio
  M:    ballabio_dario@emc.com
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/eata.c
  
  EATA-PIO SCSI DRIVER
  P:    Michael Neuffer
  M:    mike@i-Connect.Net
- L:    linux-eata@i-connect.net, linux-scsi@vger.kernel.org
+ L:    linux-eata@i-connect.net
+ L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/eata_pio.*
  
  EBTABLES
  P:    Bart De Schuymer
@@@ -1577,13 -1877,19 +1877,19 @@@ L:   ebtables-user@lists.sourceforge.ne
  L:    ebtables-devel@lists.sourceforge.net
  W:    http://ebtables.sourceforge.net/
  S:    Maintained
+ F:    include/linux/netfilter_bridge/ebt_*.h
+ F:    net/bridge/netfilter/ebt*.c
  
  ECRYPT FILE SYSTEM
- P:    Tyler Hicks, Dustin Kirkland
- M:    tyhicks@linux.vnet.ibm.com, kirkland@canonical.com
+ P:    Tyler Hicks
+ M:    tyhicks@linux.vnet.ibm.com
+ M:    Dustin Kirkland
+ P:    kirkland@canonical.com
  L:    ecryptfs-devel@lists.launchpad.net
  W:    https://launchpad.net/ecryptfs
  S:    Supported
+ F:    Documentation/filesystems/ecryptfs.txt
+ F:    fs/ecryptfs/
  
  EDAC-CORE
  P:    Doug Thompson
@@@ -1591,6 -1897,9 +1897,9 @@@ M:      dougthompson@xmission.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Supported
+ F:    Documentation/edac.txt
+ F:    drivers/edac/edac_*
+ F:    include/linux/edac.h
  
  EDAC-E752X
  P:    Mark Gross
@@@ -1600,6 -1909,7 +1909,7 @@@ M:      dougthompson@xmission.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/e752x_edac.c
  
  EDAC-E7XXX
  P:    Doug Thompson
@@@ -1607,6 -1917,7 +1917,7 @@@ M:      dougthompson@xmission.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/e7xxx_edac.c
  
  EDAC-I82443BXGX
  P:    Tim Small
@@@ -1614,6 -1925,7 +1925,7 @@@ M:      tim@buttersideup.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/i82443bxgx_edac.c
  
  EDAC-I3000
  P:    Jason Uhlenkott
@@@ -1621,6 -1933,7 +1933,7 @@@ M:      juhlenko@akamai.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/i3000_edac.c
  
  EDAC-I5000
  P:    Doug Thompson
@@@ -1628,6 -1941,7 +1941,7 @@@ M:      dougthompson@xmission.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/i5000_edac.c
  
  EDAC-I5400
  P:    Mauro Carvalho Chehab
@@@ -1635,6 -1949,7 +1949,7 @@@ M:      mchehab@redhat.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/i5400_edac.c
  
  EDAC-I82975X
  P:    Ranganathan Desikan
@@@ -1644,6 -1959,7 +1959,7 @@@ M:      arvind@acarlab.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/i82975x_edac.c
  
  EDAC-PASEMI
  P:    Egor Martovetsky
@@@ -1651,6 -1967,7 +1967,7 @@@ M:      egor@pasemi.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/pasemi_edac.c
  
  EDAC-R82600
  P:    Tim Small
@@@ -1658,6 -1975,7 +1975,7 @@@ M:      tim@buttersideup.co
  L:    bluesmoke-devel@lists.sourceforge.net
  W:    bluesmoke.sourceforge.net
  S:    Maintained
+ F:    drivers/edac/r82600_edac.c
  
  EEEPC LAPTOP EXTRAS DRIVER
  P:    Corentin Chary
@@@ -1665,10 -1983,12 +1983,12 @@@ M:   corentincj@iksaif.ne
  L:    acpi4asus-user@lists.sourceforge.net
  W:    http://sourceforge.net/projects/acpi4asus
  S:    Maintained
+ F:    drivers/platform/x86/eeepc-laptop.c
  
  EFS FILESYSTEM
  W:    http://aeschi.ch.eu.org/efs/
  S:    Orphan
+ F:    fs/efs/
  
  EHCA (IBM GX bus InfiniBand adapter) DRIVER
  P:    Hoang-Nam Nguyen
@@@ -1677,6 -1997,7 +1997,7 @@@ P:      Christoph Raisc
  M:    raisch@de.ibm.com
  L:    general@lists.openfabrics.org
  S:    Supported
+ F:    drivers/infiniband/hw/ehca/
  
  EMBEDDED LINUX
  P:    Paul Gortmaker
@@@ -1692,22 -2013,29 +2013,29 @@@ M:   james.smart@emulex.co
  L:    linux-scsi@vger.kernel.org
  W:    http://sourceforge.net/projects/lpfcxxxx
  S:    Supported
+ F:    drivers/scsi/lpfc/
  
  EPSON 1355 FRAMEBUFFER DRIVER
  P:    Christopher Hoover
- M:    ch@murgatroid.com, ch@hpl.hp.com
+ M:    ch@murgatroid.com
+ P:    Christopher Hoover
+ M:    ch@hpl.hp.com
  S:    Maintained
+ F:    drivers/video/epson1355fb.c
  
  EPSON S1D13XXX FRAMEBUFFER DRIVER
  P:    Kristoffer Ericson
  M:    kristoffer.ericson@gmail.com
  S:    Maintained
+ F:    drivers/video/s1d13xxxfb.c
+ F:    include/video/s1d13xxxfb.h
  
  ETHEREXPRESS-16 NETWORK DRIVER
  P:    Philip Blundell
  M:    philb@gnu.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/eexpress.*
  
  ETHERNET BRIDGE
  P:    Stephen Hemminger
@@@ -1715,87 -2043,126 +2043,126 @@@ M: shemminger@linux-foundation.or
  L:    bridge@lists.linux-foundation.org
  W:    http://www.linux-foundation.org/en/Net:Bridge
  S:    Maintained
+ F:    include/linux/netfilter_bridge/
+ F:    net/bridge/
  
  ETHERTEAM 16I DRIVER
  P:    Mika Kuoppala
  M:    miku@iki.fi
  S:    Maintained
+ F:    drivers/net/eth16i.c
  
  EXT2 FILE SYSTEM
  L:    linux-ext4@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/ext2.txt
+ F:    fs/ext2/
+ F:    include/linux/ext2*
  
  EXT3 FILE SYSTEM
- P:    Stephen Tweedie, Andrew Morton
- M:    sct@redhat.com, akpm@linux-foundation.org, adilger@sun.com
+ P:    Stephen Tweedie
+ M:    sct@redhat.com
+ P:    Andrew Morton
+ M:    akpm@linux-foundation.org
+ P:    Andreas Dilger
+ M:    adilger@sun.com
  L:    linux-ext4@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/ext3.txt
+ F:    fs/ext3/
+ F:    include/linux/ext3*
  
  EXT4 FILE SYSTEM
  P:    Theodore Ts'o
- M:    tytso@mit.edu, adilger@sun.com
+ M:    tytso@mit.edu
+ P:    Andreas Dilger
+ M:    adilger@sun.com
  L:    linux-ext4@vger.kernel.org
  W:    http://ext4.wiki.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/ext4.txt
+ F:    fs/ext4/
  
  F71805F HARDWARE MONITORING DRIVER
  P:    Jean Delvare
  M:    khali@linux-fr.org
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/f71805f
+ F:    drivers/hwmon/f71805f.c
  
  FARSYNC SYNCHRONOUS DRIVER
  P:    Kevin Curtis
  M:    kevin.curtis@farsite.co.uk
  W:    http://www.farsite.co.uk/
  S:    Supported
+ F:    drivers/net/wan/farsync.*
  
  FAULT INJECTION SUPPORT
  P:    Akinobu Mita
  M:    akinobu.mita@gmail.com
  S:    Supported
+ F:    Documentation/fault-injection/
+ F:    lib/fault-inject.c
  
  FILE LOCKING (flock() and fcntl()/lockf())
  P:    Matthew Wilcox
  M:    matthew@wil.cx
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
+ F:    include/linux/fcntl.h
+ F:    include/linux/fs.h
+ F:    fs/fcntl.c
+ F:    fs/locks.c
  
  FILESYSTEMS (VFS and infrastructure)
  P:    Alexander Viro
  M:    viro@zeniv.linux.org.uk
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
+ F:    fs/*
  
  FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
  P:    Riku Voipio
  M:    riku.vipio@iki.fi
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    drivers/hwmon/f75375s.c
+ F:    include/linux/f75375s.h
  
- FIREWIRE SUBSYSTEM (drivers/firewire, <linux/firewire*.h>)
- P:    Kristian Hoegsberg, Stefan Richter
- M:    krh@redhat.com, stefanr@s5r6.in-berlin.de
+ FIREWIRE SUBSYSTEM
+ P:    Kristian Hoegsberg
+ M:    krh@redhat.com
+ P:    Stefan Richter
+ M:    stefanr@s5r6.in-berlin.de
  L:    linux1394-devel@lists.sourceforge.net
  W:    http://www.linux1394.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
  S:    Maintained
+ F:    drivers/firewire/
+ F:    include/linux/firewire*.h
  
  FIRMWARE LOADER (request_firmware)
  L:    linux-kernel@vger.kernel.org
  S:    Orphan
+ F:    Documentation/firmware_class/
+ F:    drivers/base/firmware*.c
+ F:    include/linux/firmware.h
  
  FPU EMULATOR
  P:    Bill Metzenthen
- M:    billm@suburbia.net
- W:    http://suburbia.net/~billm/floating-point/emulator/
+ M:    billm@melbpc.org.au
+ W:    http://floatingpoint.sourceforge.net/emulator/index.html
  S:    Maintained
+ F:    arch/x86/math-emu/
  
  FRAME RELAY DLCI/FRAD (Sangoma drivers too)
  P:    Mike McLagan
  M:    mike.mclagan@linux.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/wan/dlci.c
+ F:    drivers/net/wan/sdla.c
  
  FRAMEBUFFER LAYER
  P:    Antonino Daplas
@@@ -1803,6 -2170,9 +2170,9 @@@ M:      adaplas@gmail.co
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  W:    http://linux-fbdev.sourceforge.net/
  S:    Maintained
+ F:    Documentation/fb/
+ F:    drivers/video/fb*
+ F:    include/linux/fb.h
  
  FREESCALE DMA DRIVER
  P:    Li Yang
@@@ -1812,6 -2182,7 +2182,7 @@@ M:      zw@zh-kernel.or
  L:    linuxppc-embedded@ozlabs.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/dma/fsldma.*
  
  FREESCALE I2C CPM DRIVER
  P:    Jochen Friedrich
@@@ -1819,6 -2190,7 +2190,7 @@@ M:      jochen@scram.d
  L:    linuxppc-dev@ozlabs.org
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    drivers/i2c/busses/i2c-cpm.c
  
  FREESCALE IMX / MXC FRAMEBUFFER DRIVER
  P:    Sascha Hauer
@@@ -1826,6 -2198,8 +2198,8 @@@ M:      kernel@pengutronix.d
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
  S:    Maintained
+ F:    arch/arm/plat-mxc/include/mach/imxfb.h
+ F:    drivers/video/imxfb.c
  
  FREESCALE SOC FS_ENET DRIVER
  P:    Pantelis Antoniou
@@@ -1835,12 -2209,16 +2209,16 @@@ M:   vbordug@ru.mvista.co
  L:    linuxppc-dev@ozlabs.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/fs_enet/
+ F:    include/linux/fs_enet_pd.h
  
  FREESCALE QUICC ENGINE LIBRARY
  P:    Timur Tabi
  M:    timur@freescale.com
  L:    linuxppc-dev@ozlabs.org
  S:    Supported
+ F:    arch/powerpc/sysdev/qe_lib/
+ F:    arch/powerpc/include/asm/*qe.h
  
  FREESCALE HIGHSPEED USB DEVICE DRIVER
  P:    Li Yang
@@@ -1848,6 -2226,7 +2226,7 @@@ M:      leoli@freescale.co
  L:    linux-usb@vger.kernel.org
  L:    linuxppc-dev@ozlabs.org
  S:    Maintained
+ F:    drivers/usb/gadget/fsl_usb2_udc.c
  
  FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
  P:    Li Yang
@@@ -1855,12 -2234,14 +2234,14 @@@ M:   leoli@freescale.co
  L:    netdev@vger.kernel.org
  L:    linuxppc-dev@ozlabs.org
  S:    Maintained
+ F:    drivers/net/ucc_geth*
  
  FREESCALE QUICC ENGINE UCC UART DRIVER
  P:    Timur Tabi
  M:    timur@freescale.com
  L:    linuxppc-dev@ozlabs.org
  S:    Supported
+ F:    drivers/serial/ucc_uart.c
  
  FREESCALE SOC SOUND DRIVERS
  P:    Timur Tabi
@@@ -1868,12 -2249,15 +2249,15 @@@ M:   timur@freescale.co
  L:    alsa-devel@alsa-project.org
  L:    linuxppc-dev@ozlabs.org
  S:    Supported
+ F:    sound/soc/fsl/fsl*
+ F:    sound/soc/fsl/mpc8610_hpcd.c
  
  FREEVXFS FILESYSTEM
  P:    Christoph Hellwig
  M:    hch@infradead.org
  W:    ftp://ftp.openlinux.org/pub/people/hch/vxfs
  S:    Maintained
+ F:    fs/freevxfs/
  
  FREEZER
  P:    Pavel Machek
@@@ -1882,22 -2266,32 +2266,32 @@@ P:   Rafael J. Wysock
  M:    rjw@sisk.pl
  L:    linux-pm@lists.linux-foundation.org
  S:    Supported
+ F:    Documentation/power/freezing-of-tasks.txt
+ F:    include/linux/freezer.h
+ F:    kernel/freezer.c
  
  FTRACE
  P:    Steven Rostedt
  M:    rostedt@goodmis.org
  S:    Maintained
+ F:    Documentation/ftrace.txt
+ F:    arch/*/*/*/ftrace.h
+ F:    arch/*/kernel/ftrace.c
+ F:    include/*/ftrace.h
+ F:    kernel/trace/
  
  FUJITSU FR-V (FRV) PORT
  P:    David Howells
  M:    dhowells@redhat.com
  S:    Maintained
+ F:    arch/frv/
  
  FUJITSU LAPTOP EXTRAS
  P:    Jonathan Woithe
  M:    jwoithe@physics.adelaide.edu.au
  L:    linux-acpi@vger.kernel.org
  S:    Maintained
+ F:    drivers/platform/x86/fujitsu-laptop.c
  
  FUSE: FILESYSTEM IN USERSPACE
  P:    Miklos Szeredi
@@@ -1905,12 -2299,15 +2299,15 @@@ M:   miklos@szeredi.h
  L:    fuse-devel@lists.sourceforge.net
  W:    http://fuse.sourceforge.net/
  S:    Maintained
+ F:    fs/fuse/
+ F:    include/linux/fuse.h
  
  FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit)
  P:    Rik Faith
  M:    faith@cs.unc.edu
  L:    linux-scsi@vger.kernel.org
  S:    Odd Fixes (e.g., new signatures)
+ F:    drivers/scsi/fdomain.*
  
  GDT SCSI DISK ARRAY CONTROLLER DRIVER
  P:    Achim Leubner
@@@ -1918,26 -2315,39 +2315,39 @@@ M:   achim_leubner@adaptec.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.icp-vortex.com/
  S:    Supported
+ F:    drivers/scsi/gdt*
  
  GENERIC GPIO I2C DRIVER
  P:    Haavard Skinnemoen
  M:    hskinnemoen@atmel.com
  S:    Supported
+ F:    drivers/i2c/busses/i2c-gpio.c
+ F:    include/linux/i2c-gpio.h
  
  GENERIC HDLC (WAN) DRIVERS
  P:    Krzysztof Halasa
  M:    khc@pm.waw.pl
  W:    http://www.kernel.org/pub/linux/utils/net/hdlc/
  S:    Maintained
+ F:    drivers/net/wan/c101.c
+ F:    drivers/net/wan/hd6457*
+ F:    drivers/net/wan/hdlc*
+ F:    drivers/net/wan/n2.c
+ F:    drivers/net/wan/pc300too.c
+ F:    drivers/net/wan/pci200syn.c
+ F:    drivers/net/wan/wanxl*
  
  GFS2 FILE SYSTEM
  P:    Steven Whitehouse
  M:    swhiteho@redhat.com
  L:    cluster-devel@redhat.com
  W:    http://sources.redhat.com/cluster/
- T:    git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git
- T:    git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw.git
  S:    Supported
+ F:    Documentation/filesystems/gfs2*.txt
+ F:    fs/gfs2/
+ F:    include/linux/gfs2_ondisk.h
  
  GIGASET ISDN DRIVERS
  P:    Hansjoerg Lipp
@@@ -1947,6 -2357,9 +2357,9 @@@ M:      tilman@imap.c
  L:    gigaset307x-common@lists.sourceforge.net
  W:    http://gigaset307x.sourceforge.net/
  S:    Maintained
+ F:    Documentation/isdn/README.gigaset
+ F:    drivers/isdn/gigaset/
+ F:    include/linux/gigaset_dev.h
  
  HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
  P:    Frank Seidel
@@@ -1954,6 -2367,7 +2367,7 @@@ M:      frank@f-seidel.d
  L:    lm-sensors@lm-sensors.org
  W:    http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
  S:    Maintained
+ F:    drivers/hwmon/hdaps.c
  
  HYPERVISOR VIRTUAL CONSOLE DRIVER
  L:    linuxppc-dev@ozlabs.org
@@@ -1965,51 -2379,61 +2379,61 @@@ GSPCA FINEPIX SUBDRIVE
  P:    Frank Zago
  M:    frank@zago.net
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ 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 M5602 SUBDRIVER
  P:    Erik Andren
  M:    erik.andren@gmail.com
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ 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
  M:    hdegoede@redhat.com
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ 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 T613 SUBDRIVER
  P:    Leandro Costantino
  M:    lcostantino@gmail.com
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ 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
  M:    moinejf@free.fr
  W:    http://moinejf.free.fr
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  S:    Maintained
+ F:    drivers/media/video/gspca/
  
  HARDWARE MONITORING
  L:    lm-sensors@lm-sensors.org
  W:    http://www.lm-sensors.org/
  S:    Orphan
+ F:    drivers/hwmon/
  
  HARDWARE RANDOM NUMBER GENERATOR CORE
  S:    Orphan
+ F:    Documentation/hw_random.txt
+ F:    drivers/char/hw_random/
+ F:    include/linux/hw_random.h
  
  HARMONY SOUND DRIVER
  P:    Kyle McMartin
  M:    kyle@mcmartin.ca
  L:    linux-parisc@vger.kernel.org
  S:    Maintained
+ F:    sound/parisc/harmony.*
  
  HAYES ESP SERIAL DRIVER
  P:    Andrew J. Robinson
@@@ -2017,30 -2441,33 +2441,33 @@@ M:   arobinso@nyx.ne
  L:    linux-kernel@vger.kernel.org
  W:    http://www.nyx.net/~arobinso
  S:    Maintained
- HEWLETT-PACKARD FIBRE CHANNEL 64-bit/66MHz PCI non-intelligent HBA
- P:    Chirag Kantharia
- M:    chirag.kantharia@hp.com
- L:    iss_storagedev@hp.com
- S:    Maintained
+ F:    Documentation/serial/hayes-esp.txt
+ F:    drivers/char/esp.c
  
  HEWLETT-PACKARD SMART2 RAID DRIVER
  P:    Chirag Kantharia
  M:    chirag.kantharia@hp.com
  L:    iss_storagedev@hp.com
  S:    Maintained
+ F:    Documentation/blockdev/cpqarray.txt
+ F:    drivers/block/cpqarray.*
  
  HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
  P:    Mike Miller
  M:    mike.miller@hp.com
  L:    iss_storagedev@hp.com
  S:    Supported
+ F:    Documentation/blockdev/cciss.txt
+ F:    drivers/block/cciss*
+ F:    include/linux/cciss_ioctl.h
  
  HFS FILESYSTEM
  P:    Roman Zippel
  M:    zippel@linux-m68k.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/hfs.txt
+ F:    fs/hfs/
  
  HGA FRAMEBUFFER DRIVER
  P:    Ferenc Bakonyi
@@@ -2048,6 -2475,7 +2475,7 @@@ M:      fero@drama.obuda.kando.h
  L:    linux-nvidia@lists.surfsouth.com
  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
@@@ -2056,19 -2484,32 +2484,32 @@@ P:   Rafael J. Wysock
  M:    rjw@sisk.pl
  L:    linux-pm@lists.linux-foundation.org
  S:    Supported
+ F:    arch/x86/power/
+ F:    drivers/base/power/
+ F:    kernel/power/
+ F:    include/linux/suspend.h
+ F:    include/linux/freezer.h
+ F:    include/linux/pm.h
+ F:    include/asm-*/suspend*.h
+ F:    arch/*/include/asm/suspend*.h
  
  HID CORE LAYER
  P:    Jiri Kosina
  M:    jkosina@suse.cz
  L:    linux-input@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jikos/hid.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
  S:    Maintained
+ F:    drivers/hid/
+ F:    include/linux/hid*
  
  HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
  P:    Thomas Gleixner
  M:    tglx@linutronix.de
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/timers/
+ F:    kernel/hrtimer.c
+ F:    include/linux/hrtimer.h
  
  HIGH-SPEED SCC DRIVER FOR AX.25
  P:    Klaus Kudielka
@@@ -2076,18 -2517,25 +2517,25 @@@ M:   klaus.kudielka@ieee.or
  L:    linux-hams@vger.kernel.org
  W:    http://www.nt.tuwien.ac.at/~kkudielk/Linux/
  S:    Maintained
+ F:    drivers/net/hamradio/dmascc.c
+ F:    drivers/net/hamradio/scc.c
  
  HIGHPOINT ROCKETRAID 3xxx RAID DRIVER
  P:    HighPoint Linux Team
  M:    linux@highpoint-tech.com
  W:    http://www.highpoint-tech.com
  S:    Supported
+ F:    Documentation/scsi/hptiop.txt
+ F:    drivers/scsi/hptiop.c
  
  HIPPI
  P:    Jes Sorensen
  M:    jes@trained-monkey.org
  L:    linux-hippi@sunsite.dk
  S:    Maintained
+ F:    include/linux/hippidevice.h
+ F:    include/linux/if_hippi.h
+ F:    net/802/hippi.c
  
  HOST AP DRIVER
  P:    Jouni Malinen
@@@ -2096,65 -2544,79 +2544,79 @@@ L:   hostap@shmoo.com (subscribers-only
  L:    linux-wireless@vger.kernel.org
  W:    http://hostap.epitest.fi/
  S:    Maintained
+ F:    drivers/net/wireless/hostap/
  
  HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
  P:    Carlos Corbacho
  M:    carlos@strangeworlds.co.uk
  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
  M:    perex@perex.cz
  S:    Maintained
+ F:    drivers/net/hp100.*
  
- HPET: High Precision Event Timers driver (drivers/char/hpet.c)
+ HPET: High Precision Event Timers driver
  P:    Clemens Ladisch
  M:    clemens@ladisch.de
  S:    Maintained
+ F:    Documentation/timers/hpet.txt
+ F:    drivers/char/hpet.c
+ F:    include/linux/hpet.h
  
  HPET: i386
  P:    Venkatesh Pallipadi (Venki)
  M:    venkatesh.pallipadi@intel.com
  S:    Maintained
+ F:    arch/x86/kernel/hpet.c
+ F:    arch/x86/include/asm/hpet.h
  
  HPET: x86_64
  P:    Vojtech Pavlik
  M:    vojtech@suse.cz
  S:    Maintained
  
- HPET: ACPI hpet.c
+ HPET: ACPI
  P:    Bob Picco
  M:    bob.picco@hp.com
  S:    Maintained
+ F:    drivers/char/hpet.c
  
  HPFS FILESYSTEM
  P:    Mikulas Patocka
  M:    mikulas@artax.karlin.mff.cuni.cz
  W:    http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi
  S:    Maintained
+ F:    fs/hpfs/
  
- HSO   3G Modem Driver (hso.c)
+ HSO 3G MODEM DRIVER
  P:    Denis Joseph Barrow
  M:    d.barow@option.com
  W:    http://www.pharscape.org
  S:    Maintained
+ F:    drivers/net/usb/hso.c
  
  HTCPEN TOUCHSCREEN DRIVER
  P:    Pau Oliva Fora
  M:    pof@eslack.org
  L:    linux-input@vger.kernel.org
  S:    Maintained
+ F:    drivers/input/touchscreen/htcpen.c
  
  HUGETLB FILESYSTEM
  P:    William Irwin
  M:    wli@holomorphy.com
  S:    Maintained
+ F:    fs/hugetlbfs/
  
  I2C/SMBUS STUB DRIVER
  P:    Mark M. Hoffman
  M:    mhoffman@lightlink.com
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    drivers/i2c/busses/i2c-stub.c
  
  I2C SUBSYSTEM
  P:    Jean Delvare (PC drivers, core)
@@@ -2165,24 -2627,31 +2627,31 @@@ L:   linux-i2c@vger.kernel.or
  W:    http://i2c.wiki.kernel.org/
  T:    quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/
  S:    Maintained
+ F:    Documentation/i2c/
+ F:    drivers/i2c/
+ F:    include/linux/i2c.h
+ F:    include/linux/i2c-dev.h
+ F:    include/linux/i2c-id.h
  
  I2C-TINY-USB DRIVER
  P:    Till Harbaum
  M:    till@harbaum.org
  L:    linux-i2c@vger.kernel.org
T:    http://www.harbaum.org/till/i2c_tiny_usb
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
  M:    hpa@zytor.com
  L:    Linux-Kernel@vger.kernel.org
  S:    Maintained
+ F:    arch/x86/boot/
  
  i386 SETUP CODE / CPU ERRATA WORKAROUNDS
  P:    H. Peter Anvin
  M:    hpa@zytor.com
- T:    git.kernel.org:/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup.git
  S:    Maintained
  
  IA64 (Itanium) PLATFORM
@@@ -2190,19 -2659,22 +2659,22 @@@ P:   Tony Luc
  M:    tony.luck@intel.com
  L:    linux-ia64@vger.kernel.org
  W:    http://www.ia64-linux.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git
  S:    Maintained
+ F:    arch/ia64/
  
  IBM MCA SCSI SUBSYSTEM DRIVER
  P:    Michael Lang
  M:    langa2@kph.uni-mainz.de
  W:    http://www.uni-mainz.de/~langm000/linux.html
  S:    Maintained
+ F:    drivers/scsi/ibmmca.c
  
  IBM Power Linux RAID adapter
  P:    Brian King
  M:    brking@us.ibm.com
  S:    Supported
+ F:    drivers/scsi/ipr.*
  
  IBM ServeRAID RAID DRIVER
  P:    Jack Hammer
@@@ -2210,6 -2682,7 +2682,7 @@@ P:      Dave Jeffer
  M:    ipslinux@adaptec.com
  W:    http://www.developer.ibm.com/welcome/netfinity/serveraid.html
  S:    Supported
+ F:    drivers/scsi/ips.*
  
  IDE SUBSYSTEM
  P:    Bartlomiej Zolnierkiewicz
@@@ -2217,45 -2690,55 +2690,55 @@@ M:   bzolnier@gmail.co
  L:    linux-ide@vger.kernel.org
  T:    quilt kernel.org/pub/linux/kernel/people/bart/pata-2.6/
  S:    Maintained
+ F:    Documentation/ide/
+ F:    drivers/ide/
+ F:    include/linux/ide.h
  
  IDE/ATAPI DRIVERS
  P:    Borislav Petkov
  M:    petkovbb@gmail.com
  L:    linux-ide@vger.kernel.org
  S:    Maintained
+ F:    Documentation/cdrom/ide-cd
+ F:    drivers/ide/ide-cd*
  
  IDLE-I7300
  P:    Andy Henroid
  M:    andrew.d.henroid@intel.com
  L:    linux-pm@lists.linux-foundation.org
  S:    Supported
+ F:    drivers/idle/i7300_idle.c
  
- IEEE 1394 SUBSYSTEM (drivers/ieee1394)
+ IEEE 1394 SUBSYSTEM
  P:    Ben Collins
  M:    ben.collins@ubuntu.com
  P:    Stefan Richter
  M:    stefanr@s5r6.in-berlin.de
  L:    linux1394-devel@lists.sourceforge.net
  W:    http://www.linux1394.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
  S:    Maintained
+ F:    drivers/ieee1394/
  
- IEEE 1394 RAW I/O DRIVER (raw1394)
+ IEEE 1394 RAW I/O DRIVER
  P:    Dan Dennedy
  M:    dan@dennedy.org
  P:    Stefan Richter
  M:    stefanr@s5r6.in-berlin.de
  L:    linux1394-devel@lists.sourceforge.net
  S:    Maintained
+ F:    drivers/ieee1394/raw1394*
  
  INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
  P:    Mimi Zohar
  M:    zohar@us.ibm.com
  S:    Supported
+ F:    security/integrity/ima/
  
  IMS TWINTURBO FRAMEBUFFER DRIVER
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Orphan
+ F:    drivers/video/imsttfb.c
  
  INFINIBAND SUBSYSTEM
  P:    Roland Dreier
@@@ -2266,8 -2749,11 +2749,11 @@@ P:    Hal Rosenstoc
  M:    hal.rosenstock@gmail.com
  L:    general@lists.openfabrics.org (moderated for non-subscribers)
  W:    http://www.openib.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git
  S:    Supported
+ F:    Documentation/infiniband/
+ F:    drivers/infiniband/
+ F:    include/linux/if_infiniband.h
  
  INOTIFY
  P:    John McCutchan
@@@ -2276,26 -2762,33 +2762,33 @@@ P:   Robert Lov
  M:    rlove@rlove.org
  L:    linux-kernel@vger.kernel.org
  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
  M:    dmitry.torokhov@gmail.com
  M:    dtor@mail.ru
  L:    linux-input@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/dtor/input.git
+ 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
  M:    sylvain.meyer@worldonline.fr
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    Documentation/fb/intelfb.txt
+ F:    drivers/video/intelfb/
  
  INTEL 810/815 FRAMEBUFFER DRIVER
  P:    Antonino Daplas
  M:    adaplas@gmail.com
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/i810/
  
  INTEL MENLOW THERMAL DRIVER
  P:    Sujith Thomas
@@@ -2303,46 -2796,61 +2796,61 @@@ M:   sujith.thomas@intel.co
  L:    linux-acpi@vger.kernel.org
  W:    http://www.lesswatts.org/projects/acpi/
  S:    Supported
+ F:    drivers/platform/x86/intel_menlow.c
  
  INTEL IA32 MICROCODE UPDATE SUPPORT
  P:    Tigran Aivazian
  M:    tigran@aivazian.fsnet.co.uk
  S:    Maintained
+ F:    arch/x86/kernel/microcode_core.c
+ F:    arch/x86/kernel/microcode_intel.c
  
  INTEL I/OAT DMA DRIVER
  P:    Maciej Sosnowski
  M:    maciej.sosnowski@intel.com
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    drivers/dma/ioat*
  
  INTEL IOMMU (VT-d)
  P:    David Woodhouse
  M:    dwmw2@infradead.org
  L:    iommu@lists.linux-foundation.org
- T:    git://git.infradead.org/iommu-2.6.git
+ T:    git git://git.infradead.org/iommu-2.6.git
  S:    Supported
+ F:    drivers/pci/intel-iommu.c
+ F:    include/linux/intel-iommu.h
  
  INTEL IOP-ADMA DMA DRIVER
  P:    Dan Williams
  M:    dan.j.williams@intel.com
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    drivers/dma/iop-adma.c
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
  P:    Krzysztof Halasa
  M:    khc@pm.waw.pl
  S:    Maintained
+ F:    arch/arm/mach-ixp4xx/include/mach/qmgr.h
+ F:    arch/arm/mach-ixp4xx/include/mach/npe.h
+ F:    arch/arm/mach-ixp4xx/ixp4xx_qmgr.c
+ F:    arch/arm/mach-ixp4xx/ixp4xx_npe.c
+ F:    drivers/net/arm/ixp4xx_eth.c
+ F:    drivers/net/wan/ixp4xx_hss.c
  
  INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
  P:    Deepak Saxena
  M:    dsaxena@plexity.net
  S:    Maintained
+ F:    drivers/char/hw_random/ixp4xx-rng.c
  
  INTEL IXP2000 ETHERNET DRIVER
  P:    Lennert Buytenhek
  M:    kernel@wantstofly.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/ixp2000/
  
  INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/ixgb/ixgbe)
  P:    Jeff Kirsher
@@@ -2358,6 -2866,12 +2866,12 @@@ M:    john.ronciak@intel.co
  L:    e1000-devel@lists.sourceforge.net
  W:    http://e1000.sourceforge.net/
  S:    Supported
+ F:    drivers/net/e100.c
+ F:    drivers/net/e1000/
+ F:    drivers/net/e1000e/
+ F:    drivers/net/igb/
+ F:    drivers/net/ixgb/
+ F:    drivers/net/ixgbe/
  
  INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
  P:    Zhu Yi
@@@ -2371,6 -2885,8 +2885,8 @@@ L:      ipw2100-devel@lists.sourceforge.ne
  W:    http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
  W:    http://ipw2100.sourceforge.net
  S:    Supported
+ F:    Documentation/networking/README.ipw2100
+ F:    drivers/net/wireless/ipw2x00/ipw2100.*
  
  INTEL PRO/WIRELESS 2915ABG NETWORK CONNECTION SUPPORT
  P:    Zhu Yi
@@@ -2384,6 -2900,8 +2900,8 @@@ L:      ipw2100-devel@lists.sourceforge.ne
  W:    http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
  W:    http://ipw2200.sourceforge.net
  S:    Supported
+ F:    Documentation/networking/README.ipw2200
+ F:    drivers/net/wireless/ipw2x00/ipw2200.*
  
  INTEL WIRELESS WIMAX CONNECTION 2400
  P:    Inaky Perez-Gonzalez
@@@ -2392,6 -2910,9 +2910,9 @@@ M:      linux-wimax@intel.co
  L:    wimax@linuxwimax.org
  S:    Supported
  W:    http://linuxwimax.org
+ F:    Documentation/wimax/README.i2400m
+ F:    drivers/net/wimax/i2400m/
+ F:    include/linux/wimax/i2400m.h
  
  INTEL WIRELESS WIFI LINK (iwlwifi)
  P:    Zhu Yi
@@@ -2401,25 -2922,29 +2922,29 @@@ M:   reinette.chatre@intel.co
  L:    linux-wireless@vger.kernel.org
  L:    ipw3945-devel@lists.sourceforge.net
  W:    http://intellinuxwireless.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git
+ 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
  M:    ralf@linux-mips.org
  L:    linux-mips@linux-mips.org
  S:    Maintained
+ F:    drivers/net/ioc3-eth.c
  
  IOC3 SERIAL DRIVER
  P:    Pat Gefre
  M:    pfg@sgi.com
  L:    linux-mips@linux-mips.org
  S:    Maintained
+ F:    drivers/serial/ioc3_serial.c
  
  IP MASQUERADING
  P:    Juanjo Ciarlante
  M:    jjciarla@raiz.uncu.edu.ar
  S:    Maintained
+ F:    net/ipv4/netfilter/ipt_MASQUERADE.c
  
  IP1000A 10/100/1000 GIGABIT ETHERNET DRIVER
  P:    Francois Romieu
@@@ -2430,6 -2955,7 +2955,7 @@@ P:      Jesse Huan
  M:    jesse@icplus.com.tw
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/ipg.c
  
  IPATH DRIVER
  P:    Ralph Campbell
@@@ -2437,6 -2963,7 +2963,7 @@@ M:      infinipath@qlogic.co
  L:    general@lists.openfabrics.org
  T:    git git://git.qlogic.com/ipath-linux-2.6
  S:    Supported
+ F:    drivers/infiniband/hw/ipath/
  
  IPMI SUBSYSTEM
  P:    Corey Minyard
@@@ -2444,6 -2971,9 +2971,9 @@@ M:      minyard@acm.or
  L:    openipmi-developer@lists.sourceforge.net
  W:    http://openipmi.sourceforge.net/
  S:    Supported
+ F:    Documentation/IPMI.txt
+ F:    drivers/char/ipmi/
+ F:    include/linux/ipmi*
  
  IPS SCSI RAID DRIVER
  P:    Adaptec OEM Raid Solutions
@@@ -2451,6 -2981,7 +2981,7 @@@ M:      aacraid@adaptec.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.adaptec.com/
  S:    Maintained
+ F:    drivers/scsi/ips*
  
  IPVS
  P:    Wensong Zhang
@@@ -2462,6 -2993,8 +2993,8 @@@ M:      ja@ssi.b
  L:    netdev@vger.kernel.org
  L:    lvs-devel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/networking/ipvs-sysctl.txt
+ F:    net/netfilter/ipvs/
  
  IPWIRELESS DRIVER
  P:    Jiri Kosina
@@@ -2469,13 -3002,17 +3002,17 @@@ M:   jkosina@suse.c
  P:    David Sterba
  M:    dsterba@suse.cz
  S:    Maintained
- T:    git://git.kernel.org/pub/scm/linux/kernel/git/jikos/ipwireless_cs.git
+ 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
  M:    acme@ghostprotocols.net
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    include/linux/ipx.h
+ F:    include/net/ipx.h
+ F:    net/ipx/
  
  IRDA SUBSYSTEM
  P:    Samuel Ortiz
@@@ -2483,27 -3020,40 +3020,40 @@@ M:   samuel@sortiz.or
  L:    irda-users@lists.sourceforge.net (subscribers-only)
  W:    http://irda.sourceforge.net/
  S:    Maintained
+ F:    Documentation/networking/irda.txt
+ F:    drivers/net/irda/
+ F:    include/net/irda/
+ F:    net/irda/
  
  ISAPNP
  P:    Jaroslav Kysela
  M:    perex@perex.cz
  S:    Maintained
+ F:    Documentation/isapnp.txt
+ F:    drivers/pnp/isapnp/
+ F:    include/linux/isapnp.h
  
  ISCSI
  P:    Mike Christie
  M:    michaelc@cs.wisc.edu
  L:    open-iscsi@googlegroups.com
  W:    www.open-iscsi.org
- T:    git kernel.org:/pub/scm/linux/kernel/mnc/linux-2.6-iscsi.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mnc/linux-2.6-iscsi.git
  S:    Maintained
+ F:    drivers/scsi/*iscsi*
+ F:    include/scsi/*iscsi*
  
  ISDN SUBSYSTEM
  P:    Karsten Keil
  M:    isdn@linux-pingi.de
  L:    isdn4linux@listserv.isdn4linux.de (subscribers-only)
  W:    http://www.isdn4linux.de
- T:    git kernel.org:/pub/scm/linux/kernel/kkeil/isdn-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git
  S:    Maintained
+ F:    Documentation/isdn/
+ F:    drivers/isdn/
+ F:    include/linux/isdn.h
+ F:    include/linux/isdn/
  
  ISDN SUBSYSTEM (Eicon active card driver)
  P:    Armin Schindler
@@@ -2511,6 -3061,7 +3061,7 @@@ M:      mac@melware.d
  L:    isdn4linux@listserv.isdn4linux.de (subscribers-only)
  W:    http://www.melware.de
  S:    Maintained
+ F:    drivers/isdn/hardware/eicon/
  
  IVTV VIDEO4LINUX DRIVER
  P:    Hans Verkuil
@@@ -2518,23 -3069,29 +3069,29 @@@ M:   hverkuil@xs4all.n
  L:    ivtv-devel@ivtvdriver.org
  L:    ivtv-users@ivtvdriver.org
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://www.ivtvdriver.org
  S:    Maintained
+ F:    Documentation/video4linux/*.ivtv
+ F:    drivers/media/video/ivtv/
+ F:    include/linux/ivtv*
  
  JFS FILESYSTEM
  P:    Dave Kleikamp
  M:    shaggy@austin.ibm.com
  L:    jfs-discussion@lists.sourceforge.net
  W:    http://jfs.sourceforge.net/
- T:    git kernel.org:/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git
  S:    Supported
+ F:    Documentation/filesystems/jfs.txt
+ F:    fs/jfs/
  
  JME NETWORK DRIVER
  P:    Guo-Fu Tseng
  M:    cooldavid@cooldavid.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/jme.*
  
  JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
  P:    David Woodhouse
@@@ -2542,24 -3099,36 +3099,36 @@@ M:   dwmw2@infradead.or
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/doc/jffs2.html
  S:    Maintained
+ F:    fs/jffs2/
+ F:    include/linux/jffs2.h
+ F:    include/mtd/jffs2-user.h
  
  JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
- P:    Stephen Tweedie, Andrew Morton
- M:    sct@redhat.com, akpm@linux-foundation.org
+ P:    Stephen Tweedie
+ M:    sct@redhat.com
+ P:    Andrew Morton
+ M:    akpm@linux-foundation.org
  L:    linux-ext4@vger.kernel.org
  S:    Maintained
+ F:    fs/jbd*/
+ F:    include/linux/ext*jbd*.h
+ F:    include/linux/jbd*.h
  
  K8TEMP HARDWARE MONITORING DRIVER
  P:    Rudolf Marek
  M:    r.marek@assembler.cz
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/k8temp
+ F:    drivers/hwmon/k8temp.c
  
  KCONFIG
  P:    Roman Zippel
  M:    zippel@linux-m68k.org
  L:    linux-kbuild@vger.kernel.org
  S:    Maintained
+ F:    Documentation/kbuild/kconfig-language.txt
+ F:    scripts/kconfig/
  
  KDUMP
  P:    Vivek Goyal
@@@ -2570,26 -3139,32 +3139,32 @@@ L:   kexec@lists.infradead.or
  L:    linux-kernel@vger.kernel.org
  W:    http://lse.sourceforge.net/kdump/
  S:    Maintained
+ F:    Documentation/kdump/
  
  KERNEL AUTOMOUNTER (AUTOFS)
  P:    H. Peter Anvin
  M:    hpa@zytor.com
  L:    autofs@linux.kernel.org
  S:    Odd Fixes
+ F:    fs/autofs/
  
  KERNEL AUTOMOUNTER v4 (AUTOFS4)
  P:    Ian Kent
  M:    raven@themaw.net
  L:    autofs@linux.kernel.org
  S:    Maintained
+ F:    fs/autofs4/
  
- KERNEL BUILD (kbuild: Makefile, scripts/Makefile.*)
+ KERNEL BUILD
  P:    Sam Ravnborg
  M:    sam@ravnborg.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild-next.git
- T:    git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild-fixes.git
+ 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
  L:    linux-kbuild@vger.kernel.org
  S:    Maintained
+ F:    Documentation/kbuild/
+ F:    Makefile
+ F:    scripts/Makefile.*
  
  KERNEL JANITORS
  P:    Several
@@@ -2605,6 -3180,13 +3180,13 @@@ M:    neilb@suse.d
  L:    linux-nfs@vger.kernel.org
  W:    http://nfs.sourceforge.net/
  S:    Supported
+ F:    fs/nfsd/
+ F:    include/linux/nfsd/
+ F:    fs/lockd/
+ F:    fs/nfs_common/
+ F:    net/sunrpc/
+ F:    include/linux/lockd/
+ F:    include/linux/sunrpc/
  
  KERNEL VIRTUAL MACHINE (KVM)
  P:    Avi Kivity
@@@ -2612,6 -3194,11 +3194,11 @@@ M:    avi@redhat.co
  L:    kvm@vger.kernel.org
  W:    http://kvm.qumranet.com
  S:    Supported
+ F:    Documentation/*/kvm.txt
+ F:    arch/*/kvm/
+ F:    arch/*/include/asm/kvm*
+ F:    include/linux/kvm*
+ F:    virt/kvm/
  
  KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
  P:    Joerg Roedel
@@@ -2619,6 -3206,9 +3206,9 @@@ M:      joerg.roedel@amd.co
  L:    kvm@vger.kernel.org
  W:    http://kvm.qumranet.com
  S:    Supported
+ F:    arch/x86/include/asm/svm.h
+ F:    arch/x86/kvm/kvm_svm.h
+ F:    arch/x86/kvm/svm.c
  
  KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
  P:    Hollis Blanchard
@@@ -2626,6 -3216,8 +3216,8 @@@ M:      hollisb@us.ibm.co
  L:    kvm-ppc@vger.kernel.org
  W:    http://kvm.qumranet.com
  S:    Supported
+ F:    arch/powerpc/include/asm/kvm*
+ F:    arch/powerpc/kvm/
  
  KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64)
  P:    Xiantao Zhang
@@@ -2633,6 -3225,9 +3225,9 @@@ M:      xiantao.zhang@intel.co
  L:    kvm-ia64@vger.kernel.org
  W:    http://kvm.qumranet.com
  S:    Supported
+ F:    Documentation/ia64/kvm.txt
+ F:    arch/ia64/include/asm/kvm*
+ F:    arch/ia64/kvm/
  
  KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
  P:    Carsten Otte
@@@ -2643,6 -3238,9 +3238,9 @@@ M:      linux390@de.ibm.co
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
+ F:    Documentation/s390/kvm.txt
+ F:    arch/s390/include/asm/kvm*
+ F:    arch/s390/kvm/
  
  KEXEC
  P:    Eric Biederman
@@@ -2651,18 -3249,28 +3249,28 @@@ W:   http://ftp.kernel.org/pub/linux/kern
  L:    linux-kernel@vger.kernel.org
  L:    kexec@lists.infradead.org
  S:    Maintained
+ F:    include/linux/kexec.h
+ F:    kernel/kexec.c
  
  KGDB
  P:    Jason Wessel
  M:    jason.wessel@windriver.com
  L:    kgdb-bugreport@lists.sourceforge.net
  S:    Maintained
+ F:    Documentation/DocBook/kgdb.tmpl
+ F:    drivers/misc/kgdbts.c
+ F:    drivers/serial/kgdboc.c
+ F:    include/linux/kgdb.h
+ F:    kernel/kgdb.c
  
  KMEMTRACE
  P:    Eduard - Gabriel Munteanu
  M:    eduard.munteanu@linux360.ro
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/vm/kmemtrace.txt
+ F:    include/trace/kmemtrace.h
+ F:    kernel/trace/kmemtrace.c
  
  KPROBES
  P:    Ananth N Mavinakayanahalli
@@@ -2675,6 -3283,9 +3283,9 @@@ P:      Masami Hiramats
  M:    mhiramat@redhat.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/kprobes.txt
+ F:    include/linux/kprobes.h
+ F:    kernel/kprobes.c
  
  KS0108 LCD CONTROLLER DRIVER
  P:    Miguel Ojeda Sandonis
@@@ -2683,21 -3294,31 +3294,31 @@@ L:   linux-kernel@vger.kernel.or
  W:    http://miguelojeda.es/auxdisplay.htm
  W:    http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
  S:    Maintained
+ F:    Documentation/auxdisplay/ks0108
+ F:    drivers/auxdisplay/ks0108.c
+ F:    include/linux/ks0108.h
  
  LAPB module
  L:    linux-x25@vger.kernel.org
  S:    Orphan
+ F:    Documentation/networking/lapb-module.txt
+ F:    include/*/lapb.h
+ F:    net/lapb/
  
  LASI 53c700 driver for PARISC
  P:    James E.J. Bottomley
  M:    James.Bottomley@HansenPartnership.com
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    Documentation/scsi/53c700.txt
+ F:    drivers/scsi/53c700*
  
  LED SUBSYSTEM
  P:    Richard Purdie
  M:    rpurdie@rpsys.net
  S:    Maintained
+ F:    drivers/leds/
+ F:    include/linux/leds.h
  
  LEGO USB Tower driver
  P:    Juergen Stuber
@@@ -2705,6 -3326,7 +3326,7 @@@ M:      starblue@users.sourceforge.ne
  L:    legousb-devel@lists.sourceforge.net
  W:    http://legousb.sourceforge.net/
  S:    Maintained
+ F:    drivers/usb/misc/legousbtower.c
  
  LGUEST
  P:    Rusty Russell
@@@ -2712,6 -3334,11 +3334,11 @@@ M:    rusty@rustcorp.com.a
  L:    lguest@ozlabs.org
  W:    http://lguest.ozlabs.org/
  S:    Maintained
+ F:    Documentation/lguest/
+ F:    arch/x86/lguest/
+ F:    drivers/lguest/
+ F:    include/linux/lguest*.h
+ F:    arch/x86/include/asm/lguest*.h
  
  LINUX FOR IBM pSERIES (RS/6000)
  P:    Paul Mackerras
@@@ -2719,12 -3346,6 +3346,6 @@@ M:     paulus@au.ibm.co
  W:    http://www.ibm.com/linux/ltc/projects/ppc
  S:    Supported
  
- LINUX FOR NCR VOYAGER
- P:    James Bottomley
- M:    James.Bottomley@HansenPartnership.com
- W:    http://www.hansenpartnership.com/voyager
- S:    Maintained
  LINUX FOR POWERPC (32-BIT AND 64-BIT)
  P:    Benjamin Herrenschmidt
  M:    benh@kernel.crashing.org
@@@ -2732,7 -3353,7 +3353,7 @@@ P:      Paul Mackerra
  M:    paulus@samba.org
  W:    http://www.penguinppc.org/
  L:    linuxppc-dev@ozlabs.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/benh/powerpc.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git
  S:    Supported
  
  LINUX FOR POWER MACINTOSH
@@@ -2757,7 -3378,7 +3378,7 @@@ P:      Matt Porte
  M:    mporter@kernel.crashing.org
  W:    http://www.penguinppc.org/
  L:    linuxppc-dev@ozlabs.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc.git
  S:    Maintained
  
  LINUX FOR POWERPC EMBEDDED XILINX VIRTEX
@@@ -2794,30 -3415,39 +3415,39 @@@ LINUX SECURITY MODULE (LSM) FRAMEWOR
  P:    Chris Wright
  M:    chrisw@sous-sol.org
  L:    linux-security-module@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/chrisw/lsm-2.6.git
+ 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
  M:    acme@ghostprotocols.net
  S:    Maintained
+ F:    include/linux/llc.h
+ F:    include/net/llc*
+ F:    net/llc/
  
  LIS3LV02D ACCELEROMETER DRIVER
  P:    Eric Piel
  M:    eric.piel@tremplin-utc.net
  S:    Maintained
+ F:    Documentation/hwmon/lis3lv02d
+ F:    drivers/hwmon/lis3lv02d.*
  
  LM83 HARDWARE MONITOR DRIVER
  P:    Jean Delvare
  M:    khali@linux-fr.org
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/lm83
+ F:    drivers/hwmon/lm83.c
  
  LM90 HARDWARE MONITOR DRIVER
  P:    Jean Delvare
  M:    khali@linux-fr.org
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/lm90
+ F:    drivers/hwmon/lm90.c
  
  LOCKDEP AND LOCKSTAT
  P:    Peter Zijlstra
@@@ -2825,8 -3455,12 +3455,12 @@@ M:    peterz@infradead.or
  P:    Ingo Molnar
  M:    mingo@redhat.com
  L:    linux-kernel@vger.kernel.org
- T:    git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep.git
  S:    Maintained
+ F:    Documentation/lockdep*.txt
+ F:    Documentation/lockstat.txt
+ F:    include/linux/lockdep.h
+ F:    kernel/lockdep*
  
  LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks)
  P:    Richard Russon (FlatCap)
@@@ -2834,6 -3468,8 +3468,8 @@@ M:      ldm@flatcap.or
  L:    linux-ntfs-dev@lists.sourceforge.net
  W:    http://www.linux-ntfs.org/content/view/19/37/
  S:    Maintained
+ F:    Documentation/ldm.txt
+ F:    fs/partitions/ldm.*
  
  LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
  P:    Eric Moore
@@@ -2843,12 -3479,14 +3479,14 @@@ L:   DL-MPTFusionLinux@lsi.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.lsilogic.com/support
  S:    Supported
+ F:    drivers/message/fusion/
  
  LSILOGIC/SYMBIOS/NCR 53C8XX and 53C1010 PCI-SCSI drivers
  P:    Matthew Wilcox
  M:    matthew@wil.cx
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/sym53c8xx_2/
  
  LTP (Linux Test Project)
  P:    Subrata Modak
@@@ -2857,7 -3495,7 +3495,7 @@@ P:      Mike Frysinge
  M:    vapier@gentoo.org
  L:    ltp-list@lists.sourceforge.net (subscribers-only)
  W:    http://ltp.sourceforge.net/
- T:    git kernel.org/pub/scm/linux/kernel/git/galak/ltp.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/galak/ltp.git
  S:    Maintained
  
  M32R ARCHITECTURE
@@@ -2867,6 -3505,8 +3505,8 @@@ L:      linux-m32r@ml.linux-m32r.or
  L:    linux-m32r-ja@ml.linux-m32r.org (in Japanese)
  W:    http://www.linux-m32r.org/
  S:    Maintained
+ F:    arch/m32r/
+ F:    include/asm-m32r/
  
  M68K ARCHITECTURE
  P:    Geert Uytterhoeven
@@@ -2875,8 -3515,10 +3515,10 @@@ P:    Roman Zippe
  M:    zippel@linux-m68k.org
  L:    linux-m68k@lists.linux-m68k.org
  W:    http://www.linux-m68k.org/
- T:    git git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
  S:    Maintained
+ F:    arch/m68k/
+ F:    drivers/zorro/
  
  M68K ON APPLE MACINTOSH
  P:    Joshua Thompson
@@@ -2884,20 -3526,25 +3526,25 @@@ M:   funaho@jurai.or
  W:    http://www.mac.linux-m68k.org/
  L:    linux-m68k@lists.linux-m68k.org
  S:    Maintained
+ F:    arch/m68k/mac/
  
  M68K ON HP9000/300
  P:    Philip Blundell
  M:    philb@gnu.org
  W:    http://www.tazenda.demon.co.uk/phil/linux-hp
  S:    Maintained
+ F:    arch/m68k/hp300/
  
  MAC80211
  P:    Johannes Berg
  M:    johannes@sipsolutions.net
  L:    linux-wireless@vger.kernel.org
  W:    http://linuxwireless.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
  S:    Maintained
+ F:    Documentation/networking/mac80211-injection.txt
+ F:    include/net/mac80211.h
+ F:    net/mac80211/
  
  MAC80211 PID RATE CONTROL
  P:    Stefano Brivio
@@@ -2906,14 -3553,17 +3553,17 @@@ P:   Mattias Nissle
  M:    mattias.nissler@gmx.de
  L:    linux-wireless@vger.kernel.org
  W:    http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/PID
- T:    git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
  S:    Maintained
+ F:    net/mac80211/rc80211_pid*
  
  MACVLAN DRIVER
  P:    Patrick McHardy
  M:    kaber@trash.net
  L:    netdev@vger.kernel.org
  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
@@@ -2927,12 -3577,15 +3577,15 @@@ P:   Dan William
  M:    dcbw@redhat.com
  L:    libertas-dev@lists.infradead.org
  S:    Maintained
+ F:    drivers/net/wireless/libertas/
  
  MARVELL MV643XX ETHERNET DRIVER
  P:    Lennert Buytenhek
  M:    buytenh@marvell.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/mv643xx_eth.*
+ F:    include/linux/mv643xx.h
  
  MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
  P:    Nicolas Pitre
@@@ -2953,12 -3606,31 +3606,31 @@@ P:   Petr Vandrove
  M:    vandrove@vc.cvut.cz
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/matrox/matroxfb_*
+ F:    include/linux/matroxfb.h
  
  MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
  P:    Hans J. Koch
  M:    hjk@linutronix.de
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/max6650
+ F:    drivers/hwmon/max6650.c
+ MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
+ P:    Mauro Carvalho Chehab
+ M:    mchehab@infradead.org
+ P:    LinuxTV.org Project
+ L:    linux-media@vger.kernel.org
+ W:    http://linuxtv.org
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ S:    Maintained
+ F:    Documentation/dvb/
+ F:    Documentation/video4linux/
+ F:    drivers/media/
+ F:    include/media/
+ F:    include/linux/dvb/
+ F:    include/linux/videodev*.h
  
  MEGARAID SCSI DRIVERS
  P:    Neela Syam Kolli
@@@ -2966,12 -3638,17 +3638,17 @@@ M:   megaraidlinux@lsi.co
  L:    linux-scsi@vger.kernel.org
  W:    http://megaraid.lsilogic.com
  S:    Maintained
+ F:    Documentation/scsi/megaraid.txt
+ F:    drivers/scsi/megaraid.*
+ F:    drivers/scsi/megaraid/
  
  MEMORY MANAGEMENT
  L:    linux-mm@kvack.org
  L:    linux-kernel@vger.kernel.org
  W:    http://www.linux-mm.org
  S:    Maintained
+ F:    include/linux/mm.h
+ F:    mm/
  
  MEMORY RESOURCE CONTROLLER
  P:    Balbir Singh
@@@ -2983,6 -3660,7 +3660,7 @@@ M:      kamezawa.hiroyu@jp.fujitsu.co
  L:    linux-mm@kvack.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    mm/memcontrol.c
  
  MEMORY TECHNOLOGY DEVICES (MTD)
  P:    David Woodhouse
@@@ -2991,55 -3669,83 +3669,83 @@@ W:   http://www.linux-mtd.infradead.org
  L:    linux-mtd@lists.infradead.org
  T:    git git://git.infradead.org/mtd-2.6.git
  S:    Maintained
+ F:    drivers/mtd/
+ F:    include/linux/mtd/
+ F:    include/mtd/
+ MICROBLAZE ARCHITECTURE
+ P:    Michal Simek
+ M:    monstr@monstr.eu
+ L:    microblaze-uclinux@itee.uq.edu.au
+ W:    http://www.monstr.eu/fdt/
+ T:    git git://git.monstr.eu/linux-2.6-microblaze.git
+ S:    Supported
  
  MICROTEK X6 SCANNER
  P:    Oliver Neukum
  M:    oliver@neukum.name
  S:    Maintained
+ F:    drivers/usb/image/microtek.*
  
  MIPS
  P:    Ralf Baechle
  M:    ralf@linux-mips.org
  W:    http://www.linux-mips.org/
  L:    linux-mips@linux-mips.org
- T:    git www.linux-mips.org:/pub/scm/linux.git
+ T:    git git://git.linux-mips.org/pub/scm/linux.git
  S:    Supported
+ F:    Documentation/mips/
+ F:    arch/mips/
  
  MISCELLANEOUS MCA-SUPPORT
  P:    James Bottomley
  M:    James.Bottomley@HansenPartnership.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/ia64/mca.txt
+ F:    Documentation/mca.txt
+ F:    drivers/mca/
+ F:    include/linux/mca*
  
  MODULE SUPPORT
  P:    Rusty Russell
  M:    rusty@rustcorp.com.au
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    include/linux/module.h
+ F:    kernel/module.c
  
  MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
  P:    Stelian Pop
  M:    stelian@popies.net
  W:    http://popies.net/meye/
  S:    Maintained
+ F:    Documentation/video4linux/meye.txt
+ F:    drivers/media/video/meye.*
+ F:    include/linux/meye.h
  
  MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER
  P:    Pavel Pisa
  M:    ppisa@pikron.com
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
  S:    Maintained
+ F:    drivers/mmc/host/imxmmc.*
  
  MOUSE AND MISC DEVICES [GENERAL]
  P:    Alessandro Rubini
  M:    rubini@ipvvis.unipv.it
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/input/mouse/
+ F:    include/linux/gpio_mouse.h
  
  MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
  P:    Jiri Slaby
  M:    jirislaby@gmail.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/serial/moxa-smartio
+ F:    drivers/char/mxser.*
  
  MSI LAPTOP SUPPORT
  P:    Lennart Poettering
@@@ -3047,43 -3753,54 +3753,54 @@@ M:   mzxreary@0pointer.d
  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
  M:    sameo@linux.intel.com
  L:    linux-kernel@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/sameo/mfd-2.6.git
+ 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
- M:    drzeus-mmc@drzeus.cx
+ M:    pierre@ossman.eu
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/mmc/
+ F:    include/linux/mmc/
  
  MULTIMEDIA CARD (MMC) ETC. OVER SPI
  P:    David Brownell
  M:    dbrownell@users.sourceforge.net
  L:    linux-kernel@vger.kernel.org
  S:    Odd Fixes
+ F:    drivers/mmc/host/mmc_spi.c
+ F:    include/linux/spi/mmc_spi.h
  
  MULTISOUND SOUND DRIVER
  P:    Andrew Veliath
  M:    andrewtv@usa.net
  S:    Maintained
+ F:    Documentation/sound/oss/MultiSound
+ F:    sound/oss/msnd*
  
  MULTITECH MULTIPORT CARD (ISICOM)
  P:    Jiri Slaby
  M:    jirislaby@gmail.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/char/isicom.c
+ F:    include/linux/isicom.h
  
  MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
  P:    Felipe Balbi
  M:    felipe.balbi@nokia.com
  L:    linux-usb@vger.kernel.org
- T:    git gitorious.org:/musb/mainline.git
+ T:    git git://gitorious.org/musb/mainline.git
  S:    Maintained
+ F:    drivers/usb/musb/
  
  MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
  P:    Andrew Gallatin
@@@ -3093,23 -3810,27 +3810,27 @@@ M:   brice@myri.co
  L:    netdev@vger.kernel.org
  W:    http://www.myri.com/scs/download-Myri10GE.html
  S:    Supported
+ F:    drivers/net/myri10ge/
  
  NATSEMI ETHERNET DRIVER (DP8381x)
  P:    Tim Hockin
  M:    thockin@hockin.org
  S:    Maintained
+ F:    drivers/net/natsemi.c
  
  NCP FILESYSTEM
  P:    Petr Vandrovec
  M:    vandrove@vc.cvut.cz
  L:    linware@sh.cvut.cz
  S:    Maintained
+ F:    fs/ncpfs/
  
  NCR DUAL 700 SCSI DRIVER (MICROCHANNEL)
  P:    James E.J. Bottomley
  M:    James.Bottomley@HansenPartnership.com
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/NCR_D700.*
  
  NETEFFECT IWARP RNIC DRIVER (IW_NES)
  P:    Faisal Latif
@@@ -3126,6 -3847,7 +3847,7 @@@ P:      Stephen Hemminge
  M:    shemminger@linux-foundation.org
  L:    netem@lists.linux-foundation.org
  S:    Maintained
+ F:    net/sched/sch_netem.c
  
  NETERION (S2IO) 10GbE DRIVER (xframe/vxge)
  P:    Ramkrishna Vepa
@@@ -3142,6 -3864,8 +3864,8 @@@ L:      netdev@vger.kernel.or
  W:    http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
  W:    http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
  S:    Supported
+ F:    Documentation/networking/s2io.txt
+ F:    drivers/net/s2io*
  
  NETFILTER/IPTABLES/IPCHAINS
  P:    Rusty Russell
@@@ -3157,6 -3881,12 +3881,12 @@@ L:    coreteam@netfilter.or
  W:    http://www.netfilter.org/
  W:    http://www.iptables.org/
  S:    Supported
+ F:    include/linux/netfilter*
+ F:    include/linux/netfilter/
+ F:    include/net/netfilter/
+ F:    net/*/netfilter.c
+ F:    net/*/netfilter/
+ F:    net/netfilter/
  
  NETLABEL
  P:    Paul Moore
@@@ -3164,6 -3894,9 +3894,9 @@@ M:      paul.moore@hp.co
  W:    http://netlabel.sf.net
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    Documentation/netlabel/
+ F:    include/net/netlabel.h
+ F:    net/netlabel/
  
  NETROM NETWORK LAYER
  P:    Ralf Baechle
@@@ -3171,25 -3904,27 +3904,27 @@@ M:   ralf@linux-mips.or
  L:    linux-hams@vger.kernel.org
  W:    http://www.linux-ax25.org/
  S:    Maintained
+ F:    include/linux/netrom.h
+ F:    include/net/netrom.h
+ F:    net/netrom/
  
  NETWORK BLOCK DEVICE (NBD)
  P:    Paul Clements
  M:    Paul.Clements@steeleye.com
  S:    Maintained
- NETWORK DEVICE DRIVERS
- P:    Jeff Garzik
- M:    jgarzik@pobox.com
- L:    netdev@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
- S:    Maintained
+ F:    Documentation/blockdev/nbd.txt
+ F:    drivers/block/nbd.c
+ F:    include/linux/nbd.h
  
  NETWORKING [GENERAL]
- P:    Networking Team
- M:    netdev@vger.kernel.org
+ P:    David S. Miller
+ M:    davem@davemloft.net
  L:    netdev@vger.kernel.org
  W:    http://linux-net.osdl.org/
+ T:    git kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git
  S:    Maintained
+ F:    net/
+ F:    include/net/
  
  NETWORKING [IPv4/IPv6]
  P:    David S. Miller
@@@ -3205,8 -3940,11 +3940,11 @@@ M:    yoshfuji@linux-ipv6.or
  P:    Patrick McHardy
  M:    kaber@trash.net
  L:    netdev@vger.kernel.org
- T:    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-2.6.git
  S:    Maintained
+ F:    net/ipv4/
+ F:    net/ipv6/
+ F:    include/net/ip*
  
  NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK)
  P:    Paul Moore
@@@ -3218,8 -3956,11 +3956,11 @@@ NETWORKING [WIRELESS
  P:    John W. Linville
  M:    linville@tuxdriver.com
  L:    linux-wireless@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
  S:    Maintained
+ F:    net/wireless/
+ F:    include/net/ieee80211*
+ F:    include/net/wireless.h
  
  NETXEN (1/10) GbE SUPPORT
  P:    Dhananjay Phadke
@@@ -3227,6 -3968,7 +3968,7 @@@ M:      dhananjay@netxen.co
  L:    netdev@vger.kernel.org
  W:    http://www.netxen.com
  S:    Supported
+ F:    drivers/net/netxen/
  
  NFS, SUNRPC, AND LOCKD CLIENTS
  P:    Trond Myklebust
@@@ -3235,6 -3977,13 +3977,13 @@@ L:    linux-nfs@vger.kernel.or
  W:    http://client.linux-nfs.org
  T:    git git://git.linux-nfs.org/pub/linux/nfs-2.6.git
  S:    Maintained
+ F:    fs/lockd/
+ F:    fs/nfs/
+ F:    fs/nfs_common/
+ F:    net/sunrpc/
+ F:    include/linux/lockd/
+ F:    include/linux/nfs*
+ F:    include/linux/sunrpc/
  
  NI5010 NETWORK DRIVER
  P:    Jan-Pascal van Best
@@@ -3243,6 -3992,7 +3992,7 @@@ P:      Andreas Moh
  M:    andi@lisas.de
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/ni5010.*
  
  NILFS2 FILESYSTEM
  P:    KONISHI Ryusuke
@@@ -3250,12 -4000,17 +4000,17 @@@ M:   konishi.ryusuke@lab.ntt.co.j
  L:    users@nilfs.org
  W:    http://www.nilfs.org/en/
  S:    Supported
+ F:    Documentation/filesystems/nilfs2.txt
+ F:    fs/nilfs2/
+ F:    include/linux/nilfs2_fs.h
  
  NINJA SCSI-3 / NINJA SCSI-32Bi (16bit/CardBus) PCMCIA SCSI HOST ADAPTER DRIVER
  P:    YOKOTA Hiroshi
  M:    yokota@netlab.is.tsukuba.ac.jp
  W:    http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
  S:    Maintained
+ F:    Documentation/scsi/NinjaSCSI.txt
+ F:    drivers/scsi/pcmcia/nsp_*
  
  NINJA SCSI-32Bi/UDE PCI/CARDBUS SCSI HOST ADAPTER DRIVER
  P:    GOTO Masanori
@@@ -3264,6 -4019,8 +4019,8 @@@ P:      YOKOTA Hirosh
  M:    yokota@netlab.is.tsukuba.ac.jp
  W:    http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
  S:    Maintained
+ F:    Documentation/scsi/NinjaSCSI.txt
+ F:    drivers/scsi/nsp32*
  
  NTFS FILESYSTEM
  P:    Anton Altaparmakov
@@@ -3271,43 -4028,55 +4028,55 @@@ M:   aia21@cantab.ne
  L:    linux-ntfs-dev@lists.sourceforge.net
  L:    linux-kernel@vger.kernel.org
  W:    http://www.linux-ntfs.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git
  S:    Maintained
+ F:    Documentation/filesystems/ntfs.txt
+ F:    fs/ntfs/
  
  NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
  P:    Antonino Daplas
  M:    adaplas@gmail.com
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/riva/
+ F:    drivers/video/nvidia/
  
  OMFS FILESYSTEM
  P:    Bob Copeland
  M:    me@bobcopeland.com
  L:    linux-karma-devel@lists.sourceforge.net
  S:    Maintained
+ F:    Documentation/filesystems/omfs.txt
+ F:    fs/omfs/
  
  OMNIKEY CARDMAN 4000 DRIVER
  P:    Harald Welte
  M:    laforge@gnumonks.org
  S:    Maintained
+ F:    drivers/char/pcmcia/cm4000_cs.c
+ F:    include/linux/cm4000_cs.h
  
  OMNIKEY CARDMAN 4040 DRIVER
  P:    Harald Welte
  M:    laforge@gnumonks.org
  S:    Maintained
+ F:    drivers/char/pcmcia/cm4040_cs.*
  
  OMNIVISION OV7670 SENSOR DRIVER
  P:    Jonathan Corbet
  M:    corbet@lwn.net
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ 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
  M:    kyungmin.park@samsung.com
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
+ F:    drivers/mtd/onenand/
+ F:    include/linux/mtd/onenand*.h
  
  ONSTREAM SCSI TAPE DRIVER
  P:    Willem Riede
@@@ -3315,18 -4084,25 +4084,25 @@@ M:   osst@riede.or
  L:    osst-users@lists.sourceforge.net
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/osst*
+ F:    drivers/scsi/st*
  
  OPENCORES I2C BUS DRIVER
  P:    Peter Korsgaard
  M:    jacmet@sunsite.dk
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    Documentation/i2c/busses/i2c-ocores
+ F:    drivers/i2c/busses/i2c-ocores.c
  
  OPROFILE
  P:    Robert Richter
  M:    robert.richter@amd.com
  L:    oprofile-list@lists.sf.net
  S:    Maintained
+ F:    arch/*/oprofile/
+ F:    drivers/oprofile/
+ F:    include/linux/oprofile.h
  
  ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
  P:    Mark Fasheh
@@@ -3337,6 -4113,9 +4113,9 @@@ L:      ocfs2-devel@oss.oracle.com (moderate
  W:    http://oss.oracle.com/projects/ocfs2/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git
  S:    Supported
+ F:    Documentation/filesystems/ocfs2.txt
+ F:    Documentation/filesystems/dlmfs.txt
+ F:    fs/ocfs2/
  
  ORINOCO DRIVER
  P:    Pavel Roskin
@@@ -3348,6 -4127,7 +4127,7 @@@ L:      orinoco-users@lists.sourceforge.ne
  L:    orinoco-devel@lists.sourceforge.net
  W:    http://www.nongnu.org/orinoco/
  S:    Maintained
+ F:    drivers/net/wireless/orinoco/
  
  OSD LIBRARY
  P:    Boaz Harrosh
@@@ -3356,7 -4136,7 +4136,7 @@@ P:      Benny Halev
  M:    bhalevy@panasas.com
  L:    osd-dev@open-osd.org
  W:    http://open-osd.org
- T:    git://git.open-osd.org/open-osd.git
+ T:    git git://git.open-osd.org/open-osd.git
  S:    Maintained
  
  P54 WIRELESS DRIVER
@@@ -3364,25 -4144,29 +4144,29 @@@ P:   Michael W
  M:    flamingice@sourmilk.net
  L:    linux-wireless@vger.kernel.org
  W:    http://prism54.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
  S:    Maintained
+ F:    drivers/net/wireless/p54/
  
  PA SEMI ETHERNET DRIVER
  P:    Olof Johansson
  M:    olof@lixom.net
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/pasemi_mac.*
  
  PA SEMI SMBUS DRIVER
  P:    Olof Johansson
  M:    olof@lixom.net
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    drivers/i2c/busses/i2c-pasemi.c
  
  PANASONIC LAPTOP ACPI EXTRAS DRIVER
  P:    Harald Welte
  M:    laforge@gnumonks.org
  S:    Maintained
+ F:    drivers/platform/x86/panasonic-laptop.c
  
  PANASONIC MN10300/AM33 PORT
  P:    David Howells
@@@ -3392,10 -4176,16 +4176,16 @@@ M:   yasutake.koichi@jp.panasonic.co
  L:    linux-am33-list@redhat.com (moderated for non-subscribers)
  W:    ftp://ftp.redhat.com/pub/redhat/gnupro/AM33/
  S:    Maintained
+ F:    Documentation/mn10300/
+ F:    arch/mn10300/
  
  PARALLEL PORT SUPPORT
  L:    linux-parport@lists.infradead.org (subscribers-only)
  S:    Orphan
+ F:    drivers/parport/
+ F:    include/linux/parport*.h
+ F:    drivers/char/ppdev.c
+ F:    include/linux/ppdev.h
  
  PARAVIRT_OPS INTERFACE
  P:    Jeremy Fitzhardinge
@@@ -3409,6 -4199,9 +4199,9 @@@ M:      rusty@rustcorp.com.a
  L:    virtualization@lists.osdl.org
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    Documentation/ia64/paravirt_ops.txt
+ F:    arch/*/kernel/paravirt*
+ F:    arch/*/include/asm/paravirt.h
  
  PARIDE DRIVERS FOR PARALLEL PORT IDE DEVICES
  P:    Tim Waugh
@@@ -3416,6 -4209,8 +4209,8 @@@ M:      tim@cyberelk.ne
  L:    linux-parport@lists.infradead.org (subscribers-only)
  W:    http://www.torque.net/linux-pp.html
  S:    Maintained
+ F:    Documentation/blockdev/paride.txt
+ F:    drivers/block/paride/
  
  PARISC ARCHITECTURE
  P:    Kyle McMartin
@@@ -3424,24 -4219,31 +4219,31 @@@ P:   Helge Delle
  M:    deller@gmx.de
  L:    linux-parisc@vger.kernel.org
  W:    http://www.parisc-linux.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
  S:    Maintained
+ F:    arch/parisc/
+ F:    drivers/parisc/
  
  PC87360 HARDWARE MONITORING DRIVER
  P:    Jim Cromie
  M:    jim.cromie@gmail.com
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/pc87360
+ F:    drivers/hwmon/pc87360.c
  
  PC8736x GPIO DRIVER
  P:    Jim Cromie
  M:    jim.cromie@gmail.com
  S:    Maintained
+ F:    drivers/char/pc8736x_gpio.c
  
  PCA9532 LED DRIVER
  P:    Riku Voipio
  M:    riku.voipio@iki.fi
  S:    Maintained
+ F:    drivers/leds/leds-pca9532.c
+ F:    include/linux/leds-pca9532.h
  
  PCI ERROR RECOVERY
  P:    Linas Vepstas
@@@ -3449,63 -4251,82 +4251,82 @@@ M:   linas@austin.ibm.co
  L:    linux-kernel@vger.kernel.org
  L:    linux-pci@vger.kernel.org
  S:    Supported
+ F:    Documentation/PCI/pci-error-recovery.txt
+ F:    Documentation/powerpc/eeh-pci-error-recovery.txt
  
  PCI SUBSYSTEM
  P:    Jesse Barnes
  M:    jbarnes@virtuousgeek.org
  L:    linux-kernel@vger.kernel.org
  L:    linux-pci@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git
  S:    Supported
+ F:    Documentation/PCI/
+ F:    drivers/pci/
+ F:    include/linux/pci*
  
  PCIE HOTPLUG DRIVER
  P:    Kristen Carlson Accardi
  M:    kristen.c.accardi@intel.com
  L:    linux-pci@vger.kernel.org
  S:    Supported
+ F:    drivers/pci/pcie/
  
  PCMCIA SUBSYSTEM
  P:    Linux PCMCIA Team
  L:    linux-pcmcia@lists.infradead.org
  W:    http://lists.infradead.org/mailman/listinfo/linux-pcmcia
- T:    git kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
  S:    Maintained
+ F:    Documentation/pcmcia/
+ F:    drivers/pcmcia/
+ F:    include/pcmcia/
  
  PCNET32 NETWORK DRIVER
  P:    Don Fry
  M:    pcnet32@verizon.net
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/pcnet32.c
  
  PER-TASK DELAY ACCOUNTING
  P:    Balbir Singh
  M:    balbir@linux.vnet.ibm.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    include/linux/delayacct.h
+ F:    kernel/delayacct.c
  
  PERSONALITY HANDLING
  P:    Christoph Hellwig
  M:    hch@infradead.org
  L:    linux-abi-devel@lists.sourceforge.net
  S:    Maintained
+ F:    include/linux/personality.h
  
  PHRAM MTD DRIVER
  P:    Joern Engel
  M:    joern@lazybastard.org
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
+ F:    drivers/mtd/devices/phram.c
  
  PKTCDVD DRIVER
  P:    Peter Osterlund
  M:    petero2@telia.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/block/pktcdvd.c
+ F:    include/linux/pktcdvd.h
  
  POSIX CLOCKS and TIMERS
  P:    Thomas Gleixner
  M:    tglx@linutronix.de
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    fs/timerfd.c
+ F:    include/linux/timer*
+ F:    kernel/*timer*
  
  POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
  P:    Anton Vorontsov
@@@ -3513,8 -4334,10 +4334,10 @@@ M:    cbou@mail.r
  P:    David Woodhouse
  M:    dwmw2@infradead.org
  L:    linux-kernel@vger.kernel.org
- T:    git git.infradead.org/battery-2.6.git
+ 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
@@@ -3522,33 -4345,42 +4345,42 @@@ M:   abelay@mit.ed
  P:    Bjorn Helgaas
  M:    bjorn.helgaas@hp.com
  S:    Maintained
+ F:    drivers/pnp/
  
  PNXxxxx I2C DRIVER
  P:    Vitaly Wool
  M:    vitalywool@gmail.com
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    drivers/i2c/busses/i2c-pnx.c
  
  PPP PROTOCOL DRIVERS AND COMPRESSORS
  P:    Paul Mackerras
  M:    paulus@samba.org
  L:    linux-ppp@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/ppp_*
  
  PPP OVER ATM (RFC 2364)
  P:    Mitchell Blank Jr
  M:    mitch@sfgoth.com
  S:    Maintained
+ F:    net/atm/pppoatm.c
+ F:    include/linux/atmppp.h
  
  PPP OVER ETHERNET
  P:    Michal Ostrowski
  M:    mostrows@earthlink.net
  S:    Maintained
+ F:    drivers/net/pppoe.c
+ F:    drivers/net/pppox.c
  
  PPP OVER L2TP
  P:    James Chapman
  M:    jchapman@katalix.com
  S:    Maintained
+ F:    drivers/net/pppol2tp.c
+ F:    include/linux/if_pppol2tp.h
  
  PREEMPTIBLE KERNEL
  P:    Robert Love
@@@ -3557,6 -4389,8 +4389,8 @@@ L:      linux-kernel@vger.kernel.or
  L:    kpreempt-tech@lists.sourceforge.net
  W:    ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel
  S:    Supported
+ F:    Documentation/preempt-locking.txt
+ F:    include/linux/preempt.h
  
  PRISM54 WIRELESS DRIVER
  P:    Luis R. Rodriguez
@@@ -3564,6 -4398,7 +4398,7 @@@ M:      mcgrof@gmail.co
  L:    linux-wireless@vger.kernel.org
  W:    http://prism54.org
  S:    Maintained
+ F:    drivers/net/wireless/prism54/
  
  PROMISE DC4030 CACHING DISK CONTROLLER DRIVER
  P:    Peter Denison
@@@ -3576,6 -4411,7 +4411,7 @@@ P:      Mikael Pettersso
  M:    mikpe@it.uu.se
  L:    linux-ide@vger.kernel.org
  S:    Maintained
+ F:    drivers/ata/sata_promise.*
  
  PS3 NETWORK SUPPORT
  P:    Masakazu Mokuno
@@@ -3583,6 -4419,7 +4419,7 @@@ M:      mokuno@sm.sony.co.j
  L:    netdev@vger.kernel.org
  L:    cbe-oss-dev@ozlabs.org
  S:    Supported
+ F:    drivers/net/ps3_gelic_net.*
  
  PS3 PLATFORM SUPPORT
  P:    Geoff Levand
@@@ -3590,6 -4427,13 +4427,13 @@@ M:    geoffrey.levand@am.sony.co
  L:    linuxppc-dev@ozlabs.org
  L:    cbe-oss-dev@ozlabs.org
  S:    Supported
+ F:    arch/powerpc/boot/ps3*
+ F:    arch/powerpc/include/asm/lv1call.h
+ F:    arch/powerpc/include/asm/ps3*.h
+ F:    arch/powerpc/platforms/ps3/
+ F:    drivers/*/ps3*
+ F:    drivers/ps3/
+ F:    drivers/usb/host/*ps3.c
  
  PS3VRAM DRIVER
  P:    Jim Paris
@@@ -3603,8 -4447,10 +4447,10 @@@ M:    isely@pobox.co
  L:    pvrusb2@isely.net       (subscribers-only)
  L:    linux-media@vger.kernel.org
  W:    http://www.isely.net/pvrusb2/
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  S:    Maintained
+ F:    Documentation/video4linux/README.pvrusb2
+ F:    drivers/media/video/pvrusb2/
  
  PXA2xx/PXA3xx SUPPORT
  P:    Eric Miao
@@@ -3613,6 -4459,12 +4459,12 @@@ P:    Russell Kin
  M:    linux@arm.linux.org.uk
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
  S:    Maintained
+ F:    arch/arm/mach-pxa/
+ F:    drivers/pcmcia/pxa2xx*
+ F:    drivers/spi/pxa2xx*
+ F:    drivers/usb/gadget/pxa2*
+ F:    include/sound/pxa2xx-lib.h
+ F:    sound/soc/pxa/pxa2xx*
  
  PXA168 SUPPORT
  P:    Eric Miao
@@@ -3620,14 -4472,14 +4472,14 @@@ M:   eric.miao@marvell.co
  P:    Jason Chagas
  M:    jason.chagas@marvell.com
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
- T:    git kernel.org:/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
  S:    Supported
  
  PXA910 SUPPORT
  P:    Eric Miao
  M:    eric.miao@marvell.com
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
- T:    git kernel.org:/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
  S:    Supported
  
  PXA MMCI DRIVER
@@@ -3644,12 -4496,16 +4496,16 @@@ P:   Andrew Vasque
  M:    linux-driver@qlogic.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
+ F:    Documentation/scsi/LICENSE.qla2xxx
+ F:    drivers/scsi/qla2xxx/
  
  QLOGIC QLA3XXX NETWORK DRIVER
  P:    Ron Mercer
  M:    linux-driver@qlogic.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    Documentation/networking/LICENSE.qla3xxx
+ F:    drivers/net/qla3xxx.*
  
  QLOGIC QLGE 10Gb ETHERNET DRIVER
  P:    Ron Mercer
@@@ -3657,6 -4513,7 +4513,7 @@@ M:      linux-driver@qlogic.co
  M:    ron.mercer@qlogic.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/qlge/
  
  QNX4 FILESYSTEM
  P:    Anders Larsen
@@@ -3664,18 -4521,24 +4521,24 @@@ M:   al@alarsen.ne
  L:    linux-kernel@vger.kernel.org
  W:    http://www.alarsen.net/linux/qnx4fs/
  S:    Maintained
+ F:    fs/qnx4/
+ F:    include/linux/qnx4_fs.h
+ F:    include/linux/qnxtypes.h
  
  RADEON FRAMEBUFFER DISPLAY DRIVER
  P:    Benjamin Herrenschmidt
  M:    benh@kernel.crashing.org
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/aty/radeon*
+ F:    include/linux/radeonfb.h
  
  RAGE128 FRAMEBUFFER DISPLAY DRIVER
  P:    Paul Mackerras
  M:    paulus@samba.org
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/aty/aty128fb.c
  
  RALINK RT2X00 WIRELESS LAN DRIVER
  P:    rt2x00 project
@@@ -3683,36 -4546,43 +4546,43 @@@ L:   linux-wireless@vger.kernel.or
  L:    users@rt2x00.serialmonkey.com
  W:    http://rt2x00.serialmonkey.com/
  S:    Maintained
- T:    git kernel.org:/pub/scm/linux/kernel/git/ivd/rt2x00.git
+ 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
  M:    npiggin@suse.de
  S:    Maintained
+ F:    Documentation/blockdev/ramdisk.txt
+ F:    drivers/block/brd.c
  
  RANDOM NUMBER DRIVER
  P:    Matt Mackall
  M:    mpm@selenic.com
  S:    Maintained
+ F:    drivers/char/random.c
  
  RAPIDIO SUBSYSTEM
  P:    Matt Porter
  M:    mporter@kernel.crashing.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/rapidio/
  
  RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
  P:    Corey Thomas
  M:    coreythomas@charter.net
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/wireless/ray*
  
  RCUTORTURE MODULE
  P:    Josh Triplett
  M:    josh@freedesktop.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/RCU/torture.txt
+ F:    kernel/rcutorture.c
  
  RDC R-321X SoC
  P:    Florian Fainelli
@@@ -3725,12 -4595,14 +4595,14 @@@ P:   Florian Fainell
  M:    florian.fainelli@telecomint.eu
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/r6040.c
  
  RDS - RELIABLE DATAGRAM SOCKETS
  P:    Andy Grover
  M:    andy.grover@oracle.com
 -L:    rds-devel@oss.oracle.com
 +L:    rds-devel@oss.oracle.com (moderated for non-subscribers)
  S:    Supported
+ F:    net/rds/
  
  READ-COPY UPDATE (RCU)
  P:    Dipankar Sarma
@@@ -3738,37 -4610,54 +4610,54 @@@ M:   dipankar@in.ibm.co
  W:    http://www.rdrop.com/users/paulmck/rclock/
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    Documentation/RCU/rcu.txt
+ F:    Documentation/RCU/rcuref.txt
+ F:    include/linux/rcupdate.h
+ F:    include/linux/srcu.h
+ F:    kernel/rcupdate.c
  
  REAL TIME CLOCK DRIVER
  P:    Paul Gortmaker
  M:    p_gortmaker@yahoo.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/rtc.txt
+ F:    drivers/rtc/
+ F:    include/linux/rtc.h
  
  REAL TIME CLOCK (RTC) SUBSYSTEM
  P:    Alessandro Zummo
  M:    a.zummo@towertech.it
  L:    rtc-linux@googlegroups.com
  S:    Maintained
+ F:    Documentation/rtc.txt
+ F:    drivers/rtc/
+ F:    include/linux/rtc.h
  
  REISERFS FILE SYSTEM
  L:    reiserfs-devel@vger.kernel.org
  S:    Supported
+ F:    fs/reiserfs/
  
  RFKILL
  P:    Ivo van Doorn
  M:    IvDoorn@gmail.com
  L:    netdev@vger.kernel.org
  S:    Maintained
- F:    net/rfkill
+ F     Documentation/rfkill.txt
+ F:    net/rfkill/
  
  RISCOM8 DRIVER
  S:    Orphan
+ F:    Documentation/serial/riscom8.txt
+ F:    drivers/char/riscom8*
  
  ROCKETPORT DRIVER
  P:    Comtrol Corp.
  W:    http://www.comtrol.com
  S:    Maintained
+ F:    Documentation/serial/rocket.txt
+ F:    drivers/char/rocket*
  
  ROSE NETWORK LAYER
  P:    Ralf Baechle
@@@ -3776,32 -4665,38 +4665,38 @@@ M:   ralf@linux-mips.or
  L:    linux-hams@vger.kernel.org
  W:    http://www.linux-ax25.org/
  S:    Maintained
+ F:    include/linux/rose.h
+ F:    include/net/rose.h
+ F:    net/rose/
  
  RTL8180 WIRELESS DRIVER
  P:    John W. Linville
  M:    linville@tuxdriver.com
  L:    linux-wireless@vger.kernel.org
  W:    http://linuxwireless.org/
- T:    git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-testing.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  S:    Maintained
+ F:    drivers/net/wireless/rtl818*
  
  RTL8187 WIRELESS DRIVER
- P:     Herton Ronaldo Krzesinski
- M:      herton@mandriva.com.br
- P:      Hin-Tak Leung
- M       htl10@users.sourceforge.net
- P:      Larry Finger
- M:      Larry.Finger@lwfinger.net
- L:      linux-wireless@vger.kernel.org
- W:      http://linuxwireless.org/
- T:      git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-testing.git
- S:      Maintained
+ P:    Herton Ronaldo Krzesinski
+ M:    herton@mandriva.com.br
+ P:    Hin-Tak Leung
+ M:    htl10@users.sourceforge.net
+ P:    Larry Finger
+ M:    Larry.Finger@lwfinger.net
+ L:    linux-wireless@vger.kernel.org
+ 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/rtl818x/rtl8187*
  
  S3 SAVAGE FRAMEBUFFER DRIVER
  P:    Antonino Daplas
  M:    adaplas@gmail.com
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/savage/
  
  S390
  P:    Martin Schwidefsky
@@@ -3812,6 -4707,7 +4707,7 @@@ M:      linux390@de.ibm.co
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
+ F:    arch/s390/
  
  S390 NETWORK DRIVERS
  P:    Ursula Braun
@@@ -3822,6 -4718,7 +4718,7 @@@ M:      linux390@de.ibm.co
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
+ F:    drivers/s390/net/
  
  S390 ZCRYPT DRIVER
  P:    Felix Beck
@@@ -3831,6 -4728,7 +4728,7 @@@ M:      ralph.wuerthner@de.ibm.co
  M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  S:    Supported
+ F:    drivers/s390/crypto/
  
  S390 ZFCP DRIVER
  P:    Christof Schmitt
@@@ -3841,6 -4739,8 +4739,8 @@@ M:      linux390@de.ibm.co
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
+ F:    Documentation/s390/zfcpdump.txt
+ F:    drivers/s390/scsi/zfcp_*
  
  S390 IUCV NETWORK LAYER
  P:    Ursula Braun
@@@ -3849,6 -4749,9 +4749,9 @@@ M:      linux390@de.ibm.co
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
+ F:    drivers/s390/net/*iucv*
+ F:    include/net/iucv/
+ F:    net/iucv/
  
  S3C24XX SD/MMC Driver
  P:    Ben Dooks
@@@ -3856,27 -4759,34 +4759,34 @@@ M:   ben-linux@fluff.or
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
  L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    drivers/mmc/host/s3cmci.*
  
  SAA7146 VIDEO4LINUX-2 DRIVER
  P:    Michael Hunold
  M:    michael@mihu.de
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://www.mihu.de/linux/saa7146
  S:    Maintained
+ F:    drivers/media/common/saa7146*
+ F:    drivers/media/video/*7146*
+ F:    include/media/*7146*
  
  SC1200 WDT DRIVER
  P:    Zwane Mwaikambo
  M:    zwane@arm.linux.org.uk
  S:    Maintained
+ F:    drivers/watchdog/sc1200wdt.c
  
  SCHEDULER
  P:    Ingo Molnar
  M:    mingo@elte.hu
- P:    Robert Love    [the preemptible kernel bits]
- M:    rml@tech9.net
+ P:    Peter Zijlstra
+ M:    peterz@infradead.org
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    kernel/sched*
+ F:    include/linux/sched.h
  
  SCSI CDROM DRIVER
  P:    Jens Axboe
@@@ -3884,6 -4794,7 +4794,7 @@@ M:      axboe@kernel.d
  L:    linux-scsi@vger.kernel.org
  W:    http://www.kernel.dk
  S:    Maintained
+ F:    drivers/scsi/sr*
  
  SCSI SG DRIVER
  P:    Doug Gilbert
@@@ -3891,21 -4802,27 +4802,27 @@@ M:   dgilbert@interlog.co
  L:    linux-scsi@vger.kernel.org
  W:    http://www.torque.net/sg
  S:    Maintained
+ F:    drivers/scsi/sg.c
+ F:    include/scsi/sg.h
  
  SCSI SUBSYSTEM
  P:    James E.J. Bottomley
  M:    James.Bottomley@HansenPartnership.com
  L:    linux-scsi@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
- T:    git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
- T:    git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git
+ 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
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git
  S:    Maintained
+ F:    drivers/scsi/
+ F:    include/scsi/
  
  SCSI TAPE DRIVER
  P:    Kai Mäkisara
  M:    Kai.Makisara@kolumbus.fi
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    Documentation/scsi/st.txt
+ F:    drivers/scsi/st*
  
  SCTP PROTOCOL
  P:    Vlad Yasevich
@@@ -3915,31 -4832,45 +4832,45 @@@ M:   sri@us.ibm.co
  L:    linux-sctp@vger.kernel.org
  W:    http://lksctp.sourceforge.net
  S:    Supported
+ F:    Documentation/networking/sctp.txt
+ F:    include/linux/sctp.h
+ F:    include/net/sctp/
+ F:    net/sctp/
  
  SCx200 CPU SUPPORT
  P:    Jim Cromie
  M:    jim.cromie@gmail.com
  S:    Odd Fixes
+ F:    Documentation/i2c/busses/scx200_acb
+ F:    arch/x86/kernel/scx200_32.c
+ F:    drivers/watchdog/scx200_wdt.c
+ F:    drivers/i2c/busses/scx200*
+ F:    drivers/mtd/maps/scx200_docflash.c
+ F:    include/linux/scx200.h
  
  SCx200 GPIO DRIVER
  P:    Jim Cromie
  M:    jim.cromie@gmail.com
  S:    Maintained
+ F:    drivers/char/scx200_gpio.c
+ F:    include/linux/scx200_gpio.h
  
  SCx200 HRT CLOCKSOURCE DRIVER
  P:    Jim Cromie
  M:    jim.cromie@gmail.com
  S:    Maintained
+ F:    drivers/clocksource/scx200_hrt.c
  
  SDRICOH_CS MMC/SD HOST CONTROLLER INTERFACE DRIVER
  P:    Sascha Sommer
  M:    saschasommer@freenet.de
  L:    sdricohcs-devel@lists.sourceforge.net (subscribers-only)
  S:    Maintained
+ F:    drivers/mmc/host/sdricoh_cs.c
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
  P:    Pierre Ossman
- M:    drzeus-sdhci@drzeus.cx
+ M:    pierre@ossman.eu
  L:    sdhci-devel@lists.ossman.eu
  S:    Maintained
  
@@@ -3949,16 -4880,17 +4880,17 @@@ M:   avorontsov@ru.mvista.co
  L:    linuxppc-dev@ozlabs.org
  L:    sdhci-devel@lists.ossman.eu
  S:    Maintained
+ F:    drivers/mmc/host/sdhci.*
  
  SECURITY SUBSYSTEM
- F:    security/
  P:    James Morris
  M:    jmorris@namei.org
  L:    linux-kernel@vger.kernel.org
  L:    linux-security-module@vger.kernel.org (suggested Cc:)
- T:    git kernel.org:pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
+ T:    git git://www.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
@@@ -3973,31 -4905,39 +4905,39 @@@ M:   jmorris@namei.or
  P:    Eric Paris
  M:    eparis@parisplace.org
  L:    linux-kernel@vger.kernel.org (kernel issues)
- L:    selinux@tycho.nsa.gov (subscribers-only, general discussion)
+ L:    selinux@tycho.nsa.gov (subscribers-only, general discussion)
  W:    http://selinuxproject.org
- T:    git 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
  S:    Supported
+ F:    include/linux/selinux*
+ F:    security/selinux/
  
  SENSABLE PHANTOM
  P:    Jiri Slaby
  M:    jirislaby@gmail.com
  S:    Maintained
+ F:    drivers/misc/phantom.c
+ F:    include/linux/phantom.h
  
  SERIAL ATA (SATA) SUBSYSTEM
  P:    Jeff Garzik
  M:    jgarzik@pobox.com
  L:    linux-ide@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
  S:    Supported
+ F:    drivers/ata/
+ F:    include/linux/ata.h
+ F:    include/linux/libata.h
  
  SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
  P:    Sathya Perla
  M:    sathyap@serverengines.com
- P:      Subbu Seetharaman
- M:      subbus@serverengines.com
- L:      netdev@vger.kernel.org
- W:      http://www.serverengines.com
- S:      Supported
+ P:    Subbu Seetharaman
+ M:    subbus@serverengines.com
+ L:    netdev@vger.kernel.org
+ W:    http://www.serverengines.com
+ S:    Supported
+ F:    drivers/net/benet/
  
  SFC NETWORK DRIVER
  P:    Steve Hodgson
@@@ -4005,17 -4945,22 +4945,22 @@@ P:   Ben Hutching
  P:    Robert Stonehouse
  M:    linux-net-drivers@solarflare.com
  S:    Supported
+ F:    drivers/net/sfc/
  
  SGI GRU DRIVER
  P:    Jack Steiner
  M:    steiner@sgi.com
  S:    Maintained
+ F:    drivers/misc/sgi-gru/
  
  SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER
  P:    Pat Gefre
  M:    pfg@sgi.com
  L:    linux-ia64@vger.kernel.org
  S:    Supported
+ F:    Documentation/ia64/serial.txt
+ F:    drivers/serial/ioc?_serial.c
+ F:    include/linux/ioc?.h
  
  SGI VISUAL WORKSTATION 320 AND 540
  P:    Andrey Panin
@@@ -4023,11 -4968,13 +4968,13 @@@ M:   pazke@donpac.r
  L:    linux-visws-devel@lists.sf.net
  W:    http://linux-visws.sf.net
  S:    Maintained for 2.6.
+ F:    Documentation/sgi-visws.txt
  
  SGI XP/XPC/XPNET DRIVER
  P:    Dean Nelson
  M:    dcn@sgi.com
  S:    Maintained
+ F:    drivers/misc/sgi-xp/
  
  SHARP LH SUPPORT (LH7952X & LH7A40X)
  P:    Marc Singer
@@@ -4035,12 -4982,18 +4982,18 @@@ M:   elf@buici.co
  W:    http://projects.buici.com/arm
  L:    linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
  S:    Maintained
+ F:    Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen
+ F:    arch/arm/mach-lh7a40x/
+ F:    drivers/serial/serial_lh7a40x.c
+ F:    drivers/usb/gadget/lh7a40*
+ F:    drivers/usb/host/ohci-lh7a40*
  
  SHPC HOTPLUG DRIVER
  P:    Kristen Carlson Accardi
  M:    kristen.c.accardi@intel.com
  L:    linux-pci@vger.kernel.org
  S:    Supported
+ F:    drivers/pci/hotplug/shpchp*
  
  SIMTEC EB110ATX (Chalice CATS)
  P:    Ben Dooks
@@@ -4048,6 -5001,7 +5001,7 @@@ P:      Vincent Sander
  M:    support@simtec.co.uk
  W:    http://www.simtec.co.uk/products/EB110ATX/
  S:    Supported
+ F:    arch/arm/mach-ebsa110/
  
  SIMTEC EB2410ITX (BAST)
  P:    Ben Dooks
@@@ -4055,12 -5009,16 +5009,16 @@@ P:   Vincent Sander
  M:    support@simtec.co.uk
  W:    http://www.simtec.co.uk/products/EB2410ITX/
  S:    Supported
+ F:    arch/arm/mach-s3c2410/
+ F:    drivers/*/*s3c2410*
+ F:    drivers/*/*/*s3c2410*
  
  SIS 190 ETHERNET DRIVER
  P:    Francois Romieu
  M:    romieu@fr.zoreil.com
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/sis190.c
  
  SIS 900/7016 FAST ETHERNET DRIVER
  P:    Daniele Venzano
@@@ -4068,30 -5026,39 +5026,39 @@@ M:   venza@brownhat.or
  W:    http://www.brownhat.org/sis900.html
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/sis900.*
  
  SIS 96X I2C/SMBUS DRIVER
  P:    Mark M. Hoffman
  M:    mhoffman@lightlink.com
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    Documentation/i2c/busses/i2c-sis96x
+ F:    drivers/i2c/busses/i2c-sis96x.c
  
  SIS FRAMEBUFFER DRIVER
  P:    Thomas Winischhofer
  M:    thomas@winischhofer.net
  W:    http://www.winischhofer.net/linuxsisvga.shtml
  S:    Maintained
+ F:    Documentation/fb/sisfb.txt
+ F:    drivers/video/sis/
+ F:    include/video/sisfb.h
  
  SIS USB2VGA DRIVER
  P:    Thomas Winischhofer
  M:    thomas@winischhofer.net
  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
  M:    shemminger@linux-foundation.org
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/skge.*
+ F:    drivers/net/sky2.*
  
  SLAB ALLOCATOR
  P:    Christoph Lameter
@@@ -4102,34 -5069,43 +5069,43 @@@ P:   Matt Mackal
  M:    mpm@selenic.com
  L:    linux-mm@kvack.org
  S:    Maintained
+ F:    include/linux/sl?b*.h
+ F:    mm/sl?b.c
  
  SMC91x ETHERNET DRIVER
  P:    Nicolas Pitre
  M:    nico@cam.org
  S:    Maintained
+ F:    drivers/net/smc91x.*
  
  SMSC47B397 HARDWARE MONITOR DRIVER
  P:    Mark M. Hoffman
  M:    mhoffman@lightlink.com
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/smsc47b397
+ F:    drivers/hwmon/smsc47b397.c
  
  SMSC911x ETHERNET DRIVER
  P:    Steve Glendinning
  M:    steve.glendinning@smsc.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    include/linux/smsc911x.h
+ F:    drivers/net/smsc911x.*
  
  SMSC9420 PCI ETHERNET DRIVER
  P:    Steve Glendinning
  M:    steve.glendinning@smsc.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/smsc9420.*
  
  SMX UIO Interface
  P:    Ben Nizette
  M:    bn@niasdigital.com
  S:    Maintained
+ F:    drivers/uio/uio_smx.c
  
  SN-IA64 (Itanium) SUB-PLATFORM
  P:    Jes Sorensen
@@@ -4138,36 -5114,45 +5114,45 @@@ L:   linux-altix@sgi.co
  L:    linux-ia64@vger.kernel.org
  W:    http://www.sgi.com/altix
  S:    Maintained
+ F:    arch/ia64/sn/
  
  SOC-CAMERA V4L2 SUBSYSTEM
  P:    Guennadi Liakhovetski
  M:    g.liakhovetski@gmx.de
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  S:    Maintained
+ F:    include/media/v4l2*
+ F:    drivers/media/video/v4l2*
  
  SOEKRIS NET48XX LED SUPPORT
  P:    Chris Boot
  M:    bootc@bootc.net
  S:    Maintained
+ F:    drivers/leds/leds-net48xx.c
  
  SOFTWARE RAID (Multiple Disks) SUPPORT
  P:    Neil Brown
  M:    neilb@suse.de
  L:    linux-raid@vger.kernel.org
  S:    Supported
+ F:    drivers/md/
+ F:    include/linux/raid/
  
  SONIC NETWORK DRIVER
  P:    Thomas Bogendoerfer
  M:    tsbogend@alpha.franken.de
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/sonic.*
  
  SONICS SILICON BACKPLANE DRIVER (SSB)
  P:    Michael Buesch
  M:    mb@bu3sch.de
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/ssb/
+ F:    include/linux/ssb/
  
  SONY VAIO CONTROL DEVICE DRIVER
  P:    Mattia Dongili
@@@ -4175,6 -5160,10 +5160,10 @@@ M:    malattia@linux.i
  L:    linux-acpi@vger.kernel.org
  W:    http://www.linux.it/~malattia/wiki/index.php/Sony_drivers
  S:    Maintained
+ F:    Documentation/laptops/sony-laptop.txt
+ F:    drivers/char/sonypi.c
+ F:    drivers/platform/x86/sony-laptop.c
+ F:    include/linux/sony-laptop.h
  
  SONY MEMORYSTICK CARD SUPPORT
  P:    Alex Dubov
@@@ -4182,6 -5171,7 +5171,7 @@@ M:      oakad@yahoo.co
  L:    linux-kernel@vger.kernel.org
  W:    http://tifmxx.berlios.de/
  S:    Maintained
+ F:    drivers/memstick/host/tifm_ms.c
  
  SOUND
  P:    Jaroslav Kysela
@@@ -4190,36 -5180,44 +5180,44 @@@ P:   Takashi Iwa
  M:    tiwai@suse.de
  L:    alsa-devel@alsa-project.org (subscribers-only)
  S:    Maintained
+ F:    sound/
  
  SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
  P:    Liam Girdwood
  M:    lrg@slimlogic.co.uk
  P:    Mark Brown
  M:    broonie@opensource.wolfsonmicro.com
- T:    git opensource.wolfsonmicro.com/linux-2.6-asoc
+ T:    git git://opensource.wolfsonmicro.com/linux-2.6-asoc
  L:    alsa-devel@alsa-project.org (subscribers-only)
  W:    http://alsa-project.org/main/index.php/ASoC
  S:    Supported
+ F:    sound/soc/
  
  SPARC + UltraSPARC (sparc/sparc64)
  P:    David S. Miller
  M:    davem@davemloft.net
  L:    sparclinux@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6.git
- T:    git kernel.org:/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
+ 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
  S:    Maintained
+ F:    arch/sparc/
  
  SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
  P:    Roger Wolff
  M:    R.E.Wolff@BitWizard.nl
- L:    linux-kernel@vger.kernel.org ?
+ L:    linux-kernel@vger.kernel.org
  S:    Supported
+ F:    Documentation/serial/specialix.txt
+ F:    drivers/char/specialix*
  
  SPI SUBSYSTEM
  P:    David Brownell
  M:    dbrownell@users.sourceforge.net
  L:    spi-devel-general@lists.sourceforge.net
  S:    Maintained
+ F:    Documentation/spi/
+ F:    drivers/spi/
+ F:    include/linux/spi/
  
  SPIDERNET NETWORK DRIVER for CELL
  P:    Ishizaki Kou
@@@ -4228,6 -5226,8 +5226,8 @@@ P:      Jens Osterkam
  M:    jens@de.ibm.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    Documentation/networking/spider_net.txt
+ F:    drivers/net/spider_net*
  
  SPU FILE SYSTEM
  P:    Jeremy Kerr
@@@ -4236,6 -5236,8 +5236,8 @@@ L:      linuxppc-dev@ozlabs.or
  L:    cbe-oss-dev@ozlabs.org
  W:    http://www.ibm.com/developerworks/power/cell/
  S:    Supported
+ F:    Documentation/filesystems/spufs.txt
+ F:    arch/powerpc/platforms/cell/spufs/
  
  SQUASHFS FILE SYSTEM
  P:    Phillip Lougher
@@@ -4243,12 -5245,15 +5245,15 @@@ M:   phillip@lougher.demon.co.u
  L:    squashfs-devel@lists.sourceforge.net (subscribers-only)
  W:    http://squashfs.org.uk
  S:    Maintained
+ F:    Documentation/filesystems/squashfs.txt
+ F:    fs/squashfs/
  
  SRM (Alpha) environment access
  P:    Jan-Benedict Glaw
  M:    jbglaw@lug-owl.de
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    arch/alpha/kernel/srm_env.c
  
  STABLE BRANCH
  P:    Greg Kroah-Hartman
@@@ -4264,35 -5269,44 +5269,44 @@@ M:   gregkh@suse.d
  L:    linux-kernel@vger.kernel.org
  T:    quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
  S:    Maintained
+ F:    drivers/staging/
  
  STARFIRE/DURALAN NETWORK DRIVER
  P:    Ion Badulescu
  M:    ionut@cs.columbia.edu
  S:    Maintained
+ 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
  M:    laredo@gnu.org
  W:    http://www.stradis.com/
  S:    Maintained
+ F:    drivers/media/video/stradis.c
  
  SUN3/3X
  P:    Sam Creasey
  M:    sammy@sammy.net
  W:    http://sammy.net/sun3/
  S:    Maintained
+ F:    arch/m68k/kernel/*sun3*
+ F:    arch/m68k/sun3*/
+ F:    arch/m68k/include/asm/sun3*
  
  SUPERH
  P:    Paul Mundt
  M:    lethal@linux-sh.org
  L:    linux-sh@vger.kernel.org
  W:    http://www.linux-sh.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git
  S:    Supported
+ F:    arch/sh/
  
  SUSPEND TO RAM
  P:    Len Brown
@@@ -4303,29 -5317,48 +5317,48 @@@ P:   Rafael J. Wysock
  M:    rjw@sisk.pl
  L:    linux-pm@lists.linux-foundation.org
  S:    Supported
+ F:    Documentation/power/
+ F:    arch/x86/kernel/acpi/
+ F:    drivers/base/power/
+ F:    kernel/power/
+ F:    include/linux/suspend.h
+ F:    include/linux/freezer.h
+ F:    include/linux/pm.h
+ F:    include/asm-*/suspend.h
  
  SVGA HANDLING
  P:    Martin Mares
  M:    mj@ucw.cz
  L:    linux-video@atrey.karlin.mff.cuni.cz
  S:    Maintained
+ F:    Documentation/svga.txt
+ F:    arch/x86/boot/video*
  
  SYSV FILESYSTEM
  P:    Christoph Hellwig
  M:    hch@infradead.org
  S:    Maintained
+ F:    Documentation/filesystems/sysv-fs.txt
+ F:    fs/sysv/
+ F:    include/linux/sysv_fs.h
  
  TASKSTATS STATISTICS INTERFACE
  P:    Balbir Singh
  M:    balbir@linux.vnet.ibm.com
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/accounting/taskstats*
+ F:    include/linux/taskstats*
+ F:    kernel/taskstats.c
  
  TC CLASSIFIER
  P:    Jamal Hadi Salim
  M:    hadi@cyberus.ca
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    include/linux/pkt_cls.h
+ F:    include/net/pkt_cls.h
+ F:    net/sched/
  
  TCP LOW PRIORITY MODULE
  P:    Wong Hoi Sing, Edison
@@@ -4334,6 -5367,7 +5367,7 @@@ P:      Hung Hing Lun, Mik
  M:    hlhung3i@gmail.com
  W:    http://tcp-lp-mod.sourceforge.net/
  S:    Maintained
+ F:    net/ipv4/tcp_lp.c
  
  TEHUTI ETHERNET DRIVER
  P:    Alexander Indenbaum
@@@ -4342,16 -5376,19 +5376,19 @@@ P:   Andy Gospodare
  M:    andy@greyhouse.net
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/tehuti*
  
  Telecom Clock Driver for MCPL0010
  P:    Mark Gross
  M:    mark.gross@intel.com
  S:    Supported
+ F:    drivers/char/tlclk.c
  
  TENSILICA XTENSA PORT (xtensa)
  P:    Chris Zankel
  M:    chris@zankel.net
  S:    Maintained
+ F:    arch/xtensa/
  
  THINKPAD ACPI EXTRAS DRIVER
  P:    Henrique de Moraes Holschuh
@@@ -4359,13 -5396,17 +5396,17 @@@ M:   ibm-acpi@hmh.eng.b
  L:    ibm-acpi-devel@lists.sourceforge.net
  W:    http://ibm-acpi.sourceforge.net
  W:    http://thinkwiki.org/wiki/Ibm-acpi
- T:    git repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git
+ T:    git git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git
  S:    Maintained
+ F:    drivers/platform/x86/thinkpad_acpi.c
  
  TI FLASH MEDIA INTERFACE DRIVER
  P:    Alex Dubov
  M:    oakad@yahoo.com
  S:    Maintained
+ F:    drivers/misc/tifm*
+ F:    drivers/mmc/host/tifm_sd.c
+ F:    include/linux/tifm.h
  
  TI OMAP MMC INTERFACE DRIVER
  P:    Carlos Aguiar, Anderson Briglia and Syed Khasim
@@@ -4373,11 -5414,13 +5414,13 @@@ M:   linux-omap@vger.kernel.or
  W:    http://linux.omap.com
  W:    http://www.muru.com/linux/omap/
  S:    Maintained
+ F:    drivers/mmc/host/omap.c
  
  TI OMAP RANDOM NUMBER GENERATOR SUPPORT
  P:    Deepak Saxena
  M:    dsaxena@plexity.net
  S:    Maintained
+ F:    drivers/char/hw_random/omap-rng.c
  
  TIPC NETWORK LAYER
  P:    Per Liden
@@@ -4389,8 -5432,11 +5432,11 @@@ M:    allan.stephens@windriver.co
  L:    tipc-discussion@lists.sourceforge.net
  W:    http://tipc.sourceforge.net/
  W:    http://tipc.cslab.ericsson.net/
- T:    git tipc.cslab.ericsson.net:/pub/git/tipc.git
+ T:    git git://tipc.cslab.ericsson.net/pub/git/tipc.git
  S:    Maintained
+ F:    include/linux/tipc*.h
+ F:    include/net/tipc/
+ F:    net/tipc/
  
  TLAN NETWORK DRIVER
  P:    Samuel Chessman
@@@ -4398,6 -5444,8 +5444,8 @@@ M:      chessman@tux.or
  L:    tlan-devel@lists.sourceforge.net (subscribers-only)
  W:    http://sourceforge.net/projects/tlan/
  S:    Maintained
+ F:    Documentation/networking/tlan.txt
+ F:    drivers/net/tlan.*
  
  TOMOYO SECURITY MODULE
  P:    Kentaro Takeda
@@@ -4411,9 -5459,11 +5459,11 @@@ L:    tomoyo-users@lists.sourceforge.jp (s
  W:    http://tomoyo.sourceforge.jp/
  T:    quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.2.x/tomoyo-lsm/patches/
  S:    Maintained
+ F:    security/tomoyo/
  
  TOSHIBA ACPI EXTRAS DRIVER
  S:    Orphan
+ F:    drivers/platform/x86/toshiba_acpi.c
  
  TOSHIBA SMM DRIVER
  P:    Jonathan Buzzard
@@@ -4421,11 -5471,14 +5471,14 @@@ M:   jonathan@buzzard.org.u
  L:    tlinux-users@tce.toshiba-dme.co.jp
  W:    http://www.buzzard.org.uk/toshiba/
  S:    Maintained
+ F:    drivers/char/toshiba.c
+ F:    include/linux/toshiba.h
  
  TMIO MMC DRIVER
  P:    Ian Molton
  M:    ian@mnementh.co.uk
  S:    Maintained
+ F:    drivers/mmc/host/tmio_mmc.*
  
  TPM DEVICE DRIVER
  P:    Debora Velarde
@@@ -4438,12 -5491,13 +5491,13 @@@ M:   m.selhorst@sirrix.co
  W:    http://www.sirrix.com
  L:    tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/char/tpm/
  
  TRIVIAL PATCHES
  P:    Jiri Kosina
  M:    trivial@kernel.org
  L:    linux-kernel@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jikos/trivial.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
  S:    Maintained
  
  TTY LAYER
@@@ -4459,6 -5513,7 +5513,7 @@@ P:      Kyle McMarti
  M:    kyle@mcmartin.ca
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/tulip/
  
  TUN/TAP driver
  P:    Maxim Krasnyansky
@@@ -4466,17 -5521,22 +5521,22 @@@ M:   maxk@qualcomm.co
  L:    vtun@office.satix.net
  W:    http://vtun.sourceforge.net/tun
  S:    Maintained
+ F:    Documentation/networking/tuntap.txt
+ F:    arch/um/os-Linux/drivers/
  
  TURBOCHANNEL SUBSYSTEM
  P:    Maciej W. Rozycki
  M:    macro@linux-mips.org
  S:    Maintained
+ F:    drivers/tc/
+ F:    include/linux/tc.h
  
  U14-34F SCSI DRIVER
  P:    Dario Ballabio
  M:    ballabio_dario@emc.com
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/u14-34f.c
  
  UBI FILE SYSTEM (UBIFS)
  P:    Artem Bityutskiy
@@@ -4487,6 -5547,8 +5547,8 @@@ L:      linux-mtd@lists.infradead.or
  T:    git git://git.infradead.org/ubifs-2.6.git
  W:    http://www.linux-mtd.infradead.org/doc/ubifs.html
  S:    Maintained
+ F:    Documentation/filesystems/ubifs.txt
+ F:    fs/ubifs/
  
  UCLINUX (AND M68KNOMMU)
  P:    Greg Ungerer
@@@ -4494,6 -5556,7 +5556,7 @@@ M:      gerg@uclinux.or
  W:    http://www.uclinux.org/
  L:    uclinux-dev@uclinux.org  (subscribers-only)
  S:    Maintained
+ F:    arch/m68knommu/
  
  UCLINUX FOR RENESAS H8/300
  P:    Yoshinori Sato
@@@ -4506,18 -5569,25 +5569,25 @@@ P:   Jan Kar
  M:    jack@suse.cz
  W:    http://linux-udf.sourceforge.net
  S:    Maintained
+ F:    Documentation/filesystems/udf.txt
+ F:    fs/udf/
  
  UFS FILESYSTEM
  P:    Evgeniy Dushistov
  M:    dushistov@mail.ru
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/ufs.txt
+ F:    fs/ufs/
  
  ULTRA-WIDEBAND (UWB) SUBSYSTEM:
  P:    David Vrabel
  M:    david.vrabel@csr.com
  L:    linux-usb@vger.kernel.org
  S:    Supported
+ F:    drivers/uwb/*
+ F:    include/linux/uwb.h
+ F:    include/linux/uwb/
  
  UNIFORM CDROM DRIVER
  P:    Jens Axboe
@@@ -4525,6 -5595,9 +5595,9 @@@ M:      axboe@kernel.d
  L:    linux-kernel@vger.kernel.org
  W:    http://www.kernel.dk
  S:    Maintained
+ F:    Documentation/cdrom/
+ F:    drivers/cdrom/cdrom.c
+ F:    include/linux/cdrom.h
  
  UNSORTED BLOCK IMAGES (UBI)
  P:    Artem Bityutskiy
@@@ -4533,12 -5606,17 +5606,17 @@@ W:   http://www.linux-mtd.infradead.org
  L:    linux-mtd@lists.infradead.org
  T:    git git://git.infradead.org/ubi-2.6.git
  S:    Maintained
+ F:    drivers/mtd/ubi/
+ F:    include/linux/mtd/ubi.h
+ F:    include/mtd/ubi-user.h
  
  USB ACM DRIVER
  P:    Oliver Neukum
  M:    oliver@neukum.name
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    Documentation/usb/acm.txt
+ F:    drivers/usb/class/cdc-acm.*
  
  USB BLOCK DRIVER (UB ub)
  P:    Pete Zaitcev
@@@ -4546,6 -5624,7 +5624,7 @@@ M:      zaitcev@redhat.co
  L:    linux-kernel@vger.kernel.org
  L:    linux-usb@vger.kernel.org
  S:    Supported
+ F:    drivers/block/ub.c
  
  USB CDC ETHERNET DRIVER
  P:    Greg Kroah-Hartman
@@@ -4553,12 -5632,15 +5632,15 @@@ M:   greg@kroah.co
  L:    linux-usb@vger.kernel.org
  S:    Maintained
  W:    http://www.kroah.com/linux-usb/
+ F:    drivers/net/usb/cdc_*.c
+ F:    include/linux/usb/cdc.h
  
  USB CYPRESS C67X00 DRIVER
  P:    Peter Korsgaard
  M:    jacmet@sunsite.dk
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/c67x00/
  
  USB DAVICOM DM9601 DRIVER
  P:    Peter Korsgaard
@@@ -4566,6 -5648,7 +5648,7 @@@ M:      jacmet@sunsite.d
  L:    netdev@vger.kernel.org
  W:    http://www.linux-usb.org/usbnet
  S:    Maintained
+ F:    drivers/net/usb/dm9601.c
  
  USB DIAMOND RIO500 DRIVER
  P:    Cesar Miquel
@@@ -4573,21 -5656,25 +5656,25 @@@ M:   miquel@df.uba.a
  L:    rio500-users@lists.sourceforge.net
  W:    http://rio500.sourceforge.net
  S:    Maintained
+ F:    drivers/usb/misc/rio500*
  
  USB EHCI DRIVER
  P:    David Brownell
  M:    dbrownell@users.sourceforge.net
  L:    linux-usb@vger.kernel.org
  S:    Odd Fixes
+ F:    Documentation/usb/ehci.txt
+ F:    drivers/usb/host/ehci*
  
  USB ET61X[12]51 DRIVER
  P:    Luca Risolia
  M:    luca.risolia@studio.unibo.it
  L:    linux-usb@vger.kernel.org
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://www.linux-projects.org
  S:    Maintained
+ F:    drivers/media/video/et61x251/
  
  USB GADGET/PERIPHERAL SUBSYSTEM
  P:    David Brownell
@@@ -4595,25 -5682,32 +5682,32 @@@ M:   dbrownell@users.sourceforge.ne
  L:    linux-usb@vger.kernel.org
  W:    http://www.linux-usb.org/gadget
  S:    Maintained
+ F:    drivers/usb/gadget/
+ F:    include/linux/usb/gadget*
  
  USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
  P:    Jiri Kosina
  M:    jkosina@suse.cz
  L:    linux-usb@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/jikos/hid.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
  S:    Maintained
+ F:    Documentation/usb/hiddev.txt
+ F:    drivers/hid/usbhid/
  
  USB ISP116X DRIVER
  P:    Olav Kongas
  M:    ok@artecdesign.ee
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/host/isp116x*
+ F:    include/linux/usb/isp116x.h
  
  USB KAWASAKI LSI DRIVER
  P:    Oliver Neukum
  M:    oliver@neukum.name
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/serial/kl5kusb105.*
  
  USB MASS STORAGE DRIVER
  P:    Matthew Dharm
@@@ -4622,18 -5716,22 +5716,22 @@@ L:   linux-usb@vger.kernel.or
  L:    usb-storage@lists.one-eyed-alien.net
  S:    Maintained
  W:    http://www.one-eyed-alien.net/~mdharm/linux-usb/
+ F:    drivers/usb/storage/
  
  USB OHCI DRIVER
  P:    David Brownell
  M:    dbrownell@users.sourceforge.net
  L:    linux-usb@vger.kernel.org
  S:    Odd Fixes
+ F:    Documentation/usb/ohci.txt
+ F:    drivers/usb/host/ohci*
  
  USB OPTION-CARD DRIVER
  P:    Matthias Urlichs
  M:    smurf@smurf.noris.de
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/serial/option.c
  
  USB OV511 DRIVER
  P:    Mark McClelland
@@@ -4641,6 -5739,7 +5739,7 @@@ M:      mmcclell@bigfoot.co
  L:    linux-usb@vger.kernel.org
  W:    http://alpha.dyndns.org/ov511/
  S:    Maintained
+ F:    drivers/media/video/ov511.*
  
  USB PEGASUS DRIVER
  P:    Petko Manolov
@@@ -4649,12 -5748,14 +5748,14 @@@ L:   linux-usb@vger.kernel.or
  L:    netdev@vger.kernel.org
  W:    http://pegasus2.sourceforge.net/
  S:    Maintained
+ F:    drivers/net/usb/pegasus.*
  
  USB PRINTER DRIVER (usblp)
  P:    Pete Zaitcev
  M:    zaitcev@redhat.com
  L:    linux-usb@vger.kernel.org
  S:    Supported
+ F:    drivers/usb/class/usblp.c
  
  USB RTL8150 DRIVER
  P:    Petko Manolov
@@@ -4663,6 -5764,7 +5764,7 @@@ L:      linux-usb@vger.kernel.or
  L:    netdev@vger.kernel.org
  W:    http://pegasus2.sourceforge.net/
  S:    Maintained
+ F:    drivers/net/usb/rtl8150.c
  
  USB SE401 DRIVER
  P:    Jeroen Vreeken
@@@ -4670,12 -5772,15 +5772,15 @@@ M:   pe1rxq@amsat.or
  L:    linux-usb@vger.kernel.org
  W:    http://www.chello.nl/~j.vreeken/se401/
  S:    Maintained
+ F:    Documentation/video4linux/se401.txt
+ F:    drivers/media/video/se401.*
  
  USB SERIAL BELKIN F5U103 DRIVER
  P:    William Greathouse
  M:    wgreathouse@smva.com
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/serial/belkin_sa.*
  
  USB SERIAL CYPRESS M8 DRIVER
  P:    Lonnie Mendez
@@@ -4684,12 -5789,14 +5789,14 @@@ L:   linux-usb@vger.kernel.or
  S:    Maintained
  W:    http://geocities.com/i0xox0i
  W:    http://firstlight.net/cvs
+ F:    drivers/usb/serial/cypress_m8.*
  
  USB SERIAL CYBERJACK DRIVER
  P:    Matthias Bruestle and Harald Welte
  M:    support@reiner-sct.com
  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
@@@ -4697,18 -5804,24 +5804,24 @@@ M:   pberger@brimson.co
  M:    alborchers@steinerpoint.com
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/serial/digi_acceleport.c
  
  USB SERIAL DRIVER
  P:    Greg Kroah-Hartman
  M:    gregkh@suse.de
  L:    linux-usb@vger.kernel.org
  S:    Supported
+ F:    Documentation/usb/usb-serial.txt
+ F:    drivers/usb/serial/generic.c
+ F:    drivers/usb/serial/usb-serial.c
+ F:    include/linux/usb/serial.h
  
  USB SERIAL EMPEG EMPEG-CAR MARK I/II DRIVER
  P:    Gary Brubaker
  M:    xavyer@ix.netcom.com
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/serial/empeg.c
  
  USB SERIAL KEYSPAN DRIVER
  P:    Greg Kroah-Hartman
@@@ -4716,6 -5829,7 +5829,7 @@@ M:      greg@kroah.co
  L:    linux-usb@vger.kernel.org
  W:    http://www.kroah.com/linux/
  S:    Maintained
+ F:    drivers/usb/serial/*keyspan*
  
  USB SERIAL WHITEHEAT DRIVER
  P:    Support Department
@@@ -4723,21 -5837,25 +5837,25 @@@ M:   support@connecttech.co
  L:    linux-usb@vger.kernel.org
  W:    http://www.connecttech.com
  S:    Supported
+ F:    drivers/usb/serial/whiteheat*
  
  USB SMSC95XX ETHERNET DRIVER
  P:    Steve Glendinning
  M:    steve.glendinning@smsc.com
  L:    netdev@vger.kernel.org
  S:    Supported
+ F:    drivers/net/usb/smsc95xx.*
  
  USB SN9C1xx DRIVER
  P:    Luca Risolia
  M:    luca.risolia@studio.unibo.it
  L:    linux-usb@vger.kernel.org
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://www.linux-projects.org
  S:    Maintained
+ F:    Documentation/video4linux/sn9c102.txt
+ F:    drivers/media/video/sn9c102/
  
  USB SUBSYSTEM
  P:    Greg Kroah-Hartman
@@@ -4746,12 -5864,18 +5864,18 @@@ L:   linux-usb@vger.kernel.or
  W:    http://www.linux-usb.org
  T:    quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
  S:    Supported
+ F:    Documentation/usb/
+ F:    drivers/net/usb/
+ F:    drivers/usb/
+ F:    include/linux/usb.h
+ F:    include/linux/usb/
  
  USB UHCI DRIVER
  P:    Alan Stern
  M:    stern@rowland.harvard.edu
  L:    linux-usb@vger.kernel.org
  S:    Maintained
+ F:    drivers/usb/host/uhci*
  
  USB "USBNET" DRIVER FRAMEWORK
  P:    David Brownell
@@@ -4759,39 -5883,47 +5883,47 @@@ M:   dbrownell@users.sourceforge.ne
  L:    netdev@vger.kernel.org
  W:    http://www.linux-usb.org/usbnet
  S:    Maintained
+ F:    drivers/net/usb/usbnet.c
+ F:    include/linux/usb/usbnet.h
  
  USB VIDEO CLASS
  P:    Laurent Pinchart
  M:    laurent.pinchart@skynet.be
  L:    linux-uvc-devel@lists.berlios.de (subscribers-only)
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://linux-uvc.berlios.de
  S:    Maintained
+ F:    drivers/media/video/uvc/
  
  USB W996[87]CF DRIVER
  P:    Luca Risolia
  M:    luca.risolia@studio.unibo.it
  L:    linux-usb@vger.kernel.org
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://www.linux-projects.org
  S:    Maintained
+ F:    Documentation/video4linux/w9968cf.txt
+ F:    drivers/media/video/w996*
  
  USB WIRELESS RNDIS DRIVER (rndis_wlan)
  P:    Jussi Kivilinna
  M:    jussi.kivilinna@mbnet.fi
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/wireless/rndis_wlan.c
  
  USB ZC0301 DRIVER
  P:    Luca Risolia
  M:    luca.risolia@studio.unibo.it
  L:    linux-usb@vger.kernel.org
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://www.linux-projects.org
  S:    Maintained
+ F:    Documentation/video4linux/zc0301.txt
+ F:    drivers/media/video/zc0301/
  
  USB ZD1201 DRIVER
  P:    Jeroen Vreeken
@@@ -4799,15 -5931,18 +5931,18 @@@ M:   pe1rxq@amsat.or
  L:    linux-usb@vger.kernel.org
  W:    http://linux-lc100020.sourceforge.net
  S:    Maintained
+ F:    drivers/net/wireless/zd1201.*
  
  USB ZR364XX DRIVER
  P:    Antoine Jacquet
  M:    royale@zerezo.com
  L:    linux-usb@vger.kernel.org
  L:    linux-media@vger.kernel.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  W:    http://royale.zerezo.com/zr364xx/
  S:    Maintained
+ F:    Documentation/video4linux/zr364xx.txt
+ F:    drivers/media/video/zr364xx.c
  
  USER-MODE LINUX (UML)
  P:    Jeff Dike
@@@ -4816,6 -5951,10 +5951,10 @@@ L:    user-mode-linux-devel@lists.sourcefo
  L:    user-mode-linux-user@lists.sourceforge.net
  W:    http://user-mode-linux.sourceforge.net
  S:    Maintained
+ F:    Documentation/uml/
+ F:    arch/um/
+ F:    fs/hostfs/
+ F:    fs/hppfs/
  
  USERSPACE I/O (UIO)
  P:    Hans J. Koch
@@@ -4824,13 -5963,16 +5963,16 @@@ P:   Greg Kroah-Hartma
  M:    gregkh@suse.de
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/DocBook/uio-howto.tmpl
+ F:    drivers/uio/
+ F:    include/linux/uio*.h
  
  UTIL-LINUX-NG PACKAGE
  P:    Karel Zak
  M:    kzak@redhat.com
  L:    util-linux-ng@vger.kernel.org
  W:    http://kernel.org/~kzak/util-linux-ng/
- T:    git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git
+ T:    git git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git
  S:    Maintained
  
  UVESAFB DRIVER
@@@ -4839,23 -5981,30 +5981,30 @@@ M:   spock@gentoo.or
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  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
  M:    hirofumi@mail.parknet.co.jp
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    Documentation/filesystems/vfat.txt
+ F:    fs/fat/
  
  VIA RHINE NETWORK DRIVER
  P:    Roger Luethi
  M:    rl@hellgate.ch
  S:    Maintained
+ F:    drivers/net/via-rhine.c
  
  VIAPRO SMBUS DRIVER
  P:    Jean Delvare
  M:    khali@linux-fr.org
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
+ F:    Documentation/i2c/busses/i2c-viapro
+ F:    drivers/i2c/busses/i2c-viapro.c
  
  VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
  P:    Joseph Chan
@@@ -4864,26 -6013,23 +6013,23 @@@ P:   Scott Fan
  M:    ScottFang@viatech.com.cn
  L:    linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
+ F:    drivers/video/via/
  
  VIA VELOCITY NETWORK DRIVER
  P:    Francois Romieu
  M:    romieu@fr.zoreil.com
  L:    netdev@vger.kernel.org
  S:    Maintained
- VIDEO FOR LINUX (V4L)
- P:    Mauro Carvalho Chehab
- M:    mchehab@infradead.org
- L:    linux-media@vger.kernel.org
- W:    http://linuxtv.org
- T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
- S:    Maintained
+ F:    drivers/net/via-velocity.*
  
  VLAN (802.1Q)
  P:    Patrick McHardy
  M:    kaber@trash.net
  L:    netdev@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/macvlan.c
+ F:    include/linux/if_*vlan.h
+ F:    net/8021q/
  
  VOLTAGE AND CURRENT REGULATOR FRAMEWORK
  P:    Liam Girdwood
@@@ -4892,49 -6038,64 +6038,64 @@@ P:   Mark Brow
  M:    broonie@opensource.wolfsonmicro.com
  W:    http://opensource.wolfsonmicro.com/node/15
  W:    http://www.slimlogic.co.uk/?p=48
- T:    git kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6.git
  S:    Supported
+ F:    drivers/regulator/
+ F:    include/linux/regulator/
  
  VT1211 HARDWARE MONITOR DRIVER
  P:    Juerg Haefliger
  M:    juergh@gmail.com
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/vt1211
+ F:    drivers/hwmon/vt1211.c
  
  VT8231 HARDWARE MONITOR DRIVER
  P:    Roger Lucas
  M:    vt8231@hiddenengine.co.uk
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    drivers/hwmon/vt8231.c
  
  W1 DALLAS'S 1-WIRE BUS
  P:    Evgeniy Polyakov
  M:    johnpol@2ka.mipt.ru
  S:    Maintained
+ F:    Documentation/w1/
+ F:    drivers/w1/
  
  W83791D HARDWARE MONITORING DRIVER
  P:    Marc Hulsman
  M:    m.hulsman@tudelft.nl
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/w83791d
+ F:    drivers/hwmon/w83791d.c
  
  W83793 HARDWARE MONITORING DRIVER
  P:    Rudolf Marek
  M:    r.marek@assembler.cz
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
+ F:    Documentation/hwmon/w83793
+ F:    drivers/hwmon/w83793.c
  
  W83L51xD SD/MMC CARD INTERFACE DRIVER
  P:    Pierre Ossman
- M:    drzeus-wbsd@drzeus.cx
+ M:    pierre@ossman.eu
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/mmc/host/wbsd.*
  
  WATCHDOG DEVICE DRIVERS
  P:    Wim Van Sebroeck
  M:    wim@iguana.be
- T:    git kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
  S:    Maintained
+ F:    Documentation/watchdog/
+ F:    drivers/watchdog/
+ F:    include/linux/watchdog.h
  
  WAVELAN NETWORK DRIVER & WIRELESS EXTENSIONS
  P:    Jean Tourrilhes
@@@ -4942,12 -6103,15 +6103,15 @@@ M:   jt@hpl.hp.co
  L:    linux-wireless@vger.kernel.org
  W:    http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
  S:    Maintained
+ F:    Documentation/networking/wavelan.txt
+ F:    drivers/net/wireless/wavelan*
  
  WD7000 SCSI DRIVER
  P:    Miroslav Zagorac
  M:    zaga@fly.cc.fer.hr
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
+ F:    drivers/scsi/wd7000.c
  
  WIMAX STACK
  P:    Inaky Perez-Gonzalez
@@@ -4961,11 -6125,14 +6125,14 @@@ WIMEDIA LLC PROTOCOL (WLP) SUBSYSTE
  P:    David Vrabel
  M:    david.vrabel@csr.com
  S:    Maintained
+ F:    include/linux/wlp.h
+ F:    drivers/uwb/wlp/
  
  WISTRON LAPTOP BUTTON DRIVER
  P:    Miloslav Trmac
  M:    mitr@volny.cz
  S:    Maintained
+ F:    drivers/input/misc/wistron_btns.c
  
  WL3501 WIRELESS PCMCIA CARD DRIVER
  P:    Arnaldo Carvalho de Melo
@@@ -4973,6 -6140,7 +6140,7 @@@ M:      acme@ghostprotocols.ne
  L:    linux-wireless@vger.kernel.org
  W:    http://oops.ghostprotocols.net:81/blog
  S:    Maintained
+ F:    drivers/net/wireless/wl3501*
  
  WM97XX TOUCHSCREEN DRIVERS
  P:    Mark Brown
@@@ -4983,12 -6151,17 +6151,17 @@@ L:   linux-input@vger.kernel.or
  T:    git git://opensource.wolfsonmicro.com/linux-2.6-touch
  W:    http://opensource.wolfsonmicro.com/node/7
  S:    Supported
+ F:    drivers/input/touchscreen/*wm97*
+ F:    include/linux/wm97xx.h
  
  X.25 NETWORK LAYER
  P:    Henner Eisen
  M:    eis@baty.hanse.de
  L:    linux-x25@vger.kernel.org
  S:    Maintained
+ F:    Documentation/networking/x25*
+ F:    include/net/x25*
+ F:    net/x25/
  
  X86 ARCHITECTURE (32-BIT AND 64-BIT)
  P:    Thomas Gleixner
@@@ -4999,8 -6172,10 +6172,10 @@@ P:    H. Peter Anvi
  M:    hpa@zytor.com
  M:    x86@kernel.org
  L:    linux-kernel@vger.kernel.org
- T:    git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
  S:    Maintained
+ F:    Documentation/x86/
+ F:    arch/x86/
  
  XEN HYPERVISOR INTERFACE
  P:    Jeremy Fitzhardinge
@@@ -5010,6 -6185,11 +6185,11 @@@ M:    chrisw@sous-sol.or
  L:    virtualization@lists.osdl.org
  L:    xen-devel@lists.xensource.com
  S:    Supported
+ F:    arch/x86/xen/
+ F:    drivers/*/xen-*front.c
+ F:    drivers/xen/
+ F:    arch/x86/include/asm/xen/
+ F:    include/xen/
  
  XFS FILESYSTEM
  P:    Silicon Graphics Inc
@@@ -5018,8 -6198,10 +6198,10 @@@ M:    felixb@sgi.co
  M:    xfs-masters@oss.sgi.com
  L:    xfs@oss.sgi.com
  W:    http://oss.sgi.com/projects/xfs
- T:    git://oss.sgi.com/xfs/xfs.git
+ T:    git git://oss.sgi.com/xfs/xfs.git
  S:    Supported
+ F:    Documentation/filesystems/xfs.txt
+ F:    fs/xfs/
  
  XILINX SYSTEMACE DRIVER
  P:    Grant Likely
@@@ -5027,24 -6209,30 +6209,30 @@@ M:   grant.likely@secretlab.c
  W:    http://www.secretlab.ca/
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
+ F:    drivers/block/xsysace.c
  
  XILINX UARTLITE SERIAL DRIVER
  P:    Peter Korsgaard
  M:    jacmet@sunsite.dk
  L:    linux-serial@vger.kernel.org
  S:    Maintained
+ F:    drivers/serial/uartlite.c
  
  YAM DRIVER FOR AX.25
  P:    Jean-Paul Roubelat
  M:    jpr@f6fbb.org
  L:    linux-hams@vger.kernel.org
  S:    Maintained
+ F:    drivers/net/hamradio/yam*
+ F:    include/linux/yam.h
  
  YEALINK PHONE DRIVER
  P:    Henk Vergonet
  M:    Henk.Vergonet@gmail.com
  L:    usbb2k-api-dev@nongnu.org
  S:    Maintained
+ F:    Documentation/input/yealink.txt
+ F:    drivers/input/misc/yealink.*
  
  Z8530 DRIVER FOR AX.25
  P:    Joerg Reuter
@@@ -5053,6 -6241,9 +6241,9 @@@ W:      http://yaina.de/jreuter
  W:    http://www.qsl.net/dl1bke/
  L:    linux-hams@vger.kernel.org
  S:    Maintained
+ F:    Documentation/networking/z8530drv.txt
+ F:    drivers/net/hamradio/*scc.c
+ F:    drivers/net/hamradio/z8530.h
  
  ZD1211RW WIRELESS DRIVER
  P:    Daniel Drake
@@@ -5063,6 -6254,7 +6254,7 @@@ W:      http://zd1211.ath.cx/wiki/DriverRewr
  L:    linux-wireless@vger.kernel.org
  L:    zd1211-devs@lists.sourceforge.net (subscribers-only)
  S:    Maintained
+ F:    drivers/net/wireless/zd1211rw/
  
  ZR36067 VIDEO FOR LINUX DRIVER
  L:    mjpeg-users@lists.sourceforge.net
@@@ -5070,12 -6262,15 +6262,15 @@@ L:   linux-media@vger.kernel.or
  W:    http://mjpeg.sourceforge.net/driver-zoran/
  T:    Mercurial http://linuxtv.org/hg/v4l-dvb
  S:    Odd Fixes
+ F:    drivers/media/video/zoran/
  
  ZS DECSTATION Z85C30 SERIAL DRIVER
  P:    Maciej W. Rozycki
  M:    macro@linux-mips.org
  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
diff --combined drivers/net/fec.c
index 63eaf5de2300d2780a58298e4e2e156f5097279c,682e7f0b558127eb845be5bd60e73e97cafb59cc..28db6919c5262ba6b7007dbede97983d0697cbd6
@@@ -86,7 -86,8 +86,7 @@@ static unsigned char  fec_mac_default[] 
  #endif
  #endif /* CONFIG_M5272 */
  
 -/* Forward declarations of some structures to support different PHYs
 -*/
 +/* Forward declarations of some structures to support different PHYs */
  
  typedef struct {
        uint mii_data;
@@@ -122,7 -123,8 +122,7 @@@ typedef struct 
  #error "FEC: descriptor ring size constants too large"
  #endif
  
 -/* Interrupt events/masks.
 -*/
 +/* Interrupt events/masks. */
  #define FEC_ENET_HBERR        ((uint)0x80000000)      /* Heartbeat error */
  #define FEC_ENET_BABR ((uint)0x40000000)      /* Babbling receiver */
  #define FEC_ENET_BABT ((uint)0x20000000)      /* Babbling transmitter */
   */
  struct fec_enet_private {
        /* Hardware registers of the FEC device */
 -      volatile fec_t  *hwp;
 +      void __iomem *hwp;
  
        struct net_device *netdev;
  
        /* The saved address of a sent-in-place packet/buffer, for skfree(). */
        unsigned char *tx_bounce[TX_RING_SIZE];
        struct  sk_buff* tx_skbuff[TX_RING_SIZE];
 +      struct  sk_buff* rx_skbuff[RX_RING_SIZE];
        ushort  skb_cur;
        ushort  skb_dirty;
  
 -      /* CPM dual port RAM relative addresses.
 -      */
 +      /* CPM dual port RAM relative addresses */
        dma_addr_t      bd_dma;
 -      cbd_t   *rx_bd_base;            /* Address of Rx and Tx buffers. */
 -      cbd_t   *tx_bd_base;
 -      cbd_t   *cur_rx, *cur_tx;               /* The next free ring entry */
 -      cbd_t   *dirty_tx;      /* The ring entries to be free()ed. */
 +      /* Address of Rx and Tx buffers */
 +      struct bufdesc  *rx_bd_base;
 +      struct bufdesc  *tx_bd_base;
 +      /* The next free ring entry */
 +      struct bufdesc  *cur_rx, *cur_tx; 
 +      /* The ring entries to be free()ed */
 +      struct bufdesc  *dirty_tx;
 +
        uint    tx_full;
        /* hold while accessing the HW like ringbuffer for tx/rx but not MAC */
        spinlock_t hw_lock;
        int     full_duplex;
  };
  
 -static int fec_enet_open(struct net_device *dev);
 -static int fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev);
  static void fec_enet_mii(struct net_device *dev);
  static irqreturn_t fec_enet_interrupt(int irq, void * dev_id);
  static void fec_enet_tx(struct net_device *dev);
  static void fec_enet_rx(struct net_device *dev);
  static int fec_enet_close(struct net_device *dev);
 -static void set_multicast_list(struct net_device *dev);
  static void fec_restart(struct net_device *dev, int duplex);
  static void fec_stop(struct net_device *dev);
 -static void fec_set_mac_address(struct net_device *dev);
  
  
  /* MII processing.  We keep this as simple as possible.  Requests are
@@@ -239,16 -241,19 +239,16 @@@ static mii_list_t       *mii_tail
  static int    mii_queue(struct net_device *dev, int request,
                                void (*func)(uint, struct net_device *));
  
 -/* Make MII read/write commands for the FEC.
 -*/
 +/* Make MII read/write commands for the FEC */
  #define mk_mii_read(REG)      (0x60020000 | ((REG & 0x1f) << 18))
  #define mk_mii_write(REG, VAL)        (0x50020000 | ((REG & 0x1f) << 18) | \
                                                (VAL & 0xffff))
  #define mk_mii_end    0
  
 -/* Transmitter timeout.
 -*/
 -#define TX_TIMEOUT (2*HZ)
 +/* Transmitter timeout */
 +#define TX_TIMEOUT (2 * HZ)
  
 -/* Register definitions for the PHY.
 -*/
 +/* Register definitions for the PHY */
  
  #define MII_REG_CR          0  /* Control Register                         */
  #define MII_REG_SR          1  /* Status Register                          */
  static int
  fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
  {
 -      struct fec_enet_private *fep;
 -      volatile fec_t  *fecp;
 -      volatile cbd_t  *bdp;
 +      struct fec_enet_private *fep = netdev_priv(dev);
 +      struct bufdesc *bdp;
        unsigned short  status;
        unsigned long flags;
  
 -      fep = netdev_priv(dev);
 -      fecp = (volatile fec_t*)dev->base_addr;
 -
        if (!fep->link) {
                /* Link is down or autonegotiation is in progress. */
                return 1;
        bdp = fep->cur_tx;
  
        status = bdp->cbd_sc;
 -#ifndef final_version
 +
        if (status & BD_ENET_TX_READY) {
                /* Ooops.  All transmit buffers are full.  Bail out.
                 * This should not happen, since dev->tbusy should be set.
                spin_unlock_irqrestore(&fep->hw_lock, flags);
                return 1;
        }
 -#endif
  
 -      /* Clear all of the status flags.
 -       */
 +      /* Clear all of the status flags */
        status &= ~BD_ENET_TX_STATS;
  
 -      /* Set buffer length and buffer pointer.
 -      */
 +      /* Set buffer length and buffer pointer */
        bdp->cbd_bufaddr = __pa(skb->data);
        bdp->cbd_datlen = skb->len;
  
        /*
 -       *      On some FEC implementations data must be aligned on
 -       *      4-byte boundaries. Use bounce buffers to copy data
 -       *      and get it aligned. Ugh.
 +       * On some FEC implementations data must be aligned on
 +       * 4-byte boundaries. Use bounce buffers to copy data
 +       * and get it aligned. Ugh.
         */
        if (bdp->cbd_bufaddr & FEC_ALIGNMENT) {
                unsigned int index;
                bdp->cbd_bufaddr = __pa(fep->tx_bounce[index]);
        }
  
 -      /* Save skb pointer.
 -      */
 +      /* Save skb pointer */
        fep->tx_skbuff[fep->skb_cur] = skb;
  
        dev->stats.tx_bytes += skb->len;
        /* Push the data cache so the CPM does not get stale memory
         * data.
         */
 -      dma_sync_single(NULL, bdp->cbd_bufaddr,
 -                      bdp->cbd_datlen, DMA_TO_DEVICE);
 +      bdp->cbd_bufaddr = dma_map_single(&dev->dev, skb->data,
 +                      FEC_ENET_TX_FRSIZE, DMA_TO_DEVICE);
  
        /* Send it on its way.  Tell FEC it's ready, interrupt when done,
         * it's the last BD of the frame, and to put the CRC on the end.
         */
 -
        status |= (BD_ENET_TX_READY | BD_ENET_TX_INTR
                        | BD_ENET_TX_LAST | BD_ENET_TX_TC);
        bdp->cbd_sc = status;
        dev->trans_start = jiffies;
  
        /* Trigger transmission start */
 -      fecp->fec_x_des_active = 0;
 +      writel(0, fep->hwp + FEC_X_DES_ACTIVE);
  
 -      /* If this was the last BD in the ring, start at the beginning again.
 -      */
 -      if (status & BD_ENET_TX_WRAP) {
 +      /* If this was the last BD in the ring, start at the beginning again. */
 +      if (status & BD_ENET_TX_WRAP)
                bdp = fep->tx_bd_base;
 -      } else {
 +      else
                bdp++;
 -      }
  
        if (bdp == fep->dirty_tx) {
                fep->tx_full = 1;
                netif_stop_queue(dev);
        }
  
 -      fep->cur_tx = (cbd_t *)bdp;
 +      fep->cur_tx = bdp;
  
        spin_unlock_irqrestore(&fep->hw_lock, flags);
  
@@@ -374,33 -390,75 +374,33 @@@ fec_timeout(struct net_device *dev
  {
        struct fec_enet_private *fep = netdev_priv(dev);
  
 -      printk("%s: transmit timed out.\n", dev->name);
        dev->stats.tx_errors++;
 -#ifndef final_version
 -      {
 -      int     i;
 -      cbd_t   *bdp;
 -
 -      printk("Ring data dump: cur_tx %lx%s, dirty_tx %lx cur_rx: %lx\n",
 -             (unsigned long)fep->cur_tx, fep->tx_full ? " (full)" : "",
 -             (unsigned long)fep->dirty_tx,
 -             (unsigned long)fep->cur_rx);
 -
 -      bdp = fep->tx_bd_base;
 -      printk(" tx: %u buffers\n",  TX_RING_SIZE);
 -      for (i = 0 ; i < TX_RING_SIZE; i++) {
 -              printk("  %08x: %04x %04x %08x\n",
 -                     (uint) bdp,
 -                     bdp->cbd_sc,
 -                     bdp->cbd_datlen,
 -                     (int) bdp->cbd_bufaddr);
 -              bdp++;
 -      }
  
 -      bdp = fep->rx_bd_base;
 -      printk(" rx: %lu buffers\n",  (unsigned long) RX_RING_SIZE);
 -      for (i = 0 ; i < RX_RING_SIZE; i++) {
 -              printk("  %08x: %04x %04x %08x\n",
 -                     (uint) bdp,
 -                     bdp->cbd_sc,
 -                     bdp->cbd_datlen,
 -                     (int) bdp->cbd_bufaddr);
 -              bdp++;
 -      }
 -      }
 -#endif
        fec_restart(dev, fep->full_duplex);
        netif_wake_queue(dev);
  }
  
 -/* The interrupt handler.
 - * This is called from the MPC core interrupt.
 - */
  static irqreturn_t
  fec_enet_interrupt(int irq, void * dev_id)
  {
        struct  net_device *dev = dev_id;
 -      volatile fec_t  *fecp;
 +      struct fec_enet_private *fep = netdev_priv(dev);
        uint    int_events;
        irqreturn_t ret = IRQ_NONE;
  
 -      fecp = (volatile fec_t*)dev->base_addr;
 -
 -      /* Get the interrupt events that caused us to be here.
 -      */
        do {
 -              int_events = fecp->fec_ievent;
 -              fecp->fec_ievent = int_events;
 +              int_events = readl(fep->hwp + FEC_IEVENT);
 +              writel(int_events, fep->hwp + FEC_IEVENT);
  
 -              /* Handle receive event in its own function.
 -               */
                if (int_events & FEC_ENET_RXF) {
                        ret = IRQ_HANDLED;
                        fec_enet_rx(dev);
                }
  
                /* Transmit OK, or non-fatal error. Update the buffer
 -                 descriptors. FEC handles all errors, we just discover
 -                 them as part of the transmit process.
 -              */
 +               * descriptors. FEC handles all errors, we just discover
 +               * them as part of the transmit process.
 +               */
                if (int_events & FEC_ENET_TXF) {
                        ret = IRQ_HANDLED;
                        fec_enet_tx(dev);
@@@ -421,7 -479,7 +421,7 @@@ static voi
  fec_enet_tx(struct net_device *dev)
  {
        struct  fec_enet_private *fep;
 -      volatile cbd_t  *bdp;
 +      struct bufdesc *bdp;
        unsigned short status;
        struct  sk_buff *skb;
  
        bdp = fep->dirty_tx;
  
        while (((status = bdp->cbd_sc) & BD_ENET_TX_READY) == 0) {
 -              if (bdp == fep->cur_tx && fep->tx_full == 0) break;
 +              if (bdp == fep->cur_tx && fep->tx_full == 0)
 +                      break;
 +
 +              dma_unmap_single(&dev->dev, bdp->cbd_bufaddr, FEC_ENET_TX_FRSIZE, DMA_TO_DEVICE);
 +              bdp->cbd_bufaddr = 0;
  
                skb = fep->tx_skbuff[fep->skb_dirty];
                /* Check for errors. */
                        dev->stats.tx_packets++;
                }
  
 -#ifndef final_version
                if (status & BD_ENET_TX_READY)
                        printk("HEY! Enet xmit interrupt and TX_READY.\n");
 -#endif
 +
                /* Deferred means some collisions occurred during transmit,
                 * but we eventually sent the packet OK.
                 */
                if (status & BD_ENET_TX_DEF)
                        dev->stats.collisions++;
  
 -              /* Free the sk buffer associated with this last transmit.
 -               */
 +              /* Free the sk buffer associated with this last transmit */
                dev_kfree_skb_any(skb);
                fep->tx_skbuff[fep->skb_dirty] = NULL;
                fep->skb_dirty = (fep->skb_dirty + 1) & TX_RING_MOD_MASK;
  
 -              /* Update pointer to next buffer descriptor to be transmitted.
 -               */
 +              /* Update pointer to next buffer descriptor to be transmitted */
                if (status & BD_ENET_TX_WRAP)
                        bdp = fep->tx_bd_base;
                else
                        bdp++;
  
 -              /* Since we have freed up a buffer, the ring is no longer
 -               * full.
 +              /* Since we have freed up a buffer, the ring is no longer full
                 */
                if (fep->tx_full) {
                        fep->tx_full = 0;
                                netif_wake_queue(dev);
                }
        }
 -      fep->dirty_tx = (cbd_t *)bdp;
 +      fep->dirty_tx = bdp;
        spin_unlock_irq(&fep->hw_lock);
  }
  
  static void
  fec_enet_rx(struct net_device *dev)
  {
 -      struct  fec_enet_private *fep;
 -      volatile fec_t  *fecp;
 -      volatile cbd_t *bdp;
 +      struct  fec_enet_private *fep = netdev_priv(dev);
 +      struct bufdesc *bdp;
        unsigned short status;
        struct  sk_buff *skb;
        ushort  pkt_len;
        flush_cache_all();
  #endif
  
 -      fep = netdev_priv(dev);
 -      fecp = (volatile fec_t*)dev->base_addr;
 -
        spin_lock_irq(&fep->hw_lock);
  
        /* First, grab all of the stats for the incoming packet.
         */
        bdp = fep->cur_rx;
  
 -while (!((status = bdp->cbd_sc) & BD_ENET_RX_EMPTY)) {
 +      while (!((status = bdp->cbd_sc) & BD_ENET_RX_EMPTY)) {
  
 -#ifndef final_version
 -      /* Since we have allocated space to hold a complete frame,
 -       * the last indicator should be set.
 -       */
 -      if ((status & BD_ENET_RX_LAST) == 0)
 -              printk("FEC ENET: rcv is not +last\n");
 -#endif
 +              /* Since we have allocated space to hold a complete frame,
 +               * the last indicator should be set.
 +               */
 +              if ((status & BD_ENET_RX_LAST) == 0)
 +                      printk("FEC ENET: rcv is not +last\n");
  
 -      if (!fep->opened)
 -              goto rx_processing_done;
 +              if (!fep->opened)
 +                      goto rx_processing_done;
  
 -      /* Check for errors. */
 -      if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH | BD_ENET_RX_NO |
 +              /* Check for errors. */
 +              if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH | BD_ENET_RX_NO |
                           BD_ENET_RX_CR | BD_ENET_RX_OV)) {
 -              dev->stats.rx_errors++;
 -              if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH)) {
 -              /* Frame too long or too short. */
 -                      dev->stats.rx_length_errors++;
 +                      dev->stats.rx_errors++;
 +                      if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH)) {
 +                              /* Frame too long or too short. */
 +                              dev->stats.rx_length_errors++;
 +                      }
 +                      if (status & BD_ENET_RX_NO)     /* Frame alignment */
 +                              dev->stats.rx_frame_errors++;
 +                      if (status & BD_ENET_RX_CR)     /* CRC Error */
 +                              dev->stats.rx_crc_errors++;
 +                      if (status & BD_ENET_RX_OV)     /* FIFO overrun */
 +                              dev->stats.rx_fifo_errors++;
                }
 -              if (status & BD_ENET_RX_NO)     /* Frame alignment */
 +
 +              /* Report late collisions as a frame error.
 +               * On this error, the BD is closed, but we don't know what we
 +               * have in the buffer.  So, just drop this frame on the floor.
 +               */
 +              if (status & BD_ENET_RX_CL) {
 +                      dev->stats.rx_errors++;
                        dev->stats.rx_frame_errors++;
 -              if (status & BD_ENET_RX_CR)     /* CRC Error */
 -                      dev->stats.rx_crc_errors++;
 -              if (status & BD_ENET_RX_OV)     /* FIFO overrun */
 -                      dev->stats.rx_fifo_errors++;
 -      }
 +                      goto rx_processing_done;
 +              }
  
 -      /* Report late collisions as a frame error.
 -       * On this error, the BD is closed, but we don't know what we
 -       * have in the buffer.  So, just drop this frame on the floor.
 -       */
 -      if (status & BD_ENET_RX_CL) {
 -              dev->stats.rx_errors++;
 -              dev->stats.rx_frame_errors++;
 -              goto rx_processing_done;
 -      }
 +              /* Process the incoming frame. */
 +              dev->stats.rx_packets++;
 +              pkt_len = bdp->cbd_datlen;
 +              dev->stats.rx_bytes += pkt_len;
 +              data = (__u8*)__va(bdp->cbd_bufaddr);
  
 -      /* Process the incoming frame.
 -       */
 -      dev->stats.rx_packets++;
 -      pkt_len = bdp->cbd_datlen;
 -      dev->stats.rx_bytes += pkt_len;
 -      data = (__u8*)__va(bdp->cbd_bufaddr);
 -
 -      dma_sync_single(NULL, (unsigned long)__pa(data),
 -                      pkt_len - 4, DMA_FROM_DEVICE);
 -
 -      /* This does 16 byte alignment, exactly what we need.
 -       * The packet length includes FCS, but we don't want to
 -       * include that when passing upstream as it messes up
 -       * bridging applications.
 -       */
 -      skb = dev_alloc_skb(pkt_len-4);
 +              dma_unmap_single(NULL, bdp->cbd_bufaddr, bdp->cbd_datlen,
 +                              DMA_FROM_DEVICE);
  
 -      if (skb == NULL) {
 -              printk("%s: Memory squeeze, dropping packet.\n", dev->name);
 -              dev->stats.rx_dropped++;
 -      } else {
 -              skb_put(skb,pkt_len-4); /* Make room */
 -              skb_copy_to_linear_data(skb, data, pkt_len-4);
 -              skb->protocol=eth_type_trans(skb,dev);
 -              netif_rx(skb);
 -      }
 -  rx_processing_done:
 +              /* This does 16 byte alignment, exactly what we need.
 +               * The packet length includes FCS, but we don't want to
 +               * include that when passing upstream as it messes up
 +               * bridging applications.
 +               */
 +              skb = dev_alloc_skb(pkt_len - 4 + NET_IP_ALIGN);
  
 -      /* Clear the status flags for this buffer.
 -      */
 -      status &= ~BD_ENET_RX_STATS;
 +              if (unlikely(!skb)) {
 +                      printk("%s: Memory squeeze, dropping packet.\n",
 +                                      dev->name);
 +                      dev->stats.rx_dropped++;
 +              } else {
 +                      skb_reserve(skb, NET_IP_ALIGN);
 +                      skb_put(skb, pkt_len - 4);      /* Make room */
 +                      skb_copy_to_linear_data(skb, data, pkt_len - 4);
 +                      skb->protocol = eth_type_trans(skb, dev);
 +                      netif_rx(skb);
 +              }
  
 -      /* Mark the buffer empty.
 -      */
 -      status |= BD_ENET_RX_EMPTY;
 -      bdp->cbd_sc = status;
 +              bdp->cbd_bufaddr = dma_map_single(NULL, data, bdp->cbd_datlen,
 +                      DMA_FROM_DEVICE);
 +rx_processing_done:
 +              /* Clear the status flags for this buffer */
 +              status &= ~BD_ENET_RX_STATS;
  
 -      /* Update BD pointer to next entry.
 -      */
 -      if (status & BD_ENET_RX_WRAP)
 -              bdp = fep->rx_bd_base;
 -      else
 -              bdp++;
 +              /* Mark the buffer empty */
 +              status |= BD_ENET_RX_EMPTY;
 +              bdp->cbd_sc = status;
  
 -#if 1
 -      /* Doing this here will keep the FEC running while we process
 -       * incoming frames.  On a heavily loaded network, we should be
 -       * able to keep up at the expense of system resources.
 -       */
 -      fecp->fec_r_des_active = 0;
 -#endif
 -   } /* while (!((status = bdp->cbd_sc) & BD_ENET_RX_EMPTY)) */
 -      fep->cur_rx = (cbd_t *)bdp;
 -
 -#if 0
 -      /* Doing this here will allow us to process all frames in the
 -       * ring before the FEC is allowed to put more there.  On a heavily
 -       * loaded network, some frames may be lost.  Unfortunately, this
 -       * increases the interrupt overhead since we can potentially work
 -       * our way back to the interrupt return only to come right back
 -       * here.
 -       */
 -      fecp->fec_r_des_active = 0;
 -#endif
 +              /* Update BD pointer to next entry */
 +              if (status & BD_ENET_RX_WRAP)
 +                      bdp = fep->rx_bd_base;
 +              else
 +                      bdp++;
 +              /* Doing this here will keep the FEC running while we process
 +               * incoming frames.  On a heavily loaded network, we should be
 +               * able to keep up at the expense of system resources.
 +               */
 +              writel(0, fep->hwp + FEC_R_DES_ACTIVE);
 +      }
 +      fep->cur_rx = bdp;
  
        spin_unlock_irq(&fep->hw_lock);
  }
  
 -
  /* called from interrupt context */
  static void
  fec_enet_mii(struct net_device *dev)
  {
        struct  fec_enet_private *fep;
 -      volatile fec_t  *ep;
        mii_list_t      *mip;
 -      uint            mii_reg;
  
        fep = netdev_priv(dev);
        spin_lock_irq(&fep->mii_lock);
  
 -      ep = fep->hwp;
 -      mii_reg = ep->fec_mii_data;
 -
        if ((mip = mii_head) == NULL) {
                printk("MII and no head!\n");
                goto unlock;
        }
  
        if (mip->mii_func != NULL)
 -              (*(mip->mii_func))(mii_reg, dev);
 +              (*(mip->mii_func))(readl(fep->hwp + FEC_MII_DATA), dev);
  
        mii_head = mip->mii_next;
        mip->mii_next = mii_free;
        mii_free = mip;
  
        if ((mip = mii_head) != NULL)
 -              ep->fec_mii_data = mip->mii_regval;
 +              writel(mip->mii_regval, fep->hwp + FEC_MII_DATA);
  
  unlock:
        spin_unlock_irq(&fep->mii_lock);
@@@ -643,7 -727,8 +643,7 @@@ mii_queue(struct net_device *dev, int r
        mii_list_t      *mip;
        int             retval;
  
 -      /* Add PHY address to register command.
 -      */
 +      /* Add PHY address to register command */
        fep = netdev_priv(dev);
        spin_lock_irqsave(&fep->mii_lock, flags);
  
                        mii_tail = mip;
                } else {
                        mii_head = mii_tail = mip;
 -                      fep->hwp->fec_mii_data = regval;
 +                      writel(regval, fep->hwp + FEC_MII_DATA);
                }
        } else {
                retval = 1;
@@@ -1155,13 -1240,17 +1155,14 @@@ static void __inline__ fec_phy_ack_intr
        icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1);
        *icrp = 0x0d000000;
  }
+ #endif
  
  #ifdef CONFIG_M5272
  static void __inline__ fec_get_mac(struct net_device *dev)
  {
        struct fec_enet_private *fep = netdev_priv(dev);
 -      volatile fec_t *fecp;
        unsigned char *iap, tmpaddr[ETH_ALEN];
  
 -      fecp = fep->hwp;
 -
        if (FEC_FLASHMAC) {
                /*
                 * Get MAC address from FLASH.
                    (iap[3] == 0xff) && (iap[4] == 0xff) && (iap[5] == 0xff))
                        iap = fec_mac_default;
        } else {
 -              *((unsigned long *) &tmpaddr[0]) = fecp->fec_addr_low;
 -              *((unsigned short *) &tmpaddr[4]) = (fecp->fec_addr_high >> 16);
 +              *((unsigned long *) &tmpaddr[0]) = readl(fep->hwp + FEC_ADDR_LOW);
 +              *((unsigned short *) &tmpaddr[4]) = (readl(fep->hwp + FEC_ADDR_HIGH) >> 16);
                iap = &tmpaddr[0];
        }
  
@@@ -1286,6 -1375,11 +1287,6 @@@ static void mii_relink(struct work_stru
                fec_restart(dev, duplex);
        } else
                fec_stop(dev);
 -
 -#if 0
 -      enable_irq(fep->mii_irq);
 -#endif
 -
  }
  
  /* mii_queue_relink is called in interrupt context from mii_link_interrupt */
@@@ -1294,12 -1388,12 +1295,12 @@@ static void mii_queue_relink(uint mii_r
        struct fec_enet_private *fep = netdev_priv(dev);
  
        /*
 -      ** We cannot queue phy_task twice in the workqueue.  It
 -      ** would cause an endless loop in the workqueue.
 -      ** Fortunately, if the last mii_relink entry has not yet been
 -      ** executed now, it will do the job for the current interrupt,
 -      ** which is just what we want.
 -      */
 +       * We cannot queue phy_task twice in the workqueue.  It
 +       * would cause an endless loop in the workqueue.
 +       * Fortunately, if the last mii_relink entry has not yet been
 +       * executed now, it will do the job for the current interrupt,
 +       * which is just what we want.
 +       */
        if (fep->mii_phy_task_queued)
                return;
  
@@@ -1330,7 -1424,8 +1331,7 @@@ phy_cmd_t const phy_cmd_config[] = 
        { mk_mii_end, }
        };
  
 -/* Read remainder of PHY ID.
 -*/
 +/* Read remainder of PHY ID. */
  static void
  mii_discover_phy3(uint mii_reg, struct net_device *dev)
  {
@@@ -1362,14 -1457,17 +1363,14 @@@ static voi
  mii_discover_phy(uint mii_reg, struct net_device *dev)
  {
        struct fec_enet_private *fep;
 -      volatile fec_t *fecp;
        uint phytype;
  
        fep = netdev_priv(dev);
 -      fecp = fep->hwp;
  
        if (fep->phy_addr < 32) {
                if ((phytype = (mii_reg & 0xffff)) != 0xffff && phytype != 0) {
  
 -                      /* Got first part of ID, now get remainder.
 -                      */
 +                      /* Got first part of ID, now get remainder */
                        fep->phy_id = phytype << 16;
                        mii_queue(dev, mk_mii_read(MII_REG_PHYIR2),
                                                        mii_discover_phy3);
        } else {
                printk("FEC: No PHY device found.\n");
                /* Disable external MII interface */
 -              fecp->fec_mii_speed = fep->phy_speed = 0;
 +              writel(0, fep->hwp + FEC_MII_SPEED);
 +              fep->phy_speed = 0;
  #ifdef HAVE_mii_link_interrupt
                fec_disable_phy_intr();
  #endif
        }
  }
  
 -/* This interrupt occurs when the PHY detects a link change.
 -*/
 +/* This interrupt occurs when the PHY detects a link change */
  #ifdef HAVE_mii_link_interrupt
  static irqreturn_t
  mii_link_interrupt(int irq, void * dev_id)
  
        fec_phy_ack_intr();
  
 -#if 0
 -      disable_irq(fep->mii_irq);  /* disable now, enable later */
 -#endif
 -
        mii_do_cmd(dev, fep->phy->ack_int);
        mii_do_cmd(dev, phy_cmd_relink);  /* restart and display status */
  
  }
  #endif
  
 +static void fec_enet_free_buffers(struct net_device *dev)
 +{
 +      struct fec_enet_private *fep = netdev_priv(dev);
 +      int i;
 +      struct sk_buff *skb;
 +      struct bufdesc  *bdp;
 +
 +      bdp = fep->rx_bd_base;
 +      for (i = 0; i < RX_RING_SIZE; i++) {
 +              skb = fep->rx_skbuff[i];
 +
 +              if (bdp->cbd_bufaddr)
 +                      dma_unmap_single(&dev->dev, bdp->cbd_bufaddr,
 +                                      FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE);
 +              if (skb)
 +                      dev_kfree_skb(skb);
 +              bdp++;
 +      }
 +
 +      bdp = fep->tx_bd_base;
 +      for (i = 0; i < TX_RING_SIZE; i++)
 +              kfree(fep->tx_bounce[i]);
 +}
 +
 +static int fec_enet_alloc_buffers(struct net_device *dev)
 +{
 +      struct fec_enet_private *fep = netdev_priv(dev);
 +      int i;
 +      struct sk_buff *skb;
 +      struct bufdesc  *bdp;
 +
 +      bdp = fep->rx_bd_base;
 +      for (i = 0; i < RX_RING_SIZE; i++) {
 +              skb = dev_alloc_skb(FEC_ENET_RX_FRSIZE);
 +              if (!skb) {
 +                      fec_enet_free_buffers(dev);
 +                      return -ENOMEM;
 +              }
 +              fep->rx_skbuff[i] = skb;
 +
 +              bdp->cbd_bufaddr = dma_map_single(&dev->dev, skb->data,
 +                              FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE);
 +              bdp->cbd_sc = BD_ENET_RX_EMPTY;
 +              bdp++;
 +      }
 +
 +      /* Set the last buffer to wrap. */
 +      bdp--;
 +      bdp->cbd_sc |= BD_SC_WRAP;
 +
 +      bdp = fep->tx_bd_base;
 +      for (i = 0; i < TX_RING_SIZE; i++) {
 +              fep->tx_bounce[i] = kmalloc(FEC_ENET_TX_FRSIZE, GFP_KERNEL);
 +
 +              bdp->cbd_sc = 0;
 +              bdp->cbd_bufaddr = 0;
 +              bdp++;
 +      }
 +
 +      /* Set the last buffer to wrap. */
 +      bdp--;
 +      bdp->cbd_sc |= BD_SC_WRAP;
 +
 +      return 0;
 +}
 +
  static int
  fec_enet_open(struct net_device *dev)
  {
        struct fec_enet_private *fep = netdev_priv(dev);
 +      int ret;
  
        /* I should reset the ring buffers here, but I don't yet know
         * a simple way to do that.
         */
 -      fec_set_mac_address(dev);
 +
 +      ret = fec_enet_alloc_buffers(dev);
 +      if (ret)
 +              return ret;
  
        fep->sequence_done = 0;
        fep->link = 0;
  
 +      fec_restart(dev, 1);
 +
        if (fep->phy) {
                mii_do_cmd(dev, fep->phy->ack_int);
                mii_do_cmd(dev, fep->phy->config);
                        schedule();
  
                mii_do_cmd(dev, fep->phy->startup);
 -
 -              /* Set the initial link state to true. A lot of hardware
 -               * based on this device does not implement a PHY interrupt,
 -               * so we are never notified of link change.
 -               */
 -              fep->link = 1;
 -      } else {
 -              fep->link = 1; /* lets just try it and see */
 -              /* no phy,  go full duplex,  it's most likely a hub chip */
 -              fec_restart(dev, 1);
        }
  
 +      /* Set the initial link state to true. A lot of hardware
 +       * based on this device does not implement a PHY interrupt,
 +       * so we are never notified of link change.
 +       */
 +      fep->link = 1;
 +
        netif_start_queue(dev);
        fep->opened = 1;
 -      return 0;               /* Success */
 +      return 0;
  }
  
  static int
@@@ -1525,13 -1559,12 +1526,13 @@@ fec_enet_close(struct net_device *dev
  {
        struct fec_enet_private *fep = netdev_priv(dev);
  
 -      /* Don't know what to do yet.
 -      */
 +      /* Don't know what to do yet. */
        fep->opened = 0;
        netif_stop_queue(dev);
        fec_stop(dev);
  
 +        fec_enet_free_buffers(dev);
 +
        return 0;
  }
  
  
  static void set_multicast_list(struct net_device *dev)
  {
 -      struct fec_enet_private *fep;
 -      volatile fec_t *ep;
 +      struct fec_enet_private *fep = netdev_priv(dev);
        struct dev_mc_list *dmi;
 -      unsigned int i, j, bit, data, crc;
 +      unsigned int i, j, bit, data, crc, tmp;
        unsigned char hash;
  
 -      fep = netdev_priv(dev);
 -      ep = fep->hwp;
 +      if (dev->flags & IFF_PROMISC) {
 +              tmp = readl(fep->hwp + FEC_R_CNTRL);
 +              tmp |= 0x8;
 +              writel(tmp, fep->hwp + FEC_R_CNTRL);
 +              return;
 +      }
  
 -      if (dev->flags&IFF_PROMISC) {
 -              ep->fec_r_cntrl |= 0x0008;
 -      } else {
 +      tmp = readl(fep->hwp + FEC_R_CNTRL);
 +      tmp &= ~0x8;
 +      writel(tmp, fep->hwp + FEC_R_CNTRL);
 +
 +      if (dev->flags & IFF_ALLMULTI) {
 +              /* Catch all multicast addresses, so set the
 +               * filter to all 1's
 +               */
 +              writel(0xffffffff, fep->hwp + FEC_GRP_HASH_TABLE_HIGH);
 +              writel(0xffffffff, fep->hwp + FEC_GRP_HASH_TABLE_LOW);
  
 -              ep->fec_r_cntrl &= ~0x0008;
 +              return;
 +      }
  
 -              if (dev->flags & IFF_ALLMULTI) {
 -                      /* Catch all multicast addresses, so set the
 -                       * filter to all 1's.
 -                       */
 -                      ep->fec_grp_hash_table_high = 0xffffffff;
 -                      ep->fec_grp_hash_table_low = 0xffffffff;
 -              } else {
 -                      /* Clear filter and add the addresses in hash register.
 -                      */
 -                      ep->fec_grp_hash_table_high = 0;
 -                      ep->fec_grp_hash_table_low = 0;
 -
 -                      dmi = dev->mc_list;
 -
 -                      for (j = 0; j < dev->mc_count; j++, dmi = dmi->next)
 -                      {
 -                              /* Only support group multicast for now.
 -                              */
 -                              if (!(dmi->dmi_addr[0] & 1))
 -                                      continue;
 -
 -                              /* calculate crc32 value of mac address
 -                              */
 -                              crc = 0xffffffff;
 -
 -                              for (i = 0; i < dmi->dmi_addrlen; i++)
 -                              {
 -                                      data = dmi->dmi_addr[i];
 -                                      for (bit = 0; bit < 8; bit++, data >>= 1)
 -                                      {
 -                                              crc = (crc >> 1) ^
 -                                              (((crc ^ data) & 1) ? CRC32_POLY : 0);
 -                                      }
 -                              }
 -
 -                              /* only upper 6 bits (HASH_BITS) are used
 -                                 which point to specific bit in he hash registers
 -                              */
 -                              hash = (crc >> (32 - HASH_BITS)) & 0x3f;
 -
 -                              if (hash > 31)
 -                                      ep->fec_grp_hash_table_high |= 1 << (hash - 32);
 -                              else
 -                                      ep->fec_grp_hash_table_low |= 1 << hash;
 +      /* Clear filter and add the addresses in hash register
 +       */
 +      writel(0, fep->hwp + FEC_GRP_HASH_TABLE_HIGH);
 +      writel(0, fep->hwp + FEC_GRP_HASH_TABLE_LOW);
 +
 +      dmi = dev->mc_list;
 +
 +      for (j = 0; j < dev->mc_count; j++, dmi = dmi->next) {
 +              /* Only support group multicast for now */
 +              if (!(dmi->dmi_addr[0] & 1))
 +                      continue;
 +
 +              /* calculate crc32 value of mac address */
 +              crc = 0xffffffff;
 +
 +              for (i = 0; i < dmi->dmi_addrlen; i++) {
 +                      data = dmi->dmi_addr[i];
 +                      for (bit = 0; bit < 8; bit++, data >>= 1) {
 +                              crc = (crc >> 1) ^
 +                              (((crc ^ data) & 1) ? CRC32_POLY : 0);
                        }
                }
 +
 +              /* only upper 6 bits (HASH_BITS) are used
 +               * which point to specific bit in he hash registers
 +               */
 +              hash = (crc >> (32 - HASH_BITS)) & 0x3f;
 +
 +              if (hash > 31) {
 +                      tmp = readl(fep->hwp + FEC_GRP_HASH_TABLE_HIGH);
 +                      tmp |= 1 << (hash - 32);
 +                      writel(tmp, fep->hwp + FEC_GRP_HASH_TABLE_HIGH);
 +              } else {
 +                      tmp = readl(fep->hwp + FEC_GRP_HASH_TABLE_LOW);
 +                      tmp |= 1 << hash;
 +                      writel(tmp, fep->hwp + FEC_GRP_HASH_TABLE_LOW);
 +              }
        }
  }
  
 -/* Set a MAC change in hardware.
 - */
 -static void
 -fec_set_mac_address(struct net_device *dev)
 +/* Set a MAC change in hardware. */
 +static int
 +fec_set_mac_address(struct net_device *dev, void *p)
  {
 -      volatile fec_t *fecp;
 +      struct fec_enet_private *fep = netdev_priv(dev);
 +      struct sockaddr *addr = p;
  
 -      fecp = ((struct fec_enet_private *)netdev_priv(dev))->hwp;
 +      if (!is_valid_ether_addr(addr->sa_data))
 +              return -EADDRNOTAVAIL;
  
 -      /* Set station address. */
 -      fecp->fec_addr_low = dev->dev_addr[3] | (dev->dev_addr[2] << 8) |
 -              (dev->dev_addr[1] << 16) | (dev->dev_addr[0] << 24);
 -      fecp->fec_addr_high = (dev->dev_addr[5] << 16) |
 -              (dev->dev_addr[4] << 24);
 +      memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
  
 +      writel(dev->dev_addr[3] | (dev->dev_addr[2] << 8) |
 +              (dev->dev_addr[1] << 16) | (dev->dev_addr[0] << 24),
 +              fep->hwp + FEC_ADDR_LOW);
 +      writel((dev->dev_addr[5] << 16) | (dev->dev_addr[4] << 24),
 +              fep + FEC_ADDR_HIGH);
 +      return 0;
  }
  
 +static const struct net_device_ops fec_netdev_ops = {
 +      .ndo_open               = fec_enet_open,
 +      .ndo_stop               = fec_enet_close,
 +      .ndo_start_xmit         = fec_enet_start_xmit,
 +      .ndo_set_multicast_list = set_multicast_list,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_tx_timeout         = fec_timeout,
 +      .ndo_set_mac_address    = fec_set_mac_address,
 +};
 +
   /*
    * XXX:  We need to clean up on failure exits here.
    *
  int __init fec_enet_init(struct net_device *dev, int index)
  {
        struct fec_enet_private *fep = netdev_priv(dev);
 -      unsigned long   mem_addr;
 -      volatile cbd_t  *bdp;
 -      cbd_t           *cbd_base;
 -      volatile fec_t  *fecp;
 -      int             i, j;
 +      struct bufdesc *cbd_base;
 +      int i;
  
 -      /* Allocate memory for buffer descriptors.
 -      */
 -      mem_addr = (unsigned long)dma_alloc_coherent(NULL, PAGE_SIZE,
 -                      &fep->bd_dma, GFP_KERNEL);
 -      if (mem_addr == 0) {
 +      /* Allocate memory for buffer descriptors. */
 +      cbd_base = dma_alloc_coherent(NULL, PAGE_SIZE, &fep->bd_dma,
 +                      GFP_KERNEL);
 +      if (!cbd_base) {
                printk("FEC: allocate descriptor memory failed?\n");
                return -ENOMEM;
        }
        spin_lock_init(&fep->hw_lock);
        spin_lock_init(&fep->mii_lock);
  
 -      /* Create an Ethernet device instance.
 -      */
 -      fecp = (volatile fec_t *)dev->base_addr;
 -
        fep->index = index;
 -      fep->hwp = fecp;
 +      fep->hwp = (void __iomem *)dev->base_addr;
        fep->netdev = dev;
  
 -      /* Whack a reset.  We should wait for this.
 -      */
 -      fecp->fec_ecntrl = 1;
 -      udelay(10);
 -
        /* Set the Ethernet address */
  #ifdef CONFIG_M5272
        fec_get_mac(dev);
  #else
        {
                unsigned long l;
 -              l = fecp->fec_addr_low;
 +              l = readl(fep->hwp + FEC_ADDR_LOW);
                dev->dev_addr[0] = (unsigned char)((l & 0xFF000000) >> 24);
                dev->dev_addr[1] = (unsigned char)((l & 0x00FF0000) >> 16);
                dev->dev_addr[2] = (unsigned char)((l & 0x0000FF00) >> 8);
                dev->dev_addr[3] = (unsigned char)((l & 0x000000FF) >> 0);
 -              l = fecp->fec_addr_high;
 +              l = readl(fep->hwp + FEC_ADDR_HIGH);
                dev->dev_addr[4] = (unsigned char)((l & 0xFF000000) >> 24);
                dev->dev_addr[5] = (unsigned char)((l & 0x00FF0000) >> 16);
        }
  #endif
  
 -      cbd_base = (cbd_t *)mem_addr;
 -
 -      /* Set receive and transmit descriptor base.
 -      */
 +      /* Set receive and transmit descriptor base. */
        fep->rx_bd_base = cbd_base;
        fep->tx_bd_base = cbd_base + RX_RING_SIZE;
  
 -      fep->dirty_tx = fep->cur_tx = fep->tx_bd_base;
 -      fep->cur_rx = fep->rx_bd_base;
 -
 -      fep->skb_cur = fep->skb_dirty = 0;
 -
 -      /* Initialize the receive buffer descriptors.
 -      */
 -      bdp = fep->rx_bd_base;
 -      for (i=0; i<FEC_ENET_RX_PAGES; i++) {
 -
 -              /* Allocate a page.
 -              */
 -              mem_addr = __get_free_page(GFP_KERNEL);
 -              /* XXX: missing check for allocation failure */
 -
 -              /* Initialize the BD for every fragment in the page.
 -              */
 -              for (j=0; j<FEC_ENET_RX_FRPPG; j++) {
 -                      bdp->cbd_sc = BD_ENET_RX_EMPTY;
 -                      bdp->cbd_bufaddr = __pa(mem_addr);
 -                      mem_addr += FEC_ENET_RX_FRSIZE;
 -                      bdp++;
 -              }
 -      }
 -
 -      /* Set the last buffer to wrap.
 -      */
 -      bdp--;
 -      bdp->cbd_sc |= BD_SC_WRAP;
 -
 -      /* ...and the same for transmmit.
 -      */
 -      bdp = fep->tx_bd_base;
 -      for (i=0, j=FEC_ENET_TX_FRPPG; i<TX_RING_SIZE; i++) {
 -              if (j >= FEC_ENET_TX_FRPPG) {
 -                      mem_addr = __get_free_page(GFP_KERNEL);
 -                      j = 1;
 -              } else {
 -                      mem_addr += FEC_ENET_TX_FRSIZE;
 -                      j++;
 -              }
 -              fep->tx_bounce[i] = (unsigned char *) mem_addr;
 -
 -              /* Initialize the BD for every fragment in the page.
 -              */
 -              bdp->cbd_sc = 0;
 -              bdp->cbd_bufaddr = 0;
 -              bdp++;
 -      }
 -
 -      /* Set the last buffer to wrap.
 -      */
 -      bdp--;
 -      bdp->cbd_sc |= BD_SC_WRAP;
 -
 -      /* Set receive and transmit descriptor base.
 -      */
 -      fecp->fec_r_des_start = fep->bd_dma;
 -      fecp->fec_x_des_start = (unsigned long)fep->bd_dma + sizeof(cbd_t)
 -                              * RX_RING_SIZE;
 -
  #ifdef HAVE_mii_link_interrupt
        fec_request_mii_intr(dev);
  #endif
 -
 -      fecp->fec_grp_hash_table_high = 0;
 -      fecp->fec_grp_hash_table_low = 0;
 -      fecp->fec_r_buff_size = PKT_MAXBLR_SIZE;
 -      fecp->fec_ecntrl = 2;
 -      fecp->fec_r_des_active = 0;
 -#ifndef CONFIG_M5272
 -      fecp->fec_hash_table_high = 0;
 -      fecp->fec_hash_table_low = 0;
 -#endif
 -
 -      /* The FEC Ethernet specific entries in the device structure. */
 -      dev->open = fec_enet_open;
 -      dev->hard_start_xmit = fec_enet_start_xmit;
 -      dev->tx_timeout = fec_timeout;
 +      /* The FEC Ethernet specific entries in the device structure */
        dev->watchdog_timeo = TX_TIMEOUT;
 -      dev->stop = fec_enet_close;
 -      dev->set_multicast_list = set_multicast_list;
 +      dev->netdev_ops = &fec_netdev_ops;
  
        for (i=0; i<NMII-1; i++)
                mii_cmds[i].mii_next = &mii_cmds[i+1];
        mii_free = mii_cmds;
  
 -      /* setup MII interface */
 -      fecp->fec_r_cntrl = OPT_FRAME_SIZE | 0x04;
 -      fecp->fec_x_cntrl = 0x00;
 -
 -      /*
 -       * Set MII speed to 2.5 MHz
 -       */
 +      /* Set MII speed to 2.5 MHz */
        fep->phy_speed = ((((clk_get_rate(fep->clk) / 2 + 4999999)
                                        / 2500000) / 2) & 0x3F) << 1;
 -      fecp->fec_mii_speed = fep->phy_speed;
        fec_restart(dev, 0);
  
 -      /* Clear and enable interrupts */
 -      fecp->fec_ievent = 0xffc00000;
 -      fecp->fec_imask = (FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII);
 -
        /* Queue up command to detect the PHY and initialize the
         * remainder of the interface.
         */
  static void
  fec_restart(struct net_device *dev, int duplex)
  {
 -      struct fec_enet_private *fep;
 -      volatile cbd_t *bdp;
 -      volatile fec_t *fecp;
 +      struct fec_enet_private *fep = netdev_priv(dev);
 +      struct bufdesc *bdp;
        int i;
  
 -      fep = netdev_priv(dev);
 -      fecp = fep->hwp;
 -
 -      /* Whack a reset.  We should wait for this.
 -      */
 -      fecp->fec_ecntrl = 1;
 +      /* Whack a reset.  We should wait for this. */
 +      writel(1, fep->hwp + FEC_ECNTRL);
        udelay(10);
  
 -      /* Clear any outstanding interrupt.
 -      */
 -      fecp->fec_ievent = 0xffc00000;
 +      /* Clear any outstanding interrupt. */
 +      writel(0xffc00000, fep->hwp + FEC_IEVENT);
  
 -      /* Set station address.
 -      */
 -      fec_set_mac_address(dev);
 +      /* Reset all multicast. */
 +      writel(0, fep->hwp + FEC_GRP_HASH_TABLE_HIGH);
 +      writel(0, fep->hwp + FEC_GRP_HASH_TABLE_LOW);
 +#ifndef CONFIG_M5272
 +      writel(0, fep->hwp + FEC_HASH_TABLE_HIGH);
 +      writel(0, fep->hwp + FEC_HASH_TABLE_LOW);
 +#endif
  
 -      /* Reset all multicast.
 -      */
 -      fecp->fec_grp_hash_table_high = 0;
 -      fecp->fec_grp_hash_table_low = 0;
 +      /* Set maximum receive buffer size. */
 +      writel(PKT_MAXBLR_SIZE, fep->hwp + FEC_R_BUFF_SIZE);
  
 -      /* Set maximum receive buffer size.
 -      */
 -      fecp->fec_r_buff_size = PKT_MAXBLR_SIZE;
 -
 -      /* Set receive and transmit descriptor base.
 -      */
 -      fecp->fec_r_des_start = fep->bd_dma;
 -      fecp->fec_x_des_start = (unsigned long)fep->bd_dma + sizeof(cbd_t)
 -                              * RX_RING_SIZE;
 +      /* Set receive and transmit descriptor base. */
 +      writel(fep->bd_dma, fep->hwp + FEC_R_DES_START);
 +      writel((unsigned long)fep->bd_dma + sizeof(struct bufdesc) * RX_RING_SIZE,
 +                      fep->hwp + FEC_X_DES_START);
  
        fep->dirty_tx = fep->cur_tx = fep->tx_bd_base;
        fep->cur_rx = fep->rx_bd_base;
  
 -      /* Reset SKB transmit buffers.
 -      */
 +      /* Reset SKB transmit buffers. */
        fep->skb_cur = fep->skb_dirty = 0;
 -      for (i=0; i<=TX_RING_MOD_MASK; i++) {
 -              if (fep->tx_skbuff[i] != NULL) {
 +      for (i = 0; i <= TX_RING_MOD_MASK; i++) {
 +              if (fep->tx_skbuff[i]) {
                        dev_kfree_skb_any(fep->tx_skbuff[i]);
                        fep->tx_skbuff[i] = NULL;
                }
        }
  
 -      /* Initialize the receive buffer descriptors.
 -      */
 +      /* Initialize the receive buffer descriptors. */
        bdp = fep->rx_bd_base;
 -      for (i=0; i<RX_RING_SIZE; i++) {
 +      for (i = 0; i < RX_RING_SIZE; i++) {
  
 -              /* Initialize the BD for every fragment in the page.
 -              */
 +              /* Initialize the BD for every fragment in the page. */
                bdp->cbd_sc = BD_ENET_RX_EMPTY;
                bdp++;
        }
  
 -      /* Set the last buffer to wrap.
 -      */
 +      /* Set the last buffer to wrap */
        bdp--;
        bdp->cbd_sc |= BD_SC_WRAP;
  
 -      /* ...and the same for transmmit.
 -      */
 +      /* ...and the same for transmit */
        bdp = fep->tx_bd_base;
 -      for (i=0; i<TX_RING_SIZE; i++) {
 +      for (i = 0; i < TX_RING_SIZE; i++) {
  
 -              /* Initialize the BD for every fragment in the page.
 -              */
 +              /* Initialize the BD for every fragment in the page. */
                bdp->cbd_sc = 0;
                bdp->cbd_bufaddr = 0;
                bdp++;
        }
  
 -      /* Set the last buffer to wrap.
 -      */
 +      /* Set the last buffer to wrap */
        bdp--;
        bdp->cbd_sc |= BD_SC_WRAP;
  
 -      /* Enable MII mode.
 -      */
 +      /* Enable MII mode */
        if (duplex) {
 -              fecp->fec_r_cntrl = OPT_FRAME_SIZE | 0x04;/* MII enable */
 -              fecp->fec_x_cntrl = 0x04;                 /* FD enable */
 +              /* MII enable / FD enable */
 +              writel(OPT_FRAME_SIZE | 0x04, fep->hwp + FEC_R_CNTRL);
 +              writel(0x04, fep->hwp + FEC_X_CNTRL);
        } else {
 -              /* MII enable|No Rcv on Xmit */
 -              fecp->fec_r_cntrl = OPT_FRAME_SIZE | 0x06;
 -              fecp->fec_x_cntrl = 0x00;
 +              /* MII enable / No Rcv on Xmit */
 +              writel(OPT_FRAME_SIZE | 0x06, fep->hwp + FEC_R_CNTRL);
 +              writel(0x0, fep->hwp + FEC_X_CNTRL);
        }
        fep->full_duplex = duplex;
  
 -      /* Set MII speed.
 -      */
 -      fecp->fec_mii_speed = fep->phy_speed;
 +      /* Set MII speed */
 +      writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
  
 -      /* And last, enable the transmit and receive processing.
 -      */
 -      fecp->fec_ecntrl = 2;
 -      fecp->fec_r_des_active = 0;
 +      /* And last, enable the transmit and receive processing */
 +      writel(2, fep->hwp + FEC_ECNTRL);
 +      writel(0, fep->hwp + FEC_R_DES_ACTIVE);
  
 -      /* Enable interrupts we wish to service.
 -      */
 -      fecp->fec_imask = (FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII);
 +      /* Enable interrupts we wish to service */
 +      writel(FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII,
 +                      fep->hwp + FEC_IMASK);
  }
  
  static void
  fec_stop(struct net_device *dev)
  {
 -      volatile fec_t *fecp;
 -      struct fec_enet_private *fep;
 -
 -      fep = netdev_priv(dev);
 -      fecp = fep->hwp;
 +      struct fec_enet_private *fep = netdev_priv(dev);
  
 -      /*
 -      ** We cannot expect a graceful transmit stop without link !!!
 -      */
 -      if (fep->link)
 -              {
 -              fecp->fec_x_cntrl = 0x01;       /* Graceful transmit stop */
 +      /* We cannot expect a graceful transmit stop without link !!! */
 +      if (fep->link) {
 +              writel(1, fep->hwp + FEC_X_CNTRL); /* Graceful transmit stop */
                udelay(10);
 -              if (!(fecp->fec_ievent & FEC_ENET_GRA))
 +              if (!(readl(fep->hwp + FEC_IEVENT) & FEC_ENET_GRA))
                        printk("fec_stop : Graceful transmit stop did not complete !\n");
 -              }
 +      }
  
 -      /* Whack a reset.  We should wait for this.
 -      */
 -      fecp->fec_ecntrl = 1;
 +      /* Whack a reset.  We should wait for this. */
 +      writel(1, fep->hwp + FEC_ECNTRL);
        udelay(10);
  
 -      /* Clear outstanding MII command interrupts.
 -      */
 -      fecp->fec_ievent = FEC_ENET_MII;
 +      /* Clear outstanding MII command interrupts. */
 +      writel(FEC_ENET_MII, fep->hwp + FEC_IEVENT);
  
 -      fecp->fec_imask = FEC_ENET_MII;
 -      fecp->fec_mii_speed = fep->phy_speed;
 +      writel(FEC_ENET_MII, fep->hwp + FEC_IMASK);
 +      writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
  }
  
  static int __devinit
index a7ae4d45b53d0e77c2622480a8a5e5b72af4ea35,4791238c3f6e9fdec240ee755817947636eff5dc..03eb54f4f1cc226ba02aad3939909997f4bd68ce
@@@ -73,51 -73,20 +73,51 @@@ static u16 ixgbe_get_pcie_msix_count_82
  /**
   */
  static s32 ixgbe_get_invariants_82598(struct ixgbe_hw *hw)
 +{
 +      struct ixgbe_mac_info *mac = &hw->mac;
 +
 +      /* Call PHY identify routine to get the phy type */
 +      ixgbe_identify_phy_generic(hw);
 +
 +      mac->mcft_size = IXGBE_82598_MC_TBL_SIZE;
 +      mac->vft_size = IXGBE_82598_VFT_TBL_SIZE;
 +      mac->num_rar_entries = IXGBE_82598_RAR_ENTRIES;
 +      mac->max_rx_queues = IXGBE_82598_MAX_RX_QUEUES;
 +      mac->max_tx_queues = IXGBE_82598_MAX_TX_QUEUES;
 +      mac->max_msix_vectors = ixgbe_get_pcie_msix_count_82598(hw);
 +
 +      return 0;
 +}
 +
 +/**
 + *  ixgbe_init_phy_ops_82598 - PHY/SFP specific init
 + *  @hw: pointer to hardware structure
 + *
 + *  Initialize any function pointers that were not able to be
 + *  set during get_invariants because the PHY/SFP type was
 + *  not known.  Perform the SFP init if necessary.
 + *
 + **/
 +s32 ixgbe_init_phy_ops_82598(struct ixgbe_hw *hw)
  {
        struct ixgbe_mac_info *mac = &hw->mac;
        struct ixgbe_phy_info *phy = &hw->phy;
        s32 ret_val = 0;
        u16 list_offset, data_offset;
  
 -      /* Set the bus information prior to PHY identification */
 -      mac->ops.get_bus_info(hw);
 +      /* Identify the PHY */
 +      phy->ops.identify(hw);
  
 -      /* Call PHY identify routine to get the phy type */
 -      ixgbe_identify_phy_generic(hw);
 +      /* Overwrite the link function pointers if copper PHY */
 +      if (mac->ops.get_media_type(hw) == ixgbe_media_type_copper) {
 +              mac->ops.setup_link = &ixgbe_setup_copper_link_82598;
 +              mac->ops.setup_link_speed =
 +                                   &ixgbe_setup_copper_link_speed_82598;
 +              mac->ops.get_link_capabilities =
 +                                &ixgbe_get_copper_link_capabilities_82598;
 +      }
  
 -      /* PHY Init */
 -      switch (phy->type) {
 +      switch (hw->phy.type) {
        case ixgbe_phy_tn:
                phy->ops.check_link = &ixgbe_check_phy_link_tnx;
                phy->ops.get_firmware_version =
  
                /* Check to see if SFP+ module is supported */
                ret_val = ixgbe_get_sfp_init_sequence_offsets(hw,
 -                                                            &list_offset,
 -                                                            &data_offset);
 +                                                          &list_offset,
 +                                                          &data_offset);
                if (ret_val != 0) {
                        ret_val = IXGBE_ERR_SFP_NOT_SUPPORTED;
                        goto out;
                break;
        }
  
 -      if (mac->ops.get_media_type(hw) == ixgbe_media_type_copper) {
 -              mac->ops.setup_link = &ixgbe_setup_copper_link_82598;
 -              mac->ops.setup_link_speed =
 -                                   &ixgbe_setup_copper_link_speed_82598;
 -              mac->ops.get_link_capabilities =
 -                                   &ixgbe_get_copper_link_capabilities_82598;
 -      }
 -
 -      mac->mcft_size = IXGBE_82598_MC_TBL_SIZE;
 -      mac->vft_size = IXGBE_82598_VFT_TBL_SIZE;
 -      mac->num_rar_entries = IXGBE_82598_RAR_ENTRIES;
 -      mac->max_rx_queues = IXGBE_82598_MAX_RX_QUEUES;
 -      mac->max_tx_queues = IXGBE_82598_MAX_TX_QUEUES;
 -      mac->max_msix_vectors = ixgbe_get_pcie_msix_count_82598(hw);
 -
  out:
        return ret_val;
  }
@@@ -165,19 -149,12 +165,19 @@@ static s32 ixgbe_get_link_capabilities_
                                               bool *autoneg)
  {
        s32 status = 0;
 +      u32 autoc = 0;
  
        /*
         * Determine link capabilities based on the stored value of AUTOC,
 -       * which represents EEPROM defaults.
 +       * which represents EEPROM defaults.  If AUTOC value has not been
 +       * stored, use the current register value.
         */
 -      switch (hw->mac.orig_autoc & IXGBE_AUTOC_LMS_MASK) {
 +      if (hw->mac.orig_link_settings_stored)
 +              autoc = hw->mac.orig_autoc;
 +      else
 +              autoc = IXGBE_READ_REG(hw, IXGBE_AUTOC);
 +
 +      switch (autoc & IXGBE_AUTOC_LMS_MASK) {
        case IXGBE_AUTOC_LMS_1G_LINK_NO_AN:
                *speed = IXGBE_LINK_SPEED_1GB_FULL;
                *autoneg = false;
        case IXGBE_AUTOC_LMS_KX4_AN:
        case IXGBE_AUTOC_LMS_KX4_AN_1G_AN:
                *speed = IXGBE_LINK_SPEED_UNKNOWN;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KX4_SUPP)
 +              if (autoc & IXGBE_AUTOC_KX4_SUPP)
                        *speed |= IXGBE_LINK_SPEED_10GB_FULL;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KX_SUPP)
 +              if (autoc & IXGBE_AUTOC_KX_SUPP)
                        *speed |= IXGBE_LINK_SPEED_1GB_FULL;
                *autoneg = true;
                break;
@@@ -345,7 -322,6 +345,7 @@@ static s32 ixgbe_fc_enable_82598(struc
        }
  
        /* Enable 802.3x based flow control settings. */
 +      fctrl_reg |= IXGBE_FCTRL_DPF;
        IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl_reg);
        IXGBE_WRITE_REG(hw, IXGBE_RMCS, rmcs_reg);
  
@@@ -404,11 -380,9 +404,11 @@@ static s32 ixgbe_setup_fc_82598(struct 
         * because it causes the controller to just blast out fc packets.
         */
        if (!hw->fc.low_water || !hw->fc.high_water || !hw->fc.pause_time) {
 -              hw_dbg(hw, "Invalid water mark configuration\n");
 -              ret_val = IXGBE_ERR_INVALID_LINK_SETTINGS;
 -              goto out;
 +              if (hw->fc.requested_mode != ixgbe_fc_none) {
 +                      hw_dbg(hw, "Invalid water mark configuration\n");
 +                      ret_val = IXGBE_ERR_INVALID_LINK_SETTINGS;
 +                      goto out;
 +              }
        }
  
        /*
@@@ -742,23 -716,14 +742,23 @@@ static s32 ixgbe_reset_hw_82598(struct 
        }
  
        /* Reset PHY */
 -      if (hw->phy.reset_disable == false)
 +      if (hw->phy.reset_disable == false) {
 +              /* PHY ops must be identified and initialized prior to reset */
 +
 +              /* Init PHY and function pointers, perform SFP setup */
 +              status = hw->phy.ops.init(hw);
 +              if (status == IXGBE_ERR_SFP_NOT_SUPPORTED)
 +                      goto reset_hw_out;
 +
                hw->phy.ops.reset(hw);
 +      }
  
        /*
         * Prevent the PCI-E bus from from hanging by disabling PCI-E master
         * access and verify no pending requests before reset
         */
 -      if (ixgbe_disable_pcie_master(hw) != 0) {
 +      status = ixgbe_disable_pcie_master(hw);
 +      if (status != 0) {
                status = IXGBE_ERR_MASTER_REQUESTS_PENDING;
                hw_dbg(hw, "PCI-E Master disable polling has failed.\n");
        }
        /* Store the permanent mac address */
        hw->mac.ops.get_mac_addr(hw, hw->mac.perm_addr);
  
 +reset_hw_out:
        return status;
  }
  
@@@ -920,61 -884,6 +920,6 @@@ static s32 ixgbe_clear_vfta_82598(struc
        return 0;
  }
  
- /**
-  *  ixgbe_blink_led_start_82598 - Blink LED based on index.
-  *  @hw: pointer to hardware structure
-  *  @index: led number to blink
-  **/
- static s32 ixgbe_blink_led_start_82598(struct ixgbe_hw *hw, u32 index)
- {
-       ixgbe_link_speed speed = 0;
-       bool link_up = 0;
-       u32 autoc_reg = IXGBE_READ_REG(hw, IXGBE_AUTOC);
-       u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
-       /*
-        * Link must be up to auto-blink the LEDs on the 82598EB MAC;
-        * force it if link is down.
-        */
-       hw->mac.ops.check_link(hw, &speed, &link_up, false);
-       if (!link_up) {
-               autoc_reg |= IXGBE_AUTOC_FLU;
-               IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg);
-               msleep(10);
-       }
-       led_reg &= ~IXGBE_LED_MODE_MASK(index);
-       led_reg |= IXGBE_LED_BLINK(index);
-       IXGBE_WRITE_REG(hw, IXGBE_LEDCTL, led_reg);
-       IXGBE_WRITE_FLUSH(hw);
-       return 0;
- }
- /**
-  *  ixgbe_blink_led_stop_82598 - Stop blinking LED based on index.
-  *  @hw: pointer to hardware structure
-  *  @index: led number to stop blinking
-  **/
- static s32 ixgbe_blink_led_stop_82598(struct ixgbe_hw *hw, u32 index)
- {
-       u32 autoc_reg = IXGBE_READ_REG(hw, IXGBE_AUTOC);
-       u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
-       autoc_reg &= ~IXGBE_AUTOC_FLU;
-       autoc_reg |= IXGBE_AUTOC_AN_RESTART;
-       IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg);
-       led_reg &= ~IXGBE_LED_MODE_MASK(index);
-       led_reg &= ~IXGBE_LED_BLINK(index);
-       led_reg |= IXGBE_LED_LINK_ACTIVE << IXGBE_LED_MODE_SHIFT(index);
-       IXGBE_WRITE_REG(hw, IXGBE_LEDCTL, led_reg);
-       IXGBE_WRITE_FLUSH(hw);
-       return 0;
- }
  /**
   *  ixgbe_read_analog_reg8_82598 - Reads 8 bit Atlas analog register
   *  @hw: pointer to hardware structure
  static u32 ixgbe_get_supported_physical_layer_82598(struct ixgbe_hw *hw)
  {
        u32 physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
 +      u32 autoc = IXGBE_READ_REG(hw, IXGBE_AUTOC);
 +      u32 pma_pmd_10g = autoc & IXGBE_AUTOC_10G_PMA_PMD_MASK;
 +      u32 pma_pmd_1g = autoc & IXGBE_AUTOC_1G_PMA_PMD_MASK;
 +      u16 ext_ability = 0;
 +
 +      hw->phy.ops.identify(hw);
 +
 +      /* Copper PHY must be checked before AUTOC LMS to determine correct
 +       * physical layer because 10GBase-T PHYs use LMS = KX4/KX */
 +      if (hw->phy.type == ixgbe_phy_tn ||
 +          hw->phy.type == ixgbe_phy_cu_unknown) {
 +              hw->phy.ops.read_reg(hw, IXGBE_MDIO_PHY_EXT_ABILITY,
 +              IXGBE_MDIO_PMA_PMD_DEV_TYPE, &ext_ability);
 +              if (ext_ability & IXGBE_MDIO_PHY_10GBASET_ABILITY)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_10GBASE_T;
 +              if (ext_ability & IXGBE_MDIO_PHY_1000BASET_ABILITY)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_1000BASE_T;
 +              if (ext_ability & IXGBE_MDIO_PHY_100BASETX_ABILITY)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_100BASE_TX;
 +              goto out;
 +      }
  
 -      switch (hw->device_id) {
 -      case IXGBE_DEV_ID_82598:
 -              /* Default device ID is mezzanine card KX/KX4 */
 -              physical_layer = (IXGBE_PHYSICAL_LAYER_10GBASE_KX4 |
 -                                IXGBE_PHYSICAL_LAYER_1000BASE_KX);
 -              break;
 -      case IXGBE_DEV_ID_82598_BX:
 -              physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_BX;
 -      case IXGBE_DEV_ID_82598EB_CX4:
 -      case IXGBE_DEV_ID_82598_CX4_DUAL_PORT:
 -              physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_CX4;
 -              break;
 -      case IXGBE_DEV_ID_82598_DA_DUAL_PORT:
 -              physical_layer = IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU;
 +      switch (autoc & IXGBE_AUTOC_LMS_MASK) {
 +      case IXGBE_AUTOC_LMS_1G_AN:
 +      case IXGBE_AUTOC_LMS_1G_LINK_NO_AN:
 +              if (pma_pmd_1g == IXGBE_AUTOC_1G_KX)
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_KX;
 +              else
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_BX;
                break;
 -      case IXGBE_DEV_ID_82598AF_DUAL_PORT:
 -      case IXGBE_DEV_ID_82598AF_SINGLE_PORT:
 -      case IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM:
 -              physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_SR;
 +      case IXGBE_AUTOC_LMS_10G_LINK_NO_AN:
 +              if (pma_pmd_10g == IXGBE_AUTOC_10G_CX4)
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_CX4;
 +              else if (pma_pmd_10g == IXGBE_AUTOC_10G_KX4)
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_KX4;
 +              else /* XAUI */
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
                break;
 -      case IXGBE_DEV_ID_82598EB_XF_LR:
 -              physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_LR;
 +      case IXGBE_AUTOC_LMS_KX4_AN:
 +      case IXGBE_AUTOC_LMS_KX4_AN_1G_AN:
 +              if (autoc & IXGBE_AUTOC_KX_SUPP)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_1000BASE_KX;
 +              if (autoc & IXGBE_AUTOC_KX4_SUPP)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_10GBASE_KX4;
                break;
 -      case IXGBE_DEV_ID_82598AT:
 -              physical_layer = (IXGBE_PHYSICAL_LAYER_10GBASE_T |
 -                                IXGBE_PHYSICAL_LAYER_1000BASE_T);
 +      default:
                break;
 -      case IXGBE_DEV_ID_82598EB_SFP_LOM:
 +      }
 +
 +      if (hw->phy.type == ixgbe_phy_nl) {
                hw->phy.ops.identify_sfp(hw);
  
                switch (hw->phy.sfp_type) {
                        physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
                        break;
                }
 -              break;
 +      }
  
 +      switch (hw->device_id) {
 +      case IXGBE_DEV_ID_82598_DA_DUAL_PORT:
 +              physical_layer = IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU;
 +              break;
 +      case IXGBE_DEV_ID_82598AF_DUAL_PORT:
 +      case IXGBE_DEV_ID_82598AF_SINGLE_PORT:
 +      case IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM:
 +              physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_SR;
 +              break;
 +      case IXGBE_DEV_ID_82598EB_XF_LR:
 +              physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_LR;
 +              break;
        default:
 -              physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
                break;
        }
  
 +out:
        return physical_layer;
  }
  
@@@ -1197,8 -1073,8 +1142,8 @@@ static struct ixgbe_mac_operations mac_
        .get_link_capabilities  = &ixgbe_get_link_capabilities_82598,
        .led_on                 = &ixgbe_led_on_generic,
        .led_off                = &ixgbe_led_off_generic,
-       .blink_led_start        = &ixgbe_blink_led_start_82598,
-       .blink_led_stop         = &ixgbe_blink_led_stop_82598,
+       .blink_led_start        = &ixgbe_blink_led_start_generic,
+       .blink_led_stop         = &ixgbe_blink_led_stop_generic,
        .set_rar                = &ixgbe_set_rar_generic,
        .clear_rar              = &ixgbe_clear_rar_generic,
        .set_vmdq               = &ixgbe_set_vmdq_82598,
@@@ -1223,7 -1099,6 +1168,7 @@@ static struct ixgbe_eeprom_operations e
  static struct ixgbe_phy_operations phy_ops_82598 = {
        .identify               = &ixgbe_identify_phy_generic,
        .identify_sfp           = &ixgbe_identify_sfp_module_generic,
 +      .init                   = &ixgbe_init_phy_ops_82598,
        .reset                  = &ixgbe_reset_phy_generic,
        .read_reg               = &ixgbe_read_phy_reg_generic,
        .write_reg              = &ixgbe_write_phy_reg_generic,
index b3f4e96a018c72810f2f7da7a95db8675342dd34,29771fbaa42d2a20e7af615d24c515aa77a9581a..9e824b450416b6eade00a7398f7f0cd8074d8667
@@@ -68,8 -68,6 +68,6 @@@ s32 ixgbe_clear_vmdq_82599(struct ixgbe
  s32 ixgbe_set_vfta_82599(struct ixgbe_hw *hw, u32 vlan,
                           u32 vind, bool vlan_on);
  s32 ixgbe_clear_vfta_82599(struct ixgbe_hw *hw);
- s32 ixgbe_blink_led_stop_82599(struct ixgbe_hw *hw, u32 index);
- s32 ixgbe_blink_led_start_82599(struct ixgbe_hw *hw, u32 index);
  s32 ixgbe_init_uta_tables_82599(struct ixgbe_hw *hw);
  s32 ixgbe_read_analog_reg8_82599(struct ixgbe_hw *hw, u32 reg, u8 *val);
  s32 ixgbe_write_analog_reg8_82599(struct ixgbe_hw *hw, u32 reg, u8 val);
@@@ -102,9 -100,6 +100,9 @@@ s32 ixgbe_setup_sfp_modules_82599(struc
  
        if (hw->phy.sfp_type != ixgbe_sfp_type_unknown) {
                ixgbe_init_mac_link_ops_82599(hw);
 +
 +              hw->phy.ops.reset = NULL;
 +
                ret_val = ixgbe_get_sfp_init_sequence_offsets(hw, &list_offset,
                                                              &data_offset);
  
@@@ -151,60 -146,51 +149,60 @@@ u32 ixgbe_get_pcie_msix_count_82599(str
  static s32 ixgbe_get_invariants_82599(struct ixgbe_hw *hw)
  {
        struct ixgbe_mac_info *mac = &hw->mac;
 -      struct ixgbe_phy_info *phy = &hw->phy;
 -      s32 ret_val;
  
 -      /* Set the bus information prior to PHY identification */
 -      mac->ops.get_bus_info(hw);
 +      ixgbe_init_mac_link_ops_82599(hw);
  
 -      /* Call PHY identify routine to get the Cu or SFI phy type */
 -      ret_val = phy->ops.identify(hw);
 +      mac->mcft_size = IXGBE_82599_MC_TBL_SIZE;
 +      mac->vft_size = IXGBE_82599_VFT_TBL_SIZE;
 +      mac->num_rar_entries = IXGBE_82599_RAR_ENTRIES;
 +      mac->max_rx_queues = IXGBE_82599_MAX_RX_QUEUES;
 +      mac->max_tx_queues = IXGBE_82599_MAX_TX_QUEUES;
 +      mac->max_msix_vectors = ixgbe_get_pcie_msix_count_82599(hw);
  
 -      if (ret_val == IXGBE_ERR_SFP_NOT_SUPPORTED)
 -              goto get_invariants_out;
 +      return 0;
 +}
  
 -      ixgbe_init_mac_link_ops_82599(hw);
 +/**
 + *  ixgbe_init_phy_ops_82599 - PHY/SFP specific init
 + *  @hw: pointer to hardware structure
 + *
 + *  Initialize any function pointers that were not able to be
 + *  set during get_invariants because the PHY/SFP type was
 + *  not known.  Perform the SFP init if necessary.
 + *
 + **/
 +s32 ixgbe_init_phy_ops_82599(struct ixgbe_hw *hw)
 +{
 +      struct ixgbe_mac_info *mac = &hw->mac;
 +      struct ixgbe_phy_info *phy = &hw->phy;
 +      s32 ret_val = 0;
  
 -      /* Setup SFP module if there is one present. */
 -      ret_val = mac->ops.setup_sfp(hw);
 +      /* Identify the PHY or SFP module */
 +      ret_val = phy->ops.identify(hw);
 +
 +      /* Setup function pointers based on detected SFP module and speeds */
 +      ixgbe_init_mac_link_ops_82599(hw);
  
        /* If copper media, overwrite with copper function pointers */
        if (mac->ops.get_media_type(hw) == ixgbe_media_type_copper) {
                mac->ops.setup_link = &ixgbe_setup_copper_link_82599;
                mac->ops.setup_link_speed =
 -                                &ixgbe_setup_copper_link_speed_82599;
 +                                   &ixgbe_setup_copper_link_speed_82599;
                mac->ops.get_link_capabilities =
                                  &ixgbe_get_copper_link_capabilities_82599;
        }
  
 -      /* PHY Init */
 +      /* Set necessary function pointers based on phy type */
        switch (hw->phy.type) {
        case ixgbe_phy_tn:
                phy->ops.check_link = &ixgbe_check_phy_link_tnx;
                phy->ops.get_firmware_version =
 -                                &ixgbe_get_phy_firmware_version_tnx;
 +                           &ixgbe_get_phy_firmware_version_tnx;
                break;
        default:
                break;
        }
  
 -      mac->mcft_size = IXGBE_82599_MC_TBL_SIZE;
 -      mac->vft_size = IXGBE_82599_VFT_TBL_SIZE;
 -      mac->num_rar_entries = IXGBE_82599_RAR_ENTRIES;
 -      mac->max_rx_queues = IXGBE_82599_MAX_RX_QUEUES;
 -      mac->max_tx_queues = IXGBE_82599_MAX_TX_QUEUES;
 -      mac->max_msix_vectors = ixgbe_get_pcie_msix_count_82599(hw);
 -
 -get_invariants_out:
        return ret_val;
  }
  
@@@ -221,19 -207,8 +219,19 @@@ s32 ixgbe_get_link_capabilities_82599(s
                                        bool *negotiation)
  {
        s32 status = 0;
 +      u32 autoc = 0;
 +
 +      /*
 +       * Determine link capabilities based on the stored value of AUTOC,
 +       * which represents EEPROM defaults.  If AUTOC value has not been
 +       * stored, use the current register value.
 +       */
 +      if (hw->mac.orig_link_settings_stored)
 +              autoc = hw->mac.orig_autoc;
 +      else
 +              autoc = IXGBE_READ_REG(hw, IXGBE_AUTOC);
  
 -      switch (hw->mac.orig_autoc & IXGBE_AUTOC_LMS_MASK) {
 +      switch (autoc & IXGBE_AUTOC_LMS_MASK) {
        case IXGBE_AUTOC_LMS_1G_LINK_NO_AN:
                *speed = IXGBE_LINK_SPEED_1GB_FULL;
                *negotiation = false;
        case IXGBE_AUTOC_LMS_KX4_KX_KR:
        case IXGBE_AUTOC_LMS_KX4_KX_KR_1G_AN:
                *speed = IXGBE_LINK_SPEED_UNKNOWN;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KR_SUPP)
 +              if (autoc & IXGBE_AUTOC_KR_SUPP)
                        *speed |= IXGBE_LINK_SPEED_10GB_FULL;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KX4_SUPP)
 +              if (autoc & IXGBE_AUTOC_KX4_SUPP)
                        *speed |= IXGBE_LINK_SPEED_10GB_FULL;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KX_SUPP)
 +              if (autoc & IXGBE_AUTOC_KX_SUPP)
                        *speed |= IXGBE_LINK_SPEED_1GB_FULL;
                *negotiation = true;
                break;
  
        case IXGBE_AUTOC_LMS_KX4_KX_KR_SGMII:
                *speed = IXGBE_LINK_SPEED_100_FULL;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KR_SUPP)
 +              if (autoc & IXGBE_AUTOC_KR_SUPP)
                        *speed |= IXGBE_LINK_SPEED_10GB_FULL;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KX4_SUPP)
 +              if (autoc & IXGBE_AUTOC_KX4_SUPP)
                        *speed |= IXGBE_LINK_SPEED_10GB_FULL;
 -              if (hw->mac.orig_autoc & IXGBE_AUTOC_KX_SUPP)
 +              if (autoc & IXGBE_AUTOC_KX_SUPP)
                        *speed |= IXGBE_LINK_SPEED_1GB_FULL;
                *negotiation = true;
                break;
@@@ -583,7 -558,6 +581,7 @@@ s32 ixgbe_setup_mac_link_speed_82599(st
        s32 status = 0;
        u32 autoc = IXGBE_READ_REG(hw, IXGBE_AUTOC);
        u32 autoc2 = IXGBE_READ_REG(hw, IXGBE_AUTOC2);
 +      u32 orig_autoc = 0;
        u32 link_mode = autoc & IXGBE_AUTOC_LMS_MASK;
        u32 pma_pmd_1g = autoc & IXGBE_AUTOC_1G_PMA_PMD_MASK;
        u32 pma_pmd_10g_serial = autoc2 & IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_MASK;
        hw->mac.ops.get_link_capabilities(hw, &link_capabilities, &autoneg);
        speed &= link_capabilities;
  
 +      /* Use stored value (EEPROM defaults) of AUTOC to find KR/KX4 support*/
 +      if (hw->mac.orig_link_settings_stored)
 +              orig_autoc = hw->mac.orig_autoc;
 +      else
 +              orig_autoc = autoc;
 +
 +
        if (speed == IXGBE_LINK_SPEED_UNKNOWN) {
                status = IXGBE_ERR_LINK_SETUP;
        } else if (link_mode == IXGBE_AUTOC_LMS_KX4_KX_KR ||
                /* Set KX4/KX/KR support according to speed requested */
                autoc &= ~(IXGBE_AUTOC_KX4_KX_SUPP_MASK | IXGBE_AUTOC_KR_SUPP);
                if (speed & IXGBE_LINK_SPEED_10GB_FULL)
 -                      if (hw->mac.orig_autoc & IXGBE_AUTOC_KX4_SUPP)
 +                      if (orig_autoc & IXGBE_AUTOC_KX4_SUPP)
                                autoc |= IXGBE_AUTOC_KX4_SUPP;
 -                      if (hw->mac.orig_autoc & IXGBE_AUTOC_KR_SUPP)
 +                      if (orig_autoc & IXGBE_AUTOC_KR_SUPP)
                                autoc |= IXGBE_AUTOC_KR_SUPP;
                if (speed & IXGBE_LINK_SPEED_1GB_FULL)
                        autoc |= IXGBE_AUTOC_KX_SUPP;
@@@ -738,30 -705,14 +736,30 @@@ s32 ixgbe_reset_hw_82599(struct ixgbe_h
        /* Call adapter stop to disable tx/rx and clear interrupts */
        hw->mac.ops.stop_adapter(hw);
  
 +      /* PHY ops must be identified and initialized prior to reset */
 +
 +      /* Init PHY and function pointers, perform SFP setup */
 +      status = hw->phy.ops.init(hw);
 +
 +      if (status == IXGBE_ERR_SFP_NOT_SUPPORTED)
 +              goto reset_hw_out;
 +
 +      /* Setup SFP module if there is one present. */
 +      if (hw->phy.sfp_setup_needed) {
 +              status = hw->mac.ops.setup_sfp(hw);
 +              hw->phy.sfp_setup_needed = false;
 +      }
 +
        /* Reset PHY */
 -      hw->phy.ops.reset(hw);
 +      if (hw->phy.reset_disable == false && hw->phy.ops.reset != NULL)
 +              hw->phy.ops.reset(hw);
  
        /*
         * Prevent the PCI-E bus from from hanging by disabling PCI-E master
         * access and verify no pending requests before reset
         */
 -      if (ixgbe_disable_pcie_master(hw) != 0) {
 +      status = ixgbe_disable_pcie_master(hw);
 +      if (status != 0) {
                status = IXGBE_ERR_MASTER_REQUESTS_PENDING;
                hw_dbg(hw, "PCI-E Master disable polling has failed.\n");
        }
        /* Store the permanent mac address */
        hw->mac.ops.get_mac_addr(hw, hw->mac.perm_addr);
  
 +reset_hw_out:
        return status;
  }
  
@@@ -1038,40 -988,6 +1036,6 @@@ s32 ixgbe_clear_vfta_82599(struct ixgbe
        return 0;
  }
  
- /**
-  *  ixgbe_blink_led_start_82599 - Blink LED based on index.
-  *  @hw: pointer to hardware structure
-  *  @index: led number to blink
-  **/
- s32 ixgbe_blink_led_start_82599(struct ixgbe_hw *hw, u32 index)
- {
-       u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
-       led_reg &= ~IXGBE_LED_MODE_MASK(index);
-       led_reg |= IXGBE_LED_BLINK(index);
-       IXGBE_WRITE_REG(hw, IXGBE_LEDCTL, led_reg);
-       IXGBE_WRITE_FLUSH(hw);
-       return 0;
- }
- /**
-  *  ixgbe_blink_led_stop_82599 - Stop blinking LED based on index.
-  *  @hw: pointer to hardware structure
-  *  @index: led number to stop blinking
-  **/
- s32 ixgbe_blink_led_stop_82599(struct ixgbe_hw *hw, u32 index)
- {
-       u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
-       led_reg &= ~IXGBE_LED_MODE_MASK(index);
-       led_reg &= ~IXGBE_LED_BLINK(index);
-       IXGBE_WRITE_REG(hw, IXGBE_LEDCTL, led_reg);
-       IXGBE_WRITE_FLUSH(hw);
-       return 0;
- }
  /**
   *  ixgbe_init_uta_tables_82599 - Initialize the Unicast Table Array
   *  @hw: pointer to hardware structure
@@@ -1177,98 -1093,53 +1141,98 @@@ s32 ixgbe_identify_phy_82599(struct ixg
  u32 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw)
  {
        u32 physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
 +      u32 autoc = IXGBE_READ_REG(hw, IXGBE_AUTOC);
 +      u32 autoc2 = IXGBE_READ_REG(hw, IXGBE_AUTOC2);
 +      u32 pma_pmd_10g_serial = autoc2 & IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_MASK;
 +      u32 pma_pmd_10g_parallel = autoc & IXGBE_AUTOC_10G_PMA_PMD_MASK;
 +      u32 pma_pmd_1g = autoc & IXGBE_AUTOC_1G_PMA_PMD_MASK;
 +      u16 ext_ability = 0;
        u8 comp_codes_10g = 0;
  
 -      switch (hw->device_id) {
 -      case IXGBE_DEV_ID_82599:
 -      case IXGBE_DEV_ID_82599_KX4:
 -              /* Default device ID is mezzanine card KX/KX4 */
 -              physical_layer = (IXGBE_PHYSICAL_LAYER_10GBASE_KX4 |
 -                                IXGBE_PHYSICAL_LAYER_1000BASE_KX);
 +      hw->phy.ops.identify(hw);
 +
 +      if (hw->phy.type == ixgbe_phy_tn ||
 +          hw->phy.type == ixgbe_phy_cu_unknown) {
 +              hw->phy.ops.read_reg(hw, IXGBE_MDIO_PHY_EXT_ABILITY,
 +              IXGBE_MDIO_PMA_PMD_DEV_TYPE, &ext_ability);
 +              if (ext_ability & IXGBE_MDIO_PHY_10GBASET_ABILITY)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_10GBASE_T;
 +              if (ext_ability & IXGBE_MDIO_PHY_1000BASET_ABILITY)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_1000BASE_T;
 +              if (ext_ability & IXGBE_MDIO_PHY_100BASETX_ABILITY)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_100BASE_TX;
 +              goto out;
 +      }
 +
 +      switch (autoc & IXGBE_AUTOC_LMS_MASK) {
 +      case IXGBE_AUTOC_LMS_1G_AN:
 +      case IXGBE_AUTOC_LMS_1G_LINK_NO_AN:
 +              if (pma_pmd_1g == IXGBE_AUTOC_1G_KX_BX) {
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_KX |
 +                          IXGBE_PHYSICAL_LAYER_1000BASE_BX;
 +                      goto out;
 +              } else
 +                      /* SFI mode so read SFP module */
 +                      goto sfp_check;
                break;
 -      case IXGBE_DEV_ID_82599_SFP:
 -              hw->phy.ops.identify_sfp(hw);
 +      case IXGBE_AUTOC_LMS_10G_LINK_NO_AN:
 +              if (pma_pmd_10g_parallel == IXGBE_AUTOC_10G_CX4)
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_CX4;
 +              else if (pma_pmd_10g_parallel == IXGBE_AUTOC_10G_KX4)
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_KX4;
 +              goto out;
 +              break;
 +      case IXGBE_AUTOC_LMS_10G_SERIAL:
 +              if (pma_pmd_10g_serial == IXGBE_AUTOC2_10G_KR) {
 +                      physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_KR;
 +                      goto out;
 +              } else if (pma_pmd_10g_serial == IXGBE_AUTOC2_10G_SFI)
 +                      goto sfp_check;
 +              break;
 +      case IXGBE_AUTOC_LMS_KX4_KX_KR:
 +      case IXGBE_AUTOC_LMS_KX4_KX_KR_1G_AN:
 +              if (autoc & IXGBE_AUTOC_KX_SUPP)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_1000BASE_KX;
 +              if (autoc & IXGBE_AUTOC_KX4_SUPP)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_10GBASE_KX4;
 +              if (autoc & IXGBE_AUTOC_KR_SUPP)
 +                      physical_layer |= IXGBE_PHYSICAL_LAYER_10GBASE_KR;
 +              goto out;
 +              break;
 +      default:
 +              goto out;
 +              break;
 +      }
  
 -              switch (hw->phy.sfp_type) {
 -              case ixgbe_sfp_type_da_cu:
 -              case ixgbe_sfp_type_da_cu_core0:
 -              case ixgbe_sfp_type_da_cu_core1:
 -                      physical_layer = IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU;
 -                      break;
 -              case ixgbe_sfp_type_sr:
 +sfp_check:
 +      /* SFP check must be done last since DA modules are sometimes used to
 +       * test KR mode -  we need to id KR mode correctly before SFP module.
 +       * Call identify_sfp because the pluggable module may have changed */
 +      hw->phy.ops.identify_sfp(hw);
 +      if (hw->phy.sfp_type == ixgbe_sfp_type_not_present)
 +              goto out;
 +
 +      switch (hw->phy.type) {
 +      case ixgbe_phy_tw_tyco:
 +      case ixgbe_phy_tw_unknown:
 +              physical_layer = IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU;
 +              break;
 +      case ixgbe_phy_sfp_avago:
 +      case ixgbe_phy_sfp_ftl:
 +      case ixgbe_phy_sfp_intel:
 +      case ixgbe_phy_sfp_unknown:
 +              hw->phy.ops.read_i2c_eeprom(hw,
 +                    IXGBE_SFF_10GBE_COMP_CODES, &comp_codes_10g);
 +              if (comp_codes_10g & IXGBE_SFF_10GBASESR_CAPABLE)
                        physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_SR;
 -                      break;
 -              case ixgbe_sfp_type_lr:
 +              else if (comp_codes_10g & IXGBE_SFF_10GBASELR_CAPABLE)
                        physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_LR;
 -                      break;
 -              case ixgbe_sfp_type_srlr_core0:
 -              case ixgbe_sfp_type_srlr_core1:
 -                      hw->phy.ops.read_i2c_eeprom(hw,
 -                                                  IXGBE_SFF_10GBE_COMP_CODES,
 -                                                  &comp_codes_10g);
 -                      if (comp_codes_10g & IXGBE_SFF_10GBASESR_CAPABLE)
 -                              physical_layer =
 -                                              IXGBE_PHYSICAL_LAYER_10GBASE_SR;
 -                      else if (comp_codes_10g & IXGBE_SFF_10GBASELR_CAPABLE)
 -                              physical_layer =
 -                                              IXGBE_PHYSICAL_LAYER_10GBASE_LR;
 -                      else
 -                              physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
 -              default:
 -                      physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
 -                      break;
 -              }
                break;
        default:
 -              physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN;
                break;
        }
  
 +out:
        return physical_layer;
  }
  
@@@ -1316,22 -1187,6 +1280,22 @@@ s32 ixgbe_enable_rx_dma_82599(struct ix
        return 0;
  }
  
 +/**
 + *  ixgbe_get_device_caps_82599 - Get additional device capabilities
 + *  @hw: pointer to hardware structure
 + *  @device_caps: the EEPROM word with the extra device capabilities
 + *
 + *  This function will read the EEPROM location for the device capabilities,
 + *  and return the word through device_caps.
 + **/
 +s32 ixgbe_get_device_caps_82599(struct ixgbe_hw *hw, u16 *device_caps)
 +{
 +      hw->eeprom.ops.read(hw, IXGBE_DEVICE_CAPS, device_caps);
 +
 +      return 0;
 +}
 +
 +
  static struct ixgbe_mac_operations mac_ops_82599 = {
        .init_hw                = &ixgbe_init_hw_generic,
        .reset_hw               = &ixgbe_reset_hw_82599,
        .get_supported_physical_layer = &ixgbe_get_supported_physical_layer_82599,
        .enable_rx_dma          = &ixgbe_enable_rx_dma_82599,
        .get_mac_addr           = &ixgbe_get_mac_addr_generic,
 +      .get_device_caps        = &ixgbe_get_device_caps_82599,
        .stop_adapter           = &ixgbe_stop_adapter_generic,
        .get_bus_info           = &ixgbe_get_bus_info_generic,
        .set_lan_id             = &ixgbe_set_lan_id_multi_port_pcie,
        .get_link_capabilities  = &ixgbe_get_link_capabilities_82599,
        .led_on                 = &ixgbe_led_on_generic,
        .led_off                = &ixgbe_led_off_generic,
-       .blink_led_start        = &ixgbe_blink_led_start_82599,
-       .blink_led_stop         = &ixgbe_blink_led_stop_82599,
+       .blink_led_start        = &ixgbe_blink_led_start_generic,
+       .blink_led_stop         = &ixgbe_blink_led_stop_generic,
        .set_rar                = &ixgbe_set_rar_generic,
        .clear_rar              = &ixgbe_clear_rar_generic,
        .set_vmdq               = &ixgbe_set_vmdq_82599,
@@@ -1382,7 -1236,6 +1346,7 @@@ static struct ixgbe_eeprom_operations e
  static struct ixgbe_phy_operations phy_ops_82599 = {
        .identify               = &ixgbe_identify_phy_82599,
        .identify_sfp           = &ixgbe_identify_sfp_module_generic,
 +      .init                   = &ixgbe_init_phy_ops_82599,
        .reset                  = &ixgbe_reset_phy_generic,
        .read_reg               = &ixgbe_read_phy_reg_generic,
        .write_reg              = &ixgbe_write_phy_reg_generic,
index 2d4af5d2d3f71971d8a0b0424b4a92dc11f06c69,5567519676d5b4d26b9c7516f9b772a9b8a7873c..5f2ee34e9d1dcc6aef4e4cfe0e9c67457dc3df1d
@@@ -1700,7 -1700,6 +1700,7 @@@ s32 ixgbe_fc_enable(struct ixgbe_hw *hw
        }
  
        /* Enable 802.3x based flow control settings. */
 +      mflcn_reg |= IXGBE_MFLCN_DPF;
        IXGBE_WRITE_REG(hw, IXGBE_MFLCN, mflcn_reg);
        IXGBE_WRITE_REG(hw, IXGBE_FCCFG, fccfg_reg);
  
@@@ -1907,11 -1906,9 +1907,11 @@@ s32 ixgbe_setup_fc_generic(struct ixgbe
         * because it causes the controller to just blast out fc packets.
         */
        if (!hw->fc.low_water || !hw->fc.high_water || !hw->fc.pause_time) {
 -              hw_dbg(hw, "Invalid water mark configuration\n");
 -              ret_val = IXGBE_ERR_INVALID_LINK_SETTINGS;
 -              goto out;
 +              if (hw->fc.requested_mode != ixgbe_fc_none) {
 +                      hw_dbg(hw, "Invalid water mark configuration\n");
 +                      ret_val = IXGBE_ERR_INVALID_LINK_SETTINGS;
 +                      goto out;
 +              }
        }
  
        /*
@@@ -2074,3 -2071,58 +2074,58 @@@ s32 ixgbe_enable_rx_dma_generic(struct 
  
        return 0;
  }
+ /**
+  *  ixgbe_blink_led_start_generic - Blink LED based on index.
+  *  @hw: pointer to hardware structure
+  *  @index: led number to blink
+  **/
+ s32 ixgbe_blink_led_start_generic(struct ixgbe_hw *hw, u32 index)
+ {
+       ixgbe_link_speed speed = 0;
+       bool link_up = 0;
+       u32 autoc_reg = IXGBE_READ_REG(hw, IXGBE_AUTOC);
+       u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
+       /*
+        * Link must be up to auto-blink the LEDs;
+        * Force it if link is down.
+        */
+       hw->mac.ops.check_link(hw, &speed, &link_up, false);
+       if (!link_up) {
+               autoc_reg |= IXGBE_AUTOC_FLU;
+               IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg);
+               msleep(10);
+       }
+       led_reg &= ~IXGBE_LED_MODE_MASK(index);
+       led_reg |= IXGBE_LED_BLINK(index);
+       IXGBE_WRITE_REG(hw, IXGBE_LEDCTL, led_reg);
+       IXGBE_WRITE_FLUSH(hw);
+       return 0;
+ }
+ /**
+  *  ixgbe_blink_led_stop_generic - Stop blinking LED based on index.
+  *  @hw: pointer to hardware structure
+  *  @index: led number to stop blinking
+  **/
+ s32 ixgbe_blink_led_stop_generic(struct ixgbe_hw *hw, u32 index)
+ {
+       u32 autoc_reg = IXGBE_READ_REG(hw, IXGBE_AUTOC);
+       u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
+       autoc_reg &= ~IXGBE_AUTOC_FLU;
+       autoc_reg |= IXGBE_AUTOC_AN_RESTART;
+       IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg);
+       led_reg &= ~IXGBE_LED_MODE_MASK(index);
+       led_reg &= ~IXGBE_LED_BLINK(index);
+       led_reg |= IXGBE_LED_LINK_ACTIVE << IXGBE_LED_MODE_SHIFT(index);
+       IXGBE_WRITE_REG(hw, IXGBE_LEDCTL, led_reg);
+       IXGBE_WRITE_FLUSH(hw);
+       return 0;
+ }
index 813c5bc1a8fa057ff4ec3c414f4c66975ce6e388,49a903784566dcb6269c88087283ecb657119697..0d9a3ac043a6a8d534126b3e549e3b8ff16e2e54
@@@ -47,7 -47,7 +47,7 @@@ char ixgbe_driver_name[] = "ixgbe"
  static const char ixgbe_driver_string[] =
                                "Intel(R) 10 Gigabit PCI Express Network Driver";
  
 -#define DRV_VERSION "2.0.8-k2"
 +#define DRV_VERSION "2.0.16-k2"
  const char ixgbe_driver_version[] = DRV_VERSION;
  static char ixgbe_copyright[] = "Copyright (c) 1999-2009 Intel Corporation.";
  
@@@ -2723,17 -2723,21 +2723,21 @@@ static inline bool ixgbe_set_rss_queues
   **/
  static void ixgbe_set_num_queues(struct ixgbe_adapter *adapter)
  {
-       /* Start with base case */
-       adapter->num_rx_queues = 1;
-       adapter->num_tx_queues = 1;
  #ifdef CONFIG_IXGBE_DCB
        if (ixgbe_set_dcb_queues(adapter))
-               return;
+               goto done;
  
  #endif
        if (ixgbe_set_rss_queues(adapter))
-               return;
+               goto done;
+       /* fallback to base case */
+       adapter->num_rx_queues = 1;
+       adapter->num_tx_queues = 1;
+ done:
+       /* Notify the stack of the (possibly) reduced Tx Queue count. */
+       adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
  }
  
  static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter,
@@@ -2992,9 -2996,6 +2996,6 @@@ try_msi
        }
  
  out:
-       /* Notify the stack of the (possibly) reduced Tx Queue count. */
-       adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
        return err;
  }
  
@@@ -3611,9 -3612,9 +3612,9 @@@ static int ixgbe_resume(struct pci_dev 
  
        return 0;
  }
  #endif /* CONFIG_PM */
- static int ixgbe_suspend(struct pci_dev *pdev, pm_message_t state)
+ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
  {
        struct net_device *netdev = pci_get_drvdata(pdev);
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
                pci_enable_wake(pdev, PCI_D3cold, 0);
        }
  
+       *enable_wake = !!wufc;
        ixgbe_release_hw_control(adapter);
  
        pci_disable_device(pdev);
  
-       pci_set_power_state(pdev, pci_choose_state(pdev, state));
+       return 0;
+ }
+ #ifdef CONFIG_PM
+ static int ixgbe_suspend(struct pci_dev *pdev, pm_message_t state)
+ {
+       int retval;
+       bool wake;
+       retval = __ixgbe_shutdown(pdev, &wake);
+       if (retval)
+               return retval;
+       if (wake) {
+               pci_prepare_to_sleep(pdev);
+       } else {
+               pci_wake_from_d3(pdev, false);
+               pci_set_power_state(pdev, PCI_D3hot);
+       }
  
        return 0;
  }
+ #endif /* CONFIG_PM */
  
  static void ixgbe_shutdown(struct pci_dev *pdev)
  {
-       ixgbe_suspend(pdev, PMSG_SUSPEND);
+       bool wake;
+       __ixgbe_shutdown(pdev, &wake);
+       if (system_state == SYSTEM_POWER_OFF) {
+               pci_wake_from_d3(pdev, wake);
+               pci_set_power_state(pdev, PCI_D3hot);
+       }
  }
  
  /**
@@@ -4342,7 -4371,7 +4371,7 @@@ static int ixgbe_xmit_frame(struct sk_b
        int count = 0;
        unsigned int f;
  
-       r_idx = (adapter->num_tx_queues - 1) & skb->queue_mapping;
+       r_idx = skb->queue_mapping;
        tx_ring = &adapter->tx_ring[r_idx];
  
        if (adapter->vlgrp && vlan_tx_tag_present(skb)) {
@@@ -4630,11 -4659,7 +4659,11 @@@ static int __devinit ixgbe_probe(struc
  
        /* reset_hw fills in the perm_addr as well */
        err = hw->mac.ops.reset_hw(hw);
 -      if (err) {
 +      if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) {
 +              dev_err(&adapter->pdev->dev, "failed to load because an "
 +                      "unsupported SFP+ module type was detected.\n");
 +              goto err_sw_init;
 +      } else if (err) {
                dev_err(&adapter->pdev->dev, "HW Init failed: %d\n", err);
                goto err_sw_init;
        }
        device_init_wakeup(&adapter->pdev->dev, true);
        device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
  
 +      /* pick up the PCI bus settings for reporting later */
 +      hw->mac.ops.get_bus_info(hw);
 +
        /* print bus type/speed/width info */
        dev_info(&pdev->dev, "(PCI Express:%s:%s) %pM\n",
                ((hw->bus.speed == ixgbe_bus_speed_5000) ? "5.0Gb/s":
diff --combined net/8021q/vlan_core.c
index c1f51e4a01b2cc8f992b80576a112b484c3c0842,c67fe6f7565320f0938e3c97832ba2d76c30ba04..7f7de1a04de6a1a05e07ab2c7d93d5f8cc3e72c0
@@@ -114,15 -114,17 +114,17 @@@ int vlan_gro_receive(struct napi_struc
  EXPORT_SYMBOL(vlan_gro_receive);
  
  int vlan_gro_frags(struct napi_struct *napi, struct vlan_group *grp,
 -                 unsigned int vlan_tci, struct napi_gro_fraginfo *info)
 +                 unsigned int vlan_tci)
  {
 -      struct sk_buff *skb = napi_fraginfo_skb(napi, info);
 +      struct sk_buff *skb = napi_frags_skb(napi);
  
        if (!skb)
                return NET_RX_DROP;
  
-       if (netpoll_rx_on(skb))
+       if (netpoll_rx_on(skb)) {
+               skb->protocol = eth_type_trans(skb, skb->dev);
                return vlan_hwaccel_receive_skb(skb, grp, vlan_tci);
+       }
  
        return napi_frags_finish(napi, skb,
                                 vlan_gro_common(napi, grp, vlan_tci, skb));
diff --combined net/core/dev.c
index 619fa141b8f5153a764e8d412c499f9e3cdeafde,343883f65ea70a24f6548560e3358aac0f5335cf..cfc614ec3719c2380eb10f571b4f57a6e85730ff
@@@ -1430,7 -1430,7 +1430,7 @@@ void netif_device_detach(struct net_dev
  {
        if (test_and_clear_bit(__LINK_STATE_PRESENT, &dev->state) &&
            netif_running(dev)) {
-               netif_stop_queue(dev);
+               netif_tx_stop_all_queues(dev);
        }
  }
  EXPORT_SYMBOL(netif_device_detach);
@@@ -1445,7 -1445,7 +1445,7 @@@ void netif_device_attach(struct net_dev
  {
        if (!test_and_set_bit(__LINK_STATE_PRESENT, &dev->state) &&
            netif_running(dev)) {
-               netif_wake_queue(dev);
+               netif_tx_wake_all_queues(dev);
                __netdev_watchdog_up(dev);
        }
  }
@@@ -2328,8 -2328,10 +2328,10 @@@ static int napi_gro_complete(struct sk_
        struct list_head *head = &ptype_base[ntohs(type) & PTYPE_HASH_MASK];
        int err = -ENOENT;
  
-       if (NAPI_GRO_CB(skb)->count == 1)
+       if (NAPI_GRO_CB(skb)->count == 1) {
+               skb_shinfo(skb)->gso_size = 0;
                goto out;
+       }
  
        rcu_read_lock();
        list_for_each_entry_rcu(ptype, head, list) {
        }
  
  out:
-       skb_shinfo(skb)->gso_size = 0;
        return netif_receive_skb(skb);
  }
  
@@@ -2519,10 -2520,16 +2520,10 @@@ void napi_reuse_skb(struct napi_struct 
  }
  EXPORT_SYMBOL(napi_reuse_skb);
  
 -struct sk_buff *napi_fraginfo_skb(struct napi_struct *napi,
 -                                struct napi_gro_fraginfo *info)
 +struct sk_buff *napi_get_frags(struct napi_struct *napi)
  {
        struct net_device *dev = napi->dev;
        struct sk_buff *skb = napi->skb;
 -      struct ethhdr *eth;
 -      skb_frag_t *frag;
 -      int i;
 -
 -      napi->skb = NULL;
  
        if (!skb) {
                skb = netdev_alloc_skb(dev, GRO_MAX_HEAD + NET_IP_ALIGN);
                        goto out;
  
                skb_reserve(skb, NET_IP_ALIGN);
 -      }
 -
 -      BUG_ON(info->nr_frags > MAX_SKB_FRAGS);
 -      frag = &info->frags[info->nr_frags - 1];
  
 -      for (i = skb_shinfo(skb)->nr_frags; i < info->nr_frags; i++) {
 -              skb_fill_page_desc(skb, i, frag->page, frag->page_offset,
 -                                 frag->size);
 -              frag++;
 +              napi->skb = skb;
        }
 -      skb_shinfo(skb)->nr_frags = info->nr_frags;
 -
 -      skb->data_len = info->len;
 -      skb->len += info->len;
 -      skb->truesize += info->len;
 -
 -      skb_reset_mac_header(skb);
 -      skb_gro_reset_offset(skb);
 -
 -      eth = skb_gro_header(skb, sizeof(*eth));
 -      if (!eth) {
 -              napi_reuse_skb(napi, skb);
 -              skb = NULL;
 -              goto out;
 -      }
 -
 -      skb_gro_pull(skb, sizeof(*eth));
 -
 -      /*
 -       * This works because the only protocols we care about don't require
 -       * special handling.  We'll fix it up properly at the end.
 -       */
 -      skb->protocol = eth->h_proto;
 -
 -      skb->ip_summed = info->ip_summed;
 -      skb->csum = info->csum;
  
  out:
        return skb;
  }
 -EXPORT_SYMBOL(napi_fraginfo_skb);
 +EXPORT_SYMBOL(napi_get_frags);
  
  int napi_frags_finish(struct napi_struct *napi, struct sk_buff *skb, int ret)
  {
  }
  EXPORT_SYMBOL(napi_frags_finish);
  
 -int napi_gro_frags(struct napi_struct *napi, struct napi_gro_fraginfo *info)
 +struct sk_buff *napi_frags_skb(struct napi_struct *napi)
 +{
 +      struct sk_buff *skb = napi->skb;
 +      struct ethhdr *eth;
 +
 +      napi->skb = NULL;
 +
 +      skb_reset_mac_header(skb);
 +      skb_gro_reset_offset(skb);
 +
 +      eth = skb_gro_header(skb, sizeof(*eth));
 +      if (!eth) {
 +              napi_reuse_skb(napi, skb);
 +              skb = NULL;
 +              goto out;
 +      }
 +
 +      skb_gro_pull(skb, sizeof(*eth));
 +
 +      /*
 +       * This works because the only protocols we care about don't require
 +       * special handling.  We'll fix it up properly at the end.
 +       */
 +      skb->protocol = eth->h_proto;
 +
 +out:
 +      return skb;
 +}
 +EXPORT_SYMBOL(napi_frags_skb);
 +
 +int napi_gro_frags(struct napi_struct *napi)
  {
 -      struct sk_buff *skb = napi_fraginfo_skb(napi, info);
 +      struct sk_buff *skb = napi_frags_skb(napi);
  
        if (!skb)
                return NET_RX_DROP;
@@@ -2703,7 -2713,7 +2704,7 @@@ void netif_napi_del(struct napi_struct 
        struct sk_buff *skb, *next;
  
        list_del_init(&napi->dev_list);
 -      kfree_skb(napi->skb);
 +      napi_free_frags(napi);
  
        for (skb = napi->gro_list; skb; skb = next) {
                next = skb->next;