Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask
Linus Torvalds [Sun, 5 Apr 2009 17:33:07 +0000 (10:33 -0700)]
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)
  cpumask: remove cpumask allocation from idle_balance, fix
  numa, cpumask: move numa_node_id default implementation to topology.h, fix
  cpumask: remove cpumask allocation from idle_balance
  x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus
  x86: cpumask: update 32-bit APM not to mug current->cpus_allowed
  x86: microcode: cleanup
  x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c
  cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash
  numa, cpumask: move numa_node_id default implementation to topology.h
  cpumask: convert node_to_cpumask_map[] to cpumask_var_t
  cpumask: remove x86 cpumask_t uses.
  cpumask: use cpumask_var_t in uv_flush_tlb_others.
  cpumask: remove cpumask_t assignment from vector_allocation_domain()
  cpumask: make Xen use the new operators.
  cpumask: clean up summit's send_IPI functions
  cpumask: use new cpumask functions throughout x86
  x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask
  cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t
  cpumask: convert node_to_cpumask_map[] to cpumask_var_t
  x86: unify 32 and 64-bit node_to_cpumask_map
  ...

1566 files changed:
CREDITS
Documentation/00-INDEX
Documentation/ABI/testing/sysfs-bus-pci
Documentation/ABI/testing/sysfs-class-regulator
Documentation/ABI/testing/sysfs-fs-ext4 [new file with mode: 0644]
Documentation/DocBook/.gitignore
Documentation/DocBook/kernel-api.tmpl
Documentation/PCI/MSI-HOWTO.txt
Documentation/PCI/pci-iov-howto.txt [new file with mode: 0644]
Documentation/RCU/listRCU.txt
Documentation/RCU/rcu.txt
Documentation/RCU/rculist_nulls.txt
Documentation/cgroups/00-INDEX [new file with mode: 0644]
Documentation/cgroups/cgroups.txt
Documentation/cgroups/cpusets.txt
Documentation/cgroups/devices.txt
Documentation/cgroups/memcg_test.txt
Documentation/cgroups/memory.txt
Documentation/devices.txt
Documentation/fb/00-INDEX
Documentation/fb/cyblafb/bugs [deleted file]
Documentation/fb/cyblafb/credits [deleted file]
Documentation/fb/cyblafb/documentation [deleted file]
Documentation/fb/cyblafb/fb.modes [deleted file]
Documentation/fb/cyblafb/performance [deleted file]
Documentation/fb/cyblafb/todo [deleted file]
Documentation/fb/cyblafb/usage [deleted file]
Documentation/fb/cyblafb/whatsnew [deleted file]
Documentation/fb/cyblafb/whycyblafb [deleted file]
Documentation/feature-removal-schedule.txt
Documentation/filesystems/Locking
Documentation/filesystems/caching/backend-api.txt [new file with mode: 0644]
Documentation/filesystems/caching/cachefiles.txt [new file with mode: 0644]
Documentation/filesystems/caching/fscache.txt [new file with mode: 0644]
Documentation/filesystems/caching/netfs-api.txt [new file with mode: 0644]
Documentation/filesystems/caching/object.txt [new file with mode: 0644]
Documentation/filesystems/caching/operations.txt [new file with mode: 0644]
Documentation/filesystems/exofs.txt [new file with mode: 0644]
Documentation/filesystems/ext3.txt
Documentation/filesystems/ext4.txt
Documentation/filesystems/proc.txt
Documentation/filesystems/sysfs-pci.txt
Documentation/filesystems/udf.txt
Documentation/gpio.txt
Documentation/hwmon/lis3lv02d
Documentation/hwmon/ltc4215 [new file with mode: 0644]
Documentation/ia64/kvm.txt
Documentation/kernel-parameters.txt
Documentation/md.txt
Documentation/misc-devices/isl29003 [new file with mode: 0644]
Documentation/networking/vxge.txt [new file with mode: 0644]
Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/firmware.txt
Documentation/powerpc/dts-bindings/mmc-spi-slot.txt [new file with mode: 0644]
Documentation/scheduler/sched-rt-group.txt
Documentation/slow-work.txt [new file with mode: 0644]
Documentation/sysctl/00-INDEX
Documentation/sysctl/fs.txt
Documentation/sysctl/kernel.txt
Documentation/sysctl/net.txt [new file with mode: 0644]
Documentation/sysrq.txt
Documentation/vm/numa_memory_policy.txt
Documentation/vm/page_migration
Documentation/x86/x86_64/fake-numa-for-cpusets
MAINTAINERS
arch/alpha/include/asm/machvec.h
arch/alpha/include/asm/pci.h
arch/alpha/include/asm/spinlock.h
arch/alpha/include/asm/system.h
arch/alpha/include/asm/types.h
arch/alpha/include/asm/uaccess.h
arch/alpha/include/asm/xchg.h [new file with mode: 0644]
arch/alpha/kernel/Makefile
arch/alpha/kernel/err_ev6.c
arch/alpha/kernel/err_ev7.c
arch/alpha/kernel/err_marvel.c
arch/alpha/kernel/err_titan.c
arch/alpha/kernel/pci-sysfs.c [new file with mode: 0644]
arch/alpha/kernel/pci.c
arch/alpha/kernel/pci_iommu.c
arch/alpha/kernel/process.c
arch/alpha/kernel/proto.h
arch/alpha/kernel/setup.c
arch/alpha/kernel/smc37c669.c
arch/alpha/kernel/sys_jensen.c
arch/alpha/kernel/sys_sable.c
arch/alpha/kernel/traps.c
arch/arm/boot/compressed/misc.c
arch/arm/configs/omap_ldp_defconfig
arch/arm/configs/pcm037_defconfig
arch/arm/configs/realview-smp_defconfig
arch/arm/configs/realview_defconfig
arch/arm/include/asm/spinlock.h
arch/arm/kernel/process.c
arch/arm/mach-at91/pm.c
arch/arm/mach-gemini/include/mach/system.h
arch/arm/mach-mmp/include/mach/system.h
arch/arm/mach-mx3/pcm037.c
arch/arm/mach-netx/include/mach/netx-regs.h
arch/arm/mach-omap1/Kconfig
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-ldp.c
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-realview/core.c
arch/arm/mach-realview/localtimer.c
arch/arm/mm/abort-ev6.S
arch/arm/mm/cache-feroceon-l2.c
arch/arm/vfp/entry.S
arch/arm/vfp/vfphw.S
arch/arm/vfp/vfpmodule.c
arch/avr32/Kconfig
arch/avr32/kernel/process.c
arch/avr32/mm/fault.c
arch/blackfin/Kconfig
arch/blackfin/kernel/process.c
arch/cris/Kconfig
arch/cris/arch-v10/kernel/process.c
arch/cris/arch-v32/Kconfig
arch/cris/arch-v32/drivers/Kconfig
arch/cris/arch-v32/kernel/process.c
arch/cris/arch-v32/mach-fs/Kconfig
arch/cris/include/arch-v32/arch/spinlock.h
arch/cris/kernel/process.c
arch/frv/kernel/process.c
arch/h8300/kernel/process.c
arch/h8300/kernel/timer/tpu.c
arch/ia64/configs/generic_defconfig
arch/ia64/hp/sim/simserial.c
arch/ia64/include/asm/intrinsics.h
arch/ia64/include/asm/mmu_context.h
arch/ia64/include/asm/module.h
arch/ia64/include/asm/native/inst.h
arch/ia64/include/asm/native/patchlist.h [new file with mode: 0644]
arch/ia64/include/asm/native/pvchk_inst.h
arch/ia64/include/asm/paravirt.h
arch/ia64/include/asm/paravirt_patch.h [new file with mode: 0644]
arch/ia64/include/asm/paravirt_privop.h
arch/ia64/include/asm/smp.h
arch/ia64/include/asm/spinlock.h
arch/ia64/include/asm/timex.h
arch/ia64/include/asm/topology.h
arch/ia64/include/asm/uv/uv_hub.h
arch/ia64/include/asm/uv/uv_mmrs.h
arch/ia64/include/asm/xen/hypervisor.h
arch/ia64/include/asm/xen/inst.h
arch/ia64/include/asm/xen/interface.h
arch/ia64/include/asm/xen/minstate.h
arch/ia64/include/asm/xen/patchlist.h [new file with mode: 0644]
arch/ia64/include/asm/xen/privop.h
arch/ia64/kernel/Makefile
arch/ia64/kernel/Makefile.gate [new file with mode: 0644]
arch/ia64/kernel/acpi.c
arch/ia64/kernel/asm-offsets.c
arch/ia64/kernel/efi.c
arch/ia64/kernel/entry.S
arch/ia64/kernel/fsys.S
arch/ia64/kernel/gate.S
arch/ia64/kernel/gate.lds.S
arch/ia64/kernel/head.S
arch/ia64/kernel/ivt.S
arch/ia64/kernel/mca.c
arch/ia64/kernel/module.c
arch/ia64/kernel/paravirt.c
arch/ia64/kernel/paravirt_patch.c [new file with mode: 0644]
arch/ia64/kernel/paravirt_patchlist.c [new file with mode: 0644]
arch/ia64/kernel/paravirt_patchlist.h [new file with mode: 0644]
arch/ia64/kernel/paravirtentry.S
arch/ia64/kernel/patch.c
arch/ia64/kernel/perfmon.c
arch/ia64/kernel/process.c
arch/ia64/kernel/salinfo.c
arch/ia64/kernel/setup.c
arch/ia64/kernel/smp.c
arch/ia64/kernel/smpboot.c
arch/ia64/kernel/time.c
arch/ia64/kernel/vmlinux.lds.S
arch/ia64/kvm/kvm-ia64.c
arch/ia64/kvm/vcpu.c
arch/ia64/kvm/vtlb.c
arch/ia64/mm/init.c
arch/ia64/mm/tlb.c
arch/ia64/scripts/pvcheck.sed
arch/ia64/sn/kernel/io_common.c
arch/ia64/sn/kernel/io_init.c
arch/ia64/sn/kernel/setup.c
arch/ia64/sn/kernel/sn2/sn2_smp.c
arch/ia64/sn/kernel/sn2/sn_hwperf.c
arch/ia64/sn/pci/pcibr/pcibr_dma.c
arch/ia64/xen/Makefile
arch/ia64/xen/gate-data.S [new file with mode: 0644]
arch/ia64/xen/hypercall.S
arch/ia64/xen/time.c
arch/ia64/xen/xen_pv_ops.c
arch/m32r/kernel/process.c
arch/m68k/include/asm/bootinfo.h
arch/m68k/include/asm/bootinfo_mm.h [deleted file]
arch/m68k/include/asm/bootinfo_no.h [deleted file]
arch/m68k/include/asm/bug.h
arch/m68k/include/asm/bug_mm.h [deleted file]
arch/m68k/include/asm/bug_no.h [deleted file]
arch/m68k/include/asm/bugs.h
arch/m68k/include/asm/bugs_mm.h [deleted file]
arch/m68k/include/asm/bugs_no.h [deleted file]
arch/m68k/include/asm/cache.h
arch/m68k/include/asm/cache_mm.h [deleted file]
arch/m68k/include/asm/cache_no.h [deleted file]
arch/m68k/include/asm/current.h
arch/m68k/include/asm/current_mm.h [deleted file]
arch/m68k/include/asm/current_no.h [deleted file]
arch/m68k/include/asm/div64.h
arch/m68k/include/asm/div64_mm.h [deleted file]
arch/m68k/include/asm/div64_no.h [deleted file]
arch/m68k/include/asm/dma-mapping.h
arch/m68k/include/asm/dma-mapping_mm.h [deleted file]
arch/m68k/include/asm/dma-mapping_no.h [deleted file]
arch/m68k/include/asm/elf.h
arch/m68k/include/asm/elf_mm.h [deleted file]
arch/m68k/include/asm/elf_no.h [deleted file]
arch/m68k/include/asm/fb.h
arch/m68k/include/asm/fb_mm.h [deleted file]
arch/m68k/include/asm/fb_no.h [deleted file]
arch/m68k/include/asm/fpu.h
arch/m68k/include/asm/fpu_mm.h [deleted file]
arch/m68k/include/asm/fpu_no.h [deleted file]
arch/m68k/include/asm/hw_irq.h
arch/m68k/include/asm/hw_irq_mm.h [deleted file]
arch/m68k/include/asm/hw_irq_no.h [deleted file]
arch/m68k/include/asm/kmap_types.h
arch/m68k/include/asm/kmap_types_mm.h [deleted file]
arch/m68k/include/asm/kmap_types_no.h [deleted file]
arch/m68k/include/asm/m532xsim.h
arch/m68k/include/asm/mc146818rtc.h
arch/m68k/include/asm/mc146818rtc_mm.h [deleted file]
arch/m68k/include/asm/mc146818rtc_no.h [deleted file]
arch/m68k/include/asm/mcfpci.h [deleted file]
arch/m68k/include/asm/mmu.h
arch/m68k/include/asm/mmu_context.h
arch/m68k/include/asm/mmu_context_mm.h [deleted file]
arch/m68k/include/asm/mmu_context_no.h [deleted file]
arch/m68k/include/asm/mmu_mm.h [deleted file]
arch/m68k/include/asm/mmu_no.h [deleted file]
arch/m68k/include/asm/module.h
arch/m68k/include/asm/module_mm.h [deleted file]
arch/m68k/include/asm/module_no.h [deleted file]
arch/m68k/include/asm/page_offset.h
arch/m68k/include/asm/page_offset_mm.h [deleted file]
arch/m68k/include/asm/page_offset_no.h [deleted file]
arch/m68k/include/asm/pci.h
arch/m68k/include/asm/pci_mm.h [deleted file]
arch/m68k/include/asm/pci_no.h [deleted file]
arch/m68k/include/asm/pgalloc.h
arch/m68k/include/asm/pgalloc_mm.h [deleted file]
arch/m68k/include/asm/pgalloc_no.h [deleted file]
arch/m68k/include/asm/pgtable_no.h
arch/m68k/include/asm/rtc.h
arch/m68k/include/asm/scatterlist.h
arch/m68k/include/asm/scatterlist_mm.h [deleted file]
arch/m68k/include/asm/scatterlist_no.h [deleted file]
arch/m68k/include/asm/segment.h
arch/m68k/include/asm/segment_mm.h [deleted file]
arch/m68k/include/asm/segment_no.h [deleted file]
arch/m68k/include/asm/timex.h
arch/m68k/include/asm/timex_mm.h [deleted file]
arch/m68k/include/asm/timex_no.h [deleted file]
arch/m68k/include/asm/tlbflush.h
arch/m68k/include/asm/tlbflush_mm.h [deleted file]
arch/m68k/include/asm/tlbflush_no.h [deleted file]
arch/m68k/include/asm/ucontext.h
arch/m68k/include/asm/ucontext_mm.h [deleted file]
arch/m68k/include/asm/ucontext_no.h [deleted file]
arch/m68k/include/asm/unaligned.h
arch/m68k/include/asm/unaligned_mm.h [deleted file]
arch/m68k/include/asm/unaligned_no.h [deleted file]
arch/m68k/kernel/process.c
arch/m68k/kernel/time.c
arch/m68knommu/Makefile
arch/m68knommu/kernel/dma.c
arch/m68knommu/kernel/irq.c
arch/m68knommu/kernel/process.c
arch/m68knommu/mm/init.c
arch/m68knommu/platform/5249/config.c
arch/m68knommu/platform/5307/config.c
arch/m68knommu/platform/5407/config.c
arch/m68knommu/platform/coldfire/Makefile
arch/m68knommu/platform/coldfire/clk.c [new file with mode: 0644]
arch/mips/Kconfig
arch/mips/include/asm/mach-bcm47xx/gpio.h
arch/mips/include/asm/spinlock.h
arch/mips/include/asm/unistd.h
arch/mips/kernel/process.c
arch/mips/kernel/scall32-o32.S
arch/mips/kernel/scall64-64.S
arch/mips/kernel/scall64-n32.S
arch/mips/kernel/scall64-o32.S
arch/mips/mm/highmem.c
arch/mips/sgi-ip27/ip27-smp.c
arch/mn10300/kernel/process.c
arch/parisc/Kconfig
arch/parisc/Makefile
arch/parisc/include/asm/atomic.h
arch/parisc/include/asm/cacheflush.h
arch/parisc/include/asm/elf.h
arch/parisc/include/asm/ftrace.h [new file with mode: 0644]
arch/parisc/include/asm/page.h
arch/parisc/include/asm/pdc.h
arch/parisc/include/asm/pgtable.h
arch/parisc/include/asm/smp.h
arch/parisc/include/asm/spinlock.h
arch/parisc/kernel/Makefile
arch/parisc/kernel/entry.S
arch/parisc/kernel/firmware.c
arch/parisc/kernel/ftrace.c [new file with mode: 0644]
arch/parisc/kernel/irq.c
arch/parisc/kernel/module.c
arch/parisc/kernel/parisc_ksyms.c
arch/parisc/kernel/process.c
arch/parisc/kernel/processor.c
arch/parisc/kernel/smp.c
arch/parisc/kernel/stacktrace.c [new file with mode: 0644]
arch/parisc/kernel/syscall.S
arch/parisc/kernel/time.c
arch/parisc/kernel/traps.c
arch/parisc/kernel/vmlinux.lds.S
arch/parisc/mm/init.c
arch/powerpc/Kconfig
arch/powerpc/Kconfig.debug
arch/powerpc/boot/dts/mpc832x_rdb.dts
arch/powerpc/include/asm/highmem.h
arch/powerpc/include/asm/pci.h
arch/powerpc/include/asm/ps3.h
arch/powerpc/include/asm/spinlock.h
arch/powerpc/include/asm/suspend.h
arch/powerpc/kernel/msi.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/time.c
arch/powerpc/kernel/vio.c
arch/powerpc/platforms/83xx/mpc832x_rdb.c
arch/powerpc/platforms/Kconfig
arch/powerpc/platforms/cell/spufs/inode.c
arch/powerpc/platforms/ps3/os-area.c
arch/powerpc/platforms/ps3/platform.h
arch/powerpc/platforms/ps3/setup.c
arch/powerpc/platforms/ps3/time.c
arch/powerpc/sysdev/bestcomm/Kconfig
arch/powerpc/sysdev/fsl_soc.c
arch/powerpc/sysdev/fsl_soc.h
arch/s390/Kconfig
arch/s390/Kconfig.debug
arch/s390/hypfs/hypfs_diag.c
arch/s390/include/asm/cio.h
arch/s390/include/asm/smp.h
arch/s390/include/asm/spinlock.h
arch/s390/kernel/process.c
arch/sh/Kconfig
arch/sh/include/asm/spinlock.h
arch/sh/kernel/process_32.c
arch/sh/kernel/process_64.c
arch/sparc/Kconfig
arch/sparc/Kconfig.debug
arch/sparc/include/asm/spinlock_32.h
arch/sparc/include/asm/spinlock_64.h
arch/sparc/kernel/head_64.S
arch/sparc/kernel/process_32.c
arch/sparc/kernel/process_64.c
arch/sparc/mm/highmem.c
arch/um/drivers/net_kern.c
arch/um/drivers/pcap_user.h
arch/um/drivers/port.h
arch/um/drivers/ssl.h
arch/um/drivers/stdio_console.h
arch/um/drivers/ubd_kern.c
arch/um/drivers/xterm.h
arch/um/include/asm/irq_vectors.h
arch/um/include/asm/mmu.h
arch/um/include/asm/pda.h
arch/um/include/asm/pgalloc.h
arch/um/include/asm/pgtable-3level.h
arch/um/include/shared/frame_kern.h
arch/um/include/shared/initrd.h
arch/um/include/shared/irq_kern.h
arch/um/include/shared/mem_kern.h
arch/um/include/shared/ubd_user.h
arch/um/kernel/Makefile
arch/um/kernel/config.c.in
arch/um/kernel/process.c
arch/um/kernel/syscall.c
arch/um/os-Linux/start_up.c
arch/um/sys-i386/asm/archparam.h
arch/um/sys-i386/shared/sysdep/checksum.h
arch/um/sys-i386/sys_call_table.S
arch/um/sys-ia64/sysdep/ptrace.h
arch/um/sys-ia64/sysdep/sigcontext.h
arch/um/sys-ia64/sysdep/syscalls.h
arch/um/sys-ppc/miscthings.c
arch/um/sys-ppc/ptrace.c
arch/um/sys-ppc/ptrace_user.c
arch/um/sys-ppc/shared/sysdep/ptrace.h
arch/um/sys-ppc/shared/sysdep/sigcontext.h
arch/um/sys-ppc/shared/sysdep/syscalls.h
arch/um/sys-ppc/sigcontext.c
arch/um/sys-x86_64/asm/archparam.h
arch/um/sys-x86_64/asm/module.h
arch/um/sys-x86_64/mem.c
arch/x86/Kconfig
arch/x86/Kconfig.debug
arch/x86/boot/Makefile
arch/x86/boot/compressed/Makefile
arch/x86/boot/memory.c
arch/x86/ia32/ia32entry.S
arch/x86/include/asm/pci.h
arch/x86/include/asm/pci_32.h [deleted file]
arch/x86/include/asm/pci_64.h
arch/x86/include/asm/spinlock.h
arch/x86/include/asm/suspend_32.h
arch/x86/include/asm/unistd_32.h
arch/x86/include/asm/unistd_64.h
arch/x86/include/asm/uv/uv_hub.h
arch/x86/include/asm/uv/uv_mmrs.h
arch/x86/kernel/amd_iommu.c
arch/x86/kernel/apic/io_apic.c
arch/x86/kernel/apic/x2apic_uv_x.c
arch/x86/kernel/asm-offsets_32.c
arch/x86/kernel/asm-offsets_64.c
arch/x86/kernel/cpu/mtrr/generic.c
arch/x86/kernel/pci-dma.c
arch/x86/kernel/process_32.c
arch/x86/kernel/process_64.c
arch/x86/kernel/ptrace.c
arch/x86/kernel/setup_percpu.c
arch/x86/kernel/signal.c
arch/x86/kernel/syscall_table_32.S
arch/x86/mm/highmem_32.c
arch/x86/mm/iomap_32.c
arch/x86/pci/early.c
arch/x86/pci/fixup.c
arch/x86/pci/i386.c
arch/x86/pci/legacy.c
arch/x86/pci/mmconfig-shared.c
arch/x86/pci/mmconfig_64.c
arch/x86/power/Makefile
arch/x86/power/cpu_32.c
arch/x86/power/cpu_64.c
arch/x86/power/hibernate_64.c
arch/xtensa/Kconfig
arch/xtensa/Makefile
arch/xtensa/configs/s6105_defconfig [new file with mode: 0644]
arch/xtensa/include/asm/cacheflush.h
arch/xtensa/include/asm/dma.h
arch/xtensa/include/asm/flat.h [new file with mode: 0644]
arch/xtensa/include/asm/gpio.h [new file with mode: 0644]
arch/xtensa/include/asm/io.h
arch/xtensa/include/asm/irq.h
arch/xtensa/include/asm/mmu.h
arch/xtensa/include/asm/mmu_context.h
arch/xtensa/include/asm/nommu.h [new file with mode: 0644]
arch/xtensa/include/asm/nommu_context.h [new file with mode: 0644]
arch/xtensa/include/asm/page.h
arch/xtensa/include/asm/pgtable.h
arch/xtensa/include/asm/platform.h
arch/xtensa/include/asm/processor.h
arch/xtensa/kernel/entry.S
arch/xtensa/kernel/head.S
arch/xtensa/kernel/irq.c
arch/xtensa/kernel/platform.c
arch/xtensa/kernel/process.c
arch/xtensa/kernel/setup.c
arch/xtensa/kernel/time.c
arch/xtensa/kernel/traps.c
arch/xtensa/kernel/vectors.S
arch/xtensa/kernel/vmlinux.lds.S
arch/xtensa/mm/Makefile
arch/xtensa/mm/init.c
arch/xtensa/mm/misc.S
arch/xtensa/mm/mmu.c [new file with mode: 0644]
arch/xtensa/platforms/iss/console.c
arch/xtensa/platforms/s6105/Makefile [new file with mode: 0644]
arch/xtensa/platforms/s6105/device.c [new file with mode: 0644]
arch/xtensa/platforms/s6105/include/platform/gpio.h [new file with mode: 0644]
arch/xtensa/platforms/s6105/include/platform/hardware.h [new file with mode: 0644]
arch/xtensa/platforms/s6105/include/platform/serial.h [new file with mode: 0644]
arch/xtensa/platforms/s6105/setup.c [new file with mode: 0644]
arch/xtensa/platforms/xt2000/include/platform/hardware.h
arch/xtensa/variants/s6000/Makefile [new file with mode: 0644]
arch/xtensa/variants/s6000/gpio.c [new file with mode: 0644]
arch/xtensa/variants/s6000/include/variant/core.h [new file with mode: 0644]
arch/xtensa/variants/s6000/include/variant/hardware.h [new file with mode: 0644]
arch/xtensa/variants/s6000/include/variant/irq.h [new file with mode: 0644]
arch/xtensa/variants/s6000/include/variant/tie-asm.h [new file with mode: 0644]
arch/xtensa/variants/s6000/include/variant/tie.h [new file with mode: 0644]
arch/xtensa/variants/s6000/irq.c [new file with mode: 0644]
block/blk-softirq.c
crypto/async_tx/async_tx.c
crypto/async_tx/async_xor.c
crypto/shash.c
crypto/xor.c
drivers/acpi/pci_root.c
drivers/acpi/thermal.c
drivers/ata/Kconfig
drivers/auxdisplay/Kconfig
drivers/base/iommu.c
drivers/base/sys.c
drivers/block/aoe/aoecmd.c
drivers/block/floppy.c
drivers/block/hd.c
drivers/block/loop.c
drivers/block/nbd.c
drivers/block/xsysace.c
drivers/char/amiserial.c
drivers/char/bsr.c
drivers/char/cyclades.c
drivers/char/hpet.c
drivers/char/hw_random/timeriomem-rng.c
drivers/char/ip2/ip2main.c
drivers/char/istallion.c
drivers/char/pcmcia/synclink_cs.c
drivers/char/random.c
drivers/char/stallion.c
drivers/char/synclink.c
drivers/char/synclink_gt.c
drivers/char/synclinkmp.c
drivers/char/sysrq.c
drivers/char/tty_audit.c
drivers/char/tty_io.c
drivers/char/tty_ldisc.c
drivers/crypto/hifn_795x.c
drivers/crypto/ixp4xx_crypto.c
drivers/dma/Kconfig
drivers/dma/dmaengine.c
drivers/dma/dmatest.c
drivers/dma/dw_dmac.c
drivers/dma/dw_dmac_regs.h
drivers/dma/fsldma.c
drivers/dma/ioat_dma.c
drivers/dma/iop-adma.c
drivers/dma/ipu/ipu_idmac.c
drivers/dma/ipu/ipu_irq.c
drivers/dma/mv_xor.c
drivers/edac/Kconfig
drivers/edac/Makefile
drivers/edac/amd8111_edac.c [new file with mode: 0644]
drivers/edac/amd8111_edac.h [new file with mode: 0644]
drivers/edac/amd8131_edac.c [new file with mode: 0644]
drivers/edac/amd8131_edac.h [new file with mode: 0644]
drivers/edac/edac_core.h
drivers/edac/edac_pci.c
drivers/edac/ppc4xx_edac.c [new file with mode: 0644]
drivers/edac/ppc4xx_edac.h [new file with mode: 0644]
drivers/gpio/Kconfig
drivers/gpio/gpiolib.c
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/drm_gem.c
drivers/gpu/drm/drm_sysfs.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_debug.c
drivers/gpu/drm/i915/i915_gem_debugfs.c
drivers/gpu/drm/i915/i915_gem_tiling.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_modes.c
drivers/gpu/drm/i915/intel_sdvo.c
drivers/gpu/drm/i915/intel_sdvo_regs.h
drivers/gpu/drm/i915/intel_tv.c
drivers/gpu/drm/radeon/r600_cp.c
drivers/hid/Kconfig
drivers/hid/Makefile
drivers/hid/hid-a4tech.c
drivers/hid/hid-apple.c
drivers/hid/hid-belkin.c
drivers/hid/hid-cherry.c
drivers/hid/hid-chicony.c
drivers/hid/hid-core.c
drivers/hid/hid-cypress.c
drivers/hid/hid-drff.c [new file with mode: 0644]
drivers/hid/hid-dummy.c [deleted file]
drivers/hid/hid-ezkey.c
drivers/hid/hid-gaff.c
drivers/hid/hid-gyration.c
drivers/hid/hid-ids.h
drivers/hid/hid-kensington.c [new file with mode: 0644]
drivers/hid/hid-kye.c [new file with mode: 0644]
drivers/hid/hid-lg.c
drivers/hid/hid-microsoft.c
drivers/hid/hid-monterey.c
drivers/hid/hid-ntrig.c
drivers/hid/hid-petalynx.c
drivers/hid/hid-pl.c
drivers/hid/hid-samsung.c
drivers/hid/hid-sony.c
drivers/hid/hid-sunplus.c
drivers/hid/hid-tmff.c
drivers/hid/hid-topseed.c
drivers/hid/hid-zpff.c
drivers/hid/hidraw.c
drivers/hid/usbhid/hid-core.c
drivers/hid/usbhid/hiddev.c
drivers/hid/usbhid/usbhid.h
drivers/hwmon/Kconfig
drivers/hwmon/Makefile
drivers/hwmon/f75375s.c
drivers/hwmon/hp_accel.c
drivers/hwmon/lis3lv02d.c
drivers/hwmon/lis3lv02d.h
drivers/hwmon/lis3lv02d_spi.c [new file with mode: 0644]
drivers/hwmon/lm95241.c [new file with mode: 0644]
drivers/hwmon/ltc4215.c [new file with mode: 0644]
drivers/ide/Kconfig
drivers/ide/Makefile
drivers/ide/alim15x3.c
drivers/ide/at91_ide.c
drivers/ide/au1xxx-ide.c
drivers/ide/cmd64x.c
drivers/ide/cs5530.c
drivers/ide/cs5536.c
drivers/ide/falconide.c
drivers/ide/gayle.c
drivers/ide/hpt366.c
drivers/ide/ht6560b.c
drivers/ide/icside.c
drivers/ide/ide-atapi.c
drivers/ide/ide-cd.c
drivers/ide/ide-disk.c
drivers/ide/ide-dma-sff.c
drivers/ide/ide-dma.c
drivers/ide/ide-eh.c
drivers/ide/ide-floppy.c
drivers/ide/ide-floppy_ioctl.c
drivers/ide/ide-generic.c
drivers/ide/ide-h8300.c
drivers/ide/ide-io-std.c
drivers/ide/ide-io.c
drivers/ide/ide-iops.c
drivers/ide/ide-pm.c
drivers/ide/ide-probe.c
drivers/ide/ide-tape.c
drivers/ide/ide-taskfile.c
drivers/ide/ide-timings.c
drivers/ide/ide-xfer-mode.c
drivers/ide/ide_arm.c [deleted file]
drivers/ide/it821x.c
drivers/ide/ns87415.c
drivers/ide/pdc202xx_old.c
drivers/ide/pmac.c
drivers/ide/q40ide.c
drivers/ide/qd65xx.c
drivers/ide/sc1200.c
drivers/ide/scc_pata.c
drivers/ide/sgiioc4.c
drivers/ide/siimage.c
drivers/ide/sl82c105.c
drivers/ide/tc86c001.c
drivers/ide/trm290.c
drivers/ide/tx4938ide.c
drivers/ide/tx4939ide.c
drivers/input/Kconfig
drivers/input/mouse/gpio_mouse.c
drivers/input/mouse/hgpk.c
drivers/input/touchscreen/ads7846.c
drivers/isdn/capi/capi.c
drivers/isdn/mISDN/Kconfig
drivers/isdn/mISDN/l1oip_codec.c
drivers/leds/Kconfig
drivers/leds/leds-pca9532.c
drivers/md/Kconfig
drivers/md/Makefile
drivers/md/bitmap.c
drivers/md/bitmap.h [moved from include/linux/raid/bitmap.h with 100% similarity]
drivers/md/dm-bio-list.h
drivers/md/dm-bio-record.h
drivers/md/dm-crypt.c
drivers/md/dm-exception-store.c
drivers/md/dm-exception-store.h
drivers/md/dm-io.c
drivers/md/dm-log.c
drivers/md/dm-path-selector.c
drivers/md/dm-raid1.c
drivers/md/dm-snap-persistent.c
drivers/md/dm-snap-transient.c
drivers/md/dm-snap.c
drivers/md/dm-snap.h [deleted file]
drivers/md/dm-table.c
drivers/md/dm-target.c
drivers/md/dm.c
drivers/md/dm.h
drivers/md/faulty.c
drivers/md/linear.c
drivers/md/linear.h [moved from include/linux/raid/linear.h with 95% similarity]
drivers/md/md.c
drivers/md/md.h [moved from include/linux/raid/md_k.h with 83% similarity]
drivers/md/mktables.c
drivers/md/multipath.c
drivers/md/multipath.h [moved from include/linux/raid/multipath.h with 96% similarity]
drivers/md/raid0.c
drivers/md/raid0.h [moved from include/linux/raid/raid0.h with 96% similarity]
drivers/md/raid1.c
drivers/md/raid1.h [moved from include/linux/raid/raid1.h with 99% similarity]
drivers/md/raid10.c
drivers/md/raid10.h [moved from include/linux/raid/raid10.h with 99% similarity]
drivers/md/raid5.c
drivers/md/raid5.h [moved from include/linux/raid/raid5.h with 81% similarity]
drivers/md/raid6algos.c
drivers/md/raid6altivec.uc
drivers/md/raid6int.uc
drivers/md/raid6mmx.c
drivers/md/raid6recov.c
drivers/md/raid6sse1.c
drivers/md/raid6sse2.c
drivers/md/raid6test/Makefile
drivers/md/raid6test/test.c
drivers/md/raid6x86.h
drivers/media/common/tuners/Kconfig
drivers/media/dvb/frontends/Kconfig
drivers/media/dvb/frontends/drx397xD.c
drivers/mfd/Kconfig
drivers/mfd/twl4030-core.c
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/misc/eeprom/at24.c
drivers/misc/eeprom/at25.c
drivers/misc/hpilo.c
drivers/misc/hpilo.h
drivers/misc/isl29003.c [new file with mode: 0644]
drivers/misc/sgi-gru/Makefile
drivers/misc/sgi-gru/gru_instructions.h
drivers/misc/sgi-gru/grufault.c
drivers/misc/sgi-gru/grufile.c
drivers/misc/sgi-gru/gruhandles.c [new file with mode: 0644]
drivers/misc/sgi-gru/gruhandles.h
drivers/misc/sgi-gru/grukservices.c
drivers/misc/sgi-gru/grukservices.h
drivers/misc/sgi-gru/grumain.c
drivers/misc/sgi-gru/gruprocfs.c
drivers/misc/sgi-gru/grutables.h
drivers/misc/sgi-gru/grutlbpurge.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_sn2.c
drivers/misc/sgi-xp/xpc_uv.c
drivers/mmc/card/block.c
drivers/mmc/card/sdio_uart.c
drivers/mmc/core/bus.c
drivers/mmc/core/core.c
drivers/mmc/core/debugfs.c
drivers/mmc/core/sdio_cis.c
drivers/mmc/core/sdio_ops.c
drivers/mmc/host/Kconfig
drivers/mmc/host/Makefile
drivers/mmc/host/atmel-mci.c
drivers/mmc/host/mmc_spi.c
drivers/mmc/host/mvsdio.c [new file with mode: 0644]
drivers/mmc/host/mvsdio.h [new file with mode: 0644]
drivers/mmc/host/omap_hsmmc.c
drivers/mmc/host/sdhci-of.c [new file with mode: 0644]
drivers/mmc/host/sdhci.c
drivers/mmc/host/sdhci.h
drivers/mmc/host/tmio_mmc.c
drivers/mmc/host/tmio_mmc.h
drivers/mtd/maps/pxa2xx-flash.c
drivers/mtd/nand/diskonchip.c
drivers/mtd/nand/nand_base.c
drivers/mtd/tests/mtd_oobtest.c
drivers/mtd/tests/mtd_readtest.c
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/dm9000.c
drivers/net/dnet.c
drivers/net/fec_mpc52xx.c
drivers/net/fsl_pq_mdio.c
drivers/net/gianfar.h
drivers/net/hamradio/yam.c
drivers/net/hamradio/yam1200.h [deleted file]
drivers/net/hamradio/yam9600.h [deleted file]
drivers/net/igb/e1000_phy.c
drivers/net/igb/igb_ethtool.c
drivers/net/igb/igb_main.c
drivers/net/ixgbe/ixgbe_82598.c
drivers/net/ixgbe/ixgbe_common.c
drivers/net/ixgbe/ixgbe_common.h
drivers/net/ixgbe/ixgbe_dcb_nl.c
drivers/net/ixgbe/ixgbe_ethtool.c
drivers/net/ixgbe/ixgbe_main.c
drivers/net/ixgbe/ixgbe_type.h
drivers/net/mlx4/en_netdev.c
drivers/net/mlx4/en_rx.c
drivers/net/mlx4/sense.c
drivers/net/pcmcia/ositech.h [deleted file]
drivers/net/pcmcia/smc91c92_cs.c
drivers/net/phy/phy.c
drivers/net/qlge/qlge_ethtool.c
drivers/net/r8169.c
drivers/net/sb1250-mac.c
drivers/net/sfc/efx.c
drivers/net/skfp/h/hwmtm.h
drivers/net/tc35815.c
drivers/net/tg3.c
drivers/net/tokenring/3c359.c
drivers/net/tokenring/3c359.h
drivers/net/tokenring/3c359_microcode.h [deleted file]
drivers/net/ucc_geth.c
drivers/net/ucc_geth.h
drivers/net/ucc_geth_ethtool.c
drivers/net/usb/hso.c
drivers/net/usb/kaweth.c
drivers/net/vxge/Makefile [new file with mode: 0644]
drivers/net/vxge/vxge-config.c [new file with mode: 0644]
drivers/net/vxge/vxge-config.h [new file with mode: 0644]
drivers/net/vxge/vxge-ethtool.c [new file with mode: 0644]
drivers/net/vxge/vxge-ethtool.h [new file with mode: 0644]
drivers/net/vxge/vxge-main.c [new file with mode: 0644]
drivers/net/vxge/vxge-main.h [new file with mode: 0644]
drivers/net/vxge/vxge-reg.h [new file with mode: 0644]
drivers/net/vxge/vxge-traffic.c [new file with mode: 0644]
drivers/net/vxge/vxge-traffic.h [new file with mode: 0644]
drivers/net/vxge/vxge-version.h [new file with mode: 0644]
drivers/net/wan/farsync.c
drivers/net/wireless/ipw2x00/ipw2100.c
drivers/net/wireless/ipw2x00/ipw2200.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/libertas/cmd.c
drivers/of/base.c
drivers/parisc/asp.c
drivers/parisc/ccio-dma.c
drivers/parisc/dino.c
drivers/parisc/eisa.c
drivers/parisc/eisa_enumerator.c
drivers/parisc/iosapic.c
drivers/parisc/led.c
drivers/parport/parport_serial.c
drivers/pci/Kconfig
drivers/pci/Makefile
drivers/pci/bus.c
drivers/pci/hotplug/acpi_pcihp.c
drivers/pci/hotplug/fakephp.c
drivers/pci/hotplug/pciehp.h
drivers/pci/hotplug/pciehp_acpi.c
drivers/pci/hotplug/pciehp_core.c
drivers/pci/hotplug/pciehp_hpc.c
drivers/pci/hotplug/shpchp.h
drivers/pci/hotplug/shpchp_pci.c
drivers/pci/intel-iommu.c
drivers/pci/iov.c [new file with mode: 0644]
drivers/pci/msi.c
drivers/pci/msi.h
drivers/pci/pci-acpi.c
drivers/pci/pci-driver.c
drivers/pci/pci-sysfs.c
drivers/pci/pci.c
drivers/pci/pci.h
drivers/pci/pcie/aer/aerdrv.c
drivers/pci/pcie/aer/aerdrv_acpi.c
drivers/pci/pcie/aer/aerdrv_core.c
drivers/pci/pcie/portdrv.h
drivers/pci/pcie/portdrv_bus.c
drivers/pci/pcie/portdrv_core.c
drivers/pci/pcie/portdrv_pci.c
drivers/pci/probe.c
drivers/pci/quirks.c
drivers/pci/remove.c
drivers/pci/search.c
drivers/pci/setup-bus.c
drivers/pci/setup-res.c
drivers/pci/slot.c
drivers/pcmcia/pxa2xx_cm_x255.c
drivers/platform/x86/thinkpad_acpi.c
drivers/pnp/pnpbios/core.c
drivers/power/bq27x00_battery.c
drivers/regulator/Kconfig
drivers/regulator/Makefile
drivers/regulator/bq24022.c
drivers/regulator/core.c
drivers/regulator/da903x.c
drivers/regulator/fixed.c
drivers/regulator/pcf50633-regulator.c
drivers/regulator/twl4030-regulator.c [new file with mode: 0644]
drivers/regulator/virtual.c
drivers/regulator/wm8350-regulator.c
drivers/regulator/wm8400-regulator.c
drivers/rtc/Kconfig
drivers/rtc/Makefile
drivers/rtc/rtc-ds1307.c
drivers/rtc/rtc-ds1374.c
drivers/rtc/rtc-efi.c [new file with mode: 0644]
drivers/rtc/rtc-generic.c [new file with mode: 0644]
drivers/rtc/rtc-lib.c
drivers/rtc/rtc-m41t80.c
drivers/rtc/rtc-parisc.c [deleted file]
drivers/rtc/rtc-ppc.c [deleted file]
drivers/rtc/rtc-ps3.c [new file with mode: 0644]
drivers/rtc/rtc-v3020.c
drivers/rtc/rtc-wm8350.c
drivers/s390/block/dasd.c
drivers/s390/cio/device.c
drivers/s390/cio/device.h
drivers/s390/cio/device_fsm.c
drivers/s390/net/qeth_core_offl.c [deleted file]
drivers/s390/net/qeth_core_offl.h [deleted file]
drivers/s390/scsi/zfcp_ccw.c
drivers/s390/scsi/zfcp_fc.c
drivers/scsi/Kconfig
drivers/serial/Kconfig
drivers/serial/mcf.c
drivers/serial/serial_core.c
drivers/spi/spi_gpio.c
drivers/spi/spi_mpc83xx.c
drivers/staging/Kconfig
drivers/staging/comedi/Kconfig
drivers/staging/go7007/Kconfig
drivers/staging/otus/hal/hpmain.c
drivers/staging/panel/Kconfig
drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
drivers/staging/rtl8187se/r8180_core.c
drivers/usb/atm/ueagle-atm.c
drivers/usb/gadget/Kconfig
drivers/usb/serial/ChangeLog.history
drivers/usb/serial/Kconfig
drivers/usb/serial/usb-serial.c
drivers/usb/storage/isd200.c
drivers/usb/wusbcore/devconnect.c
drivers/usb/wusbcore/security.c
drivers/uwb/Kconfig
drivers/video/68328fb.c
drivers/video/Kconfig
drivers/video/Makefile
drivers/video/amba-clcd.c
drivers/video/amifb.c
drivers/video/arkfb.c
drivers/video/asiliantfb.c
drivers/video/aty/mach64_accel.c
drivers/video/aty/mach64_cursor.c
drivers/video/aty/radeon_pm.c
drivers/video/backlight/backlight.c
drivers/video/backlight/lcd.c
drivers/video/cirrusfb.c
drivers/video/console/fbcon.c
drivers/video/cyblafb.c [deleted file]
drivers/video/efifb.c
drivers/video/fb_defio.c
drivers/video/fbmem.c
drivers/video/nvidia/nv_setup.c
drivers/video/nvidia/nv_type.h
drivers/video/nvidia/nvidia.c
drivers/video/omap/hwa742.c
drivers/video/omap/omapfb_main.c
drivers/video/s1d13xxxfb.c
drivers/video/s3c-fb.c [new file with mode: 0644]
drivers/video/sgivwfb.c
drivers/video/skeletonfb.c
drivers/video/sm501fb.c
drivers/video/sstfb.c
drivers/video/stifb.c
drivers/video/sunxvr500.c
drivers/video/tdfxfb.c
drivers/video/tgafb.c
drivers/video/tridentfb.c
drivers/video/uvesafb.c
drivers/video/valkyriefb.c
drivers/video/vesafb.c
drivers/video/vfb.c
drivers/video/via/accel.c
drivers/w1/w1_io.c
drivers/xen/Kconfig
firmware/3com/3C359.bin.ihex [new file with mode: 0644]
firmware/Makefile
firmware/WHENCE
firmware/ositech/Xilinx7OD.bin.ihex [new file with mode: 0644]
firmware/yam/1200.bin.ihex [new file with mode: 0644]
firmware/yam/9600.bin.ihex [new file with mode: 0644]
fs/Kconfig
fs/Makefile
fs/adfs/super.c
fs/affs/super.c
fs/afs/Kconfig
fs/afs/Makefile
fs/afs/cache.c
fs/afs/cache.h
fs/afs/cell.c
fs/afs/file.c
fs/afs/inode.c
fs/afs/internal.h
fs/afs/main.c
fs/afs/mntpt.c
fs/afs/vlocation.c
fs/afs/volume.c
fs/afs/write.c
fs/autofs4/autofs_i.h
fs/autofs4/dev-ioctl.c
fs/autofs4/expire.c
fs/autofs4/root.c
fs/befs/linuxvfs.c
fs/binfmt_elf.c
fs/binfmt_elf_fdpic.c
fs/binfmt_som.c
fs/bio.c
fs/block_dev.c
fs/btrfs/Makefile
fs/btrfs/acl.c
fs/btrfs/async-thread.c
fs/btrfs/btrfs_inode.h
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/delayed-ref.c [new file with mode: 0644]
fs/btrfs/delayed-ref.h [new file with mode: 0644]
fs/btrfs/dir-item.c
fs/btrfs/disk-io.c
fs/btrfs/disk-io.h
fs/btrfs/extent-tree.c
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/extent_map.c
fs/btrfs/file-item.c
fs/btrfs/file.c
fs/btrfs/free-space-cache.c
fs/btrfs/free-space-cache.h [new file with mode: 0644]
fs/btrfs/inode-item.c
fs/btrfs/inode.c
fs/btrfs/ioctl.c
fs/btrfs/locking.c
fs/btrfs/ordered-data.c
fs/btrfs/ordered-data.h
fs/btrfs/super.c
fs/btrfs/transaction.c
fs/btrfs/transaction.h
fs/btrfs/tree-defrag.c
fs/btrfs/tree-log.c
fs/btrfs/tree-log.h
fs/btrfs/volumes.c
fs/btrfs/volumes.h
fs/buffer.c
fs/cachefiles/Kconfig [new file with mode: 0644]
fs/cachefiles/Makefile [new file with mode: 0644]
fs/cachefiles/bind.c [new file with mode: 0644]
fs/cachefiles/daemon.c [new file with mode: 0644]
fs/cachefiles/interface.c [new file with mode: 0644]
fs/cachefiles/internal.h [new file with mode: 0644]
fs/cachefiles/key.c [new file with mode: 0644]
fs/cachefiles/main.c [new file with mode: 0644]
fs/cachefiles/namei.c [new file with mode: 0644]
fs/cachefiles/proc.c [new file with mode: 0644]
fs/cachefiles/rdwr.c [new file with mode: 0644]
fs/cachefiles/security.c [new file with mode: 0644]
fs/cachefiles/xattr.c [new file with mode: 0644]
fs/cifs/dir.c
fs/cifs/inode.c
fs/compat.c
fs/compat_ioctl.c
fs/cramfs/inode.c
fs/cramfs/uncompress.c
fs/dcache.c
fs/drop_caches.c
fs/ecryptfs/keystore.c
fs/ecryptfs/messaging.c
fs/efs/super.c
fs/eventfd.c
fs/eventpoll.c
fs/exec.c
fs/exofs/BUGS [new file with mode: 0644]
fs/exofs/Kbuild [new file with mode: 0644]
fs/exofs/Kconfig [new file with mode: 0644]
fs/exofs/common.h [new file with mode: 0644]
fs/exofs/dir.c [new file with mode: 0644]
fs/exofs/exofs.h [new file with mode: 0644]
fs/exofs/file.c [new file with mode: 0644]
fs/exofs/inode.c [new file with mode: 0644]
fs/exofs/namei.c [new file with mode: 0644]
fs/exofs/osd.c [new file with mode: 0644]
fs/exofs/super.c [new file with mode: 0644]
fs/exofs/symlink.c [new file with mode: 0644]
fs/ext2/acl.c
fs/ext3/acl.c
fs/ext3/dir.c
fs/ext3/file.c
fs/ext3/inode.c
fs/ext3/ioctl.c
fs/ext3/namei.c
fs/ext4/Kconfig
fs/ext4/acl.c
fs/ext4/balloc.c
fs/ext4/dir.c
fs/ext4/ext4.h
fs/ext4/ext4_extents.h
fs/ext4/ext4_i.h
fs/ext4/ext4_sb.h
fs/ext4/extents.c
fs/ext4/file.c
fs/ext4/ialloc.c
fs/ext4/inode.c
fs/ext4/ioctl.c
fs/ext4/mballoc.c
fs/ext4/mballoc.h
fs/ext4/namei.c
fs/ext4/resize.c
fs/ext4/super.c
fs/fat/inode.c
fs/file_table.c
fs/fs-writeback.c
fs/fs_struct.c [new file with mode: 0644]
fs/fscache/Kconfig [new file with mode: 0644]
fs/fscache/Makefile [new file with mode: 0644]
fs/fscache/cache.c [new file with mode: 0644]
fs/fscache/cookie.c [new file with mode: 0644]
fs/fscache/fsdef.c [new file with mode: 0644]
fs/fscache/histogram.c [new file with mode: 0644]
fs/fscache/internal.h [new file with mode: 0644]
fs/fscache/main.c [new file with mode: 0644]
fs/fscache/netfs.c [new file with mode: 0644]
fs/fscache/object.c [new file with mode: 0644]
fs/fscache/operation.c [new file with mode: 0644]
fs/fscache/page.c [new file with mode: 0644]
fs/fscache/proc.c [new file with mode: 0644]
fs/fscache/stats.c [new file with mode: 0644]
fs/fuse/dir.c
fs/fuse/file.c
fs/generic_acl.c
fs/gfs2/acl.c
fs/gfs2/ops_file.c
fs/hfs/super.c
fs/hfsplus/options.c
fs/hfsplus/super.c
fs/hpfs/super.c
fs/hppfs/hppfs.c
fs/hugetlbfs/inode.c
fs/internal.h
fs/isofs/inode.c
fs/jbd/commit.c
fs/jbd/journal.c
fs/jbd/transaction.c
fs/jbd2/commit.c
fs/jbd2/revoke.c
fs/jbd2/transaction.c
fs/jffs2/acl.c
fs/jfs/acl.c
fs/lockd/clntlock.c
fs/lockd/mon.c
fs/lockd/svc.c
fs/minix/inode.c
fs/mpage.c
fs/namei.c
fs/namespace.c
fs/nfs/Kconfig
fs/nfs/Makefile
fs/nfs/callback.c
fs/nfs/callback.h
fs/nfs/client.c
fs/nfs/dir.c
fs/nfs/file.c
fs/nfs/fscache-index.c [new file with mode: 0644]
fs/nfs/fscache.c [new file with mode: 0644]
fs/nfs/fscache.h [new file with mode: 0644]
fs/nfs/getroot.c
fs/nfs/inode.c
fs/nfs/internal.h
fs/nfs/iostat.h
fs/nfs/nfs2xdr.c
fs/nfs/nfs3proc.c
fs/nfs/nfs3xdr.c
fs/nfs/nfs4proc.c
fs/nfs/nfs4state.c
fs/nfs/nfs4xdr.c
fs/nfs/pagelist.c
fs/nfs/proc.c
fs/nfs/read.c
fs/nfs/super.c
fs/nfs/write.c
fs/nfsd/nfsctl.c
fs/nfsd/nfssvc.c
fs/ntfs/dir.c
fs/ntfs/inode.c
fs/ntfs/layout.h
fs/ntfs/logfile.h
fs/ntfs/mft.c
fs/ntfs/super.c
fs/ntfs/usnjrnl.h
fs/ocfs2/acl.c
fs/ocfs2/alloc.c
fs/ocfs2/alloc.h
fs/ocfs2/aops.c
fs/ocfs2/cluster/heartbeat.c
fs/ocfs2/cluster/heartbeat.h
fs/ocfs2/cluster/nodemanager.c
fs/ocfs2/dir.c
fs/ocfs2/dir.h
fs/ocfs2/dlm/dlmcommon.h
fs/ocfs2/dlm/dlmdebug.c
fs/ocfs2/dlm/dlmdomain.c
fs/ocfs2/dlm/dlmmaster.c
fs/ocfs2/dlm/dlmthread.c
fs/ocfs2/dlmglue.c
fs/ocfs2/dlmglue.h
fs/ocfs2/export.c
fs/ocfs2/inode.c
fs/ocfs2/inode.h
fs/ocfs2/journal.c
fs/ocfs2/journal.h
fs/ocfs2/localalloc.c
fs/ocfs2/mmap.c
fs/ocfs2/namei.c
fs/ocfs2/ocfs2.h
fs/ocfs2/ocfs2_fs.h
fs/ocfs2/ocfs2_lockid.h
fs/ocfs2/suballoc.c
fs/ocfs2/suballoc.h
fs/ocfs2/super.c
fs/ocfs2/xattr.c
fs/ocfs2/xattr.h
fs/omfs/inode.c
fs/open.c
fs/proc/base.c
fs/proc/meminfo.c
fs/proc/nommu.c
fs/proc/proc_tty.c
fs/proc/task_nommu.c
fs/qnx4/inode.c
fs/quota/dquot.c
fs/ramfs/file-nommu.c
fs/ramfs/inode.c
fs/read_write.c
fs/reiserfs/Kconfig
fs/reiserfs/super.c
fs/reiserfs/xattr_acl.c
fs/splice.c
fs/squashfs/super.c
fs/super.c
fs/sysfs/bin.c
fs/sysv/inode.c
fs/ubifs/Kconfig
fs/ubifs/file.c
fs/udf/balloc.c
fs/udf/dir.c
fs/udf/directory.c
fs/udf/ecma_167.h
fs/udf/ialloc.c
fs/udf/inode.c
fs/udf/misc.c
fs/udf/namei.c
fs/udf/osta_udf.h
fs/udf/partition.c
fs/udf/super.c
fs/udf/truncate.c
fs/udf/udf_i.h
fs/udf/udf_sb.h
fs/udf/udfdecl.h
fs/udf/udfend.h
fs/udf/udftime.c
fs/udf/unicode.c
fs/ufs/super.c
fs/xfs/Makefile
fs/xfs/linux-2.6/mutex.h [deleted file]
fs/xfs/linux-2.6/xfs_aops.c
fs/xfs/linux-2.6/xfs_file.c
fs/xfs/linux-2.6/xfs_ioctl.c
fs/xfs/linux-2.6/xfs_iops.c
fs/xfs/linux-2.6/xfs_linux.h
fs/xfs/linux-2.6/xfs_quotaops.c [new file with mode: 0644]
fs/xfs/linux-2.6/xfs_super.c
fs/xfs/linux-2.6/xfs_super.h
fs/xfs/linux-2.6/xfs_sync.h
fs/xfs/linux-2.6/xfs_vnode.h
fs/xfs/quota/xfs_dquot.c
fs/xfs/quota/xfs_dquot.h
fs/xfs/quota/xfs_qm.c
fs/xfs/quota/xfs_qm.h
fs/xfs/quota/xfs_qm_bhv.c
fs/xfs/quota/xfs_qm_syscalls.c
fs/xfs/quota/xfs_quota_priv.h
fs/xfs/quota/xfs_trans_dquot.c
fs/xfs/support/debug.c
fs/xfs/support/uuid.c
fs/xfs/support/uuid.h
fs/xfs/xfs_ag.h
fs/xfs/xfs_alloc.c
fs/xfs/xfs_alloc.h
fs/xfs/xfs_attr_leaf.c
fs/xfs/xfs_bmap.c
fs/xfs/xfs_bmap.h
fs/xfs/xfs_btree.c
fs/xfs/xfs_btree.h
fs/xfs/xfs_da_btree.c
fs/xfs/xfs_da_btree.h
fs/xfs/xfs_dfrag.c
fs/xfs/xfs_dinode.h
fs/xfs/xfs_dir2.c
fs/xfs/xfs_dir2_block.c
fs/xfs/xfs_dir2_data.h
fs/xfs/xfs_dir2_leaf.c
fs/xfs/xfs_dir2_node.c
fs/xfs/xfs_dir2_sf.c
fs/xfs/xfs_extfree_item.h
fs/xfs/xfs_filestream.c
fs/xfs/xfs_fsops.c
fs/xfs/xfs_ialloc.c
fs/xfs/xfs_ialloc_btree.c
fs/xfs/xfs_ialloc_btree.h
fs/xfs/xfs_inode.h
fs/xfs/xfs_inode_item.h
fs/xfs/xfs_iomap.h
fs/xfs/xfs_itable.c
fs/xfs/xfs_log.c
fs/xfs/xfs_log.h
fs/xfs/xfs_log_priv.h
fs/xfs/xfs_log_recover.c
fs/xfs/xfs_mount.c
fs/xfs/xfs_mount.h
fs/xfs/xfs_qmops.c
fs/xfs/xfs_quota.h
fs/xfs/xfs_rtalloc.c
fs/xfs/xfs_rtalloc.h
fs/xfs/xfs_trans.h
fs/xfs/xfs_trans_ail.c
fs/xfs/xfs_trans_item.c
fs/xfs/xfs_trans_space.h
fs/xfs/xfs_types.h
fs/xfs/xfs_utils.c
fs/xfs/xfs_vnodeops.c
fs/xfs/xfs_vnodeops.h
include/asm-frv/highmem.h
include/asm-generic/dma-mapping.h [deleted file]
include/asm-generic/gpio.h
include/asm-m32r/spinlock.h
include/asm-mn10300/highmem.h
include/drm/drm_crtc_helper.h
include/drm/drm_os_linux.h
include/linux/Kbuild
include/linux/acpi.h
include/linux/async_tx.h
include/linux/auto_dev-ioctl.h
include/linux/auto_fs.h
include/linux/binfmts.h
include/linux/bootmem.h
include/linux/buffer_head.h
include/linux/cgroup.h
include/linux/compat.h
include/linux/cpu.h
include/linux/cpuset.h
include/linux/device-mapper.h
include/linux/dm-dirty-log.h
include/linux/dma_remapping.h
include/linux/dmaengine.h
include/linux/dw_dmac.h
include/linux/eventfd.h
include/linux/ext3_fs.h
include/linux/fb.h
include/linux/fs.h
include/linux/fs_struct.h
include/linux/fscache-cache.h [new file with mode: 0644]
include/linux/fscache.h [new file with mode: 0644]
include/linux/fsl_devices.h
include/linux/hdreg.h
include/linux/hid.h
include/linux/highmem.h
include/linux/i2c/at24.h
include/linux/i2c/twl4030.h
include/linux/ide.h
include/linux/idr.h
include/linux/intel-iommu.h
include/linux/iommu.h
include/linux/irqflags.h
include/linux/jbd.h
include/linux/jbd2.h
include/linux/kallsyms.h
include/linux/kernel.h
include/linux/kmod.h
include/linux/libata.h
include/linux/lockdep.h
include/linux/loop.h
include/linux/memcontrol.h
include/linux/memory.h
include/linux/mm.h
include/linux/mm_types.h
include/linux/mmc/host.h
include/linux/mmzone.h
include/linux/mnt_namespace.h
include/linux/module.h
include/linux/moduleparam.h
include/linux/mpage.h
include/linux/msi.h
include/linux/nfs_fs.h
include/linux/nfs_fs_sb.h
include/linux/nfs_iostat.h
include/linux/nfs_xdr.h
include/linux/nsproxy.h
include/linux/page-debug-flags.h [new file with mode: 0644]
include/linux/page-flags.h
include/linux/page_cgroup.h
include/linux/pagemap.h
include/linux/pagevec.h
include/linux/pci-acpi.h
include/linux/pci.h
include/linux/pci_ids.h
include/linux/pci_regs.h
include/linux/pcieport_if.h
include/linux/poison.h
include/linux/ptrace.h
include/linux/pwm.h
include/linux/raid/md.h [deleted file]
include/linux/raid/md_u.h
include/linux/raid/pq.h [moved from drivers/md/raid6.h with 86% similarity]
include/linux/raid/xor.h
include/linux/regulator/bq24022.h
include/linux/regulator/consumer.h
include/linux/regulator/driver.h
include/linux/regulator/fixed.h
include/linux/regulator/machine.h
include/linux/rtc-v3020.h
include/linux/rtc.h
include/linux/sched.h
include/linux/slow-work.h [new file with mode: 0644]
include/linux/smp.h
include/linux/spi/eeprom.h
include/linux/spi/spi_gpio.h
include/linux/spinlock.h
include/linux/string.h
include/linux/sunrpc/svc.h
include/linux/sunrpc/svc_xprt.h
include/linux/sunrpc/xprt.h
include/linux/suspend.h
include/linux/swap.h
include/linux/synclink.h
include/linux/syscalls.h
include/linux/timeriomem-rng.h
include/linux/tracehook.h
include/linux/tty_driver.h
include/linux/usb/wusb.h
include/linux/wait.h
include/linux/workqueue.h
include/linux/writeback.h
include/net/tcp.h
include/video/aty128.h
include/video/cirrus.h
include/video/newport.h
include/video/radeon.h
include/video/s1d13xxxfb.h
init/Kconfig
init/do_mounts.c
init/do_mounts.h
init/do_mounts_md.c
init/initramfs.c
init/main.c
ipc/ipc_sysctl.c
ipc/mqueue.c
ipc/shm.c
kernel/Makefile
kernel/auditsc.c
kernel/cgroup.c
kernel/cgroup_debug.c
kernel/cpuset.c
kernel/exec_domain.c
kernel/exit.c
kernel/extable.c
kernel/fork.c
kernel/kallsyms.c
kernel/kexec.c
kernel/kmod.c
kernel/lockdep.c
kernel/module.c
kernel/ns_cgroup.c
kernel/panic.c
kernel/params.c
kernel/pid.c
kernel/pid_namespace.c
kernel/power/disk.c
kernel/power/snapshot.c
kernel/power/swsusp.c
kernel/printk.c
kernel/ptrace.c
kernel/rcupdate.c
kernel/relay.c
kernel/sched.c
kernel/signal.c
kernel/slow-work.c [new file with mode: 0644]
kernel/smp.c
kernel/softirq.c
kernel/spinlock.c
kernel/sys.c
kernel/sysctl.c
kernel/trace/Kconfig
kernel/trace/ftrace.c
kernel/utsname_sysctl.c
kernel/workqueue.c
lib/Kconfig
lib/Kconfig.debug
lib/cpumask.c
lib/debugobjects.c
lib/idr.c
lib/locking-selftest.c
lib/rbtree.c
lib/vsprintf.c
mm/Kconfig
mm/Kconfig.debug [new file with mode: 0644]
mm/Makefile
mm/debug-pagealloc.c [new file with mode: 0644]
mm/filemap.c
mm/filemap_xip.c
mm/highmem.c
mm/hugetlb.c
mm/internal.h
mm/memcontrol.c
mm/memory.c
mm/migrate.c
mm/mmap.c
mm/nommu.c
mm/oom_kill.c
mm/page-writeback.c
mm/page_alloc.c
mm/page_cgroup.c
mm/readahead.c
mm/shmem.c
mm/slab.c
mm/sparse.c
mm/swap.c
mm/truncate.c
mm/util.c
mm/vmalloc.c
mm/vmscan.c
mm/vmstat.c
net/Kconfig
net/bluetooth/rfcomm/tty.c
net/core/dev.c
net/core/ethtool.c
net/core/sock.c
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv4/tcp.c
net/ipv4/tcp_output.c
net/ipv6/Kconfig
net/ipv6/netfilter/ip6_tables.c
net/irda/ircomm/ircomm_tty.c
net/mac80211/Kconfig
net/netfilter/Kconfig
net/phonet/Kconfig
net/rds/ib.c
net/rds/ib.h
net/rds/ib_cm.c
net/rds/ib_rdma.c
net/rds/ib_recv.c
net/rds/iw.c
net/rds/iw.h
net/rds/iw_cm.c
net/rds/iw_rdma.c
net/rds/iw_recv.c
net/rds/rds.h
net/rds/send.c
net/sunrpc/Kconfig
net/sunrpc/clnt.c
net/sunrpc/rpcb_clnt.c
net/sunrpc/svc.c
net/sunrpc/svc_xprt.c
net/sunrpc/svcsock.c
net/sunrpc/xprt.c
net/sunrpc/xprtrdma/rpc_rdma.c
net/sunrpc/xprtrdma/svc_rdma_sendto.c
net/sunrpc/xprtsock.c
net/unix/af_unix.c
net/wimax/Kconfig
scripts/mod/modpost.c
scripts/package/buildtar
security/device_cgroup.c
security/security.c
security/tomoyo/realpath.c
sound/oss/pss.c
sound/sh/aica.c
sound/soc/blackfin/Kconfig

