From 7b34e44eea6710fe7d231d94d2364b9fb2ef69ec Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Fri, 2 Nov 2012 01:31:10 +0100 Subject: [PATCH] --- yaml --- r: 339857 b: refs/heads/master c: e67ae6be734de909954e20317c38472af983b92c h: refs/heads/master i: 339855: 9c8af418b4e57283af7dcee73227f2508f5d54cc v: v3 --- [refs] | 2 +- trunk/CREDITS | 5 - trunk/Documentation/00-INDEX | 4 +- trunk/Documentation/arm64/memory.txt | 12 +- trunk/Documentation/cgroups/memory.txt | 4 - .../devicetree/bindings/arm/atmel-at91.txt | 2 +- .../devicetree/bindings/i2c/fsl-imx-i2c.txt | 4 +- .../bindings/input/touchscreen/egalax-ts.txt | 19 - .../devicetree/bindings/net/mdio-gpio.txt | 9 +- .../pinctrl/nvidia,tegra20-pinmux.txt | 2 +- .../pinctrl/nvidia,tegra30-pinmux.txt | 2 +- trunk/Documentation/filesystems/proc.txt | 16 +- trunk/Documentation/firmware_class/README | 26 +- trunk/Documentation/hwmon/fam15h_power | 2 +- .../networking/netdev-features.txt | 2 +- trunk/Documentation/networking/vxlan.txt | 4 +- trunk/Documentation/zh_CN/IRQ.txt | 39 - trunk/Documentation/zh_CN/arm64/booting.txt | 156 ---- trunk/Documentation/zh_CN/arm64/memory.txt | 93 --- trunk/MAINTAINERS | 118 +-- trunk/Makefile | 2 +- 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 | 28 +- trunk/arch/arm/Kconfig.debug | 8 - trunk/arch/arm/Makefile | 15 +- trunk/arch/arm/boot/Makefile | 10 +- trunk/arch/arm/boot/compressed/Makefile | 4 + trunk/arch/arm/boot/compressed/head-vt8500.S | 46 ++ .../arm/boot/dts/at91sam9g20ek_common.dtsi | 4 +- trunk/arch/arm/boot/dts/dbx5x0.dtsi | 17 +- trunk/arch/arm/boot/dts/exynos4210-trats.dts | 6 +- trunk/arch/arm/boot/dts/imx23.dtsi | 1 - trunk/arch/arm/boot/dts/imx27.dtsi | 4 +- trunk/arch/arm/boot/dts/imx28.dtsi | 1 - trunk/arch/arm/boot/dts/imx51.dtsi | 4 +- trunk/arch/arm/boot/dts/imx53.dtsi | 6 +- trunk/arch/arm/boot/dts/imx6q.dtsi | 6 +- trunk/arch/arm/boot/dts/integratorap.dts | 5 + trunk/arch/arm/boot/dts/omap3.dtsi | 4 +- trunk/arch/arm/boot/dts/tegra20-harmony.dts | 63 +- trunk/arch/arm/boot/dts/tegra20-paz00.dts | 59 +- trunk/arch/arm/boot/dts/tegra20-seaboard.dts | 59 +- trunk/arch/arm/boot/dts/tegra20-tamonten.dtsi | 63 +- trunk/arch/arm/boot/dts/tegra20-ventana.dts | 59 +- trunk/arch/arm/boot/dts/tegra20-whistler.dts | 119 ++- trunk/arch/arm/boot/dts/tegra30-cardhu.dtsi | 47 +- trunk/arch/arm/boot/dts/tegra30.dtsi | 4 +- trunk/arch/arm/boot/dts/zynq-ep107.dts | 19 +- trunk/arch/arm/configs/imx_v4_v5_defconfig | 4 +- trunk/arch/arm/configs/imx_v6_v7_defconfig | 4 - trunk/arch/arm/configs/mvebu_defconfig | 10 +- trunk/arch/arm/configs/versatile_defconfig | 1 - trunk/arch/arm/include/asm/dma-mapping.h | 7 + trunk/arch/arm/include/asm/flat.h | 2 +- trunk/arch/arm/include/asm/io.h | 4 +- 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/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 | 10 +- trunk/arch/arm/mach-at91/at91rm9200.c | 2 +- trunk/arch/arm/mach-at91/at91rm9200_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9260.c | 4 +- .../arch/arm/mach-at91/at91sam9260_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9261.c | 4 +- .../arch/arm/mach-at91/at91sam9261_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9263.c | 2 +- .../arch/arm/mach-at91/at91sam9263_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9g45.c | 1 + .../arch/arm/mach-at91/at91sam9g45_devices.c | 12 +- trunk/arch/arm/mach-at91/at91sam9rl_devices.c | 4 +- trunk/arch/arm/mach-at91/at91x40.c | 2 +- trunk/arch/arm/mach-at91/board-neocore926.c | 2 +- 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 | 3 +- .../arm/mach-at91/include/mach/atmel-mci.h | 7 + trunk/arch/arm/mach-at91/irq.c | 9 +- trunk/arch/arm/mach-at91/setup.c | 4 +- trunk/arch/arm/mach-bcm2835/Makefile.boot | 4 +- trunk/arch/arm/mach-bcm2835/bcm2835.c | 4 +- .../arch/arm/mach-davinci/board-dm646x-evm.c | 2 +- trunk/arch/arm/mach-davinci/common.c | 2 + trunk/arch/arm/mach-davinci/dm644x.c | 3 +- trunk/arch/arm/mach-davinci/usb.c | 6 + trunk/arch/arm/mach-exynos/clock-exynos4.c | 5 + trunk/arch/arm/mach-exynos/clock-exynos5.c | 18 +- trunk/arch/arm/mach-exynos/common.c | 59 +- trunk/arch/arm/mach-exynos/dev-audio.c | 2 +- trunk/arch/arm/mach-exynos/dev-ohci.c | 2 +- trunk/arch/arm/mach-exynos/dev-uart.c | 24 + trunk/arch/arm/mach-exynos/dma.c | 3 - .../arch/arm/mach-exynos/include/mach/irqs.h | 5 + trunk/arch/arm/mach-exynos/include/mach/map.h | 2 +- .../arm/mach-exynos/include/mach/regs-pmu.h | 2 + trunk/arch/arm/mach-exynos/mach-exynos4-dt.c | 1 - trunk/arch/arm/mach-exynos/mach-nuri.c | 7 +- trunk/arch/arm/mach-exynos/mach-origen.c | 6 +- trunk/arch/arm/mach-exynos/mach-smdk4x12.c | 2 +- trunk/arch/arm/mach-exynos/mach-smdkv310.c | 6 +- .../arm/mach-exynos/mach-universal_c210.c | 5 +- trunk/arch/arm/mach-highbank/system.c | 3 +- trunk/arch/arm/mach-imx/Kconfig | 90 +-- trunk/arch/arm/mach-imx/Makefile | 22 - trunk/arch/arm/mach-imx/clk-busy.c | 2 +- trunk/arch/arm/mach-imx/clk-gate2.c | 2 +- trunk/arch/arm/mach-imx/clk-imx1.c | 17 +- trunk/arch/arm/mach-imx/clk-imx21.c | 18 +- trunk/arch/arm/mach-imx/clk-imx25.c | 30 +- trunk/arch/arm/mach-imx/clk-imx27.c | 44 +- trunk/arch/arm/mach-imx/clk-imx31.c | 21 +- trunk/arch/arm/mach-imx/clk-imx35.c | 13 +- trunk/arch/arm/mach-imx/clk-imx51-imx53.c | 15 +- trunk/arch/arm/mach-imx/clk-imx6q.c | 3 +- trunk/arch/arm/mach-imx/clk-pllv1.c | 4 +- trunk/arch/arm/mach-imx/cpu-imx25.c | 5 +- trunk/arch/arm/mach-imx/cpu-imx27.c | 2 +- trunk/arch/arm/mach-imx/cpu-imx31.c | 7 +- trunk/arch/arm/mach-imx/cpu-imx35.c | 5 +- trunk/arch/arm/mach-imx/cpu-imx5.c | 3 +- trunk/arch/arm/mach-imx/cpu_op-mx51.c | 3 +- trunk/arch/arm/mach-imx/devices-imx1.h | 3 +- trunk/arch/arm/mach-imx/devices-imx21.h | 3 +- trunk/arch/arm/mach-imx/devices-imx25.h | 3 +- trunk/arch/arm/mach-imx/devices-imx27.h | 3 +- trunk/arch/arm/mach-imx/devices-imx31.h | 3 +- trunk/arch/arm/mach-imx/devices-imx35.h | 3 +- trunk/arch/arm/mach-imx/devices-imx50.h | 3 +- trunk/arch/arm/mach-imx/devices-imx51.h | 3 +- trunk/arch/arm/mach-imx/ehci-imx25.c | 6 +- trunk/arch/arm/mach-imx/ehci-imx27.c | 4 +- trunk/arch/arm/mach-imx/ehci-imx31.c | 4 +- trunk/arch/arm/mach-imx/ehci-imx35.c | 6 +- trunk/arch/arm/mach-imx/ehci-imx5.c | 4 +- .../arm/mach-imx/eukrea_mbimx27-baseboard.c | 7 +- .../arm/mach-imx/eukrea_mbimxsd25-baseboard.c | 8 +- .../arm/mach-imx/eukrea_mbimxsd35-baseboard.c | 7 +- .../arm/mach-imx/eukrea_mbimxsd51-baseboard.c | 7 +- trunk/arch/arm/mach-imx/hotplug.c | 3 +- trunk/arch/arm/mach-imx/imx27-dt.c | 11 +- trunk/arch/arm/mach-imx/imx31-dt.c | 5 +- trunk/arch/arm/mach-imx/imx51-dt.c | 9 +- .../arm/mach-imx/include/mach/dma-mx1-mx2.h | 10 + trunk/arch/arm/mach-imx/iomux-imx31.c | 5 +- trunk/arch/arm/mach-imx/lluart.c | 3 +- trunk/arch/arm/mach-imx/mach-apf9328.c | 7 +- trunk/arch/arm/mach-imx/mach-armadillo5x0.c | 9 +- trunk/arch/arm/mach-imx/mach-bug.c | 7 +- trunk/arch/arm/mach-imx/mach-cpuimx27.c | 11 +- trunk/arch/arm/mach-imx/mach-cpuimx35.c | 9 +- trunk/arch/arm/mach-imx/mach-cpuimx51sd.c | 9 +- .../arch/arm/mach-imx/mach-eukrea_cpuimx25.c | 10 +- .../arm/mach-imx/mach-imx27_visstrim_m10.c | 6 +- trunk/arch/arm/mach-imx/mach-imx27ipcam.c | 6 +- trunk/arch/arm/mach-imx/mach-imx27lite.c | 6 +- trunk/arch/arm/mach-imx/mach-imx53.c | 11 +- trunk/arch/arm/mach-imx/mach-imx6q.c | 6 +- trunk/arch/arm/mach-imx/mach-kzm_arm11_01.c | 7 +- trunk/arch/arm/mach-imx/mach-mx1ads.c | 7 +- trunk/arch/arm/mach-imx/mach-mx21ads.c | 6 +- trunk/arch/arm/mach-imx/mach-mx25_3ds.c | 8 +- trunk/arch/arm/mach-imx/mach-mx27_3ds.c | 10 +- trunk/arch/arm/mach-imx/mach-mx27ads.c | 6 +- trunk/arch/arm/mach-imx/mach-mx31_3ds.c | 12 +- trunk/arch/arm/mach-imx/mach-mx31ads.c | 5 +- trunk/arch/arm/mach-imx/mach-mx31lilly.c | 11 +- trunk/arch/arm/mach-imx/mach-mx31lite.c | 11 +- trunk/arch/arm/mach-imx/mach-mx31moboard.c | 14 +- trunk/arch/arm/mach-imx/mach-mx35_3ds.c | 8 +- trunk/arch/arm/mach-imx/mach-mx50_rdp.c | 7 +- trunk/arch/arm/mach-imx/mach-mx51_3ds.c | 9 +- trunk/arch/arm/mach-imx/mach-mx51_babbage.c | 7 +- trunk/arch/arm/mach-imx/mach-mxt_td60.c | 6 +- trunk/arch/arm/mach-imx/mach-pca100.c | 8 +- trunk/arch/arm/mach-imx/mach-pcm037.c | 8 +- trunk/arch/arm/mach-imx/mach-pcm037_eet.c | 5 +- trunk/arch/arm/mach-imx/mach-pcm038.c | 13 +- trunk/arch/arm/mach-imx/mach-pcm043.c | 9 +- trunk/arch/arm/mach-imx/mach-qong.c | 6 +- trunk/arch/arm/mach-imx/mach-scb9328.c | 7 +- trunk/arch/arm/mach-imx/mach-vpr200.c | 7 +- trunk/arch/arm/mach-imx/mm-imx1.c | 9 +- trunk/arch/arm/mach-imx/mm-imx21.c | 14 +- trunk/arch/arm/mach-imx/mm-imx25.c | 12 +- trunk/arch/arm/mach-imx/mm-imx27.c | 14 +- trunk/arch/arm/mach-imx/mm-imx3.c | 18 +- trunk/arch/arm/mach-imx/mm-imx5.c | 12 +- trunk/arch/arm/mach-imx/mx31lilly-db.c | 9 +- trunk/arch/arm/mach-imx/mx31lite-db.c | 9 +- .../arch/arm/mach-imx/mx31moboard-devboard.c | 9 +- trunk/arch/arm/mach-imx/mx31moboard-marxbot.c | 9 +- .../arch/arm/mach-imx/mx31moboard-smartbot.c | 11 +- trunk/arch/arm/mach-imx/pcm970-baseboard.c | 7 +- trunk/arch/arm/mach-imx/platsmp.c | 5 +- trunk/arch/arm/mach-imx/pm-imx27.c | 3 +- trunk/arch/arm/mach-imx/pm-imx3.c | 7 +- trunk/arch/arm/mach-imx/pm-imx5.c | 7 +- trunk/arch/arm/mach-imx/pm-imx6q.c | 5 +- trunk/arch/arm/mach-integrator/Kconfig | 1 + trunk/arch/arm/mach-integrator/common.h | 1 + trunk/arch/arm/mach-integrator/core.c | 91 +++ .../arch/arm/mach-integrator/integrator_ap.c | 57 +- trunk/arch/arm/mach-kirkwood/board-dockstar.c | 13 + .../arch/arm/mach-kirkwood/board-dreamplug.c | 15 + trunk/arch/arm/mach-kirkwood/board-dt.c | 4 +- .../arch/arm/mach-kirkwood/board-goflexnet.c | 13 + trunk/arch/arm/mach-kirkwood/board-ib62x0.c | 6 + trunk/arch/arm/mach-kirkwood/board-iconnect.c | 8 + .../arm/mach-kirkwood/board-iomega_ix2_200.c | 2 + trunk/arch/arm/mach-kirkwood/board-lsxl.c | 8 + trunk/arch/arm/mach-kirkwood/board-ts219.c | 3 + trunk/arch/arm/mach-kirkwood/common.c | 11 +- trunk/arch/arm/mach-kirkwood/common.h | 3 +- trunk/arch/arm/mach-kirkwood/cpuidle.c | 2 +- trunk/arch/arm/mach-kirkwood/dockstar-setup.c | 2 +- trunk/arch/arm/mach-kirkwood/irq.c | 1 - .../arch/arm/mach-kirkwood/lacie_v2-common.c | 1 - trunk/arch/arm/mach-kirkwood/mpp.c | 4 +- .../arm/mach-kirkwood/netspace_v2-setup.c | 4 +- trunk/arch/arm/mach-kirkwood/openrd-setup.c | 14 +- trunk/arch/arm/mach-kirkwood/pcie.c | 31 +- .../arch/arm/mach-kirkwood/sheevaplug-setup.c | 2 +- trunk/arch/arm/mach-kirkwood/t5325-setup.c | 6 +- trunk/arch/arm/mach-kirkwood/ts41x-setup.c | 3 +- trunk/arch/arm/mach-kirkwood/tsx1x-common.c | 7 +- trunk/arch/arm/mach-omap1/Makefile | 3 +- trunk/arch/arm/mach-omap1/board-ams-delta.c | 1 + trunk/arch/arm/mach-omap1/board-fsample.c | 9 +- trunk/arch/arm/mach-omap1/board-generic.c | 1 + trunk/arch/arm/mach-omap1/board-h2-mmc.c | 5 +- trunk/arch/arm/mach-omap1/board-h2.c | 6 +- trunk/arch/arm/mach-omap1/board-h3-mmc.c | 3 +- trunk/arch/arm/mach-omap1/board-h3.c | 5 +- trunk/arch/arm/mach-omap1/board-htcherald.c | 3 +- trunk/arch/arm/mach-omap1/board-innovator.c | 30 +- trunk/arch/arm/mach-omap1/board-nokia770.c | 5 +- trunk/arch/arm/mach-omap1/board-osk.c | 3 +- trunk/arch/arm/mach-omap1/board-palmte.c | 6 +- trunk/arch/arm/mach-omap1/board-palmtt.c | 8 +- trunk/arch/arm/mach-omap1/board-palmz71.c | 6 +- trunk/arch/arm/mach-omap1/board-perseus2.c | 9 +- trunk/arch/arm/mach-omap1/board-sx1-mmc.c | 3 +- trunk/arch/arm/mach-omap1/board-sx1.c | 6 +- trunk/arch/arm/mach-omap1/board-voiceblue.c | 3 +- trunk/arch/arm/mach-omap1/clock.c | 507 +----------- trunk/arch/arm/mach-omap1/clock.h | 178 +---- trunk/arch/arm/mach-omap1/clock_data.c | 16 +- trunk/arch/arm/mach-omap1/common.h | 7 +- trunk/arch/arm/mach-omap1/devices.c | 35 +- trunk/arch/arm/mach-omap1/dma.c | 9 +- trunk/arch/arm/mach-omap1/dma.h | 83 -- trunk/arch/arm/mach-omap1/flash.c | 2 +- trunk/arch/arm/mach-omap1/fpga.c | 4 +- trunk/arch/arm/mach-omap1/fpga.h | 52 -- trunk/arch/arm/mach-omap1/gpio15xx.c | 2 - trunk/arch/arm/mach-omap1/gpio16xx.c | 2 - trunk/arch/arm/mach-omap1/gpio7xx.c | 2 - trunk/arch/arm/mach-omap1/i2c.c | 64 +- trunk/arch/arm/mach-omap1/id.c | 2 +- .../arm/mach-omap1/include/mach/debug-macro.S | 2 +- .../arm/mach-omap1/include/mach/entry-macro.S | 2 + trunk/arch/arm/mach-omap1/include/mach/gpio.h | 3 + .../arm/mach-omap1/include/mach/hardware.h | 9 +- .../arch/arm/mach-omap1/include/mach/memory.h | 2 +- .../arm/mach-omap1/include/mach/omap1510.h | 113 --- .../arch/arm/mach-omap1/include/mach/serial.h | 53 -- trunk/arch/arm/mach-omap1/include/mach/soc.h | 229 ------ .../arm/mach-omap1/include/mach/uncompress.h | 121 +-- trunk/arch/arm/mach-omap1/io.c | 5 +- trunk/arch/arm/mach-omap1/iomap.h | 3 + trunk/arch/arm/mach-omap1/irq.c | 2 +- trunk/arch/arm/mach-omap1/lcd_dma.c | 4 +- trunk/arch/arm/mach-omap1/mcbsp.c | 5 +- trunk/arch/arm/mach-omap1/mmc.h | 18 - trunk/arch/arm/mach-omap1/opp_data.c | 2 +- trunk/arch/arm/mach-omap1/pm.c | 10 +- trunk/arch/arm/mach-omap1/pm_bus.c | 3 +- trunk/arch/arm/mach-omap1/reset.c | 41 +- trunk/arch/arm/mach-omap1/serial.c | 1 + trunk/arch/arm/mach-omap1/sleep.S | 2 - trunk/arch/arm/mach-omap1/soc.h | 4 - trunk/arch/arm/mach-omap1/sram-init.c | 76 -- trunk/arch/arm/mach-omap1/sram.h | 7 - trunk/arch/arm/mach-omap1/timer32k.c | 1 - trunk/arch/arm/mach-omap1/usb.c | 6 +- trunk/arch/arm/mach-omap2/Kconfig | 1 + trunk/arch/arm/mach-omap2/Makefile | 122 ++- trunk/arch/arm/mach-omap2/am33xx.h | 1 - trunk/arch/arm/mach-omap2/am35xx-emac.c | 2 +- trunk/arch/arm/mach-omap2/board-2430sdp.c | 6 +- trunk/arch/arm/mach-omap2/board-3430sdp.c | 8 +- trunk/arch/arm/mach-omap2/board-3630sdp.c | 5 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 6 +- trunk/arch/arm/mach-omap2/board-am3517crane.c | 3 +- trunk/arch/arm/mach-omap2/board-am3517evm.c | 4 +- trunk/arch/arm/mach-omap2/board-apollon.c | 6 +- trunk/arch/arm/mach-omap2/board-cm-t35.c | 28 +- trunk/arch/arm/mach-omap2/board-cm-t3517.c | 8 +- trunk/arch/arm/mach-omap2/board-devkit8000.c | 13 +- trunk/arch/arm/mach-omap2/board-flash.c | 52 +- trunk/arch/arm/mach-omap2/board-flash.h | 8 +- trunk/arch/arm/mach-omap2/board-generic.c | 10 +- trunk/arch/arm/mach-omap2/board-h4.c | 10 +- trunk/arch/arm/mach-omap2/board-igep0020.c | 18 +- trunk/arch/arm/mach-omap2/board-ldp.c | 11 +- trunk/arch/arm/mach-omap2/board-n8x0.c | 11 +- trunk/arch/arm/mach-omap2/board-omap3beagle.c | 40 +- trunk/arch/arm/mach-omap2/board-omap3evm.c | 13 +- trunk/arch/arm/mach-omap2/board-omap3logic.c | 11 +- .../arch/arm/mach-omap2/board-omap3pandora.c | 6 +- .../arch/arm/mach-omap2/board-omap3stalker.c | 5 +- .../arm/mach-omap2/board-omap3touchbook.c | 13 +- trunk/arch/arm/mach-omap2/board-omap4panda.c | 8 +- trunk/arch/arm/mach-omap2/board-overo.c | 14 +- trunk/arch/arm/mach-omap2/board-rm680.c | 13 +- .../arm/mach-omap2/board-rx51-peripherals.c | 7 +- trunk/arch/arm/mach-omap2/board-rx51.c | 10 +- trunk/arch/arm/mach-omap2/board-ti8168evm.c | 7 +- .../arm/mach-omap2/board-zoom-debugboard.c | 4 +- .../arch/arm/mach-omap2/board-zoom-display.c | 3 +- .../arm/mach-omap2/board-zoom-peripherals.c | 3 +- trunk/arch/arm/mach-omap2/board-zoom.c | 12 +- trunk/arch/arm/mach-omap2/clkt2xxx_apll.c | 60 +- trunk/arch/arm/mach-omap2/clkt2xxx_dpll.c | 4 +- trunk/arch/arm/mach-omap2/clkt2xxx_dpllcore.c | 42 +- trunk/arch/arm/mach-omap2/clkt2xxx_osc.c | 2 + trunk/arch/arm/mach-omap2/clkt2xxx_sys.c | 2 + .../arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 76 +- trunk/arch/arm/mach-omap2/clkt34xx_dpll3m2.c | 5 +- trunk/arch/arm/mach-omap2/clkt_clksel.c | 2 + trunk/arch/arm/mach-omap2/clkt_dpll.c | 2 + trunk/arch/arm/mach-omap2/clkt_iclk.c | 2 + trunk/arch/arm/mach-omap2/clock.c | 578 +------------- trunk/arch/arm/mach-omap2/clock.h | 345 +------- trunk/arch/arm/mach-omap2/clock2420_data.c | 32 +- trunk/arch/arm/mach-omap2/clock2430.c | 4 +- trunk/arch/arm/mach-omap2/clock2430_data.c | 32 +- trunk/arch/arm/mach-omap2/clock2xxx.c | 18 + trunk/arch/arm/mach-omap2/clock2xxx.h | 9 +- trunk/arch/arm/mach-omap2/clock33xx_data.c | 7 +- trunk/arch/arm/mach-omap2/clock34xx.c | 4 +- trunk/arch/arm/mach-omap2/clock3517.c | 4 +- trunk/arch/arm/mach-omap2/clock36xx.c | 2 + trunk/arch/arm/mach-omap2/clock3xxx.c | 2 + trunk/arch/arm/mach-omap2/clock3xxx_data.c | 6 +- trunk/arch/arm/mach-omap2/clock44xx_data.c | 4 + trunk/arch/arm/mach-omap2/clockdomain.c | 3 +- trunk/arch/arm/mach-omap2/clockdomain.h | 5 +- .../arm/mach-omap2/clockdomain2xxx_3xxx.c | 339 ++++++++ trunk/arch/arm/mach-omap2/clockdomain33xx.c | 74 ++ trunk/arch/arm/mach-omap2/clockdomain44xx.c | 151 ++++ .../arm/mach-omap2/clockdomains2420_data.c | 1 - .../arm/mach-omap2/clockdomains2430_data.c | 1 - .../arm/mach-omap2/clockdomains3xxx_data.c | 1 - .../arm/mach-omap2/clockdomains44xx_data.c | 2 +- trunk/arch/arm/mach-omap2/cm-regbits-24xx.h | 2 - trunk/arch/arm/mach-omap2/cm.h | 30 +- trunk/arch/arm/mach-omap2/cm2xxx.c | 381 --------- trunk/arch/arm/mach-omap2/cm2xxx.h | 70 -- .../mach-omap2/{cm3xxx.c => cm2xxx_3xxx.c} | 371 +++------ trunk/arch/arm/mach-omap2/cm2xxx_3xxx.h | 125 ++- trunk/arch/arm/mach-omap2/cm33xx.c | 58 +- trunk/arch/arm/mach-omap2/cm3xxx.h | 91 --- trunk/arch/arm/mach-omap2/cm_common.c | 140 ---- trunk/arch/arm/mach-omap2/cminst44xx.c | 142 +--- trunk/arch/arm/mach-omap2/cminst44xx.h | 2 - .../arm/mach-omap2/common-board-devices.c | 80 +- .../arm/mach-omap2/common-board-devices.h | 1 + trunk/arch/arm/mach-omap2/common.c | 187 ++++- trunk/arch/arm/mach-omap2/common.h | 146 +++- trunk/arch/arm/mach-omap2/control.c | 18 +- trunk/arch/arm/mach-omap2/control.h | 2 - trunk/arch/arm/mach-omap2/cpuidle34xx.c | 1 + .../plat => mach-omap2}/debug-devices.h | 7 + trunk/arch/arm/mach-omap2/devices.c | 113 +-- trunk/arch/arm/mach-omap2/display.c | 47 +- trunk/arch/arm/mach-omap2/dma.c | 11 +- trunk/arch/arm/mach-omap2/dma.h | 131 --- trunk/arch/arm/mach-omap2/dpll3xxx.c | 2 + trunk/arch/arm/mach-omap2/dpll44xx.c | 2 + trunk/arch/arm/mach-omap2/drm.c | 4 +- trunk/arch/arm/mach-omap2/dsp.c | 2 +- trunk/arch/arm/mach-omap2/gpio.c | 6 +- trunk/arch/arm/mach-omap2/gpmc-nand.c | 85 +- trunk/arch/arm/mach-omap2/gpmc-nand.h | 27 - trunk/arch/arm/mach-omap2/gpmc-onenand.c | 214 +++-- trunk/arch/arm/mach-omap2/gpmc-onenand.h | 24 - trunk/arch/arm/mach-omap2/gpmc-smc91x.c | 2 +- trunk/arch/arm/mach-omap2/gpmc-smsc911x.c | 2 +- trunk/arch/arm/mach-omap2/gpmc.c | 464 ++++++++++- trunk/arch/arm/mach-omap2/hdq1w.c | 8 +- trunk/arch/arm/mach-omap2/hdq1w.h | 2 +- trunk/arch/arm/mach-omap2/hsmmc.c | 8 +- trunk/arch/arm/mach-omap2/hwspinlock.c | 4 +- trunk/arch/arm/mach-omap2/i2c.c | 73 +- trunk/arch/arm/mach-omap2/i2c.h | 42 - trunk/arch/arm/mach-omap2/id.c | 32 +- .../{ => include/mach}/board-zoom.h | 0 .../arm/mach-omap2/include/mach/debug-macro.S | 2 +- trunk/arch/arm/mach-omap2/include/mach/gpio.h | 3 + .../arm/mach-omap2/include/mach/uncompress.h | 175 +--- trunk/arch/arm/mach-omap2/io.c | 110 +-- trunk/arch/arm/mach-omap2/mcbsp.c | 9 +- trunk/arch/arm/mach-omap2/mmc.h | 23 - trunk/arch/arm/mach-omap2/msdi.c | 11 +- trunk/arch/arm/mach-omap2/mux.c | 3 +- trunk/arch/arm/mach-omap2/mux34xx.c | 8 +- .../arch/arm/mach-omap2/omap-mpuss-lowpower.c | 1 - trunk/arch/arm/mach-omap2/omap-secure.c | 1 + trunk/arch/arm/mach-omap2/omap-secure.h | 7 - trunk/arch/arm/mach-omap2/omap2-restart.c | 65 -- trunk/arch/arm/mach-omap2/omap3-restart.c | 36 - trunk/arch/arm/mach-omap2/omap4-common.c | 27 +- trunk/arch/arm/mach-omap2/omap_hwmod.c | 126 +-- .../arm/mach-omap2/omap_hwmod_2420_data.c | 13 +- .../arm/mach-omap2/omap_hwmod_2430_data.c | 12 +- .../omap_hwmod_2xxx_3xxx_interconnect_data.c | 3 +- .../omap_hwmod_2xxx_3xxx_ipblock_data.c | 9 +- .../omap_hwmod_2xxx_interconnect_data.c | 4 +- .../mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 6 +- .../arm/mach-omap2/omap_hwmod_33xx_data.c | 10 +- .../arm/mach-omap2/omap_hwmod_3xxx_data.c | 14 +- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 47 +- .../arm/mach-omap2/omap_hwmod_common_data.c | 2 +- .../arm/mach-omap2/omap_hwmod_common_data.h | 2 +- trunk/arch/arm/mach-omap2/omap_opp_data.h | 2 +- trunk/arch/arm/mach-omap2/omap_phy_internal.c | 4 +- trunk/arch/arm/mach-omap2/omap_twl.c | 1 - trunk/arch/arm/mach-omap2/opp.c | 2 +- trunk/arch/arm/mach-omap2/opp3xxx_data.c | 1 - trunk/arch/arm/mach-omap2/pm-debug.c | 5 +- trunk/arch/arm/mach-omap2/pm.c | 5 +- trunk/arch/arm/mach-omap2/pm.h | 1 - trunk/arch/arm/mach-omap2/pm24xx.c | 13 +- trunk/arch/arm/mach-omap2/pm34xx.c | 45 +- trunk/arch/arm/mach-omap2/pm44xx.c | 1 - trunk/arch/arm/mach-omap2/pmu.c | 5 +- trunk/arch/arm/mach-omap2/powerdomain.c | 2 + trunk/arch/arm/mach-omap2/powerdomain.h | 2 + .../arm/mach-omap2/powerdomain2xxx_3xxx.c | 242 ++++++ trunk/arch/arm/mach-omap2/powerdomain33xx.c | 229 ++++++ trunk/arch/arm/mach-omap2/powerdomain44xx.c | 285 +++++++ .../arm/mach-omap2/powerdomains2xxx_data.c | 1 - trunk/arch/arm/mach-omap2/prcm-common.h | 22 + trunk/arch/arm/mach-omap2/prcm.c | 188 +++++ trunk/arch/arm/mach-omap2/prcm_mpu44xx.c | 17 - trunk/arch/arm/mach-omap2/prcm_mpu44xx.h | 9 +- trunk/arch/arm/mach-omap2/prm-regbits-24xx.h | 6 +- trunk/arch/arm/mach-omap2/prm-regbits-34xx.h | 12 +- trunk/arch/arm/mach-omap2/prm.h | 77 +- trunk/arch/arm/mach-omap2/prm2xxx.c | 139 ---- trunk/arch/arm/mach-omap2/prm2xxx.h | 134 ---- trunk/arch/arm/mach-omap2/prm2xxx_3xxx.c | 332 +++++--- trunk/arch/arm/mach-omap2/prm2xxx_3xxx.h | 284 +++++-- trunk/arch/arm/mach-omap2/prm33xx.c | 204 +---- trunk/arch/arm/mach-omap2/prm3xxx.c | 417 ---------- trunk/arch/arm/mach-omap2/prm3xxx.h | 162 ---- trunk/arch/arm/mach-omap2/prm44xx.c | 356 +-------- trunk/arch/arm/mach-omap2/prm44xx.h | 2 - trunk/arch/arm/mach-omap2/prm_common.c | 118 ++- trunk/arch/arm/mach-omap2/prminst44xx.h | 2 - .../mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h | 2 +- .../mach-omap2/sdram-micron-mt46h32m32lf-6.h | 2 +- trunk/arch/arm/mach-omap2/sdram-nokia.c | 4 +- .../arm/mach-omap2/sdram-numonyx-m65kxxxxam.h | 2 +- .../sdram-qimonda-hyb18m512160af-6.h | 2 +- trunk/arch/arm/mach-omap2/sdrc.c | 29 +- trunk/arch/arm/mach-omap2/sdrc.h | 148 +--- trunk/arch/arm/mach-omap2/sdrc2xxx.c | 7 +- trunk/arch/arm/mach-omap2/serial.c | 18 +- trunk/arch/arm/mach-omap2/serial.h | 1 - trunk/arch/arm/mach-omap2/sleep34xx.S | 7 +- trunk/arch/arm/mach-omap2/soc.h | 464 +---------- trunk/arch/arm/mach-omap2/sr_device.c | 4 +- trunk/arch/arm/mach-omap2/sram.c | 305 ------- trunk/arch/arm/mach-omap2/sram.h | 83 -- trunk/arch/arm/mach-omap2/sram242x.S | 4 +- trunk/arch/arm/mach-omap2/sram243x.S | 4 +- trunk/arch/arm/mach-omap2/sram34xx.S | 2 +- trunk/arch/arm/mach-omap2/ti81xx.h | 9 - trunk/arch/arm/mach-omap2/timer.c | 9 +- trunk/arch/arm/mach-omap2/twl-common.c | 6 +- trunk/arch/arm/mach-omap2/usb-host.c | 6 +- trunk/arch/arm/mach-omap2/usb-musb.c | 8 +- trunk/arch/arm/mach-omap2/usb-tusb6010.c | 3 +- trunk/arch/arm/mach-omap2/usb.h | 82 -- trunk/arch/arm/mach-omap2/vc.c | 2 +- trunk/arch/arm/mach-omap2/wd_timer.c | 40 +- trunk/arch/arm/mach-omap2/wd_timer.h | 2 +- trunk/arch/arm/mach-pxa/Kconfig | 34 + trunk/arch/arm/mach-pxa/Makefile | 3 + trunk/arch/arm/mach-pxa/clock.h | 2 +- trunk/arch/arm/mach-pxa/devices.c | 8 +- trunk/arch/arm/mach-pxa/hx4700.c | 8 +- .../arch/arm/mach-pxa/include/mach/hardware.h | 28 + trunk/arch/arm/mach-pxa/include/mach/irqs.h | 1 + trunk/arch/arm/mach-pxa/include/mach/pxa3xx.h | 1 + trunk/arch/arm/mach-pxa/include/mach/pxa95x.h | 7 + trunk/arch/arm/mach-pxa/pxa3xx-ulpi.c | 13 +- trunk/arch/arm/mach-pxa/pxa95x.c | 295 +++++++ trunk/arch/arm/mach-pxa/saarb.c | 115 +++ trunk/arch/arm/mach-pxa/spitz_pm.c | 8 +- trunk/arch/arm/mach-pxa/tavorevb3.c | 136 ++++ trunk/arch/arm/mach-s3c24xx/clock-s3c2443.c | 6 + trunk/arch/arm/mach-s3c24xx/s3c2416.c | 2 - trunk/arch/arm/mach-s3c24xx/s3c2443.c | 4 - trunk/arch/arm/mach-s3c64xx/clock.c | 20 +- trunk/arch/arm/mach-s3c64xx/common.c | 1 + trunk/arch/arm/mach-s5p64x0/common.c | 5 +- trunk/arch/arm/mach-s5pc100/common.c | 3 - trunk/arch/arm/mach-s5pv210/common.c | 5 +- trunk/arch/arm/mach-s5pv210/mach-goni.c | 1 + trunk/arch/arm/mach-shmobile/setup-r8a7740.c | 6 + trunk/arch/arm/mach-shmobile/setup-r8a7779.c | 2 +- trunk/arch/arm/mach-shmobile/setup-sh7372.c | 6 + .../include/mach/spear1310_misc_regs.h | 0 .../include/mach/spear1340_misc_regs.h | 0 trunk/arch/arm/mach-tegra/apbio.c | 5 +- trunk/arch/arm/mach-tegra/board-dt-tegra20.c | 4 +- trunk/arch/arm/mach-tegra/board-dt-tegra30.c | 3 +- trunk/arch/arm/mach-tegra/clock.c | 2 + trunk/arch/arm/mach-tegra/common.c | 2 +- trunk/arch/arm/mach-tegra/cpu-tegra.c | 3 + trunk/arch/arm/mach-tegra/cpuidle.c | 2 + trunk/arch/arm/mach-tegra/flowctrl.c | 3 +- trunk/arch/arm/mach-tegra/fuse.c | 3 +- trunk/arch/arm/mach-tegra/headsmp.S | 3 +- .../arm/mach-tegra/include/mach/debug-macro.S | 4 +- trunk/arch/arm/mach-tegra/include/mach/dma.h | 54 ++ .../arm/mach-tegra/{ => include/mach}/iomap.h | 2 + .../mach-tegra/{ => include/mach}/irammap.h | 0 .../arm/mach-tegra/include/mach/powergate.h | 2 - .../arm/mach-tegra/include/mach}/tegra-ahb.h | 6 +- .../arm/mach-tegra/include/mach/uncompress.h | 4 +- trunk/arch/arm/mach-tegra/io.c | 2 +- trunk/arch/arm/mach-tegra/irq.c | 3 +- trunk/arch/arm/mach-tegra/pcie.c | 2 +- trunk/arch/arm/mach-tegra/platsmp.c | 3 +- trunk/arch/arm/mach-tegra/pmc.c | 2 +- trunk/arch/arm/mach-tegra/powergate.c | 2 +- trunk/arch/arm/mach-tegra/reset.c | 5 +- trunk/arch/arm/mach-tegra/sleep-t20.S | 2 + trunk/arch/arm/mach-tegra/sleep-t30.S | 2 + trunk/arch/arm/mach-tegra/sleep.S | 2 +- trunk/arch/arm/mach-tegra/sleep.h | 2 +- trunk/arch/arm/mach-tegra/tegra20_clocks.c | 3 +- .../arch/arm/mach-tegra/tegra20_clocks_data.c | 2 + trunk/arch/arm/mach-tegra/tegra2_emc.c | 2 + trunk/arch/arm/mach-tegra/tegra30_clocks.c | 3 +- trunk/arch/arm/mach-tegra/timer.c | 2 +- trunk/arch/arm/mach-u300/core.c | 2 + trunk/arch/arm/mach-ux500/cpu.c | 1 - .../arm/mach-vt8500/include/mach/hardware.h | 12 + .../arch/arm/mach-vt8500/include/mach/i8042.h | 18 + .../arm/mach-vt8500/include/mach/restart.h | 17 + trunk/arch/arm/mach-vt8500/timer.c | 2 +- trunk/arch/arm/mach-vt8500/vt8500.c | 2 + trunk/arch/arm/mach-zynq/common.c | 23 +- .../arch/arm/mach-zynq/include/mach/clkdev.h | 32 + .../arm/mach-zynq/include/mach/zynq_soc.h | 31 +- trunk/arch/arm/mm/alignment.c | 6 +- trunk/arch/arm/mm/dma-mapping.c | 2 +- trunk/arch/arm/mm/vmregion.h | 1 + .../{mach-imx => plat-mxc}/3ds_debugboard.c | 2 +- trunk/arch/arm/plat-mxc/Kconfig | 89 +++ trunk/arch/arm/plat-mxc/Makefile | 24 + trunk/arch/arm/{mach-imx => plat-mxc}/avic.c | 5 +- trunk/arch/arm/{mach-imx => plat-mxc}/cpu.c | 3 +- .../arch/arm/{mach-imx => plat-mxc}/cpufreq.c | 3 +- .../arch/arm/{mach-imx => plat-mxc}/cpuidle.c | 0 .../{mach-imx/devices => plat-mxc}/devices.c | 4 +- .../{mach-imx => plat-mxc}/devices/Kconfig | 0 .../{mach-imx => plat-mxc}/devices/Makefile | 2 - .../devices/platform-ahci-imx.c | 5 +- .../devices/platform-fec.c | 5 +- .../devices/platform-flexcan.c | 4 +- .../devices/platform-fsl-usb2-udc.c | 5 +- .../devices/platform-gpio-mxc.c | 2 +- .../devices/platform-gpio_keys.c | 5 +- .../devices/platform-imx-dma.c | 23 +- .../devices/platform-imx-fb.c | 16 +- .../devices/platform-imx-i2c.c | 32 +- .../devices/platform-imx-keypad.c | 4 +- .../devices/platform-imx-ssi.c | 4 +- .../devices/platform-imx-uart.c | 4 +- .../devices/platform-imx2-wdt.c | 5 +- .../devices/platform-imx21-hcd.c | 4 +- .../devices/platform-imx27-coda.c | 4 +- .../devices/platform-imx_udc.c | 4 +- .../devices/platform-imxdi_rtc.c | 5 +- .../devices/platform-ipu-core.c | 5 +- .../devices/platform-mx1-camera.c | 4 +- .../devices/platform-mx2-camera.c | 16 +- .../devices/platform-mxc-ehci.c | 5 +- .../devices/platform-mxc-mmc.c | 22 +- .../devices/platform-mxc_nand.c | 25 +- .../devices/platform-mxc_pwm.c | 4 +- .../devices/platform-mxc_rnga.c | 4 +- .../devices/platform-mxc_rtc.c | 13 +- .../devices/platform-mxc_w1.c | 4 +- .../devices/platform-pata_imx.c | 4 +- .../devices/platform-sdhci-esdhc-imx.c | 5 +- .../devices/platform-spi_imx.c | 4 +- trunk/arch/arm/{mach-imx => plat-mxc}/epit.c | 6 +- .../include/mach}/3ds_debugboard.h | 0 .../include/mach}/board-mx31lilly.h | 0 .../include/mach}/board-mx31lite.h | 0 .../include/mach}/board-mx31moboard.h | 0 .../include/mach}/board-pcm038.h | 0 .../include/mach}/common.h | 1 - .../include/mach}/cpuidle.h | 0 .../include/mach/debug-macro.S} | 33 +- .../include/mach}/devices-common.h | 9 +- .../include/mach}/eukrea-baseboards.h | 0 .../include/mach}/hardware.h | 26 +- .../{mach-imx => plat-mxc/include/mach}/iim.h | 0 .../include/mach}/iomux-mx1.h | 2 +- .../include/mach}/iomux-mx21.h | 4 +- .../include/mach}/iomux-mx25.h | 2 +- .../include/mach}/iomux-mx27.h | 4 +- .../include/mach}/iomux-mx2x.h | 0 .../include/mach}/iomux-mx3.h | 0 .../include/mach}/iomux-mx35.h | 2 +- .../include/mach}/iomux-mx50.h | 2 +- .../include/mach}/iomux-mx51.h | 2 +- .../include/mach}/iomux-v1.h | 0 .../include/mach}/iomux-v3.h | 0 .../arm/plat-mxc/include/mach/ipu.h} | 6 +- .../include/mach}/iram.h | 0 trunk/arch/arm/plat-mxc/include/mach/irqs.h | 21 + .../{mach-imx => plat-mxc/include/mach}/mx1.h | 0 .../include/mach}/mx21.h | 0 .../include/mach}/mx25.h | 0 .../include/mach}/mx27.h | 0 .../include/mach}/mx2x.h | 0 .../include/mach}/mx31.h | 0 .../include/mach}/mx35.h | 0 .../include/mach}/mx3x.h | 0 .../include/mach}/mx50.h | 0 .../include/mach}/mx51.h | 0 .../include/mach}/mx53.h | 0 .../include/mach}/mx6q.h | 0 .../{mach-imx => plat-mxc/include/mach}/mxc.h | 0 .../arm/plat-mxc/include/mach/timex.h} | 23 +- .../include/mach}/ulpi.h | 0 .../arm/plat-mxc/include/mach/uncompress.h | 132 +++ .../arm/{mach-imx => plat-mxc}/iomux-v1.c | 5 +- .../arm/{mach-imx => plat-mxc}/iomux-v3.c | 5 +- .../arm/{mach-imx => plat-mxc}/iram_alloc.c | 3 +- .../arm/{mach-imx => plat-mxc}/irq-common.c | 0 .../arm/{mach-imx => plat-mxc}/irq-common.h | 3 - .../arm/{mach-imx => plat-mxc}/ssi-fiq-ksym.c | 0 .../arch/arm/{mach-imx => plat-mxc}/ssi-fiq.S | 0 .../arch/arm/{mach-imx => plat-mxc}/system.c | 5 +- trunk/arch/arm/{mach-imx => plat-mxc}/time.c | 5 +- trunk/arch/arm/{mach-imx => plat-mxc}/tzic.c | 6 +- trunk/arch/arm/{mach-imx => plat-mxc}/ulpi.c | 2 +- trunk/arch/arm/plat-omap/Kconfig | 1 - trunk/arch/arm/plat-omap/Makefile | 4 +- trunk/arch/arm/plat-omap/clock.c | 544 +++++++++++++ trunk/arch/arm/plat-omap/common.c | 48 ++ trunk/arch/arm/plat-omap/counter_32k.c | 3 + trunk/arch/arm/plat-omap/debug-devices.c | 3 +- trunk/arch/arm/plat-omap/debug-leds.c | 25 +- trunk/arch/arm/plat-omap/dma.c | 132 ++- trunk/arch/arm/plat-omap/dmtimer.c | 20 +- trunk/arch/arm/plat-omap/fb.c | 62 +- trunk/arch/arm/plat-omap/i2c.c | 155 +++- .../arm/plat-omap/include/plat/clkdev_omap.h | 51 ++ trunk/arch/arm/plat-omap/include/plat/clock.h | 309 +++++++ .../arch/arm/plat-omap/include/plat/common.h | 42 + .../arm/plat-omap/include/plat/counter-32k.h | 1 - trunk/arch/arm/plat-omap/include/plat/cpu.h | 468 ++++++++++- .../arm/plat-omap/include/plat/dma-44xx.h | 147 ++++ .../{plat-omap/dma-omap.h => plat/dma.h} | 201 ++++- .../arch/arm/plat-omap/include/plat/dmtimer.h | 2 - trunk/arch/arm/plat-omap/include/plat/fpga.h | 193 +++++ .../include/plat}/gpmc.h | 61 +- trunk/arch/arm/plat-omap/include/plat/i2c.h | 30 +- .../arm/plat-omap/include/plat/led.h} | 2 + .../arm/plat-omap/include/plat}/menelaus.h | 2 + .../arm/plat-omap/include/plat/mmc.h} | 48 +- trunk/arch/arm/plat-omap/include/plat/multi.h | 120 +++ .../include/plat}/omap-pm.h | 0 .../arm/plat-omap/include/plat/omap-secure.h | 14 + .../arm/plat-omap/include/plat/omap-serial.h | 4 +- .../include/plat}/omap_device.h | 2 +- .../include/plat}/omap_hwmod.h | 7 +- trunk/arch/arm/plat-omap/include/plat/prcm.h | 37 + trunk/arch/arm/plat-omap/include/plat/sdrc.h | 164 ++++ .../mach => plat-omap/include/plat}/serial.h | 29 + trunk/arch/arm/plat-omap/include/plat/sram.h | 97 ++- .../mach => plat-omap/include/plat}/tc.h | 0 .../arm/plat-omap/include/plat/uncompress.h | 204 +++++ trunk/arch/arm/plat-omap/include/plat/usb.h | 179 +++++ .../arm/plat-omap/include/plat/vrfb.h} | 2 - .../{mach-omap2 => plat-omap}/omap-pm-noop.c | 5 +- .../{mach-omap2 => plat-omap}/omap_device.c | 5 +- trunk/arch/arm/plat-omap/sram.c | 366 ++++++++- trunk/arch/arm/plat-omap/sram.h | 6 + trunk/arch/arm/plat-pxa/Makefile | 1 + trunk/arch/arm/plat-pxa/include/plat/mfp.h | 4 +- trunk/arch/arm/plat-samsung/adc.c | 48 +- trunk/arch/arm/plat-samsung/devs.c | 4 + .../arm/plat-samsung/include/plat/spi-core.h | 30 - 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 | 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/pgtable-hwdef.h | 6 +- trunk/arch/arm64/include/asm/pgtable.h | 40 +- trunk/arch/arm64/include/asm/processor.h | 2 - trunk/arch/arm64/include/asm/unistd.h | 1 + trunk/arch/arm64/kernel/perf_event.c | 10 +- trunk/arch/arm64/kernel/process.c | 18 + trunk/arch/arm64/kernel/smp.c | 3 +- trunk/arch/arm64/mm/init.c | 2 +- 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 | 28 +- trunk/arch/frv/kernel/process.c | 5 +- trunk/arch/frv/mb93090-mb00/pci-dma-nommu.c | 1 - trunk/arch/h8300/include/asm/cache.h | 3 +- trunk/arch/ia64/include/asm/Kbuild | 1 - trunk/arch/ia64/include/asm/kvm_para.h | 34 + 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 - .../mips/cavium-octeon/executive/cvmx-l2c.c | 1 - trunk/arch/mips/fw/arc/misc.c | 1 - trunk/arch/mips/include/asm/bitops.h | 128 ++- trunk/arch/mips/include/asm/compat.h | 2 +- trunk/arch/mips/include/asm/io.h | 1 - trunk/arch/mips/include/asm/irqflags.h | 207 +++-- trunk/arch/mips/include/asm/thread_info.h | 6 + trunk/arch/mips/kernel/setup.c | 26 +- trunk/arch/mips/lib/Makefile | 5 +- trunk/arch/mips/lib/bitops.c | 179 ----- trunk/arch/mips/lib/mips-atomic.c | 176 ---- trunk/arch/mips/mti-malta/malta-platform.c | 3 +- trunk/arch/parisc/kernel/signal32.c | 6 +- trunk/arch/parisc/kernel/sys_parisc.c | 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/platforms/52xx/mpc52xx_pic.c | 9 +- trunk/arch/powerpc/platforms/pseries/eeh_pe.c | 2 +- trunk/arch/powerpc/platforms/pseries/msi.c | 3 +- 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/Kbuild | 2 + 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/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/sparc/Kconfig | 1 - 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/thread_info_64.h | 5 - trunk/arch/sparc/include/asm/ttable.h | 24 +- 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/perf_event.c | 22 +- trunk/arch/sparc/kernel/process_64.c | 42 +- 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/sys_sparc_64.c | 5 - trunk/arch/sparc/kernel/systbls_32.S | 1 - trunk/arch/sparc/kernel/systbls_64.S | 2 - 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/tile/Makefile | 4 - trunk/arch/tile/kernel/module.c | 10 + 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/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/boot/compressed/eboot.c | 2 - trunk/arch/x86/boot/header.S | 3 + trunk/arch/x86/include/asm/efi.h | 6 +- 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/apic/io_apic.c | 3 - trunk/arch/x86/kernel/cpu/amd.c | 14 - trunk/arch/x86/kernel/cpu/mcheck/mce_amd.c | 2 +- trunk/arch/x86/kernel/cpu/mcheck/mce_intel.c | 31 +- trunk/arch/x86/kernel/cpu/perf_event.c | 10 +- .../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/kvm.c | 3 - trunk/arch/x86/kernel/microcode_amd.c | 8 +- trunk/arch/x86/kernel/ptrace.c | 30 - trunk/arch/x86/kernel/setup.c | 27 +- trunk/arch/x86/kernel/signal.c | 4 +- trunk/arch/x86/kernel/uprobes.c | 16 +- trunk/arch/x86/kvm/cpuid.h | 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/xen/enlighten.c | 2 + trunk/arch/x86/xen/mmu.c | 21 +- trunk/arch/xtensa/Kconfig | 2 - trunk/arch/xtensa/include/asm/io.h | 4 - trunk/arch/xtensa/include/asm/processor.h | 4 +- trunk/arch/xtensa/include/asm/syscall.h | 2 +- trunk/arch/xtensa/include/asm/unistd.h | 15 +- trunk/arch/xtensa/include/uapi/asm/unistd.h | 16 +- trunk/arch/xtensa/kernel/entry.S | 57 +- trunk/arch/xtensa/kernel/process.c | 128 ++- trunk/arch/xtensa/kernel/syscall.c | 7 +- trunk/arch/xtensa/kernel/xtensa_ksyms.c | 1 + 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/acpi/glue.c | 1 - trunk/drivers/acpi/processor_driver.c | 1 - trunk/drivers/acpi/video.c | 11 +- trunk/drivers/amba/tegra-ahb.c | 1 - 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/base/Kconfig | 2 +- trunk/drivers/base/dma-coherent.c | 5 +- trunk/drivers/base/dma-contiguous.c | 5 +- trunk/drivers/base/firmware_class.c | 266 +++---- trunk/drivers/base/platform.c | 7 - trunk/drivers/base/power/domain.c | 5 +- trunk/drivers/base/power/qos.c | 2 +- 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/bluetooth/hci_ldisc.c | 7 +- trunk/drivers/bus/omap-ocp2scp.c | 68 +- trunk/drivers/char/hw_random/omap-rng.c | 2 + trunk/drivers/char/sonypi.c | 2 +- trunk/drivers/clk/clk-bcm2835.c | 2 +- trunk/drivers/clk/ux500/u8500_clk.c | 50 +- trunk/drivers/cpufreq/cpufreq_stats.c | 1 - trunk/drivers/cpufreq/powernow-k8.c | 11 +- trunk/drivers/crypto/omap-aes.c | 8 +- trunk/drivers/crypto/omap-sham.c | 10 +- trunk/drivers/crypto/tegra-aes.c | 2 + trunk/drivers/dma/Kconfig | 11 - trunk/drivers/dma/dw_dmac_regs.h | 18 +- trunk/drivers/dma/imx-dma.c | 141 ++-- trunk/drivers/dma/imx-sdma.c | 1 + trunk/drivers/dma/ipu/ipu_idmac.c | 3 +- trunk/drivers/dma/ipu/ipu_irq.c | 3 +- trunk/drivers/dma/omap-dma.c | 5 +- trunk/drivers/dma/sirf-dma.c | 4 +- trunk/drivers/edac/amd64_edac.c | 11 +- trunk/drivers/edac/amd64_edac.h | 2 +- trunk/drivers/edac/edac_stub.c | 2 +- trunk/drivers/edac/mce_amd_inj.c | 4 +- trunk/drivers/extcon/extcon-adc-jack.c | 10 +- trunk/drivers/extcon/extcon-class.c | 142 ++-- trunk/drivers/extcon/extcon-gpio.c | 1 + trunk/drivers/extcon/extcon-max77693.c | 46 +- trunk/drivers/extcon/extcon-max8997.c | 6 +- trunk/drivers/firewire/sbp2.c | 2 - trunk/drivers/gpio/Kconfig | 4 +- trunk/drivers/gpio/gpio-74x164.c | 2 +- trunk/drivers/gpio/gpio-mcp23s08.c | 6 +- trunk/drivers/gpio/gpio-mvebu.c | 27 +- trunk/drivers/gpio/gpio-omap.c | 35 - trunk/drivers/gpio/gpio-pxa.c | 2 +- trunk/drivers/gpio/gpio-timberdale.c | 4 +- trunk/drivers/gpio/gpiolib.c | 10 +- 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 | 2 + 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 | 33 +- trunk/drivers/gpu/drm/exynos/exynos_mixer.c | 2 +- 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 | 1 - trunk/drivers/gpu/drm/i915/i915_gem.c | 7 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 19 +- trunk/drivers/gpu/drm/i915/intel_display.c | 43 - trunk/drivers/gpu/drm/i915/intel_dp.c | 15 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 8 - trunk/drivers/gpu/drm/i915/intel_overlay.c | 14 +- trunk/drivers/gpu/drm/i915/intel_panel.c | 2 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 98 +-- 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 | 2 +- .../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 | 11 +- .../gpu/drm/nouveau/core/subdev/i2c/base.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 - .../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/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 | 54 +- .../gpu/drm/radeon/atombios_encoders.c | 7 +- trunk/drivers/gpu/drm/radeon/evergreen.c | 4 +- trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 6 +- trunk/drivers/gpu/drm/radeon/evergreend.h | 4 - trunk/drivers/gpu/drm/radeon/ni.c | 45 +- trunk/drivers/gpu/drm/radeon/nid.h | 1 - trunk/drivers/gpu/drm/radeon/radeon_agp.c | 5 +- .../gpu/drm/radeon/radeon_atpx_handler.c | 10 +- .../gpu/drm/radeon/radeon_connectors.c | 28 +- trunk/drivers/gpu/drm/radeon/radeon_device.c | 60 +- trunk/drivers/gpu/drm/radeon/radeon_gart.c | 22 +- trunk/drivers/gpu/drm/radeon/radeon_gem.c | 18 +- .../gpu/drm/radeon/radeon_legacy_crtc.c | 15 +- .../gpu/drm/radeon/radeon_legacy_encoders.c | 180 +---- trunk/drivers/gpu/drm/radeon/radeon_object.c | 19 + trunk/drivers/gpu/drm/radeon/si.c | 48 +- 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/channel.c | 24 +- trunk/drivers/hwmon/asb100.c | 2 +- trunk/drivers/hwmon/fam15h_power.c | 4 +- trunk/drivers/hwmon/gpio-fan.c | 2 - trunk/drivers/hwmon/w83627ehf.c | 1 - trunk/drivers/hwmon/w83627hf.c | 2 +- trunk/drivers/hwmon/w83781d.c | 2 +- trunk/drivers/hwmon/w83791d.c | 2 +- trunk/drivers/hwmon/w83792d.c | 2 +- trunk/drivers/hwmon/w83l786ng.c | 2 +- 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-imx.c | 40 +- trunk/drivers/i2c/busses/i2c-mxs.c | 188 ++++- trunk/drivers/i2c/busses/i2c-nomadik.c | 9 +- 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/muxes/i2c-mux-pinctrl.c | 2 +- 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/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 | 7 +- 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/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 | 2 +- trunk/drivers/md/raid10.c | 146 ++-- trunk/drivers/md/raid5.c | 79 +- trunk/drivers/media/platform/omap/omap_vout.c | 4 +- .../media/platform/omap/omap_vout_vrfb.c | 6 +- .../media/platform/omap/omap_voutdef.h | 2 +- .../drivers/media/platform/omap3isp/isphist.c | 2 - .../drivers/media/platform/omap3isp/ispstat.h | 2 +- .../media/platform/omap3isp/ispvideo.c | 1 + .../media/platform/soc_camera/mx2_camera.c | 95 +-- .../media/platform/soc_camera/mx3_camera.c | 2 +- .../media/platform/soc_camera/omap1_camera.c | 3 +- trunk/drivers/media/rc/ir-rx51.c | 1 + trunk/drivers/mfd/menelaus.c | 2 +- trunk/drivers/mfd/omap-usb-host.c | 5 +- trunk/drivers/mfd/omap-usb-tll.c | 2 +- trunk/drivers/mfd/omap-usb.h | 2 - trunk/drivers/mmc/host/dw_mmc-exynos.c | 8 +- trunk/drivers/mmc/host/dw_mmc-pltfm.c | 6 +- trunk/drivers/mmc/host/dw_mmc-pltfm.h | 2 +- trunk/drivers/mmc/host/dw_mmc.c | 62 +- trunk/drivers/mmc/host/mxcmmc.c | 33 +- trunk/drivers/mmc/host/omap.c | 35 +- trunk/drivers/mmc/host/omap_hsmmc.c | 23 +- trunk/drivers/mmc/host/sdhci-dove.c | 38 +- trunk/drivers/mmc/host/sdhci-of-esdhc.c | 11 - trunk/drivers/mmc/host/sdhci-pci.c | 2 +- trunk/drivers/mmc/host/sdhci-pltfm.c | 7 - trunk/drivers/mmc/host/sdhci-s3c.c | 30 +- trunk/drivers/mmc/host/sdhci.c | 44 +- trunk/drivers/mmc/host/sdhci.h | 1 - trunk/drivers/mmc/host/sh_mmcif.c | 2 +- trunk/drivers/mtd/devices/slram.c | 2 +- trunk/drivers/mtd/nand/mxc_nand.c | 96 +-- trunk/drivers/mtd/nand/nand_base.c | 10 +- trunk/drivers/mtd/nand/omap2.c | 129 +-- trunk/drivers/mtd/ofpart.c | 2 +- trunk/drivers/mtd/onenand/omap2.c | 47 +- trunk/drivers/mtd/onenand/onenand_base.c | 2 +- trunk/drivers/net/bonding/bond_main.c | 7 - trunk/drivers/net/bonding/bond_sysfs.c | 4 +- trunk/drivers/net/can/flexcan.c | 19 +- trunk/drivers/net/can/sja1000/peak_pci.c | 13 +- trunk/drivers/net/ethernet/8390/ne.c | 1 - .../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/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_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 | 22 +- 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_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 | 55 -- 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 | 8 +- .../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/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/pci/bus.c | 3 + trunk/drivers/pci/pci-driver.c | 12 +- trunk/drivers/pci/pci-sysfs.c | 34 + trunk/drivers/pci/pci.c | 32 - trunk/drivers/pci/pci.h | 2 - trunk/drivers/pci/pcie/aer/aerdrv_core.c | 20 +- trunk/drivers/pci/pcie/portdrv_core.c | 3 +- trunk/drivers/pci/proc.c | 8 - trunk/drivers/pcmcia/omap_cf.c | 2 +- trunk/drivers/pinctrl/Kconfig | 4 +- trunk/drivers/pinctrl/core.c | 4 +- trunk/drivers/pinctrl/pinconf.c | 4 + trunk/drivers/pinctrl/pinctrl-nomadik.c | 6 +- trunk/drivers/pinctrl/pinctrl-tegra.c | 2 +- trunk/drivers/pinctrl/pinctrl-tegra30.c | 24 +- trunk/drivers/pinctrl/spear/pinctrl-spear.c | 2 +- .../drivers/pinctrl/spear/pinctrl-spear1310.c | 365 ++------- .../drivers/pinctrl/spear/pinctrl-spear1340.c | 41 +- .../drivers/pinctrl/spear/pinctrl-spear320.c | 8 +- .../drivers/pinctrl/spear/pinctrl-spear3xx.h | 1 - trunk/drivers/rapidio/rio.c | 2 +- trunk/drivers/regulator/core.c | 33 +- trunk/drivers/rtc/rtc-imxdi.c | 2 - trunk/drivers/rtc/rtc-mxc.c | 34 +- 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 | 13 +- trunk/drivers/scsi/isci/request.c | 2 +- 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/spi/spi-mxs.c | 3 +- trunk/drivers/spi/spi-pl022.c | 3 + trunk/drivers/spi/spi-rspi.c | 56 +- 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 - .../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 | 1 - trunk/drivers/staging/nvec/nvec.c | 1 + 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 | 5 +- 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 | 1 + 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/n_tty.c | 752 ++++++++---------- trunk/drivers/tty/pty.c | 30 +- trunk/drivers/tty/serial/8250/8250.c | 9 +- trunk/drivers/tty/serial/8250/8250.h | 36 - trunk/drivers/tty/serial/8250/8250_early.c | 2 +- trunk/drivers/tty/serial/max310x.c | 1 - trunk/drivers/tty/serial/omap-serial.c | 12 +- trunk/drivers/tty/serial/samsung.c | 16 +- trunk/drivers/tty/tty_audit.c | 15 +- trunk/drivers/tty/tty_buffer.c | 228 +++--- trunk/drivers/tty/tty_io.c | 15 +- trunk/drivers/tty/tty_ldisc.c | 15 +- trunk/drivers/tty/tty_port.c | 2 - trunk/drivers/tty/vt/selection.c | 9 +- trunk/drivers/usb/core/hcd.c | 16 - trunk/drivers/usb/core/hub.c | 7 +- trunk/drivers/usb/early/ehci-dbgp.c | 15 +- trunk/drivers/usb/gadget/net2272.c | 4 +- trunk/drivers/usb/gadget/omap_udc.c | 4 +- trunk/drivers/usb/gadget/u_ether.c | 3 +- trunk/drivers/usb/host/ehci-ls1x.c | 2 +- trunk/drivers/usb/host/ehci-mxc.c | 1 + trunk/drivers/usb/host/ehci-omap.c | 3 +- trunk/drivers/usb/host/ehci-tegra.c | 5 +- trunk/drivers/usb/host/ohci-omap.c | 5 +- trunk/drivers/usb/host/ohci-omap3.c | 1 + trunk/drivers/usb/host/ohci-xls.c | 2 +- trunk/drivers/usb/host/pci-quirks.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 | 8 +- trunk/drivers/usb/misc/ezusb.c | 1 - trunk/drivers/usb/musb/am35x.c | 3 +- trunk/drivers/usb/musb/musb_dsps.c | 11 +- trunk/drivers/usb/musb/musb_gadget.c | 30 +- trunk/drivers/usb/musb/omap2430.h | 2 +- trunk/drivers/usb/musb/tusb6010_omap.c | 9 +- trunk/drivers/usb/musb/ux500.c | 2 +- trunk/drivers/usb/otg/Kconfig | 4 +- trunk/drivers/usb/phy/tegra_usb_phy.c | 4 +- trunk/drivers/usb/renesas_usbhs/fifo.c | 1 - trunk/drivers/usb/renesas_usbhs/mod_host.c | 5 - trunk/drivers/usb/serial/ch341.c | 23 +- trunk/drivers/usb/serial/digi_acceleport.c | 117 ++- trunk/drivers/usb/serial/ipw.c | 7 +- trunk/drivers/usb/serial/keyspan.c | 180 +++-- trunk/drivers/usb/serial/keyspan.h | 8 - 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 | 32 +- 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/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/video/backlight/Kconfig | 3 +- trunk/drivers/video/imxfb.c | 38 +- trunk/drivers/video/mx3fb.c | 3 +- trunk/drivers/video/omap/lcd_inn1510.c | 7 +- trunk/drivers/video/omap/lcdc.c | 2 +- trunk/drivers/video/omap/omapfb_main.c | 2 +- trunk/drivers/video/omap/sossi.c | 2 +- trunk/drivers/video/omap2/dss/core.c | 2 +- trunk/drivers/video/omap2/dss/dispc.c | 43 +- trunk/drivers/video/omap2/dss/dsi.c | 13 +- trunk/drivers/video/omap2/dss/dss.c | 53 +- trunk/drivers/video/omap2/dss/dss_features.c | 64 +- trunk/drivers/video/omap2/dss/dss_features.h | 5 +- trunk/drivers/video/omap2/dss/hdmi.c | 7 +- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 4 +- .../drivers/video/omap2/omapfb/omapfb-main.c | 8 +- .../drivers/video/omap2/omapfb/omapfb-sysfs.c | 2 +- trunk/drivers/video/omap2/vrfb.c | 142 +--- trunk/drivers/video/xen-fbfront.c | 5 +- trunk/drivers/virtio/virtio.c | 4 +- trunk/drivers/watchdog/imx2_wdt.c | 1 + trunk/drivers/watchdog/omap_wdt.c | 26 +- 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 +- .../drivers/xen/xenbus/xenbus_dev_frontend.c | 2 +- trunk/drivers/xen/xenbus/xenbus_xs.c | 2 - trunk/fs/bio.c | 6 +- trunk/fs/block_dev.c | 37 +- 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/ceph/export.c | 2 - trunk/fs/char_dev.c | 18 +- trunk/fs/cifs/cifsacl.c | 49 +- trunk/fs/cifs/dir.c | 11 +- trunk/fs/compat_ioctl.c | 2 - trunk/fs/devpts/inode.c | 61 +- trunk/fs/eventpoll.c | 38 +- trunk/fs/exec.c | 3 +- trunk/fs/ext3/balloc.c | 5 +- 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 | 5 +- 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/jffs2/file.c | 39 +- trunk/fs/jfs/jfs_discard.c | 16 +- trunk/fs/lockd/mon.c | 57 +- trunk/fs/namei.c | 4 +- trunk/fs/nfs/callback.c | 2 +- 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 | 109 --- trunk/fs/proc/stat.c | 14 +- trunk/fs/pstore/platform.c | 3 +- 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/ubifs/find.c | 12 +- trunk/fs/ubifs/lprops.c | 6 - trunk/fs/ubifs/ubifs.h | 3 - 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/drm/drm_pciids.h | 4 - trunk/include/linux/clk-provider.h | 4 +- trunk/include/linux/devpts_fs.h | 20 +- trunk/include/linux/dynamic_debug.h | 2 +- trunk/include/linux/extcon.h | 2 +- trunk/include/linux/hashtable.h | 192 ----- trunk/include/linux/i2c-omap.h | 1 - trunk/include/linux/iio/iio.h | 16 - trunk/include/linux/kvm_host.h | 15 +- trunk/include/linux/memblock.h | 1 - trunk/include/linux/mfd/max77693.h | 13 - trunk/include/linux/mm.h | 4 + trunk/include/linux/mmc/dw_mmc.h | 6 +- trunk/include/linux/mmc/sdhci.h | 1 - trunk/include/linux/mmzone.h | 2 +- trunk/include/linux/of_address.h | 4 - trunk/include/linux/percpu-rwsem.h | 28 +- trunk/include/linux/perf_event.h | 10 +- .../linux/platform_data/asoc-imx-ssi.h | 2 - trunk/include/linux/platform_data/dma-imx.h | 4 +- trunk/include/linux/platform_data/gpio-omap.h | 1 + .../linux/platform_data/mtd-nand-omap2.h | 46 +- .../linux/platform_data/mtd-onenand-omap2.h | 28 +- .../linux/platform_data/omap-wd-timer.h | 38 - trunk/include/linux/platform_data/usb-omap.h | 80 -- 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/rbtree_augmented.h | 1 - trunk/include/linux/rio.h | 2 - trunk/include/linux/spi/ads7846.h | 5 +- trunk/include/linux/spi/tsc2005.h | 2 + trunk/include/linux/tcp.h | 3 +- trunk/include/linux/tty.h | 44 +- trunk/include/linux/tty_flip.h | 2 +- trunk/include/linux/uprobes.h | 11 + trunk/include/net/cfg80211.h | 10 - trunk/include/net/xfrm.h | 2 +- trunk/include/scsi/scsi_device.h | 4 - trunk/include/sound/core.h | 3 - trunk/include/trace/events/xen.h | 8 - trunk/include/uapi/linux/eventpoll.h | 1 + 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/video/omapdss.h | 14 - 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/events/uprobes.c | 345 ++++---- trunk/kernel/futex.c | 41 +- trunk/kernel/module.c | 27 +- trunk/kernel/module_signing.c | 2 +- trunk/kernel/pid_namespace.c | 12 +- trunk/kernel/printk.c | 12 +- trunk/kernel/trace/ring_buffer.c | 4 - trunk/kernel/workqueue.c | 2 +- trunk/lib/genalloc.c | 2 +- trunk/lib/mpi/longlong.h | 19 +- trunk/mm/bootmem.c | 10 +- trunk/mm/highmem.c | 2 +- trunk/mm/memblock.c | 24 - trunk/mm/memcontrol.c | 67 +- trunk/mm/memory.c | 10 +- trunk/mm/memory_hotplug.c | 7 + trunk/mm/mmap.c | 2 - trunk/mm/mmu_notifier.c | 26 +- trunk/mm/mmzone.c | 6 +- trunk/mm/nobootmem.c | 3 + trunk/mm/page_alloc.c | 44 +- trunk/mm/rmap.c | 20 +- trunk/mm/shmem.c | 18 +- trunk/mm/swapfile.c | 4 +- trunk/mm/vmscan.c | 27 +- trunk/net/8021q/vlan.c | 4 +- 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/ceph/messenger.c | 6 +- trunk/net/core/dev.c | 6 +- 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 | 6 +- trunk/net/ipv4/inet_diag.c | 5 +- trunk/net/ipv4/ip_sockglue.c | 35 +- trunk/net/ipv4/ip_vti.c | 5 - trunk/net/ipv4/netfilter/iptable_nat.c | 4 +- trunk/net/ipv4/route.c | 18 +- trunk/net/ipv4/tcp.c | 14 +- trunk/net/ipv4/tcp_illinois.c | 8 +- trunk/net/ipv4/tcp_input.c | 31 +- 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 | 4 - trunk/net/ipv4/tcp_timer.c | 4 +- trunk/net/ipv4/xfrm4_policy.c | 13 +- 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/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/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 +- 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/sched/sch_qfq.c | 109 +-- trunk/net/sctp/proc.c | 8 +- trunk/net/sctp/socket.c | 2 +- trunk/net/sunrpc/backchannel_rqst.c | 2 +- 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.modinst | 3 +- trunk/scripts/checkpatch.pl | 6 +- 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/sign-file | 6 +- trunk/security/apparmor/policy.c | 24 +- trunk/security/device_cgroup.c | 101 +-- 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/als300.c | 4 - 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 | 41 +- trunk/sound/pci/hda/patch_analog.c | 1 - trunk/sound/pci/hda/patch_cirrus.c | 22 +- trunk/sound/pci/hda/patch_realtek.c | 48 +- 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/codecs/arizona.c | 4 +- trunk/sound/soc/codecs/cs4271.c | 11 +- trunk/sound/soc/codecs/cs42l52.c | 5 +- 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/fsl/imx-pcm-fiq.c | 1 + trunk/sound/soc/fsl/imx-ssi.c | 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/am3517evm.c | 2 + trunk/sound/soc/omap/n810.c | 1 + trunk/sound/soc/omap/omap-dmic.c | 4 +- trunk/sound/soc/omap/omap-pcm.c | 9 +- trunk/sound/soc/omap/osk5912.c | 1 + trunk/sound/soc/omap/sdp3430.c | 2 + trunk/sound/soc/omap/zoom2.c | 5 +- trunk/sound/soc/samsung/Kconfig | 2 - trunk/sound/soc/samsung/bells.c | 2 +- trunk/sound/soc/soc-core.c | 5 +- trunk/sound/soc/soc-dapm.c | 2 +- trunk/sound/soc/tegra/tegra30_ahub.c | 1 + trunk/sound/soc/tegra/tegra_pcm.h | 2 + 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/perf/builtin-help.c | 2 +- trunk/tools/perf/builtin-trace.c | 18 +- trunk/tools/perf/util/parse-events-test.c | 12 +- trunk/tools/perf/util/thread.c | 1 + trunk/tools/power/x86/turbostat/turbostat.c | 28 +- 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 +- 1765 files changed, 18864 insertions(+), 24518 deletions(-) delete mode 100644 trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt delete mode 100644 trunk/Documentation/zh_CN/IRQ.txt delete mode 100644 trunk/Documentation/zh_CN/arm64/booting.txt delete mode 100644 trunk/Documentation/zh_CN/arm64/memory.txt create mode 100644 trunk/arch/arm/boot/compressed/head-vt8500.S delete mode 100644 trunk/arch/arm/include/debug/8250_32.S create mode 100644 trunk/arch/arm/mach-imx/include/mach/dma-mx1-mx2.h delete mode 100644 trunk/arch/arm/mach-omap1/dma.h delete mode 100644 trunk/arch/arm/mach-omap1/fpga.h create mode 100644 trunk/arch/arm/mach-omap1/include/mach/gpio.h delete mode 100644 trunk/arch/arm/mach-omap1/include/mach/serial.h delete mode 100644 trunk/arch/arm/mach-omap1/include/mach/soc.h delete mode 100644 trunk/arch/arm/mach-omap1/mmc.h delete mode 100644 trunk/arch/arm/mach-omap1/soc.h delete mode 100644 trunk/arch/arm/mach-omap1/sram-init.c delete mode 100644 trunk/arch/arm/mach-omap1/sram.h create mode 100644 trunk/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c create mode 100644 trunk/arch/arm/mach-omap2/clockdomain33xx.c create mode 100644 trunk/arch/arm/mach-omap2/clockdomain44xx.c delete mode 100644 trunk/arch/arm/mach-omap2/cm2xxx.c delete mode 100644 trunk/arch/arm/mach-omap2/cm2xxx.h rename trunk/arch/arm/mach-omap2/{cm3xxx.c => cm2xxx_3xxx.c} (67%) delete mode 100644 trunk/arch/arm/mach-omap2/cm3xxx.h delete mode 100644 trunk/arch/arm/mach-omap2/cm_common.c rename trunk/arch/arm/{plat-omap/include/plat => mach-omap2}/debug-devices.h (54%) delete mode 100644 trunk/arch/arm/mach-omap2/dma.h delete mode 100644 trunk/arch/arm/mach-omap2/gpmc-nand.h delete mode 100644 trunk/arch/arm/mach-omap2/gpmc-onenand.h delete mode 100644 trunk/arch/arm/mach-omap2/i2c.h rename trunk/arch/arm/mach-omap2/{ => include/mach}/board-zoom.h (100%) create mode 100644 trunk/arch/arm/mach-omap2/include/mach/gpio.h delete mode 100644 trunk/arch/arm/mach-omap2/mmc.h delete mode 100644 trunk/arch/arm/mach-omap2/omap2-restart.c delete mode 100644 trunk/arch/arm/mach-omap2/omap3-restart.c create mode 100644 trunk/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c create mode 100644 trunk/arch/arm/mach-omap2/powerdomain33xx.c create mode 100644 trunk/arch/arm/mach-omap2/powerdomain44xx.c create mode 100644 trunk/arch/arm/mach-omap2/prcm.c delete mode 100644 trunk/arch/arm/mach-omap2/prm2xxx.c delete mode 100644 trunk/arch/arm/mach-omap2/prm2xxx.h delete mode 100644 trunk/arch/arm/mach-omap2/prm3xxx.c delete mode 100644 trunk/arch/arm/mach-omap2/prm3xxx.h delete mode 100644 trunk/arch/arm/mach-omap2/serial.h delete mode 100644 trunk/arch/arm/mach-omap2/sram.c delete mode 100644 trunk/arch/arm/mach-omap2/sram.h delete mode 100644 trunk/arch/arm/mach-omap2/usb.h create mode 100644 trunk/arch/arm/mach-pxa/include/mach/pxa95x.h create mode 100644 trunk/arch/arm/mach-pxa/pxa95x.c create mode 100644 trunk/arch/arm/mach-pxa/saarb.c create mode 100644 trunk/arch/arm/mach-pxa/tavorevb3.c 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/mach-tegra/include/mach/dma.h rename trunk/arch/arm/mach-tegra/{ => include/mach}/iomap.h (99%) rename trunk/arch/arm/mach-tegra/{ => include/mach}/irammap.h (100%) rename trunk/{include/linux => arch/arm/mach-tegra/include/mach}/tegra-ahb.h (86%) create mode 100644 trunk/arch/arm/mach-vt8500/include/mach/hardware.h create mode 100644 trunk/arch/arm/mach-vt8500/include/mach/i8042.h create mode 100644 trunk/arch/arm/mach-vt8500/include/mach/restart.h create mode 100644 trunk/arch/arm/mach-zynq/include/mach/clkdev.h rename trunk/arch/arm/{mach-imx => plat-mxc}/3ds_debugboard.c (99%) create mode 100644 trunk/arch/arm/plat-mxc/Kconfig create mode 100644 trunk/arch/arm/plat-mxc/Makefile rename trunk/arch/arm/{mach-imx => plat-mxc}/avic.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/cpu.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/cpufreq.c (99%) rename trunk/arch/arm/{mach-imx => plat-mxc}/cpuidle.c (100%) rename trunk/arch/arm/{mach-imx/devices => plat-mxc}/devices.c (92%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/Kconfig (100%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/Makefile (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-ahci-imx.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-fec.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-flexcan.c (96%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-fsl-usb2-udc.c (96%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-gpio-mxc.c (96%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-gpio_keys.c (94%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx-dma.c (63%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx-fb.c (79%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx-i2c.c (76%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx-keypad.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx-ssi.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx-uart.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx2-wdt.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx21-hcd.c (94%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx27-coda.c (93%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imx_udc.c (96%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-imxdi_rtc.c (94%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-ipu-core.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mx1-camera.c (94%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mx2-camera.c (83%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mxc-ehci.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mxc-mmc.c (74%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mxc_nand.c (74%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mxc_pwm.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mxc_rnga.c (95%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mxc_rtc.c (77%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-mxc_w1.c (95%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-pata_imx.c (96%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-sdhci-esdhc-imx.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/devices/platform-spi_imx.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/epit.c (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/3ds_debugboard.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/board-mx31lilly.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/board-mx31lite.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/board-mx31moboard.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/board-pcm038.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/common.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/cpuidle.h (100%) rename trunk/arch/arm/{include/debug/imx.S => plat-mxc/include/mach/debug-macro.S} (59%) rename trunk/arch/arm/{mach-imx/devices => plat-mxc/include/mach}/devices-common.h (97%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/eukrea-baseboards.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/hardware.h (94%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iim.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx1.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx21.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx25.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx27.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx2x.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx3.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx35.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx50.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-mx51.h (99%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-v1.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iomux-v3.h (100%) rename trunk/{include/linux/dma/ipu-dma.h => arch/arm/plat-mxc/include/mach/ipu.h} (97%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/iram.h (100%) create mode 100644 trunk/arch/arm/plat-mxc/include/mach/irqs.h rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx1.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx21.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx25.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx27.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx2x.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx31.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx35.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx3x.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx50.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx51.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx53.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mx6q.h (100%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/mxc.h (100%) rename trunk/{include/linux/platform_data/omap_ocp2scp.h => arch/arm/plat-mxc/include/mach/timex.h} (53%) rename trunk/arch/arm/{mach-imx => plat-mxc/include/mach}/ulpi.h (100%) create mode 100644 trunk/arch/arm/plat-mxc/include/mach/uncompress.h rename trunk/arch/arm/{mach-imx => plat-mxc}/iomux-v1.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/iomux-v3.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/iram_alloc.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/irq-common.c (100%) rename trunk/arch/arm/{mach-imx => plat-mxc}/irq-common.h (94%) rename trunk/arch/arm/{mach-imx => plat-mxc}/ssi-fiq-ksym.c (100%) rename trunk/arch/arm/{mach-imx => plat-mxc}/ssi-fiq.S (100%) rename trunk/arch/arm/{mach-imx => plat-mxc}/system.c (97%) rename trunk/arch/arm/{mach-imx => plat-mxc}/time.c (99%) rename trunk/arch/arm/{mach-imx => plat-mxc}/tzic.c (98%) rename trunk/arch/arm/{mach-imx => plat-mxc}/ulpi.c (99%) create mode 100644 trunk/arch/arm/plat-omap/clock.c create mode 100644 trunk/arch/arm/plat-omap/common.c create mode 100644 trunk/arch/arm/plat-omap/include/plat/clkdev_omap.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/clock.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/common.h delete mode 100644 trunk/arch/arm/plat-omap/include/plat/counter-32k.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/dma-44xx.h rename trunk/arch/arm/plat-omap/include/{plat-omap/dma-omap.h => plat/dma.h} (60%) create mode 100644 trunk/arch/arm/plat-omap/include/plat/fpga.h rename trunk/arch/arm/{mach-omap2 => plat-omap/include/plat}/gpmc.h (67%) rename trunk/{include/linux/platform_data/leds-omap.h => arch/arm/plat-omap/include/plat/led.h} (91%) rename trunk/{include/linux/mfd => arch/arm/plat-omap/include/plat}/menelaus.h (96%) rename trunk/{include/linux/platform_data/mmc-omap.h => arch/arm/plat-omap/include/plat/mmc.h} (80%) create mode 100644 trunk/arch/arm/plat-omap/include/plat/multi.h rename trunk/arch/arm/{mach-omap2 => plat-omap/include/plat}/omap-pm.h (100%) create mode 100644 trunk/arch/arm/plat-omap/include/plat/omap-secure.h rename trunk/arch/arm/{mach-omap2 => plat-omap/include/plat}/omap_device.h (99%) rename trunk/arch/arm/{mach-omap2 => plat-omap/include/plat}/omap_hwmod.h (98%) create mode 100644 trunk/arch/arm/plat-omap/include/plat/prcm.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/sdrc.h rename trunk/arch/arm/{mach-omap2/include/mach => plat-omap/include/plat}/serial.h (81%) rename trunk/arch/arm/{mach-omap1/include/mach => plat-omap/include/plat}/tc.h (100%) create mode 100644 trunk/arch/arm/plat-omap/include/plat/uncompress.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/usb.h rename trunk/{include/video/omapvrfb.h => arch/arm/plat-omap/include/plat/vrfb.h} (95%) rename trunk/arch/arm/{mach-omap2 => plat-omap}/omap-pm-noop.c (98%) rename trunk/arch/arm/{mach-omap2 => plat-omap}/omap_device.c (99%) create mode 100644 trunk/arch/arm/plat-omap/sram.h delete mode 100644 trunk/arch/arm/plat-samsung/include/plat/spi-core.h create mode 100644 trunk/arch/ia64/include/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/mips/lib/bitops.c delete mode 100644 trunk/arch/mips/lib/mips-atomic.c delete mode 100644 trunk/arch/s390/include/uapi/asm/kvm_para.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/drivers/i2c/{ => busses}/i2c-stub.c (75%) delete mode 100644 trunk/drivers/mfd/omap-usb.h delete mode 100644 trunk/drivers/net/phy/at803x.c delete mode 100644 trunk/drivers/xen/fallback.c delete mode 100644 trunk/include/linux/hashtable.h delete mode 100644 trunk/include/linux/platform_data/omap-wd-timer.h delete mode 100644 trunk/include/linux/platform_data/usb-omap.h rename trunk/include/{uapi => }/linux/raid/md_p.h (100%) delete mode 100644 trunk/include/uapi/linux/raid/md_u.h delete mode 100644 trunk/scripts/kconfig/list.h 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 3c0fc6414b97..160ab17e94a8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d98eb5cfb0ac050ed8c8fafd029b94d451189864 +refs/heads/master: e67ae6be734de909954e20317c38472af983b92c 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/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 d187e9f7cf1c..ecc81e368715 100644 --- a/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt +++ b/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt @@ -8,7 +8,7 @@ PIT Timer required properties: 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/i2c/fsl-imx-i2c.txt b/trunk/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt index 3614242e7732..f3cf43b66f7e 100644 --- a/trunk/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt +++ b/trunk/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt @@ -12,13 +12,13 @@ Optional properties: Examples: i2c@83fc4000 { /* I2C2 on i.MX51 */ - compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; reg = <0x83fc4000 0x4000>; interrupts = <63>; }; i2c@70038000 { /* HS-I2C on i.MX51 */ - compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; reg = <0x70038000 0x4000>; interrupts = <64>; clock-frequency = <400000>; 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/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/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/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 815b711bcd85..7eceaff63f5f 100644 --- a/trunk/Documentation/firmware_class/README +++ b/trunk/Documentation/firmware_class/README @@ -18,40 +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: - "/lib/firmware/updates/" UTS_RELEASE, - "/lib/firmware/updates", - "/lib/firmware/" UTS_RELEASE, - "/lib/firmware" - - If found, goto 7), else goto 2) - - 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): 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/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/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/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 83b519314706..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 ffffffbbfffcffff ~240GB vmalloc - -ffffffbbfffd0000 ffffffbcfffdffff 64KB [防护页] - -ffffffbbfffe0000 ffffffbcfffeffff 64KB PCI I/O 空间 - -ffffffbbffff0000 ffffffbcffffffff 64KB [防护页] - -ffffffbc00000000 ffffffbdffffffff 8GB vmemmap - -ffffffbe00000000 ffffffbffbffffff ~8GB [防护页,未来用于 vmmemap] - -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 140ebd063f1b..027ec2bfa135 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -503,7 +503,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 +526,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 +637,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 @@ -797,6 +790,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained T: git git://git.pengutronix.de/git/imx/linux-2.6.git F: arch/arm/mach-imx/ +F: arch/arm/plat-mxc/ F: arch/arm/configs/imx*_defconfig ARM/FREESCALE IMX6 @@ -840,14 +834,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) @@ -2514,7 +2500,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* @@ -2715,10 +2700,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 @@ -2817,7 +2802,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 @@ -3605,49 +3589,6 @@ F: drivers/hid/hid-hyperv.c F: drivers/net/hyperv/ F: drivers/staging/hv/ -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 - I2C/SMBUS STUB DRIVER M: "Mark M. Hoffman" L: linux-i2c@vger.kernel.org @@ -3655,8 +3596,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/ @@ -3667,13 +3609,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 @@ -3760,7 +3695,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 @@ -4287,8 +4222,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 @@ -5126,13 +5061,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 @@ -5420,7 +5349,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 @@ -5704,7 +5633,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 @@ -7266,14 +7195,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 @@ -7951,6 +7872,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 @@ -8205,7 +8133,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 3d2fc460b22f..14c93b39b929 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 7 SUBLEVEL = 0 -EXTRAVERSION = -rc7 +EXTRAVERSION = -rc2 NAME = Terrified Chipmunk # *DOCUMENTATION* 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 d45ca1bf1de0..73067efd4845 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -433,6 +433,19 @@ config ARCH_FOOTBRIDGE Support for systems based on the DC21285 companion chip ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. +config ARCH_MXC + bool "Freescale MXC/iMX-based" + select ARCH_REQUIRE_GPIOLIB + select CLKDEV_LOOKUP + select CLKSRC_MMIO + select GENERIC_CLOCKEVENTS + select GENERIC_IRQ_CHIP + select MULTI_IRQ_HANDLER + select SPARSE_IRQ + select USE_OF + help + Support for Freescale MXC/iMX-based family of processors + config ARCH_MXS bool "Freescale MXS-based" select ARCH_REQUIRE_GPIOLIB @@ -924,6 +937,7 @@ config ARCH_OMAP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS select HAVE_CLK + select NEED_MACH_GPIO_H help Support for TI's OMAP platform (OMAP1/2/3/4). @@ -945,6 +959,7 @@ config ARCH_ZYNQ bool "Xilinx Zynq ARM Cortex A9 Platform" select ARM_AMBA select ARM_GIC + select CLKDEV_LOOKUP select CPU_V7 select GENERIC_CLOCKEVENTS select ICST @@ -1043,7 +1058,7 @@ source "arch/arm/mach-msm/Kconfig" source "arch/arm/mach-mv78xx0/Kconfig" -source "arch/arm/mach-imx/Kconfig" +source "arch/arm/plat-mxc/Kconfig" source "arch/arm/mach-mxs/Kconfig" @@ -1153,7 +1168,7 @@ config ARM_NR_BANKS config IWMMXT bool "Enable iWMMXt support" depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 - default y if PXA27x || PXA3xx || ARCH_MMP + default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP help Enable support for iWMMXt context switching at run time if running on a CPU that supports it. @@ -1588,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. @@ -1630,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 @@ -1835,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/Kconfig.debug b/trunk/arch/arm/Kconfig.debug index 5566520686a5..b0f3857b3a4c 100644 --- a/trunk/arch/arm/Kconfig.debug +++ b/trunk/arch/arm/Kconfig.debug @@ -412,14 +412,6 @@ endchoice config DEBUG_LL_INCLUDE string default "debug/icedcc.S" if DEBUG_ICEDCC - default "debug/imx.S" if DEBUG_IMX1_UART || \ - DEBUG_IMX25_UART || \ - DEBUG_IMX21_IMX27_UART || \ - DEBUG_IMX31_IMX35_UART || \ - DEBUG_IMX51_UART || \ - DEBUG_IMX50_IMX53_UART ||\ - DEBUG_IMX6Q_UART2 || \ - DEBUG_IMX6Q_UART4 default "debug/highbank.S" if DEBUG_HIGHBANK_UART default "debug/mvebu.S" if DEBUG_MVEBU_UART default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART diff --git a/trunk/arch/arm/Makefile b/trunk/arch/arm/Makefile index 97252d86a701..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__ @@ -196,8 +195,10 @@ machine-$(CONFIG_ARCH_ZYNQ) += zynq # Platform directory name. This list is sorted alphanumerically # by CONFIG_* macro name. +plat-$(CONFIG_ARCH_MXC) += mxc plat-$(CONFIG_ARCH_OMAP) += omap plat-$(CONFIG_ARCH_S3C64XX) += samsung +plat-$(CONFIG_ARCH_ZYNQ) += versatile plat-$(CONFIG_PLAT_IOP) += iop plat-$(CONFIG_PLAT_NOMADIK) += nomadik plat-$(CONFIG_PLAT_ORION) += orion diff --git a/trunk/arch/arm/boot/Makefile b/trunk/arch/arm/boot/Makefile index 9137df539b61..3fdab016aa5c 100644 --- a/trunk/arch/arm/boot/Makefile +++ b/trunk/arch/arm/boot/Makefile @@ -33,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)' @@ -48,14 +48,14 @@ $(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 @@ -90,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 $@ @@ -98,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/Makefile b/trunk/arch/arm/boot/compressed/Makefile index 537208f22e56..a517153a13ea 100644 --- a/trunk/arch/arm/boot/compressed/Makefile +++ b/trunk/arch/arm/boot/compressed/Makefile @@ -54,6 +54,10 @@ ifeq ($(CONFIG_ARCH_SA1100),y) OBJS += head-sa1100.o endif +ifeq ($(CONFIG_ARCH_VT8500),y) +OBJS += head-vt8500.o +endif + ifeq ($(CONFIG_CPU_XSCALE),y) OBJS += head-xscale.o endif diff --git a/trunk/arch/arm/boot/compressed/head-vt8500.S b/trunk/arch/arm/boot/compressed/head-vt8500.S new file mode 100644 index 000000000000..1dc1e21a3be3 --- /dev/null +++ b/trunk/arch/arm/boot/compressed/head-vt8500.S @@ -0,0 +1,46 @@ +/* + * linux/arch/arm/boot/compressed/head-vt8500.S + * + * Copyright (C) 2010 Alexey Charkov + * + * VIA VT8500 specific tweaks. This is merged into head.S by the linker. + * + */ + +#include +#include + + .section ".start", "ax" + +__VT8500_start: + @ Compare the SCC ID register against a list of known values + ldr r1, .SCCID + ldr r3, [r1] + + @ VT8500 override + ldr r4, .VT8500SCC + cmp r3, r4 + ldreq r7, .ID_BV07 + beq .Lendvt8500 + + @ WM8505 override + ldr r4, .WM8505SCC + cmp r3, r4 + ldreq r7, .ID_8505 + beq .Lendvt8500 + + @ Otherwise, leave the bootloader's machine id untouched + +.SCCID: + .word 0xd8120000 +.VT8500SCC: + .word 0x34000102 +.WM8505SCC: + .word 0x34260103 + +.ID_BV07: + .word MACH_TYPE_BV07 +.ID_8505: + .word MACH_TYPE_WM8505_7IN_NETBOOK + +.Lendvt8500: diff --git a/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi index e6391a4e6649..b06c0db273b1 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi @@ -126,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/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/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/imx27.dtsi b/trunk/arch/arm/boot/dts/imx27.dtsi index 67d672792b0d..3e54f1498841 100644 --- a/trunk/arch/arm/boot/dts/imx27.dtsi +++ b/trunk/arch/arm/boot/dts/imx27.dtsi @@ -113,7 +113,7 @@ i2c1: i2c@10012000 { #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx27-i2c", "fsl,imx1-i2c"; reg = <0x10012000 0x1000>; interrupts = <12>; status = "disabled"; @@ -205,7 +205,7 @@ i2c2: i2c@1001d000 { #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx27-i2c", "fsl,imx1-i2c"; reg = <0x1001d000 0x1000>; interrupts = <1>; 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/imx51.dtsi b/trunk/arch/arm/boot/dts/imx51.dtsi index 54aea74769a1..75d069fcf897 100644 --- a/trunk/arch/arm/boot/dts/imx51.dtsi +++ b/trunk/arch/arm/boot/dts/imx51.dtsi @@ -377,7 +377,7 @@ i2c@83fc4000 { /* I2C2 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; reg = <0x83fc4000 0x4000>; interrupts = <63>; status = "disabled"; @@ -386,7 +386,7 @@ i2c@83fc8000 { /* I2C1 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; reg = <0x83fc8000 0x4000>; interrupts = <62>; status = "disabled"; diff --git a/trunk/arch/arm/boot/dts/imx53.dtsi b/trunk/arch/arm/boot/dts/imx53.dtsi index caf09ff73f10..76ebb1ad2675 100644 --- a/trunk/arch/arm/boot/dts/imx53.dtsi +++ b/trunk/arch/arm/boot/dts/imx53.dtsi @@ -432,7 +432,7 @@ i2c@53fec000 { /* I2C3 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx53-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx53-i2c", "fsl,imx1-i2c"; reg = <0x53fec000 0x4000>; interrupts = <64>; status = "disabled"; @@ -488,7 +488,7 @@ i2c@63fc4000 { /* I2C2 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx53-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx53-i2c", "fsl,imx1-i2c"; reg = <0x63fc4000 0x4000>; interrupts = <63>; status = "disabled"; @@ -497,7 +497,7 @@ i2c@63fc8000 { /* I2C1 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx53-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx53-i2c", "fsl,imx1-i2c"; reg = <0x63fc8000 0x4000>; interrupts = <62>; status = "disabled"; diff --git a/trunk/arch/arm/boot/dts/imx6q.dtsi b/trunk/arch/arm/boot/dts/imx6q.dtsi index f604a44a5c66..f3990b04fecf 100644 --- a/trunk/arch/arm/boot/dts/imx6q.dtsi +++ b/trunk/arch/arm/boot/dts/imx6q.dtsi @@ -882,7 +882,7 @@ i2c@021a0000 { /* I2C1 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c"; reg = <0x021a0000 0x4000>; interrupts = <0 36 0x04>; clocks = <&clks 125>; @@ -892,7 +892,7 @@ i2c@021a4000 { /* I2C2 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c"; reg = <0x021a4000 0x4000>; interrupts = <0 37 0x04>; clocks = <&clks 126>; @@ -902,7 +902,7 @@ i2c@021a8000 { /* I2C3 */ #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; + compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c"; reg = <0x021a8000 0x4000>; interrupts = <0 38 0x04>; clocks = <&clks 127>; diff --git a/trunk/arch/arm/boot/dts/integratorap.dts b/trunk/arch/arm/boot/dts/integratorap.dts index 61767757b50a..c9c3fa344647 100644 --- a/trunk/arch/arm/boot/dts/integratorap.dts +++ b/trunk/arch/arm/boot/dts/integratorap.dts @@ -18,6 +18,11 @@ bootargs = "root=/dev/ram0 console=ttyAM0,38400n8 earlyprintk"; }; + syscon { + /* AP system controller registers */ + reg = <0x11000000 0x100>; + }; + timer0: timer@13000000 { compatible = "arm,integrator-timer"; }; 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/tegra20-harmony.dts b/trunk/arch/arm/boot/dts/tegra20-harmony.dts index 74b8a47adf91..c3ef1ad26b6a 100644 --- a/trunk/arch/arm/boot/dts/tegra20-harmony.dts +++ b/trunk/arch/arm/boot/dts/tegra20-harmony.dts @@ -297,98 +297,131 @@ vinldo9-supply = <&sm2_reg>; regulators { - sys_reg: sys { + #address-cells = <1>; + #size-cells = <0>; + + sys_reg: regulator@0 { + reg = <0>; + regulator-compatible = "sys"; regulator-name = "vdd_sys"; regulator-always-on; }; - sm0 { + regulator@1 { + reg = <1>; + regulator-compatible = "sm0"; regulator-name = "vdd_sm0,vdd_core"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - sm1 { + regulator@2 { + reg = <2>; + regulator-compatible = "sm1"; regulator-name = "vdd_sm1,vdd_cpu"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; - sm2_reg: sm2 { + sm2_reg: regulator@3 { + reg = <3>; + regulator-compatible = "sm2"; regulator-name = "vdd_sm2,vin_ldo*"; regulator-min-microvolt = <3700000>; regulator-max-microvolt = <3700000>; regulator-always-on; }; - ldo0 { + regulator@4 { + reg = <4>; + regulator-compatible = "ldo0"; regulator-name = "vdd_ldo0,vddio_pex_clk"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo1 { + regulator@5 { + reg = <5>; + regulator-compatible = "ldo1"; regulator-name = "vdd_ldo1,avdd_pll*"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-always-on; }; - ldo2 { + regulator@6 { + reg = <6>; + regulator-compatible = "ldo2"; regulator-name = "vdd_ldo2,vdd_rtc"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; - ldo3 { + regulator@7 { + reg = <7>; + regulator-compatible = "ldo3"; regulator-name = "vdd_ldo3,avdd_usb*"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo4 { + regulator@8 { + reg = <8>; + regulator-compatible = "ldo4"; regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo5 { + regulator@9 { + reg = <9>; + regulator-compatible = "ldo5"; regulator-name = "vdd_ldo5,vcore_mmc"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo6 { + regulator@10 { + reg = <10>; + regulator-compatible = "ldo6"; regulator-name = "vdd_ldo6,avdd_vdac"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo7 { + regulator@11 { + reg = <11>; + regulator-compatible = "ldo7"; regulator-name = "vdd_ldo7,avdd_hdmi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo8 { + regulator@12 { + reg = <12>; + regulator-compatible = "ldo8"; regulator-name = "vdd_ldo8,avdd_hdmi_pll"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo9 { + regulator@13 { + reg = <13>; + regulator-compatible = "ldo9"; regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo_rtc { + regulator@14 { + reg = <14>; + regulator-compatible = "ldo_rtc"; regulator-name = "vdd_rtc_out,vdd_cell"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; diff --git a/trunk/arch/arm/boot/dts/tegra20-paz00.dts b/trunk/arch/arm/boot/dts/tegra20-paz00.dts index 6a93d1404c76..ddf287f52d49 100644 --- a/trunk/arch/arm/boot/dts/tegra20-paz00.dts +++ b/trunk/arch/arm/boot/dts/tegra20-paz00.dts @@ -291,26 +291,37 @@ vinldo9-supply = <&sm2_reg>; regulators { - sys_reg: sys { + #address-cells = <1>; + #size-cells = <0>; + + sys_reg: regulator@0 { + reg = <0>; + regulator-compatible = "sys"; regulator-name = "vdd_sys"; regulator-always-on; }; - sm0 { + regulator@1 { + reg = <1>; + regulator-compatible = "sm0"; regulator-name = "+1.2vs_sm0,vdd_core"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - sm1 { + regulator@2 { + reg = <2>; + regulator-compatible = "sm1"; regulator-name = "+1.0vs_sm1,vdd_cpu"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; - sm2_reg: sm2 { + sm2_reg: regulator@3 { + reg = <3>; + regulator-compatible = "sm2"; regulator-name = "+3.7vs_sm2,vin_ldo*"; regulator-min-microvolt = <3700000>; regulator-max-microvolt = <3700000>; @@ -319,41 +330,53 @@ /* LDO0 is not connected to anything */ - ldo1 { + regulator@5 { + reg = <5>; + regulator-compatible = "ldo1"; regulator-name = "+1.1vs_ldo1,avdd_pll*"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-always-on; }; - ldo2 { + regulator@6 { + reg = <6>; + regulator-compatible = "ldo2"; regulator-name = "+1.2vs_ldo2,vdd_rtc"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; - ldo3 { + regulator@7 { + reg = <7>; + regulator-compatible = "ldo3"; regulator-name = "+3.3vs_ldo3,avdd_usb*"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo4 { + regulator@8 { + reg = <8>; + regulator-compatible = "ldo4"; regulator-name = "+1.8vs_ldo4,avdd_osc,vddio_sys"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo5 { + regulator@9 { + reg = <9>; + regulator-compatible = "ldo5"; regulator-name = "+2.85vs_ldo5,vcore_mmc"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo6 { + regulator@10 { + reg = <10>; + regulator-compatible = "ldo6"; /* * Research indicates this should be * 1.8v; other boards that use this @@ -367,26 +390,34 @@ regulator-max-microvolt = <1800000>; }; - ldo7 { + regulator@11 { + reg = <11>; + regulator-compatible = "ldo7"; regulator-name = "+3.3vs_ldo7,avdd_hdmi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo8 { + regulator@12 { + reg = <12>; + regulator-compatible = "ldo8"; regulator-name = "+1.8vs_ldo8,avdd_hdmi_pll"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo9 { + regulator@13 { + reg = <13>; + regulator-compatible = "ldo9"; regulator-name = "+2.85vs_ldo9,vdd_ddr_rx"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo_rtc { + regulator@14 { + reg = <14>; + regulator-compatible = "ldo_rtc"; regulator-name = "+3.3vs_rtc"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; diff --git a/trunk/arch/arm/boot/dts/tegra20-seaboard.dts b/trunk/arch/arm/boot/dts/tegra20-seaboard.dts index 33ae81358d8e..f0ba901676ac 100644 --- a/trunk/arch/arm/boot/dts/tegra20-seaboard.dts +++ b/trunk/arch/arm/boot/dts/tegra20-seaboard.dts @@ -395,26 +395,37 @@ vinldo9-supply = <&sm2_reg>; regulators { - sys_reg: sys { + #address-cells = <1>; + #size-cells = <0>; + + sys_reg: regulator@0 { + reg = <0>; + regulator-compatible = "sys"; regulator-name = "vdd_sys"; regulator-always-on; }; - sm0 { + regulator@1 { + reg = <1>; + regulator-compatible = "sm0"; regulator-name = "vdd_sm0,vdd_core"; regulator-min-microvolt = <1300000>; regulator-max-microvolt = <1300000>; regulator-always-on; }; - sm1 { + regulator@2 { + reg = <2>; + regulator-compatible = "sm1"; regulator-name = "vdd_sm1,vdd_cpu"; regulator-min-microvolt = <1125000>; regulator-max-microvolt = <1125000>; regulator-always-on; }; - sm2_reg: sm2 { + sm2_reg: regulator@3 { + reg = <3>; + regulator-compatible = "sm2"; regulator-name = "vdd_sm2,vin_ldo*"; regulator-min-microvolt = <3700000>; regulator-max-microvolt = <3700000>; @@ -423,66 +434,86 @@ /* LDO0 is not connected to anything */ - ldo1 { + regulator@5 { + reg = <5>; + regulator-compatible = "ldo1"; regulator-name = "vdd_ldo1,avdd_pll*"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-always-on; }; - ldo2 { + regulator@6 { + reg = <6>; + regulator-compatible = "ldo2"; regulator-name = "vdd_ldo2,vdd_rtc"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; - ldo3 { + regulator@7 { + reg = <7>; + regulator-compatible = "ldo3"; regulator-name = "vdd_ldo3,avdd_usb*"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo4 { + regulator@8 { + reg = <8>; + regulator-compatible = "ldo4"; regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo5 { + regulator@9 { + reg = <9>; + regulator-compatible = "ldo5"; regulator-name = "vdd_ldo5,vcore_mmc"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo6 { + regulator@10 { + reg = <10>; + regulator-compatible = "ldo6"; regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo7 { + regulator@11 { + reg = <11>; + regulator-compatible = "ldo7"; regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo8 { + regulator@12 { + reg = <12>; + regulator-compatible = "ldo8"; regulator-name = "vdd_ldo8,avdd_hdmi_pll"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo9 { + regulator@13 { + reg = <13>; + regulator-compatible = "ldo9"; regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo_rtc { + regulator@14 { + reg = <14>; + regulator-compatible = "ldo_rtc"; regulator-name = "vdd_rtc_out,vdd_cell"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; diff --git a/trunk/arch/arm/boot/dts/tegra20-tamonten.dtsi b/trunk/arch/arm/boot/dts/tegra20-tamonten.dtsi index 5b3d8b157b33..f18cec9f6a77 100644 --- a/trunk/arch/arm/boot/dts/tegra20-tamonten.dtsi +++ b/trunk/arch/arm/boot/dts/tegra20-tamonten.dtsi @@ -271,72 +271,97 @@ vinldo9-supply = <&sm2_reg>; regulators { - sys_reg: sys { + #address-cells = <1>; + #size-cells = <0>; + + sys_reg: regulator@0 { + reg = <0>; + regulator-compatible = "sys"; regulator-name = "vdd_sys"; regulator-always-on; }; - sm0 { + regulator@1 { + reg = <1>; + regulator-compatible = "sm0"; regulator-name = "vdd_sys_sm0,vdd_core"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - sm1 { + regulator@2 { + reg = <2>; + regulator-compatible = "sm1"; regulator-name = "vdd_sys_sm1,vdd_cpu"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; - sm2_reg: sm2 { + sm2_reg: regulator@3 { + reg = <3>; + regulator-compatible = "sm2"; regulator-name = "vdd_sys_sm2,vin_ldo*"; regulator-min-microvolt = <3700000>; regulator-max-microvolt = <3700000>; regulator-always-on; }; - ldo0 { + regulator@4 { + reg = <4>; + regulator-compatible = "ldo0"; regulator-name = "vdd_ldo0,vddio_pex_clk"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo1 { + regulator@5 { + reg = <5>; + regulator-compatible = "ldo1"; regulator-name = "vdd_ldo1,avdd_pll*"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-always-on; }; - ldo2 { + regulator@6 { + reg = <6>; + regulator-compatible = "ldo2"; regulator-name = "vdd_ldo2,vdd_rtc"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; - ldo3 { + regulator@7 { + reg = <7>; + regulator-compatible = "ldo3"; regulator-name = "vdd_ldo3,avdd_usb*"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo4 { + regulator@8 { + reg = <8>; + regulator-compatible = "ldo4"; regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo5 { + regulator@9 { + reg = <9>; + regulator-compatible = "ldo5"; regulator-name = "vdd_ldo5,vcore_mmc"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; }; - ldo6 { + regulator@10 { + reg = <10>; + regulator-compatible = "ldo6"; regulator-name = "vdd_ldo6,avdd_vdac"; /* * According to the Tegra 2 Automotive @@ -348,19 +373,25 @@ regulator-max-microvolt = <2850000>; }; - ldo7 { + regulator@11 { + reg = <11>; + regulator-compatible = "ldo7"; regulator-name = "vdd_ldo7,avdd_hdmi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo8 { + regulator@12 { + reg = <12>; + regulator-compatible = "ldo8"; regulator-name = "vdd_ldo8,avdd_hdmi_pll"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo9 { + regulator@13 { + reg = <13>; + regulator-compatible = "ldo9"; regulator-name = "vdd_ldo9,vdd_ddr_rx,avdd_cam"; /* * According to the Tegra 2 Automotive @@ -373,7 +404,9 @@ regulator-always-on; }; - ldo_rtc { + regulator@14 { + reg = <14>; + regulator-compatible = "ldo_rtc"; regulator-name = "vdd_rtc_out"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; diff --git a/trunk/arch/arm/boot/dts/tegra20-ventana.dts b/trunk/arch/arm/boot/dts/tegra20-ventana.dts index 86854f1abd58..3e5952fcfbc5 100644 --- a/trunk/arch/arm/boot/dts/tegra20-ventana.dts +++ b/trunk/arch/arm/boot/dts/tegra20-ventana.dts @@ -311,26 +311,37 @@ vinldo9-supply = <&sm2_reg>; regulators { - sys_reg: sys { + #address-cells = <1>; + #size-cells = <0>; + + sys_reg: regulator@0 { + reg = <0>; + regulator-compatible = "sys"; regulator-name = "vdd_sys"; regulator-always-on; }; - sm0 { + regulator@1 { + reg = <1>; + regulator-compatible = "sm0"; regulator-name = "vdd_sm0,vdd_core"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - sm1 { + regulator@2 { + reg = <2>; + regulator-compatible = "sm1"; regulator-name = "vdd_sm1,vdd_cpu"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; - sm2_reg: sm2 { + sm2_reg: regulator@3 { + reg = <3>; + regulator-compatible = "sm2"; regulator-name = "vdd_sm2,vin_ldo*"; regulator-min-microvolt = <3700000>; regulator-max-microvolt = <3700000>; @@ -339,66 +350,86 @@ /* LDO0 is not connected to anything */ - ldo1 { + regulator@5 { + reg = <5>; + regulator-compatible = "ldo1"; regulator-name = "vdd_ldo1,avdd_pll*"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-always-on; }; - ldo2 { + regulator@6 { + reg = <6>; + regulator-compatible = "ldo2"; regulator-name = "vdd_ldo2,vdd_rtc"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; - ldo3 { + regulator@7 { + reg = <7>; + regulator-compatible = "ldo3"; regulator-name = "vdd_ldo3,avdd_usb*"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo4 { + regulator@8 { + reg = <8>; + regulator-compatible = "ldo4"; regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo5 { + regulator@9 { + reg = <9>; + regulator-compatible = "ldo5"; regulator-name = "vdd_ldo5,vcore_mmc"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo6 { + regulator@10 { + reg = <10>; + regulator-compatible = "ldo6"; regulator-name = "vdd_ldo6,avdd_vdac"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo7 { + regulator@11 { + reg = <11>; + regulator-compatible = "ldo7"; regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo8 { + regulator@12 { + reg = <12>; + regulator-compatible = "ldo8"; regulator-name = "vdd_ldo8,avdd_hdmi_pll"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo9 { + regulator@13 { + reg = <13>; + regulator-compatible = "ldo9"; regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; regulator-always-on; }; - ldo_rtc { + regulator@14 { + reg = <14>; + regulator-compatible = "ldo_rtc"; regulator-name = "vdd_rtc_out,vdd_cell"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; diff --git a/trunk/arch/arm/boot/dts/tegra20-whistler.dts b/trunk/arch/arm/boot/dts/tegra20-whistler.dts index 94a71c91beb5..c636d002d6d8 100644 --- a/trunk/arch/arm/boot/dts/tegra20-whistler.dts +++ b/trunk/arch/arm/boot/dts/tegra20-whistler.dts @@ -295,182 +295,243 @@ in20-supply = <&mbatt_reg>; regulators { - mbatt_reg: mbatt { + #address-cells = <1>; + #size-cells = <0>; + + mbatt_reg: regulator@0 { + reg = <0>; + regulator-compatible = "mbatt"; regulator-name = "vbat_pmu"; regulator-always-on; }; - sd1 { + regulator@1 { + reg = <1>; + regulator-compatible = "sd1"; regulator-name = "nvvdd_sv1,vdd_cpu_pmu"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; - sd2 { + regulator@2 { + reg = <2>; + regulator-compatible = "sd2"; regulator-name = "nvvdd_sv2,vdd_core"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - nvvdd_sv3_reg: sd3 { + nvvdd_sv3_reg: regulator@3 { + reg = <3>; + regulator-compatible = "sd3"; regulator-name = "nvvdd_sv3"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo1 { + regulator@4 { + reg = <4>; + regulator-compatible = "ldo1"; regulator-name = "nvvdd_ldo1,vddio_rx_ddr,vcore_acc"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo2 { + regulator@5 { + reg = <5>; + regulator-compatible = "ldo2"; regulator-name = "nvvdd_ldo2,avdd_pll*"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-always-on; }; - ldo3 { + regulator@6 { + reg = <6>; + regulator-compatible = "ldo3"; regulator-name = "nvvdd_ldo3,vcom_1v8b"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo4 { + regulator@7 { + reg = <7>; + regulator-compatible = "ldo4"; regulator-name = "nvvdd_ldo4,avdd_usb*"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo5 { + regulator@8 { + reg = <8>; + regulator-compatible = "ldo5"; regulator-name = "nvvdd_ldo5,vcore_mmc,avdd_lcd1,vddio_1wire"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; }; - ldo6 { + regulator@9 { + reg = <9>; + regulator-compatible = "ldo6"; regulator-name = "nvvdd_ldo6,avdd_hdmi_pll"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo7 { + regulator@10 { + reg = <10>; + regulator-compatible = "ldo7"; regulator-name = "nvvdd_ldo7,avddio_audio"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; }; - ldo8 { + regulator@11 { + reg = <11>; + regulator-compatible = "ldo8"; regulator-name = "nvvdd_ldo8,vcom_3v0,vcore_cmps"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; }; - ldo9 { + regulator@12 { + reg = <12>; + regulator-compatible = "ldo9"; regulator-name = "nvvdd_ldo9,avdd_cam*"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; - ldo10 { + regulator@13 { + reg = <13>; + regulator-compatible = "ldo10"; regulator-name = "nvvdd_ldo10,avdd_usb_ic_3v0"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; regulator-always-on; }; - ldo11 { + regulator@14 { + reg = <14>; + regulator-compatible = "ldo11"; regulator-name = "nvvdd_ldo11,vddio_pex_clk,vcom_33,avdd_hdmi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo12 { + regulator@15 { + reg = <15>; + regulator-compatible = "ldo12"; regulator-name = "nvvdd_ldo12,vddio_sdio"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; }; - ldo13 { + regulator@16 { + reg = <16>; + regulator-compatible = "ldo13"; regulator-name = "nvvdd_ldo13,vcore_phtn,vdd_af"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; - ldo14 { + regulator@17 { + reg = <17>; + regulator-compatible = "ldo14"; regulator-name = "nvvdd_ldo14,avdd_vdac"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; - ldo15 { + regulator@18 { + reg = <18>; + regulator-compatible = "ldo15"; regulator-name = "nvvdd_ldo15,vcore_temp,vddio_hdcp"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - ldo16 { + regulator@19 { + reg = <19>; + regulator-compatible = "ldo16"; regulator-name = "nvvdd_ldo16,vdd_dbrtr"; regulator-min-microvolt = <1300000>; regulator-max-microvolt = <1300000>; }; - ldo17 { + regulator@20 { + reg = <20>; + regulator-compatible = "ldo17"; regulator-name = "nvvdd_ldo17,vddio_mipi"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; - ldo18 { + regulator@21 { + reg = <21>; + regulator-compatible = "ldo18"; regulator-name = "nvvdd_ldo18,vddio_vi,vcore_cam*"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - ldo19 { + regulator@22 { + reg = <22>; + regulator-compatible = "ldo19"; regulator-name = "nvvdd_ldo19,avdd_lcd2,vddio_lx"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; - ldo20 { + regulator@23 { + reg = <23>; + regulator-compatible = "ldo20"; regulator-name = "nvvdd_ldo20,vddio_ddr_1v2,vddio_hsic,vcom_1v2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - out5v { + regulator@24 { + reg = <24>; + regulator-compatible = "out5v"; regulator-name = "usb0_vbus_reg"; }; - out33v { + regulator@25 { + reg = <25>; + regulator-compatible = "out33v"; regulator-name = "pmu_out3v3"; }; - bbat { + regulator@26 { + reg = <26>; + regulator-compatible = "bbat"; regulator-name = "pmu_bbat"; regulator-min-microvolt = <2400000>; regulator-max-microvolt = <2400000>; regulator-always-on; }; - sdby { + regulator@27 { + reg = <27>; + regulator-compatible = "sdby"; regulator-name = "vdd_aon"; regulator-always-on; }; - vrtc { + regulator@28 { + reg = <28>; + regulator-compatible = "vrtc"; regulator-name = "vrtc,pmu_vccadc"; regulator-always-on; }; diff --git a/trunk/arch/arm/boot/dts/tegra30-cardhu.dtsi b/trunk/arch/arm/boot/dts/tegra30-cardhu.dtsi index b1271a894327..d10c9c5a3606 100644 --- a/trunk/arch/arm/boot/dts/tegra30-cardhu.dtsi +++ b/trunk/arch/arm/boot/dts/tegra30-cardhu.dtsi @@ -171,41 +171,56 @@ vccio-supply = <&vdd_ac_bat_reg>; regulators { - vdd1_reg: vdd1 { + #address-cells = <1>; + #size-cells = <0>; + + vdd1_reg: regulator@0 { + reg = <0>; + regulator-compatible = "vdd1"; regulator-name = "vddio_ddr_1v2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - vdd2_reg: vdd2 { + vdd2_reg: regulator@1 { + reg = <1>; + regulator-compatible = "vdd2"; regulator-name = "vdd_1v5_gen"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; regulator-always-on; }; - vddctrl_reg: vddctrl { + vddctrl_reg: regulator@2 { + reg = <2>; + regulator-compatible = "vddctrl"; regulator-name = "vdd_cpu,vdd_sys"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; - vio_reg: vio { + vio_reg: regulator@3 { + reg = <3>; + regulator-compatible = "vio"; regulator-name = "vdd_1v8_gen"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; - ldo1_reg: ldo1 { + ldo1_reg: regulator@4 { + reg = <4>; + regulator-compatible = "ldo1"; regulator-name = "vdd_pexa,vdd_pexb"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; }; - ldo2_reg: ldo2 { + ldo2_reg: regulator@5 { + reg = <5>; + regulator-compatible = "ldo2"; regulator-name = "vdd_sata,avdd_plle"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; @@ -213,34 +228,44 @@ /* LDO3 is not connected to anything */ - ldo4_reg: ldo4 { + ldo4_reg: regulator@7 { + reg = <7>; + regulator-compatible = "ldo4"; regulator-name = "vdd_rtc"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - ldo5_reg: ldo5 { + ldo5_reg: regulator@8 { + reg = <8>; + regulator-compatible = "ldo5"; regulator-name = "vddio_sdmmc,avdd_vdac"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; - ldo6_reg: ldo6 { + ldo6_reg: regulator@9 { + reg = <9>; + regulator-compatible = "ldo6"; regulator-name = "avdd_dsi_csi,pwrdet_mipi"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; - ldo7_reg: ldo7 { + ldo7_reg: regulator@10 { + reg = <10>; + regulator-compatible = "ldo7"; regulator-name = "vdd_pllm,x,u,a_p_c_s"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; }; - ldo8_reg: ldo8 { + ldo8_reg: regulator@11 { + reg = <11>; + regulator-compatible = "ldo8"; regulator-name = "vdd_ddr_hs"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; 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/zynq-ep107.dts b/trunk/arch/arm/boot/dts/zynq-ep107.dts index 574bc044f572..37ca192fb193 100644 --- a/trunk/arch/arm/boot/dts/zynq-ep107.dts +++ b/trunk/arch/arm/boot/dts/zynq-ep107.dts @@ -36,27 +36,16 @@ ranges; intc: interrupt-controller@f8f01000 { - compatible = "arm,cortex-a9-gic"; - #interrupt-cells = <3>; - #address-cells = <1>; interrupt-controller; - reg = <0xF8F01000 0x1000>, - <0xF8F00100 0x100>; - }; - - L2: cache-controller { - compatible = "arm,pl310-cache"; - reg = <0xF8F02000 0x1000>; - arm,data-latency = <2 3 2>; - arm,tag-latency = <2 3 2>; - cache-unified; - cache-level = <2>; + compatible = "arm,gic"; + reg = <0xF8F01000 0x1000>; + #interrupt-cells = <2>; }; uart0: uart@e0000000 { compatible = "xlnx,xuartps"; reg = <0xE0000000 0x1000>; - interrupts = <0 27 4>; + interrupts = <59 0>; clock = <50000000>; }; }; diff --git a/trunk/arch/arm/configs/imx_v4_v5_defconfig b/trunk/arch/arm/configs/imx_v4_v5_defconfig index f71302c3ac33..78ed575feb1a 100644 --- a/trunk/arch/arm/configs/imx_v4_v5_defconfig +++ b/trunk/arch/arm/configs/imx_v4_v5_defconfig @@ -18,9 +18,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_IOSCHED_DEADLINE is not set # CONFIG_IOSCHED_CFQ is not set CONFIG_ARCH_MXC=y -CONFIG_ARCH_MULTI_V4T=y -CONFIG_ARCH_MULTI_V5=y -# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_ARCH_IMX_V4_V5=y CONFIG_ARCH_MX1ADS=y CONFIG_MACH_SCB9328=y CONFIG_MACH_APF9328=y diff --git a/trunk/arch/arm/configs/imx_v6_v7_defconfig b/trunk/arch/arm/configs/imx_v6_v7_defconfig index 44f117aab52c..66aa7a6db884 100644 --- a/trunk/arch/arm/configs/imx_v6_v7_defconfig +++ b/trunk/arch/arm/configs/imx_v6_v7_defconfig @@ -17,8 +17,6 @@ CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_BLK_DEV_BSG is not set CONFIG_ARCH_MXC=y -CONFIG_ARCH_MULTI_V6=y -CONFIG_ARCH_MULTI_V7=y CONFIG_MACH_MX31LILLY=y CONFIG_MACH_MX31LITE=y CONFIG_MACH_PCM037=y @@ -141,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 @@ -158,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/dma-mapping.h b/trunk/arch/arm/include/asm/dma-mapping.h index 8ea02ac3ec1a..23004847bb05 100644 --- a/trunk/arch/arm/include/asm/dma-mapping.h +++ b/trunk/arch/arm/include/asm/dma-mapping.h @@ -210,6 +210,13 @@ static inline void dma_free_writecombine(struct device *dev, size_t size, */ extern void __init init_dma_coherent_pool_size(unsigned long size); +/* + * This can be called during boot to increase the size of the consistent + * DMA region above it's default value of 2MB. It must be called before the + * memory allocator is initialised, i.e. before any core_initcall. + */ +static inline void init_consistent_dma_size(unsigned long size) { } + /* * For SA-1111, IXP425, and ADI systems the dma-mapping functions are "magic" * and utilize bounce buffers as needed to work around limited DMA windows. 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/io.h b/trunk/arch/arm/include/asm/io.h index 42f042ee4ada..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; } 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/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 043624219b55..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 diff --git a/trunk/arch/arm/mach-at91/at91rm9200.c b/trunk/arch/arm/mach-at91/at91rm9200.c index 5269825194a8..b4f0565aff63 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200.c +++ b/trunk/arch/arm/mach-at91/at91rm9200.c @@ -187,7 +187,7 @@ 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), 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/at91sam9260.c b/trunk/arch/arm/mach-at91/at91sam9260.c index f8202615f4a8..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), 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 04295c04b3e0..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), 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 d6f9c23927c4..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), 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 b7ae124c16e5..84af1b506d92 100644 --- a/trunk/arch/arm/mach-at91/at91sam9g45.c +++ b/trunk/arch/arm/mach-at91/at91sam9g45.c @@ -343,6 +343,7 @@ static struct at91_gpio_bank at91sam9g45_gpio[] __initdata = { static void __init at91sam9g45_map_io(void) { at91_init_sram(0, AT91SAM9G45_SRAM_BASE, AT91SAM9G45_SRAM_SIZE); + init_consistent_dma_size(SZ_4M); } static void __init at91sam9g45_ioremap_registers(void) 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/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/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-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-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 b62f560e6c75..f49650677653 100644 --- a/trunk/arch/arm/mach-at91/generic.h +++ b/trunk/arch/arm/mach-at91/generic.h @@ -26,8 +26,7 @@ extern void __init at91_dt_initialize(void); 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/include/mach/atmel-mci.h b/trunk/arch/arm/mach-at91/include/mach/atmel-mci.h index 3069e4135573..cd580a12e904 100644 --- a/trunk/arch/arm/mach-at91/include/mach/atmel-mci.h +++ b/trunk/arch/arm/mach-at91/include/mach/atmel-mci.h @@ -14,4 +14,11 @@ struct mci_dma_data { #define slave_data_ptr(s) (&(s)->sdata) #define find_slave_dev(s) ((s)->sdata.dma_dev) +#define setup_dma_addr(s, t, r) do { \ + if (s) { \ + (s)->sdata.tx_reg = (t); \ + (s)->sdata.rx_reg = (r); \ + } \ +} while (0) + #endif /* __MACH_ATMEL_MCI_H */ 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 0b32c81730a5..da9881b161e1 100644 --- a/trunk/arch/arm/mach-at91/setup.c +++ b/trunk/arch/arm/mach-at91/setup.c @@ -47,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(); @@ -151,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; } diff --git a/trunk/arch/arm/mach-bcm2835/Makefile.boot b/trunk/arch/arm/mach-bcm2835/Makefile.boot index b3271754e9fd..2d30e17f5b69 100644 --- a/trunk/arch/arm/mach-bcm2835/Makefile.boot +++ b/trunk/arch/arm/mach-bcm2835/Makefile.boot @@ -1 +1,3 @@ -zreladdr-y := 0x00008000 + zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 diff --git a/trunk/arch/arm/mach-bcm2835/bcm2835.c b/trunk/arch/arm/mach-bcm2835/bcm2835.c index 53e3842c9330..f6fea4933571 100644 --- a/trunk/arch/arm/mach-bcm2835/bcm2835.c +++ b/trunk/arch/arm/mach-bcm2835/bcm2835.c @@ -30,12 +30,12 @@ static struct map_desc io_map __initdata = { .type = MT_DEVICE }; -static void __init bcm2835_map_io(void) +void __init bcm2835_map_io(void) { iotable_init(&io_map, 1); } -static void __init bcm2835_init(void) +void __init bcm2835_init(void) { int ret; diff --git a/trunk/arch/arm/mach-davinci/board-dm646x-evm.c b/trunk/arch/arm/mach-davinci/board-dm646x-evm.c index 9211e8800c79..1dbf85beed1b 100644 --- a/trunk/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/trunk/arch/arm/mach-davinci/board-dm646x-evm.c @@ -194,7 +194,7 @@ static int evm_led_setup(struct i2c_client *client, int gpio, while (ngpio--) { leds->gpio = gpio++; leds++; - } + }; evm_led_dev = platform_device_alloc("leds-gpio", 0); platform_device_add_data(evm_led_dev, &evm_led_data, diff --git a/trunk/arch/arm/mach-davinci/common.c b/trunk/arch/arm/mach-davinci/common.c index a794f6d9d444..64b0f65a8639 100644 --- a/trunk/arch/arm/mach-davinci/common.c +++ b/trunk/arch/arm/mach-davinci/common.c @@ -87,6 +87,8 @@ void __init davinci_common_init(struct davinci_soc_info *soc_info) iotable_init(davinci_soc_info.io_desc, davinci_soc_info.io_desc_num); + init_consistent_dma_size(14 << 20); + /* * Normally devicemaps_init() would flush caches and tlb after * mdesc->map_io(), but we must also do it here because of the CPU 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-davinci/usb.c b/trunk/arch/arm/mach-davinci/usb.c index 34509ffba221..f77b95336e2b 100644 --- a/trunk/arch/arm/mach-davinci/usb.c +++ b/trunk/arch/arm/mach-davinci/usb.c @@ -42,8 +42,14 @@ static struct musb_hdrc_config musb_config = { }; static struct musb_hdrc_platform_data usb_data = { +#if defined(CONFIG_USB_MUSB_OTG) /* OTG requires a Mini-AB connector */ .mode = MUSB_OTG, +#elif defined(CONFIG_USB_MUSB_PERIPHERAL) + .mode = MUSB_PERIPHERAL, +#elif defined(CONFIG_USB_MUSB_HOST) + .mode = MUSB_HOST, +#endif .clock = "usb", .config = &musb_config, }; diff --git a/trunk/arch/arm/mach-exynos/clock-exynos4.c b/trunk/arch/arm/mach-exynos/clock-exynos4.c index fa8a13405c94..6a45c9a9abe9 100644 --- a/trunk/arch/arm/mach-exynos/clock-exynos4.c +++ b/trunk/arch/arm/mach-exynos/clock-exynos4.c @@ -611,6 +611,11 @@ static struct clk exynos4_init_clocks_off[] = { .devname = "exynos4210-spi.2", .enable = exynos4_clk_ip_peril_ctrl, .ctrlbit = (1 << 18), + }, { + .name = "iis", + .devname = "samsung-i2s.0", + .enable = exynos4_clk_ip_peril_ctrl, + .ctrlbit = (1 << 19), }, { .name = "iis", .devname = "samsung-i2s.1", diff --git a/trunk/arch/arm/mach-exynos/clock-exynos5.c b/trunk/arch/arm/mach-exynos/clock-exynos5.c index 4478757b9301..c44ca1ee1b8d 100644 --- a/trunk/arch/arm/mach-exynos/clock-exynos5.c +++ b/trunk/arch/arm/mach-exynos/clock-exynos5.c @@ -292,7 +292,7 @@ static struct clksrc_sources exynos5_clk_src_mpll = { .nr_sources = ARRAY_SIZE(exynos5_clk_src_mpll_list), }; -static struct clksrc_clk exynos5_clk_mout_mpll = { +struct clksrc_clk exynos5_clk_mout_mpll = { .clk = { .name = "mout_mpll", }, @@ -467,12 +467,12 @@ static struct clksrc_clk exynos5_clk_pclk_acp = { /* Core list of CMU_TOP side */ -static struct clk *exynos5_clkset_aclk_top_list[] = { +struct clk *exynos5_clkset_aclk_top_list[] = { [0] = &exynos5_clk_mout_mpll_user.clk, [1] = &exynos5_clk_mout_bpll_user.clk, }; -static struct clksrc_sources exynos5_clkset_aclk = { +struct clksrc_sources exynos5_clkset_aclk = { .sources = exynos5_clkset_aclk_top_list, .nr_sources = ARRAY_SIZE(exynos5_clkset_aclk_top_list), }; @@ -486,12 +486,12 @@ static struct clksrc_clk exynos5_clk_aclk_400 = { .reg_div = { .reg = EXYNOS5_CLKDIV_TOP0, .shift = 24, .size = 3 }, }; -static struct clk *exynos5_clkset_aclk_333_166_list[] = { +struct clk *exynos5_clkset_aclk_333_166_list[] = { [0] = &exynos5_clk_mout_cpll.clk, [1] = &exynos5_clk_mout_mpll_user.clk, }; -static struct clksrc_sources exynos5_clkset_aclk_333_166 = { +struct clksrc_sources exynos5_clkset_aclk_333_166 = { .sources = exynos5_clkset_aclk_333_166_list, .nr_sources = ARRAY_SIZE(exynos5_clkset_aclk_333_166_list), }; @@ -966,7 +966,7 @@ static struct clk exynos5_clk_fimd1 = { .ctrlbit = (1 << 0), }; -static struct clk *exynos5_clkset_group_list[] = { +struct clk *exynos5_clkset_group_list[] = { [0] = &clk_ext_xtal_mux, [1] = NULL, [2] = &exynos5_clk_sclk_hdmi24m, @@ -979,7 +979,7 @@ static struct clk *exynos5_clkset_group_list[] = { [9] = &exynos5_clk_mout_cpll.clk, }; -static struct clksrc_sources exynos5_clkset_group = { +struct clksrc_sources exynos5_clkset_group = { .sources = exynos5_clkset_group_list, .nr_sources = ARRAY_SIZE(exynos5_clkset_group_list), }; @@ -1195,7 +1195,7 @@ static struct clksrc_clk exynos5_clk_sclk_spi2 = { .reg_div = { .reg = EXYNOS5_CLKDIV_PERIC2, .shift = 8, .size = 8 }, }; -static struct clksrc_clk exynos5_clk_sclk_fimd1 = { +struct clksrc_clk exynos5_clk_sclk_fimd1 = { .clk = { .name = "sclk_fimd", .devname = "exynos5-fb.1", @@ -1476,7 +1476,7 @@ static void exynos5_clock_resume(void) #define exynos5_clock_resume NULL #endif -static struct syscore_ops exynos5_clock_syscore_ops = { +struct syscore_ops exynos5_clock_syscore_ops = { .suspend = exynos5_clock_suspend, .resume = exynos5_clock_resume, }; diff --git a/trunk/arch/arm/mach-exynos/common.c b/trunk/arch/arm/mach-exynos/common.c index 0dbee7fef9bd..715b690e5009 100644 --- a/trunk/arch/arm/mach-exynos/common.c +++ b/trunk/arch/arm/mach-exynos/common.c @@ -47,7 +47,6 @@ #include #include #include -#include #include #include "common.h" @@ -63,7 +62,7 @@ static void exynos4_map_io(void); static void exynos5_map_io(void); static void exynos4_init_clocks(int xtal); static void exynos5_init_clocks(int xtal); -static void exynos4_init_uarts(struct s3c2410_uartcfg *cfg, int no); +static void exynos_init_uarts(struct s3c2410_uartcfg *cfg, int no); static int exynos_init(void); static struct cpu_table cpu_ids[] __initdata = { @@ -72,7 +71,7 @@ static struct cpu_table cpu_ids[] __initdata = { .idmask = EXYNOS4_CPU_MASK, .map_io = exynos4_map_io, .init_clocks = exynos4_init_clocks, - .init_uarts = exynos4_init_uarts, + .init_uarts = exynos_init_uarts, .init = exynos_init, .name = name_exynos4210, }, { @@ -80,7 +79,7 @@ static struct cpu_table cpu_ids[] __initdata = { .idmask = EXYNOS4_CPU_MASK, .map_io = exynos4_map_io, .init_clocks = exynos4_init_clocks, - .init_uarts = exynos4_init_uarts, + .init_uarts = exynos_init_uarts, .init = exynos_init, .name = name_exynos4212, }, { @@ -88,7 +87,7 @@ static struct cpu_table cpu_ids[] __initdata = { .idmask = EXYNOS4_CPU_MASK, .map_io = exynos4_map_io, .init_clocks = exynos4_init_clocks, - .init_uarts = exynos4_init_uarts, + .init_uarts = exynos_init_uarts, .init = exynos_init, .name = name_exynos4412, }, { @@ -96,6 +95,7 @@ static struct cpu_table cpu_ids[] __initdata = { .idmask = EXYNOS5_SOC_MASK, .map_io = exynos5_map_io, .init_clocks = exynos5_init_clocks, + .init_uarts = exynos_init_uarts, .init = exynos_init, .name = name_exynos5250, }, @@ -255,11 +255,26 @@ static struct map_desc exynos5_iodesc[] __initdata = { .pfn = __phys_to_pfn(EXYNOS5_PA_PMU), .length = SZ_64K, .type = MT_DEVICE, + }, { + .virtual = (unsigned long)S5P_VA_COMBINER_BASE, + .pfn = __phys_to_pfn(EXYNOS5_PA_COMBINER), + .length = SZ_4K, + .type = MT_DEVICE, }, { .virtual = (unsigned long)S3C_VA_UART, .pfn = __phys_to_pfn(EXYNOS5_PA_UART), .length = SZ_512K, .type = MT_DEVICE, + }, { + .virtual = (unsigned long)S5P_VA_GIC_CPU, + .pfn = __phys_to_pfn(EXYNOS5_PA_GIC_CPU), + .length = SZ_8K, + .type = MT_DEVICE, + }, { + .virtual = (unsigned long)S5P_VA_GIC_DIST, + .pfn = __phys_to_pfn(EXYNOS5_PA_GIC_DIST), + .length = SZ_4K, + .type = MT_DEVICE, }, }; @@ -331,13 +346,26 @@ static void __init exynos4_map_io(void) s5p_fb_setname(0, "exynos4-fb"); s5p_hdmi_setname("exynos4-hdmi"); - - s3c64xx_spi_setname("exynos4210-spi"); } static void __init exynos5_map_io(void) { iotable_init(exynos5_iodesc, ARRAY_SIZE(exynos5_iodesc)); + + s3c_device_i2c0.resource[0].start = EXYNOS5_PA_IIC(0); + s3c_device_i2c0.resource[0].end = EXYNOS5_PA_IIC(0) + SZ_4K - 1; + s3c_device_i2c0.resource[1].start = EXYNOS5_IRQ_IIC; + s3c_device_i2c0.resource[1].end = EXYNOS5_IRQ_IIC; + + s3c_sdhci_setname(0, "exynos4-sdhci"); + s3c_sdhci_setname(1, "exynos4-sdhci"); + s3c_sdhci_setname(2, "exynos4-sdhci"); + s3c_sdhci_setname(3, "exynos4-sdhci"); + + /* The I2C bus controllers are directly compatible with s3c2440 */ + s3c_i2c0_setname("s3c2440-i2c"); + s3c_i2c1_setname("s3c2440-i2c"); + s3c_i2c2_setname("s3c2440-i2c"); } static void __init exynos4_init_clocks(int xtal) @@ -556,8 +584,7 @@ static void __init combiner_init(void __iomem *combiner_base, } #ifdef CONFIG_OF -static int __init combiner_of_init(struct device_node *np, - struct device_node *parent) +int __init combiner_of_init(struct device_node *np, struct device_node *parent) { void __iomem *combiner_base; @@ -695,7 +722,7 @@ static int __init exynos_init(void) /* uart registration process */ -static void __init exynos4_init_uarts(struct s3c2410_uartcfg *cfg, int no) +static void __init exynos_init_uarts(struct s3c2410_uartcfg *cfg, int no) { struct s3c2410_uartcfg *tcfg = cfg; u32 ucnt; @@ -703,7 +730,10 @@ static void __init exynos4_init_uarts(struct s3c2410_uartcfg *cfg, int no) for (ucnt = 0; ucnt < no; ucnt++, tcfg++) tcfg->has_fracval = 1; - s3c24xx_init_uartdevs("exynos4210-uart", exynos4_uart_resources, cfg, no); + if (soc_is_exynos5250()) + s3c24xx_init_uartdevs("exynos4210-uart", exynos5_uart_resources, cfg, no); + else + s3c24xx_init_uartdevs("exynos4210-uart", exynos4_uart_resources, cfg, no); } static void __iomem *exynos_eint_base; @@ -935,7 +965,14 @@ static void exynos_irq_eint0_15(unsigned int irq, struct irq_desc *desc) struct irq_chip *chip = irq_get_chip(irq); chained_irq_enter(chip, desc); + chip->irq_mask(&desc->irq_data); + + if (chip->irq_ack) + chip->irq_ack(&desc->irq_data); + generic_handle_irq(*irq_data); + + chip->irq_unmask(&desc->irq_data); chained_irq_exit(chip, desc); } diff --git a/trunk/arch/arm/mach-exynos/dev-audio.c b/trunk/arch/arm/mach-exynos/dev-audio.c index a1cb42c39590..ae321c7cb15f 100644 --- a/trunk/arch/arm/mach-exynos/dev-audio.c +++ b/trunk/arch/arm/mach-exynos/dev-audio.c @@ -14,9 +14,9 @@ #include #include #include -#include #include +#include #include #include diff --git a/trunk/arch/arm/mach-exynos/dev-ohci.c b/trunk/arch/arm/mach-exynos/dev-ohci.c index 4244d02dafbd..14ed7951a2c6 100644 --- a/trunk/arch/arm/mach-exynos/dev-ohci.c +++ b/trunk/arch/arm/mach-exynos/dev-ohci.c @@ -12,10 +12,10 @@ #include #include -#include #include #include +#include #include #include diff --git a/trunk/arch/arm/mach-exynos/dev-uart.c b/trunk/arch/arm/mach-exynos/dev-uart.c index 7c42f4b7c8be..2e85c022fd16 100644 --- a/trunk/arch/arm/mach-exynos/dev-uart.c +++ b/trunk/arch/arm/mach-exynos/dev-uart.c @@ -52,3 +52,27 @@ struct s3c24xx_uart_resources exynos4_uart_resources[] __initdata = { .nr_resources = ARRAY_SIZE(exynos4_uart3_resource), }, }; + +EXYNOS_UART_RESOURCE(5, 0) +EXYNOS_UART_RESOURCE(5, 1) +EXYNOS_UART_RESOURCE(5, 2) +EXYNOS_UART_RESOURCE(5, 3) + +struct s3c24xx_uart_resources exynos5_uart_resources[] __initdata = { + [0] = { + .resources = exynos5_uart0_resource, + .nr_resources = ARRAY_SIZE(exynos5_uart0_resource), + }, + [1] = { + .resources = exynos5_uart1_resource, + .nr_resources = ARRAY_SIZE(exynos5_uart0_resource), + }, + [2] = { + .resources = exynos5_uart2_resource, + .nr_resources = ARRAY_SIZE(exynos5_uart2_resource), + }, + [3] = { + .resources = exynos5_uart3_resource, + .nr_resources = ARRAY_SIZE(exynos5_uart3_resource), + }, +}; diff --git a/trunk/arch/arm/mach-exynos/dma.c b/trunk/arch/arm/mach-exynos/dma.c index 87e07d6fc615..21d568b3b149 100644 --- a/trunk/arch/arm/mach-exynos/dma.c +++ b/trunk/arch/arm/mach-exynos/dma.c @@ -275,9 +275,6 @@ static int __init exynos_dma_init(void) exynos_pdma1_pdata.nr_valid_peri = ARRAY_SIZE(exynos4210_pdma1_peri); exynos_pdma1_pdata.peri_id = exynos4210_pdma1_peri; - - if (samsung_rev() == EXYNOS4210_REV_0) - exynos_mdma1_device.res.start = EXYNOS4_PA_S_MDMA1; } else if (soc_is_exynos4212() || soc_is_exynos4412()) { exynos_pdma0_pdata.nr_valid_peri = ARRAY_SIZE(exynos4212_pdma0_peri); diff --git a/trunk/arch/arm/mach-exynos/include/mach/irqs.h b/trunk/arch/arm/mach-exynos/include/mach/irqs.h index 6da31152de3a..35bced6f9092 100644 --- a/trunk/arch/arm/mach-exynos/include/mach/irqs.h +++ b/trunk/arch/arm/mach-exynos/include/mach/irqs.h @@ -259,6 +259,11 @@ #define EXYNOS5_IRQ_IEM_IEC IRQ_SPI(48) #define EXYNOS5_IRQ_IEM_APC IRQ_SPI(49) #define EXYNOS5_IRQ_GPIO_C2C IRQ_SPI(50) +#define EXYNOS5_IRQ_UART0 IRQ_SPI(51) +#define EXYNOS5_IRQ_UART1 IRQ_SPI(52) +#define EXYNOS5_IRQ_UART2 IRQ_SPI(53) +#define EXYNOS5_IRQ_UART3 IRQ_SPI(54) +#define EXYNOS5_IRQ_UART4 IRQ_SPI(55) #define EXYNOS5_IRQ_IIC IRQ_SPI(56) #define EXYNOS5_IRQ_IIC1 IRQ_SPI(57) #define EXYNOS5_IRQ_IIC2 IRQ_SPI(58) diff --git a/trunk/arch/arm/mach-exynos/include/mach/map.h b/trunk/arch/arm/mach-exynos/include/mach/map.h index 872840b2ff45..8480849affb9 100644 --- a/trunk/arch/arm/mach-exynos/include/mach/map.h +++ b/trunk/arch/arm/mach-exynos/include/mach/map.h @@ -90,7 +90,6 @@ #define EXYNOS4_PA_MDMA0 0x10810000 #define EXYNOS4_PA_MDMA1 0x12850000 -#define EXYNOS4_PA_S_MDMA1 0x12840000 #define EXYNOS4_PA_PDMA0 0x12680000 #define EXYNOS4_PA_PDMA1 0x12690000 #define EXYNOS5_PA_MDMA0 0x10800000 @@ -280,6 +279,7 @@ #define EXYNOS5_PA_UART1 0x12C10000 #define EXYNOS5_PA_UART2 0x12C20000 #define EXYNOS5_PA_UART3 0x12C30000 +#define EXYNOS5_SZ_UART SZ_256 #define S3C_VA_UARTx(x) (S3C_VA_UART + ((x) * S3C_UART_OFFSET)) diff --git a/trunk/arch/arm/mach-exynos/include/mach/regs-pmu.h b/trunk/arch/arm/mach-exynos/include/mach/regs-pmu.h index 70b2795f5283..d4e392b811a3 100644 --- a/trunk/arch/arm/mach-exynos/include/mach/regs-pmu.h +++ b/trunk/arch/arm/mach-exynos/include/mach/regs-pmu.h @@ -230,6 +230,8 @@ /* For EXYNOS5 */ +#define EXYNOS5_USB_CFG S5P_PMUREG(0x0230) + #define EXYNOS5_AUTO_WDTRESET_DISABLE S5P_PMUREG(0x0408) #define EXYNOS5_MASK_WDTRESET_REQUEST S5P_PMUREG(0x040C) diff --git a/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c b/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c index eadf4b59e7d2..e58d786faf78 100644 --- a/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c +++ b/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c @@ -99,7 +99,6 @@ static char const *exynos4_dt_compat[] __initdata = { DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") /* Maintainer: Thomas Abraham */ - .smp = smp_ops(exynos_smp_ops), .init_irq = exynos4_init_irq, .map_io = exynos4_dt_map_io, .handle_irq = gic_handle_irq, diff --git a/trunk/arch/arm/mach-exynos/mach-nuri.c b/trunk/arch/arm/mach-exynos/mach-nuri.c index 69359a0c8a1c..c05d7aa84031 100644 --- a/trunk/arch/arm/mach-exynos/mach-nuri.c +++ b/trunk/arch/arm/mach-exynos/mach-nuri.c @@ -25,10 +25,7 @@ #include #include #include -#include -#include #include -#include #include #include