]> nv-tegra.nvidia Code Review - linux-3.10.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2009 17:10:53 +0000 (10:10 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2009 17:10:53 +0000 (10:10 -0700)
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
  nilfs2: fix possible mismatch of sufile counters on recovery
  nilfs2: segment usage file cleanups
  nilfs2: fix wrong accounting and duplicate brelse in nilfs_sufile_set_error
  nilfs2: simplify handling of active state of segments fix
  nilfs2: remove module version
  nilfs2: fix lockdep recursive locking warning on meta data files
  nilfs2: fix lockdep recursive locking warning on bmap
  nilfs2: return f_fsid for statfs2

384 files changed:
Documentation/ABI/testing/debugfs-pktcdvd
Documentation/DocBook/Makefile
Documentation/cgroups/memory.txt
Documentation/cgroups/resource_counter.txt
Documentation/feature-removal-schedule.txt
Documentation/input/rotary-encoder.txt [new file with mode: 0644]
Documentation/kbuild/makefiles.txt
Documentation/sparse.txt
Documentation/sysctl/net.txt
Documentation/tomoyo.txt [new file with mode: 0644]
Documentation/vm/00-INDEX
Documentation/vm/active_mm.txt [new file with mode: 0644]
Documentation/vm/unevictable-lru.txt
MAINTAINERS
Makefile
arch/Kconfig
arch/arm/mach-omap2/usb-musb.c
arch/ia64/kernel/pci-swiotlb.c
arch/microblaze/Kconfig [new file with mode: 0644]
arch/microblaze/Kconfig.debug [new file with mode: 0644]
arch/microblaze/Makefile [new file with mode: 0644]
arch/microblaze/boot/Makefile [new file with mode: 0644]
arch/microblaze/configs/nommu_defconfig [new file with mode: 0644]
arch/microblaze/include/asm/Kbuild [new file with mode: 0644]
arch/microblaze/include/asm/atomic.h [new file with mode: 0644]
arch/microblaze/include/asm/auxvec.h [new file with mode: 0644]
arch/microblaze/include/asm/bitops.h [new file with mode: 0644]
arch/microblaze/include/asm/bug.h [new file with mode: 0644]
arch/microblaze/include/asm/bugs.h [new file with mode: 0644]
arch/microblaze/include/asm/byteorder.h [new file with mode: 0644]
arch/microblaze/include/asm/cache.h [new file with mode: 0644]
arch/microblaze/include/asm/cacheflush.h [new file with mode: 0644]
arch/microblaze/include/asm/checksum.h [new file with mode: 0644]
arch/microblaze/include/asm/clinkage.h [new file with mode: 0644]
arch/microblaze/include/asm/cpuinfo.h [new file with mode: 0644]
arch/microblaze/include/asm/cputable.h [new file with mode: 0644]
arch/microblaze/include/asm/cputime.h [new file with mode: 0644]
arch/microblaze/include/asm/current.h [new file with mode: 0644]
arch/microblaze/include/asm/delay.h [new file with mode: 0644]
arch/microblaze/include/asm/device.h [new file with mode: 0644]
arch/microblaze/include/asm/div64.h [new file with mode: 0644]
arch/microblaze/include/asm/dma-mapping.h [new file with mode: 0644]
arch/microblaze/include/asm/dma.h [new file with mode: 0644]
arch/microblaze/include/asm/elf.h [new file with mode: 0644]
arch/microblaze/include/asm/emergency-restart.h [new file with mode: 0644]
arch/microblaze/include/asm/entry.h [new file with mode: 0644]
arch/microblaze/include/asm/errno.h [new file with mode: 0644]
arch/microblaze/include/asm/exceptions.h [new file with mode: 0644]
arch/microblaze/include/asm/fcntl.h [new file with mode: 0644]
arch/microblaze/include/asm/flat.h [new file with mode: 0644]
arch/microblaze/include/asm/ftrace.h [new file with mode: 0644]
arch/microblaze/include/asm/futex.h [new file with mode: 0644]
arch/microblaze/include/asm/gpio.h [new file with mode: 0644]
arch/microblaze/include/asm/hardirq.h [new file with mode: 0644]
arch/microblaze/include/asm/hw_irq.h [new file with mode: 0644]
arch/microblaze/include/asm/io.h [new file with mode: 0644]
arch/microblaze/include/asm/ioctl.h [new file with mode: 0644]
arch/microblaze/include/asm/ioctls.h [new file with mode: 0644]
arch/microblaze/include/asm/ipc.h [new file with mode: 0644]
arch/microblaze/include/asm/ipcbuf.h [new file with mode: 0644]
arch/microblaze/include/asm/irq.h [new file with mode: 0644]
arch/microblaze/include/asm/irq_regs.h [new file with mode: 0644]
arch/microblaze/include/asm/irqflags.h [new file with mode: 0644]
arch/microblaze/include/asm/kdebug.h [new file with mode: 0644]
arch/microblaze/include/asm/kmap_types.h [new file with mode: 0644]
arch/microblaze/include/asm/linkage.h [new file with mode: 0644]
arch/microblaze/include/asm/lmb.h [new file with mode: 0644]
arch/microblaze/include/asm/local.h [new file with mode: 0644]
arch/microblaze/include/asm/mman.h [new file with mode: 0644]
arch/microblaze/include/asm/mmu.h [new file with mode: 0644]
arch/microblaze/include/asm/mmu_context.h [new file with mode: 0644]
arch/microblaze/include/asm/module.h [new file with mode: 0644]
arch/microblaze/include/asm/msgbuf.h [new file with mode: 0644]
arch/microblaze/include/asm/mutex.h [new file with mode: 0644]
arch/microblaze/include/asm/namei.h [new file with mode: 0644]
arch/microblaze/include/asm/of_device.h [new file with mode: 0644]
arch/microblaze/include/asm/of_platform.h [new file with mode: 0644]
arch/microblaze/include/asm/page.h [new file with mode: 0644]
arch/microblaze/include/asm/param.h [new file with mode: 0644]
arch/microblaze/include/asm/pci-bridge.h [new file with mode: 0644]
arch/microblaze/include/asm/pci.h [new file with mode: 0644]
arch/microblaze/include/asm/percpu.h [new file with mode: 0644]
arch/microblaze/include/asm/pgalloc.h [new file with mode: 0644]
arch/microblaze/include/asm/pgtable.h [new file with mode: 0644]
arch/microblaze/include/asm/poll.h [new file with mode: 0644]
arch/microblaze/include/asm/posix_types.h [new file with mode: 0644]
arch/microblaze/include/asm/processor.h [new file with mode: 0644]
arch/microblaze/include/asm/prom.h [new file with mode: 0644]
arch/microblaze/include/asm/ptrace.h [new file with mode: 0644]
arch/microblaze/include/asm/pvr.h [new file with mode: 0644]
arch/microblaze/include/asm/registers.h [new file with mode: 0644]
arch/microblaze/include/asm/resource.h [new file with mode: 0644]
arch/microblaze/include/asm/scatterlist.h [new file with mode: 0644]
arch/microblaze/include/asm/sections.h [new file with mode: 0644]
arch/microblaze/include/asm/segment.h [new file with mode: 0644]
arch/microblaze/include/asm/selfmod.h [new file with mode: 0644]
arch/microblaze/include/asm/sembuf.h [new file with mode: 0644]
arch/microblaze/include/asm/serial.h [new file with mode: 0644]
arch/microblaze/include/asm/setup.h [new file with mode: 0644]
arch/microblaze/include/asm/shmbuf.h [new file with mode: 0644]
arch/microblaze/include/asm/shmparam.h [new file with mode: 0644]
arch/microblaze/include/asm/sigcontext.h [new file with mode: 0644]
arch/microblaze/include/asm/siginfo.h [new file with mode: 0644]
arch/microblaze/include/asm/signal.h [new file with mode: 0644]
arch/microblaze/include/asm/socket.h [new file with mode: 0644]
arch/microblaze/include/asm/sockios.h [new file with mode: 0644]
arch/microblaze/include/asm/stat.h [new file with mode: 0644]
arch/microblaze/include/asm/statfs.h [new file with mode: 0644]
arch/microblaze/include/asm/string.h [new file with mode: 0644]
arch/microblaze/include/asm/swab.h [new file with mode: 0644]
arch/microblaze/include/asm/syscalls.h [new file with mode: 0644]
arch/microblaze/include/asm/system.h [new file with mode: 0644]
arch/microblaze/include/asm/termbits.h [new file with mode: 0644]
arch/microblaze/include/asm/termios.h [new file with mode: 0644]
arch/microblaze/include/asm/thread_info.h [new file with mode: 0644]
arch/microblaze/include/asm/timex.h [new file with mode: 0644]
arch/microblaze/include/asm/tlb.h [new file with mode: 0644]
arch/microblaze/include/asm/tlbflush.h [new file with mode: 0644]
arch/microblaze/include/asm/topology.h [new file with mode: 0644]
arch/microblaze/include/asm/types.h [new file with mode: 0644]
arch/microblaze/include/asm/uaccess.h [new file with mode: 0644]
arch/microblaze/include/asm/ucontext.h [new file with mode: 0644]
arch/microblaze/include/asm/unaligned.h [new file with mode: 0644]
arch/microblaze/include/asm/unistd.h [new file with mode: 0644]
arch/microblaze/include/asm/user.h [new file with mode: 0644]
arch/microblaze/include/asm/vga.h [new file with mode: 0644]
arch/microblaze/include/asm/xor.h [new file with mode: 0644]
arch/microblaze/kernel/Makefile [new file with mode: 0644]
arch/microblaze/kernel/asm-offsets.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/Makefile [new file with mode: 0644]
arch/microblaze/kernel/cpu/cache.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/cpuinfo-static.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/cpuinfo.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/mb.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/pvr.c [new file with mode: 0644]
arch/microblaze/kernel/early_printk.c [new file with mode: 0644]
arch/microblaze/kernel/entry-nommu.S [new file with mode: 0644]
arch/microblaze/kernel/exceptions.c [new file with mode: 0644]
arch/microblaze/kernel/head.S [new file with mode: 0644]
arch/microblaze/kernel/heartbeat.c [new file with mode: 0644]
arch/microblaze/kernel/hw_exception_handler.S [new file with mode: 0644]
arch/microblaze/kernel/init_task.c [new file with mode: 0644]
arch/microblaze/kernel/intc.c [new file with mode: 0644]
arch/microblaze/kernel/irq.c [new file with mode: 0644]
arch/microblaze/kernel/microblaze_ksyms.c [new file with mode: 0644]
arch/microblaze/kernel/module.c [new file with mode: 0644]
arch/microblaze/kernel/of_device.c [new file with mode: 0644]
arch/microblaze/kernel/of_platform.c [new file with mode: 0644]
arch/microblaze/kernel/process.c [new file with mode: 0644]
arch/microblaze/kernel/prom.c [new file with mode: 0644]
arch/microblaze/kernel/prom_parse.c [new file with mode: 0644]
arch/microblaze/kernel/ptrace.c [new file with mode: 0644]
arch/microblaze/kernel/selfmod.c [new file with mode: 0644]
arch/microblaze/kernel/setup.c [new file with mode: 0644]
arch/microblaze/kernel/signal.c [new file with mode: 0644]
arch/microblaze/kernel/sys_microblaze.c [new file with mode: 0644]
arch/microblaze/kernel/syscall_table.S [new file with mode: 0644]
arch/microblaze/kernel/timer.c [new file with mode: 0644]
arch/microblaze/kernel/traps.c [new file with mode: 0644]
arch/microblaze/kernel/vmlinux.lds.S [new file with mode: 0644]
arch/microblaze/lib/Makefile [new file with mode: 0644]
arch/microblaze/lib/checksum.c [new file with mode: 0644]
arch/microblaze/lib/fastcopy.S [new file with mode: 0644]
arch/microblaze/lib/memcpy.c [new file with mode: 0644]
arch/microblaze/lib/memmove.c [new file with mode: 0644]
arch/microblaze/lib/memset.c [new file with mode: 0644]
arch/microblaze/lib/uaccess.c [new file with mode: 0644]
arch/microblaze/mm/Makefile [new file with mode: 0644]
arch/microblaze/mm/init.c [new file with mode: 0644]
arch/microblaze/platform/Kconfig.platform [new file with mode: 0644]
arch/microblaze/platform/Makefile [new file with mode: 0644]
arch/microblaze/platform/generic/Kconfig.auto [new file with mode: 0644]
arch/microblaze/platform/generic/Makefile [new file with mode: 0644]
arch/microblaze/platform/generic/system.dts [new file with mode: 0644]
arch/microblaze/platform/platform.c [new file with mode: 0644]
arch/mips/include/asm/mach-rc32434/gpio.h
arch/mips/rb532/devices.c
arch/powerpc/include/asm/parport.h
arch/s390/Kconfig
arch/sh/Kconfig
arch/sh/boards/board-ap325rxa.c
arch/sh/boards/board-urquell.c
arch/sh/drivers/pci/ops-sh7785lcr.c
arch/sh/drivers/pci/pci-sh7780.h
arch/sh/drivers/pci/pci.c
arch/sh/include/asm/dma-mapping.h
arch/sh/include/asm/scatterlist.h
arch/sh/include/asm/topology.h
arch/sh/include/asm/unistd_32.h
arch/sh/include/asm/unistd_64.h
arch/sh/kernel/cpu/sh4a/setup-sh7786.c
arch/sh/kernel/syscalls_32.S
arch/sh/kernel/syscalls_64.S
arch/sh/mm/consistent.c
arch/sparc/include/asm/parport.h
arch/x86/include/asm/io.h
arch/x86/include/asm/processor.h
arch/x86/include/asm/required-features.h
arch/x86/include/asm/sigcontext.h
arch/x86/include/asm/xen/page.h
arch/x86/include/asm/xsave.h
arch/x86/kernel/apic/io_apic.c
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
arch/x86/kernel/mpparse.c
arch/x86/kernel/xsave.c
arch/x86/mm/gup.c
arch/x86/mm/ioremap.c
arch/x86/mm/pat.c
arch/x86/xen/enlighten.c
arch/x86/xen/mmu.c
arch/x86/xen/mmu.h
arch/x86/xen/smp.c
arch/x86/xen/xen-ops.h
drivers/ata/ahci.c
drivers/ata/libata-core.c
drivers/ata/sata_via.c
drivers/atm/solos-pci.c
drivers/block/cciss.c
drivers/char/agp/intel-agp.c
drivers/char/sysrq.c
drivers/edac/edac_core.h
drivers/edac/edac_device.c
drivers/edac/edac_mc.c
drivers/edac/edac_pci.c
drivers/hwmon/Kconfig
drivers/hwmon/Makefile
drivers/hwmon/hp_accel.c
drivers/hwmon/sht15.c [new file with mode: 0644]
drivers/i2c/algos/i2c-algo-pca.c
drivers/i2c/busses/Kconfig
drivers/i2c/i2c-core.c
drivers/input/input.c
drivers/input/keyboard/atkbd.c
drivers/input/keyboard/bf54x-keys.c
drivers/input/keyboard/hilkbd.c
drivers/input/misc/Kconfig
drivers/input/misc/Makefile
drivers/input/misc/ati_remote2.c
drivers/input/misc/rb532_button.c [new file with mode: 0644]
drivers/input/misc/rotary_encoder.c [new file with mode: 0644]
drivers/input/mouse/Kconfig
drivers/input/mouse/Makefile
drivers/input/mouse/hgpk.c
drivers/input/mouse/maplemouse.c [new file with mode: 0644]
drivers/input/mouse/pc110pad.c
drivers/input/serio/i8042-x86ia64io.h
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/Makefile
drivers/input/touchscreen/ad7877.c [new file with mode: 0644]
drivers/input/touchscreen/ad7879.c [new file with mode: 0644]
drivers/input/touchscreen/mainstone-wm97xx.c
drivers/input/touchscreen/ucb1400_ts.c
drivers/input/touchscreen/wm97xx-core.c
drivers/input/touchscreen/zylonite-wm97xx.c [new file with mode: 0644]
drivers/leds/leds-gpio.c
drivers/misc/eeprom/at24.c
drivers/misc/eeprom/at25.c
drivers/misc/sgi-xp/xpc.h
drivers/misc/sgi-xp/xpc_channel.c
drivers/misc/sgi-xp/xpc_main.c
drivers/misc/sgi-xp/xpc_partition.c
drivers/misc/sgi-xp/xpc_sn2.c
drivers/misc/sgi-xp/xpc_uv.c
drivers/net/atl1c/atl1c_main.c
drivers/net/benet/be_main.c
drivers/net/jme.c
drivers/net/wireless/ath9k/pci.c
drivers/net/wireless/p54/p54pci.c
drivers/parisc/superio.c
drivers/pci/dmar.c
drivers/pci/intel-iommu.c
drivers/scsi/3w-9xxx.c
drivers/scsi/aacraid/aachba.c
drivers/scsi/lpfc/lpfc_scsi.c
drivers/scsi/mpt2sas/mpt2sas_base.c
drivers/scsi/scsi_priv.h
drivers/scsi/scsi_wait_scan.c
drivers/serial/Kconfig
drivers/sh/intc.c
drivers/spi/spi.c
drivers/staging/b3dfg/b3dfg.c
drivers/usb/class/cdc-acm.c
drivers/usb/otg/nop-usb-xceiv.c
drivers/usb/serial/ti_usb_3410_5052.c
drivers/video/aty/radeon_base.c
drivers/video/backlight/backlight.c
drivers/video/backlight/lcd.c
drivers/video/cirrusfb.c
drivers/video/console/fbcon.c
drivers/video/efifb.c
drivers/video/fbmem.c
drivers/video/intelfb/intelfb.h
drivers/video/intelfb/intelfb_i2c.c
drivers/video/intelfb/intelfbdrv.c
drivers/video/intelfb/intelfbhw.c
drivers/video/s3fb.c
drivers/video/sa1100fb.c
drivers/video/sa1100fb.h
drivers/video/sis/sis_main.c
drivers/video/skeletonfb.c
drivers/video/uvesafb.c
drivers/video/vfb.c
drivers/watchdog/Kconfig
drivers/watchdog/Makefile
drivers/watchdog/at91rm9200_wdt.c
drivers/watchdog/i6300esb.c
drivers/watchdog/ks8695_wdt.c
drivers/watchdog/omap_wdt.c
drivers/watchdog/orion5x_wdt.c
drivers/xen/cpu_hotplug.c
drivers/xen/manage.c
fs/ext2/inode.c
fs/hfs/inode.c
fs/hfs/mdb.c
fs/jbd/revoke.c
fs/xfs/linux-2.6/xfs_aops.c
fs/xfs/linux-2.6/xfs_aops.h
fs/xfs/linux-2.6/xfs_buf.c
fs/xfs/linux-2.6/xfs_fs_subr.c
fs/xfs/linux-2.6/xfs_lrw.c
fs/xfs/linux-2.6/xfs_sync.c
fs/xfs/linux-2.6/xfs_sync.h
fs/xfs/xfs_iget.c
fs/xfs/xfs_iomap.c
fs/xfs/xfs_iomap.h
fs/xfs/xfs_log.c
fs/xfs/xfs_mount.h
fs/xfs/xfs_vnodeops.c
include/asm-generic/percpu.h
include/asm-generic/siginfo.h
include/drm/drm_pciids.h
include/linux/capability.h
include/linux/debug_locks.h
include/linux/fb.h
include/linux/fiemap.h
include/linux/i2c.h
include/linux/init_task.h
include/linux/pci_ids.h
include/linux/percpu.h
include/linux/rotary_encoder.h [new file with mode: 0644]
include/linux/sht15.h [new file with mode: 0644]
include/linux/spi/ad7879.h [new file with mode: 0644]
include/linux/stringify.h
include/linux/usb/serial.h
include/scsi/scsi_scan.h [new file with mode: 0644]
include/video/cyblafb.h [deleted file]
init/Kconfig
init/initramfs.c
ipc/mq_sysctl.c
kernel/mutex.c
kernel/panic.c
kernel/power/disk.c
kernel/power/user.c
kernel/ptrace.c
kernel/sys.c
kernel/sysctl.c
kernel/trace/Kconfig
kernel/trace/trace.c
kernel/trace/trace_events.c
kernel/trace/trace_events_filter.c
kernel/trace/trace_events_stage_2.h
lib/debug_locks.c
mm/Kconfig
mm/filemap.c
mm/memcontrol.c
mm/shmem.c
mm/util.c
scripts/Makefile.headersinst
scripts/gen_initramfs_list.sh
scripts/get_maintainer.pl [new file with mode: 0755]
scripts/headerdep.pl
scripts/kconfig/kxgettext.c
scripts/mod/modpost.c
scripts/setlocalversion
security/tomoyo/common.c
security/tomoyo/common.h
security/tomoyo/domain.c
security/tomoyo/file.c
security/tomoyo/realpath.c
security/tomoyo/realpath.h
security/tomoyo/tomoyo.c
security/tomoyo/tomoyo.h
sound/pci/hda/hda_intel.c

index bf9c16b64c34feff4087a6b83b78995d213bcc96..cf11736acb76a9e9822b1fc52a11165476f1671e 100644 (file)
@@ -1,4 +1,4 @@
-What:           /debug/pktcdvd/pktcdvd[0-7]
+What:           /sys/kernel/debug/pktcdvd/pktcdvd[0-7]
 Date:           Oct. 2006
 KernelVersion:  2.6.20
 Contact:        Thomas Maier <balagi@justmail.de>
@@ -10,10 +10,10 @@ debugfs interface
 The pktcdvd module (packet writing driver) creates
 these files in debugfs:
 
-/debug/pktcdvd/pktcdvd[0-7]/
+/sys/kernel/debug/pktcdvd/pktcdvd[0-7]/
     info            (0444) Lots of driver statistics and infos.
 
 Example:
 -------
 
-cat /debug/pktcdvd/pktcdvd0/info
+cat /sys/kernel/debug/pktcdvd/pktcdvd0/info
index a3a83d38f96fa44a1d17d917e297959cce5036fc..8918a32c6b3a567903d02d87aad5577f2c13a12c 100644 (file)
@@ -31,7 +31,7 @@ PS_METHOD     = $(prefer-db2x)
 
 ###
 # The targets that may be used.
-PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs
+PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs
 
 BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
 xmldocs: $(BOOKS)
@@ -213,11 +213,12 @@ silent_gen_xml = :
 dochelp:
        @echo  ' Linux kernel internal documentation in different formats:'
        @echo  '  htmldocs        - HTML'
-       @echo  '  installmandocs  - install man pages generated by mandocs'
-       @echo  '  mandocs         - man pages'
        @echo  '  pdfdocs         - PDF'
        @echo  '  psdocs          - Postscript'
        @echo  '  xmldocs         - XML DocBook'
+       @echo  '  mandocs         - man pages'
+       @echo  '  installmandocs  - install man pages generated by mandocs'
+       @echo  '  cleandocs       - clean all generated DocBook files'
 
 ###
 # Temporary files left by various tools
@@ -235,6 +236,10 @@ clean-files := $(DOCBOOKS) \
 
 clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man
 
+cleandocs:
+       $(Q)rm -f $(call objectify, $(clean-files))
+       $(Q)rm -rf $(call objectify, $(clean-dirs))
+
 # Declare the contents of the .PHONY variable as phony.  We keep that
 # information in a variable se we can use it in if_changed and friends.
 
index a98a7fe7aabb6aa165c0d334770123ac41ebf9a4..1a608877b14e074cfc2a7fe4def001aa70e47b2b 100644 (file)
@@ -6,15 +6,14 @@ used here with the memory controller that is used in hardware.
 
 Salient features
 
-a. Enable control of both RSS (mapped) and Page Cache (unmapped) pages
+a. Enable control of Anonymous, Page Cache (mapped and unmapped) and
+   Swap Cache memory pages.
 b. The infrastructure allows easy addition of other types of memory to control
 c. Provides *zero overhead* for non memory controller users
 d. Provides a double LRU: global memory pressure causes reclaim from the
    global LRU; a cgroup on hitting a limit, reclaims from the per
    cgroup LRU
 
-NOTE: Swap Cache (unmapped) is not accounted now.
-
 Benefits and Purpose of the memory controller
 
 The memory controller isolates the memory behaviour of a group of tasks
@@ -290,34 +289,44 @@ will be charged as a new owner of it.
   moved to the parent. If you want to avoid that, force_empty will be useful.
 
 5.2 stat file
-  memory.stat file includes following statistics (now)
-       cache                   - # of pages from page-cache and shmem.
-       rss                     - # of pages from anonymous memory.
-       pgpgin                  - # of event of charging
-       pgpgout                 - # of event of uncharging
-       active_anon             - # of pages on active lru of anon, shmem.
-       inactive_anon           - # of pages on active lru of anon, shmem
-       active_file             - # of pages on active lru of file-cache
-       inactive_file           - # of pages on inactive lru of file cache
-       unevictable             - # of pages cannot be reclaimed.(mlocked etc)
-
-       Below is depend on CONFIG_DEBUG_VM.
-       inactive_ratio          - VM internal parameter. (see mm/page_alloc.c)
-       recent_rotated_anon     - VM internal parameter. (see mm/vmscan.c)
-       recent_rotated_file     - VM internal parameter. (see mm/vmscan.c)
-       recent_scanned_anon     - VM internal parameter. (see mm/vmscan.c)
-       recent_scanned_file     - VM internal parameter. (see mm/vmscan.c)
-
-  Memo:
+
+memory.stat file includes following statistics
+
+cache          - # of bytes of page cache memory.
+rss            - # of bytes of anonymous and swap cache memory.
+pgpgin         - # of pages paged in (equivalent to # of charging events).
+pgpgout                - # of pages paged out (equivalent to # of uncharging events).
+active_anon    - # of bytes of anonymous and  swap cache memory on active
+                 lru list.
+inactive_anon  - # of bytes of anonymous memory and swap cache memory on
+                 inactive lru list.
+active_file    - # of bytes of file-backed memory on active lru list.
+inactive_file  - # of bytes of file-backed memory on inactive lru list.
+unevictable    - # of bytes of memory that cannot be reclaimed (mlocked etc).
+
+The following additional stats are dependent on CONFIG_DEBUG_VM.
+
+inactive_ratio         - VM internal parameter. (see mm/page_alloc.c)
+recent_rotated_anon    - VM internal parameter. (see mm/vmscan.c)
+recent_rotated_file    - VM internal parameter. (see mm/vmscan.c)
+recent_scanned_anon    - VM internal parameter. (see mm/vmscan.c)
+recent_scanned_file    - VM internal parameter. (see mm/vmscan.c)
+
+Memo:
        recent_rotated means recent frequency of lru rotation.
        recent_scanned means recent # of scans to lru.
        showing for better debug please see the code for meanings.
 
+Note:
+       Only anonymous and swap cache memory is listed as part of 'rss' stat.
+       This should not be confused with the true 'resident set size' or the
+       amount of physical memory used by the cgroup. Per-cgroup rss
+       accounting is not done yet.
 
 5.3 swappiness
   Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only.
 
-  Following cgroup's swapiness can't be changed.
+  Following cgroups' swapiness can't be changed.
   - root cgroup (uses /proc/sys/vm/swappiness).
   - a cgroup which uses hierarchy and it has child cgroup.
   - a cgroup which uses hierarchy and not the root of hierarchy.
index f196ac1d7d2526507a55ff6bc70f903fcc9ee56d..95b24d766eab755ac443f095ff613a638494bafb 100644 (file)
@@ -47,13 +47,18 @@ to work with it.
 
 2. Basic accounting routines
 
- a. void res_counter_init(struct res_counter *rc)
+ a. void res_counter_init(struct res_counter *rc,
+                               struct res_counter *rc_parent)
 
        Initializes the resource counter. As usual, should be the first
        routine called for a new counter.
 
- b. int res_counter_charge[_locked]
-                       (struct res_counter *rc, unsigned long val)
+       The struct res_counter *parent can be used to define a hierarchical
+       child -> parent relationship directly in the res_counter structure,
+       NULL can be used to define no relationship.
+
+ c. int res_counter_charge(struct res_counter *rc, unsigned long val,
+                               struct res_counter **limit_fail_at)
 
        When a resource is about to be allocated it has to be accounted
        with the appropriate resource counter (controller should determine
@@ -67,15 +72,25 @@ to work with it.
          * if the charging is performed first, then it should be uncharged
            on error path (if the one is called).
 
- c. void res_counter_uncharge[_locked]
+       If the charging fails and a hierarchical dependency exists, the
+       limit_fail_at parameter is set to the particular res_counter element
+       where the charging failed.
+
+ d. int res_counter_charge_locked
+                       (struct res_counter *rc, unsigned long val)
+
+       The same as res_counter_charge(), but it must not acquire/release the
+       res_counter->lock internally (it must be called with res_counter->lock
+       held).
+
+ e. void res_counter_uncharge[_locked]
                        (struct res_counter *rc, unsigned long val)
 
        When a resource is released (freed) it should be de-accounted
        from the resource counter it was accounted to.  This is called
        "uncharging".
 
-    The _locked routines imply that the res_counter->lock is taken.
-
+       The _locked routines imply that the res_counter->lock is taken.
 
  2.1 Other accounting routines
 
index 7e2af10e82645570a7ad426bc3e73ea3b6497ea7..de491a3e23131001c7e308e30aa12f8326159f69 100644 (file)
@@ -428,3 +428,12 @@ Why:       In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
        After a reasonable transition period, we will remove the legacy
        fakephp interface.
 Who:   Alex Chiang <achiang@hp.com>
+
+---------------------------
+
+What:  i2c-voodoo3 driver
+When:  October 2009
+Why:   Superseded by tdfxfb. I2C/DDC support used to live in a separate
+       driver but this caused driver conflicts.
+Who:   Jean Delvare <khali@linux-fr.org>
+       Krzysztof Helt <krzysztof.h1@wp.pl>
diff --git a/Documentation/input/rotary-encoder.txt b/Documentation/input/rotary-encoder.txt
new file mode 100644 (file)
index 0000000..435102a
--- /dev/null
@@ -0,0 +1,101 @@
+rotary-encoder - a generic driver for GPIO connected devices
+Daniel Mack <daniel@caiaq.de>, Feb 2009
+
+0. Function
+-----------
+
+Rotary encoders are devices which are connected to the CPU or other
+peripherals with two wires. The outputs are phase-shifted by 90 degrees
+and by triggering on falling and rising edges, the turn direction can
+be determined.
+
+The phase diagram of these two outputs look like this:
+
+                  _____       _____       _____
+                 |     |     |     |     |     |
+  Channel A  ____|     |_____|     |_____|     |____
+
+                 :  :  :  :  :  :  :  :  :  :  :  :
+            __       _____       _____       _____
+              |     |     |     |     |     |     |
+  Channel B   |_____|     |_____|     |_____|     |__
+
+                 :  :  :  :  :  :  :  :  :  :  :  :
+  Event          a  b  c  d  a  b  c  d  a  b  c  d
+
+                |<-------->|
+                 one step
+
+
+For more information, please see
+       http://en.wikipedia.org/wiki/Rotary_encoder
+
+
+1. Events / state machine
+-------------------------
+
+a) Rising edge on channel A, channel B in low state
+       This state is used to recognize a clockwise turn
+
+b) Rising edge on channel B, channel A in high state
+       When entering this state, the encoder is put into 'armed' state,
+       meaning that there it has seen half the way of a one-step transition.
+
+c) Falling edge on channel A, channel B in high state
+       This state is used to recognize a counter-clockwise turn
+
+d) Falling edge on channel B, channel A in low state
+       Parking position. If the encoder enters this state, a full transition
+       should have happend, unless it flipped back on half the way. The
+       'armed' state tells us about that.
+
+2. Platform requirements
+------------------------
+
+As there is no hardware dependent call in this driver, the platform it is
+used with must support gpiolib. Another requirement is that IRQs must be
+able to fire on both edges.
+
+
+3. Board integration
+--------------------
+
+To use this driver in your system, register a platform_device with the
+name 'rotary-encoder' and associate the IRQs and some specific platform
+data with it.
+
+struct rotary_encoder_platform_data is declared in
+include/linux/rotary-encoder.h and needs to be filled with the number of
+steps the encoder has and can carry information about externally inverted
+signals (because of used invertig buffer or other reasons).
+
+Because GPIO to IRQ mapping is platform specific, this information must
+be given in seperately to the driver. See the example below.
+
+---------<snip>---------
+
+/* board support file example */
+
+#include <linux/input.h>
+#include <linux/rotary_encoder.h>
+
+#define GPIO_ROTARY_A 1
+#define GPIO_ROTARY_B 2
+
+static struct rotary_encoder_platform_data my_rotary_encoder_info = {
+       .steps          = 24,
+       .axis           = ABS_X,
+       .gpio_a         = GPIO_ROTARY_A,
+       .gpio_b         = GPIO_ROTARY_B,
+       .inverted_a     = 0,
+       .inverted_b     = 0,
+};
+
+static struct platform_device rotary_encoder_device = {
+       .name           = "rotary-encoder",
+       .id             = 0,
+       .dev            = {
+               .platform_data = &my_rotary_encoder_info,
+       }
+};
+
index 51104f9194a54feb64058f4b8f35f3b4d7cbc88f..d4b05672f9f76f3a17bde1c3599c23182ca8d361 100644 (file)
@@ -40,10 +40,16 @@ This document describes the Linux kernel Makefiles.
           --- 6.7 Custom kbuild commands
           --- 6.8 Preprocessing linker scripts
 
