From 352771d8dfacc828fdee58d5def490d5fb480c83 Mon Sep 17 00:00:00 2001 From: Marc Fiuczynski Date: Mon, 8 Aug 2005 21:12:01 +0000 Subject: [PATCH] fedora core 2.6.10-1.12-FC2 --- .config | 271 +- .config.cmd | 8 +- .config.old | 200 +- CREDITS | 22 +- Documentation/00-INDEX | 54 +- Documentation/DMA-API.txt | 2 +- Documentation/DocBook/Makefile | 15 +- Documentation/DocBook/deviceiobook.tmpl | 103 +- Documentation/DocBook/kernel-api.tmpl | 5 + Documentation/DocBook/kernel-hacking.tmpl | 2 +- Documentation/DocBook/libata.tmpl | 192 +- Documentation/DocBook/procfs-guide.tmpl | 4 +- Documentation/DocBook/videobook.tmpl | 14 +- Documentation/IO-mapping.txt | 7 +- Documentation/RCU/listRCU.txt | 2 +- Documentation/arm/Booting | 4 + Documentation/arm/IXP2000 | 10 +- Documentation/arm/IXP4xx | 11 +- Documentation/arm/README | 4 +- .../arm/Samsung-S3C24XX/EB2410ITX.txt | 24 +- .../arm/Samsung-S3C24XX/Overview.txt | 19 +- Documentation/arm/Sharp-LH/IOBarrier | 33 +- Documentation/block/as-iosched.txt | 2 +- Documentation/block/biodoc.txt | 3 +- Documentation/block/deadline-iosched.txt | 2 +- Documentation/cdrom/00-INDEX | 2 + Documentation/computone.txt | 15 +- Documentation/cpqarray.txt | 54 +- Documentation/cpu-freq/user-guide.txt | 1 + Documentation/crypto/api-intro.txt | 3 + Documentation/devices.txt | 30 +- Documentation/digiepca.txt | 26 +- Documentation/dnotify.txt | 6 + Documentation/dvb/avermedia.txt | 26 +- Documentation/dvb/cards.txt | 18 +- Documentation/dvb/contributors.txt | 2 + Documentation/dvb/readme.txt | 13 +- Documentation/dvb/ttusb-dec.txt | 40 +- Documentation/fb/matroxfb.txt | 7 + Documentation/fb/vesafb.txt | 7 +- Documentation/filesystems/Locking | 12 +- Documentation/filesystems/devfs/ChangeLog | 2 +- Documentation/filesystems/devfs/README | 47 - Documentation/filesystems/ext2.txt | 60 +- Documentation/filesystems/ntfs.txt | 180 +- Documentation/filesystems/proc.txt | 84 +- Documentation/filesystems/ufs.txt | 15 +- Documentation/filesystems/vfs.txt | 197 +- Documentation/floppy.txt | 48 +- Documentation/ftape.txt | 96 +- Documentation/hw_random.txt | 69 - Documentation/i2c/dev-interface | 4 +- Documentation/i2c/sysfs-interface | 32 +- Documentation/i2c/writing-clients | 74 +- Documentation/ide.txt | 11 +- Documentation/kbuild/makefiles.txt | 38 +- Documentation/kbuild/modules.txt | 487 +- Documentation/kernel-parameters.txt | 113 +- Documentation/md.txt | 23 +- Documentation/memory.txt | 6 +- Documentation/networking/e100.txt | 138 +- Documentation/networking/e1000.txt | 217 +- Documentation/networking/ip-sysctl.txt | 6 + Documentation/networking/ixgb.txt | 37 +- Documentation/nmi_watchdog.txt | 14 + Documentation/parisc/registers | 23 +- Documentation/pci.txt | 21 +- Documentation/pm.txt | 8 +- Documentation/power/pci.txt | 51 +- Documentation/power/swsusp.txt | 82 +- Documentation/power/video.txt | 11 +- Documentation/ramdisk.txt | 141 +- Documentation/rocket.txt | 108 +- Documentation/s390/s390dbf.txt | 55 +- Documentation/scsi/ChangeLog.megaraid | 24 + Documentation/scsi/scsi_mid_low_api.txt | 56 +- Documentation/scsi/sym53c8xx_2.txt | 358 +- Documentation/sonypi.txt | 62 +- .../sound/alsa/ALSA-Configuration.txt | 14 +- .../alsa/DocBook/writing-an-alsa-driver.tmpl | 45 +- Documentation/sound/alsa/Joystick.txt | 10 +- Documentation/sound/oss/README.modules | 5 +- Documentation/sysctl/vm.txt | 2 +- Documentation/sysrq.txt | 8 + Documentation/tipar.txt | 26 +- Documentation/tty.txt | 12 +- Documentation/usb/error-codes.txt | 43 +- Documentation/usb/silverlink.txt | 6 +- Documentation/usb/sn9c102.txt | 229 +- Documentation/usb/usb-serial.txt | 56 + Documentation/usb/w9968cf.txt | 51 +- Documentation/video4linux/meye.txt | 38 +- Documentation/vm/overcommit-accounting | 3 + Documentation/x86_64/boot-options.txt | 16 +- MAINTAINERS | 116 +- Makefile | 67 +- arch/alpha/Makefile | 2 +- arch/alpha/boot/bootloader.lds | 1 + arch/alpha/boot/bootp.c | 19 +- arch/alpha/boot/bootpz.c | 25 +- arch/alpha/boot/head.S | 21 + arch/alpha/boot/misc.c | 12 - arch/alpha/kernel/alpha_ksyms.c | 2 +- arch/alpha/kernel/console.c | 2 +- arch/alpha/kernel/irq.c | 2 +- arch/alpha/kernel/pci.c | 20 +- arch/alpha/kernel/pci_impl.h | 1 - arch/alpha/kernel/signal.c | 2 +- arch/alpha/kernel/smp.c | 2 +- arch/alpha/kernel/srmcons.c | 31 +- arch/alpha/kernel/sys_alcor.c | 2 +- arch/alpha/kernel/sys_cabriolet.c | 2 +- arch/alpha/kernel/sys_dp264.c | 2 +- arch/alpha/kernel/sys_eb64p.c | 2 +- arch/alpha/kernel/sys_eiger.c | 2 +- arch/alpha/kernel/sys_marvel.c | 2 +- arch/alpha/kernel/sys_mikasa.c | 2 +- arch/alpha/kernel/sys_nautilus.c | 2 +- arch/alpha/kernel/sys_noritake.c | 2 +- arch/alpha/kernel/sys_rx164.c | 2 +- arch/alpha/kernel/sys_sx164.c | 2 +- arch/alpha/kernel/sys_titan.c | 2 +- arch/alpha/kernel/sys_wildfire.c | 2 +- arch/alpha/kernel/time.c | 3 + arch/alpha/lib/csum_partial_copy.c | 6 +- arch/alpha/lib/dec_and_lock.c | 8 +- arch/arm/Kconfig | 144 +- arch/arm/Kconfig.debug | 5 +- arch/arm/Makefile | 49 +- arch/arm/boot/Makefile | 86 +- arch/arm/boot/compressed/Makefile | 3 - arch/arm/boot/compressed/head-sa1100.S | 36 +- arch/arm/boot/compressed/head.S | 8 + arch/arm/common/Makefile | 2 + arch/arm/common/amba.c | 2 +- arch/arm/common/locomo.c | 23 +- arch/arm/common/sa1111.c | 25 +- arch/arm/common/time-acorn.c | 33 +- arch/arm/configs/bast_defconfig | 179 +- arch/arm/configs/ep80219_defconfig | 88 +- arch/arm/configs/integrator_defconfig | 768 +-- arch/arm/configs/iq31244_defconfig | 86 +- arch/arm/configs/iq80321_defconfig | 72 +- arch/arm/configs/iq80331_defconfig | 86 +- arch/arm/configs/pleb_defconfig | 676 ++- arch/arm/configs/s3c2410_defconfig | 133 +- arch/arm/configs/versatile_defconfig | 12 +- arch/arm/kernel/Makefile | 2 +- arch/arm/kernel/armksyms.c | 7 +- arch/arm/kernel/asm-offsets.c | 2 + arch/arm/kernel/bios32.c | 12 +- arch/arm/kernel/debug.S | 28 +- arch/arm/kernel/ecard.c | 41 +- arch/arm/kernel/entry-armv.S | 4 +- arch/arm/kernel/fiq.c | 33 +- arch/arm/kernel/head.S | 109 +- arch/arm/kernel/io.c | 6 +- arch/arm/kernel/irq.c | 48 +- arch/arm/kernel/module.c | 13 + arch/arm/kernel/process.c | 2 + arch/arm/kernel/setup.c | 31 +- arch/arm/kernel/signal.c | 211 +- arch/arm/kernel/sys_arm.c | 20 +- arch/arm/kernel/time.c | 68 +- arch/arm/kernel/traps.c | 23 +- arch/arm/kernel/vmlinux.lds.S | 35 +- arch/arm/lib/Makefile | 6 +- arch/arm/lib/csumpartial.S | 3 +- arch/arm/lib/csumpartialcopygeneric.S | 3 +- arch/arm/lib/delay.S | 13 +- arch/arm/lib/getuser.S | 22 +- arch/arm/lib/io-writesl.S | 57 +- arch/arm/lib/longlong.h | 1 - arch/arm/lib/putuser.S | 16 +- arch/arm/mach-clps711x/autcpu12.c | 6 +- arch/arm/mach-clps711x/cdb89712.c | 14 +- arch/arm/mach-clps711x/ceiva.c | 5 +- arch/arm/mach-clps711x/clep7312.c | 6 +- arch/arm/mach-clps711x/edb7211-arch.c | 6 +- arch/arm/mach-clps711x/fortunet.c | 6 +- arch/arm/mach-clps711x/p720t.c | 6 +- arch/arm/mach-clps711x/time.c | 10 +- arch/arm/mach-clps7500/core.c | 65 +- arch/arm/mach-ebsa110/core.c | 51 +- arch/arm/mach-ebsa110/io.c | 58 +- arch/arm/mach-epxa10db/arch.c | 35 +- arch/arm/mach-epxa10db/time.c | 7 +- arch/arm/mach-footbridge/Kconfig | 23 + arch/arm/mach-footbridge/Makefile | 13 +- arch/arm/mach-footbridge/cats-hw.c | 30 + arch/arm/mach-footbridge/netwinder-hw.c | 48 +- arch/arm/mach-footbridge/time.c | 122 +- arch/arm/mach-h720x/Kconfig | 4 + arch/arm/mach-h720x/cpu-h7201.c | 17 +- arch/arm/mach-h720x/cpu-h7202.c | 59 +- arch/arm/mach-h720x/h7201-eval.c | 7 +- arch/arm/mach-h720x/h7202-eval.c | 8 +- arch/arm/mach-imx/generic.h | 4 +- arch/arm/mach-imx/mx1ads.c | 2 +- arch/arm/mach-imx/time.c | 16 +- arch/arm/mach-integrator/core.c | 11 +- arch/arm/mach-integrator/integrator_ap.c | 11 +- arch/arm/mach-integrator/integrator_cp.c | 11 +- arch/arm/mach-iop3xx/Makefile | 2 +- arch/arm/mach-iop3xx/common.c | 1 - arch/arm/mach-iop3xx/iop321-setup.c | 75 +- arch/arm/mach-iop3xx/iop321-time.c | 62 +- arch/arm/mach-iop3xx/iop331-setup.c | 5 +- arch/arm/mach-iop3xx/iop331-time.c | 62 +- arch/arm/mach-ixp2000/core.c | 58 +- arch/arm/mach-ixp2000/enp2611.c | 12 +- arch/arm/mach-ixp2000/ixdp2400.c | 12 +- arch/arm/mach-ixp2000/ixdp2800.c | 12 +- arch/arm/mach-ixp2000/ixdp2x00.c | 9 +- arch/arm/mach-ixp2000/ixdp2x01.c | 49 +- arch/arm/mach-ixp2000/pci.c | 8 +- arch/arm/mach-ixp4xx/Kconfig | 7 + arch/arm/mach-ixp4xx/Makefile | 1 + arch/arm/mach-ixp4xx/common-pci.c | 31 +- arch/arm/mach-ixp4xx/common.c | 17 +- arch/arm/mach-ixp4xx/coyote-setup.c | 37 +- arch/arm/mach-ixp4xx/ixdp425-setup.c | 6 +- arch/arm/mach-ixp4xx/prpmc1100-setup.c | 2 +- arch/arm/mach-lh7a40x/arch-kev7a400.c | 8 +- arch/arm/mach-lh7a40x/arch-lpd7a40x.c | 14 +- arch/arm/mach-lh7a40x/time.c | 10 +- arch/arm/mach-omap/Kconfig | 65 +- arch/arm/mach-omap/Makefile | 6 +- arch/arm/mach-omap/board-generic.c | 35 +- arch/arm/mach-omap/board-h2.c | 22 +- arch/arm/mach-omap/board-h3.c | 15 +- arch/arm/mach-omap/board-innovator.c | 42 +- arch/arm/mach-omap/board-osk.c | 24 +- arch/arm/mach-omap/board-perseus2.c | 8 +- arch/arm/mach-omap/common.c | 409 +- arch/arm/mach-omap/common.h | 6 +- arch/arm/mach-omap/dma.c | 388 +- arch/arm/mach-omap/gpio.c | 22 +- arch/arm/mach-omap/irq.c | 10 +- arch/arm/mach-omap/mcbsp.c | 32 +- arch/arm/mach-omap/mux.c | 60 +- arch/arm/mach-omap/ocpi.c | 14 +- arch/arm/mach-omap/time.c | 229 +- arch/arm/mach-omap/usb.c | 116 +- arch/arm/mach-pxa/generic.c | 7 +- arch/arm/mach-pxa/generic.h | 4 +- arch/arm/mach-pxa/idp.c | 2 +- arch/arm/mach-pxa/lubbock.c | 20 +- arch/arm/mach-pxa/mainstone.c | 60 +- arch/arm/mach-pxa/pm.c | 25 +- arch/arm/mach-pxa/pxa27x.c | 46 +- arch/arm/mach-pxa/time.c | 43 +- arch/arm/mach-rpc/riscpc.c | 101 +- arch/arm/mach-s3c2410/Kconfig | 48 + arch/arm/mach-s3c2410/Makefile | 6 +- arch/arm/mach-s3c2410/clock.c | 193 +- arch/arm/mach-s3c2410/clock.h | 29 +- arch/arm/mach-s3c2410/cpu.c | 50 +- arch/arm/mach-s3c2410/cpu.h | 18 + arch/arm/mach-s3c2410/devs.c | 6 + arch/arm/mach-s3c2410/dma.c | 99 +- arch/arm/mach-s3c2410/gpio.c | 17 + arch/arm/mach-s3c2410/irq.c | 84 +- arch/arm/mach-s3c2410/mach-bast.c | 94 +- arch/arm/mach-s3c2410/mach-h1940.c | 20 +- arch/arm/mach-s3c2410/mach-smdk2410.c | 17 +- arch/arm/mach-s3c2410/mach-vr1000.c | 67 +- arch/arm/mach-s3c2410/s3c2410.c | 96 +- arch/arm/mach-s3c2410/s3c2410.h | 22 +- arch/arm/mach-s3c2410/s3c2440-dsc.c | 7 +- arch/arm/mach-s3c2410/s3c2440.c | 145 +- arch/arm/mach-s3c2410/s3c2440.h | 7 +- arch/arm/mach-s3c2410/time.c | 138 +- arch/arm/mach-s3c2410/usb-simtec.c | 20 +- arch/arm/mach-sa1100/Kconfig | 174 +- arch/arm/mach-sa1100/Makefile | 46 +- arch/arm/mach-sa1100/assabet.c | 120 +- arch/arm/mach-sa1100/badge4.c | 47 +- arch/arm/mach-sa1100/cerf.c | 64 +- arch/arm/mach-sa1100/collie.c | 52 +- arch/arm/mach-sa1100/generic.c | 59 +- arch/arm/mach-sa1100/generic.h | 13 +- arch/arm/mach-sa1100/h3600.c | 107 +- arch/arm/mach-sa1100/hackkit.c | 70 +- arch/arm/mach-sa1100/jornada720.c | 2 +- arch/arm/mach-sa1100/lart.c | 4 +- arch/arm/mach-sa1100/leds-simpad.c | 7 +- arch/arm/mach-sa1100/neponset.c | 23 +- arch/arm/mach-sa1100/pleb.c | 121 +- arch/arm/mach-sa1100/pm.c | 24 +- arch/arm/mach-sa1100/shannon.c | 40 +- arch/arm/mach-sa1100/simpad.c | 151 +- arch/arm/mach-sa1100/sleep.S | 4 +- arch/arm/mach-sa1100/time.c | 44 +- arch/arm/mach-shark/core.c | 51 +- arch/arm/mach-versatile/Makefile | 2 + arch/arm/mach-versatile/clock.c | 11 +- arch/arm/mach-versatile/clock.h | 6 +- arch/arm/mach-versatile/core.c | 210 +- arch/arm/mm/Kconfig | 25 +- arch/arm/mm/copypage-v6.c | 1 + arch/arm/mm/init.c | 8 +- arch/arm/mm/ioremap.c | 6 +- arch/arm/mm/mm-armv.c | 69 +- arch/arm/mm/proc-arm720.S | 4 +- arch/arm/mm/proc-v6.S | 9 +- arch/arm/mm/proc-xscale.S | 21 + arch/arm/nwfpe/double_cpdo.c | 8 + arch/arm/tools/mach-types | 25 +- arch/arm/vfp/vfp.h | 11 + arch/arm/vfp/vfpdouble.c | 10 +- arch/arm/vfp/vfphw.S | 5 + arch/arm/vfp/vfpsingle.c | 6 +- arch/arm26/kernel/time.c | 3 + arch/arm26/machine/dma.c | 2 +- arch/arm26/machine/small_page.c | 2 +- arch/cris/Kconfig.debug | 27 +- arch/cris/Makefile | 4 +- arch/cris/arch-v10/drivers/Kconfig | 39 +- arch/cris/arch-v10/drivers/Makefile | 4 - arch/cris/arch-v10/drivers/axisflashmap.c | 61 +- arch/cris/arch-v10/drivers/ds1302.c | 5 +- arch/cris/arch-v10/drivers/gpio.c | 5 +- arch/cris/arch-v10/drivers/i2c.c | 18 +- arch/cris/arch-v10/drivers/pcf8563.c | 4 +- arch/cris/arch-v10/kernel/Makefile | 3 +- arch/cris/arch-v10/kernel/debugport.c | 468 +- arch/cris/arch-v10/kernel/entry.S | 139 +- arch/cris/arch-v10/kernel/irq.c | 33 +- arch/cris/arch-v10/kernel/kgdb.c | 7 +- arch/cris/arch-v10/kernel/process.c | 24 +- arch/cris/arch-v10/kernel/ptrace.c | 44 +- arch/cris/arch-v10/kernel/signal.c | 28 +- arch/cris/arch-v10/kernel/time.c | 6 +- arch/cris/arch-v10/mm/fault.c | 104 +- arch/cris/arch-v10/mm/tlb.c | 20 +- arch/cris/arch-v10/vmlinux.lds.S | 1 + arch/cris/kernel/irq.c | 2 +- arch/h8300/kernel/setup.c | 2 +- arch/h8300/kernel/signal.c | 420 +- arch/h8300/kernel/time.c | 3 + arch/h8300/kernel/vmlinux.lds.S | 146 +- arch/h8300/platform/h8300h/entry.S | 6 +- arch/h8300/platform/h8s/edosk2674/crt0_rom.S | 2 +- arch/h8300/platform/h8s/entry.S | 6 +- arch/i386/Kconfig | 69 +- arch/i386/Kconfig.debug | 69 +- arch/i386/Makefile | 13 +- arch/i386/crypto/aes-i586-asm.S | 325 +- arch/i386/defconfig | 1 + arch/i386/kernel/Makefile | 5 +- arch/i386/kernel/acpi/Makefile | 1 + arch/i386/kernel/acpi/boot.c | 67 +- arch/i386/kernel/acpi/sleep.c | 2 +- arch/i386/kernel/acpi/wakeup.S | 25 + arch/i386/kernel/apic.c | 125 +- arch/i386/kernel/apm.c | 18 +- arch/i386/kernel/cpu/cpufreq/Kconfig | 109 +- arch/i386/kernel/cpu/cpufreq/Makefile | 33 +- arch/i386/kernel/cpu/cpufreq/gx-suspmod.c | 19 +- arch/i386/kernel/cpu/cpufreq/longhaul.c | 34 +- arch/i386/kernel/cpu/cpufreq/longrun.c | 13 +- arch/i386/kernel/cpu/cpufreq/p4-clockmod.c | 53 +- arch/i386/kernel/cpu/cpufreq/powernow-k7.c | 72 +- arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 122 +- arch/i386/kernel/cpu/cpufreq/powernow-k8.h | 6 +- .../kernel/cpu/cpufreq/speedstep-centrino.c | 93 +- arch/i386/kernel/cpu/cpufreq/speedstep-ich.c | 107 +- arch/i386/kernel/cpu/cpufreq/speedstep-lib.c | 51 +- arch/i386/kernel/cpu/cpufreq/speedstep-smi.c | 77 +- arch/i386/kernel/cpu/cyrix.c | 11 +- arch/i386/kernel/cpu/mcheck/k7.c | 2 +- arch/i386/kernel/cpu/mcheck/mce.c | 4 +- arch/i386/kernel/cpu/mcheck/mce.h | 2 +- arch/i386/kernel/cpu/mcheck/p4.c | 6 +- arch/i386/kernel/cpu/mcheck/p5.c | 2 +- arch/i386/kernel/cpu/mcheck/p6.c | 2 +- arch/i386/kernel/cpu/mcheck/winchip.c | 2 +- arch/i386/kernel/cpu/mtrr/main.c | 32 +- arch/i386/kernel/cpu/nexgen.c | 2 +- arch/i386/kernel/cpu/proc.c | 2 +- arch/i386/kernel/cpu/transmeta.c | 23 +- arch/i386/kernel/dmi_scan.c | 71 - arch/i386/kernel/entry.S | 83 +- arch/i386/kernel/i386_ksyms.c | 6 +- arch/i386/kernel/i387.c | 5 +- arch/i386/kernel/i8259.c | 14 +- arch/i386/kernel/io_apic.c | 47 +- arch/i386/kernel/irq.c | 1288 +---- arch/i386/kernel/kprobes.c | 37 +- arch/i386/kernel/microcode.c | 33 +- arch/i386/kernel/mpparse.c | 24 +- arch/i386/kernel/nmi.c | 1 + arch/i386/kernel/numaq.c | 1 + arch/i386/kernel/process.c | 18 +- arch/i386/kernel/ptrace.c | 93 +- arch/i386/kernel/reboot.c | 97 +- arch/i386/kernel/scx200.c | 67 +- arch/i386/kernel/semaphore.c | 18 +- arch/i386/kernel/signal.c | 41 +- arch/i386/kernel/smp.c | 55 +- arch/i386/kernel/srat.c | 1 + arch/i386/kernel/time.c | 42 +- arch/i386/kernel/time_hpet.c | 68 +- arch/i386/kernel/timers/common.c | 1 + arch/i386/kernel/timers/timer.c | 16 +- arch/i386/kernel/timers/timer_cyclone.c | 8 +- arch/i386/kernel/timers/timer_hpet.c | 8 +- arch/i386/kernel/timers/timer_none.c | 6 - arch/i386/kernel/timers/timer_pit.c | 14 +- arch/i386/kernel/timers/timer_pm.c | 7 +- arch/i386/kernel/timers/timer_tsc.c | 18 +- arch/i386/kernel/traps.c | 63 +- arch/i386/kernel/vm86.c | 11 +- arch/i386/kernel/vsyscall-sysenter.S | 2 +- arch/i386/lib/dec_and_lock.c | 2 +- arch/i386/mach-default/topology.c | 1 + arch/i386/mach-es7000/es7000.h | 7 - arch/i386/mach-es7000/es7000plat.c | 65 +- arch/i386/mach-voyager/voyager_basic.c | 2 +- arch/i386/mach-voyager/voyager_smp.c | 50 +- arch/i386/mm/discontig.c | 3 +- arch/i386/mm/fault.c | 4 +- arch/i386/mm/hugetlbpage.c | 1 + arch/i386/mm/init.c | 50 +- arch/i386/mm/mmap.c | 4 +- arch/i386/mm/pageattr.c | 1 - arch/i386/mm/pgtable.c | 11 +- arch/i386/pci/acpi.c | 30 +- arch/i386/pci/common.c | 4 + arch/i386/pci/fixup.c | 52 +- arch/i386/pci/i386.c | 10 +- arch/i386/pci/irq.c | 49 +- arch/i386/pci/mmconfig.c | 7 + arch/i386/power/cpu.c | 2 +- arch/ia64/Makefile | 7 +- arch/ia64/configs/bigsur_defconfig | 73 +- arch/ia64/configs/sn2_defconfig | 58 +- arch/ia64/configs/tiger_defconfig | 59 +- arch/ia64/defconfig | 655 +-- arch/ia64/hp/common/sba_iommu.c | 3 +- arch/ia64/hp/sim/simeth.c | 2 +- arch/ia64/hp/sim/simserial.c | 66 +- arch/ia64/ia32/elfcore32.h | 1 + arch/ia64/ia32/ia32_entry.S | 16 +- arch/ia64/ia32/ia32priv.h | 4 + arch/ia64/kernel/Makefile | 2 +- arch/ia64/kernel/acpi.c | 1 + arch/ia64/kernel/efi.c | 35 +- arch/ia64/kernel/entry.S | 10 +- arch/ia64/kernel/ia64_ksyms.c | 4 +- arch/ia64/kernel/irq.c | 7 +- arch/ia64/kernel/irq_ia64.c | 2 +- arch/ia64/kernel/ivt.S | 31 +- arch/ia64/kernel/mca.c | 5 +- arch/ia64/kernel/mca_asm.S | 3 +- arch/ia64/kernel/perfmon.c | 115 +- arch/ia64/kernel/process.c | 34 +- arch/ia64/kernel/ptrace.c | 31 +- arch/ia64/kernel/setup.c | 54 +- arch/ia64/kernel/signal.c | 8 +- arch/ia64/kernel/smp.c | 62 +- arch/ia64/kernel/smpboot.c | 2 +- arch/ia64/kernel/sys_ia64.c | 4 +- arch/ia64/kernel/time.c | 25 +- arch/ia64/kernel/traps.c | 6 + arch/ia64/kernel/unwind.c | 81 +- arch/ia64/lib/bitop.c | 2 +- arch/ia64/lib/dec_and_lock.c | 4 +- arch/ia64/lib/io.c | 7 + arch/ia64/lib/swiotlb.c | 18 +- arch/ia64/mm/contig.c | 3 + arch/ia64/mm/discontig.c | 10 +- arch/ia64/mm/fault.c | 4 +- arch/ia64/mm/init.c | 94 +- arch/ia64/mm/numa.c | 2 +- arch/ia64/pci/pci.c | 131 +- arch/m32r/Kconfig | 98 +- arch/m32r/Makefile | 5 +- arch/m32r/boot/compressed/Makefile | 7 +- arch/m32r/boot/compressed/head.S | 96 +- arch/m32r/boot/compressed/m32r_sio.c | 24 +- arch/m32r/boot/compressed/misc.c | 53 +- arch/m32r/boot/compressed/vmlinux.lds.S | 16 +- arch/m32r/boot/compressed/vmlinux.scr | 6 +- arch/m32r/boot/setup.S | 2 +- arch/m32r/defconfig | 152 +- arch/m32r/kernel/io_m32700ut.c | 149 +- arch/m32r/kernel/io_mappi.c | 194 +- arch/m32r/kernel/io_mappi2.c | 233 +- arch/m32r/kernel/io_oaks32r.c | 66 +- arch/m32r/kernel/io_opsput.c | 131 +- arch/m32r/kernel/io_usrv.c | 6 +- arch/m32r/kernel/irq.c | 2 +- arch/m32r/kernel/process.c | 7 +- arch/m32r/kernel/setup_m32700ut.c | 4 +- arch/m32r/kernel/setup_mappi.c | 2 +- arch/m32r/kernel/setup_mappi2.c | 2 +- arch/m32r/kernel/setup_opsput.c | 4 +- arch/m32r/kernel/smpboot.c | 4 +- arch/m32r/kernel/sys_m32r.c | 4 +- arch/m32r/kernel/time.c | 21 +- arch/m32r/lib/delay.c | 2 +- arch/m32r/lib/memset.S | 17 +- arch/m32r/m32700ut/defconfig.m32700ut.smp | 130 +- arch/m32r/m32700ut/defconfig.m32700ut.up | 130 +- arch/m32r/m32700ut/dot.gdbinit_200MHz_16MB | 14 +- arch/m32r/m32700ut/dot.gdbinit_300MHz_32MB | 24 +- arch/m32r/mappi/defconfig.nommu | 109 +- arch/m32r/mappi/defconfig.smp | 104 +- arch/m32r/mappi/defconfig.up | 104 +- arch/m32r/mappi/dot.gdbinit | 16 +- arch/m32r/mappi/dot.gdbinit.nommu | 6 +- arch/m32r/mappi/dot.gdbinit.smp | 12 +- arch/m32r/mm/init.c | 2 +- arch/m32r/oaks32r/defconfig.nommu | 93 +- arch/m32r/oaks32r/dot.gdbinit.nommu | 15 +- arch/m32r/opsput/defconfig.opsput | 114 +- arch/m32r/opsput/dot.gdbinit | 76 +- arch/m68k/Kconfig | 21 +- arch/m68k/Makefile | 2 +- arch/m68k/atari/hades-pci.c | 2 +- arch/m68k/defconfig | 580 ++- arch/m68k/hp300/config.c | 265 +- arch/m68k/hp300/ints.c | 9 +- arch/m68k/hp300/reboot.S | 21 +- arch/m68k/hp300/time.c | 13 +- arch/m68k/kernel/bios32.c | 6 +- arch/m68k/kernel/entry.S | 47 + arch/m68k/kernel/head.S | 194 +- arch/m68k/kernel/setup.c | 25 +- arch/m68k/kernel/time.c | 3 + arch/m68k/kernel/vmlinux-std.lds | 4 +- arch/m68k/kernel/vmlinux-sun3.lds | 4 +- arch/m68k/kernel/vmlinux.lds.S | 6 +- arch/m68k/mm/memory.c | 2 +- arch/m68k/mm/motorola.c | 2 +- arch/m68k/mm/sun3mmu.c | 1 - arch/m68k/q40/config.c | 1 - arch/m68k/q40/q40ints.c | 1 - arch/m68k/sun3/Makefile | 3 +- arch/m68k/sun3/mmu_emu.c | 5 +- arch/m68k/sun3/sun3dvma.c | 1 + arch/m68k/sun3/sun3ints.c | 4 + arch/m68k/sun3x/config.c | 3 +- arch/m68knommu/Kconfig | 118 +- arch/m68knommu/Makefile | 17 +- arch/m68knommu/defconfig | 6 +- arch/m68knommu/kernel/module.c | 35 +- arch/m68knommu/kernel/setup.c | 9 +- arch/m68knommu/kernel/signal.c | 151 +- arch/m68knommu/kernel/syscalltable.S | 70 +- arch/m68knommu/kernel/time.c | 3 + arch/m68knommu/kernel/vmlinux.lds.S | 29 +- arch/m68knommu/lib/Makefile | 2 +- arch/m68knommu/mm/init.c | 1 - arch/m68knommu/mm/memory.c | 1 - .../platform/5206e/MOTOROLA/crt0_ram.S | 30 +- arch/m68knommu/platform/5206e/config.c | 1 - arch/m68knommu/platform/5249/config.c | 1 - arch/m68knommu/platform/5272/config.c | 7 +- arch/m68knommu/platform/5307/Makefile | 2 + arch/m68knommu/platform/5307/config.c | 1 - arch/m68knommu/platform/5307/vectors.c | 2 +- arch/m68knommu/platform/5407/config.c | 1 - arch/mips/Kconfig | 142 +- arch/mips/Makefile | 290 +- arch/mips/arc/identify.c | 2 +- arch/mips/arc/misc.c | 2 +- arch/mips/au1000/common/Makefile | 9 +- arch/mips/au1000/common/au1xxx_irqmap.c | 48 +- arch/mips/au1000/common/cputable.c | 1 + arch/mips/au1000/common/dbdma.c | 145 +- arch/mips/au1000/common/dma.c | 6 + arch/mips/au1000/common/irq.c | 18 +- arch/mips/au1000/common/pci.c | 8 +- arch/mips/au1000/common/puts.c | 2 +- arch/mips/au1000/common/reset.c | 15 +- arch/mips/au1000/common/setup.c | 83 +- arch/mips/au1000/common/time.c | 16 +- arch/mips/au1000/common/usbdev.c | 7 +- arch/mips/au1000/csb250/irqmap.c | 2 +- arch/mips/au1000/db1x00/board_setup.c | 6 + arch/mips/au1000/db1x00/irqmap.c | 2 +- arch/mips/au1000/db1x00/mirage_ts.c | 2 +- arch/mips/au1000/hydrogen3/board_setup.c | 4 + arch/mips/au1000/hydrogen3/irqmap.c | 2 +- arch/mips/au1000/mtx-1/irqmap.c | 2 +- arch/mips/au1000/pb1000/board_setup.c | 4 + arch/mips/au1000/pb1000/irqmap.c | 2 +- arch/mips/au1000/pb1100/board_setup.c | 10 +- arch/mips/au1000/pb1100/irqmap.c | 4 +- arch/mips/au1000/pb1500/board_setup.c | 6 + arch/mips/au1000/pb1500/irqmap.c | 2 +- arch/mips/au1000/pb1550/board_setup.c | 6 + arch/mips/au1000/pb1550/irqmap.c | 2 +- arch/mips/au1000/xxs1500/board_setup.c | 6 + arch/mips/au1000/xxs1500/irqmap.c | 2 +- arch/mips/boot/Makefile | 18 +- arch/mips/boot/addinitrd.c | 9 +- arch/mips/cobalt/irq.c | 2 +- arch/mips/cobalt/setup.c | 3 +- arch/mips/configs/atlas_defconfig | 68 +- arch/mips/configs/capcella_defconfig | 64 +- arch/mips/configs/cobalt_defconfig | 63 +- arch/mips/configs/db1000_defconfig | 101 +- arch/mips/configs/db1100_defconfig | 101 +- arch/mips/configs/db1500_defconfig | 290 +- arch/mips/configs/ddb5476_defconfig | 65 +- arch/mips/configs/ddb5477_defconfig | 64 +- arch/mips/configs/decstation_defconfig | 67 +- arch/mips/configs/e55_defconfig | 65 +- arch/mips/configs/ev64120_defconfig | 64 +- arch/mips/configs/ev96100_defconfig | 66 +- arch/mips/configs/ip22_defconfig | 148 +- arch/mips/configs/ip27_defconfig | 149 +- arch/mips/configs/ip32_defconfig | 68 +- arch/mips/configs/it8172_defconfig | 83 +- arch/mips/configs/ivr_defconfig | 64 +- arch/mips/configs/jaguar-atx_defconfig | 60 +- arch/mips/configs/jmr3927_defconfig | 66 +- arch/mips/configs/lasat200_defconfig | 79 +- arch/mips/configs/malta_defconfig | 65 +- arch/mips/configs/mpc30x_defconfig | 69 +- arch/mips/configs/ocelot_c_defconfig | 61 +- arch/mips/configs/ocelot_defconfig | 65 +- arch/mips/configs/ocelot_g_defconfig | 61 +- arch/mips/configs/osprey_defconfig | 65 +- arch/mips/configs/pb1100_defconfig | 196 +- arch/mips/configs/pb1500_defconfig | 105 +- arch/mips/configs/pb1550_defconfig | 102 +- arch/mips/configs/rm200_defconfig | 158 +- arch/mips/configs/sb1250-swarm_defconfig | 77 +- arch/mips/configs/sead_defconfig | 62 +- arch/mips/configs/tb0226_defconfig | 70 +- arch/mips/configs/tb0229_defconfig | 62 +- arch/mips/configs/workpad_defconfig | 65 +- arch/mips/configs/yosemite_defconfig | 79 +- arch/mips/ddb5xxx/common/Makefile | 2 +- arch/mips/ddb5xxx/ddb5074/irq.c | 10 +- arch/mips/ddb5xxx/ddb5074/nile4_pic.c | 2 - arch/mips/ddb5xxx/ddb5074/setup.c | 7 - arch/mips/ddb5xxx/ddb5476/irq.c | 2 +- arch/mips/ddb5xxx/ddb5476/setup.c | 8 - arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c | 5 +- arch/mips/ddb5xxx/ddb5477/irq.c | 5 +- arch/mips/ddb5xxx/ddb5477/irq_5477.c | 4 +- arch/mips/ddb5xxx/ddb5477/setup.c | 6 +- arch/mips/dec/boot/decstation.c | 7 - arch/mips/dec/setup.c | 12 +- arch/mips/defconfig | 148 +- arch/mips/galileo-boards/ev96100/irq.c | 3 +- arch/mips/galileo-boards/ev96100/time.c | 3 + arch/mips/gt64120/common/time.c | 4 +- arch/mips/gt64120/ev64120/irq.c | 4 +- arch/mips/gt64120/momenco_ocelot/dbg_io.c | 2 +- arch/mips/gt64120/momenco_ocelot/irq.c | 11 +- arch/mips/ite-boards/generic/irq.c | 17 +- arch/mips/jazz/irq.c | 9 +- arch/mips/jazz/jazzdma.c | 12 + arch/mips/jazz/reset.c | 2 - arch/mips/jmr3927/rbhma3100/irq.c | 24 +- arch/mips/jmr3927/rbhma3100/setup.c | 6 - arch/mips/kernel/cpu-bugs64.c | 5 +- arch/mips/kernel/cpu-probe.c | 1 + arch/mips/kernel/entry.S | 5 + arch/mips/kernel/gdb-stub.c | 2 + arch/mips/kernel/genex.S | 20 +- arch/mips/kernel/head.S | 54 +- arch/mips/kernel/i8259.c | 4 +- arch/mips/kernel/ioctl32.c | 6 + arch/mips/kernel/irixelf.c | 47 +- arch/mips/kernel/irixsig.c | 27 +- arch/mips/kernel/irq-mv6434x.c | 2 +- arch/mips/kernel/irq.c | 851 +--- arch/mips/kernel/process.c | 57 +- arch/mips/kernel/r4k_switch.S | 37 +- arch/mips/kernel/scall32-o32.S | 19 +- arch/mips/kernel/scall64-64.S | 43 +- arch/mips/kernel/scall64-n32.S | 29 +- arch/mips/kernel/scall64-o32.S | 680 ++- arch/mips/kernel/semaphore.c | 72 +- arch/mips/kernel/setup.c | 142 +- arch/mips/kernel/signal.c | 48 +- arch/mips/kernel/signal32.c | 93 +- arch/mips/kernel/signal_n32.c | 2 +- arch/mips/kernel/smp.c | 2 +- arch/mips/kernel/syscall.c | 9 +- arch/mips/kernel/sysirix.c | 43 +- arch/mips/kernel/time.c | 36 +- arch/mips/kernel/traps.c | 37 +- arch/mips/kernel/vmlinux.lds.S | 12 +- arch/mips/lasat/interrupt.c | 6 +- arch/mips/lasat/setup.c | 2 +- arch/mips/lib-64/dump_tlb.c | 2 +- arch/mips/lib/csum_partial_copy.c | 4 +- arch/mips/lib/dec_and_lock.c | 4 +- arch/mips/lib/strlen_user.S | 3 +- arch/mips/lib/strnlen_user.S | 3 +- arch/mips/math-emu/cp1emu.c | 6 +- arch/mips/mips-boards/atlas/atlas_int.c | 14 +- arch/mips/mips-boards/atlas/atlas_setup.c | 2 +- arch/mips/mips-boards/generic/init.c | 4 +- arch/mips/mips-boards/generic/memory.c | 2 +- arch/mips/mips-boards/generic/pci.c | 3 +- arch/mips/mips-boards/malta/malta_int.c | 18 +- arch/mips/mips-boards/malta/malta_setup.c | 44 +- arch/mips/mips-boards/sead/sead_int.c | 3 +- arch/mips/mips-boards/sead/sead_setup.c | 2 +- arch/mips/mm/Makefile | 25 +- arch/mips/mm/c-r3k.c | 4 +- arch/mips/mm/c-r4k.c | 151 +- arch/mips/mm/c-sb1.c | 40 +- arch/mips/mm/c-tx39.c | 4 +- arch/mips/mm/ioremap.c | 18 +- arch/mips/mm/pg-r4k.c | 4 +- arch/mips/mm/pgtable-64.c | 21 - arch/mips/mm/tlb-andes.c | 24 +- arch/mips/mm/tlb-r3k.c | 6 +- arch/mips/mm/tlb-r4k.c | 33 +- arch/mips/mm/tlb-r8k.c | 7 +- arch/mips/mm/tlb-sb1.c | 29 +- arch/mips/mm/tlbex32-r3k.S | 30 - arch/mips/mm/tlbex32-r4k.S | 268 +- arch/mips/momentum/jaguar_atx/irq.c | 3 +- arch/mips/momentum/jaguar_atx/setup.c | 3 +- arch/mips/momentum/ocelot_c/dbg_io.c | 2 +- arch/mips/momentum/ocelot_c/irq.c | 11 +- arch/mips/momentum/ocelot_g/dbg_io.c | 2 +- arch/mips/momentum/ocelot_g/gt-irq.c | 4 +- arch/mips/momentum/ocelot_g/irq.c | 11 +- arch/mips/pci/Makefile | 4 +- arch/mips/pci/fixup-atlas.c | 8 +- arch/mips/pci/fixup-au1000.c | 8 +- arch/mips/pci/fixup-capcella.c | 6 + arch/mips/pci/fixup-cobalt.c | 8 +- arch/mips/pci/fixup-ddb5074.c | 2 +- arch/mips/pci/fixup-ddb5477.c | 2 +- arch/mips/pci/fixup-ev96100.c | 6 + arch/mips/pci/fixup-ip32.c | 7 +- arch/mips/pci/fixup-ite8172g.c | 6 + arch/mips/pci/fixup-ivr.c | 6 + arch/mips/pci/fixup-jaguar.c | 9 +- arch/mips/pci/fixup-jmr3927.c | 6 + arch/mips/pci/fixup-malta.c | 7 +- arch/mips/pci/fixup-mpc30x.c | 6 + arch/mips/pci/fixup-ocelot-c.c | 6 + arch/mips/pci/fixup-ocelot-g.c | 6 + arch/mips/pci/fixup-rbtx4927.c | 113 +- arch/mips/pci/fixup-sni.c | 9 +- arch/mips/pci/fixup-tb0219.c | 6 + arch/mips/pci/fixup-tb0226.c | 6 + arch/mips/pci/fixup-yosemite.c | 6 + arch/mips/pci/ops-au1000.c | 16 +- arch/mips/pci/ops-it8172.c | 3 +- arch/mips/pci/ops-titan.c | 23 +- arch/mips/pci/ops-tx3927.c | 2 +- arch/mips/pci/ops-tx4927.c | 265 +- arch/mips/pci/pci-ddb5074.c | 7 +- arch/mips/pci/pci-ddb5476.c | 7 +- arch/mips/pci/pci-ddb5477.c | 9 +- arch/mips/pci/pci-ev96100.c | 4 +- arch/mips/pci/pci-ip27.c | 322 +- arch/mips/pci/pci-ip32.c | 2 +- arch/mips/pci/pci-jmr3927.c | 2 +- arch/mips/pci/pci-lasat.c | 10 +- arch/mips/pci/pci-ocelot-c.c | 3 +- arch/mips/pci/pci-ocelot-g.c | 3 +- arch/mips/pci/pci-sb1250.c | 25 +- arch/mips/pci/pci-vr41xx.c | 2 +- arch/mips/pci/pci-yosemite.c | 31 +- arch/mips/pci/pci.c | 6 +- arch/mips/pmc-sierra/yosemite/Makefile | 1 + arch/mips/pmc-sierra/yosemite/dbg_io.c | 2 +- arch/mips/pmc-sierra/yosemite/irq-handler.S | 26 +- arch/mips/pmc-sierra/yosemite/irq.c | 11 +- arch/mips/pmc-sierra/yosemite/prom.c | 18 +- arch/mips/pmc-sierra/yosemite/py-console.c | 7 - arch/mips/pmc-sierra/yosemite/setup.c | 4 +- arch/mips/pmc-sierra/yosemite/smp.c | 288 +- arch/mips/sgi-ip22/ip22-berr.c | 2 +- arch/mips/sgi-ip22/ip22-int.c | 3 +- arch/mips/sgi-ip22/ip22-setup.c | 24 +- arch/mips/sgi-ip27/ip27-hubio.c | 5 +- arch/mips/sgi-ip27/ip27-init.c | 372 +- arch/mips/sgi-ip27/ip27-irq.c | 104 +- arch/mips/sgi-ip27/ip27-klnuma.c | 4 +- arch/mips/sgi-ip27/ip27-memory.c | 347 +- arch/mips/sgi-ip27/ip27-smp.c | 7 - arch/mips/sgi-ip27/ip27-timer.c | 2 - arch/mips/sgi-ip32/crime.c | 34 +- arch/mips/sgi-ip32/ip32-irq.c | 69 +- arch/mips/sgi-ip32/ip32-reset.c | 16 +- arch/mips/sgi-ip32/ip32-setup.c | 8 +- arch/mips/sibyte/cfe/setup.c | 63 +- arch/mips/sibyte/cfe/smp.c | 11 +- arch/mips/sibyte/sb1250/irq.c | 25 +- arch/mips/sibyte/sb1250/irq_handler.S | 4 +- arch/mips/sibyte/sb1250/prom.c | 18 +- arch/mips/sibyte/swarm/setup.c | 4 +- arch/mips/sni/irq.c | 3 +- arch/mips/sni/setup.c | 3 +- arch/mips/tx4927/common/Makefile | 1 + arch/mips/tx4927/common/tx4927_irq.c | 124 +- arch/mips/tx4927/common/tx4927_setup.c | 11 +- .../toshiba_rbtx4927/toshiba_rbtx4927_irq.c | 13 +- .../toshiba_rbtx4927/toshiba_rbtx4927_prom.c | 9 + .../toshiba_rbtx4927/toshiba_rbtx4927_setup.c | 237 +- arch/mips/vr4181/common/irq.c | 12 +- arch/mips/vr41xx/common/icu.c | 5 +- arch/mips/vr41xx/common/vrc4173.c | 5 +- arch/parisc/Makefile | 17 +- arch/parisc/configs/a500_defconfig | 38 +- arch/parisc/hpux/fs.c | 5 +- arch/parisc/kernel/Makefile | 7 +- arch/parisc/kernel/asm-offsets.c | 4 + arch/parisc/kernel/cache.c | 21 + arch/parisc/kernel/entry.S | 122 +- arch/parisc/kernel/firmware.c | 2 +- arch/parisc/kernel/head.S | 220 +- arch/parisc/kernel/pacache.S | 6 +- arch/parisc/kernel/parisc_ksyms.c | 14 +- arch/parisc/kernel/pci-dma.c | 4 + arch/parisc/kernel/pdc_cons.c | 13 + arch/parisc/kernel/perf_asm.S | 854 ++-- arch/parisc/kernel/perf_images.h | 1 + arch/parisc/kernel/process.c | 5 +- arch/parisc/kernel/ptrace.c | 4 + arch/parisc/kernel/real2.S | 4 +- arch/parisc/kernel/signal.c | 31 +- arch/parisc/kernel/smp.c | 14 +- arch/parisc/kernel/sys_parisc.c | 8 + arch/parisc/kernel/sys_parisc32.c | 5 +- arch/parisc/kernel/syscall.S | 373 +- arch/parisc/kernel/syscall_table.S | 63 +- arch/parisc/kernel/time.c | 2 + arch/parisc/kernel/traps.c | 123 +- arch/parisc/kernel/unaligned.c | 185 +- arch/parisc/kernel/unwind.c | 118 +- arch/parisc/lib/Makefile | 2 +- arch/parisc/lib/bitops.c | 24 +- arch/parisc/lib/checksum.c | 40 +- arch/parisc/lib/debuglocks.c | 73 +- arch/parisc/lib/lusercopy.S | 161 +- arch/parisc/mm/fault.c | 15 +- arch/parisc/mm/init.c | 21 +- arch/ppc/4xx_io/serial_sicc.c | 71 +- arch/ppc/8260_io/enet.c | 2 +- arch/ppc/8260_io/fcc_enet.c | 2 +- arch/ppc/8xx_io/Kconfig | 66 +- arch/ppc/8xx_io/Makefile | 2 +- arch/ppc/8xx_io/commproc.c | 267 +- arch/ppc/8xx_io/enet.c | 12 +- arch/ppc/8xx_io/fec.c | 6 +- arch/ppc/8xx_io/micropatch.c | 145 +- arch/ppc/Kconfig | 47 +- arch/ppc/Kconfig.debug | 14 +- arch/ppc/boot/common/util.S | 2 + arch/ppc/boot/lib/Makefile | 21 +- arch/ppc/boot/simple/Makefile | 2 +- arch/ppc/boot/simple/embed_config.c | 33 +- arch/ppc/boot/simple/misc-embedded.c | 2 +- arch/ppc/boot/simple/mpc52xx_tty.c | 1 + arch/ppc/boot/utils/mkbugboot.c | 2 +- arch/ppc/configs/FADS_defconfig | 24 +- arch/ppc/configs/IVMS8_defconfig | 21 +- arch/ppc/configs/SM850_defconfig | 27 +- arch/ppc/configs/SPD823TS_defconfig | 24 +- arch/ppc/configs/TQM823L_defconfig | 24 +- arch/ppc/configs/TQM850L_defconfig | 24 +- arch/ppc/configs/TQM860L_defconfig | 23 +- arch/ppc/configs/bseip_defconfig | 23 +- arch/ppc/configs/mbx_defconfig | 24 +- arch/ppc/configs/rpxcllf_defconfig | 295 +- arch/ppc/configs/rpxlite_defconfig | 291 +- arch/ppc/kernel/Makefile | 3 +- arch/ppc/kernel/bitops.c | 2 +- arch/ppc/kernel/cputable.c | 1342 +++-- arch/ppc/kernel/head_44x.S | 58 +- arch/ppc/kernel/head_4xx.S | 46 +- arch/ppc/kernel/head_8xx.S | 546 +-- arch/ppc/kernel/head_booke.h | 66 + arch/ppc/kernel/head_e500.S | 58 +- arch/ppc/kernel/irq.c | 529 +- arch/ppc/kernel/misc.S | 5 +- arch/ppc/kernel/pci.c | 30 +- arch/ppc/kernel/ppc-stub.c | 20 +- arch/ppc/kernel/ppc_htab.c | 2 +- arch/ppc/kernel/ppc_ksyms.c | 12 +- arch/ppc/kernel/process.c | 21 +- arch/ppc/kernel/ptrace.c | 9 +- arch/ppc/kernel/setup.c | 4 + arch/ppc/kernel/signal.c | 14 +- arch/ppc/kernel/softemu8xx.c | 2 +- arch/ppc/kernel/time.c | 3 + arch/ppc/kernel/traps.c | 24 +- arch/ppc/lib/dec_and_lock.c | 4 +- arch/ppc/lib/rheap.c | 1 + arch/ppc/mm/44x_mmu.c | 12 - arch/ppc/mm/pgtable.c | 12 +- arch/ppc/platforms/4xx/Kconfig | 22 +- arch/ppc/platforms/4xx/Makefile | 2 + arch/ppc/platforms/4xx/ebony.c | 32 +- arch/ppc/platforms/4xx/ocotea.c | 65 +- arch/ppc/platforms/85xx/mpc8555.c | 7 + arch/ppc/platforms/85xx/mpc8560_ads.c | 14 +- arch/ppc/platforms/85xx/mpc85xx_ads_common.c | 3 +- arch/ppc/platforms/85xx/mpc85xx_cds_common.c | 16 +- arch/ppc/platforms/85xx/sbc85xx.c | 3 +- arch/ppc/platforms/adir_pic.c | 20 +- arch/ppc/platforms/chrp_pci.c | 2 +- arch/ppc/platforms/chrp_setup.c | 10 +- arch/ppc/platforms/gemini_pci.c | 2 +- arch/ppc/platforms/k2.c | 3 +- arch/ppc/platforms/lopec.c | 3 +- arch/ppc/platforms/mcpn765.c | 7 +- arch/ppc/platforms/mvme5100.c | 2 +- arch/ppc/platforms/pcore.c | 3 +- arch/ppc/platforms/pmac_cpufreq.c | 29 +- arch/ppc/platforms/pmac_feature.c | 16 +- arch/ppc/platforms/pmac_pci.c | 4 +- arch/ppc/platforms/pmac_pic.c | 40 +- arch/ppc/platforms/pmac_setup.c | 2 +- arch/ppc/platforms/pmac_smp.c | 9 +- arch/ppc/platforms/pplus.c | 9 +- arch/ppc/platforms/prep_pci.c | 21 +- arch/ppc/platforms/prpmc750.c | 3 +- arch/ppc/platforms/rpxclassic.h | 1 - arch/ppc/platforms/rpxlite.h | 1 - arch/ppc/platforms/sandpoint.c | 135 +- arch/ppc/platforms/sbc82xx.c | 12 +- arch/ppc/platforms/tqm8xx.h | 2 - arch/ppc/syslib/Makefile | 11 +- arch/ppc/syslib/gen550_dbg.c | 4 +- arch/ppc/syslib/gen550_kgdb.c | 6 +- arch/ppc/syslib/i8259.c | 10 +- arch/ppc/syslib/ibm440gx_common.c | 72 +- arch/ppc/syslib/ibm440gx_common.h | 5 +- arch/ppc/syslib/ibm44x_common.c | 64 +- arch/ppc/syslib/indirect_pci.c | 15 +- arch/ppc/syslib/m8260_setup.c | 7 +- arch/ppc/syslib/m8xx_setup.c | 65 +- arch/ppc/syslib/mpc10x_common.c | 13 +- arch/ppc/syslib/mpc52xx_setup.c | 1 + arch/ppc/syslib/open_pic.c | 26 +- arch/ppc/syslib/ppc405_pci.c | 4 +- arch/ppc/syslib/ppc4xx_dma.c | 2 +- arch/ppc/syslib/ppc4xx_setup.c | 46 +- arch/ppc/syslib/ppc8xx_pic.c | 121 +- arch/ppc/syslib/prom.c | 2 +- arch/ppc/syslib/prom_init.c | 2 +- arch/ppc/syslib/todc_time.c | 7 +- arch/ppc/xmon/start.c | 6 +- arch/ppc/xmon/xmon.c | 2 +- arch/ppc64/Kconfig | 32 + arch/ppc64/Kconfig.debug | 12 - arch/ppc64/Makefile | 7 +- arch/ppc64/boot/Makefile | 2 +- arch/ppc64/boot/main.c | 2 +- arch/ppc64/kernel/LparData.c | 7 +- arch/ppc64/kernel/Makefile | 19 +- arch/ppc64/kernel/asm-offsets.c | 1 + arch/ppc64/kernel/bitops.c | 2 +- arch/ppc64/kernel/cpu_setup_power4.S | 9 + arch/ppc64/kernel/dma.c | 20 + arch/ppc64/kernel/eeh.c | 276 +- arch/ppc64/kernel/entry.S | 2 +- arch/ppc64/kernel/head.S | 76 +- arch/ppc64/kernel/i8259.c | 20 +- arch/ppc64/kernel/i8259.h | 4 +- arch/ppc64/kernel/iSeries_iommu.c | 89 +- arch/ppc64/kernel/iSeries_irq.c | 1 + arch/ppc64/kernel/iSeries_pci.c | 206 +- arch/ppc64/kernel/iSeries_proc.c | 1 + arch/ppc64/kernel/iSeries_setup.c | 9 +- arch/ppc64/kernel/idle.c | 8 +- arch/ppc64/kernel/iomap.c | 7 + arch/ppc64/kernel/iommu.c | 35 +- arch/ppc64/kernel/irq.c | 506 +- arch/ppc64/kernel/lmb.c | 2 +- arch/ppc64/kernel/lparcfg.c | 14 +- arch/ppc64/kernel/mf.c | 1120 +++-- arch/ppc64/kernel/misc.S | 36 +- arch/ppc64/kernel/nvram.c | 14 +- arch/ppc64/kernel/pSeries_iommu.c | 32 +- arch/ppc64/kernel/pSeries_lpar.c | 16 + arch/ppc64/kernel/pSeries_pci.c | 379 +- arch/ppc64/kernel/pSeries_setup.c | 220 +- arch/ppc64/kernel/pacaData.c | 6 +- arch/ppc64/kernel/pci.c | 351 +- arch/ppc64/kernel/pci.h | 13 +- arch/ppc64/kernel/pci_dn.c | 91 +- arch/ppc64/kernel/pci_iommu.c | 7 + arch/ppc64/kernel/pmac.h | 1 - arch/ppc64/kernel/pmac_low_i2c.c | 46 +- arch/ppc64/kernel/pmac_pci.c | 141 +- arch/ppc64/kernel/pmac_setup.c | 82 +- arch/ppc64/kernel/pmac_smp.c | 200 +- arch/ppc64/kernel/ppc_ksyms.c | 2 +- arch/ppc64/kernel/proc_ppc64.c | 36 +- arch/ppc64/kernel/process.c | 8 +- arch/ppc64/kernel/prom.c | 45 +- arch/ppc64/kernel/prom_init.c | 115 +- arch/ppc64/kernel/ras.c | 2 +- arch/ppc64/kernel/rtas-proc.c | 2 +- arch/ppc64/kernel/rtas.c | 61 +- arch/ppc64/kernel/rtas_flash.c | 4 +- arch/ppc64/kernel/rtasd.c | 19 +- arch/ppc64/kernel/rtc.c | 25 +- arch/ppc64/kernel/setup.c | 270 +- arch/ppc64/kernel/signal.c | 39 +- arch/ppc64/kernel/signal32.c | 52 +- arch/ppc64/kernel/smp.c | 550 +-- arch/ppc64/kernel/sys_ppc32.c | 23 +- arch/ppc64/kernel/sysfs.c | 26 +- arch/ppc64/kernel/time.c | 20 +- arch/ppc64/kernel/traps.c | 3 + arch/ppc64/kernel/u3_iommu.c | 8 +- arch/ppc64/kernel/udbg.c | 120 +- arch/ppc64/kernel/vecemu.c | 2 +- arch/ppc64/kernel/vio.c | 19 +- arch/ppc64/kernel/viopath.c | 4 +- arch/ppc64/kernel/xics.c | 54 +- arch/ppc64/lib/Makefile | 1 + arch/ppc64/lib/dec_and_lock.c | 4 +- arch/ppc64/mm/hash_native.c | 46 +- arch/ppc64/mm/hash_utils.c | 12 +- arch/ppc64/mm/hugetlbpage.c | 422 +- arch/ppc64/mm/init.c | 56 +- arch/ppc64/mm/mmap.c | 4 +- arch/ppc64/mm/numa.c | 36 +- arch/ppc64/oprofile/common.c | 5 + arch/ppc64/oprofile/op_impl.h | 1 + arch/ppc64/oprofile/op_model_power4.c | 44 +- arch/ppc64/xmon/start.c | 4 +- arch/ppc64/xmon/xmon.c | 150 +- arch/s390/Makefile | 12 + arch/s390/boot/Makefile | 2 +- arch/s390/defconfig | 43 +- arch/s390/kernel/asm-offsets.c | 2 + arch/s390/kernel/binfmt_elf32.c | 2 +- arch/s390/kernel/compat_linux.c | 2 + arch/s390/kernel/compat_wrapper.S | 16 +- arch/s390/kernel/cpcmd.c | 23 +- arch/s390/kernel/debug.c | 77 +- arch/s390/kernel/entry.S | 3 + arch/s390/kernel/entry64.S | 3 + arch/s390/kernel/irq.c | 2 +- arch/s390/kernel/process.c | 3 +- arch/s390/kernel/ptrace.c | 5 +- arch/s390/kernel/syscalls.S | 3 +- arch/s390/kernel/time.c | 11 +- arch/s390/kernel/traps.c | 81 +- arch/s390/mm/extmem.c | 904 ++-- arch/s390/mm/mmap.c | 4 +- arch/sh/Kconfig | 95 +- arch/sh/Makefile | 63 +- arch/sh/boards/bigsur/irq.c | 2 +- arch/sh/boards/bigsur/setup.c | 2 +- arch/sh/boards/dreamcast/setup.c | 16 +- arch/sh/boards/harp/setup.c | 35 + arch/sh/boards/overdrive/pcidma.c | 2 +- arch/sh/boards/renesas/rts7751r2d/mach.c | 4 +- arch/sh/boards/se/770x/irq.c | 31 +- arch/sh/boards/se/770x/mach.c | 2 + arch/sh/boards/se/7751/io.c | 2 +- arch/sh/boards/se/7751/pci.c | 2 +- arch/sh/cchips/voyagergx/consistent.c | 18 +- arch/sh/configs/rts7751r2d_defconfig | 445 +- arch/sh/configs/se7751_defconfig | 1 + arch/sh/drivers/dma/dma-api.c | 6 +- arch/sh/drivers/dma/dma-g2.c | 88 +- arch/sh/drivers/dma/dma-pvr2.c | 34 +- arch/sh/drivers/pci/Makefile | 2 +- arch/sh/drivers/pci/dma-dreamcast.c | 22 +- arch/sh/drivers/pci/fixups-dreamcast.c | 2 +- arch/sh/drivers/pci/fixups-rts7751r2d.c | 21 +- arch/sh/drivers/pci/ops-rts7751r2d.c | 7 +- arch/sh/drivers/pci/pci-auto.c | 2 + arch/sh/drivers/pci/pci-sh7751.c | 7 +- arch/sh/drivers/pci/pci-st40.c | 276 +- arch/sh/drivers/pci/pci-st40.h | 70 + arch/sh/drivers/pci/pci.c | 2 + arch/sh/kernel/cpu/init.c | 10 +- arch/sh/kernel/cpu/irq_imask.c | 2 +- arch/sh/kernel/cpu/irq_ipr.c | 10 +- arch/sh/kernel/cpu/sh2/Makefile | 2 + arch/sh/kernel/cpu/sh3/Makefile | 2 +- arch/sh/kernel/cpu/sh4/Makefile | 3 +- arch/sh/kernel/cpu/sh4/ex.S | 70 +- arch/sh/kernel/cpu/sh4/irq_intc2.c | 153 +- arch/sh/kernel/cpu/sh4/sq.c | 31 +- arch/sh/kernel/early_printk.c | 4 +- arch/sh/kernel/entry.S | 6 + arch/sh/kernel/irq.c | 2 +- arch/sh/kernel/process.c | 16 +- arch/sh/kernel/setup.c | 3 +- arch/sh/kernel/sh_bios.c | 3 +- arch/sh/kernel/sh_ksyms.c | 18 +- arch/sh/kernel/signal.c | 23 +- arch/sh/kernel/time.c | 253 +- arch/sh/kernel/traps.c | 4 +- arch/sh/lib/Makefile | 8 +- arch/sh/mm/Makefile | 2 + arch/sh/mm/cache-sh2.c | 24 +- arch/sh/mm/cache-sh3.c | 75 +- arch/sh/mm/cache-sh4.c | 129 +- arch/sh/mm/consistent.c | 4 + arch/sh/mm/extable.c | 3 +- arch/sh/mm/ioremap.c | 3 +- arch/sh/mm/tlb-sh3.c | 10 + arch/sh/oprofile/Makefile | 2 +- arch/sh/ramdisk/Makefile | 5 +- arch/sh/tools/Makefile | 5 +- arch/sh/tools/mach-types | 4 + arch/sh64/kernel/irq.c | 2 +- arch/sh64/kernel/irq_intc.c | 6 +- arch/sh64/kernel/pci_sh5.c | 2 +- arch/sh64/kernel/process.c | 8 +- arch/sh64/kernel/time.c | 3 + arch/sparc/Kconfig | 29 +- arch/sparc/kernel/apc.c | 8 +- arch/sparc/kernel/auxio.c | 4 +- arch/sparc/kernel/ebus.c | 6 +- arch/sparc/kernel/entry.S | 8 +- arch/sparc/kernel/ioport.c | 24 +- arch/sparc/kernel/pcic.c | 9 +- arch/sparc/kernel/pmc.c | 8 +- arch/sparc/kernel/process.c | 11 +- arch/sparc/kernel/signal.c | 2 +- arch/sparc/kernel/sys_sunos.c | 4 +- arch/sparc/kernel/systbls.S | 3 +- arch/sparc/kernel/time.c | 8 +- arch/sparc/lib/bitext.c | 2 +- arch/sparc/mm/generic.c | 2 +- arch/sparc/mm/io-unit.c | 2 +- arch/sparc/mm/iommu.c | 1 + arch/sparc/mm/srmmu.c | 1 + arch/sparc64/Kconfig | 13 +- arch/sparc64/Makefile | 2 +- arch/sparc64/defconfig | 170 +- arch/sparc64/kernel/binfmt_aout32.c | 6 +- arch/sparc64/kernel/binfmt_elf32.c | 2 +- arch/sparc64/kernel/entry.S | 4 +- arch/sparc64/kernel/isa.c | 2 +- arch/sparc64/kernel/kprobes.c | 29 +- arch/sparc64/kernel/pci.c | 2 +- arch/sparc64/kernel/pci_iommu.c | 3 +- arch/sparc64/kernel/process.c | 4 +- arch/sparc64/kernel/signal.c | 2 +- arch/sparc64/kernel/signal32.c | 2 +- arch/sparc64/kernel/smp.c | 9 - arch/sparc64/kernel/sparc64_ksyms.c | 2 +- arch/sparc64/kernel/sys32.S | 6 +- arch/sparc64/kernel/sys_sparc32.c | 2 + arch/sparc64/kernel/sys_sunos32.c | 4 +- arch/sparc64/kernel/systbls.S | 16 +- arch/sparc64/kernel/time.c | 12 +- arch/sparc64/kernel/trampoline.S | 85 +- arch/sparc64/kernel/unaligned.c | 2 +- arch/sparc64/lib/Makefile | 4 +- arch/sparc64/lib/dec_and_lock.S | 4 +- arch/sparc64/lib/find_bit.c | 2 +- arch/sparc64/mm/fault.c | 22 +- arch/sparc64/mm/generic.c | 17 +- arch/sparc64/mm/init.c | 1 + arch/sparc64/solaris/entry64.S | 2 +- arch/sparc64/solaris/fs.c | 16 +- arch/sparc64/solaris/systbl.S | 16 + arch/um/Kconfig | 55 +- arch/um/Kconfig_block | 34 +- arch/um/Makefile | 27 +- arch/um/Makefile-i386 | 1 + arch/um/defconfig | 178 +- arch/um/drivers/chan_user.c | 18 +- arch/um/drivers/cow_user.c | 2 +- arch/um/drivers/line.c | 29 +- arch/um/drivers/mconsole_kern.c | 66 + arch/um/drivers/mmapper_kern.c | 4 +- arch/um/drivers/net_kern.c | 1 + arch/um/drivers/port_kern.c | 1 + arch/um/drivers/port_user.c | 8 +- arch/um/drivers/ssl.c | 6 +- arch/um/drivers/stdio_console.c | 4 +- arch/um/drivers/xterm_kern.c | 1 + arch/um/include/frame_kern.h | 6 +- arch/um/include/irq_user.h | 2 +- arch/um/include/kern_util.h | 5 +- arch/um/include/line.h | 3 +- arch/um/include/mem_user.h | 1 + arch/um/include/mode.h | 4 +- arch/um/include/mode_kern.h | 4 +- arch/um/include/os.h | 1 + arch/um/include/ptrace_user.h | 11 + arch/um/include/syscall_user.h | 2 +- arch/um/include/um_mmu.h | 4 +- arch/um/include/um_uaccess.h | 4 +- arch/um/include/user_util.h | 2 +- arch/um/kernel/dyn.lds.S | 2 + arch/um/kernel/exec_kern.c | 16 +- arch/um/kernel/frame.c | 8 +- arch/um/kernel/frame_kern.c | 23 +- arch/um/kernel/irq.c | 648 +-- arch/um/kernel/irq_user.c | 2 +- arch/um/kernel/main.c | 7 +- arch/um/kernel/mem_user.c | 55 +- arch/um/kernel/process.c | 107 +- arch/um/kernel/process_kern.c | 76 +- arch/um/kernel/ptrace.c | 26 +- arch/um/kernel/sigio_kern.c | 4 +- arch/um/kernel/signal_kern.c | 148 +- arch/um/kernel/signal_user.c | 5 +- arch/um/kernel/skas/Makefile | 8 +- arch/um/kernel/skas/exec_kern.c | 2 +- arch/um/kernel/skas/include/ptrace-skas.h | 10 - arch/um/kernel/skas/include/skas.h | 1 - arch/um/kernel/skas/process.c | 24 +- arch/um/kernel/skas/process_kern.c | 63 - arch/um/kernel/skas/syscall_kern.c | 1 + arch/um/kernel/skas/syscall_user.c | 11 +- arch/um/kernel/syscall_kern.c | 16 +- arch/um/kernel/syscall_user.c | 4 +- arch/um/kernel/sysrq.c | 25 +- arch/um/kernel/time_kern.c | 2 - arch/um/kernel/tt/Makefile | 8 +- arch/um/kernel/tt/include/tt.h | 4 +- arch/um/kernel/tt/process_kern.c | 19 +- arch/um/kernel/tt/syscall_kern.c | 6 - arch/um/kernel/tt/syscall_user.c | 19 +- arch/um/kernel/tt/tracer.c | 12 +- arch/um/kernel/tt/trap_user.c | 7 + arch/um/kernel/tty_log.c | 2 + arch/um/kernel/um_arch.c | 11 +- arch/um/kernel/umid.c | 1 + arch/um/kernel/uml.lds.S | 2 + arch/um/os-Linux/file.c | 3 +- arch/um/os-Linux/process.c | 12 + arch/um/sys-i386/ptrace.c | 6 +- arch/um/sys-i386/sysrq.c | 5 + arch/v850/kernel/fpga85e2c.c | 2 +- arch/v850/kernel/memcons.c | 3 +- arch/v850/kernel/ptrace.c | 8 +- arch/v850/kernel/rte_mb_a_pci.c | 2 +- arch/v850/kernel/signal.c | 14 +- arch/v850/kernel/simcons.c | 2 +- arch/v850/kernel/time.c | 3 + arch/v850/kernel/vmlinux.lds.S | 5 + arch/x86_64/Kconfig | 46 +- arch/x86_64/Kconfig.debug | 22 +- arch/x86_64/boot/Makefile | 1 + arch/x86_64/boot/compressed/Makefile | 2 +- arch/x86_64/defconfig | 57 +- arch/x86_64/ia32/fpu32.c | 5 +- arch/x86_64/ia32/ia32_aout.c | 7 +- arch/x86_64/ia32/ia32_binfmt.c | 10 +- arch/x86_64/ia32/ia32_signal.c | 6 + arch/x86_64/ia32/ia32entry.S | 32 +- arch/x86_64/ia32/ptrace32.c | 3 +- arch/x86_64/ia32/sys_ia32.c | 256 +- arch/x86_64/ia32/syscall32.c | 4 +- arch/x86_64/kernel/Makefile | 12 +- arch/x86_64/kernel/apic.c | 100 +- arch/x86_64/kernel/cpufreq/Kconfig | 56 +- arch/x86_64/kernel/cpufreq/Makefile | 8 +- arch/x86_64/kernel/e820.c | 2 + arch/x86_64/kernel/early_printk.c | 2 +- arch/x86_64/kernel/entry.S | 2 + arch/x86_64/kernel/head.S | 12 + arch/x86_64/kernel/head64.c | 6 + arch/x86_64/kernel/i8259.c | 16 +- arch/x86_64/kernel/io_apic.c | 169 +- arch/x86_64/kernel/irq.c | 839 +--- arch/x86_64/kernel/mce.c | 3 +- arch/x86_64/kernel/mpparse.c | 14 +- arch/x86_64/kernel/nmi.c | 64 +- arch/x86_64/kernel/pci-gart.c | 23 +- arch/x86_64/kernel/process.c | 12 +- arch/x86_64/kernel/ptrace.c | 2 + arch/x86_64/kernel/reboot.c | 83 +- arch/x86_64/kernel/setup.c | 17 +- arch/x86_64/kernel/setup64.c | 67 +- arch/x86_64/kernel/signal.c | 12 +- arch/x86_64/kernel/smp.c | 153 +- arch/x86_64/kernel/smpboot.c | 9 +- arch/x86_64/kernel/time.c | 165 +- arch/x86_64/kernel/traps.c | 66 +- arch/x86_64/kernel/vmlinux.lds.S | 35 +- arch/x86_64/kernel/vsyscall.c | 15 +- arch/x86_64/kernel/x8664_ksyms.c | 4 +- arch/x86_64/lib/bitops.c | 2 +- arch/x86_64/lib/bitstr.c | 2 +- arch/x86_64/lib/dec_and_lock.c | 2 +- arch/x86_64/mm/fault.c | 8 +- arch/x86_64/mm/init.c | 40 +- arch/x86_64/mm/ioremap.c | 2 +- arch/x86_64/mm/k8topology.c | 1 + arch/x86_64/mm/mmap.c | 4 +- arch/x86_64/mm/numa.c | 12 +- arch/x86_64/pci/mmconfig.c | 7 + crypto/Kconfig | 47 +- crypto/Makefile | 1 + crypto/blowfish.c | 2 +- crypto/serpent.c | 105 +- crypto/sha256.c | 10 +- crypto/sha512.c | 31 +- crypto/tcrypt.c | 25 +- crypto/tcrypt.h | 302 ++ drivers/Kconfig | 2 + drivers/Makefile | 5 +- drivers/acorn/block/fd1772.c | 2 +- drivers/acpi/Kconfig | 31 +- drivers/acpi/Makefile | 4 +- drivers/acpi/ac.c | 8 +- drivers/acpi/battery.c | 205 +- drivers/acpi/bus.c | 66 +- drivers/acpi/button.c | 8 +- drivers/acpi/dispatcher/dsmthdat.c | 24 +- drivers/acpi/dispatcher/dsutils.c | 2 +- drivers/acpi/dispatcher/dswexec.c | 45 +- drivers/acpi/dispatcher/dswload.c | 22 +- drivers/acpi/dispatcher/dswstate.c | 11 +- drivers/acpi/ec.c | 63 +- drivers/acpi/events/evgpe.c | 9 +- drivers/acpi/events/evgpeblk.c | 4 +- drivers/acpi/events/evxface.c | 56 +- drivers/acpi/events/evxfevnt.c | 15 +- drivers/acpi/events/evxfregn.c | 4 +- drivers/acpi/executer/exconvrt.c | 359 +- drivers/acpi/executer/exdump.c | 225 +- drivers/acpi/executer/exfldio.c | 2 +- drivers/acpi/executer/exmisc.c | 467 +- drivers/acpi/executer/exoparg1.c | 211 +- drivers/acpi/executer/exoparg2.c | 171 +- drivers/acpi/executer/exprep.c | 1 + drivers/acpi/executer/exregion.c | 2 +- drivers/acpi/executer/exresolv.c | 60 + drivers/acpi/executer/exresop.c | 16 +- drivers/acpi/executer/exstore.c | 37 +- drivers/acpi/executer/exsystem.c | 5 +- drivers/acpi/executer/exutils.c | 18 +- drivers/acpi/fan.c | 50 +- drivers/acpi/hardware/Makefile | 4 +- drivers/acpi/hardware/hwgpe.c | 3 +- drivers/acpi/hardware/hwregs.c | 38 +- drivers/acpi/hardware/hwsleep.c | 7 +- drivers/acpi/hardware/hwtimer.c | 24 +- drivers/acpi/ibm_acpi.c | 2 +- drivers/acpi/motherboard.c | 4 +- drivers/acpi/namespace/Makefile | 4 +- drivers/acpi/namespace/nsaccess.c | 16 +- drivers/acpi/namespace/nsalloc.c | 8 +- drivers/acpi/namespace/nsdump.c | 65 +- drivers/acpi/namespace/nsdumpdv.c | 11 +- drivers/acpi/namespace/nseval.c | 92 +- drivers/acpi/namespace/nsinit.c | 27 +- drivers/acpi/namespace/nsload.c | 15 +- drivers/acpi/namespace/nsnames.c | 9 +- drivers/acpi/namespace/nssearch.c | 49 +- drivers/acpi/namespace/nsutils.c | 56 +- drivers/acpi/namespace/nswalk.c | 4 +- drivers/acpi/namespace/nsxfeval.c | 7 +- drivers/acpi/namespace/nsxfname.c | 4 + drivers/acpi/namespace/nsxfobj.c | 5 +- drivers/acpi/osl.c | 61 +- drivers/acpi/parser/psopcode.c | 27 +- drivers/acpi/parser/psparse.c | 189 +- drivers/acpi/parser/pstree.c | 4 +- drivers/acpi/parser/psutils.c | 27 +- drivers/acpi/pci_bind.c | 2 + drivers/acpi/pci_irq.c | 47 +- drivers/acpi/pci_link.c | 49 +- drivers/acpi/pci_root.c | 2 + drivers/acpi/power.c | 16 +- drivers/acpi/processor.c | 228 +- drivers/acpi/resources/Makefile | 4 +- drivers/acpi/resources/rscalc.c | 112 +- drivers/acpi/resources/rsutils.c | 3 +- drivers/acpi/resources/rsxface.c | 10 +- drivers/acpi/scan.c | 19 +- drivers/acpi/sleep/Makefile | 4 +- drivers/acpi/sleep/main.c | 11 +- drivers/acpi/sleep/poweroff.c | 2 + drivers/acpi/sleep/proc.c | 2 +- drivers/acpi/sleep/sleep.h | 1 + drivers/acpi/sleep/wakeup.c | 32 +- drivers/acpi/system.c | 45 +- drivers/acpi/tables/tbconvrt.c | 58 +- drivers/acpi/tables/tbget.c | 3 + drivers/acpi/tables/tbinstal.c | 3 +- drivers/acpi/tables/tbutils.c | 3 +- drivers/acpi/tables/tbxface.c | 7 +- drivers/acpi/tables/tbxfroot.c | 29 +- drivers/acpi/thermal.c | 22 +- drivers/acpi/utilities/utalloc.c | 23 +- drivers/acpi/utilities/utcopy.c | 27 +- drivers/acpi/utilities/utdebug.c | 7 + drivers/acpi/utilities/utdelete.c | 9 +- drivers/acpi/utilities/utglobal.c | 5 + drivers/acpi/utilities/utmath.c | 43 +- drivers/acpi/utilities/utmisc.c | 105 +- drivers/acpi/utilities/utobject.c | 60 +- drivers/acpi/utilities/utxface.c | 6 + drivers/acpi/utils.c | 6 +- drivers/acpi/video.c | 2 +- drivers/atm/Makefile | 2 +- drivers/atm/ambassador.c | 179 +- drivers/atm/ambassador.h | 2 +- drivers/atm/atmtcp.c | 42 +- drivers/atm/eni.c | 21 +- drivers/atm/firestream.c | 69 +- drivers/atm/fore200e.c | 87 +- drivers/atm/fore200e.h | 32 +- drivers/atm/he.c | 22 +- drivers/atm/horizon.c | 342 +- drivers/atm/horizon.h | 2 +- drivers/atm/idt77252.c | 33 +- drivers/atm/iphase.c | 94 +- drivers/atm/iphase.h | 24 +- drivers/atm/lanai.c | 8 +- drivers/atm/nicstar.c | 2 +- drivers/atm/zatm.c | 102 +- drivers/base/Kconfig | 2 +- drivers/base/bus.c | 172 +- drivers/base/class.c | 36 +- drivers/base/class_simple.c | 2 +- drivers/base/core.c | 32 +- drivers/base/cpu.c | 2 + drivers/base/firmware_class.c | 15 +- drivers/base/power/main.c | 13 +- drivers/base/power/power.h | 5 + drivers/base/power/resume.c | 20 +- drivers/base/power/suspend.c | 48 +- drivers/block/DAC960.c | 3 +- drivers/block/Kconfig | 76 + drivers/block/Kconfig.iosched | 13 +- drivers/block/Makefile | 2 + drivers/block/amiflop.c | 4 +- drivers/block/as-iosched.c | 122 +- drivers/block/cciss.c | 3 +- drivers/block/cciss_scsi.c | 53 +- drivers/block/cfq-iosched.c | 1510 ++++-- drivers/block/cpqarray.c | 18 +- drivers/block/deadline-iosched.c | 136 +- drivers/block/elevator.c | 385 +- drivers/block/floppy.c | 30 +- drivers/block/genhd.c | 46 +- drivers/block/ll_rw_blk.c | 470 +- drivers/block/loop.c | 4 +- drivers/block/noop-iosched.c | 33 +- drivers/block/paride/pg.c | 2 +- drivers/block/rd.c | 23 +- drivers/block/scsi_ioctl.c | 16 +- drivers/block/swim3.c | 50 +- drivers/block/ub.c | 234 +- drivers/block/umem.c | 6 +- drivers/block/viodasd.c | 2 +- drivers/block/xd.c | 20 +- drivers/block/z2ram.c | 2 +- drivers/bluetooth/bcm203x.c | 3 +- drivers/bluetooth/bfusb.c | 4 +- drivers/bluetooth/bluecard_cs.c | 34 +- drivers/bluetooth/bt3c_cs.c | 48 +- drivers/bluetooth/btuart_cs.c | 33 +- drivers/bluetooth/dtl1_cs.c | 33 +- drivers/bluetooth/hci_ldisc.c | 4 +- drivers/bluetooth/hci_usb.c | 41 +- drivers/bluetooth/hci_usb.h | 7 - drivers/bluetooth/hci_vhci.c | 4 +- drivers/cdrom/Makefile | 1 + drivers/cdrom/cdrom.c | 105 +- drivers/cdrom/cdu31a.c | 4 +- drivers/cdrom/sbpcd.c | 9 +- drivers/char/Kconfig | 24 +- drivers/char/Makefile | 2 + drivers/char/agp/ali-agp.c | 11 + drivers/char/agp/alpha-agp.c | 2 + drivers/char/agp/amd-k7-agp.c | 2 + drivers/char/agp/amd64-agp.c | 11 +- drivers/char/agp/ati-agp.c | 3 + drivers/char/agp/efficeon-agp.c | 7 +- drivers/char/agp/frontend.c | 8 +- drivers/char/agp/generic.c | 16 +- drivers/char/agp/hp-agp.c | 2 + drivers/char/agp/i460-agp.c | 8 +- drivers/char/agp/intel-agp.c | 80 +- drivers/char/agp/intel-mch-agp.c | 45 +- drivers/char/agp/isoch.c | 2 +- drivers/char/agp/nvidia-agp.c | 2 + drivers/char/agp/sis-agp.c | 8 +- drivers/char/agp/sworks-agp.c | 2 + drivers/char/agp/uninorth-agp.c | 2 + drivers/char/agp/via-agp.c | 6 +- drivers/char/amiserial.c | 91 +- drivers/char/applicom.c | 2 +- drivers/char/cyclades.c | 82 +- drivers/char/drm/drm_drv.h | 3 +- drivers/char/drm/drm_fops.h | 7 +- drivers/char/drm/drm_vm.h | 4 +- drivers/char/drm/i810_dma.c | 4 +- drivers/char/drm/i830_dma.c | 4 +- drivers/char/drm/radeon_mem.c | 8 +- drivers/char/dtlk.c | 19 +- drivers/char/ec3104_keyb.c | 2 +- drivers/char/epca.c | 178 +- drivers/char/epca.h | 2 +- drivers/char/esp.c | 95 +- drivers/char/ftape/lowlevel/fdc-io.c | 2 +- drivers/char/ftape/lowlevel/ftape-ctl.c | 7 +- drivers/char/ftape/lowlevel/ftape-init.c | 31 +- drivers/char/ftape/lowlevel/ftape-io.c | 20 +- drivers/char/ftape/zftape/zftape-buffers.c | 4 +- drivers/char/generic_serial.c | 120 +- drivers/char/hpet.c | 100 +- drivers/char/hvc_console.c | 98 +- drivers/char/hvcs.c | 28 +- drivers/char/hvsi.c | 17 +- drivers/char/hw_random.c | 4 +- drivers/char/i8k.c | 16 +- drivers/char/ip2.c | 6 +- drivers/char/ip2main.c | 5 +- drivers/char/ipmi/ipmi_si_intf.c | 31 +- drivers/char/isicom.c | 868 ++-- drivers/char/istallion.c | 66 +- drivers/char/lcd.c | 4 +- drivers/char/lp.c | 4 +- drivers/char/mem.c | 19 +- drivers/char/mmtimer.c | 542 ++- drivers/char/moxa.c | 134 +- drivers/char/mwave/3780i.c | 2 +- drivers/char/mxser.c | 2771 +++++++---- drivers/char/n_hdlc.c | 24 +- drivers/char/n_r3964.c | 15 +- drivers/char/n_tty.c | 32 +- drivers/char/nwflash.c | 2 +- drivers/char/pcmcia/synclink_cs.c | 33 +- drivers/char/pcxx.c | 55 +- drivers/char/pty.c | 49 +- drivers/char/qtronix.c | 2 +- drivers/char/random.c | 51 +- drivers/char/rio/rio_linux.c | 12 +- drivers/char/riscom8.c | 66 +- drivers/char/rocket.c | 84 +- drivers/char/serial167.c | 92 +- drivers/char/sonypi.c | 898 ++-- drivers/char/sonypi.h | 134 +- drivers/char/specialix.c | 68 +- drivers/char/stallion.c | 170 +- drivers/char/sx.c | 81 +- drivers/char/sx.h | 4 +- drivers/char/synclink.c | 115 +- drivers/char/synclinkmp.c | 46 +- drivers/char/sysrq.c | 72 +- drivers/char/tipar.c | 2 +- drivers/char/tpqic02.c | 3 +- drivers/char/tty_io.c | 128 +- drivers/char/tty_ioctl.c | 4 +- drivers/char/viocons.c | 184 +- drivers/char/viotape.c | 2 +- drivers/char/vt.c | 54 +- drivers/char/watchdog/Kconfig | 30 + drivers/char/watchdog/Makefile | 1 + drivers/char/watchdog/alim7101_wdt.c | 46 +- drivers/char/watchdog/i8xx_tco.c | 13 +- drivers/char/watchdog/ixp2000_wdt.c | 2 +- drivers/char/watchdog/ixp4xx_wdt.c | 4 +- drivers/char/watchdog/sc520_wdt.c | 2 +- drivers/char/watchdog/scx200_wdt.c | 12 +- drivers/cpufreq/Kconfig | 68 +- drivers/cpufreq/cpufreq.c | 295 +- drivers/cpufreq/cpufreq_ondemand.c | 52 +- drivers/cpufreq/cpufreq_performance.c | 4 + drivers/cpufreq/cpufreq_powersave.c | 3 + drivers/cpufreq/cpufreq_userspace.c | 73 +- drivers/cpufreq/freq_table.c | 23 +- drivers/dio/Makefile | 2 +- drivers/dio/dio.c | 321 +- drivers/eisa/eisa-bus.c | 4 +- drivers/fc4/soc.c | 10 +- drivers/fc4/soc.h | 2 +- drivers/fc4/socal.c | 12 +- drivers/fc4/socal.h | 2 +- drivers/firmware/Kconfig | 6 +- drivers/firmware/efivars.c | 2 +- drivers/firmware/pcdp.c | 138 +- drivers/i2c/algos/i2c-algo-ite.c | 8 - drivers/i2c/algos/i2c-algo-pca.c | 4 +- drivers/i2c/busses/Kconfig | 51 +- drivers/i2c/busses/Makefile | 3 + drivers/i2c/busses/i2c-ali1535.c | 8 +- drivers/i2c/busses/i2c-ali1563.c | 4 +- drivers/i2c/busses/i2c-ali15x3.c | 4 +- drivers/i2c/busses/i2c-amd756.c | 60 +- drivers/i2c/busses/i2c-amd8111.c | 16 +- drivers/i2c/busses/i2c-elektor.c | 36 +- drivers/i2c/busses/i2c-hydra.c | 4 +- drivers/i2c/busses/i2c-i801.c | 11 +- drivers/i2c/busses/i2c-i810.c | 6 +- drivers/i2c/busses/i2c-ibm_iic.c | 52 +- drivers/i2c/busses/i2c-ibm_iic.h | 2 +- drivers/i2c/busses/i2c-ite.c | 31 +- drivers/i2c/busses/i2c-keywest.c | 8 +- drivers/i2c/busses/i2c-keywest.h | 6 +- drivers/i2c/busses/i2c-mpc.c | 7 +- drivers/i2c/busses/i2c-nforce2.c | 21 +- drivers/i2c/busses/i2c-piix4.c | 4 +- drivers/i2c/busses/i2c-prosavage.c | 14 +- drivers/i2c/busses/i2c-savage4.c | 6 +- drivers/i2c/busses/i2c-sis5595.c | 4 +- drivers/i2c/busses/i2c-sis630.c | 4 +- drivers/i2c/busses/i2c-sis96x.c | 4 +- drivers/i2c/busses/i2c-via.c | 4 +- drivers/i2c/busses/i2c-viapro.c | 4 +- drivers/i2c/busses/i2c-voodoo3.c | 6 +- drivers/i2c/busses/scx200_acb.c | 20 +- drivers/i2c/busses/scx200_i2c.c | 4 +- drivers/i2c/chips/Kconfig | 48 + drivers/i2c/chips/Makefile | 4 + drivers/i2c/chips/adm1021.c | 11 +- drivers/i2c/chips/adm1025.c | 20 +- drivers/i2c/chips/adm1031.c | 52 +- drivers/i2c/chips/asb100.c | 23 +- drivers/i2c/chips/ds1621.c | 7 +- drivers/i2c/chips/eeprom.c | 7 +- drivers/i2c/chips/fscher.c | 4 +- drivers/i2c/chips/gl518sm.c | 10 +- drivers/i2c/chips/it87.c | 64 +- drivers/i2c/chips/lm75.c | 7 +- drivers/i2c/chips/lm77.c | 6 +- drivers/i2c/chips/lm78.c | 47 +- drivers/i2c/chips/lm80.c | 12 +- drivers/i2c/chips/lm83.c | 30 +- drivers/i2c/chips/lm85.c | 504 +- drivers/i2c/chips/lm90.c | 47 +- drivers/i2c/chips/max1619.c | 13 +- drivers/i2c/chips/pcf8574.c | 8 +- drivers/i2c/chips/pcf8591.c | 7 +- drivers/i2c/chips/smsc47m1.c | 87 +- drivers/i2c/chips/via686a.c | 34 +- drivers/i2c/chips/w83627hf.c | 24 +- drivers/i2c/chips/w83781d.c | 82 +- drivers/i2c/chips/w83l785ts.c | 11 +- drivers/i2c/i2c-core.c | 106 +- drivers/i2c/i2c-dev.c | 2 +- drivers/i2c/i2c-sensor-detect.c | 79 +- drivers/ide/Kconfig | 43 +- drivers/ide/Makefile | 1 + drivers/ide/arm/icside.c | 438 +- drivers/ide/arm/rapide.c | 85 +- drivers/ide/cris/ide-v10.c | 6 +- drivers/ide/ide-cd.c | 94 +- drivers/ide/ide-cd.h | 6 +- drivers/ide/ide-default.c | 2 +- drivers/ide/ide-disk.c | 470 +- drivers/ide/ide-dma.c | 238 +- drivers/ide/ide-floppy.c | 14 +- drivers/ide/ide-io.c | 115 +- drivers/ide/ide-iops.c | 112 +- drivers/ide/ide-lib.c | 18 +- drivers/ide/ide-pnp.c | 7 +- drivers/ide/ide-probe.c | 63 +- drivers/ide/ide-proc.c | 342 +- drivers/ide/ide-tape.c | 12 +- drivers/ide/ide-taskfile.c | 189 +- drivers/ide/ide.c | 82 +- drivers/ide/legacy/Makefile | 1 - drivers/ide/legacy/ali14xx.c | 2 + drivers/ide/legacy/dtc2278.c | 2 + drivers/ide/legacy/hd.c | 8 +- drivers/ide/legacy/ht6560b.c | 2 + drivers/ide/legacy/ide-cs.c | 12 +- drivers/ide/legacy/qd65xx.c | 9 +- drivers/ide/legacy/qd65xx.h | 2 +- drivers/ide/legacy/umc8672.c | 2 + drivers/ide/pci/Makefile | 2 +- drivers/ide/pci/aec62xx.c | 144 +- drivers/ide/pci/aec62xx.h | 6 +- drivers/ide/pci/alim15x3.c | 25 +- drivers/ide/pci/amd74xx.c | 4 +- drivers/ide/pci/atiixp.c | 172 +- drivers/ide/pci/cmd64x.c | 34 +- drivers/ide/pci/cs5520.c | 87 +- drivers/ide/pci/cs5530.c | 59 - drivers/ide/pci/cy82c693.c | 2 +- drivers/ide/pci/generic.c | 4 +- drivers/ide/pci/hpt34x.c | 55 +- drivers/ide/pci/hpt366.c | 553 +-- drivers/ide/pci/hpt366.h | 47 +- drivers/ide/pci/it8172.c | 34 +- drivers/ide/pci/ns87415.c | 101 +- drivers/ide/pci/pdc202xx_new.c | 161 +- drivers/ide/pci/pdc202xx_new.h | 2 - drivers/ide/pci/pdc202xx_old.c | 175 +- drivers/ide/pci/pdc202xx_old.h | 37 - drivers/ide/pci/piix.c | 186 +- drivers/ide/pci/piix.h | 7 +- drivers/ide/pci/rz1000.c | 2 +- drivers/ide/pci/sc1200.c | 69 +- drivers/ide/pci/serverworks.c | 204 +- drivers/ide/pci/serverworks.h | 4 +- drivers/ide/pci/sgiioc4.c | 86 +- drivers/ide/pci/siimage.c | 87 +- drivers/ide/pci/sis5513.c | 34 +- drivers/ide/pci/sl82c105.c | 8 +- drivers/ide/pci/slc90e66.c | 146 +- drivers/ide/pci/triflex.c | 25 +- drivers/ide/pci/trm290.c | 99 +- drivers/ide/ppc/pmac.c | 212 +- drivers/ide/setup-pci.c | 134 +- drivers/ieee1394/eth1394.c | 96 +- drivers/ieee1394/nodemgr.c | 13 +- drivers/ieee1394/ohci1394.c | 12 +- drivers/ieee1394/pcilynx.c | 2 +- drivers/ieee1394/pcilynx.h | 8 +- drivers/ieee1394/sbp2.c | 11 +- drivers/ieee1394/sbp2.h | 18 +- drivers/ieee1394/video1394.c | 2 +- drivers/input/evdev.c | 4 +- drivers/input/gameport/Kconfig | 2 +- drivers/input/gameport/fm801-gp.c | 2 +- drivers/input/input.c | 2 +- drivers/input/joydev.c | 4 +- drivers/input/joystick/amijoy.c | 3 +- drivers/input/joystick/analog.c | 2 +- drivers/input/joystick/db9.c | 6 +- drivers/input/joystick/gamecon.c | 6 +- drivers/input/joystick/sidewinder.c | 2 +- drivers/input/joystick/turbografx.c | 6 +- drivers/input/mouse/Kconfig | 6 +- drivers/input/mouse/pc110pad.c | 15 + drivers/input/mousedev.c | 4 +- drivers/input/serio/Kconfig | 2 +- drivers/input/serio/i8042-io.h | 11 +- drivers/input/serio/i8042.c | 77 +- drivers/input/serio/maceps2.c | 2 +- drivers/input/serio/q40kbd.c | 2 +- drivers/input/serio/rpckbd.c | 58 +- drivers/input/serio/serio.c | 7 +- drivers/input/serio/serport.c | 2 +- drivers/input/tsdev.c | 10 +- drivers/isdn/act2000/act2000_isa.c | 11 +- drivers/isdn/capi/capi.c | 26 +- drivers/isdn/capi/capidrv.c | 15 +- drivers/isdn/capi/kcapi.c | 35 +- drivers/isdn/divert/divert_init.c | 19 +- drivers/isdn/divert/divert_procfs.c | 20 +- drivers/isdn/divert/isdn_divert.c | 101 +- drivers/isdn/divert/isdn_divert.h | 2 + drivers/isdn/hardware/avm/Kconfig | 12 +- drivers/isdn/hardware/avm/b1pcmcia.c | 1 - drivers/isdn/hardware/avm/c4.c | 9 +- drivers/isdn/hardware/eicon/capifunc.c | 42 +- drivers/isdn/hardware/eicon/di.c | 22 +- drivers/isdn/hardware/eicon/diva_pci.h | 4 +- drivers/isdn/hardware/eicon/divasmain.c | 22 +- drivers/isdn/hardware/eicon/io.c | 68 +- drivers/isdn/hardware/eicon/io.h | 24 +- drivers/isdn/hardware/eicon/maintidi.c | 10 +- drivers/isdn/hardware/eicon/message.c | 788 +-- drivers/isdn/hardware/eicon/os_4bri.c | 34 +- drivers/isdn/hardware/eicon/os_bri.c | 23 +- drivers/isdn/hardware/eicon/os_pri.c | 61 +- drivers/isdn/hardware/eicon/platform.h | 34 +- drivers/isdn/hardware/eicon/s_4bri.c | 66 +- drivers/isdn/hardware/eicon/s_bri.c | 22 +- drivers/isdn/hardware/eicon/s_pri.c | 34 +- drivers/isdn/hardware/eicon/xdi_adapter.h | 2 +- drivers/isdn/hisax/amd7930_fn.c | 4 +- drivers/isdn/hisax/avm_pci.c | 4 +- drivers/isdn/hisax/config.c | 3 +- drivers/isdn/hisax/elsa.c | 3 +- drivers/isdn/hisax/hfc_pci.c | 3 +- drivers/isdn/hisax/hfc_sx.c | 6 +- drivers/isdn/hisax/hfcscard.c | 3 +- drivers/isdn/hisax/hisax.h | 6 +- drivers/isdn/hisax/hisax_fcpcipnp.c | 14 +- drivers/isdn/hisax/isurf.c | 5 +- drivers/isdn/hisax/teles0.c | 31 +- drivers/isdn/hisax/telespci.c | 22 +- drivers/isdn/hysdn/boardergo.c | 7 +- drivers/isdn/hysdn/hycapi.c | 3 - drivers/isdn/hysdn/hysdn_sched.c | 7 +- drivers/isdn/i4l/Kconfig | 2 +- drivers/isdn/i4l/isdn_bsdcomp.c | 4 +- drivers/isdn/i4l/isdn_tty.c | 49 +- drivers/isdn/i4l/isdn_x25iface.c | 16 +- drivers/isdn/icn/icn.c | 15 +- drivers/isdn/icn/icn.h | 3 +- drivers/isdn/isdnloop/isdnloop.c | 3 + drivers/isdn/pcbit/drv.c | 2 +- drivers/isdn/sc/card.h | 7 +- drivers/isdn/sc/hardware.h | 3 - drivers/isdn/sc/init.c | 10 +- drivers/isdn/tpam/tpam.h | 25 +- drivers/isdn/tpam/tpam_commands.c | 78 +- drivers/isdn/tpam/tpam_main.c | 22 +- drivers/isdn/tpam/tpam_memory.c | 38 +- drivers/isdn/tpam/tpam_nco.c | 34 +- drivers/isdn/tpam/tpam_queues.c | 49 +- drivers/macintosh/ans-lcd.c | 8 +- drivers/macintosh/macio-adb.c | 7 +- drivers/macintosh/macserial.c | 61 +- drivers/macintosh/mediabay.c | 25 +- drivers/macintosh/therm_adt746x.c | 282 +- drivers/macintosh/therm_pm72.c | 577 ++- drivers/macintosh/therm_pm72.h | 50 +- drivers/macintosh/therm_windtunnel.c | 8 +- drivers/macintosh/via-cuda.c | 4 +- drivers/macintosh/via-pmu.c | 28 +- drivers/md/Kconfig | 9 + drivers/md/Makefile | 1 + drivers/md/dm-crypt.c | 322 +- drivers/md/dm-ioctl.c | 95 +- drivers/md/dm-table.c | 11 +- drivers/md/dm.c | 82 +- drivers/md/dm.h | 5 + drivers/md/linear.c | 33 +- drivers/md/md.c | 197 +- drivers/md/multipath.c | 93 +- drivers/md/raid0.c | 13 +- drivers/md/raid1.c | 92 +- drivers/md/raid10.c | 79 +- drivers/md/raid5.c | 78 +- drivers/md/raid6main.c | 96 +- drivers/media/Kconfig | 15 +- drivers/media/common/ir-common.c | 12 +- drivers/media/common/saa7146_core.c | 193 +- drivers/media/common/saa7146_fops.c | 68 +- drivers/media/common/saa7146_hlp.c | 38 +- drivers/media/common/saa7146_i2c.c | 10 +- drivers/media/common/saa7146_vbi.c | 29 +- drivers/media/common/saa7146_video.c | 46 +- drivers/media/dvb/Kconfig | 20 +- drivers/media/dvb/Makefile | 3 +- drivers/media/dvb/b2c2/Kconfig | 18 +- drivers/media/dvb/b2c2/Makefile | 5 +- drivers/media/dvb/b2c2/skystar2.c | 417 +- drivers/media/dvb/bt8xx/Kconfig | 9 +- drivers/media/dvb/bt8xx/Makefile | 2 +- drivers/media/dvb/bt8xx/bt878.c | 55 +- drivers/media/dvb/bt8xx/bt878.h | 13 +- drivers/media/dvb/bt8xx/dvb-bt8xx.c | 655 ++- drivers/media/dvb/bt8xx/dvb-bt8xx.h | 11 +- drivers/media/dvb/dvb-core/Makefile | 4 +- drivers/media/dvb/dvb-core/dmxdev.c | 21 +- drivers/media/dvb/dvb-core/dvb_ca_en50221.c | 535 +- drivers/media/dvb/dvb-core/dvb_ca_en50221.h | 8 +- drivers/media/dvb/dvb-core/dvb_demux.c | 23 +- drivers/media/dvb/dvb-core/dvb_filter.c | 14 +- drivers/media/dvb/dvb-core/dvb_frontend.c | 888 ++-- drivers/media/dvb/dvb-core/dvb_frontend.h | 178 +- drivers/media/dvb/dvb-core/dvb_net.c | 516 +- drivers/media/dvb/dvb-core/dvbdev.c | 111 +- drivers/media/dvb/dvb-core/dvbdev.h | 12 + drivers/media/dvb/frontends/Kconfig | 228 +- drivers/media/dvb/frontends/Makefile | 16 +- drivers/media/dvb/frontends/at76c651.c | 498 +- drivers/media/dvb/frontends/cx24110.c | 625 ++- drivers/media/dvb/frontends/dvb_dummy_fe.c | 322 +- drivers/media/dvb/frontends/mt312.c | 699 ++- drivers/media/dvb/frontends/mt312.h | 159 +- drivers/media/dvb/frontends/nxt6000.c | 628 +-- drivers/media/dvb/frontends/nxt6000.h | 285 +- drivers/media/dvb/frontends/sp887x.c | 616 ++- drivers/media/dvb/frontends/stv0299.c | 1365 ++---- drivers/media/dvb/frontends/tda1004x.c | 1746 +++---- drivers/media/dvb/frontends/ves1820.c | 672 ++- drivers/media/dvb/frontends/ves1x93.c | 592 +-- drivers/media/dvb/ttpci/Kconfig | 26 +- drivers/media/dvb/ttpci/Makefile | 2 +- drivers/media/dvb/ttpci/av7110.c | 1081 +++- drivers/media/dvb/ttpci/av7110.h | 49 +- drivers/media/dvb/ttpci/av7110_av.c | 73 +- drivers/media/dvb/ttpci/av7110_ca.c | 34 +- drivers/media/dvb/ttpci/av7110_hw.c | 459 +- drivers/media/dvb/ttpci/av7110_hw.h | 31 +- drivers/media/dvb/ttpci/av7110_ir.c | 17 +- drivers/media/dvb/ttpci/av7110_v4l.c | 210 +- drivers/media/dvb/ttpci/budget-av.c | 764 ++- drivers/media/dvb/ttpci/budget-ci.c | 641 ++- drivers/media/dvb/ttpci/budget-core.c | 173 +- drivers/media/dvb/ttpci/budget-patch.c | 262 +- drivers/media/dvb/ttpci/budget.c | 411 +- drivers/media/dvb/ttpci/budget.h | 36 +- drivers/media/dvb/ttpci/ttpci-eeprom.c | 23 +- drivers/media/dvb/ttpci/ttpci-eeprom.h | 5 +- drivers/media/dvb/ttusb-budget/Kconfig | 4 + drivers/media/dvb/ttusb-budget/Makefile | 2 +- .../media/dvb/ttusb-budget/dvb-ttusb-budget.c | 469 +- .../dvb/ttusb-budget/dvb-ttusb-dspbootcode.h | 2 +- drivers/media/dvb/ttusb-dec/Kconfig | 8 +- drivers/media/dvb/ttusb-dec/Makefile | 2 +- drivers/media/dvb/ttusb-dec/ttusb_dec.c | 362 +- drivers/media/video/Kconfig | 52 +- drivers/media/video/Makefile | 5 + drivers/media/video/bt848.h | 10 +- drivers/media/video/btcx-risc.c | 8 +- drivers/media/video/btcx-risc.h | 4 +- drivers/media/video/bttv-cards.c | 513 +- drivers/media/video/bttv-driver.c | 346 +- drivers/media/video/bttv-gpio.c | 14 +- drivers/media/video/bttv-i2c.c | 84 +- drivers/media/video/bttv-if.c | 14 +- drivers/media/video/bttv-risc.c | 58 +- drivers/media/video/bttv-vbi.c | 47 +- drivers/media/video/bttv.h | 22 +- drivers/media/video/bttvp.h | 21 +- drivers/media/video/bw-qcam.c | 17 +- drivers/media/video/c-qcam.c | 6 +- drivers/media/video/cpia.c | 35 +- drivers/media/video/cx88/Makefile | 12 +- drivers/media/video/cx88/cx88-cards.c | 389 +- drivers/media/video/cx88/cx88-core.c | 743 ++- drivers/media/video/cx88/cx88-i2c.c | 169 +- drivers/media/video/cx88/cx88-reg.h | 80 +- drivers/media/video/cx88/cx88-tvaudio.c | 196 +- drivers/media/video/cx88/cx88-vbi.c | 64 +- drivers/media/video/cx88/cx88-video.c | 990 ++-- drivers/media/video/cx88/cx88.h | 297 +- drivers/media/video/dpc7146.c | 10 +- drivers/media/video/hexium_gemini.c | 9 +- drivers/media/video/hexium_orion.c | 9 +- drivers/media/video/ir-kbd-gpio.c | 107 +- drivers/media/video/ir-kbd-i2c.c | 47 +- drivers/media/video/meye.c | 1629 ++++--- drivers/media/video/meye.h | 57 +- drivers/media/video/msp3400.c | 1051 ++-- drivers/media/video/msp3400.h | 22 + drivers/media/video/mxb.c | 19 +- .../media/video/ovcamchip/ovcamchip_core.c | 7 +- drivers/media/video/planb.c | 9 +- drivers/media/video/pms.c | 16 +- drivers/media/video/saa5249.c | 3 +- drivers/media/video/saa7111.c | 4 +- drivers/media/video/saa7134/Makefile | 6 +- drivers/media/video/saa7134/saa6752hs.c | 100 +- drivers/media/video/saa7134/saa7134-cards.c | 271 +- drivers/media/video/saa7134/saa7134-core.c | 264 +- drivers/media/video/saa7134/saa7134-i2c.c | 43 +- drivers/media/video/saa7134/saa7134-input.c | 69 +- drivers/media/video/saa7134/saa7134-oss.c | 26 +- drivers/media/video/saa7134/saa7134-reg.h | 2 + drivers/media/video/saa7134/saa7134-ts.c | 362 +- drivers/media/video/saa7134/saa7134-tvaudio.c | 78 +- drivers/media/video/saa7134/saa7134-vbi.c | 37 +- drivers/media/video/saa7134/saa7134-video.c | 158 +- drivers/media/video/saa7134/saa7134.h | 96 +- drivers/media/video/saa7146.h | 6 +- drivers/media/video/tda7432.c | 84 +- drivers/media/video/tda9840.c | 305 +- drivers/media/video/tda9875.c | 36 +- drivers/media/video/tda9887.c | 54 +- drivers/media/video/tea6415c.c | 227 +- drivers/media/video/tea6420.c | 171 +- drivers/media/video/tuner.c | 227 +- drivers/media/video/tvaudio.c | 104 +- drivers/media/video/tvmixer.c | 12 +- drivers/media/video/v4l1-compat.c | 38 +- drivers/media/video/v4l2-common.c | 16 +- drivers/media/video/video-buf.c | 178 +- drivers/media/video/videocodec.c | 5 - drivers/media/video/zoran.h | 6 +- drivers/media/video/zoran_driver.c | 42 +- drivers/media/video/zr36120.c | 17 +- drivers/message/fusion/Kconfig | 2 +- drivers/message/fusion/mptbase.c | 239 +- drivers/message/fusion/mptbase.h | 192 +- drivers/message/fusion/mptctl.c | 8 +- drivers/message/fusion/mptscsih.c | 751 +-- drivers/message/fusion/mptscsih.h | 11 +- drivers/message/i2o/debug.c | 292 +- drivers/message/i2o/device.c | 54 +- drivers/message/i2o/driver.c | 37 +- drivers/message/i2o/exec-osm.c | 71 +- drivers/message/i2o/i2o_block.c | 218 +- drivers/message/i2o/i2o_config.c | 145 +- drivers/message/i2o/i2o_proc.c | 47 +- drivers/message/i2o/i2o_scsi.c | 113 +- drivers/message/i2o/iop.c | 111 +- drivers/message/i2o/pci.c | 21 +- drivers/misc/ibmasm/ibmasm.h | 2 +- drivers/misc/ibmasm/ibmasmfs.c | 17 +- drivers/misc/ibmasm/lowlevel.c | 2 +- drivers/misc/ibmasm/lowlevel.h | 30 +- drivers/misc/ibmasm/module.c | 12 +- drivers/misc/ibmasm/uart.c | 2 +- drivers/mmc/Kconfig | 11 + drivers/mmc/Makefile | 1 + drivers/mmc/mmc.c | 7 +- drivers/mmc/mmc_block.c | 3 + drivers/mmc/mmc_queue.c | 24 +- drivers/mmc/mmc_queue.h | 1 + drivers/mmc/mmci.c | 14 +- drivers/mmc/mmci.h | 10 +- drivers/mmc/pxamci.c | 112 +- drivers/mmc/pxamci.h | 30 + drivers/mtd/chips/cfi_cmdset_0001.c | 484 +- drivers/mtd/chips/cfi_cmdset_0002.c | 506 +- drivers/mtd/chips/cfi_cmdset_0020.c | 4 +- drivers/mtd/chips/cfi_probe.c | 46 +- drivers/mtd/chips/cfi_util.c | 102 +- drivers/mtd/chips/chipreg.c | 4 +- drivers/mtd/chips/gen_probe.c | 12 +- drivers/mtd/chips/jedec_probe.c | 184 +- drivers/mtd/chips/map_absent.c | 4 +- drivers/mtd/chips/map_ram.c | 4 +- drivers/mtd/chips/map_rom.c | 8 +- drivers/mtd/cmdlinepart.c | 4 +- drivers/mtd/devices/Kconfig | 6 +- drivers/mtd/devices/blkmtd.c | 12 +- drivers/mtd/devices/doc2000.c | 44 +- drivers/mtd/devices/doc2001.c | 28 +- drivers/mtd/devices/doc2001plus.c | 40 +- drivers/mtd/devices/docprobe.c | 6 +- drivers/mtd/devices/mtdram.c | 8 +- drivers/mtd/devices/phram.c | 14 +- drivers/mtd/devices/pmc551.c | 4 +- drivers/mtd/devices/slram.c | 32 +- drivers/mtd/ftl.c | 16 +- drivers/mtd/inftlcore.c | 10 +- drivers/mtd/inftlmount.c | 8 +- drivers/mtd/maps/Kconfig | 64 +- drivers/mtd/maps/Makefile | 6 +- drivers/mtd/maps/amd76xrom.c | 384 +- drivers/mtd/maps/arctic-mtd.c | 4 +- drivers/mtd/maps/autcpu12-nvram.c | 6 +- drivers/mtd/maps/beech-mtd.c | 4 +- drivers/mtd/maps/cdb89712.c | 8 +- drivers/mtd/maps/ceiva.c | 6 +- drivers/mtd/maps/cfi_flagadm.c | 4 +- drivers/mtd/maps/cstm_mips_ixx.c | 4 +- drivers/mtd/maps/db1550-flash.c | 13 +- drivers/mtd/maps/db1x00-flash.c | 21 +- drivers/mtd/maps/dbox2-flash.c | 4 +- drivers/mtd/maps/dc21285.c | 54 +- drivers/mtd/maps/dilnetpc.c | 12 +- drivers/mtd/maps/dmv182.c | 5 +- drivers/mtd/maps/ebony.c | 27 +- drivers/mtd/maps/edb7312.c | 13 +- drivers/mtd/maps/elan-104nc.c | 10 +- drivers/mtd/maps/epxa10db-flash.c | 4 +- drivers/mtd/maps/fortunet.c | 6 +- drivers/mtd/maps/h720x-flash.c | 4 +- drivers/mtd/maps/ichxrom.c | 496 +- drivers/mtd/maps/impa7.c | 9 +- drivers/mtd/maps/integrator-flash.c | 8 +- drivers/mtd/maps/iq80310.c | 4 +- drivers/mtd/maps/ixp2000.c | 53 +- drivers/mtd/maps/ixp4xx.c | 13 +- drivers/mtd/maps/l440gx.c | 14 +- drivers/mtd/maps/lasat.c | 4 +- drivers/mtd/maps/lubbock-flash.c | 4 +- drivers/mtd/maps/mbx860.c | 4 +- drivers/mtd/maps/mpc1211.c | 4 +- drivers/mtd/maps/netsc520.c | 10 +- drivers/mtd/maps/nettel.c | 9 +- drivers/mtd/maps/ocelot.c | 6 +- drivers/mtd/maps/omap-toto-flash.c | 4 +- drivers/mtd/maps/pb1550-flash.c | 5 +- drivers/mtd/maps/pb1xxx-flash.c | 5 +- drivers/mtd/maps/pci.c | 6 +- drivers/mtd/maps/physmap.c | 10 +- drivers/mtd/maps/pnc2000.c | 8 +- drivers/mtd/maps/redwood.c | 5 +- drivers/mtd/maps/rpxlite.c | 4 +- drivers/mtd/maps/sa1100-flash.c | 1512 ++---- drivers/mtd/maps/sbc_gxx.c | 12 +- drivers/mtd/maps/sc520cdp.c | 16 +- drivers/mtd/maps/scb2_flash.c | 8 +- drivers/mtd/maps/scx200_docflash.c | 10 +- drivers/mtd/maps/solutionengine.c | 6 +- drivers/mtd/maps/sun_uflash.c | 5 +- drivers/mtd/maps/tqm8xxl.c | 2 +- drivers/mtd/maps/uclinux.c | 6 +- drivers/mtd/maps/wr_sbc82xx_flash.c | 4 +- drivers/mtd/mtd_blkdevs.c | 12 +- drivers/mtd/mtdblock.c | 6 +- drivers/mtd/mtdblock_ro.c | 4 +- drivers/mtd/mtdchar.c | 12 +- drivers/mtd/mtdcore.c | 4 +- drivers/mtd/mtdpart.c | 4 +- drivers/mtd/nand/Kconfig | 49 +- drivers/mtd/nand/Makefile | 5 +- drivers/mtd/nand/au1550nd.c | 423 +- drivers/mtd/nand/autcpu12.c | 16 +- drivers/mtd/nand/diskonchip.c | 260 +- drivers/mtd/nand/edb7312.c | 37 +- drivers/mtd/nand/nand_base.c | 147 +- drivers/mtd/nand/nand_bbt.c | 5 +- drivers/mtd/nand/ppchameleonevb.c | 60 +- drivers/mtd/nand/spia.c | 31 +- drivers/mtd/nand/toto.c | 24 +- drivers/mtd/nand/tx4925ndfmc.c | 30 +- drivers/mtd/nand/tx4938ndfmc.c | 22 +- drivers/mtd/nftlcore.c | 10 +- drivers/mtd/nftlmount.c | 7 +- drivers/net/3c501.c | 2 +- drivers/net/3c505.c | 2 +- drivers/net/3c507.c | 2 +- drivers/net/3c509.c | 153 +- drivers/net/3c515.c | 2 +- drivers/net/3c523.c | 2 +- drivers/net/3c527.c | 2 +- drivers/net/3c59x.c | 18 +- drivers/net/7990.c | 164 +- drivers/net/7990.h | 12 +- drivers/net/8139cp.c | 14 +- drivers/net/8139too.c | 15 +- drivers/net/82596.c | 4 +- drivers/net/8390.c | 4 +- drivers/net/Kconfig | 131 +- drivers/net/Makefile | 2 + drivers/net/Space.c | 3 - drivers/net/a2065.c | 2 +- drivers/net/acenic.c | 189 +- drivers/net/acenic.h | 23 +- drivers/net/acenic_firmware.h | 2 +- drivers/net/amd8111e.c | 502 +- drivers/net/amd8111e.h | 6 +- drivers/net/appletalk/cops.c | 2 +- drivers/net/appletalk/ltpc.c | 2 +- drivers/net/ariadne.c | 2 +- drivers/net/arm/am79c961a.c | 15 +- drivers/net/arm/ether1.c | 2 +- drivers/net/arm/ether3.c | 2 +- drivers/net/arm/etherh.c | 167 +- drivers/net/at1700.c | 2 +- drivers/net/atari_bionet.c | 2 +- drivers/net/atari_pamsnet.c | 2 +- drivers/net/atarilance.c | 4 +- drivers/net/atp.c | 2 +- drivers/net/au1000_eth.c | 2 +- drivers/net/b44.c | 5 +- drivers/net/b44.h | 1 - drivers/net/bagetlance.c | 2 +- drivers/net/bonding/bond_main.c | 17 +- drivers/net/bonding/bonding.h | 4 +- drivers/net/bsd_comp.c | 4 +- drivers/net/cs89x0.c | 2 +- drivers/net/declance.c | 9 - drivers/net/defxx.c | 146 +- drivers/net/defxx.h | 2 +- drivers/net/depca.c | 12 +- drivers/net/dgrs.c | 6 +- drivers/net/dl2k.c | 267 +- drivers/net/dl2k.h | 2 +- drivers/net/dummy.c | 4 +- drivers/net/e100.c | 52 +- drivers/net/e1000/e1000.h | 5 +- drivers/net/e1000/e1000_ethtool.c | 12 +- drivers/net/e1000/e1000_hw.c | 128 +- drivers/net/e1000/e1000_hw.h | 2 +- drivers/net/e1000/e1000_main.c | 49 +- drivers/net/e1000/e1000_osdep.h | 6 + drivers/net/e1000/e1000_param.c | 167 +- drivers/net/eepro.c | 2 +- drivers/net/eepro100.c | 146 +- drivers/net/eexpress.c | 2 +- drivers/net/epic100.c | 2 +- drivers/net/eql.c | 26 +- drivers/net/eth16i.c | 2 +- drivers/net/ethertap.c | 2 +- drivers/net/ewrk3.c | 326 +- drivers/net/fealnx.c | 2 +- drivers/net/fec.c | 501 +- drivers/net/fec.h | 6 +- drivers/net/fec_8xx/fec_8xx-netta.c | 2 +- drivers/net/fec_8xx/fec_main.c | 2 +- drivers/net/fec_8xx/fec_mii.c | 2 +- drivers/net/fmv18x.c | 2 +- drivers/net/forcedeth.c | 160 +- drivers/net/gt96100eth.c | 2 +- drivers/net/hamachi.c | 164 +- drivers/net/hamradio/6pack.c | 32 +- drivers/net/hamradio/baycom_par.c | 2 +- drivers/net/hamradio/dmascc.c | 1 - drivers/net/hamradio/hdlcdrv.c | 2 +- drivers/net/hamradio/mkiss.c | 8 +- drivers/net/hamradio/scc.c | 2 +- drivers/net/hamradio/yam.c | 2 +- drivers/net/hp100.c | 6 +- drivers/net/hplance.c | 185 +- drivers/net/hplance.h | 15 +- drivers/net/hydra.c | 2 +- drivers/net/ibm_emac/ibm_emac_core.c | 23 +- drivers/net/ibm_emac/ibm_emac_mal.h | 1 + drivers/net/ibmlana.c | 11 +- drivers/net/ibmveth.c | 21 +- drivers/net/irda/au1k_ir.c | 2 +- drivers/net/irda/irda-usb.c | 20 +- drivers/net/irda/irport.c | 2 +- drivers/net/irda/irtty-sir.c | 2 +- drivers/net/irda/nsc-ircc.c | 5 +- drivers/net/irda/sa1100_ir.c | 129 +- drivers/net/irda/stir4200.c | 48 +- drivers/net/irda/via-ircc.c | 536 +- drivers/net/irda/via-ircc.h | 19 +- drivers/net/irda/vlsi_ir.c | 4 +- drivers/net/irda/vlsi_ir.h | 1 - drivers/net/isa-skeleton.c | 2 +- drivers/net/iseries_veth.c | 87 +- drivers/net/ixgb/ixgb.h | 3 +- drivers/net/ixgb/ixgb_ethtool.c | 500 +- drivers/net/ixgb/ixgb_hw.h | 2 +- drivers/net/ixgb/ixgb_main.c | 39 +- drivers/net/jazzsonic.c | 2 +- drivers/net/lance.c | 2 +- drivers/net/lasi_82596.c | 4 +- drivers/net/lp486e.c | 2 +- drivers/net/mac8390.c | 6 +- drivers/net/mac89x0.c | 4 +- drivers/net/macsonic.c | 2 +- drivers/net/meth.c | 26 - drivers/net/mv643xx_eth.c | 2 +- drivers/net/mvme147.c | 22 +- drivers/net/myri_sbus.c | 2 +- drivers/net/natsemi.c | 273 +- drivers/net/ne2.c | 2 +- drivers/net/ne2k-pci.c | 31 + drivers/net/net_init.c | 341 -- drivers/net/netconsole.c | 120 +- drivers/net/netdump.c | 94 +- drivers/net/netdump.h | 9 + drivers/net/ni5010.c | 2 +- drivers/net/ni52.c | 2 +- drivers/net/ni65.c | 2 +- drivers/net/ns83820.c | 190 +- drivers/net/pci-skeleton.c | 7 +- drivers/net/pcmcia/3c574_cs.c | 2 +- drivers/net/pcmcia/3c589_cs.c | 2 +- drivers/net/pcmcia/axnet_cs.c | 2 +- drivers/net/pcmcia/nmclan_cs.c | 2 +- drivers/net/pcmcia/smc91c92_cs.c | 179 +- drivers/net/pcmcia/xirc2ps_cs.c | 2 +- drivers/net/pcnet32.c | 66 +- drivers/net/plip.c | 2 +- drivers/net/ppp_async.c | 8 +- drivers/net/ppp_deflate.c | 4 +- drivers/net/ppp_generic.c | 26 +- drivers/net/ppp_synctty.c | 4 +- drivers/net/r8169.c | 2 +- drivers/net/rrunner.c | 32 +- drivers/net/rrunner.h | 6 +- drivers/net/s2io.c | 20 +- drivers/net/s2io.h | 1 - drivers/net/sb1000.c | 2 +- drivers/net/sb1250-mac.c | 2 +- drivers/net/seeq8005.c | 2 +- drivers/net/sgiseeq.c | 2 +- drivers/net/sis900.c | 284 +- drivers/net/sk98lin/h/skdrv1st.h | 4 +- drivers/net/sk98lin/h/skdrv2nd.h | 4 +- drivers/net/sk98lin/skge.c | 4 +- drivers/net/sk_g16.c | 2 +- drivers/net/sk_mca.c | 11 +- drivers/net/skfp/hwmtm.c | 3 +- drivers/net/skfp/skfddi.c | 2 +- drivers/net/slip.c | 47 +- drivers/net/smc9194.c | 2 +- drivers/net/smc91x.c | 513 +- drivers/net/smc91x.h | 112 +- drivers/net/starfire.c | 211 +- drivers/net/sun3_82586.c | 2 +- drivers/net/sun3lance.c | 2 +- drivers/net/sunbmac.c | 2 +- drivers/net/sundance.c | 191 +- drivers/net/sungem.c | 8 +- drivers/net/sunhme.c | 12 +- drivers/net/sunlance.c | 2 +- drivers/net/sunqe.c | 2 +- drivers/net/tc35815.c | 2 +- drivers/net/tg3.c | 133 +- drivers/net/tg3.h | 2 +- drivers/net/tokenring/3c359.c | 2 +- drivers/net/tokenring/abyss.c | 9 +- drivers/net/tokenring/ibmtr.c | 2 +- drivers/net/tokenring/lanstreamer.c | 4 +- drivers/net/tokenring/olympic.c | 3 +- drivers/net/tokenring/smctr.c | 2 +- drivers/net/tokenring/tms380tr.c | 2 +- drivers/net/tokenring/tmspci.c | 9 +- drivers/net/tulip/21142.c | 62 +- drivers/net/tulip/de2104x.c | 12 +- drivers/net/tulip/de4x5.c | 12 +- drivers/net/tulip/dmfe.c | 4 +- drivers/net/tulip/eeprom.c | 24 +- drivers/net/tulip/interrupt.c | 74 +- drivers/net/tulip/media.c | 153 +- drivers/net/tulip/pnic.c | 52 +- drivers/net/tulip/pnic2.c | 46 +- drivers/net/tulip/timer.c | 17 +- drivers/net/tulip/tulip.h | 45 +- drivers/net/tulip/tulip_core.c | 289 +- drivers/net/tulip/winbond-840.c | 257 +- drivers/net/tulip/xircom_cb.c | 18 +- drivers/net/tulip/xircom_tulip_cb.c | 208 +- drivers/net/typhoon.c | 269 +- drivers/net/via-rhine.c | 10 +- drivers/net/via-velocity.c | 68 +- drivers/net/via-velocity.h | 18 +- drivers/net/wan/c101.c | 2 +- drivers/net/wan/cosa.c | 4 +- drivers/net/wan/cycx_drv.c | 37 +- drivers/net/wan/cycx_main.c | 5 +- drivers/net/wan/cycx_x25.c | 12 +- drivers/net/wan/dlci.c | 2 +- drivers/net/wan/dscc4.c | 69 +- drivers/net/wan/farsync.c | 50 +- drivers/net/wan/hd6457x.c | 22 +- drivers/net/wan/hdlc_x25.c | 14 +- drivers/net/wan/hostess_sv11.c | 2 +- drivers/net/wan/lapbether.c | 20 +- drivers/net/wan/lmc/lmc_main.c | 11 +- drivers/net/wan/lmc/lmc_media.c | 2 +- drivers/net/wan/lmc/lmc_proto.c | 2 +- drivers/net/wan/n2.c | 2 +- drivers/net/wan/pc300.h | 12 +- drivers/net/wan/pc300_drv.c | 53 +- drivers/net/wan/pc300_tty.c | 58 +- drivers/net/wan/pci200syn.c | 10 +- drivers/net/wan/sbni.c | 6 +- drivers/net/wan/sdla.c | 4 +- drivers/net/wan/sdla_chdlc.c | 63 +- drivers/net/wan/wanxl.c | 8 +- drivers/net/wan/x25_asy.c | 24 +- drivers/net/wireless/airo.c | 96 +- drivers/net/wireless/arlan.h | 2 +- drivers/net/wireless/atmel.c | 4 +- drivers/net/wireless/atmel_cs.c | 5 +- drivers/net/wireless/netwave_cs.c | 14 +- drivers/net/wireless/prism54/isl_38xx.c | 15 +- drivers/net/wireless/prism54/isl_38xx.h | 4 + drivers/net/wireless/prism54/isl_ioctl.c | 639 ++- drivers/net/wireless/prism54/isl_ioctl.h | 2 + drivers/net/wireless/prism54/isl_oid.h | 9 + drivers/net/wireless/prism54/islpci_dev.c | 49 +- drivers/net/wireless/prism54/islpci_dev.h | 5 +- drivers/net/wireless/prism54/islpci_eth.c | 5 +- drivers/net/wireless/prism54/islpci_hotplug.c | 7 +- drivers/net/wireless/prism54/islpci_mgt.c | 5 +- drivers/net/wireless/prism54/islpci_mgt.h | 2 - drivers/net/wireless/prism54/oid_mgt.c | 126 +- drivers/net/wireless/prism54/oid_mgt.h | 5 +- drivers/net/wireless/strip.c | 6 +- drivers/net/wireless/wavelan.c | 19 +- drivers/net/wireless/wavelan.p.h | 5 +- drivers/net/wireless/wavelan_cs.c | 181 +- drivers/net/wireless/wavelan_cs.p.h | 5 +- drivers/net/wireless/wl3501_cs.c | 53 +- drivers/net/yellowfin.c | 257 +- drivers/net/znet.c | 4 +- drivers/oprofile/oprofilefs.c | 14 +- drivers/oprofile/timer_int.c | 13 +- drivers/parisc/lba_pci.c | 362 +- drivers/parisc/power.c | 8 +- drivers/parisc/sba_iommu.c | 155 +- drivers/parisc/superio.c | 79 +- drivers/parport/Kconfig | 2 +- drivers/parport/parport_pc.c | 272 +- drivers/parport/parport_sunbpp.c | 30 +- drivers/parport/probe.c | 13 +- drivers/pci/Makefile | 3 +- drivers/pci/bus.c | 31 +- drivers/pci/hotplug/Makefile | 1 - drivers/pci/hotplug/acpiphp_glue.c | 4 +- drivers/pci/hotplug/acpiphp_ibm.c | 101 +- drivers/pci/hotplug/cpcihp_generic.c | 14 +- drivers/pci/hotplug/cpcihp_zt5550.c | 15 +- drivers/pci/hotplug/cpqphp.h | 9 +- drivers/pci/hotplug/cpqphp_core.c | 38 +- drivers/pci/hotplug/cpqphp_ctrl.c | 4 +- drivers/pci/hotplug/cpqphp_nvram.c | 14 +- drivers/pci/hotplug/cpqphp_nvram.h | 12 +- drivers/pci/hotplug/cpqphp_pci.c | 14 +- drivers/pci/hotplug/fakephp.c | 128 +- drivers/pci/hotplug/ibmphp_core.c | 10 +- drivers/pci/hotplug/ibmphp_ebda.c | 4 +- drivers/pci/hotplug/ibmphp_hpc.c | 28 +- drivers/pci/hotplug/pci_hotplug_core.c | 2 +- drivers/pci/hotplug/pciehp.h | 14 +- drivers/pci/hotplug/pciehp_core.c | 4 +- drivers/pci/hotplug/pciehp_ctrl.c | 34 +- drivers/pci/hotplug/pciehp_hpc.c | 3 + drivers/pci/hotplug/pciehprm_acpi.c | 62 +- drivers/pci/hotplug/rpadlpar_core.c | 2 +- drivers/pci/hotplug/rpaphp.h | 2 +- drivers/pci/hotplug/rpaphp_pci.c | 11 +- drivers/pci/hotplug/shpchp.h | 9 +- drivers/pci/hotplug/shpchp_core.c | 4 +- drivers/pci/hotplug/shpchp_ctrl.c | 2 +- drivers/pci/hotplug/shpchp_hpc.c | 6 +- drivers/pci/msi.c | 20 +- drivers/pci/msi.h | 2 +- drivers/pci/pci-driver.c | 68 +- drivers/pci/pci-sysfs.c | 130 +- drivers/pci/pci.c | 52 +- drivers/pci/pci.h | 25 +- drivers/pci/pci.ids | 12 +- drivers/pci/probe.c | 67 +- drivers/pci/proc.c | 5 +- drivers/pci/quirks.c | 336 +- drivers/pci/remove.c | 2 + drivers/pci/search.c | 77 +- drivers/pci/setup-bus.c | 12 +- drivers/pci/setup-irq.c | 2 +- drivers/pci/setup-res.c | 2 +- drivers/pci/syscall.c | 7 +- drivers/pcmcia/Kconfig | 111 +- drivers/pcmcia/Makefile | 28 +- drivers/pcmcia/bulkmem.c | 534 +- drivers/pcmcia/cistpl.c | 86 +- drivers/pcmcia/cs.c | 168 +- drivers/pcmcia/cs_internal.h | 38 +- drivers/pcmcia/ds.c | 70 +- drivers/pcmcia/i82365.c | 4 +- drivers/pcmcia/o2micro.h | 19 +- drivers/pcmcia/pxa2xx_base.c | 6 + drivers/pcmcia/pxa2xx_lubbock.c | 2 + drivers/pcmcia/rsrc_mgr.c | 8 +- drivers/pcmcia/sa1100_generic.c | 21 - drivers/pcmcia/sa1100_simpad.c | 4 +- drivers/pcmcia/sa1111_generic.c | 15 - drivers/pcmcia/tcic.c | 4 +- drivers/pcmcia/yenta_socket.c | 27 +- drivers/pcmcia/yenta_socket.h | 2 +- drivers/pnp/Kconfig | 4 +- drivers/pnp/Makefile | 1 + drivers/pnp/interface.c | 6 +- drivers/pnp/isapnp/Kconfig | 2 +- drivers/pnp/isapnp/core.c | 4 +- drivers/pnp/manager.c | 10 +- drivers/pnp/pnpbios/Kconfig | 3 +- drivers/pnp/pnpbios/core.c | 10 +- drivers/pnp/pnpbios/rsparser.c | 7 +- drivers/pnp/quirks.c | 7 +- drivers/pnp/resource.c | 9 +- drivers/s390/Kconfig | 33 + drivers/s390/block/dasd.c | 12 +- drivers/s390/block/dasd_3990_erp.c | 19 +- drivers/s390/block/dasd_devmap.c | 4 +- drivers/s390/block/dasd_eckd.c | 6 +- drivers/s390/block/dasd_fba.c | 4 +- drivers/s390/block/dcssblk.c | 168 +- drivers/s390/block/xpram.c | 3 +- drivers/s390/char/Makefile | 4 + drivers/s390/char/con3215.c | 25 +- drivers/s390/char/con3270.c | 9 +- drivers/s390/char/raw3270.c | 38 +- drivers/s390/char/sclp_tty.c | 30 +- drivers/s390/char/sclp_vt220.c | 28 +- drivers/s390/char/tape_block.c | 4 +- drivers/s390/char/tty3270.c | 35 +- drivers/s390/cio/css.c | 8 +- drivers/s390/cio/css.h | 4 + drivers/s390/cio/device.c | 103 +- drivers/s390/cio/device_fsm.c | 37 +- drivers/s390/cio/qdio.c | 22 +- drivers/s390/crypto/Makefile | 2 +- drivers/s390/crypto/z90common.h | 75 +- drivers/s390/crypto/z90crypt.h | 81 +- drivers/s390/crypto/z90hardware.c | 289 +- drivers/s390/crypto/z90main.c | 668 ++- drivers/s390/net/ctcdbug.h | 6 +- drivers/s390/net/ctcmain.c | 24 +- drivers/s390/net/ctctty.c | 12 +- drivers/s390/net/iucv.c | 8 +- drivers/s390/net/iucv.h | 7 +- drivers/s390/net/lcs.c | 6 +- drivers/s390/net/lcs.h | 3 +- drivers/s390/net/netiucv.c | 2 +- drivers/s390/net/qeth.h | 68 +- drivers/s390/net/qeth_main.c | 671 ++- drivers/s390/net/qeth_mpc.h | 39 +- drivers/s390/net/qeth_sys.c | 137 +- drivers/s390/scsi/zfcp_aux.c | 93 +- drivers/s390/scsi/zfcp_ccw.c | 5 +- drivers/s390/scsi/zfcp_def.h | 129 +- drivers/s390/scsi/zfcp_erp.c | 536 +- drivers/s390/scsi/zfcp_ext.h | 11 +- drivers/s390/scsi/zfcp_fsf.c | 398 +- drivers/s390/scsi/zfcp_fsf.h | 17 +- drivers/s390/scsi/zfcp_qdio.c | 3 +- drivers/s390/scsi/zfcp_scsi.c | 31 +- drivers/s390/scsi/zfcp_sysfs_adapter.c | 3 +- drivers/s390/scsi/zfcp_sysfs_driver.c | 5 +- drivers/s390/scsi/zfcp_sysfs_port.c | 7 +- drivers/s390/scsi/zfcp_sysfs_unit.c | 13 +- drivers/sbus/char/aurora.c | 67 +- drivers/sbus/char/bbc_i2c.c | 4 +- drivers/sbus/char/bpp.c | 16 +- drivers/sbus/char/cpwatchdog.c | 8 +- drivers/sbus/char/display7seg.c | 4 +- drivers/sbus/char/flash.c | 4 +- drivers/sbus/char/jsflash.c | 2 +- drivers/sbus/char/riowatchdog.c | 6 +- drivers/scsi/3w-9xxx.h | 10 +- drivers/scsi/3w-xxxx.c | 4328 +++++++---------- drivers/scsi/3w-xxxx.h | 151 +- drivers/scsi/53c700.c | 31 +- drivers/scsi/53c700.h | 3 +- drivers/scsi/BusLogic.c | 177 +- drivers/scsi/BusLogic.h | 44 +- drivers/scsi/Kconfig | 62 +- drivers/scsi/Makefile | 4 +- drivers/scsi/NCR5380.c | 65 +- drivers/scsi/NCR53c406a.c | 2 +- drivers/scsi/NCR_D700.c | 22 +- drivers/scsi/NCR_Q720.c | 20 +- drivers/scsi/aacraid/aachba.c | 492 +- drivers/scsi/aacraid/aacraid.h | 194 +- drivers/scsi/aacraid/linit.c | 196 +- drivers/scsi/aacraid/rkt.c | 131 +- drivers/scsi/aacraid/rx.c | 98 +- drivers/scsi/aacraid/sa.c | 66 +- drivers/scsi/advansys.c | 3 +- drivers/scsi/aha152x.c | 9 +- drivers/scsi/aha1542.c | 6 +- drivers/scsi/ahci.c | 28 +- drivers/scsi/aic7xxx/aic7770_osm.c | 4 +- drivers/scsi/aic7xxx/aic79xx.h | 8 +- drivers/scsi/aic7xxx/aic79xx.reg | 2 +- drivers/scsi/aic7xxx/aic79xx_core.c | 14 +- drivers/scsi/aic7xxx/aic79xx_inline.h | 10 +- drivers/scsi/aic7xxx/aic79xx_osm.c | 95 +- drivers/scsi/aic7xxx/aic79xx_osm.h | 84 +- drivers/scsi/aic7xxx/aic79xx_osm_pci.c | 157 +- drivers/scsi/aic7xxx/aic79xx_pci.c | 26 +- drivers/scsi/aic7xxx/aic7xxx.h | 12 +- drivers/scsi/aic7xxx/aic7xxx_core.c | 8 +- drivers/scsi/aic7xxx/aic7xxx_osm.c | 105 +- drivers/scsi/aic7xxx/aic7xxx_osm.h | 83 +- drivers/scsi/aic7xxx/aic7xxx_osm_pci.c | 118 +- drivers/scsi/aic7xxx/aic7xxx_pci.c | 83 +- drivers/scsi/aic7xxx/aiclib.h | 39 + drivers/scsi/aic7xxx/cam.h | 6 - drivers/scsi/aic7xxx_old.c | 20 +- drivers/scsi/arm/acornscsi.c | 2 +- drivers/scsi/arm/arxescsi.c | 19 +- drivers/scsi/arm/cumana_2.c | 19 +- drivers/scsi/arm/eesox.c | 19 +- drivers/scsi/arm/fas216.c | 2 +- drivers/scsi/arm/powertec.c | 19 +- drivers/scsi/ata_piix.c | 30 +- drivers/scsi/atari_scsi.c | 2 +- drivers/scsi/atp870u.c | 2561 +++++++--- drivers/scsi/atp870u.h | 92 +- drivers/scsi/cpqfcTSinit.c | 2 +- drivers/scsi/dc395x.c | 63 +- drivers/scsi/dec_esp.c | 2 +- drivers/scsi/dmx3191d.c | 216 +- drivers/scsi/dpt_i2o.c | 52 +- drivers/scsi/dpti.h | 20 +- drivers/scsi/dtc.c | 49 +- drivers/scsi/dtc.h | 34 +- drivers/scsi/eata.c | 240 +- drivers/scsi/fdomain.c | 182 +- drivers/scsi/hosts.c | 7 +- drivers/scsi/ibmvscsi/rpa_vscsi.c | 2 +- drivers/scsi/ide-scsi.c | 173 +- drivers/scsi/imm.c | 4 + drivers/scsi/ipr.c | 40 +- drivers/scsi/ipr.h | 22 +- drivers/scsi/jazz_esp.c | 2 +- drivers/scsi/lasi700.c | 17 +- drivers/scsi/libata-core.c | 131 +- drivers/scsi/libata-scsi.c | 11 +- drivers/scsi/libata.h | 3 +- drivers/scsi/mac53c94.c | 24 +- drivers/scsi/mac_esp.c | 2 +- drivers/scsi/mca_53c9x.c | 2 +- drivers/scsi/megaraid.c | 32 +- drivers/scsi/megaraid/megaraid_ioctl.h | 8 +- drivers/scsi/megaraid/megaraid_mbox.c | 26 +- drivers/scsi/megaraid/megaraid_mbox.h | 6 +- drivers/scsi/megaraid/megaraid_mm.c | 102 +- drivers/scsi/megaraid/megaraid_mm.h | 5 +- drivers/scsi/mesh.c | 122 +- drivers/scsi/ncr53c8xx.c | 1356 ++---- drivers/scsi/ncr53c8xx.h | 10 +- drivers/scsi/nsp32.c | 129 +- drivers/scsi/nsp32.h | 9 +- drivers/scsi/osst.c | 80 +- drivers/scsi/osst.h | 4 +- drivers/scsi/pas16.c | 4 +- drivers/scsi/pcmcia/aha152x_stub.c | 2 +- drivers/scsi/pcmcia/nsp_cs.c | 4 +- drivers/scsi/pcmcia/qlogic_stub.c | 2 +- drivers/scsi/pcmcia/sym53c500_cs.c | 9 +- drivers/scsi/psi240i.c | 37 - drivers/scsi/ql12160_fw.h | 22 +- drivers/scsi/ql1280_fw.h | 22 +- drivers/scsi/qla1280.c | 98 +- drivers/scsi/qla1280.h | 4 +- drivers/scsi/qla2xxx/qla_rscn.c | 26 - drivers/scsi/qlogicfc.c | 8 +- drivers/scsi/qlogicfc_asm.c | 10 +- drivers/scsi/qlogicisp.c | 17 +- drivers/scsi/sata_nv.c | 22 +- drivers/scsi/sata_promise.c | 12 +- drivers/scsi/sata_sil.c | 6 +- drivers/scsi/sata_sis.c | 8 +- drivers/scsi/sata_svw.c | 6 +- drivers/scsi/sata_sx4.c | 12 +- drivers/scsi/sata_uli.c | 57 +- drivers/scsi/sata_via.c | 2 +- drivers/scsi/sata_vsc.c | 4 +- drivers/scsi/scsi.c | 1 - drivers/scsi/scsi_debug.c | 125 +- drivers/scsi/scsi_devinfo.c | 74 +- drivers/scsi/scsi_error.c | 76 + drivers/scsi/scsi_lib.c | 73 +- drivers/scsi/scsi_module.c | 1 - drivers/scsi/scsi_priv.h | 2 +- drivers/scsi/scsi_scan.c | 200 +- drivers/scsi/scsi_sysfs.c | 7 +- drivers/scsi/scsi_transport_fc.c | 50 +- drivers/scsi/scsi_transport_spi.c | 9 +- drivers/scsi/sd.c | 13 +- drivers/scsi/seagate.c | 86 +- drivers/scsi/sg.c | 20 +- drivers/scsi/sim710.c | 16 +- drivers/scsi/sr.c | 7 +- drivers/scsi/st.c | 455 +- drivers/scsi/st.h | 30 +- drivers/scsi/sun3_scsi.c | 10 +- drivers/scsi/sun3_scsi_vme.c | 10 +- drivers/scsi/sun3x_esp.c | 2 +- drivers/scsi/sym53c416.c | 8 +- drivers/scsi/sym53c8xx_2/sym53c8xx.h | 82 +- drivers/scsi/sym53c8xx_2/sym_conf.h | 35 +- drivers/scsi/sym53c8xx_2/sym_defs.h | 139 +- drivers/scsi/sym53c8xx_2/sym_fw.c | 37 +- drivers/scsi/sym53c8xx_2/sym_fw.h | 35 +- drivers/scsi/sym53c8xx_2/sym_fw1.h | 35 +- drivers/scsi/sym53c8xx_2/sym_fw2.h | 35 +- drivers/scsi/sym53c8xx_2/sym_glue.c | 616 +-- drivers/scsi/sym53c8xx_2/sym_glue.h | 42 +- drivers/scsi/sym53c8xx_2/sym_hipd.c | 154 +- drivers/scsi/sym53c8xx_2/sym_hipd.h | 41 +- drivers/scsi/sym53c8xx_2/sym_malloc.c | 35 +- drivers/scsi/sym53c8xx_2/sym_misc.c | 39 +- drivers/scsi/sym53c8xx_2/sym_misc.h | 35 +- drivers/scsi/sym53c8xx_2/sym_nvram.c | 35 +- drivers/scsi/sym53c8xx_2/sym_nvram.h | 35 +- drivers/scsi/sym53c8xx_comm.h | 358 +- drivers/scsi/sym53c8xx_defs.h | 39 +- drivers/scsi/t128.c | 71 +- drivers/scsi/t128.h | 14 +- drivers/scsi/tmscsim.c | 2720 +++++++---- drivers/scsi/tmscsim.h | 102 +- drivers/scsi/u14-34f.c | 70 +- drivers/scsi/ultrastor.c | 2 +- drivers/scsi/wd33c93.c | 2 +- drivers/scsi/wd7000.c | 13 +- drivers/scsi/zalon.c | 7 +- drivers/serial/21285.c | 33 +- drivers/serial/68328serial.c | 20 +- drivers/serial/68360serial.c | 22 +- drivers/serial/8250.c | 931 ++-- drivers/serial/8250.h | 20 +- drivers/serial/8250_acorn.c | 60 +- drivers/serial/8250_acpi.c | 74 +- drivers/serial/8250_gsc.c | 47 +- drivers/serial/8250_pci.c | 102 +- drivers/serial/8250_pnp.c | 35 +- drivers/serial/Kconfig | 54 +- drivers/serial/Makefile | 5 + drivers/serial/amba-pl010.c | 66 +- drivers/serial/amba-pl011.c | 51 +- drivers/serial/au1x00_uart.c | 15 - drivers/serial/clps711x.c | 28 +- drivers/serial/cpm_uart/cpm_uart.h | 9 +- drivers/serial/cpm_uart/cpm_uart_core.c | 15 + drivers/serial/cpm_uart/cpm_uart_cpm1.c | 23 +- drivers/serial/dz.c | 27 +- drivers/serial/icom.c | 10 +- drivers/serial/mcfserial.c | 31 +- drivers/serial/pmac_zilog.c | 82 +- drivers/serial/pmac_zilog.h | 9 +- drivers/serial/pxa.c | 47 +- drivers/serial/s3c2410.c | 1464 ++++-- drivers/serial/sa1100.c | 27 +- drivers/serial/serial_core.c | 138 +- drivers/serial/serial_cs.c | 29 +- drivers/serial/serial_lh7a40x.c | 59 +- drivers/serial/sh-sci.c | 72 +- drivers/serial/sh-sci.h | 76 +- drivers/serial/sunsab.c | 24 +- drivers/serial/sunsu.c | 19 +- drivers/serial/sunzilog.c | 74 +- drivers/serial/uart00.c | 27 +- drivers/tc/zs.c | 14 +- drivers/telephony/ixj_pcmcia.c | 2 +- drivers/usb/Kconfig | 2 +- drivers/usb/Makefile | 2 + drivers/usb/atm/speedtch.c | 3 + drivers/usb/atm/usb_atm.c | 30 +- drivers/usb/atm/usb_atm.h | 1 - drivers/usb/class/Kconfig | 3 +- drivers/usb/class/audio.c | 55 +- drivers/usb/class/bluetty.c | 32 +- drivers/usb/class/cdc-acm.c | 47 +- drivers/usb/class/cdc-acm.h | 1 + drivers/usb/class/usb-midi.c | 19 +- drivers/usb/class/usblp.c | 20 +- drivers/usb/core/devices.c | 18 +- drivers/usb/core/devio.c | 78 +- drivers/usb/core/hcd-pci.c | 157 +- drivers/usb/core/hcd.c | 132 +- drivers/usb/core/hcd.h | 15 +- drivers/usb/core/hub.c | 636 ++- drivers/usb/core/inode.c | 124 +- drivers/usb/core/message.c | 94 +- drivers/usb/core/sysfs.c | 64 +- drivers/usb/core/urb.c | 16 +- drivers/usb/core/usb.c | 272 +- drivers/usb/core/usb.h | 25 +- drivers/usb/gadget/Kconfig | 15 +- drivers/usb/gadget/Makefile | 2 +- drivers/usb/gadget/dummy_hcd.c | 449 +- drivers/usb/gadget/ether.c | 137 +- drivers/usb/gadget/file_storage.c | 83 +- drivers/usb/gadget/gadget_chips.h | 12 + drivers/usb/gadget/goku_udc.c | 165 +- drivers/usb/gadget/goku_udc.h | 8 +- drivers/usb/gadget/inode.c | 6 +- drivers/usb/gadget/lh7a40x_udc.c | 7 +- drivers/usb/gadget/net2280.c | 21 +- drivers/usb/gadget/net2280.h | 8 +- drivers/usb/gadget/omap_udc.c | 469 +- drivers/usb/gadget/omap_udc.h | 17 +- drivers/usb/gadget/pxa2xx_udc.c | 17 +- drivers/usb/gadget/rndis.c | 57 +- drivers/usb/gadget/serial.c | 904 +++- drivers/usb/gadget/zero.c | 6 +- drivers/usb/host/Kconfig | 42 +- drivers/usb/host/Makefile | 4 +- drivers/usb/host/ehci-dbg.c | 17 +- drivers/usb/host/ehci-hcd.c | 267 +- drivers/usb/host/ehci-hub.c | 83 +- drivers/usb/host/ehci-mem.c | 5 - drivers/usb/host/ehci-q.c | 138 +- drivers/usb/host/ehci-sched.c | 25 +- drivers/usb/host/ehci.h | 13 +- drivers/usb/host/ohci-dbg.c | 132 +- drivers/usb/host/ohci-hcd.c | 345 +- drivers/usb/host/ohci-hub.c | 228 +- drivers/usb/host/ohci-lh7a404.c | 40 +- drivers/usb/host/ohci-mem.c | 9 +- drivers/usb/host/ohci-omap.c | 64 +- drivers/usb/host/ohci-pci.c | 62 +- drivers/usb/host/ohci-q.c | 159 +- drivers/usb/host/ohci-sa1111.c | 35 +- drivers/usb/host/ohci.h | 280 +- drivers/usb/host/uhci-debug.c | 11 - drivers/usb/host/uhci-hcd.c | 312 +- drivers/usb/host/uhci-hcd.h | 20 +- drivers/usb/host/uhci-hub.c | 142 +- drivers/usb/image/Kconfig | 7 +- drivers/usb/image/hpusbscsi.c | 12 +- drivers/usb/image/mdc800.c | 18 +- drivers/usb/image/microtek.c | 17 +- drivers/usb/image/microtek.h | 1 + drivers/usb/input/Kconfig | 14 +- drivers/usb/input/aiptek.c | 4 +- drivers/usb/input/ati_remote.c | 12 +- drivers/usb/input/hid-core.c | 61 +- drivers/usb/input/kbtab.c | 4 +- drivers/usb/input/mtouchusb.c | 4 +- drivers/usb/input/pid.c | 2 +- drivers/usb/input/powermate.c | 4 +- drivers/usb/input/touchkitusb.c | 23 +- drivers/usb/input/usbkbd.c | 4 +- drivers/usb/input/usbmouse.c | 4 +- drivers/usb/input/wacom.c | 4 +- drivers/usb/input/xpad.c | 4 +- drivers/usb/media/Kconfig | 6 +- drivers/usb/media/dabusb.c | 7 +- drivers/usb/media/konicawc.c | 9 +- drivers/usb/media/ov511.c | 24 +- drivers/usb/media/pwc/Makefile | 2 +- drivers/usb/media/pwc/pwc-if.c | 6 +- drivers/usb/media/se401.c | 24 +- drivers/usb/media/sn9c102.h | 29 +- drivers/usb/media/sn9c102_core.c | 489 +- drivers/usb/media/sn9c102_pas106b.c | 123 +- drivers/usb/media/sn9c102_pas202bcb.c | 110 +- drivers/usb/media/sn9c102_sensor.h | 84 +- drivers/usb/media/sn9c102_tas5110c1b.c | 47 +- drivers/usb/media/sn9c102_tas5130d1b.c | 66 +- drivers/usb/media/stv680.c | 28 +- drivers/usb/media/usbvideo.c | 102 +- drivers/usb/media/vicam.c | 14 +- drivers/usb/media/w9968cf.c | 69 +- drivers/usb/media/w9968cf.h | 2 +- drivers/usb/misc/Kconfig | 10 + drivers/usb/misc/Makefile | 3 +- drivers/usb/misc/auerswald.c | 14 +- drivers/usb/misc/legousbtower.c | 4 +- drivers/usb/misc/rio500.c | 14 +- drivers/usb/misc/tiglusb.c | 60 +- drivers/usb/misc/tiglusb.h | 8 +- drivers/usb/misc/uss720.c | 4 +- drivers/usb/net/Kconfig | 33 +- drivers/usb/net/catc.c | 132 +- drivers/usb/net/kaweth.c | 184 +- drivers/usb/net/pegasus.c | 401 +- drivers/usb/net/pegasus.h | 3 + drivers/usb/net/rtl8150.c | 194 +- drivers/usb/net/usbnet.c | 111 +- drivers/usb/serial/Kconfig | 25 + drivers/usb/serial/Makefile | 2 + drivers/usb/serial/belkin_sa.c | 9 +- drivers/usb/serial/bus.c | 1 + drivers/usb/serial/console.c | 4 +- drivers/usb/serial/cyberjack.c | 22 +- drivers/usb/serial/digi_acceleport.c | 25 +- drivers/usb/serial/empeg.c | 20 +- drivers/usb/serial/ftdi_sio.c | 52 +- drivers/usb/serial/ftdi_sio.h | 15 + drivers/usb/serial/generic.c | 14 +- drivers/usb/serial/io_edgeport.c | 285 +- drivers/usb/serial/io_fw_boot.h | 6 +- drivers/usb/serial/io_fw_boot2.h | 6 +- drivers/usb/serial/io_fw_down.h | 6 +- drivers/usb/serial/io_fw_down2.h | 6 +- drivers/usb/serial/io_tables.h | 9 + drivers/usb/serial/io_ti.c | 825 +++- drivers/usb/serial/io_usbvend.h | 2 +- drivers/usb/serial/ipaq.c | 523 +- drivers/usb/serial/ipaq.h | 75 - drivers/usb/serial/ir-usb.c | 13 +- drivers/usb/serial/keyspan.c | 11 +- drivers/usb/serial/keyspan.h | 1 - drivers/usb/serial/keyspan_pda.c | 19 +- drivers/usb/serial/kl5kusb105.c | 25 +- drivers/usb/serial/kobil_sct.c | 26 +- drivers/usb/serial/mct_u232.c | 20 +- drivers/usb/serial/omninet.c | 19 +- drivers/usb/serial/pl2303.c | 424 +- drivers/usb/serial/pl2303.h | 11 +- drivers/usb/serial/safe_serial.c | 9 +- drivers/usb/serial/usb-serial.c | 317 +- drivers/usb/serial/usb-serial.h | 21 +- drivers/usb/serial/visor.c | 22 +- drivers/usb/serial/whiteheat.c | 19 +- drivers/usb/storage/Kconfig | 15 +- drivers/usb/storage/freecom.c | 2 +- drivers/usb/storage/isd200.c | 10 +- drivers/usb/storage/protocol.c | 49 - drivers/usb/storage/scsiglue.c | 84 +- drivers/usb/storage/transport.c | 29 +- drivers/usb/storage/unusual_devs.h | 150 +- drivers/usb/storage/usb.c | 92 +- drivers/usb/storage/usb.h | 11 +- drivers/video/Kconfig | 92 +- drivers/video/Makefile | 9 +- drivers/video/acornfb.c | 22 +- drivers/video/amifb.c | 48 +- drivers/video/asiliantfb.c | 3 - drivers/video/aty/Makefile | 4 +- drivers/video/aty/ati_ids.h | 1 + drivers/video/aty/aty128fb.c | 44 +- drivers/video/aty/atyfb.h | 209 +- drivers/video/aty/atyfb_base.c | 3621 +++++++++----- drivers/video/aty/mach64_accel.c | 212 +- drivers/video/aty/mach64_ct.c | 733 ++- drivers/video/aty/mach64_cursor.c | 297 +- drivers/video/aty/mach64_gx.c | 20 +- drivers/video/aty/radeon_base.c | 318 +- drivers/video/aty/radeon_monitor.c | 80 +- drivers/video/aty/radeon_pm.c | 10 +- drivers/video/aty/radeonfb.h | 2 - drivers/video/aty/xlinit.c | 68 +- drivers/video/bw2.c | 26 +- drivers/video/cg14.c | 60 +- drivers/video/cg3.c | 40 +- drivers/video/cg6.c | 56 +- drivers/video/chipsfb.c | 2 +- drivers/video/cirrusfb.c | 43 +- drivers/video/console/Kconfig | 1 + drivers/video/console/Makefile | 3 +- drivers/video/console/fbcon.c | 1332 +++-- drivers/video/console/fbcon.h | 33 +- drivers/video/console/font_6x11.c | 2252 ++++----- drivers/video/console/vgacon.c | 4 +- drivers/video/controlfb.c | 20 +- drivers/video/cyber2000fb.c | 16 +- drivers/video/cyber2000fb.h | 4 +- drivers/video/epson1355fb.c | 13 +- drivers/video/fbmem.c | 204 +- drivers/video/fbsysfs.c | 2 + drivers/video/ffb.c | 11 +- drivers/video/fm2fb.c | 25 +- drivers/video/gbefb.c | 13 +- drivers/video/hgafb.c | 54 +- drivers/video/hpfb.c | 398 +- drivers/video/i810/i810.h | 7 +- drivers/video/i810/i810_accel.c | 14 +- drivers/video/i810/i810_gtf.c | 3 +- drivers/video/i810/i810_main.c | 293 +- drivers/video/igafb.c | 5 +- drivers/video/imsttfb.c | 23 +- drivers/video/kyro/STG4000InitDevice.c | 4 +- drivers/video/kyro/STG4000Interface.h | 26 +- drivers/video/kyro/STG4000OverlayDevice.c | 10 +- drivers/video/kyro/STG4000Ramdac.c | 8 +- drivers/video/kyro/STG4000Reg.h | 4 +- drivers/video/kyro/STG4000VTG.c | 8 +- drivers/video/kyro/fbdev.c | 3 +- drivers/video/leo.c | 45 +- drivers/video/matrox/matroxfb_accel.c | 22 +- drivers/video/matrox/matroxfb_base.c | 49 +- drivers/video/matrox/matroxfb_base.h | 141 +- drivers/video/matrox/matroxfb_crtc2.c | 7 +- drivers/video/matrox/matroxfb_crtc2.h | 1 + drivers/video/modedb.c | 43 +- drivers/video/neofb.c | 103 +- drivers/video/offb.c | 78 +- drivers/video/p9100.c | 25 +- drivers/video/platinumfb.c | 28 +- drivers/video/pm2fb.c | 54 +- drivers/video/pvr2fb.c | 1 + drivers/video/pxafb.c | 51 +- drivers/video/radeonfb.c | 15 +- drivers/video/riva/fbdev.c | 410 +- drivers/video/riva/nv_driver.c | 161 +- drivers/video/riva/riva_hw.c | 569 ++- drivers/video/riva/riva_hw.h | 83 +- drivers/video/riva/rivafb.h | 3 +- drivers/video/sa1100fb.c | 319 +- drivers/video/sbuslib.c | 2 +- drivers/video/sgivwfb.c | 4 +- drivers/video/sis/sis_main.c | 5 +- drivers/video/skeletonfb.c | 44 +- drivers/video/softcursor.c | 73 +- drivers/video/sstfb.c | 36 +- drivers/video/stifb.c | 24 +- drivers/video/tcx.c | 42 +- drivers/video/tdfxfb.c | 19 +- drivers/video/tgafb.c | 45 +- drivers/video/tridentfb.c | 21 +- drivers/video/valkyriefb.c | 48 +- drivers/video/vesafb.c | 83 +- drivers/video/vfb.c | 2 +- drivers/video/vga16fb.c | 40 +- drivers/w1/Kconfig | 2 +- drivers/w1/Makefile | 4 + drivers/w1/dscore.c | 53 +- drivers/w1/dscore.h | 34 +- drivers/w1/matrox_w1.c | 13 +- drivers/w1/w1.c | 27 +- drivers/w1/w1.h | 2 + drivers/w1/w1_family.c | 10 +- drivers/w1/w1_int.c | 27 +- drivers/w1/w1_int.h | 2 +- drivers/w1/w1_netlink.c | 11 + drivers/w1/w1_therm.c | 71 +- drivers/zorro/zorro.c | 2 +- fs/Kconfig | 29 +- fs/Makefile | 13 +- fs/adfs/super.c | 2 +- fs/afs/main.c | 6 +- fs/aio.c | 7 +- fs/autofs/inode.c | 2 +- fs/autofs4/inode.c | 2 +- fs/binfmt_aout.c | 10 +- fs/binfmt_elf.c | 41 +- fs/binfmt_flat.c | 2 +- fs/bio.c | 38 +- fs/buffer.c | 127 +- fs/char_dev.c | 10 +- fs/cifs/CHANGES | 54 +- fs/cifs/Makefile | 2 +- fs/cifs/README | 82 +- fs/cifs/TODO | 34 +- fs/cifs/cifs_debug.c | 17 +- fs/cifs/cifs_fs_sb.h | 6 +- fs/cifs/cifsfs.c | 123 +- fs/cifs/cifsfs.h | 8 +- fs/cifs/cifsglob.h | 33 +- fs/cifs/cifspdu.h | 415 +- fs/cifs/cifsproto.h | 15 +- fs/cifs/cifssmb.c | 1127 ++++- fs/cifs/connect.c | 94 +- fs/cifs/dir.c | 3 - fs/cifs/fcntl.c | 54 +- fs/cifs/file.c | 347 +- fs/cifs/inode.c | 40 +- fs/cifs/misc.c | 80 +- fs/cifs/netmisc.c | 7 +- fs/cifs/smberr.h | 1 + fs/cifs/transport.c | 150 +- fs/cifs/xattr.c | 109 +- fs/coda/sysctl.c | 2 +- fs/coda/upcall.c | 26 +- fs/compat.c | 62 +- fs/compat_ioctl.c | 10 + fs/dcache.c | 61 +- fs/dcookies.c | 1 + fs/devfs/base.c | 2 +- fs/devfs/util.c | 2 +- fs/direct-io.c | 51 +- fs/dquot.c | 16 +- fs/efs/namei.c | 33 + fs/efs/super.c | 5 + fs/eventpoll.c | 2 +- fs/exec.c | 236 +- fs/ext2/acl.c | 66 +- fs/ext2/dir.c | 3 +- fs/ext2/ext2.h | 1 - fs/ext2/inode.c | 13 - fs/ext2/namei.c | 3 +- fs/ext2/super.c | 66 +- fs/ext3/acl.c | 66 +- fs/ext3/balloc.c | 162 +- fs/ext3/ialloc.c | 2 +- fs/ext3/inode.c | 24 +- fs/ext3/ioctl.c | 8 +- fs/ext3/namei.c | 2 +- fs/ext3/super.c | 34 +- fs/fat/cache.c | 377 +- fs/fat/dir.c | 146 +- fs/fat/fatfs_syms.c | 9 +- fs/fat/inode.c | 165 +- fs/fat/misc.c | 5 +- fs/fcntl.c | 15 +- fs/file.c | 7 +- fs/filesystems.c | 1 + fs/fs-writeback.c | 22 +- fs/hfs/Makefile | 2 +- fs/hfs/btree.c | 8 +- fs/hfs/dir.c | 3 + fs/hfs/extent.c | 10 +- fs/hfs/hfs_fs.h | 8 + fs/hfs/inode.c | 41 +- fs/hfs/mdb.c | 8 +- fs/hfs/super.c | 3 +- fs/hfsplus/btree.c | 8 +- fs/hfsplus/extents.c | 10 +- fs/hfsplus/hfsplus_fs.h | 6 + fs/hfsplus/inode.c | 38 +- fs/hfsplus/ioctl.c | 106 + fs/hfsplus/super.c | 6 +- fs/hostfs/hostfs_kern.c | 2 +- fs/inode.c | 69 +- fs/ioctl.c | 1 + fs/jbd/checkpoint.c | 1 - fs/jbd/commit.c | 29 +- fs/jbd/journal.c | 12 +- fs/jbd/transaction.c | 47 +- fs/jffs2/compr.c | 9 +- fs/jffs2/dir.c | 3 +- fs/jffs2/erase.c | 2 +- fs/jffs2/gc.c | 19 +- fs/jffs2/nodelist.c | 11 +- fs/jffs2/nodelist.h | 15 +- fs/jffs2/nodemgmt.c | 55 +- fs/jffs2/readinode.c | 4 +- fs/jffs2/scan.c | 8 +- fs/jffs2/super.c | 13 +- fs/jffs2/wbuf.c | 8 +- fs/jffs2/write.c | 6 +- fs/jfs/acl.c | 81 +- fs/jfs/jfs_dinode.h | 28 +- fs/jfs/jfs_dmap.c | 10 +- fs/jfs/jfs_dmap.h | 75 +- fs/jfs/jfs_dtree.c | 26 +- fs/jfs/jfs_dtree.h | 18 +- fs/jfs/jfs_imap.c | 65 +- fs/jfs/jfs_imap.h | 74 +- fs/jfs/jfs_incore.h | 2 +- fs/jfs/jfs_logmgr.c | 10 +- fs/jfs/jfs_logmgr.h | 96 +- fs/jfs/jfs_metapage.c | 10 +- fs/jfs/jfs_mount.c | 2 +- fs/jfs/jfs_superblock.h | 32 +- fs/jfs/jfs_txnmgr.c | 4 +- fs/jfs/jfs_types.h | 16 +- fs/jfs/jfs_unicode.c | 2 +- fs/jfs/jfs_unicode.h | 32 +- fs/jfs/jfs_xattr.h | 4 +- fs/jfs/jfs_xtree.c | 62 +- fs/jfs/jfs_xtree.h | 14 +- fs/jfs/super.c | 4 + fs/libfs.c | 7 +- fs/lockd/Makefile | 2 +- fs/lockd/clntproc.c | 11 +- fs/lockd/host.c | 4 +- fs/lockd/svc.c | 48 +- fs/lockd/svc4proc.c | 7 +- fs/lockd/svcsubs.c | 7 +- fs/locks.c | 224 +- fs/minix/bitmap.c | 25 +- fs/msdos/namei.c | 4 +- fs/namei.c | 34 +- fs/namespace.c | 5 +- fs/nfs/dir.c | 2 +- fs/nfs/direct.c | 6 +- fs/nfsctl.c | 1 + fs/nfsd/export.c | 7 +- fs/nfsd/lockd.c | 7 +- fs/nfsd/nfs4proc.c | 51 +- fs/nfsd/nfs4state.c | 295 +- fs/nfsd/nfs4xdr.c | 26 +- fs/nfsd/nfsfh.c | 76 +- fs/nfsd/nfssvc.c | 1 - fs/nfsd/vfs.c | 36 +- fs/nls/nls_ascii.c | 12 +- fs/ntfs/ChangeLog | 192 +- fs/ntfs/Makefile | 6 +- fs/ntfs/aops.c | 1228 +++-- fs/ntfs/attrib.c | 1326 ++--- fs/ntfs/attrib.h | 34 +- fs/ntfs/bitmap.c | 1 + fs/ntfs/collate.c | 3 +- fs/ntfs/compress.c | 10 +- fs/ntfs/debug.c | 19 +- fs/ntfs/debug.h | 6 +- fs/ntfs/dir.c | 62 +- fs/ntfs/dir.h | 2 + fs/ntfs/file.c | 7 +- fs/ntfs/index.c | 81 +- fs/ntfs/index.h | 6 +- fs/ntfs/inode.c | 466 +- fs/ntfs/inode.h | 24 +- fs/ntfs/layout.h | 87 +- fs/ntfs/lcnalloc.c | 11 +- fs/ntfs/lcnalloc.h | 29 + fs/ntfs/logfile.c | 65 +- fs/ntfs/malloc.h | 1 + fs/ntfs/mft.c | 2582 ++++++++-- fs/ntfs/mft.h | 15 +- fs/ntfs/namei.c | 27 +- fs/ntfs/ntfs.h | 81 +- fs/ntfs/quota.c | 8 +- fs/ntfs/super.c | 69 +- fs/ntfs/types.h | 28 - fs/ntfs/unistr.c | 2 + fs/ntfs/upcase.c | 1 + fs/ntfs/volume.h | 4 + fs/open.c | 3 +- fs/openpromfs/inode.c | 4 +- fs/partitions/Kconfig | 33 +- fs/partitions/check.c | 21 +- fs/partitions/devfs.c | 2 +- fs/partitions/efi.c | 258 +- fs/partitions/msdos.c | 1 + fs/pipe.c | 4 +- fs/proc/array.c | 69 +- fs/proc/base.c | 10 +- fs/proc/generic.c | 2 +- fs/proc/proc_misc.c | 10 +- fs/proc/proc_tty.c | 2 +- fs/proc/root.c | 2 +- fs/proc/task_mmu.c | 10 +- fs/qnx4/bitmap.c | 3 +- fs/quota.c | 1 + fs/read_write.c | 1 + fs/readdir.c | 1 + fs/reiserfs/bitmap.c | 30 +- fs/reiserfs/dir.c | 11 +- fs/reiserfs/do_balan.c | 2 +- fs/reiserfs/file.c | 127 +- fs/reiserfs/fix_node.c | 6 +- fs/reiserfs/ibalance.c | 8 +- fs/reiserfs/inode.c | 198 +- fs/reiserfs/item_ops.c | 10 +- fs/reiserfs/journal.c | 1141 +++-- fs/reiserfs/namei.c | 161 +- fs/reiserfs/objectid.c | 2 + fs/reiserfs/prints.c | 53 +- fs/reiserfs/procfs.c | 2 +- fs/reiserfs/resize.c | 26 +- fs/reiserfs/stree.c | 85 +- fs/reiserfs/super.c | 169 +- fs/reiserfs/tail_conversion.c | 3 + fs/select.c | 2 +- fs/smbfs/inode.c | 23 +- fs/smbfs/proc.c | 31 +- fs/smbfs/proto.h | 2 +- fs/smbfs/request.c | 1 - fs/stat.c | 1 + fs/super.c | 18 +- fs/sysfs/dir.c | 5 +- fs/sysv/CHANGES | 2 +- fs/sysv/ChangeLog | 12 +- fs/udf/balloc.c | 2 +- fs/udf/file.c | 22 +- fs/udf/lowlevel.c | 6 - fs/ufs/balloc.c | 2 +- fs/ufs/cylinder.c | 2 +- fs/ufs/ialloc.c | 2 +- fs/ufs/inode.c | 4 +- fs/ufs/namei.c | 4 +- fs/ufs/super.c | 2 +- fs/ufs/util.c | 53 + fs/ufs/util.h | 2 + fs/xattr.c | 1 + fs/xfs/linux-2.6/kmem.c | 15 +- fs/xfs/linux-2.6/kmem.h | 2 +- fs/xfs/linux-2.6/xfs_buf.c | 124 +- fs/xfs/linux-2.6/xfs_buf.h | 39 +- fs/xfs/linux-2.6/xfs_file.c | 4 +- fs/xfs/linux-2.6/xfs_globals.c | 1 + fs/xfs/linux-2.6/xfs_ioctl.c | 6 +- fs/xfs/linux-2.6/xfs_linux.h | 1 + fs/xfs/linux-2.6/xfs_lrw.c | 17 +- fs/xfs/linux-2.6/xfs_super.c | 6 +- fs/xfs/linux-2.6/xfs_sysctl.c | 5 + fs/xfs/linux-2.6/xfs_sysctl.h | 2 + fs/xfs/quota/xfs_qm.c | 47 +- fs/xfs/quota/xfs_qm.h | 7 +- fs/xfs/quota/xfs_qm_bhv.c | 20 +- fs/xfs/quota/xfs_qm_syscalls.c | 12 +- fs/xfs/xfs_alloc.c | 18 +- fs/xfs/xfs_iget.c | 47 +- fs/xfs/xfs_inode.c | 3 +- fs/xfs/xfs_inode.h | 6 +- fs/xfs/xfs_itable.c | 2 +- fs/xfs/xfs_log.c | 55 +- fs/xfs/xfs_log_priv.h | 5 +- fs/xfs/xfs_log_recover.c | 7 +- fs/xfs/xfs_mount.c | 16 +- fs/xfs/xfs_mount.h | 8 +- fs/xfs/xfs_rtalloc.c | 18 +- fs/xfs/xfs_trans.h | 2 +- fs/xfs/xfs_trans_inode.c | 9 +- fs/xfs/xfs_utils.c | 2 +- fs/xfs/xfs_vfsops.c | 2 +- include/acpi/acconfig.h | 2 +- include/acpi/acdebug.h | 5 - include/acpi/acdispat.h | 8 + include/acpi/acglobal.h | 6 +- include/acpi/achware.h | 5 +- include/acpi/acinterp.h | 46 +- include/acpi/aclocal.h | 2 +- include/acpi/acmacros.h | 10 +- include/acpi/acnamesp.h | 10 + include/acpi/acobject.h | 5 +- include/acpi/acparser.h | 4 + include/acpi/acpi_bus.h | 4 + include/acpi/acpiosxf.h | 15 +- include/acpi/acpixf.h | 29 + include/acpi/acresrc.h | 4 + include/acpi/actables.h | 2 + include/acpi/actbl.h | 2 + include/acpi/actbl2.h | 92 +- include/acpi/actypes.h | 17 +- include/acpi/acutils.h | 26 +- include/acpi/amlcode.h | 50 +- include/acpi/amlresrc.h | 4 +- include/acpi/platform/acenv.h | 10 + include/acpi/processor.h | 10 +- include/asm-alpha/core_cia.h | 12 +- include/asm-alpha/errno.h | 5 + include/asm-alpha/hardirq.h | 21 - include/asm-alpha/io.h | 28 +- include/asm-alpha/mmzone.h | 4 +- include/asm-alpha/pgtable.h | 8 +- include/asm-alpha/topology.h | 3 - include/asm-arm/arch-clps711x/io.h | 6 +- include/asm-arm/arch-clps711x/time.h | 3 + include/asm-arm/arch-ebsa110/io.h | 14 +- include/asm-arm/arch-ebsa285/io.h | 20 +- include/asm-arm/arch-epxa10db/io.h | 2 +- include/asm-arm/arch-h720x/io.h | 4 +- include/asm-arm/arch-imx/io.h | 4 +- include/asm-arm/arch-integrator/io.h | 6 +- include/asm-arm/arch-integrator/platform.h | 4 - include/asm-arm/arch-iop3xx/io.h | 6 +- include/asm-arm/arch-ixp2000/dma.h | 2 +- include/asm-arm/arch-ixp2000/io.h | 4 +- include/asm-arm/arch-ixp2000/irqs.h | 30 +- include/asm-arm/arch-ixp2000/ixdp2x00.h | 2 +- include/asm-arm/arch-ixp2000/ixdp2x01.h | 4 + include/asm-arm/arch-ixp2000/ixp2000-regs.h | 10 +- include/asm-arm/arch-ixp2000/platform.h | 7 +- include/asm-arm/arch-ixp2000/system.h | 2 +- include/asm-arm/arch-ixp4xx/io.h | 16 +- include/asm-arm/arch-ixp4xx/ixp4xx-regs.h | 2 +- include/asm-arm/arch-ixp4xx/platform.h | 4 +- include/asm-arm/arch-l7200/io.h | 6 +- include/asm-arm/arch-l7200/time.h | 3 + include/asm-arm/arch-lh7a40x/io.h | 6 +- include/asm-arm/arch-lh7a40x/timex.h | 1 - include/asm-arm/arch-omap/board-h2.h | 12 +- include/asm-arm/arch-omap/board-h3.h | 72 +- include/asm-arm/arch-omap/board-innovator.h | 12 +- include/asm-arm/arch-omap/board.h | 51 +- include/asm-arm/arch-omap/dma.h | 28 +- include/asm-arm/arch-omap/hardware.h | 114 +- include/asm-arm/arch-omap/io.h | 6 +- include/asm-arm/arch-omap/irqs.h | 22 +- include/asm-arm/arch-omap/mcbsp.h | 2 +- include/asm-arm/arch-omap/memory.h | 4 +- include/asm-arm/arch-omap/mux.h | 39 +- include/asm-arm/arch-omap/pm.h | 259 +- include/asm-arm/arch-omap/timex.h | 4 +- include/asm-arm/arch-omap/uncompress.h | 27 +- include/asm-arm/arch-pxa/io.h | 6 +- include/asm-arm/arch-pxa/pxa-regs.h | 189 +- include/asm-arm/arch-rpc/io.h | 2 +- include/asm-arm/arch-s3c2410/dma.h | 62 +- include/asm-arm/arch-s3c2410/hardware.h | 6 +- include/asm-arm/arch-s3c2410/regs-dsc.h | 32 +- include/asm-arm/arch-s3c2410/regs-gpio.h | 23 +- include/asm-arm/arch-s3c2410/regs-iic.h | 16 +- include/asm-arm/arch-s3c2410/regs-lcd.h | 14 +- include/asm-arm/arch-s3c2410/regs-rtc.h | 2 + include/asm-arm/arch-s3c2410/regs-sdi.h | 20 +- include/asm-arm/arch-s3c2410/regs-serial.h | 99 +- include/asm-arm/arch-s3c2410/regs-udc.h | 7 +- include/asm-arm/arch-s3c2410/regs-watchdog.h | 1 + include/asm-arm/arch-s3c2410/system.h | 32 +- include/asm-arm/arch-s3c2410/timex.h | 7 +- include/asm-arm/arch-s3c2410/uncompress.h | 31 +- include/asm-arm/arch-sa1100/ide.h | 75 +- include/asm-arm/arch-sa1100/io.h | 6 +- include/asm-arm/arch-sa1100/irqs.h | 9 +- include/asm-arm/arch-sa1100/system.h | 9 - include/asm-arm/arch-sa1100/timex.h | 1 - include/asm-arm/arch-shark/io.h | 2 +- include/asm-arm/arch-versatile/hardware.h | 2 +- include/asm-arm/arch-versatile/io.h | 6 +- include/asm-arm/arch-versatile/platform.h | 28 +- include/asm-arm/arch-versatile/timex.h | 2 +- include/asm-arm/bitops.h | 2 +- include/asm-arm/cacheflush.h | 65 +- include/asm-arm/delay.h | 30 +- include/asm-arm/ecard.h | 1 + include/asm-arm/hardirq.h | 25 - include/asm-arm/hardware/amba_clcd.h | 4 +- include/asm-arm/ide.h | 4 - include/asm-arm/io.h | 70 +- include/asm-arm/irq.h | 3 +- include/asm-arm/mach/arch.h | 6 +- include/asm-arm/mach/flash.h | 19 +- include/asm-arm/mach/irq.h | 17 - include/asm-arm/mach/map.h | 6 +- include/asm-arm/mach/mmc.h | 1 - include/asm-arm/mach/time.h | 37 +- include/asm-arm/mmu_context.h | 11 +- include/asm-arm/page.h | 8 +- include/asm-arm/pgtable.h | 2 +- include/asm-arm/posix_types.h | 8 +- include/asm-arm/procinfo.h | 6 +- include/asm-arm/serial.h | 6 +- include/asm-arm/setup.h | 2 - include/asm-arm/system.h | 58 +- include/asm-arm/thread_info.h | 6 +- include/asm-arm/tlbflush.h | 4 +- include/asm-arm/uaccess.h | 34 +- include/asm-arm26/hardirq.h | 15 - include/asm-arm26/io.h | 2 + include/asm-arm26/pgtable.h | 2 +- include/asm-cris/hardirq.h | 21 - include/asm-cris/io.h | 2 + include/asm-generic/dma-mapping-broken.h | 2 +- include/asm-generic/errno.h | 5 + include/asm-generic/netdump.h | 31 +- include/asm-generic/pci.h | 7 + include/asm-generic/topology.h | 5 - include/asm-generic/vmlinux.lds.h | 6 + include/asm-h8300/bitops.h | 8 +- include/asm-h8300/delay.h | 7 +- include/asm-h8300/hardirq.h | 21 - include/asm-h8300/io.h | 25 +- include/asm-h8300/pgtable.h | 3 +- include/asm-h8300/sigcontext.h | 2 + include/asm-h8300/signal.h | 2 + include/asm-h8300/system.h | 3 +- include/asm-h8300/timex.h | 4 - include/asm-h8300/ucontext.h | 13 +- include/asm-h8300/unistd.h | 1 + include/asm-i386/acpi.h | 7 +- include/asm-i386/apic.h | 9 +- include/asm-i386/apicdef.h | 1 - include/asm-i386/cpu.h | 1 + include/asm-i386/hardirq.h | 44 +- include/asm-i386/hpet.h | 1 + include/asm-i386/hw_irq.h | 16 +- include/asm-i386/ide.h | 14 +- include/asm-i386/io.h | 34 +- include/asm-i386/io_apic.h | 6 +- include/asm-i386/irq.h | 35 +- include/asm-i386/kmap_types.h | 4 +- include/asm-i386/kprobes.h | 7 + include/asm-i386/mach-default/do_timer.h | 3 + include/asm-i386/mach-summit/mach_mpparse.h | 3 + include/asm-i386/mach-visws/do_timer.h | 3 + include/asm-i386/mach-voyager/do_timer.h | 3 + include/asm-i386/module.h | 6 + include/asm-i386/mpspec.h | 2 +- include/asm-i386/netdump.h | 95 +- include/asm-i386/node.h | 1 + include/asm-i386/page.h | 3 +- include/asm-i386/param.h | 4 +- include/asm-i386/pgtable.h | 3 +- include/asm-i386/processor.h | 2 + include/asm-i386/semaphore.h | 40 +- include/asm-i386/suspend.h | 3 + include/asm-i386/system.h | 4 +- include/asm-i386/thread_info.h | 14 +- include/asm-i386/timer.h | 20 +- include/asm-i386/timex.h | 4 - include/asm-i386/topology.h | 21 +- include/asm-i386/unistd.h | 14 +- include/asm-ia64/delay.h | 2 +- include/asm-ia64/hardirq.h | 28 - include/asm-ia64/io.h | 34 +- include/asm-ia64/machvec.h | 23 +- include/asm-ia64/machvec_init.h | 1 + include/asm-ia64/machvec_sn2.h | 4 + include/asm-ia64/netdump.h | 80 +- include/asm-ia64/pci.h | 9 +- include/asm-ia64/pgtable.h | 12 +- include/asm-ia64/processor.h | 25 +- include/asm-ia64/ptrace.h | 8 +- include/asm-ia64/sn/intr.h | 10 +- include/asm-ia64/sn/pda.h | 2 +- include/asm-ia64/sn/shub_mmr.h | 205 + include/asm-ia64/topology.h | 42 +- include/asm-ia64/unistd.h | 6 +- include/asm-m32r/elf.h | 41 +- include/asm-m32r/hardirq.h | 22 - include/asm-m32r/ide.h | 2 +- include/asm-m32r/io.h | 13 +- include/asm-m32r/m32102.h | 112 +- include/asm-m32r/pgtable.h | 3 +- include/asm-m32r/processor.h | 30 +- include/asm-m32r/rtc.h | 2 +- include/asm-m32r/termbits.h | 1 + include/asm-m32r/topology.h | 5 - include/asm-m68k/atomic.h | 2 + include/asm-m68k/blinken.h | 15 +- include/asm-m68k/bootinfo.h | 7 + include/asm-m68k/hardirq.h | 21 - include/asm-m68k/io.h | 19 + include/asm-m68k/mc146818rtc.h | 2 + include/asm-m68k/pgtable.h | 3 +- include/asm-m68k/setup.h | 2 +- include/asm-m68k/timex.h | 4 - include/asm-m68k/tlbflush.h | 2 + include/asm-m68k/unistd.h | 48 +- include/asm-m68knommu/checksum.h | 2 + include/asm-m68knommu/coldfire.h | 10 +- include/asm-m68knommu/delay.h | 55 +- include/asm-m68knommu/hardirq.h | 21 - include/asm-m68knommu/io.h | 2 + include/asm-m68knommu/mcfdma.h | 2 +- include/asm-m68knommu/mcfpit.h | 2 +- include/asm-m68knommu/mcfsim.h | 9 +- include/asm-m68knommu/mcfuart.h | 2 +- include/asm-m68knommu/page_offset.h | 4 - include/asm-m68knommu/param.h | 33 +- include/asm-m68knommu/pgtable.h | 3 +- include/asm-m68knommu/system.h | 13 + include/asm-m68knommu/thread_info.h | 12 +- include/asm-m68knommu/unistd.h | 73 +- include/asm-mips/addrspace.h | 61 +- include/asm-mips/asmmacro-32.h | 6 +- include/asm-mips/asmmacro-64.h | 18 + include/asm-mips/atomic.h | 631 +-- include/asm-mips/bitops.h | 568 +-- include/asm-mips/bootinfo.h | 2 + include/asm-mips/checksum.h | 1 + include/asm-mips/compat.h | 6 +- include/asm-mips/cpu-features.h | 15 +- include/asm-mips/debug.h | 3 +- include/asm-mips/delay.h | 8 +- include/asm-mips/div64.h | 7 +- include/asm-mips/dma-mapping.h | 8 + include/asm-mips/errno.h | 4 + include/asm-mips/fixmap.h | 1 - include/asm-mips/gdb-stub.h | 1 + include/asm-mips/hardirq.h | 41 +- include/asm-mips/hazards.h | 2 +- include/asm-mips/hw_irq.h | 2 - include/asm-mips/ide.h | 12 - include/asm-mips/io.h | 76 +- include/asm-mips/ip32/crime.h | 214 +- include/asm-mips/ip32/mace.h | 153 +- include/asm-mips/irq.h | 30 +- include/asm-mips/jazz.h | 2 + include/asm-mips/mach-atlas/mc146818rtc.h | 2 +- include/asm-mips/mach-au1x00/au1000.h | 322 +- include/asm-mips/mach-db1x00/db1x00.h | 34 +- include/asm-mips/mach-generic/floppy.h | 1 - include/asm-mips/mach-generic/ide.h | 21 +- include/asm-mips/mach-generic/mangle-port.h | 3 +- include/asm-mips/mach-generic/spaces.h | 4 +- include/asm-mips/mach-ip27/mangle-port.h | 3 +- include/asm-mips/mach-ip27/mmzone.h | 27 + include/asm-mips/mach-ip27/spaces.h | 6 +- include/asm-mips/mach-ip27/topology.h | 30 +- include/asm-mips/mach-ip32/mangle-port.h | 2 + .../asm-mips/mach-ja/cpu-feature-overrides.h | 6 + .../mach-yosemite/cpu-feature-overrides.h | 6 + include/asm-mips/marvell.h | 1 - include/asm-mips/mipsregs.h | 7 + include/asm-mips/mmu_context.h | 10 +- include/asm-mips/mmzone.h | 3 - include/asm-mips/numnodes.h | 2 +- include/asm-mips/page.h | 17 +- include/asm-mips/pci.h | 65 + include/asm-mips/pci/bridge.h | 7 +- include/asm-mips/pgtable-32.h | 22 + include/asm-mips/pgtable-64.h | 19 +- include/asm-mips/pgtable-bits.h | 33 +- include/asm-mips/pgtable.h | 133 +- include/asm-mips/posix_types.h | 8 +- include/asm-mips/processor.h | 72 +- include/asm-mips/ptrace.h | 2 + include/asm-mips/r4kcache.h | 2 +- include/asm-mips/serial.h | 105 +- include/asm-mips/sgi/ioc.h | 2 +- include/asm-mips/sgiarcs.h | 4 +- include/asm-mips/siginfo.h | 122 +- include/asm-mips/sim.h | 5 +- include/asm-mips/smp.h | 7 +- include/asm-mips/sn/hub.h | 19 - include/asm-mips/sn/mapped_kernel.h | 2 - include/asm-mips/sn/sn_private.h | 2 - include/asm-mips/socket.h | 6 +- include/asm-mips/spinlock.h | 259 +- include/asm-mips/stackframe.h | 2 +- include/asm-mips/statfs.h | 32 +- include/asm-mips/system.h | 362 +- include/asm-mips/thread_info.h | 2 +- include/asm-mips/titan_dep.h | 40 +- include/asm-mips/tx4927/tx4927.h | 18 +- include/asm-mips/uaccess.h | 217 +- include/asm-mips/unistd.h | 92 +- include/asm-mips/war.h | 11 + include/asm-parisc/assembly.h | 17 +- include/asm-parisc/atomic.h | 54 +- include/asm-parisc/bitops.h | 24 +- include/asm-parisc/bug.h | 8 + include/asm-parisc/errno.h | 4 + include/asm-parisc/hardirq.h | 21 - include/asm-parisc/io.h | 2 + include/asm-parisc/pci.h | 36 +- include/asm-parisc/pdc.h | 1 + include/asm-parisc/pgtable.h | 3 +- include/asm-parisc/posix_types.h | 2 +- include/asm-parisc/ptrace.h | 3 +- include/asm-parisc/spinlock.h | 42 +- include/asm-parisc/string.h | 10 + include/asm-parisc/superio.h | 1 - include/asm-parisc/system.h | 24 +- include/asm-parisc/thread_info.h | 15 +- include/asm-parisc/tlbflush.h | 8 + include/asm-parisc/uaccess.h | 178 +- include/asm-parisc/unistd.h | 38 +- include/asm-ppc/8xx_immap.h | 234 +- include/asm-ppc/commproc.h | 69 +- include/asm-ppc/cputable.h | 6 + include/asm-ppc/hardirq.h | 45 +- include/asm-ppc/hw_irq.h | 1 - include/asm-ppc/ibm4xx.h | 4 + include/asm-ppc/immap_cpm2.h | 2 +- include/asm-ppc/io.h | 340 +- include/asm-ppc/irq.h | 26 +- include/asm-ppc/machdep.h | 1 + include/asm-ppc/mpc85xx.h | 3 + include/asm-ppc/mpc8xx.h | 6 +- include/asm-ppc/ocp_ids.h | 1 + include/asm-ppc/open_pic.h | 2 + include/asm-ppc/pci-bridge.h | 2 + include/asm-ppc/pgtable.h | 3 +- include/asm-ppc/pmac_feature.h | 6 +- include/asm-ppc/reg_booke.h | 4 +- include/asm-ppc/thread_info.h | 2 +- include/asm-ppc/time.h | 3 +- include/asm-ppc/timex.h | 4 - include/asm-ppc/unistd.h | 5 +- include/asm-ppc64/eeh.h | 179 +- include/asm-ppc64/floppy.h | 1 + include/asm-ppc64/hardirq.h | 45 +- include/asm-ppc64/iSeries/mf.h | 41 +- include/asm-ppc64/ide.h | 2 +- include/asm-ppc64/io.h | 38 +- include/asm-ppc64/iommu.h | 13 +- include/asm-ppc64/irq.h | 20 +- include/asm-ppc64/machdep.h | 8 + include/asm-ppc64/mmu.h | 1 + include/asm-ppc64/netdump.h | 75 +- include/asm-ppc64/paca.h | 14 +- include/asm-ppc64/page.h | 1 - include/asm-ppc64/pci-bridge.h | 34 +- include/asm-ppc64/pci.h | 11 +- include/asm-ppc64/pgtable.h | 31 +- include/asm-ppc64/plpar_wrappers.h | 8 +- include/asm-ppc64/processor.h | 1 + include/asm-ppc64/prom.h | 29 +- include/asm-ppc64/rtas.h | 2 +- include/asm-ppc64/serial.h | 111 +- include/asm-ppc64/smp.h | 19 +- include/asm-ppc64/thread_info.h | 2 +- include/asm-ppc64/timex.h | 4 - include/asm-ppc64/topology.h | 21 +- include/asm-ppc64/udbg.h | 4 +- include/asm-ppc64/unistd.h | 23 +- include/asm-s390/debug.h | 2 + include/asm-s390/extmem.h | 23 +- include/asm-s390/hardirq.h | 21 - include/asm-s390/io.h | 2 + include/asm-s390/siginfo.h | 71 - include/asm-s390/timex.h | 4 - include/asm-s390/unistd.h | 3 +- include/asm-sh/adc.h | 3 +- include/asm-sh/addrspace.h | 2 + include/asm-sh/bitops.h | 4 +- include/asm-sh/bugs.h | 4 +- include/asm-sh/cache.h | 5 +- include/asm-sh/checksum.h | 3 +- include/asm-sh/cpu-sh3/cache.h | 7 + include/asm-sh/cpu-sh3/cacheflush.h | 42 + include/asm-sh/cpu-sh4/freq.h | 4 + include/asm-sh/dma-mapping.h | 46 +- include/asm-sh/dma.h | 2 + include/asm-sh/freq.h | 3 +- include/asm-sh/hardirq.h | 21 - include/asm-sh/io.h | 2 + include/asm-sh/irq.h | 25 +- include/asm-sh/machvec.h | 2 +- include/asm-sh/mmu_context.h | 2 + include/asm-sh/mpc1211/keyboard.h | 2 +- include/asm-sh/page.h | 8 +- include/asm-sh/pgtable.h | 7 +- include/asm-sh/processor.h | 4 + include/asm-sh/rtc.h | 3 +- include/asm-sh/se/se.h | 8 + include/asm-sh/shmparam.h | 2 + include/asm-sh/system.h | 1 - include/asm-sh/thread_info.h | 10 - include/asm-sh/timex.h | 4 - include/asm-sh/ubc.h | 3 +- include/asm-sh/unistd.h | 8 +- include/asm-sh/user.h | 2 - include/asm-sh/watchdog.h | 3 +- include/asm-sh64/io.h | 5 + include/asm-sh64/keyboard.h | 2 +- include/asm-sh64/pgtable.h | 3 +- include/asm-sparc/atomic.h | 1 + include/asm-sparc/dma.h | 2 +- include/asm-sparc/elf.h | 2 +- include/asm-sparc/errno.h | 5 + include/asm-sparc/fbio.h | 6 +- include/asm-sparc/hardirq.h | 21 - include/asm-sparc/io.h | 182 +- include/asm-sparc/mostek.h | 7 +- include/asm-sparc/processor.h | 2 + include/asm-sparc/sigcontext.h | 3 +- include/asm-sparc/signal.h | 8 +- include/asm-sparc/timex.h | 4 - include/asm-sparc/unistd.h | 6 +- include/asm-sparc64/errno.h | 5 + include/asm-sparc64/hardirq.h | 21 - include/asm-sparc64/io.h | 70 +- include/asm-sparc64/kprobes.h | 6 + include/asm-sparc64/pci.h | 5 + include/asm-sparc64/timex.h | 4 - include/asm-sparc64/uaccess.h | 34 +- include/asm-sparc64/unistd.h | 6 +- include/asm-um/atomic.h | 5 + include/asm-um/current.h | 13 +- include/asm-um/hardirq.h | 28 +- include/asm-um/pgtable.h | 9 +- include/asm-um/processor-generic.h | 2 +- include/asm-um/ptrace-generic.h | 2 - include/asm-um/thread_info.h | 1 + include/asm-um/unistd.h | 10 +- include/asm-v850/hardirq.h | 21 - include/asm-v850/io.h | 9 +- include/asm-v850/posix_types.h | 4 +- include/asm-v850/timex.h | 4 - include/asm-x86_64/apic.h | 2 +- include/asm-x86_64/apicdef.h | 33 +- include/asm-x86_64/compat.h | 2 +- include/asm-x86_64/cpufeature.h | 4 +- include/asm-x86_64/desc.h | 2 + include/asm-x86_64/elf.h | 5 + include/asm-x86_64/hardirq.h | 60 +- include/asm-x86_64/hpet.h | 4 + include/asm-x86_64/io.h | 113 +- include/asm-x86_64/io_apic.h | 2 +- include/asm-x86_64/irq.h | 9 +- include/asm-x86_64/kdebug.h | 3 +- include/asm-x86_64/mmu_context.h | 5 +- include/asm-x86_64/mpspec.h | 6 +- include/asm-x86_64/msi.h | 1 + include/asm-x86_64/netdump.h | 77 +- include/asm-x86_64/nmi.h | 6 + include/asm-x86_64/numa.h | 2 + include/asm-x86_64/page.h | 12 +- include/asm-x86_64/pgtable.h | 4 +- include/asm-x86_64/processor.h | 2 + include/asm-x86_64/proto.h | 2 + include/asm-x86_64/smp.h | 49 +- include/asm-x86_64/swiotlb.h | 4 + include/asm-x86_64/system.h | 4 +- include/asm-x86_64/thread_info.h | 2 +- include/asm-x86_64/timex.h | 4 - include/asm-x86_64/topology.h | 22 +- include/asm-x86_64/uaccess.h | 2 +- include/asm-x86_64/unistd.h | 2 +- include/asm-x86_64/vsyscall.h | 6 +- include/linux/acpi.h | 27 + include/linux/atm.h | 3 + include/linux/atmdev.h | 4 + include/linux/atmsvc.h | 7 +- include/linux/autoconf.h | 271 +- include/linux/bio.h | 7 + include/linux/bitops.h | 4 +- include/linux/blkdev.h | 67 +- include/linux/buffer_head.h | 14 +- include/linux/byteorder/big_endian.h | 12 +- include/linux/byteorder/little_endian.h | 12 +- include/linux/cdrom.h | 3 + include/linux/coda.h | 4 +- include/linux/compat.h | 2 + include/linux/compat_ioctl.h | 9 + include/linux/compiler.h | 11 + include/linux/cpufreq.h | 27 +- include/linux/crc-ccitt.h | 2 + include/linux/cyclomx.h | 2 +- include/linux/cycx_drv.h | 6 +- include/linux/dcache.h | 3 +- include/linux/device-mapper.h | 4 + include/linux/device.h | 11 +- include/linux/dio.h | 188 +- include/linux/divert.h | 2 + include/linux/dm-ioctl.h | 21 +- include/linux/dnotify.h | 46 +- include/linux/dvb/frontend.h | 11 +- include/linux/dvb/osd.h | 32 + include/linux/eeprom.h | 4 +- include/linux/efi.h | 2 +- include/linux/efs_fs.h | 1 + include/linux/elevator.h | 64 +- include/linux/ext3_fs.h | 6 +- include/linux/ext3_fs_i.h | 8 +- include/linux/ext3_fs_sb.h | 4 +- include/linux/fb.h | 125 +- include/linux/filter.h | 8 + include/linux/fs.h | 32 +- include/linux/gen_stats.h | 5 + include/linux/generic_serial.h | 2 +- include/linux/genhd.h | 28 +- include/linux/hardirq.h | 42 + include/linux/hdlc.h | 8 +- include/linux/hdreg.h | 26 +- include/linux/hpet.h | 1 + include/linux/i2c-sensor.h | 36 - include/linux/i2c-vid.h | 36 +- include/linux/i2c.h | 18 +- include/linux/i2o.h | 68 +- include/linux/icmp.h | 2 + include/linux/ide.h | 158 +- include/linux/idr.h | 2 +- include/linux/if_ppp.h | 2 +- include/linux/if_vlan.h | 4 +- include/linux/inet.h | 2 + include/linux/inetdevice.h | 3 + include/linux/init_task.h | 2 +- include/linux/input.h | 22 + include/linux/interrupt.h | 33 +- include/linux/ioport.h | 5 + include/linux/ipmi.h | 2 +- include/linux/ipmi_msgdefs.h | 2 +- include/linux/ipv6_route.h | 3 +- include/linux/irq.h | 18 +- include/linux/isicom.h | 173 - include/linux/jbd.h | 45 +- include/linux/jffs2_fs_i.h | 3 +- include/linux/jiffies.h | 384 +- include/linux/kallsyms.h | 10 + include/linux/kernel.h | 39 +- include/linux/kmod.h | 4 - include/linux/kobject.h | 22 +- include/linux/kprobes.h | 5 +- include/linux/libata.h | 46 +- include/linux/list.h | 2 - include/linux/lockd/lockd.h | 1 - include/linux/lockd/xdr.h | 5 - include/linux/mc146818rtc.h | 4 +- include/linux/mempolicy.h | 6 +- include/linux/meye.h | 17 +- include/linux/mm.h | 15 +- include/linux/mmc/mmc.h | 5 +- include/linux/mmzone.h | 66 +- include/linux/module.h | 63 +- include/linux/moduleparam.h | 21 +- include/linux/mount.h | 2 + include/linux/msdos_fs.h | 7 +- include/linux/msdos_fs_i.h | 12 +- include/linux/msdos_fs_sb.h | 15 +- include/linux/mtd/cfi.h | 58 +- include/linux/mtd/doc2000.h | 8 +- include/linux/mtd/gen_probe.h | 2 +- include/linux/mtd/map.h | 20 +- include/linux/mtd/nand.h | 20 +- include/linux/mtd/partitions.h | 3 +- include/linux/net.h | 2 +- include/linux/netdevice.h | 34 +- include/linux/netfilter.h | 2 + include/linux/netfilter_ipv4/ip_conntrack.h | 4 + .../linux/netfilter_ipv4/ip_conntrack_tcp.h | 2 +- .../linux/netfilter_ipv4/ip_nat_protocol.h | 2 +- include/linux/netfilter_ipv4/ip_tables.h | 4 + include/linux/netfilter_ipv6/ip6_tables.h | 12 +- include/linux/netlink.h | 1 + include/linux/netpoll.h | 4 +- include/linux/nfs4.h | 1 + include/linux/nfsd/state.h | 16 + include/linux/nfsd/xdr4.h | 1 + include/linux/parport_pc.h | 17 + include/linux/pci.h | 96 +- include/linux/pci_ids.h | 78 +- include/linux/pid.h | 2 - include/linux/pkt_cls.h | 8 +- include/linux/pkt_sched.h | 34 +- include/linux/pm.h | 38 +- include/linux/pnp.h | 4 +- include/linux/posix-timers.h | 38 +- include/linux/prctl.h | 1 - include/linux/proc_fs.h | 3 +- include/linux/profile.h | 18 +- include/linux/ptrace.h | 2 + include/linux/raid/md.h | 2 +- include/linux/raid/md_k.h | 7 +- include/linux/raid/md_p.h | 4 +- include/linux/raid/multipath.h | 3 +- include/linux/raid/raid1.h | 1 + include/linux/random.h | 2 - include/linux/rbtree.h | 3 +- include/linux/rcupdate.h | 18 + include/linux/reboot.h | 16 - include/linux/reiserfs_fs.h | 112 +- include/linux/reiserfs_fs_sb.h | 43 +- include/linux/rmap.h | 1 + include/linux/rtnetlink.h | 2 + include/linux/sched.h | 183 +- include/linux/sctp.h | 6 +- include/linux/security.h | 70 +- include/linux/serial.h | 2 + include/linux/serial_core.h | 26 +- include/linux/serial_reg.h | 279 +- include/linux/slab.h | 7 + include/linux/smb_fs.h | 2 +- include/linux/smb_mount.h | 5 +- include/linux/smp_lock.h | 64 +- include/linux/sonypi.h | 41 +- include/linux/spinlock.h | 124 +- include/linux/stallion.h | 2 +- include/linux/swap.h | 2 + include/linux/swapops.h | 3 +- include/linux/syscalls.h | 15 + include/linux/sysctl.h | 1 + include/linux/sysrq.h | 46 +- include/linux/tcp.h | 4 + include/linux/threads.h | 2 +- include/linux/ticable.h | 2 + include/linux/time.h | 282 +- include/linux/timer.h | 3 + include/linux/times.h | 74 +- include/linux/timex.h | 62 +- include/linux/topology.h | 72 + include/linux/tty.h | 2 + include/linux/tty_driver.h | 6 +- include/linux/tty_ldisc.h | 2 +- include/linux/types.h | 16 +- include/linux/usb.h | 29 +- include/linux/usbdevice_fs.h | 35 - include/linux/videodev.h | 15 +- include/linux/videodev2.h | 18 +- include/linux/wait.h | 90 +- include/linux/wireless.h | 64 +- include/linux/workqueue.h | 3 + include/linux/writeback.h | 8 +- include/media/audiochip.h | 2 +- include/media/ir-common.h | 2 + include/media/saa6752hs.h | 6 +- include/media/saa7146.h | 12 +- include/media/saa7146_vv.h | 7 +- include/media/tuner.h | 8 +- include/media/video-buf.h | 64 +- include/mtd/mtd-abi.h | 7 +- include/net/addrconf.h | 3 +- include/net/bluetooth/bluetooth.h | 1 + include/net/bluetooth/hci.h | 42 +- include/net/bluetooth/hci_core.h | 78 +- include/net/bluetooth/l2cap.h | 2 + include/net/dn_nsp.h | 2 +- include/net/dst.h | 10 +- include/net/gen_stats.h | 3 + include/net/ip.h | 4 +- include/net/ip6_route.h | 4 +- include/net/ip_vs.h | 4 +- include/net/ipv6.h | 11 +- include/net/irda/ircomm_tty_attach.h | 1 - include/net/irda/irias_object.h | 3 +- include/net/irda/irlmp.h | 3 +- include/net/irda/timer.h | 10 +- include/net/iw_handler.h | 57 +- include/net/ndisc.h | 5 + include/net/neighbour.h | 6 +- include/net/pkt_act.h | 9 +- include/net/pkt_cls.h | 278 +- include/net/pkt_sched.h | 265 +- include/net/sctp/sctp.h | 8 +- include/net/sctp/structs.h | 6 + include/net/sctp/ulpevent.h | 3 + include/net/sctp/user.h | 6 +- include/net/sock.h | 21 +- include/net/tc_act/tc_gact.h | 2 +- include/net/tcp.h | 77 +- include/net/tux.h | 2 +- include/net/udp.h | 2 + include/net/xfrm.h | 4 +- include/pcmcia/bulkmem.h | 148 - include/pcmcia/cistpl.h | 10 +- include/pcmcia/cs.h | 15 +- include/pcmcia/cs_types.h | 3 - include/pcmcia/ss.h | 8 - include/scsi/scsi.h | 19 +- include/scsi/scsi_device.h | 3 + include/scsi/scsi_devinfo.h | 2 + include/scsi/scsi_eh.h | 35 +- include/scsi/scsi_host.h | 9 - include/scsi/scsi_transport.h | 5 - include/scsi/scsi_transport_fc.h | 12 +- include/sound/ac97_codec.h | 17 +- include/sound/control.h | 4 + include/sound/core.h | 8 +- include/sound/cs46xx.h | 2 +- include/sound/emu10k1.h | 61 +- include/sound/hdsp.h | 14 +- include/sound/opl3.h | 5 + include/sound/pcm.h | 5 + include/sound/seq_kernel.h | 8 + include/sound/ymfpci.h | 2 +- include/video/kyro.h | 2 +- include/video/mach64.h | 351 +- include/video/neomagic.h | 4 +- include/video/radeon.h | 3 +- include/video/sstfb.h | 11 +- include/video/tdfx.h | 2 +- include/video/tgafb.h | 6 +- init/Kconfig | 77 +- init/do_mounts.c | 5 +- init/do_mounts_devfs.c | 1 - init/do_mounts_rd.c | 17 +- init/initramfs.c | 12 +- init/main.c | 20 +- ipc/mqueue.c | 12 +- ipc/msg.c | 3 +- ipc/sem.c | 3 +- ipc/shm.c | 16 +- ipc/util.c | 82 +- ipc/util.h | 13 +- kernel/Makefile | 5 +- kernel/acct.c | 25 +- kernel/audit.c | 2 +- kernel/auditsc.c | 2 +- kernel/capability.c | 1 + kernel/compat.c | 12 +- kernel/cpu.c | 36 - kernel/exec_domain.c | 1 + kernel/exit.c | 31 +- kernel/fork.c | 211 +- kernel/futex.c | 23 +- kernel/irq/handle.c | 4 +- kernel/irq/spurious.c | 103 +- kernel/itimer.c | 1 + kernel/kallsyms.c | 194 +- kernel/kmod.c | 23 - kernel/kprobes.c | 6 +- kernel/module.c | 176 +- kernel/panic.c | 16 +- kernel/params.c | 395 +- kernel/pid.c | 148 +- kernel/posix-timers.c | 137 +- kernel/power/Kconfig | 19 +- kernel/power/disk.c | 42 +- kernel/power/main.c | 14 +- kernel/power/poweroff.c | 2 +- kernel/power/swsusp.c | 34 +- kernel/printk.c | 46 +- kernel/profile.c | 307 +- kernel/ptrace.c | 51 +- kernel/rcupdate.c | 2 +- kernel/resource.c | 2 + kernel/sched.c | 750 ++- kernel/signal.c | 103 +- kernel/softirq.c | 46 +- kernel/stop_machine.c | 7 +- kernel/sys.c | 167 +- kernel/sysctl.c | 26 +- kernel/time.c | 21 +- kernel/timer.c | 69 +- kernel/user.c | 16 + kernel/workqueue.c | 34 + lib/Kconfig | 18 + lib/Kconfig.debug | 37 +- lib/Makefile | 10 +- lib/bitmap.c | 2 +- lib/dec_and_lock.c | 4 +- lib/idr.c | 25 +- lib/inflate.c | 40 +- lib/iomap.c | 8 +- lib/kobject.c | 148 +- lib/parser.c | 1 + lib/radix-tree.c | 6 +- mm/bootmem.c | 10 +- mm/fadvise.c | 1 + mm/filemap.c | 167 +- mm/fremap.c | 1 + mm/madvise.c | 1 + mm/memory.c | 56 +- mm/mempolicy.c | 63 +- mm/mincore.c | 1 + mm/mlock.c | 13 +- mm/mmap.c | 67 +- mm/mprotect.c | 18 +- mm/mremap.c | 5 +- mm/msync.c | 1 + mm/nommu.c | 30 +- mm/page-writeback.c | 7 +- mm/page_alloc.c | 61 +- mm/prio_tree.c | 6 +- mm/rmap.c | 9 + mm/shmem.c | 194 +- mm/slab.c | 218 +- mm/swap_state.c | 2 +- mm/swapfile.c | 52 +- mm/thrash.c | 10 +- mm/truncate.c | 12 +- mm/vmscan.c | 12 +- net/802/fc.c | 32 + net/802/fddi.c | 41 + net/802/hippi.c | 89 + net/802/tr.c | 38 + net/8021q/vlan.c | 80 +- net/8021q/vlan.h | 2 + net/8021q/vlan_dev.c | 40 +- net/Kconfig | 4 + net/Makefile | 3 +- net/appletalk/Makefile | 2 +- net/appletalk/ddp.c | 7 - net/atm/common.c | 2 + net/atm/mpc.c | 11 +- net/atm/signaling.c | 23 +- net/atm/svc.c | 142 +- net/ax25/ax25_route.c | 16 - net/bluetooth/af_bluetooth.c | 8 +- net/bluetooth/cmtp/capi.c | 1 - net/bluetooth/hci_conn.c | 31 +- net/bluetooth/hci_core.c | 50 +- net/bluetooth/hci_event.c | 97 +- net/bluetooth/hci_sock.c | 14 +- net/bluetooth/hci_sysfs.c | 15 +- net/bluetooth/l2cap.c | 205 +- net/bluetooth/lib.c | 6 +- net/bluetooth/rfcomm/sock.c | 15 +- net/bluetooth/rfcomm/tty.c | 14 +- net/bridge/br_if.c | 4 +- net/bridge/br_ioctl.c | 2 + net/bridge/br_netfilter.c | 2 +- net/bridge/netfilter/ebtables.c | 10 +- net/compat.c | 5 +- net/core/dev.c | 100 +- net/core/dev_mcast.c | 2 +- net/core/dst.c | 4 +- net/core/ethtool.c | 31 +- net/core/gen_estimator.c | 46 + net/core/gen_stats.c | 91 +- net/core/link_watch.c | 2 +- net/core/neighbour.c | 9 +- net/core/net-sysfs.c | 11 + net/core/netfilter.c | 23 +- net/core/netpoll.c | 66 +- net/core/pktgen.c | 15 +- net/core/skbuff.c | 4 +- net/core/sock.c | 11 +- net/core/wireless.c | 215 +- net/decnet/Kconfig | 11 - net/decnet/af_decnet.c | 8 +- net/decnet/dn_dev.c | 63 +- net/decnet/dn_neigh.c | 1 + net/decnet/dn_nsp_in.c | 1 + net/decnet/dn_nsp_out.c | 4 +- net/decnet/dn_route.c | 27 +- net/econet/af_econet.c | 2 +- net/ethernet/eth.c | 61 + net/ipv4/Kconfig | 21 +- net/ipv4/Makefile | 3 +- net/ipv4/af_inet.c | 29 +- net/ipv4/devinet.c | 5 +- net/ipv4/fib_frontend.c | 2 +- net/ipv4/fib_hash.c | 2 +- net/ipv4/fib_rules.c | 2 +- net/ipv4/fib_semantics.c | 2 +- net/ipv4/icmp.c | 2 + net/ipv4/igmp.c | 4 +- net/ipv4/ip_fragment.c | 2 +- net/ipv4/ip_output.c | 7 +- net/ipv4/ipconfig.c | 15 +- net/ipv4/ipvs/ip_vs_conn.c | 8 +- net/ipv4/ipvs/ip_vs_ctl.c | 41 +- net/ipv4/ipvs/ip_vs_ftp.c | 3 +- net/ipv4/ipvs/ip_vs_lblc.c | 2 +- net/ipv4/ipvs/ip_vs_lblcr.c | 4 +- net/ipv4/netfilter/Kconfig | 55 + net/ipv4/netfilter/Makefile | 4 + net/ipv4/netfilter/arp_tables.c | 2 +- net/ipv4/netfilter/ip_conntrack_amanda.c | 12 +- net/ipv4/netfilter/ip_conntrack_core.c | 22 +- net/ipv4/netfilter/ip_conntrack_ftp.c | 2 +- net/ipv4/netfilter/ip_conntrack_irc.c | 6 +- net/ipv4/netfilter/ip_conntrack_proto_tcp.c | 36 +- net/ipv4/netfilter/ip_conntrack_standalone.c | 9 + net/ipv4/netfilter/ip_conntrack_tftp.c | 2 +- net/ipv4/netfilter/ip_fw_compat.c | 2 +- net/ipv4/netfilter/ip_nat_core.c | 57 +- net/ipv4/netfilter/ip_nat_ftp.c | 2 +- net/ipv4/netfilter/ip_nat_irc.c | 2 +- net/ipv4/netfilter/ip_nat_proto_icmp.c | 4 +- net/ipv4/netfilter/ip_nat_proto_tcp.c | 8 +- net/ipv4/netfilter/ip_nat_proto_udp.c | 8 +- net/ipv4/netfilter/ip_nat_proto_unknown.c | 2 +- net/ipv4/netfilter/ip_nat_rule.c | 4 +- net/ipv4/netfilter/ip_nat_standalone.c | 2 +- net/ipv4/netfilter/ip_nat_tftp.c | 2 +- net/ipv4/netfilter/ip_queue.c | 11 +- net/ipv4/netfilter/ip_tables.c | 18 +- net/ipv4/netfilter/ipt_ECN.c | 2 +- net/ipv4/netfilter/ipt_MASQUERADE.c | 89 +- net/ipv4/netfilter/ipt_REJECT.c | 58 +- net/ipv4/netfilter/ipt_ULOG.c | 6 +- net/ipv4/netfilter/ipt_recent.c | 2 +- net/ipv4/netfilter/ipt_tcpmss.c | 12 - net/ipv4/netfilter/iptable_filter.c | 4 +- net/ipv4/raw.c | 6 +- net/ipv4/route.c | 15 +- net/ipv4/tcp.c | 67 +- net/ipv4/tcp_diag.c | 367 +- net/ipv4/tcp_input.c | 6 +- net/ipv4/tcp_ipv4.c | 12 +- net/ipv4/tcp_minisocks.c | 8 +- net/ipv4/tcp_output.c | 7 +- net/ipv4/tcp_timer.c | 7 +- net/ipv4/udp.c | 50 +- net/ipv4/xfrm4_input.c | 3 + net/ipv4/xfrm4_output.c | 6 +- net/ipv6/Kconfig | 4 +- net/ipv6/addrconf.c | 174 +- net/ipv6/af_inet6.c | 30 +- net/ipv6/anycast.c | 12 +- net/ipv6/datagram.c | 2 +- net/ipv6/ip6_fib.c | 6 +- net/ipv6/ip6_flowlabel.c | 2 +- net/ipv6/ip6_output.c | 31 +- net/ipv6/ip6_tunnel.c | 10 +- net/ipv6/mcast.c | 46 +- net/ipv6/ndisc.c | 73 +- net/ipv6/netfilter/ip6_queue.c | 15 +- net/ipv6/netfilter/ip6_tables.c | 257 +- net/ipv6/netfilter/ip6t_LOG.c | 279 +- net/ipv6/netfilter/ip6t_MARK.c | 2 +- net/ipv6/netfilter/ip6t_ah.c | 269 +- net/ipv6/netfilter/ip6t_dst.c | 103 +- net/ipv6/netfilter/ip6t_esp.c | 91 +- net/ipv6/netfilter/ip6t_eui64.c | 5 +- net/ipv6/netfilter/ip6t_frag.c | 111 +- net/ipv6/netfilter/ip6t_hbh.c | 101 +- net/ipv6/netfilter/ip6t_hl.c | 2 +- net/ipv6/netfilter/ip6t_ipv6header.c | 33 +- net/ipv6/netfilter/ip6t_length.c | 3 +- net/ipv6/netfilter/ip6t_limit.c | 3 +- net/ipv6/netfilter/ip6t_mac.c | 3 +- net/ipv6/netfilter/ip6t_mark.c | 3 +- net/ipv6/netfilter/ip6t_multiport.c | 39 +- net/ipv6/netfilter/ip6t_owner.c | 3 +- net/ipv6/netfilter/ip6t_physdev.c | 3 +- net/ipv6/netfilter/ip6t_rt.c | 124 +- net/ipv6/raw.c | 11 +- net/ipv6/reassembly.c | 10 +- net/ipv6/route.c | 67 +- net/ipv6/tcp_ipv6.c | 25 +- net/ipv6/udp.c | 15 +- net/ipv6/xfrm6_output.c | 6 +- net/ipv6/xfrm6_policy.c | 6 +- net/ipv6/xfrm6_state.c | 6 +- net/irda/af_irda.c | 2 +- net/irda/ircomm/ircomm_tty.c | 28 +- net/irda/ircomm/ircomm_tty_attach.c | 186 +- net/irda/irias_object.c | 18 +- net/irda/irlan/irlan_client.c | 4 +- net/irda/irlan/irlan_common.c | 2 +- net/irda/irlan/irlan_provider.c | 2 +- net/irda/irlap_event.c | 38 +- net/irda/irlmp.c | 108 +- net/irda/irmod.c | 2 +- net/irda/irnet/irnet_ppp.c | 1 + net/irda/qos.c | 11 - net/irda/timer.c | 21 +- net/netlink/netlink_dev.c | 2 +- net/netrom/nr_in.c | 11 +- net/netrom/nr_route.c | 2 +- net/packet/af_packet.c | 3 +- net/rose/rose_route.c | 3 +- net/sched/Kconfig | 29 +- net/sched/Makefile | 4 +- net/sched/act_api.c | 68 +- net/sched/cls_api.c | 29 +- net/sched/cls_fw.c | 372 +- net/sched/cls_route.c | 60 +- net/sched/cls_rsvp.c | 5 +- net/sched/cls_rsvp.h | 54 +- net/sched/cls_rsvp6.c | 5 +- net/sched/cls_tcindex.c | 56 +- net/sched/cls_u32.c | 164 +- net/sched/estimator.c | 2 +- net/sched/gact.c | 42 +- net/sched/police.c | 67 +- net/sched/sch_api.c | 138 +- net/sched/sch_atm.c | 40 +- net/sched/sch_cbq.c | 130 +- net/sched/sch_dsmark.c | 9 +- net/sched/sch_fifo.c | 28 +- net/sched/sch_generic.c | 49 +- net/sched/sch_gred.c | 29 +- net/sched/sch_hfsc.c | 107 +- net/sched/sch_htb.c | 77 +- net/sched/sch_ingress.c | 16 +- net/sched/sch_netem.c | 74 +- net/sched/sch_prio.c | 13 +- net/sched/sch_red.c | 54 +- net/sched/sch_sfq.c | 16 +- net/sched/sch_tbf.c | 20 +- net/sched/sch_teql.c | 9 +- net/sctp/associola.c | 15 +- net/sctp/endpointola.c | 2 +- net/sctp/ipv6.c | 11 +- net/sctp/outqueue.c | 25 +- net/sctp/protocol.c | 16 +- net/sctp/sm_make_chunk.c | 31 + net/sctp/sm_statefuns.c | 59 + net/sctp/socket.c | 55 +- net/sctp/transport.c | 27 +- net/sctp/ulpevent.c | 42 +- net/socket.c | 5 +- net/sunrpc/rpc_pipe.c | 6 +- net/tux/cachemiss.c | 2 +- net/tux/input.c | 3 +- net/tux/logger.c | 2 +- net/unix/af_unix.c | 13 +- net/x25/af_x25.c | 1 + net/x25/x25_dev.c | 4 +- net/x25/x25_proc.c | 7 +- net/xfrm/Kconfig | 4 - net/xfrm/xfrm_export.c | 1 - net/xfrm/xfrm_policy.c | 2 +- net/xfrm/xfrm_state.c | 2 +- net/xfrm/xfrm_user.c | 12 +- scripts/Makefile.build | 3 +- scripts/Makefile.clean | 2 +- scripts/Makefile.lib | 27 + scripts/Makefile.modinst | 5 +- scripts/Makefile.modpost | 1 + scripts/basic/docproc | Bin 13331 -> 13434 bytes scripts/basic/docproc.c | 33 +- scripts/basic/fixdep.c | 18 +- scripts/basic/split-include.c | 2 +- scripts/checkstack.pl | 3 + scripts/conmakehash.c | 2 +- scripts/kallsyms.c | 577 ++- scripts/kconfig/.conf.cmd | 2 +- scripts/kconfig/.zconf.tab.o.cmd | 3 +- scripts/kconfig/Makefile | 26 +- scripts/kconfig/conf | Bin 13640 -> 75063 bytes scripts/kconfig/conf.c | 6 +- scripts/kconfig/confdata.c | 22 +- scripts/kconfig/mconf.c | 4 +- scripts/kconfig/mconf.o | Bin 21844 -> 21836 bytes scripts/kconfig/symbol.c | 2 +- scripts/kconfig/zconf.tab.o | Bin 92972 -> 78736 bytes scripts/kernel-doc | 188 +- scripts/lxdialog/Makefile | 4 + scripts/lxdialog/dialog.h | 3 + scripts/mksysmap | 2 +- scripts/mod/file2alias.c | 19 +- scripts/mod/modpost.c | 81 +- scripts/mod/modpost.h | 10 +- scripts/mod/sumversion.c | 94 +- scripts/reference_init.pl | 3 + security/Kconfig | 40 + security/Makefile | 2 + security/capability.c | 1 + security/commoncap.c | 33 +- security/dummy.c | 8 + security/security.c | 78 +- security/selinux/hooks.c | 10 +- security/selinux/selinuxfs.c | 17 +- sound/Kconfig | 2 +- sound/arm/Kconfig | 9 +- sound/core/Kconfig | 75 +- sound/core/control.c | 62 +- sound/core/info.c | 7 +- sound/core/init.c | 7 +- sound/core/ioctl32/hwdep32.c | 34 +- sound/core/ioctl32/ioctl32.c | 318 +- sound/core/ioctl32/ioctl32.h | 91 +- sound/core/ioctl32/pcm32.c | 340 +- sound/core/ioctl32/rawmidi32.c | 16 +- sound/core/ioctl32/seq32.c | 6 +- sound/core/ioctl32/timer32.c | 10 +- sound/core/memalloc.c | 9 +- sound/core/memory.c | 8 +- sound/core/oss/pcm_oss.c | 17 +- sound/core/pcm.c | 3 +- sound/core/pcm_lib.c | 3 +- sound/core/pcm_misc.c | 11 +- sound/core/pcm_native.c | 644 +-- sound/core/rawmidi.c | 5 +- sound/core/seq/oss/seq_oss.c | 14 +- sound/core/seq/seq.c | 21 +- sound/core/seq/seq_clientmgr.c | 5 +- sound/core/seq/seq_device.c | 32 +- sound/core/seq/seq_dummy.c | 6 +- sound/core/seq/seq_midi.c | 4 +- sound/core/sound.c | 4 + sound/drivers/Kconfig | 48 +- sound/drivers/dummy.c | 15 +- sound/drivers/mpu401/mpu401.c | 13 +- sound/drivers/mpu401/mpu401_uart.c | 4 +- sound/drivers/opl3/Makefile | 1 + sound/drivers/opl3/opl3_lib.c | 138 +- sound/drivers/serial-u16550.c | 23 +- sound/drivers/virmidi.c | 9 +- sound/drivers/vx/vx_core.c | 2 +- sound/isa/Kconfig | 189 +- sound/isa/ad1816a/ad1816a.c | 21 +- sound/isa/ad1848/ad1848.c | 15 +- sound/isa/als100.c | 21 +- sound/isa/azt2320.c | 23 +- sound/isa/cmi8330.c | 23 +- sound/isa/cs423x/cs4231.c | 19 +- sound/isa/cs423x/cs4236.c | 27 +- sound/isa/dt019x.c | 19 +- sound/isa/es1688/es1688.c | 17 +- sound/isa/es18xx.c | 26 +- sound/isa/gus/gusclassic.c | 21 +- sound/isa/gus/gusextreme.c | 29 +- sound/isa/gus/gusmax.c | 21 +- sound/isa/gus/interwave.c | 27 +- sound/isa/opl3sa2.c | 29 +- sound/isa/sb/es968.c | 13 +- sound/isa/sb/sb16.c | 29 +- sound/isa/sb/sb8.c | 13 +- sound/isa/sgalaxy.c | 15 +- sound/isa/sscape.c | 13 +- sound/isa/wavefront/wavefront.c | 29 +- sound/oss/ad1889.c | 45 +- sound/oss/ad1889.h | 2 +- sound/oss/ali5455.c | 17 +- sound/oss/au1000.c | 5 +- sound/oss/btaudio.c | 2 +- sound/oss/cmpci.c | 6 +- sound/oss/cs4281/cs4281m.c | 14 +- sound/oss/cs46xx.c | 21 +- sound/oss/dmabuf.c | 2 +- sound/oss/dmasound/dmasound_awacs.c | 35 +- sound/oss/es1370.c | 10 +- sound/oss/es1371.c | 14 +- sound/oss/esssolo1.c | 12 +- sound/oss/forte.c | 10 +- sound/oss/i810_audio.c | 24 +- sound/oss/ite8172.c | 5 +- sound/oss/kahlua.c | 2 +- sound/oss/maestro.c | 6 +- sound/oss/maestro3.c | 7 +- sound/oss/msnd.c | 80 +- sound/oss/msnd.h | 14 +- sound/oss/msnd_pinnacle.c | 168 +- sound/oss/nm256.h | 10 +- sound/oss/nm256_audio.c | 2 +- sound/oss/rme96xx.c | 6 +- sound/oss/sonicvibes.c | 6 +- sound/oss/soundcard.c | 8 +- sound/oss/trident.c | 11 +- sound/oss/via82cxxx_audio.c | 8 +- sound/oss/ymfpci.c | 5 +- sound/oss/ymfpci.h | 2 +- sound/parisc/Kconfig | 9 +- sound/parisc/harmony.c | 22 +- sound/pci/Kconfig | 280 +- sound/pci/ac97/Makefile | 7 +- sound/pci/ac97/ac97_codec.c | 127 +- sound/pci/ac97/ac97_id.h | 3 + sound/pci/ac97/ac97_local.h | 7 + sound/pci/ac97/ac97_patch.c | 157 +- sound/pci/ac97/ac97_patch.h | 1 + sound/pci/ac97/ac97_pcm.c | 158 +- sound/pci/ac97/ac97_proc.c | 6 +- sound/pci/ali5451/ali5451.c | 18 +- sound/pci/als4000.c | 16 +- sound/pci/atiixp.c | 26 +- sound/pci/atiixp_modem.c | 18 +- sound/pci/au88x0/au88x0.c | 13 +- sound/pci/au88x0/au88x0.h | 2 +- sound/pci/au88x0/au88x0_core.c | 28 +- sound/pci/au88x0/au88x0_eq.c | 76 +- sound/pci/au88x0/au88x0_pcm.c | 9 + sound/pci/azt3328.c | 24 +- sound/pci/bt87x.c | 39 +- sound/pci/cmipci.c | 53 +- sound/pci/cs4281.c | 70 +- sound/pci/cs46xx/cs46xx.c | 13 +- sound/pci/cs46xx/cs46xx_lib.c | 157 +- sound/pci/cs46xx/dsp_spos.c | 14 +- sound/pci/cs46xx/dsp_spos_scb_lib.c | 4 +- sound/pci/emu10k1/emu10k1.c | 19 +- sound/pci/emu10k1/emu10k1_main.c | 7 +- sound/pci/emu10k1/emufx.c | 42 +- sound/pci/emu10k1/emupcm.c | 11 +- sound/pci/emu10k1/emuproc.c | 30 +- sound/pci/ens1370.c | 57 +- sound/pci/es1938.c | 15 +- sound/pci/es1968.c | 97 +- sound/pci/fm801.c | 30 +- sound/pci/ice1712/Makefile | 2 +- sound/pci/ice1712/aureon.c | 762 ++- sound/pci/ice1712/aureon.h | 5 + sound/pci/ice1712/delta.c | 13 + sound/pci/ice1712/delta.h | 4 +- sound/pci/ice1712/ews.c | 59 +- sound/pci/ice1712/hoontech.c | 164 +- sound/pci/ice1712/ice1712.c | 78 +- sound/pci/ice1712/ice1712.h | 24 +- sound/pci/ice1712/ice1724.c | 18 +- sound/pci/intel8x0.c | 343 +- sound/pci/intel8x0m.c | 57 +- sound/pci/korg1212/korg1212.c | 166 +- sound/pci/maestro3.c | 53 +- sound/pci/mixart/mixart.c | 20 +- sound/pci/mixart/mixart.h | 2 +- sound/pci/nm256/nm256.c | 121 +- sound/pci/rme32.c | 44 +- sound/pci/rme96.c | 22 +- sound/pci/rme9652/hdsp.c | 262 +- sound/pci/rme9652/rme9652.c | 20 +- sound/pci/sonicvibes.c | 21 +- sound/pci/trident/trident.c | 11 +- sound/pci/trident/trident_main.c | 20 +- sound/pci/via82xx.c | 55 +- sound/pci/vx222/vx222.c | 20 +- sound/pci/ymfpci/ymfpci.c | 15 +- sound/pci/ymfpci/ymfpci_main.c | 14 +- sound/pcmcia/Kconfig | 18 +- sound/pcmcia/pdaudiocf/pdaudiocf.c | 9 +- sound/pcmcia/vx/vxpocket.c | 11 +- sound/ppc/Kconfig | 5 + sound/ppc/daca.c | 24 +- sound/ppc/pmac.c | 40 +- sound/ppc/pmac.h | 12 +- sound/ppc/tumbler.c | 47 +- sound/sparc/amd7930.c | 7 +- sound/sparc/cs4231.c | 11 +- sound/usb/Kconfig | 13 +- sound/usb/usbaudio.c | 120 +- sound/usb/usbaudio.h | 5 +- sound/usb/usbmidi.c | 6 +- sound/usb/usbmixer_maps.c | 9 + sound/usb/usbquirks.h | 67 +- sound/usb/usx2y/usbusx2y.c | 17 +- sound/usb/usx2y/usbusx2yaudio.c | 36 +- usr/Makefile | 18 +- usr/gen_init_cpio.c | 242 +- 4481 files changed, 140749 insertions(+), 111031 deletions(-) diff --git a/.config b/.config index 5df4b4b69..dcb618288 100644 --- a/.config +++ b/.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.9-ac11 -# Tue Jan 4 10:01:15 2005 +# Linux kernel version: 2.6.10-ac11 +# Thu Feb 3 14:51:25 2005 # CONFIG_X86=y CONFIG_MMU=y @@ -30,6 +30,7 @@ CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_HOTPLUG=y +CONFIG_KOBJECT_UEVENT=y # CONFIG_IKCONFIG is not set # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y @@ -37,12 +38,12 @@ CONFIG_KALLSYMS=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_FUTEX=y CONFIG_EPOLL=y -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_AS=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_CFQ=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SHMEM=y +CONFIG_CC_ALIGN_FUNCTIONS=0 +CONFIG_CC_ALIGN_LABELS=0 +CONFIG_CC_ALIGN_LOOPS=0 +CONFIG_CC_ALIGN_JUMPS=0 # CONFIG_TINY_SHMEM is not set # @@ -53,6 +54,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_OBSOLETE_MODPARM=y CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SIG_FORCE is not set CONFIG_KMOD=y @@ -83,11 +85,13 @@ CONFIG_M686=y # CONFIG_MK7 is not set # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set +CONFIG_X86_HZ=1000 CONFIG_X86_GENERIC=y CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y @@ -102,10 +106,9 @@ CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_HPET_TIMER=y -CONFIG_HPET_EMULATE_RTC=y +# CONFIG_HPET_EMULATE_RTC is not set # CONFIG_SMP is not set # CONFIG_PREEMPT is not set -CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_X86_UP_APIC is not set CONFIG_X86_TSC=y CONFIG_X86_MCE=y @@ -129,7 +132,6 @@ CONFIG_HIGHPTE=y CONFIG_MTRR=y # CONFIG_EFI is not set CONFIG_REGPARM=y -CONFIG_KEXEC=y # # Power management options (ACPI, APM) @@ -149,10 +151,12 @@ CONFIG_ACPI_SLEEP_PROC_FS=y CONFIG_ACPI_AC=m CONFIG_ACPI_BATTERY=m CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_ASUS=m +CONFIG_ACPI_IBM=m CONFIG_ACPI_TOSHIBA=m CONFIG_ACPI_BLACKLIST_YEAR=2001 # CONFIG_ACPI_DEBUG is not set @@ -179,21 +183,21 @@ CONFIG_APM_RTC_IS_GMT=y # CPU Frequency scaling # CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEBUG=y # CONFIG_CPU_FREQ_PROC_INTF is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=m # CONFIG_CPU_FREQ_24_API is not set +CONFIG_CPU_FREQ_GOV_ONDEMAND=m CONFIG_CPU_FREQ_TABLE=y # # CPUFreq processor drivers # CONFIG_X86_ACPI_CPUFREQ=m -# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set CONFIG_X86_POWERNOW_K6=m CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K7_ACPI=y @@ -201,15 +205,21 @@ CONFIG_X86_POWERNOW_K8=m CONFIG_X86_POWERNOW_K8_ACPI=y # CONFIG_X86_GX_SUSPMOD is not set CONFIG_X86_SPEEDSTEP_CENTRINO=y -CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y +CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y CONFIG_X86_SPEEDSTEP_ICH=y CONFIG_X86_SPEEDSTEP_SMI=m CONFIG_X86_P4_CLOCKMOD=m +# CONFIG_X86_CPUFREQ_NFORCE2 is not set +CONFIG_X86_LONGRUN=y +# CONFIG_X86_LONGHAUL is not set + +# +# shared options +# +# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set CONFIG_X86_SPEEDSTEP_LIB=y # CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set -CONFIG_X86_LONGRUN=y -CONFIG_X86_LONGHAUL=y # # Bus options (PCI, PCMCIA, EISA, MCA, ISA) @@ -230,12 +240,18 @@ CONFIG_ISA=y # CONFIG_SCx200 is not set # -# PCMCIA/CardBus support +# PCCARD (PCMCIA/CardBus) support # -CONFIG_PCMCIA=m +CONFIG_PCCARD=m # CONFIG_PCMCIA_DEBUG is not set -CONFIG_YENTA=m +# CONFIG_PCMCIA_OBSOLETE is not set +CONFIG_PCMCIA=m CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m CONFIG_PD6729=m CONFIG_I82092=m CONFIG_I82365=m @@ -333,6 +349,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y # CONFIG_MTD_PNC2000 is not set CONFIG_MTD_SC520CDP=m CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m CONFIG_MTD_SBC_GXX=m CONFIG_MTD_ELAN_104NC=m CONFIG_MTD_SCx200_DOCFLASH=m @@ -400,13 +417,44 @@ CONFIG_PNP=y # CONFIG_ISAPNP=y # CONFIG_PNPBIOS is not set +CONFIG_PNPACPI=y # # Block devices # CONFIG_BLK_DEV_FD=m # CONFIG_BLK_DEV_XD is not set -# CONFIG_PARIDE is not set +CONFIG_PARIDE=m +CONFIG_PARIDE_PARPORT=m + +# +# Parallel IDE high-level drivers +# +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PT=m +CONFIG_PARIDE_PG=m + +# +# Parallel IDE protocol modules +# +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_BPCK6=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_EPAT=m +CONFIG_PARIDE_EPATC8=y +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y @@ -418,9 +466,23 @@ CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" CONFIG_LBD=y +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_DISKDUMP=m + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y # # ATA/ATAPI/MFM/RLL support @@ -442,13 +504,13 @@ CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDEFLOPPY=y CONFIG_BLK_DEV_IDESCSI=m # CONFIG_IDE_TASK_IOCTL is not set -# CONFIG_IDE_TASKFILE_IO is not set # # IDE chipset support/bugfixes # CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_CMD640 is not set +CONFIG_BLK_DEV_CMD640=y +CONFIG_BLK_DEV_CMD640_ENHANCED=y CONFIG_BLK_DEV_IDEPNP=y CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDEPCI_SHARE_IRQ=y @@ -475,7 +537,7 @@ CONFIG_BLK_DEV_HPT34X=y CONFIG_BLK_DEV_HPT366=y # CONFIG_BLK_DEV_SC1200 is not set CONFIG_BLK_DEV_PIIX=y -CONFIG_BLK_DEV_IT8212=y +CONFIG_BLK_DEV_IT821X=m # CONFIG_BLK_DEV_NS87415 is not set CONFIG_BLK_DEV_PDC202XX_OLD=y # CONFIG_PDC202XX_BURST is not set @@ -548,6 +610,7 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000 CONFIG_AIC79XX_DEBUG_MASK=0 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set # CONFIG_SCSI_DPT_I2O is not set +CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_IN2000=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=m @@ -562,6 +625,7 @@ CONFIG_SCSI_SATA_PROMISE=m CONFIG_SCSI_SATA_SX4=m CONFIG_SCSI_SATA_SIL=m CONFIG_SCSI_SATA_SIS=m +CONFIG_SCSI_SATA_ULI=m CONFIG_SCSI_SATA_VIA=m CONFIG_SCSI_SATA_VITESSE=m CONFIG_SCSI_BUSLOGIC=m @@ -570,7 +634,6 @@ CONFIG_SCSI_BUSLOGIC=m # CONFIG_SCSI_DTC3280 is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA_PIO is not set -CONFIG_SCSI_LPFC=m CONFIG_SCSI_FUTURE_DOMAIN=m CONFIG_SCSI_GDTH=m # CONFIG_SCSI_GENERIC_NCR5380 is not set @@ -595,6 +658,7 @@ CONFIG_SCSI_QLOGIC_FAS=m CONFIG_SCSI_QLOGIC_ISP=m # CONFIG_SCSI_QLOGIC_FC is not set CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLOGIC_1280_1040=y CONFIG_SCSI_QLA2XXX=m CONFIG_SCSI_QLA21XX=m CONFIG_SCSI_QLA22XX=m @@ -637,6 +701,7 @@ CONFIG_MD_RAID10=m CONFIG_MD_RAID5=m CONFIG_MD_RAID6=m CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m @@ -724,6 +789,8 @@ CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m CONFIG_INET_TUNNEL=m +CONFIG_IP_TCPDIAG=m +CONFIG_IP_TCPDIAG_IPV6=y # # IP: Virtual Server Configuration @@ -774,6 +841,7 @@ CONFIG_BRIDGE_NETFILTER=y # CONFIG_IP_NF_CONNTRACK=m CONFIG_IP_NF_CT_ACCT=y +CONFIG_IP_NF_CONNTRACK_MARK=y CONFIG_IP_NF_CT_PROTO_SCTP=m CONFIG_IP_NF_FTP=m CONFIG_IP_NF_IRC=m @@ -804,6 +872,8 @@ CONFIG_IP_NF_MATCH_ADDRTYPE=m CONFIG_IP_NF_MATCH_REALM=m CONFIG_IP_NF_MATCH_SCTP=m CONFIG_IP_NF_MATCH_COMMENT=m +CONFIG_IP_NF_MATCH_CONNMARK=m +CONFIG_IP_NF_MATCH_HASHLIMIT=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_LOG=m @@ -827,6 +897,8 @@ CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_DSCP=m CONFIG_IP_NF_TARGET_MARK=m CONFIG_IP_NF_TARGET_CLASSIFY=m +CONFIG_IP_NF_TARGET_CONNMARK=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_TARGET_NOTRACK=m CONFIG_IP_NF_ARPTABLES=m @@ -1023,12 +1095,12 @@ CONFIG_IRPORT_SIR=m CONFIG_USB_IRDA=m CONFIG_SIGMATEL_FIR=m CONFIG_NSC_FIR=m -# CONFIG_WINBOND_FIR is not set -# CONFIG_TOSHIBA_FIR is not set -# CONFIG_SMC_IRCC_FIR is not set -# CONFIG_ALI_FIR is not set -# CONFIG_VLSI_FIR is not set -# CONFIG_VIA_FIR is not set +CONFIG_WINBOND_FIR=m +CONFIG_TOSHIBA_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m @@ -1062,7 +1134,7 @@ CONFIG_TUX=m # TUX options # CONFIG_TUX_EXTCGI=y -# CONFIG_TUX_EXTENDED_LOG is not set +CONFIG_TUX_EXTENDED_LOG=y # CONFIG_TUX_DEBUG is not set CONFIG_NETDEVICES=y CONFIG_DUMMY=m @@ -1330,6 +1402,7 @@ CONFIG_SLIP_SMART=y CONFIG_NET_FC=y # CONFIG_SHAPER is not set CONFIG_NETCONSOLE=m +CONFIG_NETDUMP=m # # ISDN subsystem @@ -1352,6 +1425,7 @@ CONFIG_ISDN_TTY_FAX=y # ISDN feature submodules # CONFIG_ISDN_DRV_LOOP=m +CONFIG_ISDN_DIVERSION=m # # ISDN4Linux hardware drivers @@ -1505,7 +1579,7 @@ CONFIG_GAMEPORT_L4=m CONFIG_GAMEPORT_EMU10K1=m CONFIG_GAMEPORT_VORTEX=m CONFIG_GAMEPORT_FM801=m -CONFIG_GAMEPORT_CS461x=m +CONFIG_GAMEPORT_CS461X=m CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y @@ -1712,8 +1786,10 @@ CONFIG_DRM_SIS=m # CONFIG_SYNCLINK_CS=m CONFIG_MWAVE=m -CONFIG_RAW_DRIVER=m -# CONFIG_HPET is not set +CONFIG_RAW_DRIVER=y +CONFIG_HPET=y +# CONFIG_HPET_RTC_IRQ is not set +# CONFIG_HPET_MMAP is not set CONFIG_MAX_RAW_DEVS=8192 CONFIG_HANGCHECK_TIMER=m @@ -1737,6 +1813,7 @@ CONFIG_I2C_ALI1535=m CONFIG_I2C_ALI1563=m CONFIG_I2C_ALI15X3=m CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m # CONFIG_I2C_ELEKTOR is not set CONFIG_I2C_I801=m @@ -1752,6 +1829,7 @@ CONFIG_I2C_SAVAGE4=m CONFIG_I2C_SIS5595=m CONFIG_I2C_SIS630=m CONFIG_I2C_SIS96X=m +CONFIG_I2C_STUB=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m CONFIG_I2C_VOODOO3=m @@ -1763,20 +1841,24 @@ CONFIG_I2C_PCA_ISA=m CONFIG_I2C_SENSOR=m CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_FSCHER=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_W83781D=m @@ -1798,7 +1880,12 @@ CONFIG_SENSORS_RTC8564=m # # Dallas's 1-wire bus # -# CONFIG_W1 is not set +CONFIG_W1=m +CONFIG_W1_MATROX=m +CONFIG_W1_DS9490=m +CONFIG_W1_DS9490_BRIDGE=m +CONFIG_W1_THERM=m +CONFIG_W1_SMEM=m # # Misc devices @@ -1869,24 +1956,6 @@ CONFIG_RADIO_ZOLTRIX=m CONFIG_DVB=y CONFIG_DVB_CORE=m -# -# Supported Frontend Modules -# -CONFIG_DVB_TWINHAN_DST=m -CONFIG_DVB_STV0299=m -# CONFIG_DVB_SP887X is not set -# CONFIG_DVB_ALPS_TDLB7 is not set -CONFIG_DVB_ALPS_TDMB7=m -CONFIG_DVB_ATMEL_AT76C651=m -CONFIG_DVB_CX24110=m -CONFIG_DVB_GRUNDIG_29504_491=m -CONFIG_DVB_GRUNDIG_29504_401=m -CONFIG_DVB_MT312=m -CONFIG_DVB_VES1820=m -CONFIG_DVB_VES1X93=m -# CONFIG_DVB_TDA1004X is not set -CONFIG_DVB_NXT6000=m - # # Supported SAA7146 based PCI Adapters # @@ -1902,16 +1971,67 @@ CONFIG_DVB_BUDGET_PATCH=m # CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m +CONFIG_DVB_DIBUSB=m +CONFIG_DVB_DIBUSB_MISDESIGNED_DEVICES=y +# CONFIG_DVB_DIBCOM_DEBUG is not set +CONFIG_DVB_CINERGYT2=m +CONFIG_DVB_CINERGYT2_TUNING=y +CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32 +CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512 +CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250 +CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y +CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=100 # # Supported FlexCopII (B2C2) Adapters # CONFIG_DVB_B2C2_SKYSTAR=m +CONFIG_DVB_B2C2_USB=m # # Supported BT878 Adapters # CONFIG_DVB_BT8XX=m + +# +# Supported DVB Frontends +# + +# +# Customise DVB Frontends +# + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_STV0299=m +CONFIG_DVB_CX24110=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA80XX=m +CONFIG_DVB_MT312=m +CONFIG_DVB_VES1X93=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_L64781=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_ATMEL_AT76C651=m +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_STV0297=m CONFIG_VIDEO_SAA7146=m CONFIG_VIDEO_SAA7146_VV=m CONFIG_VIDEO_VIDEOBUF=m @@ -1925,6 +2045,7 @@ CONFIG_VIDEO_IR=m # CONFIG_FB=y CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y CONFIG_FB_CIRRUS=m # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set @@ -1940,6 +2061,8 @@ CONFIG_FB_RIVA=m # CONFIG_FB_RIVA_DEBUG is not set CONFIG_FB_I810=m CONFIG_FB_I810_GTF=y +CONFIG_FB_INTEL=m +# CONFIG_FB_INTEL_DEBUG is not set CONFIG_FB_MATROX=m CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y @@ -1955,8 +2078,12 @@ CONFIG_FB_RADEON_I2C=y CONFIG_FB_ATY128=m CONFIG_FB_ATY=m CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GX=y +CONFIG_FB_ATY_GENERIC_LCD=y # CONFIG_FB_ATY_XL_INIT is not set +CONFIG_FB_ATY_GX=y +CONFIG_FB_SAVAGE=m +CONFIG_FB_SAVAGE_I2C=m +CONFIG_FB_SAVAGE_ACCEL=m # CONFIG_FB_SIS is not set CONFIG_FB_NEOMAGIC=m CONFIG_FB_KYRO=m @@ -2067,6 +2194,7 @@ CONFIG_SND_AU8820=m CONFIG_SND_AU8830=m CONFIG_SND_AZT3328=m CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS4281=m @@ -2098,7 +2226,7 @@ CONFIG_SND_VIA82XX=m CONFIG_SND_VX222=m # -# ALSA USB devices +# USB devices # CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_USX2Y=m @@ -2129,6 +2257,8 @@ CONFIG_USB_DEVICEFS=y # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_SUSPEND is not set # CONFIG_USB_OTG is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y # # USB Host Controller Drivers @@ -2138,6 +2268,7 @@ CONFIG_USB_EHCI_SPLIT_ISO=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_OHCI_HCD=m CONFIG_USB_UHCI_HCD=m +CONFIG_USB_SL811_HCD=m # # USB Device Class drivers @@ -2150,6 +2281,10 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_MIDI=m CONFIG_USB_ACM=m CONFIG_USB_PRINTER=m + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information +# CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_RW_DETECT=y @@ -2163,7 +2298,7 @@ CONFIG_USB_STORAGE_SDDR55=y CONFIG_USB_STORAGE_JUMPSHOT=y # -# USB Human Interface Devices (HID) +# USB Input Devices # CONFIG_USB_HID=y CONFIG_USB_HIDINPUT=y @@ -2204,7 +2339,7 @@ CONFIG_USB_W9968CF=m CONFIG_USB_PWC=m # -# USB Network adaptors +# USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m @@ -2221,6 +2356,7 @@ CONFIG_USB_BELKIN=y CONFIG_USB_GENESYS=y CONFIG_USB_NET1080=y CONFIG_USB_PL2301=y +CONFIG_USB_KC2190=y # # Intelligent USB Devices/Gadgets @@ -2248,6 +2384,7 @@ CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_WHITEHEAT=m CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_VISOR=m @@ -2255,6 +2392,7 @@ CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m CONFIG_USB_SERIAL_EDGEPORT=m CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KEYSPAN=m CONFIG_USB_SERIAL_KEYSPAN_MPR=y @@ -2292,6 +2430,7 @@ CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=m CONFIG_USB_LED=m # CONFIG_USB_CYTHERM is not set +CONFIG_USB_PHIDGETKIT=m CONFIG_USB_PHIDGETSERVO=m CONFIG_USB_TEST=m @@ -2306,6 +2445,14 @@ CONFIG_USB_SPEEDTOUCH=m # # CONFIG_USB_GADGET is not set +# +# MMC/SD Card support +# +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=m +CONFIG_MMC_WBSD=m + # # File systems # @@ -2342,6 +2489,7 @@ CONFIG_QUOTA=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y +CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=m CONFIG_AUTOFS4_FS=m @@ -2433,6 +2581,7 @@ CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_EXPERIMENTAL is not set CONFIG_NCP_FS=m CONFIG_NCPFS_PACKET_SIGNING=y CONFIG_NCPFS_IOCTL_LOCKING=y @@ -2520,26 +2669,31 @@ CONFIG_OPROFILE=m # CONFIG_DEBUG_KERNEL=y CONFIG_MAGIC_SYSRQ=y +# CONFIG_SCHEDSTATS is not set # CONFIG_DEBUG_SLAB is not set CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_HIGHMEM=y CONFIG_DEBUG_INFO=y # CONFIG_FRAME_POINTER is not set CONFIG_EARLY_PRINTK=y CONFIG_DEBUG_STACKOVERFLOW=y -# CONFIG_KPROBES is not set +CONFIG_KPROBES=y CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_SCHEDSTATS is not set +CONFIG_4KSTACKS=y # # Security options # +CONFIG_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_CAPABILITIES=y # CONFIG_SECURITY_ROOTPLUG is not set +# CONFIG_SECURITY_SECLVL is not set CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 @@ -2570,6 +2724,7 @@ CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_MICHAEL_MIC=m CONFIG_CRYPTO_CRC32C=m @@ -2586,5 +2741,7 @@ CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=m +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_IRQ_PROBE=y CONFIG_X86_BIOS_REBOOT=y CONFIG_PC=y diff --git a/.config.cmd b/.config.cmd index ad69e17a1..97fcd5b2a 100644 --- a/.config.cmd +++ b/.config.cmd @@ -10,6 +10,7 @@ deps_config := \ fs/partitions/Kconfig \ fs/ncpfs/Kconfig \ fs/Kconfig \ + drivers/mmc/Kconfig \ drivers/usb/gadget/Kconfig \ drivers/usb/atm/Kconfig \ drivers/usb/misc/Kconfig \ @@ -40,12 +41,14 @@ deps_config := \ drivers/video/console/Kconfig \ drivers/video/Kconfig \ drivers/media/common/Kconfig \ + drivers/media/dvb/frontends/Kconfig \ drivers/media/dvb/bt8xx/Kconfig \ drivers/media/dvb/b2c2/Kconfig \ + drivers/media/dvb/cinergyT2/Kconfig \ + drivers/media/dvb/dibusb/Kconfig \ drivers/media/dvb/ttusb-dec/Kconfig \ drivers/media/dvb/ttusb-budget/Kconfig \ drivers/media/dvb/ttpci/Kconfig \ - drivers/media/dvb/frontends/Kconfig \ drivers/media/dvb/dvb-core/Kconfig \ drivers/media/dvb/Kconfig \ drivers/media/radio/Kconfig \ @@ -142,9 +145,11 @@ deps_config := \ drivers/scsi/aic7xxx/Kconfig.aic7xxx \ drivers/scsi/Kconfig \ drivers/ide/Kconfig \ + drivers/block/Kconfig.iosched \ drivers/s390/block/Kconfig \ drivers/block/paride/Kconfig \ drivers/block/Kconfig \ + drivers/pnp/pnpacpi/Kconfig \ drivers/pnp/pnpbios/Kconfig \ drivers/pnp/isapnp/Kconfig \ drivers/pnp/Kconfig \ @@ -167,7 +172,6 @@ deps_config := \ drivers/acpi/Kconfig \ kernel/power/Kconfig \ drivers/firmware/Kconfig \ - drivers/block/Kconfig.iosched \ init/Kconfig \ arch/i386/Kconfig diff --git a/.config.old b/.config.old index 60803b7d4..f11b8f03e 100644 --- a/.config.old +++ b/.config.old @@ -33,8 +33,8 @@ CONFIG_EPOLL=y CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y # CONFIG_PREEMPT is not set -CONFIG_PREEMPT_VOLUNTARY=y CONFIG_POSIX_MQUEUE=y # @@ -45,6 +45,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_OBSOLETE_MODPARM=y CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_KMOD=y CONFIG_MODULE_SIG=y # CONFIG_MODULE_SIG_FORCE is not set @@ -61,11 +62,14 @@ CONFIG_ISA=y # CONFIG_MCA is not set # CONFIG_SCx200 is not set CONFIG_HOTPLUG=y +CONFIG_KOBJECT_UEVENT=y +# CONFIG_DEBUG_KOBJECT is not set # # PCMCIA/CardBus support # CONFIG_PCMCIA=m +# CONFIG_PCMCIA_OBSOLETE is not set # CONFIG_PCMCIA_DEBUG is not set CONFIG_YENTA=y CONFIG_CARDBUS=y @@ -75,6 +79,12 @@ CONFIG_PD6729=m CONFIG_TCIC=m CONFIG_PCMCIA_PROBE=y +CONFIG_PCCARD=m +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_WBSD=y + # # Executable file formats # @@ -144,6 +154,7 @@ CONFIG_MTD_SCB2_FLASH=m # CONFIG_MTD_DILNETPC is not set # CONFIG_MTD_L440GX is not set CONFIG_MTD_PCI=m +CONFIG_MTD_TS5500=m # # Self-contained MTD device drivers @@ -207,13 +218,35 @@ CONFIG_PNP=y # CONFIG_ISAPNP=y # CONFIG_PNPBIOS is not set +# CONFIG_ACPI_CONTAINER is not set # # Block devices # CONFIG_BLK_DEV_FD=m # CONFIG_BLK_DEV_XD is not set -# CONFIG_PARIDE is not set +CONFIG_PARIDE=m +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PT=m +CONFIG_PARIDE_PG=m +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_BPCK6=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_EPAT=m +CONFIG_PARIDE_EPATC8=y +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y @@ -223,11 +256,10 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_ATIIXP=y -CONFIG_BLK_DEV_DELKIN=y -CONFIG_BLK_DEV_IT8212=y CONFIG_LBD=y # CONFIG_DCSSBLK is not set @@ -253,14 +285,13 @@ CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDEFLOPPY=y CONFIG_BLK_DEV_IDESCSI=m # CONFIG_IDE_TASK_IOCTL is not set -# CONFIG_IDE_TASKFILE_IO is not set # CONFIG_BLK_DEV_IDE_SATA is not set # # IDE chipset support/bugfixes # -# CONFIG_BLK_DEV_CMD640 is not set -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set +CONFIG_BLK_DEV_CMD640=y +CONFIG_BLK_DEV_CMD640_ENHANCED=y CONFIG_BLK_DEV_IDEPNP=y CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDEPCI_SHARE_IRQ=y @@ -324,8 +355,9 @@ CONFIG_CHR_DEV_SG=m # CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SPI_ATTRS=y -CONFIG_SCSI_FC_ATTRS=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_ISCSI_ATTRS=m # # SCSI low-level drivers @@ -372,6 +404,7 @@ CONFIG_SCSI_SATA_SIS=m CONFIG_SCSI_SATA_SX4=m CONFIG_SCSI_SATA_NV=m CONFIG_SCSI_SATA_AHCI=m +CONFIG_SCSI_SATA_ULI=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_INITIO=m @@ -404,6 +437,7 @@ CONFIG_SCSI_QLOGIC_ISP=m # CONFIG_SCSI_QLOGIC_FC is not set # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLOGIC_1280_1040=y # CONFIG_SCSI_SYM53C416 is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_T128 is not set @@ -422,8 +456,6 @@ CONFIG_SCSI_QLA6322=m # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_DPT_I2O is not set -CONFIG_SCSI_LPFC=m - # # PCMCIA SCSI adapter support # @@ -451,6 +483,7 @@ CONFIG_MD_RAID5=m CONFIG_MD_RAID6=m CONFIG_MD_RAID10=m CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_MIRROR=m @@ -493,7 +526,8 @@ CONFIG_IEEE1394_DV1394=m CONFIG_IEEE1394_RAWIO=m CONFIG_IEEE1394_CMP=m CONFIG_IEEE1394_AMDTP=m -# CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set +CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y +CONFIG_IEEE1394_CONFIG_ROM_IP1394=y # # I2O device support @@ -577,6 +611,10 @@ CONFIG_BRIDGE_NETFILTER=y # IP: Netfilter Configuration # CONFIG_IP_NF_CONNTRACK=m +CONFIG_IP_NF_CONNTRACK_MARK=y +CONFIG_IP_NF_MATCH_CONNMARK=m +CONFIG_IP_NF_TARGET_CONNMARK=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_FTP=m CONFIG_IP_NF_IRC=m CONFIG_IP_NF_TFTP=m @@ -636,6 +674,9 @@ CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m CONFIG_IP_NF_CT_ACCT=y CONFIG_IP_NF_CT_PROTO_SCTP=m +CONFIG_IP_TCPDIAG=m +CONFIG_IP_NF_MATCH_HASHLIMIT=m + # CONFIG_IP_NF_COMPAT_IPCHAINS is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set @@ -687,6 +728,7 @@ CONFIG_BRIDGE_EBT_MARK_T=m CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_ULOG=m CONFIG_XFRM=y CONFIG_XFRM_USER=y @@ -719,7 +761,6 @@ CONFIG_IPDDP_DECAP=y CONFIG_NET_DIVERT=y # CONFIG_ECONET is not set CONFIG_WAN_ROUTER=m -# CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing @@ -745,6 +786,7 @@ CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_POLICE=y @@ -922,6 +964,7 @@ CONFIG_HAMACHI=m CONFIG_YELLOWFIN=m CONFIG_R8169=m CONFIG_R8169_NAPI=y +CONFIG_R8169_VLAN=y CONFIG_SK98LIN=m CONFIG_TIGON3=m @@ -932,6 +975,7 @@ CONFIG_IXGB=m CONFIG_IXGB_NAPI=y CONFIG_S2IO=m CONFIG_S2IO_NAPI=y +# CONFIG_2BUFF_MODE is not set CONFIG_FDDI=y # CONFIG_DEFXX is not set CONFIG_SKFP=m @@ -1073,14 +1117,12 @@ CONFIG_ACT200L_DONGLE=m CONFIG_USB_IRDA=m CONFIG_NSC_FIR=m CONFIG_SIGMATEL_FIR=m -# CONFIG_WINBOND_FIR is not set -# CONFIG_TOSHIBA_FIR is not set -# CONFIG_SMC_IRCC_FIR is not set -# CONFIG_ALI_FIR is not set -# CONFIG_VLSI_FIR is not set -# CONFIG_VIA_FIR is not set - - +CONFIG_WINBOND_FIR=m +CONFIG_TOSHIBA_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m # # Bluetooth support @@ -1146,6 +1188,7 @@ CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y CONFIG_ISDN_DRV_AVMB1_AVM_CS=m CONFIG_ISDN_CAPI_CAPIDRV=m +CONFIG_ISDN_DIVERSION=m CONFIG_HISAX_EURO=y CONFIG_HISAX_1TR6=y @@ -1417,8 +1460,8 @@ CONFIG_I2C_ALI1563=m # CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_ALGOPCA=m CONFIG_I2C_PCA_ISA=m - - +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_STUB=m # # I2C Hardware Sensors Chip support @@ -1449,8 +1492,17 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_PC87360=m -# CONFIG_W1 is not set +CONFIG_W1=m +CONFIG_W1_MATROX=m +CONFIG_W1_DS9490=m +CONFIG_W1_DS9490_BRIDGE=m +CONFIG_W1_THERM=m +CONFIG_W1_SMEM=m # # Mice @@ -1543,7 +1595,7 @@ CONFIG_SYNCLINK_CS=m CONFIG_MWAVE=m -CONFIG_RAW_DRIVER=m +CONFIG_RAW_DRIVER=y CONFIG_MAX_RAW_DEVS=8192 CONFIG_HANGCHECK_TIMER=m @@ -1620,16 +1672,11 @@ CONFIG_DVB_CORE=m # CONFIG_DVB_STV0299=m # CONFIG_DVB_SP887X is not set -# CONFIG_DVB_ALPS_TDLB7 is not set -CONFIG_DVB_ALPS_TDMB7=m CONFIG_DVB_ATMEL_AT76C651=m CONFIG_DVB_CX24110=m -CONFIG_DVB_GRUNDIG_29504_491=m -CONFIG_DVB_GRUNDIG_29504_401=m CONFIG_DVB_MT312=m CONFIG_DVB_VES1820=m CONFIG_DVB_VES1X93=m -CONFIG_DVB_TWINHAN_DST=m CONFIG_DVB_TTUSB_DEC=m CONFIG_DVB_BT8XX=m # CONFIG_DVB_TDA1004X is not set @@ -1655,6 +1702,24 @@ CONFIG_DVB_TTUSB_BUDGET=m # Supported FlexCopII (B2C2) Adapters # CONFIG_DVB_B2C2_SKYSTAR=m + +CONFIG_DVB_DIBUSB=m +CONFIG_DVB_CINERGYT2=m +CONFIG_DVB_B2C2_USB=m +CONFIG_DVB_TDA80XX=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIBUSB_MISDESIGNED_DEVICES=y +# CONFIG_DVB_DIBCOM_DEBUG is not set +CONFIG_DVB_CINERGYT2_TUNING=y +CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32 +CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512 +CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250 +CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y +CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=100 + CONFIG_VIDEO_SAA7146=m CONFIG_VIDEO_SAA7146_VV=m CONFIG_VIDEO_VIDEOBUF=m @@ -1710,6 +1775,13 @@ CONFIG_FB_HGA_ACCEL=y CONFIG_FB_3DFX_ACCEL=y CONFIG_FB_TRIDENT_ACCEL=y CONFIG_FB_CIRRUS=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_INTEL=m +# CONFIG_FB_INTEL_DEBUG is not set +CONFIG_FB_ATY_GENERIC_LCD=y +CONFIG_FB_SAVAGE=m +CONFIG_FB_SAVAGE_I2C=y +CONFIG_FB_SAVAGE_ACCEL=y # # Console display driver support @@ -1822,6 +1894,7 @@ CONFIG_SND_SONICVIBES=m CONFIG_SND_VIA82XX=m CONFIG_SND_VX222=m CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set CONFIG_SND_ATIIXP=m CONFIG_SND_ATIIXP_MODEM=m CONFIG_SND_AU8810=m @@ -2049,6 +2122,11 @@ CONFIG_USB_ALI_M5632=y # CONFIG_USB_CYTHERM is not set CONFIG_USB_EGALAX=m CONFIG_USB_PHIDGETSERVO=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_KC2190=y +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_PHIDGETKIT=m # # File systems @@ -2169,6 +2247,7 @@ CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_EXPERIMENTAL is not set CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_NCP_FS=m @@ -2254,20 +2333,10 @@ CONFIG_NLS_ASCII=y CONFIG_PROFILING=y CONFIG_OPROFILE=m -# -# Tux -# -CONFIG_TUX=m -CONFIG_TUX_EXTCGI=y -# CONFIG_TUX_EXTENDED_LOG is not set -# CONFIG_TUX_DEBUG is not set - - # # Kernel hacking # CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SLAB is not set CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_HIGHMEM=y @@ -2277,6 +2346,9 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_DEBUG_DRIVER is not set +# Turn off these debug options for production kernels. +# CONFIG_DEBUG_SLAB is not set + # # Security options # @@ -2291,6 +2363,7 @@ CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y # CONFIG_SECURITY_SELINUX_MLS is not set CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_SECLVL is not set CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y @@ -2323,6 +2396,7 @@ CONFIG_CRYPTO_MPILIB=y CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_ANUBIS=m # # Library routines @@ -2333,6 +2407,27 @@ CONFIG_CRC_CCITT=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=m CONFIG_PC=y + +CONFIG_INITRAMFS_SOURCE="" +CONFIG_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set + +CONFIG_BLK_DEV_DELKIN=m +CONFIG_BLK_DEV_IT821X=m +CONFIG_GAMEPORT_CS461X=m + +CONFIG_NETDUMP=m +CONFIG_DISKDUMP=m + +CONFIG_TUX=m +CONFIG_TUX_EXTCGI=y +CONFIG_TUX_EXTENDED_LOG=y +# CONFIG_TUX_DEBUG is not set + +CONFIG_RAW_DRIVER=y CONFIG_UID16=y CONFIG_X86_PC=y # CONFIG_X86_ELAN is not set @@ -2375,9 +2470,11 @@ CONFIG_X86_POPAD_OK=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y -# CONFIG_HPET is not set +CONFIG_HPET=y CONFIG_HPET_TIMER=y -CONFIG_HPET_EMULATE_RTC=y +# CONFIG_HPET_EMULATE_RTC is not set +# CONFIG_HPET_RTC_IRQ is not set +# CONFIG_HPET_MMAP is not set CONFIG_NR_CPUS=8 CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y @@ -2416,6 +2513,7 @@ CONFIG_SYNCLINKMP=m CONFIG_HP100=m CONFIG_PCMCIA_FDOMAIN=m CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_ADVANSYS=m CONFIG_CRASH=m CONFIG_CAPI_EICON=y CONFIG_I2O=m @@ -2453,6 +2551,9 @@ CONFIG_ACPI_PCI=y CONFIG_ACPI_SYSTEM=y CONFIG_ACPI_NUMA=y CONFIG_ACPI_BLACKLIST_YEAR=2001 +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_IBM=m +CONFIG_PNPACPI=y CONFIG_X86_ACPI_CPUFREQ=m # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set CONFIG_X86_POWERNOW_K6=m @@ -2464,24 +2565,28 @@ CONFIG_X86_SPEEDSTEP_ICH=y CONFIG_X86_SPEEDSTEP_SMI=m CONFIG_X86_SPEEDSTEP_LIB=y CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y +CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y # CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set CONFIG_X86_P4_CLOCKMOD=m CONFIG_X86_LONGRUN=y -CONFIG_X86_LONGHAUL=y +# CONFIG_X86_LONGHAUL is not set +# CONFIG_X86_CPUFREQ_NFORCE2 is not set CONFIG_X86_SMP=y CONFIG_X86_HT=y CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y -CONFIG_TUX=m CONFIG_NVRAM=m CONFIG_IBM_ASM=m CONFIG_CRYPTO_AES_586=m +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=y CONFIG_GENERIC_ISA_DMA=y CONFIG_SCHED_SMT=y # CONFIG_IRQBALANCE is not set # CONFIG_SOFTWARE_SUSPEND is not set # CONFIG_PM_DEBUG is not set CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEBUG=y # CONFIG_CPU_FREQ_PROC_INTF is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y @@ -2494,9 +2599,8 @@ CONFIG_CPU_FREQ_TABLE=y CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_KPROBES is not set -CONFIG_KEXEC=y -CONFIG_NETDUMP=m +CONFIG_4KSTACKS=y +CONFIG_KPROBES=y # CONFIG_SCHEDSTATS is not set CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y @@ -2527,6 +2631,8 @@ CONFIG_IPW2100=m CONFIG_IPW2100_PROMISC=y # CONFIG_IPW2100_LEGACY_FW_LOAD is not set CONFIG_IPW2200=m +CONFIG_X86_HZ=1000 +CONFIG_BLK_DEV_AMD74XX=y CONFIG_M686=y # CONFIG_NOHIGHMEM is not set # CONFIG_SMP is not set diff --git a/CREDITS b/CREDITS index 22252bdf5..c0bdfc51a 100644 --- a/CREDITS +++ b/CREDITS @@ -46,13 +46,11 @@ D: Various kernel patches S: United Kingdom N: Werner Almesberger -E: werner.almesberger@epfl.ch +E: werner@almesberger.net +W: http://www.almesberger.net/ D: dosfs, LILO, some fd features, ATM, various other hacks here and there -S: Ecole Polytechnique Federale de Lausanne -S: DSC ICA -S: INN (Ecublens) -S: CH-1015 Lausanne -S: Switzerland +S: Buenos Aires +S: Argentina N: Tim Alpaerts E: tim_alpaerts@toyota-motor-europe.com @@ -497,6 +495,14 @@ E: m@mbsks.franken.de D: REINER SCT cyberJack pinpad/e-com USB chipcard reader driver S: Germany +N: Adrian Bunk +E: bunk@stusta.de +P: 1024D/4F12B400 B29C E71E FE19 6755 5C8A 84D4 99FC EA98 4F12 B400 +D: misc kernel hacking and testing +S: Grasmeierstrasse 11 +S: 80805 Muenchen +S: Germany + N: Ray Burr E: ryb@nightmare.com D: Original author of Amiga FFS filesystem @@ -1887,7 +1893,7 @@ D: Early protocol filter for bridging code D: Bug fixes N: Paul Laufer -E: pelaufer@csupomona.edu +E: paul@laufernet.com D: Soundblaster driver fixes, ISAPnP quirk S: California, USA @@ -2764,7 +2770,7 @@ N: Luca Risolia E: luca.risolia@studio.unibo.it P: 1024D/FCE635A4 88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4 D: V4L driver for W996[87]CF JPEG USB Dual Mode Camera Chips -D: V4L2 driver for SN9C10[12] PC Camera Controllers +D: V4L2 driver for SN9C10x PC Camera Controllers S: Via Liberta' 41/A S: Osio Sotto, 24046, Bergamo S: Italy diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 008c5471f..a8c19aa34 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX @@ -20,6 +20,8 @@ Changes - list of changes that break older software packages. CodingStyle - how the boss likes the C code in the kernel to look. +DMA-API.txt + - DMA API, pci_ API & extensions for non-consistent memory machines. DMA-mapping.txt - info for PCI drivers using DMA portably across all platforms. DocBook/ @@ -30,8 +32,12 @@ IPMI.txt - info on Linux Intelligent Platform Management Interface (IPMI) Driver. IRQ-affinity.txt - how to select which CPU(s) handle which interrupt events on SMP. +ManagementStyle + - how to (attempt to) manage kernel hackers. MSI-HOWTO.txt - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ. +RCU/ + - directory with info on RCU (read-copy update). README.DAC960 - info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux. README.moxa @@ -46,8 +52,6 @@ VGA-softcursor.txt - how to change your VGA cursor from a blinking underscore. arm/ - directory with info about Linux on the ARM architecture. -as-iosched.txt - - info on anticipatory IO scheduler. basic_profiling.txt - basic instructions for those who wants to profile Linux kernel. binfmt_misc.txt @@ -60,20 +64,24 @@ cciss.txt - info, major/minor #'s for Compaq's SMART Array Controllers. cdrom/ - directory with information on the CD-ROM drivers that Linux has. +cli-sti-removal.txt + - cli()/sti() removal guide. computone.txt - info on Computone Intelliport II/Plus Multiport Serial Driver. cpqarray.txt - info on using Compaq's SMART2 Intelligent Disk Array Controllers. -cpufreq/ +cpu-freq/ - info on CPU frequency and voltage scaling. cris/ - directory with info about Linux on CRIS architecture. +crypto/ + - directory with info on the Crypto API. debugging-modules.txt - some notes on debugging modules after Linux 2.6.3. +device-mapper/ + - directory with info on Device Mapper. devices.txt - plain ASCII listing of all the nodes in /dev/ with major minor #'s. -digiboard.txt - - info on the Digiboard PC/X{i,e,eve} multiport boards. digiepca.txt - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. dnotify.txt @@ -92,6 +100,8 @@ fb/ - directory with info on the frame buffer graphics abstraction layer. filesystems/ - directory with info on the various filesystems that Linux supports. +firmware_class/ + - request_firmware() hotplug interface info. floppy.txt - notes and driver options for the floppy disk driver. ftape.txt @@ -100,10 +110,14 @@ hayes-esp.txt - info on using the Hayes ESP serial driver. highuid.txt - notes on the change from 16 bit to 32 bit user/group IDs. +hpet.txt + - High Precision Event Timer Driver for Linux. hw_random.txt - info on Linux support for random number generator in i8xx chipsets. i2c/ - directory with info about the I2C bus/protocol (2 wire, kHz speed). +i2o/ + - directory with info about the Linux I2O subsystem. i386/ - directory with info about Linux on Intel 32 bit architecture. ia64/ @@ -114,6 +128,8 @@ initrd.txt - how to use the RAM disk as an initial/temporary root filesystem. input/ - info on Linux input device support. +io_ordering.txt + - info on ordering I/O writes to memory-mapped addresses. ioctl-number.txt - how to implement and register device/driver ioctl calls. iostats.txt @@ -134,6 +150,8 @@ kernel-parameters.txt - summary listing of command line / boot prompt args for the kernel. kobject.txt - info of the kobject infrastructure of the Linux kernel. +laptop-mode.txt + - How to conserve battery power using laptop-mode. ldm.txt - a brief description of LDM (Windows Dynamic Disks). locks.txt @@ -158,8 +176,8 @@ mips/ - directory with info about Linux on MIPS architecture. mkdev.cciss - script to make /dev entries for SMART controllers (see cciss.txt). -mkdev.ida - - script to make /dev entries for Intelligent Disk Array Controllers. +mono.txt + - how to execute Mono-based .NET binaries with the help of BINFMT_MISC. moxa-smartio - info on installing/using Moxa multiport serial driver. mtrr.txt @@ -172,6 +190,8 @@ nfsroot.txt - short guide on setting up a diskless box with NFS root filesystem. nmi_watchdog.txt - info on NMI watchdog for SMP systems. +numastat.txt + - info on how to read Numa policy hit/miss statistics in sysfs. oops-tracing.txt - how to decode those nasty internal kernel error dump messages. paride.txt @@ -199,17 +219,25 @@ ramdisk.txt riscom8.txt - notes on using the RISCom/8 multi-port serial driver. rocket.txt - - info on installing/using the Comtrol RocketPort multiport serial driver. + - info on the Comtrol RocketPort multiport serial driver. rpc-cache.txt - introduction to the caching mechanisms in the sunrpc layer. rtc.txt - notes on how to use the Real Time Clock (aka CMOS clock) driver. s390/ - directory with info on using Linux on the IBM S390. +sched-coding.txt + - reference for various scheduler-related methods in the O(1) scheduler. sched-design.txt - goals, design and implementation of the Linux O(1) scheduler. +sched-domains.txt + - information on scheduling domains. +sched-stats.txt + - information on schedstats (Linux Scheduler Statistics). scsi/ - directory with info on Linux scsi support. +serial/ + - directory with info on the low level serial API. serial-console.txt - how to set up Linux with a serial line console as the default. sgi-visws.txt @@ -242,14 +270,24 @@ sysrq.txt - info on the magic SysRq key. telephony/ - directory with info on telephony (e.g. voice over IP) support. +time_interpolators.txt + - info on time interpolators. +tipar.txt + - information about Parallel link cable for Texas Instruments handhelds. +tty.txt + - guide to the locking policies of the tty layer. unicode.txt - info on the Unicode character/font mapping used in Linux. +uml/ + - directory with infomation about User Mode Linux. usb/ - directory with info regarding the Universal Serial Bus. video4linux/ - directory with info regarding video/TV/radio cards and linux. vm/ - directory with info on the Linux vm code. +voyager.txt + - guide to running Linux on the Voyager architecture. watchdog/ - how to auto-reboot Linux if it has "fallen and can't get up". ;-) x86_64/ diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt index 8787c4d09..6ee3cd613 100644 --- a/Documentation/DMA-API.txt +++ b/Documentation/DMA-API.txt @@ -160,7 +160,7 @@ pci_set_dma_mask(struct pci_device *dev, u64 mask) Checks to see if the mask is possible and updates the device parameters if it is. -Returns: 1 if successful and 0 if not +Returns: 0 if successful and a negative error if not. u64 dma_get_required_mask(struct device *dev) diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index 9a23eab00..fc50b1073 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile @@ -8,10 +8,10 @@ DOCBOOKS := wanbook.sgml z8530book.sgml mcabook.sgml videobook.sgml \ kernel-hacking.sgml kernel-locking.sgml via-audio.sgml \ - mousedrivers.sgml deviceiobook.sgml procfs-guide.sgml \ - tulip-user.sgml writing_usb_driver.sgml scsidrivers.sgml \ - sis900.sgml kernel-api.sgml journal-api.sgml lsm.sgml usb.sgml \ - gadget.sgml libata.sgml + deviceiobook.sgml procfs-guide.sgml tulip-user.sgml \ + writing_usb_driver.sgml scsidrivers.sgml sis900.sgml \ + kernel-api.sgml journal-api.sgml lsm.sgml usb.sgml \ + gadget.sgml libata.sgml mtdnand.sgml librs.sgml ### # The build process is as follows (targets): @@ -58,14 +58,14 @@ MAKEMAN = $(PERL) $(srctree)/scripts/makeman # The following rules are used to generate the .sgml documentation # required to generate the final targets. (ps, pdf, html). quiet_cmd_docproc = DOCPROC $@ - cmd_docproc = $(DOCPROC) doc $< >$@ + cmd_docproc = SRCTREE=$(srctree)/ $(DOCPROC) doc $< >$@ define rule_docproc set -e; \ $(if $($(quiet)cmd_$(1)),echo ' $($(quiet)cmd_$(1))';) \ $(cmd_$(1)); \ ( \ echo 'cmd_$@ := $(cmd_$(1))'; \ - echo $@: `$(DOCPROC) depend $<`; \ + echo $@: `SRCTREE=$(srctree) $(DOCPROC) depend $<`; \ ) > $(dir $@).$(notdir $@).cmd endef @@ -129,6 +129,9 @@ quiet_cmd_db2html = DB2HTML $@ # Rule to generate man files - output is placed in the man subdirectory %.9: %.sgml +ifneq ($(KBUILD_SRC),) + $(Q)mkdir -p $(objtree)/Documentation/DocBook/man +endif $(SPLITMAN) $< $(objtree)/Documentation/DocBook/man "$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)" $(MAKEMAN) convert $(objtree)/Documentation/DocBook/man $< diff --git a/Documentation/DocBook/deviceiobook.tmpl b/Documentation/DocBook/deviceiobook.tmpl index d3f418384..0d1da8cbd 100644 --- a/Documentation/DocBook/deviceiobook.tmpl +++ b/Documentation/DocBook/deviceiobook.tmpl @@ -147,8 +147,7 @@ compiler is not permitted to reorder the I/O sequence. When the ordering can be compiler optimised, you can use __readb and friends to indicate the relaxed ordering. Use - this with care. The rmb provides a read memory - barrier. The wmb provides a write memory barrier. + this with care. @@ -159,19 +158,113 @@ asynchronously. A driver author must issue a read from the same device to ensure that writes have occurred in the specific cases the author cares. This kind of property cannot be hidden from driver - writers in the API. + writers in the API. In some cases, the read used to flush the device + may be expected to fail (if the card is resetting, for example). In + that case, the read should be done from config space, which is + guaranteed to soft-fail if the card doesn't respond. + + + + The following is an example of flushing a write to a device when + the driver would like to ensure the write's effects are visible prior + to continuing execution. + + + +static inline void +qla1280_disable_intrs(struct scsi_qla_host *ha) +{ + struct device_reg *reg; + + reg = ha->iobase; + /* disable risc and host interrupts */ + WRT_REG_WORD(&reg->ictrl, 0); + /* + * The following read will ensure that the above write + * has been received by the device before we return from this + * function. + */ + RD_REG_WORD(&reg->ictrl); + ha->flags.ints_enabled = 0; +} + + + + In addition to write posting, on some large multiprocessing systems + (e.g. SGI Challenge, Origin and Altix machines) posted writes won't + be strongly ordered coming from different CPUs. Thus it's important + to properly protect parts of your driver that do memory-mapped writes + with locks and use the mmiowb to make sure they + arrive in the order intended. Issuing a regular readX + will also ensure write ordering, but should only be used + when the driver has to be sure that the write has actually arrived + at the device (not that it's simply ordered with respect to other + writes), since a full readX is a relatively + expensive operation. + + + + Generally, one should use mmiowb prior to + releasing a spinlock that protects regions using writeb + or similar functions that aren't surrounded by + readb calls, which will ensure ordering and flushing. The + following pseudocode illustrates what might occur if write ordering + isn't guaranteed via mmiowb or one of the + readX functions. + + + +CPU A: spin_lock_irqsave(&dev_lock, flags) +CPU A: ... +CPU A: writel(newval, ring_ptr); +CPU A: spin_unlock_irqrestore(&dev_lock, flags) + ... +CPU B: spin_lock_irqsave(&dev_lock, flags) +CPU B: writel(newval2, ring_ptr); +CPU B: ... +CPU B: spin_unlock_irqrestore(&dev_lock, flags) + + + + In the case above, newval2 could be written to ring_ptr before + newval. Fixing it is easy though: + + + +CPU A: spin_lock_irqsave(&dev_lock, flags) +CPU A: ... +CPU A: writel(newval, ring_ptr); +CPU A: mmiowb(); /* ensure no other writes beat us to the device */ +CPU A: spin_unlock_irqrestore(&dev_lock, flags) + ... +CPU B: spin_lock_irqsave(&dev_lock, flags) +CPU B: writel(newval2, ring_ptr); +CPU B: ... +CPU B: mmiowb(); +CPU B: spin_unlock_irqrestore(&dev_lock, flags) + + + + See tg3.c for a real world example of how to use mmiowb + PCI ordering rules also guarantee that PIO read responses arrive - after any outstanding DMA writes on that bus, since for some devices + after any outstanding DMA writes from that bus, since for some devices the result of a readb call may signal to the driver that a DMA transaction is complete. In many cases, however, the driver may want to indicate that the next readb call has no relation to any previous DMA writes performed by the device. The driver can use readb_relaxed for these cases, although only - some platforms will honor the relaxed semantics. + some platforms will honor the relaxed semantics. Using the relaxed + read functions will provide significant performance benefits on + platforms that support it. The qla2xxx driver provides examples + of how to use readX_relaxed. In many cases, + a majority of the driver's readX calls can + safely be converted to readX_relaxed calls, since + only a few will indicate or depend on DMA completion. diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index 5f11984a0..ef66fdda1 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl @@ -133,6 +133,11 @@ KAO --> Socket Filter !Enet/core/filter.c + Generic Network Statistics +!Iinclude/linux/gen_stats.h +!Enet/core/gen_stats.c +!Enet/core/gen_estimator.c + diff --git a/Documentation/DocBook/kernel-hacking.tmpl b/Documentation/DocBook/kernel-hacking.tmpl index cd1bc1574..1e8219d85 100644 --- a/Documentation/DocBook/kernel-hacking.tmpl +++ b/Documentation/DocBook/kernel-hacking.tmpl @@ -888,7 +888,7 @@ printk(KERN_INFO "my ip: %d.%d.%d.%d\n", NIPQUAD(ipaddress)); The second class of atomic operations is atomic bit operations on a long, defined in - include/asm/bitops.h. These + include/linux/bitops.h. These operations generally take a pointer to the bit pattern, and a bit number: 0 is the least significant bit. set_bit(), clear_bit() diff --git a/Documentation/DocBook/libata.tmpl b/Documentation/DocBook/libata.tmpl index ac0d5fc0a..92a405a0e 100644 --- a/Documentation/DocBook/libata.tmpl +++ b/Documentation/DocBook/libata.tmpl @@ -61,6 +61,196 @@ + + libata Driver API + + struct ata_port_operations + + +void (*port_disable) (struct ata_port *); + + + + Called from ata_bus_probe() and ata_bus_reset() error paths, + as well as when unregistering from the SCSI module (rmmod, hot + unplug). + + + +void (*dev_config) (struct ata_port *, struct ata_device *); + + + + Called after IDENTIFY [PACKET] DEVICE is issued to each device + found. Typically used to apply device-specific fixups prior to + issue of SET FEATURES - XFER MODE, and prior to operation. + + + +void (*set_piomode) (struct ata_port *, struct ata_device *); +void (*set_dmamode) (struct ata_port *, struct ata_device *); +void (*post_set_mode) (struct ata_port *ap); + + + + Hooks called prior to the issue of SET FEATURES - XFER MODE + command. dev->pio_mode is guaranteed to be valid when + ->set_piomode() is called, and dev->dma_mode is guaranteed to be + valid when ->set_dmamode() is called. ->post_set_mode() is + called unconditionally, after the SET FEATURES - XFER MODE + command completes successfully. + + + + ->set_piomode() is always called (if present), but + ->set_dma_mode() is only called if DMA is possible. + + + +void (*tf_load) (struct ata_port *ap, struct ata_taskfile *tf); +void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); + + + + ->tf_load() is called to load the given taskfile into hardware + registers / DMA buffers. ->tf_read() is called to read the + hardware registers / DMA buffers, to obtain the current set of + taskfile register values. + + + +void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf); + + + + causes an ATA command, previously loaded with + ->tf_load(), to be initiated in hardware. + + + +u8 (*check_status)(struct ata_port *ap); +void (*dev_select)(struct ata_port *ap, unsigned int device); + + + + Reads the Status ATA shadow register from hardware. On some + hardware, this has the side effect of clearing the interrupt + condition. + + + +void (*dev_select)(struct ata_port *ap, unsigned int device); + + + + Issues the low-level hardware command(s) that causes one of N + hardware devices to be considered 'selected' (active and + available for use) on the ATA bus. + + + +void (*phy_reset) (struct ata_port *ap); + + + + The very first step in the probe phase. Actions vary depending + on the bus type, typically. After waking up the device and probing + for device presence (PATA and SATA), typically a soft reset + (SRST) will be performed. Drivers typically use the helper + functions ata_bus_reset() or sata_phy_reset() for this hook. + + + +void (*bmdma_setup) (struct ata_queued_cmd *qc); +void (*bmdma_start) (struct ata_queued_cmd *qc); + + + + When setting up an IDE BMDMA transaction, these hooks arm + (->bmdma_setup) and fire (->bmdma_start) the hardware's DMA + engine. + + + +void (*qc_prep) (struct ata_queued_cmd *qc); +int (*qc_issue) (struct ata_queued_cmd *qc); + + + + Higher-level hooks, these two hooks can potentially supercede + several of the above taskfile/DMA engine hooks. ->qc_prep is + called after the buffers have been DMA-mapped, and is typically + used to populate the hardware's DMA scatter-gather table. + Most drivers use the standard ata_qc_prep() helper function, but + more advanced drivers roll their own. + + + ->qc_issue is used to make a command active, once the hardware + and S/G tables have been prepared. IDE BMDMA drivers use the + helper function ata_qc_issue_prot() for taskfile protocol-based + dispatch. More advanced drivers roll their own ->qc_issue + implementation, using this as the "issue new ATA command to + hardware" hook. + + + +void (*eng_timeout) (struct ata_port *ap); + + + + This is a high level error handling function, called from the + error handling thread, when a command times out. + + + +irqreturn_t (*irq_handler)(int, void *, struct pt_regs *); +void (*irq_clear) (struct ata_port *); + + + + ->irq_handler is the interrupt handling routine registered with + the system, by libata. ->irq_clear is called during probe just + before the interrupt handler is registered, to be sure hardware + is quiet. + + + +u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg); +void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, + u32 val); + + + + Read and write standard SATA phy registers. Currently only used + if ->phy_reset hook called the sata_phy_reset() helper function. + + + +int (*port_start) (struct ata_port *ap); +void (*port_stop) (struct ata_port *ap); +void (*host_stop) (struct ata_host_set *host_set); + + + + ->port_start() is called just after the data structures for each + port are initialized. Typically this is used to alloc per-port + DMA buffers / tables / rings, enable DMA engines, and similar + tasks. + + + ->host_stop() is called when the rmmod or hot unplug process + begins. The hook must stop all hardware interrupts, DMA + engines, etc. + + + ->port_stop() is called after ->host_stop(). It's sole function + is to release DMA/memory resources, now that they are no longer + actively being used. + + + + + libata Library !Edrivers/scsi/libata-core.c @@ -83,7 +273,7 @@ - ata_sil Internals + sata_sil Internals !Idrivers/scsi/sata_sil.c diff --git a/Documentation/DocBook/procfs-guide.tmpl b/Documentation/DocBook/procfs-guide.tmpl index 669b0466a..34206230c 100644 --- a/Documentation/DocBook/procfs-guide.tmpl +++ b/Documentation/DocBook/procfs-guide.tmpl @@ -100,8 +100,8 @@ I'd like to thank Jeff Garzik jgarzik@pobox.com and Alexander Viro - viro@math.psu.edu for their input, Tim Waugh - twaugh@redhat.com for his viro@parcelfarce.linux.theplanet.co.uk for their input, + Tim Waugh twaugh@redhat.com for his Selfdocbook, and Marc Joosen marcj@historia.et.tudelft.nl for proofreading. diff --git a/Documentation/DocBook/videobook.tmpl b/Documentation/DocBook/videobook.tmpl index 45243eeb2..2c92b1836 100644 --- a/Documentation/DocBook/videobook.tmpl +++ b/Documentation/DocBook/videobook.tmpl @@ -731,13 +731,14 @@ static int io = 0x300; static int io = -1; +#endif MODULE_AUTHOR("Alan Cox"); MODULE_DESCRIPTION("A driver for an imaginary radio card."); -MODULE_PARM(io, "i"); +module_param(io, int, 0444); MODULE_PARM_DESC(io, "I/O address of the card."); -int init_module(void) +static int __init init(void) { if(io==-1) { @@ -748,25 +749,26 @@ int init_module(void) return myradio_init(NULL); } -void cleanup_module(void) +static void __exit cleanup(void) { video_unregister_device(&my_radio); release_region(io, MY_IO_SIZE); } -#endif +module_init(init); +module_exit(cleanup); In this example we set the IO base by default if the driver is compiled into - the kernel where you cannot pass a parameter. For the module we require the + the kernel: you can still set it using "my_radio.irq" if this file is called my_radio.c. For the module we require the user sets the parameter. We set io to a nonsense port (-1) so that we can tell if the user supplied an io parameter or not. We use MODULE_ defines to give an author for the card driver and a description. We also use them to declare that io is an integer and it is the - address of the card. + address of the card, and can be read by anyone from sysfs. The clean-up routine unregisters the video_device we registered, and frees diff --git a/Documentation/IO-mapping.txt b/Documentation/IO-mapping.txt index ddc817346..86edb61bd 100644 --- a/Documentation/IO-mapping.txt +++ b/Documentation/IO-mapping.txt @@ -119,9 +119,10 @@ you can't use it from the bus master. So why do we care about the physical address at all? We do need the physical address in some cases, it's just not very often in normal code. The physical address is needed if you use memory mappings, for example, because the -"remap_page_range()" mm function wants the physical address of the memory to -be remapped (the memory management layer doesn't know about devices outside -the CPU, so it shouldn't need to know about "bus addresses" etc). +"remap_pfn_range()" mm function wants the physical address of the memory to +be remapped as measured in units of pages, a.k.a. the pfn (the memory +management layer doesn't know about devices outside the CPU, so it +shouldn't need to know about "bus addresses" etc). NOTE NOTE NOTE! The above is only one part of the whole equation. The above only talks about "real memory", that is, CPU memory (RAM). diff --git a/Documentation/RCU/listRCU.txt b/Documentation/RCU/listRCU.txt index 46950afda..bda6ead69 100644 --- a/Documentation/RCU/listRCU.txt +++ b/Documentation/RCU/listRCU.txt @@ -82,7 +82,7 @@ lock might be used as follows for deletion and insertion: list_for_each_entry(e, list, list) { if (!audit_compare_rule(rule, &e->rule)) { list_del(&e->list); - call_rcu(&e->rcu, audit_free_rule, e); + write_unlock(&auditsc_lock); return 0; } } diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting index a851d039a..fad566bb0 100644 --- a/Documentation/arm/Booting +++ b/Documentation/arm/Booting @@ -118,6 +118,10 @@ to store page tables. The recommended placement is 32KiB into RAM. In either case, the following conditions must be met: +- Quiesce all DMA capable devicess so that memory does not get + corrupted by bogus network packets or disk data. This will save + you many hours of debug. + - CPU register settings r0 = 0, r1 = machine type number discovered in (3) above. diff --git a/Documentation/arm/IXP2000 b/Documentation/arm/IXP2000 index 48ba502fa..969f16593 100644 --- a/Documentation/arm/IXP2000 +++ b/Documentation/arm/IXP2000 @@ -18,7 +18,7 @@ http://developer.intel.com/design/network/products/npfamily/ixp2xxx.htm 2. Linux Support -Linux currently supports the following features on the IXP2000 NPUS: +Linux currently supports the following features on the IXP2000 NPUs: - On-chip serial - PCI @@ -30,10 +30,10 @@ That is about all we can support under Linux ATM b/c the core networking components of the chip are accessed via Intel's closed source SDK. Please contact Intel directly on issues with using those. There is also a mailing list run by some folks at Princeton University that might -be of helpful: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx +be of help: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx WHATEVER YOU DO, DO NOT POST EMAIL TO THE LINUX-ARM OR LINUX-ARM-KERNEL -MAILINNG LISTS REGARDING THE INTEL SDK. +MAILING LISTS REGARDING THE INTEL SDK. 3. Supported Platforms @@ -47,12 +47,12 @@ MAILINNG LISTS REGARDING THE INTEL SDK. - The IXP2000 platforms ususally have rather complex PCI bus topologies with large memory space requirements. In addition, b/c of the way the - Intel SDK is designed, devices are enumerated in a vert specific + Intel SDK is designed, devices are enumerated in a very specific way. B/c of this this, we use "pci=firmware" option in the kernel command line so that we do not re-enumerate the bus. - IXDP2x01 systems have variable clock tick rates that we cannot determine - via HW registers. The "ixdp2x01_clk=XXX" cmd line options allows you + via HW registers. The "ixdp2x01_clk=XXX" cmd line options allow you to pass the clock rate to the board port. 5. Thanks diff --git a/Documentation/arm/IXP4xx b/Documentation/arm/IXP4xx index d86d818a4..2e1590b42 100644 --- a/Documentation/arm/IXP4xx +++ b/Documentation/arm/IXP4xx @@ -122,6 +122,15 @@ http://developer.intel.com/design/network/products/npfamily/ixdp425.htm also known as the Richfield board. It contains 4 PCI slots, 16MB of flash, two 10/100 ports and one ADSL port. +Intel IXDPG425 Development Platform + + This is basically and ADI Coyote board with a NEC EHCI controller + added. One issue with this board is that the mini-PCI slots only + have the 3.3v line connected, so you can't use a PCI to mini-PCI + adapter with an E100 card. So to NFS root you need to use either + the CSR or a WiFi card and a ramdisk that BOOTPs and then does + a pivot_root to NFS. + Motorola PrPMC1100 Processor Mezanine Card http://www.fountainsys.com/datasheet/PrPMC1100.pdf @@ -152,4 +161,4 @@ Robert E. Ranslam ------------------------------------------------------------------------- -Last Update: 5/13/2004 +Last Update: 11/16/2004 diff --git a/Documentation/arm/README b/Documentation/arm/README index 1dd5d6cb7..a6f718e90 100644 --- a/Documentation/arm/README +++ b/Documentation/arm/README @@ -163,9 +163,9 @@ CONFIG_MACH_ and CONFIG_ARCH_ -Kernel entry (head-armv.S) +Kernel entry (head.S) -------------------------- - The initial entry into the kernel is via head-armv.S, which uses machine + The initial entry into the kernel is via head.S, which uses machine independent code. The machine is selected by the value of 'r1' on entry, which must be kept unique. diff --git a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt index 831b98c73..000e3d7a7 100644 --- a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt +++ b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt @@ -15,7 +15,7 @@ Configuration ------------- To set the default configuration, use `make bast_defconfig` which - supports the commonly used features of this board + supports the commonly used features of this board. Support @@ -23,15 +23,23 @@ Support Official support information can be found on the Simtec Electronics website, at the product page http://www.simtec.co.uk/products/EB2410ITX/ - and http://www.simtec.co.uk/products/EB2410ITX/resources.html + + Useful links: + + - Resources Page http://www.simtec.co.uk/products/EB2410ITX/resources.html + + - Board FAQ at http://www.simtec.co.uk/products/EB2410ITX/faq.html + + - Bootloader info http://www.simtec.co.uk/products/SWABLE/resources.html + and FAQ http://www.simtec.co.uk/products/SWABLE/faq.html MTD --- - The NAND and NOR onboard are currently supported in the linux-mtd cvs, - and are awaiting merge in the mainline. see the linux-mtd project at - http://www.linux-mtd.infradead.org/ for more information. + The NAND and NOR support has been merged from the linux-mtd project. + Any prolbems, see http://www.linux-mtd.infradead.org/ for more + information or up-to-date versions of linux-mtd. IDE @@ -41,4 +49,10 @@ IDE changing speed of devices, PIO Mode 4 capable drives should be used. +Maintainers +----------- + + This board is maintained by Simtec Electronics. + + (c) 2004 Ben Dooks, Simtec Electronics diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/Samsung-S3C24XX/Overview.txt index aa3f83aa2..b8ba49250 100644 --- a/Documentation/arm/Samsung-S3C24XX/Overview.txt +++ b/Documentation/arm/Samsung-S3C24XX/Overview.txt @@ -48,9 +48,9 @@ Machines NAND ---- - The current kernels do not have direct support for the NAND - controller, the latest linux-mtd CVS has support for this. - See http://www.linux-mtd.infradead.org/ + The current kernels now have support for the s3c2410 NAND + controller. If there are any problems the latest linux-mtd + CVS can be found from http://www.linux-mtd.infradead.org/ Serial @@ -84,12 +84,21 @@ Clock Management Port Contributors ----------------- - Ben Dooks + Ben Dooks (BJD) Vincent Sanders Herbert Potzl - Arnaud Patard + Arnaud Patard (RTP) Roc Wu + Klaus Fetscher + Dimitry Andric +Document Changes +---------------- + + 05 Sep 2004 - BJD - Added Document Changes section + 05 Sep 2004 - BJD - Added Klaus Fetscher to list of contributors + 25 Oct 2004 - BJD - Added Dimitry Andric to list of contributors + 25 Oct 2004 - BJD - Updated the MTD from the 2.6.9 merge Document Author --------------- diff --git a/Documentation/arm/Sharp-LH/IOBarrier b/Documentation/arm/Sharp-LH/IOBarrier index bf34e046e..c0d885367 100644 --- a/Documentation/arm/Sharp-LH/IOBarrier +++ b/Documentation/arm/Sharp-LH/IOBarrier @@ -5,7 +5,7 @@ Due to an unfortunate oversight when the Card Engines were designed, the signals that control access to some peripherals, most notably the SMC91C9111 ethernet controller, are not properly handled. -The symptom is that back to back IO with the peripheral returns +The symptom is that some back to back IO with the peripheral returns unreliable data. With the SMC chip, you'll see errors about the bank register being 'screwed'. @@ -13,20 +13,33 @@ The cause is that the AEN signal to the SMC chip does not transition for every memory access. It is driven through the CPLD from the CS7 line of the CPU's static memory controller which is optimized to eliminate unnecessary transitions. Yet, the SMC requires a transition -for every access. The Sharp website has more information on the -effect of this power conservation feature on peripheral interfacing. +for every write access. The Sharp website has more information about +the effect this power-conserving feature has on peripheral +interfacing. -The solution is to follow every access to the SMC chip with an access -to another memory region that will force the CPU to release the chip -select line. Note that it is important to guarantee that the access -will force the CPU off-chip. We map a page of SDRAM as if it were an -uncacheable IO device and read from it after every SMC IO operation. +The solution is to follow every write access to the SMC chip with an +access to another memory region that will force the CPU to release the +chip select line. It is important to guarantee that this access +forces the CPU off-chip. We map a page of SDRAM as if it were an +uncacheable IO device and read from it after every SMC IO write +operation. SMC IO BARRIER IO -You might be tempted to believe that we must access another device +Only this sequence is important. It does not matter that there is no +BARRIER IO before the access to the SMC chip because the AEN latch +only needs occurs after the SMC IO write cycle. The routines that +implement this work-around make an additional concession which is to +disable interrupts during the IO sequence. Other hardware devices +(the LogicPD CPLD) have registers in the same the physical memory +region as the SMC chip. An interrupt might allow an access to one of +those registers while SMC IO is being performed. + +You might be tempted to think that we have to access another device attached to the static memory controller, but the empirical evidence indicates that this is not so. Mapping 0x00000000 (flash) and 0xc0000000 (SDRAM) appear to have the same effect. Using SDRAM seems -to be faster. +to be faster. Choosing to access an undecoded memory region is not +desirable as there is no way to know how that chip select will be used +in the future. diff --git a/Documentation/block/as-iosched.txt b/Documentation/block/as-iosched.txt index fd763cc48..6f47332c8 100644 --- a/Documentation/block/as-iosched.txt +++ b/Documentation/block/as-iosched.txt @@ -132,7 +132,7 @@ a combination of IO behavior from all those devices. Tuning the anticipatory IO scheduler ------------------------------------ When using 'as', the anticipatory IO scheduler there are 5 parameters under -/sys/block/*/iosched/. All are units of milliseconds. +/sys/block/*/queue/iosched/. All are units of milliseconds. The parameters are: * read_expire diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt index f24dbcaca..6dd274d7e 100644 --- a/Documentation/block/biodoc.txt +++ b/Documentation/block/biodoc.txt @@ -1172,8 +1172,7 @@ PIO drivers (or drivers that need to revert to PIO transfer once in a while (IDE for example)), where the CPU is doing the actual data transfer a virtual mapping is needed. If the driver supports highmem I/O, (Sec 1.1, (ii) ) it needs to use __bio_kmap_atomic and bio_kmap_irq to -temporarily map a bio into the virtual address space. See how IDE handles -this with ide_map_buffer. +temporarily map a bio into the virtual address space. 8. Prior/Related/Impacted patches diff --git a/Documentation/block/deadline-iosched.txt b/Documentation/block/deadline-iosched.txt index 2b1318600..c918b3a60 100644 --- a/Documentation/block/deadline-iosched.txt +++ b/Documentation/block/deadline-iosched.txt @@ -9,7 +9,7 @@ Each io queue has a set of io scheduler tunables associated with it. These tunables control how the io scheduler works. You can find these entries in: -/sys/block//iosched +/sys/block//queue/iosched assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, you can do so by typing: diff --git a/Documentation/cdrom/00-INDEX b/Documentation/cdrom/00-INDEX index eae689667..916dafe29 100644 --- a/Documentation/cdrom/00-INDEX +++ b/Documentation/cdrom/00-INDEX @@ -22,6 +22,8 @@ mcdx - info on improved Mitsumi CD-ROM driver. optcd - info on the Optics Storage 8000 AT CD-ROM driver +packet-writing.txt + - Info on the CDRW packet writing module sbpcd - info on the SoundBlaster/Panasonic CD-ROM interface driver. sjcd diff --git a/Documentation/computone.txt b/Documentation/computone.txt index ea2b5d3e3..b1cf59b84 100644 --- a/Documentation/computone.txt +++ b/Documentation/computone.txt @@ -1,3 +1,13 @@ +NOTE: This is an unmaintained driver. It is not guaranteed to work due to +changes made in the tty layer in 2.6. If you wish to take over maintenance of +this driver, contact Michael Warfield . + +Changelog: +---------- +11-01-2001: Original Document + +10-29-2004: Minor misspelling & format fix, update status of driver. + James Nelson Computone Intelliport II/Plus Multiport Serial Driver ----------------------------------------------------- @@ -146,7 +156,7 @@ selects polled mode). If no base addresses are specified the defaults in ip2.c are used. If you are autoloading the driver module with kerneld or kmod the base addresses and interrupt number must also be set in ip2.c and recompile or just insert and options line in /etc/modprobe.conf or both. -The options line is equivalent to the command line and takes precidence over +The options line is equivalent to the command line and takes precedence over what is in ip2.c. /etc/modprobe.conf sample: @@ -166,7 +176,8 @@ The equivalent for the kernel command line (in lilo.conf): Note: Both io and irq should be updated to reflect YOUR system. An "io" - address of 1 or 2 indicates a PCI or EISA card in the board table. The PCI or EISA irq will be assigned automatically. + address of 1 or 2 indicates a PCI or EISA card in the board table. + The PCI or EISA irq will be assigned automatically. Specifying an invalid or in-use irq will default the driver into running in polled mode for that card. If all irq entries are 0 then diff --git a/Documentation/cpqarray.txt b/Documentation/cpqarray.txt index d0e185f7c..c7154e20e 100644 --- a/Documentation/cpqarray.txt +++ b/Documentation/cpqarray.txt @@ -26,31 +26,13 @@ unable to test against these cards: * IDA-2 * IAES -Installing: ------------ - -You need to build a new kernel to use this device, even if you want to -use a loadable module. - -Apply the patch to a 2.2.x kernel: - -# cd linux -# patch -p1 + + +1999 : Original Document diff --git a/Documentation/cpu-freq/user-guide.txt b/Documentation/cpu-freq/user-guide.txt index 5e6391ca9..7fedc00c3 100644 --- a/Documentation/cpu-freq/user-guide.txt +++ b/Documentation/cpu-freq/user-guide.txt @@ -65,6 +65,7 @@ Intel Pentium 4, Intel Xeon Intel Pentium M (Centrino) National Semiconductors Geode GX Transmeta Crusoe +Transmeta Efficeon VIA Cyrix 3 / C3 various processors on some ACPI 2.0-compatible systems [*] diff --git a/Documentation/crypto/api-intro.txt b/Documentation/crypto/api-intro.txt index 62778c57f..fa0c8b974 100644 --- a/Documentation/crypto/api-intro.txt +++ b/Documentation/crypto/api-intro.txt @@ -231,6 +231,9 @@ Whirlpool algorithm contributors: Aaron Grothe Jean-Luc Cooke +Anubis algorithm contributors: + Aaron Grothe + Generic scatterwalk code by Adam J. Richter Please send any credits updates or corrections to: diff --git a/Documentation/devices.txt b/Documentation/devices.txt index c46f5961a..f115145e5 100644 --- a/Documentation/devices.txt +++ b/Documentation/devices.txt @@ -2546,12 +2546,7 @@ Your cooperation is appreciated. 0 = /dev/usb/lp0 First USB printer ... 15 = /dev/usb/lp15 16th USB printer - 16 = /dev/usb/mouse0 First USB mouse - ... - 31 = /dev/usb/mouse15 16th USB mouse - 32 = /dev/usb/ez0 First USB firmware loader - ... - 47 = /dev/usb/ez15 16th USB firmware loader + 32 = /dev/usb/mdc800 MDC800 USB camera 48 = /dev/usb/scanner0 First USB scanner ... 63 = /dev/usb/scanner15 16th USB scanner @@ -2559,6 +2554,22 @@ Your cooperation is appreciated. 65 = /dev/usb/usblcd USBLCD Interface (info@usblcd.de) 66 = /dev/usb/cpad0 Synaptics cPad (mouse/LCD) + 96 = /dev/usb/hiddev0 1st USB HID device + ... + 111 = /dev/usb/hiddev15 16th USB HID device + 112 = /dev/usb/auer0 1st auerswald ISDN device + ... + 127 = /dev/usb/auer15 16th auerswald ISDN device + 128 = /dev/usb/brlvgr0 First Braille Voyager device + ... + 131 = /dev/usb/brlvgr3 Fourth Braille Voyager device + 144 = /dev/usb/lcd USB LCD device + 160 = /dev/usb/legousbtower0 1st USB Legotower device + ... + 175 = /dev/usb/legousbtower15 16th USB Legotower device + 240 = /dev/usb/dabusb0 First daubusb device + ... + 243 = /dev/usb/dabusb3 Fourth dabusb device 181 char Conrad Electronic parallel port radio clocks 0 = /dev/pcfclock0 First Conrad radio clock @@ -2747,6 +2758,10 @@ Your cooperation is appreciated. 43 = /dev/ttySMX2 Motorola i.MX - port 2 44 = /dev/ttyMM0 Marvell MPSC - port 0 45 = /dev/ttyMM1 Marvell MPSC - port 1 + 46 = /dev/ttyCPM0 PPC CPM (SCC or SMC) - port 0 + ... + 49 = /dev/ttyCPM5 PPC CPM (SCC or SMC) - port 5 + 205 char Low-density serial ports (alternate device) 0 = /dev/culu0 Callout device for ttyLU0 @@ -2775,6 +2790,9 @@ Your cooperation is appreciated. 41 = /dev/ttySMX0 Callout device for ttySMX0 42 = /dev/ttySMX1 Callout device for ttySMX1 43 = /dev/ttySMX2 Callout device for ttySMX2 + 46 = /dev/cucpm0 Callout device for ttyCPM0 + ... + 49 = /dev/cucpm5 Callout device for ttyCPM5 206 char OnStream SC-x0 tape devices 0 = /dev/osst0 First OnStream SCSI tape, mode 0 diff --git a/Documentation/digiepca.txt b/Documentation/digiepca.txt index 01c4adc59..88820fe38 100644 --- a/Documentation/digiepca.txt +++ b/Documentation/digiepca.txt @@ -1,3 +1,11 @@ +NOTE: This driver is obsolete. Digi provides a 2.6 driver (dgdm) at +http://www.digi.com for PCI cards. They no longer maintain this driver, +and have no 2.6 driver for ISA cards. + +This driver requires a number of user-space tools. They can be aquired from +http://www.digi.com, but only works with 2.4 kernels. + + The Digi Intl. epca driver. ---------------------------- The Digi Intl. epca driver for Linux supports the following boards: @@ -64,9 +72,6 @@ drivers/char/README.epca for more details. Note, this driver REQUIRES that digiDload be executed prior to it being used. Failure to do this will result in an ENODEV error. -The latest version of the tool package is available at: -ftp://ftp.dgii.com/drivers/linux/released/async/ - Documentation: -------------- Complete documentation for this product may be found in the tool package. @@ -74,14 +79,8 @@ Complete documentation for this product may be found in the tool package. Sources of information and support: ----------------------------------- Digi Intl. support site for this product: --> digilnux@dgii.com -Related information and information concerning other drivers supporting -Digi Intl. products: - --> FTP: ftp://dgii.com --> Webpage: http://www.dgii.com --> Webpage: http://lameter.com/digi +-> http://www.digi.com Acknowledgments: ---------------- @@ -90,3 +89,10 @@ supporting the original public domain DigiBoard driver Copyright (C) 1994,1995 Troy De Jongh. Many thanks to Christoph Lameter (christoph@lameter.com) and Mike McLagan (mike.mclagan@linux.org) who authored and contributed to the original document. + +Changelog: +---------- +10-29-04: Update status of driver, remove dead links in document + James Nelson + +2000 (?) Original Document diff --git a/Documentation/dnotify.txt b/Documentation/dnotify.txt index 3434cb3d1..6984fca60 100644 --- a/Documentation/dnotify.txt +++ b/Documentation/dnotify.txt @@ -54,6 +54,12 @@ directory "b". Also, files that are unlinked, will still cause notifications in the last directory that they were linked to. +Configuration +------------- + +Dnotify is controlled via the CONFIG_DNOTIFY configuration option. When +disabled, fcntl(fd, F_NOTIFY, ...) will return -EINVAL. + Example ------- diff --git a/Documentation/dvb/avermedia.txt b/Documentation/dvb/avermedia.txt index 5d8dbdada..09020ebd2 100644 --- a/Documentation/dvb/avermedia.txt +++ b/Documentation/dvb/avermedia.txt @@ -6,7 +6,6 @@ HOWTO: Get An Avermedia DVB-T working under Linux Assumptions and Introduction The Avermedia DVB-T Getting the card going - Getting the Firmware Receiving DVB-T in Australia Known Limitations Further Update @@ -149,28 +148,9 @@ Getting the card going to start accessing the card with utilities such as scan, tzap, dvbstream etc. - The current version of the frontend module sp887x.o, contains - no firmware drivers?, so the first time you open it with a DVB - utility the driver will try to download some initial firmware - to the card. You will need to download this firmware from the - web, or copy it from an installation of the Windows drivers - that probably came with your card, before you can use it. - - The default Linux filesystem location for this firmware is - /usr/lib/hotplug/firmware/sc_main.mc . - _________________________________________________________ - -Getting the Firmware - - As the firmware for the card is no longer contained within the - driver, it is necessary to extract it from the windows - drivers. - - The Windows drivers for the Avermedia DVB-T can be obtained - from: http://babyurl.com/H3U970 and you can get an application - to extract the firmware from: - http://www.kyz.uklinux.net/cabextract.php. - _________________________________________________________ + The frontend module sp887x.o, requires an external firmware. + Please use the command "get_dvb_firmware sp887x" to download + it. Then copy it to /usr/lib/hotplug/firmware. Receiving DVB-T in Australia diff --git a/Documentation/dvb/cards.txt b/Documentation/dvb/cards.txt index 695f174d8..efdc4ee9d 100644 --- a/Documentation/dvb/cards.txt +++ b/Documentation/dvb/cards.txt @@ -38,6 +38,7 @@ o Frontends drivers: Comtech DVBT-6k07 (SP5730 PLL) (NxtWave Communications NXT6000 demodulator) - sp887x : Microtune 7202D + - dib3000mb : DiBcom 3000-MB demodulator DVB-S/C/T: - dst : TwinHan DST Frontend @@ -49,7 +50,7 @@ o Cards based on the Phillips saa7146 multimedia PCI bridge chip: - "budget" cards (i.e. without hardware MPEG decoder): - Technotrend Budget / Hauppauge WinTV-Nova PCI Cards - SATELCO Multimedia PCI - - KNC1 DVB-S + - KNC1 DVB-S, Typhoon DVB-S, Terratec Cinergy 1200 DVB-S (no CI support) - Typhoon DVB-S budget - Fujitsu-Siemens Activy DVB-S budget card @@ -66,4 +67,19 @@ o Technotrend / Hauppauge DVB USB devices: - Nova USB - DEC 2000-T, 3000-S, 2540-T +o DiBcom DVB-T USB based devices: + - Twinhan VisionPlus VisionDTV USB-Ter DVB-T Device + - HAMA DVB-T USB device + - CTS Portable (Chinese Television System) + - KWorld V-Stream XPERT DTV DVB-T USB + - JetWay DTV DVB-T USB + - ADSTech Instant TV DVB-T USB + - Ultima Electronic/Artec T1 USB TVBOX (AN2135 and AN2235) + - Compro Videomate DVB-U2000 - DVB-T USB + - Grandtec USB DVB-T + - Avermedia AverTV DVBT USB + - DiBcom USB DVB-T reference device (non-public) + - Yakumo DVB-T mobile USB2.0 + - DiBcom USB2.0 DVB-T reference device (non-public) + o Experimental support for the analog module of the Siemens DVB-C PCI card diff --git a/Documentation/dvb/contributors.txt b/Documentation/dvb/contributors.txt index 12026e933..dd40ad665 100644 --- a/Documentation/dvb/contributors.txt +++ b/Documentation/dvb/contributors.txt @@ -69,6 +69,8 @@ Andreas 'randy' Weinberger Kenneth Aafløy for adding support for Typhoon DVB-S budget card +Ernst Peinlich + for tuning/DiSEqC support for the DEC 3000-s (If you think you should be in this list, but you are not, drop a line to the DVB mailing list) diff --git a/Documentation/dvb/readme.txt b/Documentation/dvb/readme.txt index 720aa8ce0..a60c27d43 100644 --- a/Documentation/dvb/readme.txt +++ b/Documentation/dvb/readme.txt @@ -28,9 +28,9 @@ is the who-is-who of DVB development "faq.txt" contains frequently asked questions and their answers. -"firmware.txt" -contains informations for required external firmware -files and where to get them. +"get_dvb_firmware" +script to download and extract firmware for those devices +that require it. "ttusb-dec.txt" contains detailed informations about the @@ -41,4 +41,11 @@ contains detailed installation instructions for the various bt8xx based "budget" DVB cards (Nebula, Pinnacle PCTV, Twinhan DST) +"README.dibusb" +contains detailed information about adapters +based on DiBcom reference design. + +"udev.txt" +how to get DVB and udev up and running. + Good luck and have fun! diff --git a/Documentation/dvb/ttusb-dec.txt b/Documentation/dvb/ttusb-dec.txt index 4a547fba7..5c1e984c2 100644 --- a/Documentation/dvb/ttusb-dec.txt +++ b/Documentation/dvb/ttusb-dec.txt @@ -6,6 +6,8 @@ Driver Status Supported: DEC2000-t + DEC2450-t + DEC3000-s Linux Kernels 2.4 and 2.6 Video Streaming Audio Streaming @@ -13,52 +15,30 @@ Supported: Channel Zapping Hotplug firmware loader under 2.6 kernels -In Progress: - DEC2540-t - DEC3000-s - To Do: Tuner status information DVB network interface Streaming video PC->DEC + Conax support for 2450-t Getting the Firmware -------------------- -The firmware can be found in the software update zip files on this page: -http://www.hauppauge.de/sw_dec.htm - -The firmwares are named as follows: -DEC2000-t: STB_PC_T.bin -DEC2540-t: STB_PC_X.bin -DEC3000-s: STB_PC_S.bin - -Note that firmwares since version 2.16 beta2 for the DEC2000-t give the device -the USB ID of the DEC3000-s. The driver copes with this. - -Instructions follow for retrieving version 2.16 of the firmware: - -wget http://hauppauge.lightpath.net/de/dec216.exe -unzip -j dec216.exe software/OEM/STB/App/Boot/STB_PC_T.bin -unzip -j dec216.exe software/OEM/STB/App/Boot/STB_PC_X.bin -unzip -j dec216.exe software/OEM/STB/App/Boot/STB_PC_S.bin +To download the firmware, use the following commands: +"get_dvb_firmware dec2000t" +"get_dvb_firmware dec2540t" +"get_dvb_firmware dec3000s" Compilation Notes for 2.4 kernels --------------------------------- For 2.4 kernels the firmware for the DECs is compiled into the driver itself. -The firmwares are expected to be in the build-2.4 directory at compilation -time. -mv STB_PC_T.bin build-2.4/dvb-ttusb-dec-2000t.fw -mv STB_PC_X.bin build-2.4/dvb-ttusb-dec-2540t.fw -mv STB_PC_S.bin build-2.4/dvb-ttusb-dec-3000s.fw +Copy the three files downloaded above into the build-2.4 directory. Hotplug Firmware Loading for 2.6 kernels ---------------------------------------- For 2.6 kernels the firmware is loaded at the point that the driver module is -loaded. See Documentation/dvb/firmware.txt for more information. +loaded. See linux/Documentation/dvb/firmware.txt for more information. -mv STB_PC_T.bin /usr/lib/hotplug/firmware/dvb-ttusb-dec-2000t.fw -mv STB_PC_X.bin /usr/lib/hotplug/firmware/dvb-ttusb-dec-2540t.fw -mv STB_PC_S.bin /usr/lib/hotplug/firmware/dvb-ttusb-dec-3000s.fw +Copy the three files downloaded above into the /usr/lib/hotplug/firmware directory. diff --git a/Documentation/fb/matroxfb.txt b/Documentation/fb/matroxfb.txt index 621e3b3e4..ad7a67707 100644 --- a/Documentation/fb/matroxfb.txt +++ b/Documentation/fb/matroxfb.txt @@ -223,6 +223,13 @@ dfp:X - use settings X for digital flat panel interface. X is number from selects who is source of display clocks, whether G400, or panel. Default value is now read back from hardware - so you should specify this value only if you are also using `init' parameter. +outputs:XYZ - set mapping between CRTC and outputs. Each letter can have value + of 0 (for no CRTC), 1 (CRTC1) or 2 (CRTC2), and first letter corresponds + to primary analog output, second letter to the secondary analog output + and third letter to the DVI output. Default setting is 100 for + cards below G400 or G400 without DFP, 101 for G400 with DFP, and + 111 for G450 and G550. You can set mapping only on first card, + use matroxset for setting up other devices. vesa:X - selects startup videomode. X is number from 0 to 0x1FF, see table above for detailed explanation. Default is 640x480x8bpp if driver has 8bpp support. Otherwise first available of 640x350x4bpp, diff --git a/Documentation/fb/vesafb.txt b/Documentation/fb/vesafb.txt index 36beb54f1..814e2f56a 100644 --- a/Documentation/fb/vesafb.txt +++ b/Documentation/fb/vesafb.txt @@ -146,11 +146,16 @@ pmipal Use the protected mode interface for palette changes. mtrr setup memory type range registers for the vesafb framebuffer. -vram:n remap 'n' MiB of video RAM. If 0 or not specified, remap memory +vremap:n + remap 'n' MiB of video RAM. If 0 or not specified, remap memory according to video mode. (2.5.66 patch/idea by Antonino Daplas reversed to give override possibility (allocate more fb memory than the kernel would) to 2.4 by tmb@iki.fi) +vtotal:n + if the video BIOS of your card incorrectly determines the total + amount of video RAM, use this option to override the BIOS (in MiB). + Have fun! Gerd diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index f1c2cee13..570ef5db0 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking @@ -295,13 +295,19 @@ fl_release_private: yes yes prototypes: int (*fl_compare_owner)(struct file_lock *, struct file_lock *); void (*fl_notify)(struct file_lock *); /* unblock callback */ + void (*fl_copy_lock)(struct file_lock *, struct file_lock *); + void (*fl_release_private)(struct file_lock *); + void (*fl_break)(struct file_lock *); /* break_lease callback */ locking rules: BKL may block fl_compare_owner: yes no fl_notify: yes no +fl_copy_lock: yes no +fl_release_private: yes yes +fl_break: yes no - Currently only NLM provides instances of this class. None of the + Currently only NFSD and NLM provide instances of this class. None of the them block. If you have out-of-tree instances - please, show up. Locking in that area will change. --------------------------- buffer_head ----------------------------------- @@ -311,8 +317,8 @@ prototypes: locking rules: called from interrupts. In other words, extreme care is needed here. bh is locked, but that's all warranties we have here. Currently only RAID1, -highmem and fs/buffer.c are providing these. Block devices call this method -upon the IO completion. +highmem, fs/buffer.c, and fs/ntfs/aops.c are providing these. Block devices +call this method upon the IO completion. --------------------------- block_device_operations ----------------------- prototypes: diff --git a/Documentation/filesystems/devfs/ChangeLog b/Documentation/filesystems/devfs/ChangeLog index 12583144e..e5aba5246 100644 --- a/Documentation/filesystems/devfs/ChangeLog +++ b/Documentation/filesystems/devfs/ChangeLog @@ -1632,7 +1632,7 @@ Changes for patch v177 - Fixed bugs in handling symlinks: could leak or cause Oops - Cleaned up directory handling by separating fops - Thanks to Alexander Viro + Thanks to Alexander Viro =============================================================================== Changes for patch v178 diff --git a/Documentation/filesystems/devfs/README b/Documentation/filesystems/devfs/README index 3ef858266..54366ecc2 100644 --- a/Documentation/filesystems/devfs/README +++ b/Documentation/filesystems/devfs/README @@ -1349,47 +1349,6 @@ This will cause devfsd to create (and destroy) symbolic links which point to the kernel-supplied names. -SCSI Host Probing Issues - -Devfs allows you to identify SCSI discs based in part on SCSI host -numbers. If you have only one SCSI host (card) in your computer, then -clearly it will be given host number 0. Life is not always that easy -is you have multiple SCSI hosts. Unfortunately, it can sometimes be -difficult to guess what the probing order of SCSI hosts is. You need -to know the probe order before you can use device names. To make this -easy, there is a kernel boot parameter called "scsihosts". This allows -you to specify the probe order for different types of SCSI hosts. The -syntax of this parameter is: - -scsihosts=:::...: - -where ,,..., are the names -of drivers used in the /proc filesystem. For example: - - scsihosts=aha1542:ppa:aha1542::ncr53c7xx - - -means that devices connected to - -- first aha1542 controller - will be /dev/scsi/host0/bus#/target#/lun# -- first parallel port ZIP - will be /dev/scsi/host1/bus#/target#/lun# -- second aha1542 controller - will be /dev/scsi/host2/bus#/target#/lun# -- first NCR53C7xx controller - will be /dev/scsi/host4/bus#/target#/lun# -- any extra controller - will be /dev/scsi/host5/bus#/target#/lun#, - /dev/scsi/host6/bus#/target#/lun#, etc -- if any of above controllers will not be found - the reserved names will - not be used by any other device. -- /dev/scsi/host3/bus#/target#/lun# names will never be used - - -You can use ',' instead of ':' as the separator character if you -wish. I have used the devfsd naming scheme -here. - -Note that this scheme does not address the SCSI host order if you have -multiple cards of the same type (such as NCR53c8xx). In this case you -need to use the driver-specific boot parameters to control this. - ----------------------------------------------------------------------------- @@ -1952,12 +1911,6 @@ explores the SCSI subsystem and how it interacts with devfs Douglas Gilbert has written another useful document at -http://www.torque.net/scsi/scsihosts.html which -discusses the scsihosts= boot option - - -Douglas Gilbert has written yet another useful document at - http://www.torque.net/scsi/SCSI-2.4-HOWTO/ which discusses the Linux SCSI subsystem in 2.4. diff --git a/Documentation/filesystems/ext2.txt b/Documentation/filesystems/ext2.txt index 23a4d98f9..b5cb9110c 100644 --- a/Documentation/filesystems/ext2.txt +++ b/Documentation/filesystems/ext2.txt @@ -11,57 +11,53 @@ for NetBSD, FreeBSD, the GNU HURD, Windows 95/98/NT, OS/2 and RISC OS. Options ======= -When mounting an ext2 filesystem, the following options are accepted. -Defaults are marked with (*). +Most defaults are determined by the filesystem superblock, and can be +set using tune2fs(8). Kernel-determined defaults are indicated by (*). bsddf (*) Makes `df' act like BSD. minixdf Makes `df' act like Minix. -barrier=1 This enables/disables barriers. barrier=0 disables it, - barrier=1 enables it. - -orlov (*) This enables the new Orlov block allocator. It's - enabled by default. - -oldalloc This disables the Orlov block allocator and - enables the old block allocator. Orlov should - have better performance, we'd like to get some - feedback if it's the contrary for you. - -user_xattr (*) Enables POSIX Extended Attributes. It's enabled by - default, however you need to confifure its support - (CONFIG_EXT2_FS_XATTR). This is neccesary if you want - to use POSIX Acces Control Lists support. You can visit - http://acl.bestbits.at to know more about POSIX Extended - attributes. - -nouser_xattr Disables POSIX Extended Attributes. - -acl (*) Enables POSIX Access Control Lists support. This is - enabled by default, however you need to configure - its support (CONFIG_EXT2_FS_POSIX_ACL). If you want - to know more about ACLs visit http://acl.bestbits.at - -noacl This option disables POSIX Access Control List support. - +check Check block and inode bitmaps at mount time + (requires CONFIG_EXT2_CHECK). check=none, nocheck (*) Don't do extra checking of bitmaps on mount (check=normal and check=strict options removed) debug Extra debugging information is sent to the kernel syslog. Useful for developers. -errors=continue (*) Keep going on a filesystem error. +errors=continue Keep going on a filesystem error. errors=remount-ro Remount the filesystem read-only on an error. errors=panic Panic and halt the machine if an error occurs. grpid, bsdgroups Give objects the same group ID as their parent. -nogrpid, sysvgroups (*) New objects have the group ID of their creator. +nogrpid, sysvgroups New objects have the group ID of their creator. + +nouid32 Use 16-bit UIDs and GIDs. + +oldalloc Enable the old block allocator. Orlov should + have better performance, we'd like to get some + feedback if it's the contrary for you. +orlov (*) Use the Orlov block allocator. + (See http://lwn.net/Articles/14633/ and + http://lwn.net/Articles/14446/.) resuid=n The user ID which may use the reserved blocks. -resgid=n The group ID which may use the reserved blocks. +resgid=n The group ID which may use the reserved blocks. sb=n Use alternate superblock at this location. +user_xattr Enable "user." POSIX Extended Attributes + (requires CONFIG_EXT2_FS_XATTR). + See also http://acl.bestbits.at +nouser_xattr Don't support "user." extended attributes. + +acl Enable POSIX Access Control Lists support + (requires CONFIG_EXT2_FS_POSIX_ACL). + See also http://acl.bestbits.at +noacl Don't support POSIX ACLs. + +nobh Do not attach buffer_heads to file pagecache. + grpquota,noquota,quota,usrquota Quota options are silently ignored by ext2. diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index 7d600c0f4..f89b440fa 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt @@ -10,8 +10,10 @@ Table of contents - Features - Supported mount options - Known bugs and (mis-)features -- Using Software RAID with NTFS -- Limitiations when using the MD driver +- Using NTFS volume and stripe sets + - The Device-Mapper driver + - The Software RAID / MD driver + - Limitiations when using the MD driver - ChangeLog @@ -199,11 +201,161 @@ Please send bug reports/comments/feedback/abuse to the Linux-NTFS development list at sourceforge: linux-ntfs-dev@lists.sourceforge.net -Using Software RAID with NTFS -============================= +Using NTFS volume and stripe sets +================================= + +For support of volume and stripe sets, you can either use the kernel's +Device-Mapper driver or the kernel's Software RAID / MD driver. The former is +the recommended one to use for linear raid. But the latter is required for +raid level 5. For striping and mirroring, either driver should work fine. + + +The Device-Mapper driver +------------------------ + +You will need to create a table of the components of the volume/stripe set and +how they fit together and load this into the kernel using the dmsetup utility +(see man 8 dmsetup). + +Linear volume sets, i.e. linear raid, has been tested and works fine. Even +though untested, there is no reason why stripe sets, i.e. raid level 0, and +mirrors, i.e. raid level 1 should not work, too. Stripes with parity, i.e. +raid level 5, unfortunately cannot work yet because the current version of the +Device-Mapper driver does not support raid level 5. You may be able to use the +Software RAID / MD driver for raid level 5, see the next section for details. + +To create the table describing your volume you will need to know each of its +components and their sizes in sectors, i.e. multiples of 512-byte blocks. + +For NT4 fault tolerant volumes you can obtain the sizes using fdisk. So for +example if one of your partitions is /dev/hda2 you would do: + +$ fdisk -ul /dev/hda + +Disk /dev/hda: 81.9 GB, 81964302336 bytes +255 heads, 63 sectors/track, 9964 cylinders, total 160086528 sectors +Units = sectors of 1 * 512 = 512 bytes + + Device Boot Start End Blocks Id System + /dev/hda1 * 63 4209029 2104483+ 83 Linux + /dev/hda2 4209030 37768814 16779892+ 86 NTFS + /dev/hda3 37768815 46170809 4200997+ 83 Linux + +And you would know that /dev/hda2 has a size of 37768814 - 4209030 + 1 = +33559785 sectors. + +For Win2k and later dynamic disks, you can for example use the ldminfo utility +which is part of the Linux LDM tools (the latest version at the time of +writing is linux-ldm-0.0.8.tar.bz2). You can download it from: + http://linux-ntfs.sourceforge.net/downloads.html +Simply extract the downloaded archive (tar xvjf linux-ldm-0.0.8.tar.bz2), go +into it (cd linux-ldm-0.0.8) and change to the test directory (cd test). You +will find the precompiled (i386) ldminfo utility there. NOTE: You will not be +able to compile this yourself easily so use the binary version! + +Then you would use ldminfo in dump mode to obtain the necessary information: + +$ ./ldminfo --dump /dev/hda + +This would dump the LDM database found on /dev/hda which describes all of your +dynamic disks and all the volumes on them. At the bottom you will see the +VOLUME DEFINITIONS section which is all you really need. You may need to look +further above to determine which of the disks in the volume definitions is +which device in Linux. Hint: Run ldminfo on each of your dynamic disks and +look at the Disk Id close to the top of the output for each (the PRIVATE HEADER +section). You can then find these Disk Ids in the VBLK DATABASE section in the + components where you will get the LDM Name for the disk that is found in +the VOLUME DEFINITIONS section. + +Note you will also need to enable the LDM driver in the Linux kernel. If your +distribution did not enable it, you will need to recompile the kernel with it +enabled. This will create the LDM partitions on each device at boot time. You +would then use those devices (for /dev/hda they would be /dev/hda1, 2, 3, etc) +in the Device-Mapper table. + +You can also bypass using the LDM driver by using the main device (e.g. +/dev/hda) and then using the offsets of the LDM partitions into this device as +the "Start sector of device" when creating the table. Once again ldminfo would +give you the correct information to do this. + +Assuming you know all your devices and their sizes things are easy. + +For a linear raid the table would look like this (note all values are in +512-byte sectors): + +--- cut here --- +# Offset into Size of this Raid type Device Start sector +# volume device of device +0 1028161 linear /dev/hda1 0 +1028161 3903762 linear /dev/hdb2 0 +4931923 2103211 linear /dev/hdc1 0 +--- cut here --- -For support of volume and stripe sets, use the kernel's Software RAID / MD -driver and set up your /etc/raidtab appropriately (see man 5 raidtab). +For a striped volume, i.e. raid level 0, you will need to know the chunk size +you used when creating the volume. Windows uses 64kiB as the default, so it +will probably be this unless you changes the defaults when creating the array. + +For a raid level 0 the table would look like this (note all values are in +512-byte sectors): + +--- cut here --- +# Offset Size Raid Number Chunk 1st Start 2nd Start +# into of the type of size Device in Device in +# volume volume stripes device device +0 2056320 striped 2 128 /dev/hda1 0 /dev/hdb1 0 +--- cut here --- + +If there are more than two devices, just add each of them to the end of the +line. + +Finally, for a mirrored volume, i.e. raid level 1, the table would look like +this (note all values are in 512-byte sectors): + +--- cut here --- +# Ofs Size Raid Log Number Region Should Number Source Start Taget Start +# in of the type type of log size sync? of Device in Device in +# vol volume params mirrors Device Device +0 2056320 mirror core 2 16 nosync 2 /dev/hda1 0 /dev/hdb1 0 +--- cut here --- + +If you are mirroring to multiple devices you can specify further targets at the +end of the line. + +Note the "Should sync?" parameter "nosync" means that the two mirrors are +already in sync which will be the case on a clean shutdown of Windows. If the +mirrors are not clean, you can specify the "sync" option instead of "nosync" +and the Device-Mapper driver will then copy the entirey of the "Source Device" +to the "Target Device" or if you specified multipled target devices to all of +them. + +Once you have your table, save it in a file somewhere (e.g. /etc/ntfsvolume1), +and hand it over to dmsetup to work with, like so: + +$ dmsetup create myvolume1 /etc/ntfsvolume1 + +You can obviously replace "myvolume1" with whatever name you like. + +If it all worked, you will now have the device /dev/device-mapper/myvolume1 +which you can then just use as an argument to the mount command as usual to +mount the ntfs volume. For example: + +$ mount -t ntfs -o ro /dev/device-mapper/myvolume1 /mnt/myvol1 + +(You need to create the directory /mnt/myvol1 first and of course you can use +anything you like instead of /mnt/myvol1 as long as it is an existing +directory.) + +It is advisable to do the mount read-only to see if the volume has been setup +correctly to avoid the possibility of causing damage to the data on the ntfs +volume. + + +The Software RAID / MD driver +----------------------------- + +An alternative to using the Device-Mapper driver is to use the kernel's +Software RAID / MD driver. For which you need to set up your /etc/raidtab +appropriately (see man 5 raidtab). Linear volume sets, i.e. linear raid, as well as stripe sets, i.e. raid level 0, have been tested and work fine (though see section "Limitiations when using @@ -258,8 +410,8 @@ setup correctly to avoid the possibility of causing damage to the data on the ntfs volume. -Limitiations when using the MD driver -===================================== +Limitiations when using the Software RAID / MD driver +----------------------------------------------------- Using the md driver will not work properly if any of your NTFS partitions have an odd number of sectors. This is especially important for linear raid as all @@ -271,12 +423,24 @@ apparent when you try to use the volume again under Windows. So when using linear raid, make sure that all your partitions have an even number of sectors BEFORE attempting to use it. You have been warned! +Even better is to simply use the Device-Mapper for linear raid and then you do +not have this problem with odd numbers of sectors. + ChangeLog ========= Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. +2.1.22: + - Improve handling of ntfs volumes with errors. + - Fix various bugs and race conditions. +2.1.21: + - Fix several race conditions and various other bugs. + - Many internal cleanups, code reorganization, optimizations, and mft + and index record writing code rewritten to fit in with the changes. + - Update Documentation/filesystems/ntfs.txt with instructions on how to + use the Device-Mapper driver with NTFS ftdisk/LDM raid. 2.1.20: - Fix two stupid bugs introduced in 2.1.18 release. 2.1.19: diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 0dad0f2b0..2c3fc3a27 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -350,22 +350,6 @@ available. In this case, there are 0 chunks of 2^0*PAGE_SIZE available in ZONE_DMA, 4 chunks of 2^1*PAGE_SIZE in ZONE_DMA, 101 chunks of 2^4*PAGE_SIZE available in ZONE_NORMAL, etc... - -1.3 IDE devices in /proc/ide ----------------------------- - -The subdirectory /proc/ide contains information about all IDE devices of which -the kernel is aware. There is one subdirectory for each IDE controller, the -file drivers and a link for each IDE device, pointing to the device directory -in the controller specific subtree. - -The file drivers contains general information about the drivers used for the -IDE devices: - - > cat /proc/ide/drivers - ide-cdrom version 4.53 - ide-disk version 1.08 - .............................................................................. meminfo: @@ -394,9 +378,9 @@ Dirty: 968 kB Writeback: 0 kB Mapped: 280372 kB Slab: 684068 kB -Committed_AS: 1576424 kB +CommitLimit: 7669796 kB +Committed_AS: 100056 kB PageTables: 24448 kB -ReverseMaps: 1080904 VmallocTotal: 112216 kB VmallocUsed: 428 kB VmallocChunk: 111088 kB @@ -434,26 +418,54 @@ VmallocChunk: 111088 kB Writeback: Memory which is actively being written back to the disk Mapped: files which have been mmaped, such as libraries Slab: in-kernel data structures cache -Committed_AS: An estimate of how much RAM you would need to make a - 99.99% guarantee that there never is OOM (out of memory) - for this workload. Normally the kernel will overcommit - memory. That means, say you do a 1GB malloc, nothing - happens, really. Only when you start USING that malloc - memory you will get real memory on demand, and just as - much as you use. So you sort of take a mortgage and hope - the bank doesn't go bust. Other cases might include when - you mmap a file that's shared only when you write to it - and you get a private copy of that data. While it normally - is shared between processes. The Committed_AS is a - guesstimate of how much RAM/swap you would need - worst-case. + CommitLimit: Based on the overcommit ratio ('vm.overcommit_ratio'), + this is the total amount of memory currently available to + be allocated on the system. This limit is only adhered to + if strict overcommit accounting is enabled (mode 2 in + 'vm.overcommit_memory'). + The CommitLimit is calculated with the following formula: + CommitLimit = ('vm.overcommit_ratio' * Physical RAM) + Swap + For example, on a system with 1G of physical RAM and 7G + of swap with a `vm.overcommit_ratio` of 30 it would + yield a CommitLimit of 7.3G. + For more details, see the memory overcommit documentation + in vm/overcommit-accounting. +Committed_AS: The amount of memory presently allocated on the system. + The committed memory is a sum of all of the memory which + has been allocated by processes, even if it has not been + "used" by them as of yet. A process which malloc()'s 1G + of memory, but only touches 300M of it will only show up + as using 300M of memory even if it has the address space + allocated for the entire 1G. This 1G is memory which has + been "committed" to by the VM and can be used at any time + by the allocating application. With strict overcommit + enabled on the system (mode 2 in 'vm.overcommit_memory'), + allocations which would exceed the CommitLimit (detailed + above) will not be permitted. This is useful if one needs + to guarantee that processes will not fail due to lack of + memory once that memory has been successfully allocated. PageTables: amount of memory dedicated to the lowest level of page tables. - ReverseMaps: number of reverse mappings performed VmallocTotal: total size of vmalloc memory area VmallocUsed: amount of vmalloc area which is used VmallocChunk: largest contigious block of vmalloc area which is free + +1.3 IDE devices in /proc/ide +---------------------------- + +The subdirectory /proc/ide contains information about all IDE devices of which +the kernel is aware. There is one subdirectory for each IDE controller, the +file drivers and a link for each IDE device, pointing to the device directory +in the controller specific subtree. + +The file drivers contains general information about the drivers used for the +IDE devices: + + > cat /proc/ide/drivers + ide-cdrom version 4.53 + ide-disk version 1.08 + More detailed information can be found in the controller specific subdirectories. These are named ide0, ide1 and so on. Each of these directories contains the files shown in table 1-4. @@ -1269,6 +1281,14 @@ block_dump block_dump enables block I/O debugging when set to a nonzero value. More information on block I/O debugging is in Documentation/laptop-mode.txt. +swap_token_timeout +------------------ + +This file contains valid hold time of swap out protection token. The Linux +VM has token based thrashing control mechanism and uses the token to prevent +unnecessary page faults in thrashing situation. The unit of the value is +second. The value would be useful to tune thrashing behavior. + 2.5 /proc/sys/dev - Device specific parameters ---------------------------------------------- diff --git a/Documentation/filesystems/ufs.txt b/Documentation/filesystems/ufs.txt index bdedb9fff..2b5a56a6a 100644 --- a/Documentation/filesystems/ufs.txt +++ b/Documentation/filesystems/ufs.txt @@ -15,13 +15,15 @@ ufstype=type_of_ufs ufs manually by mount option ufstype. Possible values are: old old format of ufs - default value, supported os read-only + default value, supported as read-only 44bsd used in FreeBSD, NetBSD, OpenBSD - supported os read-write + supported as read-write + + ufs2 used in FreeBSD 5.x + supported as read-only - ufs2 used in FreeBSD 5.x - supported os read-only + 5xbsd synonym for ufs2 sun used in SunOS (Solaris) supported as read-write @@ -29,6 +31,9 @@ ufstype=type_of_ufs sunx86 used in SunOS for Intel (Solarisx86) supported as read-write + hp used in HP-UX + supported as read-only + nextstep used in NextStep supported as read-only @@ -46,7 +51,7 @@ POSSIBLE PROBLEMS ================= There is still bug in reallocation of fragment, in file fs/ufs/balloc.c, -line 364. But it seem working on current buffer cache configuration. +line 364. But it seems working on current buffer cache configuration. BUG REPORTS diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 5be10c915..3f318dd44 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt @@ -44,7 +44,7 @@ Opening a File The VFS implements the open(2), stat(2), chmod(2) and similar system calls. The pathname argument is used by the VFS to search through the directory entry cache (dentry cache or "dcache"). This provides a very -fast lookup mechanism to translate a pathname (filename) into a +fast look-up mechanism to translate a pathname (filename) into a specific dentry. An individual dentry usually has a pointer to an inode. Inodes are the @@ -64,7 +64,7 @@ resolve your pathname into a dentry, the VFS may have to resort to creating dentries along the way, and then loading the inode. This is done by looking up the inode. -To lookup an inode (usually read from disc) requires that the VFS +To look up an inode (usually read from disc) requires that the VFS calls the lookup() method of the parent directory inode. This method is installed by the specific filesystem implementation that the inode lives in. There will be more on this later. @@ -286,7 +286,7 @@ otherwise noted. dentry). Here you will probably call d_instantiate() with the dentry and the newly created inode - lookup: called when the VFS needs to lookup an inode in a parent + lookup: called when the VFS needs to look up an inode in a parent directory. The name to look for is found in the dentry. This method must call d_add() to insert the found inode into the dentry. The "i_count" field in the inode structure should be @@ -405,7 +405,10 @@ from device node to device driver (this is an unofficial kernel patch). -struct dentry_operations
+Directory Entry Cache (dcache)
+------------------------------ + +struct dentry_operations ======================== This describes how a filesystem can overload the standard dentry @@ -425,7 +428,7 @@ struct dentry_operations { }; d_revalidate: called when the VFS needs to revalidate a dentry. This - is called whenever a name lookup finds a dentry in the + is called whenever a name look-up finds a dentry in the dcache. Most filesystems leave this as NULL, because all their dentries in the dcache are valid @@ -448,6 +451,9 @@ Each dentry has a pointer to its parent dentry, as well as a hash list of child dentries. Child dentries are basically like files in a directory. +Directory Entry Cache APIs +-------------------------- + There are a number of functions defined which permit a filesystem to manipulate dentries: @@ -482,3 +488,184 @@ manipulate dentries: pointer is NULL, the dentry is called a "negative dentry". This function is commonly called when an inode is created for an existing negative dentry + + d_lookup: look up a dentry given its parent and path name component + It looks up the child of that given name from the dcache + hash table. If it is found, the reference count is incremented + and the dentry is returned. The caller must use d_put() + to free the dentry when it finishes using it. + + +RCU-based dcache locking model +------------------------------ + +On many workloads, the most common operation on dcache is +to look up a dentry, given a parent dentry and the name +of the child. Typically, for every open(), stat() etc., +the dentry corresponding to the pathname will be looked +up by walking the tree starting with the first component +of the pathname and using that dentry along with the next +component to look up the next level and so on. Since it +is a frequent operation for workloads like multiuser +environments and webservers, it is important to optimize +this path. + +Prior to 2.5.10, dcache_lock was acquired in d_lookup and thus +in every component during path look-up. Since 2.5.10 onwards, +fastwalk algorithm changed this by holding the dcache_lock +at the beginning and walking as many cached path component +dentries as possible. This signficantly decreases the number +of acquisition of dcache_lock. However it also increases the +lock hold time signficantly and affects performance in large +SMP machines. Since 2.5.62 kernel, dcache has been using +a new locking model that uses RCU to make dcache look-up +lock-free. + +The current dcache locking model is not very different from the existing +dcache locking model. Prior to 2.5.62 kernel, dcache_lock +protected the hash chain, d_child, d_alias, d_lru lists as well +as d_inode and several other things like mount look-up. RCU-based +changes affect only the way the hash chain is protected. For everything +else the dcache_lock must be taken for both traversing as well as +updating. The hash chain updations too take the dcache_lock. +The significant change is the way d_lookup traverses the hash chain, +it doesn't acquire the dcache_lock for this and rely on RCU to +ensure that the dentry has not been *freed*. + + +Dcache locking details +---------------------- +For many multi-user workloads, open() and stat() on files are +very frequently occurring operations. Both involve walking +of path names to find the dentry corresponding to the +concerned file. In 2.4 kernel, dcache_lock was held +during look-up of each path component. Contention and +cacheline bouncing of this global lock caused significant +scalability problems. With the introduction of RCU +in linux kernel, this was worked around by making +the look-up of path components during path walking lock-free. + + +Safe lock-free look-up of dcache hash table +=========================================== + +Dcache is a complex data structure with the hash table entries +also linked together in other lists. In 2.4 kernel, dcache_lock +protected all the lists. We applied RCU only on hash chain +walking. The rest of the lists are still protected by dcache_lock. +Some of the important changes are : + +1. The deletion from hash chain is done using hlist_del_rcu() macro which + doesn't initialize next pointer of the deleted dentry and this + allows us to walk safely lock-free while a deletion is happening. + +2. Insertion of a dentry into the hash table is done using + hlist_add_head_rcu() which take care of ordering the writes - + the writes to the dentry must be visible before the dentry + is inserted. This works in conjuction with hlist_for_each_rcu() + while walking the hash chain. The only requirement is that + all initialization to the dentry must be done before hlist_add_head_rcu() + since we don't have dcache_lock protection while traversing + the hash chain. This isn't different from the existing code. + +3. The dentry looked up without holding dcache_lock by cannot be + returned for walking if it is unhashed. It then may have a NULL + d_inode or other bogosity since RCU doesn't protect the other + fields in the dentry. We therefore use a flag DCACHE_UNHASHED to + indicate unhashed dentries and use this in conjunction with a + per-dentry lock (d_lock). Once looked up without the dcache_lock, + we acquire the per-dentry lock (d_lock) and check if the + dentry is unhashed. If so, the look-up is failed. If not, the + reference count of the dentry is increased and the dentry is returned. + +4. Once a dentry is looked up, it must be ensured during the path + walk for that component it doesn't go away. In pre-2.5.10 code, + this was done holding a reference to the dentry. dcache_rcu does + the same. In some sense, dcache_rcu path walking looks like + the pre-2.5.10 version. + +5. All dentry hash chain updations must take the dcache_lock as well as + the per-dentry lock in that order. dput() does this to ensure + that a dentry that has just been looked up in another CPU + doesn't get deleted before dget() can be done on it. + +6. There are several ways to do reference counting of RCU protected + objects. One such example is in ipv4 route cache where + deferred freeing (using call_rcu()) is done as soon as + the reference count goes to zero. This cannot be done in + the case of dentries because tearing down of dentries + require blocking (dentry_iput()) which isn't supported from + RCU callbacks. Instead, tearing down of dentries happen + synchronously in dput(), but actual freeing happens later + when RCU grace period is over. This allows safe lock-free + walking of the hash chains, but a matched dentry may have + been partially torn down. The checking of DCACHE_UNHASHED + flag with d_lock held detects such dentries and prevents + them from being returned from look-up. + + +Maintaining POSIX rename semantics +================================== + +Since look-up of dentries is lock-free, it can race against +a concurrent rename operation. For example, during rename +of file A to B, look-up of either A or B must succeed. +So, if look-up of B happens after A has been removed from the +hash chain but not added to the new hash chain, it may fail. +Also, a comparison while the name is being written concurrently +by a rename may result in false positive matches violating +rename semantics. Issues related to race with rename are +handled as described below : + +1. Look-up can be done in two ways - d_lookup() which is safe + from simultaneous renames and __d_lookup() which is not. + If __d_lookup() fails, it must be followed up by a d_lookup() + to correctly determine whether a dentry is in the hash table + or not. d_lookup() protects look-ups using a sequence + lock (rename_lock). + +2. The name associated with a dentry (d_name) may be changed if + a rename is allowed to happen simultaneously. To avoid memcmp() + in __d_lookup() go out of bounds due to a rename and false + positive comparison, the name comparison is done while holding the + per-dentry lock. This prevents concurrent renames during this + operation. + +3. Hash table walking during look-up may move to a different bucket as + the current dentry is moved to a different bucket due to rename. + But we use hlists in dcache hash table and they are null-terminated. + So, even if a dentry moves to a different bucket, hash chain + walk will terminate. [with a list_head list, it may not since + termination is when the list_head in the original bucket is reached]. + Since we redo the d_parent check and compare name while holding + d_lock, lock-free look-up will not race against d_move(). + +4. There can be a theoritical race when a dentry keeps coming back + to original bucket due to double moves. Due to this look-up may + consider that it has never moved and can end up in a infinite loop. + But this is not any worse that theoritical livelocks we already + have in the kernel. + + +Important guidelines for filesystem developers related to dcache_rcu +==================================================================== + +1. Existing dcache interfaces (pre-2.5.62) exported to filesystem + don't change. Only dcache internal implementation changes. However + filesystems *must not* delete from the dentry hash chains directly + using the list macros like allowed earlier. They must use dcache + APIs like d_drop() or __d_drop() depending on the situation. + +2. d_flags is now protected by a per-dentry lock (d_lock). All + access to d_flags must be protected by it. + +3. For a hashed dentry, checking of d_count needs to be protected + by d_lock. + + +Papers and other documentation on dcache locking +================================================ + +1. Scaling dcache with RCU (http://linuxjournal.com/article.php?sid=7124). + +2. http://lse.sourceforge.net/locking/dcache/dcache.html diff --git a/Documentation/floppy.txt b/Documentation/floppy.txt index 99d3ad3b3..6fb10fcd8 100644 --- a/Documentation/floppy.txt +++ b/Documentation/floppy.txt @@ -13,15 +13,20 @@ LILO configuration options (Thinkpad users, read this) The floppy driver is configured using the 'floppy=' option in lilo. This option can be typed at the boot prompt, or entered in the lilo configuration file. - Example: If your kernel is called linux-2.2.13, type the following line + + Example: If your kernel is called linux-2.6.9, type the following line at the lilo boot prompt (if you have a thinkpad): - linux-2.2.13 floppy=thinkpad + + linux-2.6.9 floppy=thinkpad + You may also enter the following line in /etc/lilo.conf, in the description -of linux-2.2.13: +of linux-2.6.9: + append = "floppy=thinkpad" Several floppy related options may be given, example: - linux-2.2.13 floppy=daring floppy=two_fdc + + linux-2.6.9 floppy=daring floppy=two_fdc append = "floppy=daring floppy=two_fdc" If you give options both in the lilo config file and on the boot @@ -29,17 +34,25 @@ prompt, the option strings of both places are concatenated, the boot prompt options coming last. That's why there are also options to restore the default behavior. + +Module configuration options +============================ + If you use the floppy driver as a module, use the following syntax: - insmod floppy +modprobe floppy Example: - insmod floppy daring two_fdc + modprobe floppy omnibook messages + + If you need certain options enabled every time you load the floppy driver, +you can put: + + options floppy omnibook messages + +in /etc/modprobe.conf. - Some versions of insmod are buggy in one way or another. If you have -any problems (options not being passed correctly, segfaults during -insmod), first check whether there is a more recent version. - The floppy related options include: + The floppy driver related options are: floppy=asus_pci Sets the bit mask to allow only units 0 and 1. (default) @@ -99,7 +112,7 @@ insmod), first check whether there is a more recent version. master arbitration error" messages from your Ethernet card (or from other devices) while accessing the floppy. - floppy=fifo + floppy=usefifo Enables the FIFO. (default) floppy=,fifo_depth @@ -110,6 +123,7 @@ insmod), first check whether there is a more recent version. lower, the interrupt latency should be lower too (faster processor). The benefit of a lower threshold is less interrupts. + To tune the fifo threshold, switch on over/underrun messages using 'floppycontrol --messages'. Then access a floppy disk. If you get a huge amount of "Over/Underrun - retrying" @@ -120,6 +134,7 @@ insmod), first check whether there is a more recent version. fifo values without rebooting the machine for each test. Note that you need to do 'floppycontrol --messages' every time you re-insert the module. + Usually, tuning the fifo threshold should not be needed, as the default (0xa) is reasonable. @@ -128,6 +143,7 @@ insmod), first check whether there is a more recent version. you have more than two floppy drives (only two can be described in the physical CMOS), or if your BIOS uses non-standard CMOS types. The CMOS types are: + 0 - Use the value of the physical CMOS 1 - 5 1/4 DD 2 - 5 1/4 HD @@ -136,6 +152,7 @@ insmod), first check whether there is a more recent version. 5 - 3 1/2 ED 6 - 3 1/2 ED 16 - unknown or not installed + (Note: there are two valid types for ED drives. This is because 5 was initially chosen to represent floppy *tapes*, and 6 for ED drives. AMI ignored this, and used 5 for ED drives. That's why the floppy @@ -188,7 +205,6 @@ insmod), first check whether there is a more recent version. in some more extreme cases." - Supporting utilities and additional documentation: ================================================== @@ -219,3 +235,11 @@ sure to mention also the type of the filesystem in the subject line. Be sure to read the FAQ before mailing/posting any bug reports! Alain + +Changelog +========= + +10-30-2004 : Cleanup, updating, add reference to module configuration. + James Nelson + +6-3-2000 : Original Document diff --git a/Documentation/ftape.txt b/Documentation/ftape.txt index 9cc814a55..7d8bb3384 100644 --- a/Documentation/ftape.txt +++ b/Documentation/ftape.txt @@ -2,26 +2,21 @@ Intro ===== This file describes some issues involved when using the "ftape" -floppy tape device driver that comes with the Linux kernel. This -document deals with ftape-3.04 and later. Please read the section -"Changes" for the most striking differences between version 3.04 and -2.08; the latter was the version of ftape delivered with the kernel -until kernel version 2.0.30 and 2.1.57. ftape-3.x developed as the -re-unification of ftape-2.x and zftape. zftape was developed in -parallel with the stock ftape-2.x driver sharing the same hardware -support but providing an enhanced file system interface. zftape also -provided user transparent block-wise on-the-fly compression (regard it -as a feature or bug of zftape). +floppy tape device driver that comes with the Linux kernel. ftape has a home page at -http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape +http://ftape.dot-heine.de/ which contains further information about ftape. Please cross check this WWW address against the address given (if any) in the MAINTAINERS file located in the top level directory of the Linux kernel source tree. +NOTE: This is an unmaintained set of drivers, and it is not guaranteed to work. +If you are interested in taking over maintenance, contact Claus-Justus Heine +, the former maintainer. + Contents ======== @@ -31,9 +26,8 @@ A. Changes 1. Goal 2. I/O Block Size 3. Write Access when not at EOD (End Of Data) or BOT (Begin Of Tape) - 4. MTBSF - backspace over file mark and position at its EOT side - 5. Formatting - 6. Interchanging cartridges with other operating systems + 4. Formatting + 5. Interchanging cartridges with other operating systems B. Debugging Output 1. Introduction @@ -58,7 +52,7 @@ changed. Up to date documentation as well as recent development versions of ftape and useful links to related topics can be found at the ftape home page at -http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape +http://ftape.dot-heine.de/ ******************************************************************************* @@ -70,7 +64,7 @@ A. Changes The goal of all that incompatibilities was to give ftape an interface that resembles the interface provided by SCSI tape drives as close as possible. Thus any Unix backup program that is known to work - with SCSI tape drives should also work with ftape-3.04 and above. + with SCSI tape drives should also work. The concept of a fixed block size for read/write transfers is rather unrelated to this SCSI tape compatibility at the file system @@ -81,14 +75,8 @@ A. Changes 2. I/O Block Size ~~~~~~~~~~~~~~ - The probably most striking difference between ftape-2.x and - ftape-3.x with the zftape file system interface is the concept of a - fixed block size: data must be written to or read from the tape in - multiples of a fixed block size. The block size defaults to 10k - which is the default block size of GNU tar. While this is quite - usual for SCSI tapes (block size of 32k?) and the QIC-150 driver - `./drivers/char/tpqic02.c' ftape-2.x allowed data to be written in - arbitrary portions to the tape. + The block size defaults to 10k which is the default block size of + GNU tar. The block size can be tuned either during kernel configuration or at runtime with the MTIOCTOP ioctl using the MTSETBLK operation @@ -109,53 +97,41 @@ A. Changes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zftape (the file system interface of ftape-3.x) denies write access to the tape cartridge when it isn't positioned either at BOT or - EOD. This inconvenience has been introduced as it was reported that - the former behavior of ftape-2.x which allowed write access at - arbitrary locations already has caused data loss with some backup - programs. - -4. MTBSF - backspace over file mark and position at its EOT side - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ftape-2.x didn't handle the MTBSF tape operation correctly. A MTBSF - call (i.e. "mt -f /dev/nqft0 bsf #COUNT") should space over #COUNT - file marks and then position at the EOT tape side of the file - mark. This has to be taken literally, i.e. "mt -f /dev/nqft0 bsf 1" - should simply position at the start of the current volume. - -5. Formatting + EOD. + +4. Formatting ~~~~~~~~~~ - ftape-3.x DOES support formatting of floppy tape cartridges. You - need the `ftformat' program that is shipped with the modules version - of ftape-3.x. Please get the latest version of ftape from + ftape DOES support formatting of floppy tape cartridges. You need the + `ftformat' program that is shipped with the modules version of ftape. + Please get the latest version of ftape from ftp://sunsite.unc.edu/pub/Linux/kernel/tapes or from the ftape home page at - http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape + http://ftape.dot-heine.de/ `ftformat' is contained in the `./contrib/' subdirectory of that separate ftape package. -6. Interchanging cartridges with other operating systems +5. Interchanging cartridges with other operating systems ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The internal emulation of Unix tape device file marks has changed - completely. ftape-3.x now uses the volume table segment as specified + completely. ftape now uses the volume table segment as specified by the QIC-40/80/3010/3020/113 standards to emulate file marks. As a consequence there is limited support to interchange cartridges with other operating systems. To be more precise: ftape will detect volumes written by other OS's programs and other OS's programs will detect volumes written by - ftape-3.x. + ftape. However, it isn't possible to extract the data dumped to the tape - by some MSDOG program with ftape-3.x. This exceeds the scope of a + by some MSDOS program with ftape. This exceeds the scope of a kernel device driver. If you need such functionality, then go ahead - and write a user space utility that is able to do - that. ftape-3.x/zftape already provides all kernel level support - necessary to do that. + and write a user space utility that is able to do that. ftape already + provides all kernel level support necessary to do that. ******************************************************************************* @@ -200,7 +176,7 @@ B. Debugging Output ii) trim the debugging output at module load time with - insmod ftape.o ft_tracing=#DBGLVL + modprobe ftape ft_tracing=#DBGLVL Of course, this applies only if you have configured ftape to be compiled as a module. @@ -240,7 +216,7 @@ C. Boot and load time configuration 2. Module load time parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Module parameters can be specified either directly when invoking - the program 'insmod' at the shell prompt: + the program 'modprobe' at the shell prompt: modprobe ftape ft_tracing=4 @@ -277,6 +253,12 @@ C. Boot and load time configuration line documentation provided during that kernel configuration process. + ft_probe_fc10 is set to a non-zero value if you wish for ftape to + probe for a Colorado FC-10 or FC-20 controller. + + ft_mach2 is set to a non-zero value if you wish for ftape to probe + for a Mountain MACH-2 controller. + module | kernel command line -----------------------|---------------------- ft_fdc_base=BASE | ftape=BASE,ioport @@ -316,10 +298,10 @@ D. Support and contacts page to query for the most recent documentation, related work and development versions of ftape. + Changelog: + ========== + +~1996: Original Document - LocalWords: ftape Linux zftape http www rwth aachen LBFM claus EOD config - LocalWords: datarate LocalWords BOT MTBSF EOT HOWTO QIC tpqic menuconfig - LocalWords: MTIOCTOP MTSETBLK mt dev qft setblk BLKSZ bsf zftape's xconfig - LocalWords: nqft ftformat ftp sunsite unc edu contrib ft MSDOG fdc - LocalWords: dma setdensity DBGLVL insmod lilo LI nux ader conf txt - LocalWords: modprobe IRQ BOOL ioport irq fc mach THR +10-24-2004: General cleanup and updating, noting additional module options. + James Nelson diff --git a/Documentation/hw_random.txt b/Documentation/hw_random.txt index 20be482b6..bb58c36b5 100644 --- a/Documentation/hw_random.txt +++ b/Documentation/hw_random.txt @@ -67,72 +67,3 @@ Driver details: Special thanks to Matt Sottek. I did the "guts", he did the "brains" and all the testing. - -Change history: - - Version 1.0.0: - * Merge Intel, AMD, VIA RNG drivers into one. - Further changelog in BitKeeper. - - Version 0.9.8: - * Support other i8xx chipsets by adding 82801E detection - * 82801DB detection is the same as for 82801CA. - - Version 0.9.7: - * Support other i8xx chipsets too (by adding 82801BA(M) and - 82801CA(M) detection) - - Version 0.9.6: - * Internal driver cleanups, prep for 1.0.0 release. - - Version 0.9.5: - * Rip out entropy injection via timer. It never ever worked, - and a better solution (rngd) is now available. - - Version 0.9.4: - * Fix: Remove request_mem_region - * Fix: Horrible bugs in FIPS calculation and test execution - - Version 0.9.3: - * Clean up rng_read a bit. - * Update i810_rng driver Web site URL. - * Increase default timer interval to 4 samples per second. - * Abort if mem region is not available. - * BSS zero-initialization cleanup. - * Call misc_register() from rng_init_one. - * Fix O_NONBLOCK to occur before we schedule. - - Version 0.9.2: - * Simplify open blocking logic - - Version 0.9.1: - * Support i815 chipsets too (Matt Sottek) - * Fix reference counting when statically compiled (prumpf) - * Rewrite rng_dev_read (prumpf) - * Make module races less likely (prumpf) - * Small miscellaneous bug fixes (prumpf) - * Use pci table for PCI id list - - Version 0.9.0: - * Don't register a pci_driver, because we are really - using PCI bridge vendor/device ids, and someone - may want to register a driver for the bridge. (bug fix) - * Don't let the usage count go negative (bug fix) - * Clean up spinlocks (bug fix) - * Enable PCI device, if necessary (bug fix) - * iounmap on module unload (bug fix) - * If RNG chrdev is already in use when open(2) is called, - sleep until it is available. - * Remove redundant globals rng_allocated, rng_use_count - * Convert numeric globals to unsigned - * Module unload cleanup - - Version 0.6.2: - * Clean up spinlocks. Since we don't have any interrupts - to worry about, but we do have a timer to worry about, - we use spin_lock_bh everywhere except the timer function - itself. - * Fix module load/unload. - * Fix timer function and h/w enable/disable logic - * New timer interval sysctl - * Clean up sysctl names diff --git a/Documentation/i2c/dev-interface b/Documentation/i2c/dev-interface index 4fe882cb4..09d6cda2a 100644 --- a/Documentation/i2c/dev-interface +++ b/Documentation/i2c/dev-interface @@ -3,7 +3,7 @@ possible to access all devices on an adapter from userspace, through the /dev interface. You need to load module i2c-dev for this. Each registered i2c adapter gets a number, counting from 0. You can -examine /proc/bus/i2c to see what number corresponds to which adapter. +examine /sys/class/i2c-dev/ to see what number corresponds to which adapter. I2C device files are character device files with major device number 89 and a minor device number corresponding to the number assigned as explained above. They should be called "i2c-%d" (i2c-0, i2c-1, ..., @@ -19,7 +19,7 @@ Yes, I know, you should never include kernel header files, but until glibc knows about i2c, there is not much choice. Now, you have to decide which adapter you want to access. You should -inspect /proc/bus/i2c to decide this. Adapter numbers are assigned +inspect /sys/class/i2c-dev/ to decide this. Adapter numbers are assigned somewhat dynamically, so you can not even assume /dev/i2c-0 is the first adapter. diff --git a/Documentation/i2c/sysfs-interface b/Documentation/i2c/sysfs-interface index 3e74daeb9..346400519 100644 --- a/Documentation/i2c/sysfs-interface +++ b/Documentation/i2c/sysfs-interface @@ -135,18 +135,44 @@ fan[1-3]_div Fan divisor. Note that this is actually an internal clock divisor, which affects the measurable speed range, not the read value. -fan[1-3]_pwm Pulse width modulation fan control. +******* +* PWM * +******* + +pwm[1-3] Pulse width modulation fan control. Integer value in the range 0 to 255 Read/Write 255 is max or 100%. -fan[1-3]_pwm_enable +pwm[1-3]_enable Switch PWM on and off. Not always present even if fan*_pwm is. 0 to turn off - 1 to turn on + 1 to turn on in manual mode + 2 to turn on in automatic mode Read/Write +pwm[1-*]_auto_channels_temp + Select which temperature channels affect this PWM output in + auto mode. Bitfield, 1 is temp1, 2 is temp2, 4 is temp3 etc... + Which values are possible depend on the chip used. + +pwm[1-*]_auto_point[1-*]_pwm +pwm[1-*]_auto_point[1-*]_temp +pwm[1-*]_auto_point[1-*]_temp_hyst + Define the PWM vs temperature curve. Number of trip points is + chip-dependent. Use this for chips which associate trip points + to PWM output channels. + +OR + +temp[1-*]_auto_point[1-*]_pwm +temp[1-*]_auto_point[1-*]_temp +temp[1-*]_auto_point[1-*]_temp_hyst + Define the PWM vs temperature curve. Number of trip points is + chip-dependent. Use this for chips which associate trip points + to temperature channels. + **************** * Temperatures * diff --git a/Documentation/i2c/writing-clients b/Documentation/i2c/writing-clients index a45421284..011e92094 100644 --- a/Documentation/i2c/writing-clients +++ b/Documentation/i2c/writing-clients @@ -24,22 +24,24 @@ all clients from it. Remember, a driver structure contains general access routines, a client structure specific information like the actual I2C address. - static struct i2c_driver foo_driver = { - .owner = THIS_MODULE, - .name = "Foo version 2.3 driver", - .id = I2C_DRIVERID_FOO, /* usually from i2c-id.h */ - .flags = I2C_DF_NOTIFY, - .attach_adapter = &foo_attach_adapter, - .detach_client = &foo_detach_client, - .command = &foo_command /* may be NULL */ - } +static struct i2c_driver foo_driver = { + .owner = THIS_MODULE, + .name = "Foo version 2.3 driver", + .id = I2C_DRIVERID_FOO, /* from i2c-id.h, optional */ + .flags = I2C_DF_NOTIFY, + .attach_adapter = &foo_attach_adapter, + .detach_client = &foo_detach_client, + .command = &foo_command /* may be NULL */ +} The name can be chosen freely, and may be upto 40 characters long. Please use something descriptive here. -The id should be a unique ID. The range 0xf000 to 0xffff is reserved for -local use, and you can use one of those until you start distributing the -driver. Before you do that, contact the i2c authors to get your own ID(s). +If used, the id should be a unique ID. The range 0xf000 to 0xffff is +reserved for local use, and you can use one of those until you start +distributing the driver, at which time you should contact the i2c authors +to get your own ID(s). Note that most of the time you don't need an ID +at all so you can just omit it. Don't worry about the flags field; just put I2C_DF_NOTIFY into it. This means that your driver will be notified when new adapters are found. @@ -569,7 +571,7 @@ the driver module is usually enough. have to be cleaned up! */ static int __initdata foo_initialized = 0; - int __init foo_init(void) + static int __init foo_init(void) { int res; printk("foo version %s (%s)\n",FOO_VERSION,FOO_DATE); @@ -583,41 +585,27 @@ the driver module is usually enough. return 0; } - int __init foo_cleanup(void) + void foo_cleanup(void) { - int res; if (foo_initialized == 1) { if ((res = i2c_del_driver(&foo_driver))) { printk("foo: Driver registration failed, module not removed.\n"); - return res; + return; } foo_initialized --; } - return 0; } - #ifdef MODULE - /* Substitute your own name and email address */ MODULE_AUTHOR("Frodo Looijaard " MODULE_DESCRIPTION("Driver for Barf Inc. Foo I2C devices"); - int init_module(void) - { - return foo_init(); - } - - int cleanup_module(void) - { - return foo_cleanup(); - } - - #endif /* def MODULE */ + module_init(foo_init); + module_exit(foo_cleanup); Note that some functions are marked by `__init', and some data structures -by `__init_data'. If this driver is compiled as part of the kernel (instead -of as a module), those functions and structures can be removed after -kernel booting is completed. +by `__init_data'. Hose functions and structures can be removed after +kernel booting (or module loading) is completed. Command function ================ @@ -688,14 +676,26 @@ SMBus communication extern s32 i2c_smbus_read_word_data(struct i2c_client * client, u8 command); extern s32 i2c_smbus_write_word_data(struct i2c_client * client, u8 command, u16 value); - extern s32 i2c_smbus_process_call(struct i2c_client * client, - u8 command, u16 value); - extern s32 i2c_smbus_read_block_data(struct i2c_client * client, - u8 command, u8 *values); extern s32 i2c_smbus_write_block_data(struct i2c_client * client, u8 command, u8 length, u8 *values); +These ones were removed in Linux 2.6.10 because they had no users, but could +be added back later if needed: + + extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client, + u8 command, u8 *values); + extern s32 i2c_smbus_read_block_data(struct i2c_client * client, + u8 command, u8 *values); + extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client, + u8 command, u8 length, + u8 *values); + extern s32 i2c_smbus_process_call(struct i2c_client * client, + u8 command, u16 value); + extern s32 i2c_smbus_block_process_call(struct i2c_client *client, + u8 command, u8 length, + u8 *values) + All these transactions return -1 on failure. The 'write' transactions return 0 on success; the 'read' transactions return the read value, except for read_block, which returns the number of values read. The block buffers diff --git a/Documentation/ide.txt b/Documentation/ide.txt index 58853a4ef..12c7a2fd6 100644 --- a/Documentation/ide.txt +++ b/Documentation/ide.txt @@ -248,13 +248,6 @@ Summary of ide driver parameters for kernel command line allowing ide-floppy, ide-tape, and ide-cdrom|writers to use ide-scsi emulation on a device specific option. - "hdx=stroke" : Should you have a system w/ an AWARD Bios and your - drives are larger than 32GB and it will not boot, - one is required to perform a few OEM operations first. - The option is called "stroke" because it allows one - to "soft clip" the drive to work around a barrier - limit. - "idebus=xx" : inform IDE driver of VESA/PCI bus speed in MHz, where "xx" is between 20 and 66 inclusive, used when tuning chipset PIO modes. @@ -304,7 +297,7 @@ Summary of ide driver parameters for kernel command line "ide=reverse" : formerly called to pci sub-system, but now local. -The following are valid ONLY on ide0 (except dc4030), which usually corresponds +The following are valid ONLY on ide0, which usually corresponds to the first ATA interface found on the particular host, and the defaults for the base,ctl ports must not be altered. @@ -315,7 +308,7 @@ the base,ctl ports must not be altered. "ide0=qd65xx" : probe/support qd65xx interface "ide0=ali14xx" : probe/support ali14xx chipsets (ALI M1439/M1443/M1445) "ide0=umc8672" : probe/support umc8672 chipsets - "idex=dc4030" : probe/support Promise DC4030VL interface + "ide=doubler" : probe/support IDE doublers on Amiga There may be more options than shown -- use the source, Luke! diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt index 1075e4de2..2616a58a5 100644 --- a/Documentation/kbuild/makefiles.txt +++ b/Documentation/kbuild/makefiles.txt @@ -6,7 +6,7 @@ This document describes the Linux kernel Makefiles. === 1 Overview === 2 Who does what - === 3 The kbuild Makefiles + === 3 The kbuild files --- 3.1 Goal definitions --- 3.2 Built-in object goals - obj-y --- 3.3 Loadable module goals - obj-m @@ -101,11 +101,14 @@ These people need to know about all aspects of the kernel Makefiles. This document is aimed towards normal developers and arch developers. -=== 3 The kbuild Makefiles +=== 3 The kbuild files Most Makefiles within the kernel are kbuild Makefiles that use the kbuild infrastructure. This chapter introduce the syntax used in the kbuild makefiles. +The preferred name for the kbuild files is 'Kbuild' but 'Makefile' will +continue to be supported. All new developmen is expected to use the +Kbuild filename. Section 3.1 "Goal definitions" is a quick intro, further chapters provide more details, with real examples. @@ -707,15 +710,17 @@ When kbuild executes the following steps are followed (roughly): probe supported options: #arch/i386/Makefile - check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc \ - /dev/null\ > /dev/null 2>&1; then echo "$(1)"; \ - else echo "$(2)"; fi) - cflags-$(CONFIG_MCYRIXIII) += $(call check_gcc,\ - -march=c3,-march=i486) - CFLAGS += $(cflags-y) + ... + cflags-$(CONFIG_MPENTIUMII) += $(call cc-option,\ + -march=pentium2,-march=i686) + ... + # Disable unit-at-a-time mode ... + CFLAGS += $(call cc-option,-fno-unit-at-a-time) + ... + - The above examples both utilise the trick that a config option expands + The first examples utilises the trick that a config option expands to 'y' when selected. CFLAGS_KERNEL $(CC) options specific for built-in @@ -997,6 +1002,21 @@ When kbuild executes the following steps are followed (roughly): option. When $(biarch) equals to y the expanded variables $(aflags-y) and $(cflags-y) will be assigned the values -a32 and -m32. + cc-option-align + gcc version >= 3.0 shifted type of options used to speify + alignment of functions, loops etc. $(cc-option-align) whrn used + as prefix to the align options will select the right prefix: + gcc < 3.00 + cc-option-align = -malign + gcc >= 3.00 + cc-option-align = -falign + + Example: + CFLAGS += $(cc-option-align)-functions=4 + + In the above example the option -falign-functions=4 is used for + gcc >= 3.00. For gcc < 3.00 -malign-functions=4 is used. + cc-version cc-version return a numerical version of the $(CC) compiler version. The format is where both are two digits. So for example diff --git a/Documentation/kbuild/modules.txt b/Documentation/kbuild/modules.txt index b8933206f..c91caf7eb 100644 --- a/Documentation/kbuild/modules.txt +++ b/Documentation/kbuild/modules.txt @@ -1,68 +1,419 @@ -For now this is a raw copy from the old Documentation/kbuild/modules.txt, -which was removed in 2.6.0-test5. -The information herein is correct but not complete. - -Installing modules in a non-standard location ---------------------------------------------- -When the modules needs to be installed under another directory -the INSTALL_MOD_PATH can be used to prefix "/lib/modules" as seen -in the following example: - -make INSTALL_MOD_PATH=/frodo modules_install - -This will install the modules in the directory /frodo/lib/modules. -/frodo can be a NFS mounted filesystem on another machine, allowing -out-of-the-box support for installation on remote machines. - - -Compiling modules outside the official kernel ---------------------------------------------- - -Often modules are developed outside the official kernel. To keep up -with changes in the build system the most portable way to compile a -module outside the kernel is to use the kernel build system, -kbuild. Use the following command-line: - -make -C path/to/kernel/src M=$PWD modules - -This requires that a makefile exits made in accordance to -Documentation/kbuild/makefiles.txt. Read that file for more details on -the build system. - -The following is a short summary of how to write your Makefile to get -you up and running fast. Assuming your module will be called -yourmodule.ko, your code should be in yourmodule.c and your Makefile -should include - -obj-m := yourmodule.o - -If the code for your module is in multiple files that need to be -linked, you need to tell the build system which files to compile. In -the case of multiple files, none of these files can be named -yourmodule.c because doing so would cause a problem with the linking -step. Assuming your code exists in file1.c, file2.c, and file3.c and -you want to build yourmodule.ko from them, your Makefile should -include - -obj-m := yourmodule.o -yourmodule-objs := file1.o file2.o file3.o - -Now for a final example to put it all together. Assuming the -KERNEL_SOURCE environment variable is set to the directory where you -compiled the kernel, a simple Makefile that builds yourmodule.ko as -described above would look like - -# Tells the build system to build yourmodule.ko. -obj-m := yourmodule.o - -# Tells the build system to build these object files and link them as -# yourmodule.o, before building yourmodule.ko. This line can be left -# out if all the code for your module is in one file, yourmodule.c. If -# you are using multiple files, none of these files can be named -# yourmodule.c. -yourmodule-objs := file1.o file2.o file3.o - -# Invokes the kernel build system to come back to the current -# directory and build yourmodule.ko. -default: - make -C ${KERNEL_SOURCE} M=`pwd` modules + +In this document you will find information about: +- how to build external modules +- how to make your module use kbuild infrastructure +- how kbuild will install a kernel +- how to install modules in a non-standard location + +=== Table of Contents + + === 1 Introduction + === 2 How to build external modules + --- 2.1 Building external modules + --- 2.2 Available targets + --- 2.3 Available options + --- 2.4 Preparing the kernel tree for module build + === 3. Example commands + === 4. Creating a kbuild file for an external module + === 5. Include files + --- 5.1 How to include files from the kernel include dir + --- 5.2 External modules using an include/ dir + === 6. Module installation + --- 6.1 INSTALL_MOD_PATH + --- 6.2 INSTALL_MOD_DIR + === 7. Module versioning + === 8. Tips & Tricks + --- 8.1 Testing for CONFIG_FOO_BAR + + + +=== 1. Introduction + +kbuild includes functionality for building modules both +within the kernel source tree and outside the kernel source tree. +The latter is usually referred to as external modules and is used +both during development and for modules that are not planned to be +included in the kernel tree. + +What is covered within this file is mainly information to authors +of modules. The author of an external modules should supply +a makefile that hides most of the complexity so one only has to type +'make' to buld the module. A complete example will be present in +chapter ¤. Creating a kbuild file for an external module". + + +=== 2. How to build external modules + +kbuild offers functionality to build external modules, with the +prerequisite that there is a pre-built kernel available with full source. +A subset of the targets available when building the kernel is available +when building an external module. + +--- 2.1 Building external modules + + Use the following command to build an external module: + + make -C M=`pwd` + + For the running kernel use: + make -C /lib/modules/`uname -r`/build M=`pwd` + + For the above command to succeed the kernel must have been built with + modules enabled. + + To install the modules that were just built: + + make -C M=`pwd` modules_install + + More complex examples later, the above should get you going. + +--- 2.2 Available targets + + $KDIR refers to path to kernel source top-level directory + + make -C $KDIR M=`pwd` + Will build the module(s) located in current directory. + All output files will be located in the same directory + as the module source. + No attempts are made to update the kernel source, and it is + a precondition that a successful make has been executed + for the kernel. + + make -C $KDIR M=`pwd` modules + The modules target is implied when no target is given. + Same functionality as if no target was specified. + See description above. + + make -C $KDIR M=$PWD modules_install + Install the external module(s). + Installation default is in /lib/modules//extra, + but may be prefixed with INSTALL_MOD_PATH - see separate chater. + + make -C $KDIR M=$PWD clean + Remove all generated files for the module - the kernel + source directory is not moddified. + + make -C $KDIR M=`pwd` help + help will list the available target when building external + modules. + +--- 2.3 Available options: + + $KDIR refer to path to kernel src + + make -C $KDIR + Used to specify where to find the kernel source. + '$KDIR' represent the directory where the kernel source is. + Make will actually change directory to the specified directory + when executed but change back when finished. + + make -C $KDIR M=`pwd` + M= is used to tell kbuild that an external module is + being built. + The option given to M= is the directory where the external + module (kbuild file) is located. + When an external module is being built only a subset of the + usual targets are available. + + make -C $KDIR SUBDIRS=`pwd` + Same as M=. The SUBDIRS= syntax is kept for backwards + compatibility. + +--- 2.4 Preparing the kernel tree for module build + + To make sure the kernel contains the information required to + build external modules the target 'modules_prepare' must be used. + 'module_prepare' solely exists as a simple way to prepare + a kernel for building external modules. + Note: modules_prepare will not build Module.symvers even if + CONFIG_MODULEVERSIONING is set. + Therefore a full kernel build needs to be executed to make + module versioning work. + + +=== 3. Example commands + +This example shows the actual commands to be executed when building +an external module for the currently running kernel. +In the example below the distribution is supposed to use the +facility to locate output files for a kernel compile in a different +directory than the kernel source - but the examples will also work +when the source and the output files are mixed in the same directory. + +# Kernel source +/lib/modules//source -> /usr/src/linux- + +# Output from kernel compile +/lib/modules//build -> /usr/src/linux--up + +Change to the directory where the kbuild file is located and execute +the following commands to build the module: + + cd /home/user/src/module + make -C /usr/src/`uname -r`/source \ + O=/lib/modules/`uname-r`/build \ + M=`pwd` + +Then to install the module use the following command: + + make -C /usr/src/`uname -r`/source \ + O=/lib/modules/`uname-r`/build \ + M=`pwd` \ + modules_install + +If one looks closely you will see that this is the same commands as +listed before - with the directories spelled out. + +The above are rather long commands, and the following chapter +lists a few tricks to make it all easier. + + +=== 4. Creating a kbuild file for an external module + +kbuild is the build system for the kernel, and external modules +must use kbuild to stay compatible with changes in the build system +and to pick up the right flags to gcc etc. + +The kbuild file used as input shall follow the syntax described +in Documentation/kbuild/makefiles.txt. This chapter will introduce a few +more tricks to be used when dealing with external modules. + +In the following a Makefile will be created for a module with the +following files: + 8123_if.c + 8123_if.h + 8123_pci.c + 8123_bin.o_shipped <= Binary blob + +--- 4.1 Shared Makefile for module and kernel + + An external module always includes a wrapper Makefile supporting + building the module using 'make' with no arguments. + The Makefile provided will most likely include additional + functionality such as test targets etc. and this part shall + be filtered away from kbuild since it may impact kbuild if + name clashes occurs. + + Example 1: + --> filename: Makefile + ifneq ($(KERNELRELEASE),) + # kbuild part of makefile + obj-m := 8123.o + 8123-y := 8123_if.o 8123_pci.o 8123_bin.o + + else + # Normal Makefile + + KERNELDIR := /lib/modules/`uname -r`/build + all:: + $(MAKE) -C $KERNELDIR M=`pwd` $@ + + # Module specific targets + genbin: + echo "X" > 8123_bini.o_shipped + + endif + + In example 1 the check for KERNELRELEASE is used to separate + the two parts of the Makefile. kbuild will only see the two + assignments whereas make will see everything except the two + kbuild assignments. + + In recent versions of the kernel, kbuild will look for a file named + Kbuild and as second option look for a file named Makefile. + Utilising the Kbuild file makes us split up the Makefile in example 1 + into two files as shown in example 2: + + Example 2: + --> filename: Kbuild + obj-m := 8123.o + 8123-y := 8123_if.o 8123_pci.o 8123_bin.o + + --> filename: Makefile + KERNELDIR := /lib/modules/`uname -r`/build + all:: + $(MAKE) -C $KERNELDIR M=`pwd` $@ + + # Module specific targets + genbin: + echo "X" > 8123_bin_shipped + + + In example 2 we are down to two fairly simple files and for simple + files as used in this example the split is questionable. But some + external modules use Makefiles of several hundred lines and here it + really pays off to separate the kbuild part from the rest. + Example 3 shows a backward compatible version. + + Example 3: + --> filename: Kbuild + obj-m := 8123.o + 8123-y := 8123_if.o 8123_pci.o 8123_bin.o + + --> filename: Makefile + ifneq ($(KERNELRELEASE),) + include Kbuild + else + # Normal Makefile + + KERNELDIR := /lib/modules/`uname -r`/build + all:: + $(MAKE) -C $KERNELDIR M=`pwd` $@ + + # Module specific targets + genbin: + echo "X" > 8123_bin_shipped + + endif + + The trick here is to include the Kbuild file from Makefile so + if an older version of kbuild picks up the Makefile the Kbuild + file will be included. + +--- 4.2 Binary blobs included in a module + + Some external modules needs to include a .o as a blob. kbuild + has support for this, but requires the blob file to be named + _shipped. In our example the blob is named + 8123_bin.o_shipped and when the kbuild rules kick in the file + 8123_bin.o is created as a simple copy off the 8213_bin.o_shipped file + with the _shipped part stripped of the filename. + This allows the 8123_bin.o filename to be used in the assignment to + the module. + + Example 4: + obj-m := 8123.o + 8123-y := 8123_if.o 8123_pci.o 8123_bin.o + + In example 4 there is no distinction between the ordinary .c/.h files + and the binary file. But kbuild will pick up different rules to create + the .o file. + + +=== 5. Include files + +Include files are a necessity when a .c file uses something from another .c +files (not strictly in the sense of .c but if good programming practice is +used). Any module that consist of more than one .c file will have a .h file +for one of the .c files. +- If the .h file only describes a module internal interface then the .h file + shall be placed in the same directory as the .c files. +- If the .h files describe an interface used by other parts of the kernel + located in different directories, the .h files shall be located in + include/linux/ or other include/ directories as appropriate. + +One exception for this rule is larger subsystems that have their own directory +under include/ such as include/scsi. Another exception is arch-specific +.h files which are located under include/asm-$(ARCH)/*. + +External modules have a tendency to locate include files in a separate include/ +directory and therefore needs to deal with this in their kbuild file. + +--- 5.1 How to include files from the kernel include dir + + When a module needs to include a file from include/linux/ then one + just uses: + + #include + + kbuild will make sure to add options to gcc so the relevant + directories are searched. + Likewise for .h files placed in the same directory as the .c file. + + #include "8123_if.h" + + will do the job. + +--- 5.2 External modules using an include/ dir + + External modules often locate their .h files in a separate include/ + directory although this is not usual kernel style. When an external + module uses an include/ dir then kbuild needs to be told so. + The trick here is to use either EXTRA_CFLAGS (take effect for all .c + files) or CFLAGS_$F.o (take effect only for a single file). + + In our example if we move 8123_if.h to a subdirectory named include/ + the resulting Kbuild file would look like: + + --> filename: Kbuild + obj-m := 8123.o + + EXTRA_CFLAGS := -Iinclude + 8123-y := 8123_if.o 8123_pci.o 8123_bin.o + + Note that in the assingment there is no space between -I and the path. + This is a kbuild limitation and no space must be present. + + +=== 6. Module installation + +Modules which are included in the kernel is installed in the directory: + + /lib/modules/$(KERNELRELEASE)/kernel + +External modules are installed in the directory: + + /lib/modules/$(KERNELRELEASE)/extra + +--- 6.1 INSTALL_MOD_PATH + + Above are the default directories, but as always some level of + customization is possible. One can prefix the path using the variable + INSTALL_MOD_PATH: + + $ make INSTALL_MOD_PATH=/frodo modules_install + => Install dir: /frodo/lib/modules/$(KERNELRELEASE)/kernel + + INSTALL_MOD_PATH may be set as an ordinary shell variable or as in the + example above be specified on the commandline when calling make. + INSTALL_MOD_PATH has effect both when installing modules included in + the kernel as well as when installing external modules. + +--- 6.2 INSTALL_MOD_DIR + + When installing external modules they are default installed in a + directory under /lib/modules/$(KERNELRELEASE)/extra, but one may wish + to locate modules for a specific functionality in a separate + directory. For this purpose one can use INSTALL_MOD_DIR to specify an + alternative name than 'extra'. + + $ make INSTALL_MOD_DIR=gandalf -C KERNELDIR \ + M=`pwd` modules_install + => Install dir: /lib/modules/$(KERNELRELEASE)/gandalf + + +=== 7. Module versioning + +Module versioning are enabled by the CONFIG_MODVERSIONS tag. + +Module versioning is used as a simple ABI consistency check. The Module +versioning creates a CRC value of the full prototype for an exported symbol and +when a module is loaded/used then the CRC values contained in the kernel are +compared with similar values in the module. If they are not equal then the +kernel refuses to load the module. + +During a kernel build a file named Module.symvers will be generated. This +file includes the symbol version of all symbols within the kernel. If the +Module.symvers file is saved from the last full kernel compile one does not +have to do a full kernel compile to build a module version's compatible module. + +=== 8. Tips & Tricks + +--- 8.1 Testing for CONFIG_FOO_BAR + + Modules often needs to check for certain CONFIG_ options to decide if + a specific feature shall be included in the module. When kbuild is used + this is done by referencing the CONFIG_ variable directly. + + #fs/ext2/Makefile + obj-$(CONFIG_EXT2_FS) += ext2.o + + ext2-y := balloc.o bitmap.o dir.o + ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o + + External modules have traditionally used grep to check for specific + CONFIG_ settings directly in .config. This usage is broken. + As introduced before external modules shall use kbuild when building + and therefore can use the same methods as in-kernel modules when testing + for CONFIG_ definitions. + diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 1b8691daa..3db6c5095 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -54,6 +54,7 @@ restrictions referred to are that the relevant option is valid if: NFS Appropriate NFS support is enabled. OSS OSS sound support is enabled. PARIDE The ParIDE subsystem is enabled. + PARISC The PA-RISC architecture is enabled. PCI PCI bus support is enabled. PCMCIA The PCMCIA subsystem is enabled. PNP Plug & Play support is enabled. @@ -312,8 +313,24 @@ running once the system is up. condev= [HW,S390] console device conmode= - console= [KNL] Output console - Console device and comm spec (speed, control, parity). + console= [KNL] Output console device and options. + + tty Use the virtual console device . + + ttyS[,options] + Use the specified serial port. The options are of + the form "bbbbpn", where "bbbb" is the baud rate, + "p" is parity ("n", "o", or "e"), and "n" is bits. + Default is "9600n8". + + See also Documentation/serial-console.txt. + + uart,io,[,options] + uart,mmio,[,options] + Start an early, polled-mode console on the 8250/16550 + UART at the specified I/O port or MMIO address, + switching to the matching ttyS device later. The + options are the same as for ttyS, above. cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver Format: ,,,[,] @@ -399,7 +416,7 @@ running once the system is up. eicon= [HW,ISDN] Format: ,, - eisa_irq_edge= [PARISC] + eisa_irq_edge= [PARISC,HW] See header of drivers/parisc/eisa.c. elanfreq= [IA-32] @@ -408,7 +425,8 @@ running once the system is up. elevator= [IOSCHED] Format: {"as"|"cfq"|"deadline"|"noop"} - See Documentation/as-iosched.txt for details + See Documentation/block/as-iosched.txt + and Documentation/block/deadline-iosched.txt for details. es1370= [HW,OSS] Format: [,] @@ -493,16 +511,26 @@ running once the system is up. i810= [HW,DRM] + i8k.force [HW] Activate i8k driver even if SMM BIOS signature + does not match list of supported models. + i8k.power_status + [HW] Report power status in /proc/i8k + (disabled by default) + i8k.restricted [HW] Allow controlling fans only if SYS_ADMIN + capability is set. + ibmmcascsi= [HW,MCA,SCSI] IBM MicroChannel SCSI adapter See Documentation/mca.txt. icn= [HW,ISDN] Format: [,[,[,]]] + ide= [HW] (E)IDE subsystem + Format: ide=nodma or ide=doubler or ide=reverse + See Documentation/ide.txt. + ide?= [HW] (E)IDE subsystem - Config (iomem/irq), tuning or debugging - (serialize,reset,no{dma,tune,probe}) or chipset - specific parameters. + Format: ide?=noprobe or chipset specific parameters. See Documentation/ide.txt. idebus= [HW] (E)IDE subsystem - VLB/PCI bus speed @@ -546,6 +574,17 @@ running once the system is up. ips= [HW,SCSI] Adaptec / IBM ServeRAID controller See header of drivers/scsi/ips.c. + irqfixup [HW] + When an interrupt is not handled search all handlers + for it. Intended to get systems with badly broken + firmware running. + + irqpoll [HW] + When an interrupt is not handled search all handlers + for it. Also check all handlers each timer + interrupt. Intended to get systems with badly broken + firmware running. + isapnp= [ISAPNP] Format: , , , @@ -648,9 +687,10 @@ running once the system is up. maxcpus= [SMP] Maximum number of processors that an SMP kernel should make use of - max_scsi_luns= [SCSI] + max_luns= [SCSI] Maximum number of LUNs to probe + Should be between 1 and 2^32-1. - max_scsi_report_luns= + max_report_luns= [SCSI] Maximum number of LUNs received Should be between 1 and 16384. @@ -675,6 +715,9 @@ running once the system is up. mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory Amount of memory to be used when the kernel is not able to see the whole system memory or for test. + [IA-32] Use together with memmap= to avoid physical + address space collisions. Without memmap= PCI devices + could be placed at addresses belonging to unused RAM. mem=nopentium [BUGS=IA-32] Disable usage of 4MB pages for kernel memory. @@ -697,7 +740,7 @@ running once the system is up. [KNL,ACPI] Mark specific memory as reserved. Region of memory to be used, from ss to ss+nn. - meye= [HW] Set MotionEye Camera parameters + meye.*= [HW] Set MotionEye Camera parameters See Documentation/video4linux/meye.txt. mga= [HW,DRM] @@ -759,8 +802,8 @@ running once the system is up. noalign [KNL,ARM] - noapic [SMP,APIC] Tells the kernel not to make use of any - APIC that may be present on the system. + noapic [SMP,APIC] Tells the kernel to not make use of any + IOAPICs that may be present in the system. noasync [HW,M68K] Disables async and sync negotiation for all devices. @@ -774,14 +817,12 @@ running once the system is up. noexec [IA-64] - noexec [i386] + noexec [i386, x86_64] noexec=on: enable non-executable mappings (default) noexec=off: disable nn-executable mappings nofxsr [BUGS=IA-32] - nohighio [BUGS=IA-32] Disable highmem block I/O. - nohlt [BUGS=ARM] no-hlt [BUGS=IA-32] Tells the kernel that the hlt @@ -862,6 +903,16 @@ running once the system is up. order they are specified on the command line, starting with parport0. + parport_init_mode= + [HW,PPT] Configure VIA parallel port to + operate in specific mode. This is + necessary on Pegasos computer where + firmware has no options for setting up + parallel port mode and sets it to + spp. Currently this function knows + 686a and 8231 chips. + Format: [spp|ps2|epp|ecp|ecpepp] + pas2= [HW,OSS] Format: ,,,,,,, @@ -917,6 +968,10 @@ running once the system is up. enabled. noacpi [IA-32] Do not use ACPI for IRQ routing or for PCI scanning. + routeirq Do IRQ routing for all PCI devices. + This is normally done in pci_enable_device(), + so this option is a temporary workaround + for broken drivers that don't call it. firmware [ARM] Do not re-enumerate the bus but instead just use the configuration @@ -930,6 +985,11 @@ running once the system is up. pd. [PARIDE] See Documentation/paride.txt. + pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at + boot time. + Format: { 0 | 1 } + See arch/parisc/kernel/pdc_chassis.c + pf. [PARIDE] See Documentation/paride.txt. @@ -965,6 +1025,10 @@ running once the system is up. (param: profile step/bucket size as a power of 2 for statistical time based profiling) + processor.max_cstate= [HW, ACPI] + Limit processor to maximum C-state + max_cstate=9 overrides any DMI blacklist limit. + prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk before loading. See Documentation/ramdisk.txt. @@ -1006,10 +1070,6 @@ running once the system is up. New name for the ramdisk parameter. See Documentation/ramdisk.txt. - ramdisk_start= [RAM] Starting block of RAM disk image (so you can - place it after the kernel image on a boot floppy). - See Documentation/ramdisk.txt. - reboot= [BUGS=IA-32,BUGS=ARM,BUGS=IA-64] Rebooting mode Format: [,[,...]] See arch/*/kernel/reboot.c. @@ -1065,8 +1125,6 @@ running once the system is up. scsi_logging= [SCSI] - scsihosts= [SCSI] - serialnumber [BUGS=IA-32] sf16fm= [HW] SF16FMI radio driver for Linux @@ -1224,17 +1282,12 @@ running once the system is up. sonycd535= [HW,CD] Format: [,] - sonypi= [HW] Sony Programmable I/O Control Device driver - Format: ,,,,, + sonypi.*= [HW] Sony Programmable I/O Control Device driver + See Documentation/sonypi.txt specialix= [HW,SERIAL] Specialix multi-serial port adapter See Documentation/specialix.txt. - speedstep_coppermine= - [HW,IA-32] Take CPU in your notebook as SpeedStep-capable - See comment before function speedstep_setup() in - arch/i386/kernel/cpu/cpufreq/speedstep.c. - spia_io_base= [HW,MTD] spia_fio_base= spia_pedr= @@ -1249,7 +1302,7 @@ running once the system is up. st0x= [HW,SCSI] See header of drivers/scsi/seagate.c. - sti= [HW] + sti= [PARISC,HW] Format: Set the STI (builtin display/keyboard on the HP-PARISC machines) console (graphic card) which should be used @@ -1316,6 +1369,8 @@ running once the system is up. uart6850= [HW,OSS] Format: , + + usb-handoff [HW] Enable early USB BIOS -> OS handoff video= [FB] Frame buffer configuration See Documentation/fb/modedb.txt. diff --git a/Documentation/md.txt b/Documentation/md.txt index 3fb3b1ef1..e2b536992 100644 --- a/Documentation/md.txt +++ b/Documentation/md.txt @@ -45,7 +45,8 @@ Boot time autodetection of RAID arrays When md is compiled into the kernel (not as module), partitions of type 0xfd are scanned and automatically assembled into RAID arrays. This autodetection may be suppressed with the kernel parameter -"raid=noautodetect". +"raid=noautodetect". As of kernel 2.6.9, only drives with a type 0 +superblock can be autodetected and run at boot time. The kernel parameter "raid=partitionable" (or "raid=part") means that all auto-detected arrays are assembled as partitionable. @@ -55,13 +56,13 @@ Superblock formats ------------------ The md driver can support a variety of different superblock formats. -(It doesn't yet, but it can) +Currently, it supports superblock formats "0.90.0" and the "md-1" format +introduced in the 2.5 development series. -The kernel does *NOT* autodetect which format superblock is being -used. It must be told. +The kernel will autodetect which format superblock is being used. Superblock format '0' is treated differently to others for legacy -reasons. +reasons - it is the original superblock format. General Rules - apply for all superblock formats @@ -69,6 +70,7 @@ General Rules - apply for all superblock formats An array is 'created' by writing appropriate superblocks to all devices. + It is 'assembled' by associating each of these devices with an particular md virtual device. Once it is completely assembled, it can be accessed. @@ -76,10 +78,10 @@ be accessed. An array should be created by a user-space tool. This will write superblocks to all devices. It will usually mark the array as 'unclean', or with some devices missing so that the kernel md driver -can create approrpriate redundancy (copying in raid1, parity +can create appropriate redundancy (copying in raid1, parity calculation in raid4/5). -When an array is assembled, it is first initialised with the +When an array is assembled, it is first initialized with the SET_ARRAY_INFO ioctl. This contains, in particular, a major and minor version number. The major version number selects which superblock format is to be used. The minor number might be used to tune handling @@ -101,15 +103,16 @@ array using HOT_REMOVE_DISK. Specific Rules that apply to format-0 super block arrays, and - arrays with no superblock (non-persistant). + arrays with no superblock (non-persistent). ------------------------------------------------------------- An array can be 'created' by describing the array (level, chunksize etc) in a SET_ARRAY_INFO ioctl. This must has major_version==0 and raid_disks != 0. -Then uninitialised devices can be added with ADD_NEW_DISK. The + +Then uninitialized devices can be added with ADD_NEW_DISK. The structure passed to ADD_NEW_DISK must specify the state of the device and it's role in the array. -One started with RUN_ARRAY, uninitialised spares can be added with +Once started with RUN_ARRAY, uninitialized spares can be added with HOT_ADD_DISK. diff --git a/Documentation/memory.txt b/Documentation/memory.txt index 7af1709e8..2b3dedd39 100644 --- a/Documentation/memory.txt +++ b/Documentation/memory.txt @@ -21,6 +21,8 @@ systems. All of these problems can be addressed with the "mem=XXXM" boot option (where XXX is the size of RAM to use in megabytes). It can also tell Linux to use less memory than is actually installed. +If you use "mem=" on a machine with PCI, consider using "memmap=" to avoid +physical address space collisions. See the documentation of your boot loader (LILO, loadlin, etc.) about how to pass options to the kernel. @@ -44,7 +46,9 @@ Try: * Disabling the cache from the BIOS. * Try passing the "mem=4M" option to the kernel to limit - Linux to using a very small amount of memory. + Linux to using a very small amount of memory. Use "memmap="-option + together with "mem=" on systems with PCI to avoid physical address + space collisions. Other tricks: diff --git a/Documentation/networking/e100.txt b/Documentation/networking/e100.txt index 0b2b7051a..e4b6c7afc 100644 --- a/Documentation/networking/e100.txt +++ b/Documentation/networking/e100.txt @@ -1,14 +1,16 @@ Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters ============================================================== -March 15, 2004 +September 13, 2004 Contents ======== - In This Release -- Supported Adapters +- Identifying Your Adapter +- Driver Configuration Parameters +- Additional Configurations - Support @@ -16,26 +18,140 @@ In This Release =============== This file describes the Linux* Base Driver for the Intel(R) PRO/100 Family of -Adapters, version 3.x.x. This driver includes support for Itanium(TM)-based -systems. +Adapters, version 3.2.x. This driver includes support for Itanium(TM)2 and +EM64T systems. -Supported Adapters -================== - -To verify that your adapter is supported, find the board ID number on the -adapter. Look for a label that has a barcode and a number in the format -A12345-001. Match this to the list of numbers above. +Identifying Your Adapter +======================== For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: http://support.intel.com/support/network/adapter/pro100/21397.htm -For the latest Intel PRO/100 network driver for Linux, see: +For the latest Intel network drivers for Linux, refer to the following +website. In the search field, enter your adapter name or type, or use the +networking link on the left to search for your adapter: http://downloadfinder.intel.com/scripts-df/support_intel.asp +Driver Configuration Parameters +=============================== + +The default value for each parameter is generally the recommended setting, +unless otherwise noted. + +Rx Descriptors: Number of receive descriptors. A receive descriptor is a data + structure that describes a receive buffer and its attributes to the network + controller. The data in the descriptor is used by the controller to write + data from the controller to host memory. In the 3.0.x driver the valid + range for this parameter is 64-256. The default value is 64. This parameter + can be changed using the command + + ethtool -G eth? rx n, where n is the number of desired rx descriptors. + +Tx Descriptors: Number of transmit descriptors. A transmit descriptor is a + data structure that describes a transmit buffer and its attributes to the + network controller. The data in the descriptor is used by the controller to + read data from the host memory to the controller. In the 3.0.x driver the + valid range for this parameter is 64-256. The default value is 64. This + parameter can be changed using the command + + ethtool -G eth? tx n, where n is the number of desired tx descriptors. + +Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by + default. Ethtool can be used as follows to force speed/duplex. + + ethtool -s eth? autoneg off speed {10|100} duplex {full|half} + + NOTE: setting the speed/duplex to incorrect values will cause the link to + fail. + +Event Log Message Level: The driver uses the message level flag to log events + to syslog. The message level can be set at driver load time. It can also be + set using the command + + ethtool -s eth? msglvl n + +Additional Configurations +========================= + + Configuring the Driver on Different Distributions + ------------------------------------------------- + + Configuring a network driver to load properly when the system is started is + distribution dependent. Typically, the configuration process involves adding + an alias line to /etc/modules.conf as well as editing other system startup + scripts and/or configuration files. Many popular Linux distributions ship + with tools to make these changes for you. To learn the proper way to + configure a network device for your system, refer to your distribution + documentation. If during this process you are asked for the driver or module + name, the name for the Linux Base Driver for the Intel PRO/100 Family of + Adapters is e100. + + As an example, if you install the e100 driver for two PRO/100 adapters + (eth0 and eth1), add the following to modules.conf: + + alias eth0 e100 + alias eth1 e100 + + Viewing Link Messages + --------------------- + In order to see link messages and other Intel driver information on your + console, you must set the dmesg level up to six. This can be done by + entering the following on the command line before loading the e100 driver: + + dmesg -n 8 + + If you wish to see all messages issued by the driver, including debug + messages, set the dmesg level to eight. + + NOTE: This setting is not saved across reboots. + + Ethtool + ------- + + The driver utilizes the ethtool interface for driver configuration and + diagnostics, as well as displaying statistical information. Ethtool + version 1.6 or later is required for this functionality. + + The latest release of ethtool can be found at: + http://sf.net/projects/gkernel. + + After ethtool is installed, ethtool-copy.h must be copied and renamed to + ethtool.h in your kernel source tree at /include/linux. + Backup the original ethtool.h as needed before copying. The driver then + must be recompiled in order to take advantage of the latest ethtool + features. + + NOTE: This driver uses mii support from the kernel. As a result, when + there is no link, ethtool will report speed/duplex to be 10/half. + + NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support + for a more complete ethtool feature set can be enabled by upgrading + ethtool to ethtool-1.8.1. + + Enabling Wake on LAN* (WoL) + --------------------------- + WoL is provided through the Ethtool* utility. Ethtool is included with Red + Hat* 8.0. For other Linux distributions, download and install Ethtool from + the following website: http://sourceforge.net/projects/gkernel. + + For instructions on enabling WoL with Ethtool, refer to the Ethtool man + page. + + WoL will be enabled on the system during the next shut down or reboot. For + this driver version, in order to enable WoL, the e100 driver must be + loaded when shutting down or rebooting the system. + + NAPI + ---- + + NAPI (Rx polling mode) is supported in the e100 driver. NAPI is enabled + or disabled based on the configuration of the kernel. + + See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI. Support ======= diff --git a/Documentation/networking/e1000.txt b/Documentation/networking/e1000.txt index 9b2329f99..794c92542 100644 --- a/Documentation/networking/e1000.txt +++ b/Documentation/networking/e1000.txt @@ -1,14 +1,14 @@ Linux* Base Driver for the Intel(R) PRO/1000 Family of Adapters =============================================================== -January 8, 2003 +September 13, 2004 Contents ======== - In This Release -- Supported Adapters +- Identifying Your Adapter - Command Line Parameters - Speed and Duplex Configuration - Additional Configurations @@ -20,63 +20,29 @@ In This Release =============== This file describes the Linux* Base Driver for the Intel(R) PRO/1000 Family -of Adapters, version 5.0.x. This driver includes support for -Itanium(TM)-based systems. +of Adapters, version 5.x.x. This driver includes support for Itanium(TM)2 +and EM64T systems. +For questions related to hardware requirements, refer to the documentation +supplied with your Intel PRO/1000 adapter. All hardware requirements listed +apply to use with Linux. Native VLANs are now available with supported kernels. - -Supported Adapters -================== - -The following Intel network adapters are compatible with the drivers in this -release: - - Controller Adapter Name Board IDs - ---------- ------------ --------- - - 82542 PRO/1000 Gigabit Server Adapter 700262-xxx, 717037-xxx - - 82543 PRO/1000 F Server Adapter 738640-xxx, A38888-xxx - - 82543 PRO/1000 T Server Adapter A19845-xxx, A33948-xxx - - 82544 PRO/1000 XT Server Adapter A51580-xxx - - 82544 PRO/1000 XF Server Adapter A50484-xxx - - 82544 PRO/1000 T Desktop Adapter A62947-xxx - - 82540 PRO/1000 MT Desktop Adapter A78408-xxx - 82541 C91016-xxx - - 82545 PRO/1000 MT Server Adapter A92165-xxx - - 82546 PRO/1000 MT Dual Port Server Adapter A92111-xxx - - 82545 PRO/1000 MF Server Adapter A91622-xxx - - 82545 PRO/1000 MF Server Adapter(LX) A91624-xxx - - 82546 PRO/1000 MF Dual Port Server Adapter A91620-xxx - - - -To verify your Intel adapter is supported, find the board ID number on the -adapter. Look for a label that has a barcode and a number in the format -A12345-001. Match this to the list of numbers above. +Identifying Your Adapter +======================== For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: http://support.intel.com/support/network/adapter/pro100/21397.htm -For the latest Intel network drivers for Linux, refer to the following +For the latest Intel network drivers for Linux, refer to the following +website. In the search field, enter your adapter name or type, or use the +networking link on the left to search for your adapter: http://downloadfinder.intel.com/scripts-df/support_intel.asp - Command Line Parameters ======================= @@ -92,27 +58,39 @@ For example, with two PRO/1000 PCI adapters, entering: insmod e1000 TxDescriptors=80,128 -loads the e1000 driver with 80 TX resources for the first adapter and 128 TX -resources for the second adapter. +loads the e1000 driver with 80 TX descriptors for the first adapter and 128 TX +descriptors for the second adapter. The default value for each parameter is generally the recommended setting, -unless otherwise noted. +unless otherwise noted. Also, if the driver is statically built into the +kernel, the driver is loaded with the default values for all the parameters. +Ethtool can be used to change some of the parameters at runtime. + + NOTES: For more information about the AutoNeg, Duplex, and Speed + parameters, see the "Speed and Duplex Configuration" section in + this document. -For more information about the AutoNeg, Duplex, and Speed parameters, see the -"Speed and Duplex Configuration" section in this document. + For more information about the InterruptThrottleRate, RxIntDelay, + TxIntDelay, RxAbsIntDelay, and TxAbsIntDelay parameters, see the + application note at: + http://www.intel.com/design/network/applnots/ap450.htm + A descriptor describes a data buffer and attributes related to the + data buffer. This information is accessed by the hardware. AutoNeg (adapters using copper connections only) Valid Range: 0x01-0x0F, 0x20-0x2F Default Value: 0x2F This parameter is a bit mask that specifies which speed and duplex settings the board advertises. When this parameter is used, the Speed and - Duplex parameters must not be specified. + Duplex parameters must not be specified. + NOTE: Refer to the Speed and Duplex section of this readme for more + information on the AutoNeg parameter. Duplex (adapters using copper connections only) Valid Range: 0-2 (0=auto-negotiate, 1=half, 2=full) Default Value: 0 - Defines the direction in which data is allowed to flow. Can by either one + Defines the direction in which data is allowed to flow. Can be either one or two-directional. If both Duplex and the link partner are set to auto- negotiate, the board auto-detects the correct duplex. If the link partner is forced (either full or half), Duplex defaults to half-duplex. @@ -125,22 +103,46 @@ Default: Read flow control settings from the EEPROM InterruptThrottleRate Valid Range: 100-100000 (0=off, 1=dynamic) -Default Value: 1 +Default Value: 8000 This value represents the maximum number of interrupts per second the controller generates. InterruptThrottleRate is another setting used in interrupt moderation. Dynamic mode uses a heuristic algorithm to adjust InterruptThrottleRate based on the current traffic load. +Un-supported Adapters: InterruptThrottleRate is NOT supported by 82542, 82543 + or 82544-based adapters. NOTE: InterruptThrottleRate takes precedence over the TxAbsIntDelay and RxAbsIntDelay parameters. In other words, minimizing the receive and/or transmit absolute delays does not force the controller to generate more interrupts than what the Interrupt Throttle Rate allows. + CAUTION: If you are using the Intel PRO/1000 CT Network Connection + (controller 82547), setting InterruptThrottleRate to a value + greater than 75,000, may hang (stop transmitting) adapters under + certain network conditions. If this occurs a NETDEV WATCHDOG + message is logged in the system event log. In addition, the + controller is automatically reset, restoring the network + connection. To eliminate the potential for the hang, ensure + that InterruptThrottleRate is set no greater than 75,000 and is + not set to 0. + NOTE: When e1000 is loaded with default settings and multiple adapters are + in use simultaneously, the CPU utilization may increase non-linearly. + In order to limit the CPU utilization without impacting the overall + throughput, we recommend that you load the driver as follows: + + insmod e1000.o InterruptThrottleRate=3000,3000,3000 + + This sets the InterruptThrottleRate to 3000 interrupts/sec for the + first, second, and third instances of the driver. The range of 2000 to + 3000 interrupts per second works on a majority of systems and is a + good starting point, but the optimal value will be platform-specific. + If CPU utilization is not a concern, use RX_POLLING (NAPI) and default + driver settings. RxDescriptors Valid Range: 80-256 for 82542 and 82543-based adapters - 80-4096 for 82540, 82544, 82545, and 82546-based adapters -Default Value: 80 + 80-4096 for all other supported adapters +Default Value: 256 This value is the number of receive descriptors allocated by the driver. Increasing this value allows the driver to buffer more incoming packets. Each descriptor is 16 bytes. A receive buffer is also allocated for each @@ -149,6 +151,9 @@ Default Value: 80 NOTE: MTU designates the frame size. It only needs to be set for Jumbo Frames. + NOTE: Depending on the available system resources, the request for a + higher number of receive descriptors may be denied. In this case, + use a lower number. RxIntDelay Valid Range: 0-65535 (0=off) @@ -168,11 +173,11 @@ Default Value: 0 restoring the network connection. To eliminate the potential for the hang ensure that RxIntDelay is set to 0. -RxAbsIntDelay (82540, 82545, and 82546-based adapters only) +RxAbsIntDelay (82540, 82545 and later adapters only) Valid Range: 0-65535 (0=off) Default Value: 128 This value, in units of 1.024 microseconds, limits the delay in which a - transmit interrupt is generated. Useful only if RxIntDelay is non-zero, + receive interrupt is generated. Useful only if RxIntDelay is non-zero, this value ensures that an interrupt is generated after the initial packet is received within the set amount of time. Proper tuning, along with RxIntDelay, may improve traffic throughput in specific network @@ -188,12 +193,16 @@ Default Value: 0 (auto-negotiate at all supported speeds) TxDescriptors Valid Range: 80-256 for 82542 and 82543-based adapters - 80-4096 for 82540, 82544, 82545, and 82546-based adapters + 80-4096 for all other supported adapters Default Value: 256 This value is the number of transmit descriptors allocated by the driver. Increasing this value allows the driver to queue more transmits. Each descriptor is 16 bytes. + NOTE: Depending on the available system resources, the request for a + higher number of transmit descriptors may be denied. In this case, + use a lower number. + TxIntDelay Valid Range: 0-65535 (0=off) Default Value: 64 @@ -203,7 +212,7 @@ Default Value: 64 system is reporting dropped transmits, this value may be set too high causing the driver to run out of available transmit descriptors. -TxAbsIntDelay (82540, 82545, and 82546-based adapters only) +TxAbsIntDelay (82540, 82545 and later adapters only) Valid Range: 0-65535 (0=off) Default Value: 64 This value, in units of 1.024 microseconds, limits the delay in which a @@ -219,7 +228,6 @@ Default Value: 1 A value of '1' indicates that the driver should enable IP checksum offload for received packets (both UDP and TCP) to the adapter hardware. - Speed and Duplex Configuration ============================== @@ -251,6 +259,10 @@ Bit 7 6 5 4 3 2 1 0 Speed (Mbps) N/A N/A 1000 N/A 100 100 10 10 Duplex Full Full Half Full Half +For example to limit the negotiated speed/duplex on the interface to 10 Mbps +Half or Full duplex, set AutoNeg to 0x02: + insmod e1000 AutoNeg=0x02 + Note that setting AutoNeg does not guarantee that the board will link at the highest specified speed or duplex mode, but the board will link at the highest possible speed/duplex of the link partner IF the link partner is also @@ -261,6 +273,38 @@ adapter MUST be forced to the same speed/duplex. Additional Configurations ========================= + Configuring the Driver on Different Distributions + ------------------------------------------------- + + Configuring a network driver to load properly when the system is started is + distribution dependent. Typically, the configuration process involves adding + an alias line to /etc/modules.conf as well as editing other system startup + scripts and/or configuration files. Many popular Linux distributions ship + with tools to make these changes for you. To learn the proper way to + configure a network device for your system, refer to your distribution + documentation. If during this process you are asked for the driver or module + name, the name for the Linux Base Driver for the Intel PRO/1000 Family of + Adapters is e1000. + + As an example, if you install the e1000 driver for two PRO/1000 adapters + (eth0 and eth1) and set the speed and duplex to 10full and 100half, add the + following to modules.conf: + + alias eth0 e1000 + alias eth1 e1000 + options e1000 Speed=10,100 Duplex=2,1 + + Viewing Link Messages + --------------------- + + Link messages will not be displayed to the console if the distribution is + restricting system messages. In order to see network driver link messages on + your console, set dmesg to eight by entering the following: + + dmesg -n 8 + + NOTE: This setting is not saved across reboots. + Jumbo Frames ------------ @@ -278,6 +322,51 @@ Additional Configurations 10 or 100 Mbps may result in poor performance or loss of link. + NOTE: MTU designates the frame size. To enable Jumbo Frames, increase the + MTU size on the interface beyond 1500. + + Ethtool + ------- + + The driver utilizes the ethtool interface for driver configuration and + diagnostics, as well as displaying statistical information. Ethtool + version 1.6 or later is required for this functionality. + + The latest release of ethtool can be found from + http://sf.net/projects/gkernel. After ethtool is installed, + ethtool-copy.h must be copied and renamed to ethtool.h in your kernel + source tree at /include/linux. Backup the original + ethtool.h as needed before copying. The driver then must be recompiled + in order to take advantage of the latest ethtool features. + + NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support + for a more complete ethtool feature set can be enabled by upgrading + ethtool to ethtool-1.8.1. + + Enabling Wake on LAN* (WoL) + --------------------------- + + WoL is configured through the Ethtool* utility. Ethtool is included with + all versions of Red Hat after Red Hat 7.2. For other Linux distributions, + download and install Ethtool from the following website: + http://sourceforge.net/projects/gkernel. + + For instructions on enabling WoL with Ethtool, refer to the website listed + above. + + WoL will be enabled on the system during the next shut down or reboot. + For this driver version, in order to enable WoL, the e1000 driver must be + loaded when shutting down or rebooting the system. + + NAPI + ---- + + NAPI (Rx polling mode) is supported in the e1000 driver. NAPI is enabled + or disabled based on the configuration of the kernel. + + See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI. + + Known Issues ============ @@ -285,9 +374,9 @@ Known Issues ------------------------------- Memory allocation failures have been observed on Linux systems with 64 MB - of RAM or less that are running Jumbo Frames. If you are using Jumbo - Frames, your system may require more than the advertised minimum - requirement of 64 MB of system memory. + of RAM or less that are running Jumbo Frames. If you are using Jumbo Frames, + your system may require more than the advertised minimum requirement of 64 MB + of system memory. Support diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index c9ead70d5..a2c893a74 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt @@ -355,6 +355,12 @@ tcp_default_win_scale - INTEGER conections. Default: 7 +tcp_tso_win_divisor - INTEGER + This allows control over what percentage of the congestion window + can be consumed by a single TSO frame. + The setting of this parameter is a choice between burstiness and + building larger TSO frames. + Default: 8 tcp_frto - BOOLEAN Enables F-RTO, an enhanced recovery algorithm for TCP retransmission diff --git a/Documentation/networking/ixgb.txt b/Documentation/networking/ixgb.txt index 993090c41..c62d588ed 100644 --- a/Documentation/networking/ixgb.txt +++ b/Documentation/networking/ixgb.txt @@ -1,14 +1,14 @@ Linux* Base Driver for the Intel(R) PRO/10GbE Family of Adapters ================================================================ -January 06, 2003 +September 13, 2004 Contents ======== - In This Release -- Supported Adapters +- Identifying Your Adapter - Command Line Parameters - Improving Performance - Support @@ -18,36 +18,23 @@ In This Release =============== This file describes the Linux* Base Driver for the Intel(R) PRO/10GbE Family -of Adapters, version 1.0.x. This driver is intended for 2.4.x kernels; it is -known to build properly on 2.4.x kernels through 2.4.18. Intel focused -testing on Intel architectures running kernels 2.4.18. This driver includes -support for Itanium(TM)-based systems. +of Adapters, version 1.0.x. This driver includes support for Itanium(TM)2 and +EM64T systems. For questions related to hardware requirements, refer to the documentation supplied with your Intel PRO/10GbE adapter. All hardware requirements listed apply to use with Linux. - -Supported Adapters -================== - -The following Intel network adapters are compatible with the drivers in this -release: - - Controller Adapter Name Board IDs - ---------- ------------ --------- - - 82597EX Intel(R) PRO/10GbE LR Server Adapter A82505-xxx - +Identifying Your Adapter +======================== To verify your Intel adapter is supported, find the board ID number on the adapter. Look for a label that has a barcode and a number in the format -A12345-001. Match this to the list of numbers above. +A12345-001. -For more information on how to identify your adapter, go to the Adapter & -Driver ID Guide at: +Use the above information and the Adapter & Driver ID Guide at: - http://support.intel.com/support/network/adapter/pro100/21397.htm + http://support.intel.com/support/network/adapter/pro100/21397.htm For the latest Intel network drivers for Linux, go to: @@ -72,8 +59,9 @@ loads the ixgb driver with 80 TX resources for the first adapter and 128 TX resources for the second adapter. The default value for each parameter is generally the recommended setting, -unless otherwise noted. - +unless otherwise noted. Also, if the driver is statically built into the +kernel, the driver is loaded with the default values for all the parameters. +Ethtool can be used to change some of the parameters at runtime. FlowControl Valid Range: 0-3 (0=none, 1=Rx only, 2=Tx only, 3=Rx&Tx) @@ -125,7 +113,6 @@ Default Value: 1 offload for transmitted packets (both UDP and TCP) to the adapter hardware. - Improving Performance ===================== diff --git a/Documentation/nmi_watchdog.txt b/Documentation/nmi_watchdog.txt index 6cad46e8a..c025a4561 100644 --- a/Documentation/nmi_watchdog.txt +++ b/Documentation/nmi_watchdog.txt @@ -54,6 +54,20 @@ then the system has crashed so hard (eg. hardware-wise) that either it cannot even accept NMI interrupts, or the crash has made the kernel unable to print messages. +Be aware that when using local APIC, the frequency of NMI interrupts +it generates, depends on the system load. The local APIC NMI watchdog, +lacking a better source, uses the "cycles unhalted" event. As you may +guess it doesn't tick when the CPU is in the halted state (which happens +when the system is idle), but if your system locks up on anything but the +"hlt" processor instruction, the watchdog will trigger very soon as the +"cycles unhalted" event will happen every clock tick. If it locks up on +"hlt", then you are out of luck -- the event will not happen at all and the +watchdog won't trigger. This is a shortcoming of the local APIC watchdog +-- unfortunately there is no "clock ticks" event that would work all the +time. The I/O APIC watchdog is driven externally and has no such shortcoming. +But its NMI frequency is much higher, resulting in a more significant hit +to the overall system performance. + NOTE: starting with 2.4.2-ac18 the NMI-oopser is disabled by default, you have to enable it with a boot time parameter. Prior to 2.4.2-ac18 the NMI-oopser is enabled unconditionally on x86 SMP boxes. diff --git a/Documentation/parisc/registers b/Documentation/parisc/registers index 08b9f558d..dd3caddd1 100644 --- a/Documentation/parisc/registers +++ b/Documentation/parisc/registers @@ -35,8 +35,8 @@ CR31 (TR 7) Temporary register, used in various places SR0 temporary space register SR4-SR7 set to 0 SR1 temporary space register -SR2 unused -SR3 used for userspace accesses (current process)* +SR2 kernel should not clobber this +SR3 used for userspace accesses (current process) Space Registers (user mode) @@ -78,13 +78,8 @@ Shadow Registers used by interruption handler code TOC enable bit 1 ========================================================================= -Info from John Marvin: - -From: "John Marvin" -To: randolf@tausq.org -Subject: Re: parisc asm questions - -[...] +Register usage notes, originally from John Marvin, with some additional +notes from Randolph Chung. For the general registers: @@ -111,9 +106,10 @@ that you should be aware of: don't care about the values that were passed in anymore. r28,r29: are ret0 and ret1. They are what you pass return values - in. r28 is the primary return. I'm not sure I remember - under what circumstances stuff is returned in r29 (millicode - perhaps). + in. r28 is the primary return. When returning small structures + r29 may also be used to pass data back to the caller. + + r30: stack pointer r31: the ble instruction puts the return pointer in here. @@ -123,6 +119,3 @@ r3-r18,r27,r30 need to be saved and restored. r3-r18 are just used to make references to global variables easier. r30 is the stack pointer. -John - - diff --git a/Documentation/pci.txt b/Documentation/pci.txt index a1a2bd557..b0676d114 100644 --- a/Documentation/pci.txt +++ b/Documentation/pci.txt @@ -141,26 +141,24 @@ for PCI devices manually using the following constructs: Searching by vendor and device ID: struct pci_dev *dev = NULL; - while (dev = pci_find_device(VENDOR_ID, DEVICE_ID, dev)) + while (dev = pci_get_device(VENDOR_ID, DEVICE_ID, dev)) configure_device(dev); Searching by class ID (iterate in a similar way): - pci_find_class(CLASS_ID, dev) + pci_get_class(CLASS_ID, dev) Searching by both vendor/device and subsystem vendor/device ID: - pci_find_subsys(VENDOR_ID, DEVICE_ID, SUBSYS_VENDOR_ID, SUBSYS_DEVICE_ID, dev). + pci_get_subsys(VENDOR_ID, DEVICE_ID, SUBSYS_VENDOR_ID, SUBSYS_DEVICE_ID, dev). You can use the constant PCI_ANY_ID as a wildcard replacement for VENDOR_ID or DEVICE_ID. This allows searching for any device from a specific vendor, for example. -Note that these functions are not hotplug-safe. Their hotplug-safe -replacements are pci_get_device(), pci_get_class() and pci_get_subsys(). -They increment the reference count on the pci_dev that they return. -You must eventually (possibly at module unload) decrement the reference -count on these devices by calling pci_dev_put(). + These functions are hotplug-safe. They increment the reference count on +the pci_dev that they return. You must eventually (possibly at module unload) +decrement the reference count on these devices by calling pci_dev_put(). 3. Enabling and disabling devices @@ -275,11 +273,12 @@ pci_present() of PCI subsystem when trying to talk to it. devices just return NULL. pcibios_(read|write)_* Superseded by their pci_(read|write)_* counterparts. -pcibios_find_* Superseded by their pci_find_* counterparts. -pci_for_each_dev() Superseded by pci_find_device() +pcibios_find_* Superseded by their pci_get_* counterparts. +pci_for_each_dev() Superseded by pci_get_device() pci_for_each_dev_reverse() Superseded by pci_find_device_reverse() pci_for_each_bus() Superseded by pci_find_next_bus() pci_find_device() Superseded by pci_get_device() pci_find_subsys() Superseded by pci_get_subsys() -pcibios_find_class() Superseded by pci_find_class() +pcibios_find_class() Superseded by pci_get_class() +pci_find_class() Superseded by pci_get_class() pci_(read|write)_*_nodev() Superseded by pci_bus_(read|write)_*() diff --git a/Documentation/pm.txt b/Documentation/pm.txt index 483d2a5d1..008ac7d2d 100644 --- a/Documentation/pm.txt +++ b/Documentation/pm.txt @@ -36,8 +36,8 @@ system the associated daemon will exit gracefully. apmd: http://worldvisions.ca/~apenwarr/apmd/ acpid: http://acpid.sf.net/ -Driver Interface ----------------- +Driver Interface -- OBSOLETE, DO NOT USE! +----------------************************* If you are writing a new driver or maintaining an old driver, it should include power management support. Without power management support, a single driver may prevent a system with power management @@ -262,8 +262,8 @@ Q: Who do I contact for additional information about ACPI Development mailing list: acpi-devel@lists.sourceforge.net -System Interface ----------------- +System Interface -- OBSOLETE, DO NOT USE! +----------------************************* If you are providing new power management support to Linux (ie. adding support for something like APM or ACPI), you should communicate with drivers through the existing generic power diff --git a/Documentation/power/pci.txt b/Documentation/power/pci.txt index 972c7c74b..c85428e7a 100644 --- a/Documentation/power/pci.txt +++ b/Documentation/power/pci.txt @@ -5,6 +5,7 @@ PCI Power Management An overview of the concepts and the related functions in the Linux kernel Patrick Mochel +(and others) --------------------------------------------------------------------------- @@ -31,10 +32,15 @@ The PCI PM spec defines 4 operating states for devices (D0 - D3) and for buses the higher the number, the longer the latency is for the device to return to an operational state (D0). +There are actually two D3 states. When someone talks about D3, they usually +mean D3hot, which corresponds to an ACPI D2 state (power is reduced, the +device may lose some context). But they may also mean D3cold, which is an +ACPI D3 state (power is fully off, all state was discarded); or both. + Bus power management is not covered in this version of this document. -Note that all PCI devices support D0 and D3 by default, regardless of whether or -not they implement any of the PCI PM spec. +Note that all PCI devices support D0 and D3cold by default, regardless of +whether or not they implement any of the PCI PM spec. The possible state transitions that a device can undergo are: @@ -204,15 +210,16 @@ if (dev->driver && dev->driver->suspend) dev->driver->suspend(dev,state); A driver uses this function to actually transition the device into a low power -state. This may include disabling I/O, memory and bus-mastering, as well as -physically transitioning the device to a lower power state. +state. This should include disabling I/O, IRQs, and bus-mastering, as well as +physically transitioning the device to a lower power state; it may also include +calls to pci_enable_wake(). Bus mastering may be disabled by doing: pci_disable_device(dev); For devices that support the PCI PM Spec, this may be used to set the device's -power state: +power state to match the suspend() parameter: pci_set_power_state(dev,state); @@ -223,7 +230,7 @@ The driver should be sure to track the current state of the device, as it may obviate the need for some operations. The driver should update the current_state field in its pci_dev structure in -this function. +this function, except for PM-capable devices when pci_set_power_state is used. resume ------ @@ -237,16 +244,28 @@ The resume callback may be called from any power state, and is always meant to transition the device to the D0 state. The driver is responsible for reenabling any features of the device that had -been disabled during previous suspend calls and restoring all state that was -saved in previous save_state calls. +been disabled during previous suspend calls, such as IRQs and bus mastering, +as well as calling pci_restore_state(). + +If the device is currently in D3, it may need to be reinitialized in resume(). + + * Some types of devices, like bus controllers, will preserve context in D3hot + (using Vcc power). Their drivers will often want to avoid re-initializing + them after re-entering D0 (perhaps to avoid resetting downstream devices). + + * Other kinds of devices in D3hot will discard device context as part of a + soft reset when re-entering the D0 state. + + * Devices resuming from D3cold always go through a power-on reset. Some + device context can also be preserved using Vaux power. + + * Some systems hide D3cold resume paths from drivers. For example, on PCs + the resume path for suspend-to-disk often runs BIOS powerup code, which + will sometimes re-initialize the device. -If the device is currently in D3, it must be completely reinitialized, as it -must be assumed that the device has lost all of its context (even that of its -PCI config space). For almost all current drivers, this means that the -initialization code that the driver does at boot must be separated out and -called again from the resume callback. Note that some values for the device may -not have to be probed for this time around if they are saved before entering the -low power state. +To handle resets during D3 to D0 transitions, it may be convenient to share +device initialization code between probe() and resume(). Device parameters +can also be saved before the driver suspends into D3, avoiding re-probe. If the device supports the PCI PM Spec, it can use this to physically transition the device to D0: @@ -263,7 +282,7 @@ The driver should take note of the state that it is resuming from in order to ensure correct (and speedy) operation. The driver should update the current_state field in its pci_dev structure in -this function. +this function, except for PM-capable devices when pci_set_power_state is used. enable_wake diff --git a/Documentation/power/swsusp.txt b/Documentation/power/swsusp.txt index cbbbc9c07..3b7172df0 100644 --- a/Documentation/power/swsusp.txt +++ b/Documentation/power/swsusp.txt @@ -15,10 +15,18 @@ From kernel/suspend.c: * If you change kernel command line between suspend and resume... * ...prepare for nasty fsck or worse. * - * (*) pm interface support is needed to make it safe. + * (*) suspend/resume support is needed to make it safe. You need to append resume=/dev/your_swap_partition to kernel command -line. Then you suspend by echo 4 > /proc/acpi/sleep. +line. Then you suspend by + +echo shutdown > /sys/power/disk; echo disk > /sys/power/state + +. If you feel ACPI works pretty well on your system, you might try + +echo platform > /sys/power/disk; echo disk > /sys/power/state + + Article about goals and implementation of Software Suspend for Linux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -32,42 +40,24 @@ saves the state of the machine to a filesystem or to a partition and switches to standby mode. Later resuming the machine the saved state is loaded back to ram and the machine can continue its work. It has two real benefits. First we save ourselves the time machine goes down and later boots up, energy costs -real high when running from batteries. The other gain is that we don't have to +are real high when running from batteries. The other gain is that we don't have to interrupt our programs so processes that are calculating something for a long time shouldn't need to be written interruptible. -Using the code - -You have two ways to use this code. The first one is is with a patched -SysVinit (my patch is against 2.76 and available at my home page). You -might call 'swsusp' or 'shutdown -z