diff --git a/CREDITS b/CREDITS
index e8b7d36..2520ba6 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -495,6 +495,11 @@ S: Kopmansg 2
 S: 411 13  Goteborg
 S: Sweden
 
+N: Paul Bristow
+E: paul@paulbristow.net
+W: http://paulbristow.net/linux/idefloppy.html
+D: Maintainer of IDE/ATAPI floppy driver
+
 N: Dominik Brodowski
 E: linux@brodo.de
 W: http://www.brodo.de/
@@ -1407,8 +1412,8 @@ P: 1024D/77D4FC9B F5C5 1C20 1DFC DEC3 3107  54A4 2332 ADFC 77D4 FC9B
 D: National Language Support
 D: Linux Internationalization Project
 D: German Localization for Linux and GNU software
-S: Kriemhildring 12a
-S: 65795 Hattersheim am Main
+S: Auf der Fittel 18
+S: 53347 Alfter
 S: Germany
 
 N: Christoph Hellwig
@@ -2642,6 +2647,10 @@ S: C/ Mieses 20, 9-B
 S: Valladolid 47009
 S: Spain
 
+N: Gadi Oxman
+E: gadio@netvision.net.il
+D: Original author and maintainer of IDE/ATAPI floppy/tape drivers
+
 N: Greg Page
 E: gpage@sovereign.org
 D: IPX development and support