-       === 7 Kbuild Variables
-       === 8 Makefile language
-       === 9 Credits
-       === 10 TODO
+       === 7 Kbuild syntax for exported headers
+               --- 7.1 header-y
+               --- 7.2 objhdr-y
+               --- 7.3 destination-y
+               --- 7.4 unifdef-y (deprecated)
+
+       === 8 Kbuild Variables
+       === 9 Makefile language
+       === 10 Credits
+       === 11 TODO
 
 === 1 Overview
 
@@ -1143,8 +1149,69 @@ When kbuild executes, the following steps are followed (roughly):
        The kbuild infrastructure for *lds file are used in several
        architecture-specific files.
 
+=== 7 Kbuild syntax for exported headers
+
+The kernel include a set of headers that is exported to userspace.
+Many headers can be exported as-is but other headers requires  a
+minimal pre-processing before they are ready for user-space.
+The pre-processing does:
+- drop kernel specific annotations
+- drop include of compiler.h
+- drop all sections that is kernel internat (guarded by ifdef __KERNEL__)
+
+Each relevant directory contain a file name "Kbuild" which specify the
+headers to be exported.
+See subsequent chapter for the syntax of the Kbuild file.
+
+       --- 7.1 header-y
+
+       header-y specify header files to be exported.
+
+               Example:
+                       #include/linux/Kbuild
+                       header-y += usb/
+                       header-y += aio_abi.h
+
+       The convention is to list one file per line and
+       preferably in alphabetic order.
+
+       header-y also specify which subdirectories to visit.
+       A subdirectory is identified by a trailing '/' which
+       can be seen in the example above for the usb subdirectory.
+
+       Subdirectories are visited before their parent directories.
+
+       --- 7.2 objhdr-y
+
+       objhdr-y specifies generated files to be exported.
+       Generated files are special as they need to be looked
+       up in another directory when doing 'make O=...' builds.
+
+               Example:
+                       #include/linux/Kbuild
+                       objhdr-y += version.h
+
+       --- 7.3 destination-y
+
+       When an architecture have a set of exported headers that needs to be
+       exported to a different directory destination-y is used.
+       destination-y specify the destination directory for all exported
+       headers in the file where it is present.
+
+               Example:
+                       #arch/xtensa/platforms/s6105/include/platform/Kbuild
+                       destination-y := include/linux
+
+       In the example above all exported headers in the Kbuild file
+       will be located in the directory "include/linux" when exported.
+
+
+       --- 7.4 unifdef-y (deprecated)
+
+       unifdef-y is deprecated. A direct replacement is header-y.
+
 
