From 76e980505d93df4d646c23ee488ea75b5e9d7d08 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Mon, 14 Jan 2013 21:44:27 -0700 Subject: [PATCH] --- yaml --- r: 355226 b: refs/heads/master c: b2fc382aad0a8f52803acdc3ac4e5540dbcdf1f6 h: refs/heads/master v: v3 --- [refs] | 2 +- .../bindings/pinctrl/atmel,at91-pinctrl.txt | 5 +- trunk/Documentation/filesystems/f2fs.txt | 18 +- trunk/MAINTAINERS | 43 +- trunk/Makefile | 4 +- trunk/arch/arm/Kconfig | 9 + trunk/arch/arm/Kconfig.debug | 10 +- trunk/arch/arm/boot/dts/Makefile | 1 - trunk/arch/arm/boot/dts/armada-370-db.dts | 2 +- .../arch/arm/boot/dts/armada-xp-mv78230.dtsi | 14 +- .../arch/arm/boot/dts/armada-xp-mv78260.dtsi | 21 +- .../arch/arm/boot/dts/armada-xp-mv78460.dtsi | 21 +- trunk/arch/arm/boot/dts/at91rm9200.dtsi | 4 +- trunk/arch/arm/boot/dts/at91sam9260.dtsi | 18 - trunk/arch/arm/boot/dts/at91sam9263.dtsi | 36 - trunk/arch/arm/boot/dts/at91sam9g45.dtsi | 36 - trunk/arch/arm/boot/dts/at91sam9n12.dtsi | 26 - trunk/arch/arm/boot/dts/at91sam9x5.dtsi | 92 +- trunk/arch/arm/boot/dts/cros5250-common.dtsi | 12 +- trunk/arch/arm/boot/dts/dove-cubox.dts | 14 +- .../arch/arm/boot/dts/exynos5250-smdk5250.dts | 8 +- .../arm/boot/dts/kirkwood-ns2-common.dtsi | 16 - trunk/arch/arm/boot/dts/kirkwood.dtsi | 2 - trunk/arch/arm/boot/dts/kizbox.dts | 2 - trunk/arch/arm/boot/dts/sunxi.dtsi | 6 +- .../arm/boot/dts/vexpress-v2p-ca15_a7.dts | 2 + trunk/arch/arm/common/Kconfig | 23 + trunk/arch/arm/common/Makefile | 2 + .../irq-gic.c => arch/arm/common/gic.c} | 59 +- .../irq-vic.c => arch/arm/common/vic.c} | 95 +- trunk/arch/arm/configs/at91_dt_defconfig | 3 +- trunk/arch/arm/configs/imx_v6_v7_defconfig | 1 + .../arm/include/asm/hardware/gic.h} | 15 +- .../arm/include/asm/hardware/vic.h} | 25 +- trunk/arch/arm/include/asm/mach/irq.h | 1 - trunk/arch/arm/include/debug/imx.S | 2 +- trunk/arch/arm/kernel/debug.S | 2 - trunk/arch/arm/kernel/head.S | 5 +- trunk/arch/arm/kernel/hyp-stub.S | 18 +- trunk/arch/arm/kernel/irq.c | 10 - trunk/arch/arm/kernel/smp.c | 3 +- trunk/arch/arm/kernel/smp_twd.c | 1 + trunk/arch/arm/mach-at91/at91rm9200_time.c | 7 +- trunk/arch/arm/mach-at91/setup.c | 2 - trunk/arch/arm/mach-bcm/Kconfig | 1 + trunk/arch/arm/mach-bcm/board_bcm.c | 16 +- trunk/arch/arm/mach-cns3xxx/cns3420vb.c | 2 + trunk/arch/arm/mach-cns3xxx/core.c | 15 +- trunk/arch/arm/mach-ep93xx/adssphere.c | 2 + trunk/arch/arm/mach-ep93xx/core.c | 3 +- trunk/arch/arm/mach-ep93xx/edb93xx.c | 9 + trunk/arch/arm/mach-ep93xx/gesbc9312.c | 2 + trunk/arch/arm/mach-ep93xx/micro9.c | 5 + trunk/arch/arm/mach-ep93xx/simone.c | 2 + trunk/arch/arm/mach-ep93xx/snappercl15.c | 2 + trunk/arch/arm/mach-ep93xx/ts72xx.c | 2 + trunk/arch/arm/mach-ep93xx/vision_ep9307.c | 2 + trunk/arch/arm/mach-exynos/common.c | 10 +- .../arm/mach-exynos/include/mach/regs-irq.h | 2 +- trunk/arch/arm/mach-exynos/mach-armlex4210.c | 2 + trunk/arch/arm/mach-exynos/mach-exynos4-dt.c | 2 + trunk/arch/arm/mach-exynos/mach-exynos5-dt.c | 2 + trunk/arch/arm/mach-exynos/mach-nuri.c | 2 + trunk/arch/arm/mach-exynos/mach-origen.c | 2 + trunk/arch/arm/mach-exynos/mach-smdk4x12.c | 3 + trunk/arch/arm/mach-exynos/mach-smdkv310.c | 3 + .../arm/mach-exynos/mach-universal_c210.c | 2 + trunk/arch/arm/mach-exynos/mct.c | 19 +- trunk/arch/arm/mach-exynos/platsmp.c | 6 +- .../arch/arm/mach-footbridge/dc21285-timer.c | 6 +- trunk/arch/arm/mach-highbank/highbank.c | 11 +- trunk/arch/arm/mach-highbank/platsmp.c | 6 +- trunk/arch/arm/mach-imx/Kconfig | 37 +- trunk/arch/arm/mach-imx/Makefile | 3 + trunk/arch/arm/mach-imx/Makefile.boot | 4 + trunk/arch/arm/mach-imx/clk-imx25.c | 6 +- trunk/arch/arm/mach-imx/clk-imx27.c | 6 +- trunk/arch/arm/mach-imx/clk-imx31.c | 6 +- trunk/arch/arm/mach-imx/clk-imx35.c | 6 +- trunk/arch/arm/mach-imx/clk-imx51-imx53.c | 6 +- trunk/arch/arm/mach-imx/clk-imx6q.c | 5 +- trunk/arch/arm/mach-imx/common.h | 13 +- trunk/arch/arm/mach-imx/cpu-imx5.c | 39 + trunk/arch/arm/mach-imx/devices-imx50.h | 33 + trunk/arch/arm/mach-imx/devices/Kconfig | 2 +- .../arm/mach-imx/devices/devices-common.h | 1 - .../arch/arm/mach-imx/devices/platform-fec.c | 6 + .../mach-imx/devices/platform-fsl-usb2-udc.c | 15 +- .../arm/mach-imx/devices/platform-imx-fb.c | 2 +- .../arm/mach-imx/devices/platform-imx-i2c.c | 10 + .../arm/mach-imx/devices/platform-imx-uart.c | 12 + trunk/arch/arm/mach-imx/epit.c | 15 +- trunk/arch/arm/mach-imx/gpc.c | 2 +- trunk/arch/arm/mach-imx/hardware.h | 6 + trunk/arch/arm/mach-imx/hotplug.c | 10 +- trunk/arch/arm/mach-imx/iomux-mx50.h | 977 +++++++++++++++ .../imx-iram.h => arch/arm/mach-imx/iram.h} | 0 trunk/arch/arm/mach-imx/iram_alloc.c | 3 +- trunk/arch/arm/mach-imx/lluart.c | 47 + trunk/arch/arm/mach-imx/mach-imx6q.c | 14 +- trunk/arch/arm/mach-imx/mach-mx50_rdp.c | 221 ++++ trunk/arch/arm/mach-imx/mach-mx51_3ds.c | 174 +++ trunk/arch/arm/mach-imx/mm-imx5.c | 48 + trunk/arch/arm/mach-imx/mx50.h | 290 +++++ trunk/arch/arm/mach-imx/mxc.h | 13 + trunk/arch/arm/mach-imx/platsmp.c | 5 +- trunk/arch/arm/mach-imx/pm-imx5.c | 7 +- trunk/arch/arm/mach-imx/pm-imx6q.c | 1 - trunk/arch/arm/mach-imx/time.c | 15 +- trunk/arch/arm/mach-integrator/pci_v3.c | 14 +- trunk/arch/arm/mach-ixp4xx/common.c | 11 +- trunk/arch/arm/mach-kirkwood/board-ib62x0.c | 1 + trunk/arch/arm/mach-kirkwood/board-mplcec4.c | 1 + trunk/arch/arm/mach-kirkwood/board-ns2.c | 38 + trunk/arch/arm/mach-kirkwood/dockstar-setup.c | 1 + trunk/arch/arm/mach-lpc32xx/timer.c | 9 +- trunk/arch/arm/mach-mmp/time.c | 7 +- trunk/arch/arm/mach-msm/board-dt-8660.c | 16 +- trunk/arch/arm/mach-msm/board-dt-8960.c | 16 +- trunk/arch/arm/mach-msm/platsmp.c | 6 +- trunk/arch/arm/mach-msm/timer.c | 7 +- trunk/arch/arm/mach-mvebu/Makefile | 2 - trunk/arch/arm/mach-mxs/timer.c | 24 +- trunk/arch/arm/mach-netx/generic.c | 2 +- trunk/arch/arm/mach-netx/nxdb500.c | 2 + trunk/arch/arm/mach-netx/nxdkn.c | 2 + trunk/arch/arm/mach-netx/nxeb500hmi.c | 2 + trunk/arch/arm/mach-netx/time.c | 10 +- trunk/arch/arm/mach-nomadik/board-nhk8815.c | 2 + trunk/arch/arm/mach-nomadik/cpu-8815.c | 2 +- trunk/arch/arm/mach-omap1/time.c | 11 +- trunk/arch/arm/mach-omap1/timer32k.c | 12 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 3 +- trunk/arch/arm/mach-omap2/board-generic.c | 3 + trunk/arch/arm/mach-omap2/board-omap4panda.c | 9 +- trunk/arch/arm/mach-omap2/cclock2420_data.c | 2 - trunk/arch/arm/mach-omap2/cclock2430_data.c | 2 - trunk/arch/arm/mach-omap2/cclock44xx_data.c | 13 +- trunk/arch/arm/mach-omap2/devices.c | 2 +- trunk/arch/arm/mach-omap2/drm.c | 3 +- trunk/arch/arm/mach-omap2/omap-smp.c | 6 +- trunk/arch/arm/mach-omap2/omap-wakeupgen.c | 3 +- trunk/arch/arm/mach-omap2/omap4-common.c | 11 +- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 6 +- trunk/arch/arm/mach-omap2/timer.c | 21 +- trunk/arch/arm/mach-picoxcell/Kconfig | 1 + trunk/arch/arm/mach-picoxcell/common.c | 15 +- trunk/arch/arm/mach-prima2/timer.c | 10 +- .../arm/mach-pxa/include/mach/mfp-pxa27x.h | 3 - .../arch/arm/mach-pxa/include/mach/palmtreo.h | 5 +- trunk/arch/arm/mach-pxa/include/mach/smemc.h | 1 - trunk/arch/arm/mach-pxa/palmtreo.c | 70 +- trunk/arch/arm/mach-pxa/pxa27x.c | 4 +- trunk/arch/arm/mach-pxa/smemc.c | 15 +- trunk/arch/arm/mach-pxa/spitz.c | 4 +- trunk/arch/arm/mach-pxa/time.c | 8 +- trunk/arch/arm/mach-realview/core.c | 1 + trunk/arch/arm/mach-realview/platsmp.c | 3 + trunk/arch/arm/mach-realview/realview_eb.c | 3 +- .../arch/arm/mach-realview/realview_pb1176.c | 3 +- .../arch/arm/mach-realview/realview_pb11mp.c | 3 +- trunk/arch/arm/mach-realview/realview_pba8.c | 3 +- trunk/arch/arm/mach-realview/realview_pbx.c | 3 +- trunk/arch/arm/mach-s3c64xx/common.c | 2 +- .../arm/mach-s3c64xx/include/mach/regs-irq.h | 1 + .../arch/arm/mach-s3c64xx/include/mach/tick.h | 2 - trunk/arch/arm/mach-s3c64xx/mach-anw6410.c | 2 + .../arm/mach-s3c64xx/mach-crag6410-module.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-crag6410.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-hmt.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-mini6410.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-ncp.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-real6410.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-smartq5.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-smartq7.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-smdk6400.c | 2 + trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 + trunk/arch/arm/mach-s3c64xx/pm.c | 2 - .../arm/mach-s5p64x0/include/mach/regs-irq.h | 1 + .../arch/arm/mach-s5p64x0/include/mach/tick.h | 29 + trunk/arch/arm/mach-s5p64x0/mach-smdk6440.c | 2 + trunk/arch/arm/mach-s5p64x0/mach-smdk6450.c | 2 + .../arm/mach-s5pc100/include/mach/regs-irq.h | 1 + .../arch/arm/mach-s5pc100/include/mach/tick.h | 2 - trunk/arch/arm/mach-s5pc100/mach-smdkc100.c | 2 + .../arm/mach-s5pv210/include/mach/regs-irq.h | 1 + .../arch/arm/mach-s5pv210/include/mach/tick.h | 26 + trunk/arch/arm/mach-s5pv210/mach-aquila.c | 2 + trunk/arch/arm/mach-s5pv210/mach-goni.c | 2 + trunk/arch/arm/mach-s5pv210/mach-smdkc110.c | 2 + trunk/arch/arm/mach-s5pv210/mach-smdkv210.c | 2 + trunk/arch/arm/mach-s5pv210/mach-torbreck.c | 2 + trunk/arch/arm/mach-sa1100/time.c | 8 +- trunk/arch/arm/mach-shmobile/board-ag5evm.c | 3 +- trunk/arch/arm/mach-shmobile/board-kota2.c | 3 +- trunk/arch/arm/mach-shmobile/board-kzm9d.c | 2 + trunk/arch/arm/mach-shmobile/board-kzm9g.c | 3 +- trunk/arch/arm/mach-shmobile/board-marzen.c | 2 + trunk/arch/arm/mach-shmobile/intc-r8a7779.c | 2 +- trunk/arch/arm/mach-shmobile/intc-sh73a0.c | 2 +- trunk/arch/arm/mach-shmobile/platsmp.c | 3 + trunk/arch/arm/mach-shmobile/setup-emev2.c | 17 +- trunk/arch/arm/mach-shmobile/smp-emev2.c | 4 +- trunk/arch/arm/mach-shmobile/smp-r8a7779.c | 2 +- trunk/arch/arm/mach-shmobile/smp-sh73a0.c | 2 +- trunk/arch/arm/mach-socfpga/platsmp.c | 4 +- trunk/arch/arm/mach-socfpga/socfpga.c | 14 +- .../arm/mach-spear13xx/include/mach/generic.h | 1 + trunk/arch/arm/mach-spear13xx/platsmp.c | 4 +- trunk/arch/arm/mach-spear13xx/spear1310.c | 5 +- trunk/arch/arm/mach-spear13xx/spear1340.c | 5 +- trunk/arch/arm/mach-spear13xx/spear13xx.c | 13 +- .../arm/mach-spear3xx/include/mach/generic.h | 1 + trunk/arch/arm/mach-spear3xx/spear300.c | 5 +- trunk/arch/arm/mach-spear3xx/spear310.c | 5 +- trunk/arch/arm/mach-spear3xx/spear320.c | 5 +- trunk/arch/arm/mach-spear3xx/spear3xx.c | 16 + trunk/arch/arm/mach-spear6xx/spear6xx.c | 16 +- trunk/arch/arm/mach-sunxi/sunxi.c | 2 + trunk/arch/arm/mach-tegra/board-dt-tegra20.c | 3 + trunk/arch/arm/mach-tegra/board-dt-tegra30.c | 2 + trunk/arch/arm/mach-tegra/common.c | 10 +- trunk/arch/arm/mach-tegra/irq.c | 3 +- trunk/arch/arm/mach-tegra/platsmp.c | 4 +- trunk/arch/arm/mach-tegra/timer.c | 8 +- trunk/arch/arm/mach-u300/core.c | 3 +- trunk/arch/arm/mach-ux500/board-mop500.c | 5 + trunk/arch/arm/mach-ux500/cpu-db8500.c | 2 + trunk/arch/arm/mach-ux500/cpu.c | 10 +- trunk/arch/arm/mach-ux500/platsmp.c | 6 +- trunk/arch/arm/mach-versatile/core.c | 2 +- trunk/arch/arm/mach-versatile/versatile_ab.c | 2 + trunk/arch/arm/mach-versatile/versatile_dt.c | 2 + trunk/arch/arm/mach-versatile/versatile_pb.c | 2 + trunk/arch/arm/mach-vexpress/ct-ca9x4.c | 4 +- trunk/arch/arm/mach-vexpress/platsmp.c | 3 + trunk/arch/arm/mach-vexpress/v2m.c | 16 +- trunk/arch/arm/mach-vt8500/Kconfig | 3 +- trunk/arch/arm/mach-vt8500/Makefile | 2 +- trunk/arch/arm/mach-vt8500/common.h | 1 + .../arm/mach-vt8500/timer.c} | 12 +- trunk/arch/arm/mach-vt8500/vt8500.c | 3 +- trunk/arch/arm/mach-w90x900/time.c | 10 +- trunk/arch/arm/mach-zynq/common.c | 17 +- trunk/arch/arm/mm/dma-mapping.c | 18 +- trunk/arch/arm/mm/mmu.c | 2 +- trunk/arch/arm/plat-iop/time.c | 9 +- trunk/arch/arm/plat-orion/time.c | 6 +- trunk/arch/arm/plat-samsung/s5p-irq-eint.c | 3 +- trunk/arch/arm/plat-samsung/s5p-irq.c | 3 +- trunk/arch/arm/plat-samsung/s5p-time.c | 9 +- trunk/arch/arm/plat-spear/time.c | 8 +- trunk/arch/arm/plat-versatile/headsmp.S | 2 +- trunk/arch/arm/plat-versatile/platsmp.c | 4 +- trunk/arch/arm/vfp/entry.S | 6 +- trunk/arch/arm/vfp/vfphw.S | 4 +- trunk/arch/arm64/boot/dts/Makefile | 1 - trunk/arch/arm64/include/asm/elf.h | 5 +- trunk/arch/arm64/include/asm/pgtable.h | 36 +- trunk/arch/arm64/include/asm/unistd32.h | 7 +- trunk/arch/arm64/kernel/vdso.c | 4 + trunk/arch/arm64/kernel/vdso/gettimeofday.S | 2 + trunk/arch/ia64/kernel/ptrace.c | 27 + trunk/arch/m68k/include/asm/dma-mapping.h | 16 - trunk/arch/m68k/include/asm/pgtable_no.h | 2 - trunk/arch/m68k/include/asm/unistd.h | 2 +- trunk/arch/m68k/include/uapi/asm/unistd.h | 1 - trunk/arch/m68k/kernel/syscalltable.S | 1 - trunk/arch/m68k/mm/init.c | 8 +- trunk/arch/mn10300/Kconfig | 1 - trunk/arch/parisc/kernel/entry.S | 18 +- trunk/arch/parisc/kernel/irq.c | 6 +- trunk/arch/parisc/kernel/ptrace.c | 2 +- trunk/arch/parisc/kernel/signal.c | 4 +- trunk/arch/parisc/math-emu/cnv_float.h | 11 +- .../arch/powerpc/include/uapi/asm/kvm_para.h | 2 +- trunk/arch/powerpc/kvm/book3s_hv_ras.c | 4 - trunk/arch/powerpc/kvm/emulate.c | 2 - trunk/arch/s390/Makefile | 4 +- trunk/arch/s390/include/asm/dma.h | 6 - trunk/arch/s390/include/asm/io.h | 5 - trunk/arch/s390/include/asm/irq.h | 78 +- trunk/arch/s390/include/asm/pgtable.h | 5 +- trunk/arch/s390/include/asm/timex.h | 28 - trunk/arch/s390/include/uapi/asm/unistd.h | 3 +- trunk/arch/s390/kernel/compat_wrapper.S | 6 - trunk/arch/s390/kernel/debug.c | 11 +- trunk/arch/s390/kernel/irq.c | 124 +- trunk/arch/s390/kernel/nmi.c | 2 +- trunk/arch/s390/kernel/perf_cpum_cf.c | 2 +- trunk/arch/s390/kernel/runtime_instr.c | 2 +- trunk/arch/s390/kernel/setup.c | 3 +- trunk/arch/s390/kernel/smp.c | 12 +- trunk/arch/s390/kernel/syscalls.S | 1 - trunk/arch/s390/kernel/time.c | 6 +- trunk/arch/s390/kernel/topology.c | 2 - trunk/arch/s390/kvm/interrupt.c | 2 +- trunk/arch/s390/kvm/kvm-s390.c | 2 - trunk/arch/s390/mm/fault.c | 2 +- trunk/arch/s390/oprofile/hwsampler.c | 2 +- trunk/arch/s390/pci/pci.c | 33 +- trunk/arch/s390/pci/pci_dma.c | 2 + trunk/arch/sh/boards/mach-ecovec24/setup.c | 10 - trunk/arch/sh/include/asm/elf.h | 4 +- trunk/arch/sh/include/asm/processor_32.h | 2 +- trunk/arch/sh/include/asm/processor_64.h | 2 +- trunk/arch/sh/include/uapi/asm/unistd_32.h | 3 +- trunk/arch/sh/include/uapi/asm/unistd_64.h | 3 +- trunk/arch/sh/kernel/syscalls_32.S | 1 - trunk/arch/sh/kernel/syscalls_64.S | 1 - trunk/arch/sh/lib/mcount.S | 2 - trunk/arch/sparc/include/uapi/asm/unistd.h | 3 +- trunk/arch/sparc/kernel/pci.c | 12 +- trunk/arch/sparc/kernel/pci_psycho.c | 3 +- trunk/arch/sparc/kernel/pci_sabre.c | 3 +- trunk/arch/sparc/kernel/pci_schizo.c | 5 +- trunk/arch/sparc/kernel/systbls_32.S | 2 +- trunk/arch/sparc/kernel/systbls_64.S | 4 +- trunk/arch/x86/boot/compressed/eboot.c | 2 +- trunk/arch/x86/kernel/cpu/perf_event.c | 6 + trunk/arch/x86/kernel/entry_32.S | 1 + trunk/arch/x86/kernel/kvm.c | 12 +- trunk/arch/x86/kernel/setup.c | 80 -- trunk/arch/x86/kernel/step.c | 9 +- trunk/arch/x86/kvm/x86.c | 24 +- trunk/arch/x86/xen/smp.c | 7 + trunk/drivers/acpi/apei/apei-base.c | 3 - trunk/drivers/acpi/glue.c | 2 +- trunk/drivers/acpi/processor_idle.c | 4 - trunk/drivers/acpi/processor_perflib.c | 7 - trunk/drivers/ata/ahci.c | 8 +- trunk/drivers/ata/libahci.c | 6 +- trunk/drivers/ata/libata-core.c | 22 +- trunk/drivers/ata/libata-eh.c | 2 +- trunk/drivers/base/cpu.c | 2 +- trunk/drivers/base/firmware_class.c | 2 +- trunk/drivers/base/regmap/regmap-debugfs.c | 51 +- trunk/drivers/base/regmap/regmap.c | 2 +- trunk/drivers/block/virtio_blk.c | 7 +- trunk/drivers/clk/mvebu/clk-cpu.c | 9 +- trunk/drivers/clocksource/Kconfig | 3 - trunk/drivers/clocksource/Makefile | 1 - trunk/drivers/clocksource/cs5535-clockevt.c | 11 +- trunk/drivers/clocksource/sunxi_timer.c | 11 +- trunk/drivers/clocksource/tcb_clksrc.c | 7 +- trunk/drivers/cpufreq/Kconfig.x86 | 2 +- trunk/drivers/cpufreq/acpi-cpufreq.c | 7 - trunk/drivers/cpufreq/cpufreq-cpu0.c | 5 - trunk/drivers/cpufreq/omap-cpufreq.c | 3 - trunk/drivers/cpuidle/cpuidle.c | 17 +- trunk/drivers/cpuidle/driver.c | 25 + trunk/drivers/cpuidle/governors/menu.c | 8 +- trunk/drivers/cpuidle/sysfs.c | 2 +- trunk/drivers/devfreq/devfreq.c | 5 - trunk/drivers/devfreq/exynos4_bus.c | 94 +- trunk/drivers/dma/imx-dma.c | 5 +- trunk/drivers/dma/ioat/dma_v3.c | 2 +- trunk/drivers/dma/tegra20-apb-dma.c | 8 +- trunk/drivers/gpio/gpio-mvebu.c | 6 + trunk/drivers/gpio/gpio-samsung.c | 14 +- trunk/drivers/gpu/drm/drm_mm.c | 45 +- trunk/drivers/gpu/drm/i915/i915_debugfs.c | 3 - trunk/drivers/gpu/drm/i915/i915_drv.h | 3 - trunk/drivers/gpu/drm/i915/i915_gem.c | 25 +- .../gpu/drm/i915/i915_gem_execbuffer.c | 21 - trunk/drivers/gpu/drm/i915/i915_irq.c | 11 - trunk/drivers/gpu/drm/i915/i915_reg.h | 2 - trunk/drivers/gpu/drm/i915/intel_display.c | 33 +- trunk/drivers/gpu/drm/i915/intel_dp.c | 47 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 8 + trunk/drivers/gpu/drm/i915/intel_pm.c | 42 +- trunk/drivers/gpu/drm/i915/intel_sprite.c | 10 +- .../gpu/drm/nouveau/core/core/client.c | 4 +- .../gpu/drm/nouveau/core/core/handle.c | 5 +- .../gpu/drm/nouveau/core/engine/disp/nv50.c | 46 +- .../drm/nouveau/core/include/core/client.h | 3 - .../nouveau/core/include/subdev/bios/pll.h | 2 - .../gpu/drm/nouveau/core/subdev/bios/init.c | 1 + .../gpu/drm/nouveau/core/subdev/clock/nvc0.c | 2 - .../gpu/drm/nouveau/core/subdev/fb/nvc0.c | 6 +- .../drm/nouveau/core/subdev/instmem/base.c | 35 +- .../gpu/drm/nouveau/core/subdev/vm/base.c | 4 +- .../gpu/drm/nouveau/nouveau_connector.c | 30 +- .../drivers/gpu/drm/nouveau/nouveau_display.c | 9 + trunk/drivers/gpu/drm/nouveau/nouveau_drm.c | 7 +- trunk/drivers/gpu/drm/nouveau/nouveau_fence.h | 1 - trunk/drivers/gpu/drm/nouveau/nv04_dfp.c | 2 +- trunk/drivers/gpu/drm/nouveau/nv10_fence.c | 8 - trunk/drivers/gpu/drm/nouveau/nv50_fence.c | 1 - trunk/drivers/gpu/drm/radeon/evergreen.c | 6 - trunk/drivers/gpu/drm/radeon/ni.c | 6 - trunk/drivers/gpu/drm/radeon/r600.c | 6 - trunk/drivers/gpu/drm/radeon/r600_cs.c | 12 +- trunk/drivers/gpu/drm/radeon/radeon.h | 3 +- trunk/drivers/gpu/drm/radeon/radeon_cs.c | 9 +- trunk/drivers/gpu/drm/radeon/radeon_drv.c | 3 +- .../gpu/drm/radeon/radeon_legacy_encoders.c | 8 - trunk/drivers/gpu/drm/radeon/radeon_object.c | 18 +- trunk/drivers/gpu/drm/radeon/radeon_ring.c | 2 - .../drivers/gpu/drm/radeon/radeon_semaphore.c | 4 - trunk/drivers/gpu/drm/radeon/reg_srcs/rv515 | 2 - trunk/drivers/gpu/drm/radeon/si.c | 6 - trunk/drivers/gpu/drm/ttm/ttm_bo.c | 1 - trunk/drivers/gpu/drm/ttm/ttm_bo_util.c | 11 +- trunk/drivers/gpu/drm/udl/udl_connector.c | 17 +- trunk/drivers/hv/hv_balloon.c | 35 +- trunk/drivers/hwmon/vexpress.c | 1 - .../drivers/i2c/busses/i2c-designware-core.c | 4 - trunk/drivers/i2c/busses/i2c-mxs.c | 6 +- trunk/drivers/i2c/busses/i2c-omap.c | 6 +- trunk/drivers/i2c/busses/i2c-sirf.c | 4 - trunk/drivers/i2c/muxes/i2c-mux-pinctrl.c | 2 +- trunk/drivers/idle/intel_idle.c | 3 +- trunk/drivers/iio/accel/Kconfig | 1 - trunk/drivers/iio/adc/ad7266.c | 6 +- trunk/drivers/iio/adc/at91_adc.c | 2 +- trunk/drivers/iio/adc/max1363.c | 13 +- trunk/drivers/iio/common/hid-sensors/Kconfig | 13 +- trunk/drivers/iio/common/hid-sensors/Makefile | 3 +- trunk/drivers/iio/dac/ad5380.c | 6 +- trunk/drivers/iio/dac/ad5446.c | 6 +- trunk/drivers/iio/dac/ad5504.c | 6 +- trunk/drivers/iio/dac/ad5624r_spi.c | 6 +- trunk/drivers/iio/dac/ad5686.c | 6 +- trunk/drivers/iio/dac/ad5791.c | 13 +- trunk/drivers/iio/frequency/adf4350.c | 2 +- trunk/drivers/iio/gyro/Kconfig | 1 - trunk/drivers/iio/light/Kconfig | 1 - trunk/drivers/iio/magnetometer/Kconfig | 1 - trunk/drivers/irqchip/Kconfig | 27 - trunk/drivers/irqchip/Makefile | 6 +- trunk/drivers/irqchip/irqchip.c | 30 - trunk/drivers/irqchip/irqchip.h | 29 - trunk/drivers/irqchip/spear-shirq.c | 5 - trunk/drivers/media/i2c/m5mols/m5mols_core.c | 2 +- trunk/drivers/media/platform/coda.c | 2 +- .../media/platform/omap3isp/ispvideo.c | 3 + .../media/platform/s5p-fimc/fimc-mdevice.c | 2 +- .../drivers/media/platform/s5p-mfc/s5p_mfc.c | 88 +- trunk/drivers/media/usb/gspca/kinect.c | 1 - trunk/drivers/media/usb/gspca/sonixb.c | 13 +- trunk/drivers/media/usb/gspca/sonixj.c | 1 - trunk/drivers/media/usb/uvc/uvc_ctrl.c | 4 +- trunk/drivers/media/usb/uvc/uvc_v4l2.c | 6 +- .../drivers/media/v4l2-core/videobuf2-core.c | 4 +- trunk/drivers/mfd/Kconfig | 1 - trunk/drivers/mfd/db8500-prcmu.c | 2 +- trunk/drivers/mfd/vexpress-sysreg.c | 32 +- trunk/drivers/misc/atmel-ssc.c | 8 - trunk/drivers/misc/mei/amthif.c | 6 +- trunk/drivers/misc/ti-st/st_kim.c | 37 +- trunk/drivers/mmc/host/mvsdio.c | 92 +- trunk/drivers/net/ethernet/adi/Kconfig | 1 - .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 30 +- .../ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 +- .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 60 +- trunk/drivers/net/ethernet/emulex/benet/be.h | 1 - .../net/ethernet/emulex/benet/be_main.c | 29 +- .../net/ethernet/qlogic/qlge/qlge_main.c | 2 +- trunk/drivers/net/ethernet/xilinx/Kconfig | 2 +- .../net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- trunk/drivers/net/tun.c | 44 +- trunk/drivers/net/wireless/ath/Kconfig | 1 - trunk/drivers/net/wireless/ath/Makefile | 1 - .../drivers/net/wireless/ath/wil6210/Kconfig | 29 - .../drivers/net/wireless/ath/wil6210/Makefile | 13 - .../net/wireless/ath/wil6210/cfg80211.c | 573 --------- .../net/wireless/ath/wil6210/dbg_hexdump.h | 30 - .../net/wireless/ath/wil6210/debugfs.c | 603 --------- .../net/wireless/ath/wil6210/interrupt.c | 471 ------- trunk/drivers/net/wireless/ath/wil6210/main.c | 407 ------ .../drivers/net/wireless/ath/wil6210/netdev.c | 157 --- .../net/wireless/ath/wil6210/pcie_bus.c | 223 ---- trunk/drivers/net/wireless/ath/wil6210/txrx.c | 871 ------------- trunk/drivers/net/wireless/ath/wil6210/txrx.h | 362 ------ .../net/wireless/ath/wil6210/wil6210.h | 363 ------ trunk/drivers/net/wireless/ath/wil6210/wmi.c | 975 -------------- trunk/drivers/net/wireless/ath/wil6210/wmi.h | 1116 ----------------- trunk/drivers/net/wireless/b43/b43.h | 5 - trunk/drivers/net/wireless/b43/main.c | 54 +- trunk/drivers/net/wireless/b43/main.h | 5 +- .../drivers/net/wireless/iwlegacy/3945-mac.c | 2 +- trunk/drivers/net/wireless/iwlwifi/dvm/tx.c | 24 +- trunk/drivers/net/wireless/iwlwifi/pcie/rx.c | 1 - trunk/drivers/net/wireless/mwifiex/cfg80211.c | 2 +- .../drivers/net/wireless/mwifiex/sta_ioctl.c | 21 +- trunk/drivers/net/wireless/mwl8k.c | 4 +- .../wireless/rtlwifi/rtl8192c/phy_common.c | 2 +- .../net/wireless/rtlwifi/rtl8723ae/phy.c | 2 +- trunk/drivers/pci/hotplug/pciehp.h | 2 +- trunk/drivers/pci/hotplug/pciehp_core.c | 11 +- trunk/drivers/pci/hotplug/pciehp_ctrl.c | 8 +- trunk/drivers/pci/hotplug/pciehp_hpc.c | 11 +- trunk/drivers/pci/hotplug/shpchp.h | 3 +- trunk/drivers/pci/hotplug/shpchp_core.c | 36 +- trunk/drivers/pci/hotplug/shpchp_ctrl.c | 6 +- trunk/drivers/pci/iov.c | 2 +- trunk/drivers/pci/pcie/Kconfig | 2 +- trunk/drivers/pci/pcie/aer/aerdrv_core.c | 1 - trunk/drivers/pci/pcie/aspm.c | 3 - trunk/drivers/platform/x86/acer-wmi.c | 60 +- trunk/drivers/platform/x86/asus-laptop.c | 19 +- trunk/drivers/platform/x86/samsung-laptop.c | 10 - trunk/drivers/platform/x86/sony-laptop.c | 15 +- trunk/drivers/regulator/core.c | 15 +- trunk/drivers/regulator/max8997.c | 36 +- trunk/drivers/regulator/max8998.c | 44 +- trunk/drivers/regulator/s5m8767.c | 4 +- trunk/drivers/rtc/rtc-da9055.c | 2 +- trunk/drivers/s390/block/dasd_diag.c | 2 +- trunk/drivers/s390/block/dasd_eckd.c | 2 +- trunk/drivers/s390/block/dasd_fba.c | 2 +- trunk/drivers/s390/char/con3215.c | 8 +- trunk/drivers/s390/char/raw3270.c | 2 +- trunk/drivers/s390/char/sclp.c | 4 +- trunk/drivers/s390/char/tape_34xx.c | 2 +- trunk/drivers/s390/char/tape_3590.c | 2 +- trunk/drivers/s390/char/vmur.c | 2 +- trunk/drivers/s390/cio/chsc.c | 31 +- trunk/drivers/s390/cio/chsc_sch.c | 2 +- trunk/drivers/s390/cio/cio.c | 10 +- trunk/drivers/s390/cio/device.c | 12 +- trunk/drivers/s390/cio/device.h | 5 +- trunk/drivers/s390/cio/eadm_sch.c | 2 +- trunk/drivers/s390/cio/qdio_thinint.c | 2 +- trunk/drivers/s390/crypto/ap_bus.c | 2 +- trunk/drivers/s390/kvm/kvm_virtio.c | 2 +- trunk/drivers/s390/net/claw.c | 2 +- trunk/drivers/s390/net/ctcm_main.c | 2 +- trunk/drivers/s390/net/lcs.c | 2 +- trunk/drivers/sh/clk/cpg.c | 6 - trunk/drivers/staging/comedi/Kconfig | 1 - trunk/drivers/staging/comedi/comedi_fops.c | 3 - .../staging/comedi/drivers/comedi_test.c | 2 +- .../staging/comedi/drivers/ni_pcimio.c | 16 +- trunk/drivers/staging/fwserial/Kconfig | 4 +- trunk/drivers/staging/fwserial/TODO | 14 +- trunk/drivers/staging/fwserial/fwserial.c | 2 +- trunk/drivers/staging/fwserial/fwserial.h | 6 +- trunk/drivers/staging/iio/adc/mxs-lradc.c | 2 +- trunk/drivers/staging/iio/gyro/Kconfig | 4 +- .../drivers/staging/iio/gyro/adis16080_core.c | 2 +- trunk/drivers/staging/imx-drm/imx-drm-core.c | 1 + .../staging/imx-drm/ipu-v3/ipu-common.c | 5 +- trunk/drivers/staging/imx-drm/ipuv3-crtc.c | 6 +- trunk/drivers/staging/omapdrm/Makefile | 1 - trunk/drivers/staging/omapdrm/TODO | 3 + .../drivers/staging/omapdrm/omap_connector.c | 111 +- trunk/drivers/staging/omapdrm/omap_crtc.c | 507 +------- trunk/drivers/staging/omapdrm/omap_drv.c | 439 +++++-- trunk/drivers/staging/omapdrm/omap_drv.h | 140 +-- trunk/drivers/staging/omapdrm/omap_encoder.c | 132 +- .../drivers/staging/omapdrm/omap_gem_dmabuf.c | 2 +- trunk/drivers/staging/omapdrm/omap_irq.c | 322 ----- trunk/drivers/staging/omapdrm/omap_plane.c | 452 ++++--- trunk/drivers/staging/rtl8187se/r8180_core.c | 3 +- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 4 - .../staging/rtl8192e/rtl8192e/rtl_core.c | 11 +- trunk/drivers/staging/rtl8712/usb_intf.c | 2 - trunk/drivers/staging/sb105x/Kconfig | 1 - trunk/drivers/staging/sb105x/sb_pci_mp.c | 2 - trunk/drivers/staging/speakup/synth.c | 4 +- .../staging/tidspbridge/core/_tiomap.h | 2 +- .../staging/tidspbridge/core/dsp-clock.c | 13 +- trunk/drivers/staging/tidspbridge/core/wdt.c | 12 +- .../staging/vme/devices/vme_pio2_core.c | 14 +- trunk/drivers/staging/vt6656/bssdb.h | 1 + trunk/drivers/staging/vt6656/int.h | 1 + trunk/drivers/staging/vt6656/iocmd.h | 33 +- trunk/drivers/staging/vt6656/iowpa.h | 8 +- trunk/drivers/staging/wlan-ng/cfg80211.c | 7 +- trunk/drivers/staging/wlan-ng/prism2mgmt.c | 2 +- trunk/drivers/staging/zram/zram_drv.c | 39 +- .../drivers/target/iscsi/iscsi_target_erl2.c | 2 +- trunk/drivers/target/target_core_alua.c | 2 +- trunk/drivers/target/target_core_pr.c | 2 +- trunk/drivers/target/target_core_transport.c | 20 +- trunk/drivers/target/tcm_fc/tfc_sess.c | 12 +- trunk/drivers/tty/pty.c | 2 - trunk/drivers/tty/serial/8250/8250.c | 11 - trunk/drivers/tty/serial/8250/8250.h | 1 - trunk/drivers/tty/serial/8250/8250_dw.c | 2 +- trunk/drivers/tty/serial/8250/8250_pci.c | 42 +- trunk/drivers/tty/serial/ifx6x60.c | 4 +- trunk/drivers/tty/serial/mxs-auart.c | 6 +- trunk/drivers/tty/serial/samsung.c | 1 + trunk/drivers/tty/serial/vt8500_serial.c | 2 +- trunk/drivers/usb/Kconfig | 1 - trunk/drivers/usb/chipidea/host.c | 3 - trunk/drivers/usb/class/cdc-acm.c | 3 - trunk/drivers/usb/core/hub.c | 120 +- trunk/drivers/usb/core/quirks.c | 3 - trunk/drivers/usb/dwc3/debugfs.c | 2 +- trunk/drivers/usb/dwc3/gadget.c | 1 - trunk/drivers/usb/gadget/amd5536udc.c | 4 +- trunk/drivers/usb/gadget/dummy_hcd.c | 9 +- trunk/drivers/usb/gadget/f_fs.c | 6 +- trunk/drivers/usb/gadget/fsl_mxc_udc.c | 40 +- trunk/drivers/usb/gadget/fsl_udc_core.c | 42 +- trunk/drivers/usb/gadget/fsl_usb2_udc.h | 5 +- trunk/drivers/usb/gadget/mv_udc_core.c | 4 +- trunk/drivers/usb/gadget/s3c-hsotg.c | 5 +- trunk/drivers/usb/gadget/tcm_usb_gadget.c | 3 +- trunk/drivers/usb/gadget/u_serial.c | 2 +- trunk/drivers/usb/host/Kconfig | 2 +- trunk/drivers/usb/host/Makefile | 1 - trunk/drivers/usb/host/ehci-fsl.c | 9 +- trunk/drivers/usb/host/ehci-hcd.c | 12 +- trunk/drivers/usb/host/ehci-mv.c | 4 +- trunk/drivers/usb/host/ehci-mxc.c | 120 +- trunk/drivers/usb/host/ehci-pci.c | 39 +- trunk/drivers/usb/host/ehci.h | 7 - trunk/drivers/usb/host/fsl-mph-dr-of.c | 3 - trunk/drivers/usb/host/imx21-hcd.c | 1 - trunk/drivers/usb/host/ohci-tmio.c | 3 +- trunk/drivers/usb/host/uhci-hcd.c | 15 +- trunk/drivers/usb/host/xhci-hub.c | 38 +- trunk/drivers/usb/host/xhci-mem.c | 2 - trunk/drivers/usb/host/xhci-ring.c | 9 - trunk/drivers/usb/host/xhci.c | 10 - trunk/drivers/usb/misc/usbtest.c | 2 +- trunk/drivers/usb/musb/cppi_dma.c | 4 +- trunk/drivers/usb/musb/musb_core.c | 5 +- trunk/drivers/usb/musb/musb_dsps.c | 5 - trunk/drivers/usb/otg/Kconfig | 2 +- trunk/drivers/usb/otg/mv_otg.c | 4 +- trunk/drivers/usb/renesas_usbhs/mod_gadget.c | 22 +- trunk/drivers/usb/renesas_usbhs/mod_host.c | 3 +- trunk/drivers/usb/serial/ftdi_sio.c | 2 - trunk/drivers/usb/serial/ftdi_sio_ids.h | 6 - trunk/drivers/usb/serial/io_ti.c | 3 - trunk/drivers/usb/serial/option.c | 27 +- trunk/drivers/vfio/pci/vfio_pci_rdwr.c | 4 +- trunk/drivers/video/imxfb.c | 13 +- trunk/drivers/video/ssd1307fb.c | 4 +- trunk/drivers/xen/cpu_hotplug.c | 4 +- trunk/drivers/xen/gntdev.c | 130 +- trunk/drivers/xen/grant-table.c | 48 +- trunk/drivers/xen/privcmd.c | 89 +- trunk/drivers/xen/xen-pciback/pciback.h | 2 +- trunk/fs/Kconfig | 10 + trunk/fs/btrfs/extent-tree.c | 6 +- trunk/fs/btrfs/extent_map.c | 13 +- trunk/fs/btrfs/extent_map.h | 1 - trunk/fs/btrfs/file-item.c | 4 +- trunk/fs/btrfs/file.c | 10 +- trunk/fs/btrfs/free-space-cache.c | 20 +- trunk/fs/btrfs/inode.c | 137 +- trunk/fs/btrfs/ioctl.c | 129 +- trunk/fs/btrfs/qgroup.c | 20 +- trunk/fs/btrfs/send.c | 4 +- trunk/fs/btrfs/super.c | 2 +- trunk/fs/btrfs/transaction.c | 19 +- trunk/fs/btrfs/tree-log.c | 10 +- trunk/fs/btrfs/volumes.c | 23 +- trunk/fs/buffer.c | 1 - trunk/fs/cifs/cifs_dfs_ref.c | 2 - trunk/fs/cifs/connect.c | 2 +- trunk/fs/debugfs/inode.c | 2 +- trunk/fs/exec.c | 3 +- trunk/fs/f2fs/acl.c | 13 +- trunk/fs/f2fs/checkpoint.c | 3 +- trunk/fs/f2fs/data.c | 17 +- trunk/fs/f2fs/debug.c | 50 +- trunk/fs/f2fs/dir.c | 2 +- trunk/fs/f2fs/f2fs.h | 18 +- trunk/fs/f2fs/file.c | 16 +- trunk/fs/f2fs/gc.c | 68 +- trunk/fs/f2fs/inode.c | 3 - trunk/fs/f2fs/node.c | 19 +- trunk/fs/f2fs/recovery.c | 10 +- trunk/fs/f2fs/segment.c | 2 +- trunk/fs/f2fs/super.c | 97 +- trunk/fs/f2fs/xattr.c | 2 - trunk/fs/fuse/Kconfig | 16 +- trunk/fs/fuse/cuse.c | 36 +- trunk/fs/fuse/dev.c | 5 + trunk/fs/fuse/file.c | 5 +- trunk/fs/jbd/journal.c | 3 +- trunk/fs/seq_file.c | 2 +- trunk/fs/udf/super.c | 3 +- trunk/fs/xfs/xfs_buf.c | 12 +- trunk/fs/xfs/xfs_buf.h | 6 +- trunk/fs/xfs/xfs_buf_item.c | 49 +- trunk/fs/xfs/xfs_buf_item.h | 2 +- trunk/fs/xfs/xfs_dir2_block.c | 6 +- trunk/fs/xfs/xfs_qm_syscalls.c | 4 +- trunk/fs/xfs/xfs_trans_buf.c | 27 +- .../include/asm-generic/dma-mapping-broken.h | 16 - trunk/include/asm-generic/pgtable.h | 6 +- trunk/include/asm-generic/syscalls.h | 2 - trunk/include/asm-generic/vmlinux.lds.h | 13 +- trunk/include/drm/drm_mm.h | 2 +- trunk/include/linux/ata.h | 8 +- trunk/include/linux/audit.h | 4 +- trunk/include/linux/compaction.h | 4 +- trunk/include/linux/cpu_rmap.h | 13 +- trunk/include/linux/cpuidle.h | 2 +- trunk/include/linux/init.h | 20 + trunk/include/linux/interrupt.h | 5 + trunk/include/linux/irqchip.h | 16 - trunk/include/linux/libata.h | 4 +- trunk/include/linux/lockdep.h | 3 - trunk/include/linux/mm.h | 1 + trunk/include/linux/module.h | 10 +- trunk/include/linux/netdevice.h | 3 - trunk/include/linux/ptrace.h | 1 + trunk/include/linux/rbtree_augmented.h | 14 +- trunk/include/linux/rwsem.h | 9 - trunk/include/linux/sched.h | 12 +- trunk/include/sound/cs4271.h | 2 +- trunk/include/sound/soc.h | 10 +- trunk/include/target/target_core_base.h | 1 - trunk/include/uapi/linux/audit.h | 2 +- trunk/include/uapi/linux/serial_core.h | 3 +- trunk/init/Kconfig | 2 +- trunk/init/do_mounts_initrd.c | 4 - trunk/init/main.c | 4 +- trunk/kernel/async.c | 30 +- trunk/kernel/audit.c | 40 +- trunk/kernel/audit_tree.c | 26 +- trunk/kernel/audit_watch.c | 2 - trunk/kernel/auditfilter.c | 1 + trunk/kernel/auditsc.c | 20 +- trunk/kernel/compat.c | 23 +- trunk/kernel/debug/kdb/kdb_main.c | 2 - trunk/kernel/fork.c | 6 +- trunk/kernel/module.c | 181 +-- trunk/kernel/ptrace.c | 74 +- trunk/kernel/rwsem.c | 10 - trunk/kernel/sched/core.c | 3 +- trunk/kernel/signal.c | 24 +- trunk/kernel/time/clockevents.c | 1 - trunk/kernel/trace/ftrace.c | 2 +- trunk/kernel/trace/trace.c | 17 +- trunk/lib/bug.c | 1 - trunk/lib/cpu_rmap.c | 54 +- trunk/lib/rbtree.c | 20 +- trunk/mm/bootmem.c | 24 +- trunk/mm/compaction.c | 98 +- trunk/mm/huge_memory.c | 15 +- trunk/mm/internal.h | 1 + trunk/mm/memblock.c | 3 +- trunk/mm/migrate.c | 14 +- trunk/mm/mmap.c | 2 +- trunk/mm/page_alloc.c | 37 +- trunk/net/core/dev.c | 8 - trunk/net/ipv4/ip_sockglue.c | 2 +- trunk/net/ipv4/tcp.c | 15 +- trunk/net/ipv4/tcp_input.c | 4 +- trunk/net/ipv6/addrconf.c | 27 +- trunk/net/iucv/iucv.c | 2 +- trunk/net/mac80211/cfg.c | 2 - trunk/net/mac80211/chan.c | 38 - trunk/net/mac80211/ibss.c | 9 +- trunk/net/mac80211/ieee80211_i.h | 16 +- trunk/net/mac80211/iface.c | 48 +- trunk/net/mac80211/mesh.c | 8 +- trunk/net/mac80211/mesh.h | 2 +- trunk/net/mac80211/mlme.c | 75 +- trunk/net/mac80211/scan.c | 46 +- trunk/net/mac80211/sta_info.c | 46 +- trunk/net/mac80211/sta_info.h | 3 +- trunk/net/sunrpc/clnt.c | 2 +- trunk/net/sunrpc/sched.c | 3 +- trunk/net/sunrpc/xprt.c | 12 +- trunk/net/wireless/core.c | 3 +- trunk/security/device_cgroup.c | 2 - trunk/security/integrity/evm/evm_crypto.c | 4 +- trunk/sound/arm/pxa2xx-ac97-lib.c | 26 +- trunk/sound/pci/hda/hda_codec.c | 5 +- trunk/sound/pci/hda/hda_intel.c | 13 +- trunk/sound/pci/hda/patch_conexant.c | 25 +- trunk/sound/pci/hda/patch_hdmi.c | 2 +- trunk/sound/pci/hda/patch_realtek.c | 26 +- trunk/sound/pci/rme9652/hdspm.c | 17 +- trunk/sound/soc/codecs/arizona.c | 9 +- trunk/sound/soc/codecs/arizona.h | 18 +- trunk/sound/soc/codecs/cs4271.c | 6 +- trunk/sound/soc/codecs/cs42l52.c | 4 +- trunk/sound/soc/codecs/lm49453.c | 106 +- trunk/sound/soc/codecs/sgtl5000.c | 4 +- trunk/sound/soc/codecs/sta529.c | 9 +- trunk/sound/soc/codecs/wm2000.c | 4 +- trunk/sound/soc/codecs/wm2200.c | 8 +- trunk/sound/soc/codecs/wm5100.c | 6 + trunk/sound/soc/codecs/wm5102.c | 48 +- trunk/sound/soc/codecs/wm_adsp.c | 23 +- trunk/sound/soc/soc-core.c | 35 +- trunk/sound/soc/soc-pcm.c | 1 - trunk/sound/usb/mixer_maps.c | 13 - trunk/sound/usb/mixer_quirks.c | 2 +- trunk/sound/usb/pcm.c | 10 - trunk/sound/usb/quirks-table.h | 4 +- trunk/sound/usb/quirks.c | 19 +- trunk/tools/perf/MANIFEST | 10 - trunk/tools/perf/Makefile | 2 +- 797 files changed, 6302 insertions(+), 12555 deletions(-) rename trunk/{drivers/irqchip/irq-gic.c => arch/arm/common/gic.c} (97%) rename trunk/{drivers/irqchip/irq-vic.c => arch/arm/common/vic.c} (92%) rename trunk/{include/linux/irqchip/arm-gic.h => arch/arm/include/asm/hardware/gic.h} (77%) rename trunk/{include/linux/irqchip/arm-vic.h => arch/arm/include/asm/hardware/vic.h} (63%) create mode 100644 trunk/arch/arm/mach-imx/devices-imx50.h create mode 100644 trunk/arch/arm/mach-imx/iomux-mx50.h rename trunk/{include/linux/platform_data/imx-iram.h => arch/arm/mach-imx/iram.h} (100%) create mode 100644 trunk/arch/arm/mach-imx/lluart.c create mode 100644 trunk/arch/arm/mach-imx/mach-mx50_rdp.c create mode 100644 trunk/arch/arm/mach-imx/mach-mx51_3ds.c create mode 100644 trunk/arch/arm/mach-imx/mx50.h create mode 100644 trunk/arch/arm/mach-s5p64x0/include/mach/tick.h create mode 100644 trunk/arch/arm/mach-s5pv210/include/mach/tick.h rename trunk/{drivers/clocksource/vt8500_timer.c => arch/arm/mach-vt8500/timer.c} (93%) delete mode 100644 trunk/drivers/irqchip/irqchip.c delete mode 100644 trunk/drivers/irqchip/irqchip.h delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/Kconfig delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/Makefile delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/cfg80211.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/dbg_hexdump.h delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/debugfs.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/interrupt.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/main.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/netdev.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/pcie_bus.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/txrx.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/txrx.h delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/wil6210.h delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/wmi.c delete mode 100644 trunk/drivers/net/wireless/ath/wil6210/wmi.h delete mode 100644 trunk/drivers/staging/omapdrm/omap_irq.c delete mode 100644 trunk/include/linux/irqchip.h diff --git a/[refs] b/[refs] index 3ff9e1a8dde1..3b7669f43ecb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c1353ef200fcc222f3b76b78a44ebb8f16e75ea6 +refs/heads/master: b2fc382aad0a8f52803acdc3ac4e5540dbcdf1f6 diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt b/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt index bc50899e0c81..3a268127b054 100644 --- a/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt +++ b/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt @@ -81,8 +81,7 @@ PA31 TXD4 Required properties for pin configuration node: - atmel,pins: 4 integers array, represents a group of pins mux and config setting. The format is atmel,pins = . - The PERIPH 0 means gpio, PERIPH 1 is periph A, PERIPH 2 is periph B... - PIN_BANK 0 is pioA, PIN_BANK 1 is pioB... + The PERIPH 0 means gpio. Bits used for CONFIG: PULL_UP (1 << 0): indicate this pin need a pull up. @@ -127,7 +126,7 @@ pinctrl@fffff400 { pinctrl_dbgu: dbgu-0 { atmel,pins = <1 14 0x1 0x0 /* PB14 periph A */ - 1 15 0x1 0x1>; /* PB15 periph A with pullup */ + 1 15 0x1 0x1>; /* PB15 periph with pullup */ }; }; }; diff --git a/trunk/Documentation/filesystems/f2fs.txt b/trunk/Documentation/filesystems/f2fs.txt index dcf338e62b71..8fbd8b46ee34 100644 --- a/trunk/Documentation/filesystems/f2fs.txt +++ b/trunk/Documentation/filesystems/f2fs.txt @@ -175,9 +175,9 @@ consists of multiple segments as described below. align with the zone size <-| |-> align with the segment size _________________________________________________________________________ - | | | Segment | Node | Segment | | - | Superblock | Checkpoint | Info. | Address | Summary | Main | - | (SB) | (CP) | Table (SIT) | Table (NAT) | Area (SSA) | | + | | | Node | Segment | Segment | | + | Superblock | Checkpoint | Address | Info. | Summary | Main | + | (SB) | (CP) | Table (NAT) | Table (SIT) | Area (SSA) | | |____________|_____2______|______N______|______N______|______N_____|__N___| . . . . @@ -200,14 +200,14 @@ consists of multiple segments as described below. : It contains file system information, bitmaps for valid NAT/SIT sets, orphan inode lists, and summary entries of current active segments. -- Segment Information Table (SIT) - : It contains segment information such as valid block count and bitmap for the - validity of all the blocks. - - Node Address Table (NAT) : It is composed of a block address table for all the node blocks stored in Main area. +- Segment Information Table (SIT) + : It contains segment information such as valid block count and bitmap for the + validity of all the blocks. + - Segment Summary Area (SSA) : It contains summary entries which contains the owner information of all the data and node blocks stored in Main area. @@ -236,13 +236,13 @@ For file system consistency, each CP points to which NAT and SIT copies are valid, as shown as below. +--------+----------+---------+ - | CP | SIT | NAT | + | CP | NAT | SIT | +--------+----------+---------+ . . . . . . . . . . . . +-------+-------+--------+--------+--------+--------+ - | CP #0 | CP #1 | SIT #0 | SIT #1 | NAT #0 | NAT #1 | + | CP #0 | CP #1 | NAT #0 | NAT #1 | SIT #0 | SIT #1 | +-------+-------+--------+--------+--------+--------+ | ^ ^ | | | diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index fd9959c174e8..915564eda145 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -228,7 +228,7 @@ S: Maintained F: drivers/platform/x86/acerhdf.c ACER WMI LAPTOP EXTRAS -M: "Lee, Chun-Yi" +M: Joey Lee L: platform-driver-x86@vger.kernel.org S: Maintained F: drivers/platform/x86/acer-wmi.c @@ -648,7 +648,7 @@ F: arch/arm/ ARM SUB-ARCHITECTURES L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Maintained +S: MAINTAINED F: arch/arm/mach-*/ F: arch/arm/plat-*/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git @@ -1351,14 +1351,6 @@ W: http://wireless.kernel.org/en/users/Drivers/ath9k S: Supported F: drivers/net/wireless/ath/ath9k/ -WILOCITY WIL6210 WIRELESS DRIVER -M: Vladimir Kondratiev -L: linux-wireless@vger.kernel.org -L: wil6210@qca.qualcomm.com -S: Supported -W: http://wireless.kernel.org/en/users/Drivers/wil6210 -F: drivers/net/wireless/ath/wil6210/ - CARL9170 LINUX COMMUNITY WIRELESS DRIVER M: Christian Lamparter L: linux-wireless@vger.kernel.org @@ -1972,9 +1964,9 @@ S: Maintained F: drivers/usb/host/ohci-ep93xx.c CIRRUS LOGIC CS4270 SOUND DRIVER -M: Timur Tabi +M: Timur Tabi L: alsa-devel@alsa-project.org (moderated for non-subscribers) -S: Odd Fixes +S: Supported F: sound/soc/codecs/cs4270* CLEANCACHE API @@ -3191,9 +3183,9 @@ F: include/uapi/video/ F: include/uapi/linux/fb.h FREESCALE DIU FRAMEBUFFER DRIVER -M: Timur Tabi +M: Timur Tabi L: linux-fbdev@vger.kernel.org -S: Maintained +S: Supported F: drivers/video/fsl-diu-fb.* FREESCALE DMA DRIVER @@ -3228,8 +3220,9 @@ F: drivers/net/ethernet/freescale/fs_enet/ F: include/linux/fs_enet_pd.h FREESCALE QUICC ENGINE LIBRARY +M: Timur Tabi L: linuxppc-dev@lists.ozlabs.org -S: Orphan +S: Supported F: arch/powerpc/sysdev/qe_lib/ F: arch/powerpc/include/asm/*qe.h @@ -3248,16 +3241,16 @@ S: Maintained F: drivers/net/ethernet/freescale/ucc_geth* FREESCALE QUICC ENGINE UCC UART DRIVER -M: Timur Tabi +M: Timur Tabi L: linuxppc-dev@lists.ozlabs.org -S: Maintained +S: Supported F: drivers/tty/serial/ucc_uart.c FREESCALE SOC SOUND DRIVERS -M: Timur Tabi +M: Timur Tabi L: alsa-devel@alsa-project.org (moderated for non-subscribers) L: linuxppc-dev@lists.ozlabs.org -S: Maintained +S: Supported F: sound/soc/fsl/fsl* F: sound/soc/fsl/mpc8610_hpcd.c @@ -4216,7 +4209,6 @@ M: Thomas Gleixner S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core F: kernel/irq/ -F: drivers/irqchip/ IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY) M: Benjamin Herrenschmidt @@ -5085,7 +5077,7 @@ S: Maintained F: drivers/media/radio/radio-mr800.c MSI LAPTOP SUPPORT -M: "Lee, Chun-Yi" +M: "Lee, Chun-Yi" L: platform-driver-x86@vger.kernel.org S: Maintained F: drivers/platform/x86/msi-laptop.c @@ -5515,7 +5507,8 @@ M: Benoît Cousson M: Paul Walmsley L: linux-omap@vger.kernel.org S: Maintained -F: arch/arm/mach-omap2/omap_hwmod.* +F: arch/arm/mach-omap2/omap_hwmod.c +F: arch/arm/plat-omap/include/plat/omap_hwmod.h OMAP HWMOD DATA FOR OMAP4-BASED DEVICES M: Benoît Cousson @@ -6586,7 +6579,7 @@ F: drivers/media/platform/s3c-camif/ F: include/media/s3c_camif.h SERIAL DRIVERS -M: Greg Kroah-Hartman +M: Alan Cox L: linux-serial@vger.kernel.org S: Maintained F: drivers/tty/serial @@ -7341,7 +7334,7 @@ S: Odd Fixes F: drivers/staging/speakup/ STAGING - TI DSP BRIDGE DRIVERS -M: Omar Ramirez Luna +M: Omar Ramirez Luna S: Odd Fixes F: drivers/staging/tidspbridge/ @@ -8533,7 +8526,7 @@ F: Documentation/x86/ F: arch/x86/ X86 PLATFORM DRIVERS -M: Matthew Garrett +M: Matthew Garrett L: platform-driver-x86@vger.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git S: Maintained diff --git a/trunk/Makefile b/trunk/Makefile index 2d3c92c774fb..a1667c4bcce5 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 8 SUBLEVEL = 0 -EXTRAVERSION = -rc5 +EXTRAVERSION = -rc3 NAME = Terrified Chipmunk # *DOCUMENTATION* @@ -169,7 +169,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ -e s/arm.*/arm/ -e s/sa110/arm/ \ -e s/s390x/s390/ -e s/parisc64/parisc/ \ -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ - -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ ) + -e s/sh[234].*/sh/ ) # Cross compiling and selecting different set of gcc/bin-utils # --------------------------------------------------------------------------- diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index c217521bc1e1..67874b82a4ed 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -347,6 +347,7 @@ config ARCH_BCM2835 select COMMON_CLK select CPU_V6 select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select MULTI_IRQ_HANDLER select PINCTRL select PINCTRL_BCM2835 @@ -643,6 +644,7 @@ config ARCH_TEGRA select CLKSRC_MMIO select COMMON_CLK select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select HAVE_CLK select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 @@ -742,6 +744,7 @@ config ARCH_S3C24XX select ARCH_HAS_CPUFREQ select ARCH_USES_GETTIMEOFFSET select CLKDEV_LOOKUP + select GENERIC_GPIO select HAVE_CLK select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG @@ -784,6 +787,7 @@ config ARCH_S5P64X0 select CLKSRC_MMIO select CPU_V6 select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select HAVE_CLK select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG @@ -798,6 +802,7 @@ config ARCH_S5PC100 select ARCH_USES_GETTIMEOFFSET select CLKDEV_LOOKUP select CPU_V7 + select GENERIC_GPIO select HAVE_CLK select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG @@ -815,6 +820,7 @@ config ARCH_S5PV210 select CLKSRC_MMIO select CPU_V7 select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select HAVE_CLK select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG @@ -832,6 +838,7 @@ config ARCH_EXYNOS select CLKDEV_LOOKUP select CPU_V7 select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select HAVE_CLK select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG @@ -866,6 +873,7 @@ config ARCH_U300 select COMMON_CLK select CPU_ARM926T select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select HAVE_TCM select SPARSE_IRQ help @@ -949,6 +957,7 @@ config ARCH_VT8500_SINGLE select COMMON_CLK select CPU_ARM926T select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select HAVE_CLK select MULTI_IRQ_HANDLER select SPARSE_IRQ diff --git a/trunk/arch/arm/Kconfig.debug b/trunk/arch/arm/Kconfig.debug index 1dceb8e31618..661030d6bc6c 100644 --- a/trunk/arch/arm/Kconfig.debug +++ b/trunk/arch/arm/Kconfig.debug @@ -219,12 +219,12 @@ choice Say Y here if you want kernel low-level debugging support on i.MX51. - config DEBUG_IMX53_UART - bool "i.MX53 Debug UART" - depends on SOC_IMX53 + config DEBUG_IMX50_IMX53_UART + bool "i.MX50 and i.MX53 Debug UART" + depends on SOC_IMX50 || SOC_IMX53 help Say Y here if you want kernel low-level debugging support - on i.MX53. + on i.MX50 or i.MX53. config DEBUG_IMX6Q_UART bool "i.MX6Q Debug UART" @@ -497,7 +497,7 @@ config DEBUG_LL_INCLUDE DEBUG_IMX21_IMX27_UART || \ DEBUG_IMX31_IMX35_UART || \ DEBUG_IMX51_UART || \ - DEBUG_IMX53_UART ||\ + DEBUG_IMX50_IMX53_UART ||\ DEBUG_IMX6Q_UART default "debug/highbank.S" if DEBUG_HIGHBANK_UART default "debug/mvebu.S" if DEBUG_MVEBU_UART diff --git a/trunk/arch/arm/boot/dts/Makefile b/trunk/arch/arm/boot/dts/Makefile index 5ebb44fe826a..e44da40d984f 100644 --- a/trunk/arch/arm/boot/dts/Makefile +++ b/trunk/arch/arm/boot/dts/Makefile @@ -155,7 +155,6 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb targets += dtbs -targets += $(dtb-y) endif # *.dtb used to be generated in the directory above. Clean out the diff --git a/trunk/arch/arm/boot/dts/armada-370-db.dts b/trunk/arch/arm/boot/dts/armada-370-db.dts index 9b82facb2561..00044026ef1f 100644 --- a/trunk/arch/arm/boot/dts/armada-370-db.dts +++ b/trunk/arch/arm/boot/dts/armada-370-db.dts @@ -26,7 +26,7 @@ memory { device_type = "memory"; - reg = <0x00000000 0x40000000>; /* 1 GB */ + reg = <0x00000000 0x20000000>; /* 512 MB */ }; soc { diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi index e041f42ed711..271855a6e224 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi @@ -50,25 +50,27 @@ }; gpio0: gpio@d0018100 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018100 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018100 0x40>, + <0xd0018800 0x30>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <82>, <83>, <84>, <85>; + interrupts = <16>, <17>, <18>, <19>; }; gpio1: gpio@d0018140 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018140 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018140 0x40>, + <0xd0018840 0x30>; ngpios = <17>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <87>, <88>, <89>; + interrupts = <20>, <21>, <22>; }; }; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi index 9e23bd8c9536..1c1937dbce73 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi @@ -51,36 +51,39 @@ }; gpio0: gpio@d0018100 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018100 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018100 0x40>, + <0xd0018800 0x30>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <82>, <83>, <84>, <85>; + interrupts = <16>, <17>, <18>, <19>; }; gpio1: gpio@d0018140 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018140 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018140 0x40>, + <0xd0018840 0x30>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <87>, <88>, <89>, <90>; + interrupts = <20>, <21>, <22>, <23>; }; gpio2: gpio@d0018180 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018180 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018180 0x40>, + <0xd0018870 0x30>; ngpios = <3>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <91>; + interrupts = <24>; }; ethernet@d0034000 { diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi index 965966110e38..4905cf3a5ef8 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi @@ -66,36 +66,39 @@ }; gpio0: gpio@d0018100 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018100 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018100 0x40>, + <0xd0018800 0x30>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <82>, <83>, <84>, <85>; + interrupts = <16>, <17>, <18>, <19>; }; gpio1: gpio@d0018140 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018140 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018140 0x40>, + <0xd0018840 0x30>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <87>, <88>, <89>, <90>; + interrupts = <20>, <21>, <22>, <23>; }; gpio2: gpio@d0018180 { - compatible = "marvell,orion-gpio"; - reg = <0xd0018180 0x40>; + compatible = "marvell,armadaxp-gpio"; + reg = <0xd0018180 0x40>, + <0xd0018870 0x30>; ngpios = <3>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <91>; + interrupts = <24>; }; ethernet@d0034000 { diff --git a/trunk/arch/arm/boot/dts/at91rm9200.dtsi b/trunk/arch/arm/boot/dts/at91rm9200.dtsi index 222047f1ece9..e154f242c680 100644 --- a/trunk/arch/arm/boot/dts/at91rm9200.dtsi +++ b/trunk/arch/arm/boot/dts/at91rm9200.dtsi @@ -336,8 +336,8 @@ i2c@0 { compatible = "i2c-gpio"; - gpios = <&pioA 25 0 /* sda */ - &pioA 26 0 /* scl */ + gpios = <&pioA 23 0 /* sda */ + &pioA 24 0 /* scl */ >; i2c-gpio,sda-open-drain; i2c-gpio,scl-open-drain; diff --git a/trunk/arch/arm/boot/dts/at91sam9260.dtsi b/trunk/arch/arm/boot/dts/at91sam9260.dtsi index cb7bcc51608d..68bccf41a2c6 100644 --- a/trunk/arch/arm/boot/dts/at91sam9260.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9260.dtsi @@ -306,22 +306,6 @@ }; }; - ssc0 { - pinctrl_ssc0_tx: ssc0_tx-0 { - atmel,pins = - <1 16 0x1 0x0 /* PB16 periph A */ - 1 17 0x1 0x0 /* PB17 periph A */ - 1 18 0x1 0x0>; /* PB18 periph A */ - }; - - pinctrl_ssc0_rx: ssc0_rx-0 { - atmel,pins = - <1 19 0x1 0x0 /* PB19 periph A */ - 1 20 0x1 0x0 /* PB20 periph A */ - 1 21 0x1 0x0>; /* PB21 periph A */ - }; - }; - pioA: gpio@fffff400 { compatible = "atmel,at91rm9200-gpio"; reg = <0xfffff400 0x200>; @@ -466,8 +450,6 @@ compatible = "atmel,at91rm9200-ssc"; reg = <0xfffbc000 0x4000>; interrupts = <14 4 5>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/at91sam9263.dtsi b/trunk/arch/arm/boot/dts/at91sam9263.dtsi index 271d4de026e9..32ec62cf5385 100644 --- a/trunk/arch/arm/boot/dts/at91sam9263.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9263.dtsi @@ -271,38 +271,6 @@ }; }; - ssc0 { - pinctrl_ssc0_tx: ssc0_tx-0 { - atmel,pins = - <1 0 0x2 0x0 /* PB0 periph B */ - 1 1 0x2 0x0 /* PB1 periph B */ - 1 2 0x2 0x0>; /* PB2 periph B */ - }; - - pinctrl_ssc0_rx: ssc0_rx-0 { - atmel,pins = - <1 3 0x2 0x0 /* PB3 periph B */ - 1 4 0x2 0x0 /* PB4 periph B */ - 1 5 0x2 0x0>; /* PB5 periph B */ - }; - }; - - ssc1 { - pinctrl_ssc1_tx: ssc1_tx-0 { - atmel,pins = - <1 6 0x1 0x0 /* PB6 periph A */ - 1 7 0x1 0x0 /* PB7 periph A */ - 1 8 0x1 0x0>; /* PB8 periph A */ - }; - - pinctrl_ssc1_rx: ssc1_rx-0 { - atmel,pins = - <1 9 0x1 0x0 /* PB9 periph A */ - 1 10 0x1 0x0 /* PB10 periph A */ - 1 11 0x1 0x0>; /* PB11 periph A */ - }; - }; - pioA: gpio@fffff200 { compatible = "atmel,at91rm9200-gpio"; reg = <0xfffff200 0x200>; @@ -400,8 +368,6 @@ compatible = "atmel,at91rm9200-ssc"; reg = <0xfff98000 0x4000>; interrupts = <16 4 5>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; status = "disabled"; }; @@ -409,8 +375,6 @@ compatible = "atmel,at91rm9200-ssc"; reg = <0xfff9c000 0x4000>; interrupts = <17 4 5>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi index 6b1d4cab24c2..231858ffd850 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi @@ -290,38 +290,6 @@ }; }; - ssc0 { - pinctrl_ssc0_tx: ssc0_tx-0 { - atmel,pins = - <3 0 0x1 0x0 /* PD0 periph A */ - 3 1 0x1 0x0 /* PD1 periph A */ - 3 2 0x1 0x0>; /* PD2 periph A */ - }; - - pinctrl_ssc0_rx: ssc0_rx-0 { - atmel,pins = - <3 3 0x1 0x0 /* PD3 periph A */ - 3 4 0x1 0x0 /* PD4 periph A */ - 3 5 0x1 0x0>; /* PD5 periph A */ - }; - }; - - ssc1 { - pinctrl_ssc1_tx: ssc1_tx-0 { - atmel,pins = - <3 10 0x1 0x0 /* PD10 periph A */ - 3 11 0x1 0x0 /* PD11 periph A */ - 3 12 0x1 0x0>; /* PD12 periph A */ - }; - - pinctrl_ssc1_rx: ssc1_rx-0 { - atmel,pins = - <3 13 0x1 0x0 /* PD13 periph A */ - 3 14 0x1 0x0 /* PD14 periph A */ - 3 15 0x1 0x0>; /* PD15 periph A */ - }; - }; - pioA: gpio@fffff200 { compatible = "atmel,at91rm9200-gpio"; reg = <0xfffff200 0x200>; @@ -457,8 +425,6 @@ compatible = "atmel,at91sam9g45-ssc"; reg = <0xfff9c000 0x4000>; interrupts = <16 4 5>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; status = "disabled"; }; @@ -466,8 +432,6 @@ compatible = "atmel,at91sam9g45-ssc"; reg = <0xfffa0000 0x4000>; interrupts = <17 4 5>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi index 80e29c605d4e..e9efb34f4379 100644 --- a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi @@ -28,7 +28,6 @@ tcb1 = &tcb1; i2c0 = &i2c0; i2c1 = &i2c1; - ssc0 = &ssc0; }; cpus { cpu@0 { @@ -245,22 +244,6 @@ }; }; - ssc0 { - pinctrl_ssc0_tx: ssc0_tx-0 { - atmel,pins = - <0 24 0x2 0x0 /* PA24 periph B */ - 0 25 0x2 0x0 /* PA25 periph B */ - 0 26 0x2 0x0>; /* PA26 periph B */ - }; - - pinctrl_ssc0_rx: ssc0_rx-0 { - atmel,pins = - <0 27 0x2 0x0 /* PA27 periph B */ - 0 28 0x2 0x0 /* PA28 periph B */ - 0 29 0x2 0x0>; /* PA29 periph B */ - }; - }; - pioA: gpio@fffff400 { compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; reg = <0xfffff400 0x200>; @@ -311,15 +294,6 @@ status = "disabled"; }; - ssc0: ssc@f0010000 { - compatible = "atmel,at91sam9g45-ssc"; - reg = <0xf0010000 0x4000>; - interrupts = <28 4 5>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; - status = "disabled"; - }; - usart0: serial@f801c000 { compatible = "atmel,at91sam9260-usart"; reg = <0xf801c000 0x4000>; diff --git a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi index 8ecca6948d81..40ac3a4eb1ab 100644 --- a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi @@ -88,6 +88,13 @@ interrupts = <1 4 7>; }; + ssc0: ssc@f0010000 { + compatible = "atmel,at91sam9g45-ssc"; + reg = <0xf0010000 0x4000>; + interrupts = <28 4 5>; + status = "disabled"; + }; + tcb0: timer@f8008000 { compatible = "atmel,at91sam9x5-tcb"; reg = <0xf8008000 0x100>; @@ -143,11 +150,6 @@ atmel,pins = <0 3 0x1 0x0>; /* PA3 periph A */ }; - - pinctrl_usart0_sck: usart0_sck-0 { - atmel,pins = - <0 4 0x1 0x0>; /* PA4 periph A */ - }; }; usart1 { @@ -159,17 +161,12 @@ pinctrl_usart1_rts: usart1_rts-0 { atmel,pins = - <2 27 0x3 0x0>; /* PC27 periph C */ + <3 27 0x3 0x0>; /* PC27 periph C */ }; pinctrl_usart1_cts: usart1_cts-0 { atmel,pins = - <2 28 0x3 0x0>; /* PC28 periph C */ - }; - - pinctrl_usart1_sck: usart1_sck-0 { - atmel,pins = - <2 28 0x3 0x0>; /* PC29 periph C */ + <3 28 0x3 0x0>; /* PC28 periph C */ }; }; @@ -182,56 +179,46 @@ pinctrl_uart2_rts: uart2_rts-0 { atmel,pins = - <1 0 0x2 0x0>; /* PB0 periph B */ + <0 0 0x2 0x0>; /* PB0 periph B */ }; pinctrl_uart2_cts: uart2_cts-0 { atmel,pins = - <1 1 0x2 0x0>; /* PB1 periph B */ - }; - - pinctrl_usart2_sck: usart2_sck-0 { - atmel,pins = - <1 2 0x2 0x0>; /* PB2 periph B */ + <0 1 0x2 0x0>; /* PB1 periph B */ }; }; usart3 { pinctrl_uart3: usart3-0 { atmel,pins = - <2 23 0x2 0x1 /* PC22 periph B with pullup */ - 2 23 0x2 0x0>; /* PC23 periph B */ + <3 23 0x2 0x1 /* PC22 periph B with pullup */ + 3 23 0x2 0x0>; /* PC23 periph B */ }; pinctrl_usart3_rts: usart3_rts-0 { atmel,pins = - <2 24 0x2 0x0>; /* PC24 periph B */ + <3 24 0x2 0x0>; /* PC24 periph B */ }; pinctrl_usart3_cts: usart3_cts-0 { atmel,pins = - <2 25 0x2 0x0>; /* PC25 periph B */ - }; - - pinctrl_usart3_sck: usart3_sck-0 { - atmel,pins = - <2 26 0x2 0x0>; /* PC26 periph B */ + <3 25 0x2 0x0>; /* PC25 periph B */ }; }; uart0 { pinctrl_uart0: uart0-0 { atmel,pins = - <2 8 0x3 0x0 /* PC8 periph C */ - 2 9 0x3 0x1>; /* PC9 periph C with pullup */ + <3 8 0x3 0x0 /* PC8 periph C */ + 3 9 0x3 0x1>; /* PC9 periph C with pullup */ }; }; uart1 { pinctrl_uart1: uart1-0 { atmel,pins = - <2 16 0x3 0x0 /* PC16 periph C */ - 2 17 0x3 0x1>; /* PC17 periph C with pullup */ + <3 16 0x3 0x0 /* PC16 periph C */ + 3 17 0x3 0x1>; /* PC17 periph C with pullup */ }; }; @@ -260,14 +247,14 @@ pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { atmel,pins = - <1 8 0x1 0x0 /* PB8 periph A */ - 1 11 0x1 0x0 /* PB11 periph A */ - 1 12 0x1 0x0 /* PB12 periph A */ - 1 13 0x1 0x0 /* PB13 periph A */ - 1 14 0x1 0x0 /* PB14 periph A */ - 1 15 0x1 0x0 /* PB15 periph A */ - 1 16 0x1 0x0 /* PB16 periph A */ - 1 17 0x1 0x0>; /* PB17 periph A */ + <1 8 0x1 0x0 /* PA8 periph A */ + 1 11 0x1 0x0 /* PA11 periph A */ + 1 12 0x1 0x0 /* PA12 periph A */ + 1 13 0x1 0x0 /* PA13 periph A */ + 1 14 0x1 0x0 /* PA14 periph A */ + 1 15 0x1 0x0 /* PA15 periph A */ + 1 16 0x1 0x0 /* PA16 periph A */ + 1 17 0x1 0x0>; /* PA17 periph A */ }; }; @@ -303,22 +290,6 @@ }; }; - ssc0 { - pinctrl_ssc0_tx: ssc0_tx-0 { - atmel,pins = - <0 24 0x2 0x0 /* PA24 periph B */ - 0 25 0x2 0x0 /* PA25 periph B */ - 0 26 0x2 0x0>; /* PA26 periph B */ - }; - - pinctrl_ssc0_rx: ssc0_rx-0 { - atmel,pins = - <0 27 0x2 0x0 /* PA27 periph B */ - 0 28 0x2 0x0 /* PA28 periph B */ - 0 29 0x2 0x0>; /* PA29 periph B */ - }; - }; - pioA: gpio@fffff400 { compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; reg = <0xfffff400 0x200>; @@ -362,15 +333,6 @@ }; }; - ssc0: ssc@f0010000 { - compatible = "atmel,at91sam9g45-ssc"; - reg = <0xf0010000 0x4000>; - interrupts = <28 4 5>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; - status = "disabled"; - }; - mmc0: mmc@f0008000 { compatible = "atmel,hsmci"; reg = <0xf0008000 0x600>; diff --git a/trunk/arch/arm/boot/dts/cros5250-common.dtsi b/trunk/arch/arm/boot/dts/cros5250-common.dtsi index 46c098017036..fddd17417433 100644 --- a/trunk/arch/arm/boot/dts/cros5250-common.dtsi +++ b/trunk/arch/arm/boot/dts/cros5250-common.dtsi @@ -96,8 +96,8 @@ fifo-depth = <0x80>; card-detect-delay = <200>; samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <2 3>; - samsung,dw-mshc-ddr-timing = <1 2>; + samsung,dw-mshc-sdr-timing = <2 3 3>; + samsung,dw-mshc-ddr-timing = <1 2 3>; slot@0 { reg = <0>; @@ -120,8 +120,8 @@ fifo-depth = <0x80>; card-detect-delay = <200>; samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <2 3>; - samsung,dw-mshc-ddr-timing = <1 2>; + samsung,dw-mshc-sdr-timing = <2 3 3>; + samsung,dw-mshc-ddr-timing = <1 2 3>; slot@0 { reg = <0>; @@ -141,8 +141,8 @@ fifo-depth = <0x80>; card-detect-delay = <200>; samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <2 3>; - samsung,dw-mshc-ddr-timing = <1 2>; + samsung,dw-mshc-sdr-timing = <2 3 3>; + samsung,dw-mshc-ddr-timing = <1 2 3>; slot@0 { reg = <0>; diff --git a/trunk/arch/arm/boot/dts/dove-cubox.dts b/trunk/arch/arm/boot/dts/dove-cubox.dts index cdee96fca6e2..fed7d3f9f431 100644 --- a/trunk/arch/arm/boot/dts/dove-cubox.dts +++ b/trunk/arch/arm/boot/dts/dove-cubox.dts @@ -26,15 +26,10 @@ }; &uart0 { status = "okay"; }; +&sdio0 { status = "okay"; }; &sata0 { status = "okay"; }; &i2c0 { status = "okay"; }; -&sdio0 { - status = "okay"; - /* sdio0 card detect is connected to wrong pin on CuBox */ - cd-gpios = <&gpio0 12 1>; -}; - &spi0 { status = "okay"; @@ -47,14 +42,9 @@ }; &pinctrl { - pinctrl-0 = <&pmx_gpio_12 &pmx_gpio_18>; + pinctrl-0 = <&pmx_gpio_18>; pinctrl-names = "default"; - pmx_gpio_12: pmx-gpio-12 { - marvell,pins = "mpp12"; - marvell,function = "gpio"; - }; - pmx_gpio_18: pmx-gpio-18 { marvell,pins = "mpp18"; marvell,function = "gpio"; diff --git a/trunk/arch/arm/boot/dts/exynos5250-smdk5250.dts b/trunk/arch/arm/boot/dts/exynos5250-smdk5250.dts index e05b18f3c33d..942d5761ca97 100644 --- a/trunk/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/trunk/arch/arm/boot/dts/exynos5250-smdk5250.dts @@ -115,8 +115,8 @@ fifo-depth = <0x80>; card-detect-delay = <200>; samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <2 3>; - samsung,dw-mshc-ddr-timing = <1 2>; + samsung,dw-mshc-sdr-timing = <2 3 3>; + samsung,dw-mshc-ddr-timing = <1 2 3>; slot@0 { reg = <0>; @@ -139,8 +139,8 @@ fifo-depth = <0x80>; card-detect-delay = <200>; samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <2 3>; - samsung,dw-mshc-ddr-timing = <1 2>; + samsung,dw-mshc-sdr-timing = <2 3 3>; + samsung,dw-mshc-ddr-timing = <1 2 3>; slot@0 { reg = <0>; diff --git a/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi index 77d21abfcdf7..9bc6785ad228 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi @@ -1,5 +1,4 @@ /include/ "kirkwood.dtsi" -/include/ "kirkwood-6281.dtsi" / { chosen { @@ -7,21 +6,6 @@ }; ocp@f1000000 { - pinctrl: pinctrl@10000 { - pinctrl-0 = < &pmx_spi &pmx_twsi0 &pmx_uart0 - &pmx_ns2_sata0 &pmx_ns2_sata1>; - pinctrl-names = "default"; - - pmx_ns2_sata0: pmx-ns2-sata0 { - marvell,pins = "mpp21"; - marvell,function = "sata0"; - }; - pmx_ns2_sata1: pmx-ns2-sata1 { - marvell,pins = "mpp20"; - marvell,function = "sata1"; - }; - }; - serial@12000 { clock-frequency = <166666667>; status = "okay"; diff --git a/trunk/arch/arm/boot/dts/kirkwood.dtsi b/trunk/arch/arm/boot/dts/kirkwood.dtsi index d6ab442b7011..110d6cbb795b 100644 --- a/trunk/arch/arm/boot/dts/kirkwood.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood.dtsi @@ -36,7 +36,6 @@ reg = <0x10100 0x40>; ngpios = <32>; interrupt-controller; - #interrupt-cells = <2>; interrupts = <35>, <36>, <37>, <38>; }; @@ -47,7 +46,6 @@ reg = <0x10140 0x40>; ngpios = <18>; interrupt-controller; - #interrupt-cells = <2>; interrupts = <39>, <40>, <41>; }; diff --git a/trunk/arch/arm/boot/dts/kizbox.dts b/trunk/arch/arm/boot/dts/kizbox.dts index b4dc3ed9a3ec..e8814fe0e277 100644 --- a/trunk/arch/arm/boot/dts/kizbox.dts +++ b/trunk/arch/arm/boot/dts/kizbox.dts @@ -48,8 +48,6 @@ macb0: ethernet@fffc4000 { phy-mode = "mii"; - pinctrl-0 = <&pinctrl_macb_rmii - &pinctrl_macb_rmii_mii_alt>; status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/sunxi.dtsi b/trunk/arch/arm/boot/dts/sunxi.dtsi index 8b36abea9f2e..8bbc2bfef221 100644 --- a/trunk/arch/arm/boot/dts/sunxi.dtsi +++ b/trunk/arch/arm/boot/dts/sunxi.dtsi @@ -60,21 +60,19 @@ }; uart0: uart@01c28000 { - compatible = "snps,dw-apb-uart"; + compatible = "ns8250"; reg = <0x01c28000 0x400>; interrupts = <1>; reg-shift = <2>; - reg-io-width = <4>; clock-frequency = <24000000>; status = "disabled"; }; uart1: uart@01c28400 { - compatible = "snps,dw-apb-uart"; + compatible = "ns8250"; reg = <0x01c28400 0x400>; interrupts = <2>; reg-shift = <2>; - reg-io-width = <4>; clock-frequency = <24000000>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts b/trunk/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts index cf8071ad22d5..1fc405a9ecfb 100644 --- a/trunk/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +++ b/trunk/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts @@ -45,6 +45,7 @@ reg = <1>; }; +/* A7s disabled till big.LITTLE patches are available... cpu2: cpu@2 { device_type = "cpu"; compatible = "arm,cortex-a7"; @@ -62,6 +63,7 @@ compatible = "arm,cortex-a7"; reg = <0x102>; }; +*/ }; memory@80000000 { diff --git a/trunk/arch/arm/common/Kconfig b/trunk/arch/arm/common/Kconfig index 9353184d730d..45ceeb0e93e0 100644 --- a/trunk/arch/arm/common/Kconfig +++ b/trunk/arch/arm/common/Kconfig @@ -1,3 +1,26 @@ +config ARM_GIC + bool + select IRQ_DOMAIN + select MULTI_IRQ_HANDLER + +config GIC_NON_BANKED + bool + +config ARM_VIC + bool + select IRQ_DOMAIN + select MULTI_IRQ_HANDLER + +config ARM_VIC_NR + int + default 4 if ARCH_S5PV210 + default 3 if ARCH_S5PC100 + default 2 + depends on ARM_VIC + help + The maximum number of VICs available in the system, for + power management. + config ICST bool diff --git a/trunk/arch/arm/common/Makefile b/trunk/arch/arm/common/Makefile index dc8dd0de5c0f..e8a4e58f1b82 100644 --- a/trunk/arch/arm/common/Makefile +++ b/trunk/arch/arm/common/Makefile @@ -2,6 +2,8 @@ # Makefile for the linux kernel. # +obj-$(CONFIG_ARM_GIC) += gic.o +obj-$(CONFIG_ARM_VIC) += vic.o obj-$(CONFIG_ICST) += icst.o obj-$(CONFIG_SA1111) += sa1111.o obj-$(CONFIG_PCI_HOST_VIA82C505) += via82c505.o diff --git a/trunk/drivers/irqchip/irq-gic.c b/trunk/arch/arm/common/gic.c similarity index 97% rename from trunk/drivers/irqchip/irq-gic.c rename to trunk/arch/arm/common/gic.c index 69d9a395d54c..36ae03a3f5d1 100644 --- a/trunk/drivers/irqchip/irq-gic.c +++ b/trunk/arch/arm/common/gic.c @@ -38,14 +38,12 @@ #include #include #include -#include #include #include #include #include - -#include "irqchip.h" +#include union gic_base { void __iomem *common_base; @@ -278,7 +276,7 @@ static int gic_set_wake(struct irq_data *d, unsigned int on) #define gic_set_wake NULL #endif -static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) +asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) { u32 irqstat, irqnr; struct gic_chip_data *gic = &gic_data[0]; @@ -619,27 +617,6 @@ static void __init gic_pm_init(struct gic_chip_data *gic) } #endif -#ifdef CONFIG_SMP -void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) -{ - int cpu; - unsigned long map = 0; - - /* Convert our logical CPU mask into a physical one. */ - for_each_cpu(cpu, mask) - map |= 1 << cpu_logical_map(cpu); - - /* - * Ensure that stores to Normal memory are visible to the - * other CPUs before issuing the IPI. - */ - dsb(); - - /* this always happens on GIC0 */ - writel_relaxed(map << 16 | irq, gic_data_dist_base(&gic_data[0]) + GIC_DIST_SOFTINT); -} -#endif - static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) { @@ -766,12 +743,6 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start, if (WARN_ON(!gic->domain)) return; -#ifdef CONFIG_SMP - set_smp_cross_call(gic_raise_softirq); -#endif - - set_handle_irq(gic_handle_irq); - gic_chip.flags |= gic_arch_extn.flags; gic_dist_init(gic); gic_cpu_init(gic); @@ -785,6 +756,27 @@ void __cpuinit gic_secondary_init(unsigned int gic_nr) gic_cpu_init(&gic_data[gic_nr]); } +#ifdef CONFIG_SMP +void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) +{ + int cpu; + unsigned long map = 0; + + /* Convert our logical CPU mask into a physical one. */ + for_each_cpu(cpu, mask) + map |= gic_cpu_map[cpu]; + + /* + * Ensure that stores to Normal memory are visible to the + * other CPUs before issuing the IPI. + */ + dsb(); + + /* this always happens on GIC0 */ + writel_relaxed(map << 16 | irq, gic_data_dist_base(&gic_data[0]) + GIC_DIST_SOFTINT); +} +#endif + #ifdef CONFIG_OF static int gic_cnt __initdata = 0; @@ -816,9 +808,4 @@ int __init gic_of_init(struct device_node *node, struct device_node *parent) gic_cnt++; return 0; } -IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init); -IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init); -IRQCHIP_DECLARE(msm_8660_qgic, "qcom,msm-8660-qgic", gic_of_init); -IRQCHIP_DECLARE(msm_qgic2, "qcom,msm-qgic2", gic_of_init); - #endif diff --git a/trunk/drivers/irqchip/irq-vic.c b/trunk/arch/arm/common/vic.c similarity index 92% rename from trunk/drivers/irqchip/irq-vic.c rename to trunk/arch/arm/common/vic.c index 3cf97aaebe40..8f324b99416e 100644 --- a/trunk/drivers/irqchip/irq-vic.c +++ b/trunk/arch/arm/common/vic.c @@ -30,29 +30,10 @@ #include #include #include -#include #include #include - -#include "irqchip.h" - -#define VIC_IRQ_STATUS 0x00 -#define VIC_FIQ_STATUS 0x04 -#define VIC_INT_SELECT 0x0c /* 1 = FIQ, 0 = IRQ */ -#define VIC_INT_SOFT 0x18 -#define VIC_INT_SOFT_CLEAR 0x1c -#define VIC_PROTECT 0x20 -#define VIC_PL190_VECT_ADDR 0x30 /* PL190 only */ -#define VIC_PL190_DEF_VECT_ADDR 0x34 /* PL190 only */ - -#define VIC_VECT_ADDR0 0x100 /* 0 to 15 (0..31 PL192) */ -#define VIC_VECT_CNTL0 0x200 /* 0 to 15 (0..31 PL192) */ -#define VIC_ITCR 0x300 /* VIC test control register */ - -#define VIC_VECT_CNTL_ENABLE (1 << 5) - -#define VIC_PL192_VECT_ADDR 0xF00 +#include /** * struct vic_device - VIC PM device @@ -85,8 +66,6 @@ static struct vic_device vic_devices[CONFIG_ARM_VIC_NR]; static int vic_id; -static void vic_handle_irq(struct pt_regs *regs); - /** * vic_init2 - common initialisation code * @base: Base of the VIC. @@ -203,40 +182,6 @@ static int vic_irqdomain_map(struct irq_domain *d, unsigned int irq, return 0; } -/* - * Handle each interrupt in a single VIC. Returns non-zero if we've - * handled at least one interrupt. This reads the status register - * before handling each interrupt, which is necessary given that - * handle_IRQ may briefly re-enable interrupts for soft IRQ handling. - */ -static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs) -{ - u32 stat, irq; - int handled = 0; - - while ((stat = readl_relaxed(vic->base + VIC_IRQ_STATUS))) { - irq = ffs(stat) - 1; - handle_IRQ(irq_find_mapping(vic->domain, irq), regs); - handled = 1; - } - - return handled; -} - -/* - * Keep iterating over all registered VIC's until there are no pending - * interrupts. - */ -static asmlinkage void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) -{ - int i, handled; - - do { - for (i = 0, handled = 0; i < vic_id; ++i) - handled |= handle_one_vic(&vic_devices[i], regs); - } while (handled); -} - static struct irq_domain_ops vic_irqdomain_ops = { .map = vic_irqdomain_map, .xlate = irq_domain_xlate_onetwocell, @@ -273,7 +218,6 @@ static void __init vic_register(void __iomem *base, unsigned int irq, v->valid_sources = valid_sources; v->resume_sources = resume_sources; v->irq = irq; - set_handle_irq(vic_handle_irq); vic_id++; v->domain = irq_domain_add_simple(node, fls(valid_sources), irq, &vic_irqdomain_ops, v); @@ -483,7 +427,38 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent) return 0; } -IRQCHIP_DECLARE(arm_pl190_vic, "arm,pl190-vic", vic_of_init); -IRQCHIP_DECLARE(arm_pl192_vic, "arm,pl192-vic", vic_of_init); -IRQCHIP_DECLARE(arm_versatile_vic, "arm,versatile-vic", vic_of_init); #endif /* CONFIG OF */ + +/* + * Handle each interrupt in a single VIC. Returns non-zero if we've + * handled at least one interrupt. This reads the status register + * before handling each interrupt, which is necessary given that + * handle_IRQ may briefly re-enable interrupts for soft IRQ handling. + */ +static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs) +{ + u32 stat, irq; + int handled = 0; + + while ((stat = readl_relaxed(vic->base + VIC_IRQ_STATUS))) { + irq = ffs(stat) - 1; + handle_IRQ(irq_find_mapping(vic->domain, irq), regs); + handled = 1; + } + + return handled; +} + +/* + * Keep iterating over all registered VIC's until there are no pending + * interrupts. + */ +asmlinkage void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) +{ + int i, handled; + + do { + for (i = 0, handled = 0; i < vic_id; ++i) + handled |= handle_one_vic(&vic_devices[i], regs); + } while (handled); +} diff --git a/trunk/arch/arm/configs/at91_dt_defconfig b/trunk/arch/arm/configs/at91_dt_defconfig index 1ea959019fcd..b175577d7abb 100644 --- a/trunk/arch/arm/configs/at91_dt_defconfig +++ b/trunk/arch/arm/configs/at91_dt_defconfig @@ -19,7 +19,6 @@ CONFIG_SOC_AT91SAM9260=y CONFIG_SOC_AT91SAM9263=y CONFIG_SOC_AT91SAM9G45=y CONFIG_SOC_AT91SAM9X5=y -CONFIG_SOC_AT91SAM9N12=y CONFIG_MACH_AT91SAM_DT=y CONFIG_AT91_PROGRAMMABLE_CLOCKS=y CONFIG_AT91_TIMER_HZ=128 @@ -32,7 +31,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y -CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw" +CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw" CONFIG_KEXEC=y CONFIG_AUTO_ZRELADDR=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set diff --git a/trunk/arch/arm/configs/imx_v6_v7_defconfig b/trunk/arch/arm/configs/imx_v6_v7_defconfig index 6dddbf877b0c..69667133321f 100644 --- a/trunk/arch/arm/configs/imx_v6_v7_defconfig +++ b/trunk/arch/arm/configs/imx_v6_v7_defconfig @@ -32,6 +32,7 @@ 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_CPUIMX51SD=y CONFIG_SOC_IMX53=y CONFIG_SOC_IMX6Q=y diff --git a/trunk/include/linux/irqchip/arm-gic.h b/trunk/arch/arm/include/asm/hardware/gic.h similarity index 77% rename from trunk/include/linux/irqchip/arm-gic.h rename to trunk/arch/arm/include/asm/hardware/gic.h index a67ca55e6f4e..4b1ce6cd477f 100644 --- a/trunk/include/linux/irqchip/arm-gic.h +++ b/trunk/arch/arm/include/asm/hardware/gic.h @@ -1,5 +1,5 @@ /* - * include/linux/irqchip/arm-gic.h + * arch/arm/include/asm/hardware/gic.h * * Copyright (C) 2002 ARM Limited, All Rights Reserved. * @@ -7,8 +7,10 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#ifndef __LINUX_IRQCHIP_ARM_GIC_H -#define __LINUX_IRQCHIP_ARM_GIC_H +#ifndef __ASM_ARM_HARDWARE_GIC_H +#define __ASM_ARM_HARDWARE_GIC_H + +#include #define GIC_CPU_CTRL 0x00 #define GIC_CPU_PRIMASK 0x04 @@ -30,14 +32,19 @@ #define GIC_DIST_CONFIG 0xc00 #define GIC_DIST_SOFTINT 0xf00 +#ifndef __ASSEMBLY__ +#include struct device_node; extern struct irq_chip gic_arch_extn; void gic_init_bases(unsigned int, int, void __iomem *, void __iomem *, u32 offset, struct device_node *); +int gic_of_init(struct device_node *node, struct device_node *parent); void gic_secondary_init(unsigned int); +void gic_handle_irq(struct pt_regs *regs); void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); +void gic_raise_softirq(const struct cpumask *mask, unsigned int irq); static inline void gic_init(unsigned int nr, int start, void __iomem *dist , void __iomem *cpu) @@ -46,3 +53,5 @@ static inline void gic_init(unsigned int nr, int start, } #endif + +#endif diff --git a/trunk/include/linux/irqchip/arm-vic.h b/trunk/arch/arm/include/asm/hardware/vic.h similarity index 63% rename from trunk/include/linux/irqchip/arm-vic.h rename to trunk/arch/arm/include/asm/hardware/vic.h index e3c82dc95756..2bebad36fc83 100644 --- a/trunk/include/linux/irqchip/arm-vic.h +++ b/trunk/arch/arm/include/asm/hardware/vic.h @@ -20,11 +20,29 @@ #ifndef __ASM_ARM_HARDWARE_VIC_H #define __ASM_ARM_HARDWARE_VIC_H -#include - +#define VIC_IRQ_STATUS 0x00 +#define VIC_FIQ_STATUS 0x04 #define VIC_RAW_STATUS 0x08 +#define VIC_INT_SELECT 0x0c /* 1 = FIQ, 0 = IRQ */ #define VIC_INT_ENABLE 0x10 /* 1 = enable, 0 = disable */ #define VIC_INT_ENABLE_CLEAR 0x14 +#define VIC_INT_SOFT 0x18 +#define VIC_INT_SOFT_CLEAR 0x1c +#define VIC_PROTECT 0x20 +#define VIC_PL190_VECT_ADDR 0x30 /* PL190 only */ +#define VIC_PL190_DEF_VECT_ADDR 0x34 /* PL190 only */ + +#define VIC_VECT_ADDR0 0x100 /* 0 to 15 (0..31 PL192) */ +#define VIC_VECT_CNTL0 0x200 /* 0 to 15 (0..31 PL192) */ +#define VIC_ITCR 0x300 /* VIC test control register */ + +#define VIC_VECT_CNTL_ENABLE (1 << 5) + +#define VIC_PL192_VECT_ADDR 0xF00 + +#ifndef __ASSEMBLY__ +#include +#include struct device_node; struct pt_regs; @@ -32,5 +50,8 @@ struct pt_regs; void __vic_init(void __iomem *base, int irq_start, u32 vic_sources, u32 resume_sources, struct device_node *node); void vic_init(void __iomem *base, unsigned int irq_start, u32 vic_sources, u32 resume_sources); +int vic_of_init(struct device_node *node, struct device_node *parent); +void vic_handle_irq(struct pt_regs *regs); +#endif /* __ASSEMBLY__ */ #endif diff --git a/trunk/arch/arm/include/asm/mach/irq.h b/trunk/arch/arm/include/asm/mach/irq.h index 18c883023339..15cb035309f7 100644 --- a/trunk/arch/arm/include/asm/mach/irq.h +++ b/trunk/arch/arm/include/asm/mach/irq.h @@ -22,7 +22,6 @@ extern int show_fiq_list(struct seq_file *, int); #ifdef CONFIG_MULTI_IRQ_HANDLER extern void (*handle_arch_irq)(struct pt_regs *); -extern void set_handle_irq(void (*handle_irq)(struct pt_regs *)); #endif /* diff --git a/trunk/arch/arm/include/debug/imx.S b/trunk/arch/arm/include/debug/imx.S index c6f294cf18f0..0c4e17d4d359 100644 --- a/trunk/arch/arm/include/debug/imx.S +++ b/trunk/arch/arm/include/debug/imx.S @@ -34,7 +34,7 @@ #define UART_PADDR 0x43f90000 #elif defined (CONFIG_DEBUG_IMX51_UART) #define UART_PADDR 0x73fbc000 -#elif defined (CONFIG_DEBUG_IMX53_UART) +#elif defined (CONFIG_DEBUG_IMX50_IMX53_UART) #define UART_PADDR 0x53fbc000 #elif defined (CONFIG_DEBUG_IMX6Q_UART) #define UART_PADDR IMX6Q_DEBUG_UART_BASE diff --git a/trunk/arch/arm/kernel/debug.S b/trunk/arch/arm/kernel/debug.S index 14f7c3b14632..6809200c31fb 100644 --- a/trunk/arch/arm/kernel/debug.S +++ b/trunk/arch/arm/kernel/debug.S @@ -100,14 +100,12 @@ ENTRY(printch) b 1b ENDPROC(printch) -#ifdef CONFIG_MMU ENTRY(debug_ll_addr) addruart r2, r3, ip str r2, [r0] str r3, [r1] mov pc, lr ENDPROC(debug_ll_addr) -#endif #else diff --git a/trunk/arch/arm/kernel/head.S b/trunk/arch/arm/kernel/head.S index 486a15ae9011..4eee351f4668 100644 --- a/trunk/arch/arm/kernel/head.S +++ b/trunk/arch/arm/kernel/head.S @@ -246,7 +246,6 @@ __create_page_tables: /* * Then map boot params address in r2 if specified. - * We map 2 sections in case the ATAGs/DTB crosses a section boundary. */ mov r0, r2, lsr #SECTION_SHIFT movs r0, r0, lsl #SECTION_SHIFT @@ -254,8 +253,6 @@ __create_page_tables: addne r3, r3, #PAGE_OFFSET addne r3, r4, r3, lsr #(SECTION_SHIFT - PMD_ORDER) orrne r6, r7, r0 - strne r6, [r3], #1 << PMD_ORDER - addne r6, r6, #1 << SECTION_SHIFT strne r6, [r3] #ifdef CONFIG_DEBUG_LL @@ -334,7 +331,7 @@ ENTRY(secondary_startup) * as it has already been validated by the primary processor. */ #ifdef CONFIG_ARM_VIRT_EXT - bl __hyp_stub_install_secondary + bl __hyp_stub_install #endif safe_svcmode_maskall r9 diff --git a/trunk/arch/arm/kernel/hyp-stub.S b/trunk/arch/arm/kernel/hyp-stub.S index 1315c4ccfa56..65b2417aebce 100644 --- a/trunk/arch/arm/kernel/hyp-stub.S +++ b/trunk/arch/arm/kernel/hyp-stub.S @@ -99,7 +99,7 @@ ENTRY(__hyp_stub_install_secondary) * immediately. */ compare_cpu_mode_with_primary r4, r5, r6, r7 - movne pc, lr + bxne lr /* * Once we have given up on one CPU, we do not try to install the @@ -111,7 +111,7 @@ ENTRY(__hyp_stub_install_secondary) */ cmp r4, #HYP_MODE - movne pc, lr @ give up if the CPU is not in HYP mode + bxne lr @ give up if the CPU is not in HYP mode /* * Configure HSCTLR to set correct exception endianness/instruction set @@ -120,8 +120,7 @@ ENTRY(__hyp_stub_install_secondary) * Eventually, CPU-specific code might be needed -- assume not for now * * This code relies on the "eret" instruction to synchronize the - * various coprocessor accesses. This is done when we switch to SVC - * (see safe_svcmode_maskall). + * various coprocessor accesses. */ @ Now install the hypervisor stub: adr r7, __hyp_stub_vectors @@ -156,7 +155,14 @@ THUMB( orr r7, #(1 << 30) ) @ HSCTLR.TE 1: #endif - bx lr @ The boot CPU mode is left in r4. + bic r7, r4, #MODE_MASK + orr r7, r7, #SVC_MODE +THUMB( orr r7, r7, #PSR_T_BIT ) + msr spsr_cxsf, r7 @ This is SPSR_hyp. + + __MSR_ELR_HYP(14) @ msr elr_hyp, lr + __ERET @ return, switching to SVC mode + @ The boot CPU mode is left in r4. ENDPROC(__hyp_stub_install_secondary) __hyp_stub_do_trap: @@ -194,7 +200,7 @@ ENDPROC(__hyp_get_vectors) @ fall through ENTRY(__hyp_set_vectors) __HVC(0) - mov pc, lr + bx lr ENDPROC(__hyp_set_vectors) #ifndef ZIMAGE diff --git a/trunk/arch/arm/kernel/irq.c b/trunk/arch/arm/kernel/irq.c index 8e4ef4c83a74..896165096d6a 100644 --- a/trunk/arch/arm/kernel/irq.c +++ b/trunk/arch/arm/kernel/irq.c @@ -117,16 +117,6 @@ void __init init_IRQ(void) machine_desc->init_irq(); } -#ifdef CONFIG_MULTI_IRQ_HANDLER -void __init set_handle_irq(void (*handle_irq)(struct pt_regs *)) -{ - if (handle_arch_irq) - return; - - handle_arch_irq = handle_irq; -} -#endif - #ifdef CONFIG_SPARSE_IRQ int __init arch_probe_nr_irqs(void) { diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index 3fc96db2a4b6..84f4cbf652e5 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -416,8 +416,7 @@ static void (*smp_cross_call)(const struct cpumask *, unsigned int); void __init set_smp_cross_call(void (*fn)(const struct cpumask *, unsigned int)) { - if (!smp_cross_call) - smp_cross_call = fn; + smp_cross_call = fn; } void arch_send_call_function_ipi_mask(const struct cpumask *mask) diff --git a/trunk/arch/arm/kernel/smp_twd.c b/trunk/arch/arm/kernel/smp_twd.c index dc9bb0146665..49f335d301ba 100644 --- a/trunk/arch/arm/kernel/smp_twd.c +++ b/trunk/arch/arm/kernel/smp_twd.c @@ -24,6 +24,7 @@ #include #include +#include /* set up by the platform code */ static void __iomem *twd_base; diff --git a/trunk/arch/arm/mach-at91/at91rm9200_time.c b/trunk/arch/arm/mach-at91/at91rm9200_time.c index 2acdff4c1dfe..180b3024bec3 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200_time.c +++ b/trunk/arch/arm/mach-at91/at91rm9200_time.c @@ -174,6 +174,7 @@ clkevt32k_next_event(unsigned long delta, struct clock_event_device *dev) static struct clock_event_device clkevt = { .name = "at91_tick", .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, + .shift = 32, .rating = 150, .set_next_event = clkevt32k_next_event, .set_mode = clkevt32k_mode, @@ -264,9 +265,11 @@ void __init at91rm9200_timer_init(void) at91_st_write(AT91_ST_RTMR, 1); /* Setup timer clockevent, with minimum of two ticks (important!!) */ + clkevt.mult = div_sc(AT91_SLOW_CLOCK, NSEC_PER_SEC, clkevt.shift); + clkevt.max_delta_ns = clockevent_delta2ns(AT91_ST_ALMV, &clkevt); + clkevt.min_delta_ns = clockevent_delta2ns(2, &clkevt) + 1; clkevt.cpumask = cpumask_of(0); - clockevents_config_and_register(&clkevt, AT91_SLOW_CLOCK, - 2, AT91_ST_ALMV); + clockevents_register_device(&clkevt); /* register clocksource */ clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK); diff --git a/trunk/arch/arm/mach-at91/setup.c b/trunk/arch/arm/mach-at91/setup.c index 4b678478cf95..9ee866ce0478 100644 --- a/trunk/arch/arm/mach-at91/setup.c +++ b/trunk/arch/arm/mach-at91/setup.c @@ -105,8 +105,6 @@ static void __init soc_detect(u32 dbgu_base) switch (socid) { case ARCH_ID_AT91RM9200: at91_soc_initdata.type = AT91_SOC_RM9200; - if (at91_soc_initdata.subtype == AT91_SOC_SUBTYPE_NONE) - at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA; at91_boot_soc = at91rm9200_soc; break; diff --git a/trunk/arch/arm/mach-bcm/Kconfig b/trunk/arch/arm/mach-bcm/Kconfig index bf02471d7e7c..48705c10a0fe 100644 --- a/trunk/arch/arm/mach-bcm/Kconfig +++ b/trunk/arch/arm/mach-bcm/Kconfig @@ -7,6 +7,7 @@ config ARCH_BCM select ARM_GIC select CPU_V7 select GENERIC_CLOCKEVENTS + select GENERIC_GPIO select GENERIC_TIME select GPIO_BCM select SPARSE_IRQ diff --git a/trunk/arch/arm/mach-bcm/board_bcm.c b/trunk/arch/arm/mach-bcm/board_bcm.c index f0f9abafad29..3df68030cf68 100644 --- a/trunk/arch/arm/mach-bcm/board_bcm.c +++ b/trunk/arch/arm/mach-bcm/board_bcm.c @@ -11,19 +11,30 @@ * GNU General Public License for more details. */ +#include #include #include #include #include -#include #include +#include + #include +static const struct of_device_id irq_match[] = { + {.compatible = "arm,cortex-a9-gic", .data = gic_of_init, }, + {} +}; + static void timer_init(void) { } +static void __init init_irq(void) +{ + of_irq_init(irq_match); +} static void __init board_init(void) { @@ -34,8 +45,9 @@ static void __init board_init(void) static const char * const bcm11351_dt_compat[] = { "bcm,bcm11351", NULL, }; DT_MACHINE_START(BCM11351_DT, "Broadcom Application Processor") - .init_irq = irqchip_init, + .init_irq = init_irq, .init_time = timer_init, .init_machine = board_init, .dt_compat = bcm11351_dt_compat, + .handle_irq = gic_handle_irq, MACHINE_END diff --git a/trunk/arch/arm/mach-cns3xxx/cns3420vb.c b/trunk/arch/arm/mach-cns3xxx/cns3420vb.c index a71867e1d8d6..3c86f910b647 100644 --- a/trunk/arch/arm/mach-cns3xxx/cns3420vb.c +++ b/trunk/arch/arm/mach-cns3xxx/cns3420vb.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -250,6 +251,7 @@ MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board") .map_io = cns3420_map_io, .init_irq = cns3xxx_init_irq, .init_time = cns3xxx_timer_init, + .handle_irq = gic_handle_irq, .init_machine = cns3420_init, .restart = cns3xxx_restart, MACHINE_END diff --git a/trunk/arch/arm/mach-cns3xxx/core.c b/trunk/arch/arm/mach-cns3xxx/core.c index e698f26cc0cb..1754f8f4f34c 100644 --- a/trunk/arch/arm/mach-cns3xxx/core.c +++ b/trunk/arch/arm/mach-cns3xxx/core.c @@ -12,10 +12,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include "core.h" @@ -134,6 +134,7 @@ static int cns3xxx_timer_set_next_event(unsigned long evt, static struct clock_event_device cns3xxx_tmr1_clockevent = { .name = "cns3xxx timer1", + .shift = 8, .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, .set_mode = cns3xxx_timer_set_mode, .set_next_event = cns3xxx_timer_set_next_event, @@ -144,9 +145,15 @@ static struct clock_event_device cns3xxx_tmr1_clockevent = { static void __init cns3xxx_clockevents_init(unsigned int timer_irq) { cns3xxx_tmr1_clockevent.irq = timer_irq; - clockevents_config_and_register(&cns3xxx_tmr1_clockevent, - (cns3xxx_cpu_clock() >> 3) * 1000000, - 0xf, 0xffffffff); + cns3xxx_tmr1_clockevent.mult = + div_sc((cns3xxx_cpu_clock() >> 3) * 1000000, NSEC_PER_SEC, + cns3xxx_tmr1_clockevent.shift); + cns3xxx_tmr1_clockevent.max_delta_ns = + clockevent_delta2ns(0xffffffff, &cns3xxx_tmr1_clockevent); + cns3xxx_tmr1_clockevent.min_delta_ns = + clockevent_delta2ns(0xf, &cns3xxx_tmr1_clockevent); + + clockevents_register_device(&cns3xxx_tmr1_clockevent); } /* diff --git a/trunk/arch/arm/mach-ep93xx/adssphere.c b/trunk/arch/arm/mach-ep93xx/adssphere.c index bda6c3a5c923..82d9c788535a 100644 --- a/trunk/arch/arm/mach-ep93xx/adssphere.c +++ b/trunk/arch/arm/mach-ep93xx/adssphere.c @@ -17,6 +17,7 @@ #include +#include #include #include @@ -38,6 +39,7 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = adssphere_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-ep93xx/core.c b/trunk/arch/arm/mach-ep93xx/core.c index c49ed3dc1aea..ee27b4b0ab07 100644 --- a/trunk/arch/arm/mach-ep93xx/core.c +++ b/trunk/arch/arm/mach-ep93xx/core.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include @@ -45,6 +44,8 @@ #include #include +#include + #include "soc.h" /************************************************************************* diff --git a/trunk/arch/arm/mach-ep93xx/edb93xx.c b/trunk/arch/arm/mach-ep93xx/edb93xx.c index 27b14ae92c7e..ac260519c9e9 100644 --- a/trunk/arch/arm/mach-ep93xx/edb93xx.c +++ b/trunk/arch/arm/mach-ep93xx/edb93xx.c @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -275,6 +276,7 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, @@ -288,6 +290,7 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, @@ -301,6 +304,7 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, @@ -314,6 +318,7 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, @@ -327,6 +332,7 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, @@ -340,6 +346,7 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, @@ -353,6 +360,7 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, @@ -366,6 +374,7 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = edb93xx_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-ep93xx/gesbc9312.c b/trunk/arch/arm/mach-ep93xx/gesbc9312.c index 0cca5b183309..76c50f42bd71 100644 --- a/trunk/arch/arm/mach-ep93xx/gesbc9312.c +++ b/trunk/arch/arm/mach-ep93xx/gesbc9312.c @@ -17,6 +17,7 @@ #include +#include #include #include @@ -38,6 +39,7 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = gesbc9312_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-ep93xx/micro9.c b/trunk/arch/arm/mach-ep93xx/micro9.c index 373583c29825..777cd2170f8a 100644 --- a/trunk/arch/arm/mach-ep93xx/micro9.c +++ b/trunk/arch/arm/mach-ep93xx/micro9.c @@ -18,6 +18,7 @@ #include +#include #include #include @@ -81,6 +82,7 @@ MACHINE_START(MICRO9, "Contec Micro9-High") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = micro9_init_machine, .init_late = ep93xx_init_late, @@ -94,6 +96,7 @@ MACHINE_START(MICRO9M, "Contec Micro9-Mid") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = micro9_init_machine, .init_late = ep93xx_init_late, @@ -107,6 +110,7 @@ MACHINE_START(MICRO9L, "Contec Micro9-Lite") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = micro9_init_machine, .init_late = ep93xx_init_late, @@ -120,6 +124,7 @@ MACHINE_START(MICRO9S, "Contec Micro9-Slim") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = micro9_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-ep93xx/simone.c b/trunk/arch/arm/mach-ep93xx/simone.c index 36f22c1a31fe..6ff39ee2ad5d 100644 --- a/trunk/arch/arm/mach-ep93xx/simone.c +++ b/trunk/arch/arm/mach-ep93xx/simone.c @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -82,6 +83,7 @@ MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = simone_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-ep93xx/snappercl15.c b/trunk/arch/arm/mach-ep93xx/snappercl15.c index aa86f86638dd..6434c07dbf96 100644 --- a/trunk/arch/arm/mach-ep93xx/snappercl15.c +++ b/trunk/arch/arm/mach-ep93xx/snappercl15.c @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -175,6 +176,7 @@ MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15") .atag_offset = 0x100, .map_io = ep93xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = snappercl15_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-ep93xx/ts72xx.c b/trunk/arch/arm/mach-ep93xx/ts72xx.c index 61f4b5dc4d7d..e4fa0d3760a5 100644 --- a/trunk/arch/arm/mach-ep93xx/ts72xx.c +++ b/trunk/arch/arm/mach-ep93xx/ts72xx.c @@ -22,6 +22,7 @@ #include +#include #include #include #include @@ -245,6 +246,7 @@ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") .atag_offset = 0x100, .map_io = ts72xx_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = ts72xx_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-ep93xx/vision_ep9307.c b/trunk/arch/arm/mach-ep93xx/vision_ep9307.c index 605956fd07a2..8610ba293991 100644 --- a/trunk/arch/arm/mach-ep93xx/vision_ep9307.c +++ b/trunk/arch/arm/mach-ep93xx/vision_ep9307.c @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -363,6 +364,7 @@ MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307") .atag_offset = 0x100, .map_io = vision_map_io, .init_irq = ep93xx_init_irq, + .handle_irq = vic_handle_irq, .init_time = ep93xx_timer_init, .init_machine = vision_init_machine, .init_late = ep93xx_init_late, diff --git a/trunk/arch/arm/mach-exynos/common.c b/trunk/arch/arm/mach-exynos/common.c index 4ea80bc4ef9b..1a89824a5f78 100644 --- a/trunk/arch/arm/mach-exynos/common.c +++ b/trunk/arch/arm/mach-exynos/common.c @@ -22,13 +22,12 @@ #include #include #include -#include #include -#include #include #include #include +#include #include #include #include @@ -645,6 +644,8 @@ static int __init combiner_of_init(struct device_node *np, } static const struct of_device_id exynos_dt_irq_match[] = { + { .compatible = "arm,cortex-a9-gic", .data = gic_of_init, }, + { .compatible = "arm,cortex-a15-gic", .data = gic_of_init, }, { .compatible = "samsung,exynos4210-combiner", .data = combiner_of_init, }, {}, @@ -660,10 +661,8 @@ void __init exynos4_init_irq(void) if (!of_have_populated_dt()) gic_init_bases(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU, gic_bank_offset, NULL); #ifdef CONFIG_OF - else { - irqchip_init(); + else of_irq_init(exynos_dt_irq_match); - } #endif if (!of_have_populated_dt()) @@ -680,7 +679,6 @@ void __init exynos4_init_irq(void) void __init exynos5_init_irq(void) { #ifdef CONFIG_OF - irqchip_init(); of_irq_init(exynos_dt_irq_match); #endif /* diff --git a/trunk/arch/arm/mach-exynos/include/mach/regs-irq.h b/trunk/arch/arm/mach-exynos/include/mach/regs-irq.h index f2b50506b9f6..9c7b4bfd546f 100644 --- a/trunk/arch/arm/mach-exynos/include/mach/regs-irq.h +++ b/trunk/arch/arm/mach-exynos/include/mach/regs-irq.h @@ -13,7 +13,7 @@ #ifndef __ASM_ARCH_REGS_IRQ_H #define __ASM_ARCH_REGS_IRQ_H __FILE__ -#include +#include #include #endif /* __ASM_ARCH_REGS_IRQ_H */ diff --git a/trunk/arch/arm/mach-exynos/mach-armlex4210.c b/trunk/arch/arm/mach-exynos/mach-armlex4210.c index 685f29173afa..2f18130d0d10 100644 --- a/trunk/arch/arm/mach-exynos/mach-armlex4210.c +++ b/trunk/arch/arm/mach-exynos/mach-armlex4210.c @@ -16,6 +16,7 @@ #include #include +#include #include #include @@ -200,6 +201,7 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210") .smp = smp_ops(exynos_smp_ops), .init_irq = exynos4_init_irq, .map_io = armlex4210_map_io, + .handle_irq = gic_handle_irq, .init_machine = armlex4210_machine_init, .init_late = exynos_init_late, .init_time = exynos4_timer_init, diff --git a/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c b/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c index 112d10e53d20..160030168b19 100644 --- a/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c +++ b/trunk/arch/arm/mach-exynos/mach-exynos4-dt.c @@ -15,6 +15,7 @@ #include #include +#include #include #include @@ -106,6 +107,7 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") .smp = smp_ops(exynos_smp_ops), .init_irq = exynos4_init_irq, .map_io = exynos4_dt_map_io, + .handle_irq = gic_handle_irq, .init_machine = exynos4_dt_machine_init, .init_late = exynos_init_late, .init_time = exynos4_timer_init, diff --git a/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c b/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c index 0deeecffa3ae..4e074c67cc8b 100644 --- a/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c @@ -16,6 +16,7 @@ #include #include +#include #include #include @@ -178,6 +179,7 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") .init_irq = exynos5_init_irq, .smp = smp_ops(exynos_smp_ops), .map_io = exynos5_dt_map_io, + .handle_irq = gic_handle_irq, .init_machine = exynos5_dt_machine_init, .init_late = exynos_init_late, .init_time = exynos4_timer_init, diff --git a/trunk/arch/arm/mach-exynos/mach-nuri.c b/trunk/arch/arm/mach-exynos/mach-nuri.c index b8b3fbf0bae7..dccd1d16b836 100644 --- a/trunk/arch/arm/mach-exynos/mach-nuri.c +++ b/trunk/arch/arm/mach-exynos/mach-nuri.c @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -1378,6 +1379,7 @@ MACHINE_START(NURI, "NURI") .smp = smp_ops(exynos_smp_ops), .init_irq = exynos4_init_irq, .map_io = nuri_map_io, + .handle_irq = gic_handle_irq, .init_machine = nuri_machine_init, .init_late = exynos_init_late, .init_time = exynos4_timer_init, diff --git a/trunk/arch/arm/mach-exynos/mach-origen.c b/trunk/arch/arm/mach-exynos/mach-origen.c index 579d2d171daa..4e1156324562 100644 --- a/trunk/arch/arm/mach-exynos/mach-origen.c +++ b/trunk/arch/arm/mach-exynos/mach-origen.c @@ -29,6 +29,7 @@ #include #include +#include #include #include