@@ -3571,6 +3580,12 @@ N: Dirk Verworner
 D: Co-author of German book ``Linux-Kernel-Programmierung''
 D: Co-founder of Berlin Linux User Group
 
+N: Riku Voipio
+E: riku.voipio@iki.fi
+D: Author of PCA9532 LED and Fintek f75375s hwmon driver
+D: Some random ARM board patches
+S: Finland
+
 N: Patrick Volkerding
 E: volkerdi@ftp.cdrom.com
 D: Produced the Slackware distribution, updated the SVGAlib
index 2a39aeb..d05737a 100644 (file)
@@ -86,6 +86,8 @@ cachetlb.txt
        - describes the cache/TLB flushing interfaces Linux uses.
 cdrom/
        - directory with information on the CD-ROM drivers that Linux has.
+cgroups/
+       - cgroups features, including cpusets and memory controller.
 connector/
        - docs on the netlink based userspace<->kernel space communication mod.
 console/
@@ -98,8 +100,6 @@ cpu-load.txt
        - document describing how CPU load statistics are collected.
 cpuidle/
        - info on CPU_IDLE, CPU idle state management subsystem.
-cpusets.txt
-       - documents the cpusets feature; assign CPUs and Mem to a set of tasks.
 cputopology.txt
        - documentation on how CPU topology info is exported via sysfs.
 cris/