-=== 7 Kbuild Variables
+=== 8 Kbuild Variables
 
 The top Makefile exports the following variables:
 
@@ -1206,7 +1273,7 @@ The top Makefile exports the following variables:
        INSTALL_MOD_STRIP will used as the option(s) to the strip command.
 
 
-=== 8 Makefile language
+=== 9 Makefile language
 
 The kernel Makefiles are designed to be run with GNU Make.  The Makefiles
 use only the documented features of GNU Make, but they do use many
@@ -1225,14 +1292,14 @@ time the left-hand side is used.
 There are some cases where "=" is appropriate.  Usually, though, ":="
 is the right choice.
 
-=== 9 Credits
+=== 10 Credits
 
 Original version made by Michael Elizabeth Chastain, <mailto:mec@shout.net>
 Updates by Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
 Updates by Sam Ravnborg <sam@ravnborg.org>
 Language QA by Jan Engelhardt <jengelh@gmx.de>
 
-=== 10 TODO
+=== 11 TODO
 
 - Describe how kbuild supports shipped files with _shipped.
 - Generating offset header files.
index 42f43fa59f24c75c1f553dc5078f88b949302fd9..34c76a55bc0423182db5c73f76415503e2a7de1d 100644 (file)
@@ -42,6 +42,14 @@ sure that bitwise types don't get mixed up (little-endian vs big-endian
 vs cpu-endian vs whatever), and there the constant "0" really _is_
 special.
 
+__bitwise__ - to be used for relatively compact stuff (gfp_t, etc.) that
+is mostly warning-free and is supposed to stay that way.  Warnings will
+be generated without __CHECK_ENDIAN__.
+
+__bitwise - noisy stuff; in particular, __le*/__be* are that.  We really
+don't want to drown in noise unless we'd explicitly asked for it.
+
+
 Getting sparse
 ~~~~~~~~~~~~~~
 
index a34d55b65441a3cd2469efe71438b60ce3c53e4e..df38ef046f8d1372ef2ff0d45debb7b15c04f64c 100644 (file)
@@ -95,7 +95,7 @@ of struct cmsghdr structures with appended data.
 
 There is only one file in this directory.
 unix_dgram_qlen limits the max number of datagrams queued in Unix domain
-socket's buffer. It will not take effect unless PF_UNIX flag is spicified.
+socket's buffer. It will not take effect unless PF_UNIX flag is specified.
 
 
 3. /proc/sys/net/ipv4 - IPV4 settings
diff --git a/Documentation/tomoyo.txt b/Documentation/tomoyo.txt
new file mode 100644 (file)
index 0000000..b3a232c
--- /dev/null
@@ -0,0 +1,55 @@
+--- What is TOMOYO? ---
+
+TOMOYO is a name-based MAC extension (LSM module) for the Linux kernel.
+
+LiveCD-based tutorials are available at
+http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/ubuntu8.04-live/
+http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/centos5-live/ .
+Though these tutorials use non-LSM version of TOMOYO, they are useful for you
+to know what TOMOYO is.
+
+--- How to enable TOMOYO? ---
+
+Build the kernel with CONFIG_SECURITY_TOMOYO=y and pass "security=tomoyo" on
+kernel's command line.
+
+Please see http://tomoyo.sourceforge.jp/en/2.2.x/ for details.
+
+--- Where is documentation? ---
+
+User <-> Kernel interface documentation is available at
+http://tomoyo.sourceforge.jp/en/2.2.x/policy-reference.html .
+
+Materials we prepared for seminars and symposiums are available at
+http://sourceforge.jp/projects/tomoyo/docs/?category_id=532&language_id=1 .
+Below lists are chosen from three aspects.
+
+What is TOMOYO?
+  TOMOYO Linux Overview
+    http://sourceforge.jp/projects/tomoyo/docs/lca2009-takeda.pdf
+  TOMOYO Linux: pragmatic and manageable security for Linux
+    http://sourceforge.jp/projects/tomoyo/docs/freedomhectaipei-tomoyo.pdf
+  TOMOYO Linux: A Practical Method to Understand and Protect Your Own Linux Box
+    http://sourceforge.jp/projects/tomoyo/docs/PacSec2007-en-no-demo.pdf
+
+What can TOMOYO do?
+  Deep inside TOMOYO Linux
+    http://sourceforge.jp/projects/tomoyo/docs/lca2009-kumaneko.pdf
+  The role of "pathname based access control" in security.
+    http://sourceforge.jp/projects/tomoyo/docs/lfj2008-bof.pdf
+
+History of TOMOYO?
+  Realities of Mainlining
+    http://sourceforge.jp/projects/tomoyo/docs/lfj2008.pdf
+
+--- What is future plan? ---
+
+We believe that inode based security and name based security are complementary
+and both should be used together. But unfortunately, so far, we cannot enable
+multiple LSM modules at the same time. We feel sorry that you have to give up
+SELinux/SMACK/AppArmor etc. when you want to use TOMOYO.
+
+We hope that LSM becomes stackable in future. Meanwhile, you can use non-LSM
+version of TOMOYO, available at http://tomoyo.sourceforge.jp/en/1.6.x/ .
+LSM version of TOMOYO is a subset of non-LSM version of TOMOYO. We are planning
+to port non-LSM version's functionalities to LSM versions.
index 2131b00b63f68bc071f8a479de25bbfd2fd4172e..2f77ced35df71550db59439efefad0a3045957d3 100644 (file)
@@ -1,5 +1,7 @@
 00-INDEX
        - this file.
+active_mm.txt
+       - An explanation from Linus about tsk->active_mm vs tsk->mm.
 balance
        - various information on memory balancing.
 hugetlbpage.txt
diff --git a/Documentation/vm/active_mm.txt b/Documentation/vm/active_mm.txt
new file mode 100644 (file)
index 0000000..4ee1f64
--- /dev/null
@@ -0,0 +1,83 @@
+List:       linux-kernel
+Subject:    Re: active_mm
+From:       Linus Torvalds <torvalds () transmeta ! com>
+Date:       1999-07-30 21:36:24
+
+Cc'd to linux-kernel, because I don't write explanations all that often,
+and when I do I feel better about more people reading them.
+
+On Fri, 30 Jul 1999, David Mosberger wrote:
+>
+> Is there a brief description someplace on how "mm" vs. "active_mm" in
+> the task_struct are supposed to be used?  (My apologies if this was
+> discussed on the mailing lists---I just returned from vacation and
+> wasn't able to follow linux-kernel for a while).
+
+Basically, the new setup is:
+
+ - we have "real address spaces" and "anonymous address spaces". The
+   difference is that an anonymous address space doesn't care about the
+   user-level page tables at all, so when we do a context switch into an
+   anonymous address space we just leave the previous address space
+   active.
+
+   The obvious use for a "anonymous address space" is any thread that
+   doesn't need any user mappings - all kernel threads basically fall into
+   this category, but even "real" threads can temporarily say that for
+   some amount of time they are not going to be interested in user space,
+   and that the scheduler might as well try to avoid wasting time on
+   switching the VM state around. Currently only the old-style bdflush
+   sync does that.
+
+ - "tsk->mm" points to the "real address space". For an anonymous process,
+   tsk->mm will be NULL, for the logical reason that an anonymous process
+   really doesn't _have_ a real address space at all.
+
+ - however, we obviously need to keep track of which address space we
+   "stole" for such an anonymous user. For that, we have "tsk->active_mm",
+   which shows what the currently active address space is.
+
+   The rule is that for a process with a real address space (ie tsk->mm is
+   non-NULL) the active_mm obviously always has to be the same as the real
+   one.
+
+   For a anonymous process, tsk->mm == NULL, and tsk->active_mm is the
+   "borrowed" mm while the anonymous process is running. When the
+   anonymous process gets scheduled away, the borrowed address space is
+   returned and cleared.
+
+To support all that, the "struct mm_struct" now has two counters: a
+"mm_users" counter that is how many "real address space users" there are,
+and a "mm_count" counter that is the number of "lazy" users (ie anonymous
+users) plus one if there are any real users.
+
+Usually there is at least one real user, but it could be that the real
+user exited on another CPU while a lazy user was still active, so you do
+actually get cases where you have a address space that is _only_ used by
+lazy users. That is often a short-lived state, because once that thread
+gets scheduled away in favour of a real thread, the "zombie" mm gets
+released because "mm_users" becomes zero.
+
+Also, a new rule is that _nobody_ ever has "init_mm" as a real MM any
+more. "init_mm" should be considered just a "lazy context when no other
+context is available", and in fact it is mainly used just at bootup when
+no real VM has yet been created. So code that used to check
+
+       if (current->mm == &init_mm)
+
+should generally just do
+
+       if (!current->mm)
+
+instead (which makes more sense anyway - the test is basically one of "do
+we have a user context", and is generally done by the page fault handler
+and things like that).
+
+Anyway, I put a pre-patch-2.3.13-1 on ftp.kernel.org just a moment ago,
+because it slightly changes the interfaces to accomodate the alpha (who
+would have thought it, but the alpha actually ends up having one of the
+ugliest context switch codes - unlike the other architectures where the MM
+and register state is separate, the alpha PALcode joins the two, and you
+need to switch both together).
+
+(From http://marc.info/?l=linux-kernel&m=93337278602211&w=2)
index 0706a7282a8ca6ce26b39fd7d7d7c930d6891c94..2d70d0d95108e2ceb23af366e6d3169ca1101e7f 100644 (file)
-
-This document describes the Linux memory management "Unevictable LRU"
-infrastructure and the use of this infrastructure to manage several types
-of "unevictable" pages.  The document attempts to provide the overall
-rationale behind this mechanism and the rationale for some of the design
-decisions that drove the implementation.  The latter design rationale is
-discussed in the context of an implementation description.  Admittedly, one
-can obtain the implementation details--the "what does it do?"--by reading the
-code.  One hopes that the descriptions below add value by provide the answer
-to "why does it do that?".
-
-Unevictable LRU Infrastructure:
-
-The Unevictable LRU adds an additional LRU list to track unevictable pages
-and to hide these pages from vmscan.  This mechanism is based on a patch by
-Larry Woodman of Red Hat to address several scalability problems with page
+                       ==============================
+                       UNEVICTABLE LRU INFRASTRUCTURE
+                       ==============================
+
+========
+CONTENTS
+========
+
+ (*) The Unevictable LRU
+
+     - The unevictable page list.
+     - Memory control group interaction.
+     - Marking address spaces unevictable.
+     - Detecting Unevictable Pages.
+     - vmscan's handling of unevictable pages.
+
+ (*) mlock()'d pages.
+
+     - History.
+     - Basic management.
+     - mlock()/mlockall() system call handling.
+     - Filtering special vmas.
+     - munlock()/munlockall() system call handling.
+     - Migrating mlocked pages.
+     - mmap(MAP_LOCKED) system call handling.
+     - munmap()/exit()/exec() system call handling.
+     - try_to_unmap().
+     - try_to_munlock() reverse map scan.
+     - Page reclaim in shrink_*_list().
+
+
+============
+INTRODUCTION
+============
+
+This document describes the Linux memory manager's "Unevictable LRU"
+infrastructure and the use of this to manage several types of "unevictable"
+pages.
+
+The document attempts to provide the overall rationale behind this mechanism
+and the rationale for some of the design decisions that drove the
+implementation.  The latter design rationale is discussed in the context of an
+implementation description.  Admittedly, one can obtain the implementation
+details - the "what does it do?" - by reading the code.  One hopes that the
+descriptions below add value by provide the answer to "why does it do that?".
+
+
+===================
+THE UNEVICTABLE LRU
+===================
+
+The Unevictable LRU facility adds an additional LRU list to track unevictable
+pages and to hide these pages from vmscan.  This mechanism is based on a patch
+by Larry Woodman of Red Hat to address several scalability problems with page
 reclaim in Linux.  The problems have been observed at customer sites on large
-memory x86_64 systems.  For example, a non-numal x86_64 platform with 128GB
-of main memory will have over 32 million 4k pages in a single zone.  When a
-large fraction of these pages are not evictable for any reason [see below],
-vmscan will spend a lot of time scanning the LRU lists looking for the small
-fraction of pages that are evictable.  This can result in a situation where
-all cpus are spending 100% of their time in vmscan for hours or days on end,
-with the system completely unresponsive.
-
-The Unevictable LRU infrastructure addresses the following classes of
-unevictable pages:
-
-+ page owned by ramfs
-+ page mapped into SHM_LOCKed shared memory regions
-+ page mapped into VM_LOCKED [mlock()ed] vmas
-
-The infrastructure might be able to handle other conditions that make pages
+memory x86_64 systems.
+
+To illustrate this with an example, a non-NUMA x86_64 platform with 128GB of
+main memory will have over 32 million 4k pages in a single zone.  When a large
+fraction of these pages are not evictable for any reason [see below], vmscan
+will spend a lot of time scanning the LRU lists looking for the small fraction
+of pages that are evictable.  This can result in a situation where all CPUs are
+spending 100% of their time in vmscan for hours or days on end, with the system
+completely unresponsive.
+
+The unevictable list addresses the following classes of unevictable pages:
+
+ (*) Those owned by ramfs.
+
+ (*) Those mapped into SHM_LOCK'd shared memory regions.
+
+ (*) Those mapped into VM_LOCKED [mlock()ed] VMAs.
+
+The infrastructure may also be able to handle other conditions that make pages
 unevictable, either by definition or by circumstance, in the future.
 
 
-The Unevictable LRU List
+THE UNEVICTABLE PAGE LIST
+-------------------------
 
 The Unevictable LRU infrastructure consists of an additional, per-zone, LRU list
 called the "unevictable" list and an associated page flag, PG_unevictable, to
-indicate that the page is being managed on the unevictable list.  The
-PG_unevictable flag is analogous to, and mutually exclusive with, the PG_active
-flag in that it indicates on which LRU list a page resides when PG_lru is set.
-The unevictable LRU list is source configurable based on the UNEVICTABLE_LRU
-Kconfig option.
+indicate that the page is being managed on the unevictable list.
+
+The PG_unevictable flag is analogous to, and mutually exclusive with, the
+PG_active flag in that it indicates on which LRU list a page resides when
+PG_lru is set.  The unevictable list is compile-time configurable based on the
+UNEVICTABLE_LRU Kconfig option.
 
 The Unevictable LRU infrastructure maintains unevictable pages on an additional
 LRU list for a few reasons:
 
-1) We get to "treat unevictable pages just like we treat other pages in the
-   system, which means we get to use the same code to manipulate them, the
-   same code to isolate them (for migrate, etc.), the same code to keep track
-   of the statistics, etc..." [Rik van Riel]
+ (1) We get to "treat unevictable pages just like we treat other pages in the
+     system - which means we get to use the same code to manipulate them, the
+     same code to isolate them (for migrate, etc.), the same code to keep track
+     of the statistics, etc..." [Rik van Riel]
+
+ (2) We want to be able to migrate unevictable pages between nodes for memory
+     defragmentation, workload management and memory hotplug.  The linux kernel
+     can only migrate pages that it can successfully isolate from the LRU
+     lists.  If we were to maintain pages elsewhere than on an LRU-like list,
+     where they can be found by isolate_lru_page(), we would prevent their
+     migration, unless we reworked migration code to find the unevictable pages
+     itself.
 
-2) We want to be able to migrate unevictable pages between nodes--for memory
-   defragmentation, workload management and memory hotplug.  The linux kernel
-   can only migrate pages that it can successfully isolate from the lru lists.
-   If we were to maintain pages elsewise than on an lru-like list, where they
-   can be found by isolate_lru_page(), we would prevent their migration, unless
-   we reworked migration code to find the unevictable pages.
 
