From 2dfe362b4de188a2a6067055e655d1184b300659 Mon Sep 17 00:00:00 2001 From: Tao Ma Date: Sat, 13 Nov 2010 16:22:02 +0800 Subject: [PATCH] --- yaml --- r: 222082 b: refs/heads/master c: 1c66b360fe26204e2aa14e45086b4a6b8890b1a2 h: refs/heads/master v: v3 --- [refs] | 2 +- .../ABI/obsolete/proc-pid-oom_adj | 22 - trunk/Documentation/DocBook/kgdb.tmpl | 13 +- trunk/Documentation/block/switching-sched.txt | 8 +- trunk/Documentation/coccinelle.txt | 50 +- trunk/Documentation/filesystems/Locking | 2 + .../xfs-delayed-logging-design.txt | 11 + trunk/Documentation/i2c/busses/i2c-i801 | 6 +- .../Documentation/kbuild/kconfig-language.txt | 3 +- trunk/Documentation/kbuild/makefiles.txt | 7 - trunk/Documentation/kbuild/modules.txt | 733 +-- trunk/Documentation/kernel-parameters.txt | 2 +- trunk/Documentation/leds-class.txt | 21 +- trunk/Documentation/leds/leds-lp5521.txt | 88 - trunk/Documentation/leds/leds-lp5523.txt | 83 - trunk/Documentation/networking/ip-sysctl.txt | 9 - trunk/Documentation/rbtree.txt | 4 +- .../Documentation/scsi/ChangeLog.megaraid_sas | 47 - trunk/Documentation/sysctl/kernel.txt | 14 - trunk/Kbuild | 4 +- trunk/Kconfig | 11 - trunk/MAINTAINERS | 31 +- trunk/Makefile | 40 +- trunk/README | 1 - trunk/arch/Kconfig | 14 - trunk/arch/alpha/Kconfig | 4 + trunk/arch/arm/Kconfig | 21 +- trunk/arch/arm/common/gic.c | 28 +- trunk/arch/arm/configs/mx51_defconfig | 1 - .../arm/include/asm/hardware/cache-l2x0.h | 13 +- trunk/arch/arm/include/asm/hardware/it8152.h | 2 +- trunk/arch/arm/include/asm/kgdb.h | 5 +- trunk/arch/arm/include/asm/memblock.h | 7 + trunk/arch/arm/include/asm/outercache.h | 24 - trunk/arch/arm/kernel/hw_breakpoint.c | 3 +- trunk/arch/arm/kernel/kgdb.c | 2 +- trunk/arch/arm/kernel/machine_kexec.c | 3 - trunk/arch/arm/kernel/perf_event.c | 2 +- trunk/arch/arm/kernel/stacktrace.c | 2 +- trunk/arch/arm/kernel/traps.c | 5 +- trunk/arch/arm/kernel/unwind.c | 2 +- trunk/arch/arm/kernel/vmlinux.lds.S | 1 - trunk/arch/arm/mach-ep93xx/include/mach/dma.h | 111 +- trunk/arch/arm/mach-imx/mach-mx27_3ds.c | 38 - trunk/arch/arm/mach-ixp2000/core.c | 2 +- trunk/arch/arm/mach-kirkwood/common.c | 7 +- trunk/arch/arm/mach-kirkwood/d2net_v2-setup.c | 2 +- .../arch/arm/mach-kirkwood/lacie_v2-common.c | 14 + .../arch/arm/mach-kirkwood/lacie_v2-common.h | 2 + trunk/arch/arm/mach-kirkwood/mpp.c | 4 +- .../arm/mach-kirkwood/netspace_v2-setup.c | 6 +- .../arch/arm/mach-kirkwood/netxbig_v2-setup.c | 4 +- trunk/arch/arm/mach-kirkwood/ts41x-setup.c | 14 +- .../arch/arm/mach-mmp/include/mach/cputype.h | 3 +- trunk/arch/arm/mach-msm/Kconfig | 9 +- trunk/arch/arm/mach-msm/board-halibut.c | 1 + .../arm/mach-msm/include/mach/debug-macro.S | 15 +- trunk/arch/arm/mach-msm/iommu_dev.c | 22 +- trunk/arch/arm/mach-msm/timer.c | 2 +- trunk/arch/arm/mach-mv78xx0/mpp.c | 4 +- trunk/arch/arm/mach-mx25/Kconfig | 1 - trunk/arch/arm/mach-mx25/mach-mx25_3ds.c | 10 - trunk/arch/arm/mach-mx3/Kconfig | 2 - trunk/arch/arm/mach-mx3/devices.c | 16 +- trunk/arch/arm/mach-mx3/mach-mx31_3ds.c | 38 +- trunk/arch/arm/mach-mx3/mach-mx35_3ds.c | 16 - trunk/arch/arm/mach-mx5/Kconfig | 2 - trunk/arch/arm/mach-mx5/Makefile | 1 - trunk/arch/arm/mach-mx5/board-mx51_babbage.c | 49 +- trunk/arch/arm/mach-mx5/clock-mx51.c | 22 +- trunk/arch/arm/mach-mx5/cpu_op-mx51.c | 29 - trunk/arch/arm/mach-mx5/cpu_op-mx51.h | 14 - trunk/arch/arm/mach-mx5/devices-imx51.h | 2 - trunk/arch/arm/mach-omap2/board-4430sdp.c | 7 +- trunk/arch/arm/mach-omap2/board-omap4panda.c | 15 +- trunk/arch/arm/mach-omap2/omap4-common.c | 13 - trunk/arch/arm/mach-orion5x/mpp.c | 4 +- trunk/arch/arm/mach-orion5x/ts78xx-setup.c | 2 +- trunk/arch/arm/mach-pxa/cm-x2xx.c | 2 + trunk/arch/arm/mach-pxa/saar.c | 2 +- trunk/arch/arm/mach-s3c2410/h1940-bluetooth.c | 13 +- .../arch/arm/mach-s3c2410/include/mach/gpio.h | 10 +- .../mach-s3c2410/include/mach/h1940-latch.h | 57 +- .../include/mach/regs-s3c2443-clock.h | 2 - .../arm/mach-s3c2410/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s3c2410/mach-h1940.c | 169 +- trunk/arch/arm/mach-s3c2412/s3c2412.c | 3 +- trunk/arch/arm/mach-s3c2416/Kconfig | 6 - trunk/arch/arm/mach-s3c2416/Makefile | 2 +- trunk/arch/arm/mach-s3c2416/irq.c | 2 - trunk/arch/arm/mach-s3c2416/pm.c | 84 - trunk/arch/arm/mach-s3c2416/s3c2416.c | 3 +- trunk/arch/arm/mach-s3c2440/Kconfig | 7 +- trunk/arch/arm/mach-s3c2440/mach-rx1950.c | 218 +- trunk/arch/arm/mach-s3c2440/s3c244x.c | 3 +- trunk/arch/arm/mach-s3c2443/s3c2443.c | 3 +- .../arm/mach-s3c24a0/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s3c64xx/Kconfig | 22 - trunk/arch/arm/mach-s3c64xx/Makefile | 1 - trunk/arch/arm/mach-s3c64xx/dev-audio.c | 63 +- trunk/arch/arm/mach-s3c64xx/gpiolib.c | 8 +- .../arm/mach-s3c64xx/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s3c64xx/mach-mini6410.c | 357 -- trunk/arch/arm/mach-s3c64xx/mach-real6410.c | 198 +- trunk/arch/arm/mach-s3c64xx/setup-fb-24bpp.c | 13 +- trunk/arch/arm/mach-s3c64xx/setup-ide.c | 11 +- trunk/arch/arm/mach-s3c64xx/setup-keypad.c | 16 +- .../arch/arm/mach-s3c64xx/setup-sdhci-gpio.c | 41 +- trunk/arch/arm/mach-s5p6442/Kconfig | 1 + trunk/arch/arm/mach-s5p6442/clock.c | 28 - trunk/arch/arm/mach-s5p6442/dev-audio.c | 30 +- trunk/arch/arm/mach-s5p6442/dev-spi.c | 6 +- trunk/arch/arm/mach-s5p6442/dma.c | 2 +- .../mach-s5p6442/include/mach/regs-clock.h | 1 - .../arm/mach-s5p6442/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s5p64x0/Kconfig | 2 + trunk/arch/arm/mach-s5p64x0/clock-s5p6440.c | 19 +- trunk/arch/arm/mach-s5p64x0/clock-s5p6450.c | 19 +- trunk/arch/arm/mach-s5p64x0/clock.c | 18 + trunk/arch/arm/mach-s5p64x0/dev-audio.c | 26 +- trunk/arch/arm/mach-s5p64x0/dev-spi.c | 38 +- trunk/arch/arm/mach-s5p64x0/dma.c | 2 +- .../mach-s5p64x0/include/mach/regs-clock.h | 2 - .../arm/mach-s5p64x0/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s5p64x0/setup-i2c0.c | 12 +- trunk/arch/arm/mach-s5p64x0/setup-i2c1.c | 12 +- trunk/arch/arm/mach-s5pc100/Kconfig | 1 + trunk/arch/arm/mach-s5pc100/Makefile | 2 +- trunk/arch/arm/mach-s5pc100/clock.c | 174 +- trunk/arch/arm/mach-s5pc100/dev-audio.c | 86 +- trunk/arch/arm/mach-s5pc100/dev-spi.c | 22 +- trunk/arch/arm/mach-s5pc100/dma.c | 4 +- trunk/arch/arm/mach-s5pc100/gpiolib.c | 216 +- .../arch/arm/mach-s5pc100/include/mach/gpio.h | 7 + .../arch/arm/mach-s5pc100/include/mach/irqs.h | 13 +- .../arch/arm/mach-s5pc100/include/mach/map.h | 2 - .../arm/mach-s5pc100/include/mach/regs-gpio.h | 49 +- .../arm/mach-s5pc100/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s5pc100/irq-gpio.c | 266 ++ trunk/arch/arm/mach-s5pc100/mach-smdkc100.c | 4 - trunk/arch/arm/mach-s5pc100/setup-fb-24bpp.c | 30 +- trunk/arch/arm/mach-s5pc100/setup-i2c0.c | 6 +- trunk/arch/arm/mach-s5pc100/setup-i2c1.c | 6 +- trunk/arch/arm/mach-s5pc100/setup-ide.c | 41 +- trunk/arch/arm/mach-s5pc100/setup-keypad.c | 15 +- .../arch/arm/mach-s5pc100/setup-sdhci-gpio.c | 35 +- trunk/arch/arm/mach-s5pv210/Kconfig | 37 +- trunk/arch/arm/mach-s5pv210/Makefile | 3 - trunk/arch/arm/mach-s5pv210/clock.c | 207 +- trunk/arch/arm/mach-s5pv210/cpu.c | 15 - trunk/arch/arm/mach-s5pv210/cpufreq.c | 484 -- trunk/arch/arm/mach-s5pv210/dev-audio.c | 86 +- trunk/arch/arm/mach-s5pv210/dev-spi.c | 19 +- trunk/arch/arm/mach-s5pv210/dma.c | 4 +- trunk/arch/arm/mach-s5pv210/gpiolib.c | 14 +- .../arch/arm/mach-s5pv210/include/mach/irqs.h | 12 +- .../arch/arm/mach-s5pv210/include/mach/map.h | 12 - .../arm/mach-s5pv210/include/mach/pm-core.h | 43 - .../mach-s5pv210/include/mach/regs-clock.h | 39 +- .../arm/mach-s5pv210/include/mach/regs-gpio.h | 7 + .../arm/mach-s5pv210/include/mach/regs-sys.h | 19 - .../arm/mach-s5pv210/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s5pv210/mach-aquila.c | 169 - trunk/arch/arm/mach-s5pv210/mach-goni.c | 381 +- trunk/arch/arm/mach-s5pv210/mach-smdkc110.c | 4 - trunk/arch/arm/mach-s5pv210/mach-smdkv210.c | 4 - trunk/arch/arm/mach-s5pv210/mach-torbreck.c | 131 - trunk/arch/arm/mach-s5pv210/pm.c | 166 - trunk/arch/arm/mach-s5pv210/setup-fb-24bpp.c | 34 +- trunk/arch/arm/mach-s5pv210/setup-i2c0.c | 6 +- trunk/arch/arm/mach-s5pv210/setup-i2c1.c | 6 +- trunk/arch/arm/mach-s5pv210/setup-i2c2.c | 6 +- trunk/arch/arm/mach-s5pv210/setup-ide.c | 49 +- trunk/arch/arm/mach-s5pv210/setup-keypad.c | 14 +- .../arch/arm/mach-s5pv210/setup-sdhci-gpio.c | 57 +- trunk/arch/arm/mach-s5pv210/sleep.S | 170 - trunk/arch/arm/mach-s5pv310/Kconfig | 95 +- trunk/arch/arm/mach-s5pv310/Makefile | 10 +- trunk/arch/arm/mach-s5pv310/clock.c | 635 +-- trunk/arch/arm/mach-s5pv310/cpu.c | 47 +- trunk/arch/arm/mach-s5pv310/gpiolib.c | 304 -- trunk/arch/arm/mach-s5pv310/hotplug.c | 144 - .../arch/arm/mach-s5pv310/include/mach/irqs.h | 44 +- .../arch/arm/mach-s5pv310/include/mach/map.h | 19 +- .../mach-s5pv310/include/mach/regs-clock.h | 32 +- .../arm/mach-s5pv310/include/mach/regs-gpio.h | 42 - .../arm/mach-s5pv310/include/mach/regs-srom.h | 50 - .../arm/mach-s5pv310/include/mach/vmalloc.h | 2 +- trunk/arch/arm/mach-s5pv310/irq-combiner.c | 6 +- trunk/arch/arm/mach-s5pv310/irq-eint.c | 228 - trunk/arch/arm/mach-s5pv310/mach-smdkc210.c | 202 - trunk/arch/arm/mach-s5pv310/mach-smdkv310.c | 121 +- .../arm/mach-s5pv310/mach-universal_c210.c | 81 +- trunk/arch/arm/mach-s5pv310/setup-i2c0.c | 6 +- trunk/arch/arm/mach-s5pv310/setup-i2c1.c | 6 +- trunk/arch/arm/mach-s5pv310/setup-i2c2.c | 6 +- trunk/arch/arm/mach-s5pv310/setup-i2c3.c | 23 - trunk/arch/arm/mach-s5pv310/setup-i2c4.c | 23 - trunk/arch/arm/mach-s5pv310/setup-i2c5.c | 23 - trunk/arch/arm/mach-s5pv310/setup-i2c6.c | 23 - trunk/arch/arm/mach-s5pv310/setup-i2c7.c | 23 - .../arch/arm/mach-s5pv310/setup-sdhci-gpio.c | 152 - trunk/arch/arm/mach-s5pv310/setup-sdhci.c | 69 - trunk/arch/arm/mach-sa1100/cpu-sa1100.c | 5 +- trunk/arch/arm/mach-shmobile/Kconfig | 2 - trunk/arch/arm/mach-shmobile/board-ap4evb.c | 381 +- trunk/arch/arm/mach-shmobile/clock-sh7367.c | 2 +- trunk/arch/arm/mach-shmobile/clock-sh7372.c | 180 +- trunk/arch/arm/mach-shmobile/clock-sh7377.c | 2 +- .../arm/mach-shmobile/include/mach/gpio.h | 4 +- .../arm/mach-shmobile/include/mach/sh7372.h | 12 +- trunk/arch/arm/mach-shmobile/intc-sh7372.c | 28 - trunk/arch/arm/mach-shmobile/pfc-sh7372.c | 8 +- trunk/arch/arm/mach-shmobile/setup-sh7367.c | 1 + trunk/arch/arm/mach-shmobile/setup-sh7372.c | 94 +- trunk/arch/arm/mach-shmobile/setup-sh7377.c | 1 + trunk/arch/arm/mach-u300/clock.c | 6 +- trunk/arch/arm/mach-u300/core.c | 47 +- .../arm/mach-u300/include/mach/u300-regs.h | 2 + trunk/arch/arm/mach-u300/spi.c | 2 +- trunk/arch/arm/mach-ux500/cpu.c | 45 - trunk/arch/arm/mach-vexpress/ct-ca9x4.c | 2 - trunk/arch/arm/mm/Kconfig | 8 - trunk/arch/arm/mm/cache-fa.S | 12 - trunk/arch/arm/mm/cache-l2x0.c | 78 +- trunk/arch/arm/mm/cache-v3.S | 10 - trunk/arch/arm/mm/cache-v4.S | 10 - trunk/arch/arm/mm/cache-v4wb.S | 12 - trunk/arch/arm/mm/cache-v4wt.S | 12 - trunk/arch/arm/mm/dma-mapping.c | 2 +- trunk/arch/arm/mm/fault-armv.c | 28 +- trunk/arch/arm/mm/init.c | 155 +- trunk/arch/arm/mm/mmu.c | 73 +- trunk/arch/arm/mm/proc-arm1020.S | 15 - trunk/arch/arm/mm/proc-arm1020e.S | 15 - trunk/arch/arm/mm/proc-arm1022.S | 15 - trunk/arch/arm/mm/proc-arm1026.S | 15 - trunk/arch/arm/mm/proc-arm920.S | 12 - trunk/arch/arm/mm/proc-arm922.S | 12 - trunk/arch/arm/mm/proc-arm925.S | 12 - trunk/arch/arm/mm/proc-arm926.S | 12 - trunk/arch/arm/mm/proc-arm940.S | 12 - trunk/arch/arm/mm/proc-arm946.S | 12 - trunk/arch/arm/mm/proc-feroceon.S | 13 - trunk/arch/arm/mm/proc-xsc3.S | 12 - trunk/arch/arm/mm/proc-xscale.S | 12 - trunk/arch/arm/plat-mxc/Makefile | 1 - trunk/arch/arm/plat-mxc/cpufreq.c | 206 - trunk/arch/arm/plat-mxc/devices/Kconfig | 6 +- trunk/arch/arm/plat-mxc/devices/Makefile | 1 - .../arm/plat-mxc/devices/platform-gpio_keys.c | 27 - trunk/arch/arm/plat-mxc/gpio.c | 32 - .../plat-mxc/include/mach/devices-common.h | 4 - .../arm/plat-mxc/include/mach/iomux-mx51.h | 2 - trunk/arch/arm/plat-mxc/include/mach/mx31.h | 1 + trunk/arch/arm/plat-mxc/include/mach/mx35.h | 2 + trunk/arch/arm/plat-mxc/include/mach/mxc.h | 13 +- trunk/arch/arm/plat-omap/devices.c | 4 +- trunk/arch/arm/plat-orion/include/plat/pcie.h | 3 - trunk/arch/arm/plat-orion/pcie.c | 5 + .../arm/plat-pxa/include/plat/pxa3xx_nand.h | 18 +- trunk/arch/arm/plat-s3c24xx/Kconfig | 1 - trunk/arch/arm/plat-s3c24xx/common-smdk.c | 2 +- trunk/arch/arm/plat-s3c24xx/gpiolib.c | 10 +- trunk/arch/arm/plat-s5p/Kconfig | 5 - trunk/arch/arm/plat-s5p/Makefile | 3 - trunk/arch/arm/plat-s5p/clock.c | 29 +- trunk/arch/arm/plat-s5p/include/plat/irqs.h | 18 - .../arch/arm/plat-s5p/include/plat/map-s5p.h | 40 +- .../arm/plat-s5p/include/plat/s5p-clock.h | 4 - trunk/arch/arm/plat-s5p/irq-eint.c | 10 +- trunk/arch/arm/plat-s5p/irq-gpioint.c | 237 - trunk/arch/arm/plat-s5p/irq-pm.c | 93 - trunk/arch/arm/plat-s5p/pm.c | 52 - trunk/arch/arm/plat-samsung/Kconfig | 25 - trunk/arch/arm/plat-samsung/Makefile | 5 - trunk/arch/arm/plat-samsung/dev-hsmmc.c | 8 +- trunk/arch/arm/plat-samsung/dev-hsmmc1.c | 8 +- trunk/arch/arm/plat-samsung/dev-hsmmc2.c | 8 +- trunk/arch/arm/plat-samsung/dev-hsmmc3.c | 12 +- trunk/arch/arm/plat-samsung/dev-i2c2.c | 4 +- trunk/arch/arm/plat-samsung/dev-i2c3.c | 68 - trunk/arch/arm/plat-samsung/dev-i2c4.c | 68 - trunk/arch/arm/plat-samsung/dev-i2c5.c | 68 - trunk/arch/arm/plat-samsung/dev-i2c6.c | 68 - trunk/arch/arm/plat-samsung/dev-i2c7.c | 68 - trunk/arch/arm/plat-samsung/gpio-config.c | 50 - trunk/arch/arm/plat-samsung/gpio.c | 8 - .../arm/plat-samsung/include/plat/audio.h | 9 - .../arch/arm/plat-samsung/include/plat/devs.h | 7 - .../include/plat/gpio-cfg-helpers.h | 6 - .../arm/plat-samsung/include/plat/gpio-cfg.h | 56 - .../arm/plat-samsung/include/plat/gpio-core.h | 15 - .../arch/arm/plat-samsung/include/plat/iic.h | 10 - .../arm/plat-samsung/include/plat/map-base.h | 4 +- .../arm/plat-samsung/include/plat/nand-core.h | 28 - .../arm/plat-samsung/include/plat/sdhci.h | 64 - trunk/arch/arm/plat-samsung/pm-gpio.c | 4 +- trunk/arch/arm/plat-samsung/s3c-pl330.c | 34 +- trunk/arch/avr32/Kconfig | 7 + trunk/arch/blackfin/Kconfig | 7 + trunk/arch/blackfin/kernel/kgdb.c | 3 +- trunk/arch/cris/Kconfig | 7 + trunk/arch/frv/Kconfig | 6 + trunk/arch/h8300/Kconfig | 7 + trunk/arch/ia64/Kconfig | 7 + trunk/arch/ia64/kernel/perfmon.c | 9 +- trunk/arch/m32r/Kconfig | 7 + trunk/arch/m68k/Kconfig | 6 + trunk/arch/m68k/include/asm/irqflags.h | 2 - trunk/arch/m68k/include/asm/machdep.h | 1 - trunk/arch/m68knommu/Kconfig | 7 + trunk/arch/microblaze/Kconfig | 5 + trunk/arch/mips/Kconfig | 81 +- trunk/arch/mips/Kconfig.debug | 9 - trunk/arch/mips/Makefile | 4 +- trunk/arch/mips/ar7/gpio.c | 243 +- trunk/arch/mips/ar7/platform.c | 56 - trunk/arch/mips/ar7/prom.c | 2 - trunk/arch/mips/ar7/setup.c | 14 - trunk/arch/mips/bcm63xx/cpu.c | 30 +- trunk/arch/mips/cavium-octeon/Kconfig | 23 - trunk/arch/mips/cavium-octeon/csrc-octeon.c | 34 +- trunk/arch/mips/cavium-octeon/dma-octeon.c | 581 ++- .../mips/cavium-octeon/executive/cvmx-l2c.c | 810 ++-- .../arch/mips/cavium-octeon/octeon-platform.c | 112 +- trunk/arch/mips/cavium-octeon/serial.c | 2 +- trunk/arch/mips/cavium-octeon/setup.c | 120 +- trunk/arch/mips/include/asm/atomic.h | 208 +- trunk/arch/mips/include/asm/bitops.h | 270 +- trunk/arch/mips/include/asm/bootinfo.h | 12 - trunk/arch/mips/include/asm/cmpxchg.h | 7 +- trunk/arch/mips/include/asm/cpu.h | 26 +- trunk/arch/mips/include/asm/device.h | 15 +- trunk/arch/mips/include/asm/dma-mapping.h | 96 +- trunk/arch/mips/include/asm/dma.h | 3 - trunk/arch/mips/include/asm/local.h | 2 +- trunk/arch/mips/include/asm/mach-ar7/ar7.h | 47 +- trunk/arch/mips/include/asm/mach-ar7/gpio.h | 3 +- .../include/asm/mach-bcm63xx/bcm963xx_tag.h | 97 - .../cpu-feature-overrides.h | 8 +- .../asm/mach-cavium-octeon/dma-coherence.h | 24 +- .../include/asm/mach-ip27/dma-coherence.h | 5 +- .../include/asm/mach-ip32/dma-coherence.h | 5 +- .../include/asm/mach-jazz/dma-coherence.h | 9 +- trunk/arch/mips/include/asm/mipsregs.h | 51 - .../mips/include/asm/octeon/cvmx-agl-defs.h | 616 +-- trunk/arch/mips/include/asm/octeon/cvmx-asm.h | 11 - .../mips/include/asm/octeon/cvmx-ciu-defs.h | 857 +--- .../mips/include/asm/octeon/cvmx-gpio-defs.h | 74 +- .../mips/include/asm/octeon/cvmx-iob-defs.h | 242 +- .../mips/include/asm/octeon/cvmx-ipd-defs.h | 314 +- .../mips/include/asm/octeon/cvmx-l2c-defs.h | 738 +-- trunk/arch/mips/include/asm/octeon/cvmx-l2c.h | 225 +- .../mips/include/asm/octeon/cvmx-l2d-defs.h | 38 +- .../mips/include/asm/octeon/cvmx-l2t-defs.h | 5 +- .../mips/include/asm/octeon/cvmx-led-defs.h | 41 +- .../mips/include/asm/octeon/cvmx-mio-defs.h | 807 +--- .../mips/include/asm/octeon/cvmx-mixx-defs.h | 200 +- .../mips/include/asm/octeon/cvmx-npei-defs.h | 681 +-- .../mips/include/asm/octeon/cvmx-npi-defs.h | 362 +- .../mips/include/asm/octeon/cvmx-pci-defs.h | 265 +- .../include/asm/octeon/cvmx-pciercx-defs.h | 435 +- .../mips/include/asm/octeon/cvmx-pescx-defs.h | 50 +- .../mips/include/asm/octeon/cvmx-pexp-defs.h | 378 +- .../mips/include/asm/octeon/cvmx-pow-defs.h | 157 +- .../mips/include/asm/octeon/cvmx-rnm-defs.h | 67 +- .../mips/include/asm/octeon/cvmx-smix-defs.h | 46 +- .../mips/include/asm/octeon/cvmx-uctlx-defs.h | 261 -- .../mips/include/asm/octeon/octeon-model.h | 36 +- trunk/arch/mips/include/asm/octeon/octeon.h | 1 - .../arch/mips/include/asm/octeon/pci-octeon.h | 10 - trunk/arch/mips/include/asm/perf_event.h | 25 - trunk/arch/mips/include/asm/pgtable-64.h | 4 +- trunk/arch/mips/include/asm/processor.h | 40 +- trunk/arch/mips/include/asm/system.h | 52 +- trunk/arch/mips/include/asm/thread_info.h | 2 - trunk/arch/mips/include/asm/uaccess.h | 4 +- trunk/arch/mips/kernel/Makefile | 2 - trunk/arch/mips/kernel/cpu-probe.c | 82 +- trunk/arch/mips/kernel/irq.c | 24 - trunk/arch/mips/kernel/perf_event.c | 601 --- trunk/arch/mips/kernel/perf_event_mipsxx.c | 1052 ----- trunk/arch/mips/kernel/setup.c | 1 - trunk/arch/mips/kernel/traps.c | 31 +- trunk/arch/mips/kernel/unaligned.c | 7 - trunk/arch/mips/loongson/Kconfig | 2 + trunk/arch/mips/math-emu/cp1emu.c | 3 - trunk/arch/mips/mm/c-octeon.c | 16 +- trunk/arch/mips/mm/c-r4k.c | 21 +- trunk/arch/mips/mm/dma-default.c | 165 +- trunk/arch/mips/mm/fault.c | 11 +- trunk/arch/mips/mm/sc-mips.c | 34 +- trunk/arch/mips/mm/tlbex.c | 11 +- trunk/arch/mips/mm/uasm.c | 20 +- trunk/arch/mips/pci/pci-octeon.c | 60 +- trunk/arch/mips/pci/pcie-octeon.c | 5 - trunk/arch/mn10300/Kconfig | 9 + trunk/arch/parisc/Kconfig | 7 + trunk/arch/powerpc/Kconfig | 13 +- trunk/arch/powerpc/include/asm/fsl_lbc.h | 34 +- trunk/arch/powerpc/include/asm/kgdb.h | 1 - trunk/arch/powerpc/kernel/kgdb.c | 188 +- trunk/arch/powerpc/kernel/kvm.c | 2 +- trunk/arch/powerpc/kvm/booke_interrupts.S | 2 +- trunk/arch/powerpc/kvm/e500.c | 2 +- trunk/arch/powerpc/kvm/powerpc.c | 1 - trunk/arch/powerpc/kvm/timing.c | 2 + .../arch/powerpc/platforms/cell/spufs/inode.c | 10 +- trunk/arch/powerpc/sysdev/fsl_lbc.c | 244 +- trunk/arch/s390/Kconfig | 68 +- trunk/arch/s390/hypfs/hypfs_diag.c | 19 +- trunk/arch/s390/hypfs/inode.c | 8 +- trunk/arch/s390/include/asm/dasd.h | 40 +- trunk/arch/s390/kernel/asm-offsets.c | 6 +- trunk/arch/s390/kernel/early.c | 2 + trunk/arch/s390/kernel/entry.S | 1 - trunk/arch/s390/kernel/entry64.S | 1 - trunk/arch/s390/kernel/kprobes.c | 9 +- trunk/arch/s390/kernel/setup.c | 3 - trunk/arch/s390/kernel/sysinfo.c | 2 - trunk/arch/s390/kernel/topology.c | 6 +- trunk/arch/s390/kernel/vdso32/clock_getres.S | 6 +- trunk/arch/s390/kernel/vdso32/clock_gettime.S | 4 +- trunk/arch/s390/kernel/vdso64/clock_getres.S | 6 +- trunk/arch/s390/kernel/vdso64/clock_gettime.S | 4 +- trunk/arch/score/Kconfig | 5 + trunk/arch/sh/Kconfig | 8 +- trunk/arch/sh/Makefile | 3 + trunk/arch/sh/boards/Kconfig | 7 + trunk/arch/sh/boards/Makefile | 2 - trunk/arch/sh/boards/board-edosk7705.c | 78 - trunk/arch/sh/boards/mach-ap325rxa/setup.c | 29 +- trunk/arch/sh/boards/mach-ecovec24/setup.c | 60 +- trunk/arch/sh/boards/mach-edosk7705/Makefile | 5 + trunk/arch/sh/boards/mach-edosk7705/io.c | 71 + trunk/arch/sh/boards/mach-edosk7705/setup.c | 36 + trunk/arch/sh/boards/mach-kfr2r09/setup.c | 29 +- trunk/arch/sh/boards/mach-microdev/io.c | 246 +- trunk/arch/sh/boards/mach-microdev/setup.c | 23 +- trunk/arch/sh/boards/mach-migor/setup.c | 58 +- trunk/arch/sh/boards/mach-se/7206/Makefile | 2 +- trunk/arch/sh/boards/mach-se/7206/io.c | 104 + trunk/arch/sh/boards/mach-se/7206/irq.c | 4 +- trunk/arch/sh/boards/mach-se/7206/setup.c | 15 + trunk/arch/sh/boards/mach-se/770x/Makefile | 2 +- trunk/arch/sh/boards/mach-se/770x/io.c | 156 + trunk/arch/sh/boards/mach-se/770x/setup.c | 22 + trunk/arch/sh/boards/mach-se/7724/setup.c | 54 +- trunk/arch/sh/boards/mach-se/7751/Makefile | 2 +- trunk/arch/sh/boards/mach-se/7751/io.c | 119 + trunk/arch/sh/boards/mach-se/7751/setup.c | 18 + trunk/arch/sh/boards/mach-snapgear/Makefile | 5 + trunk/arch/sh/boards/mach-snapgear/io.c | 121 + .../setup.c} | 38 +- trunk/arch/sh/boards/mach-systemh/Makefile | 13 + trunk/arch/sh/boards/mach-systemh/io.c | 158 + trunk/arch/sh/boards/mach-systemh/irq.c | 61 + trunk/arch/sh/boards/mach-systemh/setup.c | 57 + ...eedge5410_defconfig => snapgear_defconfig} | 0 trunk/arch/sh/configs/systemh_defconfig | 28 + trunk/arch/sh/include/asm/addrspace.h | 8 +- trunk/arch/sh/include/asm/pgtable.h | 12 + trunk/arch/sh/include/asm/system.h | 4 +- trunk/arch/sh/include/asm/system_32.h | 36 + trunk/arch/sh/include/asm/system_64.h | 3 + trunk/arch/sh/include/asm/uncached.h | 40 - .../sh/include/mach-common/mach/edosk7705.h | 7 + .../sh/include/mach-common/mach/microdev.h | 9 + .../mach/{secureedge5410.h => snapgear.h} | 22 + .../sh/include/mach-common/mach/systemh7751.h | 71 + trunk/arch/sh/kernel/cpu/sh4a/clock-sh7724.c | 6 +- trunk/arch/sh/mm/Kconfig | 2 +- trunk/arch/sh/mm/consistent.c | 15 +- trunk/arch/sh/mm/uncached.c | 2 +- trunk/arch/sh/tools/mach-types | 1 + trunk/arch/sparc/Kconfig | 9 + trunk/arch/sparc/include/asm/jump_label.h | 2 +- trunk/arch/sparc/kernel/irq_32.c | 4 +- trunk/arch/sparc/kernel/leon_smp.c | 4 +- trunk/arch/sparc/kernel/rtrap_32.S | 6 +- trunk/arch/sparc/kernel/rtrap_64.S | 36 +- trunk/arch/sparc/mm/fault_32.c | 12 - trunk/arch/tile/Kconfig | 2 + trunk/arch/tile/include/asm/highmem.h | 1 + trunk/arch/tile/include/asm/kmap_types.h | 34 +- trunk/arch/tile/include/asm/pgtable.h | 6 +- trunk/arch/tile/include/asm/stat.h | 3 - trunk/arch/tile/include/asm/unistd.h | 1 - trunk/arch/tile/kernel/compat.c | 10 +- trunk/arch/tile/kernel/early_printk.c | 2 +- trunk/arch/tile/kernel/hardwall.c | 6 +- trunk/arch/tile/kernel/irq.c | 4 +- trunk/arch/tile/kernel/machine_kexec.c | 6 +- trunk/arch/tile/kernel/messaging.c | 2 +- trunk/arch/tile/kernel/ptrace.c | 39 +- trunk/arch/tile/kernel/reboot.c | 6 +- trunk/arch/tile/kernel/setup.c | 8 +- trunk/arch/tile/kernel/signal.c | 9 +- trunk/arch/tile/kernel/smp.c | 2 +- trunk/arch/tile/kernel/time.c | 8 +- trunk/arch/tile/lib/memcpy_tile64.c | 11 +- trunk/arch/tile/mm/highmem.c | 2 +- trunk/arch/tile/mm/init.c | 8 +- trunk/arch/tile/mm/pgtable.c | 4 +- trunk/arch/um/Kconfig.common | 2 + trunk/arch/um/include/asm/ptrace-generic.h | 4 +- trunk/arch/um/kernel/ptrace.c | 2 +- trunk/arch/x86/Kconfig | 8 +- trunk/arch/x86/Makefile_32.cpu | 13 +- trunk/arch/x86/include/asm/acpi.h | 3 - trunk/arch/x86/include/asm/apic.h | 10 +- trunk/arch/x86/include/asm/io.h | 13 - trunk/arch/x86/include/asm/io_apic.h | 1 - trunk/arch/x86/include/asm/pci.h | 33 +- trunk/arch/x86/include/asm/pci_x86.h | 1 - trunk/arch/x86/include/asm/uv/uv_hub.h | 21 +- trunk/arch/x86/include/asm/uv/uv_mmrs.h | 189 +- trunk/arch/x86/include/asm/x86_init.h | 9 - trunk/arch/x86/include/asm/xen/pci.h | 65 - trunk/arch/x86/kernel/acpi/boot.c | 60 +- trunk/arch/x86/kernel/alternative.c | 71 +- trunk/arch/x86/kernel/apic/apic.c | 1 + trunk/arch/x86/kernel/apic/io_apic.c | 11 +- trunk/arch/x86/kernel/apic/x2apic_uv_x.c | 36 +- trunk/arch/x86/kernel/cpu/perf_event_amd.c | 4 +- trunk/arch/x86/kernel/irq_32.c | 9 +- trunk/arch/x86/kernel/kgdb.c | 3 +- trunk/arch/x86/kernel/microcode_amd.c | 2 +- trunk/arch/x86/kernel/mmconf-fam10h_64.c | 7 +- trunk/arch/x86/kernel/pvclock.c | 38 + trunk/arch/x86/kernel/x86_init.c | 7 - trunk/arch/x86/kvm/mmu.c | 9 +- trunk/arch/x86/kvm/x86.c | 16 +- trunk/arch/x86/mm/numa_64.c | 7 +- trunk/arch/x86/mm/tlb.c | 2 +- trunk/arch/x86/pci/Makefile | 1 - trunk/arch/x86/pci/common.c | 17 +- trunk/arch/x86/pci/i386.c | 2 - trunk/arch/x86/pci/xen.c | 416 -- trunk/arch/x86/platform/uv/tlb_uv.c | 13 +- trunk/arch/x86/xen/Kconfig | 10 - trunk/arch/x86/xen/enlighten.c | 5 - trunk/arch/x86/xen/mmu.c | 49 +- trunk/arch/x86/xen/pci-swiotlb-xen.c | 4 - trunk/arch/x86/xen/setup.c | 19 +- trunk/arch/x86/xen/smp.c | 26 - trunk/arch/xtensa/Kconfig | 5 + trunk/block/blk-core.c | 11 +- trunk/block/blk-ioc.c | 14 + trunk/block/blk-map.c | 2 - trunk/block/compat_ioctl.c | 4 +- trunk/block/elevator.c | 4 +- trunk/block/ioctl.c | 7 +- trunk/block/scsi_ioctl.c | 34 +- trunk/crypto/pcrypt.c | 1 + trunk/drivers/Makefile | 1 - trunk/drivers/acpi/debugfs.c | 2 +- trunk/drivers/ata/libata-scsi.c | 5 +- trunk/drivers/ata/pata_legacy.c | 2 +- trunk/drivers/ata/pata_octeon_cf.c | 4 +- trunk/drivers/atm/solos-attrlist.c | 1 - trunk/drivers/atm/solos-pci.c | 8 - trunk/drivers/base/devtmpfs.c | 18 +- trunk/drivers/base/power/runtime.c | 2 +- trunk/drivers/block/aoe/aoeblk.c | 3 + trunk/drivers/block/cciss.c | 131 +- trunk/drivers/block/cciss.h | 4 - trunk/drivers/block/drbd/drbd_actlog.c | 42 +- trunk/drivers/block/drbd/drbd_int.h | 52 +- trunk/drivers/block/drbd/drbd_main.c | 148 +- trunk/drivers/block/drbd/drbd_nl.c | 25 +- trunk/drivers/block/drbd/drbd_proc.c | 1 + trunk/drivers/block/drbd/drbd_receiver.c | 217 +- trunk/drivers/block/drbd/drbd_req.c | 38 +- trunk/drivers/block/drbd/drbd_worker.c | 23 +- trunk/drivers/block/floppy.c | 4 +- trunk/drivers/block/loop.c | 6 + trunk/drivers/block/xen-blkfront.c | 4 +- trunk/drivers/bluetooth/btusb.c | 5 - trunk/drivers/{tty/vt => char}/.gitignore | 0 trunk/drivers/char/Makefile | 44 +- trunk/drivers/char/agp/intel-gtt.c | 6 +- trunk/drivers/char/agp/parisc-agp.c | 1 - trunk/drivers/char/amiserial.c | 1 + trunk/drivers/{tty/vt => char}/consolemap.c | 0 trunk/drivers/{tty/vt => char}/cp437.uni | 0 .../{tty/vt => char}/defkeymap.c_shipped | 0 trunk/drivers/{tty/vt => char}/defkeymap.map | 0 trunk/drivers/char/hvc_xen.c | 98 +- trunk/drivers/char/i8k.c | 5 +- trunk/drivers/{tty/vt => char}/keyboard.c | 0 trunk/drivers/{tty => char}/n_gsm.c | 5 +- trunk/drivers/{tty => char}/n_hdlc.c | 0 trunk/drivers/{tty => char}/n_r3964.c | 0 trunk/drivers/{tty => char}/n_tty.c | 0 trunk/drivers/char/nozomi.c | 1 + trunk/drivers/char/pcmcia/cm4000_cs.c | 3 +- trunk/drivers/char/pcmcia/synclink_cs.c | 1 - trunk/drivers/{tty => char}/pty.c | 0 trunk/drivers/{tty/vt => char}/selection.c | 0 trunk/drivers/{tty => char}/sysrq.c | 0 trunk/drivers/{tty => char}/tty_audit.c | 38 +- trunk/drivers/{tty => char}/tty_buffer.c | 14 +- trunk/drivers/{tty => char}/tty_io.c | 0 trunk/drivers/{tty => char}/tty_ioctl.c | 0 trunk/drivers/{tty => char}/tty_ldisc.c | 49 +- trunk/drivers/{tty => char}/tty_mutex.c | 0 trunk/drivers/{tty => char}/tty_port.c | 0 trunk/drivers/{tty/vt => char}/vc_screen.c | 6 +- trunk/drivers/{tty/vt => char}/vt.c | 0 trunk/drivers/{tty/vt => char}/vt_ioctl.c | 0 trunk/drivers/clocksource/sh_cmt.c | 10 +- trunk/drivers/clocksource/sh_mtu2.c | 10 +- trunk/drivers/clocksource/sh_tmu.c | 10 +- trunk/drivers/crypto/n2_core.c | 2 +- trunk/drivers/crypto/padlock-aes.c | 2 +- trunk/drivers/dma/Kconfig | 4 +- trunk/drivers/firewire/ohci.c | 88 +- trunk/drivers/gpio/Kconfig | 12 - trunk/drivers/gpio/Makefile | 1 - trunk/drivers/gpio/stmpe-gpio.c | 13 +- trunk/drivers/gpio/vx855_gpio.c | 332 -- trunk/drivers/gpio/wm8994-gpio.c | 1 - trunk/drivers/gpu/drm/drm_crtc_helper.c | 2 +- trunk/drivers/gpu/drm/drm_edid.c | 26 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 2 +- trunk/drivers/gpu/drm/i915/i915_drv.h | 1 - trunk/drivers/gpu/drm/i915/i915_gem.c | 118 +- trunk/drivers/gpu/drm/i915/i915_gem_evict.c | 8 +- trunk/drivers/gpu/drm/i915/i915_suspend.c | 4 +- trunk/drivers/gpu/drm/i915/intel_display.c | 70 +- trunk/drivers/gpu/drm/i915/intel_dp.c | 2 +- trunk/drivers/gpu/drm/i915/intel_drv.h | 1 - trunk/drivers/gpu/drm/i915/intel_lvds.c | 16 +- trunk/drivers/gpu/drm/i915/intel_opregion.c | 2 +- trunk/drivers/gpu/drm/i915/intel_overlay.c | 4 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.c | 129 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.h | 3 - trunk/drivers/gpu/drm/radeon/evergreen.c | 8 +- trunk/drivers/gpu/drm/radeon/r100.c | 4 +- trunk/drivers/gpu/drm/radeon/r300.c | 2 +- trunk/drivers/gpu/drm/radeon/r600.c | 12 +- .../drivers/gpu/drm/radeon/radeon_atombios.c | 27 +- .../gpu/drm/radeon/radeon_connectors.c | 16 +- trunk/drivers/gpu/drm/radeon/radeon_display.c | 18 +- .../drivers/gpu/drm/radeon/radeon_encoders.c | 26 - trunk/drivers/gpu/drm/radeon/radeon_fence.c | 3 +- trunk/drivers/gpu/drm/radeon/radeon_i2c.c | 41 +- trunk/drivers/gpu/drm/radeon/radeon_mode.h | 17 +- trunk/drivers/gpu/drm/radeon/radeon_object.c | 4 +- trunk/drivers/gpu/drm/radeon/radeon_ttm.c | 3 +- trunk/drivers/gpu/drm/radeon/rs400.c | 2 +- trunk/drivers/gpu/drm/radeon/rs600.c | 4 +- trunk/drivers/gpu/drm/ttm/ttm_bo.c | 86 +- trunk/drivers/gpu/drm/ttm/ttm_bo_manager.c | 81 +- trunk/drivers/gpu/drm/ttm/ttm_tt.c | 4 +- trunk/drivers/gpu/drm/via/via_dmablit.c | 4 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 1 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 5 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 2 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c | 2 +- trunk/drivers/gpu/stub/Kconfig | 3 - trunk/drivers/hwmon/ad7414.c | 6 +- trunk/drivers/hwmon/adt7470.c | 4 +- trunk/drivers/hwmon/gpio-fan.c | 8 +- trunk/drivers/hwmon/ltc4261.c | 5 +- trunk/drivers/i2c/busses/Kconfig | 11 - trunk/drivers/i2c/busses/Makefile | 1 - trunk/drivers/i2c/busses/i2c-i801.c | 333 +- trunk/drivers/i2c/busses/i2c-intel-mid.c | 1135 ----- trunk/drivers/i2c/busses/i2c-nomadik.c | 36 +- trunk/drivers/i2c/busses/i2c-s3c2410.c | 10 +- trunk/drivers/ide/hpt366.c | 14 +- trunk/drivers/ide/ide-dma.c | 11 +- trunk/drivers/infiniband/hw/ipath/ipath_fs.c | 14 +- trunk/drivers/infiniband/hw/qib/qib_fs.c | 14 +- trunk/drivers/input/input.c | 87 +- trunk/drivers/input/keyboard/adp5588-keys.c | 74 +- trunk/drivers/input/keyboard/atkbd.c | 12 +- trunk/drivers/input/misc/max8925_onkey.c | 72 +- trunk/drivers/input/misc/pcf8574_keypad.c | 23 +- trunk/drivers/input/mouse/appletouch.c | 2 +- trunk/drivers/input/serio/i8042-x86ia64io.h | 11 - trunk/drivers/input/tablet/acecad.c | 3 +- trunk/drivers/input/touchscreen/ad7879.c | 32 +- trunk/drivers/input/touchscreen/bu21013_ts.c | 2 +- trunk/drivers/input/xen-kbdfront.c | 2 - trunk/drivers/isdn/capi/capifs.c | 8 +- trunk/drivers/isdn/hisax/isar.c | 4 +- trunk/drivers/isdn/mISDN/socket.c | 2 - trunk/drivers/leds/Kconfig | 20 +- trunk/drivers/leds/Makefile | 2 - trunk/drivers/leds/led-class.c | 105 +- trunk/drivers/leds/led-triggers.c | 2 +- trunk/drivers/leds/leds-88pm860x.c | 119 +- trunk/drivers/leds/leds-gpio.c | 2 +- trunk/drivers/leds/leds-lp5521.c | 821 ---- trunk/drivers/leds/leds-lp5523.c | 1065 ----- trunk/drivers/leds/leds-net5501.c | 2 - trunk/drivers/leds/ledtrig-timer.c | 124 +- trunk/drivers/macintosh/adb-iop.c | 4 +- trunk/drivers/md/bitmap.c | 30 +- trunk/drivers/md/bitmap.h | 4 +- trunk/drivers/md/faulty.c | 2 +- trunk/drivers/md/md.c | 182 +- trunk/drivers/md/md.h | 8 +- trunk/drivers/md/raid1.c | 224 +- trunk/drivers/md/raid1.h | 2 + trunk/drivers/md/raid10.c | 42 +- trunk/drivers/md/raid5.c | 6 +- trunk/drivers/media/IR/ir-keytable.c | 8 +- trunk/drivers/media/Kconfig | 1 + .../media/dvb/frontends/dibx000_common.c | 1 - trunk/drivers/media/video/cafe_ccic.c | 5 +- .../drivers/media/video/cx231xx/cx231xx-417.c | 6 +- .../drivers/media/video/cx23885/cx23885-417.c | 9 +- .../media/video/cx23885/cx23885-video.c | 5 + trunk/drivers/media/video/mx2_camera.c | 13 +- trunk/drivers/media/video/mx3_camera.c | 4 - trunk/drivers/media/video/omap1_camera.c | 16 +- trunk/drivers/media/video/ov6650.c | 4 +- .../media/video/saa7134/saa7134-cards.c | 24 +- trunk/drivers/media/video/se401.c | 7 +- trunk/drivers/media/video/stk-webcam.c | 4 + trunk/drivers/media/video/tlg2300/pd-main.c | 13 +- trunk/drivers/media/video/usbvideo/vicam.c | 29 +- trunk/drivers/media/video/v4l2-dev.c | 7 +- trunk/drivers/media/video/zoran/zoran.h | 1 - trunk/drivers/media/video/zoran/zoran_card.c | 1 - .../drivers/media/video/zoran/zoran_driver.c | 27 +- trunk/drivers/mfd/88pm860x-core.c | 51 +- trunk/drivers/mfd/Kconfig | 91 +- trunk/drivers/mfd/Makefile | 9 +- trunk/drivers/mfd/ab3100-core.c | 143 +- trunk/drivers/mfd/ab8500-core.c | 299 +- trunk/drivers/mfd/ab8500-debugfs.c | 652 --- trunk/drivers/mfd/ab8500-i2c.c | 105 - trunk/drivers/mfd/ab8500-spi.c | 2 +- trunk/drivers/mfd/da903x.c | 8 +- trunk/drivers/mfd/ezx-pcap.c | 11 +- trunk/drivers/mfd/htc-pasic3.c | 7 + trunk/drivers/mfd/jz4740-adc.c | 2 +- trunk/drivers/mfd/max8925-core.c | 11 +- trunk/drivers/mfd/max8998-irq.c | 258 -- trunk/drivers/mfd/max8998.c | 90 +- trunk/drivers/mfd/mc13783-core.c | 752 ++++ trunk/drivers/mfd/mc13xxx-core.c | 840 ---- trunk/drivers/mfd/mfd-core.c | 18 +- trunk/drivers/mfd/pcf50633-core.c | 9 +- trunk/drivers/mfd/sh_mobile_sdhi.c | 19 - trunk/drivers/mfd/stmpe.c | 32 - trunk/drivers/mfd/tc6393xb.c | 2 +- trunk/drivers/mfd/timberdale.c | 14 - trunk/drivers/mfd/tps6507x.c | 2 +- trunk/drivers/mfd/tps6586x.c | 225 +- trunk/drivers/mfd/twl-core.c | 40 +- trunk/drivers/mfd/twl-core.h | 10 - trunk/drivers/mfd/twl4030-irq.c | 4 +- trunk/drivers/mfd/twl4030-power.c | 30 +- trunk/drivers/mfd/twl6030-irq.c | 75 - trunk/drivers/mfd/vx855.c | 147 - trunk/drivers/mfd/wm831x-core.c | 148 +- trunk/drivers/mfd/wm831x-i2c.c | 143 - trunk/drivers/mfd/wm831x-spi.c | 232 - trunk/drivers/misc/Kconfig | 9 - trunk/drivers/misc/Makefile | 1 - trunk/drivers/misc/ab8500-pwm.c | 168 - trunk/drivers/misc/apds9802als.c | 2 +- trunk/drivers/misc/bh1770glc.c | 8 +- trunk/drivers/misc/ibmasm/ibmasmfs.c | 9 +- trunk/drivers/misc/isl29020.c | 4 +- trunk/drivers/misc/kgdbts.c | 16 +- trunk/drivers/mmc/host/omap_hsmmc.c | 4 +- trunk/drivers/mmc/host/sh_mmcif.c | 12 - trunk/drivers/mmc/host/tmio_mmc.c | 30 +- trunk/drivers/mtd/chips/cfi_cmdset_0001.c | 4 +- trunk/drivers/mtd/chips/cfi_cmdset_0002.c | 83 +- trunk/drivers/mtd/chips/cfi_probe.c | 2 - trunk/drivers/mtd/chips/cfi_util.c | 7 - trunk/drivers/mtd/devices/block2mtd.c | 1 + trunk/drivers/mtd/devices/m25p80.c | 6 +- trunk/drivers/mtd/devices/phram.c | 2 +- trunk/drivers/mtd/maps/Kconfig | 9 - trunk/drivers/mtd/maps/Makefile | 1 - trunk/drivers/mtd/maps/bcm963xx-flash.c | 271 -- trunk/drivers/mtd/maps/gpio-addr-flash.c | 10 +- trunk/drivers/mtd/maps/pcmciamtd.c | 4 + trunk/drivers/mtd/maps/physmap_of.c | 20 +- trunk/drivers/mtd/mtd_blkdevs.c | 68 +- trunk/drivers/mtd/mtdchar.c | 119 +- trunk/drivers/mtd/mtdpart.c | 154 +- trunk/drivers/mtd/mtdsuper.c | 54 +- trunk/drivers/mtd/nand/Kconfig | 15 +- trunk/drivers/mtd/nand/Makefile | 1 - trunk/drivers/mtd/nand/bf5xx_nand.c | 14 +- trunk/drivers/mtd/nand/davinci_nand.c | 11 +- trunk/drivers/mtd/nand/denali.c | 1 - trunk/drivers/mtd/nand/fsl_elbc_nand.c | 484 +- trunk/drivers/mtd/nand/fsl_upm.c | 10 +- trunk/drivers/mtd/nand/fsmc_nand.c | 866 ---- trunk/drivers/mtd/nand/mpc5121_nfc.c | 11 +- trunk/drivers/mtd/nand/nand_base.c | 338 +- trunk/drivers/mtd/nand/nand_bbt.c | 250 +- trunk/drivers/mtd/nand/nand_ids.c | 31 - trunk/drivers/mtd/nand/nandsim.c | 19 +- trunk/drivers/mtd/nand/ndfc.c | 8 +- trunk/drivers/mtd/nand/omap2.c | 4 +- trunk/drivers/mtd/nand/pxa3xx_nand.c | 348 +- trunk/drivers/mtd/nand/r852.c | 30 +- trunk/drivers/mtd/nand/r852.h | 2 + trunk/drivers/mtd/ofpart.c | 2 +- trunk/drivers/mtd/onenand/Kconfig | 7 +- trunk/drivers/mtd/onenand/onenand_base.c | 7 +- trunk/drivers/mtd/onenand/samsung.c | 133 +- trunk/drivers/mtd/sm_ftl.h | 8 +- trunk/drivers/net/Kconfig | 1 - trunk/drivers/net/atarilance.c | 2 +- trunk/drivers/net/atlx/atl1.c | 1 + trunk/drivers/net/bnx2x/bnx2x.h | 4 +- trunk/drivers/net/bnx2x/bnx2x_cmn.c | 2 +- trunk/drivers/net/bnx2x/bnx2x_hsi.h | 9 +- trunk/drivers/net/bnx2x/bnx2x_link.c | 57 +- trunk/drivers/net/caif/caif_spi.c | 57 +- trunk/drivers/net/caif/caif_spi_slave.c | 13 +- trunk/drivers/net/can/at91_can.c | 2 +- trunk/drivers/net/can/pch_can.c | 10 +- trunk/drivers/net/cxgb3/cxgb3_main.c | 1 + trunk/drivers/net/cxgb3/sge.c | 4 +- trunk/drivers/net/cxgb4/cxgb4_main.c | 1 + trunk/drivers/net/cxgb4vf/cxgb4vf_main.c | 43 +- trunk/drivers/net/cxgb4vf/sge.c | 122 +- trunk/drivers/net/cxgb4vf/t4vf_common.h | 1 - trunk/drivers/net/cxgb4vf/t4vf_hw.c | 19 - trunk/drivers/net/e1000e/82571.c | 38 - trunk/drivers/net/e1000e/e1000.h | 3 - trunk/drivers/net/e1000e/netdev.c | 29 +- trunk/drivers/net/gianfar_ethtool.c | 5 +- trunk/drivers/net/ibm_newemac/core.c | 1 + trunk/drivers/net/igb/igb_main.c | 1 + trunk/drivers/net/igbvf/netdev.c | 8 +- trunk/drivers/net/ixgb/ixgb_main.c | 1 - trunk/drivers/net/ixgbe/ixgbe_dcb.c | 39 +- trunk/drivers/net/ixgbe/ixgbe_dcb.h | 5 +- trunk/drivers/net/ixgbe/ixgbe_dcb_82599.c | 5 - trunk/drivers/net/ixgbe/ixgbe_dcb_82599.h | 3 - trunk/drivers/net/ixgbe/ixgbe_main.c | 72 +- trunk/drivers/net/jme.c | 4 + trunk/drivers/net/lib8390.c | 1 + trunk/drivers/net/netxen/netxen_nic_ctx.c | 15 + trunk/drivers/net/netxen/netxen_nic_main.c | 11 +- trunk/drivers/net/pcmcia/axnet_cs.c | 30 +- trunk/drivers/net/pcmcia/pcnet_cs.c | 1 - trunk/drivers/net/phy/marvell.c | 18 +- trunk/drivers/net/qlcnic/qlcnic_main.c | 1 + trunk/drivers/net/r8169.c | 9 +- trunk/drivers/net/skge.c | 1 + trunk/drivers/net/smsc911x.h | 2 +- trunk/drivers/net/stmmac/stmmac_main.c | 40 +- trunk/drivers/net/tulip/de2104x.c | 1 + trunk/drivers/net/ucc_geth.c | 25 +- trunk/drivers/net/usb/usbnet.c | 11 - trunk/drivers/net/virtio_net.c | 12 +- trunk/drivers/net/vmxnet3/vmxnet3_drv.c | 2 +- trunk/drivers/net/vmxnet3/vmxnet3_int.h | 8 +- trunk/drivers/net/wireless/ath/ath5k/attach.c | 17 +- .../net/wireless/ath/ath9k/ar9002_hw.c | 3 - trunk/drivers/net/wireless/ath/ath9k/ath9k.h | 3 +- .../drivers/net/wireless/ath/ath9k/hif_usb.c | 41 +- trunk/drivers/net/wireless/ath/ath9k/hw.c | 15 +- trunk/drivers/net/wireless/ath/ath9k/hw.h | 1 - trunk/drivers/net/wireless/ath/ath9k/init.c | 8 - trunk/drivers/net/wireless/ath/ath9k/main.c | 60 +- trunk/drivers/net/wireless/ath/ath9k/rc.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/recv.c | 19 +- trunk/drivers/net/wireless/ath/ath9k/reg.h | 1 - trunk/drivers/net/wireless/ath/ath9k/xmit.c | 18 +- trunk/drivers/net/wireless/ath/carl9170/usb.c | 4 +- trunk/drivers/net/wireless/b43/sdio.c | 2 - .../net/wireless/ipw2x00/libipw_module.c | 9 +- .../net/wireless/iwlwifi/iwl3945-base.c | 3 +- trunk/drivers/net/wireless/libertas/cfg.c | 5 +- trunk/drivers/net/wireless/libertas/dev.h | 1 - trunk/drivers/net/wireless/libertas/if_sdio.c | 32 +- trunk/drivers/net/wireless/libertas/main.c | 7 - trunk/drivers/net/wireless/rt2x00/Kconfig | 3 + trunk/drivers/net/xen-netfront.c | 2 - trunk/drivers/oprofile/buffer_sync.c | 2 +- trunk/drivers/oprofile/cpu_buffer.c | 10 +- trunk/drivers/oprofile/cpu_buffer.h | 1 - trunk/drivers/oprofile/oprofilefs.c | 8 +- trunk/drivers/oprofile/timer_int.c | 13 - trunk/drivers/pci/Kconfig | 21 - trunk/drivers/pci/Makefile | 2 - trunk/drivers/pci/bus.c | 1 - trunk/drivers/pci/msi.c | 14 +- trunk/drivers/pci/xen-pcifront.c | 1148 ----- trunk/drivers/pcmcia/pd6729.c | 8 +- trunk/drivers/pcmcia/pd6729.h | 2 +- trunk/drivers/pcmcia/pxa2xx_sharpsl.c | 2 +- trunk/drivers/pcmcia/sa1100_assabet.c | 2 +- trunk/drivers/pcmcia/sa1100_cerf.c | 2 +- trunk/drivers/pcmcia/sa1100_generic.c | 2 +- trunk/drivers/pcmcia/sa1100_h3600.c | 2 +- trunk/drivers/pcmcia/sa1100_shannon.c | 2 +- trunk/drivers/pcmcia/sa1100_simpad.c | 2 +- trunk/drivers/pcmcia/soc_common.c | 9 +- trunk/drivers/power/Kconfig | 1 + trunk/drivers/rapidio/rio.c | 4 +- trunk/drivers/regulator/Kconfig | 15 - trunk/drivers/regulator/Makefile | 5 +- trunk/drivers/regulator/ab8500.c | 86 +- trunk/drivers/regulator/core.c | 57 +- trunk/drivers/regulator/dummy.h | 4 + trunk/drivers/regulator/lp3972.c | 660 --- trunk/drivers/regulator/max8952.c | 366 -- trunk/drivers/regulator/max8998.c | 270 +- trunk/drivers/rtc/Kconfig | 19 +- trunk/drivers/rtc/Makefile | 3 +- trunk/drivers/rtc/rtc-ab8500.c | 103 +- trunk/drivers/rtc/rtc-ds1302.c | 2 +- trunk/drivers/rtc/rtc-max8998.c | 300 -- trunk/drivers/rtc/rtc-mc13783.c | 428 ++ trunk/drivers/rtc/rtc-mc13xxx.c | 437 -- trunk/drivers/s390/block/dasd_eckd.c | 69 - trunk/drivers/s390/block/dasd_eckd.h | 1 - trunk/drivers/s390/char/tape_core.c | 9 +- trunk/drivers/s390/char/tape_std.c | 4 +- trunk/drivers/s390/net/qeth_core.h | 9 + trunk/drivers/s390/net/qeth_core_main.c | 55 +- trunk/drivers/s390/scsi/zfcp_fc.h | 2 +- trunk/drivers/s390/scsi/zfcp_fsf.c | 3 + trunk/drivers/s390/scsi/zfcp_unit.c | 4 +- trunk/drivers/scsi/bfa/bfa.h | 48 +- trunk/drivers/scsi/bfa/bfa_cb_ioim.h | 22 +- trunk/drivers/scsi/bfa/bfa_core.c | 178 +- trunk/drivers/scsi/bfa/bfa_cs.h | 24 +- trunk/drivers/scsi/bfa/bfa_defs.h | 54 +- trunk/drivers/scsi/bfa/bfa_defs_fcs.h | 48 +- trunk/drivers/scsi/bfa/bfa_defs_svc.h | 82 +- trunk/drivers/scsi/bfa/bfa_drv.c | 6 +- trunk/drivers/scsi/bfa/bfa_fc.h | 30 +- trunk/drivers/scsi/bfa/bfa_fcbuild.c | 196 +- trunk/drivers/scsi/bfa/bfa_fcpim.c | 351 +- trunk/drivers/scsi/bfa/bfa_fcpim.h | 18 +- trunk/drivers/scsi/bfa/bfa_fcs.c | 335 +- trunk/drivers/scsi/bfa/bfa_fcs.h | 43 +- trunk/drivers/scsi/bfa/bfa_fcs_fcpim.c | 34 +- trunk/drivers/scsi/bfa/bfa_fcs_lport.c | 468 +- trunk/drivers/scsi/bfa/bfa_fcs_rport.c | 198 +- trunk/drivers/scsi/bfa/bfa_hw_cb.c | 16 +- trunk/drivers/scsi/bfa/bfa_hw_ct.c | 22 +- trunk/drivers/scsi/bfa/bfa_ioc.c | 397 +- trunk/drivers/scsi/bfa/bfa_ioc.h | 108 +- trunk/drivers/scsi/bfa/bfa_ioc_cb.c | 90 +- trunk/drivers/scsi/bfa/bfa_ioc_ct.c | 167 +- trunk/drivers/scsi/bfa/bfa_modules.h | 6 +- trunk/drivers/scsi/bfa/bfa_os_inc.h | 82 +- trunk/drivers/scsi/bfa/bfa_port.c | 40 +- trunk/drivers/scsi/bfa/bfa_svc.c | 504 +-- trunk/drivers/scsi/bfa/bfa_svc.h | 41 +- trunk/drivers/scsi/bfa/bfad.c | 73 +- trunk/drivers/scsi/bfa/bfad_attr.c | 38 +- trunk/drivers/scsi/bfa/bfad_debugfs.c | 4 +- trunk/drivers/scsi/bfa/bfad_drv.h | 5 +- trunk/drivers/scsi/bfa/bfad_im.c | 71 +- trunk/drivers/scsi/bfa/bfi.h | 58 +- trunk/drivers/scsi/bfa/bfi_ms.h | 50 +- trunk/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 3 - .../scsi/device_handler/scsi_dh_rdac.c | 2 - trunk/drivers/scsi/fcoe/fcoe.c | 18 +- trunk/drivers/scsi/fcoe/libfcoe.c | 2 +- trunk/drivers/scsi/gdth.c | 8 - trunk/drivers/scsi/ipr.c | 2 - trunk/drivers/scsi/ipr.h | 1 - trunk/drivers/scsi/libfc/fc_disc.c | 5 +- trunk/drivers/scsi/libfc/fc_fcp.c | 24 +- trunk/drivers/scsi/libfc/fc_lport.c | 12 +- trunk/drivers/scsi/libfc/fc_rport.c | 4 +- trunk/drivers/scsi/lpfc/lpfc.h | 12 +- trunk/drivers/scsi/lpfc/lpfc_attr.c | 7 +- trunk/drivers/scsi/lpfc/lpfc_bsg.c | 4 +- trunk/drivers/scsi/lpfc/lpfc_crtn.h | 4 - trunk/drivers/scsi/lpfc/lpfc_els.c | 439 +- trunk/drivers/scsi/lpfc/lpfc_hbadisc.c | 437 +- trunk/drivers/scsi/lpfc/lpfc_hw.h | 41 - trunk/drivers/scsi/lpfc/lpfc_hw4.h | 167 +- trunk/drivers/scsi/lpfc/lpfc_init.c | 102 +- trunk/drivers/scsi/lpfc/lpfc_mbox.c | 28 - trunk/drivers/scsi/lpfc/lpfc_scsi.c | 9 +- trunk/drivers/scsi/lpfc/lpfc_sli.c | 458 +- trunk/drivers/scsi/lpfc/lpfc_sli4.h | 9 +- trunk/drivers/scsi/lpfc/lpfc_version.h | 2 +- trunk/drivers/scsi/megaraid/megaraid_sas.c | 126 +- trunk/drivers/scsi/megaraid/megaraid_sas.h | 7 +- trunk/drivers/scsi/osd/osd_initiator.c | 244 +- trunk/drivers/scsi/pmcraid.c | 129 +- trunk/drivers/scsi/pmcraid.h | 23 +- trunk/drivers/scsi/qla2xxx/qla_attr.c | 4 - trunk/drivers/scsi/qla2xxx/qla_bsg.c | 125 - trunk/drivers/scsi/qla2xxx/qla_bsg.h | 2 - trunk/drivers/scsi/qla2xxx/qla_def.h | 2 + trunk/drivers/scsi/qla2xxx/qla_gbl.h | 1 - trunk/drivers/scsi/qla2xxx/qla_init.c | 28 +- trunk/drivers/scsi/qla2xxx/qla_iocb.c | 4 +- trunk/drivers/scsi/qla2xxx/qla_isr.c | 21 +- trunk/drivers/scsi/qla2xxx/qla_os.c | 207 +- trunk/drivers/scsi/qla4xxx/ql4_dbg.c | 101 - trunk/drivers/scsi/qla4xxx/ql4_def.h | 20 +- trunk/drivers/scsi/qla4xxx/ql4_fw.h | 3 - trunk/drivers/scsi/qla4xxx/ql4_glbl.h | 1 - trunk/drivers/scsi/qla4xxx/ql4_init.c | 10 +- trunk/drivers/scsi/qla4xxx/ql4_iocb.c | 10 +- trunk/drivers/scsi/qla4xxx/ql4_isr.c | 16 +- trunk/drivers/scsi/qla4xxx/ql4_mbx.c | 11 +- trunk/drivers/scsi/qla4xxx/ql4_nx.c | 89 +- trunk/drivers/scsi/qla4xxx/ql4_nx.h | 5 +- trunk/drivers/scsi/qla4xxx/ql4_os.c | 109 +- trunk/drivers/scsi/qla4xxx/ql4_version.h | 2 +- trunk/drivers/scsi/scsi_error.c | 18 +- trunk/drivers/scsi/scsi_lib.c | 3 +- trunk/drivers/scsi/scsi_sysfs.c | 3 +- trunk/drivers/scsi/sd.c | 23 - trunk/drivers/scsi/sr_ioctl.c | 9 - trunk/drivers/serial/8250_pci.c | 5 - trunk/drivers/serial/bfin_5xx.c | 31 +- trunk/drivers/serial/crisv10.c | 23 +- trunk/drivers/serial/kgdboc.c | 59 - trunk/drivers/sh/clk/core.c | 96 +- trunk/drivers/sh/intc/core.c | 2 +- trunk/drivers/sh/intc/dynamic.c | 2 +- trunk/drivers/spi/spi.c | 98 +- trunk/drivers/spi/spi_bfin5xx.c | 22 +- trunk/drivers/staging/Kconfig | 2 + trunk/drivers/staging/Makefile | 1 + trunk/drivers/staging/ath6kl/Kconfig | 2 +- .../hif/sdio/linux_sdio/src/hif_scatter.c | 4 +- .../staging/ath6kl/os/linux/ar6000_drv.c | 5 +- .../staging/ath6kl/os/linux/ar6000_raw_if.c | 4 +- .../staging/ath6kl/os/linux/cfg80211.c | 7 +- .../os/linux/include/athendpack_linux.h | 0 .../os/linux/include/athstartpack_linux.h | 0 trunk/drivers/staging/autofs/init.c | 8 +- .../staging/batman-adv/hard-interface.c | 15 +- trunk/drivers/staging/batman-adv/routing.c | 12 +- trunk/drivers/staging/batman-adv/routing.h | 4 +- trunk/drivers/staging/batman-adv/unicast.c | 2 +- trunk/drivers/staging/bcm/Bcmchar.c | 49 +- trunk/drivers/staging/brcm80211/README | 2 +- trunk/drivers/staging/brcm80211/TODO | 2 +- .../staging/brcm80211/brcmfmac/dhd_linux.c | 6 +- .../staging/brcm80211/brcmfmac/wl_cfg80211.c | 12 +- .../staging/brcm80211/sys/wl_mac80211.c | 2 +- trunk/drivers/staging/comedi/drivers/dt9812.c | 2 +- trunk/drivers/staging/comedi/drivers/usbdux.c | 4 +- .../staging/comedi/drivers/usbduxfast.c | 4 +- trunk/drivers/staging/cpia/cpia.c | 6 +- trunk/drivers/staging/dream/Kconfig | 13 + trunk/drivers/staging/dream/Makefile | 5 + trunk/drivers/staging/dream/TODO | 13 + trunk/drivers/staging/dream/camera/Kconfig | 46 + trunk/drivers/staging/dream/camera/Makefile | 8 + .../drivers/staging/dream/camera/msm_camera.c | 2181 +++++++++ trunk/drivers/staging/dream/camera/msm_io7x.c | 291 ++ trunk/drivers/staging/dream/camera/msm_io8x.c | 320 ++ trunk/drivers/staging/dream/camera/msm_v4l2.c | 798 ++++ .../drivers/staging/dream/camera/msm_vfe7x.c | 702 +++ .../drivers/staging/dream/camera/msm_vfe7x.h | 255 ++ .../drivers/staging/dream/camera/msm_vfe8x.c | 736 +++ .../drivers/staging/dream/camera/msm_vfe8x.h | 895 ++++ .../staging/dream/camera/msm_vfe8x_proc.c | 4003 +++++++++++++++++ .../staging/dream/camera/msm_vfe8x_proc.h | 1549 +++++++ trunk/drivers/staging/dream/camera/mt9d112.c | 762 ++++ trunk/drivers/staging/dream/camera/mt9d112.h | 36 + .../staging/dream/camera/mt9d112_reg.c | 307 ++ trunk/drivers/staging/dream/camera/mt9p012.h | 51 + .../staging/dream/camera/mt9p012_fox.c | 1306 ++++++ .../staging/dream/camera/mt9p012_reg.c | 573 +++ trunk/drivers/staging/dream/camera/mt9t013.c | 1497 ++++++ trunk/drivers/staging/dream/camera/mt9t013.h | 48 + .../staging/dream/camera/mt9t013_reg.c | 266 ++ trunk/drivers/staging/dream/camera/s5k3e2fx.c | 1307 ++++++ trunk/drivers/staging/dream/camera/s5k3e2fx.h | 9 + trunk/drivers/staging/dream/generic_gpio.c | 274 ++ trunk/drivers/staging/dream/gpio_axis.c | 181 + trunk/drivers/staging/dream/gpio_event.c | 224 + trunk/drivers/staging/dream/gpio_input.c | 337 ++ trunk/drivers/staging/dream/gpio_matrix.c | 399 ++ trunk/drivers/staging/dream/gpio_output.c | 84 + .../dream/include/linux/android_pmem.h | 80 + .../staging/dream/include/linux/gpio_event.h | 154 + .../staging/dream/include/linux/msm_adsp.h | 84 + .../staging/dream/include/linux/msm_audio.h | 115 + .../dream/include/linux/msm_rpcrouter.h | 47 + .../staging/dream/include/linux/wakelock.h | 91 + .../staging/dream/include/mach/camera.h | 279 ++ .../staging/dream/include/mach/msm_adsp.h | 112 + .../dream/include/mach/msm_rpcrouter.h | 179 + .../staging/dream/include/mach/msm_smd.h | 107 + .../include/mach/qdsp5/qdsp5audplaycmdi.h | 94 + .../include/mach/qdsp5/qdsp5audplaymsg.h | 70 + .../dream/include/mach/qdsp5/qdsp5audppcmdi.h | 914 ++++ .../dream/include/mach/qdsp5/qdsp5audppmsg.h | 318 ++ .../include/mach/qdsp5/qdsp5audpreproccmdi.h | 256 ++ .../include/mach/qdsp5/qdsp5audpreprocmsg.h | 85 + .../include/mach/qdsp5/qdsp5audreccmdi.h | 176 + .../dream/include/mach/qdsp5/qdsp5audrecmsg.h | 127 + .../dream/include/mach/qdsp5/qdsp5jpegcmdi.h | 376 ++ .../dream/include/mach/qdsp5/qdsp5jpegmsg.h | 177 + .../dream/include/mach/qdsp5/qdsp5lpmcmdi.h | 82 + .../dream/include/mach/qdsp5/qdsp5lpmmsg.h | 80 + .../dream/include/mach/qdsp5/qdsp5vdeccmdi.h | 235 + .../dream/include/mach/qdsp5/qdsp5vdecmsg.h | 107 + .../dream/include/mach/qdsp5/qdsp5venccmdi.h | 212 + .../dream/include/mach/qdsp5/qdsp5vfecmdi.h | 910 ++++ .../dream/include/mach/qdsp5/qdsp5vfemsg.h | 290 ++ .../staging/dream/include/media/msm_camera.h | 388 ++ trunk/drivers/staging/dream/pmem.c | 1333 ++++++ trunk/drivers/staging/dream/qdsp5/Makefile | 18 + trunk/drivers/staging/dream/qdsp5/adsp.c | 1159 +++++ trunk/drivers/staging/dream/qdsp5/adsp.h | 369 ++ trunk/drivers/staging/dream/qdsp5/adsp_6210.c | 283 ++ trunk/drivers/staging/dream/qdsp5/adsp_6220.c | 284 ++ trunk/drivers/staging/dream/qdsp5/adsp_6225.c | 328 ++ .../drivers/staging/dream/qdsp5/adsp_driver.c | 643 +++ trunk/drivers/staging/dream/qdsp5/adsp_info.c | 121 + .../dream/qdsp5/adsp_jpeg_patch_event.c | 31 + .../dream/qdsp5/adsp_jpeg_verify_cmd.c | 182 + .../staging/dream/qdsp5/adsp_lpm_verify_cmd.c | 65 + .../dream/qdsp5/adsp_vfe_patch_event.c | 54 + .../staging/dream/qdsp5/adsp_vfe_verify_cmd.c | 239 + .../dream/qdsp5/adsp_video_verify_cmd.c | 163 + .../dream/qdsp5/adsp_videoenc_verify_cmd.c | 235 + trunk/drivers/staging/dream/qdsp5/audio_aac.c | 1054 +++++ .../drivers/staging/dream/qdsp5/audio_amrnb.c | 875 ++++ .../drivers/staging/dream/qdsp5/audio_evrc.c | 847 ++++ trunk/drivers/staging/dream/qdsp5/audio_in.c | 970 ++++ trunk/drivers/staging/dream/qdsp5/audio_mp3.c | 972 ++++ trunk/drivers/staging/dream/qdsp5/audio_out.c | 841 ++++ .../drivers/staging/dream/qdsp5/audio_qcelp.c | 858 ++++ trunk/drivers/staging/dream/qdsp5/audmgr.c | 314 ++ trunk/drivers/staging/dream/qdsp5/audmgr.h | 215 + .../drivers/staging/dream/qdsp5/audmgr_new.h | 213 + trunk/drivers/staging/dream/qdsp5/audpp.c | 429 ++ trunk/drivers/staging/dream/qdsp5/evlog.h | 134 + trunk/drivers/staging/dream/qdsp5/snd.c | 280 ++ .../drivers/staging/dream/synaptics_i2c_rmi.c | 649 +++ .../drivers/staging/dream/synaptics_i2c_rmi.h | 53 + .../staging/ft1000/ft1000-usb/ft1000_chdev.c | 1 + trunk/drivers/staging/hv/hv_utils.c | 3 + .../intel_sst/intel_sst_app_interface.c | 284 +- .../staging/intel_sst/intel_sst_common.h | 4 +- trunk/drivers/staging/keucr/init.c | 18 +- trunk/drivers/staging/keucr/ms.c | 14 +- trunk/drivers/staging/keucr/msscsi.c | 6 +- trunk/drivers/staging/keucr/sdscsi.c | 4 +- trunk/drivers/staging/keucr/smilsub.c | 18 +- trunk/drivers/staging/keucr/transport.c | 2 +- trunk/drivers/staging/msm/msm_fb.c | 4 +- trunk/drivers/staging/pohmelfs/inode.c | 9 +- trunk/drivers/staging/rt2860/common/cmm_aes.c | 2 + trunk/drivers/staging/rt2860/usb_main_dev.c | 1 - trunk/drivers/staging/rtl8192e/r8192E_core.c | 3 - trunk/drivers/staging/rtl8712/osdep_service.h | 2 +- trunk/drivers/staging/smbfs/inode.c | 10 +- .../staging/solo6x10/solo6010-v4l2-enc.c | 2 +- .../drivers/staging/solo6x10/solo6010-v4l2.c | 2 +- trunk/drivers/staging/stradis/stradis.c | 11 +- trunk/drivers/staging/tidspbridge/Kconfig | 1 + trunk/drivers/staging/tidspbridge/Makefile | 7 +- trunk/drivers/staging/tidspbridge/core/_deh.h | 5 +- .../staging/tidspbridge/core/_tiomap.h | 19 +- .../staging/tidspbridge/core/dsp-mmu.c | 317 ++ .../drivers/staging/tidspbridge/core/io_sm.c | 180 +- .../staging/tidspbridge/core/tiomap3430.c | 1083 +---- .../staging/tidspbridge/core/tiomap3430_pwr.c | 4 - .../staging/tidspbridge/core/tiomap_io.c | 17 +- .../drivers/staging/tidspbridge/core/ue_deh.c | 115 +- .../staging/tidspbridge/hw/EasiGlobal.h | 41 - .../staging/tidspbridge/hw/MMUAccInt.h | 76 - .../staging/tidspbridge/hw/MMURegAcM.h | 225 - .../drivers/staging/tidspbridge/hw/hw_defs.h | 58 - trunk/drivers/staging/tidspbridge/hw/hw_mmu.c | 562 --- trunk/drivers/staging/tidspbridge/hw/hw_mmu.h | 163 - .../tidspbridge/include/dspbridge/cfgdefs.h | 1 - .../tidspbridge/include/dspbridge/dev.h | 24 - .../tidspbridge/include/dspbridge/dmm.h | 75 - .../tidspbridge/include/dspbridge/drv.h | 10 - .../tidspbridge/include/dspbridge/dsp-mmu.h | 67 + .../tidspbridge/include/dspbridge/dspdefs.h | 44 - .../tidspbridge/include/dspbridge/dspioctl.h | 7 - .../tidspbridge/include/dspbridge/proc.h | 46 - trunk/drivers/staging/tidspbridge/pmgr/dev.c | 63 +- trunk/drivers/staging/tidspbridge/pmgr/dmm.c | 533 --- .../drivers/staging/tidspbridge/pmgr/dspapi.c | 34 +- trunk/drivers/staging/tidspbridge/rmgr/drv.c | 15 - .../staging/tidspbridge/rmgr/drv_interface.c | 2 - trunk/drivers/staging/tidspbridge/rmgr/node.c | 48 +- trunk/drivers/staging/tidspbridge/rmgr/proc.c | 197 +- trunk/drivers/staging/tm6000/tm6000-i2c.c | 1 + trunk/drivers/staging/tm6000/tm6000-video.c | 1 - trunk/drivers/staging/udlfb/udlfb.c | 2 +- trunk/drivers/staging/vt6656/main_usb.c | 3 +- .../westbridge/astoria/api/src/cyasusb.c | 1 + .../astoria/block/cyasblkdev_block.c | 2 +- .../astoria/block/cyasblkdev_queue.c | 2 +- trunk/drivers/staging/wlan-ng/cfg80211.c | 6 +- trunk/drivers/staging/wlan-ng/p80211netdev.c | 2 +- trunk/drivers/tty/Makefile | 11 - trunk/drivers/tty/vt/Makefile | 34 - trunk/drivers/usb/core/devio.c | 7 +- trunk/drivers/usb/core/inode.c | 8 +- trunk/drivers/usb/gadget/Kconfig | 2 +- trunk/drivers/usb/gadget/f_fs.c | 14 +- trunk/drivers/usb/gadget/goku_udc.h | 3 +- trunk/drivers/usb/gadget/inode.c | 10 +- trunk/drivers/usb/gadget/u_ether.c | 1 + trunk/drivers/usb/gadget/u_serial.c | 54 +- trunk/drivers/usb/host/Kconfig | 32 +- trunk/drivers/usb/host/Makefile | 1 - trunk/drivers/usb/host/ehci-hcd.c | 5 - trunk/drivers/usb/host/ehci-mxc.c | 14 +- trunk/drivers/usb/host/ehci-octeon.c | 207 - trunk/drivers/usb/host/octeon2-common.c | 185 - trunk/drivers/usb/host/ohci-hcd.c | 5 - trunk/drivers/usb/host/ohci-jz4740.c | 2 +- trunk/drivers/usb/host/ohci-octeon.c | 214 - trunk/drivers/usb/misc/iowarrior.c | 1 - trunk/drivers/usb/misc/sisusbvga/sisusb.c | 1 - trunk/drivers/usb/musb/blackfin.c | 80 +- trunk/drivers/usb/musb/musb_core.c | 41 +- trunk/drivers/usb/musb/musb_core.h | 2 +- trunk/drivers/usb/musb/musb_gadget.c | 41 +- trunk/drivers/usb/musb/musb_regs.h | 3 +- trunk/drivers/usb/musb/musbhsdma.c | 14 - trunk/drivers/usb/otg/twl4030-usb.c | 13 +- trunk/drivers/usb/serial/ftdi_sio.c | 2 - trunk/drivers/usb/serial/ftdi_sio_ids.h | 7 - trunk/drivers/usb/serial/option.c | 2 +- trunk/drivers/usb/storage/uas.c | 5 +- trunk/drivers/uwb/allocator.c | 3 +- trunk/drivers/video/backlight/adp8860_bl.c | 8 +- trunk/drivers/video/backlight/l4f00242t03.c | 2 +- trunk/drivers/video/backlight/lms283gf05.c | 2 +- trunk/drivers/video/backlight/mbp_nvidia_bl.c | 18 - trunk/drivers/video/backlight/pwm_bl.c | 7 +- trunk/drivers/video/backlight/s6e63m0.c | 7 +- trunk/drivers/video/msm/mddi.c | 5 +- trunk/drivers/video/msm/mdp.c | 3 +- trunk/drivers/video/sh_mipi_dsi.c | 32 +- trunk/drivers/video/sh_mobile_hdmi.c | 629 +-- trunk/drivers/video/sh_mobile_lcdcfb.c | 348 +- trunk/drivers/video/sh_mobile_lcdcfb.h | 41 - trunk/drivers/video/xen-fbfront.c | 2 - trunk/drivers/watchdog/Kconfig | 23 +- trunk/drivers/watchdog/Makefile | 1 - trunk/drivers/watchdog/bcm63xx_wdt.c | 350 -- trunk/drivers/watchdog/f71808e_wdt.c | 10 +- trunk/drivers/watchdog/iTCO_wdt.c | 26 +- trunk/drivers/watchdog/it8712f_wdt.c | 25 +- trunk/drivers/watchdog/it87_wdt.c | 96 +- trunk/drivers/watchdog/machzwd.c | 4 +- trunk/drivers/watchdog/octeon-wdt-main.c | 4 +- trunk/drivers/xen/Kconfig | 3 +- trunk/drivers/xen/Makefile | 2 - trunk/drivers/xen/biomerge.c | 13 - trunk/drivers/xen/events.c | 534 +-- trunk/drivers/xen/pci.c | 117 - trunk/drivers/xen/xenbus/xenbus_client.c | 2 - trunk/drivers/xen/xenbus/xenbus_probe.c | 29 +- trunk/drivers/xen/xenfs/super.c | 8 +- trunk/fs/9p/vfs_super.c | 22 +- trunk/fs/adfs/super.c | 9 +- trunk/fs/affs/super.c | 9 +- trunk/fs/afs/super.c | 19 +- trunk/fs/anon_inodes.c | 10 +- trunk/fs/autofs4/init.c | 8 +- trunk/fs/befs/linuxvfs.c | 11 +- trunk/fs/bfs/inode.c | 8 +- trunk/fs/binfmt_misc.c | 8 +- trunk/fs/bio.c | 23 +- trunk/fs/block_dev.c | 8 +- trunk/fs/btrfs/compression.c | 2 + trunk/fs/btrfs/ctree.c | 57 +- trunk/fs/btrfs/ctree.h | 100 +- trunk/fs/btrfs/dir-item.c | 2 +- trunk/fs/btrfs/disk-io.c | 32 +- trunk/fs/btrfs/extent-tree.c | 694 +-- trunk/fs/btrfs/extent_io.c | 168 +- trunk/fs/btrfs/extent_io.h | 4 +- trunk/fs/btrfs/extent_map.c | 4 +- trunk/fs/btrfs/free-space-cache.c | 751 ---- trunk/fs/btrfs/free-space-cache.h | 18 - trunk/fs/btrfs/inode.c | 202 +- trunk/fs/btrfs/ioctl.c | 398 +- trunk/fs/btrfs/ioctl.h | 13 +- trunk/fs/btrfs/ordered-data.c | 2 + trunk/fs/btrfs/relocation.c | 109 +- trunk/fs/btrfs/root-tree.c | 2 + trunk/fs/btrfs/super.c | 57 +- trunk/fs/btrfs/transaction.c | 234 +- trunk/fs/btrfs/transaction.h | 8 - trunk/fs/btrfs/tree-defrag.c | 2 + trunk/fs/btrfs/tree-log.c | 17 +- trunk/fs/btrfs/volumes.c | 7 +- trunk/fs/btrfs/xattr.c | 2 + trunk/fs/btrfs/zlib.c | 5 + trunk/fs/ceph/super.c | 50 +- trunk/fs/cifs/Kconfig | 3 - trunk/fs/cifs/TODO | 2 +- trunk/fs/cifs/cifs_fs_sb.h | 6 +- trunk/fs/cifs/cifsencrypt.c | 427 +- trunk/fs/cifs/cifsfs.c | 21 +- trunk/fs/cifs/cifsfs.h | 2 +- trunk/fs/cifs/cifsglob.h | 58 +- trunk/fs/cifs/cifspdu.h | 13 +- trunk/fs/cifs/cifsproto.h | 15 +- trunk/fs/cifs/cifssmb.c | 4 +- trunk/fs/cifs/connect.c | 246 +- trunk/fs/cifs/file.c | 129 +- trunk/fs/cifs/inode.c | 16 +- trunk/fs/cifs/ioctl.c | 16 +- trunk/fs/cifs/misc.c | 27 +- trunk/fs/cifs/sess.c | 166 +- trunk/fs/cifs/transport.c | 6 +- trunk/fs/coda/inode.c | 8 +- trunk/fs/compat.c | 13 +- trunk/fs/configfs/mount.c | 8 +- trunk/fs/cramfs/inode.c | 9 +- trunk/fs/debugfs/inode.c | 8 +- trunk/fs/devpts/inode.c | 32 +- trunk/fs/ecryptfs/ecryptfs_kernel.h | 1 - trunk/fs/ecryptfs/inode.c | 11 +- trunk/fs/ecryptfs/keystore.c | 45 +- trunk/fs/ecryptfs/main.c | 20 +- trunk/fs/ecryptfs/super.c | 2 - trunk/fs/efs/super.c | 8 +- trunk/fs/exofs/super.c | 10 +- trunk/fs/ext2/super.c | 8 +- trunk/fs/ext3/super.c | 8 +- trunk/fs/ext4/ext4.h | 4 +- trunk/fs/ext4/inode.c | 17 +- trunk/fs/ext4/mballoc.c | 2 + trunk/fs/ext4/page-io.c | 97 +- trunk/fs/ext4/super.c | 118 +- trunk/fs/fat/namei_msdos.c | 9 +- trunk/fs/fat/namei_vfat.c | 9 +- trunk/fs/freevxfs/vxfs_super.c | 9 +- trunk/fs/fs-writeback.c | 68 +- trunk/fs/fuse/control.c | 10 +- trunk/fs/fuse/inode.c | 17 +- trunk/fs/gfs2/ops_fstype.c | 51 +- trunk/fs/hfs/super.c | 9 +- trunk/fs/hfsplus/super.c | 10 +- trunk/fs/hostfs/hostfs_kern.c | 8 +- trunk/fs/hpfs/buffer.c | 4 +- trunk/fs/hpfs/hpfs_fn.h | 2 +- trunk/fs/hpfs/super.c | 11 +- trunk/fs/hppfs/hppfs.c | 8 +- trunk/fs/hugetlbfs/inode.c | 11 +- trunk/fs/internal.h | 2 +- trunk/fs/ioprio.c | 18 +- trunk/fs/isofs/inode.c | 9 +- trunk/fs/jbd2/journal.c | 8 +- trunk/fs/jffs2/build.c | 2 +- trunk/fs/jffs2/compr.c | 6 +- trunk/fs/jffs2/compr.h | 4 +- trunk/fs/jffs2/compr_lzo.c | 4 +- trunk/fs/jffs2/compr_rtime.c | 6 +- trunk/fs/jffs2/compr_rubin.c | 11 +- trunk/fs/jffs2/compr_zlib.c | 6 +- trunk/fs/jffs2/dir.c | 3 +- trunk/fs/jffs2/erase.c | 2 +- trunk/fs/jffs2/fs.c | 22 +- trunk/fs/jffs2/gc.c | 7 +- trunk/fs/jffs2/jffs2_fs_sb.h | 1 - trunk/fs/jffs2/nodelist.c | 8 +- trunk/fs/jffs2/nodelist.h | 3 +- trunk/fs/jffs2/scan.c | 12 +- trunk/fs/jffs2/super.c | 9 +- trunk/fs/jfs/super.c | 9 +- trunk/fs/libfs.c | 14 +- trunk/fs/locks.c | 90 +- trunk/fs/logfs/dev_bdev.c | 15 +- trunk/fs/logfs/dev_mtd.c | 18 +- trunk/fs/logfs/logfs.h | 22 +- trunk/fs/logfs/super.c | 77 +- trunk/fs/minix/inode.c | 9 +- trunk/fs/namei.c | 2 - trunk/fs/ncpfs/inode.c | 8 +- trunk/fs/nfs/direct.c | 2 +- trunk/fs/nfs/file.c | 1 + trunk/fs/nfs/idmap.c | 2 +- trunk/fs/nfs/nfs4proc.c | 4 +- trunk/fs/nfs/pagelist.c | 8 +- trunk/fs/nfs/super.c | 96 +- trunk/fs/nfs/unlink.c | 4 +- trunk/fs/nfsd/nfs4state.c | 36 +- trunk/fs/nfsd/nfsctl.c | 8 +- trunk/fs/nilfs2/super.c | 16 +- trunk/fs/notify/Kconfig | 2 +- trunk/fs/notify/fanotify/fanotify.c | 27 +- trunk/fs/notify/fanotify/fanotify_user.c | 98 +- trunk/fs/notify/fsnotify.c | 35 +- trunk/fs/notify/inode_mark.c | 9 +- trunk/fs/notify/inotify/inotify_user.c | 2 +- trunk/fs/notify/vfsmount_mark.c | 6 +- trunk/fs/ntfs/super.c | 9 +- trunk/fs/ocfs2/dlmfs/dlmfs.c | 8 +- trunk/fs/ocfs2/ocfs2.h | 6 +- trunk/fs/ocfs2/super.c | 11 +- trunk/fs/omfs/inode.c | 9 +- trunk/fs/open.c | 6 +- trunk/fs/openpromfs/inode.c | 8 +- trunk/fs/pipe.c | 9 +- trunk/fs/proc/root.c | 16 +- trunk/fs/qnx4/inode.c | 9 +- trunk/fs/ramfs/inode.c | 17 +- trunk/fs/read_write.c | 62 +- trunk/fs/reiserfs/super.c | 9 +- trunk/fs/romfs/super.c | 17 +- trunk/fs/squashfs/super.c | 10 +- trunk/fs/squashfs/xattr.c | 9 +- trunk/fs/squashfs/xattr.h | 4 +- trunk/fs/squashfs/xattr_id.c | 1 - trunk/fs/super.c | 111 +- trunk/fs/sysfs/mount.c | 32 +- trunk/fs/sysv/super.c | 17 +- trunk/fs/ubifs/super.c | 13 +- trunk/fs/udf/super.c | 9 +- trunk/fs/ufs/super.c | 8 +- trunk/fs/xfs/linux-2.6/xfs_aops.c | 7 +- trunk/fs/xfs/linux-2.6/xfs_buf.c | 2 +- trunk/fs/xfs/linux-2.6/xfs_ioctl.c | 2 +- trunk/fs/xfs/linux-2.6/xfs_iops.c | 3 +- trunk/fs/xfs/linux-2.6/xfs_super.c | 15 +- trunk/fs/xfs/linux-2.6/xfs_sync.c | 1 - trunk/fs/xfs/xfs_filestream.c | 8 +- trunk/fs/xfs/xfs_mount.c | 1 - trunk/fs/xfs/xfs_quota.h | 20 +- trunk/include/asm-generic/audit_change_attr.h | 4 - trunk/include/asm-generic/stat.h | 14 +- trunk/include/asm-generic/vmlinux.lds.h | 3 +- trunk/include/drm/ttm/ttm_bo_api.h | 4 - trunk/include/drm/ttm/ttm_bo_driver.h | 79 +- trunk/include/linux/Kbuild | 1 - trunk/include/linux/atomic.h | 37 - trunk/include/linux/audit.h | 9 - trunk/include/linux/bio.h | 4 + trunk/include/linux/blk_types.h | 6 +- trunk/include/linux/blkdev.h | 3 +- trunk/include/linux/dccp.h | 4 +- trunk/include/linux/drbd.h | 2 +- trunk/include/linux/fanotify.h | 36 +- trunk/include/linux/fs.h | 24 +- trunk/include/linux/fsnotify.h | 38 +- trunk/include/linux/fsnotify_backend.h | 26 +- trunk/include/linux/hardirq.h | 8 +- trunk/include/linux/highmem.h | 1 - trunk/include/linux/i2c.h | 2 + trunk/include/linux/i2c/adp5588.h | 15 +- trunk/include/linux/i2c/twl.h | 77 - trunk/include/linux/if_vlan.h | 25 - trunk/include/linux/input.h | 4 +- trunk/include/linux/iocontext.h | 1 + trunk/include/linux/irq.h | 5 - trunk/include/linux/irqnr.h | 2 +- trunk/include/linux/jump_label.h | 7 +- trunk/include/linux/kernel.h | 3 +- trunk/include/linux/kgdb.h | 13 +- trunk/include/linux/leds-lp5521.h | 47 - trunk/include/linux/leds-lp5523.h | 47 - trunk/include/linux/leds.h | 47 +- trunk/include/linux/marvell_phy.h | 2 +- trunk/include/linux/mfd/88pm860x.h | 2 +- trunk/include/linux/mfd/ab8500.h | 28 +- trunk/include/linux/mfd/abx500.h | 4 +- trunk/include/linux/mfd/core.h | 3 - trunk/include/linux/mfd/max8998-private.h | 129 +- trunk/include/linux/mfd/max8998.h | 23 +- trunk/include/linux/mfd/mc13783.h | 239 +- trunk/include/linux/mfd/mc13xxx.h | 154 - trunk/include/linux/mfd/pcf50633/core.h | 7 - trunk/include/linux/mfd/sh_mobile_sdhi.h | 2 - trunk/include/linux/mfd/stmpe.h | 6 - trunk/include/linux/mfd/tmio.h | 6 - trunk/include/linux/mfd/tps6586x.h | 31 - trunk/include/linux/mfd/wm831x/core.h | 12 - trunk/include/linux/mmc/sh_mmcif.h | 19 +- trunk/include/linux/mtd/bbm.h | 4 +- trunk/include/linux/mtd/cfi.h | 1 - trunk/include/linux/mtd/fsmc.h | 181 - trunk/include/linux/mtd/inftl.h | 14 +- trunk/include/linux/mtd/mtd.h | 15 - trunk/include/linux/mtd/nand.h | 426 +- trunk/include/linux/mtd/partitions.h | 7 +- trunk/include/linux/mtd/super.h | 5 +- trunk/include/linux/netdevice.h | 5 - trunk/include/linux/netfilter.h | 2 +- trunk/include/linux/pci_ids.h | 1 - trunk/include/linux/perf_event.h | 10 - trunk/include/linux/pwm_backlight.h | 1 - trunk/include/linux/radix-tree.h | 39 +- trunk/include/linux/ramfs.h | 4 +- trunk/include/linux/regulator/lp3972.h | 48 - trunk/include/linux/regulator/machine.h | 5 - trunk/include/linux/regulator/max8952.h | 135 - trunk/include/linux/resource.h | 1 - trunk/include/linux/sched.h | 5 +- trunk/include/linux/semaphore.h | 6 + trunk/include/linux/sh_clk.h | 4 - trunk/include/linux/sh_timer.h | 1 + trunk/include/linux/socket.h | 2 +- trunk/include/linux/spi/spi.h | 3 - trunk/include/linux/sunrpc/svc_xprt.h | 18 +- trunk/include/linux/tty.h | 11 +- trunk/include/linux/usb.h | 2 +- trunk/include/linux/usb/musb.h | 2 - trunk/include/linux/writeback.h | 2 - trunk/include/mtd/mtd-abi.h | 16 +- trunk/include/mtd/mtd-user.h | 2 +- trunk/include/net/caif/caif_dev.h | 4 +- trunk/include/net/caif/caif_spi.h | 2 - trunk/include/net/caif/cfcnfg.h | 8 +- trunk/include/net/dn.h | 2 +- trunk/include/net/dst_ops.h | 1 - trunk/include/net/ip_fib.h | 2 - trunk/include/net/netlink.h | 2 +- trunk/include/net/sock.h | 4 +- trunk/include/net/tcp.h | 6 +- trunk/include/net/udp.h | 4 +- trunk/include/scsi/libfc.h | 2 +- trunk/include/scsi/osd_initiator.h | 16 +- trunk/include/scsi/osd_protocol.h | 42 - trunk/include/scsi/osd_types.h | 5 - trunk/include/trace/events/ext4.h | 97 - trunk/include/video/sh_mobile_lcdc.h | 5 +- trunk/include/xen/events.h | 26 - trunk/include/xen/interface/features.h | 3 - trunk/include/xen/interface/io/pciif.h | 112 - trunk/include/xen/interface/io/xenbus.h | 8 +- trunk/include/xen/interface/physdev.h | 67 - trunk/init/initramfs.c | 9 +- trunk/ipc/mqueue.c | 8 +- trunk/ipc/shm.c | 1 - trunk/kernel/audit.c | 67 +- trunk/kernel/audit.h | 5 +- trunk/kernel/audit_tree.c | 9 +- trunk/kernel/audit_watch.c | 4 +- trunk/kernel/auditfilter.c | 12 - trunk/kernel/auditsc.c | 16 - trunk/kernel/cgroup.c | 11 +- trunk/kernel/cpuset.c | 13 +- trunk/kernel/debug/debug_core.c | 16 +- trunk/kernel/debug/kdb/kdb_main.c | 48 +- trunk/kernel/exit.c | 8 - trunk/kernel/irq/manage.c | 4 - trunk/kernel/jump_label.c | 77 +- trunk/kernel/kprobes.c | 26 +- trunk/kernel/latencytop.c | 17 +- trunk/kernel/perf_event.c | 42 +- trunk/kernel/printk.c | 6 - trunk/kernel/range.c | 2 +- trunk/kernel/relay.c | 15 +- trunk/kernel/sched.c | 8 +- trunk/kernel/sched_fair.c | 25 +- trunk/kernel/sched_stats.h | 20 +- trunk/kernel/sysctl.c | 9 - trunk/kernel/trace/blktrace.c | 4 + trunk/kernel/watchdog.c | 2 +- trunk/lib/radix-tree.c | 83 +- trunk/mm/filemap.c | 33 +- trunk/mm/memcontrol.c | 16 +- trunk/mm/mmap.c | 2 - trunk/mm/mprotect.c | 2 +- trunk/mm/nommu.c | 2 - trunk/mm/shmem.c | 10 +- trunk/mm/vmscan.c | 2 +- trunk/mm/vmstat.c | 2 +- trunk/net/ax25/af_ax25.c | 2 +- trunk/net/bluetooth/hci_event.c | 6 - trunk/net/bluetooth/hidp/Kconfig | 2 +- trunk/net/bluetooth/l2cap.c | 8 +- trunk/net/bluetooth/rfcomm/core.c | 13 +- trunk/net/caif/caif_config_util.c | 13 +- trunk/net/caif/caif_dev.c | 2 - trunk/net/caif/caif_socket.c | 45 +- trunk/net/caif/cfcnfg.c | 17 +- trunk/net/caif/cfctrl.c | 3 +- trunk/net/caif/cfdbgl.c | 14 - trunk/net/caif/cfrfml.c | 2 +- trunk/net/can/bcm.c | 2 +- trunk/net/compat.c | 10 +- trunk/net/core/dev.c | 2 +- trunk/net/core/dst.c | 1 - trunk/net/core/filter.c | 64 +- trunk/net/core/iovec.c | 20 +- trunk/net/core/pktgen.c | 11 +- trunk/net/core/rtnetlink.c | 9 +- trunk/net/core/sock.c | 14 +- trunk/net/dccp/ccid.h | 34 +- trunk/net/dccp/ccids/ccid2.c | 23 +- trunk/net/dccp/ccids/ccid2.h | 5 - trunk/net/dccp/ccids/ccid3.c | 12 +- trunk/net/dccp/dccp.h | 5 +- trunk/net/dccp/output.c | 209 +- trunk/net/dccp/proto.c | 21 +- trunk/net/dccp/timer.c | 27 +- trunk/net/decnet/af_decnet.c | 2 +- trunk/net/decnet/sysctl_net_decnet.c | 4 +- trunk/net/ipv4/fib_frontend.c | 2 +- trunk/net/ipv4/fib_hash.c | 18 - trunk/net/ipv4/fib_lookup.h | 5 +- trunk/net/ipv4/fib_trie.c | 5 - trunk/net/ipv4/igmp.c | 4 +- trunk/net/ipv4/inet_diag.c | 27 +- trunk/net/ipv4/ip_gre.c | 6 +- trunk/net/ipv4/netfilter/arp_tables.c | 1 - trunk/net/ipv4/netfilter/ip_tables.c | 1 - trunk/net/ipv4/netfilter/nf_nat_core.c | 40 +- trunk/net/ipv4/proc.c | 8 +- trunk/net/ipv4/sysctl_net_ipv4.c | 5 +- trunk/net/ipv4/tcp.c | 6 +- trunk/net/ipv4/tcp_input.c | 11 +- trunk/net/ipv4/tcp_ipv4.c | 8 +- trunk/net/ipv4/udp.c | 4 +- trunk/net/ipv6/addrconf.c | 24 +- trunk/net/ipv6/netfilter/ip6_tables.c | 1 - trunk/net/ipv6/netfilter/nf_conntrack_reasm.c | 2 +- trunk/net/ipv6/proc.c | 4 - trunk/net/ipv6/reassembly.c | 2 +- trunk/net/ipv6/route.c | 8 +- trunk/net/l2tp/l2tp_debugfs.c | 2 +- trunk/net/mac80211/debugfs_key.c | 6 +- trunk/net/mac80211/iface.c | 6 +- trunk/net/mac80211/main.c | 5 +- trunk/net/netfilter/nf_conntrack_core.c | 3 +- trunk/net/netfilter/nf_conntrack_proto.c | 6 - trunk/net/netfilter/xt_socket.c | 7 +- trunk/net/packet/af_packet.c | 7 +- trunk/net/rds/loop.c | 4 - trunk/net/rds/message.c | 7 - trunk/net/rds/rdma.c | 126 +- trunk/net/rds/send.c | 4 - trunk/net/rds/tcp.c | 6 - trunk/net/sched/cls_basic.c | 4 - trunk/net/sched/cls_cgroup.c | 2 + trunk/net/sched/em_text.c | 3 +- trunk/net/sctp/protocol.c | 2 +- trunk/net/sctp/socket.c | 4 +- trunk/net/sctp/sysctl.c | 4 +- trunk/net/socket.c | 14 +- trunk/net/sunrpc/rpc_pipe.c | 18 +- trunk/net/tipc/socket.c | 1 - trunk/net/wireless/nl80211.c | 4 +- trunk/net/x25/x25_facilities.c | 20 +- trunk/net/x25/x25_in.c | 2 - trunk/samples/Kconfig | 7 - trunk/samples/Makefile | 2 +- trunk/samples/kdb/Makefile | 1 - trunk/samples/kdb/kdb_hello.c | 60 - trunk/scripts/Makefile.clean | 2 - trunk/scripts/Makefile.lib | 4 +- trunk/scripts/basic/docproc.c | 5 +- trunk/scripts/checkpatch.pl | 8 +- trunk/scripts/coccicheck | 46 +- .../{api => }/alloc/drop_kmalloc_cast.cocci | 0 .../{api => }/alloc/kzalloc-simple.cocci | 6 +- trunk/scripts/coccinelle/api/kstrdup.cocci | 39 - trunk/scripts/coccinelle/api/memdup.cocci | 40 - .../scripts/coccinelle/api/memdup_user.cocci | 35 - .../coccinelle/{null => }/deref_null.cocci | 0 .../coccinelle/{api => }/err_cast.cocci | 0 trunk/scripts/coccinelle/free/kfree.cocci | 117 - trunk/scripts/coccinelle/iterators/fen.cocci | 64 - .../scripts/coccinelle/iterators/itnull.cocci | 58 - .../iterators/list_entry_update.cocci | 62 - .../scripts/coccinelle/locks/call_kern.cocci | 74 - .../coccinelle/locks/double_lock.cocci | 92 - trunk/scripts/coccinelle/locks/flags.cocci | 80 - .../scripts/coccinelle/locks/mini_lock.cocci | 95 - .../scripts/coccinelle/misc/doubleinit.cocci | 53 - trunk/scripts/coccinelle/misc/ifcol.cocci | 48 - trunk/scripts/coccinelle/null/eno.cocci | 20 - trunk/scripts/coccinelle/null/kmerr.cocci | 72 - .../coccinelle/{api => }/resource_size.cocci | 0 .../coccinelle/tests/doublebitand.cocci | 54 - .../scripts/coccinelle/tests/doubletest.cocci | 40 - trunk/scripts/extract-ikconfig | 41 +- trunk/scripts/kallsyms.c | 8 +- trunk/scripts/kconfig/Makefile | 87 +- trunk/scripts/kconfig/conf.c | 15 +- trunk/scripts/kconfig/confdata.c | 126 +- trunk/scripts/kconfig/expr.h | 2 +- trunk/scripts/kconfig/gconf.c | 20 +- trunk/scripts/kconfig/gconf.glade | 1 + trunk/scripts/kconfig/kxgettext.c | 15 +- trunk/scripts/kconfig/lex.zconf.c_shipped | 7 +- trunk/scripts/kconfig/lkc.h | 8 +- trunk/scripts/kconfig/lkc_proto.h | 3 - .../kconfig/lxdialog/check-lxdialog.sh | 2 - trunk/scripts/kconfig/mconf.c | 64 +- trunk/scripts/kconfig/menu.c | 6 +- trunk/scripts/kconfig/nconf.c | 487 +- trunk/scripts/kconfig/nconf.gui.c | 22 +- trunk/scripts/kconfig/nconf.h | 3 +- trunk/scripts/kconfig/qconf.cc | 174 +- trunk/scripts/kconfig/qconf.h | 76 +- trunk/scripts/kconfig/streamline_config.pl | 43 +- trunk/scripts/kconfig/symbol.c | 51 +- trunk/scripts/kconfig/util.c | 7 +- trunk/scripts/kconfig/zconf.l | 7 +- trunk/scripts/kconfig/zconf.tab.c_shipped | 547 ++- trunk/scripts/kconfig/zconf.y | 18 +- trunk/scripts/mod/modpost.c | 5 +- trunk/scripts/namespace.pl | 147 +- trunk/scripts/package/builddeb | 4 +- trunk/scripts/package/mkspec | 2 +- trunk/scripts/recordmcount.c | 44 - trunk/scripts/recordmcount.h | 86 +- trunk/scripts/setlocalversion | 6 +- trunk/security/Kconfig | 12 - trunk/security/apparmor/lsm.c | 6 +- trunk/security/apparmor/policy.c | 2 +- trunk/security/commoncap.c | 2 - trunk/security/inode.c | 8 +- trunk/security/selinux/selinuxfs.c | 9 +- trunk/security/smack/smackfs.c | 12 +- trunk/sound/pci/asihpi/hpi6000.c | 2 - trunk/sound/pci/asihpi/hpi6205.c | 2 - trunk/sound/pci/asihpi/hpicmn.c | 12 +- trunk/sound/pci/cs46xx/dsp_spos.c | 33 +- trunk/sound/pci/hda/patch_cirrus.c | 1 - trunk/sound/pci/lx6464es/lx6464es.c | 4 +- trunk/sound/pci/lx6464es/lx6464es.h | 2 +- trunk/sound/pci/lx6464es/lx_core.c | 2 +- trunk/sound/soc/codecs/Kconfig | 3 +- trunk/sound/soc/codecs/tlv320dac33.c | 36 +- trunk/sound/soc/codecs/tpa6130a2.c | 6 +- trunk/sound/soc/codecs/wm8900.c | 6 + trunk/sound/soc/codecs/wm_hubs.c | 2 +- trunk/sound/soc/pxa/tosa.c | 2 +- trunk/sound/soc/soc-core.c | 5 +- trunk/sound/usb/mixer_quirks.c | 15 +- trunk/sound/usb/pcm.c | 4 +- trunk/tools/perf/Documentation/perf-trace.txt | 57 +- trunk/tools/perf/builtin-record.c | 10 +- trunk/tools/perf/builtin-top.c | 12 +- trunk/tools/perf/builtin-trace.c | 209 +- .../scripts/perl/bin/failed-syscalls-record | 2 +- .../perf/scripts/perl/bin/rw-by-file-record | 2 +- .../perf/scripts/perl/bin/rw-by-pid-record | 2 +- .../tools/perf/scripts/perl/bin/rwtop-record | 2 +- .../scripts/perl/bin/wakeup-latency-record | 2 +- .../scripts/perl/bin/workqueue-stats-record | 2 +- .../python/bin/failed-syscalls-by-pid-record | 2 +- .../python/bin/futex-contention-record | 2 +- .../scripts/python/bin/netdev-times-record | 2 +- .../scripts/python/bin/sched-migration-record | 2 +- .../perf/scripts/python/bin/sctop-record | 2 +- .../python/bin/syscall-counts-by-pid-record | 2 +- .../scripts/python/bin/syscall-counts-record | 2 +- trunk/tools/perf/util/ui/util.c | 5 +- trunk/usr/Makefile | 6 +- trunk/usr/initramfs_data.S | 21 +- trunk/usr/initramfs_data.bz2.S | 29 + trunk/usr/initramfs_data.gz.S | 29 + trunk/usr/initramfs_data.lzma.S | 29 + trunk/usr/initramfs_data.lzo.S | 29 + 1769 files changed, 61552 insertions(+), 56942 deletions(-) delete mode 100644 trunk/Documentation/ABI/obsolete/proc-pid-oom_adj delete mode 100644 trunk/Documentation/leds/leds-lp5521.txt delete mode 100644 trunk/Documentation/leds/leds-lp5523.txt delete mode 100644 trunk/Kconfig delete mode 100644 trunk/arch/arm/mach-mx5/cpu_op-mx51.c delete mode 100644 trunk/arch/arm/mach-mx5/cpu_op-mx51.h delete mode 100644 trunk/arch/arm/mach-s3c2416/pm.c delete mode 100644 trunk/arch/arm/mach-s3c64xx/mach-mini6410.c create mode 100644 trunk/arch/arm/mach-s5pc100/irq-gpio.c delete mode 100644 trunk/arch/arm/mach-s5pv210/cpufreq.c delete mode 100644 trunk/arch/arm/mach-s5pv210/include/mach/pm-core.h delete mode 100644 trunk/arch/arm/mach-s5pv210/include/mach/regs-sys.h delete mode 100644 trunk/arch/arm/mach-s5pv210/mach-torbreck.c delete mode 100644 trunk/arch/arm/mach-s5pv210/pm.c delete mode 100644 trunk/arch/arm/mach-s5pv210/sleep.S delete mode 100644 trunk/arch/arm/mach-s5pv310/gpiolib.c delete mode 100644 trunk/arch/arm/mach-s5pv310/hotplug.c delete mode 100644 trunk/arch/arm/mach-s5pv310/include/mach/regs-gpio.h delete mode 100644 trunk/arch/arm/mach-s5pv310/include/mach/regs-srom.h delete mode 100644 trunk/arch/arm/mach-s5pv310/irq-eint.c delete mode 100644 trunk/arch/arm/mach-s5pv310/mach-smdkc210.c delete mode 100644 trunk/arch/arm/mach-s5pv310/setup-i2c3.c delete mode 100644 trunk/arch/arm/mach-s5pv310/setup-i2c4.c delete mode 100644 trunk/arch/arm/mach-s5pv310/setup-i2c5.c delete mode 100644 trunk/arch/arm/mach-s5pv310/setup-i2c6.c delete mode 100644 trunk/arch/arm/mach-s5pv310/setup-i2c7.c delete mode 100644 trunk/arch/arm/mach-s5pv310/setup-sdhci-gpio.c delete mode 100644 trunk/arch/arm/mach-s5pv310/setup-sdhci.c delete mode 100644 trunk/arch/arm/plat-mxc/cpufreq.c delete mode 100644 trunk/arch/arm/plat-mxc/devices/platform-gpio_keys.c delete mode 100644 trunk/arch/arm/plat-s5p/irq-gpioint.c delete mode 100644 trunk/arch/arm/plat-s5p/irq-pm.c delete mode 100644 trunk/arch/arm/plat-s5p/pm.c delete mode 100644 trunk/arch/arm/plat-samsung/dev-i2c3.c delete mode 100644 trunk/arch/arm/plat-samsung/dev-i2c4.c delete mode 100644 trunk/arch/arm/plat-samsung/dev-i2c5.c delete mode 100644 trunk/arch/arm/plat-samsung/dev-i2c6.c delete mode 100644 trunk/arch/arm/plat-samsung/dev-i2c7.c delete mode 100644 trunk/arch/arm/plat-samsung/include/plat/nand-core.h delete mode 100644 trunk/arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h delete mode 100644 trunk/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h delete mode 100644 trunk/arch/mips/include/asm/perf_event.h delete mode 100644 trunk/arch/mips/kernel/perf_event.c delete mode 100644 trunk/arch/mips/kernel/perf_event_mipsxx.c delete mode 100644 trunk/arch/sh/boards/board-edosk7705.c create mode 100644 trunk/arch/sh/boards/mach-edosk7705/Makefile create mode 100644 trunk/arch/sh/boards/mach-edosk7705/io.c create mode 100644 trunk/arch/sh/boards/mach-edosk7705/setup.c create mode 100644 trunk/arch/sh/boards/mach-se/7206/io.c create mode 100644 trunk/arch/sh/boards/mach-se/770x/io.c create mode 100644 trunk/arch/sh/boards/mach-se/7751/io.c create mode 100644 trunk/arch/sh/boards/mach-snapgear/Makefile create mode 100644 trunk/arch/sh/boards/mach-snapgear/io.c rename trunk/arch/sh/boards/{board-secureedge5410.c => mach-snapgear/setup.c} (70%) create mode 100644 trunk/arch/sh/boards/mach-systemh/Makefile create mode 100644 trunk/arch/sh/boards/mach-systemh/io.c create mode 100644 trunk/arch/sh/boards/mach-systemh/irq.c create mode 100644 trunk/arch/sh/boards/mach-systemh/setup.c rename trunk/arch/sh/configs/{secureedge5410_defconfig => snapgear_defconfig} (100%) create mode 100644 trunk/arch/sh/configs/systemh_defconfig create mode 100644 trunk/arch/sh/include/mach-common/mach/edosk7705.h rename trunk/arch/sh/include/mach-common/mach/{secureedge5410.h => snapgear.h} (79%) create mode 100644 trunk/arch/sh/include/mach-common/mach/systemh7751.h delete mode 100644 trunk/arch/x86/include/asm/xen/pci.h delete mode 100644 trunk/arch/x86/pci/xen.c rename trunk/drivers/{tty/vt => char}/.gitignore (100%) rename trunk/drivers/{tty/vt => char}/consolemap.c (100%) rename trunk/drivers/{tty/vt => char}/cp437.uni (100%) rename trunk/drivers/{tty/vt => char}/defkeymap.c_shipped (100%) rename trunk/drivers/{tty/vt => char}/defkeymap.map (100%) rename trunk/drivers/{tty/vt => char}/keyboard.c (100%) rename trunk/drivers/{tty => char}/n_gsm.c (99%) rename trunk/drivers/{tty => char}/n_hdlc.c (100%) rename trunk/drivers/{tty => char}/n_r3964.c (100%) rename trunk/drivers/{tty => char}/n_tty.c (100%) rename trunk/drivers/{tty => char}/pty.c (100%) rename trunk/drivers/{tty/vt => char}/selection.c (100%) rename trunk/drivers/{tty => char}/sysrq.c (100%) rename trunk/drivers/{tty => char}/tty_audit.c (90%) rename trunk/drivers/{tty => char}/tty_buffer.c (97%) rename trunk/drivers/{tty => char}/tty_io.c (100%) rename trunk/drivers/{tty => char}/tty_ioctl.c (100%) rename trunk/drivers/{tty => char}/tty_ldisc.c (95%) rename trunk/drivers/{tty => char}/tty_mutex.c (100%) rename trunk/drivers/{tty => char}/tty_port.c (100%) rename trunk/drivers/{tty/vt => char}/vc_screen.c (99%) rename trunk/drivers/{tty/vt => char}/vt.c (100%) rename trunk/drivers/{tty/vt => char}/vt_ioctl.c (100%) delete mode 100644 trunk/drivers/gpio/vx855_gpio.c delete mode 100644 trunk/drivers/i2c/busses/i2c-intel-mid.c delete mode 100644 trunk/drivers/leds/leds-lp5521.c delete mode 100644 trunk/drivers/leds/leds-lp5523.c delete mode 100644 trunk/drivers/mfd/ab8500-debugfs.c delete mode 100644 trunk/drivers/mfd/ab8500-i2c.c delete mode 100644 trunk/drivers/mfd/max8998-irq.c create mode 100644 trunk/drivers/mfd/mc13783-core.c delete mode 100644 trunk/drivers/mfd/mc13xxx-core.c delete mode 100644 trunk/drivers/mfd/twl-core.h delete mode 100644 trunk/drivers/mfd/vx855.c delete mode 100644 trunk/drivers/mfd/wm831x-i2c.c delete mode 100644 trunk/drivers/mfd/wm831x-spi.c delete mode 100644 trunk/drivers/misc/ab8500-pwm.c delete mode 100644 trunk/drivers/mtd/maps/bcm963xx-flash.c delete mode 100644 trunk/drivers/mtd/nand/fsmc_nand.c delete mode 100644 trunk/drivers/pci/xen-pcifront.c delete mode 100644 trunk/drivers/regulator/lp3972.c delete mode 100644 trunk/drivers/regulator/max8952.c delete mode 100644 trunk/drivers/rtc/rtc-max8998.c create mode 100644 trunk/drivers/rtc/rtc-mc13783.c delete mode 100644 trunk/drivers/rtc/rtc-mc13xxx.c create mode 100644 trunk/drivers/staging/ath6kl/os/linux/include/athendpack_linux.h create mode 100644 trunk/drivers/staging/ath6kl/os/linux/include/athstartpack_linux.h create mode 100644 trunk/drivers/staging/dream/Kconfig create mode 100644 trunk/drivers/staging/dream/Makefile create mode 100644 trunk/drivers/staging/dream/TODO create mode 100644 trunk/drivers/staging/dream/camera/Kconfig create mode 100644 trunk/drivers/staging/dream/camera/Makefile create mode 100644 trunk/drivers/staging/dream/camera/msm_camera.c create mode 100644 trunk/drivers/staging/dream/camera/msm_io7x.c create mode 100644 trunk/drivers/staging/dream/camera/msm_io8x.c create mode 100644 trunk/drivers/staging/dream/camera/msm_v4l2.c create mode 100644 trunk/drivers/staging/dream/camera/msm_vfe7x.c create mode 100644 trunk/drivers/staging/dream/camera/msm_vfe7x.h create mode 100644 trunk/drivers/staging/dream/camera/msm_vfe8x.c create mode 100644 trunk/drivers/staging/dream/camera/msm_vfe8x.h create mode 100644 trunk/drivers/staging/dream/camera/msm_vfe8x_proc.c create mode 100644 trunk/drivers/staging/dream/camera/msm_vfe8x_proc.h create mode 100644 trunk/drivers/staging/dream/camera/mt9d112.c create mode 100644 trunk/drivers/staging/dream/camera/mt9d112.h create mode 100644 trunk/drivers/staging/dream/camera/mt9d112_reg.c create mode 100644 trunk/drivers/staging/dream/camera/mt9p012.h create mode 100644 trunk/drivers/staging/dream/camera/mt9p012_fox.c create mode 100644 trunk/drivers/staging/dream/camera/mt9p012_reg.c create mode 100644 trunk/drivers/staging/dream/camera/mt9t013.c create mode 100644 trunk/drivers/staging/dream/camera/mt9t013.h create mode 100644 trunk/drivers/staging/dream/camera/mt9t013_reg.c create mode 100644 trunk/drivers/staging/dream/camera/s5k3e2fx.c create mode 100644 trunk/drivers/staging/dream/camera/s5k3e2fx.h create mode 100644 trunk/drivers/staging/dream/generic_gpio.c create mode 100644 trunk/drivers/staging/dream/gpio_axis.c create mode 100644 trunk/drivers/staging/dream/gpio_event.c create mode 100644 trunk/drivers/staging/dream/gpio_input.c create mode 100644 trunk/drivers/staging/dream/gpio_matrix.c create mode 100644 trunk/drivers/staging/dream/gpio_output.c create mode 100644 trunk/drivers/staging/dream/include/linux/android_pmem.h create mode 100644 trunk/drivers/staging/dream/include/linux/gpio_event.h create mode 100644 trunk/drivers/staging/dream/include/linux/msm_adsp.h create mode 100644 trunk/drivers/staging/dream/include/linux/msm_audio.h create mode 100644 trunk/drivers/staging/dream/include/linux/msm_rpcrouter.h create mode 100644 trunk/drivers/staging/dream/include/linux/wakelock.h create mode 100644 trunk/drivers/staging/dream/include/mach/camera.h create mode 100644 trunk/drivers/staging/dream/include/mach/msm_adsp.h create mode 100644 trunk/drivers/staging/dream/include/mach/msm_rpcrouter.h create mode 100644 trunk/drivers/staging/dream/include/mach/msm_smd.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audplaycmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audplaymsg.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audppcmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audppmsg.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audpreproccmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audpreprocmsg.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audreccmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5audrecmsg.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5jpegcmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5jpegmsg.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5lpmcmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5lpmmsg.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5vdeccmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5vdecmsg.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5venccmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5vfecmdi.h create mode 100644 trunk/drivers/staging/dream/include/mach/qdsp5/qdsp5vfemsg.h create mode 100644 trunk/drivers/staging/dream/include/media/msm_camera.h create mode 100644 trunk/drivers/staging/dream/pmem.c create mode 100644 trunk/drivers/staging/dream/qdsp5/Makefile create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp.h create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_6210.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_6220.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_6225.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_driver.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_info.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_jpeg_patch_event.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_jpeg_verify_cmd.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_lpm_verify_cmd.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_vfe_patch_event.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_vfe_verify_cmd.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_video_verify_cmd.c create mode 100644 trunk/drivers/staging/dream/qdsp5/adsp_videoenc_verify_cmd.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audio_aac.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audio_amrnb.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audio_evrc.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audio_in.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audio_mp3.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audio_out.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audio_qcelp.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audmgr.c create mode 100644 trunk/drivers/staging/dream/qdsp5/audmgr.h create mode 100644 trunk/drivers/staging/dream/qdsp5/audmgr_new.h create mode 100644 trunk/drivers/staging/dream/qdsp5/audpp.c create mode 100644 trunk/drivers/staging/dream/qdsp5/evlog.h create mode 100644 trunk/drivers/staging/dream/qdsp5/snd.c create mode 100644 trunk/drivers/staging/dream/synaptics_i2c_rmi.c create mode 100644 trunk/drivers/staging/dream/synaptics_i2c_rmi.h create mode 100644 trunk/drivers/staging/tidspbridge/core/dsp-mmu.c delete mode 100644 trunk/drivers/staging/tidspbridge/hw/EasiGlobal.h delete mode 100644 trunk/drivers/staging/tidspbridge/hw/MMUAccInt.h delete mode 100644 trunk/drivers/staging/tidspbridge/hw/MMURegAcM.h delete mode 100644 trunk/drivers/staging/tidspbridge/hw/hw_defs.h delete mode 100644 trunk/drivers/staging/tidspbridge/hw/hw_mmu.c delete mode 100644 trunk/drivers/staging/tidspbridge/hw/hw_mmu.h delete mode 100644 trunk/drivers/staging/tidspbridge/include/dspbridge/dmm.h create mode 100644 trunk/drivers/staging/tidspbridge/include/dspbridge/dsp-mmu.h delete mode 100644 trunk/drivers/staging/tidspbridge/pmgr/dmm.c delete mode 100644 trunk/drivers/tty/Makefile delete mode 100644 trunk/drivers/tty/vt/Makefile delete mode 100644 trunk/drivers/usb/host/ehci-octeon.c delete mode 100644 trunk/drivers/usb/host/octeon2-common.c delete mode 100644 trunk/drivers/usb/host/ohci-octeon.c delete mode 100644 trunk/drivers/video/sh_mobile_lcdcfb.h delete mode 100644 trunk/drivers/watchdog/bcm63xx_wdt.c delete mode 100644 trunk/drivers/xen/biomerge.c delete mode 100644 trunk/drivers/xen/pci.c delete mode 100644 trunk/include/linux/atomic.h delete mode 100644 trunk/include/linux/leds-lp5521.h delete mode 100644 trunk/include/linux/leds-lp5523.h delete mode 100644 trunk/include/linux/mfd/mc13xxx.h delete mode 100644 trunk/include/linux/mtd/fsmc.h delete mode 100644 trunk/include/linux/regulator/lp3972.h delete mode 100644 trunk/include/linux/regulator/max8952.h delete mode 100644 trunk/include/xen/interface/io/pciif.h delete mode 100644 trunk/samples/kdb/Makefile delete mode 100644 trunk/samples/kdb/kdb_hello.c rename trunk/scripts/coccinelle/{api => }/alloc/drop_kmalloc_cast.cocci (100%) rename trunk/scripts/coccinelle/{api => }/alloc/kzalloc-simple.cocci (87%) delete mode 100644 trunk/scripts/coccinelle/api/kstrdup.cocci delete mode 100644 trunk/scripts/coccinelle/api/memdup.cocci delete mode 100644 trunk/scripts/coccinelle/api/memdup_user.cocci rename trunk/scripts/coccinelle/{null => }/deref_null.cocci (100%) rename trunk/scripts/coccinelle/{api => }/err_cast.cocci (100%) delete mode 100644 trunk/scripts/coccinelle/free/kfree.cocci delete mode 100644 trunk/scripts/coccinelle/iterators/fen.cocci delete mode 100644 trunk/scripts/coccinelle/iterators/itnull.cocci delete mode 100644 trunk/scripts/coccinelle/iterators/list_entry_update.cocci delete mode 100644 trunk/scripts/coccinelle/locks/call_kern.cocci delete mode 100644 trunk/scripts/coccinelle/locks/double_lock.cocci delete mode 100644 trunk/scripts/coccinelle/locks/flags.cocci delete mode 100644 trunk/scripts/coccinelle/locks/mini_lock.cocci delete mode 100644 trunk/scripts/coccinelle/misc/doubleinit.cocci delete mode 100644 trunk/scripts/coccinelle/misc/ifcol.cocci delete mode 100644 trunk/scripts/coccinelle/null/eno.cocci delete mode 100644 trunk/scripts/coccinelle/null/kmerr.cocci rename trunk/scripts/coccinelle/{api => }/resource_size.cocci (100%) delete mode 100644 trunk/scripts/coccinelle/tests/doublebitand.cocci delete mode 100644 trunk/scripts/coccinelle/tests/doubletest.cocci create mode 100644 trunk/usr/initramfs_data.bz2.S create mode 100644 trunk/usr/initramfs_data.gz.S create mode 100644 trunk/usr/initramfs_data.lzma.S create mode 100644 trunk/usr/initramfs_data.lzo.S diff --git a/[refs] b/[refs] index bac7ad966435..8e78b8e1c60e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0143832cc96d0bf78486297aad5c8fb2c2ead02a +refs/heads/master: 1c66b360fe26204e2aa14e45086b4a6b8890b1a2 diff --git a/trunk/Documentation/ABI/obsolete/proc-pid-oom_adj b/trunk/Documentation/ABI/obsolete/proc-pid-oom_adj deleted file mode 100644 index cf63f264ce0f..000000000000 --- a/trunk/Documentation/ABI/obsolete/proc-pid-oom_adj +++ /dev/null @@ -1,22 +0,0 @@ -What: /proc//oom_adj -When: August 2012 -Why: /proc//oom_adj allows userspace to influence the oom killer's - badness heuristic used to determine which task to kill when the kernel - is out of memory. - - The badness heuristic has since been rewritten since the introduction of - this tunable such that its meaning is deprecated. The value was - implemented as a bitshift on a score generated by the badness() - function that did not have any precise units of measure. With the - rewrite, the score is given as a proportion of available memory to the - task allocating pages, so using a bitshift which grows the score - exponentially is, thus, impossible to tune with fine granularity. - - A much more powerful interface, /proc//oom_score_adj, was - introduced with the oom killer rewrite that allows users to increase or - decrease the badness() score linearly. This interface will replace - /proc//oom_adj. - - A warning will be emitted to the kernel log if an application uses this - deprecated interface. After it is printed once, future warnings will be - suppressed until the kernel is rebooted. diff --git a/trunk/Documentation/DocBook/kgdb.tmpl b/trunk/Documentation/DocBook/kgdb.tmpl index d71b57fcf116..490d862c5f0d 100644 --- a/trunk/Documentation/DocBook/kgdb.tmpl +++ b/trunk/Documentation/DocBook/kgdb.tmpl @@ -710,18 +710,7 @@ Task Addr Pid Parent [*] cpu State Thread Command A simple shell The kdb core command set A registration API to register additional kdb shell commands. - - A good example of a self-contained kdb module - is the "ftdump" command for dumping the ftrace buffer. See: - kernel/trace/trace_kdb.c - For an example of how to dynamically register - a new kdb command you can build the kdb_hello.ko kernel module - from samples/kdb/kdb_hello.c. To build this example you can - set CONFIG_SAMPLES=y and CONFIG_SAMPLE_KDB=m in your kernel - config. Later run "modprobe kdb_hello" and the next time you - enter the kdb shell, you can run the "hello" - command. - + A good example of a self-contained kdb module is the "ftdump" command for dumping the ftrace buffer. See: kernel/trace/trace_kdb.c The implementation for kdb_printf() which emits messages directly to I/O drivers, bypassing the kernel log. diff --git a/trunk/Documentation/block/switching-sched.txt b/trunk/Documentation/block/switching-sched.txt index 71cfbdc0f74d..d5af3f630814 100644 --- a/trunk/Documentation/block/switching-sched.txt +++ b/trunk/Documentation/block/switching-sched.txt @@ -16,7 +16,7 @@ you can do so by typing: As of the Linux 2.6.10 kernel, it is now possible to change the IO scheduler for a given block device on the fly (thus making it possible, for instance, to set the CFQ scheduler for the system default, but -set a specific device to use the deadline or noop schedulers - which +set a specific device to use the anticipatory or noop schedulers - which can improve that device's throughput). To set a specific scheduler, simply do this: @@ -31,7 +31,7 @@ a "cat /sys/block/DEV/queue/scheduler" - the list of valid names will be displayed, with the currently selected scheduler in brackets: # cat /sys/block/hda/queue/scheduler -noop deadline [cfq] -# echo deadline > /sys/block/hda/queue/scheduler +noop anticipatory deadline [cfq] +# echo anticipatory > /sys/block/hda/queue/scheduler # cat /sys/block/hda/queue/scheduler -noop [deadline] cfq +noop [anticipatory] deadline cfq diff --git a/trunk/Documentation/coccinelle.txt b/trunk/Documentation/coccinelle.txt index 4a276ea7001c..cd2b02837066 100644 --- a/trunk/Documentation/coccinelle.txt +++ b/trunk/Documentation/coccinelle.txt @@ -24,9 +24,6 @@ of many distributions, e.g. : You can get the latest version released from the Coccinelle homepage at http://coccinelle.lip6.fr/ -Information and tips about Coccinelle are also provided on the wiki -pages at http://cocci.ekstranet.diku.dk/wiki/doku.php - Once you have it, run the following command: ./configure @@ -44,22 +41,20 @@ A Coccinelle-specific target is defined in the top level Makefile. This target is named 'coccicheck' and calls the 'coccicheck' front-end in the 'scripts' directory. -Four modes are defined: patch, report, context, and org. The mode to +Four modes are defined: report, patch, context, and org. The mode to use is specified by setting the MODE variable with 'MODE='. -'patch' proposes a fix, when possible. - 'report' generates a list in the following format: file:line:column-column: message +'patch' proposes a fix, when possible. + 'context' highlights lines of interest and their context in a diff-like style.Lines of interest are indicated with '-'. 'org' generates a report in the Org mode format of Emacs. -Note that not all semantic patches implement all modes. For easy use -of Coccinelle, the default mode is "chain" which tries the previous -modes in the order above until one succeeds. +Note that not all semantic patches implement all modes. To make a report for every semantic patch, run the following command: @@ -73,9 +68,9 @@ To produce patches, run: The coccicheck target applies every semantic patch available in the -sub-directories of 'scripts/coccinelle' to the entire Linux kernel. +subdirectories of 'scripts/coccinelle' to the entire Linux kernel. -For each semantic patch, a commit message is proposed. It gives a +For each semantic patch, a changelog message is proposed. It gives a description of the problem being checked by the semantic patch, and includes a reference to Coccinelle. @@ -98,35 +93,12 @@ or make coccicheck COCCI= MODE=report - Using Coccinelle on (modified) files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To apply Coccinelle on a file basis, instead of a directory basis, the -following command may be used: - - make C=1 CHECK="scripts/coccicheck" - -To check only newly edited code, use the value 2 for the C flag, i.e. - - make C=2 CHECK="scripts/coccicheck" - -This runs every semantic patch in scripts/coccinelle by default. The -COCCI variable may additionally be used to only apply a single -semantic patch as shown in the previous section. - -The "chain" mode is the default. You can select another one with the -MODE variable explained above. - -In this mode, there is no information about semantic patches -displayed, and no commit message proposed. - - Proposing new semantic patches ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New semantic patches can be proposed and submitted by kernel developers. For sake of clarity, they should be organized in the -sub-directories of 'scripts/coccinelle/'. +subdirectories of 'scripts/coccinelle/'. Detailed description of the 'report' mode @@ -139,7 +111,7 @@ Example: Running - make coccicheck MODE=report COCCI=scripts/coccinelle/api/err_cast.cocci + make coccicheck MODE=report COCCI=scripts/coccinelle/err_cast.cocci will execute the following part of the SmPL script. @@ -177,7 +149,7 @@ identified. Example: Running - make coccicheck MODE=patch COCCI=scripts/coccinelle/api/err_cast.cocci + make coccicheck MODE=patch COCCI=scripts/coccinelle/err_cast.cocci will execute the following part of the SmPL script. @@ -221,7 +193,7 @@ NOTE: The diff-like output generated is NOT an applicable patch. The Example: Running - make coccicheck MODE=context COCCI=scripts/coccinelle/api/err_cast.cocci + make coccicheck MODE=context COCCI=scripts/coccinelle/err_cast.cocci will execute the following part of the SmPL script. @@ -256,7 +228,7 @@ diff -u -p /home/user/linux/crypto/ctr.c /tmp/nothing Example: Running - make coccicheck MODE=org COCCI=scripts/coccinelle/api/err_cast.cocci + make coccicheck MODE=org COCCI=scripts/coccinelle/err_cast.cocci will execute the following part of the SmPL script. diff --git a/trunk/Documentation/filesystems/Locking b/trunk/Documentation/filesystems/Locking index a91f30890011..8a817f656f0a 100644 --- a/trunk/Documentation/filesystems/Locking +++ b/trunk/Documentation/filesystems/Locking @@ -322,6 +322,7 @@ fl_release_private: yes yes prototypes: int (*fl_compare_owner)(struct file_lock *, struct file_lock *); void (*fl_notify)(struct file_lock *); /* unblock callback */ + void (*fl_copy_lock)(struct file_lock *, struct file_lock *); void (*fl_release_private)(struct file_lock *); void (*fl_break)(struct file_lock *); /* break_lease callback */ @@ -329,6 +330,7 @@ locking rules: BKL may block fl_compare_owner: yes no fl_notify: yes no +fl_copy_lock: yes no fl_release_private: yes yes fl_break: yes no diff --git a/trunk/Documentation/filesystems/xfs-delayed-logging-design.txt b/trunk/Documentation/filesystems/xfs-delayed-logging-design.txt index 7445bf335dae..96d0df28bed3 100644 --- a/trunk/Documentation/filesystems/xfs-delayed-logging-design.txt +++ b/trunk/Documentation/filesystems/xfs-delayed-logging-design.txt @@ -794,6 +794,17 @@ designed. Roadmap: +2.6.37 Remove experimental tag from mount option + => should be roughly 6 months after initial merge + => enough time to: + => gain confidence and fix problems reported by early + adopters (a.k.a. guinea pigs) + => address worst performance regressions and undesired + behaviours + => start tuning/optimising code for parallelism + => start tuning/optimising algorithms consuming + excessive CPU time + 2.6.39 Switch default mount option to use delayed logging => should be roughly 12 months after initial merge => enough time to shake out remaining problems before next round of diff --git a/trunk/Documentation/i2c/busses/i2c-i801 b/trunk/Documentation/i2c/busses/i2c-i801 index 93fe76e56522..e307914a3eda 100644 --- a/trunk/Documentation/i2c/busses/i2c-i801 +++ b/trunk/Documentation/i2c/busses/i2c-i801 @@ -15,14 +15,10 @@ Supported adapters: * Intel 82801I (ICH9) * Intel EP80579 (Tolapai) * Intel 82801JI (ICH10) - * Intel 5/3400 Series (PCH) + * Intel 3400/5 Series (PCH) * Intel Cougar Point (PCH) - * Intel Patsburg (PCH) Datasheets: Publicly available at the Intel website -On Intel Patsburg and later chipsets, both the normal host SMBus controller -and the additional 'Integrated Device Function' controllers are supported. - Authors: Mark Studebaker Jean Delvare diff --git a/trunk/Documentation/kbuild/kconfig-language.txt b/trunk/Documentation/kbuild/kconfig-language.txt index 2fe93ca7c77c..b472e4e0ba67 100644 --- a/trunk/Documentation/kbuild/kconfig-language.txt +++ b/trunk/Documentation/kbuild/kconfig-language.txt @@ -322,8 +322,7 @@ mainmenu: "mainmenu" This sets the config program's title bar if the config program chooses -to use it. It should be placed at the top of the configuration, before any -other statement. +to use it. Kconfig hints diff --git a/trunk/Documentation/kbuild/makefiles.txt b/trunk/Documentation/kbuild/makefiles.txt index 0ef00bd6e54d..c787ae512120 100644 --- a/trunk/Documentation/kbuild/makefiles.txt +++ b/trunk/Documentation/kbuild/makefiles.txt @@ -776,13 +776,6 @@ This will delete the directory debian, including all subdirectories. Kbuild will assume the directories to be in the same relative path as the Makefile if no absolute path is specified (path does not start with '/'). -To exclude certain files from make clean, use the $(no-clean-files) variable. -This is only a special case used in the top level Kbuild file: - - Example: - #Kbuild - no-clean-files := $(bounds-file) $(offsets-file) - Usually kbuild descends down in subdirectories due to "obj-* := dir/", but in the architecture makefiles where the kbuild infrastructure is not sufficient this sometimes needs to be explicit. diff --git a/trunk/Documentation/kbuild/modules.txt b/trunk/Documentation/kbuild/modules.txt index 3fb39e0116b4..0767cf69c69e 100644 --- a/trunk/Documentation/kbuild/modules.txt +++ b/trunk/Documentation/kbuild/modules.txt @@ -1,185 +1,215 @@ -Building External Modules -This document describes how to build an out-of-tree kernel module. +In this document you will find information about: +- how to build external modules +- how to make your module use the kbuild infrastructure +- how kbuild will install a kernel +- how to install modules in a non-standard location === Table of Contents === 1 Introduction - === 2 How to Build External Modules - --- 2.1 Command Syntax - --- 2.2 Options - --- 2.3 Targets - --- 2.4 Building Separate Files - === 3. Creating a Kbuild File for an External Module - --- 3.1 Shared Makefile - --- 3.2 Separate Kbuild file and Makefile - --- 3.3 Binary Blobs - --- 3.4 Building Multiple Modules - === 4. Include Files - --- 4.1 Kernel Includes - --- 4.2 Single Subdirectory - --- 4.3 Several Subdirectories - === 5. Module Installation - --- 5.1 INSTALL_MOD_PATH - --- 5.2 INSTALL_MOD_DIR - === 6. Module Versioning - --- 6.1 Symbols From the Kernel (vmlinux + modules) - --- 6.2 Symbols and External Modules - --- 6.3 Symbols From Another External Module - === 7. Tips & Tricks - --- 7.1 Testing for CONFIG_FOO_BAR + === 2 How to build external modules + --- 2.1 Building external modules + --- 2.2 Available targets + --- 2.3 Available options + --- 2.4 Preparing the kernel tree for module build + --- 2.5 Building separate files for a module + === 3. Example commands + === 4. Creating a kbuild file for an external module + === 5. Include files + --- 5.1 How to include files from the kernel include dir + --- 5.2 External modules using an include/ dir + --- 5.3 External modules using several directories + === 6. Module installation + --- 6.1 INSTALL_MOD_PATH + --- 6.2 INSTALL_MOD_DIR + === 7. Module versioning & Module.symvers + --- 7.1 Symbols from the kernel (vmlinux + modules) + --- 7.2 Symbols and external modules + --- 7.3 Symbols from another external module + === 8. Tips & Tricks + --- 8.1 Testing for CONFIG_FOO_BAR === 1. Introduction -"kbuild" is the build system used by the Linux kernel. Modules must use -kbuild to stay compatible with changes in the build infrastructure and -to pick up the right flags to "gcc." Functionality for building modules -both in-tree and out-of-tree is provided. The method for building -either is similar, and all modules are initially developed and built -out-of-tree. +kbuild includes functionality for building modules both +within the kernel source tree and outside the kernel source tree. +The latter is usually referred to as external or "out-of-tree" +modules and is used both during development and for modules that +are not planned to be included in the kernel tree. -Covered in this document is information aimed at developers interested -in building out-of-tree (or "external") modules. The author of an -external module should supply a makefile that hides most of the -complexity, so one only has to type "make" to build the module. This is -easily accomplished, and a complete example will be presented in -section 3. +What is covered within this file is mainly information to authors +of modules. The author of an external module should supply +a makefile that hides most of the complexity, so one only has to type +'make' to build the module. A complete example will be presented in +chapter 4, "Creating a kbuild file for an external module". -=== 2. How to Build External Modules +=== 2. How to build external modules -To build external modules, you must have a prebuilt kernel available -that contains the configuration and header files used in the build. -Also, the kernel must have been built with modules enabled. If you are -using a distribution kernel, there will be a package for the kernel you -are running provided by your distribution. +kbuild offers functionality to build external modules, with the +prerequisite that there is a pre-built kernel available with full source. +A subset of the targets available when building the kernel is available +when building an external module. -An alternative is to use the "make" target "modules_prepare." This will -make sure the kernel contains the information required. The target -exists solely as a simple way to prepare a kernel source tree for -building external modules. +--- 2.1 Building external modules -NOTE: "modules_prepare" will not build Module.symvers even if -CONFIG_MODVERSIONS is set; therefore, a full kernel build needs to be -executed to make module versioning work. + Use the following command to build an external module: ---- 2.1 Command Syntax + make -C M=`pwd` - The command to build an external module is: + For the running kernel use: - $ make -C M=$PWD + make -C /lib/modules/`uname -r`/build M=`pwd` - The kbuild system knows that an external module is being built - due to the "M=" option given in the command. + For the above command to succeed, the kernel must have been + built with modules enabled. - To build against the running kernel use: + To install the modules that were just built: - $ make -C /lib/modules/`uname -r`/build M=$PWD + make -C M=`pwd` modules_install - Then to install the module(s) just built, add the target - "modules_install" to the command: + More complex examples will be shown later, the above should + be enough to get you started. - $ make -C /lib/modules/`uname -r`/build M=$PWD modules_install +--- 2.2 Available targets ---- 2.2 Options + $KDIR refers to the path to the kernel source top-level directory - ($KDIR refers to the path of the kernel source directory.) + make -C $KDIR M=`pwd` + Will build the module(s) located in current directory. + All output files will be located in the same directory + as the module source. + No attempts are made to update the kernel source, and it is + a precondition that a successful make has been executed + for the kernel. - make -C $KDIR M=$PWD + make -C $KDIR M=`pwd` modules + The modules target is implied when no target is given. + Same functionality as if no target was specified. + See description above. - -C $KDIR - The directory where the kernel source is located. - "make" will actually change to the specified directory - when executing and will change back when finished. + make -C $KDIR M=`pwd` modules_install + Install the external module(s). + Installation default is in /lib/modules//extra, + but may be prefixed with INSTALL_MOD_PATH - see separate + chapter. - M=$PWD - Informs kbuild that an external module is being built. - The value given to "M" is the absolute path of the - directory where the external module (kbuild file) is - located. + make -C $KDIR M=`pwd` clean + Remove all generated files for the module - the kernel + source directory is not modified. ---- 2.3 Targets + make -C $KDIR M=`pwd` help + help will list the available target when building external + modules. - When building an external module, only a subset of the "make" - targets are available. +--- 2.3 Available options: - make -C $KDIR M=$PWD [target] + $KDIR refers to the path to the kernel source top-level directory - The default will build the module(s) located in the current - directory, so a target does not need to be specified. All - output files will also be generated in this directory. No - attempts are made to update the kernel source, and it is a - precondition that a successful "make" has been executed for the - kernel. + make -C $KDIR + Used to specify where to find the kernel source. + '$KDIR' represent the directory where the kernel source is. + Make will actually change directory to the specified directory + when executed but change back when finished. - modules - The default target for external modules. It has the - same functionality as if no target was specified. See - description above. + make -C $KDIR M=`pwd` + M= is used to tell kbuild that an external module is + being built. + The option given to M= is the directory where the external + module (kbuild file) is located. + When an external module is being built only a subset of the + usual targets are available. - modules_install - Install the external module(s). The default location is - /lib/modules//extra/, but a prefix may - be added with INSTALL_MOD_PATH (discussed in section 5). + make -C $KDIR SUBDIRS=`pwd` + Same as M=. The SUBDIRS= syntax is kept for backwards + compatibility. - clean - Remove all generated files in the module directory only. +--- 2.4 Preparing the kernel tree for module build - help - List the available targets for external modules. + To make sure the kernel contains the information required to + build external modules the target 'modules_prepare' must be used. + 'modules_prepare' exists solely as a simple way to prepare + a kernel source tree for building external modules. + Note: modules_prepare will not build Module.symvers even if + CONFIG_MODVERSIONS is set. Therefore a full kernel build + needs to be executed to make module versioning work. ---- 2.4 Building Separate Files - - It is possible to build single files that are part of a module. - This works equally well for the kernel, a module, and even for +--- 2.5 Building separate files for a module + It is possible to build single files which are part of a module. + This works equally well for the kernel, a module and even for external modules. + Examples (module foo.ko, consist of bar.o, baz.o): + make -C $KDIR M=`pwd` bar.lst + make -C $KDIR M=`pwd` bar.o + make -C $KDIR M=`pwd` foo.ko + make -C $KDIR M=`pwd` / + + +=== 3. Example commands + +This example shows the actual commands to be executed when building +an external module for the currently running kernel. +In the example below, the distribution is supposed to use the +facility to locate output files for a kernel compile in a different +directory than the kernel source - but the examples will also work +when the source and the output files are mixed in the same directory. - Example (The module foo.ko, consist of bar.o and baz.o): - make -C $KDIR M=$PWD bar.lst - make -C $KDIR M=$PWD baz.o - make -C $KDIR M=$PWD foo.ko - make -C $KDIR M=$PWD / +# Kernel source +/lib/modules//source -> /usr/src/linux- +# Output from kernel compile +/lib/modules//build -> /usr/src/linux--up -=== 3. Creating a Kbuild File for an External Module +Change to the directory where the kbuild file is located and execute +the following commands to build the module: -In the last section we saw the command to build a module for the -running kernel. The module is not actually built, however, because a -build file is required. Contained in this file will be the name of -the module(s) being built, along with the list of requisite source -files. The file may be as simple as a single line: + cd /home/user/src/module + make -C /usr/src/`uname -r`/source \ + O=/lib/modules/`uname-r`/build \ + M=`pwd` - obj-m := .o +Then, to install the module use the following command: -The kbuild system will build .o from .c, -and, after linking, will result in the kernel module .ko. -The above line can be put in either a "Kbuild" file or a "Makefile." -When the module is built from multiple sources, an additional line is -needed listing the files: + make -C /usr/src/`uname -r`/source \ + O=/lib/modules/`uname-r`/build \ + M=`pwd` \ + modules_install - -y := .o .o ... +If you look closely you will see that this is the same command as +listed before - with the directories spelled out. -NOTE: Further documentation describing the syntax used by kbuild is -located in Documentation/kbuild/makefiles.txt. +The above are rather long commands, and the following chapter +lists a few tricks to make it all easier. -The examples below demonstrate how to create a build file for the -module 8123.ko, which is built from the following files: +=== 4. Creating a kbuild file for an external module + +kbuild is the build system for the kernel, and external modules +must use kbuild to stay compatible with changes in the build system +and to pick up the right flags to gcc etc. + +The kbuild file used as input shall follow the syntax described +in Documentation/kbuild/makefiles.txt. This chapter will introduce a few +more tricks to be used when dealing with external modules. + +In the following a Makefile will be created for a module with the +following files: 8123_if.c 8123_if.h 8123_pci.c 8123_bin.o_shipped <= Binary blob ---- 3.1 Shared Makefile +--- 4.1 Shared Makefile for module and kernel - An external module always includes a wrapper makefile that - supports building the module using "make" with no arguments. - This target is not used by kbuild; it is only for convenience. - Additional functionality, such as test targets, can be included - but should be filtered out from kbuild due to possible name - clashes. + An external module always includes a wrapper Makefile supporting + building the module using 'make' with no arguments. + The Makefile provided will most likely include additional + functionality such as test targets etc. and this part shall + be filtered away from kbuild since it may impact kbuild if + name clashes occurs. Example 1: --> filename: Makefile @@ -189,11 +219,11 @@ module 8123.ko, which is built from the following files: 8123-y := 8123_if.o 8123_pci.o 8123_bin.o else - # normal makefile - KDIR ?= /lib/modules/`uname -r`/build + # Normal Makefile - default: - $(MAKE) -C $(KDIR) M=$$PWD + KERNELDIR := /lib/modules/`uname -r`/build + all:: + $(MAKE) -C $(KERNELDIR) M=`pwd` $@ # Module specific targets genbin: @@ -201,20 +231,15 @@ module 8123.ko, which is built from the following files: endif - The check for KERNELRELEASE is used to separate the two parts - of the makefile. In the example, kbuild will only see the two - assignments, whereas "make" will see everything except these - two assignments. This is due to two passes made on the file: - the first pass is by the "make" instance run on the command - line; the second pass is by the kbuild system, which is - initiated by the parameterized "make" in the default target. - ---- 3.2 Separate Kbuild File and Makefile + In example 1, the check for KERNELRELEASE is used to separate + the two parts of the Makefile. kbuild will only see the two + assignments whereas make will see everything except the two + kbuild assignments. - In newer versions of the kernel, kbuild will first look for a - file named "Kbuild," and only if that is not found, will it - then look for a makefile. Utilizing a "Kbuild" file allows us - to split up the makefile from example 1 into two files: + In recent versions of the kernel, kbuild will look for a file named + Kbuild and as second option look for a file named Makefile. + Utilising the Kbuild file makes us split up the Makefile in example 1 + into two files as shown in example 2: Example 2: --> filename: Kbuild @@ -222,21 +247,20 @@ module 8123.ko, which is built from the following files: 8123-y := 8123_if.o 8123_pci.o 8123_bin.o --> filename: Makefile - KDIR ?= /lib/modules/`uname -r`/build - - default: - $(MAKE) -C $(KDIR) M=$$PWD + KERNELDIR := /lib/modules/`uname -r`/build + all:: + $(MAKE) -C $(KERNELDIR) M=`pwd` $@ # Module specific targets genbin: echo "X" > 8123_bin.o_shipped - The split in example 2 is questionable due to the simplicity of - each file; however, some external modules use makefiles - consisting of several hundred lines, and here it really pays - off to separate the kbuild part from the rest. - The next example shows a backward compatible version. + In example 2, we are down to two fairly simple files and for simple + files as used in this example the split is questionable. But some + external modules use Makefiles of several hundred lines and here it + really pays off to separate the kbuild part from the rest. + Example 3 shows a backward compatible version. Example 3: --> filename: Kbuild @@ -245,15 +269,13 @@ module 8123.ko, which is built from the following files: --> filename: Makefile ifneq ($(KERNELRELEASE),) - # kbuild part of makefile include Kbuild - else - # normal makefile - KDIR ?= /lib/modules/`uname -r`/build + # Normal Makefile - default: - $(MAKE) -C $(KDIR) M=$$PWD + KERNELDIR := /lib/modules/`uname -r`/build + all:: + $(MAKE) -C $(KERNELDIR) M=`pwd` $@ # Module specific targets genbin: @@ -261,271 +283,260 @@ module 8123.ko, which is built from the following files: endif - Here the "Kbuild" file is included from the makefile. This - allows an older version of kbuild, which only knows of - makefiles, to be used when the "make" and kbuild parts are - split into separate files. - ---- 3.3 Binary Blobs + The trick here is to include the Kbuild file from Makefile, so + if an older version of kbuild picks up the Makefile, the Kbuild + file will be included. - Some external modules need to include an object file as a blob. - kbuild has support for this, but requires the blob file to be - named _shipped. When the kbuild rules kick in, a copy - of _shipped is created with _shipped stripped off, - giving us . This shortened filename can be used in - the assignment to the module. +--- 4.2 Binary blobs included in a module - Throughout this section, 8123_bin.o_shipped has been used to - build the kernel module 8123.ko; it has been included as - 8123_bin.o. + Some external modules needs to include a .o as a blob. kbuild + has support for this, but requires the blob file to be named + _shipped. In our example the blob is named + 8123_bin.o_shipped and when the kbuild rules kick in the file + 8123_bin.o is created as a simple copy off the 8213_bin.o_shipped file + with the _shipped part stripped of the filename. + This allows the 8123_bin.o filename to be used in the assignment to + the module. + Example 4: + obj-m := 8123.o 8123-y := 8123_if.o 8123_pci.o 8123_bin.o - Although there is no distinction between the ordinary source - files and the binary file, kbuild will pick up different rules - when creating the object file for the module. - ---- 3.4 Building Multiple Modules + In example 4, there is no distinction between the ordinary .c/.h files + and the binary file. But kbuild will pick up different rules to create + the .o file. - kbuild supports building multiple modules with a single build - file. For example, if you wanted to build two modules, foo.ko - and bar.ko, the kbuild lines would be: - obj-m := foo.o bar.o - foo-y := - bar-y := +=== 5. Include files - It is that simple! +Include files are a necessity when a .c file uses something from other .c +files (not strictly in the sense of C, but if good programming practice is +used). Any module that consists of more than one .c file will have a .h file +for one of the .c files. +- If the .h file only describes a module internal interface, then the .h file + shall be placed in the same directory as the .c files. +- If the .h files describe an interface used by other parts of the kernel + located in different directories, the .h files shall be located in + include/linux/ or other include/ directories as appropriate. -=== 4. Include Files +One exception for this rule is larger subsystems that have their own directory +under include/ such as include/scsi. Another exception is arch-specific +.h files which are located under include/asm-$(ARCH)/*. -Within the kernel, header files are kept in standard locations -according to the following rule: +External modules have a tendency to locate include files in a separate include/ +directory and therefore need to deal with this in their kbuild file. - * If the header file only describes the internal interface of a - module, then the file is placed in the same directory as the - source files. - * If the header file describes an interface used by other parts - of the kernel that are located in different directories, then - the file is placed in include/linux/. +--- 5.1 How to include files from the kernel include dir - NOTE: There are two notable exceptions to this rule: larger - subsystems have their own directory under include/, such as - include/scsi; and architecture specific headers are located - under arch/$(ARCH)/include/. + When a module needs to include a file from include/linux/, then one + just uses: ---- 4.1 Kernel Includes + #include - To include a header file located under include/linux/, simply - use: + kbuild will make sure to add options to gcc so the relevant + directories are searched. + Likewise for .h files placed in the same directory as the .c file. - #include + #include "8123_if.h" - kbuild will add options to "gcc" so the relevant directories - are searched. + will do the job. ---- 4.2 Single Subdirectory +--- 5.2 External modules using an include/ dir - External modules tend to place header files in a separate - include/ directory where their source is located, although this - is not the usual kernel style. To inform kbuild of the - directory, use either ccflags-y or CFLAGS_.o. + External modules often locate their .h files in a separate include/ + directory although this is not usual kernel style. When an external + module uses an include/ dir then kbuild needs to be told so. + The trick here is to use either EXTRA_CFLAGS (take effect for all .c + files) or CFLAGS_$F.o (take effect only for a single file). - Using the example from section 3, if we moved 8123_if.h to a - subdirectory named include, the resulting kbuild file would - look like: + In our example, if we move 8123_if.h to a subdirectory named include/ + the resulting Kbuild file would look like: --> filename: Kbuild - obj-m := 8123.o + obj-m := 8123.o - ccflags-y := -Iinclude + EXTRA_CFLAGS := -Iinclude 8123-y := 8123_if.o 8123_pci.o 8123_bin.o - Note that in the assignment there is no space between -I and - the path. This is a limitation of kbuild: there must be no - space present. + Note that in the assignment there is no space between -I and the path. + This is a kbuild limitation: there must be no space present. ---- 4.3 Several Subdirectories +--- 5.3 External modules using several directories + + If an external module does not follow the usual kernel style, but + decides to spread files over several directories, then kbuild can + handle this too. - kbuild can handle files that are spread over several directories. Consider the following example: - . - |__ src - | |__ complex_main.c - | |__ hal - | |__ hardwareif.c - | |__ include - | |__ hardwareif.h - |__ include - |__ complex.h - - To build the module complex.ko, we then need the following + | + +- src/complex_main.c + | +- hal/hardwareif.c + | +- hal/include/hardwareif.h + +- include/complex.h + + To build a single module named complex.ko, we then need the following kbuild file: - --> filename: Kbuild + Kbuild: obj-m := complex.o complex-y := src/complex_main.o complex-y += src/hal/hardwareif.o - ccflags-y := -I$(src)/include - ccflags-y += -I$(src)/src/hal/include + EXTRA_CFLAGS := -I$(src)/include + EXTRA_CFLAGS += -I$(src)src/hal/include - As you can see, kbuild knows how to handle object files located - in other directories. The trick is to specify the directory - relative to the kbuild file's location. That being said, this - is NOT recommended practice. - For the header files, kbuild must be explicitly told where to - look. When kbuild executes, the current directory is always the - root of the kernel tree (the argument to "-C") and therefore an - absolute path is needed. $(src) provides the absolute path by - pointing to the directory where the currently executing kbuild - file is located. + kbuild knows how to handle .o files located in another directory - + although this is NOT recommended practice. The syntax is to specify + the directory relative to the directory where the Kbuild file is + located. + To find the .h files, we have to explicitly tell kbuild where to look + for the .h files. When kbuild executes, the current directory is always + the root of the kernel tree (argument to -C) and therefore we have to + tell kbuild how to find the .h files using absolute paths. + $(src) will specify the absolute path to the directory where the + Kbuild file are located when being build as an external module. + Therefore -I$(src)/ is used to point out the directory of the Kbuild + file and any additional path are just appended. -=== 5. Module Installation +=== 6. Module installation -Modules which are included in the kernel are installed in the -directory: +Modules which are included in the kernel are installed in the directory: - /lib/modules/$(KERNELRELEASE)/kernel/ + /lib/modules/$(KERNELRELEASE)/kernel -And external modules are installed in: +External modules are installed in the directory: - /lib/modules/$(KERNELRELEASE)/extra/ + /lib/modules/$(KERNELRELEASE)/extra ---- 5.1 INSTALL_MOD_PATH +--- 6.1 INSTALL_MOD_PATH - Above are the default directories but as always some level of - customization is possible. A prefix can be added to the - installation path using the variable INSTALL_MOD_PATH: + Above are the default directories, but as always, some level of + customization is possible. One can prefix the path using the variable + INSTALL_MOD_PATH: $ make INSTALL_MOD_PATH=/frodo modules_install - => Install dir: /frodo/lib/modules/$(KERNELRELEASE)/kernel/ + => Install dir: /frodo/lib/modules/$(KERNELRELEASE)/kernel - INSTALL_MOD_PATH may be set as an ordinary shell variable or, - as shown above, can be specified on the command line when - calling "make." This has effect when installing both in-tree - and out-of-tree modules. + INSTALL_MOD_PATH may be set as an ordinary shell variable or as in the + example above, can be specified on the command line when calling make. + INSTALL_MOD_PATH has effect both when installing modules included in + the kernel as well as when installing external modules. ---- 5.2 INSTALL_MOD_DIR +--- 6.2 INSTALL_MOD_DIR - External modules are by default installed to a directory under - /lib/modules/$(KERNELRELEASE)/extra/, but you may wish to - locate modules for a specific functionality in a separate - directory. For this purpose, use INSTALL_MOD_DIR to specify an - alternative name to "extra." + When installing external modules they are by default installed to a + directory under /lib/modules/$(KERNELRELEASE)/extra, but one may wish + to locate modules for a specific functionality in a separate + directory. For this purpose, one can use INSTALL_MOD_DIR to specify an + alternative name to 'extra'. - $ make INSTALL_MOD_DIR=gandalf -C $KDIR \ - M=$PWD modules_install - => Install dir: /lib/modules/$(KERNELRELEASE)/gandalf/ + $ make INSTALL_MOD_DIR=gandalf -C KERNELDIR \ + M=`pwd` modules_install + => Install dir: /lib/modules/$(KERNELRELEASE)/gandalf -=== 6. Module Versioning +=== 7. Module versioning & Module.symvers -Module versioning is enabled by the CONFIG_MODVERSIONS tag, and is used -as a simple ABI consistency check. A CRC value of the full prototype -for an exported symbol is created. When a module is loaded/used, the -CRC values contained in the kernel are compared with similar values in -the module; if they are not equal, the kernel refuses to load the -module. +Module versioning is enabled by the CONFIG_MODVERSIONS tag. -Module.symvers contains a list of all exported symbols from a kernel -build. +Module versioning is used as a simple ABI consistency check. The Module +versioning creates a CRC value of the full prototype for an exported symbol and +when a module is loaded/used then the CRC values contained in the kernel are +compared with similar values in the module. If they are not equal, then the +kernel refuses to load the module. ---- 6.1 Symbols From the Kernel (vmlinux + modules) +Module.symvers contains a list of all exported symbols from a kernel build. - During a kernel build, a file named Module.symvers will be - generated. Module.symvers contains all exported symbols from - the kernel and compiled modules. For each symbol, the - corresponding CRC value is also stored. +--- 7.1 Symbols from the kernel (vmlinux + modules) - The syntax of the Module.symvers file is: - + During a kernel build, a file named Module.symvers will be generated. + Module.symvers contains all exported symbols from the kernel and + compiled modules. For each symbols, the corresponding CRC value + is stored too. + The syntax of the Module.symvers file is: + + Sample: 0x2d036834 scsi_remove_host drivers/scsi/scsi_mod - For a kernel build without CONFIG_MODVERSIONS enabled, the CRC - would read 0x00000000. + For a kernel build without CONFIG_MODVERSIONS enabled, the crc + would read: 0x00000000 Module.symvers serves two purposes: - 1) It lists all exported symbols from vmlinux and all modules. - 2) It lists the CRC if CONFIG_MODVERSIONS is enabled. - ---- 6.2 Symbols and External Modules - - When building an external module, the build system needs access - to the symbols from the kernel to check if all external symbols - are defined. This is done in the MODPOST step. modpost obtains - the symbols by reading Module.symvers from the kernel source - tree. If a Module.symvers file is present in the directory - where the external module is being built, this file will be - read too. During the MODPOST step, a new Module.symvers file - will be written containing all exported symbols that were not - defined in the kernel. - ---- 6.3 Symbols From Another External Module - - Sometimes, an external module uses exported symbols from - another external module. kbuild needs to have full knowledge of - all symbols to avoid spitting out warnings about undefined - symbols. Three solutions exist for this situation. - - NOTE: The method with a top-level kbuild file is recommended - but may be impractical in certain situations. - - Use a top-level kbuild file - If you have two modules, foo.ko and bar.ko, where - foo.ko needs symbols from bar.ko, you can use a - common top-level kbuild file so both modules are - compiled in the same build. Consider the following - directory layout: - - ./foo/ <= contains foo.ko - ./bar/ <= contains bar.ko - - The top-level kbuild file would then look like: - - #./Kbuild (or ./Makefile): + 1) It lists all exported symbols both from vmlinux and all modules + 2) It lists the CRC if CONFIG_MODVERSIONS is enabled + +--- 7.2 Symbols and external modules + + When building an external module, the build system needs access to + the symbols from the kernel to check if all external symbols are + defined. This is done in the MODPOST step and to obtain all + symbols, modpost reads Module.symvers from the kernel. + If a Module.symvers file is present in the directory where + the external module is being built, this file will be read too. + During the MODPOST step, a new Module.symvers file will be written + containing all exported symbols that were not defined in the kernel. + +--- 7.3 Symbols from another external module + + Sometimes, an external module uses exported symbols from another + external module. Kbuild needs to have full knowledge on all symbols + to avoid spitting out warnings about undefined symbols. + Three solutions exist to let kbuild know all symbols of more than + one external module. + The method with a top-level kbuild file is recommended but may be + impractical in certain situations. + + Use a top-level Kbuild file + If you have two modules: 'foo' and 'bar', and 'foo' needs + symbols from 'bar', then one can use a common top-level kbuild + file so both modules are compiled in same build. + + Consider following directory layout: + ./foo/ <= contains the foo module + ./bar/ <= contains the bar module + The top-level Kbuild file would then look like: + + #./Kbuild: (this file may also be named Makefile) obj-y := foo/ bar/ - And executing - - $ make -C $KDIR M=$PWD + Executing: + make -C $KDIR M=`pwd` - will then do the expected and compile both modules with - full knowledge of symbols from either module. + will then do the expected and compile both modules with full + knowledge on symbols from both modules. Use an extra Module.symvers file - When an external module is built, a Module.symvers file - is generated containing all exported symbols which are - not defined in the kernel. To get access to symbols - from bar.ko, copy the Module.symvers file from the - compilation of bar.ko to the directory where foo.ko is - built. During the module build, kbuild will read the - Module.symvers file in the directory of the external - module, and when the build is finished, a new - Module.symvers file is created containing the sum of - all symbols defined and not part of the kernel. - - Use "make" variable KBUILD_EXTRA_SYMBOLS - If it is impractical to copy Module.symvers from - another module, you can assign a space separated list - of files to KBUILD_EXTRA_SYMBOLS in your build file. - These files will be loaded by modpost during the - initialization of its symbol tables. - - -=== 7. Tips & Tricks - ---- 7.1 Testing for CONFIG_FOO_BAR - - Modules often need to check for certain CONFIG_ options to - decide if a specific feature is included in the module. In - kbuild this is done by referencing the CONFIG_ variable - directly. + When an external module is built, a Module.symvers file is + generated containing all exported symbols which are not + defined in the kernel. + To get access to symbols from module 'bar', one can copy the + Module.symvers file from the compilation of the 'bar' module + to the directory where the 'foo' module is built. + During the module build, kbuild will read the Module.symvers + file in the directory of the external module and when the + build is finished, a new Module.symvers file is created + containing the sum of all symbols defined and not part of the + kernel. + + Use make variable KBUILD_EXTRA_SYMBOLS in the Makefile + If it is impractical to copy Module.symvers from another + module, you can assign a space separated list of files to + KBUILD_EXTRA_SYMBOLS in your Makfile. These files will be + loaded by modpost during the initialisation of its symbol + tables. + +=== 8. Tips & Tricks + +--- 8.1 Testing for CONFIG_FOO_BAR + + Modules often need to check for certain CONFIG_ options to decide if + a specific feature shall be included in the module. When kbuild is used + this is done by referencing the CONFIG_ variable directly. #fs/ext2/Makefile obj-$(CONFIG_EXT2_FS) += ext2.o @@ -533,9 +544,9 @@ build. ext2-y := balloc.o bitmap.o dir.o ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o - External modules have traditionally used "grep" to check for - specific CONFIG_ settings directly in .config. This usage is - broken. As introduced before, external modules should use - kbuild for building and can therefore use the same methods as - in-tree modules when testing for CONFIG_ definitions. + External modules have traditionally used grep to check for specific + CONFIG_ settings directly in .config. This usage is broken. + As introduced before, external modules shall use kbuild when building + and therefore can use the same methods as in-kernel modules when + testing for CONFIG_ definitions. diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 92e83e53148f..ed45e9802aa8 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -706,7 +706,7 @@ and is between 256 and 4096 characters. It is defined in the file arch/x86/kernel/cpu/cpufreq/elanfreq.c. elevator= [IOSCHED] - Format: {"cfq" | "deadline" | "noop"} + Format: {"anticipatory" | "cfq" | "deadline" | "noop"} See Documentation/block/as-iosched.txt and Documentation/block/deadline-iosched.txt for details. diff --git a/trunk/Documentation/leds-class.txt b/trunk/Documentation/leds-class.txt index 58b266bd1846..8fd5ca2ae32d 100644 --- a/trunk/Documentation/leds-class.txt +++ b/trunk/Documentation/leds-class.txt @@ -60,18 +60,15 @@ Hardware accelerated blink of LEDs Some LEDs can be programmed to blink without any CPU interaction. To support this feature, a LED driver can optionally implement the -blink_set() function (see ). To set an LED to blinking, -however, it is better to use use the API function led_blink_set(), -as it will check and implement software fallback if necessary. - -To turn off blinking again, use the API function led_brightness_set() -as that will not just set the LED brightness but also stop any software -timers that may have been required for blinking. - -The blink_set() function should choose a user friendly blinking value -if it is called with *delay_on==0 && *delay_off==0 parameters. In this -case the driver should give back the chosen value through delay_on and -delay_off parameters to the leds subsystem. +blink_set() function (see ). If implemented, triggers can +attempt to use it before falling back to software timers. The blink_set() +function should return 0 if the blink setting is supported, or -EINVAL +otherwise, which means that LED blinking will be handled by software. + +The blink_set() function should choose a user friendly blinking +value if it is called with *delay_on==0 && *delay_off==0 parameters. In +this case the driver should give back the chosen value through delay_on +and delay_off parameters to the leds subsystem. Setting the brightness to zero with brightness_set() callback function should completely turn off the LED and cancel the previously programmed diff --git a/trunk/Documentation/leds/leds-lp5521.txt b/trunk/Documentation/leds/leds-lp5521.txt deleted file mode 100644 index c4d8d151e0fe..000000000000 --- a/trunk/Documentation/leds/leds-lp5521.txt +++ /dev/null @@ -1,88 +0,0 @@ -Kernel driver for lp5521 -======================== - -* National Semiconductor LP5521 led driver chip -* Datasheet: http://www.national.com/pf/LP/LP5521.html - -Authors: Mathias Nyman, Yuri Zaporozhets, Samu Onkalo -Contact: Samu Onkalo (samu.p.onkalo-at-nokia.com) - -Description ------------ - -LP5521 can drive up to 3 channels. Leds can be controlled directly via -the led class control interface. Channels have generic names: -lp5521:channelx, where x is 0 .. 2 - -All three channels can be also controlled using the engine micro programs. -More details of the instructions can be found from the public data sheet. - -Control interface for the engines: -x is 1 .. 3 -enginex_mode : disabled, load, run -enginex_load : store program (visible only in engine load mode) - -Example (start to blink the channel 2 led): -cd /sys/class/leds/lp5521:channel2/device -echo "load" > engine3_mode -echo "037f4d0003ff6000" > engine3_load -echo "run" > engine3_mode - -stop the engine: -echo "disabled" > engine3_mode - -sysfs contains a selftest entry. -The test communicates with the chip and checks that -the clock mode is automatically set to the requested one. - -Each channel has its own led current settings. -/sys/class/leds/lp5521:channel0/led_current - RW -/sys/class/leds/lp5521:channel0/max_current - RO -Format: 10x mA i.e 10 means 1.0 mA - -example platform data: - -Note: chan_nr can have values between 0 and 2. - -static struct lp5521_led_config lp5521_led_config[] = { - { - .chan_nr = 0, - .led_current = 50, - .max_current = 130, - }, { - .chan_nr = 1, - .led_current = 0, - .max_current = 130, - }, { - .chan_nr = 2, - .led_current = 0, - .max_current = 130, - } -}; - -static int lp5521_setup(void) -{ - /* setup HW resources */ -} - -static void lp5521_release(void) -{ - /* Release HW resources */ -} - -static void lp5521_enable(bool state) -{ - /* Control of chip enable signal */ -} - -static struct lp5521_platform_data lp5521_platform_data = { - .led_config = lp5521_led_config, - .num_channels = ARRAY_SIZE(lp5521_led_config), - .clock_mode = LP5521_CLOCK_EXT, - .setup_resources = lp5521_setup, - .release_resources = lp5521_release, - .enable = lp5521_enable, -}; - -If the current is set to 0 in the platform data, that channel is -disabled and it is not visible in the sysfs. diff --git a/trunk/Documentation/leds/leds-lp5523.txt b/trunk/Documentation/leds/leds-lp5523.txt deleted file mode 100644 index fad2feb8b7ce..000000000000 --- a/trunk/Documentation/leds/leds-lp5523.txt +++ /dev/null @@ -1,83 +0,0 @@ -Kernel driver for lp5523 -======================== - -* National Semiconductor LP5523 led driver chip -* Datasheet: http://www.national.com/pf/LP/LP5523.html - -Authors: Mathias Nyman, Yuri Zaporozhets, Samu Onkalo -Contact: Samu Onkalo (samu.p.onkalo-at-nokia.com) - -Description ------------ -LP5523 can drive up to 9 channels. Leds can be controlled directly via -the led class control interface. Channels have generic names: -lp5523:channelx where x is 0...8 - -The chip provides 3 engines. Each engine can control channels without -interaction from the main CPU. Details of the micro engine code can be found -from the public data sheet. Leds can be muxed to different channels. - -Control interface for the engines: -x is 1 .. 3 -enginex_mode : disabled, load, run -enginex_load : microcode load (visible only in load mode) -enginex_leds : led mux control (visible only in load mode) - -cd /sys/class/leds/lp5523:channel2/device -echo "load" > engine3_mode -echo "9d80400004ff05ff437f0000" > engine3_load -echo "111111111" > engine3_leds -echo "run" > engine3_mode - -sysfs contains a selftest entry. It measures each channel -voltage level and checks if it looks reasonable. If the level is too high, -the led is missing; if the level is too low, there is a short circuit. - -Selftest uses always the current from the platform data. - -Each channel contains led current settings. -/sys/class/leds/lp5523:channel2/led_current - RW -/sys/class/leds/lp5523:channel2/max_current - RO -Format: 10x mA i.e 10 means 1.0 mA - -Example platform data: - -Note - chan_nr can have values between 0 and 8. - -static struct lp5523_led_config lp5523_led_config[] = { - { - .chan_nr = 0, - .led_current = 50, - .max_current = 130, - }, -... - }, { - .chan_nr = 8, - .led_current = 50, - .max_current = 130, - } -}; - -static int lp5523_setup(void) -{ - /* Setup HW resources */ -} - -static void lp5523_release(void) -{ - /* Release HW resources */ -} - -static void lp5523_enable(bool state) -{ - /* Control chip enable signal */ -} - -static struct lp5523_platform_data lp5523_platform_data = { - .led_config = lp5523_led_config, - .num_channels = ARRAY_SIZE(lp5523_led_config), - .clock_mode = LP5523_CLOCK_EXT, - .setup_resources = lp5523_setup, - .release_resources = lp5523_release, - .enable = lp5523_enable, -}; diff --git a/trunk/Documentation/networking/ip-sysctl.txt b/trunk/Documentation/networking/ip-sysctl.txt index fe95105992c5..c7165f4cb792 100644 --- a/trunk/Documentation/networking/ip-sysctl.txt +++ b/trunk/Documentation/networking/ip-sysctl.txt @@ -20,15 +20,6 @@ ip_no_pmtu_disc - BOOLEAN min_pmtu - INTEGER default 562 - minimum discovered Path MTU -route/max_size - INTEGER - Maximum number of routes allowed in the kernel. Increase - this when using large numbers of interfaces and/or routes. - -neigh/default/gc_thresh3 - INTEGER - Maximum number of neighbor entries allowed. Increase this - when using large numbers of interfaces and when communicating - with large numbers of directly-connected peers. - mtu_expires - INTEGER Time, in seconds, that cached PMTU information is kept. diff --git a/trunk/Documentation/rbtree.txt b/trunk/Documentation/rbtree.txt index 19f8278c3854..221f38be98f4 100644 --- a/trunk/Documentation/rbtree.txt +++ b/trunk/Documentation/rbtree.txt @@ -21,8 +21,8 @@ three rotations, respectively, to balance the tree), with slightly slower To quote Linux Weekly News: There are a number of red-black trees in use in the kernel. - The deadline and CFQ I/O schedulers employ rbtrees to - track requests; the packet CD/DVD driver does the same. + The anticipatory, deadline, and CFQ I/O schedulers all employ + rbtrees to track requests; the packet CD/DVD driver does the same. The high-resolution timer code uses an rbtree to organize outstanding timer requests. The ext3 filesystem tracks directory entries in a red-black tree. Virtual memory areas (VMAs) are tracked with red-black diff --git a/trunk/Documentation/scsi/ChangeLog.megaraid_sas b/trunk/Documentation/scsi/ChangeLog.megaraid_sas index 00301ed9c371..30023568805e 100644 --- a/trunk/Documentation/scsi/ChangeLog.megaraid_sas +++ b/trunk/Documentation/scsi/ChangeLog.megaraid_sas @@ -1,50 +1,3 @@ -1 Release Date : Thur. May 03, 2010 09:12:45 PST 2009 - - (emaild-id:megaraidlinux@lsi.com) - Bo Yang - -2 Current Version : 00.00.04.31-rc1 -3 Older Version : 00.00.04.17.1-rc1 - -1. Add the Online Controller Reset (OCR) to the Driver. - OCR is the new feature for megaraid_sas driver which - will allow the fw to do the chip reset which will not - affact the OS behavious. - - To add the OCR support, driver need to do: - a). reset the controller chips -- Xscale and Gen2 which - will change the function calls and add the reset function - related to this two chips. - - b). during the reset, driver will store the pending cmds - which not returned by FW to driver's pending queue. Driver - will re-issue those pending cmds again to FW after the OCR - finished. - - c). In driver's timeout routine, driver will report to - OS as reset. Also driver's queue routine will block the - cmds until the OCR finished. - - d). in Driver's ISR routine, if driver get the FW state as - state change, FW in Failure status and FW support online controller - reset (OCR), driver will start to do the controller reset. - - e). In driver's IOCTL routine, the application cmds will wait for the - OCR to finish, then issue the cmds to FW. - - f). Before driver kill adapter, driver will do last chance of - OCR to see if driver can bring back the FW. - -2. Add the support update flag to the driver to tell LSI megaraid_sas - application which driver will support the device update. So application - will not need to do the device update after application add/del the device - from the system. -3. In driver's timeout routine, driver will do three time reset if fw is in - failed state. Driver will kill adapter if can't bring back FW after the - this three times reset. -4. Add the input parameter max_sectors to 1MB support to our GEN2 controller. - customer can use the input paramenter max_sectors to add 1MB support to GEN2 - controller. - 1 Release Date : Thur. Oct 29, 2009 09:12:45 PST 2009 - (emaild-id:megaraidlinux@lsi.com) Bo Yang diff --git a/trunk/Documentation/sysctl/kernel.txt b/trunk/Documentation/sysctl/kernel.txt index 209e1584c3dc..3894eaa23486 100644 --- a/trunk/Documentation/sysctl/kernel.txt +++ b/trunk/Documentation/sysctl/kernel.txt @@ -28,7 +28,6 @@ show up in /proc/sys/kernel: - core_uses_pid - ctrl-alt-del - dentry-state -- dmesg_restrict - domainname - hostname - hotplug @@ -214,19 +213,6 @@ to decide what to do with it. ============================================================== -dmesg_restrict: - -This toggle indicates whether unprivileged users are prevented from using -dmesg(8) to view messages from the kernel's log buffer. When -dmesg_restrict is set to (0) there are no restrictions. When -dmesg_restrict is set set to (1), users must have CAP_SYS_ADMIN to use -dmesg(8). - -The kernel config option CONFIG_SECURITY_DMESG_RESTRICT sets the default -value of dmesg_restrict. - -============================================================== - domainname & hostname: These files can be used to set the NIS/YP domainname and the diff --git a/trunk/Kbuild b/trunk/Kbuild index 2114113ceca2..b00037ad7e03 100644 --- a/trunk/Kbuild +++ b/trunk/Kbuild @@ -95,5 +95,5 @@ PHONY += missing-syscalls missing-syscalls: scripts/checksyscalls.sh FORCE $(call cmd,syscalls) -# Keep these two files during make clean -no-clean-files := $(bounds-file) $(offsets-file) +# Delete all targets during make clean +clean-files := $(addprefix $(objtree)/,$(filter-out $(bounds-file) $(offsets-file),$(targets))) diff --git a/trunk/Kconfig b/trunk/Kconfig deleted file mode 100644 index c13f48d65898..000000000000 --- a/trunk/Kconfig +++ /dev/null @@ -1,11 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see Documentation/kbuild/kconfig-language.txt. -# -mainmenu "Linux/$ARCH $KERNELVERSION Kernel Configuration" - -config SRCARCH - string - option env="SRCARCH" - -source "arch/$SRCARCH/Kconfig" diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 88b74a75d932..d0c2206fd632 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -161,7 +161,7 @@ M: Greg Kroah-Hartman L: linux-serial@vger.kernel.org W: http://serial.sourceforge.net S: Maintained -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git +T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ F: drivers/serial/8250* F: include/linux/serial_8250.h @@ -1613,7 +1613,7 @@ F: drivers/platform/x86/classmate-laptop.c COCCINELLE/Semantic Patches (SmPL) M: Julia Lawall M: Gilles Muller -M: Nicolas Palix +M: Nicolas Palix L: cocci@diku.dk (moderated for non-subscribers) W: http://coccinelle.lip6.fr/ S: Supported @@ -1757,7 +1757,6 @@ L: linux-cris-kernel@axis.com W: http://developer.axis.com S: Maintained F: arch/cris/ -F: drivers/serial/crisv10.* CRYPTO API M: Herbert Xu @@ -5676,7 +5675,7 @@ S: Maintained STAGING SUBSYSTEM M: Greg Kroah-Hartman -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-next-2.6.git L: devel@driverdev.osuosl.org S: Maintained F: drivers/staging/ @@ -5910,7 +5909,7 @@ S: Maintained TTY LAYER M: Greg Kroah-Hartman S: Maintained -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git +T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ F: drivers/char/tty_* F: drivers/serial/serial_core.c F: include/linux/serial_core.h @@ -6233,7 +6232,7 @@ USB SUBSYSTEM M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org W: http://www.linux-usb.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git +T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ S: Supported F: Documentation/usb/ F: drivers/net/usb/ @@ -6596,25 +6595,11 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86. S: Maintained F: drivers/platform/x86 -XEN PCI SUBSYSTEM -M: Konrad Rzeszutek Wilk -L: xen-devel@lists.xensource.com (moderated for non-subscribers) -S: Supported -F: arch/x86/pci/*xen* -F: drivers/pci/*xen* - -XEN SWIOTLB SUBSYSTEM -M: Konrad Rzeszutek Wilk -L: xen-devel@lists.xensource.com (moderated for non-subscribers) -S: Supported -F: arch/x86/xen/*swiotlb* -F: drivers/xen/*swiotlb* - XEN HYPERVISOR INTERFACE -M: Jeremy Fitzhardinge -M: Konrad Rzeszutek Wilk -L: xen-devel@lists.xensource.com (moderated for non-subscribers) +M: Jeremy Fitzhardinge +M: Chris Wright L: virtualization@lists.osdl.org +L: xen-devel@lists.xensource.com S: Supported F: arch/x86/xen/ F: drivers/*/xen-*front.c diff --git a/trunk/Makefile b/trunk/Makefile index 6619720f50dd..3e438055a92c 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 -SUBLEVEL = 37 -EXTRAVERSION = -rc1 +SUBLEVEL = 36 +EXTRAVERSION = NAME = Flesh-Eating Bats with Fangs # *DOCUMENTATION* @@ -204,9 +204,6 @@ ifeq ($(ARCH),x86_64) endif # Additional ARCH settings for sparc -ifeq ($(ARCH),sparc32) - SRCARCH := sparc -endif ifeq ($(ARCH),sparc64) SRCARCH := sparc endif @@ -1140,13 +1137,21 @@ MRPROPER_FILES += .config .config.old .version .old_version \ # clean: rm-dirs := $(CLEAN_DIRS) clean: rm-files := $(CLEAN_FILES) -clean-dirs := $(addprefix _clean_, . $(vmlinux-alldirs) Documentation) +clean-dirs := $(addprefix _clean_,$(srctree) $(vmlinux-alldirs) Documentation) PHONY += $(clean-dirs) clean archclean $(clean-dirs): $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) -clean: archclean +clean: archclean $(clean-dirs) + $(call cmd,rmdirs) + $(call cmd,rmfiles) + @find . $(RCS_FIND_IGNORE) \ + \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ + -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ + -o -name '*.symtypes' -o -name 'modules.order' \ + -o -name modules.builtin -o -name '.tmp_*.o.*' \ + -o -name '*.gcno' \) -type f -print | xargs rm -f # mrproper - Delete all generated files, including .config # @@ -1347,7 +1352,16 @@ $(clean-dirs): $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) clean: rm-dirs := $(MODVERDIR) -clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers +clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers \ + $(KBUILD_EXTMOD)/modules.order \ + $(KBUILD_EXTMOD)/modules.builtin +clean: $(clean-dirs) + $(call cmd,rmdirs) + $(call cmd,rmfiles) + @find $(KBUILD_EXTMOD) $(RCS_FIND_IGNORE) \ + \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ + -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ + -o -name '*.gcno' \) -type f -print | xargs rm -f help: @echo ' Building external modules.' @@ -1364,16 +1378,6 @@ prepare: ; scripts: ; endif # KBUILD_EXTMOD -clean: $(clean-dirs) - $(call cmd,rmdirs) - $(call cmd,rmfiles) - @find $(or $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \ - \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ - -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ - -o -name '*.symtypes' -o -name 'modules.order' \ - -o -name modules.builtin -o -name '.tmp_*.o.*' \ - -o -name '*.gcno' \) -type f -print | xargs rm -f - # Generate tags for editors # --------------------------------------------------------------------------- quiet_cmd_tags = GEN $@ diff --git a/trunk/README b/trunk/README index 1b81d2836873..737838fe73cc 100644 --- a/trunk/README +++ b/trunk/README @@ -166,7 +166,6 @@ CONFIGURING the kernel: - Alternate configuration commands are: "make config" Plain text interface. "make menuconfig" Text based color menus, radiolists & dialogs. - "make nconfig" Enhanced text based color menus. "make xconfig" X windows (Qt) based configuration tool. "make gconfig" X windows (Gtk) based configuration tool. "make oldconfig" Default all questions based on the contents of diff --git a/trunk/arch/Kconfig b/trunk/arch/Kconfig index 8bf0fa652eb6..53d7f619a1b9 100644 --- a/trunk/arch/Kconfig +++ b/trunk/arch/Kconfig @@ -42,20 +42,6 @@ config KPROBES for kernel debugging, non-intrusive instrumentation and testing. If in doubt, say "N". -config JUMP_LABEL - bool "Optimize trace point call sites" - depends on HAVE_ARCH_JUMP_LABEL - help - If it is detected that the compiler has support for "asm goto", - the kernel will compile trace point locations with just a - nop instruction. When trace points are enabled, the nop will - be converted to a jump to the trace function. This technique - lowers overhead and stress on the branch prediction of the - processor. - - On i386, options added to the compiler flags may increase - the size of the kernel slightly. - config OPTPROBES def_bool y depends on KPROBES && HAVE_OPTPROBES diff --git a/trunk/arch/alpha/Kconfig b/trunk/arch/alpha/Kconfig index 943fe6930f77..28f93a6c0fde 100644 --- a/trunk/arch/alpha/Kconfig +++ b/trunk/arch/alpha/Kconfig @@ -1,3 +1,7 @@ +# +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. +# config ALPHA bool default y diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 8ae3d48d504c..bf7273f3dc64 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -1,3 +1,10 @@ +# +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. +# + +mainmenu "Linux Kernel Configuration" + config ARM bool default y @@ -6,7 +13,7 @@ config ARM select HAVE_MEMBLOCK select RTC_LIB select SYS_SUPPORTS_APM_EMULATION - select GENERIC_ATOMIC64 if (!CPU_32v6K || !AEABI) + select GENERIC_ATOMIC64 if (!CPU_32v6K) select HAVE_OPROFILE if (HAVE_PERF_EVENTS) select HAVE_ARCH_KGDB select HAVE_KPROBES if (!XIP_KERNEL) @@ -720,11 +727,9 @@ config ARCH_S5PC100 config ARCH_S5PV210 bool "Samsung S5PV210/S5PC110" select CPU_V7 - select ARCH_SPARSEMEM_ENABLE select GENERIC_GPIO select HAVE_CLK select ARM_L1_CACHE_SHIFT_6 - select ARCH_HAS_CPUFREQ select ARCH_USES_GETTIMEOFFSET select HAVE_S3C2410_I2C select HAVE_S3C_RTC @@ -735,13 +740,9 @@ config ARCH_S5PV210 config ARCH_S5PV310 bool "Samsung S5PV310/S5PC210" select CPU_V7 - select ARCH_SPARSEMEM_ENABLE select GENERIC_GPIO select HAVE_CLK select GENERIC_CLOCKEVENTS - select HAVE_S3C_RTC - select HAVE_S3C2410_I2C - select HAVE_S3C2410_WATCHDOG help Samsung S5PV310 series based systems @@ -1668,12 +1669,6 @@ if ARCH_HAS_CPUFREQ source "drivers/cpufreq/Kconfig" -config CPU_FREQ_IMX - tristate "CPUfreq driver for i.MX CPUs" - depends on ARCH_MXC && CPU_FREQ - help - This enables the CPUfreq driver for i.MX CPUs. - config CPU_FREQ_SA1100 bool diff --git a/trunk/arch/arm/common/gic.c b/trunk/arch/arm/common/gic.c index 772f95f1aecd..ada6359160eb 100644 --- a/trunk/arch/arm/common/gic.c +++ b/trunk/arch/arm/common/gic.c @@ -251,16 +251,15 @@ void __init gic_dist_init(unsigned int gic_nr, void __iomem *base, writel(cpumask, base + GIC_DIST_TARGET + i * 4 / 4); /* - * Set priority on all global interrupts. + * Set priority on all interrupts. */ - for (i = 32; i < max_irq; i += 4) + for (i = 0; i < max_irq; i += 4) writel(0xa0a0a0a0, base + GIC_DIST_PRI + i * 4 / 4); /* - * Disable all interrupts. Leave the PPI and SGIs alone - * as these enables are banked registers. + * Disable all interrupts. */ - for (i = 32; i < max_irq; i += 32) + for (i = 0; i < max_irq; i += 32) writel(0xffffffff, base + GIC_DIST_ENABLE_CLEAR + i * 4 / 32); /* @@ -278,30 +277,11 @@ void __init gic_dist_init(unsigned int gic_nr, void __iomem *base, void __cpuinit gic_cpu_init(unsigned int gic_nr, void __iomem *base) { - void __iomem *dist_base; - int i; - if (gic_nr >= MAX_GIC_NR) BUG(); - dist_base = gic_data[gic_nr].dist_base; - BUG_ON(!dist_base); - gic_data[gic_nr].cpu_base = base; - /* - * Deal with the banked PPI and SGI interrupts - disable all - * PPI interrupts, ensure all SGI interrupts are enabled. - */ - writel(0xffff0000, dist_base + GIC_DIST_ENABLE_CLEAR); - writel(0x0000ffff, dist_base + GIC_DIST_ENABLE_SET); - - /* - * Set priority on PPI and SGI interrupts - */ - for (i = 0; i < 32; i += 4) - writel(0xa0a0a0a0, dist_base + GIC_DIST_PRI + i * 4 / 4); - writel(0xf0, base + GIC_CPU_PRIMASK); writel(1, base + GIC_CPU_CTRL); } diff --git a/trunk/arch/arm/configs/mx51_defconfig b/trunk/arch/arm/configs/mx51_defconfig index 5c7a87260fab..163cfee7644c 100644 --- a/trunk/arch/arm/configs/mx51_defconfig +++ b/trunk/arch/arm/configs/mx51_defconfig @@ -82,7 +82,6 @@ CONFIG_FEC=y CONFIG_INPUT_FF_MEMLESS=m # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_EVBUG=m CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_ELANTECH=y diff --git a/trunk/arch/arm/include/asm/hardware/cache-l2x0.h b/trunk/arch/arm/include/asm/hardware/cache-l2x0.h index cc42d5fdee17..6bcba48800fe 100644 --- a/trunk/arch/arm/include/asm/hardware/cache-l2x0.h +++ b/trunk/arch/arm/include/asm/hardware/cache-l2x0.h @@ -21,6 +21,9 @@ #define __ASM_ARM_HARDWARE_L2X0_H #define L2X0_CACHE_ID 0x000 +#define L2X0_CACHE_ID_PART_MASK (0xf << 6) +#define L2X0_CACHE_ID_PART_L210 (1 << 6) +#define L2X0_CACHE_ID_PART_L310 (3 << 6) #define L2X0_CACHE_TYPE 0x004 #define L2X0_CTRL 0x100 #define L2X0_AUX_CTRL 0x104 @@ -50,16 +53,6 @@ #define L2X0_LINE_DATA 0xF10 #define L2X0_LINE_TAG 0xF30 #define L2X0_DEBUG_CTRL 0xF40 -#define L2X0_PREFETCH_CTRL 0xF60 -#define L2X0_POWER_CTRL 0xF80 -#define L2X0_DYNAMIC_CLK_GATING_EN (1 << 1) -#define L2X0_STNDBY_MODE_EN (1 << 0) - -/* Registers shifts and masks */ -#define L2X0_CACHE_ID_PART_MASK (0xf << 6) -#define L2X0_CACHE_ID_PART_L210 (1 << 6) -#define L2X0_CACHE_ID_PART_L310 (3 << 6) -#define L2X0_AUX_CTRL_WAY_SIZE_MASK (0x3 << 17) #ifndef __ASSEMBLY__ extern void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask); diff --git a/trunk/arch/arm/include/asm/hardware/it8152.h b/trunk/arch/arm/include/asm/hardware/it8152.h index 21fa272301f8..6700c7fc7ebd 100644 --- a/trunk/arch/arm/include/asm/hardware/it8152.h +++ b/trunk/arch/arm/include/asm/hardware/it8152.h @@ -75,7 +75,7 @@ extern unsigned long it8152_base_address; IT8152_PD_IRQ(1) USB (USBR) IT8152_PD_IRQ(0) Audio controller (ACR) */ -#define IT8152_IRQ(x) (IRQ_BOARD_START + (x)) +#define IT8152_IRQ(x) (IRQ_BOARD_END + (x)) /* IRQ-sources in 3 groups - local devices, LPC (serial), and external PCI */ #define IT8152_LD_IRQ_COUNT 9 diff --git a/trunk/arch/arm/include/asm/kgdb.h b/trunk/arch/arm/include/asm/kgdb.h index 48066ce9ea34..08265993227f 100644 --- a/trunk/arch/arm/include/asm/kgdb.h +++ b/trunk/arch/arm/include/asm/kgdb.h @@ -70,8 +70,7 @@ extern int kgdb_fault_expected; #define _GP_REGS 16 #define _FP_REGS 8 #define _EXTRA_REGS 2 -#define GDB_MAX_REGS (_GP_REGS + (_FP_REGS * 3) + _EXTRA_REGS) -#define DBG_MAX_REG_NUM (_GP_REGS + _FP_REGS + _EXTRA_REGS) +#define DBG_MAX_REG_NUM (_GP_REGS + (_FP_REGS * 3) + _EXTRA_REGS) #define KGDB_MAX_NO_CPUS 1 #define BUFMAX 400 @@ -94,7 +93,7 @@ extern int kgdb_fault_expected; #define _SPT 13 #define _LR 14 #define _PC 15 -#define _CPSR (GDB_MAX_REGS - 1) +#define _CPSR (DBG_MAX_REG_NUM - 1) /* * So that we can denote the end of a frame for tracing, diff --git a/trunk/arch/arm/include/asm/memblock.h b/trunk/arch/arm/include/asm/memblock.h index b8da2e415e4e..fdbc43b2e6c0 100644 --- a/trunk/arch/arm/include/asm/memblock.h +++ b/trunk/arch/arm/include/asm/memblock.h @@ -1,6 +1,13 @@ #ifndef _ASM_ARM_MEMBLOCK_H #define _ASM_ARM_MEMBLOCK_H +#ifdef CONFIG_MMU +extern phys_addr_t lowmem_end_addr; +#define MEMBLOCK_REAL_LIMIT lowmem_end_addr +#else +#define MEMBLOCK_REAL_LIMIT 0 +#endif + struct meminfo; struct machine_desc; diff --git a/trunk/arch/arm/include/asm/outercache.h b/trunk/arch/arm/include/asm/outercache.h index fc1900925275..25f76bae57ab 100644 --- a/trunk/arch/arm/include/asm/outercache.h +++ b/trunk/arch/arm/include/asm/outercache.h @@ -25,9 +25,6 @@ struct outer_cache_fns { void (*inv_range)(unsigned long, unsigned long); void (*clean_range)(unsigned long, unsigned long); void (*flush_range)(unsigned long, unsigned long); - void (*flush_all)(void); - void (*inv_all)(void); - void (*disable)(void); #ifdef CONFIG_OUTER_CACHE_SYNC void (*sync)(void); #endif @@ -53,24 +50,6 @@ static inline void outer_flush_range(unsigned long start, unsigned long end) outer_cache.flush_range(start, end); } -static inline void outer_flush_all(void) -{ - if (outer_cache.flush_all) - outer_cache.flush_all(); -} - -static inline void outer_inv_all(void) -{ - if (outer_cache.inv_all) - outer_cache.inv_all(); -} - -static inline void outer_disable(void) -{ - if (outer_cache.disable) - outer_cache.disable(); -} - #else static inline void outer_inv_range(unsigned long start, unsigned long end) @@ -79,9 +58,6 @@ static inline void outer_clean_range(unsigned long start, unsigned long end) { } static inline void outer_flush_range(unsigned long start, unsigned long end) { } -static inline void outer_flush_all(void) { } -static inline void outer_inv_all(void) { } -static inline void outer_disable(void) { } #endif diff --git a/trunk/arch/arm/kernel/hw_breakpoint.c b/trunk/arch/arm/kernel/hw_breakpoint.c index 21e3a4ab3b8c..54593b0c241b 100644 --- a/trunk/arch/arm/kernel/hw_breakpoint.c +++ b/trunk/arch/arm/kernel/hw_breakpoint.c @@ -748,7 +748,8 @@ static int hw_breakpoint_pending(unsigned long addr, unsigned int fsr, breakpoint_handler(addr, regs); break; case ARM_ENTRY_ASYNC_WATCHPOINT: - WARN(1, "Asynchronous watchpoint exception taken. Debugging results may be unreliable\n"); + WARN_ON("Asynchronous watchpoint exception taken. " + "Debugging results may be unreliable"); case ARM_ENTRY_SYNC_WATCHPOINT: watchpoint_handler(addr, regs); break; diff --git a/trunk/arch/arm/kernel/kgdb.c b/trunk/arch/arm/kernel/kgdb.c index 778c2f7024ff..d6e8b4d2e60d 100644 --- a/trunk/arch/arm/kernel/kgdb.c +++ b/trunk/arch/arm/kernel/kgdb.c @@ -79,7 +79,7 @@ sleeping_thread_to_gdb_regs(unsigned long *gdb_regs, struct task_struct *task) return; /* Initialize to zero */ - for (regno = 0; regno < GDB_MAX_REGS; regno++) + for (regno = 0; regno < DBG_MAX_REG_NUM; regno++) gdb_regs[regno] = 0; /* Otherwise, we have only some registers from switch_to() */ diff --git a/trunk/arch/arm/kernel/machine_kexec.c b/trunk/arch/arm/kernel/machine_kexec.c index 3a8fd5140d7a..1fc74cbd1a19 100644 --- a/trunk/arch/arm/kernel/machine_kexec.c +++ b/trunk/arch/arm/kernel/machine_kexec.c @@ -78,10 +78,7 @@ void machine_kexec(struct kimage *image) local_fiq_disable(); setup_mm_for_reboot(0); /* mode is not used, so just pass 0*/ flush_cache_all(); - outer_flush_all(); - outer_disable(); cpu_proc_fin(); - outer_inv_all(); flush_cache_all(); cpu_reset(reboot_code_buffer_phys); } diff --git a/trunk/arch/arm/kernel/perf_event.c b/trunk/arch/arm/kernel/perf_event.c index 07a50357492a..49643b1467e6 100644 --- a/trunk/arch/arm/kernel/perf_event.c +++ b/trunk/arch/arm/kernel/perf_event.c @@ -1749,7 +1749,7 @@ static inline int armv7_pmnc_has_overflowed(unsigned long pmnc) static inline int armv7_pmnc_counter_has_overflowed(unsigned long pmnc, enum armv7_counters counter) { - int ret = 0; + int ret; if (counter == ARMV7_CYCLE_COUNTER) ret = pmnc & ARMV7_FLAG_C; diff --git a/trunk/arch/arm/kernel/stacktrace.c b/trunk/arch/arm/kernel/stacktrace.c index c2e112e1a05f..20b7411e47fd 100644 --- a/trunk/arch/arm/kernel/stacktrace.c +++ b/trunk/arch/arm/kernel/stacktrace.c @@ -28,7 +28,7 @@ int notrace unwind_frame(struct stackframe *frame) /* only go to a higher address on the stack */ low = frame->sp; - high = ALIGN(low, THREAD_SIZE); + high = ALIGN(low, THREAD_SIZE) + THREAD_SIZE; /* check current frame pointer is within bounds */ if (fp < (low + 12) || fp + 4 >= high) diff --git a/trunk/arch/arm/kernel/traps.c b/trunk/arch/arm/kernel/traps.c index 446aee97436f..cda78d59aa31 100644 --- a/trunk/arch/arm/kernel/traps.c +++ b/trunk/arch/arm/kernel/traps.c @@ -53,7 +53,10 @@ static void dump_mem(const char *, const char *, unsigned long, unsigned long); void dump_backtrace_entry(unsigned long where, unsigned long from, unsigned long frame) { #ifdef CONFIG_KALLSYMS - printk("[<%08lx>] (%pS) from [<%08lx>] (%pS)\n", where, (void *)where, from, (void *)from); + char sym1[KSYM_SYMBOL_LEN], sym2[KSYM_SYMBOL_LEN]; + sprint_symbol(sym1, where); + sprint_symbol(sym2, from); + printk("[<%08lx>] (%s) from [<%08lx>] (%s)\n", where, sym1, from, sym2); #else printk("Function entered at [<%08lx>] from [<%08lx>]\n", where, from); #endif diff --git a/trunk/arch/arm/kernel/unwind.c b/trunk/arch/arm/kernel/unwind.c index d2cb0b3c9872..2a161765f6d5 100644 --- a/trunk/arch/arm/kernel/unwind.c +++ b/trunk/arch/arm/kernel/unwind.c @@ -279,7 +279,7 @@ int unwind_frame(struct stackframe *frame) /* only go to a higher address on the stack */ low = frame->sp; - high = ALIGN(low, THREAD_SIZE); + high = ALIGN(low, THREAD_SIZE) + THREAD_SIZE; pr_debug("%s(pc = %08lx lr = %08lx sp = %08lx)\n", __func__, frame->pc, frame->lr, frame->sp); diff --git a/trunk/arch/arm/kernel/vmlinux.lds.S b/trunk/arch/arm/kernel/vmlinux.lds.S index cead8893b46b..1953e3d21abf 100644 --- a/trunk/arch/arm/kernel/vmlinux.lds.S +++ b/trunk/arch/arm/kernel/vmlinux.lds.S @@ -113,7 +113,6 @@ SECTIONS *(.rodata.*) *(.glue_7) *(.glue_7t) - . = ALIGN(4); *(.got) /* Global offset table */ ARM_CPU_KEEP(PROC_INFO) } diff --git a/trunk/arch/arm/mach-ep93xx/include/mach/dma.h b/trunk/arch/arm/mach-ep93xx/include/mach/dma.h index 5e31b2b25da9..3a5961d3f3b1 100644 --- a/trunk/arch/arm/mach-ep93xx/include/mach/dma.h +++ b/trunk/arch/arm/mach-ep93xx/include/mach/dma.h @@ -1,13 +1,5 @@ -/** - * DOC: EP93xx DMA M2P memory to peripheral and peripheral to memory engine - * - * The EP93xx DMA M2P subsystem handles DMA transfers between memory and - * peripherals. DMA M2P channels are available for audio, UARTs and IrDA. - * See chapter 10 of the EP93xx users guide for full details on the DMA M2P - * engine. - * - * See sound/soc/ep93xx/ep93xx-pcm.c for an example use of the DMA M2P code. - * +/* + * arch/arm/mach-ep93xx/include/mach/dma.h */ #ifndef __ASM_ARCH_DMA_H @@ -16,34 +8,12 @@ #include #include -/** - * struct ep93xx_dma_buffer - Information about a buffer to be transferred - * using the DMA M2P engine - * - * @list: Entry in DMA buffer list - * @bus_addr: Physical address of the buffer - * @size: Size of the buffer in bytes - */ struct ep93xx_dma_buffer { struct list_head list; u32 bus_addr; u16 size; }; -/** - * struct ep93xx_dma_m2p_client - Information about a DMA M2P client - * - * @name: Unique name for this client - * @flags: Client flags - * @cookie: User data to pass to callback functions - * @buffer_started: Non NULL function to call when a transfer is started. - * The arguments are the user data cookie and the DMA - * buffer which is starting. - * @buffer_finished: Non NULL function to call when a transfer is completed. - * The arguments are the user data cookie, the DMA buffer - * which has completed, and a boolean flag indicating if - * the transfer had an error. - */ struct ep93xx_dma_m2p_client { char *name; u8 flags; @@ -54,11 +24,10 @@ struct ep93xx_dma_m2p_client { struct ep93xx_dma_buffer *buf, int bytes, int error); - /* private: Internal use only */ + /* Internal to the DMA code. */ void *channel; }; -/* DMA M2P ports */ #define EP93XX_DMA_M2P_PORT_I2S1 0x00 #define EP93XX_DMA_M2P_PORT_I2S2 0x01 #define EP93XX_DMA_M2P_PORT_AAC1 0x02 @@ -70,80 +39,18 @@ struct ep93xx_dma_m2p_client { #define EP93XX_DMA_M2P_PORT_UART3 0x08 #define EP93XX_DMA_M2P_PORT_IRDA 0x09 #define EP93XX_DMA_M2P_PORT_MASK 0x0f +#define EP93XX_DMA_M2P_TX 0x00 +#define EP93XX_DMA_M2P_RX 0x10 +#define EP93XX_DMA_M2P_ABORT_ON_ERROR 0x20 +#define EP93XX_DMA_M2P_IGNORE_ERROR 0x40 +#define EP93XX_DMA_M2P_ERROR_MASK 0x60 -/* DMA M2P client flags */ -#define EP93XX_DMA_M2P_TX 0x00 /* Memory to peripheral */ -#define EP93XX_DMA_M2P_RX 0x10 /* Peripheral to memory */ - -/* - * DMA M2P client error handling flags. See the EP93xx users guide - * documentation on the DMA M2P CONTROL register for more details - */ -#define EP93XX_DMA_M2P_ABORT_ON_ERROR 0x20 /* Abort on peripheral error */ -#define EP93XX_DMA_M2P_IGNORE_ERROR 0x40 /* Ignore peripheral errors */ -#define EP93XX_DMA_M2P_ERROR_MASK 0x60 /* Mask of error bits */ - -/** - * ep93xx_dma_m2p_client_register - Register a client with the DMA M2P - * subsystem - * - * @m2p: Client information to register - * returns 0 on success - * - * The DMA M2P subsystem allocates a channel and an interrupt line for the DMA - * client - */ -int ep93xx_dma_m2p_client_register(struct ep93xx_dma_m2p_client *m2p); - -/** - * ep93xx_dma_m2p_client_unregister - Unregister a client from the DMA M2P - * subsystem - * - * @m2p: Client to unregister - * - * Any transfers currently in progress will be completed in hardware, but - * ignored in software. - */ +int ep93xx_dma_m2p_client_register(struct ep93xx_dma_m2p_client *m2p); void ep93xx_dma_m2p_client_unregister(struct ep93xx_dma_m2p_client *m2p); - -/** - * ep93xx_dma_m2p_submit - Submit a DMA M2P transfer - * - * @m2p: DMA Client to submit the transfer on - * @buf: DMA Buffer to submit - * - * If the current or next transfer positions are free on the M2P client then - * the transfer is started immediately. If not, the transfer is added to the - * list of pending transfers. This function must not be called from the - * buffer_finished callback for an M2P channel. - * - */ void ep93xx_dma_m2p_submit(struct ep93xx_dma_m2p_client *m2p, struct ep93xx_dma_buffer *buf); - -/** - * ep93xx_dma_m2p_submit_recursive - Put a DMA transfer on the pending list - * for an M2P channel - * - * @m2p: DMA Client to submit the transfer on - * @buf: DMA Buffer to submit - * - * This function must only be called from the buffer_finished callback for an - * M2P channel. It is commonly used to add the next transfer in a chained list - * of DMA transfers. - */ void ep93xx_dma_m2p_submit_recursive(struct ep93xx_dma_m2p_client *m2p, struct ep93xx_dma_buffer *buf); - -/** - * ep93xx_dma_m2p_flush - Flush all pending transfers on a DMA M2P client - * - * @m2p: DMA client to flush transfers on - * - * Any transfers currently in progress will be completed in hardware, but - * ignored in software. - * - */ void ep93xx_dma_m2p_flush(struct ep93xx_dma_m2p_client *m2p); #endif /* __ASM_ARCH_DMA_H */ diff --git a/trunk/arch/arm/mach-imx/mach-mx27_3ds.c b/trunk/arch/arm/mach-imx/mach-mx27_3ds.c index 84a5ba03f1ba..b8bbd31aa850 100644 --- a/trunk/arch/arm/mach-imx/mach-mx27_3ds.c +++ b/trunk/arch/arm/mach-imx/mach-mx27_3ds.c @@ -23,20 +23,16 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include "devices-imx27.h" #include "devices.h" -#define SD1_EN_GPIO (GPIO_PORTB + 25) - static const int mx27pdk_pins[] __initconst = { /* UART1 */ PE12_PF_UART1_TXD, @@ -62,14 +58,6 @@ static const int mx27pdk_pins[] __initconst = { PD15_AOUT_FEC_COL, PD16_AIN_FEC_TX_ER, PF23_AIN_FEC_TX_EN, - /* SDHC1 */ - PE18_PF_SD1_D0, - PE19_PF_SD1_D1, - PE20_PF_SD1_D2, - PE21_PF_SD1_D3, - PE22_PF_SD1_CMD, - PE23_PF_SD1_CLK, - SD1_EN_GPIO | GPIO_GPIO | GPIO_OUT, }; static const struct imxuart_platform_data uart_pdata __initconst = { @@ -97,39 +85,13 @@ static struct matrix_keymap_data mx27_3ds_keymap_data = { .keymap_size = ARRAY_SIZE(mx27_3ds_keymap), }; -static int mx27_3ds_sdhc1_init(struct device *dev, irq_handler_t detect_irq, - void *data) -{ - return request_irq(IRQ_GPIOB(26), detect_irq, IRQF_TRIGGER_FALLING | - IRQF_TRIGGER_RISING, "sdhc1-card-detect", data); -} - -static void mx27_3ds_sdhc1_exit(struct device *dev, void *data) -{ - free_irq(IRQ_GPIOB(26), data); -} - -static struct imxmmc_platform_data sdhc1_pdata = { - .init = mx27_3ds_sdhc1_init, - .exit = mx27_3ds_sdhc1_exit, -}; - -static void mx27_3ds_sdhc1_enable_level_translator(void) -{ - /* Turn on TXB0108 OE pin */ - gpio_request(SD1_EN_GPIO, "sd1_enable"); - gpio_direction_output(SD1_EN_GPIO, 1); -} - static void __init mx27pdk_init(void) { mxc_gpio_setup_multiple_pins(mx27pdk_pins, ARRAY_SIZE(mx27pdk_pins), "mx27pdk"); - mx27_3ds_sdhc1_enable_level_translator(); imx27_add_imx_uart0(&uart_pdata); imx27_add_fec(NULL); mxc_register_device(&imx_kpp_device, &mx27_3ds_keymap_data); - mxc_register_device(&mxc_sdhc_device0, &sdhc1_pdata); } static void __init mx27pdk_timer_init(void) diff --git a/trunk/arch/arm/mach-ixp2000/core.c b/trunk/arch/arm/mach-ixp2000/core.c index e24e3d05397f..babb22597163 100644 --- a/trunk/arch/arm/mach-ixp2000/core.c +++ b/trunk/arch/arm/mach-ixp2000/core.c @@ -197,7 +197,7 @@ unsigned long ixp2000_gettimeoffset (void) return offset / ticks_per_usec; } -static irqreturn_t ixp2000_timer_interrupt(int irq, void *dev_id) +static int ixp2000_timer_interrupt(int irq, void *dev_id) { /* clear timer 1 */ ixp2000_reg_wrb(IXP2000_T1_CLR, 1); diff --git a/trunk/arch/arm/mach-kirkwood/common.c b/trunk/arch/arm/mach-kirkwood/common.c index 3688123b5ad8..51ff23b72d3a 100644 --- a/trunk/arch/arm/mach-kirkwood/common.c +++ b/trunk/arch/arm/mach-kirkwood/common.c @@ -854,9 +854,10 @@ int __init kirkwood_find_tclk(void) kirkwood_pcie_id(&dev, &rev); - if (dev == MV88F6281_DEV_ID || dev == MV88F6282_DEV_ID) - if (((readl(SAMPLE_AT_RESET) >> 21) & 1) == 0) - return 200000000; + if ((dev == MV88F6281_DEV_ID && (rev == MV88F6281_REV_A0 || + rev == MV88F6281_REV_A1)) || + (dev == MV88F6282_DEV_ID)) + return 200000000; return 166666667; } diff --git a/trunk/arch/arm/mach-kirkwood/d2net_v2-setup.c b/trunk/arch/arm/mach-kirkwood/d2net_v2-setup.c index a31c9499ab36..4aa86e4a152c 100644 --- a/trunk/arch/arm/mach-kirkwood/d2net_v2-setup.c +++ b/trunk/arch/arm/mach-kirkwood/d2net_v2-setup.c @@ -225,5 +225,5 @@ MACHINE_START(D2NET_V2, "LaCie d2 Network v2") .init_machine = d2net_v2_init, .map_io = kirkwood_map_io, .init_irq = kirkwood_init_irq, - .timer = &kirkwood_timer, + .timer = &lacie_v2_timer, MACHINE_END diff --git a/trunk/arch/arm/mach-kirkwood/lacie_v2-common.c b/trunk/arch/arm/mach-kirkwood/lacie_v2-common.c index 285edab776e9..d3ea1b6c8a02 100644 --- a/trunk/arch/arm/mach-kirkwood/lacie_v2-common.c +++ b/trunk/arch/arm/mach-kirkwood/lacie_v2-common.c @@ -111,3 +111,17 @@ void __init lacie_v2_hdd_power_init(int hdd_num) pr_err("Failed to power up HDD%d\n", i + 1); } } + +/***************************************************************************** + * Timer + ****************************************************************************/ + +static void lacie_v2_timer_init(void) +{ + kirkwood_tclk = 166666667; + orion_time_init(IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk); +} + +struct sys_timer lacie_v2_timer = { + .init = lacie_v2_timer_init, +}; diff --git a/trunk/arch/arm/mach-kirkwood/lacie_v2-common.h b/trunk/arch/arm/mach-kirkwood/lacie_v2-common.h index fc64f578536e..af521315b87b 100644 --- a/trunk/arch/arm/mach-kirkwood/lacie_v2-common.h +++ b/trunk/arch/arm/mach-kirkwood/lacie_v2-common.h @@ -13,4 +13,6 @@ void lacie_v2_register_flash(void); void lacie_v2_register_i2c_devices(void); void lacie_v2_hdd_power_init(int hdd_num); +extern struct sys_timer lacie_v2_timer; + #endif diff --git a/trunk/arch/arm/mach-kirkwood/mpp.c b/trunk/arch/arm/mach-kirkwood/mpp.c index 27901f702feb..065187d177c6 100644 --- a/trunk/arch/arm/mach-kirkwood/mpp.c +++ b/trunk/arch/arm/mach-kirkwood/mpp.c @@ -59,7 +59,7 @@ void __init kirkwood_mpp_conf(unsigned int *mpp_list) } printk("\n"); - for ( ; *mpp_list; mpp_list++) { + while (*mpp_list) { unsigned int num = MPP_NUM(*mpp_list); unsigned int sel = MPP_SEL(*mpp_list); int shift, gpio_mode; @@ -88,6 +88,8 @@ void __init kirkwood_mpp_conf(unsigned int *mpp_list) if (sel != 0) gpio_mode = 0; orion_gpio_set_valid(num, gpio_mode); + + mpp_list++; } printk(KERN_DEBUG " final MPP regs:"); diff --git a/trunk/arch/arm/mach-kirkwood/netspace_v2-setup.c b/trunk/arch/arm/mach-kirkwood/netspace_v2-setup.c index 65ee21fd2f3b..5ea66f1f4178 100644 --- a/trunk/arch/arm/mach-kirkwood/netspace_v2-setup.c +++ b/trunk/arch/arm/mach-kirkwood/netspace_v2-setup.c @@ -262,7 +262,7 @@ MACHINE_START(NETSPACE_V2, "LaCie Network Space v2") .init_machine = netspace_v2_init, .map_io = kirkwood_map_io, .init_irq = kirkwood_init_irq, - .timer = &kirkwood_timer, + .timer = &lacie_v2_timer, MACHINE_END #endif @@ -272,7 +272,7 @@ MACHINE_START(INETSPACE_V2, "LaCie Internet Space v2") .init_machine = netspace_v2_init, .map_io = kirkwood_map_io, .init_irq = kirkwood_init_irq, - .timer = &kirkwood_timer, + .timer = &lacie_v2_timer, MACHINE_END #endif @@ -282,6 +282,6 @@ MACHINE_START(NETSPACE_MAX_V2, "LaCie Network Space Max v2") .init_machine = netspace_v2_init, .map_io = kirkwood_map_io, .init_irq = kirkwood_init_irq, - .timer = &kirkwood_timer, + .timer = &lacie_v2_timer, MACHINE_END #endif diff --git a/trunk/arch/arm/mach-kirkwood/netxbig_v2-setup.c b/trunk/arch/arm/mach-kirkwood/netxbig_v2-setup.c index 93afd3c8bfd8..a1b45d501aef 100644 --- a/trunk/arch/arm/mach-kirkwood/netxbig_v2-setup.c +++ b/trunk/arch/arm/mach-kirkwood/netxbig_v2-setup.c @@ -403,7 +403,7 @@ MACHINE_START(NET2BIG_V2, "LaCie 2Big Network v2") .init_machine = netxbig_v2_init, .map_io = kirkwood_map_io, .init_irq = kirkwood_init_irq, - .timer = &kirkwood_timer, + .timer = &lacie_v2_timer, MACHINE_END #endif @@ -413,6 +413,6 @@ MACHINE_START(NET5BIG_V2, "LaCie 5Big Network v2") .init_machine = netxbig_v2_init, .map_io = kirkwood_map_io, .init_irq = kirkwood_init_irq, - .timer = &kirkwood_timer, + .timer = &lacie_v2_timer, MACHINE_END #endif diff --git a/trunk/arch/arm/mach-kirkwood/ts41x-setup.c b/trunk/arch/arm/mach-kirkwood/ts41x-setup.c index 3587a281d993..8be09a0ce4ac 100644 --- a/trunk/arch/arm/mach-kirkwood/ts41x-setup.c +++ b/trunk/arch/arm/mach-kirkwood/ts41x-setup.c @@ -27,10 +27,6 @@ #include "mpp.h" #include "tsx1x-common.h" -/* for the PCIe reset workaround */ -#include - - #define QNAP_TS41X_JUMPER_JP1 45 static struct i2c_board_info __initdata qnap_ts41x_i2c_rtc = { @@ -144,16 +140,8 @@ static void __init qnap_ts41x_init(void) static int __init ts41x_pci_init(void) { - if (machine_is_ts41x()) { - /* - * Without this explicit reset, the PCIe SATA controller - * (Marvell 88sx7042/sata_mv) is known to stop working - * after a few minutes. - */ - orion_pcie_reset((void __iomem *)PCIE_VIRT_BASE); - + if (machine_is_ts41x()) kirkwood_pcie_init(KW_PCIE0); - } return 0; } diff --git a/trunk/arch/arm/mach-mmp/include/mach/cputype.h b/trunk/arch/arm/mach-mmp/include/mach/cputype.h index 8a3b56dfd35d..f43a68b213f1 100644 --- a/trunk/arch/arm/mach-mmp/include/mach/cputype.h +++ b/trunk/arch/arm/mach-mmp/include/mach/cputype.h @@ -46,8 +46,7 @@ static inline int cpu_is_pxa910(void) #ifdef CONFIG_CPU_MMP2 static inline int cpu_is_mmp2(void) { - return (((read_cpuid_id() >> 8) & 0xff) == 0x58); -} + return (((cpu_readid_id() >> 8) & 0xff) == 0x58); #else #define cpu_is_mmp2() (0) #endif diff --git a/trunk/arch/arm/mach-msm/Kconfig b/trunk/arch/arm/mach-msm/Kconfig index dbbcfeb919db..3115a29dec4e 100644 --- a/trunk/arch/arm/mach-msm/Kconfig +++ b/trunk/arch/arm/mach-msm/Kconfig @@ -6,7 +6,6 @@ choice config ARCH_MSM7X00A bool "MSM7x00A / MSM7x01A" - select MACH_TROUT if !MACH_HALIBUT select ARCH_MSM_ARM11 select MSM_SMD select MSM_SMD_PKG3 @@ -16,34 +15,34 @@ config ARCH_MSM7X00A config ARCH_MSM7X30 bool "MSM7x30" - select MACH_MSM7X30_SURF # if ! select ARCH_MSM_SCORPION select MSM_SMD select MSM_VIC select CPU_V7 + select MSM_REMOTE_SPINLOCK_DEKKERS select MSM_GPIOMUX select MSM_PROC_COMM select HAS_MSM_DEBUG_UART_PHYS config ARCH_QSD8X50 bool "QSD8X50" - select MACH_QSD8X50_SURF if !MACH_QSD8X50A_ST1_5 select ARCH_MSM_SCORPION select MSM_SMD select MSM_VIC select CPU_V7 + select MSM_REMOTE_SPINLOCK_LDREX select MSM_GPIOMUX select MSM_PROC_COMM select HAS_MSM_DEBUG_UART_PHYS config ARCH_MSM8X60 bool "MSM8X60" - select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \ - && !MACH_MSM8X60_FFA) select ARM_GIC select CPU_V7 select MSM_V2_TLMM select MSM_GPIOMUX + select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \ + && !MACH_MSM8X60_FFA) endchoice diff --git a/trunk/arch/arm/mach-msm/board-halibut.c b/trunk/arch/arm/mach-msm/board-halibut.c index 75dabb16c802..59edecbe126c 100644 --- a/trunk/arch/arm/mach-msm/board-halibut.c +++ b/trunk/arch/arm/mach-msm/board-halibut.c @@ -83,6 +83,7 @@ static void __init halibut_fixup(struct machine_desc *desc, struct tag *tags, { mi->nr_banks=1; mi->bank[0].start = PHYS_OFFSET; + mi->bank[0].node = PHYS_TO_NID(PHYS_OFFSET); mi->bank[0].size = (101*1024*1024); } diff --git a/trunk/arch/arm/mach-msm/include/mach/debug-macro.S b/trunk/arch/arm/mach-msm/include/mach/debug-macro.S index 646b99ebc773..fbd5d90dcc8c 100644 --- a/trunk/arch/arm/mach-msm/include/mach/debug-macro.S +++ b/trunk/arch/arm/mach-msm/include/mach/debug-macro.S @@ -19,7 +19,7 @@ #include #include -#if defined(CONFIG_HAS_MSM_DEBUG_UART_PHYS) && !defined(CONFIG_MSM_DEBUG_UART_NONE) +#ifdef CONFIG_HAS_MSM_DEBUG_UART_PHYS .macro addruart, rp, rv ldr \rp, =MSM_DEBUG_UART_PHYS ldr \rv, =MSM_DEBUG_UART_BASE @@ -36,18 +36,7 @@ tst \rd, #0x04 beq 1001b .endm -#else - .macro addruart, rp, rv - mov \rv, #0xff000000 - orr \rv, \rv, #0x00f00000 - .endm - - .macro senduart,rd,rx - .endm - - .macro waituart,rd,rx - .endm -#endif .macro busyuart,rd,rx .endm +#endif diff --git a/trunk/arch/arm/mach-msm/iommu_dev.c b/trunk/arch/arm/mach-msm/iommu_dev.c index 9019cee2907b..c33ae786c41f 100644 --- a/trunk/arch/arm/mach-msm/iommu_dev.c +++ b/trunk/arch/arm/mach-msm/iommu_dev.c @@ -128,7 +128,7 @@ static void msm_iommu_reset(void __iomem *base) static int msm_iommu_probe(struct platform_device *pdev) { - struct resource *r, *r2; + struct resource *r; struct clk *iommu_clk; struct msm_iommu_drvdata *drvdata; struct msm_iommu_dev *iommu_dev = pdev->dev.platform_data; @@ -183,27 +183,27 @@ static int msm_iommu_probe(struct platform_device *pdev) len = r->end - r->start + 1; - r2 = request_mem_region(r->start, len, r->name); - if (!r2) { + r = request_mem_region(r->start, len, r->name); + if (!r) { pr_err("Could not request memory region: " "start=%p, len=%d\n", (void *) r->start, len); ret = -EBUSY; goto fail; } - regs_base = ioremap(r2->start, len); + regs_base = ioremap(r->start, len); if (!regs_base) { pr_err("Could not ioremap: start=%p, len=%d\n", - (void *) r2->start, len); + (void *) r->start, len); ret = -EBUSY; - goto fail_mem; + goto fail; } irq = platform_get_irq_byname(pdev, "secure_irq"); if (irq < 0) { ret = -ENODEV; - goto fail_io; + goto fail; } mb(); @@ -211,14 +211,14 @@ static int msm_iommu_probe(struct platform_device *pdev) if (GET_IDR(regs_base) == 0) { pr_err("Invalid IDR value detected\n"); ret = -ENODEV; - goto fail_io; + goto fail; } ret = request_irq(irq, msm_iommu_fault_handler, 0, "msm_iommu_secure_irpt_handler", drvdata); if (ret) { pr_err("Request IRQ %d failed with ret=%d\n", irq, ret); - goto fail_io; + goto fail; } msm_iommu_reset(regs_base); @@ -237,10 +237,6 @@ static int msm_iommu_probe(struct platform_device *pdev) return 0; -fail_io: - iounmap(regs_base); -fail_mem: - release_mem_region(r->start, len); fail: kfree(drvdata); return ret; diff --git a/trunk/arch/arm/mach-msm/timer.c b/trunk/arch/arm/mach-msm/timer.c index 950100f19d07..7689848ec680 100644 --- a/trunk/arch/arm/mach-msm/timer.c +++ b/trunk/arch/arm/mach-msm/timer.c @@ -137,7 +137,7 @@ static struct msm_clock msm_clocks[] = { .rating = 200, .read = msm_gpt_read, .mask = CLOCKSOURCE_MASK(32), - .shift = 17, + .shift = 24, .flags = CLOCK_SOURCE_IS_CONTINUOUS, }, .irq = { diff --git a/trunk/arch/arm/mach-mv78xx0/mpp.c b/trunk/arch/arm/mach-mv78xx0/mpp.c index 84db2dfc475c..354ac514eb89 100644 --- a/trunk/arch/arm/mach-mv78xx0/mpp.c +++ b/trunk/arch/arm/mach-mv78xx0/mpp.c @@ -54,7 +54,7 @@ void __init mv78xx0_mpp_conf(unsigned int *mpp_list) } printk("\n"); - for ( ; *mpp_list; mpp_list++) { + while (*mpp_list) { unsigned int num = MPP_NUM(*mpp_list); unsigned int sel = MPP_SEL(*mpp_list); int shift, gpio_mode; @@ -83,6 +83,8 @@ void __init mv78xx0_mpp_conf(unsigned int *mpp_list) if (sel != 0) gpio_mode = 0; orion_gpio_set_valid(num, gpio_mode); + + mpp_list++; } printk(KERN_DEBUG " final MPP regs:"); diff --git a/trunk/arch/arm/mach-mx25/Kconfig b/trunk/arch/arm/mach-mx25/Kconfig index 38ca09a5df9d..aa57e35ce3cd 100644 --- a/trunk/arch/arm/mach-mx25/Kconfig +++ b/trunk/arch/arm/mach-mx25/Kconfig @@ -6,7 +6,6 @@ config MACH_MX25_3DS bool "Support MX25PDK (3DS) Platform" select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_NAND - select IMX_HAVE_PLATFORM_ESDHC config MACH_EUKREA_CPUIMX25 bool "Support Eukrea CPUIMX25 Platform" diff --git a/trunk/arch/arm/mach-mx25/mach-mx25_3ds.c b/trunk/arch/arm/mach-mx25/mach-mx25_3ds.c index f8be1eb0c062..80805107a73e 100644 --- a/trunk/arch/arm/mach-mx25/mach-mx25_3ds.c +++ b/trunk/arch/arm/mach-mx25/mach-mx25_3ds.c @@ -96,14 +96,6 @@ static struct pad_desc mx25pdk_pads[] = { MX25_PAD_KPP_COL1__KPP_COL1, MX25_PAD_KPP_COL2__KPP_COL2, MX25_PAD_KPP_COL3__KPP_COL3, - - /* SD1 */ - MX25_PAD_SD1_CMD__SD1_CMD, - MX25_PAD_SD1_CLK__SD1_CLK, - MX25_PAD_SD1_DATA0__SD1_DATA0, - MX25_PAD_SD1_DATA1__SD1_DATA1, - MX25_PAD_SD1_DATA2__SD1_DATA2, - MX25_PAD_SD1_DATA3__SD1_DATA3, }; static const struct fec_platform_data mx25_fec_pdata __initconst = { @@ -201,8 +193,6 @@ static void __init mx25pdk_init(void) mx25pdk_fec_reset(); imx25_add_fec(&mx25_fec_pdata); mxc_register_device(&mx25_kpp_device, &mx25pdk_keymap_data); - - imx25_add_esdhc(0, NULL); } static void __init mx25pdk_timer_init(void) diff --git a/trunk/arch/arm/mach-mx3/Kconfig b/trunk/arch/arm/mach-mx3/Kconfig index 5000ac1f93e3..096fd33f8ab9 100644 --- a/trunk/arch/arm/mach-mx3/Kconfig +++ b/trunk/arch/arm/mach-mx3/Kconfig @@ -143,10 +143,8 @@ config MACH_ARMADILLO5X0 config MACH_MX35_3DS bool "Support MX35PDK platform" select ARCH_MX35 - select MXC_DEBUG_BOARD select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_NAND - select IMX_HAVE_PLATFORM_ESDHC default n help Include support for MX35PDK platform. This includes specific diff --git a/trunk/arch/arm/mach-mx3/devices.c b/trunk/arch/arm/mach-mx3/devices.c index d4da9496089a..f4dff11aaee7 100644 --- a/trunk/arch/arm/mach-mx3/devices.c +++ b/trunk/arch/arm/mach-mx3/devices.c @@ -72,24 +72,24 @@ struct platform_device mxc_w1_master_device = { #ifdef CONFIG_ARCH_MX31 static struct resource mxcsdhc0_resources[] = { { - .start = MX31_MMC_SDHC1_BASE_ADDR, - .end = MX31_MMC_SDHC1_BASE_ADDR + SZ_16K - 1, + .start = MMC_SDHC1_BASE_ADDR, + .end = MMC_SDHC1_BASE_ADDR + SZ_16K - 1, .flags = IORESOURCE_MEM, }, { - .start = MX31_INT_MMC_SDHC1, - .end = MX31_INT_MMC_SDHC1, + .start = MXC_INT_MMC_SDHC1, + .end = MXC_INT_MMC_SDHC1, .flags = IORESOURCE_IRQ, }, }; static struct resource mxcsdhc1_resources[] = { { - .start = MX31_MMC_SDHC2_BASE_ADDR, - .end = MX31_MMC_SDHC2_BASE_ADDR + SZ_16K - 1, + .start = MMC_SDHC2_BASE_ADDR, + .end = MMC_SDHC2_BASE_ADDR + SZ_16K - 1, .flags = IORESOURCE_MEM, }, { - .start = MX31_INT_MMC_SDHC2, - .end = MX31_INT_MMC_SDHC2, + .start = MXC_INT_MMC_SDHC2, + .end = MXC_INT_MMC_SDHC2, .flags = IORESOURCE_IRQ, }, }; diff --git a/trunk/arch/arm/mach-mx3/mach-mx31_3ds.c b/trunk/arch/arm/mach-mx3/mach-mx31_3ds.c index 0ad9e7821082..5c1d0e86c91e 100644 --- a/trunk/arch/arm/mach-mx3/mach-mx31_3ds.c +++ b/trunk/arch/arm/mach-mx3/mach-mx31_3ds.c @@ -38,9 +38,39 @@ #include "devices-imx31.h" #include "devices.h" +/* Definitions for components on the Debug board */ + +/* Base address of CPLD controller on the Debug board */ +#define DEBUG_BASE_ADDRESS CS5_IO_ADDRESS(MX3x_CS5_BASE_ADDR) + +/* LAN9217 ethernet base address */ +#define LAN9217_BASE_ADDR MX3x_CS5_BASE_ADDR + +/* CPLD config and interrupt base address */ +#define CPLD_ADDR (DEBUG_BASE_ADDRESS + 0x20000) + +/* status, interrupt */ +#define CPLD_INT_STATUS_REG (CPLD_ADDR + 0x10) +#define CPLD_INT_MASK_REG (CPLD_ADDR + 0x38) +#define CPLD_INT_RESET_REG (CPLD_ADDR + 0x20) +/* magic word for debug CPLD */ +#define CPLD_MAGIC_NUMBER1_REG (CPLD_ADDR + 0x40) +#define CPLD_MAGIC_NUMBER2_REG (CPLD_ADDR + 0x48) +/* CPLD code version */ +#define CPLD_CODE_VER_REG (CPLD_ADDR + 0x50) +/* magic word for debug CPLD */ +#define CPLD_MAGIC_NUMBER3_REG (CPLD_ADDR + 0x58) + /* CPLD IRQ line for external uart, external ethernet etc */ #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_1) +#define MXC_EXP_IO_BASE (MXC_BOARD_IRQ_START) +#define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE) + +#define EXPIO_INT_ENET (MXC_EXP_IO_BASE + 0) + +#define MXC_MAX_EXP_IO_LINES 16 + /* * This file contains the board-specific initialization routines. */ @@ -242,7 +272,7 @@ static void __init mxc_board_init(void) imx31_add_imx_uart0(&uart_pdata); imx31_add_mxc_nand(&mx31_3ds_nand_board_info); - imx31_add_spi_imx1(&spi1_pdata); + imx31_add_spi_imx0(&spi1_pdata); spi_register_board_info(mx31_3ds_spi_devs, ARRAY_SIZE(mx31_3ds_spi_devs)); @@ -251,9 +281,9 @@ static void __init mxc_board_init(void) mx31_3ds_usbotg_init(); mxc_register_device(&mxc_otg_udc_device, &usbotg_pdata); - if (mxc_expio_init(MX31_CS5_BASE_ADDR, EXPIO_PARENT_INT)) - printk(KERN_WARNING "Init of the debug board failed, all " - "devices on the debug board are unusable.\n"); + if (!mxc_expio_init(CS5_BASE_ADDR, EXPIO_PARENT_INT)) + printk(KERN_WARNING "Init of the debugboard failed, all " + "devices on the board are unusable.\n"); } static void __init mx31_3ds_timer_init(void) diff --git a/trunk/arch/arm/mach-mx3/mach-mx35_3ds.c b/trunk/arch/arm/mach-mx3/mach-mx35_3ds.c index b66a75aa2e88..05f628d90725 100644 --- a/trunk/arch/arm/mach-mx3/mach-mx35_3ds.c +++ b/trunk/arch/arm/mach-mx3/mach-mx35_3ds.c @@ -38,15 +38,11 @@ #include #include #include -#include -#include #include #include "devices-imx35.h" #include "devices.h" -#define EXPIO_PARENT_INT (MXC_INTERNAL_IRQS + GPIO_PORTA + 1) - static const struct imxuart_platform_data uart_pdata __initconst = { .flags = IMXUART_HAVE_RTSCTS, }; @@ -112,13 +108,6 @@ static struct pad_desc mx35pdk_pads[] = { /* USBH1 */ MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR, MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC, - /* SDCARD */ - MX35_PAD_SD1_CMD__ESDHC1_CMD, - MX35_PAD_SD1_CLK__ESDHC1_CLK, - MX35_PAD_SD1_DATA0__ESDHC1_DAT0, - MX35_PAD_SD1_DATA1__ESDHC1_DAT1, - MX35_PAD_SD1_DATA2__ESDHC1_DAT2, - MX35_PAD_SD1_DATA3__ESDHC1_DAT3, }; /* OTG config */ @@ -151,11 +140,6 @@ static void __init mxc_board_init(void) mxc_register_device(&mxc_usbh1, &usb_host_pdata); imx35_add_mxc_nand(&mx35pdk_nand_board_info); - imx35_add_esdhc(0, NULL); - - if (mxc_expio_init(MX35_CS5_BASE_ADDR, EXPIO_PARENT_INT)) - pr_warn("Init of the debugboard failed, all " - "devices on the debugboard are unusable.\n"); } static void __init mx35pdk_timer_init(void) diff --git a/trunk/arch/arm/mach-mx5/Kconfig b/trunk/arch/arm/mach-mx5/Kconfig index 3ec910a7a182..a2df9ac37996 100644 --- a/trunk/arch/arm/mach-mx5/Kconfig +++ b/trunk/arch/arm/mach-mx5/Kconfig @@ -6,7 +6,6 @@ config ARCH_MX51 select MXC_TZIC select ARCH_MXC_IOMUX_V3 select ARCH_MXC_AUDMUX_V2 - select ARCH_HAS_CPUFREQ comment "MX5 platforms:" @@ -14,7 +13,6 @@ config MACH_MX51_BABBAGE bool "Support MX51 BABBAGE platforms" select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART - select IMX_HAVE_PLATFORM_ESDHC help Include support for MX51 Babbage platform, also known as MX51EVK in u-boot. This includes specific configurations for the board and its diff --git a/trunk/arch/arm/mach-mx5/Makefile b/trunk/arch/arm/mach-mx5/Makefile index 462f177eddfe..1769c161a60d 100644 --- a/trunk/arch/arm/mach-mx5/Makefile +++ b/trunk/arch/arm/mach-mx5/Makefile @@ -5,7 +5,6 @@ # Object file lists. obj-y := cpu.o mm.o clock-mx51.o devices.o -obj-$(CONFIG_CPU_FREQ_IMX) += cpu_op-mx51.o obj-$(CONFIG_MACH_MX51_BABBAGE) += board-mx51_babbage.o obj-$(CONFIG_MACH_MX51_3DS) += board-mx51_3ds.o obj-$(CONFIG_MACH_EUKREA_CPUIMX51) += board-cpuimx51.o diff --git a/trunk/arch/arm/mach-mx5/board-mx51_babbage.c b/trunk/arch/arm/mach-mx5/board-mx51_babbage.c index acbe30df2e69..0821fe9b3b27 100644 --- a/trunk/arch/arm/mach-mx5/board-mx51_babbage.c +++ b/trunk/arch/arm/mach-mx5/board-mx51_babbage.c @@ -1,5 +1,5 @@ /* - * Copyright 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2009 Freescale Semiconductor, Inc. All Rights Reserved. * Copyright (C) 2009-2010 Amit Kucheria * * The code contained herein is licensed under the GNU General Public @@ -18,8 +18,6 @@ #include #include #include -#include -#include #include #include @@ -34,13 +32,11 @@ #include "devices-imx51.h" #include "devices.h" -#include "cpu_op-mx51.h" #define BABBAGE_USB_HUB_RESET (0*32 + 7) /* GPIO_1_7 */ #define BABBAGE_USBH1_STP (0*32 + 27) /* GPIO_1_27 */ #define BABBAGE_PHY_RESET (1*32 + 5) /* GPIO_2_5 */ #define BABBAGE_FEC_PHY_RESET (1*32 + 14) /* GPIO_2_14 */ -#define BABBAGE_POWER_KEY (1*32 + 21) /* GPIO_2_21 */ /* USB_CTRL_1 */ #define MX51_USB_CTRL_1_OFFSET 0x10 @@ -50,21 +46,6 @@ #define MX51_USB_PLL_DIV_19_2_MHZ 0x01 #define MX51_USB_PLL_DIV_24_MHZ 0x02 -static struct gpio_keys_button babbage_buttons[] = { - { - .gpio = BABBAGE_POWER_KEY, - .code = BTN_0, - .desc = "PWR", - .active_low = 1, - .wakeup = 1, - }, -}; - -static const struct gpio_keys_platform_data imx_button_data __initconst = { - .buttons = babbage_buttons, - .nbuttons = ARRAY_SIZE(babbage_buttons), -}; - static struct pad_desc mx51babbage_pads[] = { /* UART1 */ MX51_PAD_UART1_RXD__UART1_RXD, @@ -131,22 +112,6 @@ static struct pad_desc mx51babbage_pads[] = { /* FEC PHY reset line */ MX51_PAD_EIM_A20__GPIO_2_14, - - /* SD 1 */ - MX51_PAD_SD1_CMD__SD1_CMD, - MX51_PAD_SD1_CLK__SD1_CLK, - MX51_PAD_SD1_DATA0__SD1_DATA0, - MX51_PAD_SD1_DATA1__SD1_DATA1, - MX51_PAD_SD1_DATA2__SD1_DATA2, - MX51_PAD_SD1_DATA3__SD1_DATA3, - - /* SD 2 */ - MX51_PAD_SD2_CMD__SD2_CMD, - MX51_PAD_SD2_CLK__SD2_CLK, - MX51_PAD_SD2_DATA0__SD2_DATA0, - MX51_PAD_SD2_DATA1__SD2_DATA1, - MX51_PAD_SD2_DATA2__SD2_DATA2, - MX51_PAD_SD2_DATA3__SD2_DATA3, }; /* Serial ports */ @@ -316,22 +281,13 @@ __setup("otg_mode=", babbage_otg_mode); static void __init mxc_board_init(void) { struct pad_desc usbh1stp = MX51_PAD_USBH1_STP__USBH1_STP; - struct pad_desc power_key = MX51_PAD_EIM_A27__GPIO_2_21; -#if defined(CONFIG_CPU_FREQ_IMX) - get_cpu_op = mx51_get_cpu_op; -#endif mxc_iomux_v3_setup_multiple_pads(mx51babbage_pads, ARRAY_SIZE(mx51babbage_pads)); mxc_init_imx_uart(); babbage_fec_reset(); imx51_add_fec(NULL); - /* Set the PAD settings for the pwr key. */ - power_key.pad_ctrl = MX51_GPIO_PAD_CTRL_2; - mxc_iomux_v3_setup_pad(&power_key); - imx51_add_gpio_keys(&imx_button_data); - imx51_add_imx_i2c(0, &babbage_i2c_data); imx51_add_imx_i2c(1, &babbage_i2c_data); mxc_register_device(&mxc_hsi2c_device, &babbage_hsi2c_data); @@ -348,9 +304,6 @@ static void __init mxc_board_init(void) /* setback USBH1_STP to be function */ mxc_iomux_v3_setup_pad(&usbh1stp); babbage_usbhub_reset(); - - imx51_add_esdhc(0, NULL); - imx51_add_esdhc(1, NULL); } static void __init mx51_babbage_timer_init(void) diff --git a/trunk/arch/arm/mach-mx5/clock-mx51.c b/trunk/arch/arm/mach-mx5/clock-mx51.c index 8ac36d882927..f2aae92cf0e2 100644 --- a/trunk/arch/arm/mach-mx5/clock-mx51.c +++ b/trunk/arch/arm/mach-mx5/clock-mx51.c @@ -362,7 +362,7 @@ static int _clk_lp_apm_set_parent(struct clk *clk, struct clk *parent) return 0; } -static unsigned long clk_cpu_get_rate(struct clk *clk) +static unsigned long clk_arm_get_rate(struct clk *clk) { u32 cacrr, div; unsigned long parent_rate; @@ -374,22 +374,6 @@ static unsigned long clk_cpu_get_rate(struct clk *clk) return parent_rate / div; } -static int clk_cpu_set_rate(struct clk *clk, unsigned long rate) -{ - u32 reg, cpu_podf; - unsigned long parent_rate; - - parent_rate = clk_get_rate(clk->parent); - cpu_podf = parent_rate / rate - 1; - /* use post divider to change freq */ - reg = __raw_readl(MXC_CCM_CACRR); - reg &= ~MXC_CCM_CACRR_ARM_PODF_MASK; - reg |= cpu_podf << MXC_CCM_CACRR_ARM_PODF_OFFSET; - __raw_writel(reg, MXC_CCM_CACRR); - - return 0; -} - static int _clk_periph_apm_set_parent(struct clk *clk, struct clk *parent) { u32 reg, mux; @@ -752,8 +736,7 @@ static struct clk periph_apm_clk = { static struct clk cpu_clk = { .parent = &pll1_sw_clk, - .get_rate = clk_cpu_get_rate, - .set_rate = clk_cpu_set_rate, + .get_rate = clk_arm_get_rate, }; static struct clk ahb_clk = { @@ -1081,7 +1064,6 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK("imx51-cspi.0", NULL, cspi_clk) _REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk) _REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_clk) - _REGISTER_CLOCK(NULL, "cpu_clk", cpu_clk) }; static void clk_tree_init(void) diff --git a/trunk/arch/arm/mach-mx5/cpu_op-mx51.c b/trunk/arch/arm/mach-mx5/cpu_op-mx51.c deleted file mode 100644 index 9d34c3d4c024..000000000000 --- a/trunk/arch/arm/mach-mx5/cpu_op-mx51.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ - -#include -#include -#include - -static struct cpu_op mx51_cpu_op[] = { - { - .cpu_rate = 160000000,}, - { - .cpu_rate = 800000000,}, -}; - -struct cpu_op *mx51_get_cpu_op(int *op) -{ - *op = ARRAY_SIZE(mx51_cpu_op); - return mx51_cpu_op; -} diff --git a/trunk/arch/arm/mach-mx5/cpu_op-mx51.h b/trunk/arch/arm/mach-mx5/cpu_op-mx51.h deleted file mode 100644 index 97477fecb469..000000000000 --- a/trunk/arch/arm/mach-mx5/cpu_op-mx51.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ - -extern struct cpu_op *mx51_get_cpu_op(int *op); diff --git a/trunk/arch/arm/mach-mx5/devices-imx51.h b/trunk/arch/arm/mach-mx5/devices-imx51.h index 8c50cb5d05f5..5cc910e60538 100644 --- a/trunk/arch/arm/mach-mx5/devices-imx51.h +++ b/trunk/arch/arm/mach-mx5/devices-imx51.h @@ -13,8 +13,6 @@ extern const struct imx_fec_data imx51_fec_data __initconst; #define imx51_add_fec(pdata) \ imx_add_fec(&imx51_fec_data, pdata) -#define imx51_add_gpio_keys(pdata) imx_add_gpio_keys(pdata) - extern const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst; #define imx51_add_imx_i2c(id, pdata) \ imx_add_imx_i2c(&imx51_imx_i2c_data[id], pdata) diff --git a/trunk/arch/arm/mach-omap2/board-4430sdp.c b/trunk/arch/arm/mach-omap2/board-4430sdp.c index df5a425a49d1..69a4ae971e41 100644 --- a/trunk/arch/arm/mach-omap2/board-4430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-4430sdp.c @@ -269,14 +269,9 @@ static int omap4_twl6030_hsmmc_late_init(struct device *dev) struct omap_mmc_platform_data *pdata = dev->platform_data; /* Setting MMC1 Card detect Irq */ - if (pdev->id == 0) { - ret = twl6030_mmc_card_detect_config(); - if (ret) - pr_err("Failed configuring MMC1 card detect\n"); + if (pdev->id == 0) pdata->slots[0].card_detect_irq = TWL6030_IRQ_BASE + MMCDETECT_INTR_OFFSET; - pdata->slots[0].card_detect = twl6030_mmc_card_detect; - } return ret; } diff --git a/trunk/arch/arm/mach-omap2/board-omap4panda.c b/trunk/arch/arm/mach-omap2/board-omap4panda.c index 1ecd0a6cefb7..702f2a63f2c1 100644 --- a/trunk/arch/arm/mach-omap2/board-omap4panda.c +++ b/trunk/arch/arm/mach-omap2/board-omap4panda.c @@ -160,19 +160,10 @@ static int omap4_twl6030_hsmmc_late_init(struct device *dev) struct platform_device, dev); struct omap_mmc_platform_data *pdata = dev->platform_data; - if (!pdata) { - dev_err(dev, "%s: NULL platform data\n", __func__); - return -EINVAL; - } /* Setting MMC1 Card detect Irq */ - if (pdev->id == 0) { - ret = twl6030_mmc_card_detect_config(); - if (ret) - dev_err(dev, "%s: Error card detect config(%d)\n", - __func__, ret); - else - pdata->slots[0].card_detect = twl6030_mmc_card_detect; - } + if (pdev->id == 0) + pdata->slots[0].card_detect_irq = TWL6030_IRQ_BASE + + MMCDETECT_INTR_OFFSET; return ret; } diff --git a/trunk/arch/arm/mach-omap2/omap4-common.c b/trunk/arch/arm/mach-omap2/omap4-common.c index 2f895553e6a8..923f9f5f91ce 100644 --- a/trunk/arch/arm/mach-omap2/omap4-common.c +++ b/trunk/arch/arm/mach-omap2/omap4-common.c @@ -44,13 +44,6 @@ void __init gic_init_irq(void) } #ifdef CONFIG_CACHE_L2X0 - -static void omap4_l2x0_disable(void) -{ - /* Disable PL310 L2 Cache controller */ - omap_smc1(0x102, 0x0); -} - static int __init omap_l2_cache_init(void) { /* @@ -77,12 +70,6 @@ static int __init omap_l2_cache_init(void) else l2x0_init(l2cache_base, 0x0e070000, 0xc0000fff); - /* - * Override default outer_cache.disable with a OMAP4 - * specific one - */ - outer_cache.disable = omap4_l2x0_disable; - return 0; } early_initcall(omap_l2_cache_init); diff --git a/trunk/arch/arm/mach-orion5x/mpp.c b/trunk/arch/arm/mach-orion5x/mpp.c index db485d3b8144..bc4c3b9aaf83 100644 --- a/trunk/arch/arm/mach-orion5x/mpp.c +++ b/trunk/arch/arm/mach-orion5x/mpp.c @@ -127,7 +127,7 @@ void __init orion5x_mpp_conf(struct orion5x_mpp_mode *mode) /* Initialize gpiolib. */ orion_gpio_init(); - for ( ; mode->mpp >= 0; mode++) { + while (mode->mpp >= 0) { u32 *reg; int num_type; int shift; @@ -160,6 +160,8 @@ void __init orion5x_mpp_conf(struct orion5x_mpp_mode *mode) orion_gpio_set_unused(mode->mpp); orion_gpio_set_valid(mode->mpp, !!(mode->type == MPP_GPIO)); + + mode++; } writel(mpp_0_7_ctrl, MPP_0_7_CTRL); diff --git a/trunk/arch/arm/mach-orion5x/ts78xx-setup.c b/trunk/arch/arm/mach-orion5x/ts78xx-setup.c index c1c1cd04bdde..16f1bd5324be 100644 --- a/trunk/arch/arm/mach-orion5x/ts78xx-setup.c +++ b/trunk/arch/arm/mach-orion5x/ts78xx-setup.c @@ -239,7 +239,7 @@ static struct platform_nand_data ts78xx_ts_nand_data = { static struct resource ts78xx_ts_nand_resources = { .start = TS_NAND_DATA, .end = TS_NAND_DATA + 4, - .flags = IORESOURCE_MEM, + .flags = IORESOURCE_IO, }; static struct platform_device ts78xx_ts_nand_device = { diff --git a/trunk/arch/arm/mach-pxa/cm-x2xx.c b/trunk/arch/arm/mach-pxa/cm-x2xx.c index d34b99febeb9..ac5598ce9724 100644 --- a/trunk/arch/arm/mach-pxa/cm-x2xx.c +++ b/trunk/arch/arm/mach-pxa/cm-x2xx.c @@ -476,6 +476,8 @@ static void __init cmx2xx_init(void) static void __init cmx2xx_init_irq(void) { + pxa27x_init_irq(); + if (cpu_is_pxa25x()) { pxa25x_init_irq(); cmx2xx_pci_init_irq(CMX255_GPIO_IT8152_IRQ); diff --git a/trunk/arch/arm/mach-pxa/saar.c b/trunk/arch/arm/mach-pxa/saar.c index ffa50e633ee6..4b521e045d75 100644 --- a/trunk/arch/arm/mach-pxa/saar.c +++ b/trunk/arch/arm/mach-pxa/saar.c @@ -116,7 +116,7 @@ static struct platform_device smc91x_device = { }, }; -#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE) +#if defined(CONFIG_FB_PXA) || (CONFIG_FB_PXA_MODULE) static uint16_t lcd_power_on[] = { /* single frame */ SMART_CMD_NOOP, diff --git a/trunk/arch/arm/mach-s3c2410/h1940-bluetooth.c b/trunk/arch/arm/mach-s3c2410/h1940-bluetooth.c index 8aa2f1902a94..8cdeb14af592 100644 --- a/trunk/arch/arm/mach-s3c2410/h1940-bluetooth.c +++ b/trunk/arch/arm/mach-s3c2410/h1940-bluetooth.c @@ -30,7 +30,7 @@ static void h1940bt_enable(int on) { if (on) { /* Power on the chip */ - gpio_set_value(H1940_LATCH_BLUETOOTH_POWER, 1); + h1940_latch_control(0, H1940_LATCH_BLUETOOTH_POWER); /* Reset the chip */ mdelay(10); @@ -43,7 +43,7 @@ static void h1940bt_enable(int on) mdelay(10); gpio_set_value(S3C2410_GPH(1), 0); mdelay(10); - gpio_set_value(H1940_LATCH_BLUETOOTH_POWER, 0); + h1940_latch_control(H1940_LATCH_BLUETOOTH_POWER, 0); } } @@ -64,14 +64,7 @@ static int __devinit h1940bt_probe(struct platform_device *pdev) ret = gpio_request(S3C2410_GPH(1), dev_name(&pdev->dev)); if (ret) { - dev_err(&pdev->dev, "could not get GPH1\n"); - return ret; - } - - ret = gpio_request(H1940_LATCH_BLUETOOTH_POWER, dev_name(&pdev->dev)); - if (ret) { - gpio_free(S3C2410_GPH(1)); - dev_err(&pdev->dev, "could not get BT_POWER\n"); + dev_err(&pdev->dev, "could not get GPH1\n");\ return ret; } diff --git a/trunk/arch/arm/mach-s3c2410/include/mach/gpio.h b/trunk/arch/arm/mach-s3c2410/include/mach/gpio.h index f7f6b07df30e..b649bf2ccd5c 100644 --- a/trunk/arch/arm/mach-s3c2410/include/mach/gpio.h +++ b/trunk/arch/arm/mach-s3c2410/include/mach/gpio.h @@ -22,8 +22,6 @@ #ifdef CONFIG_CPU_S3C244X #define ARCH_NR_GPIOS (32 * 9 + CONFIG_S3C24XX_GPIO_EXTRA) -#elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416) -#define ARCH_NR_GPIOS (32 * 12 + CONFIG_S3C24XX_GPIO_EXTRA) #else #define ARCH_NR_GPIOS (256 + CONFIG_S3C24XX_GPIO_EXTRA) #endif @@ -32,10 +30,8 @@ #include #include -#ifdef CONFIG_CPU_S3C244X -#define S3C_GPIO_END (S3C2410_GPJ(0) + 32) -#elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416) -#define S3C_GPIO_END (S3C2410_GPM(0) + 32) +#ifdef CONFIG_CPU_S3C24XX +#define S3C_GPIO_END (S3C2410_GPIO_BANKJ + 32) #else -#define S3C_GPIO_END (S3C2410_GPH(0) + 32) +#define S3C_GPIO_END (S3C2410_GPIO_BANKH + 32) #endif diff --git a/trunk/arch/arm/mach-s3c2410/include/mach/h1940-latch.h b/trunk/arch/arm/mach-s3c2410/include/mach/h1940-latch.h index 97e42bfce81e..d8a832729a8a 100644 --- a/trunk/arch/arm/mach-s3c2410/include/mach/h1940-latch.h +++ b/trunk/arch/arm/mach-s3c2410/include/mach/h1940-latch.h @@ -14,30 +14,51 @@ #ifndef __ASM_ARCH_H1940_LATCH_H #define __ASM_ARCH_H1940_LATCH_H -#include -#define H1940_LATCH_GPIO(x) (S3C_GPIO_END + (x)) +#ifndef __ASSEMBLY__ +#define H1940_LATCH ((void __force __iomem *)0xF8000000) +#else +#define H1940_LATCH 0xF8000000 +#endif + +#define H1940_PA_LATCH (S3C2410_CS2) /* SD layer latch */ -#define H1940_LATCH_LCD_P0 H1940_LATCH_GPIO(0) -#define H1940_LATCH_LCD_P1 H1940_LATCH_GPIO(1) -#define H1940_LATCH_LCD_P2 H1940_LATCH_GPIO(2) -#define H1940_LATCH_LCD_P3 H1940_LATCH_GPIO(3) -#define H1940_LATCH_MAX1698_nSHUTDOWN H1940_LATCH_GPIO(4) -#define H1940_LATCH_LED_RED H1940_LATCH_GPIO(5) -#define H1940_LATCH_SDQ7 H1940_LATCH_GPIO(6) -#define H1940_LATCH_USB_DP H1940_LATCH_GPIO(7) +#define H1940_LATCH_SDQ1 (1<<16) +#define H1940_LATCH_LCD_P1 (1<<17) +#define H1940_LATCH_LCD_P2 (1<<18) +#define H1940_LATCH_LCD_P3 (1<<19) +#define H1940_LATCH_MAX1698_nSHUTDOWN (1<<20) /* LCD backlight */ +#define H1940_LATCH_LED_RED (1<<21) +#define H1940_LATCH_SDQ7 (1<<22) +#define H1940_LATCH_USB_DP (1<<23) /* CPU layer latch */ -#define H1940_LATCH_UDA_POWER H1940_LATCH_GPIO(8) -#define H1940_LATCH_AUDIO_POWER H1940_LATCH_GPIO(9) -#define H1940_LATCH_SM803_ENABLE H1940_LATCH_GPIO(10) -#define H1940_LATCH_LCD_P4 H1940_LATCH_GPIO(11) -#define H1940_LATCH_SD_POWER H1940_LATCH_GPIO(12) -#define H1940_LATCH_BLUETOOTH_POWER H1940_LATCH_GPIO(13) -#define H1940_LATCH_LED_GREEN H1940_LATCH_GPIO(14) -#define H1940_LATCH_LED_FLASH H1940_LATCH_GPIO(15) +#define H1940_LATCH_UDA_POWER (1<<24) +#define H1940_LATCH_AUDIO_POWER (1<<25) +#define H1940_LATCH_SM803_ENABLE (1<<26) +#define H1940_LATCH_LCD_P4 (1<<27) +#define H1940_LATCH_CPUQ5 (1<<28) /* untraced */ +#define H1940_LATCH_BLUETOOTH_POWER (1<<29) /* active high */ +#define H1940_LATCH_LED_GREEN (1<<30) +#define H1940_LATCH_LED_FLASH (1<<31) + +/* default settings */ + +#define H1940_LATCH_DEFAULT \ + H1940_LATCH_LCD_P4 | \ + H1940_LATCH_SM803_ENABLE | \ + H1940_LATCH_SDQ1 | \ + H1940_LATCH_LCD_P1 | \ + H1940_LATCH_LCD_P2 | \ + H1940_LATCH_LCD_P3 | \ + H1940_LATCH_MAX1698_nSHUTDOWN | \ + H1940_LATCH_CPUQ5 + +/* control functions */ + +extern void h1940_latch_control(unsigned int clear, unsigned int set); #endif /* __ASM_ARCH_H1940_LATCH_H */ diff --git a/trunk/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h b/trunk/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h index 101aeea22310..08ab9dfb6ae6 100644 --- a/trunk/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h +++ b/trunk/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h @@ -118,8 +118,6 @@ #define S3C2443_SCLKCON_UARTCLK (1<<8) #define S3C2443_SCLKCON_USBHOST (1<<1) -#define S3C2443_PWRCFG_SLEEP (1<<15) - #include static inline unsigned int diff --git a/trunk/arch/arm/mach-s3c2410/include/mach/vmalloc.h b/trunk/arch/arm/mach-s3c2410/include/mach/vmalloc.h index 7a311e8dddba..54297eb0bf5e 100644 --- a/trunk/arch/arm/mach-s3c2410/include/mach/vmalloc.h +++ b/trunk/arch/arm/mach-s3c2410/include/mach/vmalloc.h @@ -15,6 +15,6 @@ #ifndef __ASM_ARCH_VMALLOC_H #define __ASM_ARCH_VMALLOC_H -#define VMALLOC_END 0xF6000000UL +#define VMALLOC_END 0xE0000000UL #endif /* __ASM_ARCH_VMALLOC_H */ diff --git a/trunk/arch/arm/mach-s3c2410/mach-h1940.c b/trunk/arch/arm/mach-s3c2410/mach-h1940.c index d7ada8c7e41f..98c5c9e81ee9 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-h1940.c +++ b/trunk/arch/arm/mach-s3c2410/mach-h1940.c @@ -24,7 +24,6 @@ #include #include #include -#include #include