index e638e15..97ad190 100644 (file)
@@ -41,6 +41,49 @@ Description:
                for the device and attempt to bind to it.  For example:
                # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
 
+What:          /sys/bus/pci/drivers/.../remove_id
+Date:          February 2009
+Contact:       Chris Wright <chrisw@sous-sol.org>
+Description:
+               Writing a device ID to this file will remove an ID
+               that was dynamically added via the new_id sysfs entry.
+               The format for the device ID is:
+               VVVV DDDD SVVV SDDD CCCC MMMM.  That is Vendor ID, Device
+               ID, Subsystem Vendor ID, Subsystem Device ID, Class,
+               and Class Mask.  The Vendor ID and Device ID fields are
+               required, the rest are optional.  After successfully
+               removing an ID, the driver will no longer support the
+               device.  This is useful to ensure auto probing won't
+               match the driver to the device.  For example:
+               # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id
+
+What:          /sys/bus/pci/rescan
+Date:          January 2009
+Contact:       Linux PCI developers <linux-pci@vger.kernel.org>
+Description:
+               Writing a non-zero value to this attribute will
+               force a rescan of all PCI buses in the system, and
+               re-discover previously removed devices.
+               Depends on CONFIG_HOTPLUG.
+
+What:          /sys/bus/pci/devices/.../remove
+Date:          January 2009
+Contact:       Linux PCI developers <linux-pci@vger.kernel.org>
+Description:
+               Writing a non-zero value to this attribute will
+               hot-remove the PCI device and any of its children.
+               Depends on CONFIG_HOTPLUG.
+
+What:          /sys/bus/pci/devices/.../rescan
+Date:          January 2009
+Contact:       Linux PCI developers <linux-pci@vger.kernel.org>
+Description:
+               Writing a non-zero value to this attribute will
+               force a rescan of the device's parent bus and all
+               child buses, and re-discover devices removed earlier
+               from this part of the device tree.
+               Depends on CONFIG_HOTPLUG.
+
 What:          /sys/bus/pci/devices/.../vpd
 Date:          February 2008
 Contact:       Ben Hutchings <bhutchings@solarflare.com>
