From 96e08a4f2a3fff75dfea07f7873196e8306782cb Mon Sep 17 00:00:00 2001 From: Ryan Mallon Date: Wed, 11 Jan 2012 09:06:08 +1100 Subject: [PATCH] --- yaml --- r: 295727 b: refs/heads/master c: 258249ec0eaea479eead856ee49e336415f4b1df h: refs/heads/master i: 295725: 0c5f52755258818bcb38ab78b904c3988ca1e015 295723: fb7e1e2115d7750cdcbf50998d9420d5d980c9b1 295719: 1e5faceedc3423de119703ed18ab905687acdca4 295711: 6f9885cfed46ebbdcf341dfba60264276c228731 v: v3 --- [refs] | 2 +- .../devicetree/bindings/gpio/led.txt | 6 +- .../devicetree/bindings/vendor-prefixes.txt | 1 + .../feature-removal-schedule.txt | 14 + trunk/Documentation/hwmon/jc42 | 26 +- trunk/Documentation/input/alps.txt | 3 +- trunk/Documentation/kernel-parameters.txt | 6 + trunk/MAINTAINERS | 6 +- trunk/Makefile | 2 +- trunk/arch/alpha/include/asm/futex.h | 2 +- trunk/arch/arm/Kconfig | 37 +- trunk/arch/arm/Kconfig.debug | 158 +- trunk/arch/arm/Makefile | 2 +- trunk/arch/arm/boot/.gitignore | 1 + trunk/arch/arm/boot/compressed/head.S | 2 +- trunk/arch/arm/configs/at91cap9_defconfig | 108 ++ trunk/arch/arm/configs/mini2440_defconfig | 2 +- trunk/arch/arm/configs/s3c2410_defconfig | 57 +- trunk/arch/arm/configs/tct_hammer_defconfig | 2 +- .../include/asm/hardware/entry-macro-iomd.S | 8 + trunk/arch/arm/include/asm/pmu.h | 2 +- trunk/arch/arm/include/asm/system.h | 1 - trunk/arch/arm/kernel/ecard.c | 1 + trunk/arch/arm/kernel/entry-armv.S | 3 +- trunk/arch/arm/kernel/entry-common.S | 8 +- trunk/arch/arm/kernel/perf_event.c | 45 +- trunk/arch/arm/kernel/perf_event_v6.c | 22 +- trunk/arch/arm/kernel/perf_event_v7.c | 11 +- trunk/arch/arm/kernel/perf_event_xscale.c | 20 +- trunk/arch/arm/kernel/process.c | 27 +- trunk/arch/arm/mach-at91/Kconfig | 26 +- trunk/arch/arm/mach-at91/Makefile | 4 + trunk/arch/arm/mach-at91/Makefile.boot | 6 +- trunk/arch/arm/mach-at91/at91cap9.c | 396 +++++ trunk/arch/arm/mach-at91/at91cap9_devices.c | 1273 ++++++++++++++ trunk/arch/arm/mach-at91/at91rm9200.c | 10 - trunk/arch/arm/mach-at91/at91sam9260.c | 8 - trunk/arch/arm/mach-at91/at91sam9261.c | 8 - trunk/arch/arm/mach-at91/at91sam9263.c | 8 - trunk/arch/arm/mach-at91/at91sam9g45.c | 7 - .../arch/arm/mach-at91/at91sam9g45_devices.c | 19 +- trunk/arch/arm/mach-at91/at91sam9rl.c | 8 - trunk/arch/arm/mach-at91/at91sam9rl_devices.c | 8 +- trunk/arch/arm/mach-at91/at91x40.c | 12 - trunk/arch/arm/mach-at91/board-cap9adk.c | 396 +++++ trunk/arch/arm/mach-at91/clock.c | 5 +- trunk/arch/arm/mach-at91/cpuidle.c | 11 +- trunk/arch/arm/mach-at91/generic.h | 1 + .../arm/mach-at91/include/mach/at91_pmc.h | 14 +- .../arm/mach-at91/include/mach/at91cap9.h | 122 ++ .../mach-at91/include/mach/at91cap9_matrix.h | 137 ++ .../mach-at91/include/mach/at91sam9_ddrsdr.h | 10 + 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 | 4 +- .../arch/arm/mach-at91/include/mach/system.h | 50 + trunk/arch/arm/mach-at91/pm.c | 17 +- trunk/arch/arm/mach-at91/pm.h | 91 +- trunk/arch/arm/mach-at91/pm_slowclock.S | 12 +- trunk/arch/arm/mach-at91/setup.c | 17 + trunk/arch/arm/mach-at91/soc.h | 5 + trunk/arch/arm/mach-bcmring/core.c | 23 +- .../mach-bcmring/include/mach/entry-macro.S | 6 + .../arm/mach-bcmring/include/mach/system.h | 28 + trunk/arch/arm/mach-clps711x/common.c | 16 - .../mach-clps711x/include/mach/entry-macro.S | 6 + .../arm/mach-clps711x/include/mach/system.h | 35 + .../mach-cns3xxx/include/mach/entry-macro.S | 15 + .../arm/mach-cns3xxx/include/mach/system.h | 25 + trunk/arch/arm/mach-davinci/board-dm355-evm.c | 3 +- .../arm/mach-davinci/board-dm355-leopard.c | 3 +- trunk/arch/arm/mach-davinci/board-dm365-evm.c | 3 +- .../arch/arm/mach-davinci/board-dm644x-evm.c | 28 +- .../arch/arm/mach-davinci/board-dm646x-evm.c | 32 +- .../arch/arm/mach-davinci/board-neuros-osd2.c | 3 +- trunk/arch/arm/mach-davinci/board-sffsdr.c | 3 +- trunk/arch/arm/mach-davinci/davinci.h | 96 - trunk/arch/arm/mach-davinci/devices.c | 32 +- trunk/arch/arm/mach-davinci/dm355.c | 3 +- trunk/arch/arm/mach-davinci/dm365.c | 19 +- trunk/arch/arm/mach-davinci/dm644x.c | 53 +- trunk/arch/arm/mach-davinci/dm646x.c | 21 +- .../arm/mach-davinci/include/mach/dm355.h | 32 + .../arm/mach-davinci/include/mach/dm365.h | 53 +- .../arm/mach-davinci/include/mach/dm644x.h | 47 + .../arm/mach-davinci/include/mach/dm646x.h | 42 +- .../mach-davinci/include/mach/entry-macro.S | 6 + .../arm/mach-davinci/include/mach/hardware.h | 2 + .../arm/mach-davinci/include/mach/system.h | 21 + .../arm/mach-dove/include/mach/entry-macro.S | 6 + .../arch/arm/mach-dove/include/mach/system.h | 17 + trunk/arch/arm/mach-ebsa110/core.c | 25 - .../mach-ebsa110/include/mach/entry-macro.S | 6 + .../arm/mach-ebsa110/include/mach/system.h | 37 + trunk/arch/arm/mach-ep93xx/adssphere.c | 1 + trunk/arch/arm/mach-ep93xx/core.c | 46 +- trunk/arch/arm/mach-ep93xx/edb93xx.c | 1 + trunk/arch/arm/mach-ep93xx/gesbc9312.c | 1 + .../mach-ep93xx/include/mach/entry-macro.S | 17 + .../mach-ep93xx/include/mach/ep93xx-regs.h | 34 - .../arm/mach-ep93xx/include/mach/system.h | 7 + trunk/arch/arm/mach-ep93xx/micro9.c | 1 + trunk/arch/arm/mach-ep93xx/simone.c | 2 + trunk/arch/arm/mach-ep93xx/snappercl15.c | 2 + trunk/arch/arm/mach-ep93xx/soc.h | 50 + trunk/arch/arm/mach-ep93xx/ts72xx.c | 1 + trunk/arch/arm/mach-ep93xx/vision_ep9307.c | 4 + trunk/arch/arm/mach-exynos/Makefile | 3 +- trunk/arch/arm/mach-exynos/clock-exynos4.c | 1563 ---------------- trunk/arch/arm/mach-exynos/clock-exynos4.h | 30 - trunk/arch/arm/mach-exynos/clock-exynos4210.c | 48 +- trunk/arch/arm/mach-exynos/clock-exynos4212.c | 32 +- trunk/arch/arm/mach-exynos/clock.c | 1564 +++++++++++++++++ trunk/arch/arm/mach-exynos/common.c | 14 +- trunk/arch/arm/mach-exynos/common.h | 9 - trunk/arch/arm/mach-exynos/dma.c | 46 +- .../mach-exynos/include/mach/entry-macro.S | 16 + .../mach-exynos/include/mach/exynos4-clock.h | 43 + .../arm/mach-exynos/include/mach/regs-clock.h | 416 ++--- .../arm/mach-exynos/include/mach/system.h | 20 + trunk/arch/arm/mach-exynos/mach-origen.c | 2 +- .../arm/mach-exynos/mach-universal_c210.c | 4 +- trunk/arch/arm/mach-exynos/pm.c | 40 +- .../include/mach/entry-macro.S | 6 + .../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 + .../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 + .../arch/arm/mach-h720x/include/mach/system.h | 27 + .../mach-highbank/include/mach/entry-macro.S | 5 + .../arm/mach-highbank/include/mach/system.h | 24 + trunk/arch/arm/mach-imx/clock-imx31.c | 2 +- trunk/arch/arm/mach-imx/clock-imx35.c | 166 +- .../{crmregs-imx3.h => crmregs-imx31.h} | 15 +- trunk/arch/arm/mach-imx/mach-armadillo5x0.c | 2 +- trunk/arch/arm/mach-imx/mm-imx3.c | 52 +- 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/system.h | 33 + .../arch/arm/mach-integrator/integrator_cp.c | 49 +- .../mach-iop13xx/include/mach/entry-macro.S | 3 + .../arm/mach-iop13xx/include/mach/system.h | 13 + .../mach-iop32x/include/mach/entry-macro.S | 3 + .../arm/mach-iop32x/include/mach/system.h | 13 + .../mach-iop33x/include/mach/entry-macro.S | 3 + .../arm/mach-iop33x/include/mach/system.h | 13 + .../mach-ixp2000/include/mach/entry-macro.S | 6 + .../arm/mach-ixp2000/include/mach/system.h | 14 + trunk/arch/arm/mach-ixp23xx/core.c | 3 - .../mach-ixp23xx/include/mach/entry-macro.S | 6 + .../arm/mach-ixp23xx/include/mach/system.h | 16 + trunk/arch/arm/mach-ixp4xx/common.c | 6 - .../mach-ixp4xx/include/mach/entry-macro.S | 6 + .../arm/mach-ixp4xx/include/mach/system.h | 19 + .../mach-kirkwood/include/mach/entry-macro.S | 6 + .../arm/mach-kirkwood/include/mach/system.h | 17 + .../mach-ks8695/include/mach/entry-macro.S | 6 + .../arm/mach-ks8695/include/mach/system.h | 27 + .../mach-lpc32xx/include/mach/entry-macro.S | 6 + .../arm/mach-lpc32xx/include/mach/system.h | 27 + trunk/arch/arm/mach-lpc32xx/phy3250.c | 32 +- .../arm/mach-mmp/include/mach/entry-macro.S | 6 + trunk/arch/arm/mach-mmp/include/mach/system.h | 16 + 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/system.h | 1 + .../mach-mv78xx0/include/mach/entry-macro.S | 6 + .../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 + 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 +- .../arm/mach-netx/include/mach/entry-macro.S | 26 + .../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 + .../arm/mach-nomadik/include/mach/system.h | 32 + .../arm/mach-omap1/ams-delta-fiq-handler.S | 3 +- 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/gpio15xx.c | 7 +- trunk/arch/arm/mach-omap1/gpio16xx.c | 47 +- trunk/arch/arm/mach-omap1/gpio7xx.c | 14 +- trunk/arch/arm/mach-omap1/id.c | 3 - .../arm/mach-omap1/include/mach/entry-macro.S | 8 +- .../arm/mach-omap1/include/mach/hardware.h | 36 - trunk/arch/arm/mach-omap1/include/mach/io.h | 43 +- .../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 | 42 - 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 | 4 - trunk/arch/arm/mach-omap1/time.c | 3 +- trunk/arch/arm/mach-omap1/timer32k.c | 7 +- trunk/arch/arm/mach-omap2/board-2430sdp.c | 2 +- trunk/arch/arm/mach-omap2/board-3430sdp.c | 5 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 4 +- trunk/arch/arm/mach-omap2/board-am3517evm.c | 2 +- trunk/arch/arm/mach-omap2/board-cm-t35.c | 6 +- trunk/arch/arm/mach-omap2/board-devkit8000.c | 4 +- trunk/arch/arm/mach-omap2/board-flash.c | 2 +- trunk/arch/arm/mach-omap2/board-igep0020.c | 6 +- trunk/arch/arm/mach-omap2/board-ldp.c | 2 +- trunk/arch/arm/mach-omap2/board-n8x0.c | 1 + trunk/arch/arm/mach-omap2/board-omap3beagle.c | 10 +- trunk/arch/arm/mach-omap2/board-omap3evm.c | 7 +- trunk/arch/arm/mach-omap2/board-omap3logic.c | 2 +- .../arch/arm/mach-omap2/board-omap3pandora.c | 5 +- .../arch/arm/mach-omap2/board-omap3stalker.c | 15 +- .../arm/mach-omap2/board-omap3touchbook.c | 17 +- trunk/arch/arm/mach-omap2/board-omap4panda.c | 6 +- trunk/arch/arm/mach-omap2/board-overo.c | 3 +- trunk/arch/arm/mach-omap2/board-rm680.c | 2 +- .../arm/mach-omap2/board-rx51-peripherals.c | 5 +- .../arch/arm/mach-omap2/board-zoom-display.c | 1 + .../arm/mach-omap2/board-zoom-peripherals.c | 4 +- .../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 | 3 +- trunk/arch/arm/mach-omap2/clock44xx_data.c | 3 - trunk/arch/arm/mach-omap2/cm2xxx_3xxx.c | 4 +- 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 | 5 +- trunk/arch/arm/mach-omap2/common.h | 7 - trunk/arch/arm/mach-omap2/control.c | 4 +- trunk/arch/arm/mach-omap2/control.h | 1 + trunk/arch/arm/mach-omap2/devices.c | 10 +- trunk/arch/arm/mach-omap2/display.c | 9 +- trunk/arch/arm/mach-omap2/emu.c | 30 +- trunk/arch/arm/mach-omap2/gpio.c | 38 +- trunk/arch/arm/mach-omap2/gpmc-nand.c | 1 - trunk/arch/arm/mach-omap2/gpmc-onenand.c | 1 - trunk/arch/arm/mach-omap2/hsmmc.c | 123 +- trunk/arch/arm/mach-omap2/hsmmc.h | 12 +- trunk/arch/arm/mach-omap2/id.c | 1 + .../arm/mach-omap2/include/mach/entry-macro.S | 18 + trunk/arch/arm/mach-omap2/include/mach/io.h | 46 +- .../arch/arm/mach-omap2/include/mach/system.h | 5 + trunk/arch/arm/mach-omap2/io.c | 57 +- trunk/arch/arm/mach-omap2/irq.c | 5 +- trunk/arch/arm/mach-omap2/mailbox.c | 3 +- trunk/arch/arm/mach-omap2/mcbsp.c | 2 +- trunk/arch/arm/mach-omap2/mux.c | 16 +- trunk/arch/arm/mach-omap2/omap-iommu.c | 3 +- .../arch/arm/mach-omap2/omap-mpuss-lowpower.c | 2 + trunk/arch/arm/mach-omap2/omap-smp.c | 3 +- trunk/arch/arm/mach-omap2/omap4-common.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/pm-debug.c | 6 +- trunk/arch/arm/mach-omap2/pm.c | 115 +- trunk/arch/arm/mach-omap2/pm.h | 3 +- trunk/arch/arm/mach-omap2/pm24xx.c | 104 +- trunk/arch/arm/mach-omap2/pm34xx.c | 94 +- trunk/arch/arm/mach-omap2/pm44xx.c | 65 +- trunk/arch/arm/mach-omap2/prcm_mpu44xx.c | 2 +- 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 | 6 +- trunk/arch/arm/mach-omap2/serial.c | 4 + trunk/arch/arm/mach-omap2/sleep24xx.S | 1 + trunk/arch/arm/mach-omap2/sleep34xx.S | 5 +- trunk/arch/arm/mach-omap2/sr_device.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/twl-common.c | 1 - .../mach-orion5x/include/mach/entry-macro.S | 6 + .../arm/mach-orion5x/include/mach/system.h | 19 + .../mach-picoxcell/include/mach/entry-macro.S | 16 + .../arm/mach-picoxcell/include/mach/system.h | 26 + .../mach-pnx4008/include/mach/entry-macro.S | 6 + .../arm/mach-pnx4008/include/mach/system.h | 29 + .../mach-prima2/include/mach/entry-macro.S | 7 + .../arm/mach-prima2/include/mach/system.h | 17 + trunk/arch/arm/mach-pxa/generic.h | 1 - .../arm/mach-pxa/include/mach/entry-macro.S | 15 + trunk/arch/arm/mach-pxa/include/mach/system.h | 15 + trunk/arch/arm/mach-pxa/mfp-pxa2xx.c | 7 + trunk/arch/arm/mach-pxa/pxa25x.c | 2 +- trunk/arch/arm/mach-pxa/pxa27x.c | 2 +- trunk/arch/arm/mach-pxa/pxa3xx.c | 1 - trunk/arch/arm/mach-pxa/pxa95x.c | 1 - trunk/arch/arm/mach-realview/core.h | 20 +- .../mach-realview/include/mach/entry-macro.S | 16 + .../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 + trunk/arch/arm/mach-rpc/include/mach/system.h | 13 + trunk/arch/arm/mach-rpc/irq.c | 6 - trunk/arch/arm/mach-s3c2410/Kconfig | 154 ++ trunk/arch/arm/mach-s3c2410/Makefile | 26 + .../Makefile.boot | 0 .../{mach-s3c24xx => mach-s3c2410}/bast-ide.c | 0 .../{mach-s3c24xx => mach-s3c2410}/bast-irq.c | 0 .../{mach-s3c24xx => mach-s3c2410}/common.h | 6 - .../dma-s3c2410.c => mach-s3c2410/dma.c} | 0 .../h1940-bluetooth.c | 0 .../include/mach/anubis-cpld.h | 0 .../include/mach/anubis-irq.h | 0 .../include/mach/anubis-map.h | 0 .../include/mach/bast-cpld.h | 0 .../include/mach/bast-irq.h | 0 .../include/mach/bast-map.h | 0 .../include/mach/bast-pmu.h | 0 .../include/mach/debug-macro.S | 0 .../include/mach/dma.h | 0 .../include/mach/entry-macro.S | 8 + .../include/mach/fb.h | 0 .../include/mach/gpio-fns.h | 0 .../include/mach/gpio-nrs.h | 0 .../include/mach/gpio-track.h | 0 .../include/mach/gpio.h | 0 .../include/mach/h1940-latch.h | 0 .../include/mach/h1940.h | 0 .../include/mach/hardware.h | 0 .../include/mach/idle.h | 0 .../include/mach/io.h | 0 .../include/mach/irqs.h | 0 .../include/mach/leds-gpio.h | 0 .../include/mach/map.h | 0 .../include/mach/osiris-cpld.h | 0 .../include/mach/osiris-map.h | 0 .../include/mach/otom-map.h | 0 .../include/mach/pm-core.h | 0 .../include/mach/regs-clock.h | 0 .../include/mach/regs-dsc.h | 0 .../include/mach/regs-gpio.h | 0 .../include/mach/regs-gpioj.h | 0 .../include/mach/regs-irq.h | 0 .../include/mach/regs-lcd.h | 0 .../include/mach/regs-mem.h | 0 .../include/mach/regs-power.h | 0 .../include/mach/regs-s3c2412-mem.h | 0 .../include/mach/regs-s3c2412.h | 0 .../include/mach/regs-s3c2416-mem.h | 0 .../include/mach/regs-s3c2416.h | 0 .../include/mach/regs-s3c2443-clock.h | 0 .../include/mach/regs-sdi.h | 0 .../arm/mach-s3c2410/include/mach/spi.h} | 20 +- .../arm/mach-s3c2410/include/mach/system.h | 54 + .../include/mach/tick.h | 0 .../include/mach/timex.h | 0 .../include/mach/uncompress.h | 0 .../include/mach/vr1000-cpld.h | 0 .../include/mach/vr1000-irq.h | 0 .../include/mach/vr1000-map.h | 0 .../mach-amlm5900.c | 0 .../mach-bast.c | 3 +- .../mach-h1940.c | 12 +- .../{mach-s3c24xx => mach-s3c2410}/mach-n30.c | 0 .../mach-otom.c | 0 .../mach-qt2410.c | 0 .../mach-smdk2410.c | 0 .../mach-tct_hammer.c | 0 .../mach-vr1000.c | 3 +- .../nor-simtec.c} | 2 +- .../simtec.h => mach-s3c2410/nor-simtec.h} | 9 +- .../{mach-s3c24xx => mach-s3c2410}/pm-h1940.S | 0 .../pm-s3c2410.c => mach-s3c2410/pm.c} | 0 .../{mach-s3c24xx => mach-s3c2410}/s3c2410.c | 0 .../sleep-s3c2410.S => mach-s3c2410/sleep.S} | 0 .../usb-simtec.c} | 2 +- trunk/arch/arm/mach-s3c2410/usb-simtec.h | 16 + trunk/arch/arm/mach-s3c2412/Kconfig | 85 + trunk/arch/arm/mach-s3c2412/Makefile | 12 + .../clock-s3c2412.c => mach-s3c2412/clock.c} | 0 .../dma-s3c2412.c => mach-s3c2412/dma.c} | 0 .../irq-s3c2412.c => mach-s3c2412/irq.c} | 0 .../mach-jive.c | 0 .../mach-smdk2413.c | 0 .../mach-vstms.c | 0 .../pm-s3c2412.c => mach-s3c2412/pm.c} | 0 .../{mach-s3c24xx => mach-s3c2412}/s3c2412.c | 4 +- .../sleep-s3c2412.S => mach-s3c2412/sleep.S} | 0 trunk/arch/arm/mach-s3c2416/Kconfig | 60 + trunk/arch/arm/mach-s3c2416/Makefile | 22 + .../clock-s3c2416.c => mach-s3c2416/clock.c} | 7 + .../irq-s3c2416.c => mach-s3c2416/irq.c} | 0 .../mach-smdk2416.c | 8 +- .../pm-s3c2416.c => mach-s3c2416/pm.c} | 0 .../{mach-s3c24xx => mach-s3c2416}/s3c2416.c | 3 + .../setup-sdhci-gpio.c | 0 trunk/arch/arm/mach-s3c2440/Kconfig | 165 ++ trunk/arch/arm/mach-s3c2440/Makefile | 26 +- .../clock-s3c2440.c => mach-s3c2440/clock.c} | 0 trunk/arch/arm/mach-s3c2440/common.h | 17 + .../dma-s3c2440.c => mach-s3c2440/dma.c} | 0 .../include/mach/gta02.h | 0 .../irq-s3c2440.c => mach-s3c2440/irq.c} | 0 .../mach-anubis.c | 3 +- .../mach-at2440evb.c | 2 +- .../mach-gta02.c | 8 +- .../mach-mini2440.c | 2 +- .../mach-nexcoder.c | 2 +- .../mach-osiris-dvs.c | 0 .../mach-osiris.c | 2 +- .../mach-rx1950.c | 14 +- .../mach-rx3715.c | 2 +- .../mach-smdk2440.c | 2 +- .../{mach-s3c24xx => mach-s3c2440}/s3c2440.c | 13 - .../{mach-s3c24xx => mach-s3c2440}/s3c2442.c | 0 .../s3c244x-clock.c} | 0 .../s3c244x-irq.c} | 0 .../{mach-s3c24xx => mach-s3c2440}/s3c244x.c | 12 + trunk/arch/arm/mach-s3c2443/Kconfig | 32 + trunk/arch/arm/mach-s3c2443/Makefile | 20 + .../clock-s3c2443.c => mach-s3c2443/clock.c} | 7 + .../dma-s3c2443.c => mach-s3c2443/dma.c} | 30 +- .../irq-s3c2443.c => mach-s3c2443/irq.c} | 0 .../mach-smdk2443.c | 0 .../{mach-s3c24xx => mach-s3c2443}/s3c2443.c | 0 trunk/arch/arm/mach-s3c24xx/Kconfig | 538 ------ trunk/arch/arm/mach-s3c24xx/Makefile | 95 - trunk/arch/arm/mach-s3c64xx/common.h | 2 + .../mach-s3c64xx/include/mach/entry-macro.S | 19 + .../arm/mach-s3c64xx/include/mach/system.h | 19 + trunk/arch/arm/mach-s3c64xx/irq-pm.c | 2 +- trunk/arch/arm/mach-s5p64x0/clock.c | 11 +- trunk/arch/arm/mach-s5p64x0/common.c | 15 +- trunk/arch/arm/mach-s5p64x0/dma.c | 30 +- .../mach-s5p64x0/include/mach/entry-macro.S | 17 + .../mach-s5p64x0/include/mach/s5p64x0-clock.h | 7 + .../arm/mach-s5p64x0/include/mach/system.h | 21 + trunk/arch/arm/mach-s5pc100/clock.c | 28 +- trunk/arch/arm/mach-s5pc100/common.c | 12 + trunk/arch/arm/mach-s5pc100/dma.c | 46 +- .../mach-s5pc100/include/mach/entry-macro.S | 6 + .../arm/mach-s5pc100/include/mach/system.h | 19 + trunk/arch/arm/mach-s5pv210/common.c | 12 + trunk/arch/arm/mach-s5pv210/dma.c | 46 +- .../mach-s5pv210/include/mach/entry-macro.S | 17 + .../arm/mach-s5pv210/include/mach/system.h | 21 + trunk/arch/arm/mach-s5pv210/mach-goni.c | 2 +- trunk/arch/arm/mach-s5pv210/mach-smdkv210.c | 2 +- .../mach-sa1100/include/mach/entry-macro.S | 6 + .../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 + .../arch/arm/mach-shark/include/mach/system.h | 13 + .../mach-shmobile/include/mach/entry-macro.S | 22 + .../arm/mach-shmobile/include/mach/system.h | 5 + .../mach-spear3xx/include/mach/entry-macro.S | 18 + .../arm/mach-spear3xx/include/mach/system.h | 19 + trunk/arch/arm/mach-spear3xx/spear300.c | 14 +- trunk/arch/arm/mach-spear3xx/spear3xx.c | 27 +- .../mach-spear6xx/include/mach/entry-macro.S | 18 + .../arm/mach-spear6xx/include/mach/system.h | 19 + trunk/arch/arm/mach-spear6xx/spear6xx.c | 10 +- trunk/arch/arm/mach-tegra/Kconfig | 14 - trunk/arch/arm/mach-tegra/Makefile | 3 +- trunk/arch/arm/mach-tegra/common.c | 1 + .../arm/mach-tegra/include/mach/entry-macro.S | 20 + .../arch/arm/mach-tegra/include/mach/system.h | 28 + 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 + .../arch/arm/mach-u300/include/mach/system.h | 14 + trunk/arch/arm/mach-ux500/Kconfig | 2 +- trunk/arch/arm/mach-ux500/devices-common.c | 13 +- .../arm/mach-ux500/include/mach/entry-macro.S | 18 + .../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 + .../arm/mach-versatile/include/mach/system.h | 33 + trunk/arch/arm/mach-versatile/versatile_pb.c | 18 +- trunk/arch/arm/mach-vexpress/Kconfig | 2 +- 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 + .../arm/mach-vexpress/include/mach/system.h | 33 + trunk/arch/arm/mach-vexpress/v2m.c | 20 +- .../mach-vt8500/include/mach/entry-macro.S | 6 + .../arm/mach-vt8500/include/mach/system.h | 5 + trunk/arch/arm/mach-w90x900/dev.c | 1 - .../mach-w90x900/include/mach/entry-macro.S | 8 + .../arm/mach-w90x900/include/mach/system.h | 19 + .../arm/mach-zynq/include/mach/entry-macro.S | 27 + .../arch/arm/mach-zynq/include/mach/system.h | 23 + trunk/arch/arm/mm/proc-v7.S | 4 +- trunk/arch/arm/plat-mxc/audmux-v1.c | 5 +- trunk/arch/arm/plat-mxc/avic.c | 2 +- .../arm/plat-mxc/include/mach/entry-macro.S | 16 + 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 - trunk/arch/arm/plat-omap/include/plat/gpio.h | 29 +- .../arm/plat-omap/include/plat/hardware.h | 6 - .../iomap.h => plat-omap/include/plat/io.h} | 80 +- trunk/arch/arm/plat-omap/include/plat/irqs.h | 10 +- .../arch/arm/plat-omap/include/plat/keypad.h | 2 - trunk/arch/arm/plat-omap/include/plat/mcspi.h | 3 + .../arm/plat-omap/include/plat/omap_device.h | 9 +- .../arch/arm/plat-omap/include/plat/serial.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 | 41 - trunk/arch/arm/plat-omap/mux.c | 5 +- trunk/arch/arm/plat-omap/omap-pm-noop.c | 2 +- trunk/arch/arm/plat-omap/omap_device.c | 44 +- trunk/arch/arm/plat-omap/sram.c | 9 +- trunk/arch/arm/plat-omap/usb.c | 4 - trunk/arch/arm/plat-s3c24xx/Kconfig | 57 +- trunk/arch/arm/plat-s3c24xx/Makefile | 19 +- .../common-smdk.c | 0 trunk/arch/arm/plat-s3c24xx/cpu.c | 27 - trunk/arch/arm/plat-s3c24xx/dma.c | 2 +- .../simtec-pm.c => plat-s3c24xx/pm-simtec.c} | 0 .../s3c2443-clock.c} | 90 +- .../setup-i2c.c | 0 .../{mach-s3c24xx => plat-s3c24xx}/setup-ts.c | 0 .../simtec-audio.c | 2 - .../arm/plat-s3c24xx/spi-bus0-gpe11_12_13.c | 36 + .../arm/plat-s3c24xx/spi-bus1-gpd8_9_10.c | 38 + .../arch/arm/plat-s3c24xx/spi-bus1-gpg5_6_7.c | 36 + trunk/arch/arm/plat-s5p/irq-eint.c | 2 +- trunk/arch/arm/plat-s5p/irq-gpioint.c | 2 +- trunk/arch/arm/plat-samsung/Kconfig | 4 +- trunk/arch/arm/plat-samsung/devs.c | 15 +- trunk/arch/arm/plat-samsung/dma-ops.c | 2 +- .../plat-samsung/include/plat/audio-simtec.h | 3 + .../arm/plat-samsung/include/plat/clock.h | 22 +- .../arm/plat-samsung/include/plat/regs-dma.h | 2 +- .../arm/plat-samsung/include/plat/s3c2410.h | 2 + .../arm/plat-samsung/include/plat/s3c2443.h | 20 + .../arch/arm/plat-spear/include/plat/system.h | 26 + trunk/arch/arm/plat-spear/time.c | 6 +- .../arch/avr32/mach-at32ap/include/mach/cpu.h | 3 + trunk/arch/c6x/include/asm/processor.h | 4 +- trunk/arch/mips/alchemy/common/time.c | 2 +- trunk/arch/mips/ath79/dev-wmac.c | 2 +- trunk/arch/mips/configs/nlm_xlp_defconfig | 4 +- trunk/arch/mips/configs/nlm_xlr_defconfig | 4 +- trunk/arch/mips/configs/powertv_defconfig | 2 +- .../include/asm/mach-au1x00/gpio-au1300.h | 20 +- trunk/arch/mips/include/asm/page.h | 3 - trunk/arch/mips/kernel/smp-bmips.c | 1 - trunk/arch/mips/kernel/traps.c | 2 +- trunk/arch/mips/kernel/vmlinux.lds.S | 1 - trunk/arch/mips/mm/fault.c | 36 +- trunk/arch/mips/pci/pci.c | 5 +- trunk/arch/mips/pmc-sierra/yosemite/ht-irq.c | 10 - trunk/arch/mips/txx9/generic/7segled.c | 2 +- trunk/arch/x86/ia32/ia32_aout.c | 14 +- trunk/arch/x86/lib/delay.c | 4 +- trunk/arch/x86/mm/hugetlbpage.c | 4 +- trunk/arch/x86/pci/acpi.c | 22 +- trunk/drivers/amba/bus.c | 105 +- trunk/drivers/block/floppy.c | 2 +- trunk/drivers/char/hw_random/omap-rng.c | 2 - trunk/drivers/devfreq/exynos4_bus.c | 230 +-- trunk/drivers/gpio/gpio-omap.c | 1106 +++++++----- trunk/drivers/gpu/drm/gma500/cdv_device.c | 2 + trunk/drivers/gpu/drm/gma500/framebuffer.c | 1 - trunk/drivers/gpu/drm/gma500/gtt.c | 9 +- trunk/drivers/gpu/drm/radeon/r600.c | 3 + .../gpu/drm/radeon/r600_blit_shaders.c | 8 + trunk/drivers/gpu/drm/radeon/r600d.h | 1 + .../gpu/drm/radeon/radeon_connectors.c | 2 +- trunk/drivers/gpu/drm/radeon/radeon_display.c | 18 +- .../drivers/gpu/drm/radeon/radeon_encoders.c | 6 +- trunk/drivers/gpu/drm/radeon/radeon_fb.c | 11 +- trunk/drivers/gpu/drm/radeon/radeon_mode.h | 2 +- trunk/drivers/hid/hid-ids.h | 3 + trunk/drivers/hid/hid-input.c | 9 +- trunk/drivers/hid/usbhid/hid-quirks.c | 1 + trunk/drivers/hwmon/Kconfig | 5 +- trunk/drivers/hwmon/jc42.c | 30 +- trunk/drivers/hwmon/pmbus/pmbus_core.c | 3 +- trunk/drivers/hwmon/pmbus/zl6100.c | 10 +- trunk/drivers/input/evdev.c | 2 +- trunk/drivers/input/misc/twl4030-vibra.c | 6 +- trunk/drivers/input/mouse/alps.c | 7 +- trunk/drivers/input/tablet/Kconfig | 2 + trunk/drivers/input/tablet/wacom_wac.c | 2 +- trunk/drivers/input/touchscreen/Kconfig | 2 +- trunk/drivers/iommu/amd_iommu_init.c | 2 +- trunk/drivers/leds/Kconfig | 2 +- trunk/drivers/md/dm-flakey.c | 2 +- trunk/drivers/md/dm-io.c | 23 +- trunk/drivers/md/dm-ioctl.c | 2 +- trunk/drivers/md/dm-raid.c | 17 +- trunk/drivers/md/dm-thin-metadata.c | 25 +- trunk/drivers/md/raid1.c | 2 +- trunk/drivers/md/raid10.c | 38 +- trunk/drivers/mfd/ab8500-core.c | 5 +- trunk/drivers/mfd/mfd-core.c | 2 +- trunk/drivers/mfd/s5m-core.c | 2 +- trunk/drivers/mfd/tps65910.c | 2 +- trunk/drivers/mfd/tps65912-core.c | 2 +- trunk/drivers/mfd/wm8350-irq.c | 1 - trunk/drivers/mfd/wm8994-core.c | 14 + trunk/drivers/mfd/wm8994-regmap.c | 1 + trunk/drivers/misc/c2port/core.c | 4 +- trunk/drivers/mmc/core/core.c | 3 + trunk/drivers/mmc/core/host.c | 4 +- trunk/drivers/mmc/core/mmc.c | 3 + trunk/drivers/mmc/core/sd.c | 8 +- trunk/drivers/mmc/core/sdio.c | 8 + trunk/drivers/mmc/host/Kconfig | 2 +- trunk/drivers/mmc/host/at91_mci.c | 1 + trunk/drivers/mmc/host/atmel-mci.c | 21 +- trunk/drivers/mmc/host/mmci.c | 9 +- trunk/drivers/mmc/host/sdhci-esdhc-imx.c | 5 +- trunk/drivers/mtd/nand/Kconfig | 2 +- trunk/drivers/net/caif/caif_hsi.c | 2 +- .../net/ethernet/atheros/atl1c/atl1c_main.c | 2 +- trunk/drivers/net/ethernet/broadcom/tg3.c | 51 +- .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 + .../ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 2 + trunk/drivers/net/ethernet/cisco/enic/enic.h | 2 +- .../net/ethernet/cisco/enic/enic_main.c | 2 +- .../drivers/net/ethernet/ibm/ehea/ehea_main.c | 4 +- trunk/drivers/net/ethernet/mellanox/mlx4/qp.c | 5 - .../ethernet/mellanox/mlx4/resource_tracker.c | 3 +- .../ethernet/oki-semi/pch_gbe/pch_gbe_param.c | 15 +- .../net/ethernet/packetengines/Kconfig | 1 + trunk/drivers/net/ethernet/qlogic/qla3xxx.c | 5 +- trunk/drivers/net/ethernet/realtek/r8169.c | 13 + trunk/drivers/net/hyperv/netvsc_drv.c | 4 +- trunk/drivers/net/usb/usbnet.c | 2 + trunk/drivers/net/vmxnet3/vmxnet3_drv.c | 7 +- trunk/drivers/net/vmxnet3/vmxnet3_int.h | 4 +- .../net/wireless/ath/ath9k/ar5008_phy.c | 25 +- .../net/wireless/ath/ath9k/ar9002_hw.c | 19 + trunk/drivers/net/wireless/ath/ath9k/hw.h | 1 - trunk/drivers/net/wireless/ath/carl9170/tx.c | 9 +- .../net/wireless/brcm80211/brcmsmac/ampdu.c | 12 +- .../net/wireless/iwlwifi/iwl-agn-lib.c | 2 +- .../net/wireless/iwlwifi/iwl-agn-sta.c | 10 +- trunk/drivers/net/wireless/mwifiex/cfg80211.c | 1 + trunk/drivers/net/wireless/rt2x00/rt2x00dev.c | 3 +- trunk/drivers/of/fdt.c | 1 - trunk/drivers/of/of_mdio.c | 2 +- trunk/drivers/of/platform.c | 6 +- trunk/drivers/pps/pps.c | 4 +- trunk/drivers/rapidio/devices/tsi721.c | 5 +- trunk/drivers/regulator/da9052-regulator.c | 8 +- trunk/drivers/regulator/tps65910-regulator.c | 2 +- trunk/drivers/rtc/Kconfig | 2 +- trunk/drivers/rtc/rtc-r9701.c | 14 +- trunk/drivers/rtc/rtc-sa1100.c | 81 +- trunk/drivers/s390/cio/qdio_main.c | 4 +- trunk/drivers/scsi/sd_dif.c | 2 +- trunk/drivers/spi/Kconfig | 2 +- trunk/drivers/spi/spi-pl022.c | 2 +- trunk/drivers/spi/spi-s3c24xx.c | 2 +- trunk/drivers/tty/Kconfig | 2 +- trunk/drivers/usb/Kconfig | 2 +- trunk/drivers/usb/gadget/Kconfig | 8 +- trunk/drivers/usb/host/ehci-fsl.c | 11 +- trunk/drivers/usb/host/ehci-fsl.h | 1 - trunk/drivers/usb/host/ohci-hcd.c | 2 +- trunk/drivers/video/Kconfig | 2 +- trunk/drivers/video/omap2/dss/dispc.c | 5 + trunk/drivers/video/omap2/dss/dss.c | 3 - trunk/drivers/watchdog/Kconfig | 2 +- trunk/fs/aio.c | 24 +- trunk/fs/binfmt_aout.c | 14 +- trunk/fs/btrfs/backref.c | 8 +- trunk/fs/btrfs/reada.c | 2 +- trunk/fs/cifs/dir.c | 20 +- trunk/fs/cifs/inode.c | 28 +- trunk/fs/dcache.c | 20 + trunk/fs/exec.c | 18 +- trunk/include/linux/amba/bus.h | 36 - trunk/include/linux/amba/serial.h | 2 + trunk/include/linux/dcache.h | 20 - trunk/include/linux/kmsg_dump.h | 9 +- trunk/include/linux/memcontrol.h | 5 - trunk/include/linux/of.h | 8 + trunk/include/linux/percpu.h | 29 +- trunk/include/linux/sched.h | 3 +- trunk/include/linux/tcp.h | 3 +- trunk/include/net/inetpeer.h | 4 +- trunk/include/net/tcp.h | 5 +- trunk/kernel/fork.c | 60 +- trunk/kernel/hung_task.c | 11 +- trunk/kernel/irq/manage.c | 44 +- trunk/kernel/kprobes.c | 12 +- trunk/kernel/printk.c | 6 + trunk/kernel/sched/core.c | 4 +- trunk/lib/debugobjects.c | 14 +- trunk/lib/vsprintf.c | 12 +- trunk/mm/huge_memory.c | 6 +- trunk/mm/hugetlb.c | 2 +- trunk/mm/ksm.c | 11 - trunk/mm/memcontrol.c | 102 +- trunk/mm/mempolicy.c | 3 +- trunk/mm/migrate.c | 2 - trunk/mm/mlock.c | 3 +- trunk/mm/mmap.c | 17 +- trunk/mm/mprotect.c | 3 +- trunk/mm/page_cgroup.c | 4 +- trunk/mm/percpu-vm.c | 3 +- trunk/mm/swap.c | 8 +- trunk/mm/swap_state.c | 10 - trunk/net/bridge/br_multicast.c | 7 +- trunk/net/bridge/br_netfilter.c | 32 +- trunk/net/bridge/br_stp.c | 8 +- trunk/net/bridge/br_stp_if.c | 3 +- trunk/net/bridge/netfilter/ebtables.c | 26 +- trunk/net/core/rtnetlink.c | 18 +- trunk/net/ipv4/inetpeer.c | 81 +- trunk/net/ipv4/route.c | 12 +- trunk/net/ipv4/tcp_input.c | 23 +- trunk/net/ipv6/addrconf.c | 4 + trunk/net/mac80211/iface.c | 3 + trunk/net/mac80211/rate.c | 2 +- trunk/net/netfilter/nf_conntrack_core.c | 8 +- trunk/net/netfilter/nf_conntrack_netlink.c | 3 - trunk/net/openvswitch/actions.c | 44 +- trunk/net/openvswitch/datapath.c | 3 + trunk/sound/pci/hda/patch_realtek.c | 17 + trunk/sound/pci/rme9652/hdspm.c | 1 + trunk/sound/soc/samsung/Kconfig | 12 +- trunk/sound/soc/samsung/neo1973_wm8753.c | 4 +- trunk/tools/perf/builtin-record.c | 33 +- trunk/tools/perf/builtin-top.c | 23 +- trunk/tools/perf/perf.h | 1 + trunk/tools/perf/util/top.h | 1 + trunk/tools/perf/util/util.c | 2 +- 778 files changed, 11606 insertions(+), 6325 deletions(-) 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 create mode 100644 trunk/arch/arm/mach-at91/board-cap9adk.c 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 create mode 100644 trunk/arch/arm/mach-at91/include/mach/system.h create mode 100644 trunk/arch/arm/mach-bcmring/include/mach/system.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/system.h delete mode 100644 trunk/arch/arm/mach-davinci/davinci.h create mode 100644 trunk/arch/arm/mach-davinci/include/mach/dm355.h create mode 100644 trunk/arch/arm/mach-davinci/include/mach/dm644x.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/system.h create mode 100644 trunk/arch/arm/mach-ep93xx/soc.h delete mode 100644 trunk/arch/arm/mach-exynos/clock-exynos4.c delete mode 100644 trunk/arch/arm/mach-exynos/clock-exynos4.h create mode 100644 trunk/arch/arm/mach-exynos/clock.c create mode 100644 trunk/arch/arm/mach-exynos/include/mach/entry-macro.S create mode 100644 trunk/arch/arm/mach-exynos/include/mach/exynos4-clock.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-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/system.h rename trunk/arch/arm/mach-imx/{crmregs-imx3.h => crmregs-imx31.h} (94%) create mode 100644 trunk/arch/arm/mach-integrator/include/mach/system.h create mode 100644 trunk/arch/arm/mach-iop13xx/include/mach/system.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/system.h create mode 100644 trunk/arch/arm/mach-lpc32xx/include/mach/system.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-mv78xx0/include/mach/system.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/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/system.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/system.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/system.h create mode 100644 trunk/arch/arm/mach-pnx4008/include/mach/system.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/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/system.h delete mode 100644 trunk/arch/arm/mach-rpc/fiq.S create mode 100644 trunk/arch/arm/mach-rpc/include/mach/system.h rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/Makefile.boot (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/bast-ide.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/bast-irq.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/common.h (80%) rename trunk/arch/arm/{mach-s3c24xx/dma-s3c2410.c => mach-s3c2410/dma.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/h1940-bluetooth.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/anubis-cpld.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/anubis-irq.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/anubis-map.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/bast-cpld.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/bast-irq.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/bast-map.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/bast-pmu.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/debug-macro.S (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/dma.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/entry-macro.S (93%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/fb.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/gpio-fns.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/gpio-nrs.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/gpio-track.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/gpio.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/h1940-latch.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/h1940.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/hardware.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/idle.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/io.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/irqs.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/leds-gpio.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/map.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/osiris-cpld.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/osiris-map.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/otom-map.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/pm-core.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-clock.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-dsc.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-gpio.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-gpioj.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-irq.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-lcd.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-mem.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-power.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-s3c2412-mem.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-s3c2412.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-s3c2416-mem.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-s3c2416.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-s3c2443-clock.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/regs-sdi.h (100%) rename trunk/{include/linux/spi/s3c24xx.h => arch/arm/mach-s3c2410/include/mach/spi.h} (56%) create mode 100644 trunk/arch/arm/mach-s3c2410/include/mach/system.h rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/tick.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/timex.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/uncompress.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/vr1000-cpld.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/vr1000-irq.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/include/mach/vr1000-map.h (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-amlm5900.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-bast.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-h1940.c (98%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-n30.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-otom.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-qt2410.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-smdk2410.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-tct_hammer.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/mach-vr1000.c (99%) rename trunk/arch/arm/{mach-s3c24xx/simtec-nor.c => mach-s3c2410/nor-simtec.c} (98%) rename trunk/arch/arm/{mach-s3c24xx/simtec.h => mach-s3c2410/nor-simtec.h} (63%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/pm-h1940.S (100%) rename trunk/arch/arm/{mach-s3c24xx/pm-s3c2410.c => mach-s3c2410/pm.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2410}/s3c2410.c (100%) rename trunk/arch/arm/{mach-s3c24xx/sleep-s3c2410.S => mach-s3c2410/sleep.S} (100%) rename trunk/arch/arm/{mach-s3c24xx/simtec-usb.c => mach-s3c2410/usb-simtec.c} (99%) create mode 100644 trunk/arch/arm/mach-s3c2410/usb-simtec.h rename trunk/arch/arm/{mach-s3c24xx/clock-s3c2412.c => mach-s3c2412/clock.c} (100%) rename trunk/arch/arm/{mach-s3c24xx/dma-s3c2412.c => mach-s3c2412/dma.c} (100%) rename trunk/arch/arm/{mach-s3c24xx/irq-s3c2412.c => mach-s3c2412/irq.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2412}/mach-jive.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2412}/mach-smdk2413.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2412}/mach-vstms.c (100%) rename trunk/arch/arm/{mach-s3c24xx/pm-s3c2412.c => mach-s3c2412/pm.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2412}/s3c2412.c (99%) rename trunk/arch/arm/{mach-s3c24xx/sleep-s3c2412.S => mach-s3c2412/sleep.S} (100%) create mode 100644 trunk/arch/arm/mach-s3c2416/Kconfig create mode 100644 trunk/arch/arm/mach-s3c2416/Makefile rename trunk/arch/arm/{mach-s3c24xx/clock-s3c2416.c => mach-s3c2416/clock.c} (96%) rename trunk/arch/arm/{mach-s3c24xx/irq-s3c2416.c => mach-s3c2416/irq.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2416}/mach-smdk2416.c (96%) rename trunk/arch/arm/{mach-s3c24xx/pm-s3c2416.c => mach-s3c2416/pm.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2416}/s3c2416.c (98%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2416}/setup-sdhci-gpio.c (100%) rename trunk/arch/arm/{mach-s3c24xx/clock-s3c2440.c => mach-s3c2440/clock.c} (100%) create mode 100644 trunk/arch/arm/mach-s3c2440/common.h rename trunk/arch/arm/{mach-s3c24xx/dma-s3c2440.c => mach-s3c2440/dma.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/include/mach/gta02.h (100%) rename trunk/arch/arm/{mach-s3c24xx/irq-s3c2440.c => mach-s3c2440/irq.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-anubis.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-at2440evb.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-gta02.c (98%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-mini2440.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-nexcoder.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-osiris-dvs.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-osiris.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-rx1950.c (98%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-rx3715.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/mach-smdk2440.c (99%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/s3c2440.c (88%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/s3c2442.c (100%) rename trunk/arch/arm/{mach-s3c24xx/clock-s3c244x.c => mach-s3c2440/s3c244x-clock.c} (100%) rename trunk/arch/arm/{mach-s3c24xx/irq-s3c244x.c => mach-s3c2440/s3c244x-irq.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2440}/s3c244x.c (95%) create mode 100644 trunk/arch/arm/mach-s3c2443/Kconfig create mode 100644 trunk/arch/arm/mach-s3c2443/Makefile rename trunk/arch/arm/{mach-s3c24xx/clock-s3c2443.c => mach-s3c2443/clock.c} (97%) rename trunk/arch/arm/{mach-s3c24xx/dma-s3c2443.c => mach-s3c2443/dma.c} (85%) rename trunk/arch/arm/{mach-s3c24xx/irq-s3c2443.c => mach-s3c2443/irq.c} (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2443}/mach-smdk2443.c (100%) rename trunk/arch/arm/{mach-s3c24xx => mach-s3c2443}/s3c2443.c (100%) delete mode 100644 trunk/arch/arm/mach-s3c24xx/Kconfig delete mode 100644 trunk/arch/arm/mach-s3c24xx/Makefile create mode 100644 trunk/arch/arm/mach-s3c64xx/include/mach/entry-macro.S 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/system.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/system.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-spear3xx/include/mach/entry-macro.S 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/system.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-u300/include/mach/entry-macro.S 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/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/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/system.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/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/system.h rename trunk/arch/arm/{mach-omap2/iomap.h => plat-omap/include/plat/io.h} (77%) create mode 100644 trunk/arch/arm/plat-omap/include/plat/system.h rename trunk/arch/arm/{mach-s3c24xx => plat-s3c24xx}/common-smdk.c (100%) rename trunk/arch/arm/{mach-s3c24xx/simtec-pm.c => plat-s3c24xx/pm-simtec.c} (100%) rename trunk/arch/arm/{mach-s3c24xx/common-s3c2443.c => plat-s3c24xx/s3c2443-clock.c} (88%) rename trunk/arch/arm/{mach-s3c24xx => plat-s3c24xx}/setup-i2c.c (100%) rename trunk/arch/arm/{mach-s3c24xx => plat-s3c24xx}/setup-ts.c (100%) rename trunk/arch/arm/{mach-s3c24xx => plat-s3c24xx}/simtec-audio.c (98%) create mode 100644 trunk/arch/arm/plat-s3c24xx/spi-bus0-gpe11_12_13.c create mode 100644 trunk/arch/arm/plat-s3c24xx/spi-bus1-gpd8_9_10.c create mode 100644 trunk/arch/arm/plat-s3c24xx/spi-bus1-gpg5_6_7.c create mode 100644 trunk/arch/arm/plat-spear/include/plat/system.h diff --git a/[refs] b/[refs] index dc6fe867d847..ffe5129a4117 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e3643b77de143c5548ec93abd8aa68f4123295ea +refs/heads/master: 258249ec0eaea479eead856ee49e336415f4b1df diff --git a/trunk/Documentation/devicetree/bindings/gpio/led.txt b/trunk/Documentation/devicetree/bindings/gpio/led.txt index 141087cf3107..fd2bd56e7195 100644 --- a/trunk/Documentation/devicetree/bindings/gpio/led.txt +++ b/trunk/Documentation/devicetree/bindings/gpio/led.txt @@ -7,9 +7,9 @@ Each LED is represented as a sub-node of the gpio-leds device. Each node's name represents the name of the corresponding LED. LED sub-node properties: -- gpios : Should specify the LED's GPIO, see "Specifying GPIO information - for devices" in Documentation/devicetree/booting-without-of.txt. Active - low LEDs should be indicated using flags in the GPIO specifier. +- gpios : Should specify the LED's GPIO, see "gpios property" in + Documentation/devicetree/gpio.txt. Active low LEDs should be + indicated using flags in the GPIO specifier. - label : (optional) The label for this LED. If omitted, the label is taken from the node name (excluding the unit address). - linux,default-trigger : (optional) This parameter, if present, is a diff --git a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt index ecc6a6cd26c1..a20008ab319a 100644 --- a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -30,6 +30,7 @@ national National Semiconductor nintendo Nintendo nvidia NVIDIA nxp NXP Semiconductors +picochip Picochip Ltd powervr Imagination Technologies qcom Qualcomm, Inc. ramtron Ramtron International 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/hwmon/jc42 b/trunk/Documentation/hwmon/jc42 index a22ecf48f255..52729a756c1b 100644 --- a/trunk/Documentation/hwmon/jc42 +++ b/trunk/Documentation/hwmon/jc42 @@ -7,21 +7,29 @@ Supported chips: Addresses scanned: I2C 0x18 - 0x1f Datasheets: http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf - * IDT TSE2002B3, TS3000B3 - Prefix: 'tse2002b3', 'ts3000b3' + * Atmel AT30TS00 + Prefix: 'at30ts00' Addresses scanned: I2C 0x18 - 0x1f Datasheets: - http://www.idt.com/products/getdoc.cfm?docid=18715691 - http://www.idt.com/products/getdoc.cfm?docid=18715692 + http://www.atmel.com/Images/doc8585.pdf + * IDT TSE2002B3, TSE2002GB2, TS3000B3, TS3000GB2 + Prefix: 'tse2002', 'ts3000' + Addresses scanned: I2C 0x18 - 0x1f + Datasheets: + http://www.idt.com/sites/default/files/documents/IDT_TSE2002B3C_DST_20100512_120303152056.pdf + http://www.idt.com/sites/default/files/documents/IDT_TSE2002GB2A1_DST_20111107_120303145914.pdf + http://www.idt.com/sites/default/files/documents/IDT_TS3000B3A_DST_20101129_120303152013.pdf + http://www.idt.com/sites/default/files/documents/IDT_TS3000GB2A1_DST_20111104_120303151012.pdf * Maxim MAX6604 Prefix: 'max6604' Addresses scanned: I2C 0x18 - 0x1f Datasheets: http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf - * Microchip MCP9805, MCP98242, MCP98243, MCP9843 - Prefixes: 'mcp9805', 'mcp98242', 'mcp98243', 'mcp9843' + * Microchip MCP9804, MCP9805, MCP98242, MCP98243, MCP9843 + Prefixes: 'mcp9804', 'mcp9805', 'mcp98242', 'mcp98243', 'mcp9843' Addresses scanned: I2C 0x18 - 0x1f Datasheets: + http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf @@ -48,6 +56,12 @@ Supported chips: Datasheets: http://www.st.com/stonline/products/literature/ds/13447/stts424.pdf http://www.st.com/stonline/products/literature/ds/13448/stts424e02.pdf + * ST Microelectronics STTS2002, STTS3000 + Prefix: 'stts2002', 'stts3000' + Addresses scanned: I2C 0x18 - 0x1f + Datasheets: + http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00225278.pdf + http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATA_BRIEF/CD00270920.pdf * JEDEC JC 42.4 compliant temperature sensor chips Prefix: 'jc42' Addresses scanned: I2C 0x18 - 0x1f diff --git a/trunk/Documentation/input/alps.txt b/trunk/Documentation/input/alps.txt index f274c28b5103..2f95308251d4 100644 --- a/trunk/Documentation/input/alps.txt +++ b/trunk/Documentation/input/alps.txt @@ -13,7 +13,8 @@ Detection All ALPS touchpads should respond to the "E6 report" command sequence: E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or -00-00-64. +00-00-64 if no buttons are pressed. The bits 0-2 of the first byte will be 1s +if some buttons are pressed. If the E6 report is successful, the touchpad model is identified using the "E7 report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 033d4e69b43b..d99fd9c0ec0e 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -2211,6 +2211,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. default: off. + printk.always_kmsg_dump= + Trigger kmsg_dump for cases other than kernel oops or + panics + Format: (1/Y/y=enable, 0/N/n=disable) + default: disabled + printk.time= Show timing data prefixed to each printk message line Format: (1/Y/y=enable, 0/N/n=disable) diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 4e41d5255d72..3321d75c6c7f 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -962,7 +962,7 @@ F: drivers/tty/serial/msm_serial.c F: drivers/platform/msm/ F: drivers/*/pm8???-* F: include/linux/mfd/pm8xxx/ -T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git S: Maintained ARM/TOSA MACHINE SUPPORT @@ -1310,7 +1310,7 @@ F: drivers/atm/ F: include/linux/atm* ATMEL AT91 MCI DRIVER -M: Nicolas Ferre +M: Ludovic Desroches L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) W: http://www.atmel.com/products/AT91/ W: http://www.at91.com/ @@ -1318,7 +1318,7 @@ S: Maintained F: drivers/mmc/host/at91_mci.c ATMEL AT91 / AT32 MCI DRIVER -M: Nicolas Ferre +M: Ludovic Desroches S: Maintained F: drivers/mmc/host/atmel-mci.c F: drivers/mmc/host/atmel-mci-regs.h diff --git a/trunk/Makefile b/trunk/Makefile index 66d13c917bc7..56d481727c30 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 3 SUBLEVEL = 0 -EXTRAVERSION = -rc6 +EXTRAVERSION = -rc7 NAME = Saber-toothed Squirrel # *DOCUMENTATION* diff --git a/trunk/arch/alpha/include/asm/futex.h b/trunk/arch/alpha/include/asm/futex.h index e8a761aee088..f939794363ac 100644 --- a/trunk/arch/alpha/include/asm/futex.h +++ b/trunk/arch/alpha/include/asm/futex.h @@ -108,7 +108,7 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, " lda $31,3b-2b(%0)\n" " .previous\n" : "+r"(ret), "=&r"(prev), "=&r"(cmp) - : "r"(uaddr), "r"((long)oldval), "r"(newval) + : "r"(uaddr), "r"((long)(int)oldval), "r"(newval) : "memory"); *uval = prev; diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 1655c0734d72..dfb0312f4e73 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -186,9 +186,6 @@ config GENERIC_ISA_DMA config FIQ bool -config NEED_RET_TO_USER - bool - config ARCH_MTD_XIP bool @@ -327,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" @@ -482,7 +479,6 @@ config ARCH_IOP13XX select ARCH_SUPPORTS_MSI select VMSPLIT_1G select NEED_MACH_MEMORY_H - select NEED_RET_TO_USER help Support for Intel's IOP13XX (XScale) family of processors. @@ -490,7 +486,6 @@ config ARCH_IOP32X bool "IOP32x-based" depends on MMU select CPU_XSCALE - select NEED_RET_TO_USER select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB @@ -502,7 +497,6 @@ config ARCH_IOP33X bool "IOP33x-based" depends on MMU select CPU_XSCALE - select NEED_RET_TO_USER select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB @@ -769,21 +763,22 @@ config ARCH_SA1100 help Support for StrongARM 11x0 based boards. -config ARCH_S3C24XX - bool "Samsung S3C24XX SoCs" +config ARCH_S3C2410 + bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450" select GENERIC_GPIO select ARCH_HAS_CPUFREQ select HAVE_CLK select CLKDEV_LOOKUP select ARCH_USES_GETTIMEOFFSET select HAVE_S3C2410_I2C if I2C - select HAVE_S3C_RTC if RTC_CLASS - select HAVE_S3C2410_WATCHDOG if WATCHDOG help - Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 - and S3C2450 SoCs based systems, such as the Simtec Electronics BAST - (), the IPAQ 1940 or the - Samsung SMDK2410 development board (and derivatives). + Samsung S3C2410X CPU based systems, such as the Simtec Electronics + BAST (), the IPAQ 1940 or + the Samsung SMDK2410 development board (and derivatives). + + Note, the S3C2416 and the S3C2450 are so close that they even share + the same SoC ID code. This means that there is no separate machine + directory (no arch/arm/mach-s3c2450) as the S3C2416 was first. config ARCH_S3C64XX bool "Samsung S3C64XX" @@ -1071,10 +1066,12 @@ source "arch/arm/plat-s5p/Kconfig" source "arch/arm/plat-spear/Kconfig" -source "arch/arm/mach-s3c24xx/Kconfig" -if ARCH_S3C24XX +if ARCH_S3C2410 +source "arch/arm/mach-s3c2410/Kconfig" source "arch/arm/mach-s3c2412/Kconfig" +source "arch/arm/mach-s3c2416/Kconfig" source "arch/arm/mach-s3c2440/Kconfig" +source "arch/arm/mach-s3c2443/Kconfig" endif if ARCH_S3C64XX @@ -1283,7 +1280,7 @@ config ARM_ERRATA_743622 depends on CPU_V7 help This option enables the workaround for the 743622 Cortex-A9 - (r2p0..r2p2) erratum. Under very rare conditions, a faulty + (r2p*) erratum. Under very rare conditions, a faulty optimisation in the Cortex-A9 Store Buffer may lead to data corruption. This workaround sets a specific bit in the diagnostic register of the Cortex-A9 which disables the Store Buffer @@ -1591,7 +1588,7 @@ source kernel/Kconfig.preempt config HZ int - default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \ + default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \ ARCH_S5PV210 || ARCH_EXYNOS4 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER default AT91_TIMER_HZ if ARCH_AT91 @@ -2117,7 +2114,7 @@ config CPU_FREQ_S3C config CPU_FREQ_S3C24XX bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)" - depends on ARCH_S3C24XX && CPU_FREQ && EXPERIMENTAL + depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL select CPU_FREQ_S3C help This enables the CPUfreq driver for the Samsung S3C24XX family 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/Makefile b/trunk/arch/arm/Makefile index 0106f75530c0..1683bfb9166f 100644 --- a/trunk/arch/arm/Makefile +++ b/trunk/arch/arm/Makefile @@ -174,7 +174,7 @@ machine-$(CONFIG_ARCH_PRIMA2) := prima2 machine-$(CONFIG_ARCH_PXA) := pxa machine-$(CONFIG_ARCH_REALVIEW) := realview machine-$(CONFIG_ARCH_RPC) := rpc -machine-$(CONFIG_ARCH_S3C24XX) := s3c24xx s3c2412 s3c2440 +machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2412 s3c2416 s3c2440 s3c2443 machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 machine-$(CONFIG_ARCH_S5PC100) := s5pc100 diff --git a/trunk/arch/arm/boot/.gitignore b/trunk/arch/arm/boot/.gitignore index ce1c5ff746e7..3c79f85975aa 100644 --- a/trunk/arch/arm/boot/.gitignore +++ b/trunk/arch/arm/boot/.gitignore @@ -3,3 +3,4 @@ zImage xipImage bootpImage uImage +*.dtb diff --git a/trunk/arch/arm/boot/compressed/head.S b/trunk/arch/arm/boot/compressed/head.S index 5f6045f1766c..c5d60250d43d 100644 --- a/trunk/arch/arm/boot/compressed/head.S +++ b/trunk/arch/arm/boot/compressed/head.S @@ -58,7 +58,7 @@ add \rb, \rb, #0x00010000 @ Ser1 #endif .endm -#elif defined(CONFIG_ARCH_S3C24XX) +#elif defined(CONFIG_ARCH_S3C2410) .macro loadsp, rb, tmp mov \rb, #0x50000000 add \rb, \rb, #0x4000 * CONFIG_S3C_LOWLEVEL_UART_PORT 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/configs/mini2440_defconfig b/trunk/arch/arm/configs/mini2440_defconfig index 42da9183acc8..2472a9585834 100644 --- a/trunk/arch/arm/configs/mini2440_defconfig +++ b/trunk/arch/arm/configs/mini2440_defconfig @@ -13,7 +13,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set CONFIG_BLK_DEV_INTEGRITY=y -CONFIG_ARCH_S3C24XX=y +CONFIG_ARCH_S3C2410=y CONFIG_S3C_ADC=y CONFIG_S3C24XX_PWM=y CONFIG_MACH_MINI2440=y diff --git a/trunk/arch/arm/configs/s3c2410_defconfig b/trunk/arch/arm/configs/s3c2410_defconfig index 193448f31284..f9096c1b0a65 100644 --- a/trunk/arch/arm/configs/s3c2410_defconfig +++ b/trunk/arch/arm/configs/s3c2410_defconfig @@ -3,47 +3,40 @@ CONFIG_SYSVIPC=y CONFIG_IKCONFIG=m CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=16 +CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set -CONFIG_PARTITION_ADVANCED=y -CONFIG_BSD_DISKLABEL=y -CONFIG_SOLARIS_X86_PARTITION=y -CONFIG_ARCH_S3C24XX=y +CONFIG_ARCH_S3C2410=y CONFIG_S3C_BOOT_ERROR_RESET=y CONFIG_S3C_ADC=y CONFIG_S3C24XX_PWM=y -CONFIG_CPU_S3C2412=y -CONFIG_CPU_S3C2416=y -CONFIG_CPU_S3C2440=y -CONFIG_CPU_S3C2442=y -CONFIG_CPU_S3C2443=y -CONFIG_MACH_AML_M5900=y -CONFIG_ARCH_BAST=y +CONFIG_ARCH_SMDK2410=y CONFIG_ARCH_H1940=y CONFIG_MACH_N30=y +CONFIG_ARCH_BAST=y CONFIG_MACH_OTOM=y -CONFIG_MACH_QT2410=y -CONFIG_ARCH_SMDK2410=y +CONFIG_MACH_AML_M5900=y CONFIG_MACH_TCT_HAMMER=y CONFIG_MACH_VR1000=y +CONFIG_MACH_QT2410=y CONFIG_MACH_JIVE=y CONFIG_MACH_SMDK2412=y CONFIG_MACH_VSTMS=y CONFIG_MACH_SMDK2416=y CONFIG_MACH_ANUBIS=y -CONFIG_MACH_AT2440EVB=y -CONFIG_MACH_MINI2440=y -CONFIG_MACH_NEXCODER_2440=y +CONFIG_MACH_NEO1973_GTA02=y CONFIG_MACH_OSIRIS=y CONFIG_MACH_OSIRIS_DVS=m CONFIG_MACH_RX3715=y CONFIG_ARCH_S3C2440=y -CONFIG_MACH_NEO1973_GTA02=y -CONFIG_MACH_RX1950=y +CONFIG_MACH_NEXCODER_2440=y CONFIG_SMDK2440_CPU2442=y +CONFIG_MACH_AT2440EVB=y +CONFIG_MACH_MINI2440=y +CONFIG_MACH_RX1950=y CONFIG_MACH_SMDK2443=y # CONFIG_ARM_THUMB is not set CONFIG_ZBOOT_ROM_TEXT=0x0 @@ -52,6 +45,7 @@ CONFIG_CMDLINE="root=/dev/hda1 ro init=/bin/bash console=ttySAC0" CONFIG_FPE_NWFPE=y CONFIG_FPE_NWFPE_XP=y CONFIG_BINFMT_AOUT=y +CONFIG_PM=y CONFIG_APM_EMULATION=m CONFIG_NET=y CONFIG_PACKET=y @@ -64,6 +58,7 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m @@ -85,6 +80,7 @@ CONFIG_IPV6_MIP6=m CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_IPV6_TUNNEL=m CONFIG_NETFILTER=y +CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_DCCP=m @@ -142,6 +138,7 @@ CONFIG_IP_VS=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_ADDRTYPE=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_TTL=m @@ -153,6 +150,7 @@ CONFIG_NF_NAT=m CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_ECN=m @@ -179,6 +177,8 @@ CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m @@ -199,6 +199,7 @@ CONFIG_MAC80211_MESH=y CONFIG_MAC80211_LEDS=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y +CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y CONFIG_MTD_CMDLINE_PARTS=y @@ -220,6 +221,9 @@ CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_UB=m CONFIG_BLK_DEV_RAM=y CONFIG_ATA_OVER_ETH=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_93CX6=m CONFIG_IDE=y CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDETAPE=m @@ -236,6 +240,7 @@ CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_SCAN_ASYNC=y CONFIG_NETDEVICES=y +CONFIG_NET_ETHERNET=y CONFIG_DM9000=y CONFIG_INPUT_EVDEV=y CONFIG_MOUSE_APPLETOUCH=m @@ -269,6 +274,7 @@ CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_INPUT_MISC=y +CONFIG_INPUT_ATI_REMOTE=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m CONFIG_INPUT_POWERMATE=m @@ -294,6 +300,7 @@ CONFIG_I2C_SIMTEC=y CONFIG_SPI=y CONFIG_SPI_GPIO=m CONFIG_SPI_S3C24XX=m +CONFIG_SPI_S3C24XX_GPIO=m CONFIG_SPI_SPIDEV=m CONFIG_SPI_TLE62X0=m CONFIG_SENSORS_LM75=m @@ -308,6 +315,7 @@ CONFIG_FB_MODE_HELPERS=y CONFIG_FB_S3C2410=y CONFIG_FB_SM501=y CONFIG_BACKLIGHT_PWM=m +# CONFIG_VGA_CONSOLE is not set CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_SOUND=y CONFIG_SND=y @@ -322,6 +330,10 @@ CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_CAIAQ=m CONFIG_SND_SOC=y +CONFIG_SND_S3C24XX_SOC=y +CONFIG_SND_S3C24XX_SOC_JIVE_WM8750=m +CONFIG_SND_S3C24XX_SOC_SMDK2443_WM9710=m +CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650=m # CONFIG_USB_HID is not set CONFIG_USB=y CONFIG_USB_DEVICEFS=y @@ -375,7 +387,9 @@ CONFIG_MMC_TEST=m CONFIG_MMC_SDHCI=m CONFIG_MMC_SPI=m CONFIG_MMC_S3C=y +CONFIG_LEDS_CLASS=m CONFIG_LEDS_S3C24XX=m +CONFIG_LEDS_H1940=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_GPIO=m CONFIG_LEDS_PCA955X=m @@ -396,6 +410,8 @@ CONFIG_EXT3_FS=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT4_FS=m CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_INOTIFY=y +CONFIG_AUTOFS_FS=m CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=m CONFIG_ISO9660_FS=y @@ -420,6 +436,9 @@ CONFIG_NFSD=m CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_CIFS=m +CONFIG_PARTITION_ADVANCED=y +CONFIG_BSD_DISKLABEL=y +CONFIG_SOLARIS_X86_PARTITION=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m @@ -462,7 +481,9 @@ CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_INFO=y +# CONFIG_RCU_CPU_STALL_DETECTOR is not set CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y CONFIG_DEBUG_LL=y # CONFIG_CRYPTO_ANSI_CPRNG is not set diff --git a/trunk/arch/arm/configs/tct_hammer_defconfig b/trunk/arch/arm/configs/tct_hammer_defconfig index 1d24f8458bef..95c0f0d63db6 100644 --- a/trunk/arch/arm/configs/tct_hammer_defconfig +++ b/trunk/arch/arm/configs/tct_hammer_defconfig @@ -14,7 +14,7 @@ CONFIG_SLOB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set -CONFIG_ARCH_S3C24XX=y +CONFIG_ARCH_S3C2410=y CONFIG_MACH_TCT_HAMMER=y CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 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/pmu.h b/trunk/arch/arm/include/asm/pmu.h index b5a5be2536c1..90114faa9f3c 100644 --- a/trunk/arch/arm/include/asm/pmu.h +++ b/trunk/arch/arm/include/asm/pmu.h @@ -134,7 +134,7 @@ int __init armpmu_register(struct arm_pmu *armpmu, char *name, int type); u64 armpmu_event_update(struct perf_event *event, struct hw_perf_event *hwc, - int idx, int overflow); + int idx); int armpmu_event_set_period(struct perf_event *event, struct hw_perf_event *hwc, 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/kernel/ecard.c b/trunk/arch/arm/kernel/ecard.c index 4dd0edab6a65..1651d4950744 100644 --- a/trunk/arch/arm/kernel/ecard.c +++ b/trunk/arch/arm/kernel/ecard.c @@ -242,6 +242,7 @@ static void ecard_init_pgtables(struct mm_struct *mm) memcpy(dst_pgd, src_pgd, sizeof(pgd_t) * (EASI_SIZE / PGDIR_SIZE)); + vma.vm_flags = VM_EXEC; vma.vm_mm = mm; flush_tlb_range(&vma, IO_START, IO_START + IO_SIZE); diff --git a/trunk/arch/arm/kernel/entry-armv.S b/trunk/arch/arm/kernel/entry-armv.S index 22f0ed324f37..be16a48007b4 100644 --- a/trunk/arch/arm/kernel/entry-armv.S +++ b/trunk/arch/arm/kernel/entry-armv.S @@ -19,9 +19,7 @@ #include #include #include -#ifndef CONFIG_MULTI_IRQ_HANDLER #include -#endif #include #include #include @@ -1103,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.c b/trunk/arch/arm/kernel/perf_event.c index 5bb91bf3d47f..b2abfa18f137 100644 --- a/trunk/arch/arm/kernel/perf_event.c +++ b/trunk/arch/arm/kernel/perf_event.c @@ -180,7 +180,7 @@ armpmu_event_set_period(struct perf_event *event, u64 armpmu_event_update(struct perf_event *event, struct hw_perf_event *hwc, - int idx, int overflow) + int idx) { struct arm_pmu *armpmu = to_arm_pmu(event->pmu); u64 delta, prev_raw_count, new_raw_count; @@ -193,13 +193,7 @@ armpmu_event_update(struct perf_event *event, new_raw_count) != prev_raw_count) goto again; - new_raw_count &= armpmu->max_period; - prev_raw_count &= armpmu->max_period; - - if (overflow) - delta = armpmu->max_period - prev_raw_count + new_raw_count + 1; - else - delta = new_raw_count - prev_raw_count; + delta = (new_raw_count - prev_raw_count) & armpmu->max_period; local64_add(delta, &event->count); local64_sub(delta, &hwc->period_left); @@ -216,7 +210,7 @@ armpmu_read(struct perf_event *event) if (hwc->idx < 0) return; - armpmu_event_update(event, hwc, hwc->idx, 0); + armpmu_event_update(event, hwc, hwc->idx); } static void @@ -232,7 +226,7 @@ armpmu_stop(struct perf_event *event, int flags) if (!(hwc->state & PERF_HES_STOPPED)) { armpmu->disable(hwc, hwc->idx); barrier(); /* why? */ - armpmu_event_update(event, hwc, hwc->idx, 0); + armpmu_event_update(event, hwc, hwc->idx); hwc->state |= PERF_HES_STOPPED | PERF_HES_UPTODATE; } } @@ -518,7 +512,13 @@ __hw_perf_event_init(struct perf_event *event) hwc->config_base |= (unsigned long)mapping; if (!hwc->sample_period) { - hwc->sample_period = armpmu->max_period; + /* + * For non-sampling runs, limit the sample_period to half + * of the counter width. That way, the new counter value + * is far less likely to overtake the previous one unless + * you have some serious IRQ latency issues. + */ + hwc->sample_period = armpmu->max_period >> 1; hwc->last_period = hwc->sample_period; local64_set(&hwc->period_left, hwc->sample_period); } @@ -679,6 +679,28 @@ static void __init cpu_pmu_init(struct arm_pmu *armpmu) armpmu->type = ARM_PMU_DEVICE_CPU; } +/* + * PMU hardware loses all context when a CPU goes offline. + * When a CPU is hotplugged back in, since some hardware registers are + * UNKNOWN at reset, the PMU must be explicitly reset to avoid reading + * junk values out of them. + */ +static int __cpuinit pmu_cpu_notify(struct notifier_block *b, + unsigned long action, void *hcpu) +{ + if ((action & ~CPU_TASKS_FROZEN) != CPU_STARTING) + return NOTIFY_DONE; + + if (cpu_pmu && cpu_pmu->reset) + cpu_pmu->reset(NULL); + + return NOTIFY_OK; +} + +static struct notifier_block __cpuinitdata pmu_cpu_notifier = { + .notifier_call = pmu_cpu_notify, +}; + /* * CPU PMU identification and registration. */ @@ -730,6 +752,7 @@ init_hw_perf_events(void) pr_info("enabled with %s PMU driver, %d counters available\n", cpu_pmu->name, cpu_pmu->num_events); cpu_pmu_init(cpu_pmu); + register_cpu_notifier(&pmu_cpu_notifier); armpmu_register(cpu_pmu, "cpu", PERF_TYPE_RAW); } else { pr_info("no hardware support available\n"); diff --git a/trunk/arch/arm/kernel/perf_event_v6.c b/trunk/arch/arm/kernel/perf_event_v6.c index 533be9930ec2..b78af0cc6ef3 100644 --- a/trunk/arch/arm/kernel/perf_event_v6.c +++ b/trunk/arch/arm/kernel/perf_event_v6.c @@ -467,23 +467,6 @@ armv6pmu_enable_event(struct hw_perf_event *hwc, raw_spin_unlock_irqrestore(&events->pmu_lock, flags); } -static int counter_is_active(unsigned long pmcr, int idx) -{ - unsigned long mask = 0; - if (idx == ARMV6_CYCLE_COUNTER) - mask = ARMV6_PMCR_CCOUNT_IEN; - else if (idx == ARMV6_COUNTER0) - mask = ARMV6_PMCR_COUNT0_IEN; - else if (idx == ARMV6_COUNTER1) - mask = ARMV6_PMCR_COUNT1_IEN; - - if (mask) - return pmcr & mask; - - WARN_ONCE(1, "invalid counter number (%d)\n", idx); - return 0; -} - static irqreturn_t armv6pmu_handle_irq(int irq_num, void *dev) @@ -513,7 +496,8 @@ armv6pmu_handle_irq(int irq_num, struct perf_event *event = cpuc->events[idx]; struct hw_perf_event *hwc; - if (!counter_is_active(pmcr, idx)) + /* Ignore if we don't have an event. */ + if (!event) continue; /* @@ -524,7 +508,7 @@ armv6pmu_handle_irq(int irq_num, continue; hwc = &event->hw; - armpmu_event_update(event, hwc, idx, 1); + armpmu_event_update(event, hwc, idx); data.period = event->hw.last_period; if (!armpmu_event_set_period(event, hwc, idx)) continue; diff --git a/trunk/arch/arm/kernel/perf_event_v7.c b/trunk/arch/arm/kernel/perf_event_v7.c index 6933244c68f9..4d7095af2ab3 100644 --- a/trunk/arch/arm/kernel/perf_event_v7.c +++ b/trunk/arch/arm/kernel/perf_event_v7.c @@ -809,6 +809,11 @@ static inline int armv7_pmnc_disable_intens(int idx) counter = ARMV7_IDX_TO_COUNTER(idx); asm volatile("mcr p15, 0, %0, c9, c14, 2" : : "r" (BIT(counter))); + isb(); + /* Clear the overflow flag in case an interrupt is pending. */ + asm volatile("mcr p15, 0, %0, c9, c12, 3" : : "r" (BIT(counter))); + isb(); + return idx; } @@ -955,6 +960,10 @@ static irqreturn_t armv7pmu_handle_irq(int irq_num, void *dev) struct perf_event *event = cpuc->events[idx]; struct hw_perf_event *hwc; + /* Ignore if we don't have an event. */ + if (!event) + continue; + /* * We have a single interrupt for all counters. Check that * each counter has overflowed before we process it. @@ -963,7 +972,7 @@ static irqreturn_t armv7pmu_handle_irq(int irq_num, void *dev) continue; hwc = &event->hw; - armpmu_event_update(event, hwc, idx, 1); + armpmu_event_update(event, hwc, idx); data.period = event->hw.last_period; if (!armpmu_event_set_period(event, hwc, idx)) continue; diff --git a/trunk/arch/arm/kernel/perf_event_xscale.c b/trunk/arch/arm/kernel/perf_event_xscale.c index 3b99d8269829..71a21e6712f5 100644 --- a/trunk/arch/arm/kernel/perf_event_xscale.c +++ b/trunk/arch/arm/kernel/perf_event_xscale.c @@ -255,11 +255,14 @@ xscale1pmu_handle_irq(int irq_num, void *dev) struct perf_event *event = cpuc->events[idx]; struct hw_perf_event *hwc; + if (!event) + continue; + if (!xscale1_pmnc_counter_has_overflowed(pmnc, idx)) continue; hwc = &event->hw; - armpmu_event_update(event, hwc, idx, 1); + armpmu_event_update(event, hwc, idx); data.period = event->hw.last_period; if (!armpmu_event_set_period(event, hwc, idx)) continue; @@ -592,11 +595,14 @@ xscale2pmu_handle_irq(int irq_num, void *dev) struct perf_event *event = cpuc->events[idx]; struct hw_perf_event *hwc; - if (!xscale2_pmnc_counter_has_overflowed(pmnc, idx)) + if (!event) + continue; + + if (!xscale2_pmnc_counter_has_overflowed(of_flags, idx)) continue; hwc = &event->hw; - armpmu_event_update(event, hwc, idx, 1); + armpmu_event_update(event, hwc, idx); data.period = event->hw.last_period; if (!armpmu_event_set_period(event, hwc, idx)) continue; @@ -663,7 +669,7 @@ xscale2pmu_enable_event(struct hw_perf_event *hwc, int idx) static void xscale2pmu_disable_event(struct hw_perf_event *hwc, int idx) { - unsigned long flags, ien, evtsel; + unsigned long flags, ien, evtsel, of_flags; struct pmu_hw_events *events = cpu_pmu->get_hw_events(); ien = xscale2pmu_read_int_enable(); @@ -672,26 +678,31 @@ xscale2pmu_disable_event(struct hw_perf_event *hwc, int idx) switch (idx) { case XSCALE_CYCLE_COUNTER: ien &= ~XSCALE2_CCOUNT_INT_EN; + of_flags = XSCALE2_CCOUNT_OVERFLOW; break; case XSCALE_COUNTER0: ien &= ~XSCALE2_COUNT0_INT_EN; evtsel &= ~XSCALE2_COUNT0_EVT_MASK; evtsel |= XSCALE_PERFCTR_UNUSED << XSCALE2_COUNT0_EVT_SHFT; + of_flags = XSCALE2_COUNT0_OVERFLOW; break; case XSCALE_COUNTER1: ien &= ~XSCALE2_COUNT1_INT_EN; evtsel &= ~XSCALE2_COUNT1_EVT_MASK; evtsel |= XSCALE_PERFCTR_UNUSED << XSCALE2_COUNT1_EVT_SHFT; + of_flags = XSCALE2_COUNT1_OVERFLOW; break; case XSCALE_COUNTER2: ien &= ~XSCALE2_COUNT2_INT_EN; evtsel &= ~XSCALE2_COUNT2_EVT_MASK; evtsel |= XSCALE_PERFCTR_UNUSED << XSCALE2_COUNT2_EVT_SHFT; + of_flags = XSCALE2_COUNT2_OVERFLOW; break; case XSCALE_COUNTER3: ien &= ~XSCALE2_COUNT3_INT_EN; evtsel &= ~XSCALE2_COUNT3_EVT_MASK; evtsel |= XSCALE_PERFCTR_UNUSED << XSCALE2_COUNT3_EVT_SHFT; + of_flags = XSCALE2_COUNT3_OVERFLOW; break; default: WARN_ONCE(1, "invalid counter number (%d)\n", idx); @@ -701,6 +712,7 @@ xscale2pmu_disable_event(struct hw_perf_event *hwc, int idx) raw_spin_lock_irqsave(&events->pmu_lock, flags); xscale2pmu_write_event_select(evtsel); xscale2pmu_write_int_enable(ien); + xscale2pmu_write_overflow_flags(of_flags); raw_spin_unlock_irqrestore(&events->pmu_lock, flags); } 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/mach-at91/Kconfig b/trunk/arch/arm/mach-at91/Kconfig index 0284e66c47f9..71feb00a1e99 100644 --- a/trunk/arch/arm/mach-at91/Kconfig +++ b/trunk/arch/arm/mach-at91/Kconfig @@ -102,6 +102,15 @@ config ARCH_AT91SAM9G45 select HAVE_AT91_DBGU1 select AT91_SAM9G45_RESET +config ARCH_AT91CAP9 + bool "AT91CAP9" + select CPU_ARM926T + select GENERIC_CLOCKEVENTS + select HAVE_FB_ATMEL + select HAVE_NET_MACB + select HAVE_AT91_DBGU1 + select AT91_SAM9G45_RESET + config ARCH_AT91X40 bool "AT91x40" select ARCH_USES_GETTIMEOFFSET @@ -438,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" @@ -520,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 aeb76f1690d9..705e1fbded39 100644 --- a/trunk/arch/arm/mach-at91/Makefile +++ b/trunk/arch/arm/mach-at91/Makefile @@ -20,6 +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_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 @@ -80,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 2fd051eb2449..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 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