+The unevictable list does not differentiate between file-backed and anonymous,
+swap-backed pages.  This differentiation is only important while the pages are,
+in fact, evictable.
 
-The unevictable LRU list does not differentiate between file backed and swap
-backed [anon] pages.  This differentiation is only important while the pages
-are, in fact, evictable.
+The unevictable list benefits from the "arrayification" of the per-zone LRU
+lists and statistics originally proposed and posted by Christoph Lameter.
 
-The unevictable LRU list benefits from the "arrayification" of the per-zone
-LRU lists and statistics originally proposed and posted by Christoph Lameter.
+The unevictable list does not use the LRU pagevec mechanism. Rather,
+unevictable pages are placed directly on the page's zone's unevictable list
+under the zone lru_lock.  This allows us to prevent the stranding of pages on
+the unevictable list when one task has the page isolated from the LRU and other
+tasks are changing the "evictability" state of the page.
 
-The unevictable list does not use the lru pagevec mechanism. Rather,
-unevictable pages are placed directly on the page's zone's unevictable
-list under the zone lru_lock.  The reason for this is to prevent stranding
-of pages on the unevictable list when one task has the page isolated from the
-lru and other tasks are changing the "evictability" state of the page.
 
+MEMORY CONTROL GROUP INTERACTION
+--------------------------------
 
-Unevictable LRU and Memory Controller Interaction
+The unevictable LRU facility interacts with the memory control group [aka
+memory controller; see Documentation/cgroups/memory.txt] by extending the
+lru_list enum.
+
+The memory controller data structure automatically gets a per-zone unevictable
+list as a result of the "arrayification" of the per-zone LRU lists (one per
+lru_list enum element).  The memory controller tracks the movement of pages to
+and from the unevictable list.
 
-The memory controller data structure automatically gets a per zone unevictable
-lru list as a result of the "arrayification" of the per-zone LRU lists.  The
-memory controller tracks the movement of pages to and from the unevictable list.
 When a memory control group comes under memory pressure, the controller will
 not attempt to reclaim pages on the unevictable list.  This has a couple of
-effects.  Because the pages are "hidden" from reclaim on the unevictable list,
-the reclaim process can be more efficient, dealing only with pages that have
-a chance of being reclaimed.  On the other hand, if too many of the pages
-charged to the control group are unevictable, the evictable portion of the
-working set of the tasks in the control group may not fit into the available
-memory.  This can cause the control group to thrash or to oom-kill tasks.
-
-
-Unevictable LRU:  Detecting Unevictable Pages
-
-The function page_evictable(page, vma) in vmscan.c determines whether a
-page is evictable or not.  For ramfs pages and pages in SHM_LOCKed regions,
-page_evictable() tests a new address space flag, AS_UNEVICTABLE, in the page's
-address space using a wrapper function.  Wrapper functions are used to set,
-clear and test the flag to reduce the requirement for #ifdef's throughout the
-source code.  AS_UNEVICTABLE is set on ramfs inode/mapping when it is created.
-This flag remains for the life of the inode.
-
-For shared memory regions, AS_UNEVICTABLE is set when an application
-successfully SHM_LOCKs the region and is removed when the region is
-SHM_UNLOCKed.  Note that shmctl(SHM_LOCK, ...) does not populate the page
-tables for the region as does, for example, mlock().   So, we make no special
-effort to push any pages in the SHM_LOCKed region to the unevictable list.
-Vmscan will do this when/if it encounters the pages during reclaim.  On
-SHM_UNLOCK, shmctl() scans the pages in the region and "rescues" them from the
-unevictable list if no other condition keeps them unevictable.  If a SHM_LOCKed
-region is destroyed, the pages are also "rescued" from the unevictable list in
-the process of freeing them.
-
-page_evictable() detects mlock()ed pages by testing an additional page flag,
-PG_mlocked via the PageMlocked() wrapper.  If the page is NOT mlocked, and a
-non-NULL vma is supplied, page_evictable() will check whether the vma is
+effects:
+
+ (1) Because the pages are "hidden" from reclaim on the unevictable list, the
+     reclaim process can be more efficient, dealing only with pages that have a
+     chance of being reclaimed.
+
+ (2) On the other hand, if too many of the pages charged to the control group
+     are unevictable, the evictable portion of the working set of the tasks in
+     the control group may not fit into the available memory.  This can cause
+     the control group to thrash or to OOM-kill tasks.
+
+
+MARKING ADDRESS SPACES UNEVICTABLE
+----------------------------------
+
+For facilities such as ramfs none of the pages attached to the address space
+may be evicted.  To prevent eviction of any such pages, the AS_UNEVICTABLE
+address space flag is provided, and this can be manipulated by a filesystem
+using a number of wrapper functions:
+
+ (*) void mapping_set_unevictable(struct address_space *mapping);
+
+       Mark the address space as being completely unevictable.
+
+ (*) void mapping_clear_unevictable(struct address_space *mapping);
+
+       Mark the address space as being evictable.
+
+ (*) int mapping_unevictable(struct address_space *mapping);
+
+       Query the address space, and return true if it is completely
+       unevictable.
+
+These are currently used in two places in the kernel:
+
+ (1) By ramfs to mark the address spaces of its inodes when they are created,
+     and this mark remains for the life of the inode.
+
+ (2) By SYSV SHM to mark SHM_LOCK'd address spaces until SHM_UNLOCK is called.
+
+     Note that SHM_LOCK is not required to page in the locked pages if they're
+     swapped out; the application must touch the pages manually if it wants to
+     ensure they're in memory.
+
+
+DETECTING UNEVICTABLE PAGES
+---------------------------
+
+The function page_evictable() in vmscan.c determines whether a page is
+evictable or not using the query function outlined above [see section "Marking
+address spaces unevictable"] to check the AS_UNEVICTABLE flag.
+
+For address spaces that are so marked after being populated (as SHM regions
+might be), the lock action (eg: SHM_LOCK) can be lazy, and need not populate
+the page tables for the region as does, for example, mlock(), nor need it make
+any special effort to push any pages in the SHM_LOCK'd area to the unevictable
+list.  Instead, vmscan will do this if and when it encounters the pages during
+a reclamation scan.
+
+On an unlock action (such as SHM_UNLOCK), the unlocker (eg: shmctl()) must scan
+the pages in the region and "rescue" them from the unevictable list if no other
+condition is keeping them unevictable.  If an unevictable region is destroyed,
+the pages are also "rescued" from the unevictable list in the process of
+freeing them.
+
+page_evictable() also checks for mlocked pages by testing an additional page
+flag, PG_mlocked (as wrapped by PageMlocked()).  If the page is NOT mlocked,
+and a non-NULL VMA is supplied, page_evictable() will check whether the VMA is
 VM_LOCKED via is_mlocked_vma().  is_mlocked_vma() will SetPageMlocked() and
 update the appropriate statistics if the vma is VM_LOCKED.  This method allows
 efficient "culling" of pages in the fault path that are being faulted in to
-VM_LOCKED vmas.
+VM_LOCKED VMAs.
 
 
-Unevictable Pages and Vmscan [shrink_*_list()]
+VMSCAN'S HANDLING OF UNEVICTABLE PAGES
+--------------------------------------
 
 If unevictable pages are culled in the fault path, or moved to the unevictable
-list at mlock() or mmap() time, vmscan will never encounter the pages until
-they have become evictable again, for example, via munlock() and have been
-"rescued" from the unevictable list.  However, there may be situations where we
-decide, for the sake of expediency, to leave a unevictable page on one of the
-regular active/inactive LRU lists for vmscan to deal with.  Vmscan checks for
-such pages in all of the shrink_{active|inactive|page}_list() functions and
-will "cull" such pages that it encounters--that is, it diverts those pages to
-the unevictable list for the zone being scanned.
-
-There may be situations where a page is mapped into a VM_LOCKED vma, but the
-page is not marked as PageMlocked.  Such pages will make it all the way to
+list at mlock() or mmap() time, vmscan will not encounter the pages until they
+have become evictable again (via munlock() for example) and have been "rescued"
+from the unevictable list.  However, there may be situations where we decide,
+for the sake of expediency, to leave a unevictable page on one of the regular
+active/inactive LRU lists for vmscan to deal with.  vmscan checks for such
+pages in all of the shrink_{active|inactive|page}_list() functions and will
+"cull" such pages that it encounters: that is, it diverts those pages to the
+unevictable list for the zone being scanned.
+
+There may be situations where a page is mapped into a VM_LOCKED VMA, but the
+page is not marked as PG_mlocked.  Such pages will make it all the way to
 shrink_page_list() where they will be detected when vmscan walks the reverse
-map in try_to_unmap().  If try_to_unmap() returns SWAP_MLOCK, shrink_page_list()
-will cull the page at that point.
+map in try_to_unmap().  If try_to_unmap() returns SWAP_MLOCK,
+shrink_page_list() will cull the page at that point.
 
-To "cull" an unevictable page, vmscan simply puts the page back on the lru
-list using putback_lru_page()--the inverse operation to isolate_lru_page()--
-after dropping the page lock.  Because the condition which makes the page
-unevictable may change once the page is unlocked, putback_lru_page() will
-recheck the unevictable state of a page that it places on the unevictable lru
-list.  If the page has become unevictable, putback_lru_page() removes it from
-the list and retries, including the page_unevictable() test.  Because such a
-race is a rare event and movement of pages onto the unevictable list should be
-rare, these extra evictabilty checks should not occur in the majority of calls
-to putback_lru_page().
+To "cull" an unevictable page, vmscan simply puts the page back on the LRU list
+using putback_lru_page() - the inverse operation to isolate_lru_page() - after
+dropping the page lock.  Because the condition which makes the page unevictable
+may change once the page is unlocked, putback_lru_page() will recheck the
+unevictable state of a page that it places on the unevictable list.  If the
+page has become unevictable, putback_lru_page() removes it from the list and
+retries, including the page_unevictable() test.  Because such a race is a rare
+event and movement of pages onto the unevictable list should be rare, these
+extra evictabilty checks should not occur in the majority of calls to
+putback_lru_page().
 
 
-Mlocked Page:  Prior Work
+=============
+MLOCKED PAGES
+=============
 
-The "Unevictable Mlocked Pages" infrastructure is based on work originally
+The unevictable page list is also useful for mlock(), in addition to ramfs and
+SYSV SHM.  Note that mlock() is only available in CONFIG_MMU=y situations; in
+NOMMU situations, all mappings are effectively mlocked.
+
+
+HISTORY
+-------
+
+The "Unevictable mlocked Pages" infrastructure is based on work originally
 posted by Nick Piggin in an RFC patch entitled "mm: mlocked pages off LRU".
-Nick posted his patch as an alternative to a patch posted by Christoph
-Lameter to achieve the same objective--hiding mlocked pages from vmscan.
-In Nick's patch, he used one of the struct page lru list link fields as a count
-of VM_LOCKED vmas that map the page.  This use of the link field for a count
-prevented the management of the pages on an LRU list.  Thus, mlocked pages were
-not migratable as isolate_lru_page() could not find them and the lru list link
-field was not available to the migration subsystem.  Nick resolved this by
-putting mlocked pages back on the lru list before attempting to isolate them,
-thus abandoning the count of VM_LOCKED vmas.  When Nick's patch was integrated
-with the Unevictable LRU work, the count was replaced by walking the reverse
-map to determine whether any VM_LOCKED vmas mapped the page.  More on this
-below.
-
-
-Mlocked Pages:  Basic Management
-
-Mlocked pages--pages mapped into a VM_LOCKED vma--represent one class of
-unevictable pages.  When such a page has been "noticed" by the memory
-management subsystem, the page is marked with the PG_mlocked [PageMlocked()]
-flag.  A PageMlocked() page will be placed on the unevictable LRU list when
-it is added to the LRU.   Pages can be "noticed" by memory management in
-several places:
-
-1) in the mlock()/mlockall() system call handlers.
-2) in the mmap() system call handler when mmap()ing a region with the
-   MAP_LOCKED flag, or mmap()ing a region in a task that has called
-   mlockall() with the MCL_FUTURE flag.  Both of these conditions result
-   in the VM_LOCKED flag being set for the vma.
-3) in the fault path, if mlocked pages are "culled" in the fault path,
-   and when a VM_LOCKED stack segment is expanded.
-4) as mentioned above, in vmscan:shrink_page_list() when attempting to
-   reclaim a page in a VM_LOCKED vma via try_to_unmap().
-
-Mlocked pages become unlocked and rescued from the unevictable list when:
-
-1) mapped in a range unlocked via the munlock()/munlockall() system calls.
-2) munmapped() out of the last VM_LOCKED vma that maps the page, including
-   unmapping at task exit.
-3) when the page is truncated from the last VM_LOCKED vma of an mmap()ed file.
-4) before a page is COWed in a VM_LOCKED vma.
-
-
-Mlocked Pages:  mlock()/mlockall() System Call Handling
+Nick posted his patch as an alternative to a patch posted by Christoph Lameter
+to achieve the same objective: hiding mlocked pages from vmscan.
+
+In Nick's patch, he used one of the struct page LRU list link fields as a count
+of VM_LOCKED VMAs that map the page.  This use of the link field for a count
+prevented the management of the pages on an LRU list, and thus mlocked pages
+were not migratable as isolate_lru_page() could not find them, and the LRU list
+link field was not available to the migration subsystem.
+
+Nick resolved this by putting mlocked pages back on the lru list before
+attempting to isolate them, thus abandoning the count of VM_LOCKED VMAs.  When
+Nick's patch was integrated with the Unevictable LRU work, the count was
+replaced by walking the reverse map to determine whether any VM_LOCKED VMAs
+mapped the page.  More on this below.
+
+
+BASIC MANAGEMENT
+----------------
+
+mlocked pages - pages mapped into a VM_LOCKED VMA - are a class of unevictable
+pages.  When such a page has been "noticed" by the memory management subsystem,
+the page is marked with the PG_mlocked flag.  This can be manipulated using the
+PageMlocked() functions.
+
+A PG_mlocked page will be placed on the unevictable list when it is added to
+the LRU.  Such pages can be "noticed" by memory management in several places:
+
+ (1) in the mlock()/mlockall() system call handlers;
+
+ (2) in the mmap() system call handler when mmapping a region with the
+     MAP_LOCKED flag;
+
+ (3) mmapping a region in a task that has called mlockall() with the MCL_FUTURE
+     flag
+
+ (4) in the fault path, if mlocked pages are "culled" in the fault path,
+     and when a VM_LOCKED stack segment is expanded; or
+
+ (5) as mentioned above, in vmscan:shrink_page_list() when attempting to
+     reclaim a page in a VM_LOCKED VMA via try_to_unmap()
+
+all of which result in the VM_LOCKED flag being set for the VMA if it doesn't
+already have it set.
+
+mlocked pages become unlocked and rescued from the unevictable list when:
+
+ (1) mapped in a range unlocked via the munlock()/munlockall() system calls;
+
+ (2) munmap()'d out of the last VM_LOCKED VMA that maps the page, including
+     unmapping at task exit;
+
+ (3) when the page is truncated from the last VM_LOCKED VMA of an mmapped file;
+     or
+
+ (4) before a page is COW'd in a VM_LOCKED VMA.
+
+
+mlock()/mlockall() SYSTEM CALL HANDLING
+---------------------------------------
 
 Both [do_]mlock() and [do_]mlockall() system call handlers call mlock_fixup()