@@ -52,3 +95,30 @@ Description:
                that some devices may have malformatted data.  If the
                underlying VPD has a writable section then the
                corresponding section of this file will be writable.
+
+What:          /sys/bus/pci/devices/.../virtfnN
+Date:          March 2009
+Contact:       Yu Zhao <yu.zhao@intel.com>
+Description:
+               This symbolic link appears when hardware supports the SR-IOV
+               capability and the Physical Function driver has enabled it.
+               The symbolic link points to the PCI device sysfs entry of the
+               Virtual Function whose index is N (0...MaxVFs-1).
+
+What:          /sys/bus/pci/devices/.../dep_link
+Date:          March 2009
+Contact:       Yu Zhao <yu.zhao@intel.com>
+Description:
+               This symbolic link appears when hardware supports the SR-IOV
+               capability and the Physical Function driver has enabled it,
+               and this device has vendor specific dependencies with others.
+               The symbolic link points to the PCI device sysfs entry of
+               Physical Function this device depends on.
+
+What:          /sys/bus/pci/devices/.../physfn
+Date:          March 2009
+Contact:       Yu Zhao <yu.zhao@intel.com>
+Description:
+               This symbolic link appears when a device is a Virtual Function.
+               The symbolic link points to the PCI device sysfs entry of the
+               Physical Function this device associates with.
index 873ef1f..e091fa8 100644 (file)
@@ -4,8 +4,8 @@ KernelVersion:  2.6.26
 Contact:       Liam Girdwood <lrg@slimlogic.co.uk>
 Description:
                Some regulator directories will contain a field called
