From 13112258a4b2d5b7d5184872e4c374cae6a87705 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Thu, 7 Feb 2013 08:38:33 +1100 Subject: [PATCH] --- yaml --- r: 349572 b: refs/heads/master c: 2110cf029a67237db572299bb51e0de9e3e3d4dd h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/ABI/testing/sysfs-bus-rbd | 4 + .../ABI/testing/sysfs-devices-node | 7 - trunk/Documentation/DMA-API-HOWTO.txt | 126 ++ trunk/Documentation/DMA-API.txt | 12 + .../DocBook/media/v4l/driver.xml | 6 +- trunk/Documentation/PCI/pci-iov-howto.txt | 6 +- trunk/Documentation/PCI/pci.txt | 20 - trunk/Documentation/acpi/enumeration.txt | 2 +- trunk/Documentation/device-mapper/dm-raid.txt | 1 + .../devicetree/bindings/arm/davinci/nand.txt | 8 + .../devicetree/bindings/clock/imx23-clock.txt | 5 - .../devicetree/bindings/clock/imx25-clock.txt | 4 - .../devicetree/bindings/clock/imx28-clock.txt | 5 - .../devicetree/bindings/clock/imx6q-clock.txt | 4 - .../bindings/gpio/gpio-poweroff.txt | 20 +- .../devicetree/bindings/mtd/denali-nand.txt | 23 + .../devicetree/bindings/mtd/flctl-nand.txt | 49 + .../devicetree/bindings/mtd/fsmc-nand.txt | 12 +- .../devicetree/bindings/mtd/m25p80.txt | 29 + .../devicetree/bindings/mtd/mtd-physmap.txt | 3 + .../bindings/pinctrl/atmel,at91-pinctrl.txt | 5 +- .../bindings/pinctrl/pinctrl-sirf.txt | 47 + .../bindings/spi/nvidia,tegra20-sflash.txt | 2 +- .../bindings/spi/nvidia,tegra20-slink.txt | 2 +- .../devicetree/bindings/spi/spi_atmel.txt | 26 + .../bindings/watchdog/davinci-wdt.txt | 12 + .../bindings/watchdog/twl4030-wdt.txt | 10 + trunk/Documentation/filesystems/00-INDEX | 2 + trunk/Documentation/filesystems/Locking | 6 - .../filesystems/caching/backend-api.txt | 38 +- .../filesystems/caching/netfs-api.txt | 46 +- .../filesystems/caching/object.txt | 23 +- .../filesystems/caching/operations.txt | 2 +- trunk/Documentation/filesystems/f2fs.txt | 421 ++++ .../filesystems/nfs/nfs41-server.txt | 20 +- trunk/Documentation/filesystems/porting | 2 +- trunk/Documentation/filesystems/vfs.txt | 11 - trunk/Documentation/hid/hid-sensor.txt | 0 trunk/Documentation/hwmon/it87 | 10 + trunk/Documentation/i2c/instantiating-devices | 2 +- trunk/Documentation/kernel-parameters.txt | 8 +- trunk/Documentation/networking/ip-sysctl.txt | 16 +- trunk/Documentation/power/runtime_pm.txt | 9 +- trunk/Documentation/rpmsg.txt | 4 +- trunk/Documentation/spi/spi-summary | 4 +- trunk/Documentation/sysctl/kernel.txt | 32 + .../video4linux/v4l2-framework.txt | 3 +- trunk/Documentation/x86/boot.txt | 30 +- trunk/Documentation/x86/zero-page.txt | 4 + trunk/Documentation/xtensa/atomctl.txt | 44 + .../zh_CN/video4linux/v4l2-framework.txt | 3 +- trunk/MAINTAINERS | 270 ++- trunk/Makefile | 18 +- trunk/arch/Kconfig | 9 +- trunk/arch/alpha/Kconfig | 3 +- trunk/arch/alpha/include/asm/parport.h | 4 +- trunk/arch/alpha/include/asm/ptrace.h | 1 + trunk/arch/alpha/include/asm/unistd.h | 1 - trunk/arch/alpha/include/uapi/asm/signal.h | 6 - trunk/arch/alpha/kernel/pci.c | 12 +- trunk/arch/alpha/kernel/signal.c | 10 +- trunk/arch/alpha/kernel/smp.c | 6 +- trunk/arch/alpha/kernel/sys_titan.c | 2 +- trunk/arch/arm/Kconfig | 9 +- trunk/arch/arm/boot/compressed/head.S | 2 +- trunk/arch/arm/boot/dts/Makefile | 11 +- trunk/arch/arm/boot/dts/armada-370-db.dts | 2 +- trunk/arch/arm/boot/dts/armada-370-xp.dtsi | 6 +- .../arch/arm/boot/dts/armada-xp-mv78230.dtsi | 23 +- .../arch/arm/boot/dts/armada-xp-mv78260.dtsi | 29 +- .../arch/arm/boot/dts/armada-xp-mv78460.dtsi | 29 +- trunk/arch/arm/boot/dts/armada-xp.dtsi | 14 +- trunk/arch/arm/boot/dts/at91rm9200.dtsi | 4 +- trunk/arch/arm/boot/dts/at91sam9260.dtsi | 18 + trunk/arch/arm/boot/dts/at91sam9263.dtsi | 40 +- trunk/arch/arm/boot/dts/at91sam9g45.dtsi | 40 +- 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/dbx5x0.dtsi | 4 +- trunk/arch/arm/boot/dts/dove-cubox.dts | 14 +- trunk/arch/arm/boot/dts/dove.dtsi | 1 + trunk/arch/arm/boot/dts/ecx-2000.dts | 4 + .../arch/arm/boot/dts/exynos4210-smdkv310.dts | 2 +- .../arch/arm/boot/dts/exynos5250-smdk5250.dts | 8 +- trunk/arch/arm/boot/dts/exynos5250.dtsi | 2 +- .../arch/arm/boot/dts/exynos5440-ssdk5440.dts | 2 +- trunk/arch/arm/boot/dts/highbank.dts | 20 +- trunk/arch/arm/boot/dts/imx23-olinuxino.dts | 8 +- trunk/arch/arm/boot/dts/imx27-3ds.dts | 8 +- .../arm/boot/dts/imx27-phytec-phycore.dts | 13 +- trunk/arch/arm/boot/dts/imx27.dtsi | 11 +- trunk/arch/arm/boot/dts/imx31-bug.dts | 2 +- trunk/arch/arm/boot/dts/imx53.dtsi | 2 +- trunk/arch/arm/boot/dts/kirkwood-6282.dtsi | 1 + .../arm/boot/dts/kirkwood-ns2-common.dtsi | 16 + trunk/arch/arm/boot/dts/kirkwood-topkick.dts | 17 + trunk/arch/arm/boot/dts/kirkwood.dtsi | 3 + trunk/arch/arm/boot/dts/kizbox.dts | 2 + trunk/arch/arm/boot/dts/omap2420-h4.dts | 2 +- trunk/arch/arm/boot/dts/spear13xx.dtsi | 14 +- trunk/arch/arm/boot/dts/spear300.dtsi | 8 +- trunk/arch/arm/boot/dts/spear310.dtsi | 8 +- trunk/arch/arm/boot/dts/spear320.dtsi | 8 +- trunk/arch/arm/boot/dts/spear600.dtsi | 8 +- ...ubieboard.dts => sun4i-a10-cubieboard.dts} | 4 +- .../boot/dts/{sun4i.dtsi => sun4i-a10.dtsi} | 0 ...-olinuxino.dts => sun5i-a13-olinuxino.dts} | 4 +- .../boot/dts/{sun5i.dtsi => sun5i-a13.dtsi} | 0 trunk/arch/arm/boot/dts/sunxi.dtsi | 6 +- trunk/arch/arm/boot/dts/twl4030.dtsi | 4 + .../arm/boot/dts/vexpress-v2p-ca15_a7.dts | 2 - trunk/arch/arm/common/sa1111.c | 5 +- trunk/arch/arm/common/scoop.c | 6 +- trunk/arch/arm/common/vic.c | 9 +- trunk/arch/arm/configs/at91_dt_defconfig | 3 +- trunk/arch/arm/configs/multi_v7_defconfig | 1 + trunk/arch/arm/configs/mvebu_defconfig | 4 +- trunk/arch/arm/configs/nhk8815_defconfig | 2 +- trunk/arch/arm/configs/omap2plus_defconfig | 5 + trunk/arch/arm/include/asm/dma-mapping.h | 1 + trunk/arch/arm/include/asm/unistd.h | 1 - trunk/arch/arm/include/uapi/asm/signal.h | 7 - trunk/arch/arm/kernel/bios32.c | 18 +- trunk/arch/arm/kernel/debug.S | 2 + trunk/arch/arm/kernel/etm.c | 4 +- trunk/arch/arm/kernel/head.S | 5 +- trunk/arch/arm/kernel/hyp-stub.S | 18 +- trunk/arch/arm/kernel/perf_event_cpu.c | 10 +- trunk/arch/arm/kernel/perf_event_v6.c | 4 +- trunk/arch/arm/kernel/perf_event_v7.c | 12 +- trunk/arch/arm/kernel/perf_event_xscale.c | 4 +- trunk/arch/arm/kernel/setup.c | 2 +- trunk/arch/arm/kernel/swp_emulate.c | 2 + trunk/arch/arm/kernel/vmlinux.lds.S | 4 +- trunk/arch/arm/mach-at91/setup.c | 2 + trunk/arch/arm/mach-davinci/board-da850-evm.c | 1 + .../arch/arm/mach-davinci/board-dm646x-evm.c | 2 +- trunk/arch/arm/mach-davinci/cdce949.c | 4 +- trunk/arch/arm/mach-dove/pcie.c | 2 +- .../arm/mach-ep93xx/include/mach/uncompress.h | 10 +- trunk/arch/arm/mach-exynos/Kconfig | 2 + trunk/arch/arm/mach-exynos/clock-exynos4.c | 4 +- trunk/arch/arm/mach-exynos/common.c | 10 +- trunk/arch/arm/mach-exynos/common.h | 2 +- trunk/arch/arm/mach-exynos/dev-audio.c | 12 - trunk/arch/arm/mach-exynos/mach-exynos5-dt.c | 2 + trunk/arch/arm/mach-exynos/mach-origen.c | 4 +- trunk/arch/arm/mach-exynos/mach-smdk4x12.c | 4 +- trunk/arch/arm/mach-exynos/mach-smdkv310.c | 4 +- trunk/arch/arm/mach-exynos/platsmp.c | 2 +- trunk/arch/arm/mach-highbank/highbank.c | 2 +- trunk/arch/arm/mach-highbank/hotplug.c | 2 +- trunk/arch/arm/mach-highbank/platsmp.c | 12 +- trunk/arch/arm/mach-highbank/pm.c | 19 +- trunk/arch/arm/mach-highbank/sysregs.h | 23 +- trunk/arch/arm/mach-highbank/system.c | 4 +- trunk/arch/arm/mach-imx/Kconfig | 3 +- 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 | 22 +- trunk/arch/arm/mach-imx/clk-imx6q.c | 3 + trunk/arch/arm/mach-imx/common.h | 1 + trunk/arch/arm/mach-imx/cpufreq.c | 2 +- .../arm/mach-imx/devices/devices-common.h | 1 + .../mach-imx/devices/platform-fsl-usb2-udc.c | 15 +- .../arm/mach-imx/devices/platform-imx-fb.c | 2 +- .../devices/platform-mx2-emma.c | 4 +- trunk/arch/arm/mach-imx/hotplug.c | 10 +- trunk/arch/arm/mach-imx/iram_alloc.c | 3 +- trunk/arch/arm/mach-imx/mmdc.c | 2 +- trunk/arch/arm/mach-imx/platsmp.c | 1 + trunk/arch/arm/mach-imx/pm-imx6q.c | 1 + trunk/arch/arm/mach-integrator/pci_v3.c | 14 +- trunk/arch/arm/mach-iop13xx/pci.c | 2 +- trunk/arch/arm/mach-kirkwood/board-dt.c | 4 + trunk/arch/arm/mach-kirkwood/board-ns2.c | 38 - .../arm/mach-kirkwood/board-usi_topkick.c | 4 - trunk/arch/arm/mach-kirkwood/pcie.c | 2 +- trunk/arch/arm/mach-ks8695/board-acs5k.c | 2 +- trunk/arch/arm/mach-mmp/sram.c | 4 +- trunk/arch/arm/mach-msm/proc_comm.c | 2 +- trunk/arch/arm/mach-msm/smd.c | 2 +- trunk/arch/arm/mach-mv78xx0/pcie.c | 2 +- trunk/arch/arm/mach-mvebu/Makefile | 2 + trunk/arch/arm/mach-nomadik/board-nhk8815.c | 72 +- .../arch/arm/mach-nomadik/include/mach/fsmc.h | 29 - .../arch/arm/mach-nomadik/include/mach/irqs.h | 78 +- trunk/arch/arm/mach-omap1/Makefile | 2 +- trunk/arch/arm/mach-omap1/board-ams-delta.c | 2 +- trunk/arch/arm/mach-omap1/fb.c | 80 + trunk/arch/arm/mach-omap1/mailbox.c | 6 +- trunk/arch/arm/mach-omap1/usb.c | 8 +- trunk/arch/arm/mach-omap2/Kconfig | 3 +- trunk/arch/arm/mach-omap2/Makefile | 2 +- trunk/arch/arm/mach-omap2/board-3430sdp.c | 1 + trunk/arch/arm/mach-omap2/board-am3517evm.c | 1 + trunk/arch/arm/mach-omap2/board-cm-t35.c | 1 + trunk/arch/arm/mach-omap2/board-devkit8000.c | 1 + trunk/arch/arm/mach-omap2/board-h4.c | 83 +- trunk/arch/arm/mach-omap2/board-omap3evm.c | 1 + .../arch/arm/mach-omap2/board-omap3stalker.c | 1 + trunk/arch/arm/mach-omap2/board-omap4panda.c | 6 + trunk/arch/arm/mach-omap2/cclock2420_data.c | 2 + trunk/arch/arm/mach-omap2/cclock2430_data.c | 2 + trunk/arch/arm/mach-omap2/cclock3xxx_data.c | 2 + trunk/arch/arm/mach-omap2/cclock44xx_data.c | 77 +- trunk/arch/arm/mach-omap2/clock.h | 10 + trunk/arch/arm/mach-omap2/clockdomain.c | 3 +- trunk/arch/arm/mach-omap2/common.c | 3 - trunk/arch/arm/mach-omap2/control.h | 2 +- trunk/arch/arm/mach-omap2/cpuidle34xx.c | 14 +- trunk/arch/arm/mach-omap2/cpuidle44xx.c | 28 +- trunk/arch/arm/mach-omap2/devices.c | 4 +- trunk/arch/arm/mach-omap2/dpll3xxx.c | 49 +- trunk/arch/arm/mach-omap2/dpll44xx.c | 64 +- trunk/arch/arm/mach-omap2/drm.c | 4 +- trunk/arch/arm/mach-omap2/dss-common.c | 3 +- trunk/arch/arm/{plat-omap => mach-omap2}/fb.c | 50 +- trunk/arch/arm/mach-omap2/gpmc.c | 12 +- trunk/arch/arm/mach-omap2/i2c.c | 1 + trunk/arch/arm/mach-omap2/mailbox.c | 6 +- trunk/arch/arm/mach-omap2/mux.c | 10 +- trunk/arch/arm/mach-omap2/mux.h | 20 +- trunk/arch/arm/mach-omap2/mux34xx.c | 2 +- trunk/arch/arm/mach-omap2/omap-iommu.c | 167 +- .../arm/mach-omap2/omap_hwmod_33xx_data.c | 6 +- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 11 +- trunk/arch/arm/mach-omap2/omap_twl.c | 8 +- trunk/arch/arm/mach-omap2/pmu.c | 2 - trunk/arch/arm/mach-omap2/prm2xxx.c | 91 +- trunk/arch/arm/mach-omap2/prm2xxx_3xxx.c | 22 - trunk/arch/arm/mach-omap2/prm3xxx.c | 31 +- trunk/arch/arm/mach-omap2/prm44xx.c | 6 +- trunk/arch/arm/mach-omap2/prm44xx.h | 4 +- trunk/arch/arm/mach-omap2/serial.c | 3 +- trunk/arch/arm/mach-omap2/timer.c | 16 +- trunk/arch/arm/mach-omap2/usb-host.c | 4 + trunk/arch/arm/mach-orion5x/pci.c | 2 +- trunk/arch/arm/mach-prima2/pm.c | 2 +- trunk/arch/arm/mach-prima2/rtciobrg.c | 2 +- trunk/arch/arm/mach-pxa/corgi_pm.c | 2 +- .../arm/mach-pxa/include/mach/mfp-pxa27x.h | 3 + trunk/arch/arm/mach-pxa/pxa27x.c | 4 +- trunk/arch/arm/mach-pxa/sharpsl_pm.c | 4 +- trunk/arch/arm/mach-pxa/spitz_pm.c | 2 +- trunk/arch/arm/mach-pxa/tosa-bt.c | 4 +- .../arm/mach-realview/include/mach/board-eb.h | 2 +- trunk/arch/arm/mach-s3c24xx/h1940-bluetooth.c | 2 +- trunk/arch/arm/mach-s3c24xx/mach-osiris-dvs.c | 6 +- trunk/arch/arm/mach-s3c64xx/clock.c | 126 +- trunk/arch/arm/mach-s3c64xx/dev-audio.c | 11 - .../arm/mach-s3c64xx/mach-crag6410-module.c | 8 +- trunk/arch/arm/mach-s3c64xx/mach-crag6410.c | 68 +- trunk/arch/arm/mach-s3c64xx/pm.c | 2 + trunk/arch/arm/mach-s5p64x0/clock-s5p6440.c | 49 +- trunk/arch/arm/mach-s5p64x0/clock-s5p6450.c | 61 +- trunk/arch/arm/mach-s5p64x0/dev-audio.c | 12 - trunk/arch/arm/mach-s5pc100/clock.c | 48 +- trunk/arch/arm/mach-s5pc100/dev-audio.c | 16 - trunk/arch/arm/mach-s5pv210/dev-audio.c | 16 - trunk/arch/arm/mach-sa1100/jornada720_ssp.c | 2 +- trunk/arch/arm/mach-sa1100/neponset.c | 8 +- trunk/arch/arm/mach-sunxi/sunxi.c | 4 +- trunk/arch/arm/mach-tegra/common.c | 2 +- trunk/arch/arm/mach-tegra/pcie.c | 6 +- trunk/arch/arm/mach-tegra/tegra2_emc.c | 6 +- trunk/arch/arm/mach-tegra/tegra30_clocks.c | 4 +- trunk/arch/arm/mach-u300/core.c | 48 +- trunk/arch/arm/mach-u300/dummyspichip.c | 6 +- trunk/arch/arm/mach-ux500/cpu-db8500.c | 3 +- trunk/arch/arm/mach-ux500/devices-db8500.h | 1 + .../arm/mach-versatile/include/mach/irqs.h | 6 +- trunk/arch/arm/mach-vexpress/Kconfig | 1 - trunk/arch/arm/mm/cache-l2x0.c | 34 +- trunk/arch/arm/mm/cache-v7.S | 6 +- trunk/arch/arm/mm/dma-mapping.c | 18 +- trunk/arch/arm/mm/mmu.c | 2 +- trunk/arch/arm/mm/proc-v7.S | 4 +- trunk/arch/arm/plat-omap/Makefile | 3 +- trunk/arch/arm/plat-omap/counter_32k.c | 2 + trunk/arch/arm/plat-omap/debug-devices.c | 92 - trunk/arch/arm/plat-omap/dma.c | 6 +- trunk/arch/arm/plat-omap/dmtimer.c | 19 +- trunk/arch/arm/plat-omap/include/plat/cpu.h | 4 - .../plat-omap/include/plat/debug-devices.h | 2 - trunk/arch/arm/plat-omap/sram.c | 2 + trunk/arch/arm/plat-pxa/ssp.c | 6 +- trunk/arch/arm/plat-samsung/adc.c | 4 +- .../arch/arm/plat-samsung/include/plat/cpu.h | 2 +- .../arm/plat-samsung/include/plat/gpio-core.h | 5 + trunk/arch/arm/plat-versatile/headsmp.S | 2 +- trunk/arch/arm/vfp/entry.S | 6 +- trunk/arch/arm/vfp/vfphw.S | 4 +- trunk/arch/arm64/Kconfig | 8 +- trunk/arch/arm64/boot/dts/Makefile | 1 + trunk/arch/arm64/include/asm/compat.h | 6 +- trunk/arch/arm64/include/asm/dma-mapping.h | 1 + trunk/arch/arm64/include/asm/elf.h | 5 +- trunk/arch/arm64/include/asm/pgtable.h | 36 +- trunk/arch/arm64/include/asm/unistd.h | 1 - trunk/arch/arm64/include/asm/unistd32.h | 7 +- trunk/arch/arm64/kernel/perf_event.c | 2 +- trunk/arch/arm64/kernel/vdso.c | 4 - trunk/arch/arm64/kernel/vdso/gettimeofday.S | 2 - trunk/arch/avr32/Kconfig | 2 - trunk/arch/avr32/include/asm/dma-mapping.h | 10 + trunk/arch/avr32/include/asm/ptrace.h | 1 + trunk/arch/avr32/include/asm/unistd.h | 1 - trunk/arch/avr32/include/uapi/asm/signal.h | 6 - trunk/arch/avr32/lib/delay.c | 2 +- trunk/arch/blackfin/Kconfig | 2 - trunk/arch/blackfin/include/asm/dma-mapping.h | 10 + trunk/arch/blackfin/include/asm/ptrace.h | 1 + trunk/arch/blackfin/include/asm/unistd.h | 1 - trunk/arch/blackfin/mach-common/dpmc.c | 6 +- trunk/arch/c6x/Kconfig | 2 - trunk/arch/c6x/include/asm/Kbuild | 1 + trunk/arch/c6x/include/asm/dma-mapping.h | 16 + trunk/arch/c6x/include/asm/mmu.h | 22 - trunk/arch/c6x/include/uapi/asm/unistd.h | 1 - trunk/arch/cris/Kconfig | 2 - trunk/arch/cris/arch-v32/drivers/pci/bios.c | 2 +- trunk/arch/cris/arch-v32/kernel/smp.c | 2 +- trunk/arch/cris/include/arch-v10/arch/Kbuild | 5 +- trunk/arch/cris/include/arch-v32/arch/Kbuild | 3 +- .../cris/include/arch-v32/arch/cryptocop.h | 116 +- .../cris/include/arch-v32/arch/spinlock.h | 2 +- trunk/arch/cris/include/asm/Kbuild | 5 - trunk/arch/cris/include/asm/dma-mapping.h | 10 + trunk/arch/cris/include/asm/ptrace.h | 6 +- trunk/arch/cris/include/asm/signal.h | 121 +- trunk/arch/cris/include/asm/swab.h | 3 +- trunk/arch/cris/include/asm/termios.h | 43 +- trunk/arch/cris/include/asm/types.h | 5 +- trunk/arch/cris/include/asm/unistd.h | 343 +--- .../cris/include/uapi/arch-v10/arch/Kbuild | 4 + .../{ => uapi}/arch-v10/arch/sv_addr.agh | 0 .../{ => uapi}/arch-v10/arch/sv_addr_ag.h | 0 .../include/{ => uapi}/arch-v10/arch/svinto.h | 0 .../include/{ => uapi}/arch-v10/arch/user.h | 0 .../cris/include/uapi/arch-v32/arch/Kbuild | 2 + .../include/uapi/arch-v32/arch/cryptocop.h | 122 ++ .../include/{ => uapi}/arch-v32/arch/user.h | 0 trunk/arch/cris/include/uapi/asm/Kbuild | 34 + .../arch/cris/include/{ => uapi}/asm/auxvec.h | 0 .../cris/include/{ => uapi}/asm/bitsperlong.h | 0 .../cris/include/{ => uapi}/asm/byteorder.h | 0 .../arch/cris/include/{ => uapi}/asm/errno.h | 0 .../cris/include/{ => uapi}/asm/ethernet.h | 0 .../cris/include/{ => uapi}/asm/etraxgpio.h | 0 .../arch/cris/include/{ => uapi}/asm/fcntl.h | 0 .../arch/cris/include/{ => uapi}/asm/ioctl.h | 0 .../arch/cris/include/{ => uapi}/asm/ioctls.h | 0 .../arch/cris/include/{ => uapi}/asm/ipcbuf.h | 0 trunk/arch/cris/include/{ => uapi}/asm/mman.h | 0 .../arch/cris/include/{ => uapi}/asm/msgbuf.h | 0 .../arch/cris/include/{ => uapi}/asm/param.h | 0 trunk/arch/cris/include/{ => uapi}/asm/poll.h | 0 .../cris/include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/cris/include/uapi/asm/ptrace.h | 1 + .../cris/include/{ => uapi}/asm/resource.h | 0 .../arch/cris/include/{ => uapi}/asm/rs485.h | 0 .../arch/cris/include/{ => uapi}/asm/sembuf.h | 0 .../arch/cris/include/{ => uapi}/asm/setup.h | 0 .../arch/cris/include/{ => uapi}/asm/shmbuf.h | 0 .../cris/include/{ => uapi}/asm/sigcontext.h | 0 .../cris/include/{ => uapi}/asm/siginfo.h | 0 trunk/arch/cris/include/uapi/asm/signal.h | 116 ++ .../arch/cris/include/{ => uapi}/asm/socket.h | 0 .../cris/include/{ => uapi}/asm/sockios.h | 0 trunk/arch/cris/include/{ => uapi}/asm/stat.h | 0 .../arch/cris/include/{ => uapi}/asm/statfs.h | 0 trunk/arch/cris/include/uapi/asm/swab.h | 3 + .../cris/include/{ => uapi}/asm/sync_serial.h | 0 .../cris/include/{ => uapi}/asm/termbits.h | 0 trunk/arch/cris/include/uapi/asm/termios.h | 45 + trunk/arch/cris/include/uapi/asm/types.h | 1 + trunk/arch/cris/include/uapi/asm/unistd.h | 344 ++++ trunk/arch/cris/kernel/asm-offsets.c | 6 +- trunk/arch/frv/Kconfig | 2 - trunk/arch/frv/include/asm/dma-mapping.h | 15 + trunk/arch/frv/include/asm/unistd.h | 1 - trunk/arch/frv/kernel/setup.c | 2 +- trunk/arch/frv/mb93090-mb00/pci-vdk.c | 6 +- trunk/arch/h8300/Kconfig | 2 - trunk/arch/h8300/include/asm/Kbuild | 2 +- trunk/arch/h8300/include/asm/mmu.h | 10 - trunk/arch/h8300/include/asm/param.h | 15 +- trunk/arch/h8300/include/asm/ptrace.h | 41 +- trunk/arch/h8300/include/asm/signal.h | 121 +- trunk/arch/h8300/include/asm/termios.h | 44 +- trunk/arch/h8300/include/asm/types.h | 5 +- trunk/arch/h8300/include/asm/unistd.h | 329 +-- trunk/arch/h8300/include/uapi/asm/Kbuild | 31 + .../h8300/include/{ => uapi}/asm/auxvec.h | 0 .../include/{ => uapi}/asm/bitsperlong.h | 0 .../h8300/include/{ => uapi}/asm/byteorder.h | 0 .../arch/h8300/include/{ => uapi}/asm/errno.h | 0 .../arch/h8300/include/{ => uapi}/asm/fcntl.h | 0 .../arch/h8300/include/{ => uapi}/asm/ioctl.h | 0 .../h8300/include/{ => uapi}/asm/ioctls.h | 0 .../h8300/include/{ => uapi}/asm/ipcbuf.h | 0 .../h8300/include/{ => uapi}/asm/kvm_para.h | 0 .../arch/h8300/include/{ => uapi}/asm/mman.h | 0 .../h8300/include/{ => uapi}/asm/msgbuf.h | 0 trunk/arch/h8300/include/uapi/asm/param.h | 16 + .../arch/h8300/include/{ => uapi}/asm/poll.h | 0 .../include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/h8300/include/uapi/asm/ptrace.h | 44 + .../h8300/include/{ => uapi}/asm/resource.h | 0 .../h8300/include/{ => uapi}/asm/sembuf.h | 0 .../arch/h8300/include/{ => uapi}/asm/setup.h | 0 .../h8300/include/{ => uapi}/asm/shmbuf.h | 0 .../h8300/include/{ => uapi}/asm/sigcontext.h | 0 .../h8300/include/{ => uapi}/asm/siginfo.h | 0 trunk/arch/h8300/include/uapi/asm/signal.h | 115 ++ .../h8300/include/{ => uapi}/asm/socket.h | 0 .../h8300/include/{ => uapi}/asm/sockios.h | 0 .../arch/h8300/include/{ => uapi}/asm/stat.h | 0 .../h8300/include/{ => uapi}/asm/statfs.h | 0 .../arch/h8300/include/{ => uapi}/asm/swab.h | 0 .../h8300/include/{ => uapi}/asm/termbits.h | 0 trunk/arch/h8300/include/uapi/asm/termios.h | 44 + trunk/arch/h8300/include/uapi/asm/types.h | 1 + trunk/arch/h8300/include/uapi/asm/unistd.h | 330 ++++ trunk/arch/hexagon/Kconfig | 2 - trunk/arch/hexagon/include/uapi/asm/unistd.h | 1 - trunk/arch/ia64/Kconfig | 2 - trunk/arch/ia64/include/asm/acpi.h | 2 +- trunk/arch/ia64/include/asm/dma-mapping.h | 1 + trunk/arch/ia64/include/asm/iosapic.h | 11 +- trunk/arch/ia64/include/asm/parport.h | 5 +- trunk/arch/ia64/include/asm/ptrace.h | 5 + trunk/arch/ia64/include/asm/smp.h | 2 +- trunk/arch/ia64/include/asm/unistd.h | 3 +- trunk/arch/ia64/include/uapi/asm/signal.h | 6 - trunk/arch/ia64/include/uapi/asm/unistd.h | 1 + trunk/arch/ia64/kernel/acpi.c | 6 +- trunk/arch/ia64/kernel/entry.S | 1 + trunk/arch/ia64/kernel/iosapic.c | 19 +- trunk/arch/ia64/kernel/ptrace.c | 27 - trunk/arch/ia64/kernel/smpboot.c | 11 +- trunk/arch/ia64/kernel/time.c | 3 +- trunk/arch/ia64/mm/init.c | 5 +- trunk/arch/ia64/mm/tlb.c | 3 +- trunk/arch/ia64/pci/fixup.c | 2 +- trunk/arch/ia64/pci/pci.c | 31 +- trunk/arch/ia64/sn/kernel/io_common.c | 3 +- trunk/arch/ia64/sn/kernel/sn2/sn_hwperf.c | 2 +- trunk/arch/ia64/xen/irq_xen.c | 5 +- trunk/arch/m32r/Kconfig | 2 - trunk/arch/m32r/include/asm/Kbuild | 1 - trunk/arch/m32r/include/asm/ptrace.h | 111 +- trunk/arch/m32r/include/asm/setup.h | 9 +- trunk/arch/m32r/include/asm/signal.h | 123 +- trunk/arch/m32r/include/asm/termios.h | 42 +- trunk/arch/m32r/include/asm/types.h | 5 +- trunk/arch/m32r/include/asm/unistd.h | 334 +--- trunk/arch/m32r/include/uapi/asm/Kbuild | 30 + .../arch/m32r/include/{ => uapi}/asm/auxvec.h | 0 .../m32r/include/{ => uapi}/asm/bitsperlong.h | 0 .../m32r/include/{ => uapi}/asm/byteorder.h | 0 .../arch/m32r/include/{ => uapi}/asm/errno.h | 0 .../arch/m32r/include/{ => uapi}/asm/fcntl.h | 0 .../arch/m32r/include/{ => uapi}/asm/ioctl.h | 0 .../arch/m32r/include/{ => uapi}/asm/ioctls.h | 0 .../arch/m32r/include/{ => uapi}/asm/ipcbuf.h | 0 trunk/arch/m32r/include/{ => uapi}/asm/mman.h | 0 .../arch/m32r/include/{ => uapi}/asm/msgbuf.h | 0 .../arch/m32r/include/{ => uapi}/asm/param.h | 0 trunk/arch/m32r/include/{ => uapi}/asm/poll.h | 0 .../m32r/include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/m32r/include/uapi/asm/ptrace.h | 117 ++ .../m32r/include/{ => uapi}/asm/resource.h | 0 .../arch/m32r/include/{ => uapi}/asm/sembuf.h | 0 trunk/arch/m32r/include/uapi/asm/setup.h | 11 + .../arch/m32r/include/{ => uapi}/asm/shmbuf.h | 0 .../m32r/include/{ => uapi}/asm/sigcontext.h | 0 .../m32r/include/{ => uapi}/asm/siginfo.h | 0 trunk/arch/m32r/include/uapi/asm/signal.h | 117 ++ .../arch/m32r/include/{ => uapi}/asm/socket.h | 0 .../m32r/include/{ => uapi}/asm/sockios.h | 0 trunk/arch/m32r/include/{ => uapi}/asm/stat.h | 0 .../arch/m32r/include/{ => uapi}/asm/statfs.h | 0 trunk/arch/m32r/include/{ => uapi}/asm/swab.h | 0 .../m32r/include/{ => uapi}/asm/termbits.h | 0 trunk/arch/m32r/include/uapi/asm/termios.h | 43 + trunk/arch/m32r/include/uapi/asm/types.h | 1 + trunk/arch/m32r/include/uapi/asm/unistd.h | 335 ++++ trunk/arch/m32r/kernel/smpboot.c | 2 +- trunk/arch/m68k/Kconfig | 2 - trunk/arch/m68k/emu/nfeth.c | 2 +- trunk/arch/m68k/include/asm/dma-mapping.h | 26 + trunk/arch/m68k/include/asm/parport.h | 4 +- trunk/arch/m68k/include/asm/pgtable_no.h | 2 + trunk/arch/m68k/include/asm/ptrace.h | 1 + trunk/arch/m68k/include/asm/unistd.h | 3 +- trunk/arch/m68k/include/uapi/asm/signal.h | 6 - trunk/arch/m68k/include/uapi/asm/unistd.h | 1 + trunk/arch/m68k/kernel/pcibios.c | 4 +- trunk/arch/m68k/kernel/syscalltable.S | 1 + trunk/arch/m68k/mm/init.c | 8 +- trunk/arch/microblaze/Kconfig | 2 - trunk/arch/microblaze/configs/mmu_defconfig | 52 +- trunk/arch/microblaze/configs/nommu_defconfig | 73 +- .../arch/microblaze/include/asm/dma-mapping.h | 2 + trunk/arch/microblaze/include/asm/highmem.h | 2 +- trunk/arch/microblaze/include/asm/ptrace.h | 1 + trunk/arch/microblaze/include/asm/uaccess.h | 2 +- trunk/arch/microblaze/include/asm/unistd.h | 3 - .../arch/microblaze/include/uapi/asm/unistd.h | 3 +- trunk/arch/microblaze/kernel/syscall_table.S | 1 + trunk/arch/microblaze/pci/pci-common.c | 39 +- trunk/arch/mips/Kconfig | 6 +- trunk/arch/mips/alchemy/common/time.c | 25 +- trunk/arch/mips/bcm47xx/Kconfig | 3 + .../mips/cavium-octeon/executive/cvmx-l2c.c | 9 +- trunk/arch/mips/cavium-octeon/serial.c | 2 +- trunk/arch/mips/include/asm/dma-mapping.h | 2 + trunk/arch/mips/include/asm/dsp.h | 2 +- trunk/arch/mips/include/asm/inst.h | 1 + .../arch/mips/include/asm/mach-pnx833x/war.h | 2 +- trunk/arch/mips/include/asm/page.h | 9 +- trunk/arch/mips/include/asm/pci.h | 4 +- trunk/arch/mips/include/asm/pgtable-64.h | 1 + trunk/arch/mips/include/asm/ptrace.h | 1 + trunk/arch/mips/include/asm/thread_info.h | 9 +- trunk/arch/mips/include/asm/unistd.h | 1 - trunk/arch/mips/include/uapi/asm/Kbuild | 1 + .../arch/mips/include/{ => uapi}/asm/break.h | 0 trunk/arch/mips/include/uapi/asm/signal.h | 6 - trunk/arch/mips/include/uapi/asm/unistd.h | 15 +- trunk/arch/mips/kernel/asm-offsets.c | 3 + trunk/arch/mips/kernel/ftrace.c | 36 +- trunk/arch/mips/kernel/genex.S | 5 +- trunk/arch/mips/kernel/head.S | 1 - trunk/arch/mips/kernel/mcount.S | 7 +- trunk/arch/mips/kernel/octeon_switch.S | 1 - trunk/arch/mips/kernel/perf_event_mipsxx.c | 38 - trunk/arch/mips/kernel/r2300_switch.S | 1 - trunk/arch/mips/kernel/r4k_switch.S | 1 - trunk/arch/mips/kernel/relocate_kernel.S | 3 +- trunk/arch/mips/kernel/scall32-o32.S | 1 + trunk/arch/mips/kernel/scall64-64.S | 1 + trunk/arch/mips/kernel/scall64-n32.S | 1 + trunk/arch/mips/kernel/scall64-o32.S | 1 + trunk/arch/mips/kernel/smp.c | 2 +- trunk/arch/mips/kernel/vmlinux.lds.S | 3 +- trunk/arch/mips/kernel/vpe.c | 2 +- trunk/arch/mips/lantiq/irq.c | 2 +- trunk/arch/mips/lantiq/xway/dma.c | 2 +- trunk/arch/mips/lantiq/xway/gptu.c | 2 +- trunk/arch/mips/lantiq/xway/xrx200_phy_fw.c | 2 +- trunk/arch/mips/lib/delay.c | 2 +- trunk/arch/mips/mm/mmap.c | 6 + trunk/arch/mips/mm/tlbex-fault.S | 1 - trunk/arch/mips/mm/tlbex.c | 16 - trunk/arch/mips/mti-sead3/sead3-i2c-drv.c | 6 +- .../arch/mips/mti-sead3/sead3-pic32-i2c-drv.c | 8 +- trunk/arch/mips/netlogic/xlr/setup.c | 5 +- trunk/arch/mips/pci/fixup-cobalt.c | 8 +- trunk/arch/mips/pci/fixup-emma2rh.c | 4 +- trunk/arch/mips/pci/fixup-fuloong2e.c | 12 +- trunk/arch/mips/pci/fixup-lemote2f.c | 12 +- trunk/arch/mips/pci/fixup-malta.c | 10 +- trunk/arch/mips/pci/fixup-rc32434.c | 6 +- trunk/arch/mips/pci/fixup-sb1250.c | 6 +- trunk/arch/mips/pci/ops-bcm63xx.c | 2 +- trunk/arch/mips/pci/ops-tx4927.c | 6 +- trunk/arch/mips/pci/pci-alchemy.c | 2 +- trunk/arch/mips/pci/pci-ar71xx.c | 2 +- trunk/arch/mips/pci/pci-ar724x.c | 2 +- trunk/arch/mips/pci/pci-ip27.c | 4 +- trunk/arch/mips/pci/pci-lantiq.c | 4 +- trunk/arch/mips/pci/pci.c | 9 +- trunk/arch/mips/power/hibernate.S | 3 +- trunk/arch/mips/sni/setup.c | 2 +- trunk/arch/mips/txx9/generic/pci.c | 11 +- trunk/arch/mn10300/Kconfig | 3 +- trunk/arch/mn10300/include/asm/dma-mapping.h | 15 + trunk/arch/mn10300/include/asm/unistd.h | 1 - trunk/arch/mn10300/include/uapi/asm/signal.h | 6 - trunk/arch/mn10300/kernel/smp.c | 4 +- trunk/arch/mn10300/unit-asb2305/pci.c | 6 +- trunk/arch/openrisc/Kconfig | 2 - trunk/arch/openrisc/include/asm/io.h | 1 + trunk/arch/openrisc/include/uapi/asm/unistd.h | 1 - trunk/arch/openrisc/lib/delay.c | 2 +- trunk/arch/parisc/Kconfig | 2 - trunk/arch/parisc/include/asm/dma-mapping.h | 15 + trunk/arch/parisc/include/asm/parport.h | 2 +- trunk/arch/parisc/include/asm/unistd.h | 1 - trunk/arch/parisc/include/uapi/asm/signal.h | 6 - trunk/arch/parisc/kernel/entry.S | 18 +- trunk/arch/parisc/kernel/hardware.c | 7 +- 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 +- trunk/arch/powerpc/Kconfig | 2 - trunk/arch/powerpc/include/asm/dma-mapping.h | 1 + trunk/arch/powerpc/include/asm/eeh.h | 6 +- .../arch/powerpc/include/asm/io-workarounds.h | 4 +- trunk/arch/powerpc/include/asm/parport.h | 2 +- trunk/arch/powerpc/include/asm/smp.h | 4 +- trunk/arch/powerpc/include/asm/unistd.h | 1 - trunk/arch/powerpc/include/asm/vio.h | 2 +- .../arch/powerpc/include/uapi/asm/kvm_para.h | 2 +- trunk/arch/powerpc/include/uapi/asm/signal.h | 6 - trunk/arch/powerpc/kernel/entry_32.S | 2 + trunk/arch/powerpc/kernel/entry_64.S | 13 + trunk/arch/powerpc/kernel/io-workarounds.c | 9 +- trunk/arch/powerpc/kernel/isa-bridge.c | 12 +- trunk/arch/powerpc/kernel/kgdb.c | 5 +- trunk/arch/powerpc/kernel/of_platform.c | 2 +- trunk/arch/powerpc/kernel/pci-common.c | 28 +- trunk/arch/powerpc/kernel/pci_32.c | 2 +- trunk/arch/powerpc/kernel/pci_64.c | 6 +- trunk/arch/powerpc/kernel/pci_dn.c | 4 +- trunk/arch/powerpc/kernel/pci_of_scan.c | 12 +- trunk/arch/powerpc/kernel/rtas_pci.c | 4 +- trunk/arch/powerpc/kernel/smp-tbsync.c | 8 +- trunk/arch/powerpc/kernel/smp.c | 8 +- trunk/arch/powerpc/kernel/time.c | 14 +- trunk/arch/powerpc/kernel/vio.c | 4 +- trunk/arch/powerpc/kvm/book3s_hv_ras.c | 4 + trunk/arch/powerpc/kvm/emulate.c | 2 + trunk/arch/powerpc/mm/hash_low_64.S | 62 +- trunk/arch/powerpc/mm/tlb_hash64.c | 4 - trunk/arch/powerpc/oprofile/op_model_power4.c | 2 +- .../powerpc/platforms/40x/ppc40x_simple.c | 3 +- trunk/arch/powerpc/platforms/44x/currituck.c | 2 +- .../arch/powerpc/platforms/44x/virtex_ml510.c | 2 +- .../arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 6 +- .../powerpc/platforms/52xx/mpc52xx_lpbfifo.c | 8 +- trunk/arch/powerpc/platforms/82xx/ep8248e.c | 2 +- .../powerpc/platforms/83xx/mcu_mpc8349emitx.c | 9 +- .../arch/powerpc/platforms/85xx/corenet_ds.c | 2 +- .../arch/powerpc/platforms/85xx/mpc85xx_cds.c | 2 +- trunk/arch/powerpc/platforms/85xx/tqm85xx.c | 2 +- trunk/arch/powerpc/platforms/86xx/gef_ppc9a.c | 2 +- .../arch/powerpc/platforms/86xx/gef_sbc310.c | 2 +- .../arch/powerpc/platforms/86xx/gef_sbc610.c | 2 +- trunk/arch/powerpc/platforms/cell/setup.c | 2 +- trunk/arch/powerpc/platforms/cell/smp.c | 6 +- .../powerpc/platforms/cell/spufs/syscalls.c | 2 +- trunk/arch/powerpc/platforms/chrp/pci.c | 2 +- trunk/arch/powerpc/platforms/chrp/smp.c | 4 +- trunk/arch/powerpc/platforms/fsl_uli1575.c | 20 +- trunk/arch/powerpc/platforms/maple/pci.c | 4 +- trunk/arch/powerpc/platforms/pasemi/cpufreq.c | 7 + .../arch/powerpc/platforms/pasemi/gpio_mdio.c | 2 +- trunk/arch/powerpc/platforms/pasemi/pasemi.h | 4 +- trunk/arch/powerpc/platforms/pasemi/setup.c | 4 +- trunk/arch/powerpc/platforms/powermac/pci.c | 6 +- trunk/arch/powerpc/platforms/powermac/smp.c | 8 +- .../arch/powerpc/platforms/powernv/pci-ioda.c | 48 +- .../powerpc/platforms/powernv/pci-p5ioc2.c | 4 +- trunk/arch/powerpc/platforms/powernv/pci.c | 11 +- trunk/arch/powerpc/platforms/powernv/smp.c | 2 +- trunk/arch/powerpc/platforms/ps3/repository.c | 2 +- .../arch/powerpc/platforms/pseries/eeh_dev.c | 4 +- trunk/arch/powerpc/platforms/pseries/eeh_pe.c | 2 +- .../powerpc/platforms/pseries/pci_dlpar.c | 2 +- trunk/arch/powerpc/platforms/pseries/smp.c | 6 +- trunk/arch/powerpc/platforms/wsp/scom_smp.c | 3 +- trunk/arch/powerpc/platforms/wsp/smp.c | 4 +- trunk/arch/powerpc/platforms/wsp/wsp.h | 2 +- trunk/arch/powerpc/platforms/wsp/wsp_pci.c | 2 +- trunk/arch/powerpc/sysdev/bestcomm/bestcomm.c | 7 +- trunk/arch/powerpc/sysdev/fsl_85xx_l2ctlr.c | 6 +- trunk/arch/powerpc/sysdev/fsl_ifc.c | 4 +- trunk/arch/powerpc/sysdev/fsl_lbc.c | 6 +- trunk/arch/powerpc/sysdev/fsl_msi.c | 7 +- trunk/arch/powerpc/sysdev/fsl_pci.c | 4 +- trunk/arch/powerpc/sysdev/fsl_rio.c | 2 +- trunk/arch/powerpc/sysdev/mpic.c | 2 +- trunk/arch/powerpc/sysdev/mpic_msgr.c | 2 +- trunk/arch/powerpc/sysdev/mv64x60_pci.c | 2 +- trunk/arch/powerpc/sysdev/ppc4xx_msi.c | 2 +- trunk/arch/s390/Kconfig | 2 - trunk/arch/s390/Makefile | 4 +- trunk/arch/s390/include/asm/compat.h | 3 + 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 | 17 +- trunk/arch/s390/include/asm/timex.h | 28 + trunk/arch/s390/include/asm/unistd.h | 1 - trunk/arch/s390/include/uapi/asm/signal.h | 6 - 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 | 11 +- 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 | 35 +- trunk/arch/s390/pci/pci_dma.c | 2 - trunk/arch/score/Kconfig | 2 - trunk/arch/score/include/asm/Kbuild | 1 - trunk/arch/score/include/asm/ptrace.h | 75 +- trunk/arch/score/include/asm/setup.h | 7 +- trunk/arch/score/include/uapi/asm/Kbuild | 31 + .../score/include/{ => uapi}/asm/auxvec.h | 0 .../include/{ => uapi}/asm/bitsperlong.h | 0 .../score/include/{ => uapi}/asm/byteorder.h | 0 .../arch/score/include/{ => uapi}/asm/errno.h | 0 .../arch/score/include/{ => uapi}/asm/fcntl.h | 0 .../arch/score/include/{ => uapi}/asm/ioctl.h | 0 .../score/include/{ => uapi}/asm/ioctls.h | 0 .../score/include/{ => uapi}/asm/ipcbuf.h | 0 .../score/include/{ => uapi}/asm/kvm_para.h | 0 .../arch/score/include/{ => uapi}/asm/mman.h | 0 .../score/include/{ => uapi}/asm/msgbuf.h | 0 .../arch/score/include/{ => uapi}/asm/param.h | 0 .../arch/score/include/{ => uapi}/asm/poll.h | 0 .../include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/score/include/uapi/asm/ptrace.h | 76 + .../score/include/{ => uapi}/asm/resource.h | 0 .../score/include/{ => uapi}/asm/sembuf.h | 0 trunk/arch/score/include/uapi/asm/setup.h | 9 + .../score/include/{ => uapi}/asm/shmbuf.h | 0 .../score/include/{ => uapi}/asm/sigcontext.h | 0 .../score/include/{ => uapi}/asm/siginfo.h | 0 .../score/include/{ => uapi}/asm/signal.h | 0 .../score/include/{ => uapi}/asm/socket.h | 0 .../score/include/{ => uapi}/asm/sockios.h | 0 .../arch/score/include/{ => uapi}/asm/stat.h | 0 .../score/include/{ => uapi}/asm/statfs.h | 0 .../arch/score/include/{ => uapi}/asm/swab.h | 0 .../score/include/{ => uapi}/asm/termbits.h | 0 .../score/include/{ => uapi}/asm/termios.h | 0 .../arch/score/include/{ => uapi}/asm/types.h | 0 .../score/include/{ => uapi}/asm/unistd.h | 1 - trunk/arch/score/mm/cache.c | 2 +- trunk/arch/sh/Kconfig | 2 - trunk/arch/sh/boards/mach-ecovec24/setup.c | 10 + trunk/arch/sh/drivers/pci/fixups-dreamcast.c | 2 +- trunk/arch/sh/drivers/pci/pci.c | 6 +- trunk/arch/sh/drivers/pci/pcie-sh7786.c | 2 +- trunk/arch/sh/include/asm/dma-mapping.h | 1 + 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/asm/unistd.h | 1 - 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/Kconfig | 2 - trunk/arch/sparc/crypto/aes_asm.S | 20 +- trunk/arch/sparc/crypto/aes_glue.c | 31 +- trunk/arch/sparc/crypto/camellia_glue.c | 3 + trunk/arch/sparc/crypto/des_asm.S | 1 + trunk/arch/sparc/crypto/des_glue.c | 6 + trunk/arch/sparc/include/asm/dma-mapping.h | 1 + trunk/arch/sparc/include/asm/hugetlb.h | 10 +- trunk/arch/sparc/include/asm/parport.h | 6 +- trunk/arch/sparc/include/asm/pgtable_64.h | 8 +- trunk/arch/sparc/include/asm/timer_64.h | 2 +- trunk/arch/sparc/include/asm/unistd.h | 1 - trunk/arch/sparc/include/uapi/asm/signal.h | 6 - trunk/arch/sparc/include/uapi/asm/unistd.h | 3 +- trunk/arch/sparc/kernel/apc.c | 4 +- trunk/arch/sparc/kernel/auxio_64.c | 2 +- trunk/arch/sparc/kernel/central.c | 6 +- trunk/arch/sparc/kernel/chmc.c | 34 +- trunk/arch/sparc/kernel/ds.c | 5 +- trunk/arch/sparc/kernel/ldc.c | 2 +- trunk/arch/sparc/kernel/leon_pci.c | 2 +- trunk/arch/sparc/kernel/leon_pci_grpci2.c | 2 +- trunk/arch/sparc/kernel/pci.c | 37 +- trunk/arch/sparc/kernel/pci_fire.c | 6 +- trunk/arch/sparc/kernel/pci_psycho.c | 12 +- trunk/arch/sparc/kernel/pci_sabre.c | 9 +- trunk/arch/sparc/kernel/pci_schizo.c | 16 +- trunk/arch/sparc/kernel/pci_sun4v.c | 15 +- trunk/arch/sparc/kernel/pcic.c | 5 +- trunk/arch/sparc/kernel/pmc.c | 2 +- trunk/arch/sparc/kernel/power.c | 4 +- trunk/arch/sparc/kernel/smp_64.c | 4 +- trunk/arch/sparc/kernel/systbls_32.S | 2 +- trunk/arch/sparc/kernel/systbls_64.S | 4 +- trunk/arch/sparc/kernel/time_32.c | 2 +- trunk/arch/sparc/kernel/time_64.c | 10 +- trunk/arch/sparc/mm/init_64.c | 6 +- trunk/arch/tile/Kconfig | 2 - trunk/arch/tile/include/asm/dma-mapping.h | 1 + trunk/arch/tile/include/asm/pci.h | 2 +- trunk/arch/tile/include/asm/ptrace.h | 1 + trunk/arch/tile/include/asm/unistd.h | 1 - trunk/arch/tile/kernel/pci.c | 23 +- trunk/arch/tile/kernel/pci_gx.c | 33 +- trunk/arch/um/kernel/signal.c | 5 - trunk/arch/unicore32/Kconfig | 2 - trunk/arch/unicore32/include/asm/ptrace.h | 1 + .../arch/unicore32/include/uapi/asm/unistd.h | 1 - trunk/arch/unicore32/kernel/pci.c | 2 +- trunk/arch/x86/Kconfig | 4 +- trunk/arch/x86/boot/Makefile | 4 +- trunk/arch/x86/boot/compressed/eboot.c | 21 +- trunk/arch/x86/boot/compressed/head_32.S | 8 +- trunk/arch/x86/boot/compressed/head_64.S | 8 +- trunk/arch/x86/boot/header.S | 39 +- trunk/arch/x86/boot/setup.ld | 2 +- trunk/arch/x86/boot/tools/build.c | 81 +- trunk/arch/x86/ia32/ia32_signal.c | 55 +- trunk/arch/x86/ia32/ia32entry.S | 5 +- trunk/arch/x86/include/asm/dma-mapping.h | 1 + trunk/arch/x86/include/asm/efi.h | 1 + trunk/arch/x86/include/asm/ia32.h | 10 +- trunk/arch/x86/include/asm/parport.h | 4 +- trunk/arch/x86/include/asm/pci_x86.h | 7 +- trunk/arch/x86/include/asm/ptrace.h | 7 + trunk/arch/x86/include/asm/sys_ia32.h | 2 - trunk/arch/x86/include/asm/syscalls.h | 3 - trunk/arch/x86/include/asm/unistd.h | 1 - trunk/arch/x86/include/asm/uv/uv.h | 2 +- trunk/arch/x86/include/uapi/asm/bootparam.h | 63 +- trunk/arch/x86/include/uapi/asm/signal.h | 6 - trunk/arch/x86/kernel/cpu/intel_cacheinfo.c | 7 +- trunk/arch/x86/kernel/cpu/perf_event.c | 6 - trunk/arch/x86/kernel/cpu/perf_event_intel.c | 6 +- .../x86/kernel/cpu/perf_event_intel_uncore.c | 6 +- trunk/arch/x86/kernel/cpu/perf_event_p6.c | 2 +- trunk/arch/x86/kernel/cpu/proc.c | 7 +- trunk/arch/x86/kernel/entry_32.S | 2 - trunk/arch/x86/kernel/entry_64.S | 10 +- trunk/arch/x86/kernel/head_32.S | 9 +- trunk/arch/x86/kernel/irqinit.c | 40 - trunk/arch/x86/kernel/kvm.c | 12 +- trunk/arch/x86/kernel/msr.c | 3 + trunk/arch/x86/kernel/pci-dma.c | 4 +- trunk/arch/x86/kernel/quirks.c | 4 +- trunk/arch/x86/kernel/reboot.c | 2 +- trunk/arch/x86/kernel/setup.c | 108 +- trunk/arch/x86/kernel/signal.c | 29 +- trunk/arch/x86/kernel/step.c | 9 +- trunk/arch/x86/kernel/traps.c | 6 - trunk/arch/x86/kvm/x86.c | 24 +- trunk/arch/x86/lib/delay.c | 2 +- trunk/arch/x86/pci/acpi.c | 11 +- trunk/arch/x86/pci/bus_numa.c | 4 +- trunk/arch/x86/pci/common.c | 29 +- trunk/arch/x86/pci/fixup.c | 30 +- trunk/arch/x86/pci/legacy.c | 4 +- trunk/arch/x86/pci/mmconfig-shared.c | 21 +- trunk/arch/x86/pci/mmconfig_32.c | 2 +- trunk/arch/x86/pci/mmconfig_64.c | 4 +- trunk/arch/x86/pci/mrst.c | 6 +- trunk/arch/x86/pci/numaq_32.c | 2 +- trunk/arch/x86/pci/pcbios.c | 4 +- trunk/arch/x86/platform/efi/efi.c | 59 +- trunk/arch/x86/platform/efi/efi_64.c | 22 +- trunk/arch/x86/platform/mrst/mrst.c | 2 +- trunk/arch/x86/platform/olpc/olpc-xo1-pm.c | 8 +- trunk/arch/x86/platform/olpc/olpc-xo1-sci.c | 18 +- trunk/arch/x86/platform/scx200/scx200_32.c | 6 +- trunk/arch/x86/platform/uv/tlb_uv.c | 10 +- trunk/arch/x86/syscalls/syscall_32.tbl | 2 +- trunk/arch/x86/syscalls/syscall_64.tbl | 4 +- trunk/arch/x86/tools/insn_sanity.c | 10 +- trunk/arch/x86/tools/relocs.c | 6 +- trunk/arch/x86/um/Kconfig | 3 +- trunk/arch/x86/um/asm/ptrace.h | 1 + trunk/arch/x86/um/signal.c | 9 +- trunk/arch/x86/um/sys_call_table_32.c | 1 - trunk/arch/x86/um/sys_call_table_64.c | 1 - trunk/arch/x86/xen/smp.c | 7 - trunk/arch/xtensa/Kconfig | 23 +- trunk/arch/xtensa/Kconfig.debug | 22 +- trunk/arch/xtensa/Makefile | 20 +- trunk/arch/xtensa/boot/Makefile | 25 +- trunk/arch/xtensa/boot/boot-elf/Makefile | 26 +- trunk/arch/xtensa/boot/boot-redboot/Makefile | 26 +- trunk/arch/xtensa/boot/boot-uboot/Makefile | 14 + trunk/arch/xtensa/boot/dts/lx60.dts | 11 + trunk/arch/xtensa/boot/dts/ml605.dts | 11 + .../xtensa/boot/dts/xtfpga-flash-16m.dtsi | 26 + .../arch/xtensa/boot/dts/xtfpga-flash-4m.dtsi | 18 + trunk/arch/xtensa/boot/dts/xtfpga.dtsi | 56 + trunk/arch/xtensa/include/asm/atomic.h | 271 ++- trunk/arch/xtensa/include/asm/barrier.h | 6 +- trunk/arch/xtensa/include/asm/bitops.h | 127 +- trunk/arch/xtensa/include/asm/bootparam.h | 20 +- trunk/arch/xtensa/include/asm/cacheasm.h | 1 - trunk/arch/xtensa/include/asm/cacheflush.h | 3 +- trunk/arch/xtensa/include/asm/checksum.h | 19 +- trunk/arch/xtensa/include/asm/cmpxchg.h | 74 +- trunk/arch/xtensa/include/asm/current.h | 2 +- trunk/arch/xtensa/include/asm/delay.h | 7 +- trunk/arch/xtensa/include/asm/dma-mapping.h | 21 +- trunk/arch/xtensa/include/asm/elf.h | 10 +- trunk/arch/xtensa/include/asm/highmem.h | 1 - .../arch/xtensa/include/asm/initialize_mmu.h | 55 + trunk/arch/xtensa/include/asm/mmu.h | 2 +- trunk/arch/xtensa/include/asm/mmu_context.h | 2 +- trunk/arch/xtensa/include/asm/nommu.h | 3 - trunk/arch/xtensa/include/asm/nommu_context.h | 2 +- trunk/arch/xtensa/include/asm/page.h | 20 +- trunk/arch/xtensa/include/asm/pci-bridge.h | 2 +- trunk/arch/xtensa/include/asm/pci.h | 2 +- trunk/arch/xtensa/include/asm/pgalloc.h | 2 +- trunk/arch/xtensa/include/asm/pgtable.h | 8 +- trunk/arch/xtensa/include/asm/platform.h | 1 - trunk/arch/xtensa/include/asm/processor.h | 10 +- trunk/arch/xtensa/include/asm/prom.h | 6 + trunk/arch/xtensa/include/asm/ptrace.h | 6 +- trunk/arch/xtensa/include/asm/regs.h | 5 +- trunk/arch/xtensa/include/asm/spinlock.h | 188 +- trunk/arch/xtensa/include/asm/syscall.h | 11 +- trunk/arch/xtensa/include/asm/traps.h | 23 + trunk/arch/xtensa/include/asm/uaccess.h | 43 +- trunk/arch/xtensa/include/asm/unistd.h | 1 - trunk/arch/xtensa/include/uapi/asm/signal.h | 6 - trunk/arch/xtensa/kernel/Makefile | 8 +- trunk/arch/xtensa/kernel/align.S | 4 +- trunk/arch/xtensa/kernel/asm-offsets.c | 5 +- trunk/arch/xtensa/kernel/coprocessor.S | 25 +- trunk/arch/xtensa/kernel/entry.S | 67 +- trunk/arch/xtensa/kernel/head.S | 21 +- trunk/arch/xtensa/kernel/irq.c | 132 +- trunk/arch/xtensa/kernel/module.c | 2 +- trunk/arch/xtensa/kernel/platform.c | 1 - trunk/arch/xtensa/kernel/process.c | 2 +- trunk/arch/xtensa/kernel/ptrace.c | 3 +- trunk/arch/xtensa/kernel/setup.c | 279 ++- trunk/arch/xtensa/kernel/signal.c | 8 +- trunk/arch/xtensa/kernel/syscall.c | 1 - trunk/arch/xtensa/kernel/time.c | 7 +- trunk/arch/xtensa/kernel/traps.c | 18 +- trunk/arch/xtensa/kernel/vectors.S | 67 +- trunk/arch/xtensa/lib/checksum.S | 15 +- trunk/arch/xtensa/lib/memcopy.S | 6 +- trunk/arch/xtensa/lib/pci-auto.c | 9 +- trunk/arch/xtensa/lib/strncpy_user.S | 4 +- trunk/arch/xtensa/lib/strnlen_user.S | 1 - trunk/arch/xtensa/lib/usercopy.S | 1 - trunk/arch/xtensa/mm/cache.c | 27 +- trunk/arch/xtensa/mm/fault.c | 1 - trunk/arch/xtensa/mm/init.c | 16 +- trunk/arch/xtensa/mm/misc.S | 51 +- trunk/arch/xtensa/mm/mmu.c | 2 +- trunk/arch/xtensa/mm/tlb.c | 9 +- .../platforms/iss/include/platform/serial.h | 15 + .../platforms/iss/include/platform/simcall.h | 7 +- trunk/arch/xtensa/platforms/xtfpga/Makefile | 9 + .../xtfpga/include/platform/hardware.h | 69 + .../platforms/xtfpga/include/platform/lcd.h | 20 + .../xtfpga/include/platform/serial.h | 18 + trunk/arch/xtensa/platforms/xtfpga/lcd.c | 76 + trunk/arch/xtensa/platforms/xtfpga/setup.c | 301 +++ trunk/arch/xtensa/variants/s6000/gpio.c | 4 +- trunk/drivers/acpi/acpi_memhotplug.c | 18 - trunk/drivers/acpi/acpica/Makefile | 2 +- trunk/drivers/acpi/acpica/utclib.c | 749 ------- trunk/drivers/acpi/apei/apei-base.c | 3 + trunk/drivers/acpi/apei/erst-dbg.c | 11 +- trunk/drivers/acpi/device_pm.c | 3 +- trunk/drivers/acpi/glue.c | 11 +- trunk/drivers/acpi/osl.c | 2 +- trunk/drivers/acpi/power.c | 11 +- trunk/drivers/acpi/processor_idle.c | 4 + trunk/drivers/acpi/processor_perflib.c | 7 + trunk/drivers/acpi/scan.c | 2 +- trunk/drivers/amba/bus.c | 4 - trunk/drivers/amba/tegra-ahb.c | 6 +- trunk/drivers/ata/ahci.c | 8 +- trunk/drivers/ata/ahci_platform.c | 2 +- trunk/drivers/ata/ata_piix.c | 17 +- trunk/drivers/ata/libahci.c | 6 +- trunk/drivers/ata/libata-core.c | 22 +- trunk/drivers/ata/libata-eh.c | 2 +- trunk/drivers/ata/pata_arasan_cf.c | 6 +- trunk/drivers/ata/pata_at91.c | 6 +- trunk/drivers/ata/pata_bf54x.c | 6 +- trunk/drivers/ata/pata_cs5520.c | 2 +- trunk/drivers/ata/pata_ep93xx.c | 6 +- trunk/drivers/ata/pata_icside.c | 21 +- trunk/drivers/ata/pata_imx.c | 6 +- trunk/drivers/ata/pata_ixp4xx_cf.c | 2 +- trunk/drivers/ata/pata_macio.c | 33 +- trunk/drivers/ata/pata_mpc52xx.c | 10 +- trunk/drivers/ata/pata_octeon_cf.c | 2 +- trunk/drivers/ata/pata_of_platform.c | 2 +- trunk/drivers/ata/pata_palmld.c | 6 +- trunk/drivers/ata/pata_pdc2027x.c | 3 +- trunk/drivers/ata/pata_platform.c | 11 +- trunk/drivers/ata/pata_pxa.c | 6 +- trunk/drivers/ata/pata_rb532_cf.c | 6 +- trunk/drivers/ata/pata_rdc.c | 3 +- trunk/drivers/ata/pata_sch.c | 3 +- trunk/drivers/ata/pata_sil680.c | 3 +- trunk/drivers/ata/sata_highbank.c | 2 +- trunk/drivers/ata/sata_mv.c | 8 +- trunk/drivers/ata/sata_vsc.c | 7 +- trunk/drivers/atm/ambassador.c | 53 +- trunk/drivers/atm/eni.c | 18 +- trunk/drivers/atm/firestream.c | 32 +- trunk/drivers/atm/fore200e.c | 70 +- trunk/drivers/atm/he.c | 36 +- trunk/drivers/atm/horizon.c | 12 +- trunk/drivers/atm/idt77252.c | 16 +- trunk/drivers/atm/iphase.c | 11 +- trunk/drivers/atm/lanai.c | 28 +- trunk/drivers/atm/nicstar.c | 18 +- trunk/drivers/atm/solos-pci.c | 188 +- trunk/drivers/atm/zatm.c | 31 +- trunk/drivers/auxdisplay/cfag12864bfb.c | 10 +- trunk/drivers/base/cpu.c | 2 +- trunk/drivers/base/devtmpfs.c | 2 +- trunk/drivers/base/dma-buf.c | 2 + trunk/drivers/base/firmware_class.c | 2 +- trunk/drivers/base/power/main.c | 9 +- trunk/drivers/base/power/qos.c | 10 +- trunk/drivers/base/regmap/regmap-debugfs.c | 51 +- trunk/drivers/base/regmap/regmap.c | 2 +- trunk/drivers/bcma/Kconfig | 3 +- trunk/drivers/bcma/bcma_private.h | 6 +- trunk/drivers/bcma/driver_chipcommon_pmu.c | 3 +- trunk/drivers/bcma/driver_chipcommon_sflash.c | 2 +- trunk/drivers/bcma/driver_gmac_cmn.c | 2 +- trunk/drivers/bcma/driver_pci.c | 4 +- trunk/drivers/bcma/driver_pci_host.c | 13 +- trunk/drivers/bcma/host_pci.c | 8 +- trunk/drivers/bcma/main.c | 2 +- trunk/drivers/block/cciss.c | 90 +- trunk/drivers/block/cpqarray.c | 16 +- trunk/drivers/block/nvme.c | 17 +- trunk/drivers/block/ps3disk.c | 2 +- trunk/drivers/block/ps3vram.c | 4 +- trunk/drivers/block/rbd.c | 1389 +++++++++---- trunk/drivers/block/rbd_types.h | 2 - trunk/drivers/block/sunvdc.c | 9 +- trunk/drivers/block/swim.c | 11 +- trunk/drivers/block/swim3.c | 3 +- trunk/drivers/block/umem.c | 3 +- trunk/drivers/block/virtio_blk.c | 20 +- trunk/drivers/block/xsysace.c | 19 +- trunk/drivers/bluetooth/ath3k.c | 10 + trunk/drivers/bluetooth/btusb.c | 5 + trunk/drivers/bus/omap-ocp2scp.c | 6 +- trunk/drivers/bus/omap_l3_noc.c | 6 +- trunk/drivers/cdrom/gdrom.c | 18 +- trunk/drivers/char/agp/ali-agp.c | 3 +- trunk/drivers/char/agp/amd-k7-agp.c | 4 +- trunk/drivers/char/agp/amd64-agp.c | 15 +- trunk/drivers/char/agp/ati-agp.c | 3 +- trunk/drivers/char/agp/efficeon-agp.c | 4 +- trunk/drivers/char/agp/i460-agp.c | 6 +- trunk/drivers/char/agp/intel-agp.c | 6 +- trunk/drivers/char/agp/nvidia-agp.c | 4 +- trunk/drivers/char/agp/sgi-agp.c | 2 +- trunk/drivers/char/agp/sis-agp.c | 5 +- trunk/drivers/char/agp/sworks-agp.c | 4 +- trunk/drivers/char/agp/uninorth-agp.c | 4 +- trunk/drivers/char/agp/via-agp.c | 3 +- trunk/drivers/char/hw_random/atmel-rng.c | 2 +- trunk/drivers/char/hw_random/bcm63xx-rng.c | 4 +- trunk/drivers/char/hw_random/exynos-rng.c | 4 +- trunk/drivers/char/hw_random/n2-drv.c | 6 +- trunk/drivers/char/hw_random/octeon-rng.c | 2 +- trunk/drivers/char/hw_random/omap-rng.c | 2 +- trunk/drivers/char/hw_random/pasemi-rng.c | 2 +- trunk/drivers/char/hw_random/picoxcell-rng.c | 2 +- trunk/drivers/char/hw_random/ppc4xx-rng.c | 2 +- trunk/drivers/char/hw_random/timeriomem-rng.c | 4 +- trunk/drivers/char/hw_random/virtio-rng.c | 2 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 6 +- trunk/drivers/char/random.c | 40 +- trunk/drivers/char/virtio_console.c | 325 ++- trunk/drivers/clk/clk-nomadik.c | 1 + trunk/drivers/clk/clk-twl6040.c | 6 +- trunk/drivers/clk/mvebu/clk-cpu.c | 9 +- trunk/drivers/clk/mvebu/clk-gating-ctrl.c | 2 +- trunk/drivers/clk/ux500/abx500-clk.c | 2 +- trunk/drivers/clocksource/acpi_pm.c | 6 +- trunk/drivers/clocksource/em_sti.c | 8 +- trunk/drivers/clocksource/sh_cmt.c | 6 +- trunk/drivers/clocksource/sh_mtu2.c | 6 +- trunk/drivers/clocksource/sh_tmu.c | 6 +- trunk/drivers/connector/connector.c | 4 +- trunk/drivers/cpufreq/Kconfig | 5 + trunk/drivers/cpufreq/Kconfig.x86 | 2 +- trunk/drivers/cpufreq/Makefile | 5 +- trunk/drivers/cpufreq/acpi-cpufreq.c | 7 + trunk/drivers/cpufreq/cpufreq-cpu0.c | 5 + trunk/drivers/cpufreq/cpufreq_stats.c | 11 +- trunk/drivers/cpufreq/longhaul.c | 10 +- trunk/drivers/cpufreq/omap-cpufreq.c | 3 + trunk/drivers/cpuidle/coupled.c | 2 +- trunk/drivers/cpuidle/cpuidle.c | 17 +- trunk/drivers/cpuidle/driver.c | 33 +- trunk/drivers/cpuidle/governors/menu.c | 8 +- trunk/drivers/cpuidle/sysfs.c | 2 +- trunk/drivers/crypto/atmel-aes.c | 6 +- trunk/drivers/crypto/atmel-sha.c | 6 +- trunk/drivers/crypto/atmel-tdes.c | 6 +- trunk/drivers/crypto/bfin_crc.c | 6 +- trunk/drivers/crypto/caam/ctrl.c | 2 +- trunk/drivers/crypto/geode-aes.c | 8 +- trunk/drivers/crypto/hifn_795x.c | 6 +- trunk/drivers/crypto/mv_cesa.c | 2 +- trunk/drivers/crypto/n2_core.c | 46 +- trunk/drivers/crypto/nx/nx.c | 7 +- trunk/drivers/crypto/omap-sham.c | 4 +- trunk/drivers/crypto/picoxcell_crypto.c | 6 +- trunk/drivers/crypto/tegra-aes.c | 6 +- trunk/drivers/devfreq/devfreq.c | 5 + trunk/drivers/devfreq/exynos4_bus.c | 100 +- trunk/drivers/dma/dw_dmac.c | 2 +- trunk/drivers/dma/edma.c | 2 +- trunk/drivers/dma/imx-dma.c | 5 +- trunk/drivers/dma/intel_mid_dma.c | 2 +- trunk/drivers/dma/ioat/dca.c | 9 +- trunk/drivers/dma/ioat/dma.c | 12 +- trunk/drivers/dma/ioat/dma.h | 13 +- trunk/drivers/dma/ioat/dma_v2.c | 2 +- trunk/drivers/dma/ioat/dma_v2.h | 8 +- trunk/drivers/dma/ioat/dma_v3.c | 10 +- trunk/drivers/dma/ioat/pci.c | 9 +- trunk/drivers/dma/iop-adma.c | 2 +- trunk/drivers/dma/mmp_pdma.c | 2 +- trunk/drivers/dma/mmp_tdma.c | 2 +- trunk/drivers/dma/mpc512x_dma.c | 2 +- trunk/drivers/dma/mv_xor.c | 9 +- trunk/drivers/dma/pch_dma.c | 2 +- trunk/drivers/dma/pl330.c | 2 +- trunk/drivers/dma/ppc4xx/adma.c | 4 +- trunk/drivers/dma/sa11x0-dma.c | 2 +- trunk/drivers/dma/sh/shdma.c | 2 +- trunk/drivers/dma/sirf-dma.c | 2 +- trunk/drivers/dma/tegra20-apb-dma.c | 14 +- trunk/drivers/dma/timb_dma.c | 2 +- trunk/drivers/edac/Kconfig | 8 +- trunk/drivers/edac/amd64_edac.c | 8 +- trunk/drivers/edac/amd76x_edac.c | 8 +- trunk/drivers/edac/cell_edac.c | 8 +- trunk/drivers/edac/cpc925_edac.c | 2 +- trunk/drivers/edac/e752x_edac.c | 7 +- trunk/drivers/edac/e7xxx_edac.c | 7 +- trunk/drivers/edac/edac_mc.c | 6 +- trunk/drivers/edac/edac_mc_sysfs.c | 19 +- trunk/drivers/edac/edac_pci_sysfs.c | 2 +- trunk/drivers/edac/highbank_l2_edac.c | 2 +- trunk/drivers/edac/highbank_mc_edac.c | 6 +- trunk/drivers/edac/i3000_edac.c | 7 +- trunk/drivers/edac/i3200_edac.c | 7 +- trunk/drivers/edac/i5000_edac.c | 7 +- trunk/drivers/edac/i5100_edac.c | 24 +- trunk/drivers/edac/i5400_edac.c | 7 +- trunk/drivers/edac/i7300_edac.c | 9 +- trunk/drivers/edac/i7core_edac.c | 7 +- trunk/drivers/edac/i82443bxgx_edac.c | 8 +- trunk/drivers/edac/i82860_edac.c | 8 +- trunk/drivers/edac/i82875p_edac.c | 8 +- trunk/drivers/edac/i82975x_edac.c | 8 +- trunk/drivers/edac/mpc85xx_edac.c | 8 +- trunk/drivers/edac/mv64x60_edac.c | 10 +- trunk/drivers/edac/octeon_edac-l2c.c | 2 +- trunk/drivers/edac/octeon_edac-lmc.c | 2 +- trunk/drivers/edac/octeon_edac-pc.c | 2 +- trunk/drivers/edac/octeon_edac-pci.c | 2 +- trunk/drivers/edac/pasemi_edac.c | 8 +- trunk/drivers/edac/ppc4xx_edac.c | 27 +- trunk/drivers/edac/r82600_edac.c | 8 +- trunk/drivers/edac/sb_edac.c | 7 +- trunk/drivers/edac/tile_edac.c | 8 +- trunk/drivers/edac/x38_edac.c | 7 +- trunk/drivers/firmware/dcdbas.c | 6 +- trunk/drivers/firmware/dmi_scan.c | 80 +- trunk/drivers/firmware/efivars.c | 9 +- trunk/drivers/firmware/iscsi_ibft_find.c | 2 +- trunk/drivers/gpio/Kconfig | 1 + trunk/drivers/gpio/gpio-da9055.c | 8 +- trunk/drivers/gpio/gpio-ich.c | 1 + trunk/drivers/gpio/gpio-mvebu.c | 23 - trunk/drivers/gpio/gpio-samsung.c | 14 +- trunk/drivers/gpio/gpio-ts5500.c | 6 +- trunk/drivers/gpio/gpio-viperboard.c | 6 +- trunk/drivers/gpu/drm/ast/ast_drv.c | 3 +- trunk/drivers/gpu/drm/cirrus/cirrus_drv.c | 4 +- trunk/drivers/gpu/drm/drm_mm.c | 86 +- trunk/drivers/gpu/drm/exynos/Kconfig | 4 +- trunk/drivers/gpu/drm/exynos/exynos_ddc.c | 2 +- trunk/drivers/gpu/drm/exynos/exynos_drm_buf.c | 79 +- trunk/drivers/gpu/drm/exynos/exynos_drm_buf.h | 22 +- .../gpu/drm/exynos/exynos_drm_connector.c | 55 +- .../gpu/drm/exynos/exynos_drm_connector.h | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_core.c | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_crtc.c | 52 +- .../drivers/gpu/drm/exynos/exynos_drm_crtc.h | 23 +- .../gpu/drm/exynos/exynos_drm_dmabuf.c | 53 +- .../gpu/drm/exynos/exynos_drm_dmabuf.h | 22 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.c | 24 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.h | 26 +- .../gpu/drm/exynos/exynos_drm_encoder.c | 22 +- .../gpu/drm/exynos/exynos_drm_encoder.h | 22 +- trunk/drivers/gpu/drm/exynos/exynos_drm_fb.c | 22 +- trunk/drivers/gpu/drm/exynos/exynos_drm_fb.h | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 44 +- .../drivers/gpu/drm/exynos/exynos_drm_fbdev.h | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_fimc.c | 130 +- .../drivers/gpu/drm/exynos/exynos_drm_fimc.h | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_fimd.c | 38 +- trunk/drivers/gpu/drm/exynos/exynos_drm_g2d.c | 8 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gem.c | 22 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gem.h | 22 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gsc.c | 62 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gsc.h | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_hdmi.c | 15 +- .../drivers/gpu/drm/exynos/exynos_drm_hdmi.h | 26 +- .../drivers/gpu/drm/exynos/exynos_drm_iommu.c | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_iommu.h | 22 +- trunk/drivers/gpu/drm/exynos/exynos_drm_ipp.c | 30 +- trunk/drivers/gpu/drm/exynos/exynos_drm_ipp.h | 26 +- .../gpu/drm/exynos/exynos_drm_rotator.c | 38 +- .../gpu/drm/exynos/exynos_drm_rotator.h | 22 +- .../drivers/gpu/drm/exynos/exynos_drm_vidi.c | 62 +- .../drivers/gpu/drm/exynos/exynos_drm_vidi.h | 22 +- trunk/drivers/gpu/drm/exynos/exynos_hdmi.c | 129 +- trunk/drivers/gpu/drm/exynos/exynos_hdmi.h | 22 +- trunk/drivers/gpu/drm/exynos/exynos_hdmiphy.c | 2 +- trunk/drivers/gpu/drm/exynos/exynos_mixer.c | 54 +- .../gpu/drm/gma500/tc35876x-dsi-lvds.c | 4 +- trunk/drivers/gpu/drm/i915/i915_debugfs.c | 5 + trunk/drivers/gpu/drm/i915/i915_dma.c | 3 + trunk/drivers/gpu/drm/i915/i915_drv.c | 3 +- trunk/drivers/gpu/drm/i915/i915_drv.h | 11 + trunk/drivers/gpu/drm/i915/i915_gem.c | 102 +- trunk/drivers/gpu/drm/i915/i915_gem_dmabuf.c | 7 +- .../gpu/drm/i915/i915_gem_execbuffer.c | 23 + trunk/drivers/gpu/drm/i915/i915_irq.c | 23 + trunk/drivers/gpu/drm/i915/i915_reg.h | 7 +- trunk/drivers/gpu/drm/i915/intel_display.c | 56 +- 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 | 188 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.c | 100 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.h | 1 + trunk/drivers/gpu/drm/i915/intel_sprite.c | 10 +- trunk/drivers/gpu/drm/mgag200/mgag200_drv.c | 3 +- .../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 +- .../nouveau/core/engine/graph/fuc/gpcnve0.fuc | 5 + .../core/engine/graph/fuc/gpcnve0.fuc.h | 17 +- .../nouveau/core/engine/graph/fuc/hubnvc0.fuc | 10 + .../core/engine/graph/fuc/hubnvc0.fuc.h | 147 +- .../nouveau/core/engine/graph/fuc/hubnve0.fuc | 13 + .../core/engine/graph/fuc/hubnve0.fuc.h | 157 +- .../gpu/drm/nouveau/core/engine/graph/nvc0.c | 11 +- .../gpu/drm/nouveau/core/engine/graph/nvc0.h | 1 + .../gpu/drm/nouveau/core/engine/graph/nve0.c | 3 +- .../drm/nouveau/core/include/core/client.h | 3 + .../drm/nouveau/core/include/subdev/bios.h | 1 + .../nouveau/core/include/subdev/bios/gpio.h | 8 +- .../nouveau/core/include/subdev/bios/init.h | 1 + .../nouveau/core/include/subdev/bios/pll.h | 2 + .../drm/nouveau/core/include/subdev/gpio.h | 2 +- .../gpu/drm/nouveau/core/subdev/bios/base.c | 5 +- .../gpu/drm/nouveau/core/subdev/bios/gpio.c | 128 +- .../gpu/drm/nouveau/core/subdev/bios/init.c | 66 +- .../gpu/drm/nouveau/core/subdev/clock/nvc0.c | 2 + .../gpu/drm/nouveau/core/subdev/device/nve0.c | 28 + .../gpu/drm/nouveau/core/subdev/fb/nvc0.c | 6 +- .../gpu/drm/nouveau/core/subdev/gpio/base.c | 9 +- .../gpu/drm/nouveau/core/subdev/gpio/nv50.c | 9 +- .../gpu/drm/nouveau/core/subdev/gpio/nvd0.c | 9 +- .../drm/nouveau/core/subdev/instmem/base.c | 35 +- .../gpu/drm/nouveau/core/subdev/mxm/base.c | 2 +- .../gpu/drm/nouveau/core/subdev/vm/base.c | 4 +- trunk/drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +- .../gpu/drm/nouveau/nouveau_connector.c | 30 +- .../drivers/gpu/drm/nouveau/nouveau_display.c | 9 - trunk/drivers/gpu/drm/nouveau/nouveau_drm.c | 11 +- trunk/drivers/gpu/drm/nouveau/nouveau_fence.h | 1 + trunk/drivers/gpu/drm/nouveau/nouveau_pm.c | 4 +- trunk/drivers/gpu/drm/nouveau/nouveau_prime.c | 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 | 119 +- trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 30 + trunk/drivers/gpu/drm/radeon/evergreend.h | 14 +- trunk/drivers/gpu/drm/radeon/ni.c | 120 +- trunk/drivers/gpu/drm/radeon/nid.h | 3 +- trunk/drivers/gpu/drm/radeon/r600.c | 120 +- trunk/drivers/gpu/drm/radeon/r600_cs.c | 72 +- trunk/drivers/gpu/drm/radeon/radeon.h | 11 +- trunk/drivers/gpu/drm/radeon/radeon_asic.c | 10 +- trunk/drivers/gpu/drm/radeon/radeon_asic.h | 4 + trunk/drivers/gpu/drm/radeon/radeon_combios.c | 59 + .../gpu/drm/radeon/radeon_connectors.c | 10 +- trunk/drivers/gpu/drm/radeon/radeon_cs.c | 11 +- trunk/drivers/gpu/drm/radeon/radeon_cursor.c | 3 +- trunk/drivers/gpu/drm/radeon/radeon_device.c | 48 +- trunk/drivers/gpu/drm/radeon/radeon_display.c | 19 +- trunk/drivers/gpu/drm/radeon/radeon_drv.c | 8 +- trunk/drivers/gpu/drm/radeon/radeon_fence.c | 49 +- trunk/drivers/gpu/drm/radeon/radeon_i2c.c | 10 +- .../gpu/drm/radeon/radeon_legacy_encoders.c | 8 + trunk/drivers/gpu/drm/radeon/radeon_mode.h | 5 +- trunk/drivers/gpu/drm/radeon/radeon_object.c | 18 +- trunk/drivers/gpu/drm/radeon/radeon_pm.c | 15 +- trunk/drivers/gpu/drm/radeon/radeon_prime.c | 1 + trunk/drivers/gpu/drm/radeon/radeon_ring.c | 29 +- .../drivers/gpu/drm/radeon/radeon_semaphore.c | 4 + trunk/drivers/gpu/drm/radeon/reg_srcs/cayman | 1 + trunk/drivers/gpu/drm/radeon/reg_srcs/rv515 | 2 + trunk/drivers/gpu/drm/radeon/rv515.c | 2 + trunk/drivers/gpu/drm/radeon/rv770.c | 74 + trunk/drivers/gpu/drm/radeon/si.c | 84 +- trunk/drivers/gpu/drm/radeon/sid.h | 18 + .../drivers/gpu/drm/shmobile/shmob_drm_drv.c | 10 +- trunk/drivers/gpu/drm/tegra/dc.c | 11 +- trunk/drivers/gpu/drm/tegra/drm.h | 18 - trunk/drivers/gpu/drm/tegra/hdmi.c | 25 +- trunk/drivers/gpu/drm/tegra/host1x.c | 2 + trunk/drivers/gpu/drm/ttm/ttm_bo.c | 3 +- trunk/drivers/gpu/drm/ttm/ttm_bo_util.c | 15 +- trunk/drivers/gpu/drm/udl/udl_connector.c | 17 +- trunk/drivers/hid/hid-ids.h | 3 + trunk/drivers/hid/i2c-hid/i2c-hid.c | 25 +- trunk/drivers/hid/usbhid/hid-quirks.c | 1 + trunk/drivers/hsi/clients/hsi_char.c | 8 +- trunk/drivers/hv/hv_balloon.c | 35 +- trunk/drivers/hwmon/emc6w201.c | 2 +- trunk/drivers/hwmon/hwmon-vid.c | 10 + trunk/drivers/hwmon/hwmon.c | 26 +- trunk/drivers/hwmon/it87.c | 918 +++++---- trunk/drivers/hwmon/lm73.c | 16 +- trunk/drivers/hwmon/vexpress.c | 5 +- trunk/drivers/hwmon/w83627ehf.c | 99 +- trunk/drivers/hwmon/w83627hf.c | 81 +- trunk/drivers/i2c/busses/i2c-ali1535.c | 8 +- trunk/drivers/i2c/busses/i2c-ali1563.c | 10 +- trunk/drivers/i2c/busses/i2c-ali15x3.c | 8 +- trunk/drivers/i2c/busses/i2c-amd756.c | 7 +- trunk/drivers/i2c/busses/i2c-amd8111.c | 7 +- trunk/drivers/i2c/busses/i2c-at91.c | 14 +- trunk/drivers/i2c/busses/i2c-au1550.c | 6 +- trunk/drivers/i2c/busses/i2c-cpm.c | 8 +- .../drivers/i2c/busses/i2c-designware-core.c | 4 + .../i2c/busses/i2c-designware-pcidrv.c | 6 +- .../i2c/busses/i2c-designware-platdrv.c | 6 +- trunk/drivers/i2c/busses/i2c-eg20t.c | 6 +- trunk/drivers/i2c/busses/i2c-elektor.c | 8 +- trunk/drivers/i2c/busses/i2c-gpio.c | 8 +- trunk/drivers/i2c/busses/i2c-highlander.c | 6 +- trunk/drivers/i2c/busses/i2c-hydra.c | 6 +- trunk/drivers/i2c/busses/i2c-i801.c | 28 +- trunk/drivers/i2c/busses/i2c-ibm_iic.c | 8 +- trunk/drivers/i2c/busses/i2c-intel-mid.c | 6 +- trunk/drivers/i2c/busses/i2c-isch.c | 6 +- trunk/drivers/i2c/busses/i2c-mpc.c | 38 +- trunk/drivers/i2c/busses/i2c-mv64xxx.c | 18 +- trunk/drivers/i2c/busses/i2c-mxs.c | 12 +- trunk/drivers/i2c/busses/i2c-nforce2.c | 12 +- trunk/drivers/i2c/busses/i2c-nuc900.c | 6 +- trunk/drivers/i2c/busses/i2c-ocores.c | 6 +- trunk/drivers/i2c/busses/i2c-octeon.c | 10 +- trunk/drivers/i2c/busses/i2c-omap.c | 12 +- trunk/drivers/i2c/busses/i2c-parport-light.c | 6 +- trunk/drivers/i2c/busses/i2c-pasemi.c | 6 +- trunk/drivers/i2c/busses/i2c-pca-isa.c | 8 +- trunk/drivers/i2c/busses/i2c-pca-platform.c | 6 +- trunk/drivers/i2c/busses/i2c-piix4.c | 32 +- trunk/drivers/i2c/busses/i2c-pmcmsp.c | 6 +- trunk/drivers/i2c/busses/i2c-pnx.c | 6 +- trunk/drivers/i2c/busses/i2c-powermac.c | 16 +- trunk/drivers/i2c/busses/i2c-puv3.c | 6 +- trunk/drivers/i2c/busses/i2c-pxa-pci.c | 6 +- trunk/drivers/i2c/busses/i2c-rcar.c | 6 +- trunk/drivers/i2c/busses/i2c-s6000.c | 8 +- trunk/drivers/i2c/busses/i2c-sh7760.c | 8 +- trunk/drivers/i2c/busses/i2c-sh_mobile.c | 2 +- trunk/drivers/i2c/busses/i2c-sirf.c | 12 +- trunk/drivers/i2c/busses/i2c-sis5595.c | 4 +- trunk/drivers/i2c/busses/i2c-sis630.c | 8 +- trunk/drivers/i2c/busses/i2c-sis96x.c | 6 +- trunk/drivers/i2c/busses/i2c-tegra.c | 8 +- trunk/drivers/i2c/busses/i2c-via.c | 6 +- trunk/drivers/i2c/busses/i2c-viapro.c | 4 +- trunk/drivers/i2c/busses/i2c-viperboard.c | 6 +- trunk/drivers/i2c/busses/i2c-xiic.c | 8 +- trunk/drivers/i2c/busses/i2c-xlr.c | 6 +- trunk/drivers/i2c/busses/scx200_acb.c | 16 +- trunk/drivers/i2c/muxes/i2c-mux-gpio.c | 14 +- trunk/drivers/i2c/muxes/i2c-mux-pinctrl.c | 10 +- trunk/drivers/ide/aec62xx.c | 8 +- trunk/drivers/ide/alim15x3.c | 10 +- trunk/drivers/ide/amd74xx.c | 4 +- trunk/drivers/ide/atiixp.c | 4 +- trunk/drivers/ide/cmd64x.c | 4 +- trunk/drivers/ide/cs5520.c | 4 +- trunk/drivers/ide/cs5530.c | 6 +- trunk/drivers/ide/cs5535.c | 5 +- trunk/drivers/ide/cy82c693.c | 11 +- trunk/drivers/ide/delkin_cb.c | 5 +- trunk/drivers/ide/hpt366.c | 42 +- trunk/drivers/ide/icside.c | 15 +- trunk/drivers/ide/ide-pci-generic.c | 4 +- trunk/drivers/ide/ide_platform.c | 14 +- trunk/drivers/ide/it8172.c | 5 +- trunk/drivers/ide/it8213.c | 4 +- trunk/drivers/ide/it821x.c | 10 +- trunk/drivers/ide/jmicron.c | 4 +- trunk/drivers/ide/ns87415.c | 8 +- trunk/drivers/ide/opti621.c | 4 +- trunk/drivers/ide/palm_bk3710.c | 7 +- trunk/drivers/ide/pdc202xx_new.c | 10 +- trunk/drivers/ide/pdc202xx_old.c | 8 +- trunk/drivers/ide/piix.c | 8 +- trunk/drivers/ide/pmac.c | 16 +- trunk/drivers/ide/rapide.c | 7 +- trunk/drivers/ide/rz1000.c | 6 +- trunk/drivers/ide/sc1200.c | 4 +- trunk/drivers/ide/scc_pata.c | 20 +- trunk/drivers/ide/serverworks.c | 4 +- trunk/drivers/ide/sgiioc4.c | 13 +- trunk/drivers/ide/siimage.c | 13 +- trunk/drivers/ide/sis5513.c | 10 +- trunk/drivers/ide/sl82c105.c | 4 +- trunk/drivers/ide/slc90e66.c | 5 +- trunk/drivers/ide/tc86c001.c | 12 +- trunk/drivers/ide/triflex.c | 5 +- trunk/drivers/ide/trm290.c | 6 +- trunk/drivers/ide/via82cxxx.c | 8 +- trunk/drivers/idle/intel_idle.c | 5 +- trunk/drivers/iio/accel/Kconfig | 1 + trunk/drivers/iio/accel/hid-sensor-accel-3d.c | 4 +- trunk/drivers/iio/adc/ad7266.c | 14 +- trunk/drivers/iio/adc/ad7298.c | 6 +- trunk/drivers/iio/adc/ad7476.c | 6 +- trunk/drivers/iio/adc/ad7791.c | 10 +- trunk/drivers/iio/adc/ad7887.c | 6 +- trunk/drivers/iio/adc/at91_adc.c | 8 +- trunk/drivers/iio/adc/lp8788_adc.c | 6 +- trunk/drivers/iio/adc/max1363.c | 23 +- trunk/drivers/iio/adc/ti_am335x_adc.c | 6 +- trunk/drivers/iio/adc/viperboard_adc.c | 6 +- trunk/drivers/iio/amplifiers/ad8366.c | 6 +- trunk/drivers/iio/common/hid-sensors/Kconfig | 13 +- trunk/drivers/iio/common/hid-sensors/Makefile | 3 +- trunk/drivers/iio/dac/ad5064.c | 18 +- trunk/drivers/iio/dac/ad5360.c | 8 +- trunk/drivers/iio/dac/ad5380.c | 28 +- trunk/drivers/iio/dac/ad5421.c | 6 +- trunk/drivers/iio/dac/ad5446.c | 24 +- trunk/drivers/iio/dac/ad5449.c | 6 +- trunk/drivers/iio/dac/ad5504.c | 12 +- trunk/drivers/iio/dac/ad5624r_spi.c | 12 +- trunk/drivers/iio/dac/ad5686.c | 12 +- trunk/drivers/iio/dac/ad5755.c | 16 +- trunk/drivers/iio/dac/ad5764.c | 6 +- trunk/drivers/iio/dac/ad5791.c | 19 +- trunk/drivers/iio/dac/max517.c | 6 +- trunk/drivers/iio/dac/mcp4725.c | 8 +- trunk/drivers/iio/frequency/ad9523.c | 6 +- trunk/drivers/iio/frequency/adf4350.c | 8 +- trunk/drivers/iio/gyro/Kconfig | 1 + trunk/drivers/iio/gyro/hid-sensor-gyro-3d.c | 4 +- trunk/drivers/iio/light/Kconfig | 1 + trunk/drivers/iio/light/adjd_s311.c | 8 +- trunk/drivers/iio/light/hid-sensor-als.c | 4 +- trunk/drivers/iio/light/lm3533-als.c | 19 +- trunk/drivers/iio/light/vcnl4000.c | 8 +- trunk/drivers/iio/magnetometer/Kconfig | 1 + .../iio/magnetometer/hid-sensor-magn-3d.c | 4 +- trunk/drivers/infiniband/hw/amso1100/c2.c | 7 +- trunk/drivers/infiniband/hw/amso1100/c2.h | 8 +- trunk/drivers/infiniband/hw/amso1100/c2_pd.c | 4 +- trunk/drivers/infiniband/hw/amso1100/c2_qp.c | 4 +- .../drivers/infiniband/hw/amso1100/c2_rnic.c | 4 +- trunk/drivers/infiniband/hw/cxgb4/cm.c | 791 +++++++- trunk/drivers/infiniband/hw/cxgb4/device.c | 210 +- trunk/drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 33 + trunk/drivers/infiniband/hw/ehca/ehca_main.c | 6 +- .../infiniband/hw/ipath/ipath_driver.c | 12 +- .../drivers/infiniband/hw/mthca/mthca_main.c | 9 +- trunk/drivers/infiniband/hw/nes/nes.c | 6 +- trunk/drivers/infiniband/hw/qib/qib_init.c | 12 +- trunk/drivers/infiniband/ulp/ipoib/ipoib_cm.c | 3 + trunk/drivers/infiniband/ulp/ipoib/ipoib_ib.c | 3 +- trunk/drivers/input/keyboard/gpio_keys.c | 13 +- .../drivers/input/keyboard/gpio_keys_polled.c | 13 +- trunk/drivers/input/keyboard/tca8418_keypad.c | 2 +- trunk/drivers/input/mouse/sentelic.c | 2 +- trunk/drivers/input/serio/i8042-x86ia64io.h | 9 + trunk/drivers/iommu/amd_iommu.c | 196 +- trunk/drivers/iommu/amd_iommu_init.c | 34 + trunk/drivers/iommu/amd_iommu_types.h | 1 + trunk/drivers/iommu/intel-iommu.c | 67 +- trunk/drivers/iommu/omap-iommu.c | 74 +- trunk/drivers/iommu/omap-iommu.h | 3 - trunk/drivers/iommu/omap-iommu2.c | 36 - trunk/drivers/iommu/tegra-gart.c | 6 +- trunk/drivers/iommu/tegra-smmu.c | 10 +- trunk/drivers/isdn/gigaset/capi.c | 2 + trunk/drivers/isdn/hardware/avm/b1pci.c | 8 +- trunk/drivers/isdn/hardware/avm/c4.c | 3 +- trunk/drivers/isdn/hardware/avm/t1pci.c | 3 +- trunk/drivers/isdn/hardware/eicon/divasmain.c | 9 +- trunk/drivers/isdn/hardware/mISDN/avmfritz.c | 10 +- trunk/drivers/isdn/hardware/mISDN/hfcmulti.c | 6 +- trunk/drivers/isdn/hardware/mISDN/hfcpci.c | 6 +- .../isdn/hardware/mISDN/mISDNinfineon.c | 16 +- trunk/drivers/isdn/hardware/mISDN/netjet.c | 10 +- trunk/drivers/isdn/hardware/mISDN/speedfax.c | 14 +- trunk/drivers/isdn/hardware/mISDN/w6692.c | 6 +- trunk/drivers/isdn/hisax/amd7930_fn.c | 3 +- trunk/drivers/isdn/hisax/asuscom.c | 9 +- trunk/drivers/isdn/hisax/avm_a1.c | 3 +- trunk/drivers/isdn/hisax/avm_a1p.c | 2 +- trunk/drivers/isdn/hisax/avm_pci.c | 17 +- trunk/drivers/isdn/hisax/avma1_cs.c | 12 +- trunk/drivers/isdn/hisax/bkm_a4t.c | 16 +- trunk/drivers/isdn/hisax/bkm_a8.c | 18 +- trunk/drivers/isdn/hisax/config.c | 26 +- trunk/drivers/isdn/hisax/diva.c | 31 +- trunk/drivers/isdn/hisax/elsa.c | 31 +- trunk/drivers/isdn/hisax/elsa_cs.c | 12 +- trunk/drivers/isdn/hisax/enternow_pci.c | 14 +- trunk/drivers/isdn/hisax/gazel.c | 11 +- trunk/drivers/isdn/hisax/hfc4s8s_l1.c | 16 +- trunk/drivers/isdn/hisax/hfc_pci.c | 4 +- trunk/drivers/isdn/hisax/hfc_sx.c | 9 +- trunk/drivers/isdn/hisax/hfcscard.c | 9 +- trunk/drivers/isdn/hisax/hisax_fcpcipnp.c | 22 +- trunk/drivers/isdn/hisax/icc.c | 3 +- trunk/drivers/isdn/hisax/isac.c | 7 +- trunk/drivers/isdn/hisax/isurf.c | 5 +- trunk/drivers/isdn/hisax/ix1_micro.c | 9 +- trunk/drivers/isdn/hisax/mic.c | 3 +- trunk/drivers/isdn/hisax/niccy.c | 6 +- trunk/drivers/isdn/hisax/nj_s.c | 14 +- trunk/drivers/isdn/hisax/nj_u.c | 14 +- trunk/drivers/isdn/hisax/s0box.c | 3 +- trunk/drivers/isdn/hisax/saphir.c | 3 +- trunk/drivers/isdn/hisax/sedlbauer.c | 23 +- trunk/drivers/isdn/hisax/sedlbauer_cs.c | 12 +- trunk/drivers/isdn/hisax/sportster.c | 6 +- trunk/drivers/isdn/hisax/teleint.c | 3 +- trunk/drivers/isdn/hisax/teles0.c | 3 +- trunk/drivers/isdn/hisax/teles3.c | 9 +- trunk/drivers/isdn/hisax/teles_cs.c | 12 +- trunk/drivers/isdn/hisax/telespci.c | 5 +- trunk/drivers/isdn/hisax/w6692.c | 5 +- trunk/drivers/isdn/hysdn/hysdn_init.c | 8 +- trunk/drivers/isdn/mISDN/core.c | 4 - trunk/drivers/isdn/mISDN/dsp_core.c | 3 +- trunk/drivers/leds/leds-gpio.c | 5 +- trunk/drivers/lguest/core.c | 2 +- trunk/drivers/macintosh/macio_asic.c | 6 +- trunk/drivers/macintosh/mediabay.c | 3 +- trunk/drivers/macintosh/rack-meter.c | 12 +- .../macintosh/windfarm_ad7417_sensor.c | 18 +- .../drivers/macintosh/windfarm_fcu_controls.c | 21 +- trunk/drivers/macintosh/windfarm_pm112.c | 4 +- trunk/drivers/macintosh/windfarm_pm121.c | 4 +- trunk/drivers/macintosh/windfarm_pm72.c | 2 +- trunk/drivers/macintosh/windfarm_pm81.c | 4 +- trunk/drivers/macintosh/windfarm_pm91.c | 4 +- trunk/drivers/macintosh/windfarm_rm31.c | 2 +- trunk/drivers/md/dm-bio-prison.c | 25 - trunk/drivers/md/dm-bio-prison.h | 1 - trunk/drivers/md/dm-crypt.c | 5 +- trunk/drivers/md/dm-delay.c | 5 +- trunk/drivers/md/dm-flakey.c | 21 +- trunk/drivers/md/dm-io.c | 23 +- trunk/drivers/md/dm-ioctl.c | 64 +- trunk/drivers/md/dm-kcopyd.c | 18 +- trunk/drivers/md/dm-linear.c | 6 +- trunk/drivers/md/dm-raid.c | 107 +- trunk/drivers/md/dm-raid1.c | 75 +- trunk/drivers/md/dm-snap.c | 90 +- trunk/drivers/md/dm-stripe.c | 20 +- trunk/drivers/md/dm-table.c | 41 +- trunk/drivers/md/dm-target.c | 5 +- trunk/drivers/md/dm-thin-metadata.c | 2 +- trunk/drivers/md/dm-thin.c | 245 ++- trunk/drivers/md/dm-verity.c | 25 +- trunk/drivers/md/dm-zero.c | 5 +- trunk/drivers/md/dm.c | 88 +- trunk/drivers/md/dm.h | 2 +- .../md/persistent-data/dm-block-manager.c | 12 +- .../md/persistent-data/dm-btree-internal.h | 16 +- .../md/persistent-data/dm-btree-remove.c | 50 +- .../md/persistent-data/dm-btree-spine.c | 20 +- trunk/drivers/md/persistent-data/dm-btree.c | 31 +- .../md/persistent-data/dm-space-map-common.c | 16 +- .../persistent-data/dm-space-map-metadata.c | 2 +- trunk/drivers/media/i2c/adv7180.c | 8 +- trunk/drivers/media/i2c/adv7183.c | 2 +- trunk/drivers/media/i2c/as3645a.c | 10 +- trunk/drivers/media/i2c/m5mols/m5mols_core.c | 10 +- trunk/drivers/media/i2c/vs6624.c | 6 +- trunk/drivers/media/mmc/siano/smssdio.c | 4 +- trunk/drivers/media/pci/bt8xx/bt878.c | 11 +- trunk/drivers/media/pci/bt8xx/bttv-cards.c | 34 +- trunk/drivers/media/pci/bt8xx/bttv-driver.c | 9 +- trunk/drivers/media/pci/bt8xx/bttv-i2c.c | 6 +- trunk/drivers/media/pci/bt8xx/bttv-input.c | 4 +- trunk/drivers/media/pci/bt8xx/dvb-bt8xx.c | 7 +- trunk/drivers/media/pci/cx18/cx18-driver.c | 14 +- .../drivers/media/pci/cx23885/cx23885-core.c | 8 +- .../drivers/media/pci/cx25821/cx25821-core.c | 8 +- trunk/drivers/media/pci/cx88/cx88-alsa.c | 19 +- trunk/drivers/media/pci/cx88/cx88-mpeg.c | 8 +- trunk/drivers/media/pci/cx88/cx88-video.c | 8 +- .../media/pci/ddbridge/ddbridge-core.c | 9 +- trunk/drivers/media/pci/dm1105/dm1105.c | 20 +- trunk/drivers/media/pci/ivtv/ivtv-driver.c | 9 +- trunk/drivers/media/pci/mantis/hopper_cards.c | 9 +- trunk/drivers/media/pci/mantis/mantis_cards.c | 9 +- trunk/drivers/media/pci/mantis/mantis_dvb.c | 4 +- trunk/drivers/media/pci/mantis/mantis_i2c.c | 2 +- trunk/drivers/media/pci/mantis/mantis_pci.c | 2 +- trunk/drivers/media/pci/meye/meye.c | 7 +- trunk/drivers/media/pci/ngene/ngene-cards.c | 4 +- trunk/drivers/media/pci/ngene/ngene-core.c | 5 +- trunk/drivers/media/pci/ngene/ngene.h | 5 +- trunk/drivers/media/pci/pluto2/pluto2.c | 25 +- trunk/drivers/media/pci/pt1/pt1.c | 7 +- .../drivers/media/pci/saa7134/saa7134-core.c | 10 +- trunk/drivers/media/pci/saa7134/saa7134.h | 2 +- .../drivers/media/pci/saa7164/saa7164-core.c | 8 +- trunk/drivers/media/pci/sta2x11/sta2x11_vip.c | 8 +- trunk/drivers/media/pci/ttpci/av7110.c | 8 +- trunk/drivers/media/pci/ttpci/av7110_ir.c | 4 +- trunk/drivers/media/pci/zoran/zoran_card.c | 20 +- trunk/drivers/media/pci/zoran/zoran_driver.c | 2 +- .../media/platform/blackfin/bfin_capture.c | 6 +- trunk/drivers/media/platform/coda.c | 6 +- .../media/platform/davinci/dm355_ccdc.c | 4 +- .../media/platform/davinci/dm644x_ccdc.c | 4 +- trunk/drivers/media/platform/davinci/isif.c | 4 +- trunk/drivers/media/platform/davinci/vpbe.c | 2 +- .../media/platform/davinci/vpbe_display.c | 15 +- .../media/platform/davinci/vpfe_capture.c | 6 +- trunk/drivers/media/platform/davinci/vpif.c | 6 +- trunk/drivers/media/platform/davinci/vpss.c | 6 +- .../media/platform/exynos-gsc/gsc-core.c | 4 +- trunk/drivers/media/platform/fsl-viu.c | 6 +- trunk/drivers/media/platform/omap24xxcam.c | 2 +- trunk/drivers/media/platform/omap3isp/isp.c | 8 +- .../media/platform/omap3isp/ispvideo.c | 3 - .../media/platform/s3c-camif/camif-core.c | 4 +- .../media/platform/s5p-fimc/fimc-core.c | 4 +- .../media/platform/s5p-fimc/fimc-lite.c | 6 +- .../media/platform/s5p-fimc/fimc-mdevice.c | 6 +- .../media/platform/s5p-fimc/mipi-csis.c | 6 +- .../drivers/media/platform/s5p-mfc/s5p_mfc.c | 92 +- .../drivers/media/platform/s5p-tv/hdmi_drv.c | 6 +- .../media/platform/s5p-tv/hdmiphy_drv.c | 8 +- trunk/drivers/media/platform/s5p-tv/mixer.h | 2 +- .../drivers/media/platform/s5p-tv/mixer_drv.c | 18 +- .../media/platform/s5p-tv/mixer_video.c | 4 +- trunk/drivers/media/platform/s5p-tv/sdo_drv.c | 6 +- .../media/platform/s5p-tv/sii9234_drv.c | 8 +- trunk/drivers/media/platform/sh_vou.c | 6 +- .../media/platform/soc_camera/atmel-isi.c | 6 +- .../media/platform/soc_camera/mx2_camera.c | 8 +- .../media/platform/soc_camera/mx3_camera.c | 6 +- .../media/platform/soc_camera/pxa_camera.c | 6 +- .../soc_camera/sh_mobile_ceu_camera.c | 6 +- .../platform/soc_camera/sh_mobile_csi2.c | 6 +- .../media/platform/soc_camera/soc_camera.c | 6 +- trunk/drivers/media/platform/timblogiw.c | 12 +- trunk/drivers/media/platform/via-camera.c | 6 +- trunk/drivers/media/radio/radio-keene.c | 1 + trunk/drivers/media/radio/radio-maxiradio.c | 7 +- trunk/drivers/media/radio/radio-sf16fmi.c | 2 +- trunk/drivers/media/radio/radio-sf16fmr2.c | 19 +- trunk/drivers/media/radio/radio-si4713.c | 1 + trunk/drivers/media/radio/radio-tea5764.c | 8 +- trunk/drivers/media/radio/radio-timb.c | 6 +- trunk/drivers/media/radio/radio-wl1273.c | 5 +- trunk/drivers/media/radio/saa7706h.c | 8 +- .../media/radio/si470x/radio-si470x-i2c.c | 8 +- trunk/drivers/media/radio/tef6862.c | 8 +- trunk/drivers/media/radio/wl128x/fmdrv_v4l2.c | 10 + trunk/drivers/media/rc/ene_ir.c | 2 +- trunk/drivers/media/rc/fintek-cir.c | 4 +- trunk/drivers/media/rc/gpio-ir-recv.c | 6 +- trunk/drivers/media/rc/iguanair.c | 8 +- trunk/drivers/media/rc/imon.c | 8 +- trunk/drivers/media/rc/ir-rx51.c | 2 +- trunk/drivers/media/rc/ite-cir.c | 4 +- trunk/drivers/media/rc/mceusb.c | 8 +- trunk/drivers/media/rc/nuvoton-cir.c | 4 +- trunk/drivers/media/rc/redrat3.c | 8 +- trunk/drivers/media/rc/streamzap.c | 4 +- trunk/drivers/media/rc/ttusbir.c | 8 +- trunk/drivers/media/rc/winbond-cir.c | 6 +- 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/gspca/spca506.c | 3 +- trunk/drivers/media/usb/siano/smsusb.c | 2 +- .../media/usb/usbvision/usbvision-video.c | 10 +- trunk/drivers/media/usb/uvc/uvc_ctrl.c | 15 +- trunk/drivers/media/usb/uvc/uvc_v4l2.c | 18 +- .../drivers/media/v4l2-core/videobuf2-core.c | 4 +- trunk/drivers/memory/tegra20-mc.c | 4 +- trunk/drivers/memory/tegra30-mc.c | 4 +- trunk/drivers/message/fusion/mptfc.c | 7 +- trunk/drivers/message/fusion/mptsas.c | 4 +- trunk/drivers/message/fusion/mptspi.c | 2 +- trunk/drivers/message/i2o/pci.c | 11 +- trunk/drivers/mfd/Kconfig | 2 + trunk/drivers/mfd/ab8500-core.c | 1 + trunk/drivers/mfd/arizona-core.c | 7 +- trunk/drivers/mfd/arizona-irq.c | 18 +- trunk/drivers/mfd/da9052-i2c.c | 61 + trunk/drivers/mfd/db8500-prcmu.c | 13 +- trunk/drivers/mfd/max77686.c | 18 +- trunk/drivers/mfd/max77693.c | 34 +- trunk/drivers/mfd/max8997.c | 2 +- trunk/drivers/mfd/omap-usb-host.c | 3 +- trunk/drivers/mfd/pcf50633-core.c | 5 +- trunk/drivers/mfd/retu-mfd.c | 5 +- trunk/drivers/mfd/rtl8411.c | 29 + trunk/drivers/mfd/rts5209.c | 21 + trunk/drivers/mfd/rts5229.c | 21 + trunk/drivers/mfd/rtsx_pcr.c | 35 +- trunk/drivers/mfd/sta2x11-mfd.c | 8 +- trunk/drivers/mfd/stmpe.c | 15 +- trunk/drivers/mfd/tc3589x.c | 17 +- trunk/drivers/mfd/ti_am335x_tscadc.c | 6 +- trunk/drivers/mfd/tps80031.c | 11 +- trunk/drivers/mfd/twl4030-power.c | 2 +- trunk/drivers/mfd/twl6040.c | 8 +- trunk/drivers/mfd/vexpress-config.c | 8 +- trunk/drivers/mfd/vexpress-sysreg.c | 34 +- trunk/drivers/mfd/wm5102-tables.c | 2 +- trunk/drivers/misc/atmel-ssc.c | 8 + trunk/drivers/misc/mei/amthif.c | 6 +- trunk/drivers/misc/mei/wd.c | 2 +- trunk/drivers/misc/sgi-xp/xpc_main.c | 34 +- trunk/drivers/misc/ti-st/st_kim.c | 37 +- trunk/drivers/mmc/host/dw_mmc-pci.c | 2 +- trunk/drivers/mmc/host/dw_mmc-pltfm.c | 2 +- trunk/drivers/mmc/host/mvsdio.c | 92 +- trunk/drivers/mmc/host/rtsx_pci_sdmmc.c | 30 +- trunk/drivers/mmc/host/sdhci-acpi.c | 6 +- trunk/drivers/mmc/host/wmt-sdmmc.c | 4 +- trunk/drivers/mtd/ar7part.c | 7 +- trunk/drivers/mtd/bcm63xxpart.c | 32 +- trunk/drivers/mtd/chips/cfi_cmdset_0002.c | 16 +- trunk/drivers/mtd/cmdlinepart.c | 91 +- trunk/drivers/mtd/devices/Kconfig | 1 + trunk/drivers/mtd/devices/bcm47xxsflash.c | 4 +- trunk/drivers/mtd/devices/block2mtd.c | 4 +- trunk/drivers/mtd/devices/docg3.c | 2 +- trunk/drivers/mtd/devices/docprobe.c | 2 - trunk/drivers/mtd/devices/m25p80.c | 48 +- trunk/drivers/mtd/devices/mtd_dataflash.c | 20 +- trunk/drivers/mtd/devices/spear_smi.c | 27 +- trunk/drivers/mtd/devices/sst25l.c | 10 +- trunk/drivers/mtd/maps/Kconfig | 7 - trunk/drivers/mtd/maps/Makefile | 1 - trunk/drivers/mtd/maps/amd76xrom.c | 7 +- trunk/drivers/mtd/maps/autcpu12-nvram.c | 6 +- trunk/drivers/mtd/maps/bfin-async-flash.c | 9 +- trunk/drivers/mtd/maps/ck804xrom.c | 6 +- trunk/drivers/mtd/maps/esb2rom.c | 8 +- trunk/drivers/mtd/maps/fortunet.c | 277 --- trunk/drivers/mtd/maps/gpio-addr-flash.c | 12 +- trunk/drivers/mtd/maps/ichxrom.c | 8 +- trunk/drivers/mtd/maps/intel_vr_nor.c | 19 +- trunk/drivers/mtd/maps/lantiq-flash.c | 8 +- trunk/drivers/mtd/maps/latch-addr-flash.c | 4 +- trunk/drivers/mtd/maps/pci.c | 8 +- trunk/drivers/mtd/maps/physmap_of.c | 21 +- trunk/drivers/mtd/maps/pismo.c | 31 +- trunk/drivers/mtd/maps/pxa2xx-flash.c | 6 +- trunk/drivers/mtd/maps/sa1100-flash.c | 6 +- trunk/drivers/mtd/maps/scb2_flash.c | 12 +- trunk/drivers/mtd/maps/sun_uflash.c | 6 +- trunk/drivers/mtd/maps/vmu-flash.c | 10 +- trunk/drivers/mtd/mtd_blkdevs.c | 51 +- trunk/drivers/mtd/mtdoops.c | 15 +- trunk/drivers/mtd/nand/Kconfig | 34 +- trunk/drivers/mtd/nand/Makefile | 4 +- trunk/drivers/mtd/nand/ams-delta.c | 6 +- trunk/drivers/mtd/nand/atmel_nand.c | 34 +- trunk/drivers/mtd/nand/au1550nd.c | 8 +- trunk/drivers/mtd/nand/bcm47xxnflash/Makefile | 4 + .../mtd/nand/bcm47xxnflash/bcm47xxnflash.h | 22 + trunk/drivers/mtd/nand/bcm47xxnflash/main.c | 108 + .../mtd/nand/bcm47xxnflash/ops_bcm4706.c | 413 ++++ trunk/drivers/mtd/nand/bf5xx_nand.c | 8 +- trunk/drivers/mtd/nand/cafe_nand.c | 12 +- trunk/drivers/mtd/nand/cs553x_nand.c | 3 +- trunk/drivers/mtd/nand/davinci_nand.c | 13 +- trunk/drivers/mtd/nand/denali.c | 162 +- trunk/drivers/mtd/nand/denali.h | 5 + trunk/drivers/mtd/nand/denali_dt.c | 167 ++ trunk/drivers/mtd/nand/denali_pci.c | 144 ++ trunk/drivers/mtd/nand/diskonchip.c | 2 - trunk/drivers/mtd/nand/docg4.c | 73 +- trunk/drivers/mtd/nand/fsl_elbc_nand.c | 17 +- trunk/drivers/mtd/nand/fsl_ifc_nand.c | 6 +- trunk/drivers/mtd/nand/fsl_upm.c | 12 +- trunk/drivers/mtd/nand/fsmc_nand.c | 110 +- trunk/drivers/mtd/nand/gpio.c | 34 +- trunk/drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 10 +- trunk/drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 44 +- trunk/drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 1 - trunk/drivers/mtd/nand/jz4740_nand.c | 15 +- trunk/drivers/mtd/nand/lpc32xx_mlc.c | 6 +- trunk/drivers/mtd/nand/lpc32xx_slc.c | 6 +- trunk/drivers/mtd/nand/mpc5121_nfc.c | 8 +- trunk/drivers/mtd/nand/mxc_nand.c | 12 +- trunk/drivers/mtd/nand/nand_base.c | 117 +- trunk/drivers/mtd/nand/nandsim.c | 186 +- trunk/drivers/mtd/nand/ndfc.c | 6 +- trunk/drivers/mtd/nand/nomadik_nand.c | 235 --- trunk/drivers/mtd/nand/nuc900_nand.c | 6 +- trunk/drivers/mtd/nand/omap2.c | 2 +- trunk/drivers/mtd/nand/orion_nand.c | 4 +- trunk/drivers/mtd/nand/pasemi_nand.c | 4 +- trunk/drivers/mtd/nand/plat_nand.c | 6 +- trunk/drivers/mtd/nand/s3c2410.c | 7 +- trunk/drivers/mtd/nand/sh_flctl.c | 306 ++- trunk/drivers/mtd/nand/sharpsl.c | 6 +- trunk/drivers/mtd/nand/socrates_nand.c | 6 +- trunk/drivers/mtd/ofpart.c | 5 +- trunk/drivers/mtd/onenand/generic.c | 6 +- trunk/drivers/mtd/onenand/omap2.c | 6 +- trunk/drivers/mtd/onenand/samsung.c | 4 +- trunk/drivers/mtd/tests/mtd_nandbiterrs.c | 73 +- trunk/drivers/mtd/tests/mtd_nandecctest.c | 6 +- trunk/drivers/mtd/tests/mtd_oobtest.c | 171 +- trunk/drivers/mtd/tests/mtd_pagetest.c | 152 +- trunk/drivers/mtd/tests/mtd_readtest.c | 44 +- trunk/drivers/mtd/tests/mtd_speedtest.c | 88 +- trunk/drivers/mtd/tests/mtd_stresstest.c | 44 +- trunk/drivers/mtd/tests/mtd_subpagetest.c | 124 +- trunk/drivers/mtd/tests/mtd_torturetest.c | 73 +- trunk/drivers/mtd/ubi/attach.c | 23 +- trunk/drivers/mtd/ubi/build.c | 12 +- trunk/drivers/mtd/ubi/debug.c | 34 +- trunk/drivers/mtd/ubi/debug.h | 57 +- trunk/drivers/mtd/ubi/fastmap.c | 6 +- trunk/drivers/mtd/ubi/gluebi.c | 28 +- trunk/drivers/mtd/ubi/io.c | 14 +- trunk/drivers/mtd/ubi/ubi.h | 40 +- trunk/drivers/mtd/ubi/upd.c | 6 +- trunk/drivers/mtd/ubi/vmt.c | 4 +- trunk/drivers/mtd/ubi/vtbl.c | 2 +- trunk/drivers/mtd/ubi/wl.c | 7 +- trunk/drivers/net/bonding/bond_main.c | 2 - trunk/drivers/net/can/c_can/c_can.c | 4 +- trunk/drivers/net/can/pch_can.c | 2 +- .../net/can/sja1000/sja1000_of_platform.c | 2 +- trunk/drivers/net/can/ti_hecc.c | 4 +- trunk/drivers/net/ethernet/3com/3c574_cs.c | 2 +- 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/broadcom/tg3.c | 62 +- trunk/drivers/net/ethernet/calxeda/xgmac.c | 4 + .../net/ethernet/chelsio/cxgb4/cxgb4.h | 136 ++ .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 476 ++++- .../net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 23 +- .../drivers/net/ethernet/chelsio/cxgb4/l2t.c | 32 + .../drivers/net/ethernet/chelsio/cxgb4/l2t.h | 3 + .../net/ethernet/chelsio/cxgb4/t4_hw.c | 22 +- .../net/ethernet/chelsio/cxgb4/t4_msg.h | 66 + .../net/ethernet/chelsio/cxgb4/t4_regs.h | 37 + .../net/ethernet/chelsio/cxgb4/t4fw_api.h | 418 ++++ trunk/drivers/net/ethernet/emulex/benet/be.h | 3 +- .../net/ethernet/emulex/benet/be_cmds.c | 5 + .../net/ethernet/emulex/benet/be_main.c | 88 +- trunk/drivers/net/ethernet/freescale/Kconfig | 3 +- .../drivers/net/ethernet/intel/ixgbe/Makefile | 3 +- .../net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 5 - .../net/ethernet/intel/ixgbe/ixgbe_ptp.c | 4 +- trunk/drivers/net/ethernet/marvell/mvmdio.c | 6 +- trunk/drivers/net/ethernet/marvell/mvneta.c | 19 +- .../net/ethernet/mellanox/mlx4/en_tx.c | 13 +- trunk/drivers/net/ethernet/mellanox/mlx4/fw.c | 15 +- trunk/drivers/net/ethernet/mellanox/mlx4/fw.h | 1 + .../drivers/net/ethernet/mellanox/mlx4/main.c | 126 +- .../drivers/net/ethernet/mellanox/mlx4/mcg.c | 7 +- .../drivers/net/ethernet/mellanox/mlx4/mlx4.h | 6 +- .../ethernet/mellanox/mlx4/resource_tracker.c | 28 +- trunk/drivers/net/ethernet/micrel/ksz884x.c | 12 +- trunk/drivers/net/ethernet/nvidia/forcedeth.c | 35 + .../ethernet/qlogic/netxen/netxen_nic_init.c | 2 +- .../ethernet/qlogic/netxen/netxen_nic_main.c | 2 + .../net/ethernet/qlogic/qlcnic/qlcnic.h | 4 +- .../net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 5 +- .../net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 5 +- .../net/ethernet/qlogic/qlcnic/qlcnic_main.c | 5 - .../ethernet/qlogic/qlcnic/qlcnic_minidump.c | 3 +- .../net/ethernet/qlogic/qlge/qlge_main.c | 2 +- trunk/drivers/net/ethernet/realtek/8139cp.c | 18 +- trunk/drivers/net/ethernet/realtek/r8169.c | 21 +- trunk/drivers/net/ethernet/smsc/smc91x.c | 4 +- trunk/drivers/net/ethernet/smsc/smsc911x.c | 4 +- .../net/ethernet/stmicro/stmmac/stmmac.h | 6 +- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 22 +- trunk/drivers/net/ethernet/ti/cpts.c | 5 +- trunk/drivers/net/ethernet/ti/cpts.h | 1 - trunk/drivers/net/ethernet/xilinx/Kconfig | 2 +- .../net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- trunk/drivers/net/hyperv/hyperv_net.h | 2 +- trunk/drivers/net/hyperv/netvsc_drv.c | 2 +- trunk/drivers/net/loopback.c | 5 + trunk/drivers/net/macvlan.c | 5 +- trunk/drivers/net/phy/icplus.c | 29 +- trunk/drivers/net/phy/marvell.c | 9 - trunk/drivers/net/tun.c | 180 +- trunk/drivers/net/usb/cdc_ether.c | 45 +- trunk/drivers/net/usb/cdc_mbim.c | 19 + trunk/drivers/net/usb/cdc_ncm.c | 41 +- trunk/drivers/net/usb/dm9601.c | 52 +- trunk/drivers/net/usb/qmi_wwan.c | 18 + trunk/drivers/net/usb/usbnet.c | 29 +- trunk/drivers/net/virtio_net.c | 166 +- trunk/drivers/net/vxlan.c | 7 +- trunk/drivers/net/wimax/i2400m/i2400m-usb.h | 3 + trunk/drivers/net/wimax/i2400m/usb.c | 6 + trunk/drivers/net/wireless/Makefile | 2 +- trunk/drivers/net/wireless/ath/Kconfig | 1 + trunk/drivers/net/wireless/ath/Makefile | 1 + trunk/drivers/net/wireless/ath/ath9k/Kconfig | 5 +- .../net/wireless/ath/ath9k/ar9003_calib.c | 2 + .../net/wireless/ath/ath9k/ar9003_hw.c | 2 +- .../net/wireless/ath/ath9k/ar9003_phy.c | 27 +- trunk/drivers/net/wireless/ath/ath9k/ath9k.h | 3 - trunk/drivers/net/wireless/ath/ath9k/beacon.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/debug.c | 1 - trunk/drivers/net/wireless/ath/ath9k/debug.h | 2 - .../drivers/net/wireless/ath/ath9k/htc_hst.c | 2 + trunk/drivers/net/wireless/ath/ath9k/hw.h | 1 + trunk/drivers/net/wireless/ath/ath9k/main.c | 22 +- trunk/drivers/net/wireless/ath/ath9k/recv.c | 54 +- trunk/drivers/net/wireless/ath/carl9170/fw.c | 6 +- .../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 +- .../wireless/brcm80211/brcmfmac/wl_cfg80211.c | 5 +- .../net/wireless/brcm80211/brcmsmac/debug.h | 1 + .../wireless/brcm80211/brcmsmac/mac80211_if.c | 7 +- .../wireless/brcm80211/brcmsmac/phy/phy_lcn.c | 4 +- .../drivers/net/wireless/iwlegacy/3945-mac.c | 2 +- trunk/drivers/net/wireless/iwlegacy/common.c | 35 +- trunk/drivers/net/wireless/iwlwifi/dvm/tx.c | 26 +- trunk/drivers/net/wireless/iwlwifi/pcie/rx.c | 1 + trunk/drivers/net/wireless/mwifiex/cfg80211.c | 19 +- trunk/drivers/net/wireless/mwifiex/pcie.c | 2 +- .../drivers/net/wireless/mwifiex/sta_ioctl.c | 35 +- trunk/drivers/net/wireless/mwl8k.c | 4 +- trunk/drivers/net/wireless/p54/p54usb.c | 4 + trunk/drivers/net/wireless/rt2x00/rt2x00dev.c | 8 + trunk/drivers/net/wireless/rtlwifi/Kconfig | 4 +- trunk/drivers/net/wireless/rtlwifi/pci.c | 6 + .../wireless/rtlwifi/rtl8192c/phy_common.c | 2 +- .../net/wireless/rtlwifi/rtl8192ce/trx.c | 11 + .../net/wireless/rtlwifi/rtl8192de/trx.c | 10 + .../net/wireless/rtlwifi/rtl8192se/trx.c | 13 +- .../net/wireless/rtlwifi/rtl8723ae/phy.c | 2 +- .../net/wireless/rtlwifi/rtl8723ae/sw.c | 2 +- .../net/wireless/rtlwifi/rtl8723ae/trx.c | 10 + trunk/drivers/net/wireless/rtlwifi/usb.c | 8 +- trunk/drivers/net/xen-netfront.c | 27 +- trunk/drivers/nfc/pn544/i2c.c | 8 +- trunk/drivers/of/base.c | 2 +- trunk/drivers/parisc/dino.c | 2 +- trunk/drivers/parisc/lba_pci.c | 2 +- trunk/drivers/parport/parport_gsc.c | 23 +- trunk/drivers/parport/parport_pc.c | 55 +- trunk/drivers/parport/parport_serial.c | 21 +- trunk/drivers/parport/parport_sunbpp.c | 6 +- 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/pci-sysfs.c | 85 +- trunk/drivers/pci/pcie/Kconfig | 2 +- trunk/drivers/pci/pcie/aer/aerdrv_core.c | 1 + trunk/drivers/pci/pcie/aspm.c | 3 + trunk/drivers/pci/pcie/portdrv_pci.c | 20 +- trunk/drivers/pci/quirks.c | 7 +- trunk/drivers/pinctrl/Kconfig | 1 - trunk/drivers/pinctrl/core.c | 2 +- .../pinctrl/mvebu/pinctrl-armada-370.c | 8 +- .../drivers/pinctrl/mvebu/pinctrl-armada-xp.c | 8 +- trunk/drivers/pinctrl/mvebu/pinctrl-dove.c | 17 +- .../drivers/pinctrl/mvebu/pinctrl-kirkwood.c | 16 +- trunk/drivers/pinctrl/mvebu/pinctrl-mvebu.c | 11 +- trunk/drivers/pinctrl/pinctrl-at91.c | 39 +- trunk/drivers/pinctrl/pinctrl-bcm2835.c | 2 +- trunk/drivers/pinctrl/pinctrl-exynos5440.c | 14 +- trunk/drivers/pinctrl/pinctrl-imx.c | 19 +- trunk/drivers/pinctrl/pinctrl-imx23.c | 2 +- trunk/drivers/pinctrl/pinctrl-imx28.c | 2 +- trunk/drivers/pinctrl/pinctrl-imx35.c | 2 +- trunk/drivers/pinctrl/pinctrl-imx51.c | 2 +- trunk/drivers/pinctrl/pinctrl-imx53.c | 4 +- trunk/drivers/pinctrl/pinctrl-imx6q.c | 2 +- trunk/drivers/pinctrl/pinctrl-mmp2.c | 2 +- trunk/drivers/pinctrl/pinctrl-mxs.c | 23 +- .../drivers/pinctrl/pinctrl-nomadik-db8500.c | 3 +- .../drivers/pinctrl/pinctrl-nomadik-db8540.c | 3 +- .../drivers/pinctrl/pinctrl-nomadik-stn8815.c | 3 +- trunk/drivers/pinctrl/pinctrl-nomadik.c | 17 +- trunk/drivers/pinctrl/pinctrl-pxa168.c | 2 +- trunk/drivers/pinctrl/pinctrl-pxa910.c | 2 +- trunk/drivers/pinctrl/pinctrl-samsung.c | 28 +- trunk/drivers/pinctrl/pinctrl-samsung.h | 2 +- trunk/drivers/pinctrl/pinctrl-single.c | 86 +- trunk/drivers/pinctrl/pinctrl-sirf.c | 52 +- trunk/drivers/pinctrl/pinctrl-tegra.c | 2 +- trunk/drivers/pinctrl/pinctrl-tegra20.c | 2 +- trunk/drivers/pinctrl/pinctrl-tegra30.c | 2 +- trunk/drivers/pinctrl/pinctrl-u300.c | 2 +- trunk/drivers/pinctrl/pinctrl-xway.c | 2 +- trunk/drivers/pinctrl/spear/pinctrl-plgpio.c | 5 +- trunk/drivers/pinctrl/spear/pinctrl-spear.c | 11 +- trunk/drivers/pinctrl/spear/pinctrl-spear.h | 11 +- .../drivers/pinctrl/spear/pinctrl-spear1310.c | 2 +- .../drivers/pinctrl/spear/pinctrl-spear1340.c | 2 +- .../drivers/pinctrl/spear/pinctrl-spear300.c | 2 +- .../drivers/pinctrl/spear/pinctrl-spear310.c | 2 +- .../drivers/pinctrl/spear/pinctrl-spear320.c | 2 +- trunk/drivers/platform/x86/acer-wmi.c | 68 +- trunk/drivers/platform/x86/acerhdf.c | 2 +- trunk/drivers/platform/x86/amilo-rfkill.c | 4 +- trunk/drivers/platform/x86/apple-gmux.c | 7 +- trunk/drivers/platform/x86/asus-laptop.c | 25 +- trunk/drivers/platform/x86/compal-laptop.c | 10 +- trunk/drivers/platform/x86/dell-laptop.c | 4 +- trunk/drivers/platform/x86/eeepc-laptop.c | 6 +- trunk/drivers/platform/x86/fujitsu-tablet.c | 17 +- trunk/drivers/platform/x86/hp-wmi.c | 8 +- trunk/drivers/platform/x86/ibm_rtl.c | 2 +- trunk/drivers/platform/x86/ideapad-laptop.c | 13 +- .../drivers/platform/x86/intel_mid_powerbtn.c | 6 +- .../drivers/platform/x86/intel_mid_thermal.c | 2 +- trunk/drivers/platform/x86/intel_oaktrail.c | 6 +- trunk/drivers/platform/x86/intel_pmic_gpio.c | 2 +- trunk/drivers/platform/x86/samsung-laptop.c | 14 + trunk/drivers/platform/x86/samsung-q10.c | 6 +- trunk/drivers/platform/x86/sony-laptop.c | 15 +- trunk/drivers/platform/x86/tc1100-wmi.c | 4 +- trunk/drivers/platform/x86/thinkpad_acpi.c | 4 +- trunk/drivers/platform/x86/toshiba_acpi.c | 13 +- trunk/drivers/platform/x86/xo1-rfkill.c | 6 +- trunk/drivers/pnp/interface.c | 105 +- trunk/drivers/pnp/manager.c | 25 +- trunk/drivers/power/ab8500_bmdata.c | 6 +- trunk/drivers/power/avs/smartreflex.c | 2 - trunk/drivers/power/olpc_battery.c | 2 +- trunk/drivers/power/reset/gpio-poweroff.c | 39 +- trunk/drivers/power/rx51_battery.c | 6 +- trunk/drivers/pps/clients/pps-gpio.c | 2 +- trunk/drivers/ps3/ps3-lpm.c | 2 +- trunk/drivers/ps3/ps3-sys-manager.c | 2 +- trunk/drivers/ps3/ps3av.c | 2 +- trunk/drivers/regulator/anatop-regulator.c | 2 +- trunk/drivers/regulator/core.c | 15 +- trunk/drivers/regulator/da9055-regulator.c | 12 +- trunk/drivers/regulator/dbx500-prcmu.c | 1 + trunk/drivers/regulator/fixed.c | 2 +- trunk/drivers/regulator/gpio-regulator.c | 2 +- trunk/drivers/regulator/max8973-regulator.c | 12 +- trunk/drivers/regulator/max8997.c | 36 +- trunk/drivers/regulator/max8998.c | 44 +- trunk/drivers/regulator/palmas-regulator.c | 2 +- trunk/drivers/regulator/s5m8767.c | 4 +- trunk/drivers/regulator/tps80031-regulator.c | 2 +- trunk/drivers/regulator/twl-regulator.c | 2 +- trunk/drivers/remoteproc/omap_remoteproc.c | 6 +- trunk/drivers/rpmsg/virtio_rpmsg_bus.c | 10 +- trunk/drivers/rtc/Kconfig | 8 + trunk/drivers/rtc/Makefile | 1 + trunk/drivers/rtc/class.c | 1 - trunk/drivers/rtc/rtc-88pm80x.c | 6 +- trunk/drivers/rtc/rtc-88pm860x.c | 10 +- trunk/drivers/rtc/rtc-ab8500.c | 6 +- trunk/drivers/rtc/rtc-at91sam9.c | 6 +- trunk/drivers/rtc/rtc-au1xxx.c | 6 +- trunk/drivers/rtc/rtc-bfin.c | 6 +- trunk/drivers/rtc/rtc-bq32k.c | 4 +- trunk/drivers/rtc/rtc-bq4802.c | 6 +- trunk/drivers/rtc/rtc-cmos.c | 9 +- trunk/drivers/rtc/rtc-da9052.c | 6 +- trunk/drivers/rtc/rtc-da9055.c | 2 +- trunk/drivers/rtc/rtc-davinci.c | 4 +- trunk/drivers/rtc/rtc-dm355evm.c | 6 +- trunk/drivers/rtc/rtc-ds1286.c | 6 +- trunk/drivers/rtc/rtc-ds1302.c | 4 +- trunk/drivers/rtc/rtc-ds1305.c | 6 +- trunk/drivers/rtc/rtc-ds1307.c | 8 +- trunk/drivers/rtc/rtc-ds1374.c | 4 +- trunk/drivers/rtc/rtc-ds1390.c | 6 +- trunk/drivers/rtc/rtc-ds1511.c | 8 +- trunk/drivers/rtc/rtc-ds1553.c | 6 +- trunk/drivers/rtc/rtc-ds1742.c | 6 +- trunk/drivers/rtc/rtc-ds3232.c | 8 +- trunk/drivers/rtc/rtc-ds3234.c | 6 +- trunk/drivers/rtc/rtc-ep93xx.c | 6 +- trunk/drivers/rtc/rtc-fm3130.c | 8 +- trunk/drivers/rtc/rtc-imxdi.c | 5 +- trunk/drivers/rtc/rtc-isl1208.c | 3 + trunk/drivers/rtc/rtc-jz4740.c | 6 +- trunk/drivers/rtc/rtc-lpc32xx.c | 6 +- trunk/drivers/rtc/rtc-ls1x.c | 6 +- trunk/drivers/rtc/rtc-m41t93.c | 6 +- trunk/drivers/rtc/rtc-m41t94.c | 6 +- trunk/drivers/rtc/rtc-m48t35.c | 6 +- trunk/drivers/rtc/rtc-m48t59.c | 6 +- trunk/drivers/rtc/rtc-m48t86.c | 6 +- trunk/drivers/rtc/rtc-max6902.c | 6 +- trunk/drivers/rtc/rtc-max8907.c | 6 +- trunk/drivers/rtc/rtc-max8925.c | 6 +- trunk/drivers/rtc/rtc-max8998.c | 6 +- trunk/drivers/rtc/rtc-mpc5121.c | 8 +- trunk/drivers/rtc/rtc-mrst.c | 12 +- trunk/drivers/rtc/rtc-mv.c | 2 +- trunk/drivers/rtc/rtc-mxc.c | 6 +- trunk/drivers/rtc/rtc-nuc900.c | 6 +- trunk/drivers/rtc/rtc-pcap.c | 6 +- trunk/drivers/rtc/rtc-pcf2123.c | 6 +- trunk/drivers/rtc/rtc-pcf50633.c | 6 +- trunk/drivers/rtc/rtc-pcf8563.c | 2 +- trunk/drivers/rtc/rtc-pcf8583.c | 4 +- trunk/drivers/rtc/rtc-pl031.c | 8 +- trunk/drivers/rtc/rtc-pm8xxx.c | 6 +- trunk/drivers/rtc/rtc-puv3.c | 6 +- trunk/drivers/rtc/rtc-r9701.c | 6 +- trunk/drivers/rtc/rtc-rc5t583.c | 6 +- trunk/drivers/rtc/rtc-rs5c313.c | 4 +- trunk/drivers/rtc/rtc-rs5c348.c | 6 +- trunk/drivers/rtc/rtc-rv3029c2.c | 8 +- trunk/drivers/rtc/rtc-rx8025.c | 8 +- trunk/drivers/rtc/rtc-rx8581.c | 8 +- trunk/drivers/rtc/rtc-s3c.c | 6 +- trunk/drivers/rtc/rtc-snvs.c | 8 +- trunk/drivers/rtc/rtc-spear.c | 6 +- trunk/drivers/rtc/rtc-stk17ta8.c | 6 +- trunk/drivers/rtc/rtc-tegra.c | 13 +- trunk/drivers/rtc/rtc-test.c | 4 +- trunk/drivers/rtc/rtc-tile.c | 6 +- trunk/drivers/rtc/rtc-tps6586x.c | 356 ++++ trunk/drivers/rtc/rtc-tps65910.c | 6 +- trunk/drivers/rtc/rtc-twl.c | 6 +- trunk/drivers/rtc/rtc-vr41xx.c | 6 +- trunk/drivers/rtc/rtc-vt8500.c | 19 +- trunk/drivers/rtc/rtc-wm831x.c | 4 +- trunk/drivers/rtc/rtc-wm8350.c | 4 +- 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/sbus/char/bbc_i2c.c | 6 +- trunk/drivers/sbus/char/display7seg.c | 6 +- trunk/drivers/sbus/char/envctrl.c | 6 +- trunk/drivers/sbus/char/flash.c | 6 +- trunk/drivers/sbus/char/uctrl.c | 6 +- trunk/drivers/scsi/3w-9xxx.c | 4 +- trunk/drivers/scsi/3w-sas.c | 4 +- trunk/drivers/scsi/3w-xxxx.c | 4 +- trunk/drivers/scsi/BusLogic.c | 2 +- trunk/drivers/scsi/NCR5380.c | 2 +- trunk/drivers/scsi/NCR_D700.c | 12 +- trunk/drivers/scsi/NCR_Q720.c | 2 +- trunk/drivers/scsi/a100u2w.c | 8 +- trunk/drivers/scsi/a2091.c | 9 +- trunk/drivers/scsi/aacraid/linit.c | 15 +- trunk/drivers/scsi/advansys.c | 152 +- trunk/drivers/scsi/aha152x.c | 2 +- trunk/drivers/scsi/aha1740.c | 4 +- trunk/drivers/scsi/aic94xx/aic94xx_init.c | 23 +- trunk/drivers/scsi/arm/acornscsi.c | 7 +- trunk/drivers/scsi/arm/arxescsi.c | 7 +- trunk/drivers/scsi/arm/cumana_1.c | 8 +- trunk/drivers/scsi/arm/cumana_2.c | 8 +- trunk/drivers/scsi/arm/eesox.c | 7 +- trunk/drivers/scsi/arm/oak.c | 7 +- trunk/drivers/scsi/arm/powertec.c | 8 +- trunk/drivers/scsi/atp870u.c | 2 +- trunk/drivers/scsi/be2iscsi/be_main.c | 4 +- trunk/drivers/scsi/bfa/bfad.c | 2 +- trunk/drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 2 +- trunk/drivers/scsi/bnx2i/bnx2i_init.c | 2 +- trunk/drivers/scsi/bvme6000_scsi.c | 6 +- trunk/drivers/scsi/csiostor/csio_init.c | 17 +- trunk/drivers/scsi/csiostor/t4fw_api_stor.h | 39 - trunk/drivers/scsi/dc395x.c | 51 +- trunk/drivers/scsi/dmx3191d.c | 8 +- trunk/drivers/scsi/fdomain.c | 2 +- trunk/drivers/scsi/fnic/fnic_main.c | 7 +- trunk/drivers/scsi/g_NCR5380.c | 2 +- trunk/drivers/scsi/gdth.c | 17 +- trunk/drivers/scsi/gvp11.c | 11 +- trunk/drivers/scsi/hpsa.c | 92 +- trunk/drivers/scsi/hptiop.c | 3 +- trunk/drivers/scsi/ibmvscsi/ibmvfc.c | 2 +- trunk/drivers/scsi/ibmvscsi/ibmvscsi.c | 2 +- trunk/drivers/scsi/ibmvscsi/ibmvstgt.c | 2 +- trunk/drivers/scsi/initio.c | 2 +- trunk/drivers/scsi/ipr.c | 32 +- trunk/drivers/scsi/ips.c | 10 +- trunk/drivers/scsi/isci/init.c | 10 +- trunk/drivers/scsi/jazz_esp.c | 6 +- trunk/drivers/scsi/lasi700.c | 2 +- trunk/drivers/scsi/lpfc/lpfc_init.c | 14 +- trunk/drivers/scsi/mac_esp.c | 6 +- trunk/drivers/scsi/megaraid.c | 6 +- trunk/drivers/scsi/megaraid/megaraid_mbox.c | 6 +- .../drivers/scsi/megaraid/megaraid_sas_base.c | 8 +- trunk/drivers/scsi/mpt2sas/mpt2sas_scsih.c | 4 +- trunk/drivers/scsi/mpt3sas/mpt3sas_scsih.c | 5 +- trunk/drivers/scsi/mvme16x_scsi.c | 8 +- trunk/drivers/scsi/mvsas/mv_64xx.c | 8 +- trunk/drivers/scsi/mvsas/mv_94xx.c | 7 +- trunk/drivers/scsi/mvsas/mv_chips.h | 2 +- trunk/drivers/scsi/mvsas/mv_init.c | 19 +- trunk/drivers/scsi/mvsas/mv_sas.c | 4 +- trunk/drivers/scsi/mvsas/mv_sas.h | 4 +- trunk/drivers/scsi/mvumi.c | 5 +- trunk/drivers/scsi/nsp32.c | 16 +- trunk/drivers/scsi/pm8001/pm8001_hwi.c | 36 +- trunk/drivers/scsi/pm8001/pm8001_init.c | 28 +- trunk/drivers/scsi/pmcraid.c | 31 +- trunk/drivers/scsi/ps3rom.c | 2 +- trunk/drivers/scsi/qla1280.c | 8 +- trunk/drivers/scsi/qla2xxx/qla_os.c | 2 +- trunk/drivers/scsi/qla4xxx/ql4_os.c | 6 +- trunk/drivers/scsi/qlogicfas.c | 2 +- trunk/drivers/scsi/qlogicpti.c | 20 +- trunk/drivers/scsi/sgiwd93.c | 4 +- trunk/drivers/scsi/sim710.c | 11 +- trunk/drivers/scsi/sni_53c710.c | 4 +- trunk/drivers/scsi/stex.c | 5 +- trunk/drivers/scsi/sun3x_esp.c | 6 +- trunk/drivers/scsi/sun_esp.c | 30 +- trunk/drivers/scsi/sym53c416.c | 2 +- trunk/drivers/scsi/sym53c8xx_2/sym_glue.c | 23 +- trunk/drivers/scsi/tmscsim.c | 23 +- trunk/drivers/scsi/ufs/ufshcd.c | 5 +- trunk/drivers/scsi/virtio_scsi.c | 30 +- trunk/drivers/scsi/vmw_pvscsi.c | 9 +- trunk/drivers/scsi/zalon.c | 2 +- trunk/drivers/scsi/zorro7xx.c | 12 +- trunk/drivers/sh/clk/cpg.c | 6 + trunk/drivers/sh/pfc/gpio.c | 6 +- trunk/drivers/sh/pfc/pinctrl.c | 20 +- trunk/drivers/sn/ioc3.c | 14 +- trunk/drivers/spi/spi-atmel.c | 17 +- trunk/drivers/spi/spi-s3c64xx.c | 10 +- trunk/drivers/spi/spi-sh-hspi.c | 2 +- trunk/drivers/spi/spi.c | 5 +- trunk/drivers/ssb/Kconfig | 3 +- trunk/drivers/ssb/driver_gige.c | 14 +- trunk/drivers/ssb/driver_pcicore.c | 10 +- trunk/drivers/ssb/main.c | 27 +- trunk/drivers/ssb/pcihost_wrapper.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 | 7 +- 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_device.c | 8 +- .../target/target_core_fabric_configfs.c | 5 + trunk/drivers/target/target_core_pr.c | 2 +- trunk/drivers/target/target_core_sbc.c | 18 +- trunk/drivers/target/target_core_spc.c | 44 +- trunk/drivers/target/target_core_transport.c | 20 +- trunk/drivers/target/tcm_fc/tfc_sess.c | 12 +- trunk/drivers/thermal/exynos_thermal.c | 6 +- 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/omap-serial.c | 3 +- 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/hcd.c | 44 + trunk/drivers/usb/core/hub.c | 190 +- 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 | 13 +- trunk/drivers/usb/host/ehci-hub.c | 9 +- trunk/drivers/usb/host/ehci-mv.c | 4 +- trunk/drivers/usb/host/ehci-mxc.c | 120 +- trunk/drivers/usb/host/ehci-orion.c | 2 +- trunk/drivers/usb/host/ehci-pci.c | 39 +- trunk/drivers/usb/host/ehci-q.c | 50 +- trunk/drivers/usb/host/ehci-sched.c | 9 +- trunk/drivers/usb/host/ehci-timer.c | 29 +- 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/pci-quirks.c | 1 + trunk/drivers/usb/host/uhci-hcd.c | 15 +- trunk/drivers/usb/host/uhci-hub.c | 3 + trunk/drivers/usb/host/xhci-hub.c | 38 +- trunk/drivers/usb/host/xhci-mem.c | 2 + trunk/drivers/usb/host/xhci-ring.c | 22 +- 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/cp210x.c | 1 + trunk/drivers/usb/serial/ftdi_sio.c | 4 + trunk/drivers/usb/serial/ftdi_sio_ids.h | 15 +- trunk/drivers/usb/serial/io_ti.c | 3 + trunk/drivers/usb/serial/option.c | 40 +- trunk/drivers/usb/serial/qcserial.c | 1 + trunk/drivers/usb/storage/initializers.c | 76 +- trunk/drivers/usb/storage/initializers.h | 4 +- trunk/drivers/usb/storage/unusual_devs.h | 329 +-- trunk/drivers/usb/storage/usb.c | 12 + trunk/drivers/usb/storage/usual-tables.c | 15 + trunk/drivers/vfio/pci/vfio_pci.c | 83 +- trunk/drivers/vfio/pci/vfio_pci_rdwr.c | 4 +- trunk/drivers/vfio/vfio.c | 34 +- trunk/drivers/vhost/tcm_vhost.c | 4 +- trunk/drivers/video/acornfb.c | 22 +- trunk/drivers/video/arcfb.c | 10 +- trunk/drivers/video/arkfb.c | 10 +- trunk/drivers/video/asiliantfb.c | 18 +- trunk/drivers/video/aty/aty128fb.c | 57 +- trunk/drivers/video/aty/atyfb_base.c | 84 +- trunk/drivers/video/aty/mach64_ct.c | 6 +- trunk/drivers/video/aty/mach64_cursor.c | 2 +- trunk/drivers/video/aty/radeon_base.c | 20 +- trunk/drivers/video/aty/radeon_monitor.c | 24 +- trunk/drivers/video/au1100fb.c | 6 +- trunk/drivers/video/au1200fb.c | 6 +- trunk/drivers/video/auo_k1900fb.c | 6 +- trunk/drivers/video/auo_k1901fb.c | 6 +- trunk/drivers/video/auo_k190x.c | 6 +- trunk/drivers/video/bf537-lq035.c | 18 +- trunk/drivers/video/bf54x-lq043fb.c | 6 +- trunk/drivers/video/bfin-lq035q1-fb.c | 14 +- trunk/drivers/video/bfin-t350mcqb-fb.c | 6 +- trunk/drivers/video/bfin_adv7393fb.c | 10 +- trunk/drivers/video/broadsheetfb.c | 16 +- trunk/drivers/video/bw2.c | 23 +- trunk/drivers/video/carminefb.c | 16 +- trunk/drivers/video/cg14.c | 12 +- trunk/drivers/video/cg3.c | 26 +- trunk/drivers/video/cg6.c | 12 +- trunk/drivers/video/chipsfb.c | 13 +- trunk/drivers/video/cirrusfb.c | 44 +- trunk/drivers/video/clps711xfb.c | 8 +- trunk/drivers/video/cobalt_lcdfb.c | 8 +- trunk/drivers/video/console/sticore.c | 83 +- trunk/drivers/video/cyber2000fb.c | 23 +- trunk/drivers/video/da8xx-fb.c | 10 +- trunk/drivers/video/dnfb.c | 6 +- trunk/drivers/video/efifb.c | 4 +- trunk/drivers/video/ep93xx-fb.c | 8 +- trunk/drivers/video/exynos/exynos_dp_core.c | 6 +- trunk/drivers/video/exynos/exynos_mipi_dsi.c | 4 +- trunk/drivers/video/ffb.c | 6 +- trunk/drivers/video/fm2fb.c | 14 +- trunk/drivers/video/fsl-diu-fb.c | 6 +- trunk/drivers/video/gbefb.c | 24 +- trunk/drivers/video/geode/gx1fb_core.c | 14 +- trunk/drivers/video/geode/gxfb_core.c | 20 +- trunk/drivers/video/geode/lxfb_core.c | 20 +- trunk/drivers/video/grvga.c | 12 +- trunk/drivers/video/gxt4500.c | 13 +- trunk/drivers/video/hecubafb.c | 10 +- trunk/drivers/video/hgafb.c | 12 +- trunk/drivers/video/hitfb.c | 10 +- trunk/drivers/video/hpfb.c | 9 +- trunk/drivers/video/i740fb.c | 15 +- trunk/drivers/video/i810/i810_main.c | 72 +- trunk/drivers/video/i810/i810_main.h | 2 +- trunk/drivers/video/igafb.c | 2 +- trunk/drivers/video/imsttfb.c | 17 +- trunk/drivers/video/imxfb.c | 17 +- trunk/drivers/video/intelfb/intelfbdrv.c | 29 +- trunk/drivers/video/jz4740_fb.c | 8 +- trunk/drivers/video/kyro/fbdev.c | 21 +- trunk/drivers/video/leo.c | 6 +- trunk/drivers/video/mb862xx/mb862xxfbdrv.c | 20 +- trunk/drivers/video/mbx/mbxdebugfs.c | 4 +- trunk/drivers/video/mbx/mbxfb.c | 18 +- trunk/drivers/video/metronomefb.c | 22 +- trunk/drivers/video/msm/mddi.c | 9 +- trunk/drivers/video/mxsfb.c | 15 +- trunk/drivers/video/neofb.c | 26 +- trunk/drivers/video/nuc900fb.c | 4 +- trunk/drivers/video/nvidia/nvidia.c | 49 +- trunk/drivers/video/omap/lcd_mipid.c | 2 +- .../video/omap2/displays/panel-acx565akm.c | 2 +- .../omap2/displays/panel-lgphilips-lb035q02.c | 6 +- .../drivers/video/omap2/displays/panel-n8x0.c | 2 +- .../omap2/displays/panel-nec-nl8048hl11-01b.c | 2 +- .../omap2/displays/panel-tpo-td043mtea1.c | 4 +- trunk/drivers/video/p9100.c | 6 +- trunk/drivers/video/platinumfb.c | 11 +- trunk/drivers/video/pm2fb.c | 17 +- trunk/drivers/video/pm3fb.c | 17 +- trunk/drivers/video/pmag-ba-fb.c | 6 +- trunk/drivers/video/pmagb-b-fb.c | 12 +- trunk/drivers/video/ps3fb.c | 4 +- trunk/drivers/video/pvr2fb.c | 28 +- trunk/drivers/video/pxa168fb.c | 8 +- trunk/drivers/video/pxa3xx-gcu.c | 8 +- trunk/drivers/video/pxafb.c | 33 +- trunk/drivers/video/q40fb.c | 6 +- trunk/drivers/video/riva/fbdev.c | 45 +- trunk/drivers/video/riva/rivafb-i2c.c | 9 +- trunk/drivers/video/s1d13xxxfb.c | 10 +- trunk/drivers/video/s3c-fb.c | 15 +- trunk/drivers/video/s3c2410fb.c | 16 +- trunk/drivers/video/s3fb.c | 16 +- trunk/drivers/video/sa1100fb.c | 8 +- trunk/drivers/video/savage/savagefb_driver.c | 23 +- trunk/drivers/video/sgivwfb.c | 12 +- trunk/drivers/video/sh7760fb.c | 6 +- trunk/drivers/video/sh_mipi_dsi.c | 4 +- trunk/drivers/video/sh_mobile_lcdcfb.c | 18 +- trunk/drivers/video/sh_mobile_meram.c | 2 +- trunk/drivers/video/sis/sis_main.c | 140 +- trunk/drivers/video/sis/sis_main.h | 20 +- trunk/drivers/video/skeletonfb.c | 17 +- trunk/drivers/video/sm501fb.c | 16 +- trunk/drivers/video/ssd1307fb.c | 15 +- trunk/drivers/video/sstfb.c | 33 +- trunk/drivers/video/sunxvr1000.c | 10 +- trunk/drivers/video/sunxvr2500.c | 12 +- trunk/drivers/video/sunxvr500.c | 12 +- trunk/drivers/video/tcx.c | 6 +- trunk/drivers/video/tdfxfb.c | 30 +- trunk/drivers/video/tgafb.c | 45 +- trunk/drivers/video/tmiofb.c | 8 +- trunk/drivers/video/tridentfb.c | 28 +- trunk/drivers/video/uvesafb.c | 74 +- trunk/drivers/video/vermilion/vermilion.c | 7 +- trunk/drivers/video/vfb.c | 6 +- trunk/drivers/video/vga16fb.c | 10 +- trunk/drivers/video/via/dvi.c | 10 +- trunk/drivers/video/via/dvi.h | 4 +- trunk/drivers/video/via/hw.c | 16 +- trunk/drivers/video/via/hw.h | 4 +- trunk/drivers/video/via/lcd.c | 10 +- trunk/drivers/video/via/lcd.h | 6 +- trunk/drivers/video/via/via-core.c | 19 +- trunk/drivers/video/via/via-gpio.c | 2 +- trunk/drivers/video/via/viafbdev.c | 12 +- trunk/drivers/video/vt8500lcdfb.c | 6 +- trunk/drivers/video/vt8623fb.c | 8 +- trunk/drivers/video/w100fb.c | 10 +- trunk/drivers/video/wm8505fb.c | 6 +- trunk/drivers/video/wmt_ge_rops.c | 6 +- trunk/drivers/video/xen-fbfront.c | 7 +- trunk/drivers/video/xilinxfb.c | 8 +- trunk/drivers/virtio/virtio.c | 30 +- trunk/drivers/virtio/virtio_balloon.c | 11 +- trunk/drivers/virtio/virtio_mmio.c | 36 +- trunk/drivers/virtio/virtio_pci.c | 28 +- trunk/drivers/virtio/virtio_ring.c | 46 +- trunk/drivers/vlynq/vlynq.c | 6 +- trunk/drivers/w1/masters/mxc_w1.c | 2 +- trunk/drivers/watchdog/Kconfig | 18 +- trunk/drivers/watchdog/Makefile | 1 + trunk/drivers/watchdog/ath79_wdt.c | 13 +- trunk/drivers/watchdog/cpu5wdt.c | 1 + trunk/drivers/watchdog/da9052_wdt.c | 4 - trunk/drivers/watchdog/da9055_wdt.c | 211 ++ trunk/drivers/watchdog/davinci_wdt.c | 11 +- trunk/drivers/watchdog/hpwdt.c | 2 +- trunk/drivers/watchdog/mpcore_wdt.c | 19 +- trunk/drivers/watchdog/omap_wdt.c | 312 ++- trunk/drivers/watchdog/orion_wdt.c | 2 + trunk/drivers/watchdog/s3c2410_wdt.c | 6 +- trunk/drivers/watchdog/sp5100_tco.c | 321 ++- trunk/drivers/watchdog/sp5100_tco.h | 46 +- trunk/drivers/watchdog/sp805_wdt.c | 11 +- trunk/drivers/watchdog/twl4030_wdt.c | 196 +- trunk/drivers/xen/cpu_hotplug.c | 4 +- trunk/drivers/xen/gntdev.c | 130 +- trunk/drivers/xen/grant-table.c | 50 +- trunk/drivers/xen/platform-pci.c | 6 +- trunk/drivers/xen/privcmd.c | 89 +- trunk/drivers/xen/xen-pciback/pci_stub.c | 13 +- trunk/drivers/xen/xen-pciback/pciback.h | 2 +- trunk/drivers/zorro/zorro-driver.c | 4 - trunk/fs/Kconfig | 11 +- trunk/fs/Makefile | 1 + trunk/fs/adfs/inode.c | 15 +- trunk/fs/affs/file.c | 18 +- trunk/fs/affs/inode.c | 5 +- trunk/fs/bfs/file.c | 15 +- trunk/fs/binfmt_misc.c | 5 +- trunk/fs/binfmt_script.c | 4 +- trunk/fs/btrfs/ctree.c | 14 +- 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 | 153 +- 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/cachefiles/interface.c | 57 +- trunk/fs/cachefiles/internal.h | 2 + trunk/fs/cachefiles/key.c | 2 +- trunk/fs/cachefiles/namei.c | 3 +- trunk/fs/cachefiles/rdwr.c | 114 +- trunk/fs/cachefiles/xattr.c | 2 +- trunk/fs/ceph/addr.c | 60 +- trunk/fs/ceph/caps.c | 18 +- trunk/fs/ceph/file.c | 73 +- trunk/fs/ceph/inode.c | 15 +- trunk/fs/ceph/mds_client.c | 11 +- trunk/fs/ceph/super.c | 4 +- trunk/fs/cifs/cifs_debug.h | 6 +- trunk/fs/cifs/cifs_dfs_ref.c | 2 + trunk/fs/cifs/cifsfs.c | 2 - trunk/fs/cifs/cifsglob.h | 2 +- trunk/fs/cifs/connect.c | 11 +- trunk/fs/cifs/file.c | 141 +- trunk/fs/cifs/readdir.c | 19 +- trunk/fs/cifs/smb1ops.c | 8 + trunk/fs/cifs/smb2ops.c | 2 + trunk/fs/cifs/transport.c | 6 +- trunk/fs/dcache.c | 35 +- trunk/fs/debugfs/inode.c | 2 +- trunk/fs/dlm/user.c | 8 +- trunk/fs/ecryptfs/crypto.c | 2 +- trunk/fs/ecryptfs/kthread.c | 6 +- trunk/fs/ecryptfs/mmap.c | 12 +- trunk/fs/eventpoll.c | 22 +- trunk/fs/exec.c | 39 +- trunk/fs/exportfs/expfs.c | 4 +- trunk/fs/ext4/Kconfig | 2 + trunk/fs/ext4/extents.c | 22 +- trunk/fs/ext4/file.c | 8 - trunk/fs/ext4/fsync.c | 2 - trunk/fs/ext4/inode.c | 99 +- trunk/fs/ext4/namei.c | 6 +- trunk/fs/ext4/super.c | 30 +- trunk/fs/f2fs/Kconfig | 53 + trunk/fs/f2fs/Makefile | 7 + trunk/fs/f2fs/acl.c | 412 ++++ trunk/fs/f2fs/acl.h | 57 + trunk/fs/f2fs/checkpoint.c | 793 ++++++++ trunk/fs/f2fs/data.c | 718 +++++++ trunk/fs/f2fs/debug.c | 353 ++++ trunk/fs/f2fs/dir.c | 674 +++++++ trunk/fs/f2fs/f2fs.h | 1087 ++++++++++ trunk/fs/f2fs/file.c | 646 ++++++ trunk/fs/f2fs/gc.c | 716 +++++++ trunk/fs/f2fs/gc.h | 117 ++ trunk/fs/f2fs/hash.c | 101 + trunk/fs/f2fs/inode.c | 272 +++ trunk/fs/f2fs/namei.c | 503 +++++ trunk/fs/f2fs/node.c | 1760 +++++++++++++++++ trunk/fs/f2fs/node.h | 353 ++++ trunk/fs/f2fs/recovery.c | 377 ++++ trunk/fs/f2fs/segment.c | 1757 ++++++++++++++++ trunk/fs/f2fs/segment.h | 631 ++++++ trunk/fs/f2fs/super.c | 701 +++++++ trunk/fs/f2fs/xattr.c | 443 +++++ trunk/fs/f2fs/xattr.h | 145 ++ trunk/fs/fat/dir.c | 5 +- trunk/fs/fat/inode.c | 2 +- trunk/fs/fat/misc.c | 4 + trunk/fs/fhandle.c | 2 +- trunk/fs/file.c | 2 +- trunk/fs/file_table.c | 2 +- trunk/fs/fscache/cache.c | 8 +- trunk/fs/fscache/cookie.c | 78 + trunk/fs/fscache/internal.h | 15 +- trunk/fs/fscache/object-list.c | 2 +- trunk/fs/fscache/object.c | 101 +- trunk/fs/fscache/operation.c | 140 +- trunk/fs/fscache/page.c | 195 +- trunk/fs/fscache/stats.c | 17 +- 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/gfs2/lock_dlm.c | 8 +- trunk/fs/gfs2/rgrp.c | 35 +- trunk/fs/hfs/inode.c | 26 +- trunk/fs/hfsplus/bitmap.c | 13 +- trunk/fs/hfsplus/btree.c | 5 +- trunk/fs/hfsplus/extents.c | 24 +- trunk/fs/hfsplus/hfsplus_fs.h | 2 +- trunk/fs/hfsplus/inode.c | 27 +- trunk/fs/hfsplus/super.c | 15 +- trunk/fs/hpfs/file.c | 20 +- trunk/fs/hpfs/hpfs_fn.h | 1 + trunk/fs/hpfs/inode.c | 5 +- trunk/fs/jbd/journal.c | 3 +- trunk/fs/jbd2/transaction.c | 30 +- trunk/fs/jffs2/nodemgmt.c | 6 +- trunk/fs/jfs/file.c | 6 +- trunk/fs/jfs/inode.c | 20 +- trunk/fs/libfs.c | 2 - trunk/fs/logfs/readwrite.c | 10 +- trunk/fs/minix/file.c | 6 +- trunk/fs/minix/inode.c | 17 +- trunk/fs/namei.c | 118 +- trunk/fs/namespace.c | 2 +- trunk/fs/ncpfs/inode.c | 4 +- trunk/fs/nfs/callback_proc.c | 2 +- trunk/fs/nfs/dir.c | 16 +- trunk/fs/nfs/fscache.c | 1 + trunk/fs/nfs/fscache.h | 21 +- trunk/fs/nfs/inode.c | 20 +- trunk/fs/nfs/namespace.c | 20 + trunk/fs/nfs/nfs4client.c | 62 +- trunk/fs/nfs/nfs4file.c | 2 + trunk/fs/nfs/nfs4proc.c | 21 +- trunk/fs/nfs/nfs4state.c | 22 +- trunk/fs/nfs/pnfs.c | 2 +- trunk/fs/nfs/read.c | 10 +- trunk/fs/nfs/super.c | 43 +- trunk/fs/nfs/write.c | 13 +- trunk/fs/nfsd/fault_inject.c | 113 +- trunk/fs/nfsd/fault_inject.h | 28 - trunk/fs/nfsd/netns.h | 66 + trunk/fs/nfsd/nfs2acl.c | 2 +- trunk/fs/nfsd/nfs3acl.c | 2 +- trunk/fs/nfsd/nfs3proc.c | 6 +- trunk/fs/nfsd/nfs3xdr.c | 47 +- trunk/fs/nfsd/nfs4callback.c | 69 +- trunk/fs/nfsd/nfs4proc.c | 74 +- trunk/fs/nfsd/nfs4recover.c | 561 +++++- trunk/fs/nfsd/nfs4state.c | 1015 ++++++---- trunk/fs/nfsd/nfs4xdr.c | 324 ++- trunk/fs/nfsd/nfsctl.c | 100 +- trunk/fs/nfsd/nfsd.h | 36 +- trunk/fs/nfsd/nfsfh.c | 4 +- trunk/fs/nfsd/nfssvc.c | 203 +- trunk/fs/nfsd/nfsxdr.c | 11 +- trunk/fs/nfsd/state.h | 64 +- trunk/fs/nfsd/vfs.c | 52 +- trunk/fs/nfsd/xdr4.h | 15 +- trunk/fs/nilfs2/file.c | 1 - trunk/fs/nilfs2/inode.c | 24 +- trunk/fs/nilfs2/ioctl.c | 5 +- trunk/fs/nilfs2/nilfs.h | 1 + trunk/fs/nilfs2/recovery.c | 3 +- trunk/fs/notify/dnotify/dnotify.c | 4 +- trunk/fs/notify/fanotify/fanotify.c | 6 + trunk/fs/notify/fanotify/fanotify_user.c | 37 +- trunk/fs/notify/fdinfo.c | 4 +- trunk/fs/notify/group.c | 47 +- trunk/fs/notify/inode_mark.c | 14 +- trunk/fs/notify/inotify/inotify_fsnotify.c | 4 +- trunk/fs/notify/inotify/inotify_user.c | 34 +- trunk/fs/notify/mark.c | 91 +- trunk/fs/notify/notification.c | 1 + trunk/fs/notify/vfsmount_mark.c | 14 +- trunk/fs/ntfs/file.c | 16 +- trunk/fs/ntfs/inode.c | 8 +- trunk/fs/ntfs/inode.h | 4 + trunk/fs/ocfs2/file.c | 18 - trunk/fs/omfs/file.c | 22 +- trunk/fs/open.c | 97 +- trunk/fs/proc/base.c | 7 - trunk/fs/proc/generic.c | 22 +- trunk/fs/proc/proc_sysctl.c | 7 - trunk/fs/proc/task_mmu.c | 2 +- trunk/fs/pstore/ram.c | 14 +- trunk/fs/pstore/ram_core.c | 9 +- trunk/fs/read_write.c | 2 + trunk/fs/reiserfs/file.c | 3 +- trunk/fs/reiserfs/inode.c | 15 +- trunk/fs/reiserfs/reiserfs.h | 1 + trunk/fs/seq_file.c | 2 +- trunk/fs/splice.c | 4 +- trunk/fs/stat.c | 16 +- trunk/fs/statfs.c | 9 +- trunk/fs/sysv/file.c | 5 +- trunk/fs/sysv/itree.c | 17 +- trunk/fs/udf/super.c | 3 +- trunk/fs/ufs/inode.c | 15 +- trunk/fs/utimes.c | 6 +- trunk/fs/xattr.c | 72 +- trunk/fs/xfs/xfs_aops.c | 2 +- trunk/fs/xfs/xfs_bmap.c | 6 +- trunk/fs/xfs/xfs_buf.c | 32 +- trunk/fs/xfs/xfs_buf.h | 6 +- trunk/fs/xfs/xfs_buf_item.c | 61 +- trunk/fs/xfs/xfs_buf_item.h | 2 +- trunk/fs/xfs/xfs_dfrag.c | 4 +- trunk/fs/xfs/xfs_dir2_block.c | 6 +- trunk/fs/xfs/xfs_iomap.c | 9 + trunk/fs/xfs/xfs_mount.c | 2 +- trunk/fs/xfs/xfs_qm_syscalls.c | 4 +- trunk/fs/xfs/xfs_trace.h | 1 + trunk/fs/xfs/xfs_trans_buf.c | 27 +- trunk/include/Kbuild | 3 - .../include/asm-generic/dma-mapping-broken.h | 16 + trunk/include/asm-generic/io.h | 31 - trunk/include/asm-generic/mmu.h | 6 +- trunk/include/asm-generic/parport.h | 4 +- trunk/include/asm-generic/pgtable.h | 6 +- trunk/include/asm-generic/syscalls.h | 2 + trunk/include/asm-generic/tlb.h | 9 + trunk/include/drm/drm_mm.h | 27 +- trunk/include/drm/exynos_drm.h | 22 +- trunk/include/linux/Kbuild | 5 - trunk/include/linux/ata.h | 8 +- trunk/include/linux/ata_platform.h | 12 +- trunk/include/linux/audit.h | 4 +- trunk/include/linux/backing-dev.h | 1 + trunk/include/linux/bcma/bcma.h | 1 + .../include/linux/bcma/bcma_driver_gmac_cmn.h | 2 +- trunk/include/linux/bcma/bcma_driver_pci.h | 2 +- trunk/include/linux/binfmts.h | 5 +- trunk/include/linux/ceph/libceph.h | 2 - trunk/include/linux/ceph/osdmap.h | 1 + trunk/include/linux/ceph/rados.h | 2 + trunk/include/linux/compaction.h | 4 +- trunk/include/linux/compat.h | 62 + trunk/include/linux/cpu_rmap.h | 13 +- trunk/include/linux/cpuidle.h | 2 +- trunk/include/linux/cred.h | 1 - trunk/include/linux/dcache.h | 8 - trunk/include/linux/device-mapper.h | 55 +- trunk/include/linux/dma-buf.h | 99 - trunk/include/linux/dma-debug.h | 7 + trunk/include/linux/efi.h | 24 +- trunk/include/linux/exportfs.h | 5 + trunk/include/linux/f2fs_fs.h | 413 ++++ trunk/include/linux/fs.h | 6 +- trunk/include/linux/fscache-cache.h | 71 +- trunk/include/linux/fscache.h | 50 +- trunk/include/linux/fsnotify_backend.h | 31 +- trunk/include/linux/hdlc/Kbuild | 0 trunk/include/linux/hsi/Kbuild | 0 trunk/include/linux/init.h | 20 - trunk/include/linux/interrupt.h | 5 - trunk/include/linux/ipc_namespace.h | 1 + trunk/include/linux/jbd2.h | 2 +- trunk/include/linux/kernel.h | 6 +- trunk/include/linux/libata.h | 4 +- trunk/include/linux/lockdep.h | 3 + trunk/include/linux/memcontrol.h | 2 +- trunk/include/linux/mempolicy.h | 13 +- trunk/include/linux/mfd/abx500.h | 2 - trunk/include/linux/mfd/abx500/ab8500-bm.h | 29 +- trunk/include/linux/mfd/da9052/da9052.h | 66 +- trunk/include/linux/mfd/da9052/reg.h | 3 + trunk/include/linux/mfd/rtsx_common.h | 3 + trunk/include/linux/mfd/rtsx_pci.h | 25 +- trunk/include/linux/mlx4/device.h | 1 + trunk/include/linux/mm.h | 2 - trunk/include/linux/mmu_notifier.h | 2 +- trunk/include/linux/mmzone.h | 8 - trunk/include/linux/module.h | 10 +- trunk/include/linux/msg.h | 6 +- trunk/include/linux/mtd/blktrans.h | 4 +- trunk/include/linux/mtd/doc2000.h | 22 +- trunk/include/linux/mtd/fsmc.h | 3 - trunk/include/linux/mtd/gpmi-nand.h | 68 - trunk/include/linux/mtd/map.h | 4 +- trunk/include/linux/mtd/mtd.h | 2 +- trunk/include/linux/mtd/nand.h | 11 +- trunk/include/linux/mtd/sh_flctl.h | 14 +- trunk/include/linux/namei.h | 21 +- trunk/include/linux/netdevice.h | 5 +- trunk/include/linux/of_platform.h | 1 + trunk/include/linux/page-flags.h | 8 +- trunk/include/linux/pci_ids.h | 1 + trunk/include/linux/pid.h | 1 + trunk/include/linux/pid_namespace.h | 4 +- .../linux/platform_data/imx-iram.h} | 0 .../include/linux/platform_data/iommu-omap.h | 9 +- .../linux/platform_data/mtd-nomadik-nand.h | 16 - .../linux/platform_data/serial-omap.h} | 0 trunk/include/linux/platform_data/usb-omap.h | 3 + trunk/include/linux/pstore_ram.h | 5 +- trunk/include/linux/ptrace.h | 5 +- trunk/include/linux/raid/Kbuild | 0 trunk/include/linux/rbtree_augmented.h | 14 +- trunk/include/linux/rwsem.h | 9 + trunk/include/linux/sched.h | 14 +- trunk/include/linux/security.h | 59 +- trunk/include/linux/signal.h | 3 + trunk/include/linux/sunrpc/cache.h | 6 +- trunk/include/linux/sunrpc/svc.h | 6 +- trunk/include/linux/sunrpc/svcsock.h | 21 +- trunk/include/linux/syscalls.h | 15 +- trunk/include/linux/usb.h | 2 + trunk/include/linux/usb/Kbuild | 0 trunk/include/linux/usb/hcd.h | 3 + trunk/include/linux/usb/usbnet.h | 4 + trunk/include/linux/virtio.h | 25 +- trunk/include/linux/virtio_scsi.h | 28 +- trunk/include/linux/watchdog.h | 2 +- trunk/include/net/inet_connection_sock.h | 1 + trunk/include/net/ip.h | 2 + trunk/include/net/ndisc.h | 7 + .../include/net/netfilter/nf_conntrack_core.h | 2 + trunk/include/net/netns/conntrack.h | 1 + trunk/include/net/netns/x_tables.h | 1 + trunk/include/net/sock.h | 2 +- trunk/include/rdma/Kbuild | 0 trunk/include/sound/Kbuild | 0 trunk/include/sound/cs4271.h | 2 +- trunk/include/sound/soc-dai.h | 1 - trunk/include/sound/soc.h | 11 +- trunk/include/target/target_core_base.h | 1 + trunk/include/trace/events/ext4.h | 14 +- trunk/include/uapi/asm-generic/signal.h | 6 - trunk/include/uapi/drm/exynos_drm.h | 24 +- trunk/include/uapi/drm/i915_drm.h | 10 + trunk/include/uapi/linux/audit.h | 2 +- trunk/include/uapi/linux/dm-ioctl.h | 4 +- trunk/include/uapi/linux/if_bridge.h | 3 + trunk/include/uapi/linux/magic.h | 1 + trunk/include/uapi/linux/msg.h | 1 + trunk/include/uapi/linux/pci_regs.h | 2 + trunk/include/uapi/linux/serial_core.h | 3 +- trunk/include/uapi/linux/signal.h | 2 + trunk/include/uapi/linux/usb/ch9.h | 6 + trunk/include/uapi/linux/virtio_ids.h | 1 + trunk/include/video/omap-panel-tfp410.h | 2 +- trunk/init/Kconfig | 2 +- trunk/init/do_mounts_initrd.c | 4 + trunk/init/main.c | 12 +- trunk/ipc/compat.c | 46 +- trunk/ipc/ipc_sysctl.c | 32 + trunk/ipc/msg.c | 123 +- trunk/ipc/msgutil.c | 43 + trunk/ipc/util.c | 16 +- trunk/ipc/util.h | 2 + trunk/kernel/async.c | 30 +- trunk/kernel/audit.c | 40 +- trunk/kernel/audit_tree.c | 36 +- trunk/kernel/audit_watch.c | 6 +- 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/events/core.c | 20 +- trunk/kernel/fork.c | 16 +- trunk/kernel/kcmp.c | 1 + trunk/kernel/kmod.c | 6 +- trunk/kernel/modsign_pubkey.c | 15 +- trunk/kernel/module.c | 181 +- trunk/kernel/pid.c | 15 +- trunk/kernel/pid_namespace.c | 4 + trunk/kernel/posix-cpu-timers.c | 3 + trunk/kernel/printk.c | 14 +- trunk/kernel/ptrace.c | 74 +- trunk/kernel/rcutree_plugin.h | 13 +- trunk/kernel/rwsem.c | 10 + trunk/kernel/sched/core.c | 3 +- trunk/kernel/sched/debug.c | 4 +- trunk/kernel/sched/fair.c | 7 +- trunk/kernel/sched/rt.c | 2 +- trunk/kernel/signal.c | 103 +- trunk/kernel/smp.c | 13 +- trunk/kernel/trace/ftrace.c | 2 +- trunk/kernel/trace/trace.c | 17 +- trunk/kernel/watchdog.c | 11 +- trunk/lib/Kconfig.debug | 2 +- trunk/lib/atomic64.c | 17 +- trunk/lib/bug.c | 1 + trunk/lib/cpu_rmap.c | 54 +- trunk/lib/digsig.c | 2 + trunk/lib/dma-debug.c | 66 +- trunk/lib/rbtree.c | 20 +- trunk/mm/bootmem.c | 24 +- trunk/mm/compaction.c | 124 +- trunk/mm/highmem.c | 1 + trunk/mm/huge_memory.c | 25 +- trunk/mm/hugetlb.c | 1 + trunk/mm/internal.h | 1 - trunk/mm/ksm.c | 16 +- trunk/mm/memblock.c | 3 +- trunk/mm/memcontrol.c | 14 +- trunk/mm/memory.c | 13 + trunk/mm/mempolicy.c | 130 +- trunk/mm/migrate.c | 18 +- trunk/mm/mmap.c | 4 +- trunk/mm/page-writeback.c | 25 +- trunk/mm/page_alloc.c | 75 +- trunk/mm/page_isolation.c | 26 +- trunk/mm/shmem.c | 4 +- trunk/mm/truncate.c | 23 - trunk/mm/vmscan.c | 119 +- trunk/net/9p/trans_virtio.c | 3 +- trunk/net/atm/atm_sysfs.c | 40 +- trunk/net/batman-adv/bat_iv_ogm.c | 2 +- trunk/net/batman-adv/distributed-arp-table.c | 19 +- trunk/net/bluetooth/hci_core.c | 8 - trunk/net/bluetooth/hci_event.c | 2 +- trunk/net/bluetooth/hidp/core.c | 2 +- trunk/net/bluetooth/l2cap_core.c | 11 + trunk/net/bluetooth/sco.c | 2 +- trunk/net/bridge/br_if.c | 8 +- trunk/net/bridge/br_mdb.c | 22 +- trunk/net/bridge/br_multicast.c | 13 +- trunk/net/bridge/br_netlink.c | 14 +- trunk/net/bridge/br_private.h | 11 +- trunk/net/ceph/ceph_common.c | 3 +- trunk/net/ceph/messenger.c | 130 +- trunk/net/ceph/osd_client.c | 93 +- trunk/net/ceph/osdmap.c | 47 +- trunk/net/core/dev.c | 26 +- trunk/net/core/net-sysfs.c | 4 - trunk/net/core/request_sock.c | 2 - trunk/net/core/scm.c | 5 +- trunk/net/core/skbuff.c | 44 +- trunk/net/core/sock.c | 4 +- trunk/net/dccp/ipv4.c | 4 +- trunk/net/dccp/ipv6.c | 3 +- trunk/net/ipv4/ah4.c | 18 +- trunk/net/ipv4/arp.c | 10 +- trunk/net/ipv4/datagram.c | 25 + trunk/net/ipv4/devinet.c | 2 +- trunk/net/ipv4/esp4.c | 12 +- trunk/net/ipv4/inet_connection_sock.c | 16 + trunk/net/ipv4/ip_gre.c | 19 +- trunk/net/ipv4/ip_sockglue.c | 2 +- trunk/net/ipv4/ipcomp.c | 7 +- trunk/net/ipv4/ipconfig.c | 8 +- trunk/net/ipv4/netfilter/ipt_REJECT.c | 1 + trunk/net/ipv4/netfilter/iptable_nat.c | 15 +- trunk/net/ipv4/ping.c | 1 + trunk/net/ipv4/raw.c | 1 + trunk/net/ipv4/route.c | 54 +- trunk/net/ipv4/tcp.c | 15 +- trunk/net/ipv4/tcp_input.c | 14 +- trunk/net/ipv4/tcp_ipv4.c | 15 +- trunk/net/ipv4/udp.c | 1 + trunk/net/ipv6/Makefile | 2 +- trunk/net/ipv6/addrconf.c | 30 +- trunk/net/ipv6/ah6.c | 11 +- trunk/net/ipv6/esp6.c | 5 +- trunk/net/ipv6/icmp.c | 12 + trunk/net/ipv6/ip6_gre.c | 3 +- trunk/net/ipv6/ip6_output.c | 4 +- trunk/net/ipv6/ip6mr.c | 3 + trunk/net/ipv6/ndisc.c | 17 + trunk/net/ipv6/netfilter/ip6t_NPT.c | 33 +- trunk/net/ipv6/netfilter/ip6t_REJECT.c | 1 + trunk/net/ipv6/netfilter/ip6table_nat.c | 15 +- .../netfilter/nf_conntrack_l3proto_ipv6.c | 4 +- trunk/net/ipv6/netfilter/nf_conntrack_reasm.c | 5 +- trunk/net/ipv6/tcp_ipv6.c | 3 +- trunk/net/iucv/iucv.c | 2 +- trunk/net/mac80211/cfg.c | 14 +- trunk/net/mac80211/chan.c | 38 + trunk/net/mac80211/ibss.c | 9 +- trunk/net/mac80211/ieee80211_i.h | 22 +- trunk/net/mac80211/iface.c | 48 +- trunk/net/mac80211/mesh.c | 8 +- trunk/net/mac80211/mesh.h | 2 +- trunk/net/mac80211/mesh_hwmp.c | 5 +- trunk/net/mac80211/mlme.c | 75 +- trunk/net/mac80211/offchannel.c | 19 +- trunk/net/mac80211/scan.c | 61 +- trunk/net/mac80211/sta_info.c | 46 +- trunk/net/mac80211/sta_info.h | 3 +- trunk/net/mac80211/tx.c | 9 +- trunk/net/mac802154/ieee802154_dev.c | 4 +- trunk/net/mac802154/wpan.c | 2 +- trunk/net/netfilter/Kconfig | 7 + trunk/net/netfilter/nf_conntrack_core.c | 11 +- trunk/net/netfilter/nf_conntrack_netlink.c | 2 +- trunk/net/netfilter/nf_conntrack_standalone.c | 1 + trunk/net/netfilter/nfnetlink_log.c | 16 +- trunk/net/netfilter/x_tables.c | 28 +- trunk/net/netfilter/xt_CT.c | 62 +- trunk/net/netfilter/xt_hashlimit.c | 54 +- trunk/net/netfilter/xt_recent.c | 43 +- trunk/net/netlink/af_netlink.c | 5 +- trunk/net/rds/ib_cm.c | 11 +- trunk/net/rds/ib_recv.c | 9 +- trunk/net/sched/sch_htb.c | 2 +- trunk/net/sctp/Kconfig | 27 +- trunk/net/sctp/outqueue.c | 12 +- trunk/net/sctp/probe.c | 3 +- trunk/net/sctp/protocol.c | 4 +- trunk/net/sctp/sm_statefuns.c | 4 +- trunk/net/sctp/sysctl.c | 4 + trunk/net/sunrpc/clnt.c | 7 +- trunk/net/sunrpc/rpcb_clnt.c | 1 - trunk/net/sunrpc/sched.c | 48 +- trunk/net/sunrpc/svc.c | 8 +- trunk/net/sunrpc/svcsock.c | 98 +- trunk/net/sunrpc/xprt.c | 12 +- trunk/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 10 +- trunk/net/sunrpc/xprtrdma/svc_rdma_sendto.c | 4 +- trunk/net/wireless/core.c | 3 +- trunk/net/wireless/reg.c | 7 - trunk/net/wireless/sysfs.c | 4 - trunk/net/xfrm/xfrm_policy.c | 2 +- trunk/net/xfrm/xfrm_replay.c | 4 +- trunk/samples/rpmsg/rpmsg_client_sample.c | 4 +- trunk/samples/seccomp/Makefile | 2 + trunk/scripts/checkpatch.pl | 17 +- trunk/scripts/coccinelle/misc/warn.cocci | 109 + trunk/scripts/config | 1 - trunk/scripts/headers_install.pl | 6 +- trunk/scripts/kernel-doc | 1 - trunk/scripts/pnmtologo.c | 7 + trunk/scripts/tags.sh | 57 +- trunk/security/capability.c | 24 +- trunk/security/device_cgroup.c | 2 + trunk/security/integrity/evm/evm_crypto.c | 4 +- trunk/security/integrity/ima/ima.h | 1 + trunk/security/integrity/ima/ima_main.c | 12 +- trunk/security/integrity/ima/ima_policy.c | 3 +- trunk/security/keys/process_keys.c | 2 - trunk/security/security.c | 28 +- trunk/security/selinux/hooks.c | 50 +- trunk/security/selinux/include/classmap.h | 2 +- trunk/security/selinux/include/objsec.h | 4 + trunk/security/selinux/nlmsgtab.c | 2 + trunk/sound/arm/pxa2xx-ac97-lib.c | 26 +- trunk/sound/oss/pas2_card.c | 5 + trunk/sound/pci/au88x0/au88x0_synth.c | 2 +- trunk/sound/pci/hda/hda_codec.c | 7 +- trunk/sound/pci/hda/hda_intel.c | 66 +- trunk/sound/pci/hda/patch_conexant.c | 25 +- trunk/sound/pci/hda/patch_hdmi.c | 48 +- trunk/sound/pci/hda/patch_realtek.c | 63 +- trunk/sound/pci/hda/patch_sigmatel.c | 2 +- trunk/sound/pci/rme9652/hdspm.c | 17 +- trunk/sound/soc/codecs/arizona.c | 14 +- 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/cs42l73.c | 116 +- trunk/sound/soc/codecs/lm49453.c | 106 +- trunk/sound/soc/codecs/sgtl5000.c | 4 +- trunk/sound/soc/codecs/sigmadsp.c | 2 +- trunk/sound/soc/codecs/sta529.c | 9 +- trunk/sound/soc/codecs/tpa6130a2.c | 23 +- trunk/sound/soc/codecs/wm2000.c | 4 +- trunk/sound/soc/codecs/wm2200.c | 11 +- trunk/sound/soc/codecs/wm5100.c | 6 - trunk/sound/soc/codecs/wm5102.c | 51 +- trunk/sound/soc/codecs/wm5110.c | 3 +- trunk/sound/soc/codecs/wm_adsp.c | 25 +- trunk/sound/soc/fsl/Kconfig | 9 +- trunk/sound/soc/fsl/Makefile | 5 +- trunk/sound/soc/fsl/imx-pcm.c | 3 - trunk/sound/soc/soc-compress.c | 2 +- trunk/sound/soc/soc-core.c | 45 +- trunk/sound/soc/soc-dapm.c | 12 +- trunk/sound/soc/soc-pcm.c | 13 +- trunk/sound/usb/mixer.c | 17 +- 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 | 149 +- trunk/sound/usb/quirks.c | 110 +- trunk/tools/lguest/lguest.c | 84 +- trunk/tools/perf/MANIFEST | 10 + trunk/tools/perf/Makefile | 2 +- trunk/tools/testing/selftests/ipc/Makefile | 25 + trunk/tools/testing/selftests/ipc/msgque.c | 246 +++ trunk/tools/virtio/virtio_test.c | 4 +- trunk/tools/vm/.gitignore | 2 + 3193 files changed, 56606 insertions(+), 24119 deletions(-) delete mode 100644 trunk/Documentation/ABI/testing/sysfs-devices-node create mode 100644 trunk/Documentation/devicetree/bindings/mtd/denali-nand.txt create mode 100644 trunk/Documentation/devicetree/bindings/mtd/flctl-nand.txt create mode 100644 trunk/Documentation/devicetree/bindings/mtd/m25p80.txt create mode 100644 trunk/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt create mode 100644 trunk/Documentation/devicetree/bindings/spi/spi_atmel.txt create mode 100644 trunk/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt create mode 100644 trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt create mode 100644 trunk/Documentation/filesystems/f2fs.txt mode change 100755 => 100644 trunk/Documentation/hid/hid-sensor.txt create mode 100644 trunk/Documentation/xtensa/atomctl.txt rename trunk/arch/arm/boot/dts/{sun4i-cubieboard.dts => sun4i-a10-cubieboard.dts} (87%) rename trunk/arch/arm/boot/dts/{sun4i.dtsi => sun4i-a10.dtsi} (100%) rename trunk/arch/arm/boot/dts/{sun5i-olinuxino.dts => sun5i-a13-olinuxino.dts} (86%) rename trunk/arch/arm/boot/dts/{sun5i.dtsi => sun5i-a13.dtsi} (100%) rename trunk/arch/arm/{plat-mxc => mach-imx}/devices/platform-mx2-emma.c (94%) delete mode 100644 trunk/arch/arm/mach-nomadik/include/mach/fsmc.h create mode 100644 trunk/arch/arm/mach-omap1/fb.c rename trunk/arch/arm/{plat-omap => mach-omap2}/fb.c (76%) delete mode 100644 trunk/arch/arm/plat-omap/debug-devices.c delete mode 100644 trunk/arch/arm/plat-omap/include/plat/debug-devices.h delete mode 100644 trunk/arch/c6x/include/asm/mmu.h rename trunk/arch/cris/include/{ => uapi}/arch-v10/arch/sv_addr.agh (100%) rename trunk/arch/cris/include/{ => uapi}/arch-v10/arch/sv_addr_ag.h (100%) rename trunk/arch/cris/include/{ => uapi}/arch-v10/arch/svinto.h (100%) rename trunk/arch/cris/include/{ => uapi}/arch-v10/arch/user.h (100%) create mode 100644 trunk/arch/cris/include/uapi/arch-v32/arch/cryptocop.h rename trunk/arch/cris/include/{ => uapi}/arch-v32/arch/user.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/bitsperlong.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/errno.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/ethernet.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/etraxgpio.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/fcntl.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/ioctl.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/ipcbuf.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/mman.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/msgbuf.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/param.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/poll.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/cris/include/uapi/asm/ptrace.h rename trunk/arch/cris/include/{ => uapi}/asm/resource.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/rs485.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/sembuf.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/setup.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/shmbuf.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/sigcontext.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/siginfo.h (100%) create mode 100644 trunk/arch/cris/include/uapi/asm/signal.h rename trunk/arch/cris/include/{ => uapi}/asm/socket.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/statfs.h (100%) create mode 100644 trunk/arch/cris/include/uapi/asm/swab.h rename trunk/arch/cris/include/{ => uapi}/asm/sync_serial.h (100%) rename trunk/arch/cris/include/{ => uapi}/asm/termbits.h (100%) create mode 100644 trunk/arch/cris/include/uapi/asm/termios.h create mode 100644 trunk/arch/cris/include/uapi/asm/types.h create mode 100644 trunk/arch/cris/include/uapi/asm/unistd.h delete mode 100644 trunk/arch/h8300/include/asm/mmu.h rename trunk/arch/h8300/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/bitsperlong.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/errno.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/fcntl.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/ioctl.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/ipcbuf.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/kvm_para.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/mman.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/msgbuf.h (100%) create mode 100644 trunk/arch/h8300/include/uapi/asm/param.h rename trunk/arch/h8300/include/{ => uapi}/asm/poll.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/h8300/include/uapi/asm/ptrace.h rename trunk/arch/h8300/include/{ => uapi}/asm/resource.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/sembuf.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/setup.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/shmbuf.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/sigcontext.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/siginfo.h (100%) create mode 100644 trunk/arch/h8300/include/uapi/asm/signal.h rename trunk/arch/h8300/include/{ => uapi}/asm/socket.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/statfs.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/swab.h (100%) rename trunk/arch/h8300/include/{ => uapi}/asm/termbits.h (100%) create mode 100644 trunk/arch/h8300/include/uapi/asm/termios.h create mode 100644 trunk/arch/h8300/include/uapi/asm/types.h create mode 100644 trunk/arch/h8300/include/uapi/asm/unistd.h rename trunk/arch/m32r/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/bitsperlong.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/errno.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/fcntl.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/ioctl.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/ipcbuf.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/mman.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/msgbuf.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/param.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/poll.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/m32r/include/uapi/asm/ptrace.h rename trunk/arch/m32r/include/{ => uapi}/asm/resource.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/sembuf.h (100%) create mode 100644 trunk/arch/m32r/include/uapi/asm/setup.h rename trunk/arch/m32r/include/{ => uapi}/asm/shmbuf.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/sigcontext.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/siginfo.h (100%) create mode 100644 trunk/arch/m32r/include/uapi/asm/signal.h rename trunk/arch/m32r/include/{ => uapi}/asm/socket.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/statfs.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/swab.h (100%) rename trunk/arch/m32r/include/{ => uapi}/asm/termbits.h (100%) create mode 100644 trunk/arch/m32r/include/uapi/asm/termios.h create mode 100644 trunk/arch/m32r/include/uapi/asm/types.h create mode 100644 trunk/arch/m32r/include/uapi/asm/unistd.h rename trunk/arch/mips/include/{ => uapi}/asm/break.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/bitsperlong.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/errno.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/fcntl.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/ioctl.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/ipcbuf.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/kvm_para.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/mman.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/msgbuf.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/param.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/poll.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/score/include/uapi/asm/ptrace.h rename trunk/arch/score/include/{ => uapi}/asm/resource.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/sembuf.h (100%) create mode 100644 trunk/arch/score/include/uapi/asm/setup.h rename trunk/arch/score/include/{ => uapi}/asm/shmbuf.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/sigcontext.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/siginfo.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/signal.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/socket.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/statfs.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/swab.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/termbits.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/termios.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/types.h (100%) rename trunk/arch/score/include/{ => uapi}/asm/unistd.h (90%) create mode 100644 trunk/arch/xtensa/boot/boot-uboot/Makefile create mode 100644 trunk/arch/xtensa/boot/dts/lx60.dts create mode 100644 trunk/arch/xtensa/boot/dts/ml605.dts create mode 100644 trunk/arch/xtensa/boot/dts/xtfpga-flash-16m.dtsi create mode 100644 trunk/arch/xtensa/boot/dts/xtfpga-flash-4m.dtsi create mode 100644 trunk/arch/xtensa/boot/dts/xtfpga.dtsi create mode 100644 trunk/arch/xtensa/include/asm/initialize_mmu.h delete mode 100644 trunk/arch/xtensa/include/asm/nommu.h create mode 100644 trunk/arch/xtensa/include/asm/prom.h create mode 100644 trunk/arch/xtensa/include/asm/traps.h create mode 100644 trunk/arch/xtensa/platforms/xtfpga/Makefile create mode 100644 trunk/arch/xtensa/platforms/xtfpga/include/platform/hardware.h create mode 100644 trunk/arch/xtensa/platforms/xtfpga/include/platform/lcd.h create mode 100644 trunk/arch/xtensa/platforms/xtfpga/include/platform/serial.h create mode 100644 trunk/arch/xtensa/platforms/xtfpga/lcd.c create mode 100644 trunk/arch/xtensa/platforms/xtfpga/setup.c delete mode 100644 trunk/drivers/acpi/acpica/utclib.c delete mode 100644 trunk/drivers/mtd/maps/fortunet.c create mode 100644 trunk/drivers/mtd/nand/bcm47xxnflash/Makefile create mode 100644 trunk/drivers/mtd/nand/bcm47xxnflash/bcm47xxnflash.h create mode 100644 trunk/drivers/mtd/nand/bcm47xxnflash/main.c create mode 100644 trunk/drivers/mtd/nand/bcm47xxnflash/ops_bcm4706.c create mode 100644 trunk/drivers/mtd/nand/denali_dt.c create mode 100644 trunk/drivers/mtd/nand/denali_pci.c delete mode 100644 trunk/drivers/mtd/nand/nomadik_nand.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/Kconfig create mode 100644 trunk/drivers/net/wireless/ath/wil6210/Makefile create mode 100644 trunk/drivers/net/wireless/ath/wil6210/cfg80211.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/dbg_hexdump.h create mode 100644 trunk/drivers/net/wireless/ath/wil6210/debugfs.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/interrupt.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/main.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/netdev.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/pcie_bus.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/txrx.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/txrx.h create mode 100644 trunk/drivers/net/wireless/ath/wil6210/wil6210.h create mode 100644 trunk/drivers/net/wireless/ath/wil6210/wmi.c create mode 100644 trunk/drivers/net/wireless/ath/wil6210/wmi.h create mode 100644 trunk/drivers/rtc/rtc-tps6586x.c create mode 100644 trunk/drivers/staging/omapdrm/omap_irq.c create mode 100644 trunk/drivers/watchdog/da9055_wdt.c create mode 100644 trunk/fs/f2fs/Kconfig create mode 100644 trunk/fs/f2fs/Makefile create mode 100644 trunk/fs/f2fs/acl.c create mode 100644 trunk/fs/f2fs/acl.h create mode 100644 trunk/fs/f2fs/checkpoint.c create mode 100644 trunk/fs/f2fs/data.c create mode 100644 trunk/fs/f2fs/debug.c create mode 100644 trunk/fs/f2fs/dir.c create mode 100644 trunk/fs/f2fs/f2fs.h create mode 100644 trunk/fs/f2fs/file.c create mode 100644 trunk/fs/f2fs/gc.c create mode 100644 trunk/fs/f2fs/gc.h create mode 100644 trunk/fs/f2fs/hash.c create mode 100644 trunk/fs/f2fs/inode.c create mode 100644 trunk/fs/f2fs/namei.c create mode 100644 trunk/fs/f2fs/node.c create mode 100644 trunk/fs/f2fs/node.h create mode 100644 trunk/fs/f2fs/recovery.c create mode 100644 trunk/fs/f2fs/segment.c create mode 100644 trunk/fs/f2fs/segment.h create mode 100644 trunk/fs/f2fs/super.c create mode 100644 trunk/fs/f2fs/xattr.c create mode 100644 trunk/fs/f2fs/xattr.h delete mode 100644 trunk/fs/nfsd/fault_inject.h delete mode 100644 trunk/include/linux/Kbuild create mode 100644 trunk/include/linux/f2fs_fs.h delete mode 100644 trunk/include/linux/hdlc/Kbuild delete mode 100644 trunk/include/linux/hsi/Kbuild delete mode 100644 trunk/include/linux/mtd/gpmi-nand.h rename trunk/{arch/arm/mach-imx/iram.h => include/linux/platform_data/imx-iram.h} (100%) delete mode 100644 trunk/include/linux/platform_data/mtd-nomadik-nand.h rename trunk/{arch/arm/plat-omap/include/plat/omap-serial.h => include/linux/platform_data/serial-omap.h} (100%) delete mode 100644 trunk/include/linux/raid/Kbuild delete mode 100644 trunk/include/linux/usb/Kbuild delete mode 100644 trunk/include/rdma/Kbuild delete mode 100644 trunk/include/sound/Kbuild create mode 100644 trunk/scripts/coccinelle/misc/warn.cocci create mode 100644 trunk/tools/testing/selftests/ipc/Makefile create mode 100644 trunk/tools/testing/selftests/ipc/msgque.c create mode 100644 trunk/tools/vm/.gitignore diff --git a/[refs] b/[refs] index d7d769e45c8a..f21b44baeff3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1383923d1985cef2bceb8128094fbe5e05de7435 +refs/heads/master: 2110cf029a67237db572299bb51e0de9e3e3d4dd diff --git a/trunk/Documentation/ABI/testing/sysfs-bus-rbd b/trunk/Documentation/ABI/testing/sysfs-bus-rbd index 1cf2adf46b11..cd9213ccf3dc 100644 --- a/trunk/Documentation/ABI/testing/sysfs-bus-rbd +++ b/trunk/Documentation/ABI/testing/sysfs-bus-rbd @@ -70,6 +70,10 @@ snap_* A directory per each snapshot +parent + + Information identifying the pool, image, and snapshot id for + the parent image in a layered rbd image (format 2 only). Entries under /sys/bus/rbd/devices//snap_ ------------------------------------------------------------- diff --git a/trunk/Documentation/ABI/testing/sysfs-devices-node b/trunk/Documentation/ABI/testing/sysfs-devices-node deleted file mode 100644 index 453a210c3ceb..000000000000 --- a/trunk/Documentation/ABI/testing/sysfs-devices-node +++ /dev/null @@ -1,7 +0,0 @@ -What: /sys/devices/system/node/nodeX/compact -Date: February 2010 -Contact: Mel Gorman -Description: - When this file is written to, all memory within that node - will be compacted. When it completes, memory will be freed - into blocks which have as many contiguous pages as possible diff --git a/trunk/Documentation/DMA-API-HOWTO.txt b/trunk/Documentation/DMA-API-HOWTO.txt index a0b6250add79..4a4fb295ceef 100644 --- a/trunk/Documentation/DMA-API-HOWTO.txt +++ b/trunk/Documentation/DMA-API-HOWTO.txt @@ -468,11 +468,46 @@ To map a single region, you do: size_t size = buffer->len; dma_handle = dma_map_single(dev, addr, size, direction); + if (dma_mapping_error(dma_handle)) { + /* + * reduce current DMA mapping usage, + * delay and try again later or + * reset driver. + */ + goto map_error_handling; + } and to unmap it: dma_unmap_single(dev, dma_handle, size, direction); +You should call dma_mapping_error() as dma_map_single() could fail and return +error. Not all dma implementations support dma_mapping_error() interface. +However, it is a good practice to call dma_mapping_error() interface, which +will invoke the generic mapping error check interface. Doing so will ensure +that the mapping code will work correctly on all dma implementations without +any dependency on the specifics of the underlying implementation. Using the +returned address without checking for errors could result in failures ranging +from panics to silent data corruption. Couple of example of incorrect ways to +check for errors that make assumptions about the underlying dma implementation +are as follows and these are applicable to dma_map_page() as well. + +Incorrect example 1: + dma_addr_t dma_handle; + + dma_handle = dma_map_single(dev, addr, size, direction); + if ((dma_handle & 0xffff != 0) || (dma_handle >= 0x1000000)) { + goto map_error; + } + +Incorrect example 2: + dma_addr_t dma_handle; + + dma_handle = dma_map_single(dev, addr, size, direction); + if (dma_handle == DMA_ERROR_CODE) { + goto map_error; + } + You should call dma_unmap_single when the DMA activity is finished, e.g. from the interrupt which told you that the DMA transfer is done. @@ -489,6 +524,14 @@ Specifically: size_t size = buffer->len; dma_handle = dma_map_page(dev, page, offset, size, direction); + if (dma_mapping_error(dma_handle)) { + /* + * reduce current DMA mapping usage, + * delay and try again later or + * reset driver. + */ + goto map_error_handling; + } ... @@ -496,6 +539,12 @@ Specifically: Here, "offset" means byte offset within the given page. +You should call dma_mapping_error() as dma_map_page() could fail and return +error as outlined under the dma_map_single() discussion. + +You should call dma_unmap_page when the DMA activity is finished, e.g. +from the interrupt which told you that the DMA transfer is done. + With scatterlists, you map a region gathered from several regions by: int i, count = dma_map_sg(dev, sglist, nents, direction); @@ -578,6 +627,14 @@ to use the dma_sync_*() interfaces. dma_addr_t mapping; mapping = dma_map_single(cp->dev, buffer, len, DMA_FROM_DEVICE); + if (dma_mapping_error(dma_handle)) { + /* + * reduce current DMA mapping usage, + * delay and try again later or + * reset driver. + */ + goto map_error_handling; + } cp->rx_buf = buffer; cp->rx_len = len; @@ -658,6 +715,75 @@ failure can be determined by: * delay and try again later or * reset driver. */ + goto map_error_handling; + } + +- unmap pages that are already mapped, when mapping error occurs in the middle + of a multiple page mapping attempt. These example are applicable to + dma_map_page() as well. + +Example 1: + dma_addr_t dma_handle1; + dma_addr_t dma_handle2; + + dma_handle1 = dma_map_single(dev, addr, size, direction); + if (dma_mapping_error(dev, dma_handle1)) { + /* + * reduce current DMA mapping usage, + * delay and try again later or + * reset driver. + */ + goto map_error_handling1; + } + dma_handle2 = dma_map_single(dev, addr, size, direction); + if (dma_mapping_error(dev, dma_handle2)) { + /* + * reduce current DMA mapping usage, + * delay and try again later or + * reset driver. + */ + goto map_error_handling2; + } + + ... + + map_error_handling2: + dma_unmap_single(dma_handle1); + map_error_handling1: + +Example 2: (if buffers are allocated a loop, unmap all mapped buffers when + mapping error is detected in the middle) + + dma_addr_t dma_addr; + dma_addr_t array[DMA_BUFFERS]; + int save_index = 0; + + for (i = 0; i < DMA_BUFFERS; i++) { + + ... + + dma_addr = dma_map_single(dev, addr, size, direction); + if (dma_mapping_error(dev, dma_addr)) { + /* + * reduce current DMA mapping usage, + * delay and try again later or + * reset driver. + */ + goto map_error_handling; + } + array[i].dma_addr = dma_addr; + save_index++; + } + + ... + + map_error_handling: + + for (i = 0; i < save_index; i++) { + + ... + + dma_unmap_single(array[i].dma_addr); } Networking drivers must call dev_kfree_skb to free the socket buffer diff --git a/trunk/Documentation/DMA-API.txt b/trunk/Documentation/DMA-API.txt index 66bd97a95f10..78a6c569d204 100644 --- a/trunk/Documentation/DMA-API.txt +++ b/trunk/Documentation/DMA-API.txt @@ -678,3 +678,15 @@ out of dma_debug_entries. These entries are preallocated at boot. The number of preallocated entries is defined per architecture. If it is too low for you boot with 'dma_debug_entries=' to overwrite the architectural default. + +void debug_dmap_mapping_error(struct device *dev, dma_addr_t dma_addr); + +dma-debug interface debug_dma_mapping_error() to debug drivers that fail +to check dma mapping errors on addresses returned by dma_map_single() and +dma_map_page() interfaces. This interface clears a flag set by +debug_dma_map_page() to indicate that dma_mapping_error() has been called by +the driver. When driver does unmap, debug_dma_unmap() checks the flag and if +this flag is still set, prints warning message that includes call trace that +leads up to the unmap. This interface can be called from dma_mapping_error() +routines to enable dma mapping error check debugging. + diff --git a/trunk/Documentation/DocBook/media/v4l/driver.xml b/trunk/Documentation/DocBook/media/v4l/driver.xml index eacafe312cd2..7c6638bacedb 100644 --- a/trunk/Documentation/DocBook/media/v4l/driver.xml +++ b/trunk/Documentation/DocBook/media/v4l/driver.xml @@ -116,7 +116,7 @@ my_suspend (struct pci_dev * pci_dev, return 0; /* a negative value on error, 0 on success. */ } -static void __devexit +static void my_remove (struct pci_dev * pci_dev) { my_device *my = pci_get_drvdata (pci_dev); @@ -124,7 +124,7 @@ my_remove (struct pci_dev * pci_dev) /* Describe me. */ } -static int __devinit +static int my_probe (struct pci_dev * pci_dev, const struct pci_device_id * pci_id) { @@ -157,7 +157,7 @@ my_pci_driver = { .id_table = my_pci_device_ids, .probe = my_probe, - .remove = __devexit_p (my_remove), + .remove = my_remove, /* Power management functions. */ .suspend = my_suspend, diff --git a/trunk/Documentation/PCI/pci-iov-howto.txt b/trunk/Documentation/PCI/pci-iov-howto.txt index cfaca7e69893..86551cc72e03 100644 --- a/trunk/Documentation/PCI/pci-iov-howto.txt +++ b/trunk/Documentation/PCI/pci-iov-howto.txt @@ -76,7 +76,7 @@ To notify SR-IOV core of Virtual Function Migration: Following piece of code illustrates the usage of the SR-IOV API. -static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *id) +static int dev_probe(struct pci_dev *dev, const struct pci_device_id *id) { pci_enable_sriov(dev, NR_VIRTFN); @@ -85,7 +85,7 @@ static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id * return 0; } -static void __devexit dev_remove(struct pci_dev *dev) +static void dev_remove(struct pci_dev *dev) { pci_disable_sriov(dev); @@ -131,7 +131,7 @@ static struct pci_driver dev_driver = { .name = "SR-IOV Physical Function driver", .id_table = dev_id_table, .probe = dev_probe, - .remove = __devexit_p(dev_remove), + .remove = dev_remove, .suspend = dev_suspend, .resume = dev_resume, .shutdown = dev_shutdown, diff --git a/trunk/Documentation/PCI/pci.txt b/trunk/Documentation/PCI/pci.txt index aa09e5476bba..bccf602a87f5 100644 --- a/trunk/Documentation/PCI/pci.txt +++ b/trunk/Documentation/PCI/pci.txt @@ -183,12 +183,6 @@ Please mark the initialization and cleanup functions where appropriate initializes. __exit Exit code. Ignored for non-modular drivers. - - __devinit Device initialization code. - Identical to __init if the kernel is not compiled - with CONFIG_HOTPLUG, normal function otherwise. - __devexit The same for __exit. - Tips on when/where to use the above attributes: o The module_init()/module_exit() functions (and all initialization functions called _only_ from these) @@ -196,20 +190,6 @@ Tips on when/where to use the above attributes: o Do not mark the struct pci_driver. - o The ID table array should be marked __devinitconst; this is done - automatically if the table is declared with DEFINE_PCI_DEVICE_TABLE(). - - o The probe() and remove() functions should be marked __devinit - and __devexit respectively. All initialization functions - exclusively called by the probe() routine, can be marked __devinit. - Ditto for remove() and __devexit. - - o If mydriver_remove() is marked with __devexit(), then all address - references to mydriver_remove must use __devexit_p(mydriver_remove) - (in the struct pci_driver declaration for example). - __devexit_p() will generate the function name _or_ NULL if the - function will be discarded. For an example, see drivers/net/tg3.c. - o Do NOT mark a function if you are not sure which mark to use. Better to not mark the function than mark the function wrong. diff --git a/trunk/Documentation/acpi/enumeration.txt b/trunk/Documentation/acpi/enumeration.txt index 4f27785ca0c8..54469bc81b1c 100644 --- a/trunk/Documentation/acpi/enumeration.txt +++ b/trunk/Documentation/acpi/enumeration.txt @@ -185,7 +185,7 @@ input driver: .acpi_match_table ACPI_PTR(mpu3050_acpi_match), }, .probe = mpu3050_probe, - .remove = __devexit_p(mpu3050_remove), + .remove = mpu3050_remove, .id_table = mpu3050_ids, }; diff --git a/trunk/Documentation/device-mapper/dm-raid.txt b/trunk/Documentation/device-mapper/dm-raid.txt index 728c38c242d6..56fb62b09fc5 100644 --- a/trunk/Documentation/device-mapper/dm-raid.txt +++ b/trunk/Documentation/device-mapper/dm-raid.txt @@ -141,3 +141,4 @@ Version History 1.2.0 Handle creation of arrays that contain failed devices. 1.3.0 Added support for RAID 10 1.3.1 Allow device replacement/rebuild for RAID 10 +1.3.2 Fix/improve redundancy checking for RAID10 diff --git a/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt b/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt index 49fc7ada929a..3545ea704b50 100644 --- a/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt +++ b/trunk/Documentation/devicetree/bindings/arm/davinci/nand.txt @@ -23,6 +23,9 @@ Recommended properties : - ti,davinci-nand-buswidth: buswidth 8 or 16 - ti,davinci-nand-use-bbt: use flash based bad block table support. +nand device bindings may contain additional sub-nodes describing +partitions of the address space. See partition.txt for more detail. + Example(da850 EVM ): nand_cs3@62000000 { compatible = "ti,davinci-nand"; @@ -35,4 +38,9 @@ nand_cs3@62000000 { ti,davinci-ecc-mode = "hw"; ti,davinci-ecc-bits = <4>; ti,davinci-nand-use-bbt; + + partition@180000 { + label = "ubifs"; + reg = <0x180000 0x7e80000>; + }; }; diff --git a/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt b/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt index baadbb11fe98..5083c0b834b2 100644 --- a/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt +++ b/trunk/Documentation/devicetree/bindings/clock/imx23-clock.txt @@ -60,11 +60,6 @@ clks: clkctrl@80040000 { compatible = "fsl,imx23-clkctrl"; reg = <0x80040000 0x2000>; #clock-cells = <1>; - clock-output-names = - ... - "uart", /* 32 */ - ... - "end_of_list"; }; auart0: serial@8006c000 { diff --git a/trunk/Documentation/devicetree/bindings/clock/imx25-clock.txt b/trunk/Documentation/devicetree/bindings/clock/imx25-clock.txt index c2a3525ecb4e..db4f2f05c4d0 100644 --- a/trunk/Documentation/devicetree/bindings/clock/imx25-clock.txt +++ b/trunk/Documentation/devicetree/bindings/clock/imx25-clock.txt @@ -146,10 +146,6 @@ clks: ccm@53f80000 { compatible = "fsl,imx25-ccm"; reg = <0x53f80000 0x4000>; interrupts = <31>; - clock-output-names = ... - "uart_ipg", - "uart_serial", - ...; }; uart1: serial@43f90000 { diff --git a/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt b/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt index 52a49a4a50b3..e6587af62ff0 100644 --- a/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt +++ b/trunk/Documentation/devicetree/bindings/clock/imx28-clock.txt @@ -83,11 +83,6 @@ clks: clkctrl@80040000 { compatible = "fsl,imx28-clkctrl"; reg = <0x80040000 0x2000>; #clock-cells = <1>; - clock-output-names = - ... - "uart", /* 45 */ - ... - "end_of_list"; }; auart0: serial@8006a000 { diff --git a/trunk/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/trunk/Documentation/devicetree/bindings/clock/imx6q-clock.txt index d77b4e68dc42..f73fdf595568 100644 --- a/trunk/Documentation/devicetree/bindings/clock/imx6q-clock.txt +++ b/trunk/Documentation/devicetree/bindings/clock/imx6q-clock.txt @@ -211,10 +211,6 @@ clks: ccm@020c4000 { reg = <0x020c4000 0x4000>; interrupts = <0 87 0x04 0 88 0x04>; #clock-cells = <1>; - clock-output-names = ... - "uart_ipg", - "uart_serial", - ...; }; uart1: serial@02020000 { diff --git a/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt b/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt index 558cdf3c9abc..d4eab9227ea4 100644 --- a/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt +++ b/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt @@ -1,4 +1,19 @@ -GPIO line that should be set high/low to power off a device +Driver a GPIO line that can be used to turn the power off. + +The driver supports both level triggered and edge triggered power off. +At driver load time, the driver will request the given gpio line and +install a pm_power_off handler. If the optional properties 'input' is +not found, the GPIO line will be driven in the inactive +state. Otherwise its configured as an input. + +When the pm_power_off is called, the gpio is configured as an output, +and drive active, so triggering a level triggered power off +condition. This will also cause an inactive->active edge condition, so +triggering positive edge triggered power off. After a delay of 100ms, +the GPIO is set to inactive, thus causing an active->inactive edge, +triggering negative edge triggered power off. After another 100ms +delay the GPIO is driver active again. If the power is still on and +the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted. Required properties: - compatible : should be "gpio-poweroff". @@ -13,10 +28,9 @@ Optional properties: property is not specified, the GPIO is initialized as an output in its inactive state. - Examples: gpio-poweroff { compatible = "gpio-poweroff"; - gpios = <&gpio 4 0>; /* GPIO 4 Active Low */ + gpios = <&gpio 4 0>; }; diff --git a/trunk/Documentation/devicetree/bindings/mtd/denali-nand.txt b/trunk/Documentation/devicetree/bindings/mtd/denali-nand.txt new file mode 100644 index 000000000000..b04d03a1d499 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/mtd/denali-nand.txt @@ -0,0 +1,23 @@ +* Denali NAND controller + +Required properties: + - compatible : should be "denali,denali-nand-dt" + - reg : should contain registers location and length for data and reg. + - reg-names: Should contain the reg names "nand_data" and "denali_reg" + - interrupts : The interrupt number. + - dm-mask : DMA bit mask + +The device tree may optionally contain sub-nodes describing partitions of the +address space. See partition.txt for more detail. + +Examples: + +nand: nand@ff900000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "denali,denali-nand-dt"; + reg = <0xff900000 0x100000>, <0xffb80000 0x10000>; + reg-names = "nand_data", "denali_reg"; + interrupts = <0 144 4>; + dma-mask = <0xffffffff>; +}; diff --git a/trunk/Documentation/devicetree/bindings/mtd/flctl-nand.txt b/trunk/Documentation/devicetree/bindings/mtd/flctl-nand.txt new file mode 100644 index 000000000000..427f46dc60ad --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/mtd/flctl-nand.txt @@ -0,0 +1,49 @@ +FLCTL NAND controller + +Required properties: +- compatible : "renesas,shmobile-flctl-sh7372" +- reg : Address range of the FLCTL +- interrupts : flste IRQ number +- nand-bus-width : bus width to NAND chip + +Optional properties: +- dmas: DMA specifier(s) +- dma-names: name for each DMA specifier. Valid names are + "data_tx", "data_rx", "ecc_tx", "ecc_rx" + +The DMA fields are not used yet in the driver but are listed here for +completing the bindings. + +The device tree may optionally contain sub-nodes describing partitions of the +address space. See partition.txt for more detail. + +Example: + + flctl@e6a30000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "renesas,shmobile-flctl-sh7372"; + reg = <0xe6a30000 0x100>; + interrupts = <0x0d80>; + + nand-bus-width = <16>; + + dmas = <&dmac 1 /* data_tx */ + &dmac 2;> /* data_rx */ + dma-names = "data_tx", "data_rx"; + + system@0 { + label = "system"; + reg = <0x0 0x8000000>; + }; + + userdata@8000000 { + label = "userdata"; + reg = <0x8000000 0x10000000>; + }; + + cache@18000000 { + label = "cache"; + reg = <0x18000000 0x8000000>; + }; + }; diff --git a/trunk/Documentation/devicetree/bindings/mtd/fsmc-nand.txt b/trunk/Documentation/devicetree/bindings/mtd/fsmc-nand.txt index e2c663b354d2..e3ea32e7de3e 100644 --- a/trunk/Documentation/devicetree/bindings/mtd/fsmc-nand.txt +++ b/trunk/Documentation/devicetree/bindings/mtd/fsmc-nand.txt @@ -3,9 +3,7 @@ Required properties: - compatible : "st,spear600-fsmc-nand" - reg : Address range of the mtd chip -- reg-names: Should contain the reg names "fsmc_regs" and "nand_data" -- st,ale-off : Chip specific offset to ALE -- st,cle-off : Chip specific offset to CLE +- reg-names: Should contain the reg names "fsmc_regs", "nand_data", "nand_addr" and "nand_cmd" Optional properties: - bank-width : Width (in bytes) of the device. If not present, the width @@ -19,10 +17,10 @@ Example: #address-cells = <1>; #size-cells = <1>; reg = <0xd1800000 0x1000 /* FSMC Register */ - 0xd2000000 0x4000>; /* NAND Base */ - reg-names = "fsmc_regs", "nand_data"; - st,ale-off = <0x20000>; - st,cle-off = <0x10000>; + 0xd2000000 0x0010 /* NAND Base DATA */ + 0xd2020000 0x0010 /* NAND Base ADDR */ + 0xd2010000 0x0010>; /* NAND Base CMD */ + reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; bank-width = <1>; nand-skip-bbtscan; diff --git a/trunk/Documentation/devicetree/bindings/mtd/m25p80.txt b/trunk/Documentation/devicetree/bindings/mtd/m25p80.txt new file mode 100644 index 000000000000..6d3d57609470 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/mtd/m25p80.txt @@ -0,0 +1,29 @@ +* MTD SPI driver for ST M25Pxx (and similar) serial flash chips + +Required properties: +- #address-cells, #size-cells : Must be present if the device has sub-nodes + representing partitions. +- compatible : Should be the manufacturer and the name of the chip. Bear in mind + the DT binding is not Linux-only, but in case of Linux, see the + "m25p_ids" table in drivers/mtd/devices/m25p80.c for the list of + supported chips. +- reg : Chip-Select number +- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at + +Optional properties: +- m25p,fast-read : Use the "fast read" opcode to read data from the chip instead + of the usual "read" opcode. This opcode is not supported by + all chips and support for it can not be detected at runtime. + Refer to your chips' datasheet to check if this is supported + by your chip. + +Example: + + flash: m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spansion,m25p80"; + reg = <0>; + spi-max-frequency = <40000000>; + m25p,fast-read; + }; diff --git a/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt index 94de19b8f16b..dab7847fc800 100644 --- a/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt +++ b/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt @@ -23,6 +23,9 @@ file systems on embedded devices. unaligned accesses as implemented in the JFFS2 code via memcpy(). By defining "no-unaligned-direct-access", the flash will not be exposed directly to the MTD users (e.g. JFFS2) any more. + - linux,mtd-name: allow to specify the mtd name for retro capability with + physmap-flash drivers as boot loader pass the mtd partition via the old + device name physmap-flash. For JEDEC compatible devices, the following additional properties are defined: diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt b/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt index 3a268127b054..bc50899e0c81 100644 --- a/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt +++ b/trunk/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt @@ -81,7 +81,8 @@ 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. + 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... Bits used for CONFIG: PULL_UP (1 << 0): indicate this pin need a pull up. @@ -126,7 +127,7 @@ pinctrl@fffff400 { pinctrl_dbgu: dbgu-0 { atmel,pins = <1 14 0x1 0x0 /* PB14 periph A */ - 1 15 0x1 0x1>; /* PB15 periph with pullup */ + 1 15 0x1 0x1>; /* PB15 periph A with pullup */ }; }; }; diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt b/trunk/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt new file mode 100644 index 000000000000..c596a6ad3285 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt @@ -0,0 +1,47 @@ +CSR SiRFprimaII pinmux controller + +Required properties: +- compatible : "sirf,prima2-pinctrl" +- reg : Address range of the pinctrl registers +- interrupts : Interrupts used by every GPIO group +- gpio-controller : Indicates this device is a GPIO controller +- interrupt-controller : Marks the device node as an interrupt controller +Optional properties: +- sirf,pullups : if n-th bit of m-th bank is set, set a pullup on GPIO-n of bank m +- sirf,pulldowns : if n-th bit of m-th bank is set, set a pulldown on GPIO-n of bank m + +Please refer to pinctrl-bindings.txt in this directory for details of the common +pinctrl bindings used by client devices. + +SiRFprimaII's pinmux nodes act as a container for an abitrary number of subnodes. +Each of these subnodes represents some desired configuration for a group of pins. + +Required subnode-properties: +- sirf,pins : An array of strings. Each string contains the name of a group. +- sirf,function: A string containing the name of the function to mux to the + group. + + Valid values for group and function names can be found from looking at the + group and function arrays in driver files: + drivers/pinctrl/pinctrl-sirf.c + +For example, pinctrl might have subnodes like the following: + uart2_pins_a: uart2@0 { + uart { + sirf,pins = "uart2grp"; + sirf,function = "uart2"; + }; + }; + uart2_noflow_pins_a: uart2@1 { + uart { + sirf,pins = "uart2_nostreamctrlgrp"; + sirf,function = "uart2_nostreamctrl"; + }; + }; + +For a specific board, if it wants to use uart2 without hardware flow control, +it can add the following to its board-specific .dts file. +uart2: uart@0xb0070000 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_noflow_pins_a>; +} diff --git a/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt b/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt index 8cf24f6f0a99..7b53da5cb75b 100644 --- a/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt +++ b/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt @@ -13,7 +13,7 @@ Recommended properties: Example: -spi@7000d600 { +spi@7000c380 { compatible = "nvidia,tegra20-sflash"; reg = <0x7000c380 0x80>; interrupts = <0 39 0x04>; diff --git a/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt b/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt index f5b1ad1a1ec3..eefe15e3d95e 100644 --- a/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt +++ b/trunk/Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt @@ -13,7 +13,7 @@ Recommended properties: Example: -slink@7000d600 { +spi@7000d600 { compatible = "nvidia,tegra20-slink"; reg = <0x7000d600 0x200>; interrupts = <0 82 0x04>; diff --git a/trunk/Documentation/devicetree/bindings/spi/spi_atmel.txt b/trunk/Documentation/devicetree/bindings/spi/spi_atmel.txt new file mode 100644 index 000000000000..07e04cdc0c9e --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/spi/spi_atmel.txt @@ -0,0 +1,26 @@ +Atmel SPI device + +Required properties: +- compatible : should be "atmel,at91rm9200-spi". +- reg: Address and length of the register set for the device +- interrupts: Should contain spi interrupt +- cs-gpios: chipselects + +Example: + +spi1: spi@fffcc000 { + compatible = "atmel,at91rm9200-spi"; + reg = <0xfffcc000 0x4000>; + interrupts = <13 4 5>; + #address-cells = <1>; + #size-cells = <0>; + cs-gpios = <&pioB 3 0>; + status = "okay"; + + mmc-slot@0 { + compatible = "mmc-spi-slot"; + reg = <0>; + gpios = <&pioC 4 0>; /* CD */ + spi-max-frequency = <25000000>; + }; +}; diff --git a/trunk/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt b/trunk/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt new file mode 100644 index 000000000000..75558ccd9a05 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt @@ -0,0 +1,12 @@ +DaVinci Watchdog Timer (WDT) Controller + +Required properties: +- compatible : Should be "ti,davinci-wdt" +- reg : Should contain WDT registers location and length + +Examples: + +wdt: wdt@2320000 { + compatible = "ti,davinci-wdt"; + reg = <0x02320000 0x80>; +}; diff --git a/trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt b/trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt new file mode 100644 index 000000000000..80a37193c0b8 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt @@ -0,0 +1,10 @@ +Device tree bindings for twl4030-wdt driver (TWL4030 watchdog) + +Required properties: + compatible = "ti,twl4030-wdt"; + +Example: + +watchdog { + compatible = "ti,twl4030-wdt"; +}; diff --git a/trunk/Documentation/filesystems/00-INDEX b/trunk/Documentation/filesystems/00-INDEX index 7b52ba7bf32a..8042050eb265 100644 --- a/trunk/Documentation/filesystems/00-INDEX +++ b/trunk/Documentation/filesystems/00-INDEX @@ -50,6 +50,8 @@ ext4.txt - info, mount options and specifications for the Ext4 filesystem. files.txt - info on file management in the Linux kernel. +f2fs.txt + - info and mount options for the F2FS filesystem. fuse.txt - info on the Filesystem in User SpacE including mount options. gfs2.txt diff --git a/trunk/Documentation/filesystems/Locking b/trunk/Documentation/filesystems/Locking index e540a24e5d06..f48e0c6b4c42 100644 --- a/trunk/Documentation/filesystems/Locking +++ b/trunk/Documentation/filesystems/Locking @@ -80,7 +80,6 @@ rename: yes (all) (see below) readlink: no follow_link: no put_link: no -truncate: yes (see below) setattr: yes permission: no (may not block if called in rcu-walk mode) get_acl: no @@ -96,11 +95,6 @@ atomic_open: yes Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on victim. cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. - ->truncate() is never called directly - it's a callback, not a -method. It's called by vmtruncate() - deprecated library function used by -->setattr(). Locking information above applies to that call (i.e. is -inherited from ->setattr() - vmtruncate() is used when ATTR_SIZE had been -passed). See Documentation/filesystems/directory-locking for more detailed discussion of the locking scheme for directory operations. diff --git a/trunk/Documentation/filesystems/caching/backend-api.txt b/trunk/Documentation/filesystems/caching/backend-api.txt index 382d52cdaf2d..d78bab9622c6 100644 --- a/trunk/Documentation/filesystems/caching/backend-api.txt +++ b/trunk/Documentation/filesystems/caching/backend-api.txt @@ -308,6 +308,18 @@ performed on the denizens of the cache. These are held in a structure of type: obtained by calling object->cookie->def->get_aux()/get_attr(). + (*) Invalidate data object [mandatory]: + + int (*invalidate_object)(struct fscache_operation *op) + + This is called to invalidate a data object (as pointed to by op->object). + All the data stored for this object should be discarded and an + attr_changed operation should be performed. The caller will follow up + with an object update operation. + + fscache_op_complete() must be called on op before returning. + + (*) Discard object [mandatory]: void (*drop_object)(struct fscache_object *object) @@ -419,7 +431,10 @@ performed on the denizens of the cache. These are held in a structure of type: If an I/O error occurs, fscache_io_error() should be called and -ENOBUFS returned if possible or fscache_end_io() called with a suitable error - code.. + code. + + fscache_put_retrieval() should be called after a page or pages are dealt + with. This will complete the operation when all pages are dealt with. (*) Request pages be read from cache [mandatory]: @@ -526,6 +541,27 @@ FS-Cache provides some utilities that a cache backend may make use of: error value should be 0 if successful and an error otherwise. + (*) Record that one or more pages being retrieved or allocated have been dealt + with: + + void fscache_retrieval_complete(struct fscache_retrieval *op, + int n_pages); + + This is called to record the fact that one or more pages have been dealt + with and are no longer the concern of this operation. When the number of + pages remaining in the operation reaches 0, the operation will be + completed. + + + (*) Record operation completion: + + void fscache_op_complete(struct fscache_operation *op); + + This is called to record the completion of an operation. This deducts + this operation from the parent object's run state, potentially permitting + one or more pending operations to start running. + + (*) Set highest store limit: void fscache_set_store_limit(struct fscache_object *object, diff --git a/trunk/Documentation/filesystems/caching/netfs-api.txt b/trunk/Documentation/filesystems/caching/netfs-api.txt index 7cc6bf2871eb..97e6c0ecc5ef 100644 --- a/trunk/Documentation/filesystems/caching/netfs-api.txt +++ b/trunk/Documentation/filesystems/caching/netfs-api.txt @@ -35,8 +35,9 @@ This document contains the following sections: (12) Index and data file update (13) Miscellaneous cookie operations (14) Cookie unregistration - (15) Index and data file invalidation - (16) FS-Cache specific page flags. + (15) Index invalidation + (16) Data file invalidation + (17) FS-Cache specific page flags. ============================= @@ -767,13 +768,42 @@ the cookies for "child" indices, objects and pages have been relinquished first. -================================ -INDEX AND DATA FILE INVALIDATION -================================ +================== +INDEX INVALIDATION +================== + +There is no direct way to invalidate an index subtree. To do this, the caller +should relinquish and retire the cookie they have, and then acquire a new one. + + +====================== +DATA FILE INVALIDATION +====================== + +Sometimes it will be necessary to invalidate an object that contains data. +Typically this will be necessary when the server tells the netfs of a foreign +change - at which point the netfs has to throw away all the state it had for an +inode and reload from the server. + +To indicate that a cache object should be invalidated, the following function +can be called: + + void fscache_invalidate(struct fscache_cookie *cookie); + +This can be called with spinlocks held as it defers the work to a thread pool. +All extant storage, retrieval and attribute change ops at this point are +cancelled and discarded. Some future operations will be rejected until the +cache has had a chance to insert a barrier in the operations queue. After +that, operations will be queued again behind the invalidation operation. + +The invalidation operation will perform an attribute change operation and an +auxiliary data update operation as it is very likely these will have changed. + +Using the following function, the netfs can wait for the invalidation operation +to have reached a point at which it can start submitting ordinary operations +once again: -There is no direct way to invalidate an index subtree or a data file. To do -this, the caller should relinquish and retire the cookie they have, and then -acquire a new one. + void fscache_wait_on_invalidate(struct fscache_cookie *cookie); =========================== diff --git a/trunk/Documentation/filesystems/caching/object.txt b/trunk/Documentation/filesystems/caching/object.txt index 58313348da87..100ff41127e4 100644 --- a/trunk/Documentation/filesystems/caching/object.txt +++ b/trunk/Documentation/filesystems/caching/object.txt @@ -216,7 +216,14 @@ servicing netfs requests: The normal running state. In this state, requests the netfs makes will be passed on to the cache. - (6) State FSCACHE_OBJECT_UPDATING. + (6) State FSCACHE_OBJECT_INVALIDATING. + + The object is undergoing invalidation. When the state comes here, it + discards all pending read, write and attribute change operations as it is + going to clear out the cache entirely and reinitialise it. It will then + continue to the FSCACHE_OBJECT_UPDATING state. + + (7) State FSCACHE_OBJECT_UPDATING. The state machine comes here to update the object in the cache from the netfs's records. This involves updating the auxiliary data that is used @@ -225,13 +232,13 @@ servicing netfs requests: And there are terminal states in which an object cleans itself up, deallocates memory and potentially deletes stuff from disk: - (7) State FSCACHE_OBJECT_LC_DYING. + (8) State FSCACHE_OBJECT_LC_DYING. The object comes here if it is dying because of a lookup or creation error. This would be due to a disk error or system error of some sort. Temporary data is cleaned up, and the parent is released. - (8) State FSCACHE_OBJECT_DYING. + (9) State FSCACHE_OBJECT_DYING. The object comes here if it is dying due to an error, because its parent cookie has been relinquished by the netfs or because the cache is being @@ -241,27 +248,27 @@ memory and potentially deletes stuff from disk: can destroy themselves. This object waits for all its children to go away before advancing to the next state. - (9) State FSCACHE_OBJECT_ABORT_INIT. +(10) State FSCACHE_OBJECT_ABORT_INIT. The object comes to this state if it was waiting on its parent in FSCACHE_OBJECT_INIT, but its parent died. The object will destroy itself so that the parent may proceed from the FSCACHE_OBJECT_DYING state. -(10) State FSCACHE_OBJECT_RELEASING. -(11) State FSCACHE_OBJECT_RECYCLING. +(11) State FSCACHE_OBJECT_RELEASING. +(12) State FSCACHE_OBJECT_RECYCLING. The object comes to one of these two states when dying once it is rid of all its children, if it is dying because the netfs relinquished its cookie. In the first state, the cached data is expected to persist, and in the second it will be deleted. -(12) State FSCACHE_OBJECT_WITHDRAWING. +(13) State FSCACHE_OBJECT_WITHDRAWING. The object transits to this state if the cache decides it wants to withdraw the object from service, perhaps to make space, but also due to error or just because the whole cache is being withdrawn. -(13) State FSCACHE_OBJECT_DEAD. +(14) State FSCACHE_OBJECT_DEAD. The object transits to this state when the in-memory object record is ready to be deleted. The object processor shouldn't ever see an object in diff --git a/trunk/Documentation/filesystems/caching/operations.txt b/trunk/Documentation/filesystems/caching/operations.txt index b6b070c57cbf..bee2a5f93d60 100644 --- a/trunk/Documentation/filesystems/caching/operations.txt +++ b/trunk/Documentation/filesystems/caching/operations.txt @@ -174,7 +174,7 @@ Operations are used through the following procedure: necessary (the object might have died whilst the thread was waiting). When it has finished doing its processing, it should call - fscache_put_operation() on it. + fscache_op_complete() and fscache_put_operation() on it. (4) The operation holds an effective lock upon the object, preventing other exclusive ops conflicting until it is released. The operation can be diff --git a/trunk/Documentation/filesystems/f2fs.txt b/trunk/Documentation/filesystems/f2fs.txt new file mode 100644 index 000000000000..dcf338e62b71 --- /dev/null +++ b/trunk/Documentation/filesystems/f2fs.txt @@ -0,0 +1,421 @@ +================================================================================ +WHAT IS Flash-Friendly File System (F2FS)? +================================================================================ + +NAND flash memory-based storage devices, such as SSD, eMMC, and SD cards, have +been equipped on a variety systems ranging from mobile to server systems. Since +they are known to have different characteristics from the conventional rotating +disks, a file system, an upper layer to the storage device, should adapt to the +changes from the sketch in the design level. + +F2FS is a file system exploiting NAND flash memory-based storage devices, which +is based on Log-structured File System (LFS). The design has been focused on +addressing the fundamental issues in LFS, which are snowball effect of wandering +tree and high cleaning overhead. + +Since a NAND flash memory-based storage device shows different characteristic +according to its internal geometry or flash memory management scheme, namely FTL, +F2FS and its tools support various parameters not only for configuring on-disk +layout, but also for selecting allocation and cleaning algorithms. + +The file system formatting tool, "mkfs.f2fs", is available from the following +git tree: +>> git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git + +For reporting bugs and sending patches, please use the following mailing list: +>> linux-f2fs-devel@lists.sourceforge.net + +================================================================================ +BACKGROUND AND DESIGN ISSUES +================================================================================ + +Log-structured File System (LFS) +-------------------------------- +"A log-structured file system writes all modifications to disk sequentially in +a log-like structure, thereby speeding up both file writing and crash recovery. +The log is the only structure on disk; it contains indexing information so that +files can be read back from the log efficiently. In order to maintain large free +areas on disk for fast writing, we divide the log into segments and use a +segment cleaner to compress the live information from heavily fragmented +segments." from Rosenblum, M. and Ousterhout, J. K., 1992, "The design and +implementation of a log-structured file system", ACM Trans. Computer Systems +10, 1, 26–52. + +Wandering Tree Problem +---------------------- +In LFS, when a file data is updated and written to the end of log, its direct +pointer block is updated due to the changed location. Then the indirect pointer +block is also updated due to the direct pointer block update. In this manner, +the upper index structures such as inode, inode map, and checkpoint block are +also updated recursively. This problem is called as wandering tree problem [1], +and in order to enhance the performance, it should eliminate or relax the update +propagation as much as possible. + +[1] Bityutskiy, A. 2005. JFFS3 design issues. http://www.linux-mtd.infradead.org/ + +Cleaning Overhead +----------------- +Since LFS is based on out-of-place writes, it produces so many obsolete blocks +scattered across the whole storage. In order to serve new empty log space, it +needs to reclaim these obsolete blocks seamlessly to users. This job is called +as a cleaning process. + +The process consists of three operations as follows. +1. A victim segment is selected through referencing segment usage table. +2. It loads parent index structures of all the data in the victim identified by + segment summary blocks. +3. It checks the cross-reference between the data and its parent index structure. +4. It moves valid data selectively. + +This cleaning job may cause unexpected long delays, so the most important goal +is to hide the latencies to users. And also definitely, it should reduce the +amount of valid data to be moved, and move them quickly as well. + +================================================================================ +KEY FEATURES +================================================================================ + +Flash Awareness +--------------- +- Enlarge the random write area for better performance, but provide the high + spatial locality +- Align FS data structures to the operational units in FTL as best efforts + +Wandering Tree Problem +---------------------- +- Use a term, “node”, that represents inodes as well as various pointer blocks +- Introduce Node Address Table (NAT) containing the locations of all the “node” + blocks; this will cut off the update propagation. + +Cleaning Overhead +----------------- +- Support a background cleaning process +- Support greedy and cost-benefit algorithms for victim selection policies +- Support multi-head logs for static/dynamic hot and cold data separation +- Introduce adaptive logging for efficient block allocation + +================================================================================ +MOUNT OPTIONS +================================================================================ + +background_gc_off Turn off cleaning operations, namely garbage collection, + triggered in background when I/O subsystem is idle. +disable_roll_forward Disable the roll-forward recovery routine +discard Issue discard/TRIM commands when a segment is cleaned. +no_heap Disable heap-style segment allocation which finds free + segments for data from the beginning of main area, while + for node from the end of main area. +nouser_xattr Disable Extended User Attributes. Note: xattr is enabled + by default if CONFIG_F2FS_FS_XATTR is selected. +noacl Disable POSIX Access Control List. Note: acl is enabled + by default if CONFIG_F2FS_FS_POSIX_ACL is selected. +active_logs=%u Support configuring the number of active logs. In the + current design, f2fs supports only 2, 4, and 6 logs. + Default number is 6. +disable_ext_identify Disable the extension list configured by mkfs, so f2fs + does not aware of cold files such as media files. + +================================================================================ +DEBUGFS ENTRIES +================================================================================ + +/sys/kernel/debug/f2fs/ contains information about all the partitions mounted as +f2fs. Each file shows the whole f2fs information. + +/sys/kernel/debug/f2fs/status includes: + - major file system information managed by f2fs currently + - average SIT information about whole segments + - current memory footprint consumed by f2fs. + +================================================================================ +USAGE +================================================================================ + +1. Download userland tools and compile them. + +2. Skip, if f2fs was compiled statically inside kernel. + Otherwise, insert the f2fs.ko module. + # insmod f2fs.ko + +3. Create a directory trying to mount + # mkdir /mnt/f2fs + +4. Format the block device, and then mount as f2fs + # mkfs.f2fs -l label /dev/block_device + # mount -t f2fs /dev/block_device /mnt/f2fs + +Format options +-------------- +-l [label] : Give a volume label, up to 256 unicode name. +-a [0 or 1] : Split start location of each area for heap-based allocation. + 1 is set by default, which performs this. +-o [int] : Set overprovision ratio in percent over volume size. + 5 is set by default. +-s [int] : Set the number of segments per section. + 1 is set by default. +-z [int] : Set the number of sections per zone. + 1 is set by default. +-e [str] : Set basic extension list. e.g. "mp3,gif,mov" + +================================================================================ +DESIGN +================================================================================ + +On-disk Layout +-------------- + +F2FS divides the whole volume into a number of segments, each of which is fixed +to 2MB in size. A section is composed of consecutive segments, and a zone +consists of a set of sections. By default, section and zone sizes are set to one +segment size identically, but users can easily modify the sizes by mkfs. + +F2FS splits the entire volume into six areas, and all the areas except superblock +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) | | + |____________|_____2______|______N______|______N______|______N_____|__N___| + . . + . . + . . + ._________________________________________. + |_Segment_|_..._|_Segment_|_..._|_Segment_| + . . + ._________._________ + |_section_|__...__|_ + . . + .________. + |__zone__| + +- Superblock (SB) + : It is located at the beginning of the partition, and there exist two copies + to avoid file system crash. It contains basic partition information and some + default parameters of f2fs. + +- Checkpoint (CP) + : 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 Summary Area (SSA) + : It contains summary entries which contains the owner information of all the + data and node blocks stored in Main area. + +- Main Area + : It contains file and directory data including their indices. + +In order to avoid misalignment between file system and flash-based storage, F2FS +aligns the start block address of CP with the segment size. Also, it aligns the +start block address of Main area with the zone size by reserving some segments +in SSA area. + +Reference the following survey for additional technical details. +https://wiki.linaro.org/WorkingGroups/Kernel/Projects/FlashCardSurvey + +File System Metadata Structure +------------------------------ + +F2FS adopts the checkpointing scheme to maintain file system consistency. At +mount time, F2FS first tries to find the last valid checkpoint data by scanning +CP area. In order to reduce the scanning time, F2FS uses only two copies of CP. +One of them always indicates the last valid data, which is called as shadow copy +mechanism. In addition to CP, NAT and SIT also adopt the shadow copy mechanism. + +For file system consistency, each CP points to which NAT and SIT copies are +valid, as shown as below. + + +--------+----------+---------+ + | CP | SIT | NAT | + +--------+----------+---------+ + . . . . + . . . . + . . . . + +-------+-------+--------+--------+--------+--------+ + | CP #0 | CP #1 | SIT #0 | SIT #1 | NAT #0 | NAT #1 | + +-------+-------+--------+--------+--------+--------+ + | ^ ^ + | | | + `----------------------------------------' + +Index Structure +--------------- + +The key data structure to manage the data locations is a "node". Similar to +traditional file structures, F2FS has three types of node: inode, direct node, +indirect node. F2FS assigns 4KB to an inode block which contains 923 data block +indices, two direct node pointers, two indirect node pointers, and one double +indirect node pointer as described below. One direct node block contains 1018 +data blocks, and one indirect node block contains also 1018 node blocks. Thus, +one inode block (i.e., a file) covers: + + 4KB * (923 + 2 * 1018 + 2 * 1018 * 1018 + 1018 * 1018 * 1018) := 3.94TB. + + Inode block (4KB) + |- data (923) + |- direct node (2) + | `- data (1018) + |- indirect node (2) + | `- direct node (1018) + | `- data (1018) + `- double indirect node (1) + `- indirect node (1018) + `- direct node (1018) + `- data (1018) + +Note that, all the node blocks are mapped by NAT which means the location of +each node is translated by the NAT table. In the consideration of the wandering +tree problem, F2FS is able to cut off the propagation of node updates caused by +leaf data writes. + +Directory Structure +------------------- + +A directory entry occupies 11 bytes, which consists of the following attributes. + +- hash hash value of the file name +- ino inode number +- len the length of file name +- type file type such as directory, symlink, etc + +A dentry block consists of 214 dentry slots and file names. Therein a bitmap is +used to represent whether each dentry is valid or not. A dentry block occupies +4KB with the following composition. + + Dentry Block(4 K) = bitmap (27 bytes) + reserved (3 bytes) + + dentries(11 * 214 bytes) + file name (8 * 214 bytes) + + [Bucket] + +--------------------------------+ + |dentry block 1 | dentry block 2 | + +--------------------------------+ + . . + . . + . [Dentry Block Structure: 4KB] . + +--------+----------+----------+------------+ + | bitmap | reserved | dentries | file names | + +--------+----------+----------+------------+ + [Dentry Block: 4KB] . . + . . + . . + +------+------+-----+------+ + | hash | ino | len | type | + +------+------+-----+------+ + [Dentry Structure: 11 bytes] + +F2FS implements multi-level hash tables for directory structure. Each level has +a hash table with dedicated number of hash buckets as shown below. Note that +"A(2B)" means a bucket includes 2 data blocks. + +---------------------- +A : bucket +B : block +N : MAX_DIR_HASH_DEPTH +---------------------- + +level #0 | A(2B) + | +level #1 | A(2B) - A(2B) + | +level #2 | A(2B) - A(2B) - A(2B) - A(2B) + . | . . . . +level #N/2 | A(2B) - A(2B) - A(2B) - A(2B) - A(2B) - ... - A(2B) + . | . . . . +level #N | A(4B) - A(4B) - A(4B) - A(4B) - A(4B) - ... - A(4B) + +The number of blocks and buckets are determined by, + + ,- 2, if n < MAX_DIR_HASH_DEPTH / 2, + # of blocks in level #n = | + `- 4, Otherwise + + ,- 2^n, if n < MAX_DIR_HASH_DEPTH / 2, + # of buckets in level #n = | + `- 2^((MAX_DIR_HASH_DEPTH / 2) - 1), Otherwise + +When F2FS finds a file name in a directory, at first a hash value of the file +name is calculated. Then, F2FS scans the hash table in level #0 to find the +dentry consisting of the file name and its inode number. If not found, F2FS +scans the next hash table in level #1. In this way, F2FS scans hash tables in +each levels incrementally from 1 to N. In each levels F2FS needs to scan only +one bucket determined by the following equation, which shows O(log(# of files)) +complexity. + + bucket number to scan in level #n = (hash value) % (# of buckets in level #n) + +In the case of file creation, F2FS finds empty consecutive slots that cover the +file name. F2FS searches the empty slots in the hash tables of whole levels from +1 to N in the same way as the lookup operation. + +The following figure shows an example of two cases holding children. + --------------> Dir <-------------- + | | + child child + + child - child [hole] - child + + child - child - child [hole] - [hole] - child + + Case 1: Case 2: + Number of children = 6, Number of children = 3, + File size = 7 File size = 7 + +Default Block Allocation +------------------------ + +At runtime, F2FS manages six active logs inside "Main" area: Hot/Warm/Cold node +and Hot/Warm/Cold data. + +- Hot node contains direct node blocks of directories. +- Warm node contains direct node blocks except hot node blocks. +- Cold node contains indirect node blocks +- Hot data contains dentry blocks +- Warm data contains data blocks except hot and cold data blocks +- Cold data contains multimedia data or migrated data blocks + +LFS has two schemes for free space management: threaded log and copy-and-compac- +tion. The copy-and-compaction scheme which is known as cleaning, is well-suited +for devices showing very good sequential write performance, since free segments +are served all the time for writing new data. However, it suffers from cleaning +overhead under high utilization. Contrarily, the threaded log scheme suffers +from random writes, but no cleaning process is needed. F2FS adopts a hybrid +scheme where the copy-and-compaction scheme is adopted by default, but the +policy is dynamically changed to the threaded log scheme according to the file +system status. + +In order to align F2FS with underlying flash-based storage, F2FS allocates a +segment in a unit of section. F2FS expects that the section size would be the +same as the unit size of garbage collection in FTL. Furthermore, with respect +to the mapping granularity in FTL, F2FS allocates each section of the active +logs from different zones as much as possible, since FTL can write the data in +the active logs into one allocation unit according to its mapping granularity. + +Cleaning process +---------------- + +F2FS does cleaning both on demand and in the background. On-demand cleaning is +triggered when there are not enough free segments to serve VFS calls. Background +cleaner is operated by a kernel thread, and triggers the cleaning job when the +system is idle. + +F2FS supports two victim selection policies: greedy and cost-benefit algorithms. +In the greedy algorithm, F2FS selects a victim segment having the smallest number +of valid blocks. In the cost-benefit algorithm, F2FS selects a victim segment +according to the segment age and the number of valid blocks in order to address +log block thrashing problem in the greedy algorithm. F2FS adopts the greedy +algorithm for on-demand cleaner, while background cleaner adopts cost-benefit +algorithm. + +In order to identify whether the data in the victim segment are valid or not, +F2FS manages a bitmap. Each bit represents the validity of a block, and the +bitmap is composed of a bit stream covering whole blocks in main area. diff --git a/trunk/Documentation/filesystems/nfs/nfs41-server.txt b/trunk/Documentation/filesystems/nfs/nfs41-server.txt index 092fad92a3f0..01c2db769791 100644 --- a/trunk/Documentation/filesystems/nfs/nfs41-server.txt +++ b/trunk/Documentation/filesystems/nfs/nfs41-server.txt @@ -39,21 +39,10 @@ interoperability problems with future clients. Known issues: from a linux client are possible, but we aren't really conformant with the spec (for example, we don't use kerberos on the backchannel correctly). - - Incomplete backchannel support: incomplete backchannel gss - support and no support for BACKCHANNEL_CTL mean that - callbacks (hence delegations and layouts) may not be - available and clients confused by the incomplete - implementation may fail. - We do not support SSV, which provides security for shared client-server state (thus preventing unauthorized tampering with locks and opens, for example). It is mandatory for servers to support this, though no clients use it yet. - - Mandatory operations which we do not support, such as - DESTROY_CLIENTID, are not currently used by clients, but will be - (and the spec recommends their uses in common cases), and - clients should not be expected to know how to recover from the - case where they are not supported. This will eventually cause - interoperability failures. In addition, some limitations are inherited from the current NFSv4 implementation: @@ -89,7 +78,7 @@ Operations | | MNI | or OPT) | | +----------------------+------------+--------------+----------------+ | ACCESS | REQ | | Section 18.1 | -NS | BACKCHANNEL_CTL | REQ | | Section 18.33 | +I | BACKCHANNEL_CTL | REQ | | Section 18.33 | I | BIND_CONN_TO_SESSION | REQ | | Section 18.34 | | CLOSE | REQ | | Section 18.2 | | COMMIT | REQ | | Section 18.3 | @@ -99,7 +88,7 @@ NS*| DELEGPURGE | OPT | FDELG (REQ) | Section 18.5 | | DELEGRETURN | OPT | FDELG, | Section 18.6 | | | | DDELG, pNFS | | | | | (REQ) | | -NS | DESTROY_CLIENTID | REQ | | Section 18.50 | +I | DESTROY_CLIENTID | REQ | | Section 18.50 | I | DESTROY_SESSION | REQ | | Section 18.37 | I | EXCHANGE_ID | REQ | | Section 18.35 | I | FREE_STATEID | REQ | | Section 18.38 | @@ -192,7 +181,6 @@ EXCHANGE_ID: CREATE_SESSION: * backchannel attributes are ignored -* backchannel security parameters are ignored SEQUENCE: * no support for dynamic slot table renegotiation (optional) @@ -202,7 +190,7 @@ Nonstandard compound limitations: ca_maxrequestsize request and a ca_maxresponsesize reply, so we may fail to live up to the promise we made in CREATE_SESSION fore channel negotiation. -* No more than one IO operation (read, write, readdir) allowed per - compound. +* No more than one read-like operation allowed per compound; encoding + replies that cross page boundaries (except for read data) not handled. See also http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues. diff --git a/trunk/Documentation/filesystems/porting b/trunk/Documentation/filesystems/porting index 0742feebc6e2..0472c31c163b 100644 --- a/trunk/Documentation/filesystems/porting +++ b/trunk/Documentation/filesystems/porting @@ -281,7 +281,7 @@ ext2_write_failed and callers for an example. [mandatory] - ->truncate is going away. The whole truncate sequence needs to be + ->truncate is gone. The whole truncate sequence needs to be implemented in ->setattr, which is now mandatory for filesystems implementing on-disk size changes. Start with a copy of the old inode_setattr and vmtruncate, and the reorder the vmtruncate + foofs_vmtruncate sequence to diff --git a/trunk/Documentation/filesystems/vfs.txt b/trunk/Documentation/filesystems/vfs.txt index 2ee133e030c3..e3869098163e 100644 --- a/trunk/Documentation/filesystems/vfs.txt +++ b/trunk/Documentation/filesystems/vfs.txt @@ -350,7 +350,6 @@ struct inode_operations { int (*readlink) (struct dentry *, char __user *,int); void * (*follow_link) (struct dentry *, struct nameidata *); void (*put_link) (struct dentry *, struct nameidata *, void *); - void (*truncate) (struct inode *); int (*permission) (struct inode *, int); int (*get_acl)(struct inode *, int); int (*setattr) (struct dentry *, struct iattr *); @@ -431,16 +430,6 @@ otherwise noted. started might not be in the page cache at the end of the walk). - truncate: Deprecated. This will not be called if ->setsize is defined. - Called by the VFS to change the size of a file. The - i_size field of the inode is set to the desired size by the - VFS before this method is called. This method is called by - the truncate(2) system call and related functionality. - - Note: ->truncate and vmtruncate are deprecated. Do not add new - instances/calls of these. Filesystems should be converted to do their - truncate sequence via ->setattr(). - permission: called by the VFS to check for access rights on a POSIX-like filesystem. diff --git a/trunk/Documentation/hid/hid-sensor.txt b/trunk/Documentation/hid/hid-sensor.txt old mode 100755 new mode 100644 diff --git a/trunk/Documentation/hwmon/it87 b/trunk/Documentation/hwmon/it87 index 87850d86c559..8386aadc0a82 100644 --- a/trunk/Documentation/hwmon/it87 +++ b/trunk/Documentation/hwmon/it87 @@ -209,3 +209,13 @@ doesn't use CPU cycles. Trip points must be set properly before switching to automatic fan speed control mode. The driver will perform basic integrity checks before actually switching to automatic control mode. + + +Temperature offset attributes +----------------------------- + +The driver supports temp[1-3]_offset sysfs attributes to adjust the reported +temperature for thermal diodes or diode-connected thermal transistors. +If a temperature sensor is configured for thermistors, the attribute values +are ignored. If the thermal sensor type is Intel PECI, the temperature offset +must be programmed to the critical CPU temperature. diff --git a/trunk/Documentation/i2c/instantiating-devices b/trunk/Documentation/i2c/instantiating-devices index abf63615ee05..22182660dda7 100644 --- a/trunk/Documentation/i2c/instantiating-devices +++ b/trunk/Documentation/i2c/instantiating-devices @@ -91,7 +91,7 @@ Example (from the nxp OHCI driver): static const unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END }; -static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev) +static int usb_hcd_nxp_probe(struct platform_device *pdev) { (...) struct i2c_adapter *i2c_adap; diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index ddd84d627185..6c723811c0a0 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -446,12 +446,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. possible to determine what the correct size should be. This option provides an override for these situations. - capability.disable= - [SECURITY] Disable capabilities. This would normally - be used only if an alternative security model is to be - configured. Potentially dangerous and should only be - used if you are entirely sure of the consequences. - ccw_timeout_log [S390] See Documentation/s390/CommonIO for details. @@ -2444,7 +2438,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. real-time workloads. It can also improve energy efficiency for asymmetric multiprocessors. - rcu_nocbs_poll [KNL,BOOT] + rcu_nocb_poll [KNL,BOOT] Rather than requiring that offloaded CPUs (specified by rcu_nocbs= above) explicitly awaken the corresponding "rcuoN" kthreads, diff --git a/trunk/Documentation/networking/ip-sysctl.txt b/trunk/Documentation/networking/ip-sysctl.txt index dd52d516cb89..dbca66182089 100644 --- a/trunk/Documentation/networking/ip-sysctl.txt +++ b/trunk/Documentation/networking/ip-sysctl.txt @@ -36,7 +36,7 @@ neigh/default/unres_qlen_bytes - INTEGER The maximum number of bytes which may be used by packets queued for each unresolved address by other network layers. (added in linux 3.3) - Seting negative value is meaningless and will retrun error. + Setting negative value is meaningless and will return error. Default: 65536 Bytes(64KB) neigh/default/unres_qlen - INTEGER @@ -215,7 +215,7 @@ tcp_ecn - INTEGER Possible values are: 0 Disable ECN. Neither initiate nor accept ECN. 1 Always request ECN on outgoing connection attempts. - 2 Enable ECN when requested by incomming connections + 2 Enable ECN when requested by incoming connections but do not request ECN on outgoing connections. Default: 2 @@ -503,7 +503,7 @@ tcp_fastopen - INTEGER tcp_syn_retries - INTEGER Number of times initial SYNs for an active TCP connection attempt will be retransmitted. Should not be higher than 255. Default value - is 6, which corresponds to 63seconds till the last restransmission + is 6, which corresponds to 63seconds till the last retransmission with the current initial RTO of 1second. With this the final timeout for an active TCP connection attempt will happen after 127seconds. @@ -1331,6 +1331,12 @@ force_tllao - BOOLEAN race condition where the sender deletes the cached link-layer address prior to receiving a response to a previous solicitation." +ndisc_notify - BOOLEAN + Define mode for notification of address and device changes. + 0 - (default): do nothing + 1 - Generate unsolicited neighbour advertisements when device is brought + up or hardware address changes. + icmp/*: ratelimit - INTEGER Limit the maximal rates for sending ICMPv6 packets. @@ -1530,7 +1536,7 @@ cookie_hmac_alg - STRING * sha1 * none Ability to assign md5 or sha1 as the selected alg is predicated on the - configuarion of those algorithms at build time (CONFIG_CRYPTO_MD5 and + configuration of those algorithms at build time (CONFIG_CRYPTO_MD5 and CONFIG_CRYPTO_SHA1). Default: Dependent on configuration. MD5 if available, else SHA1 if @@ -1548,7 +1554,7 @@ rcvbuf_policy - INTEGER blocking. 1: rcvbuf space is per association - 0: recbuf space is per socket + 0: rcvbuf space is per socket Default: 0 diff --git a/trunk/Documentation/power/runtime_pm.txt b/trunk/Documentation/power/runtime_pm.txt index 4abe83e1045a..03591a750f99 100644 --- a/trunk/Documentation/power/runtime_pm.txt +++ b/trunk/Documentation/power/runtime_pm.txt @@ -642,12 +642,13 @@ out the following operations: * During system suspend it calls pm_runtime_get_noresume() and pm_runtime_barrier() for every device right before executing the subsystem-level .suspend() callback for it. In addition to that it calls - pm_runtime_disable() for every device right after executing the - subsystem-level .suspend() callback for it. + __pm_runtime_disable() with 'false' as the second argument for every device + right before executing the subsystem-level .suspend_late() callback for it. * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync() - for every device right before and right after executing the subsystem-level - .resume() callback for it, respectively. + for every device right after executing the subsystem-level .resume_early() + callback and right after executing the subsystem-level .resume() callback + for it, respectively. 7. Generic subsystem callbacks diff --git a/trunk/Documentation/rpmsg.txt b/trunk/Documentation/rpmsg.txt index 409d9f964c5b..f7edc3aa1e92 100644 --- a/trunk/Documentation/rpmsg.txt +++ b/trunk/Documentation/rpmsg.txt @@ -236,7 +236,7 @@ static int rpmsg_sample_probe(struct rpmsg_channel *rpdev) return 0; } -static void __devexit rpmsg_sample_remove(struct rpmsg_channel *rpdev) +static void rpmsg_sample_remove(struct rpmsg_channel *rpdev) { dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n"); } @@ -253,7 +253,7 @@ static struct rpmsg_driver rpmsg_sample_client = { .id_table = rpmsg_driver_sample_id_table, .probe = rpmsg_sample_probe, .callback = rpmsg_sample_cb, - .remove = __devexit_p(rpmsg_sample_remove), + .remove = rpmsg_sample_remove, }; static int __init init(void) diff --git a/trunk/Documentation/spi/spi-summary b/trunk/Documentation/spi/spi-summary index 7312ec14dd89..2331eb214146 100644 --- a/trunk/Documentation/spi/spi-summary +++ b/trunk/Documentation/spi/spi-summary @@ -345,7 +345,7 @@ SPI protocol drivers somewhat resemble platform device drivers: }, .probe = CHIP_probe, - .remove = __devexit_p(CHIP_remove), + .remove = CHIP_remove, .suspend = CHIP_suspend, .resume = CHIP_resume, }; @@ -355,7 +355,7 @@ device whose board_info gave a modalias of "CHIP". Your probe() code might look like this unless you're creating a device which is managing a bus (appearing under /sys/class/spi_master). - static int __devinit CHIP_probe(struct spi_device *spi) + static int CHIP_probe(struct spi_device *spi) { struct CHIP *chip; struct CHIP_platform_data *pdata; diff --git a/trunk/Documentation/sysctl/kernel.txt b/trunk/Documentation/sysctl/kernel.txt index 2907ba6c3607..ccd42589e124 100644 --- a/trunk/Documentation/sysctl/kernel.txt +++ b/trunk/Documentation/sysctl/kernel.txt @@ -38,6 +38,7 @@ show up in /proc/sys/kernel: - l2cr [ PPC only ] - modprobe ==> Documentation/debugging-modules.txt - modules_disabled +- msg_next_id [ sysv ipc ] - msgmax - msgmnb - msgmni @@ -62,7 +63,9 @@ show up in /proc/sys/kernel: - rtsig-max - rtsig-nr - sem +- sem_next_id [ sysv ipc ] - sg-big-buff [ generic SCSI device (sg) ] +- shm_next_id [ sysv ipc ] - shm_rmid_forced - shmall - shmmax [ sysv ipc ] @@ -320,6 +323,22 @@ to false. ============================================================== +msg_next_id, sem_next_id, and shm_next_id: + +These three toggles allows to specify desired id for next allocated IPC +object: message, semaphore or shared memory respectively. + +By default they are equal to -1, which means generic allocation logic. +Possible values to set are in range {0..INT_MAX}. + +Notes: +1) kernel doesn't guarantee, that new object will have desired id. So, +it's up to userspace, how to handle an object with "wrong" id. +2) Toggle with non-default value will be set back to -1 by kernel after +successful IPC object allocation. + +============================================================== + nmi_watchdog: Enables/Disables the NMI watchdog on x86 systems. When the value is @@ -542,6 +561,19 @@ are doing anyway :) ============================================================== +shmall: + +This parameter sets the total amount of shared memory pages that +can be used system wide. Hence, SHMALL should always be at least +ceil(shmmax/PAGE_SIZE). + +If you are not sure what the default PAGE_SIZE is on your Linux +system, you can run the following command: + +# getconf PAGE_SIZE + +============================================================== + shmmax: This value can be used to query and set the run time limit diff --git a/trunk/Documentation/video4linux/v4l2-framework.txt b/trunk/Documentation/video4linux/v4l2-framework.txt index 32bfe926e8d7..b89567ad04b7 100644 --- a/trunk/Documentation/video4linux/v4l2-framework.txt +++ b/trunk/Documentation/video4linux/v4l2-framework.txt @@ -174,8 +174,7 @@ The recommended approach is as follows: static atomic_t drv_instance = ATOMIC_INIT(0); -static int __devinit drv_probe(struct pci_dev *pdev, - const struct pci_device_id *pci_id) +static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) { ... state->instance = atomic_inc_return(&drv_instance) - 1; diff --git a/trunk/Documentation/x86/boot.txt b/trunk/Documentation/x86/boot.txt index f15cb74c4f78..e540fd67f767 100644 --- a/trunk/Documentation/x86/boot.txt +++ b/trunk/Documentation/x86/boot.txt @@ -57,6 +57,10 @@ Protocol 2.10: (Kernel 2.6.31) Added a protocol for relaxed alignment Protocol 2.11: (Kernel 3.6) Added a field for offset of EFI handover protocol entry point. +Protocol 2.12: (Kernel 3.8) Added the xloadflags field and extension fields + to struct boot_params for for loading bzImage and ramdisk + above 4G in 64bit. + **** MEMORY LAYOUT The traditional memory map for the kernel loader, used for Image or @@ -182,7 +186,7 @@ Offset Proto Name Meaning 0230/4 2.05+ kernel_alignment Physical addr alignment required for kernel 0234/1 2.05+ relocatable_kernel Whether kernel is relocatable or not 0235/1 2.10+ min_alignment Minimum alignment, as a power of two -0236/2 N/A pad3 Unused +0236/2 2.12+ xloadflags Boot protocol option flags 0238/4 2.06+ cmdline_size Maximum size of the kernel command line 023C/4 2.07+ hardware_subarch Hardware subarchitecture 0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data @@ -373,7 +377,7 @@ Protocol: 2.00+ 1 Loadlin 2 bootsect-loader (0x20, all other values reserved) 3 Syslinux - 4 Etherboot/gPXE + 4 Etherboot/gPXE/iPXE 5 ELILO 7 GRUB 8 U-Boot @@ -381,6 +385,7 @@ Protocol: 2.00+ A Gujin B Qemu C Arcturus Networks uCbootloader + D kexec-tools E Extended (see ext_loader_type) F Special (0xFF = undefined) 10 Reserved @@ -581,6 +586,27 @@ Protocol: 2.10+ misaligned kernel. Therefore, a loader should typically try each power-of-two alignment from kernel_alignment down to this alignment. +Field name: xloadflags +Type: read +Offset/size: 0x236/2 +Protocol: 2.12+ + + This field is a bitmask. + + Bit 0 (read): XLF_KERNEL_64 + - If 1, this kernel has the legacy 64-bit entry point at 0x200. + + Bit 1 (read): XLF_CAN_BE_LOADED_ABOVE_4G + - If 1, kernel/boot_params/cmdline/ramdisk can be above 4G. + + Bit 2 (read): XLF_EFI_HANDOVER_32 + - If 1, the kernel supports the 32-bit EFI handoff entry point + given at handover_offset. + + Bit 3 (read): XLF_EFI_HANDOVER_64 + - If 1, the kernel supports the 64-bit EFI handoff entry point + given at handover_offset + 0x200. + Field name: cmdline_size Type: read Offset/size: 0x238/4 diff --git a/trunk/Documentation/x86/zero-page.txt b/trunk/Documentation/x86/zero-page.txt index cf5437deda81..199f453cb4de 100644 --- a/trunk/Documentation/x86/zero-page.txt +++ b/trunk/Documentation/x86/zero-page.txt @@ -19,6 +19,9 @@ Offset Proto Name Meaning 090/010 ALL hd1_info hd1 disk parameter, OBSOLETE!! 0A0/010 ALL sys_desc_table System description table (struct sys_desc_table) 0B0/010 ALL olpc_ofw_header OLPC's OpenFirmware CIF and friends +0C0/004 ALL ext_ramdisk_image ramdisk_image high 32bits +0C4/004 ALL ext_ramdisk_size ramdisk_size high 32bits +0C8/004 ALL ext_cmd_line_ptr cmd_line_ptr high 32bits 140/080 ALL edid_info Video mode setup (struct edid_info) 1C0/020 ALL efi_info EFI 32 information (struct efi_info) 1E0/004 ALL alk_mem_k Alternative mem check, in KB @@ -27,6 +30,7 @@ Offset Proto Name Meaning 1E9/001 ALL eddbuf_entries Number of entries in eddbuf (below) 1EA/001 ALL edd_mbr_sig_buf_entries Number of entries in edd_mbr_sig_buffer (below) +1EF/001 ALL sentinel Used to detect broken bootloaders 290/040 ALL edd_mbr_sig_buffer EDD MBR signatures 2D0/A00 ALL e820_map E820 memory map table (array of struct e820entry) diff --git a/trunk/Documentation/xtensa/atomctl.txt b/trunk/Documentation/xtensa/atomctl.txt new file mode 100644 index 000000000000..10a8d1ff35ec --- /dev/null +++ b/trunk/Documentation/xtensa/atomctl.txt @@ -0,0 +1,44 @@ +We Have Atomic Operation Control (ATOMCTL) Register. +This register determines the effect of using a S32C1I instruction +with various combinations of: + + 1. With and without an Coherent Cache Controller which + can do Atomic Transactions to the memory internally. + + 2. With and without An Intelligent Memory Controller which + can do Atomic Transactions itself. + +The Core comes up with a default value of for the three types of cache ops: + + 0x28: (WB: Internal, WT: Internal, BY:Exception) + +On the FPGA Cards we typically simulate an Intelligent Memory controller +which can implement RCW transactions. For FPGA cards with an External +Memory controller we let it to the atomic operations internally while +doing a Cached (WB) transaction and use the Memory RCW for un-cached +operations. + +For systems without an coherent cache controller, non-MX, we always +use the memory controllers RCW, thought non-MX controlers likely +support the Internal Operation. + +CUSTOMER-WARNING: + Virtually all customers buy their memory controllers from vendors that + don't support atomic RCW memory transactions and will likely want to + configure this register to not use RCW. + +Developers might find using RCW in Bypass mode convenient when testing +with the cache being bypassed; for example studying cache alias problems. + +See Section 4.3.12.4 of ISA; Bits: + + WB WT BY + 5 4 | 3 2 | 1 0 + 2 Bit + Field + Values WB - Write Back WT - Write Thru BY - Bypass +--------- --------------- ----------------- ---------------- + 0 Exception Exception Exception + 1 RCW Transaction RCW Transaction RCW Transaction + 2 Internal Operation Exception Reserved + 3 Reserved Reserved Reserved diff --git a/trunk/Documentation/zh_CN/video4linux/v4l2-framework.txt b/trunk/Documentation/zh_CN/video4linux/v4l2-framework.txt index 3e74f13af426..44c1d934c4e3 100644 --- a/trunk/Documentation/zh_CN/video4linux/v4l2-framework.txt +++ b/trunk/Documentation/zh_CN/video4linux/v4l2-framework.txt @@ -182,8 +182,7 @@ int iterate(void *p) static atomic_t drv_instance = ATOMIC_INIT(0); -static int __devinit drv_probe(struct pci_dev *pdev, - const struct pci_device_id *pci_id) +static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) { ... state->instance = atomic_inc_return(&drv_instance) - 1; diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 4e2a1f67a1fc..35a56bcd5e75 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -228,7 +228,7 @@ S: Maintained F: drivers/platform/x86/acerhdf.c ACER WMI LAPTOP EXTRAS -M: Joey Lee +M: "Lee, Chun-Yi" L: platform-driver-x86@vger.kernel.org S: Maintained F: drivers/platform/x86/acer-wmi.c @@ -449,6 +449,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git S: Maintained F: drivers/char/agp/ F: include/linux/agp* +F: include/uapi/linux/agp* AHA152X SCSI DRIVER M: "Juergen E. Fischer" @@ -589,6 +590,7 @@ M: Jiri Kosina S: Odd fixes F: arch/x86/kernel/apm_32.c F: include/linux/apm_bios.h +F: include/uapi/linux/apm_bios.h F: drivers/char/apm-emulation.c APPLE BCM5974 MULTITOUCH DRIVER @@ -646,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 @@ -1005,7 +1007,6 @@ F: drivers/mmc/host/msm_sdcc.c F: drivers/mmc/host/msm_sdcc.h F: drivers/tty/serial/msm_serial.h F: drivers/tty/serial/msm_serial.c -F: drivers/platform/msm/ F: drivers/*/pm8???-* F: include/linux/mfd/pm8xxx/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git @@ -1069,7 +1070,6 @@ M: Russell King L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) W: http://www.arm.linux.org.uk/ S: Maintained -F: arch/arm/common/time-acorn.c F: arch/arm/include/asm/hardware/entry-macro-iomd.S F: arch/arm/include/asm/hardware/ioc.h F: arch/arm/include/asm/hardware/iomd.h @@ -1094,7 +1094,6 @@ W: http://www.fluff.org/ben/linux/ S: Maintained F: arch/arm/plat-samsung/ F: arch/arm/plat-s3c24xx/ -F: arch/arm/plat-s5p/ F: arch/arm/mach-s3c24*/ F: arch/arm/mach-s3c64xx/ F: drivers/*/*s3c2410* @@ -1125,7 +1124,6 @@ M: Sylwester Nawrocki L: linux-arm-kernel@lists.infradead.org L: linux-media@vger.kernel.org S: Maintained -F: arch/arm/plat-s5p/dev-fimc* F: arch/arm/plat-samsung/include/plat/*fimc* F: drivers/media/platform/s5p-fimc/ @@ -1136,7 +1134,7 @@ M: Jeongtae Park L: linux-arm-kernel@lists.infradead.org L: linux-media@vger.kernel.org S: Maintained -F: arch/arm/plat-s5p/dev-mfc.c +F: arch/arm/plat-samsung/s5p-dev-mfc.c F: drivers/media/platform/s5p-mfc/ ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT @@ -1254,7 +1252,7 @@ F: drivers/video/vt8500lcdfb.* F: drivers/video/wm8505fb* F: drivers/video/wmt_ge_rops.* F: drivers/tty/serial/vt8500_serial.c -F: drivers/rtc/rtc-vt8500-c +F: drivers/rtc/rtc-vt8500.c F: drivers/mmc/host/wmt-sdmmc.c ARM/ZIPIT Z2 SUPPORT @@ -1353,6 +1351,14 @@ 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 @@ -1388,6 +1394,7 @@ W: http://linux-atm.sourceforge.net S: Maintained F: drivers/atm/ F: include/linux/atm* +F: include/uapi/linux/atm* ATMEL AT91 / AT32 MCI DRIVER M: Ludovic Desroches @@ -1406,13 +1413,13 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Supported F: drivers/dma/at_hdmac.c F: drivers/dma/at_hdmac_regs.h -F: arch/arm/mach-at91/include/mach/at_hdmac.h +F: include/linux/platform_data/dma-atmel.h ATMEL ISI DRIVER M: Josh Wu L: linux-media@vger.kernel.org S: Supported -F: drivers/media/platform/atmel-isi.c +F: drivers/media/platform/soc_camera/atmel-isi.c F: include/media/atmel-isi.h ATMEL LCDFB DRIVER @@ -1467,6 +1474,7 @@ W: http://people.redhat.com/sgrubb/audit/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git S: Maintained F: include/linux/audit.h +F: include/uapi/linux/audit.h F: kernel/audit* AUXILIARY DISPLAY DRIVERS @@ -1481,7 +1489,7 @@ AVR32 ARCHITECTURE M: Haavard Skinnemoen M: Hans-Christian Egtvedt W: http://www.atmel.com/products/AVR32/ -W: http://avr32linux.org/ +W: http://mirror.egtvedt.no/avr32linux.org/ W: http://avrfreaks.net/ S: Maintained F: arch/avr32/ @@ -1497,7 +1505,7 @@ M: Ralf Baechle L: linux-hams@vger.kernel.org W: http://www.linux-ax25.org/ S: Maintained -F: include/linux/ax25.h +F: include/uapi/linux/ax25.h F: include/net/ax25.h F: net/ax25/ @@ -1558,7 +1566,7 @@ M: "Tigran A. Aivazian" S: Maintained F: Documentation/filesystems/bfs.txt F: fs/bfs/ -F: include/linux/bfs_fs.h +F: include/uapi/linux/bfs_fs.h BLACKFIN ARCHITECTURE M: Mike Frysinger @@ -1655,7 +1663,7 @@ L: netdev@vger.kernel.org W: http://sourceforge.net/projects/bonding/ S: Supported F: drivers/net/bonding/ -F: include/linux/if_bonding.h +F: include/uapi/linux/if_bonding.h BROADCOM B44 10/100 ETHERNET DRIVER M: Gary Zambrano @@ -1734,6 +1742,7 @@ L: linux-scsi@vger.kernel.org S: Supported F: block/bsg.c F: include/linux/bsg.h +F: include/uapi/linux/bsg.h BT87X AUDIO DRIVER M: Clemens Ladisch @@ -1804,7 +1813,7 @@ L: netdev@vger.kernel.org S: Supported F: Documentation/networking/caif/ F: drivers/net/caif/ -F: include/linux/caif/ +F: include/uapi/linux/caif/ F: include/net/caif/ F: net/caif/ @@ -1825,11 +1834,11 @@ W: http://gitorious.org/linux-can T: git git://gitorious.org/linux-can/linux-can-next.git S: Maintained F: net/can/ -F: include/linux/can.h F: include/linux/can/core.h -F: include/linux/can/bcm.h -F: include/linux/can/raw.h -F: include/linux/can/gw.h +F: include/uapi/linux/can.h +F: include/uapi/linux/can/bcm.h +F: include/uapi/linux/can/raw.h +F: include/uapi/linux/can/gw.h CAN NETWORK DRIVERS M: Wolfgang Grandegger @@ -1840,15 +1849,16 @@ T: git git://gitorious.org/linux-can/linux-can-next.git S: Maintained F: drivers/net/can/ F: include/linux/can/dev.h -F: include/linux/can/error.h -F: include/linux/can/netlink.h F: include/linux/can/platform/ +F: include/uapi/linux/can/error.h +F: include/uapi/linux/can/netlink.h CAPABILITIES M: Serge Hallyn L: linux-security-module@vger.kernel.org S: Supported F: include/linux/capability.h +F: include/uapi/linux/capability.h F: security/capability.c F: security/commoncap.c F: kernel/capability.c @@ -1861,6 +1871,7 @@ W: http://www.ibm.com/developerworks/power/cell/ S: Supported F: arch/powerpc/include/asm/cell*.h F: arch/powerpc/include/asm/spu*.h +F: arch/powerpc/include/uapi/asm/spu*.h F: arch/powerpc/oprofile/*cell* F: arch/powerpc/platforms/cell/ @@ -1909,7 +1920,7 @@ W: http://wireless.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git S: Maintained -F: include/linux/nl80211.h +F: include/uapi/linux/nl80211.h F: include/net/cfg80211.h F: net/wireless/* X: net/wireless/wext* @@ -1961,9 +1972,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: Supported +S: Odd Fixes F: sound/soc/codecs/cs4270* CLEANCACHE API @@ -2012,6 +2023,7 @@ S: Maintained F: Documentation/filesystems/coda.txt F: fs/coda/ F: include/linux/coda*.h +F: include/uapi/linux/coda*.h COMMON CLK FRAMEWORK M: Mike Turquette @@ -2266,6 +2278,7 @@ W: http://www.cyclades.com/ S: Orphan F: drivers/tty/cyclades.c F: include/linux/cyclades.h +F: include/uapi/linux/cyclades.h CYCLADES PC300 DRIVER W: http://www.cyclades.com/ @@ -2323,6 +2336,7 @@ L: dccp@vger.kernel.org W: http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp S: Maintained F: include/linux/dccp.h +F: include/uapi/linux/dccp.h F: include/linux/tfrc.h F: net/dccp/ @@ -2349,7 +2363,7 @@ M: Massimo Dal Zotto W: http://www.debian.org/~dz/i8k/ S: Maintained F: drivers/char/i8k.c -F: include/linux/i8k.h +F: include/uapi/linux/i8k.h DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas) M: Doug Warzecha @@ -2422,6 +2436,7 @@ S: Maintained F: Documentation/filesystems/quota.txt F: fs/quota/ F: include/linux/quota*.h +F: include/uapi/linux/quota*.h DISPLAYLINK USB 2.0 FRAMEBUFFER DRIVER (UDLFB) M: Bernie Thompson @@ -2528,6 +2543,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git S: Maintained F: drivers/gpu/drm/ F: include/drm/ +F: include/uapi/drm/ INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets) M: Daniel Vetter @@ -2537,6 +2553,7 @@ T: git git://people.freedesktop.org/~danvet/drm-intel S: Supported F: drivers/gpu/drm/i915 F: include/drm/i915* +F: include/uapi/drm/i915* DRM DRIVERS FOR EXYNOS M: Inki Dae @@ -2548,6 +2565,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git S: Supported F: drivers/gpu/drm/exynos F: include/drm/exynos* +F: include/uapi/drm/exynos* DRM DRIVERS FOR NVIDIA TEGRA M: Thierry Reding @@ -2622,7 +2640,7 @@ W: http://github.com/mkrufky Q: http://patchwork.linuxtv.org/project/linux-media/list/ T: git git://linuxtv.org/media_tree.git S: Maintained -F: drivers/media/usb/dvb-usb-v2/cxusb* +F: drivers/media/usb/dvb-usb/cxusb* DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER M: Antti Palosaari @@ -2722,6 +2740,7 @@ L: netfilter-devel@vger.kernel.org W: http://ebtables.sourceforge.net/ S: Maintained F: include/linux/netfilter_bridge/ebt_*.h +F: include/uapi/linux/netfilter_bridge/ebt_*.h F: net/bridge/netfilter/ebt*.c EC100 MEDIA DRIVER @@ -2933,12 +2952,6 @@ M: Maxim Levitsky S: Maintained F: drivers/media/rc/ene_ir.* -EPSON 1355 FRAMEBUFFER DRIVER -M: Christopher Hoover -M: Christopher Hoover -S: Maintained -F: drivers/video/epson1355fb.c - EPSON S1D13XXX FRAMEBUFFER DRIVER M: Kristoffer Ericson S: Maintained @@ -2953,7 +2966,7 @@ S: Maintained F: drivers/net/ethernet/i825xx/eexpress.* ETHERNET BRIDGE -M: Stephen Hemminger +M: Stephen Hemminger L: bridge@lists.linux-foundation.org L: netdev@vger.kernel.org W: http://www.linuxfoundation.org/en/Net:Bridge @@ -3051,6 +3064,7 @@ M: Eric Paris S: Maintained F: fs/notify/fanotify/ F: include/linux/fanotify.h +F: include/uapi/linux/fanotify.h FARSYNC SYNCHRONOUS DRIVER M: Kevin Curtis @@ -3074,6 +3088,7 @@ F: drivers/scsi/fcoe/ F: include/scsi/fc/ F: include/scsi/libfc.h F: include/scsi/libfcoe.h +F: include/uapi/scsi/fc/ FILE LOCKING (flock() and fcntl()/lockf()) M: Matthew Wilcox @@ -3081,6 +3096,8 @@ L: linux-fsdevel@vger.kernel.org S: Maintained F: include/linux/fcntl.h F: include/linux/fs.h +F: include/uapi/linux/fcntl.h +F: include/uapi/linux/fs.h F: fs/fcntl.c F: fs/locks.c @@ -3170,11 +3187,13 @@ F: Documentation/devicetree/bindings/fb/ F: drivers/video/ F: include/video/ F: include/linux/fb.h +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: Supported +S: Maintained F: drivers/video/fsl-diu-fb.* FREESCALE DMA DRIVER @@ -3196,7 +3215,7 @@ M: Sascha Hauer L: linux-fbdev@vger.kernel.org L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained -F: arch/arm/plat-mxc/include/mach/imxfb.h +F: include/linux/platform_data/video-imxfb.h F: drivers/video/imxfb.c FREESCALE SOC FS_ENET DRIVER @@ -3209,9 +3228,8 @@ 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: Supported +S: Orphan F: arch/powerpc/sysdev/qe_lib/ F: arch/powerpc/include/asm/*qe.h @@ -3230,16 +3248,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: Supported +S: Maintained 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: Supported +S: Maintained F: sound/soc/fsl/fsl* F: sound/soc/fsl/mpc8610_hpcd.c @@ -3273,6 +3291,16 @@ F: Documentation/filesystems/caching/ F: fs/fscache/ F: include/linux/fscache*.h +F2FS FILE SYSTEM +M: Jaegeuk Kim +L: linux-f2fs-devel@lists.sourceforge.net +W: http://en.wikipedia.org/wiki/F2FS +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git +S: Maintained +F: Documentation/filesystems/f2fs.txt +F: fs/f2fs/ +F: include/linux/f2fs_fs.h + FUJITSU FR-V (FRV) PORT M: David Howells S: Maintained @@ -3304,7 +3332,7 @@ L: fuse-devel@lists.sourceforge.net W: http://fuse.sourceforge.net/ S: Maintained F: fs/fuse/ -F: include/linux/fuse.h +F: include/uapi/linux/fuse.h FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit) M: Rik Faith @@ -3351,6 +3379,7 @@ L: linux-arch@vger.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git S: Maintained F: include/asm-generic +F: include/uapi/asm-generic GENERIC UIO DRIVER FOR PCI DEVICES M: "Michael S. Tsirkin" @@ -3367,7 +3396,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git S: Supported F: Documentation/filesystems/gfs2*.txt F: fs/gfs2/ -F: include/linux/gfs2_ondisk.h +F: include/uapi/linux/gfs2_ondisk.h GIGASET ISDN DRIVERS M: Hansjoerg Lipp @@ -3377,7 +3406,7 @@ W: http://gigaset307x.sourceforge.net/ S: Maintained F: Documentation/isdn/README.gigaset F: drivers/isdn/gigaset/ -F: include/linux/gigaset_dev.h +F: include/uapi/linux/gigaset_dev.h GPIO SUBSYSTEM M: Grant Likely @@ -3534,6 +3563,7 @@ S: Supported F: Documentation/scsi/hpsa.txt F: drivers/scsi/hpsa*.[ch] F: include/linux/cciss*.h +F: include/uapi/linux/cciss*.h HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss) M: Mike Miller @@ -3542,6 +3572,7 @@ S: Supported F: Documentation/blockdev/cciss.txt F: drivers/block/cciss* F: include/linux/cciss_ioctl.h +F: include/uapi/linux/cciss_ioctl.h HFS FILESYSTEM L: linux-fsdevel@vger.kernel.org @@ -3576,6 +3607,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git S: Maintained F: drivers/hid/ F: include/linux/hid* +F: include/uapi/linux/hid* HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS M: Thomas Gleixner @@ -3607,7 +3639,7 @@ M: Jes Sorensen L: linux-hippi@sunsite.dk S: Maintained F: include/linux/hippidevice.h -F: include/linux/if_hippi.h +F: include/uapi/linux/if_hippi.h F: net/802/hippi.c F: drivers/net/hippi/ @@ -3635,6 +3667,7 @@ S: Maintained F: Documentation/timers/hpet.txt F: drivers/char/hpet.c F: include/linux/hpet.h +F: include/uapi/linux/hpet.h HPET: x86 M: "Venkatesh Pallipadi (Venki)" @@ -3735,6 +3768,8 @@ F: Documentation/i2c/ F: drivers/i2c/ F: include/linux/i2c.h F: include/linux/i2c-*.h +F: include/uapi/linux/i2c.h +F: include/uapi/linux/i2c-*.h I2C-TAOS-EVM DRIVER M: Jean Delvare @@ -3850,7 +3885,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git S: Maintained F: net/ieee802154/ F: net/mac802154/ -F: drivers/ieee802154/ +F: drivers/net/ieee802154/ IGUANAWORKS USB IR TRANSCEIVER M: Sean Young @@ -3901,7 +3936,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git S: Supported F: Documentation/infiniband/ F: drivers/infiniband/ -F: include/linux/if_infiniband.h +F: include/uapi/linux/if_infiniband.h INOTIFY M: John McCutchan @@ -3911,6 +3946,7 @@ S: Maintained F: Documentation/filesystems/inotify.txt F: fs/notify/inotify/ F: include/linux/inotify.h +F: include/uapi/linux/inotify.h INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS M: Dmitry Torokhov @@ -3921,6 +3957,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git S: Maintained F: drivers/input/ F: include/linux/input.h +F: include/uapi/linux/input.h F: include/linux/input/ INPUT MULTITOUCH (MT) PROTOCOL @@ -3941,7 +3978,6 @@ L: linux-scsi@vger.kernel.org T: git git://git.code.sf.net/p/intel-sas/isci S: Supported F: drivers/scsi/isci/ -F: firmware/isci/ INTEL IDLE DRIVER M: Len Brown @@ -4036,12 +4072,6 @@ F: Documentation/networking/ixgbe.txt F: Documentation/networking/ixgbevf.txt F: drivers/net/ethernet/intel/ -INTEL MRST PMU DRIVER -M: Len Brown -L: linux-pm@vger.kernel.org -S: Supported -F: arch/x86/platform/mrst/pmu.* - INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT M: Stanislav Yakovlev L: linux-wireless@vger.kernel.org @@ -4070,7 +4100,7 @@ S: Supported W: http://linuxwimax.org F: Documentation/wimax/README.i2400m F: drivers/net/wimax/i2400m/ -F: include/linux/wimax/i2400m.h +F: include/uapi/linux/wimax/i2400m.h INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy) M: Stanislaw Gruszka @@ -4092,9 +4122,9 @@ INTEL MANAGEMENT ENGINE (mei) M: Tomas Winkler L: linux-kernel@vger.kernel.org S: Supported -F: include/linux/mei.h +F: include/uapi/linux/mei.h F: drivers/misc/mei/* -F: Documentation/mei/* +F: Documentation/misc-devices/mei/* IOC3 ETHERNET DRIVER M: Ralf Baechle @@ -4134,6 +4164,7 @@ S: Supported F: Documentation/IPMI.txt F: drivers/char/ipmi/ F: include/linux/ipmi* +F: include/uapi/linux/ipmi* IPS SCSI RAID DRIVER M: Adaptec OEM Raid Solutions @@ -4151,7 +4182,7 @@ L: lvs-devel@vger.kernel.org S: Maintained F: Documentation/networking/ipvs-sysctl.txt F: include/net/ip_vs.h -F: include/linux/ip_vs.h +F: include/uapi/linux/ip_vs.h F: net/netfilter/ipvs/ IPWIRELESS DRIVER @@ -4164,8 +4195,8 @@ IPX NETWORK LAYER M: Arnaldo Carvalho de Melo L: netdev@vger.kernel.org S: Maintained -F: include/linux/ipx.h F: include/net/ipx.h +F: include/uapi/linux/ipx.h F: net/ipx/ IRDA SUBSYSTEM @@ -4228,6 +4259,8 @@ F: Documentation/isdn/ F: drivers/isdn/ F: include/linux/isdn.h F: include/linux/isdn/ +F: include/uapi/linux/isdn.h +F: include/uapi/linux/isdn/ ISDN SUBSYSTEM (Eicon active card driver) M: Armin Schindler @@ -4268,7 +4301,7 @@ W: http://www.ivtvdriver.org S: Maintained F: Documentation/video4linux/*.ivtv F: drivers/media/pci/ivtv/ -F: include/linux/ivtv* +F: include/uapi/linux/ivtv* IX2505V MEDIA DRIVER M: Malcolm Priestley @@ -4306,7 +4339,7 @@ L: linux-mtd@lists.infradead.org W: http://www.linux-mtd.infradead.org/doc/jffs2.html S: Maintained F: fs/jffs2/ -F: include/linux/jffs2.h +F: include/uapi/linux/jffs2.h JOURNALLING LAYER FOR BLOCK DEVICES (JBD) M: Andrew Morton @@ -4389,11 +4422,13 @@ W: http://nfs.sourceforge.net/ S: Supported F: fs/nfsd/ F: include/linux/nfsd/ +F: include/uapi/linux/nfsd/ F: fs/lockd/ F: fs/nfs_common/ F: net/sunrpc/ F: include/linux/lockd/ F: include/linux/sunrpc/ +F: include/uapi/linux/sunrpc/ KERNEL VIRTUAL MACHINE (KVM) M: Marcelo Tosatti @@ -4405,6 +4440,7 @@ F: Documentation/*/kvm.txt F: arch/*/kvm/ F: arch/*/include/asm/kvm* F: include/linux/kvm* +F: include/uapi/linux/kvm* F: virt/kvm/ KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V @@ -4451,6 +4487,7 @@ W: http://kernel.org/pub/linux/utils/kernel/kexec/ L: kexec@lists.infradead.org S: Maintained F: include/linux/kexec.h +F: include/uapi/linux/kexec.h F: kernel/kexec.c KEYS/KEYRINGS: @@ -4692,6 +4729,7 @@ LLC (802.2) M: Arnaldo Carvalho de Melo S: Maintained F: include/linux/llc.h +F: include/uapi/linux/llc.h F: include/net/llc* F: net/llc/ @@ -4867,7 +4905,7 @@ S: Maintained MARVELL GIGABIT ETHERNET DRIVERS (skge/sky2) M: Mirko Lindner -M: Stephen Hemminger +M: Stephen Hemminger L: netdev@vger.kernel.org S: Maintained F: drivers/net/ethernet/marvell/sk* @@ -4912,7 +4950,7 @@ MATROX FRAMEBUFFER DRIVER L: linux-fbdev@vger.kernel.org S: Orphan F: drivers/video/matrox/matroxfb_* -F: include/linux/matroxfb.h +F: include/uapi/linux/matroxfb.h MAX16065 HARDWARE MONITOR DRIVER M: Guenter Roeck @@ -4994,7 +5032,7 @@ T: git git://git.infradead.org/mtd-2.6.git S: Maintained F: drivers/mtd/ F: include/linux/mtd/ -F: include/mtd/ +F: include/uapi/mtd/ MICROBLAZE ARCHITECTURE M: Michal Simek @@ -5032,12 +5070,6 @@ F: Documentation/video4linux/meye.txt F: drivers/media/pci/meye/ F: include/uapi/linux/meye.h -MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER -M: Pavel Pisa -L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: drivers/mmc/host/imxmmc.* - MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD M: Jiri Slaby S: Maintained @@ -5052,7 +5084,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 @@ -5076,6 +5108,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git S: Maintained F: drivers/mmc/ F: include/linux/mmc/ +F: include/uapi/linux/mmc/ MULTIMEDIA CARD (MMC) ETC. OVER SPI S: Orphan @@ -5147,7 +5180,7 @@ S: Supported F: drivers/infiniband/hw/nes/ NETEM NETWORK EMULATOR -M: Stephen Hemminger +M: Stephen Hemminger L: netem@lists.linux-foundation.org S: Maintained F: net/sched/sch_netem.c @@ -5176,6 +5209,8 @@ S: Supported F: include/linux/netfilter* F: include/linux/netfilter/ F: include/net/netfilter/ +F: include/uapi/linux/netfilter* +F: include/uapi/linux/netfilter/ F: net/*/netfilter.c F: net/*/netfilter/ F: net/netfilter/ @@ -5194,8 +5229,8 @@ M: Ralf Baechle L: linux-hams@vger.kernel.org W: http://www.linux-ax25.org/ S: Maintained -F: include/linux/netrom.h F: include/net/netrom.h +F: include/uapi/linux/netrom.h F: net/netrom/ NETWORK BLOCK DEVICE (NBD) @@ -5204,6 +5239,7 @@ S: Maintained F: Documentation/blockdev/nbd.txt F: drivers/block/nbd.c F: include/linux/nbd.h +F: include/uapi/linux/nbd.h NETWORK DROP MONITOR M: Neil Horman @@ -5225,6 +5261,9 @@ F: include/net/ F: include/linux/in.h F: include/linux/net.h F: include/linux/netdevice.h +F: include/uapi/linux/in.h +F: include/uapi/linux/net.h +F: include/uapi/linux/netdevice.h NETWORKING [IPv4/IPv6] M: "David S. Miller" @@ -5270,6 +5309,7 @@ F: net/rfkill/ F: net/wireless/ F: include/net/ieee80211* F: include/linux/wireless.h +F: include/uapi/linux/wireless.h F: include/net/iw_handler.h F: drivers/net/wireless/ @@ -5289,6 +5329,8 @@ F: include/linux/fcdevice.h F: include/linux/fddidevice.h F: include/linux/hippidevice.h F: include/linux/inetdevice.h +F: include/uapi/linux/if_* +F: include/uapi/linux/netdevice.h NETXEN (1/10) GbE SUPPORT M: Sony Chacko @@ -5306,8 +5348,8 @@ L: linux-wireless@vger.kernel.org L: linux-nfc@lists.01.org (moderated for non-subscribers) S: Maintained F: net/nfc/ -F: include/linux/nfc.h F: include/net/nfc/ +F: include/uapi/linux/nfc.h F: drivers/nfc/ F: include/linux/platform_data/pn544.h @@ -5324,6 +5366,8 @@ F: net/sunrpc/ F: include/linux/lockd/ F: include/linux/nfs* F: include/linux/sunrpc/ +F: include/uapi/linux/nfs* +F: include/uapi/linux/sunrpc/ NI5010 NETWORK DRIVER M: Jan-Pascal van Best @@ -5385,6 +5429,15 @@ F: arch/arm/*omap*/ F: drivers/i2c/busses/i2c-omap.c F: include/linux/i2c-omap.h +OMAP DEVICE TREE SUPPORT +M: Benoît Cousson +M: Tony Lindgren +L: linux-omap@vger.kernel.org +L: devicetree-discuss@lists.ozlabs.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/*omap* +F: arch/arm/boot/dts/*am3* + OMAP CLOCK FRAMEWORK SUPPORT M: Paul Walmsley L: linux-omap@vger.kernel.org @@ -5461,8 +5514,7 @@ M: Benoît Cousson M: Paul Walmsley L: linux-omap@vger.kernel.org S: Maintained -F: arch/arm/mach-omap2/omap_hwmod.c -F: arch/arm/plat-omap/include/plat/omap_hwmod.h +F: arch/arm/mach-omap2/omap_hwmod.* OMAP HWMOD DATA FOR OMAP4-BASED DEVICES M: Benoît Cousson @@ -5504,6 +5556,7 @@ M: Harald Welte S: Maintained F: drivers/char/pcmcia/cm4000_cs.c F: include/linux/cm4000_cs.h +F: include/uapi/linux/cm4000_cs.h OMNIKEY CARDMAN 4040 DRIVER M: Harald Welte @@ -5662,7 +5715,7 @@ S: Orphan F: drivers/parport/ F: include/linux/parport*.h F: drivers/char/ppdev.c -F: include/linux/ppdev.h +F: include/uapi/linux/ppdev.h PARAVIRT_OPS INTERFACE M: Jeremy Fitzhardinge @@ -5803,11 +5856,11 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core S: Supported F: kernel/events/* F: include/linux/perf_event.h +F: include/uapi/linux/perf_event.h F: arch/*/kernel/perf_event*.c F: arch/*/kernel/*/perf_event*.c F: arch/*/kernel/*/*/perf_event*.c F: arch/*/include/asm/perf_event.h -F: arch/*/lib/perf_event*.c F: arch/*/kernel/perf_callchain.c F: tools/perf/ @@ -5816,6 +5869,7 @@ M: Christoph Hellwig L: linux-abi-devel@lists.sourceforge.net S: Maintained F: include/linux/personality.h +F: include/uapi/linux/personality.h PHONET PROTOCOL M: Remi Denis-Courmont @@ -5823,6 +5877,7 @@ S: Supported F: Documentation/networking/phonet.txt F: include/linux/phonet.h F: include/net/phonet/ +F: include/uapi/linux/phonet.h F: net/phonet/ PHRAM MTD DRIVER @@ -5871,6 +5926,7 @@ M: Jiri Kosina S: Maintained F: drivers/block/pktcdvd.c F: include/linux/pktcdvd.h +F: include/uapi/linux/pktcdvd.h PKUNITY SOC DRIVERS M: Guan Xuetao @@ -5945,7 +6001,7 @@ PPP OVER ATM (RFC 2364) M: Mitchell Blank Jr S: Maintained F: net/atm/pppoatm.c -F: include/linux/atmppp.h +F: include/uapi/linux/atmppp.h PPP OVER ETHERNET M: Michal Ostrowski @@ -5958,6 +6014,7 @@ M: James Chapman S: Maintained F: net/l2tp/l2tp_ppp.c F: include/linux/if_pppol2tp.h +F: include/uapi/linux/if_pppol2tp.h PPS SUPPORT M: Rodolfo Giometti @@ -6055,6 +6112,7 @@ F: include/asm-generic/syscall.h F: include/linux/ptrace.h F: include/linux/regset.h F: include/linux/tracehook.h +F: include/uapi/linux/ptrace.h F: kernel/ptrace.c PVRUSB2 VIDEO4LINUX DRIVER @@ -6083,7 +6141,6 @@ T: git git://gitorious.org/linux-pwm/linux-pwm.git F: Documentation/pwm.txt F: Documentation/devicetree/bindings/pwm/ F: include/linux/pwm.h -F: include/linux/of_pwm.h F: drivers/pwm/ F: drivers/video/backlight/pwm_bl.c F: include/linux/pwm_backlight.h @@ -6179,8 +6236,8 @@ M: Anders Larsen W: http://www.alarsen.net/linux/qnx4fs/ S: Maintained F: fs/qnx4/ -F: include/linux/qnx4_fs.h -F: include/linux/qnxtypes.h +F: include/uapi/linux/qnx4_fs.h +F: include/uapi/linux/qnxtypes.h QT1010 MEDIA DRIVER M: Antti Palosaari @@ -6214,7 +6271,7 @@ M: Benjamin Herrenschmidt L: linux-fbdev@vger.kernel.org S: Maintained F: drivers/video/aty/radeon* -F: include/linux/radeonfb.h +F: include/uapi/linux/radeonfb.h RADIOSHARK RADIO DRIVER M: Hans de Goede @@ -6315,6 +6372,7 @@ S: Maintained F: Documentation/rtc.txt F: drivers/rtc/ F: include/linux/rtc.h +F: include/uapi/linux/rtc.h REISERFS FILE SYSTEM L: reiserfs-devel@vger.kernel.org @@ -6369,8 +6427,8 @@ M: Ralf Baechle L: linux-hams@vger.kernel.org W: http://www.linux-ax25.org/ S: Maintained -F: include/linux/rose.h F: include/net/rose.h +F: include/uapi/linux/rose.h F: net/rose/ RTL2830 MEDIA DRIVER @@ -6527,7 +6585,7 @@ F: drivers/media/platform/s3c-camif/ F: include/media/s3c_camif.h SERIAL DRIVERS -M: Alan Cox +M: Greg Kroah-Hartman L: linux-serial@vger.kernel.org S: Maintained F: drivers/tty/serial @@ -6547,6 +6605,8 @@ S: Supported F: include/linux/clocksource.h F: include/linux/time.h F: include/linux/timex.h +F: include/uapi/linux/time.h +F: include/uapi/linux/timex.h F: kernel/time/clocksource.c F: kernel/time/time*.c F: kernel/time/ntp.c @@ -6571,6 +6631,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core S: Maintained F: kernel/sched/ F: include/linux/sched.h +F: include/uapi/linux/sched.h SCORE ARCHITECTURE M: Chen Liqin @@ -6724,7 +6785,7 @@ SENSABLE PHANTOM M: Jiri Slaby S: Maintained F: drivers/misc/phantom.c -F: include/linux/phantom.h +F: include/uapi/linux/phantom.h SERIAL ATA (SATA) SUBSYSTEM M: Jeff Garzik @@ -6982,6 +7043,7 @@ L: linux-raid@vger.kernel.org S: Supported F: drivers/md/ F: include/linux/raid/ +F: include/uapi/linux/raid/ SONIC NETWORK DRIVER M: Thomas Bogendoerfer @@ -7022,10 +7084,11 @@ T: git git://git.alsa-project.org/alsa-kernel.git S: Maintained F: Documentation/sound/ F: include/sound/ +F: include/uapi/sound/ F: sound/ SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC) -M: Liam Girdwood +M: Liam Girdwood M: Mark Brown T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git L: alsa-devel@alsa-project.org (moderated for non-subscribers) @@ -7122,6 +7185,7 @@ S: Maintained F: Documentation/spi/ F: drivers/spi/ F: include/linux/spi/ +F: include/uapi/linux/spi/ SPIDERNET NETWORK DRIVER for CELL M: Ishizaki Kou @@ -7258,7 +7322,7 @@ F: drivers/staging/rtl8712/ STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER M: Teddy Wang S: Odd Fixes -F: drivers/staging/sm7xx/ +F: drivers/staging/sm7xxfb/ STAGING - SOFTLOGIC 6x10 MPEG CODEC M: Ben Collins @@ -7276,7 +7340,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/ @@ -7384,8 +7448,8 @@ TC CLASSIFIER M: Jamal Hadi Salim L: netdev@vger.kernel.org S: Maintained -F: include/linux/pkt_cls.h F: include/net/pkt_cls.h +F: include/uapi/linux/pkt_cls.h F: net/sched/ TCP LOW PRIORITY MODULE @@ -7477,6 +7541,7 @@ L: netdev@vger.kernel.org S: Supported F: drivers/net/team/ F: include/linux/if_team.h +F: include/uapi/linux/if_team.h TECHNOTREND USB IR RECEIVER M: Sean Young @@ -7575,7 +7640,7 @@ L: netdev@vger.kernel.org (core kernel code) L: tipc-discussion@lists.sourceforge.net (user apps, general discussion) W: http://tipc.sourceforge.net/ S: Maintained -F: include/linux/tipc*.h +F: include/uapi/linux/tipc*.h F: net/tipc/ TILE ARCHITECTURE @@ -7625,6 +7690,7 @@ W: http://www.buzzard.org.uk/toshiba/ S: Maintained F: drivers/char/toshiba.c F: include/linux/toshiba.h +F: include/uapi/linux/toshiba.h TMIO MMC DRIVER M: Guennadi Liakhovetski @@ -7692,6 +7758,9 @@ F: drivers/tty/serial/serial_core.c F: include/linux/serial_core.h F: include/linux/serial.h F: include/linux/tty.h +F: include/uapi/linux/serial_core.h +F: include/uapi/linux/serial.h +F: include/uapi/linux/tty.h TUA9001 MEDIA DRIVER M: Antti Palosaari @@ -7771,7 +7840,7 @@ M: David Herrmann L: linux-input@vger.kernel.org S: Maintained F: drivers/hid/uhid.c -F: include/linux/uhid.h +F: include/uapi/linux/uhid.h ULTRA-WIDEBAND (UWB) SUBSYSTEM: L: linux-usb@vger.kernel.org @@ -7800,6 +7869,7 @@ S: Maintained F: Documentation/cdrom/ F: drivers/cdrom/cdrom.c F: include/linux/cdrom.h +F: include/uapi/linux/cdrom.h UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER M: Vinayak Holikatti @@ -7817,7 +7887,7 @@ T: git git://git.infradead.org/ubi-2.6.git S: Maintained F: drivers/mtd/ubi/ F: include/linux/mtd/ubi.h -F: include/mtd/ubi-user.h +F: include/uapi/mtd/ubi-user.h UNSORTED BLOCK IMAGES (UBI) Fastmap M: Richard Weinberger @@ -7851,7 +7921,7 @@ M: Oliver Neukum L: linux-usb@vger.kernel.org S: Maintained F: drivers/net/usb/cdc_*.c -F: include/linux/usb/cdc.h +F: include/uapi/linux/usb/cdc.h USB CYPRESS C67X00 DRIVER M: Peter Korsgaard @@ -8172,6 +8242,7 @@ S: Maintained F: Documentation/vfio.txt F: drivers/vfio/ F: include/linux/vfio.h +F: include/uapi/linux/vfio.h VIDEOBUF2 FRAMEWORK M: Pawel Osciak @@ -8188,6 +8259,7 @@ L: virtualization@lists.linux-foundation.org S: Maintained F: drivers/char/virtio_console.c F: include/linux/virtio_console.h +F: include/uapi/linux/virtio_console.h VIRTIO CORE, NET AND BLOCK DRIVERS M: Rusty Russell @@ -8206,7 +8278,7 @@ L: virtualization@lists.linux-foundation.org L: netdev@vger.kernel.org S: Maintained F: drivers/vhost/ -F: include/linux/vhost.h +F: include/uapi/linux/vhost.h VIA RHINE NETWORK DRIVER M: Roger Luethi @@ -8346,6 +8418,7 @@ S: Maintained F: Documentation/watchdog/ F: drivers/watchdog/ F: include/linux/watchdog.h +F: include/uapi/linux/watchdog.h WD7000 SCSI DRIVER M: Miroslav Zagorac @@ -8371,9 +8444,9 @@ L: wimax@linuxwimax.org S: Supported W: http://linuxwimax.org F: Documentation/wimax/README.wimax -F: include/linux/wimax.h F: include/linux/wimax/debug.h F: include/net/wimax.h +F: include/uapi/linux/wimax.h F: net/wimax/ WISTRON LAPTOP BUTTON DRIVER @@ -8459,7 +8532,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 @@ -8491,6 +8564,7 @@ F: drivers/*/xen-*front.c F: drivers/xen/ F: arch/x86/include/asm/xen/ F: include/xen/ +F: include/uapi/xen/ XEN HYPERVISOR ARM M: Stefano Stabellini diff --git a/trunk/Makefile b/trunk/Makefile index 6f07f4a28b47..54dfde5e9f9e 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,8 +1,8 @@ VERSION = 3 -PATCHLEVEL = 7 +PATCHLEVEL = 8 SUBLEVEL = 0 -EXTRAVERSION = -NAME = Terrified Chipmunk +EXTRAVERSION = -rc6 +NAME = Unicycling Gorilla # *DOCUMENTATION* # To see a list of typical targets execute "make help" @@ -124,7 +124,7 @@ $(if $(KBUILD_OUTPUT),, \ PHONY += $(MAKECMDGOALS) sub-make $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make - $(Q)@: + @: sub-make: FORCE $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \ @@ -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/sh[234].*/sh/ -e s/aarch64.*/arm64/ ) # Cross compiling and selecting different set of gcc/bin-utils # --------------------------------------------------------------------------- @@ -1027,11 +1027,14 @@ clean: rm-dirs := $(CLEAN_DIRS) clean: rm-files := $(CLEAN_FILES) clean-dirs := $(addprefix _clean_, . $(vmlinux-alldirs) Documentation samples) -PHONY += $(clean-dirs) clean archclean +PHONY += $(clean-dirs) clean archclean vmlinuxclean $(clean-dirs): $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) -clean: archclean +vmlinuxclean: + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean + +clean: archclean vmlinuxclean # mrproper - Delete all generated files, including .config # @@ -1258,7 +1261,6 @@ scripts: ; endif # KBUILD_EXTMOD clean: $(clean-dirs) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean $(call cmd,rmdirs) $(call cmd,rmfiles) @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \ diff --git a/trunk/arch/Kconfig b/trunk/arch/Kconfig index 8e9e3246b2b4..7f8f281f2585 100644 --- a/trunk/arch/Kconfig +++ b/trunk/arch/Kconfig @@ -291,12 +291,6 @@ config ARCH_WANT_OLD_COMPAT_IPC select ARCH_WANT_COMPAT_IPC_PARSE_VERSION bool -config GENERIC_KERNEL_THREAD - bool - -config GENERIC_KERNEL_EXECVE - bool - config HAVE_ARCH_SECCOMP_FILTER bool help @@ -362,6 +356,9 @@ config MODULES_USE_ELF_REL Modules only use ELF REL relocations. Modules with ELF RELA relocations will give an error. +config GENERIC_SIGALTSTACK + bool + # # ABI hall of shame # diff --git a/trunk/arch/alpha/Kconfig b/trunk/arch/alpha/Kconfig index 5dd7f5db24d4..9d5904cc7712 100644 --- a/trunk/arch/alpha/Kconfig +++ b/trunk/arch/alpha/Kconfig @@ -20,10 +20,9 @@ config ALPHA select GENERIC_CMOS_UPDATE select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER - select GENERIC_KERNEL_THREAD - select GENERIC_KERNEL_EXECVE select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA + select GENERIC_SIGALTSTACK help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory, diff --git a/trunk/arch/alpha/include/asm/parport.h b/trunk/arch/alpha/include/asm/parport.h index c5ee7cbb2fcd..6abd0af11f13 100644 --- a/trunk/arch/alpha/include/asm/parport.h +++ b/trunk/arch/alpha/include/asm/parport.h @@ -9,8 +9,8 @@ #ifndef _ASM_AXP_PARPORT_H #define _ASM_AXP_PARPORT_H 1 -static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma); -static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma) +static int parport_pc_find_isa_ports (int autoirq, int autodma); +static int parport_pc_find_nonpci_ports (int autoirq, int autodma) { return parport_pc_find_isa_ports (autoirq, autodma); } diff --git a/trunk/arch/alpha/include/asm/ptrace.h b/trunk/arch/alpha/include/asm/ptrace.h index df9a6cd748d5..21128505ddbe 100644 --- a/trunk/arch/alpha/include/asm/ptrace.h +++ b/trunk/arch/alpha/include/asm/ptrace.h @@ -8,6 +8,7 @@ #define user_mode(regs) (((regs)->ps & 8) != 0) #define instruction_pointer(regs) ((regs)->pc) #define profile_pc(regs) instruction_pointer(regs) +#define current_user_stack_pointer() rdusp() #define task_pt_regs(task) \ ((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1) diff --git a/trunk/arch/alpha/include/asm/unistd.h b/trunk/arch/alpha/include/asm/unistd.h index d6069ff3b1c8..b3396ee039b7 100644 --- a/trunk/arch/alpha/include/asm/unistd.h +++ b/trunk/arch/alpha/include/asm/unistd.h @@ -15,7 +15,6 @@ #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE #define __ARCH_WANT_SYS_FORK #define __ARCH_WANT_SYS_VFORK #define __ARCH_WANT_SYS_CLONE diff --git a/trunk/arch/alpha/include/uapi/asm/signal.h b/trunk/arch/alpha/include/uapi/asm/signal.h index 965bbfa59c65..dd4ca4bcbb4a 100644 --- a/trunk/arch/alpha/include/uapi/asm/signal.h +++ b/trunk/arch/alpha/include/uapi/asm/signal.h @@ -84,12 +84,6 @@ typedef unsigned long sigset_t; #define SA_ONESHOT SA_RESETHAND #define SA_NOMASK SA_NODEFER -/* - * sigaltstack controls - */ -#define SS_ONSTACK 1 -#define SS_DISABLE 2 - #define MINSIGSTKSZ 4096 #define SIGSTKSZ 16384 diff --git a/trunk/arch/alpha/kernel/pci.c b/trunk/arch/alpha/kernel/pci.c index ef757147cbf9..edb4e0097b75 100644 --- a/trunk/arch/alpha/kernel/pci.c +++ b/trunk/arch/alpha/kernel/pci.c @@ -59,13 +59,13 @@ struct pci_controller *pci_isa_hose; * Quirks. */ -static void __devinit quirk_isa_bridge(struct pci_dev *dev) +static void quirk_isa_bridge(struct pci_dev *dev) { dev->class = PCI_CLASS_BRIDGE_ISA << 8; } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_isa_bridge); -static void __devinit quirk_cypress(struct pci_dev *dev) +static void quirk_cypress(struct pci_dev *dev) { /* The Notorious Cy82C693 chip. */ @@ -104,7 +104,7 @@ static void __devinit quirk_cypress(struct pci_dev *dev) DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, quirk_cypress); /* Called for each device after PCI setup is done. */ -static void __devinit pcibios_fixup_final(struct pci_dev *dev) +static void pcibios_fixup_final(struct pci_dev *dev) { unsigned int class = dev->class >> 8; @@ -198,8 +198,7 @@ subsys_initcall(pcibios_init); #ifdef ALPHA_RESTORE_SRM_SETUP static struct pdev_srm_saved_conf *srm_saved_configs; -void __devinit -pdev_save_srm_config(struct pci_dev *dev) +void pdev_save_srm_config(struct pci_dev *dev) { struct pdev_srm_saved_conf *tmp; static int printed = 0; @@ -241,8 +240,7 @@ pci_restore_srm_config(void) } #endif -void __devinit -pcibios_fixup_bus(struct pci_bus *bus) +void pcibios_fixup_bus(struct pci_bus *bus) { struct pci_dev *dev = bus->self; diff --git a/trunk/arch/alpha/kernel/signal.c b/trunk/arch/alpha/kernel/signal.c index 336393c9c11f..02d02c047f17 100644 --- a/trunk/arch/alpha/kernel/signal.c +++ b/trunk/arch/alpha/kernel/signal.c @@ -122,12 +122,6 @@ SYSCALL_DEFINE1(sigsuspend, old_sigset_t, mask) return sigsuspend(&blocked); } -asmlinkage int -sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss) -{ - return do_sigaltstack(uss, uoss, rdusp()); -} - /* * Do a signal return; undo the signal stack. */ @@ -418,9 +412,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, err |= __put_user(0, &frame->uc.uc_flags); err |= __put_user(0, &frame->uc.uc_link); err |= __put_user(set->sig[0], &frame->uc.uc_osf_sigmask); - err |= __put_user(current->sas_ss_sp, &frame->uc.uc_stack.ss_sp); - err |= __put_user(sas_ss_flags(oldsp), &frame->uc.uc_stack.ss_flags); - err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); + err |= __save_altstack(&frame->uc.uc_stack, oldsp); err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, set->sig[0], oldsp); err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); diff --git a/trunk/arch/alpha/kernel/smp.c b/trunk/arch/alpha/kernel/smp.c index a41ad90a97a6..9603bc234b47 100644 --- a/trunk/arch/alpha/kernel/smp.c +++ b/trunk/arch/alpha/kernel/smp.c @@ -68,7 +68,7 @@ enum ipi_message_type { }; /* Set to a secondary's cpuid when it comes online. */ -static int smp_secondary_alive __devinitdata = 0; +static int smp_secondary_alive = 0; int smp_num_probed; /* Internal processor count */ int smp_num_cpus = 1; /* Number that came online. */ @@ -172,7 +172,7 @@ smp_callin(void) } /* Wait until hwrpb->txrdy is clear for cpu. Return -1 on timeout. */ -static int __devinit +static int wait_for_txrdy (unsigned long cpumask) { unsigned long timeout; @@ -468,7 +468,7 @@ smp_prepare_cpus(unsigned int max_cpus) smp_num_cpus = smp_num_probed; } -void __devinit +void smp_prepare_boot_cpu(void) { } diff --git a/trunk/arch/alpha/kernel/sys_titan.c b/trunk/arch/alpha/kernel/sys_titan.c index 2533db280d9b..5cf4a481b8c5 100644 --- a/trunk/arch/alpha/kernel/sys_titan.c +++ b/trunk/arch/alpha/kernel/sys_titan.c @@ -303,7 +303,7 @@ titan_late_init(void) } -static int __devinit +static int titan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { u8 intline; diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 8c83d98424c7..67874b82a4ed 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -12,8 +12,6 @@ config ARM select GENERIC_CLOCKEVENTS_BROADCAST if SMP select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW - select GENERIC_KERNEL_THREAD - select GENERIC_KERNEL_EXECVE select GENERIC_PCI_IOMAP select GENERIC_SMP_IDLE_THREAD select GENERIC_STRNCPY_FROM_USER @@ -373,7 +371,6 @@ config ARCH_CNS3XXX config ARCH_CLPS711X bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" select ARCH_REQUIRE_GPIOLIB - select ARCH_USES_GETTIMEOFFSET select AUTO_ZRELADDR select CLKDEV_LOOKUP select COMMON_CLK @@ -1232,6 +1229,7 @@ config ARM_ERRATA_430973 config ARM_ERRATA_458693 bool "ARM errata: Processor deadlock when a false hazard is created" depends on CPU_V7 + depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 458693 Cortex-A8 (r2p0) erratum. For very specific sequences of memory operations, it is @@ -1245,6 +1243,7 @@ config ARM_ERRATA_458693 config ARM_ERRATA_460075 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data" depends on CPU_V7 + depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 460075 Cortex-A8 (r2p0) erratum. Any asynchronous access to the L2 cache may encounter a @@ -1257,6 +1256,7 @@ config ARM_ERRATA_460075 config ARM_ERRATA_742230 bool "ARM errata: DMB operation may be faulty" depends on CPU_V7 && SMP + depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 742230 Cortex-A9 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction @@ -1269,6 +1269,7 @@ config ARM_ERRATA_742230 config ARM_ERRATA_742231 bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption" depends on CPU_V7 && SMP + depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 742231 Cortex-A9 (r2p0..r2p2) erratum. Under certain conditions, specific to the @@ -1319,6 +1320,7 @@ config PL310_ERRATA_727915 config ARM_ERRATA_743622 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" depends on CPU_V7 + depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 743622 Cortex-A9 (r2p*) erratum. Under very rare conditions, a faulty @@ -1332,6 +1334,7 @@ config ARM_ERRATA_743622 config ARM_ERRATA_751472 bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation" depends on CPU_V7 + depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 751472 Cortex-A9 (prior to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the diff --git a/trunk/arch/arm/boot/compressed/head.S b/trunk/arch/arm/boot/compressed/head.S index 49ca86e37b8d..fe4d9c3ad761 100644 --- a/trunk/arch/arm/boot/compressed/head.S +++ b/trunk/arch/arm/boot/compressed/head.S @@ -44,7 +44,7 @@ #else -#include +#include CONFIG_DEBUG_LL_INCLUDE .macro writeb, ch, rb senduart \ch, \rb diff --git a/trunk/arch/arm/boot/dts/Makefile b/trunk/arch/arm/boot/dts/Makefile index 0f441740c22a..5ebb44fe826a 100644 --- a/trunk/arch/arm/boot/dts/Makefile +++ b/trunk/arch/arm/boot/dts/Makefile @@ -42,11 +42,10 @@ dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ exynos4210-smdkv310.dtb \ exynos4210-trats.dtb \ - exynos5250-smdk5250.dtb \ - exynos5440-ssdk5440.dtb \ exynos4412-smdk4412.dtb \ exynos5250-smdk5250.dtb \ - exynos5250-snow.dtb + exynos5250-snow.dtb \ + exynos5440-ssdk5440.dtb dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \ ecx-2000.dtb dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \ @@ -107,6 +106,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ omap3-evm.dtb \ omap3-tobi.dtb \ omap4-panda.dtb \ + omap4-panda-a4.dtb \ omap4-panda-es.dtb \ omap4-var-som.dtb \ omap4-sdp.dtb \ @@ -131,8 +131,8 @@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ spear320-evb.dtb \ spear320-hmi.dtb dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb -dtb-$(CONFIG_ARCH_SUNXI) += sun4i-cubieboard.dtb \ - sun5i-olinuxino.dtb +dtb-$(CONFIG_ARCH_SUNXI) += sun4i-a10-cubieboard.dtb \ + sun5i-a13-olinuxino.dtb dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ tegra20-medcom-wide.dtb \ tegra20-paz00.dtb \ @@ -155,6 +155,7 @@ 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 00044026ef1f..9b82facb2561 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 0x20000000>; /* 512 MB */ + reg = <0x00000000 0x40000000>; /* 1 GB */ }; soc { diff --git a/trunk/arch/arm/boot/dts/armada-370-xp.dtsi b/trunk/arch/arm/boot/dts/armada-370-xp.dtsi index cf6c48a09eac..4c0abe85405f 100644 --- a/trunk/arch/arm/boot/dts/armada-370-xp.dtsi +++ b/trunk/arch/arm/boot/dts/armada-370-xp.dtsi @@ -50,17 +50,19 @@ ranges; serial@d0012000 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012000 0x100>; reg-shift = <2>; interrupts = <41>; + reg-io-width = <4>; status = "disabled"; }; serial@d0012100 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012100 0x100>; reg-shift = <2>; interrupts = <42>; + reg-io-width = <4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi index c45c7b4dc352..e041f42ed711 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi @@ -34,7 +34,14 @@ reg = <0>; clocks = <&cpuclk 0>; }; - } + + cpu@1 { + device_type = "cpu"; + compatible = "marvell,sheeva-v7"; + reg = <1>; + clocks = <&cpuclk 1>; + }; + }; soc { pinctrl { @@ -43,27 +50,25 @@ }; gpio0: gpio@d0018100 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018100 0x40>, - <0xd0018800 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018100 0x40>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <16>, <17>, <18>, <19>; + interrupts = <82>, <83>, <84>, <85>; }; gpio1: gpio@d0018140 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018140 0x40>, - <0xd0018840 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018140 0x40>; ngpios = <17>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <20>, <21>, <22>; + interrupts = <87>, <88>, <89>; }; }; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi index a2aee5707377..9e23bd8c9536 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi @@ -51,39 +51,44 @@ }; gpio0: gpio@d0018100 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018100 0x40>, - <0xd0018800 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018100 0x40>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <16>, <17>, <18>, <19>; + interrupts = <82>, <83>, <84>, <85>; }; gpio1: gpio@d0018140 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018140 0x40>, - <0xd0018840 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018140 0x40>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <20>, <21>, <22>, <23>; + interrupts = <87>, <88>, <89>, <90>; }; gpio2: gpio@d0018180 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018180 0x40>, - <0xd0018870 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018180 0x40>; ngpios = <3>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <24>; + interrupts = <91>; + }; + + ethernet@d0034000 { + compatible = "marvell,armada-370-neta"; + reg = <0xd0034000 0x2500>; + interrupts = <14>; + clocks = <&gateclk 1>; + status = "disabled"; }; }; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi index da03a129243a..965966110e38 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi @@ -66,39 +66,44 @@ }; gpio0: gpio@d0018100 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018100 0x40>, - <0xd0018800 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018100 0x40>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <16>, <17>, <18>, <19>; + interrupts = <82>, <83>, <84>, <85>; }; gpio1: gpio@d0018140 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018140 0x40>, - <0xd0018840 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018140 0x40>; ngpios = <32>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <20>, <21>, <22>, <23>; + interrupts = <87>, <88>, <89>, <90>; }; gpio2: gpio@d0018180 { - compatible = "marvell,armadaxp-gpio"; - reg = <0xd0018180 0x40>, - <0xd0018870 0x30>; + compatible = "marvell,orion-gpio"; + reg = <0xd0018180 0x40>; ngpios = <3>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupts-cells = <2>; - interrupts = <24>; + interrupts = <91>; + }; + + ethernet@d0034000 { + compatible = "marvell,armada-370-neta"; + reg = <0xd0034000 0x2500>; + interrupts = <14>; + clocks = <&gateclk 1>; + status = "disabled"; }; }; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp.dtsi b/trunk/arch/arm/boot/dts/armada-xp.dtsi index 367aa3f94912..2e37ef101c90 100644 --- a/trunk/arch/arm/boot/dts/armada-xp.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp.dtsi @@ -42,17 +42,19 @@ soc { serial@d0012200 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012200 0x100>; reg-shift = <2>; interrupts = <43>; + reg-io-width = <4>; status = "disabled"; }; serial@d0012300 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012300 0x100>; reg-shift = <2>; interrupts = <44>; + reg-io-width = <4>; status = "disabled"; }; @@ -93,14 +95,6 @@ status = "disabled"; }; - ethernet@d0034000 { - compatible = "marvell,armada-370-neta"; - reg = <0xd0034000 0x2500>; - interrupts = <14>; - clocks = <&gateclk 1>; - status = "disabled"; - }; - xor@d0060900 { compatible = "marvell,orion-xor"; reg = <0xd0060900 0x100 diff --git a/trunk/arch/arm/boot/dts/at91rm9200.dtsi b/trunk/arch/arm/boot/dts/at91rm9200.dtsi index e154f242c680..222047f1ece9 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 23 0 /* sda */ - &pioA 24 0 /* scl */ + gpios = <&pioA 25 0 /* sda */ + &pioA 26 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 68bccf41a2c6..cb7bcc51608d 100644 --- a/trunk/arch/arm/boot/dts/at91sam9260.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9260.dtsi @@ -306,6 +306,22 @@ }; }; + 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>; @@ -450,6 +466,8 @@ 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 8e6251f1f7a3..271d4de026e9 100644 --- a/trunk/arch/arm/boot/dts/at91sam9263.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9263.dtsi @@ -271,6 +271,38 @@ }; }; + 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>; @@ -368,14 +400,18 @@ compatible = "atmel,at91rm9200-ssc"; reg = <0xfff98000 0x4000>; interrupts = <16 4 5>; - status = "disable"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; + status = "disabled"; }; ssc1: ssc@fff9c000 { compatible = "atmel,at91rm9200-ssc"; reg = <0xfff9c000 0x4000>; interrupts = <17 4 5>; - status = "disable"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; + status = "disabled"; }; macb0: ethernet@fffbc000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi index fa1ae0c5479c..6b1d4cab24c2 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g45.dtsi @@ -290,6 +290,38 @@ }; }; + 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>; @@ -425,14 +457,18 @@ compatible = "atmel,at91sam9g45-ssc"; reg = <0xfff9c000 0x4000>; interrupts = <16 4 5>; - status = "disable"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; + status = "disabled"; }; ssc1: ssc@fffa0000 { compatible = "atmel,at91sam9g45-ssc"; reg = <0xfffa0000 0x4000>; interrupts = <17 4 5>; - status = "disable"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; + status = "disabled"; }; adc0: adc@fffb0000 { diff --git a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi index e9efb34f4379..80e29c605d4e 100644 --- a/trunk/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9n12.dtsi @@ -28,6 +28,7 @@ tcb1 = &tcb1; i2c0 = &i2c0; i2c1 = &i2c1; + ssc0 = &ssc0; }; cpus { cpu@0 { @@ -244,6 +245,22 @@ }; }; + 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>; @@ -294,6 +311,15 @@ 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 617ede541ca2..8ecca6948d81 100644 --- a/trunk/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9x5.dtsi @@ -88,13 +88,6 @@ interrupts = <1 4 7>; }; - ssc0: ssc@f0010000 { - compatible = "atmel,at91sam9g45-ssc"; - reg = <0xf0010000 0x4000>; - interrupts = <28 4 5>; - status = "disable"; - }; - tcb0: timer@f8008000 { compatible = "atmel,at91sam9x5-tcb"; reg = <0xf8008000 0x100>; @@ -150,6 +143,11 @@ 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 { @@ -161,12 +159,17 @@ pinctrl_usart1_rts: usart1_rts-0 { atmel,pins = - <3 27 0x3 0x0>; /* PC27 periph C */ + <2 27 0x3 0x0>; /* PC27 periph C */ }; pinctrl_usart1_cts: usart1_cts-0 { atmel,pins = - <3 28 0x3 0x0>; /* PC28 periph C */ + <2 28 0x3 0x0>; /* PC28 periph C */ + }; + + pinctrl_usart1_sck: usart1_sck-0 { + atmel,pins = + <2 28 0x3 0x0>; /* PC29 periph C */ }; }; @@ -179,46 +182,56 @@ pinctrl_uart2_rts: uart2_rts-0 { atmel,pins = - <0 0 0x2 0x0>; /* PB0 periph B */ + <1 0 0x2 0x0>; /* PB0 periph B */ }; pinctrl_uart2_cts: uart2_cts-0 { atmel,pins = - <0 1 0x2 0x0>; /* PB1 periph B */ + <1 1 0x2 0x0>; /* PB1 periph B */ + }; + + pinctrl_usart2_sck: usart2_sck-0 { + atmel,pins = + <1 2 0x2 0x0>; /* PB2 periph B */ }; }; usart3 { pinctrl_uart3: usart3-0 { atmel,pins = - <3 23 0x2 0x1 /* PC22 periph B with pullup */ - 3 23 0x2 0x0>; /* PC23 periph B */ + <2 23 0x2 0x1 /* PC22 periph B with pullup */ + 2 23 0x2 0x0>; /* PC23 periph B */ }; pinctrl_usart3_rts: usart3_rts-0 { atmel,pins = - <3 24 0x2 0x0>; /* PC24 periph B */ + <2 24 0x2 0x0>; /* PC24 periph B */ }; pinctrl_usart3_cts: usart3_cts-0 { atmel,pins = - <3 25 0x2 0x0>; /* PC25 periph B */ + <2 25 0x2 0x0>; /* PC25 periph B */ + }; + + pinctrl_usart3_sck: usart3_sck-0 { + atmel,pins = + <2 26 0x2 0x0>; /* PC26 periph B */ }; }; uart0 { pinctrl_uart0: uart0-0 { atmel,pins = - <3 8 0x3 0x0 /* PC8 periph C */ - 3 9 0x3 0x1>; /* PC9 periph C with pullup */ + <2 8 0x3 0x0 /* PC8 periph C */ + 2 9 0x3 0x1>; /* PC9 periph C with pullup */ }; }; uart1 { pinctrl_uart1: uart1-0 { atmel,pins = - <3 16 0x3 0x0 /* PC16 periph C */ - 3 17 0x3 0x1>; /* PC17 periph C with pullup */ + <2 16 0x3 0x0 /* PC16 periph C */ + 2 17 0x3 0x1>; /* PC17 periph C with pullup */ }; }; @@ -247,14 +260,14 @@ pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { atmel,pins = - <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 */ + <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 */ }; }; @@ -290,6 +303,22 @@ }; }; + 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>; @@ -333,6 +362,15 @@ }; }; + 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 fddd17417433..46c098017036 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 3>; - samsung,dw-mshc-ddr-timing = <1 2 3>; + samsung,dw-mshc-sdr-timing = <2 3>; + samsung,dw-mshc-ddr-timing = <1 2>; 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 3>; - samsung,dw-mshc-ddr-timing = <1 2 3>; + samsung,dw-mshc-sdr-timing = <2 3>; + samsung,dw-mshc-ddr-timing = <1 2>; 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 3>; - samsung,dw-mshc-ddr-timing = <1 2 3>; + samsung,dw-mshc-sdr-timing = <2 3>; + samsung,dw-mshc-ddr-timing = <1 2>; slot@0 { reg = <0>; diff --git a/trunk/arch/arm/boot/dts/dbx5x0.dtsi b/trunk/arch/arm/boot/dts/dbx5x0.dtsi index 2efd9c891bc9..63f2fbcfe819 100644 --- a/trunk/arch/arm/boot/dts/dbx5x0.dtsi +++ b/trunk/arch/arm/boot/dts/dbx5x0.dtsi @@ -170,7 +170,9 @@ gpio-bank = <8>; }; - pinctrl { + pinctrl@80157000 { + // This is actually the PRCMU base address + reg = <0x80157000 0x2000>; compatible = "stericsson,nmk_pinctrl"; }; diff --git a/trunk/arch/arm/boot/dts/dove-cubox.dts b/trunk/arch/arm/boot/dts/dove-cubox.dts index fed7d3f9f431..cdee96fca6e2 100644 --- a/trunk/arch/arm/boot/dts/dove-cubox.dts +++ b/trunk/arch/arm/boot/dts/dove-cubox.dts @@ -26,10 +26,15 @@ }; &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"; @@ -42,9 +47,14 @@ }; &pinctrl { - pinctrl-0 = <&pmx_gpio_18>; + pinctrl-0 = <&pmx_gpio_12 &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/dove.dtsi b/trunk/arch/arm/boot/dts/dove.dtsi index f3f7e9d8adca..42eac1ff3cc8 100644 --- a/trunk/arch/arm/boot/dts/dove.dtsi +++ b/trunk/arch/arm/boot/dts/dove.dtsi @@ -117,6 +117,7 @@ pinctrl: pinctrl@d0200 { compatible = "marvell,dove-pinctrl"; reg = <0xd0200 0x10>; + clocks = <&gate_clk 22>; }; spi0: spi@10600 { diff --git a/trunk/arch/arm/boot/dts/ecx-2000.dts b/trunk/arch/arm/boot/dts/ecx-2000.dts index 46477ac1de99..139b40cc3a23 100644 --- a/trunk/arch/arm/boot/dts/ecx-2000.dts +++ b/trunk/arch/arm/boot/dts/ecx-2000.dts @@ -32,6 +32,7 @@ cpu@0 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <0>; clocks = <&a9pll>; clock-names = "cpu"; @@ -39,6 +40,7 @@ cpu@1 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <1>; clocks = <&a9pll>; clock-names = "cpu"; @@ -46,6 +48,7 @@ cpu@2 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <2>; clocks = <&a9pll>; clock-names = "cpu"; @@ -53,6 +56,7 @@ cpu@3 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <3>; clocks = <&a9pll>; clock-names = "cpu"; diff --git a/trunk/arch/arm/boot/dts/exynos4210-smdkv310.dts b/trunk/arch/arm/boot/dts/exynos4210-smdkv310.dts index 9b23a8255e39..f63490707f3a 100644 --- a/trunk/arch/arm/boot/dts/exynos4210-smdkv310.dts +++ b/trunk/arch/arm/boot/dts/exynos4210-smdkv310.dts @@ -26,7 +26,7 @@ }; chosen { - bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; + bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc"; }; sdhci@12530000 { diff --git a/trunk/arch/arm/boot/dts/exynos5250-smdk5250.dts b/trunk/arch/arm/boot/dts/exynos5250-smdk5250.dts index 942d5761ca97..e05b18f3c33d 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 3>; - samsung,dw-mshc-ddr-timing = <1 2 3>; + samsung,dw-mshc-sdr-timing = <2 3>; + samsung,dw-mshc-ddr-timing = <1 2>; 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 3>; - samsung,dw-mshc-ddr-timing = <1 2 3>; + samsung,dw-mshc-sdr-timing = <2 3>; + samsung,dw-mshc-ddr-timing = <1 2>; slot@0 { reg = <0>; diff --git a/trunk/arch/arm/boot/dts/exynos5250.dtsi b/trunk/arch/arm/boot/dts/exynos5250.dtsi index 2e3b6efaf1a2..3acf594ea60b 100644 --- a/trunk/arch/arm/boot/dts/exynos5250.dtsi +++ b/trunk/arch/arm/boot/dts/exynos5250.dtsi @@ -574,7 +574,7 @@ hdmi { compatible = "samsung,exynos5-hdmi"; - reg = <0x14530000 0x100000>; + reg = <0x14530000 0x70000>; interrupts = <0 95 0>; }; diff --git a/trunk/arch/arm/boot/dts/exynos5440-ssdk5440.dts b/trunk/arch/arm/boot/dts/exynos5440-ssdk5440.dts index 921c83cf694f..81e2c964a900 100644 --- a/trunk/arch/arm/boot/dts/exynos5440-ssdk5440.dts +++ b/trunk/arch/arm/boot/dts/exynos5440-ssdk5440.dts @@ -21,7 +21,7 @@ }; chosen { - bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x81000000,8M console=ttySAC2,115200 init=/linuxrc"; + bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x81000000,8M console=ttySAC0,115200 init=/linuxrc"; }; spi { diff --git a/trunk/arch/arm/boot/dts/highbank.dts b/trunk/arch/arm/boot/dts/highbank.dts index a9ae5d32e80d..5927a8df5625 100644 --- a/trunk/arch/arm/boot/dts/highbank.dts +++ b/trunk/arch/arm/boot/dts/highbank.dts @@ -30,33 +30,37 @@ #address-cells = <1>; #size-cells = <0>; - cpu@0 { + cpu@900 { compatible = "arm,cortex-a9"; - reg = <0>; + device_type = "cpu"; + reg = <0x900>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; }; - cpu@1 { + cpu@901 { compatible = "arm,cortex-a9"; - reg = <1>; + device_type = "cpu"; + reg = <0x901>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; }; - cpu@2 { + cpu@902 { compatible = "arm,cortex-a9"; - reg = <2>; + device_type = "cpu"; + reg = <0x902>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; }; - cpu@3 { + cpu@903 { compatible = "arm,cortex-a9"; - reg = <3>; + device_type = "cpu"; + reg = <0x903>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; diff --git a/trunk/arch/arm/boot/dts/imx23-olinuxino.dts b/trunk/arch/arm/boot/dts/imx23-olinuxino.dts index 7c43b8e70b9f..e7484e4ea659 100644 --- a/trunk/arch/arm/boot/dts/imx23-olinuxino.dts +++ b/trunk/arch/arm/boot/dts/imx23-olinuxino.dts @@ -39,17 +39,17 @@ hog_pins_a: hog@0 { reg = <0>; fsl,pinmux-ids = < - 0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */ + 0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; - led_pin_gpio0_17: led_gpio0_17@0 { + led_pin_gpio2_1: led_gpio2_1@0 { reg = <0>; fsl,pinmux-ids = < - 0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */ + 0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; @@ -110,7 +110,7 @@ leds { compatible = "gpio-leds"; pinctrl-names = "default"; - pinctrl-0 = <&led_pin_gpio0_17>; + pinctrl-0 = <&led_pin_gpio2_1>; user { label = "green"; diff --git a/trunk/arch/arm/boot/dts/imx27-3ds.dts b/trunk/arch/arm/boot/dts/imx27-3ds.dts index b01c0d745fc5..fa04c7b18bcb 100644 --- a/trunk/arch/arm/boot/dts/imx27-3ds.dts +++ b/trunk/arch/arm/boot/dts/imx27-3ds.dts @@ -21,17 +21,17 @@ }; soc { - aipi@10000000 { /* aipi */ - + aipi@10000000 { /* aipi1 */ uart1: serial@1000a000 { fsl,uart-has-rtscts; status = "okay"; }; + }; - fec@1002b000 { + aipi@10020000 { /* aipi2 */ + ethernet@1002b000 { status = "okay"; }; }; }; - }; diff --git a/trunk/arch/arm/boot/dts/imx27-phytec-phycore.dts b/trunk/arch/arm/boot/dts/imx27-phytec-phycore.dts index af50469e34b2..53b0ec0c228e 100644 --- a/trunk/arch/arm/boot/dts/imx27-phytec-phycore.dts +++ b/trunk/arch/arm/boot/dts/imx27-phytec-phycore.dts @@ -21,8 +21,7 @@ }; soc { - aipi@10000000 { /* aipi */ - + aipi@10000000 { /* aipi1 */ serial@1000a000 { fsl,uart-has-rtscts; status = "okay"; @@ -38,10 +37,6 @@ status = "okay"; }; - ethernet@1002b000 { - status = "okay"; - }; - i2c@1001d000 { clock-frequency = <400000>; status = "okay"; @@ -60,6 +55,12 @@ }; }; }; + + aipi@10020000 { /* aipi2 */ + ethernet@1002b000 { + status = "okay"; + }; + }; }; nor_flash@c0000000 { diff --git a/trunk/arch/arm/boot/dts/imx27.dtsi b/trunk/arch/arm/boot/dts/imx27.dtsi index b8d3905915ac..5a82cb5707a8 100644 --- a/trunk/arch/arm/boot/dts/imx27.dtsi +++ b/trunk/arch/arm/boot/dts/imx27.dtsi @@ -55,7 +55,7 @@ compatible = "fsl,aipi-bus", "simple-bus"; #address-cells = <1>; #size-cells = <1>; - reg = <0x10000000 0x10000000>; + reg = <0x10000000 0x20000>; ranges; wdog: wdog@10002000 { @@ -211,6 +211,15 @@ status = "disabled"; }; + }; + + aipi@10020000 { /* AIPI2 */ + compatible = "fsl,aipi-bus", "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x10020000 0x20000>; + ranges; + fec: ethernet@1002b000 { compatible = "fsl,imx27-fec"; reg = <0x1002b000 0x4000>; diff --git a/trunk/arch/arm/boot/dts/imx31-bug.dts b/trunk/arch/arm/boot/dts/imx31-bug.dts index 24731cb78e8e..7f67402328d3 100644 --- a/trunk/arch/arm/boot/dts/imx31-bug.dts +++ b/trunk/arch/arm/boot/dts/imx31-bug.dts @@ -14,7 +14,7 @@ / { model = "Buglabs i.MX31 Bug 1.x"; - compatible = "fsl,imx31-bug", "fsl,imx31"; + compatible = "buglabs,imx31-bug", "fsl,imx31"; memory { reg = <0x80000000 0x8000000>; /* 128M */ diff --git a/trunk/arch/arm/boot/dts/imx53.dtsi b/trunk/arch/arm/boot/dts/imx53.dtsi index 552aed4ff982..edc3f1eb6699 100644 --- a/trunk/arch/arm/boot/dts/imx53.dtsi +++ b/trunk/arch/arm/boot/dts/imx53.dtsi @@ -492,7 +492,7 @@ compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan"; reg = <0x53fcc000 0x4000>; interrupts = <83>; - clocks = <&clks 158>, <&clks 157>; + clocks = <&clks 87>, <&clks 86>; clock-names = "ipg", "per"; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi b/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi index 9ae2004d5675..4ccea2130a6c 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi @@ -39,6 +39,7 @@ #size-cells = <0>; interrupts = <32>; clock-frequency = <100000>; + clocks = <&gate_clk 7>; status = "disabled"; }; }; diff --git a/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi index 9bc6785ad228..77d21abfcdf7 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood-ns2-common.dtsi @@ -1,4 +1,5 @@ /include/ "kirkwood.dtsi" +/include/ "kirkwood-6281.dtsi" / { chosen { @@ -6,6 +7,21 @@ }; 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-topkick.dts b/trunk/arch/arm/boot/dts/kirkwood-topkick.dts index c0de5a7f660d..cd15452a52a6 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-topkick.dts +++ b/trunk/arch/arm/boot/dts/kirkwood-topkick.dts @@ -82,4 +82,21 @@ gpios = <&gpio1 16 1>; }; }; + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + sata0_power: regulator@1 { + compatible = "regulator-fixed"; + reg = <1>; + regulator-name = "SATA0 Power"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + regulator-always-on; + regulator-boot-on; + gpio = <&gpio1 4 0>; + }; + }; }; diff --git a/trunk/arch/arm/boot/dts/kirkwood.dtsi b/trunk/arch/arm/boot/dts/kirkwood.dtsi index 7735cee4a9c6..d6ab442b7011 100644 --- a/trunk/arch/arm/boot/dts/kirkwood.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood.dtsi @@ -36,6 +36,7 @@ reg = <0x10100 0x40>; ngpios = <32>; interrupt-controller; + #interrupt-cells = <2>; interrupts = <35>, <36>, <37>, <38>; }; @@ -46,6 +47,7 @@ reg = <0x10140 0x40>; ngpios = <18>; interrupt-controller; + #interrupt-cells = <2>; interrupts = <39>, <40>, <41>; }; @@ -144,6 +146,7 @@ compatible = "marvell,orion-ehci"; reg = <0x50000 0x1000>; interrupts = <19>; + clocks = <&gate_clk 3>; status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/kizbox.dts b/trunk/arch/arm/boot/dts/kizbox.dts index e8814fe0e277..b4dc3ed9a3ec 100644 --- a/trunk/arch/arm/boot/dts/kizbox.dts +++ b/trunk/arch/arm/boot/dts/kizbox.dts @@ -48,6 +48,8 @@ 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/omap2420-h4.dts b/trunk/arch/arm/boot/dts/omap2420-h4.dts index 77b84e17c477..9b0d07746cba 100644 --- a/trunk/arch/arm/boot/dts/omap2420-h4.dts +++ b/trunk/arch/arm/boot/dts/omap2420-h4.dts @@ -15,6 +15,6 @@ memory { device_type = "memory"; - reg = <0x80000000 0x84000000>; /* 64 MB */ + reg = <0x80000000 0x4000000>; /* 64 MB */ }; }; diff --git a/trunk/arch/arm/boot/dts/spear13xx.dtsi b/trunk/arch/arm/boot/dts/spear13xx.dtsi index 009096d1d2c3..b4ca60f4eb42 100644 --- a/trunk/arch/arm/boot/dts/spear13xx.dtsi +++ b/trunk/arch/arm/boot/dts/spear13xx.dtsi @@ -73,7 +73,7 @@ 400000 500000 600000 >; - status = "disable"; + status = "disabled"; }; ahb { @@ -118,15 +118,15 @@ compatible = "st,spear600-fsmc-nand"; #address-cells = <1>; #size-cells = <1>; - reg = <0xb0000000 0x1000 /* FSMC Register */ - 0xb0800000 0x0010>; /* NAND Base */ - reg-names = "fsmc_regs", "nand_data"; + reg = <0xb0000000 0x1000 /* FSMC Register*/ + 0xb0800000 0x0010 /* NAND Base DATA */ + 0xb0820000 0x0010 /* NAND Base ADDR */ + 0xb0810000 0x0010>; /* NAND Base CMD */ + reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; interrupts = <0 20 0x4 0 21 0x4 0 22 0x4 0 23 0x4>; - st,ale-off = <0x20000>; - st,cle-off = <0x10000>; st,mode = <2>; status = "disabled"; }; @@ -144,7 +144,7 @@ compatible = "st,pcm-audio"; #address-cells = <0>; #size-cells = <0>; - status = "disable"; + status = "disabled"; }; smi: flash@ea000000 { diff --git a/trunk/arch/arm/boot/dts/spear300.dtsi b/trunk/arch/arm/boot/dts/spear300.dtsi index 090adc656015..f79b3dfaabe6 100644 --- a/trunk/arch/arm/boot/dts/spear300.dtsi +++ b/trunk/arch/arm/boot/dts/spear300.dtsi @@ -38,10 +38,10 @@ #address-cells = <1>; #size-cells = <1>; reg = <0x94000000 0x1000 /* FSMC Register */ - 0x80000000 0x0010>; /* NAND Base */ - reg-names = "fsmc_regs", "nand_data"; - st,ale-off = <0x20000>; - st,cle-off = <0x10000>; + 0x80000000 0x0010 /* NAND Base DATA */ + 0x80020000 0x0010 /* NAND Base ADDR */ + 0x80010000 0x0010>; /* NAND Base CMD */ + reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/spear310.dtsi b/trunk/arch/arm/boot/dts/spear310.dtsi index e814e5e97083..ab45b8c81982 100644 --- a/trunk/arch/arm/boot/dts/spear310.dtsi +++ b/trunk/arch/arm/boot/dts/spear310.dtsi @@ -33,10 +33,10 @@ #address-cells = <1>; #size-cells = <1>; reg = <0x44000000 0x1000 /* FSMC Register */ - 0x40000000 0x0010>; /* NAND Base */ - reg-names = "fsmc_regs", "nand_data"; - st,ale-off = <0x10000>; - st,cle-off = <0x20000>; + 0x40000000 0x0010 /* NAND Base DATA */ + 0x40020000 0x0010 /* NAND Base ADDR */ + 0x40010000 0x0010>; /* NAND Base CMD */ + reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/spear320.dtsi b/trunk/arch/arm/boot/dts/spear320.dtsi index c056a84deabf..caa5520b1fd4 100644 --- a/trunk/arch/arm/boot/dts/spear320.dtsi +++ b/trunk/arch/arm/boot/dts/spear320.dtsi @@ -40,10 +40,10 @@ #address-cells = <1>; #size-cells = <1>; reg = <0x4c000000 0x1000 /* FSMC Register */ - 0x50000000 0x0010>; /* NAND Base */ - reg-names = "fsmc_regs", "nand_data"; - st,ale-off = <0x20000>; - st,cle-off = <0x10000>; + 0x50000000 0x0010 /* NAND Base DATA */ + 0x50020000 0x0010 /* NAND Base ADDR */ + 0x50010000 0x0010>; /* NAND Base CMD */ + reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/spear600.dtsi b/trunk/arch/arm/boot/dts/spear600.dtsi index e051dde5181f..19f99dc4115e 100644 --- a/trunk/arch/arm/boot/dts/spear600.dtsi +++ b/trunk/arch/arm/boot/dts/spear600.dtsi @@ -76,10 +76,10 @@ #address-cells = <1>; #size-cells = <1>; reg = <0xd1800000 0x1000 /* FSMC Register */ - 0xd2000000 0x4000>; /* NAND Base */ - reg-names = "fsmc_regs", "nand_data"; - st,ale-off = <0x20000>; - st,cle-off = <0x10000>; + 0xd2000000 0x0010 /* NAND Base DATA */ + 0xd2020000 0x0010 /* NAND Base ADDR */ + 0xd2010000 0x0010>; /* NAND Base CMD */ + reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/sun4i-cubieboard.dts b/trunk/arch/arm/boot/dts/sun4i-a10-cubieboard.dts similarity index 87% rename from trunk/arch/arm/boot/dts/sun4i-cubieboard.dts rename to trunk/arch/arm/boot/dts/sun4i-a10-cubieboard.dts index f4ca126ad994..5cab82540437 100644 --- a/trunk/arch/arm/boot/dts/sun4i-cubieboard.dts +++ b/trunk/arch/arm/boot/dts/sun4i-a10-cubieboard.dts @@ -11,11 +11,11 @@ */ /dts-v1/; -/include/ "sun4i.dtsi" +/include/ "sun4i-a10.dtsi" / { model = "Cubietech Cubieboard"; - compatible = "cubietech,cubieboard", "allwinner,sun4i"; + compatible = "cubietech,a10-cubieboard", "allwinner,sun4i-a10"; aliases { serial0 = &uart0; diff --git a/trunk/arch/arm/boot/dts/sun4i.dtsi b/trunk/arch/arm/boot/dts/sun4i-a10.dtsi similarity index 100% rename from trunk/arch/arm/boot/dts/sun4i.dtsi rename to trunk/arch/arm/boot/dts/sun4i-a10.dtsi diff --git a/trunk/arch/arm/boot/dts/sun5i-olinuxino.dts b/trunk/arch/arm/boot/dts/sun5i-a13-olinuxino.dts similarity index 86% rename from trunk/arch/arm/boot/dts/sun5i-olinuxino.dts rename to trunk/arch/arm/boot/dts/sun5i-a13-olinuxino.dts index d6ff889a5d87..498a091a4ea2 100644 --- a/trunk/arch/arm/boot/dts/sun5i-olinuxino.dts +++ b/trunk/arch/arm/boot/dts/sun5i-a13-olinuxino.dts @@ -12,11 +12,11 @@ */ /dts-v1/; -/include/ "sun5i.dtsi" +/include/ "sun5i-a13.dtsi" / { model = "Olimex A13-Olinuxino"; - compatible = "olimex,a13-olinuxino", "allwinner,sun5i"; + compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13"; chosen { bootargs = "earlyprintk console=ttyS0,115200"; diff --git a/trunk/arch/arm/boot/dts/sun5i.dtsi b/trunk/arch/arm/boot/dts/sun5i-a13.dtsi similarity index 100% rename from trunk/arch/arm/boot/dts/sun5i.dtsi rename to trunk/arch/arm/boot/dts/sun5i-a13.dtsi diff --git a/trunk/arch/arm/boot/dts/sunxi.dtsi b/trunk/arch/arm/boot/dts/sunxi.dtsi index 8bbc2bfef221..8b36abea9f2e 100644 --- a/trunk/arch/arm/boot/dts/sunxi.dtsi +++ b/trunk/arch/arm/boot/dts/sunxi.dtsi @@ -60,19 +60,21 @@ }; uart0: uart@01c28000 { - compatible = "ns8250"; + compatible = "snps,dw-apb-uart"; reg = <0x01c28000 0x400>; interrupts = <1>; reg-shift = <2>; + reg-io-width = <4>; clock-frequency = <24000000>; status = "disabled"; }; uart1: uart@01c28400 { - compatible = "ns8250"; + compatible = "snps,dw-apb-uart"; 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/twl4030.dtsi b/trunk/arch/arm/boot/dts/twl4030.dtsi index 63411b036932..ed0bc9546837 100644 --- a/trunk/arch/arm/boot/dts/twl4030.dtsi +++ b/trunk/arch/arm/boot/dts/twl4030.dtsi @@ -19,6 +19,10 @@ interrupts = <11>; }; + watchdog { + compatible = "ti,twl4030-wdt"; + }; + vdac: regulator-vdac { compatible = "ti,twl4030-vdac"; regulator-min-microvolt = <1800000>; 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 1fc405a9ecfb..cf8071ad22d5 100644 --- a/trunk/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +++ b/trunk/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts @@ -45,7 +45,6 @@ reg = <1>; }; -/* A7s disabled till big.LITTLE patches are available... cpu2: cpu@2 { device_type = "cpu"; compatible = "arm,cortex-a7"; @@ -63,7 +62,6 @@ compatible = "arm,cortex-a7"; reg = <0x102>; }; -*/ }; memory@80000000 { diff --git a/trunk/arch/arm/common/sa1111.c b/trunk/arch/arm/common/sa1111.c index 9173d112ea01..e57d7e5bf96a 100644 --- a/trunk/arch/arm/common/sa1111.c +++ b/trunk/arch/arm/common/sa1111.c @@ -686,8 +686,7 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent, * %-EINVAL no platform data passed * %0 successful. */ -static int __devinit -__sa1111_probe(struct device *me, struct resource *mem, int irq) +static int __sa1111_probe(struct device *me, struct resource *mem, int irq) { struct sa1111_platform_data *pd = me->platform_data; struct sa1111 *sachip; @@ -1011,7 +1010,7 @@ static int sa1111_resume(struct platform_device *dev) #define sa1111_resume NULL #endif -static int __devinit sa1111_probe(struct platform_device *pdev) +static int sa1111_probe(struct platform_device *pdev) { struct resource *mem; int irq; diff --git a/trunk/arch/arm/common/scoop.c b/trunk/arch/arm/common/scoop.c index 0c616d5fcb0f..a5c3dc38aa18 100644 --- a/trunk/arch/arm/common/scoop.c +++ b/trunk/arch/arm/common/scoop.c @@ -176,7 +176,7 @@ static int scoop_resume(struct platform_device *dev) #define scoop_resume NULL #endif -static int __devinit scoop_probe(struct platform_device *pdev) +static int scoop_probe(struct platform_device *pdev) { struct scoop_dev *devptr; struct scoop_config *inf; @@ -243,7 +243,7 @@ static int __devinit scoop_probe(struct platform_device *pdev) return ret; } -static int __devexit scoop_remove(struct platform_device *pdev) +static int scoop_remove(struct platform_device *pdev) { struct scoop_dev *sdev = platform_get_drvdata(pdev); int ret; @@ -268,7 +268,7 @@ static int __devexit scoop_remove(struct platform_device *pdev) static struct platform_driver scoop_driver = { .probe = scoop_probe, - .remove = __devexit_p(scoop_remove), + .remove = scoop_remove, .suspend = scoop_suspend, .resume = scoop_resume, .driver = { diff --git a/trunk/arch/arm/common/vic.c b/trunk/arch/arm/common/vic.c index e4df17ca90c7..8f324b99416e 100644 --- a/trunk/arch/arm/common/vic.c +++ b/trunk/arch/arm/common/vic.c @@ -206,6 +206,7 @@ static void __init vic_register(void __iomem *base, unsigned int irq, struct device_node *node) { struct vic_device *v; + int i; if (vic_id >= ARRAY_SIZE(vic_devices)) { printk(KERN_ERR "%s: too few VICs, increase CONFIG_ARM_VIC_NR\n", __func__); @@ -220,6 +221,10 @@ static void __init vic_register(void __iomem *base, unsigned int irq, vic_id++; v->domain = irq_domain_add_simple(node, fls(valid_sources), irq, &vic_irqdomain_ops, v); + /* create an IRQ mapping for each valid IRQ */ + for (i = 0; i < fls(valid_sources); i++) + if (valid_sources & (1 << i)) + irq_create_mapping(v->domain, i); } static void vic_ack_irq(struct irq_data *d) @@ -416,9 +421,9 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent) return -EIO; /* - * Passing -1 as first IRQ makes the simple domain allocate descriptors + * Passing 0 as first IRQ makes the simple domain allocate descriptors */ - __vic_init(regs, -1, ~0, ~0, node); + __vic_init(regs, 0, ~0, ~0, node); return 0; } diff --git a/trunk/arch/arm/configs/at91_dt_defconfig b/trunk/arch/arm/configs/at91_dt_defconfig index b175577d7abb..1ea959019fcd 100644 --- a/trunk/arch/arm/configs/at91_dt_defconfig +++ b/trunk/arch/arm/configs/at91_dt_defconfig @@ -19,6 +19,7 @@ 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 @@ -31,7 +32,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y -CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw" +CONFIG_CMDLINE="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/multi_v7_defconfig b/trunk/arch/arm/configs/multi_v7_defconfig index dbea6f4efe9f..2eeff1e64b6e 100644 --- a/trunk/arch/arm/configs/multi_v7_defconfig +++ b/trunk/arch/arm/configs/multi_v7_defconfig @@ -6,6 +6,7 @@ CONFIG_MACH_ARMADA_370=y CONFIG_MACH_ARMADA_XP=y CONFIG_ARCH_HIGHBANK=y CONFIG_ARCH_SOCFPGA=y +CONFIG_ARCH_SUNXI=y # CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA is not set CONFIG_ARM_ERRATA_754322=y CONFIG_SMP=y diff --git a/trunk/arch/arm/configs/mvebu_defconfig b/trunk/arch/arm/configs/mvebu_defconfig index a702fb345c01..b5bc96cb65a7 100644 --- a/trunk/arch/arm/configs/mvebu_defconfig +++ b/trunk/arch/arm/configs/mvebu_defconfig @@ -33,9 +33,7 @@ CONFIG_MVNETA=y CONFIG_MARVELL_PHY=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_I2C=y -CONFIG_I2C_MV64XXX=y +CONFIG_SERIAL_8250_DW=y CONFIG_GPIOLIB=y CONFIG_GPIO_SYSFS=y # CONFIG_USB_SUPPORT is not set diff --git a/trunk/arch/arm/configs/nhk8815_defconfig b/trunk/arch/arm/configs/nhk8815_defconfig index 240b25eea565..86cfd2959c47 100644 --- a/trunk/arch/arm/configs/nhk8815_defconfig +++ b/trunk/arch/arm/configs/nhk8815_defconfig @@ -57,7 +57,7 @@ CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_NAND=y CONFIG_MTD_NAND_ECC_SMC=y -CONFIG_MTD_NAND_NOMADIK=y +CONFIG_MTD_NAND_FSMC=y CONFIG_MTD_ONENAND=y CONFIG_MTD_ONENAND_VERIFY_WRITE=y CONFIG_MTD_ONENAND_GENERIC=y diff --git a/trunk/arch/arm/configs/omap2plus_defconfig b/trunk/arch/arm/configs/omap2plus_defconfig index a1dc5c071e71..82ce8d738fa1 100644 --- a/trunk/arch/arm/configs/omap2plus_defconfig +++ b/trunk/arch/arm/configs/omap2plus_defconfig @@ -65,6 +65,8 @@ CONFIG_MAC80211_RC_PID=y CONFIG_MAC80211_RC_DEFAULT_PID=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_CONNECTOR=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y CONFIG_MTD=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y @@ -132,9 +134,11 @@ CONFIG_POWER_SUPPLY=y CONFIG_WATCHDOG=y CONFIG_OMAP_WATCHDOG=y CONFIG_TWL4030_WATCHDOG=y +CONFIG_MFD_TPS65217=y CONFIG_REGULATOR_TWL4030=y CONFIG_REGULATOR_TPS65023=y CONFIG_REGULATOR_TPS6507X=y +CONFIG_REGULATOR_TPS65217=y CONFIG_FB=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_MODE_HELPERS=y @@ -170,6 +174,7 @@ CONFIG_SND_DEBUG=y CONFIG_SND_USB_AUDIO=m CONFIG_SND_SOC=m CONFIG_SND_OMAP_SOC=m +CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m CONFIG_USB=y CONFIG_USB_DEBUG=y diff --git a/trunk/arch/arm/include/asm/dma-mapping.h b/trunk/arch/arm/include/asm/dma-mapping.h index 67d06324e74a..5b579b951503 100644 --- a/trunk/arch/arm/include/asm/dma-mapping.h +++ b/trunk/arch/arm/include/asm/dma-mapping.h @@ -91,6 +91,7 @@ static inline dma_addr_t virt_to_dma(struct device *dev, void *addr) */ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) { + debug_dma_mapping_error(dev, dma_addr); return dma_addr == DMA_ERROR_CODE; } diff --git a/trunk/arch/arm/include/asm/unistd.h b/trunk/arch/arm/include/asm/unistd.h index 7cd13cc62624..21a2700d2957 100644 --- a/trunk/arch/arm/include/asm/unistd.h +++ b/trunk/arch/arm/include/asm/unistd.h @@ -41,7 +41,6 @@ #define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_SYS_SOCKETCALL #endif -#define __ARCH_WANT_SYS_EXECVE #define __ARCH_WANT_SYS_FORK #define __ARCH_WANT_SYS_VFORK #define __ARCH_WANT_SYS_CLONE diff --git a/trunk/arch/arm/include/uapi/asm/signal.h b/trunk/arch/arm/include/uapi/asm/signal.h index 921c57fdc52e..33073bdcf091 100644 --- a/trunk/arch/arm/include/uapi/asm/signal.h +++ b/trunk/arch/arm/include/uapi/asm/signal.h @@ -87,13 +87,6 @@ typedef unsigned long sigset_t; #define SA_NOMASK SA_NODEFER #define SA_ONESHOT SA_RESETHAND - -/* - * sigaltstack controls - */ -#define SS_ONSTACK 1 -#define SS_DISABLE 2 - #define MINSIGSTKSZ 2048 #define SIGSTKSZ 8192 diff --git a/trunk/arch/arm/kernel/bios32.c b/trunk/arch/arm/kernel/bios32.c index 9b722612553d..379cf3292390 100644 --- a/trunk/arch/arm/kernel/bios32.c +++ b/trunk/arch/arm/kernel/bios32.c @@ -78,7 +78,7 @@ void pcibios_report_status(u_int status_mask, int warn) * Bug 3 is responsible for the sound DMA grinding to a halt. We now * live with bug 2. */ -static void __devinit pci_fixup_83c553(struct pci_dev *dev) +static void pci_fixup_83c553(struct pci_dev *dev) { /* * Set memory region to start at address 0, and enable IO @@ -130,7 +130,7 @@ static void __devinit pci_fixup_83c553(struct pci_dev *dev) } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_83C553, pci_fixup_83c553); -static void __devinit pci_fixup_unassign(struct pci_dev *dev) +static void pci_fixup_unassign(struct pci_dev *dev) { dev->resource[0].end -= dev->resource[0].start; dev->resource[0].start = 0; @@ -142,7 +142,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F, * if it is the host bridge by marking it as such. These resources are of * no consequence to the PCI layer (they are handled elsewhere). */ -static void __devinit pci_fixup_dec21285(struct pci_dev *dev) +static void pci_fixup_dec21285(struct pci_dev *dev) { int i; @@ -161,7 +161,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d /* * PCI IDE controllers use non-standard I/O port decoding, respect it. */ -static void __devinit pci_fixup_ide_bases(struct pci_dev *dev) +static void pci_fixup_ide_bases(struct pci_dev *dev) { struct resource *r; int i; @@ -182,7 +182,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_ide_bases); /* * Put the DEC21142 to sleep */ -static void __devinit pci_fixup_dec21142(struct pci_dev *dev) +static void pci_fixup_dec21142(struct pci_dev *dev) { pci_write_config_dword(dev, 0x40, 0x80000000); } @@ -204,7 +204,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, pci_fixup_d * functional. However, The CY82C693U _does not work_ in bus * master mode without locking the PCI bus solid. */ -static void __devinit pci_fixup_cy82c693(struct pci_dev *dev) +static void pci_fixup_cy82c693(struct pci_dev *dev) { if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE) { u32 base0, base1; @@ -254,7 +254,7 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev) } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693); -static void __devinit pci_fixup_it8152(struct pci_dev *dev) +static void pci_fixup_it8152(struct pci_dev *dev) { int i; /* fixup for ITE 8152 devices */ @@ -361,9 +361,7 @@ void pcibios_fixup_bus(struct pci_bus *bus) printk(KERN_INFO "PCI: bus%d: Fast back to back transfers %sabled\n", bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis"); } -#ifdef CONFIG_HOTPLUG EXPORT_SYMBOL(pcibios_fixup_bus); -#endif /* * Swizzle the device pin each time we cross a bridge. If a platform does @@ -380,7 +378,7 @@ EXPORT_SYMBOL(pcibios_fixup_bus); * PCI standard swizzle is implemented on plug-in cards and Cardbus based * PCI extenders, so it can not be ignored. */ -static u8 __devinit pcibios_swizzle(struct pci_dev *dev, u8 *pin) +static u8 pcibios_swizzle(struct pci_dev *dev, u8 *pin) { struct pci_sys_data *sys = dev->sysdata; int slot, oldpin = *pin; diff --git a/trunk/arch/arm/kernel/debug.S b/trunk/arch/arm/kernel/debug.S index 6809200c31fb..14f7c3b14632 100644 --- a/trunk/arch/arm/kernel/debug.S +++ b/trunk/arch/arm/kernel/debug.S @@ -100,12 +100,14 @@ 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/etm.c b/trunk/arch/arm/kernel/etm.c index 36d20bd50120..9b6de8c988f3 100644 --- a/trunk/arch/arm/kernel/etm.c +++ b/trunk/arch/arm/kernel/etm.c @@ -339,7 +339,7 @@ static struct miscdevice etb_miscdev = { .fops = &etb_fops, }; -static int __devinit etb_probe(struct amba_device *dev, const struct amba_id *id) +static int etb_probe(struct amba_device *dev, const struct amba_id *id) { struct tracectx *t = &tracer; int ret = 0; @@ -531,7 +531,7 @@ static ssize_t trace_mode_store(struct kobject *kobj, static struct kobj_attribute trace_mode_attr = __ATTR(trace_mode, 0644, trace_mode_show, trace_mode_store); -static int __devinit etm_probe(struct amba_device *dev, const struct amba_id *id) +static int etm_probe(struct amba_device *dev, const struct amba_id *id) { struct tracectx *t = &tracer; int ret = 0; diff --git a/trunk/arch/arm/kernel/head.S b/trunk/arch/arm/kernel/head.S index 4eee351f4668..486a15ae9011 100644 --- a/trunk/arch/arm/kernel/head.S +++ b/trunk/arch/arm/kernel/head.S @@ -246,6 +246,7 @@ __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 @@ -253,6 +254,8 @@ __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 @@ -331,7 +334,7 @@ ENTRY(secondary_startup) * as it has already been validated by the primary processor. */ #ifdef CONFIG_ARM_VIRT_EXT - bl __hyp_stub_install + bl __hyp_stub_install_secondary #endif safe_svcmode_maskall r9 diff --git a/trunk/arch/arm/kernel/hyp-stub.S b/trunk/arch/arm/kernel/hyp-stub.S index 65b2417aebce..1315c4ccfa56 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 - bxne lr + movne pc, 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 - bxne lr @ give up if the CPU is not in HYP mode + movne pc, lr @ give up if the CPU is not in HYP mode /* * Configure HSCTLR to set correct exception endianness/instruction set @@ -120,7 +120,8 @@ 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. + * various coprocessor accesses. This is done when we switch to SVC + * (see safe_svcmode_maskall). */ @ Now install the hypervisor stub: adr r7, __hyp_stub_vectors @@ -155,14 +156,7 @@ THUMB( orr r7, #(1 << 30) ) @ HSCTLR.TE 1: #endif - 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. + bx lr @ The boot CPU mode is left in r4. ENDPROC(__hyp_stub_install_secondary) __hyp_stub_do_trap: @@ -200,7 +194,7 @@ ENDPROC(__hyp_get_vectors) @ fall through ENTRY(__hyp_set_vectors) __HVC(0) - bx lr + mov pc, lr ENDPROC(__hyp_set_vectors) #ifndef ZIMAGE diff --git a/trunk/arch/arm/kernel/perf_event_cpu.c b/trunk/arch/arm/kernel/perf_event_cpu.c index 9a4f6307a016..5f6620684e25 100644 --- a/trunk/arch/arm/kernel/perf_event_cpu.c +++ b/trunk/arch/arm/kernel/perf_event_cpu.c @@ -132,7 +132,7 @@ static int cpu_pmu_request_irq(struct arm_pmu *cpu_pmu, irq_handler_t handler) return 0; } -static void __devinit cpu_pmu_init(struct arm_pmu *cpu_pmu) +static void cpu_pmu_init(struct arm_pmu *cpu_pmu) { int cpu; for_each_possible_cpu(cpu) { @@ -178,7 +178,7 @@ static struct notifier_block __cpuinitdata cpu_pmu_hotplug_notifier = { /* * PMU platform driver and devicetree bindings. */ -static struct of_device_id __devinitdata cpu_pmu_of_device_ids[] = { +static struct of_device_id cpu_pmu_of_device_ids[] = { {.compatible = "arm,cortex-a15-pmu", .data = armv7_a15_pmu_init}, {.compatible = "arm,cortex-a9-pmu", .data = armv7_a9_pmu_init}, {.compatible = "arm,cortex-a8-pmu", .data = armv7_a8_pmu_init}, @@ -190,7 +190,7 @@ static struct of_device_id __devinitdata cpu_pmu_of_device_ids[] = { {}, }; -static struct platform_device_id __devinitdata cpu_pmu_plat_device_ids[] = { +static struct platform_device_id cpu_pmu_plat_device_ids[] = { {.name = "arm-pmu"}, {}, }; @@ -198,7 +198,7 @@ static struct platform_device_id __devinitdata cpu_pmu_plat_device_ids[] = { /* * CPU PMU identification and probing. */ -static int __devinit probe_current_pmu(struct arm_pmu *pmu) +static int probe_current_pmu(struct arm_pmu *pmu) { int cpu = get_cpu(); unsigned long cpuid = read_cpuid_id(); @@ -252,7 +252,7 @@ static int __devinit probe_current_pmu(struct arm_pmu *pmu) return ret; } -static int __devinit cpu_pmu_device_probe(struct platform_device *pdev) +static int cpu_pmu_device_probe(struct platform_device *pdev) { const struct of_device_id *of_id; int (*init_fn)(struct arm_pmu *); diff --git a/trunk/arch/arm/kernel/perf_event_v6.c b/trunk/arch/arm/kernel/perf_event_v6.c index f3e22ff8b6a2..041d0526a288 100644 --- a/trunk/arch/arm/kernel/perf_event_v6.c +++ b/trunk/arch/arm/kernel/perf_event_v6.c @@ -653,7 +653,7 @@ static int armv6_map_event(struct perf_event *event) &armv6_perf_cache_map, 0xFF); } -static int __devinit armv6pmu_init(struct arm_pmu *cpu_pmu) +static int armv6pmu_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name = "v6"; cpu_pmu->handle_irq = armv6pmu_handle_irq; @@ -685,7 +685,7 @@ static int armv6mpcore_map_event(struct perf_event *event) &armv6mpcore_perf_cache_map, 0xFF); } -static int __devinit armv6mpcore_pmu_init(struct arm_pmu *cpu_pmu) +static int armv6mpcore_pmu_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name = "v6mpcore"; cpu_pmu->handle_irq = armv6pmu_handle_irq; diff --git a/trunk/arch/arm/kernel/perf_event_v7.c b/trunk/arch/arm/kernel/perf_event_v7.c index 7d0cce85d17e..4fbc757d9cff 100644 --- a/trunk/arch/arm/kernel/perf_event_v7.c +++ b/trunk/arch/arm/kernel/perf_event_v7.c @@ -1226,7 +1226,7 @@ static void armv7pmu_init(struct arm_pmu *cpu_pmu) cpu_pmu->max_period = (1LLU << 32) - 1; }; -static u32 __devinit armv7_read_num_pmnc_events(void) +static u32 armv7_read_num_pmnc_events(void) { u32 nb_cnt; @@ -1237,7 +1237,7 @@ static u32 __devinit armv7_read_num_pmnc_events(void) return nb_cnt + 1; } -static int __devinit armv7_a8_pmu_init(struct arm_pmu *cpu_pmu) +static int armv7_a8_pmu_init(struct arm_pmu *cpu_pmu) { armv7pmu_init(cpu_pmu); cpu_pmu->name = "ARMv7 Cortex-A8"; @@ -1246,7 +1246,7 @@ static int __devinit armv7_a8_pmu_init(struct arm_pmu *cpu_pmu) return 0; } -static int __devinit armv7_a9_pmu_init(struct arm_pmu *cpu_pmu) +static int armv7_a9_pmu_init(struct arm_pmu *cpu_pmu) { armv7pmu_init(cpu_pmu); cpu_pmu->name = "ARMv7 Cortex-A9"; @@ -1255,7 +1255,7 @@ static int __devinit armv7_a9_pmu_init(struct arm_pmu *cpu_pmu) return 0; } -static int __devinit armv7_a5_pmu_init(struct arm_pmu *cpu_pmu) +static int armv7_a5_pmu_init(struct arm_pmu *cpu_pmu) { armv7pmu_init(cpu_pmu); cpu_pmu->name = "ARMv7 Cortex-A5"; @@ -1264,7 +1264,7 @@ static int __devinit armv7_a5_pmu_init(struct arm_pmu *cpu_pmu) return 0; } -static int __devinit armv7_a15_pmu_init(struct arm_pmu *cpu_pmu) +static int armv7_a15_pmu_init(struct arm_pmu *cpu_pmu) { armv7pmu_init(cpu_pmu); cpu_pmu->name = "ARMv7 Cortex-A15"; @@ -1274,7 +1274,7 @@ static int __devinit armv7_a15_pmu_init(struct arm_pmu *cpu_pmu) return 0; } -static int __devinit armv7_a7_pmu_init(struct arm_pmu *cpu_pmu) +static int armv7_a7_pmu_init(struct arm_pmu *cpu_pmu) { armv7pmu_init(cpu_pmu); cpu_pmu->name = "ARMv7 Cortex-A7"; diff --git a/trunk/arch/arm/kernel/perf_event_xscale.c b/trunk/arch/arm/kernel/perf_event_xscale.c index 0c8265e53d5f..2b0fe30ec12e 100644 --- a/trunk/arch/arm/kernel/perf_event_xscale.c +++ b/trunk/arch/arm/kernel/perf_event_xscale.c @@ -440,7 +440,7 @@ static int xscale_map_event(struct perf_event *event) &xscale_perf_cache_map, 0xFF); } -static int __devinit xscale1pmu_init(struct arm_pmu *cpu_pmu) +static int xscale1pmu_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name = "xscale1"; cpu_pmu->handle_irq = xscale1pmu_handle_irq; @@ -810,7 +810,7 @@ static inline void xscale2pmu_write_counter(struct perf_event *event, u32 val) } } -static int __devinit xscale2pmu_init(struct arm_pmu *cpu_pmu) +static int xscale2pmu_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name = "xscale2"; cpu_pmu->handle_irq = xscale2pmu_handle_irq; diff --git a/trunk/arch/arm/kernel/setup.c b/trunk/arch/arm/kernel/setup.c index 9a89bf4aefe1..3f6cbb2e3eda 100644 --- a/trunk/arch/arm/kernel/setup.c +++ b/trunk/arch/arm/kernel/setup.c @@ -733,7 +733,7 @@ void __init setup_arch(char **cmdline_p) setup_processor(); mdesc = setup_machine_fdt(__atags_pointer); if (!mdesc) - mdesc = setup_machine_tags(__atags_pointer, machine_arch_type); + mdesc = setup_machine_tags(__atags_pointer, __machine_arch_type); machine_desc = mdesc; machine_name = mdesc->name; diff --git a/trunk/arch/arm/kernel/swp_emulate.c b/trunk/arch/arm/kernel/swp_emulate.c index df745188f5de..ab1017bd1667 100644 --- a/trunk/arch/arm/kernel/swp_emulate.c +++ b/trunk/arch/arm/kernel/swp_emulate.c @@ -109,10 +109,12 @@ static void set_segfault(struct pt_regs *regs, unsigned long addr) { siginfo_t info; + down_read(¤t->mm->mmap_sem); if (find_vma(current->mm, addr) == NULL) info.si_code = SEGV_MAPERR; else info.si_code = SEGV_ACCERR; + up_read(¤t->mm->mmap_sem); info.si_signo = SIGSEGV; info.si_errno = 0; diff --git a/trunk/arch/arm/kernel/vmlinux.lds.S b/trunk/arch/arm/kernel/vmlinux.lds.S index b9f38e388b43..11c1785bf63e 100644 --- a/trunk/arch/arm/kernel/vmlinux.lds.S +++ b/trunk/arch/arm/kernel/vmlinux.lds.S @@ -140,6 +140,8 @@ SECTIONS } #endif + NOTES + _etext = .; /* End of text and rodata section */ #ifndef CONFIG_XIP_KERNEL @@ -295,8 +297,6 @@ SECTIONS } #endif - NOTES - BSS_SECTION(0, 0, 0) _end = .; diff --git a/trunk/arch/arm/mach-at91/setup.c b/trunk/arch/arm/mach-at91/setup.c index 9ee866ce0478..4b678478cf95 100644 --- a/trunk/arch/arm/mach-at91/setup.c +++ b/trunk/arch/arm/mach-at91/setup.c @@ -105,6 +105,8 @@ 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-davinci/board-da850-evm.c b/trunk/arch/arm/mach-davinci/board-da850-evm.c index 7211772edd9d..0299915575a8 100644 --- a/trunk/arch/arm/mach-davinci/board-da850-evm.c +++ b/trunk/arch/arm/mach-davinci/board-da850-evm.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include diff --git a/trunk/arch/arm/mach-davinci/board-dm646x-evm.c b/trunk/arch/arm/mach-davinci/board-dm646x-evm.c index 9211e8800c79..6e2f1631df5b 100644 --- a/trunk/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/trunk/arch/arm/mach-davinci/board-dm646x-evm.c @@ -358,7 +358,7 @@ static int cpld_video_probe(struct i2c_client *client, return 0; } -static int __devexit cpld_video_remove(struct i2c_client *client) +static int cpld_video_remove(struct i2c_client *client) { cpld_client = NULL; return 0; diff --git a/trunk/arch/arm/mach-davinci/cdce949.c b/trunk/arch/arm/mach-davinci/cdce949.c index f2232ca6d070..abafb92031c0 100644 --- a/trunk/arch/arm/mach-davinci/cdce949.c +++ b/trunk/arch/arm/mach-davinci/cdce949.c @@ -256,7 +256,7 @@ static int cdce_probe(struct i2c_client *client, return 0; } -static int __devexit cdce_remove(struct i2c_client *client) +static int cdce_remove(struct i2c_client *client) { cdce_i2c_client = NULL; return 0; @@ -274,7 +274,7 @@ static struct i2c_driver cdce_driver = { .name = "cdce949", }, .probe = cdce_probe, - .remove = __devexit_p(cdce_remove), + .remove = cdce_remove, .id_table = cdce_id, }; diff --git a/trunk/arch/arm/mach-dove/pcie.c b/trunk/arch/arm/mach-dove/pcie.c index 0ef4435b1657..8a275f297522 100644 --- a/trunk/arch/arm/mach-dove/pcie.c +++ b/trunk/arch/arm/mach-dove/pcie.c @@ -135,7 +135,7 @@ static struct pci_ops pcie_ops = { .write = pcie_wr_conf, }; -static void __devinit rc_pci_fixup(struct pci_dev *dev) +static void rc_pci_fixup(struct pci_dev *dev) { /* * Prevent enumeration of root complex. diff --git a/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h b/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h index 16026c2b1c8c..d64274fc5760 100644 --- a/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h +++ b/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h @@ -47,13 +47,9 @@ static void __raw_writel(unsigned int value, unsigned int ptr) static inline void putc(int c) { - int i; - - for (i = 0; i < 1000; i++) { - /* Transmit fifo not full? */ - if (!(__raw_readb(PHYS_UART_FLAG) & UART_FLAG_TXFF)) - break; - } + /* Transmit fifo not full? */ + while (__raw_readb(PHYS_UART_FLAG) & UART_FLAG_TXFF) + ; __raw_writeb(c, PHYS_UART_DATA); } diff --git a/trunk/arch/arm/mach-exynos/Kconfig b/trunk/arch/arm/mach-exynos/Kconfig index 91d5b6f1d5af..e103c290bc9e 100644 --- a/trunk/arch/arm/mach-exynos/Kconfig +++ b/trunk/arch/arm/mach-exynos/Kconfig @@ -74,6 +74,8 @@ config SOC_EXYNOS5440 depends on ARCH_EXYNOS5 select ARM_ARCH_TIMER select AUTO_ZRELADDR + select PINCTRL + select PINCTRL_EXYNOS5440 help Enable EXYNOS5440 SoC support diff --git a/trunk/arch/arm/mach-exynos/clock-exynos4.c b/trunk/arch/arm/mach-exynos/clock-exynos4.c index efead60b9436..bbcb3dea0d40 100644 --- a/trunk/arch/arm/mach-exynos/clock-exynos4.c +++ b/trunk/arch/arm/mach-exynos/clock-exynos4.c @@ -529,7 +529,7 @@ static struct clk exynos4_init_clocks_off[] = { .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 8), }, { - .name = "dwmmc", + .name = "biu", .parent = &exynos4_clk_aclk_133.clk, .enable = exynos4_clk_ip_fsys_ctrl, .ctrlbit = (1 << 9), @@ -1134,7 +1134,7 @@ static struct clksrc_clk exynos4_clksrcs[] = { .reg_div = { .reg = EXYNOS4_CLKDIV_MFC, .shift = 0, .size = 4 }, }, { .clk = { - .name = "sclk_dwmmc", + .name = "ciu", .parent = &exynos4_clk_dout_mmc4.clk, .enable = exynos4_clksrc_mask_fsys_ctrl, .ctrlbit = (1 << 16), diff --git a/trunk/arch/arm/mach-exynos/common.c b/trunk/arch/arm/mach-exynos/common.c index ddd4b72c6f9a..1a89824a5f78 100644 --- a/trunk/arch/arm/mach-exynos/common.c +++ b/trunk/arch/arm/mach-exynos/common.c @@ -424,11 +424,18 @@ static void __init exynos5_init_clocks(int xtal) { printk(KERN_DEBUG "%s: initializing clocks\n", __func__); + /* EXYNOS5440 can support only common clock framework */ + + if (soc_is_exynos5440()) + return; + +#ifdef CONFIG_SOC_EXYNOS5250 s3c24xx_register_baseclocks(xtal); s5p_register_clocks(xtal); exynos5_register_clocks(); exynos5_setup_clocks(); +#endif } #define COMBINER_ENABLE_SET 0x0 @@ -679,7 +686,8 @@ void __init exynos5_init_irq(void) * Theses parameters should be NULL and 0 because EXYNOS4 * uses GIC instead of VIC. */ - s5p_init_irq(NULL, 0); + if (!of_machine_is_compatible("samsung,exynos5440")) + s5p_init_irq(NULL, 0); gic_arch_extn.irq_set_wake = s3c_irq_wake; } diff --git a/trunk/arch/arm/mach-exynos/common.h b/trunk/arch/arm/mach-exynos/common.h index dac146df79ac..04744f9c120f 100644 --- a/trunk/arch/arm/mach-exynos/common.h +++ b/trunk/arch/arm/mach-exynos/common.h @@ -25,7 +25,7 @@ void exynos_init_late(void); #ifdef CONFIG_PM_GENERIC_DOMAINS int exynos_pm_late_initcall(void); #else -static int exynos_pm_late_initcall(void) { return 0; } +static inline int exynos_pm_late_initcall(void) { return 0; } #endif #ifdef CONFIG_ARCH_EXYNOS4 diff --git a/trunk/arch/arm/mach-exynos/dev-audio.c b/trunk/arch/arm/mach-exynos/dev-audio.c index a1cb42c39590..9d1a60951d7b 100644 --- a/trunk/arch/arm/mach-exynos/dev-audio.c +++ b/trunk/arch/arm/mach-exynos/dev-audio.c @@ -23,11 +23,6 @@ #include #include -static const char *rclksrc[] = { - [0] = "busclk", - [1] = "i2sclk", -}; - static int exynos4_cfg_i2s(struct platform_device *pdev) { /* configure GPIO for i2s port */ @@ -55,7 +50,6 @@ static struct s3c_audio_pdata i2sv5_pdata = { .i2s = { .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR, - .src_clk = rclksrc, .idma_addr = EXYNOS4_AUDSS_INT_MEM, }, }, @@ -78,17 +72,11 @@ struct platform_device exynos4_device_i2s0 = { }, }; -static const char *rclksrc_v3[] = { - [0] = "sclk_i2s", - [1] = "no_such_clock", -}; - static struct s3c_audio_pdata i2sv3_pdata = { .cfg_gpio = exynos4_cfg_i2s, .type = { .i2s = { .quirks = QUIRK_NO_MUXPSR, - .src_clk = rclksrc_v3, }, }, }; diff --git a/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c b/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c index f038c8cadca4..e99d3d8f2bcf 100644 --- a/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/trunk/arch/arm/mach-exynos/mach-exynos5-dt.c @@ -163,6 +163,7 @@ static char const *exynos5_dt_compat[] __initdata = { static void __init exynos5_reserve(void) { +#ifdef CONFIG_S5P_DEV_MFC struct s5p_mfc_dt_meminfo mfc_mem; /* Reserve memory for MFC only if it's available */ @@ -170,6 +171,7 @@ static void __init exynos5_reserve(void) if (of_scan_flat_dt(s5p_fdt_find_mfc_mem, &mfc_mem)) s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff, mfc_mem.lsize); +#endif } DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") diff --git a/trunk/arch/arm/mach-exynos/mach-origen.c b/trunk/arch/arm/mach-exynos/mach-origen.c index e6f4191cd14c..5e34b9c16196 100644 --- a/trunk/arch/arm/mach-exynos/mach-origen.c +++ b/trunk/arch/arm/mach-exynos/mach-origen.c @@ -621,7 +621,7 @@ static struct pwm_lookup origen_pwm_lookup[] = { PWM_LOOKUP("s3c24xx-pwm.0", 0, "pwm-backlight.0", NULL), }; -#ifdef CONFIG_DRM_EXYNOS +#ifdef CONFIG_DRM_EXYNOS_FIMD static struct exynos_drm_fimd_pdata drm_fimd_pdata = { .panel = { .timing = { @@ -793,7 +793,7 @@ static void __init origen_machine_init(void) s5p_i2c_hdmiphy_set_platdata(NULL); s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0); -#ifdef CONFIG_DRM_EXYNOS +#ifdef CONFIG_DRM_EXYNOS_FIMD s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; exynos4_fimd0_gpio_setup_24bpp(); #else diff --git a/trunk/arch/arm/mach-exynos/mach-smdk4x12.c b/trunk/arch/arm/mach-exynos/mach-smdk4x12.c index a1555a73c7af..ae6da40c2aa9 100644 --- a/trunk/arch/arm/mach-exynos/mach-smdk4x12.c +++ b/trunk/arch/arm/mach-exynos/mach-smdk4x12.c @@ -246,7 +246,7 @@ static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = { .cols = 8, }; -#ifdef CONFIG_DRM_EXYNOS +#ifdef CONFIG_DRM_EXYNOS_FIMD static struct exynos_drm_fimd_pdata drm_fimd_pdata = { .panel = { .timing = { @@ -360,7 +360,7 @@ static void __init smdk4x12_machine_init(void) s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata); -#ifdef CONFIG_DRM_EXYNOS +#ifdef CONFIG_DRM_EXYNOS_FIMD s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; exynos4_fimd0_gpio_setup_24bpp(); #else diff --git a/trunk/arch/arm/mach-exynos/mach-smdkv310.c b/trunk/arch/arm/mach-exynos/mach-smdkv310.c index b7384241fb03..35548e3c097d 100644 --- a/trunk/arch/arm/mach-exynos/mach-smdkv310.c +++ b/trunk/arch/arm/mach-exynos/mach-smdkv310.c @@ -159,7 +159,7 @@ static struct platform_device smdkv310_lcd_lte480wv = { .dev.platform_data = &smdkv310_lcd_lte480wv_data, }; -#ifdef CONFIG_DRM_EXYNOS +#ifdef CONFIG_DRM_EXYNOS_FIMD static struct exynos_drm_fimd_pdata drm_fimd_pdata = { .panel = { .timing = { @@ -402,7 +402,7 @@ static void __init smdkv310_machine_init(void) samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); pwm_add_table(smdkv310_pwm_lookup, ARRAY_SIZE(smdkv310_pwm_lookup)); -#ifdef CONFIG_DRM_EXYNOS +#ifdef CONFIG_DRM_EXYNOS_FIMD s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; exynos4_fimd0_gpio_setup_24bpp(); #else diff --git a/trunk/arch/arm/mach-exynos/platsmp.c b/trunk/arch/arm/mach-exynos/platsmp.c index 4ca8ff14a5bf..c5c840e947b8 100644 --- a/trunk/arch/arm/mach-exynos/platsmp.c +++ b/trunk/arch/arm/mach-exynos/platsmp.c @@ -198,7 +198,7 @@ static void __init exynos_smp_prepare_cpus(unsigned int max_cpus) { int i; - if (!soc_is_exynos5250()) + if (!(soc_is_exynos5250() || soc_is_exynos5440())) scu_enable(scu_base_addr()); /* diff --git a/trunk/arch/arm/mach-highbank/highbank.c b/trunk/arch/arm/mach-highbank/highbank.c index dc248167d206..981dc1e1da51 100644 --- a/trunk/arch/arm/mach-highbank/highbank.c +++ b/trunk/arch/arm/mach-highbank/highbank.c @@ -135,7 +135,7 @@ static struct sys_timer highbank_timer = { static void highbank_power_off(void) { - hignbank_set_pwr_shutdown(); + highbank_set_pwr_shutdown(); while (1) cpu_do_idle(); diff --git a/trunk/arch/arm/mach-highbank/hotplug.c b/trunk/arch/arm/mach-highbank/hotplug.c index 7b60faccd551..f30c52843396 100644 --- a/trunk/arch/arm/mach-highbank/hotplug.c +++ b/trunk/arch/arm/mach-highbank/hotplug.c @@ -30,7 +30,7 @@ void __ref highbank_cpu_die(unsigned int cpu) { flush_cache_all(); - highbank_set_cpu_jump(cpu, secondary_startup); + highbank_set_cpu_jump(cpu, phys_to_virt(0)); highbank_set_core_pwr(); cpu_do_idle(); diff --git a/trunk/arch/arm/mach-highbank/platsmp.c b/trunk/arch/arm/mach-highbank/platsmp.c index 1129957f6c1d..4ecc864ac8b9 100644 --- a/trunk/arch/arm/mach-highbank/platsmp.c +++ b/trunk/arch/arm/mach-highbank/platsmp.c @@ -32,6 +32,7 @@ static void __cpuinit highbank_secondary_init(unsigned int cpu) static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle) { + highbank_set_cpu_jump(cpu, secondary_startup); gic_raise_softirq(cpumask_of(cpu), 0); return 0; } @@ -61,19 +62,8 @@ static void __init highbank_smp_init_cpus(void) static void __init highbank_smp_prepare_cpus(unsigned int max_cpus) { - int i; - if (scu_base_addr) scu_enable(scu_base_addr); - - /* - * Write the address of secondary startup into the jump table - * The cores are in wfi and wait until they receive a soft interrupt - * and a non-zero value to jump to. Then the secondary CPU branches - * to this address. - */ - for (i = 1; i < max_cpus; i++) - highbank_set_cpu_jump(i, secondary_startup); } struct smp_operations highbank_smp_ops __initdata = { diff --git a/trunk/arch/arm/mach-highbank/pm.c b/trunk/arch/arm/mach-highbank/pm.c index 74aa135966f0..04eddb4f4380 100644 --- a/trunk/arch/arm/mach-highbank/pm.c +++ b/trunk/arch/arm/mach-highbank/pm.c @@ -14,10 +14,12 @@ * this program. If not, see . */ +#include #include #include #include +#include #include #include @@ -26,16 +28,31 @@ static int highbank_suspend_finish(unsigned long val) { + outer_flush_all(); + outer_disable(); + + highbank_set_pwr_suspend(); + cpu_do_idle(); + + highbank_clear_pwr_request(); return 0; } static int highbank_pm_enter(suspend_state_t state) { - hignbank_set_pwr_suspend(); + cpu_pm_enter(); + cpu_cluster_pm_enter(); + highbank_set_cpu_jump(0, cpu_resume); cpu_suspend(0, highbank_suspend_finish); + cpu_cluster_pm_exit(); + cpu_pm_exit(); + + highbank_smc1(0x102, 0x1); + if (scu_base_addr) + scu_enable(scu_base_addr); return 0; } diff --git a/trunk/arch/arm/mach-highbank/sysregs.h b/trunk/arch/arm/mach-highbank/sysregs.h index e13e8ea7c6cb..70af9d13fcef 100644 --- a/trunk/arch/arm/mach-highbank/sysregs.h +++ b/trunk/arch/arm/mach-highbank/sysregs.h @@ -44,28 +44,43 @@ static inline void highbank_set_core_pwr(void) writel_relaxed(1, sregs_base + SREG_CPU_PWR_CTRL(cpu)); } -static inline void hignbank_set_pwr_suspend(void) +static inline void highbank_clear_core_pwr(void) +{ + int cpu = cpu_logical_map(smp_processor_id()); + if (scu_base_addr) + scu_power_mode(scu_base_addr, SCU_PM_NORMAL); + else + writel_relaxed(0, sregs_base + SREG_CPU_PWR_CTRL(cpu)); +} + +static inline void highbank_set_pwr_suspend(void) { writel(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } -static inline void hignbank_set_pwr_shutdown(void) +static inline void highbank_set_pwr_shutdown(void) { writel(HB_PWR_SHUTDOWN, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } -static inline void hignbank_set_pwr_soft_reset(void) +static inline void highbank_set_pwr_soft_reset(void) { writel(HB_PWR_SOFT_RESET, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } -static inline void hignbank_set_pwr_hard_reset(void) +static inline void highbank_set_pwr_hard_reset(void) { writel(HB_PWR_HARD_RESET, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } +static inline void highbank_clear_pwr_request(void) +{ + writel(~0UL, sregs_base + HB_SREG_A9_PWR_REQ); + highbank_clear_core_pwr(); +} + #endif diff --git a/trunk/arch/arm/mach-highbank/system.c b/trunk/arch/arm/mach-highbank/system.c index aed96ad9bd4a..37d8384dcf19 100644 --- a/trunk/arch/arm/mach-highbank/system.c +++ b/trunk/arch/arm/mach-highbank/system.c @@ -22,9 +22,9 @@ void highbank_restart(char mode, const char *cmd) { if (mode == 'h') - hignbank_set_pwr_hard_reset(); + highbank_set_pwr_hard_reset(); else - hignbank_set_pwr_soft_reset(); + highbank_set_pwr_soft_reset(); while (1) cpu_do_idle(); diff --git a/trunk/arch/arm/mach-imx/Kconfig b/trunk/arch/arm/mach-imx/Kconfig index 1ad0d76de8c7..0a2349dc7018 100644 --- a/trunk/arch/arm/mach-imx/Kconfig +++ b/trunk/arch/arm/mach-imx/Kconfig @@ -841,8 +841,6 @@ config SOC_IMX6Q select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP select ARM_CPU_SUSPEND if PM - select ARM_ERRATA_743622 - select ARM_ERRATA_751472 select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select ARM_ERRATA_775420 @@ -853,6 +851,7 @@ config SOC_IMX6Q select HAVE_CAN_FLEXCAN if CAN select HAVE_IMX_GPC select HAVE_IMX_MMDC + select HAVE_IMX_SRC select HAVE_SMP select MFD_SYSCON select PINCTRL diff --git a/trunk/arch/arm/mach-imx/clk-imx25.c b/trunk/arch/arm/mach-imx/clk-imx25.c index b197aa73dc4b..2c570cdaae7b 100644 --- a/trunk/arch/arm/mach-imx/clk-imx25.c +++ b/trunk/arch/arm/mach-imx/clk-imx25.c @@ -254,9 +254,9 @@ int __init mx25_clocks_init(void) clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2"); clk_register_clkdev(clk[usbotg_ahb], "ahb", "mxc-ehci.2"); clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2"); - clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc"); - clk_register_clkdev(clk[usbotg_ahb], "ahb", "fsl-usb2-udc"); - clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc"); + clk_register_clkdev(clk[ipg], "ipg", "imx-udc-mx27"); + clk_register_clkdev(clk[usbotg_ahb], "ahb", "imx-udc-mx27"); + clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27"); clk_register_clkdev(clk[nfc_ipg_per], NULL, "imx25-nand.0"); /* i.mx25 has the i.mx35 type cspi */ clk_register_clkdev(clk[cspi1_ipg], NULL, "imx35-cspi.0"); diff --git a/trunk/arch/arm/mach-imx/clk-imx27.c b/trunk/arch/arm/mach-imx/clk-imx27.c index 4c1d1e4efc74..1ffe3b534e51 100644 --- a/trunk/arch/arm/mach-imx/clk-imx27.c +++ b/trunk/arch/arm/mach-imx/clk-imx27.c @@ -236,9 +236,9 @@ int __init mx27_clocks_init(unsigned long fref) clk_register_clkdev(clk[lcdc_ahb_gate], "ahb", "imx21-fb.0"); clk_register_clkdev(clk[csi_ahb_gate], "ahb", "imx27-camera.0"); clk_register_clkdev(clk[per4_gate], "per", "imx27-camera.0"); - clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc"); - clk_register_clkdev(clk[usb_ipg_gate], "ipg", "fsl-usb2-udc"); - clk_register_clkdev(clk[usb_ahb_gate], "ahb", "fsl-usb2-udc"); + clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27"); + clk_register_clkdev(clk[usb_ipg_gate], "ipg", "imx-udc-mx27"); + clk_register_clkdev(clk[usb_ahb_gate], "ahb", "imx-udc-mx27"); clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.0"); clk_register_clkdev(clk[usb_ipg_gate], "ipg", "mxc-ehci.0"); clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.0"); diff --git a/trunk/arch/arm/mach-imx/clk-imx31.c b/trunk/arch/arm/mach-imx/clk-imx31.c index 8be64e0a4ace..16ccbd41dea9 100644 --- a/trunk/arch/arm/mach-imx/clk-imx31.c +++ b/trunk/arch/arm/mach-imx/clk-imx31.c @@ -139,9 +139,9 @@ int __init mx31_clocks_init(unsigned long fref) clk_register_clkdev(clk[usb_div_post], "per", "mxc-ehci.2"); clk_register_clkdev(clk[usb_gate], "ahb", "mxc-ehci.2"); clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2"); - clk_register_clkdev(clk[usb_div_post], "per", "fsl-usb2-udc"); - clk_register_clkdev(clk[usb_gate], "ahb", "fsl-usb2-udc"); - clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc"); + clk_register_clkdev(clk[usb_div_post], "per", "imx-udc-mx27"); + clk_register_clkdev(clk[usb_gate], "ahb", "imx-udc-mx27"); + clk_register_clkdev(clk[ipg], "ipg", "imx-udc-mx27"); clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0"); /* i.mx31 has the i.mx21 type uart */ clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0"); diff --git a/trunk/arch/arm/mach-imx/clk-imx35.c b/trunk/arch/arm/mach-imx/clk-imx35.c index 66f3d65ea275..f0727e80815d 100644 --- a/trunk/arch/arm/mach-imx/clk-imx35.c +++ b/trunk/arch/arm/mach-imx/clk-imx35.c @@ -251,9 +251,9 @@ int __init mx35_clocks_init() clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2"); clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2"); clk_register_clkdev(clk[usbotg_gate], "ahb", "mxc-ehci.2"); - clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc"); - clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc"); - clk_register_clkdev(clk[usbotg_gate], "ahb", "fsl-usb2-udc"); + clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27"); + clk_register_clkdev(clk[ipg], "ipg", "imx-udc-mx27"); + clk_register_clkdev(clk[usbotg_gate], "ahb", "imx-udc-mx27"); clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0"); clk_register_clkdev(clk[nfc_div], NULL, "imx25-nand.0"); clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0"); diff --git a/trunk/arch/arm/mach-imx/clk-imx51-imx53.c b/trunk/arch/arm/mach-imx/clk-imx51-imx53.c index e8c0473c7568..fb7cb841b64c 100644 --- a/trunk/arch/arm/mach-imx/clk-imx51-imx53.c +++ b/trunk/arch/arm/mach-imx/clk-imx51-imx53.c @@ -269,9 +269,9 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil, clk_register_clkdev(clk[usboh3_per_gate], "per", "mxc-ehci.2"); clk_register_clkdev(clk[usboh3_gate], "ipg", "mxc-ehci.2"); clk_register_clkdev(clk[usboh3_gate], "ahb", "mxc-ehci.2"); - clk_register_clkdev(clk[usboh3_per_gate], "per", "fsl-usb2-udc"); - clk_register_clkdev(clk[usboh3_gate], "ipg", "fsl-usb2-udc"); - clk_register_clkdev(clk[usboh3_gate], "ahb", "fsl-usb2-udc"); + clk_register_clkdev(clk[usboh3_per_gate], "per", "imx-udc-mx51"); + clk_register_clkdev(clk[usboh3_gate], "ipg", "imx-udc-mx51"); + clk_register_clkdev(clk[usboh3_gate], "ahb", "imx-udc-mx51"); clk_register_clkdev(clk[nfc_gate], NULL, "imx51-nand"); clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0"); clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1"); @@ -319,6 +319,7 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, unsigned long rate_ckih1, unsigned long rate_ckih2) { int i; + u32 val; struct device_node *np; clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX51_DPLL1_BASE); @@ -390,6 +391,21 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, imx_print_silicon_rev("i.MX51", mx51_revision()); clk_disable_unprepare(clk[iim_gate]); + /* + * Reference Manual says: Functionality of CCDR[18] and CLPCR[23] is no + * longer supported. Set to one for better power saving. + * + * The effect of not setting these bits is that MIPI clocks can't be + * enabled without the IPU clock being enabled aswell. + */ + val = readl(MXC_CCM_CCDR); + val |= 1 << 18; + writel(val, MXC_CCM_CCDR); + + val = readl(MXC_CCM_CLPCR); + val |= 1 << 23; + writel(val, MXC_CCM_CLPCR); + return 0; } diff --git a/trunk/arch/arm/mach-imx/clk-imx6q.c b/trunk/arch/arm/mach-imx/clk-imx6q.c index 7f2c10c7413a..c0c4e723b7f5 100644 --- a/trunk/arch/arm/mach-imx/clk-imx6q.c +++ b/trunk/arch/arm/mach-imx/clk-imx6q.c @@ -436,6 +436,9 @@ int __init mx6q_clocks_init(void) for (i = 0; i < ARRAY_SIZE(clks_init_on); i++) clk_prepare_enable(clk[clks_init_on[i]]); + /* Set initial power mode */ + imx6q_set_lpm(WAIT_CLOCKED); + np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); base = of_iomap(np, 0); WARN_ON(!base); diff --git a/trunk/arch/arm/mach-imx/common.h b/trunk/arch/arm/mach-imx/common.h index 7191ab4434e5..fa36fb84ab19 100644 --- a/trunk/arch/arm/mach-imx/common.h +++ b/trunk/arch/arm/mach-imx/common.h @@ -142,6 +142,7 @@ extern int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode); extern void imx6q_clock_map_io(void); extern void imx_cpu_die(unsigned int cpu); +extern int imx_cpu_kill(unsigned int cpu); #ifdef CONFIG_PM extern void imx6q_pm_init(void); diff --git a/trunk/arch/arm/mach-imx/cpufreq.c b/trunk/arch/arm/mach-imx/cpufreq.c index 36e8b3994470..d8c75c3c925d 100644 --- a/trunk/arch/arm/mach-imx/cpufreq.c +++ b/trunk/arch/arm/mach-imx/cpufreq.c @@ -188,7 +188,7 @@ static struct cpufreq_driver mxc_driver = { .name = "imx", }; -static int __devinit mxc_cpufreq_driver_init(void) +static int mxc_cpufreq_driver_init(void) { return cpufreq_register_driver(&mxc_driver); } diff --git a/trunk/arch/arm/mach-imx/devices/devices-common.h b/trunk/arch/arm/mach-imx/devices/devices-common.h index 6277baf1b7be..9bd5777ff0e7 100644 --- a/trunk/arch/arm/mach-imx/devices/devices-common.h +++ b/trunk/arch/arm/mach-imx/devices/devices-common.h @@ -63,6 +63,7 @@ struct platform_device *__init imx_add_flexcan( #include struct imx_fsl_usb2_udc_data { + const char *devid; resource_size_t iobase; resource_size_t irq; }; diff --git a/trunk/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c b/trunk/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c index 37e44398197b..3c06bd96e9cc 100644 --- a/trunk/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c +++ b/trunk/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c @@ -11,35 +11,36 @@ #include "../hardware.h" #include "devices-common.h" -#define imx_fsl_usb2_udc_data_entry_single(soc) \ +#define imx_fsl_usb2_udc_data_entry_single(soc, _devid) \ { \ + .devid = _devid, \ .iobase = soc ## _USB_OTG_BASE_ADDR, \ .irq = soc ## _INT_USB_OTG, \ } #ifdef CONFIG_SOC_IMX25 const struct imx_fsl_usb2_udc_data imx25_fsl_usb2_udc_data __initconst = - imx_fsl_usb2_udc_data_entry_single(MX25); + imx_fsl_usb2_udc_data_entry_single(MX25, "imx-udc-mx27"); #endif /* ifdef CONFIG_SOC_IMX25 */ #ifdef CONFIG_SOC_IMX27 const struct imx_fsl_usb2_udc_data imx27_fsl_usb2_udc_data __initconst = - imx_fsl_usb2_udc_data_entry_single(MX27); + imx_fsl_usb2_udc_data_entry_single(MX27, "imx-udc-mx27"); #endif /* ifdef CONFIG_SOC_IMX27 */ #ifdef CONFIG_SOC_IMX31 const struct imx_fsl_usb2_udc_data imx31_fsl_usb2_udc_data __initconst = - imx_fsl_usb2_udc_data_entry_single(MX31); + imx_fsl_usb2_udc_data_entry_single(MX31, "imx-udc-mx27"); #endif /* ifdef CONFIG_SOC_IMX31 */ #ifdef CONFIG_SOC_IMX35 const struct imx_fsl_usb2_udc_data imx35_fsl_usb2_udc_data __initconst = - imx_fsl_usb2_udc_data_entry_single(MX35); + imx_fsl_usb2_udc_data_entry_single(MX35, "imx-udc-mx27"); #endif /* ifdef CONFIG_SOC_IMX35 */ #ifdef CONFIG_SOC_IMX51 const struct imx_fsl_usb2_udc_data imx51_fsl_usb2_udc_data __initconst = - imx_fsl_usb2_udc_data_entry_single(MX51); + imx_fsl_usb2_udc_data_entry_single(MX51, "imx-udc-mx51"); #endif struct platform_device *__init imx_add_fsl_usb2_udc( @@ -57,7 +58,7 @@ struct platform_device *__init imx_add_fsl_usb2_udc( .flags = IORESOURCE_IRQ, }, }; - return imx_add_platform_device_dmamask("fsl-usb2-udc", -1, + return imx_add_platform_device_dmamask(data->devid, -1, res, ARRAY_SIZE(res), pdata, sizeof(*pdata), DMA_BIT_MASK(32)); } diff --git a/trunk/arch/arm/mach-imx/devices/platform-imx-fb.c b/trunk/arch/arm/mach-imx/devices/platform-imx-fb.c index 10b0ed39f07f..25a47c616b2d 100644 --- a/trunk/arch/arm/mach-imx/devices/platform-imx-fb.c +++ b/trunk/arch/arm/mach-imx/devices/platform-imx-fb.c @@ -54,7 +54,7 @@ struct platform_device *__init imx_add_imx_fb( .flags = IORESOURCE_IRQ, }, }; - return imx_add_platform_device_dmamask("imx-fb", 0, + return imx_add_platform_device_dmamask(data->devid, 0, res, ARRAY_SIZE(res), pdata, sizeof(*pdata), DMA_BIT_MASK(32)); } diff --git a/trunk/arch/arm/plat-mxc/devices/platform-mx2-emma.c b/trunk/arch/arm/mach-imx/devices/platform-mx2-emma.c similarity index 94% rename from trunk/arch/arm/plat-mxc/devices/platform-mx2-emma.c rename to trunk/arch/arm/mach-imx/devices/platform-mx2-emma.c index 508404ddd4ea..11bd01d402f2 100644 --- a/trunk/arch/arm/plat-mxc/devices/platform-mx2-emma.c +++ b/trunk/arch/arm/mach-imx/devices/platform-mx2-emma.c @@ -6,8 +6,8 @@ * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. */ -#include -#include +#include "../hardware.h" +#include "devices-common.h" #define imx_mx2_emmaprp_data_entry_single(soc) \ { \ diff --git a/trunk/arch/arm/mach-imx/hotplug.c b/trunk/arch/arm/mach-imx/hotplug.c index 3dec962b0770..7bc5fe15dda2 100644 --- a/trunk/arch/arm/mach-imx/hotplug.c +++ b/trunk/arch/arm/mach-imx/hotplug.c @@ -46,9 +46,11 @@ static inline void cpu_enter_lowpower(void) void imx_cpu_die(unsigned int cpu) { cpu_enter_lowpower(); - imx_enable_cpu(cpu, false); + cpu_do_idle(); +} - /* spin here until hardware takes it down */ - while (1) - ; +int imx_cpu_kill(unsigned int cpu) +{ + imx_enable_cpu(cpu, false); + return 1; } diff --git a/trunk/arch/arm/mach-imx/iram_alloc.c b/trunk/arch/arm/mach-imx/iram_alloc.c index 6c80424f678e..e05cf407db65 100644 --- a/trunk/arch/arm/mach-imx/iram_alloc.c +++ b/trunk/arch/arm/mach-imx/iram_alloc.c @@ -22,8 +22,7 @@ #include #include #include - -#include "iram.h" +#include "linux/platform_data/imx-iram.h" static unsigned long iram_phys_base; static void __iomem *iram_virt_base; diff --git a/trunk/arch/arm/mach-imx/mmdc.c b/trunk/arch/arm/mach-imx/mmdc.c index c461e98496c3..7a9686ad994c 100644 --- a/trunk/arch/arm/mach-imx/mmdc.c +++ b/trunk/arch/arm/mach-imx/mmdc.c @@ -21,7 +21,7 @@ #define BP_MMDC_MAPSR_PSD 0 #define BP_MMDC_MAPSR_PSS 4 -static int __devinit imx_mmdc_probe(struct platform_device *pdev) +static int imx_mmdc_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; void __iomem *mmdc_base, *reg; diff --git a/trunk/arch/arm/mach-imx/platsmp.c b/trunk/arch/arm/mach-imx/platsmp.c index 3777b805b76b..66fae885c842 100644 --- a/trunk/arch/arm/mach-imx/platsmp.c +++ b/trunk/arch/arm/mach-imx/platsmp.c @@ -92,5 +92,6 @@ struct smp_operations imx_smp_ops __initdata = { .smp_boot_secondary = imx_boot_secondary, #ifdef CONFIG_HOTPLUG_CPU .cpu_die = imx_cpu_die, + .cpu_kill = imx_cpu_kill, #endif }; diff --git a/trunk/arch/arm/mach-imx/pm-imx6q.c b/trunk/arch/arm/mach-imx/pm-imx6q.c index a17543da602d..ee42d20cba19 100644 --- a/trunk/arch/arm/mach-imx/pm-imx6q.c +++ b/trunk/arch/arm/mach-imx/pm-imx6q.c @@ -41,6 +41,7 @@ static int imx6q_pm_enter(suspend_state_t state) cpu_suspend(0, imx6q_suspend_finish); imx_smp_prepare(); imx_gpc_post_resume(); + imx6q_set_lpm(WAIT_CLOCKED); break; default: return -EINVAL; diff --git a/trunk/arch/arm/mach-integrator/pci_v3.c b/trunk/arch/arm/mach-integrator/pci_v3.c index be50e795536d..e7fcea7f3300 100644 --- a/trunk/arch/arm/mach-integrator/pci_v3.c +++ b/trunk/arch/arm/mach-integrator/pci_v3.c @@ -475,13 +475,12 @@ int __init pci_v3_setup(int nr, struct pci_sys_data *sys) { int ret = 0; + if (!ap_syscon_base) + return -EINVAL; + if (nr == 0) { sys->mem_offset = PHYS_PCI_MEM_BASE; ret = pci_v3_setup_resources(sys); - /* Remap the Integrator system controller */ - ap_syscon_base = ioremap(INTEGRATOR_SC_BASE, 0x100); - if (!ap_syscon_base) - return -EINVAL; } return ret; @@ -497,6 +496,13 @@ void __init pci_v3_preinit(void) unsigned int temp; int ret; + /* Remap the Integrator system controller */ + ap_syscon_base = ioremap(INTEGRATOR_SC_BASE, 0x100); + if (!ap_syscon_base) { + pr_err("unable to remap the AP syscon for PCIv3\n"); + return; + } + pcibios_min_mem = 0x00100000; /* diff --git a/trunk/arch/arm/mach-iop13xx/pci.c b/trunk/arch/arm/mach-iop13xx/pci.c index 2f28018c4447..9082b84aeebb 100644 --- a/trunk/arch/arm/mach-iop13xx/pci.c +++ b/trunk/arch/arm/mach-iop13xx/pci.c @@ -504,7 +504,7 @@ iop13xx_pci_abort(unsigned long addr, unsigned int fsr, struct pt_regs *regs) /* Scan an IOP13XX PCI bus. nr selects which ATU we use. */ -struct pci_bus * __devinit iop13xx_scan_bus(int nr, struct pci_sys_data *sys) +struct pci_bus *iop13xx_scan_bus(int nr, struct pci_sys_data *sys) { int which_atu; struct pci_bus *bus = NULL; diff --git a/trunk/arch/arm/mach-kirkwood/board-dt.c b/trunk/arch/arm/mach-kirkwood/board-dt.c index ff4150a2ad05..de4fd2bb1e27 100644 --- a/trunk/arch/arm/mach-kirkwood/board-dt.c +++ b/trunk/arch/arm/mach-kirkwood/board-dt.c @@ -67,6 +67,10 @@ static void __init kirkwood_legacy_clk_init(void) orion_clkdev_add(NULL, "mv643xx_eth_port.1", of_clk_get_from_provider(&clkspec)); + clkspec.args[0] = CGC_BIT_SDIO; + orion_clkdev_add(NULL, "mvsdio", + of_clk_get_from_provider(&clkspec)); + } static void __init kirkwood_of_clk_init(void) diff --git a/trunk/arch/arm/mach-kirkwood/board-ns2.c b/trunk/arch/arm/mach-kirkwood/board-ns2.c index 8821720ab5a4..f4632a809f68 100644 --- a/trunk/arch/arm/mach-kirkwood/board-ns2.c +++ b/trunk/arch/arm/mach-kirkwood/board-ns2.c @@ -18,47 +18,11 @@ #include #include #include "common.h" -#include "mpp.h" static struct mv643xx_eth_platform_data ns2_ge00_data = { .phy_addr = MV643XX_ETH_PHY_ADDR(8), }; -static unsigned int ns2_mpp_config[] __initdata = { - MPP0_SPI_SCn, - MPP1_SPI_MOSI, - MPP2_SPI_SCK, - MPP3_SPI_MISO, - MPP4_NF_IO6, - MPP5_NF_IO7, - MPP6_SYSRST_OUTn, - MPP7_GPO, /* Fan speed (bit 1) */ - MPP8_TW0_SDA, - MPP9_TW0_SCK, - MPP10_UART0_TXD, - MPP11_UART0_RXD, - MPP12_GPO, /* Red led */ - MPP14_GPIO, /* USB fuse */ - MPP16_GPIO, /* SATA 0 power */ - MPP17_GPIO, /* SATA 1 power */ - MPP18_NF_IO0, - MPP19_NF_IO1, - MPP20_SATA1_ACTn, - MPP21_SATA0_ACTn, - MPP22_GPIO, /* Fan speed (bit 0) */ - MPP23_GPIO, /* Fan power */ - MPP24_GPIO, /* USB mode select */ - MPP25_GPIO, /* Fan rotation fail */ - MPP26_GPIO, /* USB device vbus */ - MPP28_GPIO, /* USB enable host vbus */ - MPP29_GPIO, /* Blue led (slow register) */ - MPP30_GPIO, /* Blue led (command register) */ - MPP31_GPIO, /* Board power off */ - MPP32_GPIO, /* Power button (0 = Released, 1 = Pushed) */ - MPP33_GPO, /* Fan speed (bit 2) */ - 0 -}; - #define NS2_GPIO_POWER_OFF 31 static void ns2_power_off(void) @@ -71,8 +35,6 @@ void __init ns2_init(void) /* * Basic setup. Needs to be called early. */ - kirkwood_mpp_conf(ns2_mpp_config); - if (of_machine_is_compatible("lacie,netspace_lite_v2") || of_machine_is_compatible("lacie,netspace_mini_v2")) ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); diff --git a/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c b/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c index 15e69fcde9f4..23d2dd1b1b1e 100644 --- a/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c +++ b/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c @@ -64,8 +64,6 @@ static unsigned int topkick_mpp_config[] __initdata = { 0 }; -#define TOPKICK_SATA0_PWR_ENABLE 36 - void __init usi_topkick_init(void) { /* @@ -73,8 +71,6 @@ void __init usi_topkick_init(void) */ kirkwood_mpp_conf(topkick_mpp_config); - /* SATA0 power enable */ - gpio_set_value(TOPKICK_SATA0_PWR_ENABLE, 1); kirkwood_ge00_init(&topkick_ge00_data); kirkwood_sdio_init(&topkick_mvsdio_data); diff --git a/trunk/arch/arm/mach-kirkwood/pcie.c b/trunk/arch/arm/mach-kirkwood/pcie.c index ef102646ba9a..a1c3ab6fc809 100644 --- a/trunk/arch/arm/mach-kirkwood/pcie.c +++ b/trunk/arch/arm/mach-kirkwood/pcie.c @@ -214,7 +214,7 @@ static int __init kirkwood_pcie_setup(int nr, struct pci_sys_data *sys) * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on * the device. Decoding setup is handled by the orion code. */ -static void __devinit rc_pci_fixup(struct pci_dev *dev) +static void rc_pci_fixup(struct pci_dev *dev) { if (dev->bus->parent == NULL && dev->devfn == 0) { int i; diff --git a/trunk/arch/arm/mach-ks8695/board-acs5k.c b/trunk/arch/arm/mach-ks8695/board-acs5k.c index 255502ddd879..b0c306ccbc6e 100644 --- a/trunk/arch/arm/mach-ks8695/board-acs5k.c +++ b/trunk/arch/arm/mach-ks8695/board-acs5k.c @@ -92,7 +92,7 @@ static struct i2c_board_info acs5k_i2c_devs[] __initdata = { }, }; -static void __devinit acs5k_i2c_init(void) +static void acs5k_i2c_init(void) { /* The gpio interface */ platform_device_register(&acs5k_i2c_device); diff --git a/trunk/arch/arm/mach-mmp/sram.c b/trunk/arch/arm/mach-mmp/sram.c index a6c08ede4491..bf5e64906e65 100644 --- a/trunk/arch/arm/mach-mmp/sram.c +++ b/trunk/arch/arm/mach-mmp/sram.c @@ -61,7 +61,7 @@ struct gen_pool *sram_get_gpool(char *pool_name) } EXPORT_SYMBOL(sram_get_gpool); -static int __devinit sram_probe(struct platform_device *pdev) +static int sram_probe(struct platform_device *pdev) { struct sram_platdata *pdata = pdev->dev.platform_data; struct sram_bank_info *info; @@ -125,7 +125,7 @@ static int __devinit sram_probe(struct platform_device *pdev) return ret; } -static int __devexit sram_remove(struct platform_device *pdev) +static int sram_remove(struct platform_device *pdev) { struct sram_bank_info *info; diff --git a/trunk/arch/arm/mach-msm/proc_comm.c b/trunk/arch/arm/mach-msm/proc_comm.c index 8f1eecd88186..507f5ca80697 100644 --- a/trunk/arch/arm/mach-msm/proc_comm.c +++ b/trunk/arch/arm/mach-msm/proc_comm.c @@ -120,7 +120,7 @@ int msm_proc_comm(unsigned cmd, unsigned *data1, unsigned *data2) * and unknown state. This function should be called early to * wait on the ARM9. */ -void __devinit proc_comm_boot_wait(void) +void proc_comm_boot_wait(void) { void __iomem *base = MSM_SHARED_RAM_BASE; diff --git a/trunk/arch/arm/mach-msm/smd.c b/trunk/arch/arm/mach-msm/smd.c index c5a2eddc6cdc..b1588a1ea2f8 100644 --- a/trunk/arch/arm/mach-msm/smd.c +++ b/trunk/arch/arm/mach-msm/smd.c @@ -988,7 +988,7 @@ int smd_core_init(void) return 0; } -static int __devinit msm_smd_probe(struct platform_device *pdev) +static int msm_smd_probe(struct platform_device *pdev) { /* * If we haven't waited for the ARM9 to boot up till now, diff --git a/trunk/arch/arm/mach-mv78xx0/pcie.c b/trunk/arch/arm/mach-mv78xx0/pcie.c index a9a154a646dd..ee8c0b51df2c 100644 --- a/trunk/arch/arm/mach-mv78xx0/pcie.c +++ b/trunk/arch/arm/mach-mv78xx0/pcie.c @@ -173,7 +173,7 @@ static struct pci_ops pcie_ops = { .write = pcie_wr_conf, }; -static void __devinit rc_pci_fixup(struct pci_dev *dev) +static void rc_pci_fixup(struct pci_dev *dev) { /* * Prevent enumeration of root complex. diff --git a/trunk/arch/arm/mach-mvebu/Makefile b/trunk/arch/arm/mach-mvebu/Makefile index 5dcb369b58aa..99df4df680fd 100644 --- a/trunk/arch/arm/mach-mvebu/Makefile +++ b/trunk/arch/arm/mach-mvebu/Makefile @@ -1,6 +1,8 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ -I$(srctree)/arch/arm/plat-orion/include +AFLAGS_coherency_ll.o := -Wa,-march=armv7-a + obj-y += system-controller.o obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o irq-armada-370-xp.o addr-map.o coherency.o coherency_ll.o pmsu.o obj-$(CONFIG_SMP) += platsmp.o headsmp.o diff --git a/trunk/arch/arm/mach-nomadik/board-nhk8815.c b/trunk/arch/arm/mach-nomadik/board-nhk8815.c index 5ccdf53c5a9d..9f19069248da 100644 --- a/trunk/arch/arm/mach-nomadik/board-nhk8815.c +++ b/trunk/arch/arm/mach-nomadik/board-nhk8815.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -26,14 +27,12 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include #include "cpu-8815.h" @@ -42,39 +41,34 @@ #define SRC_CR_INIT_MASK 0x00007fff #define SRC_CR_INIT_VAL 0x2aaa8000 +#define ALE_OFF 0x1000000 +#define CLE_OFF 0x800000 + /* These addresses span 16MB, so use three individual pages */ static struct resource nhk8815_nand_resources[] = { { + .name = "nand_data", + .start = 0x40000000, + .end = 0x40000000 + SZ_16K - 1, + .flags = IORESOURCE_MEM, + }, { .name = "nand_addr", - .start = NAND_IO_ADDR, - .end = NAND_IO_ADDR + 0xfff, + .start = 0x40000000 + ALE_OFF, + .end = 0x40000000 +ALE_OFF + SZ_16K - 1, .flags = IORESOURCE_MEM, }, { .name = "nand_cmd", - .start = NAND_IO_CMD, - .end = NAND_IO_CMD + 0xfff, + .start = 0x40000000 + CLE_OFF, + .end = 0x40000000 + CLE_OFF + SZ_16K - 1, .flags = IORESOURCE_MEM, }, { - .name = "nand_data", - .start = NAND_IO_DATA, - .end = NAND_IO_DATA + 0xfff, + .name = "fsmc_regs", + .start = NOMADIK_FSMC_BASE, + .end = NOMADIK_FSMC_BASE + SZ_4K - 1, .flags = IORESOURCE_MEM, - } + }, }; -static int nhk8815_nand_init(void) -{ - /* FSMC setup for nand chip select (8-bit nand in 8815NHK) */ - writel(0x0000000E, FSMC_PCR(0)); - writel(0x000D0A00, FSMC_PMEM(0)); - writel(0x00100A00, FSMC_PATT(0)); - - /* enable access to the chip select area */ - writel(readl(FSMC_PCR(0)) | 0x04, FSMC_PCR(0)); - - return 0; -} - /* * These partitions are the same as those used in the 2.6.20 release * shipped by the vendor; the first two partitions are mandated @@ -108,20 +102,28 @@ static struct mtd_partition nhk8815_partitions[] = { } }; -static struct nomadik_nand_platform_data nhk8815_nand_data = { - .parts = nhk8815_partitions, - .nparts = ARRAY_SIZE(nhk8815_partitions), - .options = NAND_COPYBACK | NAND_CACHEPRG | NAND_NO_PADDING, - .init = nhk8815_nand_init, +static struct fsmc_nand_timings nhk8815_nand_timings = { + .thiz = 0, + .thold = 0x10, + .twait = 0x0A, + .tset = 0, +}; + +static struct fsmc_nand_platform_data nhk8815_nand_platform_data = { + .nand_timings = &nhk8815_nand_timings, + .partitions = nhk8815_partitions, + .nr_partitions = ARRAY_SIZE(nhk8815_partitions), + .width = FSMC_NAND_BW8, }; static struct platform_device nhk8815_nand_device = { - .name = "nomadik_nand", - .dev = { - .platform_data = &nhk8815_nand_data, + .name = "fsmc-nand", + .id = -1, + .resource = nhk8815_nand_resources, + .num_resources = ARRAY_SIZE(nhk8815_nand_resources), + .dev = { + .platform_data = &nhk8815_nand_platform_data, }, - .resource = nhk8815_nand_resources, - .num_resources = ARRAY_SIZE(nhk8815_nand_resources), }; /* These are the partitions for the OneNand device, different from above */ @@ -176,6 +178,10 @@ static struct platform_device nhk8815_onenand_device = { .num_resources = ARRAY_SIZE(nhk8815_onenand_resource), }; +/* bus control reg. and bus timing reg. for CS0..CS3 */ +#define FSMC_BCR(x) (NOMADIK_FSMC_VA + (x << 3)) +#define FSMC_BTR(x) (NOMADIK_FSMC_VA + (x << 3) + 0x04) + static void __init nhk8815_onenand_init(void) { #ifdef CONFIG_MTD_ONENAND diff --git a/trunk/arch/arm/mach-nomadik/include/mach/fsmc.h b/trunk/arch/arm/mach-nomadik/include/mach/fsmc.h deleted file mode 100644 index 8c2c05183685..000000000000 --- a/trunk/arch/arm/mach-nomadik/include/mach/fsmc.h +++ /dev/null @@ -1,29 +0,0 @@ - -/* Definitions for the Nomadik FSMC "Flexible Static Memory controller" */ - -#ifndef __ASM_ARCH_FSMC_H -#define __ASM_ARCH_FSMC_H - -#include -/* - * Register list - */ - -/* bus control reg. and bus timing reg. for CS0..CS3 */ -#define FSMC_BCR(x) (NOMADIK_FSMC_VA + (x << 3)) -#define FSMC_BTR(x) (NOMADIK_FSMC_VA + (x << 3) + 0x04) - -/* PC-card and NAND: - * PCR = control register - * PMEM = memory timing - * PATT = attribute timing - * PIO = I/O timing - * PECCR = ECC result - */ -#define FSMC_PCR(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x00) -#define FSMC_PMEM(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x08) -#define FSMC_PATT(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x0c) -#define FSMC_PIO(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x10) -#define FSMC_PECCR(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x14) - -#endif /* __ASM_ARCH_FSMC_H */ diff --git a/trunk/arch/arm/mach-nomadik/include/mach/irqs.h b/trunk/arch/arm/mach-nomadik/include/mach/irqs.h index b549d0571548..215f8cdb4004 100644 --- a/trunk/arch/arm/mach-nomadik/include/mach/irqs.h +++ b/trunk/arch/arm/mach-nomadik/include/mach/irqs.h @@ -22,49 +22,49 @@ #include -#define IRQ_VIC_START 1 /* first VIC interrupt is 1 */ +#define IRQ_VIC_START 32 /* first VIC interrupt is 1 */ /* * Interrupt numbers generic for all Nomadik Chip cuts */ -#define IRQ_WATCHDOG 1 -#define IRQ_SOFTINT 2 -#define IRQ_CRYPTO 3 -#define IRQ_OWM 4 -#define IRQ_MTU0 5 -#define IRQ_MTU1 6 -#define IRQ_GPIO0 7 -#define IRQ_GPIO1 8 -#define IRQ_GPIO2 9 -#define IRQ_GPIO3 10 -#define IRQ_RTC_RTT 11 -#define IRQ_SSP 12 -#define IRQ_UART0 13 -#define IRQ_DMA1 14 -#define IRQ_CLCD_MDIF 15 -#define IRQ_DMA0 16 -#define IRQ_PWRFAIL 17 -#define IRQ_UART1 18 -#define IRQ_FIRDA 19 -#define IRQ_MSP0 20 -#define IRQ_I2C0 21 -#define IRQ_I2C1 22 -#define IRQ_SDMMC 23 -#define IRQ_USBOTG 24 -#define IRQ_SVA_IT0 25 -#define IRQ_SVA_IT1 26 -#define IRQ_SAA_IT0 27 -#define IRQ_SAA_IT1 28 -#define IRQ_UART2 29 -#define IRQ_MSP2 30 -#define IRQ_L2CC 49 -#define IRQ_HPI 50 -#define IRQ_SKE 51 -#define IRQ_KP 52 -#define IRQ_MEMST 55 -#define IRQ_SGA_IT 59 -#define IRQ_USBM 61 -#define IRQ_MSP1 63 +#define IRQ_WATCHDOG (IRQ_VIC_START+0) +#define IRQ_SOFTINT (IRQ_VIC_START+1) +#define IRQ_CRYPTO (IRQ_VIC_START+2) +#define IRQ_OWM (IRQ_VIC_START+3) +#define IRQ_MTU0 (IRQ_VIC_START+4) +#define IRQ_MTU1 (IRQ_VIC_START+5) +#define IRQ_GPIO0 (IRQ_VIC_START+6) +#define IRQ_GPIO1 (IRQ_VIC_START+7) +#define IRQ_GPIO2 (IRQ_VIC_START+8) +#define IRQ_GPIO3 (IRQ_VIC_START+9) +#define IRQ_RTC_RTT (IRQ_VIC_START+10) +#define IRQ_SSP (IRQ_VIC_START+11) +#define IRQ_UART0 (IRQ_VIC_START+12) +#define IRQ_DMA1 (IRQ_VIC_START+13) +#define IRQ_CLCD_MDIF (IRQ_VIC_START+14) +#define IRQ_DMA0 (IRQ_VIC_START+15) +#define IRQ_PWRFAIL (IRQ_VIC_START+16) +#define IRQ_UART1 (IRQ_VIC_START+17) +#define IRQ_FIRDA (IRQ_VIC_START+18) +#define IRQ_MSP0 (IRQ_VIC_START+19) +#define IRQ_I2C0 (IRQ_VIC_START+20) +#define IRQ_I2C1 (IRQ_VIC_START+21) +#define IRQ_SDMMC (IRQ_VIC_START+22) +#define IRQ_USBOTG (IRQ_VIC_START+23) +#define IRQ_SVA_IT0 (IRQ_VIC_START+24) +#define IRQ_SVA_IT1 (IRQ_VIC_START+25) +#define IRQ_SAA_IT0 (IRQ_VIC_START+26) +#define IRQ_SAA_IT1 (IRQ_VIC_START+27) +#define IRQ_UART2 (IRQ_VIC_START+28) +#define IRQ_MSP2 (IRQ_VIC_START+29) +#define IRQ_L2CC (IRQ_VIC_START+30) +#define IRQ_HPI (IRQ_VIC_START+31) +#define IRQ_SKE (IRQ_VIC_START+32) +#define IRQ_KP (IRQ_VIC_START+33) +#define IRQ_MEMST (IRQ_VIC_START+34) +#define IRQ_SGA_IT (IRQ_VIC_START+35) +#define IRQ_USBM (IRQ_VIC_START+36) +#define IRQ_MSP1 (IRQ_VIC_START+37) #define NOMADIK_GPIO_OFFSET (IRQ_VIC_START+64) diff --git a/trunk/arch/arm/mach-omap1/Makefile b/trunk/arch/arm/mach-omap1/Makefile index f0e69cbc5baa..222d58c0ae76 100644 --- a/trunk/arch/arm/mach-omap1/Makefile +++ b/trunk/arch/arm/mach-omap1/Makefile @@ -4,7 +4,7 @@ # Common support obj-y := io.o id.o sram-init.o sram.o time.o irq.o mux.o flash.o \ - serial.o devices.o dma.o + serial.o devices.o dma.o fb.o obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o timer.o ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) diff --git a/trunk/arch/arm/mach-omap1/board-ams-delta.c b/trunk/arch/arm/mach-omap1/board-ams-delta.c index a8fce3ccc707..2e98a3ac7c5e 100644 --- a/trunk/arch/arm/mach-omap1/board-ams-delta.c +++ b/trunk/arch/arm/mach-omap1/board-ams-delta.c @@ -160,7 +160,7 @@ static struct omap_lcd_config ams_delta_lcd_config __initdata = { .ctrl_name = "internal", }; -static struct omap_usb_config ams_delta_usb_config = { +static struct omap_usb_config ams_delta_usb_config __initdata = { .register_host = 1, .hmc_mode = 16, .pins[0] = 2, diff --git a/trunk/arch/arm/mach-omap1/fb.c b/trunk/arch/arm/mach-omap1/fb.c new file mode 100644 index 000000000000..c770d45c7226 --- /dev/null +++ b/trunk/arch/arm/mach-omap1/fb.c @@ -0,0 +1,80 @@ +/* + * File: arch/arm/plat-omap/fb.c + * + * Framebuffer device registration for TI OMAP platforms + * + * Copyright (C) 2006 Nokia Corporation + * Author: Imre Deak + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE) + +static bool omapfb_lcd_configured; +static struct omapfb_platform_data omapfb_config; + +static u64 omap_fb_dma_mask = ~(u32)0; + +static struct platform_device omap_fb_device = { + .name = "omapfb", + .id = -1, + .dev = { + .dma_mask = &omap_fb_dma_mask, + .coherent_dma_mask = DMA_BIT_MASK(32), + .platform_data = &omapfb_config, + }, + .num_resources = 0, +}; + +void __init omapfb_set_lcd_config(const struct omap_lcd_config *config) +{ + omapfb_config.lcd = *config; + omapfb_lcd_configured = true; +} + +static int __init omap_init_fb(void) +{ + /* + * If the board file has not set the lcd config with + * omapfb_set_lcd_config(), don't bother registering the omapfb device + */ + if (!omapfb_lcd_configured) + return 0; + + return platform_device_register(&omap_fb_device); +} + +arch_initcall(omap_init_fb); + +#else + +void __init omapfb_set_lcd_config(const struct omap_lcd_config *config) +{ +} + +#endif diff --git a/trunk/arch/arm/mach-omap1/mailbox.c b/trunk/arch/arm/mach-omap1/mailbox.c index e962926b67bc..efc8f207f6fc 100644 --- a/trunk/arch/arm/mach-omap1/mailbox.c +++ b/trunk/arch/arm/mach-omap1/mailbox.c @@ -142,7 +142,7 @@ static struct omap_mbox mbox_dsp_info = { static struct omap_mbox *omap1_mboxes[] = { &mbox_dsp_info, NULL }; -static int __devinit omap1_mbox_probe(struct platform_device *pdev) +static int omap1_mbox_probe(struct platform_device *pdev) { struct resource *mem; int ret; @@ -165,7 +165,7 @@ static int __devinit omap1_mbox_probe(struct platform_device *pdev) return 0; } -static int __devexit omap1_mbox_remove(struct platform_device *pdev) +static int omap1_mbox_remove(struct platform_device *pdev) { omap_mbox_unregister(); iounmap(mbox_base); @@ -174,7 +174,7 @@ static int __devexit omap1_mbox_remove(struct platform_device *pdev) static struct platform_driver omap1_mbox_driver = { .probe = omap1_mbox_probe, - .remove = __devexit_p(omap1_mbox_remove), + .remove = omap1_mbox_remove, .driver = { .name = "omap-mailbox", }, diff --git a/trunk/arch/arm/mach-omap1/usb.c b/trunk/arch/arm/mach-omap1/usb.c index 104fed366b8f..1a1db5971cd9 100644 --- a/trunk/arch/arm/mach-omap1/usb.c +++ b/trunk/arch/arm/mach-omap1/usb.c @@ -629,8 +629,14 @@ static void __init omap_1510_usb_init(struct omap_usb_config *config) static inline void omap_1510_usb_init(struct omap_usb_config *config) {} #endif -void __init omap1_usb_init(struct omap_usb_config *pdata) +void __init omap1_usb_init(struct omap_usb_config *_pdata) { + struct omap_usb_config *pdata; + + pdata = kmemdup(_pdata, sizeof(*pdata), GFP_KERNEL); + if (!pdata) + return; + pdata->usb0_init = omap1_usb0_init; pdata->usb1_init = omap1_usb1_init; pdata->usb2_init = omap1_usb2_init; diff --git a/trunk/arch/arm/mach-omap2/Kconfig b/trunk/arch/arm/mach-omap2/Kconfig index be0f62bf9037..41b581fd0213 100644 --- a/trunk/arch/arm/mach-omap2/Kconfig +++ b/trunk/arch/arm/mach-omap2/Kconfig @@ -26,6 +26,8 @@ config SOC_HAS_OMAP2_SDRC config SOC_HAS_REALTIME_COUNTER bool "Real time free running counter" + depends on SOC_OMAP5 + default y config ARCH_OMAP2 bool "TI OMAP2" @@ -79,7 +81,6 @@ config SOC_OMAP5 select ARM_GIC select CPU_V7 select HAVE_SMP - select SOC_HAS_REALTIME_COUNTER select COMMON_CLK comment "OMAP Core Type" diff --git a/trunk/arch/arm/mach-omap2/Makefile b/trunk/arch/arm/mach-omap2/Makefile index a8004f33b7e2..947cafe65aef 100644 --- a/trunk/arch/arm/mach-omap2/Makefile +++ b/trunk/arch/arm/mach-omap2/Makefile @@ -3,7 +3,7 @@ # # Common support -obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer.o pm.o \ +obj-y := id.o io.o control.o mux.o devices.o fb.o serial.o gpmc.o timer.o pm.o \ common.o gpio.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \ omap_device.o sram.o diff --git a/trunk/arch/arm/mach-omap2/board-3430sdp.c b/trunk/arch/arm/mach-omap2/board-3430sdp.c index 7b201546834d..bb73afc9ac17 100644 --- a/trunk/arch/arm/mach-omap2/board-3430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-3430sdp.c @@ -157,6 +157,7 @@ static struct omap_dss_device sdp3430_lcd_device = { static struct tfp410_platform_data dvi_panel = { .power_down_gpio = -1, + .i2c_bus_num = -1, }; static struct omap_dss_device sdp3430_dvi_device = { diff --git a/trunk/arch/arm/mach-omap2/board-am3517evm.c b/trunk/arch/arm/mach-omap2/board-am3517evm.c index 4be58fd071f6..f81a303b87ff 100644 --- a/trunk/arch/arm/mach-omap2/board-am3517evm.c +++ b/trunk/arch/arm/mach-omap2/board-am3517evm.c @@ -208,6 +208,7 @@ static struct omap_dss_device am3517_evm_tv_device = { static struct tfp410_platform_data dvi_panel = { .power_down_gpio = -1, + .i2c_bus_num = -1, }; static struct omap_dss_device am3517_evm_dvi_device = { diff --git a/trunk/arch/arm/mach-omap2/board-cm-t35.c b/trunk/arch/arm/mach-omap2/board-cm-t35.c index c8e37dc00892..b3102c2f4a3c 100644 --- a/trunk/arch/arm/mach-omap2/board-cm-t35.c +++ b/trunk/arch/arm/mach-omap2/board-cm-t35.c @@ -241,6 +241,7 @@ static struct omap_dss_device cm_t35_lcd_device = { static struct tfp410_platform_data dvi_panel = { .power_down_gpio = CM_T35_DVI_EN_GPIO, + .i2c_bus_num = -1, }; static struct omap_dss_device cm_t35_dvi_device = { diff --git a/trunk/arch/arm/mach-omap2/board-devkit8000.c b/trunk/arch/arm/mach-omap2/board-devkit8000.c index 7667eb749522..12865af25d3a 100644 --- a/trunk/arch/arm/mach-omap2/board-devkit8000.c +++ b/trunk/arch/arm/mach-omap2/board-devkit8000.c @@ -141,6 +141,7 @@ static struct omap_dss_device devkit8000_lcd_device = { static struct tfp410_platform_data dvi_panel = { .power_down_gpio = -1, + .i2c_bus_num = 1, }; static struct omap_dss_device devkit8000_dvi_device = { diff --git a/trunk/arch/arm/mach-omap2/board-h4.c b/trunk/arch/arm/mach-omap2/board-h4.c index 9a3878ec2256..3be1311f9e33 100644 --- a/trunk/arch/arm/mach-omap2/board-h4.c +++ b/trunk/arch/arm/mach-omap2/board-h4.c @@ -27,14 +27,12 @@ #include #include #include +#include #include #include #include -#include -#include - #include