From 6da1d79141178e6d19a7a217876a663d857b1d57 Mon Sep 17 00:00:00 2001 From: Jens Taprogge Date: Thu, 27 Sep 2012 12:37:25 +0200 Subject: [PATCH] --- yaml --- r: 337023 b: refs/heads/master c: f9e314d2bf78816ea839cb1042d7dcd0da2821dc h: refs/heads/master i: 337021: 12441c9a410431acc85e065f2daaea2a4bba8a1e 337019: 24bc983c9c2557ef94aef69264220be9a4029f46 337015: c54d624c7a9940fa98a4d144bbd49fc5c9a77d16 337007: 705b796a77f876c41bc9d3fb22d2fb62b8efb150 336991: 0f9a0ac1768276c36682c160b33a97ffd36e2f46 336959: 7a4ab012dbe554110eebad18967b313a74a6c183 336895: eeb42294b50386d43edb4baffd22b58a565b28cc v: v3 --- [refs] | 2 +- trunk/.gitignore | 6 + trunk/CREDITS | 5 - trunk/Documentation/00-INDEX | 4 +- .../ABI/testing/sysfs-class-devfreq | 44 +- .../ABI/testing/sysfs-devices-power | 31 - .../ABI/testing/sysfs-devices-sun | 14 - trunk/Documentation/DocBook/media/Makefile | 76 +- trunk/Documentation/DocBook/networking.tmpl | 4 +- trunk/Documentation/DocBook/uio-howto.tmpl | 56 - trunk/Documentation/IPMI.txt | 65 +- trunk/Documentation/IRQ-domain.txt | 34 +- trunk/Documentation/acpi/enumeration.txt | 227 --- trunk/Documentation/arm64/memory.txt | 12 +- trunk/Documentation/cgroups/memory.txt | 4 - .../devicetree/bindings/arm/atmel-at91.txt | 8 +- .../devicetree/bindings/arm/davinci/nand.txt | 37 +- .../devicetree/bindings/arm/l2cc.txt | 2 +- .../devicetree/bindings/clock/imx23-clock.txt | 2 +- .../devicetree/bindings/clock/imx28-clock.txt | 4 +- .../bindings/cpufreq/cpufreq-spear.txt | 42 - .../devicetree/bindings/gpio/gpio-stmpe.txt | 18 - .../devicetree/bindings/gpio/gpio.txt | 36 - .../devicetree/bindings/gpio/gpio_atmel.txt | 5 - .../{leds/leds-gpio.txt => gpio/led.txt} | 14 +- .../devicetree/bindings/gpio/spear_spics.txt | 50 - .../{i2c-versatile.txt => arm-versatile.txt} | 0 .../i2c/{i2c-at91.txt => atmel-i2c.txt} | 0 .../i2c/{i2c-octeon.txt => cavium-i2c.txt} | 0 ...{i2c-pxa-pci-ce4100.txt => ce4100-i2c.txt} | 0 .../i2c/{i2c-davinci.txt => davinci.txt} | 0 .../bindings/i2c/{i2c-mpc.txt => fsl-i2c.txt} | 0 .../i2c/{i2c-imx.txt => fsl-imx-i2c.txt} | 0 .../i2c/{i2c-gpio.txt => gpio-i2c.txt} | 0 .../devicetree/bindings/i2c/i2c-mv64xxx.txt | 18 - .../i2c/{i2c-pxa.txt => mrvl-i2c.txt} | 18 + .../bindings/i2c/{i2c-mux.txt => mux.txt} | 0 .../i2c/{i2c-nomadik.txt => nomadik.txt} | 0 .../i2c/{i2c-omap.txt => omap-i2c.txt} | 0 .../bindings/i2c/{i2c-pnx.txt => pnx.txt} | 0 .../i2c/{i2c-s3c2410.txt => samsung-i2c.txt} | 0 .../i2c/{i2c-sirf.txt => sirf-i2c.txt} | 0 .../bindings/i2c/{i2c-xiic.txt => xiic.txt} | 0 .../bindings/input/touchscreen/egalax-ts.txt | 19 - .../devicetree/bindings/leds/common.txt | 23 - .../devicetree/bindings/mmc/mmc.txt | 8 - .../devicetree/bindings/mmc/samsung-sdhci.txt | 20 +- ...opsis-dw-mshc.txt => synposis-dw-mshc.txt} | 0 .../devicetree/bindings/mmc/ti-omap-hsmmc.txt | 1 - .../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 - .../devicetree/bindings/net/mdio-gpio.txt | 9 +- .../bindings/pinctrl/atmel,at91-pinctrl.txt | 141 -- .../pinctrl/nvidia,tegra20-pinmux.txt | 2 +- .../pinctrl/nvidia,tegra30-pinmux.txt | 2 +- .../devicetree/bindings/rtc/orion-rtc.txt | 18 - .../devicetree/bindings/vendor-prefixes.txt | 6 +- .../Documentation/devicetree/usage-model.txt | 2 +- trunk/Documentation/filesystems/proc.txt | 16 +- trunk/Documentation/firmware_class/README | 38 +- trunk/Documentation/gpio.txt | 42 - trunk/Documentation/hwmon/ads7828 | 46 +- trunk/Documentation/hwmon/coretemp | 3 - trunk/Documentation/hwmon/da9055 | 47 - trunk/Documentation/hwmon/fam15h_power | 2 +- trunk/Documentation/hwmon/submitting-patches | 3 +- trunk/Documentation/kbuild/makefiles.txt | 15 +- trunk/Documentation/mmc/mmc-dev-attrs.txt | 7 - .../networking/netdev-features.txt | 2 +- trunk/Documentation/networking/vxlan.txt | 4 +- trunk/Documentation/pinctrl.txt | 7 +- .../Documentation/power/pm_qos_interface.txt | 2 +- trunk/Documentation/sysrq.txt | 1 - trunk/Documentation/zh_CN/IRQ.txt | 39 - .../zh_CN/arm/kernel_user_helpers.txt | 284 --- trunk/Documentation/zh_CN/arm64/booting.txt | 156 -- trunk/Documentation/zh_CN/arm64/memory.txt | 93 - trunk/MAINTAINERS | 158 +- trunk/Makefile | 23 +- trunk/arch/alpha/include/asm/thread_info.h | 80 +- trunk/arch/alpha/kernel/osf_sys.c | 31 +- trunk/arch/alpha/kernel/process.c | 2 +- trunk/arch/alpha/kernel/traps.c | 6 +- trunk/arch/arm/Kconfig | 15 +- trunk/arch/arm/Makefile | 17 +- trunk/arch/arm/boot/Makefile | 22 +- trunk/arch/arm/boot/compressed/head.S | 14 +- trunk/arch/arm/boot/dts/Makefile | 58 +- trunk/arch/arm/boot/dts/animeo_ip.dts | 178 -- trunk/arch/arm/boot/dts/at91rm9200.dtsi | 349 ---- trunk/arch/arm/boot/dts/at91rm9200ek.dts | 79 - trunk/arch/arm/boot/dts/at91sam9260.dtsi | 295 +-- trunk/arch/arm/boot/dts/at91sam9263.dtsi | 299 +-- trunk/arch/arm/boot/dts/at91sam9263ek.dts | 29 - trunk/arch/arm/boot/dts/at91sam9g15.dtsi | 28 - trunk/arch/arm/boot/dts/at91sam9g15ek.dts | 16 - .../arch/arm/boot/dts/at91sam9g20ek_2mmc.dts | 26 - .../arm/boot/dts/at91sam9g20ek_common.dtsi | 34 +- trunk/arch/arm/boot/dts/at91sam9g25.dtsi | 28 - trunk/arch/arm/boot/dts/at91sam9g25ek.dts | 49 +- trunk/arch/arm/boot/dts/at91sam9g35.dtsi | 28 - trunk/arch/arm/boot/dts/at91sam9g35ek.dts | 16 - trunk/arch/arm/boot/dts/at91sam9g45.dtsi | 301 +-- trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts | 48 - trunk/arch/arm/boot/dts/at91sam9n12.dtsi | 225 +-- trunk/arch/arm/boot/dts/at91sam9n12ek.dts | 22 - trunk/arch/arm/boot/dts/at91sam9x25.dtsi | 49 - trunk/arch/arm/boot/dts/at91sam9x25ek.dts | 16 - trunk/arch/arm/boot/dts/at91sam9x35.dtsi | 28 - trunk/arch/arm/boot/dts/at91sam9x35ek.dts | 16 - trunk/arch/arm/boot/dts/at91sam9x5.dtsi | 270 +-- trunk/arch/arm/boot/dts/at91sam9x5ek.dtsi | 101 - trunk/arch/arm/boot/dts/dbx5x0.dtsi | 17 +- trunk/arch/arm/boot/dts/dove.dtsi | 49 +- trunk/arch/arm/boot/dts/exynos4210-trats.dts | 6 +- trunk/arch/arm/boot/dts/imx23.dtsi | 1 - trunk/arch/arm/boot/dts/imx28.dtsi | 1 - trunk/arch/arm/boot/dts/imx6q-arm2.dts | 10 +- trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi | 18 +- trunk/arch/arm/boot/dts/omap3.dtsi | 4 +- trunk/arch/arm/boot/dts/pm9g45.dts | 165 -- trunk/arch/arm/boot/dts/spear1310-evb.dts | 4 - trunk/arch/arm/boot/dts/spear1310.dtsi | 27 - trunk/arch/arm/boot/dts/spear1340-evb.dts | 4 - trunk/arch/arm/boot/dts/spear1340.dtsi | 26 - trunk/arch/arm/boot/dts/spear310.dtsi | 22 +- trunk/arch/arm/boot/dts/spear320-evb.dts | 4 - trunk/arch/arm/boot/dts/spear320.dtsi | 23 +- trunk/arch/arm/boot/dts/tegra20-seaboard.dts | 4 +- trunk/arch/arm/boot/dts/tegra30.dtsi | 4 +- trunk/arch/arm/boot/dts/wm8505.dtsi | 4 +- trunk/arch/arm/common/timer-sp.c | 2 +- trunk/arch/arm/configs/at91_dt_defconfig | 1 - trunk/arch/arm/configs/imx_v6_v7_defconfig | 2 - trunk/arch/arm/configs/mvebu_defconfig | 10 +- trunk/arch/arm/configs/versatile_defconfig | 1 - trunk/arch/arm/include/asm/flat.h | 2 +- trunk/arch/arm/include/asm/hardware/sp810.h | 2 - trunk/arch/arm/include/asm/io.h | 6 +- trunk/arch/arm/include/asm/prom.h | 2 - trunk/arch/arm/include/asm/sched_clock.h | 2 + trunk/arch/arm/include/asm/uaccess.h | 4 +- trunk/arch/arm/include/asm/vfpmacros.h | 12 +- trunk/arch/arm/include/asm/xen/interface.h | 12 +- trunk/arch/arm/include/asm/xen/page.h | 13 +- trunk/arch/arm/include/debug/8250_32.S | 27 - trunk/arch/arm/include/debug/picoxcell.S | 18 +- trunk/arch/arm/include/debug/socfpga.S | 5 - trunk/arch/arm/include/uapi/asm/hwcap.h | 3 +- trunk/arch/arm/kernel/entry-common.S | 4 +- trunk/arch/arm/kernel/irq.c | 2 - trunk/arch/arm/kernel/kprobes-test-arm.c | 4 - trunk/arch/arm/kernel/machine_kexec.c | 7 +- trunk/arch/arm/kernel/perf_event.c | 4 - trunk/arch/arm/kernel/sched_clock.c | 18 +- trunk/arch/arm/kernel/smp.c | 14 +- trunk/arch/arm/kernel/smp_twd.c | 4 +- trunk/arch/arm/lib/delay.c | 1 - trunk/arch/arm/mach-at91/Kconfig | 19 +- trunk/arch/arm/mach-at91/Makefile | 1 - trunk/arch/arm/mach-at91/at91rm9200.c | 24 +- trunk/arch/arm/mach-at91/at91rm9200_devices.c | 6 +- trunk/arch/arm/mach-at91/at91rm9200_time.c | 63 +- trunk/arch/arm/mach-at91/at91sam9260.c | 12 +- .../arch/arm/mach-at91/at91sam9260_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9261.c | 8 +- .../arch/arm/mach-at91/at91sam9261_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9263.c | 13 +- .../arch/arm/mach-at91/at91sam9263_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9g45.c | 12 +- .../arch/arm/mach-at91/at91sam9g45_devices.c | 12 +- trunk/arch/arm/mach-at91/at91sam9n12.c | 16 +- trunk/arch/arm/mach-at91/at91sam9rl.c | 4 +- trunk/arch/arm/mach-at91/at91sam9rl_devices.c | 4 +- trunk/arch/arm/mach-at91/at91sam9x5.c | 21 +- trunk/arch/arm/mach-at91/at91x40.c | 2 +- trunk/arch/arm/mach-at91/board-dt.c | 2 + trunk/arch/arm/mach-at91/board-neocore926.c | 2 +- trunk/arch/arm/mach-at91/board-rm9200-dt.c | 57 - trunk/arch/arm/mach-at91/board-sam9261ek.c | 2 +- trunk/arch/arm/mach-at91/board-sam9263ek.c | 2 +- trunk/arch/arm/mach-at91/generic.h | 4 +- trunk/arch/arm/mach-at91/gpio.c | 190 +- trunk/arch/arm/mach-at91/include/mach/board.h | 10 + trunk/arch/arm/mach-at91/irq.c | 9 +- trunk/arch/arm/mach-at91/setup.c | 24 +- trunk/arch/arm/mach-at91/soc.h | 12 +- trunk/arch/arm/mach-davinci/dm644x.c | 3 +- trunk/arch/arm/mach-dove/common.c | 8 +- trunk/arch/arm/mach-dove/include/mach/pm.h | 2 +- trunk/arch/arm/mach-dove/irq.c | 14 +- trunk/arch/arm/mach-dove/pcie.c | 5 - trunk/arch/arm/mach-exynos/common.c | 5 - trunk/arch/arm/mach-exynos/dma.c | 3 - trunk/arch/arm/mach-exynos/include/mach/map.h | 1 - trunk/arch/arm/mach-exynos/mach-exynos4-dt.c | 1 - trunk/arch/arm/mach-highbank/system.c | 3 +- trunk/arch/arm/mach-imx/clk-busy.c | 2 +- trunk/arch/arm/mach-imx/clk-gate2.c | 2 +- trunk/arch/arm/mach-imx/clk-imx25.c | 4 +- trunk/arch/arm/mach-imx/clk-imx27.c | 4 +- trunk/arch/arm/mach-imx/ehci-imx25.c | 2 +- trunk/arch/arm/mach-imx/ehci-imx35.c | 2 +- trunk/arch/arm/mach-imx/mm-imx3.c | 5 +- trunk/arch/arm/mach-integrator/impd1.c | 69 +- trunk/arch/arm/mach-ixp4xx/common-pci.c | 1 - trunk/arch/arm/mach-ixp4xx/common.c | 13 +- trunk/arch/arm/mach-ixp4xx/goramo_mlr.c | 3 +- .../mach-ixp4xx/include/mach/debug-macro.S | 4 +- .../mach-ixp4xx/include/mach/ixp4xx-regs.h | 46 +- .../arch/arm/mach-ixp4xx/include/mach/qmgr.h | 12 +- trunk/arch/arm/mach-ixp4xx/ixp4xx_npe.c | 9 +- trunk/arch/arm/mach-ixp4xx/ixp4xx_qmgr.c | 12 +- trunk/arch/arm/mach-kirkwood/board-dt.c | 2 + trunk/arch/arm/mach-kirkwood/common.c | 4 +- trunk/arch/arm/mach-kirkwood/pcie.c | 11 +- trunk/arch/arm/mach-nomadik/board-nhk8815.c | 3 +- trunk/arch/arm/mach-nomadik/cpu-8815.c | 2 +- trunk/arch/arm/mach-nomadik/i2c-8815nhk.c | 3 +- trunk/arch/arm/mach-omap1/board-ams-delta.c | 12 - trunk/arch/arm/mach-omap2/Kconfig | 1 + trunk/arch/arm/mach-omap2/board-igep0020.c | 5 - trunk/arch/arm/mach-omap2/board-omap3beagle.c | 22 +- trunk/arch/arm/mach-omap2/clock33xx_data.c | 2 - trunk/arch/arm/mach-omap2/clock44xx_data.c | 2 +- trunk/arch/arm/mach-omap2/clockdomain.c | 15 +- .../arm/mach-omap2/clockdomains44xx_data.c | 2 +- .../arm/mach-omap2/common-board-devices.c | 34 +- trunk/arch/arm/mach-omap2/devices.c | 81 +- trunk/arch/arm/mach-omap2/gpmc.c | 24 +- trunk/arch/arm/mach-omap2/mux34xx.c | 8 +- trunk/arch/arm/mach-omap2/omap_hwmod.c | 63 +- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 36 - trunk/arch/arm/mach-omap2/pm.h | 1 - trunk/arch/arm/mach-omap2/pm34xx.c | 30 +- trunk/arch/arm/mach-omap2/serial.c | 5 - trunk/arch/arm/mach-omap2/timer.c | 2 +- trunk/arch/arm/mach-omap2/twl-common.c | 3 +- trunk/arch/arm/mach-omap2/vc.c | 2 +- .../arch/arm/mach-prima2/include/mach/gpio.h | 13 + trunk/arch/arm/mach-pxa/hx4700.c | 8 +- trunk/arch/arm/mach-pxa/spitz_pm.c | 8 +- trunk/arch/arm/mach-s3c24xx/clock-s3c2440.c | 2 +- trunk/arch/arm/mach-s3c24xx/s3c2416.c | 2 - trunk/arch/arm/mach-s3c24xx/s3c2443.c | 4 - trunk/arch/arm/mach-s5p64x0/common.c | 3 - trunk/arch/arm/mach-s5pc100/common.c | 3 - trunk/arch/arm/mach-s5pv210/common.c | 3 - .../arm/mach-shmobile/board-armadillo800eva.c | 2 +- trunk/arch/arm/mach-shmobile/board-kzm9g.c | 2 +- trunk/arch/arm/mach-shmobile/clock-r8a7779.c | 22 +- trunk/arch/arm/mach-shmobile/setup-r8a7779.c | 2 +- .../include/mach/spear1310_misc_regs.h | 0 .../include/mach/spear1340_misc_regs.h | 0 trunk/arch/arm/mach-tegra/board-dt-tegra20.c | 2 +- trunk/arch/arm/mach-tegra/board-dt-tegra30.c | 2 +- trunk/arch/arm/mach-tegra/board.h | 2 +- .../arch/arm/mach-tegra/tegra20_clocks_data.c | 1 - trunk/arch/arm/mach-tegra/tegra30_clocks.c | 2 +- .../arch/arm/mach-tegra/tegra30_clocks_data.c | 1 - trunk/arch/arm/mach-tegra/timer.c | 2 +- trunk/arch/arm/mach-u300/core.c | 5 +- trunk/arch/arm/mach-u300/include/mach/irqs.h | 126 +- .../arch/arm/mach-ux500/board-mop500-audio.c | 3 +- trunk/arch/arm/mach-ux500/board-mop500-pins.c | 3 +- trunk/arch/arm/mach-ux500/board-mop500.c | 2 +- trunk/arch/arm/mach-ux500/cpu-db8500.c | 12 +- trunk/arch/arm/mach-ux500/cpu.c | 1 - trunk/arch/arm/mach-ux500/devices-common.c | 3 +- trunk/arch/arm/mach-ux500/devices-common.h | 8 +- trunk/arch/arm/mach-vexpress/v2m.c | 2 +- trunk/arch/arm/mm/alignment.c | 6 +- trunk/arch/arm/mm/dma-mapping.c | 2 +- trunk/arch/arm/mm/mmap.c | 2 +- trunk/arch/arm/mm/proc-v6.S | 2 +- trunk/arch/arm/mm/vmregion.h | 1 + .../arm/plat-mxc/devices/platform-mxc-mmc.c | 2 +- .../plat-nomadik/include/plat/gpio-nomadik.h | 102 + .../arm/plat-nomadik/include/plat/pincfg.h} | 111 +- trunk/arch/arm/plat-omap/Kconfig | 1 - trunk/arch/arm/plat-omap/debug-devices.c | 1 - trunk/arch/arm/plat-omap/i2c.c | 21 - trunk/arch/arm/plat-omap/include/plat/mmc.h | 1 - .../arm/plat-omap/include/plat/omap-serial.h | 4 +- .../arm/plat-omap/include/plat/omap_hwmod.h | 6 - trunk/arch/arm/plat-s3c24xx/dma.c | 9 +- .../arm/plat-samsung/include/plat/spi-core.h | 30 - trunk/arch/arm/plat-spear/Kconfig | 1 - trunk/arch/arm/tools/Makefile | 2 +- trunk/arch/arm/vfp/vfpmodule.c | 9 +- trunk/arch/arm/xen/enlighten.c | 11 - trunk/arch/arm/xen/grant-table.c | 2 +- trunk/arch/arm/xen/hypercall.S | 14 +- trunk/arch/arm64/Kconfig | 2 - trunk/arch/arm64/Makefile | 17 +- trunk/arch/arm64/boot/Makefile | 5 + trunk/arch/arm64/boot/dts/.gitignore | 1 - trunk/arch/arm64/boot/dts/Makefile | 5 - trunk/arch/arm64/include/asm/Kbuild | 1 + trunk/arch/arm64/include/asm/elf.h | 5 +- trunk/arch/arm64/include/asm/fpsimd.h | 5 +- trunk/arch/arm64/include/asm/io.h | 10 +- trunk/arch/arm64/include/asm/linkage.h | 7 - trunk/arch/arm64/include/asm/pgtable-hwdef.h | 6 +- trunk/arch/arm64/include/asm/pgtable.h | 40 +- trunk/arch/arm64/include/asm/processor.h | 12 +- trunk/arch/arm64/include/asm/unistd.h | 1 + trunk/arch/arm64/include/asm/unistd32.h | 2 +- trunk/arch/arm64/include/uapi/asm/ptrace.h | 3 +- trunk/arch/arm64/kernel/perf_event.c | 10 +- trunk/arch/arm64/kernel/process.c | 18 + trunk/arch/arm64/kernel/ptrace.c | 73 +- trunk/arch/arm64/kernel/setup.c | 12 - trunk/arch/arm64/kernel/smp.c | 4 +- trunk/arch/arm64/kernel/vdso.c | 20 +- trunk/arch/arm64/mm/init.c | 2 +- trunk/arch/c6x/Makefile | 2 +- trunk/arch/c6x/boot/Makefile | 20 + trunk/arch/c6x/boot/dts/Makefile | 20 - trunk/arch/c6x/boot/dts/linked_dtb.S | 2 - trunk/arch/c6x/boot/linked_dtb.S | 2 + trunk/arch/c6x/include/asm/setup.h | 33 - trunk/arch/c6x/include/uapi/asm/Kbuild | 2 - .../include/uapi/asm/kvm_para.h | 0 trunk/arch/c6x/include/uapi/asm/setup.h | 33 +- trunk/arch/c6x/kernel/entry.S | 5 +- trunk/arch/frv/Kconfig | 1 - trunk/arch/frv/boot/Makefile | 10 +- trunk/arch/frv/include/asm/unistd.h | 1 + trunk/arch/frv/kernel/entry.S | 32 +- trunk/arch/frv/kernel/process.c | 5 +- trunk/arch/frv/kernel/setup.c | 2 - trunk/arch/frv/mb93090-mb00/pci-dma-nommu.c | 1 - trunk/arch/h8300/include/asm/cache.h | 3 +- trunk/arch/hexagon/include/asm/Kbuild | 3 + trunk/arch/hexagon/include/asm/atomic.h | 2 +- trunk/arch/hexagon/include/asm/barrier.h | 2 +- trunk/arch/hexagon/include/asm/bitops.h | 2 +- .../include/{uapi => }/asm/bitsperlong.h | 2 +- .../include/{uapi => }/asm/byteorder.h | 2 +- trunk/arch/hexagon/include/asm/cache.h | 2 +- trunk/arch/hexagon/include/asm/cacheflush.h | 2 +- trunk/arch/hexagon/include/asm/checksum.h | 2 +- trunk/arch/hexagon/include/asm/cmpxchg.h | 2 +- trunk/arch/hexagon/include/asm/delay.h | 2 +- trunk/arch/hexagon/include/asm/dma-mapping.h | 2 +- trunk/arch/hexagon/include/asm/dma.h | 2 +- trunk/arch/hexagon/include/asm/elf.h | 2 +- trunk/arch/hexagon/include/asm/exec.h | 2 +- trunk/arch/hexagon/include/asm/fixmap.h | 2 +- trunk/arch/hexagon/include/asm/hexagon_vm.h | 2 +- trunk/arch/hexagon/include/asm/intrinsics.h | 2 +- trunk/arch/hexagon/include/asm/io.h | 2 +- trunk/arch/hexagon/include/asm/irq.h | 2 +- trunk/arch/hexagon/include/asm/irqflags.h | 2 +- trunk/arch/hexagon/include/asm/kgdb.h | 2 +- trunk/arch/hexagon/include/asm/kvm_para.h | 1 + trunk/arch/hexagon/include/asm/linkage.h | 2 +- trunk/arch/hexagon/include/asm/mem-layout.h | 2 +- trunk/arch/hexagon/include/asm/mmu.h | 2 +- trunk/arch/hexagon/include/asm/mmu_context.h | 2 +- trunk/arch/hexagon/include/asm/module.h | 2 +- trunk/arch/hexagon/include/asm/page.h | 2 +- .../hexagon/include/{uapi => }/asm/param.h | 2 +- trunk/arch/hexagon/include/asm/perf_event.h | 2 +- trunk/arch/hexagon/include/asm/pgalloc.h | 2 +- trunk/arch/hexagon/include/asm/pgtable.h | 2 +- trunk/arch/hexagon/include/asm/processor.h | 2 +- .../hexagon/include/{uapi => }/asm/ptrace.h | 2 +- .../include/{uapi => }/asm/registers.h | 17 +- .../hexagon/include/{uapi => }/asm/setup.h | 2 +- .../include/{uapi => }/asm/sigcontext.h | 2 +- .../hexagon/include/{uapi => }/asm/signal.h | 2 +- trunk/arch/hexagon/include/asm/smp.h | 2 +- trunk/arch/hexagon/include/asm/spinlock.h | 2 +- .../arch/hexagon/include/asm/spinlock_types.h | 2 +- trunk/arch/hexagon/include/asm/string.h | 2 +- trunk/arch/hexagon/include/asm/suspend.h | 2 +- .../hexagon/include/{uapi => }/asm/swab.h | 2 +- trunk/arch/hexagon/include/asm/switch_to.h | 2 +- trunk/arch/hexagon/include/asm/syscall.h | 2 +- trunk/arch/hexagon/include/asm/thread_info.h | 2 +- trunk/arch/hexagon/include/asm/time.h | 2 +- trunk/arch/hexagon/include/asm/timer-regs.h | 2 +- trunk/arch/hexagon/include/asm/timex.h | 2 +- trunk/arch/hexagon/include/asm/tlb.h | 2 +- trunk/arch/hexagon/include/asm/tlbflush.h | 2 +- trunk/arch/hexagon/include/asm/traps.h | 2 +- trunk/arch/hexagon/include/asm/uaccess.h | 2 +- .../hexagon/include/{uapi => }/asm/unistd.h | 2 +- .../hexagon/include/{uapi => }/asm/user.h | 18 + trunk/arch/hexagon/include/asm/vdso.h | 2 +- trunk/arch/hexagon/include/asm/vm_fault.h | 2 +- trunk/arch/hexagon/include/asm/vm_mmu.h | 2 +- trunk/arch/hexagon/include/uapi/asm/Kbuild | 12 - trunk/arch/hexagon/kernel/asm-offsets.c | 2 +- trunk/arch/hexagon/kernel/dma.c | 2 +- trunk/arch/hexagon/kernel/head.S | 2 +- trunk/arch/hexagon/kernel/hexagon_ksyms.c | 2 +- trunk/arch/hexagon/kernel/irq_cpu.c | 2 +- trunk/arch/hexagon/kernel/kgdb.c | 2 +- trunk/arch/hexagon/kernel/module.c | 2 +- trunk/arch/hexagon/kernel/process.c | 2 +- trunk/arch/hexagon/kernel/ptrace.c | 2 +- trunk/arch/hexagon/kernel/reset.c | 2 +- trunk/arch/hexagon/kernel/setup.c | 2 +- trunk/arch/hexagon/kernel/signal.c | 2 +- trunk/arch/hexagon/kernel/smp.c | 2 +- trunk/arch/hexagon/kernel/stacktrace.c | 2 +- trunk/arch/hexagon/kernel/syscall.c | 2 +- trunk/arch/hexagon/kernel/syscalltab.c | 2 +- trunk/arch/hexagon/kernel/time.c | 2 +- trunk/arch/hexagon/kernel/topology.c | 2 +- trunk/arch/hexagon/kernel/trampoline.S | 2 +- trunk/arch/hexagon/kernel/traps.c | 2 +- trunk/arch/hexagon/kernel/vdso.c | 2 +- trunk/arch/hexagon/kernel/vm_entry.S | 2 +- trunk/arch/hexagon/kernel/vm_events.c | 2 +- trunk/arch/hexagon/kernel/vm_init_segtable.S | 2 +- trunk/arch/hexagon/kernel/vm_ops.S | 2 +- trunk/arch/hexagon/kernel/vm_switch.S | 2 +- trunk/arch/hexagon/kernel/vm_vectors.S | 2 +- trunk/arch/hexagon/kernel/vmlinux.lds.S | 2 +- trunk/arch/hexagon/lib/checksum.c | 2 +- trunk/arch/hexagon/lib/io.c | 2 +- trunk/arch/hexagon/lib/memcpy.S | 2 +- trunk/arch/hexagon/lib/memset.S | 2 +- trunk/arch/hexagon/mm/cache.c | 2 +- trunk/arch/hexagon/mm/copy_from_user.S | 2 +- trunk/arch/hexagon/mm/copy_to_user.S | 2 +- trunk/arch/hexagon/mm/copy_user_template.S | 2 +- trunk/arch/hexagon/mm/init.c | 2 +- trunk/arch/hexagon/mm/ioremap.c | 2 +- trunk/arch/hexagon/mm/pgalloc.c | 2 +- trunk/arch/hexagon/mm/strnlen_user.S | 2 +- trunk/arch/hexagon/mm/uaccess.c | 2 +- trunk/arch/hexagon/mm/vm_fault.c | 2 +- trunk/arch/hexagon/mm/vm_tlb.c | 2 +- trunk/arch/ia64/include/asm/Kbuild | 1 - trunk/arch/ia64/include/asm/device.h | 3 + trunk/arch/ia64/include/asm/io.h | 2 +- trunk/arch/ia64/include/asm/kvm_para.h | 34 + trunk/arch/ia64/include/uapi/asm/Kbuild | 2 - trunk/arch/ia64/include/uapi/asm/kvm_para.h | 0 trunk/arch/ia64/kernel/acpi.c | 2 - trunk/arch/ia64/kernel/efi.c | 2 +- trunk/arch/ia64/mm/init.c | 1 + trunk/arch/m68k/include/asm/Kbuild | 2 + .../arch/m68k/include/{uapi => }/asm/a.out.h | 0 .../arch/m68k/include/{uapi => }/asm/auxvec.h | 0 .../m68k/include/{uapi => }/asm/byteorder.h | 0 .../m68k/include/{uapi => }/asm/cachectl.h | 0 .../arch/m68k/include/{uapi => }/asm/fcntl.h | 0 .../arch/m68k/include/{uapi => }/asm/ioctls.h | 0 .../arch/m68k/include/{uapi => }/asm/msgbuf.h | 0 .../arch/m68k/include/{uapi => }/asm/param.h | 0 trunk/arch/m68k/include/{uapi => }/asm/poll.h | 0 .../m68k/include/{uapi => }/asm/posix_types.h | 0 trunk/arch/m68k/include/asm/ptrace.h | 75 +- .../arch/m68k/include/{uapi => }/asm/sembuf.h | 0 trunk/arch/m68k/include/asm/setup.h | 82 +- .../arch/m68k/include/{uapi => }/asm/shmbuf.h | 0 .../m68k/include/{uapi => }/asm/sigcontext.h | 0 trunk/arch/m68k/include/asm/signal.h | 124 +- .../arch/m68k/include/{uapi => }/asm/socket.h | 0 .../m68k/include/{uapi => }/asm/sockios.h | 0 trunk/arch/m68k/include/{uapi => }/asm/stat.h | 0 trunk/arch/m68k/include/{uapi => }/asm/swab.h | 0 .../m68k/include/{uapi => }/asm/termbits.h | 0 trunk/arch/m68k/include/asm/termios.h | 44 +- trunk/arch/m68k/include/asm/unistd.h | 356 +++- trunk/arch/m68k/include/uapi/asm/Kbuild | 23 - trunk/arch/m68k/include/uapi/asm/ptrace.h | 79 - trunk/arch/m68k/include/uapi/asm/setup.h | 103 -- trunk/arch/m68k/include/uapi/asm/signal.h | 118 -- trunk/arch/m68k/include/uapi/asm/termios.h | 44 - trunk/arch/m68k/include/uapi/asm/unistd.h | 357 ---- trunk/arch/m68k/kernel/syscalltable.S | 1 - trunk/arch/microblaze/Makefile | 2 +- trunk/arch/microblaze/boot/Makefile | 19 +- trunk/arch/microblaze/boot/dts/Makefile | 22 - trunk/arch/microblaze/boot/dts/linked_dtb.S | 2 - trunk/arch/microblaze/boot/linked_dtb.S | 3 + trunk/arch/microblaze/kernel/signal.c | 2 +- trunk/arch/microblaze/pci/pci-common.c | 4 + trunk/arch/mips/cavium-octeon/Makefile | 3 + .../mips/cavium-octeon/executive/cvmx-l2c.c | 1 - trunk/arch/mips/fw/arc/misc.c | 1 - trunk/arch/mips/include/asm/Kbuild | 1 - trunk/arch/mips/include/asm/bitops.h | 128 +- trunk/arch/mips/include/asm/compat.h | 2 +- trunk/arch/mips/include/asm/delay.h | 6 +- trunk/arch/mips/include/asm/hugetlb.h | 12 +- trunk/arch/mips/include/asm/io.h | 1 - trunk/arch/mips/include/asm/irqflags.h | 207 ++- trunk/arch/mips/include/asm/pgtable-64.h | 15 +- trunk/arch/mips/include/asm/thread_info.h | 6 + trunk/arch/mips/jz4740/serial.h | 3 - trunk/arch/mips/kernel/cpu-probe.c | 1 + trunk/arch/mips/kernel/entry.S | 7 +- trunk/arch/mips/kernel/scall64-n32.S | 6 +- trunk/arch/mips/kernel/setup.c | 26 +- trunk/arch/mips/kernel/smp-cmp.c | 2 +- trunk/arch/mips/lantiq/dts/Makefile | 3 + trunk/arch/mips/lib/Makefile | 5 +- trunk/arch/mips/lib/bitops.c | 179 -- trunk/arch/mips/lib/delay.c | 6 +- trunk/arch/mips/lib/dump_tlb.c | 4 +- trunk/arch/mips/lib/mips-atomic.c | 176 -- trunk/arch/mips/mm/tlb-r4k.c | 19 +- trunk/arch/mips/mm/tlbex.c | 56 +- trunk/arch/mips/mti-malta/malta-platform.c | 3 +- trunk/arch/mips/netlogic/dts/Makefile | 3 + trunk/arch/mips/pci/pci.c | 2 + trunk/arch/mn10300/include/uapi/asm/setup.h | 4 - trunk/arch/openrisc/Makefile | 2 +- trunk/arch/openrisc/boot/{dts => }/Makefile | 5 + trunk/arch/openrisc/kernel/signal.c | 6 +- trunk/arch/parisc/include/asm/Kbuild | 9 +- trunk/arch/parisc/include/asm/auxvec.h | 4 + .../include/{uapi => }/asm/bitsperlong.h | 0 .../parisc/include/{uapi => }/asm/byteorder.h | 0 trunk/arch/parisc/include/asm/compat_signal.h | 2 + trunk/arch/parisc/include/asm/cputime.h | 6 + trunk/arch/parisc/include/asm/device.h | 7 + trunk/arch/parisc/include/asm/div64.h | 1 + .../parisc/include/asm/emergency-restart.h | 6 + .../parisc/include/{uapi => }/asm/errno.h | 0 .../parisc/include/{uapi => }/asm/fcntl.h | 0 trunk/arch/parisc/include/asm/hw_irq.h | 8 + .../parisc/include/{uapi => }/asm/ioctl.h | 0 .../parisc/include/{uapi => }/asm/ioctls.h | 0 .../parisc/include/{uapi => }/asm/ipcbuf.h | 0 trunk/arch/parisc/include/asm/irq_regs.h | 1 + trunk/arch/parisc/include/asm/kdebug.h | 1 + trunk/arch/parisc/include/asm/kvm_para.h | 1 + trunk/arch/parisc/include/asm/local.h | 1 + trunk/arch/parisc/include/asm/local64.h | 1 + .../arch/parisc/include/{uapi => }/asm/mman.h | 0 .../parisc/include/{uapi => }/asm/msgbuf.h | 0 trunk/arch/parisc/include/asm/mutex.h | 9 + trunk/arch/parisc/include/asm/param.h | 1 + trunk/arch/parisc/include/asm/pdc.h | 423 ++++- trunk/arch/parisc/include/asm/percpu.h | 7 + trunk/arch/parisc/include/asm/poll.h | 1 + .../include/{uapi => }/asm/posix_types.h | 0 trunk/arch/parisc/include/asm/ptrace.h | 46 +- trunk/arch/parisc/include/asm/real.h | 5 + .../parisc/include/{uapi => }/asm/resource.h | 0 trunk/arch/parisc/include/asm/segment.h | 6 + .../parisc/include/{uapi => }/asm/sembuf.h | 0 .../parisc/include/{uapi => }/asm/setup.h | 0 .../parisc/include/{uapi => }/asm/shmbuf.h | 0 .../include/{uapi => }/asm/sigcontext.h | 0 .../parisc/include/{uapi => }/asm/siginfo.h | 0 trunk/arch/parisc/include/asm/signal.h | 113 +- .../parisc/include/{uapi => }/asm/socket.h | 0 .../parisc/include/{uapi => }/asm/sockios.h | 0 .../arch/parisc/include/{uapi => }/asm/stat.h | 0 .../parisc/include/{uapi => }/asm/statfs.h | 0 .../arch/parisc/include/{uapi => }/asm/swab.h | 0 .../parisc/include/{uapi => }/asm/termbits.h | 0 trunk/arch/parisc/include/asm/termios.h | 41 +- trunk/arch/parisc/include/asm/topology.h | 6 + .../parisc/include/{uapi => }/asm/types.h | 0 trunk/arch/parisc/include/asm/unistd.h | 835 ++++++++- trunk/arch/parisc/include/asm/user.h | 5 + trunk/arch/parisc/include/asm/vga.h | 6 + trunk/arch/parisc/include/asm/xor.h | 1 + trunk/arch/parisc/include/uapi/asm/Kbuild | 28 - trunk/arch/parisc/include/uapi/asm/pdc.h | 427 ----- trunk/arch/parisc/include/uapi/asm/ptrace.h | 47 - trunk/arch/parisc/include/uapi/asm/signal.h | 118 -- trunk/arch/parisc/include/uapi/asm/termios.h | 43 - trunk/arch/parisc/include/uapi/asm/unistd.h | 837 --------- trunk/arch/parisc/kernel/signal32.c | 6 +- trunk/arch/parisc/kernel/sys_parisc.c | 2 - trunk/arch/parisc/kernel/syscall_table.S | 2 +- trunk/arch/powerpc/boot/dts/mpc5200b.dtsi | 6 - trunk/arch/powerpc/boot/dts/o2d.dtsi | 6 + trunk/arch/powerpc/boot/dts/pcm030.dts | 7 +- .../arch/powerpc/include/asm/kvm_book3s_32.h | 1 - trunk/arch/powerpc/include/asm/processor.h | 4 +- trunk/arch/powerpc/kernel/pci-common.c | 4 + trunk/arch/powerpc/kernel/pci_64.c | 4 + trunk/arch/powerpc/kernel/sysfs.c | 2 +- trunk/arch/powerpc/kvm/book3s_32_mmu_host.c | 4 +- trunk/arch/powerpc/perf/core-book3s.c | 2 +- .../arch/powerpc/platforms/52xx/mpc52xx_pic.c | 9 +- .../powerpc/platforms/powermac/pfunc_core.c | 2 +- trunk/arch/powerpc/platforms/pseries/eeh_pe.c | 2 +- trunk/arch/powerpc/platforms/pseries/msi.c | 3 +- .../platforms/pseries/processor_idle.c | 66 +- .../arch/powerpc/platforms/pseries/reconfig.c | 3 +- trunk/arch/powerpc/sysdev/fsl_pci.c | 2 +- trunk/arch/powerpc/sysdev/scom.c | 2 +- trunk/arch/s390/Kconfig | 2 - trunk/arch/s390/boot/compressed/vmlinux.lds.S | 2 +- trunk/arch/s390/include/asm/cio.h | 2 - trunk/arch/s390/include/asm/compat.h | 2 +- trunk/arch/s390/include/asm/perf_event.h | 2 +- trunk/arch/s390/include/asm/pgtable.h | 35 +- trunk/arch/s390/include/asm/topology.h | 3 - trunk/arch/s390/include/uapi/asm/chpid.h | 10 +- trunk/arch/s390/include/uapi/asm/kvm_para.h | 11 - trunk/arch/s390/include/uapi/asm/ptrace.h | 4 +- trunk/arch/s390/kernel/cache.c | 9 +- trunk/arch/s390/kernel/compat_signal.c | 14 +- trunk/arch/s390/kernel/compat_wrapper.S | 2 +- trunk/arch/s390/kernel/head_kdump.S | 10 +- trunk/arch/s390/kernel/perf_cpum_cf.c | 6 +- trunk/arch/s390/kernel/sclp.S | 8 +- trunk/arch/s390/kernel/signal.c | 14 +- trunk/arch/s390/kernel/topology.c | 6 +- trunk/arch/s390/kernel/vmlinux.lds.S | 2 +- trunk/arch/s390/lib/uaccess_pt.c | 2 +- trunk/arch/s390/mm/gup.c | 7 +- trunk/arch/score/kernel/signal.c | 7 +- trunk/arch/sh/drivers/pci/pci.c | 2 + trunk/arch/sh/include/asm/Kbuild | 11 + trunk/arch/sh/include/{uapi => }/asm/auxvec.h | 0 .../sh/include/{uapi => }/asm/byteorder.h | 0 .../arch/sh/include/{uapi => }/asm/cachectl.h | 0 .../sh/include/{uapi => }/asm/cpu-features.h | 0 trunk/arch/sh/include/asm/hw_breakpoint.h | 4 +- trunk/arch/sh/include/asm/io.h | 2 +- trunk/arch/sh/include/{uapi => }/asm/ioctls.h | 0 trunk/arch/sh/include/asm/posix_types.h | 8 + .../include/{uapi => }/asm/posix_types_32.h | 0 .../include/{uapi => }/asm/posix_types_64.h | 0 trunk/arch/sh/include/asm/ptrace.h | 34 +- trunk/arch/sh/include/asm/ptrace_32.h | 75 +- trunk/arch/sh/include/asm/ptrace_64.h | 12 +- trunk/arch/sh/include/asm/setup.h | 5 +- .../sh/include/{uapi => }/asm/sigcontext.h | 0 trunk/arch/sh/include/{uapi => }/asm/signal.h | 0 .../arch/sh/include/{uapi => }/asm/sockios.h | 0 trunk/arch/sh/include/{uapi => }/asm/stat.h | 0 trunk/arch/sh/include/{uapi => }/asm/swab.h | 0 trunk/arch/sh/include/asm/types.h | 5 +- trunk/arch/sh/include/asm/unistd.h | 9 +- .../sh/include/{uapi => }/asm/unistd_32.h | 3 +- .../sh/include/{uapi => }/asm/unistd_64.h | 3 +- trunk/arch/sh/include/uapi/asm/Kbuild | 22 - .../arch/sh/include/uapi/asm/hw_breakpoint.h | 4 - trunk/arch/sh/include/uapi/asm/posix_types.h | 7 - trunk/arch/sh/include/uapi/asm/ptrace.h | 34 - trunk/arch/sh/include/uapi/asm/ptrace_32.h | 77 - trunk/arch/sh/include/uapi/asm/ptrace_64.h | 14 - trunk/arch/sh/include/uapi/asm/setup.h | 1 - trunk/arch/sh/include/uapi/asm/types.h | 1 - trunk/arch/sh/include/uapi/asm/unistd.h | 7 - trunk/arch/sh/kernel/signal_64.c | 6 +- trunk/arch/sh/kernel/syscalls_32.S | 1 - trunk/arch/sh/kernel/syscalls_64.S | 1 - trunk/arch/sh/mm/mmap.c | 2 +- trunk/arch/sparc/Kconfig | 1 - trunk/arch/sparc/boot/piggyback.c | 12 +- trunk/arch/sparc/crypto/Makefile | 16 +- trunk/arch/sparc/crypto/aes_glue.c | 2 - trunk/arch/sparc/crypto/camellia_glue.c | 2 - trunk/arch/sparc/crypto/crc32c_glue.c | 2 - trunk/arch/sparc/crypto/des_glue.c | 2 - trunk/arch/sparc/crypto/md5_glue.c | 2 - trunk/arch/sparc/crypto/sha1_glue.c | 2 - trunk/arch/sparc/crypto/sha256_glue.c | 2 - trunk/arch/sparc/crypto/sha512_glue.c | 2 - trunk/arch/sparc/include/asm/atomic_64.h | 4 +- trunk/arch/sparc/include/asm/backoff.h | 69 +- trunk/arch/sparc/include/asm/compat.h | 5 +- trunk/arch/sparc/include/asm/processor_64.h | 17 +- trunk/arch/sparc/include/asm/prom.h | 8 - trunk/arch/sparc/include/asm/ptrace.h | 13 +- trunk/arch/sparc/include/asm/smp_64.h | 2 - trunk/arch/sparc/include/asm/thread_info_64.h | 5 - trunk/arch/sparc/include/asm/ttable.h | 24 +- .../arch/sparc/include/uapi/asm/sigcontext.h | 4 - trunk/arch/sparc/include/uapi/asm/unistd.h | 7 +- trunk/arch/sparc/kernel/entry.h | 7 - trunk/arch/sparc/kernel/leon_kernel.c | 6 +- trunk/arch/sparc/kernel/pci_impl.h | 2 +- trunk/arch/sparc/kernel/perf_event.c | 37 +- trunk/arch/sparc/kernel/process_64.c | 162 +- trunk/arch/sparc/kernel/ptrace_64.c | 4 +- trunk/arch/sparc/kernel/setup_64.c | 21 - trunk/arch/sparc/kernel/signal_64.c | 4 +- trunk/arch/sparc/kernel/smp_64.c | 11 - trunk/arch/sparc/kernel/sys32.S | 2 +- trunk/arch/sparc/kernel/sys_sparc_64.c | 5 - trunk/arch/sparc/kernel/syscalls.S | 14 +- trunk/arch/sparc/kernel/systbls_32.S | 1 - trunk/arch/sparc/kernel/systbls_64.S | 4 +- trunk/arch/sparc/kernel/unaligned_64.c | 36 +- trunk/arch/sparc/kernel/visemul.c | 23 +- trunk/arch/sparc/kernel/vmlinux.lds.S | 5 - trunk/arch/sparc/kernel/winfixup.S | 2 - trunk/arch/sparc/lib/atomic_64.S | 16 +- trunk/arch/sparc/lib/ksyms.c | 1 - trunk/arch/sparc/math-emu/math_64.c | 2 +- trunk/arch/sparc/mm/ultra.S | 64 +- trunk/arch/tile/Makefile | 4 - trunk/arch/tile/include/arch/Kbuild | 1 - trunk/arch/tile/include/asm/Kbuild | 3 + trunk/arch/tile/include/uapi/asm/Kbuild | 3 - trunk/arch/tile/kernel/module.c | 10 + trunk/arch/um/kernel/exec.c | 3 +- trunk/arch/unicore32/Kconfig | 7 +- trunk/arch/unicore32/include/asm/Kbuild | 1 + trunk/arch/unicore32/include/asm/bug.h | 5 + .../include/{uapi => }/asm/byteorder.h | 0 trunk/arch/unicore32/include/asm/cmpxchg.h | 2 +- trunk/arch/unicore32/include/asm/kvm_para.h | 1 + trunk/arch/unicore32/include/asm/processor.h | 5 + trunk/arch/unicore32/include/asm/ptrace.h | 76 +- .../include/{uapi => }/asm/sigcontext.h | 0 .../unicore32/include/{uapi => }/asm/unistd.h | 1 - trunk/arch/unicore32/include/uapi/asm/Kbuild | 7 - .../arch/unicore32/include/uapi/asm/ptrace.h | 90 - trunk/arch/unicore32/kernel/entry.S | 20 +- trunk/arch/unicore32/kernel/pci.c | 2 + trunk/arch/unicore32/kernel/process.c | 58 +- trunk/arch/unicore32/kernel/setup.h | 6 - trunk/arch/unicore32/kernel/sys.c | 63 + trunk/arch/unicore32/mm/fault.c | 37 +- trunk/arch/x86/Makefile | 2 +- trunk/arch/x86/boot/compressed/eboot.c | 2 - trunk/arch/x86/boot/header.S | 3 + trunk/arch/x86/crypto/aesni-intel_glue.c | 9 +- trunk/arch/x86/include/asm/Kbuild | 3 - trunk/arch/x86/include/asm/device.h | 3 + trunk/arch/x86/include/asm/efi.h | 6 +- trunk/arch/x86/include/asm/fpu-internal.h | 15 +- trunk/arch/x86/include/asm/ptrace.h | 15 +- trunk/arch/x86/include/asm/xen/hypercall.h | 21 +- trunk/arch/x86/include/asm/xen/hypervisor.h | 1 + trunk/arch/x86/include/asm/xen/interface.h | 4 +- trunk/arch/x86/kernel/acpi/boot.c | 6 - trunk/arch/x86/kernel/acpi/sleep.c | 2 - trunk/arch/x86/kernel/apic/io_apic.c | 3 - trunk/arch/x86/kernel/cpu/amd.c | 14 - trunk/arch/x86/kernel/cpu/intel_cacheinfo.c | 2 +- trunk/arch/x86/kernel/cpu/mcheck/mce.c | 6 + trunk/arch/x86/kernel/cpu/mcheck/mce_amd.c | 12 +- trunk/arch/x86/kernel/cpu/mcheck/mce_intel.c | 31 +- trunk/arch/x86/kernel/cpu/perf_event.c | 16 +- .../x86/kernel/cpu/perf_event_intel_uncore.c | 48 +- trunk/arch/x86/kernel/cpu/perf_event_knc.c | 93 +- trunk/arch/x86/kernel/cpu/perf_event_p6.c | 127 +- trunk/arch/x86/kernel/e820.c | 3 - trunk/arch/x86/kernel/entry_32.S | 8 +- trunk/arch/x86/kernel/entry_64.S | 16 +- trunk/arch/x86/kernel/head_32.S | 9 +- trunk/arch/x86/kernel/kvm.c | 3 - trunk/arch/x86/kernel/microcode_amd.c | 8 +- trunk/arch/x86/kernel/ptrace.c | 37 - trunk/arch/x86/kernel/reboot.c | 8 + trunk/arch/x86/kernel/setup.c | 30 +- trunk/arch/x86/kernel/signal.c | 4 +- trunk/arch/x86/kernel/smpboot.c | 5 - trunk/arch/x86/kernel/uprobes.c | 16 +- trunk/arch/x86/kvm/cpuid.h | 3 - trunk/arch/x86/kvm/emulate.c | 3 +- trunk/arch/x86/kvm/lapic.c | 2 +- trunk/arch/x86/kvm/mmu.c | 3 +- trunk/arch/x86/kvm/vmx.c | 11 +- trunk/arch/x86/kvm/x86.c | 63 +- trunk/arch/x86/mm/init.c | 58 +- trunk/arch/x86/mm/init_64.c | 7 +- trunk/arch/x86/mm/tlb.c | 2 +- trunk/arch/x86/oprofile/nmi_int.c | 2 +- trunk/arch/x86/pci/ce4100.c | 13 - trunk/arch/x86/platform/ce4100/ce4100.c | 24 - trunk/arch/x86/platform/efi/efi.c | 47 +- trunk/arch/x86/platform/efi/efi_64.c | 7 +- trunk/arch/x86/realmode/rm/wakeup_asm.S | 15 +- trunk/arch/x86/xen/enlighten.c | 2 + trunk/arch/x86/xen/mmu.c | 21 +- trunk/arch/xtensa/Kconfig | 2 - .../arch/xtensa/boot/boot-redboot/bootstrap.S | 8 +- trunk/arch/xtensa/include/asm/Kbuild | 28 +- trunk/arch/xtensa/include/asm/atomic.h | 12 +- .../xtensa/include/{uapi => }/asm/auxvec.h | 0 trunk/arch/xtensa/include/asm/bitsperlong.h | 1 + trunk/arch/xtensa/include/asm/bug.h | 18 + .../xtensa/include/{uapi => }/asm/byteorder.h | 0 trunk/arch/xtensa/include/asm/cacheflush.h | 2 +- trunk/arch/xtensa/include/asm/cmpxchg.h | 4 +- trunk/arch/xtensa/include/asm/coprocessor.h | 5 +- trunk/arch/xtensa/include/asm/cputime.h | 6 + trunk/arch/xtensa/include/asm/delay.h | 2 +- trunk/arch/xtensa/include/asm/device.h | 7 + trunk/arch/xtensa/include/asm/div64.h | 16 + .../xtensa/include/asm/emergency-restart.h | 6 + trunk/arch/xtensa/include/asm/errno.h | 16 + trunk/arch/xtensa/include/asm/fcntl.h | 1 + trunk/arch/xtensa/include/asm/futex.h | 1 + trunk/arch/xtensa/include/asm/hardirq.h | 16 + trunk/arch/xtensa/include/asm/io.h | 4 - trunk/arch/xtensa/include/asm/ioctl.h | 1 + .../xtensa/include/{uapi => }/asm/ioctls.h | 0 .../xtensa/include/{uapi => }/asm/ipcbuf.h | 0 trunk/arch/xtensa/include/asm/irq_regs.h | 1 + trunk/arch/xtensa/include/asm/irqflags.h | 4 +- trunk/arch/xtensa/include/asm/kdebug.h | 1 + trunk/arch/xtensa/include/asm/kmap_types.h | 6 + trunk/arch/xtensa/include/asm/kvm_para.h | 1 + trunk/arch/xtensa/include/asm/local.h | 16 + trunk/arch/xtensa/include/asm/local64.h | 1 + .../arch/xtensa/include/{uapi => }/asm/mman.h | 0 trunk/arch/xtensa/include/asm/mmu_context.h | 4 +- .../xtensa/include/{uapi => }/asm/msgbuf.h | 0 trunk/arch/xtensa/include/asm/param.h | 20 +- trunk/arch/xtensa/include/asm/percpu.h | 16 + .../arch/xtensa/include/{uapi => }/asm/poll.h | 0 .../include/{uapi => }/asm/posix_types.h | 0 trunk/arch/xtensa/include/asm/processor.h | 4 +- trunk/arch/xtensa/include/asm/ptrace.h | 66 +- trunk/arch/xtensa/include/asm/regs.h | 55 +- trunk/arch/xtensa/include/asm/resource.h | 16 + trunk/arch/xtensa/include/asm/scatterlist.h | 16 + trunk/arch/xtensa/include/asm/sections.h | 16 + .../xtensa/include/{uapi => }/asm/sembuf.h | 0 .../xtensa/include/{uapi => }/asm/setup.h | 0 .../xtensa/include/{uapi => }/asm/shmbuf.h | 0 .../include/{uapi => }/asm/sigcontext.h | 0 trunk/arch/xtensa/include/asm/siginfo.h | 16 + trunk/arch/xtensa/include/asm/signal.h | 134 +- .../xtensa/include/{uapi => }/asm/socket.h | 0 .../xtensa/include/{uapi => }/asm/sockios.h | 0 .../arch/xtensa/include/{uapi => }/asm/stat.h | 0 trunk/arch/xtensa/include/asm/statfs.h | 17 + .../arch/xtensa/include/{uapi => }/asm/swab.h | 0 trunk/arch/xtensa/include/asm/syscall.h | 2 +- .../xtensa/include/{uapi => }/asm/termbits.h | 0 trunk/arch/xtensa/include/asm/termios.h | 105 ++ trunk/arch/xtensa/include/asm/timex.h | 8 +- trunk/arch/xtensa/include/asm/tlbflush.h | 8 +- trunk/arch/xtensa/include/asm/topology.h | 16 + trunk/arch/xtensa/include/asm/types.h | 15 +- trunk/arch/xtensa/include/asm/unistd.h | 711 ++++++- trunk/arch/xtensa/include/asm/xor.h | 16 + trunk/arch/xtensa/include/uapi/asm/Kbuild | 22 - trunk/arch/xtensa/include/uapi/asm/param.h | 30 - trunk/arch/xtensa/include/uapi/asm/ptrace.h | 77 - trunk/arch/xtensa/include/uapi/asm/signal.h | 148 -- trunk/arch/xtensa/include/uapi/asm/types.h | 28 - trunk/arch/xtensa/include/uapi/asm/unistd.h | 754 -------- trunk/arch/xtensa/kernel/align.S | 38 +- trunk/arch/xtensa/kernel/coprocessor.S | 20 +- trunk/arch/xtensa/kernel/entry.S | 311 ++-- trunk/arch/xtensa/kernel/head.S | 36 +- trunk/arch/xtensa/kernel/irq.c | 6 +- trunk/arch/xtensa/kernel/process.c | 147 +- trunk/arch/xtensa/kernel/setup.c | 4 +- trunk/arch/xtensa/kernel/syscall.c | 8 +- trunk/arch/xtensa/kernel/traps.c | 22 +- trunk/arch/xtensa/kernel/vectors.S | 44 +- trunk/arch/xtensa/kernel/xtensa_ksyms.c | 1 + trunk/arch/xtensa/lib/memcopy.S | 309 +--- trunk/arch/xtensa/mm/fault.c | 3 +- trunk/arch/xtensa/platforms/iss/console.c | 9 +- .../platforms/iss/include/platform/simcall.h | 9 +- trunk/arch/xtensa/platforms/iss/setup.c | 10 +- trunk/arch/xtensa/platforms/xt2000/setup.c | 10 +- trunk/block/Kconfig | 2 +- trunk/block/blk-cgroup.c | 10 - trunk/block/blk-core.c | 3 +- trunk/block/blk-exec.c | 8 +- trunk/crypto/cryptd.c | 11 +- trunk/drivers/Makefile | 4 - trunk/drivers/acpi/Kconfig | 6 - trunk/drivers/acpi/Makefile | 11 +- trunk/drivers/acpi/acpi_i2c.c | 103 -- trunk/drivers/acpi/acpi_memhotplug.c | 193 +- trunk/drivers/acpi/acpi_pad.c | 8 +- trunk/drivers/acpi/acpi_platform.c | 104 -- trunk/drivers/acpi/acpica/Makefile | 3 - trunk/drivers/acpi/acpica/acdebug.h | 94 +- trunk/drivers/acpi/acpica/acdispat.h | 11 +- trunk/drivers/acpi/acpica/acevents.h | 6 +- trunk/drivers/acpi/acpica/acglobal.h | 73 +- trunk/drivers/acpi/acpica/aclocal.h | 16 +- trunk/drivers/acpi/acpica/acmacros.h | 163 +- trunk/drivers/acpi/acpica/acobject.h | 7 +- trunk/drivers/acpi/acpica/acopcode.h | 6 +- trunk/drivers/acpi/acpica/acparser.h | 3 +- trunk/drivers/acpi/acpica/acpredef.h | 11 +- trunk/drivers/acpi/acpica/acstruct.h | 2 +- trunk/drivers/acpi/acpica/acutils.h | 58 +- trunk/drivers/acpi/acpica/amlresrc.h | 1 + trunk/drivers/acpi/acpica/dscontrol.c | 2 +- trunk/drivers/acpi/acpica/dsfield.c | 2 +- trunk/drivers/acpi/acpica/dsmethod.c | 6 +- trunk/drivers/acpi/acpica/dsmthdat.c | 14 +- trunk/drivers/acpi/acpica/dsobject.c | 6 +- trunk/drivers/acpi/acpica/dsopcode.c | 3 +- trunk/drivers/acpi/acpica/dsutils.c | 33 +- trunk/drivers/acpi/acpica/dswexec.c | 10 +- trunk/drivers/acpi/acpica/dswload2.c | 4 +- trunk/drivers/acpi/acpica/dswstate.c | 26 +- trunk/drivers/acpi/acpica/evgpe.c | 20 +- trunk/drivers/acpi/acpica/evgpeblk.c | 3 +- trunk/drivers/acpi/acpica/evgpeutil.c | 3 +- trunk/drivers/acpi/acpica/evrgnini.c | 7 +- trunk/drivers/acpi/acpica/evxface.c | 2 +- trunk/drivers/acpi/acpica/evxfgpe.c | 13 +- trunk/drivers/acpi/acpica/exconvrt.c | 4 +- trunk/drivers/acpi/acpica/excreate.c | 9 +- trunk/drivers/acpi/acpica/exdebug.c | 10 +- trunk/drivers/acpi/acpica/exdump.c | 20 +- trunk/drivers/acpi/acpica/exfield.c | 4 +- trunk/drivers/acpi/acpica/exfldio.c | 15 +- trunk/drivers/acpi/acpica/exmisc.c | 5 +- trunk/drivers/acpi/acpica/exmutex.c | 9 +- trunk/drivers/acpi/acpica/exnames.c | 9 +- trunk/drivers/acpi/acpica/exoparg1.c | 11 +- trunk/drivers/acpi/acpica/exoparg2.c | 2 +- trunk/drivers/acpi/acpica/exoparg3.c | 3 +- trunk/drivers/acpi/acpica/exoparg6.c | 5 +- trunk/drivers/acpi/acpica/exprep.c | 13 +- trunk/drivers/acpi/acpica/exregion.c | 3 +- trunk/drivers/acpi/acpica/exresnte.c | 9 +- trunk/drivers/acpi/acpica/exresolv.c | 3 +- trunk/drivers/acpi/acpica/exresop.c | 8 +- trunk/drivers/acpi/acpica/exstore.c | 4 +- trunk/drivers/acpi/acpica/exstoren.c | 11 +- trunk/drivers/acpi/acpica/exstorob.c | 5 +- trunk/drivers/acpi/acpica/exsystem.c | 9 +- trunk/drivers/acpi/acpica/exutils.c | 5 +- trunk/drivers/acpi/acpica/hwacpi.c | 3 +- trunk/drivers/acpi/acpica/hwgpe.c | 4 +- trunk/drivers/acpi/acpica/hwpci.c | 4 +- trunk/drivers/acpi/acpica/hwregs.c | 1 + trunk/drivers/acpi/acpica/hwtimer.c | 6 +- trunk/drivers/acpi/acpica/hwvalid.c | 1 + trunk/drivers/acpi/acpica/hwxface.c | 1 + trunk/drivers/acpi/acpica/hwxfsleep.c | 12 +- trunk/drivers/acpi/acpica/nsaccess.c | 7 +- trunk/drivers/acpi/acpica/nsalloc.c | 4 +- trunk/drivers/acpi/acpica/nsdump.c | 10 +- trunk/drivers/acpi/acpica/nsinit.c | 4 +- trunk/drivers/acpi/acpica/nsload.c | 10 +- trunk/drivers/acpi/acpica/nsnames.c | 2 +- trunk/drivers/acpi/acpica/nsobject.c | 8 +- trunk/drivers/acpi/acpica/nsparse.c | 8 +- trunk/drivers/acpi/acpica/nssearch.c | 17 +- trunk/drivers/acpi/acpica/nsutils.c | 18 +- trunk/drivers/acpi/acpica/nswalk.c | 10 +- trunk/drivers/acpi/acpica/nsxfeval.c | 20 +- trunk/drivers/acpi/acpica/nsxfname.c | 66 +- trunk/drivers/acpi/acpica/nsxfobj.c | 4 +- trunk/drivers/acpi/acpica/psargs.c | 8 +- trunk/drivers/acpi/acpica/psloop.c | 61 +- trunk/drivers/acpi/acpica/psopcode.c | 29 +- trunk/drivers/acpi/acpica/psparse.c | 13 +- trunk/drivers/acpi/acpica/psutils.c | 4 +- trunk/drivers/acpi/acpica/rscalc.c | 14 +- trunk/drivers/acpi/acpica/rslist.c | 4 +- trunk/drivers/acpi/acpica/tbfind.c | 2 +- trunk/drivers/acpi/acpica/tbinstal.c | 2 - trunk/drivers/acpi/acpica/tbutils.c | 2 +- trunk/drivers/acpi/acpica/tbxface.c | 4 +- trunk/drivers/acpi/acpica/tbxfload.c | 2 +- trunk/drivers/acpi/acpica/tbxfroot.c | 3 +- trunk/drivers/acpi/acpica/utcache.c | 323 ---- trunk/drivers/acpi/acpica/utclib.c | 749 -------- trunk/drivers/acpi/acpica/utdebug.c | 37 +- trunk/drivers/acpi/acpica/utids.c | 104 +- trunk/drivers/acpi/acpica/utmath.c | 2 +- trunk/drivers/acpi/acpica/utmisc.c | 150 +- trunk/drivers/acpi/acpica/utmutex.c | 14 +- trunk/drivers/acpi/acpica/utobject.c | 8 +- trunk/drivers/acpi/acpica/utstate.c | 2 +- trunk/drivers/acpi/acpica/uttrack.c | 692 ------- trunk/drivers/acpi/acpica/utxface.c | 5 +- trunk/drivers/acpi/acpica/utxferror.c | 2 +- trunk/drivers/acpi/apei/ghes.c | 4 +- trunk/drivers/acpi/battery.c | 77 - trunk/drivers/acpi/bus.c | 21 +- trunk/drivers/acpi/container.c | 27 +- trunk/drivers/acpi/device_pm.c | 668 ------- trunk/drivers/acpi/dock.c | 56 +- trunk/drivers/acpi/ec.c | 97 +- trunk/drivers/acpi/glue.c | 55 +- trunk/drivers/acpi/hed.c | 4 +- trunk/drivers/acpi/internal.h | 11 +- trunk/drivers/acpi/osl.c | 22 +- trunk/drivers/acpi/pci_irq.c | 15 +- trunk/drivers/acpi/pci_root.c | 2 +- trunk/drivers/acpi/power.c | 2 +- trunk/drivers/acpi/proc.c | 11 +- trunk/drivers/acpi/processor_driver.c | 75 +- trunk/drivers/acpi/processor_idle.c | 57 +- trunk/drivers/acpi/resource.c | 526 ------ trunk/drivers/acpi/scan.c | 154 +- trunk/drivers/acpi/sleep.c | 535 ++++-- trunk/drivers/acpi/sysfs.c | 4 +- trunk/drivers/acpi/thermal.c | 34 - trunk/drivers/acpi/utils.c | 38 - trunk/drivers/acpi/video.c | 25 +- trunk/drivers/acpi/video_detect.c | 8 - trunk/drivers/ata/ahci_platform.c | 2 +- trunk/drivers/ata/libata-acpi.c | 11 +- trunk/drivers/ata/libata-core.c | 4 - trunk/drivers/ata/libata-scsi.c | 2 - trunk/drivers/ata/pata_arasan_cf.c | 8 +- trunk/drivers/ata/sata_highbank.c | 4 +- trunk/drivers/ata/sata_svw.c | 35 - trunk/drivers/atm/ambassador.c | 1 - trunk/drivers/base/Kconfig | 9 +- trunk/drivers/base/attribute_container.c | 2 +- trunk/drivers/base/bus.c | 14 + trunk/drivers/base/core.c | 10 +- trunk/drivers/base/devres.c | 4 +- trunk/drivers/base/dma-coherent.c | 5 +- trunk/drivers/base/dma-contiguous.c | 29 +- trunk/drivers/base/firmware_class.c | 314 ++-- trunk/drivers/base/platform.c | 37 +- trunk/drivers/base/power/clock_ops.c | 6 +- trunk/drivers/base/power/domain.c | 16 +- trunk/drivers/base/power/opp.c | 44 +- trunk/drivers/base/power/power.h | 6 +- trunk/drivers/base/power/qos.c | 323 +--- trunk/drivers/base/power/sysfs.c | 94 +- trunk/drivers/base/regmap/Kconfig | 2 +- trunk/drivers/bcma/main.c | 5 +- trunk/drivers/block/Kconfig | 15 +- trunk/drivers/block/aoe/aoecmd.c | 2 +- trunk/drivers/block/cciss.c | 1 + trunk/drivers/block/floppy.c | 93 +- trunk/drivers/block/loop.c | 17 +- trunk/drivers/block/mtip32xx/mtip32xx.c | 33 +- trunk/drivers/block/mtip32xx/mtip32xx.h | 7 +- trunk/drivers/block/xen-blkback/common.h | 4 +- trunk/drivers/block/xen-blkback/xenbus.c | 9 +- trunk/drivers/bluetooth/ath3k.c | 1 - trunk/drivers/bluetooth/btusb.c | 1 - trunk/drivers/bus/omap-ocp2scp.c | 68 +- trunk/drivers/char/Makefile | 1 + trunk/drivers/char/agp/ali-agp.c | 4 +- trunk/drivers/char/agp/amd-k7-agp.c | 4 +- trunk/drivers/char/agp/amd64-agp.c | 2 +- trunk/drivers/char/agp/ati-agp.c | 4 +- trunk/drivers/char/agp/efficeon-agp.c | 2 +- trunk/drivers/char/agp/i460-agp.c | 2 +- trunk/drivers/char/agp/intel-agp.c | 2 +- trunk/drivers/char/agp/intel-gtt.c | 2 +- trunk/drivers/char/agp/nvidia-agp.c | 2 +- trunk/drivers/char/agp/sgi-agp.c | 2 +- trunk/drivers/char/agp/sis-agp.c | 8 +- trunk/drivers/char/agp/sworks-agp.c | 2 +- trunk/drivers/char/agp/uninorth-agp.c | 4 +- trunk/drivers/char/agp/via-agp.c | 4 +- trunk/drivers/char/hpet.c | 5 +- trunk/drivers/char/hw_random/Kconfig | 6 +- trunk/drivers/char/hw_random/atmel-rng.c | 2 +- trunk/drivers/char/hw_random/bcm63xx-rng.c | 2 +- trunk/drivers/char/hw_random/exynos-rng.c | 2 +- trunk/drivers/char/hw_random/ixp4xx-rng.c | 5 +- trunk/drivers/char/hw_random/n2-drv.c | 4 +- trunk/drivers/char/hw_random/pasemi-rng.c | 2 +- trunk/drivers/char/hw_random/picoxcell-rng.c | 2 +- trunk/drivers/char/hw_random/ppc4xx-rng.c | 2 +- trunk/drivers/char/hw_random/timeriomem-rng.c | 2 +- trunk/drivers/char/hw_random/virtio-rng.c | 2 +- trunk/drivers/char/ipmi/ipmi_msghandler.c | 2 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 66 +- trunk/drivers/char/mbcs.c | 2 +- trunk/drivers/char/mem.c | 10 +- trunk/drivers/char/pc8736x_gpio.c | 3 +- trunk/drivers/char/ps3flash.c | 2 +- trunk/drivers/char/raw.c | 2 +- trunk/drivers/char/sonypi.c | 16 +- trunk/drivers/char/tb0219.c | 6 +- trunk/drivers/char/tpm/tpm_i2c_infineon.c | 6 +- trunk/drivers/char/tpm/tpm_ibmvtpm.c | 6 +- trunk/drivers/char/tpm/tpm_infineon.c | 6 +- trunk/drivers/char/tpm/tpm_tis.c | 6 +- trunk/drivers/char/virtio_console.c | 2 +- .../char/xilinx_hwicap/xilinx_hwicap.c | 14 +- trunk/drivers/clk/Kconfig | 16 +- trunk/drivers/clk/Makefile | 1 - trunk/drivers/clk/clk-bcm2835.c | 8 +- trunk/drivers/clk/clk-fixed-rate.c | 2 +- trunk/drivers/clk/clk-max77686.c | 6 +- trunk/drivers/clk/clk-prima2.c | 84 +- trunk/drivers/clk/clk-twl6040.c | 126 -- trunk/drivers/clk/clk-vt8500.c | 18 - trunk/drivers/clk/clk-wm831x.c | 40 +- trunk/drivers/clk/clk.c | 154 +- trunk/drivers/clk/mxs/clk-imx23.c | 6 +- trunk/drivers/clk/mxs/clk-imx28.c | 10 +- trunk/drivers/clk/spear/clk-aux-synth.c | 3 +- trunk/drivers/clk/spear/clk-vco-pll.c | 2 +- trunk/drivers/clk/spear/clk.c | 3 - trunk/drivers/clk/spear/spear1310_clock.c | 106 +- trunk/drivers/clk/spear/spear1340_clock.c | 237 +-- trunk/drivers/clk/spear/spear3xx_clock.c | 154 +- trunk/drivers/clk/spear/spear6xx_clock.c | 13 +- trunk/drivers/clk/ux500/Makefile | 3 - trunk/drivers/clk/ux500/abx500-clk.c | 73 - trunk/drivers/clk/ux500/clk-prcmu.c | 72 - trunk/drivers/clk/ux500/clk.h | 12 - trunk/drivers/clk/ux500/u8500_clk.c | 78 +- trunk/drivers/clk/versatile/Makefile | 3 - trunk/drivers/clk/versatile/clk-icst.c | 66 +- trunk/drivers/clk/versatile/clk-icst.h | 14 +- trunk/drivers/clk/versatile/clk-impd1.c | 97 - trunk/drivers/clk/versatile/clk-integrator.c | 55 +- trunk/drivers/clk/versatile/clk-realview.c | 65 +- .../drivers/clk/versatile/clk-vexpress-osc.c | 146 -- trunk/drivers/clk/versatile/clk-vexpress.c | 142 -- trunk/drivers/cpufreq/Kconfig.arm | 7 - trunk/drivers/cpufreq/Makefile | 5 +- trunk/drivers/cpufreq/cpufreq-cpu0.c | 2 +- trunk/drivers/cpufreq/cpufreq.c | 37 +- trunk/drivers/cpufreq/cpufreq_conservative.c | 558 ++++-- trunk/drivers/cpufreq/cpufreq_governor.c | 318 ---- trunk/drivers/cpufreq/cpufreq_governor.h | 176 -- trunk/drivers/cpufreq/cpufreq_ondemand.c | 731 +++++--- trunk/drivers/cpufreq/cpufreq_performance.c | 2 - trunk/drivers/cpufreq/cpufreq_powersave.c | 2 - trunk/drivers/cpufreq/cpufreq_stats.c | 5 +- trunk/drivers/cpufreq/cpufreq_userspace.c | 2 - trunk/drivers/cpufreq/db8500-cpufreq.c | 101 +- trunk/drivers/cpufreq/exynos-cpufreq.c | 11 +- trunk/drivers/cpufreq/freq_table.c | 2 - trunk/drivers/cpufreq/longhaul.c | 4 +- trunk/drivers/cpufreq/powernow-k8.c | 15 +- trunk/drivers/cpufreq/spear-cpufreq.c | 291 --- trunk/drivers/cpuidle/Kconfig | 9 - trunk/drivers/cpuidle/cpuidle.c | 55 +- trunk/drivers/cpuidle/cpuidle.h | 13 +- trunk/drivers/cpuidle/driver.c | 209 +-- trunk/drivers/cpuidle/governors/menu.c | 168 +- trunk/drivers/cpuidle/sysfs.c | 201 +- trunk/drivers/crypto/Kconfig | 2 +- trunk/drivers/crypto/ixp4xx_crypto.c | 12 +- trunk/drivers/devfreq/Kconfig | 8 +- trunk/drivers/devfreq/devfreq.c | 921 +++------- trunk/drivers/devfreq/exynos4_bus.c | 45 +- trunk/drivers/devfreq/governor.h | 17 - trunk/drivers/devfreq/governor_performance.c | 38 +- trunk/drivers/devfreq/governor_powersave.c | 38 +- .../drivers/devfreq/governor_simpleondemand.c | 55 +- trunk/drivers/devfreq/governor_userspace.c | 45 +- trunk/drivers/dma/Kconfig | 11 - trunk/drivers/dma/dw_dmac.c | 4 +- trunk/drivers/dma/dw_dmac_regs.h | 18 +- trunk/drivers/dma/edma.c | 4 +- trunk/drivers/dma/fsldma.c | 4 +- trunk/drivers/dma/imx-dma.c | 4 +- trunk/drivers/dma/intel_mid_dma.c | 4 +- trunk/drivers/dma/ioat/pci.c | 2 +- trunk/drivers/dma/iop-adma.c | 10 +- trunk/drivers/dma/mmp_pdma.c | 6 +- trunk/drivers/dma/mmp_tdma.c | 6 +- trunk/drivers/dma/mpc512x_dma.c | 4 +- trunk/drivers/dma/mv_xor.c | 8 +- trunk/drivers/dma/pch_dma.c | 4 +- trunk/drivers/dma/pl330.c | 2 +- trunk/drivers/dma/ppc4xx/adma.c | 4 +- trunk/drivers/dma/sa11x0-dma.c | 6 +- trunk/drivers/dma/sh/shdma.c | 6 +- trunk/drivers/dma/sirf-dma.c | 8 +- trunk/drivers/dma/tegra20-apb-dma.c | 4 +- trunk/drivers/dma/timb_dma.c | 2 +- trunk/drivers/edac/Kconfig | 8 +- trunk/drivers/edac/amd64_edac.c | 308 ++-- trunk/drivers/edac/amd64_edac.h | 61 +- trunk/drivers/edac/amd64_edac_inj.c | 128 +- trunk/drivers/edac/edac_mc.c | 65 +- trunk/drivers/edac/edac_mc_sysfs.c | 39 +- trunk/drivers/edac/edac_module.c | 27 +- trunk/drivers/edac/edac_pci.c | 3 +- trunk/drivers/edac/edac_pci_sysfs.c | 12 +- trunk/drivers/edac/edac_stub.c | 2 +- trunk/drivers/edac/highbank_mc_edac.c | 8 +- trunk/drivers/edac/i7300_edac.c | 8 +- trunk/drivers/edac/i7core_edac.c | 6 +- trunk/drivers/edac/i82975x_edac.c | 11 +- trunk/drivers/edac/mce_amd.c | 254 ++- trunk/drivers/edac/mce_amd.h | 11 +- trunk/drivers/edac/mce_amd_inj.c | 4 +- trunk/drivers/extcon/extcon-adc-jack.c | 16 +- trunk/drivers/extcon/extcon-arizona.c | 6 +- trunk/drivers/extcon/extcon-class.c | 142 +- trunk/drivers/extcon/extcon-gpio.c | 7 +- trunk/drivers/extcon/extcon-max77693.c | 52 +- trunk/drivers/extcon/extcon-max8997.c | 12 +- trunk/drivers/firewire/nosy.c | 4 +- trunk/drivers/firewire/ohci.c | 2 +- trunk/drivers/firewire/sbp2.c | 2 - trunk/drivers/firmware/memmap.c | 4 +- trunk/drivers/gpio/Kconfig | 40 +- trunk/drivers/gpio/Makefile | 5 - trunk/drivers/gpio/gpio-74x164.c | 8 +- trunk/drivers/gpio/gpio-ab8500.c | 6 +- trunk/drivers/gpio/gpio-adnp.c | 10 +- trunk/drivers/gpio/gpio-adp5520.c | 6 +- trunk/drivers/gpio/gpio-adp5588.c | 6 +- trunk/drivers/gpio/gpio-arizona.c | 6 +- trunk/drivers/gpio/gpio-clps711x.c | 199 -- trunk/drivers/gpio/gpio-cs5535.c | 6 +- trunk/drivers/gpio/gpio-da9052.c | 8 +- trunk/drivers/gpio/gpio-da9055.c | 204 -- trunk/drivers/gpio/gpio-em.c | 54 +- trunk/drivers/gpio/gpio-ep93xx.c | 2 +- trunk/drivers/gpio/gpio-generic.c | 6 +- trunk/drivers/gpio/gpio-ich.c | 10 +- trunk/drivers/gpio/gpio-janz-ttl.c | 10 +- trunk/drivers/gpio/gpio-langwell.c | 8 +- trunk/drivers/gpio/gpio-lpc32xx.c | 4 +- trunk/drivers/gpio/gpio-max7300.c | 6 +- trunk/drivers/gpio/gpio-max7301.c | 6 +- trunk/drivers/gpio/gpio-max730x.c | 16 +- trunk/drivers/gpio/gpio-max732x.c | 8 +- trunk/drivers/gpio/gpio-mc33880.c | 6 +- trunk/drivers/gpio/gpio-mcp23s08.c | 12 +- trunk/drivers/gpio/gpio-ml-ioh.c | 8 +- trunk/drivers/gpio/gpio-mpc5200.c | 4 +- trunk/drivers/gpio/gpio-msic.c | 2 +- trunk/drivers/gpio/gpio-msm-v2.c | 6 +- trunk/drivers/gpio/gpio-mvebu.c | 43 +- trunk/drivers/gpio/gpio-mxc.c | 4 +- trunk/drivers/gpio/gpio-mxs.c | 2 +- trunk/drivers/gpio/gpio-omap.c | 43 +- trunk/drivers/gpio/gpio-pca953x.c | 61 +- trunk/drivers/gpio/gpio-pcf857x.c | 29 +- trunk/drivers/gpio/gpio-pch.c | 9 +- trunk/drivers/gpio/gpio-pl061.c | 66 +- trunk/drivers/gpio/gpio-pxa.c | 6 +- trunk/drivers/gpio/gpio-rc5t583.c | 6 +- trunk/drivers/gpio/gpio-rdc321x.c | 6 +- trunk/drivers/gpio/gpio-sch.c | 6 +- trunk/drivers/gpio/gpio-sodaville.c | 4 +- trunk/drivers/gpio/gpio-spear-spics.c | 217 --- trunk/drivers/gpio/gpio-sta2x11.c | 4 +- trunk/drivers/gpio/gpio-stmpe.c | 94 +- trunk/drivers/gpio/gpio-stp-xway.c | 2 +- trunk/drivers/gpio/gpio-sx150x.c | 6 +- trunk/drivers/gpio/gpio-tc3589x.c | 26 +- trunk/drivers/gpio/gpio-tegra.c | 47 +- trunk/drivers/gpio/gpio-timberdale.c | 8 +- trunk/drivers/gpio/gpio-tps6586x.c | 6 +- trunk/drivers/gpio/gpio-tps65910.c | 6 +- trunk/drivers/gpio/gpio-tps65912.c | 6 +- trunk/drivers/gpio/gpio-ts5500.c | 466 ----- trunk/drivers/gpio/gpio-twl4030.c | 43 +- trunk/drivers/gpio/gpio-twl6040.c | 4 +- trunk/drivers/gpio/gpio-vr41xx.c | 6 +- trunk/drivers/gpio/gpio-vt8500.c | 4 +- trunk/drivers/gpio/gpio-vx855.c | 6 +- trunk/drivers/gpio/gpio-wm831x.c | 6 +- trunk/drivers/gpio/gpio-wm8350.c | 6 +- trunk/drivers/gpio/gpio-wm8994.c | 6 +- trunk/drivers/gpio/gpio-xilinx.c | 4 +- trunk/drivers/gpio/gpiolib-acpi.c | 54 - trunk/drivers/gpio/gpiolib-of.c | 52 - trunk/drivers/gpio/gpiolib.c | 210 +-- trunk/drivers/gpu/drm/drm_fb_cma_helper.c | 4 +- trunk/drivers/gpu/drm/drm_fops.c | 44 +- trunk/drivers/gpu/drm/drm_info.c | 4 +- trunk/drivers/gpu/drm/drm_platform.c | 1 + trunk/drivers/gpu/drm/exynos/Kconfig | 2 +- .../gpu/drm/exynos/exynos_drm_connector.c | 1 - .../gpu/drm/exynos/exynos_drm_encoder.c | 41 +- .../drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 3 +- .../drivers/gpu/drm/exynos/exynos_drm_fimd.c | 4 +- .../drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 + trunk/drivers/gpu/drm/exynos/exynos_mixer.c | 2 +- trunk/drivers/gpu/drm/i915/dvo_ch7xxx.c | 6 +- trunk/drivers/gpu/drm/i915/i915_dma.c | 3 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 13 - trunk/drivers/gpu/drm/i915/i915_drv.h | 10 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 32 +- trunk/drivers/gpu/drm/i915/i915_reg.h | 2 +- trunk/drivers/gpu/drm/i915/intel_bios.c | 11 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 19 +- trunk/drivers/gpu/drm/i915/intel_display.c | 90 +- trunk/drivers/gpu/drm/i915/intel_dp.c | 18 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 8 - trunk/drivers/gpu/drm/i915/intel_overlay.c | 86 +- trunk/drivers/gpu/drm/i915/intel_panel.c | 2 +- trunk/drivers/gpu/drm/i915/intel_pm.c | 16 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 111 +- trunk/drivers/gpu/drm/i915/intel_sdvo_regs.h | 2 - .../gpu/drm/nouveau/core/core/gpuobj.c | 5 - trunk/drivers/gpu/drm/nouveau/core/core/mm.c | 11 +- .../gpu/drm/nouveau/core/engine/disp/nv50.c | 31 +- .../drm/nouveau/core/engine/graph/ctxnv40.c | 12 +- .../gpu/drm/nouveau/core/engine/graph/nv40.c | 8 +- .../gpu/drm/nouveau/core/engine/graph/nv40.h | 2 +- .../gpu/drm/nouveau/core/engine/mpeg/nv40.c | 2 +- .../gpu/drm/nouveau/core/include/core/mm.h | 1 + .../drm/nouveau/core/include/core/object.h | 14 +- .../drm/nouveau/core/include/subdev/clock.h | 3 +- .../gpu/drm/nouveau/core/subdev/bios/base.c | 30 +- .../gpu/drm/nouveau/core/subdev/bios/dcb.c | 4 +- .../gpu/drm/nouveau/core/subdev/bios/pll.c | 10 +- .../gpu/drm/nouveau/core/subdev/clock/nva3.c | 19 - .../gpu/drm/nouveau/core/subdev/clock/nvc0.c | 1 - .../gpu/drm/nouveau/core/subdev/fb/nv50.c | 12 +- .../gpu/drm/nouveau/core/subdev/i2c/base.c | 2 +- .../gpu/drm/nouveau/core/subdev/therm/fan.c | 2 +- .../gpu/drm/nouveau/core/subdev/vm/nv41.c | 5 +- .../gpu/drm/nouveau/core/subdev/vm/nv44.c | 3 +- trunk/drivers/gpu/drm/nouveau/nouveau_abi16.c | 4 - trunk/drivers/gpu/drm/nouveau/nouveau_bo.c | 2 - .../gpu/drm/nouveau/nouveau_connector.c | 2 +- .../drivers/gpu/drm/nouveau/nouveau_display.c | 50 +- trunk/drivers/gpu/drm/nouveau/nouveau_drm.c | 39 +- trunk/drivers/gpu/drm/nouveau/nouveau_drm.h | 2 - trunk/drivers/gpu/drm/nouveau/nouveau_irq.c | 16 +- trunk/drivers/gpu/drm/nouveau/nouveau_pm.c | 6 +- trunk/drivers/gpu/drm/nouveau/nv04_dac.c | 16 +- trunk/drivers/gpu/drm/nouveau/nv04_dfp.c | 14 +- trunk/drivers/gpu/drm/nouveau/nv04_tv.c | 9 +- trunk/drivers/gpu/drm/radeon/atombios_crtc.c | 48 +- .../gpu/drm/radeon/atombios_encoders.c | 7 +- trunk/drivers/gpu/drm/radeon/evergreen.c | 11 +- trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 6 +- trunk/drivers/gpu/drm/radeon/evergreend.h | 4 - trunk/drivers/gpu/drm/radeon/ni.c | 57 +- trunk/drivers/gpu/drm/radeon/nid.h | 1 - trunk/drivers/gpu/drm/radeon/r600.c | 6 - trunk/drivers/gpu/drm/radeon/radeon.h | 14 +- trunk/drivers/gpu/drm/radeon/radeon_acpi.c | 6 +- trunk/drivers/gpu/drm/radeon/radeon_agp.c | 5 +- .../gpu/drm/radeon/radeon_atpx_handler.c | 12 +- .../gpu/drm/radeon/radeon_connectors.c | 28 +- trunk/drivers/gpu/drm/radeon/radeon_cs.c | 1 - trunk/drivers/gpu/drm/radeon/radeon_device.c | 64 +- trunk/drivers/gpu/drm/radeon/radeon_gart.c | 386 ++-- trunk/drivers/gpu/drm/radeon/radeon_gem.c | 18 +- trunk/drivers/gpu/drm/radeon/radeon_kms.c | 22 +- .../gpu/drm/radeon/radeon_legacy_crtc.c | 15 +- .../gpu/drm/radeon/radeon_legacy_encoders.c | 228 +-- trunk/drivers/gpu/drm/radeon/radeon_object.c | 19 + trunk/drivers/gpu/drm/radeon/radeon_ring.c | 2 +- trunk/drivers/gpu/drm/radeon/si.c | 55 +- trunk/drivers/gpu/drm/radeon/sid.h | 1 - .../drivers/gpu/drm/shmobile/shmob_drm_drv.c | 12 +- trunk/drivers/gpu/drm/ttm/ttm_bo.c | 24 +- trunk/drivers/gpu/drm/ttm/ttm_page_alloc.c | 5 +- trunk/drivers/gpu/drm/ttm/ttm_tt.c | 4 + trunk/drivers/gpu/drm/udl/udl_drv.h | 2 +- trunk/drivers/gpu/drm/udl/udl_fb.c | 12 +- trunk/drivers/gpu/drm/udl/udl_transfer.c | 5 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c | 2 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 5 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 2 - trunk/drivers/hid/hid-apple.c | 6 - trunk/drivers/hid/hid-core.c | 6 - trunk/drivers/hid/hid-ids.h | 3 - trunk/drivers/hid/hid-microsoft.c | 18 +- trunk/drivers/hid/hid-multitouch.c | 5 +- trunk/drivers/hid/hidraw.c | 69 +- trunk/drivers/hv/Kconfig | 6 - trunk/drivers/hv/Makefile | 1 - trunk/drivers/hv/channel.c | 32 +- trunk/drivers/hv/channel_mgmt.c | 8 + trunk/drivers/hv/hv_balloon.c | 1041 ----------- trunk/drivers/hwmon/Kconfig | 19 +- trunk/drivers/hwmon/Makefile | 1 - trunk/drivers/hwmon/abituguru.c | 12 +- trunk/drivers/hwmon/abituguru3.c | 6 +- trunk/drivers/hwmon/ad7314.c | 6 +- trunk/drivers/hwmon/ad7414.c | 4 +- trunk/drivers/hwmon/adcxx.c | 6 +- trunk/drivers/hwmon/ads7828.c | 247 ++- trunk/drivers/hwmon/ads7871.c | 6 +- trunk/drivers/hwmon/adt7411.c | 6 +- trunk/drivers/hwmon/asb100.c | 2 +- trunk/drivers/hwmon/coretemp.c | 75 +- trunk/drivers/hwmon/da9052-hwmon.c | 33 +- trunk/drivers/hwmon/da9055-hwmon.c | 336 ---- trunk/drivers/hwmon/dme1737.c | 6 +- trunk/drivers/hwmon/f71805f.c | 8 +- trunk/drivers/hwmon/f71882fg.c | 8 +- trunk/drivers/hwmon/fam15h_power.c | 18 +- trunk/drivers/hwmon/gpio-fan.c | 10 +- trunk/drivers/hwmon/hih6130.c | 6 +- trunk/drivers/hwmon/i5k_amb.c | 18 +- trunk/drivers/hwmon/ina2xx.c | 13 +- trunk/drivers/hwmon/it87.c | 12 +- trunk/drivers/hwmon/jz4740-hwmon.c | 6 +- trunk/drivers/hwmon/k10temp.c | 8 +- trunk/drivers/hwmon/k8temp.c | 8 +- trunk/drivers/hwmon/lm70.c | 6 +- trunk/drivers/hwmon/lm78.c | 6 +- trunk/drivers/hwmon/max1111.c | 8 +- trunk/drivers/hwmon/max197.c | 6 +- trunk/drivers/hwmon/mc13783-adc.c | 4 +- trunk/drivers/hwmon/ntc_thermistor.c | 6 +- trunk/drivers/hwmon/pc87360.c | 8 +- trunk/drivers/hwmon/pc87427.c | 10 +- trunk/drivers/hwmon/pmbus/Kconfig | 2 +- trunk/drivers/hwmon/s3c-hwmon.c | 6 +- trunk/drivers/hwmon/sch5627.c | 4 +- trunk/drivers/hwmon/sch5636.c | 2 +- trunk/drivers/hwmon/sht15.c | 6 +- trunk/drivers/hwmon/sht21.c | 6 +- trunk/drivers/hwmon/sis5595.c | 16 +- trunk/drivers/hwmon/smsc47b397.c | 6 +- trunk/drivers/hwmon/tmp102.c | 6 +- trunk/drivers/hwmon/twl4030-madc-hwmon.c | 4 +- trunk/drivers/hwmon/ultra45_env.c | 6 +- trunk/drivers/hwmon/via-cputemp.c | 6 +- trunk/drivers/hwmon/via686a.c | 14 +- trunk/drivers/hwmon/vt1211.c | 8 +- trunk/drivers/hwmon/vt8231.c | 12 +- trunk/drivers/hwmon/w83627ehf.c | 13 +- trunk/drivers/hwmon/w83627hf.c | 16 +- trunk/drivers/hwmon/w83781d.c | 8 +- trunk/drivers/hwmon/w83791d.c | 2 +- trunk/drivers/hwmon/w83792d.c | 2 +- trunk/drivers/hwmon/w83l786ng.c | 2 +- trunk/drivers/hwmon/wm831x-hwmon.c | 6 +- trunk/drivers/hwmon/wm8350-hwmon.c | 6 +- trunk/drivers/hwspinlock/omap_hwspinlock.c | 6 +- trunk/drivers/hwspinlock/u8500_hsem.c | 6 +- trunk/drivers/i2c/Makefile | 1 - trunk/drivers/i2c/busses/Kconfig | 1 + trunk/drivers/i2c/busses/Makefile | 1 + trunk/drivers/i2c/busses/i2c-at91.c | 7 +- trunk/drivers/i2c/busses/i2c-i801.c | 11 +- trunk/drivers/i2c/busses/i2c-mxs.c | 188 +- trunk/drivers/i2c/busses/i2c-nomadik.c | 9 +- trunk/drivers/i2c/busses/i2c-ocores.c | 4 + trunk/drivers/i2c/busses/i2c-omap.c | 36 +- trunk/drivers/i2c/busses/i2c-s3c2410.c | 1 - trunk/drivers/i2c/{ => busses}/i2c-stub.c | 66 +- trunk/drivers/i2c/busses/i2c-tegra.c | 2 +- trunk/drivers/i2c/i2c-core.c | 6 - trunk/drivers/i2c/muxes/i2c-mux-pinctrl.c | 2 +- trunk/drivers/idle/intel_idle.c | 14 +- trunk/drivers/iio/Kconfig | 1 + trunk/drivers/iio/Makefile | 1 + trunk/drivers/infiniband/hw/cxgb4/mem.c | 2 +- trunk/drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +- trunk/drivers/infiniband/hw/mlx4/mad.c | 85 +- trunk/drivers/infiniband/hw/mlx4/mcg.c | 18 +- trunk/drivers/input/evdev.c | 3 +- trunk/drivers/input/input-mt.c | 4 - trunk/drivers/input/joydev.c | 3 +- trunk/drivers/input/keyboard/Kconfig | 1 - trunk/drivers/input/keyboard/pxa27x_keypad.c | 3 - trunk/drivers/input/matrix-keymap.c | 3 - trunk/drivers/input/misc/xen-kbdfront.c | 5 +- trunk/drivers/input/mouse/bcm5974.c | 21 - trunk/drivers/input/mousedev.c | 7 +- trunk/drivers/input/tablet/wacom_sys.c | 51 +- trunk/drivers/input/tablet/wacom_wac.c | 91 +- trunk/drivers/input/tablet/wacom_wac.h | 5 - trunk/drivers/input/touchscreen/Kconfig | 2 +- trunk/drivers/input/touchscreen/ads7846.c | 6 +- trunk/drivers/input/touchscreen/egalax_ts.c | 23 +- trunk/drivers/input/touchscreen/tsc40.c | 1 + trunk/drivers/iommu/amd_iommu_init.c | 39 +- trunk/drivers/iommu/intel-iommu.c | 4 +- trunk/drivers/iommu/tegra-smmu.c | 3 +- trunk/drivers/irqchip/irq-bcm2835.c | 3 +- trunk/drivers/isdn/Kconfig | 2 +- trunk/drivers/isdn/gigaset/bas-gigaset.c | 19 +- trunk/drivers/isdn/i4l/Kconfig | 2 +- trunk/drivers/isdn/i4l/isdn_common.c | 4 + trunk/drivers/leds/leds-adp5520.c | 8 +- trunk/drivers/leds/leds-asic3.c | 6 +- trunk/drivers/leds/leds-atmel-pwm.c | 2 +- trunk/drivers/leds/leds-bd2802.c | 2 +- trunk/drivers/leds/leds-blinkm.c | 6 +- trunk/drivers/leds/leds-clevo-mail.c | 2 +- trunk/drivers/leds/leds-cobalt-qube.c | 6 +- trunk/drivers/leds/leds-cobalt-raq.c | 6 +- trunk/drivers/leds/leds-da903x.c | 6 +- trunk/drivers/leds/leds-da9052.c | 6 +- trunk/drivers/leds/leds-gpio.c | 12 +- trunk/drivers/leds/leds-lm3530.c | 6 +- trunk/drivers/leds/leds-lm3533.c | 8 +- trunk/drivers/leds/leds-lm355x.c | 8 +- trunk/drivers/leds/leds-lm3642.c | 8 +- trunk/drivers/leds/leds-lp3944.c | 6 +- trunk/drivers/leds/leds-lp5521.c | 8 +- trunk/drivers/leds/leds-lp5523.c | 4 +- trunk/drivers/leds/leds-lp8788.c | 6 +- trunk/drivers/leds/leds-lt3593.c | 8 +- trunk/drivers/leds/leds-max8997.c | 6 +- trunk/drivers/leds/leds-mc13783.c | 10 +- trunk/drivers/leds/leds-netxbig.c | 10 +- trunk/drivers/leds/leds-ns2.c | 8 +- trunk/drivers/leds/leds-ot200.c | 6 +- trunk/drivers/leds/leds-pca955x.c | 6 +- trunk/drivers/leds/leds-pca9633.c | 6 +- trunk/drivers/leds/leds-pwm.c | 4 +- trunk/drivers/leds/leds-rb532.c | 6 +- trunk/drivers/leds/leds-regulator.c | 6 +- trunk/drivers/leds/leds-renesas-tpu.c | 6 +- trunk/drivers/leds/leds-ss4200.c | 4 +- trunk/drivers/leds/leds-sunfire.c | 12 +- trunk/drivers/leds/leds-tca6507.c | 6 +- trunk/drivers/leds/ledtrig-cpu.c | 21 + trunk/drivers/md/dm.c | 8 +- trunk/drivers/md/faulty.c | 5 +- trunk/drivers/md/md.c | 27 +- trunk/drivers/md/raid1.c | 4 +- trunk/drivers/md/raid10.c | 148 +- trunk/drivers/md/raid5.c | 79 +- trunk/drivers/media/Kconfig | 18 +- .../media/dvb-frontends/stv0900_core.c | 6 +- trunk/drivers/media/i2c/adv7604.c | 377 ++-- trunk/drivers/media/i2c/soc_camera/mt9v022.c | 11 +- .../media/platform/exynos-gsc/gsc-core.c | 6 +- .../media/platform/exynos-gsc/gsc-m2m.c | 4 +- .../media/platform/exynos-gsc/gsc-regs.h | 16 +- .../drivers/media/platform/omap3isp/ispccdc.c | 4 +- .../drivers/media/platform/omap3isp/ispstat.c | 4 +- .../drivers/media/platform/omap3isp/ispstat.h | 4 +- .../media/platform/omap3isp/ispvideo.c | 2 +- trunk/drivers/media/platform/s5p-fimc/Kconfig | 1 - .../media/platform/s5p-fimc/fimc-capture.c | 14 +- .../media/platform/s5p-fimc/fimc-lite.c | 10 +- .../media/platform/s5p-fimc/fimc-m2m.c | 3 +- .../media/platform/s5p-fimc/fimc-mdevice.c | 41 +- .../drivers/media/platform/s5p-mfc/s5p_mfc.c | 7 +- .../media/platform/s5p-mfc/s5p_mfc_opr_v6.c | 2 +- trunk/drivers/media/platform/sh_vou.c | 3 +- .../media/platform/soc_camera/mx1_camera.c | 9 + .../media/platform/soc_camera/mx2_camera.c | 13 +- .../media/platform/soc_camera/mx3_camera.c | 5 +- .../media/platform/soc_camera/omap1_camera.c | 4 +- .../media/platform/soc_camera/pxa_camera.c | 4 +- .../soc_camera/sh_mobile_ceu_camera.c | 13 +- .../media/usb/dvb-usb-v2/dvb_usb_core.c | 11 +- .../media/usb/dvb-usb-v2/dvb_usb_urb.c | 4 +- trunk/drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 - trunk/drivers/memstick/host/Kconfig | 10 - trunk/drivers/memstick/host/Makefile | 1 - trunk/drivers/memstick/host/rtsx_pci_ms.c | 641 ------- trunk/drivers/mfd/88pm800.c | 12 +- trunk/drivers/mfd/88pm805.c | 10 +- trunk/drivers/mfd/88pm80x.c | 2 +- trunk/drivers/mfd/88pm860x-core.c | 104 +- trunk/drivers/mfd/Kconfig | 10 - trunk/drivers/mfd/Makefile | 3 - trunk/drivers/mfd/ab3100-core.c | 13 +- trunk/drivers/mfd/ab8500-core.c | 40 +- trunk/drivers/mfd/ab8500-debugfs.c | 6 +- trunk/drivers/mfd/ab8500-gpadc.c | 6 +- trunk/drivers/mfd/ab8500-sysctrl.c | 6 +- trunk/drivers/mfd/adp5520.c | 6 +- trunk/drivers/mfd/arizona-core.c | 18 +- trunk/drivers/mfd/arizona-i2c.c | 6 +- trunk/drivers/mfd/arizona-irq.c | 1 - trunk/drivers/mfd/arizona-spi.c | 6 +- trunk/drivers/mfd/asic3.c | 4 +- trunk/drivers/mfd/cs5535-mfd.c | 12 +- trunk/drivers/mfd/da903x.c | 10 +- trunk/drivers/mfd/da9052-core.c | 4 +- trunk/drivers/mfd/da9052-i2c.c | 6 +- trunk/drivers/mfd/da9052-spi.c | 6 +- trunk/drivers/mfd/da9055-core.c | 4 +- trunk/drivers/mfd/da9055-i2c.c | 6 +- trunk/drivers/mfd/davinci_voicecodec.c | 4 +- trunk/drivers/mfd/db8500-prcmu.c | 88 +- trunk/drivers/mfd/ezx-pcap.c | 8 +- trunk/drivers/mfd/htc-i2cpld.c | 12 +- trunk/drivers/mfd/intel_msic.c | 10 +- trunk/drivers/mfd/janz-cmodio.c | 10 +- trunk/drivers/mfd/jz4740-adc.c | 6 +- trunk/drivers/mfd/lm3533-core.c | 18 +- trunk/drivers/mfd/lp8788.c | 4 +- trunk/drivers/mfd/lpc_ich.c | 20 +- trunk/drivers/mfd/lpc_sch.c | 6 +- trunk/drivers/mfd/max77686.c | 2 +- trunk/drivers/mfd/max8907.c | 4 +- trunk/drivers/mfd/max8925-core.c | 58 +- trunk/drivers/mfd/max8925-i2c.c | 6 +- trunk/drivers/mfd/mc13xxx-i2c.c | 4 +- trunk/drivers/mfd/mc13xxx-spi.c | 4 +- trunk/drivers/mfd/omap-usb-host.c | 4 +- trunk/drivers/mfd/omap-usb-tll.c | 6 +- trunk/drivers/mfd/palmas.c | 6 +- trunk/drivers/mfd/pcf50633-adc.c | 6 +- trunk/drivers/mfd/pcf50633-core.c | 6 +- trunk/drivers/mfd/pm8921-core.c | 8 +- trunk/drivers/mfd/pm8xxx-irq.c | 4 +- trunk/drivers/mfd/rc5t583.c | 6 +- trunk/drivers/mfd/rdc321x-southbridge.c | 6 +- trunk/drivers/mfd/rtl8411.c | 251 --- trunk/drivers/mfd/rts5209.c | 223 --- trunk/drivers/mfd/rts5229.c | 205 --- trunk/drivers/mfd/rtsx_pcr.c | 1251 ------------- trunk/drivers/mfd/rtsx_pcr.h | 32 - trunk/drivers/mfd/sm501.c | 16 +- trunk/drivers/mfd/sta2x11-mfd.c | 20 +- trunk/drivers/mfd/stmpe-i2c.c | 6 +- trunk/drivers/mfd/stmpe-spi.c | 6 +- trunk/drivers/mfd/stmpe.c | 2 - trunk/drivers/mfd/syscon.c | 6 +- trunk/drivers/mfd/tc3589x.c | 8 +- trunk/drivers/mfd/tc6387xb.c | 6 +- trunk/drivers/mfd/tc6393xb.c | 12 +- trunk/drivers/mfd/ti-ssp.c | 6 +- trunk/drivers/mfd/timberdale.c | 64 +- trunk/drivers/mfd/tps6105x.c | 8 +- trunk/drivers/mfd/tps65090.c | 8 +- trunk/drivers/mfd/tps65217.c | 6 +- trunk/drivers/mfd/tps6586x.c | 10 +- trunk/drivers/mfd/tps65910.c | 10 +- trunk/drivers/mfd/tps65911-comparator.c | 6 +- trunk/drivers/mfd/tps65912-spi.c | 6 +- trunk/drivers/mfd/twl-core.c | 4 +- trunk/drivers/mfd/twl4030-audio.c | 6 +- trunk/drivers/mfd/twl4030-irq.c | 3 +- trunk/drivers/mfd/twl4030-madc.c | 4 +- trunk/drivers/mfd/twl4030-power.c | 20 +- trunk/drivers/mfd/vx855.c | 6 +- trunk/drivers/mfd/wl1273-core.c | 4 +- trunk/drivers/mfd/wm5102-tables.c | 519 +++++- trunk/drivers/mfd/wm831x-spi.c | 6 +- trunk/drivers/mfd/wm8994-core.c | 16 +- trunk/drivers/misc/ad525x_dpot-i2c.c | 6 +- trunk/drivers/misc/ad525x_dpot-spi.c | 6 +- trunk/drivers/misc/ad525x_dpot.c | 4 +- trunk/drivers/misc/apds9802als.c | 6 +- trunk/drivers/misc/apds990x.c | 6 +- trunk/drivers/misc/atmel-ssc.c | 4 +- trunk/drivers/misc/bh1770glc.c | 6 +- trunk/drivers/misc/bh1780gli.c | 6 +- trunk/drivers/misc/bmp085-i2c.c | 4 +- trunk/drivers/misc/bmp085-spi.c | 4 +- trunk/drivers/misc/bmp085.c | 2 +- trunk/drivers/misc/cb710/core.c | 10 +- trunk/drivers/misc/cs5535-mfgpt.c | 6 +- trunk/drivers/misc/eeprom/at24.c | 4 +- trunk/drivers/misc/eeprom/at25.c | 4 +- trunk/drivers/misc/eeprom/eeprom_93xx46.c | 6 +- trunk/drivers/misc/fsa9480.c | 6 +- trunk/drivers/misc/hpilo.c | 21 +- trunk/drivers/misc/ibmasm/module.c | 6 +- trunk/drivers/misc/ioc4.c | 10 +- trunk/drivers/misc/isl29003.c | 6 +- trunk/drivers/misc/lis3lv02d/lis3lv02d_i2c.c | 6 +- trunk/drivers/misc/lis3lv02d/lis3lv02d_spi.c | 6 +- trunk/drivers/misc/mei/Makefile | 1 - trunk/drivers/misc/mei/amthif.c | 722 -------- trunk/drivers/misc/mei/hw.h | 36 +- trunk/drivers/misc/mei/init.c | 368 ++-- trunk/drivers/misc/mei/interface.c | 91 +- trunk/drivers/misc/mei/interrupt.c | 760 +++++--- trunk/drivers/misc/mei/iorw.c | 455 +++-- trunk/drivers/misc/mei/main.c | 462 +++-- trunk/drivers/misc/mei/mei_dev.h | 155 +- trunk/drivers/misc/mei/wd.c | 15 +- trunk/drivers/misc/pch_phub.c | 6 +- trunk/drivers/misc/phantom.c | 10 +- trunk/drivers/misc/pti.c | 8 +- trunk/drivers/misc/spear13xx_pcie_gadget.c | 4 +- trunk/drivers/misc/ti-st/st_core.c | 1 + trunk/drivers/misc/ti-st/st_kim.c | 30 +- trunk/drivers/misc/ti_dac7512.c | 6 +- trunk/drivers/misc/tsl2550.c | 6 +- trunk/drivers/mmc/card/block.c | 81 - trunk/drivers/mmc/card/queue.c | 17 +- trunk/drivers/mmc/core/bus.c | 3 +- trunk/drivers/mmc/core/core.c | 32 +- trunk/drivers/mmc/core/debugfs.c | 16 - trunk/drivers/mmc/core/mmc.c | 19 +- trunk/drivers/mmc/core/mmc_ops.c | 11 - trunk/drivers/mmc/core/sdio_bus.c | 17 +- trunk/drivers/mmc/core/sdio_io.c | 10 +- trunk/drivers/mmc/core/sdio_ops.c | 32 +- trunk/drivers/mmc/core/slot-gpio.c | 8 +- trunk/drivers/mmc/host/Kconfig | 52 +- trunk/drivers/mmc/host/Makefile | 5 +- trunk/drivers/mmc/host/at91_mci.c | 1219 ++++++++++++ trunk/drivers/mmc/host/at91_mci.h | 115 ++ trunk/drivers/mmc/host/atmel-mci.c | 2 +- trunk/drivers/mmc/host/au1xmmc.c | 4 +- trunk/drivers/mmc/host/bfin_sdh.c | 6 +- trunk/drivers/mmc/host/cb710-mmc.c | 6 +- trunk/drivers/mmc/host/dw_mmc-exynos.c | 8 +- trunk/drivers/mmc/host/dw_mmc-pci.c | 6 +- trunk/drivers/mmc/host/dw_mmc-pltfm.c | 26 +- trunk/drivers/mmc/host/dw_mmc-pltfm.h | 4 +- trunk/drivers/mmc/host/dw_mmc.c | 138 +- trunk/drivers/mmc/host/jz4740_mmc.c | 12 +- trunk/drivers/mmc/host/mmc_spi.c | 6 +- trunk/drivers/mmc/host/mmci.c | 10 +- trunk/drivers/mmc/host/mxcmmc.c | 4 +- trunk/drivers/mmc/host/mxs-mmc.c | 31 +- trunk/drivers/mmc/host/omap.c | 8 +- trunk/drivers/mmc/host/omap_hsmmc.c | 202 +- trunk/drivers/mmc/host/pxamci.c | 4 +- trunk/drivers/mmc/host/rtsx_pci_sdmmc.c | 1348 -------------- trunk/drivers/mmc/host/s3cmci.c | 6 +- trunk/drivers/mmc/host/sdhci-acpi.c | 312 ---- trunk/drivers/mmc/host/sdhci-cns3xxx.c | 6 +- trunk/drivers/mmc/host/sdhci-dove.c | 124 +- trunk/drivers/mmc/host/sdhci-esdhc-imx.c | 64 +- trunk/drivers/mmc/host/sdhci-of-esdhc.c | 71 +- trunk/drivers/mmc/host/sdhci-of-hlwd.c | 6 +- trunk/drivers/mmc/host/sdhci-pci.c | 17 +- trunk/drivers/mmc/host/sdhci-pltfm.c | 16 - trunk/drivers/mmc/host/sdhci-pxav2.c | 6 +- trunk/drivers/mmc/host/sdhci-pxav3.c | 19 +- trunk/drivers/mmc/host/sdhci-s3c.c | 105 +- trunk/drivers/mmc/host/sdhci-spear.c | 21 +- trunk/drivers/mmc/host/sdhci-tegra.c | 10 +- trunk/drivers/mmc/host/sdhci.c | 123 +- trunk/drivers/mmc/host/sdhci.h | 6 +- trunk/drivers/mmc/host/sh_mmcif.c | 20 +- trunk/drivers/mmc/host/sh_mobile_sdhi.c | 12 +- trunk/drivers/mmc/host/tmio_mmc.c | 6 +- trunk/drivers/mmc/host/tmio_mmc_pio.c | 2 +- trunk/drivers/mmc/host/via-sdmmc.c | 6 +- trunk/drivers/mmc/host/vub300.c | 1 - trunk/drivers/mmc/host/wbsd.c | 28 +- trunk/drivers/mmc/host/wmt-sdmmc.c | 1029 ----------- trunk/drivers/mtd/devices/slram.c | 2 +- trunk/drivers/mtd/mtdcore.c | 6 +- trunk/drivers/mtd/nand/atmel_nand.c | 9 - trunk/drivers/mtd/nand/nand_base.c | 10 +- trunk/drivers/mtd/nand/sh_flctl.c | 4 +- trunk/drivers/mtd/ofpart.c | 2 +- trunk/drivers/mtd/onenand/onenand_base.c | 2 +- trunk/drivers/mtd/ubi/wl.c | 26 +- trunk/drivers/net/bonding/bond_main.c | 102 +- trunk/drivers/net/bonding/bond_sysfs.c | 40 +- trunk/drivers/net/can/flexcan.c | 19 +- trunk/drivers/net/can/sja1000/peak_pci.c | 13 +- trunk/drivers/net/can/usb/peak_usb/pcan_usb.c | 8 +- .../net/can/usb/peak_usb/pcan_usb_pro.c | 8 +- trunk/drivers/net/ethernet/8390/ne.c | 1 - .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 10 +- .../ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 +- .../net/ethernet/broadcom/bnx2x/bnx2x_link.c | 162 +- .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 24 +- .../net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 2 +- .../net/ethernet/chelsio/cxgb4/cxgb4.h | 19 - .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 39 +- .../net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 3 - .../net/ethernet/chelsio/cxgb4/t4_hw.c | 6 +- .../drivers/net/ethernet/freescale/gianfar.c | 5 +- .../net/ethernet/freescale/gianfar_ptp.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 3 - trunk/drivers/net/ethernet/jme.c | 36 +- trunk/drivers/net/ethernet/marvell/skge.c | 2 +- .../net/ethernet/mellanox/mlx4/en_dcb_nl.c | 2 +- .../net/ethernet/mellanox/mlx4/en_tx.c | 3 +- trunk/drivers/net/ethernet/mellanox/mlx4/eq.c | 24 +- .../drivers/net/ethernet/mellanox/mlx4/main.c | 5 +- .../ethernet/mellanox/mlx4/resource_tracker.c | 6 + trunk/drivers/net/ethernet/micrel/ksz884x.c | 20 +- trunk/drivers/net/ethernet/nxp/lpc_eth.c | 1 - .../ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 116 +- trunk/drivers/net/ethernet/qlogic/qla3xxx.c | 9 +- trunk/drivers/net/ethernet/realtek/8139cp.c | 33 +- trunk/drivers/net/ethernet/realtek/r8169.c | 5 - trunk/drivers/net/ethernet/sis/sis900.c | 2 +- trunk/drivers/net/ethernet/smsc/smsc911x.c | 17 +- trunk/drivers/net/ethernet/ti/Kconfig | 2 +- trunk/drivers/net/ethernet/tile/tilegx.c | 37 +- .../net/ethernet/xilinx/xilinx_axienet_main.c | 16 +- .../drivers/net/ethernet/xscale/ixp4xx_eth.c | 8 +- trunk/drivers/net/irda/sir_dev.c | 2 +- trunk/drivers/net/phy/Kconfig | 5 - trunk/drivers/net/phy/Makefile | 1 - trunk/drivers/net/phy/at803x.c | 176 -- trunk/drivers/net/phy/mdio-gpio.c | 11 +- trunk/drivers/net/team/team.c | 4 +- trunk/drivers/net/team/team_mode_broadcast.c | 6 +- trunk/drivers/net/usb/cdc_eem.c | 3 +- trunk/drivers/net/usb/cdc_ether.c | 41 +- trunk/drivers/net/usb/cdc_ncm.c | 22 +- trunk/drivers/net/usb/ipheth.c | 5 - trunk/drivers/net/usb/qmi_wwan.c | 56 - trunk/drivers/net/usb/smsc95xx.c | 5 +- trunk/drivers/net/usb/usbnet.c | 11 +- trunk/drivers/net/vmxnet3/vmxnet3_drv.c | 65 +- trunk/drivers/net/vxlan.c | 12 +- trunk/drivers/net/wan/ixp4xx_hss.c | 10 +- .../wireless/ath/ath9k/ar9003_2p2_initvals.h | 164 +- .../drivers/net/wireless/ath/ath9k/hif_usb.c | 1 - trunk/drivers/net/wireless/ath/ath9k/hw.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/xmit.c | 10 +- trunk/drivers/net/wireless/b43/main.c | 4 - trunk/drivers/net/wireless/b43legacy/pio.c | 2 +- .../net/wireless/brcm80211/brcmfmac/usb.c | 2 +- .../wireless/brcm80211/brcmfmac/wl_cfg80211.c | 72 +- trunk/drivers/net/wireless/ipw2x00/ipw2200.c | 2 +- .../net/wireless/iwlwifi/dvm/devices.c | 39 +- .../net/wireless/iwlwifi/dvm/mac80211.c | 16 +- trunk/drivers/net/wireless/iwlwifi/dvm/main.c | 2 +- trunk/drivers/net/wireless/iwlwifi/dvm/rxon.c | 12 +- trunk/drivers/net/wireless/iwlwifi/pcie/rx.c | 23 +- trunk/drivers/net/wireless/iwlwifi/pcie/tx.c | 8 + trunk/drivers/net/wireless/mwifiex/cfg80211.c | 7 +- trunk/drivers/net/wireless/mwifiex/cmdevt.c | 11 +- trunk/drivers/net/wireless/mwifiex/scan.c | 13 +- trunk/drivers/net/wireless/mwifiex/sdio.c | 11 +- trunk/drivers/net/wireless/rt2x00/rt2500usb.c | 1 - trunk/drivers/net/wireless/rt2x00/rt2800lib.c | 2 +- trunk/drivers/net/wireless/rt2x00/rt2800usb.c | 1 - trunk/drivers/net/wireless/rt2x00/rt73usb.c | 1 - .../net/wireless/rtlwifi/rtl8192cu/sw.c | 1 - trunk/drivers/net/wireless/rtlwifi/usb.c | 2 +- trunk/drivers/net/xen-netfront.c | 98 +- trunk/drivers/nfc/pn533.c | 25 +- trunk/drivers/of/address.c | 24 +- trunk/drivers/of/base.c | 128 +- trunk/drivers/of/fdt.c | 18 +- trunk/drivers/of/irq.c | 8 +- trunk/drivers/of/of_i2c.c | 2 +- trunk/drivers/of/of_mdio.c | 2 +- trunk/drivers/of/pdt.c | 12 +- trunk/drivers/of/platform.c | 2 +- trunk/drivers/parport/Kconfig | 16 +- trunk/drivers/pci/Makefile | 7 +- trunk/drivers/pci/bus.c | 3 + trunk/drivers/pci/hotplug.c | 37 + trunk/drivers/pci/hotplug/cpcihp_zt5550.c | 4 +- trunk/drivers/pci/ioapic.c | 6 +- trunk/drivers/pci/pci-acpi.c | 79 +- trunk/drivers/pci/pci-driver.c | 54 +- trunk/drivers/pci/pci-sysfs.c | 41 + trunk/drivers/pci/pci.c | 36 +- trunk/drivers/pci/pci.h | 7 +- trunk/drivers/pci/pcie/aer/aerdrv.c | 4 +- trunk/drivers/pci/pcie/aer/aerdrv_core.c | 20 +- trunk/drivers/pci/pcie/portdrv_core.c | 3 +- trunk/drivers/pci/pcie/portdrv_pci.c | 2 +- trunk/drivers/pci/probe.c | 20 +- trunk/drivers/pci/proc.c | 8 - trunk/drivers/pci/quirks.c | 132 +- trunk/drivers/pci/xen-pcifront.c | 10 +- trunk/drivers/pcmcia/bcm63xx_pcmcia.c | 12 +- trunk/drivers/pcmcia/bfin_cf_pcmcia.c | 6 +- trunk/drivers/pcmcia/db1xxx_ss.c | 6 +- trunk/drivers/pcmcia/ds.c | 13 +- trunk/drivers/pcmcia/electra_cf.c | 4 +- trunk/drivers/pcmcia/i82092.c | 6 +- trunk/drivers/pcmcia/pd6729.c | 8 +- trunk/drivers/pcmcia/pxa2xx_sharpsl.c | 4 +- trunk/drivers/pcmcia/rsrc_nonstatic.c | 6 +- trunk/drivers/pcmcia/sa1100_assabet.c | 2 +- trunk/drivers/pcmcia/sa1100_cerf.c | 2 +- trunk/drivers/pcmcia/sa1100_generic.c | 4 +- trunk/drivers/pcmcia/sa1100_h3600.c | 2 +- trunk/drivers/pcmcia/sa1100_shannon.c | 2 +- trunk/drivers/pcmcia/sa1100_simpad.c | 2 +- trunk/drivers/pcmcia/sa1111_generic.c | 4 +- trunk/drivers/pcmcia/sa1111_jornada720.c | 2 +- trunk/drivers/pcmcia/vrc4171_card.c | 8 +- trunk/drivers/pcmcia/vrc4173_cardu.c | 8 +- trunk/drivers/pcmcia/xxs1500_ss.c | 6 +- trunk/drivers/pcmcia/yenta_socket.c | 6 +- trunk/drivers/pinctrl/Kconfig | 54 +- trunk/drivers/pinctrl/Makefile | 7 +- trunk/drivers/pinctrl/core.c | 62 +- trunk/drivers/pinctrl/core.h | 2 - trunk/drivers/pinctrl/devicetree.c | 11 - trunk/drivers/pinctrl/mvebu/Kconfig | 24 - trunk/drivers/pinctrl/mvebu/Makefile | 5 - trunk/drivers/pinctrl/pinconf-generic.c | 1 - trunk/drivers/pinctrl/pinconf.c | 4 + .../pinctrl/{mvebu => }/pinctrl-armada-370.c | 0 .../pinctrl/{mvebu => }/pinctrl-armada-xp.c | 0 trunk/drivers/pinctrl/pinctrl-at91.c | 1634 ----------------- trunk/drivers/pinctrl/pinctrl-bcm2835.c | 15 +- trunk/drivers/pinctrl/pinctrl-coh901.c | 175 +- .../pinctrl/{mvebu => }/pinctrl-dove.c | 0 trunk/drivers/pinctrl/pinctrl-exynos.c | 1 - trunk/drivers/pinctrl/pinctrl-falcon.c | 2 +- trunk/drivers/pinctrl/pinctrl-imx.c | 6 +- trunk/drivers/pinctrl/pinctrl-imx23.c | 4 +- trunk/drivers/pinctrl/pinctrl-imx28.c | 4 +- trunk/drivers/pinctrl/pinctrl-imx35.c | 4 +- trunk/drivers/pinctrl/pinctrl-imx51.c | 4 +- trunk/drivers/pinctrl/pinctrl-imx53.c | 4 +- trunk/drivers/pinctrl/pinctrl-imx6q.c | 4 +- .../pinctrl/{mvebu => }/pinctrl-kirkwood.c | 0 trunk/drivers/pinctrl/pinctrl-lantiq.c | 23 +- trunk/drivers/pinctrl/pinctrl-mmp2.c | 4 +- .../pinctrl/{mvebu => }/pinctrl-mvebu.c | 1 + .../pinctrl/{mvebu => }/pinctrl-mvebu.h | 0 trunk/drivers/pinctrl/pinctrl-mxs.c | 4 +- .../drivers/pinctrl/pinctrl-nomadik-db8500.c | 125 +- .../drivers/pinctrl/pinctrl-nomadik-db8540.c | 16 +- trunk/drivers/pinctrl/pinctrl-nomadik.c | 154 +- trunk/drivers/pinctrl/pinctrl-nomadik.h | 2 +- trunk/drivers/pinctrl/pinctrl-pxa168.c | 4 +- trunk/drivers/pinctrl/pinctrl-pxa3xx.c | 12 +- trunk/drivers/pinctrl/pinctrl-pxa3xx.h | 2 + trunk/drivers/pinctrl/pinctrl-pxa910.c | 4 +- trunk/drivers/pinctrl/pinctrl-samsung.c | 10 +- trunk/drivers/pinctrl/pinctrl-single.c | 96 +- trunk/drivers/pinctrl/pinctrl-sirf.c | 89 +- trunk/drivers/pinctrl/pinctrl-tegra.c | 28 +- trunk/drivers/pinctrl/pinctrl-tegra20.c | 4 +- trunk/drivers/pinctrl/pinctrl-tegra30.c | 28 +- trunk/drivers/pinctrl/pinctrl-u300.c | 101 +- trunk/drivers/pinctrl/pinctrl-xway.c | 4 +- trunk/drivers/pinctrl/pinmux.c | 85 +- trunk/drivers/pinctrl/spear/Kconfig | 11 - trunk/drivers/pinctrl/spear/Makefile | 1 - trunk/drivers/pinctrl/spear/pinctrl-plgpio.c | 758 -------- trunk/drivers/pinctrl/spear/pinctrl-spear.c | 133 +- trunk/drivers/pinctrl/spear/pinctrl-spear.h | 62 +- .../drivers/pinctrl/spear/pinctrl-spear1310.c | 635 +------ .../drivers/pinctrl/spear/pinctrl-spear1340.c | 74 +- .../drivers/pinctrl/spear/pinctrl-spear300.c | 8 +- .../drivers/pinctrl/spear/pinctrl-spear310.c | 8 +- .../drivers/pinctrl/spear/pinctrl-spear320.c | 16 +- .../drivers/pinctrl/spear/pinctrl-spear3xx.c | 37 - .../drivers/pinctrl/spear/pinctrl-spear3xx.h | 1 - trunk/drivers/pnp/base.h | 2 - trunk/drivers/pnp/pnpacpi/core.c | 9 +- trunk/drivers/pnp/pnpacpi/rsparser.c | 296 ++- trunk/drivers/pnp/pnpbios/core.c | 20 +- trunk/drivers/pnp/resource.c | 16 - trunk/drivers/power/88pm860x_battery.c | 6 +- trunk/drivers/power/88pm860x_charger.c | 6 +- trunk/drivers/power/ab8500_btemp.c | 6 +- trunk/drivers/power/ab8500_charger.c | 6 +- trunk/drivers/power/ab8500_fg.c | 6 +- trunk/drivers/power/abx500_chargalg.c | 6 +- trunk/drivers/power/avs/smartreflex.c | 8 +- trunk/drivers/power/bq27x00_battery.c | 6 +- trunk/drivers/power/charger-manager.c | 4 +- trunk/drivers/power/collie_battery.c | 6 +- trunk/drivers/power/da9052-battery.c | 6 +- trunk/drivers/power/ds2780_battery.c | 6 +- trunk/drivers/power/ds2781_battery.c | 6 +- trunk/drivers/power/generic-adc-battery.c | 6 +- trunk/drivers/power/gpio-charger.c | 6 +- trunk/drivers/power/intel_mid_battery.c | 8 +- trunk/drivers/power/isp1704_charger.c | 6 +- trunk/drivers/power/jz4740-battery.c | 6 +- trunk/drivers/power/lp8727_charger.c | 4 +- trunk/drivers/power/lp8788-charger.c | 6 +- trunk/drivers/power/max17040_battery.c | 6 +- trunk/drivers/power/max17042_battery.c | 6 +- trunk/drivers/power/max8903_charger.c | 6 +- trunk/drivers/power/max8925_power.c | 10 +- trunk/drivers/power/max8997_charger.c | 6 +- trunk/drivers/power/max8998_charger.c | 6 +- trunk/drivers/power/olpc_battery.c | 6 +- trunk/drivers/power/pcf50633-charger.c | 6 +- trunk/drivers/power/s3c_adc_battery.c | 2 +- trunk/drivers/power/sbs-battery.c | 6 +- trunk/drivers/power/smb347-charger.c | 2 +- trunk/drivers/power/tosa_battery.c | 6 +- trunk/drivers/power/wm831x_backup.c | 6 +- trunk/drivers/power/wm831x_power.c | 6 +- trunk/drivers/power/wm8350_power.c | 6 +- trunk/drivers/power/wm97xx_battery.c | 6 +- trunk/drivers/power/z2_battery.c | 6 +- trunk/drivers/ptp/ptp_pch.c | 4 +- trunk/drivers/pwm/pwm-ab8500.c | 6 +- trunk/drivers/pwm/pwm-bfin.c | 4 +- trunk/drivers/pwm/pwm-imx.c | 6 +- trunk/drivers/pwm/pwm-jz4740.c | 6 +- trunk/drivers/pwm/pwm-lpc32xx.c | 4 +- trunk/drivers/pwm/pwm-mxs.c | 4 +- trunk/drivers/pwm/pwm-puv3.c | 6 +- trunk/drivers/pwm/pwm-pxa.c | 6 +- trunk/drivers/pwm/pwm-samsung.c | 4 +- trunk/drivers/pwm/pwm-tegra.c | 4 +- trunk/drivers/pwm/pwm-tiecap.c | 6 +- trunk/drivers/pwm/pwm-tiehrpwm.c | 6 +- trunk/drivers/pwm/pwm-twl6030.c | 2 +- trunk/drivers/rapidio/devices/tsi721.c | 4 +- trunk/drivers/rapidio/devices/tsi721.h | 2 +- trunk/drivers/rapidio/devices/tsi721_dma.c | 2 +- trunk/drivers/rapidio/rio-scan.c | 14 +- trunk/drivers/rapidio/rio.c | 8 +- trunk/drivers/regulator/core.c | 33 +- trunk/drivers/remoteproc/remoteproc_virtio.c | 18 +- trunk/drivers/rtc/rtc-imxdi.c | 2 - trunk/drivers/rtc/rtc-tps65910.c | 6 +- trunk/drivers/s390/char/con3215.c | 12 +- trunk/drivers/s390/cio/css.c | 7 +- trunk/drivers/s390/cio/css.h | 3 + trunk/drivers/s390/cio/device.c | 8 +- trunk/drivers/s390/cio/idset.c | 25 +- trunk/drivers/s390/cio/idset.h | 3 +- trunk/drivers/s390/net/qeth_core_main.c | 24 +- trunk/drivers/s390/net/qeth_l2_main.c | 24 +- trunk/drivers/s390/net/qeth_l3_main.c | 11 +- trunk/drivers/s390/net/smsgiucv.c | 2 +- trunk/drivers/scsi/arm/fas216.c | 2 +- trunk/drivers/scsi/arm/oak.c | 1 - trunk/drivers/scsi/isci/request.c | 2 +- trunk/drivers/scsi/megaraid/megaraid_sas.h | 2 +- .../drivers/scsi/megaraid/megaraid_sas_base.c | 14 +- trunk/drivers/scsi/qla2xxx/qla_mid.c | 3 - trunk/drivers/scsi/qla2xxx/qla_target.c | 25 +- trunk/drivers/scsi/qla2xxx/qla_target.h | 1 - trunk/drivers/scsi/qla2xxx/tcm_qla2xxx.c | 77 +- trunk/drivers/scsi/qla2xxx/tcm_qla2xxx.h | 2 - trunk/drivers/scsi/qlogicpti.c | 13 +- trunk/drivers/scsi/scsi.c | 45 - trunk/drivers/scsi/scsi_lib.c | 22 +- trunk/drivers/scsi/sd.c | 202 +- trunk/drivers/scsi/sd.h | 7 - trunk/drivers/sh/intc/access.c | 45 +- trunk/drivers/sh/intc/chip.c | 4 +- trunk/drivers/spi/spi-mxs.c | 3 +- trunk/drivers/spi/spi-pl022.c | 3 + trunk/drivers/spi/spi-rspi.c | 56 +- trunk/drivers/spi/spi-s3c64xx.c | 6 +- trunk/drivers/spi/spi.c | 105 +- trunk/drivers/staging/android/android_alarm.h | 4 +- trunk/drivers/staging/android/binder.c | 30 +- .../drivers/staging/comedi/drivers/8255_pci.c | 2 - .../staging/comedi/drivers/amplc_dio200.c | 2 - .../staging/comedi/drivers/amplc_pc236.c | 5 +- .../staging/comedi/drivers/amplc_pc263.c | 2 - trunk/drivers/staging/comedi/drivers/das08.c | 2 - .../staging/comedi/drivers/ni_daq_700.c | 2 +- .../drivers/staging/comedi/drivers/ni_labpc.c | 2 - trunk/drivers/staging/dgrp/dgrp_mon_ops.c | 1 - trunk/drivers/staging/dgrp/dgrp_specproc.c | 7 - trunk/drivers/staging/dgrp/dgrp_tty.c | 10 - .../staging/iio/accel/adis16201_core.c | 24 +- .../staging/iio/accel/adis16203_core.c | 20 +- .../staging/iio/accel/adis16204_core.c | 22 +- .../staging/iio/accel/adis16209_core.c | 18 +- .../staging/iio/accel/adis16220_core.c | 19 +- .../staging/iio/accel/adis16240_core.c | 23 +- .../drivers/staging/iio/gyro/adis16260_core.c | 29 +- trunk/drivers/staging/iio/imu/adis16400.h | 2 - .../drivers/staging/iio/imu/adis16400_core.c | 70 +- trunk/drivers/staging/ipack/bridges/tpci200.c | 19 +- trunk/drivers/staging/ipack/devices/ipoctal.c | 2 +- trunk/drivers/staging/ipack/ipack.c | 5 +- trunk/drivers/staging/ipack/ipack.h | 2 - trunk/drivers/staging/omapdrm/omap_gem.c | 4 +- trunk/drivers/staging/ramster/Kconfig | 1 - .../staging/tidspbridge/core/tiomap3430.c | 37 +- trunk/drivers/staging/tidspbridge/hw/hw_mmu.c | 115 +- trunk/drivers/staging/tidspbridge/hw/hw_mmu.h | 31 +- .../tidspbridge/include/dspbridge/cfgdefs.h | 4 +- .../tidspbridge/include/dspbridge/host_os.h | 4 +- trunk/drivers/staging/tidspbridge/rmgr/drv.c | 8 +- trunk/drivers/staging/tidspbridge/rmgr/node.c | 21 +- trunk/drivers/staging/zram/zram_drv.c | 12 +- trunk/drivers/target/iscsi/iscsi_target.c | 4 +- .../drivers/target/iscsi/iscsi_target_core.h | 1 - .../drivers/target/iscsi/iscsi_target_login.c | 1 - .../drivers/target/iscsi/iscsi_target_util.c | 22 +- .../drivers/target/iscsi/iscsi_target_util.h | 1 - trunk/drivers/target/target_core_configfs.c | 3 +- trunk/drivers/target/target_core_device.c | 18 +- trunk/drivers/target/target_core_sbc.c | 18 - trunk/drivers/target/target_core_spc.c | 2 - trunk/drivers/target/target_core_tmr.c | 6 +- trunk/drivers/target/target_core_transport.c | 7 +- trunk/drivers/thermal/Kconfig | 2 - trunk/drivers/thermal/exynos_thermal.c | 2 +- trunk/drivers/thermal/rcar_thermal.c | 2 +- trunk/drivers/tty/hvc/hvc_console.c | 7 + trunk/drivers/tty/serial/8250/8250_hp300.c | 20 +- trunk/drivers/tty/serial/Kconfig | 4 +- trunk/drivers/tty/serial/atmel_serial.c | 8 - trunk/drivers/tty/serial/max310x.c | 1 - trunk/drivers/tty/serial/omap-serial.c | 12 +- trunk/drivers/tty/serial/sccnxp.c | 1 - trunk/drivers/tty/serial/sh-sci.c | 3 +- trunk/drivers/tty/sysrq.c | 1 - trunk/drivers/tty/vt/vt.c | 8 +- trunk/drivers/uio/Kconfig | 16 - trunk/drivers/uio/Makefile | 1 - trunk/drivers/uio/uio_aec.c | 2 +- trunk/drivers/uio/uio_cif.c | 4 +- trunk/drivers/uio/uio_dmem_genirq.c | 359 ---- trunk/drivers/uio/uio_netx.c | 2 +- trunk/drivers/uio/uio_pci_generic.c | 2 +- trunk/drivers/uio/uio_pdrv.c | 1 - trunk/drivers/uio/uio_pdrv_genirq.c | 3 +- trunk/drivers/uio/uio_pruss.c | 6 +- trunk/drivers/uio/uio_sercos3.c | 4 +- trunk/drivers/usb/class/cdc-acm.c | 22 +- trunk/drivers/usb/core/devio.c | 1 - trunk/drivers/usb/core/driver.c | 4 - trunk/drivers/usb/core/hcd.c | 16 - trunk/drivers/usb/core/hub.c | 43 +- trunk/drivers/usb/dwc3/core.c | 4 - trunk/drivers/usb/dwc3/gadget.c | 2 +- trunk/drivers/usb/early/ehci-dbgp.c | 15 +- trunk/drivers/usb/gadget/Kconfig | 1 - trunk/drivers/usb/gadget/lpc32xx_udc.c | 4 +- trunk/drivers/usb/gadget/net2272.c | 4 +- trunk/drivers/usb/gadget/u_ether.c | 3 +- trunk/drivers/usb/host/ehci-fsl.c | 2 +- trunk/drivers/usb/host/ehci-ls1x.c | 2 +- trunk/drivers/usb/host/ehci-orion.c | 2 +- trunk/drivers/usb/host/ehci-vt8500.c | 10 - trunk/drivers/usb/host/ohci-xls.c | 2 +- trunk/drivers/usb/host/pci-quirks.c | 9 +- trunk/drivers/usb/host/uhci-platform.c | 9 - trunk/drivers/usb/host/xhci-dbg.c | 2 + trunk/drivers/usb/host/xhci-hub.c | 9 +- trunk/drivers/usb/host/xhci-ring.c | 11 - trunk/drivers/usb/host/xhci.c | 11 +- trunk/drivers/usb/misc/ezusb.c | 1 - trunk/drivers/usb/musb/am35x.c | 6 - trunk/drivers/usb/musb/musb_dsps.c | 8 +- trunk/drivers/usb/musb/musb_gadget.c | 30 +- trunk/drivers/usb/musb/ux500.c | 2 +- trunk/drivers/usb/otg/Kconfig | 4 +- trunk/drivers/usb/renesas_usbhs/fifo.c | 1 - trunk/drivers/usb/renesas_usbhs/mod.c | 6 +- trunk/drivers/usb/renesas_usbhs/mod_host.c | 5 - trunk/drivers/usb/renesas_usbhs/pipe.h | 2 +- trunk/drivers/usb/serial/ark3116.c | 26 +- trunk/drivers/usb/serial/belkin_sa.c | 31 +- trunk/drivers/usb/serial/ch341.c | 23 +- trunk/drivers/usb/serial/cp210x.c | 40 +- trunk/drivers/usb/serial/cyberjack.c | 49 +- trunk/drivers/usb/serial/cypress_m8.c | 75 +- trunk/drivers/usb/serial/digi_acceleport.c | 117 +- trunk/drivers/usb/serial/f81232.c | 43 +- trunk/drivers/usb/serial/garmin_gps.c | 24 +- trunk/drivers/usb/serial/io_edgeport.c | 54 +- trunk/drivers/usb/serial/io_tables.h | 8 - trunk/drivers/usb/serial/io_ti.c | 91 +- trunk/drivers/usb/serial/ipw.c | 7 +- trunk/drivers/usb/serial/iuu_phoenix.c | 76 +- trunk/drivers/usb/serial/keyspan.c | 180 +- trunk/drivers/usb/serial/keyspan.h | 8 - trunk/drivers/usb/serial/keyspan_pda.c | 30 +- trunk/drivers/usb/serial/kl5kusb105.c | 68 +- trunk/drivers/usb/serial/kobil_sct.c | 23 +- trunk/drivers/usb/serial/mct_u232.c | 59 +- trunk/drivers/usb/serial/metro-usb.c | 65 +- trunk/drivers/usb/serial/mos7720.c | 62 +- trunk/drivers/usb/serial/mos7840.c | 495 ++--- trunk/drivers/usb/serial/omninet.c | 36 +- trunk/drivers/usb/serial/opticon.c | 11 +- trunk/drivers/usb/serial/option.c | 116 +- trunk/drivers/usb/serial/oti6858.c | 68 +- trunk/drivers/usb/serial/pl2303.c | 90 +- trunk/drivers/usb/serial/qcserial.c | 33 +- trunk/drivers/usb/serial/quatech2.c | 135 +- trunk/drivers/usb/serial/sierra.c | 133 +- trunk/drivers/usb/serial/spcp8x5.c | 46 +- trunk/drivers/usb/serial/ssu100.c | 34 +- trunk/drivers/usb/serial/ti_usb_3410_5052.c | 88 +- trunk/drivers/usb/serial/usb-wwan.h | 2 +- trunk/drivers/usb/serial/usb_wwan.c | 130 +- trunk/drivers/usb/serial/whiteheat.c | 60 +- trunk/drivers/usb/storage/scsiglue.c | 6 - trunk/drivers/usb/storage/unusual_devs.h | 6 - trunk/drivers/vhost/net.c | 3 +- trunk/drivers/vhost/vhost.c | 2 +- trunk/drivers/video/backlight/Kconfig | 3 +- trunk/drivers/video/backlight/adp5520_bl.c | 6 +- trunk/drivers/video/backlight/adp8860_bl.c | 14 +- trunk/drivers/video/backlight/adp8870_bl.c | 14 +- trunk/drivers/video/backlight/ams369fg06.c | 6 +- trunk/drivers/video/backlight/apple_bl.c | 4 +- trunk/drivers/video/backlight/corgi_lcd.c | 6 +- trunk/drivers/video/backlight/ep93xx_bl.c | 2 +- trunk/drivers/video/backlight/hp680_bl.c | 2 +- trunk/drivers/video/backlight/ili9320.c | 4 +- trunk/drivers/video/backlight/l4f00242t03.c | 6 +- trunk/drivers/video/backlight/ld9040.c | 4 +- trunk/drivers/video/backlight/lm3533_bl.c | 8 +- trunk/drivers/video/backlight/lm3630_bl.c | 8 +- trunk/drivers/video/backlight/lm3639_bl.c | 12 +- trunk/drivers/video/backlight/lms283gf05.c | 6 +- trunk/drivers/video/backlight/lp855x_bl.c | 4 +- trunk/drivers/video/backlight/ltv350qv.c | 6 +- trunk/drivers/video/backlight/max8925_bl.c | 6 +- .../video/backlight/pcf50633-backlight.c | 6 +- trunk/drivers/video/backlight/platform_lcd.c | 6 +- trunk/drivers/video/backlight/s6e63m0.c | 6 +- trunk/drivers/video/backlight/tdo24m.c | 6 +- trunk/drivers/video/backlight/tosa_bl.c | 6 +- trunk/drivers/video/backlight/tosa_lcd.c | 6 +- trunk/drivers/video/backlight/vgg2432a4.c | 6 +- trunk/drivers/video/omap2/dss/dsi.c | 13 +- trunk/drivers/video/omap2/dss/dss.c | 18 +- trunk/drivers/video/omap2/dss/hdmi.c | 4 +- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 2 +- trunk/drivers/video/xen-fbfront.c | 5 +- trunk/drivers/virtio/virtio.c | 4 +- trunk/drivers/w1/masters/Kconfig | 2 +- trunk/drivers/w1/masters/ds2482.c | 13 +- trunk/drivers/w1/masters/matrox_w1.c | 10 +- trunk/drivers/w1/masters/mxc_w1.c | 28 +- trunk/drivers/w1/masters/omap_hdq.c | 10 +- trunk/drivers/w1/masters/w1-gpio.c | 65 +- trunk/drivers/w1/w1.c | 7 + trunk/drivers/watchdog/acquirewdt.c | 6 +- trunk/drivers/watchdog/advantechwdt.c | 6 +- trunk/drivers/watchdog/ar7_wdt.c | 6 +- trunk/drivers/watchdog/at91rm9200_wdt.c | 6 +- trunk/drivers/watchdog/ath79_wdt.c | 6 +- trunk/drivers/watchdog/bcm63xx_wdt.c | 6 +- trunk/drivers/watchdog/bfin_wdt.c | 6 +- trunk/drivers/watchdog/cpu5wdt.c | 8 +- trunk/drivers/watchdog/cpwd.c | 6 +- trunk/drivers/watchdog/da9052_wdt.c | 6 +- trunk/drivers/watchdog/davinci_wdt.c | 6 +- trunk/drivers/watchdog/dw_wdt.c | 6 +- trunk/drivers/watchdog/ep93xx_wdt.c | 6 +- trunk/drivers/watchdog/gef_wdt.c | 4 +- trunk/drivers/watchdog/geodewdt.c | 6 +- trunk/drivers/watchdog/hpwdt.c | 30 +- trunk/drivers/watchdog/i6300esb.c | 10 +- trunk/drivers/watchdog/iTCO_wdt.c | 8 +- trunk/drivers/watchdog/ib700wdt.c | 6 +- trunk/drivers/watchdog/ie6xx_wdt.c | 10 +- trunk/drivers/watchdog/jz4740_wdt.c | 6 +- trunk/drivers/watchdog/ks8695_wdt.c | 6 +- trunk/drivers/watchdog/lantiq_wdt.c | 6 +- trunk/drivers/watchdog/max63xx_wdt.c | 6 +- trunk/drivers/watchdog/mixcomwd.c | 2 +- trunk/drivers/watchdog/mpc8xxx_wdt.c | 6 +- trunk/drivers/watchdog/mpcore_wdt.c | 6 +- trunk/drivers/watchdog/mtx-1_wdt.c | 6 +- trunk/drivers/watchdog/mv64x60_wdt.c | 6 +- trunk/drivers/watchdog/nuc900_wdt.c | 6 +- trunk/drivers/watchdog/nv_tco.c | 10 +- trunk/drivers/watchdog/of_xilinx_wdt.c | 8 +- trunk/drivers/watchdog/omap_wdt.c | 6 +- trunk/drivers/watchdog/orion_wdt.c | 8 +- trunk/drivers/watchdog/pcwd.c | 8 +- trunk/drivers/watchdog/pcwd_pci.c | 6 +- trunk/drivers/watchdog/pnx4008_wdt.c | 6 +- trunk/drivers/watchdog/rc32434_wdt.c | 6 +- trunk/drivers/watchdog/rdc321x_wdt.c | 6 +- trunk/drivers/watchdog/riowd.c | 6 +- trunk/drivers/watchdog/s3c2410_wdt.c | 6 +- trunk/drivers/watchdog/sch311x_wdt.c | 6 +- trunk/drivers/watchdog/shwdt.c | 6 +- trunk/drivers/watchdog/sp5100_tco.c | 10 +- trunk/drivers/watchdog/sp805_wdt.c | 6 +- trunk/drivers/watchdog/stmp3xxx_wdt.c | 6 +- trunk/drivers/watchdog/ts72xx_wdt.c | 6 +- trunk/drivers/watchdog/twl4030_wdt.c | 6 +- trunk/drivers/watchdog/via_wdt.c | 6 +- trunk/drivers/watchdog/wdt_pci.c | 6 +- trunk/drivers/watchdog/wm831x_wdt.c | 6 +- trunk/drivers/watchdog/wm8350_wdt.c | 6 +- trunk/drivers/watchdog/xen_wdt.c | 6 +- trunk/drivers/xen/Kconfig | 2 - trunk/drivers/xen/Makefile | 1 - trunk/drivers/xen/balloon.c | 3 +- trunk/drivers/xen/dbgp.c | 2 - trunk/drivers/xen/events.c | 6 +- trunk/drivers/xen/fallback.c | 80 - trunk/drivers/xen/gntdev.c | 36 +- trunk/drivers/xen/grant-table.c | 8 +- trunk/drivers/xen/privcmd.c | 18 +- trunk/drivers/xen/sys-hypervisor.c | 4 +- trunk/drivers/xen/xen-pciback/vpci.c | 14 +- trunk/drivers/xen/xen-selfballoon.c | 2 +- .../drivers/xen/xenbus/xenbus_dev_frontend.c | 2 +- trunk/drivers/xen/xenbus/xenbus_xs.c | 4 +- trunk/fs/bio.c | 6 +- trunk/fs/block_dev.c | 129 +- trunk/fs/btrfs/backref.c | 28 +- trunk/fs/btrfs/backref.h | 4 - trunk/fs/btrfs/ctree.c | 70 +- trunk/fs/btrfs/ctree.h | 3 - trunk/fs/btrfs/extent_io.c | 4 +- trunk/fs/btrfs/inode.c | 7 +- trunk/fs/btrfs/ioctl.c | 6 +- trunk/fs/btrfs/qgroup.c | 17 +- trunk/fs/btrfs/send.c | 156 +- trunk/fs/btrfs/transaction.c | 2 +- trunk/fs/btrfs/volumes.c | 7 - trunk/fs/buffer.c | 145 +- trunk/fs/ceph/export.c | 2 - trunk/fs/char_dev.c | 18 +- trunk/fs/cifs/cifsacl.c | 49 +- trunk/fs/cifs/dir.c | 11 +- trunk/fs/cifs/file.c | 6 +- trunk/fs/cifs/readdir.c | 5 +- trunk/fs/cifs/smb1ops.c | 3 +- trunk/fs/compat_ioctl.c | 2 - trunk/fs/coredump.c | 5 +- trunk/fs/debugfs/inode.c | 1 + trunk/fs/direct-io.c | 8 +- trunk/fs/eventpoll.c | 38 +- trunk/fs/exec.c | 3 +- trunk/fs/ext2/super.c | 4 +- trunk/fs/ext3/balloc.c | 5 +- trunk/fs/ext3/namei.c | 40 +- trunk/fs/ext3/namei.h | 19 - trunk/fs/ext3/super.c | 4 +- trunk/fs/ext4/balloc.c | 8 +- trunk/fs/ext4/bitmap.c | 6 +- trunk/fs/ext4/ext4.h | 7 +- trunk/fs/ext4/ext4_jbd2.c | 8 +- trunk/fs/ext4/extents.c | 60 +- trunk/fs/ext4/ialloc.c | 23 +- trunk/fs/ext4/mballoc.c | 14 +- trunk/fs/ext4/resize.c | 3 +- trunk/fs/ext4/super.c | 9 +- trunk/fs/file.c | 19 +- trunk/fs/fs-writeback.c | 2 - trunk/fs/gfs2/file.c | 14 +- trunk/fs/gfs2/lops.c | 16 +- trunk/fs/gfs2/quota.c | 7 +- trunk/fs/gfs2/rgrp.c | 33 +- trunk/fs/gfs2/super.c | 3 +- trunk/fs/gfs2/trans.c | 8 - trunk/fs/inode.c | 16 +- trunk/fs/internal.h | 1 - trunk/fs/jbd/transaction.c | 2 - trunk/fs/jffs2/file.c | 39 +- trunk/fs/jfs/jfs_discard.c | 16 +- trunk/fs/lockd/clntxdr.c | 2 +- trunk/fs/lockd/mon.c | 57 +- trunk/fs/lockd/svcproc.c | 3 +- trunk/fs/namei.c | 9 +- trunk/fs/nfs/callback.c | 2 +- trunk/fs/nfs/dir.c | 7 +- trunk/fs/nfs/dns_resolve.c | 5 +- trunk/fs/nfs/inode.c | 5 +- trunk/fs/nfs/internal.h | 6 +- trunk/fs/nfs/mount_clnt.c | 2 +- trunk/fs/nfs/namespace.c | 19 +- trunk/fs/nfs/nfs4filelayout.c | 21 +- trunk/fs/nfs/nfs4filelayout.h | 1 + trunk/fs/nfs/nfs4filelayoutdev.c | 22 + trunk/fs/nfs/nfs4getroot.c | 1 - trunk/fs/nfs/nfs4namespace.c | 3 +- trunk/fs/nfs/nfs4proc.c | 46 +- trunk/fs/nfs/objlayout/objio_osd.c | 6 +- trunk/fs/nfs/pnfs.c | 4 +- trunk/fs/nfs/pnfs.h | 1 - trunk/fs/nfs/super.c | 51 +- trunk/fs/nfs/unlink.c | 2 +- trunk/fs/notify/fanotify/fanotify.c | 1 - trunk/fs/notify/fanotify/fanotify_user.c | 3 +- trunk/fs/proc/base.c | 114 +- trunk/fs/proc/internal.h | 4 - trunk/fs/proc/stat.c | 14 +- trunk/fs/proc/task_mmu.c | 53 +- trunk/fs/pstore/platform.c | 3 +- trunk/fs/quota/dquot.c | 2 - trunk/fs/reiserfs/inode.c | 10 +- trunk/fs/reiserfs/stree.c | 4 - trunk/fs/reiserfs/super.c | 60 +- trunk/fs/sysfs/dir.c | 16 +- trunk/fs/sysfs/file.c | 4 +- trunk/fs/ubifs/find.c | 12 +- trunk/fs/ubifs/lprops.c | 6 - trunk/fs/ubifs/ubifs.h | 3 - trunk/fs/xattr.c | 2 +- trunk/fs/xfs/xfs_alloc.c | 43 +- trunk/fs/xfs/xfs_alloc.h | 3 + trunk/fs/xfs/xfs_alloc_btree.c | 2 - trunk/fs/xfs/xfs_aops.c | 54 +- trunk/fs/xfs/xfs_attr_leaf.c | 20 +- trunk/fs/xfs/xfs_bmap.c | 63 +- trunk/fs/xfs/xfs_bmap.h | 9 +- trunk/fs/xfs/xfs_buf.c | 14 +- trunk/fs/xfs/xfs_buf_item.c | 18 - trunk/fs/xfs/xfs_fsops.c | 21 +- trunk/fs/xfs/xfs_ialloc.c | 1 - trunk/fs/xfs/xfs_inode.c | 3 +- trunk/fs/xfs/xfs_ioctl.c | 2 +- trunk/fs/xfs/xfs_iomap.c | 4 +- trunk/fs/xfs/xfs_log.c | 19 +- trunk/fs/xfs/xfs_log_recover.c | 2 +- trunk/include/Kbuild | 4 + trunk/include/acpi/acconfig.h | 1 - trunk/include/acpi/acexcep.h | 2 +- trunk/include/acpi/acnames.h | 1 - trunk/include/acpi/acpi_bus.h | 78 +- trunk/include/acpi/acpiosxf.h | 3 +- trunk/include/acpi/acpixf.h | 18 +- trunk/include/acpi/actbl3.h | 22 +- trunk/include/acpi/actypes.h | 42 +- trunk/include/asm-generic/Kbuild | 0 trunk/include/asm-generic/gpio.h | 52 +- trunk/include/drm/Kbuild | 0 trunk/include/drm/drm_pciids.h | 4 - trunk/include/linux/Kbuild | 26 + trunk/include/linux/acpi.h | 135 +- trunk/include/linux/acpi_gpio.h | 19 - trunk/include/linux/bug.h | 1 - trunk/include/linux/byteorder/Kbuild | 0 trunk/include/linux/caif/Kbuild | 0 trunk/include/linux/can/Kbuild | 0 trunk/include/linux/clk-provider.h | 24 +- trunk/include/linux/coredump.h | 1 - trunk/include/linux/cpufreq.h | 5 +- trunk/include/linux/cpuidle.h | 15 +- trunk/include/linux/devfreq.h | 136 +- trunk/include/linux/device.h | 18 - trunk/include/linux/dma-contiguous.h | 4 +- trunk/include/linux/dvb/Kbuild | 8 + trunk/include/{uapi => }/linux/dvb/audio.h | 0 trunk/include/{uapi => }/linux/dvb/ca.h | 0 trunk/include/linux/dvb/dmx.h | 130 +- trunk/include/{uapi => }/linux/dvb/frontend.h | 0 trunk/include/{uapi => }/linux/dvb/net.h | 0 trunk/include/{uapi => }/linux/dvb/osd.h | 0 trunk/include/{uapi => }/linux/dvb/version.h | 0 trunk/include/linux/dvb/video.h | 249 ++- trunk/include/linux/dynamic_debug.h | 2 +- trunk/include/linux/edac.h | 3 - trunk/include/linux/elf-fdpic.h | 51 - trunk/include/linux/extcon.h | 2 +- trunk/include/linux/freezer.h | 1 - trunk/include/linux/fs.h | 131 +- trunk/include/linux/gfp.h | 5 +- trunk/include/linux/gpio.h | 21 +- trunk/include/linux/hashtable.h | 192 -- trunk/include/linux/hsi/Kbuild | 1 + trunk/include/{uapi => }/linux/hsi/hsi_char.h | 0 trunk/include/linux/hw_breakpoint.h | 31 +- trunk/include/linux/i2c-omap.h | 1 - trunk/include/linux/i2c.h | 9 - trunk/include/linux/i2c/pcf857x.h | 3 + trunk/include/linux/iio/iio.h | 16 - trunk/include/linux/init.h | 18 +- trunk/include/linux/isdn/Kbuild | 0 trunk/include/linux/kernel.h | 7 - trunk/include/linux/kobject.h | 18 + trunk/include/linux/kvm_host.h | 15 +- trunk/include/linux/memblock.h | 1 - trunk/include/linux/mempolicy.h | 16 + trunk/include/linux/mfd/88pm80x.h | 2 +- trunk/include/linux/mfd/abx500/ab8500.h | 4 +- trunk/include/linux/mfd/db8500-prcmu.h | 4 +- trunk/include/linux/mfd/dbx500-prcmu.h | 10 - trunk/include/linux/mfd/max77693.h | 13 - trunk/include/linux/mfd/pm8xxx/irq.h | 8 +- trunk/include/linux/mfd/rtsx_common.h | 48 - trunk/include/linux/mfd/rtsx_pci.h | 794 -------- trunk/include/linux/mm.h | 4 + trunk/include/linux/mman.h | 2 - trunk/include/linux/mmc/Kbuild | 0 trunk/include/linux/mmc/card.h | 2 - trunk/include/linux/mmc/core.h | 2 - trunk/include/linux/mmc/dw_mmc.h | 11 +- trunk/include/linux/mmc/host.h | 17 +- trunk/include/linux/mmc/mmc.h | 2 - trunk/include/linux/mmc/mxs-mmc.h | 19 + trunk/include/linux/mmc/sdhci.h | 7 +- trunk/include/linux/mmzone.h | 2 +- trunk/include/linux/netdevice.h | 3 - trunk/include/linux/netfilter/Kbuild | 1 + trunk/include/linux/netfilter/ipset/Kbuild | 0 trunk/include/linux/netfilter_arp/Kbuild | 0 trunk/include/linux/netfilter_bridge/Kbuild | 0 trunk/include/linux/netfilter_ipv4/Kbuild | 0 trunk/include/linux/netfilter_ipv6/Kbuild | 0 trunk/include/linux/nfsd/Kbuild | 0 trunk/include/linux/of.h | 64 +- trunk/include/linux/of_address.h | 8 +- trunk/include/linux/of_irq.h | 4 +- trunk/include/linux/pci.h | 8 +- trunk/include/linux/percpu-rwsem.h | 28 +- trunk/include/linux/perf_event.h | 10 +- trunk/include/linux/pid_namespace.h | 8 +- trunk/include/linux/pinctrl/pinconf-generic.h | 5 +- trunk/include/linux/pinctrl/pinctrl.h | 19 - trunk/include/linux/platform_data/ads7828.h | 29 - .../linux/platform_data/clk-integrator.h | 2 - .../include/linux/platform_data/gpio-ts5500.h | 27 - .../linux/platform_data/omap_ocp2scp.h | 31 - .../linux/platform_data/pinctrl-coh901.h | 4 + trunk/include/linux/platform_data/pxa_sdhci.h | 6 +- .../linux/platform_data/uio_dmem_genirq.h | 26 - trunk/include/linux/platform_device.h | 1 - trunk/include/linux/pm.h | 3 +- trunk/include/linux/pm_qos.h | 77 +- trunk/include/linux/ptp_clock_kernel.h | 3 +- trunk/include/linux/raid/Kbuild | 2 + trunk/include/{uapi => }/linux/raid/md_p.h | 0 trunk/include/linux/raid/md_u.h | 141 +- trunk/include/linux/ratelimit.h | 27 +- trunk/include/linux/rbtree_augmented.h | 1 - trunk/include/linux/rio.h | 2 - trunk/include/linux/spi/Kbuild | 0 trunk/include/linux/spi/ads7846.h | 5 +- trunk/include/linux/spi/tsc2005.h | 2 + trunk/include/linux/sunrpc/Kbuild | 0 trunk/include/linux/tc_act/Kbuild | 0 trunk/include/linux/tc_ematch/Kbuild | 0 trunk/include/linux/tcp.h | 3 +- trunk/include/linux/tick.h | 6 - trunk/include/linux/uprobes.h | 11 + trunk/include/linux/usb.h | 11 + trunk/include/linux/usb/Kbuild | 10 + trunk/include/linux/usb/audio.h | 524 +++++- trunk/include/{uapi => }/linux/usb/cdc.h | 0 trunk/include/{uapi => }/linux/usb/ch11.h | 0 trunk/include/linux/usb/ch9.h | 960 +++++++++- trunk/include/linux/usb/functionfs.h | 167 +- .../include/{uapi => }/linux/usb/g_printer.h | 0 trunk/include/{uapi => }/linux/usb/gadgetfs.h | 0 trunk/include/{uapi => }/linux/usb/midi.h | 0 trunk/include/{uapi => }/linux/usb/tmc.h | 0 trunk/include/{uapi => }/linux/usb/video.h | 0 trunk/include/linux/wimax/Kbuild | 0 trunk/include/media/adv7604.h | 21 +- trunk/include/mtd/Kbuild | 0 trunk/include/net/cfg80211.h | 10 - trunk/include/net/tcp.h | 1 - trunk/include/net/xfrm.h | 2 +- trunk/include/scsi/scsi_device.h | 4 - trunk/include/sound/core.h | 3 - trunk/include/trace/events/gfpflags.h | 1 - trunk/include/trace/events/xen.h | 8 - trunk/include/uapi/asm-generic/kvm_para.h | 4 - trunk/include/uapi/linux/Kbuild | 1 - trunk/include/uapi/linux/dvb/Kbuild | 8 - trunk/include/uapi/linux/dvb/dmx.h | 155 -- trunk/include/uapi/linux/dvb/video.h | 274 --- trunk/include/uapi/linux/elf-fdpic.h | 42 +- trunk/include/uapi/linux/eventpoll.h | 1 + trunk/include/uapi/linux/fs.h | 132 ++ trunk/include/uapi/linux/hsi/Kbuild | 1 - trunk/include/uapi/linux/hw_breakpoint.h | 30 - trunk/include/uapi/linux/irqnr.h | 4 - trunk/include/uapi/linux/oom.h | 9 - trunk/include/uapi/linux/raid/Kbuild | 2 - trunk/include/uapi/linux/raid/md_u.h | 155 -- trunk/include/uapi/linux/tcp.h | 1 - trunk/include/uapi/linux/usb/Kbuild | 10 - trunk/include/uapi/linux/usb/audio.h | 545 ------ trunk/include/uapi/linux/usb/ch9.h | 993 ---------- trunk/include/uapi/linux/usb/functionfs.h | 169 -- trunk/include/xen/Kbuild | 0 trunk/include/xen/grant_table.h | 2 +- trunk/include/xen/hvm.h | 34 +- trunk/include/xen/interface/grant_table.h | 2 +- trunk/include/xen/interface/memory.h | 24 +- trunk/init/main.c | 2 - trunk/kernel/Makefile | 6 +- trunk/kernel/cgroup.c | 41 +- trunk/kernel/cpu.c | 8 +- trunk/kernel/events/hw_breakpoint.c | 12 +- trunk/kernel/events/uprobes.c | 345 ++-- trunk/kernel/futex.c | 59 +- trunk/kernel/irq/irqdomain.c | 4 +- trunk/kernel/ksysfs.c | 5 +- trunk/kernel/modsign_pubkey.c | 4 +- trunk/kernel/module-internal.h | 3 +- trunk/kernel/module.c | 53 +- trunk/kernel/module_signing.c | 38 +- trunk/kernel/pid_namespace.c | 33 +- trunk/kernel/power/main.c | 2 +- trunk/kernel/power/qos.c | 65 +- trunk/kernel/power/swap.c | 2 +- trunk/kernel/printk.c | 1 + trunk/kernel/sched/auto_group.c | 4 + trunk/kernel/sched/auto_group.h | 5 + trunk/kernel/sys.c | 12 +- trunk/kernel/sysctl.c | 4 +- trunk/kernel/time/tick-sched.c | 4 - trunk/kernel/trace/ring_buffer.c | 4 - trunk/kernel/watchdog.c | 7 +- trunk/kernel/workqueue.c | 24 +- trunk/lib/Makefile | 5 +- trunk/lib/asn1_decoder.c | 2 +- trunk/lib/dma-debug.c | 4 +- trunk/lib/genalloc.c | 2 +- trunk/lib/mpi/longlong.h | 19 +- trunk/mm/bootmem.c | 10 +- trunk/mm/compaction.c | 12 +- trunk/mm/dmapool.c | 31 +- trunk/mm/fremap.c | 2 +- trunk/mm/highmem.c | 2 +- trunk/mm/huge_memory.c | 1 - trunk/mm/memblock.c | 24 - trunk/mm/memcontrol.c | 67 +- trunk/mm/memory-failure.c | 8 - trunk/mm/memory.c | 10 +- trunk/mm/memory_hotplug.c | 7 + trunk/mm/mempolicy.c | 27 +- trunk/mm/mmap.c | 16 - trunk/mm/mmu_notifier.c | 26 +- trunk/mm/mmzone.c | 6 +- trunk/mm/nobootmem.c | 3 + trunk/mm/nommu.c | 15 - trunk/mm/page_alloc.c | 53 +- trunk/mm/rmap.c | 20 +- trunk/mm/shmem.c | 44 +- trunk/mm/slob.c | 6 +- trunk/mm/sparse.c | 10 +- trunk/mm/swapfile.c | 4 +- trunk/mm/vmscan.c | 110 +- trunk/net/8021q/vlan.c | 4 +- trunk/net/8021q/vlan_core.c | 9 +- trunk/net/batman-adv/bridge_loop_avoidance.c | 27 +- trunk/net/batman-adv/routing.c | 8 +- trunk/net/batman-adv/soft-interface.c | 12 +- trunk/net/batman-adv/translation-table.c | 15 +- trunk/net/batman-adv/types.h | 2 - trunk/net/bluetooth/hci_core.c | 4 +- trunk/net/bluetooth/mgmt.c | 12 +- trunk/net/bluetooth/smp.c | 8 +- trunk/net/can/bcm.c | 3 - trunk/net/ceph/messenger.c | 6 +- trunk/net/core/dev.c | 8 +- trunk/net/core/dev_addr_lists.c | 3 +- trunk/net/core/net-sysfs.c | 20 - trunk/net/core/rtnetlink.c | 3 +- trunk/net/core/skbuff.c | 12 +- trunk/net/ipv4/icmp.c | 3 +- trunk/net/ipv4/inet_diag.c | 159 +- trunk/net/ipv4/ip_fragment.c | 19 +- trunk/net/ipv4/ip_sockglue.c | 35 +- trunk/net/ipv4/ip_vti.c | 5 - trunk/net/ipv4/ipmr.c | 4 - trunk/net/ipv4/netfilter/iptable_nat.c | 4 +- trunk/net/ipv4/route.c | 18 +- trunk/net/ipv4/tcp.c | 29 +- trunk/net/ipv4/tcp_illinois.c | 8 +- trunk/net/ipv4/tcp_input.c | 37 +- trunk/net/ipv4/tcp_ipv4.c | 1 - trunk/net/ipv4/tcp_metrics.c | 14 +- trunk/net/ipv4/tcp_minisocks.c | 1 - trunk/net/ipv4/tcp_output.c | 19 +- trunk/net/ipv4/tcp_timer.c | 4 +- trunk/net/ipv4/xfrm4_policy.c | 13 +- trunk/net/ipv6/addrconf.c | 15 +- trunk/net/ipv6/inet6_connection_sock.c | 3 +- trunk/net/ipv6/ip6_gre.c | 8 +- trunk/net/ipv6/ipv6_sockglue.c | 1 - trunk/net/ipv6/ndisc.c | 3 +- trunk/net/ipv6/netfilter/ip6table_nat.c | 4 +- trunk/net/ipv6/netfilter/nf_conntrack_reasm.c | 4 +- trunk/net/ipv6/route.c | 4 +- trunk/net/irda/ircomm/ircomm_tty.c | 2 - trunk/net/irda/irttp.c | 1 - trunk/net/l2tp/l2tp_eth.c | 1 - trunk/net/mac80211/cfg.c | 3 - trunk/net/mac80211/ibss.c | 10 +- trunk/net/mac80211/ieee80211_i.h | 2 - trunk/net/mac80211/iface.c | 2 +- trunk/net/mac80211/main.c | 6 +- trunk/net/mac80211/mlme.c | 35 +- trunk/net/mac80211/offchannel.c | 2 + trunk/net/mac80211/rx.c | 74 +- trunk/net/mac80211/scan.c | 2 +- trunk/net/mac80211/sta_info.c | 15 +- trunk/net/mac80211/status.c | 9 - trunk/net/mac80211/tx.c | 9 +- trunk/net/mac80211/util.c | 48 +- trunk/net/mac80211/wpa.c | 14 +- trunk/net/netfilter/ipset/ip_set_hash_ip.c | 4 +- .../net/netfilter/ipset/ip_set_hash_ipport.c | 7 +- .../netfilter/ipset/ip_set_hash_ipportip.c | 7 +- .../netfilter/ipset/ip_set_hash_ipportnet.c | 7 +- .../netfilter/ipset/ip_set_hash_netiface.c | 2 +- trunk/net/netfilter/ipvs/ip_vs_ctl.c | 3 +- trunk/net/netfilter/nf_conntrack_h323_main.c | 3 +- trunk/net/netfilter/nfnetlink_cttimeout.c | 3 +- trunk/net/netfilter/xt_CT.c | 10 +- trunk/net/netfilter/xt_TEE.c | 1 - trunk/net/netfilter/xt_nat.c | 8 +- trunk/net/netlink/af_netlink.c | 19 +- trunk/net/nfc/llcp/llcp.c | 2 +- trunk/net/openvswitch/flow.c | 14 +- trunk/net/openvswitch/vport-netdev.c | 2 +- trunk/net/sched/sch_qfq.c | 109 +- trunk/net/sctp/chunk.c | 20 +- trunk/net/sctp/proc.c | 8 +- trunk/net/sctp/sm_sideeffect.c | 3 +- trunk/net/sctp/socket.c | 6 +- trunk/net/sctp/transport.c | 2 +- trunk/net/sunrpc/backchannel_rqst.c | 2 +- trunk/net/sunrpc/cache.c | 4 +- trunk/net/sunrpc/xprtsock.c | 41 +- trunk/net/tipc/handler.c | 1 + trunk/net/wireless/core.c | 3 +- trunk/net/wireless/mlme.c | 12 +- trunk/net/wireless/reg.c | 10 +- trunk/net/wireless/util.c | 14 +- trunk/scripts/Makefile.asm-generic | 2 +- trunk/scripts/Makefile.fwinst | 4 +- trunk/scripts/Makefile.lib | 3 - trunk/scripts/Makefile.modinst | 3 +- trunk/scripts/Makefile.modpost | 77 +- trunk/scripts/checkpatch.pl | 6 +- trunk/scripts/dtc/Makefile | 2 - trunk/scripts/dtc/dtc.h | 44 +- trunk/scripts/headers_install.pl | 3 - trunk/scripts/kconfig/expr.h | 5 +- trunk/scripts/kconfig/list.h | 91 - trunk/scripts/kconfig/lkc_proto.h | 4 +- trunk/scripts/kconfig/mconf.c | 6 +- trunk/scripts/kconfig/menu.c | 14 +- trunk/scripts/mod/modpost.c | 24 +- trunk/scripts/sign-file | 498 +---- trunk/scripts/x509keyid | 268 +++ trunk/security/apparmor/Makefile | 2 +- trunk/security/apparmor/policy.c | 24 +- trunk/security/device_cgroup.c | 101 +- trunk/security/selinux/hooks.c | 18 +- trunk/security/selinux/netnode.c | 3 +- trunk/sound/core/compress_offload.c | 9 +- trunk/sound/core/control.c | 5 - trunk/sound/core/hwdep.c | 12 +- trunk/sound/core/init.c | 50 +- trunk/sound/core/oss/mixer_oss.c | 11 +- trunk/sound/core/oss/pcm_oss.c | 7 - trunk/sound/core/pcm.c | 13 +- trunk/sound/core/pcm_native.c | 35 +- trunk/sound/core/rawmidi.c | 26 +- trunk/sound/core/sound.c | 11 +- trunk/sound/core/sound_oss.c | 10 +- trunk/sound/i2c/other/ak4113.c | 2 +- trunk/sound/i2c/other/ak4114.c | 2 +- trunk/sound/i2c/other/ak4117.c | 2 +- trunk/sound/isa/opti9xx/miro.c | 1 + trunk/sound/pci/ac97/ac97_codec.c | 2 - trunk/sound/pci/als300.c | 4 - trunk/sound/pci/emu10k1/emu10k1_main.c | 9 - trunk/sound/pci/es1968.c | 11 +- trunk/sound/pci/fm801.c | 11 +- trunk/sound/pci/hda/hda_codec.c | 13 +- trunk/sound/pci/hda/hda_codec.h | 1 - trunk/sound/pci/hda/hda_intel.c | 83 +- trunk/sound/pci/hda/patch_analog.c | 1 - trunk/sound/pci/hda/patch_cirrus.c | 22 +- trunk/sound/pci/hda/patch_realtek.c | 52 +- trunk/sound/pci/hda/patch_sigmatel.c | 2 - trunk/sound/pci/hda/patch_via.c | 36 +- trunk/sound/pci/ice1712/ice1724.c | 7 +- trunk/sound/pci/rme9652/hdspm.c | 239 +-- trunk/sound/soc/Makefile | 5 +- trunk/sound/soc/codecs/arizona.c | 4 +- trunk/sound/soc/codecs/cs4271.c | 11 +- trunk/sound/soc/codecs/cs42l52.c | 5 +- trunk/sound/soc/codecs/da9055.c | 22 +- trunk/sound/soc/codecs/twl6040.c | 8 +- trunk/sound/soc/codecs/wm2200.c | 3 +- trunk/sound/soc/codecs/wm5102.c | 552 +----- trunk/sound/soc/codecs/wm8978.c | 2 +- trunk/sound/soc/codecs/wm8994.c | 20 +- trunk/sound/soc/codecs/wm8994.h | 1 - trunk/sound/soc/kirkwood/kirkwood-dma.c | 3 +- trunk/sound/soc/kirkwood/kirkwood-i2s.c | 74 +- trunk/sound/soc/mxs/mxs-saif.c | 17 +- trunk/sound/soc/omap/ams-delta.c | 63 +- trunk/sound/soc/omap/omap-abe-twl6040.c | 2 +- trunk/sound/soc/omap/omap-dmic.c | 4 +- trunk/sound/soc/omap/omap-mcpdm.c | 9 +- trunk/sound/soc/omap/zoom2.c | 5 +- trunk/sound/soc/pxa/mmp-pcm.c | 2 +- trunk/sound/soc/samsung/Kconfig | 2 - trunk/sound/soc/samsung/bells.c | 2 +- trunk/sound/soc/sh/fsi.c | 15 +- trunk/sound/soc/soc-core.c | 5 +- trunk/sound/soc/soc-dapm.c | 2 +- trunk/sound/soc/soc-jack.c | 7 +- trunk/sound/soc/ux500/mop500.c | 17 - trunk/sound/soc/ux500/ux500_msp_i2s.c | 8 +- trunk/sound/usb/card.c | 14 +- trunk/sound/usb/card.h | 1 - trunk/sound/usb/endpoint.c | 13 - trunk/sound/usb/endpoint.h | 1 - trunk/sound/usb/midi.c | 8 +- trunk/sound/usb/mixer.c | 65 +- trunk/sound/usb/mixer_quirks.c | 58 +- trunk/sound/usb/pcm.c | 58 +- trunk/sound/usb/proc.c | 4 +- trunk/sound/usb/stream.c | 1 - trunk/sound/usb/usbaudio.h | 2 +- trunk/tools/Makefile | 24 +- trunk/tools/hv/hv_kvp_daemon.c | 40 +- trunk/tools/lib/traceevent/event-parse.c | 9 +- trunk/tools/lib/traceevent/parse-filter.c | 15 - trunk/tools/perf/Makefile | 53 +- trunk/tools/perf/arch/x86/include/perf_regs.h | 2 +- trunk/tools/perf/builtin-help.c | 2 +- trunk/tools/perf/builtin-kvm.c | 121 +- trunk/tools/perf/builtin-test.c | 2 +- trunk/tools/perf/builtin-trace.c | 18 +- trunk/tools/perf/perf.h | 16 +- trunk/tools/perf/ui/browsers/hists.c | 6 +- trunk/tools/perf/util/evsel.c | 4 +- trunk/tools/perf/util/evsel.h | 3 +- trunk/tools/perf/util/header.c | 2 - trunk/tools/perf/util/header.h | 2 +- trunk/tools/perf/util/parse-events-test.c | 14 +- trunk/tools/perf/util/parse-events.c | 5 +- trunk/tools/perf/util/parse-events.h | 2 +- trunk/tools/perf/util/pmu.h | 2 +- trunk/tools/perf/util/session.h | 2 +- trunk/tools/perf/util/setup.py | 2 - trunk/tools/perf/util/sort.c | 6 - trunk/tools/perf/util/strbuf.c | 8 +- trunk/tools/perf/util/thread.c | 1 + trunk/tools/power/cpupower/.gitignore | 7 - trunk/tools/power/cpupower/Makefile | 3 +- .../tools/power/cpupower/debug/i386/Makefile | 5 +- .../power/cpupower/man/cpupower-monitor.1 | 15 +- .../power/cpupower/utils/helpers/cpuid.c | 2 - .../power/cpupower/utils/helpers/helpers.h | 18 +- .../power/cpupower/utils/helpers/sysfs.c | 19 + .../power/cpupower/utils/helpers/topology.c | 53 +- .../utils/idle_monitor/cpupower-monitor.c | 21 +- .../utils/idle_monitor/cpupower-monitor.h | 17 - .../cpupower/utils/idle_monitor/snb_idle.c | 10 +- trunk/tools/power/x86/turbostat/turbostat.c | 28 +- trunk/tools/scripts/Makefile.include | 23 +- trunk/tools/testing/ktest/ktest.pl | 6 +- trunk/tools/testing/selftests/Makefile | 2 +- trunk/tools/testing/selftests/epoll/Makefile | 11 + .../testing/selftests/epoll/test_epoll.c | 344 ++++ trunk/tools/vm/page-types.c | 2 +- trunk/usr/gen_init_cpio.c | 43 +- trunk/virt/kvm/kvm_main.c | 4 +- 2818 files changed, 28501 insertions(+), 56370 deletions(-) delete mode 100644 trunk/Documentation/ABI/testing/sysfs-devices-sun delete mode 100644 trunk/Documentation/acpi/enumeration.txt delete mode 100644 trunk/Documentation/devicetree/bindings/cpufreq/cpufreq-spear.txt delete mode 100644 trunk/Documentation/devicetree/bindings/gpio/gpio-stmpe.txt rename trunk/Documentation/devicetree/bindings/{leds/leds-gpio.txt => gpio/led.txt} (68%) delete mode 100644 trunk/Documentation/devicetree/bindings/gpio/spear_spics.txt rename trunk/Documentation/devicetree/bindings/i2c/{i2c-versatile.txt => arm-versatile.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-at91.txt => atmel-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-octeon.txt => cavium-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-pxa-pci-ce4100.txt => ce4100-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-davinci.txt => davinci.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-mpc.txt => fsl-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-imx.txt => fsl-imx-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-gpio.txt => gpio-i2c.txt} (100%) delete mode 100644 trunk/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt rename trunk/Documentation/devicetree/bindings/i2c/{i2c-pxa.txt => mrvl-i2c.txt} (70%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-mux.txt => mux.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-nomadik.txt => nomadik.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-omap.txt => omap-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-pnx.txt => pnx.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-s3c2410.txt => samsung-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-sirf.txt => sirf-i2c.txt} (100%) rename trunk/Documentation/devicetree/bindings/i2c/{i2c-xiic.txt => xiic.txt} (100%) delete mode 100644 trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt delete mode 100644 trunk/Documentation/devicetree/bindings/leds/common.txt rename trunk/Documentation/devicetree/bindings/mmc/{synopsis-dw-mshc.txt => synposis-dw-mshc.txt} (100%) delete mode 100644 trunk/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt delete mode 100644 trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt delete mode 100644 trunk/Documentation/devicetree/bindings/rtc/orion-rtc.txt delete mode 100644 trunk/Documentation/hwmon/da9055 delete mode 100644 trunk/Documentation/zh_CN/IRQ.txt delete mode 100644 trunk/Documentation/zh_CN/arm/kernel_user_helpers.txt delete mode 100644 trunk/Documentation/zh_CN/arm64/booting.txt delete mode 100644 trunk/Documentation/zh_CN/arm64/memory.txt delete mode 100644 trunk/arch/arm/boot/dts/animeo_ip.dts delete mode 100644 trunk/arch/arm/boot/dts/at91rm9200.dtsi delete mode 100644 trunk/arch/arm/boot/dts/at91rm9200ek.dts delete mode 100644 trunk/arch/arm/boot/dts/at91sam9g15.dtsi delete mode 100644 trunk/arch/arm/boot/dts/at91sam9g15ek.dts delete mode 100644 trunk/arch/arm/boot/dts/at91sam9g25.dtsi delete mode 100644 trunk/arch/arm/boot/dts/at91sam9g35.dtsi delete mode 100644 trunk/arch/arm/boot/dts/at91sam9g35ek.dts delete mode 100644 trunk/arch/arm/boot/dts/at91sam9x25.dtsi delete mode 100644 trunk/arch/arm/boot/dts/at91sam9x25ek.dts delete mode 100644 trunk/arch/arm/boot/dts/at91sam9x35.dtsi delete mode 100644 trunk/arch/arm/boot/dts/at91sam9x35ek.dts delete mode 100644 trunk/arch/arm/boot/dts/at91sam9x5ek.dtsi delete mode 100644 trunk/arch/arm/boot/dts/pm9g45.dts delete mode 100644 trunk/arch/arm/include/debug/8250_32.S delete mode 100644 trunk/arch/arm/mach-at91/board-rm9200-dt.c create mode 100644 trunk/arch/arm/mach-prima2/include/mach/gpio.h create mode 100644 trunk/arch/arm/mach-spear13xx/include/mach/spear1310_misc_regs.h create mode 100644 trunk/arch/arm/mach-spear13xx/include/mach/spear1340_misc_regs.h create mode 100644 trunk/arch/arm/plat-nomadik/include/plat/gpio-nomadik.h rename trunk/{include/linux/platform_data/pinctrl-nomadik.h => arch/arm/plat-nomadik/include/plat/pincfg.h} (66%) delete mode 100644 trunk/arch/arm/plat-samsung/include/plat/spi-core.h delete mode 100644 trunk/arch/arm64/boot/dts/.gitignore delete mode 100644 trunk/arch/arm64/boot/dts/Makefile delete mode 100644 trunk/arch/arm64/include/asm/linkage.h delete mode 100644 trunk/arch/c6x/boot/dts/Makefile delete mode 100644 trunk/arch/c6x/boot/dts/linked_dtb.S create mode 100644 trunk/arch/c6x/boot/linked_dtb.S delete mode 100644 trunk/arch/c6x/include/asm/setup.h rename trunk/arch/{hexagon => c6x}/include/uapi/asm/kvm_para.h (100%) rename trunk/arch/hexagon/include/{uapi => }/asm/bitsperlong.h (92%) rename trunk/arch/hexagon/include/{uapi => }/asm/byteorder.h (92%) create mode 100644 trunk/arch/hexagon/include/asm/kvm_para.h rename trunk/arch/hexagon/include/{uapi => }/asm/param.h (91%) rename trunk/arch/hexagon/include/{uapi => }/asm/ptrace.h (94%) rename trunk/arch/hexagon/include/{uapi => }/asm/registers.h (85%) rename trunk/arch/hexagon/include/{uapi => }/asm/setup.h (92%) rename trunk/arch/hexagon/include/{uapi => }/asm/sigcontext.h (93%) rename trunk/arch/hexagon/include/{uapi => }/asm/signal.h (92%) rename trunk/arch/hexagon/include/{uapi => }/asm/swab.h (91%) rename trunk/arch/hexagon/include/{uapi => }/asm/unistd.h (93%) rename trunk/arch/hexagon/include/{uapi => }/asm/user.h (63%) create mode 100644 trunk/arch/ia64/include/asm/kvm_para.h create mode 100644 trunk/arch/ia64/include/uapi/asm/kvm_para.h rename trunk/arch/m68k/include/{uapi => }/asm/a.out.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/auxvec.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/byteorder.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/cachectl.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/fcntl.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/ioctls.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/msgbuf.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/param.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/poll.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/posix_types.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/sembuf.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/shmbuf.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/sigcontext.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/socket.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/sockios.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/stat.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/swab.h (100%) rename trunk/arch/m68k/include/{uapi => }/asm/termbits.h (100%) delete mode 100644 trunk/arch/m68k/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/m68k/include/uapi/asm/setup.h delete mode 100644 trunk/arch/m68k/include/uapi/asm/signal.h delete mode 100644 trunk/arch/m68k/include/uapi/asm/termios.h delete mode 100644 trunk/arch/m68k/include/uapi/asm/unistd.h delete mode 100644 trunk/arch/microblaze/boot/dts/Makefile delete mode 100644 trunk/arch/microblaze/boot/dts/linked_dtb.S create mode 100644 trunk/arch/microblaze/boot/linked_dtb.S delete mode 100644 trunk/arch/mips/lib/bitops.c delete mode 100644 trunk/arch/mips/lib/mips-atomic.c rename trunk/arch/openrisc/boot/{dts => }/Makefile (75%) create mode 100644 trunk/arch/parisc/include/asm/auxvec.h rename trunk/arch/parisc/include/{uapi => }/asm/bitsperlong.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/byteorder.h (100%) create mode 100644 trunk/arch/parisc/include/asm/compat_signal.h create mode 100644 trunk/arch/parisc/include/asm/cputime.h create mode 100644 trunk/arch/parisc/include/asm/device.h create mode 100644 trunk/arch/parisc/include/asm/div64.h create mode 100644 trunk/arch/parisc/include/asm/emergency-restart.h rename trunk/arch/parisc/include/{uapi => }/asm/errno.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/fcntl.h (100%) create mode 100644 trunk/arch/parisc/include/asm/hw_irq.h rename trunk/arch/parisc/include/{uapi => }/asm/ioctl.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/ioctls.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/ipcbuf.h (100%) create mode 100644 trunk/arch/parisc/include/asm/irq_regs.h create mode 100644 trunk/arch/parisc/include/asm/kdebug.h create mode 100644 trunk/arch/parisc/include/asm/kvm_para.h create mode 100644 trunk/arch/parisc/include/asm/local.h create mode 100644 trunk/arch/parisc/include/asm/local64.h rename trunk/arch/parisc/include/{uapi => }/asm/mman.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/msgbuf.h (100%) create mode 100644 trunk/arch/parisc/include/asm/mutex.h create mode 100644 trunk/arch/parisc/include/asm/param.h create mode 100644 trunk/arch/parisc/include/asm/percpu.h create mode 100644 trunk/arch/parisc/include/asm/poll.h rename trunk/arch/parisc/include/{uapi => }/asm/posix_types.h (100%) create mode 100644 trunk/arch/parisc/include/asm/real.h rename trunk/arch/parisc/include/{uapi => }/asm/resource.h (100%) create mode 100644 trunk/arch/parisc/include/asm/segment.h rename trunk/arch/parisc/include/{uapi => }/asm/sembuf.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/setup.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/shmbuf.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/sigcontext.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/siginfo.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/socket.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/sockios.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/stat.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/statfs.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/swab.h (100%) rename trunk/arch/parisc/include/{uapi => }/asm/termbits.h (100%) create mode 100644 trunk/arch/parisc/include/asm/topology.h rename trunk/arch/parisc/include/{uapi => }/asm/types.h (100%) create mode 100644 trunk/arch/parisc/include/asm/user.h create mode 100644 trunk/arch/parisc/include/asm/vga.h create mode 100644 trunk/arch/parisc/include/asm/xor.h delete mode 100644 trunk/arch/parisc/include/uapi/asm/pdc.h delete mode 100644 trunk/arch/parisc/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/parisc/include/uapi/asm/signal.h delete mode 100644 trunk/arch/parisc/include/uapi/asm/termios.h delete mode 100644 trunk/arch/parisc/include/uapi/asm/unistd.h rename trunk/arch/sh/include/{uapi => }/asm/auxvec.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/byteorder.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/cachectl.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/cpu-features.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/ioctls.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/posix_types_32.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/posix_types_64.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/sigcontext.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/signal.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/sockios.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/stat.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/swab.h (100%) rename trunk/arch/sh/include/{uapi => }/asm/unistd_32.h (99%) rename trunk/arch/sh/include/{uapi => }/asm/unistd_64.h (99%) delete mode 100644 trunk/arch/sh/include/uapi/asm/hw_breakpoint.h delete mode 100644 trunk/arch/sh/include/uapi/asm/posix_types.h delete mode 100644 trunk/arch/sh/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/sh/include/uapi/asm/ptrace_32.h delete mode 100644 trunk/arch/sh/include/uapi/asm/ptrace_64.h delete mode 100644 trunk/arch/sh/include/uapi/asm/setup.h delete mode 100644 trunk/arch/sh/include/uapi/asm/types.h delete mode 100644 trunk/arch/sh/include/uapi/asm/unistd.h rename trunk/arch/unicore32/include/{uapi => }/asm/byteorder.h (100%) create mode 100644 trunk/arch/unicore32/include/asm/kvm_para.h rename trunk/arch/unicore32/include/{uapi => }/asm/sigcontext.h (100%) rename trunk/arch/unicore32/include/{uapi => }/asm/unistd.h (92%) delete mode 100644 trunk/arch/unicore32/include/uapi/asm/ptrace.h rename trunk/arch/xtensa/include/{uapi => }/asm/auxvec.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/bitsperlong.h create mode 100644 trunk/arch/xtensa/include/asm/bug.h rename trunk/arch/xtensa/include/{uapi => }/asm/byteorder.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/cputime.h create mode 100644 trunk/arch/xtensa/include/asm/device.h create mode 100644 trunk/arch/xtensa/include/asm/div64.h create mode 100644 trunk/arch/xtensa/include/asm/emergency-restart.h create mode 100644 trunk/arch/xtensa/include/asm/errno.h create mode 100644 trunk/arch/xtensa/include/asm/fcntl.h create mode 100644 trunk/arch/xtensa/include/asm/futex.h create mode 100644 trunk/arch/xtensa/include/asm/hardirq.h create mode 100644 trunk/arch/xtensa/include/asm/ioctl.h rename trunk/arch/xtensa/include/{uapi => }/asm/ioctls.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/ipcbuf.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/irq_regs.h create mode 100644 trunk/arch/xtensa/include/asm/kdebug.h create mode 100644 trunk/arch/xtensa/include/asm/kmap_types.h create mode 100644 trunk/arch/xtensa/include/asm/kvm_para.h create mode 100644 trunk/arch/xtensa/include/asm/local.h create mode 100644 trunk/arch/xtensa/include/asm/local64.h rename trunk/arch/xtensa/include/{uapi => }/asm/mman.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/msgbuf.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/percpu.h rename trunk/arch/xtensa/include/{uapi => }/asm/poll.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/posix_types.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/resource.h create mode 100644 trunk/arch/xtensa/include/asm/scatterlist.h create mode 100644 trunk/arch/xtensa/include/asm/sections.h rename trunk/arch/xtensa/include/{uapi => }/asm/sembuf.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/setup.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/shmbuf.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/sigcontext.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/siginfo.h rename trunk/arch/xtensa/include/{uapi => }/asm/socket.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/sockios.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/stat.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/statfs.h rename trunk/arch/xtensa/include/{uapi => }/asm/swab.h (100%) rename trunk/arch/xtensa/include/{uapi => }/asm/termbits.h (100%) create mode 100644 trunk/arch/xtensa/include/asm/termios.h create mode 100644 trunk/arch/xtensa/include/asm/topology.h create mode 100644 trunk/arch/xtensa/include/asm/xor.h delete mode 100644 trunk/arch/xtensa/include/uapi/asm/param.h delete mode 100644 trunk/arch/xtensa/include/uapi/asm/ptrace.h delete mode 100644 trunk/arch/xtensa/include/uapi/asm/signal.h delete mode 100644 trunk/arch/xtensa/include/uapi/asm/types.h delete mode 100644 trunk/arch/xtensa/include/uapi/asm/unistd.h delete mode 100644 trunk/drivers/acpi/acpi_i2c.c delete mode 100644 trunk/drivers/acpi/acpi_platform.c delete mode 100644 trunk/drivers/acpi/acpica/utcache.c delete mode 100644 trunk/drivers/acpi/acpica/utclib.c delete mode 100644 trunk/drivers/acpi/acpica/uttrack.c delete mode 100644 trunk/drivers/acpi/device_pm.c delete mode 100644 trunk/drivers/acpi/resource.c delete mode 100644 trunk/drivers/clk/clk-twl6040.c delete mode 100644 trunk/drivers/clk/ux500/abx500-clk.c delete mode 100644 trunk/drivers/clk/versatile/clk-impd1.c delete mode 100644 trunk/drivers/clk/versatile/clk-vexpress-osc.c delete mode 100644 trunk/drivers/clk/versatile/clk-vexpress.c delete mode 100644 trunk/drivers/cpufreq/cpufreq_governor.c delete mode 100644 trunk/drivers/cpufreq/cpufreq_governor.h delete mode 100644 trunk/drivers/cpufreq/spear-cpufreq.c delete mode 100644 trunk/drivers/gpio/gpio-clps711x.c delete mode 100644 trunk/drivers/gpio/gpio-da9055.c delete mode 100644 trunk/drivers/gpio/gpio-spear-spics.c delete mode 100644 trunk/drivers/gpio/gpio-ts5500.c delete mode 100644 trunk/drivers/gpio/gpiolib-acpi.c delete mode 100644 trunk/drivers/hv/hv_balloon.c delete mode 100644 trunk/drivers/hwmon/da9055-hwmon.c rename trunk/drivers/i2c/{ => busses}/i2c-stub.c (75%) delete mode 100644 trunk/drivers/memstick/host/rtsx_pci_ms.c delete mode 100644 trunk/drivers/mfd/rtl8411.c delete mode 100644 trunk/drivers/mfd/rts5209.c delete mode 100644 trunk/drivers/mfd/rts5229.c delete mode 100644 trunk/drivers/mfd/rtsx_pcr.c delete mode 100644 trunk/drivers/mfd/rtsx_pcr.h delete mode 100644 trunk/drivers/misc/mei/amthif.c create mode 100644 trunk/drivers/mmc/host/at91_mci.c create mode 100644 trunk/drivers/mmc/host/at91_mci.h delete mode 100644 trunk/drivers/mmc/host/rtsx_pci_sdmmc.c delete mode 100644 trunk/drivers/mmc/host/sdhci-acpi.c delete mode 100644 trunk/drivers/mmc/host/wmt-sdmmc.c delete mode 100644 trunk/drivers/net/phy/at803x.c create mode 100644 trunk/drivers/pci/hotplug.c delete mode 100644 trunk/drivers/pinctrl/mvebu/Kconfig delete mode 100644 trunk/drivers/pinctrl/mvebu/Makefile rename trunk/drivers/pinctrl/{mvebu => }/pinctrl-armada-370.c (100%) rename trunk/drivers/pinctrl/{mvebu => }/pinctrl-armada-xp.c (100%) delete mode 100644 trunk/drivers/pinctrl/pinctrl-at91.c rename trunk/drivers/pinctrl/{mvebu => }/pinctrl-dove.c (100%) rename trunk/drivers/pinctrl/{mvebu => }/pinctrl-kirkwood.c (100%) rename trunk/drivers/pinctrl/{mvebu => }/pinctrl-mvebu.c (99%) rename trunk/drivers/pinctrl/{mvebu => }/pinctrl-mvebu.h (100%) delete mode 100644 trunk/drivers/pinctrl/spear/pinctrl-plgpio.c delete mode 100644 trunk/drivers/uio/uio_dmem_genirq.c delete mode 100644 trunk/drivers/xen/fallback.c create mode 100644 trunk/include/asm-generic/Kbuild create mode 100644 trunk/include/drm/Kbuild delete mode 100644 trunk/include/linux/acpi_gpio.h create mode 100644 trunk/include/linux/byteorder/Kbuild create mode 100644 trunk/include/linux/caif/Kbuild create mode 100644 trunk/include/linux/can/Kbuild rename trunk/include/{uapi => }/linux/dvb/audio.h (100%) rename trunk/include/{uapi => }/linux/dvb/ca.h (100%) rename trunk/include/{uapi => }/linux/dvb/frontend.h (100%) rename trunk/include/{uapi => }/linux/dvb/net.h (100%) rename trunk/include/{uapi => }/linux/dvb/osd.h (100%) rename trunk/include/{uapi => }/linux/dvb/version.h (100%) delete mode 100644 trunk/include/linux/elf-fdpic.h delete mode 100644 trunk/include/linux/hashtable.h rename trunk/include/{uapi => }/linux/hsi/hsi_char.h (100%) create mode 100644 trunk/include/linux/isdn/Kbuild delete mode 100644 trunk/include/linux/mfd/rtsx_common.h delete mode 100644 trunk/include/linux/mfd/rtsx_pci.h create mode 100644 trunk/include/linux/mmc/Kbuild create mode 100644 trunk/include/linux/mmc/mxs-mmc.h create mode 100644 trunk/include/linux/netfilter/Kbuild create mode 100644 trunk/include/linux/netfilter/ipset/Kbuild create mode 100644 trunk/include/linux/netfilter_arp/Kbuild create mode 100644 trunk/include/linux/netfilter_bridge/Kbuild create mode 100644 trunk/include/linux/netfilter_ipv4/Kbuild create mode 100644 trunk/include/linux/netfilter_ipv6/Kbuild create mode 100644 trunk/include/linux/nfsd/Kbuild delete mode 100644 trunk/include/linux/platform_data/ads7828.h delete mode 100644 trunk/include/linux/platform_data/gpio-ts5500.h delete mode 100644 trunk/include/linux/platform_data/omap_ocp2scp.h delete mode 100644 trunk/include/linux/platform_data/uio_dmem_genirq.h rename trunk/include/{uapi => }/linux/raid/md_p.h (100%) create mode 100644 trunk/include/linux/spi/Kbuild create mode 100644 trunk/include/linux/sunrpc/Kbuild create mode 100644 trunk/include/linux/tc_act/Kbuild create mode 100644 trunk/include/linux/tc_ematch/Kbuild rename trunk/include/{uapi => }/linux/usb/cdc.h (100%) rename trunk/include/{uapi => }/linux/usb/ch11.h (100%) rename trunk/include/{uapi => }/linux/usb/g_printer.h (100%) rename trunk/include/{uapi => }/linux/usb/gadgetfs.h (100%) rename trunk/include/{uapi => }/linux/usb/midi.h (100%) rename trunk/include/{uapi => }/linux/usb/tmc.h (100%) rename trunk/include/{uapi => }/linux/usb/video.h (100%) create mode 100644 trunk/include/linux/wimax/Kbuild create mode 100644 trunk/include/mtd/Kbuild delete mode 100644 trunk/include/uapi/linux/dvb/dmx.h delete mode 100644 trunk/include/uapi/linux/dvb/video.h delete mode 100644 trunk/include/uapi/linux/hw_breakpoint.h delete mode 100644 trunk/include/uapi/linux/raid/md_u.h delete mode 100644 trunk/include/uapi/linux/usb/audio.h delete mode 100644 trunk/include/uapi/linux/usb/ch9.h delete mode 100644 trunk/include/uapi/linux/usb/functionfs.h create mode 100644 trunk/include/xen/Kbuild delete mode 100644 trunk/scripts/kconfig/list.h mode change 100755 => 100644 trunk/scripts/sign-file create mode 100755 trunk/scripts/x509keyid create mode 100644 trunk/tools/testing/selftests/epoll/Makefile create mode 100644 trunk/tools/testing/selftests/epoll/test_epoll.c diff --git a/[refs] b/[refs] index fc15d213b40c..360cab616f7a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6a5971d8fea1f4a8c33dfe0cec6a1c490f0c9cde +refs/heads/master: f9e314d2bf78816ea839cb1042d7dcd0da2821dc diff --git a/trunk/.gitignore b/trunk/.gitignore index 92bd0e45dfa1..0f2f40f71915 100644 --- a/trunk/.gitignore +++ b/trunk/.gitignore @@ -14,6 +14,10 @@ *.o.* *.a *.s +*.ko.unsigned +*.ko.stripped +*.ko.stripped.dig +*.ko.stripped.sig *.ko *.so *.so.dbg @@ -91,4 +95,6 @@ GTAGS extra_certificates signing_key.priv signing_key.x509 +signing_key.x509.keyid +signing_key.x509.signer x509.genkey diff --git a/trunk/CREDITS b/trunk/CREDITS index 2346b09ca8bb..d8fe12a9421f 100644 --- a/trunk/CREDITS +++ b/trunk/CREDITS @@ -1823,11 +1823,6 @@ S: Kattreinstr 38 S: D-64295 S: Germany -N: Avi Kivity -E: avi.kivity@gmail.com -D: Kernel-based Virtual Machine (KVM) -S: Ra'annana, Israel - N: Andi Kleen E: andi@firstfloor.org U: http://www.halobates.de diff --git a/trunk/Documentation/00-INDEX b/trunk/Documentation/00-INDEX index ceb1ff735469..f54273e2ac97 100644 --- a/trunk/Documentation/00-INDEX +++ b/trunk/Documentation/00-INDEX @@ -210,8 +210,6 @@ local_ops.txt - semantics and behavior of local atomic operations. lockdep-design.txt - documentation on the runtime locking correctness validator. -lockup-watchdogs.txt - - info on soft and hard lockup detectors (aka nmi_watchdog). logo.gif - full colour GIF image of Linux logo (penguin - Tux). logo.txt @@ -242,6 +240,8 @@ netlabel/ - directory with information on the NetLabel subsystem. networking/ - directory with info on various aspects of networking with Linux. +nmi_watchdog.txt + - info on NMI watchdog for SMP systems. nommu-mmap.txt - documentation about no-mmu memory mapping support. numastat.txt diff --git a/trunk/Documentation/ABI/testing/sysfs-class-devfreq b/trunk/Documentation/ABI/testing/sysfs-class-devfreq index 0ba6ea2f89d9..23d78b5aab11 100644 --- a/trunk/Documentation/ABI/testing/sysfs-class-devfreq +++ b/trunk/Documentation/ABI/testing/sysfs-class-devfreq @@ -11,7 +11,7 @@ What: /sys/class/devfreq/.../governor Date: September 2011 Contact: MyungJoo Ham Description: - The /sys/class/devfreq/.../governor show or set the name of the + The /sys/class/devfreq/.../governor shows the name of the governor used by the corresponding devfreq object. What: /sys/class/devfreq/.../cur_freq @@ -19,16 +19,15 @@ Date: September 2011 Contact: MyungJoo Ham Description: The /sys/class/devfreq/.../cur_freq shows the current - frequency of the corresponding devfreq object. Same as - target_freq when get_cur_freq() is not implemented by - devfreq driver. + frequency of the corresponding devfreq object. -What: /sys/class/devfreq/.../target_freq -Date: September 2012 -Contact: Rajagopal Venkat +What: /sys/class/devfreq/.../central_polling +Date: September 2011 +Contact: MyungJoo Ham Description: - The /sys/class/devfreq/.../target_freq shows the next governor - predicted target frequency of the corresponding devfreq object. + The /sys/class/devfreq/.../central_polling shows whether + the devfreq ojbect is using devfreq-provided central + polling mechanism or not. What: /sys/class/devfreq/.../polling_interval Date: September 2011 @@ -44,17 +43,6 @@ Description: (/sys/class/devfreq/.../central_polling is 0), this value may be useless. -What: /sys/class/devfreq/.../trans_stat -Date: October 2012 -Contact: MyungJoo Ham -Descrtiption: - This ABI shows the statistics of devfreq behavior on a - specific device. It shows the time spent in each state and - the number of transitions between states. - In order to activate this ABI, the devfreq target device - driver should provide the list of available frequencies - with its profile. - What: /sys/class/devfreq/.../userspace/set_freq Date: September 2011 Contact: MyungJoo Ham @@ -62,19 +50,3 @@ Description: The /sys/class/devfreq/.../userspace/set_freq shows and sets the requested frequency for the devfreq object if userspace governor is in effect. - -What: /sys/class/devfreq/.../available_frequencies -Date: October 2012 -Contact: Nishanth Menon -Description: - The /sys/class/devfreq/.../available_frequencies shows - the available frequencies of the corresponding devfreq object. - This is a snapshot of available frequencies and not limited - by the min/max frequency restrictions. - -What: /sys/class/devfreq/.../available_governors -Date: October 2012 -Contact: Nishanth Menon -Description: - The /sys/class/devfreq/.../available_governors shows - currently available governors in the system. diff --git a/trunk/Documentation/ABI/testing/sysfs-devices-power b/trunk/Documentation/ABI/testing/sysfs-devices-power index 7fc2997b23a6..45000f0db4d4 100644 --- a/trunk/Documentation/ABI/testing/sysfs-devices-power +++ b/trunk/Documentation/ABI/testing/sysfs-devices-power @@ -204,34 +204,3 @@ Description: This attribute has no effect on system-wide suspend/resume and hibernation. - -What: /sys/devices/.../power/pm_qos_no_power_off -Date: September 2012 -Contact: Rafael J. Wysocki -Description: - The /sys/devices/.../power/pm_qos_no_power_off attribute - is used for manipulating the PM QoS "no power off" flag. If - set, this flag indicates to the kernel that power should not - be removed entirely from the device. - - Not all drivers support this attribute. If it isn't supported, - it is not present. - - This attribute has no effect on system-wide suspend/resume and - hibernation. - -What: /sys/devices/.../power/pm_qos_remote_wakeup -Date: September 2012 -Contact: Rafael J. Wysocki -Description: - The /sys/devices/.../power/pm_qos_remote_wakeup attribute - is used for manipulating the PM QoS "remote wakeup required" - flag. If set, this flag indicates to the kernel that the - device is a source of user events that have to be signaled from - its low-power states. - - Not all drivers support this attribute. If it isn't supported, - it is not present. - - This attribute has no effect on system-wide suspend/resume and - hibernation. diff --git a/trunk/Documentation/ABI/testing/sysfs-devices-sun b/trunk/Documentation/ABI/testing/sysfs-devices-sun deleted file mode 100644 index 86be9848a77e..000000000000 --- a/trunk/Documentation/ABI/testing/sysfs-devices-sun +++ /dev/null @@ -1,14 +0,0 @@ -Whatt: /sys/devices/.../sun -Date: October 2012 -Contact: Yasuaki Ishimatsu -Description: - The file contains a Slot-unique ID which provided by the _SUN - method in the ACPI namespace. The value is written in Advanced - Configuration and Power Interface Specification as follows: - - "The _SUN value is required to be unique among the slots of - the same type. It is also recommended that this number match - the slot number printed on the physical slot whenever possible." - - So reading the sysfs file, we can identify a physical position - of the slot in the system. diff --git a/trunk/Documentation/DocBook/media/Makefile b/trunk/Documentation/DocBook/media/Makefile index f9fd615427fb..9b7e4c557928 100644 --- a/trunk/Documentation/DocBook/media/Makefile +++ b/trunk/Documentation/DocBook/media/Makefile @@ -56,15 +56,15 @@ FUNCS = \ write \ IOCTLS = \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/audio.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/ca.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/dmx.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/frontend.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([A-Z][^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/net.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/video.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/media.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/audio.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/ca.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/dmx.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/frontend.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([A-Z][^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/net.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/video.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/media.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/v4l2-subdev.h) \ VIDIOC_SUBDEV_G_FRAME_INTERVAL \ VIDIOC_SUBDEV_S_FRAME_INTERVAL \ VIDIOC_SUBDEV_ENUM_MBUS_CODE \ @@ -74,32 +74,32 @@ IOCTLS = \ VIDIOC_SUBDEV_S_SELECTION \ TYPES = \ - $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/uapi/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/uapi/linux/dvb/frontend.h) + $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/linux/dvb/frontend.h) ENUMS = \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/audio.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/ca.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/dmx.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/frontend.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/net.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/video.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-mediabus.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h) + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/audio.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/ca.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/dmx.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/frontend.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/net.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/video.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h) STRUCTS = \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s\{]+)\s*/)' $(srctree)/include/uapi/linux/dvb/audio.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/ca.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/dmx.h) \ - $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/frontend.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/net.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/video.h) \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-mediabus.h) + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s\{]+)\s*/)' $(srctree)/include/linux/dvb/audio.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/ca.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/dmx.h) \ + $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/frontend.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/linux/dvb/net.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/video.h) \ + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \ + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h) \ + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h) ERRORS = \ E2BIG \ @@ -205,7 +205,7 @@ $(MEDIA_OBJ_DIR)/v4l2.xml: $(OBJIMGFILES) @(ln -sf $(MEDIA_SRC_DIR)/v4l/*xml $(MEDIA_OBJ_DIR)/) @(ln -sf $(MEDIA_SRC_DIR)/dvb/*xml $(MEDIA_OBJ_DIR)/) -$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/uapi/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -216,7 +216,7 @@ $(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/uapi/linux/videodev2.h $(ME @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/uapi/linux/dvb/audio.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/linux/dvb/audio.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -227,7 +227,7 @@ $(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/uapi/linux/dvb/audio.h $(MEDIA_ @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/uapi/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -238,7 +238,7 @@ $(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/uapi/linux/dvb/ca.h $(MEDIA_OBJ_DI @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/uapi/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -249,7 +249,7 @@ $(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/uapi/linux/dvb/dmx.h $(MEDIA_OBJ_ @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/uapi/linux/dvb/frontend.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/linux/dvb/frontend.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -260,7 +260,7 @@ $(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/uapi/linux/dvb/frontend.h $( @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/uapi/linux/dvb/net.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/linux/dvb/net.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -271,7 +271,7 @@ $(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/uapi/linux/dvb/net.h $(MEDIA_OBJ_ @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/uapi/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ diff --git a/trunk/Documentation/DocBook/networking.tmpl b/trunk/Documentation/DocBook/networking.tmpl index 29df25016c7c..59ad69a9d777 100644 --- a/trunk/Documentation/DocBook/networking.tmpl +++ b/trunk/Documentation/DocBook/networking.tmpl @@ -56,7 +56,7 @@ !Enet/core/filter.c Generic Network Statistics -!Iinclude/uapi/linux/gen_stats.h +!Iinclude/linux/gen_stats.h !Enet/core/gen_stats.c !Enet/core/gen_estimator.c @@ -80,7 +80,7 @@ !Enet/wimax/op-rfkill.c !Enet/wimax/stack.c !Iinclude/net/wimax.h -!Iinclude/uapi/linux/wimax.h +!Iinclude/linux/wimax.h diff --git a/trunk/Documentation/DocBook/uio-howto.tmpl b/trunk/Documentation/DocBook/uio-howto.tmpl index ddb05e98af0d..ac3d0018140c 100644 --- a/trunk/Documentation/DocBook/uio-howto.tmpl +++ b/trunk/Documentation/DocBook/uio-howto.tmpl @@ -719,62 +719,6 @@ framework to set up sysfs files for this region. Simply leave it alone. - -Using uio_dmem_genirq for platform devices - - In addition to statically allocated memory ranges, they may also be - a desire to use dynamically allocated regions in a user space driver. - In particular, being able to access memory made available through the - dma-mapping API, may be particularly useful. The - uio_dmem_genirq driver provides a way to accomplish - this. - - - This driver is used in a similar manner to the - "uio_pdrv_genirq" driver with respect to interrupt - configuration and handling. - - - Set the .name element of - struct platform_device to - "uio_dmem_genirq" to use this driver. - - - When using this driver, fill in the .platform_data - element of struct platform_device, which is of type - struct uio_dmem_genirq_pdata and which contains the - following elements: - - - struct uio_info uioinfo: The same - structure used as the uio_pdrv_genirq platform - data - unsigned int *dynamic_region_sizes: - Pointer to list of sizes of dynamic memory regions to be mapped into - user space. - - unsigned int num_dynamic_regions: - Number of elements in dynamic_region_sizes array. - - - - The dynamic regions defined in the platform data will be appended to - the mem[] array after the platform device - resources, which implies that the total number of static and dynamic - memory regions cannot exceed MAX_UIO_MAPS. - - - The dynamic memory regions will be allocated when the UIO device file, - /dev/uioX is opened. - Simiar to static memory resources, the memory region information for - dynamic regions is then visible via sysfs at - /sys/class/uio/uioX/maps/mapY/*. - The dynmaic memory regions will be freed when the UIO device file is - closed. When no processes are holding the device file open, the address - returned to userspace is ~0. - - - diff --git a/trunk/Documentation/IPMI.txt b/trunk/Documentation/IPMI.txt index 16eb4c9e9233..b2bea15137d2 100644 --- a/trunk/Documentation/IPMI.txt +++ b/trunk/Documentation/IPMI.txt @@ -42,7 +42,13 @@ The driver interface depends on your hardware. If your system properly provides the SMBIOS info for IPMI, the driver will detect it and just work. If you have a board with a standard interface (These will generally be either "KCS", "SMIC", or "BT", consult your hardware -manual), choose the 'IPMI SI handler' option. +manual), choose the 'IPMI SI handler' option. A driver also exists +for direct I2C access to the IPMI management controller. Some boards +support this, but it is unknown if it will work on every board. For +this, choose 'IPMI SMBus handler', but be ready to try to do some +figuring to see if it will work on your system if the SMBIOS/APCI +information is wrong or not present. It is fairly safe to have both +these enabled and let the drivers auto-detect what is present. You should generally enable ACPI on your system, as systems with IPMI can have ACPI tables describing them. @@ -52,7 +58,8 @@ their job correctly, the IPMI controller should be automatically detected (via ACPI or SMBIOS tables) and should just work. Sadly, many boards do not have this information. The driver attempts standard defaults, but they may not work. If you fall into this -situation, you need to read the section below named 'The SI Driver'. +situation, you need to read the section below named 'The SI Driver' or +"The SMBus Driver" on how to hand-configure your system. IPMI defines a standard watchdog timer. You can enable this with the 'IPMI Watchdog Timer' config option. If you compile the driver into @@ -97,7 +104,12 @@ driver, each open file for this device ties in to the message handler as an IPMI user. ipmi_si - A driver for various system interfaces. This supports KCS, -SMIC, and BT interfaces. +SMIC, and BT interfaces. Unless you have an SMBus interface or your +own custom interface, you probably need to use this. + +ipmi_smb - A driver for accessing BMCs on the SMBus. It uses the +I2C kernel driver's SMBus interfaces to send and receive IPMI messages +over the SMBus. ipmi_watchdog - IPMI requires systems to have a very capable watchdog timer. This driver implements the standard Linux watchdog timer @@ -470,6 +482,53 @@ for specifying an interface. Note that when removing an interface, only the first three parameters (si type, address type, and address) are used for the comparison. Any options are ignored for removing. +The SMBus Driver +---------------- + +The SMBus driver allows up to 4 SMBus devices to be configured in the +system. By default, the driver will register any SMBus interfaces it finds +in the I2C address range of 0x20 to 0x4f on any adapter. You can change this +at module load time (for a module) with: + + modprobe ipmi_smb.o + addr=,[,,[,...]] + dbg=,... + [defaultprobe=1] [dbg_probe=1] + +The addresses are specified in pairs, the first is the adapter ID and the +second is the I2C address on that adapter. + +The debug flags are bit flags for each BMC found, they are: +IPMI messages: 1, driver state: 2, timing: 4, I2C probe: 8 + +Setting smb_defaultprobe to zero disabled the default probing of SMBus +interfaces at address range 0x20 to 0x4f. This means that only the +BMCs specified on the smb_addr line will be detected. + +Setting smb_dbg_probe to 1 will enable debugging of the probing and +detection process for BMCs on the SMBusses. + +Discovering the IPMI compliant BMC on the SMBus can cause devices +on the I2C bus to fail. The SMBus driver writes a "Get Device ID" IPMI +message as a block write to the I2C bus and waits for a response. +This action can be detrimental to some I2C devices. It is highly recommended +that the known I2c address be given to the SMBus driver in the smb_addr +parameter. The default address range will not be used when a smb_addr +parameter is provided. + +When compiled into the kernel, the addresses can be specified on the +kernel command line as: + + ipmb_smb.addr=,[,,[,...]] + ipmi_smb.dbg=,... + ipmi_smb.defaultprobe=0 ipmi_smb.dbg_probe=1 + +These are the same options as on the module command line. + +Note that you might need some I2C changes if CONFIG_IPMI_PANIC_EVENT +is enabled along with this, so the I2C driver knows to run to +completion during sending a panic event. + Other Pieces ------------ diff --git a/trunk/Documentation/IRQ-domain.txt b/trunk/Documentation/IRQ-domain.txt index 9bc95942ec22..1401cece745a 100644 --- a/trunk/Documentation/IRQ-domain.txt +++ b/trunk/Documentation/IRQ-domain.txt @@ -7,21 +7,6 @@ systems with multiple interrupt controllers the kernel must ensure that each one gets assigned non-overlapping allocations of Linux IRQ numbers. -The number of interrupt controllers registered as unique irqchips -show a rising tendency: for example subdrivers of different kinds -such as GPIO controllers avoid reimplementing identical callback -mechanisms as the IRQ core system by modelling their interrupt -handlers as irqchips, i.e. in effect cascading interrupt controllers. - -Here the interrupt number loose all kind of correspondence to -hardware interrupt numbers: whereas in the past, IRQ numbers could -be chosen so they matched the hardware IRQ line into the root -interrupt controller (i.e. the component actually fireing the -interrupt line to the CPU) nowadays this number is just a number. - -For this reason we need a mechanism to separate controller-local -interrupt numbers, called hardware irq's, from Linux IRQ numbers. - The irq_alloc_desc*() and irq_free_desc*() APIs provide allocation of irq numbers, but they don't provide any support for reverse mapping of the controller-local IRQ (hwirq) number into the Linux IRQ number @@ -55,10 +40,6 @@ required hardware setup. When an interrupt is received, irq_find_mapping() function should be used to find the Linux IRQ number from the hwirq number. -The irq_create_mapping() function must be called *atleast once* -before any call to irq_find_mapping(), lest the descriptor will not -be allocated. - If the driver has the Linux IRQ number or the irq_data pointer, and needs to know the associated hwirq number (such as in the irq_chip callbacks) then it can be directly obtained from irq_data->hwirq. @@ -138,17 +119,4 @@ numbers. Most users of legacy mappings should use irq_domain_add_simple() which will use a legacy domain only if an IRQ range is supplied by the -system and will otherwise use a linear domain mapping. The semantics -of this call are such that if an IRQ range is specified then -descriptors will be allocated on-the-fly for it, and if no range is -specified it will fall through to irq_domain_add_linear() which meand -*no* irq descriptors will be allocated. - -A typical use case for simple domains is where an irqchip provider -is supporting both dynamic and static IRQ assignments. - -In order to avoid ending up in a situation where a linear domain is -used and no descriptor gets allocated it is very important to make sure -that the driver using the simple domain call irq_create_mapping() -before any irq_find_mapping() since the latter will actually work -for the static IRQ assignment case. +system and will otherwise use a linear domain mapping. diff --git a/trunk/Documentation/acpi/enumeration.txt b/trunk/Documentation/acpi/enumeration.txt deleted file mode 100644 index 4f27785ca0c8..000000000000 --- a/trunk/Documentation/acpi/enumeration.txt +++ /dev/null @@ -1,227 +0,0 @@ -ACPI based device enumeration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -ACPI 5 introduced a set of new resources (UartTSerialBus, I2cSerialBus, -SpiSerialBus, GpioIo and GpioInt) which can be used in enumerating slave -devices behind serial bus controllers. - -In addition we are starting to see peripherals integrated in the -SoC/Chipset to appear only in ACPI namespace. These are typically devices -that are accessed through memory-mapped registers. - -In order to support this and re-use the existing drivers as much as -possible we decided to do following: - - o Devices that have no bus connector resource are represented as - platform devices. - - o Devices behind real busses where there is a connector resource - are represented as struct spi_device or struct i2c_device - (standard UARTs are not busses so there is no struct uart_device). - -As both ACPI and Device Tree represent a tree of devices (and their -resources) this implementation follows the Device Tree way as much as -possible. - -The ACPI implementation enumerates devices behind busses (platform, SPI and -I2C), creates the physical devices and binds them to their ACPI handle in -the ACPI namespace. - -This means that when ACPI_HANDLE(dev) returns non-NULL the device was -enumerated from ACPI namespace. This handle can be used to extract other -device-specific configuration. There is an example of this below. - -Platform bus support -~~~~~~~~~~~~~~~~~~~~ -Since we are using platform devices to represent devices that are not -connected to any physical bus we only need to implement a platform driver -for the device and add supported ACPI IDs. If this same IP-block is used on -some other non-ACPI platform, the driver might work out of the box or needs -some minor changes. - -Adding ACPI support for an existing driver should be pretty -straightforward. Here is the simplest example: - - #ifdef CONFIG_ACPI - static struct acpi_device_id mydrv_acpi_match[] = { - /* ACPI IDs here */ - { } - }; - MODULE_DEVICE_TABLE(acpi, mydrv_acpi_match); - #endif - - static struct platform_driver my_driver = { - ... - .driver = { - .acpi_match_table = ACPI_PTR(mydrv_acpi_match), - }, - }; - -If the driver needs to perform more complex initialization like getting and -configuring GPIOs it can get its ACPI handle and extract this information -from ACPI tables. - -Currently the kernel is not able to automatically determine from which ACPI -device it should make the corresponding platform device so we need to add -the ACPI device explicitly to acpi_platform_device_ids list defined in -drivers/acpi/scan.c. This limitation is only for the platform devices, SPI -and I2C devices are created automatically as described below. - -SPI serial bus support -~~~~~~~~~~~~~~~~~~~~~~ -Slave devices behind SPI bus have SpiSerialBus resource attached to them. -This is extracted automatically by the SPI core and the slave devices are -enumerated once spi_register_master() is called by the bus driver. - -Here is what the ACPI namespace for a SPI slave might look like: - - Device (EEP0) - { - Name (_ADR, 1) - Name (_CID, Package() { - "ATML0025", - "AT25", - }) - ... - Method (_CRS, 0, NotSerialized) - { - SPISerialBus(1, PolarityLow, FourWireMode, 8, - ControllerInitiated, 1000000, ClockPolarityLow, - ClockPhaseFirst, "\\_SB.PCI0.SPI1",) - } - ... - -The SPI device drivers only need to add ACPI IDs in a similar way than with -the platform device drivers. Below is an example where we add ACPI support -to at25 SPI eeprom driver (this is meant for the above ACPI snippet): - - #ifdef CONFIG_ACPI - static struct acpi_device_id at25_acpi_match[] = { - { "AT25", 0 }, - { }, - }; - MODULE_DEVICE_TABLE(acpi, at25_acpi_match); - #endif - - static struct spi_driver at25_driver = { - .driver = { - ... - .acpi_match_table = ACPI_PTR(at25_acpi_match), - }, - }; - -Note that this driver actually needs more information like page size of the -eeprom etc. but at the time writing this there is no standard way of -passing those. One idea is to return this in _DSM method like: - - Device (EEP0) - { - ... - Method (_DSM, 4, NotSerialized) - { - Store (Package (6) - { - "byte-len", 1024, - "addr-mode", 2, - "page-size, 32 - }, Local0) - - // Check UUIDs etc. - - Return (Local0) - } - -Then the at25 SPI driver can get this configation by calling _DSM on its -ACPI handle like: - - struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; - struct acpi_object_list input; - acpi_status status; - - /* Fill in the input buffer */ - - status = acpi_evaluate_object(ACPI_HANDLE(&spi->dev), "_DSM", - &input, &output); - if (ACPI_FAILURE(status)) - /* Handle the error */ - - /* Extract the data here */ - - kfree(output.pointer); - -I2C serial bus support -~~~~~~~~~~~~~~~~~~~~~~ -The slaves behind I2C bus controller only need to add the ACPI IDs like -with the platform and SPI drivers. However the I2C bus controller driver -needs to call acpi_i2c_register_devices() after it has added the adapter. - -An I2C bus (controller) driver does: - - ... - ret = i2c_add_numbered_adapter(adapter); - if (ret) - /* handle error */ - - of_i2c_register_devices(adapter); - /* Enumerate the slave devices behind this bus via ACPI */ - acpi_i2c_register_devices(adapter); - -Below is an example of how to add ACPI support to the existing mpu3050 -input driver: - - #ifdef CONFIG_ACPI - static struct acpi_device_id mpu3050_acpi_match[] = { - { "MPU3050", 0 }, - { }, - }; - MODULE_DEVICE_TABLE(acpi, mpu3050_acpi_match); - #endif - - static struct i2c_driver mpu3050_i2c_driver = { - .driver = { - .name = "mpu3050", - .owner = THIS_MODULE, - .pm = &mpu3050_pm, - .of_match_table = mpu3050_of_match, - .acpi_match_table ACPI_PTR(mpu3050_acpi_match), - }, - .probe = mpu3050_probe, - .remove = __devexit_p(mpu3050_remove), - .id_table = mpu3050_ids, - }; - -GPIO support -~~~~~~~~~~~~ -ACPI 5 introduced two new resources to describe GPIO connections: GpioIo -and GpioInt. These resources are used be used to pass GPIO numbers used by -the device to the driver. For example: - - Method (_CRS, 0, NotSerialized) - { - Name (SBUF, ResourceTemplate() - { - GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, - IoRestrictionOutputOnly, "\\_SB.PCI0.GPI0", - 0x00, ResourceConsumer,,) - { - // Pin List - 0x0055 - } - ... - - Return (SBUF) - } - } - -These GPIO numbers are controller relative and path "\\_SB.PCI0.GPI0" -specifies the path to the controller. In order to use these GPIOs in Linux -we need to translate them to the Linux GPIO numbers. - -The driver can do this by including and then calling -acpi_get_gpio(path, gpio). This will return the Linux GPIO number or -negative errno if there was no translation found. - -Other GpioIo parameters must be converted first by the driver to be -suitable to the gpiolib before passing them. - -In case of GpioInt resource an additional call to gpio_to_irq() must be -done before calling request_irq(). diff --git a/trunk/Documentation/arm64/memory.txt b/trunk/Documentation/arm64/memory.txt index 4110cca96bd6..dbbdcbba75a3 100644 --- a/trunk/Documentation/arm64/memory.txt +++ b/trunk/Documentation/arm64/memory.txt @@ -27,17 +27,17 @@ Start End Size Use ----------------------------------------------------------------------- 0000000000000000 0000007fffffffff 512GB user -ffffff8000000000 ffffffbbfffeffff ~240GB vmalloc +ffffff8000000000 ffffffbbfffcffff ~240GB vmalloc -ffffffbbffff0000 ffffffbbffffffff 64KB [guard page] +ffffffbbfffd0000 ffffffbcfffdffff 64KB [guard page] -ffffffbc00000000 ffffffbdffffffff 8GB vmemmap +ffffffbbfffe0000 ffffffbcfffeffff 64KB PCI I/O space -ffffffbe00000000 ffffffbffbbfffff ~8GB [guard, future vmmemap] +ffffffbbffff0000 ffffffbcffffffff 64KB [guard page] -ffffffbffbe00000 ffffffbffbe0ffff 64KB PCI I/O space +ffffffbc00000000 ffffffbdffffffff 8GB vmemmap -ffffffbbffff0000 ffffffbcffffffff ~2MB [guard] +ffffffbe00000000 ffffffbffbffffff ~8GB [guard, future vmmemap] ffffffbffc000000 ffffffbfffffffff 64MB modules diff --git a/trunk/Documentation/cgroups/memory.txt b/trunk/Documentation/cgroups/memory.txt index 71c4da413444..c07f7b4fb88d 100644 --- a/trunk/Documentation/cgroups/memory.txt +++ b/trunk/Documentation/cgroups/memory.txt @@ -466,10 +466,6 @@ Note: 5.3 swappiness Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. -Please note that unlike the global swappiness, memcg knob set to 0 -really prevents from any swapping even if there is a swap storage -available. This might lead to memcg OOM killer if there are no file -pages to reclaim. Following cgroups' swappiness can't be changed. - root cgroup (uses /proc/sys/vm/swappiness). diff --git a/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt b/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt index 1196290082d1..ecc81e368715 100644 --- a/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt +++ b/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt @@ -7,14 +7,8 @@ PIT Timer required properties: - interrupts: Should contain interrupt for the PIT which is the IRQ line shared across all System Controller members. -System Timer (ST) required properties: -- compatible: Should be "atmel,at91rm9200-st" -- reg: Should contain registers location and length -- interrupts: Should contain interrupt for the ST which is the IRQ line - shared across all System Controller members. - TC/TCLIB Timer required properties: -- compatible: Should be "atmel,-tcb". +- compatible: Should be "atmel,-pit". can be "at91rm9200" or "at91sam9x5" - reg: Should contain registers location and length - interrupts: Should contain all interrupts for the TC block diff --git a/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt b/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt index 49fc7ada929a..e37241f1fdd8 100644 --- a/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt +++ b/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt @@ -23,16 +23,29 @@ Recommended properties : - ti,davinci-nand-buswidth: buswidth 8 or 16 - ti,davinci-nand-use-bbt: use flash based bad block table support. -Example(da850 EVM ): -nand_cs3@62000000 { - compatible = "ti,davinci-nand"; - reg = <0x62000000 0x807ff - 0x68000000 0x8000>; - 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; +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/arm/l2cc.txt b/trunk/Documentation/devicetree/bindings/arm/l2cc.txt index 7c3ee3aeb7b7..7ca52161e7ab 100644 --- a/trunk/Documentation/devicetree/bindings/arm/l2cc.txt +++ b/trunk/Documentation/devicetree/bindings/arm/l2cc.txt @@ -37,7 +37,7 @@ L2: cache-controller { reg = <0xfff12000 0x1000>; arm,data-latency = <1 1 1>; arm,tag-latency = <2 2 2>; - arm,filter-ranges = <0x80000000 0x8000000>; + arm,filter-latency = <0x80000000 0x8000000>; cache-unified; cache-level = <2>; interrupts = <45>; diff --git a/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt b/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt index baadbb11fe98..a0b867ef8d96 100644 --- a/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt +++ b/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt @@ -52,7 +52,7 @@ clocks and IDs. lcdif 38 etm 39 usb 40 - usb_phy 41 + usb_pwr 41 Examples: diff --git a/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt b/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt index 52a49a4a50b3..aa2af2866fe8 100644 --- a/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt +++ b/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt @@ -73,8 +73,8 @@ clocks and IDs. can1 59 usb0 60 usb1 61 - usb0_phy 62 - usb1_phy 63 + usb0_pwr 62 + usb1_pwr 63 enet_out 64 Examples: diff --git a/trunk/Documentation/devicetree/bindings/cpufreq/cpufreq-spear.txt b/trunk/Documentation/devicetree/bindings/cpufreq/cpufreq-spear.txt deleted file mode 100644 index f3d44984d91c..000000000000 --- a/trunk/Documentation/devicetree/bindings/cpufreq/cpufreq-spear.txt +++ /dev/null @@ -1,42 +0,0 @@ -SPEAr cpufreq driver -------------------- - -SPEAr SoC cpufreq driver for CPU frequency scaling. -It supports both uniprocessor (UP) and symmetric multiprocessor (SMP) systems -which share clock across all CPUs. - -Required properties: -- cpufreq_tbl: Table of frequencies CPU could be transitioned into, in the - increasing order. - -Optional properties: -- clock-latency: Specify the possible maximum transition latency for clock, in - unit of nanoseconds. - -Both required and optional properties listed above must be defined under node -/cpus/cpu@0. - -Examples: --------- -cpus { - - <...> - - cpu@0 { - compatible = "arm,cortex-a9"; - reg = <0>; - - <...> - - cpufreq_tbl = < 166000 - 200000 - 250000 - 300000 - 400000 - 500000 - 600000 >; - }; - - <...> - -}; diff --git a/trunk/Documentation/devicetree/bindings/gpio/gpio-stmpe.txt b/trunk/Documentation/devicetree/bindings/gpio/gpio-stmpe.txt deleted file mode 100644 index a0e4cf885213..000000000000 --- a/trunk/Documentation/devicetree/bindings/gpio/gpio-stmpe.txt +++ /dev/null @@ -1,18 +0,0 @@ -STMPE gpio ----------- - -Required properties: - - compatible: "st,stmpe-gpio" - -Optional properties: - - st,norequest-mask: bitmask specifying which GPIOs should _not_ be requestable - due to different usage (e.g. touch, keypad) - -Node name must be stmpe_gpio and should be child node of stmpe node to which it -belongs. - -Example: - stmpe_gpio { - compatible = "st,stmpe-gpio"; - st,norequest-mask = <0x20>; //gpio 5 can't be used - }; diff --git a/trunk/Documentation/devicetree/bindings/gpio/gpio.txt b/trunk/Documentation/devicetree/bindings/gpio/gpio.txt index a33628759d36..4e16ba4feab0 100644 --- a/trunk/Documentation/devicetree/bindings/gpio/gpio.txt +++ b/trunk/Documentation/devicetree/bindings/gpio/gpio.txt @@ -75,40 +75,4 @@ Example of two SOC GPIO banks defined as gpio-controller nodes: gpio-controller; }; -2.1) gpio-controller and pinctrl subsystem ------------------------------------------- -gpio-controller on a SOC might be tightly coupled with the pinctrl -subsystem, in the sense that the pins can be used by other functions -together with optional gpio feature. - -While the pin allocation is totally managed by the pin ctrl subsystem, -gpio (under gpiolib) is still maintained by gpio drivers. It may happen -that different pin ranges in a SoC is managed by different gpio drivers. - -This makes it logical to let gpio drivers announce their pin ranges to -the pin ctrl subsystem and call 'pinctrl_request_gpio' in order to -request the corresponding pin before any gpio usage. - -For this, the gpio controller can use a pinctrl phandle and pins to -announce the pinrange to the pin ctrl subsystem. For example, - - qe_pio_e: gpio-controller@1460 { - #gpio-cells = <2>; - compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank"; - reg = <0x1460 0x18>; - gpio-controller; - gpio-ranges = <&pinctrl1 20 10>, <&pinctrl2 50 20>; - - } - -where, - &pinctrl1 and &pinctrl2 is the phandle to the pinctrl DT node. - - Next values specify the base pin and number of pins for the range - handled by 'qe_pio_e' gpio. In the given example from base pin 20 to - pin 29 under pinctrl1 and pin 50 to pin 69 under pinctrl2 is handled - by this gpio controller. - -The pinctrl node must have "#gpio-range-cells" property to show number of -arguments to pass with phandle from gpio controllers node. diff --git a/trunk/Documentation/devicetree/bindings/gpio/gpio_atmel.txt b/trunk/Documentation/devicetree/bindings/gpio/gpio_atmel.txt index 85f8c0d084fa..66efc804806a 100644 --- a/trunk/Documentation/devicetree/bindings/gpio/gpio_atmel.txt +++ b/trunk/Documentation/devicetree/bindings/gpio/gpio_atmel.txt @@ -9,10 +9,6 @@ Required properties: unused). - gpio-controller: Marks the device node as a GPIO controller. -optional properties: -- #gpio-lines: Number of gpio if absent 32. - - Example: pioA: gpio@fffff200 { compatible = "atmel,at91rm9200-gpio"; @@ -20,6 +16,5 @@ Example: interrupts = <2 4>; #gpio-cells = <2>; gpio-controller; - #gpio-lines = <19>; }; diff --git a/trunk/Documentation/devicetree/bindings/leds/leds-gpio.txt b/trunk/Documentation/devicetree/bindings/gpio/led.txt similarity index 68% rename from trunk/Documentation/devicetree/bindings/leds/leds-gpio.txt rename to trunk/Documentation/devicetree/bindings/gpio/led.txt index df1b3080f6b8..edc83c1c0d54 100644 --- a/trunk/Documentation/devicetree/bindings/leds/leds-gpio.txt +++ b/trunk/Documentation/devicetree/bindings/gpio/led.txt @@ -10,10 +10,16 @@ LED sub-node properties: - gpios : Should specify the LED's GPIO, see "gpios property" in Documentation/devicetree/bindings/gpio/gpio.txt. Active low LEDs should be indicated using flags in the GPIO specifier. -- label : (optional) - see Documentation/devicetree/bindings/leds/common.txt -- linux,default-trigger : (optional) - see Documentation/devicetree/bindings/leds/common.txt +- label : (optional) The label for this LED. If omitted, the label is + taken from the node name (excluding the unit address). +- linux,default-trigger : (optional) This parameter, if present, is a + string defining the trigger assigned to the LED. Current triggers are: + "backlight" - LED will act as a back-light, controlled by the framebuffer + system + "default-on" - LED will turn on, but see "default-state" below + "heartbeat" - LED "double" flashes at a load average based rate + "ide-disk" - LED indicates disk activity + "timer" - LED flashes at a fixed, configurable rate - default-state: (optional) The initial state of the LED. Valid values are "on", "off", and "keep". If the LED is already on or off and the default-state property is set the to same value, then no diff --git a/trunk/Documentation/devicetree/bindings/gpio/spear_spics.txt b/trunk/Documentation/devicetree/bindings/gpio/spear_spics.txt deleted file mode 100644 index 96c37eb15075..000000000000 --- a/trunk/Documentation/devicetree/bindings/gpio/spear_spics.txt +++ /dev/null @@ -1,50 +0,0 @@ -=== ST Microelectronics SPEAr SPI CS Driver === - -SPEAr platform provides a provision to control chipselects of ARM PL022 Prime -Cell spi controller through its system registers, which otherwise remains under -PL022 control. If chipselect remain under PL022 control then they would be -released as soon as transfer is over and TxFIFO becomes empty. This is not -desired by some of the device protocols above spi which expect (multiple) -transfers without releasing their chipselects. - -Chipselects can be controlled by software by turning them as GPIOs. SPEAr -provides another interface through system registers through which software can -directly control each PL022 chipselect. Hence, it is natural for SPEAr to export -the control of this interface as gpio. - -Required properties: - - * compatible: should be defined as "st,spear-spics-gpio" - * reg: mentioning address range of spics controller - * st-spics,peripcfg-reg: peripheral configuration register offset - * st-spics,sw-enable-bit: bit offset to enable sw control - * st-spics,cs-value-bit: bit offset to drive chipselect low or high - * st-spics,cs-enable-mask: chip select number bit mask - * st-spics,cs-enable-shift: chip select number program offset - * gpio-controller: Marks the device node as gpio controller - * #gpio-cells: should be 1 and will mention chip select number - -All the above bit offsets are within peripcfg register. - -Example: -------- -spics: spics@e0700000{ - compatible = "st,spear-spics-gpio"; - reg = <0xe0700000 0x1000>; - st-spics,peripcfg-reg = <0x3b0>; - st-spics,sw-enable-bit = <12>; - st-spics,cs-value-bit = <11>; - st-spics,cs-enable-mask = <3>; - st-spics,cs-enable-shift = <8>; - gpio-controller; - #gpio-cells = <2>; -}; - - -spi0: spi@e0100000 { - status = "okay"; - num-cs = <3>; - cs-gpios = <&gpio1 7 0>, <&spics 0>, - <&spics 1>; - ... -} diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-versatile.txt b/trunk/Documentation/devicetree/bindings/i2c/arm-versatile.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-versatile.txt rename to trunk/Documentation/devicetree/bindings/i2c/arm-versatile.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-at91.txt b/trunk/Documentation/devicetree/bindings/i2c/atmel-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-at91.txt rename to trunk/Documentation/devicetree/bindings/i2c/atmel-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-octeon.txt b/trunk/Documentation/devicetree/bindings/i2c/cavium-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-octeon.txt rename to trunk/Documentation/devicetree/bindings/i2c/cavium-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-pxa-pci-ce4100.txt b/trunk/Documentation/devicetree/bindings/i2c/ce4100-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-pxa-pci-ce4100.txt rename to trunk/Documentation/devicetree/bindings/i2c/ce4100-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-davinci.txt b/trunk/Documentation/devicetree/bindings/i2c/davinci.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-davinci.txt rename to trunk/Documentation/devicetree/bindings/i2c/davinci.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-mpc.txt b/trunk/Documentation/devicetree/bindings/i2c/fsl-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-mpc.txt rename to trunk/Documentation/devicetree/bindings/i2c/fsl-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-imx.txt b/trunk/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-imx.txt rename to trunk/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-gpio.txt b/trunk/Documentation/devicetree/bindings/i2c/gpio-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-gpio.txt rename to trunk/Documentation/devicetree/bindings/i2c/gpio-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/trunk/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt deleted file mode 100644 index f46d928aa73d..000000000000 --- a/trunk/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt +++ /dev/null @@ -1,18 +0,0 @@ - -* Marvell MV64XXX I2C controller - -Required properties : - - - reg : Offset and length of the register set for the device - - compatible : Should be "marvell,mv64xxx-i2c" - - interrupts : The interrupt number - - clock-frequency : Desired I2C bus clock frequency in Hz. - -Examples: - - i2c@11000 { - compatible = "marvell,mv64xxx-i2c"; - reg = <0x11000 0x20>; - interrupts = <29>; - clock-frequency = <100000>; - }; diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-pxa.txt b/trunk/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt similarity index 70% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-pxa.txt rename to trunk/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt index 12b78ac507e9..0f7945019f6f 100644 --- a/trunk/Documentation/devicetree/bindings/i2c/i2c-pxa.txt +++ b/trunk/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt @@ -31,3 +31,21 @@ Examples: reg = <0xd4025000 0x1000>; interrupts = <58>; }; + +* Marvell MV64XXX I2C controller + +Required properties : + + - reg : Offset and length of the register set for the device + - compatible : Should be "marvell,mv64xxx-i2c" + - interrupts : The interrupt number + - clock-frequency : Desired I2C bus clock frequency in Hz. + +Examples: + + i2c@11000 { + compatible = "marvell,mv64xxx-i2c"; + reg = <0x11000 0x20>; + interrupts = <29>; + clock-frequency = <100000>; + }; diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-mux.txt b/trunk/Documentation/devicetree/bindings/i2c/mux.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-mux.txt rename to trunk/Documentation/devicetree/bindings/i2c/mux.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-nomadik.txt b/trunk/Documentation/devicetree/bindings/i2c/nomadik.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-nomadik.txt rename to trunk/Documentation/devicetree/bindings/i2c/nomadik.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-omap.txt b/trunk/Documentation/devicetree/bindings/i2c/omap-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-omap.txt rename to trunk/Documentation/devicetree/bindings/i2c/omap-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-pnx.txt b/trunk/Documentation/devicetree/bindings/i2c/pnx.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-pnx.txt rename to trunk/Documentation/devicetree/bindings/i2c/pnx.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt b/trunk/Documentation/devicetree/bindings/i2c/samsung-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt rename to trunk/Documentation/devicetree/bindings/i2c/samsung-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-sirf.txt b/trunk/Documentation/devicetree/bindings/i2c/sirf-i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-sirf.txt rename to trunk/Documentation/devicetree/bindings/i2c/sirf-i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/i2c-xiic.txt b/trunk/Documentation/devicetree/bindings/i2c/xiic.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/i2c-xiic.txt rename to trunk/Documentation/devicetree/bindings/i2c/xiic.txt diff --git a/trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt b/trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt deleted file mode 100644 index df70318a617f..000000000000 --- a/trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt +++ /dev/null @@ -1,19 +0,0 @@ -* EETI eGalax Multiple Touch Controller - -Required properties: -- compatible: must be "eeti,egalax_ts" -- reg: i2c slave address -- interrupt-parent: the phandle for the interrupt controller -- interrupts: touch controller interrupt -- wakeup-gpios: the gpio pin to be used for waking up the controller - as well as uased as irq pin - -Example: - - egalax_ts@04 { - compatible = "eeti,egalax_ts"; - reg = <0x04>; - interrupt-parent = <&gpio1>; - interrupts = <9 2>; - wakeup-gpios = <&gpio1 9 0>; - }; diff --git a/trunk/Documentation/devicetree/bindings/leds/common.txt b/trunk/Documentation/devicetree/bindings/leds/common.txt deleted file mode 100644 index 2d88816dd550..000000000000 --- a/trunk/Documentation/devicetree/bindings/leds/common.txt +++ /dev/null @@ -1,23 +0,0 @@ -Common leds properties. - -Optional properties for child nodes: -- label : The label for this LED. If omitted, the label is - taken from the node name (excluding the unit address). - -- linux,default-trigger : This parameter, if present, is a - string defining the trigger assigned to the LED. Current triggers are: - "backlight" - LED will act as a back-light, controlled by the framebuffer - system - "default-on" - LED will turn on (but for leds-gpio see "default-state" - property in Documentation/devicetree/bindings/gpio/led.txt) - "heartbeat" - LED "double" flashes at a load average based rate - "ide-disk" - LED indicates disk activity - "timer" - LED flashes at a fixed, configurable rate - -Examples: - -system-status { - label = "Status"; - linux,default-trigger = "heartbeat"; - ... -}; diff --git a/trunk/Documentation/devicetree/bindings/mmc/mmc.txt b/trunk/Documentation/devicetree/bindings/mmc/mmc.txt index a591c6741d75..8e2e0ba2f486 100644 --- a/trunk/Documentation/devicetree/bindings/mmc/mmc.txt +++ b/trunk/Documentation/devicetree/bindings/mmc/mmc.txt @@ -21,12 +21,6 @@ Optional properties: - cd-inverted: when present, polarity on the cd gpio line is inverted - wp-inverted: when present, polarity on the wp gpio line is inverted - max-frequency: maximum operating clock frequency -- no-1-8-v: when present, denotes that 1.8v card voltage is not supported on - this system, even if the controller claims it is. - -Optional SDIO properties: -- keep-power-in-suspend: Preserves card power during a suspend/resume cycle -- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion Example: @@ -39,6 +33,4 @@ sdhci@ab000000 { cd-inverted; wp-gpios = <&gpio 70 0>; max-frequency = <50000000>; - keep-power-in-suspend; - enable-sdio-wakeup; } diff --git a/trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt b/trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt index 97e9e315400d..630a7d7f4718 100644 --- a/trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt +++ b/trunk/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt @@ -12,6 +12,10 @@ 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 @@ -20,18 +24,14 @@ Required SoC Specific Properties: controller. Required Board Specific Properties: -- Samsung GPIO variant (will be completely replaced by pinctrl): - - gpios: Should specify the gpios used for clock, command and data lines. The - gpio specifier format depends on the gpio controller. -- Pinctrl variant (preferred if available): - - pinctrl-0: Should specify pin control groups used for this controller. - - pinctrl-names: Should contain only one value - "default". +- 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. Only for Samsung GPIO variant. + used. Example: sdhci@12530000 { @@ -40,18 +40,12 @@ Example: interrupts = <0 75 0>; bus-width = <4>; cd-gpios = <&gpk2 2 2 3 3>; - - /* Samsung GPIO variant */ 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 */ - - /* Pinctrl variant */ - pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>; - pinctrl-names = "default"; }; Note: This example shows both SoC specific and board specific properties diff --git a/trunk/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt b/trunk/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt rename to trunk/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt diff --git a/trunk/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt b/trunk/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt index ed271fc255b2..be76a23b34c4 100644 --- a/trunk/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt +++ b/trunk/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt @@ -19,7 +19,6 @@ ti,dual-volt: boolean, supports dual voltage cards "supply-name" examples are "vmmc", "vmmc_aux" etc ti,non-removable: non-removable slot (like eMMC) ti,needs-special-reset: Requires a special softreset sequence -ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed Example: mmc1: mmc@0x4809c000 { diff --git a/trunk/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt b/trunk/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt deleted file mode 100644 index d7fb6abb3eb8..000000000000 --- a/trunk/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt +++ /dev/null @@ -1,23 +0,0 @@ -* Wondermedia WM8505/WM8650 SD/MMC Host Controller - -This file documents differences between the core properties described -by mmc.txt and the properties used by the wmt-sdmmc driver. - -Required properties: -- compatible: Should be "wm,wm8505-sdhc". -- interrupts: Two interrupts are required - regular irq and dma irq. - -Optional properties: -- sdon-inverted: SD_ON bit is inverted on the controller - -Examples: - -sdhc@d800a000 { - compatible = "wm,wm8505-sdhc"; - reg = <0xd800a000 0x1000>; - interrupts = <20 21>; - clocks = <&sdhc>; - bus-width = <4>; - sdon-inverted; -}; - diff --git a/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt b/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt index c79bab025369..bc9549529014 100644 --- a/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt +++ b/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt @@ -8,16 +8,9 @@ gpios property as described in section VIII.1 in the following order: MDC, MDIO. -Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases" -node. - Example: -aliases { - mdio-gpio0 = <&mdio0>; -}; - -mdio0: mdio { +mdio { compatible = "virtual,mdio-gpio"; #address-cells = <1>; #size-cells = <0>; diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt b/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt deleted file mode 100644 index 3a268127b054..000000000000 --- a/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt +++ /dev/null @@ -1,141 +0,0 @@ -* Atmel AT91 Pinmux Controller - -The AT91 Pinmux Controler, enables the IC -to share one PAD to several functional blocks. The sharing is done by -multiplexing the PAD input/output signals. For each PAD there are up to -8 muxing options (called periph modes). Since different modules require -different PAD settings (like pull up, keeper, etc) the contoller controls -also the PAD settings parameters. - -Please refer to pinctrl-bindings.txt in this directory for details of the -common pinctrl bindings used by client devices, including the meaning of the -phrase "pin configuration node". - -Atmel AT91 pin configuration node is a node of a group of pins which can be -used for a specific device or function. This node represents both mux and config -of the pins in that group. The 'pins' selects the function mode(also named pin -mode) this pin can work on and the 'config' configures various pad settings -such as pull-up, multi drive, etc. - -Required properties for iomux controller: -- compatible: "atmel,at91rm9200-pinctrl" -- atmel,mux-mask: array of mask (periph per bank) to describe if a pin can be - configured in this periph mode. All the periph and bank need to be describe. - -How to create such array: - -Each column will represent the possible peripheral of the pinctrl -Each line will represent a pio bank - -Take an example on the 9260 -Peripheral: 2 ( A and B) -Bank: 3 (A, B and C) -=> - - /* A B */ - 0xffffffff 0xffc00c3b /* pioA */ - 0xffffffff 0x7fff3ccf /* pioB */ - 0xffffffff 0x007fffff /* pioC */ - -For each peripheral/bank we will descibe in a u32 if a pin can can be -configured in it by putting 1 to the pin bit (1 << pin) - -Let's take the pioA on peripheral B -From the datasheet Table 10-2. -Peripheral B -PA0 MCDB0 -PA1 MCCDB -PA2 -PA3 MCDB3 -PA4 MCDB2 -PA5 MCDB1 -PA6 -PA7 -PA8 -PA9 -PA10 ETX2 -PA11 ETX3 -PA12 -PA13 -PA14 -PA15 -PA16 -PA17 -PA18 -PA19 -PA20 -PA21 -PA22 ETXER -PA23 ETX2 -PA24 ETX3 -PA25 ERX2 -PA26 ERX3 -PA27 ERXCK -PA28 ECRS -PA29 ECOL -PA30 RXD4 -PA31 TXD4 - -=> 0xffc00c3b - -Required properties for pin configuration node: -- atmel,pins: 4 integers array, represents a group of pins mux and config - setting. The format is atmel,pins = . - The PERIPH 0 means gpio. - -Bits used for CONFIG: -PULL_UP (1 << 0): indicate this pin need a pull up. -MULTIDRIVE (1 << 1): indicate this pin need to be configured as multidrive. -DEGLITCH (1 << 2): indicate this pin need deglitch. -PULL_DOWN (1 << 3): indicate this pin need a pull down. -DIS_SCHMIT (1 << 4): indicate this pin need to disable schmit trigger. -DEBOUNCE (1 << 16): indicate this pin need debounce. -DEBOUNCE_VAL (0x3fff << 17): debounce val. - -NOTE: -Some requirements for using atmel,at91rm9200-pinctrl binding: -1. We have pin function node defined under at91 controller node to represent - what pinmux functions this SoC supports. -2. The driver can use the function node's name and pin configuration node's - name describe the pin function and group hierarchy. - For example, Linux at91 pinctrl driver takes the function node's name - as the function name and pin configuration node's name as group name to - create the map table. -3. Each pin configuration node should have a phandle, devices can set pins - configurations by referring to the phandle of that pin configuration node. -4. The gpio controller must be describe in the pinctrl simple-bus. - -Examples: - -pinctrl@fffff400 { - #address-cells = <1>; - #size-cells = <1>; - ranges; - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; - reg = <0xfffff400 0x600>; - - atmel,mux-mask = < - /* A B */ - 0xffffffff 0xffc00c3b /* pioA */ - 0xffffffff 0x7fff3ccf /* pioB */ - 0xffffffff 0x007fffff /* pioC */ - >; - - /* shared pinctrl settings */ - dbgu { - pinctrl_dbgu: dbgu-0 { - atmel,pins = - <1 14 0x1 0x0 /* PB14 periph A */ - 1 15 0x1 0x1>; /* PB15 periph with pullup */ - }; - }; -}; - -dbgu: serial@fffff200 { - compatible = "atmel,at91sam9260-usart"; - reg = <0xfffff200 0x200>; - interrupts = <1 4 7>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_dbgu>; - status = "disabled"; -}; diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt index 683fde93c4fb..c8e578263ce2 100644 --- a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt +++ b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt @@ -93,7 +93,7 @@ Valid values for pin and group names are: With some exceptions, these support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode, nvidia,pull-down-strength, - nvidia,pull-up-strength, nvidia,slew-rate-rising, nvidia,slew-rate-falling. + nvidia,pull-up-strength, nvidia,slew_rate-rising, nvidia,slew_rate-falling. drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, drive_cdev2, drive_csus, drive_dap1, drive_dap2, drive_dap3, drive_dap4, drive_dbg, diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt index 6f426ed7009e..c275b70349c1 100644 --- a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt +++ b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt @@ -83,7 +83,7 @@ Valid values for pin and group names are: drive groups: These all support nvidia,pull-down-strength, nvidia,pull-up-strength, - nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all + nvidia,slew_rate-rising, nvidia,slew_rate-falling. Most but not all support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode. ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, cec, crt, csus, dap1, diff --git a/trunk/Documentation/devicetree/bindings/rtc/orion-rtc.txt b/trunk/Documentation/devicetree/bindings/rtc/orion-rtc.txt deleted file mode 100644 index 3bf63ffa5160..000000000000 --- a/trunk/Documentation/devicetree/bindings/rtc/orion-rtc.txt +++ /dev/null @@ -1,18 +0,0 @@ -* Mvebu Real Time Clock - -RTC controller for the Kirkwood, the Dove, the Armada 370 and the -Armada XP SoCs - -Required properties: -- compatible : Should be "marvell,orion-rtc" -- reg: physical base address of the controller and length of memory mapped - region. -- interrupts: IRQ line for the RTC. - -Example: - -rtc@10300 { - compatible = "marvell,orion-rtc"; - reg = <0xd0010300 0x20>; - interrupts = <50>; -}; diff --git a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt index 770a0193ca1b..9de2b9ff9d6e 100644 --- a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -5,7 +5,6 @@ using them to avoid name-space collisions. ad Avionic Design GmbH adi Analog Devices, Inc. -ak Asahi Kasei Corp. amcc Applied Micro Circuits Corporation (APM, formally AMCC) apm Applied Micro Circuits Corporation (APM) arm ARM Ltd. @@ -26,7 +25,6 @@ gef GE Fanuc Intelligent Platforms Embedded Systems, Inc. hp Hewlett Packard ibm International Business Machines (IBM) idt Integrated Device Technologies, Inc. -img Imagination Technologies Ltd. intercontrol Inter Control Group linux Linux-specific binding marvell Marvell Technology Group Ltd. @@ -36,9 +34,8 @@ national National Semiconductor nintendo Nintendo nvidia NVIDIA nxp NXP Semiconductors -onnn ON Semiconductor Corp. picochip Picochip Ltd -powervr PowerVR (deprecated, use img) +powervr Imagination Technologies qcom Qualcomm, Inc. ramtron Ramtron International realtek Realtek Semiconductor Corp. @@ -48,7 +45,6 @@ schindler Schindler sil Silicon Image simtek sirf SiRF Technology, Inc. -snps Synopsys, Inc. st STMicroelectronics stericsson ST-Ericsson ti Texas Instruments diff --git a/trunk/Documentation/devicetree/usage-model.txt b/trunk/Documentation/devicetree/usage-model.txt index ef9d06c9f8fd..dca90fe22a90 100644 --- a/trunk/Documentation/devicetree/usage-model.txt +++ b/trunk/Documentation/devicetree/usage-model.txt @@ -347,7 +347,7 @@ later), which will happily live at the base of the Linux /sys/devices tree. Therefore, if a DT node is at the root of the tree, then it really probably is best registered as a platform_device. -Linux board support code calls of_platform_populate(NULL, NULL, NULL, NULL) +Linux board support code calls of_platform_populate(NULL, NULL, NULL) to kick off discovery of devices at the root of the tree. The parameters are all NULL because when starting from the root of the tree, there is no need to provide a starting node (the first NULL), a diff --git a/trunk/Documentation/filesystems/proc.txt b/trunk/Documentation/filesystems/proc.txt index 3844d21d6ca3..a1793d670cd0 100644 --- a/trunk/Documentation/filesystems/proc.txt +++ b/trunk/Documentation/filesystems/proc.txt @@ -33,7 +33,7 @@ Table of Contents 2 Modifying System Parameters 3 Per-Process Parameters - 3.1 /proc//oom_adj & /proc//oom_score_adj - Adjust the oom-killer + 3.1 /proc//oom_score_adj - Adjust the oom-killer score 3.2 /proc//oom_score - Display current oom-killer score 3.3 /proc//io - Display the IO accounting fields @@ -1320,10 +1320,10 @@ of the kernel. CHAPTER 3: PER-PROCESS PARAMETERS ------------------------------------------------------------------------------ -3.1 /proc//oom_adj & /proc//oom_score_adj- Adjust the oom-killer score +3.1 /proc//oom_score_adj- Adjust the oom-killer score -------------------------------------------------------------------------------- -These file can be used to adjust the badness heuristic used to select which +This file can be used to adjust the badness heuristic used to select which process gets killed in out of memory conditions. The badness heuristic assigns a value to each candidate task ranging from 0 @@ -1361,12 +1361,6 @@ same system, cpuset, mempolicy, or memory controller resources to use at least equivalent to discounting 50% of the task's allowed memory from being considered as scoring against the task. -For backwards compatibility with previous kernels, /proc//oom_adj may also -be used to tune the badness score. Its acceptable values range from -16 -(OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17 -(OOM_DISABLE) to disable oom killing entirely for that task. Its value is -scaled linearly with /proc//oom_score_adj. - The value of /proc//oom_score_adj may be reduced no lower than the last value set by a CAP_SYS_RESOURCE process. To reduce the value any lower requires CAP_SYS_RESOURCE. @@ -1381,9 +1375,7 @@ minimal amount of work. ------------------------------------------------------------- This file can be used to check the current score used by the oom-killer is for -any given . Use it together with /proc//oom_score_adj to tune which -process should be killed in an out-of-memory situation. - +any given . 3.3 /proc//io - Display the IO accounting fields ------------------------------------------------------- diff --git a/trunk/Documentation/firmware_class/README b/trunk/Documentation/firmware_class/README index 43fada989e65..7eceaff63f5f 100644 --- a/trunk/Documentation/firmware_class/README +++ b/trunk/Documentation/firmware_class/README @@ -18,45 +18,32 @@ High level behavior (mixed): ============================ - 1), kernel(driver): - - calls request_firmware(&fw_entry, $FIRMWARE, device) - - kernel searchs the fimware image with name $FIRMWARE directly - in the below search path of root filesystem: - User customized search path by module parameter 'path'[1] - "/lib/firmware/updates/" UTS_RELEASE, - "/lib/firmware/updates", - "/lib/firmware/" UTS_RELEASE, - "/lib/firmware" - - If found, goto 7), else goto 2) - - [1], the 'path' is a string parameter which length should be less - than 256, user should pass 'firmware_class.path=$CUSTOMIZED_PATH' - if firmware_class is built in kernel(the general situation) - - 2), userspace: + kernel(driver): calls request_firmware(&fw_entry, $FIRMWARE, device) + + userspace: - /sys/class/firmware/xxx/{loading,data} appear. - hotplug gets called with a firmware identifier in $FIRMWARE and the usual hotplug environment. - hotplug: echo 1 > /sys/class/firmware/xxx/loading - 3), kernel: Discard any previous partial load. + kernel: Discard any previous partial load. - 4), userspace: + userspace: - hotplug: cat appropriate_firmware_image > \ /sys/class/firmware/xxx/data - 5), kernel: grows a buffer in PAGE_SIZE increments to hold the image as it + kernel: grows a buffer in PAGE_SIZE increments to hold the image as it comes in. - 6), userspace: + userspace: - hotplug: echo 0 > /sys/class/firmware/xxx/loading - 7), kernel: request_firmware() returns and the driver has the firmware + kernel: request_firmware() returns and the driver has the firmware image in fw_entry->{data,size}. If something went wrong request_firmware() returns non-zero and fw_entry is set to NULL. - 8), kernel(driver): Driver code calls release_firmware(fw_entry) releasing + kernel(driver): Driver code calls release_firmware(fw_entry) releasing the firmware image and any related resource. High level behavior (driver code): @@ -119,10 +106,3 @@ on the setup, so I think that the choice on what firmware to make persistent should be left to userspace. - about firmware cache: - -------------------- - After firmware cache mechanism is introduced during system sleep, - request_firmware can be called safely inside device's suspend and - resume callback, and callers need't cache the firmware by - themselves any more for dealing with firmware loss during system - resume. diff --git a/trunk/Documentation/gpio.txt b/trunk/Documentation/gpio.txt index 77a1d11af723..e08a883de36e 100644 --- a/trunk/Documentation/gpio.txt +++ b/trunk/Documentation/gpio.txt @@ -439,48 +439,6 @@ slower clock delays the rising edge of SCK, and the I2C master adjusts its signaling rate accordingly. -GPIO controllers and the pinctrl subsystem ------------------------------------------- - -A GPIO controller on a SOC might be tightly coupled with the pinctrl -subsystem, in the sense that the pins can be used by other functions -together with an optional gpio feature. We have already covered the -case where e.g. a GPIO controller need to reserve a pin or set the -direction of a pin by calling any of: - -pinctrl_request_gpio() -pinctrl_free_gpio() -pinctrl_gpio_direction_input() -pinctrl_gpio_direction_output() - -But how does the pin control subsystem cross-correlate the GPIO -numbers (which are a global business) to a certain pin on a certain -pin controller? - -This is done by registering "ranges" of pins, which are essentially -cross-reference tables. These are described in -Documentation/pinctrl.txt - -While the pin allocation is totally managed by the pinctrl subsystem, -gpio (under gpiolib) is still maintained by gpio drivers. It may happen -that different pin ranges in a SoC is managed by different gpio drivers. - -This makes it logical to let gpio drivers announce their pin ranges to -the pin ctrl subsystem before it will call 'pinctrl_request_gpio' in order -to request the corresponding pin to be prepared by the pinctrl subsystem -before any gpio usage. - -For this, the gpio controller can register its pin range with pinctrl -subsystem. There are two ways of doing it currently: with or without DT. - -For with DT support refer to Documentation/devicetree/bindings/gpio/gpio.txt. - -For non-DT support, user can call gpiochip_add_pin_range() with appropriate -parameters to register a range of gpio pins with a pinctrl driver. For this -exact name string of pinctrl device has to be passed as one of the -argument to this routine. - - What do these conventions omit? =============================== One of the biggest things these conventions omit is pin multiplexing, since diff --git a/trunk/Documentation/hwmon/ads7828 b/trunk/Documentation/hwmon/ads7828 index f6e263e0f607..2bbebe6f771f 100644 --- a/trunk/Documentation/hwmon/ads7828 +++ b/trunk/Documentation/hwmon/ads7828 @@ -4,47 +4,29 @@ Kernel driver ads7828 Supported chips: * Texas Instruments/Burr-Brown ADS7828 Prefix: 'ads7828' - Datasheet: Publicly available at the Texas Instruments website: + Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4b + Datasheet: Publicly available at the Texas Instruments website : http://focus.ti.com/lit/ds/symlink/ads7828.pdf - * Texas Instruments ADS7830 - Prefix: 'ads7830' - Datasheet: Publicly available at the Texas Instruments website: - http://focus.ti.com/lit/ds/symlink/ads7830.pdf - Authors: Steve Hardy - Vivien Didelot - Guillaume Roguez - -Platform data -------------- - -The ads7828 driver accepts an optional ads7828_platform_data structure (defined -in include/linux/platform_data/ads7828.h). The structure fields are: -* diff_input: (bool) Differential operation - set to true for differential mode, false for default single ended mode. +Module Parameters +----------------- -* ext_vref: (bool) External reference - set to true if it operates with an external reference, false for default - internal reference. - -* vref_mv: (unsigned int) Voltage reference - if using an external reference, set this to the reference voltage in mV, - otherwise it will default to the internal value (2500mV). This value will be - bounded with limits accepted by the chip, described in the datasheet. - - If no structure is provided, the configuration defaults to single ended - operation and internal voltage reference (2.5V). +* se_input: bool (default Y) + Single ended operation - set to N for differential mode +* int_vref: bool (default Y) + Operate with the internal 2.5V reference - set to N for external reference +* vref_mv: int (default 2500) + If using an external reference, set this to the reference voltage in mV Description ----------- -This driver implements support for the Texas Instruments ADS7828 and ADS7830. +This driver implements support for the Texas Instruments ADS7828. -The ADS7828 device is a 12-bit 8-channel A/D converter, while the ADS7830 does -8-bit sampling. +This device is a 12-bit 8-channel A-D converter. It can operate in single ended mode (8 +ve inputs) or in differential mode, where 4 differential pairs can be measured. @@ -52,7 +34,3 @@ where 4 differential pairs can be measured. The chip also has the facility to use an external voltage reference. This may be required if your hardware supplies the ADS7828 from a 5V supply, see the datasheet for more details. - -There is no reliable way to identify this chip, so the driver will not scan -some addresses to try to auto-detect it. That means that you will have to -statically declare the device in the platform support code. diff --git a/trunk/Documentation/hwmon/coretemp b/trunk/Documentation/hwmon/coretemp index 3374c085678d..c86b50c03ea8 100644 --- a/trunk/Documentation/hwmon/coretemp +++ b/trunk/Documentation/hwmon/coretemp @@ -98,16 +98,13 @@ Process Processor TjMax(C) 45nm Atom Processors D525/510/425/410 100 - Z670/650 90 Z560/550/540/530P/530/520PT/520/515/510PT/510P 90 Z510/500 90 - N570/550 100 N475/470/455/450 100 N280/270 90 330/230 125 E680/660/640/620 90 E680T/660T/640T/620T 110 - CE4170/4150/4110 110 45nm Core2 Processors Solo ULV SU3500/3300 100 diff --git a/trunk/Documentation/hwmon/da9055 b/trunk/Documentation/hwmon/da9055 deleted file mode 100644 index 855c3f536e00..000000000000 --- a/trunk/Documentation/hwmon/da9055 +++ /dev/null @@ -1,47 +0,0 @@ -Supported chips: - * Dialog Semiconductors DA9055 PMIC - Prefix: 'da9055' - Datasheet: Datasheet is not publicly available. - -Authors: David Dajun Chen - -Description ------------ - -The DA9055 provides an Analogue to Digital Converter (ADC) with 10 bits -resolution and track and hold circuitry combined with an analogue input -multiplexer. The analogue input multiplexer will allow conversion of up to 5 -different inputs. The track and hold circuit ensures stable input voltages at -the input of the ADC during the conversion. - -The ADC is used to measure the following inputs: -Channel 0: VDDOUT - measurement of the system voltage -Channel 1: ADC_IN1 - high impedance input (0 - 2.5V) -Channel 2: ADC_IN2 - high impedance input (0 - 2.5V) -Channel 3: ADC_IN3 - high impedance input (0 - 2.5V) -Channel 4: Internal Tjunc. - sense (internal temp. sensor) - -By using sysfs attributes we can measure the system voltage VDDOUT, -chip junction temperature and auxiliary channels voltages. - -Voltage Monitoring ------------------- - -Voltages are sampled in a AUTO mode it can be manually sampled too and results -are stored in a 10 bit ADC. - -The system voltage is calculated as: - Milli volt = ((ADC value * 1000) / 85) + 2500 - -The voltages on ADC channels 1, 2 and 3 are calculated as: - Milli volt = (ADC value * 1000) / 102 - -Temperature Monitoring ----------------------- - -Temperatures are sampled by a 10 bit ADC. Junction temperatures -are monitored by the ADC channels. - -The junction temperature is calculated: - Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332 -The junction temperature attribute is supported by the driver. diff --git a/trunk/Documentation/hwmon/fam15h_power b/trunk/Documentation/hwmon/fam15h_power index 80654813d04a..a92918e0bd69 100644 --- a/trunk/Documentation/hwmon/fam15h_power +++ b/trunk/Documentation/hwmon/fam15h_power @@ -10,7 +10,7 @@ Supported chips: BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors (not yet published) -Author: Andreas Herrmann +Author: Andreas Herrmann Description ----------- diff --git a/trunk/Documentation/hwmon/submitting-patches b/trunk/Documentation/hwmon/submitting-patches index 843751c41fea..790f774a3032 100644 --- a/trunk/Documentation/hwmon/submitting-patches +++ b/trunk/Documentation/hwmon/submitting-patches @@ -60,7 +60,8 @@ increase the chances of your change being accepted. * Add the driver to Kconfig and Makefile in alphabetical order. -* Make sure that all dependencies are listed in Kconfig. +* Make sure that all dependencies are listed in Kconfig. For new drivers, it + is most likely prudent to add a dependency on EXPERIMENTAL. * Avoid forward declarations if you can. Rearrange the code if necessary. diff --git a/trunk/Documentation/kbuild/makefiles.txt b/trunk/Documentation/kbuild/makefiles.txt index 14c3f4f1b617..ec9ae6708691 100644 --- a/trunk/Documentation/kbuild/makefiles.txt +++ b/trunk/Documentation/kbuild/makefiles.txt @@ -1175,16 +1175,15 @@ When kbuild executes, the following steps are followed (roughly): in an init section in the image. Platform code *must* copy the blob to non-init memory prior to calling unflatten_device_tree(). - To use this command, simply add *.dtb into obj-y or targets, or make - some other target depend on %.dtb + Example: + #arch/x86/platform/ce4100/Makefile + clean-files := *dtb.S - A central rule exists to create $(obj)/%.dtb from $(src)/%.dts; - architecture Makefiles do no need to explicitly write out that rule. + DTC_FLAGS := -p 1024 + obj-y += foo.dtb.o - Example: - targets += $(dtb-y) - clean-files += *.dtb - DTC_FLAGS ?= -p 1024 + $(obj)/%.dtb: $(src)/%.dts + $(call cmd,dtc) --- 6.8 Custom kbuild commands diff --git a/trunk/Documentation/mmc/mmc-dev-attrs.txt b/trunk/Documentation/mmc/mmc-dev-attrs.txt index 0d98fac8893b..22ae8441489f 100644 --- a/trunk/Documentation/mmc/mmc-dev-attrs.txt +++ b/trunk/Documentation/mmc/mmc-dev-attrs.txt @@ -25,8 +25,6 @@ All attributes are read-only. serial Product Serial Number (from CID Register) erase_size Erase group size preferred_erase_size Preferred erase size - raw_rpmb_size_mult RPMB partition size - rel_sectors Reliable write sector count Note on Erase Size and Preferred Erase Size: @@ -67,11 +65,6 @@ Note on Erase Size and Preferred Erase Size: "preferred_erase_size" is in bytes. -Note on raw_rpmb_size_mult: - "raw_rpmb_size_mult" is a mutliple of 128kB block. - RPMB size in byte is calculated by using the following equation: - RPMB partition size = 128kB x raw_rpmb_size_mult - SD/MMC/SDIO Clock Gating Attribute ================================== diff --git a/trunk/Documentation/networking/netdev-features.txt b/trunk/Documentation/networking/netdev-features.txt index f310edec8a77..4164f5c02e4b 100644 --- a/trunk/Documentation/networking/netdev-features.txt +++ b/trunk/Documentation/networking/netdev-features.txt @@ -164,4 +164,4 @@ read the CRC recorded by the NIC on receipt of the packet. This requests that the NIC receive all possible frames, including errored frames (such as bad FCS, etc). This can be helpful when sniffing a link with bad packets on it. Some NICs may receive more packets if also put into normal -PROMISC mode. +PROMISC mdoe. diff --git a/trunk/Documentation/networking/vxlan.txt b/trunk/Documentation/networking/vxlan.txt index 6d993510f091..5b34b762d7d5 100644 --- a/trunk/Documentation/networking/vxlan.txt +++ b/trunk/Documentation/networking/vxlan.txt @@ -32,7 +32,7 @@ no entry is in the forwarding table. # ip link delete vxlan0 3. Show vxlan info - # ip -d link show vxlan0 + # ip -d show vxlan0 It is possible to create, destroy and display the vxlan forwarding table using the new bridge command. @@ -41,7 +41,7 @@ forwarding table using the new bridge command. # bridge fdb add to 00:17:42:8a:b4:05 dst 192.19.0.2 dev vxlan0 2. Delete forwarding table entry - # bridge fdb delete 00:17:42:8a:b4:05 dev vxlan0 + # bridge fdb delete 00:17:42:8a:b4:05 3. Show forwarding table # bridge fdb show dev vxlan0 diff --git a/trunk/Documentation/pinctrl.txt b/trunk/Documentation/pinctrl.txt index da40efbef6ec..3b4ee5328868 100644 --- a/trunk/Documentation/pinctrl.txt +++ b/trunk/Documentation/pinctrl.txt @@ -364,9 +364,6 @@ will get an pin number into its handled number range. Further it is also passed the range ID value, so that the pin controller knows which range it should deal with. -Calling pinctrl_add_gpio_range from pinctrl driver is DEPRECATED. Please see -section 2.1 of Documentation/devicetree/bindings/gpio/gpio.txt on how to bind -pinctrl and gpio drivers. PINMUX interfaces ================= @@ -1196,6 +1193,4 @@ foo_switch() ... } -The above has to be done from process context. The reservation of the pins -will be done when the state is activated, so in effect one specific pin -can be used by different functions at different times on a running system. +The above has to be done from process context. diff --git a/trunk/Documentation/power/pm_qos_interface.txt b/trunk/Documentation/power/pm_qos_interface.txt index 79a2a58425ee..17e130a80347 100644 --- a/trunk/Documentation/power/pm_qos_interface.txt +++ b/trunk/Documentation/power/pm_qos_interface.txt @@ -99,7 +99,7 @@ reading the aggregated value does not require any locking mechanism. From kernel mode the use of this interface is the following: -int dev_pm_qos_add_request(device, handle, type, value): +int dev_pm_qos_add_request(device, handle, value): Will insert an element into the list for that identified device with the target value. Upon change to this list the new target is recomputed and any registered notifiers are called only if the target value is now different. diff --git a/trunk/Documentation/sysrq.txt b/trunk/Documentation/sysrq.txt index 2a4cdda4828e..642f84495b29 100644 --- a/trunk/Documentation/sysrq.txt +++ b/trunk/Documentation/sysrq.txt @@ -116,7 +116,6 @@ On all - write a character to /proc/sysrq-trigger. e.g.: 'w' - Dumps tasks that are in uninterruptable (blocked) state. 'x' - Used by xmon interface on ppc/powerpc platforms. - Show global PMU Registers on sparc64. 'y' - Show global CPU Registers [SPARC-64 specific] diff --git a/trunk/Documentation/zh_CN/IRQ.txt b/trunk/Documentation/zh_CN/IRQ.txt deleted file mode 100644 index 956026d5cf82..000000000000 --- a/trunk/Documentation/zh_CN/IRQ.txt +++ /dev/null @@ -1,39 +0,0 @@ -Chinese translated version of Documentation/IRQ.txt - -If you have any comment or update to the content, please contact the -original document maintainer directly. However, if you have a problem -communicating in English you can also ask the Chinese maintainer for -help. Contact the Chinese maintainer if this translation is outdated -or if there is a problem with the translation. - -Maintainer: Eric W. Biederman -Chinese maintainer: Fu Wei ---------------------------------------------------------------------- -Documentation/IRQ.txt 的中文翻译 - -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 -译存在问题,请联系中文版维护者。 -英文版维护者: Eric W. Biederman -中文版维护者: 傅炜 Fu Wei -中文版翻译者: 傅炜 Fu Wei -中文版校译者: 傅炜 Fu Wei - - -以下为正文 ---------------------------------------------------------------------- -何为 IRQ? - -一个 IRQ 是来自某个设备的一个中断请求。目前,它们可以来自一个硬件引脚, -或来自一个数据包。多个设备可能连接到同个硬件引脚,从而共享一个 IRQ。 - -一个 IRQ 编号是用于告知硬件中断源的内核标识。通常情况下,这是一个 -全局 irq_desc 数组的索引,但是除了在 linux/interrupt.h 中的实现, -具体的细节是体系结构特定的。 - -一个 IRQ 编号是设备上某个可能的中断源的枚举。通常情况下,枚举的编号是 -该引脚在系统内中断控制器的所有输入引脚中的编号。对于 ISA 总线中的情况, -枚举的是在两个 i8259 中断控制器中 16 个输入引脚。 - -架构可以对 IRQ 编号指定额外的含义,在硬件涉及任何手工配置的情况下, -是被提倡的。ISA 的 IRQ 是一个分配这类额外含义的典型例子。 diff --git a/trunk/Documentation/zh_CN/arm/kernel_user_helpers.txt b/trunk/Documentation/zh_CN/arm/kernel_user_helpers.txt deleted file mode 100644 index cd7fc8f34cf9..000000000000 --- a/trunk/Documentation/zh_CN/arm/kernel_user_helpers.txt +++ /dev/null @@ -1,284 +0,0 @@ -Chinese translated version of Documentation/arm/kernel_user_helpers.txt - -If you have any comment or update to the content, please contact the -original document maintainer directly. However, if you have a problem -communicating in English you can also ask the Chinese maintainer for -help. Contact the Chinese maintainer if this translation is outdated -or if there is a problem with the translation. - -Maintainer: Nicolas Pitre - Dave Martin -Chinese maintainer: Fu Wei ---------------------------------------------------------------------- -Documentation/arm/kernel_user_helpers.txt 的中文翻译 - -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 -译存在问题,请联系中文版维护者。 -英文版维护者: Nicolas Pitre - Dave Martin -中文版维护者: 傅炜 Fu Wei -中文版翻译者: 傅炜 Fu Wei -中文版校译者: 宋冬生 Dongsheng Song - 傅炜 Fu Wei - - -以下为正文 ---------------------------------------------------------------------- -内核提供的用户空间辅助代码 -========================= - -在内核内存空间的固定地址处,有一个由内核提供并可从用户空间访问的代码 -段。它用于向用户空间提供因在许多 ARM CPU 中未实现的特性和/或指令而需 -内核提供帮助的某些操作。这些代码直接在用户模式下执行的想法是为了获得 -最佳效率,但那些与内核计数器联系过于紧密的部分,则被留给了用户库实现。 -事实上,此代码甚至可能因不同的 CPU 而异,这取决于其可用的指令集或它 -是否为 SMP 系统。换句话说,内核保留在不作出警告的情况下根据需要更改 -这些代码的权利。只有本文档描述的入口及其结果是保证稳定的。 - -这与完全成熟的 VDSO 实现不同(但两者并不冲突),尽管如此,VDSO 可阻止 -某些通过常量高效跳转到那些代码段的汇编技巧。且由于那些代码段在返回用户 -代码前仅使用少量的代码周期,则一个 VDSO 间接远程调用将会在这些简单的 -操作上增加一个可测量的开销。 - -在对那些拥有原生支持的新型处理器进行代码优化时,仅在已为其他操作使用 -了类似的新增指令,而导致二进制结果已与早期 ARM 处理器不兼容的情况下, -用户空间才应绕过这些辅助代码,并在内联函数中实现这些操作(无论是通过 -编译器在代码中直接放置,还是作为库函数调用实现的一部分)。也就是说, -如果你编译的代码不会为了其他目的使用新指令,则不要仅为了避免使用这些 -内核辅助代码,导致二进制程序无法在早期处理器上运行。 - -新的辅助代码可能随着时间的推移而增加,所以新内核中的某些辅助代码在旧 -内核中可能不存在。因此,程序必须在对任何辅助代码调用假设是安全之前, -检测 __kuser_helper_version 的值(见下文)。理想情况下,这种检测应该 -只在进程启动时执行一次;如果内核版本不支持所需辅助代码,则该进程可尽早 -中止执行。 - -kuser_helper_version --------------------- - -位置: 0xffff0ffc - -参考声明: - - extern int32_t __kuser_helper_version; - -定义: - - 这个区域包含了当前运行内核实现的辅助代码版本号。用户空间可以通过读 - 取此版本号以确定特定的辅助代码是否存在。 - -使用范例: - -#define __kuser_helper_version (*(int32_t *)0xffff0ffc) - -void check_kuser_version(void) -{ - if (__kuser_helper_version < 2) { - fprintf(stderr, "can't do atomic operations, kernel too old\n"); - abort(); - } -} - -注意: - - 用户空间可以假设这个域的值不会在任何单个进程的生存期内改变。也就 - 是说,这个域可以仅在库的初始化阶段或进程启动阶段读取一次。 - -kuser_get_tls -------------- - -位置: 0xffff0fe0 - -参考原型: - - void * __kuser_get_tls(void); - -输入: - - lr = 返回地址 - -输出: - - r0 = TLS 值 - -被篡改的寄存器: - - 无 - -定义: - - 获取之前通过 __ARM_NR_set_tls 系统调用设置的 TLS 值。 - -使用范例: - -typedef void * (__kuser_get_tls_t)(void); -#define __kuser_get_tls (*(__kuser_get_tls_t *)0xffff0fe0) - -void foo() -{ - void *tls = __kuser_get_tls(); - printf("TLS = %p\n", tls); -} - -注意: - - - 仅在 __kuser_helper_version >= 1 时,此辅助代码存在 - (从内核版本 2.6.12 开始)。 - -kuser_cmpxchg -------------- - -位置: 0xffff0fc0 - -参考原型: - - int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr); - -输入: - - r0 = oldval - r1 = newval - r2 = ptr - lr = 返回地址 - -输出: - - r0 = 成功代码 (零或非零) - C flag = 如果 r0 == 0 则置 1,如果 r0 != 0 则清零。 - -被篡改的寄存器: - - r3, ip, flags - -定义: - - 仅在 *ptr 为 oldval 时原子保存 newval 于 *ptr 中。 - 如果 *ptr 被改变,则返回值为零,否则为非零值。 - 如果 *ptr 被改变,则 C flag 也会被置 1,以实现调用代码中的汇编 - 优化。 - -使用范例: - -typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr); -#define __kuser_cmpxchg (*(__kuser_cmpxchg_t *)0xffff0fc0) - -int atomic_add(volatile int *ptr, int val) -{ - int old, new; - - do { - old = *ptr; - new = old + val; - } while(__kuser_cmpxchg(old, new, ptr)); - - return new; -} - -注意: - - - 这个例程已根据需要包含了内存屏障。 - - - 仅在 __kuser_helper_version >= 2 时,此辅助代码存在 - (从内核版本 2.6.12 开始)。 - -kuser_memory_barrier --------------------- - -位置: 0xffff0fa0 - -参考原型: - - void __kuser_memory_barrier(void); - -输入: - - lr = 返回地址 - -输出: - - 无 - -被篡改的寄存器: - - 无 - -定义: - - 应用于任何需要内存屏障以防止手动数据修改带来的一致性问题,以及 - __kuser_cmpxchg 中。 - -使用范例: - -typedef void (__kuser_dmb_t)(void); -#define __kuser_dmb (*(__kuser_dmb_t *)0xffff0fa0) - -注意: - - - 仅在 __kuser_helper_version >= 3 时,此辅助代码存在 - (从内核版本 2.6.15 开始)。 - -kuser_cmpxchg64 ---------------- - -位置: 0xffff0f60 - -参考原型: - - int __kuser_cmpxchg64(const int64_t *oldval, - const int64_t *newval, - volatile int64_t *ptr); - -输入: - - r0 = 指向 oldval - r1 = 指向 newval - r2 = 指向目标值 - lr = 返回地址 - -输出: - - r0 = 成功代码 (零或非零) - C flag = 如果 r0 == 0 则置 1,如果 r0 != 0 则清零。 - -被篡改的寄存器: - - r3, lr, flags - -定义: - - 仅在 *ptr 等于 *oldval 指向的 64 位值时,原子保存 *newval - 指向的 64 位值于 *ptr 中。如果 *ptr 被改变,则返回值为零, - 否则为非零值。 - - 如果 *ptr 被改变,则 C flag 也会被置 1,以实现调用代码中的汇编 - 优化。 - -使用范例: - -typedef int (__kuser_cmpxchg64_t)(const int64_t *oldval, - const int64_t *newval, - volatile int64_t *ptr); -#define __kuser_cmpxchg64 (*(__kuser_cmpxchg64_t *)0xffff0f60) - -int64_t atomic_add64(volatile int64_t *ptr, int64_t val) -{ - int64_t old, new; - - do { - old = *ptr; - new = old + val; - } while(__kuser_cmpxchg64(&old, &new, ptr)); - - return new; -} - -注意: - - - 这个例程已根据需要包含了内存屏障。 - - - 由于这个过程的代码长度(此辅助代码跨越 2 个常规的 kuser “槽”), - 因此 0xffff0f80 不被作为有效的入口点。 - - - 仅在 __kuser_helper_version >= 5 时,此辅助代码存在 - (从内核版本 3.1 开始)。 diff --git a/trunk/Documentation/zh_CN/arm64/booting.txt b/trunk/Documentation/zh_CN/arm64/booting.txt deleted file mode 100644 index 28fa325b7461..000000000000 --- a/trunk/Documentation/zh_CN/arm64/booting.txt +++ /dev/null @@ -1,156 +0,0 @@ -Chinese translated version of Documentation/arm64/booting.txt - -If you have any comment or update to the content, please contact the -original document maintainer directly. However, if you have a problem -communicating in English you can also ask the Chinese maintainer for -help. Contact the Chinese maintainer if this translation is outdated -or if there is a problem with the translation. - -Maintainer: Will Deacon -Chinese maintainer: Fu Wei ---------------------------------------------------------------------- -Documentation/arm64/booting.txt 的中文翻译 - -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 -译存在问题,请联系中文版维护者。 - -英文版维护者: Will Deacon -中文版维护者: 傅炜 Fu Wei -中文版翻译者: 傅炜 Fu Wei -中文版校译者: 傅炜 Fu Wei - -以下为正文 ---------------------------------------------------------------------- - 启动 AArch64 Linux - ================== - -作者: Will Deacon -日期: 2012 年 09 月 07 日 - -本文档基于 Russell King 的 ARM 启动文档,且适用于所有公开发布的 -AArch64 Linux 内核代码。 - -AArch64 异常模型由多个异常级别(EL0 - EL3)组成,对于 EL0 和 EL1 -异常级有对应的安全和非安全模式。EL2 是系统管理级,且仅存在于 -非安全模式下。EL3 是最高特权级,且仅存在于安全模式下。 - -基于本文档的目的,我们将简单地使用‘引导装载程序’(‘boot loader’) -这个术语来定义在将控制权交给 Linux 内核前 CPU 上执行的所有软件。 -这可能包含安全监控和系统管理代码,或者它可能只是一些用于准备最小启动 -环境的指令。 - -基本上,引导装载程序(至少)应实现以下操作: - -1、设置和初始化 RAM -2、设置设备树数据 -3、解压内核映像 -4、调用内核映像 - - -1、设置和初始化 RAM ------------------ - -必要性: 强制 - -引导装载程序应该找到并初始化系统中所有内核用于保持系统变量数据的 RAM。 -这个操作的执行是设备依赖的。(它可能使用内部算法来自动定位和计算所有 -RAM,或可能使用对这个设备已知的 RAM 信息,还可能使用任何引导装载程序 -设计者想到的匹配方法。) - - -2、设置设备树数据 ---------------- - -必要性: 强制 - -设备树数据块(dtb)大小必须不大于 2 MB,且位于从内核映像起始算起第一个 -512MB 内的 2MB 边界上。这使得内核可以通过初始页表中的单个节描述符来 -映射此数据块。 - - -3、解压内核映像 -------------- - -必要性: 可选 - -AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内核映像文件 -(比如 Image.gz),则需要通过引导装载程序(使用 gzip 等)来进行解压。 -若引导装载程序没有实现这个需求,就要使用非压缩内核映像文件。 - - -4、调用内核映像 -------------- - -必要性: 强制 - -已解压的内核映像包含一个 32 字节的头,内容如下: - - u32 magic = 0x14000008; /* 跳转到 stext, 小端 */ - u32 res0 = 0; /* 保留 */ - u64 text_offset; /* 映像装载偏移 */ - u64 res1 = 0; /* 保留 */ - u64 res2 = 0; /* 保留 */ - -映像必须位于系统 RAM 起始处的特定偏移(当前是 0x80000)。系统 RAM -的起始地址必须是以 2MB 对齐的。 - -在跳转入内核前,必须符合以下状态: - -- 停止所有 DMA 设备,这样内存数据就不会因为虚假网络包或磁盘数据而 - 被破坏。这可能可以节省你许多的调试时间。 - -- 主 CPU 通用寄存器设置 - x0 = 系统 RAM 中设备树数据块(dtb)的物理地址。 - x1 = 0 (保留,将来可能使用) - x2 = 0 (保留,将来可能使用) - x3 = 0 (保留,将来可能使用) - -- CPU 模式 - 所有形式的中断必须在 PSTATE.DAIF 中被屏蔽(Debug、SError、IRQ - 和 FIQ)。 - CPU 必须处于 EL2(推荐,可访问虚拟化扩展)或非安全 EL1 模式下。 - -- 高速缓存、MMU - MMU 必须关闭。 - 指令缓存开启或关闭都可以。 - 数据缓存必须关闭且无效。 - 外部高速缓存(如果存在)必须配置并禁用。 - -- 架构计时器 - CNTFRQ 必须设定为计时器的频率。 - 如果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 EL1PCTEN (bit 0) - 必须置位。 - -- 一致性 - 通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。 - 这可能要根据具体实现来定义初始化过程,以使能每个CPU上对维护操作的 - 接收。 - -- 系统寄存器 - 在进入内核映像的异常级中,所有构架中可写的系统寄存器必须通过软件 - 在一个更高的异常级别下初始化,以防止在 未知 状态下运行。 - -引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口: - -- 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树 - 数据块必须在每个 CPU 节点中包含以下内容: - - 1、‘enable-method’属性。目前,此字段支持的值仅为字符串“spin-table”。 - - 2、‘cpu-release-addr’标识一个 64-bit、初始化为零的内存位置。 - - 引导装载程序必须生成这些设备树属性,并在跳入内核入口之前将其插入 - 数据块。 - -- 任何辅助 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 - 给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须 - 包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将 - 发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值 - 时,CPU 必须直接跳入此值所指向的地址。 - -- 辅助 CPU 通用寄存器设置 - x0 = 0 (保留,将来可能使用) - x1 = 0 (保留,将来可能使用) - x2 = 0 (保留,将来可能使用) - x3 = 0 (保留,将来可能使用) diff --git a/trunk/Documentation/zh_CN/arm64/memory.txt b/trunk/Documentation/zh_CN/arm64/memory.txt deleted file mode 100644 index a5f6283829f9..000000000000 --- a/trunk/Documentation/zh_CN/arm64/memory.txt +++ /dev/null @@ -1,93 +0,0 @@ -Chinese translated version of Documentation/arm64/memory.txt - -If you have any comment or update to the content, please contact the -original document maintainer directly. However, if you have a problem -communicating in English you can also ask the Chinese maintainer for -help. Contact the Chinese maintainer if this translation is outdated -or if there is a problem with the translation. - -Maintainer: Catalin Marinas -Chinese maintainer: Fu Wei ---------------------------------------------------------------------- -Documentation/arm64/memory.txt 的中文翻译 - -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 -译存在问题,请联系中文版维护者。 - -英文版维护者: Catalin Marinas -中文版维护者: 傅炜 Fu Wei -中文版翻译者: 傅炜 Fu Wei -中文版校译者: 傅炜 Fu Wei - -以下为正文 ---------------------------------------------------------------------- - Linux 在 AArch64 中的内存布局 - =========================== - -作者: Catalin Marinas -日期: 2012 年 02 月 20 日 - -本文档描述 AArch64 Linux 内核所使用的虚拟内存布局。此构架可以实现 -页大小为 4KB 的 4 级转换表和页大小为 64KB 的 3 级转换表。 - -AArch64 Linux 使用页大小为 4KB 的 3 级转换表配置,对于用户和内核 -都有 39-bit (512GB) 的虚拟地址空间。对于页大小为 64KB的配置,仅 -使用 2 级转换表,但内存布局相同。 - -用户地址空间的 63:39 位为 0,而内核地址空间的相应位为 1。TTBRx 的 -选择由虚拟地址的 63 位给出。swapper_pg_dir 仅包含内核(全局)映射, -而用户 pgd 仅包含用户(非全局)映射。swapper_pgd_dir 地址被写入 -TTBR1 中,且从不写入 TTBR0。 - - -AArch64 Linux 内存布局: - -起始地址 结束地址 大小 用途 ------------------------------------------------------------------------ -0000000000000000 0000007fffffffff 512GB 用户空间 - -ffffff8000000000 ffffffbbfffeffff ~240GB vmalloc - -ffffffbbffff0000 ffffffbbffffffff 64KB [防护页] - -ffffffbc00000000 ffffffbdffffffff 8GB vmemmap - -ffffffbe00000000 ffffffbffbbfffff ~8GB [防护页,未来用于 vmmemap] - -ffffffbffbe00000 ffffffbffbe0ffff 64KB PCI I/O 空间 - -ffffffbbffff0000 ffffffbcffffffff ~2MB [防护页] - -ffffffbffc000000 ffffffbfffffffff 64MB 模块 - -ffffffc000000000 ffffffffffffffff 256GB 内核逻辑内存映射 - - -4KB 页大小的转换表查找: - -+--------+--------+--------+--------+--------+--------+--------+--------+ -|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0| -+--------+--------+--------+--------+--------+--------+--------+--------+ - | | | | | | - | | | | | v - | | | | | [11:0] 页内偏移 - | | | | +-> [20:12] L3 索引 - | | | +-----------> [29:21] L2 索引 - | | +---------------------> [38:30] L1 索引 - | +-------------------------------> [47:39] L0 索引 (未使用) - +-------------------------------------------------> [63] TTBR0/1 - - -64KB 页大小的转换表查找: - -+--------+--------+--------+--------+--------+--------+--------+--------+ -|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0| -+--------+--------+--------+--------+--------+--------+--------+--------+ - | | | | | - | | | | v - | | | | [15:0] 页内偏移 - | | | +----------> [28:16] L3 索引 - | | +--------------------------> [41:29] L2 索引 (仅使用 38:29 ) - | +-------------------------------> [47:42] L1 索引 (未使用) - +-------------------------------------------------> [63] TTBR0/1 diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index e360784991ff..e73060fe0788 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -235,7 +235,6 @@ F: drivers/platform/x86/acer-wmi.c ACPI M: Len Brown -M: Rafael J. Wysocki L: linux-acpi@vger.kernel.org W: http://www.lesswatts.org/projects/acpi/ Q: http://patchwork.kernel.org/project/linux-acpi/list/ @@ -503,7 +502,7 @@ F: include/linux/altera_uart.h F: include/linux/altera_jtaguart.h AMD FAM15H PROCESSOR POWER MONITORING DRIVER -M: Andreas Herrmann +M: Andreas Herrmann L: lm-sensors@lm-sensors.org S: Maintained F: Documentation/hwmon/fam15h_power @@ -526,17 +525,17 @@ F: drivers/video/geode/ F: arch/x86/include/asm/geode.h AMD IOMMU (AMD-VI) -M: Joerg Roedel +M: Joerg Roedel L: iommu@lists.linux-foundation.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git -S: Maintained +S: Supported F: drivers/iommu/amd_iommu*.[ch] F: include/linux/amd-iommu.h AMD MICROCODE UPDATE SUPPORT -M: Andreas Herrmann +M: Andreas Herrmann L: amd64-microcode@amd64.org -S: Maintained +S: Supported F: arch/x86/kernel/microcode_amd.c AMS (Apple Motion Sensor) DRIVER @@ -637,13 +636,6 @@ W: http://www.arm.linux.org.uk/ S: Maintained F: arch/arm/ -ARM SUB-ARCHITECTURES -L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: MAINTAINED -F: arch/arm/mach-*/ -F: arch/arm/plat-*/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git - ARM PRIMECELL AACI PL041 DRIVER M: Russell King S: Maintained @@ -841,14 +833,6 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git F: arch/arm/mach-sa1100/jornada720.c F: arch/arm/mach-sa1100/include/mach/jornada720.h -ARM/IGEP MACHINE SUPPORT -M: Enric Balletbo i Serra -M: Javier Martinez Canillas -L: linux-omap@vger.kernel.org -L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: arch/arm/mach-omap2/board-igep0020.c - ARM/INCOME PXA270 SUPPORT M: Marek Vasut L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) @@ -1237,7 +1221,6 @@ F: drivers/video/wm8505fb* F: drivers/video/wmt_ge_rops.* F: drivers/tty/serial/vt8500_serial.c F: drivers/rtc/rtc-vt8500-c -F: drivers/mmc/host/wmt-sdmmc.c ARM/ZIPIT Z2 SUPPORT M: Marek Vasut @@ -1369,6 +1352,14 @@ S: Maintained F: drivers/atm/ F: include/linux/atm* +ATMEL AT91 MCI DRIVER +M: Ludovic Desroches +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +W: http://www.atmel.com/products/AT91/ +W: http://www.at91.com/ +S: Maintained +F: drivers/mmc/host/at91_mci.c + ATMEL AT91 / AT32 MCI DRIVER M: Ludovic Desroches S: Maintained @@ -1987,6 +1978,7 @@ F: fs/coda/ F: include/linux/coda*.h COMMON CLK FRAMEWORK +M: Mike Turquette M: Mike Turquette L: linux-arm-kernel@lists.infradead.org (same as CLK API & CLKDEV) T: git git://git.linaro.org/people/mturquette/linux.git @@ -2507,7 +2499,6 @@ M: Joonyoung Shim M: Seung-Woo Kim M: Kyungmin Park L: dri-devel@lists.freedesktop.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git S: Supported F: drivers/gpu/drm/exynos F: include/drm/exynos* @@ -2708,10 +2699,10 @@ F: include/linux/edac.h EDAC-AMD64 M: Doug Thompson -M: Borislav Petkov +M: Borislav Petkov L: linux-edac@vger.kernel.org W: bluesmoke.sourceforge.net -S: Maintained +S: Supported F: drivers/edac/amd64_edac* EDAC-E752X @@ -2810,7 +2801,6 @@ F: sound/usb/misc/ua101.c EXTENSIBLE FIRMWARE INTERFACE (EFI) M: Matt Fleming L: linux-efi@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git S: Maintained F: Documentation/x86/efi-stub.txt F: arch/ia64/kernel/efi.c @@ -3596,49 +3586,7 @@ S: Maintained F: drivers/hv/ F: drivers/hid/hid-hyperv.c F: drivers/net/hyperv/ - -I2C OVER PARALLEL PORT -M: Jean Delvare -L: linux-i2c@vger.kernel.org -S: Maintained -F: Documentation/i2c/busses/i2c-parport -F: Documentation/i2c/busses/i2c-parport-light -F: drivers/i2c/busses/i2c-parport.c -F: drivers/i2c/busses/i2c-parport-light.c - -I2C/SMBUS CONTROLLER DRIVERS FOR PC -M: Jean Delvare -L: linux-i2c@vger.kernel.org -S: Maintained -F: Documentation/i2c/busses/i2c-ali1535 -F: Documentation/i2c/busses/i2c-ali1563 -F: Documentation/i2c/busses/i2c-ali15x3 -F: Documentation/i2c/busses/i2c-amd756 -F: Documentation/i2c/busses/i2c-amd8111 -F: Documentation/i2c/busses/i2c-i801 -F: Documentation/i2c/busses/i2c-nforce2 -F: Documentation/i2c/busses/i2c-piix4 -F: Documentation/i2c/busses/i2c-sis5595 -F: Documentation/i2c/busses/i2c-sis630 -F: Documentation/i2c/busses/i2c-sis96x -F: Documentation/i2c/busses/i2c-via -F: Documentation/i2c/busses/i2c-viapro -F: drivers/i2c/busses/i2c-ali1535.c -F: drivers/i2c/busses/i2c-ali1563.c -F: drivers/i2c/busses/i2c-ali15x3.c -F: drivers/i2c/busses/i2c-amd756.c -F: drivers/i2c/busses/i2c-amd756-s4882.c -F: drivers/i2c/busses/i2c-amd8111.c -F: drivers/i2c/busses/i2c-i801.c -F: drivers/i2c/busses/i2c-isch.c -F: drivers/i2c/busses/i2c-nforce2.c -F: drivers/i2c/busses/i2c-nforce2-s4985.c -F: drivers/i2c/busses/i2c-piix4.c -F: drivers/i2c/busses/i2c-sis5595.c -F: drivers/i2c/busses/i2c-sis630.c -F: drivers/i2c/busses/i2c-sis96x.c -F: drivers/i2c/busses/i2c-via.c -F: drivers/i2c/busses/i2c-viapro.c +F: drivers/staging/hv/ I2C/SMBUS STUB DRIVER M: "Mark M. Hoffman" @@ -3647,8 +3595,9 @@ S: Maintained F: drivers/i2c/busses/i2c-stub.c I2C SUBSYSTEM -M: Wolfram Sang +M: "Jean Delvare (PC drivers, core)" M: "Ben Dooks (embedded platforms)" +M: "Wolfram Sang (embedded platforms)" L: linux-i2c@vger.kernel.org W: http://i2c.wiki.kernel.org/ T: quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/ @@ -3659,13 +3608,6 @@ F: drivers/i2c/ F: include/linux/i2c.h F: include/linux/i2c-*.h -I2C-TAOS-EVM DRIVER -M: Jean Delvare -L: linux-i2c@vger.kernel.org -S: Maintained -F: Documentation/i2c/busses/i2c-taos-evm -F: drivers/i2c/busses/i2c-taos-evm.c - I2C-TINY-USB DRIVER M: Till Harbaum L: linux-i2c@vger.kernel.org @@ -3752,7 +3694,7 @@ S: Maintained F: drivers/platform/x86/ideapad-laptop.c IDE/ATAPI DRIVERS -M: Borislav Petkov +M: Borislav Petkov L: linux-ide@vger.kernel.org S: Maintained F: Documentation/cdrom/ide-cd @@ -4279,8 +4221,8 @@ F: include/linux/lockd/ F: include/linux/sunrpc/ KERNEL VIRTUAL MACHINE (KVM) +M: Avi Kivity M: Marcelo Tosatti -M: Gleb Natapov L: kvm@vger.kernel.org W: http://kvm.qumranet.com S: Supported @@ -4430,7 +4372,7 @@ F: Documentation/scsi/53c700.txt F: drivers/scsi/53c700* LED SUBSYSTEM -M: Bryan Wu +M: Bryan Wu M: Richard Purdie L: linux-leds@vger.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git @@ -5077,20 +5019,6 @@ F: net/ipv6/ F: include/net/ip* F: arch/x86/net/* -NETWORKING [IPSEC] -M: Steffen Klassert -M: Herbert Xu -M: "David S. Miller" -L: netdev@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git -S: Maintained -F: net/xfrm/ -F: net/key/ -F: net/ipv4/xfrm* -F: net/ipv6/xfrm* -F: include/uapi/linux/xfrm.h -F: include/net/xfrm.h - NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK) M: Paul Moore L: netdev@vger.kernel.org @@ -5118,13 +5046,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git S: Odd Fixes F: drivers/net/ F: include/linux/if_* -F: include/linux/netdevice.h -F: include/linux/arcdevice.h -F: include/linux/etherdevice.h -F: include/linux/fcdevice.h -F: include/linux/fddidevice.h -F: include/linux/hippidevice.h -F: include/linux/inetdevice.h +F: include/linux/*device.h NETXEN (1/10) GbE SUPPORT M: Sony Chacko @@ -5412,7 +5334,7 @@ S: Maintained F: sound/drivers/opl4/ OPROFILE -M: Robert Richter +M: Robert Richter L: oprofile-list@lists.sf.net S: Maintained F: arch/*/include/asm/oprofile*.h @@ -5687,12 +5609,6 @@ S: Maintained F: drivers/pinctrl/ F: include/linux/pinctrl/ -PIN CONTROLLER - ATMEL AT91 -M: Jean-Christophe Plagniol-Villard -L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: drivers/pinctrl/pinctrl-at91.c - PIN CONTROLLER - ST SPEAR M: Viresh Kumar L: spear-devel@list.st.com @@ -5702,7 +5618,7 @@ S: Maintained F: drivers/pinctrl/spear/ PKTCDVD DRIVER -M: Jiri Kosina +M: Peter Osterlund S: Maintained F: drivers/block/pktcdvd.c F: include/linux/pktcdvd.h @@ -7264,14 +7180,6 @@ L: linux-xtensa@linux-xtensa.org S: Maintained F: arch/xtensa/ -THERMAL -M: Zhang Rui -L: linux-pm@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git -S: Supported -F: drivers/thermal/ -F: include/linux/thermal.h - THINKPAD ACPI EXTRAS DRIVER M: Henrique de Moraes Holschuh L: ibm-acpi-devel@lists.sourceforge.net @@ -7823,13 +7731,6 @@ W: http://www.ideasonboard.org/uvc/ S: Maintained F: drivers/media/usb/uvc/ -USB WEBCAM GADGET -M: Laurent Pinchart -L: linux-usb@vger.kernel.org -S: Maintained -F: drivers/usb/gadget/*uvc*.c -F: drivers/usb/gadget/webcam.c - USB WIRELESS RNDIS DRIVER (rndis_wlan) M: Jussi Kivilinna L: linux-wireless@vger.kernel.org @@ -7949,6 +7850,13 @@ M: Roger Luethi S: Maintained F: drivers/net/ethernet/via/via-rhine.c +VIAPRO SMBUS DRIVER +M: Jean Delvare +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-viapro +F: drivers/i2c/busses/i2c-viapro.c + VIA SD/MMC CARD CONTROLLER DRIVER M: Bruce Chang M: Harald Welte @@ -8203,7 +8111,7 @@ F: drivers/platform/x86 X86 MCE INFRASTRUCTURE M: Tony Luck -M: Borislav Petkov +M: Borislav Petkov L: linux-edac@vger.kernel.org S: Maintained F: arch/x86/kernel/cpu/mcheck/* diff --git a/trunk/Makefile b/trunk/Makefile index 540f7b240c77..5be2ee8c90e4 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 7 SUBLEVEL = 0 -EXTRAVERSION = +EXTRAVERSION = -rc1 NAME = Terrified Chipmunk # *DOCUMENTATION* @@ -437,9 +437,7 @@ endif PHONY += asm-generic asm-generic: $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \ - src=asm obj=arch/$(SRCARCH)/include/generated/asm - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \ - src=uapi/asm obj=arch/$(SRCARCH)/include/generated/uapi/asm + obj=arch/$(SRCARCH)/include/generated/asm # To make sure we do not include .config for any of the *config targets # catch them early, and hand them over to scripts/kconfig/Makefile @@ -719,17 +717,6 @@ endif # INSTALL_MOD_STRIP export mod_strip_cmd -ifeq ($(CONFIG_MODULE_SIG),y) -MODSECKEY = ./signing_key.priv -MODPUBKEY = ./signing_key.x509 -export MODPUBKEY -mod_sign_cmd = perl $(srctree)/scripts/sign-file $(MODSECKEY) $(MODPUBKEY) -else -mod_sign_cmd = true -endif -export mod_sign_cmd - - ifeq ($(KBUILD_EXTMOD),) core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ @@ -1321,12 +1308,10 @@ kernelversion: # Clear a bunch of variables before executing the submake tools/: FORCE - $(Q)mkdir -p $(objtree)/tools - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(objtree) subdir=tools -C $(src)/tools/ + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= -C $(src)/tools/ tools/%: FORCE - $(Q)mkdir -p $(objtree)/tools - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(objtree) subdir=tools -C $(src)/tools/ $* + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= -C $(src)/tools/ $* # Single targets # --------------------------------------------------------------------------- diff --git a/trunk/arch/alpha/include/asm/thread_info.h b/trunk/arch/alpha/include/asm/thread_info.h index 1f8c72959fb6..4554ecbff7c6 100644 --- a/trunk/arch/alpha/include/asm/thread_info.h +++ b/trunk/arch/alpha/include/asm/thread_info.h @@ -7,7 +7,6 @@ #include #include #include -#include #endif #ifndef __ASSEMBLY__ @@ -22,7 +21,6 @@ struct thread_info { mm_segment_t addr_limit; /* thread address space */ unsigned cpu; /* current CPU */ int preempt_count; /* 0 => preemptable, <0 => BUG */ - unsigned int status; /* thread-synchronous flags */ int bpt_nsaved; unsigned long bpt_addr[2]; /* breakpoint handling */ @@ -65,6 +63,8 @@ register struct thread_info *__current_thread_info __asm__("$8"); * - these are process state flags and used from assembly * - pending work-to-be-done flags come first and must be assigned to be * within bits 0 to 7 to fit in and immediate operand. + * - ALPHA_UAC_SHIFT below must be kept consistent with the unaligned + * control flags. * * TIF_SYSCALL_TRACE is known to be 0 via blbs. */ @@ -72,12 +72,18 @@ register struct thread_info *__current_thread_info __asm__("$8"); #define TIF_NOTIFY_RESUME 1 /* callback before returning to user */ #define TIF_SIGPENDING 2 /* signal pending */ #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ +#define TIF_POLLING_NRFLAG 8 /* poll_idle is polling NEED_RESCHED */ #define TIF_DIE_IF_KERNEL 9 /* dik recursion lock */ +#define TIF_UAC_NOPRINT 10 /* ! Preserve sequence of following */ +#define TIF_UAC_NOFIX 11 /* ! flags as they match */ +#define TIF_UAC_SIGBUS 12 /* ! userspace part of 'osf_sysinfo' */ #define TIF_MEMDIE 13 /* is terminating due to OOM killer */ +#define TIF_RESTORE_SIGMASK 14 /* restore signal mask in do_signal */ #define _TIF_SYSCALL_TRACE (1<status & TS_POLLING) - -#ifndef __ASSEMBLY__ -#define HAVE_SET_RESTORE_SIGMASK 1 -static inline void set_restore_sigmask(void) -{ - struct thread_info *ti = current_thread_info(); - ti->status |= TS_RESTORE_SIGMASK; - WARN_ON(!test_bit(TIF_SIGPENDING, (unsigned long *)&ti->flags)); -} -static inline void clear_restore_sigmask(void) -{ - current_thread_info()->status &= ~TS_RESTORE_SIGMASK; -} -static inline bool test_restore_sigmask(void) -{ - return current_thread_info()->status & TS_RESTORE_SIGMASK; -} -static inline bool test_and_clear_restore_sigmask(void) -{ - struct thread_info *ti = current_thread_info(); - if (!(ti->status & TS_RESTORE_SIGMASK)) - return false; - ti->status &= ~TS_RESTORE_SIGMASK; - return true; -} -#endif - -#define SET_UNALIGN_CTL(task,value) ({ \ - __u32 status = task_thread_info(task)->status & ~UAC_BITMASK; \ - if (value & PR_UNALIGN_NOPRINT) \ - status |= TS_UAC_NOPRINT; \ - if (value & PR_UNALIGN_SIGBUS) \ - status |= TS_UAC_SIGBUS; \ - if (value & 4) /* alpha-specific */ \ - status |= TS_UAC_NOFIX; \ - task_thread_info(task)->status = status; \ +#define SET_UNALIGN_CTL(task,value) ({ \ + task_thread_info(task)->flags = ((task_thread_info(task)->flags & \ + ~ALPHA_UAC_MASK) \ + | (((value) << ALPHA_UAC_SHIFT) & (1<status & ~UAC_BITMASK; \ - __u32 res = 0; \ - if (status & TS_UAC_NOPRINT) \ - res |= PR_UNALIGN_NOPRINT; \ - if (status & TS_UAC_SIGBUS) \ - res |= PR_UNALIGN_SIGBUS; \ - if (status & TS_UAC_NOFIX) \ - res |= 4; \ - put_user(res, (int __user *)(value)); \ + put_user((task_thread_info(task)->flags & (1 << TIF_UAC_NOPRINT))\ + >> ALPHA_UAC_SHIFT \ + | (task_thread_info(task)->flags & (1 << TIF_UAC_SIGBUS))\ + >> (ALPHA_UAC_SHIFT + 1) \ + | (task_thread_info(task)->flags & (1 << TIF_UAC_NOFIX))\ + >> (ALPHA_UAC_SHIFT - 1), \ + (int __user *)(value)); \ }) +#define tsk_is_polling(t) test_tsk_thread_flag(t, TIF_POLLING_NRFLAG) + #endif /* __KERNEL__ */ #endif /* _ALPHA_THREAD_INFO_H */ diff --git a/trunk/arch/alpha/kernel/osf_sys.c b/trunk/arch/alpha/kernel/osf_sys.c index 14db93e4c8a8..9eb090582cf1 100644 --- a/trunk/arch/alpha/kernel/osf_sys.c +++ b/trunk/arch/alpha/kernel/osf_sys.c @@ -445,7 +445,7 @@ struct procfs_args { * unhappy with OSF UFS. [CHECKME] */ static int -osf_ufs_mount(const char *dirname, struct ufs_args __user *args, int flags) +osf_ufs_mount(char *dirname, struct ufs_args __user *args, int flags) { int retval; struct cdfs_args tmp; @@ -465,7 +465,7 @@ osf_ufs_mount(const char *dirname, struct ufs_args __user *args, int flags) } static int -osf_cdfs_mount(const char *dirname, struct cdfs_args __user *args, int flags) +osf_cdfs_mount(char *dirname, struct cdfs_args __user *args, int flags) { int retval; struct cdfs_args tmp; @@ -485,7 +485,7 @@ osf_cdfs_mount(const char *dirname, struct cdfs_args __user *args, int flags) } static int -osf_procfs_mount(const char *dirname, struct procfs_args __user *args, int flags) +osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags) { struct procfs_args tmp; @@ -793,7 +793,8 @@ SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer, case GSI_UACPROC: if (nbytes < sizeof(unsigned int)) return -EINVAL; - w = current_thread_info()->status & UAC_BITMASK; + w = (current_thread_info()->flags >> ALPHA_UAC_SHIFT) & + UAC_BITMASK; if (put_user(w, (unsigned int __user *)buffer)) return -EFAULT; return 1; @@ -903,20 +904,24 @@ SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer, break; case SSI_NVPAIRS: { - unsigned __user *p = buffer; - unsigned i; + unsigned long v, w, i; + unsigned int old, new; - for (i = 0, p = buffer; i < nbytes; ++i, p += 2) { - unsigned v, w, status; + for (i = 0; i < nbytes; ++i) { - if (get_user(v, p) || get_user(w, p + 1)) + if (get_user(v, 2*i + (unsigned int __user *)buffer)) + return -EFAULT; + if (get_user(w, 2*i + 1 + (unsigned int __user *)buffer)) return -EFAULT; switch (v) { case SSIN_UACPROC: - w &= UAC_BITMASK; - status = current_thread_info()->status; - status = (status & ~UAC_BITMASK) | w; - current_thread_info()->status = status; + again: + old = current_thread_info()->flags; + new = old & ~(UAC_BITMASK << ALPHA_UAC_SHIFT); + new = new | (w & UAC_BITMASK) << ALPHA_UAC_SHIFT; + if (cmpxchg(¤t_thread_info()->flags, + old, new) != old) + goto again; break; default: diff --git a/trunk/arch/alpha/kernel/process.c b/trunk/arch/alpha/kernel/process.c index 51987dcf79b8..4054e0ffe2b2 100644 --- a/trunk/arch/alpha/kernel/process.c +++ b/trunk/arch/alpha/kernel/process.c @@ -49,7 +49,7 @@ EXPORT_SYMBOL(pm_power_off); void cpu_idle(void) { - current_thread_info()->status |= TS_POLLING; + set_thread_flag(TIF_POLLING_NRFLAG); while (1) { /* FIXME -- EV6 and LCA45 know how to power down diff --git a/trunk/arch/alpha/kernel/traps.c b/trunk/arch/alpha/kernel/traps.c index 272666d006df..80d987c0e9aa 100644 --- a/trunk/arch/alpha/kernel/traps.c +++ b/trunk/arch/alpha/kernel/traps.c @@ -780,17 +780,17 @@ do_entUnaUser(void __user * va, unsigned long opcode, /* Check the UAC bits to decide what the user wants us to do with the unaliged access. */ - if (!(current_thread_info()->status & TS_UAC_NOPRINT)) { + if (!test_thread_flag (TIF_UAC_NOPRINT)) { if (__ratelimit(&ratelimit)) { printk("%s(%d): unaligned trap at %016lx: %p %lx %ld\n", current->comm, task_pid_nr(current), regs->pc - 4, va, opcode, reg); } } - if ((current_thread_info()->status & TS_UAC_SIGBUS)) + if (test_thread_flag (TIF_UAC_SIGBUS)) goto give_sigbus; /* Not sure why you'd want to use this, but... */ - if ((current_thread_info()->status & TS_UAC_NOFIX)) + if (test_thread_flag (TIF_UAC_NOFIX)) return; /* Don't bother reading ds in the access check since we already diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 8a027f9e339e..73067efd4845 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -330,8 +330,6 @@ config ARCH_AT91 select IRQ_DOMAIN select NEED_MACH_GPIO_H select NEED_MACH_IO_H if PCCARD - select PINCTRL - select PINCTRL_AT91 if USE_OF help This enables support for systems based on Atmel AT91RM9200 and AT91SAM9* processors. @@ -366,7 +364,6 @@ config ARCH_CNS3XXX config ARCH_CLPS711X bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" - select ARCH_REQUIRE_GPIOLIB select ARCH_USES_GETTIMEOFFSET select CLKDEV_LOOKUP select COMMON_CLK @@ -550,7 +547,6 @@ config ARCH_KIRKWOOD select CPU_FEROCEON select GENERIC_CLOCKEVENTS select PCI - select PCI_QUIRKS select PLAT_ORION_LEGACY help Support for the following Marvell Kirkwood series SoCs: @@ -590,7 +586,6 @@ config ARCH_MMP select GPIO_PXA select IRQ_DOMAIN select NEED_MACH_GPIO_H - select PINCTRL select PLAT_PXA select SPARSE_IRQ help @@ -909,7 +904,6 @@ config ARCH_NOMADIK config PLAT_SPEAR bool "ST SPEAr" - select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB select ARM_AMBA select CLKDEV_LOOKUP @@ -1609,8 +1603,8 @@ config NR_CPUS default "4" config HOTPLUG_CPU - bool "Support for hot-pluggable CPUs" - depends on SMP && HOTPLUG + bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" + depends on SMP && HOTPLUG && EXPERIMENTAL help Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. @@ -1651,8 +1645,8 @@ config HZ default 100 config THUMB2_KERNEL - bool "Compile the kernel in Thumb-2 mode" - depends on CPU_V7 && !CPU_V6 && !CPU_V6K + bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)" + depends on CPU_V7 && !CPU_V6 && !CPU_V6K && EXPERIMENTAL select AEABI select ARM_ASM_UNIFIED select ARM_UNWIND @@ -1856,7 +1850,6 @@ config XEN_DOM0 config XEN bool "Xen guest support on ARM (EXPERIMENTAL)" depends on EXPERIMENTAL && ARM && OF - depends on CPU_V7 && !CPU_V6 help Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. diff --git a/trunk/arch/arm/Makefile b/trunk/arch/arm/Makefile index c35baf102f6f..f023e3acdfbd 100644 --- a/trunk/arch/arm/Makefile +++ b/trunk/arch/arm/Makefile @@ -21,6 +21,8 @@ endif OBJCOPYFLAGS :=-O binary -R .comment -S GZFLAGS :=-9 #KBUILD_CFLAGS +=-pipe +# Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb: +KBUILD_CFLAGS +=$(call cc-option,-marm,) # Never generate .eh_frame KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm) @@ -103,20 +105,17 @@ endif ifeq ($(CONFIG_THUMB2_KERNEL),y) AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=always,-Wa$(comma)-mauto-it) AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W) -CFLAGS_ISA :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN) -AFLAGS_ISA :=$(CFLAGS_ISA) -Wa$(comma)-mthumb +CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN) +AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb # Work around buggy relocation from gas if requested: ifeq ($(CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11),y) CFLAGS_MODULE +=-fno-optimize-sibling-calls endif -else -CFLAGS_ISA :=$(call cc-option,-marm,) -AFLAGS_ISA :=$(CFLAGS_ISA) endif # Need -Uarm for gcc < 3.x -KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm -KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float +KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_THUMB2) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm +KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_THUMB2) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float CHECKFLAGS += -D__arm__ @@ -292,10 +291,10 @@ zinstall uinstall install: vmlinux $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@ %.dtb: scripts - $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@ + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ dtbs: scripts - $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) dtbs + $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ # We use MRPROPER_FILES and CLEAN_FILES now archclean: diff --git a/trunk/arch/arm/boot/Makefile b/trunk/arch/arm/boot/Makefile index abfce280f57b..3fdab016aa5c 100644 --- a/trunk/arch/arm/boot/Makefile +++ b/trunk/arch/arm/boot/Makefile @@ -15,6 +15,8 @@ ifneq ($(MACHINE),) include $(srctree)/$(MACHINE)/Makefile.boot endif +include $(srctree)/arch/arm/boot/dts/Makefile + # Note: the following conditions must always be true: # ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) # PARAMS_PHYS must be within 4MB of ZRELADDR @@ -31,7 +33,7 @@ ifeq ($(CONFIG_XIP_KERNEL),y) $(obj)/xipImage: vmlinux FORCE $(call if_changed,objcopy) - @$(kecho) ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' + @echo ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' $(obj)/Image $(obj)/zImage: FORCE @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' @@ -46,17 +48,27 @@ $(obj)/xipImage: FORCE $(obj)/Image: vmlinux FORCE $(call if_changed,objcopy) - @$(kecho) ' Kernel: $@ is ready' + @echo ' Kernel: $@ is ready' $(obj)/compressed/vmlinux: $(obj)/Image FORCE $(Q)$(MAKE) $(build)=$(obj)/compressed $@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE $(call if_changed,objcopy) - @$(kecho) ' Kernel: $@ is ready' + @echo ' Kernel: $@ is ready' endif +targets += $(dtb-y) + +# Rule to build device tree blobs +$(obj)/%.dtb: $(src)/dts/%.dts FORCE + $(call if_changed_dep,dtc) + +$(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y)) + +clean-files := *.dtb + ifneq ($(LOADADDR),) UIMAGE_LOADADDR=$(LOADADDR) else @@ -78,7 +90,7 @@ fi $(obj)/uImage: $(obj)/zImage FORCE @$(check_for_multiple_loadaddr) $(call if_changed,uimage) - @$(kecho) ' Image $@ is ready' + @echo ' Image $@ is ready' $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE $(Q)$(MAKE) $(build)=$(obj)/bootp $@ @@ -86,7 +98,7 @@ $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE $(obj)/bootpImage: $(obj)/bootp/bootp FORCE $(call if_changed,objcopy) - @$(kecho) ' Kernel: $@ is ready' + @echo ' Kernel: $@ is ready' PHONY += initrd FORCE initrd: diff --git a/trunk/arch/arm/boot/compressed/head.S b/trunk/arch/arm/boot/compressed/head.S index 49ca86e37b8d..90275f036cd1 100644 --- a/trunk/arch/arm/boot/compressed/head.S +++ b/trunk/arch/arm/boot/compressed/head.S @@ -652,15 +652,6 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size mov pc, lr ENDPROC(__setup_mmu) -@ Enable unaligned access on v6, to allow better code generation -@ for the decompressor C code: -__armv6_mmu_cache_on: - mrc p15, 0, r0, c1, c0, 0 @ read SCTLR - bic r0, r0, #2 @ A (no unaligned access fault) - orr r0, r0, #1 << 22 @ U (v6 unaligned access model) - mcr p15, 0, r0, c1, c0, 0 @ write SCTLR - b __armv4_mmu_cache_on - __arm926ejs_mmu_cache_on: #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH mov r0, #4 @ put dcache in WT mode @@ -703,9 +694,6 @@ __armv7_mmu_cache_on: bic r0, r0, #1 << 28 @ clear SCTLR.TRE orr r0, r0, #0x5000 @ I-cache enable, RR cache replacement orr r0, r0, #0x003c @ write buffer - bic r0, r0, #2 @ A (no unaligned access fault) - orr r0, r0, #1 << 22 @ U (v6 unaligned access model) - @ (needed for ARM1176) #ifdef CONFIG_MMU #ifdef CONFIG_CPU_ENDIAN_BE8 orr r0, r0, #1 << 25 @ big-endian page tables @@ -926,7 +914,7 @@ proc_types: .word 0x0007b000 @ ARMv6 .word 0x000ff000 - W(b) __armv6_mmu_cache_on + W(b) __armv4_mmu_cache_on W(b) __armv4_mmu_cache_off W(b) __armv6_mmu_cache_flush diff --git a/trunk/arch/arm/boot/dts/Makefile b/trunk/arch/arm/boot/dts/Makefile index 262493752234..c1ce813fcc4a 100644 --- a/trunk/arch/arm/boot/dts/Makefile +++ b/trunk/arch/arm/boot/dts/Makefile @@ -1,37 +1,21 @@ ifeq ($(CONFIG_OF),y) -# Keep at91 dtb files sorted alphabetically for each SoC -# rm9200 -dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb -# sam9260 -dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb -dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb -dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb -dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb -dtb-$(CONFIG_ARCH_AT91) += tny_a9260.dtb -dtb-$(CONFIG_ARCH_AT91) += usb_a9260.dtb -# sam9263 -dtb-$(CONFIG_ARCH_AT91) += at91sam9263ek.dtb -dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb -dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb -# sam9g20 -dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek.dtb -dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek_2mmc.dtb -dtb-$(CONFIG_ARCH_AT91) += kizbox.dtb -dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb -dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb -# sam9g45 -dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb -dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb -# sam9n12 -dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb -# sam9x5 -dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb -dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb -dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb -dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb -dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb - +dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb \ + at91sam9263ek.dtb \ + at91sam9g20ek_2mmc.dtb \ + at91sam9g20ek.dtb \ + at91sam9g25ek.dtb \ + at91sam9m10g45ek.dtb \ + at91sam9n12ek.dtb \ + ethernut5.dtb \ + evk-pro3.dtb \ + kizbox.dtb \ + tny_a9260.dtb \ + tny_a9263.dtb \ + tny_a9g20.dtb \ + usb_a9260.dtb \ + usb_a9263.dtb \ + usb_a9g20.dtb dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ dove-cubox.dtb \ @@ -41,8 +25,6 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ exynos4210-trats.dtb \ exynos5250-smdk5250.dtb dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb -dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \ - integratorcp.dtb dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ kirkwood-dns325.dtb \ @@ -120,12 +102,4 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ wm8505-ref.dtb \ wm8650-mid.dtb -targets += dtbs endif - -# *.dtb used to be generated in the directory above. Clean out the -# old build results so people don't accidentally use them. -dtbs: $(addprefix $(obj)/, $(dtb-y)) - $(Q)rm -f $(obj)/../*.dtb - -clean-files := *.dtb diff --git a/trunk/arch/arm/boot/dts/animeo_ip.dts b/trunk/arch/arm/boot/dts/animeo_ip.dts deleted file mode 100644 index 74d92cd29d87..000000000000 --- a/trunk/arch/arm/boot/dts/animeo_ip.dts +++ /dev/null @@ -1,178 +0,0 @@ -/* - * animeo_ip.dts - Device Tree file for Somfy Animeo IP Boards - * - * Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD - * - * Licensed under GPLv2 only. - */ - -/dts-v1/; -/include/ "at91sam9260.dtsi" - -/ { - model = "Somfy Animeo IP"; - compatible = "somfy,animeo-ip", "atmel,at91sam9260", "atmel,at91sam9"; - - aliases { - serial0 = &usart1; - serial1 = &usart2; - serial2 = &usart0; - serial3 = &dbgu; - serial4 = &usart3; - serial5 = &uart0; - serial6 = &uart1; - }; - - chosen { - linux,stdout-path = &usart2; - }; - - memory { - reg = <0x20000000 0x4000000>; - }; - - clocks { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - main_clock: clock@0 { - compatible = "atmel,osc", "fixed-clock"; - clock-frequency = <18432000>; - }; - }; - - ahb { - apb { - usart0: serial@fffb0000 { - pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts>; - linux,rs485-enabled-at-boot-time; - status = "okay"; - }; - - usart1: serial@fffb4000 { - pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts>; - linux,rs485-enabled-at-boot-time; - status = "okay"; - }; - - usart2: serial@fffb8000 { - pinctrl-0 = <&pinctrl_usart2>; - status = "okay"; - }; - - macb0: ethernet@fffc4000 { - pinctrl-0 = <&pinctrl_macb_rmii &pinctrl_macb_rmii_mii>; - phy-mode = "mii"; - status = "okay"; - }; - - mmc0: mmc@fffa8000 { - pinctrl-0 = <&pinctrl_mmc0_clk - &pinctrl_mmc0_slot1_cmd_dat0 - &pinctrl_mmc0_slot1_dat1_3>; - status = "okay"; - - slot@1 { - reg = <1>; - bus-width = <4>; - }; - }; - }; - - nand0: nand@40000000 { - nand-bus-width = <8>; - nand-ecc-mode = "soft"; - nand-on-flash-bbt; - status = "okay"; - - at91bootstrap@0 { - label = "at91bootstrap"; - reg = <0x0 0x8000>; - }; - - barebox@8000 { - label = "barebox"; - reg = <0x8000 0x40000>; - }; - - bareboxenv@48000 { - label = "bareboxenv"; - reg = <0x48000 0x8000>; - }; - - user_block@0x50000 { - label = "user_block"; - reg = <0x50000 0xb0000>; - }; - - kernel@100000 { - label = "kernel"; - reg = <0x100000 0x1b0000>; - }; - - root@2b0000 { - label = "root"; - reg = <0x2b0000 0x1D50000>; - }; - }; - - usb0: ohci@00500000 { - num-ports = <2>; - atmel,vbus-gpio = <&pioB 15 1>; - status = "okay"; - }; - }; - - leds { - compatible = "gpio-leds"; - - power_green { - label = "power_green"; - gpios = <&pioC 17 0>; - linux,default-trigger = "heartbeat"; - }; - - power_red { - label = "power_red"; - gpios = <&pioA 2 0>; - }; - - tx_green { - label = "tx_green"; - gpios = <&pioC 19 0>; - }; - - tx_red { - label = "tx_red"; - gpios = <&pioC 18 0>; - }; - }; - - gpio_keys { - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; - - keyswitch_in { - label = "keyswitch_in"; - gpios = <&pioB 1 0>; - linux,code = <28>; - gpio-key,wakeup; - }; - - error_in { - label = "error_in"; - gpios = <&pioB 2 0>; - linux,code = <29>; - gpio-key,wakeup; - }; - - btn { - label = "btn"; - gpios = <&pioC 23 0>; - linux,code = <31>; - gpio-key,wakeup; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91rm9200.dtsi b/trunk/arch/arm/boot/dts/at91rm9200.dtsi deleted file mode 100644 index e154f242c680..000000000000 --- a/trunk/arch/arm/boot/dts/at91rm9200.dtsi +++ /dev/null @@ -1,349 +0,0 @@ -/* - * at91rm9200.dtsi - Device Tree Include file for AT91RM9200 family SoC - * - * Copyright (C) 2011 Atmel, - * 2011 Nicolas Ferre , - * 2012 Joachim Eastwood - * - * Based on at91sam9260.dtsi - * - * Licensed under GPLv2 or later. - */ - -/include/ "skeleton.dtsi" - -/ { - model = "Atmel AT91RM9200 family SoC"; - compatible = "atmel,at91rm9200"; - interrupt-parent = <&aic>; - - aliases { - serial0 = &dbgu; - serial1 = &usart0; - serial2 = &usart1; - serial3 = &usart2; - serial4 = &usart3; - gpio0 = &pioA; - gpio1 = &pioB; - gpio2 = &pioC; - gpio3 = &pioD; - tcb0 = &tcb0; - tcb1 = &tcb1; - }; - cpus { - cpu@0 { - compatible = "arm,arm920t"; - }; - }; - - memory { - reg = <0x20000000 0x04000000>; - }; - - ahb { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - apb { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - aic: interrupt-controller@fffff000 { - #interrupt-cells = <3>; - compatible = "atmel,at91rm9200-aic"; - interrupt-controller; - reg = <0xfffff000 0x200>; - atmel,external-irqs = <25 26 27 28 29 30 31>; - }; - - ramc0: ramc@ffffff00 { - compatible = "atmel,at91rm9200-sdramc"; - reg = <0xffffff00 0x100>; - }; - - pmc: pmc@fffffc00 { - compatible = "atmel,at91rm9200-pmc"; - reg = <0xfffffc00 0x100>; - }; - - st: timer@fffffd00 { - compatible = "atmel,at91rm9200-st"; - reg = <0xfffffd00 0x100>; - interrupts = <1 4 7>; - }; - - tcb0: timer@fffa0000 { - compatible = "atmel,at91rm9200-tcb"; - reg = <0xfffa0000 0x100>; - interrupts = <17 4 0 18 4 0 19 4 0>; - }; - - tcb1: timer@fffa4000 { - compatible = "atmel,at91rm9200-tcb"; - reg = <0xfffa4000 0x100>; - interrupts = <20 4 0 21 4 0 22 4 0>; - }; - - pinctrl@fffff400 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; - ranges = <0xfffff400 0xfffff400 0x800>; - - atmel,mux-mask = < - /* A B */ - 0xffffffff 0xffffffff /* pioA */ - 0xffffffff 0x083fffff /* pioB */ - 0xffff3fff 0x00000000 /* pioC */ - 0x03ff87ff 0x0fffff80 /* pioD */ - >; - - /* shared pinctrl settings */ - dbgu { - pinctrl_dbgu: dbgu-0 { - atmel,pins = - <0 30 0x1 0x0 /* PA30 periph A */ - 0 31 0x1 0x1>; /* PA31 periph with pullup */ - }; - }; - - uart0 { - pinctrl_uart0: uart0-0 { - atmel,pins = - <0 17 0x1 0x0 /* PA17 periph A */ - 0 18 0x1 0x0>; /* PA18 periph A */ - }; - - pinctrl_uart0_rts: uart0_rts-0 { - atmel,pins = - <0 20 0x1 0x0>; /* PA20 periph A */ - }; - - pinctrl_uart0_cts: uart0_cts-0 { - atmel,pins = - <0 21 0x1 0x0>; /* PA21 periph A */ - }; - }; - - uart1 { - pinctrl_uart1: uart1-0 { - atmel,pins = - <1 20 0x1 0x1 /* PB20 periph A with pullup */ - 1 21 0x1 0x0>; /* PB21 periph A */ - }; - - pinctrl_uart1_rts: uart1_rts-0 { - atmel,pins = - <1 24 0x1 0x0>; /* PB24 periph A */ - }; - - pinctrl_uart1_cts: uart1_cts-0 { - atmel,pins = - <1 26 0x1 0x0>; /* PB26 periph A */ - }; - - pinctrl_uart1_dtr_dsr: uart1_dtr_dsr-0 { - atmel,pins = - <1 19 0x1 0x0 /* PB19 periph A */ - 1 25 0x1 0x0>; /* PB25 periph A */ - }; - - pinctrl_uart1_dcd: uart1_dcd-0 { - atmel,pins = - <1 23 0x1 0x0>; /* PB23 periph A */ - }; - - pinctrl_uart1_ri: uart1_ri-0 { - atmel,pins = - <1 18 0x1 0x0>; /* PB18 periph A */ - }; - }; - - uart2 { - pinctrl_uart2: uart2-0 { - atmel,pins = - <0 22 0x1 0x0 /* PA22 periph A */ - 0 23 0x1 0x1>; /* PA23 periph A with pullup */ - }; - - pinctrl_uart2_rts: uart2_rts-0 { - atmel,pins = - <0 30 0x2 0x0>; /* PA30 periph B */ - }; - - pinctrl_uart2_cts: uart2_cts-0 { - atmel,pins = - <0 31 0x2 0x0>; /* PA31 periph B */ - }; - }; - - uart3 { - pinctrl_uart3: uart3-0 { - atmel,pins = - <0 5 0x2 0x1 /* PA5 periph B with pullup */ - 0 6 0x2 0x0>; /* PA6 periph B */ - }; - - pinctrl_uart3_rts: uart3_rts-0 { - atmel,pins = - <1 0 0x2 0x0>; /* PB0 periph B */ - }; - - pinctrl_uart3_cts: uart3_cts-0 { - atmel,pins = - <1 1 0x2 0x0>; /* PB1 periph B */ - }; - }; - - nand { - pinctrl_nand: nand-0 { - atmel,pins = - <2 2 0x0 0x1 /* PC2 gpio RDY pin pull_up */ - 1 1 0x0 0x1>; /* PB1 gpio CD pin pull_up */ - }; - }; - - pioA: gpio@fffff400 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff400 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; - - pioB: gpio@fffff600 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff600 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; - - pioC: gpio@fffff800 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff800 0x200>; - interrupts = <4 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; - - pioD: gpio@fffffa00 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffffa00 0x200>; - interrupts = <5 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; - }; - - dbgu: serial@fffff200 { - compatible = "atmel,at91rm9200-usart"; - reg = <0xfffff200 0x200>; - interrupts = <1 4 7>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_dbgu>; - status = "disabled"; - }; - - usart0: serial@fffc0000 { - compatible = "atmel,at91rm9200-usart"; - reg = <0xfffc0000 0x200>; - interrupts = <6 4 5>; - atmel,use-dma-rx; - atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_uart0>; - status = "disabled"; - }; - - usart1: serial@fffc4000 { - compatible = "atmel,at91rm9200-usart"; - reg = <0xfffc4000 0x200>; - interrupts = <7 4 5>; - atmel,use-dma-rx; - atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_uart1>; - status = "disabled"; - }; - - usart2: serial@fffc8000 { - compatible = "atmel,at91rm9200-usart"; - reg = <0xfffc8000 0x200>; - interrupts = <8 4 5>; - atmel,use-dma-rx; - atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_uart2>; - status = "disabled"; - }; - - usart3: serial@fffcc000 { - compatible = "atmel,at91rm9200-usart"; - reg = <0xfffcc000 0x200>; - interrupts = <23 4 5>; - atmel,use-dma-rx; - atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_uart3>; - status = "disabled"; - }; - - usb1: gadget@fffb0000 { - compatible = "atmel,at91rm9200-udc"; - reg = <0xfffb0000 0x4000>; - interrupts = <11 4 2>; - status = "disabled"; - }; - }; - - nand0: nand@40000000 { - compatible = "atmel,at91rm9200-nand"; - #address-cells = <1>; - #size-cells = <1>; - reg = <0x40000000 0x10000000>; - atmel,nand-addr-offset = <21>; - atmel,nand-cmd-offset = <22>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_nand>; - nand-ecc-mode = "soft"; - gpios = <&pioC 2 0 - 0 - &pioB 1 0 - >; - status = "disabled"; - }; - - usb0: ohci@00300000 { - compatible = "atmel,at91rm9200-ohci", "usb-ohci"; - reg = <0x00300000 0x100000>; - interrupts = <23 4 2>; - status = "disabled"; - }; - }; - - i2c@0 { - compatible = "i2c-gpio"; - gpios = <&pioA 23 0 /* sda */ - &pioA 24 0 /* scl */ - >; - i2c-gpio,sda-open-drain; - i2c-gpio,scl-open-drain; - i2c-gpio,delay-us = <2>; /* ~100 kHz */ - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91rm9200ek.dts b/trunk/arch/arm/boot/dts/at91rm9200ek.dts deleted file mode 100644 index 8aa48931e0a2..000000000000 --- a/trunk/arch/arm/boot/dts/at91rm9200ek.dts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * at91rm9200ek.dts - Device Tree file for Atmel AT91RM9200 evaluation kit - * - * Copyright (C) 2012 Joachim Eastwood - * - * Licensed under GPLv2 only - */ -/dts-v1/; -/include/ "at91rm9200.dtsi" - -/ { - model = "Atmel AT91RM9200 evaluation kit"; - compatible = "atmel,at91rm9200ek", "atmel,at91rm9200"; - - memory { - reg = <0x20000000 0x4000000>; - }; - - clocks { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - main_clock: clock@0 { - compatible = "atmel,osc", "fixed-clock"; - clock-frequency = <18432000>; - }; - }; - - ahb { - apb { - dbgu: serial@fffff200 { - status = "okay"; - }; - - usart1: serial@fffc4000 { - pinctrl-0 = - <&pinctrl_uart1 - &pinctrl_uart1_rts - &pinctrl_uart1_cts - &pinctrl_uart1_dtr_dsr - &pinctrl_uart1_dcd - &pinctrl_uart1_ri>; - status = "okay"; - }; - - usb1: gadget@fffb0000 { - atmel,vbus-gpio = <&pioD 4 0>; - status = "okay"; - }; - }; - - usb0: ohci@00300000 { - num-ports = <2>; - status = "okay"; - }; - }; - - leds { - compatible = "gpio-leds"; - - ds2 { - label = "green"; - gpios = <&pioB 0 0x1>; - linux,default-trigger = "mmc0"; - }; - - ds4 { - label = "yellow"; - gpios = <&pioB 1 0x1>; - linux,default-trigger = "heartbeat"; - }; - - ds6 { - label = "red"; - gpios = <&pioB 2 0x1>; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9260.dtsi b/trunk/arch/arm/boot/dts/at91sam9260.dtsi index b1d3fab60e0a..d410581a5a85 100644 --- a/trunk/arch/arm/boot/dts/at91sam9260.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9260.dtsi @@ -21,8 +21,8 @@ serial2 = &usart1; serial3 = &usart2; serial4 = &usart3; - serial5 = &uart0; - serial6 = &uart1; + serial5 = &usart4; + serial6 = &usart5; gpio0 = &pioA; gpio1 = &pioB; gpio2 = &pioC; @@ -98,250 +98,40 @@ interrupts = <26 4 0 27 4 0 28 4 0>; }; - pinctrl@fffff400 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; - ranges = <0xfffff400 0xfffff400 0x600>; - - atmel,mux-mask = < - /* A B */ - 0xffffffff 0xffc00c3b /* pioA */ - 0xffffffff 0x7fff3ccf /* pioB */ - 0xffffffff 0x007fffff /* pioC */ - >; - - /* shared pinctrl settings */ - dbgu { - pinctrl_dbgu: dbgu-0 { - atmel,pins = - <1 14 0x1 0x0 /* PB14 periph A */ - 1 15 0x1 0x1>; /* PB15 periph with pullup */ - }; - }; - - usart0 { - pinctrl_usart0: usart0-0 { - atmel,pins = - <1 4 0x1 0x0 /* PB4 periph A */ - 1 5 0x1 0x0>; /* PB5 periph A */ - }; - - pinctrl_usart0_rts: usart0_rts-0 { - atmel,pins = - <1 26 0x1 0x0>; /* PB26 periph A */ - }; - - pinctrl_usart0_cts: usart0_cts-0 { - atmel,pins = - <1 27 0x1 0x0>; /* PB27 periph A */ - }; - - pinctrl_usart0_dtr_dsr: usart0_dtr_dsr-0 { - atmel,pins = - <1 24 0x1 0x0 /* PB24 periph A */ - 1 22 0x1 0x0>; /* PB22 periph A */ - }; - - pinctrl_usart0_dcd: usart0_dcd-0 { - atmel,pins = - <1 23 0x1 0x0>; /* PB23 periph A */ - }; - - pinctrl_usart0_ri: usart0_ri-0 { - atmel,pins = - <1 25 0x1 0x0>; /* PB25 periph A */ - }; - }; - - usart1 { - pinctrl_usart1: usart1-0 { - atmel,pins = - <2 6 0x1 0x1 /* PB6 periph A with pullup */ - 2 7 0x1 0x0>; /* PB7 periph A */ - }; - - pinctrl_usart1_rts: usart1_rts-0 { - atmel,pins = - <1 28 0x1 0x0>; /* PB28 periph A */ - }; - - pinctrl_usart1_cts: usart1_cts-0 { - atmel,pins = - <1 29 0x1 0x0>; /* PB29 periph A */ - }; - }; - - usart2 { - pinctrl_usart2: usart2-0 { - atmel,pins = - <1 8 0x1 0x1 /* PB8 periph A with pullup */ - 1 9 0x1 0x0>; /* PB9 periph A */ - }; - - pinctrl_usart2_rts: usart2_rts-0 { - atmel,pins = - <0 4 0x1 0x0>; /* PA4 periph A */ - }; - - pinctrl_usart2_cts: usart2_cts-0 { - atmel,pins = - <0 5 0x1 0x0>; /* PA5 periph A */ - }; - }; - - usart3 { - pinctrl_usart3: usart3-0 { - atmel,pins = - <2 10 0x1 0x1 /* PB10 periph A with pullup */ - 2 11 0x1 0x0>; /* PB11 periph A */ - }; - - pinctrl_usart3_rts: usart3_rts-0 { - atmel,pins = - <3 8 0x2 0x0>; /* PB8 periph B */ - }; - - pinctrl_usart3_cts: usart3_cts-0 { - atmel,pins = - <3 10 0x2 0x0>; /* PB10 periph B */ - }; - }; - - uart0 { - pinctrl_uart0: uart0-0 { - atmel,pins = - <0 31 0x2 0x1 /* PA31 periph B with pullup */ - 0 30 0x2 0x0>; /* PA30 periph B */ - }; - }; - - uart1 { - pinctrl_uart1: uart1-0 { - atmel,pins = - <2 12 0x1 0x1 /* PB12 periph A with pullup */ - 2 13 0x1 0x0>; /* PB13 periph A */ - }; - }; - - nand { - pinctrl_nand: nand-0 { - atmel,pins = - <2 13 0x0 0x1 /* PC13 gpio RDY pin pull_up */ - 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ - }; - }; - - macb { - pinctrl_macb_rmii: macb_rmii-0 { - atmel,pins = - <0 12 0x1 0x0 /* PA12 periph A */ - 0 13 0x1 0x0 /* PA13 periph A */ - 0 14 0x1 0x0 /* PA14 periph A */ - 0 15 0x1 0x0 /* PA15 periph A */ - 0 16 0x1 0x0 /* PA16 periph A */ - 0 17 0x1 0x0 /* PA17 periph A */ - 0 18 0x1 0x0 /* PA18 periph A */ - 0 19 0x1 0x0 /* PA19 periph A */ - 0 20 0x1 0x0 /* PA20 periph A */ - 0 21 0x1 0x0>; /* PA21 periph A */ - }; - - pinctrl_macb_rmii_mii: macb_rmii_mii-0 { - atmel,pins = - <0 22 0x2 0x0 /* PA22 periph B */ - 0 23 0x2 0x0 /* PA23 periph B */ - 0 24 0x2 0x0 /* PA24 periph B */ - 0 25 0x2 0x0 /* PA25 periph B */ - 0 26 0x2 0x0 /* PA26 periph B */ - 0 27 0x2 0x0 /* PA27 periph B */ - 0 28 0x2 0x0 /* PA28 periph B */ - 0 29 0x2 0x0>; /* PA29 periph B */ - }; - - pinctrl_macb_rmii_mii_alt: macb_rmii_mii-1 { - atmel,pins = - <0 10 0x2 0x0 /* PA10 periph B */ - 0 11 0x2 0x0 /* PA11 periph B */ - 0 24 0x2 0x0 /* PA24 periph B */ - 0 25 0x2 0x0 /* PA25 periph B */ - 0 26 0x2 0x0 /* PA26 periph B */ - 0 27 0x2 0x0 /* PA27 periph B */ - 0 28 0x2 0x0 /* PA28 periph B */ - 0 29 0x2 0x0>; /* PA29 periph B */ - }; - }; - - mmc0 { - pinctrl_mmc0_clk: mmc0_clk-0 { - atmel,pins = - <0 8 0x1 0x0>; /* PA8 periph A */ - }; - - pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { - atmel,pins = - <0 7 0x1 0x1 /* PA7 periph A with pullup */ - 0 6 0x1 0x1>; /* PA6 periph A with pullup */ - }; - - pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { - atmel,pins = - <0 9 0x1 0x1 /* PA9 periph A with pullup */ - 0 10 0x1 0x1 /* PA10 periph A with pullup */ - 0 11 0x1 0x1>; /* PA11 periph A with pullup */ - }; - - pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { - atmel,pins = - <0 1 0x2 0x1 /* PA1 periph B with pullup */ - 0 0 0x2 0x1>; /* PA0 periph B with pullup */ - }; - - pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { - atmel,pins = - <0 5 0x2 0x1 /* PA5 periph B with pullup */ - 0 4 0x2 0x1 /* PA4 periph B with pullup */ - 0 3 0x2 0x1>; /* PA3 periph B with pullup */ - }; - }; - - pioA: gpio@fffff400 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff400 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioA: gpio@fffff400 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff400 0x100>; + interrupts = <2 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioB: gpio@fffff600 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff600 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioB: gpio@fffff600 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff600 0x100>; + interrupts = <3 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioC: gpio@fffff800 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff800 0x200>; - interrupts = <4 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioC: gpio@fffff800 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff800 0x100>; + interrupts = <4 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; }; dbgu: serial@fffff200 { compatible = "atmel,at91sam9260-usart"; reg = <0xfffff200 0x200>; interrupts = <1 4 7>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_dbgu>; status = "disabled"; }; @@ -351,8 +141,6 @@ interrupts = <6 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart0>; status = "disabled"; }; @@ -362,8 +150,6 @@ interrupts = <7 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart1>; status = "disabled"; }; @@ -373,8 +159,6 @@ interrupts = <8 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart2>; status = "disabled"; }; @@ -384,30 +168,24 @@ interrupts = <23 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart3>; status = "disabled"; }; - uart0: serial@fffd4000 { + usart4: serial@fffd4000 { compatible = "atmel,at91sam9260-usart"; reg = <0xfffd4000 0x200>; interrupts = <24 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_uart0>; status = "disabled"; }; - uart1: serial@fffd8000 { + usart5: serial@fffd8000 { compatible = "atmel,at91sam9260-usart"; reg = <0xfffd8000 0x200>; interrupts = <25 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_uart1>; status = "disabled"; }; @@ -415,8 +193,6 @@ compatible = "cdns,at32ap7000-macb", "cdns,macb"; reg = <0xfffc4000 0x100>; interrupts = <21 4 3>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_macb_rmii>; status = "disabled"; }; @@ -436,15 +212,6 @@ status = "disabled"; }; - mmc0: mmc@fffa8000 { - compatible = "atmel,hsmci"; - reg = <0xfffa8000 0x600>; - interrupts = <9 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - adc0: adc@fffe0000 { compatible = "atmel,at91sam9260-adc"; reg = <0xfffe0000 0x100>; @@ -490,8 +257,6 @@ >; atmel,nand-addr-offset = <21>; atmel,nand-cmd-offset = <22>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_nand>; gpios = <&pioC 13 0 &pioC 14 0 0 diff --git a/trunk/arch/arm/boot/dts/at91sam9263.dtsi b/trunk/arch/arm/boot/dts/at91sam9263.dtsi index 66106eecf1ed..3e6e5c1abbf3 100644 --- a/trunk/arch/arm/boot/dts/at91sam9263.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9263.dtsi @@ -89,243 +89,60 @@ reg = <0xfffffd10 0x10>; }; - pinctrl@fffff200 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; - ranges = <0xfffff200 0xfffff200 0xa00>; - - atmel,mux-mask = < - /* A B */ - 0xfffffffb 0xffffe07f /* pioA */ - 0x0007ffff 0x39072fff /* pioB */ - 0xffffffff 0x3ffffff8 /* pioC */ - 0xfffffbff 0xffffffff /* pioD */ - 0xffe00fff 0xfbfcff00 /* pioE */ - >; - - /* shared pinctrl settings */ - dbgu { - pinctrl_dbgu: dbgu-0 { - atmel,pins = - <2 30 0x1 0x0 /* PC30 periph A */ - 2 31 0x1 0x1>; /* PC31 periph with pullup */ - }; - }; - - usart0 { - pinctrl_usart0: usart0-0 { - atmel,pins = - <0 26 0x1 0x1 /* PA26 periph A with pullup */ - 0 27 0x1 0x0>; /* PA27 periph A */ - }; - - pinctrl_usart0_rts: usart0_rts-0 { - atmel,pins = - <0 28 0x1 0x0>; /* PA28 periph A */ - }; - - pinctrl_usart0_cts: usart0_cts-0 { - atmel,pins = - <0 29 0x1 0x0>; /* PA29 periph A */ - }; - }; - - usart1 { - pinctrl_usart1: usart1-0 { - atmel,pins = - <3 0 0x1 0x1 /* PD0 periph A with pullup */ - 3 1 0x1 0x0>; /* PD1 periph A */ - }; - - pinctrl_usart1_rts: usart1_rts-0 { - atmel,pins = - <3 7 0x2 0x0>; /* PD7 periph B */ - }; - - pinctrl_usart1_cts: usart1_cts-0 { - atmel,pins = - <3 8 0x2 0x0>; /* PD8 periph B */ - }; - }; - - usart2 { - pinctrl_usart2: usart2-0 { - atmel,pins = - <3 2 0x1 0x1 /* PD2 periph A with pullup */ - 3 3 0x1 0x0>; /* PD3 periph A */ - }; - - pinctrl_usart2_rts: usart2_rts-0 { - atmel,pins = - <3 5 0x2 0x0>; /* PD5 periph B */ - }; - - pinctrl_usart2_cts: usart2_cts-0 { - atmel,pins = - <4 6 0x2 0x0>; /* PD6 periph B */ - }; - }; - - nand { - pinctrl_nand: nand-0 { - atmel,pins = - <0 22 0x0 0x1 /* PA22 gpio RDY pin pull_up*/ - 3 15 0x0 0x1>; /* PD15 gpio enable pin pull_up */ - }; - }; - - macb { - pinctrl_macb_rmii: macb_rmii-0 { - atmel,pins = - <2 25 0x2 0x0 /* PC25 periph B */ - 4 21 0x1 0x0 /* PE21 periph A */ - 4 23 0x1 0x0 /* PE23 periph A */ - 4 24 0x1 0x0 /* PE24 periph A */ - 4 25 0x1 0x0 /* PE25 periph A */ - 4 26 0x1 0x0 /* PE26 periph A */ - 4 27 0x1 0x0 /* PE27 periph A */ - 4 28 0x1 0x0 /* PE28 periph A */ - 4 29 0x1 0x0 /* PE29 periph A */ - 4 30 0x1 0x0>; /* PE30 periph A */ - }; - - pinctrl_macb_rmii_mii: macb_rmii_mii-0 { - atmel,pins = - <2 20 0x2 0x0 /* PC20 periph B */ - 2 21 0x2 0x0 /* PC21 periph B */ - 2 22 0x2 0x0 /* PC22 periph B */ - 2 23 0x2 0x0 /* PC23 periph B */ - 2 24 0x2 0x0 /* PC24 periph B */ - 2 25 0x2 0x0 /* PC25 periph B */ - 2 27 0x2 0x0 /* PC27 periph B */ - 4 22 0x2 0x0>; /* PE22 periph B */ - }; - }; - - mmc0 { - pinctrl_mmc0_clk: mmc0_clk-0 { - atmel,pins = - <0 12 0x1 0x0>; /* PA12 periph A */ - }; - - pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { - atmel,pins = - <0 1 0x1 0x1 /* PA1 periph A with pullup */ - 0 0 0x1 0x1>; /* PA0 periph A with pullup */ - }; - - pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { - atmel,pins = - <0 3 0x1 0x1 /* PA3 periph A with pullup */ - 0 4 0x1 0x1 /* PA4 periph A with pullup */ - 0 5 0x1 0x1>; /* PA5 periph A with pullup */ - }; - - pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { - atmel,pins = - <0 16 0x1 0x1 /* PA16 periph A with pullup */ - 0 17 0x1 0x1>; /* PA17 periph A with pullup */ - }; - - pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { - atmel,pins = - <0 18 0x1 0x1 /* PA18 periph A with pullup */ - 0 19 0x1 0x1 /* PA19 periph A with pullup */ - 0 20 0x1 0x1>; /* PA20 periph A with pullup */ - }; - }; - - mmc1 { - pinctrl_mmc1_clk: mmc1_clk-0 { - atmel,pins = - <0 6 0x1 0x0>; /* PA6 periph A */ - }; - - pinctrl_mmc1_slot0_cmd_dat0: mmc1_slot0_cmd_dat0-0 { - atmel,pins = - <0 7 0x1 0x1 /* PA7 periph A with pullup */ - 0 8 0x1 0x1>; /* PA8 periph A with pullup */ - }; - - pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { - atmel,pins = - <0 9 0x1 0x1 /* PA9 periph A with pullup */ - 0 10 0x1 0x1 /* PA10 periph A with pullup */ - 0 11 0x1 0x1>; /* PA11 periph A with pullup */ - }; - - pinctrl_mmc1_slot1_cmd_dat0: mmc1_slot1_cmd_dat0-0 { - atmel,pins = - <0 21 0x1 0x1 /* PA21 periph A with pullup */ - 0 22 0x1 0x1>; /* PA22 periph A with pullup */ - }; - - pinctrl_mmc1_slot1_dat1_3: mmc1_slot1_dat1_3-0 { - atmel,pins = - <0 23 0x1 0x1 /* PA23 periph A with pullup */ - 0 24 0x1 0x1 /* PA24 periph A with pullup */ - 0 25 0x1 0x1>; /* PA25 periph A with pullup */ - }; - }; - - pioA: gpio@fffff200 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff200 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioA: gpio@fffff200 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff200 0x100>; + interrupts = <2 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioB: gpio@fffff400 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff400 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioB: gpio@fffff400 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff400 0x100>; + interrupts = <3 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioC: gpio@fffff600 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff600 0x200>; - interrupts = <4 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioC: gpio@fffff600 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff600 0x100>; + interrupts = <4 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioD: gpio@fffff800 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff800 0x200>; - interrupts = <4 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioD: gpio@fffff800 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff800 0x100>; + interrupts = <4 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioE: gpio@fffffa00 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffffa00 0x200>; - interrupts = <4 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioE: gpio@fffffa00 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffffa00 0x100>; + interrupts = <4 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; }; dbgu: serial@ffffee00 { compatible = "atmel,at91sam9260-usart"; reg = <0xffffee00 0x200>; interrupts = <1 4 7>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_dbgu>; status = "disabled"; }; @@ -335,8 +152,6 @@ interrupts = <7 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart0>; status = "disabled"; }; @@ -346,8 +161,6 @@ interrupts = <8 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart1>; status = "disabled"; }; @@ -357,8 +170,6 @@ interrupts = <9 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart2>; status = "disabled"; }; @@ -366,8 +177,6 @@ compatible = "cdns,at32ap7000-macb", "cdns,macb"; reg = <0xfffbc000 0x100>; interrupts = <21 4 3>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_macb_rmii>; status = "disabled"; }; @@ -386,24 +195,6 @@ #size-cells = <0>; status = "disabled"; }; - - mmc0: mmc@fff80000 { - compatible = "atmel,hsmci"; - reg = <0xfff80000 0x600>; - interrupts = <10 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - mmc1: mmc@fff84000 { - compatible = "atmel,hsmci"; - reg = <0xfff84000 0x600>; - interrupts = <11 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; }; nand0: nand@40000000 { @@ -415,8 +206,6 @@ >; atmel,nand-addr-offset = <21>; atmel,nand-cmd-offset = <22>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_nand>; gpios = <&pioA 22 0 &pioD 15 0 0 diff --git a/trunk/arch/arm/boot/dts/at91sam9263ek.dts b/trunk/arch/arm/boot/dts/at91sam9263ek.dts index 1eb08728f527..f86ac4b609fc 100644 --- a/trunk/arch/arm/boot/dts/at91sam9263ek.dts +++ b/trunk/arch/arm/boot/dts/at91sam9263ek.dts @@ -38,10 +38,6 @@ }; usart0: serial@fff8c000 { - pinctrl-0 = < - &pinctrl_usart0 - &pinctrl_usart0_rts - &pinctrl_usart0_cts>; status = "okay"; }; @@ -54,31 +50,6 @@ atmel,vbus-gpio = <&pioA 25 0>; status = "okay"; }; - - mmc0: mmc@fff80000 { - pinctrl-0 = < - &pinctrl_board_mmc0 - &pinctrl_mmc0_clk - &pinctrl_mmc0_slot0_cmd_dat0 - &pinctrl_mmc0_slot0_dat1_3>; - status = "okay"; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioE 18 0>; - wp-gpios = <&pioE 19 0>; - }; - }; - - pinctrl@fffff200 { - mmc0 { - pinctrl_board_mmc0: mmc0-board { - atmel,pins = - <5 18 0x0 0x5 /* PE18 gpio CD pin pull up and deglitch */ - 5 19 0x0 0x1>; /* PE19 gpio WP pin pull up */ - }; - }; - }; }; nand0: nand@40000000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9g15.dtsi b/trunk/arch/arm/boot/dts/at91sam9g15.dtsi deleted file mode 100644 index fbe7a7089c2a..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9g15.dtsi +++ /dev/null @@ -1,28 +0,0 @@ -/* - * at91sam9g15.dtsi - Device Tree Include file for AT91SAM9G15 SoC - * - * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD - * - * Licensed under GPLv2. - */ - -/include/ "at91sam9x5.dtsi" - -/ { - model = "Atmel AT91SAM9G15 SoC"; - compatible = "atmel, at91sam9g15, atmel,at91sam9x5"; - - ahb { - apb { - pinctrl@fffff400 { - atmel,mux-mask = < - /* A B C */ - 0xffffffff 0xffe0399f 0x00000000 /* pioA */ - 0x00040000 0x00047e3f 0x00000000 /* pioB */ - 0xfdffffff 0x00000000 0xb83fffff /* pioC */ - 0x003fffff 0x003f8000 0x00000000 /* pioD */ - >; - }; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9g15ek.dts b/trunk/arch/arm/boot/dts/at91sam9g15ek.dts deleted file mode 100644 index 86dd3f6d938f..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9g15ek.dts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * at91sam9g15ek.dts - Device Tree file for AT91SAM9G15-EK board - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ -/dts-v1/; -/include/ "at91sam9g15.dtsi" -/include/ "at91sam9x5ek.dtsi" - -/ { - model = "Atmel AT91SAM9G25-EK"; - compatible = "atmel,at91sam9g15ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts b/trunk/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts index 66467b113126..f1b2e148ac8c 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts +++ b/trunk/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts @@ -12,32 +12,6 @@ model = "Atmel at91sam9g20ek 2 mmc"; compatible = "atmel,at91sam9g20ek_2mmc", "atmel,at91sam9g20", "atmel,at91sam9"; - ahb { - apb{ - mmc0: mmc@fffa8000 { - /* clk already mux wuth slot0 */ - pinctrl-0 = < - &pinctrl_board_mmc0_slot0 - &pinctrl_mmc0_slot0_cmd_dat0 - &pinctrl_mmc0_slot0_dat1_3>; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioC 2 0>; - }; - }; - - pinctrl@fffff400 { - mmc0_slot0 { - pinctrl_board_mmc0_slot0: mmc0_slot0-board { - atmel,pins = - <2 2 0x0 0x5>; /* PC2 gpio CD pin pull up and deglitch */ - }; - }; - }; - }; - }; - leds { compatible = "gpio-leds"; diff --git a/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi index 32a500a0e481..b06c0db273b1 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi @@ -35,13 +35,6 @@ }; usart0: serial@fffb0000 { - pinctrl-0 = - <&pinctrl_usart0 - &pinctrl_usart0_rts - &pinctrl_usart0_cts - &pinctrl_usart0_dtr_dsr - &pinctrl_usart0_dcd - &pinctrl_usart0_ri>; status = "okay"; }; @@ -58,29 +51,6 @@ atmel,vbus-gpio = <&pioC 5 0>; status = "okay"; }; - - mmc0: mmc@fffa8000 { - pinctrl-0 = < - &pinctrl_board_mmc0_slot1 - &pinctrl_mmc0_clk - &pinctrl_mmc0_slot1_cmd_dat0 - &pinctrl_mmc0_slot1_dat1_3>; - status = "okay"; - slot@1 { - reg = <1>; - bus-width = <4>; - cd-gpios = <&pioC 9 0>; - }; - }; - - pinctrl@fffff400 { - mmc0_slot1 { - pinctrl_board_mmc0_slot1: mmc0_slot1-board { - atmel,pins = - <2 9 0x0 0x5>; /* PC9 gpio CD pin pull up and deglitch */ - }; - }; - }; }; nand0: nand@40000000 { @@ -156,14 +126,14 @@ #size-cells = <0>; btn3 { - label = "Button 3"; + label = "Buttin 3"; gpios = <&pioA 30 1>; linux,code = <0x103>; gpio-key,wakeup; }; btn4 { - label = "Button 4"; + label = "Buttin 4"; gpios = <&pioA 31 1>; linux,code = <0x104>; gpio-key,wakeup; diff --git a/trunk/arch/arm/boot/dts/at91sam9g25.dtsi b/trunk/arch/arm/boot/dts/at91sam9g25.dtsi deleted file mode 100644 index 05a718fb83c4..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9g25.dtsi +++ /dev/null @@ -1,28 +0,0 @@ -/* - * at91sam9g25.dtsi - Device Tree Include file for AT91SAM9G25 SoC - * - * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD - * - * Licensed under GPLv2. - */ - -/include/ "at91sam9x5.dtsi" - -/ { - model = "Atmel AT91SAM9G25 SoC"; - compatible = "atmel, at91sam9g25, atmel,at91sam9x5"; - - ahb { - apb { - pinctrl@fffff400 { - atmel,mux-mask = < - /* A B C */ - 0xffffffff 0xffe0399f 0xc000001c /* pioA */ - 0x0007ffff 0x8000fe3f 0x00000000 /* pioB */ - 0x80000000 0x07c0ffff 0xb83fffff /* pioC */ - 0x003fffff 0x003f8000 0x00000000 /* pioD */ - >; - }; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9g25ek.dts b/trunk/arch/arm/boot/dts/at91sam9g25ek.dts index c5ab16fba059..877c08f06763 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g25ek.dts +++ b/trunk/arch/arm/boot/dts/at91sam9g25ek.dts @@ -7,10 +7,55 @@ * Licensed under GPLv2 or later. */ /dts-v1/; -/include/ "at91sam9g25.dtsi" -/include/ "at91sam9x5ek.dtsi" +/include/ "at91sam9x5.dtsi" +/include/ "at91sam9x5cm.dtsi" / { model = "Atmel AT91SAM9G25-EK"; compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; + + chosen { + bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"; + }; + + ahb { + apb { + dbgu: serial@fffff200 { + status = "okay"; + }; + + usart0: serial@f801c000 { + status = "okay"; + }; + + macb0: ethernet@f802c000 { + phy-mode = "rmii"; + status = "okay"; + }; + + i2c0: i2c@f8010000 { + status = "okay"; + }; + + i2c1: i2c@f8014000 { + status = "okay"; + }; + + i2c2: i2c@f8018000 { + status = "okay"; + }; + }; + + usb0: ohci@00600000 { + status = "okay"; + num-ports = <2>; + atmel,vbus-gpio = <&pioD 19 1 + &pioD 20 1 + >; + }; + + usb1: ehci@00700000 { + status = "okay"; + }; + }; }; diff --git a/trunk/arch/arm/boot/dts/at91sam9g35.dtsi b/trunk/arch/arm/boot/dts/at91sam9g35.dtsi deleted file mode 100644 index f9d14a722794..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9g35.dtsi +++ /dev/null @@ -1,28 +0,0 @@ -/* - * at91sam9g35.dtsi - Device Tree Include file for AT91SAM9G35 SoC - * - * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD - * - * Licensed under GPLv2. - */ - -/include/ "at91sam9x5.dtsi" - -/ { - model = "Atmel AT91SAM9G35 SoC"; - compatible = "atmel, at91sam9g35, atmel,at91sam9x5"; - - ahb { - apb { - pinctrl@fffff400 { - atmel,mux-mask = < - /* A B C */ - 0xffffffff 0xffe0399f 0xc000000c /* pioA */ - 0x000406ff 0x00047e3f 0x00000000 /* pioB */ - 0xfdffffff 0x00000000 0xb83fffff /* pioC */ - 0x003fffff 0x003f8000 0x00000000 /* pioD */ - >; - }; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9g35ek.dts b/trunk/arch/arm/boot/dts/at91sam9g35ek.dts deleted file mode 100644 index 95944bdd798d..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9g35ek.dts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * at91sam9g35ek.dts - Device Tree file for AT91SAM9G35-EK board - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ -/dts-v1/; -/include/ "at91sam9g35.dtsi" -/include/ "at91sam9x5ek.dtsi" - -/ { - model = "Atmel AT91SAM9G35-EK"; - compatible = "atmel,at91sam9g35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi index 0741caeeced1..3add030d61f8 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi @@ -108,243 +108,60 @@ interrupts = <21 4 0>; }; - pinctrl@fffff200 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; - ranges = <0xfffff200 0xfffff200 0xa00>; - - atmel,mux-mask = < - /* A B */ - 0xffffffff 0xffc003ff /* pioA */ - 0xffffffff 0x800f8f00 /* pioB */ - 0xffffffff 0x00000e00 /* pioC */ - 0xffffffff 0xff0c1381 /* pioD */ - 0xffffffff 0x81ffff81 /* pioE */ - >; - - /* shared pinctrl settings */ - dbgu { - pinctrl_dbgu: dbgu-0 { - atmel,pins = - <1 12 0x1 0x0 /* PB12 periph A */ - 1 13 0x1 0x0>; /* PB13 periph A */ - }; - }; - - usart0 { - pinctrl_usart0: usart0-0 { - atmel,pins = - <1 19 0x1 0x1 /* PB19 periph A with pullup */ - 1 18 0x1 0x0>; /* PB18 periph A */ - }; - - pinctrl_usart0_rts: usart0_rts-0 { - atmel,pins = - <1 17 0x2 0x0>; /* PB17 periph B */ - }; - - pinctrl_usart0_cts: usart0_cts-0 { - atmel,pins = - <1 15 0x2 0x0>; /* PB15 periph B */ - }; - }; - - uart1 { - pinctrl_usart1: usart1-0 { - atmel,pins = - <1 4 0x1 0x1 /* PB4 periph A with pullup */ - 1 5 0x1 0x0>; /* PB5 periph A */ - }; - - pinctrl_usart1_rts: usart1_rts-0 { - atmel,pins = - <3 16 0x1 0x0>; /* PD16 periph A */ - }; - - pinctrl_usart1_cts: usart1_cts-0 { - atmel,pins = - <3 17 0x1 0x0>; /* PD17 periph A */ - }; - }; - - usart2 { - pinctrl_usart2: usart2-0 { - atmel,pins = - <1 6 0x1 0x1 /* PB6 periph A with pullup */ - 1 7 0x1 0x0>; /* PB7 periph A */ - }; - - pinctrl_usart2_rts: usart2_rts-0 { - atmel,pins = - <2 9 0x2 0x0>; /* PC9 periph B */ - }; - - pinctrl_usart2_cts: usart2_cts-0 { - atmel,pins = - <2 11 0x2 0x0>; /* PC11 periph B */ - }; - }; - - usart3 { - pinctrl_usart3: usart3-0 { - atmel,pins = - <1 8 0x1 0x1 /* PB9 periph A with pullup */ - 1 9 0x1 0x0>; /* PB8 periph A */ - }; - - pinctrl_usart3_rts: usart3_rts-0 { - atmel,pins = - <0 23 0x2 0x0>; /* PA23 periph B */ - }; - - pinctrl_usart3_cts: usart3_cts-0 { - atmel,pins = - <0 24 0x2 0x0>; /* PA24 periph B */ - }; - }; - - nand { - pinctrl_nand: nand-0 { - atmel,pins = - <2 8 0x0 0x1 /* PC8 gpio RDY pin pull_up*/ - 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ - }; - }; - - macb { - pinctrl_macb_rmii: macb_rmii-0 { - atmel,pins = - <0 10 0x1 0x0 /* PA10 periph A */ - 0 11 0x1 0x0 /* PA11 periph A */ - 0 12 0x1 0x0 /* PA12 periph A */ - 0 13 0x1 0x0 /* PA13 periph A */ - 0 14 0x1 0x0 /* PA14 periph A */ - 0 15 0x1 0x0 /* PA15 periph A */ - 0 16 0x1 0x0 /* PA16 periph A */ - 0 17 0x1 0x0 /* PA17 periph A */ - 0 18 0x1 0x0 /* PA18 periph A */ - 0 19 0x1 0x0>; /* PA19 periph A */ - }; - - pinctrl_macb_rmii_mii: macb_rmii_mii-0 { - atmel,pins = - <0 6 0x2 0x0 /* PA6 periph B */ - 0 7 0x2 0x0 /* PA7 periph B */ - 0 8 0x2 0x0 /* PA8 periph B */ - 0 9 0x2 0x0 /* PA9 periph B */ - 0 27 0x2 0x0 /* PA27 periph B */ - 0 28 0x2 0x0 /* PA28 periph B */ - 0 29 0x2 0x0 /* PA29 periph B */ - 0 30 0x2 0x0>; /* PA30 periph B */ - }; - }; - - mmc0 { - pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { - atmel,pins = - <0 0 0x1 0x0 /* PA0 periph A */ - 0 1 0x1 0x1 /* PA1 periph A with pullup */ - 0 2 0x1 0x1>; /* PA2 periph A with pullup */ - }; - - pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { - atmel,pins = - <0 3 0x1 0x1 /* PA3 periph A with pullup */ - 0 4 0x1 0x1 /* PA4 periph A with pullup */ - 0 5 0x1 0x1>; /* PA5 periph A with pullup */ - }; - - pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 { - atmel,pins = - <0 6 0x1 0x1 /* PA6 periph A with pullup */ - 0 7 0x1 0x1 /* PA7 periph A with pullup */ - 0 8 0x1 0x1 /* PA8 periph A with pullup */ - 0 9 0x1 0x1>; /* PA9 periph A with pullup */ - }; - }; - - mmc1 { - pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { - atmel,pins = - <0 31 0x1 0x0 /* PA31 periph A */ - 0 22 0x1 0x1 /* PA22 periph A with pullup */ - 0 23 0x1 0x1>; /* PA23 periph A with pullup */ - }; - - pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { - atmel,pins = - <0 24 0x1 0x1 /* PA24 periph A with pullup */ - 0 25 0x1 0x1 /* PA25 periph A with pullup */ - 0 26 0x1 0x1>; /* PA26 periph A with pullup */ - }; - - pinctrl_mmc1_slot0_dat4_7: mmc1_slot0_dat4_7-0 { - atmel,pins = - <0 27 0x1 0x1 /* PA27 periph A with pullup */ - 0 28 0x1 0x1 /* PA28 periph A with pullup */ - 0 29 0x1 0x1 /* PA29 periph A with pullup */ - 0 20 0x1 0x1>; /* PA30 periph A with pullup */ - }; - }; - - pioA: gpio@fffff200 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff200 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioA: gpio@fffff200 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff200 0x100>; + interrupts = <2 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioB: gpio@fffff400 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff400 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioB: gpio@fffff400 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff400 0x100>; + interrupts = <3 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioC: gpio@fffff600 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff600 0x200>; - interrupts = <4 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioC: gpio@fffff600 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff600 0x100>; + interrupts = <4 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioD: gpio@fffff800 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff800 0x200>; - interrupts = <5 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioD: gpio@fffff800 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff800 0x100>; + interrupts = <5 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioE: gpio@fffffa00 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffffa00 0x200>; - interrupts = <5 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioE: gpio@fffffa00 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffffa00 0x100>; + interrupts = <5 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; }; dbgu: serial@ffffee00 { compatible = "atmel,at91sam9260-usart"; reg = <0xffffee00 0x200>; interrupts = <1 4 7>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_dbgu>; status = "disabled"; }; @@ -354,8 +171,6 @@ interrupts = <7 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart0>; status = "disabled"; }; @@ -365,8 +180,6 @@ interrupts = <8 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart1>; status = "disabled"; }; @@ -376,8 +189,6 @@ interrupts = <9 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart2>; status = "disabled"; }; @@ -387,8 +198,6 @@ interrupts = <10 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart3>; status = "disabled"; }; @@ -396,8 +205,6 @@ compatible = "cdns,at32ap7000-macb", "cdns,macb"; reg = <0xfffbc000 0x100>; interrupts = <25 4 3>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_macb_rmii>; status = "disabled"; }; @@ -455,24 +262,6 @@ trigger-value = <0x6>; }; }; - - mmc0: mmc@fff80000 { - compatible = "atmel,hsmci"; - reg = <0xfff80000 0x600>; - interrupts = <11 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - mmc1: mmc@fffd0000 { - compatible = "atmel,hsmci"; - reg = <0xfffd0000 0x600>; - interrupts = <29 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; }; nand0: nand@40000000 { @@ -484,8 +273,6 @@ >; atmel,nand-addr-offset = <21>; atmel,nand-cmd-offset = <22>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_nand>; gpios = <&pioC 8 0 &pioC 14 0 0 diff --git a/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts b/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts index 20c31913c270..15e1dd43f625 100644 --- a/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts +++ b/trunk/arch/arm/boot/dts/at91sam9m10g45ek.dts @@ -39,10 +39,6 @@ }; usart1: serial@fff90000 { - pinctrl-0 = - <&pinctrl_usart1 - &pinctrl_usart1_rts - &pinctrl_usart1_cts>; status = "okay"; }; @@ -58,50 +54,6 @@ i2c1: i2c@fff88000 { status = "okay"; }; - - mmc0: mmc@fff80000 { - pinctrl-0 = < - &pinctrl_board_mmc0 - &pinctrl_mmc0_slot0_clk_cmd_dat0 - &pinctrl_mmc0_slot0_dat1_3>; - status = "okay"; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioD 10 0>; - }; - }; - - mmc1: mmc@fffd0000 { - pinctrl-0 = < - &pinctrl_board_mmc1 - &pinctrl_mmc1_slot0_clk_cmd_dat0 - &pinctrl_mmc1_slot0_dat1_3>; - status = "okay"; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioD 11 0>; - wp-gpios = <&pioD 29 0>; - }; - }; - - pinctrl@fffff200 { - mmc0 { - pinctrl_board_mmc0: mmc0-board { - atmel,pins = - <3 10 0x0 0x5>; /* PD10 gpio CD pin pull up and deglitch */ - }; - }; - - mmc1 { - pinctrl_board_mmc1: mmc1-board { - atmel,pins = - <3 11 0x0 0x5 /* PD11 gpio CD pin pull up and deglitch */ - 3 29 0x0 0x1>; /* PD29 gpio WP pin pull up */ - }; - }; - }; }; nand0: nand@40000000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi index e9efb34f4379..82508d68aa7e 100644 --- a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi @@ -84,15 +84,6 @@ reg = <0xfffffe10 0x10>; }; - mmc0: mmc@f0008000 { - compatible = "atmel,hsmci"; - reg = <0xf0008000 0x600>; - interrupts = <12 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - tcb0: timer@f8008000 { compatible = "atmel,at91sam9x5-tcb"; reg = <0xf8008000 0x100>; @@ -111,186 +102,50 @@ interrupts = <20 4 0>; }; - pinctrl@fffff400 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; - ranges = <0xfffff400 0xfffff400 0x800>; - - atmel,mux-mask = < - /* A B C */ - 0xffffffff 0xffe07983 0x00000000 /* pioA */ - 0x00040000 0x00047e0f 0x00000000 /* pioB */ - 0xfdffffff 0x07c00000 0xb83fffff /* pioC */ - 0x003fffff 0x003f8000 0x00000000 /* pioD */ - >; - - /* shared pinctrl settings */ - dbgu { - pinctrl_dbgu: dbgu-0 { - atmel,pins = - <0 9 0x1 0x0 /* PA9 periph A */ - 0 10 0x1 0x1>; /* PA10 periph with pullup */ - }; - }; - - usart0 { - pinctrl_usart0: usart0-0 { - atmel,pins = - <0 1 0x1 0x1 /* PA1 periph A with pullup */ - 0 0 0x1 0x0>; /* PA0 periph A */ - }; - - pinctrl_usart0_rts: usart0_rts-0 { - atmel,pins = - <0 2 0x1 0x0>; /* PA2 periph A */ - }; - - pinctrl_usart0_cts: usart0_cts-0 { - atmel,pins = - <0 3 0x1 0x0>; /* PA3 periph A */ - }; - }; - - usart1 { - pinctrl_usart1: usart1-0 { - atmel,pins = - <0 6 0x1 0x1 /* PA6 periph A with pullup */ - 0 5 0x1 0x0>; /* PA5 periph A */ - }; - }; - - usart2 { - pinctrl_usart2: usart2-0 { - atmel,pins = - <0 8 0x1 0x1 /* PA8 periph A with pullup */ - 0 7 0x1 0x0>; /* PA7 periph A */ - }; - - pinctrl_usart2_rts: usart2_rts-0 { - atmel,pins = - <1 0 0x2 0x0>; /* PB0 periph B */ - }; - - pinctrl_usart2_cts: usart2_cts-0 { - atmel,pins = - <1 1 0x2 0x0>; /* PB1 periph B */ - }; - }; - - usart3 { - pinctrl_usart3: usart3-0 { - atmel,pins = - <2 23 0x2 0x1 /* PC23 periph B with pullup */ - 2 22 0x2 0x0>; /* PC22 periph B */ - }; - - pinctrl_usart3_rts: usart3_rts-0 { - atmel,pins = - <2 24 0x2 0x0>; /* PC24 periph B */ - }; - - pinctrl_usart3_cts: usart3_cts-0 { - atmel,pins = - <2 25 0x2 0x0>; /* PC25 periph B */ - }; - }; - - uart0 { - pinctrl_uart0: uart0-0 { - atmel,pins = - <2 9 0x3 0x1 /* PC9 periph C with pullup */ - 2 8 0x3 0x0>; /* PC8 periph C */ - }; - }; - - uart1 { - pinctrl_uart1: uart1-0 { - atmel,pins = - <2 16 0x3 0x1 /* PC17 periph C with pullup */ - 2 17 0x3 0x0>; /* PC16 periph C */ - }; - }; - - nand { - pinctrl_nand: nand-0 { - atmel,pins = - <3 5 0x0 0x1 /* PD5 gpio RDY pin pull_up*/ - 3 4 0x0 0x1>; /* PD4 gpio enable pin pull_up */ - }; - }; - - mmc0 { - pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { - atmel,pins = - <0 17 0x1 0x0 /* PA17 periph A */ - 0 16 0x1 0x1 /* PA16 periph A with pullup */ - 0 15 0x1 0x1>; /* PA15 periph A with pullup */ - }; - - pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { - atmel,pins = - <0 18 0x1 0x1 /* PA18 periph A with pullup */ - 0 19 0x1 0x1 /* PA19 periph A with pullup */ - 0 20 0x1 0x1>; /* PA20 periph A with pullup */ - }; - - pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 { - atmel,pins = - <0 11 0x2 0x1 /* PA11 periph B with pullup */ - 0 12 0x2 0x1 /* PA12 periph B with pullup */ - 0 13 0x2 0x1 /* PA13 periph B with pullup */ - 0 14 0x2 0x1>; /* PA14 periph B with pullup */ - }; - }; - - pioA: gpio@fffff400 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffff400 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioA: gpio@fffff400 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffff400 0x100>; + interrupts = <2 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioB: gpio@fffff600 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffff600 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioB: gpio@fffff600 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffff600 0x100>; + interrupts = <2 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioC: gpio@fffff800 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffff800 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioC: gpio@fffff800 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffff800 0x100>; + interrupts = <3 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioD: gpio@fffffa00 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffffa00 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioD: gpio@fffffa00 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffffa00 0x100>; + interrupts = <3 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; }; dbgu: serial@fffff200 { compatible = "atmel,at91sam9260-usart"; reg = <0xfffff200 0x200>; interrupts = <1 4 7>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_dbgu>; status = "disabled"; }; @@ -300,8 +155,6 @@ interrupts = <5 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart0>; status = "disabled"; }; @@ -311,8 +164,6 @@ interrupts = <6 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart1>; status = "disabled"; }; @@ -322,8 +173,6 @@ interrupts = <7 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart2>; status = "disabled"; }; @@ -333,8 +182,6 @@ interrupts = <8 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart3>; status = "disabled"; }; @@ -368,8 +215,6 @@ >; atmel,nand-addr-offset = <21>; atmel,nand-cmd-offset = <22>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_nand>; gpios = <&pioD 5 0 &pioD 4 0 0 diff --git a/trunk/arch/arm/boot/dts/at91sam9n12ek.dts b/trunk/arch/arm/boot/dts/at91sam9n12ek.dts index 0376bf4fd66b..912b2c283d6f 100644 --- a/trunk/arch/arm/boot/dts/at91sam9n12ek.dts +++ b/trunk/arch/arm/boot/dts/at91sam9n12ek.dts @@ -45,28 +45,6 @@ i2c1: i2c@f8014000 { status = "okay"; }; - - mmc0: mmc@f0008000 { - pinctrl-0 = < - &pinctrl_board_mmc0 - &pinctrl_mmc0_slot0_clk_cmd_dat0 - &pinctrl_mmc0_slot0_dat1_3>; - status = "okay"; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioA 7 0>; - }; - }; - - pinctrl@fffff400 { - mmc0 { - pinctrl_board_mmc0: mmc0-board { - atmel,pins = - <0 7 0x0 0x5>; /* PA7 gpio CD pin pull up and deglitch */ - }; - }; - }; }; nand0: nand@40000000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9x25.dtsi b/trunk/arch/arm/boot/dts/at91sam9x25.dtsi deleted file mode 100644 index 54eb33ba6d22..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9x25.dtsi +++ /dev/null @@ -1,49 +0,0 @@ -/* - * at91sam9x25.dtsi - Device Tree Include file for AT91SAM9X25 SoC - * - * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD - * - * Licensed under GPLv2. - */ - -/include/ "at91sam9x5.dtsi" - -/ { - model = "Atmel AT91SAM9X25 SoC"; - compatible = "atmel, at91sam9x25, atmel,at91sam9x5"; - - ahb { - apb { - pinctrl@fffff400 { - atmel,mux-mask = < - /* A B C */ - 0xffffffff 0xffe03fff 0xc000001c /* pioA */ - 0x0007ffff 0x00047e3f 0x00000000 /* pioB */ - 0x80000000 0xfffd0000 0xb83fffff /* pioC */ - 0x003fffff 0x003f8000 0x00000000 /* pioD */ - >; - - macb1 { - pinctrl_macb1_rmii: macb1_rmii-0 { - atmel,pins = - <2 16 0x2 0x0 /* PC16 periph B */ - 2 18 0x2 0x0 /* PC18 periph B */ - 2 19 0x2 0x0 /* PC19 periph B */ - 2 20 0x2 0x0 /* PC20 periph B */ - 2 21 0x2 0x0 /* PC21 periph B */ - 2 27 0x2 0x0 /* PC27 periph B */ - 2 28 0x2 0x0 /* PC28 periph B */ - 2 29 0x2 0x0 /* PC29 periph B */ - 2 30 0x2 0x0 /* PC30 periph B */ - 2 31 0x2 0x0>; /* PC31 periph B */ - }; - }; - }; - - macb1: ethernet@f8030000 { - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_macb1_rmii>; - }; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x25ek.dts b/trunk/arch/arm/boot/dts/at91sam9x25ek.dts deleted file mode 100644 index af907eaa1f25..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9x25ek.dts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * at91sam9x25ek.dts - Device Tree file for AT91SAM9X25-EK board - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ -/dts-v1/; -/include/ "at91sam9x25.dtsi" -/include/ "at91sam9x5ek.dtsi" - -/ { - model = "Atmel AT91SAM9G25-EK"; - compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x35.dtsi b/trunk/arch/arm/boot/dts/at91sam9x35.dtsi deleted file mode 100644 index fb102d6126ce..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9x35.dtsi +++ /dev/null @@ -1,28 +0,0 @@ -/* - * at91sam9x35.dtsi - Device Tree Include file for AT91SAM9X35 SoC - * - * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD - * - * Licensed under GPLv2. - */ - -/include/ "at91sam9x5.dtsi" - -/ { - model = "Atmel AT91SAM9X35 SoC"; - compatible = "atmel, at91sam9x35, atmel,at91sam9x5"; - - ahb { - apb { - pinctrl@fffff400 { - atmel,mux-mask = < - /* A B C */ - 0xffffffff 0xffe03fff 0xc000000c /* pioA */ - 0x000406ff 0x00047e3f 0x00000000 /* pioB */ - 0xfdffffff 0x00000000 0xb83fffff /* pioC */ - 0x003fffff 0x003f8000 0x00000000 /* pioD */ - >; - }; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x35ek.dts b/trunk/arch/arm/boot/dts/at91sam9x35ek.dts deleted file mode 100644 index 5ccb607b5414..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9x35ek.dts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * at91sam9x35ek.dts - Device Tree file for AT91SAM9X35-EK board - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ -/dts-v1/; -/include/ "at91sam9x35.dtsi" -/include/ "at91sam9x5ek.dtsi" - -/ { - model = "Atmel AT91SAM9X35-EK"; - compatible = "atmel,at91sam9x35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi index 7ee49e8daf98..03fc136421c5 100644 --- a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi @@ -111,244 +111,50 @@ interrupts = <21 4 0>; }; - pinctrl@fffff400 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; - ranges = <0xfffff400 0xfffff400 0x800>; - - /* shared pinctrl settings */ - dbgu { - pinctrl_dbgu: dbgu-0 { - atmel,pins = - <0 9 0x1 0x0 /* PA9 periph A */ - 0 10 0x1 0x1>; /* PA10 periph A with pullup */ - }; - }; - - usart0 { - pinctrl_usart0: usart0-0 { - atmel,pins = - <0 0 0x1 0x1 /* PA0 periph A with pullup */ - 0 1 0x1 0x0>; /* PA1 periph A */ - }; - - pinctrl_usart0_rts: usart0_rts-0 { - atmel,pins = - <0 2 0x1 0x0>; /* PA2 periph A */ - }; - - pinctrl_usart0_cts: usart0_cts-0 { - atmel,pins = - <0 3 0x1 0x0>; /* PA3 periph A */ - }; - }; - - usart1 { - pinctrl_usart1: usart1-0 { - atmel,pins = - <0 5 0x1 0x1 /* PA5 periph A with pullup */ - 0 6 0x1 0x0>; /* PA6 periph A */ - }; - - pinctrl_usart1_rts: usart1_rts-0 { - atmel,pins = - <3 27 0x3 0x0>; /* PC27 periph C */ - }; - - pinctrl_usart1_cts: usart1_cts-0 { - atmel,pins = - <3 28 0x3 0x0>; /* PC28 periph C */ - }; - }; - - usart2 { - pinctrl_usart2: usart2-0 { - atmel,pins = - <0 7 0x1 0x1 /* PA7 periph A with pullup */ - 0 8 0x1 0x0>; /* PA8 periph A */ - }; - - pinctrl_uart2_rts: uart2_rts-0 { - atmel,pins = - <0 0 0x2 0x0>; /* PB0 periph B */ - }; - - pinctrl_uart2_cts: uart2_cts-0 { - atmel,pins = - <0 1 0x2 0x0>; /* PB1 periph B */ - }; - }; - - usart3 { - pinctrl_uart3: usart3-0 { - atmel,pins = - <3 23 0x2 0x1 /* PC22 periph B with pullup */ - 3 23 0x2 0x0>; /* PC23 periph B */ - }; - - pinctrl_usart3_rts: usart3_rts-0 { - atmel,pins = - <3 24 0x2 0x0>; /* PC24 periph B */ - }; - - pinctrl_usart3_cts: usart3_cts-0 { - atmel,pins = - <3 25 0x2 0x0>; /* PC25 periph B */ - }; - }; - - uart0 { - pinctrl_uart0: uart0-0 { - atmel,pins = - <3 8 0x3 0x0 /* PC8 periph C */ - 3 9 0x3 0x1>; /* PC9 periph C with pullup */ - }; - }; - - uart1 { - pinctrl_uart1: uart1-0 { - atmel,pins = - <3 16 0x3 0x0 /* PC16 periph C */ - 3 17 0x3 0x1>; /* PC17 periph C with pullup */ - }; - }; - - nand { - pinctrl_nand: nand-0 { - atmel,pins = - <3 4 0x0 0x1 /* PD5 gpio RDY pin pull_up */ - 3 5 0x0 0x1>; /* PD4 gpio enable pin pull_up */ - }; - }; - - macb0 { - pinctrl_macb0_rmii: macb0_rmii-0 { - atmel,pins = - <1 0 0x1 0x0 /* PB0 periph A */ - 1 1 0x1 0x0 /* PB1 periph A */ - 1 2 0x1 0x0 /* PB2 periph A */ - 1 3 0x1 0x0 /* PB3 periph A */ - 1 4 0x1 0x0 /* PB4 periph A */ - 1 5 0x1 0x0 /* PB5 periph A */ - 1 6 0x1 0x0 /* PB6 periph A */ - 1 7 0x1 0x0 /* PB7 periph A */ - 1 9 0x1 0x0 /* PB9 periph A */ - 1 10 0x1 0x0>; /* PB10 periph A */ - }; - - pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { - atmel,pins = - <1 8 0x1 0x0 /* PA8 periph A */ - 1 11 0x1 0x0 /* PA11 periph A */ - 1 12 0x1 0x0 /* PA12 periph A */ - 1 13 0x1 0x0 /* PA13 periph A */ - 1 14 0x1 0x0 /* PA14 periph A */ - 1 15 0x1 0x0 /* PA15 periph A */ - 1 16 0x1 0x0 /* PA16 periph A */ - 1 17 0x1 0x0>; /* PA17 periph A */ - }; - }; - - mmc0 { - pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { - atmel,pins = - <0 17 0x1 0x0 /* PA17 periph A */ - 0 16 0x1 0x1 /* PA16 periph A with pullup */ - 0 15 0x1 0x1>; /* PA15 periph A with pullup */ - }; - - pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { - atmel,pins = - <0 18 0x1 0x1 /* PA18 periph A with pullup */ - 0 19 0x1 0x1 /* PA19 periph A with pullup */ - 0 20 0x1 0x1>; /* PA20 periph A with pullup */ - }; - }; - - mmc1 { - pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { - atmel,pins = - <0 13 0x2 0x0 /* PA13 periph B */ - 0 12 0x2 0x1 /* PA12 periph B with pullup */ - 0 11 0x2 0x1>; /* PA11 periph B with pullup */ - }; - - pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { - atmel,pins = - <0 2 0x2 0x1 /* PA2 periph B with pullup */ - 0 3 0x2 0x1 /* PA3 periph B with pullup */ - 0 4 0x2 0x1>; /* PA4 periph B with pullup */ - }; - }; - - pioA: gpio@fffff400 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffff400 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; - - pioB: gpio@fffff600 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffff600 0x200>; - interrupts = <2 4 1>; - #gpio-cells = <2>; - gpio-controller; - #gpio-lines = <19>; - interrupt-controller; - #interrupt-cells = <2>; - }; - - pioC: gpio@fffff800 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffff800 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioA: gpio@fffff400 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffff400 0x100>; + interrupts = <2 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; + }; - pioD: gpio@fffffa00 { - compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; - reg = <0xfffffa00 0x200>; - interrupts = <3 4 1>; - #gpio-cells = <2>; - gpio-controller; - #gpio-lines = <22>; - interrupt-controller; - #interrupt-cells = <2>; - }; + pioB: gpio@fffff600 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffff600 0x100>; + interrupts = <2 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; }; - mmc0: mmc@f0008000 { - compatible = "atmel,hsmci"; - reg = <0xf0008000 0x600>; - interrupts = <12 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; + pioC: gpio@fffff800 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffff800 0x100>; + interrupts = <3 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; }; - mmc1: mmc@f000c000 { - compatible = "atmel,hsmci"; - reg = <0xf000c000 0x600>; - interrupts = <26 4 0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; + pioD: gpio@fffffa00 { + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; + reg = <0xfffffa00 0x100>; + interrupts = <3 4 1>; + #gpio-cells = <2>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <2>; }; dbgu: serial@fffff200 { compatible = "atmel,at91sam9260-usart"; reg = <0xfffff200 0x200>; interrupts = <1 4 7>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_dbgu>; status = "disabled"; }; @@ -358,8 +164,6 @@ interrupts = <5 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart0>; status = "disabled"; }; @@ -369,8 +173,6 @@ interrupts = <6 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart1>; status = "disabled"; }; @@ -380,8 +182,6 @@ interrupts = <7 4 5>; atmel,use-dma-rx; atmel,use-dma-tx; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usart2>; status = "disabled"; }; @@ -389,8 +189,6 @@ compatible = "cdns,at32ap7000-macb", "cdns,macb"; reg = <0xf802c000 0x100>; interrupts = <24 4 3>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_macb0_rmii>; status = "disabled"; }; @@ -475,8 +273,6 @@ >; atmel,nand-addr-offset = <21>; atmel,nand-cmd-offset = <22>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_nand>; gpios = <&pioD 5 0 &pioD 4 0 0 diff --git a/trunk/arch/arm/boot/dts/at91sam9x5ek.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5ek.dtsi deleted file mode 100644 index 8a7cf1d9cf5d..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9x5ek.dtsi +++ /dev/null @@ -1,101 +0,0 @@ -/* - * at91sam9x5ek.dtsi - Device Tree file for AT91SAM9x5CM Base board - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ -/include/ "at91sam9x5cm.dtsi" - -/ { - model = "Atmel AT91SAM9X5-EK"; - compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; - - chosen { - bootargs = "128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"; - }; - - ahb { - apb { - mmc0: mmc@f0008000 { - pinctrl-0 = < - &pinctrl_board_mmc0 - &pinctrl_mmc0_slot0_clk_cmd_dat0 - &pinctrl_mmc0_slot0_dat1_3>; - status = "okay"; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioD 15 0>; - }; - }; - - mmc1: mmc@f000c000 { - pinctrl-0 = < - &pinctrl_board_mmc1 - &pinctrl_mmc1_slot0_clk_cmd_dat0 - &pinctrl_mmc1_slot0_dat1_3>; - status = "okay"; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioD 14 0>; - }; - }; - - dbgu: serial@fffff200 { - status = "okay"; - }; - - usart0: serial@f801c000 { - status = "okay"; - }; - - macb0: ethernet@f802c000 { - phy-mode = "rmii"; - status = "okay"; - }; - - i2c0: i2c@f8010000 { - status = "okay"; - }; - - i2c1: i2c@f8014000 { - status = "okay"; - }; - - i2c2: i2c@f8018000 { - status = "okay"; - }; - - pinctrl@fffff400 { - mmc0 { - pinctrl_board_mmc0: mmc0-board { - atmel,pins = - <3 15 0x0 0x5>; /* PD15 gpio CD pin pull up and deglitch */ - }; - }; - - mmc1 { - pinctrl_board_mmc1: mmc1-board { - atmel,pins = - <3 14 0x0 0x5>; /* PD14 gpio CD pin pull up and deglitch */ - }; - }; - }; - }; - - usb0: ohci@00600000 { - status = "okay"; - num-ports = <2>; - atmel,vbus-gpio = <&pioD 19 1 - &pioD 20 1 - >; - }; - - usb1: ehci@00700000 { - status = "okay"; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/dbx5x0.dtsi b/trunk/arch/arm/boot/dts/dbx5x0.dtsi index 4b0e0ca08f40..748ba7aa746c 100644 --- a/trunk/arch/arm/boot/dts/dbx5x0.dtsi +++ b/trunk/arch/arm/boot/dts/dbx5x0.dtsi @@ -483,8 +483,6 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80004000 0x1000>; interrupts = <0 21 0x4>; - arm,primecell-periphid = <0x180024>; - #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -496,8 +494,6 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80122000 0x1000>; interrupts = <0 22 0x4>; - arm,primecell-periphid = <0x180024>; - #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -509,8 +505,6 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80128000 0x1000>; interrupts = <0 55 0x4>; - arm,primecell-periphid = <0x180024>; - #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -522,8 +516,6 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80110000 0x1000>; interrupts = <0 12 0x4>; - arm,primecell-periphid = <0x180024>; - #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -535,8 +527,6 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x8012a000 0x1000>; interrupts = <0 51 0x4>; - arm,primecell-periphid = <0x180024>; - #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -583,38 +573,33 @@ interrupts = <0 60 0x4>; status = "disabled"; }; - sdi@80118000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80118000 0x1000>; interrupts = <0 50 0x4>; status = "disabled"; }; - sdi@80005000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80005000 0x1000>; interrupts = <0 41 0x4>; status = "disabled"; }; - sdi@80119000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80119000 0x1000>; interrupts = <0 59 0x4>; status = "disabled"; }; - sdi@80114000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80114000 0x1000>; interrupts = <0 99 0x4>; status = "disabled"; }; - sdi@80008000 { compatible = "arm,pl18x", "arm,primecell"; - reg = <0x80008000 0x1000>; + reg = <0x80114000 0x1000>; interrupts = <0 100 0x4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/dove.dtsi b/trunk/arch/arm/boot/dts/dove.dtsi index 5a00022383e7..96fb824b5e6e 100644 --- a/trunk/arch/arm/boot/dts/dove.dtsi +++ b/trunk/arch/arm/boot/dts/dove.dtsi @@ -4,32 +4,21 @@ compatible = "marvell,dove"; model = "Marvell Armada 88AP510 SoC"; - soc@f1000000 { + interrupt-parent = <&intc>; + + intc: interrupt-controller { + compatible = "marvell,orion-intc"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0xf1020204 0x04>, + <0xf1020214 0x04>; + }; + + mbus@f1000000 { compatible = "simple-bus"; + ranges = <0 0xf1000000 0x4000000>; #address-cells = <1>; #size-cells = <1>; - interrupt-parent = <&intc>; - - ranges = <0xc8000000 0xc8000000 0x0100000 /* CESA SRAM 1M */ - 0xe0000000 0xe0000000 0x8000000 /* PCIe0 Mem 128M */ - 0xe8000000 0xe8000000 0x8000000 /* PCIe1 Mem 128M */ - 0xf0000000 0xf0000000 0x0100000 /* ScratchPad 1M */ - 0x00000000 0xf1000000 0x1000000 /* SB/NB regs 16M */ - 0xf2000000 0xf2000000 0x0100000 /* PCIe0 I/O 1M */ - 0xf2100000 0xf2100000 0x0100000 /* PCIe0 I/O 1M */ - 0xf8000000 0xf8000000 0x8000000>; /* BootROM 128M */ - - l2: l2-cache { - compatible = "marvell,tauros2-cache"; - marvell,tauros2-cache-features = <0>; - }; - - intc: interrupt-controller { - compatible = "marvell,orion-intc"; - interrupt-controller; - #interrupt-cells = <1>; - reg = <0x20204 0x04>, <0x20214 0x04>; - }; uart0: serial@12000 { compatible = "ns16550a"; @@ -67,6 +56,11 @@ status = "disabled"; }; + wdt: wdt@20300 { + compatible = "marvell,orion-wdt"; + reg = <0x20300 0x28>; + }; + gpio0: gpio@d0400 { compatible = "marvell,orion-gpio"; #gpio-cells = <2>; @@ -145,14 +139,5 @@ nr-ports = <1>; status = "disabled"; }; - - crypto: crypto@30000 { - compatible = "marvell,orion-crypto"; - reg = <0x30000 0x10000>, - <0xc8000000 0x800>; - reg-names = "regs", "sram"; - interrupts = <31>; - status = "okay"; - }; }; }; diff --git a/trunk/arch/arm/boot/dts/exynos4210-trats.dts b/trunk/arch/arm/boot/dts/exynos4210-trats.dts index a21511c14071..73567b843e72 100644 --- a/trunk/arch/arm/boot/dts/exynos4210-trats.dts +++ b/trunk/arch/arm/boot/dts/exynos4210-trats.dts @@ -20,10 +20,8 @@ compatible = "samsung,trats", "samsung,exynos4210"; memory { - reg = <0x40000000 0x10000000 - 0x50000000 0x10000000 - 0x60000000 0x10000000 - 0x70000000 0x10000000>; + reg = <0x40000000 0x20000000 + 0x60000000 0x20000000>; }; chosen { diff --git a/trunk/arch/arm/boot/dts/imx23.dtsi b/trunk/arch/arm/boot/dts/imx23.dtsi index 6d31aa383460..9ca4ca70c1bc 100644 --- a/trunk/arch/arm/boot/dts/imx23.dtsi +++ b/trunk/arch/arm/boot/dts/imx23.dtsi @@ -69,7 +69,6 @@ interrupts = <13>, <56>; interrupt-names = "gpmi-dma", "bch"; clocks = <&clks 34>; - clock-names = "gpmi_io"; fsl,gpmi-dma-channel = <4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/imx28.dtsi b/trunk/arch/arm/boot/dts/imx28.dtsi index 55c57ea6169e..e16d63155480 100644 --- a/trunk/arch/arm/boot/dts/imx28.dtsi +++ b/trunk/arch/arm/boot/dts/imx28.dtsi @@ -85,7 +85,6 @@ interrupts = <88>, <41>; interrupt-names = "gpmi-dma", "bch"; clocks = <&clks 50>; - clock-names = "gpmi_io"; fsl,gpmi-dma-channel = <4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/imx6q-arm2.dts b/trunk/arch/arm/boot/dts/imx6q-arm2.dts index 5bfa02a3f85c..15df4c105e89 100644 --- a/trunk/arch/arm/boot/dts/imx6q-arm2.dts +++ b/trunk/arch/arm/boot/dts/imx6q-arm2.dts @@ -37,13 +37,6 @@ pinctrl_hog: hoggrp { fsl,pins = < 176 0x80000000 /* MX6Q_PAD_EIM_D25__GPIO_3_25 */ - >; - }; - }; - - arm2 { - pinctrl_usdhc3_arm2: usdhc3grp-arm2 { - fsl,pins = < 1363 0x80000000 /* MX6Q_PAD_NANDF_CS0__GPIO_6_11 */ 1369 0x80000000 /* MX6Q_PAD_NANDF_CS1__GPIO_6_14 */ >; @@ -65,8 +58,7 @@ wp-gpios = <&gpio6 14 0>; vmmc-supply = <®_3p3v>; pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc3_1 - &pinctrl_usdhc3_arm2>; + pinctrl-0 = <&pinctrl_usdhc3_1>; status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi index 8fea375c734d..8ac51c08269d 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi @@ -48,19 +48,17 @@ #size-cells = <0>; button@1 { label = "Function Button"; - linux,code = <357>; + linux,code = <132>; gpios = <&gpio1 9 1>; }; button@2 { label = "Power-on Switch"; - linux,code = <0>; - linux,input-type = <5>; + linux,code = <116>; gpios = <&gpio1 10 1>; }; button@3 { label = "Power-auto Switch"; - linux,code = <1>; - linux,input-type = <5>; + linux,code = <142>; gpios = <&gpio1 11 1>; }; }; @@ -69,28 +67,28 @@ compatible = "gpio-leds"; led@1 { - label = "lsxl:blue:func"; + label = "lschlv2:blue:func"; gpios = <&gpio1 4 1>; }; led@2 { - label = "lsxl:red:alarm"; + label = "lschlv2:red:alarm"; gpios = <&gpio1 5 1>; }; led@3 { - label = "lsxl:amber:info"; + label = "lschlv2:amber:info"; gpios = <&gpio1 6 1>; }; led@4 { - label = "lsxl:blue:power"; + label = "lschlv2:blue:power"; gpios = <&gpio1 7 1>; linux,default-trigger = "default-on"; }; led@5 { - label = "lsxl:red:func"; + label = "lschlv2:red:func"; gpios = <&gpio1 16 1>; }; }; diff --git a/trunk/arch/arm/boot/dts/omap3.dtsi b/trunk/arch/arm/boot/dts/omap3.dtsi index 696e929d0304..f38ea8771b44 100644 --- a/trunk/arch/arm/boot/dts/omap3.dtsi +++ b/trunk/arch/arm/boot/dts/omap3.dtsi @@ -257,7 +257,7 @@ interrupt-names = "common", "tx", "rx", "sidetone"; interrupt-parent = <&intc>; ti,buffer-size = <1280>; - ti,hwmods = "mcbsp2", "mcbsp2_sidetone"; + ti,hwmods = "mcbsp2"; }; mcbsp3: mcbsp@49024000 { @@ -272,7 +272,7 @@ interrupt-names = "common", "tx", "rx", "sidetone"; interrupt-parent = <&intc>; ti,buffer-size = <128>; - ti,hwmods = "mcbsp3", "mcbsp3_sidetone"; + ti,hwmods = "mcbsp3"; }; mcbsp4: mcbsp@49026000 { diff --git a/trunk/arch/arm/boot/dts/pm9g45.dts b/trunk/arch/arm/boot/dts/pm9g45.dts deleted file mode 100644 index 387fedb58988..000000000000 --- a/trunk/arch/arm/boot/dts/pm9g45.dts +++ /dev/null @@ -1,165 +0,0 @@ -/* - * pm9g45.dts - Device Tree file for Ronetix pm9g45 board - * - * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD - * - * Licensed under GPLv2. - */ -/dts-v1/; -/include/ "at91sam9g45.dtsi" - -/ { - model = "Ronetix pm9g45"; - compatible = "ronetix,pm9g45", "atmel,at91sam9g45", "atmel,at91sam9"; - - chosen { - bootargs = "console=ttyS0,115200"; - }; - - memory { - reg = <0x70000000 0x8000000>; - }; - - clocks { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - main_clock: clock@0 { - compatible = "atmel,osc", "fixed-clock"; - clock-frequency = <12000000>; - }; - }; - - ahb { - apb { - dbgu: serial@ffffee00 { - status = "okay"; - }; - - pinctrl@fffff200 { - - board { - pinctrl_board_nand: nand0-board { - atmel,pins = - <3 3 0x0 0x1 /* PD3 gpio RDY pin pull_up*/ - 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ - }; - }; - - mmc { - pinctrl_board_mmc: mmc0-board { - atmel,pins = - <3 6 0x0 0x5>; /* PD6 gpio CD pin pull_up and deglitch */ - }; - }; - }; - - mmc0: mmc@fff80000 { - pinctrl-0 = < - &pinctrl_board_mmc - &pinctrl_mmc0_slot0_clk_cmd_dat0 - &pinctrl_mmc0_slot0_dat1_3>; - status = "okay"; - slot@0 { - reg = <0>; - bus-width = <4>; - cd-gpios = <&pioD 6 0>; - }; - }; - - macb0: ethernet@fffbc000 { - phy-mode = "rmii"; - status = "okay"; - }; - - }; - - nand0: nand@40000000 { - nand-bus-width = <8>; - nand-ecc-mode = "soft"; - nand-on-flash-bbt; - pinctrl-0 = <&pinctrl_board_nand>; - - gpios = <&pioD 3 0 - &pioC 14 0 - 0 - >; - - status = "okay"; - - at91bootstrap@0 { - label = "at91bootstrap"; - reg = <0x0 0x20000>; - }; - - barebox@20000 { - label = "barebox"; - reg = <0x20000 0x40000>; - }; - - bareboxenv@60000 { - label = "bareboxenv"; - reg = <0x60000 0x1A0000>; - }; - - kernel@200000 { - label = "bareboxenv2"; - reg = <0x200000 0x300000>; - }; - - kernel@500000 { - label = "root"; - reg = <0x500000 0x400000>; - }; - - data@900000 { - label = "data"; - reg = <0x900000 0x8340000>; - }; - }; - - usb0: ohci@00700000 { - status = "okay"; - num-ports = <2>; - }; - - usb1: ehci@00800000 { - status = "okay"; - }; - }; - - leds { - compatible = "gpio-leds"; - - led0 { - label = "led0"; - gpios = <&pioD 0 1>; - linux,default-trigger = "nand-disk"; - }; - - led1 { - label = "led1"; - gpios = <&pioD 31 0>; - linux,default-trigger = "heartbeat"; - }; - }; - - gpio_keys { - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; - - right { - label = "SW4"; - gpios = <&pioE 7 1>; - linux,code = <106>; - }; - - up { - label = "SW3"; - gpios = <&pioE 8 1>; - linux,code = <103>; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/spear1310-evb.dts b/trunk/arch/arm/boot/dts/spear1310-evb.dts index 2e4c5727468e..dd4358bc26e2 100644 --- a/trunk/arch/arm/boot/dts/spear1310-evb.dts +++ b/trunk/arch/arm/boot/dts/spear1310-evb.dts @@ -181,10 +181,6 @@ status = "okay"; }; - gpio@d8400000 { - status = "okay"; - }; - i2c0: i2c@e0280000 { status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/spear1310.dtsi b/trunk/arch/arm/boot/dts/spear1310.dtsi index 7cd25eb4f8e0..419ea7413d23 100644 --- a/trunk/arch/arm/boot/dts/spear1310.dtsi +++ b/trunk/arch/arm/boot/dts/spear1310.dtsi @@ -70,12 +70,6 @@ status = "disabled"; }; - pinmux: pinmux@e0700000 { - compatible = "st,spear1310-pinmux"; - reg = <0xe0700000 0x1000>; - #gpio-range-cells = <2>; - }; - spi1: spi@5d400000 { compatible = "arm,pl022", "arm,primecell"; reg = <0x5d400000 0x1000>; @@ -185,27 +179,6 @@ thermal@e07008c4 { st,thermal-flags = <0x7000>; }; - - gpiopinctrl: gpio@d8400000 { - compatible = "st,spear-plgpio"; - reg = <0xd8400000 0x1000>; - interrupts = <0 100 0x4>; - #interrupt-cells = <1>; - interrupt-controller; - gpio-controller; - #gpio-cells = <2>; - gpio-ranges = <&pinmux 0 246>; - status = "disabled"; - - st-plgpio,ngpio = <246>; - st-plgpio,enb-reg = <0xd0>; - st-plgpio,wdata-reg = <0x90>; - st-plgpio,dir-reg = <0xb0>; - st-plgpio,ie-reg = <0x30>; - st-plgpio,rdata-reg = <0x70>; - st-plgpio,mis-reg = <0x10>; - st-plgpio,eit-reg = <0x50>; - }; }; }; }; diff --git a/trunk/arch/arm/boot/dts/spear1340-evb.dts b/trunk/arch/arm/boot/dts/spear1340-evb.dts index 045f7123ffac..c9a54e06fb68 100644 --- a/trunk/arch/arm/boot/dts/spear1340-evb.dts +++ b/trunk/arch/arm/boot/dts/spear1340-evb.dts @@ -193,10 +193,6 @@ status = "okay"; }; - gpio@e2800000 { - status = "okay"; - }; - i2c0: i2c@e0280000 { status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/spear1340.dtsi b/trunk/arch/arm/boot/dts/spear1340.dtsi index 6c09eb0a1b2b..d71fe2a68f09 100644 --- a/trunk/arch/arm/boot/dts/spear1340.dtsi +++ b/trunk/arch/arm/boot/dts/spear1340.dtsi @@ -24,12 +24,6 @@ status = "disabled"; }; - pinmux: pinmux@e0700000 { - compatible = "st,spear1340-pinmux"; - reg = <0xe0700000 0x1000>; - #gpio-range-cells = <2>; - }; - spi1: spi@5d400000 { compatible = "arm,pl022", "arm,primecell"; reg = <0x5d400000 0x1000>; @@ -57,26 +51,6 @@ thermal@e07008c4 { st,thermal-flags = <0x2a00>; }; - - gpiopinctrl: gpio@e2800000 { - compatible = "st,spear-plgpio"; - reg = <0xe2800000 0x1000>; - interrupts = <0 107 0x4>; - #interrupt-cells = <1>; - interrupt-controller; - gpio-controller; - #gpio-cells = <2>; - gpio-ranges = <&pinmux 0 252>; - status = "disabled"; - - st-plgpio,ngpio = <250>; - st-plgpio,wdata-reg = <0x40>; - st-plgpio,dir-reg = <0x00>; - st-plgpio,ie-reg = <0x80>; - st-plgpio,rdata-reg = <0x20>; - st-plgpio,mis-reg = <0xa0>; - st-plgpio,eit-reg = <0x60>; - }; }; }; }; diff --git a/trunk/arch/arm/boot/dts/spear310.dtsi b/trunk/arch/arm/boot/dts/spear310.dtsi index 930303e48df9..62fc4fb3e5f9 100644 --- a/trunk/arch/arm/boot/dts/spear310.dtsi +++ b/trunk/arch/arm/boot/dts/spear310.dtsi @@ -22,10 +22,9 @@ 0xb0000000 0xb0000000 0x10000000 0xd0000000 0xd0000000 0x30000000>; - pinmux: pinmux@b4000000 { + pinmux@b4000000 { compatible = "st,spear310-pinmux"; reg = <0xb4000000 0x1000>; - #gpio-range-cells = <2>; }; fsmc: flash@44000000 { @@ -76,25 +75,6 @@ reg = <0xb2200000 0x1000>; status = "disabled"; }; - - gpiopinctrl: gpio@b4000000 { - compatible = "st,spear-plgpio"; - reg = <0xb4000000 0x1000>; - #interrupt-cells = <1>; - interrupt-controller; - gpio-controller; - #gpio-cells = <2>; - gpio-ranges = <&pinmux 0 102>; - status = "disabled"; - - st-plgpio,ngpio = <102>; - st-plgpio,enb-reg = <0x10>; - st-plgpio,wdata-reg = <0x20>; - st-plgpio,dir-reg = <0x30>; - st-plgpio,ie-reg = <0x50>; - st-plgpio,rdata-reg = <0x40>; - st-plgpio,mis-reg = <0x60>; - }; }; }; }; diff --git a/trunk/arch/arm/boot/dts/spear320-evb.dts b/trunk/arch/arm/boot/dts/spear320-evb.dts index ad4bfc68ee05..082328bd64ab 100644 --- a/trunk/arch/arm/boot/dts/spear320-evb.dts +++ b/trunk/arch/arm/boot/dts/spear320-evb.dts @@ -164,10 +164,6 @@ status = "okay"; }; - gpio@b3000000 { - status = "okay"; - }; - i2c0: i2c@d0180000 { status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/spear320.dtsi b/trunk/arch/arm/boot/dts/spear320.dtsi index 67d7ada71275..1f49d69595a0 100644 --- a/trunk/arch/arm/boot/dts/spear320.dtsi +++ b/trunk/arch/arm/boot/dts/spear320.dtsi @@ -21,10 +21,9 @@ ranges = <0x40000000 0x40000000 0x80000000 0xd0000000 0xd0000000 0x30000000>; - pinmux: pinmux@b3000000 { + pinmux@b3000000 { compatible = "st,spear320-pinmux"; reg = <0xb3000000 0x1000>; - #gpio-range-cells = <2>; }; clcd@90000000 { @@ -91,26 +90,6 @@ reg = <0xa4000000 0x1000>; status = "disabled"; }; - - gpiopinctrl: gpio@b3000000 { - compatible = "st,spear-plgpio"; - reg = <0xb3000000 0x1000>; - #interrupt-cells = <1>; - interrupt-controller; - gpio-controller; - #gpio-cells = <2>; - gpio-ranges = <&pinmux 0 102>; - status = "disabled"; - - st-plgpio,ngpio = <102>; - st-plgpio,enb-reg = <0x24>; - st-plgpio,wdata-reg = <0x34>; - st-plgpio,dir-reg = <0x44>; - st-plgpio,ie-reg = <0x64>; - st-plgpio,rdata-reg = <0x54>; - st-plgpio,mis-reg = <0x84>; - st-plgpio,eit-reg = <0x94>; - }; }; }; }; diff --git a/trunk/arch/arm/boot/dts/tegra20-seaboard.dts b/trunk/arch/arm/boot/dts/tegra20-seaboard.dts index a20d4ff3fb3c..f0ba901676ac 100644 --- a/trunk/arch/arm/boot/dts/tegra20-seaboard.dts +++ b/trunk/arch/arm/boot/dts/tegra20-seaboard.dts @@ -523,12 +523,12 @@ }; temperature-sensor@4c { - compatible = "onnn,nct1008"; + compatible = "nct1008"; reg = <0x4c>; }; magnetometer@c { - compatible = "ak,ak8975"; + compatible = "ak8975"; reg = <0xc>; interrupt-parent = <&gpio>; interrupts = <109 0x04>; /* gpio PN5 */ diff --git a/trunk/arch/arm/boot/dts/tegra30.dtsi b/trunk/arch/arm/boot/dts/tegra30.dtsi index df7f2270fc91..b1497c7d7d68 100644 --- a/trunk/arch/arm/boot/dts/tegra30.dtsi +++ b/trunk/arch/arm/boot/dts/tegra30.dtsi @@ -73,8 +73,8 @@ pinmux: pinmux { compatible = "nvidia,tegra30-pinmux"; - reg = <0x70000868 0xd4 /* Pad control registers */ - 0x70003000 0x3e4>; /* Mux registers */ + reg = <0x70000868 0xd0 /* Pad control registers */ + 0x70003000 0x3e0>; /* Mux registers */ }; serial@70006000 { diff --git a/trunk/arch/arm/boot/dts/wm8505.dtsi b/trunk/arch/arm/boot/dts/wm8505.dtsi index 330f833ac3b0..b459691655ab 100644 --- a/trunk/arch/arm/boot/dts/wm8505.dtsi +++ b/trunk/arch/arm/boot/dts/wm8505.dtsi @@ -71,13 +71,13 @@ ehci@d8007100 { compatible = "via,vt8500-ehci"; reg = <0xd8007100 0x200>; - interrupts = <1>; + interrupts = <43>; }; uhci@d8007300 { compatible = "platform-uhci"; reg = <0xd8007300 0x200>; - interrupts = <0>; + interrupts = <43>; }; fb@d8050800 { diff --git a/trunk/arch/arm/common/timer-sp.c b/trunk/arch/arm/common/timer-sp.c index 9d2d3ba339ff..df13a3ffff35 100644 --- a/trunk/arch/arm/common/timer-sp.c +++ b/trunk/arch/arm/common/timer-sp.c @@ -162,6 +162,7 @@ static struct clock_event_device sp804_clockevent = { .set_mode = sp804_set_mode, .set_next_event = sp804_set_next_event, .rating = 300, + .cpumask = cpu_all_mask, }; static struct irqaction sp804_timer_irq = { @@ -184,7 +185,6 @@ void __init sp804_clockevents_init(void __iomem *base, unsigned int irq, clkevt_reload = DIV_ROUND_CLOSEST(rate, HZ); evt->name = name; evt->irq = irq; - evt->cpumask = cpu_possible_mask; setup_irq(irq, &sp804_timer_irq); clockevents_config_and_register(evt, rate, 0xf, 0xffffffff); diff --git a/trunk/arch/arm/configs/at91_dt_defconfig b/trunk/arch/arm/configs/at91_dt_defconfig index b175577d7abb..67bc571ed0c3 100644 --- a/trunk/arch/arm/configs/at91_dt_defconfig +++ b/trunk/arch/arm/configs/at91_dt_defconfig @@ -111,7 +111,6 @@ CONFIG_I2C=y CONFIG_I2C_GPIO=y CONFIG_SPI=y CONFIG_SPI_ATMEL=y -CONFIG_PINCTRL_AT91=y # CONFIG_HWMON is not set CONFIG_WATCHDOG=y CONFIG_AT91SAM9X_WATCHDOG=y diff --git a/trunk/arch/arm/configs/imx_v6_v7_defconfig b/trunk/arch/arm/configs/imx_v6_v7_defconfig index 394ded624e37..66aa7a6db884 100644 --- a/trunk/arch/arm/configs/imx_v6_v7_defconfig +++ b/trunk/arch/arm/configs/imx_v6_v7_defconfig @@ -139,7 +139,6 @@ CONFIG_I2C_IMX=y CONFIG_SPI=y CONFIG_SPI_IMX=y CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_MC9S08DZ60=y # CONFIG_HWMON is not set CONFIG_WATCHDOG=y CONFIG_IMX2_WDT=y @@ -156,7 +155,6 @@ CONFIG_SOC_CAMERA=y CONFIG_SOC_CAMERA_OV2640=y CONFIG_VIDEO_MX3=y CONFIG_FB=y -CONFIG_LCD_PLATFORM=y CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_L4F00242T03=y diff --git a/trunk/arch/arm/configs/mvebu_defconfig b/trunk/arch/arm/configs/mvebu_defconfig index 3458752c4bb2..7bcf850eddcd 100644 --- a/trunk/arch/arm/configs/mvebu_defconfig +++ b/trunk/arch/arm/configs/mvebu_defconfig @@ -1,6 +1,6 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y -CONFIG_IRQ_DOMAIN_DEBUG=y +CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y @@ -9,12 +9,10 @@ CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_ARCH_MVEBU=y -CONFIG_MACH_ARMADA_370=y -CONFIG_MACH_ARMADA_XP=y -# CONFIG_CACHE_L2X0 is not set +CONFIG_MACH_ARMADA_370_XP=y CONFIG_AEABI=y CONFIG_HIGHMEM=y -# CONFIG_COMPACTION is not set +CONFIG_USE_OF=y CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ARM_APPENDED_DTB=y @@ -25,8 +23,6 @@ CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_GPIOLIB=y CONFIG_GPIO_SYSFS=y -# CONFIG_USB_SUPPORT is not set -# CONFIG_IOMMU_SUPPORT is not set CONFIG_EXT2_FS=y CONFIG_EXT3_FS=y # CONFIG_EXT3_FS_XATTR is not set diff --git a/trunk/arch/arm/configs/versatile_defconfig b/trunk/arch/arm/configs/versatile_defconfig index 2ba9e63d0f17..cdd4d2bd3962 100644 --- a/trunk/arch/arm/configs/versatile_defconfig +++ b/trunk/arch/arm/configs/versatile_defconfig @@ -1,4 +1,3 @@ -CONFIG_ARCH_VERSATILE=y CONFIG_EXPERIMENTAL=y # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SYSVIPC=y diff --git a/trunk/arch/arm/include/asm/flat.h b/trunk/arch/arm/include/asm/flat.h index e847d23351ed..59426a4595c9 100644 --- a/trunk/arch/arm/include/asm/flat.h +++ b/trunk/arch/arm/include/asm/flat.h @@ -8,7 +8,7 @@ #define flat_argvp_envp_on_stack() 1 #define flat_old_ram_flag(flags) (flags) #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) -#define flat_get_addr_from_rp(rp, relval, flags, persistent) ((void)persistent,get_unaligned(rp)) +#define flat_get_addr_from_rp(rp, relval, flags, persistent) get_unaligned(rp) #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) #define flat_get_relocate_addr(rel) (rel) #define flat_set_persistent(relval, p) 0 diff --git a/trunk/arch/arm/include/asm/hardware/sp810.h b/trunk/arch/arm/include/asm/hardware/sp810.h index afd7e916472f..6b9b077d86b3 100644 --- a/trunk/arch/arm/include/asm/hardware/sp810.h +++ b/trunk/arch/arm/include/asm/hardware/sp810.h @@ -56,8 +56,6 @@ #define SCCTRL_TIMEREN1SEL_REFCLK (0 << 17) #define SCCTRL_TIMEREN1SEL_TIMCLK (1 << 17) -#define SCCTRL_TIMERENnSEL_SHIFT(n) (15 + ((n) * 2)) - static inline void sysctl_soft_reset(void __iomem *base) { /* switch to slow mode */ diff --git a/trunk/arch/arm/include/asm/io.h b/trunk/arch/arm/include/asm/io.h index 652b56086de7..35c1ed89b936 100644 --- a/trunk/arch/arm/include/asm/io.h +++ b/trunk/arch/arm/include/asm/io.h @@ -64,7 +64,7 @@ extern void __raw_readsl(const void __iomem *addr, void *data, int longlen); static inline void __raw_writew(u16 val, volatile void __iomem *addr) { asm volatile("strh %1, %0" - : "+Q" (*(volatile u16 __force *)addr) + : "+Qo" (*(volatile u16 __force *)addr) : "r" (val)); } @@ -72,7 +72,7 @@ static inline u16 __raw_readw(const volatile void __iomem *addr) { u16 val; asm volatile("ldrh %1, %0" - : "+Q" (*(volatile u16 __force *)addr), + : "+Qo" (*(volatile u16 __force *)addr), "=r" (val)); return val; } @@ -374,7 +374,7 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr); #ifdef CONFIG_MMU #define ARCH_HAS_VALID_PHYS_ADDR_RANGE -extern int valid_phys_addr_range(phys_addr_t addr, size_t size); +extern int valid_phys_addr_range(unsigned long addr, size_t size); extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size); extern int devmem_is_allowed(unsigned long pfn); #endif diff --git a/trunk/arch/arm/include/asm/prom.h b/trunk/arch/arm/include/asm/prom.h index 6d65ba222db9..aeae9c609df4 100644 --- a/trunk/arch/arm/include/asm/prom.h +++ b/trunk/arch/arm/include/asm/prom.h @@ -11,8 +11,6 @@ #ifndef __ASMARM_PROM_H #define __ASMARM_PROM_H -#define HAVE_ARCH_DEVTREE_FIXUPS - #ifdef CONFIG_OF extern struct machine_desc *setup_machine_fdt(unsigned int dt_phys); diff --git a/trunk/arch/arm/include/asm/sched_clock.h b/trunk/arch/arm/include/asm/sched_clock.h index e3f757263438..05b8e82ec9f5 100644 --- a/trunk/arch/arm/include/asm/sched_clock.h +++ b/trunk/arch/arm/include/asm/sched_clock.h @@ -10,5 +10,7 @@ extern void sched_clock_postinit(void); extern void setup_sched_clock(u32 (*read)(void), int bits, unsigned long rate); +extern void setup_sched_clock_needs_suspend(u32 (*read)(void), int bits, + unsigned long rate); #endif diff --git a/trunk/arch/arm/include/asm/uaccess.h b/trunk/arch/arm/include/asm/uaccess.h index 7e1f76027f66..77bd79f2ffdb 100644 --- a/trunk/arch/arm/include/asm/uaccess.h +++ b/trunk/arch/arm/include/asm/uaccess.h @@ -200,8 +200,8 @@ extern int __put_user_8(void *, unsigned long long); #define USER_DS KERNEL_DS #define segment_eq(a,b) (1) -#define __addr_ok(addr) ((void)(addr),1) -#define __range_ok(addr,size) ((void)(addr),0) +#define __addr_ok(addr) (1) +#define __range_ok(addr,size) (0) #define get_fs() (KERNEL_DS) static inline void set_fs(mm_segment_t fs) diff --git a/trunk/arch/arm/include/asm/vfpmacros.h b/trunk/arch/arm/include/asm/vfpmacros.h index 301c1db3e99b..6a6f1e485f41 100644 --- a/trunk/arch/arm/include/asm/vfpmacros.h +++ b/trunk/arch/arm/include/asm/vfpmacros.h @@ -27,9 +27,9 @@ #if __LINUX_ARM_ARCH__ <= 6 ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] - tst \tmp, #HWCAP_VFPD32 - ldcnel p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} - addeq \base, \base, #32*4 @ step over unused register space + tst \tmp, #HWCAP_VFPv3D16 + ldceql p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} + addne \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field @@ -51,9 +51,9 @@ #if __LINUX_ARM_ARCH__ <= 6 ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] - tst \tmp, #HWCAP_VFPD32 - stcnel p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} - addeq \base, \base, #32*4 @ step over unused register space + tst \tmp, #HWCAP_VFPv3D16 + stceql p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} + addne \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field diff --git a/trunk/arch/arm/include/asm/xen/interface.h b/trunk/arch/arm/include/asm/xen/interface.h index 5000397134b4..ae05e56dd17d 100644 --- a/trunk/arch/arm/include/asm/xen/interface.h +++ b/trunk/arch/arm/include/asm/xen/interface.h @@ -29,22 +29,16 @@ #ifndef __ASSEMBLY__ /* Explicitly size integers that represent pfns in the interface with - * Xen so that we can have one ABI that works for 32 and 64 bit guests. - * Note that this means that the xen_pfn_t type may be capable of - * representing pfn's which the guest cannot represent in its own pfn - * type. However since pfn space is controlled by the guest this is - * fine since it simply wouldn't be able to create any sure pfns in - * the first place. - */ + * Xen so that we can have one ABI that works for 32 and 64 bit guests. */ typedef uint64_t xen_pfn_t; -#define PRI_xen_pfn "llx" typedef uint64_t xen_ulong_t; -#define PRI_xen_ulong "llx" /* Guest handles for primitive C types. */ __DEFINE_GUEST_HANDLE(uchar, unsigned char); __DEFINE_GUEST_HANDLE(uint, unsigned int); +__DEFINE_GUEST_HANDLE(ulong, unsigned long); DEFINE_GUEST_HANDLE(char); DEFINE_GUEST_HANDLE(int); +DEFINE_GUEST_HANDLE(long); DEFINE_GUEST_HANDLE(void); DEFINE_GUEST_HANDLE(uint64_t); DEFINE_GUEST_HANDLE(uint32_t); diff --git a/trunk/arch/arm/include/asm/xen/page.h b/trunk/arch/arm/include/asm/xen/page.h index c6b9096cef95..174202318dff 100644 --- a/trunk/arch/arm/include/asm/xen/page.h +++ b/trunk/arch/arm/include/asm/xen/page.h @@ -10,7 +10,7 @@ #include #define pfn_to_mfn(pfn) (pfn) -#define phys_to_machine_mapping_valid(pfn) (1) +#define phys_to_machine_mapping_valid (1) #define mfn_to_pfn(mfn) (mfn) #define mfn_to_virt(m) (__va(mfn_to_pfn(m) << PAGE_SHIFT)) @@ -30,8 +30,6 @@ typedef struct xpaddr { #define XMADDR(x) ((xmaddr_t) { .maddr = (x) }) #define XPADDR(x) ((xpaddr_t) { .paddr = (x) }) -#define INVALID_P2M_ENTRY (~0UL) - static inline xmaddr_t phys_to_machine(xpaddr_t phys) { unsigned offset = phys.paddr & ~PAGE_MASK; @@ -76,14 +74,9 @@ static inline int m2p_remove_override(struct page *page, bool clear_pte) return 0; } -static inline bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn) -{ - BUG_ON(pfn != mfn && mfn != INVALID_P2M_ENTRY); - return true; -} - static inline bool set_phys_to_machine(unsigned long pfn, unsigned long mfn) { - return __set_phys_to_machine(pfn, mfn); + BUG(); + return false; } #endif /* _ASM_ARM_XEN_PAGE_H */ diff --git a/trunk/arch/arm/include/debug/8250_32.S b/trunk/arch/arm/include/debug/8250_32.S deleted file mode 100644 index 8db01eeabbb4..000000000000 --- a/trunk/arch/arm/include/debug/8250_32.S +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2011 Picochip Ltd., Jamie Iles - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit - * accesses to the 8250. - */ - -#include - - .macro senduart,rd,rx - str \rd, [\rx, #UART_TX << UART_SHIFT] - .endm - - .macro busyuart,rd,rx -1002: ldr \rd, [\rx, #UART_LSR << UART_SHIFT] - and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE - teq \rd, #UART_LSR_TEMT | UART_LSR_THRE - bne 1002b - .endm - - /* The UART's don't have any flow control IO's wired up. */ - .macro waituart,rd,rx - .endm diff --git a/trunk/arch/arm/include/debug/picoxcell.S b/trunk/arch/arm/include/debug/picoxcell.S index bc1f07c49cd4..7419deb1b948 100644 --- a/trunk/arch/arm/include/debug/picoxcell.S +++ b/trunk/arch/arm/include/debug/picoxcell.S @@ -5,7 +5,10 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * + * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit + * accesses to the 8250. */ +#include #define UART_SHIFT 2 #define PICOXCELL_UART1_BASE 0x80230000 @@ -16,4 +19,17 @@ ldr \rp, =PICOXCELL_UART1_BASE .endm -#include "8250_32.S" + .macro senduart,rd,rx + str \rd, [\rx, #UART_TX << UART_SHIFT] + .endm + + .macro busyuart,rd,rx +1002: ldr \rd, [\rx, #UART_LSR << UART_SHIFT] + and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE + teq \rd, #UART_LSR_TEMT | UART_LSR_THRE + bne 1002b + .endm + + /* The UART's don't have any flow control IO's wired up. */ + .macro waituart,rd,rx + .endm diff --git a/trunk/arch/arm/include/debug/socfpga.S b/trunk/arch/arm/include/debug/socfpga.S index 966b2f994946..d6f26d23374f 100644 --- a/trunk/arch/arm/include/debug/socfpga.S +++ b/trunk/arch/arm/include/debug/socfpga.S @@ -7,9 +7,6 @@ * published by the Free Software Foundation. */ -#define UART_SHIFT 2 -#define DEBUG_LL_UART_OFFSET 0x00002000 - .macro addruart, rp, rv, tmp mov \rp, #DEBUG_LL_UART_OFFSET orr \rp, \rp, #0x00c00000 @@ -17,5 +14,3 @@ orr \rp, \rp, #0xff000000 @ physical base .endm -#include "8250_32.S" - diff --git a/trunk/arch/arm/include/uapi/asm/hwcap.h b/trunk/arch/arm/include/uapi/asm/hwcap.h index 3688fd15a32d..f254f6503cce 100644 --- a/trunk/arch/arm/include/uapi/asm/hwcap.h +++ b/trunk/arch/arm/include/uapi/asm/hwcap.h @@ -18,12 +18,11 @@ #define HWCAP_THUMBEE (1 << 11) #define HWCAP_NEON (1 << 12) #define HWCAP_VFPv3 (1 << 13) -#define HWCAP_VFPv3D16 (1 << 14) /* also set for VFPv4-D16 */ +#define HWCAP_VFPv3D16 (1 << 14) #define HWCAP_TLS (1 << 15) #define HWCAP_VFPv4 (1 << 16) #define HWCAP_IDIVA (1 << 17) #define HWCAP_IDIVT (1 << 18) -#define HWCAP_VFPD32 (1 << 19) /* set if VFP has 32 regs (not 16) */ #define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index 34711757ba59..417bac1846bd 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -88,9 +88,9 @@ ENTRY(ret_from_fork) bl schedule_tail cmp r5, #0 movne r0, r4 - adrne lr, BSYM(1f) + movne lr, pc movne pc, r5 -1: get_thread_info tsk + get_thread_info tsk b ret_slow_syscall ENDPROC(ret_from_fork) diff --git a/trunk/arch/arm/kernel/irq.c b/trunk/arch/arm/kernel/irq.c index 896165096d6a..16cedb42c0c3 100644 --- a/trunk/arch/arm/kernel/irq.c +++ b/trunk/arch/arm/kernel/irq.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include @@ -110,7 +109,6 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) /* Order is clear bits in "clr" then set bits in "set" */ irq_modify_status(irq, clr, set & ~clr); } -EXPORT_SYMBOL_GPL(set_irq_flags); void __init init_IRQ(void) { diff --git a/trunk/arch/arm/kernel/kprobes-test-arm.c b/trunk/arch/arm/kernel/kprobes-test-arm.c index 839312905067..38c1a3b103a0 100644 --- a/trunk/arch/arm/kernel/kprobes-test-arm.c +++ b/trunk/arch/arm/kernel/kprobes-test-arm.c @@ -366,9 +366,7 @@ void kprobe_arm_test_cases(void) TEST_UNSUPPORTED(".word 0xe04f0392 @ umaal r0, pc, r2, r3") TEST_UNSUPPORTED(".word 0xe0500090 @ undef") TEST_UNSUPPORTED(".word 0xe05fff9f @ undef") -#endif -#if __LINUX_ARM_ARCH__ >= 7 TEST_RRR( "mls r0, r",1, VAL1,", r",2, VAL2,", r",3, VAL3,"") TEST_RRR( "mlshi r7, r",8, VAL3,", r",9, VAL1,", r",10, VAL2,"") TEST_RR( "mls lr, r",1, VAL2,", r",2, VAL3,", r13") @@ -458,8 +456,6 @@ void kprobe_arm_test_cases(void) TEST_UNSUPPORTED(".word 0xe1700090") /* Unallocated space */ #if __LINUX_ARM_ARCH__ >= 6 TEST_UNSUPPORTED("ldrex r2, [sp]") -#endif -#if (__LINUX_ARM_ARCH__ >= 7) || defined(CONFIG_CPU_32v6K) TEST_UNSUPPORTED("strexd r0, r2, r3, [sp]") TEST_UNSUPPORTED("ldrexd r2, r3, [sp]") TEST_UNSUPPORTED("strexb r0, r2, [sp]") diff --git a/trunk/arch/arm/kernel/machine_kexec.c b/trunk/arch/arm/kernel/machine_kexec.c index 8ef8c9337809..e29c3337ca81 100644 --- a/trunk/arch/arm/kernel/machine_kexec.c +++ b/trunk/arch/arm/kernel/machine_kexec.c @@ -45,9 +45,10 @@ int machine_kexec_prepare(struct kimage *image) for (i = 0; i < image->nr_segments; i++) { current_segment = &image->segment[i]; - if (!memblock_is_region_memory(current_segment->mem, - current_segment->memsz)) - return -EINVAL; + err = memblock_is_region_memory(current_segment->mem, + current_segment->memsz); + if (err) + return - EINVAL; err = get_user(header, (__be32*)current_segment->buf); if (err) diff --git a/trunk/arch/arm/kernel/perf_event.c b/trunk/arch/arm/kernel/perf_event.c index 53c0304b734a..93971b1a4f0b 100644 --- a/trunk/arch/arm/kernel/perf_event.c +++ b/trunk/arch/arm/kernel/perf_event.c @@ -96,10 +96,6 @@ armpmu_event_set_period(struct perf_event *event, s64 period = hwc->sample_period; int ret = 0; - /* The period may have been changed by PERF_EVENT_IOC_PERIOD */ - if (unlikely(period != hwc->last_period)) - left = period - (hwc->last_period - left); - if (unlikely(left <= -period)) { left = period; local64_set(&hwc->period_left, left); diff --git a/trunk/arch/arm/kernel/sched_clock.c b/trunk/arch/arm/kernel/sched_clock.c index fc6692e2b603..e21bac20d90d 100644 --- a/trunk/arch/arm/kernel/sched_clock.c +++ b/trunk/arch/arm/kernel/sched_clock.c @@ -107,6 +107,13 @@ static void sched_clock_poll(unsigned long wrap_ticks) update_sched_clock(); } +void __init setup_sched_clock_needs_suspend(u32 (*read)(void), int bits, + unsigned long rate) +{ + setup_sched_clock(read, bits, rate); + cd.needs_suspend = true; +} + void __init setup_sched_clock(u32 (*read)(void), int bits, unsigned long rate) { unsigned long r, w; @@ -182,15 +189,18 @@ void __init sched_clock_postinit(void) static int sched_clock_suspend(void) { sched_clock_poll(sched_clock_timer.data); - cd.suspended = true; + if (cd.needs_suspend) + cd.suspended = true; return 0; } static void sched_clock_resume(void) { - cd.epoch_cyc = read_sched_clock(); - cd.epoch_cyc_copy = cd.epoch_cyc; - cd.suspended = false; + if (cd.needs_suspend) { + cd.epoch_cyc = read_sched_clock(); + cd.epoch_cyc_copy = cd.epoch_cyc; + cd.suspended = false; + } } static struct syscore_ops sched_clock_ops = { diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index fbc8b2623d82..8e20754dd31d 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -294,24 +294,18 @@ static void percpu_timer_setup(void); asmlinkage void __cpuinit secondary_start_kernel(void) { struct mm_struct *mm = &init_mm; - unsigned int cpu; - - /* - * The identity mapping is uncached (strongly ordered), so - * switch away from it before attempting any exclusive accesses. - */ - cpu_switch_mm(mm->pgd, mm); - enter_lazy_tlb(mm, current); - local_flush_tlb_all(); + unsigned int cpu = smp_processor_id(); /* * All kernel threads share the same mm context; grab a * reference and switch to it. */ - cpu = smp_processor_id(); atomic_inc(&mm->mm_count); current->active_mm = mm; cpumask_set_cpu(cpu, mm_cpumask(mm)); + cpu_switch_mm(mm->pgd, mm); + enter_lazy_tlb(mm, current); + local_flush_tlb_all(); printk("CPU%u: Booted secondary processor\n", cpu); diff --git a/trunk/arch/arm/kernel/smp_twd.c b/trunk/arch/arm/kernel/smp_twd.c index b22d700fea27..e1f906989bb8 100644 --- a/trunk/arch/arm/kernel/smp_twd.c +++ b/trunk/arch/arm/kernel/smp_twd.c @@ -42,10 +42,10 @@ static void twd_set_mode(enum clock_event_mode mode, switch (mode) { case CLOCK_EVT_MODE_PERIODIC: + /* timer load already set up */ ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE | TWD_TIMER_CONTROL_PERIODIC; - __raw_writel(DIV_ROUND_CLOSEST(twd_timer_rate, HZ), - twd_base + TWD_TIMER_LOAD); + __raw_writel(twd_timer_rate / HZ, twd_base + TWD_TIMER_LOAD); break; case CLOCK_EVT_MODE_ONESHOT: /* period set, and timer enabled in 'next_event' hook */ diff --git a/trunk/arch/arm/lib/delay.c b/trunk/arch/arm/lib/delay.c index 0dc53854a5d8..9d0a30032d7f 100644 --- a/trunk/arch/arm/lib/delay.c +++ b/trunk/arch/arm/lib/delay.c @@ -45,7 +45,6 @@ int read_current_timer(unsigned long *timer_val) *timer_val = delay_timer->read_current_timer(); return 0; } -EXPORT_SYMBOL_GPL(read_current_timer); static void __timer_delay(unsigned long cycles) { diff --git a/trunk/arch/arm/mach-at91/Kconfig b/trunk/arch/arm/mach-at91/Kconfig index e34c1bdb804d..b14207101938 100644 --- a/trunk/arch/arm/mach-at91/Kconfig +++ b/trunk/arch/arm/mach-at91/Kconfig @@ -21,13 +21,19 @@ config SOC_AT91SAM9 bool select CPU_ARM926T select GENERIC_CLOCKEVENTS - select MULTI_IRQ_HANDLER - select SPARSE_IRQ menu "Atmel AT91 System-on-Chip" comment "Atmel AT91 Processor" +config SOC_AT91SAM9 + bool + select AT91_SAM9_SMC + select AT91_SAM9_TIME + select CPU_ARM926T + select MULTI_IRQ_HANDLER + select SPARSE_IRQ + config SOC_AT91RM9200 bool "AT91RM9200" select CPU_ARM920T @@ -494,17 +500,8 @@ endif comment "Generic Board Type" -config MACH_AT91RM9200_DT - bool "Atmel AT91RM9200 Evaluation Kits with device-tree support" - depends on SOC_AT91RM9200 - select USE_OF - help - Select this if you want to experiment device-tree with - an Atmel RM9200 Evaluation Kit. - config MACH_AT91SAM_DT bool "Atmel AT91SAM Evaluation Kits with device-tree support" - depends on SOC_AT91SAM9 select USE_OF help Select this if you want to experiment device-tree with diff --git a/trunk/arch/arm/mach-at91/Makefile b/trunk/arch/arm/mach-at91/Makefile index b38a1dcb79b8..3bb7a51efc9d 100644 --- a/trunk/arch/arm/mach-at91/Makefile +++ b/trunk/arch/arm/mach-at91/Makefile @@ -88,7 +88,6 @@ obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o # AT91SAM board with device-tree -obj-$(CONFIG_MACH_AT91RM9200_DT) += board-rm9200-dt.o obj-$(CONFIG_MACH_AT91SAM_DT) += board-dt.o # AT91X40 board-specific support diff --git a/trunk/arch/arm/mach-at91/at91rm9200.c b/trunk/arch/arm/mach-at91/at91rm9200.c index 6cceb42a4c33..b4f0565aff63 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200.c +++ b/trunk/arch/arm/mach-at91/at91rm9200.c @@ -187,31 +187,13 @@ 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.0", &twi_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), CLKDEV_CON_ID("pioB", &pioB_clk), CLKDEV_CON_ID("pioC", &pioC_clk), CLKDEV_CON_ID("pioD", &pioD_clk), - /* usart lookup table for DT entries */ - CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck), - CLKDEV_CON_DEV_ID("usart", "fffc0000.serial", &usart0_clk), - CLKDEV_CON_DEV_ID("usart", "fffc4000.serial", &usart1_clk), - CLKDEV_CON_DEV_ID("usart", "fffc8000.serial", &usart2_clk), - CLKDEV_CON_DEV_ID("usart", "fffcc000.serial", &usart3_clk), - /* 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), - CLKDEV_CON_DEV_ID("t2_clk", "fffa0000.timer", &tc2_clk), - CLKDEV_CON_DEV_ID("t0_clk", "fffa4000.timer", &tc3_clk), - CLKDEV_CON_DEV_ID("t1_clk", "fffa4000.timer", &tc4_clk), - CLKDEV_CON_DEV_ID("t2_clk", "fffa4000.timer", &tc5_clk), - CLKDEV_CON_DEV_ID("hclk", "300000.ohci", &ohci_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioC_clk), - CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioD_clk), }; static struct clk_lookup usart_clocks_lookups[] = { @@ -379,10 +361,10 @@ static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = { 0 /* Advanced Interrupt Controller (IRQ6) */ }; -AT91_SOC_START(rm9200) +struct at91_init_soc __initdata at91rm9200_soc = { .map_io = at91rm9200_map_io, .default_irq_priority = at91rm9200_default_irq_priority, .ioremap_registers = at91rm9200_ioremap_registers, .register_clocks = at91rm9200_register_clocks, .init = at91rm9200_initialize, -AT91_SOC_END +}; diff --git a/trunk/arch/arm/mach-at91/at91rm9200_devices.c b/trunk/arch/arm/mach-at91/at91rm9200_devices.c index 3cee0e6ea7c3..a563189cdfc3 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200_devices.c +++ b/trunk/arch/arm/mach-at91/at91rm9200_devices.c @@ -68,7 +68,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (gpio_is_valid(data->overcurrent_pin[i])) + if (data->overcurrent_pin[i]) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -479,7 +479,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91rm9200_twi_device = { .name = "i2c-gpio", - .id = 0, + .id = -1, .dev.platform_data = &pdata, }; @@ -512,7 +512,7 @@ static struct resource twi_resources[] = { static struct platform_device at91rm9200_twi_device = { .name = "i2c-at91rm9200", - .id = 0, + .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91rm9200_time.c b/trunk/arch/arm/mach-at91/at91rm9200_time.c index cafe98836c8a..aaa443b48c91 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200_time.c +++ b/trunk/arch/arm/mach-at91/at91rm9200_time.c @@ -24,9 +24,6 @@ #include #include #include -#include -#include -#include #include @@ -94,8 +91,7 @@ static irqreturn_t at91rm9200_timer_interrupt(int irq, void *dev_id) static struct irqaction at91rm9200_timer_irq = { .name = "at91_tick", .flags = IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, - .handler = at91rm9200_timer_interrupt, - .irq = NR_IRQS_LEGACY + AT91_ID_SYS, + .handler = at91rm9200_timer_interrupt }; static cycle_t read_clk32k(struct clocksource *cs) @@ -183,60 +179,8 @@ static struct clock_event_device clkevt = { void __iomem *at91_st_base; EXPORT_SYMBOL_GPL(at91_st_base); -#ifdef CONFIG_OF -static struct of_device_id at91rm9200_st_timer_ids[] = { - { .compatible = "atmel,at91rm9200-st" }, - { /* sentinel */ } -}; - -static int __init of_at91rm9200_st_init(void) -{ - struct device_node *np; - int ret; - - np = of_find_matching_node(NULL, at91rm9200_st_timer_ids); - if (!np) - goto err; - - at91_st_base = of_iomap(np, 0); - if (!at91_st_base) - goto node_err; - - /* Get the interrupts property */ - ret = irq_of_parse_and_map(np, 0); - if (!ret) - goto ioremap_err; - at91rm9200_timer_irq.irq = ret; - - of_node_put(np); - - return 0; - -ioremap_err: - iounmap(at91_st_base); -node_err: - of_node_put(np); -err: - return -EINVAL; -} -#else -static int __init of_at91rm9200_st_init(void) -{ - return -EINVAL; -} -#endif - void __init at91rm9200_ioremap_st(u32 addr) { -#ifdef CONFIG_OF - struct device_node *np; - - np = of_find_matching_node(NULL, at91rm9200_st_timer_ids); - if (np) { - of_node_put(np); - return; - } -#endif at91_st_base = ioremap(addr, 256); if (!at91_st_base) panic("Impossible to ioremap ST\n"); @@ -247,16 +191,13 @@ void __init at91rm9200_ioremap_st(u32 addr) */ void __init at91rm9200_timer_init(void) { - /* For device tree enabled device: initialize here */ - of_at91rm9200_st_init(); - /* Disable all timer interrupts, and clear any pending ones */ at91_st_write(AT91_ST_IDR, AT91_ST_PITS | AT91_ST_WDOVF | AT91_ST_RTTINC | AT91_ST_ALMS); at91_st_read(AT91_ST_SR); /* Make IRQs happen for the system timer */ - setup_irq(at91rm9200_timer_irq.irq, &at91rm9200_timer_irq); + setup_irq(NR_IRQS_LEGACY + AT91_ID_SYS, &at91rm9200_timer_irq); /* The 32KiHz "Slow Clock" (tick every 30517.58 nanoseconds) is used * directly for the clocksource and all clockevents, after adjusting diff --git a/trunk/arch/arm/mach-at91/at91sam9260.c b/trunk/arch/arm/mach-at91/at91sam9260.c index c9e029e44d8a..ad29f93f20ca 100644 --- a/trunk/arch/arm/mach-at91/at91sam9260.c +++ b/trunk/arch/arm/mach-at91/at91sam9260.c @@ -211,8 +211,8 @@ 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.0", &twi_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi_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), @@ -230,15 +230,11 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("t1_clk", "fffdc000.timer", &tc4_clk), CLKDEV_CON_DEV_ID("t2_clk", "fffdc000.timer", &tc5_clk), CLKDEV_CON_DEV_ID("hclk", "500000.ohci", &ohci_clk), - CLKDEV_CON_DEV_ID("mci_clk", "fffa8000.mmc", &mmc_clk), /* fake hclk clock */ CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), CLKDEV_CON_ID("pioA", &pioA_clk), CLKDEV_CON_ID("pioB", &pioB_clk), CLKDEV_CON_ID("pioC", &pioC_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioC_clk), }; static struct clk_lookup usart_clocks_lookups[] = { @@ -394,10 +390,10 @@ static unsigned int at91sam9260_default_irq_priority[NR_AIC_IRQS] __initdata = { 0, /* Advanced Interrupt Controller */ }; -AT91_SOC_START(sam9260) +struct at91_init_soc __initdata at91sam9260_soc = { .map_io = at91sam9260_map_io, .default_irq_priority = at91sam9260_default_irq_priority, .ioremap_registers = at91sam9260_ioremap_registers, .register_clocks = at91sam9260_register_clocks, .init = at91sam9260_initialize, -AT91_SOC_END +}; diff --git a/trunk/arch/arm/mach-at91/at91sam9260_devices.c b/trunk/arch/arm/mach-at91/at91sam9260_devices.c index 414bd855fb0c..a76b8684f52d 100644 --- a/trunk/arch/arm/mach-at91/at91sam9260_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9260_devices.c @@ -72,7 +72,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (gpio_is_valid(data->overcurrent_pin[i])) + if (data->overcurrent_pin[i]) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -389,7 +389,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9260_twi_device = { .name = "i2c-gpio", - .id = 0, + .id = -1, .dev.platform_data = &pdata, }; @@ -421,7 +421,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9260_twi_device = { - .id = 0, + .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91sam9261.c b/trunk/arch/arm/mach-at91/at91sam9261.c index 4d262f346fd9..8d999eb1a137 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261.c +++ b/trunk/arch/arm/mach-at91/at91sam9261.c @@ -178,8 +178,8 @@ 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.0", &twi_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.0", &twi_clk), + 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), @@ -334,10 +334,10 @@ static unsigned int at91sam9261_default_irq_priority[NR_AIC_IRQS] __initdata = { 0, /* Advanced Interrupt Controller */ }; -AT91_SOC_START(sam9261) +struct at91_init_soc __initdata at91sam9261_soc = { .map_io = at91sam9261_map_io, .default_irq_priority = at91sam9261_default_irq_priority, .ioremap_registers = at91sam9261_ioremap_registers, .register_clocks = at91sam9261_register_clocks, .init = at91sam9261_initialize, -AT91_SOC_END +}; diff --git a/trunk/arch/arm/mach-at91/at91sam9261_devices.c b/trunk/arch/arm/mach-at91/at91sam9261_devices.c index cd604aad8e96..9752f17efba9 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9261_devices.c @@ -72,7 +72,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (gpio_is_valid(data->overcurrent_pin[i])) + if (data->overcurrent_pin[i]) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -285,7 +285,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9261_twi_device = { .name = "i2c-gpio", - .id = 0, + .id = -1, .dev.platform_data = &pdata, }; @@ -317,7 +317,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9261_twi_device = { - .id = 0, + .id = -1, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91sam9263.c b/trunk/arch/arm/mach-at91/at91sam9263.c index ed390f6fa232..6a01d0360dfb 100644 --- a/trunk/arch/arm/mach-at91/at91sam9263.c +++ b/trunk/arch/arm/mach-at91/at91sam9263.c @@ -193,7 +193,7 @@ 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.0", &twi_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,14 +211,7 @@ 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("mci_clk", "fff80000.mmc", &mmc0_clk), - CLKDEV_CON_DEV_ID("mci_clk", "fff84000.mmc", &mmc1_clk), CLKDEV_CON_DEV_ID(NULL, "fff88000.i2c", &twi_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff200.gpio", &pioA_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioCDE_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioCDE_clk), - CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioCDE_clk), }; static struct clk_lookup usart_clocks_lookups[] = { @@ -372,10 +365,10 @@ static unsigned int at91sam9263_default_irq_priority[NR_AIC_IRQS] __initdata = { 0, /* Advanced Interrupt Controller (IRQ1) */ }; -AT91_SOC_START(sam9263) +struct at91_init_soc __initdata at91sam9263_soc = { .map_io = at91sam9263_map_io, .default_irq_priority = at91sam9263_default_irq_priority, .ioremap_registers = at91sam9263_ioremap_registers, .register_clocks = at91sam9263_register_clocks, .init = at91sam9263_initialize, -AT91_SOC_END +}; diff --git a/trunk/arch/arm/mach-at91/at91sam9263_devices.c b/trunk/arch/arm/mach-at91/at91sam9263_devices.c index 9c61e59a2104..8dde220b42b6 100644 --- a/trunk/arch/arm/mach-at91/at91sam9263_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9263_devices.c @@ -78,7 +78,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (gpio_is_valid(data->overcurrent_pin[i])) + if (data->overcurrent_pin[i]) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -567,7 +567,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9263_twi_device = { .name = "i2c-gpio", - .id = 0, + .id = -1, .dev.platform_data = &pdata, }; @@ -600,7 +600,7 @@ static struct resource twi_resources[] = { static struct platform_device at91sam9263_twi_device = { .name = "i2c-at91sam9260", - .id = 0, + .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 c5c2acc4bf22..84af1b506d92 100644 --- a/trunk/arch/arm/mach-at91/at91sam9g45.c +++ b/trunk/arch/arm/mach-at91/at91sam9g45.c @@ -256,18 +256,10 @@ 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("mci_clk", "fff80000.mmc", &mmc0_clk), - CLKDEV_CON_DEV_ID("mci_clk", "fffd0000.mmc", &mmc1_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_DEV_ID(NULL, "fffff200.gpio", &pioA_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioC_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioDE_clk), - CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioDE_clk), - CLKDEV_CON_ID("pioA", &pioA_clk), CLKDEV_CON_ID("pioB", &pioB_clk), CLKDEV_CON_ID("pioC", &pioC_clk), @@ -417,10 +409,10 @@ static unsigned int at91sam9g45_default_irq_priority[NR_AIC_IRQS] __initdata = { 0, /* Advanced Interrupt Controller (IRQ0) */ }; -AT91_SOC_START(sam9g45) +struct at91_init_soc __initdata at91sam9g45_soc = { .map_io = at91sam9g45_map_io, .default_irq_priority = at91sam9g45_default_irq_priority, .ioremap_registers = at91sam9g45_ioremap_registers, .register_clocks = at91sam9g45_register_clocks, .init = at91sam9g45_initialize, -AT91_SOC_END +}; diff --git a/trunk/arch/arm/mach-at91/at91sam9g45_devices.c b/trunk/arch/arm/mach-at91/at91sam9g45_devices.c index fcd233cb33d2..b1596072dcc2 100644 --- a/trunk/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9g45_devices.c @@ -1841,8 +1841,8 @@ static struct resource sha_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, - .end = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, + .start = AT91SAM9G45_ID_AESTDESSHA, + .end = AT91SAM9G45_ID_AESTDESSHA, .flags = IORESOURCE_IRQ, }, }; @@ -1874,8 +1874,8 @@ static struct resource tdes_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, - .end = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, + .start = AT91SAM9G45_ID_AESTDESSHA, + .end = AT91SAM9G45_ID_AESTDESSHA, .flags = IORESOURCE_IRQ, }, }; @@ -1910,8 +1910,8 @@ static struct resource aes_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, - .end = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, + .start = AT91SAM9G45_ID_AESTDESSHA, + .end = AT91SAM9G45_ID_AESTDESSHA, .flags = IORESOURCE_IRQ, }, }; diff --git a/trunk/arch/arm/mach-at91/at91sam9n12.c b/trunk/arch/arm/mach-at91/at91sam9n12.c index 70b3a99244ab..732d3d3f4ec5 100644 --- a/trunk/arch/arm/mach-at91/at91sam9n12.c +++ b/trunk/arch/arm/mach-at91/at91sam9n12.c @@ -168,14 +168,13 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("usart", "f8028000.serial", &usart3_clk), CLKDEV_CON_DEV_ID("t0_clk", "f8008000.timer", &tcb_clk), CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb_clk), - CLKDEV_CON_DEV_ID("mci_clk", "f0008000.mmc", &mmc_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_DEV_ID(NULL, "fffff400.gpio", &pioAB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioAB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioCD_clk), - CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioCD_clk), + CLKDEV_CON_ID("pioA", &pioAB_clk), + CLKDEV_CON_ID("pioB", &pioAB_clk), + CLKDEV_CON_ID("pioC", &pioCD_clk), + CLKDEV_CON_ID("pioD", &pioCD_clk), /* additional fake clock for macb_hclk */ CLKDEV_CON_DEV_ID("hclk", "500000.ohci", &uhp_clk), CLKDEV_CON_DEV_ID("ohci_clk", "500000.ohci", &uhp_clk), @@ -224,10 +223,13 @@ static void __init at91sam9n12_map_io(void) void __init at91sam9n12_initialize(void) { at91_extern_irq = (1 << AT91SAM9N12_ID_IRQ0); + + /* Register GPIO subsystem (using DT) */ + at91_gpio_init(NULL, 0); } -AT91_SOC_START(sam9n12) +struct at91_init_soc __initdata at91sam9n12_soc = { .map_io = at91sam9n12_map_io, .register_clocks = at91sam9n12_register_clocks, .init = at91sam9n12_initialize, -AT91_SOC_END +}; diff --git a/trunk/arch/arm/mach-at91/at91sam9rl.c b/trunk/arch/arm/mach-at91/at91sam9rl.c index cbe72e44c13f..72e908412222 100644 --- a/trunk/arch/arm/mach-at91/at91sam9rl.c +++ b/trunk/arch/arm/mach-at91/at91sam9rl.c @@ -338,10 +338,10 @@ static unsigned int at91sam9rl_default_irq_priority[NR_AIC_IRQS] __initdata = { 0, /* Advanced Interrupt Controller */ }; -AT91_SOC_START(sam9rl) +struct at91_init_soc __initdata at91sam9rl_soc = { .map_io = at91sam9rl_map_io, .default_irq_priority = at91sam9rl_default_irq_priority, .ioremap_registers = at91sam9rl_ioremap_registers, .register_clocks = at91sam9rl_register_clocks, .init = at91sam9rl_initialize, -AT91_SOC_END +}; diff --git a/trunk/arch/arm/mach-at91/at91sam9rl_devices.c b/trunk/arch/arm/mach-at91/at91sam9rl_devices.c index 5047bdc92adf..d6ca0543ce8d 100644 --- a/trunk/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9rl_devices.c @@ -314,7 +314,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9rl_twi_device = { .name = "i2c-gpio", - .id = 0, + .id = -1, .dev.platform_data = &pdata, }; @@ -347,7 +347,7 @@ static struct resource twi_resources[] = { static struct platform_device at91sam9rl_twi_device = { .name = "i2c-at91sam9g20", - .id = 0, + .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 3c729f0e2d3c..e5035380dcbc 100644 --- a/trunk/arch/arm/mach-at91/at91sam9x5.c +++ b/trunk/arch/arm/mach-at91/at91sam9x5.c @@ -229,17 +229,15 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("usart", "f8028000.serial", &usart3_clk), CLKDEV_CON_DEV_ID("t0_clk", "f8008000.timer", &tcb0_clk), CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb0_clk), - CLKDEV_CON_DEV_ID("mci_clk", "f0008000.mmc", &mmc0_clk), - CLKDEV_CON_DEV_ID("mci_clk", "f000c000.mmc", &mmc1_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_DEV_ID(NULL, "fffff400.gpio", &pioAB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioAB_clk), - CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioCD_clk), - CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioCD_clk), + CLKDEV_CON_ID("pioA", &pioAB_clk), + CLKDEV_CON_ID("pioB", &pioAB_clk), + CLKDEV_CON_ID("pioC", &pioCD_clk), + CLKDEV_CON_ID("pioD", &pioCD_clk), /* additional fake clock for macb_hclk */ CLKDEV_CON_DEV_ID("hclk", "f802c000.ethernet", &macb0_clk), CLKDEV_CON_DEV_ID("hclk", "f8030000.ethernet", &macb1_clk), @@ -315,11 +313,18 @@ static void __init at91sam9x5_map_io(void) at91_init_sram(0, AT91SAM9X5_SRAM_BASE, AT91SAM9X5_SRAM_SIZE); } +void __init at91sam9x5_initialize(void) +{ + /* Register GPIO subsystem (using DT) */ + at91_gpio_init(NULL, 0); +} + /* -------------------------------------------------------------------- * Interrupt initialization * -------------------------------------------------------------------- */ -AT91_SOC_START(sam9x5) +struct at91_init_soc __initdata at91sam9x5_soc = { .map_io = at91sam9x5_map_io, .register_clocks = at91sam9x5_register_clocks, -AT91_SOC_END + .init = at91sam9x5_initialize, +}; diff --git a/trunk/arch/arm/mach-at91/at91x40.c b/trunk/arch/arm/mach-at91/at91x40.c index bb7f54474b92..6bd7300a2bc5 100644 --- a/trunk/arch/arm/mach-at91/at91x40.c +++ b/trunk/arch/arm/mach-at91/at91x40.c @@ -88,6 +88,6 @@ void __init at91x40_init_interrupts(unsigned int priority[NR_AIC_IRQS]) if (!priority) priority = at91x40_default_irq_priority; - at91_aic_init(priority, at91_extern_irq); + at91_aic_init(priority); } diff --git a/trunk/arch/arm/mach-at91/board-dt.c b/trunk/arch/arm/mach-at91/board-dt.c index 3b6a94820fa0..e8f45c4e0ea8 100644 --- a/trunk/arch/arm/mach-at91/board-dt.c +++ b/trunk/arch/arm/mach-at91/board-dt.c @@ -30,6 +30,8 @@ static const struct of_device_id irq_of_match[] __initconst = { { .compatible = "atmel,at91rm9200-aic", .data = at91_aic_of_init }, + { .compatible = "atmel,at91rm9200-gpio", .data = at91_gpio_of_irq_setup }, + { .compatible = "atmel,at91sam9x5-gpio", .data = at91_gpio_of_irq_setup }, { /*sentinel*/ } }; diff --git a/trunk/arch/arm/mach-at91/board-neocore926.c b/trunk/arch/arm/mach-at91/board-neocore926.c index 6960778af4c2..9cda3fd346ae 100644 --- a/trunk/arch/arm/mach-at91/board-neocore926.c +++ b/trunk/arch/arm/mach-at91/board-neocore926.c @@ -129,7 +129,7 @@ static struct spi_board_info neocore926_spi_devices[] = { .max_speed_hz = 125000 * 16, .bus_num = 0, .platform_data = &ads_info, - .irq = NR_IRQS_LEGACY + AT91SAM9263_ID_IRQ1, + .irq = AT91SAM9263_ID_IRQ1, }, #endif }; diff --git a/trunk/arch/arm/mach-at91/board-rm9200-dt.c b/trunk/arch/arm/mach-at91/board-rm9200-dt.c deleted file mode 100644 index 5f9ce3da3fde..000000000000 --- a/trunk/arch/arm/mach-at91/board-rm9200-dt.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Setup code for AT91RM9200 Evaluation Kits with Device Tree support - * - * Copyright (C) 2011 Atmel, - * 2011 Nicolas Ferre - * 2012 Joachim Eastwood - * - * Licensed under GPLv2 or later. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "at91_aic.h" -#include "generic.h" - - -static const struct of_device_id irq_of_match[] __initconst = { - { .compatible = "atmel,at91rm9200-aic", .data = at91_aic_of_init }, - { /*sentinel*/ } -}; - -static void __init at91rm9200_dt_init_irq(void) -{ - of_irq_init(irq_of_match); -} - -static void __init at91rm9200_dt_device_init(void) -{ - of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); -} - -static const char *at91rm9200_dt_board_compat[] __initdata = { - "atmel,at91rm9200", - NULL -}; - -DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200 (Device Tree)") - .timer = &at91rm9200_timer, - .map_io = at91_map_io, - .handle_irq = at91_aic_handle_irq, - .init_early = at91rm9200_dt_initialize, - .init_irq = at91rm9200_dt_init_irq, - .init_machine = at91rm9200_dt_device_init, - .dt_compat = at91rm9200_dt_board_compat, -MACHINE_END diff --git a/trunk/arch/arm/mach-at91/board-sam9261ek.c b/trunk/arch/arm/mach-at91/board-sam9261ek.c index a9167dd45f96..27b3af1a3047 100644 --- a/trunk/arch/arm/mach-at91/board-sam9261ek.c +++ b/trunk/arch/arm/mach-at91/board-sam9261ek.c @@ -309,7 +309,7 @@ static struct spi_board_info ek_spi_devices[] = { .max_speed_hz = 125000 * 26, /* (max sample rate @ 3V) * (cmd + data + overhead) */ .bus_num = 0, .platform_data = &ads_info, - .irq = NR_IRQS_LEGACY + AT91SAM9261_ID_IRQ0, + .irq = AT91SAM9261_ID_IRQ0, .controller_data = (void *) AT91_PIN_PA28, /* CS pin */ }, #endif diff --git a/trunk/arch/arm/mach-at91/board-sam9263ek.c b/trunk/arch/arm/mach-at91/board-sam9263ek.c index b87dbe2be0d6..073e17403d98 100644 --- a/trunk/arch/arm/mach-at91/board-sam9263ek.c +++ b/trunk/arch/arm/mach-at91/board-sam9263ek.c @@ -132,7 +132,7 @@ static struct spi_board_info ek_spi_devices[] = { .max_speed_hz = 125000 * 26, /* (max sample rate @ 3V) * (cmd + data + overhead) */ .bus_num = 0, .platform_data = &ads_info, - .irq = NR_IRQS_LEGACY + AT91SAM9263_ID_IRQ1, + .irq = AT91SAM9263_ID_IRQ1, }, #endif }; diff --git a/trunk/arch/arm/mach-at91/generic.h b/trunk/arch/arm/mach-at91/generic.h index fc593d615e7d..f49650677653 100644 --- a/trunk/arch/arm/mach-at91/generic.h +++ b/trunk/arch/arm/mach-at91/generic.h @@ -20,15 +20,13 @@ extern void __init at91_init_sram(int bank, unsigned long base, extern void __init at91rm9200_set_type(int type); extern void __init at91_initialize(unsigned long main_clock); extern void __init at91x40_initialize(unsigned long main_clock); -extern void __init at91rm9200_dt_initialize(void); extern void __init at91_dt_initialize(void); /* Interrupts */ extern void __init at91_init_irq_default(void); extern void __init at91_init_interrupts(unsigned int priority[]); extern void __init at91x40_init_interrupts(unsigned int priority[]); -extern void __init at91_aic_init(unsigned int priority[], - unsigned int ext_irq_mask); +extern void __init at91_aic_init(unsigned int priority[]); extern int __init at91_aic_of_init(struct device_node *node, struct device_node *parent); extern int __init at91_aic5_of_init(struct device_node *node, diff --git a/trunk/arch/arm/mach-at91/gpio.c b/trunk/arch/arm/mach-at91/gpio.c index c5d7e1e9d757..be42cf0e74bd 100644 --- a/trunk/arch/arm/mach-at91/gpio.c +++ b/trunk/arch/arm/mach-at91/gpio.c @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include @@ -31,8 +33,6 @@ #include "generic.h" -#define MAX_NB_GPIO_PER_BANK 32 - struct at91_gpio_chip { struct gpio_chip chip; struct at91_gpio_chip *next; /* Bank sharing same clock */ @@ -46,7 +46,6 @@ struct at91_gpio_chip { #define to_at91_gpio_chip(c) container_of(c, struct at91_gpio_chip, chip) -static int at91_gpiolib_request(struct gpio_chip *chip, unsigned offset); static void at91_gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip); static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val); static int at91_gpiolib_get(struct gpio_chip *chip, unsigned offset); @@ -56,27 +55,26 @@ static int at91_gpiolib_direction_input(struct gpio_chip *chip, unsigned offset); static int at91_gpiolib_to_irq(struct gpio_chip *chip, unsigned offset); -#define AT91_GPIO_CHIP(name) \ +#define AT91_GPIO_CHIP(name, nr_gpio) \ { \ .chip = { \ .label = name, \ - .request = at91_gpiolib_request, \ .direction_input = at91_gpiolib_direction_input, \ .direction_output = at91_gpiolib_direction_output, \ .get = at91_gpiolib_get, \ .set = at91_gpiolib_set, \ .dbg_show = at91_gpiolib_dbg_show, \ .to_irq = at91_gpiolib_to_irq, \ - .ngpio = MAX_NB_GPIO_PER_BANK, \ + .ngpio = nr_gpio, \ }, \ } static struct at91_gpio_chip gpio_chip[] = { - AT91_GPIO_CHIP("pioA"), - AT91_GPIO_CHIP("pioB"), - AT91_GPIO_CHIP("pioC"), - AT91_GPIO_CHIP("pioD"), - AT91_GPIO_CHIP("pioE"), + AT91_GPIO_CHIP("pioA", 32), + AT91_GPIO_CHIP("pioB", 32), + AT91_GPIO_CHIP("pioC", 32), + AT91_GPIO_CHIP("pioD", 32), + AT91_GPIO_CHIP("pioE", 32), }; static int gpio_banks; @@ -91,7 +89,7 @@ static unsigned long at91_gpio_caps; static inline void __iomem *pin_to_controller(unsigned pin) { - pin /= MAX_NB_GPIO_PER_BANK; + pin /= 32; if (likely(pin < gpio_banks)) return gpio_chip[pin].regbase; @@ -100,7 +98,7 @@ static inline void __iomem *pin_to_controller(unsigned pin) static inline unsigned pin_to_mask(unsigned pin) { - return 1 << (pin % MAX_NB_GPIO_PER_BANK); + return 1 << (pin % 32); } @@ -715,6 +713,80 @@ postcore_initcall(at91_gpio_debugfs_init); */ static struct lock_class_key gpio_lock_class; +#if defined(CONFIG_OF) +static int at91_gpio_irq_map(struct irq_domain *h, unsigned int virq, + irq_hw_number_t hw) +{ + struct at91_gpio_chip *at91_gpio = h->host_data; + + irq_set_lockdep_class(virq, &gpio_lock_class); + + /* + * Can use the "simple" and not "edge" handler since it's + * shorter, and the AIC handles interrupts sanely. + */ + irq_set_chip_and_handler(virq, &gpio_irqchip, + handle_simple_irq); + set_irq_flags(virq, IRQF_VALID); + irq_set_chip_data(virq, at91_gpio); + + return 0; +} + +static struct irq_domain_ops at91_gpio_ops = { + .map = at91_gpio_irq_map, + .xlate = irq_domain_xlate_twocell, +}; + +int __init at91_gpio_of_irq_setup(struct device_node *node, + struct device_node *parent) +{ + struct at91_gpio_chip *prev = NULL; + int alias_idx = of_alias_get_id(node, "gpio"); + struct at91_gpio_chip *at91_gpio = &gpio_chip[alias_idx]; + + /* Setup proper .irq_set_type function */ + if (has_pio3()) + gpio_irqchip.irq_set_type = alt_gpio_irq_type; + else + gpio_irqchip.irq_set_type = gpio_irq_type; + + /* Disable irqs of this PIO controller */ + __raw_writel(~0, at91_gpio->regbase + PIO_IDR); + + /* Setup irq domain */ + at91_gpio->domain = irq_domain_add_linear(node, at91_gpio->chip.ngpio, + &at91_gpio_ops, at91_gpio); + if (!at91_gpio->domain) + panic("at91_gpio.%d: couldn't allocate irq domain (DT).\n", + at91_gpio->pioc_idx); + + /* Setup chained handler */ + if (at91_gpio->pioc_idx) + prev = &gpio_chip[at91_gpio->pioc_idx - 1]; + + /* The toplevel handler handles one bank of GPIOs, except + * on some SoC it can handles up to three... + * We only set up the handler for the first of the list. + */ + if (prev && prev->next == at91_gpio) + return 0; + + at91_gpio->pioc_virq = irq_create_mapping(irq_find_host(parent), + at91_gpio->pioc_hwirq); + irq_set_chip_data(at91_gpio->pioc_virq, at91_gpio); + irq_set_chained_handler(at91_gpio->pioc_virq, gpio_irq_handler); + + return 0; +} +#else +int __init at91_gpio_of_irq_setup(struct device_node *node, + struct device_node *parent) +{ + return -EINVAL; +} +#endif + /* * irqdomain initialization: pile up irqdomains on top of AIC range */ @@ -790,16 +862,6 @@ void __init at91_gpio_irq_setup(void) } /* gpiolib support */ -static int at91_gpiolib_request(struct gpio_chip *chip, unsigned offset) -{ - struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); - void __iomem *pio = at91_gpio->regbase; - unsigned mask = 1 << offset; - - __raw_writel(mask, pio + PIO_PER); - return 0; -} - static int at91_gpiolib_direction_input(struct gpio_chip *chip, unsigned offset) { @@ -913,11 +975,81 @@ static int __init at91_gpio_setup_clk(int idx) return -EINVAL; } +#ifdef CONFIG_OF_GPIO +static void __init of_at91_gpio_init_one(struct device_node *np) +{ + int alias_idx; + struct at91_gpio_chip *at91_gpio; + + if (!np) + return; + + alias_idx = of_alias_get_id(np, "gpio"); + if (alias_idx >= MAX_GPIO_BANKS) { + pr_err("at91_gpio, failed alias idx(%d) > MAX_GPIO_BANKS(%d), ignoring.\n", + alias_idx, MAX_GPIO_BANKS); + return; + } + + at91_gpio = &gpio_chip[alias_idx]; + at91_gpio->chip.base = alias_idx * at91_gpio->chip.ngpio; + + at91_gpio->regbase = of_iomap(np, 0); + if (!at91_gpio->regbase) { + pr_err("at91_gpio.%d, failed to map registers, ignoring.\n", + alias_idx); + return; + } + + /* Get the interrupts property */ + if (of_property_read_u32(np, "interrupts", &at91_gpio->pioc_hwirq)) { + pr_err("at91_gpio.%d, failed to get interrupts property, ignoring.\n", + alias_idx); + goto ioremap_err; + } + + /* Get capabilities from compatibility property */ + if (of_device_is_compatible(np, "atmel,at91sam9x5-gpio")) + at91_gpio_caps |= AT91_GPIO_CAP_PIO3; + + /* Setup clock */ + if (at91_gpio_setup_clk(alias_idx)) + goto ioremap_err; + + at91_gpio->chip.of_node = np; + gpio_banks = max(gpio_banks, alias_idx + 1); + at91_gpio->pioc_idx = alias_idx; + return; + +ioremap_err: + iounmap(at91_gpio->regbase); +} + +static int __init of_at91_gpio_init(void) +{ + struct device_node *np = NULL; + + /* + * This isn't ideal, but it gets things hooked up until this + * driver is converted into a platform_device + */ + for_each_compatible_node(np, NULL, "atmel,at91rm9200-gpio") + of_at91_gpio_init_one(np); + + return gpio_banks > 0 ? 0 : -EINVAL; +} +#else +static int __init of_at91_gpio_init(void) +{ + return -EINVAL; +} +#endif + static void __init at91_gpio_init_one(int idx, u32 regbase, int pioc_hwirq) { struct at91_gpio_chip *at91_gpio = &gpio_chip[idx]; - at91_gpio->chip.base = idx * MAX_NB_GPIO_PER_BANK; + at91_gpio->chip.base = idx * at91_gpio->chip.ngpio; at91_gpio->pioc_hwirq = pioc_hwirq; at91_gpio->pioc_idx = idx; @@ -947,11 +1079,11 @@ void __init at91_gpio_init(struct at91_gpio_bank *data, int nr_banks) BUG_ON(nr_banks > MAX_GPIO_BANKS); - if (of_have_populated_dt()) - return; - - for (i = 0; i < nr_banks; i++) - at91_gpio_init_one(i, data[i].regbase, data[i].id); + if (of_at91_gpio_init() < 0) { + /* No GPIO controller found in device tree */ + for (i = 0; i < nr_banks; i++) + at91_gpio_init_one(i, data[i].regbase, data[i].id); + } for (i = 0; i < gpio_banks; i++) { at91_gpio = &gpio_chip[i]; diff --git a/trunk/arch/arm/mach-at91/include/mach/board.h b/trunk/arch/arm/mach-at91/include/mach/board.h index a0d92a960f46..c55a4364ffb4 100644 --- a/trunk/arch/arm/mach-at91/include/mach/board.h +++ b/trunk/arch/arm/mach-at91/include/mach/board.h @@ -70,6 +70,16 @@ struct at91_cf_data { extern void __init at91_add_device_cf(struct at91_cf_data *data); /* MMC / SD */ + /* at91_mci platform config */ +struct at91_mmc_data { + int det_pin; /* card detect IRQ */ + unsigned slot_b:1; /* uses Slot B */ + unsigned wire4:1; /* (SD) supports DAT0..DAT3 */ + int wp_pin; /* (SD) writeprotect detect */ + int vcc_pin; /* power switching (high == on) */ +}; +extern void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data); + /* atmel-mci platform config */ extern void __init at91_add_device_mci(short mmc_id, struct mci_platform_data *data); diff --git a/trunk/arch/arm/mach-at91/irq.c b/trunk/arch/arm/mach-at91/irq.c index febc2ee901a5..1e02c0e49dcc 100644 --- a/trunk/arch/arm/mach-at91/irq.c +++ b/trunk/arch/arm/mach-at91/irq.c @@ -502,19 +502,14 @@ int __init at91_aic5_of_init(struct device_node *node, /* * Initialize the AIC interrupt controller. */ -void __init at91_aic_init(unsigned int *priority, unsigned int ext_irq_mask) +void __init at91_aic_init(unsigned int *priority) { unsigned int i; int irq_base; - at91_extern_irq = kzalloc(BITS_TO_LONGS(n_irqs) - * sizeof(*at91_extern_irq), GFP_KERNEL); - - if (at91_aic_pm_init() || at91_extern_irq == NULL) + if (at91_aic_pm_init()) panic("Unable to allocate bit maps\n"); - *at91_extern_irq = ext_irq_mask; - at91_aic_base = ioremap(AT91_AIC, 512); if (!at91_aic_base) panic("Unable to ioremap AIC registers\n"); diff --git a/trunk/arch/arm/mach-at91/setup.c b/trunk/arch/arm/mach-at91/setup.c index 19cdd0b5b391..da9881b161e1 100644 --- a/trunk/arch/arm/mach-at91/setup.c +++ b/trunk/arch/arm/mach-at91/setup.c @@ -10,7 +10,6 @@ #include #include #include -#include #include #include @@ -48,7 +47,7 @@ void __init at91_init_irq_default(void) void __init at91_init_interrupts(unsigned int *priority) { /* Initialize the AIC interrupt controller */ - at91_aic_init(priority, at91_extern_irq); + at91_aic_init(priority); /* Enable GPIO interrupts */ at91_gpio_irq_setup(); @@ -152,7 +151,7 @@ static void __init soc_detect(u32 dbgu_base) } /* at91sam9g10 */ - if ((socid & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) { + if ((cidr & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) { at91_soc_initdata.type = AT91_SOC_SAM9G10; at91_boot_soc = at91sam9261_soc; } @@ -339,7 +338,6 @@ static void at91_dt_rstc(void) } static struct of_device_id ramc_ids[] = { - { .compatible = "atmel,at91rm9200-sdramc" }, { .compatible = "atmel,at91sam9260-sdramc" }, { .compatible = "atmel,at91sam9g45-ddramc" }, { /*sentinel*/ } @@ -438,19 +436,6 @@ static void at91_dt_shdwc(void) of_node_put(np); } -void __init at91rm9200_dt_initialize(void) -{ - at91_dt_ramc(); - - /* Init clock subsystem */ - at91_dt_clock_init(); - - /* Register the processor-specific clocks */ - at91_boot_soc.register_clocks(); - - at91_boot_soc.init(); -} - void __init at91_dt_initialize(void) { at91_dt_rstc(); @@ -463,8 +448,7 @@ void __init at91_dt_initialize(void) /* Register the processor-specific clocks */ at91_boot_soc.register_clocks(); - if (at91_boot_soc.init) - at91_boot_soc.init(); + at91_boot_soc.init(); } #endif @@ -479,6 +463,4 @@ void __init at91_initialize(unsigned long main_clock) at91_boot_soc.register_clocks(); at91_boot_soc.init(); - - pinctrl_provide_dummies(); } diff --git a/trunk/arch/arm/mach-at91/soc.h b/trunk/arch/arm/mach-at91/soc.h index 9c6d3d4f9a23..a9cfeb153719 100644 --- a/trunk/arch/arm/mach-at91/soc.h +++ b/trunk/arch/arm/mach-at91/soc.h @@ -5,7 +5,6 @@ */ struct at91_init_soc { - int builtin; unsigned int *default_irq_priority; void (*map_io)(void); void (*ioremap_registers)(void); @@ -23,18 +22,9 @@ extern struct at91_init_soc at91sam9rl_soc; extern struct at91_init_soc at91sam9x5_soc; extern struct at91_init_soc at91sam9n12_soc; -#define AT91_SOC_START(_name) \ -struct at91_init_soc __initdata at91##_name##_soc \ - __used \ - = { \ - .builtin = 1, \ - -#define AT91_SOC_END \ -}; - static inline int at91_soc_is_enabled(void) { - return at91_boot_soc.builtin; + return at91_boot_soc.init != NULL; } #if !defined(CONFIG_SOC_AT91RM9200) diff --git a/trunk/arch/arm/mach-davinci/dm644x.c b/trunk/arch/arm/mach-davinci/dm644x.c index 14e9947bad6e..cd0c8b1e1ecf 100644 --- a/trunk/arch/arm/mach-davinci/dm644x.c +++ b/trunk/arch/arm/mach-davinci/dm644x.c @@ -713,7 +713,8 @@ static int dm644x_venc_setup_clock(enum vpbe_enc_timings_type type, break; case VPBE_ENC_CUSTOM_TIMINGS: if (pclock <= 27000000) { - v |= DM644X_VPSS_DACCLKEN; + v |= DM644X_VPSS_MUXSEL_PLL2_MODE | + DM644X_VPSS_DACCLKEN; writel(v, DAVINCI_SYSMOD_VIRT(SYSMOD_VPSS_CLKCTL)); } else { /* diff --git a/trunk/arch/arm/mach-dove/common.c b/trunk/arch/arm/mach-dove/common.c index f723fe13d0f0..b37bef1d5ffa 100644 --- a/trunk/arch/arm/mach-dove/common.c +++ b/trunk/arch/arm/mach-dove/common.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include "common.h" @@ -110,8 +109,8 @@ static void __init dove_clk_init(void) orion_clkdev_add(NULL, "orion-ehci.0", usb0); orion_clkdev_add(NULL, "orion-ehci.1", usb1); - orion_clkdev_add(NULL, "mv643xx_eth_port.0", ge); - orion_clkdev_add(NULL, "sata_mv.0", sata); + orion_clkdev_add(NULL, "mv643xx_eth.0", ge); + orion_clkdev_add("0", "sata_mv.0", sata); orion_clkdev_add("0", "pcie", pex0); orion_clkdev_add("1", "pcie", pex1); orion_clkdev_add(NULL, "sdhci-dove.0", sdio0); @@ -400,7 +399,7 @@ static void __init dove_dt_init(void) (dove_tclk + 499999) / 1000000); #ifdef CONFIG_CACHE_TAUROS2 - tauros2_init(0); + tauros2_init(); #endif dove_setup_cpu_mbus(); @@ -416,6 +415,7 @@ static void __init dove_dt_init(void) dove_ehci0_init(); dove_ehci1_init(); dove_pcie_init(1, 1); + dove_crypto_init(); of_platform_populate(NULL, of_default_bus_match_table, dove_auxdata_lookup, NULL); diff --git a/trunk/arch/arm/mach-dove/include/mach/pm.h b/trunk/arch/arm/mach-dove/include/mach/pm.h index b47f75038686..7bcd0dfce4b1 100644 --- a/trunk/arch/arm/mach-dove/include/mach/pm.h +++ b/trunk/arch/arm/mach-dove/include/mach/pm.h @@ -63,7 +63,7 @@ static inline int pmu_to_irq(int pin) static inline int irq_to_pmu(int irq) { - if (IRQ_DOVE_PMU_START <= irq && irq < NR_IRQS) + if (IRQ_DOVE_PMU_START < irq && irq < NR_IRQS) return irq - IRQ_DOVE_PMU_START; return -EINVAL; diff --git a/trunk/arch/arm/mach-dove/irq.c b/trunk/arch/arm/mach-dove/irq.c index bc4344aa1009..087711524e8a 100644 --- a/trunk/arch/arm/mach-dove/irq.c +++ b/trunk/arch/arm/mach-dove/irq.c @@ -46,20 +46,8 @@ static void pmu_irq_ack(struct irq_data *d) int pin = irq_to_pmu(d->irq); u32 u; - /* - * The PMU mask register is not RW0C: it is RW. This means that - * the bits take whatever value is written to them; if you write - * a '1', you will set the interrupt. - * - * Unfortunately this means there is NO race free way to clear - * these interrupts. - * - * So, let's structure the code so that the window is as small as - * possible. - */ u = ~(1 << (pin & 31)); - u &= readl_relaxed(PMU_INTERRUPT_CAUSE); - writel_relaxed(u, PMU_INTERRUPT_CAUSE); + writel(u, PMU_INTERRUPT_CAUSE); } static struct irq_chip pmu_irq_chip = { diff --git a/trunk/arch/arm/mach-dove/pcie.c b/trunk/arch/arm/mach-dove/pcie.c index 0ef4435b1657..bb15b26041cb 100644 --- a/trunk/arch/arm/mach-dove/pcie.c +++ b/trunk/arch/arm/mach-dove/pcie.c @@ -10,7 +10,6 @@ #include #include -#include #include