-               state. This reports the regulator enable status, for
-               regulators which can report that value.
+               state. This reports the regulator enable control, for
+               regulators which can report that input value.
 
                This will be one of the following strings:
 
@@ -14,16 +14,54 @@ Description:
                'unknown'
 
                'enabled' means the regulator output is ON and is supplying
-               power to the system.
+               power to the system (assuming no error prevents it).
 
                'disabled' means the regulator output is OFF and is not
-               supplying power to the system..
+               supplying power to the system (unless some non-Linux
+               control has enabled it).
 
                'unknown' means software cannot determine the state, or
                the reported state is invalid.
 
                NOTE: this field can be used in conjunction with microvolts
-               and microamps to determine regulator output levels.
+               or microamps to determine configured regulator output levels.
+
+
+What:          /sys/class/regulator/.../status
+Description:
+               Some regulator directories will contain a field called
+               "status". This reports the current regulator status, for
+               regulators which can report that output value.
+
+               This will be one of the following strings:
+
+                       off
+                       on
+                       error
+                       fast
+                       normal
+                       idle
+                       standby
+
+               "off" means the regulator is not supplying power to the
+               system.
+
+               "on" means the regulator is supplying power to the system,
+               and the regulator can't report a detailed operation mode.
+
+               "error" indicates an out-of-regulation status such as being
+               disabled due to thermal shutdown, or voltage being unstable
+               because of problems with the input power supply.
+
+               "fast", "normal", "idle", and "standby" are all detailed
+               regulator operation modes (described elsewhere).  They
+               imply "on", but provide more detail.
+
+               Note that regulator status is a function of many inputs,
+               not limited to control inputs from Linux.  For example,
+               the actual load presented may trigger "error" status; or
+               a regulator may be enabled by another user, even though
+               Linux did not enable it.
 
 
 What:          /sys/class/regulator/.../type
