From ac501e8c4dc8845de85f5832f2705962d1e0e859 Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Thu, 1 Nov 2007 17:32:21 +1100 Subject: [PATCH] --- yaml --- r: 74522 b: refs/heads/master c: 3b2d871245357015cac621d7612b6ecf59f424df h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/00-INDEX | 2 - trunk/Documentation/DocBook/Makefile | 2 +- trunk/Documentation/DocBook/uio-howto.tmpl | 90 +- trunk/Documentation/accounting/getdelays.c | 43 +- .../feature-removal-schedule.txt | 9 + trunk/Documentation/hwmon/sysfs-interface | 31 - trunk/Documentation/lguest/lguest.c | 26 +- trunk/Documentation/markers.txt | 6 +- .../namespaces/compatibility-list.txt | 39 - trunk/Documentation/networking/00-INDEX | 10 + trunk/Documentation/networking/3c505.txt | 3 +- trunk/Documentation/networking/Configurable | 34 + trunk/Documentation/networking/comx.txt | 248 ++++ trunk/Documentation/networking/ncsa-telnet | 16 + trunk/Documentation/networking/pt.txt | 58 + trunk/Documentation/networking/routing.txt | 46 + trunk/Documentation/networking/slicecom.hun | 371 +++++ trunk/Documentation/networking/slicecom.txt | 369 +++++ trunk/Documentation/parport-lowlevel.txt | 4 - .../powerpc/booting-without-of.txt | 280 +--- trunk/Documentation/rtc.txt | 7 +- trunk/Documentation/thinkpad-acpi.txt | 73 +- trunk/Documentation/tty.txt | 8 - trunk/Documentation/usb/power-management.txt | 8 - trunk/Documentation/x86_64/uefi.txt | 29 - trunk/MAINTAINERS | 150 +- trunk/Makefile | 18 +- trunk/arch/alpha/kernel/pci-noop.c | 14 +- trunk/arch/arm/Kconfig | 2 - trunk/arch/arm/common/uengine.c | 6 +- trunk/arch/arm/kernel/entry-armv.S | 96 +- trunk/arch/arm/kernel/traps.c | 5 +- trunk/arch/arm/mach-at91/at91rm9200_devices.c | 41 +- .../arch/arm/mach-at91/at91sam9260_devices.c | 42 +- .../arch/arm/mach-at91/at91sam9261_devices.c | 42 +- .../arch/arm/mach-at91/at91sam9263_devices.c | 42 +- trunk/arch/arm/mach-at91/at91sam9rl_devices.c | 43 +- trunk/arch/arm/mach-at91/board-carmeva.c | 2 +- trunk/arch/arm/mach-at91/board-csb337.c | 11 +- trunk/arch/arm/mach-at91/board-csb637.c | 2 +- trunk/arch/arm/mach-at91/board-dk.c | 15 +- trunk/arch/arm/mach-at91/board-eb9200.c | 10 +- trunk/arch/arm/mach-at91/board-ek.c | 2 +- trunk/arch/arm/mach-at91/board-kafa.c | 2 +- trunk/arch/arm/mach-at91/board-kb9202.c | 2 +- trunk/arch/arm/mach-at91/board-picotux200.c | 2 +- trunk/arch/arm/mach-at91/board-sam9260ek.c | 2 +- trunk/arch/arm/mach-at91/board-sam9261ek.c | 18 +- trunk/arch/arm/mach-at91/board-sam9263ek.c | 2 +- trunk/arch/arm/mach-at91/board-sam9rlek.c | 2 +- trunk/arch/arm/mach-at91/clock.c | 9 +- trunk/arch/arm/mach-imx/irq.c | 51 +- trunk/arch/arm/mach-iop32x/n2100.c | 11 - trunk/arch/arm/mach-netx/xc.c | 6 +- trunk/arch/arm/mach-pxa/pxa27x.c | 2 +- trunk/arch/arm/mach-pxa/pxa320.c | 7 +- trunk/arch/arm/mach-pxa/pxa3xx.c | 37 +- trunk/arch/arm/mach-pxa/ssp.c | 1 - trunk/arch/arm/mach-pxa/time.c | 23 +- trunk/arch/arm/mm/consistent.c | 1 + trunk/arch/arm/plat-omap/fb.c | 2 +- trunk/arch/avr32/Kconfig | 3 + trunk/arch/avr32/mach-at32ap/at32ap7000.c | 4 +- trunk/arch/avr32/mach-at32ap/hsmc.c | 1 + trunk/arch/avr32/mach-at32ap/intc.c | 4 +- trunk/arch/blackfin/Kconfig | 314 +++- trunk/arch/blackfin/Kconfig.debug | 178 --- trunk/arch/blackfin/Makefile | 2 - .../blackfin/configs/BF527-EZKIT_defconfig | 27 +- .../blackfin/configs/BF533-EZKIT_defconfig | 41 +- .../blackfin/configs/BF533-STAMP_defconfig | 41 +- .../blackfin/configs/BF537-STAMP_defconfig | 83 +- .../blackfin/configs/BF548-EZKIT_defconfig | 30 +- .../blackfin/configs/BF561-EZKIT_defconfig | 49 +- trunk/arch/blackfin/configs/H8606_defconfig | 1160 --------------- trunk/arch/blackfin/configs/PNAV-10_defconfig | 75 +- trunk/arch/blackfin/kernel/bfin_dma_5xx.c | 1 - trunk/arch/blackfin/kernel/bfin_ksyms.c | 7 +- trunk/arch/blackfin/kernel/cplbinit.c | 73 +- trunk/arch/blackfin/kernel/early_printk.c | 3 +- trunk/arch/blackfin/kernel/process.c | 66 + trunk/arch/blackfin/kernel/setup.c | 9 +- trunk/arch/blackfin/kernel/traps.c | 147 +- trunk/arch/blackfin/lib/Makefile | 2 +- trunk/arch/blackfin/lib/ins.S | 19 - trunk/arch/blackfin/lib/strcmp.c | 11 +- trunk/arch/blackfin/lib/strcpy.c | 11 +- trunk/arch/blackfin/lib/strncmp.c | 11 +- trunk/arch/blackfin/lib/strncpy.c | 11 +- trunk/arch/blackfin/lib/udivdi3.S | 375 +++++ trunk/arch/blackfin/mach-bf527/Kconfig | 2 - trunk/arch/blackfin/mach-bf527/boards/Kconfig | 12 - .../arch/blackfin/mach-bf527/boards/Makefile | 6 +- .../arch/blackfin/mach-bf527/boards/eth_mac.c | 50 + trunk/arch/blackfin/mach-bf527/boards/ezkit.c | 37 +- trunk/arch/blackfin/mach-bf533/Kconfig | 2 - trunk/arch/blackfin/mach-bf533/boards/H8606.c | 12 +- trunk/arch/blackfin/mach-bf533/boards/Kconfig | 34 - .../arch/blackfin/mach-bf533/boards/Makefile | 2 +- .../blackfin/mach-bf533/boards/cm_bf533.c | 4 +- trunk/arch/blackfin/mach-bf533/boards/ezkit.c | 4 +- .../mach-bf533/boards/generic_board.c | 4 + trunk/arch/blackfin/mach-bf533/boards/stamp.c | 4 +- trunk/arch/blackfin/mach-bf537/Kconfig | 2 - trunk/arch/blackfin/mach-bf537/boards/Kconfig | 29 - .../arch/blackfin/mach-bf537/boards/Makefile | 9 +- .../blackfin/mach-bf537/boards/cm_bf537.c | 11 +- .../arch/blackfin/mach-bf537/boards/eth_mac.c | 50 + .../mach-bf537/boards/generic_board.c | 13 +- .../arch/blackfin/mach-bf537/boards/pnav10.c | 15 +- trunk/arch/blackfin/mach-bf537/boards/stamp.c | 50 +- trunk/arch/blackfin/mach-bf548/Kconfig | 2 - trunk/arch/blackfin/mach-bf548/boards/Kconfig | 12 - .../arch/blackfin/mach-bf548/boards/Makefile | 2 +- trunk/arch/blackfin/mach-bf548/boards/ezkit.c | 20 +- trunk/arch/blackfin/mach-bf548/head.S | 21 - trunk/arch/blackfin/mach-bf561/Kconfig | 4 +- trunk/arch/blackfin/mach-bf561/boards/Kconfig | 27 - .../arch/blackfin/mach-bf561/boards/Makefile | 2 +- .../blackfin/mach-bf561/boards/cm_bf561.c | 4 +- trunk/arch/blackfin/mach-bf561/boards/ezkit.c | 29 - .../mach-bf561/boards/generic_board.c | 4 + trunk/arch/blackfin/mach-bf561/boards/tepla.c | 4 + trunk/arch/blackfin/mach-common/cplbinfo.c | 2 +- trunk/arch/blackfin/mach-common/cplbmgr.S | 25 +- trunk/arch/blackfin/mach-common/entry.S | 54 +- trunk/arch/blackfin/mach-common/interrupt.S | 1 + .../blackfin/mach-common/ints-priority-dc.c | 21 +- .../blackfin/mach-common/ints-priority-sc.c | 28 +- trunk/arch/blackfin/mach-common/irqpanic.c | 14 +- trunk/arch/blackfin/mm/blackfin_sram.c | 1 + trunk/arch/cris/Kconfig | 19 +- trunk/arch/cris/arch-v10/defconfig | 2 + trunk/arch/cris/arch-v10/drivers/Kconfig | 42 +- .../arch/cris/arch-v10/drivers/axisflashmap.c | 8 +- trunk/arch/cris/arch-v10/drivers/gpio.c | 15 +- trunk/arch/cris/arch-v10/kernel/entry.S | 77 +- trunk/arch/cris/arch-v10/kernel/fasttimer.c | 327 +++-- .../cris/arch-v10/kernel/io_interface_mux.c | 2 +- trunk/arch/cris/arch-v10/kernel/irq.c | 59 +- trunk/arch/cris/arch-v10/kernel/setup.c | 5 +- trunk/arch/cris/arch-v10/kernel/time.c | 11 +- trunk/arch/cris/arch-v10/lib/memset.c | 82 +- trunk/arch/cris/arch-v10/lib/string.c | 54 +- trunk/arch/cris/arch-v10/lib/usercopy.c | 314 ++-- trunk/arch/cris/arch-v32/drivers/Kconfig | 14 + .../arch/cris/arch-v32/drivers/axisflashmap.c | 9 +- .../arch/cris/arch-v32/drivers/sync_serial.c | 2 +- trunk/arch/cris/arch-v32/kernel/cache.c | 33 - trunk/arch/cris/arch-v32/kernel/cacheflush.S | 94 -- trunk/arch/cris/arch-v32/kernel/io.c | 2 +- trunk/arch/cris/arch-v32/kernel/setup.c | 6 +- trunk/arch/cris/defconfig | 78 +- trunk/arch/cris/kernel/crisksyms.c | 17 +- trunk/arch/cris/kernel/irq.c | 6 +- trunk/arch/cris/kernel/process.c | 5 - trunk/arch/cris/kernel/ptrace.c | 6 +- trunk/arch/cris/kernel/sys_cris.c | 1 - trunk/arch/cris/kernel/time.c | 10 +- trunk/arch/frv/kernel/break.S | 2 +- trunk/arch/frv/kernel/entry.S | 2 +- trunk/arch/frv/kernel/vmlinux.lds.S | 27 +- trunk/arch/frv/mm/init.c | 2 +- trunk/arch/frv/mm/tlb-miss.S | 2 +- trunk/arch/ia64/hp/sim/boot/fw-emu.c | 2 +- trunk/arch/ia64/ia32/ia32priv.h | 1 + trunk/arch/ia64/kernel/.gitignore | 1 - trunk/arch/ia64/kernel/acpi.c | 8 +- trunk/arch/ia64/kernel/efi.c | 11 +- trunk/arch/ia64/kernel/iosapic.c | 18 +- trunk/arch/ia64/kernel/irq.c | 6 +- trunk/arch/ia64/kernel/mca.c | 2 +- trunk/arch/ia64/kernel/palinfo.c | 91 +- trunk/arch/ia64/kernel/patch.c | 3 + trunk/arch/ia64/kernel/perfmon.c | 4 +- trunk/arch/ia64/mm/contig.c | 74 +- trunk/arch/ia64/sn/kernel/irq.c | 8 +- trunk/arch/ia64/sn/kernel/xpc_main.c | 12 +- trunk/arch/m32r/kernel/signal.c | 17 +- trunk/arch/m32r/kernel/syscall_table.S | 40 - trunk/arch/m68k/atari/atakeyb.c | 3 +- trunk/arch/mips/Kconfig | 44 +- trunk/arch/mips/Makefile | 2 +- trunk/arch/mips/au1000/Kconfig | 1 - trunk/arch/mips/kernel/Makefile | 2 - trunk/arch/mips/kernel/cevt-bcm1480.c | 6 +- trunk/arch/mips/kernel/cevt-r4k.c | 14 +- trunk/arch/mips/kernel/cevt-sb1250.c | 6 +- trunk/arch/mips/kernel/cpu-probe.c | 5 - trunk/arch/mips/kernel/csrc-r4k.c | 33 - trunk/arch/mips/kernel/csrc-sb1250.c | 2 +- trunk/arch/mips/kernel/genex.S | 2 +- trunk/arch/mips/kernel/irixsig.c | 1 - trunk/arch/mips/kernel/irq-rm7000.c | 2 +- trunk/arch/mips/kernel/irq-rm9000.c | 2 +- trunk/arch/mips/kernel/irq_cpu.c | 2 +- trunk/arch/mips/kernel/proc.c | 2 - trunk/arch/mips/kernel/scall64-n32.S | 2 +- trunk/arch/mips/kernel/setup.c | 31 +- trunk/arch/mips/kernel/smp-up.c | 67 - trunk/arch/mips/kernel/time.c | 112 +- trunk/arch/mips/kernel/traps.c | 68 +- trunk/arch/mips/kernel/vpe.c | 18 +- trunk/arch/mips/lasat/interrupt.c | 22 +- trunk/arch/mips/math-emu/ieee754.c | 2 - trunk/arch/mips/math-emu/ieee754dp.c | 2 - trunk/arch/mips/math-emu/ieee754sp.c | 2 - trunk/arch/mips/mipssim/sim_time.c | 6 +- trunk/arch/mips/mm/c-r4k.c | 7 +- trunk/arch/mips/mm/cerr-sb1.c | 6 +- trunk/arch/mips/mm/dma-default.c | 37 +- trunk/arch/mips/mm/init.c | 45 +- trunk/arch/mips/pci/fixup-sni.c | 23 +- trunk/arch/mips/pci/pci-lasat.c | 32 +- trunk/arch/mips/pci/pci-vr41xx.c | 1 - trunk/arch/mips/pmc-sierra/Kconfig | 2 - trunk/arch/mips/qemu/Makefile | 3 +- trunk/arch/mips/qemu/q-console.c | 26 - trunk/arch/mips/qemu/q-firmware.c | 6 - trunk/arch/mips/qemu/q-setup.c | 3 + trunk/arch/mips/sgi-ip22/ip22-eisa.c | 134 +- trunk/arch/mips/sgi-ip22/ip22-nvram.c | 40 +- trunk/arch/mips/sgi-ip22/ip22-setup.c | 19 + trunk/arch/mips/sgi-ip32/ip32-irq.c | 24 +- trunk/arch/mips/sibyte/bcm1480/irq.c | 21 +- trunk/arch/mips/sni/pcimt.c | 2 +- trunk/arch/mips/vr41xx/Kconfig | 6 - trunk/arch/mips/vr41xx/common/icu.c | 2 - trunk/arch/powerpc/Kconfig | 5 - trunk/arch/powerpc/Makefile | 3 - trunk/arch/powerpc/boot/dts/mpc832x_mds.dts | 16 +- trunk/arch/powerpc/boot/dts/mpc834x_mds.dts | 9 - trunk/arch/powerpc/boot/dts/mpc836x_mds.dts | 9 - trunk/arch/powerpc/boot/dts/mpc8544ds.dts | 20 +- trunk/arch/powerpc/boot/dts/mpc8572ds.dts | 108 +- trunk/arch/powerpc/boot/dts/mpc8641_hpcn.dts | 126 +- trunk/arch/powerpc/boot/dts/walnut.dts | 4 +- trunk/arch/powerpc/boot/wrapper | 43 +- .../powerpc/configs/mpc832x_mds_defconfig | 48 +- .../powerpc/configs/mpc832x_rdb_defconfig | 41 +- .../powerpc/configs/mpc834x_itx_defconfig | 2 +- .../powerpc/configs/mpc834x_itxgp_defconfig | 88 +- .../powerpc/configs/mpc834x_mds_defconfig | 48 +- .../powerpc/configs/mpc836x_mds_defconfig | 48 +- .../arch/powerpc/configs/mpc8568mds_defconfig | 48 +- trunk/arch/powerpc/configs/pasemi_defconfig | 308 ++-- trunk/arch/powerpc/configs/ppc64_defconfig | 247 +--- trunk/arch/powerpc/kernel/asm-offsets.c | 4 - trunk/arch/powerpc/kernel/btext.c | 4 +- trunk/arch/powerpc/kernel/cputable.c | 36 +- trunk/arch/powerpc/kernel/entry_32.S | 29 - trunk/arch/powerpc/kernel/head_64.S | 2 +- trunk/arch/powerpc/kernel/idle.c | 2 +- trunk/arch/powerpc/kernel/misc_32.S | 32 +- trunk/arch/powerpc/kernel/process.c | 2 +- trunk/arch/powerpc/kernel/prom.c | 12 - trunk/arch/powerpc/kernel/prom_init.c | 2 +- trunk/arch/powerpc/kernel/rtas.c | 111 +- trunk/arch/powerpc/kernel/setup_64.c | 19 +- trunk/arch/powerpc/kernel/swsusp_32.S | 2 - trunk/arch/powerpc/kernel/time.c | 42 +- trunk/arch/powerpc/kernel/vdso.c | 11 - trunk/arch/powerpc/kernel/vdso32/cacheflush.S | 41 +- trunk/arch/powerpc/kernel/vdso64/cacheflush.S | 41 +- trunk/arch/powerpc/kernel/vmlinux.lds.S | 3 +- trunk/arch/powerpc/mm/40x_mmu.c | 17 +- trunk/arch/powerpc/mm/44x_mmu.c | 1 - trunk/arch/powerpc/mm/fault.c | 2 +- trunk/arch/powerpc/mm/hash_low_64.S | 5 +- trunk/arch/powerpc/mm/hash_utils_64.c | 7 +- trunk/arch/powerpc/mm/init_64.c | 16 +- trunk/arch/powerpc/mm/mem.c | 2 +- trunk/arch/powerpc/mm/mmu_decl.h | 6 +- trunk/arch/powerpc/mm/slb.c | 35 +- trunk/arch/powerpc/mm/stab.c | 1 - trunk/arch/powerpc/mm/tlb_64.c | 2 + trunk/arch/powerpc/platforms/40x/walnut.c | 3 +- trunk/arch/powerpc/platforms/44x/bamboo.c | 3 +- trunk/arch/powerpc/platforms/44x/ebony.c | 3 +- trunk/arch/powerpc/platforms/44x/sequoia.c | 3 +- .../arch/powerpc/platforms/83xx/mpc832x_mds.c | 31 +- .../arch/powerpc/platforms/83xx/mpc832x_rdb.c | 14 +- .../arch/powerpc/platforms/83xx/mpc834x_mds.c | 24 + .../arch/powerpc/platforms/83xx/mpc836x_mds.c | 55 +- trunk/arch/powerpc/platforms/83xx/usb.c | 8 +- trunk/arch/powerpc/platforms/cell/interrupt.c | 24 +- trunk/arch/powerpc/platforms/cell/smp.c | 1 - .../arch/powerpc/platforms/cell/spufs/inode.c | 1 - trunk/arch/powerpc/platforms/celleb/setup.c | 1 - .../powerpc/platforms/embedded6xx/prpmc2800.c | 1 - trunk/arch/powerpc/platforms/iseries/irq.h | 4 - trunk/arch/powerpc/platforms/iseries/setup.c | 4 + trunk/arch/powerpc/platforms/iseries/vio.c | 10 +- trunk/arch/powerpc/platforms/pasemi/setup.c | 2 +- trunk/arch/powerpc/platforms/pseries/Kconfig | 2 +- trunk/arch/powerpc/platforms/pseries/eeh.c | 13 +- .../powerpc/platforms/pseries/eeh_driver.c | 18 +- .../arch/powerpc/platforms/pseries/firmware.c | 1 - trunk/arch/powerpc/platforms/pseries/msi.c | 6 - trunk/arch/powerpc/platforms/pseries/setup.c | 3 +- trunk/arch/powerpc/sysdev/cpm_common.c | 4 +- trunk/arch/powerpc/sysdev/i8259.c | 1 - trunk/arch/powerpc/sysdev/mv64x60_pci.c | 10 +- trunk/arch/powerpc/sysdev/uic.c | 18 +- trunk/arch/ppc/kernel/entry.S | 29 - trunk/arch/ppc/kernel/misc.S | 31 +- trunk/arch/ppc/kernel/setup.c | 7 - trunk/arch/ppc/mm/44x_mmu.c | 1 - trunk/arch/ppc/mm/4xx_mmu.c | 17 +- trunk/arch/ppc/mm/fault.c | 2 +- trunk/arch/ppc/mm/init.c | 2 +- trunk/arch/ppc/mm/mmu_decl.h | 6 +- trunk/arch/ppc/platforms/4xx/ebony.c | 2 +- trunk/arch/ppc/platforms/4xx/luan.c | 7 +- trunk/arch/ppc/platforms/4xx/ocotea.c | 2 +- trunk/arch/ppc/platforms/4xx/taishan.c | 2 +- trunk/arch/ppc/platforms/4xx/yucca.c | 1 - trunk/arch/ppc/syslib/i8259.c | 1 - trunk/arch/ppc/syslib/m8260_setup.c | 13 +- trunk/arch/ppc/syslib/virtex_devices.c | 31 - trunk/arch/s390/appldata/appldata.h | 1 + trunk/arch/s390/appldata/appldata_base.c | 74 +- trunk/arch/s390/appldata/appldata_mem.c | 1 + trunk/arch/s390/appldata/appldata_net_sum.c | 1 + trunk/arch/s390/appldata/appldata_os.c | 1 + trunk/arch/s390/kernel/early.c | 2 +- trunk/arch/s390/kernel/entry.S | 120 +- trunk/arch/s390/kernel/entry64.S | 114 +- trunk/arch/s390/kernel/setup.c | 6 +- trunk/arch/s390/kernel/smp.c | 56 +- trunk/arch/s390/kernel/time.c | 4 + trunk/arch/s390/kernel/traps.c | 1 - trunk/arch/s390/kernel/vtime.c | 8 +- trunk/arch/s390/mm/cmm.c | 3 + trunk/arch/sh/Kconfig | 10 +- trunk/arch/sh/Kconfig.debug | 3 +- .../arch/sh/boards/renesas/hs7751rvoip/irq.c | 1 - .../sh/boards/renesas/hs7751rvoip/setup.c | 19 +- .../arch/sh/boards/renesas/rts7751r2d/setup.c | 2 - .../sh/boards/renesas/sh7710voipgw/setup.c | 1 + trunk/arch/sh/boards/se/7206/irq.c | 1 + trunk/arch/sh/boards/se/770x/setup.c | 1 - trunk/arch/sh/boards/se/7722/setup.c | 8 - trunk/arch/sh/boards/se/7780/setup.c | 8 - trunk/arch/sh/boards/snapgear/Makefile | 3 +- trunk/arch/sh/boards/snapgear/rtc.c | 309 ++++ trunk/arch/sh/boards/snapgear/setup.c | 16 +- trunk/arch/sh/boot/Makefile | 2 +- trunk/arch/sh/cchips/hd6446x/Makefile | 2 - trunk/arch/sh/cchips/voyagergx/Makefile | 1 - trunk/arch/sh/configs/r7780mp_defconfig | 287 ++-- trunk/arch/sh/configs/r7785rp_defconfig | 10 +- trunk/arch/sh/drivers/pci/Makefile | 1 + trunk/arch/sh/drivers/pci/pci-st40.c | 488 +++++++ trunk/arch/sh/drivers/pci/pci-st40.h | 136 ++ trunk/arch/sh/kernel/Makefile | 3 +- trunk/arch/sh/kernel/cpu/sh3/ex.S | 2 +- trunk/arch/sh/kernel/cpu/sh4/probe.c | 8 + trunk/arch/sh/kernel/irq.c | 1 + trunk/arch/sh/kernel/kgdb_stub.c | 9 +- trunk/arch/sh/kernel/setup.c | 1 + trunk/arch/sh/kernel/sh_ksyms.c | 2 + trunk/arch/sh/lib/Makefile | 2 - trunk/arch/sh/mm/Kconfig | 21 +- trunk/arch/sh/mm/Makefile | 2 - trunk/arch/sh/mm/clear_page.S | 45 + trunk/arch/sh/mm/copy_page.S | 61 + trunk/arch/sh/mm/fault.c | 33 +- trunk/arch/sh/mm/pg-sh4.c | 75 +- trunk/arch/sh/oprofile/Makefile | 1 - trunk/arch/sh64/kernel/process.c | 10 +- trunk/arch/sh64/kernel/traps.c | 5 + trunk/arch/sparc/kernel/irq.c | 1 + trunk/arch/sparc64/kernel/ds.c | 1 + trunk/arch/sparc64/kernel/module.c | 1 + trunk/arch/sparc64/kernel/sys_sparc32.c | 1 + trunk/arch/sparc64/kernel/sys_sunos32.c | 1 + trunk/arch/sparc64/kernel/time.c | 2 + trunk/arch/um/Kconfig.i386 | 7 - trunk/arch/um/Makefile | 6 +- trunk/arch/um/drivers/chan_user.c | 11 +- trunk/arch/um/drivers/net_kern.c | 14 +- trunk/arch/um/drivers/ubd_kern.c | 1 - trunk/arch/um/include/user.h | 13 +- trunk/arch/um/kernel/irq.c | 13 +- trunk/arch/um/kernel/skas/clone.c | 1 + trunk/arch/um/os-Linux/file.c | 3 +- trunk/arch/um/os-Linux/time.c | 55 +- trunk/arch/x86/Kconfig.cpu | 121 +- trunk/arch/x86/{Kconfig => Kconfig.i386} | 567 ++------ trunk/arch/x86/Kconfig.x86_64 | 839 +++++++++++ trunk/arch/x86/Makefile | 15 +- trunk/arch/x86/Makefile_32 | 8 +- trunk/arch/x86/Makefile_64 | 8 +- trunk/arch/x86/boot/Makefile | 6 +- trunk/arch/x86/boot/cpucheck.c | 6 + trunk/arch/x86/boot/header.S | 41 +- trunk/arch/x86/ia32/ia32entry.S | 19 +- trunk/arch/x86/ia32/ptrace32.c | 10 +- trunk/arch/x86/kernel/Makefile_32 | 3 +- trunk/arch/x86/kernel/Makefile_64 | 2 - trunk/arch/x86/kernel/acpi/boot.c | 32 - trunk/arch/x86/kernel/acpi/processor.c | 3 - trunk/arch/x86/kernel/acpi/sleep_64.c | 3 + trunk/arch/x86/kernel/apic_32.c | 2 +- .../cpu/cpufreq/{Kconfig => Kconfig_32} | 69 +- trunk/arch/x86/kernel/cpu/cpufreq/Kconfig_64 | 108 ++ .../arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 90 +- .../arch/x86/kernel/cpu/cpufreq/powernow-k8.h | 20 +- trunk/arch/x86/kernel/cpu/mcheck/mce_64.c | 20 +- trunk/arch/x86/kernel/cpu/mtrr/main.c | 6 +- trunk/arch/x86/kernel/cpu/proc.c | 8 +- trunk/arch/x86/kernel/i386_ksyms_32.c | 2 - trunk/arch/x86/kernel/i387_64.c | 9 +- trunk/arch/x86/kernel/io_apic_32.c | 33 +- trunk/arch/x86/kernel/io_apic_64.c | 24 +- trunk/arch/x86/kernel/kprobes_64.c | 2 +- trunk/arch/x86/kernel/nmi_32.c | 13 +- trunk/arch/x86/kernel/paravirt_32.c | 4 +- trunk/arch/x86/kernel/pci-dma_64.c | 2 +- trunk/arch/x86/kernel/reboot_fixups_32.c | 1 - trunk/arch/x86/kernel/setup_64.c | 9 +- trunk/arch/x86/kernel/time_64.c | 41 +- trunk/arch/x86/kernel/traps_32.c | 7 - trunk/arch/x86/kernel/traps_64.c | 9 - trunk/arch/x86/lguest/Kconfig | 1 - trunk/arch/x86/lib/delay_32.c | 3 - trunk/arch/x86/lib/delay_64.c | 11 +- trunk/arch/x86/mach-voyager/voyager_cat.c | 2 +- trunk/arch/x86/mach-voyager/voyager_smp.c | 4 +- trunk/arch/x86/mm/init_64.c | 2 +- trunk/arch/x86/pci/acpi.c | 8 +- trunk/arch/x86/pci/common.c | 16 - trunk/arch/x86/vdso/Makefile | 2 +- trunk/arch/x86/vdso/vgetcpu.c | 19 +- trunk/arch/x86/xen/mmu.c | 4 - trunk/block/blktrace.c | 9 +- trunk/block/cfq-iosched.c | 34 +- trunk/block/genhd.c | 1 - trunk/block/ll_rw_blk.c | 64 +- trunk/crypto/algapi.c | 6 +- trunk/crypto/authenc.c | 12 +- trunk/drivers/acpi/Kconfig | 16 +- trunk/drivers/acpi/Makefile | 2 +- trunk/drivers/acpi/ac.c | 40 +- trunk/drivers/acpi/battery.c | 32 +- trunk/drivers/acpi/ec.c | 100 +- trunk/drivers/acpi/osl.c | 25 +- trunk/drivers/acpi/processor_core.c | 33 +- trunk/drivers/acpi/processor_idle.c | 112 +- trunk/drivers/acpi/processor_throttling.c | 286 +--- trunk/drivers/acpi/sbs.c | 43 +- trunk/drivers/acpi/tables/tbutils.c | 2 +- trunk/drivers/acpi/toshiba_acpi.c | 3 - trunk/drivers/acpi/video.c | 155 +- trunk/drivers/ata/ata_piix.c | 128 +- trunk/drivers/ata/libata-acpi.c | 10 +- trunk/drivers/ata/libata-core.c | 194 +-- trunk/drivers/ata/libata-eh.c | 137 +- trunk/drivers/ata/libata-scsi.c | 38 +- trunk/drivers/ata/pata_ali.c | 20 - trunk/drivers/ata/pata_at32.c | 61 +- trunk/drivers/ata/pata_bf54x.c | 13 +- trunk/drivers/ata/pata_hpt37x.c | 2 +- trunk/drivers/ata/pata_isapnp.c | 11 +- trunk/drivers/ata/pata_jmicron.c | 9 +- trunk/drivers/ata/pata_platform.c | 35 +- trunk/drivers/ata/pata_sil680.c | 32 +- trunk/drivers/ata/pata_sis.c | 1 - trunk/drivers/ata/sata_mv.c | 64 +- trunk/drivers/ata/sata_nv.c | 2 +- trunk/drivers/ata/sata_qstor.c | 114 +- trunk/drivers/ata/sata_sil24.c | 26 +- trunk/drivers/atm/he.c | 10 +- trunk/drivers/base/core.c | 4 +- trunk/drivers/base/power/Makefile | 3 +- trunk/drivers/base/power/main.c | 8 +- trunk/drivers/base/power/power.h | 28 +- trunk/drivers/block/nbd.c | 3 +- trunk/drivers/block/paride/pf.c | 25 +- trunk/drivers/block/pktcdvd.c | 9 - trunk/drivers/block/rd.c | 13 - trunk/drivers/block/virtio_blk.c | 10 +- trunk/drivers/char/Kconfig | 2 +- trunk/drivers/char/pcmcia/cm4000_cs.c | 2 +- trunk/drivers/char/pcmcia/cm4040_cs.c | 2 +- trunk/drivers/char/random.c | 6 +- trunk/drivers/char/rtc.c | 52 +- trunk/drivers/char/sonypi.c | 8 +- trunk/drivers/char/tpm/tpm_tis.c | 10 +- trunk/drivers/char/tty_ioctl.c | 170 +-- trunk/drivers/cpufreq/cpufreq_conservative.c | 153 +- trunk/drivers/crypto/Kconfig | 2 +- trunk/drivers/crypto/geode-aes.c | 3 +- trunk/drivers/dma/Kconfig | 8 +- trunk/drivers/dma/dmaengine.c | 17 +- trunk/drivers/dma/ioat.c | 11 - trunk/drivers/dma/ioat_dca.c | 164 --- trunk/drivers/dma/ioat_dma.c | 578 ++------ trunk/drivers/dma/ioatdma.h | 32 +- trunk/drivers/dma/ioatdma_hw.h | 33 +- trunk/drivers/dma/ioatdma_registers.h | 106 +- trunk/drivers/edac/i5000_edac.c | 2 +- trunk/drivers/firewire/fw-sbp2.c | 11 +- trunk/drivers/hwmon/Kconfig | 10 - trunk/drivers/hwmon/Makefile | 1 - trunk/drivers/hwmon/abituguru3.c | 56 +- trunk/drivers/hwmon/applesmc.c | 107 +- trunk/drivers/hwmon/f75375s.c | 170 +-- trunk/drivers/hwmon/i5k_amb.c | 552 ------- trunk/drivers/hwmon/ibmpex.c | 48 +- trunk/drivers/hwmon/lm70.c | 11 +- trunk/drivers/hwmon/sis5595.c | 59 +- trunk/drivers/hwmon/w83627hf.c | 155 +- trunk/drivers/hwmon/w83781d.c | 3 +- trunk/drivers/i2c/busses/i2c-pasemi.c | 7 +- trunk/drivers/i2c/chips/eeprom.c | 37 +- trunk/drivers/i2c/i2c-core.c | 3 +- trunk/drivers/i2c/i2c-dev.c | 86 +- trunk/drivers/ide/Kconfig | 51 +- trunk/drivers/ide/Makefile | 2 +- trunk/drivers/ide/cris/ide-cris.c | 10 +- trunk/drivers/ide/ide-dma.c | 1 - trunk/drivers/ide/ide-io.c | 6 +- trunk/drivers/ide/ide-iops.c | 13 +- trunk/drivers/ide/ide-lib.c | 1 - trunk/drivers/ide/ide-probe.c | 32 +- trunk/drivers/ide/legacy/ali14xx.c | 7 +- trunk/drivers/ide/legacy/macide.c | 2 +- trunk/drivers/ide/legacy/q40ide.c | 2 +- trunk/drivers/ide/pci/aec62xx.c | 11 +- trunk/drivers/ide/pci/alim15x3.c | 5 - trunk/drivers/ide/pci/cmd64x.c | 5 +- trunk/drivers/ide/pci/cs5530.c | 3 +- trunk/drivers/ide/pci/it821x.c | 3 +- trunk/drivers/ide/pci/jmicron.c | 3 +- trunk/drivers/ide/pci/piix.c | 1 - trunk/drivers/ide/pci/sc1200.c | 3 +- trunk/drivers/ide/pci/siimage.c | 45 +- trunk/drivers/ide/pci/sis5513.c | 2 +- trunk/drivers/ide/pci/trm290.c | 3 + trunk/drivers/ide/ppc/pmac.c | 3 +- trunk/drivers/ide/setup-pci.c | 5 + .../infiniband/hw/cxgb3/iwch_provider.c | 1 - trunk/drivers/infiniband/hw/ehca/ehca_av.c | 52 +- .../drivers/infiniband/hw/ehca/ehca_classes.h | 1 + trunk/drivers/infiniband/hw/ehca/ehca_hca.c | 20 +- .../drivers/infiniband/hw/ehca/ehca_iverbs.h | 3 - trunk/drivers/infiniband/hw/ehca/ehca_main.c | 3 + trunk/drivers/infiniband/hw/ehca/ehca_qp.c | 29 +- trunk/drivers/infiniband/hw/ehca/hipz_hw.h | 6 +- trunk/drivers/infiniband/hw/ipath/ipath_cq.c | 30 +- trunk/drivers/infiniband/hw/ipath/ipath_qp.c | 15 +- trunk/drivers/infiniband/hw/ipath/ipath_rc.c | 5 +- trunk/drivers/infiniband/hw/ipath/ipath_srq.c | 44 +- .../drivers/infiniband/hw/ipath/ipath_verbs.c | 8 +- .../drivers/infiniband/ulp/ipoib/ipoib_main.c | 3 - .../drivers/infiniband/ulp/iser/iser_memory.c | 6 +- trunk/drivers/input/keyboard/Kconfig | 2 +- trunk/drivers/input/keyboard/gpio_keys.c | 38 +- trunk/drivers/input/serio/Kconfig | 2 +- trunk/drivers/input/serio/i8042-x86ia64io.h | 8 - trunk/drivers/isdn/hisax/hfcscard.c | 3 +- trunk/drivers/isdn/i4l/isdn_common.c | 5 +- trunk/drivers/isdn/i4l/isdn_net.c | 8 +- trunk/drivers/isdn/sc/card.h | 2 +- trunk/drivers/isdn/sc/packet.c | 2 +- trunk/drivers/isdn/sc/shmem.c | 2 +- trunk/drivers/kvm/kvm_main.c | 3 +- trunk/drivers/kvm/svm.c | 19 +- trunk/drivers/kvm/x86_emulate.c | 32 +- trunk/drivers/lguest/lguest_device.c | 5 +- trunk/drivers/lguest/lguest_user.c | 2 +- trunk/drivers/macintosh/windfarm_core.c | 10 +- trunk/drivers/md/bitmap.c | 3 +- trunk/drivers/md/dm-table.c | 3 +- trunk/drivers/md/linear.c | 3 +- trunk/drivers/md/md.c | 4 +- trunk/drivers/md/multipath.c | 3 +- trunk/drivers/md/raid0.c | 3 +- trunk/drivers/md/raid1.c | 3 +- trunk/drivers/md/raid10.c | 3 +- trunk/drivers/md/raid5.c | 19 +- trunk/drivers/mfd/sm501.c | 2 +- trunk/drivers/misc/ioc4.c | 10 +- trunk/drivers/misc/sony-laptop.c | 10 +- trunk/drivers/misc/thinkpad_acpi.c | 231 +-- trunk/drivers/misc/thinkpad_acpi.h | 4 +- trunk/drivers/mmc/card/block.c | 22 +- trunk/drivers/mmc/card/queue.c | 5 +- trunk/drivers/mmc/card/sdio_uart.c | 2 +- trunk/drivers/mmc/host/sdhci.c | 2 +- trunk/drivers/mmc/host/tifm_sd.c | 18 +- trunk/drivers/net/Kconfig | 212 ++- trunk/drivers/net/amd8111e.c | 6 - trunk/drivers/net/arcnet/Kconfig | 15 +- trunk/drivers/net/arm/ep93xx_eth.c | 2 +- trunk/drivers/net/bfin_mac.c | 4 +- trunk/drivers/net/bfin_mac.h | 2 +- trunk/drivers/net/bonding/bond_main.c | 5 +- trunk/drivers/net/bonding/bond_sysfs.c | 4 +- trunk/drivers/net/chelsio/cxgb2.c | 70 +- trunk/drivers/net/chelsio/pm3393.c | 112 +- trunk/drivers/net/chelsio/sge.c | 46 +- trunk/drivers/net/chelsio/sge.h | 3 +- trunk/drivers/net/cris/eth_v10.c | 440 ++---- trunk/drivers/net/e1000/e1000_main.c | 15 +- trunk/drivers/net/ehea/ehea.h | 2 +- trunk/drivers/net/ehea/ehea_main.c | 20 +- trunk/drivers/net/ehea/ehea_qmr.h | 4 +- trunk/drivers/net/fec_mpc52xx.c | 2 - trunk/drivers/net/forcedeth.c | 38 +- trunk/drivers/net/fs_enet/Kconfig | 11 +- trunk/drivers/net/fs_enet/Makefile | 15 +- trunk/drivers/net/hamradio/6pack.c | 26 +- trunk/drivers/net/ibm_newemac/core.c | 31 +- trunk/drivers/net/ibm_newemac/core.h | 1 - trunk/drivers/net/irda/irtty-sir.c | 7 +- trunk/drivers/net/lib82596.c | 50 +- trunk/drivers/net/loopback.c | 2 +- trunk/drivers/net/mlx4/alloc.c | 7 +- trunk/drivers/net/mlx4/qp.c | 4 +- trunk/drivers/net/myri_sbus.c | 2 +- trunk/drivers/net/netx-eth.c | 6 +- trunk/drivers/net/pasemi_mac.c | 18 +- trunk/drivers/net/phy/marvell.c | 26 +- trunk/drivers/net/phy/phy.c | 3 - trunk/drivers/net/plip.c | 4 +- trunk/drivers/net/ppp_async.c | 44 +- trunk/drivers/net/ppp_generic.c | 126 +- trunk/drivers/net/ppp_synctty.c | 37 +- trunk/drivers/net/pppol2tp.c | 25 +- trunk/drivers/net/qla3xxx.c | 42 +- trunk/drivers/net/qla3xxx.h | 1 - trunk/drivers/net/r8169.c | 26 +- trunk/drivers/net/rrunner.c | 18 + trunk/drivers/net/s2io.c | 142 +- trunk/drivers/net/skge.c | 157 +- trunk/drivers/net/sky2.c | 183 ++- trunk/drivers/net/sky2.h | 24 +- trunk/drivers/net/slip.c | 8 +- trunk/drivers/net/smc911x.c | 19 +- trunk/drivers/net/smc911x.h | 2 +- trunk/drivers/net/smc91x.h | 17 +- trunk/drivers/net/sungem.c | 22 +- trunk/drivers/net/sunhme.c | 17 +- trunk/drivers/net/tehuti.c | 8 +- trunk/drivers/net/tg3.c | 186 +-- trunk/drivers/net/tg3.h | 44 +- trunk/drivers/net/tulip/Kconfig | 21 +- trunk/drivers/net/tulip/dmfe.c | 4 +- trunk/drivers/net/ucc_geth.c | 10 - trunk/drivers/net/usb/Kconfig | 9 +- trunk/drivers/net/usb/dm9601.c | 2 +- trunk/drivers/net/usb/usbnet.c | 7 + trunk/drivers/net/via-velocity.c | 16 +- trunk/drivers/net/virtio_net.c | 15 +- trunk/drivers/net/wan/x25_asy.c | 6 +- trunk/drivers/net/wireless/Kconfig | 2 +- trunk/drivers/net/wireless/b43/Kconfig | 10 +- trunk/drivers/net/wireless/b43/debugfs.c | 2 +- trunk/drivers/net/wireless/b43/main.c | 21 +- trunk/drivers/net/wireless/b43/pcmcia.c | 52 +- trunk/drivers/net/wireless/b43/phy.c | 2 +- trunk/drivers/net/wireless/b43/rfkill.c | 115 +- trunk/drivers/net/wireless/b43/rfkill.h | 14 +- .../drivers/net/wireless/b43legacy/debugfs.c | 2 +- trunk/drivers/net/wireless/b43legacy/dma.c | 2 +- trunk/drivers/net/wireless/b43legacy/main.c | 23 +- trunk/drivers/net/wireless/b43legacy/phy.c | 2 +- .../net/wireless/bcm43xx/bcm43xx_phy.c | 2 +- .../drivers/net/wireless/hostap/hostap_pci.c | 6 +- trunk/drivers/net/wireless/ipw2100.c | 4 +- .../net/wireless/iwlwifi/iwl-3945-rs.c | 56 +- .../net/wireless/iwlwifi/iwl-3945-rs.h | 29 +- trunk/drivers/net/wireless/iwlwifi/iwl-3945.c | 126 +- .../net/wireless/iwlwifi/iwl3945-base.c | 25 +- .../net/wireless/iwlwifi/iwl4965-base.c | 23 +- trunk/drivers/net/wireless/libertas/cmd.c | 10 +- trunk/drivers/net/wireless/libertas/if_cs.c | 10 +- trunk/drivers/net/wireless/libertas/if_sdio.c | 4 +- trunk/drivers/net/wireless/libertas/main.c | 4 + trunk/drivers/net/wireless/libertas/wext.c | 2 +- trunk/drivers/net/wireless/netwave_cs.c | 2 +- trunk/drivers/net/wireless/p54usb.c | 2 +- trunk/drivers/net/wireless/rt2x00/rt2500pci.c | 4 +- trunk/drivers/net/wireless/rt2x00/rt2500usb.c | 11 +- trunk/drivers/net/wireless/rt2x00/rt2x00.h | 15 +- trunk/drivers/net/wireless/rt2x00/rt2x00mac.c | 8 - trunk/drivers/net/wireless/rt2x00/rt2x00usb.c | 9 +- trunk/drivers/net/wireless/rt2x00/rt73usb.c | 6 +- trunk/drivers/net/wireless/strip.c | 10 +- trunk/drivers/oprofile/cpu_buffer.c | 7 - trunk/drivers/oprofile/cpu_buffer.h | 1 - trunk/drivers/oprofile/oprofile_stats.c | 4 - trunk/drivers/pci/hotplug/acpiphp.h | 8 +- trunk/drivers/pci/hotplug/acpiphp_core.c | 29 +- trunk/drivers/pci/hotplug/acpiphp_glue.c | 36 +- trunk/drivers/pci/hotplug/acpiphp_ibm.c | 47 +- trunk/drivers/pci/hotplug/cpqphp_core.c | 41 +- trunk/drivers/pci/hotplug/cpqphp_ctrl.c | 96 +- trunk/drivers/pci/hotplug/fakephp.c | 14 +- trunk/drivers/pci/hotplug/pciehp_ctrl.c | 16 +- trunk/drivers/pci/hotplug/rpadlpar_core.c | 19 +- trunk/drivers/pci/hotplug/rpaphp_core.c | 15 +- trunk/drivers/pci/hotplug/rpaphp_pci.c | 1 - trunk/drivers/pci/hotplug/shpchp_ctrl.c | 16 +- trunk/drivers/pci/pci-sysfs.c | 4 +- trunk/drivers/pci/pcie/aer/aerdrv_core.c | 29 +- trunk/drivers/pci/pcie/portdrv_pci.c | 2 +- trunk/drivers/pnp/pnpacpi/rsparser.c | 39 +- trunk/drivers/pnp/resource.c | 4 +- trunk/drivers/ps3/Makefile | 4 +- .../ps3/{ps3-sys-manager.c => sys-manager.c} | 0 trunk/drivers/ps3/{ps3-vuart.c => vuart.c} | 0 trunk/drivers/rtc/Kconfig | 10 +- trunk/drivers/rtc/hctosys.c | 4 +- trunk/drivers/rtc/interface.c | 4 +- trunk/drivers/rtc/rtc-dev.c | 12 +- trunk/drivers/rtc/rtc-ds1307.c | 93 -- trunk/drivers/rtc/rtc-ds1553.c | 2 +- trunk/drivers/rtc/rtc-ds1742.c | 5 +- trunk/drivers/rtc/rtc-m48t59.c | 3 +- trunk/drivers/rtc/rtc-sh.c | 6 +- trunk/drivers/rtc/rtc-stk17ta8.c | 2 +- trunk/drivers/s390/cio/css.c | 2 +- trunk/drivers/s390/cio/device_fsm.c | 2 +- trunk/drivers/s390/cio/device_id.c | 45 +- trunk/drivers/s390/net/ctcmain.c | 45 +- trunk/drivers/scsi/aacraid/commsup.c | 6 +- trunk/drivers/scsi/aic94xx/aic94xx_sds.c | 4 +- trunk/drivers/scsi/ide-scsi.c | 22 +- trunk/drivers/scsi/zorro7xx.c | 3 - trunk/drivers/serial/8250_pnp.c | 10 +- trunk/drivers/serial/Kconfig | 2 +- trunk/drivers/serial/atmel_serial.c | 9 + trunk/drivers/serial/crisv10.c | 1293 +++++++++++------ trunk/drivers/serial/crisv10.h | 146 -- trunk/drivers/serial/ip22zilog.c | 247 ++-- trunk/drivers/serial/pxa.c | 4 +- trunk/drivers/serial/sh-sci.h | 19 +- trunk/drivers/serial/uartlite.c | 10 +- trunk/drivers/sh/superhyway/superhyway.c | 7 +- trunk/drivers/spi/Kconfig | 2 +- trunk/drivers/spi/atmel_spi.c | 2 +- trunk/drivers/spi/spi.c | 8 +- trunk/drivers/spi/spi_s3c24xx_gpio.c | 21 +- trunk/drivers/spi/spi_txx9.c | 40 +- trunk/drivers/spi/tle62x0.c | 5 +- trunk/drivers/ssb/main.c | 6 +- trunk/drivers/ssb/pcmcia.c | 56 +- trunk/drivers/usb/README | 6 +- trunk/drivers/usb/core/driver.c | 11 + trunk/drivers/usb/core/hcd.c | 3 +- trunk/drivers/usb/core/hub.c | 2 +- trunk/drivers/usb/core/message.c | 36 +- trunk/drivers/usb/core/sysfs.c | 6 - trunk/drivers/usb/core/usb.c | 25 - trunk/drivers/usb/gadget/omap_udc.c | 6 +- trunk/drivers/usb/gadget/s3c2410_udc.c | 16 +- trunk/drivers/usb/host/Kconfig | 2 +- trunk/drivers/usb/host/ehci-hcd.c | 5 +- trunk/drivers/usb/image/microtek.c | 2 +- trunk/drivers/usb/misc/adutux.c | 262 ++-- trunk/drivers/usb/misc/usbled.c | 4 +- trunk/drivers/usb/serial/generic.c | 5 +- trunk/drivers/usb/serial/keyspan.c | 10 +- trunk/drivers/usb/serial/mos7840.c | 2 +- trunk/drivers/usb/serial/pl2303.c | 1 - trunk/drivers/usb/serial/pl2303.h | 3 - trunk/drivers/usb/serial/sierra.c | 2 - trunk/drivers/usb/storage/scsiglue.c | 4 - trunk/drivers/usb/storage/unusual_devs.h | 17 +- trunk/drivers/video/Kconfig | 13 +- trunk/drivers/video/Makefile | 1 - trunk/drivers/video/atmel_lcdfb.c | 4 - trunk/drivers/video/aty/radeon_base.c | 1 - trunk/drivers/video/console/Kconfig | 2 +- trunk/drivers/video/cyber2000fb.c | 2 - trunk/drivers/video/efifb.c | 232 --- trunk/drivers/video/fb_ddc.c | 8 +- trunk/drivers/video/gbefb.c | 4 +- trunk/drivers/video/geode/lxfb.h | 2 +- trunk/drivers/video/imacfb.c | 4 + trunk/drivers/video/ps3fb.c | 13 +- trunk/drivers/video/s1d13xxxfb.c | 5 +- trunk/drivers/video/sis/sis_main.c | 3 +- trunk/drivers/video/uvesafb.c | 6 +- trunk/drivers/virtio/virtio.c | 13 - trunk/drivers/virtio/virtio_ring.c | 10 +- trunk/drivers/w1/masters/ds2490.c | 2 +- trunk/drivers/zorro/zorro-driver.c | 15 - trunk/fs/Kconfig | 11 +- trunk/fs/bfs/bfs.h | 4 +- trunk/fs/bfs/dir.c | 146 +- trunk/fs/bfs/file.c | 62 +- trunk/fs/bfs/inode.c | 127 +- trunk/fs/cifs/CHANGES | 14 +- trunk/fs/cifs/Makefile | 7 +- trunk/fs/cifs/README | 27 +- trunk/fs/cifs/TODO | 2 +- trunk/fs/cifs/asn1.c | 35 +- trunk/fs/cifs/cifs_spnego.c | 134 -- trunk/fs/cifs/cifs_spnego.h | 47 - trunk/fs/cifs/cifsacl.c | 347 +---- trunk/fs/cifs/cifsacl.h | 17 +- trunk/fs/cifs/cifsencrypt.c | 9 +- trunk/fs/cifs/cifsfs.c | 24 +- trunk/fs/cifs/cifsfs.h | 2 +- trunk/fs/cifs/cifsglob.h | 13 - trunk/fs/cifs/cifspdu.h | 40 - trunk/fs/cifs/cifsproto.h | 24 +- trunk/fs/cifs/cifssmb.c | 161 +- trunk/fs/cifs/connect.c | 147 +- trunk/fs/cifs/dir.c | 2 +- trunk/fs/cifs/file.c | 75 +- trunk/fs/cifs/inode.c | 41 +- trunk/fs/cifs/md5.c | 8 +- trunk/fs/cifs/misc.c | 10 +- trunk/fs/cifs/netmisc.c | 54 +- trunk/fs/cifs/readdir.c | 10 +- trunk/fs/cifs/sess.c | 93 +- trunk/fs/cifs/smbencrypt.c | 18 +- trunk/fs/cifs/transport.c | 91 +- trunk/fs/cifs/xattr.c | 11 +- trunk/fs/compat_ioctl.c | 6 - trunk/fs/dlm/lowcomms.c | 6 +- trunk/fs/ecryptfs/read_write.c | 2 +- trunk/fs/exec.c | 12 +- trunk/fs/ext2/balloc.c | 50 +- trunk/fs/ext2/ext2.h | 7 - trunk/fs/ext2/ioctl.c | 5 - trunk/fs/ext3/balloc.c | 48 +- trunk/fs/ext3/dir.c | 10 +- trunk/fs/ext3/ioctl.c | 5 - trunk/fs/ext3/namei.c | 92 +- trunk/fs/ext4/balloc.c | 41 + trunk/fs/ext4/ioctl.c | 5 - trunk/fs/fuse/dir.c | 81 +- trunk/fs/fuse/file.c | 52 +- trunk/fs/fuse/fuse_i.h | 5 +- trunk/fs/fuse/inode.c | 4 +- trunk/fs/hugetlbfs/inode.c | 11 +- trunk/fs/ioprio.c | 4 - trunk/fs/jfs/ioctl.c | 3 - trunk/fs/nfs/dir.c | 1 - trunk/fs/nfs/direct.c | 142 +- trunk/fs/nfs/getroot.c | 81 +- trunk/fs/nfs/super.c | 11 +- trunk/fs/nfs/write.c | 3 +- trunk/fs/nfsd/nfs2acl.c | 2 +- trunk/fs/nfsd/nfs3acl.c | 2 +- trunk/fs/nfsd/nfsfh.c | 43 +- trunk/fs/ocfs2/alloc.c | 2 +- trunk/fs/ocfs2/aops.c | 24 +- trunk/fs/ocfs2/cluster/heartbeat.c | 2 +- trunk/fs/ocfs2/cluster/masklog.h | 2 +- trunk/fs/ocfs2/cluster/tcp.c | 4 +- trunk/fs/ocfs2/dcache.c | 22 +- trunk/fs/ocfs2/dir.c | 6 +- trunk/fs/ocfs2/dlm/dlmmaster.c | 4 +- trunk/fs/ocfs2/dlmglue.c | 25 +- trunk/fs/ocfs2/file.c | 45 +- trunk/fs/ocfs2/inode.c | 6 +- trunk/fs/ocfs2/localalloc.c | 5 +- trunk/fs/ocfs2/namei.c | 13 +- trunk/fs/ocfs2/super.c | 6 +- trunk/fs/open.c | 2 +- trunk/fs/proc/array.c | 4 +- trunk/fs/proc/base.c | 66 +- trunk/fs/proc/generic.c | 44 +- trunk/fs/proc/proc_net.c | 95 +- trunk/fs/read_write.c | 2 +- trunk/fs/reiserfs/ioctl.c | 3 - trunk/fs/reiserfs/stree.c | 3 + trunk/fs/smbfs/file.c | 7 +- trunk/fs/smbfs/inode.c | 2 +- trunk/fs/smbfs/proc.c | 2 +- trunk/fs/smbfs/smbiod.c | 2 +- trunk/fs/sysfs/file.c | 6 +- trunk/include/acpi/processor.h | 1 + trunk/include/asm-arm/arch-at91/board.h | 3 +- trunk/include/asm-arm/arch-ixp23xx/irqs.h | 2 +- .../asm-arm/arch-omap/board-innovator.h | 2 +- trunk/include/asm-arm/arch-pxa/irqs.h | 20 +- trunk/include/asm-arm/arch-pxa/mfp-pxa300.h | 2 +- trunk/include/asm-arm/arch-pxa/mfp-pxa320.h | 2 +- trunk/include/asm-arm/arch-pxa/mfp.h | 18 +- trunk/include/asm-arm/arch-pxa/pxa-regs.h | 5 +- trunk/include/asm-arm/arch-s3c2410/spi-gpio.h | 2 - trunk/include/asm-arm/hardware/iop3xx.h | 2 +- trunk/include/asm-arm/pgtable.h | 2 +- trunk/include/asm-avr32/sysreg.h | 2 - trunk/include/asm-blackfin/bfin-global.h | 5 +- trunk/include/asm-blackfin/cplbinit.h | 33 +- trunk/include/asm-blackfin/delay.h | 66 +- trunk/include/asm-blackfin/io.h | 1 - trunk/include/asm-blackfin/mach-bf527/irq.h | 4 + .../include/asm-blackfin/mach-bf527/mem_map.h | 3 +- trunk/include/asm-blackfin/mach-bf533/irq.h | 4 + .../include/asm-blackfin/mach-bf533/mem_map.h | 4 +- trunk/include/asm-blackfin/mach-bf537/irq.h | 4 + .../include/asm-blackfin/mach-bf537/mem_map.h | 3 +- trunk/include/asm-blackfin/mach-bf548/bf548.h | 34 +- .../asm-blackfin/mach-bf548/defBF544.h | 2 +- .../asm-blackfin/mach-bf548/defBF548.h | 2 +- trunk/include/asm-blackfin/mach-bf548/irq.h | 4 + .../include/asm-blackfin/mach-bf548/mem_map.h | 18 +- trunk/include/asm-blackfin/mach-bf561/bf561.h | 19 + .../asm-blackfin/mach-bf561/defBF561.h | 15 +- trunk/include/asm-blackfin/mach-bf561/irq.h | 4 + .../include/asm-blackfin/mach-bf561/mem_map.h | 7 +- .../asm-blackfin/mach-common/def_LPBlackfin.h | 8 +- trunk/include/asm-blackfin/page_offset.h | 2 +- trunk/include/asm-blackfin/string.h | 2 - trunk/include/asm-blackfin/traps.h | 96 +- trunk/include/asm-cris/atomic.h | 2 - trunk/include/asm-cris/checksum.h | 2 +- trunk/include/asm-cris/ethernet.h | 3 - trunk/include/asm-cris/fasttimer.h | 16 +- trunk/include/asm-cris/hardirq.h | 1 - trunk/include/asm-cris/posix_types.h | 1 + trunk/include/asm-cris/termbits.h | 13 - trunk/include/asm-cris/thread_info.h | 9 +- trunk/include/asm-cris/tlb.h | 2 - trunk/include/asm-cris/unistd.h | 39 +- trunk/include/asm-frv/irq.h | 3 + trunk/include/asm-generic/resource.h | 2 +- trunk/include/asm-ia64/acpi.h | 1 - trunk/include/asm-ia64/pal.h | 5 +- trunk/include/asm-m32r/thread_info.h | 11 +- trunk/include/asm-m32r/unistd.h | 66 +- trunk/include/asm-mips/8253pit.h | 10 + trunk/include/asm-mips/cpu-features.h | 6 +- trunk/include/asm-mips/cpu-info.h | 1 - trunk/include/asm-mips/dma.h | 1 - trunk/include/asm-mips/futex.h | 6 +- trunk/include/asm-mips/i8253.h | 2 - trunk/include/asm-mips/ip32/ip32_ints.h | 2 +- trunk/include/asm-mips/lasat/lasatint.h | 5 + trunk/include/asm-mips/mach-lasat/irq.h | 13 - trunk/include/asm-mips/system.h | 10 +- trunk/include/asm-mips/time.h | 16 +- trunk/include/asm-mips/timex.h | 2 +- trunk/include/asm-powerpc/cputable.h | 22 +- trunk/include/asm-powerpc/page_32.h | 4 - trunk/include/asm-powerpc/pci-bridge.h | 5 +- trunk/include/asm-powerpc/pgtable-ppc32.h | 13 - trunk/include/asm-powerpc/rtas.h | 3 +- trunk/include/asm-powerpc/systbl.h | 2 +- trunk/include/asm-powerpc/time.h | 20 +- trunk/include/asm-powerpc/tlbflush.h | 12 +- trunk/include/asm-powerpc/vdso_datapage.h | 8 - trunk/include/asm-s390/system.h | 5 - trunk/include/asm-sh/cacheflush.h | 18 +- trunk/include/asm-sh/cpu-sh3/timer.h | 6 +- trunk/include/asm-sh/page.h | 11 +- trunk/include/asm-sh/pgtable.h | 4 +- trunk/include/asm-sh/processor.h | 2 +- trunk/include/asm-sh/ptrace.h | 3 + trunk/include/asm-sh/vga.h | 6 - trunk/include/asm-sh64/ptrace.h | 2 + trunk/include/asm-sparc64/vio.h | 4 +- trunk/include/asm-um/pgtable-3level.h | 2 +- trunk/include/asm-x86/acpi.h | 27 - trunk/include/asm-x86/apic_32.h | 1 - trunk/include/asm-x86/i387_64.h | 5 - .../asm-x86/mach-default/mach_reboot.h | 2 +- .../asm-x86/mach-es7000/mach_mpparse.h | 6 +- .../include/asm-x86/mach-voyager/setup_arch.h | 4 +- trunk/include/asm-x86/ptrace.h | 2 +- trunk/include/linux/acpi.h | 5 - trunk/include/linux/blkdev.h | 1 - trunk/include/linux/cgroup_subsys.h | 6 + trunk/include/linux/cpu_acct.h | 14 + trunk/include/linux/cpuidle.h | 1 - trunk/include/linux/ext2_fs.h | 7 + trunk/include/linux/ext3_fs.h | 20 - trunk/include/linux/f75375s.h | 21 - trunk/include/linux/fuse.h | 5 - trunk/include/linux/hugetlb.h | 10 +- trunk/include/linux/i2c.h | 5 + trunk/include/linux/input.h | 5 - trunk/include/linux/kd.h | 2 +- trunk/include/linux/libata.h | 5 +- trunk/include/linux/mc146818rtc.h | 3 - trunk/include/linux/mroute.h | 12 - trunk/include/linux/net.h | 8 - trunk/include/linux/netfilter/Kbuild | 18 +- trunk/include/linux/netfilter_ipv4/Kbuild | 28 +- trunk/include/linux/netfilter_ipv6/Kbuild | 2 +- trunk/include/linux/netlink.h | 2 +- trunk/include/linux/nfs_fs.h | 1 + trunk/include/linux/pci_ids.h | 8 - trunk/include/linux/phy.h | 2 - trunk/include/linux/pid_namespace.h | 23 - trunk/include/linux/pnp.h | 4 +- trunk/include/linux/proc_fs.h | 6 +- trunk/include/linux/rtc.h | 5 +- trunk/include/linux/rtnetlink.h | 2 - trunk/include/linux/scatterlist.h | 37 +- trunk/include/linux/sched.h | 21 +- trunk/include/linux/screen_info.h | 2 - trunk/include/linux/selinux.h | 2 +- trunk/include/linux/serial_core.h | 2 +- trunk/include/linux/skbuff.h | 5 +- trunk/include/linux/smp.h | 7 +- trunk/include/linux/sunrpc/debug.h | 5 + trunk/include/linux/sunrpc/xprtsock.h | 6 + trunk/include/linux/sysctl.h | 6 + trunk/include/linux/timex.h | 1 - trunk/include/linux/tty.h | 4 +- trunk/include/linux/usb.h | 1 - trunk/include/linux/usbdevice_fs.h | 3 +- trunk/include/linux/virtio_ring.h | 21 +- trunk/include/net/af_unix.h | 2 +- trunk/include/net/dst.h | 7 - trunk/include/net/fib_rules.h | 3 - trunk/include/net/ieee80211.h | 8 - trunk/include/net/inet_common.h | 4 + trunk/include/net/inet_hashtables.h | 71 +- trunk/include/net/inetpeer.h | 2 +- trunk/include/net/ip_fib.h | 15 +- trunk/include/net/ip_vs.h | 42 +- trunk/include/net/mac80211.h | 26 +- trunk/include/net/net_namespace.h | 2 - trunk/include/net/request_sock.h | 18 +- trunk/include/net/sctp/command.h | 1 - trunk/include/net/sctp/constants.h | 12 +- trunk/include/net/sctp/sctp.h | 5 +- trunk/include/net/sctp/structs.h | 22 +- trunk/include/net/sock.h | 76 +- trunk/include/net/tcp.h | 3 - trunk/include/pcmcia/cs_types.h | 2 +- trunk/include/sound/version.h | 2 +- trunk/init/Kconfig | 21 +- trunk/init/main.c | 4 +- trunk/ipc/mqueue.c | 12 +- trunk/kernel/Kconfig.instrumentation | 4 +- trunk/kernel/Makefile | 1 + trunk/kernel/acct.c | 2 +- trunk/kernel/cgroup.c | 9 +- trunk/kernel/cpu_acct.c | 186 +++ trunk/kernel/exit.c | 14 +- trunk/kernel/fork.c | 6 +- trunk/kernel/futex_compat.c | 26 +- trunk/kernel/irq/handle.c | 8 +- trunk/kernel/kallsyms.c | 7 +- trunk/kernel/marker.c | 41 +- trunk/kernel/module.c | 8 +- trunk/kernel/params.c | 15 +- trunk/kernel/pid.c | 2 - trunk/kernel/power/disk.c | 12 +- trunk/kernel/resource.c | 2 +- trunk/kernel/sched.c | 138 +- trunk/kernel/sched_debug.c | 12 +- trunk/kernel/sched_fair.c | 96 +- trunk/kernel/sched_stats.h | 14 +- trunk/kernel/signal.c | 2 +- trunk/kernel/sys.c | 20 +- trunk/kernel/sysctl.c | 27 +- trunk/kernel/sysctl_check.c | 47 +- trunk/kernel/taskstats.c | 36 +- trunk/kernel/time/ntp.c | 11 +- trunk/kernel/time/tick-sched.c | 2 - trunk/kernel/timer.c | 21 +- trunk/kernel/user.c | 7 +- trunk/kernel/utsname_sysctl.c | 4 - trunk/lib/Kconfig.debug | 4 +- trunk/lib/Makefile | 4 +- trunk/lib/hexdump.c | 3 +- trunk/lib/kobject.c | 4 +- trunk/lib/libcrc32c.c | 7 +- trunk/lib/textsearch.c | 8 +- trunk/mm/hugetlb.c | 95 +- trunk/mm/memory.c | 4 +- trunk/mm/memory_hotplug.c | 6 +- trunk/mm/mempolicy.c | 21 +- trunk/mm/page-writeback.c | 27 +- trunk/mm/page_alloc.c | 44 +- trunk/mm/page_isolation.c | 6 +- trunk/mm/rmap.c | 16 +- trunk/mm/shmem.c | 5 +- trunk/mm/slab.c | 6 +- trunk/mm/slob.c | 3 +- trunk/mm/slub.c | 2 + trunk/mm/sparse-vmemmap.c | 12 +- trunk/mm/util.c | 4 +- trunk/mm/vmstat.c | 2 +- trunk/net/8021q/vlan.c | 6 - trunk/net/8021q/vlan.h | 1 - trunk/net/8021q/vlan_dev.c | 29 +- trunk/net/bridge/br.c | 4 +- trunk/net/bridge/br_input.c | 7 +- trunk/net/bridge/br_netfilter.c | 3 - trunk/net/bridge/netfilter/ebt_among.c | 2 +- trunk/net/bridge/netfilter/ebt_arp.c | 2 +- trunk/net/bridge/netfilter/ebtable_broute.c | 4 +- trunk/net/core/dev.c | 9 +- trunk/net/core/dev_mcast.c | 16 +- trunk/net/core/dst.c | 1 + trunk/net/core/fib_rules.c | 22 - trunk/net/core/neighbour.c | 2 - trunk/net/core/net_namespace.c | 46 +- trunk/net/core/pktgen.c | 2 + trunk/net/core/request_sock.c | 35 - trunk/net/core/skbuff.c | 31 +- trunk/net/core/sock.c | 73 +- trunk/net/dccp/ccids/lib/loss_interval.c | 2 +- trunk/net/dccp/ipv4.c | 3 - trunk/net/dccp/ipv6.c | 3 - trunk/net/dccp/proto.c | 9 +- trunk/net/decnet/dn_dev.c | 6 +- trunk/net/decnet/dn_route.c | 16 +- trunk/net/decnet/dn_rules.c | 13 +- trunk/net/ieee80211/ieee80211_crypt_ccmp.c | 2 +- trunk/net/ieee80211/ieee80211_crypt_tkip.c | 5 +- trunk/net/ieee80211/ieee80211_crypt_wep.c | 1 + trunk/net/ieee80211/ieee80211_tx.c | 3 +- .../ieee80211/softmac/ieee80211softmac_wx.c | 2 +- trunk/net/ipv4/arp.c | 22 +- trunk/net/ipv4/fib_frontend.c | 15 +- trunk/net/ipv4/fib_rules.c | 51 +- trunk/net/ipv4/inet_diag.c | 78 +- trunk/net/ipv4/inet_hashtables.c | 7 +- trunk/net/ipv4/inet_timewait_sock.c | 13 +- trunk/net/ipv4/inetpeer.c | 42 +- trunk/net/ipv4/ip_output.c | 28 +- trunk/net/ipv4/ip_sockglue.c | 39 +- trunk/net/ipv4/ipcomp.c | 3 +- trunk/net/ipv4/ipvs/ip_vs_conn.c | 18 - trunk/net/ipv4/ipvs/ip_vs_core.c | 22 +- trunk/net/ipv4/ipvs/ip_vs_ctl.c | 49 +- trunk/net/ipv4/ipvs/ip_vs_lblc.c | 2 + trunk/net/ipv4/ipvs/ip_vs_lblcr.c | 2 + trunk/net/ipv4/ipvs/ip_vs_proto.c | 2 +- trunk/net/ipv4/ipvs/ip_vs_sync.c | 24 +- trunk/net/ipv4/netfilter/Makefile | 20 +- trunk/net/ipv4/netfilter/ip_queue.c | 37 +- trunk/net/ipv4/netfilter/iptable_raw.c | 2 +- trunk/net/ipv4/netfilter/nf_nat_amanda.c | 2 +- trunk/net/ipv4/netfilter/nf_nat_core.c | 7 +- trunk/net/ipv4/netfilter/nf_nat_ftp.c | 2 +- trunk/net/ipv4/netfilter/nf_nat_h323.c | 18 +- trunk/net/ipv4/netfilter/nf_nat_irc.c | 2 +- trunk/net/ipv4/netfilter/nf_nat_pptp.c | 8 +- trunk/net/ipv4/netfilter/nf_nat_sip.c | 4 +- trunk/net/ipv4/netfilter/nf_nat_tftp.c | 2 +- trunk/net/ipv4/proc.c | 19 +- trunk/net/ipv4/raw.c | 3 - trunk/net/ipv4/route.c | 28 +- trunk/net/ipv4/sysctl_net_ipv4.c | 2 +- trunk/net/ipv4/tcp.c | 4 +- trunk/net/ipv4/tcp_illinois.c | 2 +- trunk/net/ipv4/tcp_input.c | 115 +- trunk/net/ipv4/tcp_ipv4.c | 25 +- trunk/net/ipv4/tcp_output.c | 21 +- trunk/net/ipv4/tunnel4.c | 24 +- trunk/net/ipv4/udp.c | 3 - trunk/net/ipv4/udplite.c | 3 - trunk/net/ipv6/addrconf.c | 13 +- trunk/net/ipv6/fib6_rules.c | 37 +- trunk/net/ipv6/inet6_hashtables.c | 19 +- trunk/net/ipv6/ip6_output.c | 36 +- trunk/net/ipv6/ipcomp6.c | 3 +- trunk/net/ipv6/ndisc.c | 1 - trunk/net/ipv6/netfilter/Makefile | 28 +- trunk/net/ipv6/netfilter/ip6_queue.c | 37 +- trunk/net/ipv6/proc.c | 19 +- trunk/net/ipv6/raw.c | 3 - trunk/net/ipv6/route.c | 97 +- trunk/net/ipv6/tcp_ipv6.c | 14 +- trunk/net/ipv6/udp.c | 8 +- trunk/net/ipv6/udplite.c | 3 - trunk/net/ipx/af_ipx.c | 22 +- trunk/net/irda/iriap.c | 2 +- trunk/net/irda/irlan/irlan_eth.c | 2 +- trunk/net/iucv/iucv.c | 107 +- trunk/net/key/af_key.c | 4 +- trunk/net/mac80211/Kconfig | 12 - trunk/net/mac80211/Makefile | 3 +- trunk/net/mac80211/ieee80211.c | 53 +- trunk/net/mac80211/ieee80211_common.h | 91 ++ trunk/net/mac80211/ieee80211_i.h | 4 +- trunk/net/mac80211/ieee80211_ioctl.c | 21 +- trunk/net/mac80211/ieee80211_rate.c | 24 +- trunk/net/mac80211/ieee80211_rate.h | 3 - trunk/net/mac80211/ieee80211_sta.c | 28 +- trunk/net/mac80211/rc80211_simple.c | 25 +- trunk/net/mac80211/rx.c | 4 +- trunk/net/mac80211/wep.c | 5 +- trunk/net/mac80211/wpa.c | 18 +- trunk/net/netfilter/Makefile | 14 +- trunk/net/netfilter/nf_conntrack_extend.c | 2 +- trunk/net/netfilter/nf_sockopt.c | 117 +- trunk/net/netfilter/xt_CONNMARK.c | 10 +- trunk/net/netfilter/xt_CONNSECMARK.c | 10 +- trunk/net/netfilter/xt_TCPMSS.c | 4 +- trunk/net/netfilter/xt_connlimit.c | 5 +- trunk/net/netfilter/xt_time.c | 5 +- trunk/net/netfilter/xt_u32.c | 5 +- trunk/net/netlink/af_netlink.c | 12 +- trunk/net/packet/af_packet.c | 31 +- trunk/net/rfkill/rfkill.c | 51 +- trunk/net/rxrpc/Kconfig | 1 - trunk/net/rxrpc/ar-local.c | 4 +- trunk/net/sched/cls_u32.c | 14 +- trunk/net/sched/sch_generic.c | 5 +- trunk/net/sched/sch_teql.c | 3 - trunk/net/sctp/Kconfig | 6 +- trunk/net/sctp/associola.c | 10 +- trunk/net/sctp/auth.c | 4 +- trunk/net/sctp/bind_addr.c | 13 +- trunk/net/sctp/endpointola.c | 35 +- trunk/net/sctp/input.c | 43 +- trunk/net/sctp/inqueue.c | 4 - trunk/net/sctp/outqueue.c | 41 +- trunk/net/sctp/proc.c | 6 +- trunk/net/sctp/protocol.c | 7 +- trunk/net/sctp/sm_make_chunk.c | 195 ++- trunk/net/sctp/sm_sideeffect.c | 10 +- trunk/net/sctp/sm_statefuns.c | 16 +- trunk/net/sctp/socket.c | 22 +- trunk/net/sctp/sysctl.c | 9 - trunk/net/sctp/transport.c | 5 +- trunk/net/sctp/ulpqueue.c | 2 +- trunk/net/socket.c | 6 - trunk/net/sunrpc/auth_gss/auth_gss.c | 4 +- trunk/net/sunrpc/auth_gss/gss_krb5_mech.c | 8 +- trunk/net/sunrpc/auth_gss/gss_krb5_seal.c | 1 - trunk/net/sunrpc/rpc_pipe.c | 2 +- trunk/net/sunrpc/xprt.c | 2 +- trunk/net/sunrpc/xprtrdma/transport.c | 12 +- trunk/net/sunrpc/xprtsock.c | 4 +- trunk/net/unix/af_unix.c | 18 +- trunk/net/unix/garbage.c | 26 +- trunk/net/wireless/wext.c | 2 +- trunk/net/xfrm/xfrm_policy.c | 1 - trunk/net/xfrm/xfrm_state.c | 2 +- trunk/net/xfrm/xfrm_user.c | 2 + trunk/samples/markers/marker-example.c | 3 +- trunk/samples/markers/probe-example.c | 2 +- trunk/scripts/checkpatch.pl | 395 ++--- trunk/scripts/kconfig/Makefile | 7 +- trunk/scripts/kconfig/confdata.c | 119 +- trunk/security/commoncap.c | 13 - trunk/security/selinux/ss/avtab.c | 32 +- trunk/security/selinux/ss/avtab.h | 5 +- trunk/security/selinux/ss/conditional.c | 3 +- trunk/security/selinux/ss/ebitmap.c | 2 +- trunk/security/selinux/ss/mls.c | 66 +- trunk/security/selinux/ss/mls.h | 2 - trunk/security/selinux/ss/policydb.c | 45 +- trunk/security/selinux/ss/policydb.h | 3 - trunk/security/selinux/xfrm.c | 13 +- trunk/sound/drivers/mpu401/mpu401_uart.c | 12 +- trunk/sound/drivers/portman2x4.c | 2 +- trunk/sound/pci/ca0106/ca0106_mixer.c | 18 +- trunk/sound/pci/ca0106/ca0106_proc.c | 4 +- trunk/sound/pci/cmipci.c | 5 +- trunk/sound/pci/emu10k1/emumixer.c | 65 +- trunk/sound/pci/emu10k1/p16v.c | 4 - trunk/sound/pci/hda/hda_codec.c | 40 +- trunk/sound/pci/hda/hda_local.h | 1 - trunk/sound/pci/hda/patch_analog.c | 8 - trunk/sound/pci/hda/patch_sigmatel.c | 57 +- trunk/sound/soc/codecs/cs4270.c | 3 +- trunk/sound/soc/s3c24xx/s3c2443-ac97.c | 2 +- 1269 files changed, 15998 insertions(+), 20163 deletions(-) delete mode 100644 trunk/Documentation/namespaces/compatibility-list.txt create mode 100644 trunk/Documentation/networking/Configurable create mode 100644 trunk/Documentation/networking/comx.txt create mode 100644 trunk/Documentation/networking/ncsa-telnet create mode 100644 trunk/Documentation/networking/pt.txt create mode 100644 trunk/Documentation/networking/routing.txt create mode 100644 trunk/Documentation/networking/slicecom.hun create mode 100644 trunk/Documentation/networking/slicecom.txt delete mode 100644 trunk/Documentation/x86_64/uefi.txt delete mode 100644 trunk/arch/blackfin/Kconfig.debug delete mode 100644 trunk/arch/blackfin/configs/H8606_defconfig create mode 100644 trunk/arch/blackfin/lib/udivdi3.S delete mode 100644 trunk/arch/blackfin/mach-bf527/boards/Kconfig create mode 100644 trunk/arch/blackfin/mach-bf527/boards/eth_mac.c delete mode 100644 trunk/arch/blackfin/mach-bf533/boards/Kconfig delete mode 100644 trunk/arch/blackfin/mach-bf537/boards/Kconfig create mode 100644 trunk/arch/blackfin/mach-bf537/boards/eth_mac.c delete mode 100644 trunk/arch/blackfin/mach-bf548/boards/Kconfig delete mode 100644 trunk/arch/blackfin/mach-bf561/boards/Kconfig delete mode 100644 trunk/arch/cris/arch-v32/kernel/cache.c delete mode 100644 trunk/arch/cris/arch-v32/kernel/cacheflush.S delete mode 100644 trunk/arch/ia64/kernel/.gitignore delete mode 100644 trunk/arch/mips/kernel/csrc-r4k.c delete mode 100644 trunk/arch/mips/kernel/smp-up.c delete mode 100644 trunk/arch/mips/qemu/q-console.c create mode 100644 trunk/arch/sh/boards/snapgear/rtc.c create mode 100644 trunk/arch/sh/drivers/pci/pci-st40.c create mode 100644 trunk/arch/sh/drivers/pci/pci-st40.h rename trunk/arch/x86/{Kconfig => Kconfig.i386} (74%) create mode 100644 trunk/arch/x86/Kconfig.x86_64 rename trunk/arch/x86/kernel/cpu/cpufreq/{Kconfig => Kconfig_32} (77%) create mode 100644 trunk/arch/x86/kernel/cpu/cpufreq/Kconfig_64 delete mode 100644 trunk/drivers/hwmon/i5k_amb.c mode change 100755 => 100644 trunk/drivers/net/chelsio/cxgb2.c mode change 100755 => 100644 trunk/drivers/net/chelsio/pm3393.c mode change 100755 => 100644 trunk/drivers/net/chelsio/sge.c mode change 100755 => 100644 trunk/drivers/net/chelsio/sge.h rename trunk/drivers/ps3/{ps3-sys-manager.c => sys-manager.c} (100%) rename trunk/drivers/ps3/{ps3-vuart.c => vuart.c} (100%) delete mode 100644 trunk/drivers/serial/crisv10.h delete mode 100644 trunk/drivers/video/efifb.c delete mode 100644 trunk/fs/cifs/cifs_spnego.c delete mode 100644 trunk/fs/cifs/cifs_spnego.h create mode 100644 trunk/include/asm-mips/8253pit.h delete mode 100644 trunk/include/asm-mips/mach-lasat/irq.h delete mode 100644 trunk/include/asm-sh/vga.h create mode 100644 trunk/include/linux/cpu_acct.h delete mode 100644 trunk/include/linux/f75375s.h create mode 100644 trunk/kernel/cpu_acct.c create mode 100644 trunk/net/mac80211/ieee80211_common.h diff --git a/[refs] b/[refs] index 47b3376f8fc8..b9ac3672526f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8002cedc1adbf51e2d56091534ef7551b88329b4 +refs/heads/master: 3b2d871245357015cac621d7612b6ecf59f424df diff --git a/trunk/Documentation/00-INDEX b/trunk/Documentation/00-INDEX index c3014df066c4..299615d821ac 100644 --- a/trunk/Documentation/00-INDEX +++ b/trunk/Documentation/00-INDEX @@ -262,8 +262,6 @@ mtrr.txt - how to use PPro Memory Type Range Registers to increase performance. mutex-design.txt - info on the generic mutex subsystem. -namespaces/ - - directory with various information about namespaces nbd.txt - info on a TCP implementation of a network block device. netlabel/ diff --git a/trunk/Documentation/DocBook/Makefile b/trunk/Documentation/DocBook/Makefile index 4953bc258729..054a7ecf64c6 100644 --- a/trunk/Documentation/DocBook/Makefile +++ b/trunk/Documentation/DocBook/Makefile @@ -11,7 +11,7 @@ DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \ procfs-guide.xml writing_usb_driver.xml \ kernel-api.xml filesystems.xml lsm.xml usb.xml \ gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ - genericirq.xml s390-drivers.xml uio-howto.xml + genericirq.xml s390-drivers.xml ### # The build process is as follows (targets): diff --git a/trunk/Documentation/DocBook/uio-howto.tmpl b/trunk/Documentation/DocBook/uio-howto.tmpl index fdd7f4f887b7..c119484258b8 100644 --- a/trunk/Documentation/DocBook/uio-howto.tmpl +++ b/trunk/Documentation/DocBook/uio-howto.tmpl @@ -29,12 +29,6 @@ - - 0.4 - 2007-11-26 - hjk - Removed section about uio_dummy. - 0.3 2007-04-29 @@ -100,26 +94,6 @@ interested in translating it, please email me user space. This simplifies development and reduces the risk of serious bugs within a kernel module. - - Please note that UIO is not an universal driver interface. Devices - that are already handled well by other kernel subsystems (like - networking or serial or USB) are no candidates for an UIO driver. - Hardware that is ideally suited for an UIO driver fulfills all of - the following: - - - - The device has memory that can be mapped. The device can be - controlled completely by writing to this memory. - - - The device usually generates interrupts. - - - The device does not fit into one of the standard kernel - subsystems. - - @@ -200,9 +174,8 @@ interested in translating it, please email me For cards that don't generate interrupts but need to be polled, there is the possibility to set up a timer that triggers the interrupt handler at configurable time intervals. - This interrupt simulation is done by calling - uio_event_notify() - from the timer's event handler. + See drivers/uio/uio_dummy.c for an + example of this technique. @@ -290,11 +263,63 @@ offset = N * getpagesize(); + + +Using uio_dummy + + Well, there is no real use for uio_dummy. Its only purpose is + to test most parts of the UIO system (everything except + hardware interrupts), and to serve as an example for the + kernel module that you will have to write yourself. + + + +What uio_dummy does + + The kernel module uio_dummy.ko creates a + device that uses a timer to generate periodic interrupts. The + interrupt handler does nothing but increment a counter. The + driver adds two custom attributes, count + and freq, that appear under + /sys/devices/platform/uio_dummy/. + + + + The attribute count can be read and + written. The associated file + /sys/devices/platform/uio_dummy/count + appears as a normal text file and contains the total number of + timer interrupts. If you look at it (e.g. using + cat), you'll notice it is slowly counting + up. + + + + The attribute freq can be read and written. + The content of + /sys/devices/platform/uio_dummy/freq + represents the number of system timer ticks between two timer + interrupts. The default value of freq is + the value of the kernel variable HZ, which + gives you an interval of one second. Lower values will + increase the frequency. Try the following: + + +cd /sys/devices/platform/uio_dummy/ +echo 100 > freq + + + Use cat count to see how the interrupt + frequency changes. + + + + Writing your own kernel module - Please have a look at uio_cif.c as an + Please have a look at uio_dummy.c as an example. The following paragraphs explain the different sections of this file. @@ -329,8 +354,9 @@ See the description below for details. interrupt, it's your modules task to determine the irq number during initialization. If you don't have a hardware generated interrupt but want to trigger the interrupt handler in some other way, set -irq to UIO_IRQ_CUSTOM. -If you had no interrupt at all, you could set +irq to UIO_IRQ_CUSTOM. The +uio_dummy module does this as it triggers the event mechanism in a timer +routine. If you had no interrupt at all, you could set irq to UIO_IRQ_NONE, though this rarely makes sense. diff --git a/trunk/Documentation/accounting/getdelays.c b/trunk/Documentation/accounting/getdelays.c index d6cb1a86fd61..ab82b7f53312 100644 --- a/trunk/Documentation/accounting/getdelays.c +++ b/trunk/Documentation/accounting/getdelays.c @@ -25,7 +25,6 @@ #include #include -#include /* * Generic macros for dealing with netlink sockets. Might be duplicated @@ -79,7 +78,6 @@ static void usage(void) fprintf(stderr, " -i: print IO accounting (works only with -p)\n"); fprintf(stderr, " -l: listen forever\n"); fprintf(stderr, " -v: debug on\n"); - fprintf(stderr, " -C: container path\n"); } /* @@ -214,14 +212,6 @@ void task_context_switch_counts(struct taskstats *t) t->nvcsw, t->nivcsw); } -void print_cgroupstats(struct cgroupstats *c) -{ - printf("sleeping %llu, blocked %llu, running %llu, stopped %llu, " - "uninterruptible %llu\n", c->nr_sleeping, c->nr_io_wait, - c->nr_running, c->nr_stopped, c->nr_uninterruptible); -} - - void print_ioacct(struct taskstats *t) { printf("%s: read=%llu, write=%llu, cancelled_write=%llu\n", @@ -249,14 +239,11 @@ int main(int argc, char *argv[]) int maskset = 0; char *logfile = NULL; int loop = 0; - int containerset = 0; - char containerpath[1024]; - int cfd = 0; struct msgtemplate msg; while (1) { - c = getopt(argc, argv, "qdiw:r:m:t:p:vlC:"); + c = getopt(argc, argv, "qdiw:r:m:t:p:vl"); if (c < 0) break; @@ -273,10 +260,6 @@ int main(int argc, char *argv[]) printf("printing task/process context switch rates\n"); print_task_context_switch_counts = 1; break; - case 'C': - containerset = 1; - strncpy(containerpath, optarg, strlen(optarg) + 1); - break; case 'w': logfile = strdup(optarg); printf("write to file %s\n", logfile); @@ -351,11 +334,6 @@ int main(int argc, char *argv[]) } } - if (tid && containerset) { - fprintf(stderr, "Select either -t or -C, not both\n"); - goto err; - } - if (tid) { rc = send_cmd(nl_sd, id, mypid, TASKSTATS_CMD_GET, cmd_type, &tid, sizeof(__u32)); @@ -366,20 +344,6 @@ int main(int argc, char *argv[]) } } - if (containerset) { - cfd = open(containerpath, O_RDONLY); - if (cfd < 0) { - perror("error opening container file"); - goto err; - } - rc = send_cmd(nl_sd, id, mypid, CGROUPSTATS_CMD_GET, - CGROUPSTATS_CMD_ATTR_FD, &cfd, sizeof(__u32)); - if (rc < 0) { - perror("error sending cgroupstats command"); - goto err; - } - } - do { int i; @@ -458,9 +422,6 @@ int main(int argc, char *argv[]) } break; - case CGROUPSTATS_TYPE_CGROUP_STATS: - print_cgroupstats(NLA_DATA(na)); - break; default: fprintf(stderr, "Unknown nla_type %d\n", na->nla_type); @@ -482,7 +443,5 @@ int main(int argc, char *argv[]) close(nl_sd); if (fd) close(fd); - if (cfd) - close(cfd); return 0; } diff --git a/trunk/Documentation/feature-removal-schedule.txt b/trunk/Documentation/feature-removal-schedule.txt index 20c4c8bac9d7..6bb9be54ab76 100644 --- a/trunk/Documentation/feature-removal-schedule.txt +++ b/trunk/Documentation/feature-removal-schedule.txt @@ -181,6 +181,15 @@ Who: Nick Piggin --------------------------- +What: Interrupt only SA_* flags +When: September 2007 +Why: The interrupt related SA_* flags are replaced by IRQF_* to move them + out of the signal namespace. + +Who: Thomas Gleixner + +--------------------------- + What: PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment When: October 2008 Why: The stacking of class devices makes these values misleading and diff --git a/trunk/Documentation/hwmon/sysfs-interface b/trunk/Documentation/hwmon/sysfs-interface index f4a8ebc1ef1a..a17b692d2679 100644 --- a/trunk/Documentation/hwmon/sysfs-interface +++ b/trunk/Documentation/hwmon/sysfs-interface @@ -328,37 +328,6 @@ curr[1-*]_input Current input value Unit: milliampere RO -********* -* Power * -********* - -power[1-*]_average Average power use - Unit: microWatt - RO - -power[1-*]_average_highest Historical average maximum power use - Unit: microWatt - RO - -power[1-*]_average_lowest Historical average minimum power use - Unit: microWatt - RO - -power[1-*]_input Instantaneous power use - Unit: microWatt - RO - -power[1-*]_input_highest Historical maximum power use - Unit: microWatt - RO - -power[1-*]_input_lowest Historical minimum power use - Unit: microWatt - RO - -power[1-*]_reset_history Reset input_highest, input_lowest, - average_highest and average_lowest. - WO ********** * Alarms * diff --git a/trunk/Documentation/lguest/lguest.c b/trunk/Documentation/lguest/lguest.c index 9b0e322118b5..f2668390e8f7 100644 --- a/trunk/Documentation/lguest/lguest.c +++ b/trunk/Documentation/lguest/lguest.c @@ -62,8 +62,8 @@ typedef uint8_t u8; #endif /* We can have up to 256 pages for devices. */ #define DEVICE_PAGES 256 -/* This will occupy 2 pages: it must be a power of 2. */ -#define VIRTQUEUE_NUM 128 +/* This fits nicely in a single 4096-byte page. */ +#define VIRTQUEUE_NUM 127 /*L:120 verbose is both a global flag and a macro. The C preprocessor allows * this, and although I wouldn't recommend it, it works quite nicely here. */ @@ -1036,22 +1036,16 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs, void *p; /* First we need some pages for this virtqueue. */ - pages = (vring_size(num_descs, getpagesize()) + getpagesize() - 1) - / getpagesize(); + pages = (vring_size(num_descs) + getpagesize() - 1) / getpagesize(); p = get_pages(pages); - /* Initialize the virtqueue */ - vq->next = NULL; - vq->last_avail_idx = 0; - vq->dev = dev; - /* Initialize the configuration. */ vq->config.num = num_descs; vq->config.irq = devices.next_irq++; vq->config.pfn = to_guest_phys(p) / getpagesize(); /* Initialize the vring. */ - vring_init(&vq->vring, num_descs, p, getpagesize()); + vring_init(&vq->vring, num_descs, p); /* Add the configuration information to this device's descriptor. */ add_desc_field(dev, VIRTIO_CONFIG_F_VIRTQUEUE, @@ -1062,6 +1056,9 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs, for (i = &dev->vq; *i; i = &(*i)->next); *i = vq; + /* Link virtqueue back to device. */ + vq->dev = dev; + /* Set the routine to call when the Guest does something to this * virtqueue. */ vq->handle_output = handle_output; @@ -1095,7 +1092,6 @@ static struct device *new_device(const char *name, u16 type, int fd, dev->desc = new_dev_desc(type); dev->handle_input = handle_input; dev->name = name; - dev->vq = NULL; return dev; } @@ -1346,7 +1342,7 @@ static bool service_io(struct device *dev) if (out->type & VIRTIO_BLK_T_SCSI_CMD) { fprintf(stderr, "Scsi commands unsupported\n"); in->status = VIRTIO_BLK_S_UNSUPP; - wlen = sizeof(*in); + wlen = sizeof(in); } else if (out->type & VIRTIO_BLK_T_OUT) { /* Write */ @@ -1367,7 +1363,7 @@ static bool service_io(struct device *dev) /* Die, bad Guest, die. */ errx(1, "Write past end %llu+%u", off, ret); } - wlen = sizeof(*in); + wlen = sizeof(in); in->status = (ret >= 0 ? VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR); } else { /* Read */ @@ -1380,10 +1376,10 @@ static bool service_io(struct device *dev) ret = readv(vblk->fd, iov+1, in_num-1); verbose("READ from sector %llu: %i\n", out->sector, ret); if (ret >= 0) { - wlen = sizeof(*in) + ret; + wlen = sizeof(in) + ret; in->status = VIRTIO_BLK_S_OK; } else { - wlen = sizeof(*in); + wlen = sizeof(in); in->status = VIRTIO_BLK_S_IOERR; } } diff --git a/trunk/Documentation/markers.txt b/trunk/Documentation/markers.txt index d9f50a19fa0c..295a71bc301e 100644 --- a/trunk/Documentation/markers.txt +++ b/trunk/Documentation/markers.txt @@ -35,14 +35,12 @@ In order to use the macro trace_mark, you should include linux/marker.h. And, -trace_mark(subsystem_event, "myint %d mystring %s", someint, somestring); +trace_mark(subsystem_event, "%d %s", someint, somestring); Where : - subsystem_event is an identifier unique to your event - subsystem is the name of your subsystem. - event is the name of the event to mark. -- "myint %d mystring %s" is the formatted string for the serializer. "myint" and - "mystring" are repectively the field names associated with the first and - second parameter. +- "%d %s" is the formatted string for the serializer. - someint is an integer. - somestring is a char pointer. diff --git a/trunk/Documentation/namespaces/compatibility-list.txt b/trunk/Documentation/namespaces/compatibility-list.txt deleted file mode 100644 index defc5589bfcd..000000000000 --- a/trunk/Documentation/namespaces/compatibility-list.txt +++ /dev/null @@ -1,39 +0,0 @@ - Namespaces compatibility list - -This document contains the information about the problems user -may have when creating tasks living in different namespaces. - -Here's the summary. This matrix shows the known problems, that -occur when tasks share some namespace (the columns) while living -in different other namespaces (the rows): - - UTS IPC VFS PID User Net -UTS X -IPC X 1 -VFS X -PID 1 1 X -User 2 2 X -Net X - -1. Both the IPC and the PID namespaces provide IDs to address - object inside the kernel. E.g. semaphore with IPCID or - process group with pid. - - In both cases, tasks shouldn't try exposing this ID to some - other task living in a different namespace via a shared filesystem - or IPC shmem/message. The fact is that this ID is only valid - within the namespace it was obtained in and may refer to some - other object in another namespace. - -2. Intentionally, two equal user IDs in different user namespaces - should not be equal from the VFS point of view. In other - words, user 10 in one user namespace shouldn't have the same - access permissions to files, belonging to user 10 in another - namespace. - - The same is true for the IPC namespaces being shared - two users - from different user namespaces should not access the same IPC objects - even having equal UIDs. - - But currently this is not so. - diff --git a/trunk/Documentation/networking/00-INDEX b/trunk/Documentation/networking/00-INDEX index 563e442f2d42..f5a5e6d3d541 100644 --- a/trunk/Documentation/networking/00-INDEX +++ b/trunk/Documentation/networking/00-INDEX @@ -4,6 +4,8 @@ - information on the 3Com EtherLink Plus (3c505) driver. 6pack.txt - info on the 6pack protocol, an alternative to KISS for AX.25 +Configurable + - info on some of the configurable network parameters DLINK.txt - info on the D-Link DE-600/DE-620 parallel port pocket adapters PLIP.txt @@ -24,6 +26,8 @@ baycom.txt - info on the driver for Baycom style amateur radio modems bridge.txt - where to get user space programs for ethernet bridging with Linux. +comx.txt + - info on drivers for COMX line of synchronous serial adapters. cops.txt - info on the COPS LocalTalk Linux driver cs89x0.txt @@ -74,14 +78,20 @@ ltpc.txt - the Apple or Farallon LocalTalk PC card driver multicast.txt - Behaviour of cards under Multicast +ncsa-telnet + - notes on how NCSA telnet (DOS) breaks with MTU discovery enabled. netdevices.txt - info on network device driver functions exported to the kernel. olympic.txt - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info. policy-routing.txt - IP policy-based routing +pt.txt + - the Gracilis Packetwin AX.25 device driver ray_cs.txt - Raylink Wireless LAN card driver info. +routing.txt + - the new routing mechanism shaper.txt - info on the module that can shape/limit transmitted traffic. sk98lin.txt diff --git a/trunk/Documentation/networking/3c505.txt b/trunk/Documentation/networking/3c505.txt index 72f38b13101d..b9d5b7230118 100644 --- a/trunk/Documentation/networking/3c505.txt +++ b/trunk/Documentation/networking/3c505.txt @@ -14,7 +14,8 @@ If no base address is given at boot time, the driver will autoprobe ports 0x300, 0x280 and 0x310 (in that order). If no IRQ is given, the driver will try to probe for it. -The driver can be used as a loadable module. +The driver can be used as a loadable module. See net-modules.txt for details +of the parameters it can take. Theoretically, one instance of the driver can now run multiple cards, in the standard way (when loading a module, say "modprobe 3c505 diff --git a/trunk/Documentation/networking/Configurable b/trunk/Documentation/networking/Configurable new file mode 100644 index 000000000000..69c0dd466ead --- /dev/null +++ b/trunk/Documentation/networking/Configurable @@ -0,0 +1,34 @@ + +There are a few network parameters that can be tuned to better match +the kernel to your system hardware and intended usage. The defaults +are usually a good choice for 99% of the people 99% of the time, but +you should be aware they do exist and can be changed. + +The current list of parameters can be found in the files: + + linux/net/TUNABLE + Documentation/networking/ip-sysctl.txt + +Some of these are accessible via the sysctl interface, and many more are +scheduled to be added in this way. For example, some parameters related +to Address Resolution Protocol (ARP) are very easily viewed and altered. + + # cat /proc/sys/net/ipv4/arp_timeout + 6000 + # echo 7000 > /proc/sys/net/ipv4/arp_timeout + # cat /proc/sys/net/ipv4/arp_timeout + 7000 + +Others are already accessible via the related user space programs. +For example, MAX_WINDOW has a default of 32 k which is a good choice for +modern hardware, but if you have a slow (8 bit) Ethernet card and/or a slow +machine, then this will be far too big for the card to keep up with fast +machines transmitting on the same net, resulting in overruns and receive errors. +A value of about 4 k would be more appropriate, which can be set via: + + # route add -net 192.168.3.0 window 4096 + +The remainder of these can only be presently changed by altering a #define +in the related header file. This means an edit and recompile cycle. + + Paul Gortmaker 06/96 diff --git a/trunk/Documentation/networking/comx.txt b/trunk/Documentation/networking/comx.txt new file mode 100644 index 000000000000..d1526eba2645 --- /dev/null +++ b/trunk/Documentation/networking/comx.txt @@ -0,0 +1,248 @@ + + COMX drivers for the 2.2 kernel + +Originally written by: Tivadar Szemethy, +Currently maintained by: Gergely Madarasz + +Last change: 21/06/1999. + +INTRODUCTION + +This document describes the software drivers and their use for the +COMX line of synchronous serial adapters for Linux version 2.2.0 and +above. +The cards are produced and sold by ITC-Pro Ltd. Budapest, Hungary +For further info contact +or http://www.itc.hu (mostly in Hungarian). +The firmware files and software are available from ftp://ftp.itc.hu + +Currently, the drivers support the following cards and protocols: + +COMX (2x64 kbps intelligent board) +CMX (1x256 + 1x128 kbps intelligent board) +HiCOMX (2x2Mbps intelligent board) +LoCOMX (1x512 kbps passive board) +MixCOM (1x512 or 2x512kbps passive board with a hardware watchdog an + optional BRI interface and optional flashROM (1-32M)) +SliceCOM (1x2Mbps channelized E1 board) +PciCOM (X21) + +At the moment of writing this document, the (Cisco)-HDLC, LAPB, SyncPPP and +Frame Relay (DTE, rfc1294 IP encapsulation with partially implemented Q933a +LMI) protocols are available as link-level protocol. +X.25 support is being worked on. + +USAGE + +Load the comx.o module and the hardware-specific and protocol-specific +modules you'll need into the running kernel using the insmod utility. +This creates the /proc/comx directory. +See the example scripts in the 'etc' directory. + +/proc INTERFACE INTRO + +The COMX driver set has a new type of user interface based on the /proc +filesystem which eliminates the need for external user-land software doing +IOCTL calls. +Each network interface or device (i.e. those ones you configure with 'ifconfig' +and 'route' etc.) has a corresponding directory under /proc/comx. You can +dynamically create a new interface by saying 'mkdir /proc/comx/comx0' (or you +can name it whatever you want up to 8 characters long, comx[n] is just a +convention). +Generally the files contained in these directories are text files, which can +be viewed by 'cat filename' and you can write a string to such a file by +saying 'echo _string_ >filename'. This is very similar to the sysctl interface. +Don't use a text editor to edit these files, always use 'echo' (or 'cat' +where appropriate). +When you've created the comx[n] directory, two files are created automagically +in it: 'boardtype' and 'protocol'. You have to fill in these files correctly +for your board and protocol you intend to use (see the board and protocol +descriptions in this file below or the example scripts in the 'etc' directory). +After filling in these files, other files will appear in the directory for +setting the various hardware- and protocol-related informations (for example +irq and io addresses, keepalive values etc.) These files are set to default +values upon creation, so you don't necessarily have to change all of them. + +When you're ready with filling in the files in the comx[n] directory, you can +configure the corresponding network interface with the standard network +configuration utilities. If you're unable to bring the interfaces up, look up +the various kernel log files on your system, and consult the messages for +a probable reason. + +EXAMPLE + +To create the interface 'comx0' which is the first channel of a COMX card: + +insmod comx +# insmod comx-hw-comx ; insmod comx-proto-ppp (these are usually +autoloaded if you use the kernel module loader) + +mkdir /proc/comx/comx0 +echo comx >/proc/comx/comx0/boardtype +echo 0x360 >/proc/comx/comx0/io <- jumper-selectable I/O port +echo 0x0a >/proc/comx/comx0/irq <- jumper-selectable IRQ line +echo 0xd000 >/proc/comx/comx0/memaddr <- software-configurable memory + address. COMX uses 64 KB, and this + can be: 0xa000, 0xb000, 0xc000, + 0xd000, 0xe000. Avoid conflicts + with other hardware. +cat /proc/comx/comx0/firmware <- the firmware for the card +echo HDLC >/proc/comx/comx0/protocol <- the data-link protocol +echo 10 >/proc/comx/comx0/keepalive <- the keepalive for the protocol +ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255 <- + finally configure it with ifconfig +Check its status: +cat /proc/comx/comx0/status + +If you want to use the second channel of this board: + +mkdir /proc/comx/comx1 +echo comx >/proc/comx/comx1/boardtype +echo 0x360 >/proc/comx/comx1/io +echo 10 >/proc/comx/comx1/irq +echo 0xd000 >/proc/comx/comx1/memaddr +echo 1 >/proc/comx/comx1/channel <- channels are numbered + as 0 (default) and 1 + +Now, check if the driver recognized that you're going to use the other +channel of the same adapter: + +cat /proc/comx/comx0/twin +comx1 +cat /proc/comx/comx1/twin +comx0 + +You don't have to load the firmware twice, if you use both channels of +an adapter, just write it into the channel 0's /proc firmware file. + +Default values: io 0x360 for COMX, 0x320 (HICOMX), irq 10, memaddr 0xd0000 + +THE LOCOMX HARDWARE DRIVER + +The LoCOMX driver doesn't require firmware, and it doesn't use memory either, +but it uses DMA channels 1 and 3. You can set the clock rate (if enabled by +jumpers on the board) by writing the kbps value into the file named 'clock'. +Set it to 'external' (it is the default) if you have external clock source. + +(Note: currently the LoCOMX driver does not support the internal clock) + +THE COMX, CMX AND HICOMX DRIVERS + +On the HICOMX, COMX and CMX, you have to load the firmware (it is different for +the three cards!). All these adapters can share the same memory +address (we usually use 0xd0000). On the CMX you can set the internal +clock rate (if enabled by jumpers on the small adapter boards) by writing +the kbps value into the 'clock' file. You have to do this before initializing +the card. If you use both HICOMX and CMX/COMX cards, initialize the HICOMX +first. The I/O address of the HICOMX board is not configurable by any +method available to the user: it is hardwired to 0x320, and if you have to +change it, consult ITC-Pro Ltd. + +THE MIXCOM DRIVER + +The MixCOM board doesn't require firmware, the driver communicates with +it through I/O ports. You can have three of these cards in one machine. + +THE SLICECOM DRIVER + +The SliceCOM board doesn't require firmware. You can have 4 of these cards +in one machine. The driver doesn't (yet) support shared interrupts, so +you will need a separate IRQ line for every board. +Read Documentation/networking/slicecom.txt for help on configuring +this adapter. + +THE HDLC/PPP LINE PROTOCOL DRIVER + +The HDLC/SyncPPP line protocol driver uses the kernel's built-in syncppp +driver (syncppp.o). You don't have to manually select syncppp.o when building +the kernel, the dependencies compile it in automatically. + + + + +EXAMPLE +(setting up hw parameters, see above) + +# using HDLC: +echo hdlc >/proc/comx/comx0/protocol +echo 10 >/proc/comx/comx0/keepalive <- not necessary, 10 is the default +ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255 + +(setting up hw parameters, see above) + +# using PPP: +echo ppp >/proc/comx/comx0/protocol +ifconfig comx0 up +ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255 + + +THE LAPB LINE PROTOCOL DRIVER + +For this, you'll need to configure LAPB support (See 'LAPB Data Link Driver' in +'Network options' section) into your kernel (thanks to Jonathan Naylor for his +excellent implementation). +comx-proto-lapb.o provides the following files in the appropriate directory +(the default values in parens): t1 (5), t2 (1), n2 (20), mode (DTE, STD) and +window (7). Agree with the administrator of your peer router on these +settings (most people use defaults, but you have to know if you are DTE or +DCE). + +EXAMPLE + +(setting up hw parameters, see above) +echo lapb >/proc/comx/comx0/protocol +echo dce >/proc/comx/comx0/mode <- DCE interface in this example +ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255 + + +THE FRAME RELAY PROTOCOL DRIVER + +You DON'T need any other frame relay related modules from the kernel to use +COMX-Frame Relay. This protocol is a bit more complicated than the others, +because it allows to use 'subinterfaces' or DLCIs within one physical device. +First you have to create the 'master' device (the actual physical interface) +as you would do for other protocols. Specify 'frad' as protocol type. +Now you can bring this interface up by saying 'ifconfig comx0 up' (or whatever +you've named the interface). Do not assign any IP address to this interface +and do not set any routes through it. +Then, set up your DLCIs the following way: create a comx interface for each +DLCI you intend to use (with mkdir), and write 'dlci' to the 'boardtype' file, +and 'ietf-ip' to the 'protocol' file. Currently, the only supported +encapsulation type is this (also called as RFC1294/1490 IP encapsulation). +Write the DLCI number to the 'dlci' file, and write the name of the physical +COMX device to the file called 'master'. +Now you can assign an IP address to this interface and set routes using it. +See the example file for further info and example config script. +Notes: this driver implements a DTE interface with partially implemented +Q933a LMI. +You can find an extensively commented example in the 'etc' directory. + +FURTHER /proc FILES + +boardtype: +Type of the hardware. Valid values are: + 'comx', 'hicomx', 'locomx', 'cmx', 'slicecom'. + +protocol: +Data-link protocol on this channel. Can be: HDLC, LAPB, PPP, FRAD + +status: +You can read the channel's actual status from the 'status' file, for example +'cat /proc/comx/comx3/status'. + +lineup_delay: +Interpreted in seconds (default is 1). Used to avoid line jitter: the system +will consider the line status 'UP' only if it is up for at least this number +of seconds. + +debug: +You can set various debug options through this file. Valid options are: +'comx_events', 'comx_tx', 'comx_rx', 'hw_events', 'hw_tx', 'hw_rx'. +You can enable a debug options by writing its name prepended by a '+' into +the debug file, for example 'echo +comx_rx >comx0/debug'. +Disabling an option happens similarly, use the '-' prefix +(e.g. 'echo -hw_rx >debug'). +Debug results can be read from the debug file, for example: +tail -f /proc/comx/comx2/debug + + diff --git a/trunk/Documentation/networking/ncsa-telnet b/trunk/Documentation/networking/ncsa-telnet new file mode 100644 index 000000000000..d77d28b09093 --- /dev/null +++ b/trunk/Documentation/networking/ncsa-telnet @@ -0,0 +1,16 @@ +NCSA telnet doesn't work with path MTU discovery enabled. This is due to a +bug in NCSA that also stops it working with other modern networking code +such as Solaris. + +The following information is courtesy of +Marek + +There is a fixed version somewhere on ftp.upe.ac.za (sorry, I don't +remember the exact pathname, and this site is very slow from here). +It may or may not be faster for you to get it from +ftp://ftp.ists.pwr.wroc.pl/pub/msdos/telnet/ncsa_upe/tel23074.zip +(source is in v230704s.zip). I have tested it with 1.3.79 (with +path mtu discovery enabled - ncsa 2.3.08 didn't work) and it seems +to work. I don't know if anyone is working on this code - this +version is over a year old. Too bad - it's faster and often more +stable than these windoze telnets, and runs on almost anything... diff --git a/trunk/Documentation/networking/pt.txt b/trunk/Documentation/networking/pt.txt new file mode 100644 index 000000000000..72e888c1d988 --- /dev/null +++ b/trunk/Documentation/networking/pt.txt @@ -0,0 +1,58 @@ +This is the README for the Gracilis Packetwin device driver, version 0.5 +ALPHA for Linux 1.3.43. + +These files will allow you to talk to the PackeTwin (now know as PT) and +connect through it just like a pair of TNCs. To do this you will also +require the AX.25 code in the kernel enabled. + +There are four files in this archive; this readme, a patch file, a .c file +and finally a .h file. The two program files need to be put into the +drivers/net directory in the Linux source tree, for me this is the +directory /usr/src/linux/drivers/net. The patch file needs to be patched in +at the top of the Linux source tree (/usr/src/linux in my case). + +You will most probably have to edit the pt.c file to suit your own setup, +this should just involve changing some of the defines at the top of the file. +Please note that if you run an external modem you must specify a speed of 0. + +The program is currently setup to run a 4800 baud external modem on port A +and a Kantronics DE-9600 daughter board on port B so if you have this (or +something similar) then you're right. + +To compile in the driver, put the files in the correct place and patch in +the diff. You will have to re-configure the kernel again before you +recompile it. + +The driver is not real good at the moment for finding the card. You can +'help' it by changing the order of the potential addresses in the structure +found in the pt_init() function so the address of where the card is is put +first. + +After compiling, you have to get them going, they are pretty well like any +other net device and just need ifconfig to get them going. +As an example, here is my /etc/rc.net +-------------------------- + +# +# Configure the PackeTwin, port A. +/sbin/ifconfig pt0a 44.136.8.87 hw ax25 vk2xlz mtu 512 +/sbin/ifconfig pt0a 44.136.8.87 broadcast 44.136.8.255 netmask 255.255.255.0 +/sbin/route add -net 44.136.8.0 netmask 255.255.255.0 dev pt0a +/sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.136.8.68 dev pt0a +/sbin/route add -net 138.25.16.0 netmask 255.255.240.0 dev pt0a +/sbin/route add -host 44.136.8.255 dev pt0a +# +# Configure the PackeTwin, port B. +/sbin/ifconfig pt0b 44.136.8.87 hw ax25 vk2xlz-1 mtu 512 +/sbin/ifconfig pt0b 44.136.8.87 broadcast 44.255.255.255 netmask 255.0.0.0 +/sbin/route add -host 44.136.8.216 dev pt0b +/sbin/route add -host 44.136.8.95 dev pt0b +/sbin/route add -host 44.255.255.255 dev pt0b + +This version of the driver comes under the GNU GPL. If you have one of my +previous (non-GPL) versions of the driver, please update to this one. + +I hope that this all works well for you. I would be pleased to hear how +many people use the driver and if it does its job. + + - Craig vk2xlz diff --git a/trunk/Documentation/networking/routing.txt b/trunk/Documentation/networking/routing.txt new file mode 100644 index 000000000000..a26838b930f2 --- /dev/null +++ b/trunk/Documentation/networking/routing.txt @@ -0,0 +1,46 @@ +The directory ftp.inr.ac.ru:/ip-routing contains: + +- iproute.c - "professional" routing table maintenance utility. + +- rdisc.tar.gz - rdisc daemon, ported from Sun. + STRONGLY RECOMMENDED FOR ALL HOSTS. + +- routing.tgz - original Mike McLagan's route by source patch. + Currently it is obsolete. + +- gated.dif-ss.gz - gated-R3_6Alpha_2 fixes. + Look at README.gated + +- mrouted-3.8.dif.gz - mrouted-3.8 fixes. + +- rtmon.c - trivial debugging utility: reads and stores netlink. + + +NEWS for user. + +- Policy based routing. Routing decisions are made on the basis + not only of destination address, but also source address, + TOS and incoming interface. +- Complete set of IP level control messages. + Now Linux is the only OS in the world complying to RFC requirements. + Great win 8) +- New interface addressing paradigm. + Assignment of address ranges to interface, + multiple prefixes etc. etc. + Do not bother, it is compatible with the old one. Moreover: +- You don't need to do "route add aaa.bbb.ccc... eth0" anymore, + it is done automatically. +- "Abstract" UNIX sockets and security enhancements. + This is necessary to use TIRPC and TLI emulation library. + +NEWS for hacker. + +- New destination cache. Flexible, robust and just beautiful. +- Network stack is reordered, simplified, optimized, a lot of bugs fixed. + (well, and new bugs were introduced, but I haven't seen them yet 8)) + It is difficult to describe all the changes, look into source. + +If you see this file, then this patch works 8) + +Alexey Kuznetsov. +kuznet@ms2.inr.ac.ru diff --git a/trunk/Documentation/networking/slicecom.hun b/trunk/Documentation/networking/slicecom.hun new file mode 100644 index 000000000000..bed2f045e550 --- /dev/null +++ b/trunk/Documentation/networking/slicecom.hun @@ -0,0 +1,371 @@ + +SliceCOM adapter felhasznaloi dokumentacioja - 0.51 verziohoz + +Bartók István +Utolso modositas: Wed Aug 29 17:26:58 CEST 2001 + +----------------------------------------------------------------- + +Hasznalata: + +Forditas: + +Code maturity level options + [*] Prompt for development and/or incomplete code/drivers + +Network device support + Wan interfaces + MultiGate (COMX) synchronous + Support for MUNICH based boards: SliceCOM, PCICOM (NEW) + Support for HDLC and syncPPP... + + +A modulok betoltese: + +modprobe comx + +modprobe comx-proto-ppp # a Cisco-HDLC es a SyncPPP protokollt is + # ez a modul adja + +modprobe comx-hw-munich # a modul betoltodeskor azonnal jelent a + # syslogba a detektalt kartyakrol + + +Konfiguralas: + +# Ezen az interfeszen Cisco-HDLC vonali protokoll fog futni +# Az interfeszhez rendelt idoszeletek: 1,2 (128 kbit/sec-es vonal) +# (a G.703 keretben az elso adatot vivo idoszelet az 1-es) +# +mkdir /proc/comx/comx0.1/ +echo slicecom >/proc/comx/comx0.1/boardtype +echo hdlc >/proc/comx/comx0.1/protocol +echo 1 2 >/proc/comx/comx0.1/timeslots + + +# Ezen az interfeszen SyncPPP vonali protokoll fog futni +# Az interfeszhez rendelt idoszelet: 3 (64 kbit/sec-es vonal) +# +mkdir /proc/comx/comx0.2/ +echo slicecom >/proc/comx/comx0.2/boardtype +echo ppp >/proc/comx/comx0.2/protocol +echo 3 >/proc/comx/comx0.2/timeslots + +... + +ifconfig comx0.1 up +ifconfig comx0.2 up + +----------------------------------------------------------------- + +A COMX driverek default 20 csomagnyi transmit queue-t rendelnek a halozati +interfeszekhez. WAN halozatokban ennel hosszabbat is szokas hasznalni +(20 es 100 kozott), hogy a vonal kihasznaltsaga nagy terheles eseten jobb +legyen (bar ezzel megno a varhato kesleltetes a csomagok sorban allasa miatt): + +# ifconfig comx0 txqueuelen 50 + +Ezt a beallitasi lehetoseget csak az ujabb disztribuciok ifconfig parancsa +tamogatja (amik mar a 2.2 kernelekhez keszultek, mint a RedHat 6.1 vagy a +Debian 2.2). + +A 2.1-es Debian disztribuciohoz a http://www.debian.org/~rcw/2.2/netbase/ +cimrol toltheto le ujabb netbase csomag, ami mar ilyet tamogato ifconfig +parancsot tartalmaz. Bovebben a 2.2 kernel hasznalatarol Debian 2.1 alatt: +http://www.debian.org/releases/stable/running-kernel-2.2 + +----------------------------------------------------------------- + +A kartya LED-jeinek jelentese: + +piros - eg, ha Remote Alarm-ot kuld a tuloldal +zold - eg, ha a vett jelben megtalalja a keretszinkront + +Reszletesebben: + +piros: zold: jelentes: + +- - nincs keretszinkron (nincs jel, vagy rossz a jel) +- eg "minden rendben" +eg eg a vetel OK, de a tuloldal Remote Alarm-ot kuld +eg - ez nincs ertelmezve, egyelore funkcio nelkul + +----------------------------------------------------------------- + +Reszletesebb leiras a hardver beallitasi lehetosegeirol: + +Az altalanos,- es a protokoll-retegek beallitasi lehetosegeirol a 'comx.txt' +fajlban leirtak SliceCOM kartyanal is ervenyesek, itt csak a hardver-specifikus +beallitasi lehetosegek vannak osszefoglalva: + +Konfiguralasi interfesz a /proc/comx/ alatt: + +Minden timeslot-csoportnak kulon comx* interfeszt kell letrehozni mkdir-rel: +comx0, comx1, .. stb. Itt beallithato, hogy az adott interfesz hanyadik kartya +melyik timeslotja(i)bol alljon ossze. A Cisco-fele serial3:1 elnevezesek +(serial3:1 = a 3. kartyaban az 1-es idoszelet-csoport) Linuxon aliasing-ot +jelentenenek, ezert mi nem tudunk ilyen elnevezest hasznalni. + +Tobb kartya eseten a comx0.1, comx0.2, ... vagy slice0.1, slice0.2 nevek +hasznalhatoak. + +Tobb SliceCOM kartya is lehet egy gepben, de sajat interrupt kell mindegyiknek, +nem tud meg megosztott interruptot kezelni. + +Az egesz kartyat erinto beallitasok: + +Az ioport es irq beallitas nincs: amit a PCI BIOS kioszt a rendszernek, +azt hasznalja a driver. + + +comx0/boardnum - hanyadik SliceCOM kartya a gepben (a 'termeszetes' PCI + sorrendben ertve: ahogyan a /proc/pci-ban vagy az 'lspci' + kimeneteben megjelenik, altalaban az alaplapi PCI meghajto + aramkorokhoz kozelebb eso kartyak a kisebb sorszamuak) + + Default: 0 (0-tol kezdodik a szamolas) + + +Bar a kovetkezoket csak egy-egy interfeszen allitjuk at, megis az egesz kartya +mukodeset egyszerre allitjak. A megkotes hogy csak UP-ban levo interfeszen +hasznalhatoak, azert van, mert kulonben nem vart eredmenyekre vezetne egy ilyen +paranccsorozat: + + echo 0 >boardnum + echo internal >clock_source + echo 1 >boardnum + +- Ez a 0-s board clock_source-at allitana at. + +Ezek a beallitasok megmaradnak az osszes interfesz torlesekor, de torlodnek +a driver modul ki/betoltesekor. + + +comx0/clock_source - A Tx orajelforrasa, a Cisco-val hasonlatosra keszult. + Hasznalata: + + papaya:# echo line >/proc/comx/comx0/clock_source + papaya:# echo internal >/proc/comx/comx0/clock_source + + line - A Tx orajelet a vett adatfolyambol dekodolja, igyekszik + igazodni hozza. Ha nem lat orajelet az inputon, akkor + atall a sajat orajelgeneratorara. + internal - A Tx orajelet a sajat orajelgeneratora szolgaltatja. + + Default: line + + Normal osszeallitas eseten a tavkozlesi szolgaltato eszkoze + (pl. HDSL modem) adja az orajelet, ezert ez a default. + + +comx0/framing - A CRC4 ki/be kapcsolasa + + A CRC4: 16 PCM keretet (A PCM keret az, amibe a 32 darab 64 + kilobites csatorna van bemultiplexalva. Nem osszetevesztendo a HDLC + kerettel.) 2x8 -as csoportokra osztanak, es azokhoz 4-4 bites CRC-t + szamolnak. Elsosorban a vonal minosegenek a monitorozasara szolgal. + + papaya:~# echo crc4 >/proc/comx/comx0/framing + papaya:~# echo no-crc4 >/proc/comx/comx0/framing + + Default a 'crc4', a MATAV vonalak altalaban igy futnak. De ha nem + egyforma is a beallitas a vonal ket vegen, attol a forgalom altalaban + at tud menni. + + +comx0/linecode - A vonali kodolas beallitasa + + papaya:~# echo hdb3 >/proc/comx/comx0/linecode + papaya:~# echo ami >/proc/comx/comx0/linecode + + Default a 'hdb3', a MATAV vonalak igy futnak. + + (az AMI kodolas igen ritka E1-es vonalaknal). Ha ez a beallitas nem + egyezik a vonal ket vegen, akkor elofordulhat hogy a keretszinkron + osszejon, de CRC4-hibak es a vonalakon atvitt adatokban is hibak + keletkeznek (amit a HDLC/SyncPPP szinten CRC-hibaval jelez) + + +comx0/reg - a kartya aramkoreinek, a MUNICH (reg) es a FALC (lbireg) +comx0/lbireg regisztereinek kozvetlen elerese. Hasznalata: + + echo >reg 0x04 0x0 - a 4-es regiszterbe 0-t ir + echo >reg 0x104 - printk()-val kiirja a 4-es regiszter + tartalmat a syslogba. + + WARNING: ezek csak a fejleszteshez keszultek, sok galibat + lehet veluk okozni! + + +comx0/loopback - A kartya G.703 jelenek a visszahurkolasara is van lehetoseg: + + papaya:# echo none >/proc/comx/comx0/loopback + papaya:# echo local >/proc/comx/comx0/loopback + papaya:# echo remote >/proc/comx/comx0/loopback + + none - nincs visszahurkolas, normal mukodes + local - a kartya a sajat maga altal adott jelet kapja vissza + remote - a kartya a kivulrol vett jelet adja kifele + + Default: none + +----------------------------------------------------------------- + +Az interfeszhez (Cisco terminologiaban 'channel-group') kapcsolodo beallitasok: + +comx0/timeslots - mely timeslotok (idoszeletek) tartoznak az adott interfeszhez. + + papaya:~# cat /proc/comx/comx0/timeslots + 1 3 4 5 6 + papaya:~# + + Egy timeslot megkeresese (hanyas interfeszbe tartozik nalunk): + + papaya:~# grep ' 4' /proc/comx/comx*/timeslots + /proc/comx/comx0/timeslots:1 3 4 5 6 + papaya:~# + + Beallitasa: + papaya:~# echo '1 5 2 6 7 8' >/proc/comx/comx0/timeslots + + A timeslotok sorrendje nem szamit, '1 3 2' ugyanaz mint az '1 2 3'. + + Beallitashoz az adott interfesznek DOWN-ban kell lennie + (ifconfig comx0 down), de ugyanannak a kartyanak a tobbi interfesze + uzemelhet kozben. + + Beallitaskor leellenorzi, hogy az uj timeslotok nem utkoznek-e egy + masik interfesz timeslotjaival. Ha utkoznek, akkor nem allitja at. + + Mindig 10-es szamrendszerben tortenik a timeslotok ertelmezese, nehogy + a 08, 09 alaku felirast rosszul ertelmezze. + +----------------------------------------------------------------- + +Az interfeszek es a kartya allapotanak lekerdezese: + +- A ' '-szel kezdodo sorok az eredeti kimenetet, a //-rel kezdodo sorok a +magyarazatot jelzik. + + papaya:~$ cat /proc/comx/comx1/status + Interface administrative status is UP, modem status is UP, protocol is UP + Modem status changes: 0, Transmitter status is IDLE, tbusy: 0 + Interface load (input): 978376 / 947808 / 951024 bits/s (5s/5m/15m) + (output): 978376 / 947848 / 951024 bits/s (5s/5m/15m) + Debug flags: none + RX errors: len: 22, overrun: 1, crc: 0, aborts: 0 + buffer overrun: 0, pbuffer overrun: 0 + TX errors: underrun: 0 + Line keepalive (value: 10) status UP [0] + +// Itt kezdodik a hardver-specifikus resz: + Controller status: + No alarms + +// Alarm: hibajelzes: +// +// No alarms - minden rendben +// +// LOS - Loss Of Signal - nem erzekel jelet a bemeneten. +// AIS - Alarm Indication Signal - csak egymas utani 1-esek jonnek +// a bemeneten, a tuloldal igy is jelezheti hogy meghibasodott vagy +// nincs inicializalva. +// AUXP - Auxiliary Pattern Indication - 01010101.. sorozat jon a bemeneten. +// LFA - Loss of Frame Alignment - nincs keretszinkron +// RRA - Receive Remote Alarm - a tuloldal el, de hibat jelez. +// LMFA - Loss of CRC4 Multiframe Alignment - nincs CRC4-multikeret-szinkron +// NMF - No Multiframe alignment Found after 400 msec - ilyen alarm a no-crc4 +// es crc4 keretezesek eseten nincs, lasd lentebb +// +// Egyeb lehetseges hibajelzesek: +// +// Transmit Line Short - a kartya ugy erzi hogy az adasi kimenete rovidre +// van zarva, ezert kikapcsolta az adast. (nem feltetlenul veszi eszre +// a kulso rovidzarat) + +// A veteli oldal csomagjainak lancolt listai, debug celokra: + + Rx ring: + rafutott: 0 + lastcheck: 50845731, jiffies: 51314281 + base: 017b1858 + rx_desc_ptr: 0 + rx_desc_ptr: 017b1858 + hw_curr_ptr: 017b1858 + 06040000 017b1868 017b1898 c016ff00 + 06040000 017b1878 017b1e9c c016ff00 + 46040000 017b1888 017b24a0 c016ff00 + 06040000 017b1858 017b2aa4 c016ff00 + +// A kartyat hasznalo tobbi interfesz: a 0-s channel-group a comx1 interfesz, +// es az 1,2,...,16 timeslotok tartoznak hozza: + + Interfaces using this board: (channel-group, interface, timeslots) + 0 comx1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 1 comx2: 17 + 2 comx3: 18 + 3 comx4: 19 + 4 comx5: 20 + 5 comx6: 21 + 6 comx7: 22 + 7 comx8: 23 + 8 comx9: 24 + 9 comx10: 25 + 10 comx11: 26 + 11 comx12: 27 + 12 comx13: 28 + 13 comx14: 29 + 14 comx15: 30 + 15 comx16: 31 + +// Hany esemenyt kezelt le a driver egy-egy hardver-interrupt kiszolgalasanal: + + Interrupt work histogram: + hist[ 0]: 0 hist[ 1]: 2 hist[ 2]: 18574 hist[ 3]: 79 + hist[ 4]: 14 hist[ 5]: 1 hist[ 6]: 0 hist[ 7]: 1 + hist[ 8]: 0 hist[ 9]: 7 + +// Hany kikuldendo csomag volt mar a Tx-ringben amikor ujabb lett irva bele: + + Tx ring histogram: + hist[ 0]: 2329 hist[ 1]: 0 hist[ 2]: 0 hist[ 3]: 0 + +// Az E1-interfesz hiba-szamlaloi, az rfc2495-nek megfeleloen: +// (kb. a Cisco routerek "show controllers e1" formatumaban: http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/rbook/rinterfc.htm#xtocid25669126) + +Data in current interval (91 seconds elapsed): + 9516 Line Code Violations, 65 Path Code Violations, 2 E-Bit Errors + 0 Slip Secs, 2 Fr Loss Secs, 2 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 11 Unavail Secs +Data in Interval 1 (15 minutes): + 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors + 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs +Data in last 4 intervals (1 hour): + 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors + 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs +Data in last 96 intervals (24 hours): + 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors + 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs + +----------------------------------------------------------------- + +Nehany kulonlegesebb beallitasi lehetoseg (idovel beepulhetnek majd a driverbe): +Ezekkel sok galibat lehet okozni, nagyon ovatosan kell oket hasznalni! + + modified CRC-4, for improved interworking of CRC-4 and non-CRC-4 + devices: (lasd page 107 es g706 Annex B) + lbireg[ 0x1b ] |= 0x08 + lbireg[ 0x1c ] |= 0xc0 + - ilyenkor ertelmezett az NMF - 'No Multiframe alignment Found after + 400 msec' alarm. + + FALC - a vonali meghajto IC + local loop - a sajat adasomat halljam vissza + remote loop - a kivulrol jovo adast adom vissza + + Egy hibakeresesre hasznalhato dolog: + - 1-es timeslot local loop a FALC-ban: echo >lbireg 0x1d 0x21 + - local loop kikapcsolasa: echo >lbireg 0x1d 0x00 diff --git a/trunk/Documentation/networking/slicecom.txt b/trunk/Documentation/networking/slicecom.txt new file mode 100644 index 000000000000..c82c0cf981b4 --- /dev/null +++ b/trunk/Documentation/networking/slicecom.txt @@ -0,0 +1,369 @@ + +SliceCOM adapter user's documentation - for the 0.51 driver version + +Written by Bartók István + +English translation: Lakatos György +Mon Dec 11 15:28:42 CET 2000 + +Last modified: Wed Aug 29 17:25:37 CEST 2001 + +----------------------------------------------------------------- + +Usage: + +Compiling the kernel: + +Code maturity level options + [*] Prompt for development and/or incomplete code/drivers + +Network device support + Wan interfaces + MultiGate (COMX) synchronous + Support for MUNICH based boards: SliceCOM, PCICOM (NEW) + Support for HDLC and syncPPP... + + +Loading the modules: + +modprobe comx + +modprobe comx-proto-ppp # module for Cisco-HDLC and SyncPPP protocols + +modprobe comx-hw-munich # the module logs information by the kernel + # about the detected boards + + +Configuring the board: + +# This interface will use the Cisco-HDLC line protocol, +# the timeslices assigned are 1,2 (128 KiBit line speed) +# (the first data timeslice in the G.703 frame is no. 1) +# +mkdir /proc/comx/comx0.1/ +echo slicecom >/proc/comx/comx0.1/boardtype +echo hdlc >/proc/comx/comx0.1/protocol +echo 1 2 >/proc/comx/comx0.1/timeslots + + +# This interface uses SyncPPP line protocol, the assigned +# is no. 3 (64 KiBit line speed) +# +mkdir /proc/comx/comx0.2/ +echo slicecom >/proc/comx/comx0.2/boardtype +echo ppp >/proc/comx/comx0.2/protocol +echo 3 >/proc/comx/comx0.2/timeslots + +... + +ifconfig comx0.1 up +ifconfig comx0.2 up + +----------------------------------------------------------------- + +The COMX interfaces use a 10 packet transmit queue by default, however WAN +networks sometimes use bigger values (20 to 100), to utilize the line better +by large traffic (though the line delay increases because of more packets +join the queue). + +# ifconfig comx0 txqueuelen 50 + +This option is only supported by the ifconfig command of the later +distributions, which came with 2.2 kernels, such as RedHat 6.1 or Debian 2.2. + +You can download a newer netbase packet from +http://www.debian.org/~rcw/2.2/netbase/ for Debian 2.1, which has a new +ifconfig. You can get further information about using 2.2 kernel with +Debian 2.1 from http://www.debian.org/releases/stable/running-kernel-2.2 + +----------------------------------------------------------------- + +The SliceCom LEDs: + +red - on, if the interface is unconfigured, or it gets Remote Alarm-s +green - on, if the board finds frame-sync in the received signal + +A bit more detailed: + +red: green: meaning: + +- - no frame-sync, no signal received, or signal SNAFU. +- on "Everything is OK" +on on Reception is ok, but the remote end sends Remote Alarm +on - The interface is unconfigured + +----------------------------------------------------------------- + +A more detailed description of the hardware setting options: + +The general and the protocol layer options described in the 'comx.txt' file +apply to the SliceCom as well, I only summarize the SliceCom hardware specific +settings below. + +The '/proc/comx' configuring interface: + +An interface directory should be created for every timeslot group with +'mkdir', e,g: 'comx0', 'comx1' etc. The timeslots can be assigned here to the +specific interface. The Cisco-like naming convention (serial3:1 - first +timeslot group of the 3rd. board) can't be used here, because these mean IP +aliasing in Linux. + +You can give any meaningful name to keep the configuration clear; +e.g: 'comx0.1', 'comx0.2', 'comx1.1', comx1.2', if you have two boards +with two interfaces each. + +Settings, which apply to the board: + +Neither 'io' nor 'irq' settings required, the driver uses the resources +given by the PCI BIOS. + +comx0/boardnum - board number of the SliceCom in the PC (using the 'natural' + PCI order) as listed in '/proc/pci' or the output of the + 'lspci' command, generally the slots nearer to the motherboard + PCI driver chips have the lower numbers. + + Default: 0 (the counting starts with 0) + +Though the options below are to be set on a single interface, they apply to the +whole board. The restriction, to use them on 'UP' interfaces, is because the +command sequence below could lead to unpredictable results. + + # echo 0 >boardnum + # echo internal >clock_source + # echo 1 >boardnum + +The sequence would set the clock source of board 0. + +These settings will persist after all the interfaces are cleared, but are +cleared when the driver module is unloaded and loaded again. + +comx0/clock_source - source of the transmit clock + Usage: + + # echo line >/proc/comx/comx0/clock_source + # echo internal >/proc/comx/comx0/clock_source + + line - The Tx clock is being decoded if the input data stream, + if no clock seen on the input, then the board will use it's + own clock generator. + + internal - The Tx clock is supplied by the builtin clock generator. + + Default: line + + Normally, the telecommunication company's end device (the HDSL + modem) provides the Tx clock, that's why 'line' is the default. + +comx0/framing - Switching CRC4 off/on + + CRC4: 16 PCM frames (The 32 64Kibit channels are multiplexed into a + PCM frame, nothing to do with HDLC frames) are divided into 2x8 + groups, each group has a 4 bit CRC. + + # echo crc4 >/proc/comx/comx0/framing + # echo no-crc4 >/proc/comx/comx0/framing + + Default is 'crc4', the Hungarian MATAV lines behave like this. + The traffic generally passes if this setting on both ends don't match. + +comx0/linecode - Setting the line coding + + # echo hdb3 >/proc/comx/comx0/linecode + # echo ami >/proc/comx/comx0/linecode + + Default a 'hdb3', MATAV lines use this. + + (AMI coding is rarely used with E1 lines). Frame sync may occur, if + this setting doesn't match the other end's, but CRC4 and data errors + will come, which will result in CRC errors on HDLC/SyncPPP level. + +comx0/reg - direct access to the board's MUNICH (reg) and FALC (lbireg) +comx0/lbireg circuit's registers + + # echo >reg 0x04 0x0 - write 0 to register 4 + # echo >reg 0x104 - write the contents of register 4 with + printk() to syslog + +WARNING! These are only for development purposes, messing with this will + result much trouble! + +comx0/loopback - Places a loop to the board's G.703 signals + + # echo none >/proc/comx/comx0/loopback + # echo local >/proc/comx/comx0/loopback + # echo remote >/proc/comx/comx0/loopback + + none - normal operation, no loop + local - the board receives it's own output + remote - the board sends the received data to the remote side + + Default: none + +----------------------------------------------------------------- + +Interface (channel group in Cisco terms) settings: + +comx0/timeslots - which timeslots belong to the given interface + + Setting: + + # echo '1 5 2 6 7 8' >/proc/comx/comx0/timeslots + + # cat /proc/comx/comx0/timeslots + 1 2 5 6 7 8 + # + + Finding a timeslot: + + # grep ' 4' /proc/comx/comx*/timeslots + /proc/comx/comx0/timeslots:1 3 4 5 6 + # + + The timeslots can be in any order, '1 2 3' is the same as '1 3 2'. + + The interface has to be DOWN during the setting ('ifconfig comx0 + down'), but the other interfaces could operate normally. + + The driver checks if the assigned timeslots are vacant, if not, then + the setting won't be applied. + + The timeslot values are treated as decimal numbers, not to misunderstand + values of 08, 09 form. + +----------------------------------------------------------------- + +Checking the interface and board status: + +- Lines beginning with ' ' (space) belong to the original output, the lines +which begin with '//' are the comments. + + papaya:~$ cat /proc/comx/comx1/status + Interface administrative status is UP, modem status is UP, protocol is UP + Modem status changes: 0, Transmitter status is IDLE, tbusy: 0 + Interface load (input): 978376 / 947808 / 951024 bits/s (5s/5m/15m) + (output): 978376 / 947848 / 951024 bits/s (5s/5m/15m) + Debug flags: none + RX errors: len: 22, overrun: 1, crc: 0, aborts: 0 + buffer overrun: 0, pbuffer overrun: 0 + TX errors: underrun: 0 + Line keepalive (value: 10) status UP [0] + +// The hardware specific part starts here: + Controller status: + No alarms + +// Alarm: +// +// No alarms - Everything OK +// +// LOS - Loss Of Signal - No signal sensed on the input +// AIS - Alarm Indication Signal - The remote side sends '11111111'-s, +// it tells, that there's an error condition, or it's not +// initialised. +// AUXP - Auxiliary Pattern Indication - 01010101.. received. +// LFA - Loss of Frame Alignment - no frame sync received. +// RRA - Receive Remote Alarm - the remote end's OK, but signals error cond. +// LMFA - Loss of CRC4 Multiframe Alignment - no CRC4 multiframe sync. +// NMF - No Multiframe alignment Found after 400 msec - no such alarm using +// no-crc4 or crc4 framing, see below. +// +// Other possible error messages: +// +// Transmit Line Short - the board felt, that it's output is short-circuited, +// so it switched the transmission off. (The board can't definitely tell, +// that it's output is short-circuited.) + +// Chained list of the received packets, for debug purposes: + + Rx ring: + rafutott: 0 + lastcheck: 50845731, jiffies: 51314281 + base: 017b1858 + rx_desc_ptr: 0 + rx_desc_ptr: 017b1858 + hw_curr_ptr: 017b1858 + 06040000 017b1868 017b1898 c016ff00 + 06040000 017b1878 017b1e9c c016ff00 + 46040000 017b1888 017b24a0 c016ff00 + 06040000 017b1858 017b2aa4 c016ff00 + +// All the interfaces using the board: comx1, using the 1,2,...16 timeslots, +// comx2, using timeslot 17, etc. + + Interfaces using this board: (channel-group, interface, timeslots) + 0 comx1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 1 comx2: 17 + 2 comx3: 18 + 3 comx4: 19 + 4 comx5: 20 + 5 comx6: 21 + 6 comx7: 22 + 7 comx8: 23 + 8 comx9: 24 + 9 comx10: 25 + 10 comx11: 26 + 11 comx12: 27 + 12 comx13: 28 + 13 comx14: 29 + 14 comx15: 30 + 15 comx16: 31 + +// The number of events handled by the driver during an interrupt cycle: + + Interrupt work histogram: + hist[ 0]: 0 hist[ 1]: 2 hist[ 2]: 18574 hist[ 3]: 79 + hist[ 4]: 14 hist[ 5]: 1 hist[ 6]: 0 hist[ 7]: 1 + hist[ 8]: 0 hist[ 9]: 7 + +// The number of packets to send in the Tx ring, when a new one arrived: + + Tx ring histogram: + hist[ 0]: 2329 hist[ 1]: 0 hist[ 2]: 0 hist[ 3]: 0 + +// The error counters of the E1 interface, according to the RFC2495, +// (similar to the Cisco "show controllers e1" command's output: +// http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/rbook/rinterfc.htm#xtocid25669126) + +Data in current interval (91 seconds elapsed): + 9516 Line Code Violations, 65 Path Code Violations, 2 E-Bit Errors + 0 Slip Secs, 2 Fr Loss Secs, 2 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 11 Unavail Secs +Data in Interval 1 (15 minutes): + 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors + 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs +Data in last 4 intervals (1 hour): + 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors + 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs +Data in last 96 intervals (24 hours): + 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors + 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins + 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs + +----------------------------------------------------------------- + +Some unique options, (may get into the driver later): +Treat them very carefully, these can cause much trouble! + + modified CRC-4, for improved interworking of CRC-4 and non-CRC-4 + devices: (see page 107 and g706 Annex B) + lbireg[ 0x1b ] |= 0x08 + lbireg[ 0x1c ] |= 0xc0 + + - The NMF - 'No Multiframe alignment Found after 400 msec' alarm + comes into account. + + FALC - the line driver chip. + local loop - I hear my transmission back. + remote loop - I echo the remote transmission back. + + Something useful for finding errors: + + - local loop for timeslot 1 in the FALC chip: + + # echo >lbireg 0x1d 0x21 + + - Switching the loop off: + + # echo >lbireg 0x1d 0x00 diff --git a/trunk/Documentation/parport-lowlevel.txt b/trunk/Documentation/parport-lowlevel.txt index 120eb20dbb09..265fcdcb8e5f 100644 --- a/trunk/Documentation/parport-lowlevel.txt +++ b/trunk/Documentation/parport-lowlevel.txt @@ -339,10 +339,6 @@ Use this function to register your device driver on a parallel port ('port'). Once you have done that, you will be able to use parport_claim and parport_release in order to use the port. -The ('name') argument is the name of the device that appears in /proc -filesystem. The string must be valid for the whole lifetime of the -device (until parport_unregister_device is called). - This function will register three callbacks into your driver: 'preempt', 'wakeup' and 'irq'. Each of these may be NULL in order to indicate that you do not want a callback. diff --git a/trunk/Documentation/powerpc/booting-without-of.txt b/trunk/Documentation/powerpc/booting-without-of.txt index e9a3cb1d6b06..a96e85397eb7 100644 --- a/trunk/Documentation/powerpc/booting-without-of.txt +++ b/trunk/Documentation/powerpc/booting-without-of.txt @@ -52,7 +52,6 @@ Table of Contents i) Freescale QUICC Engine module (QE) j) CFI or JEDEC memory-mapped NOR flash k) Global Utilities Block - l) Xilinx IP cores VII - Specifying interrupt information for devices 1) interrupts property @@ -852,18 +851,12 @@ address which can extend beyond that limit. /cpus/PowerPC,970FX@0 /cpus/PowerPC,970FX@1 (unit addresses do not require leading zeroes) - - d-cache-block-size : one cell, L1 data cache block size in bytes (*) - - i-cache-block-size : one cell, L1 instruction cache block size in + - d-cache-line-size : one cell, L1 data cache line size in bytes + - i-cache-line-size : one cell, L1 instruction cache line size in bytes - d-cache-size : one cell, size of L1 data cache in bytes - i-cache-size : one cell, size of L1 instruction cache in bytes -(*) The cache "block" size is the size on which the cache management -instructions operate. Historically, this document used the cache -"line" size here which is incorrect. The kernel will prefer the cache -block size and will fallback to cache line size for backward -compatibility. - Recommended properties: - timebase-frequency : a cell indicating the frequency of the @@ -877,10 +870,6 @@ compatibility. for the above, the common code doesn't use that property, but you are welcome to re-use the pSeries or Maple one. A future kernel version might provide a common function for this. - - d-cache-line-size : one cell, L1 data cache line size in bytes - if different from the block size - - i-cache-line-size : one cell, L1 instruction cache line size in - bytes if different from the block size You are welcome to add any property you find relevant to your board, like some information about the mechanism used to soft-reset the @@ -1645,9 +1634,8 @@ platforms are moved over to use the flattened-device-tree model. MAC addresses passed by the firmware when no information other than indices is available to associate an address with a device. - phy-connection-type : a string naming the controller/PHY interface type, - i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal - Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only), - "tbi", or "rtbi". + i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "tbi", + or "rtbi". Example: ucc@2000 { @@ -2254,266 +2242,6 @@ platforms are moved over to use the flattened-device-tree model. available. For Axon: 0x0000012a - l) Xilinx IP cores - - The Xilinx EDK toolchain ships with a set of IP cores (devices) for use - in Xilinx Spartan and Virtex FPGAs. The devices cover the whole range - of standard device types (network, serial, etc.) and miscellanious - devices (gpio, LCD, spi, etc). Also, since these devices are - implemented within the fpga fabric every instance of the device can be - synthesised with different options that change the behaviour. - - Each IP-core has a set of parameters which the FPGA designer can use to - control how the core is synthesized. Historically, the EDK tool would - extract the device parameters relevant to device drivers and copy them - into an 'xparameters.h' in the form of #define symbols. This tells the - device drivers how the IP cores are configured, but it requres the kernel - to be recompiled every time the FPGA bitstream is resynthesized. - - The new approach is to export the parameters into the device tree and - generate a new device tree each time the FPGA bitstream changes. The - parameters which used to be exported as #defines will now become - properties of the device node. In general, device nodes for IP-cores - will take the following form: - - (name)@(base-address) { - compatible = "xlnx,(ip-core-name)-(HW_VER)" - [, (list of compatible devices), ...]; - reg = <(baseaddr) (size)>; - interrupt-parent = <&interrupt-controller-phandle>; - interrupts = < ... >; - xlnx,(parameter1) = "(string-value)"; - xlnx,(parameter2) = <(int-value)>; - }; - - (ip-core-name): the name of the ip block (given after the BEGIN - directive in system.mhs). Should be in lowercase - and all underscores '_' converted to dashes '-'. - (name): is derived from the "PARAMETER INSTANCE" value. - (parameter#): C_* parameters from system.mhs. The C_ prefix is - dropped from the parameter name, the name is converted - to lowercase and all underscore '_' characters are - converted to dashes '-'. - (baseaddr): the C_BASEADDR parameter. - (HW_VER): from the HW_VER parameter. - (size): equals C_HIGHADDR - C_BASEADDR + 1 - - Typically, the compatible list will include the exact IP core version - followed by an older IP core version which implements the same - interface or any other device with the same interface. - - 'reg', 'interrupt-parent' and 'interrupts' are all optional properties. - - For example, the following block from system.mhs: - - BEGIN opb_uartlite - PARAMETER INSTANCE = opb_uartlite_0 - PARAMETER HW_VER = 1.00.b - PARAMETER C_BAUDRATE = 115200 - PARAMETER C_DATA_BITS = 8 - PARAMETER C_ODD_PARITY = 0 - PARAMETER C_USE_PARITY = 0 - PARAMETER C_CLK_FREQ = 50000000 - PARAMETER C_BASEADDR = 0xEC100000 - PARAMETER C_HIGHADDR = 0xEC10FFFF - BUS_INTERFACE SOPB = opb_7 - PORT OPB_Clk = CLK_50MHz - PORT Interrupt = opb_uartlite_0_Interrupt - PORT RX = opb_uartlite_0_RX - PORT TX = opb_uartlite_0_TX - PORT OPB_Rst = sys_bus_reset_0 - END - - becomes the following device tree node: - - opb-uartlite-0@ec100000 { - device_type = "serial"; - compatible = "xlnx,opb-uartlite-1.00.b"; - reg = ; - interrupt-parent = <&opb-intc>; - interrupts = <1 0>; // got this from the opb_intc parameters - current-speed = ; // standard serial device prop - clock-frequency = ; // standard serial device prop - xlnx,data-bits = <8>; - xlnx,odd-parity = <0>; - xlnx,use-parity = <0>; - }; - - Some IP cores actually implement 2 or more logical devices. In this case, - the device should still describe the whole IP core with a single node - and add a child node for each logical device. The ranges property can - be used to translate from parent IP-core to the registers of each device. - (Note: this makes the assumption that both logical devices have the same - bus binding. If this is not true, then separate nodes should be used for - each logical device). The 'cell-index' property can be used to enumerate - logical devices within an IP core. For example, the following is the - system.mhs entry for the dual ps2 controller found on the ml403 reference - design. - - BEGIN opb_ps2_dual_ref - PARAMETER INSTANCE = opb_ps2_dual_ref_0 - PARAMETER HW_VER = 1.00.a - PARAMETER C_BASEADDR = 0xA9000000 - PARAMETER C_HIGHADDR = 0xA9001FFF - BUS_INTERFACE SOPB = opb_v20_0 - PORT Sys_Intr1 = ps2_1_intr - PORT Sys_Intr2 = ps2_2_intr - PORT Clkin1 = ps2_clk_rx_1 - PORT Clkin2 = ps2_clk_rx_2 - PORT Clkpd1 = ps2_clk_tx_1 - PORT Clkpd2 = ps2_clk_tx_2 - PORT Rx1 = ps2_d_rx_1 - PORT Rx2 = ps2_d_rx_2 - PORT Txpd1 = ps2_d_tx_1 - PORT Txpd2 = ps2_d_tx_2 - END - - It would result in the following device tree nodes: - - opb_ps2_dual_ref_0@a9000000 { - ranges = <0 a9000000 2000>; - // If this device had extra parameters, then they would - // go here. - ps2@0 { - compatible = "xlnx,opb-ps2-dual-ref-1.00.a"; - reg = <0 40>; - interrupt-parent = <&opb-intc>; - interrupts = <3 0>; - cell-index = <0>; - }; - ps2@1000 { - compatible = "xlnx,opb-ps2-dual-ref-1.00.a"; - reg = <1000 40>; - interrupt-parent = <&opb-intc>; - interrupts = <3 0>; - cell-index = <0>; - }; - }; - - Also, the system.mhs file defines bus attachments from the processor - to the devices. The device tree structure should reflect the bus - attachments. Again an example; this system.mhs fragment: - - BEGIN ppc405_virtex4 - PARAMETER INSTANCE = ppc405_0 - PARAMETER HW_VER = 1.01.a - BUS_INTERFACE DPLB = plb_v34_0 - BUS_INTERFACE IPLB = plb_v34_0 - END - - BEGIN opb_intc - PARAMETER INSTANCE = opb_intc_0 - PARAMETER HW_VER = 1.00.c - PARAMETER C_BASEADDR = 0xD1000FC0 - PARAMETER C_HIGHADDR = 0xD1000FDF - BUS_INTERFACE SOPB = opb_v20_0 - END - - BEGIN opb_uart16550 - PARAMETER INSTANCE = opb_uart16550_0 - PARAMETER HW_VER = 1.00.d - PARAMETER C_BASEADDR = 0xa0000000 - PARAMETER C_HIGHADDR = 0xa0001FFF - BUS_INTERFACE SOPB = opb_v20_0 - END - - BEGIN plb_v34 - PARAMETER INSTANCE = plb_v34_0 - PARAMETER HW_VER = 1.02.a - END - - BEGIN plb_bram_if_cntlr - PARAMETER INSTANCE = plb_bram_if_cntlr_0 - PARAMETER HW_VER = 1.00.b - PARAMETER C_BASEADDR = 0xFFFF0000 - PARAMETER C_HIGHADDR = 0xFFFFFFFF - BUS_INTERFACE SPLB = plb_v34_0 - END - - BEGIN plb2opb_bridge - PARAMETER INSTANCE = plb2opb_bridge_0 - PARAMETER HW_VER = 1.01.a - PARAMETER C_RNG0_BASEADDR = 0x20000000 - PARAMETER C_RNG0_HIGHADDR = 0x3FFFFFFF - PARAMETER C_RNG1_BASEADDR = 0x60000000 - PARAMETER C_RNG1_HIGHADDR = 0x7FFFFFFF - PARAMETER C_RNG2_BASEADDR = 0x80000000 - PARAMETER C_RNG2_HIGHADDR = 0xBFFFFFFF - PARAMETER C_RNG3_BASEADDR = 0xC0000000 - PARAMETER C_RNG3_HIGHADDR = 0xDFFFFFFF - BUS_INTERFACE SPLB = plb_v34_0 - BUS_INTERFACE MOPB = opb_v20_0 - END - - Gives this device tree (some properties removed for clarity): - - plb-v34-0 { - #address-cells = <1>; - #size-cells = <1>; - device_type = "ibm,plb"; - ranges; // 1:1 translation - - plb-bram-if-cntrl-0@ffff0000 { - reg = ; - } - - opb-v20-0 { - #address-cells = <1>; - #size-cells = <1>; - ranges = <20000000 20000000 20000000 - 60000000 60000000 20000000 - 80000000 80000000 40000000 - c0000000 c0000000 20000000>; - - opb-uart16550-0@a0000000 { - reg = ; - }; - - opb-intc-0@d1000fc0 { - reg = ; - }; - }; - }; - - That covers the general approach to binding xilinx IP cores into the - device tree. The following are bindings for specific devices: - - i) Xilinx ML300 Framebuffer - - Simple framebuffer device from the ML300 reference design (also on the - ML403 reference design as well as others). - - Optional properties: - - resolution = : pixel resolution of framebuffer. Some - implementations use a different resolution. - Default is - - virt-resolution = : Size of framebuffer in memory. - Default is . - - rotate-display (empty) : rotate display 180 degrees. - - ii) Xilinx SystemACE - - The Xilinx SystemACE device is used to program FPGAs from an FPGA - bitstream stored on a CF card. It can also be used as a generic CF - interface device. - - Optional properties: - - 8-bit (empty) : Set this property for SystemACE in 8 bit mode - - iii) Xilinx EMAC and Xilinx TEMAC - - Xilinx Ethernet devices. In addition to general xilinx properties - listed above, nodes for these devices should include a phy-handle - property, and may include other common network device properties - like local-mac-address. - - iv) Xilinx Uartlite - - Xilinx uartlite devices are simple fixed speed serial ports. - - Requred properties: - - current-speed : Baud rate of uartlite - More devices will be defined as this spec matures. VII - Specifying interrupt information for devices diff --git a/trunk/Documentation/rtc.txt b/trunk/Documentation/rtc.txt index e20b19c1b60d..c931d613f641 100644 --- a/trunk/Documentation/rtc.txt +++ b/trunk/Documentation/rtc.txt @@ -180,10 +180,9 @@ driver returns ENOIOCTLCMD. Some common examples: * RTC_IRQP_SET, RTC_IRQP_READ: the irq_set_freq function will be called to set the frequency while the framework will handle the read for you since the frequency is stored in the irq_freq member of the rtc_device - structure. Your driver needs to initialize the irq_freq member during - init. Make sure you check the requested frequency is in range of your - hardware in the irq_set_freq function. If you cannot actually change - the frequency, just return -ENOTTY. + structure. Also make sure you set the max_user_freq member in your + initialization routines so the framework can sanity check the user + input for you. If all else fails, check out the rtc-test.c driver! diff --git a/trunk/Documentation/thinkpad-acpi.txt b/trunk/Documentation/thinkpad-acpi.txt index 10c041ca13c7..ec499265deca 100644 --- a/trunk/Documentation/thinkpad-acpi.txt +++ b/trunk/Documentation/thinkpad-acpi.txt @@ -1,7 +1,7 @@ ThinkPad ACPI Extras Driver - Version 0.17 - October 04th, 2007 + Version 0.16 + August 2nd, 2007 Borislav Deianov Henrique de Moraes Holschuh @@ -923,34 +923,19 @@ sysfs backlight device "thinkpad_screen" This feature allows software control of the LCD brightness on ThinkPad models which don't have a hardware brightness slider. -It has some limitations: the LCD backlight cannot be actually turned on or -off by this interface, and in many ThinkPad models, the "dim while on -battery" functionality will be enabled by the BIOS when this interface is -used, and cannot be controlled. - -On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control -has eight brightness levels, ranging from 0 to 7. Some of the levels -may not be distinct. Later Lenovo models that implement the ACPI -display backlight brightness control methods have 16 levels, ranging -from 0 to 15. - -There are two interfaces to the firmware for direct brightness control, -EC and CMOS. To select which one should be used, use the -brightness_mode module parameter: brightness_mode=1 selects EC mode, -brightness_mode=2 selects CMOS mode, brightness_mode=3 selects both EC -and CMOS. The driver tries to autodetect which interface to use. - -When display backlight brightness controls are available through the -standard ACPI interface, it is best to use it instead of this direct -ThinkPad-specific interface. The driver will disable its native -backlight brightness control interface if it detects that the standard -ACPI interface is available in the ThinkPad. - -The brightness_enable module parameter can be used to control whether -the LCD brightness control feature will be enabled when available. -brightness_enable=0 forces it to be disabled. brightness_enable=1 -forces it to be enabled when available, even if the standard ACPI -interface is also available. +It has some limitations: the LCD backlight cannot be actually turned on or off +by this interface, and in many ThinkPad models, the "dim while on battery" +functionality will be enabled by the BIOS when this interface is used, and +cannot be controlled. + +The backlight control has eight levels, ranging from 0 to 7. Some of the +levels may not be distinct. + +There are two interfaces to the firmware for brightness control, EC and CMOS. +To select which one should be used, use the brightness_mode module parameter: +brightness_mode=1 selects EC mode, brightness_mode=2 selects CMOS mode, +brightness_mode=3 selects both EC and CMOS. The driver tries to autodetect +which interface to use. Procfs notes: @@ -962,11 +947,11 @@ Procfs notes: Sysfs notes: -The interface is implemented through the backlight sysfs class, which is -poorly documented at this time. +The interface is implemented through the backlight sysfs class, which is poorly +documented at this time. -Locate the thinkpad_screen device under /sys/class/backlight, and inside -it there will be the following attributes: +Locate the thinkpad_screen device under /sys/class/backlight, and inside it +there will be the following attributes: max_brightness: Reads the maximum brightness the hardware can be set to. @@ -976,19 +961,17 @@ it there will be the following attributes: Reads what brightness the screen is set to at this instant. brightness: - Writes request the driver to change brightness to the - given value. Reads will tell you what brightness the - driver is trying to set the display to when "power" is set - to zero and the display has not been dimmed by a kernel - power management event. + Writes request the driver to change brightness to the given + value. Reads will tell you what brightness the driver is trying + to set the display to when "power" is set to zero and the display + has not been dimmed by a kernel power management event. power: - power management mode, where 0 is "display on", and 1 to 3 - will dim the display backlight to brightness level 0 - because thinkpad-acpi cannot really turn the backlight - off. Kernel power management events can temporarily - increase the current power management level, i.e. they can - dim the display. + power management mode, where 0 is "display on", and 1 to 3 will + dim the display backlight to brightness level 0 because + thinkpad-acpi cannot really turn the backlight off. Kernel + power management events can temporarily increase the current + power management level, i.e. they can dim the display. Volume control -- /proc/acpi/ibm/volume diff --git a/trunk/Documentation/tty.txt b/trunk/Documentation/tty.txt index 8e65c4498c52..048a8762cfb5 100644 --- a/trunk/Documentation/tty.txt +++ b/trunk/Documentation/tty.txt @@ -132,14 +132,6 @@ set_termios() Notify the tty driver that the device's termios tty->termios. Previous settings should be passed in the "old" argument. - The API is defined such that the driver should return - the actual modes selected. This means that the - driver function is responsible for modifying any - bits in the request it cannot fulfill to indicate - the actual modes being used. A device with no - hardware capability for change (eg a USB dongle or - virtual port) can provide NULL for this method. - throttle() Notify the tty driver that input buffers for the line discipline are close to full, and it should somehow signal that no more characters should be diff --git a/trunk/Documentation/usb/power-management.txt b/trunk/Documentation/usb/power-management.txt index b2fc4d4a9917..97842deec471 100644 --- a/trunk/Documentation/usb/power-management.txt +++ b/trunk/Documentation/usb/power-management.txt @@ -278,14 +278,6 @@ optional. The methods' jobs are quite simple: (although the interfaces will be in the same altsettings as before the suspend). -If the device is disconnected or powered down while it is suspended, -the disconnect method will be called instead of the resume or -reset_resume method. This is also quite likely to happen when -waking up from hibernation, as many systems do not maintain suspend -current to the USB host controllers during hibernation. (It's -possible to work around the hibernation-forces-disconnect problem by -using the USB Persist facility.) - The reset_resume method is used by the USB Persist facility (see Documentation/usb/persist.txt) and it can also be used under certain circumstances when CONFIG_USB_PERSIST is not enabled. Currently, if a diff --git a/trunk/Documentation/x86_64/uefi.txt b/trunk/Documentation/x86_64/uefi.txt deleted file mode 100644 index 91a98edfb588..000000000000 --- a/trunk/Documentation/x86_64/uefi.txt +++ /dev/null @@ -1,29 +0,0 @@ -General note on [U]EFI x86_64 support -------------------------------------- - -The nomenclature EFI and UEFI are used interchangeably in this document. - -Although the tools below are _not_ needed for building the kernel, -the needed bootloader support and associated tools for x86_64 platforms -with EFI firmware and specifications are listed below. - -1. UEFI specification: http://www.uefi.org - -2. Booting Linux kernel on UEFI x86_64 platform requires bootloader - support. Elilo with x86_64 support can be used. - -3. x86_64 platform with EFI/UEFI firmware. - -Mechanics: ---------- -- Build the kernel with the following configuration. - CONFIG_FB_EFI=y - CONFIG_FRAMEBUFFER_CONSOLE=y -- Create a VFAT partition on the disk -- Copy the following to the VFAT partition: - elilo bootloader with x86_64 support, elilo configuration file, - kernel image built in first step and corresponding - initrd. Instructions on building elilo and its dependencies - can be found in the elilo sourceforge project. -- Boot to EFI shell and invoke elilo choosing the kernel image built - in first step. diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 2bbe40ea4d10..1c7c229a0926 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -323,7 +323,8 @@ S: Maintained ALCATEL SPEEDTOUCH USB DRIVER P: Duncan Sands M: duncan.sands@free.fr -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net W: http://www.linux-usb.org/SpeedTouch/ S: Maintained @@ -439,7 +440,7 @@ S: Maintained ARM/ATMEL AT91RM9200 ARM ARCHITECTURE P: Andrew Victor -M: linux@maxim.org.za +M: andrew@sanpeople.com L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) W: http://maxim.org.za/at91_26.html S: Maintained @@ -786,25 +787,23 @@ B43 WIRELESS DRIVER P: Michael Buesch M: mb@bu3sch.de P: Stefano Brivio -M: stefano.brivio@polimi.it +M: st3@riseup.net L: linux-wireless@vger.kernel.org -W: http://linuxwireless.org/en/users/Drivers/b43 +W: http://bcm43xx.berlios.de/ S: Maintained B43LEGACY WIRELESS DRIVER P: Larry Finger M: Larry.Finger@lwfinger.net -P: Stefano Brivio -M: stefano.brivio@polimi.it L: linux-wireless@vger.kernel.org -W: http://linuxwireless.org/en/users/Drivers/b43 +W: http://bcm43xx.berlios.de/ S: Maintained BCM43XX WIRELESS DRIVER (SOFTMAC BASED VERSION) P: Larry Finger M: Larry.Finger@lwfinger.net P: Stefano Brivio -M: stefano.brivio@polimi.it +M: st3@riseup.net L: linux-wireless@vger.kernel.org W: http://bcm43xx.berlios.de/ S: Maintained @@ -1042,7 +1041,7 @@ S: Maintained CIRRUS LOGIC EP93XX OHCI USB HOST DRIVER P: Lennert Buytenhek M: kernel@wantstofly.org -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net S: Maintained CIRRUS LOGIC CS4280/CS461x SOUNDDRIVER @@ -1551,7 +1550,7 @@ S: Maintained FREESCALE HIGHSPEED USB DEVICE DRIVER P: Li Yang M: leoli@freescale.com -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: linuxppc-dev@ozlabs.org S: Maintained @@ -1913,8 +1912,10 @@ L: linux1394-devel@lists.sourceforge.net S: Maintained IMS TWINTURBO FRAMEBUFFER DRIVER +P: Paul Mundt +M: lethal@chaoticdreams.org L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only) -S: Orphan +S: Maintained INFINIBAND SUBSYSTEM P: Roland Dreier @@ -2110,14 +2111,6 @@ L: irda-users@lists.sourceforge.net (subscribers-only) W: http://irda.sourceforge.net/ S: Maintained -ISCSI -P: Mike Christie -M: michaelc@cs.wisc.edu -L: open-iscsi@googlegroups.com -W: www.open-iscsi.org -T: git kernel.org:/pub/scm/linux/kernel/mnc/linux-2.6-iscsi.git -S: Maintained - ISAPNP P: Jaroslav Kysela M: perex@perex.cz @@ -2173,7 +2166,7 @@ S: Maintained KDUMP P: Vivek Goyal -M: vgoyal@redhat.com +M: vgoyal@in.ibm.com P: Haren Myneni M: hbabu@us.ibm.com L: kexec@lists.infradead.org @@ -2451,7 +2444,7 @@ M68K ON APPLE MACINTOSH P: Joshua Thompson M: funaho@jurai.org W: http://www.mac.linux-m68k.org/ -L: linux-m68k@lists.linux-m68k.org +L: linux-mac68k@mac.linux-m68k.org S: Maintained M68K ON HP9000/300 @@ -3459,10 +3452,15 @@ L: lm-sensors@lm-sensors.org S: Maintained SOFTMAC LAYER (IEEE 802.11) +P: Johannes Berg +M: johannes@sipsolutions.net +P: Joe Jezak +M: josejx@gentoo.org P: Daniel Drake M: dsd@gentoo.org +W: http://softmac.sipsolutions.net/ L: linux-wireless@vger.kernel.org -S: Obsolete +S: Maintained SOFTWARE RAID (Multiple Disks) SUPPORT P: Ingo Molnar @@ -3641,12 +3639,18 @@ M: laredo@gnu.org W: http://www.stradis.com/ S: Maintained -SUPERH +SUPERH (sh) +P: Paul Mundt +M: lethal@linux-sh.org +L: linuxsh-dev@lists.sourceforge.net (subscribers-only) +W: http://www.linux-sh.org +S: Maintained + +SUPERH64 (sh64) P: Paul Mundt M: lethal@linux-sh.org -L: linux-sh@vger.kernel.org +L: linuxsh-shmedia-dev@lists.sourceforge.net W: http://www.linux-sh.org -T: git kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git S: Maintained SUN3/3X @@ -3732,7 +3736,7 @@ S: Maintained TLAN NETWORK DRIVER P: Samuel Chessman M: chessman@tux.org -L: tlan-devel@lists.sourceforge.net (subscribers-only) +L: tlan-devel@lists.sourceforge.net W: http://sourceforge.net/projects/tlan/ S: Maintained @@ -3817,20 +3821,22 @@ S: Maintained USB ACM DRIVER P: Oliver Neukum M: oliver@neukum.name -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB BLOCK DRIVER (UB ub) P: Pete Zaitcev M: zaitcev@redhat.com L: linux-kernel@vger.kernel.org -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net S: Supported USB CDC ETHERNET DRIVER P: Greg Kroah-Hartman M: greg@kroah.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained W: http://www.kroah.com/linux-usb/ @@ -3844,13 +3850,13 @@ S: Maintained USB EHCI DRIVER P: David Brownell M: dbrownell@users.sourceforge.net -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net S: Odd Fixes USB ET61X[12]51 DRIVER P: Luca Risolia M: luca.risolia@studio.unibo.it -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: video4linux-list@redhat.com W: http://www.linux-projects.org S: Maintained @@ -3858,33 +3864,41 @@ S: Maintained USB GADGET/PERIPHERAL SUBSYSTEM P: David Brownell M: dbrownell@users.sourceforge.net -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net W: http://www.linux-usb.org/gadget S: Maintained USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...) P: Jiri Kosina M: jkosina@suse.cz -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net T: git kernel.org:/pub/scm/linux/kernel/git/jikos/hid.git S: Maintained +USB HUB DRIVER +P: Johannes Erdfelt +M: johannes@erdfelt.com +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net +S: Maintained + USB ISP116X DRIVER P: Olav Kongas M: ok@artecdesign.ee -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB KAWASAKI LSI DRIVER P: Oliver Neukum M: oliver@neukum.name -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB MASS STORAGE DRIVER P: Matthew Dharm M: mdharm-usb@one-eyed-alien.net -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net L: usb-storage@lists.one-eyed-alien.net S: Maintained W: http://www.one-eyed-alien.net/~mdharm/linux-usb/ @@ -3892,26 +3906,28 @@ W: http://www.one-eyed-alien.net/~mdharm/linux-usb/ USB OHCI DRIVER P: David Brownell M: dbrownell@users.sourceforge.net -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Odd Fixes USB OPTION-CARD DRIVER P: Matthias Urlichs M: smurf@smurf.noris.de -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB OV511 DRIVER P: Mark McClelland M: mmcclell@bigfoot.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net W: http://alpha.dyndns.org/ov511/ S: Maintained USB PEGASUS DRIVER P: Petko Manolov M: petkan@users.sourceforge.net -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: netdev@vger.kernel.org W: http://pegasus2.sourceforge.net/ S: Maintained @@ -3919,13 +3935,14 @@ S: Maintained USB PRINTER DRIVER (usblp) P: Pete Zaitcev M: zaitcev@redhat.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Supported USB RTL8150 DRIVER P: Petko Manolov M: petkan@users.sourceforge.net -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: netdev@vger.kernel.org W: http://pegasus2.sourceforge.net/ S: Maintained @@ -3933,7 +3950,8 @@ S: Maintained USB SE401 DRIVER P: Jeroen Vreeken M: pe1rxq@amsat.org -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net W: http://www.chello.nl/~j.vreeken/se401/ S: Maintained @@ -3947,59 +3965,72 @@ USB SERIAL DIGI ACCELEPORT DRIVER P: Peter Berger and Al Borchers M: pberger@brimson.com M: alborchers@steinerpoint.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB SERIAL DRIVER P: Greg Kroah-Hartman M: gregkh@suse.de -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Supported USB SERIAL BELKIN F5U103 DRIVER P: William Greathouse M: wgreathouse@smva.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB SERIAL CYPRESS M8 DRIVER P: Lonnie Mendez M: dignome@gmail.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained W: http://geocities.com/i0xox0i W: http://firstlight.net/cvs +USB SERIAL CYBERJACK PINPAD/E-COM DRIVER +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net +S: Maintained + USB AUERSWALD DRIVER P: Wolfgang Muees M: wolfgang@iksw-muees.de -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB SERIAL EMPEG EMPEG-CAR MARK I/II DRIVER P: Gary Brubaker M: xavyer@ix.netcom.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB SERIAL KEYSPAN DRIVER P: Greg Kroah-Hartman M: greg@kroah.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net W: http://www.kroah.com/linux/ S: Maintained USB SERIAL WHITEHEAT DRIVER P: Support Department M: support@connecttech.com -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net W: http://www.connecttech.com S: Supported USB SN9C1xx DRIVER P: Luca Risolia M: luca.risolia@studio.unibo.it -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: video4linux-list@redhat.com W: http://www.linux-projects.org S: Maintained @@ -4007,7 +4038,8 @@ S: Maintained USB SUBSYSTEM P: Greg Kroah-Hartman M: gregkh@suse.de -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net W: http://www.linux-usb.org T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ S: Supported @@ -4015,7 +4047,8 @@ S: Supported USB UHCI DRIVER P: Alan Stern M: stern@rowland.harvard.edu -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net S: Maintained USB "USBNET" DRIVER FRAMEWORK @@ -4028,7 +4061,7 @@ S: Maintained USB W996[87]CF DRIVER P: Luca Risolia M: luca.risolia@studio.unibo.it -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: video4linux-list@redhat.com W: http://www.linux-projects.org S: Maintained @@ -4036,7 +4069,7 @@ S: Maintained USB ZC0301 DRIVER P: Luca Risolia M: luca.risolia@studio.unibo.it -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: video4linux-list@redhat.com W: http://www.linux-projects.org S: Maintained @@ -4044,14 +4077,15 @@ S: Maintained USB ZD1201 DRIVER P: Jeroen Vreeken M: pe1rxq@amsat.org -L: linux-usb@vger.kernel.org +L: linux-usb-users@lists.sourceforge.net +L: linux-usb-devel@lists.sourceforge.net W: http://linux-lc100020.sourceforge.net S: Maintained USB ZR364XX DRIVER P: Antoine Jacquet M: royale@zerezo.com -L: linux-usb@vger.kernel.org +L: linux-usb-devel@lists.sourceforge.net L: video4linux-list@redhat.com W: http://royale.zerezo.com/zr364xx/ S: Maintained diff --git a/trunk/Makefile b/trunk/Makefile index a65ffd27de6b..e28dde8887d7 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 24 -EXTRAVERSION = -rc3 +EXTRAVERSION = -rc2 NAME = Arr Matey! A Hairy Bilge Rat! # *DOCUMENTATION* @@ -197,13 +197,8 @@ CROSS_COMPILE ?= UTS_MACHINE := $(ARCH) SRCARCH := $(ARCH) -# Additional ARCH settings for x86 -ifeq ($(ARCH),i386) - SRCARCH := x86 -endif -ifeq ($(ARCH),x86_64) - SRCARCH := x86 -endif +# for i386 and x86_64 we use SRCARCH equal to x86 +SRCARCH := $(if $(filter x86_64 i386,$(SRCARCH)),x86,$(SRCARCH)) KCONFIG_CONFIG ?= .config @@ -1332,7 +1327,12 @@ else ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS) endif -ALLSOURCE_ARCHS := $(SRCARCH) +# Take care of arch/x86 +ifeq ($(ARCH), $(SRCARCH)) +ALLSOURCE_ARCHS := $(ARCH) +else +ALLSOURCE_ARCHS := $(ARCH) $(SRCARCH) +endif define find-sources ( for arch in $(ALLSOURCE_ARCHS) ; do \ diff --git a/trunk/arch/alpha/kernel/pci-noop.c b/trunk/arch/alpha/kernel/pci-noop.c index 468b76ce66a1..174b729c504b 100644 --- a/trunk/arch/alpha/kernel/pci-noop.c +++ b/trunk/arch/alpha/kernel/pci-noop.c @@ -12,7 +12,6 @@ #include #include #include -#include #include "proto.h" @@ -173,19 +172,18 @@ dma_alloc_coherent(struct device *dev, size_t size, EXPORT_SYMBOL(dma_alloc_coherent); int -dma_map_sg(struct device *dev, struct scatterlist *sgl, int nents, +dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction direction) { int i; - struct scatterlist *sg; - for_each_sg(sgl, sg, nents, i) { + for (i = 0; i < nents; i++ ) { void *va; - BUG_ON(!sg_page(sg)); - va = sg_virt(sg); - sg_dma_address(sg) = (dma_addr_t)virt_to_bus(va); - sg_dma_len(sg) = sg->length; + BUG_ON(!sg[i].page); + va = page_address(sg[i].page) + sg[i].offset; + sg_dma_address(sg + i) = (dma_addr_t)virt_to_bus(va); + sg_dma_len(sg + i) = sg[i].length; } return nents; diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index a7e9fea978a6..a0cdaafa115b 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -1040,8 +1040,6 @@ source "drivers/power/Kconfig" source "drivers/hwmon/Kconfig" -source "drivers/watchdog/Kconfig" - source "drivers/ssb/Kconfig" #source "drivers/l3/Kconfig" diff --git a/trunk/arch/arm/common/uengine.c b/trunk/arch/arm/common/uengine.c index 117cab30bd36..95c8508c29b7 100644 --- a/trunk/arch/arm/common/uengine.c +++ b/trunk/arch/arm/common/uengine.c @@ -374,8 +374,8 @@ static int set_initial_registers(int uengine, struct ixp2000_uengine_code *c) u8 *ucode; int i; - gpr_a = kzalloc(128 * sizeof(u32), GFP_KERNEL); - gpr_b = kzalloc(128 * sizeof(u32), GFP_KERNEL); + gpr_a = kmalloc(128 * sizeof(u32), GFP_KERNEL); + gpr_b = kmalloc(128 * sizeof(u32), GFP_KERNEL); ucode = kmalloc(513 * 5, GFP_KERNEL); if (gpr_a == NULL || gpr_b == NULL || ucode == NULL) { kfree(ucode); @@ -388,6 +388,8 @@ static int set_initial_registers(int uengine, struct ixp2000_uengine_code *c) if (c->uengine_parameters & IXP2000_UENGINE_4_CONTEXTS) per_ctx_regs = 32; + memset(gpr_a, 0, sizeof(gpr_a)); + memset(gpr_b, 0, sizeof(gpr_b)); for (i = 0; i < 256; i++) { struct ixp2000_reg_value *r = c->initial_reg_values + i; u32 *bank; diff --git a/trunk/arch/arm/kernel/entry-armv.S b/trunk/arch/arm/kernel/entry-armv.S index 29dec080a604..d645897652c2 100644 --- a/trunk/arch/arm/kernel/entry-armv.S +++ b/trunk/arch/arm/kernel/entry-armv.S @@ -339,6 +339,16 @@ __pabt_svc: str r1, [sp] @ save the "real" r0 copied @ from the exception stack +#if __LINUX_ARM_ARCH__ < 6 && !defined(CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG) +#ifndef CONFIG_MMU +#warning "NPTL on non MMU needs fixing" +#else + @ make sure our user space atomic helper is aborted + cmp r2, #TASK_SIZE + bichs r3, r3, #PSR_Z_BIT +#endif +#endif + @ @ We are now ready to fill in the remaining blanks on the stack: @ @@ -362,25 +372,9 @@ __pabt_svc: zero_fp .endm - .macro kuser_cmpxchg_check -#if __LINUX_ARM_ARCH__ < 6 && !defined(CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG) -#ifndef CONFIG_MMU -#warning "NPTL on non MMU needs fixing" -#else - @ Make sure our user space atomic helper is restarted - @ if it was interrupted in a critical region. Here we - @ perform a quick test inline since it should be false - @ 99.9999% of the time. The rest is done out of line. - cmp r2, #TASK_SIZE - blhs kuser_cmpxchg_fixup -#endif -#endif - .endm - .align 5 __dabt_usr: usr_entry - kuser_cmpxchg_check @ @ Call the processor-specific abort handler: @@ -410,7 +404,6 @@ __dabt_usr: .align 5 __irq_usr: usr_entry - kuser_cmpxchg_check #ifdef CONFIG_TRACE_IRQFLAGS bl trace_hardirqs_off @@ -453,9 +446,9 @@ __und_usr: @ @ r0 - instruction @ +1: ldrt r0, [r4] adr r9, ret_from_exception adr lr, __und_usr_unknown -1: ldrt r0, [r4] @ @ fallthrough to call_fpe @ @@ -676,7 +669,7 @@ __kuser_helper_start: * * Clobbered: * - * none + * the Z flag might be lost * * Definition and user space usage example: * @@ -737,6 +730,9 @@ __kuser_memory_barrier: @ 0xffff0fa0 * * - This routine already includes memory barriers as needed. * + * - A failure might be transient, i.e. it is possible, although unlikely, + * that "failure" be returned even if *ptr == oldval. + * * For example, a user space atomic_add implementation could look like this: * * #define atomic_add(ptr, val) \ @@ -773,62 +769,46 @@ __kuser_cmpxchg: @ 0xffff0fc0 #elif __LINUX_ARM_ARCH__ < 6 -#ifdef CONFIG_MMU - /* - * The only thing that can break atomicity in this cmpxchg - * implementation is either an IRQ or a data abort exception - * causing another process/thread to be scheduled in the middle - * of the critical sequence. To prevent this, code is added to - * the IRQ and data abort exception handlers to set the pc back - * to the beginning of the critical section if it is found to be - * within that critical section (see kuser_cmpxchg_fixup). + * Theory of operation: + * + * We set the Z flag before loading oldval. If ever an exception + * occurs we can not be sure the loaded value will still be the same + * when the exception returns, therefore the user exception handler + * will clear the Z flag whenever the interrupted user code was + * actually from the kernel address space (see the usr_entry macro). + * + * The post-increment on the str is used to prevent a race with an + * exception happening just after the str instruction which would + * clear the Z flag although the exchange was done. */ -1: ldr r3, [r2] @ load current val - subs r3, r3, r0 @ compare with oldval -2: streq r1, [r2] @ store newval if eq - rsbs r0, r3, #0 @ set return val and C flag - usr_ret lr - - .text -kuser_cmpxchg_fixup: - @ Called from kuser_cmpxchg_check macro. - @ r2 = address of interrupted insn (must be preserved). - @ sp = saved regs. r7 and r8 are clobbered. - @ 1b = first critical insn, 2b = last critical insn. - @ If r2 >= 1b and r2 <= 2b then saved pc_usr is set to 1b. - mov r7, #0xffff0fff - sub r7, r7, #(0xffff0fff - (0xffff0fc0 + (1b - __kuser_cmpxchg))) - subs r8, r2, r7 - rsbcss r8, r8, #(2b - 1b) - strcs r7, [sp, #S_PC] - mov pc, lr - .previous - +#ifdef CONFIG_MMU + teq ip, ip @ set Z flag + ldr ip, [r2] @ load current val + add r3, r2, #1 @ prepare store ptr + teqeq ip, r0 @ compare with oldval if still allowed + streq r1, [r3, #-1]! @ store newval if still allowed + subs r0, r2, r3 @ if r2 == r3 the str occured #else #warning "NPTL on non MMU needs fixing" mov r0, #-1 adds r0, r0, #0 - usr_ret lr #endif + usr_ret lr #else #ifdef CONFIG_SMP mcr p15, 0, r0, c7, c10, 5 @ dmb #endif -1: ldrex r3, [r2] + ldrex r3, [r2] subs r3, r3, r0 strexeq r3, r1, [r2] - teqeq r3, #1 - beq 1b rsbs r0, r3, #0 - /* beware -- each __kuser slot must be 8 instructions max */ #ifdef CONFIG_SMP - b __kuser_memory_barrier -#else - usr_ret lr + mcr p15, 0, r0, c7, c10, 5 @ dmb #endif + usr_ret lr #endif @@ -849,7 +829,7 @@ kuser_cmpxchg_fixup: * * Clobbered: * - * none + * the Z flag might be lost * * Definition and user space usage example: * diff --git a/trunk/arch/arm/kernel/traps.c b/trunk/arch/arm/kernel/traps.c index c34db4e868fa..4764bd9ccee8 100644 --- a/trunk/arch/arm/kernel/traps.c +++ b/trunk/arch/arm/kernel/traps.c @@ -327,7 +327,7 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs) if ((instr & hook->instr_mask) == hook->instr_val && (regs->ARM_cpsr & hook->cpsr_mask) == hook->cpsr_val) { if (hook->fn(regs, instr) == 0) { - spin_unlock_irqrestore(&undef_lock, flags); + spin_unlock_irq(&undef_lock); return; } } @@ -509,7 +509,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) * existence. Don't ever use this from user code. */ case 0xfff0: - for (;;) { + { extern void do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs); unsigned long val; @@ -545,6 +545,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) up_read(&mm->mmap_sem); /* simulate a write access fault */ do_DataAbort(addr, 15 + (1 << 11), regs); + return -1; } #endif diff --git a/trunk/arch/arm/mach-at91/at91rm9200_devices.c b/trunk/arch/arm/mach-at91/at91rm9200_devices.c index 9296833f91cc..0417c165d50d 100644 --- a/trunk/arch/arm/mach-at91/at91rm9200_devices.c +++ b/trunk/arch/arm/mach-at91/at91rm9200_devices.c @@ -14,7 +14,6 @@ #include #include -#include #include #include @@ -436,40 +435,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) {} * TWI (i2c) * -------------------------------------------------------------------- */ -/* - * Prefer the GPIO code since the TWI controller isn't robust - * (gets overruns and underruns under load) and can only issue - * repeated STARTs in one scenario (the driver doesn't yet handle them). - */ -#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) - -static struct i2c_gpio_platform_data pdata = { - .sda_pin = AT91_PIN_PA25, - .sda_is_open_drain = 1, - .scl_pin = AT91_PIN_PA26, - .scl_is_open_drain = 1, - .udelay = 2, /* ~100 kHz */ -}; - -static struct platform_device at91rm9200_twi_device = { - .name = "i2c-gpio", - .id = -1, - .dev.platform_data = &pdata, -}; - -void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) -{ - at91_set_GPIO_periph(AT91_PIN_PA25, 1); /* TWD (SDA) */ - at91_set_multi_drive(AT91_PIN_PA25, 1); - - at91_set_GPIO_periph(AT91_PIN_PA26, 1); /* TWCK (SCL) */ - at91_set_multi_drive(AT91_PIN_PA26, 1); - - i2c_register_board_info(0, devices, nr_devices); - platform_device_register(&at91rm9200_twi_device); -} - -#elif defined(CONFIG_I2C_AT91) || defined(CONFIG_I2C_AT91_MODULE) +#if defined(CONFIG_I2C_AT91) || defined(CONFIG_I2C_AT91_MODULE) static struct resource twi_resources[] = { [0] = { @@ -491,7 +457,7 @@ static struct platform_device at91rm9200_twi_device = { .num_resources = ARRAY_SIZE(twi_resources), }; -void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) +void __init at91_add_device_i2c(void) { /* pins used for TWI interface */ at91_set_A_periph(AT91_PIN_PA25, 0); /* TWD */ @@ -500,11 +466,10 @@ void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) at91_set_A_periph(AT91_PIN_PA26, 0); /* TWCK */ at91_set_multi_drive(AT91_PIN_PA26, 1); - i2c_register_board_info(0, devices, nr_devices); platform_device_register(&at91rm9200_twi_device); } #else -void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) {} +void __init at91_add_device_i2c(void) {} #endif diff --git a/trunk/arch/arm/mach-at91/at91sam9260_devices.c b/trunk/arch/arm/mach-at91/at91sam9260_devices.c index 3091bf47d8c9..ffd3154c1e54 100644 --- a/trunk/arch/arm/mach-at91/at91sam9260_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9260_devices.c @@ -13,7 +13,6 @@ #include #include -#include #include #include @@ -353,41 +352,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) {} * TWI (i2c) * -------------------------------------------------------------------- */ -/* - * Prefer the GPIO code since the TWI controller isn't robust - * (gets overruns and underruns under load) and can only issue - * repeated STARTs in one scenario (the driver doesn't yet handle them). - */ - -#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) - -static struct i2c_gpio_platform_data pdata = { - .sda_pin = AT91_PIN_PA23, - .sda_is_open_drain = 1, - .scl_pin = AT91_PIN_PA24, - .scl_is_open_drain = 1, - .udelay = 2, /* ~100 kHz */ -}; - -static struct platform_device at91sam9260_twi_device = { - .name = "i2c-gpio", - .id = -1, - .dev.platform_data = &pdata, -}; - -void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) -{ - at91_set_GPIO_periph(AT91_PIN_PA23, 1); /* TWD (SDA) */ - at91_set_multi_drive(AT91_PIN_PA23, 1); - - at91_set_GPIO_periph(AT91_PIN_PA24, 1); /* TWCK (SCL) */ - at91_set_multi_drive(AT91_PIN_PA24, 1); - - i2c_register_board_info(0, devices, nr_devices); - platform_device_register(&at91sam9260_twi_device); -} - -#elif defined(CONFIG_I2C_AT91) || defined(CONFIG_I2C_AT91_MODULE) +#if defined(CONFIG_I2C_AT91) || defined(CONFIG_I2C_AT91_MODULE) static struct resource twi_resources[] = { [0] = { @@ -409,7 +374,7 @@ static struct platform_device at91sam9260_twi_device = { .num_resources = ARRAY_SIZE(twi_resources), }; -void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) +void __init at91_add_device_i2c(void) { /* pins used for TWI interface */ at91_set_A_periph(AT91_PIN_PA23, 0); /* TWD */ @@ -418,11 +383,10 @@ void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) at91_set_A_periph(AT91_PIN_PA24, 0); /* TWCK */ at91_set_multi_drive(AT91_PIN_PA24, 1); - i2c_register_board_info(0, devices, nr_devices); platform_device_register(&at91sam9260_twi_device); } #else -void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) {} +void __init at91_add_device_i2c(void) {} #endif diff --git a/trunk/arch/arm/mach-at91/at91sam9261_devices.c b/trunk/arch/arm/mach-at91/at91sam9261_devices.c index 64979a9023c2..3576595b4941 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9261_devices.c @@ -14,9 +14,7 @@ #include #include -#include -#include #include