-for each vma in the range specified by the call.  In the case of mlockall(),
+for each VMA in the range specified by the call.  In the case of mlockall(),
 this is the entire active address space of the task.  Note that mlock_fixup()
-is used for both mlock()ing and munlock()ing a range of memory.  A call to
-mlock() an already VM_LOCKED vma, or to munlock() a vma that is not VM_LOCKED
-is treated as a no-op--mlock_fixup() simply returns.
-
-If the vma passes some filtering described in "Mlocked Pages:  Filtering Vmas"
-below, mlock_fixup() will attempt to merge the vma with its neighbors or split
-off a subset of the vma if the range does not cover the entire vma.  Once the
-vma has been merged or split or neither, mlock_fixup() will call
-__mlock_vma_pages_range() to fault in the pages via get_user_pages() and
-to mark the pages as mlocked via mlock_vma_page().
-
-Note that the vma being mlocked might be mapped with PROT_NONE.  In this case,
-get_user_pages() will be unable to fault in the pages.  That's OK.  If pages
-do end up getting faulted into this VM_LOCKED vma, we'll handle them in the
+is used for both mlocking and munlocking a range of memory.  A call to mlock()
+an already VM_LOCKED VMA, or to munlock() a VMA that is not VM_LOCKED is
+treated as a no-op, and mlock_fixup() simply returns.
+
+If the VMA passes some filtering as described in "Filtering Special Vmas"
+below, mlock_fixup() will attempt to merge the VMA with its neighbors or split
+off a subset of the VMA if the range does not cover the entire VMA.  Once the
+VMA has been merged or split or neither, mlock_fixup() will call
+__mlock_vma_pages_range() to fault in the pages via get_user_pages() and to
+mark the pages as mlocked via mlock_vma_page().
+
+Note that the VMA being mlocked might be mapped with PROT_NONE.  In this case,
+get_user_pages() will be unable to fault in the pages.  That's okay.  If pages
+do end up getting faulted into this VM_LOCKED VMA, we'll handle them in the
 fault path or in vmscan.
 
 Also note that a page returned by get_user_pages() could be truncated or
-migrated out from under us, while we're trying to mlock it.  To detect
-this, __mlock_vma_pages_range() tests the page_mapping after acquiring
-the page lock.  If the page is still associated with its mapping, we'll
-go ahead and call mlock_vma_page().  If the mapping is gone, we just
-unlock the page and move on.  Worse case, this results in page mapped
-in a VM_LOCKED vma remaining on a normal LRU list without being
-PageMlocked().  Again, vmscan will detect and cull such pages.
-
-mlock_vma_page(), called with the page locked [N.B., not "mlocked"], will
-TestSetPageMlocked() for each page returned by get_user_pages().  We use
-TestSetPageMlocked() because the page might already be mlocked by another
-task/vma and we don't want to do extra work.  We especially do not want to
-count an mlocked page more than once in the statistics.  If the page was
-already mlocked, mlock_vma_page() is done.
+migrated out from under us, while we're trying to mlock it.  To detect this,
+__mlock_vma_pages_range() checks page_mapping() after acquiring the page lock.
+If the page is still associated with its mapping, we'll go ahead and call
+mlock_vma_page().  If the mapping is gone, we just unlock the page and move on.
+In the worst case, this will result in a page mapped in a VM_LOCKED VMA
+remaining on a normal LRU list without being PageMlocked().  Again, vmscan will
+detect and cull such pages.
+
+mlock_vma_page() will call TestSetPageMlocked() for each page returned by
+get_user_pages().  We use TestSetPageMlocked() because the page might already
+be mlocked by another task/VMA and we don't want to do extra work.  We
+especially do not want to count an mlocked page more than once in the
+statistics.  If the page was already mlocked, mlock_vma_page() need do nothing
+more.
 
 If the page was NOT already mlocked, mlock_vma_page() attempts to isolate the
 page from the LRU, as it is likely on the appropriate active or inactive list
-at that time.  If the isolate_lru_page() succeeds, mlock_vma_page() will
-putback the page--putback_lru_page()--which will notice that the page is now
-mlocked and divert the page to the zone's unevictable LRU list.  If
+at that time.  If the isolate_lru_page() succeeds, mlock_vma_page() will put
+back the page - by calling putback_lru_page() - which will notice that the page
+is now mlocked and divert the page to the zone's unevictable list.  If
 mlock_vma_page() is unable to isolate the page from the LRU, vmscan will handle
-it later if/when it attempts to reclaim the page.
+it later if and when it attempts to reclaim the page.
 
 
-Mlocked Pages:  Filtering Special Vmas
+FILTERING SPECIAL VMAS
+----------------------
 
-mlock_fixup() filters several classes of "special" vmas:
+mlock_fixup() filters several classes of "special" VMAs:
 
-1) vmas with VM_IO|VM_PFNMAP set are skipped entirely.  The pages behind
+1) VMAs with VM_IO or VM_PFNMAP set are skipped entirely.  The pages behind
    these mappings are inherently pinned, so we don't need to mark them as
-   mlocked.  In any case, most of the pages have no struct page in which to
-   so mark the page.  Because of this, get_user_pages() will fail for these
-   vmas, so there is no sense in attempting to visit them.
-
-2) vmas mapping hugetlbfs page are already effectively pinned into memory.
-   We don't need nor want to mlock() these pages.  However, to preserve the
-   prior behavior of mlock()--before the unevictable/mlock changes--
-   mlock_fixup() will call make_pages_present() in the hugetlbfs vma range
-   to allocate the huge pages and populate the ptes.
-
-3) vmas with VM_DONTEXPAND|VM_RESERVED are generally user space mappings of
-   kernel pages, such as the vdso page, relay channel pages, etc.  These pages
+   mlocked.  In any case, most of the pages have no struct page in which to so
+   mark the page.  Because of this, get_user_pages() will fail for these VMAs,
+   so there is no sense in attempting to visit them.
+
+2) VMAs mapping hugetlbfs page are already effectively pinned into memory.  We
+   neither need nor want to mlock() these pages.  However, to preserve the
+   prior behavior of mlock() - before the unevictable/mlock changes -
+   mlock_fixup() will call make_pages_present() in the hugetlbfs VMA range to
+   allocate the huge pages and populate the ptes.
+
+3) VMAs with VM_DONTEXPAND or VM_RESERVED are generally userspace mappings of
+   kernel pages, such as the VDSO page, relay channel pages, etc.  These pages
    are inherently unevictable and are not managed on the LRU lists.
-   mlock_fixup() treats these vmas the same as hugetlbfs vmas.  It calls
+   mlock_fixup() treats these VMAs the same as hugetlbfs VMAs.  It calls
    make_pages_present() to populate the ptes.
 
-Note that for all of these special vmas, mlock_fixup() does not set the
+Note that for all of these special VMAs, mlock_fixup() does not set the
 VM_LOCKED flag.  Therefore, we won't have to deal with them later during
-munlock() or munmap()--for example, at task exit.  Neither does mlock_fixup()
-account these vmas against the task's "locked_vm".
-
-Mlocked Pages:  Downgrading the Mmap Semaphore.
-
-mlock_fixup() must be called with the mmap semaphore held for write, because
-it may have to merge or split vmas.  However, mlocking a large region of
-memory can take a long time--especially if vmscan must reclaim pages to
-satisfy the regions requirements.  Faulting in a large region with the mmap
-semaphore held for write can hold off other faults on the address space, in
-the case of a multi-threaded task.  It can also hold off scans of the task's
-address space via /proc.  While testing under heavy load, it was observed that
-the ps(1) command could be held off for many minutes while a large segment was
-mlock()ed down.
-
-To address this issue, and to make the system more responsive during mlock()ing
-of large segments, mlock_fixup() downgrades the mmap semaphore to read mode
-during the call to __mlock_vma_pages_range().  This works fine.  However, the
-callers of mlock_fixup() expect the semaphore to be returned in write mode.
-So, mlock_fixup() "upgrades" the semphore to write mode.  Linux does not
-support an atomic upgrade_sem() call, so mlock_fixup() must drop the semaphore
-and reacquire it in write mode.  In a multi-threaded task, it is possible for
-the task memory map to change while the semaphore is dropped.  Therefore,
-mlock_fixup() looks up the vma at the range start address after reacquiring
-the semaphore in write mode and verifies that it still covers the original
-range.  If not, mlock_fixup() returns an error [-EAGAIN].  All callers of
-mlock_fixup() have been changed to deal with this new error condition.
-
-Note:  when munlocking a region, all of the pages should already be resident--
-unless we have racing threads mlocking() and munlocking() regions.  So,
-unlocking should not have to wait for page allocations nor faults  of any kind.
-Therefore mlock_fixup() does not downgrade the semaphore for munlock().
-
-
-Mlocked Pages:  munlock()/munlockall() System Call Handling
-
-The munlock() and munlockall() system calls are handled by the same functions--
-do_mlock[all]()--as the mlock() and mlockall() system calls with the unlock
-vs lock operation indicated by an argument.  So, these system calls are also
-handled by mlock_fixup().  Again, if called for an already munlock()ed vma,
-mlock_fixup() simply returns.  Because of the vma filtering discussed above,
-VM_LOCKED will not be set in any "special" vmas.  So, these vmas will be
+munlock(), munmap() or task exit.  Neither does mlock_fixup() account these
+VMAs against the task's "locked_vm".
+
+
+munlock()/munlockall() SYSTEM CALL HANDLING
+-------------------------------------------
+
+The munlock() and munlockall() system calls are handled by the same functions -
+do_mlock[all]() - as the mlock() and mlockall() system calls with the unlock vs
+lock operation indicated by an argument.  So, these system calls are also
+handled by mlock_fixup().  Again, if called for an already munlocked VMA,
+mlock_fixup() simply returns.  Because of the VMA filtering discussed above,
+VM_LOCKED will not be set in any "special" VMAs.  So, these VMAs will be
 ignored for munlock.
 
-If the vma is VM_LOCKED, mlock_fixup() again attempts to merge or split off
-the specified range.  The range is then munlocked via the function
-__mlock_vma_pages_range()--the same function used to mlock a vma range--
+If the VMA is VM_LOCKED, mlock_fixup() again attempts to merge or split off the
+specified range.  The range is then munlocked via the function
+__mlock_vma_pages_range() - the same function used to mlock a VMA range -
 passing a flag to indicate that munlock() is being performed.
 
-Because the vma access protections could have been changed to PROT_NONE after
+Because the VMA access protections could have been changed to PROT_NONE after
 faulting in and mlocking pages, get_user_pages() was unreliable for visiting
-these pages for munlocking.  Because we don't want to leave pages mlocked(),
+these pages for munlocking.  Because we don't want to leave pages mlocked,
 get_user_pages() was enhanced to accept a flag to ignore the permissions when
-fetching the pages--all of which should be resident as a result of previous
-mlock()ing.
+fetching the pages - all of which should be resident as a result of previous
+mlocking.
 
 For munlock(), __mlock_vma_pages_range() unlocks individual pages by calling
 munlock_vma_page().  munlock_vma_page() unconditionally clears the PG_mlocked
-flag using TestClearPageMlocked().  As with mlock_vma_page(), munlock_vma_page()
-use the Test*PageMlocked() function to handle the case where the page might
-have already been unlocked by another task.  If the page was mlocked,
-munlock_vma_page() updates that zone statistics for the number of mlocked
-pages.  Note, however, that at this point we haven't checked whether the page
-is mapped by other VM_LOCKED vmas.
-
-We can't call try_to_munlock(), the function that walks the reverse map to check
-for other VM_LOCKED vmas, without first isolating the page from the LRU.
+flag using TestClearPageMlocked().  As with mlock_vma_page(),
+munlock_vma_page() use the Test*PageMlocked() function to handle the case where
+the page might have already been unlocked by another task.  If the page was
+mlocked, munlock_vma_page() updates that zone statistics for the number of
+mlocked pages.  Note, however, that at this point we haven't checked whether
+the page is mapped by other VM_LOCKED VMAs.
+
+We can't call try_to_munlock(), the function that walks the reverse map to
+check for other VM_LOCKED VMAs, without first isolating the page from the LRU.
 try_to_munlock() is a variant of try_to_unmap() and thus requires that the page
-not be on an lru list.  [More on these below.]  However, the call to
-isolate_lru_page() could fail, in which case we couldn't try_to_munlock().
-So, we go ahead and clear PG_mlocked up front, as this might be the only chance
-we have.  If we can successfully isolate the page, we go ahead and
+not be on an LRU list [more on these below].  However, the call to
+isolate_lru_page() could fail, in which case we couldn't try_to_munlock().  So,
+we go ahead and clear PG_mlocked up front, as this might be the only chance we
+have.  If we can successfully isolate the page, we go ahead and
 try_to_munlock(), which will restore the PG_mlocked flag and update the zone