@@ -58,7 +96,7 @@ Description:
                Some regulator directories will contain a field called
                microvolts. This holds the regulator output voltage setting
                measured in microvolts (i.e. E-6 Volts), for regulators
-               which can report that voltage.
+               which can report the control input for voltage.
 
                NOTE: This value should not be used to determine the regulator
                output voltage level as this value is the same regardless of
@@ -73,7 +111,7 @@ Description:
                Some regulator directories will contain a field called
                microamps. This holds the regulator output current limit
                setting measured in microamps (i.e. E-6 Amps), for regulators
-               which can report that current.
+               which can report the control input for a current limit.
 
                NOTE: This value should not be used to determine the regulator
                output current level as this value is the same regardless of
@@ -87,7 +125,7 @@ Contact:     Liam Girdwood <lrg@slimlogic.co.uk>
 Description:
                Some regulator directories will contain a field called
                opmode. This holds the current regulator operating mode,
-               for regulators which can report it.
+               for regulators which can report that control input value.
 
                The opmode value can be one of the following strings:
 
@@ -101,7 +139,8 @@ Description:
 
                NOTE: This value should not be used to determine the regulator
                output operating mode as this value is the same regardless of
-               whether the regulator is enabled or disabled.
+               whether the regulator is enabled or disabled.  A "status"
+               attribute may be available to determine the actual mode.
 
 
 What:          /sys/class/regulator/.../min_microvolts
diff --git a/Documentation/ABI/testing/sysfs-fs-ext4 b/Documentation/ABI/testing/sysfs-fs-ext4
new file mode 100644 (file)
index 0000000..4e79074
--- /dev/null
@@ -0,0 +1,81 @@
+What:          /sys/fs/ext4/<disk>/mb_stats
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+                Controls whether the multiblock allocator should
+                collect statistics, which are shown during the unmount.
+                1 means to collect statistics, 0 means not to collect
+                statistics
+
+What:          /sys/fs/ext4/<disk>/mb_group_prealloc
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               The multiblock allocator will round up allocation
+               requests to a multiple of this tuning parameter if the
+               stripe size is not set in the ext4 superblock
+
+What:          /sys/fs/ext4/<disk>/mb_max_to_scan
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               The maximum number of extents the multiblock allocator
+               will search to find the best extent
+
+What:          /sys/fs/ext4/<disk>/mb_min_to_scan
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               The minimum number of extents the multiblock allocator
+               will search to find the best extent
+
+What:          /sys/fs/ext4/<disk>/mb_order2_req
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               Tuning parameter which controls the minimum size for 
+               requests (as a power of 2) where the buddy cache is
+               used
+
+What:          /sys/fs/ext4/<disk>/mb_stream_req
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               Files which have fewer blocks than this tunable
+               parameter will have their blocks allocated out of a
+               block group specific preallocation pool, so that small
+               files are packed closely together.  Each large file
+                will have its blocks allocated out of its own unique
+                preallocation pool.
+
+What:          /sys/fs/ext4/<disk>/inode_readahead
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               Tuning parameter which controls the maximum number of
+               inode table blocks that ext4's inode table readahead
+               algorithm will pre-read into the buffer cache
+
+What:          /sys/fs/ext4/<disk>/delayed_allocation_blocks
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               This file is read-only and shows the number of blocks
+               that are dirty in the page cache, but which do not
+               have their location in the filesystem allocated yet.
+
+What:          /sys/fs/ext4/<disk>/lifetime_write_kbytes
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               This file is read-only and shows the number of kilobytes
+               of data that have been written to this filesystem since it was
+               created.
+
+What:          /sys/fs/ext4/<disk>/session_write_kbytes
+Date:          March 2008
+Contact:       "Theodore Ts'o" <tytso@mit.edu>
+Description:
+               This file is read-only and shows the number of
+               kilobytes of data that have been written to this
+               filesystem since it was mounted.
index c102c02..c6def35 100644 (file)
@@ -4,3 +4,7 @@
 *.html
 *.9.gz
 *.9
+*.aux
+*.dvi
+*.log
+*.out
index bc962cd..58c1945 100644 (file)
@@ -199,6 +199,7 @@ X!Edrivers/pci/hotplug.c
 -->
 !Edrivers/pci/probe.c
 !Edrivers/pci/rom.c
+!Edrivers/pci/iov.c
      </sect1>
      <sect1><title>PCI Hotplug Support Library</title>
 !Edrivers/pci/hotplug/pci_hotplug_core.c
index 256defd..dcf7acc 100644 (file)
        Revised Feb 12, 2004 by Martine Silbermann
                email: Martine.Silbermann@hp.com
        Revised Jun 25, 2004 by Tom L Nguyen
+       Revised Jul  9, 2008 by Matthew Wilcox <willy@linux.intel.com>
+               Copyright 2003, 2008 Intel Corporation
 
 1. About this guide
 
-This guide describes the basics of Message Signaled Interrupts (MSI),
-the advantages of using MSI over traditional interrupt mechanisms,
-and how to enable your driver to use MSI or MSI-X. Also included is
-a Frequently Asked Questions (FAQ) section.
-
-1.1 Terminology
-
-PCI devices can be single-function or multi-function.  In either case,
-when this text talks about enabling or disabling MSI on a "device
-function," it is referring to one specific PCI device and function and
-not to all functions on a PCI device (unless the PCI device has only
-one function).
-
-2. Copyright 2003 Intel Corporation
-
-3. What is MSI/MSI-X?
-
-Message Signaled Interrupt (MSI), as described in the PCI Local Bus
-Specification Revision 2.3 or later, is an optional feature, and a
-required feature for PCI Express devices. MSI enables a device function
-to request service by sending an Inbound Memory Write on its PCI bus to
-the FSB as a Message Signal Interrupt transaction. Because MSI is
-generated in the form of a Memory Write, all transaction conditions,
-such as a Retry, Master-Abort, Target-Abort or normal completion, are
-supported.
-
-A PCI device that supports MSI must also support pin IRQ assertion
-interrupt mechanism to provide backward compatibility for systems that
-do not support MSI. In systems which support MSI, the bus driver is
-responsible for initializing the message address and message data of
-the device function's MSI/MSI-X capability structure during device
-initial configuration.
-
-An MSI capable device function indicates MSI support by implementing
-the MSI/MSI-X capability structure in its PCI capability list. The
-device function may implement both the MSI capability structure and
-the MSI-X capability structure; however, the bus driver should not
-enable both.
-
-The MSI capability structure contains Message Control register,
-Message Address register and Message Data register. These registers
-provide the bus driver control over MSI. The Message Control register
-indicates the MSI capability supported by the device. The Message
-Address register specifies the target address and the Message Data
-register specifies the characteristics of the message. To request
-service, the device function writes the content of the Message Data
-register to the target address. The device and its software driver
-are prohibited from writing to these registers.
-
-The MSI-X capability structure is an optional extension to MSI. It
-uses an independent and separate capability structure. There are
-some key advantages to implementing the MSI-X capability structure
-over the MSI capability structure as described below.
-
-       - Support a larger maximum number of vectors per function.
-
-       - Provide the ability for system software to configure
-       each vector with an independent message address and message
-       data, specified by a table that resides in Memory Space.
-
-        - MSI and MSI-X both support per-vector masking. Per-vector
-       masking is an optional extension of MSI but a required
-       feature for MSI-X. Per-vector masking provides the kernel the
-       ability to mask/unmask a single MSI while running its
-       interrupt service routine. If per-vector masking is
-       not supported, then the device driver should provide the
-       hardware/software synchronization to ensure that the device
-       generates MSI when the driver wants it to do so.
-
-4. Why use MSI?
-
-As a benefit to the simplification of board design, MSI allows board
-designers to remove out-of-band interrupt routing. MSI is another
-step towards a legacy-free environment.
-
-Due to increasing pressure on chipset and processor packages to
-reduce pin count, the need for interrupt pins is expected to
-diminish over time. Devices, due to pin constraints, may implement
-messages to increase performance.
-
-PCI Express endpoints uses INTx emulation (in-band messages) instead
-of IRQ pin assertion. Using INTx emulation requires interrupt
-sharing among devices connected to the same node (PCI bridge) while
-MSI is unique (non-shared) and does not require BIOS configuration
-support. As a result, the PCI Express technology requires MSI
-support for better interrupt performance.
-
-Using MSI enables the device functions to support two or more
-vectors, which can be configured to target different CPUs to
-increase scalability.
-
-5. Configuring a driver to use MSI/MSI-X
-
-By default, the kernel will not enable MSI/MSI-X on all devices that
-support this capability. The CONFIG_PCI_MSI kernel option
-must be selected to enable MSI/MSI-X support.
-
-5.1 Including MSI/MSI-X support into the kernel
-
-To allow MSI/MSI-X capable device drivers to selectively enable
-MSI/MSI-X (using pci_enable_msi()/pci_enable_msix() as described
-below), the VECTOR based scheme needs to be enabled by setting
-CONFIG_PCI_MSI during kernel config.
-
-Since the target of the inbound message is the local APIC, providing
-CONFIG_X86_LOCAL_APIC must be enabled as well as CONFIG_PCI_MSI.
-
-5.2 Configuring for MSI support
-
-Due to the non-contiguous fashion in vector assignment of the
-existing Linux kernel, this version does not support multiple
-messages regardless of a device function is capable of supporting
-more than one vector. To enable MSI on a device function's MSI
-capability structure requires a device driver to call the function
-pci_enable_msi() explicitly.
-
-5.2.1 API pci_enable_msi
+This guide describes the basics of Message Signaled Interrupts (MSIs),
+the advantages of using MSI over traditional interrupt mechanisms, how
+to change your driver to use MSI or MSI-X and some basic diagnostics to
+try if a device doesn't support MSIs.
 
-int pci_enable_msi(struct pci_dev *dev)
 
-With this new API, a device driver that wants to have MSI
-enabled on its device function must call this API to enable MSI.
-A successful call will initialize the MSI capability structure
-with ONE vector, regardless of whether a device function is
-capable of supporting multiple messages. This vector replaces the
-pre-assigned dev->irq with a new MSI vector. To avoid a conflict
-of the new assigned vector with existing pre-assigned vector requires
-a device driver to call this API before calling request_irq().
+2. What are MSIs?
 
-5.2.2 API pci_disable_msi
+A Message Signaled Interrupt is a write from the device to a special
+address which causes an interrupt to be received by the CPU.
 
-void pci_disable_msi(struct pci_dev *dev)
+The MSI capability was first specified in PCI 2.2 and was later enhanced
+in PCI 3.0 to allow each interrupt to be masked individually.  The MSI-X
+capability was also introduced with PCI 3.0.  It supports more interrupts
+per device than MSI and allows interrupts to be independently configured.
 
