From 0c765acc2794d32c49b22b5c060d82bcaad7a75f Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Sun, 4 Mar 2012 20:55:46 +0000 Subject: [PATCH] --- yaml --- r: 297669 b: refs/heads/master c: d405e4b07a15b9d24d504a459295cf00a618c10c h: refs/heads/master i: 297667: f3f0d06e097acb3e1a96d9dfd5057a6cf1d96003 v: v3 --- [refs] | 2 +- .../Documentation/DocBook/device-drivers.tmpl | 12 +- .../feature-removal-schedule.txt | 14 + trunk/Documentation/input/event-codes.txt | 72 +- trunk/Documentation/sysctl/kernel.txt | 2 - trunk/MAINTAINERS | 50 +- trunk/Makefile | 2 +- trunk/arch/arm/Kconfig | 35 +- trunk/arch/arm/Kconfig.debug | 158 +- trunk/arch/arm/boot/dts/at91sam9g25ek.dts | 37 - trunk/arch/arm/boot/dts/at91sam9x5.dtsi | 172 - trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi | 14 - trunk/arch/arm/boot/dts/tegra-paz00.dts | 6 +- trunk/arch/arm/configs/at91cap9_defconfig | 108 + trunk/arch/arm/include/asm/assembler.h | 2 - .../include/asm/hardware/entry-macro-iomd.S | 8 + trunk/arch/arm/include/asm/io.h | 71 +- trunk/arch/arm/include/asm/system.h | 1 - trunk/arch/arm/include/asm/tlb.h | 10 +- trunk/arch/arm/kernel/debug.S | 1 - trunk/arch/arm/kernel/entry-armv.S | 6 +- trunk/arch/arm/kernel/entry-common.S | 8 +- trunk/arch/arm/kernel/perf_event_v7.c | 28 - trunk/arch/arm/kernel/process.c | 27 +- trunk/arch/arm/kernel/ptrace.c | 8 +- trunk/arch/arm/kernel/signal.c | 5 +- trunk/arch/arm/mach-at91/Kconfig | 23 +- trunk/arch/arm/mach-at91/Makefile | 5 +- trunk/arch/arm/mach-at91/Makefile.boot | 14 +- trunk/arch/arm/mach-at91/at91cap9.c | 396 +++ trunk/arch/arm/mach-at91/at91cap9_devices.c | 1273 +++++++ trunk/arch/arm/mach-at91/at91rm9200.c | 16 +- trunk/arch/arm/mach-at91/at91rm9200_devices.c | 14 +- trunk/arch/arm/mach-at91/at91rm9200_time.c | 37 +- trunk/arch/arm/mach-at91/at91sam9260.c | 17 +- .../arch/arm/mach-at91/at91sam9260_devices.c | 38 +- trunk/arch/arm/mach-at91/at91sam9261.c | 4 - .../arch/arm/mach-at91/at91sam9261_devices.c | 31 +- trunk/arch/arm/mach-at91/at91sam9263.c | 5 - .../arch/arm/mach-at91/at91sam9263_devices.c | 72 +- trunk/arch/arm/mach-at91/at91sam9_alt_reset.S | 12 +- trunk/arch/arm/mach-at91/at91sam9g45.c | 4 - .../arch/arm/mach-at91/at91sam9g45_devices.c | 144 +- trunk/arch/arm/mach-at91/at91sam9g45_reset.S | 12 +- trunk/arch/arm/mach-at91/at91sam9rl.c | 4 - trunk/arch/arm/mach-at91/at91sam9rl_devices.c | 39 +- trunk/arch/arm/mach-at91/at91sam9x5.c | 370 -- trunk/arch/arm/mach-at91/at91x40.c | 12 - trunk/arch/arm/mach-at91/at91x40_time.c | 28 +- trunk/arch/arm/mach-at91/board-cap9adk.c | 396 +++ trunk/arch/arm/mach-at91/board-cpu9krea.c | 5 +- trunk/arch/arm/mach-at91/board-cpuat91.c | 1 - trunk/arch/arm/mach-at91/board-dt.c | 7 +- trunk/arch/arm/mach-at91/board-eco920.c | 5 +- trunk/arch/arm/mach-at91/board-flexibity.c | 12 +- trunk/arch/arm/mach-at91/board-kb9202.c | 1 - trunk/arch/arm/mach-at91/board-picotux200.c | 1 - trunk/arch/arm/mach-at91/board-rm9200dk.c | 1 - trunk/arch/arm/mach-at91/board-rm9200ek.c | 1 - trunk/arch/arm/mach-at91/board-sam9m10g45ek.c | 80 +- trunk/arch/arm/mach-at91/board-yl-9200.c | 3 +- trunk/arch/arm/mach-at91/clock.c | 176 +- trunk/arch/arm/mach-at91/cpuidle.c | 11 +- trunk/arch/arm/mach-at91/generic.h | 11 +- .../arm/mach-at91/include/mach/at91_matrix.h | 23 - .../arm/mach-at91/include/mach/at91_pmc.h | 118 +- .../arm/mach-at91/include/mach/at91_ramc.h | 32 - .../arch/arm/mach-at91/include/mach/at91_st.h | 32 +- .../arm/mach-at91/include/mach/at91cap9.h | 122 + .../mach-at91/include/mach/at91cap9_matrix.h | 137 + .../arm/mach-at91/include/mach/at91rm9200.h | 10 +- .../mach-at91/include/mach/at91rm9200_mc.h | 58 +- .../include/mach/at91rm9200_sdramc.h | 63 - .../arm/mach-at91/include/mach/at91sam9260.h | 14 +- .../include/mach/at91sam9260_matrix.h | 36 +- .../arm/mach-at91/include/mach/at91sam9261.h | 10 +- .../include/mach/at91sam9261_matrix.h | 18 +- .../arm/mach-at91/include/mach/at91sam9263.h | 12 +- .../include/mach/at91sam9263_matrix.h | 74 +- .../mach-at91/include/mach/at91sam9_ddrsdr.h | 16 + .../mach-at91/include/mach/at91sam9_sdramc.h | 6 + .../arm/mach-at91/include/mach/at91sam9g45.h | 12 +- .../include/mach/at91sam9g45_matrix.h | 84 +- .../arm/mach-at91/include/mach/at91sam9rl.h | 7 +- .../include/mach/at91sam9rl_matrix.h | 42 +- .../arm/mach-at91/include/mach/at91sam9x5.h | 79 - .../include/mach/at91sam9x5_matrix.h | 53 - .../arch/arm/mach-at91/include/mach/at91x40.h | 18 +- trunk/arch/arm/mach-at91/include/mach/board.h | 6 +- trunk/arch/arm/mach-at91/include/mach/cpu.h | 21 + .../arm/mach-at91/include/mach/entry-macro.S | 6 + .../arm/mach-at91/include/mach/hardware.h | 9 +- trunk/arch/arm/mach-at91/include/mach/io.h | 49 + .../arch/arm/mach-at91/include/mach/system.h | 50 + .../arm/mach-at91/include/mach/uncompress.h | 1 - trunk/arch/arm/mach-at91/pm.c | 52 +- trunk/arch/arm/mach-at91/pm.h | 96 +- trunk/arch/arm/mach-at91/pm_slowclock.S | 275 +- trunk/arch/arm/mach-at91/setup.c | 26 +- trunk/arch/arm/mach-at91/soc.h | 5 + trunk/arch/arm/mach-bcmring/arch.c | 2 +- trunk/arch/arm/mach-bcmring/core.c | 23 +- trunk/arch/arm/mach-bcmring/dma.c | 812 +++++ .../arch/arm/mach-bcmring/include/mach/dma.h | 196 ++ .../mach-bcmring/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-bcmring/include/mach/io.h | 33 + .../arm/mach-bcmring/include/mach/system.h | 28 + trunk/arch/arm/mach-clps711x/common.c | 16 - .../mach-clps711x/include/mach/entry-macro.S | 6 + .../arch/arm/mach-clps711x/include/mach/io.h | 36 + .../arm/mach-clps711x/include/mach/system.h | 35 + .../mach-clps711x/include/mach/uncompress.h | 1 + trunk/arch/arm/mach-cns3xxx/core.c | 8 +- trunk/arch/arm/mach-cns3xxx/devices.c | 2 +- .../mach-cns3xxx/include/mach/entry-macro.S | 15 + trunk/arch/arm/mach-cns3xxx/include/mach/io.h | 17 + .../arm/mach-cns3xxx/include/mach/system.h | 25 + trunk/arch/arm/mach-davinci/board-da850-evm.c | 2 +- trunk/arch/arm/mach-davinci/board-dm365-evm.c | 2 +- .../arch/arm/mach-davinci/board-dm644x-evm.c | 2 +- .../arch/arm/mach-davinci/board-dm646x-evm.c | 2 +- .../arch/arm/mach-davinci/board-neuros-osd2.c | 2 +- .../arm/mach-davinci/board-omapl138-hawk.c | 2 +- trunk/arch/arm/mach-davinci/board-sffsdr.c | 2 +- trunk/arch/arm/mach-davinci/da850.c | 32 + .../mach-davinci/include/mach/entry-macro.S | 7 + .../arm/mach-davinci/include/mach/hardware.h | 6 + trunk/arch/arm/mach-davinci/include/mach/io.h | 24 + .../arm/mach-davinci/include/mach/system.h | 21 + .../mach-davinci/include/mach/uncompress.h | 2 - trunk/arch/arm/mach-dove/addr-map.c | 1 - .../arm/mach-dove/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-dove/include/mach/io.h | 1 + .../arch/arm/mach-dove/include/mach/system.h | 17 + trunk/arch/arm/mach-ebsa110/core.c | 40 - .../mach-ebsa110/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-ebsa110/include/mach/io.h | 9 + .../arm/mach-ebsa110/include/mach/system.h | 37 + trunk/arch/arm/mach-ep93xx/core.c | 46 +- .../mach-ep93xx/include/mach/entry-macro.S | 17 + trunk/arch/arm/mach-ep93xx/include/mach/io.h | 22 + .../arm/mach-ep93xx/include/mach/system.h | 7 + trunk/arch/arm/mach-exynos/common.c | 12 + trunk/arch/arm/mach-exynos/dma.c | 38 +- .../mach-exynos/include/mach/entry-macro.S | 16 + trunk/arch/arm/mach-exynos/include/mach/io.h | 26 + .../arm/mach-exynos/include/mach/system.h | 20 + .../include/mach/entry-macro.S | 6 + .../arm/mach-footbridge/include/mach/io.h | 13 + .../arm/mach-footbridge/include/mach/system.h | 13 + trunk/arch/arm/mach-gemini/Makefile | 2 +- trunk/arch/arm/mach-gemini/idle.c | 29 - .../mach-gemini/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-gemini/include/mach/io.h | 18 + .../arm/mach-gemini/include/mach/system.h | 14 + trunk/arch/arm/mach-gemini/irq.c | 4 +- trunk/arch/arm/mach-h720x/common.c | 18 - .../arm/mach-h720x/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-h720x/include/mach/io.h | 22 + .../arch/arm/mach-h720x/include/mach/system.h | 27 + .../mach-highbank/include/mach/entry-macro.S | 5 + .../arch/arm/mach-highbank/include/mach/io.h | 7 + .../arm/mach-highbank/include/mach/system.h | 24 + trunk/arch/arm/mach-imx/mm-imx3.c | 62 +- trunk/arch/arm/mach-imx/mm-imx5.c | 28 +- trunk/arch/arm/mach-imx/pm-imx27.c | 3 +- trunk/arch/arm/mach-integrator/core.c | 70 +- trunk/arch/arm/mach-integrator/impd1.c | 9 +- .../include/mach/entry-macro.S | 6 + .../arm/mach-integrator/include/mach/io.h | 1 + .../arm/mach-integrator/include/mach/system.h | 33 + .../arch/arm/mach-integrator/integrator_cp.c | 49 +- .../mach-iop13xx/include/mach/entry-macro.S | 3 + trunk/arch/arm/mach-iop13xx/include/mach/io.h | 13 + .../arm/mach-iop13xx/include/mach/iop13xx.h | 1 - .../arm/mach-iop13xx/include/mach/system.h | 13 + trunk/arch/arm/mach-iop13xx/io.c | 20 +- trunk/arch/arm/mach-iop13xx/iq81340mc.c | 1 - trunk/arch/arm/mach-iop13xx/iq81340sc.c | 1 - trunk/arch/arm/mach-iop13xx/pci.h | 6 - .../mach-iop32x/include/mach/entry-macro.S | 3 + trunk/arch/arm/mach-iop32x/include/mach/io.h | 1 + .../arm/mach-iop32x/include/mach/system.h | 13 + .../mach-iop33x/include/mach/entry-macro.S | 3 + trunk/arch/arm/mach-iop33x/include/mach/io.h | 1 + .../arm/mach-iop33x/include/mach/system.h | 13 + .../mach-ixp2000/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-ixp2000/include/mach/io.h | 1 + .../arm/mach-ixp2000/include/mach/system.h | 14 + trunk/arch/arm/mach-ixp23xx/core.c | 3 - .../mach-ixp23xx/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-ixp23xx/include/mach/io.h | 1 + .../arm/mach-ixp23xx/include/mach/system.h | 16 + trunk/arch/arm/mach-ixp4xx/avila-setup.c | 2 - trunk/arch/arm/mach-ixp4xx/common.c | 39 - trunk/arch/arm/mach-ixp4xx/coyote-setup.c | 2 - trunk/arch/arm/mach-ixp4xx/dsmg600-setup.c | 1 - trunk/arch/arm/mach-ixp4xx/fsg-setup.c | 1 - .../arch/arm/mach-ixp4xx/gateway7001-setup.c | 1 - trunk/arch/arm/mach-ixp4xx/goramo_mlr.c | 1 - trunk/arch/arm/mach-ixp4xx/gtwx5715-setup.c | 1 - .../mach-ixp4xx/include/mach/entry-macro.S | 6 + .../arm/mach-ixp4xx/include/mach/hardware.h | 2 + trunk/arch/arm/mach-ixp4xx/include/mach/io.h | 24 +- .../arm/mach-ixp4xx/include/mach/platform.h | 1 - .../arm/mach-ixp4xx/include/mach/system.h | 19 + trunk/arch/arm/mach-ixp4xx/ixdp425-setup.c | 4 - trunk/arch/arm/mach-ixp4xx/nas100d-setup.c | 1 - trunk/arch/arm/mach-ixp4xx/nslu2-setup.c | 1 - trunk/arch/arm/mach-ixp4xx/omixp-setup.c | 3 - trunk/arch/arm/mach-ixp4xx/vulcan-setup.c | 1 - trunk/arch/arm/mach-ixp4xx/wg302v2-setup.c | 1 - .../mach-kirkwood/include/mach/entry-macro.S | 6 + .../arch/arm/mach-kirkwood/include/mach/io.h | 2 + .../arm/mach-kirkwood/include/mach/system.h | 17 + .../mach-ks8695/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-ks8695/include/mach/io.h | 19 + .../arm/mach-ks8695/include/mach/system.h | 27 + .../mach-lpc32xx/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-lpc32xx/include/mach/io.h | 27 + .../arm/mach-lpc32xx/include/mach/system.h | 27 + trunk/arch/arm/mach-lpc32xx/phy3250.c | 32 +- .../arch/arm/mach-mmp/include/mach/addr-map.h | 6 + .../arm/mach-mmp/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-mmp/include/mach/io.h | 21 + trunk/arch/arm/mach-mmp/include/mach/system.h | 16 + trunk/arch/arm/mach-msm/board-halibut.c | 6 - trunk/arch/arm/mach-msm/board-trout.c | 6 - trunk/arch/arm/mach-msm/idle.S | 36 + trunk/arch/arm/mach-msm/idle.c | 49 - .../arm/mach-msm/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-msm/include/mach/io.h | 36 + .../mach-msm/include/mach/msm_iomap-7x00.h | 12 +- .../mach-msm/include/mach/msm_iomap-7x30.h | 4 - .../mach-msm/include/mach/msm_iomap-8960.h | 4 - .../mach-msm/include/mach/msm_iomap-8x50.h | 4 - .../mach-msm/include/mach/msm_iomap-8x60.h | 4 - .../arm/mach-msm/include/mach/msm_iomap.h | 6 + trunk/arch/arm/mach-msm/include/mach/system.h | 1 + trunk/arch/arm/mach-msm/io.c | 8 +- .../mach-mv78xx0/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-mv78xx0/include/mach/io.h | 2 + .../arm/mach-mv78xx0/include/mach/system.h | 17 + trunk/arch/arm/mach-mxs/devices.c | 8 +- trunk/arch/arm/mach-mxs/devices/amba-duart.c | 2 +- .../arm/mach-mxs/include/mach/entry-macro.S | 6 + .../arch/arm/mach-mxs/include/mach/hardware.h | 6 + trunk/arch/arm/mach-mxs/include/mach/io.h | 22 + trunk/arch/arm/mach-mxs/include/mach/system.h | 25 + trunk/arch/arm/mach-mxs/pm.c | 3 +- trunk/arch/arm/mach-netx/fb.c | 13 +- trunk/arch/arm/mach-netx/generic.c | 2 +- .../arm/mach-netx/include/mach/entry-macro.S | 26 + .../arm/mach-netx/include/mach/hardware.h | 2 +- trunk/arch/arm/mach-netx/include/mach/io.h | 28 + .../arm/mach-netx/include/mach/netx-regs.h | 16 +- .../arch/arm/mach-netx/include/mach/system.h | 28 + trunk/arch/arm/mach-nomadik/board-nhk8815.c | 17 +- trunk/arch/arm/mach-nomadik/cpu-8815.c | 9 +- .../mach-nomadik/include/mach/entry-macro.S | 13 + trunk/arch/arm/mach-nomadik/include/mach/io.h | 22 + .../arm/mach-nomadik/include/mach/system.h | 32 + .../arm/mach-omap1/ams-delta-fiq-handler.S | 4 +- trunk/arch/arm/mach-omap1/ams-delta-fiq.c | 1 - trunk/arch/arm/mach-omap1/board-ams-delta.c | 10 +- trunk/arch/arm/mach-omap1/board-fsample.c | 7 +- trunk/arch/arm/mach-omap1/board-h2.c | 6 +- trunk/arch/arm/mach-omap1/board-h3.c | 8 +- trunk/arch/arm/mach-omap1/board-htcherald.c | 5 +- trunk/arch/arm/mach-omap1/board-innovator.c | 7 +- trunk/arch/arm/mach-omap1/board-nokia770.c | 6 +- trunk/arch/arm/mach-omap1/board-osk.c | 7 +- trunk/arch/arm/mach-omap1/board-palmte.c | 4 +- trunk/arch/arm/mach-omap1/board-palmtt.c | 9 +- trunk/arch/arm/mach-omap1/board-palmz71.c | 9 +- trunk/arch/arm/mach-omap1/board-perseus2.c | 7 +- trunk/arch/arm/mach-omap1/board-sx1.c | 6 +- trunk/arch/arm/mach-omap1/board-voiceblue.c | 6 +- trunk/arch/arm/mach-omap1/clock.c | 5 +- trunk/arch/arm/mach-omap1/clock_data.c | 5 +- trunk/arch/arm/mach-omap1/common.h | 1 - trunk/arch/arm/mach-omap1/devices.c | 8 +- trunk/arch/arm/mach-omap1/dma.c | 2 +- trunk/arch/arm/mach-omap1/flash.c | 4 +- trunk/arch/arm/mach-omap1/fpga.c | 5 +- trunk/arch/arm/mach-omap1/gpio16xx.c | 7 - trunk/arch/arm/mach-omap1/id.c | 3 - .../arm/mach-omap1/include/mach/entry-macro.S | 9 +- .../arm/mach-omap1/include/mach/hardware.h | 36 - trunk/arch/arm/mach-omap1/include/mach/io.h | 5 + .../arch/arm/mach-omap1/include/mach/memory.h | 3 +- .../arch/arm/mach-omap1/include/mach/system.h | 5 + trunk/arch/arm/mach-omap1/io.c | 3 - trunk/arch/arm/mach-omap1/iomap.h | 36 - trunk/arch/arm/mach-omap1/irq.c | 4 +- trunk/arch/arm/mach-omap1/lcd_dma.c | 3 +- trunk/arch/arm/mach-omap1/mcbsp.c | 5 +- trunk/arch/arm/mach-omap1/pm.c | 23 +- trunk/arch/arm/mach-omap1/reset.c | 3 +- trunk/arch/arm/mach-omap1/sleep.S | 4 +- trunk/arch/arm/mach-omap1/sram.S | 5 +- trunk/arch/arm/mach-omap1/time.c | 3 +- trunk/arch/arm/mach-omap1/timer32k.c | 7 +- trunk/arch/arm/mach-omap2/Kconfig | 11 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 18 +- trunk/arch/arm/mach-omap2/board-cm-t35.c | 1 + trunk/arch/arm/mach-omap2/board-n8x0.c | 1 + trunk/arch/arm/mach-omap2/board-omap4panda.c | 18 +- .../arm/mach-omap2/board-rx51-peripherals.c | 3 + .../arch/arm/mach-omap2/board-zoom-display.c | 1 + .../arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 1 - trunk/arch/arm/mach-omap2/clkt_dpll.c | 1 - trunk/arch/arm/mach-omap2/clock2420_data.c | 3 - trunk/arch/arm/mach-omap2/clock2430.c | 2 - trunk/arch/arm/mach-omap2/clock2430_data.c | 2 - trunk/arch/arm/mach-omap2/clock2xxx.c | 1 - trunk/arch/arm/mach-omap2/clock3xxx.c | 1 - trunk/arch/arm/mach-omap2/clock3xxx_data.c | 4 +- trunk/arch/arm/mach-omap2/clock44xx_data.c | 4 - trunk/arch/arm/mach-omap2/cm2xxx_3xxx.c | 2 +- trunk/arch/arm/mach-omap2/cm44xx.c | 2 +- trunk/arch/arm/mach-omap2/cminst44xx.c | 2 +- .../arm/mach-omap2/common-board-devices.c | 1 + trunk/arch/arm/mach-omap2/common.c | 4 +- trunk/arch/arm/mach-omap2/common.h | 7 - trunk/arch/arm/mach-omap2/control.c | 3 +- trunk/arch/arm/mach-omap2/control.h | 1 + trunk/arch/arm/mach-omap2/devices.c | 3 +- trunk/arch/arm/mach-omap2/display.c | 5 +- trunk/arch/arm/mach-omap2/emu.c | 30 +- trunk/arch/arm/mach-omap2/gpmc-nand.c | 1 - trunk/arch/arm/mach-omap2/gpmc-onenand.c | 1 - trunk/arch/arm/mach-omap2/gpmc.c | 6 - trunk/arch/arm/mach-omap2/hsmmc.c | 16 +- .../arm/mach-omap2/include/mach/entry-macro.S | 18 + trunk/arch/arm/mach-omap2/include/mach/io.h | 5 + .../arch/arm/mach-omap2/include/mach/system.h | 5 + trunk/arch/arm/mach-omap2/io.c | 61 +- trunk/arch/arm/mach-omap2/irq.c | 5 +- trunk/arch/arm/mach-omap2/omap-smp.c | 3 +- .../omap_hwmod_2xxx_3xxx_ipblock_data.c | 21 + .../mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 22 - .../arm/mach-omap2/omap_hwmod_3xxx_data.c | 54 +- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 2 - trunk/arch/arm/mach-omap2/opp2420_data.c | 2 - trunk/arch/arm/mach-omap2/opp2430_data.c | 2 - trunk/arch/arm/mach-omap2/pm24xx.c | 31 +- trunk/arch/arm/mach-omap2/pm34xx.c | 6 +- trunk/arch/arm/mach-omap2/pm44xx.c | 8 +- trunk/arch/arm/mach-omap2/prcm_mpu44xx.c | 2 +- trunk/arch/arm/mach-omap2/prm2xxx_3xxx.c | 1 - trunk/arch/arm/mach-omap2/prm44xx.c | 3 +- trunk/arch/arm/mach-omap2/prm_common.c | 1 + trunk/arch/arm/mach-omap2/prminst44xx.c | 2 +- trunk/arch/arm/mach-omap2/sdram-nokia.c | 1 + trunk/arch/arm/mach-omap2/sdrc2xxx.c | 5 +- trunk/arch/arm/mach-omap2/sleep24xx.S | 1 + trunk/arch/arm/mach-omap2/sleep34xx.S | 5 +- trunk/arch/arm/mach-omap2/smartreflex.c | 2 +- trunk/arch/arm/mach-omap2/sram242x.S | 4 +- trunk/arch/arm/mach-omap2/sram243x.S | 4 +- trunk/arch/arm/mach-omap2/sram34xx.S | 5 +- trunk/arch/arm/mach-omap2/timer.c | 2 +- trunk/arch/arm/mach-orion5x/common.h | 9 - .../mach-orion5x/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-orion5x/include/mach/io.h | 33 + .../arm/mach-orion5x/include/mach/system.h | 19 + trunk/arch/arm/mach-orion5x/pci.c | 1 - trunk/arch/arm/mach-orion5x/tsx09-common.c | 1 - .../mach-picoxcell/include/mach/entry-macro.S | 16 + .../arch/arm/mach-picoxcell/include/mach/io.h | 22 + .../arm/mach-picoxcell/include/mach/system.h | 26 + .../mach-pnx4008/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-pnx4008/include/mach/io.h | 21 + .../arm/mach-pnx4008/include/mach/system.h | 29 + .../mach-prima2/include/mach/entry-macro.S | 7 + trunk/arch/arm/mach-prima2/include/mach/io.h | 16 + .../arm/mach-prima2/include/mach/system.h | 17 + trunk/arch/arm/mach-pxa/Kconfig | 1 - trunk/arch/arm/mach-pxa/clock-pxa2xx.c | 1 - trunk/arch/arm/mach-pxa/corgi_pm.c | 1 - trunk/arch/arm/mach-pxa/cpufreq-pxa3xx.c | 1 - .../arm/mach-pxa/include/mach/entry-macro.S | 15 + .../arch/arm/mach-pxa/include/mach/hardware.h | 6 + trunk/arch/arm/mach-pxa/include/mach/io.h | 20 + trunk/arch/arm/mach-pxa/include/mach/system.h | 15 + trunk/arch/arm/mach-pxa/mfp-pxa2xx.c | 1 - trunk/arch/arm/mach-pxa/pxa2xx.c | 1 - trunk/arch/arm/mach-pxa/pxa300.c | 1 - trunk/arch/arm/mach-pxa/pxa320.c | 1 - trunk/arch/arm/mach-pxa/sharpsl_pm.c | 1 - trunk/arch/arm/mach-realview/core.h | 20 +- .../mach-realview/include/mach/entry-macro.S | 16 + .../arm/mach-realview/include/mach/hardware.h | 2 +- .../arch/arm/mach-realview/include/mach/io.h | 28 + .../mach-realview/include/mach/irqs-pb1176.h | 2 +- .../arm/mach-realview/include/mach/system.h | 33 + trunk/arch/arm/mach-realview/realview_eb.c | 78 +- .../arch/arm/mach-realview/realview_pb1176.c | 78 +- .../arch/arm/mach-realview/realview_pb11mp.c | 78 +- trunk/arch/arm/mach-realview/realview_pba8.c | 78 +- trunk/arch/arm/mach-realview/realview_pbx.c | 78 +- trunk/arch/arm/mach-rpc/Makefile | 2 +- trunk/arch/arm/mach-rpc/fiq.S | 16 - .../arm/mach-rpc/include/mach/entry-macro.S | 4 + .../arch/arm/mach-rpc/include/mach/hardware.h | 6 + trunk/arch/arm/mach-rpc/include/mach/io.h | 5 + trunk/arch/arm/mach-rpc/include/mach/system.h | 13 + trunk/arch/arm/mach-rpc/irq.c | 6 - .../mach-s3c2410/include/mach/entry-macro.S | 8 + trunk/arch/arm/mach-s3c2410/include/mach/io.h | 5 + .../arm/mach-s3c2410/include/mach/system.h | 54 + trunk/arch/arm/mach-s3c2412/s3c2412.c | 4 +- trunk/arch/arm/mach-s3c2416/s3c2416.c | 3 + .../mach-s3c64xx/include/mach/entry-macro.S | 19 + trunk/arch/arm/mach-s3c64xx/include/mach/io.h | 18 + .../arm/mach-s3c64xx/include/mach/system.h | 19 + trunk/arch/arm/mach-s5p64x0/common.c | 15 +- trunk/arch/arm/mach-s5p64x0/dma.c | 22 +- .../mach-s5p64x0/include/mach/entry-macro.S | 17 + trunk/arch/arm/mach-s5p64x0/include/mach/io.h | 25 + .../arm/mach-s5p64x0/include/mach/system.h | 21 + trunk/arch/arm/mach-s5pc100/common.c | 12 + trunk/arch/arm/mach-s5pc100/dma.c | 38 +- .../mach-s5pc100/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-s5pc100/include/mach/io.h | 18 + .../arm/mach-s5pc100/include/mach/system.h | 19 + trunk/arch/arm/mach-s5pv210/common.c | 12 + trunk/arch/arm/mach-s5pv210/dma.c | 38 +- .../mach-s5pv210/include/mach/entry-macro.S | 17 + trunk/arch/arm/mach-s5pv210/include/mach/io.h | 26 + .../arm/mach-s5pv210/include/mach/system.h | 21 + .../mach-sa1100/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-sa1100/include/mach/io.h | 20 + .../arm/mach-sa1100/include/mach/system.h | 9 + trunk/arch/arm/mach-shark/core.c | 6 - .../arm/mach-shark/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-shark/include/mach/io.h | 2 + .../arch/arm/mach-shark/include/mach/system.h | 13 + trunk/arch/arm/mach-shmobile/board-ag5evm.c | 2 +- trunk/arch/arm/mach-shmobile/board-bonito.c | 2 +- trunk/arch/arm/mach-shmobile/board-kota2.c | 2 +- .../mach-shmobile/include/mach/entry-macro.S | 22 + .../arch/arm/mach-shmobile/include/mach/io.h | 9 + .../arm/mach-shmobile/include/mach/system.h | 5 + trunk/arch/arm/mach-shmobile/intc-r8a7779.c | 4 +- trunk/arch/arm/mach-shmobile/intc-sh73a0.c | 4 +- trunk/arch/arm/mach-shmobile/setup-sh7372.c | 2 - trunk/arch/arm/mach-shmobile/smp-r8a7779.c | 4 +- trunk/arch/arm/mach-shmobile/smp-sh73a0.c | 20 +- trunk/arch/arm/mach-spear3xx/clock.c | 1 - .../mach-spear3xx/include/mach/entry-macro.S | 18 + .../arch/arm/mach-spear3xx/include/mach/io.h | 19 + .../arm/mach-spear3xx/include/mach/system.h | 19 + trunk/arch/arm/mach-spear3xx/spear300.c | 14 +- trunk/arch/arm/mach-spear3xx/spear3xx.c | 27 +- trunk/arch/arm/mach-spear6xx/clock.c | 1 - .../mach-spear6xx/include/mach/entry-macro.S | 18 + .../arch/arm/mach-spear6xx/include/mach/io.h | 20 + .../arm/mach-spear6xx/include/mach/system.h | 19 + trunk/arch/arm/mach-spear6xx/spear6xx.c | 10 +- trunk/arch/arm/mach-tegra/Kconfig | 18 +- trunk/arch/arm/mach-tegra/Makefile | 6 +- trunk/arch/arm/mach-tegra/board-dt-tegra30.c | 24 +- .../arm/mach-tegra/board-harmony-pinmux.c | 6 +- trunk/arch/arm/mach-tegra/board-paz00.c | 8 +- trunk/arch/arm/mach-tegra/board-paz00.h | 2 +- trunk/arch/arm/mach-tegra/clock.c | 22 + trunk/arch/arm/mach-tegra/clock.h | 15 + trunk/arch/arm/mach-tegra/common.c | 2 + trunk/arch/arm/mach-tegra/cpuidle.c | 107 + trunk/arch/arm/mach-tegra/flowctrl.h | 37 + trunk/arch/arm/mach-tegra/include/mach/clk.h | 10 + .../arm/mach-tegra/include/mach/debug-macro.S | 1 + .../arm/mach-tegra/include/mach/entry-macro.S | 20 + trunk/arch/arm/mach-tegra/include/mach/io.h | 49 + .../arch/arm/mach-tegra/include/mach/iomap.h | 45 +- trunk/arch/arm/mach-tegra/include/mach/irqs.h | 7 +- .../arch/arm/mach-tegra/include/mach/system.h | 28 + trunk/arch/arm/mach-tegra/io.c | 1 - trunk/arch/arm/mach-tegra/irq.c | 20 +- trunk/arch/arm/mach-tegra/pcie.c | 16 +- trunk/arch/arm/mach-tegra/sleep.S | 91 + trunk/arch/arm/mach-tegra/tegra2_clocks.c | 30 +- trunk/arch/arm/mach-tegra/tegra30_clocks.c | 3099 +++++++++++++++++ trunk/arch/arm/mach-tegra/usb_phy.c | 11 - trunk/arch/arm/mach-u300/core.c | 85 +- .../arm/mach-u300/include/mach/entry-macro.S | 16 + trunk/arch/arm/mach-u300/include/mach/io.h | 20 + .../arch/arm/mach-u300/include/mach/system.h | 14 + .../arm/mach-u300/include/mach/u300-regs.h | 6 + trunk/arch/arm/mach-ux500/devices-common.c | 13 +- .../arm/mach-ux500/include/mach/entry-macro.S | 18 + .../arm/mach-ux500/include/mach/hardware.h | 2 +- trunk/arch/arm/mach-ux500/include/mach/io.h | 22 + .../arch/arm/mach-ux500/include/mach/system.h | 20 + trunk/arch/arm/mach-versatile/core.c | 70 +- trunk/arch/arm/mach-versatile/core.h | 20 +- .../mach-versatile/include/mach/entry-macro.S | 15 + .../arch/arm/mach-versatile/include/mach/io.h | 28 + .../arm/mach-versatile/include/mach/system.h | 33 + trunk/arch/arm/mach-versatile/versatile_pb.c | 18 +- trunk/arch/arm/mach-vexpress/core.h | 17 + trunk/arch/arm/mach-vexpress/ct-ca9x4.c | 8 +- .../arm/mach-vexpress/include/mach/ct-ca9x4.h | 2 +- .../mach-vexpress/include/mach/entry-macro.S | 5 + .../arch/arm/mach-vexpress/include/mach/io.h | 26 + .../arm/mach-vexpress/include/mach/system.h | 33 + trunk/arch/arm/mach-vexpress/v2m.c | 20 +- .../mach-vt8500/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-vt8500/include/mach/io.h | 26 + .../arm/mach-vt8500/include/mach/system.h | 5 + trunk/arch/arm/mach-w90x900/dev.c | 1 - .../mach-w90x900/include/mach/entry-macro.S | 8 + trunk/arch/arm/mach-w90x900/include/mach/io.h | 30 + .../arm/mach-w90x900/include/mach/system.h | 19 + .../arm/mach-zynq/include/mach/entry-macro.S | 27 + trunk/arch/arm/mach-zynq/include/mach/io.h | 33 + .../arch/arm/mach-zynq/include/mach/system.h | 23 + trunk/arch/arm/mm/ioremap.c | 20 +- trunk/arch/arm/mm/nommu.c | 8 +- .../arm/plat-mxc/include/mach/entry-macro.S | 16 + .../arch/arm/plat-mxc/include/mach/hardware.h | 7 +- trunk/arch/arm/plat-mxc/include/mach/io.h | 39 + trunk/arch/arm/plat-mxc/include/mach/system.h | 25 + trunk/arch/arm/plat-omap/counter_32k.c | 1 - trunk/arch/arm/plat-omap/dma.c | 2 - trunk/arch/arm/plat-omap/dmtimer.c | 2 - .../iomap.h => plat-omap/include/plat/io.h} | 86 +- .../arch/arm/plat-omap/include/plat/keypad.h | 2 - trunk/arch/arm/plat-omap/include/plat/mcspi.h | 3 + trunk/arch/arm/plat-omap/include/plat/sdrc.h | 1 + .../arch/arm/plat-omap/include/plat/system.h | 15 + trunk/arch/arm/plat-omap/include/plat/tc.h | 17 + trunk/arch/arm/plat-omap/include/plat/usb.h | 40 - trunk/arch/arm/plat-omap/mux.c | 5 +- trunk/arch/arm/plat-omap/sram.c | 9 +- trunk/arch/arm/plat-omap/usb.c | 4 - trunk/arch/arm/plat-s3c24xx/cpu.c | 27 - .../arm/plat-spear/include/plat/hardware.h | 6 + trunk/arch/arm/plat-spear/include/plat/io.h | 22 + .../arch/arm/plat-spear/include/plat/system.h | 26 + trunk/arch/avr32/Kconfig | 1 - trunk/arch/avr32/mach-at32ap/at32ap700x.c | 2 + .../arch/avr32/mach-at32ap/include/mach/cpu.h | 3 + trunk/arch/microblaze/kernel/setup.c | 21 +- trunk/arch/mips/Kconfig | 1 - trunk/arch/mips/lib/iomap-pci.c | 4 +- trunk/arch/sh/Kconfig | 1 - trunk/arch/sh/drivers/pci/pci.c | 4 +- trunk/arch/sparc/Kconfig | 1 - trunk/arch/sparc/lib/divdi3.S | 16 +- trunk/arch/x86/include/asm/cmpxchg.h | 6 +- trunk/arch/x86/include/asm/kvm_emulate.h | 16 - trunk/arch/x86/kernel/dumpstack.c | 3 +- trunk/arch/x86/kernel/dumpstack_64.c | 8 +- trunk/arch/x86/kernel/reboot.c | 36 +- trunk/arch/x86/kvm/emulate.c | 51 - trunk/arch/x86/kvm/x86.c | 45 - trunk/arch/x86/mm/fault.c | 4 +- trunk/arch/xtensa/include/asm/string.h | 3 + trunk/drivers/acpi/processor_driver.c | 7 + trunk/drivers/amba/bus.c | 105 +- trunk/drivers/block/rbd.c | 7 +- trunk/drivers/char/hw_random/omap-rng.c | 2 - trunk/drivers/dma/at_hdmac.c | 4 +- trunk/drivers/dma/at_hdmac_regs.h | 17 +- trunk/drivers/dma/dmatest.c | 2 +- trunk/drivers/dma/imx-sdma.c | 6 +- trunk/drivers/dma/shdma.c | 3 +- trunk/drivers/firewire/ohci.c | 6 +- trunk/drivers/gpio/gpio-lpc32xx.c | 2 +- trunk/drivers/gpio/gpio-ml-ioh.c | 1 - trunk/drivers/gpio/gpio-omap.c | 7 + trunk/drivers/gpio/gpio-pch.c | 1 - trunk/drivers/gpio/gpio-samsung.c | 23 +- trunk/drivers/gpu/drm/nouveau/nouveau_bios.h | 5 +- .../drivers/gpu/drm/nouveau/nouveau_display.c | 10 - trunk/drivers/gpu/drm/nouveau/nouveau_drv.c | 2 +- trunk/drivers/gpu/drm/nouveau/nouveau_gem.c | 23 +- trunk/drivers/gpu/drm/nouveau/nouveau_mxm.c | 9 - trunk/drivers/gpu/drm/nouveau/nv50_pm.c | 4 +- trunk/drivers/gpu/drm/radeon/atombios_crtc.c | 4 +- trunk/drivers/gpu/drm/radeon/atombios_dp.c | 18 +- trunk/drivers/gpu/drm/radeon/r600_blit_kms.c | 35 +- .../gpu/drm/radeon/radeon_atpx_handler.c | 3 +- trunk/drivers/gpu/drm/radeon/radeon_device.c | 4 - trunk/drivers/gpu/drm/radeon/radeon_i2c.c | 1 - trunk/drivers/hid/hid-hyperv.c | 1 - trunk/drivers/hid/hid-wacom.c | 7 +- trunk/drivers/hid/hid-wiimote-core.c | 4 +- trunk/drivers/hid/usbhid/hiddev.c | 4 +- trunk/drivers/hwmon/w83627ehf.c | 23 +- trunk/drivers/i2c/busses/i2c-omap.c | 2 +- trunk/drivers/infiniband/core/ucma.c | 5 +- trunk/drivers/infiniband/core/uverbs_cmd.c | 1 - trunk/drivers/infiniband/core/verbs.c | 2 +- trunk/drivers/infiniband/hw/ipath/ipath_fs.c | 2 +- trunk/drivers/infiniband/hw/mlx4/mad.c | 7 +- trunk/drivers/infiniband/hw/nes/nes.c | 2 +- trunk/drivers/infiniband/hw/nes/nes.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_cm.c | 10 +- trunk/drivers/infiniband/hw/nes/nes_cm.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_context.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_hw.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_hw.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_mgt.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_mgt.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_nic.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_user.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_utils.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_verbs.c | 6 +- trunk/drivers/infiniband/hw/nes/nes_verbs.h | 2 +- trunk/drivers/infiniband/hw/qib/qib_iba6120.c | 2 +- trunk/drivers/infiniband/hw/qib/qib_pcie.c | 2 +- trunk/drivers/infiniband/ulp/srpt/ib_srpt.c | 17 +- trunk/drivers/infiniband/ulp/srpt/ib_srpt.h | 1 + trunk/drivers/input/evdev.c | 2 +- trunk/drivers/input/keyboard/twl4030_keypad.c | 4 +- trunk/drivers/input/serio/i8042-x86ia64io.h | 7 - trunk/drivers/input/serio/serio_raw.c | 15 +- trunk/drivers/iommu/amd_iommu.c | 3 - trunk/drivers/iommu/msm_iommu.c | 7 +- trunk/drivers/leds/leds-lm3530.c | 4 +- trunk/drivers/md/dm-raid.c | 12 +- trunk/drivers/md/md.c | 5 +- trunk/drivers/media/video/davinci/vpbe_osd.c | 1 + trunk/drivers/media/video/davinci/vpbe_venc.c | 1 + trunk/drivers/mfd/twl6040-core.c | 128 +- trunk/drivers/misc/lkdtm.c | 6 +- trunk/drivers/mmc/host/at91_mci.c | 1 + trunk/drivers/mmc/host/mmci.c | 2 +- trunk/drivers/mtd/mtdcore.c | 2 +- trunk/drivers/mtd/nand/atmel_nand.c | 45 +- trunk/drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 18 +- trunk/drivers/mtd/nand/nand_base.c | 2 +- trunk/drivers/of/platform.c | 6 +- trunk/drivers/pcmcia/at91_cf.c | 5 +- trunk/drivers/pcmcia/ds.c | 4 +- trunk/drivers/rtc/rtc-at91sam9.c | 98 +- trunk/drivers/rtc/rtc-sa1100.c | 1 - trunk/drivers/spi/Kconfig | 2 +- trunk/drivers/spi/spi-topcliff-pch.c | 6 +- .../drivers/staging/media/go7007/go7007-usb.c | 1 - trunk/drivers/target/iscsi/iscsi_target.c | 39 +- .../target/iscsi/iscsi_target_configfs.c | 1 - .../drivers/target/iscsi/iscsi_target_core.h | 6 +- .../drivers/target/iscsi/iscsi_target_erl1.c | 4 +- .../drivers/target/iscsi/iscsi_target_login.c | 39 +- .../drivers/target/iscsi/iscsi_target_util.c | 11 - trunk/drivers/target/target_core_alua.c | 8 +- trunk/drivers/target/target_core_cdb.c | 51 +- trunk/drivers/target/target_core_configfs.c | 12 +- trunk/drivers/target/target_core_device.c | 28 +- .../target/target_core_fabric_configfs.c | 4 +- trunk/drivers/target/target_core_iblock.c | 11 +- trunk/drivers/target/target_core_internal.h | 2 +- trunk/drivers/target/target_core_pr.c | 43 +- trunk/drivers/target/target_core_pscsi.c | 4 +- trunk/drivers/target/target_core_tpg.c | 3 +- trunk/drivers/target/target_core_transport.c | 124 +- trunk/drivers/target/tcm_fc/tfc_cmd.c | 9 +- trunk/drivers/tty/serial/atmel_serial.c | 2 - trunk/drivers/tty/vt/vt_ioctl.c | 1 + trunk/drivers/usb/gadget/Kconfig | 4 +- trunk/drivers/usb/gadget/at91_udc.c | 9 +- trunk/drivers/usb/gadget/atmel_usba_udc.c | 6 +- trunk/drivers/usb/host/ohci-pxa27x.c | 1 - trunk/drivers/video/atmel_lcdfb.c | 2 +- trunk/drivers/video/fsl-diu-fb.c | 4 +- trunk/drivers/video/intelfb/intelfbdrv.c | 1 + trunk/drivers/video/omap2/dss/dispc.c | 7 +- trunk/drivers/video/omap2/dss/dsi.c | 2 +- trunk/drivers/video/omap2/dss/dss.c | 5 +- trunk/drivers/video/omap2/dss/hdmi.c | 5 +- trunk/drivers/video/omap2/dss/rfbi.c | 2 +- trunk/drivers/video/omap2/dss/ti_hdmi.h | 4 - .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 68 +- trunk/drivers/video/omap2/dss/venc.c | 2 +- trunk/drivers/video/omap2/vrfb.c | 1 + trunk/drivers/watchdog/at91rm9200_wdt.c | 8 +- trunk/drivers/watchdog/sa1100_wdt.c | 1 - trunk/fs/ceph/caps.c | 4 +- trunk/fs/ceph/dir.c | 4 +- trunk/fs/ceph/mds_client.c | 10 +- trunk/fs/ceph/mds_client.h | 7 +- trunk/fs/ceph/xattr.c | 4 +- trunk/fs/cifs/Kconfig | 4 +- trunk/fs/cifs/connect.c | 14 +- trunk/fs/cifs/sess.c | 11 +- trunk/fs/exec.c | 33 +- trunk/fs/jffs2/erase.c | 2 +- trunk/fs/logfs/dev_mtd.c | 6 + trunk/fs/nilfs2/ioctl.c | 2 - trunk/fs/proc/base.c | 126 +- trunk/include/asm-generic/pci_iomap.h | 10 - trunk/include/linux/amba/bus.h | 36 - trunk/include/linux/binfmts.h | 3 +- trunk/include/linux/dma-mapping.h | 2 +- trunk/include/linux/gpio_keys.h | 2 - trunk/include/linux/lp8727.h | 0 trunk/include/linux/mfd/twl6040.h | 2 - trunk/include/linux/mpi.h | 2 + trunk/include/linux/mtd/mtd.h | 6 +- trunk/include/linux/perf_event.h | 1 - trunk/include/linux/pm_qos.h | 14 +- trunk/include/linux/sched.h | 6 - trunk/include/linux/sh_dma.h | 1 - trunk/include/sound/core.h | 2 - trunk/include/target/target_core_backend.h | 4 +- trunk/include/target/target_core_base.h | 1 - trunk/include/target/target_core_fabric.h | 2 +- trunk/include/video/omapdss.h | 5 - trunk/kernel/events/core.c | 104 +- trunk/kernel/exit.c | 16 - trunk/kernel/fork.c | 20 - trunk/kernel/kprobes.c | 6 +- trunk/kernel/power/power.h | 24 +- trunk/kernel/power/process.c | 7 +- trunk/kernel/power/user.c | 6 +- trunk/kernel/sched/core.c | 19 +- trunk/kernel/sched/fair.c | 34 +- trunk/kernel/sched/rt.c | 5 - trunk/kernel/watchdog.c | 2 +- trunk/lib/Kconfig | 7 - trunk/lib/Makefile | 2 - trunk/lib/bug.c | 2 +- trunk/lib/clz_tab.c | 18 - trunk/lib/digsig.c | 52 +- trunk/lib/mpi/longlong.h | 44 +- trunk/lib/mpi/mpi-bit.c | 19 + trunk/lib/mpi/mpi-div.c | 5 - trunk/lib/mpi/mpi-pow.c | 2 +- trunk/lib/mpi/mpicoder.c | 91 +- trunk/lib/mpi/mpih-div.c | 4 - trunk/lib/mpi/mpiutil.c | 5 +- trunk/lib/pci_iomap.c | 2 +- trunk/mm/compaction.c | 24 +- trunk/mm/filemap.c | 8 +- trunk/mm/filemap_xip.c | 7 +- trunk/mm/huge_memory.c | 4 +- trunk/mm/kmemleak.c | 3 +- trunk/mm/memcontrol.c | 3 +- trunk/mm/migrate.c | 2 +- trunk/mm/process_vm_access.c | 23 +- trunk/mm/swap.c | 2 +- trunk/net/ceph/ceph_common.c | 2 + trunk/net/ceph/mon_client.c | 13 +- trunk/scripts/checkpatch.pl | 6 - trunk/sound/arm/pxa2xx-ac97-lib.c | 1 - trunk/sound/arm/pxa2xx-ac97.c | 1 - trunk/sound/isa/sb/emu8000_patch.c | 1 + trunk/sound/pci/hda/hda_codec.c | 2 +- trunk/sound/pci/hda/hda_jack.c | 24 +- trunk/sound/pci/hda/patch_ca0132.c | 33 +- trunk/sound/pci/hda/patch_cirrus.c | 6 +- trunk/sound/pci/hda/patch_realtek.c | 64 +- trunk/sound/pci/hda/patch_via.c | 284 +- trunk/sound/pci/oxygen/oxygen_mixer.c | 25 +- trunk/sound/soc/codecs/cs42l73.c | 2 +- trunk/sound/soc/codecs/wm5100.c | 12 +- trunk/sound/soc/codecs/wm8962.c | 8 +- trunk/sound/soc/codecs/wm8994.c | 16 +- trunk/sound/soc/codecs/wm8996.c | 2 +- trunk/sound/soc/codecs/wm_hubs.c | 18 +- trunk/sound/soc/pxa/pxa2xx-ac97.c | 1 - trunk/sound/soc/samsung/neo1973_wm8753.c | 65 +- trunk/sound/soc/soc-core.c | 11 - trunk/sound/usb/quirks-table.h | 8 - trunk/tools/perf/Makefile | 7 +- trunk/tools/perf/builtin-probe.c | 2 + trunk/tools/perf/builtin-top.c | 13 +- trunk/tools/perf/util/header.c | 2 +- trunk/tools/perf/util/probe-event.c | 2 + trunk/tools/perf/util/symbol.c | 1 + trunk/tools/perf/util/trace-event-parse.c | 3 +- trunk/tools/perf/util/ui/browsers/hists.c | 2 + trunk/tools/perf/util/ui/helpline.c | 1 + trunk/tools/perf/util/util.h | 1 + trunk/virt/kvm/kvm_main.c | 2 +- 780 files changed, 13491 insertions(+), 5617 deletions(-) delete mode 100644 trunk/arch/arm/boot/dts/at91sam9g25ek.dts delete mode 100644 trunk/arch/arm/boot/dts/at91sam9x5.dtsi delete mode 100644 trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi create mode 100644 trunk/arch/arm/configs/at91cap9_defconfig create mode 100644 trunk/arch/arm/mach-at91/at91cap9.c create mode 100644 trunk/arch/arm/mach-at91/at91cap9_devices.c delete mode 100644 trunk/arch/arm/mach-at91/at91sam9x5.c create mode 100644 trunk/arch/arm/mach-at91/board-cap9adk.c delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91_matrix.h delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91_ramc.h create mode 100644 trunk/arch/arm/mach-at91/include/mach/at91cap9.h create mode 100644 trunk/arch/arm/mach-at91/include/mach/at91cap9_matrix.h delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91rm9200_sdramc.h delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91sam9x5.h delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91sam9x5_matrix.h create mode 100644 trunk/arch/arm/mach-at91/include/mach/io.h create mode 100644 trunk/arch/arm/mach-at91/include/mach/system.h create mode 100644 trunk/arch/arm/mach-bcmring/include/mach/io.h create mode 100644 trunk/arch/arm/mach-bcmring/include/mach/system.h create mode 100644 trunk/arch/arm/mach-clps711x/include/mach/io.h create mode 100644 trunk/arch/arm/mach-clps711x/include/mach/system.h create mode 100644 trunk/arch/arm/mach-cns3xxx/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-cns3xxx/include/mach/io.h create mode 100644 trunk/arch/arm/mach-cns3xxx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-davinci/include/mach/io.h create mode 100644 trunk/arch/arm/mach-davinci/include/mach/system.h create mode 100644 trunk/arch/arm/mach-dove/include/mach/system.h create mode 100644 trunk/arch/arm/mach-ebsa110/include/mach/system.h create mode 100644 trunk/arch/arm/mach-ep93xx/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-ep93xx/include/mach/io.h create mode 100644 trunk/arch/arm/mach-ep93xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-exynos/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-exynos/include/mach/io.h create mode 100644 trunk/arch/arm/mach-exynos/include/mach/system.h create mode 100644 trunk/arch/arm/mach-footbridge/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-gemini/idle.c create mode 100644 trunk/arch/arm/mach-gemini/include/mach/io.h create mode 100644 trunk/arch/arm/mach-h720x/include/mach/io.h create mode 100644 trunk/arch/arm/mach-h720x/include/mach/system.h create mode 100644 trunk/arch/arm/mach-highbank/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-highbank/include/mach/io.h create mode 100644 trunk/arch/arm/mach-highbank/include/mach/system.h create mode 100644 trunk/arch/arm/mach-integrator/include/mach/system.h create mode 100644 trunk/arch/arm/mach-iop13xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-iop13xx/pci.h create mode 100644 trunk/arch/arm/mach-iop32x/include/mach/system.h create mode 100644 trunk/arch/arm/mach-iop33x/include/mach/system.h create mode 100644 trunk/arch/arm/mach-ixp2000/include/mach/system.h create mode 100644 trunk/arch/arm/mach-ixp23xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-ixp4xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-kirkwood/include/mach/system.h create mode 100644 trunk/arch/arm/mach-ks8695/include/mach/io.h create mode 100644 trunk/arch/arm/mach-ks8695/include/mach/system.h create mode 100644 trunk/arch/arm/mach-lpc32xx/include/mach/io.h create mode 100644 trunk/arch/arm/mach-lpc32xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-mmp/include/mach/io.h create mode 100644 trunk/arch/arm/mach-mmp/include/mach/system.h create mode 100644 trunk/arch/arm/mach-msm/idle.S delete mode 100644 trunk/arch/arm/mach-msm/idle.c create mode 100644 trunk/arch/arm/mach-msm/include/mach/io.h create mode 100644 trunk/arch/arm/mach-mv78xx0/include/mach/system.h create mode 100644 trunk/arch/arm/mach-mxs/include/mach/io.h create mode 100644 trunk/arch/arm/mach-mxs/include/mach/system.h create mode 100644 trunk/arch/arm/mach-netx/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-netx/include/mach/io.h create mode 100644 trunk/arch/arm/mach-netx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-nomadik/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-nomadik/include/mach/io.h create mode 100644 trunk/arch/arm/mach-nomadik/include/mach/system.h create mode 100644 trunk/arch/arm/mach-omap1/include/mach/io.h create mode 100644 trunk/arch/arm/mach-omap1/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-omap1/iomap.h create mode 100644 trunk/arch/arm/mach-omap2/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-omap2/include/mach/io.h create mode 100644 trunk/arch/arm/mach-omap2/include/mach/system.h create mode 100644 trunk/arch/arm/mach-orion5x/include/mach/io.h create mode 100644 trunk/arch/arm/mach-orion5x/include/mach/system.h create mode 100644 trunk/arch/arm/mach-picoxcell/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-picoxcell/include/mach/io.h create mode 100644 trunk/arch/arm/mach-picoxcell/include/mach/system.h create mode 100644 trunk/arch/arm/mach-pnx4008/include/mach/io.h create mode 100644 trunk/arch/arm/mach-pnx4008/include/mach/system.h create mode 100644 trunk/arch/arm/mach-prima2/include/mach/io.h create mode 100644 trunk/arch/arm/mach-prima2/include/mach/system.h create mode 100644 trunk/arch/arm/mach-pxa/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-pxa/include/mach/io.h create mode 100644 trunk/arch/arm/mach-pxa/include/mach/system.h create mode 100644 trunk/arch/arm/mach-realview/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-realview/include/mach/io.h create mode 100644 trunk/arch/arm/mach-realview/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-rpc/fiq.S create mode 100644 trunk/arch/arm/mach-rpc/include/mach/system.h create mode 100644 trunk/arch/arm/mach-s3c2410/include/mach/system.h create mode 100644 trunk/arch/arm/mach-s3c64xx/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-s3c64xx/include/mach/io.h create mode 100644 trunk/arch/arm/mach-s3c64xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-s5p64x0/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-s5p64x0/include/mach/io.h create mode 100644 trunk/arch/arm/mach-s5p64x0/include/mach/system.h create mode 100644 trunk/arch/arm/mach-s5pc100/include/mach/io.h create mode 100644 trunk/arch/arm/mach-s5pc100/include/mach/system.h create mode 100644 trunk/arch/arm/mach-s5pv210/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-s5pv210/include/mach/io.h create mode 100644 trunk/arch/arm/mach-s5pv210/include/mach/system.h create mode 100644 trunk/arch/arm/mach-sa1100/include/mach/io.h create mode 100644 trunk/arch/arm/mach-sa1100/include/mach/system.h create mode 100644 trunk/arch/arm/mach-shark/include/mach/system.h create mode 100644 trunk/arch/arm/mach-shmobile/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-shmobile/include/mach/io.h create mode 100644 trunk/arch/arm/mach-spear3xx/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-spear3xx/include/mach/io.h create mode 100644 trunk/arch/arm/mach-spear3xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-spear6xx/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-spear6xx/include/mach/io.h create mode 100644 trunk/arch/arm/mach-spear6xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-tegra/cpuidle.c create mode 100644 trunk/arch/arm/mach-tegra/flowctrl.h create mode 100644 trunk/arch/arm/mach-tegra/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-tegra/include/mach/system.h create mode 100644 trunk/arch/arm/mach-tegra/sleep.S create mode 100644 trunk/arch/arm/mach-tegra/tegra30_clocks.c create mode 100644 trunk/arch/arm/mach-u300/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-u300/include/mach/io.h create mode 100644 trunk/arch/arm/mach-u300/include/mach/system.h create mode 100644 trunk/arch/arm/mach-ux500/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-ux500/include/mach/io.h create mode 100644 trunk/arch/arm/mach-ux500/include/mach/system.h create mode 100644 trunk/arch/arm/mach-versatile/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-versatile/include/mach/io.h create mode 100644 trunk/arch/arm/mach-versatile/include/mach/system.h create mode 100644 trunk/arch/arm/mach-vexpress/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-vexpress/include/mach/io.h create mode 100644 trunk/arch/arm/mach-vexpress/include/mach/system.h create mode 100644 trunk/arch/arm/mach-vt8500/include/mach/io.h create mode 100644 trunk/arch/arm/mach-w90x900/include/mach/io.h create mode 100644 trunk/arch/arm/mach-w90x900/include/mach/system.h create mode 100644 trunk/arch/arm/mach-zynq/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-zynq/include/mach/io.h create mode 100644 trunk/arch/arm/mach-zynq/include/mach/system.h create mode 100644 trunk/arch/arm/plat-mxc/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/plat-mxc/include/mach/io.h create mode 100644 trunk/arch/arm/plat-mxc/include/mach/system.h rename trunk/arch/arm/{mach-omap2/iomap.h => plat-omap/include/plat/io.h} (76%) create mode 100644 trunk/arch/arm/plat-omap/include/plat/system.h create mode 100644 trunk/arch/arm/plat-spear/include/plat/io.h create mode 100644 trunk/arch/arm/plat-spear/include/plat/system.h mode change 100644 => 100755 trunk/include/linux/lp8727.h delete mode 100644 trunk/lib/clz_tab.c diff --git a/[refs] b/[refs] index 7f172ba5b35b..679bb8cea08e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 83b5938ce77bbbd9a04e5270ef2b3f17921bf0d4 +refs/heads/master: d405e4b07a15b9d24d504a459295cf00a618c10c diff --git a/trunk/Documentation/DocBook/device-drivers.tmpl b/trunk/Documentation/DocBook/device-drivers.tmpl index 9c27e5125dd2..2f7fd4360848 100644 --- a/trunk/Documentation/DocBook/device-drivers.tmpl +++ b/trunk/Documentation/DocBook/device-drivers.tmpl @@ -102,12 +102,9 @@ X!Iinclude/linux/kobject.h !Iinclude/linux/device.h Device Drivers Base -!Idrivers/base/init.c !Edrivers/base/driver.c !Edrivers/base/core.c -!Edrivers/base/syscore.c !Edrivers/base/class.c -!Idrivers/base/node.c !Edrivers/base/firmware_class.c !Edrivers/base/transport_class.c -!Edrivers/base/dd.c +!Edrivers/base/sys.c !Iinclude/linux/platform_device.h !Edrivers/base/platform.c !Edrivers/base/bus.c - - Device Drivers DMA Management -!Edrivers/base/dma-buf.c -!Edrivers/base/dma-coherent.c -!Edrivers/base/dma-mapping.c Device Drivers Power Management !Edrivers/base/power/main.c @@ -227,7 +219,7 @@ X!Isound/sound_firmware.c 16x50 UART Driver !Edrivers/tty/serial/serial_core.c -!Edrivers/tty/serial/8250/8250.c +!Edrivers/tty/serial/8250.c diff --git a/trunk/Documentation/feature-removal-schedule.txt b/trunk/Documentation/feature-removal-schedule.txt index 1bea46a54b1c..a0ffac029a0d 100644 --- a/trunk/Documentation/feature-removal-schedule.txt +++ b/trunk/Documentation/feature-removal-schedule.txt @@ -510,3 +510,17 @@ Why: The pci_scan_bus_parented() interface creates a new root bus. The convert to using pci_scan_root_bus() so they can supply a list of bus resources when the bus is created. Who: Bjorn Helgaas + +---------------------------- + +What: The CAP9 SoC family will be removed +When: 3.4 +Files: arch/arm/mach-at91/at91cap9.c + arch/arm/mach-at91/at91cap9_devices.c + arch/arm/mach-at91/include/mach/at91cap9.h + arch/arm/mach-at91/include/mach/at91cap9_matrix.h + arch/arm/mach-at91/include/mach/at91cap9_ddrsdr.h + arch/arm/mach-at91/board-cap9adk.c +Why: The code is not actively maintained and platforms are now hard to find. +Who: Nicolas Ferre + Jean-Christophe PLAGNIOL-VILLARD diff --git a/trunk/Documentation/input/event-codes.txt b/trunk/Documentation/input/event-codes.txt index 53305bd08182..23fcb05175be 100644 --- a/trunk/Documentation/input/event-codes.txt +++ b/trunk/Documentation/input/event-codes.txt @@ -17,11 +17,11 @@ reports supported by a device are also provided by sysfs in class/input/event*/device/capabilities/, and the properties of a device are provided in class/input/event*/device/properties. -Event types: -=========== -Event types are groupings of codes under a logical input construct. Each -type has a set of applicable codes to be used in generating events. See the -Codes section for details on valid codes for each type. +Types: +========== +Types are groupings of codes under a logical input construct. Each type has a +set of applicable codes to be used in generating events. See the Codes section +for details on valid codes for each type. * EV_SYN: - Used as markers to separate events. Events may be separated in time or in @@ -63,9 +63,9 @@ Codes section for details on valid codes for each type. * EV_FF_STATUS: - Used to receive force feedback device status. -Event codes: -=========== -Event codes define the precise type of event. +Codes: +========== +Codes define the precise type of event. EV_SYN: ---------- @@ -220,56 +220,6 @@ EV_PWR: EV_PWR events are a special type of event used specifically for power mangement. Its usage is not well defined. To be addressed later. -Device properties: -================= -Normally, userspace sets up an input device based on the data it emits, -i.e., the event types. In the case of two devices emitting the same event -types, additional information can be provided in the form of device -properties. - -INPUT_PROP_DIRECT + INPUT_PROP_POINTER: --------------------------------------- -The INPUT_PROP_DIRECT property indicates that device coordinates should be -directly mapped to screen coordinates (not taking into account trivial -transformations, such as scaling, flipping and rotating). Non-direct input -devices require non-trivial transformation, such as absolute to relative -transformation for touchpads. Typical direct input devices: touchscreens, -drawing tablets; non-direct devices: touchpads, mice. - -The INPUT_PROP_POINTER property indicates that the device is not transposed -on the screen and thus requires use of an on-screen pointer to trace user's -movements. Typical pointer devices: touchpads, tablets, mice; non-pointer -device: touchscreen. - -If neither INPUT_PROP_DIRECT or INPUT_PROP_POINTER are set, the property is -considered undefined and the device type should be deduced in the -traditional way, using emitted event types. - -INPUT_PROP_BUTTONPAD: --------------------- -For touchpads where the button is placed beneath the surface, such that -pressing down on the pad causes a button click, this property should be -set. Common in clickpad notebooks and macbooks from 2009 and onwards. - -Originally, the buttonpad property was coded into the bcm5974 driver -version field under the name integrated button. For backwards -compatibility, both methods need to be checked in userspace. - -INPUT_PROP_SEMI_MT: ------------------- -Some touchpads, most common between 2008 and 2011, can detect the presence -of multiple contacts without resolving the individual positions; only the -number of contacts and a rectangular shape is known. For such -touchpads, the semi-mt property should be set. - -Depending on the device, the rectangle may enclose all touches, like a -bounding box, or just some of them, for instance the two most recent -touches. The diversity makes the rectangle of limited use, but some -gestures can normally be extracted from it. - -If INPUT_PROP_SEMI_MT is not set, the device is assumed to be a true MT -device. - Guidelines: ========== The guidelines below ensure proper single-touch and multi-finger functionality. @@ -290,8 +240,6 @@ used to report when a touch is active on the screen. BTN_{MOUSE,LEFT,MIDDLE,RIGHT} must not be reported as the result of touch contact. BTN_TOOL_ events should be reported where possible. -For new hardware, INPUT_PROP_DIRECT should be set. - Trackpads: ---------- Legacy trackpads that only provide relative position information must report @@ -302,8 +250,6 @@ location of the touch. BTN_TOUCH should be used to report when a touch is active on the trackpad. Where multi-finger support is available, BTN_TOOL_ should be used to report the number of touches active on the trackpad. -For new hardware, INPUT_PROP_POINTER should be set. - Tablets: ---------- BTN_TOOL_ events must be reported when a stylus or other tool is active on @@ -314,5 +260,3 @@ button may be used for buttons on the tablet except BTN_{MOUSE,LEFT}. BTN_{0,1,2,etc} are good generic codes for unlabeled buttons. Do not use meaningful buttons, like BTN_FORWARD, unless the button is labeled for that purpose on the device. - -For new hardware, both INPUT_PROP_DIRECT and INPUT_PROP_POINTER should be set. diff --git a/trunk/Documentation/sysctl/kernel.txt b/trunk/Documentation/sysctl/kernel.txt index 6d78841fd416..8c20fbd8b42d 100644 --- a/trunk/Documentation/sysctl/kernel.txt +++ b/trunk/Documentation/sysctl/kernel.txt @@ -601,8 +601,6 @@ can be ORed together: instead of using the one provided by the hardware. 512 - A kernel warning has occurred. 1024 - A module from drivers/staging was loaded. -2048 - The system is working around a severe firmware bug. -4096 - An out-of-tree module has been loaded. ============================================================== diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 55ca0bea142c..a1fce9a3ab20 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -159,7 +159,7 @@ S: Maintained F: drivers/net/ethernet/realtek/r8169.c 8250/16?50 (AND CLONE UARTS) SERIAL DRIVER -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-serial@vger.kernel.org W: http://serial.sourceforge.net S: Maintained @@ -789,6 +789,12 @@ F: arch/arm/mach-mx*/ F: arch/arm/mach-imx/ F: arch/arm/plat-mxc/ +ARM/FREESCALE IMX51 +M: Amit Kucheria +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-mx5/ + ARM/FREESCALE IMX6 M: Shawn Guo L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) @@ -1777,9 +1783,9 @@ X: net/wireless/wext* CHAR and MISC DRIVERS M: Arnd Bergmann -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git -S: Supported +S: Maintained F: drivers/char/* F: drivers/misc/* @@ -2281,7 +2287,7 @@ F: drivers/acpi/dock.c DOCUMENTATION M: Randy Dunlap L: linux-doc@vger.kernel.org -T: quilt http://xenotime.net/kernel-doc-patches/current/ +T: quilt http://userweb.kernel.org/~rdunlap/kernel-doc-patches/current/ S: Maintained F: Documentation/ @@ -2314,7 +2320,7 @@ F: lib/lru_cache.c F: Documentation/blockdev/drbd/ DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git S: Supported F: Documentation/kobject.txt @@ -3986,11 +3992,11 @@ M: Rusty Russell L: lguest@lists.ozlabs.org W: http://lguest.ozlabs.org/ S: Odd Fixes -F: arch/x86/include/asm/lguest*.h +F: Documentation/virtual/lguest/ F: arch/x86/lguest/ F: drivers/lguest/ F: include/linux/lguest*.h -F: tools/lguest/ +F: arch/x86/include/asm/lguest*.h LINUX FOR IBM pSERIES (RS/6000) M: Paul Mackerras @@ -4130,7 +4136,7 @@ L: linux-ntfs-dev@lists.sourceforge.net W: http://www.linux-ntfs.org/content/view/19/37/ S: Maintained F: Documentation/ldm.txt -F: block/partitions/ldm.* +F: fs/partitions/ldm.* LogFS M: Joern Engel @@ -5627,7 +5633,7 @@ W: http://www.ibm.com/developerworks/linux/linux390/ S: Supported F: arch/s390/ F: drivers/s390/ -F: block/partitions/ibm.c +F: fs/partitions/ibm.c F: Documentation/s390/ F: Documentation/DocBook/s390* @@ -6270,15 +6276,15 @@ S: Maintained F: arch/alpha/kernel/srm_env.c STABLE BRANCH -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: stable@vger.kernel.org -S: Supported +S: Maintained STAGING SUBSYSTEM -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git L: devel@driverdev.osuosl.org -S: Supported +S: Maintained F: drivers/staging/ STAGING - AGERE HERMES II and II.5 WIRELESS DRIVERS @@ -6390,6 +6396,11 @@ M: Omar Ramirez Luna S: Odd Fixes F: drivers/staging/tidspbridge/ +STAGING - TRIDENT TVMASTER TMxxxx USB VIDEO CAPTURE DRIVERS +L: linux-media@vger.kernel.org +S: Odd Fixes +F: drivers/staging/tm6000/ + STAGING - USB ENE SM/MS CARD READER DRIVER M: Al Cho S: Odd Fixes @@ -6658,8 +6669,8 @@ S: Maintained K: ^Subject:.*(?i)trivial TTY LAYER -M: Greg Kroah-Hartman -S: Supported +M: Greg Kroah-Hartman +S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git F: drivers/tty/ F: drivers/tty/serial/serial_core.c @@ -6947,7 +6958,7 @@ S: Maintained F: drivers/usb/serial/digi_acceleport.c USB SERIAL DRIVER -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org S: Supported F: Documentation/usb/usb-serial.txt @@ -6962,8 +6973,9 @@ S: Maintained F: drivers/usb/serial/empeg.c USB SERIAL KEYSPAN DRIVER -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org +W: http://www.kroah.com/linux/ S: Maintained F: drivers/usb/serial/*keyspan* @@ -6991,7 +7003,7 @@ F: Documentation/video4linux/sn9c102.txt F: drivers/media/video/sn9c102/ USB SUBSYSTEM -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org W: http://www.linux-usb.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git @@ -7078,7 +7090,7 @@ F: fs/hppfs/ USERSPACE I/O (UIO) M: "Hans J. Koch" -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman S: Maintained F: Documentation/DocBook/uio-howto.tmpl F: drivers/uio/ diff --git a/trunk/Makefile b/trunk/Makefile index 7c44b676b77a..e3b23e864a53 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 3 SUBLEVEL = 0 -EXTRAVERSION = -rc3 +EXTRAVERSION = -rc2 NAME = Saber-toothed Squirrel # *DOCUMENTATION* diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index d3999a5f1c71..a48aecc17eac 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -180,18 +180,12 @@ config ZONE_DMA config NEED_DMA_MAP_STATE def_bool y -config ARCH_HAS_DMA_SET_COHERENT_MASK - bool - config GENERIC_ISA_DMA bool config FIQ bool -config NEED_RET_TO_USER - bool - config ARCH_MTD_XIP bool @@ -220,13 +214,6 @@ config ARM_PATCH_PHYS_VIRT this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. -config NEED_MACH_IO_H - bool - help - Select this when mach/io.h is required to provide special - definitions for this platform. The need for mach/io.h should - be avoided when possible. - config NEED_MACH_MEMORY_H bool help @@ -278,7 +265,6 @@ config ARCH_INTEGRATOR select GENERIC_CLOCKEVENTS select PLAT_VERSATILE select PLAT_VERSATILE_FPGA_IRQ - select NEED_MACH_IO_H select NEED_MACH_MEMORY_H help Support for ARM's Integrator platform. @@ -338,7 +324,7 @@ config ARCH_AT91 select CLKDEV_LOOKUP help This enables support for systems based on the Atmel AT91RM9200, - AT91SAM9 processors. + AT91SAM9 and AT91CAP9 processors. config ARCH_BCMRING bool "Broadcom BCMRING" @@ -414,7 +400,6 @@ config ARCH_EBSA110 select ISA select NO_IOPORT select ARCH_USES_GETTIMEOFFSET - select NEED_MACH_IO_H select NEED_MACH_MEMORY_H help This is an evaluation board for the StrongARM processor available @@ -441,7 +426,6 @@ config ARCH_FOOTBRIDGE select FOOTBRIDGE select GENERIC_CLOCKEVENTS select HAVE_IDE - select NEED_MACH_IO_H select NEED_MACH_MEMORY_H help Support for systems based on the DC21285 companion chip @@ -494,9 +478,7 @@ config ARCH_IOP13XX select PCI select ARCH_SUPPORTS_MSI select VMSPLIT_1G - select NEED_MACH_IO_H select NEED_MACH_MEMORY_H - select NEED_RET_TO_USER help Support for Intel's IOP13XX (XScale) family of processors. @@ -504,8 +486,6 @@ config ARCH_IOP32X bool "IOP32x-based" depends on MMU select CPU_XSCALE - select NEED_MACH_IO_H - select NEED_RET_TO_USER select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB @@ -517,8 +497,6 @@ config ARCH_IOP33X bool "IOP33x-based" depends on MMU select CPU_XSCALE - select NEED_MACH_IO_H - select NEED_RET_TO_USER select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB @@ -531,7 +509,6 @@ config ARCH_IXP23XX select CPU_XSC3 select PCI select ARCH_USES_GETTIMEOFFSET - select NEED_MACH_IO_H select NEED_MACH_MEMORY_H help Support for Intel's IXP23xx (XScale) family of processors. @@ -542,7 +519,6 @@ config ARCH_IXP2000 select CPU_XSCALE select PCI select ARCH_USES_GETTIMEOFFSET - select NEED_MACH_IO_H select NEED_MACH_MEMORY_H help Support for Intel's IXP2400/2800 (XScale) family of processors. @@ -550,14 +526,12 @@ config ARCH_IXP2000 config ARCH_IXP4XX bool "IXP4xx-based" depends on MMU - select ARCH_HAS_DMA_SET_COHERENT_MASK select CLKSRC_MMIO select CPU_XSCALE select GENERIC_GPIO select GENERIC_CLOCKEVENTS select HAVE_SCHED_CLOCK select MIGHT_HAVE_PCI - select NEED_MACH_IO_H select DMABOUNCE if PCI help Support for Intel's IXP4XX (XScale) family of processors. @@ -568,7 +542,6 @@ config ARCH_DOVE select PCI select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS - select NEED_MACH_IO_H select PLAT_ORION help Support for the Marvell Dove SoC 88AP510 @@ -579,7 +552,6 @@ config ARCH_KIRKWOOD select PCI select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS - select NEED_MACH_IO_H select PLAT_ORION help Support for the following Marvell Kirkwood series SoCs: @@ -604,7 +576,6 @@ config ARCH_MV78XX0 select PCI select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS - select NEED_MACH_IO_H select PLAT_ORION help Support for the following Marvell MV78xx0 series SoCs: @@ -674,7 +645,6 @@ config ARCH_TEGRA select HAVE_SCHED_CLOCK select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 - select NEED_MACH_IO_H if PCI select ARCH_HAS_CPUFREQ help This enables support for NVIDIA Tegra based systems (Tegra APX, @@ -769,7 +739,6 @@ config ARCH_RPC select ARCH_SPARSEMEM_ENABLE select ARCH_USES_GETTIMEOFFSET select HAVE_IDE - select NEED_MACH_IO_H select NEED_MACH_MEMORY_H help On the Acorn Risc-PC, Linux can support the internal IDE disk and @@ -802,7 +771,6 @@ config ARCH_S3C2410 select CLKDEV_LOOKUP select ARCH_USES_GETTIMEOFFSET select HAVE_S3C2410_I2C if I2C - select NEED_MACH_IO_H help Samsung S3C2410X CPU based systems, such as the Simtec Electronics BAST (), the IPAQ 1940 or @@ -909,7 +877,6 @@ config ARCH_SHARK select PCI select ARCH_USES_GETTIMEOFFSET select NEED_MACH_MEMORY_H - select NEED_MACH_IO_H help Support for the StrongARM based Digital DNARD machine, also known as "Shark" (). diff --git a/trunk/arch/arm/Kconfig.debug b/trunk/arch/arm/Kconfig.debug index b895a2a92da8..e0d236d7ff73 100644 --- a/trunk/arch/arm/Kconfig.debug +++ b/trunk/arch/arm/Kconfig.debug @@ -81,14 +81,47 @@ choice prompt "Kernel low-level debugging port" depends on DEBUG_LL + config DEBUG_LL_UART_NONE + bool "No low-level debugging UART" + help + Say Y here if your platform doesn't provide a UART option + below. This relies on your platform choosing the right UART + definition internally in order for low-level debugging to + work. + + config DEBUG_ICEDCC + bool "Kernel low-level debugging via EmbeddedICE DCC channel" + help + Say Y here if you want the debug print routines to direct + their output to the EmbeddedICE macrocell's DCC channel using + co-processor 14. This is known to work on the ARM9 style ICE + channel and on the XScale with the PEEDI. + + Note that the system will appear to hang during boot if there + is nothing connected to read from the DCC. + config AT91_DEBUG_LL_DBGU0 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl" depends on HAVE_AT91_DBGU0 config AT91_DEBUG_LL_DBGU1 - bool "Kernel low-level debugging on 9263 and 9g45" + bool "Kernel low-level debugging on 9263, 9g45 and cap9" depends on HAVE_AT91_DBGU1 + config DEBUG_FOOTBRIDGE_COM1 + bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" + depends on FOOTBRIDGE + help + Say Y here if you want the debug print routines to direct + their output to the 8250 at PCI COM1. + + config DEBUG_DC21285_PORT + bool "Kernel low-level debugging messages via footbridge serial port" + depends on FOOTBRIDGE + help + Say Y here if you want the debug print routines to direct + their output to the serial port in the DC21285 (Footbridge). + config DEBUG_CLPS711X_UART1 bool "Kernel low-level debugging messages via UART1" depends on ARCH_CLPS711X @@ -103,20 +136,6 @@ choice Say Y here if you want the debug print routines to direct their output to the second serial port on these devices. - config DEBUG_DC21285_PORT - bool "Kernel low-level debugging messages via footbridge serial port" - depends on FOOTBRIDGE - help - Say Y here if you want the debug print routines to direct - their output to the serial port in the DC21285 (Footbridge). - - config DEBUG_FOOTBRIDGE_COM1 - bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" - depends on FOOTBRIDGE - help - Say Y here if you want the debug print routines to direct - their output to the 8250 at PCI COM1. - config DEBUG_HIGHBANK_UART bool "Kernel low-level debugging messages via Highbank UART" depends on ARCH_HIGHBANK @@ -187,42 +206,38 @@ choice Say Y here if you want kernel low-level debugging support on i.MX6Q. - config DEBUG_MSM_UART1 - bool "Kernel low-level debugging messages via MSM UART1" - depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 + config DEBUG_S3C_UART0 + depends on PLAT_SAMSUNG + bool "Use S3C UART 0 for low-level debug" help Say Y here if you want the debug print routines to direct - their output to the first serial port on MSM devices. + their output to UART 0. The port must have been initialised + by the boot-loader before use. - config DEBUG_MSM_UART2 - bool "Kernel low-level debugging messages via MSM UART2" - depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 - help - Say Y here if you want the debug print routines to direct - their output to the second serial port on MSM devices. + The uncompressor code port configuration is now handled + by CONFIG_S3C_LOWLEVEL_UART_PORT. - config DEBUG_MSM_UART3 - bool "Kernel low-level debugging messages via MSM UART3" - depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 + config DEBUG_S3C_UART1 + depends on PLAT_SAMSUNG + bool "Use S3C UART 1 for low-level debug" help Say Y here if you want the debug print routines to direct - their output to the third serial port on MSM devices. + their output to UART 1. The port must have been initialised + by the boot-loader before use. - config DEBUG_MSM8660_UART - bool "Kernel low-level debugging messages via MSM 8660 UART" - depends on ARCH_MSM8X60 - select MSM_HAS_DEBUG_UART_HS - help - Say Y here if you want the debug print routines to direct - their output to the serial port on MSM 8660 devices. + The uncompressor code port configuration is now handled + by CONFIG_S3C_LOWLEVEL_UART_PORT. - config DEBUG_MSM8960_UART - bool "Kernel low-level debugging messages via MSM 8960 UART" - depends on ARCH_MSM8960 - select MSM_HAS_DEBUG_UART_HS + config DEBUG_S3C_UART2 + depends on PLAT_SAMSUNG + bool "Use S3C UART 2 for low-level debug" help Say Y here if you want the debug print routines to direct - their output to the serial port on MSM 8960 devices. + their output to UART 2. The port must have been initialised + by the boot-loader before use. + + The uncompressor code port configuration is now handled + by CONFIG_S3C_LOWLEVEL_UART_PORT. config DEBUG_REALVIEW_STD_PORT bool "RealView Default UART" @@ -240,57 +255,42 @@ choice their output to the standard serial port on the RealView PB1176 platform. - config DEBUG_S3C_UART0 - depends on PLAT_SAMSUNG - bool "Use S3C UART 0 for low-level debug" + config DEBUG_MSM_UART1 + bool "Kernel low-level debugging messages via MSM UART1" + depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 help Say Y here if you want the debug print routines to direct - their output to UART 0. The port must have been initialised - by the boot-loader before use. - - The uncompressor code port configuration is now handled - by CONFIG_S3C_LOWLEVEL_UART_PORT. + their output to the first serial port on MSM devices. - config DEBUG_S3C_UART1 - depends on PLAT_SAMSUNG - bool "Use S3C UART 1 for low-level debug" + config DEBUG_MSM_UART2 + bool "Kernel low-level debugging messages via MSM UART2" + depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 help Say Y here if you want the debug print routines to direct - their output to UART 1. The port must have been initialised - by the boot-loader before use. - - The uncompressor code port configuration is now handled - by CONFIG_S3C_LOWLEVEL_UART_PORT. + their output to the second serial port on MSM devices. - config DEBUG_S3C_UART2 - depends on PLAT_SAMSUNG - bool "Use S3C UART 2 for low-level debug" + config DEBUG_MSM_UART3 + bool "Kernel low-level debugging messages via MSM UART3" + depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 help Say Y here if you want the debug print routines to direct - their output to UART 2. The port must have been initialised - by the boot-loader before use. - - The uncompressor code port configuration is now handled - by CONFIG_S3C_LOWLEVEL_UART_PORT. + their output to the third serial port on MSM devices. - config DEBUG_LL_UART_NONE - bool "No low-level debugging UART" + config DEBUG_MSM8660_UART + bool "Kernel low-level debugging messages via MSM 8660 UART" + depends on ARCH_MSM8X60 + select MSM_HAS_DEBUG_UART_HS help - Say Y here if your platform doesn't provide a UART option - below. This relies on your platform choosing the right UART - definition internally in order for low-level debugging to - work. + Say Y here if you want the debug print routines to direct + their output to the serial port on MSM 8660 devices. - config DEBUG_ICEDCC - bool "Kernel low-level debugging via EmbeddedICE DCC channel" + config DEBUG_MSM8960_UART + bool "Kernel low-level debugging messages via MSM 8960 UART" + depends on ARCH_MSM8960 + select MSM_HAS_DEBUG_UART_HS help Say Y here if you want the debug print routines to direct - their output to the EmbeddedICE macrocell's DCC channel using - co-processor 14. This is known to work on the ARM9 style ICE - channel and on the XScale with the PEEDI. - - Note that the system will appear to hang during boot if there - is nothing connected to read from the DCC. + their output to the serial port on MSM 8960 devices. endchoice diff --git a/trunk/arch/arm/boot/dts/at91sam9g25ek.dts b/trunk/arch/arm/boot/dts/at91sam9g25ek.dts deleted file mode 100644 index e64eb932083b..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9g25ek.dts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * at91sam9g25ek.dts - Device Tree file for AT91SAM9G25-EK board - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ -/dts-v1/; -/include/ "at91sam9x5.dtsi" -/include/ "at91sam9x5cm.dtsi" - -/ { - model = "Atmel AT91SAM9G25-EK"; - compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; - - chosen { - bootargs = "128M console=ttyS0,115200 mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"; - }; - - ahb { - apb { - dbgu: serial@fffff200 { - status = "okay"; - }; - - usart0: serial@f801c000 { - status = "okay"; - }; - - macb0: ethernet@f802c000 { - phy-mode = "rmii"; - status = "okay"; - }; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi deleted file mode 100644 index e91391f50730..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi +++ /dev/null @@ -1,172 +0,0 @@ -/* - * at91sam9x5.dtsi - Device Tree Include file for AT91SAM9x5 family SoC - * applies to AT91SAM9G15, AT91SAM9G25, AT91SAM9G35, - * AT91SAM9X25, AT91SAM9X35 SoC - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ - -/include/ "skeleton.dtsi" - -/ { - model = "Atmel AT91SAM9x5 family SoC"; - compatible = "atmel,at91sam9x5"; - interrupt-parent = <&aic>; - - aliases { - serial0 = &dbgu; - serial1 = &usart0; - serial2 = &usart1; - serial3 = &usart2; - gpio0 = &pioA; - gpio1 = &pioB; - gpio2 = &pioC; - gpio3 = &pioD; - tcb0 = &tcb0; - tcb1 = &tcb1; - }; - cpus { - cpu@0 { - compatible = "arm,arm926ejs"; - }; - }; - - memory@20000000 { - reg = <0x20000000 0x10000000>; - }; - - ahb { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - apb { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - aic: interrupt-controller@fffff000 { - #interrupt-cells = <2>; - compatible = "atmel,at91rm9200-aic"; - interrupt-controller; - interrupt-parent; - reg = <0xfffff000 0x200>; - }; - - pit: timer@fffffe30 { - compatible = "atmel,at91sam9260-pit"; - reg = <0xfffffe30 0xf>; - interrupts = <1 4>; - }; - - tcb0: timer@f8008000 { - compatible = "atmel,at91sam9x5-tcb"; - reg = <0xf8008000 0x100>; - interrupts = <17 4>; - }; - - tcb1: timer@f800c000 { - compatible = "atmel,at91sam9x5-tcb"; - reg = <0xf800c000 0x100>; - interrupts = <17 4>; - }; - - dma0: dma-controller@ffffec00 { - compatible = "atmel,at91sam9g45-dma"; - reg = <0xffffec00 0x200>; - interrupts = <20 4>; - }; - - dma1: dma-controller@ffffee00 { - compatible = "atmel,at91sam9g45-dma"; - reg = <0xffffee00 0x200>; - interrupts = <21 4>; - }; - - pioA: gpio@fffff400 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff400 0x100>; - interrupts = <2 4>; - #gpio-cells = <2>; - gpio-controller; - }; - - pioB: gpio@fffff600 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff600 0x100>; - interrupts = <2 4>; - #gpio-cells = <2>; - gpio-controller; - }; - - pioC: gpio@fffff800 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffff800 0x100>; - interrupts = <3 4>; - #gpio-cells = <2>; - gpio-controller; - }; - - pioD: gpio@fffffa00 { - compatible = "atmel,at91rm9200-gpio"; - reg = <0xfffffa00 0x100>; - interrupts = <3 4>; - #gpio-cells = <2>; - gpio-controller; - }; - - dbgu: serial@fffff200 { - compatible = "atmel,at91sam9260-usart"; - reg = <0xfffff200 0x200>; - interrupts = <1 4>; - status = "disabled"; - }; - - usart0: serial@f801c000 { - compatible = "atmel,at91sam9260-usart"; - reg = <0xf801c000 0x200>; - interrupts = <5 4>; - atmel,use-dma-rx; - atmel,use-dma-tx; - status = "disabled"; - }; - - usart1: serial@f8020000 { - compatible = "atmel,at91sam9260-usart"; - reg = <0xf8020000 0x200>; - interrupts = <6 4>; - atmel,use-dma-rx; - atmel,use-dma-tx; - status = "disabled"; - }; - - usart2: serial@f8024000 { - compatible = "atmel,at91sam9260-usart"; - reg = <0xf8024000 0x200>; - interrupts = <7 4>; - atmel,use-dma-rx; - atmel,use-dma-tx; - status = "disabled"; - }; - - macb0: ethernet@f802c000 { - compatible = "cdns,at32ap7000-macb", "cdns,macb"; - reg = <0xf802c000 0x100>; - interrupts = <24 4>; - status = "disabled"; - }; - - macb1: ethernet@f8030000 { - compatible = "cdns,at32ap7000-macb", "cdns,macb"; - reg = <0xf8030000 0x100>; - interrupts = <27 4>; - status = "disabled"; - }; - }; - }; -}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi deleted file mode 100644 index 4ab5a77f4afc..000000000000 --- a/trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi +++ /dev/null @@ -1,14 +0,0 @@ -/* - * at91sam9x5cm.dtsi - Device Tree Include file for AT91SAM9x5 CPU Module - * - * Copyright (C) 2012 Atmel, - * 2012 Nicolas Ferre - * - * Licensed under GPLv2 or later. - */ - -/ { - memory@20000000 { - reg = <0x20000000 0x8000000>; - }; -}; diff --git a/trunk/arch/arm/boot/dts/tegra-paz00.dts b/trunk/arch/arm/boot/dts/tegra-paz00.dts index 825d2957da0b..1a1d7023b69b 100644 --- a/trunk/arch/arm/boot/dts/tegra-paz00.dts +++ b/trunk/arch/arm/boot/dts/tegra-paz00.dts @@ -46,11 +46,11 @@ }; serial@70006200 { - clock-frequency = <216000000>; + status = "disable"; }; serial@70006300 { - status = "disable"; + clock-frequency = <216000000>; }; serial@70006400 { @@ -60,7 +60,7 @@ sdhci@c8000000 { cd-gpios = <&gpio 173 0>; /* gpio PV5 */ wp-gpios = <&gpio 57 0>; /* gpio PH1 */ - power-gpios = <&gpio 169 0>; /* gpio PV1 */ + power-gpios = <&gpio 155 0>; /* gpio PT3 */ }; sdhci@c8000200 { diff --git a/trunk/arch/arm/configs/at91cap9_defconfig b/trunk/arch/arm/configs/at91cap9_defconfig new file mode 100644 index 000000000000..8826eb218e73 --- /dev/null +++ b/trunk/arch/arm/configs/at91cap9_defconfig @@ -0,0 +1,108 @@ +CONFIG_EXPERIMENTAL=y +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_BLK_DEV_INITRD=y +CONFIG_SLAB=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_ARCH_AT91=y +CONFIG_ARCH_AT91CAP9=y +CONFIG_MACH_AT91CAP9ADK=y +CONFIG_MTD_AT91_DATAFLASH_CARD=y +CONFIG_AT91_PROGRAMMABLE_CLOCKS=y +# CONFIG_ARM_THUMB is not set +CONFIG_AEABI=y +CONFIG_LEDS=y +CONFIG_LEDS_CPU=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/ram0 rw" +CONFIG_FPE_NWFPE=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_ATMEL=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_MULTI_LUN=y +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_MACB=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=y +# CONFIG_SERIO is not set +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_SPI=y +CONFIG_SPI_ATMEL=y +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_FB=y +CONFIG_FB_ATMEL=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +# CONFIG_USB_HID is not set +CONFIG_USB=y +CONFIG_USB_DEVICEFS=y +CONFIG_USB_MON=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_USB_GADGET=y +CONFIG_USB_ETH=m +CONFIG_USB_FILE_STORAGE=m +CONFIG_MMC=y +CONFIG_MMC_AT91=m +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_AT91SAM9=y +CONFIG_EXT2_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_JFFS2_FS=y +CONFIG_CRAMFS=y +CONFIG_NFS_FS=y +CONFIG_ROOT_NFS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_ISO8859_1=y +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_USER=y diff --git a/trunk/arch/arm/include/asm/assembler.h b/trunk/arch/arm/include/asm/assembler.h index 88374dd30fb9..62f8095d46de 100644 --- a/trunk/arch/arm/include/asm/assembler.h +++ b/trunk/arch/arm/include/asm/assembler.h @@ -23,8 +23,6 @@ #include #include -#define IOMEM(x) (x) - /* * Endian independent macros for shifting bytes within registers. */ diff --git a/trunk/arch/arm/include/asm/hardware/entry-macro-iomd.S b/trunk/arch/arm/include/asm/hardware/entry-macro-iomd.S index 8c215acd9b57..e0af4983723f 100644 --- a/trunk/arch/arm/include/asm/hardware/entry-macro-iomd.S +++ b/trunk/arch/arm/include/asm/hardware/entry-macro-iomd.S @@ -11,6 +11,14 @@ /* IOC / IOMD based hardware */ #include + .macro disable_fiq + mov r12, #ioc_base_high + .if ioc_base_low + orr r12, r12, #ioc_base_low + .endif + strb r12, [r12, #0x38] @ Disable FIQ register + .endm + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp ldrb \irqstat, [\base, #IOMD_IRQREQB] @ get high priority first ldr \tmp, =irq_prio_h diff --git a/trunk/arch/arm/include/asm/io.h b/trunk/arch/arm/include/asm/io.h index 35d91406af65..9275828feb3d 100644 --- a/trunk/arch/arm/include/asm/io.h +++ b/trunk/arch/arm/include/asm/io.h @@ -83,11 +83,6 @@ extern void __iomem *__arm_ioremap_pfn(unsigned long, unsigned long, size_t, uns extern void __iomem *__arm_ioremap(unsigned long, size_t, unsigned int); extern void __iomem *__arm_ioremap_exec(unsigned long, size_t, bool cached); extern void __iounmap(volatile void __iomem *addr); -extern void __arm_iounmap(volatile void __iomem *addr); - -extern void __iomem * (*arch_ioremap_caller)(unsigned long, size_t, - unsigned int, void *); -extern void (*arch_iounmap)(volatile void __iomem *); /* * Bad read/write accesses... @@ -102,8 +97,6 @@ static inline void __iomem *__typesafe_io(unsigned long addr) return (void __iomem *)addr; } -#define IOMEM(x) ((void __force __iomem *)(x)) - /* IO barriers */ #ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE #define __iormb() rmb() @@ -116,11 +109,7 @@ static inline void __iomem *__typesafe_io(unsigned long addr) /* * Now, pick up the machine-defined IO definitions */ -#ifdef CONFIG_NEED_MACH_IO_H #include -#else -#define __io(a) ({ (void)(a); __typesafe_io(0); }) -#endif /* * This is the limit of PC card/PCI/ISA IO space, which is by default @@ -222,18 +211,18 @@ extern void _memset_io(volatile void __iomem *, int, size_t); * Again, this are defined to perform little endian accesses. See the * IO port primitives for more information. */ -#ifndef readl -#define readb_relaxed(c) ({ u8 __r = __raw_readb(c); __r; }) +#ifdef __mem_pci +#define readb_relaxed(c) ({ u8 __r = __raw_readb(__mem_pci(c)); __r; }) #define readw_relaxed(c) ({ u16 __r = le16_to_cpu((__force __le16) \ - __raw_readw(c)); __r; }) + __raw_readw(__mem_pci(c))); __r; }) #define readl_relaxed(c) ({ u32 __r = le32_to_cpu((__force __le32) \ - __raw_readl(c)); __r; }) + __raw_readl(__mem_pci(c))); __r; }) -#define writeb_relaxed(v,c) ((void)__raw_writeb(v,c)) +#define writeb_relaxed(v,c) ((void)__raw_writeb(v,__mem_pci(c))) #define writew_relaxed(v,c) ((void)__raw_writew((__force u16) \ - cpu_to_le16(v),c)) + cpu_to_le16(v),__mem_pci(c))) #define writel_relaxed(v,c) ((void)__raw_writel((__force u32) \ - cpu_to_le32(v),c)) + cpu_to_le32(v),__mem_pci(c))) #define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; }) #define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; }) @@ -243,19 +232,30 @@ extern void _memset_io(volatile void __iomem *, int, size_t); #define writew(v,c) ({ __iowmb(); writew_relaxed(v,c); }) #define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); }) -#define readsb(p,d,l) __raw_readsb(p,d,l) -#define readsw(p,d,l) __raw_readsw(p,d,l) -#define readsl(p,d,l) __raw_readsl(p,d,l) +#define readsb(p,d,l) __raw_readsb(__mem_pci(p),d,l) +#define readsw(p,d,l) __raw_readsw(__mem_pci(p),d,l) +#define readsl(p,d,l) __raw_readsl(__mem_pci(p),d,l) + +#define writesb(p,d,l) __raw_writesb(__mem_pci(p),d,l) +#define writesw(p,d,l) __raw_writesw(__mem_pci(p),d,l) +#define writesl(p,d,l) __raw_writesl(__mem_pci(p),d,l) -#define writesb(p,d,l) __raw_writesb(p,d,l) -#define writesw(p,d,l) __raw_writesw(p,d,l) -#define writesl(p,d,l) __raw_writesl(p,d,l) +#define memset_io(c,v,l) _memset_io(__mem_pci(c),(v),(l)) +#define memcpy_fromio(a,c,l) _memcpy_fromio((a),__mem_pci(c),(l)) +#define memcpy_toio(c,a,l) _memcpy_toio(__mem_pci(c),(a),(l)) -#define memset_io(c,v,l) _memset_io(c,(v),(l)) -#define memcpy_fromio(a,c,l) _memcpy_fromio((a),c,(l)) -#define memcpy_toio(c,a,l) _memcpy_toio(c,(a),(l)) +#elif !defined(readb) -#endif /* readl */ +#define readb(c) (__readwrite_bug("readb"),0) +#define readw(c) (__readwrite_bug("readw"),0) +#define readl(c) (__readwrite_bug("readl"),0) +#define writeb(v,c) __readwrite_bug("writeb") +#define writew(v,c) __readwrite_bug("writew") +#define writel(v,c) __readwrite_bug("writel") + +#define check_signature(io,sig,len) (0) + +#endif /* __mem_pci */ /* * ioremap and friends. @@ -264,11 +264,16 @@ extern void _memset_io(volatile void __iomem *, int, size_t); * Documentation/io-mapping.txt. * */ -#define ioremap(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) -#define ioremap_nocache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) -#define ioremap_cached(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_CACHED) -#define ioremap_wc(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_WC) -#define iounmap __arm_iounmap +#ifndef __arch_ioremap +#define __arch_ioremap __arm_ioremap +#define __arch_iounmap __iounmap +#endif + +#define ioremap(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE) +#define ioremap_nocache(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE) +#define ioremap_cached(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_CACHED) +#define ioremap_wc(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_WC) +#define iounmap __arch_iounmap /* * io{read,write}{8,16,32} macros diff --git a/trunk/arch/arm/include/asm/system.h b/trunk/arch/arm/include/asm/system.h index 424aa458c487..e4c96cc6ec0c 100644 --- a/trunk/arch/arm/include/asm/system.h +++ b/trunk/arch/arm/include/asm/system.h @@ -110,7 +110,6 @@ extern void cpu_init(void); void soft_restart(unsigned long); extern void (*arm_pm_restart)(char str, const char *cmd); -extern void (*arm_pm_idle)(void); #define UDBG_UNDEFINED (1 << 0) #define UDBG_SYSCALL (1 << 1) diff --git a/trunk/arch/arm/include/asm/tlb.h b/trunk/arch/arm/include/asm/tlb.h index 314d4664eae7..5d3ed7e38561 100644 --- a/trunk/arch/arm/include/asm/tlb.h +++ b/trunk/arch/arm/include/asm/tlb.h @@ -198,15 +198,7 @@ static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) { pgtable_page_dtor(pte); - - /* - * With the classic ARM MMU, a pte page has two corresponding pmd - * entries, each covering 1MB. - */ - addr &= PMD_MASK; - tlb_add_flush(tlb, addr + SZ_1M - PAGE_SIZE); - tlb_add_flush(tlb, addr + SZ_1M); - + tlb_add_flush(tlb, addr); tlb_remove_page(tlb, pte); } diff --git a/trunk/arch/arm/kernel/debug.S b/trunk/arch/arm/kernel/debug.S index 501cdbfc902c..204e2160cfcc 100644 --- a/trunk/arch/arm/kernel/debug.S +++ b/trunk/arch/arm/kernel/debug.S @@ -10,7 +10,6 @@ * 32-bit debugging code */ #include -#include .text diff --git a/trunk/arch/arm/kernel/entry-armv.S b/trunk/arch/arm/kernel/entry-armv.S index 395f6271dfc2..3a456c6c7005 100644 --- a/trunk/arch/arm/kernel/entry-armv.S +++ b/trunk/arch/arm/kernel/entry-armv.S @@ -15,14 +15,11 @@ * that causes it to save wrong values... Be aware! */ -#include #include #include #include #include -#ifndef CONFIG_MULTI_IRQ_HANDLER #include -#endif #include #include #include @@ -793,7 +790,7 @@ __kuser_cmpxchg64: @ 0xffff0f60 smp_dmb arm rsbs r0, r3, #0 @ set returned val and C flag ldmfd sp!, {r4, r5, r6, r7} - usr_ret lr + bx lr #elif !defined(CONFIG_SMP) @@ -1104,6 +1101,7 @@ __stubs_start: * get out of that mode without clobbering one register. */ vector_fiq: + disable_fiq subs pc, lr, #4 /*============================================================================= diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index 54ee265dd819..9fd0ba90c1d2 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -10,14 +10,8 @@ #include #include -#include - -#ifdef CONFIG_NEED_RET_TO_USER #include -#else - .macro arch_ret_to_user, tmp1, tmp2 - .endm -#endif +#include #include "entry-header.S" diff --git a/trunk/arch/arm/kernel/perf_event_v7.c b/trunk/arch/arm/kernel/perf_event_v7.c index 6933244c68f9..460bbbb6b885 100644 --- a/trunk/arch/arm/kernel/perf_event_v7.c +++ b/trunk/arch/arm/kernel/perf_event_v7.c @@ -469,20 +469,6 @@ static const unsigned armv7_a5_perf_cache_map[PERF_COUNT_HW_CACHE_MAX] [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, }, }, - [C(NODE)] = { - [C(OP_READ)] = { - [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, - [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, - }, - [C(OP_WRITE)] = { - [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, - [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, - }, - [C(OP_PREFETCH)] = { - [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, - [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, - }, - }, }; /* @@ -593,20 +579,6 @@ static const unsigned armv7_a15_perf_cache_map[PERF_COUNT_HW_CACHE_MAX] [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, }, }, - [C(NODE)] = { - [C(OP_READ)] = { - [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, - [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, - }, - [C(OP_WRITE)] = { - [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, - [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, - }, - [C(OP_PREFETCH)] = { - [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, - [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, - }, - }, }; /* diff --git a/trunk/arch/arm/kernel/process.c b/trunk/arch/arm/kernel/process.c index 008e7ce766a7..971d65c253a9 100644 --- a/trunk/arch/arm/kernel/process.c +++ b/trunk/arch/arm/kernel/process.c @@ -61,6 +61,8 @@ extern void setup_mm_for_reboot(void); static volatile int hlt_counter; +#include + void disable_hlt(void) { hlt_counter++; @@ -179,17 +181,13 @@ void cpu_idle_wait(void) EXPORT_SYMBOL_GPL(cpu_idle_wait); /* - * This is our default idle handler. + * This is our default idle handler. We need to disable + * interrupts here to ensure we don't miss a wakeup call. */ - -void (*arm_pm_idle)(void); - static void default_idle(void) { - if (arm_pm_idle) - arm_pm_idle(); - else - cpu_do_idle(); + if (!need_resched()) + arch_idle(); local_irq_enable(); } @@ -217,10 +215,6 @@ void cpu_idle(void) cpu_die(); #endif - /* - * We need to disable interrupts here - * to ensure we don't miss a wakeup call. - */ local_irq_disable(); #ifdef CONFIG_PL310_ERRATA_769419 wmb(); @@ -228,18 +222,19 @@ void cpu_idle(void) if (hlt_counter) { local_irq_enable(); cpu_relax(); - } else if (!need_resched()) { + } else { stop_critical_timings(); if (cpuidle_idle_call()) pm_idle(); start_critical_timings(); /* - * pm_idle functions must always - * return with IRQs enabled. + * This will eventually be removed - pm_idle + * functions should always return with IRQs + * enabled. */ WARN_ON(irqs_disabled()); - } else local_irq_enable(); + } } leds_event(led_idle_end); rcu_idle_exit(); diff --git a/trunk/arch/arm/kernel/ptrace.c b/trunk/arch/arm/kernel/ptrace.c index e33870ff0ac0..e1d5e1929fbd 100644 --- a/trunk/arch/arm/kernel/ptrace.c +++ b/trunk/arch/arm/kernel/ptrace.c @@ -699,13 +699,10 @@ static int vfp_set(struct task_struct *target, { int ret; struct thread_info *thread = task_thread_info(target); - struct vfp_hard_struct new_vfp; + struct vfp_hard_struct new_vfp = thread->vfpstate.hard; const size_t user_fpregs_offset = offsetof(struct user_vfp, fpregs); const size_t user_fpscr_offset = offsetof(struct user_vfp, fpscr); - vfp_sync_hwstate(thread); - new_vfp = thread->vfpstate.hard; - ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &new_vfp.fpregs, user_fpregs_offset, @@ -726,8 +723,9 @@ static int vfp_set(struct task_struct *target, if (ret) return ret; - vfp_flush_hwstate(thread); + vfp_sync_hwstate(thread); thread->vfpstate.hard = new_vfp; + vfp_flush_hwstate(thread); return 0; } diff --git a/trunk/arch/arm/kernel/signal.c b/trunk/arch/arm/kernel/signal.c index 9e617bd4a146..0340224cf73c 100644 --- a/trunk/arch/arm/kernel/signal.c +++ b/trunk/arch/arm/kernel/signal.c @@ -227,8 +227,6 @@ static int restore_vfp_context(struct vfp_sigframe __user *frame) if (magic != VFP_MAGIC || size != VFP_STORAGE_SIZE) return -EINVAL; - vfp_flush_hwstate(thread); - /* * Copy the floating point registers. There can be unused * registers see asm/hwcap.h for details. @@ -253,6 +251,9 @@ static int restore_vfp_context(struct vfp_sigframe __user *frame) __get_user_error(h->fpinst, &frame->ufp_exc.fpinst, err); __get_user_error(h->fpinst2, &frame->ufp_exc.fpinst2, err); + if (!err) + vfp_flush_hwstate(thread); + return err ? -EFAULT : 0; } diff --git a/trunk/arch/arm/mach-at91/Kconfig b/trunk/arch/arm/mach-at91/Kconfig index e55cdcbd81fb..71feb00a1e99 100644 --- a/trunk/arch/arm/mach-at91/Kconfig +++ b/trunk/arch/arm/mach-at91/Kconfig @@ -102,13 +102,13 @@ config ARCH_AT91SAM9G45 select HAVE_AT91_DBGU1 select AT91_SAM9G45_RESET -config ARCH_AT91SAM9X5 - bool "AT91SAM9x5 family" +config ARCH_AT91CAP9 + bool "AT91CAP9" select CPU_ARM926T select GENERIC_CLOCKEVENTS select HAVE_FB_ATMEL select HAVE_NET_MACB - select HAVE_AT91_DBGU0 + select HAVE_AT91_DBGU1 select AT91_SAM9G45_RESET config ARCH_AT91X40 @@ -447,6 +447,21 @@ endif # ---------------------------------------------------------- +if ARCH_AT91CAP9 + +comment "AT91CAP9 Board Type" + +config MACH_AT91CAP9ADK + bool "Atmel AT91CAP9A-DK Evaluation Kit" + select HAVE_AT91_DATAFLASH_CARD + help + Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit. + + +endif + +# ---------------------------------------------------------- + if ARCH_AT91X40 comment "AT91X40 Board Type" @@ -529,7 +544,7 @@ config AT91_EARLY_DBGU0 depends on HAVE_AT91_DBGU0 config AT91_EARLY_DBGU1 - bool "DBGU on 9263 and 9g45" + bool "DBGU on 9263, 9g45 and cap9" depends on HAVE_AT91_DBGU1 config AT91_EARLY_USART0 diff --git a/trunk/arch/arm/mach-at91/Makefile b/trunk/arch/arm/mach-at91/Makefile index 1b6518518d99..705e1fbded39 100644 --- a/trunk/arch/arm/mach-at91/Makefile +++ b/trunk/arch/arm/mach-at91/Makefile @@ -20,7 +20,7 @@ obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_d obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o sam9_smc.o obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o -obj-$(CONFIG_ARCH_AT91SAM9X5) += at91sam9x5.o at91sam926x_time.o +obj-$(CONFIG_ARCH_AT91CAP9) += at91cap9.o at91sam926x_time.o at91cap9_devices.o sam9_smc.o obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o # AT91RM9200 board-specific support @@ -81,6 +81,9 @@ obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o # AT91SAM board with device-tree obj-$(CONFIG_MACH_AT91SAM_DT) += board-dt.o +# AT91CAP9 board-specific support +obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o + # AT91X40 board-specific support obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o diff --git a/trunk/arch/arm/mach-at91/Makefile.boot b/trunk/arch/arm/mach-at91/Makefile.boot index 0da66ca4a4f8..8ddafadfdc7d 100644 --- a/trunk/arch/arm/mach-at91/Makefile.boot +++ b/trunk/arch/arm/mach-at91/Makefile.boot @@ -3,7 +3,11 @@ # PARAMS_PHYS must be within 4MB of ZRELADDR # INITRD_PHYS must be in RAM -ifeq ($(CONFIG_ARCH_AT91SAM9G45),y) +ifeq ($(CONFIG_ARCH_AT91CAP9),y) + zreladdr-y += 0x70008000 +params_phys-y := 0x70000100 +initrd_phys-y := 0x70410000 +else ifeq ($(CONFIG_ARCH_AT91SAM9G45),y) zreladdr-y += 0x70008000 params_phys-y := 0x70000100 initrd_phys-y := 0x70410000 @@ -13,10 +17,4 @@ params_phys-y := 0x20000100 initrd_phys-y := 0x20410000 endif -# Keep dtb files sorted alphabetically for each SoC -# sam9g20 -dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb -# sam9g45 -dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb -# sam9x5 -dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g25ek.dtb +dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb usb_a9g20.dtb diff --git a/trunk/arch/arm/mach-at91/at91cap9.c b/trunk/arch/arm/mach-at91/at91cap9.c new file mode 100644 index 000000000000..a42edc25a87e --- /dev/null +++ b/trunk/arch/arm/mach-at91/at91cap9.c @@ -0,0 +1,396 @@ +/* + * arch/arm/mach-at91/at91cap9.c + * + * Copyright (C) 2007 Stelian Pop + * Copyright (C) 2007 Lead Tech Design + * Copyright (C) 2007 Atmel Corporation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ + +#include + +#include +#include +#include + +#include +#include +#include + +#include "soc.h" +#include "generic.h" +#include "clock.h" +#include "sam9_smc.h" + +/* -------------------------------------------------------------------- + * Clocks + * -------------------------------------------------------------------- */ + +/* + * The peripheral clocks. + */ +static struct clk pioABCD_clk = { + .name = "pioABCD_clk", + .pmc_mask = 1 << AT91CAP9_ID_PIOABCD, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk mpb0_clk = { + .name = "mpb0_clk", + .pmc_mask = 1 << AT91CAP9_ID_MPB0, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk mpb1_clk = { + .name = "mpb1_clk", + .pmc_mask = 1 << AT91CAP9_ID_MPB1, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk mpb2_clk = { + .name = "mpb2_clk", + .pmc_mask = 1 << AT91CAP9_ID_MPB2, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk mpb3_clk = { + .name = "mpb3_clk", + .pmc_mask = 1 << AT91CAP9_ID_MPB3, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk mpb4_clk = { + .name = "mpb4_clk", + .pmc_mask = 1 << AT91CAP9_ID_MPB4, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk usart0_clk = { + .name = "usart0_clk", + .pmc_mask = 1 << AT91CAP9_ID_US0, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk usart1_clk = { + .name = "usart1_clk", + .pmc_mask = 1 << AT91CAP9_ID_US1, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk usart2_clk = { + .name = "usart2_clk", + .pmc_mask = 1 << AT91CAP9_ID_US2, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk mmc0_clk = { + .name = "mci0_clk", + .pmc_mask = 1 << AT91CAP9_ID_MCI0, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk mmc1_clk = { + .name = "mci1_clk", + .pmc_mask = 1 << AT91CAP9_ID_MCI1, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk can_clk = { + .name = "can_clk", + .pmc_mask = 1 << AT91CAP9_ID_CAN, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk twi_clk = { + .name = "twi_clk", + .pmc_mask = 1 << AT91CAP9_ID_TWI, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk spi0_clk = { + .name = "spi0_clk", + .pmc_mask = 1 << AT91CAP9_ID_SPI0, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk spi1_clk = { + .name = "spi1_clk", + .pmc_mask = 1 << AT91CAP9_ID_SPI1, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk ssc0_clk = { + .name = "ssc0_clk", + .pmc_mask = 1 << AT91CAP9_ID_SSC0, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk ssc1_clk = { + .name = "ssc1_clk", + .pmc_mask = 1 << AT91CAP9_ID_SSC1, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk ac97_clk = { + .name = "ac97_clk", + .pmc_mask = 1 << AT91CAP9_ID_AC97C, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk tcb_clk = { + .name = "tcb_clk", + .pmc_mask = 1 << AT91CAP9_ID_TCB, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk pwm_clk = { + .name = "pwm_clk", + .pmc_mask = 1 << AT91CAP9_ID_PWMC, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk macb_clk = { + .name = "pclk", + .pmc_mask = 1 << AT91CAP9_ID_EMAC, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk aestdes_clk = { + .name = "aestdes_clk", + .pmc_mask = 1 << AT91CAP9_ID_AESTDES, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk adc_clk = { + .name = "adc_clk", + .pmc_mask = 1 << AT91CAP9_ID_ADC, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk isi_clk = { + .name = "isi_clk", + .pmc_mask = 1 << AT91CAP9_ID_ISI, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk lcdc_clk = { + .name = "lcdc_clk", + .pmc_mask = 1 << AT91CAP9_ID_LCDC, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk dma_clk = { + .name = "dma_clk", + .pmc_mask = 1 << AT91CAP9_ID_DMA, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk udphs_clk = { + .name = "udphs_clk", + .pmc_mask = 1 << AT91CAP9_ID_UDPHS, + .type = CLK_TYPE_PERIPHERAL, +}; +static struct clk ohci_clk = { + .name = "ohci_clk", + .pmc_mask = 1 << AT91CAP9_ID_UHP, + .type = CLK_TYPE_PERIPHERAL, +}; + +static struct clk *periph_clocks[] __initdata = { + &pioABCD_clk, + &mpb0_clk, + &mpb1_clk, + &mpb2_clk, + &mpb3_clk, + &mpb4_clk, + &usart0_clk, + &usart1_clk, + &usart2_clk, + &mmc0_clk, + &mmc1_clk, + &can_clk, + &twi_clk, + &spi0_clk, + &spi1_clk, + &ssc0_clk, + &ssc1_clk, + &ac97_clk, + &tcb_clk, + &pwm_clk, + &macb_clk, + &aestdes_clk, + &adc_clk, + &isi_clk, + &lcdc_clk, + &dma_clk, + &udphs_clk, + &ohci_clk, + // irq0 .. irq1 +}; + +static struct clk_lookup periph_clocks_lookups[] = { + /* One additional fake clock for macb_hclk */ + CLKDEV_CON_ID("hclk", &macb_clk), + CLKDEV_CON_DEV_ID("hclk", "atmel_usba_udc", &utmi_clk), + CLKDEV_CON_DEV_ID("pclk", "atmel_usba_udc", &udphs_clk), + CLKDEV_CON_DEV_ID("mci_clk", "at91_mci.0", &mmc0_clk), + CLKDEV_CON_DEV_ID("mci_clk", "at91_mci.1", &mmc1_clk), + 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("pclk", "ssc.0", &ssc0_clk), + CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), + /* fake hclk clock */ + CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), + CLKDEV_CON_ID("pioA", &pioABCD_clk), + CLKDEV_CON_ID("pioB", &pioABCD_clk), + CLKDEV_CON_ID("pioC", &pioABCD_clk), + CLKDEV_CON_ID("pioD", &pioABCD_clk), +}; + +static struct clk_lookup usart_clocks_lookups[] = { + CLKDEV_CON_DEV_ID("usart", "atmel_usart.0", &mck), + CLKDEV_CON_DEV_ID("usart", "atmel_usart.1", &usart0_clk), + CLKDEV_CON_DEV_ID("usart", "atmel_usart.2", &usart1_clk), + CLKDEV_CON_DEV_ID("usart", "atmel_usart.3", &usart2_clk), +}; + +/* + * The four programmable clocks. + * You must configure pin multiplexing to bring these signals out. + */ +static struct clk pck0 = { + .name = "pck0", + .pmc_mask = AT91_PMC_PCK0, + .type = CLK_TYPE_PROGRAMMABLE, + .id = 0, +}; +static struct clk pck1 = { + .name = "pck1", + .pmc_mask = AT91_PMC_PCK1, + .type = CLK_TYPE_PROGRAMMABLE, + .id = 1, +}; +static struct clk pck2 = { + .name = "pck2", + .pmc_mask = AT91_PMC_PCK2, + .type = CLK_TYPE_PROGRAMMABLE, + .id = 2, +}; +static struct clk pck3 = { + .name = "pck3", + .pmc_mask = AT91_PMC_PCK3, + .type = CLK_TYPE_PROGRAMMABLE, + .id = 3, +}; + +static void __init at91cap9_register_clocks(void) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(periph_clocks); i++) + clk_register(periph_clocks[i]); + + clkdev_add_table(periph_clocks_lookups, + ARRAY_SIZE(periph_clocks_lookups)); + clkdev_add_table(usart_clocks_lookups, + ARRAY_SIZE(usart_clocks_lookups)); + + clk_register(&pck0); + clk_register(&pck1); + clk_register(&pck2); + clk_register(&pck3); +} + +static struct clk_lookup console_clock_lookup; + +void __init at91cap9_set_console_clock(int id) +{ + if (id >= ARRAY_SIZE(usart_clocks_lookups)) + return; + + console_clock_lookup.con_id = "usart"; + console_clock_lookup.clk = usart_clocks_lookups[id].clk; + clkdev_add(&console_clock_lookup); +} + +/* -------------------------------------------------------------------- + * GPIO + * -------------------------------------------------------------------- */ + +static struct at91_gpio_bank at91cap9_gpio[] __initdata = { + { + .id = AT91CAP9_ID_PIOABCD, + .regbase = AT91CAP9_BASE_PIOA, + }, { + .id = AT91CAP9_ID_PIOABCD, + .regbase = AT91CAP9_BASE_PIOB, + }, { + .id = AT91CAP9_ID_PIOABCD, + .regbase = AT91CAP9_BASE_PIOC, + }, { + .id = AT91CAP9_ID_PIOABCD, + .regbase = AT91CAP9_BASE_PIOD, + } +}; + +/* -------------------------------------------------------------------- + * AT91CAP9 processor initialization + * -------------------------------------------------------------------- */ + +static void __init at91cap9_map_io(void) +{ + at91_init_sram(0, AT91CAP9_SRAM_BASE, AT91CAP9_SRAM_SIZE); +} + +static void __init at91cap9_ioremap_registers(void) +{ + at91_ioremap_shdwc(AT91CAP9_BASE_SHDWC); + at91_ioremap_rstc(AT91CAP9_BASE_RSTC); + at91sam926x_ioremap_pit(AT91CAP9_BASE_PIT); + at91sam9_ioremap_smc(0, AT91CAP9_BASE_SMC); +} + +static void __init at91cap9_initialize(void) +{ + arm_pm_restart = at91sam9g45_restart; + at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); + + /* Register GPIO subsystem */ + at91_gpio_init(at91cap9_gpio, 4); + + /* Remember the silicon revision */ + if (cpu_is_at91cap9_revB()) + system_rev = 0xB; + else if (cpu_is_at91cap9_revC()) + system_rev = 0xC; +} + +/* -------------------------------------------------------------------- + * Interrupt initialization + * -------------------------------------------------------------------- */ + +/* + * The default interrupt priority levels (0 = lowest, 7 = highest). + */ +static unsigned int at91cap9_default_irq_priority[NR_AIC_IRQS] __initdata = { + 7, /* Advanced Interrupt Controller (FIQ) */ + 7, /* System Peripherals */ + 1, /* Parallel IO Controller A, B, C and D */ + 0, /* MP Block Peripheral 0 */ + 0, /* MP Block Peripheral 1 */ + 0, /* MP Block Peripheral 2 */ + 0, /* MP Block Peripheral 3 */ + 0, /* MP Block Peripheral 4 */ + 5, /* USART 0 */ + 5, /* USART 1 */ + 5, /* USART 2 */ + 0, /* Multimedia Card Interface 0 */ + 0, /* Multimedia Card Interface 1 */ + 3, /* CAN */ + 6, /* Two-Wire Interface */ + 5, /* Serial Peripheral Interface 0 */ + 5, /* Serial Peripheral Interface 1 */ + 4, /* Serial Synchronous Controller 0 */ + 4, /* Serial Synchronous Controller 1 */ + 5, /* AC97 Controller */ + 0, /* Timer Counter 0, 1 and 2 */ + 0, /* Pulse Width Modulation Controller */ + 3, /* Ethernet */ + 0, /* Advanced Encryption Standard, Triple DES*/ + 0, /* Analog-to-Digital Converter */ + 0, /* Image Sensor Interface */ + 3, /* LCD Controller */ + 0, /* DMA Controller */ + 2, /* USB Device Port */ + 2, /* USB Host port */ + 0, /* Advanced Interrupt Controller (IRQ0) */ + 0, /* Advanced Interrupt Controller (IRQ1) */ +}; + +struct at91_init_soc __initdata at91cap9_soc = { + .map_io = at91cap9_map_io, + .default_irq_priority = at91cap9_default_irq_priority, + .ioremap_registers = at91cap9_ioremap_registers, + .register_clocks = at91cap9_register_clocks, + .init = at91cap9_initialize, +}; diff --git a/trunk/arch/arm/mach-at91/at91cap9_devices.c b/trunk/arch/arm/mach-at91/at91cap9_devices.c new file mode 100644 index 000000000000..d298fb7cb210 --- /dev/null +++ b/trunk/arch/arm/mach-at91/at91cap9_devices.c @@ -0,0 +1,1273 @@ +/* + * arch/arm/mach-at91/at91cap9_devices.c + * + * Copyright (C) 2007 Stelian Pop + * Copyright (C) 2007 Lead Tech Design + * Copyright (C) 2007 Atmel Corporation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ +#include +#include +#include + +#include +#include +#include +#include + +#include