From 0c946544cb6bd2d6a3cb3bc7f865eca1936df4cb Mon Sep 17 00:00:00 2001 From: Tristan Ye Date: Fri, 27 May 2011 15:19:56 +0800 Subject: [PATCH] --- yaml --- r: 252223 b: refs/heads/master c: 6aea6f5068cb86e89a6ac243c3fc131045b6563a h: refs/heads/master i: 252221: 82d138ba45e830fe5970e0595c765ecb469fabb1 252219: 3731a6b68571a9e1e6b088ae56eb774b8dcd1084 252215: 810d62e91bd1bafd18fd6231c3931be132d4ba1c 252207: 58d3435a308193d882b681aca46ae2c178cebfdc 252191: e999ea06ccedddca5ac303270a156c37d85aa7fa 252159: 75a8dfb29812be21d8acd6dd39046e4c59a31783 v: v3 --- [refs] | 2 +- trunk/.mailmap | 1 - trunk/CREDITS | 8 - .../ABI/{removed => obsolete}/o2cb | 9 +- trunk/Documentation/ABI/testing/sysfs-block | 64 - .../ABI/testing/sysfs-kernel-mm-cleancache | 11 - trunk/Documentation/ABI/testing/sysfs-ptp | 98 - .../Documentation/DocBook/dvb/dvbproperty.xml | 5 +- .../Documentation/DocBook/media-entities.tmpl | 7 +- .../DocBook/v4l/media-controller.xml | 6 +- trunk/Documentation/DocBook/v4l/pixfmt.xml | 1 - .../DocBook/v4l/subdev-formats.xml | 10 +- trunk/Documentation/IRQ-affinity.txt | 17 +- trunk/Documentation/accounting/getdelays.c | 38 +- trunk/Documentation/atomic_ops.txt | 2 +- trunk/Documentation/blockdev/cciss.txt | 15 - trunk/Documentation/cachetlb.txt | 2 +- trunk/Documentation/cgroups/cgroups.txt | 41 +- .../devicetree/bindings/net/fsl-tsec-phy.txt | 54 - .../feature-removal-schedule.txt | 10 + trunk/Documentation/filesystems/9p.txt | 29 +- .../configfs/configfs_example_explicit.c | 6 +- .../configfs/configfs_example_macros.c | 6 +- trunk/Documentation/filesystems/ext4.txt | 4 + trunk/Documentation/filesystems/ocfs2.txt | 8 +- trunk/Documentation/filesystems/proc.txt | 11 +- trunk/Documentation/filesystems/xfs.txt | 6 - trunk/Documentation/hwmon/emc6w201 | 42 - trunk/Documentation/hwmon/f71882fg | 4 - trunk/Documentation/hwmon/fam15h_power | 37 - trunk/Documentation/hwmon/k10temp | 3 +- trunk/Documentation/hwmon/max6650 | 21 +- trunk/Documentation/ioctl/ioctl-number.txt | 1 - .../Documentation/kbuild/kconfig-language.txt | 32 +- trunk/Documentation/kbuild/kconfig.txt | 5 + trunk/Documentation/kernel-parameters.txt | 3 + trunk/Documentation/lockstat.txt | 2 +- trunk/Documentation/mmc/00-INDEX | 2 - trunk/Documentation/mmc/mmc-dev-attrs.txt | 10 - trunk/Documentation/mmc/mmc-dev-parts.txt | 27 - trunk/Documentation/networking/bonding.txt | 13 +- .../Documentation/power/regulator/machine.txt | 4 +- trunk/Documentation/ptp/ptp.txt | 89 - trunk/Documentation/ptp/testptp.c | 381 --- trunk/Documentation/ptp/testptp.mk | 33 - trunk/Documentation/sysctl/kernel.txt | 3 +- .../virtual/uml/UserModeLinux-HOWTO.txt | 10 - trunk/Documentation/vm/cleancache.txt | 278 -- trunk/Documentation/vm/locking | 2 +- trunk/MAINTAINERS | 68 +- trunk/Makefile | 17 +- trunk/arch/Kconfig | 3 - trunk/arch/alpha/Kconfig | 8 +- trunk/arch/alpha/include/asm/gpio.h | 55 - trunk/arch/alpha/include/asm/smp.h | 2 + trunk/arch/alpha/kernel/process.c | 2 +- trunk/arch/alpha/kernel/setup.c | 2 +- trunk/arch/alpha/kernel/smp.c | 7 +- trunk/arch/alpha/kernel/sys_dp264.c | 2 +- trunk/arch/alpha/kernel/sys_titan.c | 13 +- trunk/arch/alpha/mm/init.c | 2 + trunk/arch/alpha/mm/numa.c | 1 - trunk/arch/arm/Kconfig.debug | 7 + trunk/arch/arm/configs/omap2plus_defconfig | 83 +- trunk/arch/arm/include/asm/bitops.h | 46 +- trunk/arch/arm/include/asm/smp.h | 6 + trunk/arch/arm/include/asm/tlb.h | 53 +- .../arm/mach-ixp4xx/include/mach/ixp46x_ts.h | 78 - trunk/arch/arm/mach-omap2/Kconfig | 1 - trunk/arch/arm/mach-omap2/Makefile | 4 +- trunk/arch/arm/mach-omap2/board-2430sdp.c | 27 +- trunk/arch/arm/mach-omap2/board-3430sdp.c | 155 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 125 +- trunk/arch/arm/mach-omap2/board-am3517crane.c | 10 +- trunk/arch/arm/mach-omap2/board-am3517evm.c | 60 +- trunk/arch/arm/mach-omap2/board-apollon.c | 29 +- trunk/arch/arm/mach-omap2/board-cm-t35.c | 240 +- trunk/arch/arm/mach-omap2/board-cm-t3517.c | 9 +- trunk/arch/arm/mach-omap2/board-devkit8000.c | 135 +- trunk/arch/arm/mach-omap2/board-igep0020.c | 453 ++- trunk/arch/arm/mach-omap2/board-igep0030.c | 458 +++ trunk/arch/arm/mach-omap2/board-ldp.c | 138 +- trunk/arch/arm/mach-omap2/board-n8x0.c | 28 +- trunk/arch/arm/mach-omap2/board-omap3beagle.c | 198 +- trunk/arch/arm/mach-omap2/board-omap3evm.c | 246 +- trunk/arch/arm/mach-omap2/board-omap3logic.c | 14 +- .../arch/arm/mach-omap2/board-omap3pandora.c | 92 +- .../arch/arm/mach-omap2/board-omap3stalker.c | 137 +- .../arm/mach-omap2/board-omap3touchbook.c | 121 +- trunk/arch/arm/mach-omap2/board-omap4panda.c | 83 +- trunk/arch/arm/mach-omap2/board-overo.c | 269 +- trunk/arch/arm/mach-omap2/board-rm680.c | 21 +- .../arm/mach-omap2/board-rx51-peripherals.c | 71 +- trunk/arch/arm/mach-omap2/board-rx51-video.c | 7 +- trunk/arch/arm/mach-omap2/board-rx51.c | 18 +- .../arm/mach-omap2/board-zoom-debugboard.c | 65 +- .../arch/arm/mach-omap2/board-zoom-display.c | 33 +- .../arm/mach-omap2/board-zoom-peripherals.c | 29 +- .../arm/mach-omap2/common-board-devices.c | 163 -- .../arm/mach-omap2/common-board-devices.h | 35 - trunk/arch/arm/mach-omap2/cpuidle34xx.c | 436 ++- trunk/arch/arm/mach-omap2/display.c | 77 +- trunk/arch/arm/mach-omap2/gpmc-smc91x.c | 11 +- trunk/arch/arm/mach-omap2/gpmc-smsc911x.c | 44 +- .../arm/mach-omap2/include/mach/board-zoom.h | 2 +- trunk/arch/arm/mach-omap2/omap_l3_noc.c | 51 +- trunk/arch/arm/mach-omap2/omap_l3_smx.c | 42 +- trunk/arch/arm/mach-omap2/omap_phy_internal.c | 9 +- trunk/arch/arm/mach-omap2/pm.h | 17 +- trunk/arch/arm/mach-omap2/pm34xx.c | 14 + trunk/arch/arm/mach-omap2/pm44xx.c | 2 + trunk/arch/arm/mach-omap2/smartreflex.c | 23 +- trunk/arch/arm/mach-omap2/usb-musb.c | 22 +- trunk/arch/arm/mach-omap2/usb-tusb6010.c | 3 +- trunk/arch/arm/mach-omap2/voltage.c | 1 + trunk/arch/arm/mach-shmobile/Makefile | 5 - trunk/arch/arm/mach-shmobile/board-ag5evm.c | 118 - trunk/arch/arm/mach-shmobile/board-ap4evb.c | 30 +- trunk/arch/arm/mach-shmobile/board-g4evm.c | 2 +- trunk/arch/arm/mach-shmobile/board-mackerel.c | 272 +- trunk/arch/arm/mach-shmobile/clock-sh7372.c | 21 +- trunk/arch/arm/mach-shmobile/clock-sh73a0.c | 19 +- trunk/arch/arm/mach-shmobile/cpuidle.c | 92 - trunk/arch/arm/mach-shmobile/headsmp.S | 2 +- .../arm/mach-shmobile/include/mach/common.h | 7 - .../include/mach/head-ap4evb.txt | 3 +- .../include/mach/head-mackerel.txt | 3 +- .../arm/mach-shmobile/include/mach/sh7372.h | 1 - .../arm/mach-shmobile/include/mach/sh73a0.h | 30 - trunk/arch/arm/mach-shmobile/intc-sh7372.c | 46 +- trunk/arch/arm/mach-shmobile/pm-sh7372.c | 108 - trunk/arch/arm/mach-shmobile/setup-sh7367.c | 223 -- trunk/arch/arm/mach-shmobile/setup-sh7372.c | 217 -- trunk/arch/arm/mach-shmobile/setup-sh7377.c | 239 +- trunk/arch/arm/mach-shmobile/setup-sh73a0.c | 244 -- trunk/arch/arm/mach-shmobile/sleep-sh7372.S | 260 -- trunk/arch/arm/mach-shmobile/smp-sh73a0.c | 9 +- trunk/arch/arm/mach-shmobile/suspend.c | 47 - .../arch/arm/mach-tegra/include/mach/sdhci.h | 1 - trunk/arch/arm/mach-ux500/Kconfig | 3 - trunk/arch/arm/mach-ux500/Makefile | 4 +- trunk/arch/arm/mach-ux500/cpu-db5500.c | 2 - trunk/arch/arm/mach-ux500/cpu-db8500.c | 7 - trunk/arch/arm/mach-ux500/cpu.c | 7 +- trunk/arch/arm/mach-ux500/cpufreq.c | 211 ++ .../arm/mach-ux500/include/mach/db5500-regs.h | 20 +- .../arm/mach-ux500/include/mach/db8500-regs.h | 37 +- .../arm/mach-ux500/include/mach/hardware.h | 1 - trunk/arch/arm/mach-ux500/include/mach/id.h | 20 - .../include/mach/irqs-board-mop500.h | 5 - .../include/mach/irqs-board-u5500.h | 21 - .../arm/mach-ux500/include/mach/irqs-db5500.h | 27 - .../arm/mach-ux500/include/mach/irqs-db8500.h | 54 - trunk/arch/arm/mach-ux500/include/mach/irqs.h | 46 +- .../arm/mach-ux500/include/mach/prcmu-defs.h | 30 + .../arm/mach-ux500/include/mach/prcmu-regs.h} | 27 +- .../arch/arm/mach-ux500/include/mach/prcmu.h | 28 + trunk/arch/arm/mach-ux500/prcmu.c | 394 +++ trunk/arch/arm/mm/init.c | 2 +- trunk/arch/arm/mm/mmu.c | 2 + .../arm/plat-omap/include/plat/display.h} | 114 +- .../plat-omap/include/plat/gpmc-smsc911x.h | 4 +- .../plat-omap/include/plat/nokia-dsi-panel.h} | 14 +- .../include/plat/panel-generic-dpi.h} | 8 +- .../arm/plat-omap/include/plat/uncompress.h | 1 + trunk/arch/arm/plat-omap/include/plat/usb.h | 2 +- trunk/arch/avr32/include/asm/bitops.h | 15 - trunk/arch/avr32/mm/init.c | 2 + trunk/arch/blackfin/Kconfig | 5 +- trunk/arch/blackfin/Kconfig.debug | 11 +- .../blackfin/configs/BF527-EZKIT-V2_defconfig | 12 +- .../blackfin/configs/BF527-EZKIT_defconfig | 14 +- .../blackfin/configs/BF533-STAMP_defconfig | 2 + .../blackfin/configs/BF537-STAMP_defconfig | 2 + trunk/arch/blackfin/include/asm/bfin-global.h | 10 + trunk/arch/blackfin/include/asm/bfin_pfmon.h | 44 - trunk/arch/blackfin/include/asm/bfin_sport.h | 4 - trunk/arch/blackfin/include/asm/cacheflush.h | 23 +- trunk/arch/blackfin/include/asm/cpu.h | 3 + .../blackfin/include/asm/def_LPBlackfin.h | 12 +- trunk/arch/blackfin/include/asm/irq_handler.h | 25 - trunk/arch/blackfin/include/asm/kgdb.h | 7 +- trunk/arch/blackfin/include/asm/perf_event.h | 1 - trunk/arch/blackfin/include/asm/ptrace.h | 7 +- trunk/arch/blackfin/include/mach-common/irq.h | 57 - trunk/arch/blackfin/kernel/Makefile | 3 - trunk/arch/blackfin/kernel/bfin_dma_5xx.c | 5 - trunk/arch/blackfin/kernel/bfin_gpio.c | 34 +- trunk/arch/blackfin/kernel/bfin_ksyms.c | 1 - trunk/arch/blackfin/kernel/debug-mmrs.c | 1860 ------------ trunk/arch/blackfin/kernel/ipipe.c | 1 - trunk/arch/blackfin/kernel/irqchip.c | 1 - trunk/arch/blackfin/kernel/nmi.c | 8 +- trunk/arch/blackfin/kernel/perf_event.c | 498 ---- trunk/arch/blackfin/kernel/process.c | 6 +- trunk/arch/blackfin/kernel/reboot.c | 65 +- trunk/arch/blackfin/kernel/setup.c | 54 +- trunk/arch/blackfin/kernel/vmlinux.lds.S | 8 +- .../mach-bf518/include/mach/anomaly.h | 4 +- .../mach-bf518/include/mach/cdefBF512.h | 16 +- .../mach-bf518/include/mach/defBF512.h | 8 +- .../blackfin/mach-bf518/include/mach/irq.h | 262 +- trunk/arch/blackfin/mach-bf527/boards/ezkit.c | 74 +- .../mach-bf527/include/mach/anomaly.h | 8 +- .../mach-bf527/include/mach/cdefBF522.h | 16 +- .../mach-bf527/include/mach/defBF522.h | 8 +- .../blackfin/mach-bf527/include/mach/irq.h | 266 +- .../mach-bf533/include/mach/anomaly.h | 11 +- .../blackfin/mach-bf533/include/mach/irq.h | 168 +- trunk/arch/blackfin/mach-bf537/boards/stamp.c | 106 +- .../mach-bf537/include/mach/anomaly.h | 10 +- .../blackfin/mach-bf537/include/mach/irq.h | 365 +-- .../arch/blackfin/mach-bf537/ints-priority.c | 163 -- .../mach-bf538/include/mach/anomaly.h | 9 +- .../blackfin/mach-bf538/include/mach/irq.h | 89 +- trunk/arch/blackfin/mach-bf548/boards/ezkit.c | 116 +- .../mach-bf548/include/mach/anomaly.h | 8 +- .../blackfin/mach-bf548/include/mach/irq.h | 89 +- trunk/arch/blackfin/mach-bf561/boards/ezkit.c | 10 +- .../mach-bf561/include/mach/anomaly.h | 15 +- .../blackfin/mach-bf561/include/mach/irq.h | 505 ++-- trunk/arch/blackfin/mach-bf561/smp.c | 17 +- trunk/arch/blackfin/mach-common/dpmc.c | 7 +- .../arch/blackfin/mach-common/ints-priority.c | 476 +++- trunk/arch/blackfin/mach-common/smp.c | 28 +- trunk/arch/blackfin/mm/sram-alloc.c | 43 +- trunk/arch/cris/Kconfig | 4 + trunk/arch/cris/arch-v32/kernel/irq.c | 4 +- trunk/arch/cris/arch-v32/kernel/smp.c | 33 +- trunk/arch/cris/mm/init.c | 2 + trunk/arch/frv/Kconfig | 8 + trunk/arch/frv/mm/init.c | 2 + trunk/arch/h8300/Kconfig | 8 + trunk/arch/ia64/Kconfig | 4 + trunk/arch/ia64/include/asm/tlb.h | 66 +- trunk/arch/ia64/kernel/time.c | 2 +- trunk/arch/ia64/mm/contig.c | 10 +- trunk/arch/ia64/mm/discontig.c | 10 +- trunk/arch/ia64/mm/init.c | 2 + trunk/arch/m32r/Kconfig | 8 + trunk/arch/m32r/Kconfig.debug | 9 + trunk/arch/m32r/include/asm/smp.h | 6 +- trunk/arch/m32r/kernel/smp.c | 64 +- trunk/arch/m32r/kernel/smpboot.c | 48 +- trunk/arch/m32r/mm/discontig.c | 1 - trunk/arch/m32r/mm/init.c | 2 + trunk/arch/m68k/Kconfig.nommu | 4 + trunk/arch/m68k/include/asm/bitops_mm.h | 8 - trunk/arch/m68k/include/asm/bitops_no.h | 4 - trunk/arch/m68k/mm/init_mm.c | 2 + trunk/arch/microblaze/Kconfig | 6 + trunk/arch/microblaze/mm/init.c | 2 + trunk/arch/mips/Kconfig | 8 + trunk/arch/mips/Kconfig.debug | 9 + trunk/arch/mips/configs/bcm47xx_defconfig | 1 + trunk/arch/mips/mm/init.c | 2 + trunk/arch/mn10300/Kconfig | 3 + trunk/arch/mn10300/configs/asb2364_defconfig | 1 + trunk/arch/mn10300/kernel/irq.c | 16 +- trunk/arch/mn10300/kernel/smp.c | 75 +- trunk/arch/mn10300/mm/cache-smp.c | 8 +- trunk/arch/mn10300/mm/init.c | 2 + trunk/arch/mn10300/mm/tlb-smp.c | 32 +- trunk/arch/parisc/Kconfig | 8 + trunk/arch/parisc/include/asm/smp.h | 9 + trunk/arch/parisc/mm/init.c | 4 +- trunk/arch/powerpc/Kconfig | 10 +- trunk/arch/powerpc/Kconfig.debug | 21 + trunk/arch/powerpc/boot/dts/canyonlands.dts | 18 - trunk/arch/powerpc/boot/dts/katmai.dts | 18 - trunk/arch/powerpc/boot/dts/kilauea.dts | 28 - trunk/arch/powerpc/boot/dts/mpc8313erdb.dts | 13 - trunk/arch/powerpc/boot/dts/mpc8572ds.dts | 13 - trunk/arch/powerpc/boot/dts/p2020ds.dts | 13 - trunk/arch/powerpc/boot/dts/p2020rdb.dts | 13 - trunk/arch/powerpc/boot/dts/redwood.dts | 20 - trunk/arch/powerpc/configs/ppc6xx_defconfig | 1 + trunk/arch/powerpc/configs/pseries_defconfig | 1 + trunk/arch/powerpc/include/asm/fsl_lbc.h | 2 - trunk/arch/powerpc/include/asm/ftrace.h | 14 - trunk/arch/powerpc/include/asm/hvcall.h | 2 +- trunk/arch/powerpc/include/asm/pgalloc.h | 21 +- trunk/arch/powerpc/include/asm/rio.h | 5 - trunk/arch/powerpc/include/asm/smp.h | 2 + trunk/arch/powerpc/include/asm/syscall.h | 5 - trunk/arch/powerpc/include/asm/thread_info.h | 9 +- trunk/arch/powerpc/kernel/Makefile | 1 - trunk/arch/powerpc/kernel/ftrace.c | 8 - trunk/arch/powerpc/kernel/irq.c | 46 +- trunk/arch/powerpc/kernel/process.c | 23 +- trunk/arch/powerpc/kernel/ptrace.c | 10 - trunk/arch/powerpc/kernel/smp.c | 2 +- trunk/arch/powerpc/kernel/traps.c | 13 - trunk/arch/powerpc/mm/pgtable.c | 104 + trunk/arch/powerpc/mm/tlb_hash32.c | 3 + trunk/arch/powerpc/mm/tlb_hash64.c | 5 +- trunk/arch/powerpc/mm/tlb_nohash.c | 3 + trunk/arch/powerpc/oprofile/op_model_power4.c | 24 +- trunk/arch/powerpc/platforms/40x/Kconfig | 2 - trunk/arch/powerpc/platforms/44x/Kconfig | 6 - trunk/arch/powerpc/platforms/cell/interrupt.c | 55 +- trunk/arch/powerpc/platforms/cell/interrupt.h | 2 +- trunk/arch/powerpc/platforms/cell/smp.c | 2 +- trunk/arch/powerpc/sysdev/Kconfig | 7 - trunk/arch/powerpc/sysdev/Makefile | 1 - trunk/arch/powerpc/sysdev/fsl_lbc.c | 9 +- trunk/arch/powerpc/sysdev/fsl_rio.c | 100 +- trunk/arch/powerpc/sysdev/ppc4xx_msi.c | 276 -- trunk/arch/s390/Kconfig | 2 +- trunk/arch/s390/appldata/appldata_mem.c | 2 + trunk/arch/s390/include/asm/bitops.h | 45 +- trunk/arch/s390/include/asm/delay.h | 8 +- trunk/arch/s390/include/asm/irq.h | 8 - trunk/arch/s390/include/asm/s390_ext.h | 17 + trunk/arch/s390/include/asm/tlb.h | 62 +- trunk/arch/s390/include/asm/topology.h | 4 +- trunk/arch/s390/include/asm/uaccess.h | 11 +- trunk/arch/s390/kernel/Makefile | 8 +- trunk/arch/s390/kernel/dis.c | 2 +- trunk/arch/s390/kernel/irq.c | 137 +- trunk/arch/s390/kernel/s390_ext.c | 108 + trunk/arch/s390/kernel/smp.c | 1 + trunk/arch/s390/kernel/time.c | 1 + trunk/arch/s390/kernel/topology.c | 1 + trunk/arch/s390/kernel/traps.c | 1 + trunk/arch/s390/kernel/vtime.c | 2 +- trunk/arch/s390/lib/delay.c | 15 - trunk/arch/s390/mm/fault.c | 62 +- trunk/arch/s390/mm/init.c | 2 + trunk/arch/s390/mm/pgtable.c | 1 + trunk/arch/s390/oprofile/hwsampler.c | 4 +- trunk/arch/score/Kconfig | 3 + trunk/arch/score/Kconfig.debug | 9 + trunk/arch/score/mm/init.c | 2 + trunk/arch/sh/Kconfig | 6 + trunk/arch/sh/Kconfig.debug | 9 + trunk/arch/sh/configs/apsh4ad0a_defconfig | 1 + trunk/arch/sh/configs/sdk7786_defconfig | 1 + trunk/arch/sh/configs/se7206_defconfig | 1 + trunk/arch/sh/configs/shx3_defconfig | 1 + trunk/arch/sh/configs/urquell_defconfig | 1 + trunk/arch/sh/include/asm/kgdb.h | 1 - trunk/arch/sh/include/asm/ptrace.h | 6 +- trunk/arch/sh/include/asm/tlb.h | 28 +- trunk/arch/sh/mm/init.c | 1 + trunk/arch/sparc/Kconfig | 8 + trunk/arch/sparc/Kconfig.debug | 9 + trunk/arch/sparc/include/asm/pgalloc_64.h | 3 - trunk/arch/sparc/include/asm/pgtable_64.h | 15 +- trunk/arch/sparc/include/asm/tlb_64.h | 91 +- trunk/arch/sparc/include/asm/tlbflush_64.h | 12 +- trunk/arch/sparc/kernel/setup_32.c | 2 +- trunk/arch/sparc/mm/init_32.c | 4 +- trunk/arch/sparc/mm/tlb.c | 43 +- trunk/arch/sparc/mm/tsb.c | 15 +- trunk/arch/tile/Kconfig | 9 +- trunk/arch/tile/Kconfig.debug | 9 + trunk/arch/tile/configs/tile_defconfig | 71 + trunk/arch/tile/configs/tilegx_defconfig | 1833 ------------ trunk/arch/tile/configs/tilepro_defconfig | 1163 -------- trunk/arch/tile/include/arch/chip_tilegx.h | 258 -- trunk/arch/tile/include/arch/icache.h | 11 +- trunk/arch/tile/include/arch/interrupts_64.h | 276 -- trunk/arch/tile/include/arch/spr_def.h | 13 +- trunk/arch/tile/include/arch/spr_def_64.h | 173 -- trunk/arch/tile/include/asm/atomic.h | 49 +- trunk/arch/tile/include/asm/atomic_32.h | 10 + trunk/arch/tile/include/asm/atomic_64.h | 156 - trunk/arch/tile/include/asm/backtrace.h | 82 +- trunk/arch/tile/include/asm/bitops.h | 1 - trunk/arch/tile/include/asm/bitops_32.h | 1 + trunk/arch/tile/include/asm/bitops_64.h | 105 - trunk/arch/tile/include/asm/cacheflush.h | 18 +- trunk/arch/tile/include/asm/compat.h | 4 +- trunk/arch/tile/include/asm/dma-mapping.h | 3 +- trunk/arch/tile/include/asm/fb.h | 1 - trunk/arch/tile/include/asm/io.h | 18 - trunk/arch/tile/include/asm/irq.h | 2 - trunk/arch/tile/include/asm/mmu_context.h | 4 +- trunk/arch/tile/include/asm/opcode-tile_32.h | 7 - trunk/arch/tile/include/asm/opcode-tile_64.h | 1500 ++++++---- .../tile/include/asm/opcode_constants_64.h | 1043 +++---- trunk/arch/tile/include/asm/page.h | 18 +- trunk/arch/tile/include/asm/parport.h | 1 - trunk/arch/tile/include/asm/pci.h | 3 +- trunk/arch/tile/include/asm/pgtable_64.h | 175 -- trunk/arch/tile/include/asm/processor.h | 9 +- trunk/arch/tile/include/asm/serial.h | 1 - trunk/arch/tile/include/asm/signal.h | 4 - trunk/arch/tile/include/asm/spinlock_64.h | 161 -- trunk/arch/tile/include/asm/stat.h | 2 +- trunk/arch/tile/include/asm/swab.h | 6 + trunk/arch/tile/include/asm/thread_info.h | 5 +- trunk/arch/tile/include/asm/topology.h | 75 +- trunk/arch/tile/include/asm/traps.h | 4 - trunk/arch/tile/include/asm/unistd.h | 2 +- trunk/arch/tile/include/hv/hypervisor.h | 12 +- .../tile/include/{asm/vga.h => hv/pagesize.h} | 35 +- trunk/arch/tile/kernel/backtrace.c | 103 +- trunk/arch/tile/kernel/compat.c | 13 +- trunk/arch/tile/kernel/compat_signal.c | 4 +- trunk/arch/tile/kernel/futex_64.S | 55 - trunk/arch/tile/kernel/hardwall.c | 6 +- trunk/arch/tile/kernel/head_64.S | 269 -- trunk/arch/tile/kernel/intvec_32.S | 175 +- trunk/arch/tile/kernel/intvec_64.S | 1231 -------- trunk/arch/tile/kernel/module.c | 8 +- trunk/arch/tile/kernel/pci-dma.c | 2 +- trunk/arch/tile/kernel/pci.c | 206 +- trunk/arch/tile/kernel/process.c | 52 +- trunk/arch/tile/kernel/regs_64.S | 145 - trunk/arch/tile/kernel/setup.c | 6 - trunk/arch/tile/kernel/signal.c | 128 +- trunk/arch/tile/kernel/single_step.c | 12 - trunk/arch/tile/kernel/stack.c | 14 +- trunk/arch/tile/kernel/sys.c | 9 + trunk/arch/tile/kernel/tile-desc_32.c | 11 +- trunk/arch/tile/kernel/tile-desc_64.c | 2200 --------------- trunk/arch/tile/kernel/time.c | 2 - trunk/arch/tile/kernel/tlb.c | 12 +- trunk/arch/tile/kernel/traps.c | 1 - trunk/arch/tile/lib/atomic_asm_32.S | 2 +- trunk/arch/tile/lib/cacheflush.c | 18 - trunk/arch/tile/lib/memchr_64.c | 71 - trunk/arch/tile/lib/memcpy_64.c | 220 -- trunk/arch/tile/lib/memcpy_user_64.c | 86 - trunk/arch/tile/lib/memset_64.c | 145 - trunk/arch/tile/lib/spinlock_64.c | 104 - trunk/arch/tile/lib/strchr_64.c | 67 - trunk/arch/tile/lib/strlen_64.c | 38 - trunk/arch/tile/lib/usercopy_64.S | 196 -- trunk/arch/tile/mm/fault.c | 30 +- trunk/arch/tile/mm/init.c | 2 + trunk/arch/tile/mm/migrate_64.S | 187 -- trunk/arch/um/Kconfig.debug | 16 +- trunk/arch/um/Kconfig.x86 | 1 + trunk/arch/um/drivers/Makefile | 4 +- trunk/arch/um/drivers/mcast.h | 24 + trunk/arch/um/drivers/mcast_kern.c | 120 + trunk/arch/um/drivers/mcast_user.c | 165 ++ trunk/arch/um/drivers/umcast.h | 27 - trunk/arch/um/drivers/umcast_kern.c | 188 -- trunk/arch/um/drivers/umcast_user.c | 186 -- trunk/arch/um/drivers/xterm.c | 2 +- trunk/arch/um/include/asm/processor-generic.h | 2 - trunk/arch/um/include/asm/smp.h | 1 + trunk/arch/um/include/asm/tlb.h | 29 +- trunk/arch/um/include/shared/os.h | 7 - trunk/arch/um/kernel/Makefile | 1 - trunk/arch/um/kernel/early_printk.c | 33 - trunk/arch/um/kernel/smp.c | 3 + trunk/arch/um/kernel/trap.c | 24 - trunk/arch/um/os-Linux/main.c | 3 +- trunk/arch/um/os-Linux/process.c | 1 - trunk/arch/um/os-Linux/util.c | 5 - trunk/arch/unicore32/Kconfig.debug | 7 + trunk/arch/unicore32/mm/init.c | 2 +- trunk/arch/unicore32/mm/mmu.c | 2 + trunk/arch/x86/Kconfig | 4 +- trunk/arch/x86/Kconfig.debug | 20 + trunk/arch/x86/configs/i386_defconfig | 1 + trunk/arch/x86/configs/x86_64_defconfig | 1 + trunk/arch/x86/include/asm/io.h | 24 +- trunk/arch/x86/include/asm/kgdb.h | 1 - trunk/arch/x86/include/asm/ptrace.h | 18 +- trunk/arch/x86/include/asm/tsc.h | 4 - trunk/arch/x86/include/asm/vdso.h | 14 + trunk/arch/x86/include/asm/vgtod.h | 2 + trunk/arch/x86/include/asm/vsyscall.h | 12 +- trunk/arch/x86/include/asm/vvar.h | 52 - trunk/arch/x86/include/asm/xen/hypercall.h | 7 - trunk/arch/x86/kernel/Makefile | 8 +- trunk/arch/x86/kernel/setup.c | 2 - trunk/arch/x86/kernel/tboot.c | 1 + trunk/arch/x86/kernel/time.c | 2 +- trunk/arch/x86/kernel/tsc.c | 19 + trunk/arch/x86/kernel/vmlinux.lds.S | 34 +- trunk/arch/x86/kernel/vread_tsc_64.c | 36 - trunk/arch/x86/kernel/vsyscall_64.c | 48 +- trunk/arch/x86/kvm/mmu.c | 3 +- trunk/arch/x86/mm/fault.c | 12 +- trunk/arch/x86/mm/hugetlbpage.c | 4 +- trunk/arch/x86/mm/init.c | 2 + trunk/arch/x86/vdso/Makefile | 17 +- trunk/arch/x86/vdso/vclock_gettime.c | 74 +- trunk/arch/x86/vdso/vdso.lds.S | 9 +- trunk/arch/x86/vdso/vextern.h | 16 + trunk/arch/x86/vdso/vgetcpu.c | 3 +- trunk/arch/x86/vdso/vma.c | 27 + trunk/arch/x86/vdso/vvar.c | 12 + trunk/arch/x86/xen/mmu.c | 284 +- trunk/arch/x86/xen/mmu.h | 37 + trunk/arch/xtensa/Kconfig | 6 + trunk/arch/xtensa/include/asm/page.h | 4 + trunk/arch/xtensa/mm/mmu.c | 2 + trunk/arch/xtensa/mm/pgtable.c | 72 + trunk/block/blk-cgroup.c | 218 +- trunk/block/blk-cgroup.h | 40 +- trunk/block/blk-core.c | 32 +- trunk/block/blk-exec.c | 2 +- trunk/block/blk-flush.c | 16 +- trunk/block/blk-ioc.c | 3 - trunk/block/blk-lib.c | 82 +- trunk/block/blk-settings.c | 9 +- trunk/block/blk-sysfs.c | 3 +- trunk/block/blk-throttle.c | 313 +- trunk/block/blk.h | 23 +- trunk/block/cfq-iosched.c | 232 +- trunk/block/elevator.c | 11 +- trunk/drivers/Kconfig | 2 - trunk/drivers/Makefile | 3 +- trunk/drivers/acpi/Kconfig | 11 + trunk/drivers/acpi/Makefile | 1 + trunk/drivers/acpi/apei/einj.c | 8 - trunk/drivers/acpi/atomicio.c | 4 - .../acpi_power_meter.c => acpi/power_meter.c} | 0 trunk/drivers/ata/libata-scsi.c | 13 +- trunk/drivers/base/node.c | 14 +- trunk/drivers/bcma/host_pci.c | 2 - trunk/drivers/block/Kconfig | 21 - trunk/drivers/block/Makefile | 1 - trunk/drivers/block/cciss.c | 571 +--- trunk/drivers/block/cciss.h | 11 +- trunk/drivers/block/cciss_cmd.h | 11 - trunk/drivers/block/cciss_scsi.c | 41 +- trunk/drivers/block/cciss_scsi.h | 4 + trunk/drivers/block/drbd/drbd_actlog.c | 2 +- trunk/drivers/block/drbd/drbd_bitmap.c | 6 +- trunk/drivers/block/drbd/drbd_int.h | 19 +- trunk/drivers/block/drbd/drbd_main.c | 37 +- trunk/drivers/block/drbd/drbd_nl.c | 127 +- trunk/drivers/block/drbd/drbd_receiver.c | 68 +- trunk/drivers/block/drbd/drbd_req.c | 20 +- trunk/drivers/block/drbd/drbd_req.h | 5 +- trunk/drivers/block/drbd/drbd_worker.c | 98 +- trunk/drivers/block/loop.c | 11 +- trunk/drivers/block/paride/pcd.c | 2 - trunk/drivers/block/rbd.c | 27 +- trunk/drivers/block/xen-blkback/Makefile | 3 - trunk/drivers/block/xen-blkback/blkback.c | 824 ------ trunk/drivers/block/xen-blkback/common.h | 233 -- trunk/drivers/block/xen-blkback/xenbus.c | 768 ----- trunk/drivers/block/xen-blkfront.c | 51 +- trunk/drivers/cdrom/viocd.c | 4 +- trunk/drivers/char/i8k.c | 166 +- trunk/drivers/char/ipmi/ipmi_msghandler.c | 138 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 88 +- trunk/drivers/char/mspec.c | 5 +- trunk/drivers/char/ppdev.c | 1 - trunk/drivers/cpufreq/Makefile | 2 - trunk/drivers/cpufreq/db8500-cpufreq.c | 169 -- trunk/drivers/dma/shdma.c | 42 +- trunk/drivers/dma/shdma.h | 2 +- trunk/drivers/dma/timb_dma.c | 3 +- trunk/drivers/edac/amd76x_edac.c | 2 +- trunk/drivers/edac/amd8111_edac.c | 2 +- trunk/drivers/edac/amd8131_edac.c | 2 +- trunk/drivers/edac/cpc925_edac.c | 2 +- trunk/drivers/edac/e752x_edac.c | 2 +- trunk/drivers/edac/e7xxx_edac.c | 2 +- trunk/drivers/edac/edac_core.h | 12 + trunk/drivers/edac/edac_device.c | 24 +- trunk/drivers/edac/edac_mc.c | 16 +- trunk/drivers/edac/edac_module.c | 2 +- trunk/drivers/edac/edac_pci.c | 21 +- trunk/drivers/edac/i3200_edac.c | 13 - trunk/drivers/edac/i5000_edac.c | 2 +- trunk/drivers/edac/i5400_edac.c | 2 +- trunk/drivers/edac/i7300_edac.c | 2 +- trunk/drivers/edac/i7core_edac.c | 2 +- trunk/drivers/edac/i82860_edac.c | 2 +- trunk/drivers/edac/i82875p_edac.c | 2 +- trunk/drivers/edac/i82975x_edac.c | 2 +- trunk/drivers/edac/mpc85xx_edac.h | 2 +- trunk/drivers/edac/mv64x60_edac.h | 2 +- trunk/drivers/edac/ppc4xx_edac.c | 2 +- trunk/drivers/edac/r82600_edac.c | 2 +- trunk/drivers/gpio/Kconfig | 30 +- trunk/drivers/gpio/Makefile | 8 +- trunk/drivers/gpio/basic_mmio_gpio.c | 517 +--- trunk/drivers/gpio/gpiolib.c | 19 +- trunk/drivers/gpio/janz-ttl.c | 3 +- trunk/drivers/gpio/ml_ioh_gpio.c | 3 - trunk/drivers/gpio/pca953x.c | 2 +- trunk/drivers/gpio/rdc321x-gpio.c | 3 +- trunk/drivers/gpio/timbgpio.c | 6 +- trunk/drivers/gpio/tps65910-gpio.c | 100 - trunk/drivers/gpio/vx855_gpio.c | 1 - trunk/drivers/gpu/drm/i915/i915_gem.c | 9 +- trunk/drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +- trunk/drivers/hwmon/Kconfig | 42 +- trunk/drivers/hwmon/Makefile | 3 - trunk/drivers/hwmon/abituguru.c | 3 + trunk/drivers/hwmon/abituguru3.c | 13 + trunk/drivers/hwmon/adcxx.c | 16 +- trunk/drivers/hwmon/coretemp.c | 16 +- trunk/drivers/hwmon/emc6w201.c | 539 ---- trunk/drivers/hwmon/f71882fg.c | 115 +- trunk/drivers/hwmon/fam15h_power.c | 229 -- trunk/drivers/hwmon/ibmaem.c | 10 +- trunk/drivers/hwmon/it87.c | 31 +- trunk/drivers/hwmon/jc42.c | 2 +- trunk/drivers/hwmon/k10temp.c | 11 +- trunk/drivers/hwmon/k8temp.c | 8 +- trunk/drivers/hwmon/lm70.c | 10 +- trunk/drivers/hwmon/max6650.c | 78 +- trunk/drivers/hwmon/pmbus_core.c | 1 - trunk/drivers/hwmon/sch5627.c | 46 +- trunk/drivers/hwmon/ultra45_env.c | 4 +- trunk/drivers/i2c/busses/i2c-ocores.c | 3 +- trunk/drivers/i2c/busses/i2c-xiic.c | 3 +- trunk/drivers/ide/ide-cd.c | 3 +- trunk/drivers/infiniband/Kconfig | 1 - trunk/drivers/infiniband/core/Makefile | 2 +- trunk/drivers/infiniband/core/cm.c | 8 - trunk/drivers/infiniband/core/cma.c | 308 +- trunk/drivers/infiniband/core/device.c | 25 +- trunk/drivers/infiniband/core/mad.c | 7 - trunk/drivers/infiniband/core/netlink.c | 190 -- trunk/drivers/infiniband/core/ucma.c | 35 +- trunk/drivers/infiniband/core/user_mad.c | 7 - trunk/drivers/infiniband/core/uverbs_main.c | 8 - trunk/drivers/infiniband/hw/cxgb3/iwch_cm.c | 26 +- .../infiniband/hw/cxgb3/iwch_provider.h | 2 +- trunk/drivers/infiniband/hw/cxgb3/iwch_qp.c | 6 +- trunk/drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 18 +- trunk/drivers/infiniband/hw/nes/nes.c | 4 +- trunk/drivers/infiniband/hw/qib/Kconfig | 2 +- .../drivers/infiniband/ulp/iser/iser_verbs.c | 2 +- trunk/drivers/infiniband/ulp/srp/ib_srp.c | 4 +- trunk/drivers/input/input-compat.h | 2 +- trunk/drivers/input/keyboard/Kconfig | 11 - trunk/drivers/input/keyboard/Makefile | 1 - .../drivers/input/keyboard/pmic8xxx-keypad.c | 799 ------ trunk/drivers/input/misc/Kconfig | 11 - trunk/drivers/input/misc/Makefile | 1 - trunk/drivers/input/misc/pmic8xxx-pwrkey.c | 231 -- trunk/drivers/input/misc/twl4030-vibra.c | 3 +- trunk/drivers/isdn/hardware/eicon/divasfunc.c | 5 +- trunk/drivers/isdn/hardware/mISDN/netjet.c | 6 - trunk/drivers/leds/Kconfig | 34 +- trunk/drivers/leds/Makefile | 3 +- trunk/drivers/leds/led-class.c | 3 +- trunk/drivers/leds/leds-88pm860x.c | 7 +- trunk/drivers/leds/leds-asic3.c | 165 -- trunk/drivers/leds/leds-gpio-register.c | 42 - trunk/drivers/leds/leds-h1940.c | 170 ++ trunk/drivers/leds/leds-lm3530.c | 73 +- trunk/drivers/leds/leds-mc13783.c | 7 +- trunk/drivers/leds/leds-pca9532.c | 191 +- trunk/drivers/leds/leds.h | 7 - trunk/drivers/leds/ledtrig-timer.c | 3 - trunk/drivers/media/dvb/dm1105/dm1105.c | 272 +- trunk/drivers/media/dvb/dvb-usb/lmedm04.c | 107 +- .../media/dvb/frontends/stb0899_algo.c | 2 +- trunk/drivers/media/dvb/frontends/tda8261.c | 1 + trunk/drivers/media/radio/radio-maxiradio.c | 3 +- trunk/drivers/media/radio/radio-timb.c | 3 +- trunk/drivers/media/radio/radio-wl1273.c | 4 +- trunk/drivers/media/radio/wl128x/fmdrv_v4l2.c | 2 +- trunk/drivers/media/rc/Kconfig | 12 - trunk/drivers/media/rc/Makefile | 1 - trunk/drivers/media/rc/fintek-cir.c | 684 ----- trunk/drivers/media/rc/fintek-cir.h | 243 -- trunk/drivers/media/rc/keymaps/rc-lme2510.c | 134 +- trunk/drivers/media/video/Kconfig | 6 +- trunk/drivers/media/video/Makefile | 1 - trunk/drivers/media/video/cpia2/cpia2_v4l.c | 4 +- .../media/video/cx231xx/cx231xx-avcore.c | 2 +- trunk/drivers/media/video/gspca/kinect.c | 2 +- trunk/drivers/media/video/m5mols/Kconfig | 5 - trunk/drivers/media/video/m5mols/Makefile | 3 - trunk/drivers/media/video/m5mols/m5mols.h | 296 -- .../media/video/m5mols/m5mols_capture.c | 191 -- .../media/video/m5mols/m5mols_controls.c | 299 -- .../drivers/media/video/m5mols/m5mols_core.c | 1004 ------- trunk/drivers/media/video/m5mols/m5mols_reg.h | 399 --- trunk/drivers/media/video/omap/omap_vout.c | 2 +- trunk/drivers/media/video/omap/omap_voutdef.h | 2 +- trunk/drivers/media/video/timblogiw.c | 3 +- trunk/drivers/media/video/uvc/Makefile | 3 - trunk/drivers/media/video/uvc/uvc_driver.c | 66 +- trunk/drivers/media/video/uvc/uvc_entity.c | 118 - trunk/drivers/media/video/uvc/uvcvideo.h | 20 - trunk/drivers/mfd/88pm860x-core.c | 155 +- trunk/drivers/mfd/Kconfig | 115 +- trunk/drivers/mfd/Makefile | 8 +- trunk/drivers/mfd/ab3100-core.c | 6 +- trunk/drivers/mfd/ab3550-core.c | 6 +- trunk/drivers/mfd/ab8500-core.c | 32 +- trunk/drivers/mfd/ab8500-gpadc.c | 34 +- trunk/drivers/mfd/ab8500-i2c.c | 3 +- trunk/drivers/mfd/asic3.c | 83 +- trunk/drivers/mfd/davinci_voicecodec.c | 6 +- trunk/drivers/mfd/db5500-prcmu.c | 448 --- trunk/drivers/mfd/db8500-prcmu-regs.h | 166 -- trunk/drivers/mfd/db8500-prcmu.c | 2069 -------------- trunk/drivers/mfd/htc-pasic3.c | 5 +- trunk/drivers/mfd/janz-cmodio.c | 3 +- trunk/drivers/mfd/max8925-core.c | 2 +- trunk/drivers/mfd/mc13xxx-core.c | 12 +- trunk/drivers/mfd/mfd-core.c | 7 - trunk/drivers/mfd/omap-usb-host.c | 152 +- trunk/drivers/mfd/pm8921-core.c | 212 -- trunk/drivers/mfd/pm8xxx-irq.c | 371 --- trunk/drivers/mfd/rdc321x-southbridge.c | 6 +- trunk/drivers/mfd/t7l66xb.c | 6 +- trunk/drivers/mfd/tc6387xb.c | 3 +- trunk/drivers/mfd/tc6393xb.c | 10 +- trunk/drivers/mfd/timberdale.c | 81 +- trunk/drivers/mfd/tps6105x.c | 3 +- trunk/drivers/mfd/tps6586x.c | 4 +- trunk/drivers/mfd/tps65910-irq.c | 218 -- trunk/drivers/mfd/tps65910.c | 229 -- trunk/drivers/mfd/tps65911-comparator.c | 188 -- trunk/drivers/mfd/twl-core.c | 252 +- trunk/drivers/mfd/twl4030-codec.c | 10 +- trunk/drivers/mfd/twl4030-power.c | 6 +- trunk/drivers/mfd/twl6030-irq.c | 4 +- trunk/drivers/mfd/wl1273-core.c | 7 +- trunk/drivers/mfd/wm831x-core.c | 13 +- trunk/drivers/mfd/wm831x-irq.c | 27 +- trunk/drivers/mfd/wm8400-core.c | 3 +- trunk/drivers/misc/kgdbts.c | 29 +- trunk/drivers/mmc/card/block.c | 712 +---- trunk/drivers/mmc/card/mmc_test.c | 116 +- trunk/drivers/mmc/card/queue.c | 8 + trunk/drivers/mmc/core/bus.c | 11 +- trunk/drivers/mmc/core/core.c | 111 +- trunk/drivers/mmc/core/core.h | 7 +- trunk/drivers/mmc/core/host.c | 4 +- trunk/drivers/mmc/core/mmc.c | 186 +- trunk/drivers/mmc/core/mmc_ops.c | 80 +- trunk/drivers/mmc/core/mmc_ops.h | 1 + trunk/drivers/mmc/core/quirks.c | 89 +- trunk/drivers/mmc/core/sd.c | 405 +-- trunk/drivers/mmc/core/sd.h | 2 +- trunk/drivers/mmc/core/sd_ops.c | 51 +- trunk/drivers/mmc/core/sdio.c | 24 +- trunk/drivers/mmc/core/sdio_irq.c | 33 +- trunk/drivers/mmc/core/sdio_ops.c | 18 +- trunk/drivers/mmc/host/Kconfig | 33 +- trunk/drivers/mmc/host/Makefile | 1 - trunk/drivers/mmc/host/dw_mmc.c | 6 +- trunk/drivers/mmc/host/sdhci-pci.c | 49 +- trunk/drivers/mmc/host/sdhci-pxa.c | 48 +- trunk/drivers/mmc/host/sdhci-tegra.c | 2 - trunk/drivers/mmc/host/sdhci.c | 854 +----- trunk/drivers/mmc/host/sdhci.h | 59 +- trunk/drivers/mmc/host/sh_mmcif.c | 126 +- trunk/drivers/mmc/host/sh_mobile_sdhi.c | 50 +- trunk/drivers/mmc/host/tmio_mmc.c | 34 +- trunk/drivers/mmc/host/tmio_mmc.h | 16 +- trunk/drivers/mmc/host/tmio_mmc_dma.c | 21 +- trunk/drivers/mmc/host/tmio_mmc_pio.c | 184 +- trunk/drivers/mmc/host/vub300.c | 2506 ----------------- trunk/drivers/mtd/nand/tmio_nand.c | 2 +- trunk/drivers/net/Makefile | 1 - trunk/drivers/net/arm/ixp4xx_eth.c | 195 +- trunk/drivers/net/benet/be_cmds.c | 3 +- trunk/drivers/net/bnx2x/bnx2x_cmn.c | 2 +- trunk/drivers/net/bnx2x/bnx2x_main.c | 3 +- trunk/drivers/net/bonding/bond_alb.c | 4 + trunk/drivers/net/bonding/bond_main.c | 28 +- trunk/drivers/net/bonding/bond_sysfs.c | 16 +- trunk/drivers/net/can/janz-ican3.c | 3 +- trunk/drivers/net/ehea/ehea_main.c | 2 +- trunk/drivers/net/gianfar_ptp.c | 588 ---- trunk/drivers/net/hamradio/baycom_epp.c | 2 +- trunk/drivers/net/hamradio/baycom_par.c | 2 +- trunk/drivers/net/hamradio/baycom_ser_fdx.c | 2 +- trunk/drivers/net/hamradio/baycom_ser_hdx.c | 2 +- trunk/drivers/net/hamradio/hdlcdrv.c | 2 +- trunk/drivers/net/ioc3-eth.c | 2 +- trunk/drivers/net/irda/bfin_sir.c | 59 +- trunk/drivers/net/irda/bfin_sir.h | 63 +- trunk/drivers/net/ks8842.c | 3 +- trunk/drivers/net/phy/Makefile | 1 - trunk/drivers/net/phy/dp83640.c | 1100 -------- trunk/drivers/net/phy/dp83640_reg.h | 267 -- trunk/drivers/net/tg3.c | 1 - trunk/drivers/net/tile/tilepro.c | 8 +- trunk/drivers/net/usb/cdc_ncm.c | 73 +- trunk/drivers/net/via-velocity.h | 2 +- trunk/drivers/net/wan/pc300_drv.c | 3 +- trunk/drivers/net/wireless/airo.c | 33 +- trunk/drivers/net/wireless/ath/ath9k/ahb.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/ani.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/ani.h | 2 +- .../net/wireless/ath/ath9k/ar5008_initvals.h | 2 +- .../net/wireless/ath/ath9k/ar5008_phy.c | 2 +- .../net/wireless/ath/ath9k/ar9001_initvals.h | 2 +- .../net/wireless/ath/ath9k/ar9002_calib.c | 2 +- .../net/wireless/ath/ath9k/ar9002_hw.c | 2 +- .../net/wireless/ath/ath9k/ar9002_initvals.h | 2 +- .../net/wireless/ath/ath9k/ar9002_mac.c | 2 +- .../net/wireless/ath/ath9k/ar9002_phy.c | 2 +- .../net/wireless/ath/ath9k/ar9002_phy.h | 2 +- .../wireless/ath/ath9k/ar9003_2p2_initvals.h | 2 +- .../net/wireless/ath/ath9k/ar9003_calib.c | 2 +- .../net/wireless/ath/ath9k/ar9003_eeprom.c | 2 +- .../net/wireless/ath/ath9k/ar9003_eeprom.h | 16 - .../net/wireless/ath/ath9k/ar9003_hw.c | 2 +- .../net/wireless/ath/ath9k/ar9003_mac.c | 2 +- .../net/wireless/ath/ath9k/ar9003_mac.h | 2 +- .../net/wireless/ath/ath9k/ar9003_paprd.c | 2 +- .../net/wireless/ath/ath9k/ar9003_phy.c | 2 +- .../net/wireless/ath/ath9k/ar9003_phy.h | 2 +- .../net/wireless/ath/ath9k/ar9485_initvals.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/ath9k.h | 5 +- trunk/drivers/net/wireless/ath/ath9k/beacon.c | 48 +- trunk/drivers/net/wireless/ath/ath9k/btcoex.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/btcoex.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/calib.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/calib.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/common.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/common.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/debug.c | 10 +- trunk/drivers/net/wireless/ath/ath9k/debug.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/eeprom.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/eeprom.h | 2 +- .../net/wireless/ath/ath9k/eeprom_4k.c | 2 +- .../net/wireless/ath/ath9k/eeprom_9287.c | 2 +- .../net/wireless/ath/ath9k/eeprom_def.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/gpio.c | 2 +- .../drivers/net/wireless/ath/ath9k/hif_usb.c | 2 +- .../drivers/net/wireless/ath/ath9k/hif_usb.h | 4 +- trunk/drivers/net/wireless/ath/ath9k/htc.h | 25 +- .../net/wireless/ath/ath9k/htc_drv_beacon.c | 2 +- .../net/wireless/ath/ath9k/htc_drv_gpio.c | 2 +- .../net/wireless/ath/ath9k/htc_drv_init.c | 9 +- .../net/wireless/ath/ath9k/htc_drv_main.c | 79 +- .../net/wireless/ath/ath9k/htc_drv_txrx.c | 6 +- .../drivers/net/wireless/ath/ath9k/htc_hst.c | 2 +- .../drivers/net/wireless/ath/ath9k/htc_hst.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/hw-ops.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/hw.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/hw.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/init.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/mac.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/mac.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/main.c | 42 +- trunk/drivers/net/wireless/ath/ath9k/pci.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/phy.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/rc.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/rc.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/recv.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/reg.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/wmi.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/wmi.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/xmit.c | 2 +- .../net/wireless/ath/carl9170/carl9170.h | 4 - trunk/drivers/net/wireless/ath/carl9170/fw.c | 19 +- .../drivers/net/wireless/ath/carl9170/main.c | 10 +- trunk/drivers/net/wireless/ath/hw.c | 10 +- trunk/drivers/net/wireless/b43/b43.h | 24 +- trunk/drivers/net/wireless/b43/dma.c | 37 +- trunk/drivers/net/wireless/b43/leds.c | 4 +- trunk/drivers/net/wireless/b43/lo.c | 4 +- trunk/drivers/net/wireless/b43/main.c | 194 +- trunk/drivers/net/wireless/b43/phy_a.c | 16 +- trunk/drivers/net/wireless/b43/phy_common.c | 8 +- trunk/drivers/net/wireless/b43/phy_g.c | 48 +- trunk/drivers/net/wireless/b43/phy_lp.c | 22 +- trunk/drivers/net/wireless/b43/phy_n.c | 24 +- trunk/drivers/net/wireless/b43/pio.c | 30 +- trunk/drivers/net/wireless/b43/rfkill.c | 6 +- trunk/drivers/net/wireless/b43/sdio.c | 4 +- trunk/drivers/net/wireless/b43/sysfs.c | 4 +- trunk/drivers/net/wireless/b43/tables_lpphy.c | 4 +- trunk/drivers/net/wireless/b43/wa.c | 4 +- trunk/drivers/net/wireless/b43/xmit.c | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-1000.c | 4 + trunk/drivers/net/wireless/iwlwifi/iwl-2000.c | 8 +- trunk/drivers/net/wireless/iwlwifi/iwl-5000.c | 12 +- trunk/drivers/net/wireless/iwlwifi/iwl-6000.c | 12 +- .../net/wireless/iwlwifi/iwl-agn-calib.c | 14 +- .../net/wireless/iwlwifi/iwl-agn-lib.c | 14 +- .../drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 86 +- .../net/wireless/iwlwifi/iwl-agn-rxon.c | 9 +- .../net/wireless/iwlwifi/iwl-agn-sta.c | 4 +- .../drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 16 +- .../net/wireless/iwlwifi/iwl-agn-ucode.c | 6 +- trunk/drivers/net/wireless/iwlwifi/iwl-agn.c | 250 +- trunk/drivers/net/wireless/iwlwifi/iwl-agn.h | 13 +- .../net/wireless/iwlwifi/iwl-commands.h | 5 +- trunk/drivers/net/wireless/iwlwifi/iwl-core.h | 10 + trunk/drivers/net/wireless/iwlwifi/iwl-dev.h | 66 +- .../net/wireless/iwlwifi/iwl-devtrace.h | 58 +- .../drivers/net/wireless/iwlwifi/iwl-eeprom.c | 7 +- trunk/drivers/net/wireless/iwlwifi/iwl-hcmd.c | 9 +- trunk/drivers/net/wireless/iwlwifi/iwl-led.c | 4 +- trunk/drivers/net/wireless/iwlwifi/iwl-sta.c | 12 +- .../net/wireless/iwlwifi/iwl-sv-open.c | 177 +- .../net/wireless/iwlwifi/iwl-testmode.h | 34 - trunk/drivers/net/wireless/iwlwifi/iwl-tx.c | 364 +-- trunk/drivers/net/wireless/iwmc3200wifi/rx.c | 4 +- trunk/drivers/net/wireless/mwifiex/11n_aggr.c | 4 - trunk/drivers/net/wireless/mwifiex/main.h | 9 +- trunk/drivers/net/wireless/mwifiex/txrx.c | 4 +- trunk/drivers/net/wireless/mwifiex/wmm.c | 59 +- trunk/drivers/net/wireless/p54/p54usb.c | 1 - trunk/drivers/net/wireless/rndis_wlan.c | 3 +- trunk/drivers/net/wireless/rtlwifi/ps.c | 2 +- .../wireless/rtlwifi/rtl8192c/phy_common.c | 2 +- .../net/wireless/rtlwifi/rtl8192ce/phy.c | 69 - .../net/wireless/rtlwifi/rtl8192ce/phy.h | 1 - .../net/wireless/rtlwifi/rtl8192ce/sw.c | 1 - trunk/drivers/net/xen-netfront.c | 2 - trunk/drivers/parport/parport_ip32.c | 1 + trunk/drivers/platform/x86/ibm_rtl.c | 13 - trunk/drivers/platform/x86/intel_ips.c | 13 - trunk/drivers/power/Kconfig | 16 - trunk/drivers/power/Makefile | 2 - trunk/drivers/power/bq27x00_battery.c | 11 +- trunk/drivers/power/ds2760_battery.c | 6 +- trunk/drivers/power/ds2780_battery.c | 853 ------ trunk/drivers/power/gpio-charger.c | 15 - trunk/drivers/power/isp1704_charger.c | 22 - trunk/drivers/power/max8903_charger.c | 391 --- trunk/drivers/power/max8925_power.c | 10 +- trunk/drivers/power/test_power.c | 276 +- trunk/drivers/power/z2_battery.c | 20 +- trunk/drivers/ptp/Kconfig | 75 - trunk/drivers/ptp/Makefile | 7 - trunk/drivers/ptp/ptp_chardev.c | 159 -- trunk/drivers/ptp/ptp_clock.c | 343 --- trunk/drivers/ptp/ptp_ixp46x.c | 332 --- trunk/drivers/ptp/ptp_private.h | 92 - trunk/drivers/ptp/ptp_sysfs.c | 230 -- trunk/drivers/regulator/88pm8607.c | 30 +- trunk/drivers/regulator/Kconfig | 13 - trunk/drivers/regulator/Makefile | 2 - trunk/drivers/regulator/ab3100.c | 3 +- trunk/drivers/regulator/core.c | 93 +- trunk/drivers/regulator/db8500-prcmu.c | 558 ---- trunk/drivers/regulator/max8925-regulator.c | 11 +- trunk/drivers/regulator/max8997.c | 13 +- trunk/drivers/regulator/max8998.c | 22 +- trunk/drivers/regulator/mc13783-regulator.c | 7 +- trunk/drivers/regulator/mc13892-regulator.c | 25 +- .../regulator/mc13xxx-regulator-core.c | 2 +- trunk/drivers/regulator/tps6105x-regulator.c | 5 +- trunk/drivers/regulator/tps65023-regulator.c | 3 +- trunk/drivers/regulator/tps6507x-regulator.c | 3 +- trunk/drivers/regulator/tps65910-regulator.c | 993 ------- trunk/drivers/regulator/twl-regulator.c | 564 +--- trunk/drivers/regulator/wm831x-dcdc.c | 2 + trunk/drivers/regulator/wm8400-regulator.c | 12 +- trunk/drivers/rtc/Kconfig | 59 - trunk/drivers/rtc/Makefile | 7 - trunk/drivers/rtc/rtc-88pm860x.c | 427 --- trunk/drivers/rtc/rtc-em3027.c | 161 -- trunk/drivers/rtc/rtc-m41t93.c | 225 -- trunk/drivers/rtc/rtc-mrst.c | 4 +- trunk/drivers/rtc/rtc-mxc.c | 6 + trunk/drivers/rtc/rtc-pcf50633.c | 23 +- trunk/drivers/rtc/rtc-rv3029c2.c | 454 --- trunk/drivers/rtc/rtc-spear.c | 534 ---- trunk/drivers/rtc/rtc-tile.c | 162 -- trunk/drivers/rtc/rtc-vt8500.c | 366 --- trunk/drivers/s390/block/dasd_diag.c | 6 +- trunk/drivers/s390/char/sclp.c | 7 +- trunk/drivers/s390/kvm/kvm_virtio.c | 3 +- trunk/drivers/scsi/aacraid/linit.c | 3 +- trunk/drivers/scsi/in2000.c | 2 +- trunk/drivers/scsi/pmcraid.c | 9 +- trunk/drivers/scsi/pmcraid.h | 1 + trunk/drivers/scsi/qla4xxx/ql4_nx.c | 21 - trunk/drivers/scsi/sr.c | 2 +- trunk/drivers/scsi/wd33c93.c | 7 +- trunk/drivers/spi/Kconfig | 4 +- trunk/drivers/spi/amba-pl022.c | 35 +- trunk/drivers/spi/dw_spi.c | 202 +- trunk/drivers/spi/dw_spi.h | 2 + trunk/drivers/spi/spi.c | 4 +- trunk/drivers/spi/spi_nuc900.c | 2 +- trunk/drivers/spi/spi_s3c24xx.c | 2 +- trunk/drivers/spi/spi_sh.c | 2 +- trunk/drivers/spi/spi_tegra.c | 2 +- trunk/drivers/spi/xilinx_spi.c | 3 +- .../staging/ath6kl/os/linux/cfg80211.c | 2 +- .../staging/brcm80211/brcmfmac/wl_cfg80211.c | 2 +- .../staging/generic_serial/rio/rioinit.c | 2 +- trunk/drivers/staging/wlan-ng/cfg80211.c | 2 +- trunk/drivers/staging/zcache/zcache.c | 5 +- trunk/drivers/tty/cyclades.c | 3 +- trunk/drivers/tty/nozomi.c | 3 +- trunk/drivers/tty/serial/68328serial.c | 2 +- trunk/drivers/tty/serial/m32r_sio.c | 3 +- trunk/drivers/tty/serial/pch_uart.c | 1 - trunk/drivers/usb/otg/twl6030-usb.c | 10 +- trunk/drivers/video/Kconfig | 42 +- trunk/drivers/video/Makefile | 1 - trunk/drivers/video/amifb.c | 27 +- trunk/drivers/video/backlight/88pm860x_bl.c | 7 +- trunk/drivers/video/backlight/adp5520_bl.c | 6 +- trunk/drivers/video/da8xx-fb.c | 4 +- trunk/drivers/video/efifb.c | 4 +- trunk/drivers/video/mb862xx/Makefile | 5 +- trunk/drivers/video/mb862xx/mb862xx-i2c.c | 178 -- trunk/drivers/video/mb862xx/mb862xx_reg.h | 58 +- .../mb862xx/{mb862xxfbdrv.c => mb862xxfb.c} | 153 +- trunk/drivers/video/mb862xx/mb862xxfb.h | 36 - trunk/drivers/video/omap/Makefile | 1 + trunk/drivers/video/omap/dispc.c | 4 +- trunk/drivers/video/omap/lcd_omap2evm.c | 192 ++ trunk/drivers/video/omap/omapfb_main.c | 2 +- trunk/drivers/video/omap/rfbi.c | 2 +- trunk/drivers/video/omap2/Makefile | 4 +- trunk/drivers/video/omap2/displays/Kconfig | 9 +- .../video/omap2/displays/panel-acx565akm.c | 2 +- .../video/omap2/displays/panel-generic-dpi.c | 57 +- .../omap2/displays/panel-lgphilips-lb035q02.c | 2 +- .../omap2/displays/panel-nec-nl8048hl11-01b.c | 2 +- .../omap2/displays/panel-sharp-ls037v7dw01.c | 6 +- .../drivers/video/omap2/displays/panel-taal.c | 536 +--- .../omap2/displays/panel-tpo-td043mtea1.c | 10 +- trunk/drivers/video/omap2/dss/Kconfig | 33 +- trunk/drivers/video/omap2/dss/core.c | 15 +- trunk/drivers/video/omap2/dss/dispc.c | 1552 +++++----- trunk/drivers/video/omap2/dss/dispc.h | 691 ----- trunk/drivers/video/omap2/dss/display.c | 46 +- trunk/drivers/video/omap2/dss/dpi.c | 113 +- trunk/drivers/video/omap2/dss/dsi.c | 2367 +++++----------- trunk/drivers/video/omap2/dss/dss.c | 118 +- trunk/drivers/video/omap2/dss/dss.h | 98 +- trunk/drivers/video/omap2/dss/dss_features.c | 105 +- trunk/drivers/video/omap2/dss/dss_features.h | 39 +- trunk/drivers/video/omap2/dss/hdmi.c | 461 +-- trunk/drivers/video/omap2/dss/hdmi.h | 222 +- .../video/omap2/dss/hdmi_omap4_panel.c | 2 +- trunk/drivers/video/omap2/dss/manager.c | 14 +- trunk/drivers/video/omap2/dss/overlay.c | 43 +- trunk/drivers/video/omap2/dss/rfbi.c | 176 +- trunk/drivers/video/omap2/dss/sdi.c | 2 +- trunk/drivers/video/omap2/dss/venc.c | 23 +- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 14 +- .../drivers/video/omap2/omapfb/omapfb-main.c | 231 +- .../drivers/video/omap2/omapfb/omapfb-sysfs.c | 23 +- trunk/drivers/video/omap2/omapfb/omapfb.h | 8 +- trunk/drivers/video/s3c-fb.c | 121 +- trunk/drivers/video/s3c2410fb.c | 8 +- trunk/drivers/video/s3fb.c | 209 +- trunk/drivers/video/savage/savagefb-i2c.c | 2 - trunk/drivers/video/savage/savagefb.h | 8 +- trunk/drivers/video/savage/savagefb_driver.c | 15 +- trunk/drivers/video/sh7760fb.c | 6 +- trunk/drivers/video/sh_mobile_hdmi.c | 10 +- trunk/drivers/video/sh_mobile_lcdcfb.c | 126 +- trunk/drivers/video/sh_mobile_lcdcfb.h | 1 - trunk/drivers/video/sh_mobile_meram.c | 567 ---- trunk/drivers/video/sh_mobile_meram.h | 41 - trunk/drivers/video/sm501fb.c | 24 +- trunk/drivers/video/tmiofb.c | 12 +- trunk/drivers/video/udlfb.c | 20 +- trunk/drivers/video/via/via-gpio.c | 49 +- trunk/drivers/w1/masters/Kconfig | 2 +- trunk/drivers/w1/masters/ds1wm.c | 333 +-- trunk/drivers/w1/slaves/Kconfig | 20 - trunk/drivers/w1/slaves/Makefile | 2 - trunk/drivers/w1/slaves/w1_ds2408.c | 402 --- trunk/drivers/w1/slaves/w1_ds2780.c | 217 -- trunk/drivers/w1/slaves/w1_ds2780.h | 129 - trunk/drivers/w1/w1.c | 12 +- trunk/drivers/w1/w1.h | 6 +- trunk/drivers/w1/w1_family.h | 2 - trunk/drivers/w1/w1_io.c | 26 - trunk/drivers/w1/w1_netlink.c | 5 +- trunk/drivers/watchdog/rdc321x_wdt.c | 3 +- trunk/drivers/xen/Makefile | 1 - trunk/drivers/xen/tmem.c | 264 -- trunk/fs/9p/Kconfig | 5 +- trunk/fs/9p/vfs_inode.c | 4 - trunk/fs/9p/vfs_inode_dotl.c | 11 +- trunk/fs/Kconfig | 19 +- trunk/fs/affs/namei.c | 5 - trunk/fs/afs/dir.c | 5 - trunk/fs/autofs4/root.c | 2 - trunk/fs/bfs/dir.c | 3 - trunk/fs/block_dev.c | 17 +- trunk/fs/btrfs/extent_io.c | 9 - trunk/fs/btrfs/super.c | 2 - trunk/fs/buffer.c | 64 +- trunk/fs/ceph/addr.c | 5 +- trunk/fs/ceph/caps.c | 61 +- trunk/fs/ceph/dir.c | 7 +- trunk/fs/ceph/export.c | 25 +- trunk/fs/ceph/mds_client.c | 7 +- trunk/fs/ceph/mds_client.h | 1 - trunk/fs/coda/dir.c | 5 - trunk/fs/configfs/dir.c | 2 - trunk/fs/dcache.c | 8 +- trunk/fs/dlm/main.c | 2 +- trunk/fs/drop_caches.c | 5 +- trunk/fs/ecryptfs/inode.c | 5 - trunk/fs/exec.c | 51 +- trunk/fs/ext3/super.c | 2 - trunk/fs/ext4/Makefile | 3 +- trunk/fs/ext4/balloc.c | 146 +- trunk/fs/ext4/ext4.h | 127 +- trunk/fs/ext4/ext4_jbd2.c | 14 + trunk/fs/ext4/ext4_jbd2.h | 5 + trunk/fs/ext4/extents.c | 1416 ++++------ trunk/fs/ext4/file.c | 1 + trunk/fs/ext4/fsync.c | 25 +- trunk/fs/ext4/inode.c | 114 +- trunk/fs/ext4/mballoc.c | 459 ++- trunk/fs/ext4/mballoc.h | 6 + trunk/fs/ext4/migrate.c | 2 +- trunk/fs/ext4/mmp.c | 351 --- trunk/fs/ext4/move_extent.c | 3 +- trunk/fs/ext4/namei.c | 82 +- trunk/fs/ext4/page-io.c | 39 +- trunk/fs/ext4/super.c | 206 +- trunk/fs/ext4/xattr.c | 4 +- trunk/fs/fat/namei_msdos.c | 5 - trunk/fs/fat/namei_vfat.c | 5 - trunk/fs/fscache/operation.c | 10 + trunk/fs/fscache/page.c | 13 + trunk/fs/fuse/dir.c | 6 - trunk/fs/gfs2/glock.c | 5 +- trunk/fs/gfs2/main.c | 2 +- trunk/fs/gfs2/quota.c | 12 +- trunk/fs/gfs2/quota.h | 4 +- trunk/fs/hfs/dir.c | 6 - trunk/fs/hfsplus/dir.c | 8 +- trunk/fs/hostfs/hostfs_kern.c | 5 - trunk/fs/hpfs/namei.c | 9 +- trunk/fs/hugetlbfs/inode.c | 7 +- trunk/fs/inode.c | 9 +- trunk/fs/jbd2/commit.c | 22 +- trunk/fs/jbd2/journal.c | 58 +- trunk/fs/jbd2/transaction.c | 22 +- trunk/fs/jffs2/dir.c | 5 - trunk/fs/jfs/namei.c | 5 - trunk/fs/logfs/dir.c | 5 - trunk/fs/mbcache.c | 10 +- trunk/fs/minix/namei.c | 5 - trunk/fs/mpage.c | 7 - trunk/fs/namei.c | 380 ++- trunk/fs/namespace.c | 2 +- trunk/fs/ncpfs/dir.c | 5 - trunk/fs/ncpfs/inode.c | 4 +- trunk/fs/ncpfs/mmap.c | 2 - trunk/fs/nfs/dir.c | 5 +- trunk/fs/nfs/internal.h | 2 +- trunk/fs/nilfs2/namei.c | 5 - trunk/fs/ocfs2/alloc.c | 166 -- trunk/fs/ocfs2/alloc.h | 1 - trunk/fs/ocfs2/cluster/sys.c | 9 + trunk/fs/ocfs2/dlm/dlmcommon.h | 14 - trunk/fs/ocfs2/dlm/dlmdebug.c | 6 - trunk/fs/ocfs2/dlm/dlmdomain.c | 94 +- trunk/fs/ocfs2/dlm/dlmmaster.c | 255 +- trunk/fs/ocfs2/dlm/dlmrecovery.c | 1 - trunk/fs/ocfs2/dlmfs/dlmfs.c | 2 +- trunk/fs/ocfs2/file.c | 1 - trunk/fs/ocfs2/ioctl.c | 24 - trunk/fs/ocfs2/move_extents.c | 19 +- trunk/fs/ocfs2/ocfs2_trace.h | 25 - trunk/fs/ocfs2/super.c | 4 +- trunk/fs/omfs/dir.c | 11 +- trunk/fs/partitions/check.c | 8 +- trunk/fs/partitions/efi.c | 9 - trunk/fs/proc/Makefile | 1 - trunk/fs/proc/array.c | 4 +- trunk/fs/proc/base.c | 103 +- trunk/fs/proc/generic.c | 1 - trunk/fs/proc/inode.c | 7 - trunk/fs/proc/internal.h | 26 - trunk/fs/proc/namespaces.c | 198 -- trunk/fs/proc/stat.c | 6 +- trunk/fs/proc/task_mmu.c | 233 +- trunk/fs/proc/vmcore.c | 52 +- trunk/fs/quota/dquot.c | 5 +- trunk/fs/reiserfs/namei.c | 5 - trunk/fs/reiserfs/xattr.c | 1 + trunk/fs/splice.c | 33 +- trunk/fs/squashfs/block.c | 2 +- trunk/fs/squashfs/cache.c | 31 +- trunk/fs/squashfs/decompressor.c | 2 +- trunk/fs/squashfs/decompressor.h | 2 +- trunk/fs/squashfs/dir.c | 2 +- trunk/fs/squashfs/export.c | 42 +- trunk/fs/squashfs/file.c | 2 +- trunk/fs/squashfs/fragment.c | 37 +- trunk/fs/squashfs/id.c | 42 +- trunk/fs/squashfs/inode.c | 2 +- trunk/fs/squashfs/namei.c | 2 +- trunk/fs/squashfs/squashfs.h | 10 +- trunk/fs/squashfs/squashfs_fs.h | 2 +- trunk/fs/squashfs/squashfs_fs_i.h | 2 +- trunk/fs/squashfs/squashfs_fs_sb.h | 2 +- trunk/fs/squashfs/super.c | 112 +- trunk/fs/squashfs/symlink.c | 2 +- trunk/fs/squashfs/xattr.c | 2 +- trunk/fs/squashfs/xattr.h | 3 +- trunk/fs/squashfs/xattr_id.c | 47 +- trunk/fs/squashfs/xz_wrapper.c | 2 +- trunk/fs/squashfs/zlib_wrapper.c | 2 +- trunk/fs/super.c | 3 - trunk/fs/sysv/namei.c | 5 - trunk/fs/ubifs/dir.c | 5 - trunk/fs/udf/namei.c | 5 - trunk/fs/ufs/balloc.c | 9 +- trunk/fs/ufs/namei.c | 5 - trunk/fs/ufs/truncate.c | 2 +- trunk/fs/xfs/linux-2.6/xfs_buf.c | 4 +- trunk/fs/xfs/linux-2.6/xfs_discard.c | 29 - trunk/fs/xfs/linux-2.6/xfs_discard.h | 2 - trunk/fs/xfs/linux-2.6/xfs_super.c | 18 +- trunk/fs/xfs/linux-2.6/xfs_sync.c | 5 +- trunk/fs/xfs/quota/xfs_qm.c | 6 +- trunk/fs/xfs/xfs_ag.h | 3 - trunk/fs/xfs/xfs_alloc.c | 35 +- trunk/fs/xfs/xfs_alloc.h | 5 +- trunk/fs/xfs/xfs_alloc_btree.c | 3 +- trunk/fs/xfs/xfs_bmap.c | 549 ++-- trunk/fs/xfs/xfs_bmap.h | 2 + trunk/fs/xfs/xfs_inode.c | 15 +- trunk/fs/xfs/xfs_inode.h | 1 + trunk/fs/xfs/xfs_log_cil.c | 13 +- trunk/fs/xfs/xfs_mount.h | 1 - trunk/fs/xfs/xfs_trans.c | 2 +- trunk/include/asm-generic/audit_change_attr.h | 4 - trunk/include/asm-generic/audit_dir_write.h | 14 - trunk/include/asm-generic/audit_read.h | 5 - trunk/include/asm-generic/audit_write.h | 2 - trunk/include/asm-generic/bitops/find.h | 4 - trunk/include/asm-generic/bitops/le.h | 7 - trunk/include/asm-generic/bug.h | 37 - trunk/include/asm-generic/cacheflush.h | 5 +- trunk/include/asm-generic/ptrace.h | 74 - trunk/include/asm-generic/resource.h | 2 +- trunk/include/asm-generic/tlb.h | 156 +- trunk/include/asm-generic/unistd.h | 221 +- trunk/include/linux/Kbuild | 2 - trunk/include/linux/basic_mmio_gpio.h | 56 - trunk/include/linux/bitmap.h | 5 +- trunk/include/linux/bitops.h | 4 +- trunk/include/linux/blk_types.h | 2 + trunk/include/linux/blkdev.h | 15 +- trunk/include/linux/bootmem.h | 25 +- trunk/include/linux/buffer_head.h | 16 - trunk/include/linux/c2port.h | 3 + trunk/include/linux/ceph/ceph_fs.h | 1 - trunk/include/linux/cgroup.h | 13 +- trunk/include/linux/cgroup_subsys.h | 6 + trunk/include/linux/cleancache.h | 122 - trunk/include/linux/compat.h | 236 +- trunk/include/linux/compiler-gcc.h | 4 - trunk/include/linux/compiler-gcc4.h | 2 +- trunk/include/linux/cpumask.h | 15 - trunk/include/linux/crash_dump.h | 5 - trunk/include/linux/drbd.h | 10 +- trunk/include/linux/drbd_tag_magic.h | 2 +- trunk/include/linux/flex_array.h | 2 - trunk/include/linux/fs.h | 12 +- trunk/include/linux/fscache-cache.h | 12 + trunk/include/linux/genalloc.h | 25 +- trunk/include/linux/genhd.h | 2 +- trunk/include/linux/gfp.h | 9 +- trunk/include/linux/huge_mm.h | 8 +- trunk/include/linux/hugetlb.h | 7 +- trunk/include/linux/hugetlb_inline.h | 2 +- trunk/include/linux/i2c.h | 2 +- trunk/include/linux/i2c/twl.h | 54 +- trunk/include/linux/if_link.h | 1 - trunk/include/linux/if_vlan.h | 5 - trunk/include/linux/init_task.h | 9 - trunk/include/linux/input/pmic8xxx-keypad.h | 52 - trunk/include/linux/input/pmic8xxx-pwrkey.h | 31 - trunk/include/linux/ipmi_smi.h | 2 +- trunk/include/linux/jbd2.h | 8 +- trunk/include/linux/kernel.h | 39 - trunk/include/linux/leds-pca9532.h | 3 +- trunk/include/linux/leds.h | 2 - trunk/include/linux/lockdep.h | 3 - trunk/include/linux/lru_cache.h | 12 +- trunk/include/linux/memblock.h | 9 +- trunk/include/linux/memcontrol.h | 24 +- trunk/include/linux/mempolicy.h | 7 +- trunk/include/linux/mfd/88pm860x.h | 6 - trunk/include/linux/mfd/abx500.h | 8 - trunk/include/linux/mfd/asic3.h | 23 +- trunk/include/linux/mfd/core.h | 23 +- trunk/include/linux/mfd/db5500-prcmu.h | 45 - trunk/include/linux/mfd/db8500-prcmu.h | 978 ------- trunk/include/linux/mfd/max8997-private.h | 4 + trunk/include/linux/mfd/pm8xxx/core.h | 81 - trunk/include/linux/mfd/pm8xxx/irq.h | 59 - trunk/include/linux/mfd/pm8xxx/pm8921.h | 31 - trunk/include/linux/mfd/tmio.h | 17 - trunk/include/linux/mfd/tps65910.h | 800 ------ trunk/include/linux/mfd/twl4030-codec.h | 2 +- trunk/include/linux/mfd/wm831x/core.h | 26 + trunk/include/linux/mfd/wm831x/pdata.h | 4 - trunk/include/linux/mm.h | 137 +- trunk/include/linux/mm_types.h | 25 +- trunk/include/linux/mmc/Kbuild | 1 - trunk/include/linux/mmc/card.h | 189 +- trunk/include/linux/mmc/core.h | 5 +- trunk/include/linux/mmc/host.h | 49 +- trunk/include/linux/mmc/ioctl.h | 54 - trunk/include/linux/mmc/mmc.h | 18 - trunk/include/linux/mmc/sd.h | 9 +- trunk/include/linux/mmc/sdhci.h | 15 - trunk/include/linux/mmc/sh_mobile_sdhi.h | 4 - trunk/include/linux/mmu_notifier.h | 2 +- trunk/include/linux/mmzone.h | 14 +- trunk/include/linux/mutex.h | 9 - trunk/include/linux/netlink.h | 1 - trunk/include/linux/nsproxy.h | 9 + trunk/include/linux/oom.h | 2 - trunk/include/linux/pagemap.h | 15 - trunk/include/linux/percpu_counter.h | 6 +- trunk/include/linux/pid.h | 2 +- trunk/include/linux/posix-timers.h | 1 - trunk/include/linux/power/isp1704_charger.h | 29 - trunk/include/linux/power/max8903_charger.h | 57 - trunk/include/linux/printk.h | 7 - trunk/include/linux/proc_fs.h | 40 +- trunk/include/linux/ptp_classify.h | 7 - trunk/include/linux/ptp_clock.h | 84 - trunk/include/linux/ptp_clock_kernel.h | 139 - trunk/include/linux/regulator/db8500-prcmu.h | 45 - trunk/include/linux/regulator/machine.h | 7 +- trunk/include/linux/rfkill-gpio.h | 43 - trunk/include/linux/rmap.h | 29 +- trunk/include/linux/rtc.h | 8 +- trunk/include/linux/sched.h | 38 +- trunk/include/linux/seqlock.h | 3 + trunk/include/linux/shmem_fs.h | 8 +- trunk/include/linux/smp.h | 10 + trunk/include/linux/spi/spi.h | 8 +- trunk/include/linux/swap.h | 3 +- trunk/include/linux/syscalls.h | 1 - trunk/include/linux/vm_event_item.h | 64 - trunk/include/linux/vmstat.h | 69 +- trunk/include/linux/xattr.h | 8 +- trunk/include/media/m5mols.h | 35 - trunk/include/media/videobuf-dvb.h | 4 - trunk/include/net/9p/9p.h | 13 +- trunk/include/net/9p/client.h | 2 +- trunk/include/net/9p/transport.h | 3 +- trunk/include/net/cfg80211.h | 8 +- trunk/include/net/dst.h | 2 - trunk/include/net/net_namespace.h | 1 - trunk/include/rdma/Kbuild | 5 - trunk/include/rdma/ib_user_cm.h | 1 - trunk/include/rdma/rdma_cm.h | 19 +- trunk/include/rdma/rdma_netlink.h | 92 - trunk/include/trace/events/gpio.h | 56 - trunk/include/video/sh_mobile_lcdc.h | 3 - trunk/include/video/sh_mobile_meram.h | 68 - trunk/include/xen/interface/io/blkif.h | 13 - trunk/include/xen/interface/xen.h | 22 - trunk/init/Kconfig | 8 + trunk/init/calibrate.c | 75 +- trunk/init/main.c | 3 - trunk/ipc/namespace.c | 37 - trunk/ipc/shm.c | 2 +- trunk/kernel/Makefile | 1 + trunk/kernel/cgroup.c | 587 ++-- trunk/kernel/cgroup_freezer.c | 26 +- trunk/kernel/compat.c | 8 - trunk/kernel/cpuset.c | 103 +- trunk/kernel/fork.c | 110 +- trunk/kernel/hrtimer.c | 2 +- trunk/kernel/irq/proc.c | 55 +- trunk/kernel/mutex.c | 25 +- trunk/kernel/ns_cgroup.c | 118 + trunk/kernel/nsproxy.c | 46 +- trunk/kernel/posix-timers.c | 25 +- trunk/kernel/printk.c | 87 +- trunk/kernel/profile.c | 16 +- trunk/kernel/ptrace.c | 2 +- trunk/kernel/sched.c | 38 +- trunk/kernel/signal.c | 6 +- trunk/kernel/sysctl.c | 2 +- trunk/kernel/utsname.c | 39 - trunk/lib/Kconfig | 10 + trunk/lib/Kconfig.debug | 20 - trunk/lib/Makefile | 8 +- trunk/lib/audit.c | 2 - trunk/lib/bitmap.c | 109 +- trunk/lib/find_last_bit.c | 4 - trunk/lib/find_next_bit.c | 18 +- trunk/lib/flex_array.c | 51 +- trunk/lib/genalloc.c | 45 +- trunk/lib/kstrtox.c | 26 - trunk/lib/lru_cache.c | 2 +- trunk/lib/show_mem.c | 2 +- trunk/lib/vsprintf.c | 2 +- trunk/mm/Kconfig | 23 - trunk/mm/Makefile | 1 - trunk/mm/backing-dev.c | 4 +- trunk/mm/cleancache.c | 244 -- trunk/mm/filemap.c | 83 +- trunk/mm/filemap_xip.c | 4 +- trunk/mm/fremap.c | 6 +- trunk/mm/huge_memory.c | 25 +- trunk/mm/hugetlb.c | 18 +- trunk/mm/init-mm.c | 1 + trunk/mm/internal.h | 4 - trunk/mm/ksm.c | 7 +- trunk/mm/memcontrol.c | 377 +-- trunk/mm/memory-failure.c | 21 +- trunk/mm/memory.c | 444 ++- trunk/mm/memory_hotplug.c | 21 +- trunk/mm/mempolicy.c | 164 +- trunk/mm/migrate.c | 17 +- trunk/mm/mlock.c | 8 +- trunk/mm/mmap.c | 129 +- trunk/mm/mremap.c | 5 +- trunk/mm/nobootmem.c | 23 + trunk/mm/nommu.c | 108 +- trunk/mm/oom_kill.c | 36 +- trunk/mm/page_alloc.c | 125 +- trunk/mm/page_cgroup.c | 28 +- trunk/mm/readahead.c | 2 +- trunk/mm/rmap.c | 172 +- trunk/mm/shmem.c | 331 +-- trunk/mm/slub.c | 4 +- trunk/mm/swap.c | 52 +- trunk/mm/swapfile.c | 6 +- trunk/mm/truncate.c | 6 - trunk/mm/util.c | 24 - trunk/mm/vmalloc.c | 19 +- trunk/mm/vmscan.c | 184 +- trunk/mm/vmstat.c | 264 +- trunk/net/802/psnap.c | 1 + trunk/net/8021q/vlan.h | 5 + trunk/net/9p/Kconfig | 8 +- trunk/net/9p/client.c | 30 +- trunk/net/9p/mod.c | 4 +- trunk/net/9p/trans_fd.c | 7 +- trunk/net/9p/trans_rdma.c | 3 +- trunk/net/9p/util.c | 2 +- trunk/net/atm/lec.c | 2 +- trunk/net/atm/mpc.c | 2 +- trunk/net/atm/proc.c | 4 +- trunk/net/bridge/br_netfilter.c | 6 +- trunk/net/can/bcm.c | 6 +- trunk/net/ceph/messenger.c | 82 +- trunk/net/ceph/osd_client.c | 19 +- trunk/net/ceph/osdmap.c | 13 +- trunk/net/core/dev.c | 12 +- trunk/net/core/dst.c | 2 +- trunk/net/core/fib_rules.c | 1 - trunk/net/core/filter.c | 4 +- trunk/net/core/net_namespace.c | 65 - trunk/net/core/rtnetlink.c | 14 +- trunk/net/ipv4/igmp.c | 10 +- trunk/net/ipv4/inet_connection_sock.c | 2 +- trunk/net/ipv4/ping.c | 3 + trunk/net/ipv4/raw.c | 2 +- trunk/net/ipv4/tcp_ipv4.c | 6 +- trunk/net/ipv4/udp.c | 2 +- trunk/net/ipv6/raw.c | 2 +- trunk/net/ipv6/tcp_ipv6.c | 6 +- trunk/net/ipv6/udp.c | 2 +- trunk/net/ipv6/xfrm6_tunnel.c | 2 +- trunk/net/iucv/iucv.c | 2 +- trunk/net/key/af_key.c | 2 +- trunk/net/mac80211/iface.c | 4 +- trunk/net/mac80211/main.c | 22 +- trunk/net/mac80211/mesh.h | 7 +- trunk/net/mac80211/mesh_pathtbl.c | 204 +- trunk/net/mac80211/scan.c | 5 - trunk/net/netlink/af_netlink.c | 2 +- trunk/net/packet/af_packet.c | 2 +- trunk/net/phonet/socket.c | 2 +- trunk/net/rds/ib.c | 2 +- trunk/net/rds/ib_cm.c | 2 +- trunk/net/rds/iw.c | 2 +- trunk/net/rds/iw_cm.c | 2 +- trunk/net/rds/rdma_transport.c | 3 +- trunk/net/rfkill/Kconfig | 9 - trunk/net/rfkill/Makefile | 1 - trunk/net/rfkill/rfkill-gpio.c | 227 -- trunk/net/sched/sch_sfq.c | 22 +- trunk/net/sctp/associola.c | 16 - trunk/net/sctp/proc.c | 4 +- trunk/net/sunrpc/auth.c | 4 +- .../net/sunrpc/xprtrdma/svc_rdma_transport.c | 3 +- trunk/net/sunrpc/xprtrdma/verbs.c | 2 +- trunk/net/unix/af_unix.c | 2 +- trunk/net/wireless/core.h | 5 +- trunk/net/wireless/nl80211.c | 12 +- trunk/net/wireless/sme.c | 19 +- trunk/net/wireless/util.c | 2 +- trunk/scripts/checkpatch.pl | 13 +- trunk/scripts/checkversion.pl | 1 - trunk/scripts/export_report.pl | 26 +- trunk/scripts/kconfig/Makefile | 38 +- trunk/scripts/kconfig/confdata.c | 20 +- trunk/scripts/kconfig/expr.h | 4 + trunk/scripts/kconfig/gconf.c | 12 +- trunk/scripts/kconfig/lex.zconf.c_shipped | 33 +- trunk/scripts/kconfig/nconf.c | 14 +- trunk/scripts/kconfig/qconf.cc | 5 +- trunk/scripts/kconfig/zconf.l | 33 +- trunk/scripts/package/Makefile | 4 +- trunk/scripts/package/mkspec | 19 +- trunk/scripts/patch-kernel | 2 +- trunk/security/device_cgroup.c | 3 +- trunk/security/keys/process_keys.c | 1 - trunk/security/selinux/avc.c | 12 +- trunk/security/selinux/ss/services.c | 3 +- trunk/sound/core/control.c | 3 +- trunk/sound/core/init.c | 3 + trunk/sound/core/oss/linear.c | 3 + trunk/sound/core/pcm_lib.c | 17 +- trunk/sound/core/pcm_native.c | 21 +- trunk/sound/core/seq/seq_queue.c | 2 + trunk/sound/pci/hda/hda_codec.c | 2 +- trunk/sound/pci/hda/hda_eld.c | 21 +- trunk/sound/pci/hda/hda_intel.c | 206 +- trunk/sound/pci/hda/patch_analog.c | 1 - trunk/sound/pci/hda/patch_conexant.c | 42 +- trunk/sound/pci/hda/patch_hdmi.c | 123 +- trunk/sound/soc/atmel/sam9g20_wm8731.c | 2 +- trunk/sound/soc/codecs/cq93vc.c | 3 +- trunk/sound/soc/codecs/twl4030.c | 6 +- trunk/sound/soc/codecs/wl1273.c | 3 +- trunk/sound/soc/codecs/wm1250-ev1.c | 2 +- trunk/sound/soc/codecs/wm8400.c | 2 +- trunk/sound/soc/codecs/wm8731.c | 2 +- trunk/sound/soc/codecs/wm8915.c | 1 + trunk/sound/soc/davinci/davinci-vcif.c | 2 +- trunk/sound/soc/omap/Kconfig | 8 + trunk/sound/soc/omap/Makefile | 1 + trunk/sound/soc/omap/omap2evm.c | 139 + trunk/sound/soc/pxa/raumfeld.c | 92 +- trunk/sound/soc/soc-core.c | 8 +- trunk/sound/soc/soc-dapm.c | 2 +- trunk/sound/usb/card.c | 17 +- trunk/sound/usb/mixer.c | 32 +- trunk/sound/usb/mixer.h | 14 +- trunk/sound/usb/mixer_quirks.c | 70 - trunk/sound/usb/quirks-table.h | 4 +- trunk/sound/usb/quirks.c | 18 +- trunk/sound/usb/usbaudio.h | 1 - 1545 files changed, 21539 insertions(+), 75676 deletions(-) rename trunk/Documentation/ABI/{removed => obsolete}/o2cb (65%) delete mode 100644 trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache delete mode 100644 trunk/Documentation/ABI/testing/sysfs-ptp delete mode 100644 trunk/Documentation/hwmon/emc6w201 delete mode 100644 trunk/Documentation/hwmon/fam15h_power delete mode 100644 trunk/Documentation/mmc/mmc-dev-parts.txt delete mode 100644 trunk/Documentation/ptp/ptp.txt delete mode 100644 trunk/Documentation/ptp/testptp.c delete mode 100644 trunk/Documentation/ptp/testptp.mk delete mode 100644 trunk/Documentation/vm/cleancache.txt delete mode 100644 trunk/arch/alpha/include/asm/gpio.h delete mode 100644 trunk/arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h create mode 100644 trunk/arch/arm/mach-omap2/board-igep0030.c delete mode 100644 trunk/arch/arm/mach-omap2/common-board-devices.c delete mode 100644 trunk/arch/arm/mach-omap2/common-board-devices.h delete mode 100644 trunk/arch/arm/mach-shmobile/cpuidle.c delete mode 100644 trunk/arch/arm/mach-shmobile/pm-sh7372.c delete mode 100644 trunk/arch/arm/mach-shmobile/sleep-sh7372.S delete mode 100644 trunk/arch/arm/mach-shmobile/suspend.c create mode 100644 trunk/arch/arm/mach-ux500/cpufreq.c delete mode 100644 trunk/arch/arm/mach-ux500/include/mach/irqs-board-u5500.h create mode 100644 trunk/arch/arm/mach-ux500/include/mach/prcmu-defs.h rename trunk/{drivers/mfd/db5500-prcmu-regs.h => arch/arm/mach-ux500/include/mach/prcmu-regs.h} (80%) create mode 100644 trunk/arch/arm/mach-ux500/include/mach/prcmu.h create mode 100644 trunk/arch/arm/mach-ux500/prcmu.c rename trunk/{include/video/omapdss.h => arch/arm/plat-omap/include/plat/display.h} (85%) rename trunk/{include/video/omap-panel-nokia-dsi.h => arch/arm/plat-omap/include/plat/nokia-dsi-panel.h} (65%) rename trunk/{include/video/omap-panel-generic-dpi.h => arch/arm/plat-omap/include/plat/panel-generic-dpi.h} (86%) delete mode 100644 trunk/arch/blackfin/include/asm/bfin_pfmon.h delete mode 100644 trunk/arch/blackfin/include/asm/perf_event.h delete mode 100644 trunk/arch/blackfin/include/mach-common/irq.h delete mode 100644 trunk/arch/blackfin/kernel/debug-mmrs.c delete mode 100644 trunk/arch/blackfin/kernel/perf_event.c delete mode 100644 trunk/arch/powerpc/sysdev/ppc4xx_msi.c create mode 100644 trunk/arch/s390/include/asm/s390_ext.h create mode 100644 trunk/arch/s390/kernel/s390_ext.c create mode 100644 trunk/arch/tile/configs/tile_defconfig delete mode 100644 trunk/arch/tile/configs/tilegx_defconfig delete mode 100644 trunk/arch/tile/configs/tilepro_defconfig delete mode 100644 trunk/arch/tile/include/arch/chip_tilegx.h delete mode 100644 trunk/arch/tile/include/arch/interrupts_64.h delete mode 100644 trunk/arch/tile/include/arch/spr_def_64.h delete mode 100644 trunk/arch/tile/include/asm/atomic_64.h delete mode 100644 trunk/arch/tile/include/asm/bitops_64.h delete mode 100644 trunk/arch/tile/include/asm/fb.h delete mode 100644 trunk/arch/tile/include/asm/parport.h delete mode 100644 trunk/arch/tile/include/asm/pgtable_64.h delete mode 100644 trunk/arch/tile/include/asm/serial.h delete mode 100644 trunk/arch/tile/include/asm/spinlock_64.h rename trunk/arch/tile/include/{asm/vga.h => hv/pagesize.h} (52%) delete mode 100644 trunk/arch/tile/kernel/futex_64.S delete mode 100644 trunk/arch/tile/kernel/head_64.S delete mode 100644 trunk/arch/tile/kernel/intvec_64.S delete mode 100644 trunk/arch/tile/kernel/regs_64.S delete mode 100644 trunk/arch/tile/kernel/tile-desc_64.c delete mode 100644 trunk/arch/tile/lib/memchr_64.c delete mode 100644 trunk/arch/tile/lib/memcpy_64.c delete mode 100644 trunk/arch/tile/lib/memcpy_user_64.c delete mode 100644 trunk/arch/tile/lib/memset_64.c delete mode 100644 trunk/arch/tile/lib/spinlock_64.c delete mode 100644 trunk/arch/tile/lib/strchr_64.c delete mode 100644 trunk/arch/tile/lib/strlen_64.c delete mode 100644 trunk/arch/tile/lib/usercopy_64.S delete mode 100644 trunk/arch/tile/mm/migrate_64.S create mode 100644 trunk/arch/um/drivers/mcast.h create mode 100644 trunk/arch/um/drivers/mcast_kern.c create mode 100644 trunk/arch/um/drivers/mcast_user.c delete mode 100644 trunk/arch/um/drivers/umcast.h delete mode 100644 trunk/arch/um/drivers/umcast_kern.c delete mode 100644 trunk/arch/um/drivers/umcast_user.c delete mode 100644 trunk/arch/um/kernel/early_printk.c delete mode 100644 trunk/arch/x86/include/asm/vvar.h delete mode 100644 trunk/arch/x86/kernel/vread_tsc_64.c create mode 100644 trunk/arch/x86/vdso/vextern.h create mode 100644 trunk/arch/x86/vdso/vvar.c create mode 100644 trunk/arch/xtensa/mm/pgtable.c rename trunk/drivers/{hwmon/acpi_power_meter.c => acpi/power_meter.c} (100%) delete mode 100644 trunk/drivers/block/xen-blkback/Makefile delete mode 100644 trunk/drivers/block/xen-blkback/blkback.c delete mode 100644 trunk/drivers/block/xen-blkback/common.h delete mode 100644 trunk/drivers/block/xen-blkback/xenbus.c delete mode 100644 trunk/drivers/cpufreq/db8500-cpufreq.c delete mode 100644 trunk/drivers/gpio/tps65910-gpio.c delete mode 100644 trunk/drivers/hwmon/emc6w201.c delete mode 100644 trunk/drivers/hwmon/fam15h_power.c delete mode 100644 trunk/drivers/infiniband/core/netlink.c delete mode 100644 trunk/drivers/input/keyboard/pmic8xxx-keypad.c delete mode 100644 trunk/drivers/input/misc/pmic8xxx-pwrkey.c delete mode 100644 trunk/drivers/leds/leds-asic3.c delete mode 100644 trunk/drivers/leds/leds-gpio-register.c create mode 100644 trunk/drivers/leds/leds-h1940.c delete mode 100644 trunk/drivers/media/rc/fintek-cir.c delete mode 100644 trunk/drivers/media/rc/fintek-cir.h delete mode 100644 trunk/drivers/media/video/m5mols/Kconfig delete mode 100644 trunk/drivers/media/video/m5mols/Makefile delete mode 100644 trunk/drivers/media/video/m5mols/m5mols.h delete mode 100644 trunk/drivers/media/video/m5mols/m5mols_capture.c delete mode 100644 trunk/drivers/media/video/m5mols/m5mols_controls.c delete mode 100644 trunk/drivers/media/video/m5mols/m5mols_core.c delete mode 100644 trunk/drivers/media/video/m5mols/m5mols_reg.h delete mode 100644 trunk/drivers/media/video/uvc/uvc_entity.c delete mode 100644 trunk/drivers/mfd/db5500-prcmu.c delete mode 100644 trunk/drivers/mfd/db8500-prcmu-regs.h delete mode 100644 trunk/drivers/mfd/db8500-prcmu.c delete mode 100644 trunk/drivers/mfd/pm8921-core.c delete mode 100644 trunk/drivers/mfd/pm8xxx-irq.c delete mode 100644 trunk/drivers/mfd/tps65910-irq.c delete mode 100644 trunk/drivers/mfd/tps65910.c delete mode 100644 trunk/drivers/mfd/tps65911-comparator.c delete mode 100644 trunk/drivers/mmc/host/vub300.c delete mode 100644 trunk/drivers/net/gianfar_ptp.c delete mode 100644 trunk/drivers/net/phy/dp83640.c delete mode 100644 trunk/drivers/net/phy/dp83640_reg.h delete mode 100644 trunk/drivers/power/ds2780_battery.c delete mode 100644 trunk/drivers/power/max8903_charger.c delete mode 100644 trunk/drivers/ptp/Kconfig delete mode 100644 trunk/drivers/ptp/Makefile delete mode 100644 trunk/drivers/ptp/ptp_chardev.c delete mode 100644 trunk/drivers/ptp/ptp_clock.c delete mode 100644 trunk/drivers/ptp/ptp_ixp46x.c delete mode 100644 trunk/drivers/ptp/ptp_private.h delete mode 100644 trunk/drivers/ptp/ptp_sysfs.c delete mode 100644 trunk/drivers/regulator/db8500-prcmu.c delete mode 100644 trunk/drivers/regulator/tps65910-regulator.c delete mode 100644 trunk/drivers/rtc/rtc-88pm860x.c delete mode 100644 trunk/drivers/rtc/rtc-em3027.c delete mode 100644 trunk/drivers/rtc/rtc-m41t93.c delete mode 100644 trunk/drivers/rtc/rtc-rv3029c2.c delete mode 100644 trunk/drivers/rtc/rtc-spear.c delete mode 100644 trunk/drivers/rtc/rtc-tile.c delete mode 100644 trunk/drivers/rtc/rtc-vt8500.c delete mode 100644 trunk/drivers/video/mb862xx/mb862xx-i2c.c rename trunk/drivers/video/mb862xx/{mb862xxfbdrv.c => mb862xxfb.c} (86%) create mode 100644 trunk/drivers/video/omap/lcd_omap2evm.c delete mode 100644 trunk/drivers/video/omap2/dss/dispc.h delete mode 100644 trunk/drivers/video/sh_mobile_meram.c delete mode 100644 trunk/drivers/video/sh_mobile_meram.h delete mode 100644 trunk/drivers/w1/slaves/w1_ds2408.c delete mode 100644 trunk/drivers/w1/slaves/w1_ds2780.c delete mode 100644 trunk/drivers/w1/slaves/w1_ds2780.h delete mode 100644 trunk/drivers/xen/tmem.c delete mode 100644 trunk/fs/ext4/mmp.c delete mode 100644 trunk/fs/proc/namespaces.c delete mode 100644 trunk/include/asm-generic/ptrace.h delete mode 100644 trunk/include/linux/cleancache.h delete mode 100644 trunk/include/linux/input/pmic8xxx-keypad.h delete mode 100644 trunk/include/linux/input/pmic8xxx-pwrkey.h delete mode 100644 trunk/include/linux/mfd/db5500-prcmu.h delete mode 100644 trunk/include/linux/mfd/db8500-prcmu.h delete mode 100644 trunk/include/linux/mfd/pm8xxx/core.h delete mode 100644 trunk/include/linux/mfd/pm8xxx/irq.h delete mode 100644 trunk/include/linux/mfd/pm8xxx/pm8921.h delete mode 100644 trunk/include/linux/mfd/tps65910.h delete mode 100644 trunk/include/linux/mmc/Kbuild delete mode 100644 trunk/include/linux/mmc/ioctl.h delete mode 100644 trunk/include/linux/power/isp1704_charger.h delete mode 100644 trunk/include/linux/power/max8903_charger.h delete mode 100644 trunk/include/linux/ptp_clock.h delete mode 100644 trunk/include/linux/ptp_clock_kernel.h delete mode 100644 trunk/include/linux/regulator/db8500-prcmu.h delete mode 100644 trunk/include/linux/rfkill-gpio.h delete mode 100644 trunk/include/linux/vm_event_item.h delete mode 100644 trunk/include/media/m5mols.h delete mode 100644 trunk/include/rdma/rdma_netlink.h delete mode 100644 trunk/include/trace/events/gpio.h delete mode 100644 trunk/include/video/sh_mobile_meram.h create mode 100644 trunk/kernel/ns_cgroup.c delete mode 100644 trunk/mm/cleancache.c delete mode 100644 trunk/net/rfkill/rfkill-gpio.c create mode 100644 trunk/sound/soc/omap/omap2evm.c diff --git a/[refs] b/[refs] index e5f3b9fe9db9..150e0af937bb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 95948c31bec26e631ecf138cb04dcd547519c7af +refs/heads/master: 6aea6f5068cb86e89a6ac243c3fc131045b6563a diff --git a/trunk/.mailmap b/trunk/.mailmap index 353ad5607156..5a6dd592eedc 100644 --- a/trunk/.mailmap +++ b/trunk/.mailmap @@ -32,7 +32,6 @@ Brian Avery Brian King Christoph Hellwig Corey Minyard -Damian Hobson-Garcia David Brownell David Woodhouse Dmitry Eremin-Solenikov diff --git a/trunk/CREDITS b/trunk/CREDITS index a7ea8e343836..95c469c610bc 100644 --- a/trunk/CREDITS +++ b/trunk/CREDITS @@ -2943,10 +2943,6 @@ S: Kasarmikatu 11 A4 S: 70110 Kuopio S: Finland -N: Tobias Ringström -E: tori@unhappy.mine.nu -D: Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver - N: Luca Risolia E: luca.risolia@studio.unibo.it P: 1024D/FCE635A4 88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4 @@ -3917,10 +3913,6 @@ S: Flandernstrasse 101 S: D-73732 Esslingen S: Germany -N: Roman Zippel -E: zippel@linux-m68k.org -D: AFFS and HFS filesystems, m68k maintainer, new kernel configuration in 2.5 - N: Leonard N. Zubkoff W: http://www.dandelion.com/Linux/ D: BusLogic SCSI driver diff --git a/trunk/Documentation/ABI/removed/o2cb b/trunk/Documentation/ABI/obsolete/o2cb similarity index 65% rename from trunk/Documentation/ABI/removed/o2cb rename to trunk/Documentation/ABI/obsolete/o2cb index 7f5daa465093..9c49d8e6c0cc 100644 --- a/trunk/Documentation/ABI/removed/o2cb +++ b/trunk/Documentation/ABI/obsolete/o2cb @@ -1,10 +1,11 @@ What: /sys/o2cb symlink -Date: May 2011 -KernelVersion: 2.6.40 +Date: Dec 2005 +KernelVersion: 2.6.16 Contact: ocfs2-devel@oss.oracle.com -Description: This is a symlink: /sys/o2cb to /sys/fs/o2cb. The symlink is - removed when new versions of ocfs2-tools which know to look +Description: This is a symlink: /sys/o2cb to /sys/fs/o2cb. The symlink will + be removed when new versions of ocfs2-tools which know to look in /sys/fs/o2cb are sufficiently prevalent. Don't code new software to look here, it should try /sys/fs/o2cb instead. + See Documentation/ABI/stable/o2cb for more information on usage. Users: ocfs2-tools. It's sufficient to mail proposed changes to ocfs2-devel@oss.oracle.com. diff --git a/trunk/Documentation/ABI/testing/sysfs-block b/trunk/Documentation/ABI/testing/sysfs-block index c1eb41cb9876..4873c759d535 100644 --- a/trunk/Documentation/ABI/testing/sysfs-block +++ b/trunk/Documentation/ABI/testing/sysfs-block @@ -142,67 +142,3 @@ Description: with the previous I/O request are enabled. When set to 2, all merge tries are disabled. The default value is 0 - which enables all types of merge tries. - -What: /sys/block//discard_alignment -Date: May 2011 -Contact: Martin K. Petersen -Description: - Devices that support discard functionality may - internally allocate space in units that are bigger than - the exported logical block size. The discard_alignment - parameter indicates how many bytes the beginning of the - device is offset from the internal allocation unit's - natural alignment. - -What: /sys/block///discard_alignment -Date: May 2011 -Contact: Martin K. Petersen -Description: - Devices that support discard functionality may - internally allocate space in units that are bigger than - the exported logical block size. The discard_alignment - parameter indicates how many bytes the beginning of the - partition is offset from the internal allocation unit's - natural alignment. - -What: /sys/block//queue/discard_granularity -Date: May 2011 -Contact: Martin K. Petersen -Description: - Devices that support discard functionality may - internally allocate space using units that are bigger - than the logical block size. The discard_granularity - parameter indicates the size of the internal allocation - unit in bytes if reported by the device. Otherwise the - discard_granularity will be set to match the device's - physical block size. A discard_granularity of 0 means - that the device does not support discard functionality. - -What: /sys/block//queue/discard_max_bytes -Date: May 2011 -Contact: Martin K. Petersen -Description: - Devices that support discard functionality may have - internal limits on the number of bytes that can be - trimmed or unmapped in a single operation. Some storage - protocols also have inherent limits on the number of - blocks that can be described in a single command. The - discard_max_bytes parameter is set by the device driver - to the maximum number of bytes that can be discarded in - a single operation. Discard requests issued to the - device must not exceed this limit. A discard_max_bytes - value of 0 means that the device does not support - discard functionality. - -What: /sys/block//queue/discard_zeroes_data -Date: May 2011 -Contact: Martin K. Petersen -Description: - Devices that support discard functionality may return - stale or random data when a previously discarded block - is read back. This can cause problems if the filesystem - expects discarded blocks to be explicitly cleared. If a - device reports that it deterministically returns zeroes - when a discarded area is read the discard_zeroes_data - parameter will be set to one. Otherwise it will be 0 and - the result of reading a discarded area is undefined. diff --git a/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache b/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache deleted file mode 100644 index 662ae646ea12..000000000000 --- a/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache +++ /dev/null @@ -1,11 +0,0 @@ -What: /sys/kernel/mm/cleancache/ -Date: April 2011 -Contact: Dan Magenheimer -Description: - /sys/kernel/mm/cleancache/ contains a number of files which - record a count of various cleancache operations - (sum across all filesystems): - succ_gets - failed_gets - puts - flushes diff --git a/trunk/Documentation/ABI/testing/sysfs-ptp b/trunk/Documentation/ABI/testing/sysfs-ptp deleted file mode 100644 index d40d2b550502..000000000000 --- a/trunk/Documentation/ABI/testing/sysfs-ptp +++ /dev/null @@ -1,98 +0,0 @@ -What: /sys/class/ptp/ -Date: September 2010 -Contact: Richard Cochran -Description: - This directory contains files and directories - providing a standardized interface to the ancillary - features of PTP hardware clocks. - -What: /sys/class/ptp/ptpN/ -Date: September 2010 -Contact: Richard Cochran -Description: - This directory contains the attributes of the Nth PTP - hardware clock registered into the PTP class driver - subsystem. - -What: /sys/class/ptp/ptpN/clock_name -Date: September 2010 -Contact: Richard Cochran -Description: - This file contains the name of the PTP hardware clock - as a human readable string. - -What: /sys/class/ptp/ptpN/max_adjustment -Date: September 2010 -Contact: Richard Cochran -Description: - This file contains the PTP hardware clock's maximum - frequency adjustment value (a positive integer) in - parts per billion. - -What: /sys/class/ptp/ptpN/n_alarms -Date: September 2010 -Contact: Richard Cochran -Description: - This file contains the number of periodic or one shot - alarms offer by the PTP hardware clock. - -What: /sys/class/ptp/ptpN/n_external_timestamps -Date: September 2010 -Contact: Richard Cochran -Description: - This file contains the number of external timestamp - channels offered by the PTP hardware clock. - -What: /sys/class/ptp/ptpN/n_periodic_outputs -Date: September 2010 -Contact: Richard Cochran -Description: - This file contains the number of programmable periodic - output channels offered by the PTP hardware clock. - -What: /sys/class/ptp/ptpN/pps_avaiable -Date: September 2010 -Contact: Richard Cochran -Description: - This file indicates whether the PTP hardware clock - supports a Pulse Per Second to the host CPU. Reading - "1" means that the PPS is supported, while "0" means - not supported. - -What: /sys/class/ptp/ptpN/extts_enable -Date: September 2010 -Contact: Richard Cochran -Description: - This write-only file enables or disables external - timestamps. To enable external timestamps, write the - channel index followed by a "1" into the file. - To disable external timestamps, write the channel - index followed by a "0" into the file. - -What: /sys/class/ptp/ptpN/fifo -Date: September 2010 -Contact: Richard Cochran -Description: - This file provides timestamps on external events, in - the form of three integers: channel index, seconds, - and nanoseconds. - -What: /sys/class/ptp/ptpN/period -Date: September 2010 -Contact: Richard Cochran -Description: - This write-only file enables or disables periodic - outputs. To enable a periodic output, write five - integers into the file: channel index, start time - seconds, start time nanoseconds, period seconds, and - period nanoseconds. To disable a periodic output, set - all the seconds and nanoseconds values to zero. - -What: /sys/class/ptp/ptpN/pps_enable -Date: September 2010 -Contact: Richard Cochran -Description: - This write-only file enables or disables delivery of - PPS events to the Linux PPS subsystem. To enable PPS - events, write a "1" into the file. To disable events, - write a "0" into the file. diff --git a/trunk/Documentation/DocBook/dvb/dvbproperty.xml b/trunk/Documentation/DocBook/dvb/dvbproperty.xml index b5365f61d69b..52d5e3c7cf6c 100644 --- a/trunk/Documentation/DocBook/dvb/dvbproperty.xml +++ b/trunk/Documentation/DocBook/dvb/dvbproperty.xml @@ -141,15 +141,13 @@ struct dtv_properties { -
- Property types On FE_GET_PROPERTY/FE_SET_PROPERTY, the actual action is determined by the dtv_property cmd/data pairs. With one single ioctl, is possible to get/set up to 64 properties. The actual meaning of each property is described on the next sections. -The available frontend property types are: +The Available frontend property types are: #define DTV_UNDEFINED 0 #define DTV_TUNE 1 @@ -195,7 +193,6 @@ get/set up to 64 properties. The actual meaning of each property is described on #define DTV_ISDBT_LAYER_ENABLED 41 #define DTV_ISDBS_TS_ID 42 -
Parameters that are common to all Digital TV standards diff --git a/trunk/Documentation/DocBook/media-entities.tmpl b/trunk/Documentation/DocBook/media-entities.tmpl index e5fe09430fd9..c8abb23ef1e7 100644 --- a/trunk/Documentation/DocBook/media-entities.tmpl +++ b/trunk/Documentation/DocBook/media-entities.tmpl @@ -293,7 +293,6 @@ - @@ -374,9 +373,9 @@ - - - + + + diff --git a/trunk/Documentation/DocBook/v4l/media-controller.xml b/trunk/Documentation/DocBook/v4l/media-controller.xml index 873ac3a621f0..2dc25e1d4089 100644 --- a/trunk/Documentation/DocBook/v4l/media-controller.xml +++ b/trunk/Documentation/DocBook/v4l/media-controller.xml @@ -78,9 +78,9 @@ Function Reference - &sub-media-func-open; - &sub-media-func-close; - &sub-media-func-ioctl; + &sub-media-open; + &sub-media-close; + &sub-media-ioctl; &sub-media-ioc-device-info; &sub-media-ioc-enum-entities; diff --git a/trunk/Documentation/DocBook/v4l/pixfmt.xml b/trunk/Documentation/DocBook/v4l/pixfmt.xml index deb660207f94..dbfe3b08435f 100644 --- a/trunk/Documentation/DocBook/v4l/pixfmt.xml +++ b/trunk/Documentation/DocBook/v4l/pixfmt.xml @@ -673,7 +673,6 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< &sub-srggb8; &sub-sbggr16; &sub-srggb10; - &sub-srggb12;
diff --git a/trunk/Documentation/DocBook/v4l/subdev-formats.xml b/trunk/Documentation/DocBook/v4l/subdev-formats.xml index 8d3409d2c632..a26b10c07857 100644 --- a/trunk/Documentation/DocBook/v4l/subdev-formats.xml +++ b/trunk/Documentation/DocBook/v4l/subdev-formats.xml @@ -2531,13 +2531,13 @@ _JPEG prefix the format code is made of the following information. - The number of bus samples per entropy encoded byte. - The bus width. + The number of bus samples per entropy encoded byte. + The bus width. - - For instance, for a JPEG baseline process and an 8-bit bus width - the format will be named V4L2_MBUS_FMT_JPEG_1X8. + For instance, for a JPEG baseline process and an 8-bit bus width + the format will be named V4L2_MBUS_FMT_JPEG_1X8. + The following table lists existing JPEG compressed formats. diff --git a/trunk/Documentation/IRQ-affinity.txt b/trunk/Documentation/IRQ-affinity.txt index 7890fae18529..b4a615b78403 100644 --- a/trunk/Documentation/IRQ-affinity.txt +++ b/trunk/Documentation/IRQ-affinity.txt @@ -4,11 +4,10 @@ ChangeLog: SMP IRQ affinity -/proc/irq/IRQ#/smp_affinity and /proc/irq/IRQ#/smp_affinity_list specify -which target CPUs are permitted for a given IRQ source. It's a bitmask -(smp_affinity) or cpu list (smp_affinity_list) of allowed CPUs. It's not -allowed to turn off all CPUs, and if an IRQ controller does not support -IRQ affinity then the value will not change from the default of all cpus. +/proc/irq/IRQ#/smp_affinity specifies which target CPUs are permitted +for a given IRQ source. It's a bitmask of allowed CPUs. It's not allowed +to turn off all CPUs, and if an IRQ controller does not support IRQ +affinity then the value will not change from the default 0xffffffff. /proc/irq/default_smp_affinity specifies default affinity mask that applies to all non-active IRQs. Once IRQ is allocated/activated its affinity bitmask @@ -55,11 +54,3 @@ round-trip min/avg/max = 0.1/0.5/585.4 ms This time around IRQ44 was delivered only to the last four processors. i.e counters for the CPU0-3 did not change. -Here is an example of limiting that same irq (44) to cpus 1024 to 1031: - -[root@moon 44]# echo 1024-1031 > smp_affinity -[root@moon 44]# cat smp_affinity -1024-1031 - -Note that to do this with a bitmask would require 32 bitmasks of zero -to follow the pertinent one. diff --git a/trunk/Documentation/accounting/getdelays.c b/trunk/Documentation/accounting/getdelays.c index f6318f6d7baf..e9c77788a39d 100644 --- a/trunk/Documentation/accounting/getdelays.c +++ b/trunk/Documentation/accounting/getdelays.c @@ -177,8 +177,6 @@ static int get_family_id(int sd) rc = send_cmd(sd, GENL_ID_CTRL, getpid(), CTRL_CMD_GETFAMILY, CTRL_ATTR_FAMILY_NAME, (void *)name, strlen(TASKSTATS_GENL_NAME)+1); - if (rc < 0) - return 0; /* sendto() failure? */ rep_len = recv(sd, &ans, sizeof(ans), 0); if (ans.n.nlmsg_type == NLMSG_ERROR || @@ -193,37 +191,30 @@ static int get_family_id(int sd) return id; } -#define average_ms(t, c) (t / 1000000ULL / (c ? c : 1)) - static void print_delayacct(struct taskstats *t) { - printf("\n\nCPU %15s%15s%15s%15s%15s\n" - " %15llu%15llu%15llu%15llu%15.3fms\n" - "IO %15s%15s%15s\n" - " %15llu%15llu%15llums\n" - "SWAP %15s%15s%15s\n" - " %15llu%15llu%15llums\n" - "RECLAIM %12s%15s%15s\n" - " %15llu%15llu%15llums\n", - "count", "real total", "virtual total", - "delay total", "delay average", + printf("\n\nCPU %15s%15s%15s%15s\n" + " %15llu%15llu%15llu%15llu\n" + "IO %15s%15s\n" + " %15llu%15llu\n" + "SWAP %15s%15s\n" + " %15llu%15llu\n" + "RECLAIM %12s%15s\n" + " %15llu%15llu\n", + "count", "real total", "virtual total", "delay total", (unsigned long long)t->cpu_count, (unsigned long long)t->cpu_run_real_total, (unsigned long long)t->cpu_run_virtual_total, (unsigned long long)t->cpu_delay_total, - average_ms((double)t->cpu_delay_total, t->cpu_count), - "count", "delay total", "delay average", + "count", "delay total", (unsigned long long)t->blkio_count, (unsigned long long)t->blkio_delay_total, - average_ms(t->blkio_delay_total, t->blkio_count), - "count", "delay total", "delay average", + "count", "delay total", (unsigned long long)t->swapin_count, (unsigned long long)t->swapin_delay_total, - average_ms(t->swapin_delay_total, t->swapin_count), - "count", "delay total", "delay average", + "count", "delay total", (unsigned long long)t->freepages_count, - (unsigned long long)t->freepages_delay_total, - average_ms(t->freepages_delay_total, t->freepages_count)); + (unsigned long long)t->freepages_delay_total); } static void task_context_switch_counts(struct taskstats *t) @@ -442,6 +433,8 @@ int main(int argc, char *argv[]) } do { + int i; + rep_len = recv(nl_sd, &msg, sizeof(msg), 0); PRINTF("received %d bytes\n", rep_len); @@ -466,6 +459,7 @@ int main(int argc, char *argv[]) na = (struct nlattr *) GENLMSG_DATA(&msg); len = 0; + i = 0; while (len < rep_len) { len += NLA_ALIGN(na->nla_len); switch (na->nla_type) { diff --git a/trunk/Documentation/atomic_ops.txt b/trunk/Documentation/atomic_ops.txt index 3bd585b44927..ac4d47187122 100644 --- a/trunk/Documentation/atomic_ops.txt +++ b/trunk/Documentation/atomic_ops.txt @@ -12,7 +12,7 @@ Also, it should be made opaque such that any kind of cast to a normal C integer type will fail. Something like the following should suffice: - typedef struct { int counter; } atomic_t; + typedef struct { volatile int counter; } atomic_t; Historically, counter has been declared volatile. This is now discouraged. See Documentation/volatile-considered-harmful.txt for the complete rationale. diff --git a/trunk/Documentation/blockdev/cciss.txt b/trunk/Documentation/blockdev/cciss.txt index c00c6a5ab21f..89698e8df7d4 100644 --- a/trunk/Documentation/blockdev/cciss.txt +++ b/trunk/Documentation/blockdev/cciss.txt @@ -169,18 +169,3 @@ is issued which positions the tape to a known position. Typically you must rewind the tape (by issuing "mt -f /dev/st0 rewind" for example) before i/o can proceed again to a tape drive which was reset. -There is a cciss_tape_cmds module parameter which can be used to make cciss -allocate more commands for use by tape drives. Ordinarily only a few commands -(6) are allocated for tape drives because tape drives are slow and -infrequently used and the primary purpose of Smart Array controllers is to -act as a RAID controller for disk drives, so the vast majority of commands -are allocated for disk devices. However, if you have more than a few tape -drives attached to a smart array, the default number of commands may not be -enought (for example, if you have 8 tape drives, you could only rewind 6 -at one time with the default number of commands.) The cciss_tape_cmds module -parameter allows more commands (up to 16 more) to be allocated for use by -tape drives. For example: - - insmod cciss.ko cciss_tape_cmds=16 - -Or, as a kernel boot parameter passed in via grub: cciss.cciss_tape_cmds=8 diff --git a/trunk/Documentation/cachetlb.txt b/trunk/Documentation/cachetlb.txt index 9b728dc17535..9164ae3b83bc 100644 --- a/trunk/Documentation/cachetlb.txt +++ b/trunk/Documentation/cachetlb.txt @@ -16,7 +16,7 @@ on all processors in the system. Don't let this scare you into thinking SMP cache/tlb flushing must be so inefficient, this is in fact an area where many optimizations are possible. For example, if it can be proven that a user address space has never executed -on a cpu (see mm_cpumask()), one need not perform a flush +on a cpu (see vma->cpu_vm_mask), one need not perform a flush for this address space on that cpu. First, the TLB flushing interfaces, since they are the simplest. The diff --git a/trunk/Documentation/cgroups/cgroups.txt b/trunk/Documentation/cgroups/cgroups.txt index 0ed99f08f1f3..aedf1bd02fdd 100644 --- a/trunk/Documentation/cgroups/cgroups.txt +++ b/trunk/Documentation/cgroups/cgroups.txt @@ -236,8 +236,7 @@ containing the following files describing that cgroup: - cgroup.procs: list of tgids in the cgroup. This list is not guaranteed to be sorted or free of duplicate tgids, and userspace should sort/uniquify the list if this property is required. - Writing a thread group id into this file moves all threads in that - group into this cgroup. + This is a read-only file, for now. - notify_on_release flag: run the release agent on exit? - release_agent: the path to use for release notifications (this file exists in the top cgroup only) @@ -431,12 +430,6 @@ You can attach the current shell task by echoing 0: # echo 0 > tasks -You can use the cgroup.procs file instead of the tasks file to move all -threads in a threadgroup at once. Echoing the pid of any task in a -threadgroup to cgroup.procs causes all tasks in that threadgroup to be -be attached to the cgroup. Writing 0 to cgroup.procs moves all tasks -in the writing task's threadgroup. - Note: Since every task is always a member of exactly one cgroup in each mounted hierarchy, to remove a task from its current cgroup you must move it into a new cgroup (possibly the root cgroup) by writing to the @@ -582,7 +575,7 @@ rmdir() will fail with it. From this behavior, pre_destroy() can be called multiple times against a cgroup. int can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp, - struct task_struct *task) + struct task_struct *task, bool threadgroup) (cgroup_mutex held by caller) Called prior to moving a task into a cgroup; if the subsystem @@ -591,14 +584,9 @@ task is passed, then a successful result indicates that *any* unspecified task can be moved into the cgroup. Note that this isn't called on a fork. If this method returns 0 (success) then this should remain valid while the caller holds cgroup_mutex and it is ensured that either -attach() or cancel_attach() will be called in future. - -int can_attach_task(struct cgroup *cgrp, struct task_struct *tsk); -(cgroup_mutex held by caller) - -As can_attach, but for operations that must be run once per task to be -attached (possibly many when using cgroup_attach_proc). Called after -can_attach. +attach() or cancel_attach() will be called in future. If threadgroup is +true, then a successful result indicates that all threads in the given +thread's threadgroup can be moved together. void cancel_attach(struct cgroup_subsys *ss, struct cgroup *cgrp, struct task_struct *task, bool threadgroup) @@ -610,24 +598,15 @@ function, so that the subsystem can implement a rollback. If not, not necessary. This will be called only about subsystems whose can_attach() operation have succeeded. -void pre_attach(struct cgroup *cgrp); -(cgroup_mutex held by caller) - -For any non-per-thread attachment work that needs to happen before -attach_task. Needed by cpuset. - void attach(struct cgroup_subsys *ss, struct cgroup *cgrp, - struct cgroup *old_cgrp, struct task_struct *task) + struct cgroup *old_cgrp, struct task_struct *task, + bool threadgroup) (cgroup_mutex held by caller) Called after the task has been attached to the cgroup, to allow any post-attachment activity that requires memory allocations or blocking. - -void attach_task(struct cgroup *cgrp, struct task_struct *tsk); -(cgroup_mutex held by caller) - -As attach, but for operations that must be run once per task to be attached, -like can_attach_task. Called before attach. Currently does not support any +If threadgroup is true, the subsystem should take care of all threads +in the specified thread's threadgroup. Currently does not support any subsystem that might need the old_cgrp for every thread in the group. void fork(struct cgroup_subsy *ss, struct task_struct *task) @@ -651,7 +630,7 @@ always handled well. void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp) (cgroup_mutex held by caller) -Called during cgroup_create() to do any parameter +Called at the end of cgroup_clone() to do any parameter initialization which might be required before a task could attach. For example in cpusets, no task may attach before 'cpus' and 'mems' are set up. diff --git a/trunk/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/trunk/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt index 2c6be0377f55..edb7ae19e868 100644 --- a/trunk/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt +++ b/trunk/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt @@ -74,57 +74,3 @@ Example: interrupt-parent = <&mpic>; phy-handle = <&phy0> }; - -* Gianfar PTP clock nodes - -General Properties: - - - compatible Should be "fsl,etsec-ptp" - - reg Offset and length of the register set for the device - - interrupts There should be at least two interrupts. Some devices - have as many as four PTP related interrupts. - -Clock Properties: - - - fsl,tclk-period Timer reference clock period in nanoseconds. - - fsl,tmr-prsc Prescaler, divides the output clock. - - fsl,tmr-add Frequency compensation value. - - fsl,tmr-fiper1 Fixed interval period pulse generator. - - fsl,tmr-fiper2 Fixed interval period pulse generator. - - fsl,max-adj Maximum frequency adjustment in parts per billion. - - These properties set the operational parameters for the PTP - clock. You must choose these carefully for the clock to work right. - Here is how to figure good values: - - TimerOsc = system clock MHz - tclk_period = desired clock period nanoseconds - NominalFreq = 1000 / tclk_period MHz - FreqDivRatio = TimerOsc / NominalFreq (must be greater that 1.0) - tmr_add = ceil(2^32 / FreqDivRatio) - OutputClock = NominalFreq / tmr_prsc MHz - PulseWidth = 1 / OutputClock microseconds - FiperFreq1 = desired frequency in Hz - FiperDiv1 = 1000000 * OutputClock / FiperFreq1 - tmr_fiper1 = tmr_prsc * tclk_period * FiperDiv1 - tclk_period - max_adj = 1000000000 * (FreqDivRatio - 1.0) - 1 - - The calculation for tmr_fiper2 is the same as for tmr_fiper1. The - driver expects that tmr_fiper1 will be correctly set to produce a 1 - Pulse Per Second (PPS) signal, since this will be offered to the PPS - subsystem to synchronize the Linux clock. - -Example: - - ptp_clock@24E00 { - compatible = "fsl,etsec-ptp"; - reg = <0x24E00 0xB0>; - interrupts = <12 0x8 13 0x8>; - interrupt-parent = < &ipic >; - fsl,tclk-period = <10>; - fsl,tmr-prsc = <100>; - fsl,tmr-add = <0x999999A4>; - fsl,tmr-fiper1 = <0x3B9AC9F6>; - fsl,tmr-fiper2 = <0x00018696>; - fsl,max-adj = <659999998>; - }; diff --git a/trunk/Documentation/feature-removal-schedule.txt b/trunk/Documentation/feature-removal-schedule.txt index ff31b1cc50aa..95788ad2506c 100644 --- a/trunk/Documentation/feature-removal-schedule.txt +++ b/trunk/Documentation/feature-removal-schedule.txt @@ -262,6 +262,16 @@ Who: Michael Buesch --------------------------- +What: /sys/o2cb symlink +When: January 2010 +Why: /sys/fs/o2cb is the proper location for this information - /sys/o2cb + exists as a symlink for backwards compatibility for old versions of + ocfs2-tools. 2 years should be sufficient time to phase in new versions + which know to look in /sys/fs/o2cb. +Who: ocfs2-devel@oss.oracle.com + +--------------------------- + What: Ability for non root users to shm_get hugetlb pages based on mlock resource limits When: 2.6.31 diff --git a/trunk/Documentation/filesystems/9p.txt b/trunk/Documentation/filesystems/9p.txt index 13de64c7f0ab..b22abba78fed 100644 --- a/trunk/Documentation/filesystems/9p.txt +++ b/trunk/Documentation/filesystems/9p.txt @@ -25,8 +25,6 @@ Other applications are described in the following papers: http://xcpu.org/papers/cellfs-talk.pdf * PROSE I/O: Using 9p to enable Application Partitions http://plan9.escet.urjc.es/iwp9/cready/PROSE_iwp9_2006.pdf - * VirtFS: A Virtualization Aware File System pass-through - http://goo.gl/3WPDg USAGE ===== @@ -132,20 +130,31 @@ OPTIONS RESOURCES ========= -Protocol specifications are maintained on github: -http://ericvh.github.com/9p-rfc/ +Our current recommendation is to use Inferno (http://www.vitanuova.com/nferno/index.html) +as the 9p server. You can start a 9p server under Inferno by issuing the +following command: + ; styxlisten -A tcp!*!564 export '#U*' -9p client and server implementations are listed on -http://9p.cat-v.org/implementations +The -A specifies an unauthenticated export. The 564 is the port # (you may +have to choose a higher port number if running as a normal user). The '#U*' +specifies exporting the root of the Linux name space. You may specify a +subset of the namespace by extending the path: '#U*'/tmp would just export +/tmp. For more information, see the Inferno manual pages covering styxlisten +and export. -A 9p2000.L server is being developed by LLNL and can be found -at http://code.google.com/p/diod/ +A Linux version of the 9p server is now maintained under the npfs project +on sourceforge (http://sourceforge.net/projects/npfs). The currently +maintained version is the single-threaded version of the server (named spfs) +available from the same SVN repository. There are user and developer mailing lists available through the v9fs project on sourceforge (http://sourceforge.net/projects/v9fs). -News and other information is maintained on a Wiki. -(http://sf.net/apps/mediawiki/v9fs/index.php). +A stand-alone version of the module (which should build for any 2.6 kernel) +is available via (http://github.com/ericvh/9p-sac/tree/master) + +News and other information is maintained on SWiK (http://swik.net/v9fs) +and the Wiki (http://sf.net/apps/mediawiki/v9fs/index.php). Bug reports may be issued through the kernel.org bugzilla (http://bugzilla.kernel.org) diff --git a/trunk/Documentation/filesystems/configfs/configfs_example_explicit.c b/trunk/Documentation/filesystems/configfs/configfs_example_explicit.c index 1420233dfa55..fd53869f5633 100644 --- a/trunk/Documentation/filesystems/configfs/configfs_example_explicit.c +++ b/trunk/Documentation/filesystems/configfs/configfs_example_explicit.c @@ -464,8 +464,9 @@ static int __init configfs_example_init(void) return 0; out_unregister: - for (i--; i >= 0; i--) + for (; i >= 0; i--) { configfs_unregister_subsystem(example_subsys[i]); + } return ret; } @@ -474,8 +475,9 @@ static void __exit configfs_example_exit(void) { int i; - for (i = 0; example_subsys[i]; i++) + for (i = 0; example_subsys[i]; i++) { configfs_unregister_subsystem(example_subsys[i]); + } } module_init(configfs_example_init); diff --git a/trunk/Documentation/filesystems/configfs/configfs_example_macros.c b/trunk/Documentation/filesystems/configfs/configfs_example_macros.c index 327dfbc640a9..d8e30a0378aa 100644 --- a/trunk/Documentation/filesystems/configfs/configfs_example_macros.c +++ b/trunk/Documentation/filesystems/configfs/configfs_example_macros.c @@ -427,8 +427,9 @@ static int __init configfs_example_init(void) return 0; out_unregister: - for (i--; i >= 0; i--) + for (; i >= 0; i--) { configfs_unregister_subsystem(example_subsys[i]); + } return ret; } @@ -437,8 +438,9 @@ static void __exit configfs_example_exit(void) { int i; - for (i = 0; example_subsys[i]; i++) + for (i = 0; example_subsys[i]; i++) { configfs_unregister_subsystem(example_subsys[i]); + } } module_init(configfs_example_init); diff --git a/trunk/Documentation/filesystems/ext4.txt b/trunk/Documentation/filesystems/ext4.txt index 3ae9bc94352a..c79ec58fd7f6 100644 --- a/trunk/Documentation/filesystems/ext4.txt +++ b/trunk/Documentation/filesystems/ext4.txt @@ -226,6 +226,10 @@ acl Enables POSIX Access Control Lists support. noacl This option disables POSIX Access Control List support. +reservation + +noreservation + bsddf (*) Make 'df' act like BSD. minixdf Make 'df' act like Minix. diff --git a/trunk/Documentation/filesystems/ocfs2.txt b/trunk/Documentation/filesystems/ocfs2.txt index 7618a287aa41..9ed920a8cd79 100644 --- a/trunk/Documentation/filesystems/ocfs2.txt +++ b/trunk/Documentation/filesystems/ocfs2.txt @@ -46,15 +46,9 @@ 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. -noatime Do not update access time. -relatime(*) Update atime if the previous atime is older than - mtime or ctime -strictatime Always update atime, but the minimum update interval - is specified by atime_quantum. 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. This option need - work with strictatime. + Set to zero to always update atime. data=ordered (*) All data are forced directly out to the main file system prior to its metadata being committed to the journal. diff --git a/trunk/Documentation/filesystems/proc.txt b/trunk/Documentation/filesystems/proc.txt index f48178024067..60740e8ecb37 100644 --- a/trunk/Documentation/filesystems/proc.txt +++ b/trunk/Documentation/filesystems/proc.txt @@ -574,12 +574,6 @@ The contents of each smp_affinity file is the same by default: > cat /proc/irq/0/smp_affinity ffffffff -There is an alternate interface, smp_affinity_list which allows specifying -a cpu range instead of a bitmask: - - > cat /proc/irq/0/smp_affinity_list - 1024-1031 - The default_smp_affinity mask applies to all non-active IRQs, which are the IRQs which have not yet been allocated/activated, and hence which lack a /proc/irq/[0-9]* directory. @@ -589,13 +583,12 @@ reports itself as being attached. This hardware locality information does not include information about any possible driver locality preference. prof_cpu_mask specifies which CPUs are to be profiled by the system wide -profiler. Default value is ffffffff (all cpus if there are only 32 of them). +profiler. Default value is ffffffff (all cpus). The way IRQs are routed is handled by the IO-APIC, and it's Round Robin between all the CPUs which are allowed to handle it. As usual the kernel has more info than you and does a better job than you, so the defaults are the -best choice for almost everyone. [Note this applies only to those IO-APIC's -that support "Round Robin" interrupt distribution.] +best choice for almost everyone. There are three more important subdirectories in /proc: net, scsi, and sys. The general rule is that the contents, or even the existence of these diff --git a/trunk/Documentation/filesystems/xfs.txt b/trunk/Documentation/filesystems/xfs.txt index 3fc0c31a6f5d..7bff3e4f35df 100644 --- a/trunk/Documentation/filesystems/xfs.txt +++ b/trunk/Documentation/filesystems/xfs.txt @@ -39,12 +39,6 @@ When mounting an XFS filesystem, the following options are accepted. drive level write caching to be enabled, for devices that support write barriers. - discard - Issue command to let the block device reclaim space freed by the - filesystem. This is useful for SSD devices, thinly provisioned - LUNs and virtual machine images, but may have a performance - impact. This option is incompatible with the nodelaylog option. - dmapi Enable the DMAPI (Data Management API) event callouts. Use with the "mtpt" option. diff --git a/trunk/Documentation/hwmon/emc6w201 b/trunk/Documentation/hwmon/emc6w201 deleted file mode 100644 index 32f355aaf56b..000000000000 --- a/trunk/Documentation/hwmon/emc6w201 +++ /dev/null @@ -1,42 +0,0 @@ -Kernel driver emc6w201 -====================== - -Supported chips: - * SMSC EMC6W201 - Prefix: 'emc6w201' - Addresses scanned: I2C 0x2c, 0x2d, 0x2e - Datasheet: Not public - -Author: Jean Delvare - - -Description ------------ - -From the datasheet: - -"The EMC6W201 is an environmental monitoring device with automatic fan -control capability and enhanced system acoustics for noise suppression. -This ACPI compliant device provides hardware monitoring for up to six -voltages (including its own VCC) and five external thermal sensors, -measures the speed of up to five fans, and controls the speed of -multiple DC fans using three Pulse Width Modulator (PWM) outputs. Note -that it is possible to control more than three fans by connecting two -fans to one PWM output. The EMC6W201 will be available in a 36-pin -QFN package." - -The device is functionally close to the EMC6D100 series, but is -register-incompatible. - -The driver currently only supports the monitoring of the voltages, -temperatures and fan speeds. Limits can be changed. Alarms are not -supported, and neither is fan speed control. - - -Known Systems With EMC6W201 ---------------------------- - -The EMC6W201 is a rare device, only found on a few systems, made in -2005 and 2006. Known systems with this device: -* Dell Precision 670 workstation -* Gigabyte 2CEWH mainboard diff --git a/trunk/Documentation/hwmon/f71882fg b/trunk/Documentation/hwmon/f71882fg index 84d2623810f3..df02245d1419 100644 --- a/trunk/Documentation/hwmon/f71882fg +++ b/trunk/Documentation/hwmon/f71882fg @@ -6,10 +6,6 @@ Supported chips: Prefix: 'f71808e' Addresses scanned: none, address read from Super I/O config space Datasheet: Not public - * Fintek F71808A - Prefix: 'f71808a' - Addresses scanned: none, address read from Super I/O config space - Datasheet: Not public * Fintek F71858FG Prefix: 'f71858fg' Addresses scanned: none, address read from Super I/O config space diff --git a/trunk/Documentation/hwmon/fam15h_power b/trunk/Documentation/hwmon/fam15h_power deleted file mode 100644 index a92918e0bd69..000000000000 --- a/trunk/Documentation/hwmon/fam15h_power +++ /dev/null @@ -1,37 +0,0 @@ -Kernel driver fam15h_power -========================== - -Supported chips: -* AMD Family 15h Processors - - Prefix: 'fam15h_power' - Addresses scanned: PCI space - Datasheets: - BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors - (not yet published) - -Author: Andreas Herrmann - -Description ------------ - -This driver permits reading of registers providing power information -of AMD Family 15h processors. - -For AMD Family 15h processors the following power values can be -calculated using different processor northbridge function registers: - -* BasePwrWatts: Specifies in watts the maximum amount of power - consumed by the processor for NB and logic external to the core. -* ProcessorPwrWatts: Specifies in watts the maximum amount of power - the processor can support. -* CurrPwrWatts: Specifies in watts the current amount of power being - consumed by the processor. - -This driver provides ProcessorPwrWatts and CurrPwrWatts: -* power1_crit (ProcessorPwrWatts) -* power1_input (CurrPwrWatts) - -On multi-node processors the calculated value is for the entire -package and not for a single node. Thus the driver creates sysfs -attributes only for internal node0 of a multi-node processor. diff --git a/trunk/Documentation/hwmon/k10temp b/trunk/Documentation/hwmon/k10temp index 0393c89277c0..d2b56a4fd1f5 100644 --- a/trunk/Documentation/hwmon/k10temp +++ b/trunk/Documentation/hwmon/k10temp @@ -11,7 +11,6 @@ Supported chips: Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra) * AMD Family 12h processors: "Llano" * AMD Family 14h processors: "Brazos" (C/E/G-Series) -* AMD Family 15h processors: "Bulldozer" Prefix: 'k10temp' Addresses scanned: PCI space @@ -41,7 +40,7 @@ Description ----------- This driver permits reading of the internal temperature sensor of AMD -Family 10h/11h/12h/14h/15h processors. +Family 10h/11h/12h/14h processors. All these processors have a sensor, but on those for Socket F or AM2+, the sensor may return inconsistent values (erratum 319). The driver diff --git a/trunk/Documentation/hwmon/max6650 b/trunk/Documentation/hwmon/max6650 index 58d9644a2bde..c565650fcfc6 100644 --- a/trunk/Documentation/hwmon/max6650 +++ b/trunk/Documentation/hwmon/max6650 @@ -2,13 +2,9 @@ Kernel driver max6650 ===================== Supported chips: - * Maxim MAX6650 + * Maxim 6650 / 6651 Prefix: 'max6650' - Addresses scanned: none - Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf - * Maxim MAX6651 - Prefix: 'max6651' - Addresses scanned: none + Addresses scanned: I2C 0x1b, 0x1f, 0x48, 0x4b Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf Authors: @@ -19,10 +15,10 @@ Authors: Description ----------- -This driver implements support for the Maxim MAX6650 and MAX6651. +This driver implements support for the Maxim 6650/6651 -The 2 devices are very similar, but the MAX6550 has a reduced feature -set, e.g. only one fan-input, instead of 4 for the MAX6651. +The 2 devices are very similar, but the Maxim 6550 has a reduced feature +set, e.g. only one fan-input, instead of 4 for the 6651. The driver is not able to distinguish between the 2 devices. @@ -40,13 +36,6 @@ fan1_div rw sets the speed range the inputs can handle. Legal values are 1, 2, 4, and 8. Use lower values for faster fans. -Usage notes ------------ - -This driver does not auto-detect devices. You will have to instantiate the -devices explicitly. Please see Documentation/i2c/instantiating-devices for -details. - Module parameters ----------------- diff --git a/trunk/Documentation/ioctl/ioctl-number.txt b/trunk/Documentation/ioctl/ioctl-number.txt index 3a46e360496d..2d1ad12e2b3e 100644 --- a/trunk/Documentation/ioctl/ioctl-number.txt +++ b/trunk/Documentation/ioctl/ioctl-number.txt @@ -304,7 +304,6 @@ Code Seq#(hex) Include File Comments 0xB0 all RATIO devices in development: 0xB1 00-1F PPPoX -0xB3 00 linux/mmc/ioctl.h 0xC0 00-0F linux/usb/iowarrior.h 0xCB 00-1F CBM serial IEC bus in development: diff --git a/trunk/Documentation/kbuild/kconfig-language.txt b/trunk/Documentation/kbuild/kconfig-language.txt index 44e2649fbb29..b507d61fd41c 100644 --- a/trunk/Documentation/kbuild/kconfig-language.txt +++ b/trunk/Documentation/kbuild/kconfig-language.txt @@ -113,13 +113,6 @@ applicable everywhere (see syntax). That will limit the usefulness but on the other hand avoid the illegal configurations all over. -- limiting menu display: "visible if" - This attribute is only applicable to menu blocks, if the condition is - false, the menu block is not displayed to the user (the symbols - contained there can still be selected by other symbols, though). It is - similar to a conditional "prompt" attribude for individual menu - entries. Default value of "visible" is true. - - numerical ranges: "range" ["if" ] This allows to limit the range of possible input values for int and hex symbols. The user can only input a value which is larger than @@ -310,8 +303,7 @@ menu: "endmenu" This defines a menu block, see "Menu structure" above for more -information. The only possible options are dependencies and "visible" -attributes. +information. The only possible options are dependencies. if: @@ -389,25 +381,3 @@ config FOO limits FOO to module (=m) or disabled (=n). -Kconfig symbol existence -~~~~~~~~~~~~~~~~~~~~~~~~ -The following two methods produce the same kconfig symbol dependencies -but differ greatly in kconfig symbol existence (production) in the -generated config file. - -case 1: - -config FOO - tristate "about foo" - depends on BAR - -vs. case 2: - -if BAR -config FOO - tristate "about foo" -endif - -In case 1, the symbol FOO will always exist in the config file (given -no other dependencies). In case 2, the symbol FOO will only exist in -the config file if BAR is enabled. diff --git a/trunk/Documentation/kbuild/kconfig.txt b/trunk/Documentation/kbuild/kconfig.txt index c313d71324b4..cca46b1a0f6c 100644 --- a/trunk/Documentation/kbuild/kconfig.txt +++ b/trunk/Documentation/kbuild/kconfig.txt @@ -48,6 +48,11 @@ KCONFIG_OVERWRITECONFIG If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not break symlinks when .config is a symlink to somewhere else. +KCONFIG_NOTIMESTAMP +-------------------------------------------------- +If this environment variable exists and is non-null, the timestamp line +in generated .config files is omitted. + ______________________________________________________________________ Environment variables for '{allyes/allmod/allno/rand}config' diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 5438a2d7907f..7c6624e7a5cb 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -1777,6 +1777,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. nosoftlockup [KNL] Disable the soft-lockup detector. + noswapaccount [KNL] Disable accounting of swap in memory resource + controller. (See Documentation/cgroups/memory.txt) + nosync [HW,M68K] Disables sync negotiation for all devices. notsc [BUGS=X86-32] Disable Time Stamp Counter diff --git a/trunk/Documentation/lockstat.txt b/trunk/Documentation/lockstat.txt index 9c0a80d17a23..65f4c795015d 100644 --- a/trunk/Documentation/lockstat.txt +++ b/trunk/Documentation/lockstat.txt @@ -136,7 +136,7 @@ View the top contending locks: dcache_lock: 1037 1161 0.38 45.32 774.51 6611 243371 0.15 306.48 77387.24 &inode->i_mutex: 161 286 18446744073709 62882.54 1244614.55 3653 20598 18446744073709 62318.60 1693822.74 &zone->lru_lock: 94 94 0.53 7.33 92.10 4366 32690 0.29 59.81 16350.06 - &inode->i_data.i_mmap_mutex: 79 79 0.40 3.77 53.03 11779 87755 0.28 116.93 29898.44 + &inode->i_data.i_mmap_lock: 79 79 0.40 3.77 53.03 11779 87755 0.28 116.93 29898.44 &q->__queue_lock: 48 50 0.52 31.62 86.31 774 13131 0.17 113.08 12277.52 &rq->rq_lock_key: 43 47 0.74 68.50 170.63 3706 33929 0.22 107.99 17460.62 &rq->rq_lock_key#2: 39 46 0.75 6.68 49.03 2979 32292 0.17 125.17 17137.63 diff --git a/trunk/Documentation/mmc/00-INDEX b/trunk/Documentation/mmc/00-INDEX index 93dd7a714075..fca586f5b853 100644 --- a/trunk/Documentation/mmc/00-INDEX +++ b/trunk/Documentation/mmc/00-INDEX @@ -2,5 +2,3 @@ - this file mmc-dev-attrs.txt - info on SD and MMC device attributes -mmc-dev-parts.txt - - info on SD and MMC device partitions diff --git a/trunk/Documentation/mmc/mmc-dev-attrs.txt b/trunk/Documentation/mmc/mmc-dev-attrs.txt index 8898a95b41e5..ff2bd685bced 100644 --- a/trunk/Documentation/mmc/mmc-dev-attrs.txt +++ b/trunk/Documentation/mmc/mmc-dev-attrs.txt @@ -1,13 +1,3 @@ -SD and MMC Block Device Attributes -================================== - -These attributes are defined for the block devices associated with the -SD or MMC device. - -The following attributes are read/write. - - force_ro Enforce read-only access even if write protect switch is off. - SD and MMC Device Attributes ============================ diff --git a/trunk/Documentation/mmc/mmc-dev-parts.txt b/trunk/Documentation/mmc/mmc-dev-parts.txt deleted file mode 100644 index 2db28b8e662f..000000000000 --- a/trunk/Documentation/mmc/mmc-dev-parts.txt +++ /dev/null @@ -1,27 +0,0 @@ -SD and MMC Device Partitions -============================ - -Device partitions are additional logical block devices present on the -SD/MMC device. - -As of this writing, MMC boot partitions as supported and exposed as -/dev/mmcblkXboot0 and /dev/mmcblkXboot1, where X is the index of the -parent /dev/mmcblkX. - -MMC Boot Partitions -=================== - -Read and write access is provided to the two MMC boot partitions. Due to -the sensitive nature of the boot partition contents, which often store -a bootloader or bootloader configuration tables crucial to booting the -platform, write access is disabled by default to reduce the chance of -accidental bricking. - -To enable write access to /dev/mmcblkXbootY, disable the forced read-only -access with: - -echo 0 > /sys/block/mmcblkXbootY/force_ro - -To re-enable read-only access: - -echo 1 > /sys/block/mmcblkXbootY/force_ro diff --git a/trunk/Documentation/networking/bonding.txt b/trunk/Documentation/networking/bonding.txt index 675612ff41ae..1f45bd887d65 100644 --- a/trunk/Documentation/networking/bonding.txt +++ b/trunk/Documentation/networking/bonding.txt @@ -770,17 +770,8 @@ resend_igmp a failover event. One membership report is issued immediately after the failover, subsequent packets are sent in each 200ms interval. - The valid range is 0 - 255; the default value is 1. A value of 0 - prevents the IGMP membership report from being issued in response - to the failover event. - - This option is useful for bonding modes balance-rr (0), active-backup - (1), balance-tlb (5) and balance-alb (6), in which a failover can - switch the IGMP traffic from one slave to another. Therefore a fresh - IGMP report must be issued to cause the switch to forward the incoming - IGMP traffic over the newly selected slave. - - This option was added for bonding version 3.7.0. + The valid range is 0 - 255; the default value is 1. This option + was added for bonding version 3.7.0. 3. Configuring Bonding Devices ============================== diff --git a/trunk/Documentation/power/regulator/machine.txt b/trunk/Documentation/power/regulator/machine.txt index b42419b52e44..bdec39b9bd75 100644 --- a/trunk/Documentation/power/regulator/machine.txt +++ b/trunk/Documentation/power/regulator/machine.txt @@ -53,11 +53,11 @@ static struct regulator_init_data regulator1_data = { Regulator-1 supplies power to Regulator-2. This relationship must be registered with the core so that Regulator-1 is also enabled when Consumer A enables its -supply (Regulator-2). The supply regulator is set by the supply_regulator +supply (Regulator-2). The supply regulator is set by the supply_regulator_dev field below:- static struct regulator_init_data regulator2_data = { - .supply_regulator = "regulator_name", + .supply_regulator_dev = &platform_regulator1_device.dev, .constraints = { .min_uV = 1800000, .max_uV = 2000000, diff --git a/trunk/Documentation/ptp/ptp.txt b/trunk/Documentation/ptp/ptp.txt deleted file mode 100644 index ae8fef86b832..000000000000 --- a/trunk/Documentation/ptp/ptp.txt +++ /dev/null @@ -1,89 +0,0 @@ - -* PTP hardware clock infrastructure for Linux - - This patch set introduces support for IEEE 1588 PTP clocks in - Linux. Together with the SO_TIMESTAMPING socket options, this - presents a standardized method for developing PTP user space - programs, synchronizing Linux with external clocks, and using the - ancillary features of PTP hardware clocks. - - A new class driver exports a kernel interface for specific clock - drivers and a user space interface. The infrastructure supports a - complete set of PTP hardware clock functionality. - - + Basic clock operations - - Set time - - Get time - - Shift the clock by a given offset atomically - - Adjust clock frequency - - + Ancillary clock features - - One short or periodic alarms, with signal delivery to user program - - Time stamp external events - - Period output signals configurable from user space - - Synchronization of the Linux system time via the PPS subsystem - -** PTP hardware clock kernel API - - A PTP clock driver registers itself with the class driver. The - class driver handles all of the dealings with user space. The - author of a clock driver need only implement the details of - programming the clock hardware. The clock driver notifies the class - driver of asynchronous events (alarms and external time stamps) via - a simple message passing interface. - - The class driver supports multiple PTP clock drivers. In normal use - cases, only one PTP clock is needed. However, for testing and - development, it can be useful to have more than one clock in a - single system, in order to allow performance comparisons. - -** PTP hardware clock user space API - - The class driver also creates a character device for each - registered clock. User space can use an open file descriptor from - the character device as a POSIX clock id and may call - clock_gettime, clock_settime, and clock_adjtime. These calls - implement the basic clock operations. - - User space programs may control the clock using standardized - ioctls. A program may query, enable, configure, and disable the - ancillary clock features. User space can receive time stamped - events via blocking read() and poll(). One shot and periodic - signals may be configured via the POSIX timer_settime() system - call. - -** Writing clock drivers - - Clock drivers include include/linux/ptp_clock_kernel.h and register - themselves by presenting a 'struct ptp_clock_info' to the - registration method. Clock drivers must implement all of the - functions in the interface. If a clock does not offer a particular - ancillary feature, then the driver should just return -EOPNOTSUPP - from those functions. - - Drivers must ensure that all of the methods in interface are - reentrant. Since most hardware implementations treat the time value - as a 64 bit integer accessed as two 32 bit registers, drivers - should use spin_lock_irqsave/spin_unlock_irqrestore to protect - against concurrent access. This locking cannot be accomplished in - class driver, since the lock may also be needed by the clock - driver's interrupt service routine. - -** Supported hardware - - + Freescale eTSEC gianfar - - 2 Time stamp external triggers, programmable polarity (opt. interrupt) - - 2 Alarm registers (optional interrupt) - - 3 Periodic signals (optional interrupt) - - + National DP83640 - - 6 GPIOs programmable as inputs or outputs - - 6 GPIOs with dedicated functions (LED/JTAG/clock) can also be - used as general inputs or outputs - - GPIO inputs can time stamp external triggers - - GPIO outputs can produce periodic signals - - 1 interrupt pin - - + Intel IXP465 - - Auxiliary Slave/Master Mode Snapshot (optional interrupt) - - Target Time (optional interrupt) diff --git a/trunk/Documentation/ptp/testptp.c b/trunk/Documentation/ptp/testptp.c deleted file mode 100644 index f59ded066108..000000000000 --- a/trunk/Documentation/ptp/testptp.c +++ /dev/null @@ -1,381 +0,0 @@ -/* - * PTP 1588 clock support - User space test program - * - * Copyright (C) 2010 OMICRON electronics GmbH - * - * 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., 675 Mass Ave, Cambridge, MA 02139, USA. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#define DEVICE "/dev/ptp0" - -#ifndef ADJ_SETOFFSET -#define ADJ_SETOFFSET 0x0100 -#endif - -#ifndef CLOCK_INVALID -#define CLOCK_INVALID -1 -#endif - -/* When glibc offers the syscall, this will go away. */ -#include -static int clock_adjtime(clockid_t id, struct timex *tx) -{ - return syscall(__NR_clock_adjtime, id, tx); -} - -static clockid_t get_clockid(int fd) -{ -#define CLOCKFD 3 -#define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD) - - return FD_TO_CLOCKID(fd); -} - -static void handle_alarm(int s) -{ - printf("received signal %d\n", s); -} - -static int install_handler(int signum, void (*handler)(int)) -{ - struct sigaction action; - sigset_t mask; - - /* Unblock the signal. */ - sigemptyset(&mask); - sigaddset(&mask, signum); - sigprocmask(SIG_UNBLOCK, &mask, NULL); - - /* Install the signal handler. */ - action.sa_handler = handler; - action.sa_flags = 0; - sigemptyset(&action.sa_mask); - sigaction(signum, &action, NULL); - - return 0; -} - -static long ppb_to_scaled_ppm(int ppb) -{ - /* - * The 'freq' field in the 'struct timex' is in parts per - * million, but with a 16 bit binary fractional field. - * Instead of calculating either one of - * - * scaled_ppm = (ppb / 1000) << 16 [1] - * scaled_ppm = (ppb << 16) / 1000 [2] - * - * we simply use double precision math, in order to avoid the - * truncation in [1] and the possible overflow in [2]. - */ - return (long) (ppb * 65.536); -} - -static void usage(char *progname) -{ - fprintf(stderr, - "usage: %s [options]\n" - " -a val request a one-shot alarm after 'val' seconds\n" - " -A val request a periodic alarm every 'val' seconds\n" - " -c query the ptp clock's capabilities\n" - " -d name device to open\n" - " -e val read 'val' external time stamp events\n" - " -f val adjust the ptp clock frequency by 'val' ppb\n" - " -g get the ptp clock time\n" - " -h prints this message\n" - " -p val enable output with a period of 'val' nanoseconds\n" - " -P val enable or disable (val=1|0) the system clock PPS\n" - " -s set the ptp clock time from the system time\n" - " -S set the system time from the ptp clock time\n" - " -t val shift the ptp clock time by 'val' seconds\n", - progname); -} - -int main(int argc, char *argv[]) -{ - struct ptp_clock_caps caps; - struct ptp_extts_event event; - struct ptp_extts_request extts_request; - struct ptp_perout_request perout_request; - struct timespec ts; - struct timex tx; - - static timer_t timerid; - struct itimerspec timeout; - struct sigevent sigevent; - - char *progname; - int c, cnt, fd; - - char *device = DEVICE; - clockid_t clkid; - int adjfreq = 0x7fffffff; - int adjtime = 0; - int capabilities = 0; - int extts = 0; - int gettime = 0; - int oneshot = 0; - int periodic = 0; - int perout = -1; - int pps = -1; - int settime = 0; - - progname = strrchr(argv[0], '/'); - progname = progname ? 1+progname : argv[0]; - while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghp:P:sSt:v"))) { - switch (c) { - case 'a': - oneshot = atoi(optarg); - break; - case 'A': - periodic = atoi(optarg); - break; - case 'c': - capabilities = 1; - break; - case 'd': - device = optarg; - break; - case 'e': - extts = atoi(optarg); - break; - case 'f': - adjfreq = atoi(optarg); - break; - case 'g': - gettime = 1; - break; - case 'p': - perout = atoi(optarg); - break; - case 'P': - pps = atoi(optarg); - break; - case 's': - settime = 1; - break; - case 'S': - settime = 2; - break; - case 't': - adjtime = atoi(optarg); - break; - case 'h': - usage(progname); - return 0; - case '?': - default: - usage(progname); - return -1; - } - } - - fd = open(device, O_RDWR); - if (fd < 0) { - fprintf(stderr, "opening %s: %s\n", device, strerror(errno)); - return -1; - } - - clkid = get_clockid(fd); - if (CLOCK_INVALID == clkid) { - fprintf(stderr, "failed to read clock id\n"); - return -1; - } - - if (capabilities) { - if (ioctl(fd, PTP_CLOCK_GETCAPS, &caps)) { - perror("PTP_CLOCK_GETCAPS"); - } else { - printf("capabilities:\n" - " %d maximum frequency adjustment (ppb)\n" - " %d programmable alarms\n" - " %d external time stamp channels\n" - " %d programmable periodic signals\n" - " %d pulse per second\n", - caps.max_adj, - caps.n_alarm, - caps.n_ext_ts, - caps.n_per_out, - caps.pps); - } - } - - if (0x7fffffff != adjfreq) { - memset(&tx, 0, sizeof(tx)); - tx.modes = ADJ_FREQUENCY; - tx.freq = ppb_to_scaled_ppm(adjfreq); - if (clock_adjtime(clkid, &tx)) { - perror("clock_adjtime"); - } else { - puts("frequency adjustment okay"); - } - } - - if (adjtime) { - memset(&tx, 0, sizeof(tx)); - tx.modes = ADJ_SETOFFSET; - tx.time.tv_sec = adjtime; - tx.time.tv_usec = 0; - if (clock_adjtime(clkid, &tx) < 0) { - perror("clock_adjtime"); - } else { - puts("time shift okay"); - } - } - - if (gettime) { - if (clock_gettime(clkid, &ts)) { - perror("clock_gettime"); - } else { - printf("clock time: %ld.%09ld or %s", - ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec)); - } - } - - if (settime == 1) { - clock_gettime(CLOCK_REALTIME, &ts); - if (clock_settime(clkid, &ts)) { - perror("clock_settime"); - } else { - puts("set time okay"); - } - } - - if (settime == 2) { - clock_gettime(clkid, &ts); - if (clock_settime(CLOCK_REALTIME, &ts)) { - perror("clock_settime"); - } else { - puts("set time okay"); - } - } - - if (extts) { - memset(&extts_request, 0, sizeof(extts_request)); - extts_request.index = 0; - extts_request.flags = PTP_ENABLE_FEATURE; - if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) { - perror("PTP_EXTTS_REQUEST"); - extts = 0; - } else { - puts("external time stamp request okay"); - } - for (; extts; extts--) { - cnt = read(fd, &event, sizeof(event)); - if (cnt != sizeof(event)) { - perror("read"); - break; - } - printf("event index %u at %lld.%09u\n", event.index, - event.t.sec, event.t.nsec); - fflush(stdout); - } - /* Disable the feature again. */ - extts_request.flags = 0; - if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) { - perror("PTP_EXTTS_REQUEST"); - } - } - - if (oneshot) { - install_handler(SIGALRM, handle_alarm); - /* Create a timer. */ - sigevent.sigev_notify = SIGEV_SIGNAL; - sigevent.sigev_signo = SIGALRM; - if (timer_create(clkid, &sigevent, &timerid)) { - perror("timer_create"); - return -1; - } - /* Start the timer. */ - memset(&timeout, 0, sizeof(timeout)); - timeout.it_value.tv_sec = oneshot; - if (timer_settime(timerid, 0, &timeout, NULL)) { - perror("timer_settime"); - return -1; - } - pause(); - timer_delete(timerid); - } - - if (periodic) { - install_handler(SIGALRM, handle_alarm); - /* Create a timer. */ - sigevent.sigev_notify = SIGEV_SIGNAL; - sigevent.sigev_signo = SIGALRM; - if (timer_create(clkid, &sigevent, &timerid)) { - perror("timer_create"); - return -1; - } - /* Start the timer. */ - memset(&timeout, 0, sizeof(timeout)); - timeout.it_interval.tv_sec = periodic; - timeout.it_value.tv_sec = periodic; - if (timer_settime(timerid, 0, &timeout, NULL)) { - perror("timer_settime"); - return -1; - } - while (1) { - pause(); - } - timer_delete(timerid); - } - - if (perout >= 0) { - if (clock_gettime(clkid, &ts)) { - perror("clock_gettime"); - return -1; - } - memset(&perout_request, 0, sizeof(perout_request)); - perout_request.index = 0; - perout_request.start.sec = ts.tv_sec + 2; - perout_request.start.nsec = 0; - perout_request.period.sec = 0; - perout_request.period.nsec = perout; - if (ioctl(fd, PTP_PEROUT_REQUEST, &perout_request)) { - perror("PTP_PEROUT_REQUEST"); - } else { - puts("periodic output request okay"); - } - } - - if (pps != -1) { - int enable = pps ? 1 : 0; - if (ioctl(fd, PTP_ENABLE_PPS, enable)) { - perror("PTP_ENABLE_PPS"); - } else { - puts("pps for system time request okay"); - } - } - - close(fd); - return 0; -} diff --git a/trunk/Documentation/ptp/testptp.mk b/trunk/Documentation/ptp/testptp.mk deleted file mode 100644 index 4ef2d9755421..000000000000 --- a/trunk/Documentation/ptp/testptp.mk +++ /dev/null @@ -1,33 +0,0 @@ -# PTP 1588 clock support - User space test program -# -# Copyright (C) 2010 OMICRON electronics GmbH -# -# 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -CC = $(CROSS_COMPILE)gcc -INC = -I$(KBUILD_OUTPUT)/usr/include -CFLAGS = -Wall $(INC) -LDLIBS = -lrt -PROGS = testptp - -all: $(PROGS) - -testptp: testptp.o - -clean: - rm -f testptp.o - -distclean: clean - rm -f $(PROGS) diff --git a/trunk/Documentation/sysctl/kernel.txt b/trunk/Documentation/sysctl/kernel.txt index 5e7cb39ad195..36f007514db3 100644 --- a/trunk/Documentation/sysctl/kernel.txt +++ b/trunk/Documentation/sysctl/kernel.txt @@ -161,8 +161,7 @@ core_pattern is used to specify a core dumpfile pattern name. %s signal number %t UNIX time of dump %h hostname - %e executable filename (may be shortened) - %E executable path + %e executable filename % both are dropped . If the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be diff --git a/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt b/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt index 5d0fc8bfcdb9..9b7e1904db1c 100644 --- a/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt +++ b/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt @@ -1182,16 +1182,6 @@ forge.net/> and explains these in detail, as well as some other issues. - There is also a related point-to-point only "ucast" transport. - This is useful when your network does not support multicast, and - all network connections are simple point to point links. - - The full set of command line options for this transport are - - - ethn=ucast,ethernet address,remote address,listen port,remote port - - 66..66.. TTUUNN//TTAAPP wwiitthh tthhee uummll__nneett hheellppeerr diff --git a/trunk/Documentation/vm/cleancache.txt b/trunk/Documentation/vm/cleancache.txt deleted file mode 100644 index 36c367c73084..000000000000 --- a/trunk/Documentation/vm/cleancache.txt +++ /dev/null @@ -1,278 +0,0 @@ -MOTIVATION - -Cleancache is a new optional feature provided by the VFS layer that -potentially dramatically increases page cache effectiveness for -many workloads in many environments at a negligible cost. - -Cleancache can be thought of as a page-granularity victim cache for clean -pages that the kernel's pageframe replacement algorithm (PFRA) would like -to keep around, but can't since there isn't enough memory. So when the -PFRA "evicts" a page, it first attempts to use cleancache code to -put the data contained in that page into "transcendent memory", memory -that is not directly accessible or addressable by the kernel and is -of unknown and possibly time-varying size. - -Later, when a cleancache-enabled filesystem wishes to access a page -in a file on disk, it first checks cleancache to see if it already -contains it; if it does, the page of data is copied into the kernel -and a disk access is avoided. - -Transcendent memory "drivers" for cleancache are currently implemented -in Xen (using hypervisor memory) and zcache (using in-kernel compressed -memory) and other implementations are in development. - -FAQs are included below. - -IMPLEMENTATION OVERVIEW - -A cleancache "backend" that provides transcendent memory registers itself -to the kernel's cleancache "frontend" by calling cleancache_register_ops, -passing a pointer to a cleancache_ops structure with funcs set appropriately. -Note that cleancache_register_ops returns the previous settings so that -chaining can be performed if desired. The functions provided must conform to -certain semantics as follows: - -Most important, cleancache is "ephemeral". Pages which are copied into -cleancache have an indefinite lifetime which is completely unknowable -by the kernel and so may or may not still be in cleancache at any later time. -Thus, as its name implies, cleancache is not suitable for dirty pages. -Cleancache has complete discretion over what pages to preserve and what -pages to discard and when. - -Mounting a cleancache-enabled filesystem should call "init_fs" to obtain a -pool id which, if positive, must be saved in the filesystem's superblock; -a negative return value indicates failure. A "put_page" will copy a -(presumably about-to-be-evicted) page into cleancache and associate it with -the pool id, a file key, and a page index into the file. (The combination -of a pool id, a file key, and an index is sometimes called a "handle".) -A "get_page" will copy the page, if found, from cleancache into kernel memory. -A "flush_page" will ensure the page no longer is present in cleancache; -a "flush_inode" will flush all pages associated with the specified file; -and, when a filesystem is unmounted, a "flush_fs" will flush all pages in -all files specified by the given pool id and also surrender the pool id. - -An "init_shared_fs", like init_fs, obtains a pool id but tells cleancache -to treat the pool as shared using a 128-bit UUID as a key. On systems -that may run multiple kernels (such as hard partitioned or virtualized -systems) that may share a clustered filesystem, and where cleancache -may be shared among those kernels, calls to init_shared_fs that specify the -same UUID will receive the same pool id, thus allowing the pages to -be shared. Note that any security requirements must be imposed outside -of the kernel (e.g. by "tools" that control cleancache). Or a -cleancache implementation can simply disable shared_init by always -returning a negative value. - -If a get_page is successful on a non-shared pool, the page is flushed (thus -making cleancache an "exclusive" cache). On a shared pool, the page -is NOT flushed on a successful get_page so that it remains accessible to -other sharers. The kernel is responsible for ensuring coherency between -cleancache (shared or not), the page cache, and the filesystem, using -cleancache flush operations as required. - -Note that cleancache must enforce put-put-get coherency and get-get -coherency. For the former, if two puts are made to the same handle but -with different data, say AAA by the first put and BBB by the second, a -subsequent get can never return the stale data (AAA). For get-get coherency, -if a get for a given handle fails, subsequent gets for that handle will -never succeed unless preceded by a successful put with that handle. - -Last, cleancache provides no SMP serialization guarantees; if two -different Linux threads are simultaneously putting and flushing a page -with the same handle, the results are indeterminate. Callers must -lock the page to ensure serial behavior. - -CLEANCACHE PERFORMANCE METRICS - -Cleancache monitoring is done by sysfs files in the -/sys/kernel/mm/cleancache directory. The effectiveness of cleancache -can be measured (across all filesystems) with: - -succ_gets - number of gets that were successful -failed_gets - number of gets that failed -puts - number of puts attempted (all "succeed") -flushes - number of flushes attempted - -A backend implementatation may provide additional metrics. - -FAQ - -1) Where's the value? (Andrew Morton) - -Cleancache provides a significant performance benefit to many workloads -in many environments with negligible overhead by improving the -effectiveness of the pagecache. Clean pagecache pages are -saved in transcendent memory (RAM that is otherwise not directly -addressable to the kernel); fetching those pages later avoids "refaults" -and thus disk reads. - -Cleancache (and its sister code "frontswap") provide interfaces for -this transcendent memory (aka "tmem"), which conceptually lies between -fast kernel-directly-addressable RAM and slower DMA/asynchronous devices. -Disallowing direct kernel or userland reads/writes to tmem -is ideal when data is transformed to a different form and size (such -as with compression) or secretly moved (as might be useful for write- -balancing for some RAM-like devices). Evicted page-cache pages (and -swap pages) are a great use for this kind of slower-than-RAM-but-much- -faster-than-disk transcendent memory, and the cleancache (and frontswap) -"page-object-oriented" specification provides a nice way to read and -write -- and indirectly "name" -- the pages. - -In the virtual case, the whole point of virtualization is to statistically -multiplex physical resources across the varying demands of multiple -virtual machines. This is really hard to do with RAM and efforts to -do it well with no kernel change have essentially failed (except in some -well-publicized special-case workloads). Cleancache -- and frontswap -- -with a fairly small impact on the kernel, provide a huge amount -of flexibility for more dynamic, flexible RAM multiplexing. -Specifically, the Xen Transcendent Memory backend allows otherwise -"fallow" hypervisor-owned RAM to not only be "time-shared" between multiple -virtual machines, but the pages can be compressed and deduplicated to -optimize RAM utilization. And when guest OS's are induced to surrender -underutilized RAM (e.g. with "self-ballooning"), page cache pages -are the first to go, and cleancache allows those pages to be -saved and reclaimed if overall host system memory conditions allow. - -And the identical interface used for cleancache can be used in -physical systems as well. The zcache driver acts as a memory-hungry -device that stores pages of data in a compressed state. And -the proposed "RAMster" driver shares RAM across multiple physical -systems. - -2) Why does cleancache have its sticky fingers so deep inside the - filesystems and VFS? (Andrew Morton and Christoph Hellwig) - -The core hooks for cleancache in VFS are in most cases a single line -and the minimum set are placed precisely where needed to maintain -coherency (via cleancache_flush operations) between cleancache, -the page cache, and disk. All hooks compile into nothingness if -cleancache is config'ed off and turn into a function-pointer- -compare-to-NULL if config'ed on but no backend claims the ops -functions, or to a compare-struct-element-to-negative if a -backend claims the ops functions but a filesystem doesn't enable -cleancache. - -Some filesystems are built entirely on top of VFS and the hooks -in VFS are sufficient, so don't require an "init_fs" hook; the -initial implementation of cleancache didn't provide this hook. -But for some filesystems (such as btrfs), the VFS hooks are -incomplete and one or more hooks in fs-specific code are required. -And for some other filesystems, such as tmpfs, cleancache may -be counterproductive. So it seemed prudent to require a filesystem -to "opt in" to use cleancache, which requires adding a hook in -each filesystem. Not all filesystems are supported by cleancache -only because they haven't been tested. The existing set should -be sufficient to validate the concept, the opt-in approach means -that untested filesystems are not affected, and the hooks in the -existing filesystems should make it very easy to add more -filesystems in the future. - -The total impact of the hooks to existing fs and mm files is only -about 40 lines added (not counting comments and blank lines). - -3) Why not make cleancache asynchronous and batched so it can - more easily interface with real devices with DMA instead - of copying each individual page? (Minchan Kim) - -The one-page-at-a-time copy semantics simplifies the implementation -on both the frontend and backend and also allows the backend to -do fancy things on-the-fly like page compression and -page deduplication. And since the data is "gone" (copied into/out -of the pageframe) before the cleancache get/put call returns, -a great deal of race conditions and potential coherency issues -are avoided. While the interface seems odd for a "real device" -or for real kernel-addressable RAM, it makes perfect sense for -transcendent memory. - -4) Why is non-shared cleancache "exclusive"? And where is the - page "flushed" after a "get"? (Minchan Kim) - -The main reason is to free up space in transcendent memory and -to avoid unnecessary cleancache_flush calls. If you want inclusive, -the page can be "put" immediately following the "get". If -put-after-get for inclusive becomes common, the interface could -be easily extended to add a "get_no_flush" call. - -The flush is done by the cleancache backend implementation. - -5) What's the performance impact? - -Performance analysis has been presented at OLS'09 and LCA'10. -Briefly, performance gains can be significant on most workloads, -especially when memory pressure is high (e.g. when RAM is -overcommitted in a virtual workload); and because the hooks are -invoked primarily in place of or in addition to a disk read/write, -overhead is negligible even in worst case workloads. Basically -cleancache replaces I/O with memory-copy-CPU-overhead; on older -single-core systems with slow memory-copy speeds, cleancache -has little value, but in newer multicore machines, especially -consolidated/virtualized machines, it has great value. - -6) How do I add cleancache support for filesystem X? (Boaz Harrash) - -Filesystems that are well-behaved and conform to certain -restrictions can utilize cleancache simply by making a call to -cleancache_init_fs at mount time. Unusual, misbehaving, or -poorly layered filesystems must either add additional hooks -and/or undergo extensive additional testing... or should just -not enable the optional cleancache. - -Some points for a filesystem to consider: - -- The FS should be block-device-based (e.g. a ram-based FS such - as tmpfs should not enable cleancache) -- To ensure coherency/correctness, the FS must ensure that all - file removal or truncation operations either go through VFS or - add hooks to do the equivalent cleancache "flush" operations -- To ensure coherency/correctness, either inode numbers must - be unique across the lifetime of the on-disk file OR the - FS must provide an "encode_fh" function. -- The FS must call the VFS superblock alloc and deactivate routines - or add hooks to do the equivalent cleancache calls done there. -- To maximize performance, all pages fetched from the FS should - go through the do_mpag_readpage routine or the FS should add - hooks to do the equivalent (cf. btrfs) -- Currently, the FS blocksize must be the same as PAGESIZE. This - is not an architectural restriction, but no backends currently - support anything different. -- A clustered FS should invoke the "shared_init_fs" cleancache - hook to get best performance for some backends. - -7) Why not use the KVA of the inode as the key? (Christoph Hellwig) - -If cleancache would use the inode virtual address instead of -inode/filehandle, the pool id could be eliminated. But, this -won't work because cleancache retains pagecache data pages -persistently even when the inode has been pruned from the -inode unused list, and only flushes the data page if the file -gets removed/truncated. So if cleancache used the inode kva, -there would be potential coherency issues if/when the inode -kva is reused for a different file. Alternately, if cleancache -flushed the pages when the inode kva was freed, much of the value -of cleancache would be lost because the cache of pages in cleanache -is potentially much larger than the kernel pagecache and is most -useful if the pages survive inode cache removal. - -8) Why is a global variable required? - -The cleancache_enabled flag is checked in all of the frequently-used -cleancache hooks. The alternative is a function call to check a static -variable. Since cleancache is enabled dynamically at runtime, systems -that don't enable cleancache would suffer thousands (possibly -tens-of-thousands) of unnecessary function calls per second. So the -global variable allows cleancache to be enabled by default at compile -time, but have insignificant performance impact when cleancache remains -disabled at runtime. - -9) Does cleanache work with KVM? - -The memory model of KVM is sufficiently different that a cleancache -backend may have less value for KVM. This remains to be tested, -especially in an overcommitted system. - -10) Does cleancache work in userspace? It sounds useful for - memory hungry caches like web browsers. (Jamie Lokier) - -No plans yet, though we agree it sounds useful, at least for -apps that bypass the page cache (e.g. O_DIRECT). - -Last updated: Dan Magenheimer, April 13 2011 diff --git a/trunk/Documentation/vm/locking b/trunk/Documentation/vm/locking index f61228bd6395..25fadb448760 100644 --- a/trunk/Documentation/vm/locking +++ b/trunk/Documentation/vm/locking @@ -66,7 +66,7 @@ in some cases it is not really needed. Eg, vm_start is modified by expand_stack(), it is hard to come up with a destructive scenario without having the vmlist protection in this case. -The page_table_lock nests with the inode i_mmap_mutex and the kmem cache +The page_table_lock nests with the inode i_mmap_lock and the kmem cache c_spinlock spinlocks. This is okay, since the kmem code asks for pages after dropping c_spinlock. The page_table_lock also nests with pagecache_lock and pagemap_lru_lock spinlocks, and no code asks for memory with these locks diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 572b5b20ba48..98c324b07a16 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -287,35 +287,35 @@ F: sound/pci/ad1889.* AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/AD5254 S: Supported F: drivers/misc/ad525x_dpot.c AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821) M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/AD5398 S: Supported F: drivers/regulator/ad5398.c AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A) M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/AD7142 S: Supported F: drivers/input/misc/ad714x.c AD7877 TOUCHSCREEN DRIVER M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/AD7877 S: Supported F: drivers/input/touchscreen/ad7877.c AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889) M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/AD7879 S: Supported F: drivers/input/touchscreen/ad7879.c @@ -341,7 +341,7 @@ F: drivers/net/wireless/adm8211.* ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501) M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/ADP5520 S: Supported F: drivers/mfd/adp5520.c @@ -352,7 +352,7 @@ F: drivers/input/keyboard/adp5520-keys.c ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587) M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/ADP5588 S: Supported F: drivers/input/keyboard/adp5588-keys.c @@ -360,7 +360,7 @@ F: drivers/gpio/adp5588-gpio.c ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863) M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/ADP8860 S: Supported F: drivers/video/backlight/adp8860_bl.c @@ -387,7 +387,7 @@ F: drivers/hwmon/adt7475.c ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346) M: Michael Hennerich -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org W: http://wiki.analog.com/ADXL345 S: Supported F: drivers/input/misc/adxl34x.c @@ -483,13 +483,6 @@ F: drivers/tty/serial/altera_jtaguart.c F: include/linux/altera_uart.h F: include/linux/altera_jtaguart.h -AMD FAM15H PROCESSOR POWER MONITORING DRIVER -M: Andreas Herrmann -L: lm-sensors@lm-sensors.org -S: Maintained -F: Documentation/hwmon/fam15h_power -F: drivers/hwmon/fam15h_power.c - AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER M: Thomas Dahlmann L: linux-geode@lists.infradead.org (moderated for non-subscribers) @@ -533,7 +526,7 @@ S: Maintained F: drivers/infiniband/hw/amso1100/ ANALOG DEVICES INC ASOC CODEC DRIVERS -L: device-drivers-devel@blackfin.uclinux.org +L: device-driver-devel@blackfin.uclinux.org L: alsa-devel@alsa-project.org (moderated for non-subscribers) W: http://wiki.analog.com/ S: Supported @@ -931,8 +924,6 @@ F: drivers/mmc/host/msm_sdcc.h F: drivers/tty/serial/msm_serial.h F: drivers/tty/serial/msm_serial.c F: drivers/platform/msm/ -F: drivers/*/pm8???-* -F: include/linux/mfd/pm8xxx/ T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git S: Maintained @@ -2043,8 +2034,9 @@ F: net/ax25/ax25_timer.c F: net/ax25/sysctl_net_ax25.c DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER +M: Tobias Ringstrom L: netdev@vger.kernel.org -S: Orphan +S: Maintained F: Documentation/networking/dmfe.txt F: drivers/net/tulip/dmfe.c @@ -2584,13 +2576,6 @@ S: Maintained F: drivers/hwmon/f75375s.c F: include/linux/f75375s.h -FIREWIRE AUDIO DRIVERS -M: Clemens Ladisch -L: alsa-devel@alsa-project.org (moderated for non-subscribers) -T: git git://git.alsa-project.org/alsa-kernel.git -S: Maintained -F: sound/firewire/ - FIREWIRE SUBSYSTEM M: Stefan Richter L: linux1394-devel@lists.sourceforge.net @@ -3581,16 +3566,9 @@ M: Andrew Morton M: Jan Kara L: linux-ext4@vger.kernel.org S: Maintained -F: fs/jbd/ -F: include/linux/ext3_jbd.h -F: include/linux/jbd.h - -JOURNALLING LAYER FOR BLOCK DEVICES (JBD2) -M: "Theodore Ts'o" -L: linux-ext4@vger.kernel.org -S: Maintained -F: fs/jbd2/ -F: include/linux/jbd2.h +F: fs/jbd*/ +F: include/linux/ext*jbd*.h +F: include/linux/jbd*.h JSM Neo PCI based serial card M: Breno Leitao @@ -3613,9 +3591,10 @@ F: Documentation/hwmon/k8temp F: drivers/hwmon/k8temp.c KCONFIG -M: Michal Marek +M: Roman Zippel L: linux-kbuild@vger.kernel.org -S: Odd Fixes +Q: http://patchwork.kernel.org/project/linux-kbuild/list/ +S: Maintained F: Documentation/kbuild/kconfig-language.txt F: scripts/kconfig/ @@ -3919,6 +3898,7 @@ F: drivers/*/*/*pasemi* LINUX SECURITY MODULE (LSM) FRAMEWORK M: Chris Wright L: linux-security-module@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6.git S: Supported LIS3LV02D ACCELEROMETER DRIVER @@ -4154,7 +4134,6 @@ M: KAMEZAWA Hiroyuki L: linux-mm@kvack.org S: Maintained F: mm/memcontrol.c -F: mm/page_cgroup.c MEMORY TECHNOLOGY DEVICES (MTD) M: David Woodhouse @@ -6008,7 +5987,7 @@ F: Documentation/filesystems/spufs.txt F: arch/powerpc/platforms/cell/spufs/ SQUASHFS FILE SYSTEM -M: Phillip Lougher +M: Phillip Lougher L: squashfs-devel@lists.sourceforge.net (subscribers-only) W: http://squashfs.org.uk S: Maintained @@ -6817,13 +6796,6 @@ L: lm-sensors@lm-sensors.org S: Maintained F: drivers/hwmon/vt8231.c -VUB300 USB to SDIO/SD/MMC bridge chip -M: Tony Olech -L: linux-mmc@vger.kernel.org -L: linux-usb@vger.kernel.org -S: Supported -F: drivers/mmc/host/vub300.c - W1 DALLAS'S 1-WIRE BUS M: Evgeniy Polyakov S: Maintained diff --git a/trunk/Makefile b/trunk/Makefile index 529d93fa2430..6b73d1eed1ea 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -220,14 +220,6 @@ ifeq ($(ARCH),sh64) SRCARCH := sh endif -# Additional ARCH settings for tile -ifeq ($(ARCH),tilepro) - SRCARCH := tile -endif -ifeq ($(ARCH),tilegx) - SRCARCH := tile -endif - # Where to locate arch specific headers hdr-arch := $(SRCARCH) @@ -1017,8 +1009,7 @@ include/generated/utsrelease.h: include/config/kernel.release FORCE PHONY += headerdep headerdep: - $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \ - $(srctree)/scripts/headerdep.pl -I$(srctree)/include + $(Q)find include/ -name '*.h' | xargs --max-args 1 scripts/headerdep.pl # --------------------------------------------------------------------------- @@ -1426,15 +1417,13 @@ tags TAGS cscope gtags: FORCE # Scripts to check various things for consistency # --------------------------------------------------------------------------- -PHONY += includecheck versioncheck coccicheck namespacecheck export_report - includecheck: - find $(srctree)/* $(RCS_FIND_IGNORE) \ + find * $(RCS_FIND_IGNORE) \ -name '*.[hcS]' -type f -print | sort \ | xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl versioncheck: - find $(srctree)/* $(RCS_FIND_IGNORE) \ + find * $(RCS_FIND_IGNORE) \ -name '*.[hcS]' -type f -print | sort \ | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl diff --git a/trunk/arch/Kconfig b/trunk/arch/Kconfig index 26b0e2397a57..8d24bacaa61e 100644 --- a/trunk/arch/Kconfig +++ b/trunk/arch/Kconfig @@ -175,7 +175,4 @@ config HAVE_ARCH_JUMP_LABEL config HAVE_ARCH_MUTEX_CPU_RELAX bool -config HAVE_RCU_TABLE_FREE - bool - source "kernel/gcov/Kconfig" diff --git a/trunk/arch/alpha/Kconfig b/trunk/arch/alpha/Kconfig index 60219bf94198..9808998cc073 100644 --- a/trunk/arch/alpha/Kconfig +++ b/trunk/arch/alpha/Kconfig @@ -12,7 +12,6 @@ config ALPHA select GENERIC_IRQ_PROBE select AUTO_IRQ_AFFINITY if SMP select GENERIC_IRQ_SHOW - select ARCH_WANT_OPTIONAL_GPIOLIB help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory, @@ -41,6 +40,10 @@ config ARCH_HAS_ILOG2_U64 bool default n +config GENERIC_FIND_NEXT_BIT + bool + default y + config GENERIC_CALIBRATE_DELAY bool default y @@ -48,9 +51,6 @@ config GENERIC_CALIBRATE_DELAY config GENERIC_CMOS_UPDATE def_bool y -config GENERIC_GPIO - def_bool y - config ZONE_DMA bool default y diff --git a/trunk/arch/alpha/include/asm/gpio.h b/trunk/arch/alpha/include/asm/gpio.h deleted file mode 100644 index 7dc6a6343c06..000000000000 --- a/trunk/arch/alpha/include/asm/gpio.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generic GPIO API implementation for Alpha. - * - * A stright copy of that for PowerPC which was: - * - * Copyright (c) 2007-2008 MontaVista Software, Inc. - * - * Author: Anton Vorontsov - * - * 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. - */ - -#ifndef _ASM_ALPHA_GPIO_H -#define _ASM_ALPHA_GPIO_H - -#include -#include - -#ifdef CONFIG_GPIOLIB - -/* - * We don't (yet) implement inlined/rapid versions for on-chip gpios. - * Just call gpiolib. - */ -static inline int gpio_get_value(unsigned int gpio) -{ - return __gpio_get_value(gpio); -} - -static inline void gpio_set_value(unsigned int gpio, int value) -{ - __gpio_set_value(gpio, value); -} - -static inline int gpio_cansleep(unsigned int gpio) -{ - return __gpio_cansleep(gpio); -} - -static inline int gpio_to_irq(unsigned int gpio) -{ - return __gpio_to_irq(gpio); -} - -static inline int irq_to_gpio(unsigned int irq) -{ - return -EINVAL; -} - -#endif /* CONFIG_GPIOLIB */ - -#endif /* _ASM_ALPHA_GPIO_H */ diff --git a/trunk/arch/alpha/include/asm/smp.h b/trunk/arch/alpha/include/asm/smp.h index c46e714aa3e0..3f390e8cc0b3 100644 --- a/trunk/arch/alpha/include/asm/smp.h +++ b/trunk/arch/alpha/include/asm/smp.h @@ -39,6 +39,8 @@ struct cpuinfo_alpha { extern struct cpuinfo_alpha cpu_data[NR_CPUS]; +#define PROC_CHANGE_PENALTY 20 + #define hard_smp_processor_id() __hard_smp_processor_id() #define raw_smp_processor_id() (current_thread_info()->cpu) diff --git a/trunk/arch/alpha/kernel/process.c b/trunk/arch/alpha/kernel/process.c index 838eac128409..3ec35066f1dc 100644 --- a/trunk/arch/alpha/kernel/process.c +++ b/trunk/arch/alpha/kernel/process.c @@ -121,7 +121,7 @@ common_shutdown_1(void *generic_ptr) /* Wait for the secondaries to halt. */ set_cpu_present(boot_cpuid, false); set_cpu_possible(boot_cpuid, false); - while (cpumask_weight(cpu_present_mask)) + while (cpus_weight(cpu_present_map)) barrier(); #endif diff --git a/trunk/arch/alpha/kernel/setup.c b/trunk/arch/alpha/kernel/setup.c index cc0fd862cf26..edbddcbd5bc6 100644 --- a/trunk/arch/alpha/kernel/setup.c +++ b/trunk/arch/alpha/kernel/setup.c @@ -1257,7 +1257,7 @@ show_cpuinfo(struct seq_file *f, void *slot) #ifdef CONFIG_SMP seq_printf(f, "cpus active\t\t: %u\n" "cpu active mask\t\t: %016lx\n", - num_online_cpus(), cpumask_bits(cpu_possible_mask)[0]); + num_online_cpus(), cpus_addr(cpu_possible_map)[0]); #endif show_cache_size (f, "L1 Icache", alpha_l1i_cacheshape); diff --git a/trunk/arch/alpha/kernel/smp.c b/trunk/arch/alpha/kernel/smp.c index d739703608fc..5a621c6d22ab 100644 --- a/trunk/arch/alpha/kernel/smp.c +++ b/trunk/arch/alpha/kernel/smp.c @@ -451,7 +451,7 @@ setup_smp(void) } printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_map = %lx\n", - smp_num_probed, cpumask_bits(cpu_present_mask)[0]); + smp_num_probed, cpu_present_map.bits[0]); } /* @@ -629,9 +629,8 @@ smp_send_reschedule(int cpu) void smp_send_stop(void) { - cpumask_t to_whom; - cpumask_copy(&to_whom, cpu_possible_mask); - cpumask_clear_cpu(smp_processor_id(), &to_whom); + cpumask_t to_whom = cpu_possible_map; + cpu_clear(smp_processor_id(), to_whom); #ifdef DEBUG_IPI_MSG if (hard_smp_processor_id() != boot_cpu_id) printk(KERN_WARNING "smp_send_stop: Not on boot cpu.\n"); diff --git a/trunk/arch/alpha/kernel/sys_dp264.c b/trunk/arch/alpha/kernel/sys_dp264.c index f8856829c22a..5ac00fd4cd0c 100644 --- a/trunk/arch/alpha/kernel/sys_dp264.c +++ b/trunk/arch/alpha/kernel/sys_dp264.c @@ -140,7 +140,7 @@ cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) for (cpu = 0; cpu < 4; cpu++) { unsigned long aff = cpu_irq_affinity[cpu]; - if (cpumask_test_cpu(cpu, &affinity)) + if (cpu_isset(cpu, affinity)) aff |= 1UL << irq; else aff &= ~(1UL << irq); diff --git a/trunk/arch/alpha/kernel/sys_titan.c b/trunk/arch/alpha/kernel/sys_titan.c index 6994407e242a..fea0e4620994 100644 --- a/trunk/arch/alpha/kernel/sys_titan.c +++ b/trunk/arch/alpha/kernel/sys_titan.c @@ -65,11 +65,10 @@ titan_update_irq_hw(unsigned long mask) register int bcpu = boot_cpuid; #ifdef CONFIG_SMP - cpumask_t cpm; + cpumask_t cpm = cpu_present_map; volatile unsigned long *dim0, *dim1, *dim2, *dim3; unsigned long mask0, mask1, mask2, mask3, dummy; - cpumask_copy(&cpm, cpu_present_mask); mask &= ~isa_enable; mask0 = mask & titan_cpu_irq_affinity[0]; mask1 = mask & titan_cpu_irq_affinity[1]; @@ -85,10 +84,10 @@ titan_update_irq_hw(unsigned long mask) dim1 = &cchip->dim1.csr; dim2 = &cchip->dim2.csr; dim3 = &cchip->dim3.csr; - if (!cpumask_test_cpu(0, &cpm)) dim0 = &dummy; - if (!cpumask_test_cpu(1, &cpm)) dim1 = &dummy; - if (!cpumask_test_cpu(2, &cpm)) dim2 = &dummy; - if (!cpumask_test_cpu(3, &cpm)) dim3 = &dummy; + if (!cpu_isset(0, cpm)) dim0 = &dummy; + if (!cpu_isset(1, cpm)) dim1 = &dummy; + if (!cpu_isset(2, cpm)) dim2 = &dummy; + if (!cpu_isset(3, cpm)) dim3 = &dummy; *dim0 = mask0; *dim1 = mask1; @@ -138,7 +137,7 @@ titan_cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) int cpu; for (cpu = 0; cpu < 4; cpu++) { - if (cpumask_test_cpu(cpu, &affinity)) + if (cpu_isset(cpu, affinity)) titan_cpu_irq_affinity[cpu] |= 1UL << irq; else titan_cpu_irq_affinity[cpu] &= ~(1UL << irq); diff --git a/trunk/arch/alpha/mm/init.c b/trunk/arch/alpha/mm/init.c index 69d0c5761e2f..86425ab53bf5 100644 --- a/trunk/arch/alpha/mm/init.c +++ b/trunk/arch/alpha/mm/init.c @@ -32,6 +32,8 @@ #include #include +DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); + extern void die_if_kernel(char *,struct pt_regs *,long); static struct pcb_struct original_pcb; diff --git a/trunk/arch/alpha/mm/numa.c b/trunk/arch/alpha/mm/numa.c index 3973ae395772..7b2c56d8f930 100644 --- a/trunk/arch/alpha/mm/numa.c +++ b/trunk/arch/alpha/mm/numa.c @@ -313,7 +313,6 @@ void __init paging_init(void) zones_size[ZONE_DMA] = dma_local_pfn; zones_size[ZONE_NORMAL] = (end_pfn - start_pfn) - dma_local_pfn; } - node_set_state(nid, N_NORMAL_MEMORY); free_area_init_node(nid, zones_size, start_pfn, NULL); } diff --git a/trunk/arch/arm/Kconfig.debug b/trunk/arch/arm/Kconfig.debug index 81cbe40c159c..03d01d783e3b 100644 --- a/trunk/arch/arm/Kconfig.debug +++ b/trunk/arch/arm/Kconfig.debug @@ -63,6 +63,13 @@ config DEBUG_USER 8 - SIGSEGV faults 16 - SIGBUS faults +config DEBUG_STACK_USAGE + bool "Enable stack utilization instrumentation" + depends on DEBUG_KERNEL + help + Enables the display of the minimum amount of free stack which each + task has ever had available in the sysrq-T output. + # These options are only for real kernel hackers who want to get their hands dirty. config DEBUG_LL bool "Kernel low-level debugging functions" diff --git a/trunk/arch/arm/configs/omap2plus_defconfig b/trunk/arch/arm/configs/omap2plus_defconfig index d5f00d7eb075..076db52ff672 100644 --- a/trunk/arch/arm/configs/omap2plus_defconfig +++ b/trunk/arch/arm/configs/omap2plus_defconfig @@ -21,22 +21,58 @@ CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_BLK_DEV_BSG is not set CONFIG_ARCH_OMAP=y +CONFIG_ARCH_OMAP2=y +CONFIG_ARCH_OMAP3=y +CONFIG_ARCH_OMAP4=y CONFIG_OMAP_RESET_CLOCKS=y CONFIG_OMAP_MUX_DEBUG=y +CONFIG_OMAP_32K_TIMER=y +CONFIG_MACH_OMAP_GENERIC=y +CONFIG_ARCH_OMAP2420=y +CONFIG_ARCH_OMAP2430=y +CONFIG_ARCH_OMAP3430=y +CONFIG_MACH_OMAP_H4=y +CONFIG_MACH_OMAP_APOLLON=y +CONFIG_MACH_OMAP_2430SDP=y +CONFIG_MACH_OMAP3_BEAGLE=y +CONFIG_MACH_DEVKIT8000=y +CONFIG_MACH_OMAP_LDP=y +CONFIG_MACH_OVERO=y +CONFIG_MACH_OMAP3EVM=y +CONFIG_MACH_OMAP3517EVM=y +CONFIG_MACH_OMAP3_PANDORA=y +CONFIG_MACH_OMAP3_TOUCHBOOK=y +CONFIG_MACH_OMAP_3430SDP=y +CONFIG_MACH_NOKIA_N8X0=y +CONFIG_MACH_NOKIA_RX51=y +CONFIG_MACH_OMAP_ZOOM2=y +CONFIG_MACH_OMAP_ZOOM3=y +CONFIG_MACH_CM_T35=y +CONFIG_MACH_IGEP0020=y +CONFIG_MACH_SBC3530=y +CONFIG_MACH_OMAP_3630SDP=y +CONFIG_MACH_OMAP_4430SDP=y CONFIG_ARM_THUMBEE=y +CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_ARM_ERRATA_411920=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_SMP=y CONFIG_NR_CPUS=2 +# CONFIG_LOCAL_TIMERS is not set +CONFIG_AEABI=y CONFIG_LEDS=y CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200" CONFIG_KEXEC=y CONFIG_FPE_NWFPE=y +CONFIG_VFP=y +CONFIG_NEON=y CONFIG_BINFMT_MISC=y +CONFIG_PM=y CONFIG_PM_DEBUG=y +CONFIG_PM_RUNTIME=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y @@ -53,6 +89,14 @@ CONFIG_IP_PNP_RARP=y # CONFIG_IPV6 is not set CONFIG_NETFILTER=y CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y @@ -63,9 +107,11 @@ CONFIG_CFG80211=m CONFIG_MAC80211=m CONFIG_MAC80211_RC_PID=y CONFIG_MAC80211_RC_DEFAULT_PID=y +CONFIG_MAC80211_LEDS=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_CONNECTOR=y CONFIG_MTD=y +CONFIG_MTD_CONCAT=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y @@ -81,6 +127,7 @@ CONFIG_MTD_UBI=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_EEPROM_LEGACY=y CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y CONFIG_SCSI_MULTI_LUN=y @@ -111,15 +158,19 @@ CONFIG_TOUCHSCREEN_ADS7846=y CONFIG_INPUT_MISC=y CONFIG_INPUT_TWL4030_PWRBUTTON=y CONFIG_VT_HW_CONSOLE_BINDING=y -# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_RSA=y +# CONFIG_LEGACY_PTYS is not set CONFIG_HW_RANDOM=y +CONFIG_I2C=y CONFIG_I2C_CHARDEV=y +CONFIG_I2C_OMAP=y CONFIG_SPI=y CONFIG_SPI_OMAP24XX=y CONFIG_DEBUG_GPIO=y @@ -130,6 +181,10 @@ CONFIG_POWER_SUPPLY=y CONFIG_WATCHDOG=y CONFIG_OMAP_WATCHDOG=y CONFIG_TWL4030_WATCHDOG=y +CONFIG_MENELAUS=y +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_POWER=y +CONFIG_REGULATOR=y CONFIG_REGULATOR_TWL4030=y CONFIG_REGULATOR_TPS65023=y CONFIG_REGULATOR_TPS6507X=y @@ -153,6 +208,7 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_PLATFORM=y CONFIG_DISPLAY_SUPPORT=y +# CONFIG_VGA_CONSOLE is not set CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_FONTS=y @@ -161,20 +217,25 @@ CONFIG_FONT_8x16=y CONFIG_LOGO=y CONFIG_SOUND=m CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m +CONFIG_SND_MIXER_OSS=y +CONFIG_SND_PCM_OSS=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_SOC=m -CONFIG_SND_OMAP_SOC=m -CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_SOC=y +CONFIG_SND_OMAP_SOC=y +CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y CONFIG_USB=y CONFIG_USB_DEBUG=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_DEVICEFS=y CONFIG_USB_SUSPEND=y +# CONFIG_USB_OTG_WHITELIST is not set CONFIG_USB_MON=y +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_MUSB_OTG is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set +CONFIG_USB_MUSB_DEBUG=y CONFIG_USB_WDM=y CONFIG_USB_STORAGE=y CONFIG_USB_LIBUSUAL=y @@ -189,12 +250,18 @@ CONFIG_MMC_UNSAFE_RESUME=y CONFIG_SDIO_UART=y CONFIG_MMC_OMAP=y CONFIG_MMC_OMAP_HS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_TWL92330=y CONFIG_RTC_DRV_TWL4030=y CONFIG_EXT2_FS=y CONFIG_EXT3_FS=y # CONFIG_EXT3_FS_XATTR is not set +CONFIG_INOTIFY=y CONFIG_QUOTA=y CONFIG_QFMT_V2=y CONFIG_MSDOS_FS=y @@ -218,10 +285,12 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_FS=y CONFIG_DEBUG_KERNEL=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y CONFIG_PROVE_LOCKING=y +# CONFIG_LOCK_STAT is not set CONFIG_DEBUG_SPINLOCK_SLEEP=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_DEBUG_INFO=y diff --git a/trunk/arch/arm/include/asm/bitops.h b/trunk/arch/arm/include/asm/bitops.h index b4892a06442c..6b7403fd8f54 100644 --- a/trunk/arch/arm/include/asm/bitops.h +++ b/trunk/arch/arm/include/asm/bitops.h @@ -203,6 +203,8 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset); #define find_first_bit(p,sz) _find_first_bit_le(p,sz) #define find_next_bit(p,sz,off) _find_next_bit_le(p,sz,off) +#define WORD_BITOFF_TO_LE(x) ((x)) + #else /* * These are the big endian, atomic definitions. @@ -212,6 +214,8 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset); #define find_first_bit(p,sz) _find_first_bit_be(p,sz) #define find_next_bit(p,sz,off) _find_next_bit_be(p,sz,off) +#define WORD_BITOFF_TO_LE(x) ((x) ^ 0x18) + #endif #if __LINUX_ARM_ARCH__ < 5 @@ -283,29 +287,55 @@ static inline int fls(int x) #include #include -#ifdef __ARMEB__ +static inline void __set_bit_le(int nr, void *addr) +{ + __set_bit(WORD_BITOFF_TO_LE(nr), addr); +} + +static inline void __clear_bit_le(int nr, void *addr) +{ + __clear_bit(WORD_BITOFF_TO_LE(nr), addr); +} + +static inline int __test_and_set_bit_le(int nr, void *addr) +{ + return __test_and_set_bit(WORD_BITOFF_TO_LE(nr), addr); +} + +static inline int test_and_set_bit_le(int nr, void *addr) +{ + return test_and_set_bit(WORD_BITOFF_TO_LE(nr), addr); +} + +static inline int __test_and_clear_bit_le(int nr, void *addr) +{ + return __test_and_clear_bit(WORD_BITOFF_TO_LE(nr), addr); +} + +static inline int test_and_clear_bit_le(int nr, void *addr) +{ + return test_and_clear_bit(WORD_BITOFF_TO_LE(nr), addr); +} + +static inline int test_bit_le(int nr, const void *addr) +{ + return test_bit(WORD_BITOFF_TO_LE(nr), addr); +} static inline int find_first_zero_bit_le(const void *p, unsigned size) { return _find_first_zero_bit_le(p, size); } -#define find_first_zero_bit_le find_first_zero_bit_le static inline int find_next_zero_bit_le(const void *p, int size, int offset) { return _find_next_zero_bit_le(p, size, offset); } -#define find_next_zero_bit_le find_next_zero_bit_le static inline int find_next_bit_le(const void *p, int size, int offset) { return _find_next_bit_le(p, size, offset); } -#define find_next_bit_le find_next_bit_le - -#endif - -#include /* * Ext2 is defined to use little-endian byte ordering. diff --git a/trunk/arch/arm/include/asm/smp.h b/trunk/arch/arm/include/asm/smp.h index d2b514fd76f4..a87664f54f93 100644 --- a/trunk/arch/arm/include/asm/smp.h +++ b/trunk/arch/arm/include/asm/smp.h @@ -20,6 +20,12 @@ #define raw_smp_processor_id() (current_thread_info()->cpu) +/* + * at the moment, there's not a big penalty for changing CPUs + * (the >big< penalty is running SMP in the first place) + */ +#define PROC_CHANGE_PENALTY 15 + struct seq_file; /* diff --git a/trunk/arch/arm/include/asm/tlb.h b/trunk/arch/arm/include/asm/tlb.h index 265f908c4a6e..82dfe5d0c41e 100644 --- a/trunk/arch/arm/include/asm/tlb.h +++ b/trunk/arch/arm/include/asm/tlb.h @@ -41,12 +41,12 @@ */ #if defined(CONFIG_SMP) || defined(CONFIG_CPU_32v7) #define tlb_fast_mode(tlb) 0 +#define FREE_PTE_NR 500 #else #define tlb_fast_mode(tlb) 1 +#define FREE_PTE_NR 0 #endif -#define MMU_GATHER_BUNDLE 8 - /* * TLB handling. This allows us to remove pages from the page * tables, and efficiently handle the TLB issues. @@ -58,9 +58,7 @@ struct mmu_gather { unsigned long range_start; unsigned long range_end; unsigned int nr; - unsigned int max; - struct page **pages; - struct page *local[MMU_GATHER_BUNDLE]; + struct page *pages[FREE_PTE_NR]; }; DECLARE_PER_CPU(struct mmu_gather, mmu_gathers); @@ -99,37 +97,26 @@ static inline void tlb_add_flush(struct mmu_gather *tlb, unsigned long addr) } } -static inline void __tlb_alloc_page(struct mmu_gather *tlb) -{ - unsigned long addr = __get_free_pages(GFP_NOWAIT | __GFP_NOWARN, 0); - - if (addr) { - tlb->pages = (void *)addr; - tlb->max = PAGE_SIZE / sizeof(struct page *); - } -} - static inline void tlb_flush_mmu(struct mmu_gather *tlb) { tlb_flush(tlb); if (!tlb_fast_mode(tlb)) { free_pages_and_swap_cache(tlb->pages, tlb->nr); tlb->nr = 0; - if (tlb->pages == tlb->local) - __tlb_alloc_page(tlb); } } -static inline void -tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int fullmm) +static inline struct mmu_gather * +tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush) { + struct mmu_gather *tlb = &get_cpu_var(mmu_gathers); + tlb->mm = mm; - tlb->fullmm = fullmm; + tlb->fullmm = full_mm_flush; tlb->vma = NULL; - tlb->max = ARRAY_SIZE(tlb->local); - tlb->pages = tlb->local; tlb->nr = 0; - __tlb_alloc_page(tlb); + + return tlb; } static inline void @@ -140,8 +127,7 @@ tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end) /* keep the page table cache within bounds */ check_pgt_cache(); - if (tlb->pages != tlb->local) - free_pages((unsigned long)tlb->pages, 0); + put_cpu_var(mmu_gathers); } /* @@ -176,22 +162,15 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) tlb_flush(tlb); } -static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page) +static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page) { if (tlb_fast_mode(tlb)) { free_page_and_swap_cache(page); - return 1; /* avoid calling tlb_flush_mmu */ + } else { + tlb->pages[tlb->nr++] = page; + if (tlb->nr >= FREE_PTE_NR) + tlb_flush_mmu(tlb); } - - tlb->pages[tlb->nr++] = page; - VM_BUG_ON(tlb->nr > tlb->max); - return tlb->max - tlb->nr; -} - -static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page) -{ - if (!__tlb_remove_page(tlb, page)) - tlb_flush_mmu(tlb); } static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, diff --git a/trunk/arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h b/trunk/arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h deleted file mode 100644 index 292d55ed2113..000000000000 --- a/trunk/arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * PTP 1588 clock using the IXP46X - * - * Copyright (C) 2010 OMICRON electronics GmbH - * - * 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., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef _IXP46X_TS_H_ -#define _IXP46X_TS_H_ - -#define DEFAULT_ADDEND 0xF0000029 -#define TICKS_NS_SHIFT 4 - -struct ixp46x_channel_ctl { - u32 ch_control; /* 0x40 Time Synchronization Channel Control */ - u32 ch_event; /* 0x44 Time Synchronization Channel Event */ - u32 tx_snap_lo; /* 0x48 Transmit Snapshot Low Register */ - u32 tx_snap_hi; /* 0x4C Transmit Snapshot High Register */ - u32 rx_snap_lo; /* 0x50 Receive Snapshot Low Register */ - u32 rx_snap_hi; /* 0x54 Receive Snapshot High Register */ - u32 src_uuid_lo; /* 0x58 Source UUID0 Low Register */ - u32 src_uuid_hi; /* 0x5C Sequence Identifier/Source UUID0 High */ -}; - -struct ixp46x_ts_regs { - u32 control; /* 0x00 Time Sync Control Register */ - u32 event; /* 0x04 Time Sync Event Register */ - u32 addend; /* 0x08 Time Sync Addend Register */ - u32 accum; /* 0x0C Time Sync Accumulator Register */ - u32 test; /* 0x10 Time Sync Test Register */ - u32 unused; /* 0x14 */ - u32 rsystime_lo; /* 0x18 RawSystemTime_Low Register */ - u32 rsystime_hi; /* 0x1C RawSystemTime_High Register */ - u32 systime_lo; /* 0x20 SystemTime_Low Register */ - u32 systime_hi; /* 0x24 SystemTime_High Register */ - u32 trgt_lo; /* 0x28 TargetTime_Low Register */ - u32 trgt_hi; /* 0x2C TargetTime_High Register */ - u32 asms_lo; /* 0x30 Auxiliary Slave Mode Snapshot Low */ - u32 asms_hi; /* 0x34 Auxiliary Slave Mode Snapshot High */ - u32 amms_lo; /* 0x38 Auxiliary Master Mode Snapshot Low */ - u32 amms_hi; /* 0x3C Auxiliary Master Mode Snapshot High */ - - struct ixp46x_channel_ctl channel[3]; -}; - -/* 0x00 Time Sync Control Register Bits */ -#define TSCR_AMM (1<<3) -#define TSCR_ASM (1<<2) -#define TSCR_TTM (1<<1) -#define TSCR_RST (1<<0) - -/* 0x04 Time Sync Event Register Bits */ -#define TSER_SNM (1<<3) -#define TSER_SNS (1<<2) -#define TTIPEND (1<<1) - -/* 0x40 Time Synchronization Channel Control Register Bits */ -#define MASTER_MODE (1<<0) -#define TIMESTAMP_ALL (1<<1) - -/* 0x44 Time Synchronization Channel Event Register Bits */ -#define TX_SNAPSHOT_LOCKED (1<<0) -#define RX_SNAPSHOT_LOCKED (1<<1) - -#endif diff --git a/trunk/arch/arm/mach-omap2/Kconfig b/trunk/arch/arm/mach-omap2/Kconfig index 19d5891c48e3..b997a35830fc 100644 --- a/trunk/arch/arm/mach-omap2/Kconfig +++ b/trunk/arch/arm/mach-omap2/Kconfig @@ -288,7 +288,6 @@ config MACH_IGEP0030 depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB - select MACH_IGEP0020 config MACH_SBC3530 bool "OMAP3 SBC STALKER board" diff --git a/trunk/arch/arm/mach-omap2/Makefile b/trunk/arch/arm/mach-omap2/Makefile index b14807794401..66dfbccacd25 100644 --- a/trunk/arch/arm/mach-omap2/Makefile +++ b/trunk/arch/arm/mach-omap2/Makefile @@ -229,6 +229,8 @@ obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o \ obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o \ hsmmc.o +obj-$(CONFIG_MACH_IGEP0030) += board-igep0030.o \ + hsmmc.o obj-$(CONFIG_MACH_OMAP3_TOUCHBOOK) += board-omap3touchbook.o \ hsmmc.o obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o \ @@ -268,5 +270,3 @@ obj-$(CONFIG_ARCH_OMAP4) += hwspinlock.o disp-$(CONFIG_OMAP2_DSS) := display.o obj-y += $(disp-m) $(disp-y) - -obj-y += common-board-devices.o diff --git a/trunk/arch/arm/mach-omap2/board-2430sdp.c b/trunk/arch/arm/mach-omap2/board-2430sdp.c index d54969be0a54..1fa6bb896f41 100644 --- a/trunk/arch/arm/mach-omap2/board-2430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-2430sdp.c @@ -41,7 +41,6 @@ #include "mux.h" #include "hsmmc.h" -#include "common-board-devices.h" #define SDP2430_CS0_BASE 0x04000000 #define SECONDARY_LCD_GPIO 147 @@ -181,6 +180,15 @@ static struct twl4030_platform_data sdp2430_twldata = { .vmmc1 = &sdp2430_vmmc1, }; +static struct i2c_board_info __initdata sdp2430_i2c_boardinfo[] = { + { + I2C_BOARD_INFO("twl4030", 0x48), + .flags = I2C_CLIENT_WAKE, + .irq = INT_24XX_SYS_NIRQ, + .platform_data = &sdp2430_twldata, + }, +}; + static struct i2c_board_info __initdata sdp2430_i2c1_boardinfo[] = { { I2C_BOARD_INFO("isp1301_omap", 0x2D), @@ -193,7 +201,8 @@ static int __init omap2430_i2c_init(void) { omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo, ARRAY_SIZE(sdp2430_i2c1_boardinfo)); - omap2_pmic_init("twl4030", &sdp2430_twldata); + omap_register_i2c_bus(2, 2600, sdp2430_i2c_boardinfo, + ARRAY_SIZE(sdp2430_i2c_boardinfo)); return 0; } @@ -208,6 +217,11 @@ static struct omap2_hsmmc_info mmc[] __initdata = { {} /* Terminator */ }; +static struct omap_musb_board_data musb_board_data = { + .interface_type = MUSB_INTERFACE_ULPI, + .mode = MUSB_OTG, + .power = 100, +}; static struct omap_usb_config sdp2430_usb_config __initdata = { .otg = 1, #ifdef CONFIG_USB_GADGET_OMAP @@ -226,6 +240,8 @@ static struct omap_board_mux board_mux[] __initdata = { static void __init omap_2430sdp_init(void) { + int ret; + omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC); omap_board_config = sdp2430_config; @@ -239,13 +255,14 @@ static void __init omap_2430sdp_init(void) omap2_usbfs_init(&sdp2430_usb_config); omap_mux_init_signal("usb0hs_stp", OMAP_PULL_ENA | OMAP_PULL_UP); - usb_musb_init(NULL); + usb_musb_init(&musb_board_data); board_smc91x_init(); /* Turn off secondary LCD backlight */ - gpio_request_one(SECONDARY_LCD_GPIO, GPIOF_OUT_INIT_LOW, - "Secondary LCD backlight"); + ret = gpio_request(SECONDARY_LCD_GPIO, "Secondary LCD backlight"); + if (ret == 0) + gpio_direction_output(SECONDARY_LCD_GPIO, 0); } static void __init omap_2430sdp_map_io(void) diff --git a/trunk/arch/arm/mach-omap2/board-3430sdp.c b/trunk/arch/arm/mach-omap2/board-3430sdp.c index ae2963a98041..9afd087cc29c 100644 --- a/trunk/arch/arm/mach-omap2/board-3430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-3430sdp.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -36,8 +37,8 @@ #include #include #include -#include