-page statistics if it finds another vma holding the page mlocked.  If we fail
+page statistics if it finds another VMA holding the page mlocked.  If we fail
 to isolate the page, we'll have left a potentially mlocked page on the LRU.
-This is fine, because we'll catch it later when/if vmscan tries to reclaim the
-page.  This should be relatively rare.
-
-Mlocked Pages:  Migrating Them...
-
-A page that is being migrated has been isolated from the lru lists and is
-held locked across unmapping of the page, updating the page's mapping
-[address_space] entry and copying the contents and state, until the
-page table entry has been replaced with an entry that refers to the new
-page.  Linux supports migration of mlocked pages and other unevictable
-pages.  This involves simply moving the PageMlocked and PageUnevictable states
-from the old page to the new page.
-
-Note that page migration can race with mlocking or munlocking of the same
-page.  This has been discussed from the mlock/munlock perspective in the
-respective sections above.  Both processes [migration, m[un]locking], hold
-the page locked.  This provides the first level of synchronization.  Page
-migration zeros out the page_mapping of the old page before unlocking it,
-so m[un]lock can skip these pages by testing the page mapping under page
-lock.
-
-When completing page migration, we place the new and old pages back onto the
-lru after dropping the page lock.  The "unneeded" page--old page on success,
-new page on failure--will be freed when the reference count held by the
-migration process is released.  To ensure that we don't strand pages on the
-unevictable list because of a race between munlock and migration, page
-migration uses the putback_lru_page() function to add migrated pages back to
-the lru.
-
-
-Mlocked Pages:  mmap(MAP_LOCKED) System Call Handling
+This is fine, because we'll catch it later if and if vmscan tries to reclaim
+the page.  This should be relatively rare.
+
+
+MIGRATING MLOCKED PAGES
+-----------------------
+
+A page that is being migrated has been isolated from the LRU lists and is held
+locked across unmapping of the page, updating the page's address space entry
+and copying the contents and state, until the page table entry has been
+replaced with an entry that refers to the new page.  Linux supports migration
+of mlocked pages and other unevictable pages.  This involves simply moving the
+PG_mlocked and PG_unevictable states from the old page to the new page.
+
+Note that page migration can race with mlocking or munlocking of the same page.
+This has been discussed from the mlock/munlock perspective in the respective
+sections above.  Both processes (migration and m[un]locking) hold the page
+locked.  This provides the first level of synchronization.  Page migration
+zeros out the page_mapping of the old page before unlocking it, so m[un]lock
+can skip these pages by testing the page mapping under page lock.
+
+To complete page migration, we place the new and old pages back onto the LRU
+after dropping the page lock.  The "unneeded" page - old page on success, new
+page on failure - will be freed when the reference count held by the migration
+process is released.  To ensure that we don't strand pages on the unevictable
+list because of a race between munlock and migration, page migration uses the
+putback_lru_page() function to add migrated pages back to the LRU.
+
+
+mmap(MAP_LOCKED) SYSTEM CALL HANDLING
+-------------------------------------
 
 In addition the the mlock()/mlockall() system calls, an application can request
-that a region of memory be mlocked using the MAP_LOCKED flag with the mmap()
+that a region of memory be mlocked supplying the MAP_LOCKED flag to the mmap()
 call.  Furthermore, any mmap() call or brk() call that expands the heap by a
 task that has previously called mlockall() with the MCL_FUTURE flag will result
-in the newly mapped memory being mlocked.  Before the unevictable/mlock changes,
-the kernel simply called make_pages_present() to allocate pages and populate
-the page table.
+in the newly mapped memory being mlocked.  Before the unevictable/mlock
+changes, the kernel simply called make_pages_present() to allocate pages and
+populate the page table.
 
 To mlock a range of memory under the unevictable/mlock infrastructure, the
 mmap() handler and task address space expansion functions call
 mlock_vma_pages_range() specifying the vma and the address range to mlock.
-mlock_vma_pages_range() filters vmas like mlock_fixup(), as described above in
-"Mlocked Pages:  Filtering Vmas".  It will clear the VM_LOCKED flag, which will
-have already been set by the caller, in filtered vmas.  Thus these vma's need
-not be visited for munlock when the region is unmapped.
+mlock_vma_pages_range() filters VMAs like mlock_fixup(), as described above in
+"Filtering Special VMAs".  It will clear the VM_LOCKED flag, which will have
+already been set by the caller, in filtered VMAs.  Thus these VMA's need not be
+visited for munlock when the region is unmapped.
 
-For "normal" vmas, mlock_vma_pages_range() calls __mlock_vma_pages_range() to
+For "normal" VMAs, mlock_vma_pages_range() calls __mlock_vma_pages_range() to
 fault/allocate the pages and mlock them.  Again, like mlock_fixup(),
 mlock_vma_pages_range() downgrades the mmap semaphore to read mode before
-attempting to fault/allocate and mlock the pages; and "upgrades" the semaphore
+attempting to fault/allocate and mlock the pages and "upgrades" the semaphore
 back to write mode before returning.
 
-The callers of mlock_vma_pages_range() will have already added the memory
-range to be mlocked to the task's "locked_vm".  To account for filtered vmas,
+The callers of mlock_vma_pages_range() will have already added the memory range
+to be mlocked to the task's "locked_vm".  To account for filtered VMAs,
 mlock_vma_pages_range() returns the number of pages NOT mlocked.  All of the
-callers then subtract a non-negative return value from the task's locked_vm.
-A negative return value represent an error--for example, from get_user_pages()
-attempting to fault in a vma with PROT_NONE access.  In this case, we leave
-the memory range accounted as locked_vm, as the protections could be changed
-later and pages allocated into that region.
+callers then subtract a non-negative return value from the task's locked_vm.  A
+negative return value represent an error - for example, from get_user_pages()
+attempting to fault in a VMA with PROT_NONE access.  In this case, we leave the
+memory range accounted as locked_vm, as the protections could be changed later
+and pages allocated into that region.
 
 
-Mlocked Pages:  munmap()/exit()/exec() System Call Handling
+munmap()/exit()/exec() SYSTEM CALL HANDLING
+-------------------------------------------
 
 When unmapping an mlocked region of memory, whether by an explicit call to
 munmap() or via an internal unmap from exit() or exec() processing, we must
-munlock the pages if we're removing the last VM_LOCKED vma that maps the pages.
+munlock the pages if we're removing the last VM_LOCKED VMA that maps the pages.
 Before the unevictable/mlock changes, mlocking did not mark the pages in any
 way, so unmapping them required no processing.
 
 To munlock a range of memory under the unevictable/mlock infrastructure, the
-munmap() hander and task address space tear down function call
+munmap() handler and task address space call tear down function
 munlock_vma_pages_all().  The name reflects the observation that one always
-specifies the entire vma range when munlock()ing during unmap of a region.
-Because of the vma filtering when mlocking() regions, only "normal" vmas that
+specifies the entire VMA range when munlock()ing during unmap of a region.
+Because of the VMA filtering when mlocking() regions, only "normal" VMAs that
 actually contain mlocked pages will be passed to munlock_vma_pages_all().
 
-munlock_vma_pages_all() clears the VM_LOCKED vma flag and, like mlock_fixup()
+munlock_vma_pages_all() clears the VM_LOCKED VMA flag and, like mlock_fixup()
 for the munlock case, calls __munlock_vma_pages_range() to walk the page table
-for the vma's memory range and munlock_vma_page() each resident page mapped by
-the vma.  This effectively munlocks the page, only if this is the last
-VM_LOCKED vma that maps the page.
-
+for the VMA's memory range and munlock_vma_page() each resident page mapped by
+the VMA.  This effectively munlocks the page, only if this is the last
+VM_LOCKED VMA that maps the page.
 
-Mlocked Page:  try_to_unmap()
 
-[Note:  the code changes represented by this section are really quite small
-compared to the text to describe what happening and why, and to discuss the
-implications.]
+try_to_unmap()
+--------------
 
-Pages can, of course, be mapped into multiple vmas.  Some of these vmas may
+Pages can, of course, be mapped into multiple VMAs.  Some of these VMAs may
 have VM_LOCKED flag set.  It is possible for a page mapped into one or more
-VM_LOCKED vmas not to have the PG_mlocked flag set and therefore reside on one
-of the active or inactive LRU lists.  This could happen if, for example, a
-task in the process of munlock()ing the page could not isolate the page from
-the LRU.  As a result, vmscan/shrink_page_list() might encounter such a page
-as described in "Unevictable Pages and Vmscan [shrink_*_list()]".  To
-handle this situation, try_to_unmap() has been enhanced to check for VM_LOCKED
-vmas while it is walking a page's reverse map.
+VM_LOCKED VMAs not to have the PG_mlocked flag set and therefore reside on one
+of the active or inactive LRU lists.  This could happen if, for example, a task
+in the process of munlocking the page could not isolate the page from the LRU.
+As a result, vmscan/shrink_page_list() might encounter such a page as described
+in section "vmscan's handling of unevictable pages".  To handle this situation,
+try_to_unmap() checks for VM_LOCKED VMAs while it is walking a page's reverse
+map.
 
 try_to_unmap() is always called, by either vmscan for reclaim or for page
-migration, with the argument page locked and isolated from the LRU.  BUG_ON()
-assertions enforce this requirement.  Separate functions handle anonymous and
-mapped file pages, as these types of pages have different reverse map
-mechanisms.
-
-       try_to_unmap_anon()
-
-To unmap anonymous pages, each vma in the list anchored in the anon_vma must be
-visited--at least until a VM_LOCKED vma is encountered.  If the page is being
-unmapped for migration, VM_LOCKED vmas do not stop the process because mlocked
-pages are migratable.  However, for reclaim, if the page is mapped into a
-VM_LOCKED vma, the scan stops.  try_to_unmap() attempts to acquire the mmap
-semphore of the mm_struct to which the vma belongs in read mode.  If this is
-successful, try_to_unmap() will mlock the page via mlock_vma_page()--we
-wouldn't have gotten to try_to_unmap() if the page were already mlocked--and
-will return SWAP_MLOCK, indicating that the page is unevictable.  If the
-mmap semaphore cannot be acquired, we are not sure whether the page is really
-unevictable or not.  In this case, try_to_unmap() will return SWAP_AGAIN.
-
-       try_to_unmap_file() -- linear mappings
-
-Unmapping of a mapped file page works the same, except that the scan visits
-all vmas that maps the page's index/page offset in the page's mapping's
-reverse map priority search tree.  It must also visit each vma in the page's
-mapping's non-linear list, if the list is non-empty.  As for anonymous pages,
-on encountering a VM_LOCKED vma for a mapped file page, try_to_unmap() will
-attempt to acquire the associated mm_struct's mmap semaphore to mlock the page,
-returning SWAP_MLOCK if this is successful, and SWAP_AGAIN, if not.
-
-       try_to_unmap_file() -- non-linear mappings
-
-If a page's mapping contains a non-empty non-linear mapping vma list, then
-try_to_un{map|lock}() must also visit each vma in that list to determine
-whether the page is mapped in a VM_LOCKED vma.  Again, the scan must visit
-all vmas in the non-linear list to ensure that the pages is not/should not be
-mlocked.  If a VM_LOCKED vma is found in the list, the scan could terminate.
-However, there is no easy way to determine whether the page is actually mapped
-in a given vma--either for unmapping or testing whether the VM_LOCKED vma
-actually pins the page.
-
-So, try_to_unmap_file() handles non-linear mappings by scanning a certain
-number of pages--a "cluster"--in each non-linear vma associated with the page's
-mapping, for each file mapped page that vmscan tries to unmap.  If this happens
-to unmap the page we're trying to unmap, try_to_unmap() will notice this on
-return--(page_mapcount(page) == 0)--and return SWAP_SUCCESS.  Otherwise, it
-will return SWAP_AGAIN, causing vmscan to recirculate this page.  We take
-advantage of the cluster scan in try_to_unmap_cluster() as follows:
-
-For each non-linear vma, try_to_unmap_cluster() attempts to acquire the mmap
-semaphore of the associated mm_struct for read without blocking.  If this
-attempt is successful and the vma is VM_LOCKED, try_to_unmap_cluster() will
-retain the mmap semaphore for the scan; otherwise it drops it here.  Then,
-for each page in the cluster, if we're holding the mmap semaphore for a locked
-vma, try_to_unmap_cluster() calls mlock_vma_page() to mlock the page.  This
-call is a no-op if the page is already locked, but will mlock any pages in
-the non-linear mapping that happen to be unlocked.  If one of the pages so
-mlocked is the page passed in to try_to_unmap(), try_to_unmap_cluster() will
-return SWAP_MLOCK, rather than the default SWAP_AGAIN.  This will allow vmscan
-to cull the page, rather than recirculating it on the inactive list.  Again,
-if try_to_unmap_cluster() cannot acquire the vma's mmap sem, it returns
-SWAP_AGAIN, indicating that the page is mapped by a VM_LOCKED vma, but
-couldn't be mlocked.
-
-
-Mlocked pages:  try_to_munlock() Reverse Map Scan
-
-TODO/FIXME:  a better name might be page_mlocked()--analogous to the
-page_referenced() reverse map walker.
-
-When munlock_vma_page()--see "Mlocked Pages:  munlock()/munlockall()
-System Call Handling" above--tries to munlock a page, it needs to
-determine whether or not the page is mapped by any VM_LOCKED vma, without
-actually attempting to unmap all ptes from the page.  For this purpose, the
-unevictable/mlock infrastructure introduced a variant of try_to_unmap() called
-try_to_munlock().
+migration, with the argument page locked and isolated from the LRU.  Separate
+functions handle anonymous and mapped file pages, as these types of pages have
+different reverse map mechanisms.
+
+ (*) try_to_unmap_anon()
+
+     To unmap anonymous pages, each VMA in the list anchored in the anon_vma
+     must be visited - at least until a VM_LOCKED VMA is encountered.  If the
+     page is being unmapped for migration, VM_LOCKED VMAs do not stop the
+     process because mlocked pages are migratable.  However, for reclaim, if
+     the page is mapped into a VM_LOCKED VMA, the scan stops.
+
+     try_to_unmap_anon() attempts to acquire in read mode the mmap semphore of
+     the mm_struct to which the VMA belongs.  If this is successful, it will
+     mlock the page via mlock_vma_page() - we wouldn't have gotten to
+     try_to_unmap_anon() if the page were already mlocked - and will return
+     SWAP_MLOCK, indicating that the page is unevictable.
+
+     If the mmap semaphore cannot be acquired, we are not sure whether the page
+     is really unevictable or not.  In this case, try_to_unmap_anon() will
+     return SWAP_AGAIN.
+
+ (*) try_to_unmap_file() - linear mappings
+
+     Unmapping of a mapped file page works the same as for anonymous mappings,
+     except that the scan visits all VMAs that map the page's index/page offset
+     in the page's mapping's reverse map priority search tree.  It also visits
+     each VMA in the page's mapping's non-linear list, if the list is
+     non-empty.
+
+     As for anonymous pages, on encountering a VM_LOCKED VMA for a mapped file
+     page, try_to_unmap_file() will attempt to acquire the associated
+     mm_struct's mmap semaphore to mlock the page, returning SWAP_MLOCK if this
+     is successful, and SWAP_AGAIN, if not.
+
+ (*) try_to_unmap_file() - non-linear mappings
+
+     If a page's mapping contains a non-empty non-linear mapping VMA list, then
+     try_to_un{map|lock}() must also visit each VMA in that list to determine
+     whether the page is mapped in a VM_LOCKED VMA.  Again, the scan must visit
+     all VMAs in the non-linear list to ensure that the pages is not/should not
+     be mlocked.
+
+     If a VM_LOCKED VMA is found in the list, the scan could terminate.
+     However, there is no easy way to determine whether the page is actually
+     mapped in a given VMA - either for unmapping or testing whether the
+     VM_LOCKED VMA actually pins the page.
+
+     try_to_unmap_file() handles non-linear mappings by scanning a certain
+     number of pages - a "cluster" - in each non-linear VMA associated with the
+     page's mapping, for each file mapped page that vmscan tries to unmap.  If
+     this happens to unmap the page we're trying to unmap, try_to_unmap() will
+     notice this on return (page_mapcount(page) will be 0) and return
+     SWAP_SUCCESS.  Otherwise, it will return SWAP_AGAIN, causing vmscan to
+     recirculate this page.  We take advantage of the cluster scan in
+     try_to_unmap_cluster() as follows:
+
+       For each non-linear VMA, try_to_unmap_cluster() attempts to acquire the
+       mmap semaphore of the associated mm_struct for read without blocking.
+
+       If this attempt is successful and the VMA is VM_LOCKED,
+       try_to_unmap_cluster() will retain the mmap semaphore for the scan;
+       otherwise it drops it here.
+
+       Then, for each page in the cluster, if we're holding the mmap semaphore
+       for a locked VMA, try_to_unmap_cluster() calls mlock_vma_page() to
+       mlock the page.  This call is a no-op if the page is already locked,
+       but will mlock any pages in the non-linear mapping that happen to be
+       unlocked.
+
+       If one of the pages so mlocked is the page passed in to try_to_unmap(),
+       try_to_unmap_cluster() will return SWAP_MLOCK, rather than the default
+       SWAP_AGAIN.  This will allow vmscan to cull the page, rather than
+       recirculating it on the inactive list.
+
+       Again, if try_to_unmap_cluster() cannot acquire the VMA's mmap sem, it
+       returns SWAP_AGAIN, indicating that the page is mapped by a VM_LOCKED
+       VMA, but couldn't be mlocked.
+
+
+try_to_munlock() REVERSE MAP SCAN
+---------------------------------
+
+ [!] TODO/FIXME: a better name might be page_mlocked() - analogous to the
+     page_referenced() reverse map walker.
+
+When munlock_vma_page() [see section "munlock()/munlockall() System Call
+Handling" above] tries to munlock a page, it needs to determine whether or not
+the page is mapped by any VM_LOCKED VMA without actually attempting to unmap
+all PTEs from the page.  For this purpose, the unevictable/mlock infrastructure
+introduced a variant of try_to_unmap() called try_to_munlock().
 
 try_to_munlock() calls the same functions as try_to_unmap() for anonymous and
 mapped file pages with an additional argument specifing unlock versus unmap
 processing.  Again, these functions walk the respective reverse maps looking
-for VM_LOCKED vmas.  When such a vma is found for anonymous pages and file
+for VM_LOCKED VMAs.  When such a VMA is found for anonymous pages and file
 pages mapped in linear VMAs, as in the try_to_unmap() case, the functions
 attempt to acquire the associated mmap semphore, mlock the page via
 mlock_vma_page() and return SWAP_MLOCK.  This effectively undoes the
 pre-clearing of the page's PG_mlocked done by munlock_vma_page.
 
-If try_to_unmap() is unable to acquire a VM_LOCKED vma's associated mmap
-semaphore, it will return SWAP_AGAIN.  This will allow shrink_page_list()
-to recycle the page on the inactive list and hope that it has better luck
-with the page next time.
-
-For file pages mapped into non-linear vmas, the try_to_munlock() logic works
-slightly differently.  On encountering a VM_LOCKED non-linear vma that might
-map the page, try_to_munlock() returns SWAP_AGAIN without actually mlocking
-the page.  munlock_vma_page() will just leave the page unlocked and let
-vmscan deal with it--the usual fallback position.
-
-Note that try_to_munlock()'s reverse map walk must visit every vma in a pages'
-reverse map to determine that a page is NOT mapped into any VM_LOCKED vma.
-However, the scan can terminate when it encounters a VM_LOCKED vma and can
-successfully acquire the vma's mmap semphore for read and mlock the page.
-Although try_to_munlock() can be called many [very many!] times when
-munlock()ing a large region or tearing down a large address space that has been
-mlocked via mlockall(), overall this is a fairly rare event.
-
-Mlocked Page:  Page Reclaim in shrink_*_list()
-
-shrink_active_list() culls any obviously unevictable pages--i.e.,
-!page_evictable(page, NULL)--diverting these to the unevictable lru
-list.  However, shrink_active_list() only sees unevictable pages that
-made it onto the active/inactive lru lists.  Note that these pages do not
-have PageUnevictable set--otherwise, they would be on the unevictable list and
-shrink_active_list would never see them.
+If try_to_unmap() is unable to acquire a VM_LOCKED VMA's associated mmap
+semaphore, it will return SWAP_AGAIN.  This will allow shrink_page_list() to
+recycle the page on the inactive list and hope that it has better luck with the
+page next time.
+
+For file pages mapped into non-linear VMAs, the try_to_munlock() logic works
+slightly differently.  On encountering a VM_LOCKED non-linear VMA that might
+map the page, try_to_munlock() returns SWAP_AGAIN without actually mlocking the
+page.  munlock_vma_page() will just leave the page unlocked and let vmscan deal
+with it - the usual fallback position.
+
+Note that try_to_munlock()'s reverse map walk must visit every VMA in a page's
+reverse map to determine that a page is NOT mapped into any VM_LOCKED VMA.
+However, the scan can terminate when it encounters a VM_LOCKED VMA and can
+successfully acquire the VMA's mmap semphore for read and mlock the page.
+Although try_to_munlock() might be called a great many times when munlocking a
+large region or tearing down a large address space that has been mlocked via
+mlockall(), overall this is a fairly rare event.
+
+
+PAGE RECLAIM IN shrink_*_list()
+-------------------------------
+
+shrink_active_list() culls any obviously unevictable pages - i.e.
+!page_evictable(page, NULL) - diverting these to the unevictable list.
+However, shrink_active_list() only sees unevictable pages that made it onto the
+active/inactive lru lists.  Note that these pages do not have PageUnevictable
+set - otherwise they would be on the unevictable list and shrink_active_list
+would never see them.
 
 Some examples of these unevictable pages on the LRU lists are:
 
-1) ramfs pages that have been placed on the lru lists when first allocated.
+ (1) ramfs pages that have been placed on the LRU lists when first allocated.
+
+ (2) SHM_LOCK'd shared memory pages.  shmctl(SHM_LOCK) does not attempt to
+     allocate or fault in the pages in the shared memory region.  This happens
+     when an application accesses the page the first time after SHM_LOCK'ing
+     the segment.
 
