From 8b05ec161da0e88adf669aa0ffc4f967f2410acf Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Wed, 21 Mar 2012 06:58:03 +0000 Subject: [PATCH] --- yaml --- r: 294670 b: refs/heads/master c: 2a2a459eeeff48640dc557548ce576d666ab06ed h: refs/heads/master v: v3 --- [refs] | 2 +- .../ABI/testing/sysfs-kernel-mm-cleancache | 11 + trunk/Documentation/DocBook/kgdb.tmpl | 17 - trunk/Documentation/EDID/1024x768.S | 44 - trunk/Documentation/EDID/1280x1024.S | 44 - trunk/Documentation/EDID/1680x1050.S | 44 - trunk/Documentation/EDID/1920x1080.S | 44 - trunk/Documentation/EDID/HOWTO.txt | 39 - trunk/Documentation/EDID/Makefile | 26 - trunk/Documentation/EDID/edid.S | 261 -- trunk/Documentation/EDID/hex | 1 - .../bindings/input/matrix-keymap.txt | 19 - .../devicetree/bindings/input/tegra-kbc.txt | 17 +- .../bindings/powerpc/fsl/mpic-msgr.txt | 63 - .../devicetree/bindings/powerpc/fsl/mpic.txt | 22 +- .../bindings/powerpc/fsl/msi-pic.txt | 6 +- .../devicetree/bindings/sound/alc5632.txt | 24 - .../devicetree/bindings/sound/imx-audmux.txt | 13 - .../codecs/fsl-sgtl5000.txt} | 0 .../bindings/sound/tegra-audio-alc5632.txt | 59 - .../devicetree/bindings/vendor-prefixes.txt | 1 - trunk/Documentation/filesystems/debugfs.txt | 2 +- .../filesystems/nfs/idmapper.txt | 20 +- trunk/Documentation/filesystems/nfs/pnfs.txt | 54 - trunk/Documentation/filesystems/porting | 6 - trunk/Documentation/filesystems/proc.txt | 32 +- trunk/Documentation/filesystems/qnx6.txt | 174 - trunk/Documentation/ioctl/ioctl-number.txt | 1 - trunk/Documentation/kernel-parameters.txt | 45 - trunk/Documentation/pinctrl.txt | 311 +- .../powerpc/firmware-assisted-dump.txt | 270 -- trunk/Documentation/powerpc/mpc52xx.txt | 12 +- .../powerpc/phyp-assisted-dump.txt | 127 + trunk/Documentation/scsi/LICENSE.qla2xxx | 41 +- trunk/Documentation/scsi/bfa.txt | 82 - trunk/Documentation/scsi/libsas.txt | 15 + .../sound/alsa/ALSA-Configuration.txt | 8 +- .../sound/alsa/HD-Audio-Models.txt | 79 +- trunk/Documentation/sound/alsa/HD-Audio.txt | 7 +- trunk/Documentation/vm/cleancache.txt | 41 +- trunk/Documentation/vm/page-types.c | 2 - trunk/Documentation/vm/pagemap.txt | 4 - trunk/MAINTAINERS | 49 +- trunk/arch/alpha/kernel/binfmt_loader.c | 3 +- trunk/arch/arm/mach-ep93xx/core.c | 19 +- .../arm/mach-ep93xx/include/mach/platform.h | 2 +- trunk/arch/arm/mach-imx/Kconfig | 6 + .../arm/mach-imx/eukrea_mbimx27-baseboard.c | 20 + .../arm/mach-imx/eukrea_mbimxsd-baseboard.c | 1 + .../arm/mach-imx/eukrea_mbimxsd25-baseboard.c | 17 + .../arm/mach-imx/eukrea_mbimxsd35-baseboard.c | 17 + .../arm/mach-imx/mach-imx27_visstrim_m10.c | 1 - trunk/arch/arm/mach-imx/mach-pca100.c | 13 + trunk/arch/arm/mach-imx/mach-pcm043.c | 13 + trunk/arch/arm/mach-imx/mm-imx21.c | 6 - trunk/arch/arm/mach-imx/mm-imx25.c | 7 - trunk/arch/arm/mach-imx/mm-imx27.c | 7 - trunk/arch/arm/mach-imx/mm-imx3.c | 13 - trunk/arch/arm/mach-imx/mm-imx5.c | 22 - trunk/arch/arm/mach-kirkwood/openrd-setup.c | 6 - trunk/arch/arm/mach-kirkwood/t5325-setup.c | 6 - trunk/arch/arm/mach-omap1/Kconfig | 3 + trunk/arch/arm/mach-omap1/Makefile | 4 +- trunk/arch/arm/mach-omap1/board-ams-delta.c | 9 +- trunk/arch/arm/mach-omap1/board-fsample.c | 15 +- trunk/arch/arm/mach-omap1/board-h2.c | 15 +- trunk/arch/arm/mach-omap1/board-h3.c | 9 +- trunk/arch/arm/mach-omap1/board-htcherald.c | 9 +- trunk/arch/arm/mach-omap1/board-innovator.c | 11 +- trunk/arch/arm/mach-omap1/board-nokia770.c | 19 +- trunk/arch/arm/mach-omap1/board-osk.c | 14 +- trunk/arch/arm/mach-omap1/board-palmte.c | 10 +- trunk/arch/arm/mach-omap1/board-palmtt.c | 10 +- trunk/arch/arm/mach-omap1/board-palmz71.c | 10 +- trunk/arch/arm/mach-omap1/board-perseus2.c | 15 +- trunk/arch/arm/mach-omap1/board-sx1.c | 16 +- trunk/arch/arm/mach-omap1/devices.c | 9 + trunk/arch/arm/mach-omap1/mcbsp.c | 14 +- trunk/arch/arm/mach-omap2/Makefile | 4 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 30 - trunk/arch/arm/mach-omap2/board-omap4panda.c | 60 +- trunk/arch/arm/mach-omap2/devices.c | 23 +- trunk/arch/arm/mach-omap2/io.c | 1 + trunk/arch/arm/mach-omap2/mcbsp.c | 54 +- .../arm/mach-s3c64xx/mach-crag6410-module.c | 1 - trunk/arch/arm/mach-shmobile/board-ag5evm.c | 24 +- trunk/arch/arm/mach-shmobile/board-ap4evb.c | 332 +- trunk/arch/arm/mach-shmobile/board-bonito.c | 6 +- trunk/arch/arm/mach-shmobile/board-mackerel.c | 124 +- trunk/arch/arm/mach-tegra/Kconfig | 4 - trunk/arch/arm/mach-tegra/include/mach/kbc.h | 13 +- .../mach-tegra/include/mach/pinconf-tegra.h | 63 - trunk/arch/arm/mach-u300/core.c | 80 +- .../arm/mach-u300/include/mach/gpio-u300.h | 2 - trunk/arch/arm/plat-mxc/Kconfig | 6 + trunk/arch/arm/plat-mxc/Makefile | 2 + trunk/arch/arm/plat-mxc/audmux-v1.c | 64 + .../arm/plat-mxc/audmux-v2.c} | 185 +- trunk/arch/arm/plat-mxc/include/mach/audmux.h | 60 + trunk/arch/arm/plat-omap/Kconfig | 8 + trunk/arch/arm/plat-omap/Makefile | 2 + trunk/arch/arm/plat-omap/common.c | 2 + trunk/arch/arm/plat-omap/fb.c | 334 +- trunk/arch/arm/plat-omap/fb.h | 10 + .../arm/plat-omap/include/plat/blizzard.h | 12 + trunk/arch/arm/plat-omap/include/plat/board.h | 2 + .../arch/arm/plat-omap/include/plat/hwa742.h | 8 + trunk/arch/arm/plat-omap/include/plat/mcbsp.h | 333 ++ .../arm/plat-omap/include/plat/omap4-keypad.h | 9 + trunk/arch/arm/plat-omap/include/plat/vram.h | 21 +- .../soc/omap => arch/arm/plat-omap}/mcbsp.c | 549 ++- .../arm/plat-samsung/include/plat/regs-fb.h | 33 +- .../arm/plat-spear/include/plat/keyboard.h | 66 +- .../blackfin/configs/BF518F-EZBRD_defconfig | 25 +- .../blackfin/configs/BF526-EZBRD_defconfig | 26 +- .../blackfin/configs/BF527-EZKIT-V2_defconfig | 27 +- .../blackfin/configs/BF527-EZKIT_defconfig | 28 +- .../blackfin/configs/BF533-EZKIT_defconfig | 23 +- .../blackfin/configs/BF533-STAMP_defconfig | 22 +- .../blackfin/configs/BF537-STAMP_defconfig | 27 +- .../blackfin/configs/BF548-EZKIT_defconfig | 15 +- .../configs/BF561-EZKIT-SMP_defconfig | 35 +- .../blackfin/configs/BF561-EZKIT_defconfig | 23 +- trunk/arch/blackfin/include/asm/atomic.h | 2 - trunk/arch/blackfin/include/asm/barrier.h | 48 - trunk/arch/blackfin/include/asm/bfin5xx_spi.h | 1 + .../blackfin/include/asm/bfin_simple_timer.h | 10 +- trunk/arch/blackfin/include/asm/bfin_sport.h | 3 - trunk/arch/blackfin/include/asm/blackfin.h | 44 +- trunk/arch/blackfin/include/asm/cmpxchg.h | 132 - trunk/arch/blackfin/include/asm/exec.h | 1 - trunk/arch/blackfin/include/asm/irq_handler.h | 1 - trunk/arch/blackfin/include/asm/kgdb.h | 1 - trunk/arch/blackfin/include/asm/mmu_context.h | 5 +- trunk/arch/blackfin/include/asm/switch_to.h | 39 - trunk/arch/blackfin/include/asm/system.h | 197 +- trunk/arch/blackfin/include/asm/thread_info.h | 2 - trunk/arch/blackfin/include/asm/unistd.h | 4 +- trunk/arch/blackfin/kernel/Makefile | 2 +- trunk/arch/blackfin/kernel/asm-offsets.c | 1 - .../kernel/{bfin_dma.c => bfin_dma_5xx.c} | 8 +- trunk/arch/blackfin/kernel/cplb-mpu/cplbmgr.c | 2 - trunk/arch/blackfin/kernel/ipipe.c | 1 + trunk/arch/blackfin/kernel/kgdb_test.c | 1 + trunk/arch/blackfin/kernel/process.c | 1 - trunk/arch/blackfin/kernel/ptrace.c | 1 + trunk/arch/blackfin/kernel/reboot.c | 1 + trunk/arch/blackfin/kernel/setup.c | 1 - trunk/arch/blackfin/kernel/trace.c | 1 - trunk/arch/blackfin/kernel/traps.c | 1 - trunk/arch/blackfin/lib/ins.S | 2 +- .../arch/blackfin/mach-bf537/boards/pnav10.c | 1 + trunk/arch/blackfin/mach-bf537/boards/stamp.c | 24 +- trunk/arch/blackfin/mach-bf548/boards/ezkit.c | 49 +- trunk/arch/blackfin/mach-bf561/atomic.S | 7 - .../mach-bf561/include/mach/defBF561.h | 227 +- trunk/arch/blackfin/mach-common/entry.S | 4 +- trunk/arch/ia64/include/asm/xen/interface.h | 1 - trunk/arch/m68k/Kconfig | 7 +- trunk/arch/m68k/include/asm/m5206sim.h | 10 +- trunk/arch/m68k/include/asm/m520xsim.h | 33 +- trunk/arch/m68k/include/asm/m523xsim.h | 42 +- trunk/arch/m68k/include/asm/m5249sim.h | 18 +- trunk/arch/m68k/include/asm/m5272sim.h | 17 +- trunk/arch/m68k/include/asm/m527xsim.h | 53 +- trunk/arch/m68k/include/asm/m528xsim.h | 40 +- trunk/arch/m68k/include/asm/m5307sim.h | 10 +- trunk/arch/m68k/include/asm/m532xsim.h | 35 +- trunk/arch/m68k/include/asm/m5407sim.h | 6 +- trunk/arch/m68k/include/asm/m54xxsim.h | 16 +- trunk/arch/m68k/include/asm/machdep.h | 5 +- trunk/arch/m68k/include/asm/mcfqspi.h | 11 + trunk/arch/m68k/include/asm/mcfuart.h | 5 +- trunk/arch/m68k/kernel/process.c | 377 +- trunk/arch/m68k/kernel/process_mm.c | 367 ++ trunk/arch/m68k/kernel/process_no.c | 404 ++ trunk/arch/m68k/kernel/ptrace.c | 306 +- trunk/arch/m68k/kernel/ptrace_mm.c | 295 ++ trunk/arch/m68k/kernel/ptrace_no.c | 255 + trunk/arch/m68k/kernel/setup_no.c | 3 - trunk/arch/m68k/kernel/time.c | 116 +- trunk/arch/m68k/kernel/time_mm.c | 114 + trunk/arch/m68k/kernel/time_no.c | 90 + trunk/arch/m68k/kernel/vmlinux-nommu.lds | 200 +- trunk/arch/m68k/platform/5206/config.c | 91 +- trunk/arch/m68k/platform/520x/config.c | 256 +- trunk/arch/m68k/platform/523x/config.c | 235 +- trunk/arch/m68k/platform/5249/config.c | 244 +- trunk/arch/m68k/platform/5272/config.c | 84 +- trunk/arch/m68k/platform/527x/config.c | 296 +- trunk/arch/m68k/platform/528x/config.c | 230 +- trunk/arch/m68k/platform/5307/config.c | 91 +- trunk/arch/m68k/platform/532x/config.c | 221 +- trunk/arch/m68k/platform/5407/config.c | 91 +- trunk/arch/m68k/platform/54xx/config.c | 77 +- trunk/arch/m68k/platform/68328/config.c | 5 +- trunk/arch/m68k/platform/68328/ints.c | 2 + trunk/arch/m68k/platform/68328/timers.c | 18 +- trunk/arch/m68k/platform/68360/config.c | 8 +- trunk/arch/m68k/platform/68360/ints.c | 2 + trunk/arch/m68k/platform/68EZ328/config.c | 5 +- trunk/arch/m68k/platform/68VZ328/config.c | 5 +- trunk/arch/m68k/platform/coldfire/Makefile | 22 +- trunk/arch/m68k/platform/coldfire/device.c | 318 -- trunk/arch/m68k/platform/coldfire/head.S | 4 - trunk/arch/m68k/platform/coldfire/pit.c | 2 +- trunk/arch/m68k/platform/coldfire/reset.c | 50 - trunk/arch/m68k/platform/coldfire/sltimers.c | 7 +- trunk/arch/m68k/platform/coldfire/timers.c | 27 +- trunk/arch/m68k/platform/coldfire/vectors.c | 2 + trunk/arch/m68k/q40/config.c | 13 - trunk/arch/mips/jz4740/board-qi_lb60.c | 6 - trunk/arch/powerpc/Kconfig | 18 +- trunk/arch/powerpc/Kconfig.debug | 7 + trunk/arch/powerpc/Makefile | 1 - trunk/arch/powerpc/boot/Makefile | 11 +- trunk/arch/powerpc/boot/dts/a4m072.dts | 168 - trunk/arch/powerpc/boot/dts/bluestone.dts | 127 +- .../powerpc/boot/dts/fsl/mpc8536si-post.dtsi | 4 +- .../powerpc/boot/dts/fsl/mpc8548si-post.dtsi | 16 - .../powerpc/boot/dts/fsl/mpc8548si-pre.dtsi | 4 +- .../powerpc/boot/dts/fsl/p1010si-post.dtsi | 3 - .../powerpc/boot/dts/fsl/p1020si-post.dtsi | 6 - .../powerpc/boot/dts/fsl/p1021si-post.dtsi | 7 - .../powerpc/boot/dts/fsl/p1022si-post.dtsi | 12 +- .../powerpc/boot/dts/fsl/p1023si-post.dtsi | 3 - .../powerpc/boot/dts/fsl/p2020si-post.dtsi | 3 - .../powerpc/boot/dts/fsl/p2041si-post.dtsi | 2 - .../powerpc/boot/dts/fsl/p3041si-post.dtsi | 2 - .../powerpc/boot/dts/fsl/p3060si-post.dtsi | 6 - .../powerpc/boot/dts/fsl/p5020si-post.dtsi | 2 - .../powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi | 3 +- .../powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi | 3 +- .../powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi | 3 +- .../powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi | 3 +- trunk/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi | 3 - .../powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi | 10 +- .../arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi | 6 +- trunk/arch/powerpc/boot/dts/ge_imp3a.dts | 255 - trunk/arch/powerpc/boot/dts/mpc836x_mds.dts | 4 - trunk/arch/powerpc/boot/dts/mpc8536ds.dts | 6 +- trunk/arch/powerpc/boot/dts/mpc8536ds.dtsi | 93 - trunk/arch/powerpc/boot/dts/mpc8536ds_36b.dts | 8 +- trunk/arch/powerpc/boot/dts/mpc8548cds.dts | 306 ++ trunk/arch/powerpc/boot/dts/mpc8548cds.dtsi | 306 -- .../arch/powerpc/boot/dts/mpc8548cds_32b.dts | 86 - .../arch/powerpc/boot/dts/mpc8548cds_36b.dts | 86 - trunk/arch/powerpc/boot/dts/mpc8572ds.dtsi | 50 +- trunk/arch/powerpc/boot/dts/p1010rdb.dtsi | 4 +- trunk/arch/powerpc/boot/dts/p1020rdb-pc.dtsi | 247 - .../arch/powerpc/boot/dts/p1020rdb-pc_32b.dts | 90 - .../arch/powerpc/boot/dts/p1020rdb-pc_36b.dts | 90 - .../boot/dts/p1020rdb-pc_camp_core0.dts | 64 - .../boot/dts/p1020rdb-pc_camp_core1.dts | 142 - trunk/arch/powerpc/boot/dts/p1021rdb.dts | 96 - trunk/arch/powerpc/boot/dts/p1021rdb.dtsi | 236 - trunk/arch/powerpc/boot/dts/p1021rdb_36b.dts | 96 - trunk/arch/powerpc/boot/dts/p1022ds.dts | 274 ++ trunk/arch/powerpc/boot/dts/p1022ds.dtsi | 234 - trunk/arch/powerpc/boot/dts/p1022ds_32b.dts | 103 - trunk/arch/powerpc/boot/dts/p1022ds_36b.dts | 103 - trunk/arch/powerpc/boot/dts/p1025rdb.dtsi | 286 -- trunk/arch/powerpc/boot/dts/p1025rdb_32b.dts | 135 - trunk/arch/powerpc/boot/dts/p1025rdb_36b.dts | 88 - trunk/arch/powerpc/boot/dts/p2020rdb-pc.dtsi | 241 - .../arch/powerpc/boot/dts/p2020rdb-pc_32b.dts | 96 - .../arch/powerpc/boot/dts/p2020rdb-pc_36b.dts | 96 - trunk/arch/powerpc/boot/dts/p2020rdb.dts | 4 +- trunk/arch/powerpc/boot/wrapper | 22 +- .../powerpc/configs/85xx/ge_imp3a_defconfig | 257 - .../powerpc/configs/86xx/gef_ppc9a_defconfig | 1 - .../powerpc/configs/86xx/gef_sbc310_defconfig | 1 - .../powerpc/configs/86xx/gef_sbc610_defconfig | 2 - trunk/arch/powerpc/configs/iseries_defconfig | 236 + trunk/arch/powerpc/configs/mpc5200_defconfig | 27 +- trunk/arch/powerpc/configs/mpc85xx_defconfig | 1 - .../powerpc/configs/mpc85xx_smp_defconfig | 1 - trunk/arch/powerpc/include/asm/abs_addr.h | 21 +- trunk/arch/powerpc/include/asm/atomic.h | 59 +- trunk/arch/powerpc/include/asm/cputable.h | 12 +- trunk/arch/powerpc/include/asm/device.h | 3 - trunk/arch/powerpc/include/asm/dma.h | 4 + trunk/arch/powerpc/include/asm/eeh.h | 134 +- trunk/arch/powerpc/include/asm/eeh_event.h | 33 +- .../arch/powerpc/include/asm/exception-64s.h | 113 +- trunk/arch/powerpc/include/asm/fadump.h | 218 - trunk/arch/powerpc/include/asm/firmware.h | 9 + trunk/arch/powerpc/include/asm/fsl_guts.h | 6 +- trunk/arch/powerpc/include/asm/hw_irq.h | 63 +- trunk/arch/powerpc/include/asm/irqflags.h | 37 +- .../arch/powerpc/include/asm/iseries/alpaca.h | 31 + .../powerpc/include/asm/iseries/hv_call.h | 111 + .../include/asm/iseries/hv_call_event.h | 201 + .../powerpc/include/asm/iseries/hv_call_sc.h | 50 + .../powerpc/include/asm/iseries/hv_call_xm.h | 61 + .../include/asm/iseries/hv_lp_config.h | 128 + .../powerpc/include/asm/iseries/hv_lp_event.h | 162 + .../powerpc/include/asm/iseries/hv_types.h | 112 + .../arch/powerpc/include/asm/iseries/iommu.h | 37 + .../powerpc/include/asm/iseries/it_lp_queue.h | 78 + .../powerpc/include/asm/iseries/lpar_map.h | 85 + trunk/arch/powerpc/include/asm/iseries/mf.h | 51 + trunk/arch/powerpc/include/asm/iseries/vio.h | 265 ++ trunk/arch/powerpc/include/asm/lppaca.h | 8 + trunk/arch/powerpc/include/asm/mpic.h | 9 +- trunk/arch/powerpc/include/asm/mpic_msgr.h | 132 - trunk/arch/powerpc/include/asm/paca.h | 2 +- trunk/arch/powerpc/include/asm/phyp_dump.h | 47 + trunk/arch/powerpc/include/asm/ppc-pci.h | 89 +- trunk/arch/powerpc/include/asm/ppc_asm.h | 2 - trunk/arch/powerpc/include/asm/reg.h | 22 +- trunk/arch/powerpc/include/asm/reg_booke.h | 1 - trunk/arch/powerpc/include/asm/spinlock.h | 5 +- trunk/arch/powerpc/include/asm/system.h | 38 - trunk/arch/powerpc/include/asm/thread_info.h | 9 +- trunk/arch/powerpc/include/asm/time.h | 15 + trunk/arch/powerpc/kernel/Makefile | 10 +- trunk/arch/powerpc/kernel/asm-offsets.c | 16 +- trunk/arch/powerpc/kernel/cputable.c | 20 +- trunk/arch/powerpc/kernel/dbell.c | 2 - .../arch/powerpc/{perf => kernel}/e500-pmu.c | 0 trunk/arch/powerpc/kernel/entry_64.S | 250 +- trunk/arch/powerpc/kernel/exceptions-64e.S | 236 +- trunk/arch/powerpc/kernel/exceptions-64s.S | 314 +- trunk/arch/powerpc/kernel/fadump.c | 1315 ------ trunk/arch/powerpc/kernel/head_32.S | 4 +- trunk/arch/powerpc/kernel/head_40x.S | 4 +- trunk/arch/powerpc/kernel/head_64.S | 62 +- trunk/arch/powerpc/kernel/head_8xx.S | 4 +- trunk/arch/powerpc/kernel/head_booke.h | 4 +- trunk/arch/powerpc/kernel/head_fsl_booke.S | 2 +- trunk/arch/powerpc/kernel/idle.c | 6 +- trunk/arch/powerpc/kernel/idle_book3e.S | 25 +- trunk/arch/powerpc/kernel/idle_power4.S | 24 +- trunk/arch/powerpc/kernel/idle_power7.S | 23 +- trunk/arch/powerpc/kernel/iommu.c | 8 +- trunk/arch/powerpc/kernel/irq.c | 212 +- trunk/arch/powerpc/kernel/isa-bridge.c | 3 + trunk/arch/powerpc/kernel/lparcfg.c | 108 +- trunk/arch/powerpc/kernel/misc.S | 1 + .../powerpc/{perf => kernel}/mpc7450-pmu.c | 0 trunk/arch/powerpc/kernel/of_platform.c | 6 +- trunk/arch/powerpc/kernel/paca.c | 12 +- trunk/arch/powerpc/kernel/pci-common.c | 15 + .../callchain.c => kernel/perf_callchain.c} | 2 +- .../core-book3s.c => kernel/perf_event.c} | 0 .../perf_event_fsl_emb.c} | 0 .../powerpc/{perf => kernel}/power4-pmu.c | 0 .../powerpc/{perf => kernel}/power5+-pmu.c | 0 .../powerpc/{perf => kernel}/power5-pmu.c | 0 .../powerpc/{perf => kernel}/power6-pmu.c | 2 +- .../powerpc/{perf => kernel}/power7-pmu.c | 0 .../powerpc/{perf => kernel}/ppc970-pmu.c | 2 +- trunk/arch/powerpc/kernel/process.c | 27 +- trunk/arch/powerpc/kernel/prom.c | 98 +- trunk/arch/powerpc/kernel/prom_init.c | 15 + trunk/arch/powerpc/kernel/rtas_pci.c | 3 - trunk/arch/powerpc/kernel/setup-common.c | 14 - trunk/arch/powerpc/kernel/signal.c | 13 +- trunk/arch/powerpc/kernel/signal_32.c | 11 +- trunk/arch/powerpc/kernel/sysfs.c | 7 +- trunk/arch/powerpc/kernel/time.c | 116 +- trunk/arch/powerpc/kernel/traps.c | 6 - trunk/arch/powerpc/kernel/vio.c | 18 +- trunk/arch/powerpc/kernel/vmlinux.lds.S | 5 + trunk/arch/powerpc/kvm/book3s_hv.c | 1 + trunk/arch/powerpc/lib/locks.c | 24 +- trunk/arch/powerpc/mm/fault.c | 181 +- trunk/arch/powerpc/mm/fsl_booke_mmu.c | 19 +- trunk/arch/powerpc/mm/hash_utils_64.c | 20 +- trunk/arch/powerpc/mm/icswx.c | 23 +- trunk/arch/powerpc/mm/icswx.h | 6 - trunk/arch/powerpc/mm/pgtable_32.c | 2 +- trunk/arch/powerpc/mm/slb.c | 6 + trunk/arch/powerpc/mm/slb_low.S | 16 + trunk/arch/powerpc/mm/stab.c | 9 + trunk/arch/powerpc/oprofile/common.c | 3 + trunk/arch/powerpc/perf/Makefile | 14 - trunk/arch/powerpc/platforms/44x/Kconfig | 1 - trunk/arch/powerpc/platforms/44x/currituck.c | 2 +- trunk/arch/powerpc/platforms/44x/iss4xx.c | 3 +- .../powerpc/platforms/44x/ppc44x_simple.c | 2 +- .../powerpc/platforms/52xx/mpc5200_simple.c | 1 - .../powerpc/platforms/52xx/mpc52xx_common.c | 10 +- trunk/arch/powerpc/platforms/85xx/Kconfig | 27 +- trunk/arch/powerpc/platforms/85xx/Makefile | 1 - .../arch/powerpc/platforms/85xx/corenet_ds.c | 4 +- trunk/arch/powerpc/platforms/85xx/ge_imp3a.c | 246 - trunk/arch/powerpc/platforms/85xx/ksi8560.c | 3 +- .../arch/powerpc/platforms/85xx/mpc8536_ds.c | 4 +- .../arch/powerpc/platforms/85xx/mpc85xx_ads.c | 3 +- .../arch/powerpc/platforms/85xx/mpc85xx_cds.c | 84 +- .../arch/powerpc/platforms/85xx/mpc85xx_ds.c | 6 +- .../arch/powerpc/platforms/85xx/mpc85xx_mds.c | 40 +- .../arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 222 +- trunk/arch/powerpc/platforms/85xx/p1010rdb.c | 5 +- trunk/arch/powerpc/platforms/85xx/p1022_ds.c | 207 +- trunk/arch/powerpc/platforms/85xx/p1023_rds.c | 5 +- trunk/arch/powerpc/platforms/85xx/sbc8548.c | 3 +- trunk/arch/powerpc/platforms/85xx/sbc8560.c | 3 +- trunk/arch/powerpc/platforms/85xx/socrates.c | 3 +- trunk/arch/powerpc/platforms/85xx/stx_gp3.c | 3 +- trunk/arch/powerpc/platforms/85xx/tqm85xx.c | 2 +- .../arch/powerpc/platforms/85xx/xes_mpc85xx.c | 4 +- trunk/arch/powerpc/platforms/86xx/Kconfig | 3 - trunk/arch/powerpc/platforms/86xx/Makefile | 7 +- .../powerpc/platforms/86xx/gef_gpio.c} | 30 +- .../ge/ge_pic.c => platforms/86xx/gef_pic.c} | 2 +- .../ge/ge_pic.h => platforms/86xx/gef_pic.h} | 0 trunk/arch/powerpc/platforms/86xx/gef_ppc9a.c | 2 +- .../arch/powerpc/platforms/86xx/gef_sbc310.c | 2 +- .../arch/powerpc/platforms/86xx/gef_sbc610.c | 2 +- trunk/arch/powerpc/platforms/86xx/pic.c | 5 +- trunk/arch/powerpc/platforms/Kconfig | 11 +- trunk/arch/powerpc/platforms/Makefile | 1 + trunk/arch/powerpc/platforms/cell/setup.c | 3 +- .../arch/powerpc/platforms/cell/spufs/inode.c | 15 +- .../powerpc/platforms/cell/spufs/syscalls.c | 2 + trunk/arch/powerpc/platforms/chrp/setup.c | 3 +- .../powerpc/platforms/embedded6xx/holly.c | 6 +- .../platforms/embedded6xx/linkstation.c | 3 +- .../platforms/embedded6xx/mpc7448_hpc2.c | 6 +- .../platforms/embedded6xx/storcenter.c | 3 +- trunk/arch/powerpc/platforms/iseries/Kconfig | 39 + trunk/arch/powerpc/platforms/iseries/Makefile | 9 + .../arch/powerpc/platforms/iseries/call_hpt.h | 102 + .../arch/powerpc/platforms/iseries/call_pci.h | 309 ++ .../arch/powerpc/platforms/iseries/call_sm.h | 37 + trunk/arch/powerpc/platforms/iseries/dt.c | 643 +++ .../powerpc/platforms/iseries/exception.S | 311 ++ .../powerpc/platforms/iseries/exception.h | 58 + trunk/arch/powerpc/platforms/iseries/htab.c | 257 + trunk/arch/powerpc/platforms/iseries/hvcall.S | 94 + trunk/arch/powerpc/platforms/iseries/hvlog.c | 35 + .../powerpc/platforms/iseries/hvlpconfig.c | 39 + trunk/arch/powerpc/platforms/iseries/iommu.c | 260 ++ .../powerpc/platforms/iseries/ipl_parms.h | 68 + trunk/arch/powerpc/platforms/iseries/irq.c | 399 ++ trunk/arch/powerpc/platforms/iseries/irq.h | 13 + .../platforms/iseries/it_exp_vpd_panel.h | 51 + .../powerpc/platforms/iseries/it_lp_naca.h | 80 + trunk/arch/powerpc/platforms/iseries/ksyms.c | 21 + .../arch/powerpc/platforms/iseries/lpardata.c | 318 ++ .../arch/powerpc/platforms/iseries/lpevents.c | 341 ++ .../powerpc/platforms/iseries/main_store.h | 165 + trunk/arch/powerpc/platforms/iseries/mf.c | 1275 +++++ trunk/arch/powerpc/platforms/iseries/misc.S | 26 + trunk/arch/powerpc/platforms/iseries/naca.h | 24 + trunk/arch/powerpc/platforms/iseries/pci.c | 919 ++++ trunk/arch/powerpc/platforms/iseries/pci.h | 58 + trunk/arch/powerpc/platforms/iseries/proc.c | 120 + .../powerpc/platforms/iseries/processor_vpd.h | 85 + .../powerpc/platforms/iseries/release_data.h | 63 + trunk/arch/powerpc/platforms/iseries/setup.c | 718 +++ trunk/arch/powerpc/platforms/iseries/setup.h | 27 + trunk/arch/powerpc/platforms/iseries/smp.c | 88 + .../powerpc/platforms/iseries/spcomm_area.h | 34 + trunk/arch/powerpc/platforms/iseries/vio.c | 556 +++ .../arch/powerpc/platforms/iseries/viopath.c | 677 +++ .../powerpc/platforms/iseries/vpd_areas.h | 88 + trunk/arch/powerpc/platforms/maple/setup.c | 2 +- trunk/arch/powerpc/platforms/pasemi/setup.c | 2 +- trunk/arch/powerpc/platforms/powermac/nvram.c | 42 +- trunk/arch/powerpc/platforms/powermac/pic.c | 1 + trunk/arch/powerpc/platforms/powernv/pci.c | 1 - trunk/arch/powerpc/platforms/powernv/setup.c | 1 + trunk/arch/powerpc/platforms/pseries/Kconfig | 2 +- trunk/arch/powerpc/platforms/pseries/Makefile | 4 +- trunk/arch/powerpc/platforms/pseries/eeh.c | 1044 +++-- .../powerpc/platforms/pseries/eeh_cache.c | 44 +- .../arch/powerpc/platforms/pseries/eeh_dev.c | 102 - .../powerpc/platforms/pseries/eeh_driver.c | 213 +- .../powerpc/platforms/pseries/eeh_event.c | 55 +- .../powerpc/platforms/pseries/eeh_pseries.c | 565 --- .../powerpc/platforms/pseries/eeh_sysfs.c | 25 +- trunk/arch/powerpc/platforms/pseries/lpar.c | 1 - trunk/arch/powerpc/platforms/pseries/msi.c | 2 +- .../powerpc/platforms/pseries/pci_dlpar.c | 3 - .../powerpc/platforms/pseries/phyp_dump.c | 513 ++ .../platforms/pseries/processor_idle.c | 18 +- trunk/arch/powerpc/platforms/pseries/setup.c | 12 +- trunk/arch/powerpc/sysdev/Kconfig | 4 - trunk/arch/powerpc/sysdev/Makefile | 4 - .../arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 - trunk/arch/powerpc/sysdev/fsl_85xx_l2ctlr.c | 4 - trunk/arch/powerpc/sysdev/fsl_msi.c | 1 - trunk/arch/powerpc/sysdev/fsl_rio.c | 4 +- trunk/arch/powerpc/sysdev/fsl_rmu.c | 42 +- trunk/arch/powerpc/sysdev/ge/Makefile | 1 - trunk/arch/powerpc/sysdev/mpic.c | 104 +- trunk/arch/powerpc/sysdev/mpic_msgr.c | 282 -- trunk/arch/powerpc/sysdev/mpic_msi.c | 4 +- trunk/arch/powerpc/sysdev/ppc4xx_pci.c | 70 - trunk/arch/powerpc/xmon/xmon.c | 33 +- trunk/arch/s390/hypfs/inode.c | 6 +- trunk/arch/s390/include/asm/cputime.h | 9 +- trunk/arch/s390/include/asm/debug.h | 1 - trunk/arch/s390/include/asm/hardirq.h | 1 - trunk/arch/s390/include/asm/ipl.h | 1 - trunk/arch/s390/include/asm/irq.h | 7 +- trunk/arch/s390/include/asm/lowcore.h | 119 +- trunk/arch/s390/include/asm/os_info.h | 50 - trunk/arch/s390/include/asm/sigp.h | 132 + trunk/arch/s390/include/asm/smp.h | 63 +- trunk/arch/s390/include/asm/system.h | 34 - trunk/arch/s390/include/asm/timer.h | 4 +- trunk/arch/s390/include/asm/vdso.h | 4 +- trunk/arch/s390/kernel/Makefile | 4 +- trunk/arch/s390/kernel/asm-offsets.c | 27 +- trunk/arch/s390/kernel/compat_signal.c | 6 +- trunk/arch/s390/kernel/crash_dump.c | 37 +- trunk/arch/s390/kernel/debug.c | 40 +- trunk/arch/s390/kernel/early.c | 22 +- trunk/arch/s390/kernel/entry.S | 159 +- trunk/arch/s390/kernel/entry.h | 17 +- trunk/arch/s390/kernel/entry64.S | 139 +- trunk/arch/s390/kernel/ipl.c | 99 +- trunk/arch/s390/kernel/irq.c | 14 +- trunk/arch/s390/kernel/lgr.c | 200 - trunk/arch/s390/kernel/machine_kexec.c | 52 +- trunk/arch/s390/kernel/nmi.c | 2 + trunk/arch/s390/kernel/os_info.c | 169 - trunk/arch/s390/kernel/process.c | 7 +- trunk/arch/s390/kernel/setup.c | 61 +- trunk/arch/s390/kernel/signal.c | 6 +- trunk/arch/s390/kernel/smp.c | 1147 +++-- trunk/arch/s390/kernel/switch_cpu.S | 58 + trunk/arch/s390/kernel/switch_cpu64.S | 51 + trunk/arch/s390/kernel/swsusp_asm64.S | 19 +- trunk/arch/s390/kernel/time.c | 4 +- trunk/arch/s390/kernel/topology.c | 8 +- trunk/arch/s390/kernel/traps.c | 6 +- trunk/arch/s390/kernel/vdso.c | 28 +- trunk/arch/s390/kernel/vtime.c | 168 +- trunk/arch/s390/kvm/interrupt.c | 6 +- trunk/arch/s390/lib/delay.c | 31 +- trunk/arch/s390/lib/spinlock.c | 30 +- trunk/arch/s390/mm/fault.c | 4 +- trunk/arch/s390/oprofile/hwsampler.c | 6 +- trunk/arch/sh/boards/mach-ap325rxa/setup.c | 22 +- trunk/arch/sh/boards/mach-ecovec24/setup.c | 24 +- trunk/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c | 10 +- trunk/arch/sh/boards/mach-kfr2r09/setup.c | 8 +- trunk/arch/sh/boards/mach-migor/lcd_qvga.c | 3 +- trunk/arch/sh/boards/mach-migor/setup.c | 16 +- trunk/arch/sh/boards/mach-se/7724/setup.c | 16 +- .../sh/include/mach-kfr2r09/mach/kfr2r09.h | 16 +- trunk/arch/sh/include/mach-migor/mach/migor.h | 2 +- trunk/arch/sparc/kernel/signal32.c | 7 +- trunk/arch/sparc/kernel/signal_32.c | 7 +- trunk/arch/sparc/kernel/signal_64.c | 6 +- trunk/arch/um/include/asm/mmu.h | 2 +- trunk/arch/um/include/asm/mmu_context.h | 11 +- trunk/arch/um/kernel/skas/mmu.c | 25 +- trunk/arch/x86/Kconfig | 28 +- trunk/arch/x86/Kconfig.cpu | 5 +- trunk/arch/x86/boot/Makefile | 5 +- trunk/arch/x86/boot/boot.h | 2 +- trunk/arch/x86/boot/compressed/Makefile | 1 - trunk/arch/x86/boot/compressed/eboot.c | 8 +- trunk/arch/x86/boot/compressed/mkpiggy.c | 11 +- trunk/arch/x86/boot/compressed/relocs.c | 6 +- trunk/arch/x86/boot/tools/build.c | 40 +- trunk/arch/x86/crypto/camellia_glue.c | 4 +- trunk/arch/x86/crypto/twofish_glue_3way.c | 4 +- trunk/arch/x86/ia32/ia32_aout.c | 4 +- trunk/arch/x86/ia32/ia32_signal.c | 1 - trunk/arch/x86/include/asm/alternative.h | 6 - trunk/arch/x86/include/asm/apic.h | 6 - trunk/arch/x86/include/asm/atomic64_32.h | 146 +- trunk/arch/x86/include/asm/cpufeature.h | 3 - trunk/arch/x86/include/asm/efi.h | 2 +- trunk/arch/x86/include/asm/fpu-internal.h | 520 --- trunk/arch/x86/include/asm/i387.h | 590 ++- trunk/arch/x86/include/asm/kgdb.h | 10 +- trunk/arch/x86/include/asm/mce.h | 2 +- trunk/arch/x86/include/asm/mrst.h | 4 +- trunk/arch/x86/include/asm/processor.h | 1 - trunk/arch/x86/include/asm/spinlock.h | 4 +- trunk/arch/x86/include/asm/spinlock_types.h | 1 + trunk/arch/x86/include/asm/xen/interface.h | 1 - trunk/arch/x86/kernel/acpi/boot.c | 2 +- trunk/arch/x86/kernel/apic/apic_flat_64.c | 2 - trunk/arch/x86/kernel/apic/apic_noop.c | 1 - trunk/arch/x86/kernel/apic/apic_numachip.c | 10 +- trunk/arch/x86/kernel/apic/bigsmp_32.c | 1 - trunk/arch/x86/kernel/apic/es7000_32.c | 2 - trunk/arch/x86/kernel/apic/io_apic.c | 40 +- trunk/arch/x86/kernel/apic/numaq_32.c | 1 - trunk/arch/x86/kernel/apic/probe_32.c | 1 - trunk/arch/x86/kernel/apic/summit_32.c | 1 - trunk/arch/x86/kernel/apic/x2apic_cluster.c | 1 - trunk/arch/x86/kernel/apic/x2apic_phys.c | 1 - trunk/arch/x86/kernel/apic/x2apic_uv_x.c | 1 - trunk/arch/x86/kernel/cpu/common.c | 17 +- .../arch/x86/kernel/cpu/mcheck/mce-severity.c | 26 +- trunk/arch/x86/kernel/cpu/mcheck/mce.c | 195 +- trunk/arch/x86/kernel/cpu/mcheck/mce_amd.c | 9 +- trunk/arch/x86/kernel/dumpstack_32.c | 2 +- trunk/arch/x86/kernel/entry_64.S | 73 +- trunk/arch/x86/kernel/i387.c | 83 +- trunk/arch/x86/kernel/kgdb.c | 6 +- trunk/arch/x86/kernel/nmi_selftest.c | 37 +- trunk/arch/x86/kernel/probe_roms.c | 1 - trunk/arch/x86/kernel/process.c | 1 - trunk/arch/x86/kernel/process_32.c | 1 - trunk/arch/x86/kernel/process_64.c | 2 - trunk/arch/x86/kernel/ptrace.c | 1 - trunk/arch/x86/kernel/setup.c | 10 +- trunk/arch/x86/kernel/signal.c | 1 - trunk/arch/x86/kernel/smpboot.c | 9 +- trunk/arch/x86/kernel/sys_x86_64.c | 34 +- trunk/arch/x86/kernel/traps.c | 1 - trunk/arch/x86/kernel/vm86_32.c | 2 - trunk/arch/x86/kernel/xsave.c | 1 - trunk/arch/x86/kvm/vmx.c | 2 +- trunk/arch/x86/kvm/x86.c | 1 - trunk/arch/x86/lib/atomic64_32.c | 59 +- trunk/arch/x86/lib/atomic64_386_32.S | 6 +- trunk/arch/x86/lib/atomic64_cx8_32.S | 29 +- trunk/arch/x86/lib/copy_page_64.S | 12 +- trunk/arch/x86/lib/memcpy_64.S | 44 +- trunk/arch/x86/lib/memset_64.S | 33 +- trunk/arch/x86/mm/hugetlbpage.c | 28 +- trunk/arch/x86/mm/numa_emulation.c | 4 +- trunk/arch/x86/pci/xen.c | 27 - trunk/arch/x86/platform/efi/efi.c | 377 +- trunk/arch/x86/platform/geode/Makefile | 1 - trunk/arch/x86/platform/geode/alix.c | 76 +- trunk/arch/x86/platform/geode/net5501.c | 154 - trunk/arch/x86/platform/mrst/Makefile | 1 + trunk/arch/x86/platform/mrst/mrst.c | 86 +- trunk/arch/x86/platform/mrst/pmu.c | 817 ++++ trunk/arch/x86/platform/mrst/pmu.h | 234 + trunk/arch/x86/platform/olpc/olpc-xo15-sci.c | 72 +- trunk/arch/x86/platform/uv/uv_time.c | 6 +- trunk/arch/x86/power/cpu.c | 1 - trunk/arch/x86/xen/enlighten.c | 99 +- trunk/arch/x86/xen/irq.c | 8 +- trunk/arch/x86/xen/mmu.c | 20 +- trunk/arch/x86/xen/multicalls.h | 2 +- trunk/arch/x86/xen/setup.c | 1 + trunk/arch/x86/xen/smp.c | 2 +- trunk/arch/xtensa/kernel/signal.c | 35 +- trunk/drivers/ata/ahci.c | 10 +- trunk/drivers/ata/ahci.h | 6 - trunk/drivers/ata/ahci_platform.c | 11 - trunk/drivers/ata/ata_piix.c | 8 - trunk/drivers/ata/libahci.c | 5 - trunk/drivers/ata/libata-core.c | 34 +- trunk/drivers/ata/libata-eh.c | 1 - trunk/drivers/ata/libata-scsi.c | 13 - trunk/drivers/ata/libata.h | 2 +- trunk/drivers/ata/pata_arasan_cf.c | 12 +- trunk/drivers/ata/pata_cmd64x.c | 147 +- trunk/drivers/ata/pata_legacy.c | 3 +- trunk/drivers/ata/pata_mpc52xx.c | 44 +- trunk/drivers/ata/sata_fsl.c | 111 +- trunk/drivers/base/driver.c | 30 + trunk/drivers/base/memory.c | 2 +- trunk/drivers/base/regmap/internal.h | 14 +- trunk/drivers/base/regmap/regcache-lzo.c | 16 +- trunk/drivers/base/regmap/regcache-rbtree.c | 27 +- trunk/drivers/base/regmap/regcache.c | 102 +- trunk/drivers/base/regmap/regmap-debugfs.c | 84 +- trunk/drivers/base/regmap/regmap-i2c.c | 17 - trunk/drivers/base/regmap/regmap-spi.c | 17 - trunk/drivers/base/regmap/regmap.c | 307 +- trunk/drivers/block/viodasd.c | 809 ++++ trunk/drivers/cdrom/viocd.c | 739 +++ trunk/drivers/char/agp/intel-agp.c | 1 - trunk/drivers/char/agp/intel-gtt.c | 10 +- trunk/drivers/char/viotape.c | 1041 +++++ trunk/drivers/crypto/Kconfig | 9 + trunk/drivers/firewire/Kconfig | 5 + trunk/drivers/firewire/core-card.c | 34 +- trunk/drivers/firewire/core-cdev.c | 24 +- trunk/drivers/firewire/core-device.c | 62 +- trunk/drivers/firewire/core-iso.c | 6 - trunk/drivers/firewire/core-topology.c | 17 +- trunk/drivers/firewire/core-transaction.c | 44 +- trunk/drivers/firewire/core.h | 21 - trunk/drivers/firewire/net.c | 43 +- trunk/drivers/firewire/nosy.c | 4 +- trunk/drivers/firewire/ohci.c | 350 +- trunk/drivers/firewire/sbp2.c | 130 +- trunk/drivers/gpio/Kconfig | 11 - trunk/drivers/gpio/Makefile | 1 - trunk/drivers/gpu/drm/Kconfig | 20 - trunk/drivers/gpu/drm/Makefile | 7 +- trunk/drivers/gpu/drm/drm_crtc.c | 448 +- trunk/drivers/gpu/drm/drm_crtc_helper.c | 22 +- trunk/drivers/gpu/drm/drm_drv.c | 16 +- trunk/drivers/gpu/drm/drm_edid.c | 12 +- trunk/drivers/gpu/drm/drm_edid_load.c | 250 - trunk/drivers/gpu/drm/drm_fb_helper.c | 88 +- trunk/drivers/gpu/drm/drm_fops.c | 8 - trunk/drivers/gpu/drm/drm_gem.c | 4 +- trunk/drivers/gpu/drm/drm_ioctl.c | 8 - trunk/drivers/gpu/drm/drm_irq.c | 4 +- trunk/drivers/gpu/drm/drm_memory.c | 19 + trunk/drivers/gpu/drm/drm_modes.c | 30 +- trunk/drivers/gpu/drm/drm_pci.c | 2 + trunk/drivers/gpu/drm/drm_platform.c | 12 +- trunk/drivers/gpu/drm/drm_stub.c | 26 - trunk/drivers/gpu/drm/drm_sysfs.c | 7 +- trunk/drivers/gpu/drm/drm_usb.c | 2 + trunk/drivers/gpu/drm/drm_vm.c | 5 +- trunk/drivers/gpu/drm/exynos/Kconfig | 14 +- trunk/drivers/gpu/drm/exynos/Makefile | 11 +- trunk/drivers/gpu/drm/exynos/exynos_ddc.c | 1 + trunk/drivers/gpu/drm/exynos/exynos_drm_buf.c | 191 +- trunk/drivers/gpu/drm/exynos/exynos_drm_buf.h | 22 +- .../gpu/drm/exynos/exynos_drm_connector.c | 35 +- .../drivers/gpu/drm/exynos/exynos_drm_core.c | 140 +- .../drivers/gpu/drm/exynos/exynos_drm_crtc.c | 12 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.c | 94 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.h | 38 +- .../gpu/drm/exynos/exynos_drm_encoder.c | 24 +- trunk/drivers/gpu/drm/exynos/exynos_drm_fb.c | 6 + .../drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 90 +- .../drivers/gpu/drm/exynos/exynos_drm_fimd.c | 20 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gem.c | 364 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gem.h | 29 +- .../drivers/gpu/drm/exynos/exynos_drm_hdmi.c | 115 +- .../drivers/gpu/drm/exynos/exynos_drm_hdmi.h | 5 - .../drivers/gpu/drm/exynos/exynos_drm_plane.c | 8 +- .../drivers/gpu/drm/exynos/exynos_drm_vidi.c | 676 --- .../drivers/gpu/drm/exynos/exynos_drm_vidi.h | 36 - trunk/drivers/gpu/drm/exynos/exynos_hdmi.c | 1437 +----- trunk/drivers/gpu/drm/exynos/exynos_hdmi.h | 50 + trunk/drivers/gpu/drm/exynos/exynos_mixer.c | 57 +- trunk/drivers/gpu/drm/exynos/exynos_mixer.h | 92 + trunk/drivers/gpu/drm/exynos/regs-hdmi.h | 488 +- trunk/drivers/gpu/drm/gma500/Kconfig | 10 +- trunk/drivers/gpu/drm/gma500/Makefile | 10 - trunk/drivers/gpu/drm/gma500/cdv_device.c | 169 +- trunk/drivers/gpu/drm/gma500/cdv_device.h | 2 +- trunk/drivers/gpu/drm/gma500/cdv_intel_crt.c | 1 - .../gpu/drm/gma500/cdv_intel_display.c | 91 +- trunk/drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 1 - trunk/drivers/gpu/drm/gma500/cdv_intel_lvds.c | 16 +- trunk/drivers/gpu/drm/gma500/framebuffer.c | 64 +- trunk/drivers/gpu/drm/gma500/gem_glue.c | 1 - trunk/drivers/gpu/drm/gma500/gtt.c | 4 +- trunk/drivers/gpu/drm/gma500/intel_gmbus.c | 2 +- trunk/drivers/gpu/drm/gma500/mdfld_device.c | 691 --- trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 1017 ---- trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.h | 79 - .../drivers/gpu/drm/gma500/mdfld_dsi_output.c | 618 --- .../drivers/gpu/drm/gma500/mdfld_dsi_output.h | 378 -- .../gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 694 --- .../gpu/drm/gma500/mdfld_dsi_pkg_sender.h | 92 - .../gpu/drm/gma500/mdfld_intel_display.c | 1180 ----- trunk/drivers/gpu/drm/gma500/mdfld_output.c | 74 - trunk/drivers/gpu/drm/gma500/mdfld_output.h | 77 - trunk/drivers/gpu/drm/gma500/mdfld_tmd_vid.c | 201 - trunk/drivers/gpu/drm/gma500/mdfld_tpo_vid.c | 124 - trunk/drivers/gpu/drm/gma500/mmu.c | 13 +- trunk/drivers/gpu/drm/gma500/oaktrail_crtc.c | 18 +- .../drivers/gpu/drm/gma500/oaktrail_device.c | 211 +- trunk/drivers/gpu/drm/gma500/oaktrail_hdmi.c | 401 +- .../gpu/drm/gma500/oaktrail_hdmi_i2c.c | 6 +- trunk/drivers/gpu/drm/gma500/oaktrail_lvds.c | 5 +- trunk/drivers/gpu/drm/gma500/power.c | 17 +- trunk/drivers/gpu/drm/gma500/psb_device.c | 34 +- trunk/drivers/gpu/drm/gma500/psb_drv.c | 65 +- trunk/drivers/gpu/drm/gma500/psb_drv.h | 435 +- .../gpu/drm/gma500/psb_intel_display.c | 50 +- trunk/drivers/gpu/drm/gma500/psb_intel_lvds.c | 12 +- trunk/drivers/gpu/drm/gma500/psb_intel_reg.h | 9 - trunk/drivers/gpu/drm/gma500/psb_intel_sdvo.c | 30 +- trunk/drivers/gpu/drm/gma500/psb_irq.c | 62 +- trunk/drivers/gpu/drm/gma500/psb_irq.h | 2 - .../gpu/drm/gma500/tc35876x-dsi-lvds.c | 829 ---- .../gpu/drm/gma500/tc35876x-dsi-lvds.h | 38 - trunk/drivers/gpu/drm/i2c/ch7006_drv.c | 5 +- trunk/drivers/gpu/drm/i810/i810_dma.c | 3 +- trunk/drivers/gpu/drm/i915/Makefile | 2 +- trunk/drivers/gpu/drm/i915/i915_debugfs.c | 324 +- trunk/drivers/gpu/drm/i915/i915_dma.c | 66 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 49 +- trunk/drivers/gpu/drm/i915/i915_drv.h | 164 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 528 +-- trunk/drivers/gpu/drm/i915/i915_gem_evict.c | 21 +- .../gpu/drm/i915/i915_gem_execbuffer.c | 205 +- trunk/drivers/gpu/drm/i915/i915_gem_gtt.c | 275 +- trunk/drivers/gpu/drm/i915/i915_gem_tiling.c | 23 +- trunk/drivers/gpu/drm/i915/i915_irq.c | 197 +- trunk/drivers/gpu/drm/i915/i915_mem.c | 387 ++ trunk/drivers/gpu/drm/i915/i915_reg.h | 132 +- trunk/drivers/gpu/drm/i915/intel_acpi.c | 2 +- trunk/drivers/gpu/drm/i915/intel_bios.c | 4 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 5 +- trunk/drivers/gpu/drm/i915/intel_display.c | 388 +- trunk/drivers/gpu/drm/i915/intel_dp.c | 23 +- trunk/drivers/gpu/drm/i915/intel_drv.h | 1 - trunk/drivers/gpu/drm/i915/intel_dvo.c | 1 + trunk/drivers/gpu/drm/i915/intel_fb.c | 6 +- trunk/drivers/gpu/drm/i915/intel_hdmi.c | 23 +- trunk/drivers/gpu/drm/i915/intel_i2c.c | 210 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 31 - trunk/drivers/gpu/drm/i915/intel_modes.c | 34 +- trunk/drivers/gpu/drm/i915/intel_overlay.c | 18 +- trunk/drivers/gpu/drm/i915/intel_panel.c | 6 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.c | 210 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.h | 35 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 43 +- trunk/drivers/gpu/drm/i915/intel_sprite.c | 4 +- trunk/drivers/gpu/drm/i915/intel_tv.c | 2 +- trunk/drivers/gpu/drm/mga/mga_dma.c | 2 - trunk/drivers/gpu/drm/nouveau/Makefile | 3 +- trunk/drivers/gpu/drm/nouveau/nouveau_bios.c | 278 +- trunk/drivers/gpu/drm/nouveau/nouveau_bios.h | 8 +- trunk/drivers/gpu/drm/nouveau/nouveau_bo.c | 11 +- .../drivers/gpu/drm/nouveau/nouveau_channel.c | 34 +- .../gpu/drm/nouveau/nouveau_connector.c | 36 +- trunk/drivers/gpu/drm/nouveau/nouveau_crtc.h | 3 - .../drivers/gpu/drm/nouveau/nouveau_display.c | 51 +- trunk/drivers/gpu/drm/nouveau/nouveau_dma.c | 61 +- trunk/drivers/gpu/drm/nouveau/nouveau_dma.h | 4 +- trunk/drivers/gpu/drm/nouveau/nouveau_dp.c | 325 +- trunk/drivers/gpu/drm/nouveau/nouveau_drv.c | 18 +- trunk/drivers/gpu/drm/nouveau/nouveau_drv.h | 190 +- .../drivers/gpu/drm/nouveau/nouveau_encoder.h | 18 - trunk/drivers/gpu/drm/nouveau/nouveau_fbcon.c | 6 +- trunk/drivers/gpu/drm/nouveau/nouveau_fence.c | 35 +- trunk/drivers/gpu/drm/nouveau/nouveau_gem.c | 10 +- trunk/drivers/gpu/drm/nouveau/nouveau_i2c.c | 8 +- trunk/drivers/gpu/drm/nouveau/nouveau_mem.c | 809 +--- trunk/drivers/gpu/drm/nouveau/nouveau_mxm.c | 39 +- trunk/drivers/gpu/drm/nouveau/nouveau_perf.c | 409 +- trunk/drivers/gpu/drm/nouveau/nouveau_pm.c | 235 +- trunk/drivers/gpu/drm/nouveau/nouveau_pm.h | 22 - trunk/drivers/gpu/drm/nouveau/nouveau_state.c | 378 +- trunk/drivers/gpu/drm/nouveau/nv04_fb.c | 34 - trunk/drivers/gpu/drm/nouveau/nv10_fb.c | 126 +- trunk/drivers/gpu/drm/nouveau/nv20_fb.c | 148 - trunk/drivers/gpu/drm/nouveau/nv40_fb.c | 45 - trunk/drivers/gpu/drm/nouveau/nv50_crtc.c | 42 +- trunk/drivers/gpu/drm/nouveau/nv50_dac.c | 7 +- trunk/drivers/gpu/drm/nouveau/nv50_display.c | 39 +- trunk/drivers/gpu/drm/nouveau/nv50_display.h | 2 - trunk/drivers/gpu/drm/nouveau/nv50_evo.h | 3 +- trunk/drivers/gpu/drm/nouveau/nv50_pm.c | 397 +- trunk/drivers/gpu/drm/nouveau/nv50_sor.c | 213 +- trunk/drivers/gpu/drm/nouveau/nv50_vm.c | 29 +- trunk/drivers/gpu/drm/nouveau/nv50_vram.c | 17 - trunk/drivers/gpu/drm/nouveau/nvc0_fifo.c | 36 +- trunk/drivers/gpu/drm/nouveau/nvc0_graph.c | 9 + trunk/drivers/gpu/drm/nouveau/nvc0_pm.c | 2 +- trunk/drivers/gpu/drm/nouveau/nvc0_vm.c | 4 +- trunk/drivers/gpu/drm/nouveau/nvc0_vram.c | 33 +- trunk/drivers/gpu/drm/nouveau/nvd0_display.c | 359 +- trunk/drivers/gpu/drm/r128/r128_drv.c | 1 - trunk/drivers/gpu/drm/radeon/Makefile | 2 +- trunk/drivers/gpu/drm/radeon/ObjectID.h | 5 - trunk/drivers/gpu/drm/radeon/atombios.h | 1109 +---- trunk/drivers/gpu/drm/radeon/atombios_crtc.c | 120 +- trunk/drivers/gpu/drm/radeon/atombios_dp.c | 9 +- .../gpu/drm/radeon/atombios_encoders.c | 71 +- trunk/drivers/gpu/drm/radeon/atombios_i2c.c | 139 - trunk/drivers/gpu/drm/radeon/evergreen.c | 81 +- .../gpu/drm/radeon/evergreen_blit_kms.c | 14 +- trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 1178 +---- trunk/drivers/gpu/drm/radeon/evergreen_reg.h | 1 - trunk/drivers/gpu/drm/radeon/evergreend.h | 377 -- trunk/drivers/gpu/drm/radeon/ni.c | 147 +- trunk/drivers/gpu/drm/radeon/nid.h | 1 - trunk/drivers/gpu/drm/radeon/r100.c | 109 +- trunk/drivers/gpu/drm/radeon/r200.c | 29 +- trunk/drivers/gpu/drm/radeon/r300.c | 9 +- trunk/drivers/gpu/drm/radeon/r420.c | 2 +- trunk/drivers/gpu/drm/radeon/r500_reg.h | 2 - trunk/drivers/gpu/drm/radeon/r520.c | 4 +- trunk/drivers/gpu/drm/radeon/r600.c | 51 +- trunk/drivers/gpu/drm/radeon/r600_blit_kms.c | 15 +- trunk/drivers/gpu/drm/radeon/r600_cs.c | 629 +-- trunk/drivers/gpu/drm/radeon/r600d.h | 24 - trunk/drivers/gpu/drm/radeon/radeon.h | 296 +- trunk/drivers/gpu/drm/radeon/radeon_asic.c | 1783 +++---- trunk/drivers/gpu/drm/radeon/radeon_asic.h | 49 +- .../drivers/gpu/drm/radeon/radeon_atombios.c | 92 +- .../drivers/gpu/drm/radeon/radeon_benchmark.c | 24 +- .../gpu/drm/radeon/radeon_blit_common.h | 44 - trunk/drivers/gpu/drm/radeon/radeon_clocks.c | 2 +- .../gpu/drm/radeon/radeon_connectors.c | 33 +- trunk/drivers/gpu/drm/radeon/radeon_cp.c | 2 - trunk/drivers/gpu/drm/radeon/radeon_cs.c | 100 +- trunk/drivers/gpu/drm/radeon/radeon_cursor.c | 20 +- trunk/drivers/gpu/drm/radeon/radeon_device.c | 6 +- trunk/drivers/gpu/drm/radeon/radeon_display.c | 92 +- trunk/drivers/gpu/drm/radeon/radeon_drv.c | 6 +- .../drivers/gpu/drm/radeon/radeon_encoders.c | 6 +- trunk/drivers/gpu/drm/radeon/radeon_family.h | 4 - trunk/drivers/gpu/drm/radeon/radeon_fb.c | 11 +- trunk/drivers/gpu/drm/radeon/radeon_gem.c | 26 + trunk/drivers/gpu/drm/radeon/radeon_i2c.c | 32 +- trunk/drivers/gpu/drm/radeon/radeon_kms.c | 34 +- .../gpu/drm/radeon/radeon_legacy_crtc.c | 4 +- trunk/drivers/gpu/drm/radeon/radeon_mode.h | 2 +- trunk/drivers/gpu/drm/radeon/radeon_object.c | 64 +- trunk/drivers/gpu/drm/radeon/radeon_object.h | 2 - trunk/drivers/gpu/drm/radeon/radeon_pm.c | 13 +- trunk/drivers/gpu/drm/radeon/radeon_reg.h | 3 - trunk/drivers/gpu/drm/radeon/radeon_ring.c | 9 +- trunk/drivers/gpu/drm/radeon/radeon_ttm.c | 15 +- trunk/drivers/gpu/drm/radeon/reg_srcs/cayman | 24 +- .../drivers/gpu/drm/radeon/reg_srcs/evergreen | 24 +- trunk/drivers/gpu/drm/radeon/reg_srcs/r600 | 20 +- trunk/drivers/gpu/drm/radeon/rs400.c | 2 +- trunk/drivers/gpu/drm/radeon/rs600.c | 23 +- trunk/drivers/gpu/drm/radeon/rs690.c | 4 +- trunk/drivers/gpu/drm/radeon/rv515.c | 5 +- trunk/drivers/gpu/drm/radeon/rv770.c | 4 +- trunk/drivers/gpu/drm/radeon/si.c | 4128 ----------------- .../drivers/gpu/drm/radeon/si_blit_shaders.c | 252 - .../drivers/gpu/drm/radeon/si_blit_shaders.h | 32 - trunk/drivers/gpu/drm/radeon/si_reg.h | 33 - trunk/drivers/gpu/drm/radeon/sid.h | 886 ---- trunk/drivers/gpu/drm/savage/savage_state.c | 5 +- trunk/drivers/gpu/drm/sis/sis_drv.c | 2 - trunk/drivers/gpu/drm/ttm/ttm_agp_backend.c | 4 +- trunk/drivers/gpu/drm/ttm/ttm_bo.c | 72 +- trunk/drivers/gpu/drm/ttm/ttm_bo_vm.c | 5 +- trunk/drivers/gpu/drm/ttm/ttm_memory.c | 12 +- trunk/drivers/gpu/drm/ttm/ttm_object.c | 5 +- trunk/drivers/gpu/drm/ttm/ttm_page_alloc.c | 55 +- .../drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 60 +- trunk/drivers/gpu/drm/ttm/ttm_tt.c | 8 +- trunk/drivers/gpu/drm/udl/Kconfig | 12 - trunk/drivers/gpu/drm/udl/Makefile | 6 - trunk/drivers/gpu/drm/udl/udl_connector.c | 141 - trunk/drivers/gpu/drm/udl/udl_drv.c | 99 - trunk/drivers/gpu/drm/udl/udl_drv.h | 141 - trunk/drivers/gpu/drm/udl/udl_encoder.c | 80 - trunk/drivers/gpu/drm/udl/udl_fb.c | 611 --- trunk/drivers/gpu/drm/udl/udl_gem.c | 227 - trunk/drivers/gpu/drm/udl/udl_main.c | 338 -- trunk/drivers/gpu/drm/udl/udl_modeset.c | 414 -- trunk/drivers/gpu/drm/udl/udl_transfer.c | 253 - trunk/drivers/gpu/drm/via/via_map.c | 2 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 55 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 10 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 15 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 22 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 252 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h | 9 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 91 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 8 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 4 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 38 +- trunk/drivers/hid/hid-core.c | 10 - trunk/drivers/hid/hid-ids.h | 11 - trunk/drivers/i2c/algos/i2c-algo-bit.c | 3 +- trunk/drivers/idle/intel_idle.c | 8 +- trunk/drivers/infiniband/ulp/srpt/ib_srpt.c | 64 +- trunk/drivers/input/Kconfig | 4 - trunk/drivers/input/Makefile | 1 - trunk/drivers/input/evdev.c | 52 +- trunk/drivers/input/input.c | 2 +- trunk/drivers/input/joystick/as5011.c | 12 +- trunk/drivers/input/keyboard/Kconfig | 2 +- trunk/drivers/input/keyboard/adp5588-keys.c | 12 +- trunk/drivers/input/keyboard/adp5589-keys.c | 12 +- trunk/drivers/input/keyboard/lm8323.c | 12 +- trunk/drivers/input/keyboard/max7359_keypad.c | 12 +- trunk/drivers/input/keyboard/mcs_touchkey.c | 13 +- .../drivers/input/keyboard/mpr121_touchkey.c | 12 +- .../input/keyboard/nomadik-ske-keypad.c | 17 +- trunk/drivers/input/keyboard/omap4-keypad.c | 2 +- trunk/drivers/input/keyboard/qt1070.c | 12 +- trunk/drivers/input/keyboard/qt2160.c | 12 +- trunk/drivers/input/keyboard/samsung-keypad.c | 6 +- trunk/drivers/input/keyboard/spear-keyboard.c | 16 +- trunk/drivers/input/keyboard/tegra-kbc.c | 72 +- trunk/drivers/input/misc/Kconfig | 26 +- trunk/drivers/input/misc/Makefile | 2 - trunk/drivers/input/misc/ad714x-i2c.c | 12 +- trunk/drivers/input/misc/ad714x-spi.c | 12 +- trunk/drivers/input/misc/adxl34x-i2c.c | 12 +- trunk/drivers/input/misc/adxl34x-spi.c | 12 +- trunk/drivers/input/misc/bma150.c | 13 +- trunk/drivers/input/misc/cma3000_d0x_i2c.c | 13 +- trunk/drivers/input/misc/da9052_onkey.c | 169 - trunk/drivers/input/misc/gp2ap002a00f.c | 13 +- trunk/drivers/input/misc/kxtj9.c | 34 +- trunk/drivers/input/misc/max8925_onkey.c | 115 +- trunk/drivers/input/misc/max8997_haptic.c | 407 -- trunk/drivers/input/misc/mma8450.c | 12 +- trunk/drivers/input/misc/mpu3050.c | 12 +- trunk/drivers/input/misc/pcf8574_keypad.c | 12 +- trunk/drivers/input/misc/twl4030-vibra.c | 2 +- trunk/drivers/input/mouse/Kconfig | 17 - trunk/drivers/input/mouse/Makefile | 1 - trunk/drivers/input/mouse/bcm5974.c | 1 - trunk/drivers/input/mouse/hgpk.c | 9 +- trunk/drivers/input/mouse/psmouse-base.c | 15 +- trunk/drivers/input/mouse/psmouse.h | 2 - trunk/drivers/input/mouse/sentelic.c | 12 +- trunk/drivers/input/mouse/synaptics_i2c.c | 13 +- trunk/drivers/input/mouse/synaptics_usb.c | 557 --- trunk/drivers/input/of_keymap.c | 87 - trunk/drivers/input/serio/altera_ps2.c | 4 +- trunk/drivers/input/serio/at32psif.c | 22 +- trunk/drivers/input/serio/q40kbd.c | 139 +- trunk/drivers/input/tablet/wacom_sys.c | 10 +- trunk/drivers/input/tablet/wacom_wac.c | 28 +- trunk/drivers/input/tablet/wacom_wac.h | 2 - trunk/drivers/input/touchscreen/Kconfig | 68 +- trunk/drivers/input/touchscreen/Makefile | 7 +- trunk/drivers/input/touchscreen/ad7877.c | 12 +- trunk/drivers/input/touchscreen/ad7879-i2c.c | 12 +- trunk/drivers/input/touchscreen/ad7879-spi.c | 12 +- trunk/drivers/input/touchscreen/ads7846.c | 12 +- .../drivers/input/touchscreen/atmel-wm97xx.c | 20 +- .../drivers/input/touchscreen/atmel_mxt_ts.c | 13 +- .../drivers/input/touchscreen/auo-pixcir-ts.c | 12 +- trunk/drivers/input/touchscreen/bu21013_ts.c | 25 +- .../drivers/input/touchscreen/cy8ctmg110_ts.c | 13 +- trunk/drivers/input/touchscreen/cyttsp_core.c | 625 --- trunk/drivers/input/touchscreen/cyttsp_core.h | 149 - trunk/drivers/input/touchscreen/cyttsp_i2c.c | 136 - trunk/drivers/input/touchscreen/cyttsp_spi.c | 200 - trunk/drivers/input/touchscreen/eeti_ts.c | 14 +- trunk/drivers/input/touchscreen/egalax_ts.c | 13 +- .../input/touchscreen/hp680_ts_input.c | 2 +- trunk/drivers/input/touchscreen/ili210x.c | 360 -- trunk/drivers/input/touchscreen/max11801_ts.c | 13 +- trunk/drivers/input/touchscreen/mcs5000_ts.c | 13 +- trunk/drivers/input/touchscreen/migor_ts.c | 13 +- .../drivers/input/touchscreen/pixcir_i2c_ts.c | 12 +- trunk/drivers/input/touchscreen/st1232.c | 12 +- trunk/drivers/input/touchscreen/ti_tscadc.c | 486 -- trunk/drivers/input/touchscreen/tsc2005.c | 12 +- trunk/drivers/input/touchscreen/tsc2007.c | 13 +- .../input/touchscreen/usbtouchscreen.c | 63 - trunk/drivers/iommu/amd_iommu.c | 2 +- trunk/drivers/leds/Kconfig | 10 + trunk/drivers/leds/Makefile | 1 + trunk/drivers/leds/leds-net5501.c | 97 + trunk/drivers/md/bitmap.c | 152 +- trunk/drivers/md/bitmap.h | 22 +- trunk/drivers/md/dm-raid.c | 16 +- trunk/drivers/md/faulty.c | 2 +- trunk/drivers/md/linear.c | 32 +- trunk/drivers/md/md.c | 140 +- trunk/drivers/md/md.h | 13 +- trunk/drivers/md/multipath.c | 2 +- trunk/drivers/md/raid0.c | 164 +- trunk/drivers/md/raid0.h | 11 +- trunk/drivers/md/raid1.c | 98 +- trunk/drivers/md/raid10.c | 187 +- trunk/drivers/md/raid5.c | 25 +- trunk/drivers/mfd/wm831x-core.c | 20 +- trunk/drivers/mfd/wm831x-i2c.c | 2 +- trunk/drivers/mfd/wm831x-spi.c | 2 +- trunk/drivers/mfd/wm8400-core.c | 7 +- trunk/drivers/mfd/wm8994-core.c | 92 +- trunk/drivers/misc/carma/carma-fpga.c | 114 +- trunk/drivers/misc/ibmasm/ibmasmfs.c | 16 +- trunk/drivers/misc/ibmasm/module.c | 11 +- trunk/drivers/mmc/card/block.c | 2 +- trunk/drivers/mtd/nand/Kconfig | 10 - trunk/drivers/mtd/nand/Makefile | 1 - trunk/drivers/mtd/nand/fsl_ifc_nand.c | 1072 ----- trunk/drivers/mtd/ubi/build.c | 14 +- trunk/drivers/mtd/ubi/eba.c | 30 +- trunk/drivers/mtd/ubi/io.c | 14 +- trunk/drivers/mtd/ubi/scan.c | 16 +- trunk/drivers/mtd/ubi/ubi.h | 12 +- trunk/drivers/mtd/ubi/wl.c | 21 +- .../net/ethernet/brocade/bna/bnad_debugfs.c | 2 +- trunk/drivers/oprofile/oprofilefs.c | 11 +- trunk/drivers/pci/pci.c | 25 - trunk/drivers/pinctrl/Kconfig | 42 - trunk/drivers/pinctrl/Makefile | 8 - trunk/drivers/pinctrl/core.c | 826 +--- trunk/drivers/pinctrl/core.h | 117 +- trunk/drivers/pinctrl/pinconf-generic.c | 120 - trunk/drivers/pinctrl/pinconf.c | 306 +- trunk/drivers/pinctrl/pinconf.h | 78 +- trunk/drivers/pinctrl/pinctrl-coh901.c | 139 +- trunk/drivers/pinctrl/pinctrl-coh901.h | 5 - trunk/drivers/pinctrl/pinctrl-mmp2.c | 722 --- trunk/drivers/pinctrl/pinctrl-pxa168.c | 651 --- trunk/drivers/pinctrl/pinctrl-pxa3xx.c | 244 - trunk/drivers/pinctrl/pinctrl-pxa3xx.h | 264 -- trunk/drivers/pinctrl/pinctrl-pxa910.c | 1007 ---- trunk/drivers/pinctrl/pinctrl-tegra.c | 559 --- trunk/drivers/pinctrl/pinctrl-tegra.h | 163 - trunk/drivers/pinctrl/pinctrl-tegra20.c | 2860 ------------ trunk/drivers/pinctrl/pinctrl-tegra30.c | 3726 --------------- trunk/drivers/pinctrl/pinctrl-u300.c | 80 +- trunk/drivers/pinctrl/pinmux.c | 1205 +++-- trunk/drivers/pinctrl/pinmux.h | 76 +- trunk/drivers/platform/x86/Kconfig | 24 +- trunk/drivers/platform/x86/Makefile | 1 + .../drivers/platform/x86/intel_mid_powerbtn.c | 32 +- .../drivers/platform/x86/intel_mid_thermal.c | 47 +- .../drivers/platform/x86/intel_rar_register.c | 669 +++ trunk/drivers/platform/x86/intel_scu_ipc.c | 208 +- .../drivers/platform/x86/intel_scu_ipcutil.c | 32 +- trunk/drivers/s390/block/dasd.c | 4 - trunk/drivers/s390/block/dasd_diag.c | 8 +- trunk/drivers/s390/block/dasd_eckd.c | 8 - trunk/drivers/s390/char/sclp.c | 4 +- trunk/drivers/s390/char/sclp_quiesce.c | 1 + trunk/drivers/s390/char/sclp_sdias.c | 101 +- trunk/drivers/s390/char/zcore.c | 1 + trunk/drivers/s390/cio/cio.c | 2 + trunk/drivers/s390/cio/qdio_main.c | 6 - trunk/drivers/s390/crypto/Makefile | 10 + trunk/drivers/s390/crypto/ap_bus.c | 2 + trunk/drivers/s390/crypto/zcrypt_api.c | 2 + trunk/drivers/s390/crypto/zcrypt_cex2a.c | 4 + trunk/drivers/s390/crypto/zcrypt_mono.c | 100 + trunk/drivers/s390/crypto/zcrypt_pcica.c | 4 + trunk/drivers/s390/crypto/zcrypt_pcicc.c | 4 + trunk/drivers/s390/crypto/zcrypt_pcixcc.c | 4 + trunk/drivers/s390/kvm/kvm_virtio.c | 6 +- trunk/drivers/scsi/Kconfig | 11 +- trunk/drivers/scsi/Makefile | 1 - trunk/drivers/scsi/aacraid/aachba.c | 4 - trunk/drivers/scsi/aacraid/aacraid.h | 27 +- trunk/drivers/scsi/aacraid/comminit.c | 21 +- trunk/drivers/scsi/aacraid/commsup.c | 26 - trunk/drivers/scsi/aacraid/linit.c | 28 +- trunk/drivers/scsi/aacraid/rx.c | 1 - trunk/drivers/scsi/aacraid/sa.c | 1 - trunk/drivers/scsi/aacraid/src.c | 293 +- trunk/drivers/scsi/aic94xx/aic94xx.h | 2 - trunk/drivers/scsi/aic94xx/aic94xx_dev.c | 38 +- trunk/drivers/scsi/aic94xx/aic94xx_init.c | 6 +- trunk/drivers/scsi/aic94xx/aic94xx_tmf.c | 11 +- trunk/drivers/scsi/bfa/bfad_bsg.c | 4 +- trunk/drivers/scsi/bnx2fc/bnx2fc.h | 8 +- trunk/drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 20 +- trunk/drivers/scsi/bnx2fc/bnx2fc_io.c | 4 +- trunk/drivers/scsi/bnx2i/bnx2i_hwi.c | 12 +- trunk/drivers/scsi/bnx2i/bnx2i_init.c | 9 +- trunk/drivers/scsi/cxgbi/libcxgbi.c | 13 +- trunk/drivers/scsi/fcoe/fcoe.c | 167 +- trunk/drivers/scsi/fcoe/fcoe.h | 3 + trunk/drivers/scsi/fcoe/fcoe_transport.c | 4 +- trunk/drivers/scsi/hpsa.c | 344 +- trunk/drivers/scsi/hpsa.h | 3 +- trunk/drivers/scsi/hpsa_cmd.h | 9 +- trunk/drivers/scsi/ibmvscsi/Makefile | 1 + trunk/drivers/scsi/ibmvscsi/ibmvscsi.c | 12 +- trunk/drivers/scsi/ibmvscsi/ibmvscsi.h | 1 + trunk/drivers/scsi/ibmvscsi/iseries_vscsi.c | 173 + trunk/drivers/scsi/ipr.c | 14 +- trunk/drivers/scsi/ipr.h | 4 +- trunk/drivers/scsi/isci/host.c | 17 +- trunk/drivers/scsi/isci/host.h | 19 +- trunk/drivers/scsi/isci/init.c | 24 +- trunk/drivers/scsi/isci/phy.c | 171 +- trunk/drivers/scsi/isci/phy.h | 155 +- trunk/drivers/scsi/isci/port.c | 263 +- trunk/drivers/scsi/isci/port.h | 114 +- trunk/drivers/scsi/isci/registers.h | 27 +- trunk/drivers/scsi/isci/remote_device.c | 82 +- trunk/drivers/scsi/isci/remote_device.h | 212 +- trunk/drivers/scsi/isci/remote_node_context.c | 19 +- trunk/drivers/scsi/isci/remote_node_context.h | 97 +- trunk/drivers/scsi/isci/request.c | 370 +- trunk/drivers/scsi/isci/request.h | 228 +- trunk/drivers/scsi/isci/scu_task_context.h | 55 +- trunk/drivers/scsi/isci/task.c | 158 +- trunk/drivers/scsi/isci/task.h | 40 + trunk/drivers/scsi/iscsi_tcp.c | 13 +- trunk/drivers/scsi/libfc/fc_disc.c | 7 - trunk/drivers/scsi/libfc/fc_elsct.c | 3 +- trunk/drivers/scsi/libfc/fc_exch.c | 7 +- trunk/drivers/scsi/libfc/fc_fcp.c | 5 +- trunk/drivers/scsi/libfc/fc_lport.c | 227 +- trunk/drivers/scsi/libiscsi.c | 28 +- trunk/drivers/scsi/libiscsi_tcp.c | 18 - trunk/drivers/scsi/libsas/sas_ata.c | 828 ++-- trunk/drivers/scsi/libsas/sas_discover.c | 246 +- trunk/drivers/scsi/libsas/sas_event.c | 96 +- trunk/drivers/scsi/libsas/sas_expander.c | 342 +- trunk/drivers/scsi/libsas/sas_host_smp.c | 11 +- trunk/drivers/scsi/libsas/sas_init.c | 214 +- trunk/drivers/scsi/libsas/sas_internal.h | 97 +- trunk/drivers/scsi/libsas/sas_phy.c | 12 +- trunk/drivers/scsi/libsas/sas_port.c | 32 +- trunk/drivers/scsi/libsas/sas_scsi_host.c | 364 +- trunk/drivers/scsi/lpfc/lpfc.h | 13 +- trunk/drivers/scsi/lpfc/lpfc_attr.c | 12 +- trunk/drivers/scsi/lpfc/lpfc_bsg.c | 18 +- trunk/drivers/scsi/lpfc/lpfc_crtn.h | 1 - trunk/drivers/scsi/lpfc/lpfc_ct.c | 4 +- trunk/drivers/scsi/lpfc/lpfc_debugfs.c | 19 - trunk/drivers/scsi/lpfc/lpfc_els.c | 5 +- trunk/drivers/scsi/lpfc/lpfc_hbadisc.c | 12 +- trunk/drivers/scsi/lpfc/lpfc_hw.h | 5 +- trunk/drivers/scsi/lpfc/lpfc_hw4.h | 49 +- trunk/drivers/scsi/lpfc/lpfc_init.c | 137 +- trunk/drivers/scsi/lpfc/lpfc_nportdisc.c | 77 +- trunk/drivers/scsi/lpfc/lpfc_scsi.c | 1182 +---- trunk/drivers/scsi/lpfc/lpfc_sli.c | 240 +- trunk/drivers/scsi/lpfc/lpfc_sli.h | 1 - trunk/drivers/scsi/lpfc/lpfc_sli4.h | 3 +- trunk/drivers/scsi/lpfc/lpfc_version.h | 2 +- trunk/drivers/scsi/mpt2sas/mpt2sas_base.c | 5 - trunk/drivers/scsi/mpt2sas/mpt2sas_scsih.c | 6 +- trunk/drivers/scsi/mvsas/mv_init.c | 2 + trunk/drivers/scsi/mvsas/mv_sas.c | 11 +- trunk/drivers/scsi/pm8001/pm8001_chips.h | 4 +- trunk/drivers/scsi/pm8001/pm8001_hwi.c | 434 +- trunk/drivers/scsi/pm8001/pm8001_hwi.h | 2 +- trunk/drivers/scsi/pm8001/pm8001_init.c | 2 + trunk/drivers/scsi/pm8001/pm8001_sas.c | 127 +- trunk/drivers/scsi/pm8001/pm8001_sas.h | 6 - trunk/drivers/scsi/qla2xxx/qla_attr.c | 177 +- trunk/drivers/scsi/qla2xxx/qla_bsg.c | 120 +- trunk/drivers/scsi/qla2xxx/qla_dbg.c | 630 +-- trunk/drivers/scsi/qla2xxx/qla_dbg.h | 63 - trunk/drivers/scsi/qla2xxx/qla_def.h | 117 +- trunk/drivers/scsi/qla2xxx/qla_dfs.c | 2 +- trunk/drivers/scsi/qla2xxx/qla_fw.h | 13 - trunk/drivers/scsi/qla2xxx/qla_gbl.h | 22 +- trunk/drivers/scsi/qla2xxx/qla_gs.c | 86 +- trunk/drivers/scsi/qla2xxx/qla_init.c | 540 ++- trunk/drivers/scsi/qla2xxx/qla_inline.h | 51 +- trunk/drivers/scsi/qla2xxx/qla_iocb.c | 167 +- trunk/drivers/scsi/qla2xxx/qla_isr.c | 445 +- trunk/drivers/scsi/qla2xxx/qla_mbx.c | 410 +- trunk/drivers/scsi/qla2xxx/qla_mid.c | 2 +- trunk/drivers/scsi/qla2xxx/qla_nx.c | 90 +- trunk/drivers/scsi/qla2xxx/qla_nx.h | 3 +- trunk/drivers/scsi/qla2xxx/qla_os.c | 435 +- trunk/drivers/scsi/qla2xxx/qla_sup.c | 148 +- trunk/drivers/scsi/qla4xxx/ql4_def.h | 45 +- trunk/drivers/scsi/qla4xxx/ql4_fw.h | 24 - trunk/drivers/scsi/qla4xxx/ql4_glbl.h | 9 - trunk/drivers/scsi/qla4xxx/ql4_init.c | 5 - trunk/drivers/scsi/qla4xxx/ql4_iocb.c | 92 - trunk/drivers/scsi/qla4xxx/ql4_isr.c | 78 - trunk/drivers/scsi/qla4xxx/ql4_mbx.c | 23 +- trunk/drivers/scsi/qla4xxx/ql4_nx.c | 17 +- trunk/drivers/scsi/qla4xxx/ql4_nx.h | 1 - trunk/drivers/scsi/qla4xxx/ql4_os.c | 563 +-- trunk/drivers/scsi/qla4xxx/ql4_version.h | 2 +- trunk/drivers/scsi/scsi.c | 6 + trunk/drivers/scsi/scsi_debug.c | 6 +- trunk/drivers/scsi/scsi_error.c | 24 +- trunk/drivers/scsi/scsi_lib.c | 5 +- trunk/drivers/scsi/scsi_transport_fc.c | 30 +- trunk/drivers/scsi/scsi_transport_iscsi.c | 268 +- trunk/drivers/scsi/scsi_transport_sas.c | 60 +- trunk/drivers/scsi/sd.c | 86 +- trunk/drivers/scsi/sd.h | 35 - trunk/drivers/scsi/st.c | 11 - trunk/drivers/scsi/virtio_scsi.c | 594 --- trunk/drivers/staging/Kconfig | 2 + trunk/drivers/staging/zcache/zcache-main.c | 10 +- trunk/drivers/target/iscsi/iscsi_target.c | 41 +- .../target/iscsi/iscsi_target_configfs.c | 53 +- .../drivers/target/iscsi/iscsi_target_core.h | 2 +- .../target/iscsi/iscsi_target_device.c | 19 + .../target/iscsi/iscsi_target_device.h | 2 + .../drivers/target/iscsi/iscsi_target_erl0.c | 2 +- .../drivers/target/iscsi/iscsi_target_erl1.c | 2 +- .../drivers/target/iscsi/iscsi_target_login.c | 10 +- .../drivers/target/iscsi/iscsi_target_nego.c | 10 +- .../target/iscsi/iscsi_target_nodeattrib.c | 16 +- .../target/iscsi/iscsi_target_parameters.c | 19 +- trunk/drivers/target/iscsi/iscsi_target_tmr.c | 6 +- trunk/drivers/target/iscsi/iscsi_target_tq.c | 6 + .../drivers/target/iscsi/iscsi_target_util.c | 7 +- trunk/drivers/target/loopback/tcm_loop.c | 363 +- trunk/drivers/target/loopback/tcm_loop.h | 4 +- trunk/drivers/target/target_core_alua.c | 7 +- trunk/drivers/target/target_core_cdb.c | 177 +- trunk/drivers/target/target_core_configfs.c | 30 +- trunk/drivers/target/target_core_device.c | 107 +- .../target/target_core_fabric_configfs.c | 6 +- trunk/drivers/target/target_core_iblock.c | 78 +- trunk/drivers/target/target_core_iblock.h | 7 +- trunk/drivers/target/target_core_internal.h | 3 - trunk/drivers/target/target_core_pr.c | 23 +- trunk/drivers/target/target_core_pscsi.c | 18 +- trunk/drivers/target/target_core_pscsi.h | 2 +- trunk/drivers/target/target_core_stat.c | 48 +- trunk/drivers/target/target_core_tmr.c | 103 +- trunk/drivers/target/target_core_tpg.c | 115 +- trunk/drivers/target/target_core_transport.c | 367 +- trunk/drivers/target/target_core_ua.c | 8 +- trunk/drivers/target/tcm_fc/tcm_fc.h | 8 +- trunk/drivers/target/tcm_fc/tfc_cmd.c | 147 +- trunk/drivers/target/tcm_fc/tfc_conf.c | 4 + trunk/drivers/target/tcm_fc/tfc_sess.c | 21 + trunk/drivers/tty/hvc/Kconfig | 22 +- trunk/drivers/tty/hvc/Makefile | 1 + trunk/drivers/tty/hvc/hvc_iseries.c | 599 +++ trunk/drivers/tty/hvc/hvc_udbg.c | 8 +- trunk/drivers/tty/hvc/hvc_vio.c | 4 + trunk/drivers/tty/hvc/hvc_xen.c | 465 +- trunk/drivers/tty/serial/Kconfig | 2 +- trunk/drivers/tty/serial/sirfsoc_uart.c | 24 +- trunk/drivers/tty/serial/sirfsoc_uart.h | 2 +- trunk/drivers/tty/sysrq.c | 2 +- trunk/drivers/usb/core/inode.c | 23 +- trunk/drivers/usb/gadget/f_fs.c | 8 +- trunk/drivers/usb/gadget/inode.c | 13 +- trunk/drivers/video/Kconfig | 40 +- trunk/drivers/video/Makefile | 3 - trunk/drivers/video/atmel_lcdfb.c | 12 +- trunk/drivers/video/au1100fb.c | 32 +- trunk/drivers/video/au1200fb.c | 9 +- trunk/drivers/video/bf537-lq035.c | 12 +- trunk/drivers/video/bf54x-lq043fb.c | 4 +- trunk/drivers/video/bfin-lq035q1-fb.c | 8 +- trunk/drivers/video/bfin_adv7393fb.c | 7 +- trunk/drivers/video/da8xx-fb.c | 79 +- trunk/drivers/video/exynos/Kconfig | 37 - trunk/drivers/video/exynos/Makefile | 8 - trunk/drivers/video/exynos/exynos_dp_core.c | 1058 ----- trunk/drivers/video/exynos/exynos_dp_core.h | 206 - trunk/drivers/video/exynos/exynos_dp_reg.c | 1173 ----- trunk/drivers/video/exynos/exynos_dp_reg.h | 335 -- trunk/drivers/video/exynos/exynos_mipi_dsi.c | 600 --- .../video/exynos/exynos_mipi_dsi_common.c | 896 ---- .../video/exynos/exynos_mipi_dsi_common.h | 46 - .../video/exynos/exynos_mipi_dsi_lowlevel.c | 618 --- .../video/exynos/exynos_mipi_dsi_lowlevel.h | 112 - .../video/exynos/exynos_mipi_dsi_regs.h | 149 - trunk/drivers/video/exynos/s6e8ax0.c | 898 ---- trunk/drivers/video/exynos/s6e8ax0.h | 21 - trunk/drivers/video/fbmem.c | 18 +- trunk/drivers/video/i740_reg.h | 309 -- trunk/drivers/video/i740fb.c | 1337 ------ trunk/drivers/video/msm/mddi_client_nt35399.c | 7 +- trunk/drivers/video/msm/mddi_client_toshiba.c | 7 +- trunk/drivers/video/omap/Kconfig | 16 +- trunk/drivers/video/omap/Makefile | 12 +- trunk/drivers/video/omap/blizzard.c | 1648 +++++++ trunk/drivers/video/omap/dispc.c | 1547 ++++++ trunk/drivers/video/omap/dispc.h | 46 + trunk/drivers/video/omap/hwa742.c | 21 +- trunk/drivers/video/omap/lcd_inn1610.c | 10 +- trunk/drivers/video/omap/lcd_mipid.c | 14 +- trunk/drivers/video/omap/omapfb.h | 25 +- trunk/drivers/video/omap/omapfb_main.c | 30 +- trunk/drivers/video/omap/rfbi.c | 598 +++ .../video/omap2/displays/panel-acx565akm.c | 13 +- .../video/omap2/displays/panel-generic-dpi.c | 23 - .../omap2/displays/panel-lgphilips-lb035q02.c | 12 +- .../omap2/displays/panel-nec-nl8048hl11-01b.c | 12 +- .../drivers/video/omap2/displays/panel-taal.c | 4 +- .../omap2/displays/panel-tpo-td043mtea1.c | 177 +- trunk/drivers/video/omap2/dss/apply.c | 275 +- trunk/drivers/video/omap2/dss/core.c | 135 +- trunk/drivers/video/omap2/dss/dispc.c | 121 +- trunk/drivers/video/omap2/dss/dispc_coefs.c | 9 +- trunk/drivers/video/omap2/dss/display.c | 10 + trunk/drivers/video/omap2/dss/dsi.c | 65 +- trunk/drivers/video/omap2/dss/dss.c | 17 +- trunk/drivers/video/omap2/dss/dss.h | 10 +- trunk/drivers/video/omap2/dss/dss_features.c | 181 +- trunk/drivers/video/omap2/dss/dss_features.h | 54 +- trunk/drivers/video/omap2/dss/hdmi.c | 278 +- trunk/drivers/video/omap2/dss/manager.c | 12 +- trunk/drivers/video/omap2/dss/rfbi.c | 36 +- trunk/drivers/video/omap2/dss/ti_hdmi.h | 56 +- .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 94 +- .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.h | 47 + trunk/drivers/video/omap2/dss/venc.c | 32 +- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 2 +- .../drivers/video/omap2/omapfb/omapfb-main.c | 101 +- trunk/drivers/video/omap2/vram.c | 99 +- trunk/drivers/video/pvr2fb.c | 4 +- trunk/drivers/video/pxa168fb.c | 15 +- trunk/drivers/video/pxafb.c | 10 +- trunk/drivers/video/riva/fbdev.c | 5 +- trunk/drivers/video/s3c-fb.c | 133 +- trunk/drivers/video/sh_mipi_dsi.c | 99 +- trunk/drivers/video/sh_mobile_hdmi.c | 297 +- trunk/drivers/video/sh_mobile_lcdcfb.c | 1284 +++-- trunk/drivers/video/sh_mobile_lcdcfb.h | 84 +- trunk/drivers/video/sh_mobile_meram.c | 690 ++- trunk/drivers/video/udlfb.c | 176 +- trunk/drivers/video/uvesafb.c | 14 +- trunk/drivers/video/via/Makefile | 5 +- trunk/drivers/video/via/chip.h | 3 + trunk/drivers/video/via/dvi.c | 7 +- trunk/drivers/video/via/dvi.h | 3 +- trunk/drivers/video/via/hw.c | 130 +- trunk/drivers/video/via/hw.h | 9 +- trunk/drivers/video/via/lcd.c | 82 +- trunk/drivers/video/via/lcd.h | 3 +- trunk/drivers/video/via/share.h | 331 ++ trunk/drivers/video/via/via_aux.c | 88 - trunk/drivers/video/via/via_aux.h | 93 - trunk/drivers/video/via/via_aux_ch7301.c | 50 - trunk/drivers/video/via/via_aux_edid.c | 100 - trunk/drivers/video/via/via_aux_sii164.c | 54 - trunk/drivers/video/via/via_aux_vt1621.c | 44 - trunk/drivers/video/via/via_aux_vt1622.c | 50 - trunk/drivers/video/via/via_aux_vt1625.c | 50 - trunk/drivers/video/via/via_aux_vt1631.c | 46 - trunk/drivers/video/via/via_aux_vt1632.c | 54 - trunk/drivers/video/via/via_aux_vt1636.c | 46 - trunk/drivers/video/via/via_i2c.c | 10 +- trunk/drivers/video/via/viafbdev.c | 87 +- trunk/drivers/video/via/viafbdev.h | 6 - trunk/drivers/video/via/viamode.c | 713 ++- trunk/drivers/video/via/viamode.h | 11 +- trunk/drivers/watchdog/Kconfig | 2 +- trunk/drivers/xen/Kconfig | 17 - trunk/drivers/xen/Makefile | 2 +- trunk/drivers/xen/sys-hypervisor.c | 6 +- trunk/drivers/xen/tmem.c | 10 +- trunk/drivers/xen/xen-acpi-processor.c | 562 --- trunk/drivers/xen/xen-balloon.c | 2 +- trunk/drivers/xen/xen-pciback/pci_stub.c | 41 +- trunk/drivers/xen/xen-pciback/pciback.h | 1 - trunk/drivers/xen/xen-selfballoon.c | 2 +- trunk/drivers/xen/xenbus/xenbus_client.c | 6 +- trunk/drivers/xen/xenbus/xenbus_probe.c | 3 +- .../xen/xenbus/xenbus_probe_frontend.c | 6 - trunk/fs/9p/v9fs.c | 16 +- trunk/fs/9p/vfs_super.c | 3 +- trunk/fs/Kconfig | 1 - trunk/fs/Makefile | 1 - trunk/fs/adfs/super.c | 3 +- trunk/fs/affs/super.c | 7 +- trunk/fs/afs/super.c | 7 +- trunk/fs/aio.c | 65 +- trunk/fs/anon_inodes.c | 109 +- trunk/fs/autofs4/init.c | 6 +- trunk/fs/autofs4/inode.c | 10 +- trunk/fs/befs/linuxvfs.c | 3 +- trunk/fs/bfs/inode.c | 3 +- trunk/fs/binfmt_aout.c | 4 +- trunk/fs/binfmt_elf.c | 5 +- trunk/fs/binfmt_elf_fdpic.c | 6 +- trunk/fs/binfmt_em86.c | 3 +- trunk/fs/binfmt_flat.c | 4 +- trunk/fs/binfmt_misc.c | 7 +- trunk/fs/binfmt_script.c | 3 +- trunk/fs/binfmt_som.c | 4 +- trunk/fs/block_dev.c | 2 +- trunk/fs/btrfs/super.c | 8 +- trunk/fs/cachefiles/namei.c | 3 +- trunk/fs/ceph/super.c | 3 +- trunk/fs/cifs/README | 6 +- trunk/fs/cifs/cifs_debug.c | 3 +- trunk/fs/cifs/cifsfs.c | 32 +- trunk/fs/cifs/cifsglob.h | 47 +- trunk/fs/cifs/cifsproto.h | 9 - trunk/fs/cifs/cifssmb.c | 18 +- trunk/fs/cifs/connect.c | 44 +- trunk/fs/cifs/dir.c | 6 +- trunk/fs/cifs/file.c | 23 +- trunk/fs/cifs/misc.c | 19 - trunk/fs/cifs/transport.c | 78 +- trunk/fs/coda/inode.c | 6 +- trunk/fs/configfs/configfs_internal.h | 7 +- trunk/fs/configfs/dir.c | 72 +- trunk/fs/configfs/inode.c | 62 +- trunk/fs/configfs/mount.c | 16 +- trunk/fs/configfs/symlink.c | 12 +- trunk/fs/cramfs/inode.c | 6 +- trunk/fs/dcache.c | 26 +- trunk/fs/debugfs/file.c | 2 +- trunk/fs/devpts/inode.c | 3 +- trunk/fs/dlm/dir.c | 17 - trunk/fs/dlm/lock.c | 8 +- trunk/fs/dlm/lock.h | 3 - trunk/fs/dlm/lowcomms.c | 2 +- trunk/fs/ecryptfs/file.c | 9 +- trunk/fs/ecryptfs/main.c | 19 +- trunk/fs/ecryptfs/super.c | 1 + trunk/fs/efs/super.c | 3 +- trunk/fs/exec.c | 10 +- trunk/fs/exofs/namei.c | 13 +- trunk/fs/exofs/super.c | 4 +- trunk/fs/ext2/namei.c | 13 +- trunk/fs/ext2/super.c | 4 +- trunk/fs/ext3/super.c | 3 +- trunk/fs/ext4/super.c | 8 +- trunk/fs/fat/inode.c | 8 +- trunk/fs/file_table.c | 3 +- trunk/fs/freevxfs/vxfs_super.c | 3 +- trunk/fs/fs_struct.c | 29 +- trunk/fs/fuse/inode.c | 9 +- trunk/fs/gfs2/bmap.c | 4 +- trunk/fs/gfs2/file.c | 15 +- trunk/fs/gfs2/glock.c | 210 +- trunk/fs/gfs2/incore.h | 50 +- trunk/fs/gfs2/inode.c | 4 +- trunk/fs/gfs2/lock_dlm.c | 123 +- trunk/fs/gfs2/log.c | 244 +- trunk/fs/gfs2/log.h | 5 +- trunk/fs/gfs2/lops.c | 95 +- trunk/fs/gfs2/main.c | 18 - trunk/fs/gfs2/ops_fstype.c | 12 +- trunk/fs/gfs2/quota.c | 2 +- trunk/fs/gfs2/rgrp.c | 189 +- trunk/fs/gfs2/rgrp.h | 10 +- trunk/fs/gfs2/super.c | 3 +- trunk/fs/gfs2/trace_gfs2.h | 60 +- trunk/fs/gfs2/util.c | 1 - trunk/fs/gfs2/util.h | 3 - trunk/fs/gfs2/xattr.c | 4 +- trunk/fs/hfs/super.c | 6 +- trunk/fs/hfsplus/hfsplus_fs.h | 5 - trunk/fs/hfsplus/hfsplus_raw.h | 2 +- trunk/fs/hfsplus/inode.c | 2 - trunk/fs/hfsplus/ioctl.c | 34 - trunk/fs/hfsplus/super.c | 17 +- trunk/fs/hostfs/hostfs_kern.c | 4 +- trunk/fs/hpfs/super.c | 6 +- trunk/fs/hppfs/hppfs.c | 9 +- trunk/fs/hugetlbfs/inode.c | 151 +- trunk/fs/inode.c | 28 +- trunk/fs/isofs/inode.c | 3 +- trunk/fs/jffs2/fs.c | 6 +- trunk/fs/jfs/namei.c | 13 + trunk/fs/jfs/super.c | 12 +- trunk/fs/libfs.c | 8 +- trunk/fs/lockd/clnt4xdr.c | 2 +- trunk/fs/lockd/clntlock.c | 3 +- trunk/fs/lockd/clntxdr.c | 8 +- trunk/fs/lockd/host.c | 42 +- trunk/fs/lockd/mon.c | 21 +- trunk/fs/lockd/netns.h | 12 - trunk/fs/lockd/svc.c | 117 +- trunk/fs/lockd/svclock.c | 59 +- trunk/fs/logfs/dir.c | 3 + trunk/fs/logfs/super.c | 12 +- trunk/fs/minix/inode.c | 38 +- trunk/fs/minix/minix.h | 1 + trunk/fs/minix/namei.c | 14 +- trunk/fs/namei.c | 30 +- trunk/fs/ncpfs/inode.c | 6 +- trunk/fs/nfs/Kconfig | 29 +- trunk/fs/nfs/blocklayout/blocklayout.c | 161 +- trunk/fs/nfs/blocklayout/blocklayout.h | 11 +- trunk/fs/nfs/blocklayout/blocklayoutdev.c | 46 +- trunk/fs/nfs/blocklayout/blocklayoutdm.c | 33 +- trunk/fs/nfs/blocklayout/extents.c | 2 +- trunk/fs/nfs/cache_lib.c | 61 +- trunk/fs/nfs/cache_lib.h | 10 +- trunk/fs/nfs/callback.c | 19 +- trunk/fs/nfs/callback.h | 3 +- trunk/fs/nfs/callback_proc.c | 99 +- trunk/fs/nfs/callback_xdr.c | 21 +- trunk/fs/nfs/client.c | 246 +- trunk/fs/nfs/delegation.c | 68 +- trunk/fs/nfs/delegation.h | 4 +- trunk/fs/nfs/dir.c | 27 +- trunk/fs/nfs/direct.c | 6 + trunk/fs/nfs/dns_resolve.c | 130 +- trunk/fs/nfs/dns_resolve.h | 14 +- trunk/fs/nfs/file.c | 2 - trunk/fs/nfs/fscache.c | 2 +- trunk/fs/nfs/getroot.c | 6 +- trunk/fs/nfs/idmap.c | 733 +-- trunk/fs/nfs/inode.c | 119 +- trunk/fs/nfs/internal.h | 15 +- trunk/fs/nfs/mount_clnt.c | 16 +- trunk/fs/nfs/namespace.c | 5 +- trunk/fs/nfs/netns.h | 27 - trunk/fs/nfs/nfs2xdr.c | 2 +- trunk/fs/nfs/nfs3acl.c | 2 +- trunk/fs/nfs/nfs3proc.c | 24 - trunk/fs/nfs/nfs3xdr.c | 4 +- trunk/fs/nfs/nfs4_fs.h | 58 +- trunk/fs/nfs/nfs4filelayout.c | 272 +- trunk/fs/nfs/nfs4filelayout.h | 7 +- trunk/fs/nfs/nfs4filelayoutdev.c | 90 +- trunk/fs/nfs/nfs4namespace.c | 10 +- trunk/fs/nfs/nfs4proc.c | 559 +-- trunk/fs/nfs/nfs4state.c | 355 +- trunk/fs/nfs/nfs4xdr.c | 697 +-- trunk/fs/nfs/nfsroot.c | 2 +- trunk/fs/nfs/objlayout/objio_osd.c | 54 +- trunk/fs/nfs/objlayout/objlayout.c | 142 +- trunk/fs/nfs/objlayout/objlayout.h | 2 - trunk/fs/nfs/pagelist.c | 92 +- trunk/fs/nfs/pnfs.c | 46 +- trunk/fs/nfs/pnfs.h | 98 +- trunk/fs/nfs/pnfs_dev.c | 4 +- trunk/fs/nfs/proc.c | 24 - trunk/fs/nfs/read.c | 14 +- trunk/fs/nfs/super.c | 167 +- trunk/fs/nfs/sysctl.c | 2 + trunk/fs/nfs/unlink.c | 45 +- trunk/fs/nfs/write.c | 213 +- trunk/fs/nfsd/fault_inject.c | 2 +- trunk/fs/nfsd/nfs4callback.c | 8 +- trunk/fs/nfsd/nfs4state.c | 2 +- trunk/fs/nfsd/nfsctl.c | 6 +- trunk/fs/nfsd/nfssvc.c | 4 +- trunk/fs/nfsd/stats.c | 5 +- trunk/fs/nfsd/vfs.c | 11 +- trunk/fs/nilfs2/namei.c | 11 + trunk/fs/nilfs2/super.c | 4 +- trunk/fs/ntfs/super.c | 9 +- trunk/fs/ocfs2/dlmfs/dlmfs.c | 14 +- trunk/fs/ocfs2/super.c | 51 +- trunk/fs/omfs/inode.c | 6 +- trunk/fs/openpromfs/inode.c | 3 +- trunk/fs/proc/base.c | 12 +- trunk/fs/proc/inode.c | 16 +- trunk/fs/proc/internal.h | 9 +- trunk/fs/proc/page.c | 2 - trunk/fs/proc/task_mmu.c | 357 +- trunk/fs/proc/task_nommu.c | 69 +- trunk/fs/proc/vmcore.c | 23 - trunk/fs/pstore/inode.c | 25 +- trunk/fs/pstore/platform.c | 30 +- trunk/fs/qnx4/inode.c | 88 +- trunk/fs/qnx4/namei.c | 9 +- trunk/fs/qnx4/qnx4.h | 2 + trunk/fs/qnx6/Kconfig | 26 - trunk/fs/qnx6/Makefile | 7 - trunk/fs/qnx6/README | 8 - trunk/fs/qnx6/dir.c | 291 -- trunk/fs/qnx6/inode.c | 698 --- trunk/fs/qnx6/namei.c | 42 - trunk/fs/qnx6/qnx6.h | 135 - trunk/fs/qnx6/super_mmi.c | 150 - trunk/fs/quota/quota.c | 3 +- trunk/fs/ramfs/inode.c | 30 +- trunk/fs/reiserfs/bitmap.c | 4 +- trunk/fs/reiserfs/dir.c | 2 +- trunk/fs/reiserfs/do_balan.c | 2 +- trunk/fs/reiserfs/file.c | 6 +- trunk/fs/reiserfs/fix_node.c | 2 +- trunk/fs/reiserfs/hashes.c | 2 +- trunk/fs/reiserfs/ibalance.c | 2 +- trunk/fs/reiserfs/inode.c | 6 +- trunk/fs/reiserfs/ioctl.c | 2 +- trunk/fs/reiserfs/item_ops.c | 2 +- trunk/fs/reiserfs/journal.c | 2 +- trunk/fs/reiserfs/lbalance.c | 2 +- trunk/fs/reiserfs/lock.c | 2 +- trunk/fs/reiserfs/namei.c | 6 +- trunk/fs/reiserfs/objectid.c | 3 +- trunk/fs/reiserfs/prints.c | 4 +- trunk/fs/reiserfs/procfs.c | 3 +- trunk/fs/reiserfs/reiserfs.h | 2922 ------------ trunk/fs/reiserfs/resize.c | 3 +- trunk/fs/reiserfs/stree.c | 2 +- trunk/fs/reiserfs/super.c | 12 +- trunk/fs/reiserfs/tail_conversion.c | 2 +- trunk/fs/reiserfs/xattr.c | 6 +- trunk/fs/reiserfs/xattr.h | 122 - trunk/fs/reiserfs/xattr_acl.c | 6 +- trunk/fs/reiserfs/xattr_security.c | 4 +- trunk/fs/reiserfs/xattr_trusted.c | 4 +- trunk/fs/reiserfs/xattr_user.c | 4 +- trunk/fs/romfs/super.c | 6 +- trunk/fs/seq_file.c | 28 +- trunk/fs/squashfs/super.c | 3 +- trunk/fs/stat.c | 2 +- trunk/fs/super.c | 2 +- trunk/fs/sysfs/mount.c | 3 +- trunk/fs/sysv/namei.c | 12 +- trunk/fs/sysv/super.c | 27 +- trunk/fs/sysv/sysv.h | 1 + trunk/fs/ubifs/debug.c | 410 +- trunk/fs/ubifs/debug.h | 3 + trunk/fs/ubifs/dir.c | 18 +- trunk/fs/ubifs/recovery.c | 3 +- trunk/fs/ubifs/sb.c | 19 +- trunk/fs/ubifs/super.c | 6 +- trunk/fs/ubifs/ubifs.h | 11 +- trunk/fs/udf/namei.c | 13 + trunk/fs/udf/super.c | 6 +- trunk/fs/ufs/namei.c | 14 +- trunk/fs/ufs/super.c | 7 +- trunk/fs/xfs/Makefile | 3 + trunk/fs/xfs/xfs_aops.c | 183 +- trunk/fs/xfs/xfs_aops.h | 4 +- trunk/fs/xfs/xfs_bmap.c | 13 +- trunk/fs/xfs/xfs_buf.c | 17 + trunk/fs/xfs/xfs_dfrag.c | 24 +- trunk/fs/xfs/xfs_dir2_block.c | 1 - trunk/fs/xfs/xfs_dquot.c | 418 +- trunk/fs/xfs/xfs_dquot.h | 49 +- trunk/fs/xfs/xfs_file.c | 84 +- trunk/fs/xfs/xfs_iget.c | 41 +- trunk/fs/xfs/xfs_inode.c | 94 +- trunk/fs/xfs/xfs_inode.h | 23 +- trunk/fs/xfs/xfs_inode_item.c | 297 +- trunk/fs/xfs/xfs_inode_item.h | 16 +- trunk/fs/xfs/xfs_ioctl.c | 14 +- trunk/fs/xfs/xfs_ioctl32.c | 2 +- trunk/fs/xfs/xfs_iomap.c | 19 +- trunk/fs/xfs/xfs_iops.c | 71 +- trunk/fs/xfs/xfs_itable.c | 21 +- trunk/fs/xfs/xfs_log.c | 612 +-- trunk/fs/xfs/xfs_log.h | 16 +- trunk/fs/xfs/xfs_log_priv.h | 28 +- trunk/fs/xfs/xfs_log_recover.c | 6 +- trunk/fs/xfs/xfs_mount.c | 8 +- trunk/fs/xfs/xfs_mount.h | 5 +- trunk/fs/xfs/xfs_qm.c | 628 ++- trunk/fs/xfs/xfs_qm.h | 49 +- trunk/fs/xfs/xfs_qm_bhv.c | 42 +- trunk/fs/xfs/xfs_qm_stats.c | 105 + trunk/fs/xfs/xfs_qm_stats.h | 53 + trunk/fs/xfs/xfs_qm_syscalls.c | 130 +- trunk/fs/xfs/xfs_quota.h | 2 - trunk/fs/xfs/xfs_quota_priv.h | 11 + trunk/fs/xfs/xfs_rename.c | 11 + trunk/fs/xfs/xfs_sb.h | 1 + trunk/fs/xfs/xfs_stats.c | 99 +- trunk/fs/xfs/xfs_stats.h | 10 - trunk/fs/xfs/xfs_super.c | 171 +- trunk/fs/xfs/xfs_super.h | 8 +- trunk/fs/xfs/xfs_sync.c | 46 +- trunk/fs/xfs/xfs_sync.h | 2 + trunk/fs/xfs/xfs_trace.h | 28 +- trunk/fs/xfs/xfs_trans.c | 31 +- trunk/fs/xfs/xfs_trans_ail.c | 83 +- trunk/fs/xfs/xfs_trans_buf.c | 25 +- trunk/fs/xfs/xfs_trans_dquot.c | 21 +- trunk/fs/xfs/xfs_trans_inode.c | 8 +- trunk/fs/xfs/xfs_trans_priv.h | 3 + trunk/fs/xfs/xfs_utils.c | 2 + trunk/fs/xfs/xfs_vnode.h | 1 + trunk/fs/xfs/xfs_vnodeops.c | 16 + trunk/fs/xfs/xfs_vnodeops.h | 3 + trunk/include/asm-generic/getorder.h | 53 +- trunk/include/asm-generic/pgtable.h | 61 - trunk/include/drm/drm.h | 2 - trunk/include/drm/drmP.h | 25 +- trunk/include/drm/drm_crtc.h | 48 +- trunk/include/drm/drm_edid.h | 1 - trunk/include/drm/drm_fb_helper.h | 2 + trunk/include/drm/drm_pciids.h | 54 - trunk/include/drm/exynos_drm.h | 26 - trunk/include/drm/gma_drm.h | 2 +- trunk/include/drm/i915_drm.h | 1 - trunk/include/drm/intel-gtt.h | 4 - trunk/include/drm/radeon_drm.h | 27 +- trunk/include/linux/atomic.h | 2 - trunk/include/linux/audit.h | 2 +- trunk/include/linux/binfmts.h | 10 +- trunk/include/linux/cgroup.h | 2 +- trunk/include/linux/cleancache.h | 24 +- trunk/include/linux/compaction.h | 20 +- trunk/include/linux/cpuset.h | 47 +- trunk/include/linux/dcache.h | 1 + trunk/include/linux/debugfs.h | 4 +- trunk/include/linux/device.h | 4 + trunk/include/linux/efi.h | 45 - trunk/include/linux/fb.h | 1 - trunk/include/linux/file.h | 1 + trunk/include/linux/firewire-cdev.h | 39 +- trunk/include/linux/firewire.h | 16 +- trunk/include/linux/fs.h | 10 +- trunk/include/linux/gfs2_ondisk.h | 1 - trunk/include/linux/huge_mm.h | 28 +- trunk/include/linux/hugetlb.h | 45 +- trunk/include/linux/i2c-algo-bit.h | 1 - trunk/include/linux/i2c/tc35876x.h | 11 - trunk/include/linux/init_task.h | 8 - trunk/include/linux/input.h | 27 - trunk/include/linux/input/cyttsp.h | 58 - trunk/include/linux/input/ili210x.h | 10 - trunk/include/linux/input/kxtj9.h | 11 +- trunk/include/linux/input/matrix_keypad.h | 19 - trunk/include/linux/input/mt.h | 8 +- trunk/include/linux/input/ti_tscadc.h | 17 - trunk/include/linux/kernel-page-flags.h | 1 - trunk/include/linux/key.h | 2 - trunk/include/linux/libata.h | 2 - trunk/include/linux/lockd/bind.h | 1 - trunk/include/linux/lockd/lockd.h | 7 +- trunk/include/linux/lockd/xdr4.h | 2 +- trunk/include/linux/magic.h | 1 - trunk/include/linux/memcontrol.h | 58 +- trunk/include/linux/mfd/max8997.h | 53 +- trunk/include/linux/mfd/wm8994/pdata.h | 3 - trunk/include/linux/migrate.h | 2 + trunk/include/linux/mm.h | 38 +- trunk/include/linux/mmzone.h | 1 - trunk/include/linux/nfs.h | 2 +- trunk/include/linux/nfs4.h | 7 +- trunk/include/linux/nfs_fs.h | 46 +- trunk/include/linux/nfs_fs_i.h | 4 + trunk/include/linux/nfs_fs_sb.h | 23 +- trunk/include/linux/nfs_idmap.h | 22 +- trunk/include/linux/nfs_iostat.h | 2 +- trunk/include/linux/nfs_page.h | 27 +- trunk/include/linux/nfs_xdr.h | 65 +- trunk/include/linux/of.h | 10 - trunk/include/linux/omapfb.h | 32 +- trunk/include/linux/oom.h | 2 +- trunk/include/linux/page-flags.h | 20 - trunk/include/linux/page_cgroup.h | 33 +- trunk/include/linux/pci.h | 8 - trunk/include/linux/pinctrl/consumer.h | 159 - trunk/include/linux/pinctrl/machine.h | 190 +- trunk/include/linux/pinctrl/pinconf-generic.h | 114 - trunk/include/linux/pinctrl/pinconf.h | 44 +- trunk/include/linux/pinctrl/pinctrl-state.h | 6 - trunk/include/linux/pinctrl/pinctrl.h | 3 +- trunk/include/linux/pinctrl/pinmux.h | 52 + .../linux/platform_data/omap-abe-twl6040.h | 49 - .../linux/platform_data/omap4-keypad.h | 13 - trunk/include/linux/qnx6_fs.h | 134 - trunk/include/linux/raid/md_p.h | 6 +- trunk/include/linux/rar_register.h | 60 + trunk/include/linux/regmap.h | 132 - .../acl.h => include/linux/reiserfs_acl.h} | 0 trunk/include/linux/reiserfs_fs.h | 2334 ++++++++++ trunk/include/linux/reiserfs_fs_i.h | 63 + trunk/include/linux/reiserfs_fs_sb.h | 554 +++ trunk/include/linux/reiserfs_xattr.h | 128 + trunk/include/linux/rmap.h | 1 + trunk/include/linux/sched.h | 2 +- trunk/include/linux/sunrpc/auth.h | 2 - trunk/include/linux/sunrpc/bc_xprt.h | 2 +- trunk/include/linux/sunrpc/cache.h | 8 +- trunk/include/linux/sunrpc/clnt.h | 40 +- trunk/include/linux/sunrpc/debug.h | 26 +- trunk/include/linux/sunrpc/metrics.h | 6 +- trunk/include/linux/sunrpc/rpc_pipe_fs.h | 46 +- trunk/include/linux/sunrpc/sched.h | 24 +- trunk/include/linux/sunrpc/stats.h | 22 +- trunk/include/linux/sunrpc/svc.h | 13 +- trunk/include/linux/sunrpc/svc_xprt.h | 3 +- trunk/include/linux/sunrpc/svcauth.h | 3 - trunk/include/linux/sunrpc/svcauth_gss.h | 2 - trunk/include/linux/sunrpc/svcsock.h | 2 +- trunk/include/linux/sunrpc/xprt.h | 11 +- trunk/include/linux/sunrpc/xprtsock.h | 12 + trunk/include/linux/swap.h | 2 +- trunk/include/linux/trace_seq.h | 4 +- trunk/include/linux/virtio_ids.h | 1 - trunk/include/linux/virtio_scsi.h | 114 - trunk/include/net/af_unix.h | 3 +- trunk/include/scsi/fc/fc_fcp.h | 6 +- trunk/include/scsi/fc/fc_ms.h | 213 - trunk/include/scsi/fc_encode.h | 363 +- trunk/include/scsi/iscsi_if.h | 79 - trunk/include/scsi/libfc.h | 11 - trunk/include/scsi/libiscsi.h | 3 +- trunk/include/scsi/libiscsi_tcp.h | 2 +- trunk/include/scsi/libsas.h | 71 +- trunk/include/scsi/sas.h | 4 +- trunk/include/scsi/sas_ata.h | 44 +- trunk/include/scsi/scsi.h | 1 - trunk/include/scsi/scsi_cmnd.h | 12 +- trunk/include/scsi/scsi_driver.h | 1 - trunk/include/scsi/scsi_transport_fc.h | 32 +- trunk/include/scsi/scsi_transport_iscsi.h | 22 - trunk/include/scsi/scsi_transport_sas.h | 12 +- trunk/include/sound/control.h | 7 +- trunk/include/sound/dmaengine_pcm.h | 49 - trunk/include/sound/jack.h | 3 - trunk/include/sound/max9768.h | 24 - trunk/include/sound/pcm.h | 9 +- trunk/include/sound/sh_fsi.h | 12 +- trunk/include/sound/soc-dai.h | 11 +- trunk/include/sound/soc-dapm.h | 33 +- trunk/include/sound/soc.h | 45 +- trunk/include/sound/version.h | 2 +- trunk/include/sound/wm2200.h | 41 - trunk/include/sound/wm8962.h | 6 - trunk/include/sound/ymfpci.h | 2 - trunk/include/target/target_core_backend.h | 2 - trunk/include/target/target_core_base.h | 85 +- trunk/include/target/target_core_fabric.h | 14 +- trunk/include/trace/events/regmap.h | 36 - trunk/include/trace/events/sunrpc.h | 177 - trunk/include/video/exynos_dp.h | 131 - trunk/include/video/exynos_mipi_dsim.h | 359 -- trunk/include/video/sh_mipi_dsi.h | 1 - trunk/include/video/sh_mobile_hdmi.h | 2 + trunk/include/video/sh_mobile_lcdc.h | 35 +- trunk/include/video/sh_mobile_meram.h | 45 +- trunk/include/video/udlfb.h | 1 - trunk/include/xen/interface/hvm/params.h | 6 +- trunk/include/xen/interface/physdev.h | 7 - trunk/include/xen/interface/platform.h | 20 +- trunk/init/do_mounts_rd.c | 4 +- trunk/ipc/mqueue.c | 24 +- trunk/ipc/shm.c | 2 +- trunk/kernel/audit.c | 2 +- trunk/kernel/cgroup.c | 27 +- trunk/kernel/cpuset.c | 43 +- trunk/kernel/debug/debug_core.c | 33 - trunk/kernel/debug/gdbstub.c | 10 +- trunk/kernel/debug/kdb/kdb_bp.c | 7 - trunk/kernel/debug/kdb/kdb_io.c | 2 +- trunk/kernel/debug/kdb/kdb_keyboard.c | 95 +- trunk/kernel/debug/kdb/kdb_main.c | 3 - trunk/kernel/debug/kdb/kdb_private.h | 7 - trunk/kernel/exit.c | 2 +- trunk/kernel/fork.c | 22 +- trunk/kernel/time/timekeeping.c | 2 - trunk/kernel/trace/trace_output.c | 2 +- trunk/lib/idr.c | 8 +- trunk/mm/bootmem.c | 5 +- trunk/mm/cleancache.c | 98 +- trunk/mm/compaction.c | 77 +- trunk/mm/filemap.c | 22 +- trunk/mm/huge_memory.c | 125 +- trunk/mm/hugetlb.c | 184 +- trunk/mm/hwpoison-inject.c | 4 +- trunk/mm/ksm.c | 34 +- trunk/mm/madvise.c | 2 +- trunk/mm/memcontrol.c | 473 +- trunk/mm/memory-failure.c | 98 +- trunk/mm/memory.c | 186 +- trunk/mm/mempolicy.c | 62 +- trunk/mm/migrate.c | 36 +- trunk/mm/mincore.c | 2 +- trunk/mm/mmap.c | 56 +- trunk/mm/mmu_context.c | 2 +- trunk/mm/mprotect.c | 2 +- trunk/mm/oom_kill.c | 166 +- trunk/mm/page-writeback.c | 1 - trunk/mm/page_alloc.c | 58 +- trunk/mm/pagewalk.c | 2 +- trunk/mm/pgtable-generic.c | 5 +- trunk/mm/rmap.c | 70 +- trunk/mm/shmem.c | 98 +- trunk/mm/slab.c | 13 +- trunk/mm/slub.c | 40 +- trunk/mm/sparse.c | 30 +- trunk/mm/swap.c | 4 +- trunk/mm/swap_state.c | 24 +- trunk/mm/swapfile.c | 58 +- trunk/mm/truncate.c | 10 +- trunk/mm/util.c | 41 - trunk/mm/vmscan.c | 151 +- trunk/net/core/dev.c | 3 +- trunk/net/iucv/iucv.c | 2 +- trunk/net/sunrpc/Kconfig | 13 - trunk/net/sunrpc/addr.c | 26 +- trunk/net/sunrpc/auth_gss/auth_gss.c | 216 +- trunk/net/sunrpc/auth_gss/gss_krb5_crypto.c | 7 +- trunk/net/sunrpc/auth_gss/gss_krb5_mech.c | 2 +- trunk/net/sunrpc/auth_gss/gss_krb5_seal.c | 2 +- trunk/net/sunrpc/auth_gss/svcauth_gss.c | 165 +- trunk/net/sunrpc/backchannel_rqst.c | 1 - trunk/net/sunrpc/cache.c | 44 +- trunk/net/sunrpc/clnt.c | 548 +-- trunk/net/sunrpc/netns.h | 14 - trunk/net/sunrpc/rpc_pipe.c | 509 +- trunk/net/sunrpc/rpcb_clnt.c | 188 +- trunk/net/sunrpc/sched.c | 73 +- trunk/net/sunrpc/stats.c | 35 +- trunk/net/sunrpc/sunrpc.h | 2 - trunk/net/sunrpc/sunrpc_syms.c | 17 +- trunk/net/sunrpc/svc.c | 98 +- trunk/net/sunrpc/svc_xprt.c | 51 +- trunk/net/sunrpc/svcauth_unix.c | 126 +- trunk/net/sunrpc/svcsock.c | 5 +- trunk/net/sunrpc/sysctl.c | 4 +- trunk/net/sunrpc/xprt.c | 80 +- trunk/net/sunrpc/xprtrdma/rpc_rdma.c | 9 +- trunk/net/sunrpc/xprtrdma/verbs.c | 17 +- trunk/net/sunrpc/xprtsock.c | 33 +- trunk/net/unix/af_unix.c | 37 +- trunk/net/unix/diag.c | 2 +- trunk/security/keys/key.c | 20 - trunk/security/keys/keyctl.c | 18 +- trunk/security/lsm_audit.c | 8 +- trunk/security/selinux/avc.c | 70 +- trunk/sound/aoa/codecs/onyx.c | 13 +- trunk/sound/aoa/codecs/tas.c | 13 +- trunk/sound/core/control.c | 2 +- trunk/sound/core/init.c | 169 +- trunk/sound/core/jack.c | 4 +- trunk/sound/core/misc.c | 2 +- trunk/sound/core/pcm.c | 99 +- trunk/sound/core/pcm_lib.c | 3 +- trunk/sound/core/pcm_native.c | 15 +- trunk/sound/core/vmaster.c | 46 +- trunk/sound/firewire/isight.c | 4 +- trunk/sound/firewire/speakers.c | 4 + trunk/sound/pci/au88x0/au88x0.h | 13 +- trunk/sound/pci/au88x0/au88x0_core.c | 20 +- trunk/sound/pci/au88x0/au88x0_pcm.c | 127 +- trunk/sound/pci/ctxfi/ctvmem.c | 2 +- trunk/sound/pci/hda/alc260_quirks.c | 968 ++++ trunk/sound/pci/hda/alc880_quirks.c | 1707 +++++++ trunk/sound/pci/hda/alc882_quirks.c | 866 ++++ trunk/sound/pci/hda/alc_quirks.c | 480 ++ trunk/sound/pci/hda/hda_codec.c | 192 +- trunk/sound/pci/hda/hda_codec.h | 1 - trunk/sound/pci/hda/hda_eld.c | 4 +- trunk/sound/pci/hda/hda_intel.c | 52 +- trunk/sound/pci/hda/hda_jack.c | 16 - trunk/sound/pci/hda/hda_jack.h | 13 +- trunk/sound/pci/hda/hda_local.h | 30 +- trunk/sound/pci/hda/patch_analog.c | 72 +- trunk/sound/pci/hda/patch_conexant.c | 122 +- trunk/sound/pci/hda/patch_hdmi.c | 2 - trunk/sound/pci/hda/patch_realtek.c | 1844 +++----- trunk/sound/pci/hda/patch_sigmatel.c | 203 +- trunk/sound/pci/hda/patch_via.c | 48 +- trunk/sound/pci/ice1712/ice1724.c | 23 - trunk/sound/pci/ymfpci/ymfpci_main.c | 9 - trunk/sound/soc/Kconfig | 3 - trunk/sound/soc/Makefile | 3 - trunk/sound/soc/atmel/atmel-pcm.c | 4 +- trunk/sound/soc/atmel/snd-soc-afeb9260.c | 37 +- trunk/sound/soc/blackfin/bf5xx-ad1836.c | 17 +- trunk/sound/soc/blackfin/bf5xx-ad193x.c | 17 +- trunk/sound/soc/blackfin/bf5xx-ad73311.c | 29 +- trunk/sound/soc/blackfin/bf5xx-ssm2602.c | 20 +- trunk/sound/soc/blackfin/bfin-eval-adau1373.c | 13 +- trunk/sound/soc/blackfin/bfin-eval-adau1701.c | 16 +- trunk/sound/soc/blackfin/bfin-eval-adav80x.c | 13 +- trunk/sound/soc/codecs/Kconfig | 8 - trunk/sound/soc/codecs/Makefile | 4 - trunk/sound/soc/codecs/ad1836.c | 6 +- trunk/sound/soc/codecs/ad1980.c | 2 +- trunk/sound/soc/codecs/adau1373.c | 7 +- trunk/sound/soc/codecs/adau1701.c | 2 +- trunk/sound/soc/codecs/ak4104.c | 174 +- trunk/sound/soc/codecs/ak4535.c | 98 +- trunk/sound/soc/codecs/ak4535.h | 2 + trunk/sound/soc/codecs/ak4642.c | 2 +- trunk/sound/soc/codecs/ak4671.c | 2 +- trunk/sound/soc/codecs/alc5623.c | 12 +- trunk/sound/soc/codecs/alc5632.c | 197 +- trunk/sound/soc/codecs/alc5632.h | 1 - trunk/sound/soc/codecs/cq93vc.c | 4 +- trunk/sound/soc/codecs/cs4270.c | 4 +- trunk/sound/soc/codecs/cs4271.c | 2 +- trunk/sound/soc/codecs/da7210.c | 146 +- trunk/sound/soc/codecs/lm4857.c | 2 +- trunk/sound/soc/codecs/max9768.c | 247 - trunk/sound/soc/codecs/max98088.c | 4 +- trunk/sound/soc/codecs/max98095.c | 6 +- trunk/sound/soc/codecs/max9877.c | 2 +- trunk/sound/soc/codecs/sgtl5000.c | 19 +- trunk/sound/soc/codecs/sn95031.c | 5 +- trunk/sound/soc/codecs/ssm2602.c | 2 +- trunk/sound/soc/codecs/stac9766.c | 2 +- trunk/sound/soc/codecs/tlv320aic23.c | 2 +- trunk/sound/soc/codecs/tlv320aic26.c | 2 +- trunk/sound/soc/codecs/tlv320aic32x4.c | 2 +- trunk/sound/soc/codecs/tlv320aic3x.c | 66 +- trunk/sound/soc/codecs/tlv320aic3x.h | 9 + trunk/sound/soc/codecs/tlv320dac33.c | 10 +- trunk/sound/soc/codecs/tpa6130a2.c | 4 +- trunk/sound/soc/codecs/twl4030.c | 42 +- trunk/sound/soc/codecs/twl6040.c | 31 +- trunk/sound/soc/codecs/twl6040.h | 1 - trunk/sound/soc/codecs/uda134x.c | 6 +- trunk/sound/soc/codecs/wl1273.c | 2 +- trunk/sound/soc/codecs/wm2200.c | 2286 --------- trunk/sound/soc/codecs/wm2200.h | 3674 --------------- trunk/sound/soc/codecs/wm5100.c | 643 +-- trunk/sound/soc/codecs/wm8731.c | 109 +- trunk/sound/soc/codecs/wm8737.c | 2 +- trunk/sound/soc/codecs/wm8753.c | 195 +- trunk/sound/soc/codecs/wm8770.c | 5 +- trunk/sound/soc/codecs/wm8776.c | 8 +- trunk/sound/soc/codecs/wm8804.c | 154 +- trunk/sound/soc/codecs/wm8904.c | 856 ++-- trunk/sound/soc/codecs/wm8904.h | 11 - trunk/sound/soc/codecs/wm8940.c | 16 +- trunk/sound/soc/codecs/wm8955.c | 247 +- trunk/sound/soc/codecs/wm8958-dsp2.c | 14 +- trunk/sound/soc/codecs/wm8960.c | 2 +- trunk/sound/soc/codecs/wm8961.c | 2 +- trunk/sound/soc/codecs/wm8962.c | 2141 +++++---- trunk/sound/soc/codecs/wm8971.c | 37 +- trunk/sound/soc/codecs/wm8974.c | 45 +- trunk/sound/soc/codecs/wm8978.c | 185 +- trunk/sound/soc/codecs/wm8978.h | 2 - trunk/sound/soc/codecs/wm8983.c | 5 + trunk/sound/soc/codecs/wm8985.c | 315 +- trunk/sound/soc/codecs/wm8988.c | 171 +- trunk/sound/soc/codecs/wm8990.c | 2 +- trunk/sound/soc/codecs/wm8991.c | 2 +- trunk/sound/soc/codecs/wm8993.c | 649 +-- trunk/sound/soc/codecs/wm8993.h | 9 - trunk/sound/soc/codecs/wm8994.c | 548 +-- trunk/sound/soc/codecs/wm8994.h | 14 +- trunk/sound/soc/codecs/wm8995.c | 4 +- trunk/sound/soc/codecs/wm8996.c | 253 +- trunk/sound/soc/codecs/wm9081.c | 80 +- trunk/sound/soc/codecs/wm9090.c | 272 +- trunk/sound/soc/codecs/wm9705.c | 2 +- trunk/sound/soc/codecs/wm9712.c | 16 +- trunk/sound/soc/codecs/wm9713.c | 2 +- trunk/sound/soc/codecs/wm_hubs.c | 152 +- trunk/sound/soc/codecs/wm_hubs.h | 12 - trunk/sound/soc/davinci/davinci-pcm.c | 4 +- trunk/sound/soc/ep93xx/Kconfig | 1 - trunk/sound/soc/ep93xx/edb93xx.c | 4 +- trunk/sound/soc/ep93xx/ep93xx-pcm.c | 152 +- trunk/sound/soc/ep93xx/snappercl15.c | 4 +- trunk/sound/soc/fsl/fsl_dma.c | 10 +- trunk/sound/soc/fsl/fsl_ssi.c | 6 +- trunk/sound/soc/fsl/mpc5200_dma.c | 17 +- trunk/sound/soc/fsl/mpc8610_hpcd.c | 18 +- trunk/sound/soc/fsl/p1022_ds.c | 60 +- trunk/sound/soc/imx/Kconfig | 25 +- trunk/sound/soc/imx/Makefile | 15 +- trunk/sound/soc/imx/eukrea-tlv320.c | 40 +- trunk/sound/soc/imx/imx-audmux.h | 60 - trunk/sound/soc/imx/imx-pcm-dma-mx2.c | 223 +- trunk/sound/soc/imx/imx-pcm.c | 105 - trunk/sound/soc/imx/imx-pcm.h | 32 - trunk/sound/soc/imx/imx-ssi.c | 118 +- trunk/sound/soc/imx/imx-ssi.h | 16 +- trunk/sound/soc/imx/mx27vis-aic32x4.c | 159 +- trunk/sound/soc/imx/phycore-ac97.c | 27 +- trunk/sound/soc/imx/wm1133-ev1.c | 25 +- trunk/sound/soc/jz4740/qi_lb60.c | 56 +- trunk/sound/soc/kirkwood/kirkwood-dma.c | 4 +- trunk/sound/soc/kirkwood/kirkwood-openrd.c | 46 +- trunk/sound/soc/kirkwood/kirkwood-t5325.c | 47 +- trunk/sound/soc/mid-x86/mfld_machine.c | 2 +- trunk/sound/soc/mxs/Kconfig | 2 +- trunk/sound/soc/mxs/mxs-pcm.c | 157 +- trunk/sound/soc/mxs/mxs-pcm.h | 16 + trunk/sound/soc/mxs/mxs-saif.c | 51 +- trunk/sound/soc/omap/Kconfig | 15 +- trunk/sound/soc/omap/Makefile | 6 +- trunk/sound/soc/omap/am3517evm.c | 2 +- trunk/sound/soc/omap/ams-delta.c | 4 +- trunk/sound/soc/omap/igep0020.c | 2 +- trunk/sound/soc/omap/mcbsp.h | 346 -- trunk/sound/soc/omap/n810.c | 19 +- trunk/sound/soc/omap/omap-abe-twl6040.c | 349 -- trunk/sound/soc/omap/omap-dmic.c | 7 +- trunk/sound/soc/omap/omap-mcbsp.c | 321 +- trunk/sound/soc/omap/omap-mcbsp.h | 2 +- trunk/sound/soc/omap/omap-mcpdm.c | 2 - trunk/sound/soc/omap/omap-pcm.h | 2 - trunk/sound/soc/omap/omap3beagle.c | 2 +- trunk/sound/soc/omap/omap3evm.c | 2 +- trunk/sound/soc/omap/omap3pandora.c | 4 +- trunk/sound/soc/omap/osk5912.c | 2 +- trunk/sound/soc/omap/overo.c | 2 +- trunk/sound/soc/omap/rx51.c | 27 +- trunk/sound/soc/omap/sdp3430.c | 4 +- trunk/sound/soc/omap/sdp4430.c | 279 ++ trunk/sound/soc/omap/zoom2.c | 4 +- trunk/sound/soc/pxa/corgi.c | 14 +- trunk/sound/soc/pxa/magician.c | 2 +- trunk/sound/soc/pxa/poodle.c | 14 +- trunk/sound/soc/pxa/pxa-ssp.c | 64 +- trunk/sound/soc/pxa/pxa2xx-ac97.c | 10 +- trunk/sound/soc/pxa/raumfeld.c | 2 +- trunk/sound/soc/pxa/spitz.c | 14 +- trunk/sound/soc/pxa/tosa.c | 2 +- trunk/sound/soc/s6000/s6000-pcm.c | 5 +- trunk/sound/soc/samsung/ac97.c | 4 +- trunk/sound/soc/samsung/dma.c | 2 +- trunk/sound/soc/samsung/i2s.c | 27 +- trunk/sound/soc/samsung/i2s.h | 2 +- trunk/sound/soc/samsung/littlemill.c | 3 - trunk/sound/soc/samsung/neo1973_wm8753.c | 4 +- trunk/sound/soc/samsung/pcm.c | 4 +- trunk/sound/soc/samsung/s3c24xx_simtec.c | 6 +- trunk/sound/soc/samsung/smdk_wm8580.c | 4 +- trunk/sound/soc/samsung/smdk_wm9713.c | 4 +- trunk/sound/soc/sh/fsi.c | 912 ++-- trunk/sound/soc/soc-core.c | 399 +- trunk/sound/soc/soc-dapm.c | 400 +- trunk/sound/soc/soc-dmaengine-pcm.c | 288 -- trunk/sound/soc/soc-io.c | 7 - trunk/sound/soc/soc-pcm.c | 104 +- trunk/sound/soc/soc-utils.c | 20 +- trunk/sound/soc/tegra/tegra_alc5632.c | 129 +- trunk/sound/soc/tegra/tegra_pcm.c | 2 +- trunk/sound/spi/at73c213.c | 12 +- trunk/sound/usb/6fire/chip.c | 3 +- trunk/sound/usb/6fire/chip.h | 1 + trunk/sound/usb/6fire/comm.c | 1 + trunk/sound/usb/6fire/comm.h | 1 + trunk/sound/usb/6fire/common.h | 1 + trunk/sound/usb/6fire/control.c | 341 +- trunk/sound/usb/6fire/control.h | 7 +- trunk/sound/usb/6fire/firmware.c | 1 + trunk/sound/usb/6fire/midi.c | 1 + trunk/sound/usb/6fire/midi.h | 1 + trunk/sound/usb/6fire/pcm.c | 1 + trunk/sound/usb/6fire/pcm.h | 1 + trunk/sound/usb/Kconfig | 1 - trunk/sound/usb/pcm.c | 6 +- trunk/sound/usb/usx2y/usbusx2yaudio.c | 4 +- trunk/sound/usb/usx2y/usx2yhwdeppcm.c | 2 +- trunk/tools/include/tools/be_byteshift.h | 70 - trunk/tools/include/tools/le_byteshift.h | 70 - trunk/tools/testing/ktest/ktest.pl | 56 +- trunk/tools/testing/ktest/sample.conf | 14 +- trunk/tools/usb/Makefile | 2 +- trunk/tools/usb/ffs-test.c | 29 +- 2200 files changed, 73990 insertions(+), 123888 deletions(-) create mode 100644 trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache delete mode 100644 trunk/Documentation/EDID/1024x768.S delete mode 100644 trunk/Documentation/EDID/1280x1024.S delete mode 100644 trunk/Documentation/EDID/1680x1050.S delete mode 100644 trunk/Documentation/EDID/1920x1080.S delete mode 100644 trunk/Documentation/EDID/HOWTO.txt delete mode 100644 trunk/Documentation/EDID/Makefile delete mode 100644 trunk/Documentation/EDID/edid.S delete mode 100644 trunk/Documentation/EDID/hex delete mode 100644 trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt delete mode 100644 trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic-msgr.txt delete mode 100644 trunk/Documentation/devicetree/bindings/sound/alc5632.txt delete mode 100644 trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt rename trunk/Documentation/devicetree/bindings/sound/{sgtl5000.txt => soc/codecs/fsl-sgtl5000.txt} (100%) delete mode 100644 trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt delete mode 100644 trunk/Documentation/filesystems/qnx6.txt delete mode 100644 trunk/Documentation/powerpc/firmware-assisted-dump.txt create mode 100644 trunk/Documentation/powerpc/phyp-assisted-dump.txt delete mode 100644 trunk/Documentation/scsi/bfa.txt delete mode 100644 trunk/arch/arm/mach-tegra/include/mach/pinconf-tegra.h create mode 100644 trunk/arch/arm/plat-mxc/audmux-v1.c rename trunk/{sound/soc/imx/imx-audmux.c => arch/arm/plat-mxc/audmux-v2.c} (52%) create mode 100644 trunk/arch/arm/plat-mxc/include/mach/audmux.h create mode 100644 trunk/arch/arm/plat-omap/fb.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/blizzard.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/hwa742.h rename trunk/{sound/soc/omap => arch/arm/plat-omap}/mcbsp.c (66%) delete mode 100644 trunk/arch/blackfin/include/asm/barrier.h delete mode 100644 trunk/arch/blackfin/include/asm/cmpxchg.h delete mode 100644 trunk/arch/blackfin/include/asm/exec.h delete mode 100644 trunk/arch/blackfin/include/asm/switch_to.h rename trunk/arch/blackfin/kernel/{bfin_dma.c => bfin_dma_5xx.c} (98%) create mode 100644 trunk/arch/m68k/kernel/process_mm.c create mode 100644 trunk/arch/m68k/kernel/process_no.c create mode 100644 trunk/arch/m68k/kernel/ptrace_mm.c create mode 100644 trunk/arch/m68k/kernel/ptrace_no.c create mode 100644 trunk/arch/m68k/kernel/time_mm.c create mode 100644 trunk/arch/m68k/kernel/time_no.c delete mode 100644 trunk/arch/m68k/platform/coldfire/device.c delete mode 100644 trunk/arch/m68k/platform/coldfire/reset.c delete mode 100644 trunk/arch/powerpc/boot/dts/a4m072.dts delete mode 100644 trunk/arch/powerpc/boot/dts/ge_imp3a.dts create mode 100644 trunk/arch/powerpc/boot/dts/mpc8548cds.dts delete mode 100644 trunk/arch/powerpc/boot/dts/mpc8548cds.dtsi delete mode 100644 trunk/arch/powerpc/boot/dts/mpc8548cds_32b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/mpc8548cds_36b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1020rdb-pc.dtsi delete mode 100644 trunk/arch/powerpc/boot/dts/p1020rdb-pc_32b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1020rdb-pc_36b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1020rdb-pc_camp_core0.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1020rdb-pc_camp_core1.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1021rdb.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1021rdb.dtsi delete mode 100644 trunk/arch/powerpc/boot/dts/p1021rdb_36b.dts create mode 100644 trunk/arch/powerpc/boot/dts/p1022ds.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1022ds.dtsi delete mode 100644 trunk/arch/powerpc/boot/dts/p1022ds_32b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1022ds_36b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1025rdb.dtsi delete mode 100644 trunk/arch/powerpc/boot/dts/p1025rdb_32b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p1025rdb_36b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p2020rdb-pc.dtsi delete mode 100644 trunk/arch/powerpc/boot/dts/p2020rdb-pc_32b.dts delete mode 100644 trunk/arch/powerpc/boot/dts/p2020rdb-pc_36b.dts delete mode 100644 trunk/arch/powerpc/configs/85xx/ge_imp3a_defconfig create mode 100644 trunk/arch/powerpc/configs/iseries_defconfig delete mode 100644 trunk/arch/powerpc/include/asm/fadump.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/alpaca.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/hv_call.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/hv_call_event.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/hv_call_sc.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/hv_call_xm.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/hv_lp_config.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/hv_lp_event.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/hv_types.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/iommu.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/it_lp_queue.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/lpar_map.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/mf.h create mode 100644 trunk/arch/powerpc/include/asm/iseries/vio.h delete mode 100644 trunk/arch/powerpc/include/asm/mpic_msgr.h create mode 100644 trunk/arch/powerpc/include/asm/phyp_dump.h rename trunk/arch/powerpc/{perf => kernel}/e500-pmu.c (100%) delete mode 100644 trunk/arch/powerpc/kernel/fadump.c rename trunk/arch/powerpc/{perf => kernel}/mpc7450-pmu.c (100%) rename trunk/arch/powerpc/{perf/callchain.c => kernel/perf_callchain.c} (99%) rename trunk/arch/powerpc/{perf/core-book3s.c => kernel/perf_event.c} (100%) rename trunk/arch/powerpc/{perf/core-fsl-emb.c => kernel/perf_event_fsl_emb.c} (100%) rename trunk/arch/powerpc/{perf => kernel}/power4-pmu.c (100%) rename trunk/arch/powerpc/{perf => kernel}/power5+-pmu.c (100%) rename trunk/arch/powerpc/{perf => kernel}/power5-pmu.c (100%) rename trunk/arch/powerpc/{perf => kernel}/power6-pmu.c (99%) rename trunk/arch/powerpc/{perf => kernel}/power7-pmu.c (100%) rename trunk/arch/powerpc/{perf => kernel}/ppc970-pmu.c (99%) delete mode 100644 trunk/arch/powerpc/perf/Makefile delete mode 100644 trunk/arch/powerpc/platforms/85xx/ge_imp3a.c rename trunk/{drivers/gpio/gpio-ge.c => arch/powerpc/platforms/86xx/gef_gpio.c} (83%) rename trunk/arch/powerpc/{sysdev/ge/ge_pic.c => platforms/86xx/gef_pic.c} (99%) rename trunk/arch/powerpc/{sysdev/ge/ge_pic.h => platforms/86xx/gef_pic.h} (100%) create mode 100644 trunk/arch/powerpc/platforms/iseries/Kconfig create mode 100644 trunk/arch/powerpc/platforms/iseries/Makefile create mode 100644 trunk/arch/powerpc/platforms/iseries/call_hpt.h create mode 100644 trunk/arch/powerpc/platforms/iseries/call_pci.h create mode 100644 trunk/arch/powerpc/platforms/iseries/call_sm.h create mode 100644 trunk/arch/powerpc/platforms/iseries/dt.c create mode 100644 trunk/arch/powerpc/platforms/iseries/exception.S create mode 100644 trunk/arch/powerpc/platforms/iseries/exception.h create mode 100644 trunk/arch/powerpc/platforms/iseries/htab.c create mode 100644 trunk/arch/powerpc/platforms/iseries/hvcall.S create mode 100644 trunk/arch/powerpc/platforms/iseries/hvlog.c create mode 100644 trunk/arch/powerpc/platforms/iseries/hvlpconfig.c create mode 100644 trunk/arch/powerpc/platforms/iseries/iommu.c create mode 100644 trunk/arch/powerpc/platforms/iseries/ipl_parms.h create mode 100644 trunk/arch/powerpc/platforms/iseries/irq.c create mode 100644 trunk/arch/powerpc/platforms/iseries/irq.h create mode 100644 trunk/arch/powerpc/platforms/iseries/it_exp_vpd_panel.h create mode 100644 trunk/arch/powerpc/platforms/iseries/it_lp_naca.h create mode 100644 trunk/arch/powerpc/platforms/iseries/ksyms.c create mode 100644 trunk/arch/powerpc/platforms/iseries/lpardata.c create mode 100644 trunk/arch/powerpc/platforms/iseries/lpevents.c create mode 100644 trunk/arch/powerpc/platforms/iseries/main_store.h create mode 100644 trunk/arch/powerpc/platforms/iseries/mf.c create mode 100644 trunk/arch/powerpc/platforms/iseries/misc.S create mode 100644 trunk/arch/powerpc/platforms/iseries/naca.h create mode 100644 trunk/arch/powerpc/platforms/iseries/pci.c create mode 100644 trunk/arch/powerpc/platforms/iseries/pci.h create mode 100644 trunk/arch/powerpc/platforms/iseries/proc.c create mode 100644 trunk/arch/powerpc/platforms/iseries/processor_vpd.h create mode 100644 trunk/arch/powerpc/platforms/iseries/release_data.h create mode 100644 trunk/arch/powerpc/platforms/iseries/setup.c create mode 100644 trunk/arch/powerpc/platforms/iseries/setup.h create mode 100644 trunk/arch/powerpc/platforms/iseries/smp.c create mode 100644 trunk/arch/powerpc/platforms/iseries/spcomm_area.h create mode 100644 trunk/arch/powerpc/platforms/iseries/vio.c create mode 100644 trunk/arch/powerpc/platforms/iseries/viopath.c create mode 100644 trunk/arch/powerpc/platforms/iseries/vpd_areas.h delete mode 100644 trunk/arch/powerpc/platforms/pseries/eeh_dev.c delete mode 100644 trunk/arch/powerpc/platforms/pseries/eeh_pseries.c create mode 100644 trunk/arch/powerpc/platforms/pseries/phyp_dump.c delete mode 100644 trunk/arch/powerpc/sysdev/ge/Makefile delete mode 100644 trunk/arch/powerpc/sysdev/mpic_msgr.c delete mode 100644 trunk/arch/s390/include/asm/os_info.h create mode 100644 trunk/arch/s390/include/asm/sigp.h delete mode 100644 trunk/arch/s390/kernel/lgr.c delete mode 100644 trunk/arch/s390/kernel/os_info.c create mode 100644 trunk/arch/s390/kernel/switch_cpu.S create mode 100644 trunk/arch/s390/kernel/switch_cpu64.S delete mode 100644 trunk/arch/x86/include/asm/fpu-internal.h delete mode 100644 trunk/arch/x86/platform/geode/net5501.c create mode 100644 trunk/arch/x86/platform/mrst/pmu.c create mode 100644 trunk/arch/x86/platform/mrst/pmu.h create mode 100644 trunk/drivers/block/viodasd.c create mode 100644 trunk/drivers/cdrom/viocd.c create mode 100644 trunk/drivers/char/viotape.c delete mode 100644 trunk/drivers/gpu/drm/drm_edid_load.c delete mode 100644 trunk/drivers/gpu/drm/exynos/exynos_drm_vidi.c delete mode 100644 trunk/drivers/gpu/drm/exynos/exynos_drm_vidi.h create mode 100644 trunk/drivers/gpu/drm/exynos/exynos_mixer.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_device.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_output.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_output.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_intel_display.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_output.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_output.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_tmd_vid.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_tpo_vid.c delete mode 100644 trunk/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c delete mode 100644 trunk/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.h create mode 100644 trunk/drivers/gpu/drm/i915/i915_mem.c delete mode 100644 trunk/drivers/gpu/drm/nouveau/nv20_fb.c delete mode 100644 trunk/drivers/gpu/drm/radeon/atombios_i2c.c delete mode 100644 trunk/drivers/gpu/drm/radeon/radeon_blit_common.h delete mode 100644 trunk/drivers/gpu/drm/radeon/si.c delete mode 100644 trunk/drivers/gpu/drm/radeon/si_blit_shaders.c delete mode 100644 trunk/drivers/gpu/drm/radeon/si_blit_shaders.h delete mode 100644 trunk/drivers/gpu/drm/radeon/si_reg.h delete mode 100644 trunk/drivers/gpu/drm/radeon/sid.h delete mode 100644 trunk/drivers/gpu/drm/udl/Kconfig delete mode 100644 trunk/drivers/gpu/drm/udl/Makefile delete mode 100644 trunk/drivers/gpu/drm/udl/udl_connector.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_drv.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_drv.h delete mode 100644 trunk/drivers/gpu/drm/udl/udl_encoder.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_fb.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_gem.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_main.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_modeset.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_transfer.c delete mode 100644 trunk/drivers/input/misc/da9052_onkey.c delete mode 100644 trunk/drivers/input/misc/max8997_haptic.c delete mode 100644 trunk/drivers/input/mouse/synaptics_usb.c delete mode 100644 trunk/drivers/input/of_keymap.c delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_core.c delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_core.h delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_i2c.c delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_spi.c delete mode 100644 trunk/drivers/input/touchscreen/ili210x.c delete mode 100644 trunk/drivers/input/touchscreen/ti_tscadc.c create mode 100644 trunk/drivers/leds/leds-net5501.c delete mode 100644 trunk/drivers/mtd/nand/fsl_ifc_nand.c delete mode 100644 trunk/drivers/pinctrl/pinconf-generic.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-coh901.h delete mode 100644 trunk/drivers/pinctrl/pinctrl-mmp2.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa168.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa3xx.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa3xx.h delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa910.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra.h delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra20.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra30.c create mode 100644 trunk/drivers/platform/x86/intel_rar_register.c create mode 100644 trunk/drivers/s390/crypto/zcrypt_mono.c create mode 100644 trunk/drivers/scsi/ibmvscsi/iseries_vscsi.c delete mode 100644 trunk/drivers/scsi/virtio_scsi.c create mode 100644 trunk/drivers/tty/hvc/hvc_iseries.c delete mode 100644 trunk/drivers/video/exynos/Kconfig delete mode 100644 trunk/drivers/video/exynos/Makefile delete mode 100644 trunk/drivers/video/exynos/exynos_dp_core.c delete mode 100644 trunk/drivers/video/exynos/exynos_dp_core.h delete mode 100644 trunk/drivers/video/exynos/exynos_dp_reg.c delete mode 100644 trunk/drivers/video/exynos/exynos_dp_reg.h delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi.c delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_common.c delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_common.h delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_lowlevel.c delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_lowlevel.h delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_regs.h delete mode 100644 trunk/drivers/video/exynos/s6e8ax0.c delete mode 100644 trunk/drivers/video/exynos/s6e8ax0.h delete mode 100644 trunk/drivers/video/i740_reg.h delete mode 100644 trunk/drivers/video/i740fb.c create mode 100644 trunk/drivers/video/omap/blizzard.c create mode 100644 trunk/drivers/video/omap/dispc.c create mode 100644 trunk/drivers/video/omap/dispc.h create mode 100644 trunk/drivers/video/omap/rfbi.c delete mode 100644 trunk/drivers/video/via/via_aux.c delete mode 100644 trunk/drivers/video/via/via_aux.h delete mode 100644 trunk/drivers/video/via/via_aux_ch7301.c delete mode 100644 trunk/drivers/video/via/via_aux_edid.c delete mode 100644 trunk/drivers/video/via/via_aux_sii164.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1621.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1622.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1625.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1631.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1632.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1636.c delete mode 100644 trunk/drivers/xen/xen-acpi-processor.c delete mode 100644 trunk/fs/lockd/netns.h delete mode 100644 trunk/fs/nfs/netns.h delete mode 100644 trunk/fs/qnx6/Kconfig delete mode 100644 trunk/fs/qnx6/Makefile delete mode 100644 trunk/fs/qnx6/README delete mode 100644 trunk/fs/qnx6/dir.c delete mode 100644 trunk/fs/qnx6/inode.c delete mode 100644 trunk/fs/qnx6/namei.c delete mode 100644 trunk/fs/qnx6/qnx6.h delete mode 100644 trunk/fs/qnx6/super_mmi.c delete mode 100644 trunk/fs/reiserfs/reiserfs.h delete mode 100644 trunk/fs/reiserfs/xattr.h create mode 100644 trunk/fs/xfs/xfs_qm_stats.c create mode 100644 trunk/fs/xfs/xfs_qm_stats.h delete mode 100644 trunk/include/linux/i2c/tc35876x.h delete mode 100644 trunk/include/linux/input/cyttsp.h delete mode 100644 trunk/include/linux/input/ili210x.h delete mode 100644 trunk/include/linux/input/ti_tscadc.h delete mode 100644 trunk/include/linux/pinctrl/consumer.h delete mode 100644 trunk/include/linux/pinctrl/pinconf-generic.h delete mode 100644 trunk/include/linux/pinctrl/pinctrl-state.h delete mode 100644 trunk/include/linux/platform_data/omap-abe-twl6040.h delete mode 100644 trunk/include/linux/platform_data/omap4-keypad.h delete mode 100644 trunk/include/linux/qnx6_fs.h create mode 100644 trunk/include/linux/rar_register.h rename trunk/{fs/reiserfs/acl.h => include/linux/reiserfs_acl.h} (100%) create mode 100644 trunk/include/linux/reiserfs_fs_i.h create mode 100644 trunk/include/linux/reiserfs_fs_sb.h delete mode 100644 trunk/include/linux/virtio_scsi.h delete mode 100644 trunk/include/scsi/fc/fc_ms.h delete mode 100644 trunk/include/sound/dmaengine_pcm.h delete mode 100644 trunk/include/sound/max9768.h delete mode 100644 trunk/include/sound/wm2200.h delete mode 100644 trunk/include/trace/events/sunrpc.h delete mode 100644 trunk/include/video/exynos_dp.h delete mode 100644 trunk/include/video/exynos_mipi_dsim.h create mode 100644 trunk/sound/pci/hda/alc260_quirks.c create mode 100644 trunk/sound/pci/hda/alc880_quirks.c create mode 100644 trunk/sound/pci/hda/alc882_quirks.c create mode 100644 trunk/sound/pci/hda/alc_quirks.c delete mode 100644 trunk/sound/soc/codecs/max9768.c delete mode 100644 trunk/sound/soc/codecs/wm2200.c delete mode 100644 trunk/sound/soc/codecs/wm2200.h delete mode 100644 trunk/sound/soc/imx/imx-audmux.h delete mode 100644 trunk/sound/soc/imx/imx-pcm.c delete mode 100644 trunk/sound/soc/imx/imx-pcm.h delete mode 100644 trunk/sound/soc/omap/mcbsp.h delete mode 100644 trunk/sound/soc/omap/omap-abe-twl6040.c create mode 100644 trunk/sound/soc/omap/sdp4430.c delete mode 100644 trunk/sound/soc/soc-dmaengine-pcm.c delete mode 100644 trunk/tools/include/tools/be_byteshift.h delete mode 100644 trunk/tools/include/tools/le_byteshift.h diff --git a/[refs] b/[refs] index 533c25eecb98..1da0e28f1be3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a20ae85abaefb02cc0edf19c34f78d19437c1cf1 +refs/heads/master: 2a2a459eeeff48640dc557548ce576d666ab06ed diff --git a/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache b/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache new file mode 100644 index 000000000000..662ae646ea12 --- /dev/null +++ b/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache @@ -0,0 +1,11 @@ +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/DocBook/kgdb.tmpl b/trunk/Documentation/DocBook/kgdb.tmpl index 4ee4ba3509fc..d71b57fcf116 100644 --- a/trunk/Documentation/DocBook/kgdb.tmpl +++ b/trunk/Documentation/DocBook/kgdb.tmpl @@ -361,23 +361,6 @@ It is possible to use this option with kgdboc on a tty that is not a system console. - - - Run time parameter: kgdbreboot - The kgdbreboot feature allows you to change how the debugger - deals with the reboot notification. You have 3 choices for the - behavior. The default behavior is always set to 0. - - echo -1 > /sys/module/debug_core/parameters/kgdbreboot - Ignore the reboot notification entirely. - - echo 0 > /sys/module/debug_core/parameters/kgdbreboot - Send the detach message to any attached debugger client. - - echo 1 > /sys/module/debug_core/parameters/kgdbreboot - Enter the debugger on reboot notify. - - diff --git a/trunk/Documentation/EDID/1024x768.S b/trunk/Documentation/EDID/1024x768.S deleted file mode 100644 index 4b486fe31b32..000000000000 --- a/trunk/Documentation/EDID/1024x768.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1024x768.S: EDID data set for standard 1024x768 60 Hz monitor - - Copyright (C) 2011 Carsten Emde - - 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 65000 /* kHz */ -#define XPIX 1024 -#define YPIX 768 -#define XY_RATIO XY_RATIO_4_3 -#define XBLANK 320 -#define YBLANK 38 -#define XOFFSET 8 -#define XPULSE 144 -#define YOFFSET (63+3) -#define YPULSE (63+6) -#define DPI 72 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux XGA" -#define ESTABLISHED_TIMINGS_BITS 0x08 /* Bit 3 -> 1024x768 @60 Hz */ -#define HSYNC_POL 0 -#define VSYNC_POL 0 -#define CRC 0x55 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/1280x1024.S b/trunk/Documentation/EDID/1280x1024.S deleted file mode 100644 index a2799fe33a4d..000000000000 --- a/trunk/Documentation/EDID/1280x1024.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1280x1024.S: EDID data set for standard 1280x1024 60 Hz monitor - - Copyright (C) 2011 Carsten Emde - - 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 108000 /* kHz */ -#define XPIX 1280 -#define YPIX 1024 -#define XY_RATIO XY_RATIO_5_4 -#define XBLANK 408 -#define YBLANK 42 -#define XOFFSET 48 -#define XPULSE 112 -#define YOFFSET (63+1) -#define YPULSE (63+3) -#define DPI 72 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux SXGA" -#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */ -#define HSYNC_POL 1 -#define VSYNC_POL 1 -#define CRC 0xa0 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/1680x1050.S b/trunk/Documentation/EDID/1680x1050.S deleted file mode 100644 index 96f67cafcf2e..000000000000 --- a/trunk/Documentation/EDID/1680x1050.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1680x1050.S: EDID data set for standard 1680x1050 60 Hz monitor - - Copyright (C) 2012 Carsten Emde - - 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 146250 /* kHz */ -#define XPIX 1680 -#define YPIX 1050 -#define XY_RATIO XY_RATIO_16_10 -#define XBLANK 560 -#define YBLANK 39 -#define XOFFSET 104 -#define XPULSE 176 -#define YOFFSET (63+3) -#define YPULSE (63+6) -#define DPI 96 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux WSXGA" -#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */ -#define HSYNC_POL 1 -#define VSYNC_POL 1 -#define CRC 0x26 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/1920x1080.S b/trunk/Documentation/EDID/1920x1080.S deleted file mode 100644 index 36ed5d571d0a..000000000000 --- a/trunk/Documentation/EDID/1920x1080.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1920x1080.S: EDID data set for standard 1920x1080 60 Hz monitor - - Copyright (C) 2012 Carsten Emde - - 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 148500 /* kHz */ -#define XPIX 1920 -#define YPIX 1080 -#define XY_RATIO XY_RATIO_16_9 -#define XBLANK 280 -#define YBLANK 45 -#define XOFFSET 88 -#define XPULSE 44 -#define YOFFSET (63+4) -#define YPULSE (63+5) -#define DPI 96 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux FHD" -#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */ -#define HSYNC_POL 1 -#define VSYNC_POL 1 -#define CRC 0x05 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/HOWTO.txt b/trunk/Documentation/EDID/HOWTO.txt deleted file mode 100644 index 75a9f2a0c43d..000000000000 --- a/trunk/Documentation/EDID/HOWTO.txt +++ /dev/null @@ -1,39 +0,0 @@ -In the good old days when graphics parameters were configured explicitly -in a file called xorg.conf, even broken hardware could be managed. - -Today, with the advent of Kernel Mode Setting, a graphics board is -either correctly working because all components follow the standards - -or the computer is unusable, because the screen remains dark after -booting or it displays the wrong area. Cases when this happens are: -- The graphics board does not recognize the monitor. -- The graphics board is unable to detect any EDID data. -- The graphics board incorrectly forwards EDID data to the driver. -- The monitor sends no or bogus EDID data. -- A KVM sends its own EDID data instead of querying the connected monitor. -Adding the kernel parameter "nomodeset" helps in most cases, but causes -restrictions later on. - -As a remedy for such situations, the kernel configuration item -CONFIG_DRM_LOAD_EDID_FIRMWARE was introduced. It allows to provide an -individually prepared or corrected EDID data set in the /lib/firmware -directory from where it is loaded via the firmware interface. The code -(see drivers/gpu/drm/drm_edid_load.c) contains built-in data sets for -commonly used screen resolutions (1024x768, 1280x1024, 1680x1050, -1920x1080) as binary blobs, but the kernel source tree does not contain -code to create these data. In order to elucidate the origin of the -built-in binary EDID blobs and to facilitate the creation of individual -data for a specific misbehaving monitor, commented sources and a -Makefile environment are given here. - -To create binary EDID and C source code files from the existing data -material, simply type "make". - -If you want to create your own EDID file, copy the file 1024x768.S and -replace the settings with your own data. The CRC value in the last line - #define CRC 0x55 -is a bit tricky. After a first version of the binary data set is -created, it must be be checked with the "edid-decode" utility which will -most probably complain about a wrong CRC. Fortunately, the utility also -displays the correct CRC which must then be inserted into the source -file. After the make procedure is repeated, the EDID data set is ready -to be used. diff --git a/trunk/Documentation/EDID/Makefile b/trunk/Documentation/EDID/Makefile deleted file mode 100644 index 17763ca3f12b..000000000000 --- a/trunk/Documentation/EDID/Makefile +++ /dev/null @@ -1,26 +0,0 @@ - -SOURCES := $(wildcard [0-9]*x[0-9]*.S) - -BIN := $(patsubst %.S, %.bin, $(SOURCES)) - -IHEX := $(patsubst %.S, %.bin.ihex, $(SOURCES)) - -CODE := $(patsubst %.S, %.c, $(SOURCES)) - -all: $(BIN) $(IHEX) $(CODE) - -clean: - @rm -f *.o *.bin.ihex *.bin *.c - -%.o: %.S - @cc -c $^ - -%.bin: %.o - @objcopy -Obinary $^ $@ - -%.bin.ihex: %.o - @objcopy -Oihex $^ $@ - @dos2unix $@ 2>/dev/null - -%.c: %.bin - @echo "{" >$@; hexdump -f hex $^ >>$@; echo "};" >>$@ diff --git a/trunk/Documentation/EDID/edid.S b/trunk/Documentation/EDID/edid.S deleted file mode 100644 index ea97ae275fca..000000000000 --- a/trunk/Documentation/EDID/edid.S +++ /dev/null @@ -1,261 +0,0 @@ -/* - edid.S: EDID data template - - Copyright (C) 2012 Carsten Emde - - 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - - -/* Manufacturer */ -#define MFG_LNX1 'L' -#define MFG_LNX2 'N' -#define MFG_LNX3 'X' -#define SERIAL 0 -#define YEAR 2012 -#define WEEK 5 - -/* EDID 1.3 standard definitions */ -#define XY_RATIO_16_10 0b00 -#define XY_RATIO_4_3 0b01 -#define XY_RATIO_5_4 0b10 -#define XY_RATIO_16_9 0b11 - -#define mfgname2id(v1,v2,v3) \ - ((((v1-'@')&0x1f)<<10)+(((v2-'@')&0x1f)<<5)+((v3-'@')&0x1f)) -#define swap16(v1) ((v1>>8)+((v1&0xff)<<8)) -#define msbs2(v1,v2) ((((v1>>8)&0x0f)<<4)+((v2>>8)&0x0f)) -#define msbs4(v1,v2,v3,v4) \ - (((v1&0x03)>>2)+((v2&0x03)>>4)+((v3&0x03)>>6)+((v4&0x03)>>8)) -#define pixdpi2mm(pix,dpi) ((pix*25)/dpi) -#define xsize pixdpi2mm(XPIX,DPI) -#define ysize pixdpi2mm(YPIX,DPI) - - .data - -/* Fixed header pattern */ -header: .byte 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00 - -mfg_id: .word swap16(mfgname2id(MFG_LNX1, MFG_LNX2, MFG_LNX3)) - -prod_code: .word 0 - -/* Serial number. 32 bits, little endian. */ -serial_number: .long SERIAL - -/* Week of manufacture */ -week: .byte WEEK - -/* Year of manufacture, less 1990. (1990-2245) - If week=255, it is the model year instead */ -year: .byte YEAR-1990 - -version: .byte VERSION /* EDID version, usually 1 (for 1.3) */ -revision: .byte REVISION /* EDID revision, usually 3 (for 1.3) */ - -/* If Bit 7=1 Digital input. If set, the following bit definitions apply: - Bits 6-1 Reserved, must be 0 - Bit 0 Signal is compatible with VESA DFP 1.x TMDS CRGB, - 1 pixel per clock, up to 8 bits per color, MSB aligned, - If Bit 7=0 Analog input. If clear, the following bit definitions apply: - Bits 6-5 Video white and sync levels, relative to blank - 00=+0.7/-0.3 V; 01=+0.714/-0.286 V; - 10=+1.0/-0.4 V; 11=+0.7/0 V - Bit 4 Blank-to-black setup (pedestal) expected - Bit 3 Separate sync supported - Bit 2 Composite sync (on HSync) supported - Bit 1 Sync on green supported - Bit 0 VSync pulse must be serrated when somposite or - sync-on-green is used. */ -video_parms: .byte 0x6d - -/* Maximum horizontal image size, in centimetres - (max 292 cm/115 in at 16:9 aspect ratio) */ -max_hor_size: .byte xsize/10 - -/* Maximum vertical image size, in centimetres. - If either byte is 0, undefined (e.g. projector) */ -max_vert_size: .byte ysize/10 - -/* Display gamma, minus 1, times 100 (range 1.00-3.5 */ -gamma: .byte 120 - -/* Bit 7 DPMS standby supported - Bit 6 DPMS suspend supported - Bit 5 DPMS active-off supported - Bits 4-3 Display type: 00=monochrome; 01=RGB colour; - 10=non-RGB multicolour; 11=undefined - Bit 2 Standard sRGB colour space. Bytes 25-34 must contain - sRGB standard values. - Bit 1 Preferred timing mode specified in descriptor block 1. - Bit 0 GTF supported with default parameter values. */ -dsp_features: .byte 0xea - -/* Chromaticity coordinates. */ -/* Red and green least-significant bits - Bits 7-6 Red x value least-significant 2 bits - Bits 5-4 Red y value least-significant 2 bits - Bits 3-2 Green x value lst-significant 2 bits - Bits 1-0 Green y value least-significant 2 bits */ -red_green_lsb: .byte 0x5e - -/* Blue and white least-significant 2 bits */ -blue_white_lsb: .byte 0xc0 - -/* Red x value most significant 8 bits. - 0-255 encodes 0-0.996 (255/256); 0-0.999 (1023/1024) with lsbits */ -red_x_msb: .byte 0xa4 - -/* Red y value most significant 8 bits */ -red_y_msb: .byte 0x59 - -/* Green x and y value most significant 8 bits */ -green_x_y_msb: .byte 0x4a,0x98 - -/* Blue x and y value most significant 8 bits */ -blue_x_y_msb: .byte 0x25,0x20 - -/* Default white point x and y value most significant 8 bits */ -white_x_y_msb: .byte 0x50,0x54 - -/* Established timings */ -/* Bit 7 720x400 @ 70 Hz - Bit 6 720x400 @ 88 Hz - Bit 5 640x480 @ 60 Hz - Bit 4 640x480 @ 67 Hz - Bit 3 640x480 @ 72 Hz - Bit 2 640x480 @ 75 Hz - Bit 1 800x600 @ 56 Hz - Bit 0 800x600 @ 60 Hz */ -estbl_timing1: .byte 0x00 - -/* Bit 7 800x600 @ 72 Hz - Bit 6 800x600 @ 75 Hz - Bit 5 832x624 @ 75 Hz - Bit 4 1024x768 @ 87 Hz, interlaced (1024x768) - Bit 3 1024x768 @ 60 Hz - Bit 2 1024x768 @ 72 Hz - Bit 1 1024x768 @ 75 Hz - Bit 0 1280x1024 @ 75 Hz */ -estbl_timing2: .byte ESTABLISHED_TIMINGS_BITS - -/* Bit 7 1152x870 @ 75 Hz (Apple Macintosh II) - Bits 6-0 Other manufacturer-specific display mod */ -estbl_timing3: .byte 0x00 - -/* Standard timing */ -/* X resolution, less 31, divided by 8 (256-2288 pixels) */ -std_xres: .byte (XPIX/8)-31 -/* Y resolution, X:Y pixel ratio - Bits 7-6 X:Y pixel ratio: 00=16:10; 01=4:3; 10=5:4; 11=16:9. - Bits 5-0 Vertical frequency, less 60 (60-123 Hz) */ -std_vres: .byte (XY_RATIO<<6)+VFREQ-60 - .fill 7,2,0x0101 /* Unused */ - -descriptor1: -/* Pixel clock in 10 kHz units. (0.-655.35 MHz, little-endian) */ -clock: .word CLOCK/10 - -/* Horizontal active pixels 8 lsbits (0-4095) */ -x_act_lsb: .byte XPIX&0xff -/* Horizontal blanking pixels 8 lsbits (0-4095) - End of active to start of next active. */ -x_blk_lsb: .byte XBLANK&0xff -/* Bits 7-4 Horizontal active pixels 4 msbits - Bits 3-0 Horizontal blanking pixels 4 msbits */ -x_msbs: .byte msbs2(XPIX,XBLANK) - -/* Vertical active lines 8 lsbits (0-4095) */ -y_act_lsb: .byte YPIX&0xff -/* Vertical blanking lines 8 lsbits (0-4095) */ -y_blk_lsb: .byte YBLANK&0xff -/* Bits 7-4 Vertical active lines 4 msbits - Bits 3-0 Vertical blanking lines 4 msbits */ -y_msbs: .byte msbs2(YPIX,YBLANK) - -/* Horizontal sync offset pixels 8 lsbits (0-1023) From blanking start */ -x_snc_off_lsb: .byte XOFFSET&0xff -/* Horizontal sync pulse width pixels 8 lsbits (0-1023) */ -x_snc_pls_lsb: .byte XPULSE&0xff -/* Bits 7-4 Vertical sync offset lines 4 lsbits -63) - Bits 3-0 Vertical sync pulse width lines 4 lsbits -63) */ -y_snc_lsb: .byte ((YOFFSET-63)<<4)+(YPULSE-63) -/* Bits 7-6 Horizontal sync offset pixels 2 msbits - Bits 5-4 Horizontal sync pulse width pixels 2 msbits - Bits 3-2 Vertical sync offset lines 2 msbits - Bits 1-0 Vertical sync pulse width lines 2 msbits */ -xy_snc_msbs: .byte msbs4(XOFFSET,XPULSE,YOFFSET,YPULSE) - -/* Horizontal display size, mm, 8 lsbits (0-4095 mm, 161 in) */ -x_dsp_size: .byte xsize&0xff - -/* Vertical display size, mm, 8 lsbits (0-4095 mm, 161 in) */ -y_dsp_size: .byte ysize&0xff - -/* Bits 7-4 Horizontal display size, mm, 4 msbits - Bits 3-0 Vertical display size, mm, 4 msbits */ -dsp_size_mbsb: .byte msbs2(xsize,ysize) - -/* Horizontal border pixels (each side; total is twice this) */ -x_border: .byte 0 -/* Vertical border lines (each side; total is twice this) */ -y_border: .byte 0 - -/* Bit 7 Interlaced - Bits 6-5 Stereo mode: 00=No stereo; other values depend on bit 0: - Bit 0=0: 01=Field sequential, sync=1 during right; 10=similar, - sync=1 during left; 11=4-way interleaved stereo - Bit 0=1 2-way interleaved stereo: 01=Right image on even lines; - 10=Left image on even lines; 11=side-by-side - Bits 4-3 Sync type: 00=Analog composite; 01=Bipolar analog composite; - 10=Digital composite (on HSync); 11=Digital separate - Bit 2 If digital separate: Vertical sync polarity (1=positive) - Other types: VSync serrated (HSync during VSync) - Bit 1 If analog sync: Sync on all 3 RGB lines (else green only) - Digital: HSync polarity (1=positive) - Bit 0 2-way line-interleaved stereo, if bits 4-3 are not 00. */ -features: .byte 0x18+(VSYNC_POL<<2)+(HSYNC_POL<<1) - -descriptor2: .byte 0,0 /* Not a detailed timing descriptor */ - .byte 0 /* Must be zero */ - .byte 0xff /* Descriptor is monitor serial number (text) */ - .byte 0 /* Must be zero */ -start1: .ascii "Linux #0" -end1: .byte 0x0a /* End marker */ - .fill 12-(end1-start1), 1, 0x20 /* Padded spaces */ -descriptor3: .byte 0,0 /* Not a detailed timing descriptor */ - .byte 0 /* Must be zero */ - .byte 0xfd /* Descriptor is monitor range limits */ - .byte 0 /* Must be zero */ -start2: .byte VFREQ-1 /* Minimum vertical field rate (1-255 Hz) */ - .byte VFREQ+1 /* Maximum vertical field rate (1-255 Hz) */ - .byte (CLOCK/(XPIX+XBLANK))-1 /* Minimum horizontal line rate - (1-255 kHz) */ - .byte (CLOCK/(XPIX+XBLANK))+1 /* Maximum horizontal line rate - (1-255 kHz) */ - .byte (CLOCK/10000)+1 /* Maximum pixel clock rate, rounded up - to 10 MHz multiple (10-2550 MHz) */ - .byte 0 /* No extended timing information type */ -end2: .byte 0x0a /* End marker */ - .fill 12-(end2-start2), 1, 0x20 /* Padded spaces */ -descriptor4: .byte 0,0 /* Not a detailed timing descriptor */ - .byte 0 /* Must be zero */ - .byte 0xfc /* Descriptor is text */ - .byte 0 /* Must be zero */ -start3: .ascii TIMING_NAME -end3: .byte 0x0a /* End marker */ - .fill 12-(end3-start3), 1, 0x20 /* Padded spaces */ -extensions: .byte 0 /* Number of extensions to follow */ -checksum: .byte CRC /* Sum of all bytes must be 0 */ diff --git a/trunk/Documentation/EDID/hex b/trunk/Documentation/EDID/hex deleted file mode 100644 index 8873ebb618af..000000000000 --- a/trunk/Documentation/EDID/hex +++ /dev/null @@ -1 +0,0 @@ -"\t" 8/1 "0x%02x, " "\n" diff --git a/trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt b/trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt deleted file mode 100644 index 3cd8b98ccd2d..000000000000 --- a/trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt +++ /dev/null @@ -1,19 +0,0 @@ -A simple common binding for matrix-connected key boards. Currently targeted at -defining the keys in the scope of linux key codes since that is a stable and -standardized interface at this time. - -Required properties: -- linux,keymap: an array of packed 1-cell entries containing the equivalent - of row, column and linux key-code. The 32-bit big endian cell is packed - as: - row << 24 | column << 16 | key-code - -Optional properties: -Some users of this binding might choose to specify secondary keymaps for -cases where there is a modifier key such as a Fn key. Proposed names -for said properties are "linux,fn-keymap" or with another descriptive -word for the modifier other from "Fn". - -Example: - linux,keymap = < 0x00030012 - 0x0102003a >; diff --git a/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt b/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt index 72683be6de35..5ecfa99089b4 100644 --- a/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt +++ b/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt @@ -3,21 +3,16 @@ Required properties: - compatible: "nvidia,tegra20-kbc" -Optional properties, in addition to those specified by the shared -matrix-keyboard bindings: - -- linux,fn-keymap: a second keymap, same specification as the - matrix-keyboard-controller spec but to be used when the KEY_FN modifier - key is pressed. -- nvidia,debounce-delay-ms: delay in milliseconds per row scan for debouncing -- nvidia,repeat-delay-ms: delay in milliseconds before repeat starts -- nvidia,ghost-filter: enable ghost filtering for this device -- nvidia,wakeup-source: configure keyboard as a wakeup source for suspend/resume +Optional properties: +- debounce-delay: delay in milliseconds per row scan for debouncing +- repeat-delay: delay in milliseconds before repeat starts +- ghost-filter: enable ghost filtering for this device +- wakeup-source: configure keyboard as a wakeup source for suspend/resume Example: keyboard: keyboard { compatible = "nvidia,tegra20-kbc"; reg = <0x7000e200 0x100>; - nvidia,ghost-filter; + ghost-filter; }; diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic-msgr.txt b/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic-msgr.txt deleted file mode 100644 index bc8ded641ab6..000000000000 --- a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic-msgr.txt +++ /dev/null @@ -1,63 +0,0 @@ -* FSL MPIC Message Registers - -This binding specifies what properties must be available in the device tree -representation of the message register blocks found in some FSL MPIC -implementations. - -Required properties: - - - compatible: Specifies the compatibility list for the message register - block. The type shall be and the value shall be of the form - "fsl,mpic-v-msgr", where is the version number of - the MPIC containing the message registers. - - - reg: Specifies the base physical address(s) and size(s) of the - message register block's addressable register space. The type shall be - . - - - interrupts: Specifies a list of interrupt-specifiers which are available - for receiving interrupts. Interrupt-specifier consists of two cells: first - cell is interrupt-number and second cell is level-sense. The type shall be - . - -Optional properties: - - - mpic-msgr-receive-mask: Specifies what registers in the containing block - are allowed to receive interrupts. The value is a bit mask where a set - bit at bit 'n' indicates that message register 'n' can receive interrupts. - Note that "bit 'n'" is numbered from LSB for PPC hardware. The type shall - be . If not present, then all of the message registers in the block - are available. - -Aliases: - - An alias should be created for every message register block. They are not - required, though. However, a particular implementation of this binding - may require aliases to be present. Aliases are of the form - 'mpic-msgr-block', where is an integer specifying the block's number. - Numbers shall start at 0. - -Example: - - aliases { - mpic-msgr-block0 = &mpic_msgr_block0; - mpic-msgr-block1 = &mpic_msgr_block1; - }; - - mpic_msgr_block0: mpic-msgr-block@41400 { - compatible = "fsl,mpic-v3.1-msgr"; - reg = <0x41400 0x200>; - // Message registers 0 and 2 in this block can receive interrupts on - // sources 0xb0 and 0xb2, respectively. - interrupts = <0xb0 2 0xb2 2>; - mpic-msgr-receive-mask = <0x5>; - }; - - mpic_msgr_block1: mpic-msgr-block@42400 { - compatible = "fsl,mpic-v3.1-msgr"; - reg = <0x42400 0x200>; - // Message registers 0 and 2 in this block can receive interrupts on - // sources 0xb4 and 0xb6, respectively. - interrupts = <0xb4 2 0xb6 2>; - mpic-msgr-receive-mask = <0x5>; - }; diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt b/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt index dc5744636a57..2cf38bd841fd 100644 --- a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt +++ b/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt @@ -56,27 +56,7 @@ PROPERTIES to the client. The presence of this property also mandates that any initialization related to interrupt sources shall be limited to sources explicitly referenced in the device tree. - - - big-endian - Usage: optional - Value type: - If present the MPIC will be assumed to be big-endian. Some - device-trees omit this property on MPIC nodes even when the MPIC is - in fact big-endian, so certain boards override this property. - - - single-cpu-affinity - Usage: optional - Value type: - If present the MPIC will be assumed to only be able to route - non-IPI interrupts to a single CPU at a time (EG: Freescale MPIC). - - - last-interrupt-source - Usage: optional - Value type: - Some MPICs do not correctly report the number of hardware sources - in the global feature registers. If specified, this field will - override the value read from MPIC_GREG_FEATURE_LAST_SRC. - + INTERRUPT SPECIFIER DEFINITION Interrupt specifiers consists of 4 cells encoded as diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt b/trunk/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt index 5693877ab377..5d586e1ccaf5 100644 --- a/trunk/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt +++ b/trunk/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt @@ -6,10 +6,8 @@ Required properties: etc.) and the second is "fsl,mpic-msi" or "fsl,ipic-msi" depending on the parent type. -- reg : It may contain one or two regions. The first region should contain - the address and the length of the shared message interrupt register set. - The second region should contain the address of aliased MSIIR register for - platforms that have such an alias. +- reg : should contain the address and the length of the shared message + interrupt register set. - msi-available-ranges: use style section to define which msi interrupt can be used in the 256 msi interrupts. This property is diff --git a/trunk/Documentation/devicetree/bindings/sound/alc5632.txt b/trunk/Documentation/devicetree/bindings/sound/alc5632.txt deleted file mode 100644 index 8608f747dcfe..000000000000 --- a/trunk/Documentation/devicetree/bindings/sound/alc5632.txt +++ /dev/null @@ -1,24 +0,0 @@ -ALC5632 audio CODEC - -This device supports I2C only. - -Required properties: - - - compatible : "realtek,alc5632" - - - reg : the I2C address of the device. - - - gpio-controller : Indicates this device is a GPIO controller. - - - #gpio-cells : Should be two. The first cell is the pin number and the - second cell is used to specify optional parameters (currently unused). - -Example: - -alc5632: alc5632@1e { - compatible = "realtek,alc5632"; - reg = <0x1a>; - - gpio-controller; - #gpio-cells = <2>; -}; diff --git a/trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt b/trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt deleted file mode 100644 index 215aa9817213..000000000000 --- a/trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt +++ /dev/null @@ -1,13 +0,0 @@ -Freescale Digital Audio Mux (AUDMUX) device - -Required properties: -- compatible : "fsl,imx21-audmux" for AUDMUX version firstly used on i.MX21, - or "fsl,imx31-audmux" for the version firstly used on i.MX31. -- reg : Should contain AUDMUX registers location and length - -Example: - -audmux@021d8000 { - compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux"; - reg = <0x021d8000 0x4000>; -}; diff --git a/trunk/Documentation/devicetree/bindings/sound/sgtl5000.txt b/trunk/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/sound/sgtl5000.txt rename to trunk/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt diff --git a/trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt b/trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt deleted file mode 100644 index b77a97c9101e..000000000000 --- a/trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt +++ /dev/null @@ -1,59 +0,0 @@ -NVIDIA Tegra audio complex - -Required properties: -- compatible : "nvidia,tegra-audio-alc5632" -- nvidia,model : The user-visible name of this sound complex. -- nvidia,audio-routing : A list of the connections between audio components. - Each entry is a pair of strings, the first being the connection's sink, - the second being the connection's source. Valid names for sources and - sinks are the ALC5632's pins: - - ALC5632 pins: - - * SPK_OUTP - * SPK_OUTN - * HP_OUT_L - * HP_OUT_R - * AUX_OUT_P - * AUX_OUT_N - * LINE_IN_L - * LINE_IN_R - * PHONE_P - * PHONE_N - * MIC1_P - * MIC1_N - * MIC2_P - * MIC2_N - * MICBIAS1 - * DMICDAT - - Board connectors: - - * Headset Stereophone - * Int Spk - * Headset Mic - * Digital Mic - -- nvidia,i2s-controller : The phandle of the Tegra I2S controller -- nvidia,audio-codec : The phandle of the ALC5632 audio codec - -Example: - -sound { - compatible = "nvidia,tegra-audio-alc5632-paz00", - "nvidia,tegra-audio-alc5632"; - - nvidia,model = "Compal PAZ00"; - - nvidia,audio-routing = - "Int Spk", "SPK_OUTP", - "Int Spk", "SPK_OUTN", - "Headset Mic","MICBIAS1", - "MIC1_N", "Headset Mic", - "MIC1_P", "Headset Mic", - "Headset Stereophone", "HP_OUT_R", - "Headset Stereophone", "HP_OUT_L"; - - nvidia,i2s-controller = <&tegra_i2s1>; - nvidia,audio-codec = <&alc5632>; -}; diff --git a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt index 82ac057a24a9..a20008ab319a 100644 --- a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -34,7 +34,6 @@ picochip Picochip Ltd powervr Imagination Technologies qcom Qualcomm, Inc. ramtron Ramtron International -realtek Realtek Semiconductor Corp. samsung Samsung Semiconductor sbs Smart Battery System schindler Schindler diff --git a/trunk/Documentation/filesystems/debugfs.txt b/trunk/Documentation/filesystems/debugfs.txt index 7a34f827989c..4e2575873187 100644 --- a/trunk/Documentation/filesystems/debugfs.txt +++ b/trunk/Documentation/filesystems/debugfs.txt @@ -136,7 +136,7 @@ file. void __iomem *base; }; - struct dentry *debugfs_create_regset32(const char *name, umode_t mode, + struct dentry *debugfs_create_regset32(const char *name, mode_t mode, struct dentry *parent, struct debugfs_regset32 *regset); diff --git a/trunk/Documentation/filesystems/nfs/idmapper.txt b/trunk/Documentation/filesystems/nfs/idmapper.txt index fe03d10bb79a..120fd3cf7fd9 100644 --- a/trunk/Documentation/filesystems/nfs/idmapper.txt +++ b/trunk/Documentation/filesystems/nfs/idmapper.txt @@ -4,21 +4,13 @@ ID Mapper ========= Id mapper is used by NFS to translate user and group ids into names, and to translate user and group names into ids. Part of this translation involves -performing an upcall to userspace to request the information. There are two -ways NFS could obtain this information: placing a call to /sbin/request-key -or by placing a call to the rpc.idmap daemon. - -NFS will attempt to call /sbin/request-key first. If this succeeds, the -result will be cached using the generic request-key cache. This call should -only fail if /etc/request-key.conf is not configured for the id_resolver key -type, see the "Configuring" section below if you wish to use the request-key -method. - -If the call to /sbin/request-key fails (if /etc/request-key.conf is not -configured with the id_resolver key type), then the idmapper will ask the -legacy rpc.idmap daemon for the id mapping. This result will be stored -in a custom NFS idmap cache. +performing an upcall to userspace to request the information. Id mapper will +user request-key to perform this upcall and cache the result. The program +/usr/sbin/nfs.idmap should be called by request-key, and will perform the +translation and initialize a key with the resulting information. + NFS_USE_NEW_IDMAPPER must be selected when configuring the kernel to use this + feature. =========== Configuring diff --git a/trunk/Documentation/filesystems/nfs/pnfs.txt b/trunk/Documentation/filesystems/nfs/pnfs.txt index c7919c6e3bea..983e14abe7e9 100644 --- a/trunk/Documentation/filesystems/nfs/pnfs.txt +++ b/trunk/Documentation/filesystems/nfs/pnfs.txt @@ -53,57 +53,3 @@ lseg maintains an extra reference corresponding to the NFS_LSEG_VALID bit which holds it in the pnfs_layout_hdr's list. When the final lseg is removed from the pnfs_layout_hdr's list, the NFS_LAYOUT_DESTROYED bit is set, preventing any new lsegs from being added. - -layout drivers --------------- - -PNFS utilizes what is called layout drivers. The STD defines 3 basic -layout types: "files" "objects" and "blocks". For each of these types -there is a layout-driver with a common function-vectors table which -are called by the nfs-client pnfs-core to implement the different layout -types. - -Files-layout-driver code is in: fs/nfs/nfs4filelayout.c && nfs4filelayoutdev.c -Objects-layout-deriver code is in: fs/nfs/objlayout/.. directory -Blocks-layout-deriver code is in: fs/nfs/blocklayout/.. directory - -objects-layout setup --------------------- - -As part of the full STD implementation the objlayoutdriver.ko needs, at times, -to automatically login to yet undiscovered iscsi/osd devices. For this the -driver makes up-calles to a user-mode script called *osd_login* - -The path_name of the script to use is by default: - /sbin/osd_login. -This name can be overridden by the Kernel module parameter: - objlayoutdriver.osd_login_prog - -If Kernel does not find the osd_login_prog path it will zero it out -and will not attempt farther logins. An admin can then write new value -to the objlayoutdriver.osd_login_prog Kernel parameter to re-enable it. - -The /sbin/osd_login is part of the nfs-utils package, and should usually -be installed on distributions that support this Kernel version. - -The API to the login script is as follows: - Usage: $0 -u -o -s - Options: - -u target uri e.g. iscsi://: - (allways exists) - (More protocols can be defined in the future. - The client does not interpret this string it is - passed unchanged as recieved from the Server) - -o osdname of the requested target OSD - (Might be empty) - (A string which denotes the OSD name, there is a - limit of 64 chars on this string) - -s systemid of the requested target OSD - (Might be empty) - (This string, if not empty is always an hex - representation of the 20 bytes osd_system_id) - -blocks-layout setup -------------------- - -TODO: Document the setup needs of the blocks layout driver diff --git a/trunk/Documentation/filesystems/porting b/trunk/Documentation/filesystems/porting index 74acd9618819..b4a3d765ff9a 100644 --- a/trunk/Documentation/filesystems/porting +++ b/trunk/Documentation/filesystems/porting @@ -429,9 +429,3 @@ filemap_write_and_wait_range() so that all dirty pages are synced out properly. You must also keep in mind that ->fsync() is not called with i_mutex held anymore, so if you require i_mutex locking you must make sure to take it and release it yourself. - --- -[mandatory] - d_alloc_root() is gone, along with a lot of bugs caused by code -misusing it. Replacement: d_make_root(inode). The difference is, -d_make_root() drops the reference to inode if dentry allocation fails. diff --git a/trunk/Documentation/filesystems/proc.txt b/trunk/Documentation/filesystems/proc.txt index b7413cb46dcb..a76a26a1db8a 100644 --- a/trunk/Documentation/filesystems/proc.txt +++ b/trunk/Documentation/filesystems/proc.txt @@ -290,7 +290,7 @@ Table 1-4: Contents of the stat files (as of 2.6.30-rc7) rsslim current limit in bytes on the rss start_code address above which program text can run end_code address below which program text can run - start_stack address of the start of the main process stack + start_stack address of the start of the stack esp current value of ESP eip current value of EIP pending bitmap of pending signals @@ -325,7 +325,7 @@ address perms offset dev inode pathname a7cb1000-a7cb2000 ---p 00000000 00:00 0 a7cb2000-a7eb2000 rw-p 00000000 00:00 0 a7eb2000-a7eb3000 ---p 00000000 00:00 0 -a7eb3000-a7ed5000 rw-p 00000000 00:00 0 [stack:1001] +a7eb3000-a7ed5000 rw-p 00000000 00:00 0 a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 @@ -357,39 +357,11 @@ is not associated with a file: [heap] = the heap of the program [stack] = the stack of the main process - [stack:1001] = the stack of the thread with tid 1001 [vdso] = the "virtual dynamic shared object", the kernel system call handler or if empty, the mapping is anonymous. -The /proc/PID/task/TID/maps is a view of the virtual memory from the viewpoint -of the individual tasks of a process. In this file you will see a mapping marked -as [stack] if that task sees it as a stack. This is a key difference from the -content of /proc/PID/maps, where you will see all mappings that are being used -as stack by all of those tasks. Hence, for the example above, the task-level -map, i.e. /proc/PID/task/TID/maps for thread 1001 will look like this: - -08048000-08049000 r-xp 00000000 03:00 8312 /opt/test -08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test -0804a000-0806b000 rw-p 00000000 00:00 0 [heap] -a7cb1000-a7cb2000 ---p 00000000 00:00 0 -a7cb2000-a7eb2000 rw-p 00000000 00:00 0 -a7eb2000-a7eb3000 ---p 00000000 00:00 0 -a7eb3000-a7ed5000 rw-p 00000000 00:00 0 [stack] -a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 -a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 -a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 -a800b000-a800e000 rw-p 00000000 00:00 0 -a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0 -a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0 -a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0 -a8024000-a8027000 rw-p 00000000 00:00 0 -a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2 -a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2 -a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2 -aff35000-aff4a000 rw-p 00000000 00:00 0 -ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso] The /proc/PID/smaps is an extension based on maps, showing the memory consumption for each of the process's mappings. For each of mappings there diff --git a/trunk/Documentation/filesystems/qnx6.txt b/trunk/Documentation/filesystems/qnx6.txt deleted file mode 100644 index 050223ea03c7..000000000000 --- a/trunk/Documentation/filesystems/qnx6.txt +++ /dev/null @@ -1,174 +0,0 @@ -The QNX6 Filesystem -=================== - -The qnx6fs is used by newer QNX operating system versions. (e.g. Neutrino) -It got introduced in QNX 6.4.0 and is used default since 6.4.1. - -Option -====== - -mmi_fs Mount filesystem as used for example by Audi MMI 3G system - -Specification -============= - -qnx6fs shares many properties with traditional Unix filesystems. It has the -concepts of blocks, inodes and directories. -On QNX it is possible to create little endian and big endian qnx6 filesystems. -This feature makes it possible to create and use a different endianness fs -for the target (QNX is used on quite a range of embedded systems) plattform -running on a different endianess. -The Linux driver handles endianness transparently. (LE and BE) - -Blocks ------- - -The space in the device or file is split up into blocks. These are a fixed -size of 512, 1024, 2048 or 4096, which is decided when the filesystem is -created. -Blockpointers are 32bit, so the maximum space that can be adressed is -2^32 * 4096 bytes or 16TB - -The superblocks ---------------- - -The superblock contains all global information about the filesystem. -Each qnx6fs got two superblocks, each one having a 64bit serial number. -That serial number is used to identify the "active" superblock. -In write mode with reach new snapshot (after each synchronous write), the -serial of the new master superblock is increased (old superblock serial + 1) - -So basically the snapshot functionality is realized by an atomic final -update of the serial number. Before updating that serial, all modifications -are done by copying all modified blocks during that specific write request -(or period) and building up a new (stable) filesystem structure under the -inactive superblock. - -Each superblock holds a set of root inodes for the different filesystem -parts. (Inode, Bitmap and Longfilenames) -Each of these root nodes holds information like total size of the stored -data and the adressing levels in that specific tree. -If the level value is 0, up to 16 direct blocks can be adressed by each -node. -Level 1 adds an additional indirect adressing level where each indirect -adressing block holds up to blocksize / 4 bytes pointers to data blocks. -Level 2 adds an additional indirect adressig block level (so, already up -to 16 * 256 * 256 = 1048576 blocks that can be adressed by such a tree)a - -Unused block pointers are always set to ~0 - regardless of root node, -indirect adressing blocks or inodes. -Data leaves are always on the lowest level. So no data is stored on upper -tree levels. - -The first Superblock is located at 0x2000. (0x2000 is the bootblock size) -The Audi MMI 3G first superblock directly starts at byte 0. -Second superblock position can either be calculated from the superblock -information (total number of filesystem blocks) or by taking the highest -device address, zeroing the last 3 bytes and then substracting 0x1000 from -that address. - -0x1000 is the size reserved for each superblock - regardless of the -blocksize of the filesystem. - -Inodes ------- - -Each object in the filesystem is represented by an inode. (index node) -The inode structure contains pointers to the filesystem blocks which contain -the data held in the object and all of the metadata about an object except -its longname. (filenames longer than 27 characters) -The metadata about an object includes the permissions, owner, group, flags, -size, number of blocks used, access time, change time and modification time. - -Object mode field is POSIX format. (which makes things easier) - -There are also pointers to the first 16 blocks, if the object data can be -adressed with 16 direct blocks. -For more than 16 blocks an indirect adressing in form of another tree is -used. (scheme is the same as the one used for the superblock root nodes) - -The filesize is stored 64bit. Inode counting starts with 1. (whilst long -filename inodes start with 0) - -Directories ------------ - -A directory is a filesystem object and has an inode just like a file. -It is a specially formatted file containing records which associate each -name with an inode number. -'.' inode number points to the directory inode -'..' inode number points to the parent directory inode -Eeach filename record additionally got a filename length field. - -One special case are long filenames or subdirectory names. -These got set a filename length field of 0xff in the corresponding directory -record plus the longfile inode number also stored in that record. -With that longfilename inode number, the longfilename tree can be walked -starting with the superblock longfilename root node pointers. - -Special files -------------- - -Symbolic links are also filesystem objects with inodes. They got a specific -bit in the inode mode field identifying them as symbolic link. -The directory entry file inode pointer points to the target file inode. - -Hard links got an inode, a directory entry, but a specific mode bit set, -no block pointers and the directory file record pointing to the target file -inode. - -Character and block special devices do not exist in QNX as those files -are handled by the QNX kernel/drivers and created in /dev independant of the -underlaying filesystem. - -Long filenames --------------- - -Long filenames are stored in a seperate adressing tree. The staring point -is the longfilename root node in the active superblock. -Each data block (tree leaves) holds one long filename. That filename is -limited to 510 bytes. The first two starting bytes are used as length field -for the actual filename. -If that structure shall fit for all allowed blocksizes, it is clear why there -is a limit of 510 bytes for the actual filename stored. - -Bitmap ------- - -The qnx6fs filesystem allocation bitmap is stored in a tree under bitmap -root node in the superblock and each bit in the bitmap represents one -filesystem block. -The first block is block 0, which starts 0x1000 after superblock start. -So for a normal qnx6fs 0x3000 (bootblock + superblock) is the physical -address at which block 0 is located. - -Bits at the end of the last bitmap block are set to 1, if the device is -smaller than addressing space in the bitmap. - -Bitmap system area ------------------- - -The bitmap itself is devided into three parts. -First the system area, that is split into two halfs. -Then userspace. - -The requirement for a static, fixed preallocated system area comes from how -qnx6fs deals with writes. -Each superblock got it's own half of the system area. So superblock #1 -always uses blocks from the lower half whilst superblock #2 just writes to -blocks represented by the upper half bitmap system area bits. - -Bitmap blocks, Inode blocks and indirect addressing blocks for those two -tree structures are treated as system blocks. - -The rational behind that is that a write request can work on a new snapshot -(system area of the inactive - resp. lower serial numbered superblock) while -at the same time there is still a complete stable filesystem structer in the -other half of the system area. - -When finished with writing (a sync write is completed, the maximum sync leap -time or a filesystem sync is requested), serial of the previously inactive -superblock atomically is increased and the fs switches over to that - then -stable declared - superblock. - -For all data outside the system area, blocks are just copied while writing. diff --git a/trunk/Documentation/ioctl/ioctl-number.txt b/trunk/Documentation/ioctl/ioctl-number.txt index 3b7488fc3373..68fbfb6529eb 100644 --- a/trunk/Documentation/ioctl/ioctl-number.txt +++ b/trunk/Documentation/ioctl/ioctl-number.txt @@ -218,7 +218,6 @@ Code Seq#(hex) Include File Comments 'h' 00-7F conflict! Charon filesystem 'h' 00-1F linux/hpet.h conflict! -'h' 80-8F fs/hfsplus/ioctl.c 'i' 00-3F linux/i2o-dev.h conflict! 'i' 0B-1F linux/ipmi.h conflict! 'i' 80-8F linux/i8k.h diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 7c33ef8a1ba9..8cadb7551fca 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -713,21 +713,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. The filter can be disabled or changed to another driver later using sysfs. - drm_kms_helper.edid_firmware=[:] - Broken monitors, graphic adapters and KVMs may - send no or incorrect EDID data sets. This parameter - allows to specify an EDID data set in the - /lib/firmware directory that is used instead. - Generic built-in EDID data sets are used, if one of - edid/1024x768.bin, edid/1280x1024.bin, - edid/1680x1050.bin, or edid/1920x1080.bin is given - and no file with the same name exists. Details and - instructions how to build your own EDID data are - available in Documentation/EDID/HOWTO.txt. An EDID - data set will only be used for a particular connector, - if its name and a colon are prepended to the EDID - name. - dscc4.setup= [NET] earlycon= [KNL] Output early console device and options. @@ -1672,14 +1657,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. of returning the full 64-bit number. The default is to return 64-bit inode numbers. - nfs.max_session_slots= - [NFSv4.1] Sets the maximum number of session slots - the client will attempt to negotiate with the server. - This limits the number of simultaneous RPC requests - that the client can send to the NFSv4.1 server. - Note that there is little point in setting this - value higher than the max_tcp_slot_table_limit. - nfs.nfs4_disable_idmapping= [NFSv4] When set to the default of '1', this option ensures that both the RPC level authentication @@ -1693,21 +1670,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. back to using the idmapper. To turn off this behaviour, set the value to '0'. - nfs.send_implementation_id = - [NFSv4.1] Send client implementation identification - information in exchange_id requests. - If zero, no implementation identification information - will be sent. - The default is to send the implementation identification - information. - - - objlayoutdriver.osd_login_prog= - [NFS] [OBJLAYOUT] sets the pathname to the program which - is used to automatically discover and login into new - osd-targets. Please see: - Documentation/filesystems/pnfs.txt for more explanations - nmi_debug= [KNL,AVR32,SH] Specify one or more actions to take when a NMI is triggered. Format: [state][,regs][,debounce][,die] @@ -2673,13 +2635,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. to facilitate early boot debugging. See also Documentation/trace/events.txt - transparent_hugepage= - [KNL] - Format: [always|madvise|never] - Can be used to control the default behavior of the system - with respect to transparent hugepages. - See Documentation/vm/transhuge.txt for more details. - tsc= Disable clocksource stability checks for TSC. Format: [x86] reliable: mark tsc clocksource as reliable, this diff --git a/trunk/Documentation/pinctrl.txt b/trunk/Documentation/pinctrl.txt index d97bccf46147..150fd3833d0b 100644 --- a/trunk/Documentation/pinctrl.txt +++ b/trunk/Documentation/pinctrl.txt @@ -206,21 +206,12 @@ using a certain resistor value - pull up and pull down - so that the pin has a stable value when nothing is driving the rail it is connected to, or when it's unconnected. -Pin configuration can be programmed either using the explicit APIs described -immediately below, or by adding configuration entries into the mapping table; -see section "Board/machine configuration" below. - -For example, a platform may do the following to pull up a pin to VDD: - -#include +For example, a platform may do this: ret = pin_config_set("foo-dev", "FOO_GPIO_PIN", PLATFORM_X_PULL_UP); -The format and meaning of the configuration parameter, PLATFORM_X_PULL_UP -above, is entirely defined by the pin controller driver. - -The pin configuration driver implements callbacks for changing pin -configuration in the pin controller ops like this: +To pull up a pin to VDD. The pin configuration driver implements callbacks for +changing pin configuration in the pin controller ops like this: #include #include @@ -501,10 +492,14 @@ Definitions: {"map-i2c0", i2c0, pinctrl0, fi2c0, gi2c0} } - Every map must be assigned a state name, pin controller, device and - function. The group is not compulsory - if it is omitted the first group - presented by the driver as applicable for the function will be selected, - which is useful for simple cases. + Every map must be assigned a symbolic name, pin controller and function. + The group is not compulsory - if it is omitted the first group presented by + the driver as applicable for the function will be selected, which is + useful for simple cases. + + The device name is present in map entries tied to specific devices. Maps + without device names are referred to as SYSTEM pinmuxes, such as can be taken + by the machine implementation on boot and not tied to any specific device. It is possible to map several groups to the same combination of device, pin controller and function. This is for cases where a certain function on @@ -731,19 +726,19 @@ same time. All the above functions are mandatory to implement for a pinmux driver. -Pin control interaction with the GPIO subsystem -=============================================== +Pinmux interaction with the GPIO subsystem +========================================== -The public pinmux API contains two functions named pinctrl_request_gpio() -and pinctrl_free_gpio(). These two functions shall *ONLY* be called from +The public pinmux API contains two functions named pinmux_request_gpio() +and pinmux_free_gpio(). These two functions shall *ONLY* be called from gpiolib-based drivers as part of their gpio_request() and -gpio_free() semantics. Likewise the pinctrl_gpio_direction_[input|output] +gpio_free() semantics. Likewise the pinmux_gpio_direction_[input|output] shall only be called from within respective gpio_direction_[input|output] gpiolib implementation. NOTE that platforms and individual drivers shall *NOT* request GPIO pins to be -controlled e.g. muxed in. Instead, implement a proper gpiolib driver and have -that driver request proper muxing and other control for its pins. +muxed in. Instead, implement a proper gpiolib driver and have that driver +request proper muxing for its pins. The function list could become long, especially if you can convert every individual pin into a GPIO pin independent of any other pins, and then try @@ -752,7 +747,7 @@ the approach to define every pin as a function. In this case, the function array would become 64 entries for each GPIO setting and then the device functions. -For this reason there are two functions a pin control driver can implement +For this reason there are two functions a pinmux driver can implement to enable only GPIO on an individual pin: .gpio_request_enable() and .gpio_disable_free(). @@ -767,12 +762,12 @@ gpiolib driver and the affected GPIO range, pin offset and desired direction will be passed along to this function. Alternatively to using these special functions, it is fully allowed to use -named functions for each GPIO pin, the pinctrl_request_gpio() will attempt to +named functions for each GPIO pin, the pinmux_request_gpio() will attempt to obtain the function "gpioN" where "N" is the global GPIO pin number if no special GPIO-handler is registered. -Board/machine configuration +Pinmux board/machine configuration ================================== Boards and machines define how a certain complete running system is put @@ -780,33 +775,27 @@ together, including how GPIOs and devices are muxed, how regulators are constrained and how the clock tree looks. Of course pinmux settings are also part of this. -A pin controller configuration for a machine looks pretty much like a simple -regulator configuration, so for the example array above we want to enable i2c -and spi on the second function mapping: +A pinmux config for a machine looks pretty much like a simple regulator +configuration, so for the example array above we want to enable i2c and +spi on the second function mapping: #include -static const struct pinctrl_map __initdata mapping[] = { +static const struct pinmux_map __initdata pmx_mapping[] = { { - .dev_name = "foo-spi.0", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .data.mux.function = "spi0", + .function = "spi0", + .dev_name = "foo-spi.0", }, { - .dev_name = "foo-i2c.0", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .data.mux.function = "i2c0", + .function = "i2c0", + .dev_name = "foo-i2c.0", }, { - .dev_name = "foo-mmc.0", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .data.mux.function = "mmc0", + .function = "mmc0", + .dev_name = "foo-mmc.0", }, }; @@ -816,51 +805,21 @@ must match a function provided by the pinmux driver handling this pin range. As you can see we may have several pin controllers on the system and thus we need to specify which one of them that contain the functions we wish -to map. +to map. The map can also use struct device * directly, so there is no +inherent need to use strings to specify .dev_name or .ctrl_dev_name, these +are for the situation where you do not have a handle to the struct device *, +for example if they are not yet instantiated or cumbersome to obtain. You register this pinmux mapping to the pinmux subsystem by simply: - ret = pinctrl_register_mappings(mapping, ARRAY_SIZE(mapping)); + ret = pinmux_register_mappings(pmx_mapping, ARRAY_SIZE(pmx_mapping)); Since the above construct is pretty common there is a helper macro to make it even more compact which assumes you want to use pinctrl-foo and position 0 for mapping, for example: -static struct pinctrl_map __initdata mapping[] = { - PIN_MAP_MUX_GROUP("foo-i2c.o", PINCTRL_STATE_DEFAULT, "pinctrl-foo", NULL, "i2c0"), -}; - -The mapping table may also contain pin configuration entries. It's common for -each pin/group to have a number of configuration entries that affect it, so -the table entries for configuration reference an array of config parameters -and values. An example using the convenience macros is shown below: - -static unsigned long i2c_grp_configs[] = { - FOO_PIN_DRIVEN, - FOO_PIN_PULLUP, -}; - -static unsigned long i2c_pin_configs[] = { - FOO_OPEN_COLLECTOR, - FOO_SLEW_RATE_SLOW, -}; - -static struct pinctrl_map __initdata mapping[] = { - PIN_MAP_MUX_GROUP("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0", "i2c0"), - PIN_MAP_MUX_CONFIGS_GROUP("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0", i2c_grp_configs), - PIN_MAP_MUX_CONFIGS_PIN("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0scl", i2c_pin_configs), - PIN_MAP_MUX_CONFIGS_PIN("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0sda", i2c_pin_configs), -}; - -Finally, some devices expect the mapping table to contain certain specific -named states. When running on hardware that doesn't need any pin controller -configuration, the mapping table must still contain those named states, in -order to explicitly indicate that the states were provided and intended to -be empty. Table entry macro PIN_MAP_DUMMY_STATE serves the purpose of defining -a named state without causing any pin controller to be programmed: - -static struct pinctrl_map __initdata mapping[] = { - PIN_MAP_DUMMY_STATE("foo-i2c.0", PINCTRL_STATE_DEFAULT), +static struct pinmux_map __initdata pmx_mapping[] = { + PINMUX_MAP("I2CMAP", "pinctrl-foo", "i2c0", "foo-i2c.0"), }; @@ -872,96 +831,81 @@ As it is possible to map a function to different groups of pins an optional ... { - .dev_name = "foo-spi.0", .name = "spi0-pos-A", - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "spi0", .group = "spi0_0_grp", + .dev_name = "foo-spi.0", }, { - .dev_name = "foo-spi.0", .name = "spi0-pos-B", - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "spi0", .group = "spi0_1_grp", + .dev_name = "foo-spi.0", }, ... This example mapping is used to switch between two positions for spi0 at runtime, as described further below under the heading "Runtime pinmuxing". -Further it is possible for one named state to affect the muxing of several -groups of pins, say for example in the mmc0 example above, where you can +Further it is possible to match several groups of pins to the same function +for a single device, say for example in the mmc0 example above, where you can additively expand the mmc0 bus from 2 to 4 to 8 pins. If we want to use all three groups for a total of 2+2+4 = 8 pins (for an 8-bit MMC bus as is the case), we define a mapping like this: ... { - .dev_name = "foo-mmc.0", .name = "2bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_1_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "4bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_1_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "4bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_2_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "8bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .function = "mmc0", .group = "mmc0_1_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "8bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_2_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "8bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_3_grp", + .dev_name = "foo-mmc.0", }, ... The result of grabbing this mapping from the device with something like this (see next paragraph): - p = pinctrl_get(dev); - s = pinctrl_lookup_state(p, "8bit"); - ret = pinctrl_select_state(p, s); - -or more simply: - - p = pinctrl_get_select(dev, "8bit"); + pmx = pinmux_get(&device, "8bit"); Will be that you activate all the three bottom records in the mapping at -once. Since they share the same name, pin controller device, function and +once. Since they share the same name, pin controller device, funcion and device, and since we allow multiple groups to match to a single device, they all get selected, and they all get enabled and disable simultaneously by the pinmux core. @@ -970,111 +914,97 @@ pinmux core. Pinmux requests from drivers ============================ -Generally it is discouraged to let individual drivers get and enable pin -control. So if possible, handle the pin control in platform code or some other -place where you have access to all the affected struct device * pointers. In -some cases where a driver needs to e.g. switch between different mux mappings -at runtime this is not possible. +Generally it is discouraged to let individual drivers get and enable pinmuxes. +So if possible, handle the pinmuxes in platform code or some other place where +you have access to all the affected struct device * pointers. In some cases +where a driver needs to switch between different mux mappings at runtime +this is not possible. -A driver may request a certain control state to be activated, usually just the -default state like this: +A driver may request a certain mux to be activated, usually just the default +mux like this: -#include +#include struct foo_state { - struct pinctrl *p; - struct pinctrl_state *s; + struct pinmux *pmx; ... }; foo_probe() { - /* Allocate a state holder named "foo" etc */ - struct foo_state *foo = ...; - - foo->p = pinctrl_get(&device); - if (IS_ERR(foo->p)) { - /* FIXME: clean up "foo" here */ - return PTR_ERR(foo->p); - } + /* Allocate a state holder named "state" etc */ + struct pinmux pmx; - foo->s = pinctrl_lookup_state(foo->p, PINCTRL_STATE_DEFAULT); - if (IS_ERR(foo->s)) { - pinctrl_put(foo->p); - /* FIXME: clean up "foo" here */ - return PTR_ERR(s); - } + pmx = pinmux_get(&device, NULL); + if IS_ERR(pmx) + return PTR_ERR(pmx); + pinmux_enable(pmx); - ret = pinctrl_select_state(foo->s); - if (ret < 0) { - pinctrl_put(foo->p); - /* FIXME: clean up "foo" here */ - return ret; - } + state->pmx = pmx; } foo_remove() { - pinctrl_put(state->p); + pinmux_disable(state->pmx); + pinmux_put(state->pmx); } -This get/lookup/select/put sequence can just as well be handled by bus drivers +If you want to grab a specific mux mapping and not just the first one found for +this device you can specify a specific mapping name, for example in the above +example the second i2c0 setting: pinmux_get(&device, "spi0-pos-B"); + +This get/enable/disable/put sequence can just as well be handled by bus drivers if you don't want each and every driver to handle it and you know the arrangement on your bus. -The semantics of the pinctrl APIs are: - -- pinctrl_get() is called in process context to obtain a handle to all pinctrl - information for a given client device. It will allocate a struct from the - kernel memory to hold the pinmux state. All mapping table parsing or similar - slow operations take place within this API. +The semantics of the get/enable respective disable/put is as follows: -- pinctrl_lookup_state() is called in process context to obtain a handle to a - specific state for a the client device. This operation may be slow too. +- pinmux_get() is called in process context to reserve the pins affected with + a certain mapping and set up the pinmux core and the driver. It will allocate + a struct from the kernel memory to hold the pinmux state. -- pinctrl_select_state() programs pin controller hardware according to the - definition of the state as given by the mapping table. In theory this is a - fast-path operation, since it only involved blasting some register settings - into hardware. However, note that some pin controllers may have their - registers on a slow/IRQ-based bus, so client devices should not assume they - can call pinctrl_select_state() from non-blocking contexts. +- pinmux_enable()/pinmux_disable() is quick and can be called from fastpath + (irq context) when you quickly want to set up/tear down the hardware muxing + when running a device driver. Usually it will just poke some values into a + register. -- pinctrl_put() frees all information associated with a pinctrl handle. +- pinmux_disable() is called in process context to tear down the pin requests + and release the state holder struct for the mux setting. -Usually the pin control core handled the get/put pair and call out to the -device drivers bookkeeping operations, like checking available functions and -the associated pins, whereas the enable/disable pass on to the pin controller +Usually the pinmux core handled the get/put pair and call out to the device +drivers bookkeeping operations, like checking available functions and the +associated pins, whereas the enable/disable pass on to the pin controller driver which takes care of activating and/or deactivating the mux setting by quickly poking some registers. -The pins are allocated for your device when you issue the pinctrl_get() call, +The pins are allocated for your device when you issue the pinmux_get() call, after this you should be able to see this in the debugfs listing of all pins. -System pin control hogging -========================== +System pinmux hogging +===================== -Pin control map entries can be hogged by the core when the pin controller -is registered. This means that the core will attempt to call pinctrl_get(), -lookup_state() and select_state() on it immediately after the pin control -device has been registered. +A system pinmux map entry, i.e. a pinmux setting that does not have a device +associated with it, can be hogged by the core when the pin controller is +registered. This means that the core will attempt to call pinmux_get() and +pinmux_enable() on it immediately after the pin control device has been +registered. -This occurs for mapping table entries where the client device name is equal -to the pin controller device name, and the state name is PINCTRL_STATE_DEFAULT. +This is enabled by simply setting the .hog_on_boot field in the map to true, +like this: { - .dev_name = "pinctrl-foo", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, + .name = "POWERMAP" .ctrl_dev_name = "pinctrl-foo", .function = "power_func", + .hog_on_boot = true, }, Since it may be common to request the core to hog a few always-applicable mux settings on the primary pin controller, there is a convenience macro for this: -PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-foo", NULL /* group */, "power_func") +PINMUX_MAP_PRIMARY_SYS_HOG("POWERMAP", "power_func") This gives the exact same result as the above construction. @@ -1086,47 +1016,32 @@ It is possible to mux a certain function in and out at runtime, say to move an SPI port from one set of pins to another set of pins. Say for example for spi0 in the example above, we expose two different groups of pins for the same function, but with different named in the mapping as described under -"Advanced mapping" above. So that for an SPI device, we have two states named -"pos-A" and "pos-B". +"Advanced mapping" above. So we have two mappings named "spi0-pos-A" and +"spi0-pos-B". This snippet first muxes the function in the pins defined by group A, enables it, disables and releases it, and muxes it in on the pins defined by group B: -#include - foo_switch() { - struct pinctrl *p; - struct pinctrl_state *s1, *s2; - - /* Setup */ - p = pinctrl_get(&device); - if (IS_ERR(p)) - ... - - s1 = pinctrl_lookup_state(foo->p, "pos-A"); - if (IS_ERR(s1)) - ... - - s2 = pinctrl_lookup_state(foo->p, "pos-B"); - if (IS_ERR(s2)) - ... + struct pinmux *pmx; /* Enable on position A */ - ret = pinctrl_select_state(s1); - if (ret < 0) - ... + pmx = pinmux_get(&device, "spi0-pos-A"); + if IS_ERR(pmx) + return PTR_ERR(pmx); + pinmux_enable(pmx); - ... + /* This releases the pins again */ + pinmux_disable(pmx); + pinmux_put(pmx); /* Enable on position B */ - ret = pinctrl_select_state(s2); - if (ret < 0) - ... - + pmx = pinmux_get(&device, "spi0-pos-B"); + if IS_ERR(pmx) + return PTR_ERR(pmx); + pinmux_enable(pmx); ... - - pinctrl_put(p); } The above has to be done from process context. diff --git a/trunk/Documentation/powerpc/firmware-assisted-dump.txt b/trunk/Documentation/powerpc/firmware-assisted-dump.txt deleted file mode 100644 index 3007bc98af28..000000000000 --- a/trunk/Documentation/powerpc/firmware-assisted-dump.txt +++ /dev/null @@ -1,270 +0,0 @@ - - Firmware-Assisted Dump - ------------------------ - July 2011 - -The goal of firmware-assisted dump is to enable the dump of -a crashed system, and to do so from a fully-reset system, and -to minimize the total elapsed time until the system is back -in production use. - -- Firmware assisted dump (fadump) infrastructure is intended to replace - the existing phyp assisted dump. -- Fadump uses the same firmware interfaces and memory reservation model - as phyp assisted dump. -- Unlike phyp dump, fadump exports the memory dump through /proc/vmcore - in the ELF format in the same way as kdump. This helps us reuse the - kdump infrastructure for dump capture and filtering. -- Unlike phyp dump, userspace tool does not need to refer any sysfs - interface while reading /proc/vmcore. -- Unlike phyp dump, fadump allows user to release all the memory reserved - for dump, with a single operation of echo 1 > /sys/kernel/fadump_release_mem. -- Once enabled through kernel boot parameter, fadump can be - started/stopped through /sys/kernel/fadump_registered interface (see - sysfs files section below) and can be easily integrated with kdump - service start/stop init scripts. - -Comparing with kdump or other strategies, firmware-assisted -dump offers several strong, practical advantages: - --- Unlike kdump, the system has been reset, and loaded - with a fresh copy of the kernel. In particular, - PCI and I/O devices have been reinitialized and are - in a clean, consistent state. --- Once the dump is copied out, the memory that held the dump - is immediately available to the running kernel. And therefore, - unlike kdump, fadump doesn't need a 2nd reboot to get back - the system to the production configuration. - -The above can only be accomplished by coordination with, -and assistance from the Power firmware. The procedure is -as follows: - --- The first kernel registers the sections of memory with the - Power firmware for dump preservation during OS initialization. - These registered sections of memory are reserved by the first - kernel during early boot. - --- When a system crashes, the Power firmware will save - the low memory (boot memory of size larger of 5% of system RAM - or 256MB) of RAM to the previous registered region. It will - also save system registers, and hardware PTE's. - - NOTE: The term 'boot memory' means size of the low memory chunk - that is required for a kernel to boot successfully when - booted with restricted memory. By default, the boot memory - size will be the larger of 5% of system RAM or 256MB. - Alternatively, user can also specify boot memory size - through boot parameter 'fadump_reserve_mem=' which will - override the default calculated size. Use this option - if default boot memory size is not sufficient for second - kernel to boot successfully. - --- After the low memory (boot memory) area has been saved, the - firmware will reset PCI and other hardware state. It will - *not* clear the RAM. It will then launch the bootloader, as - normal. - --- The freshly booted kernel will notice that there is a new - node (ibm,dump-kernel) in the device tree, indicating that - there is crash data available from a previous boot. During - the early boot OS will reserve rest of the memory above - boot memory size effectively booting with restricted memory - size. This will make sure that the second kernel will not - touch any of the dump memory area. - --- User-space tools will read /proc/vmcore to obtain the contents - of memory, which holds the previous crashed kernel dump in ELF - format. The userspace tools may copy this info to disk, or - network, nas, san, iscsi, etc. as desired. - --- Once the userspace tool is done saving dump, it will echo - '1' to /sys/kernel/fadump_release_mem to release the reserved - memory back to general use, except the memory required for - next firmware-assisted dump registration. - - e.g. - # echo 1 > /sys/kernel/fadump_release_mem - -Please note that the firmware-assisted dump feature -is only available on Power6 and above systems with recent -firmware versions. - -Implementation details: ----------------------- - -During boot, a check is made to see if firmware supports -this feature on that particular machine. If it does, then -we check to see if an active dump is waiting for us. If yes -then everything but boot memory size of RAM is reserved during -early boot (See Fig. 2). This area is released once we finish -collecting the dump from user land scripts (e.g. kdump scripts) -that are run. If there is dump data, then the -/sys/kernel/fadump_release_mem file is created, and the reserved -memory is held. - -If there is no waiting dump data, then only the memory required -to hold CPU state, HPTE region, boot memory dump and elfcore -header, is reserved at the top of memory (see Fig. 1). This area -is *not* released: this region will be kept permanently reserved, -so that it can act as a receptacle for a copy of the boot memory -content in addition to CPU state and HPTE region, in the case a -crash does occur. - - o Memory Reservation during first kernel - - Low memory Top of memory - 0 boot memory size | - | | |<--Reserved dump area -->| - V V | Permanent Reservation V - +-----------+----------/ /----------+---+----+-----------+----+ - | | |CPU|HPTE| DUMP |ELF | - +-----------+----------/ /----------+---+----+-----------+----+ - | ^ - | | - \ / - ------------------------------------------- - Boot memory content gets transferred to - reserved area by firmware at the time of - crash - Fig. 1 - - o Memory Reservation during second kernel after crash - - Low memory Top of memory - 0 boot memory size | - | |<------------- Reserved dump area ----------- -->| - V V V - +-----------+----------/ /----------+---+----+-----------+----+ - | | |CPU|HPTE| DUMP |ELF | - +-----------+----------/ /----------+---+----+-----------+----+ - | | - V V - Used by second /proc/vmcore - kernel to boot - Fig. 2 - -Currently the dump will be copied from /proc/vmcore to a -a new file upon user intervention. The dump data available through -/proc/vmcore will be in ELF format. Hence the existing kdump -infrastructure (kdump scripts) to save the dump works fine with -minor modifications. - -The tools to examine the dump will be same as the ones -used for kdump. - -How to enable firmware-assisted dump (fadump): -------------------------------------- - -1. Set config option CONFIG_FA_DUMP=y and build kernel. -2. Boot into linux kernel with 'fadump=on' kernel cmdline option. -3. Optionally, user can also set 'fadump_reserve_mem=' kernel cmdline - to specify size of the memory to reserve for boot memory dump - preservation. - -NOTE: If firmware-assisted dump fails to reserve memory then it will - fallback to existing kdump mechanism if 'crashkernel=' option - is set at kernel cmdline. - -Sysfs/debugfs files: ------------- - -Firmware-assisted dump feature uses sysfs file system to hold -the control files and debugfs file to display memory reserved region. - -Here is the list of files under kernel sysfs: - - /sys/kernel/fadump_enabled - - This is used to display the fadump status. - 0 = fadump is disabled - 1 = fadump is enabled - - This interface can be used by kdump init scripts to identify if - fadump is enabled in the kernel and act accordingly. - - /sys/kernel/fadump_registered - - This is used to display the fadump registration status as well - as to control (start/stop) the fadump registration. - 0 = fadump is not registered. - 1 = fadump is registered and ready to handle system crash. - - To register fadump echo 1 > /sys/kernel/fadump_registered and - echo 0 > /sys/kernel/fadump_registered for un-register and stop the - fadump. Once the fadump is un-registered, the system crash will not - be handled and vmcore will not be captured. This interface can be - easily integrated with kdump service start/stop. - - /sys/kernel/fadump_release_mem - - This file is available only when fadump is active during - second kernel. This is used to release the reserved memory - region that are held for saving crash dump. To release the - reserved memory echo 1 to it: - - echo 1 > /sys/kernel/fadump_release_mem - - After echo 1, the content of the /sys/kernel/debug/powerpc/fadump_region - file will change to reflect the new memory reservations. - - The existing userspace tools (kdump infrastructure) can be easily - enhanced to use this interface to release the memory reserved for - dump and continue without 2nd reboot. - -Here is the list of files under powerpc debugfs: -(Assuming debugfs is mounted on /sys/kernel/debug directory.) - - /sys/kernel/debug/powerpc/fadump_region - - This file shows the reserved memory regions if fadump is - enabled otherwise this file is empty. The output format - is: - : [-] bytes, Dumped: - - e.g. - Contents when fadump is registered during first kernel - - # cat /sys/kernel/debug/powerpc/fadump_region - CPU : [0x0000006ffb0000-0x0000006fff001f] 0x40020 bytes, Dumped: 0x0 - HPTE: [0x0000006fff0020-0x0000006fff101f] 0x1000 bytes, Dumped: 0x0 - DUMP: [0x0000006fff1020-0x0000007fff101f] 0x10000000 bytes, Dumped: 0x0 - - Contents when fadump is active during second kernel - - # cat /sys/kernel/debug/powerpc/fadump_region - CPU : [0x0000006ffb0000-0x0000006fff001f] 0x40020 bytes, Dumped: 0x40020 - HPTE: [0x0000006fff0020-0x0000006fff101f] 0x1000 bytes, Dumped: 0x1000 - DUMP: [0x0000006fff1020-0x0000007fff101f] 0x10000000 bytes, Dumped: 0x10000000 - : [0x00000010000000-0x0000006ffaffff] 0x5ffb0000 bytes, Dumped: 0x5ffb0000 - -NOTE: Please refer to Documentation/filesystems/debugfs.txt on - how to mount the debugfs filesystem. - - -TODO: ------ - o Need to come up with the better approach to find out more - accurate boot memory size that is required for a kernel to - boot successfully when booted with restricted memory. - o The fadump implementation introduces a fadump crash info structure - in the scratch area before the ELF core header. The idea of introducing - this structure is to pass some important crash info data to the second - kernel which will help second kernel to populate ELF core header with - correct data before it gets exported through /proc/vmcore. The current - design implementation does not address a possibility of introducing - additional fields (in future) to this structure without affecting - compatibility. Need to come up with the better approach to address this. - The possible approaches are: - 1. Introduce version field for version tracking, bump up the version - whenever a new field is added to the structure in future. The version - field can be used to find out what fields are valid for the current - version of the structure. - 2. Reserve the area of predefined size (say PAGE_SIZE) for this - structure and have unused area as reserved (initialized to zero) - for future field additions. - The advantage of approach 1 over 2 is we don't need to reserve extra space. ---- -Author: Mahesh Salgaonkar -This document is based on the original documentation written for phyp -assisted dump by Linas Vepstas and Manish Ahuja. diff --git a/trunk/Documentation/powerpc/mpc52xx.txt b/trunk/Documentation/powerpc/mpc52xx.txt index 0d540a31ea1a..10dd4ab93b85 100644 --- a/trunk/Documentation/powerpc/mpc52xx.txt +++ b/trunk/Documentation/powerpc/mpc52xx.txt @@ -2,7 +2,7 @@ Linux 2.6.x on MPC52xx family ----------------------------- For the latest info, go to http://www.246tNt.com/mpc52xx/ - + To compile/use : - U-Boot: @@ -10,23 +10,23 @@ To compile/use : if you wish to ). # make lite5200_defconfig # make uImage - + then, on U-boot: => tftpboot 200000 uImage => tftpboot 400000 pRamdisk => bootm 200000 400000 - + - DBug: # dn -i zImage.initrd.lite5200 - + Some remarks : - The port is named mpc52xxx, and config options are PPC_MPC52xx. The MGT5100 diff --git a/trunk/Documentation/powerpc/phyp-assisted-dump.txt b/trunk/Documentation/powerpc/phyp-assisted-dump.txt new file mode 100644 index 000000000000..ad340205d96a --- /dev/null +++ b/trunk/Documentation/powerpc/phyp-assisted-dump.txt @@ -0,0 +1,127 @@ + + Hypervisor-Assisted Dump + ------------------------ + November 2007 + +The goal of hypervisor-assisted dump is to enable the dump of +a crashed system, and to do so from a fully-reset system, and +to minimize the total elapsed time until the system is back +in production use. + +As compared to kdump or other strategies, hypervisor-assisted +dump offers several strong, practical advantages: + +-- Unlike kdump, the system has been reset, and loaded + with a fresh copy of the kernel. In particular, + PCI and I/O devices have been reinitialized and are + in a clean, consistent state. +-- As the dump is performed, the dumped memory becomes + immediately available to the system for normal use. +-- After the dump is completed, no further reboots are + required; the system will be fully usable, and running + in its normal, production mode on its normal kernel. + +The above can only be accomplished by coordination with, +and assistance from the hypervisor. The procedure is +as follows: + +-- When a system crashes, the hypervisor will save + the low 256MB of RAM to a previously registered + save region. It will also save system state, system + registers, and hardware PTE's. + +-- After the low 256MB area has been saved, the + hypervisor will reset PCI and other hardware state. + It will *not* clear RAM. It will then launch the + bootloader, as normal. + +-- The freshly booted kernel will notice that there + is a new node (ibm,dump-kernel) in the device tree, + indicating that there is crash data available from + a previous boot. It will boot into only 256MB of RAM, + reserving the rest of system memory. + +-- Userspace tools will parse /sys/kernel/release_region + and read /proc/vmcore to obtain the contents of memory, + which holds the previous crashed kernel. The userspace + tools may copy this info to disk, or network, nas, san, + iscsi, etc. as desired. + + For Example: the values in /sys/kernel/release-region + would look something like this (address-range pairs). + CPU:0x177fee000-0x10000: HPTE:0x177ffe020-0x1000: / + DUMP:0x177fff020-0x10000000, 0x10000000-0x16F1D370A + +-- As the userspace tools complete saving a portion of + dump, they echo an offset and size to + /sys/kernel/release_region to release the reserved + memory back to general use. + + An example of this is: + "echo 0x40000000 0x10000000 > /sys/kernel/release_region" + which will release 256MB at the 1GB boundary. + +Please note that the hypervisor-assisted dump feature +is only available on Power6-based systems with recent +firmware versions. + +Implementation details: +---------------------- + +During boot, a check is made to see if firmware supports +this feature on this particular machine. If it does, then +we check to see if a active dump is waiting for us. If yes +then everything but 256 MB of RAM is reserved during early +boot. This area is released once we collect a dump from user +land scripts that are run. If there is dump data, then +the /sys/kernel/release_region file is created, and +the reserved memory is held. + +If there is no waiting dump data, then only the highest +256MB of the ram is reserved as a scratch area. This area +is *not* released: this region will be kept permanently +reserved, so that it can act as a receptacle for a copy +of the low 256MB in the case a crash does occur. See, +however, "open issues" below, as to whether +such a reserved region is really needed. + +Currently the dump will be copied from /proc/vmcore to a +a new file upon user intervention. The starting address +to be read and the range for each data point in provided +in /sys/kernel/release_region. + +The tools to examine the dump will be same as the ones +used for kdump. + +General notes: +-------------- +Security: please note that there are potential security issues +with any sort of dump mechanism. In particular, plaintext +(unencrypted) data, and possibly passwords, may be present in +the dump data. Userspace tools must take adequate precautions to +preserve security. + +Open issues/ToDo: +------------ + o The various code paths that tell the hypervisor that a crash + occurred, vs. it simply being a normal reboot, should be + reviewed, and possibly clarified/fixed. + + o Instead of using /sys/kernel, should there be a /sys/dump + instead? There is a dump_subsys being created by the s390 code, + perhaps the pseries code should use a similar layout as well. + + o Is reserving a 256MB region really required? The goal of + reserving a 256MB scratch area is to make sure that no + important crash data is clobbered when the hypervisor + save low mem to the scratch area. But, if one could assure + that nothing important is located in some 256MB area, then + it would not need to be reserved. Something that can be + improved in subsequent versions. + + o Still working the kdump team to integrate this with kdump, + some work remains but this would not affect the current + patches. + + o Still need to write a shell script, to copy the dump away. + Currently I am parsing it manually. diff --git a/trunk/Documentation/scsi/LICENSE.qla2xxx b/trunk/Documentation/scsi/LICENSE.qla2xxx index ce0fdf349a81..19e7cd4bba66 100644 --- a/trunk/Documentation/scsi/LICENSE.qla2xxx +++ b/trunk/Documentation/scsi/LICENSE.qla2xxx @@ -1,11 +1,48 @@ Copyright (c) 2003-2011 QLogic Corporation -QLogic Linux FC-FCoE Driver +QLogic Linux/ESX Fibre Channel HBA Driver -This program includes a device driver for Linux 3.x. +This program includes a device driver for Linux 2.6/ESX that may be +distributed with QLogic hardware specific firmware binary file. You may modify and redistribute the device driver code under the GNU General Public License (a copy of which is attached hereto as Exhibit A) published by the Free Software Foundation (version 2). +You may redistribute the hardware specific firmware binary file +under the following terms: + + 1. Redistribution of source code (only if applicable), + must retain the above copyright notice, this list of + conditions and the following disclaimer. + + 2. Redistribution in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + + 3. The name of QLogic Corporation may not be used to + endorse or promote products derived from this software + without specific prior written permission + +REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, +THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT +CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR +OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, +TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN +ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN +COMBINATION WITH THIS PROGRAM. EXHIBIT A diff --git a/trunk/Documentation/scsi/bfa.txt b/trunk/Documentation/scsi/bfa.txt deleted file mode 100644 index f2d6e9d1791e..000000000000 --- a/trunk/Documentation/scsi/bfa.txt +++ /dev/null @@ -1,82 +0,0 @@ -Linux driver for Brocade FC/FCOE adapters - - -Supported Hardware ------------------- - -bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of -adapter models with corresponding PCIIDs. - - PCIID Model - - 1657:0013:1657:0014 425 4Gbps dual port FC HBA - 1657:0013:1657:0014 825 8Gbps PCIe dual port FC HBA - 1657:0013:103c:1742 HP 82B 8Gbps PCIedual port FC HBA - 1657:0013:103c:1744 HP 42B 4Gbps dual port FC HBA - 1657:0017:1657:0014 415 4Gbps single port FC HBA - 1657:0017:1657:0014 815 8Gbps single port FC HBA - 1657:0017:103c:1741 HP 41B 4Gbps single port FC HBA - 1657:0017:103c 1743 HP 81B 8Gbps single port FC HBA - 1657:0021:103c:1779 804 8Gbps FC HBA for HP Bladesystem c-class - - 1657:0014:1657:0014 1010 10Gbps single port CNA - FCOE - 1657:0014:1657:0014 1020 10Gbps dual port CNA - FCOE - 1657:0014:1657:0014 1007 10Gbps dual port CNA - FCOE - 1657:0014:1657:0014 1741 10Gbps dual port CNA - FCOE - - 1657:0022:1657:0024 1860 16Gbps FC HBA - 1657:0022:1657:0022 1860 10Gbps CNA - FCOE - - -Firmware download ------------------ - -The latest Firmware package for 3.0.2.2 bfa driver can be found at: - -http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page - -and then click following respective util package link: - - Version Link - - v3.0.0.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 - - -Configuration & Management utility download -------------------------------------------- - -The latest driver configuration & management utility for 3.0.2.2 bfa driver can -be found at: - -http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page - -and then click following respective util pacakge link - - Version Link - - v3.0.2.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 - - -Documentation -------------- - -The latest Administration's Guide, Installation and Reference Manual, -Troubleshooting Guide, and Release Notes for the corresponding out-of-box -driver can be found at: - -http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page - -and use the following inbox and out-of-box driver version mapping to find -the corresponding documentation: - - Inbox Version Out-of-box Version - - v3.0.2.2 v3.0.0.0 - - -Support -------- - -For general product and support info, go to the Brocade website at: - -http://www.brocade.com/services-support/index.page diff --git a/trunk/Documentation/scsi/libsas.txt b/trunk/Documentation/scsi/libsas.txt index 3cc9c7843e15..aa54f54c4a50 100644 --- a/trunk/Documentation/scsi/libsas.txt +++ b/trunk/Documentation/scsi/libsas.txt @@ -398,6 +398,21 @@ struct sas_task { task_done -- callback when the task has finished execution }; +When an external entity, entity other than the LLDD or the +SAS Layer, wants to work with a struct domain_device, it +_must_ call kobject_get() when getting a handle on the +device and kobject_put() when it is done with the device. + +This does two things: + A) implements proper kfree() for the device; + B) increments/decrements the kref for all players: + domain_device + all domain_device's ... (if past an expander) + port + host adapter + pci device + and up the ladder, etc. + DISCOVERY --------- diff --git a/trunk/Documentation/sound/alsa/ALSA-Configuration.txt b/trunk/Documentation/sound/alsa/ALSA-Configuration.txt index 6f75ba3b8a39..12e3a0fb9bec 100644 --- a/trunk/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/trunk/Documentation/sound/alsa/ALSA-Configuration.txt @@ -860,8 +860,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. [Multiple options for each card instance] model - force the model name - position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF, - 3 = VIACOMBO, 4 = COMBO) + position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF) probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) When the bit 8 (0x100) is set, the lower 8 bits are used as the "fixed" codec slots; i.e. the driver probes the @@ -926,11 +925,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. (Usually SD_LPIB register is more accurate than the position buffer.) - position_fix=3 is specific to VIA devices. The position - of the capture stream is checked from both LPIB and POSBUF - values. position_fix=4 is a combination mode, using LPIB - for playback and POSBUF for capture. - NB: If you get many "azx_get_response timeout" messages at loading, it's likely a problem of interrupts (e.g. ACPI irq routing). Try to boot with options like "pci=noacpi". Also, you diff --git a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt index d97d992ced14..c8c54544abc5 100644 --- a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt @@ -8,10 +8,37 @@ ALC880 5stack-digout 5-jack in back, 2-jack in front, a SPDIF out 6stack 6-jack in back, 2-jack in front 6stack-digout 6-jack with a SPDIF out + w810 3-jack + z71v 3-jack (HP shared SPDIF) + asus 3-jack (ASUS Mobo) + asus-w1v ASUS W1V + asus-dig ASUS with SPDIF out + asus-dig2 ASUS with SPDIF out (using GPIO2) + uniwill 3-jack + fujitsu Fujitsu Laptops (Pi1536) + F1734 2-jack + lg LG laptop (m1 express dual) + lg-lw LG LW20/LW25 laptop + tcl TCL S700 + clevo Clevo laptops (m520G, m665n) + medion Medion Rim 2150 + test for testing/debugging purpose, almost all controls can be + adjusted. Appearing only when compiled with + $CONFIG_SND_DEBUG=y + auto auto-config reading BIOS (default) ALC260 ====== - N/A + fujitsu Fujitsu S7020 + acer Acer TravelMate + will Will laptops (PB V7900) + replacer Replacer 672V + favorit100 Maxdata Favorit 100XS + basic fixed pin assignment (old default model) + test for testing/debugging purpose, almost all controls can + adjusted. Appearing only when compiled with + $CONFIG_SND_DEBUG=y + auto auto-config reading BIOS (default) ALC262 ====== @@ -43,7 +70,55 @@ ALC680 ALC882/883/885/888/889 ====================== - N/A + 3stack-dig 3-jack with SPDIF I/O + 6stack-dig 6-jack digital with SPDIF I/O + arima Arima W820Di1 + targa Targa T8, MSI-1049 T8 + asus-a7j ASUS A7J + asus-a7m ASUS A7M + macpro MacPro support + mb5 Macbook 5,1 + macmini3 Macmini 3,1 + mba21 Macbook Air 2,1 + mbp3 Macbook Pro rev3 + imac24 iMac 24'' with jack detection + imac91 iMac 9,1 + w2jc ASUS W2JC + 3stack-2ch-dig 3-jack with SPDIF I/O (ALC883) + alc883-6stack-dig 6-jack digital with SPDIF I/O (ALC883) + 3stack-6ch 3-jack 6-channel + 3stack-6ch-dig 3-jack 6-channel with SPDIF I/O + 6stack-dig-demo 6-jack digital for Intel demo board + acer Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc) + acer-aspire Acer Aspire 9810 + acer-aspire-4930g Acer Aspire 4930G + acer-aspire-6530g Acer Aspire 6530G + acer-aspire-7730g Acer Aspire 7730G + acer-aspire-8930g Acer Aspire 8930G + medion Medion Laptops + targa-dig Targa/MSI + targa-2ch-dig Targa/MSI with 2-channel + targa-8ch-dig Targa/MSI with 8-channel (MSI GX620) + laptop-eapd 3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE) + lenovo-101e Lenovo 101E + lenovo-nb0763 Lenovo NB0763 + lenovo-ms7195-dig Lenovo MS7195 + lenovo-sky Lenovo Sky + haier-w66 Haier W66 + 3stack-hp HP machines with 3stack (Lucknow, Samba boards) + 6stack-dell Dell machines with 6stack (Inspiron 530) + mitac Mitac 8252D + clevo-m540r Clevo M540R (6ch + digital) + clevo-m720 Clevo M720 laptop series + fujitsu-pi2515 Fujitsu AMILO Pi2515 + fujitsu-xa3530 Fujitsu AMILO XA3530 + 3stack-6ch-intel Intel DG33* boards + intel-alc889a Intel IbexPeak with ALC889A + intel-x58 Intel DX58 with ALC889 + asus-p5q ASUS P5Q-EM boards + mb31 MacBook 3,1 + sony-vaio-tt Sony VAIO TT + auto auto-config reading BIOS (default) ALC861/660 ========== diff --git a/trunk/Documentation/sound/alsa/HD-Audio.txt b/trunk/Documentation/sound/alsa/HD-Audio.txt index 7813c06a5c71..91fee3b45fb8 100644 --- a/trunk/Documentation/sound/alsa/HD-Audio.txt +++ b/trunk/Documentation/sound/alsa/HD-Audio.txt @@ -59,12 +59,7 @@ a case, you can change the default method via `position_fix` option. `position_fix=1` means to use LPIB method explicitly. `position_fix=2` means to use the position-buffer. `position_fix=3` means to use a combination of both methods, needed -for some VIA controllers. The capture stream position is corrected -by comparing both LPIB and position-buffer values. -`position_fix=4` is another combination available for all controllers, -and uses LPIB for the playback and the position-buffer for the capture -streams. -0 is the default value for all other +for some VIA and ATI controllers. 0 is the default value for all other controllers, the automatic check and fallback to LPIB as described in the above. If you get a problem of repeated sounds, this option might help. diff --git a/trunk/Documentation/vm/cleancache.txt b/trunk/Documentation/vm/cleancache.txt index 142fbb0f325a..d5c615af10ba 100644 --- a/trunk/Documentation/vm/cleancache.txt +++ b/trunk/Documentation/vm/cleancache.txt @@ -46,11 +46,10 @@ a negative return value indicates failure. A "put_page" will copy a 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. -An "invalidate_page" will ensure the page no longer is present in cleancache; -an "invalidate_inode" will invalidate all pages associated with the specified -file; and, when a filesystem is unmounted, an "invalidate_fs" will invalidate -all pages in all files specified by the given pool id and also surrender -the pool id. +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 @@ -63,12 +62,12 @@ 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 invalidated -(thus making cleancache an "exclusive" cache). On a shared pool, the page -is NOT invalidated on a successful get_page so that it remains accessible to +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 invalidate operations as required. +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 @@ -78,20 +77,20 @@ 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 invalidating a page +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 -If properly configured, monitoring of cleancache is done via debugfs in -the /sys/kernel/debug/mm/cleancache directory. The effectiveness of cleancache +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") -invalidates - number of invalidates attempted +flushes - number of flushes attempted A backend implementation may provide additional metrics. @@ -144,7 +143,7 @@ systems. 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_invalidate operations) between cleancache, +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 @@ -185,15 +184,15 @@ 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 "invalidated" after a "get"? (Minchan Kim) + page "flushed" after a "get"? (Minchan Kim) The main reason is to free up space in transcendent memory and -to avoid unnecessary cleancache_invalidate calls. If you want inclusive, +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_invalidate" call. +be easily extended to add a "get_no_flush" call. -The invalidate is done by the cleancache backend implementation. +The flush is done by the cleancache backend implementation. 5) What's the performance impact? @@ -223,7 +222,7 @@ Some points for a filesystem to consider: 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 "invalidate" operations + 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. @@ -244,11 +243,11 @@ 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 invalidates the data page if the file +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 -invalidated the pages when the inode kva was freed, much of the value +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. diff --git a/trunk/Documentation/vm/page-types.c b/trunk/Documentation/vm/page-types.c index 0b13f02d4059..7445caa26d05 100644 --- a/trunk/Documentation/vm/page-types.c +++ b/trunk/Documentation/vm/page-types.c @@ -98,7 +98,6 @@ #define KPF_HWPOISON 19 #define KPF_NOPAGE 20 #define KPF_KSM 21 -#define KPF_THP 22 /* [32-] kernel hacking assistances */ #define KPF_RESERVED 32 @@ -148,7 +147,6 @@ static const char *page_flag_names[] = { [KPF_HWPOISON] = "X:hwpoison", [KPF_NOPAGE] = "n:nopage", [KPF_KSM] = "x:ksm", - [KPF_THP] = "t:thp", [KPF_RESERVED] = "r:reserved", [KPF_MLOCKED] = "m:mlocked", diff --git a/trunk/Documentation/vm/pagemap.txt b/trunk/Documentation/vm/pagemap.txt index 4600cbe3d6be..df09b9650a81 100644 --- a/trunk/Documentation/vm/pagemap.txt +++ b/trunk/Documentation/vm/pagemap.txt @@ -60,7 +60,6 @@ There are three components to pagemap: 19. HWPOISON 20. NOPAGE 21. KSM - 22. THP Short descriptions to the page flags: @@ -98,9 +97,6 @@ Short descriptions to the page flags: 21. KSM identical memory pages dynamically shared between one or more processes -22. THP - contiguous pages which construct transparent hugepages - [IO related page flags] 1. ERROR IO error occurred 3. UPTODATE page has up-to-date data diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 95eba3135018..92f9924c4335 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -1832,13 +1832,6 @@ L: alsa-devel@alsa-project.org (moderated for non-subscribers) S: Supported F: sound/soc/codecs/cs4270* -CLEANCACHE API -M: Konrad Rzeszutek Wilk -L: linux-kernel@vger.kernel.org -S: Maintained -F: mm/cleancache.c -F: include/linux/cleancache.h - CLK API M: Russell King F: include/linux/clk.h @@ -2109,13 +2102,6 @@ W: http://www.cyclades.com/ S: Orphan F: drivers/net/wan/pc300* -CYTTSP TOUCHSCREEN DRIVER -M: Javier Martinez Canillas -L: linux-input@vger.kernel.org -S: Maintained -F: drivers/input/touchscreen/cyttsp* -F: include/linux/input/cyttsp.h - DAMA SLAVE for AX.25 M: Joerg Reuter W: http://yaina.de/jreuter/ @@ -2257,15 +2243,6 @@ F: Documentation/filesystems/quota.txt F: fs/quota/ F: include/linux/quota*.h -DISPLAYLINK USB 2.0 FRAMEBUFFER DRIVER (UDLFB) -M: Bernie Thompson -L: linux-fbdev@vger.kernel.org -S: Maintained -W: http://plugable.com/category/projects/udlfb/ -F: drivers/video/udlfb.c -F: include/video/udlfb.h -F: Documentation/fb/udlfb.txt - DISTRIBUTED LOCK MANAGER (DLM) M: Christine Caulfield M: David Teigland @@ -2387,6 +2364,15 @@ S: Supported F: drivers/gpu/drm/exynos F: include/drm/exynos* +EXYNOS MIPI DISPLAY DRIVERS +M: Inki Dae +M: Donghwa Lee +M: Kyungmin Park +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/exynos/exynos_mipi* +F: include/video/exynos_mipi* + DSCC4 DRIVER M: Francois Romieu L: netdev@vger.kernel.org @@ -2667,21 +2653,6 @@ M: Mimi Zohar S: Supported F: security/integrity/evm/ -EXYNOS DP DRIVER -M: Jingoo Han -L: linux-fbdev@vger.kernel.org -S: Maintained -F: drivers/video/exynos/exynos_dp* - -EXYNOS MIPI DISPLAY DRIVERS -M: Inki Dae -M: Donghwa Lee -M: Kyungmin Park -L: linux-fbdev@vger.kernel.org -S: Maintained -F: drivers/video/exynos/exynos_mipi* -F: include/video/exynos_mipi* - F71805F HARDWARE MONITORING DRIVER M: Jean Delvare L: lm-sensors@lm-sensors.org @@ -4100,7 +4071,7 @@ M: Josh Boyer M: Matt Porter W: http://www.penguinppc.org/ L: linuxppc-dev@lists.ozlabs.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git +T: git git://git.infradead.org/users/jwboyer/powerpc-4xx.git S: Maintained F: arch/powerpc/platforms/40x/ F: arch/powerpc/platforms/44x/ diff --git a/trunk/arch/alpha/kernel/binfmt_loader.c b/trunk/arch/alpha/kernel/binfmt_loader.c index d1f474d1d44d..3fcfad410130 100644 --- a/trunk/arch/alpha/kernel/binfmt_loader.c +++ b/trunk/arch/alpha/kernel/binfmt_loader.c @@ -46,7 +46,6 @@ static struct linux_binfmt loader_format = { static int __init init_loader_binfmt(void) { - insert_binfmt(&loader_format); - return 0; + return insert_binfmt(&loader_format); } arch_initcall(init_loader_binfmt); diff --git a/trunk/arch/arm/mach-ep93xx/core.c b/trunk/arch/arm/mach-ep93xx/core.c index b5c1dae8327f..24203f9a6796 100644 --- a/trunk/arch/arm/mach-ep93xx/core.c +++ b/trunk/arch/arm/mach-ep93xx/core.c @@ -817,12 +817,23 @@ void __init ep93xx_register_i2s(void) #define EP93XX_I2SCLKDIV_MASK (EP93XX_SYSCON_I2SCLKDIV_ORIDE | \ EP93XX_SYSCON_I2SCLKDIV_SPOL) -int ep93xx_i2s_acquire(void) +int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config) { unsigned val; - ep93xx_devcfg_set_clear(EP93XX_SYSCON_DEVCFG_I2SONAC97, - EP93XX_SYSCON_DEVCFG_I2S_MASK); + /* Sanity check */ + if (i2s_pins & ~EP93XX_SYSCON_DEVCFG_I2S_MASK) + return -EINVAL; + if (i2s_config & ~EP93XX_I2SCLKDIV_MASK) + return -EINVAL; + + /* Must have only one of I2SONSSP/I2SONAC97 set */ + if ((i2s_pins & EP93XX_SYSCON_DEVCFG_I2SONSSP) == + (i2s_pins & EP93XX_SYSCON_DEVCFG_I2SONAC97)) + return -EINVAL; + + ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_I2S_MASK); + ep93xx_devcfg_set_bits(i2s_pins); /* * This is potentially racy with the clock api for i2s_mclk, sclk and @@ -832,7 +843,7 @@ int ep93xx_i2s_acquire(void) */ val = __raw_readl(EP93XX_SYSCON_I2SCLKDIV); val &= ~EP93XX_I2SCLKDIV_MASK; - val |= EP93XX_SYSCON_I2SCLKDIV_ORIDE | EP93XX_SYSCON_I2SCLKDIV_SPOL; + val |= i2s_config; ep93xx_syscon_swlocked_write(val, EP93XX_SYSCON_I2SCLKDIV); return 0; diff --git a/trunk/arch/arm/mach-ep93xx/include/mach/platform.h b/trunk/arch/arm/mach-ep93xx/include/mach/platform.h index ad63d4be693f..d4c934931f9d 100644 --- a/trunk/arch/arm/mach-ep93xx/include/mach/platform.h +++ b/trunk/arch/arm/mach-ep93xx/include/mach/platform.h @@ -59,7 +59,7 @@ void ep93xx_register_keypad(struct ep93xx_keypad_platform_data *data); int ep93xx_keypad_acquire_gpio(struct platform_device *pdev); void ep93xx_keypad_release_gpio(struct platform_device *pdev); void ep93xx_register_i2s(void); -int ep93xx_i2s_acquire(void); +int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config); void ep93xx_i2s_release(void); void ep93xx_register_ac97(void); diff --git a/trunk/arch/arm/mach-imx/Kconfig b/trunk/arch/arm/mach-imx/Kconfig index 3919fba52ac8..4defb97bbfc8 100644 --- a/trunk/arch/arm/mach-imx/Kconfig +++ b/trunk/arch/arm/mach-imx/Kconfig @@ -46,6 +46,7 @@ config SOC_IMX21 bool select MACH_MX21 select CPU_ARM926T + select ARCH_MXC_AUDMUX_V1 select IMX_HAVE_DMA_V1 select IMX_HAVE_IOMUX_V1 select MXC_AVIC @@ -54,6 +55,7 @@ config SOC_IMX25 bool select ARCH_MX25 select CPU_ARM926T + select ARCH_MXC_AUDMUX_V2 select ARCH_MXC_IOMUX_V3 select MXC_AVIC @@ -61,6 +63,7 @@ config SOC_IMX27 bool select MACH_MX27 select CPU_ARM926T + select ARCH_MXC_AUDMUX_V1 select IMX_HAVE_DMA_V1 select IMX_HAVE_IOMUX_V1 select MXC_AVIC @@ -69,6 +72,7 @@ config SOC_IMX31 bool select CPU_V6 select IMX_HAVE_PLATFORM_MXC_RNGA + select ARCH_MXC_AUDMUX_V2 select MXC_AVIC select SMP_ON_UP if SMP @@ -76,6 +80,7 @@ config SOC_IMX35 bool select CPU_V6 select ARCH_MXC_IOMUX_V3 + select ARCH_MXC_AUDMUX_V2 select HAVE_EPIT select MXC_AVIC select SMP_ON_UP if SMP @@ -84,6 +89,7 @@ config SOC_IMX5 select CPU_V7 select MXC_TZIC select ARCH_MXC_IOMUX_V3 + select ARCH_MXC_AUDMUX_V2 select ARCH_HAS_CPUFREQ select ARCH_MX5 bool diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c index 5f2f91d1798b..5db3e1463af7 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c @@ -32,6 +32,7 @@ #include #include #include +#include #include "devices-imx27.h" @@ -305,6 +306,25 @@ void __init eukrea_mbimx27_baseboard_init(void) mxc_gpio_setup_multiple_pins(eukrea_mbimx27_pins, ARRAY_SIZE(eukrea_mbimx27_pins), "MBIMX27"); +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) \ + || defined(CONFIG_SND_SOC_EUKREA_TLV320_MODULE) + /* SSI unit master I2S codec connected to SSI_PINS_4*/ + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, + MXC_AUDMUX_V1_PCR_SYN | + MXC_AUDMUX_V1_PCR_TFSDIR | + MXC_AUDMUX_V1_PCR_TCLKDIR | + MXC_AUDMUX_V1_PCR_RFSDIR | + MXC_AUDMUX_V1_PCR_RCLKDIR | + MXC_AUDMUX_V1_PCR_TFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | + MXC_AUDMUX_V1_PCR_RFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | + MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) + ); + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR3_SSI_PINS_4, + MXC_AUDMUX_V1_PCR_SYN | + MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0) + ); +#endif + imx27_add_imx_uart1(&uart_pdata); imx27_add_imx_uart2(&uart_pdata); #if !defined(MACH_EUKREA_CPUIMX27_USEUART4) diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c index aaa592fdb9ce..d817fc80b986 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "devices-imx51.h" diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c index 2cf603e11c4f..66e8726253fa 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c @@ -31,6 +31,7 @@ #include #include #include +#include #include "devices-imx25.h" @@ -240,6 +241,22 @@ void __init eukrea_mbimxsd25_baseboard_init(void) ARRAY_SIZE(eukrea_mbimxsd_pads))) printk(KERN_ERR "error setting mbimxsd pads !\n"); +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) + /* SSI unit master I2S codec connected to SSI_AUD5*/ + mxc_audmux_v2_configure_port(0, + MXC_AUDMUX_V2_PTCR_SYN | + MXC_AUDMUX_V2_PTCR_TFSDIR | + MXC_AUDMUX_V2_PTCR_TFSEL(4) | + MXC_AUDMUX_V2_PTCR_TCLKDIR | + MXC_AUDMUX_V2_PTCR_TCSEL(4), + MXC_AUDMUX_V2_PDCR_RXDSEL(4) + ); + mxc_audmux_v2_configure_port(4, + MXC_AUDMUX_V2_PTCR_SYN, + MXC_AUDMUX_V2_PDCR_RXDSEL(0) + ); +#endif + imx25_add_imx_uart1(&uart_pdata); imx25_add_imx_fb(&eukrea_mximxsd_fb_pdata); imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata); diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c index fd8bf8a425a7..0f0af02b3182 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c @@ -38,6 +38,7 @@ #include #include #include +#include #include "devices-imx35.h" @@ -251,6 +252,22 @@ void __init eukrea_mbimxsd35_baseboard_init(void) ARRAY_SIZE(eukrea_mbimxsd_pads))) printk(KERN_ERR "error setting mbimxsd pads !\n"); +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) + /* SSI unit master I2S codec connected to SSI_AUD4 */ + mxc_audmux_v2_configure_port(0, + MXC_AUDMUX_V2_PTCR_SYN | + MXC_AUDMUX_V2_PTCR_TFSDIR | + MXC_AUDMUX_V2_PTCR_TFSEL(3) | + MXC_AUDMUX_V2_PTCR_TCLKDIR | + MXC_AUDMUX_V2_PTCR_TCSEL(3), + MXC_AUDMUX_V2_PDCR_RXDSEL(3) + ); + mxc_audmux_v2_configure_port(3, + MXC_AUDMUX_V2_PTCR_SYN, + MXC_AUDMUX_V2_PDCR_RXDSEL(0) + ); +#endif + imx35_add_imx_uart1(&uart_pdata); imx35_add_ipu_core(&mx3_ipu_data); imx35_add_mx3_sdc_fb(&mx3fb_pdata); diff --git a/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index 428459fbca4b..c2766ae02b4f 100644 --- a/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c @@ -263,7 +263,6 @@ static void __init visstrim_m10_board_init(void) imx27_add_fec(NULL); imx_add_gpio_keys(&visstrim_gpio_keys_platform_data); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); - imx_add_platform_device("mx27vis", 0, NULL, 0, NULL, 0); } static void __init visstrim_m10_timer_init(void) diff --git a/trunk/arch/arm/mach-imx/mach-pca100.c b/trunk/arch/arm/mach-imx/mach-pca100.c index 541152e450c4..d3b9c6b5edde 100644 --- a/trunk/arch/arm/mach-imx/mach-pca100.c +++ b/trunk/arch/arm/mach-imx/mach-pca100.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -358,6 +359,18 @@ static void __init pca100_init(void) imx27_soc_init(); + /* SSI unit */ + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, + MXC_AUDMUX_V1_PCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V1_PCR_TFCSEL(3) | + MXC_AUDMUX_V1_PCR_TCLKDIR | /* clock is output */ + MXC_AUDMUX_V1_PCR_RXDSEL(3)); + mxc_audmux_v1_configure_port(3, + MXC_AUDMUX_V1_PCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V1_PCR_TFCSEL(0) | + MXC_AUDMUX_V1_PCR_TFSDIR | + MXC_AUDMUX_V1_PCR_RXDSEL(0)); + ret = mxc_gpio_setup_multiple_pins(pca100_pins, ARRAY_SIZE(pca100_pins), "PCA100"); if (ret) diff --git a/trunk/arch/arm/mach-imx/mach-pcm043.c b/trunk/arch/arm/mach-imx/mach-pcm043.c index 237474fcca23..06dc106519ae 100644 --- a/trunk/arch/arm/mach-imx/mach-pcm043.c +++ b/trunk/arch/arm/mach-imx/mach-pcm043.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "devices-imx35.h" @@ -361,6 +362,18 @@ static void __init pcm043_init(void) mxc_iomux_v3_setup_multiple_pads(pcm043_pads, ARRAY_SIZE(pcm043_pads)); + mxc_audmux_v2_configure_port(3, + MXC_AUDMUX_V2_PTCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V2_PTCR_TFSEL(0) | + MXC_AUDMUX_V2_PTCR_TFSDIR, + MXC_AUDMUX_V2_PDCR_RXDSEL(0)); + + mxc_audmux_v2_configure_port(0, + MXC_AUDMUX_V2_PTCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V2_PTCR_TCSEL(3) | + MXC_AUDMUX_V2_PTCR_TCLKDIR, /* clock is output */ + MXC_AUDMUX_V2_PDCR_RXDSEL(3)); + imx35_add_fec(NULL); platform_add_devices(devices, ARRAY_SIZE(devices)); imx35_add_imx2_wdt(NULL); diff --git a/trunk/arch/arm/mach-imx/mm-imx21.c b/trunk/arch/arm/mach-imx/mm-imx21.c index 14d540edfd1e..3f05dfebacc9 100644 --- a/trunk/arch/arm/mach-imx/mm-imx21.c +++ b/trunk/arch/arm/mach-imx/mm-imx21.c @@ -75,10 +75,6 @@ void __init mx21_init_irq(void) mxc_init_irq(MX21_IO_ADDRESS(MX21_AVIC_BASE_ADDR)); } -static const struct resource imx21_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX21_AUDMUX_BASE_ADDR, SZ_4K), -}; - void __init imx21_soc_init(void) { mxc_register_gpio("imx21-gpio", 0, MX21_GPIO1_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0); @@ -89,6 +85,4 @@ void __init imx21_soc_init(void) mxc_register_gpio("imx21-gpio", 5, MX21_GPIO6_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0); imx_add_imx_dma(); - platform_device_register_simple("imx21-audmux", 0, imx21_audmux_res, - ARRAY_SIZE(imx21_audmux_res)); } diff --git a/trunk/arch/arm/mach-imx/mm-imx25.c b/trunk/arch/arm/mach-imx/mm-imx25.c index 153b457acdc0..cc4d152bd9bd 100644 --- a/trunk/arch/arm/mach-imx/mm-imx25.c +++ b/trunk/arch/arm/mach-imx/mm-imx25.c @@ -83,10 +83,6 @@ static struct sdma_platform_data imx25_sdma_pdata __initdata = { .script_addrs = &imx25_sdma_script, }; -static const struct resource imx25_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX25_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx25_soc_init(void) { /* i.mx25 has the i.mx31 type gpio */ @@ -97,7 +93,4 @@ void __init imx25_soc_init(void) /* i.mx25 has the i.mx35 type sdma */ imx_add_imx_sdma("imx35-sdma", MX25_SDMA_BASE_ADDR, MX25_INT_SDMA, &imx25_sdma_pdata); - /* i.mx25 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx25_audmux_res, - ARRAY_SIZE(imx25_audmux_res)); } diff --git a/trunk/arch/arm/mach-imx/mm-imx27.c b/trunk/arch/arm/mach-imx/mm-imx27.c index 8cb3f5e3e569..96dd1f5ea7bd 100644 --- a/trunk/arch/arm/mach-imx/mm-imx27.c +++ b/trunk/arch/arm/mach-imx/mm-imx27.c @@ -75,10 +75,6 @@ void __init mx27_init_irq(void) mxc_init_irq(MX27_IO_ADDRESS(MX27_AVIC_BASE_ADDR)); } -static const struct resource imx27_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX27_AUDMUX_BASE_ADDR, SZ_4K), -}; - void __init imx27_soc_init(void) { /* i.mx27 has the i.mx21 type gpio */ @@ -90,7 +86,4 @@ void __init imx27_soc_init(void) mxc_register_gpio("imx21-gpio", 5, MX27_GPIO6_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx_add_imx_dma(); - /* imx27 has the imx21 type audmux */ - platform_device_register_simple("imx21-audmux", 0, imx27_audmux_res, - ARRAY_SIZE(imx27_audmux_res)); } diff --git a/trunk/arch/arm/mach-imx/mm-imx3.c b/trunk/arch/arm/mach-imx/mm-imx3.c index 2530c151b7b3..31807d2a8b7b 100644 --- a/trunk/arch/arm/mach-imx/mm-imx3.c +++ b/trunk/arch/arm/mach-imx/mm-imx3.c @@ -158,10 +158,6 @@ static struct sdma_platform_data imx31_sdma_pdata __initdata = { .script_addrs = &imx31_to2_sdma_script, }; -static const struct resource imx31_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX31_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx31_soc_init(void) { int to_version = mx31_revision() >> 4; @@ -179,8 +175,6 @@ void __init imx31_soc_init(void) } imx_add_imx_sdma("imx31-sdma", MX31_SDMA_BASE_ADDR, MX31_INT_SDMA, &imx31_sdma_pdata); - platform_device_register_simple("imx31-audmux", 0, imx31_audmux_res, - ARRAY_SIZE(imx31_audmux_res)); } #endif /* ifdef CONFIG_SOC_IMX31 */ @@ -247,10 +241,6 @@ static struct sdma_platform_data imx35_sdma_pdata __initdata = { .script_addrs = &imx35_to2_sdma_script, }; -static const struct resource imx35_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX35_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx35_soc_init(void) { int to_version = mx35_revision() >> 4; @@ -269,8 +259,5 @@ void __init imx35_soc_init(void) } imx_add_imx_sdma("imx35-sdma", MX35_SDMA_BASE_ADDR, MX35_INT_SDMA, &imx35_sdma_pdata); - /* i.mx35 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx35_audmux_res, - ARRAY_SIZE(imx35_audmux_res)); } #endif /* ifdef CONFIG_SOC_IMX35 */ diff --git a/trunk/arch/arm/mach-imx/mm-imx5.c b/trunk/arch/arm/mach-imx/mm-imx5.c index 90d7880bb372..bc17dfea3817 100644 --- a/trunk/arch/arm/mach-imx/mm-imx5.c +++ b/trunk/arch/arm/mach-imx/mm-imx5.c @@ -170,18 +170,6 @@ static struct sdma_platform_data imx53_sdma_pdata __initdata = { .script_addrs = &imx53_sdma_script, }; -static const struct resource imx50_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX50_AUDMUX_BASE_ADDR, SZ_16K), -}; - -static const struct resource imx51_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX51_AUDMUX_BASE_ADDR, SZ_16K), -}; - -static const struct resource imx53_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX53_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx50_soc_init(void) { /* i.mx50 has the i.mx31 type gpio */ @@ -191,10 +179,6 @@ void __init imx50_soc_init(void) mxc_register_gpio("imx31-gpio", 3, MX50_GPIO4_BASE_ADDR, SZ_16K, MX50_INT_GPIO4_LOW, MX50_INT_GPIO4_HIGH); mxc_register_gpio("imx31-gpio", 4, MX50_GPIO5_BASE_ADDR, SZ_16K, MX50_INT_GPIO5_LOW, MX50_INT_GPIO5_HIGH); mxc_register_gpio("imx31-gpio", 5, MX50_GPIO6_BASE_ADDR, SZ_16K, MX50_INT_GPIO6_LOW, MX50_INT_GPIO6_HIGH); - - /* i.mx50 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx50_audmux_res, - ARRAY_SIZE(imx50_audmux_res)); } void __init imx51_soc_init(void) @@ -207,9 +191,6 @@ void __init imx51_soc_init(void) /* i.mx51 has the i.mx35 type sdma */ imx_add_imx_sdma("imx35-sdma", MX51_SDMA_BASE_ADDR, MX51_INT_SDMA, &imx51_sdma_pdata); - /* i.mx51 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx51_audmux_res, - ARRAY_SIZE(imx51_audmux_res)); } void __init imx53_soc_init(void) @@ -225,7 +206,4 @@ void __init imx53_soc_init(void) /* i.mx53 has the i.mx35 type sdma */ imx_add_imx_sdma("imx35-sdma", MX53_SDMA_BASE_ADDR, MX53_INT_SDMA, &imx53_sdma_pdata); - /* i.mx53 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx53_audmux_res, - ARRAY_SIZE(imx53_audmux_res)); } diff --git a/trunk/arch/arm/mach-kirkwood/openrd-setup.c b/trunk/arch/arm/mach-kirkwood/openrd-setup.c index 7e99c3f340fc..01f8c8992880 100644 --- a/trunk/arch/arm/mach-kirkwood/openrd-setup.c +++ b/trunk/arch/arm/mach-kirkwood/openrd-setup.c @@ -83,11 +83,6 @@ static struct i2c_board_info i2c_board_info[] __initdata = { }, }; -static struct platform_device openrd_client_audio_device = { - .name = "openrd-client-audio", - .id = -1, -}; - static int __initdata uart1; static int __init sd_uart_selection(char *str) @@ -177,7 +172,6 @@ static void __init openrd_init(void) kirkwood_i2c_init(); if (machine_is_openrd_client() || machine_is_openrd_ultimate()) { - platform_device_register(&openrd_client_audio_device); i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info)); kirkwood_audio_init(); diff --git a/trunk/arch/arm/mach-kirkwood/t5325-setup.c b/trunk/arch/arm/mach-kirkwood/t5325-setup.c index f9d2a11b7f96..966b2b3bb813 100644 --- a/trunk/arch/arm/mach-kirkwood/t5325-setup.c +++ b/trunk/arch/arm/mach-kirkwood/t5325-setup.c @@ -106,11 +106,6 @@ static struct platform_device hp_t5325_button_device = { } }; -static struct platform_device hp_t5325_audio_device = { - .name = "t5325-audio", - .id = -1, -}; - static unsigned int hp_t5325_mpp_config[] __initdata = { MPP0_NF_IO2, MPP1_SPI_MOSI, @@ -184,7 +179,6 @@ static void __init hp_t5325_init(void) kirkwood_sata_init(&hp_t5325_sata_data); kirkwood_ehci_init(); platform_device_register(&hp_t5325_button_device); - platform_device_register(&hp_t5325_audio_device); i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info)); kirkwood_audio_init(); diff --git a/trunk/arch/arm/mach-omap1/Kconfig b/trunk/arch/arm/mach-omap1/Kconfig index 922ab0dc2bcd..4f8d66f044e7 100644 --- a/trunk/arch/arm/mach-omap1/Kconfig +++ b/trunk/arch/arm/mach-omap1/Kconfig @@ -37,6 +37,7 @@ comment "OMAP Board Type" config MACH_OMAP_INNOVATOR bool "TI Innovator" depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX) + select OMAP_MCBSP help TI OMAP 1510 or 1610 Innovator board support. Say Y here if you have such a board. @@ -44,6 +45,7 @@ config MACH_OMAP_INNOVATOR config MACH_OMAP_H2 bool "TI H2 Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX + select OMAP_MCBSP help TI OMAP 1610/1611B H2 board support. Say Y here if you have such a board. @@ -70,6 +72,7 @@ config MACH_HERALD config MACH_OMAP_OSK bool "TI OSK Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX + select OMAP_MCBSP help TI OMAP 5912 OSK (OMAP Starter Kit) board support. Say Y here if you have such a board. diff --git a/trunk/arch/arm/mach-omap1/Makefile b/trunk/arch/arm/mach-omap1/Makefile index 9923f92b5450..11c85cd2731a 100644 --- a/trunk/arch/arm/mach-omap1/Makefile +++ b/trunk/arch/arm/mach-omap1/Makefile @@ -6,9 +6,7 @@ obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o timer.o -ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) -obj-y += mcbsp.o -endif +obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o diff --git a/trunk/arch/arm/mach-omap1/board-ams-delta.c b/trunk/arch/arm/mach-omap1/board-ams-delta.c index e0e8245f3c9f..88909cc0b254 100644 --- a/trunk/arch/arm/mach-omap1/board-ams-delta.c +++ b/trunk/arch/arm/mach-omap1/board-ams-delta.c @@ -20,7 +20,6 @@ #include #include #include -#include #include @@ -170,6 +169,10 @@ static struct omap_usb_config ams_delta_usb_config __initdata = { .pins[0] = 2, }; +static struct omap_board_config_kernel ams_delta_config[] __initdata = { + { OMAP_TAG_LCD, &ams_delta_lcd_config }, +}; + static struct resource ams_delta_nand_resources[] = { [0] = { .start = OMAP1_MPUIO_BASE, @@ -299,6 +302,8 @@ static void __init ams_delta_init(void) omap_cfg_reg(J19_1610_CAM_D6); omap_cfg_reg(J18_1610_CAM_D7); + omap_board_config = ams_delta_config; + omap_board_config_size = ARRAY_SIZE(ams_delta_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); @@ -316,8 +321,6 @@ static void __init ams_delta_init(void) ams_delta_init_fiq(); omap_writew(omap_readw(ARM_RSTCT1) | 0x0004, ARM_RSTCT1); - - omapfb_set_lcd_config(&ams_delta_lcd_config); } static struct plat_serial8250_port ams_delta_modem_ports[] = { diff --git a/trunk/arch/arm/mach-omap1/board-fsample.c b/trunk/arch/arm/mach-omap1/board-fsample.c index 7afaf3c5bdc6..0b9464b41212 100644 --- a/trunk/arch/arm/mach-omap1/board-fsample.c +++ b/trunk/arch/arm/mach-omap1/board-fsample.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -274,17 +273,27 @@ static struct platform_device kp_device = { .resource = kp_resources, }; +static struct platform_device lcd_device = { + .name = "lcd_p2", + .id = -1, +}; + static struct platform_device *devices[] __initdata = { &nor_device, &nand_device, &smc91x_device, &kp_device, + &lcd_device, }; static struct omap_lcd_config fsample_lcd_config = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel fsample_config[] __initdata = { + { OMAP_TAG_LCD, &fsample_lcd_config }, +}; + static void __init omap_fsample_init(void) { /* Early, board-dependent init */ @@ -343,10 +352,10 @@ static void __init omap_fsample_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); + omap_board_config = fsample_config; + omap_board_config_size = ARRAY_SIZE(fsample_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&fsample_lcd_config); } /* Only FPGA needs to be mapped here. All others are done with ioremap */ diff --git a/trunk/arch/arm/mach-omap1/board-h2.c b/trunk/arch/arm/mach-omap1/board-h2.c index af2be8c12c07..00ad6b22d60a 100644 --- a/trunk/arch/arm/mach-omap1/board-h2.c +++ b/trunk/arch/arm/mach-omap1/board-h2.c @@ -30,7 +30,6 @@ #include #include #include -#include #include @@ -326,12 +325,18 @@ static struct platform_device h2_irda_device = { .resource = h2_irda_resources, }; +static struct platform_device h2_lcd_device = { + .name = "lcd_h2", + .id = -1, +}; + static struct platform_device *h2_devices[] __initdata = { &h2_nor_device, &h2_nand_device, &h2_smc91x_device, &h2_irda_device, &h2_kp_device, + &h2_lcd_device, }; static void __init h2_init_smc91x(void) @@ -386,6 +391,10 @@ static struct omap_lcd_config h2_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel h2_config[] __initdata = { + { OMAP_TAG_LCD, &h2_lcd_config }, +}; + static void __init h2_init(void) { h2_init_smc91x(); @@ -429,13 +438,13 @@ static void __init h2_init(void) omap_cfg_reg(N19_1610_KBR5); platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices)); + omap_board_config = h2_config; + omap_board_config_size = ARRAY_SIZE(h2_config); omap_serial_init(); omap_register_i2c_bus(1, 100, h2_i2c_board_info, ARRAY_SIZE(h2_i2c_board_info)); omap1_usb_init(&h2_usb_config); h2_mmc_init(); - - omapfb_set_lcd_config(&h2_lcd_config); } MACHINE_START(OMAP_H2, "TI-H2") diff --git a/trunk/arch/arm/mach-omap1/board-h3.c b/trunk/arch/arm/mach-omap1/board-h3.c index 7cfd25b90735..4a7f25149703 100644 --- a/trunk/arch/arm/mach-omap1/board-h3.c +++ b/trunk/arch/arm/mach-omap1/board-h3.c @@ -30,7 +30,6 @@ #include #include #include -#include #include #include @@ -371,6 +370,10 @@ static struct omap_lcd_config h3_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel h3_config[] __initdata = { + { OMAP_TAG_LCD, &h3_lcd_config }, +}; + static struct i2c_board_info __initdata h3_i2c_board_info[] = { { I2C_BOARD_INFO("tps65013", 0x48), @@ -423,13 +426,13 @@ static void __init h3_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); spi_register_board_info(h3_spi_board_info, ARRAY_SIZE(h3_spi_board_info)); + omap_board_config = h3_config; + omap_board_config_size = ARRAY_SIZE(h3_config); omap_serial_init(); omap_register_i2c_bus(1, 100, h3_i2c_board_info, ARRAY_SIZE(h3_i2c_board_info)); omap1_usb_init(&h3_usb_config); h3_mmc_init(); - - omapfb_set_lcd_config(&h3_lcd_config); } MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") diff --git a/trunk/arch/arm/mach-omap1/board-htcherald.c b/trunk/arch/arm/mach-omap1/board-htcherald.c index af2afcf24f75..731cc3db7ab3 100644 --- a/trunk/arch/arm/mach-omap1/board-htcherald.c +++ b/trunk/arch/arm/mach-omap1/board-htcherald.c @@ -36,7 +36,6 @@ #include #include #include -#include #include #include @@ -399,6 +398,10 @@ static struct omap_lcd_config htcherald_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel htcherald_config[] __initdata = { + { OMAP_TAG_LCD, &htcherald_lcd_config }, +}; + static struct platform_device lcd_device = { .name = "lcd_htcherald", .id = -1, @@ -577,6 +580,8 @@ static void __init htcherald_init(void) printk(KERN_INFO "HTC Herald init.\n"); /* Do board initialization before we register all the devices */ + omap_board_config = htcherald_config; + omap_board_config_size = ARRAY_SIZE(htcherald_config); platform_add_devices(devices, ARRAY_SIZE(devices)); htcherald_disable_watchdog(); @@ -593,8 +598,6 @@ static void __init htcherald_init(void) htc_mmc_data[0] = &htc_mmc1_data; omap1_init_mmc(htc_mmc_data, 1); #endif - - omapfb_set_lcd_config(&htcherald_lcd_config); } MACHINE_START(HERALD, "HTC Herald") diff --git a/trunk/arch/arm/mach-omap1/board-innovator.c b/trunk/arch/arm/mach-omap1/board-innovator.c index 1d5ab6606b9f..be2002f42dea 100644 --- a/trunk/arch/arm/mach-omap1/board-innovator.c +++ b/trunk/arch/arm/mach-omap1/board-innovator.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include @@ -371,6 +370,10 @@ static inline void innovator_mmc_init(void) } #endif +static struct omap_board_config_kernel innovator_config[] = { + { OMAP_TAG_LCD, NULL }, +}; + static void __init innovator_init(void) { if (cpu_is_omap1510()) @@ -413,15 +416,17 @@ static void __init innovator_init(void) #ifdef CONFIG_ARCH_OMAP15XX if (cpu_is_omap1510()) { omap1_usb_init(&innovator1510_usb_config); - omapfb_set_lcd_config(&innovator1510_lcd_config); + innovator_config[0].data = &innovator1510_lcd_config; } #endif #ifdef CONFIG_ARCH_OMAP16XX if (cpu_is_omap1610()) { omap1_usb_init(&h2_usb_config); - omapfb_set_lcd_config(&innovator1610_lcd_config); + innovator_config[0].data = &innovator1610_lcd_config; } #endif + omap_board_config = innovator_config; + omap_board_config_size = ARRAY_SIZE(innovator_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); innovator_mmc_init(); diff --git a/trunk/arch/arm/mach-omap1/board-nokia770.c b/trunk/arch/arm/mach-omap1/board-nokia770.c index 9b6332a31fb6..f9efc036ba96 100644 --- a/trunk/arch/arm/mach-omap1/board-nokia770.c +++ b/trunk/arch/arm/mach-omap1/board-nokia770.c @@ -31,6 +31,7 @@ #include #include #include "common.h" +#include #include #include #include @@ -98,16 +99,15 @@ static struct mipid_platform_data nokia770_mipid_platform_data = { .shutdown = mipid_shutdown, }; -static struct omap_lcd_config nokia770_lcd_config __initdata = { - .ctrl_name = "hwa742", -}; - static void __init mipid_dev_init(void) { - nokia770_mipid_platform_data.nreset_gpio = 13; - nokia770_mipid_platform_data.data_lines = 16; + const struct omap_lcd_config *conf; - omapfb_set_lcd_config(&nokia770_lcd_config); + conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config); + if (conf != NULL) { + nokia770_mipid_platform_data.nreset_gpio = conf->nreset_gpio; + nokia770_mipid_platform_data.data_lines = conf->data_lines; + } } static void __init ads7846_dev_init(void) @@ -150,9 +150,14 @@ static struct spi_board_info nokia770_spi_board_info[] __initdata = { }, }; +static struct hwa742_platform_data nokia770_hwa742_platform_data = { + .te_connected = 1, +}; + static void __init hwa742_dev_init(void) { clk_add_alias("hwa_sys_ck", NULL, "bclk", NULL); + omapfb_set_ctrl_platform_data(&nokia770_hwa742_platform_data); } /* assume no Mini-AB port */ diff --git a/trunk/arch/arm/mach-omap1/board-osk.c b/trunk/arch/arm/mach-omap1/board-osk.c index ef874655fbd3..675de06557aa 100644 --- a/trunk/arch/arm/mach-omap1/board-osk.c +++ b/trunk/arch/arm/mach-omap1/board-osk.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include @@ -301,6 +300,12 @@ static struct omap_lcd_config osk_lcd_config __initdata = { }; #endif +static struct omap_board_config_kernel osk_config[] __initdata = { +#ifdef CONFIG_OMAP_OSK_MISTRAL + { OMAP_TAG_LCD, &osk_lcd_config }, +#endif +}; + #ifdef CONFIG_OMAP_OSK_MISTRAL #include @@ -544,6 +549,8 @@ static void __init osk_init(void) osk_flash_resource.end = osk_flash_resource.start = omap_cs3_phys(); osk_flash_resource.end += SZ_32M - 1; platform_add_devices(osk5912_devices, ARRAY_SIZE(osk5912_devices)); + omap_board_config = osk_config; + omap_board_config_size = ARRAY_SIZE(osk_config); l = omap_readl(USB_TRANSCEIVER_CTRL); l |= (3 << 1); @@ -560,11 +567,6 @@ static void __init osk_init(void) omap_register_i2c_bus(1, 400, osk_i2c_board_info, ARRAY_SIZE(osk_i2c_board_info)); osk_mistral_init(); - -#ifdef CONFIG_OMAP_OSK_MISTRAL - omapfb_set_lcd_config(&osk_lcd_config); -#endif - } MACHINE_START(OMAP_OSK, "TI-OSK") diff --git a/trunk/arch/arm/mach-omap1/board-palmte.c b/trunk/arch/arm/mach-omap1/board-palmte.c index 612342cb2a2d..81fa27f88369 100644 --- a/trunk/arch/arm/mach-omap1/board-palmte.c +++ b/trunk/arch/arm/mach-omap1/board-palmte.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include @@ -210,6 +209,10 @@ static struct omap_lcd_config palmte_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel palmte_config[] __initdata = { + { OMAP_TAG_LCD, &palmte_lcd_config }, +}; + static struct spi_board_info palmte_spi_info[] __initdata = { { .modalias = "tsc2102", @@ -247,6 +250,9 @@ static void __init omap_palmte_init(void) omap_cfg_reg(UART3_TX); omap_cfg_reg(UART3_RX); + omap_board_config = palmte_config; + omap_board_config_size = ARRAY_SIZE(palmte_config); + platform_add_devices(palmte_devices, ARRAY_SIZE(palmte_devices)); spi_register_board_info(palmte_spi_info, ARRAY_SIZE(palmte_spi_info)); @@ -254,8 +260,6 @@ static void __init omap_palmte_init(void) omap_serial_init(); omap1_usb_init(&palmte_usb_config); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&palmte_lcd_config); } MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") diff --git a/trunk/arch/arm/mach-omap1/board-palmtt.c b/trunk/arch/arm/mach-omap1/board-palmtt.c index b63350bc88fd..81cb82178388 100644 --- a/trunk/arch/arm/mach-omap1/board-palmtt.c +++ b/trunk/arch/arm/mach-omap1/board-palmtt.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include @@ -274,6 +273,10 @@ static struct omap_lcd_config palmtt_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel palmtt_config[] __initdata = { + { OMAP_TAG_LCD, &palmtt_lcd_config }, +}; + static void __init omap_mpu_wdt_mode(int mode) { if (mode) omap_writew(0x8000, OMAP_WDT_TIMER_MODE); @@ -295,14 +298,15 @@ static void __init omap_palmtt_init(void) omap_mpu_wdt_mode(0); + omap_board_config = palmtt_config; + omap_board_config_size = ARRAY_SIZE(palmtt_config); + platform_add_devices(palmtt_devices, ARRAY_SIZE(palmtt_devices)); spi_register_board_info(palmtt_boardinfo,ARRAY_SIZE(palmtt_boardinfo)); omap_serial_init(); omap1_usb_init(&palmtt_usb_config); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&palmtt_lcd_config); } MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") diff --git a/trunk/arch/arm/mach-omap1/board-palmz71.c b/trunk/arch/arm/mach-omap1/board-palmz71.c index 9924c70af09f..e881945ce8ec 100644 --- a/trunk/arch/arm/mach-omap1/board-palmz71.c +++ b/trunk/arch/arm/mach-omap1/board-palmz71.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include @@ -240,6 +239,10 @@ static struct omap_lcd_config palmz71_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel palmz71_config[] __initdata = { + {OMAP_TAG_LCD, &palmz71_lcd_config}, +}; + static irqreturn_t palmz71_powercable(int irq, void *dev_id) { @@ -310,6 +313,9 @@ omap_palmz71_init(void) palmz71_gpio_setup(1); omap_mpu_wdt_mode(0); + omap_board_config = palmz71_config; + omap_board_config_size = ARRAY_SIZE(palmz71_config); + platform_add_devices(devices, ARRAY_SIZE(devices)); spi_register_board_info(palmz71_boardinfo, @@ -318,8 +324,6 @@ omap_palmz71_init(void) omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); palmz71_gpio_setup(0); - - omapfb_set_lcd_config(&palmz71_lcd_config); } MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") diff --git a/trunk/arch/arm/mach-omap1/board-perseus2.c b/trunk/arch/arm/mach-omap1/board-perseus2.c index 8e0153447c6d..c000bed76276 100644 --- a/trunk/arch/arm/mach-omap1/board-perseus2.c +++ b/trunk/arch/arm/mach-omap1/board-perseus2.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -233,17 +232,27 @@ static struct platform_device kp_device = { .resource = kp_resources, }; +static struct platform_device lcd_device = { + .name = "lcd_p2", + .id = -1, +}; + static struct platform_device *devices[] __initdata = { &nor_device, &nand_device, &smc91x_device, &kp_device, + &lcd_device, }; static struct omap_lcd_config perseus2_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel perseus2_config[] __initdata = { + { OMAP_TAG_LCD, &perseus2_lcd_config }, +}; + static void __init perseus2_init_smc91x(void) { fpga_write(1, H2P2_DBG_FPGA_LAN_RESET); @@ -311,10 +320,10 @@ static void __init omap_perseus2_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); + omap_board_config = perseus2_config; + omap_board_config_size = ARRAY_SIZE(perseus2_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&perseus2_lcd_config); } /* Only FPGA needs to be mapped here. All others are done with ioremap */ diff --git a/trunk/arch/arm/mach-omap1/board-sx1.c b/trunk/arch/arm/mach-omap1/board-sx1.c index 0c76e12337d9..7bcd82ab0fd0 100644 --- a/trunk/arch/arm/mach-omap1/board-sx1.c +++ b/trunk/arch/arm/mach-omap1/board-sx1.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include @@ -356,6 +355,11 @@ static struct omap_usb_config sx1_usb_config __initdata = { /*----------- LCD -------------------------*/ +static struct platform_device sx1_lcd_device = { + .name = "lcd_sx1", + .id = -1, +}; + static struct omap_lcd_config sx1_lcd_config __initdata = { .ctrl_name = "internal", }; @@ -364,8 +368,14 @@ static struct omap_lcd_config sx1_lcd_config __initdata = { static struct platform_device *sx1_devices[] __initdata = { &sx1_flash_device, &sx1_kp_device, + &sx1_lcd_device, &sx1_irda_device, }; +/*-----------------------------------------*/ + +static struct omap_board_config_kernel sx1_config[] __initdata = { + { OMAP_TAG_LCD, &sx1_lcd_config }, +}; /*-----------------------------------------*/ @@ -381,6 +391,8 @@ static void __init omap_sx1_init(void) platform_add_devices(sx1_devices, ARRAY_SIZE(sx1_devices)); + omap_board_config = sx1_config; + omap_board_config_size = ARRAY_SIZE(sx1_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); omap1_usb_init(&sx1_usb_config); @@ -394,8 +406,6 @@ static void __init omap_sx1_init(void) gpio_direction_output(1, 1); /*A_IRDA_OFF = 1 */ gpio_direction_output(11, 0); /*A_SWITCH = 0 */ gpio_direction_output(15, 0); /*A_USB_ON = 0 */ - - omapfb_set_lcd_config(&sx1_lcd_config); } MACHINE_START(SX1, "OMAP310 based Siemens SX1") diff --git a/trunk/arch/arm/mach-omap1/devices.c b/trunk/arch/arm/mach-omap1/devices.c index 187b2fe132e9..1d76a63c0983 100644 --- a/trunk/arch/arm/mach-omap1/devices.c +++ b/trunk/arch/arm/mach-omap1/devices.c @@ -28,6 +28,7 @@ #include #include #include +#include #include "clock.h" @@ -249,8 +250,16 @@ static struct platform_device omap_pcm = { .id = -1, }; +OMAP_MCBSP_PLATFORM_DEVICE(1); +OMAP_MCBSP_PLATFORM_DEVICE(2); +OMAP_MCBSP_PLATFORM_DEVICE(3); + static void omap_init_audio(void) { + platform_device_register(&omap_mcbsp1); + platform_device_register(&omap_mcbsp2); + if (!cpu_is_omap7xx()) + platform_device_register(&omap_mcbsp3); platform_device_register(&omap_pcm); } diff --git a/trunk/arch/arm/mach-omap1/mcbsp.c b/trunk/arch/arm/mach-omap1/mcbsp.c index 3e8410a99990..91f9abbd3250 100644 --- a/trunk/arch/arm/mach-omap1/mcbsp.c +++ b/trunk/arch/arm/mach-omap1/mcbsp.c @@ -419,6 +419,18 @@ static int __init omap1_mcbsp_init(void) if (!cpu_class_is_omap1()) return -ENODEV; + if (cpu_is_omap7xx()) + omap_mcbsp_count = OMAP7XX_MCBSP_COUNT; + else if (cpu_is_omap15xx()) + omap_mcbsp_count = OMAP15XX_MCBSP_COUNT; + else if (cpu_is_omap16xx()) + omap_mcbsp_count = OMAP16XX_MCBSP_COUNT; + + mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct omap_mcbsp *), + GFP_KERNEL); + if (!mcbsp_ptr) + return -ENOMEM; + if (cpu_is_omap7xx()) omap_mcbsp_register_board_cfg(omap7xx_mcbsp_res_0, OMAP7XX_MCBSP_RES_SZ, @@ -437,7 +449,7 @@ static int __init omap1_mcbsp_init(void) omap16xx_mcbsp_pdata, OMAP16XX_MCBSP_COUNT); - return 0; + return omap_mcbsp_init(); } arch_initcall(omap1_mcbsp_init); diff --git a/trunk/arch/arm/mach-omap2/Makefile b/trunk/arch/arm/mach-omap2/Makefile index 06326a6e460d..bd76394ccaf8 100644 --- a/trunk/arch/arm/mach-omap2/Makefile +++ b/trunk/arch/arm/mach-omap2/Makefile @@ -17,9 +17,7 @@ obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common) obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) $(secure-common) -ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) -obj-y += mcbsp.o -endif +obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o obj-$(CONFIG_TWL4030_CORE) += omap_twl.o diff --git a/trunk/arch/arm/mach-omap2/board-4430sdp.c b/trunk/arch/arm/mach-omap2/board-4430sdp.c index 44cf1893829a..4e9071589bfb 100644 --- a/trunk/arch/arm/mach-omap2/board-4430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-4430sdp.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include @@ -42,7 +41,6 @@ #include