From 53ea32d51cf64a2415bfd0541697e7aae0d3012f Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 10 Oct 2012 17:19:32 -0700 Subject: [PATCH] --- yaml --- r: 333983 b: refs/heads/master c: f88620b9c5521e9cb9de88e56272bfec3d831513 h: refs/heads/master i: 333981: 99c6d3640908250efa2b6064bb2574285750a811 333979: 598ab8be465b73ae294c136065ac0ffafc9a9b6c 333975: b30c807681bd4e2d6f69b19643c1afa4d3edf19b 333967: 6400cd6a3cde1b8eed4b64e8a97f1e1b947c0a3f 333951: f8bd8488de0969827d90642fd5623737bcaa8100 v: v3 --- [refs] | 2 +- trunk/Documentation/ABI/testing/sysfs-block | 14 - .../DocBook/media/v4l/compat.xml | 4 - .../DocBook/media/v4l/controls.xml | 278 +-- trunk/Documentation/DocBook/media/v4l/io.xml | 6 +- .../DocBook/media/v4l/pixfmt-nv12m.xml | 17 +- .../DocBook/media/v4l/pixfmt.xml | 38 - .../DocBook/media/v4l/subdev-formats.xml | 44 - .../DocBook/media/v4l/vidioc-qbuf.xml | 3 +- .../DocBook/media/v4l/vidioc-querybuf.xml | 11 +- trunk/Documentation/arm/Booting | 22 +- trunk/Documentation/block/biodoc.txt | 5 + .../devicetree/bindings/i2c/atmel-i2c.txt | 30 - .../devicetree/bindings/i2c/davinci.txt | 28 - .../devicetree/bindings/i2c/i2c-mxs.txt | 2 - .../devicetree/bindings/i2c/nomadik.txt | 23 - .../brcm,bcm2835-armctrl-ic.txt | 2 +- .../timer/brcm,bcm2835-system-timer.txt | 2 +- trunk/Documentation/filesystems/nfs/nfs.txt | 44 +- trunk/Documentation/hwmon/da9052 | 2 +- trunk/Documentation/hwmon/max1619 | 2 +- trunk/Documentation/hwmon/twl4030-madc-hwmon | 2 +- trunk/Documentation/kernel-parameters.txt | 5 - trunk/Documentation/percpu-rw-semaphore.txt | 27 - .../video4linux/v4l2-controls.txt | 24 - trunk/MAINTAINERS | 11 +- trunk/Makefile | 19 +- trunk/arch/Kconfig | 3 - trunk/arch/alpha/Kconfig | 1 - trunk/arch/alpha/include/asm/thread_info.h | 3 +- trunk/arch/alpha/include/asm/unistd.h | 1 + trunk/arch/alpha/kernel/entry.S | 100 +- trunk/arch/alpha/kernel/osf_sys.c | 16 +- trunk/arch/alpha/kernel/ptrace.c | 32 +- trunk/arch/alpha/kernel/signal.c | 48 +- trunk/arch/arm/Kconfig | 4 +- trunk/arch/arm/boot/compressed/.gitignore | 1 - trunk/arch/arm/boot/compressed/Makefile | 9 +- trunk/arch/arm/boot/compressed/head.S | 71 +- trunk/arch/arm/boot/dts/Makefile | 15 +- trunk/arch/arm/boot/dts/at91sam9260.dtsi | 10 - trunk/arch/arm/boot/dts/at91sam9263.dtsi | 10 - trunk/arch/arm/boot/dts/at91sam9g20.dtsi | 4 - trunk/arch/arm/boot/dts/at91sam9g25ek.dts | 12 - trunk/arch/arm/boot/dts/at91sam9g45.dtsi | 20 - trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts | 8 - trunk/arch/arm/boot/dts/at91sam9n12.dtsi | 20 - trunk/arch/arm/boot/dts/at91sam9n12ek.dts | 8 - trunk/arch/arm/boot/dts/at91sam9x5.dtsi | 30 - trunk/arch/arm/boot/dts/imx28.dtsi | 2 - trunk/arch/arm/boot/dts/omap4-panda.dts | 47 - trunk/arch/arm/boot/dts/omap4-sdp.dts | 57 - trunk/arch/arm/boot/dts/omap5-evm.dts | 58 - trunk/arch/arm/boot/dts/omap5.dtsi | 17 - trunk/arch/arm/boot/dts/tegra20-seaboard.dts | 2 +- trunk/arch/arm/boot/dts/tegra20.dtsi | 4 +- trunk/arch/arm/common/it8152.c | 12 +- trunk/arch/arm/include/asm/assembler.h | 29 - trunk/arch/arm/include/asm/cacheflush.h | 15 - trunk/arch/arm/include/asm/glue-cache.h | 1 - trunk/arch/arm/include/asm/opcodes-virt.h | 10 - trunk/arch/arm/include/asm/ptrace.h | 1 - trunk/arch/arm/include/asm/thread_info.h | 2 + trunk/arch/arm/include/asm/unistd.h | 1 + trunk/arch/arm/include/asm/vfpmacros.h | 4 +- trunk/arch/arm/include/asm/virt.h | 69 - trunk/arch/arm/kernel/Makefile | 2 - trunk/arch/arm/kernel/entry-common.S | 29 +- trunk/arch/arm/kernel/head.S | 14 +- trunk/arch/arm/kernel/hyp-stub.S | 223 -- trunk/arch/arm/kernel/process.c | 5 +- trunk/arch/arm/kernel/setup.c | 20 - trunk/arch/arm/kernel/signal.c | 1 + trunk/arch/arm/kernel/smp.c | 8 +- trunk/arch/arm/kernel/suspend.c | 17 +- trunk/arch/arm/mach-at91/at91rm9200.c | 1 - trunk/arch/arm/mach-at91/at91rm9200_devices.c | 2 +- trunk/arch/arm/mach-at91/at91sam9260.c | 3 - .../arch/arm/mach-at91/at91sam9260_devices.c | 8 +- trunk/arch/arm/mach-at91/at91sam9261.c | 2 - .../arch/arm/mach-at91/at91sam9261_devices.c | 14 +- trunk/arch/arm/mach-at91/at91sam9263.c | 2 - .../arch/arm/mach-at91/at91sam9263_devices.c | 2 +- trunk/arch/arm/mach-at91/at91sam9g45.c | 4 - .../arch/arm/mach-at91/at91sam9g45_devices.c | 10 +- trunk/arch/arm/mach-at91/at91sam9n12.c | 2 - trunk/arch/arm/mach-at91/at91sam9rl.c | 2 - trunk/arch/arm/mach-at91/at91sam9rl_devices.c | 2 +- trunk/arch/arm/mach-at91/at91sam9x5.c | 3 - .../arm/mach-at91/include/mach/at91_twi.h | 68 + trunk/arch/arm/mach-at91/pm.c | 5 +- trunk/arch/arm/mach-at91/setup.c | 2 +- trunk/arch/arm/mach-davinci/Kconfig | 7 - trunk/arch/arm/mach-davinci/board-da850-evm.c | 179 -- .../arch/arm/mach-davinci/board-dm644x-evm.c | 15 +- .../arch/arm/mach-davinci/board-dm646x-evm.c | 80 +- trunk/arch/arm/mach-davinci/da850.c | 154 +- trunk/arch/arm/mach-davinci/dm644x.c | 17 +- .../arm/mach-davinci/include/mach/da8xx.h | 11 - .../arch/arm/mach-davinci/include/mach/mux.h | 42 - .../arch/arm/mach-davinci/include/mach/psc.h | 1 - trunk/arch/arm/mach-exynos/mach-nuri.c | 9 +- trunk/arch/arm/mach-exynos/mach-origen.c | 6 +- trunk/arch/arm/mach-exynos/mach-smdk4x12.c | 2 +- trunk/arch/arm/mach-exynos/mach-smdkv310.c | 2 +- .../arm/mach-exynos/mach-universal_c210.c | 9 +- trunk/arch/arm/mach-exynos/setup-fimd0.c | 2 +- .../arm/mach-footbridge/include/mach/irqs.h | 2 + .../arm/mach-integrator/include/mach/cm.h | 2 +- .../mach-integrator/include/mach/platform.h | 6 +- .../arch/arm/mach-integrator/integrator_ap.c | 2 +- .../arch/arm/mach-integrator/integrator_cp.c | 4 +- trunk/arch/arm/mach-iop13xx/iq81340sc.c | 2 +- trunk/arch/arm/mach-iop13xx/pci.c | 2 +- .../arm/mach-ks8695/include/mach/memory.h | 3 +- trunk/arch/arm/mach-mv78xx0/addr-map.c | 2 +- trunk/arch/arm/mach-mv78xx0/common.c | 2 +- trunk/arch/arm/mach-omap1/devices.c | 2 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 99 +- trunk/arch/arm/mach-omap2/board-flash.c | 2 +- trunk/arch/arm/mach-omap2/board-omap3beagle.c | 2 +- trunk/arch/arm/mach-omap2/board-omap3evm.c | 3 +- .../arch/arm/mach-omap2/board-omap3stalker.c | 5 + trunk/arch/arm/mach-omap2/board-omap4panda.c | 45 +- .../arm/mach-omap2/board-rx51-peripherals.c | 2 +- .../arm/mach-omap2/board-zoom-peripherals.c | 3 +- trunk/arch/arm/mach-omap2/clkt_clksel.c | 2 +- trunk/arch/arm/mach-omap2/clock33xx_data.c | 2 - .../arm/mach-omap2/clockdomain2xxx_3xxx.c | 44 +- trunk/arch/arm/mach-omap2/display.c | 3 +- trunk/arch/arm/mach-omap2/gpmc.c | 4 +- trunk/arch/arm/mach-omap2/hsmmc.c | 2 +- trunk/arch/arm/mach-omap2/mux.c | 2 +- trunk/arch/arm/mach-omap2/omap-secure.c | 4 +- trunk/arch/arm/mach-omap2/omap_hwmod.c | 31 +- .../mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +- .../arm/mach-omap2/omap_hwmod_3xxx_data.c | 9 +- trunk/arch/arm/mach-omap2/opp.c | 23 +- trunk/arch/arm/mach-omap2/pm-debug.c | 2 +- trunk/arch/arm/mach-omap2/pm.c | 13 +- trunk/arch/arm/mach-omap2/sr_device.c | 2 +- trunk/arch/arm/mach-omap2/timer.c | 2 +- trunk/arch/arm/mach-omap2/twl-common.c | 8 +- trunk/arch/arm/mach-pxa/cm-x2xx.c | 1 - trunk/arch/arm/mach-pxa/palmte2.c | 2 - trunk/arch/arm/mach-pxa/sharpsl_pm.c | 48 + trunk/arch/arm/mach-pxa/viper.c | 3 +- trunk/arch/arm/mach-rpc/ecard.c | 4 +- trunk/arch/arm/mach-s3c24xx/irq-s3c2416.c | 6 +- trunk/arch/arm/mach-s3c24xx/irq-s3c2443.c | 4 +- trunk/arch/arm/mach-s3c24xx/mach-smdk2416.c | 2 +- trunk/arch/arm/mach-s3c24xx/simtec-usb.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-anw6410.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-crag6410.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-hmt.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-mini6410.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-ncp.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-real6410.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-smartq5.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-smartq7.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +- trunk/arch/arm/mach-s5p64x0/mach-smdk6440.c | 2 +- trunk/arch/arm/mach-s5p64x0/mach-smdk6450.c | 2 +- trunk/arch/arm/mach-s5pc100/mach-smdkc100.c | 2 +- trunk/arch/arm/mach-s5pv210/mach-aquila.c | 2 +- trunk/arch/arm/mach-s5pv210/mach-goni.c | 2 +- trunk/arch/arm/mach-s5pv210/mach-smdkv210.c | 2 +- trunk/arch/arm/mach-sa1100/assabet.c | 2 +- trunk/arch/arm/mach-shark/pci.c | 2 +- .../arm/mach-shmobile/include/mach/common.h | 2 +- trunk/arch/arm/mach-tegra/Kconfig | 6 +- trunk/arch/arm/mach-ux500/Kconfig | 4 +- .../arm/mach-vt8500/include/mach/uncompress.h | 8 +- trunk/arch/arm/mach-vt8500/vt8500.c | 5 +- trunk/arch/arm/mm/Kconfig | 17 - trunk/arch/arm/mm/cache-fa.S | 3 - trunk/arch/arm/mm/cache-v3.S | 3 - trunk/arch/arm/mm/cache-v4.S | 3 - trunk/arch/arm/mm/cache-v4wb.S | 3 - trunk/arch/arm/mm/cache-v4wt.S | 3 - trunk/arch/arm/mm/cache-v6.S | 3 - trunk/arch/arm/mm/cache-v7.S | 48 +- trunk/arch/arm/mm/proc-arm1020.S | 3 - trunk/arch/arm/mm/proc-arm1020e.S | 3 - trunk/arch/arm/mm/proc-arm1022.S | 3 - trunk/arch/arm/mm/proc-arm1026.S | 3 - trunk/arch/arm/mm/proc-arm920.S | 3 - trunk/arch/arm/mm/proc-arm922.S | 3 - trunk/arch/arm/mm/proc-arm925.S | 3 - trunk/arch/arm/mm/proc-arm926.S | 3 - trunk/arch/arm/mm/proc-arm940.S | 3 - trunk/arch/arm/mm/proc-arm946.S | 3 - trunk/arch/arm/mm/proc-feroceon.S | 4 - trunk/arch/arm/mm/proc-macros.S | 1 - trunk/arch/arm/mm/proc-mohawk.S | 3 - trunk/arch/arm/mm/proc-v7.S | 2 +- trunk/arch/arm/mm/proc-xsc3.S | 3 - trunk/arch/arm/mm/proc-xscale.S | 4 - .../plat-nomadik/include/plat/gpio-nomadik.h | 6 - .../arm/plat-nomadik/include/plat/pincfg.h | 2 - trunk/arch/arm/plat-omap/Kconfig | 2 - trunk/arch/arm/plat-omap/counter_32k.c | 21 +- trunk/arch/arm/plat-omap/i2c.c | 21 + trunk/arch/arm/plat-omap/omap-pm-noop.c | 8 +- trunk/arch/arm/plat-omap/omap_device.c | 2 +- .../plat-samsung/include/plat/regs-fb-v4.h | 159 ++ .../arm/plat-samsung/include/plat/regs-fb.h} | 152 +- trunk/arch/arm/plat-samsung/setup-mipiphy.c | 20 +- trunk/arch/arm64/kernel/sys.c | 4 +- trunk/arch/arm64/kernel/sys_compat.c | 6 +- trunk/arch/avr32/include/asm/thread_info.h | 18 +- trunk/arch/avr32/kernel/process.c | 4 +- trunk/arch/avr32/kernel/signal.c | 1 + trunk/arch/blackfin/include/asm/thread_info.h | 4 + trunk/arch/blackfin/kernel/process.c | 4 +- trunk/arch/blackfin/kernel/signal.c | 1 + trunk/arch/c6x/Kconfig | 1 - trunk/arch/c6x/include/asm/processor.h | 2 + trunk/arch/c6x/include/asm/syscalls.h | 5 + trunk/arch/c6x/include/asm/thread_info.h | 1 + trunk/arch/c6x/include/asm/unistd.h | 3 - trunk/arch/c6x/kernel/asm-offsets.c | 1 + trunk/arch/c6x/kernel/entry.S | 56 +- trunk/arch/c6x/kernel/process.c | 72 +- trunk/arch/cris/arch-v10/kernel/process.c | 4 +- trunk/arch/cris/arch-v32/kernel/process.c | 4 +- trunk/arch/cris/include/asm/thread_info.h | 3 + trunk/arch/frv/Kconfig | 1 - trunk/arch/frv/include/asm/processor.h | 9 +- trunk/arch/frv/include/asm/ptrace.h | 1 - trunk/arch/frv/include/asm/thread_info.h | 3 + trunk/arch/frv/include/asm/unistd.h | 2 - trunk/arch/frv/kernel/Makefile | 4 +- trunk/arch/frv/kernel/entry.S | 13 - trunk/arch/frv/kernel/frv_ksyms.c | 1 + trunk/arch/frv/kernel/kernel_execve.S | 33 + trunk/arch/frv/kernel/kernel_thread.S | 77 + trunk/arch/frv/kernel/process.c | 66 +- trunk/arch/frv/kernel/signal.c | 9 + trunk/arch/h8300/include/asm/thread_info.h | 7 +- trunk/arch/h8300/kernel/process.c | 4 +- trunk/arch/h8300/kernel/signal.c | 1 + trunk/arch/hexagon/include/asm/thread_info.h | 5 + trunk/arch/hexagon/kernel/signal.c | 1 + trunk/arch/hexagon/kernel/syscall.c | 4 +- trunk/arch/ia64/Kconfig | 2 +- trunk/arch/ia64/include/asm/Kbuild | 14 + .../arch/ia64/include/{uapi => }/asm/auxvec.h | 0 .../ia64/include/{uapi => }/asm/bitsperlong.h | 0 .../arch/ia64/include/{uapi => }/asm/break.h | 0 .../ia64/include/{uapi => }/asm/byteorder.h | 0 .../ia64/include/{uapi => }/asm/cmpxchg.h | 0 .../arch/ia64/include/{uapi => }/asm/errno.h | 0 .../arch/ia64/include/{uapi => }/asm/fcntl.h | 0 trunk/arch/ia64/include/{uapi => }/asm/fpu.h | 0 trunk/arch/ia64/include/asm/gcc_intrin.h | 615 +++++- .../ia64/include/{uapi => }/asm/ia64regs.h | 0 .../include/{uapi => }/asm/intel_intrin.h | 0 trunk/arch/ia64/include/asm/intrinsics.h | 120 +- .../arch/ia64/include/{uapi => }/asm/ioctl.h | 0 .../arch/ia64/include/{uapi => }/asm/ioctls.h | 0 .../arch/ia64/include/{uapi => }/asm/ipcbuf.h | 0 trunk/arch/ia64/include/{uapi => }/asm/kvm.h | 0 trunk/arch/ia64/include/asm/kvm_para.h | 10 +- trunk/arch/ia64/include/asm/mman.h | 12 +- .../arch/ia64/include/{uapi => }/asm/msgbuf.h | 0 trunk/arch/ia64/include/asm/param.h | 22 +- trunk/arch/ia64/include/asm/perfmon.h | 171 +- .../{uapi => }/asm/perfmon_default_smpl.h | 0 trunk/arch/ia64/include/{uapi => }/asm/poll.h | 0 .../ia64/include/{uapi => }/asm/posix_types.h | 0 trunk/arch/ia64/include/asm/ptrace.h | 236 +- .../include/{uapi => }/asm/ptrace_offsets.h | 0 .../ia64/include/{uapi => }/asm/resource.h | 0 trunk/arch/ia64/include/{uapi => }/asm/rse.h | 0 .../arch/ia64/include/{uapi => }/asm/sembuf.h | 0 .../arch/ia64/include/{uapi => }/asm/setup.h | 0 .../arch/ia64/include/{uapi => }/asm/shmbuf.h | 0 .../ia64/include/{uapi => }/asm/sigcontext.h | 0 trunk/arch/ia64/include/asm/siginfo.h | 118 +- trunk/arch/ia64/include/asm/signal.h | 122 +- .../arch/ia64/include/{uapi => }/asm/socket.h | 0 .../ia64/include/{uapi => }/asm/sockios.h | 0 trunk/arch/ia64/include/{uapi => }/asm/stat.h | 0 .../arch/ia64/include/{uapi => }/asm/statfs.h | 0 trunk/arch/ia64/include/{uapi => }/asm/swab.h | 0 .../ia64/include/{uapi => }/asm/termbits.h | 0 trunk/arch/ia64/include/asm/termios.h | 46 +- trunk/arch/ia64/include/asm/thread_info.h | 2 + trunk/arch/ia64/include/asm/types.h | 19 +- .../ia64/include/{uapi => }/asm/ucontext.h | 0 trunk/arch/ia64/include/asm/unistd.h | 324 ++- trunk/arch/ia64/include/asm/ustack.h | 11 +- trunk/arch/ia64/include/uapi/asm/Kbuild | 45 - trunk/arch/ia64/include/uapi/asm/gcc_intrin.h | 618 ------ trunk/arch/ia64/include/uapi/asm/intrinsics.h | 124 -- trunk/arch/ia64/include/uapi/asm/kvm_para.h | 0 trunk/arch/ia64/include/uapi/asm/mman.h | 16 - trunk/arch/ia64/include/uapi/asm/param.h | 29 - trunk/arch/ia64/include/uapi/asm/perfmon.h | 177 -- trunk/arch/ia64/include/uapi/asm/ptrace.h | 247 --- trunk/arch/ia64/include/uapi/asm/siginfo.h | 121 - trunk/arch/ia64/include/uapi/asm/signal.h | 127 -- trunk/arch/ia64/include/uapi/asm/termios.h | 50 - trunk/arch/ia64/include/uapi/asm/types.h | 31 - trunk/arch/ia64/include/uapi/asm/unistd.h | 328 --- trunk/arch/ia64/include/uapi/asm/ustack.h | 12 - trunk/arch/ia64/kernel/process.c | 4 +- trunk/arch/ia64/kernel/signal.c | 8 + trunk/arch/ia64/kernel/time.c | 4 +- trunk/arch/m32r/include/asm/thread_info.h | 9 +- trunk/arch/m32r/kernel/process.c | 4 +- trunk/arch/m32r/kernel/signal.c | 3 + trunk/arch/m68k/Kconfig | 1 - trunk/arch/m68k/include/asm/processor.h | 25 +- trunk/arch/m68k/include/asm/ptrace.h | 2 - trunk/arch/m68k/include/asm/unistd.h | 2 - trunk/arch/m68k/kernel/entry.S | 16 - trunk/arch/m68k/kernel/process.c | 104 +- trunk/arch/m68k/kernel/sys_m68k.c | 17 + .../arch/microblaze/include/asm/thread_info.h | 3 +- trunk/arch/microblaze/kernel/signal.c | 7 +- trunk/arch/microblaze/kernel/sys_microblaze.c | 4 +- trunk/arch/mips/include/asm/thread_info.h | 3 + trunk/arch/mips/kernel/linux32.c | 4 +- trunk/arch/mips/kernel/syscall.c | 4 +- trunk/arch/mn10300/Kconfig | 1 - trunk/arch/mn10300/include/asm/frame.inc | 2 +- trunk/arch/mn10300/include/asm/processor.h | 18 +- trunk/arch/mn10300/include/asm/ptrace.h | 1 - trunk/arch/mn10300/include/asm/thread_info.h | 3 +- trunk/arch/mn10300/include/asm/unistd.h | 2 - trunk/arch/mn10300/kernel/Makefile | 4 +- trunk/arch/mn10300/kernel/entry.S | 18 - trunk/arch/mn10300/kernel/internal.h | 6 +- trunk/arch/mn10300/kernel/kernel_execve.S | 37 + trunk/arch/mn10300/kernel/kthread.S | 31 + trunk/arch/mn10300/kernel/process.c | 91 +- trunk/arch/mn10300/kernel/signal.c | 13 + trunk/arch/openrisc/include/asm/thread_info.h | 3 +- trunk/arch/openrisc/kernel/process.c | 4 +- trunk/arch/parisc/hpux/fs.c | 4 +- trunk/arch/parisc/hpux/gate.S | 2 +- trunk/arch/parisc/include/asm/thread_info.h | 5 +- trunk/arch/parisc/kernel/process.c | 4 +- trunk/arch/parisc/kernel/signal.c | 45 +- trunk/arch/parisc/kernel/sys_parisc32.c | 4 +- trunk/arch/parisc/kernel/syscall.S | 9 +- trunk/arch/powerpc/Kconfig | 3 +- trunk/arch/powerpc/include/asm/processor.h | 3 + trunk/arch/powerpc/include/asm/ptrace.h | 2 - trunk/arch/powerpc/include/asm/syscalls.h | 3 + trunk/arch/powerpc/include/asm/thread_info.h | 2 - trunk/arch/powerpc/include/asm/unistd.h | 2 - trunk/arch/powerpc/kernel/entry_32.S | 16 - trunk/arch/powerpc/kernel/entry_64.S | 16 - trunk/arch/powerpc/kernel/misc.S | 7 + trunk/arch/powerpc/kernel/misc_32.S | 33 + trunk/arch/powerpc/kernel/misc_64.S | 34 + trunk/arch/powerpc/kernel/ppc_ksyms.c | 1 + trunk/arch/powerpc/kernel/process.c | 59 +- trunk/arch/powerpc/kernel/signal_32.c | 1 + trunk/arch/powerpc/kernel/sys_ppc32.c | 22 + trunk/arch/powerpc/kernel/time.c | 4 +- .../powerpc/platforms/pseries/eeh_event.c | 5 +- .../platforms/pseries/hotplug-memory.c | 11 +- trunk/arch/s390/Kconfig | 2 +- trunk/arch/s390/include/asm/thread_info.h | 4 + trunk/arch/s390/kernel/time.c | 4 +- trunk/arch/score/include/asm/thread_info.h | 4 + trunk/arch/score/kernel/signal.c | 1 - trunk/arch/score/kernel/sys_score.c | 4 +- trunk/arch/sh/include/asm/thread_info.h | 3 - trunk/arch/sh/kernel/process_32.c | 4 +- trunk/arch/sh/kernel/process_64.c | 4 +- trunk/arch/sh/kernel/signal_32.c | 1 + trunk/arch/sh/kernel/signal_64.c | 1 + trunk/arch/sparc/include/asm/thread_info_32.h | 3 +- trunk/arch/sparc/include/asm/thread_info_64.h | 3 - trunk/arch/sparc/include/asm/uaccess_64.h | 5 + trunk/arch/sparc/kernel/process_32.c | 4 +- trunk/arch/sparc/kernel/process_64.c | 4 +- trunk/arch/sparc/kernel/sys_sparc32.c | 4 +- trunk/arch/sparc/kernel/traps_64.c | 263 ++- trunk/arch/sparc/mm/fault_64.c | 2 - trunk/arch/tile/include/arch/Kbuild | 17 + trunk/arch/tile/include/{uapi => }/arch/abi.h | 0 .../arch/tile/include/{uapi => }/arch/chip.h | 0 .../include/{uapi => }/arch/chip_tile64.h | 0 .../include/{uapi => }/arch/chip_tilegx.h | 0 .../include/{uapi => }/arch/chip_tilepro.h | 0 .../tile/include/{uapi => }/arch/icache.h | 0 .../tile/include/{uapi => }/arch/interrupts.h | 0 .../include/{uapi => }/arch/interrupts_32.h | 0 .../include/{uapi => }/arch/interrupts_64.h | 0 .../tile/include/{uapi => }/arch/opcode.h | 0 .../include/{uapi => }/arch/opcode_tilegx.h | 0 .../include/{uapi => }/arch/opcode_tilepro.h | 0 trunk/arch/tile/include/{uapi => }/arch/sim.h | 0 .../tile/include/{uapi => }/arch/sim_def.h | 0 trunk/arch/tile/include/arch/spr_def.h | 12 +- .../tile/include/{uapi => }/arch/spr_def_32.h | 6 +- .../tile/include/{uapi => }/arch/spr_def_64.h | 6 +- trunk/arch/tile/include/asm/Kbuild | 3 + .../arch/tile/include/{uapi => }/asm/auxvec.h | 0 .../tile/include/{uapi => }/asm/bitsperlong.h | 0 .../tile/include/{uapi => }/asm/byteorder.h | 0 .../tile/include/{uapi => }/asm/cachectl.h | 0 trunk/arch/tile/include/asm/hardwall.h | 33 +- .../tile/include/{uapi => }/asm/kvm_para.h | 0 trunk/arch/tile/include/{uapi => }/asm/mman.h | 0 trunk/arch/tile/include/asm/ptrace.h | 72 +- trunk/arch/tile/include/asm/setup.h | 7 +- .../tile/include/{uapi => }/asm/sigcontext.h | 0 .../tile/include/{uapi => }/asm/siginfo.h | 0 trunk/arch/tile/include/asm/signal.h | 12 +- trunk/arch/tile/include/{uapi => }/asm/stat.h | 0 trunk/arch/tile/include/{uapi => }/asm/swab.h | 0 trunk/arch/tile/include/asm/unistd.h | 25 +- trunk/arch/tile/include/uapi/arch/Kbuild | 17 - trunk/arch/tile/include/uapi/arch/spr_def.h | 26 - trunk/arch/tile/include/uapi/asm/Kbuild | 15 - trunk/arch/tile/include/uapi/asm/hardwall.h | 51 - trunk/arch/tile/include/uapi/asm/ptrace.h | 88 - trunk/arch/tile/include/uapi/asm/setup.h | 21 - trunk/arch/tile/include/uapi/asm/signal.h | 27 - trunk/arch/tile/include/uapi/asm/unistd.h | 34 - trunk/arch/tile/kernel/compat_signal.c | 9 + trunk/arch/tile/kernel/process.c | 11 +- trunk/arch/tile/kernel/signal.c | 12 +- trunk/arch/um/include/asm/processor-generic.h | 2 + trunk/arch/um/include/asm/thread_info.h | 3 + trunk/arch/um/include/shared/os.h | 1 + trunk/arch/um/kernel/exec.c | 5 + trunk/arch/um/kernel/process.c | 10 +- trunk/arch/um/os-Linux/process.c | 13 + .../arch/unicore32/include/asm/thread_info.h | 4 +- trunk/arch/unicore32/kernel/entry.S | 2 + trunk/arch/unicore32/kernel/signal.c | 1 + trunk/arch/unicore32/kernel/sys.c | 4 +- trunk/arch/x86/Kconfig | 1 - trunk/arch/x86/include/asm/msr-index.h | 5 - trunk/arch/x86/include/asm/unistd.h | 1 + trunk/arch/x86/include/asm/vgtod.h | 4 +- trunk/arch/x86/kernel/cpu/Makefile | 2 +- trunk/arch/x86/kernel/cpu/perf_event.h | 2 - .../arch/x86/kernel/cpu/perf_event_amd_ibs.c | 61 +- trunk/arch/x86/kernel/cpu/perf_event_intel.c | 2 - trunk/arch/x86/kernel/cpu/perf_event_knc.c | 248 --- trunk/arch/x86/kernel/cpu/perfctr-watchdog.c | 4 - trunk/arch/x86/kernel/entry_32.S | 48 +- trunk/arch/x86/kernel/entry_64.S | 24 +- trunk/arch/x86/kernel/setup.c | 3 - trunk/arch/x86/kernel/vsyscall_64.c | 49 +- trunk/arch/x86/um/Kconfig | 1 - trunk/arch/x86/vdso/vclock_gettime.c | 22 +- trunk/arch/x86/xen/enlighten.c | 18 +- trunk/arch/x86/xen/mmu.c | 41 - trunk/arch/xtensa/include/asm/thread_info.h | 5 + trunk/arch/xtensa/kernel/process.c | 4 +- trunk/arch/xtensa/kernel/signal.c | 4 + trunk/block/blk-core.c | 51 +- trunk/block/blk-lib.c | 104 +- trunk/block/blk-merge.c | 53 +- trunk/block/blk-settings.c | 16 - trunk/block/blk-sysfs.c | 44 +- trunk/block/blk-tag.c | 6 +- trunk/block/blk.h | 5 +- trunk/block/elevator.c | 6 +- trunk/block/ioctl.c | 27 - trunk/drivers/block/drbd/drbd_main.c | 13 +- trunk/drivers/block/osdblk.c | 3 +- trunk/drivers/block/pktcdvd.c | 52 +- trunk/drivers/char/ds1620.c | 8 +- trunk/drivers/char/nwflash.c | 4 +- trunk/drivers/char/raw.c | 2 +- trunk/drivers/cpufreq/omap-cpufreq.c | 36 +- trunk/drivers/firewire/core-cdev.c | 4 +- .../drivers/gpu/drm/exynos/exynos_drm_fimd.c | 2 +- trunk/drivers/hwmon/acpi_power_meter.c | 1 - trunk/drivers/hwmon/adm9240.c | 1 - trunk/drivers/hwmon/adt7411.c | 1 + trunk/drivers/hwmon/adt7462.c | 1 + trunk/drivers/hwmon/adt7475.c | 1 - trunk/drivers/hwmon/applesmc.c | 1 - trunk/drivers/hwmon/asus_atk0110.c | 2 - trunk/drivers/hwmon/da9052-hwmon.c | 1 + trunk/drivers/hwmon/emc1403.c | 1 - trunk/drivers/hwmon/emc6w201.c | 1 + trunk/drivers/hwmon/hih6130.c | 1 - trunk/drivers/hwmon/i5k_amb.c | 2 + trunk/drivers/hwmon/ibmaem.c | 1 - trunk/drivers/hwmon/ibmpex.c | 1 - trunk/drivers/hwmon/ina2xx.c | 1 - trunk/drivers/hwmon/k8temp.c | 1 + trunk/drivers/hwmon/lineage-pem.c | 1 - trunk/drivers/hwmon/lm92.c | 1 - trunk/drivers/hwmon/lm93.c | 1 - trunk/drivers/hwmon/ltc4151.c | 1 - trunk/drivers/hwmon/ltc4215.c | 1 - trunk/drivers/hwmon/ltc4245.c | 1 - trunk/drivers/hwmon/ltc4261.c | 1 - trunk/drivers/hwmon/max16065.c | 1 + trunk/drivers/hwmon/max1619.c | 4 +- trunk/drivers/hwmon/max6642.c | 2 +- trunk/drivers/hwmon/pmbus/pmbus_core.c | 2 +- trunk/drivers/hwmon/s3c-hwmon.c | 1 + trunk/drivers/hwmon/sht21.c | 1 - trunk/drivers/hwmon/smm665.c | 1 - trunk/drivers/hwmon/thmc50.c | 1 - trunk/drivers/hwmon/tmp102.c | 1 - trunk/drivers/hwmon/ultra45_env.c | 1 - trunk/drivers/hwmon/w83791d.c | 1 - trunk/drivers/hwmon/w83792d.c | 1 - trunk/drivers/hwmon/w83793.c | 1 - trunk/drivers/hwmon/w83795.c | 2 +- trunk/drivers/hwmon/w83l786ng.c | 1 - trunk/drivers/i2c/algos/i2c-algo-pca.c | 27 +- trunk/drivers/i2c/busses/Kconfig | 27 +- trunk/drivers/i2c/busses/Makefile | 1 - trunk/drivers/i2c/busses/i2c-at91.c | 667 ++---- trunk/drivers/i2c/busses/i2c-davinci.c | 58 +- trunk/drivers/i2c/busses/i2c-imx.c | 6 +- trunk/drivers/i2c/busses/i2c-mpc.c | 18 +- trunk/drivers/i2c/busses/i2c-mxs.c | 269 +-- trunk/drivers/i2c/busses/i2c-nomadik.c | 52 +- trunk/drivers/i2c/busses/i2c-omap.c | 474 ++-- trunk/drivers/i2c/busses/i2c-rcar.c | 709 ------ trunk/drivers/i2c/busses/i2c-s3c2410.c | 18 +- trunk/drivers/md/dm-crypt.c | 16 +- trunk/drivers/md/dm-io.c | 11 + trunk/drivers/md/dm.c | 74 +- trunk/drivers/md/md.c | 44 +- trunk/drivers/md/raid0.c | 1 - trunk/drivers/media/dvb-core/dvb_frontend.c | 20 +- trunk/drivers/media/dvb-core/dvb_frontend.h | 4 +- trunk/drivers/media/dvb-frontends/a8293.c | 2 +- trunk/drivers/media/dvb-frontends/af9013.c | 6 +- trunk/drivers/media/dvb-frontends/af9033.c | 16 +- trunk/drivers/media/dvb-frontends/bcm3510.c | 2 +- trunk/drivers/media/dvb-frontends/cx24110.c | 6 +- .../media/dvb-frontends/cxd2820r_core.c | 3 +- trunk/drivers/media/dvb-frontends/drxd_hard.c | 2 +- trunk/drivers/media/dvb-frontends/ds3000.c | 12 +- .../media/dvb-frontends/dvb_dummy_fe.c | 21 +- trunk/drivers/media/dvb-frontends/isl6405.c | 2 +- trunk/drivers/media/dvb-frontends/isl6421.c | 2 +- trunk/drivers/media/dvb-frontends/itd1000.c | 2 +- trunk/drivers/media/dvb-frontends/lg2160.c | 8 +- trunk/drivers/media/dvb-frontends/lnbp21.c | 4 +- trunk/drivers/media/dvb-frontends/lnbp22.c | 2 +- trunk/drivers/media/dvb-frontends/s5h1432.c | 8 +- trunk/drivers/media/dvb-frontends/s921.c | 9 +- trunk/drivers/media/dvb-frontends/si21xx.c | 4 +- trunk/drivers/media/dvb-frontends/sp8870.c | 6 +- trunk/drivers/media/dvb-frontends/sp887x.c | 6 +- trunk/drivers/media/dvb-frontends/stb6100.c | 8 +- trunk/drivers/media/dvb-frontends/stv0299.c | 6 +- .../media/dvb-frontends/stv0900_core.c | 4 +- trunk/drivers/media/dvb-frontends/tda665x.c | 8 +- trunk/drivers/media/dvb-frontends/tda8083.c | 4 +- .../drivers/media/i2c/cx25840/cx25840-core.c | 2 +- trunk/drivers/media/i2c/m5mols/m5mols.h | 10 - .../drivers/media/i2c/m5mols/m5mols_capture.c | 3 - trunk/drivers/media/i2c/m5mols/m5mols_core.c | 47 - trunk/drivers/media/i2c/m5mols/m5mols_reg.h | 1 - trunk/drivers/media/i2c/mt9p031.c | 19 +- trunk/drivers/media/i2c/mt9t001.c | 22 +- trunk/drivers/media/i2c/mt9v032.c | 54 +- trunk/drivers/media/i2c/soc_camera/ov2640.c | 5 - trunk/drivers/media/i2c/ths7303.c | 106 +- trunk/drivers/media/i2c/tvp514x.c | 77 +- trunk/drivers/media/pci/bt8xx/bttv-driver.c | 30 +- trunk/drivers/media/pci/bt8xx/bttvp.h | 1 - trunk/drivers/media/pci/bt8xx/dst_ca.c | 2 +- trunk/drivers/media/pci/cx23885/altera-ci.c | 4 +- trunk/drivers/media/pci/cx23885/cimax2.c | 2 +- .../drivers/media/pci/cx23885/cx23885-cards.c | 3 - .../drivers/media/pci/cx23885/cx23885-video.c | 3 +- .../pci/cx25821/cx25821-video-upstream-ch2.c | 2 +- .../pci/cx25821/cx25821-video-upstream.c | 2 +- trunk/drivers/media/pci/cx88/cx88-blackbird.c | 6 +- trunk/drivers/media/pci/cx88/cx88-dvb.c | 2 +- trunk/drivers/media/pci/cx88/cx88-mpeg.c | 2 +- trunk/drivers/media/pci/cx88/cx88-tvaudio.c | 4 +- trunk/drivers/media/pci/cx88/cx88-video.c | 2 +- .../drivers/media/pci/saa7134/saa7134-video.c | 2 +- trunk/drivers/media/platform/Kconfig | 4 +- trunk/drivers/media/platform/davinci/vpbe.c | 136 +- .../media/platform/davinci/vpbe_display.c | 80 +- .../media/platform/davinci/vpbe_venc.c | 25 +- .../media/platform/davinci/vpfe_capture.c | 17 +- .../media/platform/davinci/vpif_capture.c | 370 ++-- .../media/platform/davinci/vpif_capture.h | 16 +- .../media/platform/davinci/vpif_display.c | 275 +-- .../media/platform/davinci/vpif_display.h | 18 +- .../media/platform/exynos-gsc/gsc-regs.c | 4 +- trunk/drivers/media/platform/fsl-viu.c | 2 +- .../drivers/media/platform/mem2mem_testdev.c | 14 +- trunk/drivers/media/platform/omap/omap_vout.c | 75 +- .../drivers/media/platform/omap3isp/ispreg.h | 6 +- .../media/platform/s5p-fimc/fimc-capture.c | 135 +- .../media/platform/s5p-fimc/fimc-core.c | 19 +- .../media/platform/s5p-fimc/fimc-core.h | 28 +- .../media/platform/s5p-fimc/fimc-m2m.c | 25 +- .../media/platform/s5p-fimc/fimc-reg.c | 23 +- .../media/platform/s5p-fimc/fimc-reg.h | 3 +- .../media/platform/s5p-fimc/mipi-csis.c | 75 +- trunk/drivers/media/platform/s5p-g2d/g2d.c | 2 +- .../media/platform/s5p-jpeg/jpeg-core.c | 6 +- trunk/drivers/media/platform/s5p-mfc/Makefile | 7 +- .../media/platform/s5p-mfc/regs-mfc-v6.h | 408 ---- .../drivers/media/platform/s5p-mfc/regs-mfc.h | 41 - .../drivers/media/platform/s5p-mfc/s5p_mfc.c | 294 +-- .../media/platform/s5p-mfc/s5p_mfc_cmd.c | 111 +- .../media/platform/s5p-mfc/s5p_mfc_cmd.h | 17 +- .../media/platform/s5p-mfc/s5p_mfc_cmd_v5.c | 166 -- .../media/platform/s5p-mfc/s5p_mfc_cmd_v5.h | 20 - .../media/platform/s5p-mfc/s5p_mfc_cmd_v6.c | 156 -- .../media/platform/s5p-mfc/s5p_mfc_cmd_v6.h | 20 - .../media/platform/s5p-mfc/s5p_mfc_common.h | 191 +- .../media/platform/s5p-mfc/s5p_mfc_ctrl.c | 202 +- .../media/platform/s5p-mfc/s5p_mfc_ctrl.h | 1 - .../media/platform/s5p-mfc/s5p_mfc_dec.c | 258 +-- .../media/platform/s5p-mfc/s5p_mfc_dec.h | 1 - .../media/platform/s5p-mfc/s5p_mfc_enc.c | 236 +- .../media/platform/s5p-mfc/s5p_mfc_enc.h | 1 - .../media/platform/s5p-mfc/s5p_mfc_intr.c | 11 +- .../media/platform/s5p-mfc/s5p_mfc_opr.c | 1418 +++++++++++- .../media/platform/s5p-mfc/s5p_mfc_opr.h | 137 +- .../media/platform/s5p-mfc/s5p_mfc_opr_v5.c | 1794 --------------- .../media/platform/s5p-mfc/s5p_mfc_opr_v6.c | 1956 ----------------- .../media/platform/s5p-mfc/s5p_mfc_opr_v6.h | 50 - .../media/platform/s5p-mfc/s5p_mfc_pm.c | 3 +- .../media/platform/s5p-mfc/s5p_mfc_shm.c | 47 + .../{s5p_mfc_opr_v5.h => s5p_mfc_shm.h} | 41 +- .../media/platform/soc_camera/mx2_camera.c | 7 +- .../media/platform/soc_camera/soc_camera.c | 40 +- .../media/radio/si470x/radio-si470x-i2c.c | 2 +- .../media/radio/si470x/radio-si470x-usb.c | 2 +- trunk/drivers/media/radio/si4713-i2c.c | 12 +- trunk/drivers/media/rc/ene_ir.c | 5 +- trunk/drivers/media/rc/iguanair.c | 147 +- trunk/drivers/media/rc/ir-lirc-codec.c | 4 +- .../media/rc/keymaps/rc-msi-digivox-ii.c | 36 +- trunk/drivers/media/rc/nuvoton-cir.c | 3 - trunk/drivers/media/rc/redrat3.c | 3 - trunk/drivers/media/rc/winbond-cir.c | 2 +- trunk/drivers/media/tuners/mt2063.c | 44 +- trunk/drivers/media/tuners/mt2063.h | 4 + trunk/drivers/media/tuners/tda18271-common.c | 104 +- trunk/drivers/media/usb/dvb-usb-v2/af9015.c | 4 +- trunk/drivers/media/usb/dvb-usb-v2/af9035.c | 2 +- trunk/drivers/media/usb/dvb-usb/a800.c | 2 +- .../media/usb/dvb-usb/cinergyT2-core.c | 3 +- .../drivers/media/usb/dvb-usb/dibusb-common.c | 2 +- trunk/drivers/media/usb/dvb-usb/digitv.c | 2 +- trunk/drivers/media/usb/dvb-usb/dtt200u.c | 2 +- trunk/drivers/media/usb/dvb-usb/m920x.c | 2 +- .../media/usb/dvb-usb/technisat-usb2.c | 1 - trunk/drivers/media/usb/em28xx/em28xx-cards.c | 2 +- trunk/drivers/media/usb/em28xx/em28xx-dvb.c | 13 +- .../drivers/media/usb/stk1160/stk1160-core.c | 15 +- trunk/drivers/media/usb/stk1160/stk1160-v4l.c | 7 +- trunk/drivers/media/usb/stk1160/stk1160.h | 3 +- trunk/drivers/media/usb/uvc/uvc_queue.c | 10 +- trunk/drivers/media/usb/uvc/uvc_video.c | 4 +- trunk/drivers/media/usb/uvc/uvcvideo.h | 2 +- trunk/drivers/media/v4l2-core/v4l2-ctrls.c | 74 - trunk/drivers/media/v4l2-core/v4l2-ioctl.c | 8 +- .../drivers/media/v4l2-core/videobuf2-core.c | 79 +- trunk/drivers/mmc/host/sdhci-tegra.c | 1 + .../drivers/pinctrl/pinctrl-nomadik-db8500.c | 289 +-- .../drivers/pinctrl/pinctrl-nomadik-db8540.c | 344 +-- trunk/drivers/pinctrl/pinctrl-nomadik.c | 117 +- trunk/drivers/pinctrl/pinctrl-nomadik.h | 78 - trunk/drivers/power/avs/smartreflex.c | 8 +- trunk/drivers/rapidio/rio-scan.c | 40 +- trunk/drivers/rapidio/rio.c | 75 +- trunk/drivers/rtc/Kconfig | 3 - trunk/drivers/staging/omapdrm/omap_drv.c | 5 +- trunk/drivers/target/target_core_iblock.c | 9 + trunk/drivers/tty/hvc/hvc_xen.c | 5 +- trunk/drivers/vfio/pci/vfio_pci.c | 7 +- trunk/drivers/vfio/pci/vfio_pci_intrs.c | 18 +- trunk/drivers/video/Kconfig | 15 + trunk/drivers/video/Makefile | 2 + trunk/drivers/video/amifb.c | 2 + trunk/drivers/video/arcfb.c | 1 - trunk/drivers/video/atmel_lcdfb.c | 5 +- trunk/drivers/video/bf537-lq035.c | 12 +- trunk/drivers/video/bf54x-lq043fb.c | 9 +- trunk/drivers/video/bfin-lq035q1-fb.c | 13 +- trunk/drivers/video/bfin-t350mcqb-fb.c | 1 - trunk/drivers/video/bw2.c | 4 +- trunk/drivers/video/cg3.c | 3 +- trunk/drivers/video/cobalt_lcdfb.c | 5 +- trunk/drivers/video/console/font_mini_4x6.c | 2 +- trunk/drivers/video/console/font_sun8x16.c | 2 +- trunk/drivers/video/cyber2000fb.c | 4 +- trunk/drivers/video/da8xx-fb.c | 283 +-- trunk/drivers/video/ep93xx-fb.c | 17 +- trunk/drivers/video/exynos/exynos_dp_core.c | 322 +-- trunk/drivers/video/exynos/exynos_dp_core.h | 6 +- trunk/drivers/video/exynos/exynos_dp_reg.c | 58 +- trunk/drivers/video/exynos/exynos_dp_reg.h | 3 +- trunk/drivers/video/exynos/exynos_mipi_dsi.c | 9 +- .../video/exynos/exynos_mipi_dsi_common.c | 8 + trunk/drivers/video/fsl-diu-fb.c | 10 +- trunk/drivers/video/gbefb.c | 17 +- trunk/drivers/video/hpfb.c | 28 +- trunk/drivers/video/imxfb.c | 1 - trunk/drivers/video/jz4740_fb.c | 44 +- trunk/drivers/video/mb862xx/mb862xxfbdrv.c | 10 +- trunk/drivers/video/mbx/mbxfb.c | 25 +- trunk/drivers/video/msm/mddi.c | 3 + trunk/drivers/video/msm/mddi_client_nt35399.c | 6 +- trunk/drivers/video/msm/mdp.c | 1 + trunk/drivers/video/msm/mdp_hw.h | 1 + trunk/drivers/video/mx3fb.c | 3 +- trunk/drivers/video/nuc900fb.c | 2 +- trunk/drivers/video/omap/hwa742.c | 1 + trunk/drivers/video/omap/lcd_palmte.c | 1 + trunk/drivers/video/omap/omapfb_main.c | 9 + .../video/omap2/displays/panel-acx565akm.c | 14 +- .../video/omap2/displays/panel-generic-dpi.c | 76 +- .../omap2/displays/panel-lgphilips-lb035q02.c | 3 - .../drivers/video/omap2/displays/panel-n8x0.c | 31 +- .../omap2/displays/panel-nec-nl8048hl11-01b.c | 3 - .../video/omap2/displays/panel-picodlp.c | 4 - .../omap2/displays/panel-sharp-ls037v7dw01.c | 3 - .../drivers/video/omap2/displays/panel-taal.c | 239 +- .../video/omap2/displays/panel-tfp410.c | 20 +- .../omap2/displays/panel-tpo-td043mtea1.c | 7 +- trunk/drivers/video/omap2/dss/Kconfig | 2 +- trunk/drivers/video/omap2/dss/Makefile | 4 +- trunk/drivers/video/omap2/dss/apply.c | 330 ++- trunk/drivers/video/omap2/dss/core.c | 91 +- trunk/drivers/video/omap2/dss/dispc.c | 1018 +++------ trunk/drivers/video/omap2/dss/dispc.h | 37 - trunk/drivers/video/omap2/dss/display.c | 108 +- trunk/drivers/video/omap2/dss/dpi.c | 181 +- trunk/drivers/video/omap2/dss/dsi.c | 675 ++---- trunk/drivers/video/omap2/dss/dss.c | 257 +-- trunk/drivers/video/omap2/dss/dss.h | 79 +- trunk/drivers/video/omap2/dss/dss_features.c | 278 +-- trunk/drivers/video/omap2/dss/dss_features.h | 7 - trunk/drivers/video/omap2/dss/hdmi.c | 247 +-- trunk/drivers/video/omap2/dss/hdmi_panel.c | 31 +- trunk/drivers/video/omap2/dss/manager-sysfs.c | 512 ----- trunk/drivers/video/omap2/dss/manager.c | 473 +++- trunk/drivers/video/omap2/dss/output.c | 148 -- trunk/drivers/video/omap2/dss/overlay-sysfs.c | 456 ---- trunk/drivers/video/omap2/dss/overlay.c | 492 ++++- trunk/drivers/video/omap2/dss/rfbi.c | 222 +- trunk/drivers/video/omap2/dss/sdi.c | 126 +- trunk/drivers/video/omap2/dss/venc.c | 337 +-- trunk/drivers/video/omap2/dss/venc_panel.c | 251 --- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 7 +- .../drivers/video/omap2/omapfb/omapfb-main.c | 32 +- trunk/drivers/video/omap2/omapfb/omapfb.h | 5 +- trunk/drivers/video/omap2/vram.c | 56 + trunk/drivers/video/pnx4008/Makefile | 7 + trunk/drivers/video/pnx4008/dum.h | 211 ++ trunk/drivers/video/pnx4008/fbcommon.h | 43 + trunk/drivers/video/pnx4008/pnxrgbfb.c | 198 ++ trunk/drivers/video/pnx4008/sdum.c | 861 ++++++++ trunk/drivers/video/pnx4008/sdum.h | 136 ++ trunk/drivers/video/ps3fb.c | 7 +- trunk/drivers/video/s3c-fb.c | 54 +- trunk/drivers/video/s3c2410fb.c | 34 +- trunk/drivers/video/savage/savagefb_driver.c | 4 +- trunk/drivers/video/sis/initextlfb.c | 2 +- trunk/drivers/video/sunxvr1000.c | 4 +- trunk/drivers/video/sunxvr2500.c | 4 +- trunk/drivers/video/sunxvr500.c | 8 +- trunk/drivers/video/udlfb.c | 2 +- trunk/drivers/video/uvesafb.c | 2 - trunk/drivers/video/vermilion/vermilion.c | 3 +- trunk/drivers/video/via/via_clock.c | 19 - trunk/drivers/xen/xenbus/xenbus_xs.c | 21 - trunk/fs/9p/v9fs.c | 30 +- trunk/fs/9p/vfs_inode.c | 8 +- trunk/fs/autofs4/root.c | 6 +- trunk/fs/bio-integrity.c | 44 +- trunk/fs/bio.c | 231 +- trunk/fs/block_dev.c | 68 +- trunk/fs/btrfs/ioctl.c | 2 +- trunk/fs/ceph/export.c | 18 +- trunk/fs/compat.c | 12 +- trunk/fs/exec.c | 14 +- trunk/fs/exofs/ore.c | 5 +- trunk/fs/exofs/super.c | 4 + trunk/fs/ext3/super.c | 6 + trunk/fs/fat/dir.c | 4 +- trunk/fs/fat/fat.h | 5 +- trunk/fs/fat/inode.c | 5 +- trunk/fs/fat/namei_msdos.c | 26 +- trunk/fs/fat/namei_vfat.c | 30 +- trunk/fs/file.c | 3 - trunk/fs/file_table.c | 2 +- trunk/fs/filesystems.c | 4 +- trunk/fs/fs-writeback.c | 2 +- trunk/fs/gfs2/export.c | 4 - trunk/fs/hpfs/super.c | 3 + trunk/fs/internal.h | 4 +- trunk/fs/isofs/export.c | 2 +- trunk/fs/lockd/mon.c | 86 +- trunk/fs/lockd/netns.h | 4 - trunk/fs/lockd/svc.c | 1 - trunk/fs/namei.c | 216 +- trunk/fs/namespace.c | 16 +- trunk/fs/nfs/Kconfig | 4 +- trunk/fs/nfs/blocklayout/blocklayout.c | 306 +-- trunk/fs/nfs/blocklayout/blocklayout.h | 2 +- trunk/fs/nfs/blocklayout/blocklayoutdev.c | 25 +- trunk/fs/nfs/blocklayout/extents.c | 3 +- trunk/fs/nfs/callback.c | 321 +-- trunk/fs/nfs/callback.h | 3 +- trunk/fs/nfs/callback_proc.c | 31 +- trunk/fs/nfs/client.c | 23 +- trunk/fs/nfs/dir.c | 16 +- trunk/fs/nfs/direct.c | 32 +- trunk/fs/nfs/file.c | 41 +- trunk/fs/nfs/getroot.c | 2 - trunk/fs/nfs/idmap.c | 114 +- trunk/fs/nfs/inode.c | 10 +- trunk/fs/nfs/internal.h | 15 +- trunk/fs/nfs/netns.h | 4 - trunk/fs/nfs/nfs4_fs.h | 19 +- trunk/fs/nfs/nfs4client.c | 256 +-- trunk/fs/nfs/nfs4file.c | 29 +- trunk/fs/nfs/nfs4filelayout.c | 41 +- trunk/fs/nfs/nfs4filelayout.h | 16 +- trunk/fs/nfs/nfs4filelayoutdev.c | 17 +- trunk/fs/nfs/nfs4namespace.c | 16 +- trunk/fs/nfs/nfs4proc.c | 342 +-- trunk/fs/nfs/nfs4state.c | 228 +- trunk/fs/nfs/nfs4sysctl.c | 1 - trunk/fs/nfs/nfs4xdr.c | 31 +- trunk/fs/nfs/objlayout/objio_osd.c | 9 +- trunk/fs/nfs/pagelist.c | 12 +- trunk/fs/nfs/pnfs.c | 417 ++-- trunk/fs/nfs/pnfs.h | 57 +- trunk/fs/nfs/pnfs_dev.c | 27 - trunk/fs/nfs/super.c | 31 +- trunk/fs/nfs/write.c | 11 +- trunk/fs/open.c | 29 +- trunk/fs/proc/base.c | 5 +- trunk/fs/quota/quota.c | 4 +- trunk/fs/reiserfs/inode.c | 6 +- trunk/fs/super.c | 23 + trunk/fs/sysv/balloc.c | 18 +- trunk/fs/sysv/ialloc.c | 14 +- trunk/fs/sysv/inode.c | 4 +- trunk/fs/sysv/super.c | 1 - trunk/fs/sysv/sysv.h | 1 - trunk/fs/ufs/balloc.c | 30 +- trunk/fs/ufs/ialloc.c | 16 +- trunk/fs/ufs/super.c | 21 +- trunk/fs/ufs/ufs.h | 1 - trunk/fs/xattr.c | 8 +- trunk/fs/xfs/xfs_export.c | 3 - trunk/include/linux/alarmtimer.h | 31 +- trunk/include/linux/audit.h | 69 +- trunk/include/linux/bio.h | 70 +- trunk/include/linux/blk_types.h | 36 +- trunk/include/linux/blkdev.h | 82 +- trunk/include/linux/clocksource.h | 16 + trunk/include/linux/compiler-gcc4.h | 2 +- trunk/include/linux/dvb/version.h | 2 +- trunk/include/linux/fs.h | 32 +- trunk/include/linux/fsnotify.h | 8 +- trunk/include/linux/i2c-algo-pca.h | 1 - trunk/include/linux/i2c-omap.h | 1 + trunk/include/linux/i2c/i2c-rcar.h | 10 - trunk/include/linux/jiffies.h | 20 +- trunk/include/linux/lglock.h | 19 +- trunk/include/linux/memcontrol.h | 4 +- trunk/include/linux/nfs_fs.h | 11 +- trunk/include/linux/nfs_fs_sb.h | 3 - trunk/include/linux/nfs_xdr.h | 5 +- trunk/include/linux/pageblock-flags.h | 6 +- trunk/include/linux/percpu-rwsem.h | 89 - trunk/include/linux/perf_event.h | 2 +- .../include/linux/platform_data/i2c-nomadik.h | 2 +- trunk/include/linux/platform_data/mipi-csis.h | 30 +- trunk/include/linux/rio.h | 3 +- trunk/include/linux/scatterlist.h | 1 - trunk/include/linux/security.h | 12 +- trunk/include/linux/sunrpc/clnt.h | 2 - trunk/include/linux/sunrpc/xprt.h | 3 +- trunk/include/linux/syscalls.h | 8 - trunk/include/linux/timekeeper_internal.h | 108 - trunk/include/linux/v4l2-controls.h | 42 - trunk/include/linux/v4l2-mediabus.h | 5 - trunk/include/linux/videodev2.h | 5 - trunk/include/media/davinci/vpbe.h | 14 +- trunk/include/media/davinci/vpbe_types.h | 8 +- trunk/include/media/davinci/vpbe_venc.h | 2 +- trunk/include/media/davinci/vpif_types.h | 26 +- trunk/include/media/s5p_fimc.h | 2 + trunk/include/media/v4l2-ctrls.h | 23 - trunk/include/media/v4l2-subdev.h | 48 - trunk/include/video/omapdss.h | 112 +- trunk/include/xen/interface/hvm/hvm_op.h | 19 - trunk/init/Kconfig | 12 - trunk/init/do_mounts.c | 7 +- trunk/init/do_mounts_initrd.c | 41 +- trunk/init/main.c | 33 +- trunk/ipc/mqueue.c | 17 +- trunk/kernel/acct.c | 6 +- trunk/kernel/audit.c | 2 - trunk/kernel/audit.h | 7 +- trunk/kernel/audit_watch.c | 3 +- trunk/kernel/auditfilter.c | 65 +- trunk/kernel/auditsc.c | 217 +- trunk/kernel/events/core.c | 21 +- trunk/kernel/irq/irqdomain.c | 33 +- trunk/kernel/kmod.c | 7 +- trunk/kernel/kthread.c | 1 - trunk/kernel/rcutree.c | 21 +- trunk/kernel/rcutree.h | 6 - trunk/kernel/sched/core.c | 71 +- trunk/kernel/time.c | 2 +- trunk/kernel/time/Kconfig | 4 - trunk/kernel/time/alarmtimer.c | 118 +- trunk/kernel/time/jiffies.c | 32 +- trunk/kernel/time/tick-sched.c | 2 +- trunk/kernel/time/timekeeping.c | 117 +- trunk/kernel/timer.c | 10 +- trunk/lib/kasprintf.c | 2 +- trunk/lib/scatterlist.c | 19 - trunk/mm/backing-dev.c | 50 +- trunk/mm/page-writeback.c | 14 +- trunk/mm/shmem.c | 6 +- trunk/mm/slab_common.c | 5 +- trunk/mm/swapfile.c | 11 +- trunk/net/9p/client.c | 18 +- trunk/net/9p/trans_fd.c | 38 +- trunk/net/sunrpc/auth_gss/auth_gss.c | 58 +- trunk/net/sunrpc/clnt.c | 105 +- trunk/net/sunrpc/rpc_pipe.c | 8 +- trunk/net/sunrpc/sched.c | 2 +- trunk/net/sunrpc/xdr.c | 21 +- trunk/net/sunrpc/xprt.c | 8 +- trunk/net/sunrpc/xprtrdma/transport.c | 22 +- trunk/net/sunrpc/xprtsock.c | 40 +- trunk/scripts/Makefile.modinst | 2 +- trunk/scripts/Makefile.modpost | 2 +- trunk/scripts/coccicheck | 3 - trunk/scripts/coccinelle/api/ptr_ret.cocci | 26 - .../coccinelle/tests/odd_ptr_err.cocci | 65 - trunk/scripts/kconfig/Makefile | 12 +- trunk/scripts/kconfig/conf.c | 25 +- trunk/scripts/kconfig/expr.h | 11 - trunk/scripts/kconfig/lkc_proto.h | 6 +- trunk/scripts/kconfig/lxdialog/dialog.h | 9 +- trunk/scripts/kconfig/lxdialog/textbox.c | 171 +- trunk/scripts/kconfig/lxdialog/util.c | 7 - trunk/scripts/kconfig/mconf.c | 123 +- trunk/scripts/kconfig/menu.c | 53 +- trunk/scripts/kconfig/nconf.c | 2 +- trunk/scripts/kernel-doc | 273 +-- trunk/scripts/mod/modpost.c | 1 - trunk/scripts/package/buildtar | 6 +- trunk/scripts/tags.sh | 8 +- trunk/security/capability.c | 4 +- trunk/security/security.c | 4 +- trunk/security/selinux/hooks.c | 4 +- trunk/security/smack/smack_lsm.c | 4 +- trunk/security/tomoyo/common.h | 2 +- trunk/security/tomoyo/mount.c | 5 +- trunk/security/tomoyo/tomoyo.c | 4 +- trunk/sound/oss/waveartist.c | 4 +- trunk/sound/pci/hda/hda_codec.c | 2 - trunk/sound/pci/hda/hda_intel.c | 5 + trunk/sound/pci/hda/patch_cirrus.c | 58 +- trunk/sound/pci/hda/patch_realtek.c | 3 - trunk/sound/pci/hda/patch_sigmatel.c | 27 - trunk/sound/pci/hda/patch_via.c | 98 +- trunk/sound/usb/quirks-table.h | 46 - trunk/tools/perf/Makefile | 86 +- trunk/tools/perf/bash_completion | 50 +- trunk/tools/perf/builtin-buildid-cache.c | 58 +- trunk/tools/perf/builtin-buildid-list.c | 55 +- trunk/tools/perf/builtin-diff.c | 68 +- trunk/tools/perf/builtin-evlist.c | 21 +- trunk/tools/perf/builtin-help.c | 40 +- trunk/tools/perf/builtin-inject.c | 88 +- trunk/tools/perf/builtin-kmem.c | 66 +- trunk/tools/perf/builtin-kvm.c | 460 ++-- trunk/tools/perf/builtin-lock.c | 90 +- trunk/tools/perf/builtin-probe.c | 26 +- trunk/tools/perf/builtin-record.c | 27 +- trunk/tools/perf/builtin-report.c | 4 +- trunk/tools/perf/builtin-sched.c | 2 +- trunk/tools/perf/builtin-script.c | 90 +- trunk/tools/perf/builtin-stat.c | 328 +-- trunk/tools/perf/builtin-timechart.c | 100 +- trunk/tools/perf/builtin-top.c | 11 +- trunk/tools/perf/builtin-trace.c | 134 +- trunk/tools/perf/perf.c | 4 +- trunk/tools/perf/ui/browsers/hists.c | 12 +- trunk/tools/perf/ui/gtk/browser.c | 6 +- trunk/tools/perf/ui/gtk/util.c | 2 +- trunk/tools/perf/ui/helpline.h | 18 +- trunk/tools/perf/ui/hist.c | 145 +- trunk/tools/perf/ui/setup.c | 2 +- trunk/tools/perf/ui/stdio/hist.c | 45 +- trunk/tools/perf/util/annotate.h | 8 +- trunk/tools/perf/util/cache.h | 38 +- trunk/tools/perf/util/debug.c | 2 +- trunk/tools/perf/util/debug.h | 17 +- trunk/tools/perf/util/evlist.c | 88 +- trunk/tools/perf/util/evlist.h | 18 +- trunk/tools/perf/util/generate-cmdlist.sh | 4 +- trunk/tools/perf/util/hist.c | 66 +- trunk/tools/perf/util/hist.h | 38 +- trunk/tools/perf/util/include/linux/rbtree.h | 1 + .../util/include/linux/rbtree_augmented.h | 2 - trunk/tools/perf/util/map.c | 2 +- trunk/tools/perf/util/parse-options.c | 8 - trunk/tools/perf/util/parse-options.h | 1 - trunk/tools/perf/util/path.c | 2 +- trunk/tools/perf/util/perf_regs.h | 4 +- trunk/tools/perf/util/sort.h | 19 +- trunk/tools/perf/util/symbol.h | 10 +- trunk/tools/perf/util/unwind.h | 4 +- trunk/tools/perf/util/util.c | 4 +- trunk/tools/testing/ktest/ktest.pl | 15 +- 1031 files changed, 15811 insertions(+), 26847 deletions(-) delete mode 100644 trunk/Documentation/devicetree/bindings/i2c/atmel-i2c.txt delete mode 100644 trunk/Documentation/devicetree/bindings/i2c/davinci.txt delete mode 100644 trunk/Documentation/devicetree/bindings/i2c/nomadik.txt delete mode 100644 trunk/Documentation/percpu-rw-semaphore.txt delete mode 100644 trunk/arch/arm/include/asm/virt.h delete mode 100644 trunk/arch/arm/kernel/hyp-stub.S create mode 100644 trunk/arch/arm/mach-at91/include/mach/at91_twi.h create mode 100644 trunk/arch/arm/plat-samsung/include/plat/regs-fb-v4.h rename trunk/{include/video/samsung_fimd.h => arch/arm/plat-samsung/include/plat/regs-fb.h} (73%) create mode 100644 trunk/arch/frv/kernel/kernel_execve.S create mode 100644 trunk/arch/frv/kernel/kernel_thread.S rename trunk/arch/ia64/include/{uapi => }/asm/auxvec.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/bitsperlong.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/break.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/byteorder.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/cmpxchg.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/errno.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/fcntl.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/fpu.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/ia64regs.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/intel_intrin.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/ioctl.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/ioctls.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/ipcbuf.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/kvm.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/msgbuf.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/perfmon_default_smpl.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/poll.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/posix_types.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/ptrace_offsets.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/resource.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/rse.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/sembuf.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/setup.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/shmbuf.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/sigcontext.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/socket.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/sockios.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/stat.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/statfs.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/swab.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/termbits.h (100%) rename trunk/arch/ia64/include/{uapi => }/asm/ucontext.h (100%) delete mode 100644 trunk/arch/ia64/include/uapi/asm/gcc_intrin.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/intrinsics.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/kvm_para.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/mman.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/param.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/perfmon.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/siginfo.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/signal.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/termios.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/types.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/unistd.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/ustack.h create mode 100644 trunk/arch/mn10300/kernel/kernel_execve.S create mode 100644 trunk/arch/mn10300/kernel/kthread.S rename trunk/arch/tile/include/{uapi => }/arch/abi.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/chip.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/chip_tile64.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/chip_tilegx.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/chip_tilepro.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/icache.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/interrupts.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/interrupts_32.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/interrupts_64.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/opcode.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/opcode_tilegx.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/opcode_tilepro.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/sim.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/sim_def.h (100%) rename trunk/arch/tile/include/{uapi => }/arch/spr_def_32.h (98%) rename trunk/arch/tile/include/{uapi => }/arch/spr_def_64.h (98%) rename trunk/arch/tile/include/{uapi => }/asm/auxvec.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/bitsperlong.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/byteorder.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/cachectl.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/kvm_para.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/mman.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/sigcontext.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/siginfo.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/stat.h (100%) rename trunk/arch/tile/include/{uapi => }/asm/swab.h (100%) delete mode 100644 trunk/arch/tile/include/uapi/arch/spr_def.h delete mode 100644 trunk/arch/tile/include/uapi/asm/hardwall.h delete mode 100644 trunk/arch/tile/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/tile/include/uapi/asm/setup.h delete mode 100644 trunk/arch/tile/include/uapi/asm/signal.h delete mode 100644 trunk/arch/tile/include/uapi/asm/unistd.h delete mode 100644 trunk/arch/x86/kernel/cpu/perf_event_knc.c delete mode 100644 trunk/drivers/i2c/busses/i2c-rcar.c delete mode 100644 trunk/drivers/media/platform/s5p-mfc/regs-mfc-v6.h delete mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v5.c delete mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v5.h delete mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v6.c delete mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v6.h delete mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c delete mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c delete mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.h create mode 100644 trunk/drivers/media/platform/s5p-mfc/s5p_mfc_shm.c rename trunk/drivers/media/platform/s5p-mfc/{s5p_mfc_opr_v5.h => s5p_mfc_shm.h} (76%) delete mode 100644 trunk/drivers/video/omap2/dss/manager-sysfs.c delete mode 100644 trunk/drivers/video/omap2/dss/output.c delete mode 100644 trunk/drivers/video/omap2/dss/overlay-sysfs.c delete mode 100644 trunk/drivers/video/omap2/dss/venc_panel.c create mode 100644 trunk/drivers/video/pnx4008/Makefile create mode 100644 trunk/drivers/video/pnx4008/dum.h create mode 100644 trunk/drivers/video/pnx4008/fbcommon.h create mode 100644 trunk/drivers/video/pnx4008/pnxrgbfb.c create mode 100644 trunk/drivers/video/pnx4008/sdum.c create mode 100644 trunk/drivers/video/pnx4008/sdum.h delete mode 100644 trunk/include/linux/i2c/i2c-rcar.h delete mode 100644 trunk/include/linux/percpu-rwsem.h delete mode 100644 trunk/include/linux/timekeeper_internal.h delete mode 100644 trunk/scripts/coccinelle/tests/odd_ptr_err.cocci delete mode 100644 trunk/tools/perf/util/include/linux/rbtree_augmented.h diff --git a/[refs] b/[refs] index b92f4895b758..c64ad923395b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 54f7fc25e5736c39050454fe6b5a2bed027fbfab +refs/heads/master: f88620b9c5521e9cb9de88e56272bfec3d831513 diff --git a/trunk/Documentation/ABI/testing/sysfs-block b/trunk/Documentation/ABI/testing/sysfs-block index 279da08f7541..c1eb41cb9876 100644 --- a/trunk/Documentation/ABI/testing/sysfs-block +++ b/trunk/Documentation/ABI/testing/sysfs-block @@ -206,17 +206,3 @@ Description: when a discarded area is read the discard_zeroes_data parameter will be set to one. Otherwise it will be 0 and the result of reading a discarded area is undefined. - -What: /sys/block//queue/write_same_max_bytes -Date: January 2012 -Contact: Martin K. Petersen -Description: - Some devices support a write same operation in which a - single data block can be written to a range of several - contiguous blocks on storage. This can be used to wipe - areas on disk or to initialize drives in a RAID - configuration. write_same_max_bytes indicates how many - bytes can be written in a single write same command. If - write_same_max_bytes is 0, write same is not supported - by the device. - diff --git a/trunk/Documentation/DocBook/media/v4l/compat.xml b/trunk/Documentation/DocBook/media/v4l/compat.xml index 4fdf6b562d1c..c6ae4c9d0e0c 100644 --- a/trunk/Documentation/DocBook/media/v4l/compat.xml +++ b/trunk/Documentation/DocBook/media/v4l/compat.xml @@ -2582,10 +2582,6 @@ ioctls. Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl. - - Vendor and device specific media bus pixel formats. - . - diff --git a/trunk/Documentation/DocBook/media/v4l/controls.xml b/trunk/Documentation/DocBook/media/v4l/controls.xml index 7fe5be1d3bbb..272a5f718509 100644 --- a/trunk/Documentation/DocBook/media/v4l/controls.xml +++ b/trunk/Documentation/DocBook/media/v4l/controls.xml @@ -1586,6 +1586,7 @@ frame counter of the frame that is currently displayed (decoded). This value is the decoder is started. + V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE  @@ -2268,14 +2269,6 @@ encoder or editing process may produce.". Applicable to the MPEG1, MPEG2, MPEG4 encoders. - - - V4L2_CID_MPEG_VIDEO_VBV_DELAY  - integer - Sets the initial delay in milliseconds for -VBV buffer control. - - V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE  @@ -2341,265 +2334,6 @@ Applicable to the MPEG4 decoder. vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder. - - - V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING  - boolean - - Enable generation of frame packing supplemental enhancement information in the encoded bitstream. -The frame packing SEI message contains the arrangement of L and R planes for 3D viewing. Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0  - boolean - - Sets current frame as frame0 in frame packing SEI. -Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE  - enum v4l2_mpeg_video_h264_sei_fp_arrangement_type - - Frame packing arrangement type for H264 SEI. -Applicable to the H264 encoder. -Possible values are: - - - - - - V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD  - Pixels are alternatively from L and R. - - - V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN  - L and R are interlaced by column. - - - V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW  - L and R are interlaced by row. - - - V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE  - L is on the left, R on the right. - - - V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM  - L is on top, R on bottom. - - - V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL  - One view per frame. - - - - - - - - V4L2_CID_MPEG_VIDEO_H264_FMO  - boolean - - Enables flexible macroblock ordering in the encoded bitstream. It is a technique -used for restructuring the ordering of macroblocks in pictures. Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE  - enum v4l2_mpeg_video_h264_fmo_map_type - - When using FMO, the map type divides the image in different scan patterns of macroblocks. -Applicable to the H264 encoder. -Possible values are: - - - - - - V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES  - Slices are interleaved one after other with macroblocks in run length order. - - - V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES  - Scatters the macroblocks based on a mathematical function known to both encoder and decoder. - - - V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER  - Macroblocks arranged in rectangular areas or regions of interest. - - - V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT  - Slice groups grow in a cyclic way from centre to outwards. - - - V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN  - Slice groups grow in raster scan pattern from left to right. - - - V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN  - Slice groups grow in wipe scan pattern from top to bottom. - - - V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT  - User defined map type. - - - - - - - - V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP  - integer - - Number of slice groups in FMO. -Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION  - enum v4l2_mpeg_video_h264_fmo_change_dir - - Specifies a direction of the slice group change for raster and wipe maps. -Applicable to the H264 encoder. -Possible values are: - - - - - - V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT  - Raster scan or wipe right. - - - V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT  - Reverse raster scan or wipe left. - - - - - - - - V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE  - integer - - Specifies the size of the first slice group for raster and wipe map. -Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH  - integer - - Specifies the number of consecutive macroblocks for the interleaved map. -Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_ASO  - boolean - - Enables arbitrary slice ordering in encoded bitstream. -Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER  - integer - Specifies the slice order in ASO. Applicable to the H264 encoder. -The supplied 32-bit integer is interpreted as follows (bit -0 = least significant bit): - - - - - - Bit 0:15 - Slice ID - - - Bit 16:32 - Slice position or order - - - - - - - - V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING  - boolean - - Enables H264 hierarchical coding. -Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE  - enum v4l2_mpeg_video_h264_hierarchical_coding_type - - Specifies the hierarchical coding type. -Applicable to the H264 encoder. -Possible values are: - - - - - - V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B  - Hierarchical B coding. - - - V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P  - Hierarchical P coding. - - - - - - - - V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER  - integer - - Specifies the number of hierarchical coding layers. -Applicable to the H264 encoder. - - - - - V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP  - integer - Specifies a user defined QP for each layer. Applicable to the H264 encoder. -The supplied 32-bit integer is interpreted as follows (bit -0 = least significant bit): - - - - - - Bit 0:15 - QP value - - - Bit 16:32 - Layer number - - - - - @@ -4533,16 +4267,6 @@ interface and may change in the future. pixels / second. - - V4L2_CID_TEST_PATTERN - menu - - - Some capture/display/sensor devices have - the capability to generate test pattern images. These hardware - specific test patterns can be used to test if a device is working - properly. - diff --git a/trunk/Documentation/DocBook/media/v4l/io.xml b/trunk/Documentation/DocBook/media/v4l/io.xml index b5d1cbdc558b..97f785add841 100644 --- a/trunk/Documentation/DocBook/media/v4l/io.xml +++ b/trunk/Documentation/DocBook/media/v4l/io.xml @@ -677,10 +677,8 @@ memory, set by the application. See for details. length Size of the buffer (not the payload) in bytes for the - single-planar API. For the multi-planar API the application sets - this to the number of elements in the planes - array. The driver will fill in the actual number of valid elements in - that array. + single-planar API. For the multi-planar API should contain the + number of elements in the planes array. diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml index a990b34d911a..5274c24d11e0 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml @@ -1,13 +1,11 @@ - + - V4L2_PIX_FMT_NV12M ('NM12'), V4L2_PIX_FMT_NV21M ('NM21'), V4L2_PIX_FMT_NV12MT_16X16 + V4L2_PIX_FMT_NV12M ('NM12') &manvol; - V4L2_PIX_FMT_NV12M - V4L2_PIX_FMT_NV21M - V4L2_PIX_FMT_NV12MT_16X16 - Variation of V4L2_PIX_FMT_NV12 and V4L2_PIX_FMT_NV21 with planes + V4L2_PIX_FMT_NV12M + Variation of V4L2_PIX_FMT_NV12 with planes non contiguous in memory. @@ -24,12 +22,7 @@ The CbCr plane is the same width, in bytes, as the Y plane (and of the image), but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example, Cb0/Cr0 belongs to Y'00, Y'01, -Y'10, Y'11. -V4L2_PIX_FMT_NV12MT_16X16 is the tiled version of -V4L2_PIX_FMT_NV12M with 16x16 macroblock tiles. Here pixels -are arranged in 16x16 2D tiles and tiles are arranged in linear order in memory. -V4L2_PIX_FMT_NV21M is the same as V4L2_PIX_FMT_NV12M -except the Cb and Cr bytes are swapped, the CrCb plane starts with a Cr byte. +Y'10, Y'11. V4L2_PIX_FMT_NV12M is intended to be used only in drivers and applications that support the multi-planar API, diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt.xml index bf94f417592c..1ddbfabe3195 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt.xml @@ -758,11 +758,6 @@ extended control V4L2_CID_MPEG_STREAM_TYPE, see 'AVC1' H264 video elementary stream without start codes. - - V4L2_PIX_FMT_H264_MVC - 'MVC' - H264 MVC video elementary stream. - V4L2_PIX_FMT_H263 'H263' @@ -798,11 +793,6 @@ extended control V4L2_CID_MPEG_STREAM_TYPE, see 'VC1L' VC1, SMPTE 421M Annex L compliant stream. - - V4L2_PIX_FMT_VP8 - 'VP8' - VP8 video elementary stream. - @@ -1006,34 +996,6 @@ the other bits are set to 0. Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used, the other bits are set to 0. - - V4L2_PIX_FMT_S5C_UYVY_JPG - 'S5CI' - Two-planar format used by Samsung S5C73MX cameras. The -first plane contains interleaved JPEG and UYVY image data, followed by meta data -in form of an array of offsets to the UYVY data blocks. The actual pointer array -follows immediately the interleaved JPEG/UYVY data, the number of entries in -this array equals the height of the UYVY image. Each entry is a 4-byte unsigned -integer in big endian order and it's an offset to a single pixel line of the -UYVY image. The first plane can start either with JPEG or UYVY data chunk. The -size of a single UYVY block equals the UYVY image's width multiplied by 2. The -size of a JPEG chunk depends on the image and can vary with each line. -The second plane, at an offset of 4084 bytes, contains a 4-byte offset to -the pointer array in the first plane. This offset is followed by a 4-byte value -indicating size of the pointer array. All numbers in the second plane are also -in big endian order. Remaining data in the second plane is undefined. The -information in the second plane allows to easily find location of the pointer -array, which can be different for each frame. The size of the pointer array is -constant for given UYVY image height. -In order to extract UYVY and JPEG frames an application can initially set -a data pointer to the start of first plane and then add an offset from the first -entry of the pointers table. Such a pointer indicates start of an UYVY image -pixel line. Whole UYVY line can be copied to a separate buffer. These steps -should be repeated for each line, i.e. the number of entries in the pointer -array. Anything what's in between the UYVY lines is JPEG data and should be -concatenated to form the JPEG stream. - - diff --git a/trunk/Documentation/DocBook/media/v4l/subdev-formats.xml b/trunk/Documentation/DocBook/media/v4l/subdev-formats.xml index a0a936455fae..49c532ebbbbe 100644 --- a/trunk/Documentation/DocBook/media/v4l/subdev-formats.xml +++ b/trunk/Documentation/DocBook/media/v4l/subdev-formats.xml @@ -2565,49 +2565,5 @@ - -
- Vendor and Device Specific Formats - - - Experimental - This is an experimental -interface and may change in the future. - - - This section lists complex data formats that are either vendor or - device specific. - - - The following table lists the existing vendor and device specific - formats. - - - Vendor and device specific formats - - - - - - - Identifier - Code - Comments - - - - - V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 - 0x5001 - - Interleaved raw UYVY and JPEG image format with embedded - meta-data used by Samsung S3C73MX camera sensors. - - - - -
-
- diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-qbuf.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-qbuf.xml index 2d37abefce13..6a821a65a5ae 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-qbuf.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-qbuf.xml @@ -121,7 +121,8 @@ remaining fields or returns an error code. The driver may also set field. It indicates a non-critical (recoverable) streaming error. In such case the application may continue as normal, but should be aware that data in the dequeued buffer might be corrupted. When using the multi-planar API, the -planes array must be passed in as well. +planes array does not have to be passed; the m.planes +member must be set to NULL in that case. By default VIDIOC_DQBUF blocks when no buffer is in the outgoing queue. When the diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml index a597155c052d..6e414d7b6df7 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml @@ -48,8 +48,8 @@ Description - This ioctl is part of the streaming - I/O method. It can be used to query the status of a + This ioctl is part of the memory +mapping I/O method. It can be used to query the status of a buffer at any time after buffers have been allocated with the &VIDIOC-REQBUFS; ioctl. @@ -71,7 +71,6 @@ the structure. In the flags field the V4L2_BUF_FLAG_MAPPED, -V4L2_BUF_FLAG_PREPARED, V4L2_BUF_FLAG_QUEUED and V4L2_BUF_FLAG_DONE flags will be valid. The memory field will be set to the current @@ -80,10 +79,8 @@ contains the offset of the buffer from the start of the device memory, the length field its size. For the multi-planar API, fields m.mem_offset and length in the m.planes -array elements will be used instead and the length -field of &v4l2-buffer; is set to the number of filled-in array elements. -The driver may or may not set the remaining fields and flags, they are -meaningless in this context. +array elements will be used instead. The driver may or may not set the remaining +fields and flags, they are meaningless in this context. The v4l2_buffer structure is specified in . diff --git a/trunk/Documentation/arm/Booting b/trunk/Documentation/arm/Booting index 0c1f475fdf36..a341d87d276e 100644 --- a/trunk/Documentation/arm/Booting +++ b/trunk/Documentation/arm/Booting @@ -154,33 +154,13 @@ In either case, the following conditions must be met: - CPU mode All forms of interrupts must be disabled (IRQs and FIQs) - - For CPUs which do not include the ARM virtualization extensions, the - CPU must be in SVC mode. (A special exception exists for Angel) - - CPUs which include support for the virtualization extensions can be - entered in HYP mode in order to enable the kernel to make full use of - these extensions. This is the recommended boot method for such CPUs, - unless the virtualisations are already in use by a pre-installed - hypervisor. - - If the kernel is not entered in HYP mode for any reason, it must be - entered in SVC mode. + The CPU must be in SVC mode. (A special exception exists for Angel) - Caches, MMUs The MMU must be off. Instruction cache may be on or off. Data cache must be off. - If the kernel is entered in HYP mode, the above requirements apply to - the HYP mode configuration in addition to the ordinary PL1 (privileged - kernel modes) configuration. In addition, all traps into the - hypervisor must be disabled, and PL1 access must be granted for all - peripherals and CPU resources for which this is architecturally - possible. Except for entering in HYP mode, the system configuration - should be such that a kernel which does not include support for the - virtualization extensions can boot correctly without extra help. - - The boot loader is expected to call the kernel image by jumping directly to the first instruction of the kernel image. diff --git a/trunk/Documentation/block/biodoc.txt b/trunk/Documentation/block/biodoc.txt index 8df5e8e6dceb..e418dc0a7086 100644 --- a/trunk/Documentation/block/biodoc.txt +++ b/trunk/Documentation/block/biodoc.txt @@ -465,6 +465,7 @@ struct bio { bio_end_io_t *bi_end_io; /* bi_end_io (bio) */ atomic_t bi_cnt; /* pin count: free when it hits zero */ void *bi_private; + bio_destructor_t *bi_destructor; /* bi_destructor (bio) */ }; With this multipage bio design: @@ -646,6 +647,10 @@ for a non-clone bio. There are the 6 pools setup for different size biovecs, so bio_alloc(gfp_mask, nr_iovecs) will allocate a vec_list of the given size from these slabs. +The bi_destructor() routine takes into account the possibility of the bio +having originated from a different source (see later discussions on +n/w to block transfers and kvec_cb) + The bio_get() routine may be used to hold an extra reference on a bio prior to i/o submission, if the bio fields are likely to be accessed after the i/o is issued (since the bio may otherwise get freed in case i/o completion diff --git a/trunk/Documentation/devicetree/bindings/i2c/atmel-i2c.txt b/trunk/Documentation/devicetree/bindings/i2c/atmel-i2c.txt deleted file mode 100644 index b689a0d9441c..000000000000 --- a/trunk/Documentation/devicetree/bindings/i2c/atmel-i2c.txt +++ /dev/null @@ -1,30 +0,0 @@ -I2C for Atmel platforms - -Required properties : -- compatible : Must be "atmel,at91rm9200-i2c", "atmel,at91sam9261-i2c", - "atmel,at91sam9260-i2c", "atmel,at91sam9g20-i2c", "atmel,at91sam9g10-i2c" - or "atmel,at91sam9x5-i2c" -- reg: physical base address of the controller and length of memory mapped - region. -- interrupts: interrupt number to the cpu. -- #address-cells = <1>; -- #size-cells = <0>; - -Optional properties: -- Child nodes conforming to i2c bus binding - -Examples : - -i2c0: i2c@fff84000 { - compatible = "atmel,at91sam9g20-i2c"; - reg = <0xfff84000 0x100>; - interrupts = <12 4 6>; - #address-cells = <1>; - #size-cells = <0>; - - 24c512@50 { - compatible = "24c512"; - reg = <0x50>; - pagesize = <128>; - } -} diff --git a/trunk/Documentation/devicetree/bindings/i2c/davinci.txt b/trunk/Documentation/devicetree/bindings/i2c/davinci.txt deleted file mode 100644 index 2dc935b4113d..000000000000 --- a/trunk/Documentation/devicetree/bindings/i2c/davinci.txt +++ /dev/null @@ -1,28 +0,0 @@ -* Texas Instruments Davinci I2C - -This file provides information, what the device node for the -davinci i2c interface contain. - -Required properties: -- compatible: "ti,davinci-i2c"; -- reg : Offset and length of the register set for the device - -Recommended properties : -- interrupts : standard interrupt property. -- clock-frequency : desired I2C bus clock frequency in Hz. - -Example (enbw_cmc board): - i2c@1c22000 { - compatible = "ti,davinci-i2c"; - reg = <0x22000 0x1000>; - clock-frequency = <100000>; - interrupts = <15>; - interrupt-parent = <&intc>; - #address-cells = <1>; - #size-cells = <0>; - - dtt@48 { - compatible = "national,lm75"; - reg = <0x48>; - }; - }; diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-mxs.txt b/trunk/Documentation/devicetree/bindings/i2c/i2c-mxs.txt index 7a3fe9e5f4cb..30ac3a0557f7 100644 --- a/trunk/Documentation/devicetree/bindings/i2c/i2c-mxs.txt +++ b/trunk/Documentation/devicetree/bindings/i2c/i2c-mxs.txt @@ -6,7 +6,6 @@ Required properties: - interrupts: Should contain ERROR and DMA interrupts - clock-frequency: Desired I2C bus clock frequency in Hz. Only 100000Hz and 400000Hz modes are supported. -- fsl,i2c-dma-channel: APBX DMA channel for the I2C Examples: @@ -17,5 +16,4 @@ i2c0: i2c@80058000 { reg = <0x80058000 2000>; interrupts = <111 68>; clock-frequency = <100000>; - fsl,i2c-dma-channel = <6>; }; diff --git a/trunk/Documentation/devicetree/bindings/i2c/nomadik.txt b/trunk/Documentation/devicetree/bindings/i2c/nomadik.txt deleted file mode 100644 index 72065b0ff680..000000000000 --- a/trunk/Documentation/devicetree/bindings/i2c/nomadik.txt +++ /dev/null @@ -1,23 +0,0 @@ -I2C for Nomadik based systems - -Required (non-standard) properties: - - Nil - -Recommended (non-standard) properties: - - clock-frequency : Maximum bus clock frequency for the device - -Optional (non-standard) properties: - - Nil - -Example : - -i2c@80004000 { - compatible = "stericsson,db8500-i2c", "st,nomadik-i2c"; - reg = <0x80004000 0x1000>; - interrupts = <0 21 0x4>; - #address-cells = <1>; - #size-cells = <0>; - v-i2c-supply = <&db8500_vape_reg>; - - clock-frequency = <400000>; -}; diff --git a/trunk/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt b/trunk/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt index 7da578d72123..548892c08c59 100644 --- a/trunk/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt +++ b/trunk/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt @@ -7,7 +7,7 @@ as "armctrl" in the SoC documentation, hence naming of this binding. Required properties: -- compatible : should be "brcm,bcm2835-armctrl-ic" +- compatible : should be "brcm,bcm2835-armctrl-ic.txt" - reg : Specifies base physical address and size of the registers. - interrupt-controller : Identifies the node as an interrupt controller - #interrupt-cells : Specifies the number of cells needed to encode an diff --git a/trunk/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt b/trunk/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt index 844bd5fbd04c..2de21c2acf55 100644 --- a/trunk/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt +++ b/trunk/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt @@ -7,7 +7,7 @@ free running counter values, and generates an interrupt. Required properties: -- compatible : should be "brcm,bcm2835-system-timer" +- compatible : should be "brcm,bcm2835-system-timer.txt" - reg : Specifies base physical address and size of the registers. - interrupts : A list of 4 interrupt sinks; one per timer channel. - clock-frequency : The frequency of the clock that drives the counter, in Hz. diff --git a/trunk/Documentation/filesystems/nfs/nfs.txt b/trunk/Documentation/filesystems/nfs/nfs.txt index f2571c8bef74..f50f26ce6cd0 100644 --- a/trunk/Documentation/filesystems/nfs/nfs.txt +++ b/trunk/Documentation/filesystems/nfs/nfs.txt @@ -12,47 +12,9 @@ and work is in progress on adding support for minor version 1 of the NFSv4 protocol. The purpose of this document is to provide information on some of the -special features of the NFS client that can be configured by system -administrators. - - -The nfs4_unique_id parameter -============================ - -NFSv4 requires clients to identify themselves to servers with a unique -string. File open and lock state shared between one client and one server -is associated with this identity. To support robust NFSv4 state recovery -and transparent state migration, this identity string must not change -across client reboots. - -Without any other intervention, the Linux client uses a string that contains -the local system's node name. System administrators, however, often do not -take care to ensure that node names are fully qualified and do not change -over the lifetime of a client system. Node names can have other -administrative requirements that require particular behavior that does not -work well as part of an nfs_client_id4 string. - -The nfs.nfs4_unique_id boot parameter specifies a unique string that can be -used instead of a system's node name when an NFS client identifies itself to -a server. Thus, if the system's node name is not unique, or it changes, its -nfs.nfs4_unique_id stays the same, preventing collision with other clients -or loss of state during NFS reboot recovery or transparent state migration. - -The nfs.nfs4_unique_id string is typically a UUID, though it can contain -anything that is believed to be unique across all NFS clients. An -nfs4_unique_id string should be chosen when a client system is installed, -just as a system's root file system gets a fresh UUID in its label at -install time. - -The string should remain fixed for the lifetime of the client. It can be -changed safely if care is taken that the client shuts down cleanly and all -outstanding NFSv4 state has expired, to prevent loss of NFSv4 state. - -This string can be stored in an NFS client's grub.conf, or it can be provided -via a net boot facility such as PXE. It may also be specified as an nfs.ko -module parameter. Specifying a uniquifier string is not support for NFS -clients running in containers. - +upcall interfaces that are used in order to provide the NFS client with +some of the information that it requires in order to fully comply with +the NFS spec. The DNS resolver ================ diff --git a/trunk/Documentation/hwmon/da9052 b/trunk/Documentation/hwmon/da9052 index 5bc51346b689..ef898553638e 100644 --- a/trunk/Documentation/hwmon/da9052 +++ b/trunk/Documentation/hwmon/da9052 @@ -56,6 +56,6 @@ The junction temperature is calculated: The junction temperature attribute is supported by the driver. The battery temperature is calculated: - Degree Celsius = 1 / (t1 + 1/298)- 273 + Degree Celcius = 1 / (t1 + 1/298)- 273 where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255)) Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively. diff --git a/trunk/Documentation/hwmon/max1619 b/trunk/Documentation/hwmon/max1619 index e6d87398cc8f..d6f8d9cd7d7f 100644 --- a/trunk/Documentation/hwmon/max1619 +++ b/trunk/Documentation/hwmon/max1619 @@ -9,7 +9,7 @@ Supported chips: http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf Authors: - Oleksij Rempel , + Alexey Fisher , Jean Delvare Description diff --git a/trunk/Documentation/hwmon/twl4030-madc-hwmon b/trunk/Documentation/hwmon/twl4030-madc-hwmon index c3a3a5be10ad..ef7984317cec 100644 --- a/trunk/Documentation/hwmon/twl4030-madc-hwmon +++ b/trunk/Documentation/hwmon/twl4030-madc-hwmon @@ -41,5 +41,5 @@ Channel Signal The Sysfs nodes will represent the voltage in the units of mV, the temperature channel shows the converted temperature in -degree Celsius. The Battery charging current channel represents +degree celcius. The Battery charging current channel represents battery charging current in mA. diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index e2ed3360b708..f777fa96243d 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -1730,11 +1730,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. will be autodetected by the client, and it will fall back to using the idmapper. To turn off this behaviour, set the value to '0'. - nfs.nfs4_unique_id= - [NFS4] Specify an additional fixed unique ident- - ification string that NFSv4 clients can insert into - their nfs_client_id4 string. This is typically a - UUID that is generated at system install time. nfs.send_implementation_id = [NFSv4.1] Send client implementation identification diff --git a/trunk/Documentation/percpu-rw-semaphore.txt b/trunk/Documentation/percpu-rw-semaphore.txt deleted file mode 100644 index 7d3c82431909..000000000000 --- a/trunk/Documentation/percpu-rw-semaphore.txt +++ /dev/null @@ -1,27 +0,0 @@ -Percpu rw semaphores --------------------- - -Percpu rw semaphores is a new read-write semaphore design that is -optimized for locking for reading. - -The problem with traditional read-write semaphores is that when multiple -cores take the lock for reading, the cache line containing the semaphore -is bouncing between L1 caches of the cores, causing performance -degradation. - -Locking for reading is very fast, it uses RCU and it avoids any atomic -instruction in the lock and unlock path. On the other hand, locking for -writing is very expensive, it calls synchronize_rcu() that can take -hundreds of milliseconds. - -The lock is declared with "struct percpu_rw_semaphore" type. -The lock is initialized percpu_init_rwsem, it returns 0 on success and --ENOMEM on allocation failure. -The lock must be freed with percpu_free_rwsem to avoid memory leak. - -The lock is locked for read with percpu_down_read, percpu_up_read and -for write with percpu_down_write, percpu_up_write. - -The idea of using RCU for optimized rw-lock was introduced by -Eric Dumazet . -The code was written by Mikulas Patocka diff --git a/trunk/Documentation/video4linux/v4l2-controls.txt b/trunk/Documentation/video4linux/v4l2-controls.txt index cfe52c798d74..54270df99d5c 100644 --- a/trunk/Documentation/video4linux/v4l2-controls.txt +++ b/trunk/Documentation/video4linux/v4l2-controls.txt @@ -136,25 +136,11 @@ Or alternatively for integer menu controls, by calling v4l2_ctrl_new_int_menu: const struct v4l2_ctrl_ops *ops, u32 id, s32 max, s32 def, const s64 *qmenu_int); -Standard menu controls with a driver specific menu are added by calling -v4l2_ctrl_new_std_menu_items: - - struct v4l2_ctrl *v4l2_ctrl_new_std_menu_items( - struct v4l2_ctrl_handler *hdl, - const struct v4l2_ctrl_ops *ops, u32 id, s32 max, - s32 skip_mask, s32 def, const char * const *qmenu); - These functions are typically called right after the v4l2_ctrl_handler_init: static const s64 exp_bias_qmenu[] = { -2, -1, 0, 1, 2 }; - static const char * const test_pattern[] = { - "Disabled", - "Vertical Bars", - "Solid Black", - "Solid White", - }; v4l2_ctrl_handler_init(&foo->ctrl_handler, nr_of_controls); v4l2_ctrl_new_std(&foo->ctrl_handler, &foo_ctrl_ops, @@ -170,9 +156,6 @@ These functions are typically called right after the v4l2_ctrl_handler_init: ARRAY_SIZE(exp_bias_qmenu) - 1, ARRAY_SIZE(exp_bias_qmenu) / 2 - 1, exp_bias_qmenu); - v4l2_ctrl_new_std_menu_items(&foo->ctrl_handler, &foo_ctrl_ops, - V4L2_CID_TEST_PATTERN, ARRAY_SIZE(test_pattern) - 1, 0, - 0, test_pattern); ... if (foo->ctrl_handler.error) { int err = foo->ctrl_handler.error; @@ -202,13 +185,6 @@ v4l2_ctrl_new_std_menu in that it doesn't have the mask argument and takes as the last argument an array of signed 64-bit integers that form an exact menu item list. -The v4l2_ctrl_new_std_menu_items function is very similar to -v4l2_ctrl_new_std_menu but takes an extra parameter qmenu, which is the driver -specific menu for an otherwise standard menu control. A good example for this -control is the test pattern control for capture/display/sensors devices that -have the capability to generate test patterns. These test patterns are hardware -specific, so the contents of the menu will vary from device to device. - Note that if something fails, the function will return NULL or an error and set ctrl_handler->error to the error code. If ctrl_handler->error was already set, then it will just return and do nothing. This is also true for diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index e73060fe0788..0f6ff811da07 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -1958,10 +1958,10 @@ S: Supported F: drivers/platform/x86/classmate-laptop.c COCCINELLE/Semantic Patches (SmPL) -M: Julia Lawall +M: Julia Lawall M: Gilles Muller -M: Nicolas Palix -L: cocci@systeme.lip6.fr (moderated for non-subscribers) +M: Nicolas Palix +L: cocci@diku.dk (moderated for non-subscribers) W: http://coccinelle.lip6.fr/ S: Supported F: scripts/coccinelle/ @@ -2423,6 +2423,11 @@ S: Maintained F: Documentation/hwmon/dme1737 F: drivers/hwmon/dme1737.c +DOCBOOK FOR DOCUMENTATION +M: Randy Dunlap +S: Maintained +F: scripts/kernel-doc + DOCKING STATION DRIVER M: Shaohua Li L: linux-acpi@vger.kernel.org diff --git a/trunk/Makefile b/trunk/Makefile index 5d8e7f258388..86eb6acb3978 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -664,9 +664,22 @@ ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y) endif # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments -KBUILD_CPPFLAGS += $(KCPPFLAGS) -KBUILD_AFLAGS += $(KAFLAGS) -KBUILD_CFLAGS += $(KCFLAGS) +# But warn user when we do so +warn-assign = \ +$(warning "WARNING: Appending $$K$(1) ($(K$(1))) from $(origin K$(1)) to kernel $$$(1)") + +ifneq ($(KCPPFLAGS),) + $(call warn-assign,CPPFLAGS) + KBUILD_CPPFLAGS += $(KCPPFLAGS) +endif +ifneq ($(KAFLAGS),) + $(call warn-assign,AFLAGS) + KBUILD_AFLAGS += $(KAFLAGS) +endif +ifneq ($(KCFLAGS),) + $(call warn-assign,CFLAGS) + KBUILD_CFLAGS += $(KCFLAGS) +endif # Use --build-id when available. LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\ diff --git a/trunk/arch/Kconfig b/trunk/arch/Kconfig index a79a1ad8bb96..26a28419cafc 100644 --- a/trunk/arch/Kconfig +++ b/trunk/arch/Kconfig @@ -274,9 +274,6 @@ config ARCH_WANT_OLD_COMPAT_IPC config GENERIC_KERNEL_THREAD bool -config GENERIC_KERNEL_EXECVE - bool - config HAVE_ARCH_SECCOMP_FILTER bool help diff --git a/trunk/arch/alpha/Kconfig b/trunk/arch/alpha/Kconfig index 7a08cfb80ee8..7da91246e279 100644 --- a/trunk/arch/alpha/Kconfig +++ b/trunk/arch/alpha/Kconfig @@ -21,7 +21,6 @@ config ALPHA select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select GENERIC_KERNEL_THREAD - select GENERIC_KERNEL_EXECVE help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory, diff --git a/trunk/arch/alpha/include/asm/thread_info.h b/trunk/arch/alpha/include/asm/thread_info.h index 4554ecbff7c6..28335bd40e40 100644 --- a/trunk/arch/alpha/include/asm/thread_info.h +++ b/trunk/arch/alpha/include/asm/thread_info.h @@ -84,6 +84,7 @@ register struct thread_info *__current_thread_info __asm__("$8"); #define _TIF_SIGPENDING (1< non-restartable */ + cmovne $26, 0, $19 /* $19 = 0 => non-restartable */ ldq $0, SP_OFF($sp) and $0, 8, $0 beq $0, ret_to_kernel @@ -320,8 +320,8 @@ ret_to_user: sampling and the rti. */ lda $16, 7 call_pal PAL_swpipl - ldl $17, TI_FLAGS($8) - and $17, _TIF_WORK_MASK, $2 + ldl $5, TI_FLAGS($8) + and $5, _TIF_WORK_MASK, $2 bne $2, work_pending restore_all: RESTORE_ALL @@ -341,10 +341,10 @@ $syscall_error: * frame to indicate that a negative return value wasn't an * error number.. */ - ldq $18, 0($sp) /* old syscall nr (zero if success) */ - beq $18, $ret_success + ldq $19, 0($sp) /* old syscall nr (zero if success) */ + beq $19, $ret_success - ldq $19, 72($sp) /* .. and this a3 */ + ldq $20, 72($sp) /* .. and this a3 */ subq $31, $0, $0 /* with error in v0 */ addq $31, 1, $1 /* set a3 for errno return */ stq $0, 0($sp) @@ -362,35 +362,51 @@ $ret_success: * Do all cleanup when returning from all interrupts and system calls. * * Arguments: + * $5: TI_FLAGS. * $8: current. - * $17: TI_FLAGS. - * $18: The old syscall number, or zero if this is not a return + * $19: The old syscall number, or zero if this is not a return * from a syscall that errored and is possibly restartable. - * $19: The old a3 value + * $20: The old a3 value */ .align 4 .ent work_pending work_pending: - and $17, _TIF_NOTIFY_RESUME | _TIF_SIGPENDING, $2 - bne $2, $work_notifysig + and $5, _TIF_NEED_RESCHED, $2 + beq $2, $work_notifysig $work_resched: - /* - * We can get here only if we returned from syscall without SIGPENDING - * or got through work_notifysig already. Either case means no syscall - * restarts for us, so let $18 and $19 burn. - */ + subq $sp, 16, $sp + stq $19, 0($sp) /* save syscall nr */ + stq $20, 8($sp) /* and error indication (a3) */ jsr $26, schedule - mov 0, $18 - br ret_to_user + ldq $19, 0($sp) + ldq $20, 8($sp) + addq $sp, 16, $sp + /* Make sure need_resched and sigpending don't change between + sampling and the rti. */ + lda $16, 7 + call_pal PAL_swpipl + ldl $5, TI_FLAGS($8) + and $5, _TIF_WORK_MASK, $2 + beq $2, restore_all + and $5, _TIF_NEED_RESCHED, $2 + bne $2, $work_resched $work_notifysig: mov $sp, $16 bsr $1, do_switch_stack - jsr $26, do_work_pending + mov $sp, $17 + mov $5, $18 + mov $19, $9 /* save old syscall number */ + mov $20, $10 /* save old a3 */ + and $5, _TIF_SIGPENDING, $2 + cmovne $2, 0, $9 /* we don't want double syscall restarts */ + jsr $26, do_notify_resume + mov $9, $19 + mov $10, $20 bsr $1, undo_switch_stack - br restore_all + br ret_to_user .end work_pending /* @@ -402,10 +418,11 @@ $work_notifysig: strace: /* set up signal stack, call syscall_trace */ bsr $1, do_switch_stack - jsr $26, syscall_trace_enter /* returns the syscall number */ + jsr $26, syscall_trace bsr $1, undo_switch_stack - /* get the arguments back.. */ + /* get the system call number and the arguments back.. */ + ldq $0, 0($sp) ldq $16, SP_OFF+24($sp) ldq $17, SP_OFF+32($sp) ldq $18, SP_OFF+40($sp) @@ -432,15 +449,15 @@ $strace_success: stq $0, 0($sp) /* save return value */ bsr $1, do_switch_stack - jsr $26, syscall_trace_leave + jsr $26, syscall_trace bsr $1, undo_switch_stack br $31, ret_from_sys_call .align 3 $strace_error: - ldq $18, 0($sp) /* old syscall nr (zero if success) */ - beq $18, $strace_success - ldq $19, 72($sp) /* .. and this a3 */ + ldq $19, 0($sp) /* old syscall nr (zero if success) */ + beq $19, $strace_success + ldq $20, 72($sp) /* .. and this a3 */ subq $31, $0, $0 /* with error in v0 */ addq $31, 1, $1 /* set a3 for errno return */ @@ -448,11 +465,11 @@ $strace_error: stq $1, 72($sp) /* a3 for return */ bsr $1, do_switch_stack - mov $18, $9 /* save old syscall number */ - mov $19, $10 /* save old a3 */ - jsr $26, syscall_trace_leave - mov $9, $18 - mov $10, $19 + mov $19, $9 /* save old syscall number */ + mov $20, $10 /* save old a3 */ + jsr $26, syscall_trace + mov $9, $19 + mov $10, $20 bsr $1, undo_switch_stack mov $31, $26 /* tell "ret_from_sys_call" we can restart */ @@ -603,9 +620,24 @@ ret_from_kernel_thread: mov $9, $27 mov $10, $16 jsr $26, ($9) + ldgp $gp, 0($26) + mov $0, $16 + mov $31, $26 + jmp $31, sys_exit +.end ret_from_kernel_thread + + .globl ret_from_kernel_execve + .align 4 + .ent ret_from_kernel_execve +ret_from_kernel_execve: + mov $16, $sp + /* Avoid the HAE being gratuitously wrong, to avoid restoring it. */ + ldq $2, alpha_mv+HAE_CACHE + stq $2, 152($sp) /* HAE */ mov $31, $19 /* to disable syscall restarts */ br $31, ret_to_user -.end ret_from_kernel_thread + +.end ret_from_kernel_execve /* @@ -666,7 +698,7 @@ sys_sigreturn: lda $sp, -SWITCH_STACK_SIZE($sp) jsr $26, do_sigreturn bne $9, 1f - jsr $26, syscall_trace_leave + jsr $26, syscall_trace 1: br $1, undo_switch_stack br ret_from_sys_call .end sys_sigreturn @@ -683,7 +715,7 @@ sys_rt_sigreturn: lda $sp, -SWITCH_STACK_SIZE($sp) jsr $26, do_rt_sigreturn bne $9, 1f - jsr $26, syscall_trace_leave + jsr $26, syscall_trace 1: br $1, undo_switch_stack br ret_from_sys_call .end sys_rt_sigreturn diff --git a/trunk/arch/alpha/kernel/osf_sys.c b/trunk/arch/alpha/kernel/osf_sys.c index 9eb090582cf1..63e77e3944ce 100644 --- a/trunk/arch/alpha/kernel/osf_sys.c +++ b/trunk/arch/alpha/kernel/osf_sys.c @@ -449,7 +449,7 @@ osf_ufs_mount(char *dirname, struct ufs_args __user *args, int flags) { int retval; struct cdfs_args tmp; - struct filename *devname; + char *devname; retval = -EFAULT; if (copy_from_user(&tmp, args, sizeof(tmp))) @@ -458,7 +458,7 @@ osf_ufs_mount(char *dirname, struct ufs_args __user *args, int flags) retval = PTR_ERR(devname); if (IS_ERR(devname)) goto out; - retval = do_mount(devname->name, dirname, "ext2", flags, NULL); + retval = do_mount(devname, dirname, "ext2", flags, NULL); putname(devname); out: return retval; @@ -469,7 +469,7 @@ osf_cdfs_mount(char *dirname, struct cdfs_args __user *args, int flags) { int retval; struct cdfs_args tmp; - struct filename *devname; + char *devname; retval = -EFAULT; if (copy_from_user(&tmp, args, sizeof(tmp))) @@ -478,7 +478,7 @@ osf_cdfs_mount(char *dirname, struct cdfs_args __user *args, int flags) retval = PTR_ERR(devname); if (IS_ERR(devname)) goto out; - retval = do_mount(devname->name, dirname, "iso9660", flags, NULL); + retval = do_mount(devname, dirname, "iso9660", flags, NULL); putname(devname); out: return retval; @@ -499,7 +499,7 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path, int, flag, void __user *, data) { int retval; - struct filename *name; + char *name; name = getname(path); retval = PTR_ERR(name); @@ -507,13 +507,13 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path, goto out; switch (typenr) { case 1: - retval = osf_ufs_mount(name->name, data, flag); + retval = osf_ufs_mount(name, data, flag); break; case 6: - retval = osf_cdfs_mount(name->name, data, flag); + retval = osf_cdfs_mount(name, data, flag); break; case 9: - retval = osf_procfs_mount(name->name, data, flag); + retval = osf_procfs_mount(name, data, flag); break; default: retval = -EINVAL; diff --git a/trunk/arch/alpha/kernel/ptrace.c b/trunk/arch/alpha/kernel/ptrace.c index 2a4a80ff4a20..54616f496aed 100644 --- a/trunk/arch/alpha/kernel/ptrace.c +++ b/trunk/arch/alpha/kernel/ptrace.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include @@ -313,18 +312,25 @@ long arch_ptrace(struct task_struct *child, long request, return ret; } -asmlinkage unsigned long syscall_trace_enter(void) -{ - unsigned long ret = 0; - if (test_thread_flag(TIF_SYSCALL_TRACE) && - tracehook_report_syscall_entry(current_pt_regs())) - ret = -1UL; - return ret ?: current_pt_regs()->r0; -} - asmlinkage void -syscall_trace_leave(void) +syscall_trace(void) { - if (test_thread_flag(TIF_SYSCALL_TRACE)) - tracehook_report_syscall_exit(current_pt_regs(), 0); + if (!test_thread_flag(TIF_SYSCALL_TRACE)) + return; + if (!(current->ptrace & PT_PTRACED)) + return; + /* The 0x80 provides a way for the tracing parent to distinguish + between a syscall stop and SIGTRAP delivery */ + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); + + /* + * This isn't the same as continuing with a signal, but it will do + * for normal use. strace only continues with a signal if the + * stopping signal is not SIGTRAP. -brl + */ + if (current->exit_code) { + send_sig(current->exit_code, current, 1); + current->exit_code = 0; + } } diff --git a/trunk/arch/alpha/kernel/signal.c b/trunk/arch/alpha/kernel/signal.c index 32575f85507d..a8c97d42ec8e 100644 --- a/trunk/arch/alpha/kernel/signal.c +++ b/trunk/arch/alpha/kernel/signal.c @@ -298,9 +298,8 @@ get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, - unsigned long mask, unsigned long sp) + struct switch_stack *sw, unsigned long mask, unsigned long sp) { - struct switch_stack *sw = (struct switch_stack *)regs - 1; long i, err = 0; err |= __put_user(on_sig_stack((unsigned long)sc), &sc->sc_onstack); @@ -355,7 +354,7 @@ setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, static int setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, - struct pt_regs *regs) + struct pt_regs *regs, struct switch_stack * sw) { unsigned long oldsp, r26, err = 0; struct sigframe __user *frame; @@ -365,7 +364,7 @@ setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) return -EFAULT; - err |= setup_sigcontext(&frame->sc, regs, set->sig[0], oldsp); + err |= setup_sigcontext(&frame->sc, regs, sw, set->sig[0], oldsp); if (err) return -EFAULT; @@ -402,7 +401,7 @@ setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, - sigset_t *set, struct pt_regs *regs) + sigset_t *set, struct pt_regs *regs, struct switch_stack * sw) { unsigned long oldsp, r26, err = 0; struct rt_sigframe __user *frame; @@ -421,7 +420,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, err |= __put_user(current->sas_ss_sp, &frame->uc.uc_stack.ss_sp); err |= __put_user(sas_ss_flags(oldsp), &frame->uc.uc_stack.ss_flags); err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); - err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, + err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, sw, set->sig[0], oldsp); err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); if (err) @@ -465,15 +464,15 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, */ static inline void handle_signal(int sig, struct k_sigaction *ka, siginfo_t *info, - struct pt_regs * regs) + struct pt_regs * regs, struct switch_stack *sw) { sigset_t *oldset = sigmask_to_save(); int ret; if (ka->sa.sa_flags & SA_SIGINFO) - ret = setup_rt_frame(sig, ka, info, oldset, regs); + ret = setup_rt_frame(sig, ka, info, oldset, regs, sw); else - ret = setup_frame(sig, ka, oldset, regs); + ret = setup_frame(sig, ka, oldset, regs, sw); if (ret) { force_sigsegv(sig, current); @@ -520,7 +519,8 @@ syscall_restart(unsigned long r0, unsigned long r19, * all (if we get here from anything but a syscall return, it will be 0) */ static void -do_signal(struct pt_regs *regs, unsigned long r0, unsigned long r19) +do_signal(struct pt_regs * regs, struct switch_stack * sw, + unsigned long r0, unsigned long r19) { siginfo_t info; int signr; @@ -537,7 +537,7 @@ do_signal(struct pt_regs *regs, unsigned long r0, unsigned long r19) /* Whee! Actually deliver the signal. */ if (r0) syscall_restart(r0, r19, regs, &ka); - handle_signal(signr, &ka, &info, regs); + handle_signal(signr, &ka, &info, regs, sw); if (single_stepping) ptrace_set_bpt(current); /* re-set bpt */ return; @@ -568,23 +568,15 @@ do_signal(struct pt_regs *regs, unsigned long r0, unsigned long r19) } void -do_work_pending(struct pt_regs *regs, unsigned long thread_flags, +do_notify_resume(struct pt_regs *regs, struct switch_stack *sw, + unsigned long thread_info_flags, unsigned long r0, unsigned long r19) { - do { - if (thread_flags & _TIF_NEED_RESCHED) { - schedule(); - } else { - local_irq_enable(); - if (thread_flags & _TIF_SIGPENDING) { - do_signal(regs, r0, r19); - r0 = 0; - } else { - clear_thread_flag(TIF_NOTIFY_RESUME); - tracehook_notify_resume(regs); - } - } - local_irq_disable(); - thread_flags = current_thread_info()->flags; - } while (thread_flags & _TIF_WORK_MASK); + if (thread_info_flags & _TIF_SIGPENDING) + do_signal(regs, sw, r0, r19); + + if (thread_info_flags & _TIF_NOTIFY_RESUME) { + clear_thread_flag(TIF_NOTIFY_RESUME); + tracehook_notify_resume(regs); + } } diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 431c3753145a..e40eefb5d32d 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -53,7 +53,6 @@ config ARM select GENERIC_STRNLEN_USER select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN select GENERIC_KERNEL_THREAD - select GENERIC_KERNEL_EXECVE help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and @@ -495,6 +494,7 @@ config ARCH_IOP32X depends on MMU select CPU_XSCALE select NEED_MACH_GPIO_H + select NEED_MACH_IO_H select NEED_RET_TO_USER select PLAT_IOP select PCI @@ -508,6 +508,7 @@ config ARCH_IOP33X depends on MMU select CPU_XSCALE select NEED_MACH_GPIO_H + select NEED_MACH_IO_H select NEED_RET_TO_USER select PLAT_IOP select PCI @@ -1771,7 +1772,6 @@ source "mm/Kconfig" config FORCE_MAX_ZONEORDER int "Maximum zone order" if ARCH_SHMOBILE range 11 64 if ARCH_SHMOBILE - default "12" if SOC_AM33XX default "9" if SA1111 default "11" help diff --git a/trunk/arch/arm/boot/compressed/.gitignore b/trunk/arch/arm/boot/compressed/.gitignore index f79a08efe000..d0d441c429ae 100644 --- a/trunk/arch/arm/boot/compressed/.gitignore +++ b/trunk/arch/arm/boot/compressed/.gitignore @@ -1,7 +1,6 @@ ashldi3.S font.c lib1funcs.S -hyp-stub.S piggy.gzip piggy.lzo piggy.lzma diff --git a/trunk/arch/arm/boot/compressed/Makefile b/trunk/arch/arm/boot/compressed/Makefile index a517153a13ea..bb267562e7ed 100644 --- a/trunk/arch/arm/boot/compressed/Makefile +++ b/trunk/arch/arm/boot/compressed/Makefile @@ -30,10 +30,6 @@ FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c OBJS += string.o CFLAGS_string.o := -Os -ifeq ($(CONFIG_ARM_VIRT_EXT),y) -OBJS += hyp-stub.o -endif - # # Architecture dependencies # @@ -130,7 +126,7 @@ KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) endif ccflags-y := -fpic -fno-builtin -I$(obj) -asflags-y := -Wa,-march=all -DZIMAGE +asflags-y := -Wa,-march=all # Supply kernel BSS size to the decompressor via a linker symbol. KBSS_SZ = $(shell $(CROSS_COMPILE)size $(obj)/../../../../vmlinux | \ @@ -202,6 +198,3 @@ $(obj)/font.c: $(FONTC) $(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/arm/boot/Makefile $(KCONFIG_CONFIG) @sed "$(SEDFLAGS)" < $< > $@ - -$(obj)/hyp-stub.S: $(srctree)/arch/$(SRCARCH)/kernel/hyp-stub.S - $(call cmd,shipped) diff --git a/trunk/arch/arm/boot/compressed/head.S b/trunk/arch/arm/boot/compressed/head.S index 90275f036cd1..bc67cbff3944 100644 --- a/trunk/arch/arm/boot/compressed/head.S +++ b/trunk/arch/arm/boot/compressed/head.S @@ -9,7 +9,6 @@ * published by the Free Software Foundation. */ #include -#include /* * Debugging stuff @@ -133,12 +132,7 @@ start: .word start @ absolute load/run zImage address .word _edata @ zImage end address THUMB( .thumb ) -1: - mrs r9, cpsr -#ifdef CONFIG_ARM_VIRT_EXT - bl __hyp_stub_install @ get into SVC mode, reversibly -#endif - mov r7, r1 @ save architecture ID +1: mov r7, r1 @ save architecture ID mov r8, r2 @ save atags pointer #ifndef __ARM_ARCH_2__ @@ -154,9 +148,9 @@ start: ARM( swi 0x123456 ) @ angel_SWI_ARM THUMB( svc 0xab ) @ angel_SWI_THUMB not_angel: - safe_svcmode_maskall r0 - msr spsr_cxsf, r9 @ Save the CPU boot mode in - @ SPSR + mrs r2, cpsr @ turn off interrupts to + orr r2, r2, #0xc0 @ prevent angel from running + msr cpsr_c, r2 #else teqp pc, #0x0c000003 @ turn off interrupts #endif @@ -356,20 +350,6 @@ dtb_check_done: adr r5, restart bic r5, r5, #31 -/* Relocate the hyp vector base if necessary */ -#ifdef CONFIG_ARM_VIRT_EXT - mrs r0, spsr - and r0, r0, #MODE_MASK - cmp r0, #HYP_MODE - bne 1f - - bl __hyp_get_vectors - sub r0, r0, r5 - add r0, r0, r10 - bl __hyp_set_vectors -1: -#endif - sub r9, r6, r5 @ size to copy add r9, r9, #31 @ rounded up to a multiple bic r9, r9, #31 @ ... of 32 bytes @@ -478,29 +458,11 @@ not_relocated: mov r0, #0 bl decompress_kernel bl cache_clean_flush bl cache_off + mov r0, #0 @ must be zero mov r1, r7 @ restore architecture number mov r2, r8 @ restore atags pointer - -#ifdef CONFIG_ARM_VIRT_EXT - mrs r0, spsr @ Get saved CPU boot mode - and r0, r0, #MODE_MASK - cmp r0, #HYP_MODE @ if not booted in HYP mode... - bne __enter_kernel @ boot kernel directly - - adr r12, .L__hyp_reentry_vectors_offset - ldr r0, [r12] - add r0, r0, r12 - - bl __hyp_set_vectors - __HVC(0) @ otherwise bounce to hyp mode - - b . @ should never be reached - - .align 2 -.L__hyp_reentry_vectors_offset: .long __hyp_reentry_vectors - . -#else - b __enter_kernel -#endif + ARM( mov pc, r4 ) @ call kernel + THUMB( bx r4 ) @ entry point is always ARM .align 2 .type LC0, #object @@ -1234,25 +1196,6 @@ memdump: mov r12, r0 #endif .ltorg - -#ifdef CONFIG_ARM_VIRT_EXT -.align 5 -__hyp_reentry_vectors: - W(b) . @ reset - W(b) . @ undef - W(b) . @ svc - W(b) . @ pabort - W(b) . @ dabort - W(b) __enter_kernel @ hyp - W(b) . @ irq - W(b) . @ fiq -#endif /* CONFIG_ARM_VIRT_EXT */ - -__enter_kernel: - mov r0, #0 @ must be 0 - ARM( mov pc, r4 ) @ call kernel - THUMB( bx r4 ) @ entry point is always ARM - reloc_code_end: .align diff --git a/trunk/arch/arm/boot/dts/Makefile b/trunk/arch/arm/boot/dts/Makefile index c1ce813fcc4a..29f541f0e653 100644 --- a/trunk/arch/arm/boot/dts/Makefile +++ b/trunk/arch/arm/boot/dts/Makefile @@ -25,6 +25,14 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ exynos4210-trats.dtb \ exynos5250-smdk5250.dtb dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb +dtb-$(CONFIG_ARCH_IMX5) += imx51-babbage.dtb \ + imx53-ard.dtb \ + imx53-evk.dtb \ + imx53-qsb.dtb \ + imx53-smd.dtb +dtb-$(CONFIG_SOC_IMX6Q) += imx6q-arm2.dtb \ + imx6q-sabrelite.dtb \ + imx6q-sabresd.dtb dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ kirkwood-dns325.dtb \ @@ -68,9 +76,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ omap4-pandaES.dtb \ omap4-var_som.dtb \ omap4-sdp.dtb \ - omap5-evm.dtb \ - am335x-evm.dtb \ - am335x-bone.dtb + omap5-evm.dtb dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb dtb-$(CONFIG_ARCH_U8500) += snowball.dtb dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ @@ -98,8 +104,5 @@ dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \ vexpress-v2p-ca15-tc1.dtb \ vexpress-v2p-ca15_a7.dtb \ xenvm-4.2.dtb -dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ - wm8505-ref.dtb \ - wm8650-mid.dtb endif diff --git a/trunk/arch/arm/boot/dts/at91sam9260.dtsi b/trunk/arch/arm/boot/dts/at91sam9260.dtsi index d410581a5a85..7c95f76398de 100644 --- a/trunk/arch/arm/boot/dts/at91sam9260.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9260.dtsi @@ -28,7 +28,6 @@ gpio2 = &pioC; tcb0 = &tcb0; tcb1 = &tcb1; - i2c0 = &i2c0; }; cpus { cpu@0 { @@ -203,15 +202,6 @@ status = "disabled"; }; - i2c0: i2c@fffac000 { - compatible = "atmel,at91sam9260-i2c"; - reg = <0xfffac000 0x100>; - interrupts = <11 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - adc0: adc@fffe0000 { compatible = "atmel,at91sam9260-adc"; reg = <0xfffe0000 0x100>; diff --git a/trunk/arch/arm/boot/dts/at91sam9263.dtsi b/trunk/arch/arm/boot/dts/at91sam9263.dtsi index 3e6e5c1abbf3..195019b7ca0e 100644 --- a/trunk/arch/arm/boot/dts/at91sam9263.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9263.dtsi @@ -24,7 +24,6 @@ gpio3 = &pioD; gpio4 = &pioE; tcb0 = &tcb0; - i2c0 = &i2c0; }; cpus { cpu@0 { @@ -186,15 +185,6 @@ interrupts = <24 4 2>; status = "disabled"; }; - - i2c0: i2c@fff88000 { - compatible = "atmel,at91sam9263-i2c"; - reg = <0xfff88000 0x100>; - interrupts = <13 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; }; nand0: nand@40000000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9g20.dtsi b/trunk/arch/arm/boot/dts/at91sam9g20.dtsi index 75ce6e760016..2a1d1ca8bd86 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g20.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g20.dtsi @@ -18,10 +18,6 @@ ahb { apb { - i2c0: i2c@fffac000 { - compatible = "atmel,at91sam9g20-i2c"; - }; - adc0: adc@fffe0000 { atmel,adc-startup-time = <40>; }; diff --git a/trunk/arch/arm/boot/dts/at91sam9g25ek.dts b/trunk/arch/arm/boot/dts/at91sam9g25ek.dts index 877c08f06763..96514c134e54 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g25ek.dts +++ b/trunk/arch/arm/boot/dts/at91sam9g25ek.dts @@ -32,18 +32,6 @@ phy-mode = "rmii"; status = "okay"; }; - - i2c0: i2c@f8010000 { - status = "okay"; - }; - - i2c1: i2c@f8014000 { - status = "okay"; - }; - - i2c2: i2c@f8018000 { - status = "okay"; - }; }; usb0: ohci@00600000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi index 3add030d61f8..63751b1e744b 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi @@ -29,8 +29,6 @@ gpio4 = &pioE; tcb0 = &tcb0; tcb1 = &tcb1; - i2c0 = &i2c0; - i2c1 = &i2c1; }; cpus { cpu@0 { @@ -208,24 +206,6 @@ status = "disabled"; }; - i2c0: i2c@fff84000 { - compatible = "atmel,at91sam9g10-i2c"; - reg = <0xfff84000 0x100>; - interrupts = <12 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c1: i2c@fff88000 { - compatible = "atmel,at91sam9g10-i2c"; - reg = <0xfff88000 0x100>; - interrupts = <13 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - adc0: adc@fffb0000 { compatible = "atmel,at91sam9260-adc"; reg = <0xfffb0000 0x100>; diff --git a/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts b/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts index 15e1dd43f625..a3633bd13111 100644 --- a/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts +++ b/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts @@ -46,14 +46,6 @@ phy-mode = "rmii"; status = "okay"; }; - - i2c0: i2c@fff84000 { - status = "okay"; - }; - - i2c1: i2c@fff88000 { - status = "okay"; - }; }; nand0: nand@40000000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi index 82508d68aa7e..ef9336ae9614 100644 --- a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi @@ -26,8 +26,6 @@ gpio3 = &pioD; tcb0 = &tcb0; tcb1 = &tcb1; - i2c0 = &i2c0; - i2c1 = &i2c1; }; cpus { cpu@0 { @@ -184,24 +182,6 @@ atmel,use-dma-tx; status = "disabled"; }; - - i2c0: i2c@f8010000 { - compatible = "atmel,at91sam9x5-i2c"; - reg = <0xf8010000 0x100>; - interrupts = <9 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c1: i2c@f8014000 { - compatible = "atmel,at91sam9x5-i2c"; - reg = <0xf8014000 0x100>; - interrupts = <10 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; }; nand0: nand@40000000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9n12ek.dts b/trunk/arch/arm/boot/dts/at91sam9n12ek.dts index 912b2c283d6f..f4e43e38f3a1 100644 --- a/trunk/arch/arm/boot/dts/at91sam9n12ek.dts +++ b/trunk/arch/arm/boot/dts/at91sam9n12ek.dts @@ -37,14 +37,6 @@ dbgu: serial@fffff200 { status = "okay"; }; - - i2c0: i2c@f8010000 { - status = "okay"; - }; - - i2c1: i2c@f8014000 { - status = "okay"; - }; }; nand0: nand@40000000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi index 03fc136421c5..8a387a8d61b7 100644 --- a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi @@ -27,9 +27,6 @@ gpio3 = &pioD; tcb0 = &tcb0; tcb1 = &tcb1; - i2c0 = &i2c0; - i2c1 = &i2c1; - i2c2 = &i2c2; }; cpus { cpu@0 { @@ -199,33 +196,6 @@ status = "disabled"; }; - i2c0: i2c@f8010000 { - compatible = "atmel,at91sam9x5-i2c"; - reg = <0xf8010000 0x100>; - interrupts = <9 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c1: i2c@f8014000 { - compatible = "atmel,at91sam9x5-i2c"; - reg = <0xf8014000 0x100>; - interrupts = <10 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c2: i2c@f8018000 { - compatible = "atmel,at91sam9x5-i2c"; - reg = <0xf8018000 0x100>; - interrupts = <11 4 6>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - adc0: adc@f804c000 { compatible = "atmel,at91sam9260-adc"; reg = <0xf804c000 0x100>; diff --git a/trunk/arch/arm/boot/dts/imx28.dtsi b/trunk/arch/arm/boot/dts/imx28.dtsi index e16d63155480..59fbfba23df8 100644 --- a/trunk/arch/arm/boot/dts/imx28.dtsi +++ b/trunk/arch/arm/boot/dts/imx28.dtsi @@ -764,7 +764,6 @@ reg = <0x80058000 0x2000>; interrupts = <111 68>; clock-frequency = <100000>; - fsl,i2c-dma-channel = <6>; status = "disabled"; }; @@ -775,7 +774,6 @@ reg = <0x8005a000 0x2000>; interrupts = <110 69>; clock-frequency = <100000>; - fsl,i2c-dma-channel = <7>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/omap4-panda.dts b/trunk/arch/arm/boot/dts/omap4-panda.dts index e8f927cbb376..20b966ee1bb3 100644 --- a/trunk/arch/arm/boot/dts/omap4-panda.dts +++ b/trunk/arch/arm/boot/dts/omap4-panda.dts @@ -59,41 +59,6 @@ }; }; -&omap4_pmx_core { - pinctrl-names = "default"; - pinctrl-0 = < - &twl6040_pins - &mcpdm_pins - &mcbsp1_pins - >; - - twl6040_pins: pinmux_twl6040_pins { - pinctrl-single,pins = < - 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */ - 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */ - >; - }; - - mcpdm_pins: pinmux_mcpdm_pins { - pinctrl-single,pins = < - 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */ - 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */ - 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */ - 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */ - 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */ - >; - }; - - mcbsp1_pins: pinmux_mcbsp1_pins { - pinctrl-single,pins = < - 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */ - 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */ - 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */ - 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */ - >; - }; -}; - &i2c1 { clock-frequency = <400000>; @@ -172,15 +137,3 @@ cs1-used; device-handle = <&elpida_ECB240ABACN>; }; - -&mcbsp2 { - status = "disabled"; -}; - -&mcbsp3 { - status = "disabled"; -}; - -&dmic { - status = "disabled"; -}; diff --git a/trunk/arch/arm/boot/dts/omap4-sdp.dts b/trunk/arch/arm/boot/dts/omap4-sdp.dts index 5b7e04fbff50..94a23b39033d 100644 --- a/trunk/arch/arm/boot/dts/omap4-sdp.dts +++ b/trunk/arch/arm/boot/dts/omap4-sdp.dts @@ -117,15 +117,6 @@ }; &omap4_pmx_core { - pinctrl-names = "default"; - pinctrl-0 = < - &twl6040_pins - &mcpdm_pins - &dmic_pins - &mcbsp1_pins - &mcbsp2_pins - >; - uart2_pins: pinmux_uart2_pins { pinctrl-single,pins = < 0xd8 0x118 /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */ @@ -150,50 +141,6 @@ 0x11e 0 /* uart4_tx.uart4_tx OUTPUT | MODE0 */ >; }; - - twl6040_pins: pinmux_twl6040_pins { - pinctrl-single,pins = < - 0xe0 0x3 /* hdq_sio.gpio_127 OUTPUT | MODE3 */ - 0x160 0x100 /* sys_nirq2.sys_nirq2 INPUT | MODE0 */ - >; - }; - - mcpdm_pins: pinmux_mcpdm_pins { - pinctrl-single,pins = < - 0xc6 0x108 /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */ - 0xc8 0x108 /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */ - 0xca 0x118 /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */ - 0xcc 0x108 /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */ - 0xce 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */ - >; - }; - - dmic_pins: pinmux_dmic_pins { - pinctrl-single,pins = < - 0xd0 0 /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */ - 0xd2 0x100 /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */ - 0xd4 0x100 /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */ - 0xd6 0x100 /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */ - >; - }; - - mcbsp1_pins: pinmux_mcbsp1_pins { - pinctrl-single,pins = < - 0xbe 0x100 /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */ - 0xc0 0x108 /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */ - 0xc2 0x8 /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */ - 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */ - >; - }; - - mcbsp2_pins: pinmux_mcbsp2_pins { - pinctrl-single,pins = < - 0xb6 0x100 /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */ - 0xb8 0x108 /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */ - 0xba 0x8 /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */ - 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */ - >; - }; }; &i2c1 { @@ -402,7 +349,3 @@ pinctrl-names = "default"; pinctrl-0 = <&uart4_pins>; }; - -&mcbsp3 { - status = "disabled"; -}; diff --git a/trunk/arch/arm/boot/dts/omap5-evm.dts b/trunk/arch/arm/boot/dts/omap5-evm.dts index c663eba73168..9c41a3f311aa 100644 --- a/trunk/arch/arm/boot/dts/omap5-evm.dts +++ b/trunk/arch/arm/boot/dts/omap5-evm.dts @@ -27,60 +27,6 @@ }; -&omap5_pmx_core { - pinctrl-names = "default"; - pinctrl-0 = < - &twl6040_pins - &mcpdm_pins - &dmic_pins - &mcbsp1_pins - &mcbsp2_pins - >; - - twl6040_pins: pinmux_twl6040_pins { - pinctrl-single,pins = < - 0x18a 0x6 /* perslimbus2_clock.gpio5_145 OUTPUT | MODE6 */ - >; - }; - - mcpdm_pins: pinmux_mcpdm_pins { - pinctrl-single,pins = < - 0x142 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */ - 0x15c 0x108 /* abemcpdm_ul_data.abemcpdm_ul_data INPUT PULLDOWN | MODE0 */ - 0x15e 0x108 /* abemcpdm_dl_data.abemcpdm_dl_data INPUT PULLDOWN | MODE0 */ - 0x160 0x118 /* abemcpdm_frame.abemcpdm_frame INPUT PULLUP | MODE0 */ - 0x162 0x108 /* abemcpdm_lb_clk.abemcpdm_lb_clk INPUT PULLDOWN | MODE0 */ - >; - }; - - dmic_pins: pinmux_dmic_pins { - pinctrl-single,pins = < - 0x144 0x100 /* abedmic_din1.abedmic_din1 INPUT | MODE0 */ - 0x146 0x100 /* abedmic_din2.abedmic_din2 INPUT | MODE0 */ - 0x148 0x100 /* abedmic_din3.abedmic_din3 INPUT | MODE0 */ - 0x14a 0 /* abedmic_clk1.abedmic_clk1 OUTPUT | MODE0 */ - >; - }; - - mcbsp1_pins: pinmux_mcbsp1_pins { - pinctrl-single,pins = < - 0x14c 0x101 /* abedmic_clk2.abemcbsp1_fsx INPUT | MODE1 */ - 0x14e 0x9 /* abedmic_clk3.abemcbsp1_dx OUTPUT PULLDOWN | MODE1 */ - 0x150 0x101 /* abeslimbus1_clock.abemcbsp1_clkx INPUT | MODE0 */ - 0x152 0x109 /* abeslimbus1_data.abemcbsp1_dr INPUT PULLDOWN | MODE1 */ - >; - }; - - mcbsp2_pins: pinmux_mcbsp2_pins { - pinctrl-single,pins = < - 0x154 0x108 /* abemcbsp2_dr.abemcbsp2_dr INPUT PULLDOWN | MODE0 */ - 0x156 0x8 /* abemcbsp2_dx.abemcbsp2_dx OUTPUT PULLDOWN | MODE0 */ - 0x158 0x100 /* abemcbsp2_fsx.abemcbsp2_fsx INPUT | MODE0 */ - 0x15a 0x100 /* abemcbsp2_clkx.abemcbsp2_clkx INPUT | MODE0 */ - >; - }; -}; - &mmc1 { vmmc-supply = <&vmmcsd_fixed>; bus-width = <4>; @@ -136,7 +82,3 @@ 0x020700d9>; /* SEARCH */ linux,input-no-autorepeat; }; - -&mcbsp3 { - status = "disabled"; -}; diff --git a/trunk/arch/arm/boot/dts/omap5.dtsi b/trunk/arch/arm/boot/dts/omap5.dtsi index 42c78beb4fdc..5db33f481a33 100644 --- a/trunk/arch/arm/boot/dts/omap5.dtsi +++ b/trunk/arch/arm/boot/dts/omap5.dtsi @@ -77,23 +77,6 @@ ranges; ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3"; - omap5_pmx_core: pinmux@4a002840 { - compatible = "ti,omap4-padconf", "pinctrl-single"; - reg = <0x4a002840 0x01b6>; - #address-cells = <1>; - #size-cells = <0>; - pinctrl-single,register-width = <16>; - pinctrl-single,function-mask = <0x7fff>; - }; - omap5_pmx_wkup: pinmux@4ae0c840 { - compatible = "ti,omap4-padconf", "pinctrl-single"; - reg = <0x4ae0c840 0x0038>; - #address-cells = <1>; - #size-cells = <0>; - pinctrl-single,register-width = <16>; - pinctrl-single,function-mask = <0x7fff>; - }; - gic: interrupt-controller@48211000 { compatible = "arm,cortex-a15-gic"; interrupt-controller; diff --git a/trunk/arch/arm/boot/dts/tegra20-seaboard.dts b/trunk/arch/arm/boot/dts/tegra20-seaboard.dts index f0ba901676ac..e60dc7124e92 100644 --- a/trunk/arch/arm/boot/dts/tegra20-seaboard.dts +++ b/trunk/arch/arm/boot/dts/tegra20-seaboard.dts @@ -539,7 +539,7 @@ nvidia,invert-interrupt; }; - memory-controller@7000f400 { + memory-controller@0x7000f400 { emc-table@190000 { reg = <190000>; compatible = "nvidia,tegra20-emc-table"; diff --git a/trunk/arch/arm/boot/dts/tegra20.dtsi b/trunk/arch/arm/boot/dts/tegra20.dtsi index f3a09d0d45bc..67a6cd910b96 100644 --- a/trunk/arch/arm/boot/dts/tegra20.dtsi +++ b/trunk/arch/arm/boot/dts/tegra20.dtsi @@ -170,7 +170,7 @@ reg = <0x7000e400 0x400>; }; - memory-controller@7000f000 { + memory-controller@0x7000f000 { compatible = "nvidia,tegra20-mc"; reg = <0x7000f000 0x024 0x7000f03c 0x3c4>; @@ -183,7 +183,7 @@ 0x58000000 0x02000000>; /* GART aperture */ }; - memory-controller@7000f400 { + memory-controller@0x7000f400 { compatible = "nvidia,tegra20-emc"; reg = <0x7000f400 0x200>; #address-cells = <1>; diff --git a/trunk/arch/arm/common/it8152.c b/trunk/arch/arm/common/it8152.c index 001f4913799c..c4110d1b1f2d 100644 --- a/trunk/arch/arm/common/it8152.c +++ b/trunk/arch/arm/common/it8152.c @@ -284,17 +284,11 @@ int dma_set_coherent_mask(struct device *dev, u64 mask) int __init it8152_pci_setup(int nr, struct pci_sys_data *sys) { - /* - * FIXME: use pci_ioremap_io to remap the IO space here and - * move over to the generic io.h implementation. - * This requires solving the same problem for PXA PCMCIA - * support. - */ - it8152_io.start = (unsigned long)IT8152_IO_BASE + 0x12000; - it8152_io.end = (unsigned long)IT8152_IO_BASE + 0x12000 + 0x100000; + it8152_io.start = IT8152_IO_BASE + 0x12000; + it8152_io.end = IT8152_IO_BASE + 0x12000 + 0x100000; sys->mem_offset = 0x10000000; - sys->io_offset = (unsigned long)IT8152_IO_BASE; + sys->io_offset = IT8152_IO_BASE; if (request_resource(&ioport_resource, &it8152_io)) { printk(KERN_ERR "PCI: unable to allocate IO region\n"); diff --git a/trunk/arch/arm/include/asm/assembler.h b/trunk/arch/arm/include/asm/assembler.h index 2ef95813fce0..5c8b3bf4d825 100644 --- a/trunk/arch/arm/include/asm/assembler.h +++ b/trunk/arch/arm/include/asm/assembler.h @@ -22,7 +22,6 @@ #include #include -#include #define IOMEM(x) (x) @@ -240,34 +239,6 @@ .endm #endif -/* - * Helper macro to enter SVC mode cleanly and mask interrupts. reg is - * a scratch register for the macro to overwrite. - * - * This macro is intended for forcing the CPU into SVC mode at boot time. - * you cannot return to the original mode. - * - * Beware, it also clobers LR. - */ -.macro safe_svcmode_maskall reg:req - mrs \reg , cpsr - mov lr , \reg - and lr , lr , #MODE_MASK - cmp lr , #HYP_MODE - orr \reg , \reg , #PSR_I_BIT | PSR_F_BIT - bic \reg , \reg , #MODE_MASK - orr \reg , \reg , #SVC_MODE -THUMB( orr \reg , \reg , #PSR_T_BIT ) - bne 1f - orr \reg, \reg, #PSR_A_BIT - adr lr, BSYM(2f) - msr spsr_cxsf, \reg - __MSR_ELR_HYP(14) - __ERET -1: msr cpsr_c, \reg -2: -.endm - /* * STRT/LDRT access macros with ARM and Thumb-2 variants */ diff --git a/trunk/arch/arm/include/asm/cacheflush.h b/trunk/arch/arm/include/asm/cacheflush.h index e1489c54cd12..e4448e16046d 100644 --- a/trunk/arch/arm/include/asm/cacheflush.h +++ b/trunk/arch/arm/include/asm/cacheflush.h @@ -49,13 +49,6 @@ * * Unconditionally clean and invalidate the entire cache. * - * flush_kern_louis() - * - * Flush data cache levels up to the level of unification - * inner shareable and invalidate the I-cache. - * Only needed from v7 onwards, falls back to flush_cache_all() - * for all other processor versions. - * * flush_user_all() * * Clean and invalidate all user space cache entries @@ -104,7 +97,6 @@ struct cpu_cache_fns { void (*flush_icache_all)(void); void (*flush_kern_all)(void); - void (*flush_kern_louis)(void); void (*flush_user_all)(void); void (*flush_user_range)(unsigned long, unsigned long, unsigned int); @@ -127,7 +119,6 @@ extern struct cpu_cache_fns cpu_cache; #define __cpuc_flush_icache_all cpu_cache.flush_icache_all #define __cpuc_flush_kern_all cpu_cache.flush_kern_all -#define __cpuc_flush_kern_louis cpu_cache.flush_kern_louis #define __cpuc_flush_user_all cpu_cache.flush_user_all #define __cpuc_flush_user_range cpu_cache.flush_user_range #define __cpuc_coherent_kern_range cpu_cache.coherent_kern_range @@ -148,7 +139,6 @@ extern struct cpu_cache_fns cpu_cache; extern void __cpuc_flush_icache_all(void); extern void __cpuc_flush_kern_all(void); -extern void __cpuc_flush_kern_louis(void); extern void __cpuc_flush_user_all(void); extern void __cpuc_flush_user_range(unsigned long, unsigned long, unsigned int); extern void __cpuc_coherent_kern_range(unsigned long, unsigned long); @@ -214,11 +204,6 @@ static inline void __flush_icache_all(void) __flush_icache_preferred(); } -/* - * Flush caches up to Level of Unification Inner Shareable - */ -#define flush_cache_louis() __cpuc_flush_kern_louis() - #define flush_cache_all() __cpuc_flush_kern_all() static inline void vivt_flush_cache_mm(struct mm_struct *mm) diff --git a/trunk/arch/arm/include/asm/glue-cache.h b/trunk/arch/arm/include/asm/glue-cache.h index cca9f15704ed..4f8d2c0dc441 100644 --- a/trunk/arch/arm/include/asm/glue-cache.h +++ b/trunk/arch/arm/include/asm/glue-cache.h @@ -132,7 +132,6 @@ #ifndef MULTI_CACHE #define __cpuc_flush_icache_all __glue(_CACHE,_flush_icache_all) #define __cpuc_flush_kern_all __glue(_CACHE,_flush_kern_cache_all) -#define __cpuc_flush_kern_louis __glue(_CACHE,_flush_kern_cache_louis) #define __cpuc_flush_user_all __glue(_CACHE,_flush_user_cache_all) #define __cpuc_flush_user_range __glue(_CACHE,_flush_user_cache_range) #define __cpuc_coherent_kern_range __glue(_CACHE,_coherent_kern_range) diff --git a/trunk/arch/arm/include/asm/opcodes-virt.h b/trunk/arch/arm/include/asm/opcodes-virt.h index efcfdf92d9d5..b85665a96f8e 100644 --- a/trunk/arch/arm/include/asm/opcodes-virt.h +++ b/trunk/arch/arm/include/asm/opcodes-virt.h @@ -26,14 +26,4 @@ 0xF7E08000 | (((imm16) & 0xF000) << 4) | ((imm16) & 0x0FFF) \ ) -#define __ERET __inst_arm_thumb32( \ - 0xE160006E, \ - 0xF3DE8F00 \ -) - -#define __MSR_ELR_HYP(regnum) __inst_arm_thumb32( \ - 0xE12EF300 | regnum, \ - 0xF3808E30 | (regnum << 16) \ -) - #endif /* ! __ASM_ARM_OPCODES_VIRT_H */ diff --git a/trunk/arch/arm/include/asm/ptrace.h b/trunk/arch/arm/include/asm/ptrace.h index 142d6ae41231..44fe998269d9 100644 --- a/trunk/arch/arm/include/asm/ptrace.h +++ b/trunk/arch/arm/include/asm/ptrace.h @@ -44,7 +44,6 @@ #define IRQ_MODE 0x00000012 #define SVC_MODE 0x00000013 #define ABT_MODE 0x00000017 -#define HYP_MODE 0x0000001a #define UND_MODE 0x0000001b #define SYSTEM_MODE 0x0000001f #define MODE32_BIT 0x00000010 diff --git a/trunk/arch/arm/include/asm/thread_info.h b/trunk/arch/arm/include/asm/thread_info.h index 8477b4c1d39f..f71cdab18b87 100644 --- a/trunk/arch/arm/include/asm/thread_info.h +++ b/trunk/arch/arm/include/asm/thread_info.h @@ -151,6 +151,7 @@ extern int vfp_restore_user_hwstate(struct user_vfp __user *, #define TIF_SYSCALL_TRACE 8 #define TIF_SYSCALL_AUDIT 9 #define TIF_SYSCALL_TRACEPOINT 10 +#define TIF_POLLING_NRFLAG 16 #define TIF_USING_IWMMXT 17 #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ #define TIF_RESTORE_SIGMASK 20 @@ -163,6 +164,7 @@ extern int vfp_restore_user_hwstate(struct user_vfp __user *, #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) #define _TIF_SYSCALL_TRACEPOINT (1 << TIF_SYSCALL_TRACEPOINT) +#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) #define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT) #define _TIF_SECCOMP (1 << TIF_SECCOMP) diff --git a/trunk/arch/arm/include/asm/unistd.h b/trunk/arch/arm/include/asm/unistd.h index 91819ad54424..f259921edfe9 100644 --- a/trunk/arch/arm/include/asm/unistd.h +++ b/trunk/arch/arm/include/asm/unistd.h @@ -479,6 +479,7 @@ #define __ARCH_WANT_SYS_SOCKETCALL #endif #define __ARCH_WANT_SYS_EXECVE +#define __ARCH_WANT_KERNEL_EXECVE /* * "Conditional" syscalls diff --git a/trunk/arch/arm/include/asm/vfpmacros.h b/trunk/arch/arm/include/asm/vfpmacros.h index 6a6f1e485f41..a7aadbd9a6dd 100644 --- a/trunk/arch/arm/include/asm/vfpmacros.h +++ b/trunk/arch/arm/include/asm/vfpmacros.h @@ -28,7 +28,7 @@ ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] tst \tmp, #HWCAP_VFPv3D16 - ldceql p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} + ldceq p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} addne \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 @@ -52,7 +52,7 @@ ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] tst \tmp, #HWCAP_VFPv3D16 - stceql p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} + stceq p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} addne \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 diff --git a/trunk/arch/arm/include/asm/virt.h b/trunk/arch/arm/include/asm/virt.h deleted file mode 100644 index 86164df86cb4..000000000000 --- a/trunk/arch/arm/include/asm/virt.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2012 Linaro Limited. - * - * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef VIRT_H -#define VIRT_H - -#include - -/* - * Flag indicating that the kernel was not entered in the same mode on every - * CPU. The zImage loader stashes this value in an SPSR, so we need an - * architecturally defined flag bit here (the N flag, as it happens) - */ -#define BOOT_CPU_MODE_MISMATCH (1<<31) - -#ifndef __ASSEMBLY__ - -#ifdef CONFIG_ARM_VIRT_EXT -/* - * __boot_cpu_mode records what mode the primary CPU was booted in. - * A correctly-implemented bootloader must start all CPUs in the same mode: - * if it fails to do this, the flag BOOT_CPU_MODE_MISMATCH is set to indicate - * that some CPU(s) were booted in a different mode. - * - * This allows the kernel to flag an error when the secondaries have come up. - */ -extern int __boot_cpu_mode; - -void __hyp_set_vectors(unsigned long phys_vector_base); -unsigned long __hyp_get_vectors(void); -#else -#define __boot_cpu_mode (SVC_MODE) -#endif - -#ifndef ZIMAGE -void hyp_mode_check(void); - -/* Reports the availability of HYP mode */ -static inline bool is_hyp_mode_available(void) -{ - return ((__boot_cpu_mode & MODE_MASK) == HYP_MODE && - !(__boot_cpu_mode & BOOT_CPU_MODE_MISMATCH)); -} - -/* Check if the bootloader has booted CPUs in different modes */ -static inline bool is_hyp_mode_mismatched(void) -{ - return !!(__boot_cpu_mode & BOOT_CPU_MODE_MISMATCH); -} -#endif - -#endif /* __ASSEMBLY__ */ - -#endif /* ! VIRT_H */ diff --git a/trunk/arch/arm/kernel/Makefile b/trunk/arch/arm/kernel/Makefile index 5bbec7b8183e..5dfef9d97ed9 100644 --- a/trunk/arch/arm/kernel/Makefile +++ b/trunk/arch/arm/kernel/Makefile @@ -81,6 +81,4 @@ head-y := head$(MMUEXT).o obj-$(CONFIG_DEBUG_LL) += debug.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o -obj-$(CONFIG_ARM_VIRT_EXT) += hyp-stub.o - extra-y := $(head-y) vmlinux.lds diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index 417bac1846bd..e340fa1db203 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -86,14 +86,35 @@ ENDPROC(ret_to_user) */ ENTRY(ret_from_fork) bl schedule_tail - cmp r5, #0 - movne r0, r4 - movne lr, pc - movne pc, r5 get_thread_info tsk + mov why, #1 b ret_slow_syscall ENDPROC(ret_from_fork) +ENTRY(ret_from_kernel_thread) + UNWIND(.fnstart) + UNWIND(.cantunwind) + bl schedule_tail + mov r0, r4 + adr lr, BSYM(1f) @ kernel threads should not exit + mov pc, r5 +1: bl do_exit + nop + UNWIND(.fnend) +ENDPROC(ret_from_kernel_thread) + +/* + * turn a kernel thread into userland process + * use: ret_from_kernel_execve(struct pt_regs *normal) + */ +ENTRY(ret_from_kernel_execve) + mov why, #0 @ not a syscall + str why, [r0, #S_R0] @ ... and we want 0 in ->ARM_r0 as well + get_thread_info tsk @ thread structure + mov sp, r0 @ stack pointer just under pt_regs + b ret_slow_syscall +ENDPROC(ret_from_kernel_execve) + .equ NR_syscalls,0 #define CALL(x) .equ NR_syscalls,NR_syscalls+1 #include "calls.S" diff --git a/trunk/arch/arm/kernel/head.S b/trunk/arch/arm/kernel/head.S index 4eee351f4668..9874d0741191 100644 --- a/trunk/arch/arm/kernel/head.S +++ b/trunk/arch/arm/kernel/head.S @@ -83,12 +83,8 @@ ENTRY(stext) THUMB( .thumb ) @ switch to Thumb now. THUMB(1: ) -#ifdef CONFIG_ARM_VIRT_EXT - bl __hyp_stub_install -#endif - @ ensure svc mode and all interrupts masked - safe_svcmode_maskall r9 - + setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode + @ and irqs disabled mrc p15, 0, r9, c0, c0 @ get processor id bl __lookup_processor_type @ r5=procinfo r9=cpuid movs r10, r5 @ invalid processor (r5=0)? @@ -330,11 +326,7 @@ ENTRY(secondary_startup) * the processor type - there is no need to check the machine type * as it has already been validated by the primary processor. */ -#ifdef CONFIG_ARM_VIRT_EXT - bl __hyp_stub_install -#endif - safe_svcmode_maskall r9 - + setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 mrc p15, 0, r9, c0, c0 @ get processor id bl __lookup_processor_type movs r10, r5 @ invalid processor? diff --git a/trunk/arch/arm/kernel/hyp-stub.S b/trunk/arch/arm/kernel/hyp-stub.S deleted file mode 100644 index 65b2417aebce..000000000000 --- a/trunk/arch/arm/kernel/hyp-stub.S +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright (c) 2012 Linaro Limited. - * - * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include - -#ifndef ZIMAGE -/* - * For the kernel proper, we need to find out the CPU boot mode long after - * boot, so we need to store it in a writable variable. - * - * This is not in .bss, because we set it sufficiently early that the boot-time - * zeroing of .bss would clobber it. - */ -.data -ENTRY(__boot_cpu_mode) - .long 0 -.text - - /* - * Save the primary CPU boot mode. Requires 3 scratch registers. - */ - .macro store_primary_cpu_mode reg1, reg2, reg3 - mrs \reg1, cpsr - and \reg1, \reg1, #MODE_MASK - adr \reg2, .L__boot_cpu_mode_offset - ldr \reg3, [\reg2] - str \reg1, [\reg2, \reg3] - .endm - - /* - * Compare the current mode with the one saved on the primary CPU. - * If they don't match, record that fact. The Z bit indicates - * if there's a match or not. - * Requires 3 additionnal scratch registers. - */ - .macro compare_cpu_mode_with_primary mode, reg1, reg2, reg3 - adr \reg2, .L__boot_cpu_mode_offset - ldr \reg3, [\reg2] - ldr \reg1, [\reg2, \reg3] - cmp \mode, \reg1 @ matches primary CPU boot mode? - orrne r7, r7, #BOOT_CPU_MODE_MISMATCH - strne r7, [r5, r6] @ record what happened and give up - .endm - -#else /* ZIMAGE */ - - .macro store_primary_cpu_mode reg1:req, reg2:req, reg3:req - .endm - -/* - * The zImage loader only runs on one CPU, so we don't bother with mult-CPU - * consistency checking: - */ - .macro compare_cpu_mode_with_primary mode, reg1, reg2, reg3 - cmp \mode, \mode - .endm - -#endif /* ZIMAGE */ - -/* - * Hypervisor stub installation functions. - * - * These must be called with the MMU and D-cache off. - * They are not ABI compliant and are only intended to be called from the kernel - * entry points in head.S. - */ -@ Call this from the primary CPU -ENTRY(__hyp_stub_install) - store_primary_cpu_mode r4, r5, r6 -ENDPROC(__hyp_stub_install) - - @ fall through... - -@ Secondary CPUs should call here -ENTRY(__hyp_stub_install_secondary) - mrs r4, cpsr - and r4, r4, #MODE_MASK - - /* - * If the secondary has booted with a different mode, give up - * immediately. - */ - compare_cpu_mode_with_primary r4, r5, r6, r7 - bxne lr - - /* - * Once we have given up on one CPU, we do not try to install the - * stub hypervisor on the remaining ones: because the saved boot mode - * is modified, it can't compare equal to the CPSR mode field any - * more. - * - * Otherwise... - */ - - cmp r4, #HYP_MODE - bxne lr @ give up if the CPU is not in HYP mode - -/* - * Configure HSCTLR to set correct exception endianness/instruction set - * state etc. - * Turn off all traps - * Eventually, CPU-specific code might be needed -- assume not for now - * - * This code relies on the "eret" instruction to synchronize the - * various coprocessor accesses. - */ - @ Now install the hypervisor stub: - adr r7, __hyp_stub_vectors - mcr p15, 4, r7, c12, c0, 0 @ set hypervisor vector base (HVBAR) - - @ Disable all traps, so we don't get any nasty surprise - mov r7, #0 - mcr p15, 4, r7, c1, c1, 0 @ HCR - mcr p15, 4, r7, c1, c1, 2 @ HCPTR - mcr p15, 4, r7, c1, c1, 3 @ HSTR - -THUMB( orr r7, #(1 << 30) ) @ HSCTLR.TE -#ifdef CONFIG_CPU_BIG_ENDIAN - orr r7, #(1 << 9) @ HSCTLR.EE -#endif - mcr p15, 4, r7, c1, c0, 0 @ HSCTLR - - mrc p15, 4, r7, c1, c1, 1 @ HDCR - and r7, #0x1f @ Preserve HPMN - mcr p15, 4, r7, c1, c1, 1 @ HDCR - -#if !defined(ZIMAGE) && defined(CONFIG_ARM_ARCH_TIMER) - @ make CNTP_* and CNTPCT accessible from PL1 - mrc p15, 0, r7, c0, c1, 1 @ ID_PFR1 - lsr r7, #16 - and r7, #0xf - cmp r7, #1 - bne 1f - mrc p15, 4, r7, c14, c1, 0 @ CNTHCTL - orr r7, r7, #3 @ PL1PCEN | PL1PCTEN - mcr p15, 4, r7, c14, c1, 0 @ CNTHCTL -1: -#endif - - bic r7, r4, #MODE_MASK - orr r7, r7, #SVC_MODE -THUMB( orr r7, r7, #PSR_T_BIT ) - msr spsr_cxsf, r7 @ This is SPSR_hyp. - - __MSR_ELR_HYP(14) @ msr elr_hyp, lr - __ERET @ return, switching to SVC mode - @ The boot CPU mode is left in r4. -ENDPROC(__hyp_stub_install_secondary) - -__hyp_stub_do_trap: - cmp r0, #-1 - mrceq p15, 4, r0, c12, c0, 0 @ get HVBAR - mcrne p15, 4, r0, c12, c0, 0 @ set HVBAR - __ERET -ENDPROC(__hyp_stub_do_trap) - -/* - * __hyp_set_vectors: Call this after boot to set the initial hypervisor - * vectors as part of hypervisor installation. On an SMP system, this should - * be called on each CPU. - * - * r0 must be the physical address of the new vector table (which must lie in - * the bottom 4GB of physical address space. - * - * r0 must be 32-byte aligned. - * - * Before calling this, you must check that the stub hypervisor is installed - * everywhere, by waiting for any secondary CPUs to be brought up and then - * checking that BOOT_CPU_MODE_HAVE_HYP(__boot_cpu_mode) is true. - * - * If not, there is a pre-existing hypervisor, some CPUs failed to boot, or - * something else went wrong... in such cases, trying to install a new - * hypervisor is unlikely to work as desired. - * - * When you call into your shiny new hypervisor, sp_hyp will contain junk, - * so you will need to set that to something sensible at the new hypervisor's - * initialisation entry point. - */ -ENTRY(__hyp_get_vectors) - mov r0, #-1 -ENDPROC(__hyp_get_vectors) - @ fall through -ENTRY(__hyp_set_vectors) - __HVC(0) - bx lr -ENDPROC(__hyp_set_vectors) - -#ifndef ZIMAGE -.align 2 -.L__boot_cpu_mode_offset: - .long __boot_cpu_mode - . -#endif - -.align 5 -__hyp_stub_vectors: -__hyp_stub_reset: W(b) . -__hyp_stub_und: W(b) . -__hyp_stub_svc: W(b) . -__hyp_stub_pabort: W(b) . -__hyp_stub_dabort: W(b) . -__hyp_stub_trap: W(b) __hyp_stub_do_trap -__hyp_stub_irq: W(b) . -__hyp_stub_fiq: W(b) . -ENDPROC(__hyp_stub_vectors) - diff --git a/trunk/arch/arm/kernel/process.c b/trunk/arch/arm/kernel/process.c index 90084a6de35a..f98c17ff1957 100644 --- a/trunk/arch/arm/kernel/process.c +++ b/trunk/arch/arm/kernel/process.c @@ -373,6 +373,7 @@ void release_thread(struct task_struct *dead_task) } asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); +asmlinkage void ret_from_kernel_thread(void) __asm__("ret_from_kernel_thread"); int copy_thread(unsigned long clone_flags, unsigned long stack_start, @@ -387,13 +388,13 @@ copy_thread(unsigned long clone_flags, unsigned long stack_start, *childregs = *regs; childregs->ARM_r0 = 0; childregs->ARM_sp = stack_start; + thread->cpu_context.pc = (unsigned long)ret_from_fork; } else { - memset(childregs, 0, sizeof(struct pt_regs)); thread->cpu_context.r4 = stk_sz; thread->cpu_context.r5 = stack_start; + thread->cpu_context.pc = (unsigned long)ret_from_kernel_thread; childregs->ARM_cpsr = SVC_MODE; } - thread->cpu_context.pc = (unsigned long)ret_from_fork; thread->cpu_context.sp = (unsigned long)childregs; clear_ptrace_hw_breakpoint(p); diff --git a/trunk/arch/arm/kernel/setup.c b/trunk/arch/arm/kernel/setup.c index da1d1aa20ad9..febafa0f552d 100644 --- a/trunk/arch/arm/kernel/setup.c +++ b/trunk/arch/arm/kernel/setup.c @@ -53,7 +53,6 @@ #include #include #include -#include #include "atags.h" #include "tcm.h" @@ -704,21 +703,6 @@ static int __init meminfo_cmp(const void *_a, const void *_b) return cmp < 0 ? -1 : cmp > 0 ? 1 : 0; } -void __init hyp_mode_check(void) -{ -#ifdef CONFIG_ARM_VIRT_EXT - if (is_hyp_mode_available()) { - pr_info("CPU: All CPU(s) started in HYP mode.\n"); - pr_info("CPU: Virtualization extensions available.\n"); - } else if (is_hyp_mode_mismatched()) { - pr_warn("CPU: WARNING: CPU(s) started in wrong/inconsistent modes (primary CPU mode 0x%x)\n", - __boot_cpu_mode & MODE_MASK); - pr_warn("CPU: This may indicate a broken bootloader or firmware.\n"); - } else - pr_info("CPU: All CPU(s) started in SVC mode.\n"); -#endif -} - void __init setup_arch(char **cmdline_p) { struct machine_desc *mdesc; @@ -764,10 +748,6 @@ void __init setup_arch(char **cmdline_p) smp_init_cpus(); } #endif - - if (!is_smp()) - hyp_mode_check(); - reserve_crashkernel(); tcm_init(); diff --git a/trunk/arch/arm/kernel/signal.c b/trunk/arch/arm/kernel/signal.c index 56f72d257ebd..f27789e4e38a 100644 --- a/trunk/arch/arm/kernel/signal.c +++ b/trunk/arch/arm/kernel/signal.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index 8e20754dd31d..d100eacdb798 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -43,7 +43,6 @@ #include #include #include -#include #include /* @@ -203,11 +202,8 @@ int __cpuinit __cpu_disable(void) /* * Flush user cache and TLB mappings, and then remove this CPU * from the vm mask set of all processes. - * - * Caches are flushed to the Level of Unification Inner Shareable - * to write-back dirty lines to unified caches shared by all CPUs. */ - flush_cache_louis(); + flush_cache_all(); local_flush_tlb_all(); clear_tasks_mm_cpumask(cpu); @@ -359,8 +355,6 @@ void __init smp_cpus_done(unsigned int max_cpus) num_online_cpus(), bogosum / (500000/HZ), (bogosum / (5000/HZ)) % 100); - - hyp_mode_check(); } void __init smp_prepare_boot_cpu(void) diff --git a/trunk/arch/arm/kernel/suspend.c b/trunk/arch/arm/kernel/suspend.c index 358bca3a995e..1794cc3b0f18 100644 --- a/trunk/arch/arm/kernel/suspend.c +++ b/trunk/arch/arm/kernel/suspend.c @@ -17,8 +17,6 @@ extern void cpu_resume_mmu(void); */ void __cpu_suspend_save(u32 *ptr, u32 ptrsz, u32 sp, u32 *save_ptr) { - u32 *ctx = ptr; - *save_ptr = virt_to_phys(ptr); /* This must correspond to the LDM in cpu_resume() assembly */ @@ -28,20 +26,7 @@ void __cpu_suspend_save(u32 *ptr, u32 ptrsz, u32 sp, u32 *save_ptr) cpu_do_suspend(ptr); - flush_cache_louis(); - - /* - * flush_cache_louis does not guarantee that - * save_ptr and ptr are cleaned to main memory, - * just up to the Level of Unification Inner Shareable. - * Since the context pointer and context itself - * are to be retrieved with the MMU off that - * data must be cleaned from all cache levels - * to main memory using "area" cache primitives. - */ - __cpuc_flush_dcache_area(ctx, ptrsz); - __cpuc_flush_dcache_area(save_ptr, sizeof(*save_ptr)); - + flush_cache_all(); outer_clean_range(*save_ptr, *save_ptr + ptrsz); outer_clean_range(virt_to_phys(save_ptr), virt_to_phys(save_ptr) + sizeof(*save_ptr)); diff --git a/trunk/arch/arm/mach-at91/at91rm9200.c b/trunk/arch/arm/mach-at91/at91rm9200.c index b4f0565aff63..6f50c6722276 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200.c +++ b/trunk/arch/arm/mach-at91/at91rm9200.c @@ -187,7 +187,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.2", &ssc2_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200", &twi_clk), /* fake hclk clock */ CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), CLKDEV_CON_ID("pioA", &pioA_clk), diff --git a/trunk/arch/arm/mach-at91/at91rm9200_devices.c b/trunk/arch/arm/mach-at91/at91rm9200_devices.c index a563189cdfc3..9ac427a702da 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200_devices.c +++ b/trunk/arch/arm/mach-at91/at91rm9200_devices.c @@ -511,7 +511,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91rm9200_twi_device = { - .name = "i2c-at91rm9200", + .name = "at91_i2c", .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), diff --git a/trunk/arch/arm/mach-at91/at91sam9260.c b/trunk/arch/arm/mach-at91/at91sam9260.c index ad29f93f20ca..30c7f26a4668 100644 --- a/trunk/arch/arm/mach-at91/at91sam9260.c +++ b/trunk/arch/arm/mach-at91/at91sam9260.c @@ -211,8 +211,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("t1_clk", "atmel_tcb.1", &tc4_clk), CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.1", &tc5_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260", &twi_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20", &twi_clk), /* more usart lookup table for DT entries */ CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck), CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk), @@ -221,7 +219,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("usart", "fffd0000.serial", &usart3_clk), CLKDEV_CON_DEV_ID("usart", "fffd4000.serial", &usart4_clk), CLKDEV_CON_DEV_ID("usart", "fffd8000.serial", &usart5_clk), - CLKDEV_CON_DEV_ID(NULL, "fffac000.i2c", &twi_clk), /* more tc lookup table for DT entries */ CLKDEV_CON_DEV_ID("t0_clk", "fffa0000.timer", &tc0_clk), CLKDEV_CON_DEV_ID("t1_clk", "fffa0000.timer", &tc1_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9260_devices.c b/trunk/arch/arm/mach-at91/at91sam9260_devices.c index a76b8684f52d..af50ff3281c7 100644 --- a/trunk/arch/arm/mach-at91/at91sam9260_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9260_devices.c @@ -421,6 +421,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9260_twi_device = { + .name = "at91_i2c", .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), @@ -428,13 +429,6 @@ static struct platform_device at91sam9260_twi_device = { void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) { - /* IP version is not the same on 9260 and g20 */ - if (cpu_is_at91sam9g20()) { - at91sam9260_twi_device.name = "i2c-at91sam9g20"; - } else { - at91sam9260_twi_device.name = "i2c-at91sam9260"; - } - /* pins used for TWI interface */ at91_set_A_periph(AT91_PIN_PA23, 0); /* TWD */ at91_set_multi_drive(AT91_PIN_PA23, 1); diff --git a/trunk/arch/arm/mach-at91/at91sam9261.c b/trunk/arch/arm/mach-at91/at91sam9261.c index 8d999eb1a137..f40762c5fede 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261.c +++ b/trunk/arch/arm/mach-at91/at91sam9261.c @@ -178,8 +178,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.2", &ssc2_clk), CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &hck0), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9261", &twi_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10", &twi_clk), CLKDEV_CON_ID("pioA", &pioA_clk), CLKDEV_CON_ID("pioB", &pioB_clk), CLKDEV_CON_ID("pioC", &pioC_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9261_devices.c b/trunk/arch/arm/mach-at91/at91sam9261_devices.c index 9752f17efba9..11e9fa835cde 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9261_devices.c @@ -317,6 +317,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9261_twi_device = { + .name = "at91_i2c", .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), @@ -324,19 +325,12 @@ static struct platform_device at91sam9261_twi_device = { void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) { - /* IP version is not the same on 9261 and g10 */ - if (cpu_is_at91sam9g10()) { - at91sam9261_twi_device.name = "i2c-at91sam9g10"; - /* I2C PIO must not be configured as open-drain on this chip */ - } else { - at91sam9261_twi_device.name = "i2c-at91sam9261"; - at91_set_multi_drive(AT91_PIN_PA7, 1); - at91_set_multi_drive(AT91_PIN_PA8, 1); - } - /* pins used for TWI interface */ at91_set_A_periph(AT91_PIN_PA7, 0); /* TWD */ + at91_set_multi_drive(AT91_PIN_PA7, 1); + at91_set_A_periph(AT91_PIN_PA8, 0); /* TWCK */ + at91_set_multi_drive(AT91_PIN_PA8, 1); i2c_register_board_info(0, devices, nr_devices); platform_device_register(&at91sam9261_twi_device); diff --git a/trunk/arch/arm/mach-at91/at91sam9263.c b/trunk/arch/arm/mach-at91/at91sam9263.c index 6a01d0360dfb..144ef5de51b6 100644 --- a/trunk/arch/arm/mach-at91/at91sam9263.c +++ b/trunk/arch/arm/mach-at91/at91sam9263.c @@ -193,7 +193,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.0", &spi0_clk), CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.1", &spi1_clk), CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.0", &tcb_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260", &twi_clk), /* fake hclk clock */ CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), CLKDEV_CON_ID("pioA", &pioA_clk), @@ -211,7 +210,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("hclk", "a00000.ohci", &ohci_clk), CLKDEV_CON_DEV_ID("spi_clk", "fffa4000.spi", &spi0_clk), CLKDEV_CON_DEV_ID("spi_clk", "fffa8000.spi", &spi1_clk), - CLKDEV_CON_DEV_ID(NULL, "fff88000.i2c", &twi_clk), }; static struct clk_lookup usart_clocks_lookups[] = { diff --git a/trunk/arch/arm/mach-at91/at91sam9263_devices.c b/trunk/arch/arm/mach-at91/at91sam9263_devices.c index 8dde220b42b6..7c0898fe20fa 100644 --- a/trunk/arch/arm/mach-at91/at91sam9263_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9263_devices.c @@ -599,7 +599,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9263_twi_device = { - .name = "i2c-at91sam9260", + .name = "at91_i2c", .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), diff --git a/trunk/arch/arm/mach-at91/at91sam9g45.c b/trunk/arch/arm/mach-at91/at91sam9g45.c index 84af1b506d92..ef6cedd52e3c 100644 --- a/trunk/arch/arm/mach-at91/at91sam9g45.c +++ b/trunk/arch/arm/mach-at91/at91sam9g45.c @@ -237,8 +237,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.1", &spi1_clk), CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.0", &tcb0_clk), CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.1", &tcb0_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.0", &twi0_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.1", &twi1_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), CLKDEV_CON_DEV_ID(NULL, "atmel-trng", &trng_clk), @@ -256,8 +254,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("t0_clk", "fffd4000.timer", &tcb0_clk), CLKDEV_CON_DEV_ID("hclk", "700000.ohci", &uhphs_clk), CLKDEV_CON_DEV_ID("ehci_clk", "800000.ehci", &uhphs_clk), - CLKDEV_CON_DEV_ID(NULL, "fff84000.i2c", &twi0_clk), - CLKDEV_CON_DEV_ID(NULL, "fff88000.i2c", &twi1_clk), /* fake hclk clock */ CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &uhphs_clk), CLKDEV_CON_ID("pioA", &pioA_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9g45_devices.c b/trunk/arch/arm/mach-at91/at91sam9g45_devices.c index b1596072dcc2..e4c3b3709204 100644 --- a/trunk/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9g45_devices.c @@ -653,7 +653,7 @@ static struct resource twi0_resources[] = { }; static struct platform_device at91sam9g45_twi0_device = { - .name = "i2c-at91sam9g10", + .name = "at91_i2c", .id = 0, .resource = twi0_resources, .num_resources = ARRAY_SIZE(twi0_resources), @@ -673,7 +673,7 @@ static struct resource twi1_resources[] = { }; static struct platform_device at91sam9g45_twi1_device = { - .name = "i2c-at91sam9g10", + .name = "at91_i2c", .id = 1, .resource = twi1_resources, .num_resources = ARRAY_SIZE(twi1_resources), @@ -686,12 +686,18 @@ void __init at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, in /* pins used for TWI interface */ if (i2c_id == 0) { at91_set_A_periph(AT91_PIN_PA20, 0); /* TWD */ + at91_set_multi_drive(AT91_PIN_PA20, 1); + at91_set_A_periph(AT91_PIN_PA21, 0); /* TWCK */ + at91_set_multi_drive(AT91_PIN_PA21, 1); platform_device_register(&at91sam9g45_twi0_device); } else { at91_set_A_periph(AT91_PIN_PB10, 0); /* TWD */ + at91_set_multi_drive(AT91_PIN_PB10, 1); + at91_set_A_periph(AT91_PIN_PB11, 0); /* TWCK */ + at91_set_multi_drive(AT91_PIN_PB11, 1); platform_device_register(&at91sam9g45_twi1_device); } diff --git a/trunk/arch/arm/mach-at91/at91sam9n12.c b/trunk/arch/arm/mach-at91/at91sam9n12.c index 732d3d3f4ec5..08494664ab78 100644 --- a/trunk/arch/arm/mach-at91/at91sam9n12.c +++ b/trunk/arch/arm/mach-at91/at91sam9n12.c @@ -169,8 +169,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("t0_clk", "f8008000.timer", &tcb_clk), CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb_clk), CLKDEV_CON_DEV_ID("dma_clk", "ffffec00.dma-controller", &dma_clk), - CLKDEV_CON_DEV_ID(NULL, "f8010000.i2c", &twi0_clk), - CLKDEV_CON_DEV_ID(NULL, "f8014000.i2c", &twi1_clk), CLKDEV_CON_ID("pioA", &pioAB_clk), CLKDEV_CON_ID("pioB", &pioAB_clk), CLKDEV_CON_ID("pioC", &pioCD_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9rl.c b/trunk/arch/arm/mach-at91/at91sam9rl.c index 72e908412222..72ce50a50de5 100644 --- a/trunk/arch/arm/mach-at91/at91sam9rl.c +++ b/trunk/arch/arm/mach-at91/at91sam9rl.c @@ -186,8 +186,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.0", &tc2_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi0_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.1", &twi1_clk), CLKDEV_CON_ID("pioA", &pioA_clk), CLKDEV_CON_ID("pioB", &pioB_clk), CLKDEV_CON_ID("pioC", &pioC_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9rl_devices.c b/trunk/arch/arm/mach-at91/at91sam9rl_devices.c index d6ca0543ce8d..deafea0e493d 100644 --- a/trunk/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9rl_devices.c @@ -346,7 +346,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9rl_twi_device = { - .name = "i2c-at91sam9g20", + .name = "at91_i2c", .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), diff --git a/trunk/arch/arm/mach-at91/at91sam9x5.c b/trunk/arch/arm/mach-at91/at91sam9x5.c index e5035380dcbc..477cf9d06672 100644 --- a/trunk/arch/arm/mach-at91/at91sam9x5.c +++ b/trunk/arch/arm/mach-at91/at91sam9x5.c @@ -231,9 +231,6 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb0_clk), CLKDEV_CON_DEV_ID("dma_clk", "ffffec00.dma-controller", &dma0_clk), CLKDEV_CON_DEV_ID("dma_clk", "ffffee00.dma-controller", &dma1_clk), - CLKDEV_CON_DEV_ID(NULL, "f8010000.i2c", &twi0_clk), - CLKDEV_CON_DEV_ID(NULL, "f8014000.i2c", &twi1_clk), - CLKDEV_CON_DEV_ID(NULL, "f8018000.i2c", &twi2_clk), CLKDEV_CON_ID("pioA", &pioAB_clk), CLKDEV_CON_ID("pioB", &pioAB_clk), CLKDEV_CON_ID("pioC", &pioCD_clk), diff --git a/trunk/arch/arm/mach-at91/include/mach/at91_twi.h b/trunk/arch/arm/mach-at91/include/mach/at91_twi.h new file mode 100644 index 000000000000..bb2880f6ba37 --- /dev/null +++ b/trunk/arch/arm/mach-at91/include/mach/at91_twi.h @@ -0,0 +1,68 @@ +/* + * arch/arm/mach-at91/include/mach/at91_twi.h + * + * Copyright (C) 2005 Ivan Kokshaysky + * Copyright (C) SAN People + * + * Two-wire Interface (TWI) registers. + * Based on AT91RM9200 datasheet revision E. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#ifndef AT91_TWI_H +#define AT91_TWI_H + +#define AT91_TWI_CR 0x00 /* Control Register */ +#define AT91_TWI_START (1 << 0) /* Send a Start Condition */ +#define AT91_TWI_STOP (1 << 1) /* Send a Stop Condition */ +#define AT91_TWI_MSEN (1 << 2) /* Master Transfer Enable */ +#define AT91_TWI_MSDIS (1 << 3) /* Master Transfer Disable */ +#define AT91_TWI_SVEN (1 << 4) /* Slave Transfer Enable [SAM9260 only] */ +#define AT91_TWI_SVDIS (1 << 5) /* Slave Transfer Disable [SAM9260 only] */ +#define AT91_TWI_SWRST (1 << 7) /* Software Reset */ + +#define AT91_TWI_MMR 0x04 /* Master Mode Register */ +#define AT91_TWI_IADRSZ (3 << 8) /* Internal Device Address Size */ +#define AT91_TWI_IADRSZ_NO (0 << 8) +#define AT91_TWI_IADRSZ_1 (1 << 8) +#define AT91_TWI_IADRSZ_2 (2 << 8) +#define AT91_TWI_IADRSZ_3 (3 << 8) +#define AT91_TWI_MREAD (1 << 12) /* Master Read Direction */ +#define AT91_TWI_DADR (0x7f << 16) /* Device Address */ + +#define AT91_TWI_SMR 0x08 /* Slave Mode Register [SAM9260 only] */ +#define AT91_TWI_SADR (0x7f << 16) /* Slave Address */ + +#define AT91_TWI_IADR 0x0c /* Internal Address Register */ + +#define AT91_TWI_CWGR 0x10 /* Clock Waveform Generator Register */ +#define AT91_TWI_CLDIV (0xff << 0) /* Clock Low Divisor */ +#define AT91_TWI_CHDIV (0xff << 8) /* Clock High Divisor */ +#define AT91_TWI_CKDIV (7 << 16) /* Clock Divider */ + +#define AT91_TWI_SR 0x20 /* Status Register */ +#define AT91_TWI_TXCOMP (1 << 0) /* Transmission Complete */ +#define AT91_TWI_RXRDY (1 << 1) /* Receive Holding Register Ready */ +#define AT91_TWI_TXRDY (1 << 2) /* Transmit Holding Register Ready */ +#define AT91_TWI_SVREAD (1 << 3) /* Slave Read [SAM9260 only] */ +#define AT91_TWI_SVACC (1 << 4) /* Slave Access [SAM9260 only] */ +#define AT91_TWI_GACC (1 << 5) /* General Call Access [SAM9260 only] */ +#define AT91_TWI_OVRE (1 << 6) /* Overrun Error [AT91RM9200 only] */ +#define AT91_TWI_UNRE (1 << 7) /* Underrun Error [AT91RM9200 only] */ +#define AT91_TWI_NACK (1 << 8) /* Not Acknowledged */ +#define AT91_TWI_ARBLST (1 << 9) /* Arbitration Lost [SAM9260 only] */ +#define AT91_TWI_SCLWS (1 << 10) /* Clock Wait State [SAM9260 only] */ +#define AT91_TWI_EOSACC (1 << 11) /* End of Slave Address [SAM9260 only] */ + +#define AT91_TWI_IER 0x24 /* Interrupt Enable Register */ +#define AT91_TWI_IDR 0x28 /* Interrupt Disable Register */ +#define AT91_TWI_IMR 0x2c /* Interrupt Mask Register */ +#define AT91_TWI_RHR 0x30 /* Receive Holding Register */ +#define AT91_TWI_THR 0x34 /* Transmit Holding Register */ + +#endif + diff --git a/trunk/arch/arm/mach-at91/pm.c b/trunk/arch/arm/mach-at91/pm.c index 5315f05896e9..2c2d86505a54 100644 --- a/trunk/arch/arm/mach-at91/pm.c +++ b/trunk/arch/arm/mach-at91/pm.c @@ -153,9 +153,7 @@ static int at91_pm_verify_clocks(void) } } - if (!IS_ENABLED(CONFIG_AT91_PROGRAMMABLE_CLOCKS)) - return 1; - +#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS /* PCK0..PCK3 must be disabled, or configured to use clk32k */ for (i = 0; i < 4; i++) { u32 css; @@ -169,6 +167,7 @@ static int at91_pm_verify_clocks(void) return 0; } } +#endif return 1; } diff --git a/trunk/arch/arm/mach-at91/setup.c b/trunk/arch/arm/mach-at91/setup.c index da9881b161e1..e6f52de1062f 100644 --- a/trunk/arch/arm/mach-at91/setup.c +++ b/trunk/arch/arm/mach-at91/setup.c @@ -87,7 +87,7 @@ void __init at91_init_sram(int bank, unsigned long base, unsigned int length) iotable_init(desc, 1); } -static struct map_desc at91_io_desc __initdata __maybe_unused = { +static struct map_desc at91_io_desc __initdata = { .virtual = (unsigned long)AT91_VA_BASE_SYS, .pfn = __phys_to_pfn(AT91_BASE_SYS), .length = SZ_16K, diff --git a/trunk/arch/arm/mach-davinci/Kconfig b/trunk/arch/arm/mach-davinci/Kconfig index 026b4b277ae5..ab99c3c3b752 100644 --- a/trunk/arch/arm/mach-davinci/Kconfig +++ b/trunk/arch/arm/mach-davinci/Kconfig @@ -186,13 +186,6 @@ config DA850_UI_RMII NOTE: Please take care while choosing this option, MII PHY will not be functional if RMII mode is selected. -config DA850_UI_SD_VIDEO_PORT - bool "Video Port Interface" - help - Say Y if you want to use Video Port Interface (VPIF) on the - DA850/OMAP-L138 EVM. The Video decoders/encoders are found on the - UI daughter card that is supplied with the EVM. - endchoice config DA850_WL12XX diff --git a/trunk/arch/arm/mach-davinci/board-da850-evm.c b/trunk/arch/arm/mach-davinci/board-da850-evm.c index 32ee3f895967..1295e616ceee 100644 --- a/trunk/arch/arm/mach-davinci/board-da850-evm.c +++ b/trunk/arch/arm/mach-davinci/board-da850-evm.c @@ -45,9 +45,6 @@ #include #include -#include -#include - #define DA850_EVM_PHY_ID "davinci_mdio-0:00" #define DA850_LCD_PWR_PIN GPIO_TO_PIN(2, 8) #define DA850_LCD_BL_PIN GPIO_TO_PIN(2, 15) @@ -455,15 +452,6 @@ static void da850_evm_ui_keys_init(unsigned gpio) } } -#ifdef CONFIG_DA850_UI_SD_VIDEO_PORT -static inline void da850_evm_setup_video_port(int video_sel) -{ - gpio_set_value_cansleep(video_sel, 0); -} -#else -static inline void da850_evm_setup_video_port(int video_sel) { } -#endif - static int da850_evm_ui_expander_setup(struct i2c_client *client, unsigned gpio, unsigned ngpio, void *c) { @@ -509,8 +497,6 @@ static int da850_evm_ui_expander_setup(struct i2c_client *client, unsigned gpio, da850_evm_setup_emac_rmii(sel_a); - da850_evm_setup_video_port(sel_c); - return 0; exp_setup_keys_fail: @@ -1163,169 +1149,6 @@ static __init int da850_evm_init_cpufreq(void) static __init int da850_evm_init_cpufreq(void) { return 0; } #endif -#if defined(CONFIG_DA850_UI_SD_VIDEO_PORT) - -#define TVP5147_CH0 "tvp514x-0" -#define TVP5147_CH1 "tvp514x-1" - -/* VPIF capture configuration */ -static struct tvp514x_platform_data tvp5146_pdata = { - .clk_polarity = 0, - .hs_polarity = 1, - .vs_polarity = 1, -}; - -#define TVP514X_STD_ALL (V4L2_STD_NTSC | V4L2_STD_PAL) - -static const struct vpif_input da850_ch0_inputs[] = { - { - .input = { - .index = 0, - .name = "Composite", - .type = V4L2_INPUT_TYPE_CAMERA, - .capabilities = V4L2_IN_CAP_STD, - .std = TVP514X_STD_ALL, - }, - .input_route = INPUT_CVBS_VI2B, - .output_route = OUTPUT_10BIT_422_EMBEDDED_SYNC, - .subdev_name = TVP5147_CH0, - }, -}; - -static const struct vpif_input da850_ch1_inputs[] = { - { - .input = { - .index = 0, - .name = "S-Video", - .type = V4L2_INPUT_TYPE_CAMERA, - .capabilities = V4L2_IN_CAP_STD, - .std = TVP514X_STD_ALL, - }, - .input_route = INPUT_SVIDEO_VI2C_VI1C, - .output_route = OUTPUT_10BIT_422_EMBEDDED_SYNC, - .subdev_name = TVP5147_CH1, - }, -}; - -static struct vpif_subdev_info da850_vpif_capture_sdev_info[] = { - { - .name = TVP5147_CH0, - .board_info = { - I2C_BOARD_INFO("tvp5146", 0x5d), - .platform_data = &tvp5146_pdata, - }, - }, - { - .name = TVP5147_CH1, - .board_info = { - I2C_BOARD_INFO("tvp5146", 0x5c), - .platform_data = &tvp5146_pdata, - }, - }, -}; - -static struct vpif_capture_config da850_vpif_capture_config = { - .subdev_info = da850_vpif_capture_sdev_info, - .subdev_count = ARRAY_SIZE(da850_vpif_capture_sdev_info), - .chan_config[0] = { - .inputs = da850_ch0_inputs, - .input_count = ARRAY_SIZE(da850_ch0_inputs), - .vpif_if = { - .if_type = VPIF_IF_BT656, - .hd_pol = 1, - .vd_pol = 1, - .fid_pol = 0, - }, - }, - .chan_config[1] = { - .inputs = da850_ch1_inputs, - .input_count = ARRAY_SIZE(da850_ch1_inputs), - .vpif_if = { - .if_type = VPIF_IF_BT656, - .hd_pol = 1, - .vd_pol = 1, - .fid_pol = 0, - }, - }, - .card_name = "DA850/OMAP-L138 Video Capture", -}; - -/* VPIF display configuration */ -static struct vpif_subdev_info da850_vpif_subdev[] = { - { - .name = "adv7343", - .board_info = { - I2C_BOARD_INFO("adv7343", 0x2a), - }, - }, -}; - -static const struct vpif_output da850_ch0_outputs[] = { - { - .output = { - .index = 0, - .name = "Composite", - .type = V4L2_OUTPUT_TYPE_ANALOG, - .capabilities = V4L2_OUT_CAP_STD, - .std = V4L2_STD_ALL, - }, - .subdev_name = "adv7343", - .output_route = ADV7343_COMPOSITE_ID, - }, - { - .output = { - .index = 1, - .name = "S-Video", - .type = V4L2_OUTPUT_TYPE_ANALOG, - .capabilities = V4L2_OUT_CAP_STD, - .std = V4L2_STD_ALL, - }, - .subdev_name = "adv7343", - .output_route = ADV7343_SVIDEO_ID, - }, -}; - -static struct vpif_display_config da850_vpif_display_config = { - .subdevinfo = da850_vpif_subdev, - .subdev_count = ARRAY_SIZE(da850_vpif_subdev), - .chan_config[0] = { - .outputs = da850_ch0_outputs, - .output_count = ARRAY_SIZE(da850_ch0_outputs), - }, - .card_name = "DA850/OMAP-L138 Video Display", -}; - -static __init void da850_vpif_init(void) -{ - int ret; - - ret = da850_register_vpif(); - if (ret) - pr_warn("da850_evm_init: VPIF setup failed: %d\n", ret); - - ret = davinci_cfg_reg_list(da850_vpif_capture_pins); - if (ret) - pr_warn("da850_evm_init: VPIF capture mux setup failed: %d\n", - ret); - - ret = da850_register_vpif_capture(&da850_vpif_capture_config); - if (ret) - pr_warn("da850_evm_init: VPIF capture setup failed: %d\n", ret); - - ret = davinci_cfg_reg_list(da850_vpif_display_pins); - if (ret) - pr_warn("da850_evm_init: VPIF display mux setup failed: %d\n", - ret); - - ret = da850_register_vpif_display(&da850_vpif_display_config); - if (ret) - pr_warn("da850_evm_init: VPIF display setup failed: %d\n", ret); -} - -#else -static __init void da850_vpif_init(void) {} -#endif - #ifdef CONFIG_DA850_WL12XX static void wl12xx_set_power(int index, bool power_on) @@ -1552,8 +1375,6 @@ static __init void da850_evm_init(void) pr_warning("da850_evm_init: suspend registration failed: %d\n", ret); - da850_vpif_init(); - ret = da8xx_register_spi(1, da850evm_spi_info, ARRAY_SIZE(da850evm_spi_info)); if (ret) diff --git a/trunk/arch/arm/mach-davinci/board-dm644x-evm.c b/trunk/arch/arm/mach-davinci/board-dm644x-evm.c index f22572cee49d..ca72fc4b8cca 100644 --- a/trunk/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/trunk/arch/arm/mach-davinci/board-dm644x-evm.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include @@ -621,7 +620,7 @@ static struct vpbe_enc_mode_info dm644xevm_enc_std_timing[] = { { .name = "ntsc", .timings_type = VPBE_ENC_STD, - .std_id = V4L2_STD_525_60, + .timings = {V4L2_STD_525_60}, .interlaced = 1, .xres = 720, .yres = 480, @@ -633,7 +632,7 @@ static struct vpbe_enc_mode_info dm644xevm_enc_std_timing[] = { { .name = "pal", .timings_type = VPBE_ENC_STD, - .std_id = V4L2_STD_625_50, + .timings = {V4L2_STD_625_50}, .interlaced = 1, .xres = 720, .yres = 576, @@ -648,8 +647,8 @@ static struct vpbe_enc_mode_info dm644xevm_enc_std_timing[] = { static struct vpbe_enc_mode_info dm644xevm_enc_preset_timing[] = { { .name = "480p59_94", - .timings_type = VPBE_ENC_CUSTOM_TIMINGS, - .dv_timings = V4L2_DV_BT_CEA_720X480P59_94, + .timings_type = VPBE_ENC_DV_PRESET, + .timings = {V4L2_DV_480P59_94}, .interlaced = 0, .xres = 720, .yres = 480, @@ -660,8 +659,8 @@ static struct vpbe_enc_mode_info dm644xevm_enc_preset_timing[] = { }, { .name = "576p50", - .timings_type = VPBE_ENC_CUSTOM_TIMINGS, - .dv_timings = V4L2_DV_BT_CEA_720X576P50, + .timings_type = VPBE_ENC_DV_PRESET, + .timings = {V4L2_DV_576P50}, .interlaced = 0, .xres = 720, .yres = 576, @@ -699,7 +698,7 @@ static struct vpbe_output dm644xevm_vpbe_outputs[] = { .index = 1, .name = "Component", .type = V4L2_OUTPUT_TYPE_ANALOG, - .capabilities = V4L2_OUT_CAP_DV_TIMINGS, + .capabilities = V4L2_OUT_CAP_PRESETS, }, .subdev_name = VPBE_VENC_SUBDEV_NAME, .default_mode = "480p59_94", diff --git a/trunk/arch/arm/mach-davinci/board-dm646x-evm.c b/trunk/arch/arm/mach-davinci/board-dm646x-evm.c index 1dbf85beed1b..9944367b4931 100644 --- a/trunk/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/trunk/arch/arm/mach-davinci/board-dm646x-evm.c @@ -26,7 +26,6 @@ #include #include -#include #include #include @@ -497,49 +496,18 @@ static struct vpif_subdev_info dm646x_vpif_subdev[] = { }, }; -static const struct vpif_output dm6467_ch0_outputs[] = { - { - .output = { - .index = 0, - .name = "Composite", - .type = V4L2_OUTPUT_TYPE_ANALOG, - .capabilities = V4L2_OUT_CAP_STD, - .std = V4L2_STD_ALL, - }, - .subdev_name = "adv7343", - .output_route = ADV7343_COMPOSITE_ID, - }, - { - .output = { - .index = 1, - .name = "Component", - .type = V4L2_OUTPUT_TYPE_ANALOG, - .capabilities = V4L2_OUT_CAP_CUSTOM_TIMINGS, - }, - .subdev_name = "adv7343", - .output_route = ADV7343_COMPONENT_ID, - }, - { - .output = { - .index = 2, - .name = "S-Video", - .type = V4L2_OUTPUT_TYPE_ANALOG, - .capabilities = V4L2_OUT_CAP_STD, - .std = V4L2_STD_ALL, - }, - .subdev_name = "adv7343", - .output_route = ADV7343_SVIDEO_ID, - }, +static const char *output[] = { + "Composite", + "Component", + "S-Video", }; static struct vpif_display_config dm646x_vpif_display_config = { .set_clock = set_vpif_clock, .subdevinfo = dm646x_vpif_subdev, .subdev_count = ARRAY_SIZE(dm646x_vpif_subdev), - .chan_config[0] = { - .outputs = dm6467_ch0_outputs, - .output_count = ARRAY_SIZE(dm6467_ch0_outputs), - }, + .output = output, + .output_count = ARRAY_SIZE(output), .card_name = "DM646x EVM", }; @@ -633,6 +601,15 @@ static struct vpif_subdev_info vpif_capture_sdev_info[] = { I2C_BOARD_INFO("tvp5146", 0x5d), .platform_data = &tvp5146_pdata, }, + .input = INPUT_CVBS_VI2B, + .output = OUTPUT_10BIT_422_EMBEDDED_SYNC, + .can_route = 1, + .vpif_if = { + .if_type = VPIF_IF_BT656, + .hd_pol = 1, + .vd_pol = 1, + .fid_pol = 0, + }, }, { .name = TVP5147_CH1, @@ -640,6 +617,15 @@ static struct vpif_subdev_info vpif_capture_sdev_info[] = { I2C_BOARD_INFO("tvp5146", 0x5c), .platform_data = &tvp5146_pdata, }, + .input = INPUT_SVIDEO_VI2C_VI1C, + .output = OUTPUT_10BIT_422_EMBEDDED_SYNC, + .can_route = 1, + .vpif_if = { + .if_type = VPIF_IF_BT656, + .hd_pol = 1, + .vd_pol = 1, + .fid_pol = 0, + }, }, }; @@ -649,12 +635,9 @@ static const struct vpif_input dm6467_ch0_inputs[] = { .index = 0, .name = "Composite", .type = V4L2_INPUT_TYPE_CAMERA, - .capabilities = V4L2_IN_CAP_STD, .std = TVP514X_STD_ALL, }, .subdev_name = TVP5147_CH0, - .input_route = INPUT_CVBS_VI2B, - .output_route = OUTPUT_10BIT_422_EMBEDDED_SYNC, }, }; @@ -664,12 +647,9 @@ static const struct vpif_input dm6467_ch1_inputs[] = { .index = 0, .name = "S-Video", .type = V4L2_INPUT_TYPE_CAMERA, - .capabilities = V4L2_IN_CAP_STD, .std = TVP514X_STD_ALL, }, .subdev_name = TVP5147_CH1, - .input_route = INPUT_SVIDEO_VI2C_VI1C, - .output_route = OUTPUT_10BIT_422_EMBEDDED_SYNC, }, }; @@ -681,22 +661,10 @@ static struct vpif_capture_config dm646x_vpif_capture_cfg = { .chan_config[0] = { .inputs = dm6467_ch0_inputs, .input_count = ARRAY_SIZE(dm6467_ch0_inputs), - .vpif_if = { - .if_type = VPIF_IF_BT656, - .hd_pol = 1, - .vd_pol = 1, - .fid_pol = 0, - }, }, .chan_config[1] = { .inputs = dm6467_ch1_inputs, .input_count = ARRAY_SIZE(dm6467_ch1_inputs), - .vpif_if = { - .if_type = VPIF_IF_BT656, - .hd_pol = 1, - .vd_pol = 1, - .fid_pol = 0, - }, }, }; diff --git a/trunk/arch/arm/mach-davinci/da850.c b/trunk/arch/arm/mach-davinci/da850.c index b90c172d5541..6676dee7104e 100644 --- a/trunk/arch/arm/mach-davinci/da850.c +++ b/trunk/arch/arm/mach-davinci/da850.c @@ -347,13 +347,6 @@ static struct clk spi1_clk = { .flags = DA850_CLK_ASYNC3, }; -static struct clk vpif_clk = { - .name = "vpif", - .parent = &pll0_sysclk2, - .lpsc = DA850_LPSC1_VPIF, - .gpsc = 1, -}; - static struct clk sata_clk = { .name = "sata", .parent = &pll0_sysclk2, @@ -404,7 +397,6 @@ static struct clk_lookup da850_clks[] = { CLK(NULL, "usb20", &usb20_clk), CLK("spi_davinci.0", NULL, &spi0_clk), CLK("spi_davinci.1", NULL, &spi1_clk), - CLK("vpif", NULL, &vpif_clk), CLK("ahci", NULL, &sata_clk), CLK(NULL, NULL, NULL), }; @@ -581,46 +573,6 @@ static const struct mux_config da850_pins[] = { MUX_CFG(DA850, GPIO6_10, 13, 20, 15, 8, false) MUX_CFG(DA850, GPIO6_13, 13, 8, 15, 8, false) MUX_CFG(DA850, RTC_ALARM, 0, 28, 15, 2, false) - /* VPIF Capture */ - MUX_CFG(DA850, VPIF_DIN0, 15, 4, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN1, 15, 0, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN2, 14, 28, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN3, 14, 24, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN4, 14, 20, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN5, 14, 16, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN6, 14, 12, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN7, 14, 8, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN8, 16, 4, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN9, 16, 0, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN10, 15, 28, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN11, 15, 24, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN12, 15, 20, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN13, 15, 16, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN14, 15, 12, 15, 1, false) - MUX_CFG(DA850, VPIF_DIN15, 15, 8, 15, 1, false) - MUX_CFG(DA850, VPIF_CLKIN0, 14, 0, 15, 1, false) - MUX_CFG(DA850, VPIF_CLKIN1, 14, 4, 15, 1, false) - MUX_CFG(DA850, VPIF_CLKIN2, 19, 8, 15, 1, false) - MUX_CFG(DA850, VPIF_CLKIN3, 19, 16, 15, 1, false) - /* VPIF Display */ - MUX_CFG(DA850, VPIF_DOUT0, 17, 4, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT1, 17, 0, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT2, 16, 28, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT3, 16, 24, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT4, 16, 20, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT5, 16, 16, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT6, 16, 12, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT7, 16, 8, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT8, 18, 4, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT9, 18, 0, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT10, 17, 28, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT11, 17, 24, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT12, 17, 20, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT13, 17, 16, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT14, 17, 12, 15, 1, false) - MUX_CFG(DA850, VPIF_DOUT15, 17, 8, 15, 1, false) - MUX_CFG(DA850, VPIF_CLKO2, 19, 12, 15, 1, false) - MUX_CFG(DA850, VPIF_CLKO3, 19, 20, 15, 1, false) #endif }; @@ -643,26 +595,6 @@ const short da850_lcdcntl_pins[] __initconst = { -1 }; -const short da850_vpif_capture_pins[] __initdata = { - DA850_VPIF_DIN0, DA850_VPIF_DIN1, DA850_VPIF_DIN2, DA850_VPIF_DIN3, - DA850_VPIF_DIN4, DA850_VPIF_DIN5, DA850_VPIF_DIN6, DA850_VPIF_DIN7, - DA850_VPIF_DIN8, DA850_VPIF_DIN9, DA850_VPIF_DIN10, DA850_VPIF_DIN11, - DA850_VPIF_DIN12, DA850_VPIF_DIN13, DA850_VPIF_DIN14, DA850_VPIF_DIN15, - DA850_VPIF_CLKIN0, DA850_VPIF_CLKIN1, DA850_VPIF_CLKIN2, - DA850_VPIF_CLKIN3, - -1 -}; - -const short da850_vpif_display_pins[] __initdata = { - DA850_VPIF_DOUT0, DA850_VPIF_DOUT1, DA850_VPIF_DOUT2, DA850_VPIF_DOUT3, - DA850_VPIF_DOUT4, DA850_VPIF_DOUT5, DA850_VPIF_DOUT6, DA850_VPIF_DOUT7, - DA850_VPIF_DOUT8, DA850_VPIF_DOUT9, DA850_VPIF_DOUT10, - DA850_VPIF_DOUT11, DA850_VPIF_DOUT12, DA850_VPIF_DOUT13, - DA850_VPIF_DOUT14, DA850_VPIF_DOUT15, DA850_VPIF_CLKO2, - DA850_VPIF_CLKO3, - -1 -}; - /* FIQ are pri 0-1; otherwise 2-7, with 7 lowest priority */ static u8 da850_default_priorities[DA850_N_CP_INTC_IRQ] = { [IRQ_DA8XX_COMMTX] = 7, @@ -1007,7 +939,7 @@ static struct platform_device da850_cpufreq_device = { unsigned int da850_max_speed = 300000; -int da850_register_cpufreq(char *async_clk) +int __init da850_register_cpufreq(char *async_clk) { int i; @@ -1132,90 +1064,6 @@ int __init da850_register_pm(struct platform_device *pdev) return ret; } -/* VPIF resource, platform data */ -static u64 da850_vpif_dma_mask = DMA_BIT_MASK(32); - -static struct resource da850_vpif_resource[] = { - { - .start = DA8XX_VPIF_BASE, - .end = DA8XX_VPIF_BASE + 0xfff, - .flags = IORESOURCE_MEM, - } -}; - -static struct platform_device da850_vpif_dev = { - .name = "vpif", - .id = -1, - .dev = { - .dma_mask = &da850_vpif_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = da850_vpif_resource, - .num_resources = ARRAY_SIZE(da850_vpif_resource), -}; - -static struct resource da850_vpif_display_resource[] = { - { - .start = IRQ_DA850_VPIFINT, - .end = IRQ_DA850_VPIFINT, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct platform_device da850_vpif_display_dev = { - .name = "vpif_display", - .id = -1, - .dev = { - .dma_mask = &da850_vpif_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = da850_vpif_display_resource, - .num_resources = ARRAY_SIZE(da850_vpif_display_resource), -}; - -static struct resource da850_vpif_capture_resource[] = { - { - .start = IRQ_DA850_VPIFINT, - .end = IRQ_DA850_VPIFINT, - .flags = IORESOURCE_IRQ, - }, - { - .start = IRQ_DA850_VPIFINT, - .end = IRQ_DA850_VPIFINT, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct platform_device da850_vpif_capture_dev = { - .name = "vpif_capture", - .id = -1, - .dev = { - .dma_mask = &da850_vpif_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = da850_vpif_capture_resource, - .num_resources = ARRAY_SIZE(da850_vpif_capture_resource), -}; - -int __init da850_register_vpif(void) -{ - return platform_device_register(&da850_vpif_dev); -} - -int __init da850_register_vpif_display(struct vpif_display_config - *display_config) -{ - da850_vpif_display_dev.dev.platform_data = display_config; - return platform_device_register(&da850_vpif_display_dev); -} - -int __init da850_register_vpif_capture(struct vpif_capture_config - *capture_config) -{ - da850_vpif_capture_dev.dev.platform_data = capture_config; - return platform_device_register(&da850_vpif_capture_dev); -} - static struct davinci_soc_info davinci_soc_info_da850 = { .io_desc = da850_io_desc, .io_desc_num = ARRAY_SIZE(da850_io_desc), diff --git a/trunk/arch/arm/mach-davinci/dm644x.c b/trunk/arch/arm/mach-davinci/dm644x.c index cd0c8b1e1ecf..0755d466221a 100644 --- a/trunk/arch/arm/mach-davinci/dm644x.c +++ b/trunk/arch/arm/mach-davinci/dm644x.c @@ -701,7 +701,7 @@ static struct resource dm644x_venc_resources[] = { #define DM644X_VPSS_DACCLKEN BIT(4) static int dm644x_venc_setup_clock(enum vpbe_enc_timings_type type, - unsigned int pclock) + unsigned int mode) { int ret = 0; u32 v = DM644X_VPSS_VENCLKEN; @@ -711,18 +711,27 @@ static int dm644x_venc_setup_clock(enum vpbe_enc_timings_type type, v |= DM644X_VPSS_DACCLKEN; writel(v, DAVINCI_SYSMOD_VIRT(SYSMOD_VPSS_CLKCTL)); break; - case VPBE_ENC_CUSTOM_TIMINGS: - if (pclock <= 27000000) { + case VPBE_ENC_DV_PRESET: + switch (mode) { + case V4L2_DV_480P59_94: + case V4L2_DV_576P50: v |= DM644X_VPSS_MUXSEL_PLL2_MODE | DM644X_VPSS_DACCLKEN; writel(v, DAVINCI_SYSMOD_VIRT(SYSMOD_VPSS_CLKCTL)); - } else { + break; + case V4L2_DV_720P60: + case V4L2_DV_1080I60: + case V4L2_DV_1080P30: /* * For HD, use external clock source since * HD requires higher clock rate */ v |= DM644X_VPSS_MUXSEL_VPBECLK_MODE; writel(v, DAVINCI_SYSMOD_VIRT(SYSMOD_VPSS_CLKCTL)); + break; + default: + ret = -EINVAL; + break; } break; default: diff --git a/trunk/arch/arm/mach-davinci/include/mach/da8xx.h b/trunk/arch/arm/mach-davinci/include/mach/da8xx.h index aaccdc4528fc..c9ee723c56f3 100644 --- a/trunk/arch/arm/mach-davinci/include/mach/da8xx.h +++ b/trunk/arch/arm/mach-davinci/include/mach/da8xx.h @@ -17,7 +17,6 @@ #include #include #include -#include #include #include @@ -27,8 +26,6 @@ #include #include -#include - extern void __iomem *da8xx_syscfg0_base; extern void __iomem *da8xx_syscfg1_base; @@ -66,7 +63,6 @@ extern unsigned int da850_max_speed; #define DA8XX_PLL0_BASE 0x01c11000 #define DA8XX_TIMER64P0_BASE 0x01c20000 #define DA8XX_TIMER64P1_BASE 0x01c21000 -#define DA8XX_VPIF_BASE 0x01e17000 #define DA8XX_GPIO_BASE 0x01e26000 #define DA8XX_PSC1_BASE 0x01e27000 #define DA8XX_AEMIF_CS2_BASE 0x60000000 @@ -96,11 +92,6 @@ int da8xx_register_cpuidle(void); void __iomem * __init da8xx_get_mem_ctlr(void); int da850_register_pm(struct platform_device *pdev); int __init da850_register_sata(unsigned long refclkpn); -int __init da850_register_vpif(void); -int __init da850_register_vpif_display - (struct vpif_display_config *display_config); -int __init da850_register_vpif_capture - (struct vpif_capture_config *capture_config); void da8xx_restart(char mode, const char *cmd); extern struct platform_device da8xx_serial_device; @@ -135,8 +126,6 @@ extern const short da830_ecap1_pins[]; extern const short da830_ecap2_pins[]; extern const short da830_eqep0_pins[]; extern const short da830_eqep1_pins[]; -extern const short da850_vpif_capture_pins[]; -extern const short da850_vpif_display_pins[]; extern const short da850_i2c0_pins[]; extern const short da850_i2c1_pins[]; diff --git a/trunk/arch/arm/mach-davinci/include/mach/mux.h b/trunk/arch/arm/mach-davinci/include/mach/mux.h index 9e95b8a1edb6..a7e92fca32e6 100644 --- a/trunk/arch/arm/mach-davinci/include/mach/mux.h +++ b/trunk/arch/arm/mach-davinci/include/mach/mux.h @@ -928,48 +928,6 @@ enum davinci_da850_index { DA850_GPIO6_10, DA850_GPIO6_13, DA850_RTC_ALARM, - - /* VPIF Capture */ - DA850_VPIF_DIN0, - DA850_VPIF_DIN1, - DA850_VPIF_DIN2, - DA850_VPIF_DIN3, - DA850_VPIF_DIN4, - DA850_VPIF_DIN5, - DA850_VPIF_DIN6, - DA850_VPIF_DIN7, - DA850_VPIF_DIN8, - DA850_VPIF_DIN9, - DA850_VPIF_DIN10, - DA850_VPIF_DIN11, - DA850_VPIF_DIN12, - DA850_VPIF_DIN13, - DA850_VPIF_DIN14, - DA850_VPIF_DIN15, - DA850_VPIF_CLKIN0, - DA850_VPIF_CLKIN1, - DA850_VPIF_CLKIN2, - DA850_VPIF_CLKIN3, - - /* VPIF Display */ - DA850_VPIF_DOUT0, - DA850_VPIF_DOUT1, - DA850_VPIF_DOUT2, - DA850_VPIF_DOUT3, - DA850_VPIF_DOUT4, - DA850_VPIF_DOUT5, - DA850_VPIF_DOUT6, - DA850_VPIF_DOUT7, - DA850_VPIF_DOUT8, - DA850_VPIF_DOUT9, - DA850_VPIF_DOUT10, - DA850_VPIF_DOUT11, - DA850_VPIF_DOUT12, - DA850_VPIF_DOUT13, - DA850_VPIF_DOUT14, - DA850_VPIF_DOUT15, - DA850_VPIF_CLKO2, - DA850_VPIF_CLKO3, }; enum davinci_tnetv107x_index { diff --git a/trunk/arch/arm/mach-davinci/include/mach/psc.h b/trunk/arch/arm/mach-davinci/include/mach/psc.h index 40a0027838e8..405318e35bf6 100644 --- a/trunk/arch/arm/mach-davinci/include/mach/psc.h +++ b/trunk/arch/arm/mach-davinci/include/mach/psc.h @@ -166,7 +166,6 @@ #define DA830_LPSC1_McASP1 8 #define DA850_LPSC1_SATA 8 #define DA830_LPSC1_McASP2 9 -#define DA850_LPSC1_VPIF 9 #define DA8XX_LPSC1_SPI1 10 #define DA8XX_LPSC1_I2C 11 #define DA8XX_LPSC1_UART1 12 diff --git a/trunk/arch/arm/mach-exynos/mach-nuri.c b/trunk/arch/arm/mach-exynos/mach-nuri.c index c05d7aa84031..480cd78f1920 100644 --- a/trunk/arch/arm/mach-exynos/mach-nuri.c +++ b/trunk/arch/arm/mach-exynos/mach-nuri.c @@ -29,7 +29,6 @@ #include #include