-2) SHM_LOCKed shared memory pages.  shmctl(SHM_LOCK) does not attempt to
-   allocate or fault in the pages in the shared memory region.  This happens
-   when an application accesses the page the first time after SHM_LOCKing
-   the segment.
+ (3) mlocked pages that could not be isolated from the LRU and moved to the
+     unevictable list in mlock_vma_page().
 
-3) Mlocked pages that could not be isolated from the lru and moved to the
-   unevictable list in mlock_vma_page().
+ (4) Pages mapped into multiple VM_LOCKED VMAs, but try_to_munlock() couldn't
+     acquire the VMA's mmap semaphore to test the flags and set PageMlocked.
+     munlock_vma_page() was forced to let the page back on to the normal LRU
+     list for vmscan to handle.
 
-3) Pages mapped into multiple VM_LOCKED vmas, but try_to_munlock() couldn't
-   acquire the vma's mmap semaphore to test the flags and set PageMlocked.
-   munlock_vma_page() was forced to let the page back on to the normal
-   LRU list for vmscan to handle.
+shrink_inactive_list() also diverts any unevictable pages that it finds on the
+inactive lists to the appropriate zone's unevictable list.
 
-shrink_inactive_list() also culls any unevictable pages that it finds on
-the inactive lists, again diverting them to the appropriate zone's unevictable
-lru list.  shrink_inactive_list() should only see SHM_LOCKed pages that became
-SHM_LOCKed after shrink_active_list() had moved them to the inactive list, or
-pages mapped into VM_LOCKED vmas that munlock_vma_page() couldn't isolate from
-the lru to recheck via try_to_munlock().  shrink_inactive_list() won't notice
-the latter, but will pass on to shrink_page_list().
+shrink_inactive_list() should only see SHM_LOCK'd pages that became SHM_LOCK'd
+after shrink_active_list() had moved them to the inactive list, or pages mapped
+into VM_LOCKED VMAs that munlock_vma_page() couldn't isolate from the LRU to
+recheck via try_to_munlock().  shrink_inactive_list() won't notice the latter,
+but will pass on to shrink_page_list().
 
 shrink_page_list() again culls obviously unevictable pages that it could
 encounter for similar reason to shrink_inactive_list().  Pages mapped into
-VM_LOCKED vmas but without PG_mlocked set will make it all the way to
+VM_LOCKED VMAs but without PG_mlocked set will make it all the way to
 try_to_unmap().  shrink_page_list() will divert them to the unevictable list
 when try_to_unmap() returns SWAP_MLOCK, as discussed above.
index 5d843588e1de159958693aee543af4af2e82c6dc..0cb20d8216945751a3a232d2b15ec72f29470e16 100644 (file)
@@ -72,7 +72,6 @@ M: Mail patches to
 L: Mailing list that is relevant to this area
 W: Web-page with status/info
 T: SCM tree type and location.  Type is one of: git, hg, quilt.
-F: Applicable files and/or directories
 S: Status, one of the following:
 
        Supported:      Someone is actually paid to look after this.
@@ -85,23 +84,40 @@ S: Status, one of the following:
                        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 @@ M:  linuxraid@amcc.com
 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 @@ M:        linuxraid@amcc.com
 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 @@ P:        Latchesar Ionkov
 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 @@ M:        aacraid@adaptec.com
 L:     linux-scsi@vger.kernel.org
 W:     http://www.adaptec.com/
 S:     Supported
+F:     Documentation/scsi/aacraid.txt
+F:     drivers/scsi/aacraid/
 
 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 @@ M:        carlos@strangeworlds.co.uk
 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 @@ M:  astarikovskiy@suse.de
 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 @@ M:  astarikovskiy@suse.de
 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 @@ M:        rui.zhang@intel.com
 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 @@ M:  rui.zhang@intel.com
 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 @@ M:  rui.zhang@intel.com
 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 @@ M:  carlos@strangeworlds.co.uk
 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 @@ M:        T-Bone@parisc-linux.org
 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 @@ M:        duncan.sands@free.fr
 L:     linux-usb@vger.kernel.org
 W:     http://www.linux-usb.org/SpeedTouch/
 S:     Maintained
+F:     drivers/usb/atm/speedtch.c
+F:     drivers/usb/atm/usbatm.c
 
 ALCHEMY AU1XX0 MMC DRIVER
 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 @@ P:        Ivan Kokshaysky
 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:     andreas.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 @@ M:  stelian@popies.net
 P:     Michael Hanselmann
 M:     linux-kernel@hansmi.ch
 S:     Supported
+F:     drivers/hwmon/ams/
 
 AMSO1100 RNIC DRIVER
 P:     Tom Tucker
@@ -398,6 +481,7 @@ P:  Steve Wise
 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 @@ M:  johannes@sipsolutions.net
 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 @@ M:        sfr@canb.auug.org.au
 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 @@ ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE
 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)
@@ -643,10 +743,10 @@ 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 @@ L:        linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
 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 @@ L:        acpi4asus-user@lists.sourceforge.net
 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 @@ L:  acpi4asus-user@lists.sourceforge.net
 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 @@ M:        maciej.sosnowski@intel.com
 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 @@ M:  me@bobcopeland.com
 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 @@ M:  jmalinen@atheros.com
 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 @@ ATI_REMOTE2 DRIVER
 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 @@ L:  atl1-devel@lists.sourceforge.net
 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 @@ L:  linux-atm-general@lists.sourceforge.net (subscribers-only)
 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 @@ L:        linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
 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 @@ M:  hskinnemoen@atmel.com
 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 @@ L:  linux-wireless@vger.kernel.org
 W:     http://www.thekelleys.org.uk/atmel
 W:     http://atmelwlandriver.sourceforge.net/
 S:     Maintained
+F:     drivers/net/wireless/atmel*
 
 AUDIT SUBSYSTEM
 P:     Al Viro
@@ -864,8 +990,10 @@ P: Eric Paris
 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 @@ L: linux-kernel@vger.kernel.org
 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 @@ 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 @@ M: ralf@linux-mips.org
 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 @@ M: stefano.brivio@polimi.it
 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 @@ M:       stefano.brivio@polimi.it
 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 @@ M:       t.sailer@alumni.ethz.ch
 L:     linux-hams@vger.kernel.org
 W:     http://www.baycom.org/~tom/ham/ham.html
 S:     Maintained
+F:     drivers/net/hamradio/baycom*
 
 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 @@ M: cooloney@kernel.org
 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 @@ M: cooloney@kernel.org
 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 @@ M: vapier.adi@gmail.com
 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 @@ M: sonic.zhang@analog.com
 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 @@ M: vapier.adi@gmail.com
 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 @@ M:       sonic.zhang@analog.com
 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 @@ M:       marcel@holtmann.org
 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 @@ M:      fubar@us.ibm.com
 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 @@ P:      Michael Chan
 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 @@ M:       jdmason@kudzu.us
 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 @@ M:        oliver.hartkopp@volkswagen.de
 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 @@ L:      linuxppc-dev@ozlabs.org
 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 @@ L:        linux-kernel@vger.kernel.org
 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 @@ L:      linux-kernel@vger.kernel.org
 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 @@ M:      scofeldm@cisco.com
 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 @@ M:        Cirrus Logic Corporation, Thomas Woller <twoller@crystal.cirrus.com>
 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 @@ M:        coda@cs.cmu.edu
 L:     codalist@coda.cs.cmu.edu
 W:     http://www.coda.cs.cmu.edu/
 S:     Maintained
+F:     Documentation/filesystems/coda.txt
+F:     fs/coda/
+F:     include/linux/coda*.h
 
 COMMON INTERNET FILE SYSTEM (CIFS)
 P:     Steve French
@@ -1181,8 +1389,10 @@ M:       sfrench@samba.org
 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 @@ M:        scottm@somanetworks.com
 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 @@ M:        scottm@somanetworks.com
 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 @@ M:      scottm@somanetworks.com
 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 @@ M:      cxacru@fire.lp0.eu
 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 @@ P:      Li Zefan
 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 @@ L:      linux-kernel@vger.kernel.org
 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 @@ M:        jesper.nilsson@axis.com
 L:     dev-etrax@axis.com
 W:     http://developer.axis.com
 S:     Maintained
+F:     arch/cris/
 
 CRYPTO API
 P:     Herbert Xu
@@ -1289,8 +1524,13 @@ M:       herbert@gondor.apana.org.au
 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 @@ CS5535 Audio ALSA driver
 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 @@ M:        divy@chelsio.com
 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 @@ M:      swise@chelsio.com
 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 @@ 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 @@ W:        http://www.garloff.de/kurt/linux/dc390/
 P:     Guennadi Liakhovetski
 M:     g.liakhovetski@gmx.de
 S:     Maintained
+F:     drivers/scsi/tmscsim.*
 
 DC395x SCSI driver
 P:     Oliver Neukum
@@ -1386,6 +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 @@ M:        acme@ghostprotocols.net
 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 @@ M:      christine.caulfield@googlemail.com
 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 @@ P:       Alasdair Kergon
 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 @@ M:      Eng.Linux@digi.com
 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 @@ P:        Jan Kara
 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 @@ P:        David Teigland
 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 @@ P:      Dan Williams
 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 @@ P:      Shaohua Li
 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 @@ M:        aacraid@adaptec.com
 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 @@ M:      gregkh@suse.de
 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,87 +1877,105 @@ L:     ebtables-user@lists.sourceforge.net
 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
 M:     dougthompson@xmission.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Supported
