From 2de7582fa8bfa32cabfde7acc2374b21913abac2 Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 9 Oct 2012 09:47:14 +0100 Subject: [PATCH] --- yaml --- r: 334342 b: refs/heads/master c: 61730c538f8281efa7ac12596da9f3f9a31b9272 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/ABI/testing/sysfs-block | 14 - trunk/Documentation/DocBook/mtdnand.tmpl | 2 + trunk/Documentation/block/biodoc.txt | 5 + .../devicetree/bindings/arm/davinci/nand.txt | 51 - .../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 +- .../devicetree/bindings/mmc/atmel-hsmci.txt | 68 -- .../bindings/mmc/exynos-dw-mshc.txt | 87 -- .../devicetree/bindings/mmc/mmc.txt | 9 +- .../devicetree/bindings/mmc/pxa-mmc.txt | 25 - .../devicetree/bindings/mmc/samsung-sdhci.txt | 53 - .../devicetree/bindings/mmc/sdhci-dove.txt | 14 - .../devicetree/bindings/mmc/sdhci-spear.txt | 18 - .../bindings/mmc/synposis-dw-mshc.txt | 79 -- .../devicetree/bindings/mtd/atmel-nand.txt | 40 +- .../devicetree/bindings/mtd/gpmi-nand.txt | 4 - .../devicetree/bindings/mtd/lpc32xx-mlc.txt | 50 - .../devicetree/bindings/mtd/lpc32xx-slc.txt | 52 - .../devicetree/bindings/mtd/mtd-physmap.txt | 7 - .../devicetree/bindings/pwm/imx-pwm.txt | 17 - .../devicetree/bindings/pwm/mxs-pwm.txt | 2 +- .../bindings/pwm/nvidia,tegra20-pwm.txt | 2 +- .../timer/brcm,bcm2835-system-timer.txt | 2 +- trunk/Documentation/driver-model/devres.txt | 4 - 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/leds/leds-lp5523.txt | 21 +- trunk/Documentation/percpu-rw-semaphore.txt | 27 - trunk/Documentation/pwm.txt | 3 +- trunk/Documentation/target/tcm_mod_builder.py | 16 + .../virtual/uml/UserModeLinux-HOWTO.txt | 2 +- trunk/MAINTAINERS | 6 +- trunk/arch/Kconfig | 3 - trunk/arch/alpha/Kconfig | 1 - trunk/arch/alpha/include/asm/Kbuild | 1 - trunk/arch/alpha/include/asm/exec.h | 6 + trunk/arch/alpha/include/asm/processor.h | 3 + trunk/arch/alpha/include/asm/unistd.h | 2 - trunk/arch/alpha/kernel/alpha_ksyms.c | 3 + trunk/arch/alpha/kernel/entry.S | 69 +- trunk/arch/alpha/kernel/process.c | 79 +- trunk/arch/arm/Kconfig | 4 +- 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/imx51.dtsi | 7 - trunk/arch/arm/boot/dts/imx53.dtsi | 7 - 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/spear300-evb.dts | 3 +- trunk/arch/arm/boot/dts/spear320-evb.dts | 2 + 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/configs/cam60_defconfig | 1 + trunk/arch/arm/configs/corgi_defconfig | 1 + trunk/arch/arm/configs/ep93xx_defconfig | 1 + trunk/arch/arm/configs/mini2440_defconfig | 1 + trunk/arch/arm/configs/mv78xx0_defconfig | 1 + trunk/arch/arm/configs/nhk8815_defconfig | 1 + trunk/arch/arm/configs/orion5x_defconfig | 1 + trunk/arch/arm/configs/pxa3xx_defconfig | 1 + trunk/arch/arm/configs/spitz_defconfig | 1 + trunk/arch/arm/include/asm/processor.h | 5 + trunk/arch/arm/include/asm/ptrace.h | 5 - trunk/arch/arm/include/asm/system.h | 1 + trunk/arch/arm/include/asm/unistd.h | 2 - trunk/arch/arm/kernel/calls.S | 2 +- trunk/arch/arm/kernel/entry-common.S | 29 +- trunk/arch/arm/kernel/process.c | 75 +- trunk/arch/arm/kernel/sys_arm.c | 63 + 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-clps711x/autcpu12.c | 19 - trunk/arch/arm/mach-davinci/da850.c | 2 +- trunk/arch/arm/mach-exynos/dma.c | 2 - .../arm/mach-footbridge/include/mach/irqs.h | 2 + trunk/arch/arm/mach-imx/clk-imx51-imx53.c | 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 | 26 - 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 | 18 +- .../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 | 2 +- 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 | 2 +- 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/simtec-usb.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-spear13xx/spear13xx.c | 3 - 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 +- .../arm/plat-mxc/devices/platform-mxc_nand.c | 11 +- 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 +- trunk/arch/avr32/include/asm/Kbuild | 1 - trunk/arch/avr32/include/asm/exec.h | 13 + trunk/arch/avr32/mach-at32ap/at32ap700x.c | 3 - .../blackfin/configs/BF561-ACVILON_defconfig | 1 + trunk/arch/c6x/include/asm/Kbuild | 1 - trunk/arch/c6x/include/asm/exec.h | 6 + trunk/arch/cris/include/asm/Kbuild | 1 - trunk/arch/cris/include/asm/exec.h | 6 + trunk/arch/frv/include/asm/Kbuild | 1 - trunk/arch/frv/include/asm/exec.h | 17 + trunk/arch/h8300/include/asm/Kbuild | 3 +- trunk/arch/h8300/include/asm/exec.h | 6 + trunk/arch/hexagon/kernel/syscall.c | 1 + trunk/arch/ia64/include/asm/Kbuild | 1 - trunk/arch/ia64/include/asm/exec.h | 14 + trunk/arch/m32r/include/asm/Kbuild | 3 +- trunk/arch/m32r/include/asm/exec.h | 14 + trunk/arch/m68k/include/asm/Kbuild | 1 - trunk/arch/m68k/include/asm/exec.h | 6 + trunk/arch/microblaze/include/asm/Kbuild | 1 - trunk/arch/microblaze/include/asm/exec.h | 14 + trunk/arch/mips/Kconfig | 14 +- trunk/arch/mips/alchemy/Kconfig | 50 +- trunk/arch/mips/alchemy/Platform | 22 +- trunk/arch/mips/alchemy/devboards/Makefile | 7 +- trunk/arch/mips/alchemy/devboards/db1000.c | 120 +- trunk/arch/mips/alchemy/devboards/db1200.c | 37 +- trunk/arch/mips/alchemy/devboards/db1235.c | 94 -- trunk/arch/mips/alchemy/devboards/db1300.c | 12 +- trunk/arch/mips/alchemy/devboards/db1550.c | 192 +-- trunk/arch/mips/alchemy/devboards/pb1100.c | 167 +++ trunk/arch/mips/alchemy/devboards/pb1500.c | 198 ++++ trunk/arch/mips/alchemy/devboards/pb1550.c | 244 ++++ trunk/arch/mips/alchemy/devboards/platform.c | 9 +- .../arch/mips/boot/compressed/uart-alchemy.c | 4 + trunk/arch/mips/configs/db1200_defconfig | 170 +++ trunk/arch/mips/configs/db1235_defconfig | 434 ------- trunk/arch/mips/configs/db1300_defconfig | 391 +++++++ trunk/arch/mips/configs/db1550_defconfig | 285 +++++ trunk/arch/mips/configs/pb1100_defconfig | 124 ++ trunk/arch/mips/configs/pb1500_defconfig | 141 +++ trunk/arch/mips/configs/pb1550_defconfig | 145 +++ trunk/arch/mips/configs/rb532_defconfig | 1 + trunk/arch/mips/include/asm/Kbuild | 5 - trunk/arch/mips/include/asm/atomic.h | 64 +- trunk/arch/mips/include/asm/cpu-features.h | 8 - trunk/arch/mips/include/asm/cpu.h | 4 +- trunk/arch/mips/include/asm/errno.h | 120 +- trunk/arch/mips/include/asm/kspd.h | 4 + .../asm/mach-ath79/cpu-feature-overrides.h | 2 - .../asm/mach-au1x00/cpu-feature-overrides.h | 1 - .../asm/mach-bcm63xx/cpu-feature-overrides.h | 1 - .../cpu-feature-overrides.h | 1 - .../asm/mach-cobalt/cpu-feature-overrides.h | 1 - .../arch/mips/include/asm/mach-db1x00/bcsr.h | 2 - .../asm/mach-ip22/cpu-feature-overrides.h | 1 - .../asm/mach-ip27/cpu-feature-overrides.h | 1 - .../asm/mach-ip28/cpu-feature-overrides.h | 1 - .../asm/mach-ip32/cpu-feature-overrides.h | 1 - .../asm/mach-jz4740/cpu-feature-overrides.h | 1 - .../mips/include/asm/mach-jz4740/platform.h | 1 - .../arch/mips/include/asm/mach-jz4740/timer.h | 113 -- .../asm/mach-loongson/cpu-feature-overrides.h | 1 - .../asm/mach-netlogic/cpu-feature-overrides.h | 1 - .../asm/mach-powertv/cpu-feature-overrides.h | 1 - .../asm/mach-rc32434/cpu-feature-overrides.h | 1 - .../asm/mach-rm/cpu-feature-overrides.h | 1 - .../asm/mach-sibyte/cpu-feature-overrides.h | 1 - .../asm/mach-tx49xx/cpu-feature-overrides.h | 1 - .../asm/mach-yosemite/cpu-feature-overrides.h | 1 - trunk/arch/mips/include/asm/mipsregs.h | 3 - trunk/arch/mips/include/asm/pgtable-64.h | 1 + .../msp71xx/cpu-feature-overrides.h | 1 - trunk/arch/mips/include/asm/ptrace.h | 107 +- trunk/arch/mips/include/asm/setup.h | 5 +- trunk/arch/mips/include/asm/sigcontext.h | 66 +- trunk/arch/mips/include/asm/siginfo.h | 104 +- trunk/arch/mips/include/asm/signal.h | 115 +- trunk/arch/mips/include/asm/socket.h | 83 +- trunk/arch/mips/include/asm/termios.h | 73 +- trunk/arch/mips/include/asm/types.h | 16 +- trunk/arch/mips/include/asm/unistd.h | 1022 +--------------- trunk/arch/mips/include/uapi/asm/Kbuild | 34 + .../arch/mips/include/{ => uapi}/asm/auxvec.h | 0 .../mips/include/{ => uapi}/asm/bitsperlong.h | 0 .../mips/include/{ => uapi}/asm/byteorder.h | 0 .../mips/include/{ => uapi}/asm/cachectl.h | 0 trunk/arch/mips/include/uapi/asm/errno.h | 129 ++ .../arch/mips/include/{ => uapi}/asm/fcntl.h | 0 .../arch/mips/include/{ => uapi}/asm/ioctl.h | 0 .../arch/mips/include/{ => uapi}/asm/ioctls.h | 0 .../arch/mips/include/{ => uapi}/asm/ipcbuf.h | 0 .../mips/include/{ => uapi}/asm/kvm_para.h | 0 trunk/arch/mips/include/{ => uapi}/asm/mman.h | 0 .../arch/mips/include/{ => uapi}/asm/msgbuf.h | 0 .../arch/mips/include/{ => uapi}/asm/param.h | 0 trunk/arch/mips/include/{ => uapi}/asm/poll.h | 0 .../mips/include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/mips/include/uapi/asm/ptrace.h | 116 ++ .../mips/include/{ => uapi}/asm/resource.h | 0 .../arch/mips/include/{ => uapi}/asm/sembuf.h | 0 trunk/arch/mips/include/uapi/asm/setup.h | 7 + .../mips/include/{ => uapi}/asm/sgidefs.h | 0 .../arch/mips/include/{ => uapi}/asm/shmbuf.h | 0 trunk/arch/mips/include/uapi/asm/sigcontext.h | 78 ++ trunk/arch/mips/include/uapi/asm/siginfo.h | 114 ++ trunk/arch/mips/include/uapi/asm/signal.h | 123 ++ trunk/arch/mips/include/uapi/asm/socket.h | 93 ++ .../mips/include/{ => uapi}/asm/sockios.h | 0 trunk/arch/mips/include/{ => uapi}/asm/stat.h | 0 .../arch/mips/include/{ => uapi}/asm/statfs.h | 0 trunk/arch/mips/include/{ => uapi}/asm/swab.h | 0 .../mips/include/{ => uapi}/asm/sysmips.h | 0 .../mips/include/{ => uapi}/asm/termbits.h | 0 trunk/arch/mips/include/uapi/asm/termios.h | 80 ++ trunk/arch/mips/include/uapi/asm/types.h | 27 + trunk/arch/mips/include/uapi/asm/unistd.h | 1035 ++++++++++++++++ trunk/arch/mips/jz4740/Kconfig | 3 + trunk/arch/mips/jz4740/Makefile | 2 +- trunk/arch/mips/jz4740/board-qi_lb60.c | 1 - trunk/arch/mips/jz4740/platform.c | 6 - trunk/arch/mips/jz4740/pwm.c | 177 +++ trunk/arch/mips/jz4740/time.c | 2 +- trunk/arch/mips/jz4740/timer.c | 4 +- trunk/arch/mips/jz4740/timer.h | 136 +++ trunk/arch/mips/kernel/Makefile | 1 + trunk/arch/mips/kernel/asm-offsets.c | 10 + trunk/arch/mips/kernel/cpu-probe.c | 11 +- trunk/arch/mips/kernel/kspd.c | 423 +++++++ trunk/arch/mips/kernel/perf_event_mipsxx.c | 262 +++-- trunk/arch/mips/kernel/proc.c | 19 +- trunk/arch/mips/kernel/vmlinux.lds.S | 21 +- trunk/arch/mips/kernel/vpe.c | 24 + trunk/arch/mips/mm/init.c | 17 +- trunk/arch/mips/mm/pgtable-64.c | 20 +- trunk/arch/mips/mm/tlbex.c | 23 +- trunk/arch/mips/pci/fixup-malta.c | 3 +- trunk/arch/mips/sni/a20r.c | 27 +- trunk/arch/mn10300/include/asm/Kbuild | 1 - trunk/arch/mn10300/include/asm/exec.h | 16 + trunk/arch/parisc/include/asm/Kbuild | 1 - trunk/arch/parisc/include/asm/exec.h | 6 + .../configs/83xx/mpc8313_rdb_defconfig | 1 + .../configs/83xx/mpc8315_rdb_defconfig | 1 + trunk/arch/powerpc/configs/mpc83xx_defconfig | 1 + .../platforms/pseries/hotplug-memory.c | 11 +- trunk/arch/s390/Kconfig | 1 - trunk/arch/s390/Kconfig.debug | 12 - trunk/arch/s390/include/asm/Kbuild | 14 + .../arch/s390/include/{uapi => }/asm/auxvec.h | 0 .../s390/include/{uapi => }/asm/bitsperlong.h | 0 .../s390/include/{uapi => }/asm/byteorder.h | 0 trunk/arch/s390/include/asm/chpid.h | 19 +- trunk/arch/s390/include/{uapi => }/asm/chsc.h | 10 +- trunk/arch/s390/include/asm/cmb.h | 51 +- trunk/arch/s390/include/asm/css_chars.h | 3 + trunk/arch/s390/include/{uapi => }/asm/dasd.h | 0 trunk/arch/s390/include/asm/debug.h | 28 +- .../arch/s390/include/{uapi => }/asm/errno.h | 0 .../arch/s390/include/{uapi => }/asm/fcntl.h | 0 .../arch/s390/include/{uapi => }/asm/ioctl.h | 0 .../arch/s390/include/{uapi => }/asm/ioctls.h | 0 .../arch/s390/include/{uapi => }/asm/ipcbuf.h | 0 trunk/arch/s390/include/{uapi => }/asm/kvm.h | 0 trunk/arch/s390/include/asm/kvm_para.h | 14 +- .../s390/include/{uapi => }/asm/kvm_virtio.h | 0 trunk/arch/s390/include/asm/mman.h | 6 +- .../s390/include/{uapi => }/asm/monwriter.h | 0 .../arch/s390/include/{uapi => }/asm/msgbuf.h | 0 trunk/arch/s390/include/asm/page.h | 14 +- .../arch/s390/include/{uapi => }/asm/param.h | 0 trunk/arch/s390/include/asm/pgtable.h | 30 +- trunk/arch/s390/include/{uapi => }/asm/poll.h | 0 .../s390/include/{uapi => }/asm/posix_types.h | 0 trunk/arch/s390/include/asm/processor.h | 4 +- trunk/arch/s390/include/asm/ptrace.h | 462 +++++++- trunk/arch/s390/include/{uapi => }/asm/qeth.h | 0 .../s390/include/{uapi => }/asm/resource.h | 0 trunk/arch/s390/include/asm/schid.h | 15 +- .../arch/s390/include/{uapi => }/asm/sembuf.h | 0 trunk/arch/s390/include/asm/setup.h | 21 +- .../arch/s390/include/{uapi => }/asm/shmbuf.h | 0 .../s390/include/{uapi => }/asm/sigcontext.h | 0 .../s390/include/{uapi => }/asm/siginfo.h | 0 trunk/arch/s390/include/asm/signal.h | 128 +- .../arch/s390/include/{uapi => }/asm/socket.h | 0 .../s390/include/{uapi => }/asm/sockios.h | 0 trunk/arch/s390/include/{uapi => }/asm/stat.h | 0 .../arch/s390/include/{uapi => }/asm/statfs.h | 0 trunk/arch/s390/include/{uapi => }/asm/swab.h | 0 .../s390/include/{uapi => }/asm/tape390.h | 0 .../s390/include/{uapi => }/asm/termbits.h | 0 trunk/arch/s390/include/asm/termios.h | 42 +- trunk/arch/s390/include/asm/types.h | 15 +- .../s390/include/{uapi => }/asm/ucontext.h | 0 trunk/arch/s390/include/asm/unistd.h | 369 +++++- trunk/arch/s390/include/{uapi => }/asm/vtoc.h | 0 .../arch/s390/include/{uapi => }/asm/zcrypt.h | 0 trunk/arch/s390/include/uapi/asm/Kbuild | 45 - trunk/arch/s390/include/uapi/asm/chpid.h | 22 - trunk/arch/s390/include/uapi/asm/cmb.h | 53 - trunk/arch/s390/include/uapi/asm/debug.h | 34 - trunk/arch/s390/include/uapi/asm/kvm_para.h | 0 trunk/arch/s390/include/uapi/asm/mman.h | 6 - trunk/arch/s390/include/uapi/asm/ptrace.h | 472 -------- trunk/arch/s390/include/uapi/asm/schid.h | 16 - trunk/arch/s390/include/uapi/asm/setup.h | 13 - trunk/arch/s390/include/uapi/asm/signal.h | 135 --- trunk/arch/s390/include/uapi/asm/termios.h | 49 - trunk/arch/s390/include/uapi/asm/types.h | 22 - trunk/arch/s390/include/uapi/asm/unistd.h | 374 ------ trunk/arch/s390/kernel/compat_linux.c | 26 + trunk/arch/s390/kernel/compat_linux.h | 2 + trunk/arch/s390/kernel/compat_wrapper.S | 2 +- trunk/arch/s390/kernel/early.c | 17 +- trunk/arch/s390/kernel/entry.S | 51 +- trunk/arch/s390/kernel/entry.h | 3 + trunk/arch/s390/kernel/entry64.S | 52 +- trunk/arch/s390/kernel/head.S | 101 +- trunk/arch/s390/kernel/head31.S | 3 + trunk/arch/s390/kernel/head64.S | 3 + trunk/arch/s390/kernel/module.c | 11 - trunk/arch/s390/kernel/process.c | 107 +- trunk/arch/s390/kernel/setup.c | 51 +- trunk/arch/s390/mm/Makefile | 1 - trunk/arch/s390/mm/dump_pagetables.c | 226 ---- trunk/arch/s390/mm/pageattr.c | 40 +- trunk/arch/s390/mm/vmem.c | 45 +- trunk/arch/sh/include/asm/Kbuild | 1 - trunk/arch/sh/include/asm/exec.h | 10 + trunk/arch/sparc/include/asm/Kbuild | 17 +- trunk/arch/sparc/include/{uapi => }/asm/apc.h | 0 trunk/arch/sparc/include/{uapi => }/asm/asi.h | 0 .../sparc/include/{uapi => }/asm/auxvec.h | 0 .../include/{uapi => }/asm/bitsperlong.h | 0 .../sparc/include/{uapi => }/asm/byteorder.h | 0 .../include/{uapi => }/asm/display7seg.h | 0 .../sparc/include/{uapi => }/asm/envctrl.h | 0 .../arch/sparc/include/{uapi => }/asm/errno.h | 0 trunk/arch/sparc/include/asm/exec.h | 6 + trunk/arch/sparc/include/asm/fbio.h | 260 ++++- .../arch/sparc/include/{uapi => }/asm/fcntl.h | 0 .../arch/sparc/include/{uapi => }/asm/ioctl.h | 0 trunk/arch/sparc/include/asm/ioctls.h | 129 +- .../sparc/include/{uapi => }/asm/ipcbuf.h | 0 .../sparc/include/{uapi => }/asm/jsflash.h | 0 .../sparc/include/{uapi => }/asm/kvm_para.h | 0 trunk/arch/sparc/include/asm/mman.h | 25 +- .../sparc/include/{uapi => }/asm/msgbuf.h | 0 .../sparc/include/{uapi => }/asm/openpromio.h | 0 .../arch/sparc/include/{uapi => }/asm/param.h | 0 .../sparc/include/{uapi => }/asm/perfctr.h | 0 .../arch/sparc/include/{uapi => }/asm/poll.h | 0 .../include/{uapi => }/asm/posix_types.h | 0 trunk/arch/sparc/include/asm/psr.h | 36 +- .../sparc/include/{uapi => }/asm/psrcompat.h | 0 .../sparc/include/{uapi => }/asm/pstate.h | 0 trunk/arch/sparc/include/asm/ptrace.h | 347 +++++- .../sparc/include/{uapi => }/asm/resource.h | 0 .../sparc/include/{uapi => }/asm/sembuf.h | 0 trunk/arch/sparc/include/asm/setup.h | 10 +- .../sparc/include/{uapi => }/asm/shmbuf.h | 0 trunk/arch/sparc/include/asm/sigcontext.h | 4 +- trunk/arch/sparc/include/asm/siginfo.h | 23 +- trunk/arch/sparc/include/asm/signal.h | 185 ++- .../sparc/include/{uapi => }/asm/socket.h | 0 .../sparc/include/{uapi => }/asm/sockios.h | 0 .../arch/sparc/include/{uapi => }/asm/stat.h | 0 .../sparc/include/{uapi => }/asm/statfs.h | 0 .../arch/sparc/include/{uapi => }/asm/swab.h | 0 trunk/arch/sparc/include/asm/termbits.h | 260 ++++- trunk/arch/sparc/include/asm/termios.h | 41 +- trunk/arch/sparc/include/asm/traps.h | 111 +- .../arch/sparc/include/{uapi => }/asm/types.h | 0 .../arch/sparc/include/{uapi => }/asm/uctx.h | 0 trunk/arch/sparc/include/asm/unistd.h | 412 ++++++- .../arch/sparc/include/{uapi => }/asm/utrap.h | 0 .../sparc/include/{uapi => }/asm/watchdog.h | 0 trunk/arch/sparc/include/uapi/asm/Kbuild | 46 - trunk/arch/sparc/include/uapi/asm/fbio.h | 259 ---- trunk/arch/sparc/include/uapi/asm/ioctls.h | 131 --- trunk/arch/sparc/include/uapi/asm/mman.h | 27 - trunk/arch/sparc/include/uapi/asm/psr.h | 47 - trunk/arch/sparc/include/uapi/asm/ptrace.h | 352 ------ trunk/arch/sparc/include/uapi/asm/setup.h | 15 - .../arch/sparc/include/uapi/asm/sigcontext.h | 0 trunk/arch/sparc/include/uapi/asm/siginfo.h | 25 - trunk/arch/sparc/include/uapi/asm/signal.h | 185 --- trunk/arch/sparc/include/uapi/asm/termbits.h | 263 ----- trunk/arch/sparc/include/uapi/asm/termios.h | 43 - trunk/arch/sparc/include/uapi/asm/traps.h | 120 -- trunk/arch/sparc/include/uapi/asm/unistd.h | 422 ------- trunk/arch/tile/include/asm/Kbuild | 1 - trunk/arch/tile/include/asm/exec.h | 20 + trunk/arch/um/drivers/chan_kern.c | 4 +- trunk/arch/um/drivers/chan_user.c | 4 +- trunk/arch/um/drivers/chan_user.h | 2 +- trunk/arch/um/drivers/cow_sys.h | 6 +- trunk/arch/um/drivers/daemon.h | 2 +- trunk/arch/um/drivers/daemon_kern.c | 4 +- trunk/arch/um/drivers/daemon_user.c | 6 +- trunk/arch/um/drivers/fd.c | 4 +- trunk/arch/um/drivers/harddog_user.c | 2 +- trunk/arch/um/drivers/hostaudio_kern.c | 18 +- trunk/arch/um/drivers/line.c | 16 +- trunk/arch/um/drivers/line.h | 12 +- trunk/arch/um/drivers/mconsole.h | 2 +- trunk/arch/um/drivers/mconsole_kern.c | 10 +- trunk/arch/um/drivers/mconsole_kern.h | 2 +- trunk/arch/um/drivers/mmapper_kern.c | 2 +- trunk/arch/um/drivers/net_kern.c | 10 +- trunk/arch/um/drivers/net_user.c | 6 +- trunk/arch/um/drivers/null.c | 2 +- trunk/arch/um/drivers/pcap_kern.c | 4 +- trunk/arch/um/drivers/pcap_user.c | 4 +- trunk/arch/um/drivers/pcap_user.h | 2 +- trunk/arch/um/drivers/port_kern.c | 20 +- trunk/arch/um/drivers/port_user.c | 4 +- trunk/arch/um/drivers/pty.c | 4 +- trunk/arch/um/drivers/random.c | 4 +- trunk/arch/um/drivers/slip_common.c | 2 +- trunk/arch/um/drivers/slip_kern.c | 2 +- trunk/arch/um/drivers/slip_user.c | 6 +- trunk/arch/um/drivers/slirp_kern.c | 6 +- trunk/arch/um/drivers/slirp_user.c | 4 +- trunk/arch/um/drivers/ssl.c | 22 +- trunk/arch/um/drivers/stdio_console.c | 36 +- trunk/arch/um/drivers/tty.c | 4 +- trunk/arch/um/drivers/ubd_kern.c | 8 +- trunk/arch/um/drivers/ubd_user.c | 2 +- trunk/arch/um/drivers/umcast.h | 2 +- trunk/arch/um/drivers/umcast_kern.c | 4 +- trunk/arch/um/drivers/umcast_user.c | 4 +- trunk/arch/um/drivers/vde_kern.c | 6 +- trunk/arch/um/drivers/vde_user.c | 4 +- trunk/arch/um/drivers/xterm.c | 4 +- trunk/arch/um/drivers/xterm_kern.c | 4 +- trunk/arch/um/include/asm/dma.h | 2 +- trunk/arch/um/include/asm/mmu.h | 2 +- trunk/arch/um/include/asm/page.h | 2 +- trunk/arch/um/include/asm/pgtable.h | 4 +- trunk/arch/um/include/asm/processor-generic.h | 8 +- trunk/arch/um/include/asm/ptrace-generic.h | 2 +- trunk/arch/um/include/asm/smp.h | 6 +- trunk/arch/um/include/shared/arch.h | 2 +- trunk/arch/um/include/shared/as-layout.h | 2 +- trunk/arch/um/include/shared/irq_kern.h | 4 +- trunk/arch/um/include/shared/irq_user.h | 2 +- trunk/arch/um/include/shared/kern_util.h | 4 +- trunk/arch/um/include/shared/longjmp.h | 4 +- trunk/arch/um/include/shared/os.h | 6 +- trunk/arch/um/include/shared/registers.h | 4 +- trunk/arch/um/include/shared/skas/skas.h | 2 +- trunk/arch/um/include/shared/skas_ptrace.h | 2 +- trunk/arch/um/include/{asm => shared}/sysrq.h | 0 trunk/arch/um/kernel/asm-offsets.c | 2 +- trunk/arch/um/kernel/config.c.in | 2 +- trunk/arch/um/kernel/dyn.lds.S | 2 +- trunk/arch/um/kernel/early_printk.c | 2 +- trunk/arch/um/kernel/exec.c | 33 +- trunk/arch/um/kernel/gmon_syms.c | 2 +- trunk/arch/um/kernel/gprof_syms.c | 2 +- trunk/arch/um/kernel/initrd.c | 12 +- trunk/arch/um/kernel/internal.h | 1 + trunk/arch/um/kernel/irq.c | 22 +- trunk/arch/um/kernel/ksyms.c | 2 +- trunk/arch/um/kernel/mem.c | 12 +- trunk/arch/um/kernel/process.c | 25 +- trunk/arch/um/kernel/reboot.c | 14 +- trunk/arch/um/kernel/sigio.c | 6 +- trunk/arch/um/kernel/signal.c | 4 +- trunk/arch/um/kernel/skas/clone.c | 8 +- trunk/arch/um/kernel/skas/mmu.c | 16 +- trunk/arch/um/kernel/skas/process.c | 12 +- trunk/arch/um/kernel/skas/syscall.c | 10 +- trunk/arch/um/kernel/skas/uaccess.c | 4 +- trunk/arch/um/kernel/smp.c | 30 +- trunk/arch/um/kernel/syscall.c | 37 +- trunk/arch/um/kernel/sysrq.c | 2 +- trunk/arch/um/kernel/time.c | 4 +- trunk/arch/um/kernel/tlb.c | 8 +- trunk/arch/um/kernel/trap.c | 10 +- trunk/arch/um/kernel/um_arch.c | 14 +- trunk/arch/um/kernel/umid.c | 6 +- trunk/arch/um/kernel/uml.lds.S | 2 +- trunk/arch/um/os-Linux/aio.c | 8 +- trunk/arch/um/os-Linux/drivers/etap.h | 2 +- .../arch/um/os-Linux/drivers/ethertap_kern.c | 2 +- .../arch/um/os-Linux/drivers/ethertap_user.c | 6 +- trunk/arch/um/os-Linux/drivers/tuntap.h | 2 +- trunk/arch/um/os-Linux/drivers/tuntap_kern.c | 2 +- trunk/arch/um/os-Linux/drivers/tuntap_user.c | 4 +- trunk/arch/um/os-Linux/elf_aux.c | 6 +- trunk/arch/um/os-Linux/execvp.c | 4 +- trunk/arch/um/os-Linux/file.c | 2 +- trunk/arch/um/os-Linux/helper.c | 6 +- trunk/arch/um/os-Linux/irq.c | 6 +- trunk/arch/um/os-Linux/main.c | 10 +- trunk/arch/um/os-Linux/mem.c | 4 +- trunk/arch/um/os-Linux/process.c | 8 +- trunk/arch/um/os-Linux/registers.c | 6 +- trunk/arch/um/os-Linux/sigio.c | 10 +- trunk/arch/um/os-Linux/signal.c | 8 +- trunk/arch/um/os-Linux/skas/mem.c | 20 +- trunk/arch/um/os-Linux/skas/process.c | 22 +- trunk/arch/um/os-Linux/start_up.c | 14 +- trunk/arch/um/os-Linux/time.c | 4 +- trunk/arch/um/os-Linux/tty.c | 4 +- trunk/arch/um/os-Linux/umid.c | 4 +- trunk/arch/um/os-Linux/user_syms.c | 4 +- trunk/arch/um/os-Linux/util.c | 2 +- trunk/arch/um/sys-ppc/miscthings.c | 6 +- trunk/arch/um/sys-ppc/ptrace.c | 2 +- trunk/arch/um/sys-ppc/ptrace_user.c | 2 +- trunk/arch/um/sys-ppc/shared/sysdep/ptrace.h | 2 +- trunk/arch/um/sys-ppc/sigcontext.c | 2 +- trunk/arch/um/sys-ppc/sysrq.c | 4 +- trunk/arch/unicore32/Kconfig | 12 +- trunk/arch/unicore32/include/asm/Kbuild | 1 - trunk/arch/unicore32/include/asm/exec.h | 15 + trunk/arch/unicore32/include/mach/regs-ost.h | 18 +- trunk/arch/unicore32/kernel/Makefile | 1 + trunk/arch/unicore32/kernel/pwm.c | 263 +++++ trunk/arch/unicore32/kernel/sys.c | 1 + trunk/arch/x86/Kconfig | 1 - trunk/arch/x86/ia32/ia32entry.S | 2 +- trunk/arch/x86/ia32/sys_ia32.c | 15 + trunk/arch/x86/include/asm/processor.h | 5 + trunk/arch/x86/include/asm/sys_ia32.h | 2 + trunk/arch/x86/include/asm/syscalls.h | 2 +- trunk/arch/x86/include/asm/thread_info.h | 2 + trunk/arch/x86/include/asm/unistd.h | 2 - trunk/arch/x86/kernel/Makefile | 2 +- trunk/arch/x86/kernel/asm-offsets.c | 3 - trunk/arch/x86/kernel/entry_32.S | 26 +- trunk/arch/x86/kernel/entry_64.S | 74 +- trunk/arch/x86/kernel/process.c | 65 ++ trunk/arch/x86/kernel/process_32.c | 37 +- trunk/arch/x86/kernel/process_64.c | 35 +- trunk/arch/x86/kernel/signal.c | 4 + trunk/arch/x86/kernel/sys_i386_32.c | 40 + trunk/arch/x86/kernel/vm86_32.c | 6 +- trunk/arch/x86/syscalls/syscall_32.tbl | 2 +- trunk/arch/x86/um/Kconfig | 1 - trunk/arch/x86/um/asm/checksum.h | 144 --- trunk/arch/x86/um/asm/checksum_32.h | 140 +++ trunk/arch/x86/um/asm/checksum_64.h | 125 ++ trunk/arch/x86/um/asm/elf.h | 2 +- trunk/arch/x86/um/asm/ptrace.h | 58 +- trunk/arch/x86/um/asm/ptrace_32.h | 28 + trunk/arch/x86/um/asm/ptrace_64.h | 46 + trunk/arch/x86/um/bugs_32.c | 6 +- trunk/arch/x86/um/bugs_64.c | 2 +- trunk/arch/x86/um/fault.c | 2 +- trunk/arch/x86/um/ldt.c | 10 +- trunk/arch/x86/um/mem_64.c | 6 +- trunk/arch/x86/um/os-Linux/registers.c | 4 +- trunk/arch/x86/um/os-Linux/task_size.c | 2 +- trunk/arch/x86/um/os-Linux/tls.c | 2 +- trunk/arch/x86/um/ptrace_32.c | 8 +- trunk/arch/x86/um/ptrace_user.c | 2 +- trunk/arch/x86/um/shared/sysdep/ptrace.h | 2 +- trunk/arch/x86/um/shared/sysdep/stub.h | 4 +- trunk/arch/x86/um/shared/sysdep/syscalls_32.h | 4 +- trunk/arch/x86/um/signal.c | 4 +- trunk/arch/x86/um/stub_32.S | 2 +- trunk/arch/x86/um/stub_64.S | 2 +- trunk/arch/x86/um/stub_segv.c | 6 +- trunk/arch/x86/um/sys_call_table_32.c | 1 + trunk/arch/x86/um/sysrq_32.c | 12 +- trunk/arch/x86/um/sysrq_64.c | 2 +- trunk/arch/x86/um/tls_32.c | 12 +- trunk/arch/x86/um/tls_64.c | 2 +- trunk/arch/xtensa/include/asm/Kbuild | 1 - trunk/arch/xtensa/include/asm/exec.h | 14 + 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/dma/Kconfig | 17 - trunk/drivers/dma/Makefile | 2 - trunk/drivers/dma/amba-pl08x.c | 2 - trunk/drivers/dma/dw_dmac.c | 258 ++-- trunk/drivers/dma/dw_dmac_regs.h | 48 +- trunk/drivers/dma/edma.c | 671 ----------- trunk/drivers/dma/ioat/dma_v2.c | 3 +- trunk/drivers/dma/ioat/pci.c | 22 - trunk/drivers/dma/mmp_pdma.c | 875 -------------- trunk/drivers/dma/mmp_tdma.c | 51 +- trunk/drivers/dma/mxs-dma.c | 14 +- trunk/drivers/dma/pl330.c | 78 +- trunk/drivers/dma/sirf-dma.c | 23 +- trunk/drivers/dma/ste_dma40.c | 14 +- trunk/drivers/dma/tegra20-apb-dma.c | 12 +- trunk/drivers/firewire/core-cdev.c | 4 +- .../gpu/drm/nouveau/core/core/parent.c | 17 + .../drm/nouveau/core/include/core/parent.h | 3 + .../drm/nouveau/core/include/subdev/timer.h | 2 +- .../gpu/drm/nouveau/core/subdev/bios/base.c | 21 +- .../gpu/drm/nouveau/core/subdev/clock/nv50.c | 1 - .../gpu/drm/nouveau/core/subdev/therm/nv50.c | 2 +- .../gpu/drm/nouveau/core/subdev/timer/nv04.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/infiniband/core/cma.c | 3 +- trunk/drivers/infiniband/core/netlink.c | 1 - trunk/drivers/infiniband/ulp/srpt/ib_srpt.c | 12 + trunk/drivers/leds/Kconfig | 26 +- trunk/drivers/leds/Makefile | 3 +- trunk/drivers/leds/led-class.c | 15 - trunk/drivers/leds/led-core.c | 16 +- trunk/drivers/leds/led-triggers.c | 17 +- trunk/drivers/leds/leds-clevo-mail.c | 10 +- trunk/drivers/leds/leds-gpio.c | 19 +- trunk/drivers/leds/leds-lm3530.c | 16 +- trunk/drivers/leds/leds-lm3556.c | 512 ++++++++ trunk/drivers/leds/leds-lm355x.c | 572 --------- trunk/drivers/leds/leds-lm3642.c | 462 -------- trunk/drivers/leds/leds-lp5523.c | 75 +- trunk/drivers/leds/leds-pca9633.c | 19 +- trunk/drivers/leds/leds-wm8350.c | 29 +- trunk/drivers/leds/leds.h | 2 - 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/misc/Kconfig | 10 + trunk/drivers/misc/Makefile | 1 + .../{pwm/pwm-ab8500.c => misc/ab8500-pwm.c} | 116 +- trunk/drivers/mmc/core/core.c | 240 ++-- trunk/drivers/mmc/core/debugfs.c | 2 +- trunk/drivers/mmc/core/mmc.c | 57 +- trunk/drivers/mmc/core/mmc_ops.c | 84 +- trunk/drivers/mmc/core/sdio_bus.c | 7 + trunk/drivers/mmc/core/slot-gpio.c | 8 +- trunk/drivers/mmc/host/Kconfig | 9 - trunk/drivers/mmc/host/Makefile | 1 - trunk/drivers/mmc/host/atmel-mci-regs.h | 7 - trunk/drivers/mmc/host/atmel-mci.c | 113 +- trunk/drivers/mmc/host/bfin_sdh.c | 210 ++-- trunk/drivers/mmc/host/davinci_mmc.c | 271 +++-- trunk/drivers/mmc/host/dw_mmc-exynos.c | 253 ---- trunk/drivers/mmc/host/dw_mmc-pci.c | 15 +- trunk/drivers/mmc/host/dw_mmc-pltfm.c | 62 +- trunk/drivers/mmc/host/dw_mmc-pltfm.h | 20 - trunk/drivers/mmc/host/dw_mmc.c | 326 ++---- trunk/drivers/mmc/host/dw_mmc.h | 24 - trunk/drivers/mmc/host/mmc_spi.c | 15 +- trunk/drivers/mmc/host/mmci.c | 13 +- trunk/drivers/mmc/host/mxcmmc.c | 76 +- trunk/drivers/mmc/host/omap.c | 37 +- trunk/drivers/mmc/host/omap_hsmmc.c | 125 +- trunk/drivers/mmc/host/pxamci.c | 52 - trunk/drivers/mmc/host/sdhci-dove.c | 8 - trunk/drivers/mmc/host/sdhci-of-esdhc.c | 36 +- trunk/drivers/mmc/host/sdhci-pci.c | 19 +- trunk/drivers/mmc/host/sdhci-pltfm.c | 3 - trunk/drivers/mmc/host/sdhci-pxav2.c | 6 +- trunk/drivers/mmc/host/sdhci-pxav3.c | 35 +- trunk/drivers/mmc/host/sdhci-s3c.c | 216 +--- trunk/drivers/mmc/host/sdhci-spear.c | 67 +- trunk/drivers/mmc/host/sdhci-tegra.c | 8 +- trunk/drivers/mmc/host/sdhci.c | 205 ++-- trunk/drivers/mmc/host/sh_mmcif.c | 8 +- trunk/drivers/mmc/host/via-sdmmc.c | 16 +- trunk/drivers/mmc/host/vub300.c | 4 +- trunk/drivers/mtd/Kconfig | 7 - trunk/drivers/mtd/Makefile | 1 - trunk/drivers/mtd/bcm47xxpart.c | 202 ---- trunk/drivers/mtd/chips/Kconfig | 11 +- trunk/drivers/mtd/chips/cfi_cmdset_0001.c | 14 +- trunk/drivers/mtd/chips/cfi_cmdset_0002.c | 67 -- trunk/drivers/mtd/cmdlinepart.c | 183 +-- trunk/drivers/mtd/devices/Kconfig | 10 +- trunk/drivers/mtd/devices/Makefile | 1 - trunk/drivers/mtd/devices/bcm47xxsflash.c | 105 -- trunk/drivers/mtd/devices/doc2001plus.c | 14 +- trunk/drivers/mtd/devices/docg3.c | 12 +- trunk/drivers/mtd/devices/m25p80.c | 24 +- trunk/drivers/mtd/devices/spear_smi.c | 141 ++- trunk/drivers/mtd/maps/Kconfig | 16 +- trunk/drivers/mtd/maps/Makefile | 1 + trunk/drivers/mtd/maps/autcpu12-nvram.c | 153 ++- trunk/drivers/mtd/maps/pci.c | 23 + trunk/drivers/mtd/maps/physmap_of.c | 14 - trunk/drivers/mtd/maps/rbtx4939-flash.c | 2 + trunk/drivers/mtd/maps/uclinux.c | 15 +- trunk/drivers/mtd/maps/wr_sbc82xx_flash.c | 174 +++ trunk/drivers/mtd/mtdchar.c | 6 +- trunk/drivers/mtd/mtdcore.c | 21 - trunk/drivers/mtd/mtdoops.c | 14 +- trunk/drivers/mtd/mtdpart.c | 5 +- trunk/drivers/mtd/nand/Kconfig | 63 +- trunk/drivers/mtd/nand/Makefile | 4 +- trunk/drivers/mtd/nand/ams-delta.c | 13 + trunk/drivers/mtd/nand/atmel_nand.c | 987 +--------------- trunk/drivers/mtd/nand/atmel_nand_ecc.h | 114 +- trunk/drivers/mtd/nand/au1550nd.c | 46 + trunk/drivers/mtd/nand/bcm_umi_bch.c | 217 ++++ trunk/drivers/mtd/nand/bcm_umi_nand.c | 555 +++++++++ trunk/drivers/mtd/nand/bf5xx_nand.c | 6 +- trunk/drivers/mtd/nand/cafe_nand.c | 20 +- trunk/drivers/mtd/nand/cmx270_nand.c | 13 + trunk/drivers/mtd/nand/davinci_nand.c | 78 +- trunk/drivers/mtd/nand/denali.c | 12 +- trunk/drivers/mtd/nand/diskonchip.c | 63 + trunk/drivers/mtd/nand/docg4.c | 43 +- trunk/drivers/mtd/nand/fsl_elbc_nand.c | 51 +- trunk/drivers/mtd/nand/fsl_ifc_nand.c | 52 +- trunk/drivers/mtd/nand/gpio.c | 54 +- trunk/drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 322 +---- trunk/drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 152 +-- trunk/drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 26 +- trunk/drivers/mtd/nand/gpmi-nand/gpmi-regs.h | 12 - trunk/drivers/mtd/nand/lpc32xx_mlc.c | 924 --------------- trunk/drivers/mtd/nand/lpc32xx_slc.c | 1039 ----------------- trunk/drivers/mtd/nand/mpc5121_nfc.c | 22 + trunk/drivers/mtd/nand/mxc_nand.c | 168 +-- trunk/drivers/mtd/nand/nand_base.c | 529 ++++----- trunk/drivers/mtd/nand/nand_bbt.c | 148 +-- trunk/drivers/mtd/nand/nand_bcm_umi.c | 149 +++ trunk/drivers/mtd/nand/nand_bcm_umi.h | 336 ++++++ trunk/drivers/mtd/nand/nand_ids.c | 7 +- trunk/drivers/mtd/nand/nandsim.c | 17 +- trunk/drivers/mtd/nand/ndfc.c | 13 + trunk/drivers/mtd/nand/nuc900_nand.c | 17 + trunk/drivers/mtd/nand/omap2.c | 36 +- trunk/drivers/mtd/nand/orion_nand.c | 1 + trunk/drivers/mtd/nand/plat_nand.c | 5 - trunk/drivers/mtd/nand/pxa3xx_nand.c | 12 +- trunk/drivers/mtd/nand/r852.c | 22 + trunk/drivers/mtd/nand/s3c2410.c | 191 +-- trunk/drivers/mtd/nand/sh_flctl.c | 327 +++--- trunk/drivers/mtd/nand/socrates_nand.c | 19 + trunk/drivers/mtd/nand/tmio_nand.c | 13 + trunk/drivers/mtd/nand/txx9ndfmc.c | 13 + trunk/drivers/mtd/nand/xway_nand.c | 201 ---- trunk/drivers/mtd/sm_ftl.c | 1 + trunk/drivers/mtd/tests/Makefile | 1 - trunk/drivers/mtd/tests/mtd_nandbiterrs.c | 460 -------- trunk/drivers/mtd/tests/mtd_nandecctest.c | 294 +---- trunk/drivers/mtd/tests/mtd_speedtest.c | 16 +- trunk/drivers/mtd/tests/mtd_stresstest.c | 39 +- trunk/drivers/net/ethernet/amd/amd8111e.c | 2 - trunk/drivers/net/ethernet/amd/au1000_eth.c | 10 +- trunk/drivers/net/ethernet/calxeda/xgmac.c | 19 +- .../net/ethernet/chelsio/cxgb4/cxgb4.h | 1 - .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 54 +- .../net/ethernet/chelsio/cxgb4/t4_hw.c | 15 +- trunk/drivers/net/ethernet/dec/tulip/dmfe.c | 12 +- .../net/ethernet/emulex/benet/be_main.c | 7 +- .../drivers/net/ethernet/freescale/gianfar.c | 27 +- .../drivers/net/ethernet/freescale/gianfar.h | 2 + .../drivers/net/ethernet/freescale/ucc_geth.c | 29 +- .../drivers/net/ethernet/freescale/ucc_geth.h | 2 + trunk/drivers/net/ethernet/intel/e1000e/hw.h | 2 - .../net/ethernet/intel/e1000e/netdev.c | 2 - .../drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 +- .../net/ethernet/intel/ixgbevf/ixgbevf.h | 2 +- .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 7 - .../net/ethernet/marvell/mv643xx_eth.c | 18 +- trunk/drivers/net/ethernet/marvell/skge.c | 13 +- trunk/drivers/net/ethernet/marvell/sky2.c | 5 +- trunk/drivers/net/ethernet/natsemi/natsemi.c | 4 +- trunk/drivers/net/ethernet/natsemi/xtsonic.c | 1 - .../net/ethernet/oki-semi/pch_gbe/Kconfig | 3 - .../net/ethernet/qlogic/qlcnic/qlcnic_main.c | 3 +- trunk/drivers/net/ethernet/realtek/8139cp.c | 2 +- trunk/drivers/net/ethernet/renesas/sh_eth.c | 1 - trunk/drivers/net/ethernet/sfc/ptp.c | 9 +- trunk/drivers/net/ethernet/sis/sis900.c | 4 +- .../net/ethernet/stmicro/stmmac/stmmac.h | 1 + .../net/ethernet/stmicro/stmmac/stmmac_main.c | 20 +- trunk/drivers/net/ethernet/sun/niu.c | 1 - trunk/drivers/net/ethernet/sun/sungem.c | 3 +- trunk/drivers/net/irda/irtty-sir.c | 4 +- trunk/drivers/net/irda/mcs7780.c | 4 +- trunk/drivers/net/irda/pxaficp_ir.c | 4 +- trunk/drivers/net/irda/sa1100_ir.c | 4 +- trunk/drivers/net/irda/sh_irda.c | 4 +- trunk/drivers/net/irda/sh_sir.c | 5 +- trunk/drivers/net/phy/mdio_bus.c | 1 - trunk/drivers/net/vxlan.c | 5 +- trunk/drivers/net/wan/farsync.c | 2 +- trunk/drivers/power/avs/smartreflex.c | 8 +- trunk/drivers/pwm/Kconfig | 29 +- trunk/drivers/pwm/Makefile | 3 - trunk/drivers/pwm/core.c | 82 +- trunk/drivers/pwm/pwm-bfin.c | 3 + trunk/drivers/pwm/pwm-imx.c | 278 ++--- trunk/drivers/pwm/pwm-jz4740.c | 221 ---- trunk/drivers/pwm/pwm-puv3.c | 161 --- trunk/drivers/pwm/pwm-pxa.c | 3 + trunk/drivers/pwm/pwm-samsung.c | 3 + trunk/drivers/pwm/pwm-tiecap.c | 24 +- trunk/drivers/pwm/pwm-tiehrpwm.c | 75 +- trunk/drivers/rapidio/rio-scan.c | 40 +- trunk/drivers/rapidio/rio.c | 75 +- trunk/drivers/rtc/Kconfig | 3 - trunk/drivers/s390/block/dcssblk.c | 52 +- trunk/drivers/s390/crypto/zcrypt_pcixcc.c | 1 + trunk/drivers/scsi/qla2xxx/qla_target.c | 2 +- trunk/drivers/scsi/qla2xxx/tcm_qla2xxx.c | 15 + trunk/drivers/spi/Kconfig | 1 - trunk/drivers/spi/spi-davinci.c | 292 ++--- trunk/drivers/target/iscsi/iscsi_target.c | 196 ++-- trunk/drivers/target/iscsi/iscsi_target.h | 5 - .../target/iscsi/iscsi_target_configfs.c | 42 +- .../drivers/target/iscsi/iscsi_target_core.h | 15 +- .../drivers/target/iscsi/iscsi_target_erl0.c | 94 +- .../drivers/target/iscsi/iscsi_target_erl1.c | 4 +- .../drivers/target/iscsi/iscsi_target_erl1.h | 4 +- .../drivers/target/iscsi/iscsi_target_erl2.c | 9 +- .../drivers/target/iscsi/iscsi_target_erl2.h | 2 +- .../drivers/target/iscsi/iscsi_target_login.c | 20 +- .../drivers/target/iscsi/iscsi_target_nego.c | 31 +- .../target/iscsi/iscsi_target_parameters.c | 71 +- .../target/iscsi/iscsi_target_parameters.h | 7 +- .../target/iscsi/iscsi_target_seq_pdu_list.c | 61 +- trunk/drivers/target/iscsi/iscsi_target_tmr.c | 31 +- trunk/drivers/target/iscsi/iscsi_target_tpg.c | 12 - trunk/drivers/target/iscsi/iscsi_target_tq.c | 6 +- trunk/drivers/target/iscsi/iscsi_target_tq.h | 1 + .../drivers/target/iscsi/iscsi_target_util.c | 16 +- .../drivers/target/iscsi/iscsi_target_util.h | 8 +- trunk/drivers/target/loopback/tcm_loop.c | 74 +- trunk/drivers/target/sbp/sbp_target.c | 27 +- trunk/drivers/target/target_core_alua.c | 2 +- trunk/drivers/target/target_core_configfs.c | 18 +- trunk/drivers/target/target_core_device.c | 16 +- .../target/target_core_fabric_configfs.c | 1 + trunk/drivers/target/target_core_fabric_lib.c | 8 +- trunk/drivers/target/target_core_file.c | 43 +- trunk/drivers/target/target_core_file.h | 1 - trunk/drivers/target/target_core_iblock.c | 26 +- trunk/drivers/target/target_core_pr.c | 14 +- trunk/drivers/target/target_core_pscsi.c | 2 +- trunk/drivers/target/target_core_sbc.c | 23 +- trunk/drivers/target/target_core_spc.c | 48 +- trunk/drivers/target/target_core_stat.c | 1 + trunk/drivers/target/target_core_tpg.c | 2 +- trunk/drivers/target/target_core_transport.c | 268 ++--- trunk/drivers/target/tcm_fc/tfc_cmd.c | 1 + trunk/drivers/target/tcm_fc/tfc_conf.c | 12 + trunk/drivers/target/tcm_fc/tfc_io.c | 4 +- trunk/drivers/target/tcm_fc/tfc_sess.c | 1 + trunk/drivers/usb/gadget/tcm_usb_gadget.c | 15 +- trunk/drivers/vfio/pci/vfio_pci.c | 9 +- trunk/drivers/vfio/pci/vfio_pci_intrs.c | 18 +- trunk/drivers/vhost/tcm_vhost.c | 81 +- trunk/drivers/vhost/tcm_vhost.h | 8 - trunk/drivers/video/backlight/pwm_bl.c | 7 +- trunk/fs/autofs4/root.c | 6 +- trunk/fs/binfmt_elf.c | 1 + trunk/fs/binfmt_elf_fdpic.c | 1 + trunk/fs/bio-integrity.c | 44 +- trunk/fs/bio.c | 231 ++-- trunk/fs/block_dev.c | 68 +- trunk/fs/btrfs/backref.c | 299 +---- trunk/fs/btrfs/backref.h | 10 +- trunk/fs/btrfs/btrfs_inode.h | 15 +- trunk/fs/btrfs/check-integrity.c | 16 +- trunk/fs/btrfs/compression.c | 13 +- trunk/fs/btrfs/ctree.c | 148 ++- trunk/fs/btrfs/ctree.h | 109 +- trunk/fs/btrfs/delayed-inode.c | 6 +- trunk/fs/btrfs/disk-io.c | 230 ++-- trunk/fs/btrfs/disk-io.h | 2 - trunk/fs/btrfs/extent-tree.c | 376 +++--- trunk/fs/btrfs/extent_io.c | 128 +- trunk/fs/btrfs/extent_io.h | 23 +- trunk/fs/btrfs/extent_map.c | 55 +- trunk/fs/btrfs/extent_map.h | 8 +- trunk/fs/btrfs/file-item.c | 5 +- trunk/fs/btrfs/file.c | 447 +------ trunk/fs/btrfs/free-space-cache.c | 10 +- trunk/fs/btrfs/hash.h | 10 - trunk/fs/btrfs/inode-item.c | 285 +---- trunk/fs/btrfs/inode.c | 386 ++---- trunk/fs/btrfs/ioctl.c | 100 +- trunk/fs/btrfs/ordered-data.c | 97 +- trunk/fs/btrfs/ordered-data.h | 12 +- trunk/fs/btrfs/qgroup.c | 40 +- trunk/fs/btrfs/relocation.c | 11 +- trunk/fs/btrfs/root-tree.c | 29 +- trunk/fs/btrfs/scrub.c | 30 +- trunk/fs/btrfs/send.c | 915 +++++++-------- trunk/fs/btrfs/send.h | 1 - trunk/fs/btrfs/super.c | 74 +- trunk/fs/btrfs/transaction.c | 283 ++--- trunk/fs/btrfs/transaction.h | 20 +- trunk/fs/btrfs/tree-log.c | 889 +++----------- trunk/fs/btrfs/ulist.c | 7 +- trunk/fs/btrfs/ulist.h | 9 +- trunk/fs/btrfs/volumes.c | 73 +- trunk/fs/btrfs/zlib.c | 8 +- trunk/fs/cifs/cifs_unicode.c | 22 - trunk/fs/cifs/connect.c | 9 - trunk/fs/cifs/transport.c | 6 - trunk/fs/exec.c | 61 +- trunk/fs/exofs/ore.c | 5 +- trunk/fs/hostfs/hostfs.h | 2 +- trunk/fs/hostfs/hostfs_kern.c | 12 +- trunk/fs/hostfs/hostfs_user.c | 1 + trunk/fs/hppfs/hppfs.c | 4 +- trunk/fs/jffs2/super.c | 4 - trunk/fs/jffs2/wbuf.c | 8 +- trunk/fs/lockd/mon.c | 86 +- trunk/fs/lockd/netns.h | 4 - trunk/fs/lockd/svc.c | 1 - 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/include/asm-generic/vmlinux.lds.h | 9 - .../linux/bcma/bcma_driver_chipcommon.h | 2 - trunk/include/linux/binfmts.h | 6 - trunk/include/linux/bio.h | 70 +- trunk/include/linux/blk_types.h | 36 +- trunk/include/linux/blkdev.h | 82 +- trunk/include/linux/caif/Kbuild | 2 + .../{uapi => }/linux/caif/caif_socket.h | 0 trunk/include/{uapi => }/linux/caif/if_caif.h | 0 trunk/include/linux/compat.h | 8 +- trunk/include/linux/dw_dmac.h | 7 - trunk/include/linux/edma.h | 29 - trunk/include/linux/fs.h | 6 - 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/if_vlan.h | 8 +- trunk/include/linux/isdn/Kbuild | 1 + trunk/include/{uapi => }/linux/isdn/capicmd.h | 0 trunk/include/linux/leds-lp5523.h | 1 - trunk/include/linux/leds.h | 4 - trunk/include/linux/memcontrol.h | 4 +- trunk/include/linux/mmc/card.h | 18 +- trunk/include/linux/mmc/core.h | 4 - trunk/include/linux/mmc/dw_mmc.h | 15 +- trunk/include/linux/mmc/host.h | 5 +- trunk/include/linux/mmc/mmc.h | 19 - trunk/include/linux/mmc/sdhci.h | 3 +- trunk/include/linux/mtd/bbm.h | 7 +- trunk/include/linux/mtd/lpc32xx_mlc.h | 20 - trunk/include/linux/mtd/lpc32xx_slc.h | 20 - trunk/include/linux/mtd/mtd.h | 9 +- trunk/include/linux/mtd/nand.h | 72 +- trunk/include/linux/mtd/sh_flctl.h | 23 +- trunk/include/linux/netdevice.h | 19 +- trunk/include/linux/netfilter/Kbuild | 77 ++ trunk/include/linux/netfilter/ipset/Kbuild | 4 + trunk/include/linux/netfilter/ipset/ip_set.h | 225 +++- .../linux/netfilter/ipset/ip_set_bitmap.h | 11 +- .../linux/netfilter/ipset/ip_set_hash.h | 19 +- .../linux/netfilter/ipset/ip_set_list.h | 19 +- .../linux/netfilter/nf_conntrack_common.h | 115 +- .../linux/netfilter/nf_conntrack_ftp.h | 16 +- .../linux/netfilter/nf_conntrack_sctp.h | 0 .../linux/netfilter/nf_conntrack_tcp.h | 49 +- .../netfilter/nf_conntrack_tuple_common.h | 0 .../{uapi => }/linux/netfilter/nf_nat.h | 0 trunk/include/linux/netfilter/nfnetlink.h | 55 +- .../include/linux/netfilter/nfnetlink_acct.h | 25 +- .../linux/netfilter/nfnetlink_compat.h | 0 .../linux/netfilter/nfnetlink_conntrack.h | 0 .../linux/netfilter/nfnetlink_cthelper.h | 0 .../linux/netfilter/nfnetlink_cttimeout.h | 0 .../linux/netfilter/nfnetlink_log.h | 0 .../linux/netfilter/nfnetlink_queue.h | 0 trunk/include/linux/netfilter/x_tables.h | 186 ++- .../{uapi => }/linux/netfilter/xt_AUDIT.h | 0 .../{uapi => }/linux/netfilter/xt_CHECKSUM.h | 0 .../{uapi => }/linux/netfilter/xt_CLASSIFY.h | 0 .../{uapi => }/linux/netfilter/xt_CONNMARK.h | 0 .../linux/netfilter/xt_CONNSECMARK.h | 0 .../{uapi => }/linux/netfilter/xt_CT.h | 0 .../{uapi => }/linux/netfilter/xt_DSCP.h | 0 .../{uapi => }/linux/netfilter/xt_IDLETIMER.h | 0 .../{uapi => }/linux/netfilter/xt_LED.h | 0 .../{uapi => }/linux/netfilter/xt_LOG.h | 0 .../{uapi => }/linux/netfilter/xt_MARK.h | 0 .../{uapi => }/linux/netfilter/xt_NFLOG.h | 0 .../{uapi => }/linux/netfilter/xt_NFQUEUE.h | 0 .../{uapi => }/linux/netfilter/xt_RATEEST.h | 0 .../{uapi => }/linux/netfilter/xt_SECMARK.h | 0 .../{uapi => }/linux/netfilter/xt_TCPMSS.h | 0 .../linux/netfilter/xt_TCPOPTSTRIP.h | 0 .../{uapi => }/linux/netfilter/xt_TEE.h | 0 .../{uapi => }/linux/netfilter/xt_TPROXY.h | 0 .../{uapi => }/linux/netfilter/xt_addrtype.h | 0 .../{uapi => }/linux/netfilter/xt_cluster.h | 0 .../{uapi => }/linux/netfilter/xt_comment.h | 0 .../{uapi => }/linux/netfilter/xt_connbytes.h | 0 .../{uapi => }/linux/netfilter/xt_connlimit.h | 0 .../{uapi => }/linux/netfilter/xt_connmark.h | 0 .../{uapi => }/linux/netfilter/xt_conntrack.h | 0 .../{uapi => }/linux/netfilter/xt_cpu.h | 0 .../{uapi => }/linux/netfilter/xt_dccp.h | 0 .../{uapi => }/linux/netfilter/xt_devgroup.h | 0 .../{uapi => }/linux/netfilter/xt_dscp.h | 0 .../{uapi => }/linux/netfilter/xt_ecn.h | 0 .../{uapi => }/linux/netfilter/xt_esp.h | 0 trunk/include/linux/netfilter/xt_hashlimit.h | 71 +- .../{uapi => }/linux/netfilter/xt_helper.h | 0 .../{uapi => }/linux/netfilter/xt_iprange.h | 0 .../{uapi => }/linux/netfilter/xt_ipvs.h | 0 .../{uapi => }/linux/netfilter/xt_length.h | 0 .../{uapi => }/linux/netfilter/xt_limit.h | 0 .../{uapi => }/linux/netfilter/xt_mac.h | 0 .../{uapi => }/linux/netfilter/xt_mark.h | 0 .../{uapi => }/linux/netfilter/xt_multiport.h | 0 .../{uapi => }/linux/netfilter/xt_nfacct.h | 0 .../{uapi => }/linux/netfilter/xt_osf.h | 0 .../{uapi => }/linux/netfilter/xt_owner.h | 0 trunk/include/linux/netfilter/xt_physdev.h | 21 +- .../{uapi => }/linux/netfilter/xt_pkttype.h | 0 .../{uapi => }/linux/netfilter/xt_policy.h | 0 .../{uapi => }/linux/netfilter/xt_quota.h | 0 .../{uapi => }/linux/netfilter/xt_rateest.h | 0 .../{uapi => }/linux/netfilter/xt_realm.h | 0 .../{uapi => }/linux/netfilter/xt_recent.h | 0 .../{uapi => }/linux/netfilter/xt_sctp.h | 0 .../{uapi => }/linux/netfilter/xt_set.h | 0 .../{uapi => }/linux/netfilter/xt_socket.h | 0 .../{uapi => }/linux/netfilter/xt_state.h | 0 .../{uapi => }/linux/netfilter/xt_statistic.h | 0 .../{uapi => }/linux/netfilter/xt_string.h | 0 .../{uapi => }/linux/netfilter/xt_tcpmss.h | 0 .../{uapi => }/linux/netfilter/xt_tcpudp.h | 0 .../{uapi => }/linux/netfilter/xt_time.h | 0 .../{uapi => }/linux/netfilter/xt_u32.h | 0 trunk/include/linux/netfilter_arp/Kbuild | 2 + .../include/linux/netfilter_arp/arp_tables.h | 200 +++- .../linux/netfilter_arp/arpt_mangle.h | 0 trunk/include/linux/netfilter_bridge/Kbuild | 18 + .../linux/netfilter_bridge/ebt_802_3.h | 61 +- .../linux/netfilter_bridge/ebt_among.h | 0 .../linux/netfilter_bridge/ebt_arp.h | 0 .../linux/netfilter_bridge/ebt_arpreply.h | 0 .../linux/netfilter_bridge/ebt_ip.h | 0 .../linux/netfilter_bridge/ebt_ip6.h | 0 .../linux/netfilter_bridge/ebt_limit.h | 0 .../linux/netfilter_bridge/ebt_log.h | 0 .../linux/netfilter_bridge/ebt_mark_m.h | 0 .../linux/netfilter_bridge/ebt_mark_t.h | 0 .../linux/netfilter_bridge/ebt_nat.h | 0 .../linux/netfilter_bridge/ebt_nflog.h | 0 .../linux/netfilter_bridge/ebt_pkttype.h | 0 .../linux/netfilter_bridge/ebt_redirect.h | 0 .../linux/netfilter_bridge/ebt_stp.h | 0 .../linux/netfilter_bridge/ebt_ulog.h | 0 .../linux/netfilter_bridge/ebt_vlan.h | 0 .../include/linux/netfilter_bridge/ebtables.h | 255 +++- trunk/include/linux/netfilter_ipv4/Kbuild | 10 + .../include/linux/netfilter_ipv4/ip_tables.h | 218 +++- .../linux/netfilter_ipv4/ipt_CLUSTERIP.h | 0 .../{uapi => }/linux/netfilter_ipv4/ipt_ECN.h | 0 .../{uapi => }/linux/netfilter_ipv4/ipt_LOG.h | 0 .../linux/netfilter_ipv4/ipt_REJECT.h | 0 .../{uapi => }/linux/netfilter_ipv4/ipt_TTL.h | 0 .../linux/netfilter_ipv4/ipt_ULOG.h | 0 .../{uapi => }/linux/netfilter_ipv4/ipt_ah.h | 0 .../{uapi => }/linux/netfilter_ipv4/ipt_ecn.h | 0 .../{uapi => }/linux/netfilter_ipv4/ipt_ttl.h | 0 trunk/include/linux/netfilter_ipv6/Kbuild | 12 + .../include/linux/netfilter_ipv6/ip6_tables.h | 256 +++- .../{uapi => }/linux/netfilter_ipv6/ip6t_HL.h | 0 .../linux/netfilter_ipv6/ip6t_LOG.h | 0 .../linux/netfilter_ipv6/ip6t_NPT.h | 0 .../linux/netfilter_ipv6/ip6t_REJECT.h | 0 .../{uapi => }/linux/netfilter_ipv6/ip6t_ah.h | 0 .../linux/netfilter_ipv6/ip6t_frag.h | 0 .../{uapi => }/linux/netfilter_ipv6/ip6t_hl.h | 0 .../linux/netfilter_ipv6/ip6t_ipv6header.h | 0 .../{uapi => }/linux/netfilter_ipv6/ip6t_mh.h | 0 .../linux/netfilter_ipv6/ip6t_opts.h | 0 .../{uapi => }/linux/netfilter_ipv6/ip6t_rt.h | 0 trunk/include/linux/netlink.h | 20 +- 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 -- .../include/linux/platform_data/i2c-nomadik.h | 2 +- .../include/linux/platform_data/leds-lm3556.h | 50 + .../include/linux/platform_data/leds-lm355x.h | 66 -- .../include/linux/platform_data/leds-lm3642.h | 38 - .../linux/platform_data/leds-pca9633.h | 35 - trunk/include/linux/platform_data/mmp_dma.h | 19 - trunk/include/linux/platform_data/pxa_sdhci.h | 1 - trunk/include/linux/ptrace.h | 4 - trunk/include/linux/pwm.h | 108 +- trunk/include/linux/rio.h | 3 +- trunk/include/linux/scatterlist.h | 1 - trunk/include/linux/sched.h | 3 - trunk/include/linux/skbuff.h | 24 + trunk/include/linux/sunrpc/clnt.h | 2 - trunk/include/linux/sunrpc/xprt.h | 3 +- trunk/include/linux/tc_act/Kbuild | 7 + .../include/{uapi => }/linux/tc_act/tc_csum.h | 0 .../include/{uapi => }/linux/tc_act/tc_gact.h | 0 .../include/{uapi => }/linux/tc_act/tc_ipt.h | 0 .../{uapi => }/linux/tc_act/tc_mirred.h | 0 .../include/{uapi => }/linux/tc_act/tc_nat.h | 0 .../{uapi => }/linux/tc_act/tc_pedit.h | 0 .../{uapi => }/linux/tc_act/tc_skbedit.h | 0 trunk/include/linux/tc_ematch/Kbuild | 4 + .../{uapi => }/linux/tc_ematch/tc_em_cmp.h | 0 .../{uapi => }/linux/tc_ematch/tc_em_meta.h | 0 .../{uapi => }/linux/tc_ematch/tc_em_nbyte.h | 0 .../{uapi => }/linux/tc_ematch/tc_em_text.h | 0 trunk/include/mtd/Kbuild | 5 + trunk/include/{uapi => }/mtd/inftl-user.h | 0 trunk/include/{uapi => }/mtd/mtd-abi.h | 0 trunk/include/{uapi => }/mtd/mtd-user.h | 0 trunk/include/{uapi => }/mtd/nftl-user.h | 0 trunk/include/{uapi => }/mtd/ubi-user.h | 0 trunk/include/net/flow.h | 1 - trunk/include/net/route.h | 3 +- trunk/include/rdma/rdma_netlink.h | 1 - trunk/include/target/target_core_backend.h | 3 + trunk/include/target/target_core_fabric.h | 5 +- trunk/include/trace/events/btrfs.h | 14 +- trunk/include/uapi/linux/caif/Kbuild | 2 - trunk/include/uapi/linux/isdn/Kbuild | 1 - trunk/include/uapi/linux/netfilter/Kbuild | 76 -- .../include/uapi/linux/netfilter/ipset/Kbuild | 4 - .../uapi/linux/netfilter/ipset/ip_set.h | 231 ---- .../linux/netfilter/ipset/ip_set_bitmap.h | 13 - .../uapi/linux/netfilter/ipset/ip_set_hash.h | 21 - .../uapi/linux/netfilter/ipset/ip_set_list.h | 21 - .../linux/netfilter/nf_conntrack_common.h | 117 -- .../uapi/linux/netfilter/nf_conntrack_ftp.h | 18 - .../uapi/linux/netfilter/nf_conntrack_tcp.h | 51 - .../include/uapi/linux/netfilter/nfnetlink.h | 56 - .../uapi/linux/netfilter/nfnetlink_acct.h | 27 - trunk/include/uapi/linux/netfilter/x_tables.h | 187 --- .../uapi/linux/netfilter/xt_hashlimit.h | 73 -- .../include/uapi/linux/netfilter/xt_physdev.h | 23 - trunk/include/uapi/linux/netfilter_arp/Kbuild | 2 - .../uapi/linux/netfilter_arp/arp_tables.h | 206 ---- .../uapi/linux/netfilter_bridge/Kbuild | 18 - .../uapi/linux/netfilter_bridge/ebt_802_3.h | 62 - .../uapi/linux/netfilter_bridge/ebtables.h | 268 ----- .../include/uapi/linux/netfilter_ipv4/Kbuild | 10 - .../uapi/linux/netfilter_ipv4/ip_tables.h | 229 ---- .../include/uapi/linux/netfilter_ipv6/Kbuild | 12 - .../uapi/linux/netfilter_ipv6/ip6_tables.h | 267 ----- trunk/include/uapi/linux/tc_act/Kbuild | 7 - trunk/include/uapi/linux/tc_ematch/Kbuild | 4 - trunk/include/uapi/mtd/Kbuild | 5 - trunk/kernel/fork.c | 13 +- trunk/lib/kasprintf.c | 2 +- trunk/lib/scatterlist.c | 19 - trunk/net/8021q/vlan_core.c | 10 +- trunk/net/core/dev.c | 59 +- trunk/net/core/neighbour.c | 6 +- trunk/net/core/skbuff.c | 47 + trunk/net/ipv4/fib_frontend.c | 3 +- trunk/net/ipv4/fib_semantics.c | 2 - trunk/net/ipv4/inet_connection_sock.c | 4 +- trunk/net/ipv4/ip_forward.c | 2 +- trunk/net/ipv4/ip_output.c | 4 +- trunk/net/ipv4/route.c | 146 +-- trunk/net/ipv4/xfrm4_policy.c | 1 - trunk/net/ipv6/af_inet6.c | 22 +- trunk/net/netfilter/ipvs/ip_vs_xmit.c | 6 +- trunk/net/netlink/af_netlink.c | 29 +- trunk/net/rds/send.c | 2 +- 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/sound/oss/waveartist.c | 4 +- trunk/tools/perf/util/include/linux/rbtree.h | 1 + 1338 files changed, 22212 insertions(+), 32860 deletions(-) delete mode 100644 trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt 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/devicetree/bindings/mmc/atmel-hsmci.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mmc/pxa-mmc.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mmc/sdhci-dove.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mmc/sdhci-spear.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt delete mode 100644 trunk/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt delete mode 100644 trunk/Documentation/devicetree/bindings/pwm/imx-pwm.txt delete mode 100644 trunk/Documentation/percpu-rw-semaphore.txt create mode 100644 trunk/arch/alpha/include/asm/exec.h create mode 100644 trunk/arch/arm/mach-at91/include/mach/at91_twi.h create mode 100644 trunk/arch/avr32/include/asm/exec.h create mode 100644 trunk/arch/c6x/include/asm/exec.h create mode 100644 trunk/arch/cris/include/asm/exec.h create mode 100644 trunk/arch/frv/include/asm/exec.h create mode 100644 trunk/arch/h8300/include/asm/exec.h create mode 100644 trunk/arch/ia64/include/asm/exec.h create mode 100644 trunk/arch/m32r/include/asm/exec.h create mode 100644 trunk/arch/m68k/include/asm/exec.h create mode 100644 trunk/arch/microblaze/include/asm/exec.h delete mode 100644 trunk/arch/mips/alchemy/devboards/db1235.c create mode 100644 trunk/arch/mips/alchemy/devboards/pb1100.c create mode 100644 trunk/arch/mips/alchemy/devboards/pb1500.c create mode 100644 trunk/arch/mips/alchemy/devboards/pb1550.c create mode 100644 trunk/arch/mips/configs/db1200_defconfig delete mode 100644 trunk/arch/mips/configs/db1235_defconfig create mode 100644 trunk/arch/mips/configs/db1300_defconfig create mode 100644 trunk/arch/mips/configs/db1550_defconfig create mode 100644 trunk/arch/mips/configs/pb1100_defconfig create mode 100644 trunk/arch/mips/configs/pb1500_defconfig create mode 100644 trunk/arch/mips/configs/pb1550_defconfig rename trunk/arch/mips/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/bitsperlong.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/cachectl.h (100%) create mode 100644 trunk/arch/mips/include/uapi/asm/errno.h rename trunk/arch/mips/include/{ => uapi}/asm/fcntl.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/ioctl.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/ipcbuf.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/kvm_para.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/mman.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/msgbuf.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/param.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/poll.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/mips/include/uapi/asm/ptrace.h rename trunk/arch/mips/include/{ => uapi}/asm/resource.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/sembuf.h (100%) create mode 100644 trunk/arch/mips/include/uapi/asm/setup.h rename trunk/arch/mips/include/{ => uapi}/asm/sgidefs.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/shmbuf.h (100%) create mode 100644 trunk/arch/mips/include/uapi/asm/sigcontext.h create mode 100644 trunk/arch/mips/include/uapi/asm/siginfo.h create mode 100644 trunk/arch/mips/include/uapi/asm/signal.h create mode 100644 trunk/arch/mips/include/uapi/asm/socket.h rename trunk/arch/mips/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/statfs.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/swab.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/sysmips.h (100%) rename trunk/arch/mips/include/{ => uapi}/asm/termbits.h (100%) create mode 100644 trunk/arch/mips/include/uapi/asm/termios.h create mode 100644 trunk/arch/mips/include/uapi/asm/types.h create mode 100644 trunk/arch/mips/include/uapi/asm/unistd.h create mode 100644 trunk/arch/mips/jz4740/pwm.c create mode 100644 trunk/arch/mips/jz4740/timer.h create mode 100644 trunk/arch/mips/kernel/kspd.c create mode 100644 trunk/arch/mn10300/include/asm/exec.h create mode 100644 trunk/arch/parisc/include/asm/exec.h rename trunk/arch/s390/include/{uapi => }/asm/auxvec.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/bitsperlong.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/byteorder.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/chsc.h (92%) rename trunk/arch/s390/include/{uapi => }/asm/dasd.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/errno.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/fcntl.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/ioctl.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/ioctls.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/ipcbuf.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/kvm.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/kvm_virtio.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/monwriter.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/msgbuf.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/param.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/poll.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/posix_types.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/qeth.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/resource.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/sembuf.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/shmbuf.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/sigcontext.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/siginfo.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/socket.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/sockios.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/stat.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/statfs.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/swab.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/tape390.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/termbits.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/ucontext.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/vtoc.h (100%) rename trunk/arch/s390/include/{uapi => }/asm/zcrypt.h (100%) delete mode 100644 trunk/arch/s390/include/uapi/asm/chpid.h delete mode 100644 trunk/arch/s390/include/uapi/asm/cmb.h delete mode 100644 trunk/arch/s390/include/uapi/asm/debug.h delete mode 100644 trunk/arch/s390/include/uapi/asm/kvm_para.h delete mode 100644 trunk/arch/s390/include/uapi/asm/mman.h delete mode 100644 trunk/arch/s390/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/s390/include/uapi/asm/schid.h delete mode 100644 trunk/arch/s390/include/uapi/asm/setup.h delete mode 100644 trunk/arch/s390/include/uapi/asm/signal.h delete mode 100644 trunk/arch/s390/include/uapi/asm/termios.h delete mode 100644 trunk/arch/s390/include/uapi/asm/types.h delete mode 100644 trunk/arch/s390/include/uapi/asm/unistd.h delete mode 100644 trunk/arch/s390/mm/dump_pagetables.c create mode 100644 trunk/arch/sh/include/asm/exec.h rename trunk/arch/sparc/include/{uapi => }/asm/apc.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/asi.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/auxvec.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/bitsperlong.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/byteorder.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/display7seg.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/envctrl.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/errno.h (100%) create mode 100644 trunk/arch/sparc/include/asm/exec.h rename trunk/arch/sparc/include/{uapi => }/asm/fcntl.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/ioctl.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/ipcbuf.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/jsflash.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/kvm_para.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/msgbuf.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/openpromio.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/param.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/perfctr.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/poll.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/posix_types.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/psrcompat.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/pstate.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/resource.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/sembuf.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/shmbuf.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/socket.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/sockios.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/stat.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/statfs.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/swab.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/types.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/uctx.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/utrap.h (100%) rename trunk/arch/sparc/include/{uapi => }/asm/watchdog.h (100%) delete mode 100644 trunk/arch/sparc/include/uapi/asm/fbio.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/ioctls.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/mman.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/psr.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/setup.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/sigcontext.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/siginfo.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/signal.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/termbits.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/termios.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/traps.h delete mode 100644 trunk/arch/sparc/include/uapi/asm/unistd.h create mode 100644 trunk/arch/tile/include/asm/exec.h rename trunk/arch/um/include/{asm => shared}/sysrq.h (100%) create mode 100644 trunk/arch/um/kernel/internal.h create mode 100644 trunk/arch/unicore32/include/asm/exec.h create mode 100644 trunk/arch/unicore32/kernel/pwm.c create mode 100644 trunk/arch/x86/kernel/sys_i386_32.c create mode 100644 trunk/arch/x86/um/asm/ptrace_32.h create mode 100644 trunk/arch/x86/um/asm/ptrace_64.h create mode 100644 trunk/arch/xtensa/include/asm/exec.h delete mode 100644 trunk/drivers/dma/edma.c delete mode 100644 trunk/drivers/dma/mmp_pdma.c delete mode 100644 trunk/drivers/i2c/busses/i2c-rcar.c create mode 100644 trunk/drivers/leds/leds-lm3556.c delete mode 100644 trunk/drivers/leds/leds-lm355x.c delete mode 100644 trunk/drivers/leds/leds-lm3642.c rename trunk/drivers/{pwm/pwm-ab8500.c => misc/ab8500-pwm.c} (52%) delete mode 100644 trunk/drivers/mmc/host/dw_mmc-exynos.c delete mode 100644 trunk/drivers/mmc/host/dw_mmc-pltfm.h delete mode 100644 trunk/drivers/mtd/bcm47xxpart.c delete mode 100644 trunk/drivers/mtd/devices/bcm47xxsflash.c create mode 100644 trunk/drivers/mtd/maps/wr_sbc82xx_flash.c create mode 100644 trunk/drivers/mtd/nand/bcm_umi_bch.c create mode 100644 trunk/drivers/mtd/nand/bcm_umi_nand.c delete mode 100644 trunk/drivers/mtd/nand/lpc32xx_mlc.c delete mode 100644 trunk/drivers/mtd/nand/lpc32xx_slc.c create mode 100644 trunk/drivers/mtd/nand/nand_bcm_umi.c create mode 100644 trunk/drivers/mtd/nand/nand_bcm_umi.h delete mode 100644 trunk/drivers/mtd/nand/xway_nand.c delete mode 100644 trunk/drivers/mtd/tests/mtd_nandbiterrs.c delete mode 100644 trunk/drivers/pwm/pwm-jz4740.c delete mode 100644 trunk/drivers/pwm/pwm-puv3.c rename trunk/include/{uapi => }/linux/caif/caif_socket.h (100%) rename trunk/include/{uapi => }/linux/caif/if_caif.h (100%) delete mode 100644 trunk/include/linux/edma.h delete mode 100644 trunk/include/linux/i2c/i2c-rcar.h rename trunk/include/{uapi => }/linux/isdn/capicmd.h (100%) delete mode 100644 trunk/include/linux/mtd/lpc32xx_mlc.h delete mode 100644 trunk/include/linux/mtd/lpc32xx_slc.h rename trunk/include/{uapi => }/linux/netfilter/nf_conntrack_sctp.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nf_conntrack_tuple_common.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nf_nat.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nfnetlink_compat.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nfnetlink_conntrack.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nfnetlink_cthelper.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nfnetlink_cttimeout.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nfnetlink_log.h (100%) rename trunk/include/{uapi => }/linux/netfilter/nfnetlink_queue.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_AUDIT.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_CHECKSUM.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_CLASSIFY.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_CONNMARK.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_CONNSECMARK.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_CT.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_DSCP.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_IDLETIMER.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_LED.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_LOG.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_MARK.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_NFLOG.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_NFQUEUE.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_RATEEST.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_SECMARK.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_TCPMSS.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_TCPOPTSTRIP.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_TEE.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_TPROXY.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_addrtype.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_cluster.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_comment.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_connbytes.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_connlimit.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_connmark.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_conntrack.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_cpu.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_dccp.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_devgroup.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_dscp.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_ecn.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_esp.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_helper.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_iprange.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_ipvs.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_length.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_limit.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_mac.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_mark.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_multiport.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_nfacct.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_osf.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_owner.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_pkttype.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_policy.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_quota.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_rateest.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_realm.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_recent.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_sctp.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_set.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_socket.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_state.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_statistic.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_string.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_tcpmss.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_tcpudp.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_time.h (100%) rename trunk/include/{uapi => }/linux/netfilter/xt_u32.h (100%) rename trunk/include/{uapi => }/linux/netfilter_arp/arpt_mangle.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_among.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_arp.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_arpreply.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_ip.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_ip6.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_limit.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_log.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_mark_m.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_mark_t.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_nat.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_nflog.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_pkttype.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_redirect.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_stp.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_ulog.h (100%) rename trunk/include/{uapi => }/linux/netfilter_bridge/ebt_vlan.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_CLUSTERIP.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_ECN.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_LOG.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_REJECT.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_TTL.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_ULOG.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_ah.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_ecn.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv4/ipt_ttl.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_HL.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_LOG.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_NPT.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_REJECT.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_ah.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_frag.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_hl.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_ipv6header.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_mh.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_opts.h (100%) rename trunk/include/{uapi => }/linux/netfilter_ipv6/ip6t_rt.h (100%) delete mode 100644 trunk/include/linux/percpu-rwsem.h create mode 100644 trunk/include/linux/platform_data/leds-lm3556.h delete mode 100644 trunk/include/linux/platform_data/leds-lm355x.h delete mode 100644 trunk/include/linux/platform_data/leds-lm3642.h delete mode 100644 trunk/include/linux/platform_data/leds-pca9633.h delete mode 100644 trunk/include/linux/platform_data/mmp_dma.h rename trunk/include/{uapi => }/linux/tc_act/tc_csum.h (100%) rename trunk/include/{uapi => }/linux/tc_act/tc_gact.h (100%) rename trunk/include/{uapi => }/linux/tc_act/tc_ipt.h (100%) rename trunk/include/{uapi => }/linux/tc_act/tc_mirred.h (100%) rename trunk/include/{uapi => }/linux/tc_act/tc_nat.h (100%) rename trunk/include/{uapi => }/linux/tc_act/tc_pedit.h (100%) rename trunk/include/{uapi => }/linux/tc_act/tc_skbedit.h (100%) rename trunk/include/{uapi => }/linux/tc_ematch/tc_em_cmp.h (100%) rename trunk/include/{uapi => }/linux/tc_ematch/tc_em_meta.h (100%) rename trunk/include/{uapi => }/linux/tc_ematch/tc_em_nbyte.h (100%) rename trunk/include/{uapi => }/linux/tc_ematch/tc_em_text.h (100%) rename trunk/include/{uapi => }/mtd/inftl-user.h (100%) rename trunk/include/{uapi => }/mtd/mtd-abi.h (100%) rename trunk/include/{uapi => }/mtd/mtd-user.h (100%) rename trunk/include/{uapi => }/mtd/nftl-user.h (100%) rename trunk/include/{uapi => }/mtd/ubi-user.h (100%) delete mode 100644 trunk/include/uapi/linux/netfilter/ipset/ip_set.h delete mode 100644 trunk/include/uapi/linux/netfilter/ipset/ip_set_bitmap.h delete mode 100644 trunk/include/uapi/linux/netfilter/ipset/ip_set_hash.h delete mode 100644 trunk/include/uapi/linux/netfilter/ipset/ip_set_list.h delete mode 100644 trunk/include/uapi/linux/netfilter/nf_conntrack_common.h delete mode 100644 trunk/include/uapi/linux/netfilter/nf_conntrack_ftp.h delete mode 100644 trunk/include/uapi/linux/netfilter/nf_conntrack_tcp.h delete mode 100644 trunk/include/uapi/linux/netfilter/nfnetlink.h delete mode 100644 trunk/include/uapi/linux/netfilter/nfnetlink_acct.h delete mode 100644 trunk/include/uapi/linux/netfilter/x_tables.h delete mode 100644 trunk/include/uapi/linux/netfilter/xt_hashlimit.h delete mode 100644 trunk/include/uapi/linux/netfilter/xt_physdev.h delete mode 100644 trunk/include/uapi/linux/netfilter_arp/arp_tables.h delete mode 100644 trunk/include/uapi/linux/netfilter_bridge/ebt_802_3.h delete mode 100644 trunk/include/uapi/linux/netfilter_bridge/ebtables.h delete mode 100644 trunk/include/uapi/linux/netfilter_ipv4/ip_tables.h delete mode 100644 trunk/include/uapi/linux/netfilter_ipv6/ip6_tables.h diff --git a/[refs] b/[refs] index 43603608f5d8..6efeed344e03 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 49a94e9482e70777ae0e03351a0c2c18bbdfebda +refs/heads/master: 61730c538f8281efa7ac12596da9f3f9a31b9272 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/mtdnand.tmpl b/trunk/Documentation/DocBook/mtdnand.tmpl index fe122d6e686f..e0aedb7a7827 100644 --- a/trunk/Documentation/DocBook/mtdnand.tmpl +++ b/trunk/Documentation/DocBook/mtdnand.tmpl @@ -1216,6 +1216,8 @@ in this page #define NAND_BBT_LASTBLOCK 0x00000010 /* The bbt is at the given page, else we must scan for the bbt */ #define NAND_BBT_ABSPAGE 0x00000020 +/* The bbt is at the given page, else we must scan for the bbt */ +#define NAND_BBT_SEARCH 0x00000040 /* bbt is stored per chip on multichip devices */ #define NAND_BBT_PERCHIP 0x00000080 /* bbt has a version counter at offset veroffs */ 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/arm/davinci/nand.txt b/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt deleted file mode 100644 index e37241f1fdd8..000000000000 --- a/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt +++ /dev/null @@ -1,51 +0,0 @@ -* Texas Instruments Davinci NAND - -This file provides information, what the device node for the -davinci nand interface contain. - -Required properties: -- compatible: "ti,davinci-nand"; -- reg : contain 2 offset/length values: - - offset and length for the access window - - offset and length for accessing the aemif control registers -- ti,davinci-chipselect: Indicates on the davinci_nand driver which - chipselect is used for accessing the nand. - -Recommended properties : -- ti,davinci-mask-ale: mask for ale -- ti,davinci-mask-cle: mask for cle -- ti,davinci-mask-chipsel: mask for chipselect -- ti,davinci-ecc-mode: ECC mode valid values for davinci driver: - - "none" - - "soft" - - "hw" -- ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4. -- ti,davinci-nand-buswidth: buswidth 8 or 16 -- ti,davinci-nand-use-bbt: use flash based bad block table support. - -Example (enbw_cmc board): -aemif@60000000 { - compatible = "ti,davinci-aemif"; - #address-cells = <2>; - #size-cells = <1>; - reg = <0x68000000 0x80000>; - ranges = <2 0 0x60000000 0x02000000 - 3 0 0x62000000 0x02000000 - 4 0 0x64000000 0x02000000 - 5 0 0x66000000 0x02000000 - 6 0 0x68000000 0x02000000>; - nand@3,0 { - compatible = "ti,davinci-nand"; - reg = <3 0x0 0x807ff - 6 0x0 0x8000>; - #address-cells = <1>; - #size-cells = <1>; - ti,davinci-chipselect = <1>; - ti,davinci-mask-ale = <0>; - ti,davinci-mask-cle = <0>; - ti,davinci-mask-chipsel = <0>; - ti,davinci-ecc-mode = "hw"; - ti,davinci-ecc-bits = <4>; - ti,davinci-nand-use-bbt; - }; -}; 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/mmc/atmel-hsmci.txt b/trunk/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt deleted file mode 100644 index 0a85c70cd30a..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt +++ /dev/null @@ -1,68 +0,0 @@ -* Atmel High Speed MultiMedia Card Interface - -This controller on atmel products provides an interface for MMC, SD and SDIO -types of memory cards. - -This file documents differences between the core properties described -by mmc.txt and the properties used by the atmel-mci driver. - -1) MCI node - -Required properties: -- compatible: should be "atmel,hsmci" -- #address-cells: should be one. The cell is the slot id. -- #size-cells: should be zero. -- at least one slot node - -The node contains child nodes for each slot that the platform uses - -Example MCI node: - -mmc0: mmc@f0008000 { - compatible = "atmel,hsmci"; - reg = <0xf0008000 0x600>; - interrupts = <12 4>; - #address-cells = <1>; - #size-cells = <0>; - - [ child node definitions...] -}; - -2) slot nodes - -Required properties: -- reg: should contain the slot id. -- bus-width: number of data lines connected to the controller - -Optional properties: -- cd-gpios: specify GPIOs for card detection -- cd-inverted: invert the value of external card detect gpio line -- wp-gpios: specify GPIOs for write protection - -Example slot node: - -slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioD 15 0> - cd-inverted; -}; - -Example full MCI node: -mmc0: mmc@f0008000 { - compatible = "atmel,hsmci"; - reg = <0xf0008000 0x600>; - interrupts = <12 4>; - #address-cells = <1>; - #size-cells = <0>; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioD 15 0> - cd-inverted; - }; - slot@1 { - reg = <1>; - bus-width = <4>; - }; -}; diff --git a/trunk/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/trunk/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt deleted file mode 100644 index 792768953330..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt +++ /dev/null @@ -1,87 +0,0 @@ -* Samsung Exynos specific extensions to the Synopsis Designware Mobile - Storage Host Controller - -The Synopsis designware mobile storage host controller is used to interface -a SoC with storage medium such as eMMC or SD/MMC cards. This file documents -differences between the core Synopsis dw mshc controller properties described -by synposis-dw-mshc.txt and the properties used by the Samsung Exynos specific -extensions to the Synopsis Designware Mobile Storage Host Controller. - -Required Properties: - -* compatible: should be - - "samsung,exynos4210-dw-mshc": for controllers with Samsung Exynos4210 - specific extentions. - - "samsung,exynos4412-dw-mshc": for controllers with Samsung Exynos4412 - specific extentions. - - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250 - specific extentions. - -* samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface - unit (ciu) clock. This property is applicable only for Exynos5 SoC's and - ignored for Exynos4 SoC's. The valid range of divider value is 0 to 7. - -* samsung,dw-mshc-sdr-timing: Specifies the value of CIU clock phase shift value - in transmit mode and CIU clock phase shift value in receive mode for single - data rate mode operation. Refer notes below for the order of the cells and the - valid values. - -* samsung,dw-mshc-ddr-timing: Specifies the value of CUI clock phase shift value - in transmit mode and CIU clock phase shift value in receive mode for double - data rate mode operation. Refer notes below for the order of the cells and the - valid values. - - Notes for the sdr-timing and ddr-timing values: - - The order of the cells should be - - First Cell: CIU clock phase shift value for tx mode. - - Second Cell: CIU clock phase shift value for rx mode. - - Valid values for SDR and DDR CIU clock timing for Exynos5250: - - valid value for tx phase shift and rx phase shift is 0 to 7. - - when CIU clock divider value is set to 3, all possible 8 phase shift - values can be used. - - if CIU clock divider value is 0 (that is divide by 1), both tx and rx - phase shift clocks should be 0. - -Required properties for a slot: - -* gpios: specifies a list of gpios used for command, clock and data bus. The - first gpio is the command line and the second gpio is the clock line. The - rest of the gpios (depending on the bus-width property) are the data lines in - no particular order. The format of the gpio specifier depends on the gpio - controller. - -Example: - - The MSHC controller node can be split into two portions, SoC specific and - board specific portions as listed below. - - dwmmc0@12200000 { - compatible = "samsung,exynos5250-dw-mshc"; - reg = <0x12200000 0x1000>; - interrupts = <0 75 0>; - #address-cells = <1>; - #size-cells = <0>; - }; - - dwmmc0@12200000 { - num-slots = <1>; - supports-highspeed; - broken-cd; - fifo-depth = <0x80>; - card-detect-delay = <200>; - samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <2 3>; - samsung,dw-mshc-ddr-timing = <1 2>; - - slot@0 { - reg = <0>; - bus-width = <8>; - gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>, - <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>, - <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>, - <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>, - <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>; - }; - }; diff --git a/trunk/Documentation/devicetree/bindings/mmc/mmc.txt b/trunk/Documentation/devicetree/bindings/mmc/mmc.txt index 8e2e0ba2f486..8a6811f4a02f 100644 --- a/trunk/Documentation/devicetree/bindings/mmc/mmc.txt +++ b/trunk/Documentation/devicetree/bindings/mmc/mmc.txt @@ -9,17 +9,12 @@ Interpreted by the OF core: Required properties: - bus-width: Number of data lines, can be <1>, <4>, or <8> -Card detection: -If no property below is supplied, standard SDHCI card detect is used. -Only one of the properties in this section should be supplied: - - broken-cd: There is no card detection available; polling must be used. - - cd-gpios: Specify GPIOs for card detection, see gpio binding - - non-removable: non-removable slot (like eMMC); assume always present. - Optional properties: +- cd-gpios: Specify GPIOs for card detection, see gpio binding - wp-gpios: Specify GPIOs for write protection, see gpio binding - cd-inverted: when present, polarity on the cd gpio line is inverted - wp-inverted: when present, polarity on the wp gpio line is inverted +- non-removable: non-removable slot (like eMMC) - max-frequency: maximum operating clock frequency Example: diff --git a/trunk/Documentation/devicetree/bindings/mmc/pxa-mmc.txt b/trunk/Documentation/devicetree/bindings/mmc/pxa-mmc.txt deleted file mode 100644 index b7025de7dced..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/pxa-mmc.txt +++ /dev/null @@ -1,25 +0,0 @@ -* PXA MMC drivers - -Driver bindings for the PXA MCI (MMC/SDIO) interfaces - -Required properties: -- compatible: Should be "marvell,pxa-mmc". -- vmmc-supply: A regulator for VMMC - -Optional properties: -- marvell,detect-delay-ms: sets the detection delay timeout in ms. -- marvell,gpio-power: GPIO spec for the card power enable pin - -This file documents differences between the core properties in mmc.txt -and the properties used by the pxa-mmc driver. - -Examples: - -mmc0: mmc@41100000 { - compatible = "marvell,pxa-mmc"; - reg = <0x41100000 0x1000>; - interrupts = <23>; - cd-gpios = <&gpio 23 0>; - wp-gpios = <&gpio 24 0>; -}; - diff --git a/trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt b/trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt deleted file mode 100644 index 630a7d7f4718..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt +++ /dev/null @@ -1,53 +0,0 @@ -* Samsung's SDHCI Controller device tree bindings - -Samsung's SDHCI controller is used as a connectivity interface with external -MMC, SD and eMMC storage mediums. This file documents differences between the -core mmc properties described by mmc.txt and the properties used by the -Samsung implmentation of the SDHCI controller. - -Note: The mmc core bindings documentation states that if none of the core -card-detect bindings are used, then the standard sdhci card detect mechanism -is used. The Samsung's SDHCI controller bindings extends this as listed below. - -[A] The property "samsung,cd-pinmux-gpio" can be used as stated in the - "Optional Board Specific Properties" section below. - -[B] If core card-detect bindings and "samsung,cd-pinmux-gpio" property - is not specified, it is assumed that there is no card detection - mechanism used. - -Required SoC Specific Properties: -- compatible: should be one of the following - - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci - controller. - - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci - controller. - -Required Board Specific Properties: -- gpios: Should specify the gpios used for clock, command and data lines. The - gpio specifier format depends on the gpio controller. - -Optional Board Specific Properties: -- samsung,cd-pinmux-gpio: Specifies the card detect line that is routed - through a pinmux to the card-detect pin of the card slot. This property - should be used only if none of the mmc core card-detect properties are - used. - -Example: - sdhci@12530000 { - compatible = "samsung,exynos4210-sdhci"; - reg = <0x12530000 0x100>; - interrupts = <0 75 0>; - bus-width = <4>; - cd-gpios = <&gpk2 2 2 3 3>; - gpios = <&gpk2 0 2 0 3>, /* clock line */ - <&gpk2 1 2 0 3>, /* command line */ - <&gpk2 3 2 3 3>, /* data line 0 */ - <&gpk2 4 2 3 3>, /* data line 1 */ - <&gpk2 5 2 3 3>, /* data line 2 */ - <&gpk2 6 2 3 3>; /* data line 3 */ - }; - - Note: This example shows both SoC specific and board specific properties - in a single device node. The properties can be actually be seperated - into SoC specific node and board specific node. diff --git a/trunk/Documentation/devicetree/bindings/mmc/sdhci-dove.txt b/trunk/Documentation/devicetree/bindings/mmc/sdhci-dove.txt deleted file mode 100644 index ae9aab9abcd7..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/sdhci-dove.txt +++ /dev/null @@ -1,14 +0,0 @@ -* Marvell sdhci-dove controller - -This file documents differences between the core properties in mmc.txt -and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers. - -- compatible: Should be "marvell,dove-sdhci". - -Example: - -sdio0: sdio@92000 { - compatible = "marvell,dove-sdhci"; - reg = <0x92000 0x100>; - interrupts = <35>; -}; diff --git a/trunk/Documentation/devicetree/bindings/mmc/sdhci-spear.txt b/trunk/Documentation/devicetree/bindings/mmc/sdhci-spear.txt deleted file mode 100644 index fd3643e7e467..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/sdhci-spear.txt +++ /dev/null @@ -1,18 +0,0 @@ -* SPEAr SDHCI Controller - -This file documents differences between the core properties in mmc.txt -and the properties used by the sdhci-spear driver. - -Required properties: -- compatible: "st,spear300-sdhci" - -Optional properties: -- cd-gpios: card detect gpio, with zero flags. - -Example: - - sdhci@fc000000 { - compatible = "st,spear300-sdhci"; - reg = <0xfc000000 0x1000>; - cd-gpios = <&gpio0 6 0>; - }; diff --git a/trunk/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt b/trunk/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt deleted file mode 100644 index 06cd32d08052..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt +++ /dev/null @@ -1,79 +0,0 @@ -* Synopsis Designware Mobile Storage Host Controller - -The Synopsis designware mobile storage host controller is used to interface -a SoC with storage medium such as eMMC or SD/MMC cards. This file documents -differences between the core mmc properties described by mmc.txt and the -properties used by the Synopsis Designware Mobile Storage Host Controller. - -Required Properties: - -* compatible: should be - - snps,dw-mshc: for controllers compliant with synopsis dw-mshc. -* #address-cells: should be 1. -* #size-cells: should be 0. - -# Slots: The slot specific information are contained within child-nodes with - each child-node representing a supported slot. There should be atleast one - child node representing a card slot. The name of the child node representing - the slot is recommended to be slot@n where n is the unique number of the slot - connnected to the controller. The following are optional properties which - can be included in the slot child node. - - * reg: specifies the physical slot number. The valid values of this - property is 0 to (num-slots -1), where num-slots is the value - specified by the num-slots property. - - * bus-width: as documented in mmc core bindings. - - * wp-gpios: specifies the write protect gpio line. The format of the - gpio specifier depends on the gpio controller. If the write-protect - line is not available, this property is optional. - -Optional properties: - -* num-slots: specifies the number of slots supported by the controller. - The number of physical slots actually used could be equal or less than the - value specified by num-slots. If this property is not specified, the value - of num-slot property is assumed to be 1. - -* fifo-depth: The maximum size of the tx/rx fifo's. If this property is not - specified, the default value of the fifo size is determined from the - controller registers. - -* card-detect-delay: Delay in milli-seconds before detecting card after card - insert event. The default value is 0. - -* supports-highspeed: Enables support for high speed cards (upto 50MHz) - -* broken-cd: as documented in mmc core bindings. - -Aliases: - -- All the MSHC controller nodes should be represented in the aliases node using - the following format 'mshc{n}' where n is a unique number for the alias. - -Example: - -The MSHC controller node can be split into two portions, SoC specific and -board specific portions as listed below. - - dwmmc0@12200000 { - compatible = "snps,dw-mshc"; - reg = <0x12200000 0x1000>; - interrupts = <0 75 0>; - #address-cells = <1>; - #size-cells = <0>; - }; - - dwmmc0@12200000 { - num-slots = <1>; - supports-highspeed; - broken-cd; - fifo-depth = <0x80>; - card-detect-delay = <200>; - - slot@0 { - reg = <0>; - bus-width = <8>; - }; - }; diff --git a/trunk/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/trunk/Documentation/devicetree/bindings/mtd/atmel-nand.txt index d555421ea49f..a20069502f5a 100644 --- a/trunk/Documentation/devicetree/bindings/mtd/atmel-nand.txt +++ b/trunk/Documentation/devicetree/bindings/mtd/atmel-nand.txt @@ -3,9 +3,7 @@ Atmel NAND flash Required properties: - compatible : "atmel,at91rm9200-nand". - reg : should specify localbus address and size used for the chip, - and hardware ECC controller if available. - If the hardware ECC is PMECC, it should contain address and size for - PMECC, PMECC Error Location controller and ROM which has lookup tables. + and if availlable the ECC. - atmel,nand-addr-offset : offset for the address latch. - atmel,nand-cmd-offset : offset for the command latch. - #address-cells, #size-cells : Must be present if the device has sub-nodes @@ -18,15 +16,6 @@ Optional properties: - nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default. Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first", "soft_bch". -- atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware. - Only supported by at91sam9x5 or later sam9 product. -- atmel,pmecc-cap : error correct capability for Programmable Multibit ECC - Controller. Supported values are: 2, 4, 8, 12, 24. -- atmel,pmecc-sector-size : sector size for ECC computation. Supported values - are: 512, 1024. -- atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM - for different sector size. First one is for sector size 512, the next is for - sector size 1024. - nand-bus-width : 8 or 16 bus width if not present 8 - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false @@ -50,30 +39,3 @@ nand0: nand@40000000,0 { ... }; }; - -/* for PMECC supported chips */ -nand0: nand@40000000 { - compatible = "atmel,at91rm9200-nand"; - #address-cells = <1>; - #size-cells = <1>; - reg = < 0x40000000 0x10000000 /* bus addr & size */ - 0xffffe000 0x00000600 /* PMECC addr & size */ - 0xffffe600 0x00000200 /* PMECC ERRLOC addr & size */ - 0x00100000 0x00100000 /* ROM addr & size */ - >; - atmel,nand-addr-offset = <21>; /* ale */ - atmel,nand-cmd-offset = <22>; /* cle */ - nand-on-flash-bbt; - nand-ecc-mode = "hw"; - atmel,has-pmecc; /* enable PMECC */ - atmel,pmecc-cap = <2>; - atmel,pmecc-sector-size = <512>; - atmel,pmecc-lookup-table-offset = <0x8000 0x10000>; - gpios = <&pioD 5 0 /* rdy */ - &pioD 4 0 /* nce */ - 0 /* cd */ - >; - partition@0 { - ... - }; -}; diff --git a/trunk/Documentation/devicetree/bindings/mtd/gpmi-nand.txt b/trunk/Documentation/devicetree/bindings/mtd/gpmi-nand.txt index 3fb3f9015365..1a5bbd346d22 100644 --- a/trunk/Documentation/devicetree/bindings/mtd/gpmi-nand.txt +++ b/trunk/Documentation/devicetree/bindings/mtd/gpmi-nand.txt @@ -12,10 +12,6 @@ Required properties: - interrupt-names : The interrupt names "gpmi-dma", "bch"; - fsl,gpmi-dma-channel : Should contain the dma channel it uses. -Optional properties: - - nand-on-flash-bbt: boolean to enable on flash bbt option if not - present false - The device tree may optionally contain sub-nodes describing partitions of the address space. See partition.txt for more detail. diff --git a/trunk/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt b/trunk/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt deleted file mode 100644 index d0a37252eb22..000000000000 --- a/trunk/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt +++ /dev/null @@ -1,50 +0,0 @@ -NXP LPC32xx SoC NAND MLC controller - -Required properties: -- compatible: "nxp,lpc3220-mlc" -- reg: Address and size of the controller -- interrupts: The NAND interrupt specification -- gpios: GPIO specification for NAND write protect - -The following required properties are very controller specific. See the LPC32xx -User Manual 7.5.14 MLC NAND Timing Register (the values here are specified in -Hz, to make them independent of actual clock speed and to provide for good -accuracy:) -- nxp,tcea_delay: TCEA_DELAY -- nxp,busy_delay: BUSY_DELAY -- nxp,nand_ta: NAND_TA -- nxp,rd_high: RD_HIGH -- nxp,rd_low: RD_LOW -- nxp,wr_high: WR_HIGH -- nxp,wr_low: WR_LOW - -Optional subnodes: -- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt - -Example: - - mlc: flash@200A8000 { - compatible = "nxp,lpc3220-mlc"; - reg = <0x200A8000 0x11000>; - interrupts = <11 0>; - #address-cells = <1>; - #size-cells = <1>; - - nxp,tcea-delay = <333333333>; - nxp,busy-delay = <10000000>; - nxp,nand-ta = <18181818>; - nxp,rd-high = <31250000>; - nxp,rd-low = <45454545>; - nxp,wr-high = <40000000>; - nxp,wr-low = <83333333>; - gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */ - - mtd0@00000000 { - label = "boot"; - reg = <0x00000000 0x00064000>; - read-only; - }; - - ... - - }; diff --git a/trunk/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt b/trunk/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt deleted file mode 100644 index d94edc0fc554..000000000000 --- a/trunk/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt +++ /dev/null @@ -1,52 +0,0 @@ -NXP LPC32xx SoC NAND SLC controller - -Required properties: -- compatible: "nxp,lpc3220-slc" -- reg: Address and size of the controller -- nand-on-flash-bbt: Use bad block table on flash -- gpios: GPIO specification for NAND write protect - -The following required properties are very controller specific. See the LPC32xx -User Manual: -- nxp,wdr-clks: Delay before Ready signal is tested on write (W_RDY) -- nxp,rdr-clks: Delay before Ready signal is tested on read (R_RDY) -(The following values are specified in Hz, to make them independent of actual -clock speed:) -- nxp,wwidth: Write pulse width (W_WIDTH) -- nxp,whold: Write hold time (W_HOLD) -- nxp,wsetup: Write setup time (W_SETUP) -- nxp,rwidth: Read pulse width (R_WIDTH) -- nxp,rhold: Read hold time (R_HOLD) -- nxp,rsetup: Read setup time (R_SETUP) - -Optional subnodes: -- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt - -Example: - - slc: flash@20020000 { - compatible = "nxp,lpc3220-slc"; - reg = <0x20020000 0x1000>; - #address-cells = <1>; - #size-cells = <1>; - - nxp,wdr-clks = <14>; - nxp,wwidth = <40000000>; - nxp,whold = <100000000>; - nxp,wsetup = <100000000>; - nxp,rdr-clks = <14>; - nxp,rwidth = <40000000>; - nxp,rhold = <66666666>; - nxp,rsetup = <100000000>; - nand-on-flash-bbt; - gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */ - - mtd0@00000000 { - label = "phy3250-boot"; - reg = <0x00000000 0x00064000>; - read-only; - }; - - ... - - }; diff --git a/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt index 94de19b8f16b..a63c2bd7de2b 100644 --- a/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt +++ b/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt @@ -16,13 +16,6 @@ file systems on embedded devices. - #address-cells, #size-cells : Must be present if the device has sub-nodes representing partitions (see below). In this case both #address-cells and #size-cells must be equal to 1. - - no-unaligned-direct-access: boolean to disable the default direct - mapping of the flash. - On some platforms (e.g. MPC5200) a direct 1:1 mapping may cause - problems with JFFS2 usage, as the local bus (LPB) doesn't support - unaligned accesses as implemented in the JFFS2 code via memcpy(). - By defining "no-unaligned-direct-access", the flash will not be - exposed directly to the MTD users (e.g. JFFS2) any more. For JEDEC compatible devices, the following additional properties are defined: diff --git a/trunk/Documentation/devicetree/bindings/pwm/imx-pwm.txt b/trunk/Documentation/devicetree/bindings/pwm/imx-pwm.txt deleted file mode 100644 index 8522bfbccfd7..000000000000 --- a/trunk/Documentation/devicetree/bindings/pwm/imx-pwm.txt +++ /dev/null @@ -1,17 +0,0 @@ -Freescale i.MX PWM controller - -Required properties: -- compatible: should be "fsl,-pwm" -- reg: physical base address and length of the controller's registers -- #pwm-cells: should be 2. The first cell specifies the per-chip index - of the PWM to use and the second cell is the period in nanoseconds. -- interrupts: The interrupt for the pwm controller - -Example: - -pwm1: pwm@53fb4000 { - #pwm-cells = <2>; - compatible = "fsl,imx53-pwm", "fsl,imx27-pwm"; - reg = <0x53fb4000 0x4000>; - interrupts = <61>; -}; diff --git a/trunk/Documentation/devicetree/bindings/pwm/mxs-pwm.txt b/trunk/Documentation/devicetree/bindings/pwm/mxs-pwm.txt index 9e3f8f1d46a2..11963e4d6bc4 100644 --- a/trunk/Documentation/devicetree/bindings/pwm/mxs-pwm.txt +++ b/trunk/Documentation/devicetree/bindings/pwm/mxs-pwm.txt @@ -4,7 +4,7 @@ Required properties: - compatible: should be "fsl,imx23-pwm" - reg: physical base address and length of the controller's registers - #pwm-cells: should be 2. The first cell specifies the per-chip index - of the PWM to use and the second cell is the period in nanoseconds. + of the PWM to use and the second cell is the duty cycle in nanoseconds. - fsl,pwm-number: the number of PWM devices Example: diff --git a/trunk/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt b/trunk/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt index 01438ecd6628..bbbeedb4ec05 100644 --- a/trunk/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt +++ b/trunk/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt @@ -7,7 +7,7 @@ Required properties: - reg: physical base address and length of the controller's registers - #pwm-cells: On Tegra the number of cells used to specify a PWM is 2. The first cell specifies the per-chip index of the PWM to use and the second - cell is the period in nanoseconds. + cell is the duty cycle in nanoseconds. Example: 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/driver-model/devres.txt b/trunk/Documentation/driver-model/devres.txt index 43cff70465ab..950856bd2e39 100644 --- a/trunk/Documentation/driver-model/devres.txt +++ b/trunk/Documentation/driver-model/devres.txt @@ -284,7 +284,3 @@ CLOCK PINCTRL devm_pinctrl_get() devm_pinctrl_put() - -PWM - devm_pwm_get() - devm_pwm_put() 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/leds/leds-lp5523.txt b/trunk/Documentation/leds/leds-lp5523.txt index c2743f59f9ac..fad2feb8b7ce 100644 --- a/trunk/Documentation/leds/leds-lp5523.txt +++ b/trunk/Documentation/leds/leds-lp5523.txt @@ -10,22 +10,8 @@ Contact: Samu Onkalo (samu.p.onkalo-at-nokia.com) Description ----------- LP5523 can drive up to 9 channels. Leds can be controlled directly via -the led class control interface. -The name of each channel is configurable in the platform data - name and label. -There are three options to make the channel name. - -a) Define the 'name' in the platform data -To make specific channel name, then use 'name' platform data. -/sys/class/leds/R1 (name: 'R1') -/sys/class/leds/B1 (name: 'B1') - -b) Use the 'label' with no 'name' field -For one device name with channel number, then use 'label'. -/sys/class/leds/RGB:channelN (label: 'RGB', N: 0 ~ 8) - -c) Default -If both fields are NULL, 'lp5523' is used by default. -/sys/class/leds/lp5523:channelN (N: 0 ~ 8) +the led class control interface. Channels have generic names: +lp5523:channelx where x is 0...8 The chip provides 3 engines. Each engine can control channels without interaction from the main CPU. Details of the micro engine code can be found @@ -60,13 +46,12 @@ Note - chan_nr can have values between 0 and 8. static struct lp5523_led_config lp5523_led_config[] = { { - .name = "D1", .chan_nr = 0, .led_current = 50, .max_current = 130, }, ... - { + }, { .chan_nr = 8, .led_current = 50, .max_current = 130, 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/pwm.txt b/trunk/Documentation/pwm.txt index 7d2b4c9b544b..554290ebab94 100644 --- a/trunk/Documentation/pwm.txt +++ b/trunk/Documentation/pwm.txt @@ -36,8 +36,7 @@ Legacy users can request a PWM device using pwm_request() and free it after usage with pwm_free(). New users should use the pwm_get() function and pass to it the consumer -device or a consumer name. pwm_put() is used to free the PWM device. Managed -variants of these functions, devm_pwm_get() and devm_pwm_put(), also exist. +device or a consumer name. pwm_put() is used to free the PWM device. After being requested a PWM has to be configured using: diff --git a/trunk/Documentation/target/tcm_mod_builder.py b/trunk/Documentation/target/tcm_mod_builder.py index 3fe0d812dcec..a78879b01f09 100755 --- a/trunk/Documentation/target/tcm_mod_builder.py +++ b/trunk/Documentation/target/tcm_mod_builder.py @@ -402,6 +402,8 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name): buf += " .queue_data_in = " + fabric_mod_name + "_queue_data_in,\n" buf += " .queue_status = " + fabric_mod_name + "_queue_status,\n" buf += " .queue_tm_rsp = " + fabric_mod_name + "_queue_tm_rsp,\n" + buf += " .get_fabric_sense_len = " + fabric_mod_name + "_get_fabric_sense_len,\n" + buf += " .set_fabric_sense_len = " + fabric_mod_name + "_set_fabric_sense_len,\n" buf += " .is_state_remove = " + fabric_mod_name + "_is_state_remove,\n" buf += " /*\n" buf += " * Setup function pointers for generic logic in target_core_fabric_configfs.c\n" @@ -904,6 +906,20 @@ def tcm_mod_dump_fabric_ops(proto_ident, fabric_mod_dir_var, fabric_mod_name): buf += "}\n\n" bufi += "int " + fabric_mod_name + "_queue_tm_rsp(struct se_cmd *);\n" + if re.search('get_fabric_sense_len\)\(', fo): + buf += "u16 " + fabric_mod_name + "_get_fabric_sense_len(void)\n" + buf += "{\n" + buf += " return 0;\n" + buf += "}\n\n" + bufi += "u16 " + fabric_mod_name + "_get_fabric_sense_len(void);\n" + + if re.search('set_fabric_sense_len\)\(', fo): + buf += "u16 " + fabric_mod_name + "_set_fabric_sense_len(struct se_cmd *se_cmd, u32 sense_length)\n" + buf += "{\n" + buf += " return 0;\n" + buf += "}\n\n" + bufi += "u16 " + fabric_mod_name + "_set_fabric_sense_len(struct se_cmd *, u32);\n" + if re.search('is_state_remove\)\(', fo): buf += "int " + fabric_mod_name + "_is_state_remove(struct se_cmd *se_cmd)\n" buf += "{\n" diff --git a/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt b/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt index a5f8436753e7..77dfecf4e2d6 100644 --- a/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt +++ b/trunk/Documentation/virtual/uml/UserModeLinux-HOWTO.txt @@ -3591,7 +3591,7 @@ Looking at the source shows that the fault happened during a call to - copy_from_user to copy the data into the kernel: + copy_to_user to copy the data into the kernel: 107 count -= chars; diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 0f6ff811da07..eae3cd86831e 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -1544,7 +1544,7 @@ S: Supported F: drivers/rtc/rtc-bfin.c BLACKFIN SDH DRIVER -M: Sonic Zhang +M: Cliff Cai L: uclinux-dist-devel@blackfin.uclinux.org W: http://blackfin.uclinux.org S: Supported @@ -5207,10 +5207,8 @@ S: Maintained F: drivers/mmc/host/omap.c OMAP HS MMC SUPPORT -M: Venkatraman S -L: linux-mmc@vger.kernel.org L: linux-omap@vger.kernel.org -S: Maintained +S: Orphan F: drivers/mmc/host/omap_hsmmc.c OMAP RANDOM NUMBER GENERATOR SUPPORT diff --git a/trunk/arch/Kconfig b/trunk/arch/Kconfig index 26a28419cafc..550cce4dd648 100644 --- a/trunk/arch/Kconfig +++ b/trunk/arch/Kconfig @@ -271,9 +271,6 @@ config ARCH_WANT_OLD_COMPAT_IPC select ARCH_WANT_COMPAT_IPC_PARSE_VERSION bool -config GENERIC_KERNEL_THREAD - bool - config HAVE_ARCH_SECCOMP_FILTER bool help diff --git a/trunk/arch/alpha/Kconfig b/trunk/arch/alpha/Kconfig index 7da91246e279..9944dedee5b1 100644 --- a/trunk/arch/alpha/Kconfig +++ b/trunk/arch/alpha/Kconfig @@ -20,7 +20,6 @@ config ALPHA select GENERIC_CMOS_UPDATE select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER - select GENERIC_KERNEL_THREAD 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/Kbuild b/trunk/arch/alpha/include/asm/Kbuild index 64ffc9e9e548..d97d66334e6f 100644 --- a/trunk/arch/alpha/include/asm/Kbuild +++ b/trunk/arch/alpha/include/asm/Kbuild @@ -10,4 +10,3 @@ header-y += pal.h header-y += reg.h header-y += regdef.h header-y += sysinfo.h -generic-y += exec.h diff --git a/trunk/arch/alpha/include/asm/exec.h b/trunk/arch/alpha/include/asm/exec.h new file mode 100644 index 000000000000..4a5a41f30779 --- /dev/null +++ b/trunk/arch/alpha/include/asm/exec.h @@ -0,0 +1,6 @@ +#ifndef __ALPHA_EXEC_H +#define __ALPHA_EXEC_H + +#define arch_align_stack(x) (x) + +#endif /* __ALPHA_EXEC_H */ diff --git a/trunk/arch/alpha/include/asm/processor.h b/trunk/arch/alpha/include/asm/processor.h index 6cb7fe85c4b5..e37b887b3d9f 100644 --- a/trunk/arch/alpha/include/asm/processor.h +++ b/trunk/arch/alpha/include/asm/processor.h @@ -49,6 +49,9 @@ extern void start_thread(struct pt_regs *, unsigned long, unsigned long); /* Free all resources held by a thread. */ extern void release_thread(struct task_struct *); +/* Create a kernel thread without removing it from tasklists. */ +extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); + unsigned long get_wchan(struct task_struct *p); #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) diff --git a/trunk/arch/alpha/include/asm/unistd.h b/trunk/arch/alpha/include/asm/unistd.h index 3cb6c1188984..a31a78eac9b9 100644 --- a/trunk/arch/alpha/include/asm/unistd.h +++ b/trunk/arch/alpha/include/asm/unistd.h @@ -481,8 +481,6 @@ #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE -#define __ARCH_WANT_KERNEL_EXECVE /* "Conditional" syscalls. What we want is diff --git a/trunk/arch/alpha/kernel/alpha_ksyms.c b/trunk/arch/alpha/kernel/alpha_ksyms.c index 89566b346c0f..15fa821d09cd 100644 --- a/trunk/arch/alpha/kernel/alpha_ksyms.c +++ b/trunk/arch/alpha/kernel/alpha_ksyms.c @@ -50,6 +50,9 @@ EXPORT_SYMBOL(alpha_read_fp_reg_s); EXPORT_SYMBOL(alpha_write_fp_reg); EXPORT_SYMBOL(alpha_write_fp_reg_s); +/* entry.S */ +EXPORT_SYMBOL(kernel_thread); + /* Networking helper routines. */ EXPORT_SYMBOL(csum_tcpudp_magic); EXPORT_SYMBOL(ip_compute_csum); diff --git a/trunk/arch/alpha/kernel/entry.S b/trunk/arch/alpha/kernel/entry.S index 7e43e1156d10..ec0da0567ab5 100644 --- a/trunk/arch/alpha/kernel/entry.S +++ b/trunk/arch/alpha/kernel/entry.S @@ -609,35 +609,59 @@ ret_from_fork: .end ret_from_fork /* - * ... and new kernel threads - here + * kernel_thread(fn, arg, clone_flags) */ .align 4 - .globl ret_from_kernel_thread - .ent ret_from_kernel_thread -ret_from_kernel_thread: - mov $17, $16 - jsr $26, schedule_tail - mov $9, $27 - mov $10, $16 - jsr $26, ($9) + .globl kernel_thread + .ent kernel_thread +kernel_thread: + /* We can be called from a module. */ + ldgp $gp, 0($27) + .prologue 1 + subq $sp, SP_OFF+6*8, $sp + br $1, 2f /* load start address */ + + /* We've now "returned" from a fake system call. */ + unop + blt $0, 1f /* error? */ + ldi $1, 0x3fff + beq $20, 1f /* parent or child? */ + + bic $sp, $1, $8 /* in child. */ + jsr $26, ($27) 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 +1: ret /* in parent. */ + + .align 4 +2: /* Fake a system call stack frame, as we can't do system calls + from kernel space. Note that we store FN and ARG as they + need to be set up in the child for the call. Also store $8 + and $26 for use in the parent. */ + stq $31, SP_OFF($sp) /* ps */ + stq $1, SP_OFF+8($sp) /* pc */ + stq $gp, SP_OFF+16($sp) /* gp */ + stq $16, 136($sp) /* $27; FN for child */ + stq $17, SP_OFF+24($sp) /* $16; ARG for child */ + stq $8, 64($sp) /* $8 */ + stq $26, 128($sp) /* $26 */ /* 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_execve + /* Shuffle FLAGS to the front; add CLONE_VM. */ + ldi $1, CLONE_VM|CLONE_UNTRACED + or $18, $1, $16 + bsr $26, sys_clone + + /* We don't actually care for a3 success widgetry in the kernel. + Not for positive errno values. */ + stq $0, 0($sp) /* $0 */ + br ret_to_kernel +.end kernel_thread /* @@ -720,6 +744,15 @@ sys_rt_sigreturn: br ret_from_sys_call .end sys_rt_sigreturn + .align 4 + .globl sys_execve + .ent sys_execve +sys_execve: + .prologue 0 + mov $sp, $19 + jmp $31, do_sys_execve +.end sys_execve + .align 4 .globl alpha_ni_syscall .ent alpha_ni_syscall diff --git a/trunk/arch/alpha/kernel/process.c b/trunk/arch/alpha/kernel/process.c index 4054e0ffe2b2..83638aa096d5 100644 --- a/trunk/arch/alpha/kernel/process.c +++ b/trunk/arch/alpha/kernel/process.c @@ -263,35 +263,33 @@ alpha_vfork(struct pt_regs *regs) /* * Copy an alpha thread.. + * + * Note the "stack_offset" stuff: when returning to kernel mode, we need + * to have some extra stack-space for the kernel stack that still exists + * after the "ret_from_fork". When returning to user mode, we only want + * the space needed by the syscall stack frame (ie "struct pt_regs"). + * Use the passed "regs" pointer to determine how much space we need + * for a kernel fork(). */ int copy_thread(unsigned long clone_flags, unsigned long usp, - unsigned long arg, + unsigned long unused, struct task_struct * p, struct pt_regs * regs) { extern void ret_from_fork(void); - extern void ret_from_kernel_thread(void); struct thread_info *childti = task_thread_info(p); - struct pt_regs *childregs = task_pt_regs(p); - struct switch_stack *childstack, *stack; - unsigned long settls; - - childstack = ((struct switch_stack *) childregs) - 1; - if (unlikely(!regs)) { - /* kernel thread */ - memset(childstack, 0, - sizeof(struct switch_stack) + sizeof(struct pt_regs)); - childstack->r26 = (unsigned long) ret_from_kernel_thread; - childstack->r9 = usp; /* function */ - childstack->r10 = arg; - childregs->hae = alpha_mv.hae_cache, - childti->pcb.usp = 0; - childti->pcb.ksp = (unsigned long) childstack; - childti->pcb.flags = 1; /* set FEN, clear everything else */ - return 0; - } + struct pt_regs * childregs; + struct switch_stack * childstack, *stack; + unsigned long stack_offset, settls; + + stack_offset = PAGE_SIZE - sizeof(struct pt_regs); + if (!(regs->ps & 8)) + stack_offset = (PAGE_SIZE-1) & (unsigned long) regs; + childregs = (struct pt_regs *) + (stack_offset + PAGE_SIZE + task_stack_page(p)); + *childregs = *regs; settls = regs->r20; childregs->r0 = 0; @@ -299,6 +297,7 @@ copy_thread(unsigned long clone_flags, unsigned long usp, childregs->r20 = 1; /* OSF/1 has some strange fork() semantics. */ regs->r20 = 0; stack = ((struct switch_stack *) regs) - 1; + childstack = ((struct switch_stack *) childregs) - 1; *childstack = *stack; childstack->r26 = (unsigned long) ret_from_fork; childti->pcb.usp = usp; @@ -386,6 +385,27 @@ dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task) } EXPORT_SYMBOL(dump_elf_task_fp); +/* + * sys_execve() executes a new program. + */ +asmlinkage int +do_sys_execve(const char __user *ufilename, + const char __user *const __user *argv, + const char __user *const __user *envp, struct pt_regs *regs) +{ + int error; + char *filename; + + filename = getname(ufilename); + error = PTR_ERR(filename); + if (IS_ERR(filename)) + goto out; + error = do_execve(filename, argv, envp, regs); + putname(filename); +out: + return error; +} + /* * Return saved PC of a blocked thread. This assumes the frame * pointer is the 6th saved long on the kernel stack and that the @@ -439,3 +459,22 @@ get_wchan(struct task_struct *p) } return pc; } + +int kernel_execve(const char *path, const char *const argv[], const char *const envp[]) +{ + /* Avoid the HAE being gratuitously wrong, which would cause us + to do the whole turn off interrupts thing and restore it. */ + struct pt_regs regs = {.hae = alpha_mv.hae_cache}; + int err = do_execve(path, argv, envp, ®s); + if (!err) { + struct pt_regs *p = current_pt_regs(); + /* copy regs to normal position and off to userland we go... */ + *p = regs; + __asm__ __volatile__ ( + "mov %0, $sp;" + "br $31, ret_from_sys_call" + : : "r"(p)); + } + return err; +} +EXPORT_SYMBOL(kernel_execve); diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 767aae8277fa..2867a7742306 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -52,7 +52,6 @@ config ARM select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN - select GENERIC_KERNEL_THREAD help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and @@ -494,6 +493,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 @@ -507,6 +507,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 @@ -1770,7 +1771,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/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/imx51.dtsi b/trunk/arch/arm/boot/dts/imx51.dtsi index 75d069fcf897..2f71a91ca98e 100644 --- a/trunk/arch/arm/boot/dts/imx51.dtsi +++ b/trunk/arch/arm/boot/dts/imx51.dtsi @@ -407,13 +407,6 @@ status = "disabled"; }; - nand@83fdb000 { - compatible = "fsl,imx51-nand"; - reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>; - interrupts = <8>; - status = "disabled"; - }; - ssi3: ssi@83fe8000 { compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; reg = <0x83fe8000 0x4000>; diff --git a/trunk/arch/arm/boot/dts/imx53.dtsi b/trunk/arch/arm/boot/dts/imx53.dtsi index 76ebb1ad2675..221cf3321b0a 100644 --- a/trunk/arch/arm/boot/dts/imx53.dtsi +++ b/trunk/arch/arm/boot/dts/imx53.dtsi @@ -518,13 +518,6 @@ status = "disabled"; }; - nand@63fdb000 { - compatible = "fsl,imx53-nand"; - reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>; - interrupts = <8>; - status = "disabled"; - }; - ssi3: ssi@63fe8000 { compatible = "fsl,imx53-ssi", "fsl,imx21-ssi"; reg = <0x63fe8000 0x4000>; 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/spear300-evb.dts b/trunk/arch/arm/boot/dts/spear300-evb.dts index 1e7c7a8e2123..d71b8d581e3d 100644 --- a/trunk/arch/arm/boot/dts/spear300-evb.dts +++ b/trunk/arch/arm/boot/dts/spear300-evb.dts @@ -80,7 +80,8 @@ }; sdhci@70000000 { - cd-gpios = <&gpio1 0 0>; + int-gpio = <&gpio1 0 0>; + power-gpio = <&gpio1 2 1>; status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/spear320-evb.dts b/trunk/arch/arm/boot/dts/spear320-evb.dts index 082328bd64ab..e4e912f95024 100644 --- a/trunk/arch/arm/boot/dts/spear320-evb.dts +++ b/trunk/arch/arm/boot/dts/spear320-evb.dts @@ -103,6 +103,8 @@ }; sdhci@70000000 { + power-gpio = <&gpio0 2 1>; + power_always_enb; status = "okay"; }; 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/configs/cam60_defconfig b/trunk/arch/arm/configs/cam60_defconfig index 14579711d8fc..cedc92ef88ab 100644 --- a/trunk/arch/arm/configs/cam60_defconfig +++ b/trunk/arch/arm/configs/cam60_defconfig @@ -49,6 +49,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y CONFIG_MTD_PLATRAM=m CONFIG_MTD_DATAFLASH=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_ATMEL=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y diff --git a/trunk/arch/arm/configs/corgi_defconfig b/trunk/arch/arm/configs/corgi_defconfig index 4b8a25d9e686..e53c47563845 100644 --- a/trunk/arch/arm/configs/corgi_defconfig +++ b/trunk/arch/arm/configs/corgi_defconfig @@ -97,6 +97,7 @@ CONFIG_MTD_BLOCK=y CONFIG_MTD_ROM=y CONFIG_MTD_COMPLEX_MAPPINGS=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_SHARPSL=y CONFIG_BLK_DEV_LOOP=y CONFIG_IDE=y diff --git a/trunk/arch/arm/configs/ep93xx_defconfig b/trunk/arch/arm/configs/ep93xx_defconfig index 806005a4c4c1..8e97b2f7ceec 100644 --- a/trunk/arch/arm/configs/ep93xx_defconfig +++ b/trunk/arch/arm/configs/ep93xx_defconfig @@ -61,6 +61,7 @@ CONFIG_MTD_CFI_STAA=y CONFIG_MTD_ROM=y CONFIG_MTD_PHYSMAP=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_BLK_DEV_NBD=y CONFIG_EEPROM_LEGACY=y CONFIG_SCSI=y diff --git a/trunk/arch/arm/configs/mini2440_defconfig b/trunk/arch/arm/configs/mini2440_defconfig index 00630e6af45c..082175c54e7c 100644 --- a/trunk/arch/arm/configs/mini2440_defconfig +++ b/trunk/arch/arm/configs/mini2440_defconfig @@ -102,6 +102,7 @@ CONFIG_MTD_CFI_STAA=y CONFIG_MTD_RAM=y CONFIG_MTD_ROM=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_S3C2410=y CONFIG_MTD_NAND_PLATFORM=y CONFIG_MTD_LPDDR=y diff --git a/trunk/arch/arm/configs/mv78xx0_defconfig b/trunk/arch/arm/configs/mv78xx0_defconfig index 1f08219c1b3c..7305ebddb510 100644 --- a/trunk/arch/arm/configs/mv78xx0_defconfig +++ b/trunk/arch/arm/configs/mv78xx0_defconfig @@ -49,6 +49,7 @@ CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_AMDSTD=y CONFIG_MTD_PHYSMAP=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_ORION=y CONFIG_BLK_DEV_LOOP=y # CONFIG_SCSI_PROC_FS is not set diff --git a/trunk/arch/arm/configs/nhk8815_defconfig b/trunk/arch/arm/configs/nhk8815_defconfig index 240b25eea565..bf123c5384d4 100644 --- a/trunk/arch/arm/configs/nhk8815_defconfig +++ b/trunk/arch/arm/configs/nhk8815_defconfig @@ -57,6 +57,7 @@ CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_NAND=y CONFIG_MTD_NAND_ECC_SMC=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_NOMADIK=y CONFIG_MTD_ONENAND=y CONFIG_MTD_ONENAND_VERIFY_WRITE=y diff --git a/trunk/arch/arm/configs/orion5x_defconfig b/trunk/arch/arm/configs/orion5x_defconfig index cd5e6ba9a54d..a288d7033950 100644 --- a/trunk/arch/arm/configs/orion5x_defconfig +++ b/trunk/arch/arm/configs/orion5x_defconfig @@ -72,6 +72,7 @@ CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_AMDSTD=y CONFIG_MTD_PHYSMAP=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_PLATFORM=y CONFIG_MTD_NAND_ORION=y CONFIG_BLK_DEV_LOOP=y diff --git a/trunk/arch/arm/configs/pxa3xx_defconfig b/trunk/arch/arm/configs/pxa3xx_defconfig index 60e313834b3f..1677a0607ca9 100644 --- a/trunk/arch/arm/configs/pxa3xx_defconfig +++ b/trunk/arch/arm/configs/pxa3xx_defconfig @@ -36,6 +36,7 @@ CONFIG_MTD_CONCAT=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_PXA3xx=y CONFIG_MTD_NAND_PXA3xx_BUILTIN=y CONFIG_MTD_ONENAND=y diff --git a/trunk/arch/arm/configs/spitz_defconfig b/trunk/arch/arm/configs/spitz_defconfig index df77931a4326..70158273c6dd 100644 --- a/trunk/arch/arm/configs/spitz_defconfig +++ b/trunk/arch/arm/configs/spitz_defconfig @@ -94,6 +94,7 @@ CONFIG_MTD_BLOCK=y CONFIG_MTD_ROM=y CONFIG_MTD_COMPLEX_MAPPINGS=y CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_SHARPSL=y CONFIG_BLK_DEV_LOOP=y CONFIG_IDE=y diff --git a/trunk/arch/arm/include/asm/processor.h b/trunk/arch/arm/include/asm/processor.h index 06e7d509eaac..99afa7498260 100644 --- a/trunk/arch/arm/include/asm/processor.h +++ b/trunk/arch/arm/include/asm/processor.h @@ -85,6 +85,11 @@ unsigned long get_wchan(struct task_struct *p); #define cpu_relax() barrier() #endif +/* + * Create a new kernel thread + */ +extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); + #define task_pt_regs(p) \ ((struct pt_regs *)(THREAD_START_SP + task_stack_page(p)) - 1) diff --git a/trunk/arch/arm/include/asm/ptrace.h b/trunk/arch/arm/include/asm/ptrace.h index 44fe998269d9..355ece523f41 100644 --- a/trunk/arch/arm/include/asm/ptrace.h +++ b/trunk/arch/arm/include/asm/ptrace.h @@ -254,11 +254,6 @@ static inline unsigned long user_stack_pointer(struct pt_regs *regs) return regs->ARM_sp; } -#define current_pt_regs(void) ({ \ - register unsigned long sp asm ("sp"); \ - (struct pt_regs *)((sp | (THREAD_SIZE - 1)) - 7) - 1; \ -}) - #endif /* __KERNEL__ */ #endif /* __ASSEMBLY__ */ diff --git a/trunk/arch/arm/include/asm/system.h b/trunk/arch/arm/include/asm/system.h index 368165e33c1c..74542c52f9be 100644 --- a/trunk/arch/arm/include/asm/system.h +++ b/trunk/arch/arm/include/asm/system.h @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/arch/arm/include/asm/unistd.h b/trunk/arch/arm/include/asm/unistd.h index f259921edfe9..d9ff5cc3a506 100644 --- a/trunk/arch/arm/include/asm/unistd.h +++ b/trunk/arch/arm/include/asm/unistd.h @@ -478,8 +478,6 @@ #define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_SYS_SOCKETCALL #endif -#define __ARCH_WANT_SYS_EXECVE -#define __ARCH_WANT_KERNEL_EXECVE /* * "Conditional" syscalls diff --git a/trunk/arch/arm/kernel/calls.S b/trunk/arch/arm/kernel/calls.S index 831cd38c8d99..e337879595e5 100644 --- a/trunk/arch/arm/kernel/calls.S +++ b/trunk/arch/arm/kernel/calls.S @@ -20,7 +20,7 @@ CALL(sys_creat) CALL(sys_link) /* 10 */ CALL(sys_unlink) - CALL(sys_execve) + CALL(sys_execve_wrapper) CALL(sys_chdir) CALL(OBSOLETE(sys_time)) /* used by libc4 */ CALL(sys_mknod) diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index e340fa1db203..f45987037bf1 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -91,30 +91,6 @@ ENTRY(ret_from_fork) 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" @@ -541,6 +517,11 @@ sys_vfork_wrapper: b sys_vfork ENDPROC(sys_vfork_wrapper) +sys_execve_wrapper: + add r3, sp, #S_OFF + b sys_execve +ENDPROC(sys_execve_wrapper) + sys_clone_wrapper: add ip, sp, #S_OFF str ip, [sp, #4] diff --git a/trunk/arch/arm/kernel/process.c b/trunk/arch/arm/kernel/process.c index f98c17ff1957..04eea22d7958 100644 --- a/trunk/arch/arm/kernel/process.c +++ b/trunk/arch/arm/kernel/process.c @@ -373,7 +373,6 @@ 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, @@ -382,20 +381,13 @@ copy_thread(unsigned long clone_flags, unsigned long stack_start, struct thread_info *thread = task_thread_info(p); struct pt_regs *childregs = task_pt_regs(p); - memset(&thread->cpu_context, 0, sizeof(struct cpu_context_save)); + *childregs = *regs; + childregs->ARM_r0 = 0; + childregs->ARM_sp = stack_start; - if (likely(regs)) { - *childregs = *regs; - childregs->ARM_r0 = 0; - childregs->ARM_sp = stack_start; - thread->cpu_context.pc = (unsigned long)ret_from_fork; - } else { - 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; - } + memset(&thread->cpu_context, 0, sizeof(struct cpu_context_save)); thread->cpu_context.sp = (unsigned long)childregs; + thread->cpu_context.pc = (unsigned long)ret_from_fork; clear_ptrace_hw_breakpoint(p); @@ -431,6 +423,63 @@ int dump_fpu (struct pt_regs *regs, struct user_fp *fp) } EXPORT_SYMBOL(dump_fpu); +/* + * Shuffle the argument into the correct register before calling the + * thread function. r4 is the thread argument, r5 is the pointer to + * the thread function, and r6 points to the exit function. + */ +extern void kernel_thread_helper(void); +asm( ".pushsection .text\n" +" .align\n" +" .type kernel_thread_helper, #function\n" +"kernel_thread_helper:\n" +#ifdef CONFIG_TRACE_IRQFLAGS +" bl trace_hardirqs_on\n" +#endif +" msr cpsr_c, r7\n" +" mov r0, r4\n" +" mov lr, r6\n" +" mov pc, r5\n" +" .size kernel_thread_helper, . - kernel_thread_helper\n" +" .popsection"); + +#ifdef CONFIG_ARM_UNWIND +extern void kernel_thread_exit(long code); +asm( ".pushsection .text\n" +" .align\n" +" .type kernel_thread_exit, #function\n" +"kernel_thread_exit:\n" +" .fnstart\n" +" .cantunwind\n" +" bl do_exit\n" +" nop\n" +" .fnend\n" +" .size kernel_thread_exit, . - kernel_thread_exit\n" +" .popsection"); +#else +#define kernel_thread_exit do_exit +#endif + +/* + * Create a kernel thread. + */ +pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) +{ + struct pt_regs regs; + + memset(®s, 0, sizeof(regs)); + + regs.ARM_r4 = (unsigned long)arg; + regs.ARM_r5 = (unsigned long)fn; + regs.ARM_r6 = (unsigned long)kernel_thread_exit; + regs.ARM_r7 = SVC_MODE | PSR_ENDSTATE | PSR_ISETSTATE; + regs.ARM_pc = (unsigned long)kernel_thread_helper; + regs.ARM_cpsr = regs.ARM_r7 | PSR_I_BIT; + + return do_fork(flags|CLONE_VM|CLONE_UNTRACED, 0, ®s, 0, NULL, NULL); +} +EXPORT_SYMBOL(kernel_thread); + unsigned long get_wchan(struct task_struct *p) { struct stackframe frame; diff --git a/trunk/arch/arm/kernel/sys_arm.c b/trunk/arch/arm/kernel/sys_arm.c index c2a898aa57aa..76cbb055dd05 100644 --- a/trunk/arch/arm/kernel/sys_arm.c +++ b/trunk/arch/arm/kernel/sys_arm.c @@ -59,6 +59,69 @@ asmlinkage int sys_vfork(struct pt_regs *regs) return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->ARM_sp, regs, 0, NULL, NULL); } +/* sys_execve() executes a new program. + * This is called indirectly via a small wrapper + */ +asmlinkage int sys_execve(const char __user *filenamei, + const char __user *const __user *argv, + const char __user *const __user *envp, struct pt_regs *regs) +{ + int error; + char * filename; + + filename = getname(filenamei); + error = PTR_ERR(filename); + if (IS_ERR(filename)) + goto out; + error = do_execve(filename, argv, envp, regs); + putname(filename); +out: + return error; +} + +int kernel_execve(const char *filename, + const char *const argv[], + const char *const envp[]) +{ + struct pt_regs regs; + int ret; + + memset(®s, 0, sizeof(struct pt_regs)); + ret = do_execve(filename, + (const char __user *const __user *)argv, + (const char __user *const __user *)envp, ®s); + if (ret < 0) + goto out; + + /* + * Save argc to the register structure for userspace. + */ + regs.ARM_r0 = ret; + + /* + * We were successful. We won't be returning to our caller, but + * instead to user space by manipulating the kernel stack. + */ + asm( "add r0, %0, %1\n\t" + "mov r1, %2\n\t" + "mov r2, %3\n\t" + "bl memmove\n\t" /* copy regs to top of stack */ + "mov r8, #0\n\t" /* not a syscall */ + "mov r9, %0\n\t" /* thread structure */ + "mov sp, r0\n\t" /* reposition stack pointer */ + "b ret_to_user" + : + : "r" (current_thread_info()), + "Ir" (THREAD_START_SP - sizeof(regs)), + "r" (®s), + "Ir" (sizeof(regs)) + : "r0", "r1", "r2", "r3", "r8", "r9", "ip", "lr", "memory"); + + out: + return ret; +} +EXPORT_SYMBOL(kernel_execve); + /* * Since loff_t is a 64 bit type we avoid a lot of ABI hassle * with a different argument ordering. 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-clps711x/autcpu12.c b/trunk/arch/arm/mach-clps711x/autcpu12.c index 32871918bb6e..3fb79a1d0bde 100644 --- a/trunk/arch/arm/mach-clps711x/autcpu12.c +++ b/trunk/arch/arm/mach-clps711x/autcpu12.c @@ -23,8 +23,6 @@ #include #include #include -#include -#include #include #include @@ -64,26 +62,9 @@ void __init autcpu12_map_io(void) iotable_init(autcpu12_io_desc, ARRAY_SIZE(autcpu12_io_desc)); } -static struct resource autcpu12_nvram_resource[] __initdata = { - DEFINE_RES_MEM_NAMED(AUTCPU12_PHYS_NVRAM, SZ_128K, "SRAM"), -}; - -static struct platform_device autcpu12_nvram_pdev __initdata = { - .name = "autcpu12_nvram", - .id = -1, - .resource = autcpu12_nvram_resource, - .num_resources = ARRAY_SIZE(autcpu12_nvram_resource), -}; - -static void __init autcpu12_init(void) -{ - platform_device_register(&autcpu12_nvram_pdev); -} - MACHINE_START(AUTCPU12, "autronix autcpu12") /* Maintainer: Thomas Gleixner */ .atag_offset = 0x20000, - .init_machine = autcpu12_init, .map_io = autcpu12_map_io, .init_irq = clps711x_init_irq, .timer = &clps711x_timer, diff --git a/trunk/arch/arm/mach-davinci/da850.c b/trunk/arch/arm/mach-davinci/da850.c index e517e1036b09..6676dee7104e 100644 --- a/trunk/arch/arm/mach-davinci/da850.c +++ b/trunk/arch/arm/mach-davinci/da850.c @@ -939,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; diff --git a/trunk/arch/arm/mach-exynos/dma.c b/trunk/arch/arm/mach-exynos/dma.c index 21d568b3b149..f60b66dbcf84 100644 --- a/trunk/arch/arm/mach-exynos/dma.c +++ b/trunk/arch/arm/mach-exynos/dma.c @@ -303,12 +303,10 @@ static int __init exynos_dma_init(void) dma_cap_set(DMA_SLAVE, exynos_pdma0_pdata.cap_mask); dma_cap_set(DMA_CYCLIC, exynos_pdma0_pdata.cap_mask); - dma_cap_set(DMA_PRIVATE, exynos_pdma0_pdata.cap_mask); amba_device_register(&exynos_pdma0_device, &iomem_resource); dma_cap_set(DMA_SLAVE, exynos_pdma1_pdata.cap_mask); dma_cap_set(DMA_CYCLIC, exynos_pdma1_pdata.cap_mask); - dma_cap_set(DMA_PRIVATE, exynos_pdma1_pdata.cap_mask); amba_device_register(&exynos_pdma1_device, &iomem_resource); dma_cap_set(DMA_MEMCPY, exynos_mdma1_pdata.cap_mask); diff --git a/trunk/arch/arm/mach-footbridge/include/mach/irqs.h b/trunk/arch/arm/mach-footbridge/include/mach/irqs.h index 61c714c4920e..400551e43e4e 100644 --- a/trunk/arch/arm/mach-footbridge/include/mach/irqs.h +++ b/trunk/arch/arm/mach-footbridge/include/mach/irqs.h @@ -89,6 +89,8 @@ #define IRQ_NETWINDER_VGA _ISA_IRQ(11) #define IRQ_NETWINDER_SOUND _ISA_IRQ(12) +#undef RTC_IRQ +#define RTC_IRQ IRQ_ISA_RTC_ALARM #define I8042_KBD_IRQ IRQ_ISA_KEYBOARD #define I8042_AUX_IRQ (machine_is_netwinder() ? IRQ_NETWINDER_PS2MOUSE : IRQ_ISA_PS2MOUSE) #define IRQ_FLOPPYDISK IRQ_ISA_FLOPPY diff --git a/trunk/arch/arm/mach-imx/clk-imx51-imx53.c b/trunk/arch/arm/mach-imx/clk-imx51-imx53.c index a0bf84803eac..e5165a84f93f 100644 --- a/trunk/arch/arm/mach-imx/clk-imx51-imx53.c +++ b/trunk/arch/arm/mach-imx/clk-imx51-imx53.c @@ -369,7 +369,6 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "83fcc000.ssi"); clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "70014000.ssi"); clk_register_clkdev(clk[ssi3_ipg_gate], NULL, "83fe8000.ssi"); - clk_register_clkdev(clk[nfc_gate], NULL, "83fdb000.nand"); /* set the usboh3 parent to pll2_sw */ clk_set_parent(clk[usboh3_sel], clk[pll2_sw]); @@ -462,7 +461,6 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "63fcc000.ssi"); clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "50014000.ssi"); clk_register_clkdev(clk[ssi3_ipg_gate], NULL, "63fd0000.ssi"); - clk_register_clkdev(clk[nfc_gate], NULL, "63fdb000.nand"); clk_register_clkdev(clk[can1_ipg_gate], "ipg", "53fc8000.can"); clk_register_clkdev(clk[can1_serial_gate], "per", "53fc8000.can"); clk_register_clkdev(clk[can2_ipg_gate], "ipg", "53fcc000.can"); diff --git a/trunk/arch/arm/mach-integrator/include/mach/cm.h b/trunk/arch/arm/mach-integrator/include/mach/cm.h index 202e6a57f100..1a78692e32a4 100644 --- a/trunk/arch/arm/mach-integrator/include/mach/cm.h +++ b/trunk/arch/arm/mach-integrator/include/mach/cm.h @@ -3,7 +3,7 @@ */ void cm_control(u32, u32); -#define CM_CTRL __io_address(INTEGRATOR_HDR_CTRL) +#define CM_CTRL IO_ADDRESS(INTEGRATOR_HDR_CTRL) #define CM_CTRL_LED (1 << 0) #define CM_CTRL_nMBDET (1 << 1) diff --git a/trunk/arch/arm/mach-integrator/include/mach/platform.h b/trunk/arch/arm/mach-integrator/include/mach/platform.h index efeac5d0bc9e..4c0347526851 100644 --- a/trunk/arch/arm/mach-integrator/include/mach/platform.h +++ b/trunk/arch/arm/mach-integrator/include/mach/platform.h @@ -324,9 +324,9 @@ */ #define PHYS_PCI_V3_BASE 0x62000000 -#define PCI_MEMORY_VADDR IOMEM(0xe8000000) -#define PCI_CONFIG_VADDR IOMEM(0xec000000) -#define PCI_V3_VADDR IOMEM(0xed000000) +#define PCI_MEMORY_VADDR 0xe8000000 +#define PCI_CONFIG_VADDR 0xec000000 +#define PCI_V3_VADDR 0xed000000 /* ------------------------------------------------------------------------ * Integrator Interrupt Controllers diff --git a/trunk/arch/arm/mach-integrator/integrator_ap.c b/trunk/arch/arm/mach-integrator/integrator_ap.c index e6617c134faf..d5b5435a09ae 100644 --- a/trunk/arch/arm/mach-integrator/integrator_ap.c +++ b/trunk/arch/arm/mach-integrator/integrator_ap.c @@ -157,7 +157,7 @@ static struct map_desc ap_io_desc[] __initdata = { static void __init ap_map_io(void) { iotable_init(ap_io_desc, ARRAY_SIZE(ap_io_desc)); - vga_base = (unsigned long)PCI_MEMORY_VADDR; + vga_base = PCI_MEMORY_VADDR; pci_map_io_early(__phys_to_pfn(PHYS_PCI_IO_BASE)); } diff --git a/trunk/arch/arm/mach-integrator/integrator_cp.c b/trunk/arch/arm/mach-integrator/integrator_cp.c index 5b08e8e4cc83..6870a1fbcd78 100644 --- a/trunk/arch/arm/mach-integrator/integrator_cp.c +++ b/trunk/arch/arm/mach-integrator/integrator_cp.c @@ -261,8 +261,6 @@ static void __init intcp_init_early(void) #endif } -#ifdef CONFIG_OF - static void __init intcp_timer_init_of(void) { struct device_node *node; @@ -299,6 +297,8 @@ static struct sys_timer cp_of_timer = { .init = intcp_timer_init_of, }; +#ifdef CONFIG_OF + static const struct of_device_id fpga_irq_of_match[] __initconst = { { .compatible = "arm,versatile-fpga-irq", .data = fpga_irq_of_init, }, { /* Sentinel */ } diff --git a/trunk/arch/arm/mach-iop13xx/iq81340sc.c b/trunk/arch/arm/mach-iop13xx/iq81340sc.c index e94744111634..060cddde2fd4 100644 --- a/trunk/arch/arm/mach-iop13xx/iq81340sc.c +++ b/trunk/arch/arm/mach-iop13xx/iq81340sc.c @@ -30,7 +30,7 @@ extern int init_atu; static int __init -iq81340sc_atux_map_irq(const struct pci_dev *dev, u8 idsel, u8 pin) +iq81340sc_atux_map_irq(struct pci_dev *dev, u8 idsel, u8 pin) { WARN_ON(idsel < 1 || idsel > 2); diff --git a/trunk/arch/arm/mach-iop13xx/pci.c b/trunk/arch/arm/mach-iop13xx/pci.c index 2f28018c4447..9082b84aeebb 100644 --- a/trunk/arch/arm/mach-iop13xx/pci.c +++ b/trunk/arch/arm/mach-iop13xx/pci.c @@ -504,7 +504,7 @@ iop13xx_pci_abort(unsigned long addr, unsigned int fsr, struct pt_regs *regs) /* Scan an IOP13XX PCI bus. nr selects which ATU we use. */ -struct pci_bus * __devinit iop13xx_scan_bus(int nr, struct pci_sys_data *sys) +struct pci_bus *iop13xx_scan_bus(int nr, struct pci_sys_data *sys) { int which_atu; struct pci_bus *bus = NULL; diff --git a/trunk/arch/arm/mach-ks8695/include/mach/memory.h b/trunk/arch/arm/mach-ks8695/include/mach/memory.h index 95e731a7ed6a..f7e1b9bce345 100644 --- a/trunk/arch/arm/mach-ks8695/include/mach/memory.h +++ b/trunk/arch/arm/mach-ks8695/include/mach/memory.h @@ -34,8 +34,7 @@ extern struct bus_type platform_bus_type; #define __arch_dma_to_virt(dev, x) ({ (void *) (is_lbus_device(dev) ? \ __phys_to_virt(x) : __bus_to_virt(x)); }) #define __arch_virt_to_dma(dev, x) ({ is_lbus_device(dev) ? \ - (dma_addr_t)__virt_to_phys((unsigned long)x) \ - : (dma_addr_t)__virt_to_bus(x); }) + (dma_addr_t)__virt_to_phys(x) : (dma_addr_t)__virt_to_bus(x); }) #define __arch_pfn_to_dma(dev, pfn) \ ({ dma_addr_t __dma = __pfn_to_phys(pfn); \ if (!is_lbus_device(dev)) \ diff --git a/trunk/arch/arm/mach-mv78xx0/addr-map.c b/trunk/arch/arm/mach-mv78xx0/addr-map.c index 26e9876b50e9..343c435b4176 100644 --- a/trunk/arch/arm/mach-mv78xx0/addr-map.c +++ b/trunk/arch/arm/mach-mv78xx0/addr-map.c @@ -54,7 +54,7 @@ static void __init __iomem *win_cfg_base(const struct orion_addr_map_cfg *cfg, i /* * Description of the windows needed by the platform code */ -static struct orion_addr_map_cfg addr_map_cfg __initdata = { +static struct __initdata orion_addr_map_cfg addr_map_cfg = { .num_wins = 14, .remappable_wins = 8, .win_cfg_base = win_cfg_base, diff --git a/trunk/arch/arm/mach-mv78xx0/common.c b/trunk/arch/arm/mach-mv78xx0/common.c index d0cb4857b4b3..131cd4883f3d 100644 --- a/trunk/arch/arm/mach-mv78xx0/common.c +++ b/trunk/arch/arm/mach-mv78xx0/common.c @@ -336,7 +336,7 @@ void __init mv78xx0_init_early(void) orion_time_set_base(TIMER_VIRT_BASE); } -static void __init_refok mv78xx0_timer_init(void) +static void mv78xx0_timer_init(void) { orion_time_init(BRIDGE_VIRT_BASE, BRIDGE_INT_TIMER1_CLR, IRQ_MV78XX0_TIMER_1, get_tclk()); diff --git a/trunk/arch/arm/mach-omap1/devices.c b/trunk/arch/arm/mach-omap1/devices.c index d3fec92c54cb..726c02c9c0cd 100644 --- a/trunk/arch/arm/mach-omap1/devices.c +++ b/trunk/arch/arm/mach-omap1/devices.c @@ -231,7 +231,7 @@ void __init omap1_init_mmc(struct omap_mmc_platform_data **mmc_data, omap_mmc_add("mmci-omap", i, base, size, irq, rx_req, tx_req, mmc_data[i]); - } + }; } #endif diff --git a/trunk/arch/arm/mach-omap2/board-4430sdp.c b/trunk/arch/arm/mach-omap2/board-4430sdp.c index 5ff28afbefe7..a88809a59ea9 100644 --- a/trunk/arch/arm/mach-omap2/board-4430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-4430sdp.c @@ -830,32 +830,6 @@ static struct omap_board_mux board_mux[] __initdata = { /* NIRQ2 for twl6040 */ OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), - /* GPIO_127 for twl6040 */ - OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), - /* McPDM */ - OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), - OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), - OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), - OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), - OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), - /* DMIC */ - OMAP4_MUX(ABE_DMIC_CLK1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), - OMAP4_MUX(ABE_DMIC_DIN1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), - OMAP4_MUX(ABE_DMIC_DIN2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), - OMAP4_MUX(ABE_DMIC_DIN3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), - /* McBSP1 */ - OMAP4_MUX(ABE_MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), - OMAP4_MUX(ABE_MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), - OMAP4_MUX(ABE_MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | - OMAP_PULL_ENA), - OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), - /* McBSP2 */ - OMAP4_MUX(ABE_MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), - OMAP4_MUX(ABE_MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), - OMAP4_MUX(ABE_MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | - OMAP_PULL_ENA), - OMAP4_MUX(ABE_MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), - { .reg_offset = OMAP_MUX_TERMINATOR }, }; diff --git a/trunk/arch/arm/mach-omap2/board-flash.c b/trunk/arch/arm/mach-omap2/board-flash.c index e642acf9cad0..0cabe61cd507 100644 --- a/trunk/arch/arm/mach-omap2/board-flash.c +++ b/trunk/arch/arm/mach-omap2/board-flash.c @@ -218,7 +218,7 @@ void __init board_flash_init(struct flash_partitions partition_info[], if (onenandcs > GPMC_CS_NUM) onenandcs = cs; break; - } + }; cs++; } diff --git a/trunk/arch/arm/mach-omap2/board-omap3beagle.c b/trunk/arch/arm/mach-omap2/board-omap3beagle.c index 388c431c745a..a08bebc94ec5 100644 --- a/trunk/arch/arm/mach-omap2/board-omap3beagle.c +++ b/trunk/arch/arm/mach-omap2/board-omap3beagle.c @@ -461,7 +461,7 @@ static void __init beagle_opp_init(void) mpu_dev = omap_device_get_by_hwmod_name("mpu"); iva_dev = omap_device_get_by_hwmod_name("iva"); - if (IS_ERR(mpu_dev) || IS_ERR(iva_dev)) { + if (!mpu_dev || !iva_dev) { pr_err("%s: Aiee.. no mpu/dsp devices? %p %p\n", __func__, mpu_dev, iva_dev); return; diff --git a/trunk/arch/arm/mach-omap2/board-omap3evm.c b/trunk/arch/arm/mach-omap2/board-omap3evm.c index b9b776b6c954..a3959de85e05 100644 --- a/trunk/arch/arm/mach-omap2/board-omap3evm.c +++ b/trunk/arch/arm/mach-omap2/board-omap3evm.c @@ -88,10 +88,11 @@ enum { static u8 omap3_evm_version; -static u8 get_omap3_evm_rev(void) +u8 get_omap3_evm_rev(void) { return omap3_evm_version; } +EXPORT_SYMBOL(get_omap3_evm_rev); static void __init omap3_evm_get_revision(void) { diff --git a/trunk/arch/arm/mach-omap2/board-omap3stalker.c b/trunk/arch/arm/mach-omap2/board-omap3stalker.c index 731235eb319e..c7f3d026e6d4 100644 --- a/trunk/arch/arm/mach-omap2/board-omap3stalker.c +++ b/trunk/arch/arm/mach-omap2/board-omap3stalker.c @@ -48,6 +48,11 @@ #include