From fbd4be45fd93bb552eff466401e8273d93716a5d Mon Sep 17 00:00:00 2001 From: Len Brown Date: Sat, 16 Dec 2006 00:32:42 -0500 Subject: [PATCH] --- yaml --- r: 44946 b: refs/heads/master c: 678f2b7df24c34f90fee264fa3a8069bca9c99ad h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/CREDITS | 8 + .../Documentation/ABI/testing/debugfs-pktcdvd | 20 + .../ABI/testing/sysfs-class-pktcdvd | 72 + trunk/Documentation/CodingStyle | 126 +- trunk/Documentation/DocBook/kernel-api.tmpl | 8 + trunk/Documentation/SubmitChecklist | 6 + trunk/Documentation/accounting/getdelays.c | 64 +- trunk/Documentation/cachetlb.txt | 23 +- trunk/Documentation/cdrom/packet-writing.txt | 35 + trunk/Documentation/cpu-freq/core.txt | 2 +- trunk/Documentation/dvb/cards.txt | 4 +- .../Documentation/fault-injection/failcmd.sh | 4 + .../fault-injection/failmodule.sh | 31 + .../fault-injection/fault-injection.txt | 225 + .../feature-removal-schedule.txt | 58 +- trunk/Documentation/filesystems/bfs.txt | 2 +- trunk/Documentation/filesystems/ocfs2.txt | 3 + trunk/Documentation/hwmon/f71805f | 56 +- trunk/Documentation/hwmon/it87 | 15 +- trunk/Documentation/hwmon/k8temp | 2 +- trunk/Documentation/hwmon/pc87427 | 38 + trunk/Documentation/hwmon/sysfs-interface | 4 +- trunk/Documentation/hwmon/w83627ehf | 2 +- trunk/Documentation/hwmon/w83791d | 2 +- trunk/Documentation/hwmon/w83793 | 110 + trunk/Documentation/i2c/busses/i2c-amd8111 | 2 +- trunk/Documentation/i2c/busses/i2c-i801 | 5 +- trunk/Documentation/i2c/busses/i2c-nforce2 | 6 +- trunk/Documentation/ioctl-number.txt | 2 + trunk/Documentation/ioctl/ioctl-decoding.txt | 24 + .../Documentation/kbuild/kconfig-language.txt | 8 +- trunk/Documentation/kernel-parameters.txt | 13 + trunk/Documentation/networking/dccp.txt | 6 +- trunk/Documentation/s390/driver-model.txt | 7 + trunk/Documentation/spi/pxa2xx | 16 +- trunk/Documentation/video4linux/CARDLIST.cx88 | 2 +- .../video4linux/CARDLIST.saa7134 | 7 +- trunk/Documentation/video4linux/cafe_ccic | 54 + trunk/Documentation/video4linux/zr36120.txt | 162 - trunk/MAINTAINERS | 66 +- trunk/Makefile | 39 +- trunk/arch/alpha/Kconfig | 8 + trunk/arch/alpha/kernel/osf_sys.c | 8 +- trunk/arch/arm/Kconfig | 21 +- trunk/arch/arm/kernel/apm.c | 2 +- trunk/arch/arm/kernel/calls.S | 13 + trunk/arch/arm/kernel/ecard.c | 2 +- trunk/arch/arm/kernel/head.S | 19 +- trunk/arch/arm/kernel/setup.c | 3 - .../arm/mach-at91rm9200/at91sam9260_devices.c | 1 + .../arm/mach-at91rm9200/board-sam9260ek.c | 1 + trunk/arch/arm/mach-imx/Makefile | 2 + trunk/arch/arm/mach-imx/cpufreq.c | 287 + trunk/arch/arm/mach-netx/time.c | 42 +- trunk/arch/arm/mach-omap1/Kconfig | 1 + trunk/arch/arm/mach-omap1/board-osk.c | 1 + trunk/arch/arm/mach-pnx4008/Makefile | 2 +- trunk/arch/arm/mach-pnx4008/i2c.c | 167 + trunk/arch/arm/mach-pxa/Kconfig | 16 +- trunk/arch/arm/mach-pxa/time.c | 45 +- trunk/arch/arm/mach-pxa/trizeps4.c | 5 - trunk/arch/arm/mach-realview/core.c | 13 + trunk/arch/arm/mach-realview/core.h | 1 + trunk/arch/arm/mach-realview/realview_eb.c | 1 + trunk/arch/arm/mach-sa1100/jornada720.c | 229 +- trunk/arch/arm/mach-versatile/core.c | 14 + trunk/arch/arm/mm/consistent.c | 2 +- trunk/arch/arm/mm/copypage-v4mc.c | 2 +- trunk/arch/arm/mm/copypage-v6.c | 6 +- trunk/arch/arm/mm/copypage-xscale.c | 2 +- trunk/arch/arm/mm/fault-armv.c | 2 +- trunk/arch/arm/mm/flush.c | 2 +- trunk/arch/arm/mm/ioremap.c | 100 +- trunk/arch/arm/mm/mmu.c | 8 +- trunk/arch/arm/mm/pgd.c | 2 +- trunk/arch/arm/mm/proc-arm1020.S | 4 +- trunk/arch/arm/mm/proc-arm1020e.S | 4 +- trunk/arch/arm/mm/proc-arm1022.S | 6 +- trunk/arch/arm/mm/proc-arm1026.S | 6 +- trunk/arch/arm/mm/proc-arm6_7.S | 10 +- trunk/arch/arm/mm/proc-arm720.S | 6 +- trunk/arch/arm/mm/proc-arm920.S | 6 +- trunk/arch/arm/mm/proc-arm922.S | 6 +- trunk/arch/arm/mm/proc-arm925.S | 6 +- trunk/arch/arm/mm/proc-arm926.S | 8 +- trunk/arch/arm/mm/proc-sa110.S | 6 +- trunk/arch/arm/mm/proc-sa1100.S | 6 +- trunk/arch/arm/mm/proc-syms.c | 2 +- trunk/arch/arm/mm/proc-v6.S | 39 +- trunk/arch/arm/mm/proc-xsc3.S | 6 +- trunk/arch/arm/mm/proc-xscale.S | 6 +- trunk/arch/arm/plat-omap/Kconfig | 2 +- trunk/arch/arm/vfp/vfpmodule.c | 26 +- trunk/arch/arm26/Kconfig | 8 + trunk/arch/arm26/kernel/ecard.c | 2 +- trunk/arch/arm26/kernel/irq.c | 2 +- trunk/arch/avr32/Kconfig | 8 + trunk/arch/avr32/boards/atstk1000/atstk1002.c | 76 +- trunk/arch/avr32/kernel/avr32_ksyms.c | 2 +- trunk/arch/avr32/kernel/process.c | 7 + trunk/arch/avr32/kernel/setup.c | 24 - trunk/arch/avr32/lib/delay.c | 2 +- trunk/arch/avr32/mach-at32ap/at32ap7000.c | 182 +- trunk/arch/avr32/mach-at32ap/extint.c | 22 +- trunk/arch/avr32/mach-at32ap/intc.c | 4 + trunk/arch/avr32/mach-at32ap/pio.c | 85 +- trunk/arch/avr32/mach-at32ap/sm.c | 289 - trunk/arch/cris/Kconfig | 8 + .../arch/cris/arch-v10/drivers/axisflashmap.c | 2 +- trunk/arch/cris/arch-v10/drivers/gpio.c | 2 +- .../arch/cris/arch-v32/drivers/axisflashmap.c | 2 +- trunk/arch/cris/arch-v32/drivers/gpio.c | 2 +- .../arch/cris/arch-v32/drivers/sync_serial.c | 8 +- trunk/arch/cris/arch-v32/kernel/signal.c | 2 +- trunk/arch/cris/kernel/profile.c | 2 +- trunk/arch/frv/Kconfig | 8 + trunk/arch/frv/kernel/pm.c | 6 +- trunk/arch/frv/mm/elf-fdpic.c | 4 +- trunk/arch/h8300/Kconfig | 8 + trunk/arch/h8300/kernel/ints.c | 2 +- trunk/arch/h8300/platform/h8s/ints.c | 2 +- trunk/arch/i386/Kconfig | 6 + trunk/arch/i386/Kconfig.cpu | 8 + trunk/arch/i386/defconfig | 28 +- trunk/arch/i386/kernel/apm.c | 2 +- trunk/arch/i386/kernel/cpu/cpufreq/Kconfig | 6 +- trunk/arch/i386/kernel/cpu/cpufreq/Makefile | 2 +- .../i386/kernel/cpu/cpufreq/acpi-cpufreq.c | 813 +- .../arch/i386/kernel/cpu/cpufreq/gx-suspmod.c | 4 +- trunk/arch/i386/kernel/cpu/cpufreq/longhaul.c | 8 +- .../i386/kernel/cpu/cpufreq/p4-clockmod.c | 38 +- .../arch/i386/kernel/cpu/cpufreq/sc520_freq.c | 7 +- .../kernel/cpu/cpufreq/speedstep-centrino.c | 15 +- .../i386/kernel/cpu/cpufreq/speedstep-lib.c | 32 + .../i386/kernel/cpu/cpufreq/speedstep-lib.h | 1 + .../i386/kernel/cpu/cpufreq/speedstep-smi.c | 3 - trunk/arch/i386/kernel/cpuid.c | 4 +- trunk/arch/i386/kernel/io_apic.c | 2 +- trunk/arch/i386/kernel/microcode.c | 6 +- trunk/arch/i386/kernel/module.c | 4 +- trunk/arch/i386/kernel/msr.c | 6 +- trunk/arch/i386/kernel/nmi.c | 8 +- trunk/arch/i386/kernel/quirks.c | 33 +- trunk/arch/i386/kernel/smpboot.c | 4 +- trunk/arch/i386/kernel/traps.c | 41 +- trunk/arch/i386/kernel/vmlinux.lds.S | 3 + trunk/arch/i386/mach-visws/setup.c | 3 + trunk/arch/ia64/Kconfig | 8 + trunk/arch/ia64/hp/sim/simserial.c | 2 +- trunk/arch/ia64/ia32/sys_ia32.c | 4 +- trunk/arch/ia64/kernel/Makefile | 1 + trunk/arch/ia64/kernel/crash.c | 22 - trunk/arch/ia64/kernel/crash_dump.c | 48 + trunk/arch/ia64/kernel/jprobes.S | 3 +- trunk/arch/ia64/kernel/kprobes.c | 226 +- trunk/arch/ia64/kernel/machine_kexec.c | 7 +- trunk/arch/ia64/kernel/mca.c | 2 +- trunk/arch/ia64/kernel/perfmon.c | 10 +- trunk/arch/ia64/kernel/salinfo.c | 6 +- trunk/arch/ia64/kernel/setup.c | 33 +- trunk/arch/ia64/kernel/smp.c | 4 +- trunk/arch/ia64/kernel/traps.c | 50 +- trunk/arch/ia64/mm/contig.c | 9 +- trunk/arch/ia64/mm/init.c | 9 +- trunk/arch/ia64/sn/kernel/setup.c | 12 +- trunk/arch/ia64/sn/kernel/sn2/sn_hwperf.c | 2 +- trunk/arch/ia64/sn/kernel/xpc_channel.c | 15 +- trunk/arch/ia64/sn/kernel/xpc_main.c | 64 +- trunk/arch/m32r/Kconfig | 8 + trunk/arch/m32r/boot/compressed/m32r_sio.c | 7 +- trunk/arch/m32r/kernel/entry.S | 67 +- trunk/arch/m32r/kernel/io_opsput.c | 71 +- trunk/arch/m32r/kernel/setup_opsput.c | 17 +- trunk/arch/m32r/mm/fault.c | 4 +- trunk/arch/m68k/Kconfig | 8 + trunk/arch/m68k/atari/stdma.c | 2 +- trunk/arch/m68k/kernel/sun3-head.S | 10 - trunk/arch/m68k/kernel/vmlinux-sun3.lds | 2 +- trunk/arch/m68k/mm/kmap.c | 2 +- trunk/arch/m68k/mm/memory.c | 4 +- trunk/arch/m68k/mm/sun3mmu.c | 7 +- trunk/arch/m68knommu/Kconfig | 8 + trunk/arch/mips/Kconfig | 33 +- trunk/arch/mips/Makefile | 15 +- trunk/arch/mips/configs/atlas_defconfig | 2 +- trunk/arch/mips/configs/bigsur_defconfig | 2 +- trunk/arch/mips/configs/capcella_defconfig | 2 +- trunk/arch/mips/configs/cobalt_defconfig | 2 +- trunk/arch/mips/configs/db1000_defconfig | 2 +- trunk/arch/mips/configs/db1100_defconfig | 2 +- trunk/arch/mips/configs/db1200_defconfig | 2 +- trunk/arch/mips/configs/db1500_defconfig | 2 +- trunk/arch/mips/configs/db1550_defconfig | 2 +- trunk/arch/mips/configs/ddb5477_defconfig | 2 +- trunk/arch/mips/configs/decstation_defconfig | 2 +- trunk/arch/mips/configs/e55_defconfig | 2 +- trunk/arch/mips/configs/emma2rh_defconfig | 2 +- trunk/arch/mips/configs/ev64120_defconfig | 2 +- trunk/arch/mips/configs/excite_defconfig | 2 +- trunk/arch/mips/configs/ip22_defconfig | 2 +- trunk/arch/mips/configs/ip27_defconfig | 2 +- trunk/arch/mips/configs/ip32_defconfig | 2 +- trunk/arch/mips/configs/jaguar-atx_defconfig | 2 +- trunk/arch/mips/configs/jazz_defconfig | 2 +- trunk/arch/mips/configs/jmr3927_defconfig | 2 +- trunk/arch/mips/configs/lasat200_defconfig | 2 +- trunk/arch/mips/configs/malta_defconfig | 82 +- trunk/arch/mips/configs/mipssim_defconfig | 2 +- trunk/arch/mips/configs/mpc30x_defconfig | 2 +- trunk/arch/mips/configs/ocelot_3_defconfig | 2 +- trunk/arch/mips/configs/ocelot_c_defconfig | 2 +- trunk/arch/mips/configs/ocelot_defconfig | 2 +- trunk/arch/mips/configs/ocelot_g_defconfig | 2 +- trunk/arch/mips/configs/pb1100_defconfig | 2 +- trunk/arch/mips/configs/pb1500_defconfig | 2 +- trunk/arch/mips/configs/pb1550_defconfig | 2 +- trunk/arch/mips/configs/pnx8550-jbs_defconfig | 2 +- .../mips/configs/pnx8550-stb810_defconfig | 1229 +++ .../arch/mips/configs/pnx8550-v2pci_defconfig | 2 +- trunk/arch/mips/configs/qemu_defconfig | 2 +- trunk/arch/mips/configs/rbhma4500_defconfig | 2 +- trunk/arch/mips/configs/rm200_defconfig | 2 +- .../arch/mips/configs/sb1250-swarm_defconfig | 2 +- trunk/arch/mips/configs/sead_defconfig | 2 +- trunk/arch/mips/configs/tb0226_defconfig | 2 +- trunk/arch/mips/configs/tb0229_defconfig | 2 +- trunk/arch/mips/configs/tb0287_defconfig | 2 +- trunk/arch/mips/configs/workpad_defconfig | 2 +- trunk/arch/mips/configs/wrppmc_defconfig | 2 +- trunk/arch/mips/configs/yosemite_defconfig | 2 +- trunk/arch/mips/defconfig | 2 +- trunk/arch/mips/kernel/apm.c | 2 +- trunk/arch/mips/kernel/head.S | 2 +- trunk/arch/mips/kernel/irixelf.c | 2 +- trunk/arch/mips/kernel/kspd.c | 2 +- trunk/arch/mips/kernel/reset.c | 2 + trunk/arch/mips/kernel/rtlx.c | 6 +- trunk/arch/mips/kernel/sysirix.c | 10 +- trunk/arch/mips/kernel/vmlinux.lds.S | 2 +- trunk/arch/mips/kernel/vpe.c | 2 +- trunk/arch/mips/lasat/sysctl.c | 23 +- trunk/arch/mips/lib/csum_partial.S | 293 +- trunk/arch/mips/lib/csum_partial_copy.c | 3 + trunk/arch/mips/mips-boards/malta/Makefile | 2 +- .../arch/mips/mips-boards/malta/malta_setup.c | 39 - trunk/arch/mips/mm/cache.c | 1 + trunk/arch/mips/mm/init.c | 42 +- trunk/arch/mips/mm/ioremap.c | 96 +- trunk/arch/mips/pci/Makefile | 2 +- trunk/arch/mips/pci/fixup-pnx8550.c | 4 +- trunk/arch/mips/philips/pnx8550/common/prom.c | 20 +- trunk/arch/mips/philips/pnx8550/jbs/irqmap.c | 8 +- .../arch/mips/philips/pnx8550/stb810/Makefile | 4 + .../mips/philips/pnx8550/stb810/board_setup.c | 49 + .../arch/mips/philips/pnx8550/stb810/irqmap.c | 23 + .../mips/philips/pnx8550/stb810/prom_init.c | 49 + .../toshiba_rbtx4927/toshiba_rbtx4927_irq.c | 27 +- trunk/arch/mips/vr41xx/Kconfig | 5 - trunk/arch/mips/vr41xx/nec-cmbvr4133/irq.c | 9 +- trunk/arch/parisc/Kconfig | 8 + trunk/arch/parisc/hpux/sys_hpux.c | 4 +- trunk/arch/parisc/kernel/unwind.c | 2 +- trunk/arch/parisc/mm/ioremap.c | 111 +- trunk/arch/powerpc/Kconfig | 16 +- trunk/arch/powerpc/configs/ps3_defconfig | 1 + trunk/arch/powerpc/kernel/Makefile | 1 + trunk/arch/powerpc/kernel/cputable.c | 5 +- trunk/arch/powerpc/kernel/head_32.S | 7 + trunk/arch/powerpc/kernel/module_32.c | 23 +- trunk/arch/powerpc/kernel/module_64.c | 23 +- trunk/arch/powerpc/kernel/nvram_64.c | 4 +- trunk/arch/powerpc/kernel/of_device.c | 4 +- trunk/arch/powerpc/kernel/of_platform.c | 2 +- trunk/arch/powerpc/kernel/pci_32.c | 145 +- trunk/arch/powerpc/kernel/pci_64.c | 42 +- trunk/arch/powerpc/kernel/ppc_ksyms.c | 2 +- trunk/arch/powerpc/kernel/proc_ppc64.c | 6 +- trunk/arch/powerpc/kernel/prom.c | 55 + trunk/arch/powerpc/kernel/prom_init.c | 2 +- trunk/arch/powerpc/kernel/rtas.c | 35 +- trunk/arch/powerpc/kernel/rtas_flash.c | 16 +- trunk/arch/powerpc/kernel/sysfs.c | 16 + trunk/arch/powerpc/kernel/traps.c | 56 +- trunk/arch/powerpc/kernel/vmlinux.lds.S | 6 +- trunk/arch/powerpc/mm/imalloc.c | 6 +- trunk/arch/powerpc/mm/numa.c | 65 + trunk/arch/powerpc/platforms/4xx/Kconfig | 2 +- trunk/arch/powerpc/platforms/52xx/lite5200.c | 2 - .../arch/powerpc/platforms/cell/cbe_thermal.c | 2 + trunk/arch/powerpc/platforms/cell/pmu.c | 5 +- .../powerpc/platforms/cell/spufs/coredump.c | 2 +- .../arch/powerpc/platforms/cell/spufs/inode.c | 4 +- .../powerpc/platforms/cell/spufs/syscalls.c | 2 +- .../powerpc/platforms/embedded6xx/Kconfig | 2 +- trunk/arch/powerpc/platforms/iseries/mf.c | 2 +- trunk/arch/powerpc/platforms/maple/pci.c | 2 +- trunk/arch/powerpc/platforms/maple/setup.c | 12 + trunk/arch/powerpc/platforms/ps3/Kconfig | 11 + trunk/arch/powerpc/platforms/pseries/Makefile | 2 + trunk/arch/powerpc/platforms/pseries/eeh.c | 1 + .../powerpc/platforms/pseries/eeh_cache.c | 2 +- .../powerpc/platforms/pseries/eeh_driver.c | 13 +- .../powerpc/platforms/pseries/hotplug-cpu.c | 275 + .../powerpc/platforms/pseries/hvCall_inst.c | 2 +- .../arch/powerpc/platforms/pseries/scanlog.c | 2 +- trunk/arch/powerpc/platforms/pseries/setup.c | 30 +- trunk/arch/powerpc/platforms/pseries/smp.c | 200 - trunk/arch/powerpc/sysdev/Makefile | 3 +- trunk/arch/powerpc/sysdev/dcr.S | 39 - trunk/arch/powerpc/sysdev/qe_lib/qe_ic.c | 40 +- trunk/arch/powerpc/sysdev/rom.c | 1 + trunk/arch/powerpc/xmon/xmon.c | 10 +- trunk/arch/ppc/8260_io/fcc_enet.c | 4 +- trunk/arch/ppc/8xx_io/cs4218_tdm.c | 14 +- trunk/arch/ppc/Kconfig | 17 +- trunk/arch/ppc/kernel/pci.c | 41 +- trunk/arch/ppc/kernel/traps.c | 64 +- trunk/arch/ppc/platforms/4xx/Kconfig | 2 +- trunk/arch/s390/Kconfig | 24 +- trunk/arch/s390/defconfig | 1 - trunk/arch/s390/hypfs/inode.c | 4 +- trunk/arch/s390/kernel/debug.c | 12 +- trunk/arch/s390/kernel/s390_ext.c | 2 +- trunk/arch/s390/kernel/setup.c | 55 +- trunk/arch/s390/lib/uaccess_pt.c | 5 +- trunk/arch/s390/mm/Makefile | 2 +- trunk/arch/s390/mm/extmem.c | 106 +- trunk/arch/s390/mm/init.c | 184 +- trunk/arch/s390/mm/ioremap.c | 84 +- trunk/arch/s390/mm/vmem.c | 381 + trunk/arch/sh/Kconfig | 22 +- trunk/arch/sh/Kconfig.debug | 3 +- trunk/arch/sh/Makefile | 7 +- trunk/arch/sh/boards/landisk/irq.c | 4 +- trunk/arch/sh/boards/se/7206/irq.c | 16 +- trunk/arch/sh/boards/se/7619/Makefile | 2 +- trunk/arch/sh/boards/se/7619/io.c | 102 - trunk/arch/sh/boards/se/7619/setup.c | 21 - trunk/arch/sh/boot/Makefile | 40 +- trunk/arch/sh/boot/compressed/Makefile | 6 - trunk/arch/sh/boot/compressed/head.S | 3 +- trunk/arch/sh/boot/compressed/misc.c | 3 +- trunk/arch/sh/configs/landisk_defconfig | 85 +- trunk/arch/sh/configs/se7206_defconfig | 142 +- trunk/arch/sh/configs/se7619_defconfig | 744 ++ trunk/arch/sh/drivers/push-switch.c | 13 +- trunk/arch/sh/kernel/cpu/Makefile | 1 + trunk/arch/sh/kernel/cpu/sh2/entry.S | 32 +- trunk/arch/sh/kernel/cpu/sh2/setup-sh7619.c | 41 + trunk/arch/sh/kernel/cpu/sh2a/setup-sh7206.c | 62 +- trunk/arch/sh/kernel/cpu/sh4/Makefile | 9 +- trunk/arch/sh/kernel/cpu/sh4/probe.c | 9 + trunk/arch/sh/kernel/cpu/sh4/setup-sh7750.c | 31 + trunk/arch/sh/kernel/cpu/sh4/sq.c | 7 +- trunk/arch/sh/kernel/cpu/sh4a/Makefile | 19 + .../kernel/cpu/{sh4 => sh4a}/clock-sh73180.c | 0 trunk/arch/sh/kernel/cpu/sh4a/clock-sh7343.c | 99 + .../kernel/cpu/{sh4 => sh4a}/clock-sh7770.c | 0 .../kernel/cpu/{sh4 => sh4a}/clock-sh7780.c | 0 .../kernel/cpu/{sh4 => sh4a}/setup-sh73180.c | 0 .../kernel/cpu/{sh4 => sh4a}/setup-sh7343.c | 0 trunk/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 80 + .../kernel/cpu/{sh4 => sh4a}/setup-sh7770.c | 0 .../kernel/cpu/{sh4 => sh4a}/setup-sh7780.c | 0 trunk/arch/sh/kernel/early_printk.c | 20 +- trunk/arch/sh/kernel/entry-common.S | 15 +- trunk/arch/sh/kernel/head.S | 3 +- trunk/arch/sh/kernel/process.c | 15 +- trunk/arch/sh/kernel/setup.c | 41 +- trunk/arch/sh/kernel/sh_ksyms.c | 15 +- trunk/arch/sh/kernel/signal.c | 2 +- trunk/arch/sh/kernel/sys_sh.c | 8 +- trunk/arch/sh/kernel/traps.c | 35 + trunk/arch/sh/kernel/vmlinux.lds.S | 2 +- trunk/arch/sh/mm/Kconfig | 12 +- trunk/arch/sh/mm/cache-sh4.c | 2 +- trunk/arch/sh/mm/init.c | 2 + trunk/arch/sh/mm/ioremap.c | 90 +- trunk/arch/sh/oprofile/op_model_sh7750.c | 2 +- trunk/arch/sh64/Kconfig | 8 + trunk/arch/sh64/mm/ioremap.c | 100 +- trunk/arch/sparc/Kconfig | 8 + trunk/arch/sparc/kernel/ioport.c | 6 +- trunk/arch/sparc/kernel/irq.c | 4 +- trunk/arch/sparc/kernel/of_device.c | 3 +- trunk/arch/sparc/kernel/ptrace.c | 5 +- trunk/arch/sparc/kernel/sun4d_irq.c | 9 +- trunk/arch/sparc/kernel/sys_sunos.c | 6 +- trunk/arch/sparc/mm/io-unit.c | 8 +- trunk/arch/sparc64/Kconfig | 16 + trunk/arch/sparc64/Kconfig.debug | 4 + trunk/arch/sparc64/defconfig | 54 +- trunk/arch/sparc64/kernel/Makefile | 1 + trunk/arch/sparc64/kernel/binfmt_aout32.c | 4 +- trunk/arch/sparc64/kernel/chmc.c | 3 +- trunk/arch/sparc64/kernel/entry.S | 27 +- trunk/arch/sparc64/kernel/head.S | 8 + trunk/arch/sparc64/kernel/isa.c | 12 +- trunk/arch/sparc64/kernel/kprobes.c | 91 +- trunk/arch/sparc64/kernel/of_device.c | 3 +- trunk/arch/sparc64/kernel/pci_sun4v.c | 16 +- trunk/arch/sparc64/kernel/ptrace.c | 5 +- trunk/arch/sparc64/kernel/rtrap.S | 23 +- trunk/arch/sparc64/kernel/stacktrace.c | 41 + trunk/arch/sparc64/kernel/sun4v_ivec.S | 20 +- trunk/arch/sparc64/kernel/sys_sunos32.c | 8 +- trunk/arch/sparc64/kernel/traps.c | 30 +- trunk/arch/sparc64/kernel/unaligned.c | 44 +- trunk/arch/sparc64/kernel/visemul.c | 6 - trunk/arch/sparc64/mm/ultra.S | 8 + trunk/arch/sparc64/solaris/fs.c | 4 +- trunk/arch/sparc64/solaris/ioctl.c | 6 +- trunk/arch/sparc64/solaris/misc.c | 6 +- trunk/arch/sparc64/solaris/socksys.c | 14 +- trunk/arch/sparc64/solaris/timod.c | 10 +- trunk/arch/um/Kconfig | 5 + trunk/arch/um/drivers/line.c | 2 +- trunk/arch/um/drivers/net_kern.c | 18 +- trunk/arch/um/include/line.h | 2 +- trunk/arch/um/include/net_kern.h | 2 + trunk/arch/um/kernel/exec.c | 7 +- trunk/arch/um/sys-i386/Makefile | 2 +- trunk/arch/um/sys-i386/bug.c | 20 + trunk/arch/um/sys-i386/ldt.c | 4 +- trunk/arch/um/sys-x86_64/Makefile | 2 +- trunk/arch/um/sys-x86_64/bug.c | 20 + trunk/arch/v850/Kconfig | 36 +- trunk/arch/x86_64/Kconfig | 15 +- trunk/arch/x86_64/defconfig | 29 +- trunk/arch/x86_64/ia32/ia32_aout.c | 8 +- trunk/arch/x86_64/kernel/cpufreq/Kconfig | 6 +- trunk/arch/x86_64/kernel/cpufreq/Makefile | 2 +- trunk/arch/x86_64/kernel/module.c | 5 +- trunk/arch/x86_64/kernel/nmi.c | 9 +- trunk/arch/x86_64/kernel/traps.c | 36 +- trunk/arch/x86_64/kernel/vmlinux.lds.S | 3 + trunk/arch/x86_64/kernel/vsyscall.c | 3 +- trunk/arch/xtensa/Kconfig | 29 +- trunk/arch/xtensa/Makefile | 25 +- trunk/arch/xtensa/boot/boot-elf/bootstrap.S | 3 - .../arch/xtensa/boot/boot-redboot/bootstrap.S | 37 +- trunk/arch/xtensa/configs/iss_defconfig | 6 +- trunk/arch/xtensa/kernel/Makefile | 2 +- trunk/arch/xtensa/kernel/align.S | 42 +- trunk/arch/xtensa/kernel/asm-offsets.c | 5 + trunk/arch/xtensa/kernel/coprocessor.S | 2 +- trunk/arch/xtensa/kernel/entry.S | 256 +- trunk/arch/xtensa/kernel/head.S | 53 +- trunk/arch/xtensa/kernel/irq.c | 107 +- trunk/arch/xtensa/kernel/pci-dma.c | 44 +- trunk/arch/xtensa/kernel/process.c | 108 +- trunk/arch/xtensa/kernel/ptrace.c | 28 +- trunk/arch/xtensa/kernel/setup.c | 41 +- trunk/arch/xtensa/kernel/signal.c | 28 +- trunk/arch/xtensa/kernel/syscall.c | 95 + trunk/arch/xtensa/kernel/syscalls.c | 288 - trunk/arch/xtensa/kernel/syscalls.h | 247 - trunk/arch/xtensa/kernel/time.c | 8 +- trunk/arch/xtensa/kernel/traps.c | 56 +- trunk/arch/xtensa/kernel/vectors.S | 12 +- trunk/arch/xtensa/kernel/vmlinux.lds.S | 26 +- trunk/arch/xtensa/lib/checksum.S | 3 +- trunk/arch/xtensa/lib/memcopy.S | 2 +- trunk/arch/xtensa/lib/memset.S | 2 +- trunk/arch/xtensa/lib/strncpy_user.S | 2 +- trunk/arch/xtensa/lib/strnlen_user.S | 2 +- trunk/arch/xtensa/lib/usercopy.S | 2 +- trunk/arch/xtensa/mm/fault.c | 10 +- trunk/arch/xtensa/mm/init.c | 6 +- trunk/arch/xtensa/mm/misc.S | 265 +- trunk/arch/xtensa/mm/tlb.c | 445 +- trunk/arch/xtensa/platform-iss/console.c | 8 +- trunk/arch/xtensa/platform-iss/network.c | 2 +- trunk/block/as-iosched.c | 15 +- trunk/block/cfq-iosched.c | 18 +- trunk/block/genhd.c | 31 + trunk/block/ioctl.c | 6 +- trunk/block/ll_rw_blk.c | 87 +- trunk/block/scsi_ioctl.c | 10 +- trunk/crypto/blkcipher.c | 1 - trunk/crypto/sha512.c | 2 +- trunk/drivers/Kconfig | 4 + trunk/drivers/Makefile | 2 + trunk/drivers/acorn/block/fd1772.c | 4 +- trunk/drivers/acorn/char/i2c.c | 2 +- trunk/drivers/ata/pdc_adma.c | 4 +- trunk/drivers/atm/.gitignore | 2 +- trunk/drivers/atm/Kconfig | 1 + trunk/drivers/atm/ambassador.c | 17 +- trunk/drivers/atm/eni.c | 4 +- trunk/drivers/atm/he.c | 2 +- trunk/drivers/atm/lanai.c | 2 +- trunk/drivers/atm/nicstar.c | 4 +- trunk/drivers/atm/zatm.c | 4 +- trunk/drivers/base/class.c | 2 + trunk/drivers/base/dmapool.c | 2 +- trunk/drivers/base/platform.c | 4 +- trunk/drivers/block/Kconfig | 21 +- trunk/drivers/block/Makefile | 1 - trunk/drivers/block/acsi_slm.c | 4 +- trunk/drivers/block/cciss.c | 27 +- trunk/drivers/block/cpqarray.c | 10 +- trunk/drivers/block/loop.c | 4 +- trunk/drivers/block/nbd.c | 2 +- trunk/drivers/block/pktcdvd.c | 547 +- trunk/drivers/block/swim_iop.c | 578 -- trunk/drivers/cdrom/cdrom.c | 8 +- trunk/drivers/cdrom/cm206.c | 2 +- trunk/drivers/char/Kconfig | 23 +- trunk/drivers/char/Makefile | 1 + trunk/drivers/char/agp/Kconfig | 4 +- trunk/drivers/char/agp/generic.c | 25 + trunk/drivers/char/amiserial.c | 6 +- trunk/drivers/char/consolemap.c | 2 +- trunk/drivers/char/cs5535_gpio.c | 4 +- trunk/drivers/char/cyclades.c | 7771 +++++++++-------- trunk/drivers/char/drm/drm.h | 33 +- trunk/drivers/char/drm/drmP.h | 23 +- trunk/drivers/char/drm/drm_bufs.c | 10 +- trunk/drivers/char/drm/drm_core.h | 8 +- trunk/drivers/char/drm/drm_drawable.c | 294 +- trunk/drivers/char/drm/drm_drv.c | 14 + trunk/drivers/char/drm/drm_ioc32.c | 56 +- trunk/drivers/char/drm/drm_irq.c | 155 +- trunk/drivers/char/drm/drm_lock.c | 11 + trunk/drivers/char/drm/drm_stub.c | 2 + trunk/drivers/char/drm/drm_vm.c | 16 + trunk/drivers/char/drm/i915_dma.c | 2 + trunk/drivers/char/drm/i915_drm.h | 19 + trunk/drivers/char/drm/i915_drv.c | 4 +- trunk/drivers/char/drm/i915_drv.h | 22 +- trunk/drivers/char/drm/i915_ioc32.c | 12 +- trunk/drivers/char/drm/i915_irq.c | 265 +- trunk/drivers/char/drm/mga_ioc32.c | 8 +- trunk/drivers/char/drm/r128_ioc32.c | 10 +- trunk/drivers/char/drm/radeon_ioc32.c | 20 +- trunk/drivers/char/dsp56k.c | 6 +- trunk/drivers/char/dtlk.c | 4 +- trunk/drivers/char/epca.c | 16 +- trunk/drivers/char/esp.c | 2 +- trunk/drivers/char/generic_serial.c | 4 +- trunk/drivers/char/hvcs.c | 6 +- trunk/drivers/char/hvsi.c | 2 + trunk/drivers/char/ip2/ip2main.c | 12 +- trunk/drivers/char/ipmi/ipmi_bt_sm.c | 4 +- trunk/drivers/char/ipmi/ipmi_devintf.c | 6 +- trunk/drivers/char/ipmi/ipmi_msghandler.c | 12 +- trunk/drivers/char/ipmi/ipmi_poweroff.c | 6 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 132 +- trunk/drivers/char/ipmi/ipmi_watchdog.c | 18 +- trunk/drivers/char/isicom.c | 296 +- trunk/drivers/char/istallion.c | 1164 ++- trunk/drivers/char/keyboard.c | 2 +- trunk/drivers/char/lcd.c | 2 +- trunk/drivers/char/lp.c | 6 +- trunk/drivers/char/mem.c | 16 +- trunk/drivers/char/moxa.c | 18 +- trunk/drivers/char/mxser.c | 32 +- trunk/drivers/char/mxser_new.c | 2812 ++++++ trunk/drivers/char/mxser_new.h | 450 + trunk/drivers/char/n_r3964.c | 41 +- trunk/drivers/char/n_tty.c | 3 +- trunk/drivers/char/nsc_gpio.c | 4 +- trunk/drivers/char/pcmcia/synclink_cs.c | 4 +- trunk/drivers/char/ppdev.c | 4 +- trunk/drivers/char/pty.c | 10 +- trunk/drivers/char/random.c | 4 +- trunk/drivers/char/raw.c | 2 +- trunk/drivers/char/rio/riocmd.c | 2 +- trunk/drivers/char/riscom8.c | 4 +- trunk/drivers/char/rocket.c | 10 +- trunk/drivers/char/rtc.c | 38 +- trunk/drivers/char/ser_a2232.c | 2 + trunk/drivers/char/serial167.c | 2 +- trunk/drivers/char/sonypi.c | 2 +- trunk/drivers/char/specialix.c | 9 +- trunk/drivers/char/stallion.c | 2156 ++--- trunk/drivers/char/sx.c | 2236 ++--- trunk/drivers/char/sx.h | 1 + trunk/drivers/char/synclink.c | 6 +- trunk/drivers/char/synclink_gt.c | 6 +- trunk/drivers/char/synclinkmp.c | 10 +- trunk/drivers/char/sysrq.c | 37 +- trunk/drivers/char/tb0219.c | 4 +- trunk/drivers/char/tipar.c | 4 +- trunk/drivers/char/tty_io.c | 404 +- trunk/drivers/char/tty_ioctl.c | 264 +- trunk/drivers/char/vc_screen.c | 6 +- trunk/drivers/char/viocons.c | 10 +- trunk/drivers/char/viotape.c | 10 +- trunk/drivers/char/vme_scc.c | 2 + trunk/drivers/char/vr41xx_giu.c | 4 +- trunk/drivers/char/vt.c | 2 +- trunk/drivers/char/vt_ioctl.c | 10 +- trunk/drivers/char/watchdog/at91rm9200_wdt.c | 6 +- trunk/drivers/char/watchdog/mpcore_wdt.c | 2 +- trunk/drivers/char/watchdog/omap_wdt.c | 2 +- trunk/drivers/char/watchdog/pcwd_usb.c | 5 +- trunk/drivers/char/watchdog/rm9k_wdt.c | 44 +- trunk/drivers/clocksource/acpi_pm.c | 42 +- trunk/drivers/cpufreq/cpufreq.c | 153 +- trunk/drivers/cpufreq/cpufreq_conservative.c | 33 +- trunk/drivers/cpufreq/cpufreq_ondemand.c | 33 +- trunk/drivers/cpufreq/cpufreq_performance.c | 9 +- trunk/drivers/cpufreq/cpufreq_powersave.c | 9 +- trunk/drivers/cpufreq/cpufreq_stats.c | 11 +- trunk/drivers/cpufreq/cpufreq_userspace.c | 11 +- trunk/drivers/cpufreq/freq_table.c | 28 +- trunk/drivers/crypto/Kconfig | 2 +- trunk/drivers/fc4/fc.c | 10 +- trunk/drivers/hid/Kconfig | 18 + trunk/drivers/hid/Makefile | 15 + trunk/drivers/hid/hid-core.c | 1003 +++ trunk/drivers/{usb/input => hid}/hid-input.c | 153 +- trunk/drivers/hwmon/Kconfig | 56 +- trunk/drivers/hwmon/Makefile | 3 + trunk/drivers/hwmon/ams/Makefile | 8 + trunk/drivers/hwmon/ams/ams-core.c | 265 + trunk/drivers/hwmon/ams/ams-i2c.c | 299 + trunk/drivers/hwmon/ams/ams-input.c | 160 + trunk/drivers/hwmon/ams/ams-pmu.c | 207 + trunk/drivers/hwmon/ams/ams.h | 72 + trunk/drivers/hwmon/f71805f.c | 569 +- trunk/drivers/hwmon/hdaps.c | 68 +- trunk/drivers/hwmon/hwmon-vid.c | 4 +- trunk/drivers/hwmon/it87.c | 202 +- trunk/drivers/hwmon/k8temp.c | 4 +- trunk/drivers/hwmon/pc87360.c | 2 +- trunk/drivers/hwmon/pc87427.c | 627 ++ trunk/drivers/hwmon/w83627ehf.c | 2 +- trunk/drivers/hwmon/w83792d.c | 2 +- trunk/drivers/hwmon/w83793.c | 1609 ++++ trunk/drivers/i2c/algos/Kconfig | 11 - trunk/drivers/i2c/algos/Makefile | 1 - trunk/drivers/i2c/algos/i2c-algo-bit.c | 8 - trunk/drivers/i2c/algos/i2c-algo-ite.c | 806 -- trunk/drivers/i2c/algos/i2c-algo-ite.h | 117 - trunk/drivers/i2c/algos/i2c-algo-pca.c | 7 - trunk/drivers/i2c/algos/i2c-algo-pcf.c | 8 - trunk/drivers/i2c/algos/i2c-algo-sgi.c | 8 - trunk/drivers/i2c/busses/Kconfig | 49 +- trunk/drivers/i2c/busses/Makefile | 4 +- trunk/drivers/i2c/busses/i2c-ali1563.c | 2 +- trunk/drivers/i2c/busses/i2c-at91.c | 325 + trunk/drivers/i2c/busses/i2c-elektor.c | 2 +- trunk/drivers/i2c/busses/i2c-hydra.c | 2 +- trunk/drivers/i2c/busses/i2c-i801.c | 16 +- trunk/drivers/i2c/busses/i2c-i810.c | 6 +- trunk/drivers/i2c/busses/i2c-ibm_iic.c | 9 + trunk/drivers/i2c/busses/i2c-ite.c | 278 - trunk/drivers/i2c/busses/i2c-ixp2000.c | 2 +- trunk/drivers/i2c/busses/i2c-ixp4xx.c | 2 +- trunk/drivers/i2c/busses/i2c-nforce2.c | 89 +- trunk/drivers/i2c/busses/i2c-omap.c | 4 +- trunk/drivers/i2c/busses/i2c-parport-light.c | 2 +- trunk/drivers/i2c/busses/i2c-parport.c | 2 +- trunk/drivers/i2c/busses/i2c-pca-isa.c | 2 +- trunk/drivers/i2c/busses/i2c-pnx.c | 708 ++ trunk/drivers/i2c/busses/i2c-prosavage.c | 2 +- trunk/drivers/i2c/busses/i2c-savage4.c | 2 +- trunk/drivers/i2c/busses/i2c-versatile.c | 153 + trunk/drivers/i2c/busses/i2c-via.c | 2 +- trunk/drivers/i2c/busses/i2c-voodoo3.c | 6 +- trunk/drivers/i2c/busses/scx200_i2c.c | 2 +- trunk/drivers/i2c/chips/ds1337.c | 8 +- trunk/drivers/i2c/chips/tps65010.c | 21 +- trunk/drivers/i2c/i2c-core.c | 67 +- trunk/drivers/i2c/i2c-dev.c | 48 +- trunk/drivers/ide/Kconfig | 2 +- trunk/drivers/ide/ide-cd.c | 7 + trunk/drivers/ide/ide-floppy.c | 2 +- trunk/drivers/ide/ide-probe.c | 4 - trunk/drivers/ide/ide-tape.c | 8 +- trunk/drivers/ide/pci/alim15x3.c | 16 +- trunk/drivers/ide/pci/hpt366.c | 886 +- trunk/drivers/ide/pci/pdc202xx_new.c | 503 +- trunk/drivers/ide/pci/piix.c | 4 + trunk/drivers/ide/pci/sis5513.c | 3 +- trunk/drivers/ide/pci/sl82c105.c | 31 +- trunk/drivers/ide/setup-pci.c | 4 +- trunk/drivers/ieee1394/ieee1394_core.h | 2 +- trunk/drivers/ieee1394/pcilynx.c | 2 +- trunk/drivers/infiniband/core/Makefile | 6 +- trunk/drivers/infiniband/core/cm.c | 4 + trunk/drivers/infiniband/core/cma.c | 416 +- trunk/drivers/infiniband/core/fmr_pool.c | 12 +- trunk/drivers/infiniband/core/mad.c | 90 +- trunk/drivers/infiniband/core/mad_priv.h | 6 +- trunk/drivers/infiniband/core/ucma.c | 874 ++ trunk/drivers/infiniband/core/uverbs_main.c | 6 +- .../drivers/infiniband/core/uverbs_marshall.c | 5 +- trunk/drivers/infiniband/core/uverbs_mem.c | 12 +- trunk/drivers/infiniband/hw/amso1100/c2_qp.c | 13 +- trunk/drivers/infiniband/hw/ipath/Makefile | 1 + trunk/drivers/infiniband/hw/ipath/ipath_dma.c | 189 + .../infiniband/hw/ipath/ipath_driver.c | 4 +- .../infiniband/hw/ipath/ipath_file_ops.c | 9 +- trunk/drivers/infiniband/hw/ipath/ipath_fs.c | 10 +- .../infiniband/hw/ipath/ipath_iba6110.c | 3 +- .../infiniband/hw/ipath/ipath_iba6120.c | 8 +- .../infiniband/hw/ipath/ipath_init_chip.c | 3 +- .../drivers/infiniband/hw/ipath/ipath_intr.c | 3 +- .../drivers/infiniband/hw/ipath/ipath_keys.c | 8 +- trunk/drivers/infiniband/hw/ipath/ipath_mr.c | 7 +- .../drivers/infiniband/hw/ipath/ipath_sysfs.c | 3 - .../drivers/infiniband/hw/ipath/ipath_verbs.c | 1 + .../drivers/infiniband/hw/ipath/ipath_verbs.h | 2 + .../infiniband/hw/mthca/mthca_provider.c | 4 +- trunk/drivers/infiniband/hw/mthca/mthca_qp.c | 4 +- trunk/drivers/infiniband/hw/mthca/mthca_srq.c | 4 +- trunk/drivers/infiniband/ulp/ipoib/ipoib.h | 4 +- trunk/drivers/infiniband/ulp/ipoib/ipoib_ib.c | 75 +- .../drivers/infiniband/ulp/ipoib/ipoib_main.c | 3 +- .../drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +- .../infiniband/ulp/iser/iser_initiator.c | 4 - .../drivers/infiniband/ulp/iser/iser_memory.c | 129 +- trunk/drivers/infiniband/ulp/srp/ib_srp.c | 81 +- trunk/drivers/infiniband/ulp/srp/ib_srp.h | 2 +- trunk/drivers/input/Makefile | 1 + trunk/drivers/input/ff-core.c | 4 +- trunk/drivers/input/ff-memless.c | 2 +- trunk/drivers/input/gameport/gameport.c | 19 +- trunk/drivers/input/gameport/lightning.c | 4 +- trunk/drivers/input/input.c | 25 +- trunk/drivers/input/joystick/adi.c | 10 +- trunk/drivers/input/joystick/amijoy.c | 6 +- trunk/drivers/input/joystick/analog.c | 10 +- trunk/drivers/input/joystick/cobra.c | 7 +- trunk/drivers/input/joystick/gf2k.c | 4 +- trunk/drivers/input/joystick/grip_mp.c | 13 +- trunk/drivers/input/joystick/guillemot.c | 4 +- .../input/joystick/iforce/iforce-main.c | 31 +- .../input/joystick/iforce/iforce-serio.c | 20 +- trunk/drivers/input/joystick/interact.c | 4 +- trunk/drivers/input/joystick/magellan.c | 17 +- trunk/drivers/input/joystick/spaceball.c | 17 +- trunk/drivers/input/joystick/spaceorb.c | 17 +- trunk/drivers/input/joystick/stinger.c | 17 +- trunk/drivers/input/joystick/twidjoy.c | 17 +- trunk/drivers/input/joystick/warrior.c | 17 +- trunk/drivers/input/keyboard/Kconfig | 11 + trunk/drivers/input/keyboard/Makefile | 1 + trunk/drivers/input/keyboard/aaed2000_kbd.c | 203 + trunk/drivers/input/keyboard/amikbd.c | 22 +- trunk/drivers/input/keyboard/atkbd.c | 162 +- trunk/drivers/input/keyboard/corgikbd.c | 17 +- trunk/drivers/input/keyboard/hil_kbd.c | 3 +- trunk/drivers/input/keyboard/hilkbd.c | 5 + trunk/drivers/input/keyboard/lkkbd.c | 17 +- trunk/drivers/input/keyboard/locomokbd.c | 28 +- trunk/drivers/input/keyboard/maple_keyb.c | 160 - trunk/drivers/input/keyboard/newtonkbd.c | 17 +- trunk/drivers/input/keyboard/spitzkbd.c | 24 +- trunk/drivers/input/keyboard/stowaway.c | 3 +- trunk/drivers/input/keyboard/sunkbd.c | 23 +- trunk/drivers/input/keyboard/xtkbd.c | 17 +- trunk/drivers/input/mouse/amimouse.c | 11 +- trunk/drivers/input/mouse/hil_ptr.c | 3 +- trunk/drivers/input/mouse/inport.c | 23 +- trunk/drivers/input/mouse/lifebook.c | 82 +- trunk/drivers/input/mouse/logibm.c | 24 +- trunk/drivers/input/mouse/logips2pp.c | 11 +- trunk/drivers/input/mouse/pc110pad.c | 26 +- trunk/drivers/input/mouse/psmouse-base.c | 101 +- trunk/drivers/input/mouse/rpcmouse.c | 20 +- trunk/drivers/input/mouse/sermouse.c | 16 +- trunk/drivers/input/mouse/trackpoint.c | 12 +- trunk/drivers/input/mouse/vsxxxaa.c | 16 +- trunk/drivers/input/mousedev.c | 2 +- trunk/drivers/input/serio/i8042-x86ia64io.h | 7 + trunk/drivers/input/serio/i8042.c | 39 +- trunk/drivers/input/serio/serio.c | 147 +- trunk/drivers/input/serio/serio_raw.c | 3 +- trunk/drivers/input/touchscreen/Kconfig | 15 + trunk/drivers/input/touchscreen/Makefile | 1 + trunk/drivers/input/touchscreen/ads7846.c | 95 +- trunk/drivers/input/touchscreen/corgi_ts.c | 30 +- trunk/drivers/input/touchscreen/elo.c | 3 +- trunk/drivers/input/touchscreen/gunze.c | 17 +- .../input/touchscreen/h3600_ts_input.c | 3 +- .../input/touchscreen/hp680_ts_input.c | 29 +- trunk/drivers/input/touchscreen/mk712.c | 26 +- trunk/drivers/input/touchscreen/mtouch.c | 16 +- trunk/drivers/input/touchscreen/penmount.c | 3 +- trunk/drivers/input/touchscreen/touchright.c | 3 +- trunk/drivers/input/touchscreen/touchwin.c | 3 +- trunk/drivers/input/touchscreen/ucb1400_ts.c | 579 ++ trunk/drivers/isdn/act2000/act2000_isa.c | 2 +- trunk/drivers/isdn/act2000/module.c | 3 +- trunk/drivers/isdn/capi/capi.c | 13 +- trunk/drivers/isdn/capi/capidrv.c | 11 +- trunk/drivers/isdn/divert/divert_procfs.c | 2 +- trunk/drivers/isdn/divert/isdn_divert.c | 6 +- trunk/drivers/isdn/gigaset/Kconfig | 1 + trunk/drivers/isdn/gigaset/asyncdata.c | 5 +- trunk/drivers/isdn/gigaset/bas-gigaset.c | 118 +- trunk/drivers/isdn/gigaset/common.c | 37 - trunk/drivers/isdn/gigaset/gigaset.h | 4 - trunk/drivers/isdn/gigaset/interface.c | 4 +- trunk/drivers/isdn/gigaset/isocdata.c | 5 +- trunk/drivers/isdn/hardware/avm/avm_cs.c | 3 +- trunk/drivers/isdn/hardware/avm/b1.c | 10 +- trunk/drivers/isdn/hardware/avm/t1isa.c | 1 + trunk/drivers/isdn/hardware/eicon/debug.c | 4 +- trunk/drivers/isdn/hardware/eicon/di.c | 8 +- trunk/drivers/isdn/hardware/eicon/divasmain.c | 2 +- trunk/drivers/isdn/hardware/eicon/io.c | 2 +- trunk/drivers/isdn/hardware/eicon/istream.c | 4 +- trunk/drivers/isdn/hardware/eicon/platform.h | 8 - trunk/drivers/isdn/hisax/Kconfig | 18 +- trunk/drivers/isdn/hisax/avma1_cs.c | 3 +- trunk/drivers/isdn/hisax/config.c | 21 +- trunk/drivers/isdn/hisax/diva.c | 4 + trunk/drivers/isdn/hisax/elsa_cs.c | 3 +- trunk/drivers/isdn/hisax/fsm.c | 4 +- trunk/drivers/isdn/hisax/hfc4s8s_l1.c | 3 +- trunk/drivers/isdn/hisax/hfc_pci.c | 10 +- trunk/drivers/isdn/hisax/hfc_usb.c | 3 +- trunk/drivers/isdn/hisax/hisax.h | 6 - trunk/drivers/isdn/hisax/hisax_fcpcipnp.c | 4 +- trunk/drivers/isdn/hisax/hisax_isac.c | 2 +- trunk/drivers/isdn/hisax/isdnhdlc.c | 25 - trunk/drivers/isdn/hisax/isdnhdlc.h | 2 - trunk/drivers/isdn/hisax/sedlbauer.c | 4 + trunk/drivers/isdn/hisax/sedlbauer_cs.c | 3 +- trunk/drivers/isdn/hisax/st5481_b.c | 3 +- trunk/drivers/isdn/hisax/st5481_d.c | 4 +- trunk/drivers/isdn/hisax/st5481_init.c | 4 +- trunk/drivers/isdn/hisax/teles_cs.c | 3 +- trunk/drivers/isdn/hysdn/hycapi.c | 3 +- trunk/drivers/isdn/hysdn/hysdn_boot.c | 3 +- trunk/drivers/isdn/hysdn/hysdn_init.c | 3 +- trunk/drivers/isdn/hysdn/hysdn_net.c | 3 +- trunk/drivers/isdn/hysdn/hysdn_procconf.c | 2 +- trunk/drivers/isdn/hysdn/hysdn_proclog.c | 9 +- trunk/drivers/isdn/i4l/isdn_audio.c | 6 +- trunk/drivers/isdn/i4l/isdn_bsdcomp.c | 4 +- trunk/drivers/isdn/i4l/isdn_common.c | 15 +- trunk/drivers/isdn/i4l/isdn_net.c | 8 +- trunk/drivers/isdn/i4l/isdn_ppp.c | 23 +- trunk/drivers/isdn/i4l/isdn_tty.c | 2 +- trunk/drivers/isdn/i4l/isdn_v110.c | 3 +- trunk/drivers/isdn/icn/icn.c | 3 +- trunk/drivers/isdn/isdnloop/isdnloop.c | 3 +- trunk/drivers/isdn/pcbit/drv.c | 9 +- trunk/drivers/isdn/pcbit/layer2.c | 5 +- trunk/drivers/isdn/sc/init.c | 9 +- trunk/drivers/kvm/Kconfig | 37 + trunk/drivers/kvm/Makefile | 10 + trunk/drivers/kvm/kvm.h | 551 ++ trunk/drivers/kvm/kvm_main.c | 1917 ++++ trunk/drivers/kvm/kvm_svm.h | 44 + trunk/drivers/kvm/kvm_vmx.h | 14 + trunk/drivers/kvm/mmu.c | 686 ++ trunk/drivers/kvm/paging_tmpl.h | 391 + trunk/drivers/kvm/segment_descriptor.h | 17 + trunk/drivers/kvm/svm.c | 1641 ++++ trunk/drivers/kvm/svm.h | 315 + trunk/drivers/kvm/vmx.c | 2014 +++++ trunk/drivers/kvm/vmx.h | 296 + trunk/drivers/kvm/x86_emulate.c | 1409 +++ trunk/drivers/kvm/x86_emulate.h | 185 + trunk/drivers/leds/Kconfig | 22 +- trunk/drivers/macintosh/Kconfig | 1 - trunk/drivers/macintosh/adb.c | 2 +- trunk/drivers/macintosh/adbhid.c | 10 +- trunk/drivers/macintosh/apm_emu.c | 2 +- trunk/drivers/macintosh/mac_hid.c | 8 +- trunk/drivers/macintosh/smu.c | 2 +- trunk/drivers/macintosh/via-pmu68k.c | 2 +- trunk/drivers/md/Kconfig | 1 + trunk/drivers/md/bitmap.c | 8 +- trunk/drivers/md/dm-bio-list.h | 14 + trunk/drivers/md/dm-crypt.c | 4 +- trunk/drivers/md/dm-emc.c | 10 +- trunk/drivers/md/dm-hw-handler.h | 2 +- trunk/drivers/md/dm-io.c | 15 +- trunk/drivers/md/dm-ioctl.c | 16 +- trunk/drivers/md/dm-linear.c | 4 +- trunk/drivers/md/dm-log.c | 24 +- trunk/drivers/md/dm-log.h | 10 +- trunk/drivers/md/dm-mpath.c | 52 +- trunk/drivers/md/dm-mpath.h | 4 +- trunk/drivers/md/dm-path-selector.h | 12 +- trunk/drivers/md/dm-raid1.c | 25 +- trunk/drivers/md/dm-round-robin.c | 12 +- trunk/drivers/md/dm-snap.c | 33 +- trunk/drivers/md/dm-stripe.c | 2 +- trunk/drivers/md/dm-zero.c | 2 +- trunk/drivers/md/dm.c | 130 +- trunk/drivers/md/dm.h | 19 + trunk/drivers/md/faulty.c | 2 +- trunk/drivers/md/md.c | 29 +- trunk/drivers/md/raid1.c | 3 +- trunk/drivers/md/raid10.c | 6 +- trunk/drivers/md/raid5.c | 367 +- trunk/drivers/media/Kconfig | 2 + trunk/drivers/media/common/ir-keymaps.c | 55 + trunk/drivers/media/common/saa7146_i2c.c | 16 +- trunk/drivers/media/dvb/b2c2/Kconfig | 1 + .../drivers/media/dvb/b2c2/flexcop-fe-tuner.c | 10 +- trunk/drivers/media/dvb/bt8xx/Kconfig | 2 +- trunk/drivers/media/dvb/bt8xx/dst_ca.c | 2 +- trunk/drivers/media/dvb/bt8xx/dvb-bt8xx.c | 11 +- trunk/drivers/media/dvb/bt8xx/dvb-bt8xx.h | 2 +- trunk/drivers/media/dvb/cinergyT2/cinergyT2.c | 13 +- trunk/drivers/media/dvb/dvb-usb/Kconfig | 14 + trunk/drivers/media/dvb/dvb-usb/Makefile | 3 + trunk/drivers/media/dvb/dvb-usb/a800.c | 36 +- trunk/drivers/media/dvb/dvb-usb/cxusb.c | 271 +- trunk/drivers/media/dvb/dvb-usb/dib0700.h | 5 + .../drivers/media/dvb/dvb-usb/dib0700_core.c | 40 +- .../media/dvb/dvb-usb/dib0700_devices.c | 200 +- trunk/drivers/media/dvb/dvb-usb/dibusb-mb.c | 113 +- trunk/drivers/media/dvb/dvb-usb/dibusb-mc.c | 26 +- trunk/drivers/media/dvb/dvb-usb/digitv.c | 22 +- trunk/drivers/media/dvb/dvb-usb/dtt200u.c | 24 +- trunk/drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 14 +- .../media/dvb/dvb-usb/dvb-usb-remote.c | 37 +- trunk/drivers/media/dvb/dvb-usb/gp8psk.c | 22 +- trunk/drivers/media/dvb/dvb-usb/nova-t-usb2.c | 34 +- trunk/drivers/media/dvb/dvb-usb/ttusb2.c | 270 + trunk/drivers/media/dvb/dvb-usb/ttusb2.h | 70 + trunk/drivers/media/dvb/dvb-usb/umt-010.c | 24 +- trunk/drivers/media/dvb/dvb-usb/vp702x.c | 20 +- trunk/drivers/media/dvb/dvb-usb/vp7045.c | 40 +- trunk/drivers/media/dvb/frontends/Kconfig | 24 + trunk/drivers/media/dvb/frontends/Makefile | 3 + trunk/drivers/media/dvb/frontends/dib3000mc.c | 7 +- trunk/drivers/media/dvb/frontends/dib7000m.c | 1191 +++ trunk/drivers/media/dvb/frontends/dib7000m.h | 51 + trunk/drivers/media/dvb/frontends/dib7000p.c | 1019 +++ trunk/drivers/media/dvb/frontends/dib7000p.h | 46 + .../media/dvb/frontends/dibx000_common.h | 13 +- trunk/drivers/media/dvb/frontends/dvb-pll.c | 67 +- trunk/drivers/media/dvb/frontends/dvb-pll.h | 7 +- trunk/drivers/media/dvb/frontends/lg_h06xf.h | 64 - trunk/drivers/media/dvb/frontends/lgdt330x.c | 257 +- .../media/dvb/frontends/lgdt330x_priv.h | 15 +- trunk/drivers/media/dvb/frontends/lgh06xf.c | 134 + trunk/drivers/media/dvb/frontends/lgh06xf.h | 35 + trunk/drivers/media/dvb/frontends/or51132.c | 176 +- trunk/drivers/media/dvb/frontends/or51211.c | 124 +- trunk/drivers/media/dvb/frontends/tda1004x.c | 10 +- trunk/drivers/media/dvb/frontends/tda1004x.h | 5 +- trunk/drivers/media/dvb/frontends/tda8083.c | 30 + trunk/drivers/media/dvb/frontends/tda826x.c | 12 +- trunk/drivers/media/dvb/frontends/tua6100.c | 3 +- trunk/drivers/media/dvb/pluto2/pluto2.c | 8 +- trunk/drivers/media/dvb/ttpci/Kconfig | 1 + trunk/drivers/media/dvb/ttpci/av7110.c | 2 +- trunk/drivers/media/dvb/ttpci/av7110_ir.c | 25 +- trunk/drivers/media/dvb/ttpci/budget-av.c | 26 +- trunk/drivers/media/dvb/ttpci/budget-ci.c | 334 +- trunk/drivers/media/dvb/ttpci/budget.c | 2 +- trunk/drivers/media/dvb/ttusb-dec/ttusb_dec.c | 11 +- .../drivers/media/dvb/ttusb-dec/ttusbdecfe.c | 4 +- trunk/drivers/media/video/Kconfig | 31 +- trunk/drivers/media/video/Makefile | 6 +- trunk/drivers/media/video/bt8xx/bttv-driver.c | 2 +- trunk/drivers/media/video/bt8xx/bttv-i2c.c | 6 +- trunk/drivers/media/video/bt8xx/bttv-input.c | 101 +- trunk/drivers/media/video/cafe_ccic-regs.h | 160 + trunk/drivers/media/video/cafe_ccic.c | 2228 +++++ trunk/drivers/media/video/compat_ioctl32.c | 2 +- trunk/drivers/media/video/cx88/Kconfig | 1 + .../drivers/media/video/cx88/cx88-blackbird.c | 179 +- trunk/drivers/media/video/cx88/cx88-cards.c | 86 +- trunk/drivers/media/video/cx88/cx88-core.c | 2 +- trunk/drivers/media/video/cx88/cx88-dvb.c | 333 +- trunk/drivers/media/video/cx88/cx88-input.c | 77 +- trunk/drivers/media/video/cx88/cx88-mpeg.c | 348 +- trunk/drivers/media/video/cx88/cx88-tvaudio.c | 13 - trunk/drivers/media/video/cx88/cx88-video.c | 32 + .../media/video/cx88/cx88-vp3054-i2c.c | 2 +- trunk/drivers/media/video/cx88/cx88.h | 47 + trunk/drivers/media/video/dabusb.c | 4 +- trunk/drivers/media/video/ir-kbd-i2c.c | 46 +- trunk/drivers/media/video/mxb.c | 8 +- trunk/drivers/media/video/ov7670.c | 1333 +++ trunk/drivers/media/video/planb.c | 2 +- .../media/video/pvrusb2/pvrusb2-cx2584x-v4l.c | 16 + .../drivers/media/video/pvrusb2/pvrusb2-hdw.c | 26 - .../media/video/pvrusb2/pvrusb2-i2c-core.c | 81 +- trunk/drivers/media/video/saa7115.c | 18 +- .../media/video/saa7134/saa7134-alsa.c | 63 +- .../media/video/saa7134/saa7134-cards.c | 222 + .../media/video/saa7134/saa7134-core.c | 11 +- .../drivers/media/video/saa7134/saa7134-dvb.c | 222 +- .../drivers/media/video/saa7134/saa7134-i2c.c | 1 + .../media/video/saa7134/saa7134-input.c | 76 +- trunk/drivers/media/video/saa7134/saa7134.h | 8 + trunk/drivers/media/video/stv680.c | 21 +- trunk/drivers/media/video/tda9887.c | 6 + trunk/drivers/media/video/tuner-core.c | 4 + trunk/drivers/media/video/tuner-simple.c | 4 + trunk/drivers/media/video/tuner-types.c | 15 +- trunk/drivers/media/video/tveeprom.c | 9 +- .../media/video/usbvideo/quickcam_messenger.c | 9 +- trunk/drivers/media/video/usbvideo/usbvideo.c | 2 +- trunk/drivers/media/video/usbvision/Kconfig | 12 + trunk/drivers/media/video/usbvision/Makefile | 5 + .../media/video/usbvision/usbvision-cards.c | 157 + .../media/video/usbvision/usbvision-core.c | 2554 ++++++ .../media/video/usbvision/usbvision-i2c.c | 571 ++ .../media/video/usbvision/usbvision-video.c | 2051 +++++ .../drivers/media/video/usbvision/usbvision.h | 558 ++ trunk/drivers/media/video/v4l1-compat.c | 18 +- trunk/drivers/media/video/v4l2-common.c | 85 +- trunk/drivers/media/video/videocodec.c | 2 +- trunk/drivers/media/video/videodev.c | 175 +- trunk/drivers/media/video/vino.c | 2 +- trunk/drivers/media/video/vivi.c | 16 +- trunk/drivers/media/video/zoran_card.c | 2 +- trunk/drivers/media/video/zoran_procfs.c | 4 +- trunk/drivers/media/video/zr36120.c | 2079 ----- trunk/drivers/media/video/zr36120.h | 279 - trunk/drivers/media/video/zr36120_i2c.c | 132 - trunk/drivers/media/video/zr36120_mem.c | 78 - trunk/drivers/media/video/zr36120_mem.h | 3 - trunk/drivers/message/i2o/core.h | 4 +- trunk/drivers/message/i2o/driver.c | 2 +- trunk/drivers/message/i2o/exec-osm.c | 2 +- trunk/drivers/message/i2o/i2o_config.c | 4 +- trunk/drivers/mmc/at91_mci.c | 346 +- trunk/drivers/mmc/au1xmmc.c | 2 +- trunk/drivers/mmc/mmc_queue.c | 4 +- trunk/drivers/mmc/pxamci.c | 4 +- trunk/drivers/mmc/sdhci.c | 4 +- trunk/drivers/mmc/tifm_sd.c | 2 +- trunk/drivers/mtd/devices/mtd_dataflash.c | 2 +- trunk/drivers/mtd/rfd_ftl.c | 2 +- trunk/drivers/net/7990.c | 2 +- trunk/drivers/net/8139too.c | 5 +- trunk/drivers/net/Kconfig | 8 + trunk/drivers/net/apne.c | 3 +- trunk/drivers/net/appletalk/ipddp.c | 2 +- trunk/drivers/net/bnx2.c | 2 +- trunk/drivers/net/bsd_comp.c | 2 +- trunk/drivers/net/chelsio/cxgb2.c | 23 +- trunk/drivers/net/chelsio/sge.c | 115 +- trunk/drivers/net/chelsio/sge.h | 4 +- trunk/drivers/net/e100.c | 3 +- trunk/drivers/net/hamradio/6pack.c | 9 +- trunk/drivers/net/hamradio/baycom_epp.c | 10 +- trunk/drivers/net/hamradio/bpqether.c | 9 +- trunk/drivers/net/hamradio/dmascc.c | 10 +- trunk/drivers/net/hamradio/hdlcdrv.c | 16 +- trunk/drivers/net/hamradio/mkiss.c | 9 +- trunk/drivers/net/hamradio/scc.c | 9 +- trunk/drivers/net/hamradio/yam.c | 9 +- trunk/drivers/net/hplance.c | 14 +- trunk/drivers/net/irda/donauboe.c | 2 +- trunk/drivers/net/irda/irda-usb.c | 2 +- trunk/drivers/net/irda/irport.c | 2 +- trunk/drivers/net/irda/irtty-sir.c | 4 +- trunk/drivers/net/lp486e.c | 4 +- trunk/drivers/net/macb.c | 8 +- trunk/drivers/net/macb.h | 6 +- trunk/drivers/net/myri10ge/myri10ge.c | 498 +- trunk/drivers/net/phy/phy_device.c | 2 +- trunk/drivers/net/ppp_deflate.c | 4 +- trunk/drivers/net/ppp_mppe.c | 2 +- trunk/drivers/net/skge.c | 2 +- trunk/drivers/net/slip.c | 6 +- trunk/drivers/net/smc91x.h | 90 - trunk/drivers/net/ucc_geth.c | 12 +- trunk/drivers/net/via-velocity.c | 2 +- trunk/drivers/net/wan/Kconfig | 5 +- trunk/drivers/net/wan/cosa.c | 4 +- trunk/drivers/net/wan/hostess_sv11.c | 2 +- trunk/drivers/net/wan/pc300_drv.c | 2 +- trunk/drivers/net/wan/pc300_tty.c | 2 +- trunk/drivers/net/wan/x25_asy.c | 8 +- trunk/drivers/net/wireless/hostap/hostap_ap.c | 2 +- .../net/wireless/hostap/hostap_download.c | 2 +- trunk/drivers/net/wireless/hostap/hostap_hw.c | 2 +- .../net/wireless/hostap/hostap_ioctl.c | 2 +- .../drivers/net/wireless/hostap/hostap_main.c | 2 +- trunk/drivers/net/wireless/ipw2100.c | 2 +- .../drivers/net/wireless/prism54/isl_ioctl.c | 2 +- trunk/drivers/net/wireless/strip.c | 2 +- trunk/drivers/net/wireless/wavelan_cs.c | 2 +- trunk/drivers/net/wireless/zd1211rw/zd_chip.c | 2 +- trunk/drivers/oprofile/buffer_sync.c | 8 +- trunk/drivers/parisc/iosapic.c | 2 +- trunk/drivers/parport/Kconfig | 6 +- trunk/drivers/pci/hotplug/Kconfig | 3 +- trunk/drivers/pci/hotplug/cpqphp_nvram.c | 8 +- trunk/drivers/pci/hotplug/pciehp_hpc.c | 2 +- trunk/drivers/pci/pcie/aer/aerdrv.c | 2 +- trunk/drivers/pci/proc.c | 8 +- trunk/drivers/pcmcia/at91_cf.c | 2 +- trunk/drivers/pcmcia/omap_cf.c | 2 +- trunk/drivers/pcmcia/pcmcia_ioctl.c | 6 +- trunk/drivers/pnp/isapnp/core.c | 22 +- trunk/drivers/pnp/isapnp/proc.c | 2 +- trunk/drivers/pnp/pnpacpi/core.c | 6 +- trunk/drivers/pnp/pnpacpi/rsparser.c | 22 +- trunk/drivers/pnp/pnpbios/core.c | 16 +- trunk/drivers/pnp/pnpbios/proc.c | 8 +- trunk/drivers/pnp/pnpbios/rsparser.c | 16 +- trunk/drivers/ps3/Makefile | 1 + trunk/drivers/ps3/vuart.c | 965 ++ trunk/drivers/ps3/vuart.h | 94 + trunk/drivers/rtc/Kconfig | 2 +- trunk/drivers/rtc/Makefile | 2 +- .../rtc/{rtc-at91.c => rtc-at91rm9200.c} | 5 +- trunk/drivers/rtc/rtc-dev.c | 2 +- trunk/drivers/rtc/rtc-ds1672.c | 2 +- trunk/drivers/rtc/rtc-lib.c | 81 + trunk/drivers/rtc/rtc-omap.c | 3 +- trunk/drivers/rtc/rtc-pcf8563.c | 6 +- trunk/drivers/rtc/rtc-proc.c | 4 +- trunk/drivers/rtc/rtc-rs5c372.c | 2 +- trunk/drivers/rtc/rtc-s3c.c | 6 +- trunk/drivers/rtc/rtc-sa1100.c | 4 +- trunk/drivers/rtc/rtc-sh.c | 245 +- trunk/drivers/rtc/rtc-sysfs.c | 2 +- trunk/drivers/rtc/rtc-x1205.c | 10 +- trunk/drivers/s390/block/dasd.c | 8 +- trunk/drivers/s390/block/dasd_3990_erp.c | 23 +- trunk/drivers/s390/block/dasd_devmap.c | 49 + trunk/drivers/s390/block/dasd_int.h | 4 - trunk/drivers/s390/block/dasd_ioctl.c | 2 +- trunk/drivers/s390/char/con3215.c | 2 +- trunk/drivers/s390/char/ctrlchar.c | 9 +- trunk/drivers/s390/char/fs3270.c | 16 +- trunk/drivers/s390/char/keyboard.c | 2 +- trunk/drivers/s390/char/sclp_cpi.c | 2 +- trunk/drivers/s390/char/sclp_tty.c | 2 - trunk/drivers/s390/char/tape.h | 3 +- trunk/drivers/s390/char/tape_34xx.c | 23 +- trunk/drivers/s390/char/tape_3590.c | 7 +- trunk/drivers/s390/char/tape_block.c | 14 +- trunk/drivers/s390/char/tape_char.c | 8 +- trunk/drivers/s390/char/tape_core.c | 14 +- trunk/drivers/s390/char/tty3270.c | 2 +- trunk/drivers/s390/cio/chsc.c | 28 +- trunk/drivers/s390/cio/cio.c | 62 +- trunk/drivers/s390/cio/cio.h | 6 +- trunk/drivers/s390/cio/css.c | 69 +- trunk/drivers/s390/cio/css.h | 9 + trunk/drivers/s390/cio/device.c | 456 +- trunk/drivers/s390/cio/device.h | 6 +- trunk/drivers/s390/cio/device_fsm.c | 58 +- trunk/drivers/s390/cio/device_ops.c | 28 +- trunk/drivers/s390/cio/qdio.c | 234 +- trunk/drivers/s390/cio/qdio.h | 28 +- trunk/drivers/s390/crypto/ap_bus.c | 17 + trunk/drivers/s390/crypto/zcrypt_cex2a.c | 4 +- trunk/drivers/s390/crypto/zcrypt_pcica.c | 4 +- trunk/drivers/s390/crypto/zcrypt_pcixcc.c | 2 +- trunk/drivers/s390/net/ctcmain.c | 6 +- trunk/drivers/s390/net/iucv.c | 2 +- trunk/drivers/s390/scsi/zfcp_aux.c | 2 +- trunk/drivers/sbus/char/bpp.c | 4 +- trunk/drivers/sbus/char/cpwatchdog.c | 2 +- trunk/drivers/sbus/char/display7seg.c | 2 +- trunk/drivers/sbus/char/openprom.c | 2 +- trunk/drivers/sbus/char/vfc_dev.c | 4 +- trunk/drivers/scsi/Kconfig | 2 +- trunk/drivers/scsi/aacraid/aachba.c | 2 +- trunk/drivers/scsi/aacraid/comminit.c | 2 +- trunk/drivers/scsi/aha1542.c | 2 +- trunk/drivers/scsi/aic7xxx_old.c | 2 +- trunk/drivers/scsi/dc395x.c | 2 +- trunk/drivers/scsi/dpt_i2o.c | 10 +- trunk/drivers/scsi/initio.c | 2 +- trunk/drivers/scsi/osst.c | 2 +- trunk/drivers/scsi/pluto.c | 2 +- trunk/drivers/scsi/sd.c | 2 +- trunk/drivers/scsi/sr_ioctl.c | 2 +- trunk/drivers/scsi/sr_vendor.c | 4 +- trunk/drivers/scsi/st.c | 2 +- trunk/drivers/scsi/sun3_NCR5380.c | 4 +- trunk/drivers/scsi/sun3_scsi.c | 2 +- trunk/drivers/scsi/sun3_scsi.h | 2 +- trunk/drivers/scsi/sun3_scsi_vme.c | 2 +- trunk/drivers/scsi/sym53c8xx_2/sym_hipd.c | 2 +- trunk/drivers/serial/21285.c | 4 +- trunk/drivers/serial/68328serial.c | 2 +- trunk/drivers/serial/68360serial.c | 2 +- trunk/drivers/serial/8250.c | 4 +- trunk/drivers/serial/8250_pci.c | 24 + trunk/drivers/serial/Kconfig | 57 +- trunk/drivers/serial/amba-pl010.c | 4 +- trunk/drivers/serial/amba-pl011.c | 4 +- trunk/drivers/serial/atmel_serial.c | 2 +- trunk/drivers/serial/clps711x.c | 4 +- trunk/drivers/serial/crisv10.c | 8 +- trunk/drivers/serial/crisv10.h | 4 +- trunk/drivers/serial/dz.c | 4 +- trunk/drivers/serial/icom.c | 6 +- trunk/drivers/serial/imx.c | 4 +- trunk/drivers/serial/ioc3_serial.c | 4 +- trunk/drivers/serial/ioc4_serial.c | 6 +- trunk/drivers/serial/ip22zilog.c | 4 +- trunk/drivers/serial/jsm/jsm_tty.c | 10 +- trunk/drivers/serial/m32r_sio.c | 2 +- trunk/drivers/serial/mcfserial.c | 2 +- trunk/drivers/serial/mpc52xx_uart.c | 4 +- trunk/drivers/serial/mpsc.c | 4 +- trunk/drivers/serial/mux.c | 4 +- trunk/drivers/serial/netx-serial.c | 4 +- trunk/drivers/serial/pmac_zilog.c | 10 +- trunk/drivers/serial/pmac_zilog.h | 2 +- trunk/drivers/serial/pxa.c | 4 +- trunk/drivers/serial/s3c2410.c | 4 +- trunk/drivers/serial/sa1100.c | 4 +- trunk/drivers/serial/serial_core.c | 21 +- trunk/drivers/serial/serial_lh7a40x.c | 4 +- trunk/drivers/serial/serial_txx9.c | 4 +- trunk/drivers/serial/sh-sci.c | 26 +- trunk/drivers/serial/sh-sci.h | 19 + trunk/drivers/serial/sn_console.c | 4 +- trunk/drivers/serial/sunhv.c | 4 +- trunk/drivers/serial/sunsab.c | 4 +- trunk/drivers/serial/sunsu.c | 4 +- trunk/drivers/serial/sunzilog.c | 4 +- trunk/drivers/serial/uartlite.c | 4 +- trunk/drivers/serial/v850e_uart.c | 4 +- trunk/drivers/serial/vr41xx_siu.c | 4 +- trunk/drivers/spi/pxa2xx_spi.c | 733 +- trunk/drivers/tc/zs.c | 2 +- trunk/drivers/telephony/ixj.c | 10 +- trunk/drivers/usb/class/cdc-acm.c | 4 +- trunk/drivers/usb/core/inode.c | 4 +- trunk/drivers/usb/gadget/at91_udc.c | 2 +- trunk/drivers/usb/gadget/file_storage.c | 16 +- trunk/drivers/usb/gadget/serial.c | 6 +- trunk/drivers/usb/host/hc_crisv10.c | 2 +- trunk/drivers/usb/input/Kconfig | 21 +- trunk/drivers/usb/input/Makefile | 3 - trunk/drivers/usb/input/appletouch.c | 95 +- trunk/drivers/usb/input/hid-core.c | 1422 +-- trunk/drivers/usb/input/hid-ff.c | 8 +- trunk/drivers/usb/input/hid-lgff.c | 7 +- trunk/drivers/usb/input/hid-pidff.c | 58 +- trunk/drivers/usb/input/hid-tmff.c | 5 +- trunk/drivers/usb/input/hid-zpff.c | 7 +- trunk/drivers/usb/input/hiddev.c | 37 +- trunk/drivers/usb/input/usbhid.h | 84 + trunk/drivers/usb/misc/auerswald.c | 4 +- trunk/drivers/usb/misc/sisusbvga/sisusb.c | 2 +- trunk/drivers/usb/misc/uss720.c | 2 +- trunk/drivers/usb/net/rndis_host.c | 2 +- trunk/drivers/usb/serial/ark3116.c | 4 +- trunk/drivers/usb/serial/belkin_sa.c | 4 +- trunk/drivers/usb/serial/console.c | 2 +- trunk/drivers/usb/serial/cp2101.c | 4 +- trunk/drivers/usb/serial/cypress_m8.c | 12 +- trunk/drivers/usb/serial/digi_acceleport.c | 10 +- trunk/drivers/usb/serial/empeg.c | 4 +- trunk/drivers/usb/serial/ftdi_sio.c | 4 +- trunk/drivers/usb/serial/io_edgeport.c | 8 +- trunk/drivers/usb/serial/io_ti.c | 8 +- trunk/drivers/usb/serial/ipaq.c | 2 +- trunk/drivers/usb/serial/ir-usb.c | 4 +- trunk/drivers/usb/serial/keyspan.c | 2 +- trunk/drivers/usb/serial/keyspan.h | 2 +- trunk/drivers/usb/serial/keyspan_pda.c | 2 +- trunk/drivers/usb/serial/kl5kusb105.c | 6 +- trunk/drivers/usb/serial/kobil_sct.c | 14 +- trunk/drivers/usb/serial/mct_u232.c | 4 +- trunk/drivers/usb/serial/mos7720.c | 4 +- trunk/drivers/usb/serial/mos7840.c | 4 +- trunk/drivers/usb/serial/option.c | 4 +- trunk/drivers/usb/serial/pl2303.c | 6 +- trunk/drivers/usb/serial/sierra.c | 2 +- trunk/drivers/usb/serial/ti_usb_3410_5052.c | 6 +- trunk/drivers/usb/serial/usb-serial.c | 2 +- trunk/drivers/usb/serial/visor.c | 4 +- trunk/drivers/usb/serial/whiteheat.c | 10 +- trunk/drivers/usb/storage/sddr09.c | 2 +- trunk/drivers/video/Kconfig | 14 + trunk/drivers/video/Makefile | 1 + trunk/drivers/video/S3triofb.c | 7 +- trunk/drivers/video/amba-clcd.c | 2 +- trunk/drivers/video/amifb.c | 16 +- trunk/drivers/video/arcfb.c | 2 +- trunk/drivers/video/atafb.c | 13 +- trunk/drivers/video/aty/aty128fb.c | 5 + trunk/drivers/video/aty/atyfb.h | 9 +- trunk/drivers/video/aty/atyfb_base.c | 197 +- trunk/drivers/video/aty/mach64_ct.c | 47 +- trunk/drivers/video/aty/radeon_i2c.c | 8 +- trunk/drivers/video/aty/radeon_monitor.c | 3 +- trunk/drivers/video/au1100fb.h | 2 +- trunk/drivers/video/backlight/backlight.c | 95 +- trunk/drivers/video/backlight/corgi_bl.c | 4 + trunk/drivers/video/backlight/hp680_bl.c | 4 + trunk/drivers/video/backlight/lcd.c | 80 +- trunk/drivers/video/backlight/locomolcd.c | 4 + trunk/drivers/video/cfbimgblt.c | 8 +- trunk/drivers/video/cirrusfb.c | 15 +- trunk/drivers/video/console/softcursor.c | 26 +- trunk/drivers/video/console/sticon.c | 2 +- trunk/drivers/video/console/vgacon.c | 30 +- trunk/drivers/video/cyberfb.c | 4 +- trunk/drivers/video/epson1355fb.c | 4 +- trunk/drivers/video/fbcmap.c | 55 +- trunk/drivers/video/fbcvt.c | 2 +- trunk/drivers/video/fbmem.c | 22 +- trunk/drivers/video/fbmon.c | 2 +- trunk/drivers/video/ffb.c | 4 + trunk/drivers/video/fm2fb.c | 1 + trunk/drivers/video/geode/Kconfig | 20 + trunk/drivers/video/geode/display_gx.c | 23 +- trunk/drivers/video/geode/display_gx.h | 7 +- trunk/drivers/video/geode/gxfb_core.c | 53 +- trunk/drivers/video/geode/video_gx.c | 107 +- trunk/drivers/video/geode/video_gx.h | 25 + trunk/drivers/video/gxt4500.c | 741 ++ trunk/drivers/video/hpfb.c | 2 + trunk/drivers/video/i810/i810-i2c.c | 10 +- trunk/drivers/video/igafb.c | 6 +- trunk/drivers/video/intelfb/intelfb_i2c.c | 4 +- trunk/drivers/video/intelfb/intelfbdrv.c | 3 +- trunk/drivers/video/macfb.c | 20 + trunk/drivers/video/matrox/i2c-matroxfb.c | 4 +- trunk/drivers/video/matrox/matroxfb_base.c | 2 +- trunk/drivers/video/matrox/matroxfb_crtc2.c | 2 +- trunk/drivers/video/mbx/mbxdebugfs.c | 188 +- trunk/drivers/video/mbx/mbxfb.c | 359 +- trunk/drivers/video/mbx/reg_bits.h | 114 +- trunk/drivers/video/mbx/regs.h | 2 +- trunk/drivers/video/modedb.c | 6 +- trunk/drivers/video/neofb.c | 2 +- trunk/drivers/video/nvidia/nv_accel.c | 35 - trunk/drivers/video/nvidia/nv_i2c.c | 13 +- trunk/drivers/video/nvidia/nv_local.h | 11 +- trunk/drivers/video/nvidia/nv_of.c | 3 +- trunk/drivers/video/nvidia/nv_proto.h | 1 - trunk/drivers/video/offb.c | 3 + trunk/drivers/video/platinumfb.c | 3 + trunk/drivers/video/pmagb-b-fb.c | 2 +- trunk/drivers/video/pvr2fb.c | 18 + trunk/drivers/video/retz3fb.c | 4 +- trunk/drivers/video/riva/fbdev.c | 66 +- trunk/drivers/video/riva/riva_hw.c | 10 +- trunk/drivers/video/riva/riva_hw.h | 17 +- trunk/drivers/video/riva/rivafb-i2c.c | 6 +- trunk/drivers/video/s3c2410fb.c | 213 +- trunk/drivers/video/savage/savagefb-i2c.c | 9 +- trunk/drivers/video/sis/init301.c | 7 +- trunk/drivers/video/sstfb.c | 335 +- trunk/drivers/video/stifb.c | 3 + trunk/drivers/video/tgafb.c | 58 +- trunk/drivers/video/tridentfb.c | 22 +- trunk/drivers/video/vesafb.c | 24 +- trunk/drivers/video/vga16fb.c | 28 +- trunk/drivers/video/virgefb.c | 17 +- trunk/drivers/w1/slaves/Kconfig | 4 +- trunk/drivers/zorro/proc.c | 2 +- trunk/fs/9p/vfs_addr.c | 2 +- trunk/fs/9p/vfs_dir.c | 4 +- trunk/fs/9p/vfs_file.c | 8 +- trunk/fs/Kconfig | 14 +- trunk/fs/Makefile | 3 +- trunk/fs/adfs/dir.c | 2 +- trunk/fs/affs/dir.c | 4 +- trunk/fs/afs/dir.c | 4 +- trunk/fs/afs/mntpt.c | 10 +- trunk/fs/aio.c | 2 +- trunk/fs/autofs/root.c | 4 +- trunk/fs/autofs4/autofs_i.h | 3 +- trunk/fs/autofs4/inode.c | 2 +- trunk/fs/autofs4/root.c | 16 +- trunk/fs/befs/btree.c | 2 +- trunk/fs/befs/debug.c | 6 +- trunk/fs/befs/linuxvfs.c | 4 +- trunk/fs/bfs/dir.c | 2 +- trunk/fs/bfs/inode.c | 4 +- trunk/fs/binfmt_aout.c | 8 +- trunk/fs/binfmt_elf.c | 6 +- trunk/fs/binfmt_elf_fdpic.c | 11 +- trunk/fs/binfmt_flat.c | 2 +- trunk/fs/binfmt_misc.c | 12 +- trunk/fs/bio.c | 2 +- trunk/fs/block_dev.c | 406 +- trunk/fs/buffer.c | 33 +- trunk/fs/cifs/CHANGES | 3 +- trunk/fs/cifs/cifsencrypt.c | 4 +- trunk/fs/cifs/cifsfs.c | 4 +- trunk/fs/cifs/cifspdu.h | 8 +- trunk/fs/cifs/cifssmb.c | 2 +- trunk/fs/cifs/fcntl.c | 4 +- trunk/fs/cifs/file.c | 116 +- trunk/fs/cifs/readdir.c | 32 +- trunk/fs/coda/dir.c | 8 +- trunk/fs/coda/file.c | 14 +- trunk/fs/coda/inode.c | 2 +- trunk/fs/compat.c | 22 +- trunk/fs/compat_ioctl.c | 2 +- trunk/fs/configfs/dir.c | 10 +- trunk/fs/configfs/file.c | 12 +- trunk/fs/cramfs/inode.c | 2 +- trunk/fs/debugfs/inode.c | 39 +- trunk/fs/direct-io.c | 323 +- trunk/fs/dnotify.c | 4 +- trunk/fs/dquot.c | 18 +- trunk/fs/ecryptfs/dentry.c | 3 +- trunk/fs/ecryptfs/ecryptfs_kernel.h | 16 +- trunk/fs/ecryptfs/file.c | 15 +- trunk/fs/ecryptfs/inode.c | 79 +- trunk/fs/ecryptfs/main.c | 5 +- trunk/fs/ecryptfs/mmap.c | 16 +- trunk/fs/efs/dir.c | 2 +- trunk/fs/eventpoll.c | 4 +- trunk/fs/exec.c | 17 +- trunk/fs/ext2/dir.c | 2 +- trunk/fs/ext2/ioctl.c | 2 +- trunk/fs/ext2/super.c | 6 +- trunk/fs/ext3/dir.c | 8 +- trunk/fs/ext3/file.c | 2 +- trunk/fs/ext3/ioctl.c | 2 +- trunk/fs/ext3/namei.c | 4 +- trunk/fs/ext3/super.c | 6 +- trunk/fs/ext4/dir.c | 8 +- trunk/fs/ext4/file.c | 2 +- trunk/fs/ext4/inode.c | 2 +- trunk/fs/ext4/ioctl.c | 2 +- trunk/fs/ext4/namei.c | 4 +- trunk/fs/fat/dir.c | 6 +- trunk/fs/fat/file.c | 2 +- trunk/fs/fcntl.c | 7 +- trunk/fs/file.c | 255 +- trunk/fs/file_table.c | 10 +- trunk/fs/freevxfs/vxfs_lookup.c | 2 +- trunk/fs/fuse/control.c | 2 +- trunk/fs/fuse/dir.c | 2 +- trunk/fs/fuse/file.c | 18 +- trunk/fs/gfs2/ops_file.c | 6 +- trunk/fs/hfs/dir.c | 2 +- trunk/fs/hfs/inode.c | 2 +- trunk/fs/hfsplus/dir.c | 2 +- trunk/fs/hfsplus/inode.c | 2 +- trunk/fs/hostfs/hostfs_kern.c | 6 +- trunk/fs/hpfs/dir.c | 4 +- trunk/fs/hpfs/file.c | 2 +- trunk/fs/hppfs/hppfs_kern.c | 12 +- trunk/fs/hugetlbfs/inode.c | 6 +- trunk/fs/inode.c | 45 +- trunk/fs/inotify_user.c | 6 +- trunk/fs/ioctl.c | 14 +- trunk/fs/isofs/compress.c | 2 +- trunk/fs/isofs/dir.c | 5 +- trunk/fs/jbd/transaction.c | 2 +- trunk/fs/jffs/inode-v23.c | 10 +- trunk/fs/jffs/intrep.c | 14 +- trunk/fs/jffs2/dir.c | 6 +- trunk/fs/jfs/jfs_dtree.c | 6 +- trunk/fs/jfs/jfs_filsys.h | 42 +- trunk/fs/jfs/jfs_imap.c | 2 +- trunk/fs/libfs.c | 14 +- trunk/fs/lockd/clntlock.c | 12 +- trunk/fs/lockd/clntproc.c | 41 +- trunk/fs/lockd/svclock.c | 20 +- trunk/fs/lockd/svcshare.c | 2 +- trunk/fs/lockd/svcsubs.c | 2 +- trunk/fs/lockd/xdr.c | 8 +- trunk/fs/lockd/xdr4.c | 8 +- trunk/fs/locks.c | 32 +- trunk/fs/minix/dir.c | 2 +- trunk/fs/namei.c | 15 +- trunk/fs/namespace.c | 118 +- trunk/fs/ncpfs/dir.c | 8 +- trunk/fs/ncpfs/file.c | 4 +- trunk/fs/ncpfs/inode.c | 38 +- trunk/fs/ncpfs/ioctl.c | 8 +- trunk/fs/ncpfs/mmap.c | 4 +- trunk/fs/nfs/dir.c | 18 +- trunk/fs/nfs/direct.c | 10 +- trunk/fs/nfs/file.c | 14 +- trunk/fs/nfs/getroot.c | 2 +- trunk/fs/nfs/idmap.c | 2 +- trunk/fs/nfs/inode.c | 6 +- trunk/fs/nfs/nfs3proc.c | 2 +- trunk/fs/nfs/nfs4proc.c | 2 +- trunk/fs/nfs/proc.c | 2 +- trunk/fs/nfs/write.c | 4 +- trunk/fs/nfsd/export.c | 33 +- trunk/fs/nfsd/lockd.c | 2 +- trunk/fs/nfsd/nfs2acl.c | 8 +- trunk/fs/nfsd/nfs3acl.c | 8 +- trunk/fs/nfsd/nfs4proc.c | 625 +- trunk/fs/nfsd/nfs4recover.c | 2 +- trunk/fs/nfsd/nfs4state.c | 99 +- trunk/fs/nfsd/nfs4xdr.c | 14 +- trunk/fs/nfsd/nfscache.c | 3 +- trunk/fs/nfsd/nfsctl.c | 2 +- trunk/fs/nfsd/nfsfh.c | 6 +- trunk/fs/nfsd/vfs.c | 55 +- trunk/fs/ntfs/dir.c | 6 +- trunk/fs/ntfs/file.c | 2 +- trunk/fs/ocfs2/alloc.c | 2 +- trunk/fs/ocfs2/aops.c | 4 +- trunk/fs/ocfs2/cluster/heartbeat.c | 4 +- trunk/fs/ocfs2/cluster/nodemanager.c | 198 +- trunk/fs/ocfs2/cluster/nodemanager.h | 17 + trunk/fs/ocfs2/cluster/tcp.c | 162 +- trunk/fs/ocfs2/cluster/tcp.h | 8 + trunk/fs/ocfs2/cluster/tcp_internal.h | 15 +- trunk/fs/ocfs2/dir.c | 2 +- trunk/fs/ocfs2/dlm/dlmdomain.c | 4 +- trunk/fs/ocfs2/dlm/dlmfs.c | 4 +- trunk/fs/ocfs2/dlm/dlmlock.c | 4 +- trunk/fs/ocfs2/dlm/dlmmaster.c | 2 +- trunk/fs/ocfs2/dlm/dlmrecovery.c | 6 +- trunk/fs/ocfs2/dlmglue.c | 79 +- trunk/fs/ocfs2/file.c | 42 +- trunk/fs/ocfs2/heartbeat.c | 9 + trunk/fs/ocfs2/inode.c | 3 +- trunk/fs/ocfs2/journal.c | 46 +- trunk/fs/ocfs2/journal.h | 5 +- trunk/fs/ocfs2/localalloc.c | 2 +- trunk/fs/ocfs2/mmap.c | 6 +- trunk/fs/ocfs2/namei.c | 8 +- trunk/fs/ocfs2/ocfs2.h | 5 + trunk/fs/ocfs2/ocfs2_fs.h | 14 +- trunk/fs/ocfs2/slot_map.c | 2 +- trunk/fs/ocfs2/suballoc.c | 6 +- trunk/fs/ocfs2/super.c | 96 +- trunk/fs/ocfs2/vote.c | 7 +- trunk/fs/open.c | 30 +- trunk/fs/openpromfs/inode.c | 2 +- trunk/fs/partitions/Kconfig | 2 +- trunk/fs/partitions/check.c | 27 + trunk/fs/pipe.c | 40 +- trunk/fs/pnode.c | 2 +- trunk/fs/pnode.h | 2 +- trunk/fs/proc/array.c | 18 +- trunk/fs/proc/base.c | 161 +- trunk/fs/proc/generic.c | 10 +- trunk/fs/proc/nommu.c | 4 +- trunk/fs/proc/proc_misc.c | 17 +- trunk/fs/proc/task_mmu.c | 8 +- trunk/fs/proc/task_nommu.c | 4 +- trunk/fs/qnx4/dir.c | 2 +- trunk/fs/ramfs/file-nommu.c | 2 +- trunk/fs/read_write.c | 22 +- trunk/fs/readdir.c | 2 +- trunk/fs/reiserfs/bitmap.c | 2 +- trunk/fs/reiserfs/dir.c | 4 +- trunk/fs/reiserfs/file.c | 4 +- trunk/fs/reiserfs/fix_node.c | 6 +- trunk/fs/reiserfs/inode.c | 12 +- trunk/fs/reiserfs/ioctl.c | 2 +- trunk/fs/reiserfs/namei.c | 6 +- trunk/fs/reiserfs/procfs.c | 2 +- trunk/fs/reiserfs/stree.c | 42 +- trunk/fs/reiserfs/super.c | 2 +- trunk/fs/reiserfs/tail_conversion.c | 4 +- trunk/fs/reiserfs/xattr.c | 10 +- trunk/fs/reiserfs/xattr_acl.c | 2 +- trunk/fs/romfs/inode.c | 2 +- trunk/fs/select.c | 10 +- trunk/fs/seq_file.c | 2 +- trunk/fs/smbfs/cache.c | 2 +- trunk/fs/smbfs/dir.c | 6 +- trunk/fs/smbfs/file.c | 14 +- trunk/fs/smbfs/inode.c | 5 +- trunk/fs/smbfs/proc.c | 16 +- trunk/fs/smbfs/smbiod.c | 5 +- trunk/fs/smbfs/sock.c | 4 +- trunk/fs/splice.c | 26 +- trunk/fs/stack.c | 40 + trunk/fs/stat.c | 2 +- trunk/fs/super.c | 2 +- trunk/fs/sync.c | 4 +- trunk/fs/sysfs/bin.c | 14 +- trunk/fs/sysfs/dir.c | 10 +- trunk/fs/sysfs/file.c | 16 +- trunk/fs/sysv/dir.c | 2 +- trunk/fs/udf/dir.c | 4 +- trunk/fs/udf/file.c | 2 +- trunk/fs/ufs/dir.c | 2 +- trunk/fs/xattr.c | 8 +- trunk/fs/xfs/linux-2.6/xfs_aops.c | 2 +- trunk/fs/xfs/linux-2.6/xfs_file.c | 28 +- trunk/fs/xfs/linux-2.6/xfs_ioctl.c | 10 +- trunk/fs/xfs/linux-2.6/xfs_ioctl32.c | 2 +- trunk/fs/xfs/linux-2.6/xfs_lrw.c | 2 +- trunk/fs/xfs/xfs_dfrag.c | 4 +- trunk/include/asm-alpha/cacheflush.h | 1 + trunk/include/asm-alpha/termbits.h | 13 + trunk/include/asm-arm/arch-imx/imx-regs.h | 10 +- trunk/include/asm-arm/arch-pnx4008/i2c.h | 67 + trunk/include/asm-arm/arch-pxa/pxa2xx_spi.h | 5 +- trunk/include/asm-arm/arch-s3c2410/fb.h | 3 + trunk/include/asm-arm/arch-s3c2410/regs-udc.h | 7 +- trunk/include/asm-arm/cacheflush.h | 2 + trunk/include/asm-arm/cpu-multi32.h | 7 +- trunk/include/asm-arm/cpu-single.h | 4 +- trunk/include/asm-arm/pgtable.h | 11 +- trunk/include/asm-arm/processor.h | 16 +- trunk/include/asm-arm/system.h | 63 +- trunk/include/asm-arm/termbits.h | 12 + trunk/include/asm-arm/thread_info.h | 2 + trunk/include/asm-arm/unistd.h | 13 + trunk/include/asm-arm26/cacheflush.h | 1 + trunk/include/asm-arm26/termbits.h | 12 + .../asm-avr32/arch-at32ap/at32ap7000.h | 33 + trunk/include/asm-avr32/arch-at32ap/board.h | 3 - trunk/include/asm-avr32/arch-at32ap/portmux.h | 20 +- trunk/include/asm-avr32/cacheflush.h | 1 + trunk/include/asm-avr32/dma-mapping.h | 12 +- trunk/include/asm-avr32/pgalloc.h | 2 +- trunk/include/asm-avr32/termbits.h | 11 + trunk/include/asm-cris/cacheflush.h | 1 + trunk/include/asm-cris/termbits.h | 11 + trunk/include/asm-frv/bitops.h | 44 + trunk/include/asm-frv/cacheflush.h | 1 + trunk/include/asm-frv/termbits.h | 11 + trunk/include/asm-frv/thread_info.h | 2 + trunk/include/asm-generic/bug.h | 18 +- trunk/include/asm-generic/page.h | 38 +- trunk/include/asm-generic/termios.h | 4 +- trunk/include/asm-generic/vmlinux.lds.h | 9 + trunk/include/asm-h8300/cacheflush.h | 1 + trunk/include/asm-h8300/termbits.h | 11 + trunk/include/asm-i386/bug.h | 28 +- trunk/include/asm-i386/cacheflush.h | 1 + trunk/include/asm-i386/ide.h | 4 +- trunk/include/asm-i386/msr.h | 5 + trunk/include/asm-i386/termbits.h | 11 + trunk/include/asm-i386/thread_info.h | 2 + trunk/include/asm-i386/topology.h | 1 + trunk/include/asm-ia64/break.h | 4 +- trunk/include/asm-ia64/cacheflush.h | 1 + trunk/include/asm-ia64/kprobes.h | 1 + trunk/include/asm-ia64/pci.h | 3 - trunk/include/asm-ia64/scatterlist.h | 3 + trunk/include/asm-ia64/sn/xpc.h | 2 +- trunk/include/asm-ia64/termbits.h | 11 + trunk/include/asm-ia64/thread_info.h | 2 + trunk/include/asm-ia64/topology.h | 1 + trunk/include/asm-m32r/cacheflush.h | 3 + trunk/include/asm-m32r/ide.h | 3 +- trunk/include/asm-m32r/m32102.h | 7 +- trunk/include/asm-m32r/ptrace.h | 28 +- trunk/include/asm-m32r/sigcontext.h | 13 +- trunk/include/asm-m32r/termbits.h | 11 + trunk/include/asm-m68k/cacheflush.h | 2 + trunk/include/asm-m68k/sun3-head.h | 1 - trunk/include/asm-m68k/sun3ints.h | 1 + trunk/include/asm-m68k/swim_iop.h | 221 - trunk/include/asm-m68k/termbits.h | 11 + trunk/include/asm-m68knommu/cacheflush.h | 1 + trunk/include/asm-mips/bootinfo.h | 1 + trunk/include/asm-mips/cacheflush.h | 2 + trunk/include/asm-mips/compat.h | 1 + trunk/include/asm-mips/mach-ip27/irq.h | 2 - trunk/include/asm-mips/mach-ip27/topology.h | 1 - .../cpu-feature-overrides.h | 0 .../{mach-rm200 => mach-rm}/mc146818rtc.h | 0 .../asm-mips/{mach-rm200 => mach-rm}/timex.h | 0 trunk/include/asm-mips/page.h | 16 +- trunk/include/asm-mips/pci.h | 6 + trunk/include/asm-mips/ptrace.h | 8 + trunk/include/asm-mips/sn/arch.h | 1 - trunk/include/asm-mips/sn/klconfig.h | 2 + trunk/include/asm-mips/system.h | 9 - trunk/include/asm-mips/termbits.h | 11 + trunk/include/asm-mips/war.h | 2 +- trunk/include/asm-parisc/cacheflush.h | 2 + trunk/include/asm-parisc/termbits.h | 11 + trunk/include/asm-powerpc/Kbuild | 2 +- trunk/include/asm-powerpc/bitops.h | 21 +- trunk/include/asm-powerpc/bug.h | 80 +- trunk/include/asm-powerpc/cacheflush.h | 1 + trunk/include/asm-powerpc/cputable.h | 16 +- trunk/include/asm-powerpc/dcr-native.h | 37 +- trunk/include/asm-powerpc/dcr.h | 2 + trunk/include/asm-powerpc/hw_irq.h | 19 - trunk/include/asm-powerpc/module.h | 2 - trunk/include/asm-powerpc/page_32.h | 10 +- trunk/include/asm-powerpc/pci-bridge.h | 4 +- trunk/include/asm-powerpc/pci.h | 33 +- trunk/include/asm-powerpc/reg.h | 2 + trunk/include/asm-powerpc/rtas.h | 3 +- trunk/include/asm-powerpc/termbits.h | 13 + trunk/include/asm-powerpc/thread_info.h | 2 + trunk/include/asm-powerpc/topology.h | 1 + trunk/include/asm-ppc/pci-bridge.h | 8 +- trunk/include/asm-ppc/pci.h | 23 + trunk/include/asm-ppc/reg_booke.h | 36 +- trunk/include/asm-s390/cacheflush.h | 1 + trunk/include/asm-s390/dasd.h | 2 + trunk/include/asm-s390/page.h | 22 +- trunk/include/asm-s390/pgalloc.h | 3 + trunk/include/asm-s390/pgtable.h | 16 +- trunk/include/asm-s390/termbits.h | 11 + trunk/include/asm-sh/atomic-irq.h | 71 + trunk/include/asm-sh/atomic-llsc.h | 107 + trunk/include/asm-sh/atomic.h | 153 +- trunk/include/asm-sh/bug.h | 53 +- trunk/include/asm-sh/bugs.h | 12 +- trunk/include/asm-sh/checksum.h | 69 +- trunk/include/asm-sh/cpu-sh2/cacheflush.h | 2 + trunk/include/asm-sh/cpu-sh3/cacheflush.h | 3 + trunk/include/asm-sh/cpu-sh4/cache.h | 2 +- trunk/include/asm-sh/cpu-sh4/cacheflush.h | 1 + trunk/include/asm-sh/cpu-sh4/freq.h | 2 +- trunk/include/asm-sh/dma-mapping.h | 10 +- trunk/include/asm-sh/irq.h | 5 +- trunk/include/asm-sh/pgtable.h | 47 +- trunk/include/asm-sh/processor.h | 8 +- trunk/include/asm-sh/push-switch.h | 3 + trunk/include/asm-sh/termbits.h | 11 + trunk/include/asm-sh/thread_info.h | 2 + trunk/include/asm-sh64/cacheflush.h | 2 + trunk/include/asm-sh64/pgalloc.h | 2 +- trunk/include/asm-sparc/cacheflush.h | 1 + trunk/include/asm-sparc/termbits.h | 12 + trunk/include/asm-sparc64/cacheflush.h | 1 + trunk/include/asm-sparc64/dma.h | 6 +- trunk/include/asm-sparc64/irqflags.h | 89 + trunk/include/asm-sparc64/kprobes.h | 11 +- trunk/include/asm-sparc64/rwsem.h | 32 +- trunk/include/asm-sparc64/system.h | 49 +- trunk/include/asm-sparc64/termbits.h | 12 + trunk/include/asm-sparc64/ttable.h | 45 +- trunk/include/asm-um/bug.h | 4 +- trunk/include/asm-v850/cacheflush.h | 1 + trunk/include/asm-v850/termbits.h | 11 + trunk/include/asm-x86_64/bug.h | 44 +- trunk/include/asm-x86_64/cacheflush.h | 1 + trunk/include/asm-x86_64/ioctls.h | 4 + trunk/include/asm-x86_64/msr.h | 4 + trunk/include/asm-x86_64/termbits.h | 27 +- trunk/include/asm-x86_64/termios.h | 6 +- trunk/include/asm-x86_64/thread_info.h | 2 + trunk/include/asm-x86_64/topology.h | 1 + trunk/include/asm-xtensa/asmmacro.h | 153 + trunk/include/asm-xtensa/bug.h | 25 +- trunk/include/asm-xtensa/byteorder.h | 5 +- trunk/include/asm-xtensa/cache.h | 20 +- trunk/include/asm-xtensa/cacheasm.h | 177 + trunk/include/asm-xtensa/cacheflush.h | 4 +- trunk/include/asm-xtensa/checksum.h | 2 +- trunk/include/asm-xtensa/coprocessor.h | 13 +- trunk/include/asm-xtensa/dma.h | 5 +- trunk/include/asm-xtensa/elf.h | 9 +- trunk/include/asm-xtensa/fcntl.h | 98 +- trunk/include/asm-xtensa/fixmap.h | 252 - trunk/include/asm-xtensa/io.h | 64 +- trunk/include/asm-xtensa/irq.h | 8 +- trunk/include/asm-xtensa/irq_regs.h | 1 + trunk/include/asm-xtensa/mmu_context.h | 269 +- trunk/include/asm-xtensa/page.h | 10 +- trunk/include/asm-xtensa/param.h | 2 +- trunk/include/asm-xtensa/pgtable.h | 41 +- .../asm-xtensa/platform-iss/hardware.h | 10 +- .../include/asm-xtensa/platform-iss/simcall.h | 62 + trunk/include/asm-xtensa/posix_types.h | 2 +- trunk/include/asm-xtensa/processor.h | 24 +- trunk/include/asm-xtensa/ptrace.h | 2 +- trunk/include/asm-xtensa/regs.h | 138 + trunk/include/asm-xtensa/sembuf.h | 2 +- trunk/include/asm-xtensa/shmbuf.h | 21 + trunk/include/asm-xtensa/stat.h | 112 +- trunk/include/asm-xtensa/syscall.h | 20 + trunk/include/asm-xtensa/system.h | 2 +- trunk/include/asm-xtensa/termbits.h | 11 + trunk/include/asm-xtensa/timex.h | 17 +- trunk/include/asm-xtensa/tlbflush.h | 42 +- trunk/include/asm-xtensa/uaccess.h | 1 - trunk/include/asm-xtensa/unistd.h | 798 +- trunk/include/asm-xtensa/variant-fsf/core.h | 359 + trunk/include/asm-xtensa/variant-fsf/tie.h | 22 + trunk/include/asm-xtensa/xtensa/cacheasm.h | 708 -- .../include/asm-xtensa/xtensa/cacheattrasm.h | 432 - .../asm-xtensa/xtensa/config-linux_be/core.h | 1270 --- .../asm-xtensa/xtensa/config-linux_be/defs.h | 270 - .../xtensa/config-linux_be/specreg.h | 99 - .../xtensa/config-linux_be/system.h | 198 - .../asm-xtensa/xtensa/config-linux_be/tie.h | 275 - trunk/include/asm-xtensa/xtensa/coreasm.h | 526 -- trunk/include/asm-xtensa/xtensa/corebits.h | 77 - trunk/include/asm-xtensa/xtensa/hal.h | 822 -- trunk/include/asm-xtensa/xtensa/simcall.h | 130 - trunk/include/asm-xtensa/xtensa/xt2000-uart.h | 155 - trunk/include/asm-xtensa/xtensa/xt2000.h | 408 - trunk/include/asm-xtensa/xtensa/xtboard.h | 120 - trunk/include/linux/Kbuild | 2 +- trunk/include/linux/aio.h | 1 + trunk/include/linux/bio.h | 1 + trunk/include/linux/bitrev.h | 15 + trunk/include/linux/blkdev.h | 5 - trunk/include/linux/bug.h | 47 + trunk/include/linux/clocksource.h | 2 +- trunk/include/linux/coda_linux.h | 2 +- trunk/include/linux/compiler.h | 2 +- trunk/include/linux/configfs.h | 25 - trunk/include/linux/cpufreq.h | 3 + trunk/include/linux/cpuset.h | 22 +- trunk/include/linux/crc32.h | 4 +- trunk/include/linux/dccp.h | 26 +- trunk/include/linux/device-mapper.h | 7 +- trunk/include/linux/dm-ioctl.h | 9 +- trunk/include/linux/fault-inject.h | 84 + trunk/include/linux/fb.h | 8 +- trunk/include/linux/file.h | 15 +- trunk/include/linux/freezer.h | 13 +- trunk/include/linux/fs.h | 28 +- trunk/include/linux/fs_stack.h | 31 + trunk/include/linux/fsl_devices.h | 1 + trunk/include/linux/fsnotify.h | 2 +- trunk/include/linux/futex.h | 2 + trunk/include/linux/gameport.h | 2 +- trunk/include/linux/generic_serial.h | 2 +- trunk/include/linux/genhd.h | 4 + .../usb/input => include/linux}/hid-debug.h | 0 .../usb/input => include/linux}/hid.h | 87 +- trunk/include/linux/highmem.h | 7 +- trunk/include/linux/i2c-algo-bit.h | 5 +- trunk/include/linux/i2c-algo-ite.h | 72 - trunk/include/linux/i2c-algo-pca.h | 1 - trunk/include/linux/i2c-algo-pcf.h | 3 +- trunk/include/linux/i2c-algo-sgi.h | 1 - trunk/include/linux/i2c-id.h | 20 +- trunk/include/linux/i2c-pnx.h | 43 + trunk/include/linux/i2c.h | 75 +- trunk/include/linux/ide.h | 3 +- trunk/include/linux/if_addr.h | 6 + trunk/include/linux/if_link.h | 6 + trunk/include/linux/init.h | 1 + trunk/include/linux/init_task.h | 17 +- trunk/include/linux/input.h | 18 +- trunk/include/linux/interrupt.h | 3 +- trunk/include/linux/isdn.h | 8 +- trunk/include/linux/istallion.h | 36 +- trunk/include/linux/kernel.h | 17 +- trunk/include/linux/kvm.h | 227 + trunk/include/linux/lockd/bind.h | 2 +- trunk/include/linux/lockd/lockd.h | 4 +- trunk/include/linux/lockd/sm_inter.h | 2 +- trunk/include/linux/lockd/xdr.h | 8 +- trunk/include/linux/lockdep.h | 16 +- trunk/include/linux/log2.h | 157 + trunk/include/linux/mnt_namespace.h | 42 + trunk/include/linux/module.h | 7 + trunk/include/linux/mount.h | 5 +- trunk/include/linux/mutex.h | 2 + trunk/include/linux/n_r3964.h | 2 +- trunk/include/linux/namei.h | 5 + trunk/include/linux/namespace.h | 42 - trunk/include/linux/ncp_mount.h | 2 +- trunk/include/linux/netdevice.h | 11 +- trunk/include/linux/netfilter_bridge.h | 1 - trunk/include/linux/netfilter_ipv4.h | 2 - trunk/include/linux/netfilter_ipv6.h | 2 - trunk/include/linux/nfsd/nfsd.h | 4 +- trunk/include/linux/nfsd/state.h | 1 - trunk/include/linux/nfsd/xdr4.h | 40 +- trunk/include/linux/nsproxy.h | 6 +- trunk/include/linux/pci_ids.h | 7 + trunk/include/linux/pid.h | 5 +- trunk/include/linux/pid_namespace.h | 45 + trunk/include/linux/pipe_fs_i.h | 5 +- trunk/include/linux/pktcdvd.h | 25 + trunk/include/linux/platform_device.h | 2 +- trunk/include/linux/pspace.h | 23 - trunk/include/linux/raid/raid5.h | 3 + trunk/include/linux/reciprocal_div.h | 32 + trunk/include/linux/reiserfs_fs.h | 44 +- trunk/include/linux/rtc.h | 1 + trunk/include/linux/rtnetlink.h | 2 + trunk/include/linux/sched.h | 31 +- trunk/include/linux/seqlock.h | 7 +- trunk/include/linux/serial_core.h | 8 +- trunk/include/linux/serio.h | 12 +- trunk/include/linux/slab.h | 306 +- trunk/include/linux/slab_def.h | 100 + trunk/include/linux/smb_fs_sb.h | 2 +- trunk/include/linux/stallion.h | 52 +- trunk/include/linux/sysctl.h | 7 +- trunk/include/linux/sysrq.h | 22 +- trunk/include/linux/task_io_accounting.h | 37 + trunk/include/linux/task_io_accounting_ops.h | 47 + trunk/include/linux/taskstats.h | 28 +- trunk/include/linux/tfrc.h | 8 +- trunk/include/linux/timer.h | 6 + trunk/include/linux/topology.h | 5 +- trunk/include/linux/tty.h | 20 +- trunk/include/linux/tty_driver.h | 12 +- trunk/include/linux/tty_ldisc.h | 4 +- trunk/include/linux/usb/serial.h | 2 +- trunk/include/linux/videodev2.h | 1 + trunk/include/linux/xfrm.h | 2 +- trunk/include/media/ir-common.h | 1 + trunk/include/media/saa7146.h | 20 +- trunk/include/media/tuner-types.h | 4 + trunk/include/media/tuner.h | 1 + trunk/include/media/tveeprom.h | 2 +- trunk/include/media/v4l2-common.h | 7 + trunk/include/media/v4l2-dev.h | 14 +- trunk/include/net/ax25.h | 22 +- trunk/include/net/bluetooth/hci.h | 4 +- trunk/include/net/ip.h | 3 +- trunk/include/net/ip6_fib.h | 4 +- trunk/include/net/irda/ircomm_tty.h | 2 +- trunk/include/net/neighbour.h | 18 + .../net/netfilter/nf_conntrack_compat.h | 10 + trunk/include/net/sctp/sctp.h | 2 +- trunk/include/net/sctp/structs.h | 10 +- trunk/include/net/sctp/user.h | 2 + trunk/include/rdma/ib_marshall.h | 5 +- trunk/include/rdma/ib_verbs.h | 261 + trunk/include/rdma/rdma_cm.h | 62 +- trunk/include/rdma/rdma_cm_ib.h | 3 + trunk/include/rdma/rdma_user_cm.h | 206 + trunk/include/video/mbxfb.h | 31 + trunk/include/video/pm3fb.h | 24 +- trunk/include/video/sstfb.h | 13 +- trunk/init/Kconfig | 11 +- trunk/init/Makefile | 1 + trunk/init/initramfs.c | 6 +- trunk/init/main.c | 20 +- trunk/init/version.c | 4 - trunk/ipc/mqueue.c | 16 +- trunk/ipc/msgutil.c | 4 +- trunk/ipc/shm.c | 16 +- trunk/kernel/acct.c | 26 +- trunk/kernel/auditsc.c | 6 +- trunk/kernel/cpuset.c | 104 +- trunk/kernel/exit.c | 75 +- trunk/kernel/fork.c | 83 +- trunk/kernel/futex.c | 10 +- trunk/kernel/irq/proc.c | 3 +- trunk/kernel/kallsyms.c | 16 +- trunk/kernel/kmod.c | 2 +- trunk/kernel/lockdep.c | 203 +- trunk/kernel/module.c | 25 + trunk/kernel/mutex.c | 9 + trunk/kernel/nsproxy.c | 38 +- trunk/kernel/pid.c | 75 +- trunk/kernel/power/Kconfig | 9 +- trunk/kernel/power/process.c | 21 +- trunk/kernel/relay.c | 8 +- trunk/kernel/sched.c | 515 +- trunk/kernel/signal.c | 17 +- trunk/kernel/sys.c | 23 +- trunk/kernel/sysctl.c | 390 +- trunk/kernel/time/clocksource.c | 8 +- trunk/kernel/timer.c | 162 +- trunk/kernel/tsacct.c | 9 + trunk/kernel/workqueue.c | 21 +- trunk/lib/Kconfig | 9 + trunk/lib/Kconfig.debug | 84 +- trunk/lib/Makefile | 9 +- trunk/lib/bitrev.c | 58 + trunk/lib/bug.c | 163 + trunk/lib/crc32.c | 28 +- trunk/lib/fault-inject.c | 336 + trunk/lib/ioremap.c | 1 - trunk/lib/reciprocal_div.c | 9 + trunk/mm/fadvise.c | 2 +- trunk/mm/filemap.c | 11 +- trunk/mm/filemap_xip.c | 2 +- trunk/mm/hugetlb.c | 8 +- trunk/mm/memory.c | 42 +- trunk/mm/mempolicy.c | 2 +- trunk/mm/mmap.c | 10 +- trunk/mm/nommu.c | 12 +- trunk/mm/oom_kill.c | 2 +- trunk/mm/page-writeback.c | 89 +- trunk/mm/page_alloc.c | 95 +- trunk/mm/readahead.c | 4 +- trunk/mm/shmem.c | 20 +- trunk/mm/slab.c | 114 +- trunk/mm/slob.c | 16 +- trunk/mm/swapfile.c | 4 +- trunk/mm/tiny-shmem.c | 4 +- trunk/mm/truncate.c | 4 +- trunk/mm/vmscan.c | 8 +- trunk/net/atm/proc.c | 2 +- trunk/net/ax25/ax25_addr.c | 36 +- trunk/net/bluetooth/hci_sock.c | 4 +- trunk/net/bluetooth/rfcomm/tty.c | 4 +- trunk/net/bridge/br_netfilter.c | 188 +- trunk/net/core/neighbour.c | 11 +- trunk/net/core/netpoll.c | 53 +- trunk/net/dccp/ackvec.c | 4 +- trunk/net/dccp/ccid.h | 10 - trunk/net/dccp/ccids/ccid2.c | 12 +- trunk/net/dccp/ccids/ccid3.c | 517 +- trunk/net/dccp/ccids/ccid3.h | 46 +- trunk/net/dccp/ccids/lib/packet_history.c | 219 +- trunk/net/dccp/ccids/lib/packet_history.h | 128 +- trunk/net/dccp/ccids/lib/tfrc.h | 23 +- trunk/net/dccp/ccids/lib/tfrc_equation.c | 28 +- trunk/net/dccp/dccp.h | 3 +- trunk/net/dccp/feat.c | 6 +- trunk/net/dccp/input.c | 47 +- trunk/net/dccp/ipv4.c | 26 +- trunk/net/dccp/ipv6.c | 24 +- trunk/net/dccp/minisocks.c | 2 +- trunk/net/dccp/options.c | 5 - trunk/net/dccp/output.c | 39 +- trunk/net/dccp/proto.c | 6 +- trunk/net/dccp/timer.c | 14 +- trunk/net/decnet/dn_dev.c | 6 +- trunk/net/decnet/sysctl_net_decnet.c | 6 +- .../softmac/ieee80211softmac_assoc.c | 2 +- trunk/net/ipv4/devinet.c | 3 +- trunk/net/ipv4/ip_fragment.c | 2 +- trunk/net/ipv4/ip_output.c | 14 +- trunk/net/ipv4/ipvs/ip_vs_sync.c | 17 +- trunk/net/ipv4/netfilter/Kconfig | 2 +- trunk/net/ipv4/netfilter/arp_tables.c | 5 +- trunk/net/ipv4/netfilter/ip_tables.c | 181 +- trunk/net/ipv4/netfilter/ipt_CLUSTERIP.c | 10 +- trunk/net/ipv4/netfilter/ipt_recent.c | 2 +- trunk/net/ipv4/route.c | 3 +- trunk/net/ipv4/sysctl_net_ipv4.c | 16 +- trunk/net/ipv4/tcp.c | 5 +- trunk/net/ipv6/addrconf.c | 3 +- trunk/net/ipv6/ip6_output.c | 17 +- trunk/net/ipv6/ipv6_sockglue.c | 23 +- trunk/net/ipv6/ndisc.c | 9 +- trunk/net/ipv6/netfilter/ip6_tables.c | 5 +- trunk/net/ipv6/route.c | 2 +- trunk/net/irda/ircomm/ircomm_tty_ioctl.c | 2 +- trunk/net/netfilter/Kconfig | 2 +- trunk/net/netfilter/xt_CONNMARK.c | 14 +- trunk/net/netfilter/xt_CONNSECMARK.c | 14 +- trunk/net/netfilter/xt_connbytes.c | 14 + trunk/net/netfilter/xt_connmark.c | 7 +- trunk/net/netfilter/xt_conntrack.c | 8 +- trunk/net/netfilter/xt_helper.c | 8 +- trunk/net/netfilter/xt_physdev.c | 12 +- trunk/net/netfilter/xt_state.c | 7 +- trunk/net/netlink/af_netlink.c | 2 +- trunk/net/sched/sch_cbq.c | 21 +- trunk/net/sched/sch_htb.c | 51 + trunk/net/sctp/associola.c | 1 + trunk/net/sctp/ipv6.c | 38 +- trunk/net/sctp/protocol.c | 70 +- trunk/net/sctp/socket.c | 118 +- trunk/net/sctp/ulpevent.c | 4 +- trunk/net/socket.c | 16 +- trunk/net/sunrpc/auth_gss/auth_gss.c | 2 +- trunk/net/sunrpc/auth_gss/svcauth_gss.c | 11 +- trunk/net/sunrpc/cache.c | 41 +- trunk/net/sunrpc/rpc_pipe.c | 8 +- trunk/net/sunrpc/svc.c | 2 +- trunk/net/sunrpc/svcauth_unix.c | 5 + trunk/net/tipc/config.c | 2 +- trunk/net/unix/garbage.c | 2 +- trunk/scripts/Kbuild.include | 19 +- trunk/scripts/kallsyms.c | 2 +- trunk/scripts/kconfig/conf.c | 2 +- trunk/scripts/kconfig/confdata.c | 37 +- trunk/scripts/kconfig/gconf.c | 35 +- trunk/scripts/kconfig/gconf.glade | 4 +- trunk/scripts/kconfig/lkc.h | 2 + trunk/scripts/kconfig/lkc_proto.h | 3 +- trunk/scripts/kconfig/mconf.c | 21 +- trunk/scripts/kconfig/qconf.cc | 15 +- trunk/scripts/kconfig/qconf.h | 3 + trunk/scripts/kconfig/symbol.c | 3 +- trunk/scripts/kconfig/zconf.tab.c_shipped | 2 +- trunk/scripts/kconfig/zconf.y | 2 +- trunk/scripts/mod/modpost.c | 1 + trunk/security/selinux/hooks.c | 33 +- trunk/security/selinux/selinuxfs.c | 8 +- trunk/sound/Kconfig | 8 + trunk/sound/Makefile | 3 + trunk/sound/{pci/ac97 => }/ac97_bus.c | 0 trunk/sound/aoa/fabrics/Kconfig | 2 +- trunk/sound/core/info.c | 2 +- trunk/sound/core/oss/mixer_oss.c | 2 +- trunk/sound/core/pcm_native.c | 2 +- trunk/sound/drivers/Kconfig | 6 +- trunk/sound/oss/ad1848.c | 2 +- trunk/sound/oss/cs4232.c | 2 +- trunk/sound/oss/dmasound/dmasound_core.c | 4 +- trunk/sound/oss/emu10k1/audio.c | 6 +- trunk/sound/oss/emu10k1/cardmi.c | 2 +- trunk/sound/oss/emu10k1/cardmo.c | 2 +- trunk/sound/oss/emu10k1/midi.c | 10 +- trunk/sound/oss/emu10k1/mixer.c | 2 +- trunk/sound/oss/hal2.c | 2 +- trunk/sound/oss/mpu401.c | 2 +- trunk/sound/oss/msnd_pinnacle.c | 4 +- trunk/sound/oss/opl3.c | 2 +- trunk/sound/oss/sb_common.c | 2 +- trunk/sound/oss/sb_midi.c | 4 +- trunk/sound/oss/sb_mixer.c | 2 +- trunk/sound/oss/soundcard.c | 8 +- trunk/sound/oss/v_midi.c | 2 +- trunk/sound/oss/waveartist.c | 2 +- trunk/sound/pci/ac97/Makefile | 2 - trunk/sound/sound_firmware.c | 2 +- 2098 files changed, 76451 insertions(+), 38096 deletions(-) create mode 100644 trunk/Documentation/ABI/testing/debugfs-pktcdvd create mode 100644 trunk/Documentation/ABI/testing/sysfs-class-pktcdvd create mode 100644 trunk/Documentation/fault-injection/failcmd.sh create mode 100644 trunk/Documentation/fault-injection/failmodule.sh create mode 100644 trunk/Documentation/fault-injection/fault-injection.txt create mode 100644 trunk/Documentation/hwmon/pc87427 create mode 100644 trunk/Documentation/hwmon/w83793 create mode 100644 trunk/Documentation/ioctl/ioctl-decoding.txt create mode 100644 trunk/Documentation/video4linux/cafe_ccic delete mode 100644 trunk/Documentation/video4linux/zr36120.txt create mode 100644 trunk/arch/arm/mach-imx/cpufreq.c create mode 100644 trunk/arch/arm/mach-pnx4008/i2c.c delete mode 100644 trunk/arch/avr32/mach-at32ap/sm.c create mode 100644 trunk/arch/ia64/kernel/crash_dump.c create mode 100644 trunk/arch/mips/configs/pnx8550-stb810_defconfig create mode 100644 trunk/arch/mips/philips/pnx8550/stb810/Makefile create mode 100644 trunk/arch/mips/philips/pnx8550/stb810/board_setup.c create mode 100644 trunk/arch/mips/philips/pnx8550/stb810/irqmap.c create mode 100644 trunk/arch/mips/philips/pnx8550/stb810/prom_init.c create mode 100644 trunk/arch/powerpc/platforms/pseries/hotplug-cpu.c delete mode 100644 trunk/arch/powerpc/sysdev/dcr.S create mode 100644 trunk/arch/s390/mm/vmem.c delete mode 100644 trunk/arch/sh/boards/se/7619/io.c create mode 100644 trunk/arch/sh/configs/se7619_defconfig create mode 100644 trunk/arch/sh/kernel/cpu/sh4a/Makefile rename trunk/arch/sh/kernel/cpu/{sh4 => sh4a}/clock-sh73180.c (100%) create mode 100644 trunk/arch/sh/kernel/cpu/sh4a/clock-sh7343.c rename trunk/arch/sh/kernel/cpu/{sh4 => sh4a}/clock-sh7770.c (100%) rename trunk/arch/sh/kernel/cpu/{sh4 => sh4a}/clock-sh7780.c (100%) rename trunk/arch/sh/kernel/cpu/{sh4 => sh4a}/setup-sh73180.c (100%) rename trunk/arch/sh/kernel/cpu/{sh4 => sh4a}/setup-sh7343.c (100%) create mode 100644 trunk/arch/sh/kernel/cpu/sh4a/setup-sh7722.c rename trunk/arch/sh/kernel/cpu/{sh4 => sh4a}/setup-sh7770.c (100%) rename trunk/arch/sh/kernel/cpu/{sh4 => sh4a}/setup-sh7780.c (100%) create mode 100644 trunk/arch/sparc64/kernel/stacktrace.c create mode 100644 trunk/arch/um/sys-i386/bug.c create mode 100644 trunk/arch/um/sys-x86_64/bug.c create mode 100644 trunk/arch/xtensa/kernel/syscall.c delete mode 100644 trunk/arch/xtensa/kernel/syscalls.c delete mode 100644 trunk/arch/xtensa/kernel/syscalls.h delete mode 100644 trunk/drivers/block/swim_iop.c create mode 100644 trunk/drivers/char/mxser_new.c create mode 100644 trunk/drivers/char/mxser_new.h create mode 100644 trunk/drivers/hid/Kconfig create mode 100644 trunk/drivers/hid/Makefile create mode 100644 trunk/drivers/hid/hid-core.c rename trunk/drivers/{usb/input => hid}/hid-input.c (88%) create mode 100644 trunk/drivers/hwmon/ams/Makefile create mode 100644 trunk/drivers/hwmon/ams/ams-core.c create mode 100644 trunk/drivers/hwmon/ams/ams-i2c.c create mode 100644 trunk/drivers/hwmon/ams/ams-input.c create mode 100644 trunk/drivers/hwmon/ams/ams-pmu.c create mode 100644 trunk/drivers/hwmon/ams/ams.h create mode 100644 trunk/drivers/hwmon/pc87427.c create mode 100644 trunk/drivers/hwmon/w83793.c delete mode 100644 trunk/drivers/i2c/algos/i2c-algo-ite.c delete mode 100644 trunk/drivers/i2c/algos/i2c-algo-ite.h create mode 100644 trunk/drivers/i2c/busses/i2c-at91.c delete mode 100644 trunk/drivers/i2c/busses/i2c-ite.c create mode 100644 trunk/drivers/i2c/busses/i2c-pnx.c create mode 100644 trunk/drivers/i2c/busses/i2c-versatile.c create mode 100644 trunk/drivers/infiniband/core/ucma.c create mode 100644 trunk/drivers/infiniband/hw/ipath/ipath_dma.c create mode 100644 trunk/drivers/input/keyboard/aaed2000_kbd.c delete mode 100644 trunk/drivers/input/keyboard/maple_keyb.c create mode 100644 trunk/drivers/input/touchscreen/ucb1400_ts.c create mode 100644 trunk/drivers/kvm/Kconfig create mode 100644 trunk/drivers/kvm/Makefile create mode 100644 trunk/drivers/kvm/kvm.h create mode 100644 trunk/drivers/kvm/kvm_main.c create mode 100644 trunk/drivers/kvm/kvm_svm.h create mode 100644 trunk/drivers/kvm/kvm_vmx.h create mode 100644 trunk/drivers/kvm/mmu.c create mode 100644 trunk/drivers/kvm/paging_tmpl.h create mode 100644 trunk/drivers/kvm/segment_descriptor.h create mode 100644 trunk/drivers/kvm/svm.c create mode 100644 trunk/drivers/kvm/svm.h create mode 100644 trunk/drivers/kvm/vmx.c create mode 100644 trunk/drivers/kvm/vmx.h create mode 100644 trunk/drivers/kvm/x86_emulate.c create mode 100644 trunk/drivers/kvm/x86_emulate.h create mode 100644 trunk/drivers/media/dvb/dvb-usb/ttusb2.c create mode 100644 trunk/drivers/media/dvb/dvb-usb/ttusb2.h create mode 100644 trunk/drivers/media/dvb/frontends/dib7000m.c create mode 100644 trunk/drivers/media/dvb/frontends/dib7000m.h create mode 100644 trunk/drivers/media/dvb/frontends/dib7000p.c create mode 100644 trunk/drivers/media/dvb/frontends/dib7000p.h delete mode 100644 trunk/drivers/media/dvb/frontends/lg_h06xf.h create mode 100644 trunk/drivers/media/dvb/frontends/lgh06xf.c create mode 100644 trunk/drivers/media/dvb/frontends/lgh06xf.h create mode 100644 trunk/drivers/media/video/cafe_ccic-regs.h create mode 100644 trunk/drivers/media/video/cafe_ccic.c create mode 100644 trunk/drivers/media/video/ov7670.c create mode 100644 trunk/drivers/media/video/usbvision/Kconfig create mode 100644 trunk/drivers/media/video/usbvision/Makefile create mode 100644 trunk/drivers/media/video/usbvision/usbvision-cards.c create mode 100644 trunk/drivers/media/video/usbvision/usbvision-core.c create mode 100644 trunk/drivers/media/video/usbvision/usbvision-i2c.c create mode 100644 trunk/drivers/media/video/usbvision/usbvision-video.c create mode 100644 trunk/drivers/media/video/usbvision/usbvision.h delete mode 100644 trunk/drivers/media/video/zr36120.c delete mode 100644 trunk/drivers/media/video/zr36120.h delete mode 100644 trunk/drivers/media/video/zr36120_i2c.c delete mode 100644 trunk/drivers/media/video/zr36120_mem.c delete mode 100644 trunk/drivers/media/video/zr36120_mem.h create mode 100644 trunk/drivers/ps3/vuart.c create mode 100644 trunk/drivers/ps3/vuart.h rename trunk/drivers/rtc/{rtc-at91.c => rtc-at91rm9200.c} (99%) create mode 100644 trunk/drivers/usb/input/usbhid.h create mode 100644 trunk/drivers/video/gxt4500.c create mode 100644 trunk/fs/stack.c create mode 100644 trunk/include/asm-arm/arch-pnx4008/i2c.h create mode 100644 trunk/include/asm-avr32/arch-at32ap/at32ap7000.h delete mode 100644 trunk/include/asm-m68k/swim_iop.h rename trunk/include/asm-mips/{mach-rm200 => mach-rm}/cpu-feature-overrides.h (100%) rename trunk/include/asm-mips/{mach-rm200 => mach-rm}/mc146818rtc.h (100%) rename trunk/include/asm-mips/{mach-rm200 => mach-rm}/timex.h (100%) create mode 100644 trunk/include/asm-sh/atomic-irq.h create mode 100644 trunk/include/asm-sh/atomic-llsc.h create mode 100644 trunk/include/asm-sparc64/irqflags.h create mode 100644 trunk/include/asm-xtensa/asmmacro.h create mode 100644 trunk/include/asm-xtensa/cacheasm.h delete mode 100644 trunk/include/asm-xtensa/fixmap.h create mode 100644 trunk/include/asm-xtensa/irq_regs.h create mode 100644 trunk/include/asm-xtensa/platform-iss/simcall.h create mode 100644 trunk/include/asm-xtensa/regs.h create mode 100644 trunk/include/asm-xtensa/syscall.h create mode 100644 trunk/include/asm-xtensa/variant-fsf/core.h create mode 100644 trunk/include/asm-xtensa/variant-fsf/tie.h delete mode 100644 trunk/include/asm-xtensa/xtensa/cacheasm.h delete mode 100644 trunk/include/asm-xtensa/xtensa/cacheattrasm.h delete mode 100644 trunk/include/asm-xtensa/xtensa/config-linux_be/core.h delete mode 100644 trunk/include/asm-xtensa/xtensa/config-linux_be/defs.h delete mode 100644 trunk/include/asm-xtensa/xtensa/config-linux_be/specreg.h delete mode 100644 trunk/include/asm-xtensa/xtensa/config-linux_be/system.h delete mode 100644 trunk/include/asm-xtensa/xtensa/config-linux_be/tie.h delete mode 100644 trunk/include/asm-xtensa/xtensa/coreasm.h delete mode 100644 trunk/include/asm-xtensa/xtensa/corebits.h delete mode 100644 trunk/include/asm-xtensa/xtensa/hal.h delete mode 100644 trunk/include/asm-xtensa/xtensa/simcall.h delete mode 100644 trunk/include/asm-xtensa/xtensa/xt2000-uart.h delete mode 100644 trunk/include/asm-xtensa/xtensa/xt2000.h delete mode 100644 trunk/include/asm-xtensa/xtensa/xtboard.h create mode 100644 trunk/include/linux/bitrev.h create mode 100644 trunk/include/linux/bug.h create mode 100644 trunk/include/linux/fault-inject.h create mode 100644 trunk/include/linux/fs_stack.h rename trunk/{drivers/usb/input => include/linux}/hid-debug.h (100%) rename trunk/{drivers/usb/input => include/linux}/hid.h (86%) delete mode 100644 trunk/include/linux/i2c-algo-ite.h create mode 100644 trunk/include/linux/i2c-pnx.h create mode 100644 trunk/include/linux/kvm.h create mode 100644 trunk/include/linux/log2.h create mode 100644 trunk/include/linux/mnt_namespace.h delete mode 100644 trunk/include/linux/namespace.h create mode 100644 trunk/include/linux/pid_namespace.h delete mode 100644 trunk/include/linux/pspace.h create mode 100644 trunk/include/linux/reciprocal_div.h create mode 100644 trunk/include/linux/slab_def.h create mode 100644 trunk/include/linux/task_io_accounting.h create mode 100644 trunk/include/linux/task_io_accounting_ops.h create mode 100644 trunk/include/rdma/rdma_user_cm.h create mode 100644 trunk/lib/bitrev.c create mode 100644 trunk/lib/bug.c create mode 100644 trunk/lib/fault-inject.c create mode 100644 trunk/lib/reciprocal_div.c rename trunk/sound/{pci/ac97 => }/ac97_bus.c (100%) diff --git a/[refs] b/[refs] index 7183f979f871..8d210be76da6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6ccedb10e39c34a4cb68f6c8dae67ecdd3e0b138 +refs/heads/master: 678f2b7df24c34f90fee264fa3a8069bca9c99ad diff --git a/trunk/CREDITS b/trunk/CREDITS index d0880082c19b..8218e790f43d 100644 --- a/trunk/CREDITS +++ b/trunk/CREDITS @@ -1808,6 +1808,14 @@ S: Kruislaan 419 S: 1098 VA Amsterdam S: The Netherlands +N: Jiri Kosina +E: jikos@jikos.cz +E: jkosina@suse.cz +D: Generic HID layer - original code split, fixes +D: Various ACPI fixes, keeping correct battery state through suspend +D: various lockdep annotations, autofs and other random bugfixes +S: Prague, Czech Republic + N: Gene Kozin E: 74604.152@compuserve.com W: http://www.sangoma.com diff --git a/trunk/Documentation/ABI/testing/debugfs-pktcdvd b/trunk/Documentation/ABI/testing/debugfs-pktcdvd new file mode 100644 index 000000000000..03dbd883cc41 --- /dev/null +++ b/trunk/Documentation/ABI/testing/debugfs-pktcdvd @@ -0,0 +1,20 @@ +What: /debug/pktcdvd/pktcdvd[0-7] +Date: Oct. 2006 +KernelVersion: 2.6.19 +Contact: Thomas Maier +Description: + +debugfs interface +----------------- + +The pktcdvd module (packet writing driver) creates +these files in debugfs: + +/debug/pktcdvd/pktcdvd[0-7]/ + info (0444) Lots of human readable driver + statistics and infos. Multiple lines! + +Example: +------- + +cat /debug/pktcdvd/pktcdvd0/info diff --git a/trunk/Documentation/ABI/testing/sysfs-class-pktcdvd b/trunk/Documentation/ABI/testing/sysfs-class-pktcdvd new file mode 100644 index 000000000000..c4c55edc9a5c --- /dev/null +++ b/trunk/Documentation/ABI/testing/sysfs-class-pktcdvd @@ -0,0 +1,72 @@ +What: /sys/class/pktcdvd/ +Date: Oct. 2006 +KernelVersion: 2.6.19 +Contact: Thomas Maier +Description: + +sysfs interface +--------------- + +The pktcdvd module (packet writing driver) creates +these files in the sysfs: +( is in format major:minor ) + +/sys/class/pktcdvd/ + add (0200) Write a block device id (major:minor) + to create a new pktcdvd device and map + it to the block device. + + remove (0200) Write the pktcdvd device id (major:minor) + to it to remove the pktcdvd device. + + device_map (0444) Shows the device mapping in format: + pktcdvd[0-7] + +/sys/class/pktcdvd/pktcdvd[0-7]/ + dev (0444) Device id + uevent (0200) To send an uevent. + +/sys/class/pktcdvd/pktcdvd[0-7]/stat/ + packets_started (0444) Number of started packets. + packets_finished (0444) Number of finished packets. + + kb_written (0444) kBytes written. + kb_read (0444) kBytes read. + kb_read_gather (0444) kBytes read to fill write packets. + + reset (0200) Write any value to it to reset + pktcdvd device statistic values, like + bytes read/written. + +/sys/class/pktcdvd/pktcdvd[0-7]/write_queue/ + size (0444) Contains the size of the bio write + queue. + + congestion_off (0644) If bio write queue size is below + this mark, accept new bio requests + from the block layer. + + congestion_on (0644) If bio write queue size is higher + as this mark, do no longer accept + bio write requests from the block + layer and wait till the pktcdvd + device has processed enough bio's + so that bio write queue size is + below congestion off mark. + A value of <= 0 disables congestion + control. + + +Example: +-------- +To use the pktcdvd sysfs interface directly, you can do: + +# create a new pktcdvd device mapped to /dev/hdc +echo "22:0" >/sys/class/pktcdvd/add +cat /sys/class/pktcdvd/device_map +# assuming device pktcdvd0 was created, look at stat's +cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written +# print the device id of the mapped block device +fgrep pktcdvd0 /sys/class/pktcdvd/device_map +# remove device, using pktcdvd0 device id 253:0 +echo "253:0" >/sys/class/pktcdvd/remove diff --git a/trunk/Documentation/CodingStyle b/trunk/Documentation/CodingStyle index 29c18966b050..0ad6dcb5d45f 100644 --- a/trunk/Documentation/CodingStyle +++ b/trunk/Documentation/CodingStyle @@ -35,12 +35,37 @@ In short, 8-char indents make things easier to read, and have the added benefit of warning you when you're nesting your functions too deep. Heed that warning. +The preferred way to ease multiple indentation levels in a switch statement is +to align the "switch" and its subordinate "case" labels in the same column +instead of "double-indenting" the "case" labels. E.g.: + + switch (suffix) { + case 'G': + case 'g': + mem <<= 30; + break; + case 'M': + case 'm': + mem <<= 20; + break; + case 'K': + case 'k': + mem <<= 10; + /* fall through */ + default: + break; + } + + Don't put multiple statements on a single line unless you have something to hide: if (condition) do_this; do_something_everytime; +Don't put multiple assignments on a single line either. Kernel coding style +is super simple. Avoid tricky expressions. + Outside of comments, documentation and except in Kconfig, spaces are never used for indentation, and the above example is deliberately broken. @@ -69,7 +94,7 @@ void fun(int a, int b, int c) next_statement; } - Chapter 3: Placing Braces + Chapter 3: Placing Braces and Spaces The other issue that always comes up in C styling is the placement of braces. Unlike the indent size, there are few technical reasons to @@ -81,6 +106,20 @@ brace last on the line, and put the closing brace first, thusly: we do y } +This applies to all non-function statement blocks (if, switch, for, +while, do). E.g.: + + switch (action) { + case KOBJ_ADD: + return "add"; + case KOBJ_REMOVE: + return "remove"; + case KOBJ_CHANGE: + return "change"; + default: + return NULL; + } + However, there is one special case, namely functions: they have the opening brace at the beginning of the next line, thus: @@ -121,6 +160,49 @@ supply of new-lines on your screen is not a renewable resource (think 25-line terminal screens here), you have more empty lines to put comments on. + 3.1: Spaces + +Linux kernel style for use of spaces depends (mostly) on +function-versus-keyword usage. Use a space after (most) keywords. The +notable exceptions are sizeof, typeof, alignof, and __attribute__, which look +somewhat like functions (and are usually used with parentheses in Linux, +although they are not required in the language, as in: "sizeof info" after +"struct fileinfo info;" is declared). + +So use a space after these keywords: + if, switch, case, for, do, while +but not with sizeof, typeof, alignof, or __attribute__. E.g., + s = sizeof(struct file); + +Do not add spaces around (inside) parenthesized expressions. This example is +*bad*: + + s = sizeof( struct file ); + +When declaring pointer data or a function that returns a pointer type, the +preferred use of '*' is adjacent to the data name or function name and not +adjacent to the type name. Examples: + + char *linux_banner; + unsigned long long memparse(char *ptr, char **retptr); + char *match_strdup(substring_t *s); + +Use one space around (on each side of) most binary and ternary operators, +such as any of these: + + = + - < > * / % | & ^ <= >= == != ? : + +but no space after unary operators: + & * + - ~ ! sizeof typeof alignof __attribute__ defined + +no space before the postfix increment & decrement unary operators: + ++ -- + +no space after the prefix increment & decrement unary operators: + ++ -- + +and no space around the '.' and "->" structure member operators. + Chapter 4: Naming @@ -152,7 +234,7 @@ variable that is used to hold a temporary value. If you are afraid to mix up your local variable names, you have another problem, which is called the function-growth-hormone-imbalance syndrome. -See next chapter. +See chapter 6 (Functions). Chapter 5: Typedefs @@ -258,6 +340,20 @@ generally easily keep track of about 7 different things, anything more and it gets confused. You know you're brilliant, but maybe you'd like to understand what you did 2 weeks from now. +In source files, separate functions with one blank line. If the function is +exported, the EXPORT* macro for it should follow immediately after the closing +function brace line. E.g.: + +int system_is_up(void) +{ + return system_state == SYSTEM_RUNNING; +} +EXPORT_SYMBOL(system_is_up); + +In function prototypes, include parameter names with their data types. +Although this is not required by the C language, it is preferred in Linux +because it is a simple way to add valuable information for the reader. + Chapter 7: Centralized exiting of functions @@ -306,16 +402,36 @@ time to explain badly written code. Generally, you want your comments to tell WHAT your code does, not HOW. Also, try to avoid putting comments inside a function body: if the function is so complex that you need to separately comment parts of it, -you should probably go back to chapter 5 for a while. You can make +you should probably go back to chapter 6 for a while. You can make small comments to note or warn about something particularly clever (or ugly), but try to avoid excess. Instead, put the comments at the head of the function, telling people what it does, and possibly WHY it does it. -When commenting the kernel API functions, please use the kerneldoc format. +When commenting the kernel API functions, please use the kernel-doc format. See the files Documentation/kernel-doc-nano-HOWTO.txt and scripts/kernel-doc for details. +Linux style for comments is the C89 "/* ... */" style. +Don't use C99-style "// ..." comments. + +The preferred style for long (multi-line) comments is: + + /* + * This is the preferred style for multi-line + * comments in the Linux kernel source code. + * Please use it consistently. + * + * Description: A column of asterisks on the left side, + * with beginning and ending almost-blank lines. + */ + +It's also important to comment data, whether they are basic types or derived +types. To this end, use just one data declaration per line (no commas for +multiple data declarations). This leaves you room for a small comment on each +item, explaining its use. + + Chapter 9: You've made a mess of it That's OK, we all do. You've probably been told by your long-time Unix @@ -591,4 +707,4 @@ Kernel CodingStyle, by greg@kroah.com at OLS 2002: http://www.kroah.com/linux/talks/ols_2002_kernel_codingstyle_talk/html/ -- -Last updated on 30 April 2006. +Last updated on 2006-December-06. diff --git a/trunk/Documentation/DocBook/kernel-api.tmpl b/trunk/Documentation/DocBook/kernel-api.tmpl index ca094913c555..3fa0c4b4541e 100644 --- a/trunk/Documentation/DocBook/kernel-api.tmpl +++ b/trunk/Documentation/DocBook/kernel-api.tmpl @@ -559,4 +559,12 @@ X!Idrivers/video/console/fonts.c --> + + + Input Subsystem +!Iinclude/linux/input.h +!Edrivers/input/input.c +!Edrivers/input/ff-core.c +!Edrivers/input/ff-memless.c + diff --git a/trunk/Documentation/SubmitChecklist b/trunk/Documentation/SubmitChecklist index 7ac61f60037a..2270efa10153 100644 --- a/trunk/Documentation/SubmitChecklist +++ b/trunk/Documentation/SubmitChecklist @@ -66,3 +66,9 @@ kernel patches. See Documentation/ABI/README for more information. 20: Check that it all passes `make headers_check'. + +21: Has been checked with injection of at least slab and page-allocation + fauilures. See Documentation/fault-injection/. + + If the new code is substantial, addition of subsystem-specific fault + injection might be appropriate. diff --git a/trunk/Documentation/accounting/getdelays.c b/trunk/Documentation/accounting/getdelays.c index bf2b0e2f87e1..e9126e794ed7 100644 --- a/trunk/Documentation/accounting/getdelays.c +++ b/trunk/Documentation/accounting/getdelays.c @@ -7,6 +7,8 @@ * Copyright (C) Balbir Singh, IBM Corp. 2006 * Copyright (c) Jay Lan, SGI. 2006 * + * Compile with + * gcc -I/usr/src/linux/include getdelays.c -o getdelays */ #include @@ -35,13 +37,20 @@ #define NLA_DATA(na) ((void *)((char*)(na) + NLA_HDRLEN)) #define NLA_PAYLOAD(len) (len - NLA_HDRLEN) -#define err(code, fmt, arg...) do { printf(fmt, ##arg); exit(code); } while (0) -int done = 0; -int rcvbufsz=0; - - char name[100]; -int dbg=0, print_delays=0; +#define err(code, fmt, arg...) \ + do { \ + fprintf(stderr, fmt, ##arg); \ + exit(code); \ + } while (0) + +int done; +int rcvbufsz; +char name[100]; +int dbg; +int print_delays; +int print_io_accounting; __u64 stime, utime; + #define PRINTF(fmt, arg...) { \ if (dbg) { \ printf(fmt, ##arg); \ @@ -78,8 +87,9 @@ static int create_nl_socket(int protocol) if (rcvbufsz) if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcvbufsz, sizeof(rcvbufsz)) < 0) { - printf("Unable to set socket rcv buf size to %d\n", - rcvbufsz); + fprintf(stderr, "Unable to set socket rcv buf size " + "to %d\n", + rcvbufsz); return -1; } @@ -186,6 +196,15 @@ void print_delayacct(struct taskstats *t) "count", "delay total", t->swapin_count, t->swapin_delay_total); } +void print_ioacct(struct taskstats *t) +{ + printf("%s: read=%llu, write=%llu, cancelled_write=%llu\n", + t->ac_comm, + (unsigned long long)t->read_bytes, + (unsigned long long)t->write_bytes, + (unsigned long long)t->cancelled_write_bytes); +} + int main(int argc, char *argv[]) { int c, rc, rep_len, aggr_len, len2, cmd_type; @@ -208,7 +227,7 @@ int main(int argc, char *argv[]) struct msgtemplate msg; while (1) { - c = getopt(argc, argv, "dw:r:m:t:p:v:l"); + c = getopt(argc, argv, "diw:r:m:t:p:v:l"); if (c < 0) break; @@ -217,6 +236,10 @@ int main(int argc, char *argv[]) printf("print delayacct stats ON\n"); print_delays = 1; break; + case 'i': + printf("printing IO accounting\n"); + print_io_accounting = 1; + break; case 'w': strncpy(logfile, optarg, MAX_FILENAME); printf("write to file %s\n", logfile); @@ -238,14 +261,12 @@ int main(int argc, char *argv[]) if (!tid) err(1, "Invalid tgid\n"); cmd_type = TASKSTATS_CMD_ATTR_TGID; - print_delays = 1; break; case 'p': tid = atoi(optarg); if (!tid) err(1, "Invalid pid\n"); cmd_type = TASKSTATS_CMD_ATTR_PID; - print_delays = 1; break; case 'v': printf("debug on\n"); @@ -277,7 +298,7 @@ int main(int argc, char *argv[]) mypid = getpid(); id = get_family_id(nl_sd); if (!id) { - printf("Error getting family id, errno %d", errno); + fprintf(stderr, "Error getting family id, errno %d\n", errno); goto err; } PRINTF("family id %d\n", id); @@ -288,7 +309,7 @@ int main(int argc, char *argv[]) &cpumask, strlen(cpumask) + 1); PRINTF("Sent register cpumask, retval %d\n", rc); if (rc < 0) { - printf("error sending register cpumask\n"); + fprintf(stderr, "error sending register cpumask\n"); goto err; } } @@ -298,7 +319,7 @@ int main(int argc, char *argv[]) cmd_type, &tid, sizeof(__u32)); PRINTF("Sent pid/tgid, retval %d\n", rc); if (rc < 0) { - printf("error sending tid/tgid cmd\n"); + fprintf(stderr, "error sending tid/tgid cmd\n"); goto done; } } @@ -310,13 +331,15 @@ int main(int argc, char *argv[]) PRINTF("received %d bytes\n", rep_len); if (rep_len < 0) { - printf("nonfatal reply error: errno %d\n", errno); + fprintf(stderr, "nonfatal reply error: errno %d\n", + errno); continue; } if (msg.n.nlmsg_type == NLMSG_ERROR || !NLMSG_OK((&msg.n), rep_len)) { struct nlmsgerr *err = NLMSG_DATA(&msg); - printf("fatal reply error, errno %d\n", err->error); + fprintf(stderr, "fatal reply error, errno %d\n", + err->error); goto done; } @@ -356,6 +379,8 @@ int main(int argc, char *argv[]) count++; if (print_delays) print_delayacct((struct taskstats *) NLA_DATA(na)); + if (print_io_accounting) + print_ioacct((struct taskstats *) NLA_DATA(na)); if (fd) { if (write(fd, NLA_DATA(na), na->nla_len) < 0) { err(1,"write error\n"); @@ -365,7 +390,9 @@ int main(int argc, char *argv[]) goto done; break; default: - printf("Unknown nested nla_type %d\n", na->nla_type); + fprintf(stderr, "Unknown nested" + " nla_type %d\n", + na->nla_type); break; } len2 += NLA_ALIGN(na->nla_len); @@ -374,7 +401,8 @@ int main(int argc, char *argv[]) break; default: - printf("Unknown nla_type %d\n", na->nla_type); + fprintf(stderr, "Unknown nla_type %d\n", + na->nla_type); break; } na = (struct nlattr *) (GENLMSG_DATA(&msg) + len); diff --git a/trunk/Documentation/cachetlb.txt b/trunk/Documentation/cachetlb.txt index 53245c429f7d..73e794f0ff09 100644 --- a/trunk/Documentation/cachetlb.txt +++ b/trunk/Documentation/cachetlb.txt @@ -179,10 +179,21 @@ Here are the routines, one by one: lines associated with 'mm'. This interface is used to handle whole address space - page table operations such as what happens during - fork, exit, and exec. + page table operations such as what happens during exit and exec. + +2) void flush_cache_dup_mm(struct mm_struct *mm) + + This interface flushes an entire user address space from + the caches. That is, after running, there will be no cache + lines associated with 'mm'. + + This interface is used to handle whole address space + page table operations such as what happens during fork. + + This option is separate from flush_cache_mm to allow some + optimizations for VIPT caches. -2) void flush_cache_range(struct vm_area_struct *vma, +3) void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) Here we are flushing a specific range of (user) virtual @@ -199,7 +210,7 @@ Here are the routines, one by one: call flush_cache_page (see below) for each entry which may be modified. -3) void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn) +4) void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn) This time we need to remove a PAGE_SIZE sized range from the cache. The 'vma' is the backing structure used by @@ -220,7 +231,7 @@ Here are the routines, one by one: This is used primarily during fault processing. -4) void flush_cache_kmaps(void) +5) void flush_cache_kmaps(void) This routine need only be implemented if the platform utilizes highmem. It will be called right before all of the kmaps @@ -232,7 +243,7 @@ Here are the routines, one by one: This routing should be implemented in asm/highmem.h -5) void flush_cache_vmap(unsigned long start, unsigned long end) +6) void flush_cache_vmap(unsigned long start, unsigned long end) void flush_cache_vunmap(unsigned long start, unsigned long end) Here in these two interfaces we are flushing a specific range diff --git a/trunk/Documentation/cdrom/packet-writing.txt b/trunk/Documentation/cdrom/packet-writing.txt index 3d44c561fe6d..7715d2247c4d 100644 --- a/trunk/Documentation/cdrom/packet-writing.txt +++ b/trunk/Documentation/cdrom/packet-writing.txt @@ -90,6 +90,41 @@ Notes to create an ext2 filesystem on the disc. +Using the pktcdvd sysfs interface +--------------------------------- + +Since Linux 2.6.19, the pktcdvd module has a sysfs interface +and can be controlled by it. For example the "pktcdvd" tool uses +this interface. (see http://people.freenet.de/BalaGi#pktcdvd ) + +"pktcdvd" works similar to "pktsetup", e.g.: + + # pktcdvd -a dev_name /dev/hdc + # mkudffs /dev/pktcdvd/dev_name + # mount -t udf -o rw,noatime /dev/pktcdvd/dev_name /dvdram + # cp files /dvdram + # umount /dvdram + # pktcdvd -r dev_name + + +For a description of the sysfs interface look into the file: + + Documentation/ABI/testing/sysfs-block-pktcdvd + + +Using the pktcdvd debugfs interface +----------------------------------- + +To read pktcdvd device infos in human readable form, do: + + # cat /debug/pktcdvd/pktcdvd[0-7]/info + +For a description of the debugfs interface look into the file: + + Documentation/ABI/testing/debugfs-pktcdvd + + + Links ----- diff --git a/trunk/Documentation/cpu-freq/core.txt b/trunk/Documentation/cpu-freq/core.txt index 29b3f9ffc66c..ce0666e51036 100644 --- a/trunk/Documentation/cpu-freq/core.txt +++ b/trunk/Documentation/cpu-freq/core.txt @@ -24,7 +24,7 @@ Contents: 1. General Information ======================= -The CPUFreq core code is located in linux/kernel/cpufreq.c. This +The CPUFreq core code is located in drivers/cpufreq/cpufreq.c. This cpufreq code offers a standardized interface for the CPUFreq architecture drivers (those pieces of code that do actual frequency transitions), as well as to "notifiers". These are device diff --git a/trunk/Documentation/dvb/cards.txt b/trunk/Documentation/dvb/cards.txt index ca58e339d85f..cc09187a5db7 100644 --- a/trunk/Documentation/dvb/cards.txt +++ b/trunk/Documentation/dvb/cards.txt @@ -22,10 +22,10 @@ o Frontends drivers: - ves1x93 : Alps BSRV2 (ves1893 demodulator) and dbox2 (ves1993) - cx24110 : Conexant HM1221/HM1811 (cx24110 or cx24106 demod, cx24108 PLL) - grundig_29504-491 : Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL - - mt312 : Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLL + - mt312 : Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLLi, Technisat Sky2Pc with bios Rev. 2.3 - stv0299 : Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL), LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL), - Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB + Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB, Technisat Sky2Pc with bios Rev. 2.6 DVB-C: - ves1820 : various (ves1820 demodulator, sp5659c or spXXXX PLL) - at76c651 : Atmel AT76c651(B) with DAT7021 PLL diff --git a/trunk/Documentation/fault-injection/failcmd.sh b/trunk/Documentation/fault-injection/failcmd.sh new file mode 100644 index 000000000000..63177aba8106 --- /dev/null +++ b/trunk/Documentation/fault-injection/failcmd.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo 1 > /proc/self/make-it-fail +exec $* diff --git a/trunk/Documentation/fault-injection/failmodule.sh b/trunk/Documentation/fault-injection/failmodule.sh new file mode 100644 index 000000000000..474a8b971f9c --- /dev/null +++ b/trunk/Documentation/fault-injection/failmodule.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Usage: failmodule [stacktrace-depth] +# +# : "failslab", "fail_alloc_page", or "fail_make_request" +# +# : module name that you want to inject faults. +# +# [stacktrace-depth]: the maximum number of stacktrace walking allowed +# + +STACKTRACE_DEPTH=5 +if [ $# -gt 2 ]; then + STACKTRACE_DEPTH=$3 +fi + +if [ ! -d /debug/$1 ]; then + echo "Fault-injection $1 does not exist" >&2 + exit 1 +fi +if [ ! -d /sys/module/$2 ]; then + echo "Module $2 does not exist" >&2 + exit 1 +fi + +# Disable any fault injection +echo 0 > /debug/$1/stacktrace-depth + +echo `cat /sys/module/$2/sections/.text` > /debug/$1/require-start +echo `cat /sys/module/$2/sections/.exit.text` > /debug/$1/require-end +echo $STACKTRACE_DEPTH > /debug/$1/stacktrace-depth diff --git a/trunk/Documentation/fault-injection/fault-injection.txt b/trunk/Documentation/fault-injection/fault-injection.txt new file mode 100644 index 000000000000..b7ca560b9340 --- /dev/null +++ b/trunk/Documentation/fault-injection/fault-injection.txt @@ -0,0 +1,225 @@ +Fault injection capabilities infrastructure +=========================================== + +See also drivers/md/faulty.c and "every_nth" module option for scsi_debug. + + +Available fault injection capabilities +-------------------------------------- + +o failslab + + injects slab allocation failures. (kmalloc(), kmem_cache_alloc(), ...) + +o fail_page_alloc + + injects page allocation failures. (alloc_pages(), get_free_pages(), ...) + +o fail_make_request + + injects disk IO errors on devices permitted by setting + /sys/block//make-it-fail or + /sys/block///make-it-fail. (generic_make_request()) + +Configure fault-injection capabilities behavior +----------------------------------------------- + +o debugfs entries + +fault-inject-debugfs kernel module provides some debugfs entries for runtime +configuration of fault-injection capabilities. + +- /debug/fail*/probability: + + likelihood of failure injection, in percent. + Format: + + Note that one-failure-per-hundred is a very high error rate + for some testcases. Consider setting probability=100 and configure + /debug/fail*/interval for such testcases. + +- /debug/fail*/interval: + + specifies the interval between failures, for calls to + should_fail() that pass all the other tests. + + Note that if you enable this, by setting interval>1, you will + probably want to set probability=100. + +- /debug/fail*/times: + + specifies how many times failures may happen at most. + A value of -1 means "no limit". + +- /debug/fail*/space: + + specifies an initial resource "budget", decremented by "size" + on each call to should_fail(,size). Failure injection is + suppressed until "space" reaches zero. + +- /debug/fail*/verbose + + Format: { 0 | 1 | 2 } + specifies the verbosity of the messages when failure is + injected. '0' means no messages; '1' will print only a single + log line per failure; '2' will print a call trace too -- useful + to debug the problems revealed by fault injection. + +- /debug/fail*/task-filter: + + Format: { 'Y' | 'N' } + A value of 'N' disables filtering by process (default). + Any positive value limits failures to only processes indicated by + /proc//make-it-fail==1. + +- /debug/fail*/require-start: +- /debug/fail*/require-end: +- /debug/fail*/reject-start: +- /debug/fail*/reject-end: + + specifies the range of virtual addresses tested during + stacktrace walking. Failure is injected only if some caller + in the walked stacktrace lies within the required range, and + none lies within the rejected range. + Default required range is [0,ULONG_MAX) (whole of virtual address space). + Default rejected range is [0,0). + +- /debug/fail*/stacktrace-depth: + + specifies the maximum stacktrace depth walked during search + for a caller within [require-start,require-end) OR + [reject-start,reject-end). + +- /debug/fail_page_alloc/ignore-gfp-highmem: + + Format: { 'Y' | 'N' } + default is 'N', setting it to 'Y' won't inject failures into + highmem/user allocations. + +- /debug/failslab/ignore-gfp-wait: +- /debug/fail_page_alloc/ignore-gfp-wait: + + Format: { 'Y' | 'N' } + default is 'N', setting it to 'Y' will inject failures + only into non-sleep allocations (GFP_ATOMIC allocations). + +o Boot option + +In order to inject faults while debugfs is not available (early boot time), +use the boot option: + + failslab= + fail_page_alloc= + fail_make_request=,,, + +How to add new fault injection capability +----------------------------------------- + +o #include + +o define the fault attributes + + DECLARE_FAULT_INJECTION(name); + + Please see the definition of struct fault_attr in fault-inject.h + for details. + +o provide a way to configure fault attributes + +- boot option + + If you need to enable the fault injection capability from boot time, you can + provide boot option to configure it. There is a helper function for it: + + setup_fault_attr(attr, str); + +- debugfs entries + + failslab, fail_page_alloc, and fail_make_request use this way. + Helper functions: + + init_fault_attr_entries(entries, attr, name); + void cleanup_fault_attr_entries(entries); + +- module parameters + + If the scope of the fault injection capability is limited to a + single kernel module, it is better to provide module parameters to + configure the fault attributes. + +o add a hook to insert failures + + Upon should_fail() returning true, client code should inject a failure. + + should_fail(attr, size); + +Application Examples +-------------------- + +o inject slab allocation failures into module init/cleanup code + +------------------------------------------------------------------------------ +#!/bin/bash + +FAILCMD=Documentation/fault-injection/failcmd.sh +BLACKLIST="root_plug evbug" + +FAILNAME=failslab +echo Y > /debug/$FAILNAME/task-filter +echo 10 > /debug/$FAILNAME/probability +echo 100 > /debug/$FAILNAME/interval +echo -1 > /debug/$FAILNAME/times +echo 2 > /debug/$FAILNAME/verbose +echo 1 > /debug/$FAILNAME/ignore-gfp-wait + +blacklist() +{ + echo $BLACKLIST | grep $1 > /dev/null 2>&1 +} + +oops() +{ + dmesg | grep BUG > /dev/null 2>&1 +} + +find /lib/modules/`uname -r` -name '*.ko' -exec basename {} .ko \; | + while read i + do + oops && exit 1 + + if ! blacklist $i + then + echo inserting $i... + bash $FAILCMD modprobe $i + fi + done + +lsmod | awk '{ if ($3 == 0) { print $1 } }' | + while read i + do + oops && exit 1 + + if ! blacklist $i + then + echo removing $i... + bash $FAILCMD modprobe -r $i + fi + done + +------------------------------------------------------------------------------ + +o inject slab allocation failures only for a specific module + +------------------------------------------------------------------------------ +#!/bin/bash + +FAILMOD=Documentation/fault-injection/failmodule.sh + +echo injecting errors into the module $1... + +modprobe $1 +bash $FAILMOD failslab $1 10 +echo 25 > /debug/failslab/probability + +------------------------------------------------------------------------------ + diff --git a/trunk/Documentation/feature-removal-schedule.txt b/trunk/Documentation/feature-removal-schedule.txt index 46f2a559b27c..30f3c8c9c12a 100644 --- a/trunk/Documentation/feature-removal-schedule.txt +++ b/trunk/Documentation/feature-removal-schedule.txt @@ -151,15 +151,6 @@ Who: Thomas Gleixner --------------------------- -What: I2C interface of the it87 driver -When: January 2007 -Why: The ISA interface is faster and should be always available. The I2C - probing is also known to cause trouble in at least one case (see - bug #5889.) -Who: Jean Delvare - ---------------------------- - What: Unused EXPORT_SYMBOL/EXPORT_SYMBOL_GPL exports (temporary transition config option provided until then) The transition config option will also be removed at the same time. @@ -216,33 +207,6 @@ Who: Thomas Gleixner --------------------------- -What: i2c-ite and i2c-algo-ite drivers -When: September 2006 -Why: These drivers never compiled since they were added to the kernel - tree 5 years ago. This feature removal can be reevaluated if - someone shows interest in the drivers, fixes them and takes over - maintenance. - http://marc.theaimsgroup.com/?l=linux-mips&m=115040510817448 -Who: Jean Delvare - ---------------------------- - -What: Bridge netfilter deferred IPv4/IPv6 output hook calling -When: January 2007 -Why: The deferred output hooks are a layering violation causing unusual - and broken behaviour on bridge devices. Examples of things they - break include QoS classifation using the MARK or CLASSIFY targets, - the IPsec policy match and connection tracking with VLANs on a - bridge. Their only use is to enable bridge output port filtering - within iptables with the physdev match, which can also be done by - combining iptables and ebtables using netfilter marks. Until it - will get removed the hook deferral is disabled by default and is - only enabled when needed. - -Who: Patrick McHardy - ---------------------------- - What: PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment When: October 2008 Why: The stacking of class devices makes these values misleading and @@ -270,3 +234,25 @@ Why: The new layer 3 independant connection tracking replaces the old Who: Patrick McHardy --------------------------- + +What: ACPI hooks (X86_SPEEDSTEP_CENTRINO_ACPI) in speedstep-centrino driver +When: December 2006 +Why: Speedstep-centrino driver with ACPI hooks and acpi-cpufreq driver are + functionally very much similar. They talk to ACPI in same way. Only + difference between them is the way they do frequency transitions. + One uses MSRs and the other one uses IO ports. Functionaliy of + speedstep_centrino with ACPI hooks is now merged into acpi-cpufreq. + That means one common driver will support all Intel Enhanced Speedstep + capable CPUs. That means less confusion over name of + speedstep-centrino driver (with that driver supposed to be used on + non-centrino platforms). That means less duplication of code and + less maintenance effort and no possibility of these two drivers + going out of sync. + Current users of speedstep_centrino with ACPI hooks are requested to + switch over to acpi-cpufreq driver. speedstep-centrino will continue + to work using older non-ACPI static table based scheme even after this + date. + +Who: Venkatesh Pallipadi + +--------------------------- diff --git a/trunk/Documentation/filesystems/bfs.txt b/trunk/Documentation/filesystems/bfs.txt index d2841e0bcf02..ea825e178e79 100644 --- a/trunk/Documentation/filesystems/bfs.txt +++ b/trunk/Documentation/filesystems/bfs.txt @@ -54,4 +54,4 @@ The first 4 bytes should be 0x1badface. If you have any patches, questions or suggestions regarding this BFS implementation please contact the author: -Tigran A. Aivazian +Tigran Aivazian diff --git a/trunk/Documentation/filesystems/ocfs2.txt b/trunk/Documentation/filesystems/ocfs2.txt index af6defd10cb6..8ccf0c1b58ed 100644 --- a/trunk/Documentation/filesystems/ocfs2.txt +++ b/trunk/Documentation/filesystems/ocfs2.txt @@ -54,3 +54,6 @@ errors=panic Panic and halt the machine if an error occurs. intr (*) Allow signals to interrupt cluster operations. nointr Do not allow signals to interrupt cluster operations. +atime_quantum=60(*) OCFS2 will not update atime unless this number + of seconds has passed since the last update. + Set to zero to always update atime. diff --git a/trunk/Documentation/hwmon/f71805f b/trunk/Documentation/hwmon/f71805f index 2ca69df669c3..bfd0f154959c 100644 --- a/trunk/Documentation/hwmon/f71805f +++ b/trunk/Documentation/hwmon/f71805f @@ -6,6 +6,10 @@ Supported chips: Prefix: 'f71805f' Addresses scanned: none, address read from Super I/O config space Datasheet: Provided by Fintek on request + * Fintek F71872F/FG + Prefix: 'f71872f' + Addresses scanned: none, address read from Super I/O config space + Datasheet: Provided by Fintek on request Author: Jean Delvare @@ -13,8 +17,8 @@ Thanks to Denis Kieft from Barracuda Networks for the donation of a test system (custom Jetway K8M8MS motherboard, with CPU and RAM) and for providing initial documentation. -Thanks to Kris Chen from Fintek for answering technical questions and -providing additional documentation. +Thanks to Kris Chen and Aaron Huang from Fintek for answering technical +questions and providing additional documentation. Thanks to Chris Lin from Jetway for providing wiring schematics and answering technical questions. @@ -28,8 +32,11 @@ capabilities. It can monitor up to 9 voltages (counting its own power source), 3 fans and 3 temperature sensors. This chip also has fan controlling features, using either DC or PWM, in -three different modes (one manual, two automatic). The driver doesn't -support these features yet. +three different modes (one manual, two automatic). + +The Fintek F71872F/FG Super I/O chip is almost the same, with two +additional internal voltages monitored (VSB and battery). It also features +6 VID inputs. The VID inputs are not yet supported by this driver. The driver assumes that no more than one chip is present, which seems reasonable. @@ -42,7 +49,8 @@ Voltages are sampled by an 8-bit ADC with a LSB of 8 mV. The supported range is thus from 0 to 2.040 V. Voltage values outside of this range need external resistors. An exception is in0, which is used to monitor the chip's own power source (+3.3V), and is divided internally by a -factor 2. +factor 2. For the F71872F/FG, in9 (VSB) and in10 (battery) are also +divided internally by a factor 2. The two LSB of the voltage limit registers are not used (always 0), so you can only set the limits in steps of 32 mV (before scaling). @@ -61,9 +69,12 @@ in5 VIN5 +12V 200K 20K 11.00 1.05 V in6 VIN6 VCC1.5V 10K - 1.00 1.50 V in7 VIN7 VCORE 10K - 1.00 ~1.40 V (1) in8 VIN8 VSB5V 200K 47K 1.00 0.95 V +in10 VSB VSB3.3V int. int. 2.00 1.65 V (3) +in9 VBAT VBATTERY int. int. 2.00 1.50 V (3) (1) Depends on your hardware setup. (2) Obviously not correct, swapping R1 and R2 would make more sense. +(3) F71872F/FG only. These values can be used as hints at best, as motherboard manufacturers are free to use a completely different setup. As a matter of fact, the @@ -103,3 +114,38 @@ sensor. Each channel can be used for connecting either a thermal diode or a thermistor. The driver reports the currently selected mode, but doesn't allow changing it. In theory, the BIOS should have configured everything properly. + + +Fan Control +----------- + +Both PWM (pulse-width modulation) and DC fan speed control methods are +supported. The right one to use depends on external circuitry on the +motherboard, so the driver assumes that the BIOS set the method +properly. The driver will report the method, but won't let you change +it. + +When the PWM method is used, you can select the operating frequency, +from 187.5 kHz (default) to 31 Hz. The best frequency depends on the +fan model. As a rule of thumb, lower frequencies seem to give better +control, but may generate annoying high-pitch noise. Fintek recommends +not going below 1 kHz, as the fan tachometers get confused by lower +frequencies as well. + +When the DC method is used, Fintek recommends not going below 5 V, which +corresponds to a pwm value of 106 for the driver. The driver doesn't +enforce this limit though. + +Three different fan control modes are supported: + +* Manual mode + You ask for a specific PWM duty cycle or DC voltage. + +* Fan speed mode + You ask for a specific fan speed. This mode assumes that pwm1 + corresponds to fan1, pwm2 to fan2 and pwm3 to fan3. + +* Temperature mode + You define 3 temperature/fan speed trip points, and the fan speed is + adjusted depending on the measured temperature, using interpolation. + This mode is not yet supported by the driver. diff --git a/trunk/Documentation/hwmon/it87 b/trunk/Documentation/hwmon/it87 index e783fd62e308..74a80992d237 100644 --- a/trunk/Documentation/hwmon/it87 +++ b/trunk/Documentation/hwmon/it87 @@ -9,8 +9,7 @@ Supported chips: http://www.ite.com.tw/ * IT8712F Prefix: 'it8712' - Addresses scanned: I2C 0x2d - from Super I/O config space (8 I/O ports) + Addresses scanned: from Super I/O config space (8 I/O ports) Datasheet: Publicly available at the ITE website http://www.ite.com.tw/ * IT8716F @@ -53,6 +52,18 @@ Module Parameters misconfigured by BIOS - PWM values would be inverted. This option tries to fix this. Please contact your BIOS manufacturer and ask him for fix. + +Hardware Interfaces +------------------- + +All the chips suported by this driver are LPC Super-I/O chips, accessed +through the LPC bus (ISA-like I/O ports). The IT8712F additionally has an +SMBus interface to the hardware monitoring functions. This driver no +longer supports this interface though, as it is slower and less reliable +than the ISA access, and was only available on a small number of +motherboard models. + + Description ----------- diff --git a/trunk/Documentation/hwmon/k8temp b/trunk/Documentation/hwmon/k8temp index 30d123b8d920..0005c7166146 100644 --- a/trunk/Documentation/hwmon/k8temp +++ b/trunk/Documentation/hwmon/k8temp @@ -8,7 +8,7 @@ Supported chips: Datasheet: http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/32559.pdf Author: Rudolf Marek -Contact: Rudolf Marek +Contact: Rudolf Marek Description ----------- diff --git a/trunk/Documentation/hwmon/pc87427 b/trunk/Documentation/hwmon/pc87427 new file mode 100644 index 000000000000..9a0708f9f49e --- /dev/null +++ b/trunk/Documentation/hwmon/pc87427 @@ -0,0 +1,38 @@ +Kernel driver pc87427 +===================== + +Supported chips: + * National Semiconductor PC87427 + Prefix: 'pc87427' + Addresses scanned: none, address read from Super I/O config space + Datasheet: http://www.winbond.com.tw/E-WINBONDHTM/partner/apc_007.html + +Author: Jean Delvare + +Thanks to Amir Habibi at Candelis for setting up a test system, and to +Michael Kress for testing several iterations of this driver. + + +Description +----------- + +The National Semiconductor Super I/O chip includes complete hardware +monitoring capabilities. It can monitor up to 18 voltages, 8 fans and +6 temperature sensors. Only the fans are supported at the moment. + +This chip also has fan controlling features, which are not yet supported +by this driver either. + +The driver assumes that no more than one chip is present, which seems +reasonable. + + +Fan Monitoring +-------------- + +Fan rotation speeds are reported as 14-bit values from a gated clock +signal. Speeds down to 83 RPM can be measured. + +An alarm is triggered if the rotation speed drops below a programmable +limit. Another alarm is triggered if the speed is too low to to be measured +(including stalled or missing fan). diff --git a/trunk/Documentation/hwmon/sysfs-interface b/trunk/Documentation/hwmon/sysfs-interface index d1d390aaf620..efef3b962cd3 100644 --- a/trunk/Documentation/hwmon/sysfs-interface +++ b/trunk/Documentation/hwmon/sysfs-interface @@ -208,12 +208,14 @@ temp[1-*]_auto_point[1-*]_temp_hyst **************** temp[1-*]_type Sensor type selection. - Integers 1 to 4 or thermistor Beta value (typically 3435) + Integers 1 to 6 or thermistor Beta value (typically 3435) RW 1: PII/Celeron Diode 2: 3904 transistor 3: thermal diode 4: thermistor (default/unknown Beta) + 5: AMD AMDSI + 6: Intel PECI Not all types are supported by all chips temp[1-*]_max Temperature max value. diff --git a/trunk/Documentation/hwmon/w83627ehf b/trunk/Documentation/hwmon/w83627ehf index caa610a297e8..8a15a7408753 100644 --- a/trunk/Documentation/hwmon/w83627ehf +++ b/trunk/Documentation/hwmon/w83627ehf @@ -10,7 +10,7 @@ Supported chips: Authors: Jean Delvare Yuan Mu (Winbond) - Rudolf Marek + Rudolf Marek Description ----------- diff --git a/trunk/Documentation/hwmon/w83791d b/trunk/Documentation/hwmon/w83791d index 19b2ed739fa1..db9881df88a5 100644 --- a/trunk/Documentation/hwmon/w83791d +++ b/trunk/Documentation/hwmon/w83791d @@ -18,7 +18,7 @@ Credits: and Mark Studebaker w83792d.c: Chunhao Huang , - Rudolf Marek + Rudolf Marek Additional contributors: Sven Anders diff --git a/trunk/Documentation/hwmon/w83793 b/trunk/Documentation/hwmon/w83793 new file mode 100644 index 000000000000..45e5408340e0 --- /dev/null +++ b/trunk/Documentation/hwmon/w83793 @@ -0,0 +1,110 @@ +Kernel driver w83793 +==================== + +Supported chips: + * Winbond W83793G/W83793R + Prefix: 'w83793' + Addresses scanned: I2C 0x2c - 0x2f + Datasheet: Still not published + +Authors: + Yuan Mu (Winbond Electronics) + Rudolf Marek + + +Module parameters +----------------- + +* reset int + (default 0) + This parameter is not recommended, it will lose motherboard specific + settings. Use 'reset=1' to reset the chip when loading this module. + +* force_subclients=bus,caddr,saddr1,saddr2 + This is used to force the i2c addresses for subclients of + a certain chip. Typical usage is `force_subclients=0,0x2f,0x4a,0x4b' + to force the subclients of chip 0x2f on bus 0 to i2c addresses + 0x4a and 0x4b. + + +Description +----------- + +This driver implements support for Winbond W83793G/W83793R chips. + +* Exported features + This driver exports 10 voltage sensors, up to 12 fan tachometer inputs, + 6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan + (automatic fan speed control) on all temperature/PWM combinations, 2 + sets of 6-pin CPU VID input. + +* Sensor resolutions + If your motherboard maker used the reference design, the resolution of + voltage0-2 is 2mV, resolution of voltage3/4/5 is 16mV, 8mV for voltage6, + 24mV for voltage7/8. Temp1-4 have a 0.25 degree Celsius resolution, + temp5-6 have a 1 degree Celsiis resolution. + +* Temperature sensor types + Temp1-4 have 3 possible types. It can be read from (and written to) + temp[1-4]_type. + - If the value of 0, the related temperature channel stops + monitoring. + - If the value is 3, it starts monitoring using a remote termal diode + (default). + - If the value is 5, it starts monitoring using the temperature sensor + in AMD CPU and get result by AMDSI. + - If the value is 6, it starts monitoring using the temperature sensor + in Intel CPU and get result by PECI. + Temp5-6 can be connected to external thermistors (value of + temp[5-6]_type is 4). They can also be disabled (value is 0). + +* Alarm mechanism + For voltage sensors, an alarm triggers if the measured value is below + the low voltage limit or over the high voltage limit. + For temperature sensors, an alarm triggers if the measured value goes + above the high temperature limit, and wears off only after the measured + value drops below the hysteresis value. + For fan sensors, an alarm triggers if the measured value is below the + low speed limit. + +* SmartFan/PWM control + If you want to set a pwm fan to manual mode, you just need to make sure it + is not controlled by any temp channel, for example, you want to set fan1 + to manual mode, you need to check the value of temp[1-6]_fan_map, make + sure bit 0 is cleared in the 6 values. And then set the pwm1 value to + control the fan. + + Each temperature channel can control all the 8 PWM outputs (by setting the + corresponding bit in tempX_fan_map), you can set the temperature channel + mode using temp[1-6]_pwm_enable, 2 is Thermal Cruise mode and 3 + is the SmartFanII mode. Temperature channels will try to speed up or + slow down all controlled fans, this means one fan can receive different + PWM value requests from different temperature channels, but the chip + will always pick the safest (max) PWM value for each fan. + + In Thermal Cruise mode, the chip attempts to keep the temperature at a + predefined value, within a tolerance margin. So if tempX_input > + thermal_cruiseX + toleranceX, the chip will increase the PWM value, + if tempX_input < thermal_cruiseX - toleranceX, the chip will decrease + the PWM value. If the temperature is within the tolerance range, the PWM + value is left unchanged. + + SmartFanII works differently, you have to define up to 7 PWM, temperature + trip points, defining a PWM/temperature curve which the chip will follow. + While not fundamentally different from the Thermal Cruise mode, the + implementation is quite different, giving you a finer-grained control. + +* Chassis + If the case open alarm triggers, it will stay in this state unless cleared + by any write to the sysfs file "chassis". + +* VID and VRM + The VRM version is detected automatically, don't modify the it unless you + *do* know the cpu VRM version and it's not properly detected. + + +Notes +----- + + Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and + PWM outputs may or may not exist depending on the chip pin configuration. diff --git a/trunk/Documentation/i2c/busses/i2c-amd8111 b/trunk/Documentation/i2c/busses/i2c-amd8111 index db294ee7455a..460dd6635fd2 100644 --- a/trunk/Documentation/i2c/busses/i2c-amd8111 +++ b/trunk/Documentation/i2c/busses/i2c-amd8111 @@ -5,7 +5,7 @@ Supported adapters: Datasheets: AMD datasheet not yet available, but almost everything can be found - in publically available ACPI 2.0 specification, which the adapter + in the publicly available ACPI 2.0 specification, which the adapter follows. Author: Vojtech Pavlik diff --git a/trunk/Documentation/i2c/busses/i2c-i801 b/trunk/Documentation/i2c/busses/i2c-i801 index e46c23458242..3db69a086c41 100644 --- a/trunk/Documentation/i2c/busses/i2c-i801 +++ b/trunk/Documentation/i2c/busses/i2c-i801 @@ -9,7 +9,10 @@ Supported adapters: * Intel 82801EB/ER (ICH5) (HW PEC supported, 32 byte buffer not supported) * Intel 6300ESB * Intel 82801FB/FR/FW/FRW (ICH6) - * Intel ICH7 + * Intel 82801G (ICH7) + * Intel 631xESB/632xESB (ESB2) + * Intel 82801H (ICH8) + * Intel ICH9 Datasheets: Publicly available at the Intel website Authors: diff --git a/trunk/Documentation/i2c/busses/i2c-nforce2 b/trunk/Documentation/i2c/busses/i2c-nforce2 index cd49c428a3ab..7f61fbc03f7f 100644 --- a/trunk/Documentation/i2c/busses/i2c-nforce2 +++ b/trunk/Documentation/i2c/busses/i2c-nforce2 @@ -10,11 +10,11 @@ Supported adapters: * nForce4 MCP51 10de:0264 * nForce4 MCP55 10de:0368 -Datasheet: not publically available, but seems to be similar to the +Datasheet: not publicly available, but seems to be similar to the AMD-8111 SMBus 2.0 adapter. Authors: - Hans-Frieder Vogt , + Hans-Frieder Vogt , Thomas Leibold , Patrick Dreker @@ -38,7 +38,7 @@ Notes ----- The SMBus adapter in the nForce2 chipset seems to be very similar to the -SMBus 2.0 adapter in the AMD-8111 southbridge. However, I could only get +SMBus 2.0 adapter in the AMD-8111 south bridge. However, I could only get the driver to work with direct I/O access, which is different to the EC interface of the AMD-8111. Tested on Asus A7N8X. The ACPI DSDT table of the Asus A7N8X lists two SMBuses, both of which are supported by this driver. diff --git a/trunk/Documentation/ioctl-number.txt b/trunk/Documentation/ioctl-number.txt index edc04d74ae23..5a8bd5bd88ef 100644 --- a/trunk/Documentation/ioctl-number.txt +++ b/trunk/Documentation/ioctl-number.txt @@ -191,3 +191,5 @@ Code Seq# Include File Comments 0xF3 00-3F video/sisfb.h sisfb (in development) +0xF4 00-1F video/mbxfb.h mbxfb + diff --git a/trunk/Documentation/ioctl/ioctl-decoding.txt b/trunk/Documentation/ioctl/ioctl-decoding.txt new file mode 100644 index 000000000000..bfdf7f3ee4f0 --- /dev/null +++ b/trunk/Documentation/ioctl/ioctl-decoding.txt @@ -0,0 +1,24 @@ +To decode a hex IOCTL code: + +Most architecures use this generic format, but check +include/ARCH/ioctl.h for specifics, e.g. powerpc +uses 3 bits to encode read/write and 13 bits for size. + + bits meaning + 31-30 00 - no parameters: uses _IO macro + 10 - read: _IOR + 01 - write: _IOW + 11 - read/write: _IOWR + + 29-16 size of arguments + + 15-8 ascii character supposedly + unique to each driver + + 7-0 function # + + + So for example 0x82187201 is a read with arg length of 0x218, +character 'r' function 1. Grepping the source reveals this is: + +#define VFAT_IOCTL_READDIR_BOTH _IOR('r', 1, struct dirent [2]) diff --git a/trunk/Documentation/kbuild/kconfig-language.txt b/trunk/Documentation/kbuild/kconfig-language.txt index 125093c3ef76..536d5bfbdb8d 100644 --- a/trunk/Documentation/kbuild/kconfig-language.txt +++ b/trunk/Documentation/kbuild/kconfig-language.txt @@ -29,7 +29,7 @@ them. A single configuration option is defined like this: config MODVERSIONS bool "Set version information on all module symbols" - depends MODULES + depends on MODULES help Usually, modules have to be recompiled whenever you switch to a new kernel. ... @@ -163,7 +163,7 @@ The position of a menu entry in the tree is determined in two ways. First it can be specified explicitly: menu "Network device support" - depends NET + depends on NET config NETDEVICES ... @@ -188,10 +188,10 @@ config MODULES config MODVERSIONS bool "Set version information on all module symbols" - depends MODULES + depends on MODULES comment "module support disabled" - depends !MODULES + depends on !MODULES MODVERSIONS directly depends on MODULES, this means it's only visible if MODULES is different from 'n'. The comment on the other hand is always diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index b79bcdf16319..ef69c75780bf 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -548,6 +548,13 @@ and is between 256 and 4096 characters. It is defined in the file eurwdt= [HW,WDT] Eurotech CPU-1220/1410 onboard watchdog. Format: [,] + failslab= + fail_page_alloc= + fail_make_request=[KNL] + General fault injection mechanism. + Format: ,,, + See also /Documentation/fault-injection/. + fd_mcs= [HW,SCSI] See header of drivers/scsi/fd_mcs.c. @@ -1649,6 +1656,12 @@ and is between 256 and 4096 characters. It is defined in the file sym53c416= [HW,SCSI] See header of drivers/scsi/sym53c416.c. + sysrq_always_enabled + [KNL] + Ignore sysrq setting - this boot parameter will + neutralize any effect of /proc/sys/kernel/sysrq. + Useful for debugging. + t128= [HW,SCSI] See header of drivers/scsi/t128.c. diff --git a/trunk/Documentation/networking/dccp.txt b/trunk/Documentation/networking/dccp.txt index dda15886bcb5..387482e46c47 100644 --- a/trunk/Documentation/networking/dccp.txt +++ b/trunk/Documentation/networking/dccp.txt @@ -19,7 +19,8 @@ for real time and multimedia traffic. It has a base protocol and pluggable congestion control IDs (CCIDs). -It is at experimental RFC status and the homepage for DCCP as a protocol is at: +It is at proposed standard RFC status and the homepage for DCCP as a protocol +is at: http://www.read.cs.ucla.edu/dccp/ Missing features @@ -34,9 +35,6 @@ The known bugs are at: Socket options ============== -DCCP_SOCKOPT_PACKET_SIZE is used for CCID3 to set default packet size for -calculations. - DCCP_SOCKOPT_SERVICE sets the service. The specification mandates use of service codes (RFC 4340, sec. 8.1.2); if this socket option is not set, the socket will fall back to 0 (which means that no meaningful service code diff --git a/trunk/Documentation/s390/driver-model.txt b/trunk/Documentation/s390/driver-model.txt index 77bf450ec39b..e938c442277d 100644 --- a/trunk/Documentation/s390/driver-model.txt +++ b/trunk/Documentation/s390/driver-model.txt @@ -18,11 +18,18 @@ devices/ - 0.0.0002/ - 0.1.0000/0.1.1234/ ... + - defunct/ In this example, device 0815 is accessed via subchannel 0 in subchannel set 0, device 4711 via subchannel 1 in subchannel set 0, and subchannel 2 is a non-I/O subchannel. Device 1234 is accessed via subchannel 0 in subchannel set 1. +The subchannel named 'defunct' does not represent any real subchannel on the +system; it is a pseudo subchannel where disconnnected ccw devices are moved to +if they are displaced by another ccw device becoming operational on their +former subchannel. The ccw devices will be moved again to a proper subchannel +if they become operational again on that subchannel. + You should address a ccw device via its bus id (e.g. 0.0.4711); the device can be found under bus/ccw/devices/. diff --git a/trunk/Documentation/spi/pxa2xx b/trunk/Documentation/spi/pxa2xx index a1e0ee20f595..f9717fe9bd85 100644 --- a/trunk/Documentation/spi/pxa2xx +++ b/trunk/Documentation/spi/pxa2xx @@ -102,7 +102,7 @@ struct pxa2xx_spi_chip { u8 tx_threshold; u8 rx_threshold; u8 dma_burst_size; - u32 timeout_microsecs; + u32 timeout; u8 enable_loopback; void (*cs_control)(u32 command); }; @@ -121,7 +121,7 @@ the PXA2xx "Developer Manual" sections on the DMA controller and SSP Controllers to determine the correct value. An SSP configured for byte-wide transfers would use a value of 8. -The "pxa2xx_spi_chip.timeout_microsecs" fields is used to efficiently handle +The "pxa2xx_spi_chip.timeout" fields is used to efficiently handle trailing bytes in the SSP receiver fifo. The correct value for this field is dependent on the SPI bus speed ("spi_board_info.max_speed_hz") and the specific slave device. Please note that the PXA2xx SSP 1 does not support trailing byte @@ -162,18 +162,18 @@ static void cs8405a_cs_control(u32 command) } static struct pxa2xx_spi_chip cs8415a_chip_info = { - .tx_threshold = 12, /* SSP hardward FIFO threshold */ - .rx_threshold = 4, /* SSP hardward FIFO threshold */ + .tx_threshold = 8, /* SSP hardward FIFO threshold */ + .rx_threshold = 8, /* SSP hardward FIFO threshold */ .dma_burst_size = 8, /* Byte wide transfers used so 8 byte bursts */ - .timeout_microsecs = 64, /* Wait at least 64usec to handle trailing */ + .timeout = 235, /* See Intel documentation */ .cs_control = cs8415a_cs_control, /* Use external chip select */ }; static struct pxa2xx_spi_chip cs8405a_chip_info = { - .tx_threshold = 12, /* SSP hardward FIFO threshold */ - .rx_threshold = 4, /* SSP hardward FIFO threshold */ + .tx_threshold = 8, /* SSP hardward FIFO threshold */ + .rx_threshold = 8, /* SSP hardward FIFO threshold */ .dma_burst_size = 8, /* Byte wide transfers used so 8 byte bursts */ - .timeout_microsecs = 64, /* Wait at least 64usec to handle trailing */ + .timeout = 235, /* See Intel documentation */ .cs_control = cs8405a_cs_control, /* Use external chip select */ }; diff --git a/trunk/Documentation/video4linux/CARDLIST.cx88 b/trunk/Documentation/video4linux/CARDLIST.cx88 index 8755b3e7b09e..62e32b49cec9 100644 --- a/trunk/Documentation/video4linux/CARDLIST.cx88 +++ b/trunk/Documentation/video4linux/CARDLIST.cx88 @@ -43,7 +43,7 @@ 42 -> digitalnow DNTV Live! DVB-T Pro [1822:0025,1822:0019] 43 -> KWorld/VStream XPert DVB-T with cx22702 [17de:08a1,12ab:2300] 44 -> DViCO FusionHDTV DVB-T Dual Digital [18ac:db50,18ac:db54] - 45 -> KWorld HardwareMpegTV XPert [17de:0840] + 45 -> KWorld HardwareMpegTV XPert [17de:0840,1421:0305] 46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44] 47 -> pcHDTV HD5500 HDTV [7063:5500] 48 -> Kworld MCE 200 Deluxe [17de:0841] diff --git a/trunk/Documentation/video4linux/CARDLIST.saa7134 b/trunk/Documentation/video4linux/CARDLIST.saa7134 index 53ce6a39083c..f6201cc37ec5 100644 --- a/trunk/Documentation/video4linux/CARDLIST.saa7134 +++ b/trunk/Documentation/video4linux/CARDLIST.saa7134 @@ -76,7 +76,7 @@ 75 -> AVerMedia AVerTVHD MCE A180 [1461:1044] 76 -> SKNet MonsterTV Mobile [1131:4ee9] 77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e] - 78 -> ASUSTeK P7131 Dual [1043:4862] + 78 -> ASUSTeK P7131 Dual [1043:4862,1043:4876] 79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B) 80 -> ASUS Digimatrix TV [1043:0210] 81 -> Philips Tiger reference design [1131:2018] @@ -99,3 +99,8 @@ 98 -> Proteus Pro 2309 [0919:2003] 99 -> AVerMedia TV Hybrid A16AR [1461:2c00] 100 -> Asus Europa2 OEM [1043:4860] +101 -> Pinnacle PCTV 310i [11bd:002f] +102 -> Avermedia AVerTV Studio 507 [1461:9715] +103 -> Compro Videomate DVB-T200A +104 -> Hauppauge WinTV-HVR1110 DVB-T/Hybrid [0070:6701] +105 -> Terratec Cinergy HT PCMCIA [153b:1172] diff --git a/trunk/Documentation/video4linux/cafe_ccic b/trunk/Documentation/video4linux/cafe_ccic new file mode 100644 index 000000000000..88821022a5de --- /dev/null +++ b/trunk/Documentation/video4linux/cafe_ccic @@ -0,0 +1,54 @@ +"cafe_ccic" is a driver for the Marvell 88ALP01 "cafe" CMOS camera +controller. This is the controller found in first-generation OLPC systems, +and this driver was written with support from the OLPC project. + +Current status: the core driver works. It can generate data in YUV422, +RGB565, and RGB444 formats. (Anybody looking at the code will see RGB32 as +well, but that is a debugging aid which will be removed shortly). VGA and +QVGA modes work; CIF is there but the colors remain funky. Only the OV7670 +sensor is known to work with this controller at this time. + +To try it out: either of these commands will work: + + mplayer tv:// -tv driver=v4l2:width=640:height=480 -nosound + mplayer tv:// -tv driver=v4l2:width=640:height=480:outfmt=bgr16 -nosound + +The "xawtv" utility also works; gqcam does not, for unknown reasons. + +There are a few load-time options, most of which can be changed after +loading via sysfs as well: + + - alloc_bufs_at_load: Normally, the driver will not allocate any DMA + buffers until the time comes to transfer data. If this option is set, + then worst-case-sized buffers will be allocated at module load time. + This option nails down the memory for the life of the module, but + perhaps decreases the chances of an allocation failure later on. + + - dma_buf_size: The size of DMA buffers to allocate. Note that this + option is only consulted for load-time allocation; when buffers are + allocated at run time, they will be sized appropriately for the current + camera settings. + + - n_dma_bufs: The controller can cycle through either two or three DMA + buffers. Normally, the driver tries to use three buffers; on faster + systems, however, it will work well with only two. + + - min_buffers: The minimum number of streaming I/O buffers that the driver + will consent to work with. Default is one, but, on slower systems, + better behavior with mplayer can be achieved by setting to a higher + value (like six). + + - max_buffers: The maximum number of streaming I/O buffers; default is + ten. That number was carefully picked out of a hat and should not be + assumed to actually mean much of anything. + + - flip: If this boolean parameter is set, the sensor will be instructed to + invert the video image. Whether it makes sense is determined by how + your particular camera is mounted. + +Work is ongoing with this driver, stay tuned. + +jon + +Jonathan Corbet +corbet@lwn.net diff --git a/trunk/Documentation/video4linux/zr36120.txt b/trunk/Documentation/video4linux/zr36120.txt deleted file mode 100644 index 1a1c2d03a5c8..000000000000 --- a/trunk/Documentation/video4linux/zr36120.txt +++ /dev/null @@ -1,162 +0,0 @@ -Driver for Trust Computer Products Framegrabber, version 0.6.1 ------- --- ----- -------- -------- ------------ ------- - - - - -- ZORAN ------------------------------------------------------ - Author: Pauline Middelink - Date: 18 September 1999 -Version: 0.6.1 - -- Description ------------------------------------------------ - -Video4Linux compatible driver for an unknown brand framegrabber -(Sold in the Netherlands by TRUST Computer Products) and various -other zoran zr36120 based framegrabbers. - -The card contains a ZR36120 Multimedia PCI Interface and a Philips -SAA7110 Onechip Frontend videodecoder. There is also an DSP of -which I have forgotten the number, since i will never get that thing -to work without specs from the vendor itself. - -The SAA711x are capable of processing 6 different video inputs, -CVBS1..6 and Y1+C1, Y2+C2, Y3+C3. All in 50/60Hz, NTSC, PAL or -SECAM and delivering a YUV datastream. On my card the input -'CVBS-0' corresponds to channel CVBS2 and 'S-Video' to Y2+C2. - -I have some reports of other cards working with the mentioned -chip sets. For a list of other working cards please have a look -at the cards named in the tvcards struct in the beginning of -zr36120.c - -After some testing, I discovered that the carddesigner messed up -on the I2C interface. The Zoran chip includes 2 lines SDA and SCL -which (s)he connected reversely. So we have to clock on the SDA -and r/w data on the SCL pin. Life is fun... Each cardtype now has -a bit which signifies if you have a card with the same deficiency. - -Oh, for the completeness of this story I must mention that my -card delivers the VSYNC pulse of the SAA chip to GIRQ1, not -GIRQ0 as some other cards have. This is also incorporated in -the driver be clearing/setting the 'useirq1' bit in the tvcard -description. - -Another problems of continuous capturing data with a Zoran chip -is something nasty inside the chip. It effectively halves the -fps we ought to get... Here is the scenario: capturing frames -to memory is done in the so-called snapshot mode. In this mode -the Zoran stops after capturing a frame worth of data and wait -till the application set GRAB bit to indicate readiness for the -next frame. After detecting a set bit, the chip neatly waits -till the start of a frame, captures it and it goes back to off. -Smart ppl will notice the problem here. Its the waiting on the -_next_ frame each time we set the GRAB bit... Oh well, 12,5 fps -is still plenty fast for me. --- update 28/7/1999 -- -Don't believe a word I just said... Proof is the output -of `streamer -t 300 -r 25 -f avi15 -o /dev/null` - ++--+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- 25/25 - +-s+-+-+-+-+-+-+-+-+-+-+-+-+-s+-+-+-+-+-+-+-+-+-+-+- - syncer: done - writer: done -(note the /dev/null is prudent here, my system is not able to - grab /and/ write 25 fps to a file... gifts welcome :) ) -The technical reasoning follows: The zoran completed the last -frame, the VSYNC goes low, and GRAB is cleared. The interrupt -routine starts to work since its VSYNC driven, and again -activates the GRAB bit. A few ms later the VSYNC (re-)rises and -the zoran starts to work on a new and freshly broadcasted frame.... - -For pointers I used the specs of both chips. Below are the URLs: - http://www.zoran.com/ftp/download/devices/pci/ZR36120/36120data.pdf - http://www-us.semiconductor.philips.com/acrobat/datasheets/SAA_7110_A_1.pdf -Some alternatives for the Philips SAA 7110 datasheet are: - http://www.datasheetcatalog.com/datasheets_pdf/S/A/A/7/SAA7110.shtml - http://www.datasheetarchive.com/search.php?search=SAA7110&sType=part - -The documentation has very little on absolute numbers or timings -needed for the various modes/resolutions, but there are other -programs you can borrow those from. - ------- Install -------------------------------------------- -Read the file called TODO. Note its long list of limitations. - -Build a kernel with VIDEO4LINUX enabled. Activate the -BT848 driver; we need this because we have need for the -other modules (i2c and videodev) it enables. - -To install this software, extract it into a suitable directory. -Examine the makefile and change anything you don't like. Type "make". - -After making the modules check if you have the much needed -/dev/video devices. If not, execute the following 4 lines: - mknod /dev/video c 81 0 - mknod /dev/video1 c 81 1 - mknod /dev/video2 c 81 2 - mknod /dev/video3 c 81 3 - mknod /dev/video4 c 81 4 - -After making/checking the devices do: - modprobe i2c - modprobe videodev - modprobe saa7110 (optional) - modprobe saa7111 (optional) - modprobe tuner (optional) - insmod zoran cardtype= - - is the cardtype of the card you have. The cardnumber can -be found in the source of zr36120. Look for tvcards. If your -card is not there, please try if any other card gives some -response, and mail me if you got a working tvcard addition. - -PS. f_dentry, buffer, bufsiz); + retval = do_osf_statfs(file->f_path.dentry, buffer, bufsiz); fput(file); } return retval; @@ -979,7 +979,7 @@ osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, long timeout; int ret = -EINVAL; struct fdtable *fdt; - int max_fdset; + int max_fds; timeout = MAX_SCHEDULE_TIMEOUT; if (tvp) { @@ -1003,9 +1003,9 @@ osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, rcu_read_lock(); fdt = files_fdtable(current->files); - max_fdset = fdt->max_fdset; + max_fds = fdt->max_fds; rcu_read_unlock(); - if (n < 0 || n > max_fdset) + if (n < 0 || n > max_fds) goto out_nofds; /* diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 8c05d4321ae9..6783c2e5512d 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -74,6 +74,14 @@ config RWSEM_GENERIC_SPINLOCK config RWSEM_XCHGADD_ALGORITHM bool +config ARCH_HAS_ILOG2_U32 + bool + default n + +config ARCH_HAS_ILOG2_U64 + bool + default n + config GENERIC_HWEIGHT bool default y @@ -732,7 +740,7 @@ config XIP_PHYS_ADDR endmenu -if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP) +if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX ) menu "CPU Frequency scaling" @@ -759,6 +767,15 @@ config CPU_FREQ_INTEGRATOR If in doubt, say Y. +config CPU_FREQ_IMX + tristate "CPUfreq driver for i.MX CPUs" + depends on ARCH_IMX && CPU_FREQ + default n + help + This enables the CPUfreq driver for i.MX CPUs. + + If in doubt, say N. + endmenu endif @@ -937,6 +954,8 @@ source "drivers/video/Kconfig" source "sound/Kconfig" +source "drivers/hid/Kconfig" + source "drivers/usb/Kconfig" source "drivers/mmc/Kconfig" diff --git a/trunk/arch/arm/kernel/apm.c b/trunk/arch/arm/kernel/apm.c index a11fb9a40c04..2c37b70b17ab 100644 --- a/trunk/arch/arm/kernel/apm.c +++ b/trunk/arch/arm/kernel/apm.c @@ -423,7 +423,7 @@ static int apm_open(struct inode * inode, struct file * filp) { struct apm_user *as; - as = (struct apm_user *)kzalloc(sizeof(*as), GFP_KERNEL); + as = kzalloc(sizeof(*as), GFP_KERNEL); if (as) { /* * XXX - this is a tiny bit broken, when we consider BSD diff --git a/trunk/arch/arm/kernel/calls.S b/trunk/arch/arm/kernel/calls.S index 3173924a9b60..e8f74363328c 100644 --- a/trunk/arch/arm/kernel/calls.S +++ b/trunk/arch/arm/kernel/calls.S @@ -331,6 +331,19 @@ CALL(sys_mbind) /* 320 */ CALL(sys_get_mempolicy) CALL(sys_set_mempolicy) + CALL(sys_openat) + CALL(sys_mkdirat) + CALL(sys_mknodat) +/* 325 */ CALL(sys_fchownat) + CALL(sys_futimesat) + CALL(sys_fstatat64) + CALL(sys_unlinkat) + CALL(sys_renameat) +/* 330 */ CALL(sys_linkat) + CALL(sys_symlinkat) + CALL(sys_readlinkat) + CALL(sys_fchmodat) + CALL(sys_faccessat) #ifndef syscalls_counted .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls #define syscalls_counted diff --git a/trunk/arch/arm/kernel/ecard.c b/trunk/arch/arm/kernel/ecard.c index a786f769035d..71257e3d513f 100644 --- a/trunk/arch/arm/kernel/ecard.c +++ b/trunk/arch/arm/kernel/ecard.c @@ -353,7 +353,7 @@ int ecard_readchunk(struct in_chunk_dir *cd, ecard_t *ec, int id, int num) } if (c_id(&excd) == 0x80) { /* loader */ if (!ec->loader) { - ec->loader = (loader_t)kmalloc(c_len(&excd), + ec->loader = kmalloc(c_len(&excd), GFP_KERNEL); if (ec->loader) ecard_readbytes(ec->loader, ec, diff --git a/trunk/arch/arm/kernel/head.S b/trunk/arch/arm/kernel/head.S index bda0748ffb00..d994561816a1 100644 --- a/trunk/arch/arm/kernel/head.S +++ b/trunk/arch/arm/kernel/head.S @@ -22,30 +22,31 @@ #include #include -#define KERNEL_RAM_ADDR (PAGE_OFFSET + TEXT_OFFSET) +#define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) +#define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) /* * swapper_pg_dir is the virtual address of the initial page table. - * We place the page tables 16K below KERNEL_RAM_ADDR. Therefore, we must - * make sure that KERNEL_RAM_ADDR is correctly set. Currently, we expect + * We place the page tables 16K below KERNEL_RAM_VADDR. Therefore, we must + * make sure that KERNEL_RAM_VADDR is correctly set. Currently, we expect * the least significant 16 bits to be 0x8000, but we could probably - * relax this restriction to KERNEL_RAM_ADDR >= PAGE_OFFSET + 0x4000. + * relax this restriction to KERNEL_RAM_VADDR >= PAGE_OFFSET + 0x4000. */ -#if (KERNEL_RAM_ADDR & 0xffff) != 0x8000 -#error KERNEL_RAM_ADDR must start at 0xXXXX8000 +#if (KERNEL_RAM_VADDR & 0xffff) != 0x8000 +#error KERNEL_RAM_VADDR must start at 0xXXXX8000 #endif .globl swapper_pg_dir - .equ swapper_pg_dir, KERNEL_RAM_ADDR - 0x4000 + .equ swapper_pg_dir, KERNEL_RAM_VADDR - 0x4000 .macro pgtbl, rd - ldr \rd, =(__virt_to_phys(KERNEL_RAM_ADDR - 0x4000)) + ldr \rd, =(KERNEL_RAM_PADDR - 0x4000) .endm #ifdef CONFIG_XIP_KERNEL #define TEXTADDR XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR) #else -#define TEXTADDR KERNEL_RAM_ADDR +#define TEXTADDR KERNEL_RAM_VADDR #endif /* diff --git a/trunk/arch/arm/kernel/setup.c b/trunk/arch/arm/kernel/setup.c index 238dd9b6db84..cf2bd4242803 100644 --- a/trunk/arch/arm/kernel/setup.c +++ b/trunk/arch/arm/kernel/setup.c @@ -354,9 +354,6 @@ static void __init setup_processor(void) #ifndef CONFIG_ARM_THUMB elf_hwcap &= ~HWCAP_THUMB; #endif -#ifndef CONFIG_VFP - elf_hwcap &= ~HWCAP_VFP; -#endif cpu_proc_init(); } diff --git a/trunk/arch/arm/mach-at91rm9200/at91sam9260_devices.c b/trunk/arch/arm/mach-at91rm9200/at91sam9260_devices.c index a6c596dc4516..f42d3a40ec3c 100644 --- a/trunk/arch/arm/mach-at91rm9200/at91sam9260_devices.c +++ b/trunk/arch/arm/mach-at91rm9200/at91sam9260_devices.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "generic.h" diff --git a/trunk/arch/arm/mach-at91rm9200/board-sam9260ek.c b/trunk/arch/arm/mach-at91rm9200/board-sam9260ek.c index ffca9bdec37b..da5d58ac870b 100644 --- a/trunk/arch/arm/mach-at91rm9200/board-sam9260ek.c +++ b/trunk/arch/arm/mach-at91rm9200/board-sam9260ek.c @@ -119,6 +119,7 @@ static struct spi_board_info ek_spi_devices[] = { * MACB Ethernet device */ static struct __initdata eth_platform_data ek_macb_data = { + .phy_irq_pin = AT91_PIN_PA7, .is_rmii = 1, }; diff --git a/trunk/arch/arm/mach-imx/Makefile b/trunk/arch/arm/mach-imx/Makefile index 0b27d79f2efd..02272aa36e90 100644 --- a/trunk/arch/arm/mach-imx/Makefile +++ b/trunk/arch/arm/mach-imx/Makefile @@ -9,6 +9,8 @@ obj-y += irq.o time.o dma.o generic.o +obj-$(CONFIG_CPU_FREQ_IMX) += cpufreq.o + # Specific board support obj-$(CONFIG_ARCH_MX1ADS) += mx1ads.o diff --git a/trunk/arch/arm/mach-imx/cpufreq.c b/trunk/arch/arm/mach-imx/cpufreq.c new file mode 100644 index 000000000000..ac5f99895660 --- /dev/null +++ b/trunk/arch/arm/mach-imx/cpufreq.c @@ -0,0 +1,287 @@ +/* + * cpu.c: clock scaling for the iMX + * + * Copyright (C) 2000 2001, The Delft University of Technology + * Copyright (c) 2004 Sascha Hauer + * Copyright (C) 2006 Inky Lung + * Copyright (C) 2006 Pavel Pisa, PiKRON + * + * Based on SA1100 version written by: + * - Johan Pouwelse (J.A.Pouwelse@its.tudelft.nl): initial version + * - Erik Mouw (J.A.K.Mouw@its.tudelft.nl): + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +/*#define DEBUG*/ + +#include +#include +#include +#include +#include + +#include + +#include "generic.h" + +#ifndef __val2mfld +#define __val2mfld(mask,val) (((mask)&~((mask)<<1))*(val)&(mask)) +#endif +#ifndef __mfld2val +#define __mfld2val(mask,val) (((val)&(mask))/((mask)&~((mask)<<1))) +#endif + +#define CR_920T_CLOCK_MODE 0xC0000000 +#define CR_920T_FASTBUS_MODE 0x00000000 +#define CR_920T_ASYNC_MODE 0xC0000000 + +static u32 mpctl0_at_boot; + +static void imx_set_async_mode(void) +{ + adjust_cr(CR_920T_CLOCK_MODE, CR_920T_ASYNC_MODE); +} + +static void imx_set_fastbus_mode(void) +{ + adjust_cr(CR_920T_CLOCK_MODE, CR_920T_FASTBUS_MODE); +} + +static void imx_set_mpctl0(u32 mpctl0) +{ + unsigned long flags; + + if (mpctl0 == 0) { + local_irq_save(flags); + CSCR &= ~CSCR_MPEN; + local_irq_restore(flags); + return; + } + + local_irq_save(flags); + MPCTL0 = mpctl0; + CSCR |= CSCR_MPEN; + local_irq_restore(flags); +} + +/** + * imx_compute_mpctl - compute new PLL parameters + * @new_mpctl: pointer to location assigned by new PLL control register value + * @cur_mpctl: current PLL control register parameters + * @freq: required frequency in Hz + * @relation: is one of %CPUFREQ_RELATION_L (supremum) + * and %CPUFREQ_RELATION_H (infimum) + */ +long imx_compute_mpctl(u32 *new_mpctl, u32 cur_mpctl, unsigned long freq, int relation) +{ + u32 f_ref = (CSCR & CSCR_SYSTEM_SEL) ? 16000000 : (CLK32 * 512); + u32 mfi; + u32 mfn; + u32 mfd; + u32 pd; + unsigned long long ll; + long l; + long quot; + + /* Fdppl=2*Fref*(MFI+MFN/(MFD+1))/(PD+1) */ + /* PD=<0,15>, MFD=<1,1023>, MFI=<5,15> MFN=<0,1022> */ + + if (cur_mpctl) { + mfd = ((cur_mpctl >> 16) & 0x3ff) + 1; + pd = ((cur_mpctl >> 26) & 0xf) + 1; + } else { + pd=2; mfd=313; + } + + /* pd=2; mfd=313; mfi=8; mfn=183; */ + /* (MFI+MFN/(MFD)) = Fdppl / (2*Fref) * (PD); */ + + quot = (f_ref + (1 << 9)) >> 10; + l = (freq * pd + quot) / (2 * quot); + mfi = l >> 10; + mfn = ((l & ((1 << 10) - 1)) * mfd + (1 << 9)) >> 10; + + mfd -= 1; + pd -= 1; + + *new_mpctl = ((mfi & 0xf) << 10) | (mfn & 0x3ff) | ((mfd & 0x3ff) << 16) + | ((pd & 0xf) << 26); + + ll = 2 * (unsigned long long)f_ref * ( (mfi<<16) + (mfn<<16) / (mfd+1) ); + quot = (pd+1) * (1<<16); + ll += quot / 2; + do_div(ll, quot); + freq = ll; + + pr_debug(KERN_DEBUG "imx: new PLL parameters pd=%d mfd=%d mfi=%d mfn=%d, freq=%ld\n", + pd, mfd, mfi, mfn, freq); + + return freq; +} + + +static int imx_verify_speed(struct cpufreq_policy *policy) +{ + if (policy->cpu != 0) + return -EINVAL; + + cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, policy->cpuinfo.max_freq); + + return 0; +} + +static unsigned int imx_get_speed(unsigned int cpu) +{ + unsigned int freq; + unsigned int cr; + unsigned int cscr; + unsigned int bclk_div; + + if (cpu) + return 0; + + cscr = CSCR; + bclk_div = __mfld2val(CSCR_BCLK_DIV, cscr) + 1; + cr = get_cr(); + + if((cr & CR_920T_CLOCK_MODE) == CR_920T_FASTBUS_MODE) { + freq = imx_get_system_clk(); + freq = (freq + bclk_div/2) / bclk_div; + } else { + freq = imx_get_mcu_clk(); + if (cscr & CSCR_MPU_PRESC) + freq /= 2; + } + + freq = (freq + 500) / 1000; + + return freq; +} + +static int imx_set_target(struct cpufreq_policy *policy, + unsigned int target_freq, + unsigned int relation) +{ + struct cpufreq_freqs freqs; + u32 mpctl0 = 0; + u32 cscr; + unsigned long flags; + long freq; + long sysclk; + unsigned int bclk_div = 1; + + freq = target_freq * 1000; + + pr_debug(KERN_DEBUG "imx: requested frequency %ld Hz, mpctl0 at boot 0x%08x\n", + freq, mpctl0_at_boot); + + sysclk = imx_get_system_clk(); + + if (freq > sysclk + 1000000) { + freq = imx_compute_mpctl(&mpctl0, mpctl0_at_boot, freq, relation); + if (freq < 0) { + printk(KERN_WARNING "imx: target frequency %ld Hz cannot be set\n", freq); + return -EINVAL; + } + } else { + if(freq + 1000 < sysclk) { + if (relation == CPUFREQ_RELATION_L) + bclk_div = (sysclk - 1000) / freq; + else + bclk_div = (sysclk + freq + 1000) / freq; + + if(bclk_div > 16) + bclk_div = 16; + } + freq = (sysclk + bclk_div / 2) / bclk_div; + } + + freqs.old = imx_get_speed(0); + freqs.new = (freq + 500) / 1000; + freqs.cpu = 0; + freqs.flags = 0; + + cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); + + local_irq_save(flags); + + imx_set_fastbus_mode(); + + imx_set_mpctl0(mpctl0); + + cscr = CSCR; + cscr &= ~CSCR_BCLK_DIV; + cscr |= __val2mfld(CSCR_BCLK_DIV, bclk_div - 1); + CSCR = cscr; + + if(mpctl0) { + CSCR |= CSCR_MPLL_RESTART; + + /* Wait until MPLL is stablized */ + while( CSCR & CSCR_MPLL_RESTART ); + + imx_set_async_mode(); + } + + local_irq_restore(flags); + + cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); + + pr_debug(KERN_INFO "imx: set frequency %ld Hz, running from %s\n", + freq, mpctl0? "MPLL": "SPLL"); + + return 0; +} + +static int __init imx_cpufreq_driver_init(struct cpufreq_policy *policy) +{ + printk(KERN_INFO "i.MX cpu freq change driver v1.0\n"); + + if (policy->cpu != 0) + return -EINVAL; + + policy->cur = policy->min = policy->max = imx_get_speed(0); + policy->governor = CPUFREQ_DEFAULT_GOVERNOR; + policy->cpuinfo.min_freq = 8000; + policy->cpuinfo.max_freq = 200000; + policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; + return 0; +} + +static struct cpufreq_driver imx_driver = { + .flags = CPUFREQ_STICKY, + .verify = imx_verify_speed, + .target = imx_set_target, + .get = imx_get_speed, + .init = imx_cpufreq_driver_init, + .name = "imx", +}; + +static int __init imx_cpufreq_init(void) +{ + + mpctl0_at_boot = 0; + + if((CSCR & CSCR_MPEN) && + ((get_cr() & CR_920T_CLOCK_MODE) != CR_920T_FASTBUS_MODE)) + mpctl0_at_boot = MPCTL0; + + return cpufreq_register_driver(&imx_driver); +} + +arch_initcall(imx_cpufreq_init); + diff --git a/trunk/arch/arm/mach-netx/time.c b/trunk/arch/arm/mach-netx/time.c index 0993336c0b55..5773b55ef4a6 100644 --- a/trunk/arch/arm/mach-netx/time.c +++ b/trunk/arch/arm/mach-netx/time.c @@ -19,21 +19,14 @@ #include #include +#include +#include #include #include #include #include -/* - * Returns number of us since last clock interrupt. Note that interrupts - * will have been disabled by do_gettimeoffset() - */ -static unsigned long netx_gettimeoffset(void) -{ - return readl(NETX_GPIO_COUNTER_CURRENT(0)) / 100; -} - /* * IRQ handler for the timer */ @@ -43,6 +36,7 @@ netx_timer_interrupt(int irq, void *dev_id) write_seqlock(&xtime_lock); timer_tick(); + write_sequnlock(&xtime_lock); /* acknowledge interrupt */ @@ -51,13 +45,26 @@ netx_timer_interrupt(int irq, void *dev_id) return IRQ_HANDLED; } - static struct irqaction netx_timer_irq = { .name = "NetX Timer Tick", .flags = IRQF_DISABLED | IRQF_TIMER, .handler = netx_timer_interrupt, }; +cycle_t netx_get_cycles(void) +{ + return readl(NETX_GPIO_COUNTER_CURRENT(1)); +} + +static struct clocksource clocksource_netx = { + .name = "netx_timer", + .rating = 200, + .read = netx_get_cycles, + .mask = CLOCKSOURCE_MASK(32), + .shift = 20, + .is_continuous = 1, +}; + /* * Set up timer interrupt */ @@ -80,9 +87,20 @@ static void __init netx_timer_init(void) NETX_GPIO_COUNTER_CTRL(0)); setup_irq(NETX_IRQ_TIMER0, &netx_timer_irq); + + /* Setup timer one for clocksource */ + writel(0, NETX_GPIO_COUNTER_CTRL(1)); + writel(0, NETX_GPIO_COUNTER_CURRENT(1)); + writel(0xFFFFFFFF, NETX_GPIO_COUNTER_MAX(1)); + + writel(NETX_GPIO_COUNTER_CTRL_RUN, + NETX_GPIO_COUNTER_CTRL(1)); + + clocksource_netx.mult = + clocksource_hz2mult(CLOCK_TICK_RATE, clocksource_netx.shift); + clocksource_register(&clocksource_netx); } struct sys_timer netx_timer = { - .init = netx_timer_init, - .offset = netx_gettimeoffset, + .init = netx_timer_init, }; diff --git a/trunk/arch/arm/mach-omap1/Kconfig b/trunk/arch/arm/mach-omap1/Kconfig index d135568dc9e7..8781aaeb576b 100644 --- a/trunk/arch/arm/mach-omap1/Kconfig +++ b/trunk/arch/arm/mach-omap1/Kconfig @@ -43,6 +43,7 @@ config MACH_OMAP_H3 config MACH_OMAP_OSK bool "TI OSK Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX + select TPS65010 help TI OMAP 5912 OSK (OMAP Starter Kit) board support. Say Y here if you have such a board. diff --git a/trunk/arch/arm/mach-omap1/board-osk.c b/trunk/arch/arm/mach-omap1/board-osk.c index 3a622801d7b0..7d0cf7af88ce 100644 --- a/trunk/arch/arm/mach-omap1/board-osk.c +++ b/trunk/arch/arm/mach-omap1/board-osk.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include diff --git a/trunk/arch/arm/mach-pnx4008/Makefile b/trunk/arch/arm/mach-pnx4008/Makefile index b457ca0a431a..777564c90a12 100644 --- a/trunk/arch/arm/mach-pnx4008/Makefile +++ b/trunk/arch/arm/mach-pnx4008/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -obj-y := core.o irq.o time.o clock.o gpio.o serial.o dma.o +obj-y := core.o irq.o time.o clock.o gpio.o serial.o dma.o i2c.o obj-m := obj-n := obj- := diff --git a/trunk/arch/arm/mach-pnx4008/i2c.c b/trunk/arch/arm/mach-pnx4008/i2c.c new file mode 100644 index 000000000000..6f308827c4fe --- /dev/null +++ b/trunk/arch/arm/mach-pnx4008/i2c.c @@ -0,0 +1,167 @@ +/* + * I2C initialization for PNX4008. + * + * Author: Vitaly Wool + * + * 2005-2006 (c) MontaVista Software, Inc. This file is licensed under + * the terms of the GNU General Public License version 2. This program + * is licensed "as is" without any warranty of any kind, whether express + * or implied. + */ + +#include +#include +#include +#include +#include +#include +#include + +static int set_clock_run(struct platform_device *pdev) +{ + struct clk *clk; + char name[10]; + int retval = 0; + + snprintf(name, 10, "i2c%d_ck", pdev->id); + clk = clk_get(&pdev->dev, name); + if (!IS_ERR(clk)) { + clk_set_rate(clk, 1); + clk_put(clk); + } else + retval = -ENOENT; + + return retval; +} + +static int set_clock_stop(struct platform_device *pdev) +{ + struct clk *clk; + char name[10]; + int retval = 0; + + snprintf(name, 10, "i2c%d_ck", pdev->id); + clk = clk_get(&pdev->dev, name); + if (!IS_ERR(clk)) { + clk_set_rate(clk, 0); + clk_put(clk); + } else + retval = -ENOENT; + + return retval; +} + +static int i2c_pnx_suspend(struct platform_device *pdev, pm_message_t state) +{ + int retval = 0; +#ifdef CONFIG_PM + retval = set_clock_run(pdev); +#endif + return retval; +} + +static int i2c_pnx_resume(struct platform_device *pdev) +{ + int retval = 0; +#ifdef CONFIG_PM + retval = set_clock_run(pdev); +#endif + return retval; +} + +static u32 calculate_input_freq(struct platform_device *pdev) +{ + return HCLK_MHZ; +} + + +static struct i2c_pnx_algo_data pnx_algo_data0 = { + .base = PNX4008_I2C1_BASE, + .irq = I2C_1_INT, +}; + +static struct i2c_pnx_algo_data pnx_algo_data1 = { + .base = PNX4008_I2C2_BASE, + .irq = I2C_2_INT, +}; + +static struct i2c_pnx_algo_data pnx_algo_data2 = { + .base = (PNX4008_USB_CONFIG_BASE + 0x300), + .irq = USB_I2C_INT, +}; + +static struct i2c_adapter pnx_adapter0 = { + .name = I2C_CHIP_NAME "0", + .algo_data = &pnx_algo_data0, +}; +static struct i2c_adapter pnx_adapter1 = { + .name = I2C_CHIP_NAME "1", + .algo_data = &pnx_algo_data1, +}; + +static struct i2c_adapter pnx_adapter2 = { + .name = "USB-I2C", + .algo_data = &pnx_algo_data2, +}; + +static struct i2c_pnx_data i2c0_data = { + .suspend = i2c_pnx_suspend, + .resume = i2c_pnx_resume, + .calculate_input_freq = calculate_input_freq, + .set_clock_run = set_clock_run, + .set_clock_stop = set_clock_stop, + .adapter = &pnx_adapter0, +}; + +static struct i2c_pnx_data i2c1_data = { + .suspend = i2c_pnx_suspend, + .resume = i2c_pnx_resume, + .calculate_input_freq = calculate_input_freq, + .set_clock_run = set_clock_run, + .set_clock_stop = set_clock_stop, + .adapter = &pnx_adapter1, +}; + +static struct i2c_pnx_data i2c2_data = { + .suspend = i2c_pnx_suspend, + .resume = i2c_pnx_resume, + .calculate_input_freq = calculate_input_freq, + .set_clock_run = set_clock_run, + .set_clock_stop = set_clock_stop, + .adapter = &pnx_adapter2, +}; + +static struct platform_device i2c0_device = { + .name = "pnx-i2c", + .id = 0, + .dev = { + .platform_data = &i2c0_data, + }, +}; + +static struct platform_device i2c1_device = { + .name = "pnx-i2c", + .id = 1, + .dev = { + .platform_data = &i2c1_data, + }, +}; + +static struct platform_device i2c2_device = { + .name = "pnx-i2c", + .id = 2, + .dev = { + .platform_data = &i2c2_data, + }, +}; + +static struct platform_device *devices[] __initdata = { + &i2c0_device, + &i2c1_device, + &i2c2_device, +}; + +void __init pnx4008_register_i2c_devices(void) +{ + platform_add_devices(devices, ARRAY_SIZE(devices)); +} diff --git a/trunk/arch/arm/mach-pxa/Kconfig b/trunk/arch/arm/mach-pxa/Kconfig index 9e3d0bdcba07..5c0a10041cd1 100644 --- a/trunk/arch/arm/mach-pxa/Kconfig +++ b/trunk/arch/arm/mach-pxa/Kconfig @@ -75,28 +75,28 @@ endmenu config MACH_POODLE bool "Enable Sharp SL-5600 (Poodle) Support" - depends PXA_SHARPSL_25x + depends on PXA_SHARPSL_25x select SHARP_LOCOMO select PXA_SSP config MACH_CORGI bool "Enable Sharp SL-C700 (Corgi) Support" - depends PXA_SHARPSL_25x + depends on PXA_SHARPSL_25x select PXA_SHARP_C7xx config MACH_SHEPHERD bool "Enable Sharp SL-C750 (Shepherd) Support" - depends PXA_SHARPSL_25x + depends on PXA_SHARPSL_25x select PXA_SHARP_C7xx config MACH_HUSKY bool "Enable Sharp SL-C760 (Husky) Support" - depends PXA_SHARPSL_25x + depends on PXA_SHARPSL_25x select PXA_SHARP_C7xx config MACH_AKITA bool "Enable Sharp SL-1000 (Akita) Support" - depends PXA_SHARPSL_27x + depends on PXA_SHARPSL_27x select PXA_SHARP_Cxx00 select MACH_SPITZ select I2C @@ -104,17 +104,17 @@ config MACH_AKITA config MACH_SPITZ bool "Enable Sharp Zaurus SL-3000 (Spitz) Support" - depends PXA_SHARPSL_27x + depends on PXA_SHARPSL_27x select PXA_SHARP_Cxx00 config MACH_BORZOI bool "Enable Sharp Zaurus SL-3100 (Borzoi) Support" - depends PXA_SHARPSL_27x + depends on PXA_SHARPSL_27x select PXA_SHARP_Cxx00 config MACH_TOSA bool "Enable Sharp SL-6000x (Tosa) Support" - depends PXA_SHARPSL_25x + depends on PXA_SHARPSL_25x config PXA25x bool diff --git a/trunk/arch/arm/mach-pxa/time.c b/trunk/arch/arm/mach-pxa/time.c index b91466861029..3775b8f38429 100644 --- a/trunk/arch/arm/mach-pxa/time.c +++ b/trunk/arch/arm/mach-pxa/time.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -48,27 +49,6 @@ static int pxa_set_rtc(void) return 0; } -/* IRQs are disabled before entering here from do_gettimeofday() */ -static unsigned long pxa_gettimeoffset (void) -{ - long ticks_to_match, elapsed, usec; - - /* Get ticks before next timer match */ - ticks_to_match = OSMR0 - OSCR; - - /* We need elapsed ticks since last match */ - elapsed = LATCH - ticks_to_match; - - /* don't get fooled by the workaround in pxa_timer_interrupt() */ - if (elapsed <= 0) - return 0; - - /* Now convert them to usec */ - usec = (unsigned long)(elapsed * (tick_nsec / 1000))/LATCH; - - return usec; -} - #ifdef CONFIG_NO_IDLE_HZ static unsigned long initial_match; static int match_posponed; @@ -121,6 +101,20 @@ static struct irqaction pxa_timer_irq = { .handler = pxa_timer_interrupt, }; +cycle_t pxa_get_cycles(void) +{ + return OSCR; +} + +static struct clocksource clocksource_pxa = { + .name = "pxa_timer", + .rating = 200, + .read = pxa_get_cycles, + .mask = CLOCKSOURCE_MASK(32), + .shift = 20, + .is_continuous = 1, +}; + static void __init pxa_timer_init(void) { struct timespec tv; @@ -139,6 +133,14 @@ static void __init pxa_timer_init(void) OIER = OIER_E0; /* enable match on timer 0 to cause interrupts */ OSMR0 = OSCR + LATCH; /* set initial match */ local_irq_restore(flags); + + /* on PXA OSCR runs continiously and is not written to, so we can use it + * as clock source directly. + */ + clocksource_pxa.mult = + clocksource_hz2mult(CLOCK_TICK_RATE, clocksource_pxa.shift); + clocksource_register(&clocksource_pxa); + } #ifdef CONFIG_NO_IDLE_HZ @@ -211,7 +213,6 @@ struct sys_timer pxa_timer = { .init = pxa_timer_init, .suspend = pxa_timer_suspend, .resume = pxa_timer_resume, - .offset = pxa_gettimeoffset, #ifdef CONFIG_NO_IDLE_HZ .dyn_tick = &pxa_dyn_tick, #endif diff --git a/trunk/arch/arm/mach-pxa/trizeps4.c b/trunk/arch/arm/mach-pxa/trizeps4.c index c1827d021ba8..119c64b7223f 100644 --- a/trunk/arch/arm/mach-pxa/trizeps4.c +++ b/trunk/arch/arm/mach-pxa/trizeps4.c @@ -393,10 +393,6 @@ static struct pxafb_mach_info sharp_lcd = { .pxafb_backlight_power = board_backlight_power, }; -static void __init trizeps4_fixup(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi) -{ -} - static void __init trizeps4_init(void) { platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); @@ -469,7 +465,6 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module") .phys_io = 0x40000000, .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, .boot_params = TRIZEPS4_SDRAM_BASE + 0x100, - .fixup = trizeps4_fixup, .init_machine = trizeps4_init, .map_io = trizeps4_map_io, .init_irq = pxa_init_irq, diff --git a/trunk/arch/arm/mach-realview/core.c b/trunk/arch/arm/mach-realview/core.c index 68c67053f479..84d3fe76e94e 100644 --- a/trunk/arch/arm/mach-realview/core.c +++ b/trunk/arch/arm/mach-realview/core.c @@ -141,6 +141,19 @@ struct platform_device realview_smc91x_device = { .resource = realview_smc91x_resources, }; +static struct resource realview_i2c_resource = { + .start = REALVIEW_I2C_BASE, + .end = REALVIEW_I2C_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, +}; + +struct platform_device realview_i2c_device = { + .name = "versatile-i2c", + .id = -1, + .num_resources = 1, + .resource = &realview_i2c_resource, +}; + #define REALVIEW_SYSMCI (__io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_MCI_OFFSET) static unsigned int realview_mmc_status(struct device *dev) diff --git a/trunk/arch/arm/mach-realview/core.h b/trunk/arch/arm/mach-realview/core.h index 93e86d9f439c..2b53420f9c1b 100644 --- a/trunk/arch/arm/mach-realview/core.h +++ b/trunk/arch/arm/mach-realview/core.h @@ -108,6 +108,7 @@ static struct amba_device name##_device = { \ extern struct platform_device realview_flash_device; extern struct platform_device realview_smc91x_device; +extern struct platform_device realview_i2c_device; extern struct mmc_platform_data realview_mmc0_plat_data; extern struct mmc_platform_data realview_mmc1_plat_data; extern struct clk realview_clcd_clk; diff --git a/trunk/arch/arm/mach-realview/realview_eb.c b/trunk/arch/arm/mach-realview/realview_eb.c index 84a959530fb6..9741b4d3c9cf 100644 --- a/trunk/arch/arm/mach-realview/realview_eb.c +++ b/trunk/arch/arm/mach-realview/realview_eb.c @@ -155,6 +155,7 @@ static void __init realview_eb_init(void) platform_device_register(&realview_flash_device); platform_device_register(&realview_smc91x_device); + platform_device_register(&realview_i2c_device); for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; diff --git a/trunk/arch/arm/mach-sa1100/jornada720.c b/trunk/arch/arm/mach-sa1100/jornada720.c index 17f5a43acdb7..54ecdaa373d6 100644 --- a/trunk/arch/arm/mach-sa1100/jornada720.c +++ b/trunk/arch/arm/mach-sa1100/jornada720.c @@ -1,5 +1,15 @@ /* * linux/arch/arm/mach-sa1100/jornada720.c + * + * HP Jornada720 init code + * + * Copyright (C) 2006 Filip Zyzniewski + * Copyright (C) 2005 Michael Gernoth + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * */ #include @@ -10,13 +20,13 @@ #include #include #include +#include