+F:     Documentation/edac.txt
+F:     drivers/edac/edac_*
+F:     include/linux/edac.h
 
 EDAC-E752X
 P:     Mark Gross
 P:     Doug Thompson
 M:     mark.gross@intel.com
 M:     dougthompson@xmission.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/e752x_edac.c
 
 EDAC-E7XXX
 P:     Doug Thompson
 M:     dougthompson@xmission.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/e7xxx_edac.c
 
 EDAC-I82443BXGX
 P:     Tim Small
 M:     tim@buttersideup.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/i82443bxgx_edac.c
 
 EDAC-I3000
 P:     Jason Uhlenkott
 M:     juhlenko@akamai.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/i3000_edac.c
 
 EDAC-I5000
 P:     Doug Thompson
 M:     dougthompson@xmission.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/i5000_edac.c
 
 EDAC-I5400
 P:     Mauro Carvalho Chehab
 M:     mchehab@redhat.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/i5400_edac.c
 
 EDAC-I82975X
 P:     Ranganathan Desikan
 P:     Arvind R.
 M:     rdesikan@jetzbroadband.com
 M:     arvind@acarlab.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/i82975x_edac.c
 
 EDAC-PASEMI
 P:     Egor Martovetsky
 M:     egor@pasemi.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/pasemi_edac.c
 
 EDAC-R82600
 P:     Tim Small
 M:     tim@buttersideup.com
-L:     bluesmoke-devel@lists.sourceforge.net
+L:     bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
 W:     bluesmoke.sourceforge.net
 S:     Maintained
+F:     drivers/edac/r82600_edac.c
 
 EEEPC LAPTOP EXTRAS DRIVER
 P:     Corentin Chary
@@ -1665,10 +1983,12 @@ M:      corentincj@iksaif.net
 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 @@ P:        Christoph Raisch
 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 @@ M:      james.smart@emulex.com
 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 @@ M:     shemminger@linux-foundation.org
 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 @@ M:        adaplas@gmail.com
 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 @@ M:        zw@zh-kernel.org
 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 @@ M:        jochen@scram.de
 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 @@ M:        kernel@pengutronix.de
 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 @@ M:      vbordug@ru.mvista.com
 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 @@ M:        leoli@freescale.com
 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 @@ M:      leoli@freescale.com
 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 @@ M:      timur@freescale.com
 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 @@ P:      Rafael J. Wysocki
 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 @@ M:      miklos@szeredi.hu
 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 @@ M:      achim_leubner@adaptec.com
 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 @@ M:        tilman@imap.cc
 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 @@ M:        frank@f-seidel.de
 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 @@ GSPCA FINEPIX SUBDRIVER
 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 @@ M:      arobinso@nyx.net
 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 @@ M:        fero@drama.obuda.kando.hu
 L:     linux-nvidia@lists.surfsouth.com
 W:     http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml
 S:     Maintained
+F:     drivers/video/hgafb.c
 
 HIBERNATION (aka Software Suspend, aka swsusp)
 P:     Pavel Machek
@@ -2056,19 +2484,32 @@ P:      Rafael J. Wysocki
 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 @@ M:      klaus.kudielka@ieee.org
 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 @@ 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)
-P:     Denis Joseph Barrow
-M:     d.barow@option.com
+HSO 3G MODEM DRIVER
+P:     Jan Dumon
+M:     j.dumon@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 @@ L:      linux-i2c@vger.kernel.org
 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 @@ P:      Tony Luck
 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 @@ P:        Dave Jeffery
 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 @@ M:      bzolnier@gmail.com
 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 @@ P:       Hal Rosenstock
 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 @@ P:      Robert Love
 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 @@ M:      sujith.thomas@intel.com
 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 @@ M:       john.ronciak@intel.com
 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 @@ L:        ipw2100-devel@lists.sourceforge.net
 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 @@ L:        ipw2100-devel@lists.sourceforge.net
 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 @@ M:        linux-wimax@intel.com
 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 @@ M:      reinette.chatre@intel.com
 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 @@ P:        Jesse Huang
 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 @@ M:        infinipath@qlogic.com
 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 @@ M:        minyard@acm.org
 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 @@ M:        aacraid@adaptec.com
 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 @@ M:        ja@ssi.bg
 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 @@ M:      jkosina@suse.cz
 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 @@ M:      samuel@sortiz.org
 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 @@ M:        mac@melware.de
 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 @@ M:      hverkuil@xs4all.nl
 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 @@ M:      dwmw2@infradead.org
 L:     linux-mtd@lists.infradead.org
 W:     http://www.linux-mtd.infradead.org/doc/jffs2.html
 S:     Maintained
+F:     fs/jffs2/
+F:     include/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 @@ L:      kexec@lists.infradead.org
 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 @@ M:       neilb@suse.de
 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 @@ M:       avi@redhat.com
 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 @@ M:        joerg.roedel@amd.com
 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 @@ M:        hollisb@us.ibm.com
 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 @@ M:        xiantao.zhang@intel.com
 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 @@ M:        linux390@de.ibm.com
 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 @@ W:      http://ftp.kernel.org/pub/linux/kernel/people/horms/kexec-tools/
 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 @@ P:        Masami Hiramatsu
 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 @@ L:      linux-kernel@vger.kernel.org
 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 @@ M:        starblue@users.sourceforge.net
 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 @@ M:       rusty@rustcorp.com.au
 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 @@ M:       paulus@au.ibm.com
 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 @@ P:        Paul Mackerras
 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 @@ P:        Matt Porter
 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 @@ LINUX SECURITY MODULE (LSM) FRAMEWORK
 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 @@ M:       peterz@infradead.org
 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 @@ M:        ldm@flatcap.org
 L:     linux-ntfs-dev@lists.sourceforge.net
 W:     http://www.linux-ntfs.org/content/view/19/37/
 S:     Maintained
+F:     Documentation/ldm.txt
+F:     fs/partitions/ldm.*
 
 LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
 P:     Eric Moore
@@ -2843,12 +3479,14 @@ L:      DL-MPTFusionLinux@lsi.com
 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 @@ P:        Mike Frysinger
 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 @@ L:        linux-m32r@ml.linux-m32r.org
 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 @@ P:       Roman Zippel
 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 @@ M:      funaho@jurai.org
 W:     http://www.mac.linux-m68k.org/
 L:     linux-m68k@lists.linux-m68k.org
 S:     Maintained
+F:     arch/m68k/mac/
 
 M68K ON HP9000/300
 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 @@ P:      Mattias Nissler
 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 @@ P:      Dan Williams
 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 @@ P:      Petr Vandrovec
 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 @@ M:      megaraidlinux@lsi.com
 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 @@ M:        kamezawa.hiroyu@jp.fujitsu.com
 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,84 @@ 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
+F:     arch/microblaze/
 
 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 +3754,54 @@ M:      mzxreary@0pointer.de
 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:     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 +3811,27 @@ M:      brice@myri.com
 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 +3848,7 @@ P:        Stephen Hemminger
 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 +3865,8 @@ L:        netdev@vger.kernel.org
 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 +3882,12 @@ L:       coreteam@netfilter.org
 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 +3895,9 @@ M:        paul.moore@hp.com
 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,18 +3905,25 @@ M:      ralf@linux-mips.org
 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
+F:     Documentation/blockdev/nbd.txt
+F:     drivers/block/nbd.c
+F:     include/linux/nbd.h
 
 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
+T:     git git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
 S:     Maintained
+F:     drivers/net/
 
 NETWORKING [GENERAL]
 P:     Networking Team
@@ -3190,6 +3931,8 @@ M:        netdev@vger.kernel.org
 L:     netdev@vger.kernel.org
 W:     http://linux-net.osdl.org/
 S:     Maintained
+F:     net/
+F:     include/net/
 
 NETWORKING [IPv4/IPv6]
 P:     David S. Miller
@@ -3205,8 +3948,11 @@ M:       yoshfuji@linux-ipv6.org
 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 +3964,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 +3976,7 @@ M:        dhananjay@netxen.com
 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 +3985,13 @@ L:       linux-nfs@vger.kernel.org
 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 +4000,7 @@ P:        Andreas Mohr
 M:     andi@lisas.de
 L:     netdev@vger.kernel.org
 S:     Maintained
+F:     drivers/net/ni5010.*
 
 NILFS2 FILESYSTEM
 P:     KONISHI Ryusuke
@@ -3250,12 +4008,17 @@ M:      konishi.ryusuke@lab.ntt.co.jp
 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 +4027,8 @@ 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/nsp32*
 
 NTFS FILESYSTEM
 P:     Anton Altaparmakov
@@ -3271,43 +4036,55 @@ M:      aia21@cantab.net
 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 +4092,25 @@ M:      osst@riede.org
 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 +4121,9 @@ L:        ocfs2-devel@oss.oracle.com (moderated for non-subscribers)
 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 +4135,7 @@ L:        orinoco-users@lists.sourceforge.net
 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 +4144,7 @@ P:        Benny Halevy
 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 +4152,29 @@ P:      Michael Wu
 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 +4184,16 @@ M:      yasutake.koichi@jp.panasonic.com
 L:     linux-am33-list@redhat.com (moderated for non-subscribers)
 W:     ftp://ftp.redhat.com/pub/redhat/gnupro/AM33/
 S:     Maintained
+F:     Documentation/mn10300/
+F:     arch/mn10300/
 
 PARALLEL 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 +4207,9 @@ M:        rusty@rustcorp.com.au
 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 +4217,8 @@ M:        tim@cyberelk.net
 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 +4227,31 @@ P:      Helge Deller
 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 +4259,82 @@ M:      linas@austin.ibm.com
 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 +4342,10 @@ M:       cbou@mail.ru
 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 +4353,42 @@ M:      abelay@mit.edu
 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 +4397,8 @@ L:        linux-kernel@vger.kernel.org
 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 +4406,7 @@ M:        mcgrof@gmail.com
 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 +4419,7 @@ P:        Mikael Pettersson
 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 +4427,7 @@ M:        mokuno@sm.sony.co.jp
 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 +4435,13 @@ M:       geoffrey.levand@am.sony.com
 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 +4455,10 @@ M:       isely@pobox.com
 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 +4467,12 @@ P:       Russell King
 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 +4480,14 @@ M:      eric.miao@marvell.com
 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 +4504,16 @@ P:      Andrew Vasquez
 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 +4521,7 @@ M:        linux-driver@qlogic.com
 M:     ron.mercer@qlogic.com
 L:     netdev@vger.kernel.org
 S:     Supported
+F:     drivers/net/qlge/
 
 QNX4 FILESYSTEM
 P:     Anders Larsen
@@ -3664,18 +4529,24 @@ M:      al@alarsen.net
 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 +4554,43 @@ L:      linux-wireless@vger.kernel.org
 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 +4603,14 @@ P:      Florian Fainelli
 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
 S:     Supported
+F:     net/rds/
 
 READ-COPY UPDATE (RCU)
 P:     Dipankar Sarma
@@ -3738,37 +4618,54 @@ M:      dipankar@in.ibm.com
 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 +4673,38 @@ M:      ralf@linux-mips.org
 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 +4715,7 @@ M:        linux390@de.ibm.com
 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 +4726,7 @@ M:        linux390@de.ibm.com
 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 +4736,7 @@ M:        ralph.wuerthner@de.ibm.com
 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 +4747,8 @@ M:        linux390@de.ibm.com
 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 +4757,9 @@ M:        linux390@de.ibm.com
 L:     linux-s390@vger.kernel.org
 W:     http://www.ibm.com/developerworks/linux/linux390/
 S:     Supported
+F:     drivers/s390/net/*iucv*
+F:     include/net/iucv/
+F:     net/iucv/
 
 S3C24XX SD/MMC Driver
 P:     Ben Dooks
@@ -3856,19 +4767,24 @@ M:      ben-linux@fluff.org
 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
@@ -3877,6 +4793,8 @@ 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 +4802,7 @@ M:        axboe@kernel.dk
 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 +4810,27 @@ M:      dgilbert@interlog.com
 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,27 +4840,41 @@ M:      sri@us.ibm.com
 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
@@ -3949,16 +4888,17 @@ M:      avorontsov@ru.mvista.com
 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 +4913,39 @@ M:      jmorris@namei.org
 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 +4953,22 @@ P:      Ben Hutchings
 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 +4976,13 @@ M:      pazke@donpac.ru
 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
+P:     Robin Holt
+M:     holt@sgi.com
 S:     Maintained
+F:     drivers/misc/sgi-xp/
 
 SHARP LH SUPPORT (LH7952X & LH7A40X)
 P:     Marc Singer
@@ -4035,12 +4990,18 @@ M:      elf@buici.com
 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 +5009,7 @@ P:        Vincent Sanders
 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 +5017,16 @@ P:      Vincent Sanders
 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 +5034,39 @@ M:      venza@brownhat.org
 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 +5077,43 @@ P:      Matt Mackall
 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 +5122,45 @@ L:      linux-altix@sgi.com
 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 +5168,10 @@ M:       malattia@linux.it
 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 +5179,7 @@ M:        oakad@yahoo.com
 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 +5188,44 @@ P:      Takashi Iwai
 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 +5234,8 @@ P:        Jens Osterkamp
 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 +5244,8 @@ L:        linuxppc-dev@ozlabs.org
 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 +5253,15 @@ M:      phillip@lougher.demon.co.uk
 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 +5277,46 @@ M:      gregkh@suse.de
 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:     Documentation/sh/
+F:     arch/sh/
+F:     drivers/sh/
 
 SUSPEND TO RAM
 P:     Len Brown
@@ -4303,29 +5327,48 @@ P:      Rafael J. Wysocki
 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 +5377,7 @@ P:        Hung Hing Lun, Mike
 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 +5386,19 @@ P:      Andy Gospodarek
 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 +5406,17 @@ M:      ibm-acpi@hmh.eng.br
 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 +5424,13 @@ M:      linux-omap@vger.kernel.org
 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 +5442,11 @@ M:       allan.stephens@windriver.com
 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 +5454,8 @@ M:        chessman@tux.org
 L:     tlan-devel@lists.sourceforge.net (subscribers-only)
 W:     http://sourceforge.net/projects/tlan/
 S:     Maintained
+F:     Documentation/networking/tlan.txt
+F:     drivers/net/tlan.*
 
 TOMOYO SECURITY MODULE
 P:     Kentaro Takeda
@@ -4411,9 +5469,11 @@ L:       tomoyo-users@lists.sourceforge.jp (subscribers-only, for users in Japanese)
 W:     http://tomoyo.sourceforge.jp/
 T:     quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.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 +5481,14 @@ M:      jonathan@buzzard.org.uk
 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 +5501,13 @@ M:      m.selhorst@sirrix.com
 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 +5523,7 @@ P:        Kyle McMartin
 M:     kyle@mcmartin.ca
 L:     netdev@vger.kernel.org
 S:     Maintained
+F:     drivers/net/tulip/
 
 TUN/TAP driver
 P:     Maxim Krasnyansky
@@ -4466,17 +5531,22 @@ M:      maxk@qualcomm.com
 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 +5557,8 @@ L:        linux-mtd@lists.infradead.org
 T:     git git://git.infradead.org/ubifs-2.6.git
 W:     http://www.linux-mtd.infradead.org/doc/ubifs.html
 S:     Maintained
+F:     Documentation/filesystems/ubifs.txt
+F:     fs/ubifs/
 
 UCLINUX (AND M68KNOMMU)
 P:     Greg Ungerer
@@ -4494,6 +5566,7 @@ M:        gerg@uclinux.org
 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 +5579,25 @@ P:      Jan Kara
 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 +5605,9 @@ M:        axboe@kernel.dk
 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 +5616,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 +5634,7 @@ M:        zaitcev@redhat.com
 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 +5642,15 @@ M:      greg@kroah.com
 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 +5658,7 @@ M:        jacmet@sunsite.dk
 L:     netdev@vger.kernel.org
 W:     http://www.linux-usb.org/usbnet
 S:     Maintained
+F:     drivers/net/usb/dm9601.c
 
 USB DIAMOND RIO500 DRIVER
 P:     Cesar Miquel