From b84fd090c5b30cfdfc4fc4f4d9743fb48d808ebe Mon Sep 17 00:00:00 2001 From: Olof Johansson Date: Sat, 10 Mar 2012 09:51:26 -0800 Subject: [PATCH] --- yaml --- r: 295874 b: refs/heads/master c: f7c8faedf98aa5ec372e0191078ac7fe1e7fb067 h: refs/heads/master v: v3 --- [refs] | 2 +- .../Documentation/DocBook/device-drivers.tmpl | 17 +- trunk/Documentation/DocBook/deviceiobook.tmpl | 2 +- trunk/Documentation/driver-model/devres.txt | 4 + trunk/Documentation/input/event-codes.txt | 72 +- trunk/Documentation/pinctrl.txt | 17 +- .../power/basic-pm-debugging.txt | 2 +- .../Documentation/power/freezing-of-tasks.txt | 8 +- trunk/Documentation/stable_kernel_rules.txt | 3 +- trunk/Documentation/sysctl/kernel.txt | 2 + trunk/Documentation/thermal/sysfs-api.txt | 2 +- trunk/Documentation/virtual/00-INDEX | 2 - trunk/MAINTAINERS | 98 +- trunk/Makefile | 2 +- trunk/arch/arm/Kconfig | 7 +- trunk/arch/arm/Kconfig.debug | 158 +- trunk/arch/arm/Makefile | 1 - trunk/arch/arm/boot/dts/at91sam9g25ek.dts | 37 + trunk/arch/arm/boot/dts/at91sam9x5.dtsi | 172 + trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi | 14 + trunk/arch/arm/boot/dts/exynos4210.dtsi | 1 + trunk/arch/arm/boot/dts/tegra-paz00.dts | 6 +- trunk/arch/arm/common/gic.c | 7 +- trunk/arch/arm/common/it8152.c | 7 - trunk/arch/arm/common/pl330.c | 3 +- trunk/arch/arm/common/timer-sp.c | 17 +- trunk/arch/arm/configs/at91cap9_defconfig | 108 - .../{mx5_defconfig => imx_v6_v7_defconfig} | 62 +- trunk/arch/arm/configs/mx3_defconfig | 144 - trunk/arch/arm/configs/mxs_defconfig | 20 +- trunk/arch/arm/include/asm/assembler.h | 9 +- trunk/arch/arm/include/asm/domain.h | 8 +- trunk/arch/arm/include/asm/futex.h | 8 +- trunk/arch/arm/include/asm/hardware/pl330.h | 2 +- .../arch/arm/include/asm/hardware/timer-sp.h | 15 +- trunk/arch/arm/include/asm/processor.h | 1 + trunk/arch/arm/include/asm/smp.h | 6 - trunk/arch/arm/include/asm/smp_plat.h | 6 + trunk/arch/arm/include/asm/system.h | 1 + trunk/arch/arm/include/asm/tlb.h | 10 +- trunk/arch/arm/include/asm/uaccess.h | 16 +- trunk/arch/arm/kernel/entry-armv.S | 2 +- trunk/arch/arm/kernel/entry-common.S | 15 +- trunk/arch/arm/kernel/perf_event_v7.c | 28 + trunk/arch/arm/kernel/process.c | 27 +- trunk/arch/arm/kernel/ptrace.c | 17 +- trunk/arch/arm/kernel/setup.c | 17 +- trunk/arch/arm/kernel/signal.c | 5 +- trunk/arch/arm/kernel/smp.c | 24 +- trunk/arch/arm/kernel/smp_twd.c | 4 +- trunk/arch/arm/kernel/traps.c | 5 +- trunk/arch/arm/kernel/vmlinux.lds.S | 10 +- trunk/arch/arm/lib/getuser.S | 12 +- trunk/arch/arm/lib/putuser.S | 28 +- trunk/arch/arm/lib/uaccess.S | 82 +- trunk/arch/arm/mach-at91/Kconfig | 37 +- trunk/arch/arm/mach-at91/Makefile | 19 +- trunk/arch/arm/mach-at91/Makefile.boot | 6 +- trunk/arch/arm/mach-at91/at91cap9.c | 401 --- trunk/arch/arm/mach-at91/at91cap9_devices.c | 1273 ------- trunk/arch/arm/mach-at91/at91rm9200.c | 10 + trunk/arch/arm/mach-at91/at91rm9200_devices.c | 2 +- trunk/arch/arm/mach-at91/at91sam9260.c | 9 + .../arch/arm/mach-at91/at91sam9260_devices.c | 9 +- trunk/arch/arm/mach-at91/at91sam9261.c | 9 + .../arch/arm/mach-at91/at91sam9261_devices.c | 2 +- trunk/arch/arm/mach-at91/at91sam9263.c | 9 + .../arch/arm/mach-at91/at91sam9263_devices.c | 8 +- trunk/arch/arm/mach-at91/at91sam9_alt_reset.S | 7 +- trunk/arch/arm/mach-at91/at91sam9g45.c | 8 +- trunk/arch/arm/mach-at91/at91sam9g45_reset.S | 40 + trunk/arch/arm/mach-at91/at91sam9rl.c | 9 + trunk/arch/arm/mach-at91/at91sam9x5.c | 373 ++ trunk/arch/arm/mach-at91/at91x40.c | 12 + trunk/arch/arm/mach-at91/board-cap9adk.c | 396 --- trunk/arch/arm/mach-at91/board-dt.c | 1 + trunk/arch/arm/mach-at91/clock.c | 88 +- trunk/arch/arm/mach-at91/generic.h | 3 +- .../arm/mach-at91/include/mach/at91_pmc.h | 72 +- .../arm/mach-at91/include/mach/at91_rstc.h | 18 +- .../arm/mach-at91/include/mach/at91cap9.h | 122 - .../mach-at91/include/mach/at91cap9_ddrsdr.h | 108 - .../mach-at91/include/mach/at91cap9_matrix.h | 137 - .../arm/mach-at91/include/mach/at91sam9260.h | 2 +- .../arm/mach-at91/include/mach/at91sam9261.h | 2 +- .../arm/mach-at91/include/mach/at91sam9263.h | 2 +- .../mach-at91/include/mach/at91sam9_ddrsdr.h | 20 +- .../arm/mach-at91/include/mach/at91sam9_smc.h | 29 + .../arm/mach-at91/include/mach/at91sam9g45.h | 2 +- .../arm/mach-at91/include/mach/at91sam9rl.h | 2 +- .../arm/mach-at91/include/mach/at91sam9x5.h | 80 + .../include/mach/at91sam9x5_matrix.h | 53 + trunk/arch/arm/mach-at91/include/mach/board.h | 2 +- trunk/arch/arm/mach-at91/include/mach/cpu.h | 21 - .../arm/mach-at91/include/mach/hardware.h | 6 +- .../arch/arm/mach-at91/include/mach/system.h | 50 - trunk/arch/arm/mach-at91/pm.c | 14 +- trunk/arch/arm/mach-at91/pm.h | 18 - trunk/arch/arm/mach-at91/pm_slowclock.S | 11 +- trunk/arch/arm/mach-at91/sam9_smc.c | 76 +- trunk/arch/arm/mach-at91/sam9_smc.h | 23 - trunk/arch/arm/mach-at91/setup.c | 33 +- trunk/arch/arm/mach-at91/soc.h | 5 - trunk/arch/arm/mach-bcmring/arch.c | 2 +- trunk/arch/arm/mach-bcmring/core.c | 23 +- trunk/arch/arm/mach-bcmring/dma.c | 812 ----- .../arch/arm/mach-bcmring/include/mach/dma.h | 196 -- .../arm/mach-bcmring/include/mach/system.h | 28 - trunk/arch/arm/mach-clps711x/common.c | 16 + .../arm/mach-clps711x/include/mach/system.h | 35 - .../arm/mach-cns3xxx/include/mach/system.h | 25 - trunk/arch/arm/mach-davinci/board-da850-evm.c | 2 +- trunk/arch/arm/mach-davinci/board-dm365-evm.c | 2 +- .../arch/arm/mach-davinci/board-dm644x-evm.c | 2 +- .../arch/arm/mach-davinci/board-dm646x-evm.c | 2 +- .../arch/arm/mach-davinci/board-neuros-osd2.c | 2 +- .../arm/mach-davinci/board-omapl138-hawk.c | 2 +- trunk/arch/arm/mach-davinci/board-sffsdr.c | 2 +- trunk/arch/arm/mach-davinci/da850.c | 32 - .../arm/mach-davinci/include/mach/system.h | 21 - trunk/arch/arm/mach-dove/common.c | 3 +- .../arch/arm/mach-dove/include/mach/system.h | 17 - trunk/arch/arm/mach-ebsa110/core.c | 25 + .../arm/mach-ebsa110/include/mach/system.h | 37 - trunk/arch/arm/mach-ep93xx/core.c | 46 +- .../arm/mach-ep93xx/include/mach/system.h | 7 - trunk/arch/arm/mach-ep93xx/vision_ep9307.c | 4 +- trunk/arch/arm/mach-exynos/clock-exynos4210.c | 2 + trunk/arch/arm/mach-exynos/clock-exynos4212.c | 2 + trunk/arch/arm/mach-exynos/clock.c | 2 + trunk/arch/arm/mach-exynos/common.c | 12 - trunk/arch/arm/mach-exynos/dma.c | 38 +- trunk/arch/arm/mach-exynos/hotplug.c | 1 + .../arm/mach-exynos/include/mach/system.h | 20 - trunk/arch/arm/mach-exynos/mach-exynos4-dt.c | 8 +- trunk/arch/arm/mach-exynos/mach-nuri.c | 8 +- .../arm/mach-exynos/mach-universal_c210.c | 2 +- trunk/arch/arm/mach-exynos/platsmp.c | 1 + trunk/arch/arm/mach-exynos/pm.c | 4 +- .../arm/mach-footbridge/include/mach/system.h | 13 - trunk/arch/arm/mach-gemini/Makefile | 2 +- trunk/arch/arm/mach-gemini/idle.c | 29 + .../arm/mach-gemini/include/mach/system.h | 14 - trunk/arch/arm/mach-gemini/irq.c | 4 +- trunk/arch/arm/mach-h720x/common.c | 18 + .../arch/arm/mach-h720x/include/mach/system.h | 27 - trunk/arch/arm/mach-highbank/highbank.c | 5 +- .../arm/mach-highbank/include/mach/memory.h | 1 - .../arm/mach-highbank/include/mach/system.h | 24 - trunk/arch/arm/mach-imx/Kconfig | 238 ++ trunk/arch/arm/mach-imx/Makefile | 25 +- trunk/arch/arm/mach-imx/Makefile.boot | 12 + trunk/arch/arm/mach-imx/clock-imx6q.c | 11 + .../{mach-mx5 => mach-imx}/clock-mx51-mx53.c | 2 +- .../{mach-mx5/cpu.c => mach-imx/cpu-imx5.c} | 36 - .../arm/{mach-mx5 => mach-imx}/cpu_op-mx51.c | 0 .../arm/{mach-mx5 => mach-imx}/cpu_op-mx51.h | 0 .../crm_regs.h => mach-imx/crm-regs-imx5.h} | 0 trunk/arch/arm/mach-imx/crmregs-imx31.h | 1 + .../{mach-mx5 => mach-imx}/devices-imx50.h | 0 .../{mach-mx5 => mach-imx}/devices-imx51.h | 0 .../{mach-mx5 => mach-imx}/devices-imx53.h | 0 trunk/arch/arm/{mach-mx5 => mach-imx}/efika.h | 0 .../{mach-mx5/ehci.c => mach-imx/ehci-imx5.c} | 0 .../eukrea_mbimx51-baseboard.c | 0 .../eukrea_mbimxsd-baseboard.c | 0 .../arm/{mach-mx5 => mach-imx}/imx51-dt.c | 0 .../arm/{mach-mx5 => mach-imx}/imx53-dt.c | 0 .../mach-cpuimx51.c} | 0 .../mach-cpuimx51sd.c} | 0 .../mach-mx50_rdp.c} | 0 .../mach-mx51_3ds.c} | 0 .../mach-mx51_babbage.c} | 0 .../mach-mx51_efikamx.c} | 0 .../mach-mx51_efikasb.c} | 0 .../mach-mx53_ard.c} | 5 +- .../mach-mx53_evk.c} | 1 - .../mach-mx53_loco.c} | 1 - .../mach-mx53_smd.c} | 1 - trunk/arch/arm/mach-imx/mm-imx3.c | 61 +- .../arm/{mach-mx5/mm.c => mach-imx/mm-imx5.c} | 36 +- .../arm/{mach-mx5 => mach-imx}/mx51_efika.c | 0 trunk/arch/arm/mach-imx/pm-imx27.c | 3 +- trunk/arch/arm/mach-imx/pm-imx3.c | 37 + .../{mach-mx5/system.c => mach-imx/pm-imx5.c} | 89 +- trunk/arch/arm/mach-imx/src.c | 5 +- trunk/arch/arm/mach-integrator/core.c | 70 +- trunk/arch/arm/mach-integrator/impd1.c | 9 +- .../arm/mach-integrator/include/mach/system.h | 33 - .../arch/arm/mach-integrator/integrator_cp.c | 49 +- .../arm/mach-iop13xx/include/mach/system.h | 13 - .../arm/mach-iop32x/include/mach/system.h | 13 - .../arm/mach-iop33x/include/mach/system.h | 13 - .../arm/mach-ixp2000/include/mach/system.h | 14 - trunk/arch/arm/mach-ixp23xx/core.c | 3 + .../arm/mach-ixp23xx/include/mach/system.h | 16 - trunk/arch/arm/mach-ixp4xx/common.c | 6 + .../arm/mach-ixp4xx/include/mach/system.h | 19 - trunk/arch/arm/mach-kirkwood/common.c | 3 +- .../arm/mach-kirkwood/include/mach/system.h | 17 - trunk/arch/arm/mach-kirkwood/mpp.h | 320 +- .../arm/mach-ks8695/include/mach/system.h | 27 - .../arch/arm/mach-lpc32xx/include/mach/irqs.h | 2 +- .../arm/mach-lpc32xx/include/mach/system.h | 27 - trunk/arch/arm/mach-lpc32xx/irq.c | 25 +- trunk/arch/arm/mach-lpc32xx/phy3250.c | 32 +- trunk/arch/arm/mach-lpc32xx/serial.c | 20 +- trunk/arch/arm/mach-mmp/aspenite.c | 1 - trunk/arch/arm/mach-mmp/include/mach/system.h | 16 - trunk/arch/arm/mach-mmp/pxa168.c | 1 - trunk/arch/arm/mach-mmp/tavorevb.c | 1 - trunk/arch/arm/mach-msm/hotplug.c | 1 + trunk/arch/arm/mach-msm/idle.S | 36 - trunk/arch/arm/mach-msm/idle.c | 49 + trunk/arch/arm/mach-msm/include/mach/system.h | 1 - trunk/arch/arm/mach-msm/platsmp.c | 1 + trunk/arch/arm/mach-mv78xx0/common.c | 3 +- .../arm/mach-mv78xx0/include/mach/system.h | 17 - trunk/arch/arm/mach-mv78xx0/mpp.h | 226 +- trunk/arch/arm/mach-mx5/Kconfig | 244 -- trunk/arch/arm/mach-mx5/Makefile | 26 - trunk/arch/arm/mach-mx5/Makefile.boot | 9 - trunk/arch/arm/mach-mx5/pm-imx5.c | 83 - trunk/arch/arm/mach-mxs/clock-mx23.c | 34 +- trunk/arch/arm/mach-mxs/clock-mx28.c | 57 +- trunk/arch/arm/mach-mxs/devices.c | 8 +- trunk/arch/arm/mach-mxs/devices/amba-duart.c | 2 +- .../arm/mach-mxs/devices/platform-mxs-mmc.c | 2 + trunk/arch/arm/mach-mxs/include/mach/common.h | 2 + trunk/arch/arm/mach-mxs/include/mach/system.h | 25 - trunk/arch/arm/mach-mxs/pm.c | 3 +- trunk/arch/arm/mach-mxs/system.c | 16 + trunk/arch/arm/mach-netx/fb.c | 13 +- .../arch/arm/mach-netx/include/mach/system.h | 28 - trunk/arch/arm/mach-nomadik/board-nhk8815.c | 24 +- trunk/arch/arm/mach-nomadik/cpu-8815.c | 9 +- .../arm/mach-nomadik/include/mach/setup.h | 19 - .../arm/mach-nomadik/include/mach/system.h | 32 - trunk/arch/arm/mach-omap1/board-innovator.c | 4 +- .../arch/arm/mach-omap1/include/mach/system.h | 5 - trunk/arch/arm/mach-omap1/pm.c | 19 +- trunk/arch/arm/mach-omap2/Kconfig | 16 +- trunk/arch/arm/mach-omap2/Makefile | 4 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 35 +- trunk/arch/arm/mach-omap2/board-cm-t35.c | 2 +- trunk/arch/arm/mach-omap2/board-generic.c | 4 + trunk/arch/arm/mach-omap2/board-n8x0.c | 4 + trunk/arch/arm/mach-omap2/board-omap3evm.c | 25 +- trunk/arch/arm/mach-omap2/board-omap4panda.c | 24 +- .../arm/mach-omap2/board-zoom-peripherals.c | 6 +- trunk/arch/arm/mach-omap2/common.h | 1 + trunk/arch/arm/mach-omap2/cpuidle44xx.c | 5 +- trunk/arch/arm/mach-omap2/devices.c | 1 + trunk/arch/arm/mach-omap2/display.c | 4 - trunk/arch/arm/mach-omap2/emu.c | 26 +- trunk/arch/arm/mach-omap2/gpmc-smsc911x.c | 52 + trunk/arch/arm/mach-omap2/gpmc.c | 6 + trunk/arch/arm/mach-omap2/hsmmc.c | 30 +- trunk/arch/arm/mach-omap2/id.c | 186 +- .../arch/arm/mach-omap2/include/mach/system.h | 5 - trunk/arch/arm/mach-omap2/io.c | 14 +- trunk/arch/arm/mach-omap2/mailbox.c | 13 +- trunk/arch/arm/mach-omap2/mux.c | 24 +- trunk/arch/arm/mach-omap2/omap-headsmp.S | 1 + trunk/arch/arm/mach-omap2/omap4-common.c | 25 +- trunk/arch/arm/mach-omap2/omap_hwmod.c | 16 +- .../omap_hwmod_2xxx_3xxx_ipblock_data.c | 21 - .../mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 22 + .../arm/mach-omap2/omap_hwmod_3xxx_data.c | 54 +- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 2 + trunk/arch/arm/mach-omap2/pm.c | 3 + trunk/arch/arm/mach-omap2/pm24xx.c | 12 +- trunk/arch/arm/mach-omap2/pm34xx.c | 6 +- trunk/arch/arm/mach-omap2/pm44xx.c | 8 +- trunk/arch/arm/mach-omap2/prm2xxx_3xxx.c | 1 + trunk/arch/arm/mach-omap2/prm44xx.c | 1 + trunk/arch/arm/mach-omap2/prm_common.c | 1 - trunk/arch/arm/mach-omap2/serial.c | 8 +- trunk/arch/arm/mach-omap2/smartreflex.c | 2 +- trunk/arch/arm/mach-omap2/timer.c | 2 +- trunk/arch/arm/mach-omap2/usb-host.c | 6 +- trunk/arch/arm/mach-omap2/vc.c | 10 +- .../arm/mach-omap2/voltagedomains3xxx_data.c | 2 + .../arm/mach-omap2/voltagedomains44xx_data.c | 2 + trunk/arch/arm/mach-omap2/vp.c | 5 + trunk/arch/arm/mach-orion5x/common.c | 4 +- .../arm/mach-orion5x/include/mach/system.h | 19 - .../arm/mach-picoxcell/include/mach/system.h | 26 - .../arm/mach-pnx4008/include/mach/system.h | 29 - .../arm/mach-prima2/include/mach/system.h | 17 - trunk/arch/arm/mach-pxa/devices.c | 20 - trunk/arch/arm/mach-pxa/hx4700.c | 25 + trunk/arch/arm/mach-pxa/include/mach/system.h | 15 - trunk/arch/arm/mach-pxa/pxa25x.c | 3 - trunk/arch/arm/mach-pxa/pxa27x.c | 3 - trunk/arch/arm/mach-pxa/pxa300.c | 1 - trunk/arch/arm/mach-pxa/pxa320.c | 1 - trunk/arch/arm/mach-pxa/pxa3xx.c | 1 - trunk/arch/arm/mach-pxa/pxa95x.c | 1 - trunk/arch/arm/mach-pxa/saarb.c | 1 - trunk/arch/arm/mach-pxa/sharpsl_pm.c | 3 +- trunk/arch/arm/mach-pxa/spitz_pm.c | 5 +- trunk/arch/arm/mach-realview/core.h | 20 +- trunk/arch/arm/mach-realview/hotplug.c | 1 + .../arm/mach-realview/include/mach/board-eb.h | 18 +- .../mach-realview/include/mach/board-pb11mp.h | 2 + .../mach-realview/include/mach/irqs-pb1176.h | 2 +- .../arm/mach-realview/include/mach/system.h | 33 - trunk/arch/arm/mach-realview/realview_eb.c | 89 +- .../arch/arm/mach-realview/realview_pb1176.c | 78 +- .../arch/arm/mach-realview/realview_pb11mp.c | 91 +- trunk/arch/arm/mach-realview/realview_pba8.c | 78 +- trunk/arch/arm/mach-realview/realview_pbx.c | 78 +- trunk/arch/arm/mach-rpc/include/mach/system.h | 13 - trunk/arch/arm/mach-s3c2410/cpu-freq.c | 8 +- trunk/arch/arm/mach-s3c2410/dma.c | 5 +- .../arm/mach-s3c2410/include/mach/system.h | 54 - trunk/arch/arm/mach-s3c2410/pll.c | 2 +- trunk/arch/arm/mach-s3c2410/pm.c | 2 +- trunk/arch/arm/mach-s3c2412/cpu-freq.c | 3 +- trunk/arch/arm/mach-s3c2412/dma.c | 3 +- trunk/arch/arm/mach-s3c2412/irq.c | 2 +- trunk/arch/arm/mach-s3c2412/pm.c | 2 +- trunk/arch/arm/mach-s3c2412/s3c2412.c | 4 +- trunk/arch/arm/mach-s3c2416/irq.c | 3 +- trunk/arch/arm/mach-s3c2416/pm.c | 2 +- trunk/arch/arm/mach-s3c2416/s3c2416.c | 3 - trunk/arch/arm/mach-s3c2440/clock.c | 2 +- trunk/arch/arm/mach-s3c2440/dma.c | 3 +- trunk/arch/arm/mach-s3c2440/irq.c | 2 +- trunk/arch/arm/mach-s3c2440/s3c2440-cpufreq.c | 3 +- .../arm/mach-s3c2440/s3c2440-pll-12000000.c | 2 +- .../arm/mach-s3c2440/s3c2440-pll-16934400.c | 3 +- trunk/arch/arm/mach-s3c2440/s3c2442.c | 2 +- trunk/arch/arm/mach-s3c2440/s3c244x-clock.c | 2 +- trunk/arch/arm/mach-s3c2440/s3c244x-irq.c | 2 +- trunk/arch/arm/mach-s3c2443/dma.c | 3 +- trunk/arch/arm/mach-s3c2443/irq.c | 3 +- trunk/arch/arm/mach-s3c64xx/clock.c | 5 + trunk/arch/arm/mach-s3c64xx/common.c | 2 +- .../arm/mach-s3c64xx/include/mach/system.h | 19 - trunk/arch/arm/mach-s5p64x0/common.c | 15 +- trunk/arch/arm/mach-s5p64x0/dma.c | 22 +- .../arm/mach-s5p64x0/include/mach/system.h | 21 - trunk/arch/arm/mach-s5p64x0/pm.c | 2 +- trunk/arch/arm/mach-s5pc100/common.c | 12 - trunk/arch/arm/mach-s5pc100/dma.c | 38 +- .../arm/mach-s5pc100/include/mach/system.h | 19 - trunk/arch/arm/mach-s5pv210/clock.c | 4 +- trunk/arch/arm/mach-s5pv210/common.c | 12 - trunk/arch/arm/mach-s5pv210/dma.c | 38 +- .../arm/mach-s5pv210/include/mach/system.h | 21 - trunk/arch/arm/mach-s5pv210/pm.c | 2 +- trunk/arch/arm/mach-sa1100/assabet.c | 12 - trunk/arch/arm/mach-sa1100/cerf.c | 11 - trunk/arch/arm/mach-sa1100/clock.c | 91 +- trunk/arch/arm/mach-sa1100/collie.c | 23 +- trunk/arch/arm/mach-sa1100/cpu-sa1100.c | 2 +- trunk/arch/arm/mach-sa1100/generic.c | 27 +- trunk/arch/arm/mach-sa1100/include/mach/mcp.h | 2 - .../arm/mach-sa1100/include/mach/system.h | 9 - trunk/arch/arm/mach-sa1100/jornada720_ssp.c | 2 + trunk/arch/arm/mach-sa1100/lart.c | 10 - trunk/arch/arm/mach-sa1100/shannon.c | 11 - trunk/arch/arm/mach-sa1100/simpad.c | 18 +- trunk/arch/arm/mach-shark/core.c | 6 + .../arch/arm/mach-shark/include/mach/system.h | 13 - trunk/arch/arm/mach-shmobile/board-ag5evm.c | 29 +- trunk/arch/arm/mach-shmobile/board-ap4evb.c | 12 +- trunk/arch/arm/mach-shmobile/board-kota2.c | 3 +- trunk/arch/arm/mach-shmobile/board-mackerel.c | 95 +- trunk/arch/arm/mach-shmobile/clock-sh73a0.c | 113 + .../arm/mach-shmobile/include/mach/sh73a0.h | 6 +- .../arm/mach-shmobile/include/mach/system.h | 5 - trunk/arch/arm/mach-shmobile/intc-sh73a0.c | 2 + trunk/arch/arm/mach-shmobile/pfc-r8a7779.c | 2 +- trunk/arch/arm/mach-shmobile/pfc-sh7372.c | 41 + trunk/arch/arm/mach-shmobile/setup-sh7372.c | 2 + trunk/arch/arm/mach-shmobile/smp-r8a7779.c | 1 + trunk/arch/arm/mach-shmobile/smp-sh73a0.c | 3 +- .../arm/mach-spear3xx/include/mach/system.h | 19 - trunk/arch/arm/mach-spear3xx/spear300.c | 14 +- trunk/arch/arm/mach-spear3xx/spear3xx.c | 27 +- .../arm/mach-spear6xx/include/mach/system.h | 19 - trunk/arch/arm/mach-spear6xx/spear6xx.c | 10 +- trunk/arch/arm/mach-tegra/Makefile | 3 + trunk/arch/arm/mach-tegra/board-dt-tegra30.c | 24 +- trunk/arch/arm/mach-tegra/board-paz00.c | 8 +- trunk/arch/arm/mach-tegra/board-paz00.h | 2 +- trunk/arch/arm/mach-tegra/clock.c | 22 + trunk/arch/arm/mach-tegra/clock.h | 15 + trunk/arch/arm/mach-tegra/common.c | 4 +- trunk/arch/arm/mach-tegra/cpuidle.c | 107 + trunk/arch/arm/mach-tegra/flowctrl.h | 37 + trunk/arch/arm/mach-tegra/include/mach/clk.h | 10 + trunk/arch/arm/mach-tegra/include/mach/dma.h | 10 +- .../arch/arm/mach-tegra/include/mach/iomap.h | 3 + trunk/arch/arm/mach-tegra/include/mach/irqs.h | 7 +- .../arch/arm/mach-tegra/include/mach/system.h | 28 - trunk/arch/arm/mach-tegra/irq.c | 20 +- trunk/arch/arm/mach-tegra/sleep.S | 91 + trunk/arch/arm/mach-tegra/tegra2_clocks.c | 30 +- trunk/arch/arm/mach-tegra/tegra30_clocks.c | 3099 +++++++++++++++++ trunk/arch/arm/mach-u300/core.c | 85 +- .../arch/arm/mach-u300/include/mach/system.h | 14 - trunk/arch/arm/mach-ux500/Kconfig | 1 + trunk/arch/arm/mach-ux500/board-mop500-sdi.c | 2 + trunk/arch/arm/mach-ux500/cache-l2x0.c | 48 +- trunk/arch/arm/mach-ux500/devices-common.c | 13 +- trunk/arch/arm/mach-ux500/hotplug.c | 1 + .../arch/arm/mach-ux500/include/mach/setup.h | 3 - .../arch/arm/mach-ux500/include/mach/system.h | 20 - trunk/arch/arm/mach-ux500/platsmp.c | 1 + trunk/arch/arm/mach-ux500/timer.c | 7 +- trunk/arch/arm/mach-ux500/usb.c | 6 - trunk/arch/arm/mach-versatile/core.c | 70 +- trunk/arch/arm/mach-versatile/core.h | 20 +- .../arm/mach-versatile/include/mach/system.h | 33 - trunk/arch/arm/mach-versatile/versatile_pb.c | 18 +- trunk/arch/arm/mach-vexpress/core.h | 17 - trunk/arch/arm/mach-vexpress/ct-ca9x4.c | 12 +- trunk/arch/arm/mach-vexpress/hotplug.c | 1 + .../arm/mach-vexpress/include/mach/ct-ca9x4.h | 2 +- .../arm/mach-vexpress/include/mach/system.h | 33 - trunk/arch/arm/mach-vexpress/v2m.c | 20 +- .../arm/mach-vt8500/include/mach/system.h | 5 - trunk/arch/arm/mach-w90x900/dev.c | 1 + .../arm/mach-w90x900/include/mach/system.h | 19 - .../arch/arm/mach-zynq/include/mach/system.h | 23 - trunk/arch/arm/mm/Kconfig | 4 +- trunk/arch/arm/mm/cache-v7.S | 6 + trunk/arch/arm/mm/init.c | 2 +- trunk/arch/arm/mm/proc-v7.S | 26 +- trunk/arch/arm/plat-mxc/Kconfig | 15 +- trunk/arch/arm/plat-mxc/cpu.c | 24 + trunk/arch/arm/plat-mxc/include/mach/common.h | 9 + .../arch/arm/plat-mxc/include/mach/iomux-v1.h | 2 +- trunk/arch/arm/plat-mxc/include/mach/system.h | 25 - .../arch/arm/plat-nomadik/include/plat/mtu.h | 4 +- trunk/arch/arm/plat-nomadik/timer.c | 33 +- trunk/arch/arm/plat-omap/common.c | 1 + trunk/arch/arm/plat-omap/include/plat/cpu.h | 7 +- .../arm/plat-omap/include/plat/omap-secure.h | 8 +- .../arch/arm/plat-omap/include/plat/system.h | 15 - trunk/arch/arm/plat-orion/common.c | 9 +- .../arch/arm/plat-orion/include/plat/common.h | 3 +- trunk/arch/arm/plat-orion/mpp.c | 3 +- trunk/arch/arm/plat-s3c24xx/cpu.c | 27 + trunk/arch/arm/plat-samsung/devs.c | 4 +- .../arch/arm/plat-spear/include/plat/system.h | 26 - trunk/arch/arm/plat-versatile/platsmp.c | 1 + trunk/arch/avr32/Kconfig | 1 + .../arch/avr32/mach-at32ap/include/mach/cpu.h | 3 - trunk/arch/c6x/boot/Makefile | 2 +- trunk/arch/m68k/atari/config.c | 8 +- trunk/arch/m68k/include/asm/irq.h | 13 - trunk/arch/m68k/include/asm/mcf_pgtable.h | 3 +- trunk/arch/m68k/kernel/process_mm.c | 2 +- trunk/arch/m68k/kernel/process_no.c | 4 +- trunk/arch/m68k/kernel/traps.c | 36 +- trunk/arch/m68k/mm/cache.c | 6 +- trunk/arch/m68k/mm/mcfmmu.c | 9 +- trunk/arch/m68k/platform/coldfire/entry.S | 4 +- trunk/arch/microblaze/Kconfig | 1 + trunk/arch/microblaze/include/asm/atomic.h | 1 + trunk/arch/microblaze/kernel/setup.c | 21 +- trunk/arch/mips/Kconfig | 1 + trunk/arch/mips/lib/iomap-pci.c | 4 +- trunk/arch/openrisc/include/asm/ptrace.h | 8 +- trunk/arch/openrisc/kernel/init_task.c | 1 + trunk/arch/openrisc/kernel/irq.c | 1 + trunk/arch/openrisc/kernel/ptrace.c | 12 +- trunk/arch/parisc/Makefile | 4 + .../powerpc/boot/dts/fsl/mpc8536si-post.dtsi | 4 + .../powerpc/boot/dts/fsl/p1010si-post.dtsi | 3 +- .../powerpc/boot/dts/fsl/p1020si-post.dtsi | 4 + .../powerpc/boot/dts/fsl/p1022si-post.dtsi | 3 +- .../powerpc/boot/dts/fsl/p2020si-post.dtsi | 4 + trunk/arch/powerpc/boot/dts/p1020rdb.dtsi | 13 +- trunk/arch/powerpc/boot/dts/p1021mds.dts | 3 +- trunk/arch/powerpc/boot/dts/p2020ds.dtsi | 3 +- trunk/arch/powerpc/boot/dts/p2020rdb.dts | 3 +- trunk/arch/powerpc/configs/ppc64_defconfig | 5 - trunk/arch/powerpc/include/asm/ppc-pci.h | 5 + trunk/arch/powerpc/include/asm/ptrace.h | 20 +- trunk/arch/powerpc/kernel/crash.c | 2 +- trunk/arch/powerpc/kernel/entry_32.S | 2 +- trunk/arch/powerpc/kernel/entry_64.S | 6 +- trunk/arch/powerpc/kernel/exceptions-64s.S | 2 +- trunk/arch/powerpc/kernel/irq.c | 6 +- trunk/arch/powerpc/kernel/legacy_serial.c | 2 + trunk/arch/powerpc/kernel/perf_event.c | 8 +- trunk/arch/powerpc/kernel/process.c | 6 +- trunk/arch/powerpc/kernel/rtas.c | 5 +- trunk/arch/powerpc/kernel/signal.c | 12 +- trunk/arch/powerpc/kernel/signal.h | 2 +- trunk/arch/powerpc/platforms/85xx/p1022_ds.c | 1 + .../arch/powerpc/platforms/powernv/pci-ioda.c | 43 +- trunk/arch/powerpc/platforms/powernv/pci.c | 22 +- trunk/arch/powerpc/platforms/pseries/Kconfig | 2 +- trunk/arch/powerpc/platforms/pseries/eeh.c | 4 +- .../arch/powerpc/platforms/pseries/suspend.c | 6 +- trunk/arch/powerpc/platforms/wsp/ics.c | 2 +- trunk/arch/powerpc/platforms/wsp/smp.c | 2 +- trunk/arch/powerpc/platforms/wsp/wsp_pci.c | 8 +- trunk/arch/powerpc/sysdev/fsl_pci.c | 53 +- trunk/arch/s390/Kconfig | 3 + trunk/arch/s390/Makefile | 1 - trunk/arch/s390/include/asm/compat.h | 7 - trunk/arch/s390/include/asm/kexec.h | 18 + trunk/arch/s390/kernel/compat_wrapper.S | 2 +- trunk/arch/s390/kernel/crash_dump.c | 1 - trunk/arch/s390/kernel/process.c | 6 +- trunk/arch/s390/kernel/ptrace.c | 2 +- trunk/arch/s390/kernel/setup.c | 2 +- trunk/arch/s390/kernel/signal.c | 1 - trunk/arch/s390/kernel/time.c | 7 +- trunk/arch/s390/kernel/vmlinux.lds.S | 4 +- trunk/arch/s390/mm/fault.c | 1 - trunk/arch/s390/mm/init.c | 30 +- trunk/arch/s390/mm/mmap.c | 2 +- trunk/arch/s390/mm/pgtable.c | 2 +- trunk/arch/score/kernel/entry.S | 2 +- trunk/arch/sh/Kconfig | 1 + trunk/arch/sh/boards/board-sh7757lcr.c | 20 +- trunk/arch/sh/boards/mach-ap325rxa/setup.c | 1 + trunk/arch/sh/boards/mach-ecovec24/setup.c | 2 + trunk/arch/sh/boards/mach-kfr2r09/setup.c | 1 + trunk/arch/sh/boards/mach-migor/setup.c | 2 + trunk/arch/sh/boards/mach-se/7724/setup.c | 1 + trunk/arch/sh/drivers/pci/pci-sh7780.c | 2 +- trunk/arch/sh/drivers/pci/pci.c | 4 +- trunk/arch/sh/include/asm/device.h | 8 +- trunk/arch/sh/kernel/cpu/sh4a/clock-sh7724.c | 2 +- trunk/arch/sh/kernel/cpu/sh4a/setup-sh7757.c | 22 +- trunk/arch/sh/kernel/smp.c | 2 +- trunk/arch/sh/kernel/topology.c | 2 +- trunk/arch/sh/mm/cache-sh2a.c | 2 + trunk/arch/sparc/Kconfig | 1 + trunk/arch/sparc/kernel/sun4m_irq.c | 3 + trunk/arch/sparc/lib/divdi3.S | 16 +- trunk/arch/x86/Kconfig | 1 - trunk/arch/x86/boot/compressed/misc.c | 2 + trunk/arch/x86/include/asm/cmpxchg.h | 6 +- trunk/arch/x86/include/asm/cpufeature.h | 1 + trunk/arch/x86/include/asm/i387.h | 307 +- trunk/arch/x86/include/asm/kvm_emulate.h | 16 + trunk/arch/x86/include/asm/perf_event.h | 8 + trunk/arch/x86/include/asm/processor.h | 2 + trunk/arch/x86/include/asm/thread_info.h | 2 - trunk/arch/x86/include/asm/uv/uv_hub.h | 4 +- trunk/arch/x86/kernel/cpu/common.c | 5 + trunk/arch/x86/kernel/cpu/intel_cacheinfo.c | 44 +- trunk/arch/x86/kernel/cpu/mcheck/mce_amd.c | 2 + trunk/arch/x86/kernel/cpu/perf_event.h | 8 +- trunk/arch/x86/kernel/cpu/perf_event_amd.c | 37 +- .../arch/x86/kernel/cpu/perf_event_intel_ds.c | 1 - .../x86/kernel/cpu/perf_event_intel_lbr.c | 2 - trunk/arch/x86/kernel/dumpstack.c | 3 +- trunk/arch/x86/kernel/dumpstack_64.c | 8 +- trunk/arch/x86/kernel/entry_64.S | 9 +- trunk/arch/x86/kernel/microcode_amd.c | 25 +- trunk/arch/x86/kernel/process_32.c | 26 +- trunk/arch/x86/kernel/process_64.c | 30 +- trunk/arch/x86/kernel/reboot.c | 36 +- trunk/arch/x86/kernel/traps.c | 43 +- trunk/arch/x86/kernel/xsave.c | 12 +- trunk/arch/x86/kvm/emulate.c | 51 + trunk/arch/x86/kvm/svm.c | 5 + trunk/arch/x86/kvm/vmx.c | 2 +- trunk/arch/x86/kvm/x86.c | 45 + trunk/arch/x86/mm/fault.c | 4 +- trunk/arch/x86/net/bpf_jit_comp.c | 36 +- trunk/arch/x86/pci/xen.c | 2 +- trunk/arch/x86/platform/uv/tlb_uv.c | 2 + trunk/arch/x86/platform/uv/uv_irq.c | 2 +- trunk/arch/x86/xen/enlighten.c | 6 +- trunk/arch/x86/xen/mmu.c | 8 +- trunk/arch/x86/xen/smp.c | 7 + trunk/arch/x86/xen/spinlock.c | 27 +- trunk/arch/xtensa/include/asm/string.h | 3 - trunk/block/blk-cgroup.c | 2 +- trunk/block/blk-core.c | 33 +- trunk/block/blk-ioc.c | 111 +- trunk/block/blk-merge.c | 37 + trunk/block/blk.h | 2 + trunk/block/bsg.c | 3 +- trunk/block/cfq-iosched.c | 24 +- trunk/block/elevator.c | 55 +- trunk/block/partitions/ldm.c | 11 +- trunk/crypto/sha512_generic.c | 59 +- trunk/drivers/acpi/Makefile | 1 - trunk/drivers/acpi/apei/apei-base.c | 35 +- trunk/drivers/acpi/apei/einj.c | 95 +- trunk/drivers/acpi/atomicio.c | 422 --- trunk/drivers/acpi/osl.c | 152 +- trunk/drivers/acpi/processor_driver.c | 149 +- trunk/drivers/acpi/sleep.c | 8 + trunk/drivers/amba/bus.c | 105 +- trunk/drivers/ata/pata_at91.c | 48 +- trunk/drivers/atm/solos-pci.c | 4 +- trunk/drivers/base/Makefile | 2 +- trunk/drivers/base/bus.c | 9 +- trunk/drivers/base/core.c | 17 +- trunk/drivers/base/cpu.c | 21 + trunk/drivers/base/firmware_class.c | 3 +- trunk/drivers/base/memory.c | 31 +- trunk/drivers/base/node.c | 8 + trunk/drivers/base/regmap/regcache.c | 4 +- trunk/drivers/base/regmap/regmap.c | 3 + trunk/drivers/base/sys.c | 383 -- trunk/drivers/bcma/main.c | 4 +- trunk/drivers/bcma/scan.c | 19 +- trunk/drivers/block/floppy.c | 17 +- trunk/drivers/block/loop.c | 24 +- trunk/drivers/block/mtip32xx/mtip32xx.c | 11 +- trunk/drivers/block/mtip32xx/mtip32xx.h | 5 - trunk/drivers/block/nvme.c | 2 + trunk/drivers/block/rbd.c | 7 +- trunk/drivers/bluetooth/btusb.c | 4 +- trunk/drivers/cdrom/cdrom.c | 20 +- trunk/drivers/char/agp/backend.c | 12 +- trunk/drivers/cpuidle/Kconfig | 2 +- trunk/drivers/crypto/mv_cesa.c | 1 + trunk/drivers/dma/at_hdmac.c | 4 +- trunk/drivers/dma/at_hdmac_regs.h | 17 +- trunk/drivers/dma/dmatest.c | 2 +- trunk/drivers/dma/imx-sdma.c | 6 +- trunk/drivers/dma/shdma.c | 3 +- trunk/drivers/edac/i3200_edac.c | 15 +- trunk/drivers/firewire/ohci.c | 6 +- trunk/drivers/gpio/gpio-lpc32xx.c | 2 +- trunk/drivers/gpio/gpio-ml-ioh.c | 1 + trunk/drivers/gpio/gpio-pch.c | 1 + trunk/drivers/gpio/gpio-samsung.c | 23 +- trunk/drivers/gpu/drm/drm_auth.c | 6 +- trunk/drivers/gpu/drm/drm_fops.c | 5 + trunk/drivers/gpu/drm/drm_gem.c | 2 +- trunk/drivers/gpu/drm/drm_ioc32.c | 3 +- trunk/drivers/gpu/drm/exynos/Kconfig | 4 +- .../gpu/drm/exynos/exynos_drm_connector.c | 16 +- .../drivers/gpu/drm/exynos/exynos_drm_core.c | 3 + .../drivers/gpu/drm/exynos/exynos_drm_crtc.c | 6 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.c | 26 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.h | 4 +- .../gpu/drm/exynos/exynos_drm_encoder.c | 34 + .../gpu/drm/exynos/exynos_drm_encoder.h | 1 + .../drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 70 +- .../drivers/gpu/drm/exynos/exynos_drm_fimd.c | 143 +- trunk/drivers/gpu/drm/exynos/exynos_hdmi.c | 8 +- trunk/drivers/gpu/drm/exynos/exynos_mixer.c | 19 +- trunk/drivers/gpu/drm/gma500/framebuffer.c | 8 +- trunk/drivers/gpu/drm/gma500/gtt.c | 5 +- trunk/drivers/gpu/drm/i810/i810_dma.c | 17 +- trunk/drivers/gpu/drm/i810/i810_drv.c | 1 + trunk/drivers/gpu/drm/i810/i810_drv.h | 6 +- trunk/drivers/gpu/drm/i915/i915_debugfs.c | 31 +- trunk/drivers/gpu/drm/i915/i915_dma.c | 1 + trunk/drivers/gpu/drm/i915/i915_drv.c | 56 +- trunk/drivers/gpu/drm/i915/i915_drv.h | 10 +- trunk/drivers/gpu/drm/i915/i915_irq.c | 3 +- trunk/drivers/gpu/drm/i915/i915_reg.h | 15 + trunk/drivers/gpu/drm/i915/i915_suspend.c | 11 +- trunk/drivers/gpu/drm/i915/intel_bios.h | 6 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 23 + trunk/drivers/gpu/drm/i915/intel_display.c | 67 +- trunk/drivers/gpu/drm/i915/intel_dp.c | 20 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 16 + trunk/drivers/gpu/drm/i915/intel_ringbuffer.c | 55 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 8 +- trunk/drivers/gpu/drm/i915/intel_sprite.c | 8 +- trunk/drivers/gpu/drm/i915/intel_tv.c | 138 +- trunk/drivers/gpu/drm/nouveau/nouveau_bios.h | 5 +- trunk/drivers/gpu/drm/nouveau/nouveau_bo.c | 4 + .../drivers/gpu/drm/nouveau/nouveau_display.c | 10 + trunk/drivers/gpu/drm/nouveau/nouveau_drv.c | 2 +- trunk/drivers/gpu/drm/nouveau/nouveau_gem.c | 23 +- trunk/drivers/gpu/drm/nouveau/nouveau_mxm.c | 9 + trunk/drivers/gpu/drm/nouveau/nv50_pm.c | 4 +- trunk/drivers/gpu/drm/radeon/atombios_crtc.c | 64 +- trunk/drivers/gpu/drm/radeon/atombios_dp.c | 40 +- .../gpu/drm/radeon/atombios_encoders.c | 89 +- trunk/drivers/gpu/drm/radeon/evergreen.c | 3 + trunk/drivers/gpu/drm/radeon/evergreend.h | 1 + trunk/drivers/gpu/drm/radeon/ni.c | 2 + trunk/drivers/gpu/drm/radeon/nid.h | 1 + trunk/drivers/gpu/drm/radeon/r100.c | 12 +- trunk/drivers/gpu/drm/radeon/r300.c | 8 +- trunk/drivers/gpu/drm/radeon/r420.c | 8 +- trunk/drivers/gpu/drm/radeon/r520.c | 8 +- trunk/drivers/gpu/drm/radeon/r600.c | 1 + trunk/drivers/gpu/drm/radeon/r600_blit_kms.c | 35 +- trunk/drivers/gpu/drm/radeon/r600_cs.c | 1 + trunk/drivers/gpu/drm/radeon/radeon.h | 84 +- .../drivers/gpu/drm/radeon/radeon_atombios.c | 20 + .../gpu/drm/radeon/radeon_atpx_handler.c | 3 +- trunk/drivers/gpu/drm/radeon/radeon_bios.c | 2 +- .../gpu/drm/radeon/radeon_connectors.c | 25 +- trunk/drivers/gpu/drm/radeon/radeon_cs.c | 4 + trunk/drivers/gpu/drm/radeon/radeon_device.c | 12 +- trunk/drivers/gpu/drm/radeon/radeon_display.c | 6 +- .../drivers/gpu/drm/radeon/radeon_encoders.c | 77 + trunk/drivers/gpu/drm/radeon/radeon_fence.c | 4 +- trunk/drivers/gpu/drm/radeon/radeon_gart.c | 2 +- trunk/drivers/gpu/drm/radeon/radeon_i2c.c | 2 + trunk/drivers/gpu/drm/radeon/radeon_irq_kms.c | 6 + trunk/drivers/gpu/drm/radeon/radeon_mode.h | 8 + trunk/drivers/gpu/drm/radeon/radeon_ring.c | 44 +- trunk/drivers/gpu/drm/radeon/rs400.c | 8 +- trunk/drivers/gpu/drm/radeon/rs600.c | 12 +- trunk/drivers/gpu/drm/radeon/rs690.c | 8 +- trunk/drivers/gpu/drm/radeon/rv515.c | 8 +- trunk/drivers/gpu/drm/radeon/rv770.c | 1 + trunk/drivers/gpu/drm/sis/sis_drv.c | 3 +- trunk/drivers/gpu/drm/ttm/ttm_bo.c | 17 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 2 +- trunk/drivers/hid/hid-hyperv.c | 1 + trunk/drivers/hid/hid-wacom.c | 7 +- trunk/drivers/hid/hid-wiimote-core.c | 4 +- trunk/drivers/hid/usbhid/hiddev.c | 4 +- trunk/drivers/hwmon/ads1015.c | 3 +- trunk/drivers/hwmon/f71805f.c | 10 +- trunk/drivers/hwmon/f75375s.c | 103 +- trunk/drivers/hwmon/max6639.c | 22 +- trunk/drivers/hwmon/pmbus/max34440.c | 2 +- trunk/drivers/hwmon/sht15.c | 3 +- trunk/drivers/hwmon/w83627ehf.c | 34 +- trunk/drivers/i2c/busses/i2c-mxs.c | 13 +- trunk/drivers/i2c/busses/i2c-omap.c | 2 +- trunk/drivers/i2c/busses/i2c-tegra.c | 2 +- trunk/drivers/ide/Makefile | 1 - trunk/drivers/ide/at91_ide.c | 366 -- trunk/drivers/idle/intel_idle.c | 2 +- trunk/drivers/infiniband/core/ucma.c | 5 +- trunk/drivers/infiniband/core/uverbs_cmd.c | 1 + trunk/drivers/infiniband/core/verbs.c | 2 +- trunk/drivers/infiniband/hw/ipath/ipath_fs.c | 2 +- trunk/drivers/infiniband/hw/mlx4/mad.c | 7 +- trunk/drivers/infiniband/hw/nes/nes.c | 2 +- trunk/drivers/infiniband/hw/nes/nes.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_cm.c | 10 +- trunk/drivers/infiniband/hw/nes/nes_cm.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_context.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_hw.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_hw.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_mgt.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_mgt.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_nic.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_user.h | 2 +- trunk/drivers/infiniband/hw/nes/nes_utils.c | 2 +- trunk/drivers/infiniband/hw/nes/nes_verbs.c | 6 +- trunk/drivers/infiniband/hw/nes/nes_verbs.h | 2 +- trunk/drivers/infiniband/hw/qib/qib_iba6120.c | 2 +- trunk/drivers/infiniband/hw/qib/qib_pcie.c | 2 +- trunk/drivers/infiniband/ulp/ipoib/ipoib.h | 6 +- .../drivers/infiniband/ulp/ipoib/ipoib_main.c | 55 +- .../infiniband/ulp/ipoib/ipoib_multicast.c | 10 +- trunk/drivers/infiniband/ulp/srpt/ib_srpt.c | 17 +- trunk/drivers/infiniband/ulp/srpt/ib_srpt.h | 1 - trunk/drivers/input/evdev.c | 2 +- trunk/drivers/input/keyboard/twl4030_keypad.c | 4 +- trunk/drivers/input/serio/i8042-x86ia64io.h | 7 + trunk/drivers/input/serio/serio_raw.c | 15 +- trunk/drivers/iommu/amd_iommu.c | 3 + trunk/drivers/iommu/msm_iommu.c | 7 +- trunk/drivers/iommu/omap-iommu-debug.c | 59 +- trunk/drivers/iommu/omap-iommu.c | 3 +- trunk/drivers/isdn/i4l/isdn_net.c | 2 +- trunk/drivers/leds/Kconfig | 7 + trunk/drivers/leds/Makefile | 1 + trunk/drivers/leds/leds-lm3530.c | 4 +- trunk/drivers/leds/leds-ot200.c | 171 + trunk/drivers/macintosh/adb.c | 4 +- trunk/drivers/md/dm-raid.c | 12 +- trunk/drivers/md/md.c | 5 +- trunk/drivers/media/dvb/dvb-usb/anysee.c | 11 +- .../drivers/media/dvb/dvb-usb/cinergyT2-fe.c | 7 +- trunk/drivers/media/dvb/frontends/cxd2820r.h | 6 +- .../media/dvb/frontends/cxd2820r_core.c | 20 +- trunk/drivers/media/radio/wl128x/Kconfig | 4 +- trunk/drivers/media/rc/imon.c | 26 +- trunk/drivers/media/video/atmel-isi.c | 14 + trunk/drivers/media/video/em28xx/em28xx-dvb.c | 3 +- trunk/drivers/media/video/hdpvr/hdpvr-core.c | 18 +- trunk/drivers/media/video/hdpvr/hdpvr-video.c | 46 +- trunk/drivers/media/video/hdpvr/hdpvr.h | 1 + trunk/drivers/media/video/omap3isp/ispccdc.c | 2 +- trunk/drivers/mfd/Kconfig | 2 +- trunk/drivers/mfd/mcp-core.c | 61 +- trunk/drivers/mfd/mcp-sa11x0.c | 169 +- trunk/drivers/mfd/twl-core.c | 6 +- trunk/drivers/mfd/twl4030-power.c | 20 +- trunk/drivers/mfd/twl6040-core.c | 128 +- trunk/drivers/mfd/ucb1x00-core.c | 67 +- trunk/drivers/mfd/ucb1x00-ts.c | 34 +- trunk/drivers/misc/Kconfig | 17 +- .../drivers/misc/c2port/c2port-duramar2150.c | 1 + trunk/drivers/misc/cb710/core.c | 1 + trunk/drivers/misc/cs5535-mfgpt.c | 2 +- trunk/drivers/misc/lkdtm.c | 6 +- trunk/drivers/misc/vmw_balloon.c | 14 +- trunk/drivers/mmc/card/block.c | 1 + trunk/drivers/mmc/core/core.c | 49 +- trunk/drivers/mmc/core/host.h | 21 - trunk/drivers/mmc/core/mmc.c | 26 +- trunk/drivers/mmc/core/sd.c | 22 +- trunk/drivers/mmc/core/sdio.c | 7 +- trunk/drivers/mmc/core/sdio_irq.c | 10 +- trunk/drivers/mmc/host/Kconfig | 1 - trunk/drivers/mmc/host/at91_mci.c | 1 - trunk/drivers/mmc/host/atmel-mci.c | 3 + trunk/drivers/mmc/host/dw_mmc.c | 144 +- trunk/drivers/mmc/host/mmci.c | 2 +- trunk/drivers/mmc/host/of_mmc_spi.c | 4 +- trunk/drivers/mmc/host/sdhci-of-esdhc.c | 32 + trunk/drivers/mmc/host/sdhci-pci.c | 2 +- trunk/drivers/mmc/host/sdhci-pltfm.c | 10 +- trunk/drivers/mmc/host/sh_mmcif.c | 16 +- trunk/drivers/mmc/host/tmio_mmc.h | 7 +- trunk/drivers/mmc/host/tmio_mmc_dma.c | 12 + trunk/drivers/mmc/host/tmio_mmc_pio.c | 6 +- trunk/drivers/mtd/mtdcore.c | 2 +- trunk/drivers/mtd/nand/atmel_nand.c | 45 +- trunk/drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 18 +- trunk/drivers/mtd/nand/nand_base.c | 2 +- trunk/drivers/net/bonding/bond_alb.c | 27 +- trunk/drivers/net/can/cc770/cc770.c | 4 +- trunk/drivers/net/can/cc770/cc770_isa.c | 16 +- trunk/drivers/net/can/flexcan.c | 7 +- trunk/drivers/net/can/pch_can.c | 3 +- trunk/drivers/net/can/sja1000/peak_pci.c | 23 +- trunk/drivers/net/can/sja1000/sja1000.c | 13 +- trunk/drivers/net/can/ti_hecc.c | 3 +- trunk/drivers/net/can/usb/ems_usb.c | 9 - trunk/drivers/net/dsa/mv88e6060.c | 1 + trunk/drivers/net/dsa/mv88e6123_61_65.c | 22 +- trunk/drivers/net/dsa/mv88e6131.c | 1 + trunk/drivers/net/dsa/mv88e6xxx.c | 1 + trunk/drivers/net/ethernet/3com/3c59x.c | 2 +- .../net/ethernet/atheros/atl1c/atl1c_main.c | 4 - trunk/drivers/net/ethernet/broadcom/b44.c | 2 +- .../net/ethernet/broadcom/bcm63xx_enet.c | 2 +- .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 5 +- .../ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 111 +- .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 28 +- .../net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 44 +- .../net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 11 + .../net/ethernet/broadcom/bnx2x/bnx2x_stats.c | 8 +- trunk/drivers/net/ethernet/broadcom/cnic.c | 6 +- trunk/drivers/net/ethernet/broadcom/tg3.c | 9 +- .../net/ethernet/brocade/bna/bnad_ethtool.c | 10 +- .../net/ethernet/cisco/enic/cq_enet_desc.h | 2 +- trunk/drivers/net/ethernet/cisco/enic/enic.h | 2 +- .../net/ethernet/cisco/enic/enic_main.c | 38 +- .../drivers/net/ethernet/cisco/enic/enic_pp.c | 2 +- .../net/ethernet/emulex/benet/be_ethtool.c | 6 +- .../net/ethernet/emulex/benet/be_main.c | 3 +- .../drivers/net/ethernet/faraday/ftgmac100.c | 1 + trunk/drivers/net/ethernet/faraday/ftmac100.c | 1 + trunk/drivers/net/ethernet/freescale/fec.c | 4 +- .../net/ethernet/intel/e1000/e1000_main.c | 10 +- trunk/drivers/net/ethernet/intel/igb/Makefile | 2 +- .../net/ethernet/intel/igb/e1000_82575.c | 2 +- .../net/ethernet/intel/igb/e1000_82575.h | 2 +- .../net/ethernet/intel/igb/e1000_defines.h | 2 +- .../drivers/net/ethernet/intel/igb/e1000_hw.h | 2 +- .../net/ethernet/intel/igb/e1000_mac.c | 4 +- .../net/ethernet/intel/igb/e1000_mac.h | 2 +- .../net/ethernet/intel/igb/e1000_mbx.c | 2 +- .../net/ethernet/intel/igb/e1000_mbx.h | 2 +- .../net/ethernet/intel/igb/e1000_nvm.c | 2 +- .../net/ethernet/intel/igb/e1000_nvm.h | 2 +- .../net/ethernet/intel/igb/e1000_phy.c | 2 +- .../net/ethernet/intel/igb/e1000_phy.h | 2 +- .../net/ethernet/intel/igb/e1000_regs.h | 2 +- trunk/drivers/net/ethernet/intel/igb/igb.h | 2 +- .../net/ethernet/intel/igb/igb_ethtool.c | 2 +- .../drivers/net/ethernet/intel/igb/igb_main.c | 13 +- .../drivers/net/ethernet/intel/igbvf/Makefile | 2 +- .../net/ethernet/intel/igbvf/defines.h | 2 +- .../net/ethernet/intel/igbvf/ethtool.c | 5 +- .../drivers/net/ethernet/intel/igbvf/igbvf.h | 2 +- trunk/drivers/net/ethernet/intel/igbvf/mbx.c | 2 +- trunk/drivers/net/ethernet/intel/igbvf/mbx.h | 2 +- .../drivers/net/ethernet/intel/igbvf/netdev.c | 9 +- trunk/drivers/net/ethernet/intel/igbvf/regs.h | 2 +- trunk/drivers/net/ethernet/intel/igbvf/vf.c | 2 +- trunk/drivers/net/ethernet/intel/igbvf/vf.h | 2 +- .../drivers/net/ethernet/intel/ixgbe/Makefile | 2 +- .../drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_82598.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_82599.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_common.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_common.h | 4 +- .../net/ethernet/intel/ixgbe/ixgbe_dcb.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_dcb.h | 2 +- .../ethernet/intel/ixgbe/ixgbe_dcb_82598.c | 2 +- .../ethernet/intel/ixgbe/ixgbe_dcb_82598.h | 2 +- .../ethernet/intel/ixgbe/ixgbe_dcb_82599.c | 2 +- .../ethernet/intel/ixgbe/ixgbe_dcb_82599.h | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 13 +- .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 92 +- .../net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_fcoe.h | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_main.c | 22 +- .../net/ethernet/intel/ixgbe/ixgbe_mbx.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_mbx.h | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_phy.c | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_phy.h | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_sriov.c | 8 +- .../net/ethernet/intel/ixgbe/ixgbe_sriov.h | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_type.h | 34 +- .../net/ethernet/intel/ixgbe/ixgbe_x540.c | 2 +- .../net/ethernet/intel/ixgbevf/Makefile | 2 +- .../net/ethernet/intel/ixgbevf/defines.h | 2 +- .../net/ethernet/intel/ixgbevf/ethtool.c | 7 +- .../net/ethernet/intel/ixgbevf/ixgbevf.h | 10 +- .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 47 +- .../drivers/net/ethernet/intel/ixgbevf/mbx.c | 5 +- .../drivers/net/ethernet/intel/ixgbevf/mbx.h | 2 +- .../drivers/net/ethernet/intel/ixgbevf/regs.h | 2 +- trunk/drivers/net/ethernet/intel/ixgbevf/vf.c | 28 +- trunk/drivers/net/ethernet/intel/ixgbevf/vf.h | 4 +- trunk/drivers/net/ethernet/jme.c | 10 +- trunk/drivers/net/ethernet/jme.h | 2 +- .../net/ethernet/marvell/mv643xx_eth.c | 14 + trunk/drivers/net/ethernet/marvell/skge.c | 38 +- .../drivers/net/ethernet/mellanox/mlx4/cmd.c | 19 +- trunk/drivers/net/ethernet/mellanox/mlx4/cq.c | 4 +- .../net/ethernet/mellanox/mlx4/en_ethtool.c | 159 +- .../net/ethernet/mellanox/mlx4/en_main.c | 6 +- .../net/ethernet/mellanox/mlx4/en_netdev.c | 41 +- .../net/ethernet/mellanox/mlx4/en_rx.c | 18 +- trunk/drivers/net/ethernet/mellanox/mlx4/eq.c | 34 +- trunk/drivers/net/ethernet/mellanox/mlx4/fw.c | 9 +- trunk/drivers/net/ethernet/mellanox/mlx4/fw.h | 1 - .../drivers/net/ethernet/mellanox/mlx4/main.c | 13 +- .../drivers/net/ethernet/mellanox/mlx4/mcg.c | 16 +- .../drivers/net/ethernet/mellanox/mlx4/mlx4.h | 10 +- .../net/ethernet/mellanox/mlx4/mlx4_en.h | 6 +- trunk/drivers/net/ethernet/mellanox/mlx4/mr.c | 14 +- trunk/drivers/net/ethernet/mellanox/mlx4/pd.c | 3 +- .../drivers/net/ethernet/mellanox/mlx4/port.c | 23 + .../net/ethernet/mellanox/mlx4/profile.c | 2 +- trunk/drivers/net/ethernet/mellanox/mlx4/qp.c | 2 +- .../ethernet/mellanox/mlx4/resource_tracker.c | 60 +- .../drivers/net/ethernet/mellanox/mlx4/srq.c | 2 +- trunk/drivers/net/ethernet/micrel/Kconfig | 1 - trunk/drivers/net/ethernet/micrel/ks8851.c | 2 +- .../drivers/net/ethernet/micrel/ks8851_mll.c | 14 +- .../drivers/net/ethernet/octeon/octeon_mgmt.c | 4 +- .../ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 17 +- trunk/drivers/net/ethernet/renesas/sh_eth.c | 4 +- trunk/drivers/net/ethernet/renesas/sh_eth.h | 3 - trunk/drivers/net/ethernet/sfc/rx.c | 4 +- .../net/ethernet/stmicro/stmmac/common.h | 1 + .../net/ethernet/stmicro/stmmac/enh_desc.c | 2 +- .../net/ethernet/stmicro/stmmac/norm_desc.c | 2 +- .../net/ethernet/stmicro/stmmac/stmmac.h | 5 +- .../ethernet/stmicro/stmmac/stmmac_ethtool.c | 7 +- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 205 +- .../net/ethernet/stmicro/stmmac/stmmac_mdio.c | 2 +- .../net/ethernet/stmicro/stmmac/stmmac_pci.c | 12 +- .../ethernet/stmicro/stmmac/stmmac_platform.c | 23 +- trunk/drivers/net/ethernet/ti/cpmac.c | 4 +- trunk/drivers/net/ethernet/ti/davinci_emac.c | 9 +- trunk/drivers/net/ethernet/ti/davinci_mdio.c | 2 +- trunk/drivers/net/ethernet/toshiba/Kconfig | 2 +- trunk/drivers/net/ethernet/via/via-velocity.c | 3 - .../drivers/net/ethernet/xscale/ixp4xx_eth.c | 3 +- trunk/drivers/net/hyperv/netvsc_drv.c | 23 +- trunk/drivers/net/hyperv/rndis_filter.c | 32 + trunk/drivers/net/macvlan.c | 1 + trunk/drivers/net/phy/icplus.c | 55 +- trunk/drivers/net/phy/mdio_bus.c | 5 +- trunk/drivers/net/ppp/ppp_generic.c | 23 + trunk/drivers/net/team/team.c | 136 +- trunk/drivers/net/tokenring/Kconfig | 5 +- trunk/drivers/net/usb/cdc_ether.c | 7 + trunk/drivers/net/usb/hso.c | 2 +- trunk/drivers/net/usb/ipheth.c | 5 + trunk/drivers/net/usb/zaurus.c | 12 + trunk/drivers/net/veth.c | 4 +- trunk/drivers/net/vmxnet3/vmxnet3_drv.c | 4 +- trunk/drivers/net/wireless/ath/ath9k/hw.c | 7 +- trunk/drivers/net/wireless/ath/ath9k/init.c | 9 +- trunk/drivers/net/wireless/ath/ath9k/rc.c | 4 +- trunk/drivers/net/wireless/ath/ath9k/recv.c | 8 + trunk/drivers/net/wireless/b43/Kconfig | 6 + trunk/drivers/net/wireless/b43/main.c | 2 + .../net/wireless/brcm80211/brcmsmac/main.c | 10 +- .../drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 14 +- .../net/wireless/iwlwifi/iwl-commands.h | 1 + .../net/wireless/iwlwifi/iwl-trans-pcie-rx.c | 4 +- .../net/wireless/iwlwifi/iwl-trans-pcie.c | 1 + trunk/drivers/net/wireless/mwifiex/cfg80211.c | 8 +- trunk/drivers/net/wireless/mwifiex/init.c | 3 +- trunk/drivers/net/wireless/mwifiex/main.c | 12 +- .../drivers/net/wireless/mwifiex/sta_ioctl.c | 8 +- trunk/drivers/net/wireless/rt2x00/rt2800lib.c | 8 +- trunk/drivers/net/wireless/rtlwifi/pci.c | 4 +- trunk/drivers/net/wireless/zd1211rw/zd_mac.c | 8 + trunk/drivers/net/xen-netfront.c | 2 +- trunk/drivers/of/platform.c | 6 +- trunk/drivers/parisc/iommu-helpers.h | 2 + trunk/drivers/pci/iov.c | 3 +- trunk/drivers/pci/pci.c | 6 +- trunk/drivers/pci/probe.c | 5 + trunk/drivers/pci/remove.c | 28 +- trunk/drivers/pci/xen-pcifront.c | 10 +- trunk/drivers/pcmcia/ds.c | 4 +- trunk/drivers/pcmcia/pxa2xx_base.c | 12 +- trunk/drivers/pcmcia/sa1111_generic.c | 3 +- trunk/drivers/pinctrl/core.c | 52 +- trunk/drivers/pinctrl/core.h | 3 + trunk/drivers/pinctrl/pinconf.c | 6 +- trunk/drivers/pinctrl/pinconf.h | 4 +- trunk/drivers/pinctrl/pinmux.c | 81 +- trunk/drivers/pinctrl/pinmux.h | 4 +- trunk/drivers/platform/x86/ibm_rtl.c | 15 +- trunk/drivers/platform/x86/intel_ips.c | 15 +- trunk/drivers/power/bq27x00_battery.c | 15 +- trunk/drivers/power/charger-manager.c | 4 +- trunk/drivers/power/lp8727_charger.c | 1 + trunk/drivers/regulator/88pm8607.c | 6 +- trunk/drivers/regulator/core.c | 2 + trunk/drivers/regulator/max8649.c | 2 +- .../regulator/mc13xxx-regulator-core.c | 2 + trunk/drivers/regulator/of_regulator.c | 2 +- trunk/drivers/rtc/Kconfig | 2 +- trunk/drivers/rtc/rtc-at91sam9.c | 13 +- trunk/drivers/rtc/rtc-sa1100.c | 295 +- trunk/drivers/s390/block/dasd.c | 6 + trunk/drivers/s390/block/dasd_alias.c | 64 +- trunk/drivers/s390/block/dasd_eckd.c | 65 +- trunk/drivers/s390/block/dasd_int.h | 2 + trunk/drivers/s390/block/dasd_ioctl.c | 1 + trunk/drivers/s390/char/con3215.c | 22 +- trunk/drivers/s390/char/fs3270.c | 1 + trunk/drivers/s390/char/vmcp.c | 1 + trunk/drivers/s390/cio/chsc_sch.c | 1 + trunk/drivers/s390/scsi/zfcp_cfdc.c | 1 + .../scsi/device_handler/scsi_dh_rdac.c | 25 +- trunk/drivers/scsi/ipr.c | 24 +- trunk/drivers/scsi/isci/host.c | 4 +- trunk/drivers/scsi/mac_esp.c | 3 +- trunk/drivers/scsi/mac_scsi.c | 6 - trunk/drivers/scsi/mpt2sas/mpt2sas_base.c | 3 +- trunk/drivers/scsi/osd/osd_uld.c | 4 +- trunk/drivers/scsi/qla2xxx/qla_attr.c | 13 +- trunk/drivers/scsi/qla2xxx/qla_bsg.c | 50 +- trunk/drivers/scsi/qla2xxx/qla_dbg.c | 3 +- trunk/drivers/scsi/qla2xxx/qla_def.h | 1 + trunk/drivers/scsi/qla2xxx/qla_inline.h | 13 + trunk/drivers/scsi/qla2xxx/qla_isr.c | 1 - trunk/drivers/scsi/qla2xxx/qla_mbx.c | 7 +- trunk/drivers/scsi/qla2xxx/qla_nx.c | 15 +- trunk/drivers/scsi/qla2xxx/qla_os.c | 19 +- trunk/drivers/scsi/qla2xxx/qla_version.h | 2 +- trunk/drivers/scsi/qla4xxx/ql4_nx.c | 23 +- trunk/drivers/scsi/scsi_pm.c | 16 + trunk/drivers/scsi/scsi_priv.h | 1 + trunk/drivers/scsi/scsi_scan.c | 4 +- trunk/drivers/sh/clk/cpg.c | 2 +- trunk/drivers/spi/Kconfig | 2 +- trunk/drivers/spi/spi-topcliff-pch.c | 6 +- trunk/drivers/ssb/driver_pcicore.c | 2 +- trunk/drivers/staging/Kconfig | 4 - trunk/drivers/staging/Makefile | 2 - trunk/drivers/staging/android/Kconfig | 5 +- trunk/drivers/staging/android/Makefile | 1 - trunk/drivers/staging/android/android_pmem.h | 93 - trunk/drivers/staging/android/binder.c | 13 +- .../drivers/staging/android/lowmemorykiller.c | 5 +- trunk/drivers/staging/android/pmem.c | 1345 ------- trunk/drivers/staging/asus_oled/asus_oled.c | 13 +- trunk/drivers/staging/gma500/Kconfig | 33 - trunk/drivers/staging/gma500/Makefile | 52 - trunk/drivers/staging/gma500/TODO | 15 - trunk/drivers/staging/gma500/accel_2d.c | 414 --- trunk/drivers/staging/gma500/backlight.c | 49 - trunk/drivers/staging/gma500/cdv_device.c | 350 -- trunk/drivers/staging/gma500/cdv_device.h | 36 - trunk/drivers/staging/gma500/cdv_intel_crt.c | 326 -- .../staging/gma500/cdv_intel_display.c | 1508 -------- trunk/drivers/staging/gma500/cdv_intel_hdmi.c | 376 -- trunk/drivers/staging/gma500/cdv_intel_lvds.c | 721 ---- trunk/drivers/staging/gma500/displays/hdmi.h | 33 - .../drivers/staging/gma500/displays/pyr_cmd.h | 34 - .../drivers/staging/gma500/displays/pyr_vid.h | 34 - .../drivers/staging/gma500/displays/tmd_cmd.h | 34 - .../drivers/staging/gma500/displays/tmd_vid.h | 34 - .../drivers/staging/gma500/displays/tpo_cmd.h | 35 - .../drivers/staging/gma500/displays/tpo_vid.h | 33 - trunk/drivers/staging/gma500/framebuffer.c | 856 ----- trunk/drivers/staging/gma500/framebuffer.h | 48 - trunk/drivers/staging/gma500/gem.c | 292 -- trunk/drivers/staging/gma500/gem_glue.c | 89 - trunk/drivers/staging/gma500/gem_glue.h | 2 - trunk/drivers/staging/gma500/gtt.c | 553 --- trunk/drivers/staging/gma500/gtt.h | 64 - trunk/drivers/staging/gma500/intel_bios.c | 303 -- trunk/drivers/staging/gma500/intel_bios.h | 430 --- trunk/drivers/staging/gma500/intel_i2c.c | 170 - trunk/drivers/staging/gma500/intel_opregion.c | 81 - trunk/drivers/staging/gma500/mdfld_device.c | 714 ---- trunk/drivers/staging/gma500/mdfld_dsi_dbi.c | 761 ---- trunk/drivers/staging/gma500/mdfld_dsi_dbi.h | 173 - .../staging/gma500/mdfld_dsi_dbi_dpu.c | 778 ----- .../staging/gma500/mdfld_dsi_dbi_dpu.h | 154 - trunk/drivers/staging/gma500/mdfld_dsi_dpi.c | 805 ----- trunk/drivers/staging/gma500/mdfld_dsi_dpi.h | 78 - .../drivers/staging/gma500/mdfld_dsi_output.c | 1014 ------ .../drivers/staging/gma500/mdfld_dsi_output.h | 138 - .../staging/gma500/mdfld_dsi_pkg_sender.c | 1484 -------- .../staging/gma500/mdfld_dsi_pkg_sender.h | 184 - .../staging/gma500/mdfld_intel_display.c | 1404 -------- trunk/drivers/staging/gma500/mdfld_msic.h | 31 - trunk/drivers/staging/gma500/mdfld_output.c | 171 - trunk/drivers/staging/gma500/mdfld_output.h | 41 - trunk/drivers/staging/gma500/mdfld_pyr_cmd.c | 558 --- trunk/drivers/staging/gma500/mdfld_tmd_vid.c | 206 -- trunk/drivers/staging/gma500/mdfld_tpo_cmd.c | 509 --- trunk/drivers/staging/gma500/mdfld_tpo_vid.c | 140 - trunk/drivers/staging/gma500/medfield.h | 268 -- trunk/drivers/staging/gma500/mid_bios.c | 270 -- trunk/drivers/staging/gma500/mid_bios.h | 21 - trunk/drivers/staging/gma500/mmu.c | 858 ----- trunk/drivers/staging/gma500/mrst.h | 252 -- trunk/drivers/staging/gma500/mrst_crtc.c | 604 ---- trunk/drivers/staging/gma500/mrst_device.c | 634 ---- trunk/drivers/staging/gma500/mrst_hdmi.c | 852 ----- trunk/drivers/staging/gma500/mrst_hdmi_i2c.c | 328 -- trunk/drivers/staging/gma500/mrst_lvds.c | 407 --- trunk/drivers/staging/gma500/power.c | 318 -- trunk/drivers/staging/gma500/power.h | 67 - trunk/drivers/staging/gma500/psb_device.c | 321 -- trunk/drivers/staging/gma500/psb_drm.h | 219 -- trunk/drivers/staging/gma500/psb_drv.c | 1230 ------- trunk/drivers/staging/gma500/psb_drv.h | 952 ----- .../staging/gma500/psb_intel_display.c | 1429 -------- .../staging/gma500/psb_intel_display.h | 28 - trunk/drivers/staging/gma500/psb_intel_drv.h | 230 -- trunk/drivers/staging/gma500/psb_intel_lvds.c | 854 ----- .../drivers/staging/gma500/psb_intel_modes.c | 77 - trunk/drivers/staging/gma500/psb_intel_reg.h | 1235 ------- trunk/drivers/staging/gma500/psb_intel_sdvo.c | 1293 ------- .../staging/gma500/psb_intel_sdvo_regs.h | 338 -- trunk/drivers/staging/gma500/psb_irq.c | 627 ---- trunk/drivers/staging/gma500/psb_irq.h | 45 - trunk/drivers/staging/gma500/psb_lid.c | 88 - trunk/drivers/staging/gma500/psb_reg.h | 582 ---- .../drivers/staging/media/go7007/go7007-usb.c | 1 + trunk/drivers/staging/omapdrm/Makefile | 1 + trunk/drivers/staging/omapdrm/omap_crtc.c | 191 +- trunk/drivers/staging/omapdrm/omap_drv.c | 81 +- trunk/drivers/staging/omapdrm/omap_drv.h | 52 +- trunk/drivers/staging/omapdrm/omap_fb.c | 224 +- trunk/drivers/staging/omapdrm/omap_fbdev.c | 59 +- trunk/drivers/staging/omapdrm/omap_gem.c | 23 +- trunk/drivers/staging/omapdrm/omap_plane.c | 344 ++ trunk/drivers/staging/omapdrm/omap_priv.h | 12 +- trunk/drivers/staging/pohmelfs/Kconfig | 20 - trunk/drivers/staging/pohmelfs/Makefile | 3 - trunk/drivers/staging/pohmelfs/config.c | 611 ---- trunk/drivers/staging/pohmelfs/crypto.c | 878 ----- trunk/drivers/staging/pohmelfs/dir.c | 1102 ------ trunk/drivers/staging/pohmelfs/inode.c | 2055 ----------- trunk/drivers/staging/pohmelfs/lock.c | 182 - trunk/drivers/staging/pohmelfs/mcache.c | 171 - trunk/drivers/staging/pohmelfs/net.c | 1209 ------- trunk/drivers/staging/pohmelfs/netfs.h | 919 ----- trunk/drivers/staging/pohmelfs/path_entry.c | 120 - trunk/drivers/staging/pohmelfs/trans.c | 706 ---- trunk/drivers/staging/rtl8712/drv_types.h | 7 + trunk/drivers/staging/rtl8712/hal_init.c | 62 +- trunk/drivers/staging/rtl8712/os_intfs.c | 14 +- trunk/drivers/staging/rtl8712/rtl8712_hal.h | 1 + .../drivers/staging/rtl8712/rtl871x_sta_mgt.c | 1 + trunk/drivers/staging/rtl8712/usb_intf.c | 10 +- .../staging/tidspbridge/core/tiomap3430.c | 2 - .../staging/tidspbridge/rmgr/drv_interface.c | 58 +- trunk/drivers/staging/usbip/stub_main.c | 4 +- trunk/drivers/staging/zcache/zcache-main.c | 25 +- trunk/drivers/target/iscsi/iscsi_target.c | 39 +- .../target/iscsi/iscsi_target_configfs.c | 1 + .../drivers/target/iscsi/iscsi_target_core.h | 6 +- .../drivers/target/iscsi/iscsi_target_erl1.c | 4 +- .../drivers/target/iscsi/iscsi_target_login.c | 39 +- .../drivers/target/iscsi/iscsi_target_util.c | 11 + trunk/drivers/target/target_core_alua.c | 8 +- trunk/drivers/target/target_core_cdb.c | 51 +- trunk/drivers/target/target_core_configfs.c | 12 +- trunk/drivers/target/target_core_device.c | 28 +- .../target/target_core_fabric_configfs.c | 4 +- trunk/drivers/target/target_core_iblock.c | 11 +- trunk/drivers/target/target_core_internal.h | 2 +- trunk/drivers/target/target_core_pr.c | 43 +- trunk/drivers/target/target_core_pscsi.c | 4 +- trunk/drivers/target/target_core_tpg.c | 3 +- trunk/drivers/target/target_core_transport.c | 124 +- trunk/drivers/target/tcm_fc/tfc_cmd.c | 9 +- trunk/drivers/thermal/thermal_sys.c | 4 +- trunk/drivers/tty/serial/{ => 8250}/8250.c | 2 +- trunk/drivers/tty/serial/{ => 8250}/8250.h | 0 .../tty/serial/{ => 8250}/8250_accent.c | 0 .../tty/serial/{ => 8250}/8250_acorn.c | 0 .../drivers/tty/serial/{ => 8250}/8250_boca.c | 0 trunk/drivers/tty/serial/{ => 8250}/8250_dw.c | 0 .../tty/serial/{ => 8250}/8250_early.c | 0 .../serial/{ => 8250}/8250_exar_st16c554.c | 0 .../tty/serial/{ => 8250}/8250_fourport.c | 0 .../drivers/tty/serial/{ => 8250}/8250_fsl.c | 0 .../drivers/tty/serial/{ => 8250}/8250_gsc.c | 0 .../tty/serial/{ => 8250}/8250_hp300.c | 0 .../drivers/tty/serial/{ => 8250}/8250_hub6.c | 0 .../drivers/tty/serial/{ => 8250}/8250_mca.c | 0 .../drivers/tty/serial/{ => 8250}/8250_pci.c | 0 .../drivers/tty/serial/{ => 8250}/8250_pnp.c | 0 trunk/drivers/tty/serial/8250/Kconfig | 280 ++ trunk/drivers/tty/serial/8250/Makefile | 20 + .../drivers/tty/serial/{ => 8250}/serial_cs.c | 0 trunk/drivers/tty/serial/Kconfig | 283 +- trunk/drivers/tty/serial/Makefile | 20 +- trunk/drivers/tty/serial/amba-pl011.c | 30 +- trunk/drivers/tty/serial/jsm/jsm_driver.c | 1 + trunk/drivers/tty/serial/max3107-aava.c | 344 -- trunk/drivers/tty/serial/omap-serial.c | 34 +- trunk/drivers/tty/serial/samsung.c | 3 +- trunk/drivers/tty/serial/serial_core.c | 6 +- trunk/drivers/tty/tty_port.c | 12 +- trunk/drivers/tty/vt/vt_ioctl.c | 1 - trunk/drivers/usb/class/cdc-wdm.c | 59 +- trunk/drivers/usb/core/hcd-pci.c | 5 +- trunk/drivers/usb/core/hcd.c | 6 +- trunk/drivers/usb/core/hub.c | 30 +- trunk/drivers/usb/dwc3/ep0.c | 15 +- trunk/drivers/usb/dwc3/gadget.c | 2 +- trunk/drivers/usb/gadget/Kconfig | 4 +- trunk/drivers/usb/gadget/composite.c | 7 +- trunk/drivers/usb/gadget/epautoconf.c | 2 +- trunk/drivers/usb/gadget/f_loopback.c | 2 +- trunk/drivers/usb/gadget/f_mass_storage.c | 10 +- trunk/drivers/usb/gadget/fsl_udc_core.c | 4 +- trunk/drivers/usb/gadget/langwell_udc.c | 107 +- trunk/drivers/usb/gadget/langwell_udc.h | 1 - trunk/drivers/usb/gadget/storage_common.c | 6 +- trunk/drivers/usb/host/Kconfig | 8 +- trunk/drivers/usb/host/ehci-fsl.c | 13 +- trunk/drivers/usb/host/ehci-fsl.h | 1 + trunk/drivers/usb/host/ehci-pci.c | 6 + trunk/drivers/usb/host/ohci-at91.c | 24 +- trunk/drivers/usb/host/ohci-dbg.c | 12 +- trunk/drivers/usb/host/ohci-pci.c | 4 + trunk/drivers/usb/host/pci-quirks.c | 17 + trunk/drivers/usb/host/xhci-hub.c | 2 +- trunk/drivers/usb/host/xhci-mem.c | 32 +- trunk/drivers/usb/host/xhci-ring.c | 6 +- trunk/drivers/usb/host/xhci.c | 5 + trunk/drivers/usb/misc/emi26.c | 3 - trunk/drivers/usb/misc/emi62.c | 3 - trunk/drivers/usb/misc/usbsevseg.c | 2 +- trunk/drivers/usb/musb/davinci.c | 3 - trunk/drivers/usb/musb/musb_core.c | 5 +- trunk/drivers/usb/musb/musb_io.h | 3 +- trunk/drivers/usb/musb/omap2430.c | 4 +- trunk/drivers/usb/otg/Kconfig | 18 +- trunk/drivers/usb/otg/Makefile | 1 - trunk/drivers/usb/otg/langwell_otg.c | 2347 ------------- trunk/drivers/usb/otg/mv_otg.c | 2 + trunk/drivers/usb/renesas_usbhs/mod_gadget.c | 2 +- trunk/drivers/usb/serial/cp210x.c | 107 +- trunk/drivers/usb/serial/ftdi_sio.c | 15 +- trunk/drivers/usb/serial/ftdi_sio_ids.h | 26 + trunk/drivers/usb/serial/io_ti.c | 10 +- trunk/drivers/usb/serial/kobil_sct.c | 2 +- trunk/drivers/usb/serial/option.c | 45 +- trunk/drivers/usb/serial/qcaux.c | 7 +- trunk/drivers/usb/serial/qcserial.c | 16 +- trunk/drivers/usb/serial/ti_usb_3410_5052.c | 6 +- trunk/drivers/usb/serial/ti_usb_3410_5052.h | 4 + trunk/drivers/usb/storage/realtek_cr.c | 2 +- trunk/drivers/usb/storage/usb.c | 90 +- trunk/drivers/usb/storage/usb.h | 7 +- trunk/drivers/usb/usb-skeleton.c | 18 +- trunk/drivers/usb/wusbcore/Kconfig | 2 +- trunk/drivers/video/atmel_lcdfb.c | 2 +- trunk/drivers/video/backlight/adp8860_bl.c | 2 +- trunk/drivers/video/backlight/adp8870_bl.c | 2 +- trunk/drivers/video/backlight/l4f00242t03.c | 2 + trunk/drivers/video/fsl-diu-fb.c | 4 +- trunk/drivers/video/intelfb/intelfbdrv.c | 1 - trunk/drivers/video/macfb.c | 60 +- trunk/drivers/video/omap2/displays/Kconfig | 2 +- trunk/drivers/video/omap2/dss/apply.c | 6 + trunk/drivers/video/omap2/dss/dispc.c | 2 +- trunk/drivers/video/omap2/dss/dpi.c | 5 + trunk/drivers/video/omap2/dss/dsi.c | 2 +- trunk/drivers/video/omap2/dss/dss.c | 2 +- trunk/drivers/video/omap2/dss/hdmi.c | 29 +- trunk/drivers/video/omap2/dss/rfbi.c | 2 +- trunk/drivers/video/omap2/dss/ti_hdmi.h | 4 + .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 77 +- trunk/drivers/video/omap2/dss/venc.c | 2 +- trunk/drivers/video/pvr2fb.c | 2 +- trunk/drivers/video/via/hw.c | 4 + trunk/drivers/virtio/virtio_balloon.c | 33 +- trunk/drivers/virtio/virtio_ring.c | 8 +- trunk/drivers/watchdog/Kconfig | 2 +- trunk/drivers/watchdog/booke_wdt.c | 6 +- trunk/drivers/watchdog/dw_wdt.c | 6 +- trunk/drivers/watchdog/hpwdt.c | 5 +- trunk/drivers/watchdog/iTCO_wdt.c | 35 + trunk/drivers/watchdog/imx2_wdt.c | 11 +- trunk/drivers/watchdog/nuc900_wdt.c | 5 +- trunk/drivers/watchdog/omap_wdt.c | 2 + trunk/drivers/watchdog/pnx4008_wdt.c | 4 +- trunk/drivers/watchdog/s3c2410_wdt.c | 57 +- trunk/drivers/watchdog/stmp3xxx_wdt.c | 2 +- trunk/drivers/watchdog/via_wdt.c | 6 +- trunk/drivers/watchdog/wafer5823wdt.c | 4 +- trunk/drivers/watchdog/wm8350_wdt.c | 4 +- trunk/drivers/xen/cpu_hotplug.c | 3 +- trunk/drivers/xen/grant-table.c | 7 +- trunk/drivers/xen/xen-pciback/pci_stub.c | 8 +- trunk/drivers/xen/xen-pciback/xenbus.c | 5 +- .../drivers/xen/xenbus/xenbus_dev_frontend.c | 4 + trunk/fs/autofs4/autofs_i.h | 1 + trunk/fs/autofs4/dev-ioctl.c | 1 + trunk/fs/autofs4/expire.c | 2 + trunk/fs/autofs4/inode.c | 2 + trunk/fs/autofs4/waitq.c | 22 +- trunk/fs/binfmt_elf.c | 2 +- trunk/fs/bio.c | 10 +- trunk/fs/btrfs/backref.c | 6 +- trunk/fs/btrfs/check-integrity.c | 13 +- trunk/fs/btrfs/compression.c | 2 + trunk/fs/btrfs/ctree.h | 2 +- trunk/fs/btrfs/disk-io.c | 19 + trunk/fs/btrfs/extent-tree.c | 100 +- trunk/fs/btrfs/extent_io.c | 115 +- trunk/fs/btrfs/extent_io.h | 1 + trunk/fs/btrfs/extent_map.h | 4 +- trunk/fs/btrfs/file.c | 29 +- trunk/fs/btrfs/free-space-cache.c | 6 +- trunk/fs/btrfs/inode-map.c | 6 +- trunk/fs/btrfs/inode.c | 50 +- trunk/fs/btrfs/ioctl.c | 61 +- trunk/fs/btrfs/scrub.c | 8 +- trunk/fs/btrfs/transaction.c | 16 +- trunk/fs/btrfs/tree-log.c | 6 +- trunk/fs/btrfs/volumes.c | 33 +- trunk/fs/ceph/caps.c | 4 +- trunk/fs/ceph/dir.c | 4 +- trunk/fs/ceph/mds_client.c | 10 +- trunk/fs/ceph/mds_client.h | 7 +- trunk/fs/ceph/xattr.c | 4 +- trunk/fs/cifs/Kconfig | 7 +- trunk/fs/cifs/cifs_debug.c | 11 +- trunk/fs/cifs/cifs_spnego.c | 10 +- trunk/fs/cifs/cifs_unicode.c | 41 +- trunk/fs/cifs/cifs_unicode.h | 20 +- trunk/fs/cifs/cifsacl.c | 2 + trunk/fs/cifs/cifsencrypt.c | 21 +- trunk/fs/cifs/cifsglob.h | 2 + trunk/fs/cifs/cifssmb.c | 162 +- trunk/fs/cifs/connect.c | 318 +- trunk/fs/cifs/dir.c | 2 +- trunk/fs/cifs/readdir.c | 9 +- trunk/fs/cifs/sess.c | 45 +- trunk/fs/cifs/smbencrypt.c | 2 +- trunk/fs/compat.c | 56 +- trunk/fs/dcache.c | 21 +- trunk/fs/debugfs/file.c | 2 +- trunk/fs/direct-io.c | 4 +- trunk/fs/ecryptfs/crypto.c | 122 +- trunk/fs/ecryptfs/ecryptfs_kernel.h | 11 + trunk/fs/ecryptfs/inode.c | 50 +- trunk/fs/ecryptfs/keystore.c | 14 +- trunk/fs/ecryptfs/miscdev.c | 140 +- trunk/fs/ecryptfs/mmap.c | 12 +- trunk/fs/ecryptfs/read_write.c | 100 +- trunk/fs/ecryptfs/super.c | 14 +- trunk/fs/eventpoll.c | 30 +- trunk/fs/exec.c | 33 +- trunk/fs/ext2/ioctl.c | 22 +- trunk/fs/fs-writeback.c | 16 +- trunk/fs/gfs2/glock.c | 14 +- trunk/fs/gfs2/inode.c | 5 +- trunk/fs/gfs2/ops_fstype.c | 5 + trunk/fs/gfs2/rgrp.c | 13 +- trunk/fs/inode.c | 8 +- trunk/fs/ioprio.c | 2 +- trunk/fs/jbd/checkpoint.c | 27 +- trunk/fs/jbd/recovery.c | 4 + trunk/fs/jffs2/erase.c | 2 +- trunk/fs/logfs/dev_mtd.c | 6 - trunk/fs/logfs/dir.c | 2 +- trunk/fs/logfs/file.c | 2 + trunk/fs/logfs/gc.c | 2 +- trunk/fs/logfs/inode.c | 4 +- trunk/fs/logfs/journal.c | 1 - trunk/fs/logfs/logfs.h | 5 +- trunk/fs/logfs/readwrite.c | 51 +- trunk/fs/logfs/segment.c | 51 +- trunk/fs/logfs/super.c | 3 +- trunk/fs/namei.c | 70 +- trunk/fs/nfs/nfs4proc.c | 130 +- trunk/fs/nfs/nfs4state.c | 2 + trunk/fs/nfs/nfs4xdr.c | 5 +- trunk/fs/nilfs2/ioctl.c | 2 + trunk/fs/ntfs/attrib.c | 6 +- trunk/fs/ntfs/mft.c | 6 +- trunk/fs/ntfs/super.c | 4 +- trunk/fs/ocfs2/namei.c | 2 +- trunk/fs/proc/base.c | 126 +- trunk/fs/proc/task_mmu.c | 3 + trunk/fs/quota/dquot.c | 8 +- trunk/fs/quota/quota.c | 24 +- trunk/fs/select.c | 2 +- trunk/fs/signalfd.c | 15 + trunk/fs/super.c | 22 + trunk/fs/sysfs/file.c | 6 + trunk/fs/sysfs/inode.c | 5 +- trunk/fs/xfs/kmem.h | 6 - trunk/fs/xfs/xfs_dquot.c | 127 +- trunk/fs/xfs/xfs_log_recover.c | 8 +- trunk/fs/xfs/xfs_qm.c | 291 +- trunk/fs/xfs/xfs_qm.h | 14 - trunk/fs/xfs/xfs_qm_stats.c | 4 +- trunk/fs/xfs/xfs_qm_syscalls.c | 4 +- trunk/fs/xfs/xfs_trace.h | 5 +- trunk/fs/xfs/xfs_trans.c | 4 +- trunk/fs/xfs/xfs_trans_dquot.c | 10 +- trunk/fs/xfs/xfs_vnodeops.c | 3 +- trunk/include/acpi/acpiosxf.h | 4 + trunk/include/acpi/atomicio.h | 10 - trunk/include/acpi/processor.h | 1 + .../asm-generic/io-64-nonatomic-hi-lo.h | 28 + .../asm-generic/io-64-nonatomic-lo-hi.h | 28 + trunk/include/asm-generic/iomap.h | 2 +- trunk/include/asm-generic/pci_iomap.h | 10 + trunk/include/asm-generic/poll.h | 2 + trunk/include/drm/Kbuild | 1 + trunk/include/drm/drmP.h | 1 + trunk/include/drm/exynos_drm.h | 22 +- trunk/include/keys/user-type.h | 3 +- trunk/include/linux/amba/bus.h | 36 + trunk/include/linux/binfmts.h | 3 +- trunk/include/linux/bitops.h | 20 + trunk/include/linux/blkdev.h | 3 - trunk/include/linux/cdrom.h | 3 +- trunk/include/linux/compat.h | 4 + trunk/include/linux/dcache.h | 21 +- trunk/include/linux/device.h | 15 +- trunk/include/linux/digsig.h | 4 +- trunk/include/linux/elevator.h | 9 +- trunk/include/linux/freezer.h | 2 + trunk/include/linux/fs.h | 3 +- trunk/include/linux/gpio_keys.h | 2 + trunk/include/linux/hyperv.h | 2 +- trunk/include/linux/if_link.h | 1 + trunk/include/linux/if_team.h | 10 + trunk/include/linux/iocontext.h | 5 +- trunk/include/linux/kexec.h | 2 + trunk/include/linux/lp8727.h | 0 trunk/include/linux/mfd/mcp.h | 12 +- trunk/include/linux/mfd/twl6040.h | 2 + trunk/include/linux/mfd/ucb1x00.h | 5 +- trunk/include/linux/migrate.h | 14 +- trunk/include/linux/migrate_mode.h | 16 + trunk/include/linux/mlx4/device.h | 1 + trunk/include/linux/mmc/card.h | 4 + trunk/include/linux/mmc/dw_mmc.h | 6 +- trunk/include/linux/mmc/host.h | 20 + trunk/include/linux/mod_devicetable.h | 11 - trunk/include/linux/mpi.h | 2 - trunk/include/linux/mtd/mtd.h | 6 +- .../include/linux/netfilter_bridge/ebtables.h | 4 +- trunk/include/linux/nfs_xdr.h | 2 +- trunk/include/linux/perf_event.h | 1 + trunk/include/linux/pm_qos.h | 14 +- trunk/include/linux/proportions.h | 4 + trunk/include/linux/quota.h | 6 +- trunk/include/linux/regset.h | 10 +- trunk/include/linux/res_counter.h | 11 +- trunk/include/linux/rtnetlink.h | 3 + trunk/include/linux/sched.h | 10 +- trunk/include/linux/sh_dma.h | 1 + trunk/include/linux/shmem_fs.h | 1 + trunk/include/linux/signalfd.h | 5 +- trunk/include/linux/skbuff.h | 10 + trunk/include/linux/snmp.h | 1 - trunk/include/linux/suspend.h | 19 +- trunk/include/linux/swap.h | 2 +- trunk/include/linux/syscalls.h | 2 +- trunk/include/linux/sysdev.h | 164 - trunk/include/linux/thermal.h | 4 +- trunk/include/linux/usb.h | 1 + trunk/include/linux/usb/ch11.h | 10 +- trunk/include/linux/usb/ch9.h | 2 +- trunk/include/linux/usb/langwell_otg.h | 139 - trunk/include/net/bluetooth/bluetooth.h | 2 + trunk/include/net/bluetooth/hci.h | 2 +- trunk/include/net/bluetooth/hci_core.h | 6 +- trunk/include/net/bluetooth/l2cap.h | 12 +- trunk/include/net/cfg80211.h | 6 + trunk/include/net/flow.h | 10 + trunk/include/net/netfilter/nf_conntrack.h | 2 +- trunk/include/net/netns/generic.h | 1 + trunk/include/net/netprio_cgroup.h | 49 +- trunk/include/net/route.h | 4 + trunk/include/net/rtnetlink.h | 2 +- trunk/include/net/sch_generic.h | 9 +- trunk/include/net/sock.h | 14 +- trunk/include/net/tcp.h | 16 +- trunk/include/sound/core.h | 2 + trunk/include/target/target_core_backend.h | 4 +- trunk/include/target/target_core_base.h | 1 + trunk/include/target/target_core_fabric.h | 2 +- trunk/include/trace/events/sched.h | 50 - trunk/include/trace/events/writeback.h | 7 +- trunk/include/video/omapdss.h | 5 + trunk/ipc/mqueue.c | 3 +- trunk/ipc/shm.c | 37 +- trunk/kernel/auditsc.c | 5 +- trunk/kernel/events/callchain.c | 2 - trunk/kernel/events/core.c | 125 +- trunk/kernel/events/hw_breakpoint.c | 4 +- trunk/kernel/exit.c | 16 + trunk/kernel/fork.c | 27 +- trunk/kernel/irq/autoprobe.c | 4 +- trunk/kernel/irq/chip.c | 42 +- trunk/kernel/irq/internals.h | 2 +- trunk/kernel/irq/manage.c | 2 +- trunk/kernel/kprobes.c | 8 +- trunk/kernel/params.c | 3 +- trunk/kernel/pid.c | 4 +- trunk/kernel/power/power.h | 24 +- trunk/kernel/power/process.c | 26 +- trunk/kernel/power/snapshot.c | 3 +- trunk/kernel/power/user.c | 15 +- trunk/kernel/rcutorture.c | 8 +- trunk/kernel/relay.c | 10 +- trunk/kernel/res_counter.c | 25 + trunk/kernel/sched/core.c | 24 +- trunk/kernel/sched/cpupri.c | 3 +- trunk/kernel/sched/fair.c | 36 +- trunk/kernel/sched/rt.c | 5 + trunk/kernel/watchdog.c | 2 +- trunk/lib/Kconfig | 7 + trunk/lib/Makefile | 2 + trunk/lib/bug.c | 2 +- trunk/lib/clz_tab.c | 18 + trunk/lib/digsig.c | 52 +- trunk/lib/kstrtox.c | 18 +- trunk/lib/mpi/longlong.h | 44 +- trunk/lib/mpi/mpi-bit.c | 19 - trunk/lib/mpi/mpi-div.c | 5 + trunk/lib/mpi/mpi-pow.c | 2 +- trunk/lib/mpi/mpicoder.c | 91 +- trunk/lib/mpi/mpih-div.c | 4 + trunk/lib/mpi/mpiutil.c | 5 +- trunk/lib/pci_iomap.c | 2 +- trunk/mm/backing-dev.c | 23 +- trunk/mm/compaction.c | 24 +- trunk/mm/filemap.c | 8 +- trunk/mm/filemap_xip.c | 7 +- trunk/mm/huge_memory.c | 4 +- trunk/mm/hugetlb.c | 9 +- trunk/mm/kmemleak.c | 3 +- trunk/mm/memblock.c | 13 +- trunk/mm/memcontrol.c | 14 +- trunk/mm/memory.c | 37 +- trunk/mm/migrate.c | 2 +- trunk/mm/nommu.c | 9 +- trunk/mm/page_alloc.c | 21 +- trunk/mm/process_vm_access.c | 23 +- trunk/mm/shmem.c | 53 +- trunk/mm/swap.c | 2 +- trunk/mm/vmscan.c | 124 +- trunk/net/atm/clip.c | 10 +- trunk/net/bluetooth/af_bluetooth.c | 12 +- trunk/net/bluetooth/hci_conn.c | 4 + trunk/net/bluetooth/hci_core.c | 5 +- trunk/net/bluetooth/l2cap_core.c | 24 +- trunk/net/bluetooth/l2cap_sock.c | 4 +- trunk/net/bluetooth/rfcomm/core.c | 18 +- trunk/net/bluetooth/rfcomm/sock.c | 2 + trunk/net/caif/caif_dev.c | 22 +- trunk/net/caif/caif_socket.c | 10 +- trunk/net/caif/cfcnfg.c | 1 - trunk/net/caif/cfmuxl.c | 12 +- trunk/net/ceph/ceph_common.c | 2 - trunk/net/ceph/mon_client.c | 13 +- trunk/net/core/dev.c | 10 +- trunk/net/core/ethtool.c | 3 + trunk/net/core/flow_dissector.c | 1 + trunk/net/core/neighbour.c | 2 + trunk/net/core/net_namespace.c | 31 +- trunk/net/core/netpoll.c | 2 +- trunk/net/core/netprio_cgroup.c | 15 +- trunk/net/core/pktgen.c | 4 +- trunk/net/core/rtnetlink.c | 77 +- trunk/net/core/sock.c | 11 +- trunk/net/ipv4/Kconfig | 2 +- trunk/net/ipv4/arp.c | 3 +- trunk/net/ipv4/inet_connection_sock.c | 7 +- trunk/net/ipv4/ip_gre.c | 14 +- trunk/net/ipv4/ip_options.c | 2 +- trunk/net/ipv4/ping.c | 1 + trunk/net/ipv4/proc.c | 1 - trunk/net/ipv4/sysctl_net_ipv4.c | 7 +- trunk/net/ipv4/tcp.c | 38 +- trunk/net/ipv4/tcp_bic.c | 11 +- trunk/net/ipv4/tcp_cubic.c | 10 +- trunk/net/ipv4/tcp_input.c | 86 +- trunk/net/ipv4/tcp_ipv4.c | 7 +- trunk/net/ipv4/tcp_output.c | 6 +- trunk/net/ipv4/tcp_timer.c | 5 +- trunk/net/ipv4/xfrm4_mode_beet.c | 5 +- trunk/net/ipv4/xfrm4_mode_tunnel.c | 6 +- trunk/net/ipv6/addrconf.c | 61 +- trunk/net/ipv6/ip6mr.c | 4 +- trunk/net/ipv6/ndisc.c | 5 +- trunk/net/ipv6/tcp_ipv6.c | 2 +- trunk/net/ipv6/xfrm6_mode_beet.c | 6 +- trunk/net/ipv6/xfrm6_mode_tunnel.c | 6 +- trunk/net/l2tp/l2tp_ip.c | 5 - trunk/net/llc/af_llc.c | 5 + trunk/net/mac80211/debugfs_key.c | 7 +- trunk/net/mac80211/debugfs_sta.c | 4 +- trunk/net/mac80211/ibss.c | 1 + trunk/net/mac80211/iface.c | 1 + trunk/net/mac80211/main.c | 4 +- trunk/net/mac80211/mesh_hwmp.c | 8 +- trunk/net/mac80211/mesh_plink.c | 4 +- trunk/net/mac80211/mlme.c | 38 +- trunk/net/mac80211/rate.c | 2 +- trunk/net/mac80211/rate.h | 3 +- trunk/net/mac80211/rx.c | 2 +- trunk/net/mac80211/sta_info.h | 2 + trunk/net/netfilter/ipvs/ip_vs_core.c | 2 +- trunk/net/netfilter/nf_conntrack_core.c | 38 +- trunk/net/netfilter/nf_conntrack_netlink.c | 46 +- trunk/net/netfilter/nf_queue.c | 40 +- trunk/net/netfilter/xt_TEE.c | 5 +- trunk/net/rds/af_rds.c | 20 +- trunk/net/rxrpc/ar-key.c | 4 +- trunk/net/sched/sch_choke.c | 3 +- trunk/net/sched/sch_netem.c | 11 +- trunk/net/sched/sch_sfb.c | 3 +- trunk/net/sched/sch_sfq.c | 5 +- trunk/net/sunrpc/auth_generic.c | 17 +- trunk/net/unix/af_unix.c | 19 +- trunk/scripts/checkpatch.pl | 6 + trunk/scripts/coccicheck | 13 +- trunk/scripts/depmod.sh | 6 - trunk/scripts/kernel-doc | 3 +- trunk/scripts/mod/file2alias.c | 47 +- trunk/scripts/mod/modpost.c | 9 + trunk/scripts/package/builddeb | 12 +- trunk/security/keys/internal.h | 1 + trunk/security/keys/key.c | 1 + trunk/security/keys/user_defined.c | 37 + trunk/sound/core/compress_offload.c | 13 +- trunk/sound/isa/sb/emu8000_patch.c | 1 - trunk/sound/pci/azt3328.c | 3 +- trunk/sound/pci/hda/alc880_quirks.c | 17 +- trunk/sound/pci/hda/alc882_quirks.c | 15 +- trunk/sound/pci/hda/hda_codec.c | 14 +- trunk/sound/pci/hda/hda_codec.h | 3 + trunk/sound/pci/hda/hda_intel.c | 6 +- trunk/sound/pci/hda/hda_jack.c | 24 +- trunk/sound/pci/hda/patch_ca0132.c | 33 +- trunk/sound/pci/hda/patch_cirrus.c | 10 +- trunk/sound/pci/hda/patch_conexant.c | 26 +- trunk/sound/pci/hda/patch_realtek.c | 158 +- trunk/sound/pci/hda/patch_sigmatel.c | 25 +- trunk/sound/pci/hda/patch_via.c | 287 +- trunk/sound/pci/intel8x0.c | 6 + trunk/sound/pci/oxygen/oxygen_mixer.c | 25 +- trunk/sound/pci/ymfpci/ymfpci.c | 21 +- trunk/sound/pci/ymfpci/ymfpci_main.c | 21 +- trunk/sound/soc/codecs/ak4642.c | 31 +- trunk/sound/soc/codecs/cs42l73.c | 2 +- trunk/sound/soc/codecs/sgtl5000.c | 17 +- trunk/sound/soc/codecs/tlv320aic32x4.c | 110 +- trunk/sound/soc/codecs/wm2000.c | 31 +- trunk/sound/soc/codecs/wm5100.c | 15 +- trunk/sound/soc/codecs/wm8958-dsp2.c | 2 +- trunk/sound/soc/codecs/wm8962.c | 10 +- trunk/sound/soc/codecs/wm8994.c | 16 +- trunk/sound/soc/codecs/wm8996.c | 9 +- trunk/sound/soc/codecs/wm8996.h | 4 + trunk/sound/soc/codecs/wm_hubs.c | 18 +- trunk/sound/soc/imx/imx-ssi.c | 2 +- trunk/sound/soc/mxs/mxs-saif.c | 5 + trunk/sound/soc/samsung/neo1973_wm8753.c | 65 +- trunk/sound/soc/sh/fsi.c | 6 +- trunk/sound/soc/soc-core.c | 11 + trunk/sound/soc/soc-dapm.c | 12 +- trunk/sound/usb/caiaq/audio.c | 5 +- trunk/sound/usb/card.h | 1 + trunk/sound/usb/format.c | 4 +- trunk/sound/usb/quirks-table.h | 8 + trunk/sound/usb/quirks.c | 6 +- trunk/tools/perf/Makefile | 7 +- .../tools/perf/bench/mem-memcpy-x86-64-asm.S | 6 + trunk/tools/perf/builtin-probe.c | 2 - trunk/tools/perf/builtin-top.c | 13 +- trunk/tools/perf/util/event.c | 3 +- trunk/tools/perf/util/evlist.c | 4 + trunk/tools/perf/util/evsel.c | 1 + trunk/tools/perf/util/header.c | 2 +- trunk/tools/perf/util/probe-event.c | 8 +- trunk/tools/perf/util/probe-finder.c | 12 +- trunk/tools/perf/util/symbol.c | 1 - trunk/tools/perf/util/trace-event-parse.c | 3 +- trunk/tools/perf/util/ui/browsers/hists.c | 2 - trunk/tools/perf/util/ui/helpline.c | 1 - trunk/tools/perf/util/util.h | 1 - trunk/tools/testing/ktest/ktest.pl | 8 +- trunk/virt/kvm/kvm_main.c | 2 +- 1724 files changed, 19260 insertions(+), 60227 deletions(-) create mode 100644 trunk/arch/arm/boot/dts/at91sam9g25ek.dts create mode 100644 trunk/arch/arm/boot/dts/at91sam9x5.dtsi create mode 100644 trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi delete mode 100644 trunk/arch/arm/configs/at91cap9_defconfig rename trunk/arch/arm/configs/{mx5_defconfig => imx_v6_v7_defconfig} (79%) delete mode 100644 trunk/arch/arm/configs/mx3_defconfig delete mode 100644 trunk/arch/arm/mach-at91/at91cap9.c delete mode 100644 trunk/arch/arm/mach-at91/at91cap9_devices.c create mode 100644 trunk/arch/arm/mach-at91/at91sam9g45_reset.S create mode 100644 trunk/arch/arm/mach-at91/at91sam9x5.c delete mode 100644 trunk/arch/arm/mach-at91/board-cap9adk.c delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91cap9.h delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91cap9_ddrsdr.h delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91cap9_matrix.h create mode 100644 trunk/arch/arm/mach-at91/include/mach/at91sam9x5.h create mode 100644 trunk/arch/arm/mach-at91/include/mach/at91sam9x5_matrix.h delete mode 100644 trunk/arch/arm/mach-at91/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-bcmring/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-clps711x/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-cns3xxx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-davinci/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-dove/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-ebsa110/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-ep93xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-exynos/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-footbridge/include/mach/system.h create mode 100644 trunk/arch/arm/mach-gemini/idle.c delete mode 100644 trunk/arch/arm/mach-h720x/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-highbank/include/mach/memory.h delete mode 100644 trunk/arch/arm/mach-highbank/include/mach/system.h rename trunk/arch/arm/{mach-mx5 => mach-imx}/clock-mx51-mx53.c (99%) rename trunk/arch/arm/{mach-mx5/cpu.c => mach-imx/cpu-imx5.c} (77%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/cpu_op-mx51.c (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/cpu_op-mx51.h (100%) rename trunk/arch/arm/{mach-mx5/crm_regs.h => mach-imx/crm-regs-imx5.h} (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/devices-imx50.h (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/devices-imx51.h (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/devices-imx53.h (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/efika.h (100%) rename trunk/arch/arm/{mach-mx5/ehci.c => mach-imx/ehci-imx5.c} (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/eukrea_mbimx51-baseboard.c (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/eukrea_mbimxsd-baseboard.c (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/imx51-dt.c (100%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/imx53-dt.c (100%) rename trunk/arch/arm/{mach-mx5/board-cpuimx51.c => mach-imx/mach-cpuimx51.c} (100%) rename trunk/arch/arm/{mach-mx5/board-cpuimx51sd.c => mach-imx/mach-cpuimx51sd.c} (100%) rename trunk/arch/arm/{mach-mx5/board-mx50_rdp.c => mach-imx/mach-mx50_rdp.c} (100%) rename trunk/arch/arm/{mach-mx5/board-mx51_3ds.c => mach-imx/mach-mx51_3ds.c} (100%) rename trunk/arch/arm/{mach-mx5/board-mx51_babbage.c => mach-imx/mach-mx51_babbage.c} (100%) rename trunk/arch/arm/{mach-mx5/board-mx51_efikamx.c => mach-imx/mach-mx51_efikamx.c} (100%) rename trunk/arch/arm/{mach-mx5/board-mx51_efikasb.c => mach-imx/mach-mx51_efikasb.c} (100%) rename trunk/arch/arm/{mach-mx5/board-mx53_ard.c => mach-imx/mach-mx53_ard.c} (99%) rename trunk/arch/arm/{mach-mx5/board-mx53_evk.c => mach-imx/mach-mx53_evk.c} (99%) rename trunk/arch/arm/{mach-mx5/board-mx53_loco.c => mach-imx/mach-mx53_loco.c} (99%) rename trunk/arch/arm/{mach-mx5/board-mx53_smd.c => mach-imx/mach-mx53_smd.c} (99%) rename trunk/arch/arm/{mach-mx5/mm.c => mach-imx/mm-imx5.c} (91%) rename trunk/arch/arm/{mach-mx5 => mach-imx}/mx51_efika.c (100%) create mode 100644 trunk/arch/arm/mach-imx/pm-imx3.c rename trunk/arch/arm/{mach-mx5/system.c => mach-imx/pm-imx5.c} (58%) delete mode 100644 trunk/arch/arm/mach-integrator/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-iop13xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-iop32x/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-iop33x/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-ixp2000/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-ixp23xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-ixp4xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-kirkwood/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-ks8695/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-lpc32xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-mmp/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-msm/idle.S create mode 100644 trunk/arch/arm/mach-msm/idle.c delete mode 100644 trunk/arch/arm/mach-mv78xx0/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-mx5/Kconfig delete mode 100644 trunk/arch/arm/mach-mx5/Makefile delete mode 100644 trunk/arch/arm/mach-mx5/Makefile.boot delete mode 100644 trunk/arch/arm/mach-mx5/pm-imx5.c delete mode 100644 trunk/arch/arm/mach-mxs/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-netx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-nomadik/include/mach/setup.h delete mode 100644 trunk/arch/arm/mach-nomadik/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-omap1/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-omap2/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-orion5x/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-picoxcell/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-pnx4008/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-prima2/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-pxa/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-realview/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-rpc/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-s3c2410/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-s3c64xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-s5p64x0/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-s5pc100/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-s5pv210/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-sa1100/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-shark/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-spear3xx/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-spear6xx/include/mach/system.h create mode 100644 trunk/arch/arm/mach-tegra/cpuidle.c create mode 100644 trunk/arch/arm/mach-tegra/flowctrl.h delete mode 100644 trunk/arch/arm/mach-tegra/include/mach/system.h create mode 100644 trunk/arch/arm/mach-tegra/sleep.S create mode 100644 trunk/arch/arm/mach-tegra/tegra30_clocks.c delete mode 100644 trunk/arch/arm/mach-u300/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-ux500/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-versatile/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-vexpress/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-w90x900/include/mach/system.h delete mode 100644 trunk/arch/arm/mach-zynq/include/mach/system.h delete mode 100644 trunk/arch/arm/plat-mxc/include/mach/system.h delete mode 100644 trunk/arch/arm/plat-omap/include/plat/system.h delete mode 100644 trunk/arch/arm/plat-spear/include/plat/system.h delete mode 100644 trunk/drivers/acpi/atomicio.c delete mode 100644 trunk/drivers/base/sys.c delete mode 100644 trunk/drivers/ide/at91_ide.c create mode 100644 trunk/drivers/leds/leds-ot200.c delete mode 100644 trunk/drivers/staging/android/android_pmem.h delete mode 100644 trunk/drivers/staging/android/pmem.c delete mode 100644 trunk/drivers/staging/gma500/Kconfig delete mode 100644 trunk/drivers/staging/gma500/Makefile delete mode 100644 trunk/drivers/staging/gma500/TODO delete mode 100644 trunk/drivers/staging/gma500/accel_2d.c delete mode 100644 trunk/drivers/staging/gma500/backlight.c delete mode 100644 trunk/drivers/staging/gma500/cdv_device.c delete mode 100644 trunk/drivers/staging/gma500/cdv_device.h delete mode 100644 trunk/drivers/staging/gma500/cdv_intel_crt.c delete mode 100644 trunk/drivers/staging/gma500/cdv_intel_display.c delete mode 100644 trunk/drivers/staging/gma500/cdv_intel_hdmi.c delete mode 100644 trunk/drivers/staging/gma500/cdv_intel_lvds.c delete mode 100644 trunk/drivers/staging/gma500/displays/hdmi.h delete mode 100644 trunk/drivers/staging/gma500/displays/pyr_cmd.h delete mode 100644 trunk/drivers/staging/gma500/displays/pyr_vid.h delete mode 100644 trunk/drivers/staging/gma500/displays/tmd_cmd.h delete mode 100644 trunk/drivers/staging/gma500/displays/tmd_vid.h delete mode 100644 trunk/drivers/staging/gma500/displays/tpo_cmd.h delete mode 100644 trunk/drivers/staging/gma500/displays/tpo_vid.h delete mode 100644 trunk/drivers/staging/gma500/framebuffer.c delete mode 100644 trunk/drivers/staging/gma500/framebuffer.h delete mode 100644 trunk/drivers/staging/gma500/gem.c delete mode 100644 trunk/drivers/staging/gma500/gem_glue.c delete mode 100644 trunk/drivers/staging/gma500/gem_glue.h delete mode 100644 trunk/drivers/staging/gma500/gtt.c delete mode 100644 trunk/drivers/staging/gma500/gtt.h delete mode 100644 trunk/drivers/staging/gma500/intel_bios.c delete mode 100644 trunk/drivers/staging/gma500/intel_bios.h delete mode 100644 trunk/drivers/staging/gma500/intel_i2c.c delete mode 100644 trunk/drivers/staging/gma500/intel_opregion.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_device.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_dbi.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_dbi.h delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_dbi_dpu.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_dbi_dpu.h delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_dpi.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_dpi.h delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_output.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_output.h delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_pkg_sender.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_dsi_pkg_sender.h delete mode 100644 trunk/drivers/staging/gma500/mdfld_intel_display.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_msic.h delete mode 100644 trunk/drivers/staging/gma500/mdfld_output.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_output.h delete mode 100644 trunk/drivers/staging/gma500/mdfld_pyr_cmd.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_tmd_vid.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_tpo_cmd.c delete mode 100644 trunk/drivers/staging/gma500/mdfld_tpo_vid.c delete mode 100644 trunk/drivers/staging/gma500/medfield.h delete mode 100644 trunk/drivers/staging/gma500/mid_bios.c delete mode 100644 trunk/drivers/staging/gma500/mid_bios.h delete mode 100644 trunk/drivers/staging/gma500/mmu.c delete mode 100644 trunk/drivers/staging/gma500/mrst.h delete mode 100644 trunk/drivers/staging/gma500/mrst_crtc.c delete mode 100644 trunk/drivers/staging/gma500/mrst_device.c delete mode 100644 trunk/drivers/staging/gma500/mrst_hdmi.c delete mode 100644 trunk/drivers/staging/gma500/mrst_hdmi_i2c.c delete mode 100644 trunk/drivers/staging/gma500/mrst_lvds.c delete mode 100644 trunk/drivers/staging/gma500/power.c delete mode 100644 trunk/drivers/staging/gma500/power.h delete mode 100644 trunk/drivers/staging/gma500/psb_device.c delete mode 100644 trunk/drivers/staging/gma500/psb_drm.h delete mode 100644 trunk/drivers/staging/gma500/psb_drv.c delete mode 100644 trunk/drivers/staging/gma500/psb_drv.h delete mode 100644 trunk/drivers/staging/gma500/psb_intel_display.c delete mode 100644 trunk/drivers/staging/gma500/psb_intel_display.h delete mode 100644 trunk/drivers/staging/gma500/psb_intel_drv.h delete mode 100644 trunk/drivers/staging/gma500/psb_intel_lvds.c delete mode 100644 trunk/drivers/staging/gma500/psb_intel_modes.c delete mode 100644 trunk/drivers/staging/gma500/psb_intel_reg.h delete mode 100644 trunk/drivers/staging/gma500/psb_intel_sdvo.c delete mode 100644 trunk/drivers/staging/gma500/psb_intel_sdvo_regs.h delete mode 100644 trunk/drivers/staging/gma500/psb_irq.c delete mode 100644 trunk/drivers/staging/gma500/psb_irq.h delete mode 100644 trunk/drivers/staging/gma500/psb_lid.c delete mode 100644 trunk/drivers/staging/gma500/psb_reg.h create mode 100644 trunk/drivers/staging/omapdrm/omap_plane.c delete mode 100644 trunk/drivers/staging/pohmelfs/Kconfig delete mode 100644 trunk/drivers/staging/pohmelfs/Makefile delete mode 100644 trunk/drivers/staging/pohmelfs/config.c delete mode 100644 trunk/drivers/staging/pohmelfs/crypto.c delete mode 100644 trunk/drivers/staging/pohmelfs/dir.c delete mode 100644 trunk/drivers/staging/pohmelfs/inode.c delete mode 100644 trunk/drivers/staging/pohmelfs/lock.c delete mode 100644 trunk/drivers/staging/pohmelfs/mcache.c delete mode 100644 trunk/drivers/staging/pohmelfs/net.c delete mode 100644 trunk/drivers/staging/pohmelfs/netfs.h delete mode 100644 trunk/drivers/staging/pohmelfs/path_entry.c delete mode 100644 trunk/drivers/staging/pohmelfs/trans.c rename trunk/drivers/tty/serial/{ => 8250}/8250.c (99%) rename trunk/drivers/tty/serial/{ => 8250}/8250.h (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_accent.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_acorn.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_boca.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_dw.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_early.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_exar_st16c554.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_fourport.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_fsl.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_gsc.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_hp300.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_hub6.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_mca.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_pci.c (100%) rename trunk/drivers/tty/serial/{ => 8250}/8250_pnp.c (100%) create mode 100644 trunk/drivers/tty/serial/8250/Kconfig create mode 100644 trunk/drivers/tty/serial/8250/Makefile rename trunk/drivers/tty/serial/{ => 8250}/serial_cs.c (100%) delete mode 100644 trunk/drivers/tty/serial/max3107-aava.c delete mode 100644 trunk/drivers/usb/otg/langwell_otg.c delete mode 100644 trunk/include/acpi/atomicio.h create mode 100644 trunk/include/asm-generic/io-64-nonatomic-hi-lo.h create mode 100644 trunk/include/asm-generic/io-64-nonatomic-lo-hi.h mode change 100755 => 100644 trunk/include/linux/lp8727.h create mode 100644 trunk/include/linux/migrate_mode.h delete mode 100644 trunk/include/linux/sysdev.h delete mode 100644 trunk/include/linux/usb/langwell_otg.h create mode 100644 trunk/lib/clz_tab.c diff --git a/[refs] b/[refs] index 604f68ca8148..af1cad8cc0ae 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4d2e4d7f2c2b1a4382286821a59fa2f4012cb748 +refs/heads/master: f7c8faedf98aa5ec372e0191078ac7fe1e7fb067 diff --git a/trunk/Documentation/DocBook/device-drivers.tmpl b/trunk/Documentation/DocBook/device-drivers.tmpl index b638e50cf8f6..9c27e5125dd2 100644 --- a/trunk/Documentation/DocBook/device-drivers.tmpl +++ b/trunk/Documentation/DocBook/device-drivers.tmpl @@ -50,7 +50,9 @@ Delaying, scheduling, and timer routines !Iinclude/linux/sched.h -!Ekernel/sched.c +!Ekernel/sched/core.c +!Ikernel/sched/cpupri.c +!Ikernel/sched/fair.c !Iinclude/linux/completion.h !Ekernel/timer.c @@ -100,9 +102,12 @@ X!Iinclude/linux/kobject.h !Iinclude/linux/device.h Device Drivers Base +!Idrivers/base/init.c !Edrivers/base/driver.c !Edrivers/base/core.c +!Edrivers/base/syscore.c !Edrivers/base/class.c +!Idrivers/base/node.c !Edrivers/base/firmware_class.c !Edrivers/base/transport_class.c -!Edrivers/base/sys.c +!Edrivers/base/dd.c !Iinclude/linux/platform_device.h !Edrivers/base/platform.c !Edrivers/base/bus.c + + Device Drivers DMA Management +!Edrivers/base/dma-buf.c +!Edrivers/base/dma-coherent.c +!Edrivers/base/dma-mapping.c Device Drivers Power Management !Edrivers/base/power/main.c @@ -216,9 +226,8 @@ X!Isound/sound_firmware.c 16x50 UART Driver -!Iinclude/linux/serial_core.h !Edrivers/tty/serial/serial_core.c -!Edrivers/tty/serial/8250.c +!Edrivers/tty/serial/8250/8250.c diff --git a/trunk/Documentation/DocBook/deviceiobook.tmpl b/trunk/Documentation/DocBook/deviceiobook.tmpl index c1ed6a49e598..54199a0dcf9a 100644 --- a/trunk/Documentation/DocBook/deviceiobook.tmpl +++ b/trunk/Documentation/DocBook/deviceiobook.tmpl @@ -317,7 +317,7 @@ CPU B: spin_unlock_irqrestore(&dev_lock, flags) Public Functions Provided !Iarch/x86/include/asm/io.h -!Elib/iomap.c +!Elib/pci_iomap.c diff --git a/trunk/Documentation/driver-model/devres.txt b/trunk/Documentation/driver-model/devres.txt index 10c64c8a13d4..41c0c5d1ba14 100644 --- a/trunk/Documentation/driver-model/devres.txt +++ b/trunk/Documentation/driver-model/devres.txt @@ -233,6 +233,10 @@ certainly invest a bit more effort into libata core layer). 6. List of managed interfaces ----------------------------- +MEM + devm_kzalloc() + devm_kfree() + IO region devm_request_region() devm_request_mem_region() diff --git a/trunk/Documentation/input/event-codes.txt b/trunk/Documentation/input/event-codes.txt index 23fcb05175be..53305bd08182 100644 --- a/trunk/Documentation/input/event-codes.txt +++ b/trunk/Documentation/input/event-codes.txt @@ -17,11 +17,11 @@ reports supported by a device are also provided by sysfs in class/input/event*/device/capabilities/, and the properties of a device are provided in class/input/event*/device/properties. -Types: -========== -Types are groupings of codes under a logical input construct. Each type has a -set of applicable codes to be used in generating events. See the Codes section -for details on valid codes for each type. +Event types: +=========== +Event types are groupings of codes under a logical input construct. Each +type has a set of applicable codes to be used in generating events. See the +Codes section for details on valid codes for each type. * EV_SYN: - Used as markers to separate events. Events may be separated in time or in @@ -63,9 +63,9 @@ for details on valid codes for each type. * EV_FF_STATUS: - Used to receive force feedback device status. -Codes: -========== -Codes define the precise type of event. +Event codes: +=========== +Event codes define the precise type of event. EV_SYN: ---------- @@ -220,6 +220,56 @@ EV_PWR: EV_PWR events are a special type of event used specifically for power mangement. Its usage is not well defined. To be addressed later. +Device properties: +================= +Normally, userspace sets up an input device based on the data it emits, +i.e., the event types. In the case of two devices emitting the same event +types, additional information can be provided in the form of device +properties. + +INPUT_PROP_DIRECT + INPUT_PROP_POINTER: +-------------------------------------- +The INPUT_PROP_DIRECT property indicates that device coordinates should be +directly mapped to screen coordinates (not taking into account trivial +transformations, such as scaling, flipping and rotating). Non-direct input +devices require non-trivial transformation, such as absolute to relative +transformation for touchpads. Typical direct input devices: touchscreens, +drawing tablets; non-direct devices: touchpads, mice. + +The INPUT_PROP_POINTER property indicates that the device is not transposed +on the screen and thus requires use of an on-screen pointer to trace user's +movements. Typical pointer devices: touchpads, tablets, mice; non-pointer +device: touchscreen. + +If neither INPUT_PROP_DIRECT or INPUT_PROP_POINTER are set, the property is +considered undefined and the device type should be deduced in the +traditional way, using emitted event types. + +INPUT_PROP_BUTTONPAD: +-------------------- +For touchpads where the button is placed beneath the surface, such that +pressing down on the pad causes a button click, this property should be +set. Common in clickpad notebooks and macbooks from 2009 and onwards. + +Originally, the buttonpad property was coded into the bcm5974 driver +version field under the name integrated button. For backwards +compatibility, both methods need to be checked in userspace. + +INPUT_PROP_SEMI_MT: +------------------ +Some touchpads, most common between 2008 and 2011, can detect the presence +of multiple contacts without resolving the individual positions; only the +number of contacts and a rectangular shape is known. For such +touchpads, the semi-mt property should be set. + +Depending on the device, the rectangle may enclose all touches, like a +bounding box, or just some of them, for instance the two most recent +touches. The diversity makes the rectangle of limited use, but some +gestures can normally be extracted from it. + +If INPUT_PROP_SEMI_MT is not set, the device is assumed to be a true MT +device. + Guidelines: ========== The guidelines below ensure proper single-touch and multi-finger functionality. @@ -240,6 +290,8 @@ used to report when a touch is active on the screen. BTN_{MOUSE,LEFT,MIDDLE,RIGHT} must not be reported as the result of touch contact. BTN_TOOL_ events should be reported where possible. +For new hardware, INPUT_PROP_DIRECT should be set. + Trackpads: ---------- Legacy trackpads that only provide relative position information must report @@ -250,6 +302,8 @@ location of the touch. BTN_TOUCH should be used to report when a touch is active on the trackpad. Where multi-finger support is available, BTN_TOOL_ should be used to report the number of touches active on the trackpad. +For new hardware, INPUT_PROP_POINTER should be set. + Tablets: ---------- BTN_TOOL_ events must be reported when a stylus or other tool is active on @@ -260,3 +314,5 @@ button may be used for buttons on the tablet except BTN_{MOUSE,LEFT}. BTN_{0,1,2,etc} are good generic codes for unlabeled buttons. Do not use meaningful buttons, like BTN_FORWARD, unless the button is labeled for that purpose on the device. + +For new hardware, both INPUT_PROP_DIRECT and INPUT_PROP_POINTER should be set. diff --git a/trunk/Documentation/pinctrl.txt b/trunk/Documentation/pinctrl.txt index 6727b92bc2fb..150fd3833d0b 100644 --- a/trunk/Documentation/pinctrl.txt +++ b/trunk/Documentation/pinctrl.txt @@ -857,42 +857,41 @@ case), we define a mapping like this: ... { - .name "2bit" + .name = "2bit" .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_1_grp", .dev_name = "foo-mmc.0", }, { - .name "4bit" + .name = "4bit" .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_1_grp", .dev_name = "foo-mmc.0", }, { - .name "4bit" + .name = "4bit" .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_2_grp", .dev_name = "foo-mmc.0", }, { - .name "8bit" + .name = "8bit" .ctrl_dev_name = "pinctrl-foo", - .function = "mmc0", .group = "mmc0_1_grp", .dev_name = "foo-mmc.0", }, { - .name "8bit" + .name = "8bit" .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_2_grp", .dev_name = "foo-mmc.0", }, { - .name "8bit" + .name = "8bit" .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_3_grp", @@ -995,7 +994,7 @@ This is enabled by simply setting the .hog_on_boot field in the map to true, like this: { - .name "POWERMAP" + .name = "POWERMAP" .ctrl_dev_name = "pinctrl-foo", .function = "power_func", .hog_on_boot = true, @@ -1025,7 +1024,7 @@ it, disables and releases it, and muxes it in on the pins defined by group B: foo_switch() { - struct pinmux pmx; + struct pinmux *pmx; /* Enable on position A */ pmx = pinmux_get(&device, "spi0-pos-A"); diff --git a/trunk/Documentation/power/basic-pm-debugging.txt b/trunk/Documentation/power/basic-pm-debugging.txt index 40a4c65f380a..262acf56fa79 100644 --- a/trunk/Documentation/power/basic-pm-debugging.txt +++ b/trunk/Documentation/power/basic-pm-debugging.txt @@ -15,7 +15,7 @@ test at least a couple of times in a row for confidence. [This is necessary, because some problems only show up on a second attempt at suspending and resuming the system.] Moreover, hibernating in the "reboot" and "shutdown" modes causes the PM core to skip some platform-related callbacks which on ACPI -systems might be necessary to make hibernation work. Thus, if you machine fails +systems might be necessary to make hibernation work. Thus, if your machine fails to hibernate or resume in the "reboot" mode, you should try the "platform" mode: # echo platform > /sys/power/disk diff --git a/trunk/Documentation/power/freezing-of-tasks.txt b/trunk/Documentation/power/freezing-of-tasks.txt index 6ccb68f68da6..ebd7490ef1df 100644 --- a/trunk/Documentation/power/freezing-of-tasks.txt +++ b/trunk/Documentation/power/freezing-of-tasks.txt @@ -120,10 +120,10 @@ So in practice, the 'at all' may become a 'why freeze kernel threads?' and freezing user threads I don't find really objectionable." Still, there are kernel threads that may want to be freezable. For example, if -a kernel that belongs to a device driver accesses the device directly, it in -principle needs to know when the device is suspended, so that it doesn't try to -access it at that time. However, if the kernel thread is freezable, it will be -frozen before the driver's .suspend() callback is executed and it will be +a kernel thread that belongs to a device driver accesses the device directly, it +in principle needs to know when the device is suspended, so that it doesn't try +to access it at that time. However, if the kernel thread is freezable, it will +be frozen before the driver's .suspend() callback is executed and it will be thawed after the driver's .resume() callback has run, so it won't be accessing the device while it's suspended. diff --git a/trunk/Documentation/stable_kernel_rules.txt b/trunk/Documentation/stable_kernel_rules.txt index 21fd05c28e73..f0ab5cf28fca 100644 --- a/trunk/Documentation/stable_kernel_rules.txt +++ b/trunk/Documentation/stable_kernel_rules.txt @@ -25,7 +25,8 @@ Procedure for submitting patches to the -stable tree: - Send the patch, after verifying that it follows the above rules, to stable@vger.kernel.org. You must note the upstream commit ID in the - changelog of your submission. + changelog of your submission, as well as the kernel version you wish + it to be applied to. - To have the patch automatically included in the stable tree, add the tag Cc: stable@vger.kernel.org in the sign-off area. Once the patch is merged it will be applied to diff --git a/trunk/Documentation/sysctl/kernel.txt b/trunk/Documentation/sysctl/kernel.txt index 8c20fbd8b42d..6d78841fd416 100644 --- a/trunk/Documentation/sysctl/kernel.txt +++ b/trunk/Documentation/sysctl/kernel.txt @@ -601,6 +601,8 @@ can be ORed together: instead of using the one provided by the hardware. 512 - A kernel warning has occurred. 1024 - A module from drivers/staging was loaded. +2048 - The system is working around a severe firmware bug. +4096 - An out-of-tree module has been loaded. ============================================================== diff --git a/trunk/Documentation/thermal/sysfs-api.txt b/trunk/Documentation/thermal/sysfs-api.txt index b61e46f449aa..1733ab947a95 100644 --- a/trunk/Documentation/thermal/sysfs-api.txt +++ b/trunk/Documentation/thermal/sysfs-api.txt @@ -284,7 +284,7 @@ method, the sys I/F structure will be built like this: The framework includes a simple notification mechanism, in the form of a netlink event. Netlink socket initialization is done during the _init_ of the framework. Drivers which intend to use the notification mechanism -just need to call generate_netlink_event() with two arguments viz +just need to call thermal_generate_netlink_event() with two arguments viz (originator, event). Typically the originator will be an integer assigned to a thermal_zone_device when it registers itself with the framework. The event will be one of:{THERMAL_AUX0, THERMAL_AUX1, THERMAL_CRITICAL, diff --git a/trunk/Documentation/virtual/00-INDEX b/trunk/Documentation/virtual/00-INDEX index 8e601991d91c..924bd462675e 100644 --- a/trunk/Documentation/virtual/00-INDEX +++ b/trunk/Documentation/virtual/00-INDEX @@ -4,8 +4,6 @@ Virtualization support in the Linux kernel. - this file. kvm/ - Kernel Virtual Machine. See also http://linux-kvm.org -lguest/ - - Extremely simple hypervisor for experimental/educational use. uml/ - User Mode Linux, builds/runs Linux kernel as a userspace program. virtio.txt diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 89b70df91f4f..4e41d5255d72 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -159,7 +159,7 @@ S: Maintained F: drivers/net/ethernet/realtek/r8169.c 8250/16?50 (AND CLONE UARTS) SERIAL DRIVER -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-serial@vger.kernel.org W: http://serial.sourceforge.net S: Maintained @@ -269,7 +269,6 @@ S: Orphan F: drivers/platform/x86/wmi.c AD1889 ALSA SOUND DRIVER -M: Kyle McMartin M: Thibaut Varene W: http://wiki.parisc-linux.org/AD1889 L: linux-parisc@vger.kernel.org @@ -789,12 +788,6 @@ F: arch/arm/mach-mx*/ F: arch/arm/mach-imx/ F: arch/arm/plat-mxc/ -ARM/FREESCALE IMX51 -M: Amit Kucheria -L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: arch/arm/mach-mx5/ - ARM/FREESCALE IMX6 M: Shawn Guo L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) @@ -1783,9 +1776,9 @@ X: net/wireless/wext* CHAR and MISC DRIVERS M: Arnd Bergmann -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git -S: Maintained +S: Supported F: drivers/char/* F: drivers/misc/* @@ -2246,6 +2239,17 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm.git S: Supported F: fs/dlm/ +DMA BUFFER SHARING FRAMEWORK +M: Sumit Semwal +S: Maintained +L: linux-media@vger.kernel.org +L: dri-devel@lists.freedesktop.org +L: linaro-mm-sig@lists.linaro.org +F: drivers/base/dma-buf* +F: include/linux/dma-buf* +F: Documentation/dma-buf-sharing.txt +T: git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git + DMA GENERIC OFFLOAD ENGINE SUBSYSTEM M: Vinod Koul M: Dan Williams @@ -2276,7 +2280,7 @@ F: drivers/acpi/dock.c DOCUMENTATION M: Randy Dunlap L: linux-doc@vger.kernel.org -T: quilt http://userweb.kernel.org/~rdunlap/kernel-doc-patches/current/ +T: quilt http://xenotime.net/kernel-doc-patches/current/ S: Maintained F: Documentation/ @@ -2309,7 +2313,7 @@ F: lib/lru_cache.c F: Documentation/blockdev/drbd/ DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git S: Supported F: Documentation/kobject.txt @@ -2339,6 +2343,9 @@ F: include/drm/i915* DRM DRIVERS FOR EXYNOS M: Inki Dae +M: Joonyoung Shim +M: Seung-Woo Kim +M: Kyungmin Park L: dri-devel@lists.freedesktop.org S: Supported F: drivers/gpu/drm/exynos @@ -2391,7 +2398,7 @@ F: net/bridge/netfilter/ebt*.c ECRYPT FILE SYSTEM M: Tyler Hicks -M: Dustin Kirkland +M: Dustin Kirkland L: ecryptfs@vger.kernel.org W: https://launchpad.net/ecryptfs S: Supported @@ -3039,7 +3046,6 @@ F: drivers/hwspinlock/hwspinlock_* F: include/linux/hwspinlock.h HARMONY SOUND DRIVER -M: Kyle McMartin L: linux-parisc@vger.kernel.org S: Maintained F: sound/parisc/harmony.* @@ -3310,6 +3316,12 @@ S: Maintained F: net/ieee802154/ F: drivers/ieee802154/ +IIO SUBSYSTEM AND DRIVERS +M: Jonathan Cameron +L: linux-iio@vger.kernel.org +S: Maintained +F: drivers/staging/iio/ + IKANOS/ADI EAGLE ADSL USB DRIVER M: Matthieu Castet M: Stanislaw Gruszka @@ -3768,7 +3780,7 @@ F: Documentation/kdump/ KERNEL AUTOMOUNTER v4 (AUTOFS4) M: Ian Kent -L: autofs@linux.kernel.org +L: autofs@vger.kernel.org S: Maintained F: fs/autofs4/ @@ -3978,11 +3990,11 @@ M: Rusty Russell L: lguest@lists.ozlabs.org W: http://lguest.ozlabs.org/ S: Odd Fixes -F: Documentation/virtual/lguest/ +F: arch/x86/include/asm/lguest*.h F: arch/x86/lguest/ F: drivers/lguest/ F: include/linux/lguest*.h -F: arch/x86/include/asm/lguest*.h +F: tools/lguest/ LINUX FOR IBM pSERIES (RS/6000) M: Paul Mackerras @@ -4122,10 +4134,11 @@ L: linux-ntfs-dev@lists.sourceforge.net W: http://www.linux-ntfs.org/content/view/19/37/ S: Maintained F: Documentation/ldm.txt -F: fs/partitions/ldm.* +F: block/partitions/ldm.* LogFS M: Joern Engel +M: Prasad Joshi L: logfs@logfs.org W: logfs.org S: Maintained @@ -4267,13 +4280,6 @@ S: Orphan F: drivers/video/matrox/matroxfb_* F: include/linux/matroxfb.h -MAX1668 TEMPERATURE SENSOR DRIVER -M: "David George" -L: lm-sensors@lm-sensors.org -S: Maintained -F: Documentation/hwmon/max1668 -F: drivers/hwmon/max1668.c - MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER M: "Hans J. Koch" L: lm-sensors@lm-sensors.org @@ -4679,7 +4685,7 @@ NTFS FILESYSTEM M: Anton Altaparmakov L: linux-ntfs-dev@lists.sourceforge.net W: http://www.tuxera.com/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs.git S: Supported F: Documentation/filesystems/ntfs.txt F: fs/ntfs/ @@ -4992,9 +4998,8 @@ F: Documentation/blockdev/paride.txt F: drivers/block/paride/ PARISC ARCHITECTURE -M: Kyle McMartin -M: Helge Deller M: "James E.J. Bottomley" +M: Helge Deller L: linux-parisc@vger.kernel.org W: http://www.parisc-linux.org/ Q: http://patchwork.kernel.org/project/linux-parisc/list/ @@ -5625,7 +5630,7 @@ W: http://www.ibm.com/developerworks/linux/linux390/ S: Supported F: arch/s390/ F: drivers/s390/ -F: fs/partitions/ibm.c +F: block/partitions/ibm.c F: Documentation/s390/ F: Documentation/DocBook/s390* @@ -5853,7 +5858,7 @@ S: Maintained F: drivers/mmc/host/sdhci-spear.c SECURITY SUBSYSTEM -M: James Morris +M: James Morris L: linux-security-module@vger.kernel.org (suggested Cc:) T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git W: http://security.wiki.kernel.org/ @@ -5866,7 +5871,7 @@ S: Supported SELINUX SECURITY MODULE M: Stephen Smalley -M: James Morris +M: James Morris M: Eric Paris L: selinux@tycho.nsa.gov (subscribers-only, general discussion) W: http://selinuxproject.org @@ -6268,15 +6273,15 @@ S: Maintained F: arch/alpha/kernel/srm_env.c STABLE BRANCH -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: stable@vger.kernel.org -S: Maintained +S: Supported STAGING SUBSYSTEM -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git L: devel@driverdev.osuosl.org -S: Maintained +S: Supported F: drivers/staging/ STAGING - AGERE HERMES II and II.5 WIRELESS DRIVERS @@ -6388,11 +6393,6 @@ M: Omar Ramirez Luna S: Odd Fixes F: drivers/staging/tidspbridge/ -STAGING - TRIDENT TVMASTER TMxxxx USB VIDEO CAPTURE DRIVERS -L: linux-media@vger.kernel.org -S: Odd Fixes -F: drivers/staging/tm6000/ - STAGING - USB ENE SM/MS CARD READER DRIVER M: Al Cho S: Odd Fixes @@ -6661,10 +6661,10 @@ S: Maintained K: ^Subject:.*(?i)trivial TTY LAYER -M: Greg Kroah-Hartman -S: Maintained +M: Greg Kroah-Hartman +S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git -F: drivers/tty/* +F: drivers/tty/ F: drivers/tty/serial/serial_core.c F: include/linux/serial_core.h F: include/linux/serial.h @@ -6950,7 +6950,7 @@ S: Maintained F: drivers/usb/serial/digi_acceleport.c USB SERIAL DRIVER -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org S: Supported F: Documentation/usb/usb-serial.txt @@ -6965,9 +6965,8 @@ S: Maintained F: drivers/usb/serial/empeg.c USB SERIAL KEYSPAN DRIVER -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org -W: http://www.kroah.com/linux/ S: Maintained F: drivers/usb/serial/*keyspan* @@ -6995,7 +6994,7 @@ F: Documentation/video4linux/sn9c102.txt F: drivers/media/video/sn9c102/ USB SUBSYSTEM -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org W: http://www.linux-usb.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git @@ -7082,7 +7081,7 @@ F: fs/hppfs/ USERSPACE I/O (UIO) M: "Hans J. Koch" -M: Greg Kroah-Hartman +M: Greg Kroah-Hartman S: Maintained F: Documentation/DocBook/uio-howto.tmpl F: drivers/uio/ @@ -7272,7 +7271,7 @@ WATCHDOG DEVICE DRIVERS M: Wim Van Sebroeck L: linux-watchdog@vger.kernel.org W: http://www.linux-watchdog.org/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git +T: git git://www.linux-watchdog.org/linux-watchdog.git S: Maintained F: Documentation/watchdog/ F: drivers/watchdog/ @@ -7357,6 +7356,7 @@ S: Supported F: Documentation/hwmon/wm83?? F: arch/arm/mach-s3c64xx/mach-crag6410* F: drivers/leds/leds-wm83*.c +F: drivers/hwmon/wm83??-hwmon.c F: drivers/input/misc/wm831x-on.c F: drivers/input/touchscreen/wm831x-ts.c F: drivers/input/touchscreen/wm97*.c diff --git a/trunk/Makefile b/trunk/Makefile index 71e6ed21dd15..66d13c917bc7 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 3 SUBLEVEL = 0 -EXTRAVERSION = -rc1 +EXTRAVERSION = -rc6 NAME = Saber-toothed Squirrel # *DOCUMENTATION* diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 24626b0419ee..7a5436ef9397 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -324,7 +324,7 @@ config ARCH_AT91 select CLKDEV_LOOKUP help This enables support for systems based on the Atmel AT91RM9200, - AT91SAM9 and AT91CAP9 processors. + AT91SAM9 processors. config ARCH_BCMRING bool "Broadcom BCMRING" @@ -754,7 +754,7 @@ config ARCH_SA1100 select ARCH_HAS_CPUFREQ select CPU_FREQ select GENERIC_CLOCKEVENTS - select CLKDEV_LOOKUP + select HAVE_CLK select HAVE_SCHED_CLOCK select TICK_ONESHOT select ARCH_REQUIRE_GPIOLIB @@ -825,7 +825,6 @@ config ARCH_S5PC100 select HAVE_CLK select CLKDEV_LOOKUP select CPU_V7 - select ARM_L1_CACHE_SHIFT_6 select ARCH_USES_GETTIMEOFFSET select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS @@ -842,7 +841,6 @@ config ARCH_S5PV210 select HAVE_CLK select CLKDEV_LOOKUP select CLKSRC_MMIO - select ARM_L1_CACHE_SHIFT_6 select ARCH_HAS_CPUFREQ select GENERIC_CLOCKEVENTS select HAVE_SCHED_CLOCK @@ -1129,6 +1127,7 @@ config PLAT_VERSATILE config ARM_TIMER_SP804 bool select CLKSRC_MMIO + select HAVE_SCHED_CLOCK source arch/arm/mm/Kconfig diff --git a/trunk/arch/arm/Kconfig.debug b/trunk/arch/arm/Kconfig.debug index e0d236d7ff73..b895a2a92da8 100644 --- a/trunk/arch/arm/Kconfig.debug +++ b/trunk/arch/arm/Kconfig.debug @@ -81,47 +81,14 @@ 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, 9g45 and cap9" + bool "Kernel low-level debugging on 9263 and 9g45" 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 @@ -136,6 +103,20 @@ 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 @@ -206,38 +187,42 @@ choice Say Y here if you want kernel low-level debugging support on i.MX6Q. - 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. + 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 + help + Say Y here if you want the debug print routines to direct + their output to the third serial port on MSM devices. - config DEBUG_S3C_UART2 - depends on PLAT_SAMSUNG - bool "Use S3C UART 2 for low-level debug" + 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 UART 2. The port must have been initialised - by the boot-loader before use. + 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 + help + Say Y here if you want the debug print routines to direct + their output to the serial port on MSM 8960 devices. config DEBUG_REALVIEW_STD_PORT bool "RealView Default UART" @@ -255,42 +240,57 @@ choice their output to the standard serial port on the RealView PB1176 platform. - 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 + The uncompressor code port configuration is now handled + by CONFIG_S3C_LOWLEVEL_UART_PORT. + + 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 second serial port on MSM devices. + their output to UART 1. The port must have been initialised + by the boot-loader before use. - config DEBUG_MSM_UART3 - bool "Kernel low-level debugging messages via MSM UART3" - depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 + The uncompressor code port configuration is now handled + by CONFIG_S3C_LOWLEVEL_UART_PORT. + + 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 third serial port on MSM devices. + their output to UART 2. 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 + The uncompressor code port configuration is now handled + by CONFIG_S3C_LOWLEVEL_UART_PORT. + + config DEBUG_LL_UART_NONE + bool "No low-level debugging UART" help - Say Y here if you want the debug print routines to direct - their output to the serial port on MSM 8660 devices. + 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_MSM8960_UART - bool "Kernel low-level debugging messages via MSM 8960 UART" - depends on ARCH_MSM8960 - select MSM_HAS_DEBUG_UART_HS + 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 serial port on MSM 8960 devices. + 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. endchoice diff --git a/trunk/arch/arm/Makefile b/trunk/arch/arm/Makefile index 40319d91bb7f..1683bfb9166f 100644 --- a/trunk/arch/arm/Makefile +++ b/trunk/arch/arm/Makefile @@ -160,7 +160,6 @@ machine-$(CONFIG_ARCH_MSM) := msm machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 machine-$(CONFIG_ARCH_IMX_V4_V5) := imx machine-$(CONFIG_ARCH_IMX_V6_V7) := imx -machine-$(CONFIG_ARCH_MX5) := mx5 machine-$(CONFIG_ARCH_MXS) := mxs machine-$(CONFIG_ARCH_NETX) := netx machine-$(CONFIG_ARCH_NOMADIK) := nomadik diff --git a/trunk/arch/arm/boot/dts/at91sam9g25ek.dts b/trunk/arch/arm/boot/dts/at91sam9g25ek.dts new file mode 100644 index 000000000000..e64eb932083b --- /dev/null +++ b/trunk/arch/arm/boot/dts/at91sam9g25ek.dts @@ -0,0 +1,37 @@ +/* + * at91sam9g25ek.dts - Device Tree file for AT91SAM9G25-EK board + * + * Copyright (C) 2012 Atmel, + * 2012 Nicolas Ferre + * + * Licensed under GPLv2 or later. + */ +/dts-v1/; +/include/ "at91sam9x5.dtsi" +/include/ "at91sam9x5cm.dtsi" + +/ { + model = "Atmel AT91SAM9G25-EK"; + compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; + + chosen { + bootargs = "128M console=ttyS0,115200 mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"; + }; + + ahb { + apb { + dbgu: serial@fffff200 { + status = "okay"; + }; + + usart0: serial@f801c000 { + status = "okay"; + }; + + macb0: ethernet@f802c000 { + phy-mode = "rmii"; + status = "okay"; + }; + }; + }; +}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi new file mode 100644 index 000000000000..e91391f50730 --- /dev/null +++ b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi @@ -0,0 +1,172 @@ +/* + * at91sam9x5.dtsi - Device Tree Include file for AT91SAM9x5 family SoC + * applies to AT91SAM9G15, AT91SAM9G25, AT91SAM9G35, + * AT91SAM9X25, AT91SAM9X35 SoC + * + * Copyright (C) 2012 Atmel, + * 2012 Nicolas Ferre + * + * Licensed under GPLv2 or later. + */ + +/include/ "skeleton.dtsi" + +/ { + model = "Atmel AT91SAM9x5 family SoC"; + compatible = "atmel,at91sam9x5"; + interrupt-parent = <&aic>; + + aliases { + serial0 = &dbgu; + serial1 = &usart0; + serial2 = &usart1; + serial3 = &usart2; + gpio0 = &pioA; + gpio1 = &pioB; + gpio2 = &pioC; + gpio3 = &pioD; + tcb0 = &tcb0; + tcb1 = &tcb1; + }; + cpus { + cpu@0 { + compatible = "arm,arm926ejs"; + }; + }; + + memory@20000000 { + reg = <0x20000000 0x10000000>; + }; + + ahb { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + apb { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + aic: interrupt-controller@fffff000 { + #interrupt-cells = <2>; + compatible = "atmel,at91rm9200-aic"; + interrupt-controller; + interrupt-parent; + reg = <0xfffff000 0x200>; + }; + + pit: timer@fffffe30 { + compatible = "atmel,at91sam9260-pit"; + reg = <0xfffffe30 0xf>; + interrupts = <1 4>; + }; + + tcb0: timer@f8008000 { + compatible = "atmel,at91sam9x5-tcb"; + reg = <0xf8008000 0x100>; + interrupts = <17 4>; + }; + + tcb1: timer@f800c000 { + compatible = "atmel,at91sam9x5-tcb"; + reg = <0xf800c000 0x100>; + interrupts = <17 4>; + }; + + dma0: dma-controller@ffffec00 { + compatible = "atmel,at91sam9g45-dma"; + reg = <0xffffec00 0x200>; + interrupts = <20 4>; + }; + + dma1: dma-controller@ffffee00 { + compatible = "atmel,at91sam9g45-dma"; + reg = <0xffffee00 0x200>; + interrupts = <21 4>; + }; + + pioA: gpio@fffff400 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff400 0x100>; + interrupts = <2 4>; + #gpio-cells = <2>; + gpio-controller; + }; + + pioB: gpio@fffff600 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff600 0x100>; + interrupts = <2 4>; + #gpio-cells = <2>; + gpio-controller; + }; + + pioC: gpio@fffff800 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffff800 0x100>; + interrupts = <3 4>; + #gpio-cells = <2>; + gpio-controller; + }; + + pioD: gpio@fffffa00 { + compatible = "atmel,at91rm9200-gpio"; + reg = <0xfffffa00 0x100>; + interrupts = <3 4>; + #gpio-cells = <2>; + gpio-controller; + }; + + dbgu: serial@fffff200 { + compatible = "atmel,at91sam9260-usart"; + reg = <0xfffff200 0x200>; + interrupts = <1 4>; + status = "disabled"; + }; + + usart0: serial@f801c000 { + compatible = "atmel,at91sam9260-usart"; + reg = <0xf801c000 0x200>; + interrupts = <5 4>; + atmel,use-dma-rx; + atmel,use-dma-tx; + status = "disabled"; + }; + + usart1: serial@f8020000 { + compatible = "atmel,at91sam9260-usart"; + reg = <0xf8020000 0x200>; + interrupts = <6 4>; + atmel,use-dma-rx; + atmel,use-dma-tx; + status = "disabled"; + }; + + usart2: serial@f8024000 { + compatible = "atmel,at91sam9260-usart"; + reg = <0xf8024000 0x200>; + interrupts = <7 4>; + atmel,use-dma-rx; + atmel,use-dma-tx; + status = "disabled"; + }; + + macb0: ethernet@f802c000 { + compatible = "cdns,at32ap7000-macb", "cdns,macb"; + reg = <0xf802c000 0x100>; + interrupts = <24 4>; + status = "disabled"; + }; + + macb1: ethernet@f8030000 { + compatible = "cdns,at32ap7000-macb", "cdns,macb"; + reg = <0xf8030000 0x100>; + interrupts = <27 4>; + status = "disabled"; + }; + }; + }; +}; diff --git a/trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi new file mode 100644 index 000000000000..4ab5a77f4afc --- /dev/null +++ b/trunk/arch/arm/boot/dts/at91sam9x5cm.dtsi @@ -0,0 +1,14 @@ +/* + * at91sam9x5cm.dtsi - Device Tree Include file for AT91SAM9x5 CPU Module + * + * Copyright (C) 2012 Atmel, + * 2012 Nicolas Ferre + * + * Licensed under GPLv2 or later. + */ + +/ { + memory@20000000 { + reg = <0x20000000 0x8000000>; + }; +}; diff --git a/trunk/arch/arm/boot/dts/exynos4210.dtsi b/trunk/arch/arm/boot/dts/exynos4210.dtsi index 63d7578856c1..a1dd2ee83753 100644 --- a/trunk/arch/arm/boot/dts/exynos4210.dtsi +++ b/trunk/arch/arm/boot/dts/exynos4210.dtsi @@ -29,6 +29,7 @@ compatible = "arm,cortex-a9-gic"; #interrupt-cells = <3>; interrupt-controller; + cpu-offset = <0x8000>; reg = <0x10490000 0x1000>, <0x10480000 0x100>; }; diff --git a/trunk/arch/arm/boot/dts/tegra-paz00.dts b/trunk/arch/arm/boot/dts/tegra-paz00.dts index 1a1d7023b69b..825d2957da0b 100644 --- a/trunk/arch/arm/boot/dts/tegra-paz00.dts +++ b/trunk/arch/arm/boot/dts/tegra-paz00.dts @@ -46,11 +46,11 @@ }; serial@70006200 { - status = "disable"; + clock-frequency = <216000000>; }; serial@70006300 { - clock-frequency = <216000000>; + status = "disable"; }; serial@70006400 { @@ -60,7 +60,7 @@ sdhci@c8000000 { cd-gpios = <&gpio 173 0>; /* gpio PV5 */ wp-gpios = <&gpio 57 0>; /* gpio PH1 */ - power-gpios = <&gpio 155 0>; /* gpio PT3 */ + power-gpios = <&gpio 169 0>; /* gpio PV1 */ }; sdhci@c8000200 { diff --git a/trunk/arch/arm/common/gic.c b/trunk/arch/arm/common/gic.c index b2dc2dd7f1df..c47d6199b784 100644 --- a/trunk/arch/arm/common/gic.c +++ b/trunk/arch/arm/common/gic.c @@ -41,6 +41,7 @@ #include #include +#include #include #include @@ -352,11 +353,7 @@ static void __init gic_dist_init(struct gic_chip_data *gic) unsigned int gic_irqs = gic->gic_irqs; struct irq_domain *domain = &gic->domain; void __iomem *base = gic_data_dist_base(gic); - u32 cpu = 0; - -#ifdef CONFIG_SMP - cpu = cpu_logical_map(smp_processor_id()); -#endif + u32 cpu = cpu_logical_map(smp_processor_id()); cpumask = 1 << cpu; cpumask |= cpumask << 8; diff --git a/trunk/arch/arm/common/it8152.c b/trunk/arch/arm/common/it8152.c index d1bcd7b13ebc..fb1f1cfce60c 100644 --- a/trunk/arch/arm/common/it8152.c +++ b/trunk/arch/arm/common/it8152.c @@ -320,13 +320,6 @@ int __init it8152_pci_setup(int nr, struct pci_sys_data *sys) return -EBUSY; } -/* - * If we set up a device for bus mastering, we need to check the latency - * timer as we don't have even crappy BIOSes to set it properly. - * The implementation is from arch/i386/pci/i386.c - */ -unsigned int pcibios_max_latency = 255; - /* ITE bridge requires setting latency timer to avoid early bus access termination by PCI bus master devices */ diff --git a/trunk/arch/arm/common/pl330.c b/trunk/arch/arm/common/pl330.c index d8e44a43047c..ff3ad2244824 100644 --- a/trunk/arch/arm/common/pl330.c +++ b/trunk/arch/arm/common/pl330.c @@ -1502,12 +1502,13 @@ int pl330_chan_ctrl(void *ch_id, enum pl330_chan_op op) struct pl330_thread *thrd = ch_id; struct pl330_dmac *pl330; unsigned long flags; - int ret = 0, active = thrd->req_running; + int ret = 0, active; if (!thrd || thrd->free || thrd->dmac->state == DYING) return -EINVAL; pl330 = thrd->dmac; + active = thrd->req_running; spin_lock_irqsave(&pl330->lock, flags); diff --git a/trunk/arch/arm/common/timer-sp.c b/trunk/arch/arm/common/timer-sp.c index 8794a34eae61..df13a3ffff35 100644 --- a/trunk/arch/arm/common/timer-sp.c +++ b/trunk/arch/arm/common/timer-sp.c @@ -26,6 +26,7 @@ #include #include +#include #include static long __init sp804_get_clock_rate(const char *name) @@ -67,7 +68,16 @@ static long __init sp804_get_clock_rate(const char *name) return rate; } -void __init sp804_clocksource_init(void __iomem *base, const char *name) +static void __iomem *sched_clock_base; + +static u32 sp804_read(void) +{ + return ~readl_relaxed(sched_clock_base + TIMER_VALUE); +} + +void __init __sp804_clocksource_and_sched_clock_init(void __iomem *base, + const char *name, + int use_sched_clock) { long rate = sp804_get_clock_rate(name); @@ -83,6 +93,11 @@ void __init sp804_clocksource_init(void __iomem *base, const char *name) clocksource_mmio_init(base + TIMER_VALUE, name, rate, 200, 32, clocksource_mmio_readl_down); + + if (use_sched_clock) { + sched_clock_base = base; + setup_sched_clock(sp804_read, 32, rate); + } } diff --git a/trunk/arch/arm/configs/at91cap9_defconfig b/trunk/arch/arm/configs/at91cap9_defconfig deleted file mode 100644 index 8826eb218e73..000000000000 --- a/trunk/arch/arm/configs/at91cap9_defconfig +++ /dev/null @@ -1,108 +0,0 @@ -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/mx5_defconfig b/trunk/arch/arm/configs/imx_v6_v7_defconfig similarity index 79% rename from trunk/arch/arm/configs/mx5_defconfig rename to trunk/arch/arm/configs/imx_v6_v7_defconfig index d0d8dfece37e..3cd606905178 100644 --- a/trunk/arch/arm/configs/mx5_defconfig +++ b/trunk/arch/arm/configs/imx_v6_v7_defconfig @@ -3,7 +3,9 @@ CONFIG_EXPERIMENTAL=y CONFIG_KERNEL_LZO=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=18 +CONFIG_CGROUPS=y CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y CONFIG_EXPERT=y # CONFIG_SLUB_DEBUG is not set # CONFIG_COMPAT_BRK is not set @@ -11,23 +13,32 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y -# CONFIG_LBDAF is not set # CONFIG_BLK_DEV_BSG is not set CONFIG_ARCH_MXC=y -CONFIG_ARCH_MX5=y -CONFIG_MACH_MX51_BABBAGE=y +CONFIG_MACH_MX31LILLY=y +CONFIG_MACH_MX31LITE=y +CONFIG_MACH_PCM037=y +CONFIG_MACH_PCM037_EET=y +CONFIG_MACH_MX31_3DS=y +CONFIG_MACH_MX31MOBOARD=y +CONFIG_MACH_QONG=y +CONFIG_MACH_ARMADILLO5X0=y +CONFIG_MACH_KZM_ARM11_01=y +CONFIG_MACH_PCM043=y +CONFIG_MACH_MX35_3DS=y +CONFIG_MACH_VPR200=y +CONFIG_MACH_IMX51_DT=y CONFIG_MACH_MX51_3DS=y CONFIG_MACH_EUKREA_CPUIMX51=y CONFIG_MACH_EUKREA_CPUIMX51SD=y CONFIG_MACH_MX51_EFIKAMX=y CONFIG_MACH_MX51_EFIKASB=y -CONFIG_MACH_MX53_EVK=y -CONFIG_MACH_MX53_SMD=y -CONFIG_MACH_MX53_LOCO=y -CONFIG_MACH_MX53_ARD=y +CONFIG_MACH_IMX53_DT=y +CONFIG_SOC_IMX6Q=y CONFIG_MXC_PWM=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y +CONFIG_SMP=y CONFIG_VMSPLIT_2G=y CONFIG_PREEMPT_VOLUNTARY=y CONFIG_AEABI=y @@ -49,7 +60,7 @@ CONFIG_IP_PNP_DHCP=y # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set # CONFIG_INET_LRO is not set -# CONFIG_IPV6 is not set +CONFIG_IPV6=y # CONFIG_WIRELESS is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y @@ -68,24 +79,19 @@ CONFIG_SCSI_SCAN_ASYNC=y CONFIG_ATA=y CONFIG_PATA_IMX=y CONFIG_NETDEVICES=y -CONFIG_MII=m -CONFIG_MARVELL_PHY=y -CONFIG_DAVICOM_PHY=y -CONFIG_QSEMI_PHY=y -CONFIG_LXT_PHY=y -CONFIG_CICADA_PHY=y -CONFIG_VITESSE_PHY=y -CONFIG_SMSC_PHY=y -CONFIG_BROADCOM_PHY=y -CONFIG_ICPLUS_PHY=y -CONFIG_REALTEK_PHY=y -CONFIG_NATIONAL_PHY=y -CONFIG_STE10XP=y -CONFIG_LSI_ET1011C_PHY=y -CONFIG_MICREL_PHY=y -CONFIG_NET_ETHERNET=y -# CONFIG_NETDEV_1000 is not set -# CONFIG_NETDEV_10000 is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_SMC91X=y +CONFIG_SMC911X=y +CONFIG_SMSC911X=y +# CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_WLAN is not set # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_EVDEV=y @@ -118,13 +124,13 @@ CONFIG_WATCHDOG=y CONFIG_IMX2_WDT=y CONFIG_MFD_MC13XXX=y CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_MC13892=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_MXC=y CONFIG_USB_STORAGE=y CONFIG_MMC=y -CONFIG_MMC_BLOCK=m CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_ESDHC_IMX=y @@ -133,6 +139,8 @@ CONFIG_LEDS_CLASS=y CONFIG_RTC_CLASS=y CONFIG_RTC_INTF_DEV_UIE_EMUL=y CONFIG_RTC_MXC=y +CONFIG_DMADEVICES=y +CONFIG_IMX_SDMA=y CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y diff --git a/trunk/arch/arm/configs/mx3_defconfig b/trunk/arch/arm/configs/mx3_defconfig deleted file mode 100644 index cb0717fbb03d..000000000000 --- a/trunk/arch/arm/configs/mx3_defconfig +++ /dev/null @@ -1,144 +0,0 @@ -CONFIG_EXPERIMENTAL=y -CONFIG_SYSVIPC=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODVERSIONS=y -# CONFIG_BLK_DEV_BSG is not set -CONFIG_ARCH_MXC=y -CONFIG_MACH_MX31ADS_WM1133_EV1=y -CONFIG_MACH_MX31LILLY=y -CONFIG_MACH_MX31LITE=y -CONFIG_MACH_PCM037=y -CONFIG_MACH_PCM037_EET=y -CONFIG_MACH_MX31_3DS=y -CONFIG_MACH_MX31MOBOARD=y -CONFIG_MACH_QONG=y -CONFIG_MACH_ARMADILLO5X0=y -CONFIG_MACH_KZM_ARM11_01=y -CONFIG_MACH_PCM043=y -CONFIG_MACH_MX35_3DS=y -CONFIG_MACH_EUKREA_CPUIMX35=y -CONFIG_MXC_IRQ_PRIOR=y -CONFIG_MXC_PWM=y -CONFIG_ARM_ERRATA_411920=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_PREEMPT=y -CONFIG_AEABI=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off" -CONFIG_VFP=y -CONFIG_PM_DEBUG=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=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_FW_LOADER=m -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_CFI=y -CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_MXC=y -CONFIG_MTD_UBI=y -# CONFIG_BLK_DEV is not set -CONFIG_MISC_DEVICES=y -CONFIG_EEPROM_AT24=y -CONFIG_NETDEVICES=y -CONFIG_SMSC_PHY=y -CONFIG_NET_ETHERNET=y -CONFIG_SMSC911X=y -CONFIG_DNET=y -# CONFIG_NETDEV_1000 is not set -# CONFIG_NETDEV_10000 is not set -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_KEYBOARD_ATKBD is not set -CONFIG_KEYBOARD_IMX=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -# CONFIG_VT is not set -# CONFIG_LEGACY_PTYS is not set -CONFIG_SERIAL_8250=m -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_IMX=y -CONFIG_SERIAL_IMX_CONSOLE=y -# CONFIG_HW_RANDOM is not set -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_IMX=y -CONFIG_SPI=y -CONFIG_W1=y -CONFIG_W1_MASTER_MXC=y -CONFIG_W1_SLAVE_THERM=y -# CONFIG_HWMON is not set -CONFIG_WATCHDOG=y -CONFIG_IMX2_WDT=y -CONFIG_MFD_WM8350_I2C=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_WM8350=y -CONFIG_MEDIA_SUPPORT=y -CONFIG_VIDEO_DEV=y -# CONFIG_RC_CORE is not set -# CONFIG_MEDIA_TUNER_CUSTOMISE is not set -CONFIG_SOC_CAMERA=y -CONFIG_SOC_CAMERA_MT9M001=y -CONFIG_SOC_CAMERA_MT9M111=y -CONFIG_SOC_CAMERA_MT9T031=y -CONFIG_SOC_CAMERA_MT9V022=y -CONFIG_SOC_CAMERA_TW9910=y -CONFIG_SOC_CAMERA_OV772X=y -CONFIG_VIDEO_MX3=y -# CONFIG_RADIO_ADAPTERS is not set -CONFIG_FB=y -CONFIG_SOUND=y -CONFIG_SND=y -# CONFIG_SND_ARM is not set -# CONFIG_SND_SPI is not set -CONFIG_SND_SOC=y -CONFIG_SND_IMX_SOC=y -CONFIG_SND_MXC_SOC_WM1133_EV1=y -CONFIG_SND_SOC_PHYCORE_AC97=y -CONFIG_SND_SOC_EUKREA_TLV320=y -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_MXC=y -CONFIG_USB_GADGET=m -CONFIG_USB_FSL_USB2=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_ULPI=y -CONFIG_MMC=y -CONFIG_MMC_MXC=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_MXC=y -CONFIG_DMADEVICES=y -# CONFIG_DNOTIFY is not set -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_UBIFS_FS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -# CONFIG_ENABLE_WARN_DEPRECATED is not set -# CONFIG_ENABLE_MUST_CHECK is not set -CONFIG_SYSCTL_SYSCALL_CHECK=y -# CONFIG_CRYPTO_ANSI_CPRNG is not set diff --git a/trunk/arch/arm/configs/mxs_defconfig b/trunk/arch/arm/configs/mxs_defconfig index 6ee781bf6bf1..1ebbf451c48d 100644 --- a/trunk/arch/arm/configs/mxs_defconfig +++ b/trunk/arch/arm/configs/mxs_defconfig @@ -77,10 +77,10 @@ CONFIG_DEVPTS_MULTIPLE_INSTANCES=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y # CONFIG_HW_RANDOM is not set -CONFIG_I2C=m +CONFIG_I2C=y # CONFIG_I2C_COMPAT is not set -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_MXS=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MXS=y CONFIG_SPI=y CONFIG_SPI_GPIO=m CONFIG_DEBUG_GPIO=y @@ -90,6 +90,20 @@ CONFIG_GPIO_SYSFS=y CONFIG_DISPLAY_SUPPORT=m # CONFIG_HID_SUPPORT is not set # CONFIG_USB_SUPPORT is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_JACK=y +CONFIG_SND_DRIVERS=y +CONFIG_SND_ARM=y +CONFIG_SND_SOC=y +CONFIG_SND_MXS_SOC=y +CONFIG_SND_SOC_MXS_SGTL5000=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_SGTL5000=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_MMC=y CONFIG_MMC_MXS=y CONFIG_RTC_CLASS=y diff --git a/trunk/arch/arm/include/asm/assembler.h b/trunk/arch/arm/include/asm/assembler.h index b6e65dedfd71..23371b17b23e 100644 --- a/trunk/arch/arm/include/asm/assembler.h +++ b/trunk/arch/arm/include/asm/assembler.h @@ -137,6 +137,11 @@ disable_irq .endm + .macro save_and_disable_irqs_notrace, oldcpsr + mrs \oldcpsr, cpsr + disable_irq_notrace + .endm + /* * Restore interrupt state previously stored in a register. We don't * guarantee that this will preserve the flags. @@ -237,7 +242,7 @@ */ #ifdef CONFIG_THUMB2_KERNEL - .macro usraccoff, instr, reg, ptr, inc, off, cond, abort, t=T() + .macro usraccoff, instr, reg, ptr, inc, off, cond, abort, t=TUSER() 9999: .if \inc == 1 \instr\cond\()b\()\t\().w \reg, [\ptr, #\off] @@ -277,7 +282,7 @@ #else /* !CONFIG_THUMB2_KERNEL */ - .macro usracc, instr, reg, ptr, inc, cond, rept, abort, t=T() + .macro usracc, instr, reg, ptr, inc, cond, rept, abort, t=TUSER() .rept \rept 9999: .if \inc == 1 diff --git a/trunk/arch/arm/include/asm/domain.h b/trunk/arch/arm/include/asm/domain.h index af18ceaacf5d..b5dc173d336f 100644 --- a/trunk/arch/arm/include/asm/domain.h +++ b/trunk/arch/arm/include/asm/domain.h @@ -83,9 +83,9 @@ * instructions (inline assembly) */ #ifdef CONFIG_CPU_USE_DOMAINS -#define T(instr) #instr "t" +#define TUSER(instr) #instr "t" #else -#define T(instr) #instr +#define TUSER(instr) #instr #endif #else /* __ASSEMBLY__ */ @@ -95,9 +95,9 @@ * instructions */ #ifdef CONFIG_CPU_USE_DOMAINS -#define T(instr) instr ## t +#define TUSER(instr) instr ## t #else -#define T(instr) instr +#define TUSER(instr) instr #endif #endif /* __ASSEMBLY__ */ diff --git a/trunk/arch/arm/include/asm/futex.h b/trunk/arch/arm/include/asm/futex.h index 253cc86318bf..7be54690aeec 100644 --- a/trunk/arch/arm/include/asm/futex.h +++ b/trunk/arch/arm/include/asm/futex.h @@ -75,9 +75,9 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ __asm__ __volatile__( \ - "1: " T(ldr) " %1, [%3]\n" \ + "1: " TUSER(ldr) " %1, [%3]\n" \ " " insn "\n" \ - "2: " T(str) " %0, [%3]\n" \ + "2: " TUSER(str) " %0, [%3]\n" \ " mov %0, #0\n" \ __futex_atomic_ex_table("%5") \ : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \ @@ -95,10 +95,10 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, return -EFAULT; __asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n" - "1: " T(ldr) " %1, [%4]\n" + "1: " TUSER(ldr) " %1, [%4]\n" " teq %1, %2\n" " it eq @ explicit IT needed for the 2b label\n" - "2: " T(streq) " %3, [%4]\n" + "2: " TUSER(streq) " %3, [%4]\n" __futex_atomic_ex_table("%5") : "+r" (ret), "=&r" (val) : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) diff --git a/trunk/arch/arm/include/asm/hardware/pl330.h b/trunk/arch/arm/include/asm/hardware/pl330.h index 575fa8186ca0..c1821385abfa 100644 --- a/trunk/arch/arm/include/asm/hardware/pl330.h +++ b/trunk/arch/arm/include/asm/hardware/pl330.h @@ -41,7 +41,7 @@ enum pl330_dstcachectrl { DCCTRL1, /* Bufferable only */ DCCTRL2, /* Cacheable, but do not allocate */ DCCTRL3, /* Cacheable and bufferable, but do not allocate */ - DINVALID1 = 8, + DINVALID1, /* AWCACHE = 0x1000 */ DINVALID2, DCCTRL6, /* Cacheable write-through, allocate on writes only */ DCCTRL7, /* Cacheable write-back, allocate on writes only */ diff --git a/trunk/arch/arm/include/asm/hardware/timer-sp.h b/trunk/arch/arm/include/asm/hardware/timer-sp.h index 4384d81eee79..2dd9d3f83f29 100644 --- a/trunk/arch/arm/include/asm/hardware/timer-sp.h +++ b/trunk/arch/arm/include/asm/hardware/timer-sp.h @@ -1,2 +1,15 @@ -void sp804_clocksource_init(void __iomem *, const char *); +void __sp804_clocksource_and_sched_clock_init(void __iomem *, + const char *, int); + +static inline void sp804_clocksource_init(void __iomem *base, const char *name) +{ + __sp804_clocksource_and_sched_clock_init(base, name, 0); +} + +static inline void sp804_clocksource_and_sched_clock_init(void __iomem *base, + const char *name) +{ + __sp804_clocksource_and_sched_clock_init(base, name, 1); +} + void sp804_clockevents_init(void __iomem *, unsigned int, const char *); diff --git a/trunk/arch/arm/include/asm/processor.h b/trunk/arch/arm/include/asm/processor.h index ce280b8d613c..cb8d638924fd 100644 --- a/trunk/arch/arm/include/asm/processor.h +++ b/trunk/arch/arm/include/asm/processor.h @@ -22,6 +22,7 @@ #include #include #include +#include #ifdef __KERNEL__ #define STACK_TOP ((current->personality & ADDR_LIMIT_32BIT) ? \ diff --git a/trunk/arch/arm/include/asm/smp.h b/trunk/arch/arm/include/asm/smp.h index 1e5717afc4ac..ae29293270a3 100644 --- a/trunk/arch/arm/include/asm/smp.h +++ b/trunk/arch/arm/include/asm/smp.h @@ -70,12 +70,6 @@ extern void platform_secondary_init(unsigned int cpu); */ extern void platform_smp_prepare_cpus(unsigned int); -/* - * Logical CPU mapping. - */ -extern int __cpu_logical_map[NR_CPUS]; -#define cpu_logical_map(cpu) __cpu_logical_map[cpu] - /* * Initial data for bringing up a secondary CPU. */ diff --git a/trunk/arch/arm/include/asm/smp_plat.h b/trunk/arch/arm/include/asm/smp_plat.h index f24c1b9e211d..558d6c80aca9 100644 --- a/trunk/arch/arm/include/asm/smp_plat.h +++ b/trunk/arch/arm/include/asm/smp_plat.h @@ -43,4 +43,10 @@ static inline int cache_ops_need_broadcast(void) } #endif +/* + * Logical CPU mapping. + */ +extern int __cpu_logical_map[]; +#define cpu_logical_map(cpu) __cpu_logical_map[cpu] + #endif diff --git a/trunk/arch/arm/include/asm/system.h b/trunk/arch/arm/include/asm/system.h index e4c96cc6ec0c..424aa458c487 100644 --- a/trunk/arch/arm/include/asm/system.h +++ b/trunk/arch/arm/include/asm/system.h @@ -110,6 +110,7 @@ extern void cpu_init(void); void soft_restart(unsigned long); extern void (*arm_pm_restart)(char str, const char *cmd); +extern void (*arm_pm_idle)(void); #define UDBG_UNDEFINED (1 << 0) #define UDBG_SYSCALL (1 << 1) diff --git a/trunk/arch/arm/include/asm/tlb.h b/trunk/arch/arm/include/asm/tlb.h index 5d3ed7e38561..314d4664eae7 100644 --- a/trunk/arch/arm/include/asm/tlb.h +++ b/trunk/arch/arm/include/asm/tlb.h @@ -198,7 +198,15 @@ static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) { pgtable_page_dtor(pte); - tlb_add_flush(tlb, addr); + + /* + * With the classic ARM MMU, a pte page has two corresponding pmd + * entries, each covering 1MB. + */ + addr &= PMD_MASK; + tlb_add_flush(tlb, addr + SZ_1M - PAGE_SIZE); + tlb_add_flush(tlb, addr + SZ_1M); + tlb_remove_page(tlb, pte); } diff --git a/trunk/arch/arm/include/asm/uaccess.h b/trunk/arch/arm/include/asm/uaccess.h index b293616a1a1a..2958976d867b 100644 --- a/trunk/arch/arm/include/asm/uaccess.h +++ b/trunk/arch/arm/include/asm/uaccess.h @@ -227,7 +227,7 @@ do { \ #define __get_user_asm_byte(x,addr,err) \ __asm__ __volatile__( \ - "1: " T(ldrb) " %1,[%2],#0\n" \ + "1: " TUSER(ldrb) " %1,[%2],#0\n" \ "2:\n" \ " .pushsection .fixup,\"ax\"\n" \ " .align 2\n" \ @@ -263,7 +263,7 @@ do { \ #define __get_user_asm_word(x,addr,err) \ __asm__ __volatile__( \ - "1: " T(ldr) " %1,[%2],#0\n" \ + "1: " TUSER(ldr) " %1,[%2],#0\n" \ "2:\n" \ " .pushsection .fixup,\"ax\"\n" \ " .align 2\n" \ @@ -308,7 +308,7 @@ do { \ #define __put_user_asm_byte(x,__pu_addr,err) \ __asm__ __volatile__( \ - "1: " T(strb) " %1,[%2],#0\n" \ + "1: " TUSER(strb) " %1,[%2],#0\n" \ "2:\n" \ " .pushsection .fixup,\"ax\"\n" \ " .align 2\n" \ @@ -341,7 +341,7 @@ do { \ #define __put_user_asm_word(x,__pu_addr,err) \ __asm__ __volatile__( \ - "1: " T(str) " %1,[%2],#0\n" \ + "1: " TUSER(str) " %1,[%2],#0\n" \ "2:\n" \ " .pushsection .fixup,\"ax\"\n" \ " .align 2\n" \ @@ -366,10 +366,10 @@ do { \ #define __put_user_asm_dword(x,__pu_addr,err) \ __asm__ __volatile__( \ - ARM( "1: " T(str) " " __reg_oper1 ", [%1], #4\n" ) \ - ARM( "2: " T(str) " " __reg_oper0 ", [%1]\n" ) \ - THUMB( "1: " T(str) " " __reg_oper1 ", [%1]\n" ) \ - THUMB( "2: " T(str) " " __reg_oper0 ", [%1, #4]\n" ) \ + ARM( "1: " TUSER(str) " " __reg_oper1 ", [%1], #4\n" ) \ + ARM( "2: " TUSER(str) " " __reg_oper0 ", [%1]\n" ) \ + THUMB( "1: " TUSER(str) " " __reg_oper1 ", [%1]\n" ) \ + THUMB( "2: " TUSER(str) " " __reg_oper0 ", [%1, #4]\n" ) \ "3:\n" \ " .pushsection .fixup,\"ax\"\n" \ " .align 2\n" \ diff --git a/trunk/arch/arm/kernel/entry-armv.S b/trunk/arch/arm/kernel/entry-armv.S index 3a456c6c7005..be16a48007b4 100644 --- a/trunk/arch/arm/kernel/entry-armv.S +++ b/trunk/arch/arm/kernel/entry-armv.S @@ -790,7 +790,7 @@ __kuser_cmpxchg64: @ 0xffff0f60 smp_dmb arm rsbs r0, r3, #0 @ set returned val and C flag ldmfd sp!, {r4, r5, r6, r7} - bx lr + usr_ret lr #elif !defined(CONFIG_SMP) diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index 520889cf1b5b..9fd0ba90c1d2 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -149,6 +149,11 @@ ENDPROC(ret_from_fork) #endif #endif +.macro mcount_adjust_addr rd, rn + bic \rd, \rn, #1 @ clear the Thumb bit if present + sub \rd, \rd, #MCOUNT_INSN_SIZE +.endm + .macro __mcount suffix mcount_enter ldr r0, =ftrace_trace_function @@ -173,8 +178,7 @@ ENDPROC(ret_from_fork) mcount_exit 1: mcount_get_lr r1 @ lr of instrumented func - mov r0, lr @ instrumented function - sub r0, r0, #MCOUNT_INSN_SIZE + mcount_adjust_addr r0, lr @ instrumented function adr lr, BSYM(2f) mov pc, r2 2: mcount_exit @@ -184,8 +188,7 @@ ENDPROC(ret_from_fork) mcount_enter mcount_get_lr r1 @ lr of instrumented func - mov r0, lr @ instrumented function - sub r0, r0, #MCOUNT_INSN_SIZE + mcount_adjust_addr r0, lr @ instrumented function .globl ftrace_call\suffix ftrace_call\suffix: @@ -205,11 +208,11 @@ ftrace_graph_call\suffix: #ifdef CONFIG_DYNAMIC_FTRACE @ called from __ftrace_caller, saved in mcount_enter ldr r1, [sp, #16] @ instrumented routine (func) + mcount_adjust_addr r1, r1 #else @ called from __mcount, untouched in lr - mov r1, lr @ instrumented routine (func) + mcount_adjust_addr r1, lr @ instrumented routine (func) #endif - sub r1, r1, #MCOUNT_INSN_SIZE mov r2, fp @ frame pointer bl prepare_ftrace_return mcount_exit diff --git a/trunk/arch/arm/kernel/perf_event_v7.c b/trunk/arch/arm/kernel/perf_event_v7.c index 460bbbb6b885..6933244c68f9 100644 --- a/trunk/arch/arm/kernel/perf_event_v7.c +++ b/trunk/arch/arm/kernel/perf_event_v7.c @@ -469,6 +469,20 @@ static const unsigned armv7_a5_perf_cache_map[PERF_COUNT_HW_CACHE_MAX] [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, }, }, + [C(NODE)] = { + [C(OP_READ)] = { + [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, + [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, + }, + [C(OP_WRITE)] = { + [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, + [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, + }, + [C(OP_PREFETCH)] = { + [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, + [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, + }, + }, }; /* @@ -579,6 +593,20 @@ static const unsigned armv7_a15_perf_cache_map[PERF_COUNT_HW_CACHE_MAX] [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, }, }, + [C(NODE)] = { + [C(OP_READ)] = { + [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, + [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, + }, + [C(OP_WRITE)] = { + [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, + [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, + }, + [C(OP_PREFETCH)] = { + [C(RESULT_ACCESS)] = CACHE_OP_UNSUPPORTED, + [C(RESULT_MISS)] = CACHE_OP_UNSUPPORTED, + }, + }, }; /* diff --git a/trunk/arch/arm/kernel/process.c b/trunk/arch/arm/kernel/process.c index 971d65c253a9..008e7ce766a7 100644 --- a/trunk/arch/arm/kernel/process.c +++ b/trunk/arch/arm/kernel/process.c @@ -61,8 +61,6 @@ extern void setup_mm_for_reboot(void); static volatile int hlt_counter; -#include - void disable_hlt(void) { hlt_counter++; @@ -181,13 +179,17 @@ void cpu_idle_wait(void) EXPORT_SYMBOL_GPL(cpu_idle_wait); /* - * This is our default idle handler. We need to disable - * interrupts here to ensure we don't miss a wakeup call. + * This is our default idle handler. */ + +void (*arm_pm_idle)(void); + static void default_idle(void) { - if (!need_resched()) - arch_idle(); + if (arm_pm_idle) + arm_pm_idle(); + else + cpu_do_idle(); local_irq_enable(); } @@ -215,6 +217,10 @@ 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(); @@ -222,19 +228,18 @@ void cpu_idle(void) if (hlt_counter) { local_irq_enable(); cpu_relax(); - } else { + } else if (!need_resched()) { stop_critical_timings(); if (cpuidle_idle_call()) pm_idle(); start_critical_timings(); /* - * This will eventually be removed - pm_idle - * functions should always return with IRQs - * enabled. + * pm_idle functions must always + * return with IRQs enabled. */ WARN_ON(irqs_disabled()); + } else local_irq_enable(); - } } leds_event(led_idle_end); rcu_idle_exit(); diff --git a/trunk/arch/arm/kernel/ptrace.c b/trunk/arch/arm/kernel/ptrace.c index e1d5e1929fbd..ede6443c34d9 100644 --- a/trunk/arch/arm/kernel/ptrace.c +++ b/trunk/arch/arm/kernel/ptrace.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -699,10 +700,13 @@ static int vfp_set(struct task_struct *target, { int ret; struct thread_info *thread = task_thread_info(target); - struct vfp_hard_struct new_vfp = thread->vfpstate.hard; + struct vfp_hard_struct new_vfp; const size_t user_fpregs_offset = offsetof(struct user_vfp, fpregs); const size_t user_fpscr_offset = offsetof(struct user_vfp, fpscr); + vfp_sync_hwstate(thread); + new_vfp = thread->vfpstate.hard; + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &new_vfp.fpregs, user_fpregs_offset, @@ -723,9 +727,8 @@ static int vfp_set(struct task_struct *target, if (ret) return ret; - vfp_sync_hwstate(thread); - thread->vfpstate.hard = new_vfp; vfp_flush_hwstate(thread); + thread->vfpstate.hard = new_vfp; return 0; } @@ -902,6 +905,12 @@ long arch_ptrace(struct task_struct *child, long request, return ret; } +#ifdef __ARMEB__ +#define AUDIT_ARCH_NR AUDIT_ARCH_ARMEB +#else +#define AUDIT_ARCH_NR AUDIT_ARCH_ARM +#endif + asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno) { unsigned long ip; @@ -916,7 +925,7 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno) if (!ip) audit_syscall_exit(regs); else - audit_syscall_entry(AUDIT_ARCH_ARMEB, scno, regs->ARM_r0, + audit_syscall_entry(AUDIT_ARCH_NR, scno, regs->ARM_r0, regs->ARM_r1, regs->ARM_r2, regs->ARM_r3); if (!test_thread_flag(TIF_SYSCALL_TRACE)) diff --git a/trunk/arch/arm/kernel/setup.c b/trunk/arch/arm/kernel/setup.c index 129fbd55bde8..a255c39612ca 100644 --- a/trunk/arch/arm/kernel/setup.c +++ b/trunk/arch/arm/kernel/setup.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -160,7 +159,7 @@ static struct resource mem_res[] = { .flags = IORESOURCE_MEM }, { - .name = "Kernel text", + .name = "Kernel code", .start = 0, .end = 0, .flags = IORESOURCE_MEM @@ -427,6 +426,20 @@ void cpu_init(void) : "r14"); } +int __cpu_logical_map[NR_CPUS]; + +void __init smp_setup_processor_id(void) +{ + int i; + u32 cpu = is_smp() ? read_cpuid_mpidr() & 0xff : 0; + + cpu_logical_map(0) = cpu; + for (i = 1; i < NR_CPUS; ++i) + cpu_logical_map(i) = i == cpu ? 0 : i; + + printk(KERN_INFO "Booting Linux on physical CPU %d\n", cpu); +} + static void __init setup_processor(void) { struct proc_info_list *list; diff --git a/trunk/arch/arm/kernel/signal.c b/trunk/arch/arm/kernel/signal.c index 0340224cf73c..9e617bd4a146 100644 --- a/trunk/arch/arm/kernel/signal.c +++ b/trunk/arch/arm/kernel/signal.c @@ -227,6 +227,8 @@ static int restore_vfp_context(struct vfp_sigframe __user *frame) if (magic != VFP_MAGIC || size != VFP_STORAGE_SIZE) return -EINVAL; + vfp_flush_hwstate(thread); + /* * Copy the floating point registers. There can be unused * registers see asm/hwcap.h for details. @@ -251,9 +253,6 @@ static int restore_vfp_context(struct vfp_sigframe __user *frame) __get_user_error(h->fpinst, &frame->ufp_exc.fpinst, err); __get_user_error(h->fpinst2, &frame->ufp_exc.fpinst2, err); - if (!err) - vfp_flush_hwstate(thread); - return err ? -EFAULT : 0; } diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index 57db122a4f62..cdeb727527d3 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -233,20 +233,6 @@ void __ref cpu_die(void) } #endif /* CONFIG_HOTPLUG_CPU */ -int __cpu_logical_map[NR_CPUS]; - -void __init smp_setup_processor_id(void) -{ - int i; - u32 cpu = is_smp() ? read_cpuid_mpidr() & 0xff : 0; - - cpu_logical_map(0) = cpu; - for (i = 1; i < NR_CPUS; ++i) - cpu_logical_map(i) = i == cpu ? 0 : i; - - printk(KERN_INFO "Booting Linux on physical CPU %d\n", cpu); -} - /* * Called by both boot and secondaries to move global data into * per-processor storage. @@ -443,9 +429,7 @@ static DEFINE_PER_CPU(struct clock_event_device, percpu_clockevent); static void ipi_timer(void) { struct clock_event_device *evt = &__get_cpu_var(percpu_clockevent); - irq_enter(); evt->event_handler(evt); - irq_exit(); } #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST @@ -548,7 +532,9 @@ void handle_IPI(int ipinr, struct pt_regs *regs) switch (ipinr) { case IPI_TIMER: + irq_enter(); ipi_timer(); + irq_exit(); break; case IPI_RESCHEDULE: @@ -556,15 +542,21 @@ void handle_IPI(int ipinr, struct pt_regs *regs) break; case IPI_CALL_FUNC: + irq_enter(); generic_smp_call_function_interrupt(); + irq_exit(); break; case IPI_CALL_FUNC_SINGLE: + irq_enter(); generic_smp_call_function_single_interrupt(); + irq_exit(); break; case IPI_CPU_STOP: + irq_enter(); ipi_cpu_stop(cpu); + irq_exit(); break; default: diff --git a/trunk/arch/arm/kernel/smp_twd.c b/trunk/arch/arm/kernel/smp_twd.c index c8e938553d47..7a79b24597b2 100644 --- a/trunk/arch/arm/kernel/smp_twd.c +++ b/trunk/arch/arm/kernel/smp_twd.c @@ -129,7 +129,7 @@ static struct notifier_block twd_cpufreq_nb = { static int twd_cpufreq_init(void) { - if (!IS_ERR(twd_clk)) + if (twd_evt && *__this_cpu_ptr(twd_evt) && !IS_ERR(twd_clk)) return cpufreq_register_notifier(&twd_cpufreq_nb, CPUFREQ_TRANSITION_NOTIFIER); @@ -252,6 +252,8 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk) else twd_calibrate_rate(); + __raw_writel(0, twd_base + TWD_TIMER_CONTROL); + clk->name = "local_timer"; clk->features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_C3STOP; diff --git a/trunk/arch/arm/kernel/traps.c b/trunk/arch/arm/kernel/traps.c index 99a572702509..f84dfe67724f 100644 --- a/trunk/arch/arm/kernel/traps.c +++ b/trunk/arch/arm/kernel/traps.c @@ -266,6 +266,7 @@ void die(const char *str, struct pt_regs *regs, int err) { struct thread_info *thread = current_thread_info(); int ret; + enum bug_trap_type bug_type = BUG_TRAP_TYPE_NONE; oops_enter(); @@ -273,7 +274,9 @@ void die(const char *str, struct pt_regs *regs, int err) console_verbose(); bust_spinlocks(1); if (!user_mode(regs)) - report_bug(regs->ARM_pc, regs); + bug_type = report_bug(regs->ARM_pc, regs); + if (bug_type != BUG_TRAP_TYPE_NONE) + str = "Oops - BUG"; ret = __die(str, err, thread, regs); if (regs && kexec_should_crash(thread->task)) diff --git a/trunk/arch/arm/kernel/vmlinux.lds.S b/trunk/arch/arm/kernel/vmlinux.lds.S index f76e75548670..43a31fb06318 100644 --- a/trunk/arch/arm/kernel/vmlinux.lds.S +++ b/trunk/arch/arm/kernel/vmlinux.lds.S @@ -4,11 +4,13 @@ */ #include +#include #include #include #include #define PROC_INFO \ + . = ALIGN(4); \ VMLINUX_SYMBOL(__proc_info_begin) = .; \ *(.proc.info.init) \ VMLINUX_SYMBOL(__proc_info_end) = .; @@ -181,7 +183,7 @@ SECTIONS } #endif - PERCPU_SECTION(32) + PERCPU_SECTION(L1_CACHE_BYTES) #ifdef CONFIG_XIP_KERNEL __data_loc = ALIGN(4); /* location in binary */ @@ -212,13 +214,13 @@ SECTIONS #endif NOSAVE_DATA - CACHELINE_ALIGNED_DATA(32) - READ_MOSTLY_DATA(32) + CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) + READ_MOSTLY_DATA(L1_CACHE_BYTES) /* * The exception fixup table (might need resorting at runtime) */ - . = ALIGN(32); + . = ALIGN(4); __start___ex_table = .; #ifdef CONFIG_MMU *(__ex_table) diff --git a/trunk/arch/arm/lib/getuser.S b/trunk/arch/arm/lib/getuser.S index 1b049cd7a49a..11093a7c3e32 100644 --- a/trunk/arch/arm/lib/getuser.S +++ b/trunk/arch/arm/lib/getuser.S @@ -31,18 +31,18 @@ #include ENTRY(__get_user_1) -1: T(ldrb) r2, [r0] +1: TUSER(ldrb) r2, [r0] mov r0, #0 mov pc, lr ENDPROC(__get_user_1) ENTRY(__get_user_2) #ifdef CONFIG_THUMB2_KERNEL -2: T(ldrb) r2, [r0] -3: T(ldrb) r3, [r0, #1] +2: TUSER(ldrb) r2, [r0] +3: TUSER(ldrb) r3, [r0, #1] #else -2: T(ldrb) r2, [r0], #1 -3: T(ldrb) r3, [r0] +2: TUSER(ldrb) r2, [r0], #1 +3: TUSER(ldrb) r3, [r0] #endif #ifndef __ARMEB__ orr r2, r2, r3, lsl #8 @@ -54,7 +54,7 @@ ENTRY(__get_user_2) ENDPROC(__get_user_2) ENTRY(__get_user_4) -4: T(ldr) r2, [r0] +4: TUSER(ldr) r2, [r0] mov r0, #0 mov pc, lr ENDPROC(__get_user_4) diff --git a/trunk/arch/arm/lib/putuser.S b/trunk/arch/arm/lib/putuser.S index c023fc11e86c..7db25990c589 100644 --- a/trunk/arch/arm/lib/putuser.S +++ b/trunk/arch/arm/lib/putuser.S @@ -31,7 +31,7 @@ #include ENTRY(__put_user_1) -1: T(strb) r2, [r0] +1: TUSER(strb) r2, [r0] mov r0, #0 mov pc, lr ENDPROC(__put_user_1) @@ -40,19 +40,19 @@ ENTRY(__put_user_2) mov ip, r2, lsr #8 #ifdef CONFIG_THUMB2_KERNEL #ifndef __ARMEB__ -2: T(strb) r2, [r0] -3: T(strb) ip, [r0, #1] +2: TUSER(strb) r2, [r0] +3: TUSER(strb) ip, [r0, #1] #else -2: T(strb) ip, [r0] -3: T(strb) r2, [r0, #1] +2: TUSER(strb) ip, [r0] +3: TUSER(strb) r2, [r0, #1] #endif #else /* !CONFIG_THUMB2_KERNEL */ #ifndef __ARMEB__ -2: T(strb) r2, [r0], #1 -3: T(strb) ip, [r0] +2: TUSER(strb) r2, [r0], #1 +3: TUSER(strb) ip, [r0] #else -2: T(strb) ip, [r0], #1 -3: T(strb) r2, [r0] +2: TUSER(strb) ip, [r0], #1 +3: TUSER(strb) r2, [r0] #endif #endif /* CONFIG_THUMB2_KERNEL */ mov r0, #0 @@ -60,18 +60,18 @@ ENTRY(__put_user_2) ENDPROC(__put_user_2) ENTRY(__put_user_4) -4: T(str) r2, [r0] +4: TUSER(str) r2, [r0] mov r0, #0 mov pc, lr ENDPROC(__put_user_4) ENTRY(__put_user_8) #ifdef CONFIG_THUMB2_KERNEL -5: T(str) r2, [r0] -6: T(str) r3, [r0, #4] +5: TUSER(str) r2, [r0] +6: TUSER(str) r3, [r0, #4] #else -5: T(str) r2, [r0], #4 -6: T(str) r3, [r0] +5: TUSER(str) r2, [r0], #4 +6: TUSER(str) r3, [r0] #endif mov r0, #0 mov pc, lr diff --git a/trunk/arch/arm/lib/uaccess.S b/trunk/arch/arm/lib/uaccess.S index d0ece2aeb70d..5c908b1cb8ed 100644 --- a/trunk/arch/arm/lib/uaccess.S +++ b/trunk/arch/arm/lib/uaccess.S @@ -32,11 +32,11 @@ rsb ip, ip, #4 cmp ip, #2 ldrb r3, [r1], #1 -USER( T(strb) r3, [r0], #1) @ May fault +USER( TUSER( strb) r3, [r0], #1) @ May fault ldrgeb r3, [r1], #1 -USER( T(strgeb) r3, [r0], #1) @ May fault +USER( TUSER( strgeb) r3, [r0], #1) @ May fault ldrgtb r3, [r1], #1 -USER( T(strgtb) r3, [r0], #1) @ May fault +USER( TUSER( strgtb) r3, [r0], #1) @ May fault sub r2, r2, ip b .Lc2u_dest_aligned @@ -59,7 +59,7 @@ ENTRY(__copy_to_user) addmi ip, r2, #4 bmi .Lc2u_0nowords ldr r3, [r1], #4 -USER( T(str) r3, [r0], #4) @ May fault +USER( TUSER( str) r3, [r0], #4) @ May fault mov ip, r0, lsl #32 - PAGE_SHIFT @ On each page, use a ld/st??t instruction rsb ip, ip, #0 movs ip, ip, lsr #32 - PAGE_SHIFT @@ -88,18 +88,18 @@ USER( T(str) r3, [r0], #4) @ May fault stmneia r0!, {r3 - r4} @ Shouldnt fault tst ip, #4 ldrne r3, [r1], #4 - T(strne) r3, [r0], #4 @ Shouldnt fault + TUSER( strne) r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .Lc2u_0fupi .Lc2u_0nowords: teq ip, #0 beq .Lc2u_finished .Lc2u_nowords: cmp ip, #2 ldrb r3, [r1], #1 -USER( T(strb) r3, [r0], #1) @ May fault +USER( TUSER( strb) r3, [r0], #1) @ May fault ldrgeb r3, [r1], #1 -USER( T(strgeb) r3, [r0], #1) @ May fault +USER( TUSER( strgeb) r3, [r0], #1) @ May fault ldrgtb r3, [r1], #1 -USER( T(strgtb) r3, [r0], #1) @ May fault +USER( TUSER( strgtb) r3, [r0], #1) @ May fault b .Lc2u_finished .Lc2u_not_enough: @@ -120,7 +120,7 @@ USER( T(strgtb) r3, [r0], #1) @ May fault mov r3, r7, pull #8 ldr r7, [r1], #4 orr r3, r3, r7, push #24 -USER( T(str) r3, [r0], #4) @ May fault +USER( TUSER( str) r3, [r0], #4) @ May fault mov ip, r0, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 movs ip, ip, lsr #32 - PAGE_SHIFT @@ -155,18 +155,18 @@ USER( T(str) r3, [r0], #4) @ May fault movne r3, r7, pull #8 ldrne r7, [r1], #4 orrne r3, r3, r7, push #24 - T(strne) r3, [r0], #4 @ Shouldnt fault + TUSER( strne) r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .Lc2u_1fupi .Lc2u_1nowords: mov r3, r7, get_byte_1 teq ip, #0 beq .Lc2u_finished cmp ip, #2 -USER( T(strb) r3, [r0], #1) @ May fault +USER( TUSER( strb) r3, [r0], #1) @ May fault movge r3, r7, get_byte_2 -USER( T(strgeb) r3, [r0], #1) @ May fault +USER( TUSER( strgeb) r3, [r0], #1) @ May fault movgt r3, r7, get_byte_3 -USER( T(strgtb) r3, [r0], #1) @ May fault +USER( TUSER( strgtb) r3, [r0], #1) @ May fault b .Lc2u_finished .Lc2u_2fupi: subs r2, r2, #4 @@ -175,7 +175,7 @@ USER( T(strgtb) r3, [r0], #1) @ May fault mov r3, r7, pull #16 ldr r7, [r1], #4 orr r3, r3, r7, push #16 -USER( T(str) r3, [r0], #4) @ May fault +USER( TUSER( str) r3, [r0], #4) @ May fault mov ip, r0, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 movs ip, ip, lsr #32 - PAGE_SHIFT @@ -210,18 +210,18 @@ USER( T(str) r3, [r0], #4) @ May fault movne r3, r7, pull #16 ldrne r7, [r1], #4 orrne r3, r3, r7, push #16 - T(strne) r3, [r0], #4 @ Shouldnt fault + TUSER( strne) r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .Lc2u_2fupi .Lc2u_2nowords: mov r3, r7, get_byte_2 teq ip, #0 beq .Lc2u_finished cmp ip, #2 -USER( T(strb) r3, [r0], #1) @ May fault +USER( TUSER( strb) r3, [r0], #1) @ May fault movge r3, r7, get_byte_3 -USER( T(strgeb) r3, [r0], #1) @ May fault +USER( TUSER( strgeb) r3, [r0], #1) @ May fault ldrgtb r3, [r1], #0 -USER( T(strgtb) r3, [r0], #1) @ May fault +USER( TUSER( strgtb) r3, [r0], #1) @ May fault b .Lc2u_finished .Lc2u_3fupi: subs r2, r2, #4 @@ -230,7 +230,7 @@ USER( T(strgtb) r3, [r0], #1) @ May fault mov r3, r7, pull #24 ldr r7, [r1], #4 orr r3, r3, r7, push #8 -USER( T(str) r3, [r0], #4) @ May fault +USER( TUSER( str) r3, [r0], #4) @ May fault mov ip, r0, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 movs ip, ip, lsr #32 - PAGE_SHIFT @@ -265,18 +265,18 @@ USER( T(str) r3, [r0], #4) @ May fault movne r3, r7, pull #24 ldrne r7, [r1], #4 orrne r3, r3, r7, push #8 - T(strne) r3, [r0], #4 @ Shouldnt fault + TUSER( strne) r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .Lc2u_3fupi .Lc2u_3nowords: mov r3, r7, get_byte_3 teq ip, #0 beq .Lc2u_finished cmp ip, #2 -USER( T(strb) r3, [r0], #1) @ May fault +USER( TUSER( strb) r3, [r0], #1) @ May fault ldrgeb r3, [r1], #1 -USER( T(strgeb) r3, [r0], #1) @ May fault +USER( TUSER( strgeb) r3, [r0], #1) @ May fault ldrgtb r3, [r1], #0 -USER( T(strgtb) r3, [r0], #1) @ May fault +USER( TUSER( strgtb) r3, [r0], #1) @ May fault b .Lc2u_finished ENDPROC(__copy_to_user) @@ -295,11 +295,11 @@ ENDPROC(__copy_to_user) .Lcfu_dest_not_aligned: rsb ip, ip, #4 cmp ip, #2 -USER( T(ldrb) r3, [r1], #1) @ May fault +USER( TUSER( ldrb) r3, [r1], #1) @ May fault strb r3, [r0], #1 -USER( T(ldrgeb) r3, [r1], #1) @ May fault +USER( TUSER( ldrgeb) r3, [r1], #1) @ May fault strgeb r3, [r0], #1 -USER( T(ldrgtb) r3, [r1], #1) @ May fault +USER( TUSER( ldrgtb) r3, [r1], #1) @ May fault strgtb r3, [r0], #1 sub r2, r2, ip b .Lcfu_dest_aligned @@ -322,7 +322,7 @@ ENTRY(__copy_from_user) .Lcfu_0fupi: subs r2, r2, #4 addmi ip, r2, #4 bmi .Lcfu_0nowords -USER( T(ldr) r3, [r1], #4) +USER( TUSER( ldr) r3, [r1], #4) str r3, [r0], #4 mov ip, r1, lsl #32 - PAGE_SHIFT @ On each page, use a ld/st??t instruction rsb ip, ip, #0 @@ -351,18 +351,18 @@ USER( T(ldr) r3, [r1], #4) ldmneia r1!, {r3 - r4} @ Shouldnt fault stmneia r0!, {r3 - r4} tst ip, #4 - T(ldrne) r3, [r1], #4 @ Shouldnt fault + TUSER( ldrne) r3, [r1], #4 @ Shouldnt fault strne r3, [r0], #4 ands ip, ip, #3 beq .Lcfu_0fupi .Lcfu_0nowords: teq ip, #0 beq .Lcfu_finished .Lcfu_nowords: cmp ip, #2 -USER( T(ldrb) r3, [r1], #1) @ May fault +USER( TUSER( ldrb) r3, [r1], #1) @ May fault strb r3, [r0], #1 -USER( T(ldrgeb) r3, [r1], #1) @ May fault +USER( TUSER( ldrgeb) r3, [r1], #1) @ May fault strgeb r3, [r0], #1 -USER( T(ldrgtb) r3, [r1], #1) @ May fault +USER( TUSER( ldrgtb) r3, [r1], #1) @ May fault strgtb r3, [r0], #1 b .Lcfu_finished @@ -375,7 +375,7 @@ USER( T(ldrgtb) r3, [r1], #1) @ May fault .Lcfu_src_not_aligned: bic r1, r1, #3 -USER( T(ldr) r7, [r1], #4) @ May fault +USER( TUSER( ldr) r7, [r1], #4) @ May fault cmp ip, #2 bgt .Lcfu_3fupi beq .Lcfu_2fupi @@ -383,7 +383,7 @@ USER( T(ldr) r7, [r1], #4) @ May fault addmi ip, r2, #4 bmi .Lcfu_1nowords mov r3, r7, pull #8 -USER( T(ldr) r7, [r1], #4) @ May fault +USER( TUSER( ldr) r7, [r1], #4) @ May fault orr r3, r3, r7, push #24 str r3, [r0], #4 mov ip, r1, lsl #32 - PAGE_SHIFT @@ -418,7 +418,7 @@ USER( T(ldr) r7, [r1], #4) @ May fault stmneia r0!, {r3 - r4} tst ip, #4 movne r3, r7, pull #8 -USER( T(ldrne) r7, [r1], #4) @ May fault +USER( TUSER( ldrne) r7, [r1], #4) @ May fault orrne r3, r3, r7, push #24 strne r3, [r0], #4 ands ip, ip, #3 @@ -438,7 +438,7 @@ USER( T(ldrne) r7, [r1], #4) @ May fault addmi ip, r2, #4 bmi .Lcfu_2nowords mov r3, r7, pull #16 -USER( T(ldr) r7, [r1], #4) @ May fault +USER( TUSER( ldr) r7, [r1], #4) @ May fault orr r3, r3, r7, push #16 str r3, [r0], #4 mov ip, r1, lsl #32 - PAGE_SHIFT @@ -474,7 +474,7 @@ USER( T(ldr) r7, [r1], #4) @ May fault stmneia r0!, {r3 - r4} tst ip, #4 movne r3, r7, pull #16 -USER( T(ldrne) r7, [r1], #4) @ May fault +USER( TUSER( ldrne) r7, [r1], #4) @ May fault orrne r3, r3, r7, push #16 strne r3, [r0], #4 ands ip, ip, #3 @@ -486,7 +486,7 @@ USER( T(ldrne) r7, [r1], #4) @ May fault strb r3, [r0], #1 movge r3, r7, get_byte_3 strgeb r3, [r0], #1 -USER( T(ldrgtb) r3, [r1], #0) @ May fault +USER( TUSER( ldrgtb) r3, [r1], #0) @ May fault strgtb r3, [r0], #1 b .Lcfu_finished @@ -494,7 +494,7 @@ USER( T(ldrgtb) r3, [r1], #0) @ May fault addmi ip, r2, #4 bmi .Lcfu_3nowords mov r3, r7, pull #24 -USER( T(ldr) r7, [r1], #4) @ May fault +USER( TUSER( ldr) r7, [r1], #4) @ May fault orr r3, r3, r7, push #8 str r3, [r0], #4 mov ip, r1, lsl #32 - PAGE_SHIFT @@ -529,7 +529,7 @@ USER( T(ldr) r7, [r1], #4) @ May fault stmneia r0!, {r3 - r4} tst ip, #4 movne r3, r7, pull #24 -USER( T(ldrne) r7, [r1], #4) @ May fault +USER( TUSER( ldrne) r7, [r1], #4) @ May fault orrne r3, r3, r7, push #8 strne r3, [r0], #4 ands ip, ip, #3 @@ -539,9 +539,9 @@ USER( T(ldrne) r7, [r1], #4) @ May fault beq .Lcfu_finished cmp ip, #2 strb r3, [r0], #1 -USER( T(ldrgeb) r3, [r1], #1) @ May fault +USER( TUSER( ldrgeb) r3, [r1], #1) @ May fault strgeb r3, [r0], #1 -USER( T(ldrgtb) r3, [r1], #1) @ May fault +USER( TUSER( ldrgtb) r3, [r1], #1) @ May fault strgtb r3, [r0], #1 b .Lcfu_finished ENDPROC(__copy_from_user) diff --git a/trunk/arch/arm/mach-at91/Kconfig b/trunk/arch/arm/mach-at91/Kconfig index 4f991f295284..e55cdcbd81fb 100644 --- a/trunk/arch/arm/mach-at91/Kconfig +++ b/trunk/arch/arm/mach-at91/Kconfig @@ -18,6 +18,12 @@ config HAVE_AT91_USART4 config HAVE_AT91_USART5 bool +config AT91_SAM9_ALT_RESET + bool + +config AT91_SAM9G45_RESET + bool + menu "Atmel AT91 System-on-Chip" choice @@ -39,6 +45,7 @@ config ARCH_AT91SAM9260 select HAVE_AT91_USART4 select HAVE_AT91_USART5 select HAVE_NET_MACB + select AT91_SAM9_ALT_RESET config ARCH_AT91SAM9261 bool "AT91SAM9261" @@ -46,6 +53,7 @@ config ARCH_AT91SAM9261 select GENERIC_CLOCKEVENTS select HAVE_FB_ATMEL select HAVE_AT91_DBGU0 + select AT91_SAM9_ALT_RESET config ARCH_AT91SAM9G10 bool "AT91SAM9G10" @@ -53,6 +61,7 @@ config ARCH_AT91SAM9G10 select GENERIC_CLOCKEVENTS select HAVE_AT91_DBGU0 select HAVE_FB_ATMEL + select AT91_SAM9_ALT_RESET config ARCH_AT91SAM9263 bool "AT91SAM9263" @@ -61,6 +70,7 @@ config ARCH_AT91SAM9263 select HAVE_FB_ATMEL select HAVE_NET_MACB select HAVE_AT91_DBGU1 + select AT91_SAM9_ALT_RESET config ARCH_AT91SAM9RL bool "AT91SAM9RL" @@ -69,6 +79,7 @@ config ARCH_AT91SAM9RL select HAVE_AT91_USART3 select HAVE_FB_ATMEL select HAVE_AT91_DBGU0 + select AT91_SAM9_ALT_RESET config ARCH_AT91SAM9G20 bool "AT91SAM9G20" @@ -79,6 +90,7 @@ config ARCH_AT91SAM9G20 select HAVE_AT91_USART4 select HAVE_AT91_USART5 select HAVE_NET_MACB + select AT91_SAM9_ALT_RESET config ARCH_AT91SAM9G45 bool "AT91SAM9G45" @@ -88,14 +100,16 @@ config ARCH_AT91SAM9G45 select HAVE_FB_ATMEL select HAVE_NET_MACB select HAVE_AT91_DBGU1 + select AT91_SAM9G45_RESET -config ARCH_AT91CAP9 - bool "AT91CAP9" +config ARCH_AT91SAM9X5 + bool "AT91SAM9x5 family" select CPU_ARM926T select GENERIC_CLOCKEVENTS select HAVE_FB_ATMEL select HAVE_NET_MACB - select HAVE_AT91_DBGU1 + select HAVE_AT91_DBGU0 + select AT91_SAM9G45_RESET config ARCH_AT91X40 bool "AT91x40" @@ -433,21 +447,6 @@ 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" @@ -530,7 +529,7 @@ config AT91_EARLY_DBGU0 depends on HAVE_AT91_DBGU0 config AT91_EARLY_DBGU1 - bool "DBGU on 9263, 9g45 and cap9" + bool "DBGU on 9263 and 9g45" 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 242174f9f355..1b6518518d99 100644 --- a/trunk/arch/arm/mach-at91/Makefile +++ b/trunk/arch/arm/mach-at91/Makefile @@ -8,17 +8,19 @@ obj-n := obj- := obj-$(CONFIG_AT91_PMC_UNIT) += clock.o +obj-$(CONFIG_AT91_SAM9_ALT_RESET) += at91sam9_alt_reset.o +obj-$(CONFIG_AT91_SAM9G45_RESET) += at91sam9g45_reset.o # CPU-specific support obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200.o at91rm9200_time.o at91rm9200_devices.o -obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o at91sam9_alt_reset.o -obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o at91sam9_alt_reset.o -obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o at91sam9_alt_reset.o -obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o sam9_smc.o at91sam9_alt_reset.o -obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o sam9_smc.o at91sam9_alt_reset.o -obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o at91sam9_alt_reset.o +obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o +obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o +obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o +obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o sam9_smc.o +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_AT91SAM9X5) += at91sam9x5.o at91sam926x_time.o obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o # AT91RM9200 board-specific support @@ -79,9 +81,6 @@ 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 8ddafadfdc7d..2fd051eb2449 100644 --- a/trunk/arch/arm/mach-at91/Makefile.boot +++ b/trunk/arch/arm/mach-at91/Makefile.boot @@ -3,11 +3,7 @@ # PARAMS_PHYS must be within 4MB of ZRELADDR # INITRD_PHYS must be in RAM -ifeq ($(CONFIG_ARCH_AT91CAP9),y) - zreladdr-y += 0x70008000 -params_phys-y := 0x70000100 -initrd_phys-y := 0x70410000 -else ifeq ($(CONFIG_ARCH_AT91SAM9G45),y) +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 deleted file mode 100644 index edb879ac04c8..000000000000 --- a/trunk/arch/arm/mach-at91/at91cap9.c +++ /dev/null @@ -1,401 +0,0 @@ -/* - * 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 - -#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, - } -}; - -static void at91cap9_restart(char mode, const char *cmd) -{ - at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); -} - -/* -------------------------------------------------------------------- - * 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); - at91sam926x_ioremap_pit(AT91CAP9_BASE_PIT); - at91sam9_ioremap_smc(0, AT91CAP9_BASE_SMC); -} - -static void __init at91cap9_initialize(void) -{ - arm_pm_restart = at91cap9_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 deleted file mode 100644 index d298fb7cb210..000000000000 --- a/trunk/arch/arm/mach-at91/at91cap9_devices.c +++ /dev/null @@ -1,1273 +0,0 @@ -/* - * 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