From 39873c1782b0a664257ec0722d0a5e11d8299e0d Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Fri, 30 Nov 2012 12:01:30 -0500 Subject: [PATCH] --- yaml --- r: 341637 b: refs/heads/master c: e7165030db8e932a9a968f7015cd3b2e984f8e7c h: refs/heads/master i: 341635: 8fb1c474c70dbe90d4547c8ec0aed31c5d9c2ade v: v3 --- [refs] | 2 +- trunk/.gitignore | 6 - trunk/CREDITS | 5 + trunk/Documentation/00-INDEX | 4 +- .../Documentation/ABI/testing/sysfs-bus-mdio | 9 + .../ABI/testing/sysfs-class-net-batman-adv | 11 +- .../ABI/testing/sysfs-class-net-grcan | 35 + .../ABI/testing/sysfs-class-net-mesh | 40 +- trunk/Documentation/DocBook/media/Makefile | 76 +- trunk/Documentation/DocBook/networking.tmpl | 4 +- trunk/Documentation/IPMI.txt | 65 +- trunk/Documentation/arm64/memory.txt | 12 +- trunk/Documentation/cgroups/memory.txt | 4 + .../devicetree/bindings/arm/atmel-at91.txt | 2 +- .../bindings/input/touchscreen/egalax-ts.txt | 19 + .../devicetree/bindings/net/can/grcan.txt | 28 + .../devicetree/bindings/net/cdns-emac.txt | 23 + .../devicetree/bindings/net/cpsw.txt | 48 +- .../devicetree/bindings/net/mdio-gpio.txt | 9 +- .../pinctrl/nvidia,tegra20-pinmux.txt | 2 +- .../pinctrl/nvidia,tegra30-pinmux.txt | 2 +- trunk/Documentation/filesystems/proc.txt | 16 +- trunk/Documentation/firmware_class/README | 26 +- trunk/Documentation/hwmon/coretemp | 1 + trunk/Documentation/hwmon/fam15h_power | 2 +- trunk/Documentation/hwmon/submitting-patches | 3 +- trunk/Documentation/kernel-parameters.txt | 18 + trunk/Documentation/networking/batman-adv.txt | 3 +- trunk/Documentation/networking/ip-sysctl.txt | 31 +- .../networking/netdev-features.txt | 2 +- .../Documentation/networking/packet_mmap.txt | 246 +- trunk/Documentation/networking/stmmac.txt | 28 +- trunk/Documentation/networking/vxlan.txt | 4 +- trunk/Documentation/sysrq.txt | 1 + trunk/Documentation/zh_CN/IRQ.txt | 39 + trunk/Documentation/zh_CN/arm64/booting.txt | 156 ++ trunk/Documentation/zh_CN/arm64/memory.txt | 93 + trunk/MAINTAINERS | 154 +- trunk/Makefile | 17 +- trunk/arch/alpha/include/asm/socket.h | 1 + trunk/arch/alpha/include/asm/thread_info.h | 80 +- trunk/arch/alpha/kernel/osf_sys.c | 31 +- trunk/arch/alpha/kernel/process.c | 2 +- trunk/arch/alpha/kernel/traps.c | 6 +- trunk/arch/arm/Kconfig | 9 +- trunk/arch/arm/Makefile | 13 +- trunk/arch/arm/boot/Makefile | 10 +- trunk/arch/arm/boot/compressed/head.S | 14 +- trunk/arch/arm/boot/dts/Makefile | 2 + trunk/arch/arm/boot/dts/am335x-bone.dts | 8 + trunk/arch/arm/boot/dts/am335x-evm.dts | 8 + trunk/arch/arm/boot/dts/am33xx.dtsi | 48 + .../arm/boot/dts/at91sam9g20ek_common.dtsi | 4 +- trunk/arch/arm/boot/dts/dbx5x0.dtsi | 17 +- trunk/arch/arm/boot/dts/dove.dtsi | 49 +- trunk/arch/arm/boot/dts/exynos4210-trats.dts | 6 +- trunk/arch/arm/boot/dts/imx23.dtsi | 1 + trunk/arch/arm/boot/dts/imx28.dtsi | 1 + trunk/arch/arm/boot/dts/imx6q-arm2.dts | 10 +- trunk/arch/arm/boot/dts/imx6q.dtsi | 5 +- trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi | 18 +- trunk/arch/arm/boot/dts/omap3.dtsi | 4 +- trunk/arch/arm/boot/dts/tegra30.dtsi | 4 +- trunk/arch/arm/boot/dts/wm8505.dtsi | 4 +- trunk/arch/arm/configs/imx_v6_v7_defconfig | 2 + trunk/arch/arm/configs/mvebu_defconfig | 10 +- trunk/arch/arm/configs/omap2plus_defconfig | 3 + trunk/arch/arm/configs/versatile_defconfig | 1 + trunk/arch/arm/include/asm/flat.h | 2 +- trunk/arch/arm/include/asm/io.h | 4 +- trunk/arch/arm/include/asm/sched_clock.h | 2 - trunk/arch/arm/include/asm/uaccess.h | 4 +- trunk/arch/arm/include/asm/vfpmacros.h | 12 +- trunk/arch/arm/include/asm/xen/interface.h | 12 +- trunk/arch/arm/include/asm/xen/page.h | 13 +- trunk/arch/arm/include/debug/8250_32.S | 27 + trunk/arch/arm/include/debug/picoxcell.S | 18 +- trunk/arch/arm/include/debug/socfpga.S | 5 + trunk/arch/arm/include/uapi/asm/hwcap.h | 3 +- trunk/arch/arm/kernel/entry-common.S | 4 +- trunk/arch/arm/kernel/irq.c | 2 + trunk/arch/arm/kernel/kprobes-test-arm.c | 4 + trunk/arch/arm/kernel/machine_kexec.c | 7 +- trunk/arch/arm/kernel/perf_event.c | 4 + trunk/arch/arm/kernel/sched_clock.c | 18 +- trunk/arch/arm/kernel/smp.c | 14 +- trunk/arch/arm/kernel/smp_twd.c | 4 +- trunk/arch/arm/lib/delay.c | 1 + trunk/arch/arm/mach-at91/Kconfig | 14 +- trunk/arch/arm/mach-at91/at91rm9200.c | 2 +- trunk/arch/arm/mach-at91/at91rm9200_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9260.c | 4 +- .../arch/arm/mach-at91/at91sam9260_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9261.c | 4 +- .../arch/arm/mach-at91/at91sam9261_devices.c | 6 +- trunk/arch/arm/mach-at91/at91sam9263.c | 2 +- .../arch/arm/mach-at91/at91sam9263_devices.c | 6 +- .../arch/arm/mach-at91/at91sam9g45_devices.c | 12 +- trunk/arch/arm/mach-at91/at91sam9rl_devices.c | 4 +- trunk/arch/arm/mach-at91/at91x40.c | 2 +- trunk/arch/arm/mach-at91/board-csb337.c | 2 + trunk/arch/arm/mach-at91/board-neocore926.c | 2 +- trunk/arch/arm/mach-at91/board-sam9261ek.c | 2 +- trunk/arch/arm/mach-at91/board-sam9263ek.c | 2 +- trunk/arch/arm/mach-at91/generic.h | 3 +- .../mach-at91/include/mach/at91rm9200_emac.h | 138 - trunk/arch/arm/mach-at91/irq.c | 9 +- trunk/arch/arm/mach-at91/setup.c | 4 +- trunk/arch/arm/mach-davinci/dm644x.c | 3 +- trunk/arch/arm/mach-dove/common.c | 8 +- trunk/arch/arm/mach-dove/pcie.c | 5 + trunk/arch/arm/mach-exynos/common.c | 5 + trunk/arch/arm/mach-exynos/dma.c | 3 + trunk/arch/arm/mach-exynos/include/mach/map.h | 1 + trunk/arch/arm/mach-exynos/mach-exynos4-dt.c | 1 + trunk/arch/arm/mach-highbank/system.c | 3 +- trunk/arch/arm/mach-imx/clk-busy.c | 2 +- trunk/arch/arm/mach-imx/clk-gate2.c | 2 +- trunk/arch/arm/mach-imx/clk-imx25.c | 4 +- trunk/arch/arm/mach-imx/clk-imx27.c | 4 +- trunk/arch/arm/mach-imx/ehci-imx25.c | 2 +- trunk/arch/arm/mach-imx/ehci-imx35.c | 2 +- trunk/arch/arm/mach-imx/mach-imx6q.c | 12 + trunk/arch/arm/mach-imx/mm-imx3.c | 5 +- trunk/arch/arm/mach-kirkwood/board-dt.c | 2 - trunk/arch/arm/mach-kirkwood/common.c | 4 +- trunk/arch/arm/mach-omap1/board-ams-delta.c | 12 + trunk/arch/arm/mach-omap2/Kconfig | 1 - trunk/arch/arm/mach-omap2/board-igep0020.c | 5 + trunk/arch/arm/mach-omap2/board-omap3beagle.c | 22 +- trunk/arch/arm/mach-omap2/clock33xx_data.c | 2 + trunk/arch/arm/mach-omap2/clock44xx_data.c | 2 +- trunk/arch/arm/mach-omap2/clockdomain.c | 15 +- .../arm/mach-omap2/clockdomains44xx_data.c | 2 +- .../arm/mach-omap2/common-board-devices.c | 34 +- trunk/arch/arm/mach-omap2/devices.c | 81 +- trunk/arch/arm/mach-omap2/gpmc.c | 24 +- trunk/arch/arm/mach-omap2/mux34xx.c | 8 +- trunk/arch/arm/mach-omap2/omap_hwmod.c | 63 +- .../arm/mach-omap2/omap_hwmod_33xx_data.c | 31 + .../arm/mach-omap2/omap_hwmod_44xx_data.c | 36 + trunk/arch/arm/mach-omap2/pm.h | 1 + trunk/arch/arm/mach-omap2/pm34xx.c | 30 +- trunk/arch/arm/mach-omap2/serial.c | 5 + trunk/arch/arm/mach-omap2/timer.c | 2 +- trunk/arch/arm/mach-omap2/twl-common.c | 3 +- trunk/arch/arm/mach-omap2/vc.c | 2 +- .../arch/arm/mach-prima2/include/mach/gpio.h | 13 - trunk/arch/arm/mach-pxa/hx4700.c | 8 +- trunk/arch/arm/mach-pxa/spitz_pm.c | 8 +- trunk/arch/arm/mach-s3c24xx/clock-s3c2440.c | 2 +- trunk/arch/arm/mach-s3c24xx/s3c2416.c | 2 + trunk/arch/arm/mach-s3c24xx/s3c2443.c | 4 + trunk/arch/arm/mach-s5p64x0/common.c | 3 + trunk/arch/arm/mach-s5pc100/common.c | 3 + trunk/arch/arm/mach-s5pv210/common.c | 3 + .../arm/mach-shmobile/board-armadillo800eva.c | 2 +- trunk/arch/arm/mach-shmobile/clock-r8a7779.c | 22 +- trunk/arch/arm/mach-shmobile/setup-r8a7779.c | 2 +- .../include/mach/spear1310_misc_regs.h | 0 .../include/mach/spear1340_misc_regs.h | 0 trunk/arch/arm/mach-tegra/board-dt-tegra20.c | 2 +- trunk/arch/arm/mach-tegra/board-dt-tegra30.c | 2 +- trunk/arch/arm/mach-tegra/board.h | 2 +- .../arch/arm/mach-tegra/tegra20_clocks_data.c | 1 + trunk/arch/arm/mach-tegra/tegra30_clocks.c | 2 +- .../arch/arm/mach-tegra/tegra30_clocks_data.c | 1 + trunk/arch/arm/mach-tegra/timer.c | 2 +- trunk/arch/arm/mach-ux500/cpu.c | 1 + trunk/arch/arm/mm/alignment.c | 6 +- trunk/arch/arm/mm/dma-mapping.c | 2 +- trunk/arch/arm/mm/proc-v6.S | 2 +- trunk/arch/arm/mm/vmregion.h | 1 - trunk/arch/arm/net/bpf_jit_32.c | 29 +- trunk/arch/arm/net/bpf_jit_32.h | 2 + .../arm/plat-mxc/devices/platform-mxc-mmc.c | 2 +- trunk/arch/arm/plat-omap/Kconfig | 1 + trunk/arch/arm/plat-omap/debug-devices.c | 1 + trunk/arch/arm/plat-omap/i2c.c | 21 + .../arm/plat-omap/include/plat/omap-serial.h | 4 +- .../arm/plat-omap/include/plat/omap_hwmod.h | 6 + .../arm/plat-samsung/include/plat/spi-core.h | 30 + trunk/arch/arm/tools/Makefile | 2 +- trunk/arch/arm/vfp/vfpmodule.c | 9 +- trunk/arch/arm/xen/enlighten.c | 11 + trunk/arch/arm/xen/grant-table.c | 2 +- trunk/arch/arm/xen/hypercall.S | 14 +- trunk/arch/arm64/Kconfig | 2 + trunk/arch/arm64/include/asm/Kbuild | 1 - trunk/arch/arm64/include/asm/elf.h | 5 +- trunk/arch/arm64/include/asm/fpsimd.h | 5 +- trunk/arch/arm64/include/asm/io.h | 10 +- trunk/arch/arm64/include/asm/linkage.h | 7 + trunk/arch/arm64/include/asm/pgtable-hwdef.h | 6 +- trunk/arch/arm64/include/asm/pgtable.h | 40 +- trunk/arch/arm64/include/asm/processor.h | 12 +- trunk/arch/arm64/include/asm/unistd.h | 1 - trunk/arch/arm64/include/uapi/asm/ptrace.h | 3 +- trunk/arch/arm64/kernel/perf_event.c | 10 +- trunk/arch/arm64/kernel/process.c | 18 - trunk/arch/arm64/kernel/ptrace.c | 73 +- trunk/arch/arm64/kernel/setup.c | 12 + trunk/arch/arm64/kernel/smp.c | 4 +- trunk/arch/arm64/kernel/vdso.c | 20 +- trunk/arch/arm64/mm/init.c | 2 +- trunk/arch/avr32/Kconfig | 1 - trunk/arch/avr32/include/uapi/asm/socket.h | 1 + trunk/arch/cris/include/asm/socket.h | 1 + trunk/arch/frv/Kconfig | 1 + trunk/arch/frv/boot/Makefile | 10 +- trunk/arch/frv/include/asm/unistd.h | 1 - trunk/arch/frv/include/uapi/asm/socket.h | 1 + trunk/arch/frv/kernel/entry.S | 32 +- trunk/arch/frv/kernel/process.c | 5 +- trunk/arch/frv/kernel/setup.c | 2 + trunk/arch/frv/mb93090-mb00/pci-dma-nommu.c | 1 + trunk/arch/h8300/include/asm/cache.h | 3 +- trunk/arch/h8300/include/asm/socket.h | 1 + trunk/arch/hexagon/include/asm/Kbuild | 3 - trunk/arch/hexagon/include/asm/atomic.h | 2 +- trunk/arch/hexagon/include/asm/barrier.h | 2 +- trunk/arch/hexagon/include/asm/bitops.h | 2 +- trunk/arch/hexagon/include/asm/cache.h | 2 +- trunk/arch/hexagon/include/asm/cacheflush.h | 2 +- trunk/arch/hexagon/include/asm/checksum.h | 2 +- trunk/arch/hexagon/include/asm/cmpxchg.h | 2 +- trunk/arch/hexagon/include/asm/delay.h | 2 +- trunk/arch/hexagon/include/asm/dma-mapping.h | 2 +- trunk/arch/hexagon/include/asm/dma.h | 2 +- trunk/arch/hexagon/include/asm/elf.h | 2 +- trunk/arch/hexagon/include/asm/exec.h | 2 +- trunk/arch/hexagon/include/asm/fixmap.h | 2 +- trunk/arch/hexagon/include/asm/hexagon_vm.h | 2 +- trunk/arch/hexagon/include/asm/intrinsics.h | 2 +- trunk/arch/hexagon/include/asm/io.h | 2 +- trunk/arch/hexagon/include/asm/irq.h | 2 +- trunk/arch/hexagon/include/asm/irqflags.h | 2 +- trunk/arch/hexagon/include/asm/kgdb.h | 2 +- trunk/arch/hexagon/include/asm/linkage.h | 2 +- trunk/arch/hexagon/include/asm/mem-layout.h | 2 +- trunk/arch/hexagon/include/asm/mmu.h | 2 +- trunk/arch/hexagon/include/asm/mmu_context.h | 2 +- trunk/arch/hexagon/include/asm/module.h | 2 +- trunk/arch/hexagon/include/asm/page.h | 2 +- trunk/arch/hexagon/include/asm/perf_event.h | 2 +- trunk/arch/hexagon/include/asm/pgalloc.h | 2 +- trunk/arch/hexagon/include/asm/pgtable.h | 2 +- trunk/arch/hexagon/include/asm/processor.h | 2 +- trunk/arch/hexagon/include/asm/smp.h | 2 +- trunk/arch/hexagon/include/asm/spinlock.h | 2 +- .../arch/hexagon/include/asm/spinlock_types.h | 2 +- trunk/arch/hexagon/include/asm/string.h | 2 +- trunk/arch/hexagon/include/asm/suspend.h | 2 +- trunk/arch/hexagon/include/asm/switch_to.h | 2 +- trunk/arch/hexagon/include/asm/syscall.h | 2 +- trunk/arch/hexagon/include/asm/thread_info.h | 2 +- trunk/arch/hexagon/include/asm/time.h | 2 +- trunk/arch/hexagon/include/asm/timer-regs.h | 2 +- trunk/arch/hexagon/include/asm/timex.h | 2 +- trunk/arch/hexagon/include/asm/tlb.h | 2 +- trunk/arch/hexagon/include/asm/tlbflush.h | 2 +- trunk/arch/hexagon/include/asm/traps.h | 2 +- trunk/arch/hexagon/include/asm/uaccess.h | 2 +- trunk/arch/hexagon/include/asm/vdso.h | 2 +- trunk/arch/hexagon/include/asm/vm_fault.h | 2 +- trunk/arch/hexagon/include/asm/vm_mmu.h | 2 +- trunk/arch/hexagon/include/uapi/asm/Kbuild | 12 + .../include/{ => uapi}/asm/bitsperlong.h | 2 +- .../include/{ => uapi}/asm/byteorder.h | 2 +- .../hexagon/include/{ => uapi}/asm/kvm_para.h | 0 .../hexagon/include/{ => uapi}/asm/param.h | 2 +- .../hexagon/include/{ => uapi}/asm/ptrace.h | 2 +- .../include/{ => uapi}/asm/registers.h | 17 +- .../hexagon/include/{ => uapi}/asm/setup.h | 2 +- .../include/{ => uapi}/asm/sigcontext.h | 2 +- .../hexagon/include/{ => uapi}/asm/signal.h | 2 +- .../hexagon/include/{ => uapi}/asm/swab.h | 2 +- .../hexagon/include/{ => uapi}/asm/unistd.h | 2 +- .../hexagon/include/{ => uapi}/asm/user.h | 18 - trunk/arch/hexagon/kernel/asm-offsets.c | 2 +- trunk/arch/hexagon/kernel/dma.c | 2 +- trunk/arch/hexagon/kernel/head.S | 2 +- trunk/arch/hexagon/kernel/hexagon_ksyms.c | 2 +- trunk/arch/hexagon/kernel/irq_cpu.c | 2 +- trunk/arch/hexagon/kernel/kgdb.c | 2 +- trunk/arch/hexagon/kernel/module.c | 2 +- trunk/arch/hexagon/kernel/process.c | 2 +- trunk/arch/hexagon/kernel/ptrace.c | 2 +- trunk/arch/hexagon/kernel/reset.c | 2 +- trunk/arch/hexagon/kernel/setup.c | 2 +- trunk/arch/hexagon/kernel/signal.c | 2 +- trunk/arch/hexagon/kernel/smp.c | 2 +- trunk/arch/hexagon/kernel/stacktrace.c | 2 +- trunk/arch/hexagon/kernel/syscall.c | 2 +- trunk/arch/hexagon/kernel/syscalltab.c | 2 +- trunk/arch/hexagon/kernel/time.c | 2 +- trunk/arch/hexagon/kernel/topology.c | 2 +- trunk/arch/hexagon/kernel/trampoline.S | 2 +- trunk/arch/hexagon/kernel/traps.c | 2 +- trunk/arch/hexagon/kernel/vdso.c | 2 +- trunk/arch/hexagon/kernel/vm_entry.S | 2 +- trunk/arch/hexagon/kernel/vm_events.c | 2 +- trunk/arch/hexagon/kernel/vm_init_segtable.S | 2 +- trunk/arch/hexagon/kernel/vm_ops.S | 2 +- trunk/arch/hexagon/kernel/vm_switch.S | 2 +- trunk/arch/hexagon/kernel/vm_vectors.S | 2 +- trunk/arch/hexagon/kernel/vmlinux.lds.S | 2 +- trunk/arch/hexagon/lib/checksum.c | 2 +- trunk/arch/hexagon/lib/io.c | 2 +- trunk/arch/hexagon/lib/memcpy.S | 2 +- trunk/arch/hexagon/lib/memset.S | 2 +- trunk/arch/hexagon/mm/cache.c | 2 +- trunk/arch/hexagon/mm/copy_from_user.S | 2 +- trunk/arch/hexagon/mm/copy_to_user.S | 2 +- trunk/arch/hexagon/mm/copy_user_template.S | 2 +- trunk/arch/hexagon/mm/init.c | 2 +- trunk/arch/hexagon/mm/ioremap.c | 2 +- trunk/arch/hexagon/mm/pgalloc.c | 2 +- trunk/arch/hexagon/mm/strnlen_user.S | 2 +- trunk/arch/hexagon/mm/uaccess.c | 2 +- trunk/arch/hexagon/mm/vm_fault.c | 2 +- trunk/arch/hexagon/mm/vm_tlb.c | 2 +- trunk/arch/ia64/include/asm/Kbuild | 1 + trunk/arch/ia64/include/asm/kvm_para.h | 34 - trunk/arch/ia64/include/uapi/asm/Kbuild | 2 + trunk/arch/ia64/include/uapi/asm/kvm_para.h | 0 trunk/arch/ia64/include/uapi/asm/socket.h | 1 + trunk/arch/ia64/mm/init.c | 1 - trunk/arch/m32r/include/asm/socket.h | 1 + trunk/arch/m68k/include/asm/Kbuild | 2 - trunk/arch/m68k/include/asm/ptrace.h | 75 +- trunk/arch/m68k/include/asm/setup.h | 82 +- trunk/arch/m68k/include/asm/signal.h | 124 +- trunk/arch/m68k/include/asm/termios.h | 44 +- trunk/arch/m68k/include/asm/unistd.h | 356 +-- trunk/arch/m68k/include/uapi/asm/Kbuild | 23 + .../arch/m68k/include/{ => uapi}/asm/a.out.h | 0 .../arch/m68k/include/{ => uapi}/asm/auxvec.h | 0 .../m68k/include/{ => uapi}/asm/byteorder.h | 0 .../m68k/include/{ => uapi}/asm/cachectl.h | 0 .../arch/m68k/include/{ => uapi}/asm/fcntl.h | 0 .../arch/m68k/include/{ => uapi}/asm/ioctls.h | 0 .../arch/m68k/include/{ => uapi}/asm/msgbuf.h | 0 .../arch/m68k/include/{ => uapi}/asm/param.h | 0 trunk/arch/m68k/include/{ => uapi}/asm/poll.h | 0 .../m68k/include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/m68k/include/uapi/asm/ptrace.h | 79 + .../arch/m68k/include/{ => uapi}/asm/sembuf.h | 0 trunk/arch/m68k/include/uapi/asm/setup.h | 103 + .../arch/m68k/include/{ => uapi}/asm/shmbuf.h | 0 .../m68k/include/{ => uapi}/asm/sigcontext.h | 0 trunk/arch/m68k/include/uapi/asm/signal.h | 118 + .../arch/m68k/include/{ => uapi}/asm/socket.h | 1 + .../m68k/include/{ => uapi}/asm/sockios.h | 0 trunk/arch/m68k/include/{ => uapi}/asm/stat.h | 0 trunk/arch/m68k/include/{ => uapi}/asm/swab.h | 0 .../m68k/include/{ => uapi}/asm/termbits.h | 0 trunk/arch/m68k/include/uapi/asm/termios.h | 44 + trunk/arch/m68k/include/uapi/asm/unistd.h | 357 +++ trunk/arch/m68k/kernel/syscalltable.S | 1 + trunk/arch/mips/bcm47xx/nvram.c | 4 +- trunk/arch/mips/bcm47xx/wgt634u.c | 8 +- .../mips/cavium-octeon/executive/cvmx-l2c.c | 1 + trunk/arch/mips/fw/arc/misc.c | 1 + trunk/arch/mips/include/asm/Kbuild | 1 + trunk/arch/mips/include/asm/bitops.h | 128 +- trunk/arch/mips/include/asm/compat.h | 2 +- trunk/arch/mips/include/asm/delay.h | 6 +- trunk/arch/mips/include/asm/io.h | 1 + trunk/arch/mips/include/asm/irqflags.h | 207 +- trunk/arch/mips/include/asm/pgtable-64.h | 15 +- trunk/arch/mips/include/asm/thread_info.h | 6 - trunk/arch/mips/include/uapi/asm/socket.h | 1 + trunk/arch/mips/jz4740/serial.h | 3 + trunk/arch/mips/kernel/setup.c | 26 +- trunk/arch/mips/kernel/smp-cmp.c | 2 +- trunk/arch/mips/lib/Makefile | 5 +- trunk/arch/mips/lib/bitops.c | 179 ++ trunk/arch/mips/lib/delay.c | 6 +- trunk/arch/mips/lib/dump_tlb.c | 4 +- trunk/arch/mips/lib/mips-atomic.c | 176 ++ trunk/arch/mips/mm/tlb-r4k.c | 1 + trunk/arch/mips/mm/tlbex.c | 56 +- trunk/arch/mips/mti-malta/malta-platform.c | 3 +- trunk/arch/mn10300/include/uapi/asm/setup.h | 4 + trunk/arch/mn10300/include/uapi/asm/socket.h | 1 + trunk/arch/parisc/include/asm/Kbuild | 9 +- trunk/arch/parisc/include/asm/auxvec.h | 4 - trunk/arch/parisc/include/asm/compat_signal.h | 2 - trunk/arch/parisc/include/asm/cputime.h | 6 - trunk/arch/parisc/include/asm/device.h | 7 - trunk/arch/parisc/include/asm/div64.h | 1 - .../parisc/include/asm/emergency-restart.h | 6 - trunk/arch/parisc/include/asm/hw_irq.h | 8 - trunk/arch/parisc/include/asm/irq_regs.h | 1 - trunk/arch/parisc/include/asm/kdebug.h | 1 - trunk/arch/parisc/include/asm/kvm_para.h | 1 - trunk/arch/parisc/include/asm/local.h | 1 - trunk/arch/parisc/include/asm/local64.h | 1 - trunk/arch/parisc/include/asm/mutex.h | 9 - trunk/arch/parisc/include/asm/param.h | 1 - trunk/arch/parisc/include/asm/pdc.h | 423 +-- trunk/arch/parisc/include/asm/percpu.h | 7 - trunk/arch/parisc/include/asm/poll.h | 1 - trunk/arch/parisc/include/asm/ptrace.h | 46 +- trunk/arch/parisc/include/asm/real.h | 5 - trunk/arch/parisc/include/asm/segment.h | 6 - trunk/arch/parisc/include/asm/signal.h | 113 +- trunk/arch/parisc/include/asm/termios.h | 41 +- trunk/arch/parisc/include/asm/topology.h | 6 - trunk/arch/parisc/include/asm/unistd.h | 835 +----- trunk/arch/parisc/include/asm/user.h | 5 - trunk/arch/parisc/include/asm/vga.h | 6 - trunk/arch/parisc/include/asm/xor.h | 1 - trunk/arch/parisc/include/uapi/asm/Kbuild | 28 + .../include/{ => uapi}/asm/bitsperlong.h | 0 .../parisc/include/{ => uapi}/asm/byteorder.h | 0 .../parisc/include/{ => uapi}/asm/errno.h | 0 .../parisc/include/{ => uapi}/asm/fcntl.h | 0 .../parisc/include/{ => uapi}/asm/ioctl.h | 0 .../parisc/include/{ => uapi}/asm/ioctls.h | 0 .../parisc/include/{ => uapi}/asm/ipcbuf.h | 0 .../arch/parisc/include/{ => uapi}/asm/mman.h | 0 .../parisc/include/{ => uapi}/asm/msgbuf.h | 0 trunk/arch/parisc/include/uapi/asm/pdc.h | 427 +++ .../include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/parisc/include/uapi/asm/ptrace.h | 47 + .../parisc/include/{ => uapi}/asm/resource.h | 0 .../parisc/include/{ => uapi}/asm/sembuf.h | 0 .../parisc/include/{ => uapi}/asm/setup.h | 0 .../parisc/include/{ => uapi}/asm/shmbuf.h | 0 .../include/{ => uapi}/asm/sigcontext.h | 0 .../parisc/include/{ => uapi}/asm/siginfo.h | 0 trunk/arch/parisc/include/uapi/asm/signal.h | 118 + .../parisc/include/{ => uapi}/asm/socket.h | 1 + .../parisc/include/{ => uapi}/asm/sockios.h | 0 .../arch/parisc/include/{ => uapi}/asm/stat.h | 0 .../parisc/include/{ => uapi}/asm/statfs.h | 0 .../arch/parisc/include/{ => uapi}/asm/swab.h | 0 .../parisc/include/{ => uapi}/asm/termbits.h | 0 trunk/arch/parisc/include/uapi/asm/termios.h | 43 + .../parisc/include/{ => uapi}/asm/types.h | 0 trunk/arch/parisc/include/uapi/asm/unistd.h | 837 ++++++ trunk/arch/parisc/kernel/signal32.c | 6 +- trunk/arch/parisc/kernel/sys_parisc.c | 2 + trunk/arch/powerpc/boot/dts/mpc5200b.dtsi | 6 + trunk/arch/powerpc/boot/dts/o2d.dtsi | 6 - trunk/arch/powerpc/boot/dts/pcm030.dts | 7 +- .../arch/powerpc/include/asm/kvm_book3s_32.h | 1 + trunk/arch/powerpc/include/asm/ppc-opcode.h | 3 + trunk/arch/powerpc/include/asm/processor.h | 4 +- trunk/arch/powerpc/include/uapi/asm/socket.h | 1 + trunk/arch/powerpc/kernel/sysfs.c | 2 +- trunk/arch/powerpc/kvm/book3s_32_mmu_host.c | 4 +- trunk/arch/powerpc/net/bpf_jit.h | 6 + trunk/arch/powerpc/net/bpf_jit_comp.c | 25 + trunk/arch/powerpc/perf/core-book3s.c | 2 +- .../arch/powerpc/platforms/52xx/mpc52xx_pic.c | 9 +- trunk/arch/powerpc/platforms/pseries/eeh_pe.c | 2 +- trunk/arch/powerpc/platforms/pseries/msi.c | 3 +- .../platforms/pseries/processor_idle.c | 62 +- trunk/arch/s390/Kconfig | 2 + trunk/arch/s390/boot/compressed/vmlinux.lds.S | 2 +- trunk/arch/s390/include/asm/cio.h | 2 + trunk/arch/s390/include/asm/compat.h | 2 +- trunk/arch/s390/include/asm/perf_event.h | 2 +- trunk/arch/s390/include/asm/pgtable.h | 35 +- trunk/arch/s390/include/asm/topology.h | 3 + trunk/arch/s390/include/uapi/asm/chpid.h | 10 +- trunk/arch/s390/include/uapi/asm/kvm_para.h | 11 + trunk/arch/s390/include/uapi/asm/ptrace.h | 4 +- trunk/arch/s390/include/uapi/asm/socket.h | 1 + trunk/arch/s390/kernel/cache.c | 9 +- trunk/arch/s390/kernel/compat_signal.c | 14 +- trunk/arch/s390/kernel/head_kdump.S | 10 +- trunk/arch/s390/kernel/perf_cpum_cf.c | 6 +- trunk/arch/s390/kernel/sclp.S | 8 +- trunk/arch/s390/kernel/signal.c | 14 +- trunk/arch/s390/kernel/topology.c | 6 +- trunk/arch/s390/kernel/vmlinux.lds.S | 2 +- trunk/arch/s390/lib/uaccess_pt.c | 2 +- trunk/arch/s390/mm/gup.c | 7 +- trunk/arch/sh/include/asm/Kbuild | 11 - trunk/arch/sh/include/asm/hw_breakpoint.h | 4 +- trunk/arch/sh/include/asm/posix_types.h | 8 - trunk/arch/sh/include/asm/ptrace.h | 34 +- trunk/arch/sh/include/asm/ptrace_32.h | 75 +- trunk/arch/sh/include/asm/ptrace_64.h | 12 +- trunk/arch/sh/include/asm/setup.h | 5 +- trunk/arch/sh/include/asm/types.h | 5 +- trunk/arch/sh/include/asm/unistd.h | 9 +- trunk/arch/sh/include/uapi/asm/Kbuild | 22 + trunk/arch/sh/include/{ => uapi}/asm/auxvec.h | 0 .../sh/include/{ => uapi}/asm/byteorder.h | 0 .../arch/sh/include/{ => uapi}/asm/cachectl.h | 0 .../sh/include/{ => uapi}/asm/cpu-features.h | 0 .../arch/sh/include/uapi/asm/hw_breakpoint.h | 4 + trunk/arch/sh/include/{ => uapi}/asm/ioctls.h | 0 trunk/arch/sh/include/uapi/asm/posix_types.h | 7 + .../include/{ => uapi}/asm/posix_types_32.h | 0 .../include/{ => uapi}/asm/posix_types_64.h | 0 trunk/arch/sh/include/uapi/asm/ptrace.h | 34 + trunk/arch/sh/include/uapi/asm/ptrace_32.h | 77 + trunk/arch/sh/include/uapi/asm/ptrace_64.h | 14 + trunk/arch/sh/include/uapi/asm/setup.h | 1 + .../sh/include/{ => uapi}/asm/sigcontext.h | 0 trunk/arch/sh/include/{ => uapi}/asm/signal.h | 0 .../arch/sh/include/{ => uapi}/asm/sockios.h | 0 trunk/arch/sh/include/{ => uapi}/asm/stat.h | 0 trunk/arch/sh/include/{ => uapi}/asm/swab.h | 0 trunk/arch/sh/include/uapi/asm/types.h | 1 + trunk/arch/sh/include/uapi/asm/unistd.h | 7 + .../sh/include/{ => uapi}/asm/unistd_32.h | 3 +- .../sh/include/{ => uapi}/asm/unistd_64.h | 3 +- trunk/arch/sh/kernel/syscalls_32.S | 1 + trunk/arch/sh/kernel/syscalls_64.S | 1 + trunk/arch/sparc/Kconfig | 1 + trunk/arch/sparc/crypto/Makefile | 16 +- trunk/arch/sparc/crypto/aes_glue.c | 2 + trunk/arch/sparc/crypto/camellia_glue.c | 2 + trunk/arch/sparc/crypto/crc32c_glue.c | 2 + trunk/arch/sparc/crypto/des_glue.c | 2 + trunk/arch/sparc/crypto/md5_glue.c | 2 + trunk/arch/sparc/crypto/sha1_glue.c | 2 + trunk/arch/sparc/crypto/sha256_glue.c | 2 + trunk/arch/sparc/crypto/sha512_glue.c | 2 + trunk/arch/sparc/include/asm/atomic_64.h | 4 +- trunk/arch/sparc/include/asm/backoff.h | 69 +- trunk/arch/sparc/include/asm/compat.h | 5 +- trunk/arch/sparc/include/asm/processor_64.h | 17 +- trunk/arch/sparc/include/asm/prom.h | 8 + trunk/arch/sparc/include/asm/ptrace.h | 13 +- trunk/arch/sparc/include/asm/smp_64.h | 2 + trunk/arch/sparc/include/asm/thread_info_64.h | 5 + trunk/arch/sparc/include/asm/ttable.h | 24 +- .../arch/sparc/include/uapi/asm/sigcontext.h | 4 + trunk/arch/sparc/include/uapi/asm/socket.h | 1 + trunk/arch/sparc/include/uapi/asm/unistd.h | 7 +- trunk/arch/sparc/kernel/entry.h | 7 + trunk/arch/sparc/kernel/leon_kernel.c | 6 +- trunk/arch/sparc/kernel/perf_event.c | 37 +- trunk/arch/sparc/kernel/process_64.c | 162 +- trunk/arch/sparc/kernel/ptrace_64.c | 4 +- trunk/arch/sparc/kernel/setup_64.c | 21 + trunk/arch/sparc/kernel/signal_64.c | 4 +- trunk/arch/sparc/kernel/smp_64.c | 11 + trunk/arch/sparc/kernel/sys_sparc_64.c | 5 + trunk/arch/sparc/kernel/systbls_32.S | 1 + trunk/arch/sparc/kernel/systbls_64.S | 2 + trunk/arch/sparc/kernel/unaligned_64.c | 36 +- trunk/arch/sparc/kernel/visemul.c | 23 +- trunk/arch/sparc/kernel/vmlinux.lds.S | 5 + trunk/arch/sparc/kernel/winfixup.S | 2 + trunk/arch/sparc/lib/atomic_64.S | 16 +- trunk/arch/sparc/lib/ksyms.c | 1 + trunk/arch/sparc/math-emu/math_64.c | 2 +- trunk/arch/sparc/mm/ultra.S | 64 +- trunk/arch/sparc/net/bpf_jit_comp.c | 19 + trunk/arch/tile/Makefile | 4 + trunk/arch/tile/include/arch/Kbuild | 1 + trunk/arch/tile/include/asm/Kbuild | 3 - trunk/arch/tile/include/uapi/asm/Kbuild | 3 + trunk/arch/tile/kernel/module.c | 10 - trunk/arch/unicore32/Kconfig | 7 +- trunk/arch/unicore32/include/asm/Kbuild | 1 - trunk/arch/unicore32/include/asm/bug.h | 5 - trunk/arch/unicore32/include/asm/cmpxchg.h | 2 +- trunk/arch/unicore32/include/asm/kvm_para.h | 1 - trunk/arch/unicore32/include/asm/processor.h | 5 - trunk/arch/unicore32/include/asm/ptrace.h | 76 +- trunk/arch/unicore32/include/uapi/asm/Kbuild | 7 + .../include/{ => uapi}/asm/byteorder.h | 0 .../arch/unicore32/include/uapi/asm/ptrace.h | 90 + .../include/{ => uapi}/asm/sigcontext.h | 0 .../unicore32/include/{ => uapi}/asm/unistd.h | 1 + trunk/arch/unicore32/kernel/entry.S | 20 +- trunk/arch/unicore32/kernel/process.c | 58 +- trunk/arch/unicore32/kernel/setup.h | 6 + trunk/arch/unicore32/kernel/sys.c | 63 - trunk/arch/unicore32/mm/fault.c | 37 +- trunk/arch/x86/Makefile | 2 +- trunk/arch/x86/boot/compressed/eboot.c | 2 + trunk/arch/x86/boot/header.S | 3 - trunk/arch/x86/crypto/aesni-intel_glue.c | 9 +- trunk/arch/x86/include/asm/efi.h | 6 +- trunk/arch/x86/include/asm/ptrace.h | 15 +- trunk/arch/x86/include/asm/xen/hypercall.h | 21 +- trunk/arch/x86/include/asm/xen/hypervisor.h | 1 - trunk/arch/x86/include/asm/xen/interface.h | 4 +- trunk/arch/x86/kernel/apic/io_apic.c | 3 + trunk/arch/x86/kernel/cpu/amd.c | 14 + trunk/arch/x86/kernel/cpu/intel_cacheinfo.c | 2 +- trunk/arch/x86/kernel/cpu/mcheck/mce.c | 6 - trunk/arch/x86/kernel/cpu/mcheck/mce_amd.c | 12 +- trunk/arch/x86/kernel/cpu/mcheck/mce_intel.c | 31 +- trunk/arch/x86/kernel/cpu/perf_event.c | 16 +- .../x86/kernel/cpu/perf_event_intel_uncore.c | 48 +- trunk/arch/x86/kernel/cpu/perf_event_knc.c | 93 +- trunk/arch/x86/kernel/cpu/perf_event_p6.c | 127 +- trunk/arch/x86/kernel/e820.c | 3 + trunk/arch/x86/kernel/entry_32.S | 8 +- trunk/arch/x86/kernel/entry_64.S | 16 +- trunk/arch/x86/kernel/kvm.c | 3 + trunk/arch/x86/kernel/microcode_amd.c | 8 +- trunk/arch/x86/kernel/ptrace.c | 30 + trunk/arch/x86/kernel/reboot.c | 8 - trunk/arch/x86/kernel/setup.c | 30 +- trunk/arch/x86/kernel/signal.c | 4 +- trunk/arch/x86/kernel/uprobes.c | 16 +- trunk/arch/x86/kvm/cpuid.h | 3 + trunk/arch/x86/kvm/lapic.c | 2 +- trunk/arch/x86/kvm/mmu.c | 3 +- trunk/arch/x86/kvm/vmx.c | 11 +- trunk/arch/x86/kvm/x86.c | 63 +- trunk/arch/x86/mm/init.c | 58 +- trunk/arch/x86/mm/init_64.c | 7 +- trunk/arch/x86/mm/tlb.c | 2 +- trunk/arch/x86/net/bpf_jit_comp.c | 21 + trunk/arch/x86/oprofile/nmi_int.c | 2 +- trunk/arch/x86/pci/ce4100.c | 13 + trunk/arch/x86/platform/ce4100/ce4100.c | 24 + trunk/arch/x86/platform/efi/efi.c | 47 +- trunk/arch/x86/platform/efi/efi_64.c | 7 +- trunk/arch/x86/realmode/rm/wakeup_asm.S | 15 +- trunk/arch/x86/xen/enlighten.c | 2 - trunk/arch/x86/xen/mmu.c | 21 +- trunk/arch/xtensa/Kconfig | 2 + .../arch/xtensa/boot/boot-redboot/bootstrap.S | 8 +- trunk/arch/xtensa/include/asm/Kbuild | 28 +- trunk/arch/xtensa/include/asm/atomic.h | 12 +- trunk/arch/xtensa/include/asm/bitsperlong.h | 1 - trunk/arch/xtensa/include/asm/bug.h | 18 - trunk/arch/xtensa/include/asm/cacheflush.h | 2 +- trunk/arch/xtensa/include/asm/cmpxchg.h | 4 +- trunk/arch/xtensa/include/asm/coprocessor.h | 5 +- trunk/arch/xtensa/include/asm/cputime.h | 6 - trunk/arch/xtensa/include/asm/delay.h | 2 +- trunk/arch/xtensa/include/asm/device.h | 7 - trunk/arch/xtensa/include/asm/div64.h | 16 - .../xtensa/include/asm/emergency-restart.h | 6 - trunk/arch/xtensa/include/asm/errno.h | 16 - trunk/arch/xtensa/include/asm/fcntl.h | 1 - trunk/arch/xtensa/include/asm/futex.h | 1 - trunk/arch/xtensa/include/asm/hardirq.h | 16 - trunk/arch/xtensa/include/asm/io.h | 4 + trunk/arch/xtensa/include/asm/ioctl.h | 1 - trunk/arch/xtensa/include/asm/irq_regs.h | 1 - trunk/arch/xtensa/include/asm/irqflags.h | 4 +- trunk/arch/xtensa/include/asm/kdebug.h | 1 - trunk/arch/xtensa/include/asm/kmap_types.h | 6 - trunk/arch/xtensa/include/asm/kvm_para.h | 1 - trunk/arch/xtensa/include/asm/local.h | 16 - trunk/arch/xtensa/include/asm/local64.h | 1 - trunk/arch/xtensa/include/asm/mmu_context.h | 4 +- trunk/arch/xtensa/include/asm/param.h | 20 +- trunk/arch/xtensa/include/asm/percpu.h | 16 - trunk/arch/xtensa/include/asm/processor.h | 4 +- trunk/arch/xtensa/include/asm/ptrace.h | 66 +- trunk/arch/xtensa/include/asm/regs.h | 55 +- trunk/arch/xtensa/include/asm/resource.h | 16 - trunk/arch/xtensa/include/asm/scatterlist.h | 16 - trunk/arch/xtensa/include/asm/sections.h | 16 - trunk/arch/xtensa/include/asm/siginfo.h | 16 - trunk/arch/xtensa/include/asm/signal.h | 134 +- trunk/arch/xtensa/include/asm/statfs.h | 17 - trunk/arch/xtensa/include/asm/syscall.h | 2 +- trunk/arch/xtensa/include/asm/termios.h | 105 - trunk/arch/xtensa/include/asm/timex.h | 8 +- trunk/arch/xtensa/include/asm/tlbflush.h | 8 +- trunk/arch/xtensa/include/asm/topology.h | 16 - trunk/arch/xtensa/include/asm/types.h | 15 +- trunk/arch/xtensa/include/asm/unistd.h | 711 +---- trunk/arch/xtensa/include/asm/xor.h | 16 - trunk/arch/xtensa/include/uapi/asm/Kbuild | 22 + .../xtensa/include/{ => uapi}/asm/auxvec.h | 0 .../xtensa/include/{ => uapi}/asm/byteorder.h | 0 .../xtensa/include/{ => uapi}/asm/ioctls.h | 0 .../xtensa/include/{ => uapi}/asm/ipcbuf.h | 0 .../arch/xtensa/include/{ => uapi}/asm/mman.h | 0 .../xtensa/include/{ => uapi}/asm/msgbuf.h | 0 trunk/arch/xtensa/include/uapi/asm/param.h | 30 + .../arch/xtensa/include/{ => uapi}/asm/poll.h | 0 .../include/{ => uapi}/asm/posix_types.h | 0 trunk/arch/xtensa/include/uapi/asm/ptrace.h | 77 + .../xtensa/include/{ => uapi}/asm/sembuf.h | 0 .../xtensa/include/{ => uapi}/asm/setup.h | 0 .../xtensa/include/{ => uapi}/asm/shmbuf.h | 0 .../include/{ => uapi}/asm/sigcontext.h | 0 trunk/arch/xtensa/include/uapi/asm/signal.h | 148 + .../xtensa/include/{ => uapi}/asm/socket.h | 1 + .../xtensa/include/{ => uapi}/asm/sockios.h | 0 .../arch/xtensa/include/{ => uapi}/asm/stat.h | 0 .../arch/xtensa/include/{ => uapi}/asm/swab.h | 0 .../xtensa/include/{ => uapi}/asm/termbits.h | 0 trunk/arch/xtensa/include/uapi/asm/types.h | 28 + trunk/arch/xtensa/include/uapi/asm/unistd.h | 754 ++++++ trunk/arch/xtensa/kernel/align.S | 38 +- trunk/arch/xtensa/kernel/coprocessor.S | 20 +- trunk/arch/xtensa/kernel/entry.S | 311 +-- trunk/arch/xtensa/kernel/head.S | 36 +- trunk/arch/xtensa/kernel/irq.c | 6 +- trunk/arch/xtensa/kernel/process.c | 147 +- trunk/arch/xtensa/kernel/setup.c | 4 +- trunk/arch/xtensa/kernel/syscall.c | 8 +- trunk/arch/xtensa/kernel/traps.c | 22 +- trunk/arch/xtensa/kernel/vectors.S | 44 +- trunk/arch/xtensa/kernel/xtensa_ksyms.c | 1 - trunk/arch/xtensa/lib/memcopy.S | 309 ++- trunk/arch/xtensa/mm/fault.c | 3 +- trunk/arch/xtensa/platforms/iss/console.c | 9 +- .../platforms/iss/include/platform/simcall.h | 9 +- trunk/arch/xtensa/platforms/iss/setup.c | 10 +- trunk/arch/xtensa/platforms/xt2000/setup.c | 10 +- trunk/block/Kconfig | 2 +- trunk/block/blk-cgroup.c | 10 + trunk/block/blk-core.c | 3 +- trunk/block/blk-exec.c | 8 +- trunk/crypto/cryptd.c | 11 +- trunk/drivers/Makefile | 4 + trunk/drivers/acpi/Makefile | 5 +- trunk/drivers/acpi/glue.c | 1 + trunk/drivers/acpi/processor_driver.c | 1 + trunk/drivers/acpi/video.c | 11 +- trunk/drivers/ata/ahci_platform.c | 2 +- trunk/drivers/ata/libata-acpi.c | 11 +- trunk/drivers/ata/libata-core.c | 4 + trunk/drivers/ata/libata-scsi.c | 2 + trunk/drivers/ata/pata_arasan_cf.c | 8 +- trunk/drivers/ata/sata_highbank.c | 4 +- trunk/drivers/ata/sata_svw.c | 35 + trunk/drivers/atm/ambassador.c | 1 + trunk/drivers/base/Kconfig | 2 +- trunk/drivers/base/dma-coherent.c | 5 +- trunk/drivers/base/dma-contiguous.c | 5 +- trunk/drivers/base/firmware_class.c | 266 +- trunk/drivers/base/platform.c | 7 + trunk/drivers/base/power/domain.c | 5 +- trunk/drivers/base/power/qos.c | 2 +- trunk/drivers/base/regmap/Kconfig | 2 +- trunk/drivers/bcma/driver_chipcommon.c | 23 +- trunk/drivers/bcma/driver_chipcommon_nflash.c | 3 + trunk/drivers/bcma/driver_chipcommon_pmu.c | 5 +- trunk/drivers/bcma/driver_chipcommon_sflash.c | 35 +- trunk/drivers/bcma/driver_mips.c | 48 +- trunk/drivers/bcma/driver_pci_host.c | 14 +- trunk/drivers/bcma/host_pci.c | 6 +- trunk/drivers/bcma/main.c | 59 +- trunk/drivers/bcma/sprom.c | 5 +- trunk/drivers/block/Kconfig | 15 +- trunk/drivers/block/aoe/aoecmd.c | 2 +- trunk/drivers/block/cciss.c | 1 - trunk/drivers/block/floppy.c | 93 +- trunk/drivers/block/loop.c | 17 +- trunk/drivers/block/mtip32xx/mtip32xx.c | 33 +- trunk/drivers/block/mtip32xx/mtip32xx.h | 7 +- trunk/drivers/block/xen-blkback/common.h | 4 +- trunk/drivers/block/xen-blkback/xenbus.c | 9 +- trunk/drivers/bluetooth/ath3k.c | 1 + trunk/drivers/bluetooth/btmrvl_sdio.c | 28 +- trunk/drivers/bluetooth/btusb.c | 2 + trunk/drivers/bus/omap-ocp2scp.c | 68 +- trunk/drivers/char/Makefile | 1 - trunk/drivers/char/agp/intel-gtt.c | 2 +- trunk/drivers/char/ipmi/ipmi_msghandler.c | 2 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 36 +- trunk/drivers/char/sonypi.c | 2 +- trunk/drivers/clk/ux500/u8500_clk.c | 50 +- trunk/drivers/cpufreq/cpufreq_stats.c | 1 + trunk/drivers/cpufreq/powernow-k8.c | 11 +- trunk/drivers/dma/Kconfig | 11 + trunk/drivers/dma/dw_dmac_regs.h | 18 +- trunk/drivers/dma/imx-dma.c | 4 +- trunk/drivers/dma/ioat/dca.c | 23 + trunk/drivers/dma/sirf-dma.c | 4 +- trunk/drivers/edac/amd64_edac.c | 11 +- trunk/drivers/edac/amd64_edac.h | 2 +- trunk/drivers/edac/edac_stub.c | 2 +- trunk/drivers/edac/mce_amd_inj.c | 4 +- trunk/drivers/extcon/extcon-adc-jack.c | 10 +- trunk/drivers/extcon/extcon-class.c | 142 +- trunk/drivers/extcon/extcon-gpio.c | 1 - trunk/drivers/extcon/extcon-max77693.c | 46 +- trunk/drivers/extcon/extcon-max8997.c | 6 +- trunk/drivers/firewire/sbp2.c | 2 + trunk/drivers/firmware/memmap.c | 4 +- trunk/drivers/gpio/Kconfig | 4 +- trunk/drivers/gpio/gpio-74x164.c | 2 +- trunk/drivers/gpio/gpio-mcp23s08.c | 6 +- trunk/drivers/gpio/gpio-mvebu.c | 30 +- trunk/drivers/gpio/gpio-omap.c | 35 + trunk/drivers/gpio/gpio-timberdale.c | 4 +- trunk/drivers/gpio/gpiolib.c | 10 +- trunk/drivers/gpu/drm/drm_fb_cma_helper.c | 4 +- trunk/drivers/gpu/drm/drm_fops.c | 44 +- trunk/drivers/gpu/drm/drm_info.c | 4 +- trunk/drivers/gpu/drm/drm_platform.c | 1 - trunk/drivers/gpu/drm/exynos/Kconfig | 2 +- .../gpu/drm/exynos/exynos_drm_connector.c | 1 + .../gpu/drm/exynos/exynos_drm_encoder.c | 33 +- trunk/drivers/gpu/drm/exynos/exynos_mixer.c | 2 +- trunk/drivers/gpu/drm/i915/dvo_ch7xxx.c | 6 +- trunk/drivers/gpu/drm/i915/i915_dma.c | 3 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 13 + trunk/drivers/gpu/drm/i915/i915_drv.h | 10 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 26 +- trunk/drivers/gpu/drm/i915/i915_reg.h | 2 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 19 +- trunk/drivers/gpu/drm/i915/intel_display.c | 90 +- trunk/drivers/gpu/drm/i915/intel_dp.c | 18 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 8 + trunk/drivers/gpu/drm/i915/intel_overlay.c | 86 +- trunk/drivers/gpu/drm/i915/intel_panel.c | 2 +- trunk/drivers/gpu/drm/i915/intel_pm.c | 4 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 98 +- trunk/drivers/gpu/drm/i915/intel_sdvo_regs.h | 2 + .../gpu/drm/nouveau/core/core/gpuobj.c | 5 + trunk/drivers/gpu/drm/nouveau/core/core/mm.c | 11 +- .../gpu/drm/nouveau/core/engine/disp/nv50.c | 31 +- .../drm/nouveau/core/engine/graph/ctxnv40.c | 12 +- .../gpu/drm/nouveau/core/engine/graph/nv40.c | 8 +- .../gpu/drm/nouveau/core/engine/graph/nv40.h | 2 +- .../gpu/drm/nouveau/core/engine/mpeg/nv40.c | 2 +- .../gpu/drm/nouveau/core/include/core/mm.h | 1 - .../drm/nouveau/core/include/core/object.h | 14 +- .../drm/nouveau/core/include/subdev/clock.h | 3 +- .../gpu/drm/nouveau/core/subdev/bios/base.c | 30 +- .../gpu/drm/nouveau/core/subdev/bios/dcb.c | 4 +- .../gpu/drm/nouveau/core/subdev/bios/pll.c | 10 +- .../gpu/drm/nouveau/core/subdev/clock/nva3.c | 19 + .../gpu/drm/nouveau/core/subdev/clock/nvc0.c | 1 + .../gpu/drm/nouveau/core/subdev/fb/nv50.c | 12 +- .../gpu/drm/nouveau/core/subdev/i2c/base.c | 2 +- .../gpu/drm/nouveau/core/subdev/therm/fan.c | 2 +- .../gpu/drm/nouveau/core/subdev/vm/nv41.c | 5 +- .../gpu/drm/nouveau/core/subdev/vm/nv44.c | 3 +- trunk/drivers/gpu/drm/nouveau/nouveau_abi16.c | 4 + trunk/drivers/gpu/drm/nouveau/nouveau_bo.c | 2 + .../gpu/drm/nouveau/nouveau_connector.c | 2 +- .../drivers/gpu/drm/nouveau/nouveau_display.c | 50 +- trunk/drivers/gpu/drm/nouveau/nouveau_drm.c | 39 +- trunk/drivers/gpu/drm/nouveau/nouveau_drm.h | 2 + trunk/drivers/gpu/drm/nouveau/nouveau_irq.c | 16 +- trunk/drivers/gpu/drm/nouveau/nouveau_pm.c | 6 +- trunk/drivers/gpu/drm/nouveau/nv04_dac.c | 16 +- trunk/drivers/gpu/drm/nouveau/nv04_dfp.c | 14 +- trunk/drivers/gpu/drm/nouveau/nv04_tv.c | 9 +- trunk/drivers/gpu/drm/radeon/atombios_crtc.c | 60 +- .../gpu/drm/radeon/atombios_encoders.c | 7 +- trunk/drivers/gpu/drm/radeon/evergreen.c | 11 +- trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 6 +- trunk/drivers/gpu/drm/radeon/evergreend.h | 4 + trunk/drivers/gpu/drm/radeon/ni.c | 57 +- trunk/drivers/gpu/drm/radeon/nid.h | 1 + trunk/drivers/gpu/drm/radeon/r600.c | 6 + trunk/drivers/gpu/drm/radeon/radeon.h | 14 +- trunk/drivers/gpu/drm/radeon/radeon_acpi.c | 6 +- trunk/drivers/gpu/drm/radeon/radeon_agp.c | 5 +- .../gpu/drm/radeon/radeon_atpx_handler.c | 12 +- .../gpu/drm/radeon/radeon_connectors.c | 28 +- trunk/drivers/gpu/drm/radeon/radeon_cs.c | 1 + trunk/drivers/gpu/drm/radeon/radeon_device.c | 64 +- trunk/drivers/gpu/drm/radeon/radeon_gart.c | 386 ++- trunk/drivers/gpu/drm/radeon/radeon_gem.c | 18 +- trunk/drivers/gpu/drm/radeon/radeon_kms.c | 22 +- .../gpu/drm/radeon/radeon_legacy_crtc.c | 15 +- .../gpu/drm/radeon/radeon_legacy_encoders.c | 228 +- trunk/drivers/gpu/drm/radeon/radeon_object.c | 19 - trunk/drivers/gpu/drm/radeon/radeon_ring.c | 2 +- trunk/drivers/gpu/drm/radeon/si.c | 55 +- trunk/drivers/gpu/drm/radeon/sid.h | 1 + .../drivers/gpu/drm/shmobile/shmob_drm_drv.c | 12 +- trunk/drivers/gpu/drm/ttm/ttm_bo.c | 24 +- trunk/drivers/gpu/drm/ttm/ttm_page_alloc.c | 5 +- trunk/drivers/gpu/drm/ttm/ttm_tt.c | 4 - trunk/drivers/gpu/drm/udl/udl_drv.h | 2 +- trunk/drivers/gpu/drm/udl/udl_fb.c | 12 +- trunk/drivers/gpu/drm/udl/udl_transfer.c | 5 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c | 2 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 5 + trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 2 + trunk/drivers/hid/hid-apple.c | 6 + trunk/drivers/hid/hid-core.c | 6 + trunk/drivers/hid/hid-ids.h | 3 + trunk/drivers/hid/hid-microsoft.c | 18 +- trunk/drivers/hid/hid-multitouch.c | 5 +- trunk/drivers/hid/hidraw.c | 69 +- trunk/drivers/hv/channel.c | 24 +- trunk/drivers/hwmon/asb100.c | 2 +- trunk/drivers/hwmon/coretemp.c | 7 +- trunk/drivers/hwmon/fam15h_power.c | 4 +- trunk/drivers/hwmon/gpio-fan.c | 2 + trunk/drivers/hwmon/pmbus/Kconfig | 2 +- trunk/drivers/hwmon/w83627ehf.c | 1 + trunk/drivers/hwmon/w83627hf.c | 2 +- trunk/drivers/hwmon/w83781d.c | 2 +- trunk/drivers/hwmon/w83791d.c | 2 +- trunk/drivers/hwmon/w83792d.c | 2 +- trunk/drivers/hwmon/w83l786ng.c | 2 +- trunk/drivers/i2c/Makefile | 1 + trunk/drivers/i2c/busses/Kconfig | 1 - trunk/drivers/i2c/busses/Makefile | 1 - trunk/drivers/i2c/busses/i2c-at91.c | 7 +- trunk/drivers/i2c/busses/i2c-i801.c | 11 +- trunk/drivers/i2c/busses/i2c-mxs.c | 188 +- trunk/drivers/i2c/busses/i2c-nomadik.c | 9 +- trunk/drivers/i2c/busses/i2c-omap.c | 36 +- trunk/drivers/i2c/busses/i2c-s3c2410.c | 1 + trunk/drivers/i2c/busses/i2c-tegra.c | 2 +- trunk/drivers/i2c/{busses => }/i2c-stub.c | 66 +- trunk/drivers/i2c/muxes/i2c-mux-pinctrl.c | 2 +- trunk/drivers/iio/Kconfig | 1 - trunk/drivers/iio/Makefile | 1 - trunk/drivers/infiniband/hw/cxgb4/mem.c | 2 +- trunk/drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +- trunk/drivers/infiniband/hw/mlx4/mad.c | 85 +- trunk/drivers/infiniband/hw/mlx4/mcg.c | 18 +- trunk/drivers/input/evdev.c | 3 +- trunk/drivers/input/input-mt.c | 4 + trunk/drivers/input/joydev.c | 3 +- trunk/drivers/input/keyboard/Kconfig | 1 + trunk/drivers/input/keyboard/pxa27x_keypad.c | 3 + trunk/drivers/input/misc/xen-kbdfront.c | 5 +- trunk/drivers/input/mouse/bcm5974.c | 21 + trunk/drivers/input/mousedev.c | 7 +- trunk/drivers/input/tablet/wacom_sys.c | 51 +- trunk/drivers/input/tablet/wacom_wac.c | 91 +- trunk/drivers/input/tablet/wacom_wac.h | 5 + trunk/drivers/input/touchscreen/Kconfig | 2 +- trunk/drivers/input/touchscreen/ads7846.c | 6 +- trunk/drivers/input/touchscreen/egalax_ts.c | 23 +- trunk/drivers/input/touchscreen/tsc40.c | 1 - trunk/drivers/iommu/amd_iommu_init.c | 39 +- trunk/drivers/iommu/intel-iommu.c | 4 +- trunk/drivers/iommu/tegra-smmu.c | 3 +- trunk/drivers/irqchip/irq-bcm2835.c | 3 +- trunk/drivers/isdn/Kconfig | 2 +- trunk/drivers/isdn/gigaset/bas-gigaset.c | 19 +- trunk/drivers/isdn/hardware/mISDN/hfcpci.c | 2 +- trunk/drivers/isdn/hardware/mISDN/mISDNisar.c | 2 +- trunk/drivers/isdn/hisax/callc.c | 2 +- trunk/drivers/isdn/hisax/hfc_pci.c | 2 +- trunk/drivers/isdn/hisax/hfc_sx.c | 2 +- trunk/drivers/isdn/i4l/Kconfig | 2 +- trunk/drivers/isdn/i4l/isdn_common.c | 4 - trunk/drivers/isdn/mISDN/l1oip_core.c | 5 +- trunk/drivers/isdn/pcbit/layer2.c | 2 +- trunk/drivers/leds/ledtrig-cpu.c | 21 - trunk/drivers/md/dm.c | 8 +- trunk/drivers/md/faulty.c | 5 +- trunk/drivers/md/md.c | 27 +- trunk/drivers/md/raid1.c | 2 +- trunk/drivers/md/raid10.c | 146 +- trunk/drivers/md/raid5.c | 79 +- trunk/drivers/media/Kconfig | 18 +- .../media/dvb-frontends/stv0900_core.c | 6 +- trunk/drivers/media/i2c/adv7604.c | 377 ++- trunk/drivers/media/i2c/soc_camera/mt9v022.c | 11 +- .../media/platform/exynos-gsc/gsc-core.c | 6 +- .../drivers/media/platform/omap3isp/ispccdc.c | 4 +- .../drivers/media/platform/omap3isp/ispstat.c | 4 +- .../drivers/media/platform/omap3isp/ispstat.h | 4 +- .../media/platform/omap3isp/ispvideo.c | 2 +- trunk/drivers/media/platform/s5p-fimc/Kconfig | 1 + .../media/platform/s5p-fimc/fimc-capture.c | 4 +- .../media/platform/s5p-fimc/fimc-lite.c | 4 +- .../media/platform/s5p-fimc/fimc-mdevice.c | 41 +- trunk/drivers/media/platform/sh_vou.c | 3 +- .../media/platform/soc_camera/mx1_camera.c | 9 - .../media/platform/soc_camera/mx2_camera.c | 13 +- .../media/platform/soc_camera/mx3_camera.c | 5 +- .../media/platform/soc_camera/omap1_camera.c | 4 +- .../media/platform/soc_camera/pxa_camera.c | 4 +- .../soc_camera/sh_mobile_ceu_camera.c | 13 +- .../media/usb/dvb-usb-v2/dvb_usb_core.c | 11 +- .../media/usb/dvb-usb-v2/dvb_usb_urb.c | 4 +- trunk/drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 + trunk/drivers/mfd/arizona-core.c | 14 +- trunk/drivers/mfd/arizona-irq.c | 1 + trunk/drivers/mfd/twl-core.c | 2 +- trunk/drivers/mfd/twl4030-irq.c | 3 +- trunk/drivers/mfd/wm5102-tables.c | 519 +--- trunk/drivers/mmc/host/dw_mmc-exynos.c | 8 +- trunk/drivers/mmc/host/dw_mmc-pltfm.c | 6 +- trunk/drivers/mmc/host/dw_mmc-pltfm.h | 2 +- trunk/drivers/mmc/host/dw_mmc.c | 62 +- trunk/drivers/mmc/host/mxcmmc.c | 2 +- trunk/drivers/mmc/host/omap_hsmmc.c | 19 +- trunk/drivers/mmc/host/sdhci-dove.c | 38 +- trunk/drivers/mmc/host/sdhci-of-esdhc.c | 11 + trunk/drivers/mmc/host/sdhci-pci.c | 2 +- trunk/drivers/mmc/host/sdhci-pltfm.c | 7 + trunk/drivers/mmc/host/sdhci-s3c.c | 30 +- trunk/drivers/mmc/host/sdhci.c | 44 +- trunk/drivers/mmc/host/sdhci.h | 1 + trunk/drivers/mmc/host/sh_mmcif.c | 2 +- trunk/drivers/mtd/devices/slram.c | 2 +- trunk/drivers/mtd/mtdcore.c | 6 +- trunk/drivers/mtd/nand/nand_base.c | 10 +- trunk/drivers/mtd/ofpart.c | 2 +- trunk/drivers/mtd/onenand/onenand_base.c | 2 +- trunk/drivers/net/bonding/bond_main.c | 11 +- trunk/drivers/net/bonding/bond_sysfs.c | 4 +- trunk/drivers/net/can/Kconfig | 9 + trunk/drivers/net/can/Makefile | 1 + trunk/drivers/net/can/at91_can.c | 1 + trunk/drivers/net/can/bfin_can.c | 1 + trunk/drivers/net/can/c_can/c_can.c | 12 + trunk/drivers/net/can/c_can/c_can.h | 3 + trunk/drivers/net/can/c_can/c_can_platform.c | 30 +- trunk/drivers/net/can/cc770/cc770_platform.c | 2 + trunk/drivers/net/can/flexcan.c | 21 +- trunk/drivers/net/can/grcan.c | 1756 ++++++++++++ trunk/drivers/net/can/janz-ican3.c | 4 +- trunk/drivers/net/can/mscan/mpc5xxx_can.c | 1 + trunk/drivers/net/can/sja1000/Kconfig | 3 +- trunk/drivers/net/can/sja1000/peak_pci.c | 13 +- trunk/drivers/net/can/sja1000/plx_pci.c | 19 + .../net/can/sja1000/sja1000_of_platform.c | 6 +- .../net/can/sja1000/sja1000_platform.c | 1 + trunk/drivers/net/can/ti_hecc.c | 1 + trunk/drivers/net/can/usb/Kconfig | 29 + trunk/drivers/net/can/usb/Makefile | 1 + trunk/drivers/net/can/usb/esd_usb2.c | 35 +- trunk/drivers/net/can/usb/kvaser_usb.c | 1627 +++++++++++ trunk/drivers/net/can/usb/peak_usb/pcan_usb.c | 8 +- .../net/can/usb/peak_usb/pcan_usb_pro.c | 8 +- trunk/drivers/net/dsa/Kconfig | 5 +- trunk/drivers/net/ethernet/8390/etherh.c | 6 - trunk/drivers/net/ethernet/8390/ne.c | 1 + trunk/drivers/net/ethernet/adi/Kconfig | 2 +- trunk/drivers/net/ethernet/adi/bfin_mac.c | 259 +- trunk/drivers/net/ethernet/adi/bfin_mac.h | 13 +- .../net/ethernet/broadcom/bnx2x/bnx2x.h | 134 +- .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 479 ++-- .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 87 +- .../net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | 8 +- .../ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 13 +- .../net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | 34 +- .../ethernet/broadcom/bnx2x/bnx2x_init_ops.h | 29 +- .../net/ethernet/broadcom/bnx2x/bnx2x_link.c | 1131 +++++--- .../net/ethernet/broadcom/bnx2x/bnx2x_link.h | 17 +- .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 893 ++++--- .../net/ethernet/broadcom/bnx2x/bnx2x_reg.h | 45 +- .../net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 61 +- .../net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 12 + trunk/drivers/net/ethernet/broadcom/tg3.c | 276 +- trunk/drivers/net/ethernet/broadcom/tg3.h | 8 + trunk/drivers/net/ethernet/cadence/Kconfig | 9 +- .../drivers/net/ethernet/cadence/at91_ether.c | 1279 ++------- .../drivers/net/ethernet/cadence/at91_ether.h | 112 - trunk/drivers/net/ethernet/cadence/macb.c | 556 ++-- trunk/drivers/net/ethernet/cadence/macb.h | 67 +- trunk/drivers/net/ethernet/calxeda/xgmac.c | 59 +- trunk/drivers/net/ethernet/chelsio/Kconfig | 2 +- .../net/ethernet/chelsio/cxgb3/common.h | 7 +- .../net/ethernet/chelsio/cxgb4/cxgb4.h | 19 + .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 39 +- .../net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 3 + .../net/ethernet/chelsio/cxgb4/t4_hw.c | 6 +- trunk/drivers/net/ethernet/cisco/Kconfig | 2 +- trunk/drivers/net/ethernet/cisco/enic/Kconfig | 2 +- trunk/drivers/net/ethernet/dec/ewrk3.c | 3 +- trunk/drivers/net/ethernet/dlink/dl2k.c | 16 +- trunk/drivers/net/ethernet/dnet.c | 3 - trunk/drivers/net/ethernet/emulex/Kconfig | 2 +- .../drivers/net/ethernet/emulex/benet/Kconfig | 2 +- trunk/drivers/net/ethernet/emulex/benet/be.h | 51 +- .../net/ethernet/emulex/benet/be_cmds.c | 409 ++- .../net/ethernet/emulex/benet/be_cmds.h | 177 +- .../net/ethernet/emulex/benet/be_ethtool.c | 80 +- .../drivers/net/ethernet/emulex/benet/be_hw.h | 20 +- .../net/ethernet/emulex/benet/be_main.c | 844 +++--- .../net/ethernet/emulex/benet/be_roce.c | 5 +- trunk/drivers/net/ethernet/freescale/Kconfig | 9 + trunk/drivers/net/ethernet/freescale/Makefile | 1 + trunk/drivers/net/ethernet/freescale/fec.c | 161 +- trunk/drivers/net/ethernet/freescale/fec.h | 119 + .../drivers/net/ethernet/freescale/fec_ptp.c | 383 +++ .../drivers/net/ethernet/freescale/gianfar.c | 19 +- .../net/ethernet/freescale/gianfar_ptp.c | 2 +- trunk/drivers/net/ethernet/i825xx/ether1.c | 6 - trunk/drivers/net/ethernet/ibm/Kconfig | 5 +- .../drivers/net/ethernet/ibm/ehea/ehea_main.c | 2 +- trunk/drivers/net/ethernet/ibm/emac/mal.c | 6 +- trunk/drivers/net/ethernet/intel/Kconfig | 30 +- .../net/ethernet/intel/e1000/e1000_hw.c | 17 +- .../net/ethernet/intel/e1000e/netdev.c | 11 + trunk/drivers/net/ethernet/intel/igb/Makefile | 4 +- .../net/ethernet/intel/igb/e1000_82575.c | 28 +- .../net/ethernet/intel/igb/e1000_82575.h | 3 + .../net/ethernet/intel/igb/e1000_defines.h | 15 + .../net/ethernet/intel/igb/e1000_i210.c | 94 + .../net/ethernet/intel/igb/e1000_i210.h | 11 + .../net/ethernet/intel/igb/e1000_mac.c | 4 + .../net/ethernet/intel/igb/e1000_mac.h | 1 + .../net/ethernet/intel/igb/e1000_nvm.c | 71 + .../net/ethernet/intel/igb/e1000_nvm.h | 16 + .../net/ethernet/intel/igb/e1000_phy.c | 49 +- .../net/ethernet/intel/igb/e1000_phy.h | 1 + trunk/drivers/net/ethernet/intel/igb/igb.h | 110 +- .../net/ethernet/intel/igb/igb_ethtool.c | 392 ++- .../drivers/net/ethernet/intel/igb/igb_main.c | 1512 +++++++---- .../drivers/net/ethernet/intel/igb/igb_ptp.c | 102 +- .../net/ethernet/intel/igbvf/defines.h | 1 + .../drivers/net/ethernet/intel/igbvf/igbvf.h | 2 +- .../drivers/net/ethernet/intel/igbvf/netdev.c | 30 +- .../drivers/net/ethernet/intel/ixgbe/Makefile | 3 +- .../drivers/net/ethernet/intel/ixgbe/ixgbe.h | 15 +- .../net/ethernet/intel/ixgbe/ixgbe_82599.c | 158 +- .../net/ethernet/intel/ixgbe/ixgbe_common.c | 76 +- .../net/ethernet/intel/ixgbe/ixgbe_common.h | 2 + .../net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 32 +- .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 112 +- .../net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 4 + .../net/ethernet/intel/ixgbe/ixgbe_lib.c | 22 +- .../net/ethernet/intel/ixgbe/ixgbe_main.c | 393 +-- .../net/ethernet/intel/ixgbe/ixgbe_mbx.h | 31 +- .../net/ethernet/intel/ixgbe/ixgbe_ptp.c | 164 +- .../net/ethernet/intel/ixgbe/ixgbe_sriov.c | 470 +++- .../net/ethernet/intel/ixgbe/ixgbe_type.h | 1 + .../net/ethernet/intel/ixgbevf/defines.h | 7 +- .../net/ethernet/intel/ixgbevf/ixgbevf.h | 16 +- .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 394 ++- .../drivers/net/ethernet/intel/ixgbevf/mbx.h | 10 + trunk/drivers/net/ethernet/intel/ixgbevf/vf.c | 61 + trunk/drivers/net/ethernet/intel/ixgbevf/vf.h | 2 + trunk/drivers/net/ethernet/jme.c | 36 +- .../drivers/net/ethernet/marvell/pxa168_eth.c | 7 +- trunk/drivers/net/ethernet/marvell/skge.c | 2 +- trunk/drivers/net/ethernet/mellanox/Kconfig | 2 +- .../net/ethernet/mellanox/mlx4/Kconfig | 3 +- .../net/ethernet/mellanox/mlx4/en_dcb_nl.c | 2 +- .../net/ethernet/mellanox/mlx4/en_netdev.c | 2 +- .../net/ethernet/mellanox/mlx4/en_rx.c | 9 +- .../net/ethernet/mellanox/mlx4/en_tx.c | 3 +- trunk/drivers/net/ethernet/mellanox/mlx4/eq.c | 24 +- .../drivers/net/ethernet/mellanox/mlx4/main.c | 5 +- .../net/ethernet/mellanox/mlx4/mlx4_en.h | 19 +- .../ethernet/mellanox/mlx4/resource_tracker.c | 6 - trunk/drivers/net/ethernet/micrel/ks8695net.c | 3 - trunk/drivers/net/ethernet/micrel/ksz884x.c | 33 +- trunk/drivers/net/ethernet/neterion/Kconfig | 2 +- trunk/drivers/net/ethernet/neterion/s2io.c | 3 +- trunk/drivers/net/ethernet/nxp/lpc_eth.c | 5 +- .../net/ethernet/oki-semi/pch_gbe/Kconfig | 17 +- .../net/ethernet/oki-semi/pch_gbe/pch_gbe.h | 2 - .../ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 130 +- .../qlogic/netxen/netxen_nic_ethtool.c | 93 +- trunk/drivers/net/ethernet/qlogic/qla3xxx.c | 25 +- .../net/ethernet/qlogic/qlcnic/Makefile | 3 +- .../net/ethernet/qlogic/qlcnic/qlcnic.h | 416 ++- .../net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 48 +- .../ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 3 +- .../net/ethernet/qlogic/qlcnic/qlcnic_hdr.h | 16 - .../net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 472 +--- .../net/ethernet/qlogic/qlcnic/qlcnic_init.c | 826 +----- .../net/ethernet/qlogic/qlcnic/qlcnic_io.c | 1309 +++++++++ .../net/ethernet/qlogic/qlcnic/qlcnic_main.c | 1663 +----------- .../ethernet/qlogic/qlcnic/qlcnic_minidump.c | 629 +++++ .../net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 962 +++++++ .../net/ethernet/qlogic/qlge/qlge_dbg.c | 16 +- trunk/drivers/net/ethernet/realtek/8139cp.c | 52 +- trunk/drivers/net/ethernet/realtek/atp.c | 58 +- trunk/drivers/net/ethernet/realtek/atp.h | 2 - trunk/drivers/net/ethernet/realtek/r8169.c | 115 +- trunk/drivers/net/ethernet/renesas/sh_eth.c | 2 +- trunk/drivers/net/ethernet/seeq/ether3.c | 6 - trunk/drivers/net/ethernet/sfc/Kconfig | 10 +- trunk/drivers/net/ethernet/sfc/Makefile | 3 +- trunk/drivers/net/ethernet/sfc/net_driver.h | 2 - trunk/drivers/net/ethernet/sfc/nic.h | 26 - trunk/drivers/net/ethernet/sis/sis900.c | 2 +- trunk/drivers/net/ethernet/smsc/smc911x.c | 10 - trunk/drivers/net/ethernet/smsc/smc91x.c | 10 - trunk/drivers/net/ethernet/smsc/smsc911x.c | 22 +- .../net/ethernet/stmicro/stmmac/Kconfig | 25 - .../net/ethernet/stmicro/stmmac/Makefile | 1 - .../net/ethernet/stmicro/stmmac/common.h | 39 +- .../net/ethernet/stmicro/stmmac/dwmac1000.h | 3 - .../ethernet/stmicro/stmmac/dwmac1000_dma.c | 6 + .../net/ethernet/stmicro/stmmac/dwmac_dma.h | 5 +- .../net/ethernet/stmicro/stmmac/dwmac_lib.c | 20 +- .../net/ethernet/stmicro/stmmac/stmmac.h | 14 +- .../ethernet/stmicro/stmmac/stmmac_ethtool.c | 100 +- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 261 +- .../ethernet/stmicro/stmmac/stmmac_timer.c | 134 - .../ethernet/stmicro/stmmac/stmmac_timer.h | 46 - trunk/drivers/net/ethernet/ti/Kconfig | 11 +- trunk/drivers/net/ethernet/ti/Makefile | 2 +- trunk/drivers/net/ethernet/ti/cpsw.c | 629 +++-- trunk/drivers/net/ethernet/ti/cpsw_ale.c | 31 +- trunk/drivers/net/ethernet/ti/cpsw_ale.h | 1 + trunk/drivers/net/ethernet/ti/cpts.c | 427 +++ trunk/drivers/net/ethernet/ti/cpts.h | 146 + trunk/drivers/net/ethernet/ti/davinci_mdio.c | 2 +- trunk/drivers/net/ethernet/tile/tilegx.c | 37 +- .../net/ethernet/toshiba/ps3_gelic_wireless.c | 4 +- trunk/drivers/net/ethernet/wiznet/w5100.c | 2 - trunk/drivers/net/ethernet/wiznet/w5300.c | 2 - .../net/ethernet/xilinx/xilinx_axienet_main.c | 16 +- .../drivers/net/ethernet/xscale/ixp4xx_eth.c | 8 +- trunk/drivers/net/hyperv/rndis_filter.c | 5 - trunk/drivers/net/irda/sh_irda.c | 4 - trunk/drivers/net/irda/sir_dev.c | 2 +- trunk/drivers/net/netconsole.c | 6 + trunk/drivers/net/phy/Kconfig | 5 + trunk/drivers/net/phy/Makefile | 1 + trunk/drivers/net/phy/at803x.c | 176 ++ trunk/drivers/net/phy/davicom.c | 6 + trunk/drivers/net/phy/mdio-gpio.c | 11 +- trunk/drivers/net/phy/mdio_bus.c | 14 + trunk/drivers/net/phy/micrel.c | 44 + trunk/drivers/net/phy/smsc.c | 69 +- trunk/drivers/net/ppp/ppp_generic.c | 2 +- trunk/drivers/net/team/team.c | 4 +- trunk/drivers/net/team/team_mode_broadcast.c | 6 +- trunk/drivers/net/tun.c | 852 ++++-- trunk/drivers/net/usb/Kconfig | 22 + trunk/drivers/net/usb/Makefile | 1 + trunk/drivers/net/usb/asix_common.c | 117 +- trunk/drivers/net/usb/asix_devices.c | 19 +- trunk/drivers/net/usb/cdc_eem.c | 3 +- trunk/drivers/net/usb/cdc_ether.c | 41 +- trunk/drivers/net/usb/cdc_mbim.c | 412 +++ trunk/drivers/net/usb/cdc_ncm.c | 667 +++-- trunk/drivers/net/usb/dm9601.c | 107 +- trunk/drivers/net/usb/int51x1.c | 52 +- trunk/drivers/net/usb/ipheth.c | 5 + trunk/drivers/net/usb/mcs7830.c | 85 +- trunk/drivers/net/usb/net1080.c | 110 +- trunk/drivers/net/usb/plusb.c | 11 +- trunk/drivers/net/usb/qmi_wwan.c | 56 + trunk/drivers/net/usb/sierra_net.c | 47 +- trunk/drivers/net/usb/smsc75xx.c | 957 ++++--- trunk/drivers/net/usb/smsc95xx.c | 711 +++-- trunk/drivers/net/usb/smsc95xx.h | 25 + trunk/drivers/net/usb/usbnet.c | 207 +- trunk/drivers/net/veth.c | 1 + trunk/drivers/net/virtio_net.c | 12 +- trunk/drivers/net/vmxnet3/vmxnet3_drv.c | 101 +- trunk/drivers/net/vxlan.c | 274 +- trunk/drivers/net/wan/Makefile | 4 +- trunk/drivers/net/wan/ixp4xx_hss.c | 8 +- trunk/drivers/net/wan/wanxlfw.S | 1 + trunk/drivers/net/wireless/airo.c | 2 +- trunk/drivers/net/wireless/at76c50x-usb.c | 85 +- trunk/drivers/net/wireless/ath/Kconfig | 1 + trunk/drivers/net/wireless/ath/Makefile | 1 + trunk/drivers/net/wireless/ath/ar5523/Kconfig | 7 + .../drivers/net/wireless/ath/ar5523/Makefile | 1 + .../drivers/net/wireless/ath/ar5523/ar5523.c | 1798 +++++++++++++ .../drivers/net/wireless/ath/ar5523/ar5523.h | 152 ++ .../net/wireless/ath/ar5523/ar5523_hw.h | 431 +++ trunk/drivers/net/wireless/ath/ath5k/ahb.c | 15 +- trunk/drivers/net/wireless/ath/ath5k/base.c | 12 +- .../net/wireless/ath/ath5k/mac80211-ops.c | 5 +- trunk/drivers/net/wireless/ath/ath5k/reset.c | 6 +- trunk/drivers/net/wireless/ath/ath6kl/Kconfig | 9 + .../drivers/net/wireless/ath/ath6kl/Makefile | 1 + .../net/wireless/ath/ath6kl/cfg80211.c | 410 ++- .../net/wireless/ath/ath6kl/cfg80211.h | 1 - trunk/drivers/net/wireless/ath/ath6kl/core.c | 21 + trunk/drivers/net/wireless/ath/ath6kl/core.h | 69 +- trunk/drivers/net/wireless/ath/ath6kl/debug.h | 1 + trunk/drivers/net/wireless/ath/ath6kl/hif.c | 12 +- .../net/wireless/ath/ath6kl/htc_mbox.c | 13 +- .../net/wireless/ath/ath6kl/htc_pipe.c | 14 +- trunk/drivers/net/wireless/ath/ath6kl/init.c | 92 +- trunk/drivers/net/wireless/ath/ath6kl/main.c | 55 +- .../net/wireless/ath/ath6kl/recovery.c | 160 ++ trunk/drivers/net/wireless/ath/ath6kl/sdio.c | 27 +- trunk/drivers/net/wireless/ath/ath6kl/txrx.c | 47 +- trunk/drivers/net/wireless/ath/ath6kl/usb.c | 32 +- trunk/drivers/net/wireless/ath/ath6kl/wmi.c | 284 +- trunk/drivers/net/wireless/ath/ath6kl/wmi.h | 78 +- .../wireless/ath/ath9k/ar9003_2p2_initvals.h | 164 +- .../net/wireless/ath/ath9k/ar9003_calib.c | 81 + .../net/wireless/ath/ath9k/ar9003_eeprom.c | 22 +- .../net/wireless/ath/ath9k/ar9003_hw.c | 30 +- .../net/wireless/ath/ath9k/ar9003_mci.c | 71 +- .../net/wireless/ath/ath9k/ar9003_mci.h | 8 +- .../net/wireless/ath/ath9k/ar9003_phy.c | 2 +- .../net/wireless/ath/ath9k/ar9003_phy.h | 47 +- .../wireless/ath/ath9k/ar9462_2p0_initvals.h | 2 +- .../net/wireless/ath/ath9k/ar9485_initvals.h | 338 ++- .../wireless/ath/ath9k/ar9565_1p0_initvals.h | 4 +- trunk/drivers/net/wireless/ath/ath9k/ath9k.h | 37 +- trunk/drivers/net/wireless/ath/ath9k/beacon.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/btcoex.c | 63 +- trunk/drivers/net/wireless/ath/ath9k/btcoex.h | 8 + trunk/drivers/net/wireless/ath/ath9k/calib.c | 1 + trunk/drivers/net/wireless/ath/ath9k/common.h | 7 - trunk/drivers/net/wireless/ath/ath9k/debug.c | 230 +- trunk/drivers/net/wireless/ath/ath9k/debug.h | 18 +- .../wireless/ath/ath9k/dfs_pattern_detector.c | 12 +- .../wireless/ath/ath9k/dfs_pattern_detector.h | 4 +- trunk/drivers/net/wireless/ath/ath9k/gpio.c | 136 +- .../drivers/net/wireless/ath/ath9k/hif_usb.c | 1 + trunk/drivers/net/wireless/ath/ath9k/htc.h | 4 +- .../net/wireless/ath/ath9k/htc_drv_beacon.c | 8 +- .../net/wireless/ath/ath9k/htc_drv_debug.c | 8 +- .../net/wireless/ath/ath9k/htc_drv_gpio.c | 2 +- .../net/wireless/ath/ath9k/htc_drv_init.c | 25 +- .../net/wireless/ath/ath9k/htc_drv_main.c | 44 +- .../net/wireless/ath/ath9k/htc_drv_txrx.c | 28 +- trunk/drivers/net/wireless/ath/ath9k/hw.c | 13 +- trunk/drivers/net/wireless/ath/ath9k/hw.h | 6 +- trunk/drivers/net/wireless/ath/ath9k/init.c | 7 +- trunk/drivers/net/wireless/ath/ath9k/link.c | 17 +- trunk/drivers/net/wireless/ath/ath9k/main.c | 90 +- trunk/drivers/net/wireless/ath/ath9k/mci.c | 210 +- trunk/drivers/net/wireless/ath/ath9k/mci.h | 36 + trunk/drivers/net/wireless/ath/ath9k/pci.c | 12 - trunk/drivers/net/wireless/ath/ath9k/rc.c | 53 +- trunk/drivers/net/wireless/ath/ath9k/rc.h | 16 + trunk/drivers/net/wireless/ath/ath9k/recv.c | 7 +- trunk/drivers/net/wireless/ath/ath9k/reg.h | 13 +- trunk/drivers/net/wireless/ath/ath9k/wow.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/xmit.c | 22 +- trunk/drivers/net/wireless/ath/carl9170/fw.c | 5 - trunk/drivers/net/wireless/ath/carl9170/mac.c | 21 +- trunk/drivers/net/wireless/ath/carl9170/rx.c | 51 +- trunk/drivers/net/wireless/ath/carl9170/usb.c | 7 + trunk/drivers/net/wireless/ath/hw.c | 20 +- trunk/drivers/net/wireless/b43/main.c | 6 +- trunk/drivers/net/wireless/b43/xmit.c | 2 +- trunk/drivers/net/wireless/b43legacy/pio.c | 2 +- trunk/drivers/net/wireless/b43legacy/xmit.c | 2 +- trunk/drivers/net/wireless/brcm80211/Kconfig | 15 +- .../net/wireless/brcm80211/brcmfmac/Makefile | 2 + .../net/wireless/brcm80211/brcmfmac/bcmsdh.c | 43 +- .../brcm80211/brcmfmac/bcmsdh_sdmmc.c | 140 +- .../net/wireless/brcm80211/brcmfmac/dhd.h | 255 +- .../net/wireless/brcm80211/brcmfmac/dhd_bus.h | 6 +- .../net/wireless/brcm80211/brcmfmac/dhd_cdc.c | 101 - .../wireless/brcm80211/brcmfmac/dhd_common.c | 879 ++---- .../net/wireless/brcm80211/brcmfmac/dhd_dbg.c | 6 +- .../net/wireless/brcm80211/brcmfmac/dhd_dbg.h | 11 +- .../wireless/brcm80211/brcmfmac/dhd_linux.c | 681 ++--- .../wireless/brcm80211/brcmfmac/dhd_proto.h | 15 +- .../wireless/brcm80211/brcmfmac/dhd_sdio.c | 392 +-- .../net/wireless/brcm80211/brcmfmac/fweh.c | 509 ++++ .../net/wireless/brcm80211/brcmfmac/fweh.h | 207 ++ .../net/wireless/brcm80211/brcmfmac/fwil.c | 344 +++ .../net/wireless/brcm80211/brcmfmac/fwil.h | 39 + .../net/wireless/brcm80211/brcmfmac/usb.c | 321 +-- .../net/wireless/brcm80211/brcmfmac/usb.h | 18 +- .../wireless/brcm80211/brcmfmac/wl_cfg80211.c | 2172 +++++---------- .../wireless/brcm80211/brcmfmac/wl_cfg80211.h | 257 +- .../net/wireless/brcm80211/brcmsmac/Makefile | 3 +- .../net/wireless/brcm80211/brcmsmac/aiutils.c | 4 +- .../net/wireless/brcm80211/brcmsmac/ampdu.c | 723 +++-- .../net/wireless/brcm80211/brcmsmac/ampdu.h | 29 +- .../net/wireless/brcm80211/brcmsmac/antsel.c | 4 +- .../brcm80211/brcmsmac/brcms_trace_events.h | 175 +- .../net/wireless/brcm80211/brcmsmac/channel.c | 10 +- .../net/wireless/brcm80211/brcmsmac/debug.c | 44 + .../net/wireless/brcm80211/brcmsmac/debug.h | 52 + .../net/wireless/brcm80211/brcmsmac/dma.c | 343 ++- .../net/wireless/brcm80211/brcmsmac/dma.h | 11 +- .../wireless/brcm80211/brcmsmac/mac80211_if.c | 123 +- .../net/wireless/brcm80211/brcmsmac/main.c | 1197 +++------ .../net/wireless/brcm80211/brcmsmac/main.h | 48 +- .../net/wireless/brcm80211/brcmsmac/pub.h | 37 - .../net/wireless/brcm80211/brcmsmac/stf.c | 8 +- .../net/wireless/brcm80211/brcmsmac/types.h | 3 +- .../net/wireless/brcm80211/include/defs.h | 11 +- .../net/wireless/hostap/hostap_80211_rx.c | 2 +- trunk/drivers/net/wireless/ipw2x00/ipw2100.c | 5 +- trunk/drivers/net/wireless/ipw2x00/ipw2200.c | 42 +- trunk/drivers/net/wireless/ipw2x00/libipw.h | 2 +- .../drivers/net/wireless/ipw2x00/libipw_geo.c | 3 +- .../drivers/net/wireless/ipw2x00/libipw_rx.c | 6 +- trunk/drivers/net/wireless/iwlegacy/3945.c | 2 +- .../drivers/net/wireless/iwlegacy/4965-mac.c | 4 +- trunk/drivers/net/wireless/iwlegacy/common.h | 5 +- trunk/drivers/net/wireless/iwlwifi/Kconfig | 9 - trunk/drivers/net/wireless/iwlwifi/dvm/agn.h | 4 +- .../net/wireless/iwlwifi/dvm/commands.h | 7 +- .../net/wireless/iwlwifi/dvm/debugfs.c | 2 +- trunk/drivers/net/wireless/iwlwifi/dvm/dev.h | 1 - .../net/wireless/iwlwifi/dvm/devices.c | 39 +- trunk/drivers/net/wireless/iwlwifi/dvm/lib.c | 37 +- .../net/wireless/iwlwifi/dvm/mac80211.c | 32 +- trunk/drivers/net/wireless/iwlwifi/dvm/main.c | 31 +- trunk/drivers/net/wireless/iwlwifi/dvm/rx.c | 6 +- trunk/drivers/net/wireless/iwlwifi/dvm/tx.c | 9 +- .../drivers/net/wireless/iwlwifi/dvm/ucode.c | 2 +- .../drivers/net/wireless/iwlwifi/iwl-config.h | 2 +- .../net/wireless/iwlwifi/iwl-devtrace.h | 95 +- .../net/wireless/iwlwifi/iwl-eeprom-parse.c | 4 +- trunk/drivers/net/wireless/iwlwifi/iwl-fh.h | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-io.c | 4 +- trunk/drivers/net/wireless/iwlwifi/iwl-io.h | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-prph.h | 3 + .../drivers/net/wireless/iwlwifi/iwl-trans.h | 35 +- trunk/drivers/net/wireless/iwlwifi/pcie/drv.c | 1 - .../net/wireless/iwlwifi/pcie/internal.h | 117 +- trunk/drivers/net/wireless/iwlwifi/pcie/rx.c | 422 ++- .../drivers/net/wireless/iwlwifi/pcie/trans.c | 1046 +------- trunk/drivers/net/wireless/iwlwifi/pcie/tx.c | 1275 +++++++-- trunk/drivers/net/wireless/libertas/cfg.c | 24 +- trunk/drivers/net/wireless/libertas/if_sdio.c | 39 +- trunk/drivers/net/wireless/libertas/mesh.c | 2 +- trunk/drivers/net/wireless/mac80211_hwsim.c | 580 +++- trunk/drivers/net/wireless/mwifiex/11n_aggr.c | 8 +- .../net/wireless/mwifiex/11n_rxreorder.c | 8 +- trunk/drivers/net/wireless/mwifiex/Kconfig | 1 - trunk/drivers/net/wireless/mwifiex/cfg80211.c | 79 +- trunk/drivers/net/wireless/mwifiex/cmdevt.c | 35 +- trunk/drivers/net/wireless/mwifiex/debugfs.c | 10 +- trunk/drivers/net/wireless/mwifiex/init.c | 39 +- trunk/drivers/net/wireless/mwifiex/join.c | 6 +- trunk/drivers/net/wireless/mwifiex/main.c | 94 +- trunk/drivers/net/wireless/mwifiex/main.h | 19 +- trunk/drivers/net/wireless/mwifiex/scan.c | 68 +- trunk/drivers/net/wireless/mwifiex/sdio.c | 50 +- trunk/drivers/net/wireless/mwifiex/sdio.h | 1 + .../net/wireless/mwifiex/sta_cmdresp.c | 4 - .../drivers/net/wireless/mwifiex/sta_event.c | 10 +- .../drivers/net/wireless/mwifiex/sta_ioctl.c | 13 +- trunk/drivers/net/wireless/mwifiex/sta_rx.c | 26 +- trunk/drivers/net/wireless/mwifiex/txrx.c | 38 +- trunk/drivers/net/wireless/mwifiex/uap_cmd.c | 11 +- .../drivers/net/wireless/mwifiex/uap_event.c | 7 + trunk/drivers/net/wireless/mwifiex/uap_txrx.c | 17 +- trunk/drivers/net/wireless/mwifiex/usb.c | 2 +- trunk/drivers/net/wireless/mwifiex/util.c | 19 +- trunk/drivers/net/wireless/mwifiex/wmm.c | 12 +- trunk/drivers/net/wireless/mwifiex/wmm.h | 2 + trunk/drivers/net/wireless/mwl8k.c | 57 +- trunk/drivers/net/wireless/orinoco/cfg.c | 11 +- trunk/drivers/net/wireless/orinoco/main.h | 2 +- .../net/wireless/orinoco/orinoco_usb.c | 9 +- trunk/drivers/net/wireless/p54/txrx.c | 6 +- trunk/drivers/net/wireless/rndis_wlan.c | 12 +- trunk/drivers/net/wireless/rt2x00/rt2500usb.c | 1 + trunk/drivers/net/wireless/rt2x00/rt2800lib.c | 102 +- trunk/drivers/net/wireless/rt2x00/rt2800usb.c | 2 + trunk/drivers/net/wireless/rt2x00/rt2x00dev.c | 19 +- trunk/drivers/net/wireless/rt2x00/rt2x00mac.c | 6 +- trunk/drivers/net/wireless/rt2x00/rt73usb.c | 1 + .../net/wireless/rtl818x/rtl8180/dev.c | 2 +- .../net/wireless/rtl818x/rtl8187/dev.c | 2 +- trunk/drivers/net/wireless/rtlwifi/Kconfig | 11 + trunk/drivers/net/wireless/rtlwifi/Makefile | 4 +- trunk/drivers/net/wireless/rtlwifi/base.c | 24 + trunk/drivers/net/wireless/rtlwifi/base.h | 2 + trunk/drivers/net/wireless/rtlwifi/cam.c | 9 +- trunk/drivers/net/wireless/rtlwifi/core.c | 5 +- trunk/drivers/net/wireless/rtlwifi/debug.h | 2 + trunk/drivers/net/wireless/rtlwifi/pci.c | 20 +- trunk/drivers/net/wireless/rtlwifi/pci.h | 2 + trunk/drivers/net/wireless/rtlwifi/rc.c | 3 +- .../net/wireless/rtlwifi/rtl8192c/dm_common.c | 227 +- .../wireless/rtlwifi/rtl8192c/phy_common.c | 88 +- .../net/wireless/rtlwifi/rtl8192ce/def.h | 3 + .../net/wireless/rtlwifi/rtl8192ce/dm.c | 30 +- .../net/wireless/rtlwifi/rtl8192ce/hw.c | 93 +- .../net/wireless/rtlwifi/rtl8192ce/phy.c | 2 + .../net/wireless/rtlwifi/rtl8192ce/rf.c | 23 +- .../net/wireless/rtlwifi/rtl8192ce/sw.c | 6 +- .../net/wireless/rtlwifi/rtl8192ce/trx.c | 48 +- .../net/wireless/rtlwifi/rtl8192cu/dm.c | 30 +- .../net/wireless/rtlwifi/rtl8192cu/hw.c | 16 +- .../net/wireless/rtlwifi/rtl8192cu/mac.c | 25 +- .../net/wireless/rtlwifi/rtl8192cu/rf.c | 22 +- .../net/wireless/rtlwifi/rtl8192cu/sw.c | 1 + .../net/wireless/rtlwifi/rtl8192cu/trx.c | 2 +- .../net/wireless/rtlwifi/rtl8192de/dm.c | 95 +- .../net/wireless/rtlwifi/rtl8192de/phy.c | 65 +- .../net/wireless/rtlwifi/rtl8192de/rf.c | 18 +- .../net/wireless/rtlwifi/rtl8192de/trx.c | 41 +- .../net/wireless/rtlwifi/rtl8192se/dm.c | 89 +- .../net/wireless/rtlwifi/rtl8192se/hw.c | 6 +- .../net/wireless/rtlwifi/rtl8192se/phy.c | 64 +- .../net/wireless/rtlwifi/rtl8192se/rf.c | 11 +- .../net/wireless/rtlwifi/rtl8192se/trx.c | 23 +- .../net/wireless/rtlwifi/rtl8723ae/Makefile | 22 + .../net/wireless/rtlwifi/rtl8723ae/btc.h | 41 + .../net/wireless/rtlwifi/rtl8723ae/def.h | 163 ++ .../net/wireless/rtlwifi/rtl8723ae/dm.c | 920 +++++++ .../net/wireless/rtlwifi/rtl8723ae/dm.h | 149 ++ .../net/wireless/rtlwifi/rtl8723ae/fw.c | 745 ++++++ .../net/wireless/rtlwifi/rtl8723ae/fw.h | 101 + .../rtlwifi/rtl8723ae/hal_bt_coexist.c | 542 ++++ .../rtlwifi/rtl8723ae/hal_bt_coexist.h | 160 ++ .../net/wireless/rtlwifi/rtl8723ae/hal_btc.c | 1786 +++++++++++++ .../net/wireless/rtlwifi/rtl8723ae/hal_btc.h | 151 ++ .../net/wireless/rtlwifi/rtl8723ae/hw.c | 2380 +++++++++++++++++ .../net/wireless/rtlwifi/rtl8723ae/hw.h | 73 + .../net/wireless/rtlwifi/rtl8723ae/led.c | 151 ++ .../net/wireless/rtlwifi/rtl8723ae/led.h | 39 + .../net/wireless/rtlwifi/rtl8723ae/phy.c | 2044 ++++++++++++++ .../net/wireless/rtlwifi/rtl8723ae/phy.h | 224 ++ .../net/wireless/rtlwifi/rtl8723ae/pwrseq.c | 109 + .../net/wireless/rtlwifi/rtl8723ae/pwrseq.h | 322 +++ .../wireless/rtlwifi/rtl8723ae/pwrseqcmd.c | 129 + .../wireless/rtlwifi/rtl8723ae/pwrseqcmd.h | 98 + .../net/wireless/rtlwifi/rtl8723ae/reg.h | 2097 +++++++++++++++ .../net/wireless/rtlwifi/rtl8723ae/rf.c | 505 ++++ .../net/wireless/rtlwifi/rtl8723ae/rf.h | 43 + .../net/wireless/rtlwifi/rtl8723ae/sw.c | 387 +++ .../net/wireless/rtlwifi/rtl8723ae/sw.h | 37 + .../net/wireless/rtlwifi/rtl8723ae/table.c | 738 +++++ .../net/wireless/rtlwifi/rtl8723ae/table.h | 50 + .../net/wireless/rtlwifi/rtl8723ae/trx.c | 670 +++++ .../net/wireless/rtlwifi/rtl8723ae/trx.h | 725 +++++ trunk/drivers/net/wireless/rtlwifi/stats.c | 268 ++ trunk/drivers/net/wireless/rtlwifi/stats.h | 46 + trunk/drivers/net/wireless/rtlwifi/usb.c | 2 +- trunk/drivers/net/wireless/rtlwifi/wifi.h | 161 +- trunk/drivers/net/wireless/ti/wl1251/rx.c | 2 +- trunk/drivers/net/wireless/ti/wlcore/main.c | 11 +- trunk/drivers/net/xen-netfront.c | 98 +- trunk/drivers/nfc/Makefile | 2 +- trunk/drivers/nfc/pn533.c | 43 +- trunk/drivers/nfc/pn544/Makefile | 7 + trunk/drivers/nfc/pn544/i2c.c | 500 ++++ .../nfc/{pn544_hci.c => pn544/pn544.c} | 679 ++--- trunk/drivers/nfc/pn544/pn544.h | 32 + trunk/drivers/of/address.c | 24 +- trunk/drivers/of/irq.c | 8 +- trunk/drivers/of/platform.c | 2 +- trunk/drivers/pci/bus.c | 3 - trunk/drivers/pci/pci-driver.c | 12 +- trunk/drivers/pci/pci-sysfs.c | 34 - trunk/drivers/pci/pci.c | 32 + trunk/drivers/pci/pci.h | 2 + trunk/drivers/pci/pcie/aer/aerdrv_core.c | 20 +- trunk/drivers/pci/pcie/portdrv_core.c | 3 +- trunk/drivers/pci/proc.c | 8 + trunk/drivers/pcmcia/pxa2xx_sharpsl.c | 2 +- trunk/drivers/pinctrl/Kconfig | 4 +- trunk/drivers/pinctrl/core.c | 4 +- trunk/drivers/pinctrl/pinconf.c | 4 - trunk/drivers/pinctrl/pinctrl-bcm2835.c | 5 +- trunk/drivers/pinctrl/pinctrl-nomadik.c | 28 +- trunk/drivers/pinctrl/pinctrl-samsung.c | 10 +- trunk/drivers/pinctrl/pinctrl-sirf.c | 35 - trunk/drivers/pinctrl/pinctrl-tegra.c | 2 +- trunk/drivers/pinctrl/pinctrl-tegra30.c | 24 +- trunk/drivers/pinctrl/pinctrl-xway.c | 2 - trunk/drivers/pinctrl/spear/pinctrl-spear.c | 2 +- .../drivers/pinctrl/spear/pinctrl-spear1310.c | 365 ++- .../drivers/pinctrl/spear/pinctrl-spear1340.c | 41 +- .../drivers/pinctrl/spear/pinctrl-spear320.c | 8 +- .../drivers/pinctrl/spear/pinctrl-spear3xx.h | 1 + trunk/drivers/pps/Kconfig | 1 - trunk/drivers/ptp/Kconfig | 19 +- trunk/drivers/ptp/ptp_chardev.c | 61 +- trunk/drivers/rapidio/rio.c | 2 +- trunk/drivers/regulator/core.c | 33 +- trunk/drivers/rtc/rtc-imxdi.c | 2 + trunk/drivers/s390/char/con3215.c | 12 +- trunk/drivers/s390/cio/css.c | 7 +- trunk/drivers/s390/cio/css.h | 3 - trunk/drivers/s390/cio/device.c | 8 +- trunk/drivers/s390/cio/idset.c | 25 +- trunk/drivers/s390/cio/idset.h | 3 +- trunk/drivers/s390/net/claw.c | 2 - trunk/drivers/s390/net/ctcm_main.c | 2 - trunk/drivers/s390/net/ctcm_mpc.c | 3 - trunk/drivers/s390/net/qeth_core.h | 1 + trunk/drivers/s390/net/qeth_core_main.c | 73 +- trunk/drivers/s390/net/qeth_l2_main.c | 28 +- trunk/drivers/s390/net/qeth_l3_main.c | 19 +- trunk/drivers/s390/net/smsgiucv.c | 2 +- trunk/drivers/scsi/arm/fas216.c | 2 +- trunk/drivers/scsi/arm/oak.c | 1 + trunk/drivers/scsi/isci/request.c | 2 +- trunk/drivers/scsi/qla2xxx/qla_mid.c | 3 + trunk/drivers/scsi/qla2xxx/qla_target.c | 25 +- trunk/drivers/scsi/qla2xxx/qla_target.h | 1 + trunk/drivers/scsi/qla2xxx/tcm_qla2xxx.c | 77 +- trunk/drivers/scsi/qla2xxx/tcm_qla2xxx.h | 2 + trunk/drivers/scsi/qlogicpti.c | 13 +- trunk/drivers/scsi/scsi.c | 45 + trunk/drivers/scsi/scsi_lib.c | 22 +- trunk/drivers/scsi/sd.c | 202 +- trunk/drivers/scsi/sd.h | 7 + trunk/drivers/sh/intc/access.c | 45 +- trunk/drivers/sh/intc/chip.c | 4 +- trunk/drivers/spi/spi-mxs.c | 3 +- trunk/drivers/spi/spi-pl022.c | 3 - trunk/drivers/spi/spi-rspi.c | 56 +- trunk/drivers/spi/spi-s3c64xx.c | 6 +- trunk/drivers/ssb/b43_pci_bridge.c | 1 + trunk/drivers/ssb/driver_chipcommon_pmu.c | 3 + trunk/drivers/ssb/driver_mipscore.c | 16 +- trunk/drivers/staging/android/android_alarm.h | 4 +- trunk/drivers/staging/android/binder.c | 30 +- .../drivers/staging/comedi/drivers/8255_pci.c | 2 + .../staging/comedi/drivers/amplc_dio200.c | 2 + .../staging/comedi/drivers/amplc_pc236.c | 5 +- .../staging/comedi/drivers/amplc_pc263.c | 2 + trunk/drivers/staging/comedi/drivers/das08.c | 2 + .../staging/comedi/drivers/ni_daq_700.c | 2 +- .../drivers/staging/comedi/drivers/ni_labpc.c | 2 + trunk/drivers/staging/dgrp/dgrp_mon_ops.c | 1 + trunk/drivers/staging/dgrp/dgrp_specproc.c | 7 + trunk/drivers/staging/dgrp/dgrp_tty.c | 10 + .../staging/iio/accel/adis16201_core.c | 24 +- .../staging/iio/accel/adis16203_core.c | 20 +- .../staging/iio/accel/adis16204_core.c | 22 +- .../staging/iio/accel/adis16209_core.c | 18 +- .../staging/iio/accel/adis16220_core.c | 19 +- .../staging/iio/accel/adis16240_core.c | 23 +- .../drivers/staging/iio/gyro/adis16260_core.c | 29 +- trunk/drivers/staging/iio/imu/adis16400.h | 2 + .../drivers/staging/iio/imu/adis16400_core.c | 70 +- trunk/drivers/staging/ipack/bridges/tpci200.c | 1 + trunk/drivers/staging/omapdrm/omap_gem.c | 4 +- trunk/drivers/staging/ramster/Kconfig | 1 + .../staging/tidspbridge/core/tiomap3430.c | 37 +- trunk/drivers/staging/tidspbridge/hw/hw_mmu.c | 115 +- trunk/drivers/staging/tidspbridge/hw/hw_mmu.h | 31 +- .../tidspbridge/include/dspbridge/cfgdefs.h | 4 +- .../tidspbridge/include/dspbridge/host_os.h | 4 +- trunk/drivers/staging/tidspbridge/rmgr/drv.c | 8 +- trunk/drivers/staging/tidspbridge/rmgr/node.c | 21 +- trunk/drivers/staging/zram/zram_drv.c | 12 +- trunk/drivers/target/iscsi/iscsi_target.c | 4 +- .../drivers/target/iscsi/iscsi_target_core.h | 1 + .../drivers/target/iscsi/iscsi_target_login.c | 1 + .../drivers/target/iscsi/iscsi_target_util.c | 22 +- .../drivers/target/iscsi/iscsi_target_util.h | 1 + trunk/drivers/target/target_core_configfs.c | 3 +- trunk/drivers/target/target_core_device.c | 18 +- trunk/drivers/target/target_core_sbc.c | 18 + trunk/drivers/target/target_core_spc.c | 2 + trunk/drivers/target/target_core_tmr.c | 6 +- trunk/drivers/target/target_core_transport.c | 1 - trunk/drivers/thermal/Kconfig | 2 + trunk/drivers/thermal/exynos_thermal.c | 2 +- trunk/drivers/thermal/rcar_thermal.c | 2 +- trunk/drivers/tty/hvc/hvc_console.c | 7 - trunk/drivers/tty/serial/8250/8250_hp300.c | 20 +- trunk/drivers/tty/serial/Kconfig | 4 +- trunk/drivers/tty/serial/max310x.c | 1 + trunk/drivers/tty/serial/omap-serial.c | 12 +- trunk/drivers/tty/serial/sccnxp.c | 1 + trunk/drivers/tty/serial/sh-sci.c | 3 +- trunk/drivers/tty/sysrq.c | 1 + trunk/drivers/tty/vt/vt.c | 8 +- trunk/drivers/usb/class/cdc-acm.c | 22 +- trunk/drivers/usb/core/devio.c | 1 + trunk/drivers/usb/core/driver.c | 4 + trunk/drivers/usb/core/hcd.c | 16 + trunk/drivers/usb/core/hub.c | 43 +- trunk/drivers/usb/dwc3/core.c | 4 + trunk/drivers/usb/dwc3/gadget.c | 2 +- trunk/drivers/usb/early/ehci-dbgp.c | 15 +- trunk/drivers/usb/gadget/Kconfig | 1 + trunk/drivers/usb/gadget/lpc32xx_udc.c | 4 +- trunk/drivers/usb/gadget/net2272.c | 4 +- trunk/drivers/usb/gadget/u_ether.c | 3 +- trunk/drivers/usb/host/ehci-fsl.c | 2 +- trunk/drivers/usb/host/ehci-ls1x.c | 2 +- trunk/drivers/usb/host/ehci-orion.c | 2 +- trunk/drivers/usb/host/ehci-vt8500.c | 10 + trunk/drivers/usb/host/ohci-xls.c | 2 +- trunk/drivers/usb/host/pci-quirks.c | 9 +- trunk/drivers/usb/host/uhci-platform.c | 9 + trunk/drivers/usb/host/xhci-dbg.c | 2 - trunk/drivers/usb/host/xhci-hub.c | 9 +- trunk/drivers/usb/host/xhci-ring.c | 11 + trunk/drivers/usb/host/xhci.c | 11 +- trunk/drivers/usb/misc/ezusb.c | 1 + trunk/drivers/usb/musb/am35x.c | 6 + trunk/drivers/usb/musb/musb_dsps.c | 8 +- trunk/drivers/usb/musb/musb_gadget.c | 30 +- trunk/drivers/usb/musb/ux500.c | 2 +- trunk/drivers/usb/otg/Kconfig | 4 +- trunk/drivers/usb/renesas_usbhs/fifo.c | 1 + trunk/drivers/usb/renesas_usbhs/mod.c | 6 +- trunk/drivers/usb/renesas_usbhs/mod_host.c | 5 + trunk/drivers/usb/renesas_usbhs/pipe.h | 2 +- trunk/drivers/usb/serial/ark3116.c | 26 +- trunk/drivers/usb/serial/belkin_sa.c | 31 +- trunk/drivers/usb/serial/ch341.c | 23 +- trunk/drivers/usb/serial/cp210x.c | 40 +- trunk/drivers/usb/serial/cyberjack.c | 49 +- trunk/drivers/usb/serial/cypress_m8.c | 75 +- trunk/drivers/usb/serial/digi_acceleport.c | 117 +- trunk/drivers/usb/serial/f81232.c | 43 +- trunk/drivers/usb/serial/garmin_gps.c | 24 +- trunk/drivers/usb/serial/io_edgeport.c | 54 +- trunk/drivers/usb/serial/io_tables.h | 8 + trunk/drivers/usb/serial/io_ti.c | 91 +- trunk/drivers/usb/serial/ipw.c | 7 +- trunk/drivers/usb/serial/iuu_phoenix.c | 76 +- trunk/drivers/usb/serial/keyspan.c | 180 +- trunk/drivers/usb/serial/keyspan.h | 8 + trunk/drivers/usb/serial/keyspan_pda.c | 30 +- trunk/drivers/usb/serial/kl5kusb105.c | 68 +- trunk/drivers/usb/serial/kobil_sct.c | 23 +- trunk/drivers/usb/serial/mct_u232.c | 59 +- trunk/drivers/usb/serial/metro-usb.c | 65 +- trunk/drivers/usb/serial/mos7720.c | 62 +- trunk/drivers/usb/serial/mos7840.c | 495 ++-- trunk/drivers/usb/serial/omninet.c | 36 +- trunk/drivers/usb/serial/opticon.c | 11 +- trunk/drivers/usb/serial/option.c | 116 +- trunk/drivers/usb/serial/oti6858.c | 68 +- trunk/drivers/usb/serial/pl2303.c | 90 +- trunk/drivers/usb/serial/qcserial.c | 33 +- trunk/drivers/usb/serial/quatech2.c | 135 +- trunk/drivers/usb/serial/sierra.c | 133 +- trunk/drivers/usb/serial/spcp8x5.c | 46 +- trunk/drivers/usb/serial/ssu100.c | 34 +- trunk/drivers/usb/serial/ti_usb_3410_5052.c | 88 +- trunk/drivers/usb/serial/usb-wwan.h | 2 +- trunk/drivers/usb/serial/usb_wwan.c | 130 +- trunk/drivers/usb/serial/whiteheat.c | 60 +- trunk/drivers/usb/storage/scsiglue.c | 6 + trunk/drivers/usb/storage/unusual_devs.h | 6 + trunk/drivers/vhost/net.c | 114 +- trunk/drivers/vhost/tcm_vhost.c | 2 +- trunk/drivers/vhost/vhost.c | 54 +- trunk/drivers/vhost/vhost.h | 11 +- trunk/drivers/video/backlight/Kconfig | 3 +- trunk/drivers/video/backlight/lm3639_bl.c | 4 +- trunk/drivers/video/omap2/dss/dsi.c | 13 +- trunk/drivers/video/omap2/dss/dss.c | 18 +- trunk/drivers/video/omap2/dss/hdmi.c | 4 +- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 2 +- trunk/drivers/video/xen-fbfront.c | 5 +- trunk/drivers/virtio/virtio.c | 4 +- trunk/drivers/xen/Kconfig | 2 + trunk/drivers/xen/Makefile | 1 + trunk/drivers/xen/balloon.c | 3 +- trunk/drivers/xen/dbgp.c | 2 + trunk/drivers/xen/events.c | 6 +- trunk/drivers/xen/fallback.c | 80 + trunk/drivers/xen/gntdev.c | 36 +- trunk/drivers/xen/grant-table.c | 8 +- trunk/drivers/xen/privcmd.c | 18 +- trunk/drivers/xen/sys-hypervisor.c | 4 +- trunk/drivers/xen/xen-pciback/vpci.c | 14 +- .../drivers/xen/xenbus/xenbus_dev_frontend.c | 2 +- trunk/drivers/xen/xenbus/xenbus_xs.c | 4 +- trunk/fs/bio.c | 6 +- trunk/fs/block_dev.c | 37 +- trunk/fs/btrfs/backref.c | 28 +- trunk/fs/btrfs/backref.h | 4 + trunk/fs/btrfs/ctree.c | 70 +- trunk/fs/btrfs/ctree.h | 3 + trunk/fs/btrfs/extent_io.c | 4 +- trunk/fs/btrfs/inode.c | 7 +- trunk/fs/btrfs/ioctl.c | 6 +- trunk/fs/btrfs/qgroup.c | 17 +- trunk/fs/btrfs/send.c | 156 +- trunk/fs/btrfs/transaction.c | 2 +- trunk/fs/btrfs/volumes.c | 7 + trunk/fs/ceph/export.c | 2 + trunk/fs/char_dev.c | 18 +- trunk/fs/cifs/cifsacl.c | 49 +- trunk/fs/cifs/dir.c | 11 +- trunk/fs/compat_ioctl.c | 2 + trunk/fs/coredump.c | 5 +- trunk/fs/eventpoll.c | 38 +- trunk/fs/exec.c | 3 +- trunk/fs/ext2/super.c | 4 +- trunk/fs/ext3/balloc.c | 5 +- trunk/fs/ext3/namei.c | 40 +- trunk/fs/ext3/namei.h | 19 + trunk/fs/ext3/super.c | 4 +- trunk/fs/ext4/balloc.c | 8 +- trunk/fs/ext4/bitmap.c | 6 +- trunk/fs/ext4/ext4.h | 7 +- trunk/fs/ext4/ext4_jbd2.c | 8 +- trunk/fs/ext4/extents.c | 60 +- trunk/fs/ext4/ialloc.c | 23 +- trunk/fs/ext4/mballoc.c | 14 +- trunk/fs/ext4/resize.c | 3 +- trunk/fs/ext4/super.c | 9 +- trunk/fs/file.c | 5 +- trunk/fs/fs-writeback.c | 2 + trunk/fs/gfs2/file.c | 14 +- trunk/fs/gfs2/lops.c | 16 +- trunk/fs/gfs2/quota.c | 7 +- trunk/fs/gfs2/rgrp.c | 33 +- trunk/fs/gfs2/super.c | 3 +- trunk/fs/gfs2/trans.c | 8 + trunk/fs/inode.c | 16 +- trunk/fs/internal.h | 1 + trunk/fs/jbd/transaction.c | 2 + trunk/fs/jffs2/file.c | 39 +- trunk/fs/jfs/jfs_discard.c | 16 +- trunk/fs/lockd/clntxdr.c | 2 +- trunk/fs/lockd/mon.c | 57 +- trunk/fs/lockd/svcproc.c | 3 +- trunk/fs/namei.c | 4 +- trunk/fs/nfs/callback.c | 2 +- trunk/fs/nfs/dns_resolve.c | 5 +- trunk/fs/nfs/inode.c | 5 +- trunk/fs/nfs/internal.h | 6 +- trunk/fs/nfs/mount_clnt.c | 2 +- trunk/fs/nfs/namespace.c | 19 +- trunk/fs/nfs/nfs4filelayout.c | 21 +- trunk/fs/nfs/nfs4filelayout.h | 1 - trunk/fs/nfs/nfs4filelayoutdev.c | 22 - trunk/fs/nfs/nfs4getroot.c | 1 + trunk/fs/nfs/nfs4namespace.c | 3 +- trunk/fs/nfs/nfs4proc.c | 46 +- trunk/fs/nfs/objlayout/objio_osd.c | 6 +- trunk/fs/nfs/pnfs.c | 4 +- trunk/fs/nfs/pnfs.h | 1 + trunk/fs/nfs/super.c | 51 +- trunk/fs/nfs/unlink.c | 2 +- trunk/fs/notify/fanotify/fanotify.c | 1 + trunk/fs/notify/fanotify/fanotify_user.c | 3 +- trunk/fs/proc/base.c | 114 +- trunk/fs/proc/internal.h | 4 + trunk/fs/proc/proc_sysctl.c | 9 +- trunk/fs/proc/stat.c | 14 +- trunk/fs/proc/task_mmu.c | 53 +- trunk/fs/pstore/platform.c | 3 +- trunk/fs/quota/dquot.c | 2 + trunk/fs/reiserfs/inode.c | 10 +- trunk/fs/reiserfs/stree.c | 4 + trunk/fs/reiserfs/super.c | 60 +- trunk/fs/sysfs/dir.c | 16 +- trunk/fs/ubifs/find.c | 12 +- trunk/fs/ubifs/lprops.c | 6 + trunk/fs/ubifs/ubifs.h | 3 + trunk/fs/xattr.c | 2 +- trunk/fs/xfs/xfs_alloc.c | 43 +- trunk/fs/xfs/xfs_alloc.h | 3 - trunk/fs/xfs/xfs_alloc_btree.c | 2 + trunk/fs/xfs/xfs_aops.c | 54 +- trunk/fs/xfs/xfs_attr_leaf.c | 20 +- trunk/fs/xfs/xfs_bmap.c | 63 +- trunk/fs/xfs/xfs_bmap.h | 9 +- trunk/fs/xfs/xfs_buf.c | 14 +- trunk/fs/xfs/xfs_buf_item.c | 18 + trunk/fs/xfs/xfs_fsops.c | 21 +- trunk/fs/xfs/xfs_ialloc.c | 1 + trunk/fs/xfs/xfs_inode.c | 3 +- trunk/fs/xfs/xfs_ioctl.c | 2 +- trunk/fs/xfs/xfs_iomap.c | 4 +- trunk/fs/xfs/xfs_log.c | 19 +- trunk/fs/xfs/xfs_log_recover.c | 2 +- trunk/include/Kbuild | 4 - trunk/include/asm-generic/Kbuild | 0 trunk/include/drm/Kbuild | 0 trunk/include/drm/drm_pciids.h | 4 + trunk/include/linux/Kbuild | 26 - trunk/include/linux/bcma/bcma.h | 7 +- .../linux/bcma/bcma_driver_chipcommon.h | 5 + trunk/include/linux/bcma/bcma_driver_mips.h | 3 + trunk/include/linux/bcma/bcma_regs.h | 5 +- trunk/include/linux/bug.h | 1 + trunk/include/linux/byteorder/Kbuild | 0 trunk/include/linux/caif/Kbuild | 0 trunk/include/linux/can/Kbuild | 0 trunk/include/linux/clk-provider.h | 4 +- trunk/include/linux/coredump.h | 1 + trunk/include/linux/dvb/Kbuild | 8 - trunk/include/linux/dvb/dmx.h | 130 +- trunk/include/linux/dvb/video.h | 249 +- trunk/include/linux/dynamic_debug.h | 2 +- trunk/include/linux/elf-fdpic.h | 51 + trunk/include/linux/etherdevice.h | 20 + trunk/include/linux/extcon.h | 2 +- trunk/include/linux/filter.h | 3 + trunk/include/linux/fs.h | 126 + trunk/include/linux/gfp.h | 5 +- trunk/include/linux/hashtable.h | 192 ++ trunk/include/linux/hdlc/Kbuild | 1 - trunk/include/linux/hsi/Kbuild | 1 - trunk/include/linux/i2c-omap.h | 1 + trunk/include/linux/ieee80211.h | 119 +- trunk/include/linux/if_tunnel.h | 17 + trunk/include/linux/iio/iio.h | 16 + trunk/include/linux/ipv6.h | 1 + trunk/include/linux/isdn/Kbuild | 0 trunk/include/linux/ktime.h | 19 + trunk/include/linux/kvm_host.h | 15 +- trunk/include/linux/memblock.h | 1 + trunk/include/linux/mfd/max77693.h | 13 + trunk/include/linux/micrel_phy.h | 1 + trunk/include/linux/mm.h | 4 - trunk/include/linux/mmc/Kbuild | 0 trunk/include/linux/mmc/dw_mmc.h | 6 +- trunk/include/linux/mmc/sdhci.h | 1 + trunk/include/linux/mmzone.h | 2 +- trunk/include/linux/netdevice.h | 38 +- trunk/include/linux/netfilter/Kbuild | 1 - trunk/include/linux/netfilter/ipset/Kbuild | 0 trunk/include/linux/netfilter_arp/Kbuild | 0 trunk/include/linux/netfilter_bridge/Kbuild | 0 trunk/include/linux/netfilter_ipv4/Kbuild | 0 trunk/include/linux/netfilter_ipv6/Kbuild | 0 trunk/include/linux/nfc/pn544.h | 104 - trunk/include/linux/nfsd/Kbuild | 0 trunk/include/linux/of.h | 7 + trunk/include/linux/of_address.h | 8 +- trunk/include/linux/of_irq.h | 4 +- trunk/include/linux/pci.h | 14 + trunk/include/linux/percpu-rwsem.h | 28 +- trunk/include/linux/perf_event.h | 10 +- trunk/include/linux/pid_namespace.h | 8 +- trunk/include/linux/platform_data/cpsw.h | 23 +- trunk/include/linux/platform_data/macb.h | 1 + .../linux/platform_data/omap_ocp2scp.h | 31 + trunk/include/linux/platform_data/pn544.h | 44 + trunk/include/linux/ptp_clock_kernel.h | 3 +- trunk/include/linux/raid/Kbuild | 2 - trunk/include/linux/raid/md_u.h | 141 +- trunk/include/linux/ratelimit.h | 27 +- trunk/include/linux/rbtree_augmented.h | 1 + trunk/include/linux/rio.h | 2 + trunk/include/linux/rtnetlink.h | 3 + trunk/include/linux/skbuff.h | 7 +- trunk/include/linux/spi/Kbuild | 0 trunk/include/linux/spi/ads7846.h | 5 +- trunk/include/linux/spi/tsc2005.h | 2 - trunk/include/linux/ssb/ssb_driver_mips.h | 10 +- trunk/include/linux/ssb/ssb_regs.h | 2 +- trunk/include/linux/stmmac.h | 1 + trunk/include/linux/sunrpc/Kbuild | 0 trunk/include/linux/sysctl.h | 3 +- trunk/include/linux/tc_act/Kbuild | 0 trunk/include/linux/tc_ematch/Kbuild | 0 trunk/include/linux/tcp.h | 3 +- trunk/include/linux/timecompare.h | 125 - trunk/include/linux/uprobes.h | 11 - trunk/include/linux/usb.h | 11 - trunk/include/linux/usb/Kbuild | 10 - trunk/include/linux/usb/audio.h | 524 +--- trunk/include/linux/usb/cdc_ncm.h | 134 + trunk/include/linux/usb/ch9.h | 960 +------ trunk/include/linux/usb/functionfs.h | 167 +- trunk/include/linux/usb/usbnet.h | 10 + trunk/include/linux/wimax/Kbuild | 0 trunk/include/media/adv7604.h | 21 +- trunk/include/mtd/Kbuild | 0 trunk/include/net/af_unix.h | 1 - trunk/include/net/bluetooth/a2mp.h | 24 +- trunk/include/net/bluetooth/amp.h | 54 + trunk/include/net/bluetooth/bluetooth.h | 1 - trunk/include/net/bluetooth/hci.h | 69 +- trunk/include/net/bluetooth/hci_core.h | 96 +- trunk/include/net/bluetooth/l2cap.h | 48 +- trunk/include/net/cfg80211.h | 247 +- trunk/include/net/cls_cgroup.h | 6 +- trunk/include/net/ip6_checksum.h | 35 + trunk/include/net/ip6_fib.h | 20 +- trunk/include/net/ip6_route.h | 3 - trunk/include/net/ip_vs.h | 195 +- trunk/include/net/ipip.h | 40 +- trunk/include/net/mac80211.h | 260 +- trunk/include/net/net_namespace.h | 24 +- trunk/include/net/netns/sctp.h | 3 + trunk/include/net/nfc/hci.h | 21 +- trunk/include/net/nfc/nfc.h | 2 +- trunk/include/net/protocol.h | 31 +- trunk/include/net/request_sock.h | 12 +- trunk/include/net/route.h | 9 +- trunk/include/net/sctp/command.h | 38 +- trunk/include/net/sctp/constants.h | 8 - trunk/include/net/sctp/sm.h | 2 + trunk/include/net/sctp/structs.h | 1 + trunk/include/net/sctp/ulpqueue.h | 2 +- trunk/include/net/tcp.h | 1 - trunk/include/net/xfrm.h | 2 +- trunk/include/scsi/scsi_device.h | 4 + trunk/include/sound/core.h | 3 + trunk/include/trace/events/gfpflags.h | 1 + trunk/include/trace/events/xen.h | 8 + trunk/include/uapi/asm-generic/kvm_para.h | 4 + trunk/include/uapi/asm-generic/socket.h | 1 + trunk/include/uapi/linux/dvb/Kbuild | 8 + trunk/include/{ => uapi}/linux/dvb/audio.h | 0 trunk/include/{ => uapi}/linux/dvb/ca.h | 0 trunk/include/uapi/linux/dvb/dmx.h | 155 ++ trunk/include/{ => uapi}/linux/dvb/frontend.h | 0 trunk/include/{ => uapi}/linux/dvb/net.h | 0 trunk/include/{ => uapi}/linux/dvb/osd.h | 0 trunk/include/{ => uapi}/linux/dvb/version.h | 0 trunk/include/uapi/linux/dvb/video.h | 274 ++ trunk/include/uapi/linux/elf-fdpic.h | 42 +- trunk/include/uapi/linux/eventpoll.h | 1 - trunk/include/uapi/linux/filter.h | 4 +- trunk/include/uapi/linux/fs.h | 132 - trunk/include/uapi/linux/hdlc/Kbuild | 1 + trunk/include/{ => uapi}/linux/hdlc/ioctl.h | 7 +- trunk/include/uapi/linux/hsi/Kbuild | 1 + trunk/include/{ => uapi}/linux/hsi/hsi_char.h | 0 trunk/include/uapi/linux/if_bridge.h | 18 + trunk/include/uapi/linux/if_ether.h | 1 + trunk/include/uapi/linux/if_link.h | 21 + trunk/include/uapi/linux/if_packet.h | 1 + trunk/include/uapi/linux/if_tun.h | 5 + trunk/include/uapi/linux/if_tunnel.h | 20 + trunk/include/uapi/linux/in6.h | 1 + trunk/include/uapi/linux/inet_diag.h | 3 +- trunk/include/uapi/linux/ipv6.h | 1 + trunk/include/uapi/linux/ipv6_route.h | 3 + trunk/include/uapi/linux/irqnr.h | 4 + trunk/include/uapi/linux/netconf.h | 23 + .../uapi/linux/netfilter_ipv6/ip6_tables.h | 3 + trunk/include/uapi/linux/nfc.h | 15 + trunk/include/uapi/linux/nl80211.h | 161 +- trunk/include/uapi/linux/oom.h | 9 + trunk/include/uapi/linux/ptp_clock.h | 14 + trunk/include/uapi/linux/raid/Kbuild | 2 + trunk/include/{ => uapi}/linux/raid/md_p.h | 0 trunk/include/uapi/linux/raid/md_u.h | 155 ++ trunk/include/uapi/linux/rtnetlink.h | 9 + trunk/include/uapi/linux/tcp.h | 1 + trunk/include/uapi/linux/unix_diag.h | 1 + trunk/include/uapi/linux/usb/Kbuild | 10 + trunk/include/uapi/linux/usb/audio.h | 545 ++++ trunk/include/{ => uapi}/linux/usb/cdc.h | 23 + trunk/include/{ => uapi}/linux/usb/ch11.h | 0 trunk/include/uapi/linux/usb/ch9.h | 993 +++++++ trunk/include/uapi/linux/usb/functionfs.h | 169 ++ .../include/{ => uapi}/linux/usb/g_printer.h | 0 trunk/include/{ => uapi}/linux/usb/gadgetfs.h | 0 trunk/include/{ => uapi}/linux/usb/midi.h | 0 trunk/include/{ => uapi}/linux/usb/tmc.h | 0 trunk/include/{ => uapi}/linux/usb/video.h | 0 trunk/include/xen/Kbuild | 0 trunk/include/xen/grant_table.h | 2 +- trunk/include/xen/hvm.h | 34 +- trunk/include/xen/interface/grant_table.h | 2 +- trunk/include/xen/interface/memory.h | 24 +- trunk/init/main.c | 2 + trunk/kernel/Makefile | 6 +- trunk/kernel/cgroup.c | 41 +- trunk/kernel/events/uprobes.c | 345 ++- trunk/kernel/futex.c | 59 +- trunk/kernel/module-internal.h | 3 +- trunk/kernel/module.c | 53 +- trunk/kernel/module_signing.c | 24 +- trunk/kernel/nsproxy.c | 2 +- trunk/kernel/pid_namespace.c | 33 +- trunk/kernel/printk.c | 1 - trunk/kernel/sys.c | 12 +- trunk/kernel/time/Makefile | 2 +- trunk/kernel/time/timecompare.c | 193 -- trunk/kernel/trace/ring_buffer.c | 4 + trunk/kernel/watchdog.c | 4 +- trunk/kernel/workqueue.c | 2 +- trunk/lib/dma-debug.c | 4 +- trunk/lib/genalloc.c | 2 +- trunk/lib/mpi/longlong.h | 19 +- trunk/mm/bootmem.c | 10 +- trunk/mm/compaction.c | 2 +- trunk/mm/fremap.c | 2 +- trunk/mm/highmem.c | 2 +- trunk/mm/huge_memory.c | 1 + trunk/mm/memblock.c | 24 + trunk/mm/memcontrol.c | 67 +- trunk/mm/memory.c | 10 +- trunk/mm/memory_hotplug.c | 7 - trunk/mm/mempolicy.c | 5 +- trunk/mm/mmap.c | 2 + trunk/mm/mmu_notifier.c | 26 +- trunk/mm/mmzone.c | 6 +- trunk/mm/nobootmem.c | 3 - trunk/mm/page_alloc.c | 51 +- trunk/mm/rmap.c | 20 +- trunk/mm/shmem.c | 18 +- trunk/mm/slob.c | 6 +- trunk/mm/swapfile.c | 4 +- trunk/mm/vmscan.c | 64 +- trunk/net/8021q/vlan.c | 18 +- trunk/net/8021q/vlan_core.c | 9 +- trunk/net/8021q/vlan_dev.c | 12 +- trunk/net/atm/br2684.c | 36 +- trunk/net/batman-adv/Kconfig | 11 + trunk/net/batman-adv/Makefile | 1 + trunk/net/batman-adv/bat_iv_ogm.c | 51 +- trunk/net/batman-adv/bitarray.c | 23 +- trunk/net/batman-adv/bridge_loop_avoidance.c | 148 +- trunk/net/batman-adv/bridge_loop_avoidance.h | 6 +- trunk/net/batman-adv/debugfs.c | 60 +- trunk/net/batman-adv/distributed-arp-table.c | 1066 ++++++++ trunk/net/batman-adv/distributed-arp-table.h | 167 ++ trunk/net/batman-adv/gateway_client.c | 19 +- trunk/net/batman-adv/hard-interface.c | 48 +- trunk/net/batman-adv/hash.h | 22 + trunk/net/batman-adv/icmp_socket.c | 16 +- trunk/net/batman-adv/main.c | 89 +- trunk/net/batman-adv/main.h | 36 +- trunk/net/batman-adv/originator.c | 22 +- trunk/net/batman-adv/packet.h | 84 +- trunk/net/batman-adv/routing.c | 309 ++- trunk/net/batman-adv/send.c | 37 + trunk/net/batman-adv/send.h | 3 + trunk/net/batman-adv/soft-interface.c | 97 +- trunk/net/batman-adv/sysfs.c | 58 +- trunk/net/batman-adv/translation-table.c | 541 ++-- trunk/net/batman-adv/translation-table.h | 8 +- trunk/net/batman-adv/types.h | 104 +- trunk/net/batman-adv/unicast.c | 143 +- trunk/net/batman-adv/unicast.h | 36 +- trunk/net/batman-adv/vis.c | 44 +- trunk/net/bluetooth/Kconfig | 2 +- trunk/net/bluetooth/Makefile | 2 +- trunk/net/bluetooth/a2mp.c | 459 +++- trunk/net/bluetooth/af_bluetooth.c | 10 +- trunk/net/bluetooth/amp.c | 471 ++++ trunk/net/bluetooth/bnep/core.c | 3 +- trunk/net/bluetooth/bnep/netdev.c | 1 - trunk/net/bluetooth/cmtp/capi.c | 2 +- trunk/net/bluetooth/cmtp/core.c | 2 +- trunk/net/bluetooth/cmtp/sock.c | 2 +- trunk/net/bluetooth/hci_conn.c | 76 +- trunk/net/bluetooth/hci_core.c | 232 +- trunk/net/bluetooth/hci_event.c | 510 +++- trunk/net/bluetooth/hci_sysfs.c | 10 +- trunk/net/bluetooth/hidp/core.c | 8 +- trunk/net/bluetooth/l2cap_core.c | 1535 +++++++++-- trunk/net/bluetooth/l2cap_sock.c | 94 +- trunk/net/bluetooth/lib.c | 14 - trunk/net/bluetooth/mgmt.c | 117 +- trunk/net/bluetooth/rfcomm/core.c | 19 +- trunk/net/bluetooth/rfcomm/sock.c | 9 +- trunk/net/bluetooth/rfcomm/tty.c | 6 +- trunk/net/bluetooth/sco.c | 12 +- trunk/net/bluetooth/smp.c | 10 +- trunk/net/bridge/br_device.c | 4 +- trunk/net/bridge/br_input.c | 17 +- trunk/net/bridge/br_ioctl.c | 25 +- trunk/net/bridge/br_netlink.c | 247 +- trunk/net/bridge/br_private.h | 18 +- trunk/net/bridge/br_stp.c | 22 +- trunk/net/bridge/br_stp_bpdu.c | 7 + trunk/net/bridge/br_sysfs_br.c | 22 +- trunk/net/bridge/br_sysfs_if.c | 44 +- trunk/net/caif/cfctrl.c | 3 +- trunk/net/can/bcm.c | 3 + trunk/net/can/gw.c | 6 + trunk/net/ceph/messenger.c | 6 +- trunk/net/core/dev.c | 167 +- trunk/net/core/dev_addr_lists.c | 3 +- trunk/net/core/ethtool.c | 2 +- trunk/net/core/filter.c | 139 + trunk/net/core/flow.c | 4 +- trunk/net/core/neighbour.c | 4 + trunk/net/core/net-sysfs.c | 37 +- trunk/net/core/net_namespace.c | 23 +- trunk/net/core/netprio_cgroup.c | 2 +- trunk/net/core/pktgen.c | 47 +- trunk/net/core/rtnetlink.c | 229 +- trunk/net/core/scm.c | 6 +- trunk/net/core/skbuff.c | 30 +- trunk/net/core/sock.c | 84 +- trunk/net/core/sysctl_net_core.c | 5 + trunk/net/dcb/dcbnl.c | 3 + trunk/net/dccp/minisocks.c | 3 +- trunk/net/decnet/dn_dev.c | 6 + trunk/net/decnet/dn_fib.c | 6 + trunk/net/dsa/Kconfig | 18 +- trunk/net/ipv4/af_inet.c | 93 +- trunk/net/ipv4/arp.c | 2 +- trunk/net/ipv4/devinet.c | 192 +- trunk/net/ipv4/fib_frontend.c | 2 +- trunk/net/ipv4/fib_semantics.c | 2 +- trunk/net/ipv4/icmp.c | 3 +- trunk/net/ipv4/inet_connection_sock.c | 25 +- trunk/net/ipv4/inet_diag.c | 10 +- trunk/net/ipv4/ip_fragment.c | 4 + trunk/net/ipv4/ip_gre.c | 32 +- trunk/net/ipv4/ip_options.c | 6 +- trunk/net/ipv4/ip_sockglue.c | 40 +- trunk/net/ipv4/ip_vti.c | 31 +- trunk/net/ipv4/ipconfig.c | 6 +- trunk/net/ipv4/ipip.c | 271 +- trunk/net/ipv4/ipmr.c | 34 +- trunk/net/ipv4/netfilter/arp_tables.c | 8 +- trunk/net/ipv4/netfilter/ip_tables.c | 8 +- trunk/net/ipv4/netfilter/iptable_nat.c | 8 +- trunk/net/ipv4/protocol.c | 21 + trunk/net/ipv4/route.c | 22 +- trunk/net/ipv4/syncookies.c | 2 +- trunk/net/ipv4/sysctl_net_ipv4.c | 3 + trunk/net/ipv4/tcp.c | 21 +- trunk/net/ipv4/tcp_cong.c | 3 +- trunk/net/ipv4/tcp_illinois.c | 8 +- trunk/net/ipv4/tcp_input.c | 76 +- trunk/net/ipv4/tcp_ipv4.c | 39 +- trunk/net/ipv4/tcp_metrics.c | 14 +- trunk/net/ipv4/tcp_minisocks.c | 9 +- trunk/net/ipv4/tcp_output.c | 9 + trunk/net/ipv4/tcp_timer.c | 12 +- trunk/net/ipv4/xfrm4_policy.c | 13 +- trunk/net/ipv6/Makefile | 5 +- trunk/net/ipv6/addrconf.c | 204 +- trunk/net/ipv6/af_inet6.c | 245 +- trunk/net/ipv6/ah6.c | 10 +- trunk/net/ipv6/anycast.c | 4 +- trunk/net/ipv6/datagram.c | 8 +- trunk/net/ipv6/exthdrs.c | 70 +- trunk/net/ipv6/exthdrs_core.c | 45 + trunk/net/ipv6/exthdrs_offload.c | 41 + trunk/net/ipv6/fib6_rules.c | 2 +- trunk/net/ipv6/icmp.c | 2 +- trunk/net/ipv6/inet6_connection_sock.c | 3 +- trunk/net/ipv6/ip6_fib.c | 57 + trunk/net/ipv6/ip6_flowlabel.c | 3 +- trunk/net/ipv6/ip6_gre.c | 37 +- trunk/net/ipv6/ip6_offload.c | 282 ++ trunk/net/ipv6/ip6_offload.h | 18 + trunk/net/ipv6/ip6_output.c | 72 +- trunk/net/ipv6/ip6_tunnel.c | 288 +- trunk/net/ipv6/ip6mr.c | 14 +- trunk/net/ipv6/ipv6_sockglue.c | 10 +- trunk/net/ipv6/mcast.c | 4 +- trunk/net/ipv6/ndisc.c | 20 +- trunk/net/ipv6/netfilter/ip6_tables.c | 14 +- trunk/net/ipv6/netfilter/ip6t_rpfilter.c | 2 +- trunk/net/ipv6/netfilter/ip6table_nat.c | 8 +- .../netfilter/nf_conntrack_l3proto_ipv6.c | 70 +- .../netfilter/nf_conntrack_proto_icmpv6.c | 4 +- trunk/net/ipv6/netfilter/nf_conntrack_reasm.c | 4 +- .../net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 6 +- .../net/ipv6/netfilter/nf_nat_proto_icmpv6.c | 2 +- trunk/net/ipv6/output_core.c | 76 + trunk/net/ipv6/protocol.c | 25 + trunk/net/ipv6/raw.c | 6 +- trunk/net/ipv6/reassembly.c | 4 + trunk/net/ipv6/route.c | 190 +- trunk/net/ipv6/sit.c | 459 +++- trunk/net/ipv6/syncookies.c | 2 +- trunk/net/ipv6/tcp_ipv6.c | 124 +- trunk/net/ipv6/tcpv6_offload.c | 95 + trunk/net/ipv6/udp.c | 94 - trunk/net/ipv6/udp_offload.c | 120 + trunk/net/ipv6/xfrm6_policy.c | 21 +- trunk/net/ipv6/xfrm6_state.c | 4 +- trunk/net/irda/ircomm/ircomm_tty.c | 2 + trunk/net/irda/irttp.c | 1 + trunk/net/key/af_key.c | 2 +- trunk/net/l2tp/l2tp_eth.c | 1 + trunk/net/l2tp/l2tp_netlink.c | 2 +- trunk/net/llc/af_llc.c | 2 +- trunk/net/mac80211/Kconfig | 2 +- trunk/net/mac80211/Makefile | 1 + trunk/net/mac80211/aes_cmac.c | 18 + trunk/net/mac80211/agg-rx.c | 2 +- trunk/net/mac80211/agg-tx.c | 12 +- trunk/net/mac80211/cfg.c | 467 ++-- trunk/net/mac80211/chan.c | 411 ++- trunk/net/mac80211/debugfs.h | 6 +- trunk/net/mac80211/debugfs_key.c | 6 +- trunk/net/mac80211/debugfs_netdev.c | 78 +- trunk/net/mac80211/debugfs_sta.c | 19 +- trunk/net/mac80211/driver-ops.h | 140 +- trunk/net/mac80211/ht.c | 4 +- trunk/net/mac80211/ibss.c | 167 +- trunk/net/mac80211/ieee80211_i.h | 211 +- trunk/net/mac80211/iface.c | 98 +- trunk/net/mac80211/key.c | 15 +- trunk/net/mac80211/key.h | 8 +- trunk/net/mac80211/main.c | 151 +- trunk/net/mac80211/mesh.c | 82 +- trunk/net/mac80211/mesh.h | 18 +- trunk/net/mac80211/mesh_plink.c | 61 +- trunk/net/mac80211/mesh_sync.c | 101 +- trunk/net/mac80211/mlme.c | 391 ++- trunk/net/mac80211/offchannel.c | 22 +- trunk/net/mac80211/pm.c | 46 +- trunk/net/mac80211/rate.c | 5 +- trunk/net/mac80211/rate.h | 12 +- trunk/net/mac80211/rx.c | 275 +- trunk/net/mac80211/scan.c | 40 +- trunk/net/mac80211/sta_info.c | 84 +- trunk/net/mac80211/sta_info.h | 27 +- trunk/net/mac80211/status.c | 169 +- trunk/net/mac80211/trace.h | 246 +- trunk/net/mac80211/tx.c | 291 +- trunk/net/mac80211/util.c | 353 ++- trunk/net/mac80211/vht.c | 35 + trunk/net/mac80211/wme.c | 40 +- trunk/net/mac80211/wpa.c | 14 +- trunk/net/netfilter/ipset/ip_set_core.c | 2 +- trunk/net/netfilter/ipset/ip_set_hash_ip.c | 4 +- .../net/netfilter/ipset/ip_set_hash_ipport.c | 7 +- .../netfilter/ipset/ip_set_hash_ipportip.c | 7 +- .../netfilter/ipset/ip_set_hash_ipportnet.c | 7 +- .../netfilter/ipset/ip_set_hash_netiface.c | 2 +- trunk/net/netfilter/ipvs/Kconfig | 7 +- trunk/net/netfilter/ipvs/ip_vs_conn.c | 15 +- trunk/net/netfilter/ipvs/ip_vs_core.c | 404 +-- trunk/net/netfilter/ipvs/ip_vs_ctl.c | 11 +- trunk/net/netfilter/ipvs/ip_vs_dh.c | 2 +- trunk/net/netfilter/ipvs/ip_vs_lblc.c | 7 +- trunk/net/netfilter/ipvs/ip_vs_lblcr.c | 6 +- trunk/net/netfilter/ipvs/ip_vs_nfct.c | 2 +- trunk/net/netfilter/ipvs/ip_vs_pe_sip.c | 18 +- trunk/net/netfilter/ipvs/ip_vs_proto.c | 6 +- trunk/net/netfilter/ipvs/ip_vs_proto_ah_esp.c | 9 +- trunk/net/netfilter/ipvs/ip_vs_proto_sctp.c | 42 +- trunk/net/netfilter/ipvs/ip_vs_proto_tcp.c | 40 +- trunk/net/netfilter/ipvs/ip_vs_proto_udp.c | 41 +- trunk/net/netfilter/ipvs/ip_vs_sched.c | 2 +- trunk/net/netfilter/ipvs/ip_vs_sh.c | 2 +- trunk/net/netfilter/ipvs/ip_vs_xmit.c | 81 +- trunk/net/netfilter/nf_conntrack_acct.c | 4 + trunk/net/netfilter/nf_conntrack_ecache.c | 4 + trunk/net/netfilter/nf_conntrack_h323_main.c | 3 +- trunk/net/netfilter/nf_conntrack_helper.c | 4 + trunk/net/netfilter/nf_conntrack_proto_dccp.c | 8 +- trunk/net/netfilter/nf_conntrack_standalone.c | 4 + trunk/net/netfilter/nf_conntrack_timestamp.c | 4 + trunk/net/netfilter/nfnetlink.c | 2 +- trunk/net/netfilter/nfnetlink_cttimeout.c | 3 +- trunk/net/netfilter/xt_CT.c | 10 +- trunk/net/netfilter/xt_TEE.c | 1 + trunk/net/netfilter/xt_ipvs.c | 4 +- trunk/net/netfilter/xt_nat.c | 8 +- trunk/net/netlink/af_netlink.c | 21 +- trunk/net/nfc/Kconfig | 4 +- trunk/net/nfc/core.c | 33 +- trunk/net/nfc/hci/command.c | 28 +- trunk/net/nfc/hci/core.c | 90 +- trunk/net/nfc/hci/llc.c | 2 +- trunk/net/nfc/hci/llc_shdlc.c | 7 +- trunk/net/nfc/llcp/Kconfig | 4 +- trunk/net/nfc/llcp/commands.c | 148 +- trunk/net/nfc/llcp/llcp.c | 245 +- trunk/net/nfc/llcp/llcp.h | 13 + trunk/net/nfc/llcp/sock.c | 42 +- trunk/net/nfc/nci/Kconfig | 4 +- trunk/net/nfc/nci/core.c | 29 +- trunk/net/nfc/netlink.c | 157 +- trunk/net/nfc/nfc.h | 6 + trunk/net/nfc/rawsock.c | 1 - trunk/net/packet/af_packet.c | 50 +- trunk/net/packet/internal.h | 1 + trunk/net/phonet/pn_netlink.c | 6 + trunk/net/rds/ib.h | 2 +- trunk/net/rds/ib_recv.c | 24 +- trunk/net/sched/Kconfig | 2 +- trunk/net/sched/act_api.c | 3 + trunk/net/sched/cls_api.c | 2 + trunk/net/sched/cls_cgroup.c | 24 + trunk/net/sched/sch_api.c | 18 +- trunk/net/sched/sch_cbq.c | 3 +- trunk/net/sched/sch_htb.c | 139 +- trunk/net/sched/sch_qfq.c | 837 ++++-- trunk/net/sctp/Kconfig | 39 +- trunk/net/sctp/chunk.c | 20 +- trunk/net/sctp/proc.c | 8 +- trunk/net/sctp/protocol.c | 9 + trunk/net/sctp/sm_make_chunk.c | 19 + trunk/net/sctp/sm_sideeffect.c | 57 +- trunk/net/sctp/socket.c | 25 +- trunk/net/sctp/sysctl.c | 59 + trunk/net/sctp/transport.c | 2 +- trunk/net/sctp/tsnmap.c | 8 +- trunk/net/sctp/ulpqueue.c | 3 +- trunk/net/socket.c | 8 - trunk/net/sunrpc/backchannel_rqst.c | 2 +- trunk/net/sunrpc/cache.c | 4 +- trunk/net/sunrpc/xprtsock.c | 41 +- trunk/net/sysctl_net.c | 15 +- trunk/net/tipc/Kconfig | 13 +- trunk/net/tipc/bcast.c | 27 +- trunk/net/tipc/bearer.c | 110 +- trunk/net/tipc/bearer.h | 24 +- trunk/net/tipc/core.c | 5 - trunk/net/tipc/discover.c | 2 +- trunk/net/tipc/handler.c | 1 - trunk/net/tipc/link.c | 188 +- trunk/net/tipc/link.h | 4 - trunk/net/tipc/name_distr.c | 2 +- trunk/net/tipc/node.c | 15 +- trunk/net/tipc/node.h | 6 +- trunk/net/tipc/socket.c | 58 +- trunk/net/unix/diag.c | 3 + trunk/net/unix/sysctl_net_unix.c | 4 + trunk/net/wireless/Kconfig | 5 +- trunk/net/wireless/Makefile | 4 +- trunk/net/wireless/ap.c | 4 +- trunk/net/wireless/chan.c | 278 +- trunk/net/wireless/core.c | 26 +- trunk/net/wireless/core.h | 36 +- trunk/net/wireless/ethtool.c | 15 +- trunk/net/wireless/ibss.c | 36 +- trunk/net/wireless/mesh.c | 58 +- trunk/net/wireless/mlme.c | 128 +- trunk/net/wireless/nl80211.c | 839 ++++-- trunk/net/wireless/nl80211.h | 8 +- trunk/net/wireless/rdev-ops.h | 878 ++++++ trunk/net/wireless/reg.c | 10 +- trunk/net/wireless/scan.c | 181 +- trunk/net/wireless/sme.c | 12 +- trunk/net/wireless/sysfs.c | 5 +- trunk/net/wireless/trace.c | 7 + trunk/net/wireless/trace.h | 2324 ++++++++++++++++ trunk/net/wireless/util.c | 202 +- trunk/net/wireless/wext-compat.c | 74 +- trunk/net/wireless/wext-sme.c | 11 +- trunk/net/xfrm/xfrm_ipcomp.c | 8 +- trunk/net/xfrm/xfrm_replay.c | 13 +- trunk/net/xfrm/xfrm_sysctl.c | 4 + trunk/net/xfrm/xfrm_user.c | 2 +- trunk/scripts/Makefile.asm-generic | 2 +- trunk/scripts/Makefile.fwinst | 4 +- trunk/scripts/Makefile.modinst | 3 +- trunk/scripts/Makefile.modpost | 77 +- trunk/scripts/checkpatch.pl | 6 +- trunk/scripts/dtc/dtc.h | 44 +- trunk/scripts/headers_install.pl | 3 + trunk/scripts/kconfig/expr.h | 5 +- trunk/scripts/kconfig/list.h | 91 + trunk/scripts/kconfig/lkc_proto.h | 4 +- trunk/scripts/kconfig/mconf.c | 6 +- trunk/scripts/kconfig/menu.c | 14 +- trunk/scripts/sign-file | 498 +++- trunk/scripts/x509keyid | 268 -- trunk/security/apparmor/Makefile | 2 +- trunk/security/apparmor/policy.c | 24 +- trunk/security/device_cgroup.c | 101 +- trunk/security/selinux/hooks.c | 18 +- trunk/security/selinux/netnode.c | 3 +- trunk/sound/core/compress_offload.c | 9 +- trunk/sound/core/control.c | 5 + trunk/sound/core/hwdep.c | 12 +- trunk/sound/core/init.c | 50 +- trunk/sound/core/oss/mixer_oss.c | 11 +- trunk/sound/core/oss/pcm_oss.c | 7 + trunk/sound/core/pcm.c | 13 +- trunk/sound/core/pcm_native.c | 35 +- trunk/sound/core/rawmidi.c | 26 +- trunk/sound/core/sound.c | 11 +- trunk/sound/core/sound_oss.c | 10 +- trunk/sound/i2c/other/ak4113.c | 2 +- trunk/sound/i2c/other/ak4114.c | 2 +- trunk/sound/i2c/other/ak4117.c | 2 +- trunk/sound/isa/opti9xx/miro.c | 1 - trunk/sound/pci/ac97/ac97_codec.c | 2 + trunk/sound/pci/als300.c | 4 + trunk/sound/pci/emu10k1/emu10k1_main.c | 9 + trunk/sound/pci/es1968.c | 11 +- trunk/sound/pci/fm801.c | 11 +- trunk/sound/pci/hda/hda_codec.c | 13 +- trunk/sound/pci/hda/hda_codec.h | 1 + trunk/sound/pci/hda/hda_intel.c | 83 +- trunk/sound/pci/hda/patch_analog.c | 1 + trunk/sound/pci/hda/patch_cirrus.c | 22 +- trunk/sound/pci/hda/patch_realtek.c | 52 +- trunk/sound/pci/hda/patch_sigmatel.c | 2 + trunk/sound/pci/hda/patch_via.c | 36 +- trunk/sound/pci/ice1712/ice1724.c | 7 +- trunk/sound/pci/rme9652/hdspm.c | 239 +- trunk/sound/soc/Makefile | 5 +- trunk/sound/soc/codecs/arizona.c | 4 +- trunk/sound/soc/codecs/cs4271.c | 11 +- trunk/sound/soc/codecs/cs42l52.c | 5 +- trunk/sound/soc/codecs/da9055.c | 22 +- trunk/sound/soc/codecs/twl6040.c | 8 +- trunk/sound/soc/codecs/wm2200.c | 3 +- trunk/sound/soc/codecs/wm5102.c | 552 +++- trunk/sound/soc/codecs/wm8978.c | 2 +- trunk/sound/soc/codecs/wm8994.c | 20 +- trunk/sound/soc/codecs/wm8994.h | 1 + trunk/sound/soc/kirkwood/kirkwood-dma.c | 3 +- trunk/sound/soc/kirkwood/kirkwood-i2s.c | 74 +- trunk/sound/soc/mxs/mxs-saif.c | 17 +- trunk/sound/soc/omap/ams-delta.c | 63 +- trunk/sound/soc/omap/omap-abe-twl6040.c | 2 +- trunk/sound/soc/omap/omap-dmic.c | 4 +- trunk/sound/soc/omap/omap-mcpdm.c | 9 +- trunk/sound/soc/omap/zoom2.c | 5 +- trunk/sound/soc/pxa/mmp-pcm.c | 2 +- trunk/sound/soc/samsung/Kconfig | 2 + trunk/sound/soc/samsung/bells.c | 2 +- trunk/sound/soc/sh/fsi.c | 15 +- trunk/sound/soc/soc-core.c | 5 +- trunk/sound/soc/soc-dapm.c | 2 +- trunk/sound/soc/soc-jack.c | 7 +- trunk/sound/soc/ux500/mop500.c | 17 + trunk/sound/soc/ux500/ux500_msp_i2s.c | 8 +- trunk/sound/usb/card.c | 14 +- trunk/sound/usb/card.h | 1 + trunk/sound/usb/endpoint.c | 13 + trunk/sound/usb/endpoint.h | 1 + trunk/sound/usb/midi.c | 8 +- trunk/sound/usb/mixer.c | 65 +- trunk/sound/usb/mixer_quirks.c | 58 +- trunk/sound/usb/pcm.c | 58 +- trunk/sound/usb/proc.c | 4 +- trunk/sound/usb/stream.c | 1 + trunk/sound/usb/usbaudio.h | 2 +- trunk/tools/lib/traceevent/event-parse.c | 9 +- trunk/tools/lib/traceevent/parse-filter.c | 15 + trunk/tools/perf/Makefile | 24 +- trunk/tools/perf/builtin-help.c | 2 +- trunk/tools/perf/builtin-trace.c | 18 +- trunk/tools/perf/perf.h | 2 +- trunk/tools/perf/ui/browsers/hists.c | 6 +- trunk/tools/perf/util/parse-events-test.c | 12 +- trunk/tools/perf/util/parse-events.c | 3 + trunk/tools/perf/util/setup.py | 2 + trunk/tools/perf/util/sort.c | 6 + trunk/tools/perf/util/thread.c | 1 - trunk/tools/power/x86/turbostat/turbostat.c | 28 +- trunk/tools/testing/ktest/ktest.pl | 6 +- trunk/tools/testing/selftests/Makefile | 2 +- trunk/tools/testing/selftests/epoll/Makefile | 11 - .../testing/selftests/epoll/test_epoll.c | 344 --- trunk/tools/vm/page-types.c | 2 +- trunk/usr/gen_init_cpio.c | 43 +- trunk/virt/kvm/kvm_main.c | 4 +- 2512 files changed, 91448 insertions(+), 42183 deletions(-) create mode 100644 trunk/Documentation/ABI/testing/sysfs-bus-mdio create mode 100644 trunk/Documentation/ABI/testing/sysfs-class-net-grcan create mode 100644 trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt create mode 100644 trunk/Documentation/devicetree/bindings/net/can/grcan.txt create mode 100644 trunk/Documentation/devicetree/bindings/net/cdns-emac.txt create mode 100644 trunk/Documentation/zh_CN/IRQ.txt create mode 100644 trunk/Documentation/zh_CN/arm64/booting.txt create mode 100644 trunk/Documentation/zh_CN/arm64/memory.txt create mode 100644 trunk/arch/arm/include/debug/8250_32.S delete mode 100644 trunk/arch/arm/mach-at91/include/mach/at91rm9200_emac.h delete mode 100644 trunk/arch/arm/mach-prima2/include/mach/gpio.h delete mode 100644 trunk/arch/arm/mach-spear13xx/include/mach/spear1310_misc_regs.h delete mode 100644 trunk/arch/arm/mach-spear13xx/include/mach/spear1340_misc_regs.h create mode 100644 trunk/arch/arm/plat-samsung/include/plat/spi-core.h create mode 100644 trunk/arch/arm64/include/asm/linkage.h rename trunk/arch/hexagon/include/{ => uapi}/asm/bitsperlong.h (92%) rename trunk/arch/hexagon/include/{ => uapi}/asm/byteorder.h (92%) rename trunk/arch/hexagon/include/{ => uapi}/asm/kvm_para.h (100%) rename trunk/arch/hexagon/include/{ => uapi}/asm/param.h (91%) rename trunk/arch/hexagon/include/{ => uapi}/asm/ptrace.h (94%) rename trunk/arch/hexagon/include/{ => uapi}/asm/registers.h (85%) rename trunk/arch/hexagon/include/{ => uapi}/asm/setup.h (92%) rename trunk/arch/hexagon/include/{ => uapi}/asm/sigcontext.h (93%) rename trunk/arch/hexagon/include/{ => uapi}/asm/signal.h (92%) rename trunk/arch/hexagon/include/{ => uapi}/asm/swab.h (91%) rename trunk/arch/hexagon/include/{ => uapi}/asm/unistd.h (93%) rename trunk/arch/hexagon/include/{ => uapi}/asm/user.h (63%) delete mode 100644 trunk/arch/ia64/include/asm/kvm_para.h delete mode 100644 trunk/arch/ia64/include/uapi/asm/kvm_para.h rename trunk/arch/m68k/include/{ => uapi}/asm/a.out.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/cachectl.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/fcntl.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/msgbuf.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/param.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/poll.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/m68k/include/uapi/asm/ptrace.h rename trunk/arch/m68k/include/{ => uapi}/asm/sembuf.h (100%) create mode 100644 trunk/arch/m68k/include/uapi/asm/setup.h rename trunk/arch/m68k/include/{ => uapi}/asm/shmbuf.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/sigcontext.h (100%) create mode 100644 trunk/arch/m68k/include/uapi/asm/signal.h rename trunk/arch/m68k/include/{ => uapi}/asm/socket.h (97%) rename trunk/arch/m68k/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/swab.h (100%) rename trunk/arch/m68k/include/{ => uapi}/asm/termbits.h (100%) create mode 100644 trunk/arch/m68k/include/uapi/asm/termios.h create mode 100644 trunk/arch/m68k/include/uapi/asm/unistd.h create mode 100644 trunk/arch/mips/lib/bitops.c create mode 100644 trunk/arch/mips/lib/mips-atomic.c delete mode 100644 trunk/arch/parisc/include/asm/auxvec.h delete mode 100644 trunk/arch/parisc/include/asm/compat_signal.h delete mode 100644 trunk/arch/parisc/include/asm/cputime.h delete mode 100644 trunk/arch/parisc/include/asm/device.h delete mode 100644 trunk/arch/parisc/include/asm/div64.h delete mode 100644 trunk/arch/parisc/include/asm/emergency-restart.h delete mode 100644 trunk/arch/parisc/include/asm/hw_irq.h delete mode 100644 trunk/arch/parisc/include/asm/irq_regs.h delete mode 100644 trunk/arch/parisc/include/asm/kdebug.h delete mode 100644 trunk/arch/parisc/include/asm/kvm_para.h delete mode 100644 trunk/arch/parisc/include/asm/local.h delete mode 100644 trunk/arch/parisc/include/asm/local64.h delete mode 100644 trunk/arch/parisc/include/asm/mutex.h delete mode 100644 trunk/arch/parisc/include/asm/param.h delete mode 100644 trunk/arch/parisc/include/asm/percpu.h delete mode 100644 trunk/arch/parisc/include/asm/poll.h delete mode 100644 trunk/arch/parisc/include/asm/real.h delete mode 100644 trunk/arch/parisc/include/asm/segment.h delete mode 100644 trunk/arch/parisc/include/asm/topology.h delete mode 100644 trunk/arch/parisc/include/asm/user.h delete mode 100644 trunk/arch/parisc/include/asm/vga.h delete mode 100644 trunk/arch/parisc/include/asm/xor.h rename trunk/arch/parisc/include/{ => uapi}/asm/bitsperlong.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/errno.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/fcntl.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/ioctl.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/ipcbuf.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/mman.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/msgbuf.h (100%) create mode 100644 trunk/arch/parisc/include/uapi/asm/pdc.h rename trunk/arch/parisc/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/parisc/include/uapi/asm/ptrace.h rename trunk/arch/parisc/include/{ => uapi}/asm/resource.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/sembuf.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/setup.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/shmbuf.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/sigcontext.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/siginfo.h (100%) create mode 100644 trunk/arch/parisc/include/uapi/asm/signal.h rename trunk/arch/parisc/include/{ => uapi}/asm/socket.h (97%) rename trunk/arch/parisc/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/statfs.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/swab.h (100%) rename trunk/arch/parisc/include/{ => uapi}/asm/termbits.h (100%) create mode 100644 trunk/arch/parisc/include/uapi/asm/termios.h rename trunk/arch/parisc/include/{ => uapi}/asm/types.h (100%) create mode 100644 trunk/arch/parisc/include/uapi/asm/unistd.h rename trunk/arch/sh/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/cachectl.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/cpu-features.h (100%) create mode 100644 trunk/arch/sh/include/uapi/asm/hw_breakpoint.h rename trunk/arch/sh/include/{ => uapi}/asm/ioctls.h (100%) create mode 100644 trunk/arch/sh/include/uapi/asm/posix_types.h rename trunk/arch/sh/include/{ => uapi}/asm/posix_types_32.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/posix_types_64.h (100%) create mode 100644 trunk/arch/sh/include/uapi/asm/ptrace.h create mode 100644 trunk/arch/sh/include/uapi/asm/ptrace_32.h create mode 100644 trunk/arch/sh/include/uapi/asm/ptrace_64.h create mode 100644 trunk/arch/sh/include/uapi/asm/setup.h rename trunk/arch/sh/include/{ => uapi}/asm/sigcontext.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/signal.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/sh/include/{ => uapi}/asm/swab.h (100%) create mode 100644 trunk/arch/sh/include/uapi/asm/types.h create mode 100644 trunk/arch/sh/include/uapi/asm/unistd.h rename trunk/arch/sh/include/{ => uapi}/asm/unistd_32.h (99%) rename trunk/arch/sh/include/{ => uapi}/asm/unistd_64.h (99%) delete mode 100644 trunk/arch/unicore32/include/asm/kvm_para.h rename trunk/arch/unicore32/include/{ => uapi}/asm/byteorder.h (100%) create mode 100644 trunk/arch/unicore32/include/uapi/asm/ptrace.h rename trunk/arch/unicore32/include/{ => uapi}/asm/sigcontext.h (100%) rename trunk/arch/unicore32/include/{ => uapi}/asm/unistd.h (92%) delete mode 100644 trunk/arch/xtensa/include/asm/bitsperlong.h delete mode 100644 trunk/arch/xtensa/include/asm/bug.h delete mode 100644 trunk/arch/xtensa/include/asm/cputime.h delete mode 100644 trunk/arch/xtensa/include/asm/device.h delete mode 100644 trunk/arch/xtensa/include/asm/div64.h delete mode 100644 trunk/arch/xtensa/include/asm/emergency-restart.h delete mode 100644 trunk/arch/xtensa/include/asm/errno.h delete mode 100644 trunk/arch/xtensa/include/asm/fcntl.h delete mode 100644 trunk/arch/xtensa/include/asm/futex.h delete mode 100644 trunk/arch/xtensa/include/asm/hardirq.h delete mode 100644 trunk/arch/xtensa/include/asm/ioctl.h delete mode 100644 trunk/arch/xtensa/include/asm/irq_regs.h delete mode 100644 trunk/arch/xtensa/include/asm/kdebug.h delete mode 100644 trunk/arch/xtensa/include/asm/kmap_types.h delete mode 100644 trunk/arch/xtensa/include/asm/kvm_para.h delete mode 100644 trunk/arch/xtensa/include/asm/local.h delete mode 100644 trunk/arch/xtensa/include/asm/local64.h delete mode 100644 trunk/arch/xtensa/include/asm/percpu.h delete mode 100644 trunk/arch/xtensa/include/asm/resource.h delete mode 100644 trunk/arch/xtensa/include/asm/scatterlist.h delete mode 100644 trunk/arch/xtensa/include/asm/sections.h delete mode 100644 trunk/arch/xtensa/include/asm/siginfo.h delete mode 100644 trunk/arch/xtensa/include/asm/statfs.h delete mode 100644 trunk/arch/xtensa/include/asm/termios.h delete mode 100644 trunk/arch/xtensa/include/asm/topology.h delete mode 100644 trunk/arch/xtensa/include/asm/xor.h rename trunk/arch/xtensa/include/{ => uapi}/asm/auxvec.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/byteorder.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/ioctls.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/ipcbuf.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/mman.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/msgbuf.h (100%) create mode 100644 trunk/arch/xtensa/include/uapi/asm/param.h rename trunk/arch/xtensa/include/{ => uapi}/asm/poll.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/posix_types.h (100%) create mode 100644 trunk/arch/xtensa/include/uapi/asm/ptrace.h rename trunk/arch/xtensa/include/{ => uapi}/asm/sembuf.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/setup.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/shmbuf.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/sigcontext.h (100%) create mode 100644 trunk/arch/xtensa/include/uapi/asm/signal.h rename trunk/arch/xtensa/include/{ => uapi}/asm/socket.h (97%) rename trunk/arch/xtensa/include/{ => uapi}/asm/sockios.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/stat.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/swab.h (100%) rename trunk/arch/xtensa/include/{ => uapi}/asm/termbits.h (100%) create mode 100644 trunk/arch/xtensa/include/uapi/asm/types.h create mode 100644 trunk/arch/xtensa/include/uapi/asm/unistd.h rename trunk/drivers/i2c/{busses => }/i2c-stub.c (75%) create mode 100644 trunk/drivers/net/can/grcan.c create mode 100644 trunk/drivers/net/can/usb/kvaser_usb.c delete mode 100644 trunk/drivers/net/ethernet/cadence/at91_ether.h create mode 100644 trunk/drivers/net/ethernet/freescale/fec_ptp.c create mode 100644 trunk/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c create mode 100644 trunk/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c create mode 100644 trunk/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c delete mode 100644 trunk/drivers/net/ethernet/stmicro/stmmac/stmmac_timer.c delete mode 100644 trunk/drivers/net/ethernet/stmicro/stmmac/stmmac_timer.h create mode 100644 trunk/drivers/net/ethernet/ti/cpts.c create mode 100644 trunk/drivers/net/ethernet/ti/cpts.h create mode 100644 trunk/drivers/net/phy/at803x.c create mode 100644 trunk/drivers/net/usb/cdc_mbim.c create mode 100644 trunk/drivers/net/wireless/ath/ar5523/Kconfig create mode 100644 trunk/drivers/net/wireless/ath/ar5523/Makefile create mode 100644 trunk/drivers/net/wireless/ath/ar5523/ar5523.c create mode 100644 trunk/drivers/net/wireless/ath/ar5523/ar5523.h create mode 100644 trunk/drivers/net/wireless/ath/ar5523/ar5523_hw.h create mode 100644 trunk/drivers/net/wireless/ath/ath6kl/recovery.c create mode 100644 trunk/drivers/net/wireless/brcm80211/brcmfmac/fweh.c create mode 100644 trunk/drivers/net/wireless/brcm80211/brcmfmac/fweh.h create mode 100644 trunk/drivers/net/wireless/brcm80211/brcmfmac/fwil.c create mode 100644 trunk/drivers/net/wireless/brcm80211/brcmfmac/fwil.h create mode 100644 trunk/drivers/net/wireless/brcm80211/brcmsmac/debug.c create mode 100644 trunk/drivers/net/wireless/brcm80211/brcmsmac/debug.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/Makefile create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/btc.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/def.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/dm.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/dm.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/fw.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/fw.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/hal_bt_coexist.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/hal_bt_coexist.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/hw.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/hw.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/led.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/led.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/phy.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/phy.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseq.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseq.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/reg.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/rf.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/rf.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/sw.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/table.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/table.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/trx.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/rtl8723ae/trx.h create mode 100644 trunk/drivers/net/wireless/rtlwifi/stats.c create mode 100644 trunk/drivers/net/wireless/rtlwifi/stats.h create mode 100644 trunk/drivers/nfc/pn544/Makefile create mode 100644 trunk/drivers/nfc/pn544/i2c.c rename trunk/drivers/nfc/{pn544_hci.c => pn544/pn544.c} (58%) create mode 100644 trunk/drivers/nfc/pn544/pn544.h create mode 100644 trunk/drivers/xen/fallback.c delete mode 100644 trunk/include/asm-generic/Kbuild delete mode 100644 trunk/include/drm/Kbuild delete mode 100644 trunk/include/linux/byteorder/Kbuild delete mode 100644 trunk/include/linux/caif/Kbuild delete mode 100644 trunk/include/linux/can/Kbuild create mode 100644 trunk/include/linux/elf-fdpic.h create mode 100644 trunk/include/linux/hashtable.h delete mode 100644 trunk/include/linux/isdn/Kbuild delete mode 100644 trunk/include/linux/mmc/Kbuild delete mode 100644 trunk/include/linux/netfilter/Kbuild delete mode 100644 trunk/include/linux/netfilter/ipset/Kbuild delete mode 100644 trunk/include/linux/netfilter_arp/Kbuild delete mode 100644 trunk/include/linux/netfilter_bridge/Kbuild delete mode 100644 trunk/include/linux/netfilter_ipv4/Kbuild delete mode 100644 trunk/include/linux/netfilter_ipv6/Kbuild delete mode 100644 trunk/include/linux/nfc/pn544.h delete mode 100644 trunk/include/linux/nfsd/Kbuild create mode 100644 trunk/include/linux/platform_data/omap_ocp2scp.h create mode 100644 trunk/include/linux/platform_data/pn544.h delete mode 100644 trunk/include/linux/spi/Kbuild delete mode 100644 trunk/include/linux/sunrpc/Kbuild delete mode 100644 trunk/include/linux/tc_act/Kbuild delete mode 100644 trunk/include/linux/tc_ematch/Kbuild delete mode 100644 trunk/include/linux/timecompare.h create mode 100644 trunk/include/linux/usb/cdc_ncm.h delete mode 100644 trunk/include/linux/wimax/Kbuild delete mode 100644 trunk/include/mtd/Kbuild create mode 100644 trunk/include/net/bluetooth/amp.h rename trunk/include/{ => uapi}/linux/dvb/audio.h (100%) rename trunk/include/{ => uapi}/linux/dvb/ca.h (100%) create mode 100644 trunk/include/uapi/linux/dvb/dmx.h rename trunk/include/{ => uapi}/linux/dvb/frontend.h (100%) rename trunk/include/{ => uapi}/linux/dvb/net.h (100%) rename trunk/include/{ => uapi}/linux/dvb/osd.h (100%) rename trunk/include/{ => uapi}/linux/dvb/version.h (100%) create mode 100644 trunk/include/uapi/linux/dvb/video.h rename trunk/include/{ => uapi}/linux/hdlc/ioctl.h (96%) rename trunk/include/{ => uapi}/linux/hsi/hsi_char.h (100%) create mode 100644 trunk/include/uapi/linux/netconf.h rename trunk/include/{ => uapi}/linux/raid/md_p.h (100%) create mode 100644 trunk/include/uapi/linux/raid/md_u.h create mode 100644 trunk/include/uapi/linux/usb/audio.h rename trunk/include/{ => uapi}/linux/usb/cdc.h (93%) rename trunk/include/{ => uapi}/linux/usb/ch11.h (100%) create mode 100644 trunk/include/uapi/linux/usb/ch9.h create mode 100644 trunk/include/uapi/linux/usb/functionfs.h rename trunk/include/{ => uapi}/linux/usb/g_printer.h (100%) rename trunk/include/{ => uapi}/linux/usb/gadgetfs.h (100%) rename trunk/include/{ => uapi}/linux/usb/midi.h (100%) rename trunk/include/{ => uapi}/linux/usb/tmc.h (100%) rename trunk/include/{ => uapi}/linux/usb/video.h (100%) delete mode 100644 trunk/include/xen/Kbuild delete mode 100644 trunk/kernel/time/timecompare.c create mode 100644 trunk/net/batman-adv/distributed-arp-table.c create mode 100644 trunk/net/batman-adv/distributed-arp-table.h create mode 100644 trunk/net/bluetooth/amp.c create mode 100644 trunk/net/ipv6/exthdrs_offload.c create mode 100644 trunk/net/ipv6/ip6_offload.c create mode 100644 trunk/net/ipv6/ip6_offload.h create mode 100644 trunk/net/ipv6/output_core.c create mode 100644 trunk/net/ipv6/tcpv6_offload.c create mode 100644 trunk/net/ipv6/udp_offload.c create mode 100644 trunk/net/mac80211/vht.c create mode 100644 trunk/net/wireless/rdev-ops.h create mode 100644 trunk/net/wireless/trace.c create mode 100644 trunk/net/wireless/trace.h create mode 100644 trunk/scripts/kconfig/list.h mode change 100644 => 100755 trunk/scripts/sign-file delete mode 100755 trunk/scripts/x509keyid delete mode 100644 trunk/tools/testing/selftests/epoll/Makefile delete mode 100644 trunk/tools/testing/selftests/epoll/test_epoll.c diff --git a/[refs] b/[refs] index f8b2634fd876..051973a54feb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 92eb1d477145b2e7780b5002e856f70b8c3d74da +refs/heads/master: e7165030db8e932a9a968f7015cd3b2e984f8e7c diff --git a/trunk/.gitignore b/trunk/.gitignore index 0f2f40f71915..92bd0e45dfa1 100644 --- a/trunk/.gitignore +++ b/trunk/.gitignore @@ -14,10 +14,6 @@ *.o.* *.a *.s -*.ko.unsigned -*.ko.stripped -*.ko.stripped.dig -*.ko.stripped.sig *.ko *.so *.so.dbg @@ -95,6 +91,4 @@ GTAGS extra_certificates signing_key.priv signing_key.x509 -signing_key.x509.keyid -signing_key.x509.signer x509.genkey diff --git a/trunk/CREDITS b/trunk/CREDITS index d8fe12a9421f..2346b09ca8bb 100644 --- a/trunk/CREDITS +++ b/trunk/CREDITS @@ -1823,6 +1823,11 @@ S: Kattreinstr 38 S: D-64295 S: Germany +N: Avi Kivity +E: avi.kivity@gmail.com +D: Kernel-based Virtual Machine (KVM) +S: Ra'annana, Israel + N: Andi Kleen E: andi@firstfloor.org U: http://www.halobates.de diff --git a/trunk/Documentation/00-INDEX b/trunk/Documentation/00-INDEX index f54273e2ac97..ceb1ff735469 100644 --- a/trunk/Documentation/00-INDEX +++ b/trunk/Documentation/00-INDEX @@ -210,6 +210,8 @@ local_ops.txt - semantics and behavior of local atomic operations. lockdep-design.txt - documentation on the runtime locking correctness validator. +lockup-watchdogs.txt + - info on soft and hard lockup detectors (aka nmi_watchdog). logo.gif - full colour GIF image of Linux logo (penguin - Tux). logo.txt @@ -240,8 +242,6 @@ netlabel/ - directory with information on the NetLabel subsystem. networking/ - directory with info on various aspects of networking with Linux. -nmi_watchdog.txt - - info on NMI watchdog for SMP systems. nommu-mmap.txt - documentation about no-mmu memory mapping support. numastat.txt diff --git a/trunk/Documentation/ABI/testing/sysfs-bus-mdio b/trunk/Documentation/ABI/testing/sysfs-bus-mdio new file mode 100644 index 000000000000..6349749ebc29 --- /dev/null +++ b/trunk/Documentation/ABI/testing/sysfs-bus-mdio @@ -0,0 +1,9 @@ +What: /sys/bus/mdio_bus/devices/.../phy_id +Date: November 2012 +KernelVersion: 3.8 +Contact: netdev@vger.kernel.org +Description: + This attribute contains the 32-bit PHY Identifier as reported + by the device during bus enumeration, encoded in hexadecimal. + This ID is used to match the device with the appropriate + driver. diff --git a/trunk/Documentation/ABI/testing/sysfs-class-net-batman-adv b/trunk/Documentation/ABI/testing/sysfs-class-net-batman-adv index 38dd762def4b..bdc00707c751 100644 --- a/trunk/Documentation/ABI/testing/sysfs-class-net-batman-adv +++ b/trunk/Documentation/ABI/testing/sysfs-class-net-batman-adv @@ -1,4 +1,10 @@ +What: /sys/class/net//batman-adv/iface_status +Date: May 2010 +Contact: Marek Lindner +Description: + Indicates the status of as it is seen by batman. + What: /sys/class/net//batman-adv/mesh_iface Date: May 2010 Contact: Marek Lindner @@ -7,8 +13,3 @@ Description: displays the batman mesh interface this currently is associated with. -What: /sys/class/net//batman-adv/iface_status -Date: May 2010 -Contact: Marek Lindner -Description: - Indicates the status of as it is seen by batman. diff --git a/trunk/Documentation/ABI/testing/sysfs-class-net-grcan b/trunk/Documentation/ABI/testing/sysfs-class-net-grcan new file mode 100644 index 000000000000..f418c92ca555 --- /dev/null +++ b/trunk/Documentation/ABI/testing/sysfs-class-net-grcan @@ -0,0 +1,35 @@ + +What: /sys/class/net//grcan/enable0 +Date: October 2012 +KernelVersion: 3.8 +Contact: Andreas Larsson +Description: + Hardware configuration of physical interface 0. This file reads + and writes the "Enable 0" bit of the configuration register. + Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP + core library documentation for details. The default value is 0 + or set by the module parameter grcan.enable0 and can be read at + /sys/module/grcan/parameters/enable0. + +What: /sys/class/net//grcan/enable1 +Date: October 2012 +KernelVersion: 3.8 +Contact: Andreas Larsson +Description: + Hardware configuration of physical interface 1. This file reads + and writes the "Enable 1" bit of the configuration register. + Possible values: 0 or 1. See the GRCAN chapter of the GRLIB IP + core library documentation for details. The default value is 0 + or set by the module parameter grcan.enable1 and can be read at + /sys/module/grcan/parameters/enable1. + +What: /sys/class/net//grcan/select +Date: October 2012 +KernelVersion: 3.8 +Contact: Andreas Larsson +Description: + Configuration of which physical interface to be used. Possible + values: 0 or 1. See the GRCAN chapter of the GRLIB IP core + library documentation for details. The default value is 0 or is + set by the module parameter grcan.select and can be read at + /sys/module/grcan/parameters/select. diff --git a/trunk/Documentation/ABI/testing/sysfs-class-net-mesh b/trunk/Documentation/ABI/testing/sysfs-class-net-mesh index c81fe89c4c46..bc41da61608d 100644 --- a/trunk/Documentation/ABI/testing/sysfs-class-net-mesh +++ b/trunk/Documentation/ABI/testing/sysfs-class-net-mesh @@ -6,6 +6,14 @@ Description: Indicates whether the batman protocol messages of the mesh shall be aggregated or not. +What: /sys/class/net//mesh/ap_isolation +Date: May 2011 +Contact: Antonio Quartulli +Description: + Indicates whether the data traffic going from a + wireless client to another wireless client will be + silently dropped. + What: /sys/class/net//mesh/bonding Date: June 2010 Contact: Simon Wunderlich @@ -31,14 +39,6 @@ Description: mesh will be fragmented or silently discarded if the packet size exceeds the outgoing interface MTU. -What: /sys/class/net//mesh/ap_isolation -Date: May 2011 -Contact: Antonio Quartulli -Description: - Indicates whether the data traffic going from a - wireless client to another wireless client will be - silently dropped. - What: /sys/class/net//mesh/gw_bandwidth Date: October 2010 Contact: Marek Lindner @@ -60,6 +60,13 @@ Description: Defines the selection criteria this node will use to choose a gateway if gw_mode was set to 'client'. +What: /sys/class/net//mesh/hop_penalty +Date: Oct 2010 +Contact: Linus Lüssing +Description: + Defines the penalty which will be applied to an + originator message's tq-field on every hop. + What: /sys/class/net//mesh/orig_interval Date: May 2010 Contact: Marek Lindner @@ -67,19 +74,12 @@ Description: Defines the interval in milliseconds in which batman sends its protocol messages. -What: /sys/class/net//mesh/hop_penalty -Date: Oct 2010 -Contact: Linus Lüssing -Description: - Defines the penalty which will be applied to an - originator message's tq-field on every hop. - -What: /sys/class/net//mesh/routing_algo -Date: Dec 2011 -Contact: Marek Lindner +What: /sys/class/net//mesh/routing_algo +Date: Dec 2011 +Contact: Marek Lindner Description: - Defines the routing procotol this mesh instance - uses to find the optimal paths through the mesh. + Defines the routing procotol this mesh instance + uses to find the optimal paths through the mesh. What: /sys/class/net//mesh/vis_mode Date: May 2010 diff --git a/trunk/Documentation/DocBook/media/Makefile b/trunk/Documentation/DocBook/media/Makefile index 9b7e4c557928..f9fd615427fb 100644 --- a/trunk/Documentation/DocBook/media/Makefile +++ b/trunk/Documentation/DocBook/media/Makefile @@ -56,15 +56,15 @@ FUNCS = \ write \ IOCTLS = \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/audio.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/ca.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/dmx.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/frontend.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([A-Z][^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/net.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/video.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/media.h) \ - $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/v4l2-subdev.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/audio.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/ca.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/dmx.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/frontend.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([A-Z][^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/net.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/video.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/media.h) \ + $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \ VIDIOC_SUBDEV_G_FRAME_INTERVAL \ VIDIOC_SUBDEV_S_FRAME_INTERVAL \ VIDIOC_SUBDEV_ENUM_MBUS_CODE \ @@ -74,32 +74,32 @@ IOCTLS = \ VIDIOC_SUBDEV_S_SELECTION \ TYPES = \ - $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/linux/dvb/frontend.h) + $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/uapi/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/uapi/linux/dvb/frontend.h) ENUMS = \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/audio.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/ca.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/dmx.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/frontend.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/net.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/video.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h) \ - $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h) + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/audio.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/ca.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/dmx.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/frontend.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/net.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/video.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-mediabus.h) \ + $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h) STRUCTS = \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s\{]+)\s*/)' $(srctree)/include/linux/dvb/audio.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/ca.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/dmx.h) \ - $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/frontend.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/linux/dvb/net.h) \ - $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/video.h) \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h) \ - $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h) + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s\{]+)\s*/)' $(srctree)/include/uapi/linux/dvb/audio.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/ca.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/dmx.h) \ + $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/frontend.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/net.h) \ + $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/video.h) \ + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \ + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \ + $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-mediabus.h) ERRORS = \ E2BIG \ @@ -205,7 +205,7 @@ $(MEDIA_OBJ_DIR)/v4l2.xml: $(OBJIMGFILES) @(ln -sf $(MEDIA_SRC_DIR)/v4l/*xml $(MEDIA_OBJ_DIR)/) @(ln -sf $(MEDIA_SRC_DIR)/dvb/*xml $(MEDIA_OBJ_DIR)/) -$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/uapi/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -216,7 +216,7 @@ $(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/linux/videodev2.h $(MEDIA_O @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/linux/dvb/audio.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/uapi/linux/dvb/audio.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -227,7 +227,7 @@ $(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/linux/dvb/audio.h $(MEDIA_OBJ_D @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/uapi/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -238,7 +238,7 @@ $(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4 @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/uapi/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -249,7 +249,7 @@ $(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/ @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/linux/dvb/frontend.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/uapi/linux/dvb/frontend.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -260,7 +260,7 @@ $(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/linux/dvb/frontend.h $(MEDIA @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/linux/dvb/net.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/uapi/linux/dvb/net.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ @@ -271,7 +271,7 @@ $(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/linux/dvb/net.h $(MEDIA_OBJ_DIR)/ @( \ echo "") >> $@ -$(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml +$(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/uapi/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml @$($(quiet)gen_xml) @( \ echo "") > $@ diff --git a/trunk/Documentation/DocBook/networking.tmpl b/trunk/Documentation/DocBook/networking.tmpl index 59ad69a9d777..29df25016c7c 100644 --- a/trunk/Documentation/DocBook/networking.tmpl +++ b/trunk/Documentation/DocBook/networking.tmpl @@ -56,7 +56,7 @@ !Enet/core/filter.c Generic Network Statistics -!Iinclude/linux/gen_stats.h +!Iinclude/uapi/linux/gen_stats.h !Enet/core/gen_stats.c !Enet/core/gen_estimator.c @@ -80,7 +80,7 @@ !Enet/wimax/op-rfkill.c !Enet/wimax/stack.c !Iinclude/net/wimax.h -!Iinclude/linux/wimax.h +!Iinclude/uapi/linux/wimax.h diff --git a/trunk/Documentation/IPMI.txt b/trunk/Documentation/IPMI.txt index b2bea15137d2..16eb4c9e9233 100644 --- a/trunk/Documentation/IPMI.txt +++ b/trunk/Documentation/IPMI.txt @@ -42,13 +42,7 @@ The driver interface depends on your hardware. If your system properly provides the SMBIOS info for IPMI, the driver will detect it and just work. If you have a board with a standard interface (These will generally be either "KCS", "SMIC", or "BT", consult your hardware -manual), choose the 'IPMI SI handler' option. A driver also exists -for direct I2C access to the IPMI management controller. Some boards -support this, but it is unknown if it will work on every board. For -this, choose 'IPMI SMBus handler', but be ready to try to do some -figuring to see if it will work on your system if the SMBIOS/APCI -information is wrong or not present. It is fairly safe to have both -these enabled and let the drivers auto-detect what is present. +manual), choose the 'IPMI SI handler' option. You should generally enable ACPI on your system, as systems with IPMI can have ACPI tables describing them. @@ -58,8 +52,7 @@ their job correctly, the IPMI controller should be automatically detected (via ACPI or SMBIOS tables) and should just work. Sadly, many boards do not have this information. The driver attempts standard defaults, but they may not work. If you fall into this -situation, you need to read the section below named 'The SI Driver' or -"The SMBus Driver" on how to hand-configure your system. +situation, you need to read the section below named 'The SI Driver'. IPMI defines a standard watchdog timer. You can enable this with the 'IPMI Watchdog Timer' config option. If you compile the driver into @@ -104,12 +97,7 @@ driver, each open file for this device ties in to the message handler as an IPMI user. ipmi_si - A driver for various system interfaces. This supports KCS, -SMIC, and BT interfaces. Unless you have an SMBus interface or your -own custom interface, you probably need to use this. - -ipmi_smb - A driver for accessing BMCs on the SMBus. It uses the -I2C kernel driver's SMBus interfaces to send and receive IPMI messages -over the SMBus. +SMIC, and BT interfaces. ipmi_watchdog - IPMI requires systems to have a very capable watchdog timer. This driver implements the standard Linux watchdog timer @@ -482,53 +470,6 @@ for specifying an interface. Note that when removing an interface, only the first three parameters (si type, address type, and address) are used for the comparison. Any options are ignored for removing. -The SMBus Driver ----------------- - -The SMBus driver allows up to 4 SMBus devices to be configured in the -system. By default, the driver will register any SMBus interfaces it finds -in the I2C address range of 0x20 to 0x4f on any adapter. You can change this -at module load time (for a module) with: - - modprobe ipmi_smb.o - addr=,[,,[,...]] - dbg=,... - [defaultprobe=1] [dbg_probe=1] - -The addresses are specified in pairs, the first is the adapter ID and the -second is the I2C address on that adapter. - -The debug flags are bit flags for each BMC found, they are: -IPMI messages: 1, driver state: 2, timing: 4, I2C probe: 8 - -Setting smb_defaultprobe to zero disabled the default probing of SMBus -interfaces at address range 0x20 to 0x4f. This means that only the -BMCs specified on the smb_addr line will be detected. - -Setting smb_dbg_probe to 1 will enable debugging of the probing and -detection process for BMCs on the SMBusses. - -Discovering the IPMI compliant BMC on the SMBus can cause devices -on the I2C bus to fail. The SMBus driver writes a "Get Device ID" IPMI -message as a block write to the I2C bus and waits for a response. -This action can be detrimental to some I2C devices. It is highly recommended -that the known I2c address be given to the SMBus driver in the smb_addr -parameter. The default address range will not be used when a smb_addr -parameter is provided. - -When compiled into the kernel, the addresses can be specified on the -kernel command line as: - - ipmb_smb.addr=,[,,[,...]] - ipmi_smb.dbg=,... - ipmi_smb.defaultprobe=0 ipmi_smb.dbg_probe=1 - -These are the same options as on the module command line. - -Note that you might need some I2C changes if CONFIG_IPMI_PANIC_EVENT -is enabled along with this, so the I2C driver knows to run to -completion during sending a panic event. - Other Pieces ------------ diff --git a/trunk/Documentation/arm64/memory.txt b/trunk/Documentation/arm64/memory.txt index dbbdcbba75a3..4110cca96bd6 100644 --- a/trunk/Documentation/arm64/memory.txt +++ b/trunk/Documentation/arm64/memory.txt @@ -27,17 +27,17 @@ Start End Size Use ----------------------------------------------------------------------- 0000000000000000 0000007fffffffff 512GB user -ffffff8000000000 ffffffbbfffcffff ~240GB vmalloc +ffffff8000000000 ffffffbbfffeffff ~240GB vmalloc -ffffffbbfffd0000 ffffffbcfffdffff 64KB [guard page] +ffffffbbffff0000 ffffffbbffffffff 64KB [guard page] -ffffffbbfffe0000 ffffffbcfffeffff 64KB PCI I/O space +ffffffbc00000000 ffffffbdffffffff 8GB vmemmap -ffffffbbffff0000 ffffffbcffffffff 64KB [guard page] +ffffffbe00000000 ffffffbffbbfffff ~8GB [guard, future vmmemap] -ffffffbc00000000 ffffffbdffffffff 8GB vmemmap +ffffffbffbe00000 ffffffbffbe0ffff 64KB PCI I/O space -ffffffbe00000000 ffffffbffbffffff ~8GB [guard, future vmmemap] +ffffffbbffff0000 ffffffbcffffffff ~2MB [guard] ffffffbffc000000 ffffffbfffffffff 64MB modules diff --git a/trunk/Documentation/cgroups/memory.txt b/trunk/Documentation/cgroups/memory.txt index c07f7b4fb88d..71c4da413444 100644 --- a/trunk/Documentation/cgroups/memory.txt +++ b/trunk/Documentation/cgroups/memory.txt @@ -466,6 +466,10 @@ Note: 5.3 swappiness Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. +Please note that unlike the global swappiness, memcg knob set to 0 +really prevents from any swapping even if there is a swap storage +available. This might lead to memcg OOM killer if there are no file +pages to reclaim. Following cgroups' swappiness can't be changed. - root cgroup (uses /proc/sys/vm/swappiness). diff --git a/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt b/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt index ecc81e368715..d187e9f7cf1c 100644 --- a/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt +++ b/trunk/Documentation/devicetree/bindings/arm/atmel-at91.txt @@ -8,7 +8,7 @@ PIT Timer required properties: shared across all System Controller members. TC/TCLIB Timer required properties: -- compatible: Should be "atmel,-pit". +- compatible: Should be "atmel,-tcb". can be "at91rm9200" or "at91sam9x5" - reg: Should contain registers location and length - interrupts: Should contain all interrupts for the TC block diff --git a/trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt b/trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt new file mode 100644 index 000000000000..df70318a617f --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt @@ -0,0 +1,19 @@ +* EETI eGalax Multiple Touch Controller + +Required properties: +- compatible: must be "eeti,egalax_ts" +- reg: i2c slave address +- interrupt-parent: the phandle for the interrupt controller +- interrupts: touch controller interrupt +- wakeup-gpios: the gpio pin to be used for waking up the controller + as well as uased as irq pin + +Example: + + egalax_ts@04 { + compatible = "eeti,egalax_ts"; + reg = <0x04>; + interrupt-parent = <&gpio1>; + interrupts = <9 2>; + wakeup-gpios = <&gpio1 9 0>; + }; diff --git a/trunk/Documentation/devicetree/bindings/net/can/grcan.txt b/trunk/Documentation/devicetree/bindings/net/can/grcan.txt new file mode 100644 index 000000000000..34ef3498f887 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/net/can/grcan.txt @@ -0,0 +1,28 @@ +Aeroflex Gaisler GRCAN and GRHCAN CAN controllers. + +The GRCAN and CRHCAN CAN controllers are available in the GRLIB VHDL IP core +library. + +Note: These properties are built from the AMBA plug&play in a Leon SPARC system +(the ordinary environment for GRCAN and GRHCAN). There are no dts files for +sparc. + +Required properties: + +- name : Should be "GAISLER_GRCAN", "01_03d", "GAISLER_GRHCAN" or "01_034" + +- reg : Address and length of the register set for the device + +- freq : Frequency of the external oscillator clock in Hz (the frequency of + the amba bus in the ordinary case) + +- interrupts : Interrupt number for this device + +Optional properties: + +- systemid : If not present or if the value of the least significant 16 bits + of this 32-bit property is smaller than GRCAN_TXBUG_SAFE_GRLIB_VERSION + a bug workaround is activated. + +For further information look in the documentation for the GLIB IP core library: +http://www.gaisler.com/products/grlib/grip.pdf diff --git a/trunk/Documentation/devicetree/bindings/net/cdns-emac.txt b/trunk/Documentation/devicetree/bindings/net/cdns-emac.txt new file mode 100644 index 000000000000..09055c2495f0 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/net/cdns-emac.txt @@ -0,0 +1,23 @@ +* Cadence EMAC Ethernet controller + +Required properties: +- compatible: Should be "cdns,[-]{emac}" + Use "cdns,at91rm9200-emac" Atmel at91rm9200 SoC. + or the generic form: "cdns,emac". +- reg: Address and length of the register set for the device +- interrupts: Should contain macb interrupt +- phy-mode: String, operation mode of the PHY interface. + Supported values are: "mii", "rmii". + +Optional properties: +- local-mac-address: 6 bytes, mac address + +Examples: + + macb0: ethernet@fffc4000 { + compatible = "cdns,at91rm9200-emac"; + reg = <0xfffc4000 0x4000>; + interrupts = <21>; + phy-mode = "rmii"; + local-mac-address = [3a 0e 03 04 05 06]; + }; diff --git a/trunk/Documentation/devicetree/bindings/net/cpsw.txt b/trunk/Documentation/devicetree/bindings/net/cpsw.txt index dcaabe9fe869..6ddd0286a9b7 100644 --- a/trunk/Documentation/devicetree/bindings/net/cpsw.txt +++ b/trunk/Documentation/devicetree/bindings/net/cpsw.txt @@ -9,21 +9,15 @@ Required properties: number - interrupt-parent : The parent interrupt controller - cpdma_channels : Specifies number of channels in CPDMA -- host_port_no : Specifies host port shift -- cpdma_reg_ofs : Specifies CPDMA submodule register offset -- cpdma_sram_ofs : Specifies CPDMA SRAM offset -- ale_reg_ofs : Specifies ALE submodule register offset - ale_entries : Specifies No of entries ALE can hold -- host_port_reg_ofs : Specifies host port register offset -- hw_stats_reg_ofs : Specifies hardware statistics register offset -- bd_ram_ofs : Specifies internal desciptor RAM offset - bd_ram_size : Specifies internal descriptor RAM size - rx_descs : Specifies number of Rx descriptors - mac_control : Specifies Default MAC control register content for the specific platform - slaves : Specifies number for slaves -- slave_reg_ofs : Specifies slave register offset -- sliver_reg_ofs : Specifies slave sliver register offset +- cpts_active_slave : Specifies the slave to use for time stamping +- cpts_clock_mult : Numerator to convert input clock ticks into nanoseconds +- cpts_clock_shift : Denominator to convert input clock ticks into nanoseconds - phy_id : Specifies slave phy id - mac-address : Specifies slave MAC address @@ -45,30 +39,22 @@ Examples: interrupts = <55 0x4>; interrupt-parent = <&intc>; cpdma_channels = <8>; - host_port_no = <0>; - cpdma_reg_ofs = <0x800>; - cpdma_sram_ofs = <0xa00>; - ale_reg_ofs = <0xd00>; ale_entries = <1024>; - host_port_reg_ofs = <0x108>; - hw_stats_reg_ofs = <0x900>; - bd_ram_ofs = <0x2000>; bd_ram_size = <0x2000>; no_bd_ram = <0>; rx_descs = <64>; mac_control = <0x20>; slaves = <2>; + cpts_active_slave = <0>; + cpts_clock_mult = <0x80000000>; + cpts_clock_shift = <29>; cpsw_emac0: slave@0 { - slave_reg_ofs = <0x208>; - sliver_reg_ofs = <0xd80>; - phy_id = "davinci_mdio.16:00"; + phy_id = <&davinci_mdio>, <0>; /* Filled in by U-Boot */ mac-address = [ 00 00 00 00 00 00 ]; }; cpsw_emac1: slave@1 { - slave_reg_ofs = <0x308>; - sliver_reg_ofs = <0xdc0>; - phy_id = "davinci_mdio.16:01"; + phy_id = <&davinci_mdio>, <1>; /* Filled in by U-Boot */ mac-address = [ 00 00 00 00 00 00 ]; }; @@ -79,30 +65,22 @@ Examples: compatible = "ti,cpsw"; ti,hwmods = "cpgmac0"; cpdma_channels = <8>; - host_port_no = <0>; - cpdma_reg_ofs = <0x800>; - cpdma_sram_ofs = <0xa00>; - ale_reg_ofs = <0xd00>; ale_entries = <1024>; - host_port_reg_ofs = <0x108>; - hw_stats_reg_ofs = <0x900>; - bd_ram_ofs = <0x2000>; bd_ram_size = <0x2000>; no_bd_ram = <0>; rx_descs = <64>; mac_control = <0x20>; slaves = <2>; + cpts_active_slave = <0>; + cpts_clock_mult = <0x80000000>; + cpts_clock_shift = <29>; cpsw_emac0: slave@0 { - slave_reg_ofs = <0x208>; - sliver_reg_ofs = <0xd80>; - phy_id = "davinci_mdio.16:00"; + phy_id = <&davinci_mdio>, <0>; /* Filled in by U-Boot */ mac-address = [ 00 00 00 00 00 00 ]; }; cpsw_emac1: slave@1 { - slave_reg_ofs = <0x308>; - sliver_reg_ofs = <0xdc0>; - phy_id = "davinci_mdio.16:01"; + phy_id = <&davinci_mdio>, <1>; /* Filled in by U-Boot */ mac-address = [ 00 00 00 00 00 00 ]; }; diff --git a/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt b/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt index bc9549529014..c79bab025369 100644 --- a/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt +++ b/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt @@ -8,9 +8,16 @@ gpios property as described in section VIII.1 in the following order: MDC, MDIO. +Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases" +node. + Example: -mdio { +aliases { + mdio-gpio0 = <&mdio0>; +}; + +mdio0: mdio { compatible = "virtual,mdio-gpio"; #address-cells = <1>; #size-cells = <0>; diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt index c8e578263ce2..683fde93c4fb 100644 --- a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt +++ b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt @@ -93,7 +93,7 @@ Valid values for pin and group names are: With some exceptions, these support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode, nvidia,pull-down-strength, - nvidia,pull-up-strength, nvidia,slew_rate-rising, nvidia,slew_rate-falling. + nvidia,pull-up-strength, nvidia,slew-rate-rising, nvidia,slew-rate-falling. drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, drive_cdev2, drive_csus, drive_dap1, drive_dap2, drive_dap3, drive_dap4, drive_dbg, diff --git a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt index c275b70349c1..6f426ed7009e 100644 --- a/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt +++ b/trunk/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt @@ -83,7 +83,7 @@ Valid values for pin and group names are: drive groups: These all support nvidia,pull-down-strength, nvidia,pull-up-strength, - nvidia,slew_rate-rising, nvidia,slew_rate-falling. Most but not all + nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode. ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, cec, crt, csus, dap1, diff --git a/trunk/Documentation/filesystems/proc.txt b/trunk/Documentation/filesystems/proc.txt index a1793d670cd0..3844d21d6ca3 100644 --- a/trunk/Documentation/filesystems/proc.txt +++ b/trunk/Documentation/filesystems/proc.txt @@ -33,7 +33,7 @@ Table of Contents 2 Modifying System Parameters 3 Per-Process Parameters - 3.1 /proc//oom_score_adj - Adjust the oom-killer + 3.1 /proc//oom_adj & /proc//oom_score_adj - Adjust the oom-killer score 3.2 /proc//oom_score - Display current oom-killer score 3.3 /proc//io - Display the IO accounting fields @@ -1320,10 +1320,10 @@ of the kernel. CHAPTER 3: PER-PROCESS PARAMETERS ------------------------------------------------------------------------------ -3.1 /proc//oom_score_adj- Adjust the oom-killer score +3.1 /proc//oom_adj & /proc//oom_score_adj- Adjust the oom-killer score -------------------------------------------------------------------------------- -This file can be used to adjust the badness heuristic used to select which +These file can be used to adjust the badness heuristic used to select which process gets killed in out of memory conditions. The badness heuristic assigns a value to each candidate task ranging from 0 @@ -1361,6 +1361,12 @@ same system, cpuset, mempolicy, or memory controller resources to use at least equivalent to discounting 50% of the task's allowed memory from being considered as scoring against the task. +For backwards compatibility with previous kernels, /proc//oom_adj may also +be used to tune the badness score. Its acceptable values range from -16 +(OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17 +(OOM_DISABLE) to disable oom killing entirely for that task. Its value is +scaled linearly with /proc//oom_score_adj. + The value of /proc//oom_score_adj may be reduced no lower than the last value set by a CAP_SYS_RESOURCE process. To reduce the value any lower requires CAP_SYS_RESOURCE. @@ -1375,7 +1381,9 @@ minimal amount of work. ------------------------------------------------------------- This file can be used to check the current score used by the oom-killer is for -any given . +any given . Use it together with /proc//oom_score_adj to tune which +process should be killed in an out-of-memory situation. + 3.3 /proc//io - Display the IO accounting fields ------------------------------------------------------- diff --git a/trunk/Documentation/firmware_class/README b/trunk/Documentation/firmware_class/README index 7eceaff63f5f..815b711bcd85 100644 --- a/trunk/Documentation/firmware_class/README +++ b/trunk/Documentation/firmware_class/README @@ -18,32 +18,40 @@ High level behavior (mixed): ============================ - kernel(driver): calls request_firmware(&fw_entry, $FIRMWARE, device) - - userspace: + 1), kernel(driver): + - calls request_firmware(&fw_entry, $FIRMWARE, device) + - kernel searchs the fimware image with name $FIRMWARE directly + in the below search path of root filesystem: + "/lib/firmware/updates/" UTS_RELEASE, + "/lib/firmware/updates", + "/lib/firmware/" UTS_RELEASE, + "/lib/firmware" + - If found, goto 7), else goto 2) + + 2), userspace: - /sys/class/firmware/xxx/{loading,data} appear. - hotplug gets called with a firmware identifier in $FIRMWARE and the usual hotplug environment. - hotplug: echo 1 > /sys/class/firmware/xxx/loading - kernel: Discard any previous partial load. + 3), kernel: Discard any previous partial load. - userspace: + 4), userspace: - hotplug: cat appropriate_firmware_image > \ /sys/class/firmware/xxx/data - kernel: grows a buffer in PAGE_SIZE increments to hold the image as it + 5), kernel: grows a buffer in PAGE_SIZE increments to hold the image as it comes in. - userspace: + 6), userspace: - hotplug: echo 0 > /sys/class/firmware/xxx/loading - kernel: request_firmware() returns and the driver has the firmware + 7), kernel: request_firmware() returns and the driver has the firmware image in fw_entry->{data,size}. If something went wrong request_firmware() returns non-zero and fw_entry is set to NULL. - kernel(driver): Driver code calls release_firmware(fw_entry) releasing + 8), kernel(driver): Driver code calls release_firmware(fw_entry) releasing the firmware image and any related resource. High level behavior (driver code): diff --git a/trunk/Documentation/hwmon/coretemp b/trunk/Documentation/hwmon/coretemp index c86b50c03ea8..f17256f069ba 100644 --- a/trunk/Documentation/hwmon/coretemp +++ b/trunk/Documentation/hwmon/coretemp @@ -105,6 +105,7 @@ Process Processor TjMax(C) 330/230 125 E680/660/640/620 90 E680T/660T/640T/620T 110 + CE4170/4150/4110 110 45nm Core2 Processors Solo ULV SU3500/3300 100 diff --git a/trunk/Documentation/hwmon/fam15h_power b/trunk/Documentation/hwmon/fam15h_power index a92918e0bd69..80654813d04a 100644 --- a/trunk/Documentation/hwmon/fam15h_power +++ b/trunk/Documentation/hwmon/fam15h_power @@ -10,7 +10,7 @@ Supported chips: BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors (not yet published) -Author: Andreas Herrmann +Author: Andreas Herrmann Description ----------- diff --git a/trunk/Documentation/hwmon/submitting-patches b/trunk/Documentation/hwmon/submitting-patches index 790f774a3032..843751c41fea 100644 --- a/trunk/Documentation/hwmon/submitting-patches +++ b/trunk/Documentation/hwmon/submitting-patches @@ -60,8 +60,7 @@ increase the chances of your change being accepted. * Add the driver to Kconfig and Makefile in alphabetical order. -* Make sure that all dependencies are listed in Kconfig. For new drivers, it - is most likely prudent to add a dependency on EXPERIMENTAL. +* Make sure that all dependencies are listed in Kconfig. * Avoid forward declarations if you can. Rearrange the code if necessary. diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 9776f068306b..3da4f9670d8b 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -905,6 +905,24 @@ bytes respectively. Such letter suffixes can also be entirely omitted. gpt [EFI] Forces disk with valid GPT signature but invalid Protective MBR to be treated as GPT. + grcan.enable0= [HW] Configuration of physical interface 0. Determines + the "Enable 0" bit of the configuration register. + Format: 0 | 1 + Default: 0 + grcan.enable1= [HW] Configuration of physical interface 1. Determines + the "Enable 0" bit of the configuration register. + Format: 0 | 1 + Default: 0 + grcan.select= [HW] Select which physical interface to use. + Format: 0 | 1 + Default: 0 + grcan.txsize= [HW] Sets the size of the tx buffer. + Format: such that (txsize & ~0x1fffc0) == 0. + Default: 1024 + grcan.rxsize= [HW] Sets the size of the rx buffer. + Format: such that (rxsize & ~0x1fffc0) == 0. + Default: 1024 + hashdist= [KNL,NUMA] Large hashes allocated during boot are distributed across NUMA nodes. Defaults on for 64-bit NUMA, off otherwise. diff --git a/trunk/Documentation/networking/batman-adv.txt b/trunk/Documentation/networking/batman-adv.txt index a173d2a879f5..c1d82047a4b1 100644 --- a/trunk/Documentation/networking/batman-adv.txt +++ b/trunk/Documentation/networking/batman-adv.txt @@ -203,7 +203,8 @@ abled during run time. Following log_levels are defined: 2 - Enable messages related to route added / changed / deleted 4 - Enable messages related to translation table operations 8 - Enable messages related to bridge loop avoidance -15 - enable all messages +16 - Enable messaged related to DAT, ARP snooping and parsing +31 - Enable all messages The debug output can be changed at runtime using the file /sys/class/net/bat0/mesh/log_level. e.g. diff --git a/trunk/Documentation/networking/ip-sysctl.txt b/trunk/Documentation/networking/ip-sysctl.txt index c7fc10724948..c6d5fee888c4 100644 --- a/trunk/Documentation/networking/ip-sysctl.txt +++ b/trunk/Documentation/networking/ip-sysctl.txt @@ -199,15 +199,16 @@ tcp_early_retrans - INTEGER Default: 2 tcp_ecn - INTEGER - Enable Explicit Congestion Notification (ECN) in TCP. ECN is only - used when both ends of the TCP flow support it. It is useful to - avoid losses due to congestion (when the bottleneck router supports - ECN). + Control use of Explicit Congestion Notification (ECN) by TCP. + ECN is used only when both ends of the TCP connection indicate + support for it. This feature is useful in avoiding losses due + to congestion by allowing supporting routers to signal + congestion before having to drop packets. Possible values are: - 0 disable ECN - 1 ECN enabled - 2 Only server-side ECN enabled. If the other end does - not support ECN, behavior is like with ECN disabled. + 0 Disable ECN. Neither initiate nor accept ECN. + 1 Always request ECN on outgoing connection attempts. + 2 Enable ECN when requested by incomming connections + but do not request ECN on outgoing connections. Default: 2 tcp_fack - BOOLEAN @@ -1514,6 +1515,20 @@ cookie_preserve_enable - BOOLEAN Default: 1 +cookie_hmac_alg - STRING + Select the hmac algorithm used when generating the cookie value sent by + a listening sctp socket to a connecting client in the INIT-ACK chunk. + Valid values are: + * md5 + * sha1 + * none + Ability to assign md5 or sha1 as the selected alg is predicated on the + configuarion of those algorithms at build time (CONFIG_CRYPTO_MD5 and + CONFIG_CRYPTO_SHA1). + + Default: Dependent on configuration. MD5 if available, else SHA1 if + available, else none. + rcvbuf_policy - INTEGER Determines if the receive buffer is attributed to the socket or to association. SCTP supports the capability to create multiple diff --git a/trunk/Documentation/networking/netdev-features.txt b/trunk/Documentation/networking/netdev-features.txt index 4164f5c02e4b..f310edec8a77 100644 --- a/trunk/Documentation/networking/netdev-features.txt +++ b/trunk/Documentation/networking/netdev-features.txt @@ -164,4 +164,4 @@ read the CRC recorded by the NIC on receipt of the packet. This requests that the NIC receive all possible frames, including errored frames (such as bad FCS, etc). This can be helpful when sniffing a link with bad packets on it. Some NICs may receive more packets if also put into normal -PROMISC mdoe. +PROMISC mode. diff --git a/trunk/Documentation/networking/packet_mmap.txt b/trunk/Documentation/networking/packet_mmap.txt index 1c08a4b0981f..94444b152fbc 100644 --- a/trunk/Documentation/networking/packet_mmap.txt +++ b/trunk/Documentation/networking/packet_mmap.txt @@ -3,9 +3,9 @@ -------------------------------------------------------------------------------- This file documents the mmap() facility available with the PACKET -socket interface on 2.4 and 2.6 kernels. This type of sockets is used for -capture network traffic with utilities like tcpdump or any other that needs -raw access to network interface. +socket interface on 2.4/2.6/3.x kernels. This type of sockets is used for +i) capture network traffic with utilities like tcpdump, ii) transmit network +traffic, or any other that needs raw access to network interface. You can find the latest version of this document at: http://wiki.ipxwarzone.com/index.php5?title=Linux_packet_mmap @@ -21,19 +21,18 @@ Please send your comments to + Why use PACKET_MMAP -------------------------------------------------------------------------------- -In Linux 2.4/2.6 if PACKET_MMAP is not enabled, the capture process is very -inefficient. It uses very limited buffers and requires one system call -to capture each packet, it requires two if you want to get packet's -timestamp (like libpcap always does). +In Linux 2.4/2.6/3.x if PACKET_MMAP is not enabled, the capture process is very +inefficient. It uses very limited buffers and requires one system call to +capture each packet, it requires two if you want to get packet's timestamp +(like libpcap always does). In the other hand PACKET_MMAP is very efficient. PACKET_MMAP provides a size configurable circular buffer mapped in user space that can be used to either send or receive packets. This way reading packets just needs to wait for them, most of the time there is no need to issue a single system call. Concerning transmission, multiple packets can be sent through one system call to get the -highest bandwidth. -By using a shared buffer between the kernel and the user also has the benefit -of minimizing packet copies. +highest bandwidth. By using a shared buffer between the kernel and the user +also has the benefit of minimizing packet copies. It's fine to use PACKET_MMAP to improve the performance of the capture and transmission process, but it isn't everything. At least, if you are capturing @@ -41,7 +40,8 @@ at high speeds (this is relative to the cpu speed), you should check if the device driver of your network interface card supports some sort of interrupt load mitigation or (even better) if it supports NAPI, also make sure it is enabled. For transmission, check the MTU (Maximum Transmission Unit) used and -supported by devices of your network. +supported by devices of your network. CPU IRQ pinning of your network interface +card can also be an advantage. -------------------------------------------------------------------------------- + How to use mmap() to improve capture process @@ -87,9 +87,7 @@ the following process: socket creation and destruction is straight forward, and is done the same way with or without PACKET_MMAP: -int fd; - -fd= socket(PF_PACKET, mode, htons(ETH_P_ALL)) + int fd = socket(PF_PACKET, mode, htons(ETH_P_ALL)); where mode is SOCK_RAW for the raw interface were link level information can be captured or SOCK_DGRAM for the cooked @@ -163,11 +161,23 @@ As capture, each frame contains two parts: A complete tutorial is available at: http://wiki.gnu-log.net/ +By default, the user should put data at : + frame base + TPACKET_HDRLEN - sizeof(struct sockaddr_ll) + +So, whatever you choose for the socket mode (SOCK_DGRAM or SOCK_RAW), +the beginning of the user data will be at : + frame base + TPACKET_ALIGN(sizeof(struct tpacket_hdr)) + +If you wish to put user data at a custom offset from the beginning of +the frame (for payload alignment with SOCK_RAW mode for instance) you +can set tp_net (with SOCK_DGRAM) or tp_mac (with SOCK_RAW). In order +to make this work it must be enabled previously with setsockopt() +and the PACKET_TX_HAS_OFF option. + -------------------------------------------------------------------------------- + PACKET_MMAP settings -------------------------------------------------------------------------------- - To setup PACKET_MMAP from user level code is done with a call like - Capture process @@ -201,7 +211,6 @@ indeed, packet_set_ring checks that the following condition is true frames_per_block * tp_block_nr == tp_frame_nr - Lets see an example, with the following values: tp_block_size= 4096 @@ -227,7 +236,6 @@ be spawned across two blocks, so there are some details you have to take into account when choosing the frame_size. See "Mapping and use of the circular buffer (ring)". - -------------------------------------------------------------------------------- + PACKET_MMAP setting constraints -------------------------------------------------------------------------------- @@ -264,7 +272,6 @@ User space programs can include /usr/include/sys/user.h and The pagesize can also be determined dynamically with the getpagesize (2) system call. - Block number limit -------------------- @@ -284,7 +291,6 @@ called pg_vec, its size limits the number of blocks that can be allocated. v block #2 block #1 - kmalloc allocates any number of bytes of physically contiguous memory from a pool of pre-determined sizes. This pool of memory is maintained by the slab allocator which is at the end the responsible for doing the allocation and @@ -299,7 +305,6 @@ pointers to blocks is 131072/4 = 32768 blocks - PACKET_MMAP buffer size calculator ------------------------------------ @@ -340,7 +345,6 @@ and a value for of 2048 bytes. These parameters will yield and hence the buffer will have a 262144 MiB size. So it can hold 262144 MiB / 2048 bytes = 134217728 frames - Actually, this buffer size is not possible with an i386 architecture. Remember that the memory is allocated in kernel space, in the case of an i386 kernel's memory size is limited to 1GiB. @@ -372,7 +376,6 @@ the following (from include/linux/if_packet.h): - Start+tp_net: Packet data, aligned to TPACKET_ALIGNMENT=16. - Pad to align to TPACKET_ALIGNMENT=16 */ - The following are conditions that are checked in packet_set_ring @@ -413,7 +416,6 @@ and the following flags apply: #define TP_STATUS_LOSING 4 #define TP_STATUS_CSUMNOTREADY 8 - TP_STATUS_COPY : This flag indicates that the frame (and associated meta information) has been truncated because it's larger than tp_frame_size. This packet can be @@ -462,7 +464,6 @@ packets are in the ring: It doesn't incur in a race condition to first check the status value and then poll for frames. - ++ Transmission process Those defines are also used for transmission: @@ -493,6 +494,196 @@ The user can also use poll() to check if a buffer is available: pfd.events = POLLOUT; retval = poll(&pfd, 1, timeout); +------------------------------------------------------------------------------- ++ What TPACKET versions are available and when to use them? +------------------------------------------------------------------------------- + + int val = tpacket_version; + setsockopt(fd, SOL_PACKET, PACKET_VERSION, &val, sizeof(val)); + getsockopt(fd, SOL_PACKET, PACKET_VERSION, &val, sizeof(val)); + +where 'tpacket_version' can be TPACKET_V1 (default), TPACKET_V2, TPACKET_V3. + +TPACKET_V1: + - Default if not otherwise specified by setsockopt(2) + - RX_RING, TX_RING available + - VLAN metadata information available for packets + (TP_STATUS_VLAN_VALID) + +TPACKET_V1 --> TPACKET_V2: + - Made 64 bit clean due to unsigned long usage in TPACKET_V1 + structures, thus this also works on 64 bit kernel with 32 bit + userspace and the like + - Timestamp resolution in nanoseconds instead of microseconds + - RX_RING, TX_RING available + - How to switch to TPACKET_V2: + 1. Replace struct tpacket_hdr by struct tpacket2_hdr + 2. Query header len and save + 3. Set protocol version to 2, set up ring as usual + 4. For getting the sockaddr_ll, + use (void *)hdr + TPACKET_ALIGN(hdrlen) instead of + (void *)hdr + TPACKET_ALIGN(sizeof(struct tpacket_hdr)) + +TPACKET_V2 --> TPACKET_V3: + - Flexible buffer implementation: + 1. Blocks can be configured with non-static frame-size + 2. Read/poll is at a block-level (as opposed to packet-level) + 3. Added poll timeout to avoid indefinite user-space wait + on idle links + 4. Added user-configurable knobs: + 4.1 block::timeout + 4.2 tpkt_hdr::sk_rxhash + - RX Hash data available in user space + - Currently only RX_RING available + +------------------------------------------------------------------------------- ++ AF_PACKET fanout mode +------------------------------------------------------------------------------- + +In the AF_PACKET fanout mode, packet reception can be load balanced among +processes. This also works in combination with mmap(2) on packet sockets. + +Minimal example code by David S. Miller (try things like "./test eth0 hash", +"./test eth0 lb", etc.): + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include + +#include + +static const char *device_name; +static int fanout_type; +static int fanout_id; + +#ifndef PACKET_FANOUT +# define PACKET_FANOUT 18 +# define PACKET_FANOUT_HASH 0 +# define PACKET_FANOUT_LB 1 +#endif + +static int setup_socket(void) +{ + int err, fd = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_IP)); + struct sockaddr_ll ll; + struct ifreq ifr; + int fanout_arg; + + if (fd < 0) { + perror("socket"); + return EXIT_FAILURE; + } + + memset(&ifr, 0, sizeof(ifr)); + strcpy(ifr.ifr_name, device_name); + err = ioctl(fd, SIOCGIFINDEX, &ifr); + if (err < 0) { + perror("SIOCGIFINDEX"); + return EXIT_FAILURE; + } + + memset(&ll, 0, sizeof(ll)); + ll.sll_family = AF_PACKET; + ll.sll_ifindex = ifr.ifr_ifindex; + err = bind(fd, (struct sockaddr *) &ll, sizeof(ll)); + if (err < 0) { + perror("bind"); + return EXIT_FAILURE; + } + + fanout_arg = (fanout_id | (fanout_type << 16)); + err = setsockopt(fd, SOL_PACKET, PACKET_FANOUT, + &fanout_arg, sizeof(fanout_arg)); + if (err) { + perror("setsockopt"); + return EXIT_FAILURE; + } + + return fd; +} + +static void fanout_thread(void) +{ + int fd = setup_socket(); + int limit = 10000; + + if (fd < 0) + exit(fd); + + while (limit-- > 0) { + char buf[1600]; + int err; + + err = read(fd, buf, sizeof(buf)); + if (err < 0) { + perror("read"); + exit(EXIT_FAILURE); + } + if ((limit % 10) == 0) + fprintf(stdout, "(%d) \n", getpid()); + } + + fprintf(stdout, "%d: Received 10000 packets\n", getpid()); + + close(fd); + exit(0); +} + +int main(int argc, char **argp) +{ + int fd, err; + int i; + + if (argc != 3) { + fprintf(stderr, "Usage: %s INTERFACE {hash|lb}\n", argp[0]); + return EXIT_FAILURE; + } + + if (!strcmp(argp[2], "hash")) + fanout_type = PACKET_FANOUT_HASH; + else if (!strcmp(argp[2], "lb")) + fanout_type = PACKET_FANOUT_LB; + else { + fprintf(stderr, "Unknown fanout type [%s]\n", argp[2]); + exit(EXIT_FAILURE); + } + + device_name = argp[1]; + fanout_id = getpid() & 0xffff; + + for (i = 0; i < 4; i++) { + pid_t pid = fork(); + + switch (pid) { + case 0: + fanout_thread(); + + case -1: + perror("fork"); + exit(EXIT_FAILURE); + } + } + + for (i = 0; i < 4; i++) { + int status; + + wait(&status); + } + + return 0; +} + ------------------------------------------------------------------------------- + PACKET_TIMESTAMP ------------------------------------------------------------------------------- @@ -519,6 +710,13 @@ the networking stack is used (the behavior before this setting was added). See include/linux/net_tstamp.h and Documentation/networking/timestamping for more information on hardware timestamps. +------------------------------------------------------------------------------- ++ Miscellaneous bits +------------------------------------------------------------------------------- + +- Packet sockets work well together with Linux socket filters, thus you also + might want to have a look at Documentation/networking/filter.txt + -------------------------------------------------------------------------------- + THANKS -------------------------------------------------------------------------------- diff --git a/trunk/Documentation/networking/stmmac.txt b/trunk/Documentation/networking/stmmac.txt index ef9ee71b4d7f..f9fa6db40a52 100644 --- a/trunk/Documentation/networking/stmmac.txt +++ b/trunk/Documentation/networking/stmmac.txt @@ -29,11 +29,9 @@ The kernel configuration option is STMMAC_ETH: dma_txsize: DMA tx ring size; buf_sz: DMA buffer size; tc: control the HW FIFO threshold; - tx_coe: Enable/Disable Tx Checksum Offload engine; watchdog: transmit timeout (in milliseconds); flow_ctrl: Flow control ability [on/off]; pause: Flow Control Pause Time; - tmrate: timer period (only if timer optimisation is configured). 3) Command line options Driver parameters can be also passed in command line by using: @@ -60,17 +58,19 @@ Then the poll method will be scheduled at some future point. The incoming packets are stored, by the DMA, in a list of pre-allocated socket buffers in order to avoid the memcpy (Zero-copy). -4.3) Timer-Driver Interrupt -Instead of having the device that asynchronously notifies the frame receptions, -the driver configures a timer to generate an interrupt at regular intervals. -Based on the granularity of the timer, the frames that are received by the -device will experience different levels of latency. Some NICs have dedicated -timer device to perform this task. STMMAC can use either the RTC device or the -TMU channel 2 on STLinux platforms. -The timers frequency can be passed to the driver as parameter; when change it, -take care of both hardware capability and network stability/performance impact. -Several performance tests on STM platforms showed this optimisation allows to -spare the CPU while having the maximum throughput. +4.3) Interrupt Mitigation +The driver is able to mitigate the number of its DMA interrupts +using NAPI for the reception on chips older than the 3.50. +New chips have an HW RX-Watchdog used for this mitigation. + +On Tx-side, the mitigation schema is based on a SW timer that calls the +tx function (stmmac_tx) to reclaim the resource after transmitting the +frames. +Also there is another parameter (like a threshold) used to program +the descriptors avoiding to set the interrupt on completion bit in +when the frame is sent (xmit). + +Mitigation parameters can be tuned by ethtool. 4.4) WOL Wake up on Lan feature through Magic and Unicast frames are supported for the @@ -121,6 +121,7 @@ struct plat_stmmacenet_data { int bugged_jumbo; int pmt; int force_sf_dma_mode; + int riwt_off; void (*fix_mac_speed)(void *priv, unsigned int speed); void (*bus_setup)(void __iomem *ioaddr); int (*init)(struct platform_device *pdev); @@ -156,6 +157,7 @@ Where: o pmt: core has the embedded power module (optional). o force_sf_dma_mode: force DMA to use the Store and Forward mode instead of the Threshold. + o riwt_off: force to disable the RX watchdog feature and switch to NAPI mode. o fix_mac_speed: this callback is used for modifying some syscfg registers (on ST SoCs) according to the link speed negotiated by the physical layer . diff --git a/trunk/Documentation/networking/vxlan.txt b/trunk/Documentation/networking/vxlan.txt index 5b34b762d7d5..6d993510f091 100644 --- a/trunk/Documentation/networking/vxlan.txt +++ b/trunk/Documentation/networking/vxlan.txt @@ -32,7 +32,7 @@ no entry is in the forwarding table. # ip link delete vxlan0 3. Show vxlan info - # ip -d show vxlan0 + # ip -d link show vxlan0 It is possible to create, destroy and display the vxlan forwarding table using the new bridge command. @@ -41,7 +41,7 @@ forwarding table using the new bridge command. # bridge fdb add to 00:17:42:8a:b4:05 dst 192.19.0.2 dev vxlan0 2. Delete forwarding table entry - # bridge fdb delete 00:17:42:8a:b4:05 + # bridge fdb delete 00:17:42:8a:b4:05 dev vxlan0 3. Show forwarding table # bridge fdb show dev vxlan0 diff --git a/trunk/Documentation/sysrq.txt b/trunk/Documentation/sysrq.txt index 642f84495b29..2a4cdda4828e 100644 --- a/trunk/Documentation/sysrq.txt +++ b/trunk/Documentation/sysrq.txt @@ -116,6 +116,7 @@ On all - write a character to /proc/sysrq-trigger. e.g.: 'w' - Dumps tasks that are in uninterruptable (blocked) state. 'x' - Used by xmon interface on ppc/powerpc platforms. + Show global PMU Registers on sparc64. 'y' - Show global CPU Registers [SPARC-64 specific] diff --git a/trunk/Documentation/zh_CN/IRQ.txt b/trunk/Documentation/zh_CN/IRQ.txt new file mode 100644 index 000000000000..956026d5cf82 --- /dev/null +++ b/trunk/Documentation/zh_CN/IRQ.txt @@ -0,0 +1,39 @@ +Chinese translated version of Documentation/IRQ.txt + +If you have any comment or update to the content, please contact the +original document maintainer directly. However, if you have a problem +communicating in English you can also ask the Chinese maintainer for +help. Contact the Chinese maintainer if this translation is outdated +or if there is a problem with the translation. + +Maintainer: Eric W. Biederman +Chinese maintainer: Fu Wei +--------------------------------------------------------------------- +Documentation/IRQ.txt 的中文翻译 + +如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 +交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 +译存在问题,请联系中文版维护者。 +英文版维护者: Eric W. Biederman +中文版维护者: 傅炜 Fu Wei +中文版翻译者: 傅炜 Fu Wei +中文版校译者: 傅炜 Fu Wei + + +以下为正文 +--------------------------------------------------------------------- +何为 IRQ? + +一个 IRQ 是来自某个设备的一个中断请求。目前,它们可以来自一个硬件引脚, +或来自一个数据包。多个设备可能连接到同个硬件引脚,从而共享一个 IRQ。 + +一个 IRQ 编号是用于告知硬件中断源的内核标识。通常情况下,这是一个 +全局 irq_desc 数组的索引,但是除了在 linux/interrupt.h 中的实现, +具体的细节是体系结构特定的。 + +一个 IRQ 编号是设备上某个可能的中断源的枚举。通常情况下,枚举的编号是 +该引脚在系统内中断控制器的所有输入引脚中的编号。对于 ISA 总线中的情况, +枚举的是在两个 i8259 中断控制器中 16 个输入引脚。 + +架构可以对 IRQ 编号指定额外的含义,在硬件涉及任何手工配置的情况下, +是被提倡的。ISA 的 IRQ 是一个分配这类额外含义的典型例子。 diff --git a/trunk/Documentation/zh_CN/arm64/booting.txt b/trunk/Documentation/zh_CN/arm64/booting.txt new file mode 100644 index 000000000000..28fa325b7461 --- /dev/null +++ b/trunk/Documentation/zh_CN/arm64/booting.txt @@ -0,0 +1,156 @@ +Chinese translated version of Documentation/arm64/booting.txt + +If you have any comment or update to the content, please contact the +original document maintainer directly. However, if you have a problem +communicating in English you can also ask the Chinese maintainer for +help. Contact the Chinese maintainer if this translation is outdated +or if there is a problem with the translation. + +Maintainer: Will Deacon +Chinese maintainer: Fu Wei +--------------------------------------------------------------------- +Documentation/arm64/booting.txt 的中文翻译 + +如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 +交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 +译存在问题,请联系中文版维护者。 + +英文版维护者: Will Deacon +中文版维护者: 傅炜 Fu Wei +中文版翻译者: 傅炜 Fu Wei +中文版校译者: 傅炜 Fu Wei + +以下为正文 +--------------------------------------------------------------------- + 启动 AArch64 Linux + ================== + +作者: Will Deacon +日期: 2012 年 09 月 07 日 + +本文档基于 Russell King 的 ARM 启动文档,且适用于所有公开发布的 +AArch64 Linux 内核代码。 + +AArch64 异常模型由多个异常级别(EL0 - EL3)组成,对于 EL0 和 EL1 +异常级有对应的安全和非安全模式。EL2 是系统管理级,且仅存在于 +非安全模式下。EL3 是最高特权级,且仅存在于安全模式下。 + +基于本文档的目的,我们将简单地使用‘引导装载程序’(‘boot loader’) +这个术语来定义在将控制权交给 Linux 内核前 CPU 上执行的所有软件。 +这可能包含安全监控和系统管理代码,或者它可能只是一些用于准备最小启动 +环境的指令。 + +基本上,引导装载程序(至少)应实现以下操作: + +1、设置和初始化 RAM +2、设置设备树数据 +3、解压内核映像 +4、调用内核映像 + + +1、设置和初始化 RAM +----------------- + +必要性: 强制 + +引导装载程序应该找到并初始化系统中所有内核用于保持系统变量数据的 RAM。 +这个操作的执行是设备依赖的。(它可能使用内部算法来自动定位和计算所有 +RAM,或可能使用对这个设备已知的 RAM 信息,还可能使用任何引导装载程序 +设计者想到的匹配方法。) + + +2、设置设备树数据 +--------------- + +必要性: 强制 + +设备树数据块(dtb)大小必须不大于 2 MB,且位于从内核映像起始算起第一个 +512MB 内的 2MB 边界上。这使得内核可以通过初始页表中的单个节描述符来 +映射此数据块。 + + +3、解压内核映像 +------------- + +必要性: 可选 + +AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内核映像文件 +(比如 Image.gz),则需要通过引导装载程序(使用 gzip 等)来进行解压。 +若引导装载程序没有实现这个需求,就要使用非压缩内核映像文件。 + + +4、调用内核映像 +------------- + +必要性: 强制 + +已解压的内核映像包含一个 32 字节的头,内容如下: + + u32 magic = 0x14000008; /* 跳转到 stext, 小端 */ + u32 res0 = 0; /* 保留 */ + u64 text_offset; /* 映像装载偏移 */ + u64 res1 = 0; /* 保留 */ + u64 res2 = 0; /* 保留 */ + +映像必须位于系统 RAM 起始处的特定偏移(当前是 0x80000)。系统 RAM +的起始地址必须是以 2MB 对齐的。 + +在跳转入内核前,必须符合以下状态: + +- 停止所有 DMA 设备,这样内存数据就不会因为虚假网络包或磁盘数据而 + 被破坏。这可能可以节省你许多的调试时间。 + +- 主 CPU 通用寄存器设置 + x0 = 系统 RAM 中设备树数据块(dtb)的物理地址。 + x1 = 0 (保留,将来可能使用) + x2 = 0 (保留,将来可能使用) + x3 = 0 (保留,将来可能使用) + +- CPU 模式 + 所有形式的中断必须在 PSTATE.DAIF 中被屏蔽(Debug、SError、IRQ + 和 FIQ)。 + CPU 必须处于 EL2(推荐,可访问虚拟化扩展)或非安全 EL1 模式下。 + +- 高速缓存、MMU + MMU 必须关闭。 + 指令缓存开启或关闭都可以。 + 数据缓存必须关闭且无效。 + 外部高速缓存(如果存在)必须配置并禁用。 + +- 架构计时器 + CNTFRQ 必须设定为计时器的频率。 + 如果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 EL1PCTEN (bit 0) + 必须置位。 + +- 一致性 + 通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。 + 这可能要根据具体实现来定义初始化过程,以使能每个CPU上对维护操作的 + 接收。 + +- 系统寄存器 + 在进入内核映像的异常级中,所有构架中可写的系统寄存器必须通过软件 + 在一个更高的异常级别下初始化,以防止在 未知 状态下运行。 + +引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口: + +- 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树 + 数据块必须在每个 CPU 节点中包含以下内容: + + 1、‘enable-method’属性。目前,此字段支持的值仅为字符串“spin-table”。 + + 2、‘cpu-release-addr’标识一个 64-bit、初始化为零的内存位置。 + + 引导装载程序必须生成这些设备树属性,并在跳入内核入口之前将其插入 + 数据块。 + +- 任何辅助 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 + 给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须 + 包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将 + 发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值 + 时,CPU 必须直接跳入此值所指向的地址。 + +- 辅助 CPU 通用寄存器设置 + x0 = 0 (保留,将来可能使用) + x1 = 0 (保留,将来可能使用) + x2 = 0 (保留,将来可能使用) + x3 = 0 (保留,将来可能使用) diff --git a/trunk/Documentation/zh_CN/arm64/memory.txt b/trunk/Documentation/zh_CN/arm64/memory.txt new file mode 100644 index 000000000000..83b519314706 --- /dev/null +++ b/trunk/Documentation/zh_CN/arm64/memory.txt @@ -0,0 +1,93 @@ +Chinese translated version of Documentation/arm64/memory.txt + +If you have any comment or update to the content, please contact the +original document maintainer directly. However, if you have a problem +communicating in English you can also ask the Chinese maintainer for +help. Contact the Chinese maintainer if this translation is outdated +or if there is a problem with the translation. + +Maintainer: Catalin Marinas +Chinese maintainer: Fu Wei +--------------------------------------------------------------------- +Documentation/arm64/memory.txt 的中文翻译 + +如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 +交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 +译存在问题,请联系中文版维护者。 + +英文版维护者: Catalin Marinas +中文版维护者: 傅炜 Fu Wei +中文版翻译者: 傅炜 Fu Wei +中文版校译者: 傅炜 Fu Wei + +以下为正文 +--------------------------------------------------------------------- + Linux 在 AArch64 中的内存布局 + =========================== + +作者: Catalin Marinas +日期: 2012 年 02 月 20 日 + +本文档描述 AArch64 Linux 内核所使用的虚拟内存布局。此构架可以实现 +页大小为 4KB 的 4 级转换表和页大小为 64KB 的 3 级转换表。 + +AArch64 Linux 使用页大小为 4KB 的 3 级转换表配置,对于用户和内核 +都有 39-bit (512GB) 的虚拟地址空间。对于页大小为 64KB的配置,仅 +使用 2 级转换表,但内存布局相同。 + +用户地址空间的 63:39 位为 0,而内核地址空间的相应位为 1。TTBRx 的 +选择由虚拟地址的 63 位给出。swapper_pg_dir 仅包含内核(全局)映射, +而用户 pgd 仅包含用户(非全局)映射。swapper_pgd_dir 地址被写入 +TTBR1 中,且从不写入 TTBR0。 + + +AArch64 Linux 内存布局: + +起始地址 结束地址 大小 用途 +----------------------------------------------------------------------- +0000000000000000 0000007fffffffff 512GB 用户空间 + +ffffff8000000000 ffffffbbfffcffff ~240GB vmalloc + +ffffffbbfffd0000 ffffffbcfffdffff 64KB [防护页] + +ffffffbbfffe0000 ffffffbcfffeffff 64KB PCI I/O 空间 + +ffffffbbffff0000 ffffffbcffffffff 64KB [防护页] + +ffffffbc00000000 ffffffbdffffffff 8GB vmemmap + +ffffffbe00000000 ffffffbffbffffff ~8GB [防护页,未来用于 vmmemap] + +ffffffbffc000000 ffffffbfffffffff 64MB 模块 + +ffffffc000000000 ffffffffffffffff 256GB 内存空间 + + +4KB 页大小的转换表查找: + ++--------+--------+--------+--------+--------+--------+--------+--------+ +|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0| ++--------+--------+--------+--------+--------+--------+--------+--------+ + | | | | | | + | | | | | v + | | | | | [11:0] 页内偏移 + | | | | +-> [20:12] L3 索引 + | | | +-----------> [29:21] L2 索引 + | | +---------------------> [38:30] L1 索引 + | +-------------------------------> [47:39] L0 索引 (未使用) + +-------------------------------------------------> [63] TTBR0/1 + + +64KB 页大小的转换表查找: + ++--------+--------+--------+--------+--------+--------+--------+--------+ +|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0| ++--------+--------+--------+--------+--------+--------+--------+--------+ + | | | | | + | | | | v + | | | | [15:0] 页内偏移 + | | | +----------> [28:16] L3 索引 + | | +--------------------------> [41:29] L2 索引 (仅使用 38:29 ) + | +-------------------------------> [47:42] L1 索引 (未使用) + +-------------------------------------------------> [63] TTBR0/1 diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index e73060fe0788..5d72dd57b78a 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -235,6 +235,7 @@ F: drivers/platform/x86/acer-wmi.c ACPI M: Len Brown +M: Rafael J. Wysocki L: linux-acpi@vger.kernel.org W: http://www.lesswatts.org/projects/acpi/ Q: http://patchwork.kernel.org/project/linux-acpi/list/ @@ -502,7 +503,7 @@ F: include/linux/altera_uart.h F: include/linux/altera_jtaguart.h AMD FAM15H PROCESSOR POWER MONITORING DRIVER -M: Andreas Herrmann +M: Andreas Herrmann L: lm-sensors@lm-sensors.org S: Maintained F: Documentation/hwmon/fam15h_power @@ -525,17 +526,17 @@ F: drivers/video/geode/ F: arch/x86/include/asm/geode.h AMD IOMMU (AMD-VI) -M: Joerg Roedel +M: Joerg Roedel L: iommu@lists.linux-foundation.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git -S: Supported +S: Maintained F: drivers/iommu/amd_iommu*.[ch] F: include/linux/amd-iommu.h AMD MICROCODE UPDATE SUPPORT -M: Andreas Herrmann +M: Andreas Herrmann L: amd64-microcode@amd64.org -S: Supported +S: Maintained F: arch/x86/kernel/microcode_amd.c AMS (Apple Motion Sensor) DRIVER @@ -636,6 +637,13 @@ W: http://www.arm.linux.org.uk/ S: Maintained F: arch/arm/ +ARM SUB-ARCHITECTURES +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: MAINTAINED +F: arch/arm/mach-*/ +F: arch/arm/plat-*/ +T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git + ARM PRIMECELL AACI PL041 DRIVER M: Russell King S: Maintained @@ -833,6 +841,14 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git F: arch/arm/mach-sa1100/jornada720.c F: arch/arm/mach-sa1100/include/mach/jornada720.h +ARM/IGEP MACHINE SUPPORT +M: Enric Balletbo i Serra +M: Javier Martinez Canillas +L: linux-omap@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-omap2/board-igep0020.c + ARM/INCOME PXA270 SUPPORT M: Marek Vasut L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) @@ -2499,6 +2515,7 @@ M: Joonyoung Shim M: Seung-Woo Kim M: Kyungmin Park L: dri-devel@lists.freedesktop.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git S: Supported F: drivers/gpu/drm/exynos F: include/drm/exynos* @@ -2699,10 +2716,10 @@ F: include/linux/edac.h EDAC-AMD64 M: Doug Thompson -M: Borislav Petkov +M: Borislav Petkov L: linux-edac@vger.kernel.org W: bluesmoke.sourceforge.net -S: Supported +S: Maintained F: drivers/edac/amd64_edac* EDAC-E752X @@ -2801,6 +2818,7 @@ F: sound/usb/misc/ua101.c EXTENSIBLE FIRMWARE INTERFACE (EFI) M: Matt Fleming L: linux-efi@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git S: Maintained F: Documentation/x86/efi-stub.txt F: arch/ia64/kernel/efi.c @@ -3588,6 +3606,49 @@ F: drivers/hid/hid-hyperv.c F: drivers/net/hyperv/ F: drivers/staging/hv/ +I2C OVER PARALLEL PORT +M: Jean Delvare +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-parport +F: Documentation/i2c/busses/i2c-parport-light +F: drivers/i2c/busses/i2c-parport.c +F: drivers/i2c/busses/i2c-parport-light.c + +I2C/SMBUS CONTROLLER DRIVERS FOR PC +M: Jean Delvare +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-ali1535 +F: Documentation/i2c/busses/i2c-ali1563 +F: Documentation/i2c/busses/i2c-ali15x3 +F: Documentation/i2c/busses/i2c-amd756 +F: Documentation/i2c/busses/i2c-amd8111 +F: Documentation/i2c/busses/i2c-i801 +F: Documentation/i2c/busses/i2c-nforce2 +F: Documentation/i2c/busses/i2c-piix4 +F: Documentation/i2c/busses/i2c-sis5595 +F: Documentation/i2c/busses/i2c-sis630 +F: Documentation/i2c/busses/i2c-sis96x +F: Documentation/i2c/busses/i2c-via +F: Documentation/i2c/busses/i2c-viapro +F: drivers/i2c/busses/i2c-ali1535.c +F: drivers/i2c/busses/i2c-ali1563.c +F: drivers/i2c/busses/i2c-ali15x3.c +F: drivers/i2c/busses/i2c-amd756.c +F: drivers/i2c/busses/i2c-amd756-s4882.c +F: drivers/i2c/busses/i2c-amd8111.c +F: drivers/i2c/busses/i2c-i801.c +F: drivers/i2c/busses/i2c-isch.c +F: drivers/i2c/busses/i2c-nforce2.c +F: drivers/i2c/busses/i2c-nforce2-s4985.c +F: drivers/i2c/busses/i2c-piix4.c +F: drivers/i2c/busses/i2c-sis5595.c +F: drivers/i2c/busses/i2c-sis630.c +F: drivers/i2c/busses/i2c-sis96x.c +F: drivers/i2c/busses/i2c-via.c +F: drivers/i2c/busses/i2c-viapro.c + I2C/SMBUS STUB DRIVER M: "Mark M. Hoffman" L: linux-i2c@vger.kernel.org @@ -3595,9 +3656,8 @@ S: Maintained F: drivers/i2c/busses/i2c-stub.c I2C SUBSYSTEM -M: "Jean Delvare (PC drivers, core)" +M: Wolfram Sang M: "Ben Dooks (embedded platforms)" -M: "Wolfram Sang (embedded platforms)" L: linux-i2c@vger.kernel.org W: http://i2c.wiki.kernel.org/ T: quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/ @@ -3608,6 +3668,13 @@ F: drivers/i2c/ F: include/linux/i2c.h F: include/linux/i2c-*.h +I2C-TAOS-EVM DRIVER +M: Jean Delvare +L: linux-i2c@vger.kernel.org +S: Maintained +F: Documentation/i2c/busses/i2c-taos-evm +F: drivers/i2c/busses/i2c-taos-evm.c + I2C-TINY-USB DRIVER M: Till Harbaum L: linux-i2c@vger.kernel.org @@ -3694,7 +3761,7 @@ S: Maintained F: drivers/platform/x86/ideapad-laptop.c IDE/ATAPI DRIVERS -M: Borislav Petkov +M: Borislav Petkov L: linux-ide@vger.kernel.org S: Maintained F: Documentation/cdrom/ide-cd @@ -3869,7 +3936,9 @@ M: Greg Rose M: Peter P Waskiewicz Jr M: Alex Duyck M: John Ronciak +M: Tushar Dave L: e1000-devel@lists.sourceforge.net +W: http://www.intel.com/support/feedback.htm W: http://e1000.sourceforge.net/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git @@ -4221,8 +4290,8 @@ F: include/linux/lockd/ F: include/linux/sunrpc/ KERNEL VIRTUAL MACHINE (KVM) -M: Avi Kivity M: Marcelo Tosatti +M: Gleb Natapov L: kvm@vger.kernel.org W: http://kvm.qumranet.com S: Supported @@ -4372,7 +4441,7 @@ F: Documentation/scsi/53c700.txt F: drivers/scsi/53c700* LED SUBSYSTEM -M: Bryan Wu +M: Bryan Wu M: Richard Purdie L: linux-leds@vger.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds.git @@ -4995,7 +5064,7 @@ NETWORKING [GENERAL] M: "David S. Miller" L: netdev@vger.kernel.org W: http://www.linuxfoundation.org/en/Net -W: http://patchwork.ozlabs.org/project/netdev/list/ +Q: http://patchwork.ozlabs.org/project/netdev/list/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git S: Maintained @@ -5019,6 +5088,20 @@ F: net/ipv6/ F: include/net/ip* F: arch/x86/net/* +NETWORKING [IPSEC] +M: Steffen Klassert +M: Herbert Xu +M: "David S. Miller" +L: netdev@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git +S: Maintained +F: net/xfrm/ +F: net/key/ +F: net/ipv4/xfrm* +F: net/ipv6/xfrm* +F: include/uapi/linux/xfrm.h +F: include/net/xfrm.h + NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK) M: Paul Moore L: netdev@vger.kernel.org @@ -5041,12 +5124,19 @@ F: drivers/net/wireless/ NETWORKING DRIVERS L: netdev@vger.kernel.org W: http://www.linuxfoundation.org/en/Net +Q: http://patchwork.ozlabs.org/project/netdev/list/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git S: Odd Fixes F: drivers/net/ F: include/linux/if_* -F: include/linux/*device.h +F: include/linux/netdevice.h +F: include/linux/arcdevice.h +F: include/linux/etherdevice.h +F: include/linux/fcdevice.h +F: include/linux/fddidevice.h +F: include/linux/hippidevice.h +F: include/linux/inetdevice.h NETXEN (1/10) GbE SUPPORT M: Sony Chacko @@ -5067,6 +5157,7 @@ F: net/nfc/ F: include/linux/nfc.h F: include/net/nfc/ F: drivers/nfc/ +F: include/linux/platform_data/pn544.h NFS, SUNRPC, AND LOCKD CLIENTS M: Trond Myklebust @@ -5334,7 +5425,7 @@ S: Maintained F: sound/drivers/opl4/ OPROFILE -M: Robert Richter +M: Robert Richter L: oprofile-list@lists.sf.net S: Maintained F: arch/*/include/asm/oprofile*.h @@ -5618,7 +5709,7 @@ S: Maintained F: drivers/pinctrl/spear/ PKTCDVD DRIVER -M: Peter Osterlund +M: Jiri Kosina S: Maintained F: drivers/block/pktcdvd.c F: include/linux/pktcdvd.h @@ -6336,6 +6427,7 @@ F: drivers/scsi/st* SCTP PROTOCOL M: Vlad Yasevich M: Sridhar Samudrala +M: Neil Horman L: linux-sctp@vger.kernel.org W: http://lksctp.sourceforge.net S: Maintained @@ -7180,6 +7272,14 @@ L: linux-xtensa@linux-xtensa.org S: Maintained F: arch/xtensa/ +THERMAL +M: Zhang Rui +L: linux-pm@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git +S: Supported +F: drivers/thermal/ +F: include/linux/thermal.h + THINKPAD ACPI EXTRAS DRIVER M: Henrique de Moraes Holschuh L: ibm-acpi-devel@lists.sourceforge.net @@ -7477,6 +7577,12 @@ S: Maintained F: Documentation/usb/acm.txt F: drivers/usb/class/cdc-acm.* +USB AR5523 WIRELESS DRIVER +M: Pontus Fuchs +L: linux-wireless@vger.kernel.org +S: Maintained +F: drivers/net/wireless/ath/ar5523/ + USB ATTACHED SCSI M: Matthew Wilcox M: Sarah Sharp @@ -7731,6 +7837,13 @@ W: http://www.ideasonboard.org/uvc/ S: Maintained F: drivers/media/usb/uvc/ +USB WEBCAM GADGET +M: Laurent Pinchart +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/gadget/*uvc*.c +F: drivers/usb/gadget/webcam.c + USB WIRELESS RNDIS DRIVER (rndis_wlan) M: Jussi Kivilinna L: linux-wireless@vger.kernel.org @@ -7850,13 +7963,6 @@ M: Roger Luethi S: Maintained F: drivers/net/ethernet/via/via-rhine.c -VIAPRO SMBUS DRIVER -M: Jean Delvare -L: linux-i2c@vger.kernel.org -S: Maintained -F: Documentation/i2c/busses/i2c-viapro -F: drivers/i2c/busses/i2c-viapro.c - VIA SD/MMC CARD CONTROLLER DRIVER M: Bruce Chang M: Harald Welte @@ -8111,7 +8217,7 @@ F: drivers/platform/x86 X86 MCE INFRASTRUCTURE M: Tony Luck -M: Borislav Petkov +M: Borislav Petkov L: linux-edac@vger.kernel.org S: Maintained F: arch/x86/kernel/cpu/mcheck/* diff --git a/trunk/Makefile b/trunk/Makefile index 5be2ee8c90e4..3d2fc460b22f 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 7 SUBLEVEL = 0 -EXTRAVERSION = -rc1 +EXTRAVERSION = -rc7 NAME = Terrified Chipmunk # *DOCUMENTATION* @@ -437,7 +437,9 @@ endif PHONY += asm-generic asm-generic: $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \ - obj=arch/$(SRCARCH)/include/generated/asm + src=asm obj=arch/$(SRCARCH)/include/generated/asm + $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \ + src=uapi/asm obj=arch/$(SRCARCH)/include/generated/uapi/asm # To make sure we do not include .config for any of the *config targets # catch them early, and hand them over to scripts/kconfig/Makefile @@ -717,6 +719,17 @@ endif # INSTALL_MOD_STRIP export mod_strip_cmd +ifeq ($(CONFIG_MODULE_SIG),y) +MODSECKEY = ./signing_key.priv +MODPUBKEY = ./signing_key.x509 +export MODPUBKEY +mod_sign_cmd = perl $(srctree)/scripts/sign-file $(MODSECKEY) $(MODPUBKEY) +else +mod_sign_cmd = true +endif +export mod_sign_cmd + + ifeq ($(KBUILD_EXTMOD),) core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ diff --git a/trunk/arch/alpha/include/asm/socket.h b/trunk/arch/alpha/include/asm/socket.h index 7d2f75be932e..0087d053b77f 100644 --- a/trunk/arch/alpha/include/asm/socket.h +++ b/trunk/arch/alpha/include/asm/socket.h @@ -47,6 +47,7 @@ /* Socket filtering */ #define SO_ATTACH_FILTER 26 #define SO_DETACH_FILTER 27 +#define SO_GET_FILTER SO_ATTACH_FILTER #define SO_PEERNAME 28 #define SO_TIMESTAMP 29 diff --git a/trunk/arch/alpha/include/asm/thread_info.h b/trunk/arch/alpha/include/asm/thread_info.h index 4554ecbff7c6..1f8c72959fb6 100644 --- a/trunk/arch/alpha/include/asm/thread_info.h +++ b/trunk/arch/alpha/include/asm/thread_info.h @@ -7,6 +7,7 @@ #include #include #include +#include #endif #ifndef __ASSEMBLY__ @@ -21,6 +22,7 @@ struct thread_info { mm_segment_t addr_limit; /* thread address space */ unsigned cpu; /* current CPU */ int preempt_count; /* 0 => preemptable, <0 => BUG */ + unsigned int status; /* thread-synchronous flags */ int bpt_nsaved; unsigned long bpt_addr[2]; /* breakpoint handling */ @@ -63,8 +65,6 @@ register struct thread_info *__current_thread_info __asm__("$8"); * - these are process state flags and used from assembly * - pending work-to-be-done flags come first and must be assigned to be * within bits 0 to 7 to fit in and immediate operand. - * - ALPHA_UAC_SHIFT below must be kept consistent with the unaligned - * control flags. * * TIF_SYSCALL_TRACE is known to be 0 via blbs. */ @@ -72,18 +72,12 @@ register struct thread_info *__current_thread_info __asm__("$8"); #define TIF_NOTIFY_RESUME 1 /* callback before returning to user */ #define TIF_SIGPENDING 2 /* signal pending */ #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ -#define TIF_POLLING_NRFLAG 8 /* poll_idle is polling NEED_RESCHED */ #define TIF_DIE_IF_KERNEL 9 /* dik recursion lock */ -#define TIF_UAC_NOPRINT 10 /* ! Preserve sequence of following */ -#define TIF_UAC_NOFIX 11 /* ! flags as they match */ -#define TIF_UAC_SIGBUS 12 /* ! userspace part of 'osf_sysinfo' */ #define TIF_MEMDIE 13 /* is terminating due to OOM killer */ -#define TIF_RESTORE_SIGMASK 14 /* restore signal mask in do_signal */ #define _TIF_SYSCALL_TRACE (1<flags = ((task_thread_info(task)->flags & \ - ~ALPHA_UAC_MASK) \ - | (((value) << ALPHA_UAC_SHIFT) & (1<status & TS_POLLING) + +#ifndef __ASSEMBLY__ +#define HAVE_SET_RESTORE_SIGMASK 1 +static inline void set_restore_sigmask(void) +{ + struct thread_info *ti = current_thread_info(); + ti->status |= TS_RESTORE_SIGMASK; + WARN_ON(!test_bit(TIF_SIGPENDING, (unsigned long *)&ti->flags)); +} +static inline void clear_restore_sigmask(void) +{ + current_thread_info()->status &= ~TS_RESTORE_SIGMASK; +} +static inline bool test_restore_sigmask(void) +{ + return current_thread_info()->status & TS_RESTORE_SIGMASK; +} +static inline bool test_and_clear_restore_sigmask(void) +{ + struct thread_info *ti = current_thread_info(); + if (!(ti->status & TS_RESTORE_SIGMASK)) + return false; + ti->status &= ~TS_RESTORE_SIGMASK; + return true; +} +#endif + +#define SET_UNALIGN_CTL(task,value) ({ \ + __u32 status = task_thread_info(task)->status & ~UAC_BITMASK; \ + if (value & PR_UNALIGN_NOPRINT) \ + status |= TS_UAC_NOPRINT; \ + if (value & PR_UNALIGN_SIGBUS) \ + status |= TS_UAC_SIGBUS; \ + if (value & 4) /* alpha-specific */ \ + status |= TS_UAC_NOFIX; \ + task_thread_info(task)->status = status; \ 0; }) #define GET_UNALIGN_CTL(task,value) ({ \ - put_user((task_thread_info(task)->flags & (1 << TIF_UAC_NOPRINT))\ - >> ALPHA_UAC_SHIFT \ - | (task_thread_info(task)->flags & (1 << TIF_UAC_SIGBUS))\ - >> (ALPHA_UAC_SHIFT + 1) \ - | (task_thread_info(task)->flags & (1 << TIF_UAC_NOFIX))\ - >> (ALPHA_UAC_SHIFT - 1), \ - (int __user *)(value)); \ + __u32 status = task_thread_info(task)->status & ~UAC_BITMASK; \ + __u32 res = 0; \ + if (status & TS_UAC_NOPRINT) \ + res |= PR_UNALIGN_NOPRINT; \ + if (status & TS_UAC_SIGBUS) \ + res |= PR_UNALIGN_SIGBUS; \ + if (status & TS_UAC_NOFIX) \ + res |= 4; \ + put_user(res, (int __user *)(value)); \ }) -#define tsk_is_polling(t) test_tsk_thread_flag(t, TIF_POLLING_NRFLAG) - #endif /* __KERNEL__ */ #endif /* _ALPHA_THREAD_INFO_H */ diff --git a/trunk/arch/alpha/kernel/osf_sys.c b/trunk/arch/alpha/kernel/osf_sys.c index 9eb090582cf1..14db93e4c8a8 100644 --- a/trunk/arch/alpha/kernel/osf_sys.c +++ b/trunk/arch/alpha/kernel/osf_sys.c @@ -445,7 +445,7 @@ struct procfs_args { * unhappy with OSF UFS. [CHECKME] */ static int -osf_ufs_mount(char *dirname, struct ufs_args __user *args, int flags) +osf_ufs_mount(const char *dirname, struct ufs_args __user *args, int flags) { int retval; struct cdfs_args tmp; @@ -465,7 +465,7 @@ osf_ufs_mount(char *dirname, struct ufs_args __user *args, int flags) } static int -osf_cdfs_mount(char *dirname, struct cdfs_args __user *args, int flags) +osf_cdfs_mount(const char *dirname, struct cdfs_args __user *args, int flags) { int retval; struct cdfs_args tmp; @@ -485,7 +485,7 @@ osf_cdfs_mount(char *dirname, struct cdfs_args __user *args, int flags) } static int -osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags) +osf_procfs_mount(const char *dirname, struct procfs_args __user *args, int flags) { struct procfs_args tmp; @@ -793,8 +793,7 @@ SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer, case GSI_UACPROC: if (nbytes < sizeof(unsigned int)) return -EINVAL; - w = (current_thread_info()->flags >> ALPHA_UAC_SHIFT) & - UAC_BITMASK; + w = current_thread_info()->status & UAC_BITMASK; if (put_user(w, (unsigned int __user *)buffer)) return -EFAULT; return 1; @@ -904,24 +903,20 @@ SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer, break; case SSI_NVPAIRS: { - unsigned long v, w, i; - unsigned int old, new; + unsigned __user *p = buffer; + unsigned i; - for (i = 0; i < nbytes; ++i) { + for (i = 0, p = buffer; i < nbytes; ++i, p += 2) { + unsigned v, w, status; - if (get_user(v, 2*i + (unsigned int __user *)buffer)) - return -EFAULT; - if (get_user(w, 2*i + 1 + (unsigned int __user *)buffer)) + if (get_user(v, p) || get_user(w, p + 1)) return -EFAULT; switch (v) { case SSIN_UACPROC: - again: - old = current_thread_info()->flags; - new = old & ~(UAC_BITMASK << ALPHA_UAC_SHIFT); - new = new | (w & UAC_BITMASK) << ALPHA_UAC_SHIFT; - if (cmpxchg(¤t_thread_info()->flags, - old, new) != old) - goto again; + w &= UAC_BITMASK; + status = current_thread_info()->status; + status = (status & ~UAC_BITMASK) | w; + current_thread_info()->status = status; break; default: diff --git a/trunk/arch/alpha/kernel/process.c b/trunk/arch/alpha/kernel/process.c index 4054e0ffe2b2..51987dcf79b8 100644 --- a/trunk/arch/alpha/kernel/process.c +++ b/trunk/arch/alpha/kernel/process.c @@ -49,7 +49,7 @@ EXPORT_SYMBOL(pm_power_off); void cpu_idle(void) { - set_thread_flag(TIF_POLLING_NRFLAG); + current_thread_info()->status |= TS_POLLING; while (1) { /* FIXME -- EV6 and LCA45 know how to power down diff --git a/trunk/arch/alpha/kernel/traps.c b/trunk/arch/alpha/kernel/traps.c index 80d987c0e9aa..272666d006df 100644 --- a/trunk/arch/alpha/kernel/traps.c +++ b/trunk/arch/alpha/kernel/traps.c @@ -780,17 +780,17 @@ do_entUnaUser(void __user * va, unsigned long opcode, /* Check the UAC bits to decide what the user wants us to do with the unaliged access. */ - if (!test_thread_flag (TIF_UAC_NOPRINT)) { + if (!(current_thread_info()->status & TS_UAC_NOPRINT)) { if (__ratelimit(&ratelimit)) { printk("%s(%d): unaligned trap at %016lx: %p %lx %ld\n", current->comm, task_pid_nr(current), regs->pc - 4, va, opcode, reg); } } - if (test_thread_flag (TIF_UAC_SIGBUS)) + if ((current_thread_info()->status & TS_UAC_SIGBUS)) goto give_sigbus; /* Not sure why you'd want to use this, but... */ - if (test_thread_flag (TIF_UAC_NOFIX)) + if ((current_thread_info()->status & TS_UAC_NOFIX)) return; /* Don't bother reading ds in the access check since we already diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 73067efd4845..ade7e924bef5 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -1603,8 +1603,8 @@ config NR_CPUS default "4" config HOTPLUG_CPU - bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" - depends on SMP && HOTPLUG && EXPERIMENTAL + bool "Support for hot-pluggable CPUs" + depends on SMP && HOTPLUG help Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. @@ -1645,8 +1645,8 @@ config HZ default 100 config THUMB2_KERNEL - bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)" - depends on CPU_V7 && !CPU_V6 && !CPU_V6K && EXPERIMENTAL + bool "Compile the kernel in Thumb-2 mode" + depends on CPU_V7 && !CPU_V6 && !CPU_V6K select AEABI select ARM_ASM_UNIFIED select ARM_UNWIND @@ -1850,6 +1850,7 @@ config XEN_DOM0 config XEN bool "Xen guest support on ARM (EXPERIMENTAL)" depends on EXPERIMENTAL && ARM && OF + depends on CPU_V7 && !CPU_V6 help Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. diff --git a/trunk/arch/arm/Makefile b/trunk/arch/arm/Makefile index f023e3acdfbd..5f914fca911b 100644 --- a/trunk/arch/arm/Makefile +++ b/trunk/arch/arm/Makefile @@ -21,8 +21,6 @@ endif OBJCOPYFLAGS :=-O binary -R .comment -S GZFLAGS :=-9 #KBUILD_CFLAGS +=-pipe -# Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb: -KBUILD_CFLAGS +=$(call cc-option,-marm,) # Never generate .eh_frame KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm) @@ -105,17 +103,20 @@ endif ifeq ($(CONFIG_THUMB2_KERNEL),y) AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=always,-Wa$(comma)-mauto-it) AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W) -CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN) -AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb +CFLAGS_ISA :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN) +AFLAGS_ISA :=$(CFLAGS_ISA) -Wa$(comma)-mthumb # Work around buggy relocation from gas if requested: ifeq ($(CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11),y) CFLAGS_MODULE +=-fno-optimize-sibling-calls endif +else +CFLAGS_ISA :=$(call cc-option,-marm,) +AFLAGS_ISA :=$(CFLAGS_ISA) endif # Need -Uarm for gcc < 3.x -KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_THUMB2) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm -KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_THUMB2) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float +KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm +KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float CHECKFLAGS += -D__arm__ diff --git a/trunk/arch/arm/boot/Makefile b/trunk/arch/arm/boot/Makefile index 3fdab016aa5c..9137df539b61 100644 --- a/trunk/arch/arm/boot/Makefile +++ b/trunk/arch/arm/boot/Makefile @@ -33,7 +33,7 @@ ifeq ($(CONFIG_XIP_KERNEL),y) $(obj)/xipImage: vmlinux FORCE $(call if_changed,objcopy) - @echo ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' + @$(kecho) ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' $(obj)/Image $(obj)/zImage: FORCE @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' @@ -48,14 +48,14 @@ $(obj)/xipImage: FORCE $(obj)/Image: vmlinux FORCE $(call if_changed,objcopy) - @echo ' Kernel: $@ is ready' + @$(kecho) ' Kernel: $@ is ready' $(obj)/compressed/vmlinux: $(obj)/Image FORCE $(Q)$(MAKE) $(build)=$(obj)/compressed $@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE $(call if_changed,objcopy) - @echo ' Kernel: $@ is ready' + @$(kecho) ' Kernel: $@ is ready' endif @@ -90,7 +90,7 @@ fi $(obj)/uImage: $(obj)/zImage FORCE @$(check_for_multiple_loadaddr) $(call if_changed,uimage) - @echo ' Image $@ is ready' + @$(kecho) ' Image $@ is ready' $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE $(Q)$(MAKE) $(build)=$(obj)/bootp $@ @@ -98,7 +98,7 @@ $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE $(obj)/bootpImage: $(obj)/bootp/bootp FORCE $(call if_changed,objcopy) - @echo ' Kernel: $@ is ready' + @$(kecho) ' Kernel: $@ is ready' PHONY += initrd FORCE initrd: diff --git a/trunk/arch/arm/boot/compressed/head.S b/trunk/arch/arm/boot/compressed/head.S index 90275f036cd1..49ca86e37b8d 100644 --- a/trunk/arch/arm/boot/compressed/head.S +++ b/trunk/arch/arm/boot/compressed/head.S @@ -652,6 +652,15 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size mov pc, lr ENDPROC(__setup_mmu) +@ Enable unaligned access on v6, to allow better code generation +@ for the decompressor C code: +__armv6_mmu_cache_on: + mrc p15, 0, r0, c1, c0, 0 @ read SCTLR + bic r0, r0, #2 @ A (no unaligned access fault) + orr r0, r0, #1 << 22 @ U (v6 unaligned access model) + mcr p15, 0, r0, c1, c0, 0 @ write SCTLR + b __armv4_mmu_cache_on + __arm926ejs_mmu_cache_on: #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH mov r0, #4 @ put dcache in WT mode @@ -694,6 +703,9 @@ __armv7_mmu_cache_on: bic r0, r0, #1 << 28 @ clear SCTLR.TRE orr r0, r0, #0x5000 @ I-cache enable, RR cache replacement orr r0, r0, #0x003c @ write buffer + bic r0, r0, #2 @ A (no unaligned access fault) + orr r0, r0, #1 << 22 @ U (v6 unaligned access model) + @ (needed for ARM1176) #ifdef CONFIG_MMU #ifdef CONFIG_CPU_ENDIAN_BE8 orr r0, r0, #1 << 25 @ big-endian page tables @@ -914,7 +926,7 @@ proc_types: .word 0x0007b000 @ ARMv6 .word 0x000ff000 - W(b) __armv4_mmu_cache_on + W(b) __armv6_mmu_cache_on W(b) __armv4_mmu_cache_off W(b) __armv6_mmu_cache_flush diff --git a/trunk/arch/arm/boot/dts/Makefile b/trunk/arch/arm/boot/dts/Makefile index c1ce813fcc4a..f37cf9fa5fa0 100644 --- a/trunk/arch/arm/boot/dts/Makefile +++ b/trunk/arch/arm/boot/dts/Makefile @@ -25,6 +25,8 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ exynos4210-trats.dtb \ exynos5250-smdk5250.dtb dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb +dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \ + integratorcp.dtb dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ kirkwood-dns325.dtb \ diff --git a/trunk/arch/arm/boot/dts/am335x-bone.dts b/trunk/arch/arm/boot/dts/am335x-bone.dts index c634f87e230e..4fcd21837bd3 100644 --- a/trunk/arch/arm/boot/dts/am335x-bone.dts +++ b/trunk/arch/arm/boot/dts/am335x-bone.dts @@ -78,3 +78,11 @@ }; }; }; + +&cpsw_emac0 { + phy_id = <&davinci_mdio>, <0>; +}; + +&cpsw_emac1 { + phy_id = <&davinci_mdio>, <1>; +}; diff --git a/trunk/arch/arm/boot/dts/am335x-evm.dts b/trunk/arch/arm/boot/dts/am335x-evm.dts index 185d6325a458..366d9290c0dd 100644 --- a/trunk/arch/arm/boot/dts/am335x-evm.dts +++ b/trunk/arch/arm/boot/dts/am335x-evm.dts @@ -118,3 +118,11 @@ }; }; }; + +&cpsw_emac0 { + phy_id = <&davinci_mdio>, <0>; +}; + +&cpsw_emac1 { + phy_id = <&davinci_mdio>, <1>; +}; diff --git a/trunk/arch/arm/boot/dts/am33xx.dtsi b/trunk/arch/arm/boot/dts/am33xx.dtsi index bb31bff01998..a4615b44f25e 100644 --- a/trunk/arch/arm/boot/dts/am33xx.dtsi +++ b/trunk/arch/arm/boot/dts/am33xx.dtsi @@ -210,5 +210,53 @@ interrupt-parent = <&intc>; interrupts = <91>; }; + + mac: ethernet@4a100000 { + compatible = "ti,cpsw"; + ti,hwmods = "cpgmac0"; + cpdma_channels = <8>; + ale_entries = <1024>; + bd_ram_size = <0x2000>; + no_bd_ram = <0>; + rx_descs = <64>; + mac_control = <0x20>; + slaves = <2>; + cpts_active_slave = <0>; + cpts_clock_mult = <0x80000000>; + cpts_clock_shift = <29>; + reg = <0x4a100000 0x800 + 0x4a101200 0x100>; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&intc>; + /* + * c0_rx_thresh_pend + * c0_rx_pend + * c0_tx_pend + * c0_misc_pend + */ + interrupts = <40 41 42 43>; + ranges; + + davinci_mdio: mdio@4a101000 { + compatible = "ti,davinci_mdio"; + #address-cells = <1>; + #size-cells = <0>; + ti,hwmods = "davinci_mdio"; + bus_freq = <1000000>; + reg = <0x4a101000 0x100>; + }; + + cpsw_emac0: slave@4a100200 { + /* Filled in by U-Boot */ + mac-address = [ 00 00 00 00 00 00 ]; + }; + + cpsw_emac1: slave@4a100300 { + /* Filled in by U-Boot */ + mac-address = [ 00 00 00 00 00 00 ]; + }; + + }; }; }; diff --git a/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi index b06c0db273b1..e6391a4e6649 100644 --- a/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi +++ b/trunk/arch/arm/boot/dts/at91sam9g20ek_common.dtsi @@ -126,14 +126,14 @@ #size-cells = <0>; btn3 { - label = "Buttin 3"; + label = "Button 3"; gpios = <&pioA 30 1>; linux,code = <0x103>; gpio-key,wakeup; }; btn4 { - label = "Buttin 4"; + label = "Button 4"; gpios = <&pioA 31 1>; linux,code = <0x104>; gpio-key,wakeup; diff --git a/trunk/arch/arm/boot/dts/dbx5x0.dtsi b/trunk/arch/arm/boot/dts/dbx5x0.dtsi index 748ba7aa746c..4b0e0ca08f40 100644 --- a/trunk/arch/arm/boot/dts/dbx5x0.dtsi +++ b/trunk/arch/arm/boot/dts/dbx5x0.dtsi @@ -483,6 +483,8 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80004000 0x1000>; interrupts = <0 21 0x4>; + arm,primecell-periphid = <0x180024>; + #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -494,6 +496,8 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80122000 0x1000>; interrupts = <0 22 0x4>; + arm,primecell-periphid = <0x180024>; + #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -505,6 +509,8 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80128000 0x1000>; interrupts = <0 55 0x4>; + arm,primecell-periphid = <0x180024>; + #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -516,6 +522,8 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x80110000 0x1000>; interrupts = <0 12 0x4>; + arm,primecell-periphid = <0x180024>; + #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -527,6 +535,8 @@ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; reg = <0x8012a000 0x1000>; interrupts = <0 51 0x4>; + arm,primecell-periphid = <0x180024>; + #address-cells = <1>; #size-cells = <0>; v-i2c-supply = <&db8500_vape_reg>; @@ -573,33 +583,38 @@ interrupts = <0 60 0x4>; status = "disabled"; }; + sdi@80118000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80118000 0x1000>; interrupts = <0 50 0x4>; status = "disabled"; }; + sdi@80005000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80005000 0x1000>; interrupts = <0 41 0x4>; status = "disabled"; }; + sdi@80119000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80119000 0x1000>; interrupts = <0 59 0x4>; status = "disabled"; }; + sdi@80114000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80114000 0x1000>; interrupts = <0 99 0x4>; status = "disabled"; }; + sdi@80008000 { compatible = "arm,pl18x", "arm,primecell"; - reg = <0x80114000 0x1000>; + reg = <0x80008000 0x1000>; interrupts = <0 100 0x4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/dove.dtsi b/trunk/arch/arm/boot/dts/dove.dtsi index 96fb824b5e6e..5a00022383e7 100644 --- a/trunk/arch/arm/boot/dts/dove.dtsi +++ b/trunk/arch/arm/boot/dts/dove.dtsi @@ -4,21 +4,32 @@ compatible = "marvell,dove"; model = "Marvell Armada 88AP510 SoC"; - interrupt-parent = <&intc>; - - intc: interrupt-controller { - compatible = "marvell,orion-intc"; - interrupt-controller; - #interrupt-cells = <1>; - reg = <0xf1020204 0x04>, - <0xf1020214 0x04>; - }; - - mbus@f1000000 { + soc@f1000000 { compatible = "simple-bus"; - ranges = <0 0xf1000000 0x4000000>; #address-cells = <1>; #size-cells = <1>; + interrupt-parent = <&intc>; + + ranges = <0xc8000000 0xc8000000 0x0100000 /* CESA SRAM 1M */ + 0xe0000000 0xe0000000 0x8000000 /* PCIe0 Mem 128M */ + 0xe8000000 0xe8000000 0x8000000 /* PCIe1 Mem 128M */ + 0xf0000000 0xf0000000 0x0100000 /* ScratchPad 1M */ + 0x00000000 0xf1000000 0x1000000 /* SB/NB regs 16M */ + 0xf2000000 0xf2000000 0x0100000 /* PCIe0 I/O 1M */ + 0xf2100000 0xf2100000 0x0100000 /* PCIe0 I/O 1M */ + 0xf8000000 0xf8000000 0x8000000>; /* BootROM 128M */ + + l2: l2-cache { + compatible = "marvell,tauros2-cache"; + marvell,tauros2-cache-features = <0>; + }; + + intc: interrupt-controller { + compatible = "marvell,orion-intc"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0x20204 0x04>, <0x20214 0x04>; + }; uart0: serial@12000 { compatible = "ns16550a"; @@ -56,11 +67,6 @@ status = "disabled"; }; - wdt: wdt@20300 { - compatible = "marvell,orion-wdt"; - reg = <0x20300 0x28>; - }; - gpio0: gpio@d0400 { compatible = "marvell,orion-gpio"; #gpio-cells = <2>; @@ -139,5 +145,14 @@ nr-ports = <1>; status = "disabled"; }; + + crypto: crypto@30000 { + compatible = "marvell,orion-crypto"; + reg = <0x30000 0x10000>, + <0xc8000000 0x800>; + reg-names = "regs", "sram"; + interrupts = <31>; + status = "okay"; + }; }; }; diff --git a/trunk/arch/arm/boot/dts/exynos4210-trats.dts b/trunk/arch/arm/boot/dts/exynos4210-trats.dts index 73567b843e72..a21511c14071 100644 --- a/trunk/arch/arm/boot/dts/exynos4210-trats.dts +++ b/trunk/arch/arm/boot/dts/exynos4210-trats.dts @@ -20,8 +20,10 @@ compatible = "samsung,trats", "samsung,exynos4210"; memory { - reg = <0x40000000 0x20000000 - 0x60000000 0x20000000>; + reg = <0x40000000 0x10000000 + 0x50000000 0x10000000 + 0x60000000 0x10000000 + 0x70000000 0x10000000>; }; chosen { diff --git a/trunk/arch/arm/boot/dts/imx23.dtsi b/trunk/arch/arm/boot/dts/imx23.dtsi index 9ca4ca70c1bc..6d31aa383460 100644 --- a/trunk/arch/arm/boot/dts/imx23.dtsi +++ b/trunk/arch/arm/boot/dts/imx23.dtsi @@ -69,6 +69,7 @@ interrupts = <13>, <56>; interrupt-names = "gpmi-dma", "bch"; clocks = <&clks 34>; + clock-names = "gpmi_io"; fsl,gpmi-dma-channel = <4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/imx28.dtsi b/trunk/arch/arm/boot/dts/imx28.dtsi index e16d63155480..55c57ea6169e 100644 --- a/trunk/arch/arm/boot/dts/imx28.dtsi +++ b/trunk/arch/arm/boot/dts/imx28.dtsi @@ -85,6 +85,7 @@ interrupts = <88>, <41>; interrupt-names = "gpmi-dma", "bch"; clocks = <&clks 50>; + clock-names = "gpmi_io"; fsl,gpmi-dma-channel = <4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/imx6q-arm2.dts b/trunk/arch/arm/boot/dts/imx6q-arm2.dts index 15df4c105e89..5bfa02a3f85c 100644 --- a/trunk/arch/arm/boot/dts/imx6q-arm2.dts +++ b/trunk/arch/arm/boot/dts/imx6q-arm2.dts @@ -37,6 +37,13 @@ pinctrl_hog: hoggrp { fsl,pins = < 176 0x80000000 /* MX6Q_PAD_EIM_D25__GPIO_3_25 */ + >; + }; + }; + + arm2 { + pinctrl_usdhc3_arm2: usdhc3grp-arm2 { + fsl,pins = < 1363 0x80000000 /* MX6Q_PAD_NANDF_CS0__GPIO_6_11 */ 1369 0x80000000 /* MX6Q_PAD_NANDF_CS1__GPIO_6_14 */ >; @@ -58,7 +65,8 @@ wp-gpios = <&gpio6 14 0>; vmmc-supply = <®_3p3v>; pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc3_1>; + pinctrl-0 = <&pinctrl_usdhc3_1 + &pinctrl_usdhc3_arm2>; status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/imx6q.dtsi b/trunk/arch/arm/boot/dts/imx6q.dtsi index f3990b04fecf..3290e61be3e1 100644 --- a/trunk/arch/arm/boot/dts/imx6q.dtsi +++ b/trunk/arch/arm/boot/dts/imx6q.dtsi @@ -580,6 +580,7 @@ 66 0x1b0b0 /* MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2 */ 70 0x1b0b0 /* MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3 */ 48 0x1b0b0 /* MX6Q_PAD_RGMII_RX_CTL__RGMII_RX_CTL */ + 1033 0x4001b0a8 /* MX6Q_PAD_GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT*/ >; }; @@ -833,8 +834,8 @@ compatible = "fsl,imx6q-fec"; reg = <0x02188000 0x4000>; interrupts = <0 118 0x04 0 119 0x04>; - clocks = <&clks 117>, <&clks 117>; - clock-names = "ipg", "ahb"; + clocks = <&clks 117>, <&clks 117>, <&clks 177>; + clock-names = "ipg", "ahb", "ptp"; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi index 8ac51c08269d..8fea375c734d 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood-lsxl.dtsi @@ -48,17 +48,19 @@ #size-cells = <0>; button@1 { label = "Function Button"; - linux,code = <132>; + linux,code = <357>; gpios = <&gpio1 9 1>; }; button@2 { label = "Power-on Switch"; - linux,code = <116>; + linux,code = <0>; + linux,input-type = <5>; gpios = <&gpio1 10 1>; }; button@3 { label = "Power-auto Switch"; - linux,code = <142>; + linux,code = <1>; + linux,input-type = <5>; gpios = <&gpio1 11 1>; }; }; @@ -67,28 +69,28 @@ compatible = "gpio-leds"; led@1 { - label = "lschlv2:blue:func"; + label = "lsxl:blue:func"; gpios = <&gpio1 4 1>; }; led@2 { - label = "lschlv2:red:alarm"; + label = "lsxl:red:alarm"; gpios = <&gpio1 5 1>; }; led@3 { - label = "lschlv2:amber:info"; + label = "lsxl:amber:info"; gpios = <&gpio1 6 1>; }; led@4 { - label = "lschlv2:blue:power"; + label = "lsxl:blue:power"; gpios = <&gpio1 7 1>; linux,default-trigger = "default-on"; }; led@5 { - label = "lschlv2:red:func"; + label = "lsxl:red:func"; gpios = <&gpio1 16 1>; }; }; diff --git a/trunk/arch/arm/boot/dts/omap3.dtsi b/trunk/arch/arm/boot/dts/omap3.dtsi index f38ea8771b44..696e929d0304 100644 --- a/trunk/arch/arm/boot/dts/omap3.dtsi +++ b/trunk/arch/arm/boot/dts/omap3.dtsi @@ -257,7 +257,7 @@ interrupt-names = "common", "tx", "rx", "sidetone"; interrupt-parent = <&intc>; ti,buffer-size = <1280>; - ti,hwmods = "mcbsp2"; + ti,hwmods = "mcbsp2", "mcbsp2_sidetone"; }; mcbsp3: mcbsp@49024000 { @@ -272,7 +272,7 @@ interrupt-names = "common", "tx", "rx", "sidetone"; interrupt-parent = <&intc>; ti,buffer-size = <128>; - ti,hwmods = "mcbsp3"; + ti,hwmods = "mcbsp3", "mcbsp3_sidetone"; }; mcbsp4: mcbsp@49026000 { diff --git a/trunk/arch/arm/boot/dts/tegra30.dtsi b/trunk/arch/arm/boot/dts/tegra30.dtsi index b1497c7d7d68..df7f2270fc91 100644 --- a/trunk/arch/arm/boot/dts/tegra30.dtsi +++ b/trunk/arch/arm/boot/dts/tegra30.dtsi @@ -73,8 +73,8 @@ pinmux: pinmux { compatible = "nvidia,tegra30-pinmux"; - reg = <0x70000868 0xd0 /* Pad control registers */ - 0x70003000 0x3e0>; /* Mux registers */ + reg = <0x70000868 0xd4 /* Pad control registers */ + 0x70003000 0x3e4>; /* Mux registers */ }; serial@70006000 { diff --git a/trunk/arch/arm/boot/dts/wm8505.dtsi b/trunk/arch/arm/boot/dts/wm8505.dtsi index b459691655ab..330f833ac3b0 100644 --- a/trunk/arch/arm/boot/dts/wm8505.dtsi +++ b/trunk/arch/arm/boot/dts/wm8505.dtsi @@ -71,13 +71,13 @@ ehci@d8007100 { compatible = "via,vt8500-ehci"; reg = <0xd8007100 0x200>; - interrupts = <43>; + interrupts = <1>; }; uhci@d8007300 { compatible = "platform-uhci"; reg = <0xd8007300 0x200>; - interrupts = <43>; + interrupts = <0>; }; fb@d8050800 { diff --git a/trunk/arch/arm/configs/imx_v6_v7_defconfig b/trunk/arch/arm/configs/imx_v6_v7_defconfig index 66aa7a6db884..394ded624e37 100644 --- a/trunk/arch/arm/configs/imx_v6_v7_defconfig +++ b/trunk/arch/arm/configs/imx_v6_v7_defconfig @@ -139,6 +139,7 @@ CONFIG_I2C_IMX=y CONFIG_SPI=y CONFIG_SPI_IMX=y CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_MC9S08DZ60=y # CONFIG_HWMON is not set CONFIG_WATCHDOG=y CONFIG_IMX2_WDT=y @@ -155,6 +156,7 @@ CONFIG_SOC_CAMERA=y CONFIG_SOC_CAMERA_OV2640=y CONFIG_VIDEO_MX3=y CONFIG_FB=y +CONFIG_LCD_PLATFORM=y CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_L4F00242T03=y diff --git a/trunk/arch/arm/configs/mvebu_defconfig b/trunk/arch/arm/configs/mvebu_defconfig index 7bcf850eddcd..3458752c4bb2 100644 --- a/trunk/arch/arm/configs/mvebu_defconfig +++ b/trunk/arch/arm/configs/mvebu_defconfig @@ -1,6 +1,6 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y -CONFIG_NO_HZ=y +CONFIG_IRQ_DOMAIN_DEBUG=y CONFIG_HIGH_RES_TIMERS=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y @@ -9,10 +9,12 @@ CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_ARCH_MVEBU=y -CONFIG_MACH_ARMADA_370_XP=y +CONFIG_MACH_ARMADA_370=y +CONFIG_MACH_ARMADA_XP=y +# CONFIG_CACHE_L2X0 is not set CONFIG_AEABI=y CONFIG_HIGHMEM=y -CONFIG_USE_OF=y +# CONFIG_COMPACTION is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ARM_APPENDED_DTB=y @@ -23,6 +25,8 @@ CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_GPIOLIB=y CONFIG_GPIO_SYSFS=y +# CONFIG_USB_SUPPORT is not set +# CONFIG_IOMMU_SUPPORT is not set CONFIG_EXT2_FS=y CONFIG_EXT3_FS=y # CONFIG_EXT3_FS_XATTR is not set diff --git a/trunk/arch/arm/configs/omap2plus_defconfig b/trunk/arch/arm/configs/omap2plus_defconfig index 62303043db9c..a1dc5c071e71 100644 --- a/trunk/arch/arm/configs/omap2plus_defconfig +++ b/trunk/arch/arm/configs/omap2plus_defconfig @@ -240,3 +240,6 @@ CONFIG_CRC_ITU_T=y CONFIG_CRC7=y CONFIG_LIBCRC32C=y CONFIG_SOC_OMAP5=y +CONFIG_TI_DAVINCI_MDIO=y +CONFIG_TI_DAVINCI_CPDMA=y +CONFIG_TI_CPSW=y diff --git a/trunk/arch/arm/configs/versatile_defconfig b/trunk/arch/arm/configs/versatile_defconfig index cdd4d2bd3962..2ba9e63d0f17 100644 --- a/trunk/arch/arm/configs/versatile_defconfig +++ b/trunk/arch/arm/configs/versatile_defconfig @@ -1,3 +1,4 @@ +CONFIG_ARCH_VERSATILE=y CONFIG_EXPERIMENTAL=y # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SYSVIPC=y diff --git a/trunk/arch/arm/include/asm/flat.h b/trunk/arch/arm/include/asm/flat.h index 59426a4595c9..e847d23351ed 100644 --- a/trunk/arch/arm/include/asm/flat.h +++ b/trunk/arch/arm/include/asm/flat.h @@ -8,7 +8,7 @@ #define flat_argvp_envp_on_stack() 1 #define flat_old_ram_flag(flags) (flags) #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) -#define flat_get_addr_from_rp(rp, relval, flags, persistent) get_unaligned(rp) +#define flat_get_addr_from_rp(rp, relval, flags, persistent) ((void)persistent,get_unaligned(rp)) #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) #define flat_get_relocate_addr(rel) (rel) #define flat_set_persistent(relval, p) 0 diff --git a/trunk/arch/arm/include/asm/io.h b/trunk/arch/arm/include/asm/io.h index 35c1ed89b936..42f042ee4ada 100644 --- a/trunk/arch/arm/include/asm/io.h +++ b/trunk/arch/arm/include/asm/io.h @@ -64,7 +64,7 @@ extern void __raw_readsl(const void __iomem *addr, void *data, int longlen); static inline void __raw_writew(u16 val, volatile void __iomem *addr) { asm volatile("strh %1, %0" - : "+Qo" (*(volatile u16 __force *)addr) + : "+Q" (*(volatile u16 __force *)addr) : "r" (val)); } @@ -72,7 +72,7 @@ static inline u16 __raw_readw(const volatile void __iomem *addr) { u16 val; asm volatile("ldrh %1, %0" - : "+Qo" (*(volatile u16 __force *)addr), + : "+Q" (*(volatile u16 __force *)addr), "=r" (val)); return val; } diff --git a/trunk/arch/arm/include/asm/sched_clock.h b/trunk/arch/arm/include/asm/sched_clock.h index 05b8e82ec9f5..e3f757263438 100644 --- a/trunk/arch/arm/include/asm/sched_clock.h +++ b/trunk/arch/arm/include/asm/sched_clock.h @@ -10,7 +10,5 @@ extern void sched_clock_postinit(void); extern void setup_sched_clock(u32 (*read)(void), int bits, unsigned long rate); -extern void setup_sched_clock_needs_suspend(u32 (*read)(void), int bits, - unsigned long rate); #endif diff --git a/trunk/arch/arm/include/asm/uaccess.h b/trunk/arch/arm/include/asm/uaccess.h index 77bd79f2ffdb..7e1f76027f66 100644 --- a/trunk/arch/arm/include/asm/uaccess.h +++ b/trunk/arch/arm/include/asm/uaccess.h @@ -200,8 +200,8 @@ extern int __put_user_8(void *, unsigned long long); #define USER_DS KERNEL_DS #define segment_eq(a,b) (1) -#define __addr_ok(addr) (1) -#define __range_ok(addr,size) (0) +#define __addr_ok(addr) ((void)(addr),1) +#define __range_ok(addr,size) ((void)(addr),0) #define get_fs() (KERNEL_DS) static inline void set_fs(mm_segment_t fs) diff --git a/trunk/arch/arm/include/asm/vfpmacros.h b/trunk/arch/arm/include/asm/vfpmacros.h index 6a6f1e485f41..301c1db3e99b 100644 --- a/trunk/arch/arm/include/asm/vfpmacros.h +++ b/trunk/arch/arm/include/asm/vfpmacros.h @@ -27,9 +27,9 @@ #if __LINUX_ARM_ARCH__ <= 6 ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] - tst \tmp, #HWCAP_VFPv3D16 - ldceql p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} - addne \base, \base, #32*4 @ step over unused register space + tst \tmp, #HWCAP_VFPD32 + ldcnel p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31} + addeq \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field @@ -51,9 +51,9 @@ #if __LINUX_ARM_ARCH__ <= 6 ldr \tmp, =elf_hwcap @ may not have MVFR regs ldr \tmp, [\tmp, #0] - tst \tmp, #HWCAP_VFPv3D16 - stceql p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} - addne \base, \base, #32*4 @ step over unused register space + tst \tmp, #HWCAP_VFPD32 + stcnel p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31} + addeq \base, \base, #32*4 @ step over unused register space #else VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field diff --git a/trunk/arch/arm/include/asm/xen/interface.h b/trunk/arch/arm/include/asm/xen/interface.h index ae05e56dd17d..5000397134b4 100644 --- a/trunk/arch/arm/include/asm/xen/interface.h +++ b/trunk/arch/arm/include/asm/xen/interface.h @@ -29,16 +29,22 @@ #ifndef __ASSEMBLY__ /* Explicitly size integers that represent pfns in the interface with - * Xen so that we can have one ABI that works for 32 and 64 bit guests. */ + * Xen so that we can have one ABI that works for 32 and 64 bit guests. + * Note that this means that the xen_pfn_t type may be capable of + * representing pfn's which the guest cannot represent in its own pfn + * type. However since pfn space is controlled by the guest this is + * fine since it simply wouldn't be able to create any sure pfns in + * the first place. + */ typedef uint64_t xen_pfn_t; +#define PRI_xen_pfn "llx" typedef uint64_t xen_ulong_t; +#define PRI_xen_ulong "llx" /* Guest handles for primitive C types. */ __DEFINE_GUEST_HANDLE(uchar, unsigned char); __DEFINE_GUEST_HANDLE(uint, unsigned int); -__DEFINE_GUEST_HANDLE(ulong, unsigned long); DEFINE_GUEST_HANDLE(char); DEFINE_GUEST_HANDLE(int); -DEFINE_GUEST_HANDLE(long); DEFINE_GUEST_HANDLE(void); DEFINE_GUEST_HANDLE(uint64_t); DEFINE_GUEST_HANDLE(uint32_t); diff --git a/trunk/arch/arm/include/asm/xen/page.h b/trunk/arch/arm/include/asm/xen/page.h index 174202318dff..c6b9096cef95 100644 --- a/trunk/arch/arm/include/asm/xen/page.h +++ b/trunk/arch/arm/include/asm/xen/page.h @@ -10,7 +10,7 @@ #include #define pfn_to_mfn(pfn) (pfn) -#define phys_to_machine_mapping_valid (1) +#define phys_to_machine_mapping_valid(pfn) (1) #define mfn_to_pfn(mfn) (mfn) #define mfn_to_virt(m) (__va(mfn_to_pfn(m) << PAGE_SHIFT)) @@ -30,6 +30,8 @@ typedef struct xpaddr { #define XMADDR(x) ((xmaddr_t) { .maddr = (x) }) #define XPADDR(x) ((xpaddr_t) { .paddr = (x) }) +#define INVALID_P2M_ENTRY (~0UL) + static inline xmaddr_t phys_to_machine(xpaddr_t phys) { unsigned offset = phys.paddr & ~PAGE_MASK; @@ -74,9 +76,14 @@ static inline int m2p_remove_override(struct page *page, bool clear_pte) return 0; } +static inline bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn) +{ + BUG_ON(pfn != mfn && mfn != INVALID_P2M_ENTRY); + return true; +} + static inline bool set_phys_to_machine(unsigned long pfn, unsigned long mfn) { - BUG(); - return false; + return __set_phys_to_machine(pfn, mfn); } #endif /* _ASM_ARM_XEN_PAGE_H */ diff --git a/trunk/arch/arm/include/debug/8250_32.S b/trunk/arch/arm/include/debug/8250_32.S new file mode 100644 index 000000000000..8db01eeabbb4 --- /dev/null +++ b/trunk/arch/arm/include/debug/8250_32.S @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2011 Picochip Ltd., Jamie Iles + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit + * accesses to the 8250. + */ + +#include + + .macro senduart,rd,rx + str \rd, [\rx, #UART_TX << UART_SHIFT] + .endm + + .macro busyuart,rd,rx +1002: ldr \rd, [\rx, #UART_LSR << UART_SHIFT] + and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE + teq \rd, #UART_LSR_TEMT | UART_LSR_THRE + bne 1002b + .endm + + /* The UART's don't have any flow control IO's wired up. */ + .macro waituart,rd,rx + .endm diff --git a/trunk/arch/arm/include/debug/picoxcell.S b/trunk/arch/arm/include/debug/picoxcell.S index 7419deb1b948..bc1f07c49cd4 100644 --- a/trunk/arch/arm/include/debug/picoxcell.S +++ b/trunk/arch/arm/include/debug/picoxcell.S @@ -5,10 +5,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * - * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit - * accesses to the 8250. */ -#include #define UART_SHIFT 2 #define PICOXCELL_UART1_BASE 0x80230000 @@ -19,17 +16,4 @@ ldr \rp, =PICOXCELL_UART1_BASE .endm - .macro senduart,rd,rx - str \rd, [\rx, #UART_TX << UART_SHIFT] - .endm - - .macro busyuart,rd,rx -1002: ldr \rd, [\rx, #UART_LSR << UART_SHIFT] - and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE - teq \rd, #UART_LSR_TEMT | UART_LSR_THRE - bne 1002b - .endm - - /* The UART's don't have any flow control IO's wired up. */ - .macro waituart,rd,rx - .endm +#include "8250_32.S" diff --git a/trunk/arch/arm/include/debug/socfpga.S b/trunk/arch/arm/include/debug/socfpga.S index d6f26d23374f..966b2f994946 100644 --- a/trunk/arch/arm/include/debug/socfpga.S +++ b/trunk/arch/arm/include/debug/socfpga.S @@ -7,6 +7,9 @@ * published by the Free Software Foundation. */ +#define UART_SHIFT 2 +#define DEBUG_LL_UART_OFFSET 0x00002000 + .macro addruart, rp, rv, tmp mov \rp, #DEBUG_LL_UART_OFFSET orr \rp, \rp, #0x00c00000 @@ -14,3 +17,5 @@ orr \rp, \rp, #0xff000000 @ physical base .endm +#include "8250_32.S" + diff --git a/trunk/arch/arm/include/uapi/asm/hwcap.h b/trunk/arch/arm/include/uapi/asm/hwcap.h index f254f6503cce..3688fd15a32d 100644 --- a/trunk/arch/arm/include/uapi/asm/hwcap.h +++ b/trunk/arch/arm/include/uapi/asm/hwcap.h @@ -18,11 +18,12 @@ #define HWCAP_THUMBEE (1 << 11) #define HWCAP_NEON (1 << 12) #define HWCAP_VFPv3 (1 << 13) -#define HWCAP_VFPv3D16 (1 << 14) +#define HWCAP_VFPv3D16 (1 << 14) /* also set for VFPv4-D16 */ #define HWCAP_TLS (1 << 15) #define HWCAP_VFPv4 (1 << 16) #define HWCAP_IDIVA (1 << 17) #define HWCAP_IDIVT (1 << 18) +#define HWCAP_VFPD32 (1 << 19) /* set if VFP has 32 regs (not 16) */ #define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index 417bac1846bd..34711757ba59 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -88,9 +88,9 @@ ENTRY(ret_from_fork) bl schedule_tail cmp r5, #0 movne r0, r4 - movne lr, pc + adrne lr, BSYM(1f) movne pc, r5 - get_thread_info tsk +1: get_thread_info tsk b ret_slow_syscall ENDPROC(ret_from_fork) diff --git a/trunk/arch/arm/kernel/irq.c b/trunk/arch/arm/kernel/irq.c index 16cedb42c0c3..896165096d6a 100644 --- a/trunk/arch/arm/kernel/irq.c +++ b/trunk/arch/arm/kernel/irq.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -109,6 +110,7 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) /* Order is clear bits in "clr" then set bits in "set" */ irq_modify_status(irq, clr, set & ~clr); } +EXPORT_SYMBOL_GPL(set_irq_flags); void __init init_IRQ(void) { diff --git a/trunk/arch/arm/kernel/kprobes-test-arm.c b/trunk/arch/arm/kernel/kprobes-test-arm.c index 38c1a3b103a0..839312905067 100644 --- a/trunk/arch/arm/kernel/kprobes-test-arm.c +++ b/trunk/arch/arm/kernel/kprobes-test-arm.c @@ -366,7 +366,9 @@ void kprobe_arm_test_cases(void) TEST_UNSUPPORTED(".word 0xe04f0392 @ umaal r0, pc, r2, r3") TEST_UNSUPPORTED(".word 0xe0500090 @ undef") TEST_UNSUPPORTED(".word 0xe05fff9f @ undef") +#endif +#if __LINUX_ARM_ARCH__ >= 7 TEST_RRR( "mls r0, r",1, VAL1,", r",2, VAL2,", r",3, VAL3,"") TEST_RRR( "mlshi r7, r",8, VAL3,", r",9, VAL1,", r",10, VAL2,"") TEST_RR( "mls lr, r",1, VAL2,", r",2, VAL3,", r13") @@ -456,6 +458,8 @@ void kprobe_arm_test_cases(void) TEST_UNSUPPORTED(".word 0xe1700090") /* Unallocated space */ #if __LINUX_ARM_ARCH__ >= 6 TEST_UNSUPPORTED("ldrex r2, [sp]") +#endif +#if (__LINUX_ARM_ARCH__ >= 7) || defined(CONFIG_CPU_32v6K) TEST_UNSUPPORTED("strexd r0, r2, r3, [sp]") TEST_UNSUPPORTED("ldrexd r2, r3, [sp]") TEST_UNSUPPORTED("strexb r0, r2, [sp]") diff --git a/trunk/arch/arm/kernel/machine_kexec.c b/trunk/arch/arm/kernel/machine_kexec.c index e29c3337ca81..8ef8c9337809 100644 --- a/trunk/arch/arm/kernel/machine_kexec.c +++ b/trunk/arch/arm/kernel/machine_kexec.c @@ -45,10 +45,9 @@ int machine_kexec_prepare(struct kimage *image) for (i = 0; i < image->nr_segments; i++) { current_segment = &image->segment[i]; - err = memblock_is_region_memory(current_segment->mem, - current_segment->memsz); - if (err) - return - EINVAL; + if (!memblock_is_region_memory(current_segment->mem, + current_segment->memsz)) + return -EINVAL; err = get_user(header, (__be32*)current_segment->buf); if (err) diff --git a/trunk/arch/arm/kernel/perf_event.c b/trunk/arch/arm/kernel/perf_event.c index 93971b1a4f0b..53c0304b734a 100644 --- a/trunk/arch/arm/kernel/perf_event.c +++ b/trunk/arch/arm/kernel/perf_event.c @@ -96,6 +96,10 @@ armpmu_event_set_period(struct perf_event *event, s64 period = hwc->sample_period; int ret = 0; + /* The period may have been changed by PERF_EVENT_IOC_PERIOD */ + if (unlikely(period != hwc->last_period)) + left = period - (hwc->last_period - left); + if (unlikely(left <= -period)) { left = period; local64_set(&hwc->period_left, left); diff --git a/trunk/arch/arm/kernel/sched_clock.c b/trunk/arch/arm/kernel/sched_clock.c index e21bac20d90d..fc6692e2b603 100644 --- a/trunk/arch/arm/kernel/sched_clock.c +++ b/trunk/arch/arm/kernel/sched_clock.c @@ -107,13 +107,6 @@ static void sched_clock_poll(unsigned long wrap_ticks) update_sched_clock(); } -void __init setup_sched_clock_needs_suspend(u32 (*read)(void), int bits, - unsigned long rate) -{ - setup_sched_clock(read, bits, rate); - cd.needs_suspend = true; -} - void __init setup_sched_clock(u32 (*read)(void), int bits, unsigned long rate) { unsigned long r, w; @@ -189,18 +182,15 @@ void __init sched_clock_postinit(void) static int sched_clock_suspend(void) { sched_clock_poll(sched_clock_timer.data); - if (cd.needs_suspend) - cd.suspended = true; + cd.suspended = true; return 0; } static void sched_clock_resume(void) { - if (cd.needs_suspend) { - cd.epoch_cyc = read_sched_clock(); - cd.epoch_cyc_copy = cd.epoch_cyc; - cd.suspended = false; - } + cd.epoch_cyc = read_sched_clock(); + cd.epoch_cyc_copy = cd.epoch_cyc; + cd.suspended = false; } static struct syscore_ops sched_clock_ops = { diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index 8e20754dd31d..fbc8b2623d82 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -294,18 +294,24 @@ static void percpu_timer_setup(void); asmlinkage void __cpuinit secondary_start_kernel(void) { struct mm_struct *mm = &init_mm; - unsigned int cpu = smp_processor_id(); + unsigned int cpu; + + /* + * The identity mapping is uncached (strongly ordered), so + * switch away from it before attempting any exclusive accesses. + */ + cpu_switch_mm(mm->pgd, mm); + enter_lazy_tlb(mm, current); + local_flush_tlb_all(); /* * All kernel threads share the same mm context; grab a * reference and switch to it. */ + cpu = smp_processor_id(); atomic_inc(&mm->mm_count); current->active_mm = mm; cpumask_set_cpu(cpu, mm_cpumask(mm)); - cpu_switch_mm(mm->pgd, mm); - enter_lazy_tlb(mm, current); - local_flush_tlb_all(); printk("CPU%u: Booted secondary processor\n", cpu); diff --git a/trunk/arch/arm/kernel/smp_twd.c b/trunk/arch/arm/kernel/smp_twd.c index e1f906989bb8..b22d700fea27 100644 --- a/trunk/arch/arm/kernel/smp_twd.c +++ b/trunk/arch/arm/kernel/smp_twd.c @@ -42,10 +42,10 @@ static void twd_set_mode(enum clock_event_mode mode, switch (mode) { case CLOCK_EVT_MODE_PERIODIC: - /* timer load already set up */ ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE | TWD_TIMER_CONTROL_PERIODIC; - __raw_writel(twd_timer_rate / HZ, twd_base + TWD_TIMER_LOAD); + __raw_writel(DIV_ROUND_CLOSEST(twd_timer_rate, HZ), + twd_base + TWD_TIMER_LOAD); break; case CLOCK_EVT_MODE_ONESHOT: /* period set, and timer enabled in 'next_event' hook */ diff --git a/trunk/arch/arm/lib/delay.c b/trunk/arch/arm/lib/delay.c index 9d0a30032d7f..0dc53854a5d8 100644 --- a/trunk/arch/arm/lib/delay.c +++ b/trunk/arch/arm/lib/delay.c @@ -45,6 +45,7 @@ int read_current_timer(unsigned long *timer_val) *timer_val = delay_timer->read_current_timer(); return 0; } +EXPORT_SYMBOL_GPL(read_current_timer); static void __timer_delay(unsigned long cycles) { diff --git a/trunk/arch/arm/mach-at91/Kconfig b/trunk/arch/arm/mach-at91/Kconfig index b14207101938..92857683cb61 100644 --- a/trunk/arch/arm/mach-at91/Kconfig +++ b/trunk/arch/arm/mach-at91/Kconfig @@ -21,19 +21,13 @@ config SOC_AT91SAM9 bool select CPU_ARM926T select GENERIC_CLOCKEVENTS + select MULTI_IRQ_HANDLER + select SPARSE_IRQ menu "Atmel AT91 System-on-Chip" comment "Atmel AT91 Processor" -config SOC_AT91SAM9 - bool - select AT91_SAM9_SMC - select AT91_SAM9_TIME - select CPU_ARM926T - select MULTI_IRQ_HANDLER - select SPARSE_IRQ - config SOC_AT91RM9200 bool "AT91RM9200" select CPU_ARM920T @@ -45,7 +39,6 @@ config SOC_AT91RM9200 config SOC_AT91SAM9260 bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20" select HAVE_AT91_DBGU0 - select HAVE_NET_MACB select SOC_AT91SAM9 help Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE @@ -63,7 +56,6 @@ config SOC_AT91SAM9263 bool "AT91SAM9263" select HAVE_AT91_DBGU1 select HAVE_FB_ATMEL - select HAVE_NET_MACB select SOC_AT91SAM9 config SOC_AT91SAM9RL @@ -76,7 +68,6 @@ config SOC_AT91SAM9G45 bool "AT91SAM9G45 or AT91SAM9M10 families" select HAVE_AT91_DBGU1 select HAVE_FB_ATMEL - select HAVE_NET_MACB select SOC_AT91SAM9 help Select this if you are using one of Atmel's AT91SAM9G45 family SoC. @@ -86,7 +77,6 @@ config SOC_AT91SAM9X5 bool "AT91SAM9x5 family" select HAVE_AT91_DBGU0 select HAVE_FB_ATMEL - select HAVE_NET_MACB select SOC_AT91SAM9 help Select this if you are using one of Atmel's AT91SAM9x5 family SoC. diff --git a/trunk/arch/arm/mach-at91/at91rm9200.c b/trunk/arch/arm/mach-at91/at91rm9200.c index b4f0565aff63..5269825194a8 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200.c +++ b/trunk/arch/arm/mach-at91/at91rm9200.c @@ -187,7 +187,7 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.2", &ssc2_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200", &twi_clk), + CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200.0", &twi_clk), /* fake hclk clock */ CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), CLKDEV_CON_ID("pioA", &pioA_clk), diff --git a/trunk/arch/arm/mach-at91/at91rm9200_devices.c b/trunk/arch/arm/mach-at91/at91rm9200_devices.c index a563189cdfc3..3cee0e6ea7c3 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200_devices.c +++ b/trunk/arch/arm/mach-at91/at91rm9200_devices.c @@ -68,7 +68,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (data->overcurrent_pin[i]) + if (gpio_is_valid(data->overcurrent_pin[i])) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -479,7 +479,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91rm9200_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; @@ -512,7 +512,7 @@ static struct resource twi_resources[] = { static struct platform_device at91rm9200_twi_device = { .name = "i2c-at91rm9200", - .id = -1, + .id = 0, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91sam9260.c b/trunk/arch/arm/mach-at91/at91sam9260.c index ad29f93f20ca..f8202615f4a8 100644 --- a/trunk/arch/arm/mach-at91/at91sam9260.c +++ b/trunk/arch/arm/mach-at91/at91sam9260.c @@ -211,8 +211,8 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("t1_clk", "atmel_tcb.1", &tc4_clk), CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.1", &tc5_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260", &twi_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20", &twi_clk), + CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk), + CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi_clk), /* more usart lookup table for DT entries */ CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck), CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9260_devices.c b/trunk/arch/arm/mach-at91/at91sam9260_devices.c index a76b8684f52d..414bd855fb0c 100644 --- a/trunk/arch/arm/mach-at91/at91sam9260_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9260_devices.c @@ -72,7 +72,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (data->overcurrent_pin[i]) + if (gpio_is_valid(data->overcurrent_pin[i])) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -389,7 +389,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9260_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; @@ -421,7 +421,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9260_twi_device = { - .id = -1, + .id = 0, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91sam9261.c b/trunk/arch/arm/mach-at91/at91sam9261.c index 8d999eb1a137..04295c04b3e0 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261.c +++ b/trunk/arch/arm/mach-at91/at91sam9261.c @@ -178,8 +178,8 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), CLKDEV_CON_DEV_ID("pclk", "ssc.2", &ssc2_clk), CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &hck0), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9261", &twi_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10", &twi_clk), + CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9261.0", &twi_clk), + CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.0", &twi_clk), CLKDEV_CON_ID("pioA", &pioA_clk), CLKDEV_CON_ID("pioB", &pioB_clk), CLKDEV_CON_ID("pioC", &pioC_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9261_devices.c b/trunk/arch/arm/mach-at91/at91sam9261_devices.c index 9752f17efba9..cd604aad8e96 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9261_devices.c @@ -72,7 +72,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (data->overcurrent_pin[i]) + if (gpio_is_valid(data->overcurrent_pin[i])) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -285,7 +285,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9261_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; @@ -317,7 +317,7 @@ static struct resource twi_resources[] = { }; static struct platform_device at91sam9261_twi_device = { - .id = -1, + .id = 0, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91sam9263.c b/trunk/arch/arm/mach-at91/at91sam9263.c index 6a01d0360dfb..d6f9c23927c4 100644 --- a/trunk/arch/arm/mach-at91/at91sam9263.c +++ b/trunk/arch/arm/mach-at91/at91sam9263.c @@ -193,7 +193,7 @@ static struct clk_lookup periph_clocks_lookups[] = { CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.0", &spi0_clk), CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.1", &spi1_clk), CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.0", &tcb_clk), - CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260", &twi_clk), + CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk), /* fake hclk clock */ CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), CLKDEV_CON_ID("pioA", &pioA_clk), diff --git a/trunk/arch/arm/mach-at91/at91sam9263_devices.c b/trunk/arch/arm/mach-at91/at91sam9263_devices.c index 8dde220b42b6..9c61e59a2104 100644 --- a/trunk/arch/arm/mach-at91/at91sam9263_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9263_devices.c @@ -78,7 +78,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) /* Enable overcurrent notification */ for (i = 0; i < data->ports; i++) { - if (data->overcurrent_pin[i]) + if (gpio_is_valid(data->overcurrent_pin[i])) at91_set_gpio_input(data->overcurrent_pin[i], 1); } @@ -567,7 +567,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9263_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; @@ -600,7 +600,7 @@ static struct resource twi_resources[] = { static struct platform_device at91sam9263_twi_device = { .name = "i2c-at91sam9260", - .id = -1, + .id = 0, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91sam9g45_devices.c b/trunk/arch/arm/mach-at91/at91sam9g45_devices.c index b1596072dcc2..fcd233cb33d2 100644 --- a/trunk/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9g45_devices.c @@ -1841,8 +1841,8 @@ static struct resource sha_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = AT91SAM9G45_ID_AESTDESSHA, - .end = AT91SAM9G45_ID_AESTDESSHA, + .start = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, + .end = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, .flags = IORESOURCE_IRQ, }, }; @@ -1874,8 +1874,8 @@ static struct resource tdes_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = AT91SAM9G45_ID_AESTDESSHA, - .end = AT91SAM9G45_ID_AESTDESSHA, + .start = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, + .end = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, .flags = IORESOURCE_IRQ, }, }; @@ -1910,8 +1910,8 @@ static struct resource aes_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = AT91SAM9G45_ID_AESTDESSHA, - .end = AT91SAM9G45_ID_AESTDESSHA, + .start = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, + .end = NR_IRQS_LEGACY + AT91SAM9G45_ID_AESTDESSHA, .flags = IORESOURCE_IRQ, }, }; diff --git a/trunk/arch/arm/mach-at91/at91sam9rl_devices.c b/trunk/arch/arm/mach-at91/at91sam9rl_devices.c index d6ca0543ce8d..5047bdc92adf 100644 --- a/trunk/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9rl_devices.c @@ -314,7 +314,7 @@ static struct i2c_gpio_platform_data pdata = { static struct platform_device at91sam9rl_twi_device = { .name = "i2c-gpio", - .id = -1, + .id = 0, .dev.platform_data = &pdata, }; @@ -347,7 +347,7 @@ static struct resource twi_resources[] = { static struct platform_device at91sam9rl_twi_device = { .name = "i2c-at91sam9g20", - .id = -1, + .id = 0, .resource = twi_resources, .num_resources = ARRAY_SIZE(twi_resources), }; diff --git a/trunk/arch/arm/mach-at91/at91x40.c b/trunk/arch/arm/mach-at91/at91x40.c index 6bd7300a2bc5..bb7f54474b92 100644 --- a/trunk/arch/arm/mach-at91/at91x40.c +++ b/trunk/arch/arm/mach-at91/at91x40.c @@ -88,6 +88,6 @@ void __init at91x40_init_interrupts(unsigned int priority[NR_AIC_IRQS]) if (!priority) priority = at91x40_default_irq_priority; - at91_aic_init(priority); + at91_aic_init(priority, at91_extern_irq); } diff --git a/trunk/arch/arm/mach-at91/board-csb337.c b/trunk/arch/arm/mach-at91/board-csb337.c index 3e37437a7a61..aa9b320bad59 100644 --- a/trunk/arch/arm/mach-at91/board-csb337.c +++ b/trunk/arch/arm/mach-at91/board-csb337.c @@ -53,6 +53,8 @@ static void __init csb337_init_early(void) static struct macb_platform_data __initdata csb337_eth_data = { .phy_irq_pin = AT91_PIN_PC2, .is_rmii = 0, + /* The CSB337 bootloader stores the MAC the wrong-way around */ + .rev_eth_addr = 1, }; static struct at91_usbh_data __initdata csb337_usbh_data = { diff --git a/trunk/arch/arm/mach-at91/board-neocore926.c b/trunk/arch/arm/mach-at91/board-neocore926.c index 9cda3fd346ae..6960778af4c2 100644 --- a/trunk/arch/arm/mach-at91/board-neocore926.c +++ b/trunk/arch/arm/mach-at91/board-neocore926.c @@ -129,7 +129,7 @@ static struct spi_board_info neocore926_spi_devices[] = { .max_speed_hz = 125000 * 16, .bus_num = 0, .platform_data = &ads_info, - .irq = AT91SAM9263_ID_IRQ1, + .irq = NR_IRQS_LEGACY + AT91SAM9263_ID_IRQ1, }, #endif }; diff --git a/trunk/arch/arm/mach-at91/board-sam9261ek.c b/trunk/arch/arm/mach-at91/board-sam9261ek.c index 27b3af1a3047..a9167dd45f96 100644 --- a/trunk/arch/arm/mach-at91/board-sam9261ek.c +++ b/trunk/arch/arm/mach-at91/board-sam9261ek.c @@ -309,7 +309,7 @@ static struct spi_board_info ek_spi_devices[] = { .max_speed_hz = 125000 * 26, /* (max sample rate @ 3V) * (cmd + data + overhead) */ .bus_num = 0, .platform_data = &ads_info, - .irq = AT91SAM9261_ID_IRQ0, + .irq = NR_IRQS_LEGACY + AT91SAM9261_ID_IRQ0, .controller_data = (void *) AT91_PIN_PA28, /* CS pin */ }, #endif diff --git a/trunk/arch/arm/mach-at91/board-sam9263ek.c b/trunk/arch/arm/mach-at91/board-sam9263ek.c index 073e17403d98..b87dbe2be0d6 100644 --- a/trunk/arch/arm/mach-at91/board-sam9263ek.c +++ b/trunk/arch/arm/mach-at91/board-sam9263ek.c @@ -132,7 +132,7 @@ static struct spi_board_info ek_spi_devices[] = { .max_speed_hz = 125000 * 26, /* (max sample rate @ 3V) * (cmd + data + overhead) */ .bus_num = 0, .platform_data = &ads_info, - .irq = AT91SAM9263_ID_IRQ1, + .irq = NR_IRQS_LEGACY + AT91SAM9263_ID_IRQ1, }, #endif }; diff --git a/trunk/arch/arm/mach-at91/generic.h b/trunk/arch/arm/mach-at91/generic.h index f49650677653..b62f560e6c75 100644 --- a/trunk/arch/arm/mach-at91/generic.h +++ b/trunk/arch/arm/mach-at91/generic.h @@ -26,7 +26,8 @@ extern void __init at91_dt_initialize(void); extern void __init at91_init_irq_default(void); extern void __init at91_init_interrupts(unsigned int priority[]); extern void __init at91x40_init_interrupts(unsigned int priority[]); -extern void __init at91_aic_init(unsigned int priority[]); +extern void __init at91_aic_init(unsigned int priority[], + unsigned int ext_irq_mask); extern int __init at91_aic_of_init(struct device_node *node, struct device_node *parent); extern int __init at91_aic5_of_init(struct device_node *node, diff --git a/trunk/arch/arm/mach-at91/include/mach/at91rm9200_emac.h b/trunk/arch/arm/mach-at91/include/mach/at91rm9200_emac.h deleted file mode 100644 index b8260cd8041c..000000000000 --- a/trunk/arch/arm/mach-at91/include/mach/at91rm9200_emac.h +++ /dev/null @@ -1,138 +0,0 @@ -/* - * arch/arm/mach-at91/include/mach/at91rm9200_emac.h - * - * Copyright (C) 2005 Ivan Kokshaysky - * Copyright (C) SAN People - * - * Ethernet MAC registers. - * Based on AT91RM9200 datasheet revision E. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - */ - -#ifndef AT91RM9200_EMAC_H -#define AT91RM9200_EMAC_H - -#define AT91_EMAC_CTL 0x00 /* Control Register */ -#define AT91_EMAC_LB (1 << 0) /* Loopback */ -#define AT91_EMAC_LBL (1 << 1) /* Loopback Local */ -#define AT91_EMAC_RE (1 << 2) /* Receive Enable */ -#define AT91_EMAC_TE (1 << 3) /* Transmit Enable */ -#define AT91_EMAC_MPE (1 << 4) /* Management Port Enable */ -#define AT91_EMAC_CSR (1 << 5) /* Clear Statistics Registers */ -#define AT91_EMAC_INCSTAT (1 << 6) /* Increment Statistics Registers */ -#define AT91_EMAC_WES (1 << 7) /* Write Enable for Statistics Registers */ -#define AT91_EMAC_BP (1 << 8) /* Back Pressure */ - -#define AT91_EMAC_CFG 0x04 /* Configuration Register */ -#define AT91_EMAC_SPD (1 << 0) /* Speed */ -#define AT91_EMAC_FD (1 << 1) /* Full Duplex */ -#define AT91_EMAC_BR (1 << 2) /* Bit Rate */ -#define AT91_EMAC_CAF (1 << 4) /* Copy All Frames */ -#define AT91_EMAC_NBC (1 << 5) /* No Broadcast */ -#define AT91_EMAC_MTI (1 << 6) /* Multicast Hash Enable */ -#define AT91_EMAC_UNI (1 << 7) /* Unicast Hash Enable */ -#define AT91_EMAC_BIG (1 << 8) /* Receive 1522 Bytes */ -#define AT91_EMAC_EAE (1 << 9) /* External Address Match Enable */ -#define AT91_EMAC_CLK (3 << 10) /* MDC Clock Divisor */ -#define AT91_EMAC_CLK_DIV8 (0 << 10) -#define AT91_EMAC_CLK_DIV16 (1 << 10) -#define AT91_EMAC_CLK_DIV32 (2 << 10) -#define AT91_EMAC_CLK_DIV64 (3 << 10) -#define AT91_EMAC_RTY (1 << 12) /* Retry Test */ -#define AT91_EMAC_RMII (1 << 13) /* Reduce MII (RMII) */ - -#define AT91_EMAC_SR 0x08 /* Status Register */ -#define AT91_EMAC_SR_LINK (1 << 0) /* Link */ -#define AT91_EMAC_SR_MDIO (1 << 1) /* MDIO pin */ -#define AT91_EMAC_SR_IDLE (1 << 2) /* PHY idle */ - -#define AT91_EMAC_TAR 0x0c /* Transmit Address Register */ - -#define AT91_EMAC_TCR 0x10 /* Transmit Control Register */ -#define AT91_EMAC_LEN (0x7ff << 0) /* Transmit Frame Length */ -#define AT91_EMAC_NCRC (1 << 15) /* No CRC */ - -#define AT91_EMAC_TSR 0x14 /* Transmit Status Register */ -#define AT91_EMAC_TSR_OVR (1 << 0) /* Transmit Buffer Overrun */ -#define AT91_EMAC_TSR_COL (1 << 1) /* Collision Occurred */ -#define AT91_EMAC_TSR_RLE (1 << 2) /* Retry Limit Exceeded */ -#define AT91_EMAC_TSR_IDLE (1 << 3) /* Transmitter Idle */ -#define AT91_EMAC_TSR_BNQ (1 << 4) /* Transmit Buffer not Queued */ -#define AT91_EMAC_TSR_COMP (1 << 5) /* Transmit Complete */ -#define AT91_EMAC_TSR_UND (1 << 6) /* Transmit Underrun */ - -#define AT91_EMAC_RBQP 0x18 /* Receive Buffer Queue Pointer */ - -#define AT91_EMAC_RSR 0x20 /* Receive Status Register */ -#define AT91_EMAC_RSR_BNA (1 << 0) /* Buffer Not Available */ -#define AT91_EMAC_RSR_REC (1 << 1) /* Frame Received */ -#define AT91_EMAC_RSR_OVR (1 << 2) /* RX Overrun */ - -#define AT91_EMAC_ISR 0x24 /* Interrupt Status Register */ -#define AT91_EMAC_DONE (1 << 0) /* Management Done */ -#define AT91_EMAC_RCOM (1 << 1) /* Receive Complete */ -#define AT91_EMAC_RBNA (1 << 2) /* Receive Buffer Not Available */ -#define AT91_EMAC_TOVR (1 << 3) /* Transmit Buffer Overrun */ -#define AT91_EMAC_TUND (1 << 4) /* Transmit Buffer Underrun */ -#define AT91_EMAC_RTRY (1 << 5) /* Retry Limit */ -#define AT91_EMAC_TBRE (1 << 6) /* Transmit Buffer Register Empty */ -#define AT91_EMAC_TCOM (1 << 7) /* Transmit Complete */ -#define AT91_EMAC_TIDLE (1 << 8) /* Transmit Idle */ -#define AT91_EMAC_LINK (1 << 9) /* Link */ -#define AT91_EMAC_ROVR (1 << 10) /* RX Overrun */ -#define AT91_EMAC_ABT (1 << 11) /* Abort */ - -#define AT91_EMAC_IER 0x28 /* Interrupt Enable Register */ -#define AT91_EMAC_IDR 0x2c /* Interrupt Disable Register */ -#define AT91_EMAC_IMR 0x30 /* Interrupt Mask Register */ - -#define AT91_EMAC_MAN 0x34 /* PHY Maintenance Register */ -#define AT91_EMAC_DATA (0xffff << 0) /* MDIO Data */ -#define AT91_EMAC_REGA (0x1f << 18) /* MDIO Register */ -#define AT91_EMAC_PHYA (0x1f << 23) /* MDIO PHY Address */ -#define AT91_EMAC_RW (3 << 28) /* Read/Write operation */ -#define AT91_EMAC_RW_W (1 << 28) -#define AT91_EMAC_RW_R (2 << 28) -#define AT91_EMAC_MAN_802_3 0x40020000 /* IEEE 802.3 value */ - -/* - * Statistics Registers. - */ -#define AT91_EMAC_FRA 0x40 /* Frames Transmitted OK */ -#define AT91_EMAC_SCOL 0x44 /* Single Collision Frame */ -#define AT91_EMAC_MCOL 0x48 /* Multiple Collision Frame */ -#define AT91_EMAC_OK 0x4c /* Frames Received OK */ -#define AT91_EMAC_SEQE 0x50 /* Frame Check Sequence Error */ -#define AT91_EMAC_ALE 0x54 /* Alignmemt Error */ -#define AT91_EMAC_DTE 0x58 /* Deffered Transmission Frame */ -#define AT91_EMAC_LCOL 0x5c /* Late Collision */ -#define AT91_EMAC_ECOL 0x60 /* Excessive Collision */ -#define AT91_EMAC_TUE 0x64 /* Transmit Underrun Error */ -#define AT91_EMAC_CSE 0x68 /* Carrier Sense Error */ -#define AT91_EMAC_DRFC 0x6c /* Discard RX Frame */ -#define AT91_EMAC_ROV 0x70 /* Receive Overrun */ -#define AT91_EMAC_CDE 0x74 /* Code Error */ -#define AT91_EMAC_ELR 0x78 /* Excessive Length Error */ -#define AT91_EMAC_RJB 0x7c /* Receive Jabber */ -#define AT91_EMAC_USF 0x80 /* Undersize Frame */ -#define AT91_EMAC_SQEE 0x84 /* SQE Test Error */ - -/* - * Address Registers. - */ -#define AT91_EMAC_HSL 0x90 /* Hash Address Low [31:0] */ -#define AT91_EMAC_HSH 0x94 /* Hash Address High [63:32] */ -#define AT91_EMAC_SA1L 0x98 /* Specific Address 1 Low, bytes 0-3 */ -#define AT91_EMAC_SA1H 0x9c /* Specific Address 1 High, bytes 4-5 */ -#define AT91_EMAC_SA2L 0xa0 /* Specific Address 2 Low, bytes 0-3 */ -#define AT91_EMAC_SA2H 0xa4 /* Specific Address 2 High, bytes 4-5 */ -#define AT91_EMAC_SA3L 0xa8 /* Specific Address 3 Low, bytes 0-3 */ -#define AT91_EMAC_SA3H 0xac /* Specific Address 3 High, bytes 4-5 */ -#define AT91_EMAC_SA4L 0xb0 /* Specific Address 4 Low, bytes 0-3 */ -#define AT91_EMAC_SA4H 0xb4 /* Specific Address 4 High, bytes 4-5 */ - -#endif diff --git a/trunk/arch/arm/mach-at91/irq.c b/trunk/arch/arm/mach-at91/irq.c index 1e02c0e49dcc..febc2ee901a5 100644 --- a/trunk/arch/arm/mach-at91/irq.c +++ b/trunk/arch/arm/mach-at91/irq.c @@ -502,14 +502,19 @@ int __init at91_aic5_of_init(struct device_node *node, /* * Initialize the AIC interrupt controller. */ -void __init at91_aic_init(unsigned int *priority) +void __init at91_aic_init(unsigned int *priority, unsigned int ext_irq_mask) { unsigned int i; int irq_base; - if (at91_aic_pm_init()) + at91_extern_irq = kzalloc(BITS_TO_LONGS(n_irqs) + * sizeof(*at91_extern_irq), GFP_KERNEL); + + if (at91_aic_pm_init() || at91_extern_irq == NULL) panic("Unable to allocate bit maps\n"); + *at91_extern_irq = ext_irq_mask; + at91_aic_base = ioremap(AT91_AIC, 512); if (!at91_aic_base) panic("Unable to ioremap AIC registers\n"); diff --git a/trunk/arch/arm/mach-at91/setup.c b/trunk/arch/arm/mach-at91/setup.c index da9881b161e1..0b32c81730a5 100644 --- a/trunk/arch/arm/mach-at91/setup.c +++ b/trunk/arch/arm/mach-at91/setup.c @@ -47,7 +47,7 @@ void __init at91_init_irq_default(void) void __init at91_init_interrupts(unsigned int *priority) { /* Initialize the AIC interrupt controller */ - at91_aic_init(priority); + at91_aic_init(priority, at91_extern_irq); /* Enable GPIO interrupts */ at91_gpio_irq_setup(); @@ -151,7 +151,7 @@ static void __init soc_detect(u32 dbgu_base) } /* at91sam9g10 */ - if ((cidr & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) { + if ((socid & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) { at91_soc_initdata.type = AT91_SOC_SAM9G10; at91_boot_soc = at91sam9261_soc; } diff --git a/trunk/arch/arm/mach-davinci/dm644x.c b/trunk/arch/arm/mach-davinci/dm644x.c index cd0c8b1e1ecf..14e9947bad6e 100644 --- a/trunk/arch/arm/mach-davinci/dm644x.c +++ b/trunk/arch/arm/mach-davinci/dm644x.c @@ -713,8 +713,7 @@ static int dm644x_venc_setup_clock(enum vpbe_enc_timings_type type, break; case VPBE_ENC_CUSTOM_TIMINGS: if (pclock <= 27000000) { - v |= DM644X_VPSS_MUXSEL_PLL2_MODE | - DM644X_VPSS_DACCLKEN; + v |= DM644X_VPSS_DACCLKEN; writel(v, DAVINCI_SYSMOD_VIRT(SYSMOD_VPSS_CLKCTL)); } else { /* diff --git a/trunk/arch/arm/mach-dove/common.c b/trunk/arch/arm/mach-dove/common.c index b37bef1d5ffa..f723fe13d0f0 100644 --- a/trunk/arch/arm/mach-dove/common.c +++ b/trunk/arch/arm/mach-dove/common.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include "common.h" @@ -109,8 +110,8 @@ static void __init dove_clk_init(void) orion_clkdev_add(NULL, "orion-ehci.0", usb0); orion_clkdev_add(NULL, "orion-ehci.1", usb1); - orion_clkdev_add(NULL, "mv643xx_eth.0", ge); - orion_clkdev_add("0", "sata_mv.0", sata); + orion_clkdev_add(NULL, "mv643xx_eth_port.0", ge); + orion_clkdev_add(NULL, "sata_mv.0", sata); orion_clkdev_add("0", "pcie", pex0); orion_clkdev_add("1", "pcie", pex1); orion_clkdev_add(NULL, "sdhci-dove.0", sdio0); @@ -399,7 +400,7 @@ static void __init dove_dt_init(void) (dove_tclk + 499999) / 1000000); #ifdef CONFIG_CACHE_TAUROS2 - tauros2_init(); + tauros2_init(0); #endif dove_setup_cpu_mbus(); @@ -415,7 +416,6 @@ static void __init dove_dt_init(void) dove_ehci0_init(); dove_ehci1_init(); dove_pcie_init(1, 1); - dove_crypto_init(); of_platform_populate(NULL, of_default_bus_match_table, dove_auxdata_lookup, NULL); diff --git a/trunk/arch/arm/mach-dove/pcie.c b/trunk/arch/arm/mach-dove/pcie.c index bb15b26041cb..0ef4435b1657 100644 --- a/trunk/arch/arm/mach-dove/pcie.c +++ b/trunk/arch/arm/mach-dove/pcie.c @@ -10,6 +10,7 @@ #include #include +#include #include