-This API should always be used to undo the effect of pci_enable_msi()
-when a device driver is unloading. This API restores dev->irq with
-the pre-assigned IOAPIC vector and switches a device's interrupt
-mode to PCI pin-irq assertion/INTx emulation mode.
-
-Note that a device driver should always call free_irq() on the MSI vector
-that it has done request_irq() on before calling this API. Failure to do
-so results in a BUG_ON() and a device will be left with MSI enabled and
-leaks its vector.
-
-5.2.3 MSI mode vs. legacy mode diagram
-
-The below diagram shows the events which switch the interrupt
-mode on the MSI-capable device function between MSI mode and
-PIN-IRQ assertion mode.
-
-        ------------   pci_enable_msi   ------------------------
-       |            | <=============== |                        |
-       | MSI MODE   |                  | PIN-IRQ ASSERTION MODE |
-       |            | ===============> |                        |
-        ------------   pci_disable_msi  ------------------------
-
-
-Figure 1. MSI Mode vs. Legacy Mode
-
-In Figure 1, a device operates by default in legacy mode. Legacy
-in this context means PCI pin-irq assertion or PCI-Express INTx
-emulation. A successful MSI request (using pci_enable_msi()) switches
-a device's interrupt mode to MSI mode. A pre-assigned IOAPIC vector
-stored in dev->irq will be saved by the PCI subsystem and a new
-assigned MSI vector will replace dev->irq.
-
-To return back to its default mode, a device driver should always call
-pci_disable_msi() to undo the effect of pci_enable_msi(). Note that a
-device driver should always call free_irq() on the MSI vector it has
-done request_irq() on before calling pci_disable_msi(). Failure to do
-so results in a BUG_ON() and a device will be left with MSI enabled and
-leaks its vector. Otherwise, the PCI subsystem restores a device's
-dev->irq with a pre-assigned IOAPIC vector and marks the released
-MSI vector as unused.
-
-Once being marked as unused, there is no guarantee that the PCI
-subsystem will reserve this MSI vector for a device. Depending on
-the availability of current PCI vector resources and the number of
-MSI/MSI-X requests from other drivers, this MSI may be re-assigned.
-
-For the case where the PCI subsystem re-assigns this MSI vector to
-another driver, a request to switch back to MSI mode may result
-in being assigned a different MSI vector or a failure if no more
-vectors are available.
-
-5.3 Configuring for MSI-X support
-
-Due to the ability of the system software to configure each vector of
-the MSI-X capability structure with an independent message address
-and message data, the non-contiguous fashion in vector assignment of
-the existing Linux kernel has no impact on supporting multiple
-messages on an MSI-X capable device functions. To enable MSI-X on
-a device function's MSI-X capability structure requires its device
-driver to call the function pci_enable_msix() explicitly.
-
-The function pci_enable_msix(), once invoked, enables either
-all or nothing, depending on the current availability of PCI vector
-resources. If the PCI vector resources are available for the number
-of vectors requested by a device driver, this function will configure
-the MSI-X table of the MSI-X capability structure of a device with
-requested messages. To emphasize this reason, for example, a device
-may be capable for supporting the maximum of 32 vectors while its
-software driver usually may request 4 vectors. It is recommended
-that the device driver should call this function once during the
-initialization phase of the device driver.
-
-Unlike the function pci_enable_msi(), the function pci_enable_msix()
-does not replace the pre-assigned IOAPIC dev->irq with a new MSI
-vector because the PCI subsystem writes the 1:1 vector-to-entry mapping
-into the field vector of each element contained in a second argument.
-Note that the pre-assigned IOAPIC dev->irq is valid only if the device
-operates in PIN-IRQ assertion mode. In MSI-X mode, any attempt at
-using dev->irq by the device driver to request for interrupt service
-may result in unpredictable behavior.
-
-For each MSI-X vector granted, a device driver is responsible for calling
-other functions like request_irq(), enable_irq(), etc. to enable
-this vector with its corresponding interrupt service handler. It is
-a device driver's choice to assign all vectors with the same
-interrupt service handler or each vector with a unique interrupt
-service handler.
-
-5.3.1 Handling MMIO address space of MSI-X Table
-
-The PCI 3.0 specification has implementation notes that MMIO address
-space for a device's MSI-X structure should be isolated so that the
-software system can set different pages for controlling accesses to the
-MSI-X structure. The implementation of MSI support requires the PCI
-subsystem, not a device driver, to maintain full control of the MSI-X
-table/MSI-X PBA (Pending Bit Array) and MMIO address space of the MSI-X
-table/MSI-X PBA.  A device driver should not access the MMIO address
-space of the MSI-X table/MSI-X PBA.
-
-5.3.2 API pci_enable_msix
+Devices may support both MSI and MSI-X, but only one can be enabled at
+a time.
 
-int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec)
 
-This API enables a device driver to request the PCI subsystem
-to enable MSI-X messages on its hardware device. Depending on
-the availability of PCI vectors resources, the PCI subsystem enables
-either all or none of the requested vectors.
+3. Why use MSIs?
+
+There are three reasons why using MSIs can give an advantage over
+traditional pin-based interrupts.
+
+Pin-based PCI interrupts are often shared amongst several devices.
+To support this, the kernel must call each interrupt handler associated
+with an interrupt, which leads to reduced performance for the system as
+a whole.  MSIs are never shared, so this problem cannot arise.
+
+When a device writes data to memory, then raises a pin-based interrupt,
+it is possible that the interrupt may arrive before all the data has
+arrived in memory (this becomes more likely with devices behind PCI-PCI
+bridges).  In order to ensure that all the data has arrived in memory,
+the interrupt handler must read a register on the device which raised
+the interrupt.  PCI transaction ordering rules require that all the data
+arrives in memory before the value can be returned from the register.
+Using MSIs avoids this problem as the interrupt-generating write cannot
+pass the data writes, so by the time the interrupt is raised, the driver
+knows that all the data has arrived in memory.
+
+PCI devices can only support a single pin-based interrupt per function.
+Often drivers have to query the device to find out what event has
+occurred, slowing down interrupt handling for the common case.  With
+MSIs, a device can support more interrupts, allowing each interrupt
+to be specialised to a different purpose.  One possible design gives
+infrequent conditions (such as errors) their own interrupt which allows
+the driver to handle the normal interrupt handling path more efficiently.
+Other possible designs include giving one interrupt to each packet queue
+in a network card or each port in a storage controller.
+
+
+4. How to use MSIs
+
+PCI devices are initialised to use pin-based interrupts.  The device
+driver has to set up the device to use MSI or MSI-X.  Not all machines
+support MSIs correctly, and for those machines, the APIs described below
+will simply fail and the device will continue to use pin-based interrupts.
+
+4.1 Include kernel support for MSIs
+
+To support MSI or MSI-X, the kernel must be built with the CONFIG_PCI_MSI
+option enabled.  This option is only available on some architectures,
+and it may depend on some other options also being set.  For example,
+on x86, you must also enable X86_UP_APIC or SMP in order to see the
+CONFIG_PCI_MSI option.
+
+4.2 Using MSI
+
+Most of the hard work is done for the driver in the PCI layer.  It simply
+has to request that the PCI layer set up the MSI capability for this
+device.
+
+4.2.1 pci_enable_msi
+
+int pci_enable_msi(struct pci_dev *dev)
+
+A successful call will allocate ONE interrupt to the device, regardless
+of how many MSIs the device supports.  The device will be switched from
+pin-based interrupt mode to MSI mode.  The dev->irq number is changed
+to a new number which represents the message signaled interrupt.
+This function should be called before the driver calls request_irq()
+since enabling MSIs disables the pin-based IRQ and the driver will not
+receive interrupts on the old interrupt.
+
+4.2.2 pci_enable_msi_block
+
+int pci_enable_msi_block(struct pci_dev *dev, int count)
+
+This variation on the above call allows a device driver to request multiple
+MSIs.  The MSI specification only allows interrupts to be allocated in
+powers of two, up to a maximum of 2^5 (32).
+
+If this function returns 0, it has succeeded in allocating at least as many
+interrupts as the driver requested (it may have allocated more in order
+to satisfy the power-of-two requirement).  In this case, the function
+enables MSI on this device and updates dev->irq to be the lowest of
+the new interrupts assigned to it.  The other interrupts assigned to
+the device are in the range dev->irq to dev->irq + count - 1.
+
+If this function returns a negative number, it indicates an error and
+the driver should not attempt to request any more MSI interrupts for
+this device.  If this function returns a positive number, it will be
+less than 'count' and indicate the number of interrupts that could have
+been allocated.  In neither case will the irq value have been
+updated, nor will the device have been switched into MSI mode.
+
+The device driver must decide what action to take if
+pci_enable_msi_block() returns a value less than the number asked for.
+Some devices can make use of fewer interrupts than the maximum they
+request; in this case the driver should call pci_enable_msi_block()
+again.  Note that it is not guaranteed to succeed, even when the
+'count' has been reduced to the value returned from a previous call to
+pci_enable_msi_block().  This is because there are multiple constraints
+on the number of vectors that can be allocated; pci_enable_msi_block()
+will return as soon as it finds any constraint that doesn't allow the
+call to succeed.
+
+4.2.3 pci_disable_msi
+
+void pci_disable_msi(struct pci_dev *dev)
 
-Argument 'dev' points to the device (pci_dev) structure.
+This function should be used to undo the effect of pci_enable_msi() or
+pci_enable_msi_block().  Calling it restores dev->irq to the pin-based
+interrupt number and frees the previously allocated message signaled
+interrupt(s).  The interrupt may subsequently be assigned to another
+device, so drivers should not cache the value of dev->irq.
 
-Argument 'entries' is a pointer to an array of msix_entry structs.
-The number of entries is indicated in argument 'nvec'.
-struct msix_entry is defined in /driver/pci/msi.h:
+A device driver must always call free_irq() on the interrupt(s)
+for which it has called request_irq() before calling this function.
+Failure to do so will result in a BUG_ON(), the device will be left with
+MSI enabled and will leak its vector.
+
+4.3 Using MSI-X
+
+The MSI-X capability is much more flexible than the MSI capability.
+It supports up to 2048 interrupts, each of which can be controlled
+independently.  To support this flexibility, drivers must use an array of
+`struct msix_entry':
 
 struct msix_entry {
        u16     vector; /* kernel uses to write alloc vector */
        u16     entry; /* driver uses to specify entry */
 };
 
-A device driver is responsible for initializing the field 'entry' of
-each element with a unique entry supported by MSI-X table. Otherwise,
--EINVAL will be returned as a result. A successful return of zero
-indicates the PCI subsystem completed initializing each of the requested
-entries of the MSI-X table with message address and message data.
-Last but not least, the PCI subsystem will write the 1:1
-vector-to-entry mapping into the field 'vector' of each element. A
-device driver is responsible for keeping track of allocated MSI-X
-vectors in its internal data structure.
-
-A return of zero indicates that the number of MSI-X vectors was
-successfully allocated. A return of greater than zero indicates
-MSI-X vector shortage. Or a return of less than zero indicates
-a failure. This failure may be a result of duplicate entries
-specified in second argument, or a result of no available vector,
-or a result of failing to initialize MSI-X table entries.
-
-5.3.3 API pci_disable_msix
+This allows for the device to use these interrupts in a sparse fashion;
+for example it could use interrupts 3 and 1027 and allocate only a
+two-element array.  The driver is expected to fill in the 'entry' value
+in each element of the array to indicate which entries it wants the kernel
+to assign interrupts for.  It is invalid to fill in two entries with the
+same number.
+
+4.3.1 pci_enable_msix
+
+int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec)
+
+Calling this function asks the PCI subsystem to allocate 'nvec' MSIs.
+The 'entries' argument is a pointer to an array of msix_entry structs
+which should be at least 'nvec' entries in size.  On success, the
+function will return 0 and the device will have been switched into
+MSI-X interrupt mode.  The 'vector' elements in each entry will have
+been filled in with the interrupt number.  The driver should then call
+request_irq() for each 'vector' that it decides to use.
+
+If this function returns a negative number, it indicates an error and
+the driver should not attempt to allocate any more MSI-X interrupts for
+this device.  If it returns a positive number, it indicates the maximum
+number of interrupt vectors that could have been allocated. See example
+below.
+
+This function, in contrast with pci_enable_msi(), does not adjust
+dev->irq.  The device will not generate interrupts for this interrupt
+number once MSI-X is enabled.  The device driver is responsible for
+keeping track of the interrupts assigned to the MSI-X vectors so it can
+free them again later.
+
+Device drivers should normally call this function once per device
+during the initialization phase.
+
+It is ideal if drivers can cope with a variable number of MSI-X interrupts,
+there are many reasons why the platform may not be able to provide the
+exact number a driver asks for.
+
+A request loop to achieve that might look like:
+
+static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec)
+{
+       while (nvec >= FOO_DRIVER_MINIMUM_NVEC) {
+               rc = pci_enable_msix(adapter->pdev,
+                                    adapter->msix_entries, nvec);
+               if (rc > 0)
+                       nvec = rc;
+               else
+                       return rc;
+       }
+
+       return -ENOSPC;
+}
+
+4.3.2 pci_disable_msix
 
 void pci_disable_msix(struct pci_dev *dev)
 
-This API should always be used to undo the effect of pci_enable_msix()
-when a device driver is unloading. Note that a device driver should
-always call free_irq() on all MSI-X vectors it has done request_irq()
-on before calling this API. Failure to do so results in a BUG_ON() and
-a device will be left with MSI-X enabled and leaks its vectors.
-
-5.3.4 MSI-X mode vs. legacy mode diagram
-
-The below diagram shows the events which switch the interrupt
-mode on the MSI-X capable device function between MSI-X mode and
-PIN-IRQ assertion mode (legacy).
-
-        ------------   pci_enable_msix(,,n) ------------------------
-       |            | <===============     |                        |